26 files deleted
4 files modified
35 files added
| | |
| | | <version>2.6</version> |
| | | </dependency> |
| | | |
| | | <!-- Golden实时数据库依赖jar包--> |
| | | <!-- spring MVC --> |
| | | <dependency> |
| | | <groupId>golden</groupId> |
| | | <artifactId>golden.commons.beanutils</artifactId> |
| | | <version>1.8.3</version> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>golden</groupId> |
| | | <artifactId>golden.commons.logging</artifactId> |
| | | <version>1.1.1</version> |
| | | <groupId>javax.servlet</groupId> |
| | | <artifactId>jstl</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>golden</groupId> |
| | | <artifactId>golden.golden.java.sdk</artifactId> |
| | | <version>3.0.34</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>golden</groupId> |
| | | <artifactId>golden.protobuf.java</artifactId> |
| | | <version>2.6.1</version> |
| | | <groupId>org.apache.tomcat.embed</groupId> |
| | | <artifactId>tomcat-embed-jasper</artifactId> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | |
| | | <!--杰控FameHistory实时数据库依赖jar包--> |
| | | <!-- swagger2 --> |
| | | <dependency> |
| | | <groupId>famehistory</groupId> |
| | | <artifactId>famehistory.cvs.dataprovider</artifactId> |
| | | <version>3.0.0</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>famehistory</groupId> |
| | | <artifactId>famehistory.hd.dataprovider</artifactId> |
| | | <version>3.5.0</version> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger-ui</artifactId> |
| | | <version>2.9.2</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>junit</groupId> |
| | | <artifactId>junit</artifactId> |
| | | <version>4.12</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>famehistory</groupId> |
| | | <artifactId>famehistory.hd.datasdk</artifactId> |
| | | <version>3.5.0</version> |
| | | <groupId>org.apache.httpcomponents</groupId> |
| | | <artifactId>httpclient</artifactId> |
| | | <version>4.5.2</version> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>famehistory</groupId> |
| | | <artifactId>famehistory.hd</artifactId> |
| | | <version>1.0.0</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>famehistory</groupId> |
| | | <artifactId>famehistory</artifactId> |
| | | <version>1.0.0</version> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-thymeleaf</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | |
| | | |
| | | import org.springframework.boot.SpringApplication; |
| | | import org.springframework.boot.autoconfigure.SpringBootApplication; |
| | | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; |
| | | |
| | | @SpringBootApplication |
| | | @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) |
| | | public class AdapterApplication { |
| | | |
| | | public static void main(String[] args) { |
| New file |
| | |
| | | package com.hbbh.adapter.controller; |
| | | |
| | | |
| | | import com.hbbh.adapter.controller.api.MonibucaAPI; |
| | | import com.hbbh.adapter.manager.MonibucaManager; |
| | | import io.swagger.annotations.Api; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.CrossOrigin; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | @CrossOrigin(origins = "*", maxAge = 3600) |
| | | @Api |
| | | @RestController(value = "Monica视频监控管理") |
| | | @RequestMapping("monica") |
| | | public class MonibucaController implements MonibucaAPI { |
| | | |
| | | private static final Logger log = LoggerFactory.getLogger(Class.class); |
| | | |
| | | @Autowired |
| | | MonibucaManager monibucaManager; |
| | | |
| | | @Override |
| | | public String parseVideoRTSP() { |
| | | try { |
| | | String result = monibucaManager.parseVideo(); |
| | | return result; |
| | | } catch (Exception e) { |
| | | log.error("接口:com.hbbh.adapter.controller.api.MonibucaAPIController.parseVideoRTSP 调用失败"); |
| | | e.printStackTrace(); |
| | | return "-1"; |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | package com.hbbh.adapter.controller.api; |
| | | |
| | | public interface MonibucaAPI { |
| | | |
| | | /** |
| | | * @return |
| | | * -1 解析失败 |
| | | * |
| | | */ |
| | | public String parseVideoRTSP(); |
| | | } |
| New file |
| | |
| | | package com.hbbh.adapter.manager; |
| | | |
| | | public interface MonibucaManager { |
| | | |
| | | // monica监控 |
| | | String parseVideo(); |
| | | } |
| New file |
| | |
| | | package com.hbbh.adapter.manager.impl; |
| | | |
| | | import com.google.common.collect.Maps; |
| | | import com.hbbh.adapter.manager.MonibucaManager; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Map; |
| | | |
| | | |
| | | @Service |
| | | public class MonibucaManagerImpl implements MonibucaManager { |
| | | |
| | | |
| | | private String rtspDemo="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"; |
| | | |
| | | |
| | | // =========== monica监控 =========== |
| | | |
| | | @Override |
| | | public String parseVideo() { |
| | | String url="http://localhost:8081/rtsp/pull"; |
| | | Map<String, String> params = Maps.newLinkedHashMap(); |
| | | |
| | | params.put("target",rtspDemo); |
| | | params.put("streamPath","live/test"); |
| | | //TODO:解析rtsp视频 |
| | | return null; |
| | | } |
| | | } |
| | |
| | | package com.hbbh.adapter.schedule; |
| | | |
| | | import com.hbbh.adapter.manager.DataSource; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Configuration |
| | | @EnableScheduling |
| | | //@Configuration |
| | | //@EnableScheduling |
| | | public class Task { |
| | | |
| | | @Autowired |
| | | DataSource dataSource; |
| | | |
| | | /** |
| | | * 间隔5秒 执行一次 |
| | | */ |
| | | //@Scheduled(cron = "0/5 * * * * ?") |
| | | @Scheduled(fixedRate=30000) |
| | | //@Scheduled(fixedRate=30000) |
| | | private void task01() throws Exception { |
| | | dataSource.execute(); |
| | | //dataSource.execute(); |
| | | } |
| | | } |
| | |
| | | server.port=8080 |
| | | server.port=8088 |
| | | |
| | | |
| | | # 日记级别(单个级别) 文件/控制台 |
| | |
| | | |
| | | #renite famehistory info |
| | | famehistory.ip=192.168.1.120 |
| | | |
| | | #springmvc访问静态页 |
| | | spring.mvc.static-path-pattern=/public/* |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=124256,DYNAMIC_BASE=5367136,DYNAMICTOP_PTR=124224;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAIAAAACAAAAAwAAAAMAAAACgAAAA0AAAAQAAAACwAAAA4AAAASAAAADQAAABAAAAAUAAAADgAAABIAAAAXAAAAEAAAABQAAAAZAAAAEgAAABcAAAAdAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAAAAAABAAAABAAAAAUAAAACAAAAAwAAAAYAAAAHAAAACAAAAAkAAAAMAAAADQAAAAoAAAALAAAADgAAAA8AAAAAAAAABQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAAAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAsAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAEAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAAAQAAAAsAAAAEAAAAAAAAAAQAAAABAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAABAAAADwAAAAQAAAAEAAAABAAAAAUAAAAEAAAAAgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAADAAAABAAAAAgAAAAEAAAACQAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAcAAAAEAAAADAAAAAQAAAANAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAP8AAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAD/AAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAgAAAP8AAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAADAAAADwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAMAAAATAAAAAQAAABIAAAAAAAAAEQAAAAQAAAAQAAAAAwAAABcAAAABAAAAFgAAAAAAAAAVAAAABAAAABQAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAEAAAATAAAAAgAAABIAAAAEAAAA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AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOt21jvW1qA8cgQGPZiXOz2DInE9bVGTPSMLrj02vcg9e2bjPcYF/j33TAw+45AZPhLOJj7xAzQ+6jFBPmlXTj7cc1s+roZoPk2PdT6TRoE+1b+HPiEzjj4xoJQ+vQabPntmoT4lv6c+cxCuPh5atD7hm7o+c9XAPpEGxz7zLs0+Vk7TPnRk2T4Icd8+0HPlPods6z7qWvE+tz73PqsX/T7DcgE/A1QEP3QvBz/4BAo/btQMP7adDz+yYBI/Qh0VP0jTFz+kgho/OisdP+vMHz+ZZyI/KPskP3qHJz9zDCo/9oksP+j/Lj8sbjE/qdQzP0IzNj/ciTg/X9g6P7AePT+1XD8/VZJBP3e/Qz8D5EU/4f9HP/oSSj81HUw/fB5OP7gWUD/UBVI/uutTP1PIVT+Mm1c/UGVZP4slWz8p3Fw/F4leP0IsYD+YxWE/BlVjP3zaZD/nVWY/OcdnP18uaT9Li2o/7t1rPzcmbT8aZG4/iJdvP3PAcD/P3nE/j/JyP6f7cz8L+nQ/sO11P4vWdj+TtHc/vYd4PwBQeT9UDXo/sL96Pwxnez9hA3w/qJR8P9safT/0lX0/7QV+P8Fqfj9txH4/7BJ/PzpWfz9Wjn8/O7t/P+ncfz9e838/mf5/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP7b0Oj20nxw4bvM6PUQzsDkZ8Do9UWgmOrjqOj0ttXQ6SeM6Pa1/oTrO2To9/6LIOkbOOj0dxO86ssA6PU1xCzsSsTo9BP8eO2afOj38ijI7rYs6PQAVRjvpdTo915xZOxpeOj1LIm07P0Q6PZNSgDtZKDo9mBKKO2kKOj0a0ZM7b+o5PfyNnTtqyDk9JEmnO1ykOT13ArE7RX45Pdi5ujslVjk9Lm/EO/0rOT1cIs47zf84PUfT1zuW0Tg91IHhO1ehOD3pLes7E284PWnX9DvIOjg9On7+O3kEOD0gEQQ8Jcw3PbDhCDzNkTc9wLANPHFVNz1DfhI8Exc3PSpKFzyz1jY9aBQcPFKUNj3w3CA88E82PbWjJTyOCTY9qWgqPC3BNT2+Ky88znY1PefsMzxxKjU9F6w4PBjcND1BaT08w4s0PVckQjx0OTQ9Td1GPCrlMz0TlEs8544zPZ9IUDysNjM94fpUPHvcMj3Oqlk8U4AyPVdYXjw1IjI9cQNjPCTCMT0NrGc8IGAxPR9SbDwq/DA9mfVwPEOWMD1vlnU8bC4wPZM0ejynxC89+c9+PPRYLz1KtIE8VesuPSv/gzzLey49mkiGPFcKLj2PkIg8+pYtPQbXijy2IS099huNPIyqLD1aX488fTEsPSyhkTyLtis9ZeGTPLc5Kz3/H5Y8ArsqPfRcmDxuOio9PJiaPPy3KT3T0Zw8rjMpPbEJnzyErSg90T+hPIElKD0tdKM8ppsnPb2mpTz1Dyc9fNenPG6CJj1lBqo8FPMlPW8zrDzoYSU9l16uPOzOJD3Vh7A8ITokPSOvsjyJoyM9fNS0PCYLIz3Z97Y8+XAiPTQZuTwE1SE9iDi7PEg3IT3OVb08yJcgPQFxvzyF9h89GorBPIJTHz0UocM8vq4ePem1xTw+CB49ksjHPAFgHT0L2ck8C7YcPU3nyzxdChw9U/PNPPlcGz0W/c884a0aPZIE0jwW/Rk9wAnUPJxKGT2bDNY8cpYYPR0N2Dyd4Bc9QAvaPB0pFz3/Btw89W8WPVUA3jwmtRU9O/ffPLP4FD2s6+E8njoUPaTd4zzpehM9G83lPJa5Ej0Ouuc8p/YRPXak6TweMhE9TozrPP1rED2Qce08R6QPPThU7zz+2g49QTTxPCQQDj2kEfM8u0MNPV3s9DzFdQw9ZsT2PEWmCz26mfg8PdUKPVVs+jywAgo9MDz8PJ4uCT1ICf48DFkIPZbT/zz7gQc9i80APW2pBj3hrwE9Zs8FPcyQAj3n8wQ9R3ADPfIWBD1STgQ9izgDPeoqBT2zWAI9CwYGPW53AT203wY9vZQAPeO3Bz1FYf88lY4IPUSW/TzHYwk9e8j7PHc3Cj3w9/k8pAkLPaYk+DxK2gs9pE72PGipDD3vdfQ8+nYNPYua8jwAQw49frzwPHYNDz3N2+48W9YPPX747DysnRA9lRLrPGZjET0ZKuk8iScSPQ4/5zwR6hI9elHlPP2qEz1iYeM8S2oUPctu4Tz3JxU9vHnfPAHkFT05gt08Z54WPUmI2zwlVxc98IvZPDoOGD01jdc8pcMYPRyM1Txjdxk9rIjTPHIpGj3qgtE80NkaPdx6zzx7iBs9h3DNPHI1HD3yY8s8suAcPSJVyTw6ih09HETHPAgyHj3nMMU8GdgePYkbwzxsfB89BgTBPAAfID1m6r48078gPa7OvDziXiE95LC6PCv8IT0Okbg8r5ciPTJvtjxpMSM9VUu0PFrJIz1+JbI8f18kPbT9rzzW8yQ9+9OtPF+GJT1aqKs8FhcmPdd6qTz8pSY9eUunPA0zJz1EGqU8Sb4nPUHnojyuRyg9dLKgPDvPKD3je5487lQpPZZDnDzF2Ck9kwmaPMBaKj3ezZc83doqPYCQlTwZWSs9flGTPHXVKz3eEJE87k8sPafOjjyEyCw934qMPDU/LT2MRYo8/7MtPbb+hzzhJi49YbaFPNuXLj2VbIM86wYvPVghgTwPdC89Yql9PEbfLz1LDXk8kEgwPXpudDzrrzA9+cxvPFYVMT3YKGs80HgxPSKCZjxX2jE95thhPOw5Mj0vLV08jJcyPQt/WDw28zI9iM5TPOpMMz2yG088p6QzPZdmSjxs+jM9Q69FPDdOND3E9UA8CKA0PSg6PDze7zQ9e3w3PLg9NT3MvDI8lYk1PSb7LTx10zU9mDcpPFYbNj0vciQ8OGE2PfiqHzwapTY9AeIaPPvmNj1XFxY82yY3PQhLETy4ZDc9IX0MPJOgNz2wrQc8ato3PcHcAjw9Ejg9xxT8OwxIOD1IbfI71Hs4PSHD6DuYrTg9axbfO1TdOD1EZ9U7Cgs5Pca1yzu4Njk9CwLCO15gOT0wTLg7/Ic5PVCUrjuRrTk9hdqkOxzROT3sHps7nvI5PZ9hkTsWEjo9uqKHO4QvOj2xxHs750o6PStBaDs/ZDo9GLtUO4t7Oj2xMkE7zJA6PSuoLTsCpDo9vhsaOyu1Oj2gjQY7ScQ6PRD85Tpa0To9W9q+Ol7cOj2Otpc6VuU6PS4iYTpB7Do9ydQSOiDxOj2OC4k58fM6PXn0uj2jn5w5+N+6PSctMDuvqro9uFOmO6VUuj2uc/Q76t25PWA0ITyTRrk9oRJIPLqOuD3IzW48gLa3PYSvijwLvrY9z9+dPIWltT1o9LA8IW20PfTpwzwVFbM9Ib3WPJ2dsT2hauk8/AawPSzv+zx4Ua49wiMHPV99rD05OBA9A4uqPWEzGT27eqg9qRMiPeNMpj2B1yo93gGkPWB9Mz0SmqE9wAM8Pe0Vnz0kaUQ93XWcPROsTD1bupk9GMtUPeDjlj3IxFw96/KTPbyXZD0B6JA9lEJsPavDjT35w3M9doaKPZoaez3yMIc9liKBPbfDgz03oYQ9XT+APZIIiD0GSXk9EFiLPZbncT0bj449tFtqPSOtkT20pmI9nLGUPfDJWj3/m5c9ycZSPchrmj2nnko9eSCdPfhSQj2YuZ89MeU5PbI2oj3NVjE9VpekPUupKD0Z26Y9Mt4fPZYBqT0N9xY9bAqrPWv1DT0/9aw94NoEPbrBrj0OUvc8jG+wPffC5Dxq/rE9vQvSPAxusz2pL788NL60PQkyrDyl7rU9NBaZPCv/tj2C34U8lu+3PagiZTy7v7g9F14+PHZvuT0heBc8qP65PS3v4Ds5bbo9osaSOxS7uj2tCAk7LOi6PaQyBD3lf103ajIEPb0v+TjUMQQ9Z1drOeAwBD0lC605kC8EPR5q5DnjLQQ9O+QNOtkrBD0Dkyk6cikEPVVBRTqvJgQ9HO9gOo8jBD1FnHw6EiAEPV4kjDo4HAQ9OPqZOgIYBD2lz6c6bxMEPZ2ktTp/DgQ9FXnDOjMJBD0ETdE6igMEPWEg3zqE/QM9IPPsOiH3Az05xfo6YvADPVFLBDtH6QM9qTMLO8/hAz2fGxI7+tkDPS8DGTvJ0QM9U+ofOzvJAz0H0SY7UcADPUa3LTsKtwM9Cp00O2etAz1Rgjs7Z6MDPRNnQjsLmQM9TUtJO1OOAz36LlA7PoMDPRUSVzvNdwM9mfRdOwBsAz2B1mQ71l8DPci3aztRUwM9aphyO29GAz1ieHk7MTkDPdUrgDuXKwM9H5uDO6EdAz0NCoc7Tg8DPZ14ijugAAM9y+aNO5bxAj2VVJE7MOICPfrBlDtu0gI99i6YO1HCAj2Hm5s717ECPasHnzsCoQI9X3OiO9GPAj2i3qU7RX4CPXBJqTtdbAI9x7OsOxlaAj2lHbA7ekcCPQeHszt/NAI96++2OyohAj1PWLo7eA0CPTDAvTts+QE9jCfBOwTlAT1hjsQ7QdABPav0xzsjuwE9aVrLO6qlAT2Zv8471o8BPTck0juneQE9QojVOx1jAT2369g7OUwBPZRO3Dv5NAE91rDfO18dAT17EuM7agUBPYFz5jsb7QA95dPpO3HUAD2lM+07bbsAPb6S8DsPogA9L/HzO1aIAD30Tvc7Q24APQys+jvWUwA9dAj+Ow85AD0VsgA87R0APZVfAjxyAgA9ugwEPDvN/zyCuQU83ZT/PO1lBzzMW/88+BEJPAgi/zyjvQo8kef+PO1oDDxnrP481BMOPIpw/jxYvg88+zP+PHdoETy59v08LxITPMW4/TyBuxQ8H3r9PGpkFjzHOv086QwYPL76/Dz+tBk8A7r8PKdcGzyWePw84wMdPHg2/Dywqh48qfP7PA9RIDwqsPs8/PYhPPlr+zx5nCM8GSf7PIJBJTyI4fo8F+YmPEeb+jw3iig8VlT6POEtKjy1DPo8FNErPGXE+TzNcy08Znv5PA0WLzy3Mfk807cwPFrn+DwcWTI8TZz4POj5MzyTUPg8Npo1PCoE+DwEOjc8E7f3PFHZODxOafc8HXg6PNwa9zxmFjw8vMv2PCu0PTzve/Y8a1E/PHUr9jwl7kA8Ttr1PFeKQjx7iPU8ASZEPPs19TwhwUU8z+L0PLZbRzz3jvQ8v/VIPHQ69Dw8j0o8ReXzPCooTDxrj/M8icBNPOY48zxXWE88t+HyPJTvUDzdifI8PoZSPFkx8jxVHFQ8KtjxPNaxVTxTfvE8wkZXPNEj8TwX21g8psjwPNNuWjzTbPA89gFcPFYQ8Dx/lF08MbPvPGwmXzxkVe88vLdgPO/27jxvSGI80pfuPIPYYzwOOO4892dlPKPX7TzK9mY8kHbtPPuEaDzXFO08iRJqPHiy7Dxzn2s8ck/sPLcrbTzH6+s8VLduPHaH6zxLQnA8fyLrPJjMcTzkvOo8PFZzPKRW6jw133Q8v+/pPIJndjw3iOk8Iu93PAog6TwVdnk8OrfoPFj8ejzGTeg864F8PLDj5zzNBn489njnPPyKfzybDec8PIeAPJ2h5jygSIE8/TTmPKkJgjy7x+U8V8qCPNlZ5TypioM8VevkPJ9KhDwxfOQ8OAqFPGwM5DxzyYU8B5zjPFGIhjwDK+M80EaHPF+54jzwBIg8HEfiPLHCiDw61OE8EoCJPLpg4TwSPYo8m+zgPLL5ijzfd+A877WLPIUC4DzLcYw8jozfPEQtjTz6Fd88WuiNPMme3jwNo448/CbePFtdjzyTrt08RReQPI813TzJ0JA88LvcPOiJkTy1Qdw8oUKSPODG2zzz+pI8cUvbPN6ykzxnz9o8YmqUPMRS2jx9IZU8iNXZPC/YlTyzV9k8eY6WPEbZ2DxYRJc8QFrYPM75lzyj2tc82a6YPG5a1zx5Y5k8otnWPK0Xmjw/WNY8dMuaPEXW1TzQfps8tlPVPL4xnDyR0NQ8PuScPNZM1DxRlp08h8jTPPVHnjyiQ9M8KfmePCq+0jzuqZ88HjjSPENaoDx+sdE8KAqhPEsq0TybuaE8haLQPJ1oojwtGtA8LhejPEKRzzxLxaM8xgfPPPZypDy5fc48LSClPBvzzTzwzKU87GfNPD95pjwt3Mw8GSWnPN5PzDx+0Kc8AMPLPG17qDyTNcs85iWpPJenyjzoz6k8DRnKPHN5qjz1ick8hiKrPFD6yDwhy6s8HmrIPERzrDxf2cc87RqtPBNIxzwdwq08PLbGPNNorjzaI8Y8Dw+vPOyQxTzQtK88dP3EPBVasDxxacQ83/6wPOXUwzwso7E8zz/DPP1GsjwwqsI8UeqyPAkUwjwnjbM8WX3BPH8vtDwh5sA8WdG0PGJOwDy0crU8Hba/PI8TtjxQHb8867O2PP6DvjzGU7c8Jeq9PCHztzzIT708+pG4POW0vDxSMLk8fxm8PCnOuTyUfbs8fGu6PCXhujxNCLs8NES6PJukuzy/prk8ZUC8PMkIuTyq27w8UGq4PGx2vTxWy7c8qBC+PNsrtzxfqr484Iu2PJBDvzxk67U8O9y/PGlKtTxfdMA87qi0PPwLwTz1BrQ8EqPBPH1kszyfOcI8iMGyPKXPwjwVHrI8IWXDPCV6sTwV+sM8uNWwPH+OxDzPMLA8XyLFPGuLrzy0tcU8jOWuPH9IxjwxP648v9rGPF2YrTxzbMc8DvGsPJz9xzxGSaw8N47IPAahqzxGHsk8TPiqPMityTwbT6o8vTzKPHOlqTwjy8o8U/uoPPtYyzy8UKg8RebLPLClpzz/csw8LvqmPCr/zDw2TqY8xYrNPMqhpTzQFc486vSkPEqgzjyWR6Q8MyrPPM6ZozyKs888lOuiPFA80DzoPKI8hMTQPMmNoTwlTNE8Od6gPDTT0Tw5LqA8r1nSPMh9nzyW39I858yePOlk0zyWG548qOnTPNZpnTzTbdQ8qbecPGjx1DwNBZw8aHTVPANSmzzS9tU8jZ6aPKZ41jyq6pk84/nWPFs2mTyJetc8oIGYPJj61zx7zJc8EHrYPOoWlzzw+Ng88GCWPDd32TyNqpU85vTZPMDzlDz8cdo8izyUPHju2jzthJM8W2rbPOjMkjyk5ds8fRSSPFJg3DyqW5E8ZtrcPHKikDzfU9081OiPPLzM3TzRLo88/kTePGl0jjykvN48nrmNPK0z3zxv/ow8GqrfPN1CjDzqH+A86YaLPB2V4DyTyoo8sgnhPNsNijypfeE8w1CJPAHx4TxKk4g8u2PiPHHVhzzX1eI8OReHPFNH4zyiWIY8L7jjPK2ZhTxsKOQ8WtqEPAmY5DyqGoQ8BQflPJ1agzxgdeU8NJqCPBvj5Txv2YE8NFDmPE8YgTyrvOY81VaAPIEo5zwBKn88tJPnPKWlfTxF/uc8lyB8PDJo6DzXmno8fdHoPGgUeTwlOuk8S413PCii6Tx/BXY8iAnqPAd9dDxDcOo84/NyPFrW6jwVanE8zDvrPJ3fbzyZoOs8fVRuPMEE7Dy1yGw8Q2jsPEg8azwfy+w8Na9pPFUt7Tx+IWg85I7tPCWTZjzN7+08KQRlPA9Q7jyNdGM8qa/uPFHkYTycDu88d1NgPOds7zz/wV48isrvPOsvXTyFJ/A8PJ1bPNeD8DzyCVo8gd/wPBB2WDyBOvE8leFWPNiU8TyETFU8hu7xPN22UzyKR/I8oSBSPOOf8jzSiVA8k/fyPHHyTjyYTvM8flpNPPKk8zz8wUs8ofrzPOooSjylT/Q8So9IPP2j9Dwe9UY8qvf0PGZaRTyrSvU8I79DPACd9TxXI0I8qO71PAOHQDyjP/Y8KOo+PPKP9jzHTD08lN/2POGuOzyJLvc8dxA6PNB89zyKcTg8acr3PBzSNjxVF/g8LjI1PJJj+DzBkTM8Ia/4PNXwMTwB+vg8bU8wPDNE+TyJrS48to35PCoLLTyJ1vk8UmgrPK4e+jwCxSk8Imb6PDohKDznrPo8/XwmPP3y+jxK2CQ8YTj7PCQzIzwWffs8jI0hPBrB+zyC5x88bgT8PAdBHjwQR/w8HpocPAKJ/DzH8ho8Qsr8PANLGTzRCv0806IXPK5K/Tw5+hU82on9PDZRFDxTyP08y6cSPBsG/jz5/RA8MEP+PMFTDzySf/48JKkNPEK7/jwk/gs8QPb+PMJSCjyKMP88/qYIPCFq/zzb+gY8BaP/PFlOBTw22/88eaEDPFkJAD099AE8viQAPaZGADzJPwA9ajH9O3laAD3W1Pk70HQAPZN39jvNjgA9ohnzO2+oAD0Hu+87t8EAPcRb7Duk2gA92/voOzfzAD1Om+U7cAsBPSE64jtOIwE9VNjeO9E6AT3rdds7+lEBPegS2DvIaAE9Ta/UOzt/AT0dS9E7VJUBPVvmzTsRqwE9B4HKO3PAAT0mG8c7etUBPbm0wzsn6gE9wk3AO3f+AT1F5rw7bRICPUJ+uTsIJgI9vhW2O0c5Aj26rLI7KkwCPTlDrzuzXgI9PNmrO99wAj3Hbqg7sIICPdwDpTsmlAI9fZihO0ClAj2sLJ47/rUCPW3AmjthxgI9wFOXO2fWAj2q5pM7EuYCPSx5kDth9QI9SAuNO1QEAz0CnYk77BIDPVsuhjsnIQM9Vb+COwYvAz3pn347iTwDPXTAdzuwSQM9UeBwO3tWAz2F/2k76WIDPRUeYzv8bgM9BjxcO7J6Az1cWVU7DIYDPRx2TjsKkQM9TJJHO6ubAz3vrUA78KUDPQvJOTvYrwM9peMyO2S5Az3B/Ss7lMIDPWUXJTtnywM9lDAeO97TAz1VSRc7+NsDPathEDu14wM9nHkJOxbrAz0tkQI7G/IDPcNQ9zrD+AM9f37pOg7/Az2Yq9s6/QQEPRbYzTqOCgQ9BATAOsQPBD1rL7I6nBQEPVVapDoYGQQ9y4SWOjcdBD3Yrog6+iAEPQqxdTpfJAQ9uANaOmgnBD3NVT46FCoEPVynIjpkLAQ9efgGOlcuBD1tktY57S8EPVMznzkmMQQ9kqdPOQIyBD3Xz8E4gjIEPfAENT0YLA442QM1PUnxnzkDATU9wg0XOm78ND1rIV46G/Y0PXiZkjoK7jQ90CC2OjrkND1optk6rNg0PeYp/TpfyzQ9elUQO1W8ND2cFCI7jKs0PS/SMzsGmTQ9Bo5FO8KEND32R1c7wW40PdL/aDsDVzQ9cLV6O4c9ND1RNIY7TyI0PaAMjztaBTQ9jeOXO6nmMz0EuaA7PcYzPe6MqTsVpDM9NV+yOzGAMz3FL7s7k1ozPYf+wzs6MzM9ZcvMOycKMz1KltU7Wt8yPR9f3jvTsjI90SXnO5SEMj1H6u87nVQyPW6s+DvtIjI9GLYAPIbvMT27FAU8aLoxPRVyCTyTgzE9Hc4NPAhLMT3HKBI8yBAxPQiCFjzT1DA91dkaPCqXMD0lMB88zVcwPeyEIzy8FjA9H9gnPPrTLz20KSw8hY8vPaF5MDxgSS892sc0PIkBLz1VFDk8A7guPQdfPTzObC495qdBPOsfLj3n7kU8WtEtPQA0SjwcgS09JndOPDIvLT1OuFI8nNssPW/3Vjxchiw9fTRbPHMvLD1ub1884NYrPTioYzymfCs90N5nPMQgKz0sE2w8PMMqPUJFcDwPZCo9B3V0PD4DKj1wong8yaApPXXNfDyxPCk9BHuAPPjWKD0SjoI8nm8oPd2fhDylBig9YLCGPA2cJz2Yv4g81y8nPX7NijwFwiY9DtqMPJhSJj1C5Y48kOElPRXvkDzvbiU9g/eSPLX6JD2G/pQ85YQkPRoElzx/DSQ9OQiZPISUIz3eCps89RkjPQUMnTzUnSI9qAufPCEgIj3DCaE836AhPVEGozwNICE9TAGlPK+dID2w+qY8xBkgPXnyqDxNlB89oOiqPE4NHz0i3aw8xYQePfnPrjy2+h09IMGwPCBvHT2UsLI8B+IcPU+etDxqUxw9TIq2PEvDGz2HdLg8rTEbPfpcujyPnho9okO8PPQJGj15KL483HMZPXsLwDxK3Bg9pOzBPD9DGD3ty8M8vKgXPVSpxTzDDBc904THPFVvFj1lXsk8ddAVPQc2yzwiMBU9swvNPF+OFD1m3848LusTPRqx0DyQRhM9y4DSPIagEj10TtQ8E/kRPRIa1jw3UBE9oOPXPPWlED0Zq9k8TvoPPXhw2zxETQ89uzPdPNieDj3b9N48DO8NPdaz4DzjPQ09pnDiPFyLDD1HK+Q8e9cLPbXj5TxBIgs97JnnPK9rCj3oTek8yLMJPaT/6jyN+gg9HK/sPABACD1MXO48I4QHPTAH8Dz4xgY9xK/xPIAIBj0DVvM8vUgFPer59DyyhwQ9dZv2PF/FAz2fOvg8yAEDPWXX+TztPAI9wnH7PNB2AT2yCf08da8APTOf/jy3zf88IBkAPQ46/jxq4QA98aP8PHaoAT1kC/s8Qm4CPW1w+TzMMgM9DtP3PBL2Az1LM/Y8E7gEPSmR9DzNeAU9rOzyPD04Bj3XRfE8YvYGPa6c7zw6swc9N/HtPMNuCD11Q+w8/CgJPWuT6jzi4Qk9H+HoPHSZCj2ULOc8r08LPc915TyUBAw907zjPB64DD2mAeI8TmoNPUtE4DwgGw49x4TePJTKDj0dw9w8qHgPPVP/2jxZJRA9bTnZPKfQED1ucdc8kHoRPVyn1TwSIxI9O9vTPCvKEj0PDdI82m8TPd080DwdFBQ9qWrOPPK2FD14lsw8WVgVPU3AyjxP+BU9L+jIPNSWFj0hDsc85DMXPSgyxTyAzxc9SFTDPKVpGD2GdME8UgIZPeeSvzyGmRk9b6+9PD4vGj0jyrs8esMaPQjjuTw4Vhs9I/q3PHfnGz13D7Y8NXccPQojtDxyBR094DSyPCqSHT3/RLA8Xh0ePWtTrjwMpx49KWCsPDIvHz09a6o80LUfPa10qDzjOiA9fnymPGy+ID2zgqQ8Z0AhPVOHojzVwCE9YoqgPLM/Ij3ki548Ar0iPd+LnDy+OCM9WIqaPOiyIz1Uh5g8fiskPdiCljx/oiQ96HyUPOoXJT2JdZI8vYslPcJskDz4/SU9lWKOPJpuJj0KV4w8oN0mPSRKijwLSyc96juIPNq2Jz1eLIY8CiEoPYgbhDyciSg9bAmCPI3wKD0f7H883lUpPe7CezyNuSk9T5d3PJkbKj1OaXM8AnwqPfQ4bzzG2io9TAZrPOQ3Kz1f0WY8XJMrPTqaYjwt7Ss95WBePFVFLD1sJVo81JssPdjnVTyq8Cw9NKhRPNRDLT2MZk08U5UtPegiSTwm5S09VN1EPEwzLj3alUA8xH8uPYZMPDyNyi49YAE4PKcTLz11tDM8ElsvPc5lLzzLoC89dhUrPNPkLz15wyY8KScwPd9vIjzNZzA9tRoePL2mMD0FxBk8+eMwPdprFTyBHzE9PhIRPFRZMT07tww8cZExPd5aCDzYxzE9MP0DPIn8MT16PP87gi8yPR189jvEYDI9YLntO02QMj1Z9OQ7Hr4yPR0t3Ds26jI9wWPTO5UUMz1cmMo7OT0zPQPLwTskZDM9zPu4O1OJMz3MKrA7yKwzPRpYpzuCzjM9yoOeO3/uMz30rZU7wQw0PazWjDtHKTQ9Cf6DOxBEND1BSHY7HF00PQ+SZDtrdDQ9qtlSO/2JND08H0E70Z00PfJiLzvorzQ9+KQdO0HAND145Qs73M40PT1J9Dq52zQ9McXQOtjmND0hP606OPA0PWa3iTra9zQ9rVxMOr39ND2XSAU64gE1Pd3MeDlIBDU9uwS1PQosjjlJ87Q9aOwfO/DFtD1T/ZY7tny0PSnt3TunF7Q9Y10SPNOWsz2grTU8TfqyPdnhWDwuQrI9oPR7PJJusT1GcI88mn+wPR7QoDxqda89KheyPCtQrj2/QsM8DBCtPThQ1Dw8tas98zzlPPI/qj1WBvY8Z7CoPeRUAz3ZBqc9XJILPYlDpT1PuhM9vWajPXrLGz2/cKE9n8QjPdxhnz2CpCs9ZDqdPe5pMz2u+po9rxM7PRKjmD2XoEI97TOWPXwPSj2drZM9OV9RPYgQkT2sjlg9FV2OPbqcXz2tk4s9TYhmPcC0iD1TUG09vsCFPcHzcz0buII9kHF6PaE2fz1gZIA9sdV4PSx8gz1iTnI9sn+GPbWhaz16bok9s9BkPRBIjD1n3F09BQyPPeXFVj3ruZE9RY5PPVhRlD2kNkg95tGWPSLAQD0yO5k96Cs5Pd2Mmz0fezE9i8adPfiuKT3l5589p8ghPZfwoT1jyRk9UOCjPWiyET3DtqU99oQJPalzpz1PQgE9vBapPXLX8Ty9n6o9+wThPG0OrD3RD9A8lmKtPZL6vjwCnK4938etPIG6rz1hepw8572wPcEUizwLprE9XDNzPMtysj23F1A8BiSzPfvbLDyiubM9l4UJPIYztD38M8w7oZG0PUw9hTvj07Q9Rsj4OkT6tD3///882g9JN5z//zy5MeI4m/7/PHWgVTn9/P88xROdOcH6/zzvVs855vf/PMzMADpu9P880u0ZOljw/zx4DjM6pOv/PLAuTDpS5v88ak5lOmLg/zyXbX461dn/PBPGizqp0v88BVWYOuDK/zyZ46Q6ecL/PMZxsTp1uf88h/+9OtKv/zzSjMo6kqX/PKEZ1zq0mv886qXjOjmP/zyoMfA6H4P/PNG8/Dppdv88r6MEOxRp/zyk6Ao7Ilv/PEMtETuTTP88iHEXO2Y9/zxwtR07nC3/PPf4Izs0Hf88GTwqOy8M/zzSfjA7jPr+PB3BNjtM6P48+AI9O2/V/jxfREM79cH+PE2FSTverf48v8VPOymZ/jywBVY72IP+PB5FXDvqbf48A4RiO15X/jxdwmg7NkD+PCgAbztxKP48Xz11Ow8Q/jz+eXs7EPf9PAHbgDt13f08tPiDOz3D/TwWFoc7aKj9PCQzijv4jP083E+NO+pw/Tw+bJA7QVT9PEeIkzv7Nv089KOWOxkZ/TxFv5k7mvr8PDbanDuA2/w8yPSfO8q7/Dz2DqM7eJv8PMAopjuKevw8I0KpOwBZ/DweW6w72zb8PK5zrzsaFPw804uyO73w+zyJo7U7xcz7PM+6uDsyqPs8o9G7OwSD+zwE6L47Ol37PO79wTvWNvs8YRPFO9YP+zxaKMg7POj6PNg8yzsGwPo82VDOOzeX+jxaZNE7zG36PFp31DvHQ/o814nXOygZ+jzPm9o77u35PECt3Tsawvk8Kb7gO62V+TyHzuM7pWj5PFje5jsDO/k8m+3pO8gM+TxO/Ow78934PG4K8DuErvg8+hfzO31++DzxJPY72034PE8x+TuhHPg8FD38O87q9zw9SP87Ybj3PGUpATxchfc8W64CPL5R9zwAMwQ8iB33PFW3BTy56PY8VjsHPFKz9jwEvwg8U332PF5CCjy7RvY8Y8ULPIwP9jwRSA08xdf1PGjKDjxmn/U8Z0wQPHBm9TwNzhE84yz1PFlPEzy+8vQ8S9AUPAK49DzgUBY8r3z0PBnRFzzFQPQ89FAZPEUE9Dxw0Bo8LsfzPI1PHDyBifM8Ss4dPD5L8zylTB88ZAzzPJ7KIDz1zPI8NEgiPO+M8jxmxSM8VEzyPDNCJTwkC/I8mb4mPF/J8TyZOig8BIfxPDG2KTwURPE8YTErPI8A8TwnrCw8drzwPIImLjzId/A8cqAvPIYy8Dz1GTE8sOzvPAyTMjxGpu88tAs0PEhf7zztgzU8thfvPLb7NjyRz+48DnM4PNiG7jz16Tk8jT3uPGlgOzyu8+08adY8PD2p7Tz1Sz48OV7tPAvBPzyiEu08qzVBPHrG7DzUqUI8v3nsPIUdRDxzLOw8vZBFPJTe6zx7A0c8JZDrPL51SDwkQes8hedJPJHx6jzQWEs8bqHqPJ7JTDy6UOo87TlOPHb/6Ty9qU88oa3pPA0ZUTw9W+k83IdSPEgI6Twp9lM8w7ToPPNjVTyvYOg8OtFWPAwM6Dz8PVg82bbnPDmqWTwYYec88BVbPMcK5zwfgVw86bPmPMfrXTx8XOY85VVfPIAE5jx6v2A896vlPIQoYjzhUuU8ApFjPD355Dz1+GQ8C5/kPFpgZjxNROQ8McdnPAHp4zx4LWk8Ko3jPDCTajzFMOM8WPhrPNXT4jzuXG08WXbiPPHAbjxRGOI8YSRwPL654Tw9h3E8n1rhPITpcjz1+uA8NUt0PMGa4DxQrHU8AjrgPNMMdzy42N88vWx4POV23zwOzHk8iBTfPMYqezyhsd484oh8PDFO3jxi5n08N+rdPEZDfzy1hd08xk+APKog3Tya/YA8F7vcPB+rgTz8VNw8U1iCPFju2zw3BYM8LYfbPMuxgzx7H9s8DV6EPEG32jz9CYU8gU7aPJy1hTw65dk852CGPGx72TzgC4c8GBHZPIa2hzw/ptg82GCIPOA62DzWCok8+87XPH+0iTyRYtc8012KPKP11jzSBos8L4jWPHyvizw4GtY8z1eMPLyr1TzL/4w8vTzVPHGnjTw6zdQ8v06OPDNd1Dy19Y48quzTPFOcjzyee9M8mUKQPBAK0zyF6JA8/5fSPBmOkTxtJdI8UjOSPFmy0Twx2JI8wz7RPLZ8kzytytA84CCUPBVW0DyuxJQ8/uDPPCFolTxla888NwuWPE31zjzxrZY8tn7OPE5QlzyfB848TfKXPAmQzTzvk5g89BfNPDM1mTxgn8w8GNaZPE4mzDyedpo8v6zLPMUWmzyyMss8jbabPCe4yjz0VZw8Hz3KPPv0nDybwck8oZOdPJpFyTzmMZ48HcnIPMnPnjwkTMg8Sm2fPLDOxzxpCqA8wFDHPCWnoDxW0sY8fkOhPHBTxjx036E8EdTFPAZ7ojw3VMU8MxajPOTTxDz8sKM8F1PEPGBLpDzR0cM8X+WkPBJQwzz4fqU8283CPCsYpjwsS8I897CmPAXIwTxdSac8ZkTBPFvhpzxQwMA88nioPMQ7wDwhEKk8wLa/POimqTxHMb88Rj2qPFervjw706o88iS+PMZoqzwXnr086P2rPMgWvTygkqw8BI+8PO0mrTzLBrw80LqtPB9+uzxHTq48//S6PFPhrjxsa7o883OvPGXhuTwmBrA87Fa5PO6XsDwBzLg8SCmxPKRAuDw1urE81bS3PLRKsjyUKLc8xdqyPOObtjxoarM8wQ62PJ35szwvgbU8Yoi0PC3ztDy4FrU8u2S0PJ6ktTza1bM8FDK2PIpGszwav7Y8y7ayPK9LtzyeJrI809e3PASWsTyGY7g8+wSxPMfuuDyGc7A8lXm5PKThrzzyA7o8VU+vPNuNujyavK48Uhe7PHMprjxVoLs84ZWtPOQovDzkAa08ALG8PHxtrDynOL08qtirPNm/vTxtQ6s8lka+PMetqjzezL48uBeqPLBSvzxAgak8DNi/PF/qqDzyXMA8FlOoPGHhwDxlu6c8WWXBPE0jpzza6ME8zoqmPONrwjzo8aU8dO7CPJtYpTyNcMM86b6kPC7ywzzRJKQ8VnPEPFSKozwE9MQ8cu+iPDl0xTwrVKI89PPFPIC4oTw1c8Y8cRyhPPzxxjwAgKA8SHDHPCvjnzwY7sc880WfPG5ryDxZqJ48SOjIPF0KnjymZMk8AGydPIjgyTxCzZw87VvKPCMunDzV1so8pI6bPEFRyzzE7po8L8vLPIZOmjyfRMw8562ZPJG9zDzrDJk8BTbNPI9rmDz6rc081smXPHAlzjy/J5c8aJzOPEuFljzfEs88euKVPNeIzzxNP5U8UP7PPMOblDxHc9A83veTPL7n0DydU5M8tVvRPAKvkjwqz9E8DAqSPB5C0jy8ZJE8kLTSPBO/kDyAJtM8EBmQPO6X0zy0co882QjUPADMjjxBedQ88ySOPCfp1DyPfY08iVjVPNTVjDxnx9U8wi2MPMI11jxZhYs8maPWPJvcijzrENc8hjOKPLh91zwdiok8AerXPF7giDzEVdg8SzaIPALB2Dzki4c8uivZPCrhhjzsldk8HDaGPJj/2Ty8ioU8vmjaPAnfhDxc0do8BDOEPHQ52zyuhoM8BaHbPAbagjwOCNw8Di2CPI9u3DzFf4E8idTcPC3SgDz6Od08RSSAPOOe3Twc7H48QwPePBGPfTwaZ948aTF8PGjK3jwm03o8LC3fPEl0eTxnj9880RR4PBjx3zzAtHY8PlLgPBdUdTzbsuA81/JzPO0S4TwAkXI8dHLhPJQucTxv0eE8k8tvPOAv4jz+Z248xY3iPNYDbTwe6+I8HJ9rPOxH4zzQOWo8LaTjPPTTaDzh/+M8iG1nPApb5DyOBmY8pbXkPAWfZDyzD+U88DZjPDRp5TxOzmE8J8LlPCJlYDyNGuY8avtePGRy5jwqkV08rsnmPGAmXDxpIOc8D7taPJV25zw3T1k8M8znPNjiVzxCIeg89XVWPMJ16DyNCFU8ssnoPKKaUzwSHek8NCxSPONv6TxFvVA8JMLpPNVNTzzVE+o85d1NPPVk6jx2bUw8hbXqPIn8SjyEBes8H4tJPPFU6zw4GUg8zqPrPNamRjwa8us8+jNFPNM/7DykwEM8/IzsPNVMQjyS2ew8jthAPJYl7TzQYz88CHHtPJ3uPTznu+089Hg8PDQG7jzWAjs87k/uPEaMOTwUme48QxU4PKjh7jzOnTY8qCnvPOklNTwVce88lK0zPO637zzQNDI8NP7vPJ+7MDzlQ/A8AEIvPAKJ8Dz1xy08is3wPH9NLDx/EfE8n9IqPN5U8TxVVyk8qJfxPKPbJzze2fE8iV8mPH4b8jwJ4yQ8iVzyPCNmIzz/nPI82OghPN7c8jwpayA8KBzzPBjtHjzcWvM8pG4dPPqY8zzP7xs8gtbzPJpwGjxzE/Q8BvEYPM5P9DwTcRc8kov0PMPwFTy/xvQ8F3AUPFUB9TwP7xI8VDv1PKxtETy8dPU88OsPPIyt9TzbaQ48xeX1PG3nDDxmHfY8qmQLPG9U9jyQ4Qk84Yr2PCFeCDy6wPY8XdoGPPv19jxHVgU8pCr3PN/RAzy0Xvc8JU0CPCyS9zwbyAA8C8X3PIKF/jtR9/c8MXr7O/4o+DxGbvg7Elr4PMFh9TuNivg8pVTyO266+Dz0Ru87t+n4PK847DtlGPk82CnpO3pG+TxxGuY79XP5PHwK4zvXoPk8/PnfOx7N+Tzx6Nw7y/j5PF7X2TveI/o8RMXWO1dO+jymstM7NXj6PIaf0Dt5ofo85IvNOyLK+jzEd8o7MfL6PChjxzukGfs8EE7EO31A+zx/OME7u2b7PHYivjtejPs8+Qu7O2ax+zwI9bc70tX7PKbdtDuj+fs81MWxO9kc/DyUra47cz/8POmUqztxYfw81HuoO9SC/DxXYqU7m6P8PHRIojvGw/w8LC6fO1Xj/DyDE5w7SQL9PHn4mDugIP08Ed2VO1s+/TxNwZI7elv9PC6ljzv8d/08toiMO+KT/Tzoa4k7LK/9PMVOhjvayf08TzGDO+rj/TyIE4A7Xv39POXqeTs2Fv48H65zO3Eu/jzDcG07D0b+PNQyZzsQXf48V/RgO3Rz/jxPtVo7O4n+PMB1VDtlnv48rjVOO/Ky/jwd9Uc748b+PBC0QTs12v48jHI7O+vs/jyVMDU7BP/+PC3uLjt/EP88WqsoO1wh/zwfaCI7nTH/PH8kHDtAQf88f+AVO0VQ/zwjnA87rl7/PG5XCTt4bP88ZRIDO6V5/zwVmvk6NIb/PMYO7Tomkv885YLgOnqd/zx59tM6Maj/PItpxzpKsv88Ity6OsW7/zxFTq46osT/PP2/oTrhzP88UTGVOoPU/zxJoog6h9v/PNoleDrt4f88iAZfOrXn/zyt5kU64Oz/PFjGLDps8f88maUTOlv1/zz8CPU5rPj/PC/Gwjle+/886oKQOXP9/zyZfjw56v7/PNHtrzjE//88AACAQgAAAEMAAIBDAAAARAAAgEQAAABFAACARQAAAEYAAIBGAAAARwAAgEcAAABIAACASAAAAEkgAIBJ8P//SfD/f0oCAABL8P9/S/D//0sEAIBMEQAATeT/f00BAABO5P9/TuT//04FAIBP9///Tw8AgFDt//9QAwCAUQMAAFIDAIBSAwAAU+f/f1Pn//9TBwCAVPr//1QHAIBVBwAAVvX/f1bG//9WAQCAVwEAAFgBAIBYAQAAWQEAgFkBAABaAQCAWgEAAFsBAIBb6v//W+r/f1wEAABd6v9/Xer//10HAIBe/P//Xtj/f18DAABgAwCAYAMAAGEDAIBhAwAAYv/vfzkG4P85FMB/OlOA/zr8AH87/AP+O7APfDz/Pfg86fBwPSqO4z3NzEw+n6qqPgAAAD+wqio/zcxMPzuOYz/p8HA/ED54P7sPfD/3A34/AAF/P0WAfz8JwH8/BeB/PwLwfz+FPng/hZRjP2HjKj96b6w+DRzwPSv8GT2wD3w83nMePGbhBjwG+gA8+//+O/xC/jvCE/47/g98P3P0cD+h9Uw/BP4AP//pVj7nZ5Q9/z34PFrvnDyKx4U8EPB/PP4HfTzETXw8NR98PBkEfj/3P3g/ZadjP9+LKz/9obE+1GAKPunwcD0r/Bk9JaEDPWEA/DzALvk8L3r4PBlN+DwRAX8/thB8PxH/cD+cbk0/AOEDPy3Pcz4qjuM952eUPfsPfz0ye3Q9ndNxPaMpcT0R/3A9RYB/P30Efj+JRXg/+vFjP3sULj9C7MQ+zcxMPtRgCj4NHPA9F7bmPYpY5D0FweM9v5rjPRrAfz9DAX8/mBN8P9AocT/3PE8/6zgOP5+qqj4tz3M+/+lWPhBaTz6kcE0+svVMPgbXTD4F4H8/Z4B/P+4Ffj+vW3g/fA1lP3PbNj8AAAA/QuzEPv2hsT56b6w+QxyrPhHHqj7Vsao+AvB/PxrAfz/8AX8/AB98PxXHcT9QVVU/sKoqP+s4Dj8A4QM/BP4AP+Y/AD/+DwA//wMAPwH4fz8F4H8/u4B/P7MLfj+Sr3g/MLpoP83MTD9z2zY/exQuP9+LKz9h4yo/6bgqPzquKj8B/H8/AvB/P03Afz/uBH8/MEp8Pz7Pcz87jmM/UFVVP/c8Tz+cbk0/ofVMPwbXTD9bz0w/+P1/PwH4fz8m4H8/PYJ/P6chfj+UwXk/6fBwPzC6aD98DWU/+vFjP2WnYz+FlGM/zY9jPwT/fz8B/H8/E/B/PwXBfz/xD38/5NZ8PxA+eD8+z3M/FcdxP9AocT8R/3A/c/RwP9TxcD96/38/Cf5/PwH4fz964H8/vod/P/Vofj+7D3w/lMF5P5KveD+vW3g/iUV4P/c/eD+FPng/vf9/PwT/fz8B/H8/RfB/P9fDfz/bM38/9wN+P+TWfD8wSnw/AB98P5gTfD+2EHw//g98P97/fz96/38/Cf5/PyP4fz/r4X8/xJl/PwABfz/1aH4/pyF+P7MLfj/uBX4/fQR+PxkEfj/v/38/vf9/PwT/fz8R/H8/7fB/P9HMfz9FgH8/2zN/P/EPfz/uBH8//AF/P0MBfz8RAX8/AACAP97/fz96/38/Cf5/P3f4fz9x5n8/CcB/P8SZfz++h38/PYJ/P7uAfz9ngH8/RYB/PwAAgD/v/38/vf9/PwT/fz9E/H8/OPN/PwXgfz/RzH8/18N/PwXBfz9NwH8/GsB/PxrAfz8AAIA/AACAP97/fz96/38/Gf5/P5T5fz8C8H8/ceZ/P+vhfz964H8/JuB/PwXgfz8F4H8/AACAPwAAgD/v/38/vf9/PxX/fz/K/H8/Afh/Pzjzfz/t8H8/RfB/PxPwfz8C8H8/AvB/PwAAgD8AAIA/AACAP97/fz+L/38/bf5/PwH8fz+U+X8/d/h/PyP4fz8B+H8/Afh/PwH4fz8AAIA/AACAPwAAgD/v/38/vf9/Pzf/fz/4/X8/yvx/P0T8fz8R/H8/Afx/PwH8fz8B/H8/AACAPwAAgD8AAIA/AACAP97/fz+b/38/BP9/P23+fz8Z/n8/Cf5/Pwn+fz8J/n8/+P1/PwAAgD8AAIA/AACAPwAAgD/v/38/zv9/P3r/fz83/38/Ff9/PwT/fz8E/38/BP9/PwT/fz8AAIA/AACAPwAAgD8AAIA/AACAP97/fz+9/38/m/9/P4v/fz96/38/ev9/P3r/fz96/38/AACAPwAAgD8AAIA/AACAPwAAgD/v/38/3v9/P87/fz+9/38/vf9/P73/fz+9/38/vf9/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP+//fz/e/38/3v9/P97/fz/e/38/3v9/P97/fz8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/7/9/P+//fz/v/38/7/9/P+//fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/sA98PP89+Dzp8HA9Ko7jPc3MTD6fqqo+AAAAP7CqKj/NzEw/O45jP+nwcD8QPng/uw98P/cDfj8AAX8/RYB/PwnAfz8F4H8/AvB/PwH4fz8B/H8/+P1/PwT/fz96/38/vf9/P97/fz/v/38/AACAPwAAgD8AAIA/AACAP8IT/jv8Qv47+//+Owb6ADxm4QY83nMePLAPfDwr/Bk9DRzwPXpvrD5h4yo/hZRjP4U+eD81H3w8xE18PP4HfTwQ8H88iseFPFrvnDz/Pfg852eUPf/pVj4E/gA/ofVMP3P0cD/+D3w/GU34PC96+DzALvk8YQD8PCWhAz0r/Bk96fBwPdRgCj79obE+34srP2WnYz/3P3g/GQR+PxH/cD2jKXE9ndNxPTJ7dD37D38952eUPSqO4z0tz3M+AOEDP5xuTT8R/3A/thB8PxEBfz+/muM9BcHjPYpY5D0XtuY9DRzwPdRgCj7NzEw+QuzEPnsULj/68WM/iUV4P30Efj9FgH8/BtdMPrL1TD6kcE0+EFpPPv/pVj4tz3M+n6qqPus4Dj/3PE8/0ChxP5gTfD9DAX8/GsB/P9Wxqj4Rx6o+QxyrPnpvrD79obE+QuzEPgAAAD9z2zY/fA1lP69beD/uBX4/Z4B/PwXgfz//AwA//g8AP+Y/AD8E/gA/AOEDP+s4Dj+wqio/UFVVPxXHcT8AH3w//AF/PxrAfz8C8H8/Oq4qP+m4Kj9h4yo/34srP3sULj9z2zY/zcxMPzC6aD+Sr3g/swt+P7uAfz8F4H8/Afh/P1vPTD8G10w/ofVMP5xuTT/3PE8/UFVVPzuOYz8+z3M/MEp8P+4Efz9NwH8/AvB/PwH8fz/Nj2M/hZRjP2WnYz/68WM/fA1lPzC6aD/p8HA/lMF5P6chfj89gn8/JuB/PwH4fz/4/X8/1PFwP3P0cD8R/3A/0ChxPxXHcT8+z3M/ED54P+TWfD/xD38/BcF/PxPwfz8B/H8/BP9/P4U+eD/3P3g/iUV4P69beD+Sr3g/lMF5P7sPfD/1aH4/vod/P3rgfz8B+H8/Cf5/P3r/fz/+D3w/thB8P5gTfD8AH3w/MEp8P+TWfD/3A34/2zN/P9fDfz9F8H8/Afx/PwT/fz+9/38/GQR+P30Efj/uBX4/swt+P6chfj/1aH4/AAF/P8SZfz/r4X8/I/h/Pwn+fz96/38/3v9/PxEBfz9DAX8//AF/P+4Efz/xD38/2zN/P0WAfz/RzH8/7fB/PxH8fz8E/38/vf9/P+//fz9FgH8/Z4B/P7uAfz89gn8/vod/P8SZfz8JwH8/ceZ/P3f4fz8J/n8/ev9/P97/fz8AAIA/GsB/PxrAfz9NwH8/BcF/P9fDfz/RzH8/BeB/Pzjzfz9E/H8/BP9/P73/fz/v/38/AACAPwXgfz8F4H8/JuB/P3rgfz/r4X8/ceZ/PwLwfz+U+X8/Gf5/P3r/fz/e/38/AACAPwAAgD8C8H8/AvB/PxPwfz9F8H8/7fB/Pzjzfz8B+H8/yvx/PxX/fz+9/38/7/9/PwAAgD8AAIA/Afh/PwH4fz8B+H8/I/h/P3f4fz+U+X8/Afx/P23+fz+L/38/3v9/PwAAgD8AAIA/AACAPwH8fz8B/H8/Afx/PxH8fz9E/H8/yvx/P/j9fz83/38/vf9/P+//fz8AAIA/AACAPwAAgD/4/X8/Cf5/Pwn+fz8J/n8/Gf5/P23+fz8E/38/m/9/P97/fz8AAIA/AACAPwAAgD8AAIA/BP9/PwT/fz8E/38/BP9/PxX/fz83/38/ev9/P87/fz/v/38/AACAPwAAgD8AAIA/AACAP3r/fz96/38/ev9/P3r/fz+L/38/m/9/P73/fz/e/38/AACAPwAAgD8AAIA/AACAPwAAgD+9/38/vf9/P73/fz+9/38/vf9/P87/fz/e/38/7/9/PwAAgD8AAIA/AACAPwAAgD8AAIA/3v9/P97/fz/e/38/3v9/P97/fz/e/38/7/9/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP+//fz/v/38/7/9/P+//fz/v/38/7/9/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8bL/g81VvjPT85qj5DyCk/fvxhPz1gdj+7D3w/NIZ9P4LkfT8a/H0/AAJ+P4IDfj/VA34/LAB8PEq4cD18KUw+9wP+PoBFSj8Ac20/ED54P4cYez/M0Xs/QwB8P90LfD/QDnw/iA98Pzf0/TsFAvg81sTiPULoqD4BLyc/y2ddP+nwcD89YHY/78V3P/sfeD+HNng/KTx4P5s9eD8M8X47ndF7PAwPcD2RRUo+/z34PjUMQz87jmM/AHNtPwIPcD9KuHA/weJwP1/tcD8P8HA/OHD/Ov3E/TtLTvc8M3DgPQrXoz7fiR0/zcxMP8tnXT9+/GE/PSljP+90Yz/fh2M/qIxjPxuwfzqSwX47pRh7PABzbT0kDEM+Ko7jPrCqKj81DEM/gEVKP3wpTD/Xo0w/lMJMPz7KTD8N0P85kkD/OuoI/Tt1ifQ8IZTXPRtJkj4AAAA/34kdPwEvJz9DyCk/3nEqP3icKj8Wpyo/499/OUKAfzr8A347/z14PEWOYz3Bqio+n6qqPiqO4z7/Pfg+9wP+PjSA/z4F4P8+Afj/Pjbo/zgjoP85UYL+OjIj+juSDuo8jS66Pc3MTD4bSZI+CtejPkLoqD4/Oao+Lo6qPoyjqj746384G7B/OYnBfjqQGHs7NnNtPCQMQz0qjuM9waoqPiQMQz6RRUo+fClMPuijTD6Uwkw+Au7/N+S3/zhH4f45C5T7Orcu7zv1zcc86fBwPY0uuj0hlNc9M3DgPdbE4j3VW+M9lYHjPd7ufzcUvH84QPF+OcjRezrxDnA7nkVKPP89+DwkDEM9RY5jPQBzbT0MD3A9SrhwPcHicD147/82H77/N035/ji48Ps5r3/wOieHyzuwD3w89c3HPJIO6jx1ifQ8S073PAUC+DwbL/g8uu9/NjG/fzcP/X44SgB8OVO4cDpkKUw7/AP+O55FSjw2c208/z14PKUYezyd0Xs8LAB8PObv/zWJv/82/v7+NxMI/Dil1PA57XrMOvwAfzsnh8s7ty7vOzIj+jvqCP07/cT9Ozf0/Tv37381y79/NhEAfzfVC3w43+JwOd2jTDpTgP86ZClMO/EOcDuQGHs7/AN+O5LBfjsM8X47CfD/NMu//zV/AP823w38Nx/q8DhEuMw5FMB/Ou16zDqvf/A6C5T7OlGC/jqSQP86OHD/OubvfzQAwH81wQB/NrsOfDdz7XA4d8JMOQbg/zndo0w6U7hwOsjRezqJwX46QoB/Ohuwfzrm7/8zEsD/NMEA/zU/D/w2K+/wN6zHzDj/7385RLjMOaXU8Dm48Ps5R+H+OSOg/zkN0P85AvB/MxLAfzT2AH81lw98NgbwcDcyykw4x/f/OHfCTDnf4nA5SgB8OUDxfjkbsH85499/Oebv/zISwP8zBwH/NJcP/DWK8PA2mMvMN/f7fzisx8w4H+rwOBMI/DhN+f445Lf/ODbo/zjm738yEsB/MwcBfzS6D3w1tvBwNjzMTDfm/f83MspMOHPtcDjVC3w4D/1+OBS8fzj46384/O//Mfa//zLBAP8zug/8NOLw8DV+zMw2MP9/N5jLzDcr7/A33w38N/7+/jcfvv83Au7/N/zvfzH2v38y+QB/M90PfDTi8HA1qsxMNoj//zY8zEw3BvBwN7sOfDcRAH83Mb9/N97ufzf87/8wDMD/MRUB/zKXD/wz9PDwNNbMzDW0/382fszMNorw8DY/D/w2fwD/Nom//zZ47/82/O9/MCPAfzEVAX8ysw98M/TwcDTFzEw1tP//NarMTDa28HA2lw98NsEAfzbLv382uu9/Ng7w/y8jwP8w/wD/MbMP/DL08PAz1szMNOn/fzXWzMw14vDwNZcP/DXBAP81y7//Nebv/zUO8H8vEcB/MOgAfzGzD3wy9PBwM9bMTDT6//80xcxMNeLwcDW6D3w19gB/NQDAfzX37381DvD/LhHA/y8VAf8wyQ/8Mdjw8DLIzMwzDwCANNbMzDT08PA0ug/8NAcB/zQSwP80CfD/NA7wfy7tv38vAwF/MMkPfDHY8HAyyMxMM9f//zPWzEw09PBwNN0PfDQHAX80EsB/NObvfzTy7/8tNcD/LvEA/y/JD/ww7vDwMeTMzDLz/38zyMzMM/Tw8DOXD/wzwQD/MxLA/zPm7/8zuw98PxA+eD/p8HA/O45jP83MTD+wqio/AAAAP5+qqj7NzEw+Ko7jPenwcD3/Pfg8sA98PPwD/jv8AH87U4D/OhTAfzoG4P85/+9/Ocf3/zj3+3845v3/NzD/fzeI//82tP9/NrT//zXp/381+v//NA8AgDTX//8z8/9/M9UDfj+CA34/AAJ+Pxr8fT+C5H0/NIZ9P7sPfD89YHY/fvxhP0PIKT8/Oao+1VvjPRsv+DyID3w/0A58P90LfD9DAHw/zNF7P4cYez8QPng/AHNtP4BFSj/3A/4+fClMPkq4cD0sAHw8mz14Pyk8eD+HNng/+x94P+/Fdz89YHY/6fBwP8tnXT8BLyc/QuioPtbE4j0FAvg8N/T9Ow/wcD9f7XA/weJwP0q4cD8CD3A/AHNtPzuOYz81DEM//z34PpFFSj4MD3A9ndF7PAzxfjuojGM/34djP+90Yz89KWM/fvxhP8tnXT/NzEw/34kdPwrXoz4zcOA9S073PP3E/Ts4cP86PspMP5TCTD/Xo0w/fClMP4BFSj81DEM/sKoqPyqO4z4kDEM+AHNtPaUYezySwX47G7B/OhanKj94nCo/3nEqP0PIKT8BLyc/34kdPwAAAD8bSZI+IZTXPXWJ9DzqCP07kkD/Og3Q/zkB+P8+BeD/PjSA/z73A/4+/z34PiqO4z6fqqo+waoqPkWOYz3/PXg8/AN+O0KAfzrj3385jKOqPi6Oqj4/Oao+QuioPgrXoz4bSZI+zcxMPo0uuj2SDuo8MiP6O1GC/jojoP85Nuj/OJTCTD7oo0w+fClMPpFFSj4kDEM+waoqPiqO4z0kDEM9NnNtPJAYezuJwX46G7B/OfjrfziVgeM91VvjPdbE4j0zcOA9IZTXPY0uuj3p8HA99c3HPLcu7zsLlPs6R+H+OeS3/zgC7v83weJwPUq4cD0MD3A9AHNtPUWOYz0kDEM9/z34PJ5FSjzxDnA7yNF7OkDxfjkUvH843u5/Nxsv+DwFAvg8S073PHWJ9DySDuo89c3HPLAPfDwnh8s7r3/wOrjw+zlN+f44H77/N3jv/zYsAHw8ndF7PKUYezz/PXg8NnNtPJ5FSjz8A/47ZClMO1O4cDpKAHw5D/1+ODG/fze67382N/T9O/3E/TvqCP07MiP6O7cu7zsnh8s7/AB/O+16zDql1PA5Ewj8OP7+/jeJv/825u//NQzxfjuSwX47/AN+O5AYezvxDnA7ZClMO1OA/zrdo0w63+JwOdULfDgRAH83y79/NvfvfzU4cP86kkD/OlGC/joLlPs6r3/wOu16zDoUwH86RLjMOR/q8DjfDfw3fwD/Nsu//zUJ8P80G7B/OkKAfzqJwX46yNF7OlO4cDrdo0w6BuD/OXfCTDlz7XA4uw58N8EAfzYAwH815u9/NA3Q/zkjoP85R+H+Objw+zml1PA5RLjMOf/vfzmsx8w4K+/wNz8P/DbBAP81EsD/NObv/zPj3385G7B/OUDxfjlKAHw53+JwOXfCTDnH9/84MspMOAbwcDeXD3w29gB/NRLAfzQC8H8zNuj/OOS3/zhN+f44Ewj8OB/q8Disx8w49/t/OJjLzDeK8PA2lw/8NQcB/zQSwP8z5u//MvjrfzgUvH84D/1+ONULfDhz7XA4MspMOOb9/zc8zEw3tvBwNroPfDUHAX80EsB/M+bvfzIC7v83H77/N/7+/jffDfw3K+/wN5jLzDcw/383fszMNuLw8DW6D/w0wQD/M/a//zL87/8x3u5/NzG/fzcRAH83uw58NwbwcDc8zEw3iP//NqrMTDbi8HA13Q98NPkAfzP2v38y/O9/MXjv/zaJv/82fwD/Nj8P/DaK8PA2fszMNrT/fzbWzMw19PDwNJcP/DMVAf8yDMD/Mfzv/zC67382y79/NsEAfzaXD3w2tvBwNqrMTDa0//81xcxMNfTwcDSzD3wzFQF/MiPAfzH8738w5u//Ncu//zXBAP81lw/8NeLw8DXWzMw16f9/NdbMzDT08PAzsw/8Mv8A/zEjwP8wDvD/L/fvfzUAwH819gB/NboPfDXi8HA1xcxMNfr//zTWzEw09PBwM7MPfDLoAH8xEcB/MA7wfy8J8P80EsD/NAcB/zS6D/w09PDwNNbMzDQPAIA0yMzMM9jw8DLJD/wxFQH/MBHA/y8O8P8u5u9/NBLAfzQHAX803Q98NPTwcDTWzEw01///M8jMTDPY8HAyyQ98MQMBfzDtv38vDvB/Lubv/zMSwP8zwQD/M5cP/DP08PAzyMzMM/P/fzPkzMwy7vDwMckP/DDxAP8vNcD/LvLv/y0AAAAAktcQurJDE7o7sgG6NJr/ua1JALqpIwS64QIJuoBND7oX1xS6JucZuizEILpteiW6b3MrulCsMbpj+DW6wqI7usUvPrpRD0O6jVxEutBcSbqVgEq6UF9NutLxS7qCkUy6pIJMuuheS7pkCUi6/GRFumDfP7qtJT26flk1ui5WLrq5PSa6u98buj3fEbpa4wa6DoHxucqz1rn9j7e5oOKXudAGXLn+qRe543aBuHloYjc/guU40jlWOfCjmjlPG9M5G+MFOr+PIzr3gUM6SaphOt+TgTpCdZM6YdykOgg5tjrZaso65RfdOpB+8DrpBwI7kKYMO4zYFjvuYiE7QrcrO+GmNjuHIUE7yvtLO/WPVjtKkWE72ftrO+pwdjuUeYA7F8KFO9d9ijv9S487xiSUO1W4mDu/EJ07nAOhO7sgpTudc6g7nuerO0w3rzuNl7E7XNGzO2fItTs3TLc7Szm4Ow3+uDuwxrg7cF+4O7A6tzuNjLU7zWqzO2hrsDsvvaw7lF6oO49QozsmpZ07wtyWO6qHjztjLIc7Jgd8O3ABaDtAUVI7vW06O4KeIDts3gQ7m+TOOiXmjjqq4xg6QZDnNys+D7o5oJe6bXLsulW0Irv9R1G7DxyBuy+9mrs4VLW72wjRu5Dy7buqBAa8n6AVvHq5JbwgYTa8mKNHvA5yWTz+xWs80J1+PIkSiTzo/ZI8kS6dPG2NpzxAJrI8I/m8PEUEyDx8QNM8DrXePK9Z6jz6K/Y8/gcBPTkRBz0gKA09BlUTPfqFGT0YxB898QcmPUFMLD0koDI9/u04PQo4Pz29fkU9rbpLPWnxUT0YHlg9TDBePeQ3ZD1UImo9tv1vPYWxdT1wRXs9Z2GAPYkDgz2IlIU9/g+IPdp1ij3itIw969+OPSDskD2X15I9q56UPdQ+lj3vwZc9ChSZPRY+mj14PZs9Wg6cPZ+rnD3LGZ09cVKdPWFVnT2iH509sa6cPY0BnD2iGJs9PuyZPdyBmD3i0JY97NeUPeuZkj1lFZA9Qj6NPYokij3vsYY9U/WCPQ/KfT1QAnU9IpVrPet3YT04q1Y9IidLPXL/Pj3QFDI99G8kPbkVFj1h/wY9Nz7uPE0NzTwmZKo8pBqGPAO3QDyiL+Q7LYkBO+FIUrsdbgy81HxnvIriorwwitO8SOECvQjJHL3zaze9Id1SvfEVb73sBYa9xOCUvQUfpL3EuLO9eLHDvRYJ1L3lueS9psb1vZSVA75ocgy+53oVvgWuHr7ACCi+vooxvnI0O76iA0W+3PlOvpsPWb7dSmO+haNtvu8deL4VW4G+vrWGvpwdjL6UkpG+ohOXvjignL5EN6K+5NanvquArb4TMrO+1em4Poiovj7Pa8Q+HDPKPpz9zz6yy9U+WprbPidp4T4SOOc+RAXtPkjQ8j7Glvg+v1j+PhgLAj9H5QQ/xLwHP7aPCj9RXQ0/8SUQP/7nEj9vpBU/SFkYPy8HGz9YrB0/rkkgP9/dIj+UaCU/K+knPyBfKj+Yyiw/DCovP/Z9MT/txTM/OwA2P6EtOD99TTo/x148P/9hPj8ZVkA/sTpCP+QPRD/J1EU/pYhHP4EsST/Ivko/rT9MP86uTT+FC08/c1ZQP02OUT/hslI/L8VTPznDVD99rlU/UYVWP8VIVz+791c/RJJYP5kYWT83i1k/DuhZP6QwWj/mZFo/s4NaP5yOWj+zg1o/5mRaP6QwWj8O6Fk/N4tZP5kYWT9Eklg/u/dXP8VIVz9RhVY/fa5VPznDVD8vxVM/4bJSP02OUT9zVlA/hQtPP86uTT+tP0w/yL5KP4EsST+liEc/ydRFP+QPRD+xOkI/GVZAP/9hPj/HXjw/fU06P6EtOD87ADY/7cUzP/Z9MT8MKi8/mMosPyBfKj8r6Sc/lGglP9/dIj+uSSA/WKwdPy8HGz9IWRg/b6QVP/7nEj/xJRA/UV0NP7aPCj/EvAc/R+UEPxgLAj+/WP4+xpb4PkjQ8j5EBe0+EjjnPidp4T5amts+ssvVPpz9zz4cM8o+z2vEPoiovj7V6bi+EzKzvquArb7k1qe+RDeivjignL6iE5e+lJKRvpwdjL6+tYa+FVuBvu8deL6Fo22+3UpjvpsPWb7c+U6+ogNFvnI0O76+ijG+wAgovgWuHr7nehW+aHIMvpSVA76mxvW95bnkvRYJ1L14scO9xLizvQUfpL3E4JS97AWGvfEVb70h3VK982s3vQjJHL1I4QK9MIrTvIriorzUfGe8HW4MvOFIUrstiQE7oi/kOwO3QDykGoY8JmSqPE0NzTw3Pu48Yf8GPbkVFj30byQ90BQyPXL/Pj0iJ0s9OKtWPet3YT0ilWs9UAJ1PQ/KfT1T9YI977GGPYokij1CPo09ZRWQPeuZkj3s15Q94tCWPdyBmD0+7Jk9ohibPY0BnD2xrpw9oh+dPWFVnT1xUp09yxmdPZ+rnD1aDpw9eD2bPRY+mj0KFJk978GXPdQ+lj2rnpQ9l9eSPSDskD3r34494rSMPdp1ij3+D4g9iJSFPYkDgz1nYYA9cEV7PYWxdT22/W89VCJqPeQ3ZD1MMF49GB5YPWnxUT2tuks9vX5FPQo4Pz3+7Tg9JKAyPUFMLD3xByY9GMQfPfqFGT0GVRM9ICgNPTkRBz3+BwE9+iv2PK9Z6jwOtd48fEDTPEUEyDwj+bw8QCayPG2NpzyRLp086P2SPIkSiTzQnX48/sVrPA5yWbyYo0e8IGE2vHq5JbyfoBW8qgQGvJDy7bvbCNG7OFS1uy+9mrsPHIG7/UdRu1W0Irttcuy6OaCXuis+D7pBkOc3quMYOiXmjjqb5M46bN4EO4KeIDu9bTo7QFFSO3ABaDsmB3w7YyyHO6qHjzvC3JY7JqWdO49QozuUXqg7L72sO2hrsDvNarM7jYy1O7A6tztwX7g7sMa4Ow3+uDtLObg7N0y3O2fItTtc0bM7jZexO0w3rzue56s7nXOoO7sgpTucA6E7vxCdO1W4mDvGJJQ7/UuPO9d9ijsXwoU7lHmAO+pwdjvZ+2s7SpFhO/WPVjvK+0s7hyFBO+GmNjtCtys77mIhO4zYFjuQpgw76QcCO5B+8DrlF9062WrKOgg5tjph3KQ6QnWTOt+TgTpJqmE694FDOr+PIzob4wU6TxvTOfCjmjnSOVY5P4LlOHloYjfjdoG4/qkXudAGXLmg4pe5/Y+3ucqz1rkOgfG5WuMGuj3fEbq73xu6uT0mui5WLrp+WTW6rSU9umDfP7r8ZEW6ZAlIuuheS7qkgky6gpFMutLxS7pQX026lYBKutBcSbqNXES6UQ9DusUvPrrCoju6Y/g1ulCsMbpvcyu6bXoluizEILom5xm6F9cUuoBND7rhAgm6qSMEuq1JALo0mv+5O7IBurJDE7qS1xC6Eft/P6uEfz+wcH4/yb98PwJzej/Fi3c/3Qt0P3P1bz8MS2s/iA9mPyFGYD9q8lk/SBhTP/i7Sz8A4kM/O487P8nIMj8UlCk/yvYfP9n2FT9rmgs/5ecAP7vL6z5BNtU+SB2+PhCPpj4fmo4+gZpsPs9uOz6Fzwk+e7avPRzDFj2mj4G/sZuHvxtUjb9btZK/IbyXv1NlnL8QrqC/tZOkv9sTqL9YLKu/Q9utv/YesL8K9rG/Xl+zvxJatL+M5bS/dgG1v76ttL+Y6rO/fLiyvygYsb+cCq+/HJGsvy6tqb+cYKa/bq2iv+uVnr+cHJq/QESVv9cPkL+Ugoq/5Z+Ev9fWfL/00W+/Kjliv9wUVL/CbUW/5Ew2v5q7Jr98wxa/Ym4Gv8GM6754q8m+zk2nvvaIhL7M5EK+2H74vdA1Vb1AK448mJqxPXCeHz4YDWY+9PaVPtyKuD75rNo+N0j8Pu+jDj/Lyx4/uJEuP/jrPT8Z0Uw/6zdbP4kXaT9mZ3Y/AACAPw+xfz9txH4/rDp9P74Uez/4U3g/C/p0PwgJcT9eg2w/2GtnP5fFYT8alFs/MdtUPwKfTT8D5EU/+a49P/MENT9J6ys/mWciP8B/GD/ZOQ4/PJwDP+da8T6B6No+Fe/DPtN8rD4woJQ+yM94PrzFRz6FQBY+Nb3IPSn7SD0AAIC/YSCGvwrui79mZZG/F4OWv/ZDm78SpZ+/uaOjv3Q9p78McKq/hjmtvyyYr7+GirG/YQ+zv84ltL8izbS/AAAAACLNtL/OJbS/YQ+zv4aKsb8smK+/hjmtvwxwqr90Pae/uaOjvxKln7/1Q5u/F4OWv2dlkb8K7ou/YSCGvwAAgL9cIXO/xqxlv4uqV79OI0m/BSA6v/KpKr+eyhq/04sKvzDv875EMNK+uu+vvq5Cjb4IfVS+pPENvngdjr0AAAAAiB2OPajxDT4IfVQ+skKNPr7vrz5JMNI+L+/zPtSLCj+eyho/86kqPwYgOj9QI0k/i6pXP8asZT9cIXM/AACAP74Uez9eg2w/MdtUP/MENT/ZOQ4/FO/DPr/FRz4AAAAAxcVHvhfvw77bOQ6/9AQ1vzLbVL9fg2y/vxR7vwAAAADCxUe+Fu/Dvto5Dr/zBDW/MttUv1+DbL+/FHu/AACAv74Ue79eg2y/MdtUv/IENb/ZOQ6/E+/DvrzFR74R+38/kA5JvJfTfz8swxa9q4R/P3Qre71YDn8/gLavvbBwfj8uvOG9zKt9P4bPCb7Jv3w/tqsivs2sez/Pbju+AnN6PwEVVL6YEnk/f5psvsWLdz/AfYK+xt51PyKajr7dC3Q/hqCavlITcj8Sj6a+c/VvP+9jsr6Tsm0/Sh2+vgxLaz9Tucm+PL9oP0E21b6ID2Y/T5Lgvlo8Yz+7y+u+IUZgP8vg9r5TLV0/5OcAv2ryWT+CSwa/5ZVWP2uaC79JGFM/zdMQvx96Tz/Z9hW/+LtLP8YCG79l3kc/y/YfvwDiQz8l0iS/Z8c/PxWUKb87jzs/3jsuvyM6Nz/JyDK/AAAAPwAAgD8AAABA+QIVUAbef78NRxi/Rpx4P33fLL8VsRA+1G5zvwur8L4BL7++35pOP6jTlz7Olce+Tk5lPx2ILLxKaiu/VKRpv2L96704ZAw/E5FAP+7YzD5fQn2/eql/vxCoYb8/j3S/97loP+Ud6r6cMRG/MbM6v7Tmer8pmEE/CIhWPj3IkD2LUEi/3bU+P4Vkab8K43a/wYhyvyzGmz66H/2+D2gqP/OCJT+Nvmo/KFgzPg0vNb9JhgY/5VQzvxUk6L4Jtn6/h5VmvxVNez9BTka/kfULv0ec0rwXaoq8lGs8O0dxXL9I2dk+gSp9v8f5YL85fwQ/I1UrP9AQf797wRS/7et/v8LTez9Mew0/iTAYPz4OsT4t5HI/nmsgP7t4Pr/UgEW//XutvuV5ar9zDhc9dkpDv3jpab8WQkw/FYtuv3pzCz/4GvS9jzxbv6k92T5px22/I7SOPpbJ7717fX+/cLFaPtU7aL/9DEO/CWh/Pw4qez8uY3W/H/Bbv5QpdT/W3W6/Mhf9PkoWnD4elTS/bVdaP05x7z7GzGk/4ZZ/vzlDcb1dGTU/umaRPuVSsT5k3HM/84YMvzohSb+ZdEG/mzh1vy4iUb76+FI/km93P+/fJr9dKWO/Rrpvv1Krfz+0DWo/qp97v4Q2NL8ShRY/n7y4O2ggHj+sAWQ/GSAHP47UL7+k3U4/R744PyROMb+oGCG/dooLPuhImT5myOu+OfZqv/l4Pb9oNH4/JvvQPuPcUj9EiD2/XzF8v97tf78Zi3W/fAx+v/w/W77kKm+/2C4wv0mwib4gJGs/Eqi/PbLrdb/O07g+2DYEPzq3Nr+hfhw/fWLwPmlc8j4l8ou+p/RoP5SXdz/6muU+TPt9P7yIKj9WRXc/Cs0/P6oXZr88536/hSEHP8ZYeT+nmiy+BRI6PzgS9r5xTnQ/R0EwP4PIOr8cHkS/MIVav2srYz9zalC//4x5v1AaYb8NWz8/TDo3vzxXfL980lU/S0dWP14z9r5bDX2/Ga14PygKTT8FGgU/Fm9NP38IC7yJRkS/H/Qzv6y4DT9ffXW/9oTdvtyFeD9a/r49FI5sv1TmWj/D7zG/ZYB8P677hz5Erzs/jI6PPkXeFD4pyz2/Bjx+P8yWj7yjf1O/4h8NvyYufb+ox3o/5bFwv0vxfb+VkSs//0Utv7NYAT4hMLs9bk5SvmtyN796Vnq/wWVPP62HCT+B9c8+dYWHvuNCLb/d7HE/3lVeP268O76SuH6/i8nXvPrhVz9uItU9OL68vb4FMj9H438/Whr9va0dTL+Gc2q/66d2P0pmdz9Np0y/UKskP1zf7L2pXpI+0WfMvsf4cD8Zq30/Kq5rv5mXkj66DGm/RkFVv6hdLL9CPHQ/n7b7PtwXhL2aJAU9gul+vyMJ2T7Urie/bFFTP+kCUL9tKgS/Pxh/v7dLWD+kozw7h84lPzGnMz9jcFG+ua92P3Br0D6pVzC/5tNpPyGQsr4V+DY/EXhrP1NCKj+Sdn2/d9JbP+NLMD+MfQ4/Ga5+v5VWTb5sMHE/DTl/v9qULL/Yr/0+o2DyvkPqW7+YrBI+QgNxv4ralb7a5Ws9fTngPin/Sb9JFrq+HBQmP182s70eFHo/JAd3v20jCr8jJg4/WfZJPwFCPD/V6nY/2CeevjeATr+MbhI9USd5v5e5fD/S2vc+5h9Rv9iEaL86vS0/nRZQPzjhIb7PUFo/4qZOPzsbfb6urfQ+yTntvnGzdj9aDcU+7s59v4xwf76KsFQ/lKNyv35oFr/relM825N0P6sGW79KBHe/yeQjv0ooeb8Kgf09JfxpP9doFD9mz3+/Kvo1P/5mXr95yU++V1mGvtzBLr9HkHy+PV1gv/rwxTxMOos+fhhSPyLTWb9ormI/YHhlv6IXOr4k5oW+pJm/PU1nDD9+8wu/9rV1P3mzvT62Xhm/Cig0v/eKaT/xJ7G+75F+vwsQML+m0pq+CnCJvq/GVD8XQPs+4T3ovp2Oxz7yhHQ/HEJ6v1ZUWT3maTG+MH5tv/Ldfz8ENhU/LEMmv4W7Lz9GG/a9EkwSv87nFr/VarK+8RfWvqqrJj4PtX8/NhHkPeQFEb+3qme/S/5wP7ektD4w20G/bVgJP41ZUj4EwXG/I/N/P0RhTD974ZQ+VTe1PiDrIL/4esY+3WrePlNHfL/2pHu/qkJXPjzQRz4EQXG/lmt0vzLQez9HDW8/OXU1v+EzWr/u2aq9jT9dv3V46r6BEMc+xQV5P7Giaz+F1B+/j0FkP6msDD+Bl7y+6e52P+hccD+pUWa/DSB+P1zjGb1wzXC/H5/TPsFVfz8iWCy+FM63vhrD7r5qhFY9VkeDvh/suz6c58W+1KFqP9GbnL5epDA/atZoP8zuxb5auX4/ocOVvue3vz4CERq/6SdePz9keb+d9XY/LXZiP7U4Ez/E8lQ9JM1ZPoP1CL868Hg/UBT9vsdZez8jRn2/YRPOvp0We79/gzq/qfiLvtbffz/IPoE9EJ8Lvw+HUb6bghG+dYgpP1WsOT8p/1i/F1fCPCrxY7+af2M/MYN1P453RD+qKzw/RnwZvRGIor41l7y+vqWuvqfhzT6CwfQ+zdjJvlylez/zAKM864eevgobOb4l+38/LZCGvpx2br+Ernu/2c1/P4MqTb9mPoW+NI9CvxvZtr4Tn0U+3b1/v3MXPz8cll0//1EOP5cMqz7Uolw/rXd9P6ODPD3CvCq/j5tqvwviIz9OQCA+jOZ+P2q56j5yYiK/pNlXPhPWnb0XVGW/AGR8PxjmYT/mDU0/ha68vlefSD/v/ug+/FWyPS40Tz8JPV6/TnXJPpIRyr47CCu/k496P4aEOb95THO/J0hlPzciLj4W/Qs/QuREvxNXdr/CV38/BZzaPthRdD9xU3g/COx+P3ODCr+GqI8+doZav7dBWj8HSyW/0I4Bv9iQKL8H3Hi/t35svhtJdD8GDn6/zCF4v53dPD/DEJ4+fY7UPsYfe74ZzyE/uR+tvsTyxb65qm69pSWOvfF6ar7edXg/ooo9vmaJ8z6TzNa96rBgv5gHOL9iwkc/6nh/P3mBZj+wXBM/Qwxpv3QElD5FjHY/9wHYPmaF9j4P8G4/2ejevi+LeL8Qyl0/ZwW8PoolJz8gmU+/8cezPRVahr5ugG2/8gdXPzTzDj/ExH+/sNJ1v0YaPz84uvg9R2w/v9S3ib55M3U/2VxKv7todD/s5a+9/GL5Pl//fz9UOO0+mYvgPRTVQ79GYWQ/9O8SP+yutD5Q9UA/u5B3P4l8F7+04GS/nDlAP+ydl76lb3y/wi2APlWy0L5EhGa/xFYrP9N9fD/PgXm/WVT5usPFZj+7cH8/P2Jfv7kJfj+/UGq/OMEgvi9nB72vfb6+l+2TPT9XY78Et34/wo94P7PBP7999n8/m887PQOFfz8O+2O/TMaivnd7Vr/N83k/4kmrPrDAXL9cQH+/c7BuP//Aab4NR0E+ricsP0xZFb1dzVK9JA5tv3bdfz87rm8/F2UrP+wyfT/L+36/1KHkvkUwUj8F034/3+p9P/5gOD/pICe/F5kFP8RYcD9kuz+/aqR3P9yuaD8LmGO+zjwSP7n14b6PSG2/D2FbvydxYz/v9mo/6FjtvvC+OT8svn+/+0J/v4cFFT97wUY/wnZxPwENnj1DHRY/0XwPv9FBUz+z5ns/wxLKPrxw8z4/pi8/1CAoP0m3Oz7UEwY9KtQ/vxUQxr5ybAM/2jR5v5cqd7/+Zgi/Jwtqv0aIfz+AgBw/yqYAvzJnY79/gKM8FSxaP2DSfz86H3I/bz5UPw2Bgb3iKxa/kul3P3/0M75Znfa+f5dVPzJcBb57kXM9ewhSPm+nUD9iZXK/cUfmvlZh0T5AwGW/dJt/P8Ylyz7BoD+/8mubvbKvPT9HcEM/JL7VPtaxPr+Tf3I/1hcmP8qk0z67iR8/6VRuvx4l2D449Z29nI7dPMvmXb32zUw/GFlqPwQkS7+6Y7m+ZIMjP3R3pj1VZgc/obkZP/oMPj8l/Tc9pK99PxwuR74G202/aphiv4ZoJb8g1Dg/S8DuPUYtVr8OVnO/iSp4v1BOH79a4lM/bSD2POJUf7/n2Hq/hwO7Pnj3f78/bri+jh9kP/qber+wJ9U9NAlGP3OrdT9wbrW+nygCPyMJdj8WJS4+Dr9Ev9V3hD4Tun8/Ydg2vFomfD/OxUu/oax4Px8efr9i1H6/XpB/v3TGmTwnQDW/83GsPkplNL8/x24/F5t/P+i8fL/eNiK/irAovvF7Jr6qmnW/J3ffvm2zcr+ynH+/PGN2P+n+K751aH2/ETphvyyeN7+sN+I+XYlvv8Lfbj8wx3+/yX1wv3NoEL9YymK/hNbzPkztfz8fwla/q/ZAv594BTw8WnA/bRvnvXbsWT+bAwY/ckXLPhpbUT+1kL2+SOdev3ZyuL73b7E+SxNvv4xCWL85Kie/PtI8voTy9D0Jvn8/k2NxP0zmVD8uNUA/G+61vlE1ET/7i3a+aenvPmhRmr6ZHnk/59d+v4wYxL4LNHw/Vg3SPjFnrTw0Y8U9Arc0PTtTWr9tLWo/wH9jP4FSf7/jy/a+htJ3v+8rjT7fGhY/Gq0ov4WeFj+HBn0/TPx/P0Z4U74Zwgs/Kwsfv+xTGb/wE1A+JGlevwRYer8lgXY/sJXjPQUBXD5PztO+YHiQPlAfdz5GUAM/lvcpvxX0qL1pdwm/1/t5vzTleL/kHGI+iblfP2cIA75hE0M+SEmDPGJU7b5p1nO/NqyQvUnecb8oqGy/5CvWvfqVVr+i24q8soxAP/Xif78+kde+Hkl/PwqQOL/yPrO+wdZJP7FMBz8mVHk/6K6IvvP3fT8n8hG/15REP7rjQ78b7VG/vTw8v126UT9cOn8/Ps6IvoNkMD/vwN2+gWxaP2zwfT8FNGs/T5JOv5INp77Tkdw+mHNgvhhWLT+DbHS/oL8PP+X5NL8o1t099bewvRyMaT947Si/wL36vrgZED8Z7WO/2XA3v/wWJz+3vig/I6UsP60cUb8vlvS+0Owrvt1Ff79Gh2+/Z61ov93OHj+ljIe9TNZzvp+Kfj/8o0A+wxN6Py7Dkr4TuXI/9J15v/RPdL/jy0u/n2r7vmpsqD4gsn8/GdNjP14mAT+7JVy/WHnxPglJP77J7R6/cQBAP2CZ4L68/n8/h358P3gpCb9udx2/kChlvztZHb1W6jK/gB+avmcJnb2jbtY+wz+zPLuBXL85Tn0/zBksP7suCr52FjW/EvZDv0zBcD9K27g9uOhSv37Htj2qM6S+/l0AP0FwEz+jWn2/Pf25vk1gmD1E8n8/s7EQvv90bL+203q/hWPkvk7WCr/0cOI+tJg2P71mFj0V1SI/sJEFP6qdWr9Xb3K/TJ2VvBnTfL+7qFI/RNVfP9rcZD+EIm+/zNXTPnfsdT/3YG4/DLB5P+CLXD+wFX8/v68zP+1xcr8nc5e+2X5qPypCe78e4Kk/IbGXP/dXjz8AAAAAAibePruNJL9EHa++4JR5PxwmSD+7jSS/RB2vvgIm3r4cJki/u40kv0Qdr74cJki/AibevruNJL9EHa++AAAAAM3mVD7JP9A+GHkWP1F3LL9CxAa/q/S4vtUoPL79mH4/cXhzP9ezXT+9Pj4/UXcsv0LEBr+r9Li+1Sg8vgAAAAACJt4+HCZIP+CUeT9cHHy/17Ndv7uNJL9EHa++AibevhwmSL/glHm/4JR5v1wcfL/Xs12/u40kv0Qdr74AAAAAzeZUPsk/0D4YeRY/vT4+P9ezXT9xeHM//Zh+P2/ofr81Ona/bCllv9tKTL9Rdyy/QsQGv6v0uL7VKDy+2SESP21VMj8IIVA/OEtpP2gifD/AsIg/sOiYP9tMrz8AAAA/AACAPgAAAD4AAIA9AAAAPQAAgDwAAAA8AACAOwAAADsAAIA6AAAAOgAAgDkAAAA5AACAOAAAADgAAIA3AAAANwAAgDYAAAA2AACANQAAADUAAIA0AAAANAAAgDMAAAAzAACAMgAAADIAAIAxAAAAMQAAgDAAAAAwAACALwAAAC8AAIAuAAAALgAAgC0AAAAtAACALAAAACwAAIArAAAAKwAAgCoAAAAqAACAKQAAACkAAIAoAAAAKAAAgCcAAAAnAACAJgAAACYAAIAlAAAAJQAAgCQAAAAkAACAIwAAACMAAIAiAAAAIgAAgCEAAAAhAACAIAAAACAAAIAfAAAAHwAAgB4AAAAeAACAHQAAAB0AAIAcAAAAHAAAgBsAAAAbAACAGgAAABoAAIAZAAAAGQAAgBgAAAAYAACAFwAAABcAAIAWAAAAFgAAgBUAAAAVAACAFAAAABQAAIATAAAAEwAAgBIAAAASAACAEQAAABEAAIAQAAAAEAAAgA8AAAAPAACADgAAAA4AAIANAAAADQAAgAwAAAAMAACACwAAAAsAAIAKAAAACgAAgAkAAAAJAACACAAAAAgAAIAHAAAABwAAgAYAAAAGAACABQAAAAUAAIAEAAAABAAAgAMAAAADAACAAgAAAAIAAIABAAAAAQAAgAAAAAAAAAAAAAAAdD8AAHI/AABwPwAAbj8AAG0/AABrPwAAaT8AAGc/AABmPwAAZD8AAGI/AABhPwAAXz8AAF4/AABcPwAAWj8AAFk/AABXPwAAVj8AAFQ/AABTPwAAUj8AAFA/AABPPwAATT8AAEw/AABLPwAAST8AAEg/AABHPwAARj8AAEQ/AABDPwAAQj8AAEE/AABAPwAAPj8AAD0/AAA8PwAAOz8AADo/AAA5PwAAOD8AADc/AAA2PwAANT8AADM/AAAyPwAAMT8AADA/AAAvPwAALj8AAC4/AAAtPwAALD8AACs/AAAqPwAAKT8AACg/AAAnPwAAJj8AACU/AAAkPwAAJD8AACM/AAAiPwAAIT8AACA/AAAfPwAAHz8AAB4/AAAdPwAAHD8AABs/AAAbPwAAGj8AABk/AAAYPwAAGD8AABc/AAAWPwAAFT8AABU/AAAUPwAAEz8AABM/AAASPwAAET8AABE/AAAQPwAADz8AAA8/AAAOPwAADT8AAA0/AAAMPwAACz8AAAs/AAAKPwAACj8AAAk/AAAIPwAACD8AAAc/AAAHPwAABj8AAAU/AAAFPwAABD8AAAQ/AAADPwAAAz8AAAI/AAACPwAAAT8AAAE/AAAAPwAA/z4AAP4+AAD9PgAA/D4AAPs+AAD6PgAA+T4AAPg+AAD3PgAA9j4AAPU+AAAAMwAAgDMAAAA0AACANAAAADUAAIA1AAAANgAAgDYAAAA3AACANwAAADgAAIA4AAAAOQAAgDkAAAA6AACAOgAAADsAAIA7AAAAPAAAgDwAAAA9AACAPQAAAD4AAIA+AAAAPwAAgD8AAABAAACAQAAAAEEAAIBBAAAAQgAAgEIAAABDAACAQwAAAEQAAIBEAAAARQAAgEUAAABGAACARgAAAEcAAIBHAAAASAAAgEgAAABJAACASQAAAEoAAIBKAAAASwAAgEsAAABMAACATAAAAE0AAIBNAAAATgAAgE4AAABPAACATwAAAFAAAIBQAAAAUQAAgFEAAABSAACAUgAAgD/wN5g/8wS1P/1E1z8AAAAAAACAPxhFIUC6dIpA9S/LQE/MCEGOcS5BkD9WQQAAgEEbxJVB01qsQdO1w0H/yNtB74n0Qc33BkIE+RNCGEUhQt/YLkKBsTxCbMxKQkYnWULov2dCWJR2QmHRgkK6dIpCbTOSQr8MmkIAAKJCigyqQsMxskIXb7pC/sPCQvUvy0KAstNCKkvcQoL55EIgve1CnJX2QpiC/0LbQQRDT8wIQ31gDUM9/hFDaKUWQ9hVG0NpDyBD+dEkQ2WdKUOOcS5DVU4zQ5ozOENCIT1DMBdCQ0kVR0NyG0xDkilRQ5A/VkNUXVtDx4JgQ9GvZUNe5GpDVyBwQ6hjdUM8rnpDAACAQ3CsgkNlXIVD1g+IQ7rGikMIgY1Dtz6QQ8D/kkMbxJVDv4uYQ6VWm0PFJJ5DGPagQ5bKo0M5oqZD+nypQ9NarEO7O69DrR+yQ6QGtUOX8LdDgt26Q17NvUMlwMBD07XDQ2CuxkPIqclDBqjMQxOpz0PqrNJDiLPVQ+W82EP/yNtDztfeQ1Dp4UN//eRDVhToQ9It60PtSe5Do2jxQ++J9EPPrfdDPNT6QzT9/UNZlABEWSsCRJnDA0QVXQVEzfcGRL6TCETmMApERc8LRNduDUScDw9EkLEQRLRUEkQE+RNEgJ4VRCZFF0Tz7BhE55UaRABAHEQ86x1EmpcfRBhFIUS08yJEbqMkRERUJkQ0BihEPbkpRF1tK0SUIi1E39guRD2QMESuSDJELwI0RL+8NUReeDdECTU5RMDyOkSBsTxETHE+RB4yQET280FE1bZDRLd6RUScP0dEhAVJRGzMSkRUlExEOl1ORB4nUET/8VFE2r1TRLCKVUR/WFdERidZRAT3WkS4x1xEYZleRP5rYESPP2JEERRkRITpZUTov2dEOpdpRHtva0SqSG1ExCJvRMr9cES72XJElbZ0RFiUdkQCc3hElFJ6RAwzfERpFH5Eq/Z/ROjsgETs3oFEYdGCREbEg0Sct4REYauFRJafhkQ5lIdES4mIRMx+iUS6dIpEFWuLRN5hjEQTWY1EtFCORMJIj0Q6QZBEHjqRRG0zkkQnLZNESieURNchlUTOHJZELRiXRPYTmEQnEJlEvwyaRMAJm0QoB5xE9wSdRCwDnkTJAZ9EywCgRDMAoUQAAKJEMwCjRMoApETGAaVEJgOmROoEp0QRB6hEnAmpRIoMqkTbD6tEjhOsRKMXrUQaHK5E8iCvRCwmsETHK7FEwzGyRB84s0TbPrRE90W1RHJNtkRNVbdEh124RCBmuUQXb7pEbXi7RCGCvEQyjL1EoZa+RG2hv0SWrMBEHLjBRP7DwkQ90MNE2NzERM7pxUQg98ZEzQTIRNUSyUQ4IcpE9S/LRA0/zER/Ts1ESl7ORHBuz0TuftBExo/RRPeg0kSAstNEYsTURJzW1UQu6dZEGPzXRFoP2UTyItpE4zbbRCpL3ETHX91EvHTeRAaK30Snn+BEnbXhROnL4kSL4uNEgvnkRM4Q5kRvKOdEZUDoRK9Y6URNcepEP4rrRIaj7EQgve1EDdfuRE7x70ThC/FEyCbyRAJC80SOXfREbHn1RJyV9kQfsvdE8874RBns+USQCftEWSf8RHJF/UTdY/5EmIL/RNJQAEWA4ABFVnABRVQAAkV6kAJFyCADRT6xA0XbQQRFoNIERYxjBUWg9AVF24UGRT0XB0XHqAdFdzoIRU/MCEVNXglFcvAJRb6CCkUxFQtFyqcLRYo6DEVwzQxFfWANRbDzDUUJhw5FiBoPRS2uD0X4QRBF6tUQRQBqEUU9/hFFn5ISRScnE0XVuxNFqFAURaDlFEW9ehVFABAWRWilFkX1OhdFp9AXRX5mGEV6/BhFmpIZRd8oGkVJvxpF2FUbRYvsG0VjgxxFXhodRX+xHUXDSB5FLOAeRbh3H0VpDyBFPqcgRTc/IUVT1yFFk28iRfcHI0V/oCNFKjkkRfnRJEXraiVFAAQmRTmdJkWVNidFFdAnRbdpKEV9AylFZZ0pRXE3KkWf0SpF8GsrRWQGLEX7oCxFtDstRZDWLUWOcS5FrwwvRfKnL0VYQzBF4N4wRYp6MUVWFjJFRLIyRVVOM0WH6jNF24Y0RVIjNUXpvzVFo1w2RX/5NkV8ljdFmjM4RdvQOEU8bjlFvws6RWSpOkUqRztFEeU7RRmDPEVCIT1Fjb89RfhdPkWF/D5FMps/RQE6QEXw2EBFAHhBRTAXQkWCtkJF81VDRYb1Q0U5lURFDDVFRQDVRUUUdUZFSRVHRZ61R0UTVkhFqPZIRV2XSUUyOEpFKNlKRT16S0VyG0xFx7xMRTxeTUXR/01FhaFORVlDT0VM5U9FX4dQRZIpUUXky1FFVm5SRecQU0WXs1NFZlZURVX5VEVjnFVFkD9WRdziVkVHhldF0ilYRXvNWEVDcVlFKhVaRTC5WkVUXVtFlwFcRfmlXEV6Sl1FGe9dRdeTXkWzOF9Frt1fRceCYEX+J2FFVM1hRchyYkVaGGNFC75jRdpjZEXGCWVF0a9lRfpVZkVB/GZFpqJnRSlJaEXJ72hFiJZpRWQ9akVe5GpFdotrRasybEX+2WxFboFtRfwobkWo0G5FcXhvRVcgcEVbyHBFfHBxRboYckUWwXJFj2lzRSUSdEXYunRFqGN1RZUMdkWftXZFx153RQsIeEVssXhF6lp5RYUEekU8rnpFEFh7RQECfEUPrHxFOVZ9RYAAfkXkqn5FZFV/RQAAgEVcVYBFx6qARUAAgUXHVYFFXKuBRf8AgkWxVoJFcKyCRT4Cg0UZWINFA66DRfsDhEUAWoRFFLCERTYGhUVlXIVFo7KFRe4IhkVIX4ZFr7WGRSQMh0WnYodFOLmHRdYPiEWDZohFPb2IRQUUiUXaaolFvsGJRa8YikWtb4pFusaKRdQdi0X8dItFMcyLRXQjjEXFeoxFI9KMRY8pjUUIgY1Fj9iNRSMwjkXFh45FdN+ORTE3j0X7jo9F0uaPRbc+kEWqlpBFqu6QRbdGkUXRnpFF+faRRS5PkkVxp5JFwP+SRR1Yk0WIsJNF/wiURYRhlEUWupRFtRKVRWFrlUUbxJVF4hyWRbV1lkWWzpZFhCeXRX+Al0WH2ZdFnTKYRb+LmEXu5JhFKj6ZRXSXmUXK8JlFLUqaRZ2jmkUb/ZpFpVabRTywm0XfCZxFkGOcRU69nEUYF51F8HCdRdTKnUXFJJ5Fwn6eRc3YnkXkMp9FCI2fRTnnn0V2QaBFwZugRRj2oEV7UKFF66qhRWgFokXyX6JFiLqiRSsVo0Xab6NFlsqjRV8lpEU0gKRFFdukRQQ2pUX+kKVFBuylRRlHpkU5oqZFZv2mRZ9Yp0Xls6dFNw+oRZVqqEUAxqhFdyGpRfp8qUWK2KlFJzSqRc+PqkWE66pFRUerRROjq0Xt/qtF01qsRcW2rEXDEq1Fzm6tReXKrUUIJ65FOIOuRXPfrkW7O69FD5ivRW/0r0XbULBFU62wRdgJsUVoZrFFBcOxRa0fskVifLJFI9myRfA1s0XIkrNFre+zRZ5MtEWbqbRFpAa1RbhjtUXZwLVFBR62RT57tkWC2LZF0zW3RS+Tt0WX8LdFC064RYuruEUWCblFrma5RVHEuUUAIrpFu3+6RYLdukVUO7tFMpm7RRz3u0USVbxFE7O8RSERvUU5b71FXs29RY4rvkXKib5FEei+RWVGv0XDpL9FLgPARaRhwEUlwMBFsx7BRUt9wUXw28FFoDrCRVuZwkUi+MJF9VbDRdO1w0W8FMRFsXPERbLSxEW+McVF1ZDFRfjvxUUnT8ZFYK7GRaUNx0X2bMdFUszHRbkryEUsi8hFqurIRTRKyUXIqclFaAnKRRRpykXLyMpFjSjLRVqIy0Uz6MtFFkjMRQaozEUACM1FBmjNRRbIzUUzKM5FWojORYzozkXKSM9FE6nPRWcJ0EXGadBFMMrQRaYq0UUmi9FFsuvRRUlM0kXqrNJFlw3TRU9u00UTz9NF4S/URbqQ1EWe8dRFjVLVRYiz1UWNFNZFnXXWRbnW1kXfN9dFEJnXRUz610WTW9hF5bzYRUIe2UWqf9lFHeHZRZtC2kUjpNpFtwXbRVVn20X/yNtFsyrcRXKM3EU77txFEFDdRe+x3UXaE95Fz3XeRc7X3kXZOd9F7pvfRQ7+30U5YOBFb8LgRa8k4UX6huFFUOnhRbFL4kUcruJFkhDjRRJz40Wd1eNFMzjkRdSa5EV//eRFNWDlRfXC5UXAJeZFlojmRXbr5kVhTudFVrHnRVYU6EVhd+hFdtroRZY96UXAoOlF9APqRTRn6kV9yupF0i3rRTCR60Wa9OtFDVjsRYu77EUUH+1Fp4LtRUXm7UXtSe5Fn63uRVwR70Ujde9F9NjvRdA88EW3oPBFpwTxRaNo8UWozPFFuDDyRdKU8kX2+PJFJV3zRV7B80WiJfRF74n0RUfu9EWqUvVFFrf1RY0b9kUOgPZFmeT2RS9J90XPrfdFeRL4RS13+EXr2/hFtED5RYel+UVkCvpFS2/6RTzU+kU4OftFPZ77RU0D/EVnaPxFi838Rbky/UXyl/1FNP39RYFi/kXXx/5FOC3/RaOS/0UY+P9Fyy4ARpBhAEZZlABGKMcARvv5AEbULAFGsV8BRpSSAUZ7xQFGaPgBRlkrAkZQXgJGS5ECRkzEAkZR9wJGXCoDRmtdA0Z/kANGmcMDRrf2A0baKQRGAl0ERi+QBEZhwwRGmPYERtQpBUYVXQVGW5AFRqXDBUb19gVGSioGRqNdBkYBkQZGZcQGRs33BkY6KwdGrF4HRiKSB0aexQdGH/kHRqQsCEYvYAhGvpMIRlLHCEbr+ghGiS4JRitiCUbTlQlGf8kJRjD9CUbmMApGoWQKRmGYCkYmzApG7/8KRr0zC0aQZwtGaJsLRkXPC0YmAwxGDTcMRvhqDEbongxG3NIMRtYGDUbUOg1G124NRt+iDUbs1g1G/QoORhM/DkYucw5GTqcORnLbDkacDw9GykMPRvx3D0Y0rA9GcOAPRrEUEEb3SBBGQX0QRpCxEEbk5RBGPRoRRppOEUb8ghFGY7cRRs/rEUY/IBJGtFQSRi6JEkasvRJGL/ISRrcmE0ZDWxNG1I8TRmrEE0YE+RNGpC0URkdiFEbwlhRGncsURk8AFUYFNRVGwWkVRoCeFUZF0xVGDggWRtw8FkaucRZGhaYWRmHbFkZBEBdGJkUXRg96F0b9rhdG8OMXRugYGEbkTRhG5IIYRum3GEbz7BhGAiIZRhVXGUYsjBlGScEZRmn2GUaPKxpGuWAaRueVGkYayxpGUgAbRo41G0bPahtGFKAbRl7VG0atChxGAEAcRlh1HEa0qhxGFOAcRnoVHUbjSh1GUoAdRsW1HUY86x1GuCAeRjhWHka9ix5GR8EeRtX2HkZnLB9G/mEfRpqXH0Y6zR9G3gIgRoc4IEY1biBG56MgRp3ZIEZYDyFGGEUhRtx6IUaksCFGceYhRkIcIkYYUiJG84ciRtG9Ika08yJGnCkjRohfI0Z5lSNGbssjRmcBJEZlNyRGaG0kRm6jJEZ62SRGiQ8lRp1FJUa2eyVG07ElRvTnJUYaHiZGRFQmRnOKJkamwCZG3fYmRhktJ0ZZYydGnpknRufPJ0Y0BihGhjwoRtxyKEY2qShGld8oRvkVKUZgTClGzIIpRj25KUay7ylGKyYqRqhcKkYqkypGsMkqRjsAK0bKNitGXW0rRvWjK0aR2itGMREsRtZHLEZ/fixGLLUsRt7rLEaUIi1GTlktRgyQLUbPxi1Gl/0tRmI0LkYyay5GBqIuRt/YLka7Dy9GnUYvRoJ9L0ZstC9GWusvRkwiMEZCWTBGPZAwRjzHMEZA/jBGRzUxRlNsMUZjozFGeNoxRpERMkauSDJGz38yRvS2MkYe7jJGTCUzRn5cM0a1kzNG8MozRi8CNEZyOTRGuXA0RgWoNEZV3zRGqRY1RgJONUZehTVGv7w1RiT0NUaOKzZG+2I2Rm2aNkbj0TZGXQk3RttAN0ZeeDdG5a83RnDnN0b/HjhGklY4RiqOOEbFxThGZf04Rgk1OUaybDlGXqQ5Rg/cOUbDEzpGfEs6RjmDOkb7ujpGwPI6RooqO0ZYYjtGKZo7RgDSO0baCTxGuEE8Rpt5PEaBsTxGbOk8RlshPUZOWT1GRZE9RkHJPUZAAT5GRDk+RkxxPkZXqT5GZ+E+RnwZP0aUUT9GsIk/RtHBP0b1+T9GHjJARkpqQEZ7okBGsNpARukSQUYmS0FGaINBRq27QUb280FGRCxCRpZkQkbrnEJGRdVCRqMNQ0YFRkNGa35DRtW2Q0ZD70NGtSdERitgREalmERGJNFERqYJRUYtQkVGt3pFRkazRUbY60VGbyRGRgldRkaolUZGS85GRvIGR0acP0dGS3hHRv6wR0a16UdGcCJIRi9bSEbyk0hGucxIRoQFSUZTPklGJndJRv2vSUbY6ElGtyFKRppaSkaBk0pGbMxKRlsFS0ZOPktGRXdLRkCwS0Y/6UtGQiJMRklbTEZUlExGY81MRnYGTUaNP01GqHhNRsaxTUbp6k1GECRORjpdTkZplk5GnM9ORtIIT0YNQk9GS3tPRo60T0bU7U9GHidQRm1gUEa/mVBGFdNQRm8MUUbNRVFGL39RRpW4UUb/8VFGbCtSRt5kUkZUnlJGzddSRkoRU0bMSlNGUYRTRtq9U0Zn91NG+DBURo1qVEYmpFRGw91URmMXVUYIUVVGsIpVRlzEVUYM/lVGwDdWRnhxVkY0q1ZG9ORWRrceV0Z/WFdGSpJXRhnMV0bsBVhGwz9YRp55WEZ9s1hGX+1YRkYnWUYwYVlGHptZRhDVWUYGD1pGAElaRv2CWkb/vFpGBPdaRg0xW0Yaa1tGK6VbRj/fW0ZYGVxGdFNcRpSNXEa4x1xG4AFdRgs8XUY7dl1GbrBdRqXqXUbgJF5GH19eRmGZXkao015G8g1fRkBIX0aRgl9G57xfRkD3X0adMWBG/mtgRmOmYEbM4GBGOBthRqhVYUYckGFGlMphRg8FYkaPP2JGEnpiRpm0YkYj72JGsiljRkRkY0banmNGc9ljRhEUZEayTmRGV4lkRgDEZEat/mRGXTllRhF0ZUbJrmVGhOllRkQkZkYHX2ZGzplmRpjUZkZmD2dGOEpnRg6FZ0bov2dGxfpnRqY1aEaLcGhGc6toRmDmaEZPIWlGQ1xpRjqXaUY20mlGNA1qRjdIakY9g2pGR75qRlX5akZmNGtGe29rRpSqa0ax5WtG0SBsRvVbbEYcl2xGSNJsRncNbUaqSG1G4INtRhq/bUZY+m1GmTVuRt5wbkYnrG5GdOduRsQib0YYXm9GcJlvRsvUb0YqEHBGjEtwRvOGcEZcwnBGyv1wRjs5cUawdHFGKbBxRqXrcUYlJ3JGqGJyRjCecka72XJGSRVzRttQc0ZxjHNGCshzRqgDdEZIP3RG7Xp0RpW2dEZA8nRG8C11RqNpdUZZpXVGE+F1RtEcdkaTWHZGWJR2RiDQdkbtC3dGvEd3RpCDd0Znv3dGQvt3RiA3eEYCc3hG6K54RtHqeEa+JnlGrmJ5RqKeeUaa2nlGlRZ6RpRSekaWjnpGnMp6RqYGe0azQntGxH57Rti6e0bw9ntGDDN8RitvfEZOq3xGdOd8Rp4jfUbLX31G/Jt9RjHYfUZpFH5GpVB+RuSMfkYnyX5GbQV/RrdBf0YFfn9GVrp/Rqv2f0aBGYBGrzeARt9VgEYQdIBGRJKARnmwgEavzoBG6OyARiILgUZeKYFGnEeBRtxlgUYdhIFGYKKBRqXAgUbs3oFGNP2BRn4bgkbKOYJGGFiCRmh2gka5lIJGDLOCRmHRgka374JGDw6DRmosg0bFSoNGI2mDRoKHg0bjpYNGRsSDRqvig0YRAYRGeR+ERuM9hEZOXIRGvHqERiuZhEact4RGDtaERoP0hEb5EoVGcDGFRupPhUZlboVG4oyFRmGrhUbhyYVGZOiFRugGhkZtJYZG9UOGRn5ihkYJgYZGlp+GRiS+hka03IZGRvuGRtoZh0ZvOIdGBleHRp91h0Y5lIdG1bKHRnPRh0YT8IdGtA6IRlgtiEb8S4hGo2qIRkuJiEb1p4hGocaIRk/liEb+A4lGryKJRmFBiUYWYIlGzH6JRoOdiUY9vIlG+NqJRrX5iUZ0GIpGNDeKRvZVika6dIpGf5OKRkayikYP0YpG2u+KRqYOi0Z0LYtGREyLRhVri0boiYtGvaiLRpTHi0Zs5otGRgWMRiEkjEb/QoxG3mGMRr6AjEahn4xGhb6MRmvdjEZS/IxGOxuNRiY6jUYTWY1GAXiNRvGWjUbjtY1G1tSNRsvzjUbCEo5GujGORrRQjkawb45GrY6ORq2tjkatzI5GsOuORrQKj0a6KY9GwkiPRstnj0bWho9G4qWPRvHEj0YB5I9GEgOQRiUikEY6QZBGUWCQRml/kEaDnpBGn72QRrzckEbb+5BG/BqRRh46kUZCWZFGaHiRRpCXkUa5tpFG49WRRhD1kUY+FJJGbTOSRp9SkkbScZJGBpGSRj2wkkZ1z5JGru6SRuoNk0YnLZNGZUyTRqZrk0boipNGK6qTRnDJk0a36JNGAAiURkonlEaWRpRG42WURjOFlEaDpJRG1sOURirjlEaAApVG1yGVRjBBlUaLYJVG53+VRkWflUalvpVGBt6VRmn9lUbOHJZGNDyWRpxblkYFe5ZGcZqWRt25lkZM2ZZGvPiWRi0Yl0ahN5dGFleXRox2l0YFlpdGfrWXRvrUl0Z39JdG9hOYRnYzmEb4UphGfHKYRgGSmEaIsZhGEdGYRpvwmEYnEJlGtC+ZRkNPmUbUbplGZo6ZRvqtmUaPzZlGJ+2ZRr8MmkZaLJpG9kuaRpNrmkYzi5pG1KqaRnbKmkYa6ppGwAmbRmcpm0YQSZtGu2ibRmeIm0YVqJtGxMebRnXnm0YoB5xG3CacRpJGnEZJZpxGAoacRr2lnEZ5xZxGN+WcRvcEnUa4JJ1Ge0SdRj9knUYFhJ1GzKOdRpXDnUZg451GLAOeRvoinkbKQp5Gm2KeRm6CnkZCop5GGMKeRu/hnkbJAZ9GoyGfRoBBn0ZdYZ9GPYGfRh6hn0YBwZ9G5eCfRssAoEayIKBGm0CgRoZgoEZygKBGYKCgRk/AoEZA4KBGMwChRicgoUYcQKFGFGChRg2AoUYHoKFGA8ChRgHgoUYAAKJGASCiRgNAokYHYKJGDYCiRhSgokYcwKJGJ+CiRjMAo0ZAIKNGT0CjRl9go0ZygKNGhaCjRpvAo0ax4KNGygCkRuQgpEb/QKRGHWGkRjuBpEZcoaRGfcGkRqHhpEbGAaVG7CGlRhRCpUY+YqVGaYKlRpaipUbEwqVG9OKlRiYDpkZZI6ZGjUOmRsRjpkb7g6ZGNaSmRm/Epkas5KZG6gSnRiklp0ZqRadGrWWnRvGFp0Y3pqdGfsanRsfmp0YRB6hGXSeoRqtHqEb6Z6hGSoioRp2oqEbwyKhGRemoRpwJqUb1KalGTkqpRqpqqUYHi6lGZaupRsXLqUYn7KlGigyqRu8sqkZVTapGvW2qRiaOqkaRrqpG/c6qRmvvqkbbD6tGTDCrRr5Qq0YycatGqJGrRh+yq0aY0qtGEvOrRo4TrEYLNKxGilSsRgp1rEaMlaxGD7asRpTWrEYb96xGoxetRiw4rUa3WK1GRHmtRtKZrUZiuq1G89qtRob7rUYaHK5GsDyuRkddrkbgfa5Gep6uRha/rkaz365GUgCvRvIgr0aUQa9GOGKvRt2Cr0aDo69GK8SvRtXkr0aABbBGLCawRtpGsEaKZ7BGO4iwRu6osEaiybBGV+qwRg4LsUbHK7FGgUyxRj1tsUb6jbFGua6xRnnPsUY78LFG/hCyRsMxskaJUrJGUXOyRhqUskbltLJGsdWyRn/2skZOF7NGHzizRvFYs0bFebNGmpqzRnG7s0ZJ3LNGI/2zRv4dtEbbPrRGuV+0RpmAtEZ6obRGXcK0RkHjtEYnBLVGDiW1RvdFtUbhZrVGzYe1RrqotUapybVGmeq1RooLtkZ+LLZGck22RmhutkZgj7ZGWbC2RlTRtkZQ8rZGThO3Rk00t0ZNVbdGT3a3RlOXt0ZYuLdGXtm3Rmb6t0ZwG7hGezy4RodduEaVfrhGpZ+4RrXAuEbI4bhG3AK5RvEjuUYIRblGIGa5RjqHuUZVqLlGcsm5RpDquUawC7pG0Sy6RvNNukYXb7pGPZC6RmSxukaM0rpGtvO6RuIUu0YPNrtGPVe7Rm14u0aembtG0bq7RgXcu0Y7/btGch68Rqs/vEblYLxGIYK8Rl6jvEacxLxG3OW8Rh4HvUZhKL1GpUm9RutqvUYyjL1Ge629RsXOvUYR8L1GXhG+Rqwyvkb8U75GTnW+RqGWvkb1t75GS9m+RqP6vkb7G79GVj2/RrFev0YOgL9GbaG/Rs3Cv0Yv5L9GkgXARvYmwEZcSMBGw2nARiyLwEaWrMBGAs7ARm/vwEbeEMFGTjLBRr9TwUYydcFGppbBRhy4wUaT2cFGDPvBRoYcwkYCPsJGf1/CRv2AwkZ9osJG/sPCRoHlwkYFB8NGiyjDRhJKw0aba8NGJY3DRrCuw0Y90MNGy/HDRlsTxEbsNMRGf1bERhN4xEaomcRGP7vERtjcxEZx/sRGDSDFRqlBxUZHY8VG54TFRoimxUYqyMVGzunFRnMLxkYaLcZGwk7GRmtwxkYWksZGw7PGRnDVxkYg98ZG0BjHRoI6x0Y2XMdG633HRqGfx0ZZwcdGEuPHRs0EyEaJJshGRkjIRgVqyEbFi8hGh63IRkrPyEYP8chG1RLJRpw0yUZlVslGL3jJRvuZyUbIu8lGl93JRmb/yUY4IcpGCkPKRt9kyka0hspGi6jKRmTKykY97MpGGQ7LRvUvy0bTUctGs3PLRpOVy0Z2t8tGWdnLRj/7y0YlHcxGDT/MRvZgzEbhgsxGzaTMRrvGzEap6MxGmgrNRowszUZ/Ts1Gc3DNRmmSzUZhtM1GWdbNRlP4zUZPGs5GTDzORkpezkZKgM5GS6LORk7EzkZS5s5GVwjPRl4qz0ZmTM9GcG7PRnuQz0aHss9GldTPRqT2z0a0GNBGxjrQRtlc0EbuftBGBKHQRhzD0EY15dBGTwfRRmsp0UaIS9FGpm3RRsaP0UbnsdFGCtTRRi720UZTGNJGejrSRqJc0kbMftJG96DSRiPD0kZR5dJGgAfTRrAp00biS9NGFW7TRkqQ00aAstNGt9TTRvD200YqGdRGZjvURqNd1Ebhf9RGIaLURmLE1Eak5tRG6AjVRi0r1UZ0TdVGvG/VRgWS1UZQtNVGnNbVRun41UY4G9ZGiD3WRtpf1kYtgtZGgaTWRtfG1kYu6dZGhwvXRuAt10Y8UNdGmHLXRvaU10ZVt9dGttnXRhj810Z7HthG4EDYRkZj2EauhdhGF6jYRoHK2Ebt7NhGWg/ZRsgx2UY4VNlGqXbZRhuZ2UaPu9lGBN7ZRnsA2kbyItpGbEXaRuZn2kZiitpG4KzaRl7P2kbe8dpGYBTbRuM220ZnWdtG7HvbRnOe20b7wNtGhePbRhAG3EacKNxGKkvcRrlt3EZJkNxG27LcRm7V3EYC+NxGmBrdRi893UbHX91GYYLdRvyk3UaZx91GN+rdRtYM3kZ2L95GGFLeRrx03kZgl95GBrreRq3c3kZW/95GACLfRqtE30ZYZ99GBorfRrWs30Zmz99GGPLfRswU4EaAN+BGNlrgRu584Eann+BGYcLgRhzl4EbZB+FGlyrhRldN4UYYcOFG2pLhRp214UZi2OFGKPvhRvAd4ka5QOJGg2PiRk6G4kYbqeJG6cviRrnu4kaKEeNGXDTjRjBX40YFeuNG25zjRrK/40aL4uNGZQXkRkEo5EYeS+RG/G3kRtyQ5Ea8s+RGn9bkRoL55EZnHOVGTT/lRjVi5UYeheVGCKjlRvPK5Ubg7eVGzhDmRr4z5kauVuZGoXnmRpSc5kaJv+ZGf+LmRnYF50ZvKOdGaUvnRmVu50ZhkedGX7TnRl/X50Zf+udGYR3oRmVA6EZpY+hGb4boRnap6EZ/zOhGie/oRpQS6UahNelGr1jpRr576UbOnulG4MHpRvPk6UYICOpGHSvqRjVO6kZNcepGZ5TqRoK36kae2upGvP3qRtsg60b7Q+tGHGfrRj+K60ZkretGidDrRrDz60bYFuxGATrsRixd7EZYgOxGhqPsRrTG7Ebk6exGFg3tRkgw7UZ8U+1GsXbtRuiZ7UYgve1GWeDtRpMD7kbPJu5GDEruRkpt7kaKkO5Gy7PuRg3X7kZQ+u5GlR3vRttA70YjZO9GbIfvRraq70YBzu9GTvHvRpwU8EbrN/BGO1vwRo1+8EbgofBGNcXwRoro8EbhC/FGOi/xRpNS8UbudfFGSpnxRqi88UYH4PFGZwPyRsgm8kYrSvJGj23yRvSQ8kZbtPJGwtfyRiv78kaWHvNGAkLzRm9l80bdiPNGTKzzRr3P80Yv8/NGoxb0Rhg69EaOXfRGBYH0Rn2k9Eb3x/RGcuv0Ru8O9UZtMvVG7FX1Rmx59UbtnPVGcMD1RvTj9UZ6B/ZGASv2RolO9kYScvZGnJX2Rii59ka13PZGRAD3RtMj90ZkR/dG92r3RoqO90YfsvdGtdX3Rkz590blHPhGf0D4Rhpk+Ea2h/hGVKv4RvPO+EaT8vhGNRb5Rtg5+UZ8XflGIYH5Rsik+UZwyPlGGez5RsMP+kZvM/pGHFf6Rsp6+kZ6nvpGK8L6Rt3l+kaQCftGRS37RvtQ+0aydPtGapj7RiS8+0bf3/tGmwP8Rlkn/EYXS/xG2G78RpmS/EZbtvxGH9r8RuT9/EarIf1GckX9Rjtp/UYFjf1G0bD9Rp3U/UZr+P1GOxz+RgtA/kbdY/5GsIf+RoSr/kZaz/5GMPP+RggX/0biOv9GvF7/RpiC/0Z1pv9GU8r/RjPu/0YKCQBH+xoAR+0sAEffPgBH0lAAR8ViAEe6dABHroYAR6SYAEeaqgBHkbwAR4jOAEeA4ABHePIAR3IEAUdrFgFHZigBR2E6AUddTAFHWV4BR1ZwAUdUggFHUpQBR1GmAUdQuAFHUMoBR1HcAUdS7gFHVAACR1cSAkdaJAJHXjYCR2JIAkdnWgJHbWwCR3N+Akd6kAJHgqICR4q0AkeTxgJHnNgCR6bqAkex/AJHvA4DR8ggA0fVMgNH4kQDR+9WA0f+aANHDXsDRxyNA0ctnwNHPrEDR0/DA0dh1QNHdOcDR4f5A0ebCwRHsB0ER8UvBEfbQQRH8VMERwhmBEcgeARHOIoER1GcBEdrrgRHhcAER6DSBEe75ARH1/YER/QIBUcRGwVHLy0FR00/BUdsUQVHjGMFR6x1BUfNhwVH75kFRxGsBUc0vgVHV9AFR3viBUeg9AVHxQYGR+sYBkcRKwZHOD0GR2BPBkeIYQZHsXMGR9uFBkcFmAZHMKoGR1u8BkeHzgZHtOAGR+HyBkcPBQdHPRcHR2wpB0ecOwdHzE0HR/1fB0cvcgdHYYQHR5OWB0fHqAdH+7oHRy/NB0dk3wdHmvEHR9ADCEcHFghHPygIR3c6CEewTAhH6V4IRyNxCEdegwhHmZUIR9WnCEcSughHT8wIR4zeCEfL8AhHCgMJR0kVCUeJJwlHyjkJRwtMCUdNXglHkHAJR9OCCUcXlQlHW6cJR6C5CUflywlHLN4JR3LwCUe6AgpHAhUKR0onCkeUOQpH3UsKRyheCkdzcApHvoIKRwuVCkdXpwpHpbkKR/PLCkdC3gpHkfAKR+ECC0cxFQtHgicLR9Q5C0cmTAtHeV4LR8xwC0cggwtHdZULR8qnC0cgugtHd8wLR87eC0cl8QtHfgMMR9cVDEcwKAxHijoMR+VMDEdAXwxHnHEMR/iDDEdWlgxHs6gMRxK7DEdwzQxH0N8MRzDyDEeRBA1H8hYNR1QpDUe2Ow1HGU4NR31gDUfhcg1HRoUNR6yXDUcSqg1HeLwNR+DODUdH4Q1HsPMNRxkGDkeDGA5H7SoOR1g9DkfDTw5HL2IOR5x0DkcJhw5Hd5kOR+WrDkdUvg5HxNAORzTjDkel9Q5HFggPR4gaD0f7LA9Hbj8PR+JRD0dWZA9Hy3YPR0CJD0e3mw9HLa4PR6XAD0cd0w9HleUPRw74D0eIChBHAh0QR30vEEf4QRBHdVQQR/FmEEdueRBH7IsQR2ueEEfqsBBHacMQR+rVEEdq6BBH7PoQR24NEUfwHxFHczIRR/dEEUd7VxFHAGoRR4Z8EUcMjxFHk6ERRxq0EUeixhFHKtkRR7PrEUc9/hFHxxASR1IjEkfeNRJHaUgSR/ZaEkeDbRJHEYASR5+SEkcupRJHvrcSR07KEkff3BJHcO8SRwICE0eUFBNHJycTR7s5E0dPTBNH5F4TR3lxE0cPhBNHppYTRz2pE0fVuxNHbc4TRwbhE0ef8xNHOQYUR9QYFEdvKxRHCz4UR6hQFEdEYxRH4nUUR4CIFEcfmxRHvq0UR17AFEf/0hRHoOUUR0H4FEfkChVHhh0VRyowFUfOQhVHclUVRxhoFUe9ehVHZI0VRwqgFUeyshVHWsUVRwPYFUes6hVHVv0VRwAQFkerIhZHVjUWRwNIFkevWhZHXW0WRwqAFke5khZHaKUWRxe4FkfIyhZHeN0WRyrwFkfcAhdHjhUXR0EoF0f1OhdHqU0XR15gF0cTcxdHyYUXR4CYF0c3qxdH770XR6fQF0dg4xdHGfYXR9MIGEeOGxhHSS4YRwVBGEfBUxhHfmYYRzt5GEf5ixhHuJ4YR3exGEc3xBhH99YYR7jpGEd6/BhHPA8ZR/4hGUfBNBlHhUcZR0paGUcPbRlH1H8ZR5qSGUdhpRlHKLgZR/DKGUe43RlHgfAZR0sDGkcVFhpH3ygaR6s7Gkd3ThpHQ2EaRxB0GkfdhhpHrJkaR3qsGkdJvxpHGdIaR+rkGke79xpHjAobR14dG0cxMBtHBEMbR9hVG0esaBtHgXsbR1eOG0ctoRtHBLQbR9vGG0ez2RtHi+wbR2T/G0c+EhxHGCUcR/I3HEfNShxHqV0cR4ZwHEdjgxxHQJYcRx6pHEf9uxxH3M4cR7zhHEec9BxHfQcdR14aHUdALR1HI0AdRwZTHUfqZR1HzngdR7OLHUeZnh1Hf7EdR2XEHUdM1x1HNOodRxz9HUcFEB5H7yIeR9k1HkfDSB5HrlseR5puHkeGgR5Hc5QeR2CnHkdOuh5HPc0eRyzgHkcb8x5HCwYfR/wYH0fuKx9H3z4fR9JRH0fFZB9HuHcfR62KH0ehnR9HlrAfR4zDH0eD1h9HeukfR3H8H0dpDyBHYiIgR1s1IEdVSCBHT1sgR0puIEdFgSBHQZQgRz6nIEc7uiBHOc0gRzfgIEc28yBHNQYhRzUZIUc2LCFHNz8hRzhSIUc6ZSFHPXghR0CLIUdEniFHSbEhR07EIUdT1yFHWeohR2D9IUdnECJHbyMiR3c2IkeASSJHiVwiR5NvIkeegiJHqZUiR7WoIkfBuyJHzs4iR9vhIkfp9CJH9wcjRwYbI0cWLiNHJkEjRzdUI0dIZyNHWnojR2yNI0d/oCNHkrMjR6bGI0e72SNH0OwjR+b/I0f8EiRHEyYkRyo5JEdCTCRHWl8kR3NyJEeNhSRHp5gkR8KrJEfdviRH+dEkRxXlJEcy+CRHTwslR20eJUeMMSVHq0QlR8tXJUfraiVHDH4lRy2RJUdPpCVHcbclR5TKJUe43SVH3PAlRwAEJkcmFyZHSyomR3I9JkeYUCZHwGMmR+h2JkcQiiZHOZ0mR2OwJkeNwyZHuNYmR+PpJkcP/SZHOxAnR2gjJ0eVNidHw0knR/JcJ0chcCdHUYMnR4GWJ0eyqSdH47wnRxXQJ0dH4ydHevYnR64JKEfiHChHFjAoR0tDKEeBVihHt2koR+58KEclkChHXaMoR5a2KEfPyShHCN0oR0LwKEd9AylHuBYpR/QpKUcwPSlHbVApR6pjKUfodilHJoopR2WdKUelsClH5cMpRyXXKUdn6ilHqP0pR+sQKkctJCpHcTcqR7VKKkf5XSpHPnEqR4SEKkfKlypHEKsqR1e+Kkef0SpH5+QqRzD4Kkd5CytHwx4rRw4yK0dZRStHpFgrR/BrK0c9fytHipIrR9ilK0cmuStHdcwrR8TfK0cU8ytHZAYsR7UZLEcHLSxHWUAsR6tTLEf+ZixHUnosR6aNLEf7oCxHULQsR6bHLEf82ixHU+4sR6sBLUcCFS1HWygtR7Q7LUcOTy1HaGItR8J1LUceiS1HeZwtR9avLUczwy1HkNYtR+7pLUdM/S1HqxAuRwskLkdrNy5Hy0ouRy1eLkeOcS5H8IQuR1OYLke3qy5HGr8uR3/SLkfk5S5HSfkuR68ML0cWIC9HfTMvR+RGL0dMWi9HtW0vRx6BL0eIlC9H8qcvR127L0fIzi9HNOIvR6H1L0cOCTBHexwwR+kvMEdYQzBHx1YwRzdqMEenfTBHGJEwR4mkMEf7tzBHbcswR+DeMEdT8jBHxwUxRzsZMUewLDFHJkAxR5xTMUcTZzFHinoxRwGOMUd6oTFH8rQxR2zIMUfl2zFHYO8xR9sCMkdWFjJH0ikyR049MkfLUDJHSWQyR8d3MkdGizJHxZ4yR0SyMkfFxTJHRdkyR8bsMkdIADNHyxMzR00nM0fROjNHVU4zR9lhM0dedTNH5IgzR2qcM0fwrzNHd8MzR//WM0eH6jNHEP4zR5kRNEcjJTRHrTg0RzhMNEfDXzRHT3M0R9uGNEdomjRH9q00R4TBNEcS1TRHoeg0RzH8NEfBDzVHUiM1R+M2NUd0SjVHB141R5lxNUcthTVHwJg1R1WsNUfpvzVHf9M1RxXnNUer+jVHQg42R9ohNkdyNTZHCkk2R6NcNkc9cDZH14M2R3KXNkcNqzZHqL42R0XSNkfh5TZHf/k2RxwNN0e7IDdHWjQ3R/lHN0eZWzdHOW83R9qCN0d8ljdHHqo3R8C9N0dj0TdHB+U3R6v4N0dQDDhH9R84R5ozOEdBRzhH51o4R49uOEc2gjhH35U4R4epOEcxvThH29A4R4XkOEcw+DhH2ws5R4cfOUc0MzlH4UY5R45aOUc8bjlH64E5R5qVOUdKqTlH+rw5R6rQOUdb5DlHDfg5R78LOkdyHzpHJTM6R9lGOkeNWjpHQm46R/iBOketlTpHZKk6Rxu9OkfS0DpHiuQ6R0P4Okf8CztHtR87R28zO0cqRztH5Vo7R6BuO0dcgjtHGZY7R9apO0eUvTtHUtE7RxHlO0fQ+DtHkAw8R1AgPEcRNDxH0kc8R5RbPEdWbzxHGYM8R9yWPEegqjxHZb48RynSPEfv5TxHtfk8R3sNPUdCIT1HCjU9R9JIPUeaXD1HY3A9Ry2EPUf3lz1Hwqs9R42/PUdY0z1HJec9R/H6PUe+Dj5HjCI+R1o2PkcpSj5H+F0+R8hxPkeYhT5HaZk+RzqtPkcMwT5H39Q+R7HoPkeF/D5HWRA/Ry0kP0cCOD9H10s/R61fP0eEcz9HW4c/RzKbP0cKrz9H48I/R7zWP0eV6j9Hb/4/R0oSQEclJkBHATpAR91NQEe5YUBHlnVAR3SJQEdSnUBHMbFARxDFQEfw2EBH0OxAR7EAQUeSFEFHdChBR1Y8QUc5UEFHHGRBRwB4QUfki0FHyZ9BR66zQUeUx0FHettBR2HvQUdIA0JHMBdCRxkrQkcCP0JH61JCR9VmQke/ekJHqo5CR5aiQkeCtkJHbspCR1veQkdI8kJHNgZDRyUaQ0cULkNHA0JDR/NVQ0fkaUNH1X1DR8eRQ0e5pUNHq7lDR57NQ0eS4UNHhvVDR3sJREdwHURHZTFER1tFREdSWURHSW1ER0GBREc5lURHMqlERyu9REck0URHH+VERxn5REcUDUVHECFFRww1RUcJSUVHBl1FRwRxRUcChUVHAZlFRwCtRUcAwUVHANVFRwHpRUcC/UVHBBFGRwYlRkcJOUZHDE1GRxBhRkcUdUZHGYlGRx+dRkcksUZHK8VGRzLZRkc57UZHQQFHR0kVR0dSKUdHWz1HR2VRR0dvZUdHenlHR4aNR0eRoUdHnrVHR6vJR0e43UdHxvFHR9QFSEfjGUhH8i1IRwJCSEcTVkhHJGpIRzV+SEdHkkhHWaZIR2y6SEeAzkhHk+JIR6j2SEe9CklH0h5JR+gySUf+RklHFVtJRy1vSUdFg0lHXZdJR3arSUePv0lHqdNJR8TnSUff+0lH+g9KRxYkSkcyOEpHT0xKR21gSkeLdEpHqYhKR8icSkfnsEpHB8VKRyjZSkdJ7UpHagFLR4wVS0euKUtH0T1LR/VRS0cZZktHPXpLR2KOS0eHoktHrbZLR9TKS0f63ktHIvNLR0oHTEdyG0xHmy9MR8RDTEfuV0xHGWxMR0SATEdvlExHm6hMR8e8TEf00ExHIeVMR0/5TEd+DU1HrCFNR9w1TUcMSk1HPF5NR21yTUeehk1H0JpNRwKvTUc1w01HaNdNR5zrTUfR/01HBRRORzsoTkdwPE5Hp1BOR91kTkcVeU5HTY1OR4WhTke+tU5H98lORzHeTkdr8k5HpgZPR+EaT0cdL09HWUNPR5VXT0fTa09HEIBPR0+UT0eNqE9HzLxPRwzRT0dM5U9HjflPR84NUEcQIlBHUjZQR5VKUEfYXlBHG3NQR1+HUEekm1BH6a9QRy/EUEd12FBHu+xQRwIBUUdKFVFHkilRR9s9UUckUlFHbWZRR7d6UUcCj1FHTaNRR5i3UUfky1FHMeBRR370UUfLCFJHGR1SR2cxUke2RVJHBlpSR1ZuUkemglJH95ZSR0irUkeav1JH7dNSRz/oUkeT/FJH5xBTRzslU0eQOVNH5U1TRztiU0eRdlNH6IpTRz+fU0eXs1NH78dTR0jcU0eh8FNH+wRUR1UZVEewLVRHC0JUR2ZWVEfCalRHH39UR3yTVEfap1RHOLxUR5bQVEf25FRHVflUR7UNVUcWIlVHdzZVR9hKVUc6X1VHnXNVRwCIVUdjnFVHx7BVRyvFVUeQ2VVH9u1VR1wCVkfCFlZHKStWR5A/Vkf4U1ZHYGhWR8l8VkcykVZHnKVWRwa6VkdxzlZH3OJWR0j3Vke0C1dHISBXR440V0f8SFdHal1XR9hxV0dHhldHt5pXRyevV0eYw1dHCdhXR3rsV0fsAFhHXxVYR9IpWEdFPlhHuVJYRy1nWEeie1hHGJBYR46kWEcEuVhHe81YR/LhWEdq9lhH4gpZR1sfWUfUM1lHTkhZR8hcWUdDcVlHvoVZRzqaWUe2rllHM8NZR7DXWUct7FlHqwBaRyoVWkepKVpHKD5aR6hSWkcpZ1pHqntaRyuQWketpFpHMLlaR7LNWkc24lpHuvZaRz4LW0fDH1tHSDRbR85IW0dUXVtH23FbR2KGW0fqmltHcq9bR/vDW0eE2FtHDe1bR5cBXEciFlxHrSpcRzg/XEfEU1xHUWhcR958XEdrkVxH+aVcR4i6XEcXz1xHpuNcRzb4XEfGDF1HVyFdR+g1XUd6Sl1HDF9dR59zXUcyiF1HxpxdR1qxXUfuxV1Hg9pdRxnvXUevA15HRhheR90sXkd0QV5HDFZeR6RqXkc9f15H15NeR3GoXkcLvV5HptFeR0HmXkfd+l5HeQ9fRxYkX0ezOF9HUU1fR+9hX0eNdl9HLYtfR8yfX0dstF9HDclfR67dX0dP8l9H8QZgR5MbYEc2MGBH2kRgR35ZYEcibmBHx4JgR2yXYEcSrGBHuMBgR1/VYEcG6mBHrv5gR1YTYUf+J2FHpzxhR1FRYUf7ZWFHpXphR1CPYUf8o2FHqLhhR1TNYUcB4mFHrvZhR1wLYkcKIGJHuTRiR2hJYkcYXmJHyHJiR3mHYkcqnGJH27BiR47FYkdA2mJH8+5iR6cDY0daGGNHDy1jR8RBY0d5VmNHL2tjR+V/Y0eclGNHU6ljRwu+Y0fD0mNHfOdjRzX8Y0fvEGRHqSVkR2M6ZEceT2RH2mNkR5Z4ZEdSjWRHD6JkR8y2ZEeKy2RHSOBkRwf1ZEfGCWVHhh5lR0YzZUcHSGVHyFxlR4pxZUdMhmVHDptlR9GvZUeVxGVHWdllRx3uZUfiAmZHpxdmR20sZkc0QWZH+lVmR8JqZkeJf2ZHUZRmRxqpZkfjvWZHrdJmR3fnZkdB/GZHDBFnR9glZ0ejOmdHcE9nRz1kZ0cKeWdH2I1nR6aiZ0d1t2dHRMxnRxThZ0fk9WdHtApoR4UfaEdXNGhHKUloR/tdaEfOcmhHoYdoR3WcaEdKsWhHHsZoR/TaaEfJ72hHoARpR3YZaUdNLmlHJUNpR/1XaUfVbGlHroFpR4iWaUdiq2lHPMBpRxfVaUfy6WlHzv5pR6oTakeHKGpHZD1qR0JSakcgZ2pH/ntqR92Qake9pWpHnbpqR33Pakde5GpHP/lqRyEOa0cDI2tH5jdrR8lMa0etYWtHkXZrR3aLa0dboGtHQLVrRybKa0cN32tH8/NrR9sIbEfDHWxHqzJsR5RHbEd9XGxHZnFsR1GGbEc7m2xHJrBsRxLFbEf+2WxH6u5sR9cDbUfEGG1Hsi1tR6FCbUePV21Hf2xtR26BbUdelm1HT6ttR0DAbUcy1W1HJOptRxb/bUcJFG5H/ChuR/A9bkfkUm5H2WduR858bkfEkW5HuqZuR7G7bkeo0G5Hn+VuR5f6bkeQD29HiSRvR4I5b0d8Tm9HdmNvR3F4b0dsjW9HaKJvR2S3b0dgzG9HXeFvR1v2b0dZC3BHVyBwR1Y1cEdVSnBHVV9wR1V0cEdWiXBHV55wR1mzcEdbyHBHXd1wR2DycEdkB3FHaBxxR2wxcUdxRnFHdltxR3xwcUeChXFHiZpxR5CvcUeXxHFHn9lxR6jucUexA3JHuhhyR8QtckfOQnJH2VdyR+RsckfwgXJH/JZyRwmsckcWwXJHI9ZyRzHrckdAAHNHTxVzR14qc0duP3NHflRzR49pc0egfnNHsZNzR8Ooc0fWvXNH6dJzR/znc0cQ/XNHJRJ0RzkndEdPPHRHZFF0R3pmdEeRe3RHqJB0R8CldEfYunRH8M90RwnldEci+nRHPA91R1YkdUdxOXVHjE51R6hjdUfEeHVH4I11R/2idUcbuHVHOc11R1fidUd293VHlQx2R7UhdkfVNnZH9kt2Rxdhdkc4dnZHWot2R3ygdkeftXZHw8p2R+bfdkcL9XZHLwp3R1Qfd0d6NHdHoEl3R8ded0fuc3dHFYl3Rz2ed0dls3dHjsh3R7fdd0fh8ndHCwh4RzUdeEdgMnhHjEd4R7hceEfkcXhHEYd4Rz6ceEdssXhHmsZ4R8nbeEf48HhHJwZ5R1cbeUeIMHlHuEV5R+paeUcccHlHToV5R4CaeUe0r3lH58R5RxvaeUdQ73lHhQR6R7oZekfwLnpHJkR6R11ZekeUbnpHy4N6RwSZekc8rnpHdcN6R67Yekfo7XpHIwN7R10Ye0eZLXtH1EJ7RxBYe0dNbXtHioJ7R8eXe0cFrXtHRMJ7R4LXe0fC7HtHAQJ8R0EXfEeCLHxHw0F8RwVXfEdHbHxHiYF8R8yWfEcPrHxHU8F8R5fWfEfc63xHIQF9R2YWfUesK31H8kB9RzlWfUeBa31HyIB9RxGWfUdZq31HosB9R+zVfUc2631HgAB+R8sVfkcWK35HYkB+R65Vfkf7an5HSIB+R5aVfkfkqn5HMsB+R4HVfkfQ6n5HIAB/R3AVf0fBKn9HEkB/R2RVf0e2an9HCIB/R1uVf0euqn9HAsB/R1bVf0er6n9HAACAR6sKgEdWFYBHASCAR6wqgEdYNYBHBECAR7BKgEdcVYBHCWCAR7ZqgEdjdYBHEICAR72KgEdrlYBHGaCAR8eqgEd1tYBHJMCAR9PKgEeC1YBHMeCAR+DqgEeQ9YBHQACBR/AKgUegFYFHUSCBRwIrgUezNYFHZECBRxVLgUfHVYFHeWCBRytrgUfddYFHkICBR0KLgUf1lYFHqaCBR1yrgUcQtoFHxMCBR3jLgUcs1oFH4OCBR5XrgUdK9oFH/wCCR7ULgkdqFoJHICGCR9YrgkeNNoJHQ0GCR/pLgkexVoJHaGGCRx9sgkfXdoJHj4GCR0eMgkf/loJHuKGCR3Csgkcpt4JH4sGCR5zMgkdV14JHD+KCR8nsgkeD94JHPgKDR/gMg0ezF4NHbiKDRyotg0flN4NHoUKDR11Ng0cZWINH1mKDR5Jtg0dPeINHDIODR8qNg0eHmINHRaODRwOug0fBuINHgMODRz7Og0f92INHvOODR3vug0c7+YNH+wOER7sOhEd7GYRHOySER/wuhEe9OYRHfkSERz9PhEcAWoRHwmSER4RvhEdGeoRHCIWER8uPhEeOmoRHUaWERxSwhEfYuoRHm8WER1/QhEcj24RH5+WER6zwhEdx+4RHNgaFR/sQhUfAG4VHhiaFR0wxhUcSPIVH2EaFR59RhUdlXIVHLGeFR/NxhUe7fIVHgoeFR0qShUcSnYVH2qeFR6OyhUdrvYVHNMiFR/3ShUfH3YVHkOiFR1rzhUck/oVH7giGR7kThkeDHoZHTimGRxk0hkfkPoZHsEmGR3xUhkdIX4ZHFGqGR+B0hketf4ZHeYqGR0aVhkcUoIZH4aqGR6+1hkd9wIZHS8uGRxnWhkfo4IZHtuuGR4X2hkdVAYdHJAyHR/QWh0fDIYdHkyyHR2Q3h0c0QodHBU2HR9ZXh0enYodHeG2HR0p4h0cbg4dH7Y2HR8CYh0eSo4dHZa6HRzi5h0cLxIdH3s6HR7HZh0eF5IdHWe+HRy36h0cCBYhH1g+IR6saiEeAJYhHVTCIRys7iEcARohH1lCIR6xbiEeDZohHWXGIRzB8iEcHh4hH3pGIR7WciEeNp4hHZbKIRz29iEcVyIhH7dKIR8bdiEef6IhHePOIR1H+iEcrCYlHBRSJR98eiUe5KYlHkzSJR24/iUdISolHI1WJR/9fiUfaaolHtnWJR5KAiUdui4lHSpaJRyehiUcDrIlH4LaJR77BiUebzIlHedeJR1biiUc07YlHE/iJR/ECikfQDYpHrxiKR44jikdtLopHTTmKRyxEikcMT4pH7FmKR81kiketb4pHjnqKR2+FikdQkIpHMpuKRxSmikf1sIpH2LuKR7rGikec0YpHf9yKR2LnikdF8opHKf2KRwwIi0fwEotH1B2LR7goi0edM4tHgT6LR2ZJi0dLVItHMF+LRxZqi0f8dItH4n+LR8iKi0eulYtHlaCLR3uri0ditotHSsGLRzHMi0cZ14tHAeKLR+nsi0fR94tHuQKMR6INjEeLGIxHdCOMR10ujEdHOYxHMUSMRxtPjEcFWoxH72SMR9pvjEfFeoxHsIWMR5uQjEeGm4xHcqaMR16xjEdKvIxHNseMRyPSjEcQ3YxH/OeMR+ryjEfX/YxHxQiNR7ITjUegHo1HjymNR300jUdsP41HWkqNR0lVjUc5YI1HKGuNRxh2jUcIgY1H+IuNR+iWjUfZoY1HyayNR7q3jUeswo1Hnc2NR4/YjUeA441Hcu6NR2X5jUdXBI5HSg+ORzwajkcwJY5HIzCORxY7jkcKRo5H/lCOR/JbjkfmZo5H23GOR9B8jkfFh45HupKOR6+djkelqI5Hm7OOR5G+jkeHyY5HfdSOR3Tfjkdr6o5HYvWOR1kAj0dRC49HSBaPR0Ahj0c4LI9HMTePRylCj0ciTY9HG1iPRxRjj0cNbo9HB3mPRwGEj0f7jo9H9ZmPR++kj0fqr49H5bqPR+DFj0fb0I9H19uPR9Lmj0fO8Y9HyvyPR8cHkEfDEpBHwB2QR70okEe6M5BHtz6QR7VJkEezVJBHsV+QR69qkEetdZBHrICQR6uLkEeqlpBHqaGQR6iskEeot5BHqMKQR6jNkEeo2JBHqeOQR6rukEeq+ZBHrASRR60PkUeuGpFHsCWRR7IwkUe0O5FHt0aRR7lRkUe8XJFHv2eRR8JykUfGfZFHyYiRR82TkUfRnpFH1amRR9q0kUffv5FH48qRR+nVkUfu4JFH8+uRR/n2kUf/AZJHBQ2SRwsYkkcSI5JHGS6SRyA5kkcnRJJHLk+SRzZakkc+ZZJHRnCSR057kkdWhpJHX5GSR2ickkdxp5JHerKSR4O9kkeNyJJHl9OSR6Hekker6ZJHtvSSR8D/kkfLCpNH1hWTR+Igk0ftK5NH+TaTRwVCk0cRTZNHHViTRypjk0c3bpNHRHmTR1GEk0dej5NHbJqTR3qlk0eIsJNHlruTR6TGk0ez0ZNHwtyTR9Hnk0fg8pNH8P2TR/8IlEcPFJRHHx+URy8qlEdANZRHUUCUR2JLlEdzVpRHhGGUR5ZslEend5RHuYKUR8uNlEfemJRH8KOURwOvlEcWupRHKcWURzzQlEdQ25RHZOaUR3jxlEeM/JRHoAeVR7USlUfKHZVH3yiVR/QzlUcKP5VHH0qVRzVVlUdLYJVHYWuVR3h2lUePgZVHpYyVR7yXlUfUopVH662VRwO5lUcbxJVHM8+VR0valUdk5ZVHffCVR5X7lUevBpZHyBGWR+Iclkf7J5ZHFTOWRy8+lkdKSZZHZFSWR39flkeaapZHtXWWR9GAlkfsi5ZHCJeWRySilkdArZZHXbiWR3nDlkeWzpZHs9mWR9Dklkfu75ZHDPuWRykGl0dHEZdHZhyXR4Qnl0ejMpdHwj2XR+FIl0cAVJdHIF+XRz9ql0dfdZdHf4CXR6CLl0fAlpdH4aGXRwKtl0cjuJdHRMOXR2bOl0eH2ZdHqeSXR8vvl0fu+pdHEAaYRzMRmEdWHJhHeSeYR50ymEfAPZhH5EiYRwhUmEcsX5hHUGqYR3V1mEeagJhHv4uYR+SWmEcJophHL62YR1W4mEd7w5hHoc6YR8fZmEfu5JhHFfCYRzz7mEdjBplHixGZR7IcmUfaJ5lHAjOZRyo+mUdTSZlHfFSZR6RfmUfNaplH93WZRyCBmUdKjJlHdJeZR56imUfIrZlH87iZRx3EmUdIz5lHc9qZR57lmUfK8JlH9vuZRyIHmkdOEppHeh2aR6YomkfTM5pHAD+aRy1KmkdbVZpHiGCaR7ZrmkfkdppHEoKaR0CNmkdvmJpHnaOaR8yumkf7uZpHK8WaR1rQmkeK25pHuuaaR+rxmkcb/ZpHSwibR3wTm0etHptH3imbRw81m0dBQJtHc0ubR6VWm0fXYZtHCW2bRzx4m0dug5tHoY6bR9WZm0cIpZtHPLCbR2+7m0ejxptH19GbRwzdm0dA6JtHdfObR6r+m0ffCZxHFRWcR0ognEeAK5xHtjacR+xBnEcjTZxHWVicR5BjnEfHbpxH/nmcRzaFnEdtkJxHpZucR92mnEcVspxHTr2cR4bInEe/05xH+N6cRzHqnEdr9ZxHpACdR94LnUcYF51HUiKdR40tnUfHOJ1HAkSdRz1PnUd5Wp1HtGWdR/BwnUcrfJ1HZ4edR6SSnUfgnZ1HHamdR1m0nUeWv51H1MqdRxHWnUdP4Z1HjeydR8v3nUcJA55HRw6eR4YZnkfFJJ5HBDCeR0M7nkeCRp5HwlGeRwJdnkdCaJ5HgnOeR8J+nkcDip5HRJWeR4WgnkfGq55HB7eeR0nCnkeLzZ5HzdieRw/knkdR755HlPqeR9cFn0caEZ9HXRyfR6Enn0fkMp9HKD6fR2xJn0ewVJ9H9V+fRzlrn0d+dp9Hw4GfRwiNn0dOmJ9Hk6OfR9mun0cfup9HZcWfR6zQn0fy259HOeefR4Dyn0fH/Z9HDgmgR1YUoEeeH6BH5iqgRy42oEd2QaBHv0ygRwhYoEdRY6BHmm6gR+N5oEcthaBHd5CgR8GboEcLp6BHVbKgR6C9oEfqyKBHNdSgR4HfoEfM6qBHGPagR2MBoUevDKFH+xehR0gjoUeULqFH4TmhRy5FoUd7UKFHyFuhRxZnoUdkcqFHsn2hRwCJoUdOlKFHnZ+hR+uqoUc6tqFHicGhR9nMoUco2KFHeOOhR8juoUcY+qFHaAWiR7kQokcJHKJHWieiR6syokf9PaJHTkmiR6BUokfyX6JHRGuiR5Z2okfpgaJHO42iR46Yokfho6JHNa+iR4i6okfcxaJHL9GiR4TcokfY56JHLPOiR4H+okfWCaNHKxWjR4Ago0fVK6NHKzejR4FCo0fXTaNHLVmjR4Rko0fab6NHMXujR4iGo0ffkaNHN52jR46oo0fms6NHPr+jR5bKo0fv1aNHR+GjR6Dso0f596NHUgOkR6sOpEcFGqRHXyWkR7kwpEcTPKRHbUekR8hSpEciXqRHfWmkR9h0pEc0gKRHj4ukR+uWpEdHoqRHo62kR/+4pEdcxKRHuc+kRxXbpEdz5qRH0PGkRy39pEeLCKVH6ROlR0cfpUelKqVHBDalR2JBpUfBTKVHIFilR39jpUffbqVHPnqlR56FpUf+kKVHX5ylR7+npUcgs6VHgL6lR+HJpUdD1aVHpOClRwbspUdn96VHyQKmRysOpkeOGaZH8CSmR1Mwpke2O6ZHGUemR31SpkfgXaZHRGmmR6h0pkcMgKZHcIumR9WWpkc5oqZHnq2mRwO5pkdpxKZHzs+mRzTbpkea5qZHAPKmR2b9pkfNCKdHMxSnR5ofp0cBK6dHaDanR9BBp0c3TadHn1inRwdkp0dvb6dH2HqnR0CGp0epkadHEp2nR3uop0fls6dHTr+nR7jKp0ci1qdHjOGnR/bsp0dh+KdHzAOoRzcPqEeiGqhHDSaoR3kxqEfkPKhHUEioR7xTqEcpX6hHlWqoRwJ2qEdvgahH3IyoR0mYqEe2o6hHJK+oR5K6qEcAxqhHbtGoR9zcqEdL6KhHuvOoRyn/qEeYCqlHBxapR3chqUfnLKlHVzipR8dDqUc3T6lHqFqpRxhmqUeJcalH+nypR2yIqUfdk6lHT5+pR8GqqUcztqlHpcGpRxjNqUeK2KlH/eOpR3DvqUfj+qlHVwaqR8sRqkc+HapHsiiqRyc0qkebP6pHEEuqR4RWqkf5YapHb22qR+R4qkdZhKpHz4+qR0Wbqke7pqpHMrKqR6i9qkcfyapHltSqRw3gqkeE66pH/PaqR3MCq0frDatHYxmrR9skq0dUMKtHzDurR0VHq0e+UqtHN16rR7Fpq0cqdatHpICrRx6Mq0eYl6tHE6OrR42uq0cIuqtHg8WrR/7Qq0d53KtH9eerR3Hzq0ft/qtHaQqsR+UVrEdhIaxH3iysR1s4rEfYQ6xHVU+sR9NarEdQZqxHznGsR0x9rEfKiKxHSZSsR8efrEdGq6xHxbasR0TCrEfDzaxHQ9msR8PkrEdD8KxHw/usR0MHrUfDEq1HRB6tR8UprUdGNa1Hx0CtR0lMrUfKV61HTGOtR85urUdQeq1H04WtR1WRrUfYnK1HW6itR96zrUdiv61H5cqtR2nWrUft4a1Hce2tR/X4rUd6BK5H/g+uR4MbrkcIJ65HjjKuRxM+rkeZSa5HH1WuR6VgrkcrbK5HsXeuRziDrke/jq5HRZquR82lrkdUsa5H3LyuR2PIrkfr065Hc9+uR/zqrkeE9q5HDQKvR5YNr0cfGa9HqCSvRzEwr0e7O69HRUevR89Sr0dZXq9H42mvR251r0f5gK9HhIyvRw+Yr0eao69HJq+vR7K6r0c9xq9HytGvR1bdr0fi6K9Hb/SvR/z/r0eJC7BHFhewR6QisEcxLrBHvzmwR01FsEfbULBHalywR/hnsEeHc7BHFn+wR6WKsEc0lrBHxKGwR1OtsEfjuLBHc8SwRwTQsEeU27BHJeewR7bysEdH/rBH2AmxR2kVsUf7ILFHjSyxRx84sUexQ7FHQ0+xR9ZasUdoZrFH+3GxR459sUciibFHtZSxR0mgsUfdq7FHcbexRwXDsUeZzrFHLtqxR8PlsUdY8bFH7fyxR4IIskcYFLJHrR+yR0MrskfaNrJHcEKyRwZOskedWbJHNGWyR8twskdifLJH+oeyR5GTskcpn7JHwaqyR1m2skfywbJHis2yRyPZske85LJHVfCyR+77skeIB7NHIROzR7ses0dVKrNH8DWzR4pBs0clTbNHwFizR1tks0f2b7NHkXuzRy2Hs0fIkrNHZJ6zRwGqs0edtbNHOcGzR9bMs0dz2LNHEOSzR63vs0dL+7NH6Aa0R4YStEckHrRHwim0R2E1tEf/QLRHnky0Rz1YtEfcY7RHe2+0Rxt7tEe7hrRHWpK0R/udtEebqbRHO7W0R9zAtEd9zLRHHti0R7/jtEdg77RHAvu0R6QGtUdFErVH6B21R4optUcsNbVHz0C1R3JMtUcVWLVHuGO1R1xvtUf/erVHo4a1R0eStUfrnbVHkKm1RzS1tUfZwLVHfsy1RyPYtUfI47VHbu+1RxP7tUe5BrZHXxK2RwUetkesKbZHUjW2R/lAtkegTLZHR1i2R+9jtkeWb7ZHPnu2R+aGtkeOkrZHNp62R9+ptkeHtbZHMMG2R9nMtkeC2LZHLOS2R9Xvtkd/+7ZHKQe3R9MSt0d+HrdHKCq3R9M1t0d+QbdHKU23R9RYt0d/ZLdHK3C3R9d7t0eDh7dHL5O3R9uet0eIqrdHNba3R+HBt0ePzbdHPNm3R+nkt0eX8LdHRfy3R/MHuEehE7hHTx+4R/4quEetNrhHXEK4RwtOuEe6WbhHamW4RxlxuEfJfLhHeYi4RyqUuEfan7hHi6u4Rzy3uEftwrhHns64R0/auEcB5rhHsvG4R2T9uEcWCblHyRS5R3sguUcuLLlH4Te5R5RDuUdHT7lH+lq5R65muUdicrlHFn65R8qJuUd+lblHMqG5R+esuUecuLlHUcS5RwbQuUe827lHcee5RyfzuUfd/rlHkwq6R0oWukcAIrpHty26R245ukclRbpH3FC6R5RcukdLaLpHA3S6R7t/ukdzi7pHLJe6R+SiukedrrpHVrq6Rw/GukfI0bpHgt26Rzvpukf19LpHrwC7R2kMu0ckGLtH3iO7R5kvu0dUO7tHD0e7R8tSu0eGXrtHQmq7R/51u0e6gbtHdo27RzKZu0fvpLtHrLC7R2m8u0cmyLtH49O7R6Hfu0de67tHHPe7R9oCvEeZDrxHVxq8RxYmvEfUMbxHkz28R1NJvEcSVbxH0mC8R5FsvEdReLxHEYS8R9KPvEeSm7xHU6e8RxOzvEfUvrxHlsq8R1fWvEcZ4rxH2u28R5z5vEdeBb1HIRG9R+McvUemKL1HaDS9RytAvUfvS71Hsle9R3ZjvUc5b71H/Xq9R8GGvUeGkr1HSp69Rw+qvUfUtb1HmcG9R17NvUcj2b1H6eS9R6/wvUd0/L1HOwi+RwEUvkfHH75Hjiu+R1U3vkccQ75H406+R6tavkdyZr5HOnK+RwJ+vkfKib5HkpW+R1uhvkcjrb5H7Li+R7XEvkd+0L5HSNy+RxHovkfb875Hpf++R28Lv0c6F79HBCO/R88uv0eaOr9HZUa/RzBSv0f7Xb9Hx2m/R5N1v0degb9HK42/R/eYv0fDpL9HkLC/R128v0cqyL9H99O/R8Xfv0eS679HYPe/Ry4DwEf8DsBHyhrAR5kmwEdnMsBHNj7ARwVKwEfUVcBHpGHAR3NtwEdDecBHE4XAR+OQwEeznMBHhKjAR1W0wEclwMBH9svAR8jXwEeZ48BHa+/ARzz7wEcOB8FH4BLBR7MewUeFKsFHWDbBRytCwUf+TcFH0VnBR6RlwUd4ccFHS33BRx+JwUfzlMFHyKDBR5yswUdxuMFHRsTBRxvQwUfw28FHxefBR5vzwUdw/8FHRgvCRxwXwkfzIsJHyS7CR6A6wkd3RsJHTlLCRyVewkf8acJH1HXCR6uBwkeDjcJHW5nCRzOlwkcMscJH5bzCR73IwkeW1MJHb+DCR0nswkci+MJH/APDR9YPw0ewG8NHiifDR2Qzw0c/P8NHGkvDR/VWw0fQYsNHq27DR4d6w0dihsNHPpLDRxqew0f2qcNH07XDR6/Bw0eMzcNHadnDR0blw0cj8cNHAf3DR98IxEe8FMRHmiDER3ksxEdXOMRHNUTERxRQxEfzW8RH0mfER7FzxEeRf8RHcIvER1CXxEcwo8RHEK/ER/G6xEfRxsRHstLER5PexEd06sRHVfbERzYCxUcYDsVH+hnFR9wlxUe+McVHoD3FR4NJxUdlVcVHSGHFRyttxUcOecVH8oTFR9WQxUe5nMVHnajFR4G0xUdlwMVHSszFRy7YxUcT5MVH+O/FR937xUfDB8ZHqBPGR44fxkd0K8ZHWjfGR0BDxkcnT8ZHDVvGR/RmxkfbcsZHwn7GR6mKxkeRlsZHeKLGR2CuxkdIusZHMcbGRxnSxkcB3sZH6unGR9P1xke8AcdHpQ3HR48Zx0d5JcdHYjHHR0w9x0c2ScdHIVXHRwthx0f2bMdH4XjHR8yEx0e3kMdHo5zHR46ox0d6tMdHZsDHR1LMx0c+2MdHK+THRxfwx0cE/MdH8QfIR94TyEfMH8hHuSvIR6c3yEeVQ8hHg0/IR3FbyEdgZ8hHTnPIRz1/yEcsi8hHG5fIRwujyEf6rshH6rrIR9rGyEfK0shHut7IR6rqyEeb9shHiwLJR3wOyUdtGslHXybJR1AyyUdCPslHNErJRyZWyUcYYslHCm7JR/15yUfvhclH4pHJR9WdyUfIqclHvLXJR6/ByUejzclHl9nJR4vlyUd/8clHdP3JR2gJykddFcpHUiHKR0ctykc9OcpHMkXKRyhRykceXcpHFGnKRwp1ykcBgcpH94zKR+6YykflpMpH3LDKR9O8ykfLyMpHwtTKR7rgykey7MpHqvjKR6MEy0ebEMtHlBzLR40oy0eGNMtHf0DLR3hMy0dyWMtHbGTLR2Zwy0dgfMtHWojLR1SUy0dPoMtHSqzLR0W4y0dAxMtHO9DLRzfcy0cz6MtHLvTLRysAzEcnDMxHIxjMRyAkzEccMMxHGTzMRxZIzEcUVMxHEWDMRw9szEcNeMxHC4TMRwmQzEcHnMxHBqjMRwS0zEcDwMxHAszMRwHYzEcB5MxHAPDMRwD8zEcACM1HABTNRwAgzUcBLM1HATjNRwJEzUcDUM1HBFzNRwZozUcHdM1HCYDNRwuMzUcNmM1HD6TNRxGwzUcUvM1HFsjNRxnUzUcc4M1HIOzNRyP4zUcnBM5HKhDORy4czkczKM5HNzTORztAzkdATM5HRVjOR0pkzkdPcM5HVHzOR1qIzkdflM5HZaDOR2uszkdyuM5HeMTOR3/QzkeF3M5HjOjOR5P0zkebAM9HogzPR6oYz0exJM9HuTDPR8I8z0fKSM9H0lTPR9tgz0fkbM9H7XjPR/aEz0f/kM9HCZ3PRxOpz0cdtc9HJ8HPRzHNz0c72c9HRuXPR1Hxz0dc/c9HZwnQR3IV0Ed9IdBHiS3QR5U50EehRdBHrVHQR7ld0EfGadBH03XQR9+B0EfsjdBH+pnQRwem0EcVstBHIr7QRzDK0Ec+1tBHTOLQR1vu0Edp+tBHeAbRR4cS0UeWHtFHpirRR7U20UfFQtFH1E7RR+Ra0Uf1ZtFHBXPRRxV/0Ucmi9FHN5fRR0ij0UdZr9FHa7vRR3zH0UeO09FHoN/RR7Lr0UfE99FH1gPSR+kP0kf8G9JHDyjSRyI00kc1QNJHSUzSR1xY0kdwZNJHhHDSR5h80kesiNJHwZTSR9ag0kfqrNJH/7jSRxXF0kcq0dJHQN3SR1Xp0kdr9dJHgQHTR5cN00euGdNHxCXTR9sx00fyPdNHCUrTRyBW00c4YtNHT27TR2d600d/htNHl5LTR7Ce00fIqtNH4bbTR/rC00cTz9NHLNvTR0Xn00df89NHeP/TR5IL1EesF9RHxiPUR+Ev1Ef7O9RHFkjURzFU1EdMYNRHZ2zUR4N41EeehNRHupDUR9ac1EfyqNRHDrXURyvB1EdHzdRHZNnUR4Hl1Eee8dRHu/3UR9kJ1Uf3FdVHFCLVRzIu1UdROtVHb0bVR41S1UesXtVHy2rVR+p21UcJg9VHKY/VR0ib1Udop9VHiLPVR6i/1UfIy9VH6NfVRwnk1Ucq8NVHS/zVR2wI1keNFNZHriDWR9As1kfyONZHFEXWRzZR1kdYXdZHe2nWR5111kfAgdZH443WRwaa1kcqptZHTbLWR3G+1keVytZHudbWR93i1kcB79ZHJvvWR0oH10dvE9dHlB/XR7kr10ffN9dHBETXRypQ10dQXNdHdmjXR5x010fDgNdH6YzXRxCZ10c3pddHXrHXR4W910etyddH1NXXR/zh10ck7tdHTPrXR3QG2EedEthHxh7YR+4q2EcXN9hHQUPYR2pP2EeTW9hHvWfYR+dz2EcRgNhHO4zYR2WY2EeQpNhHu7DYR+W82EcQydhHPNXYR2fh2EeT7dhHvvnYR+oF2UcWEtlHQh7ZR28q2UebNtlHyELZR/VO2UciW9lHT2fZR31z2Ueqf9lH2IvZRwaY2Uc0pNlHYrDZR5G82Ue/yNlH7tTZRx3h2UdM7dlHfPnZR6sF2kfbEdpHCh7aRzoq2kdrNtpHm0LaR8tO2kf8WtpHLWfaR15z2kePf9pHwIvaR/KX2kcjpNpHVbDaR4e82ke6yNpH7NTaRx7h2kdR7dpHhPnaR7cF20fqEdtHHh7bR1Eq20eFNttHuULbR+1O20chW9tHVWfbR4pz20e/f9tH9IvbRymY20depNtHk7DbR8m820f/yNtHNNXbR2vh20eh7dtH1/nbRw4G3EdFEtxHfB7cR7Mq3EfqNtxHIUPcR1lP3EeRW9xHyWfcRwF03Ec5gNxHcozcR6qY3EfjpNxHHLHcR1W93EeOydxHyNXcRwLi3Ec77txHdfrcR7AG3UfqEt1HJB/dR18r3UeaN91H1UPdRxBQ3UdLXN1Hh2jdR8J03Uf+gN1HOo3dR3eZ3Uezpd1H77HdRyy+3Udpyt1HptbdR+Pi3Ucg791HXvvdR5wH3kfaE95HGCDeR1Ys3keUON5H00TeRxFR3kdQXd5Hj2neR8913kcOgt5HTo7eR42a3kfNpt5HDbPeR02/3keOy95HztfeRw/k3kdQ8N5HkfzeR9II30cUFd9HVSHfR5ct30fZOd9HG0bfR11S30egXt9H4mrfRyV330dog99Hq4/fR+6b30cyqN9HdbTfR7nA30f9zN9HQdnfR4Xl30fK8d9HDv7fR1MK4EeYFuBH3SLgRyMv4EdoO+BHrkfgR/NT4Ec5YOBHf2zgR8Z44EcMheBHU5HgR5qd4EfhqeBHKLbgR2/C4Ee2zuBH/trgR0bn4EeO8+BH1v/gRx4M4UdnGOFHryThR/gw4UdBPeFHiknhR9NV4UcdYuFHZ27hR7B64Uf6huFHRJPhR4+f4UfZq+FHJLjhR2/E4Ue60OFHBd3hR1Dp4Uec9eFH5wHiRzMO4kd/GuJHyybiRxcz4kdkP+JHsUviR/1X4kdKZOJHmHDiR+V84kcyieJHgJXiR86h4kccruJHarriR7jG4kcH0+JHVd/iR6Tr4kfz9+JHQgTjR5IQ40fhHONHMSnjR4E140fRQeNHIU7jR3Fa40fCZuNHEnPjR2N/40e0i+NHBZjjR1ak40eosONH+rzjR0vJ40ed1eNH8OHjR0Lu40eU+uNH5wbkRzoT5EeNH+RH4CvkRzM45EeHRORH2lDkRy5d5EeCaeRH1nXkRyuC5Ed/juRH1JrkRymn5Ed+s+RH07/kRyjM5Ed92ORH0+TkRynx5Ed//eRH1QnlRysW5UeCIuVH2C7lRy875UeGR+VH3VPlRzVg5UeMbOVH5HjlRzyF5UeUkeVH7J3lR0Sq5UedtuVH9cLlR07P5Uen2+VHAOjlR1n05UezAOZHDA3mR2YZ5kfAJeZHGjLmR3U+5kfPSuZHKlfmR4Rj5kffb+ZHO3zmR5aI5kfxlOZHTaHmR6mt5kcFuuZHYcbmR73S5kcZ3+ZHduvmR9P35kcwBOdHjRDnR+oc50dIKedHpTXnRwNC50dhTudHv1rnRx1n50d8c+dH2n/nRzmM50eYmOdH96TnR1ax50e2vedHFcrnR3XW50fV4udHNe/nR5X750f2B+hHVhToR7cg6EcYLehHeTnoR9pF6Ec8UuhHnV7oR/9q6Edhd+hHw4PoRyWQ6EeInOhH6qjoR0216EewwehHE87oR3ba6EfZ5uhHPfPoR6H/6EcEDOlHaBjpR80k6UcxMelHlj3pR/pJ6UdfVulHxGLpRylv6UePe+lH9IfpR1qU6UfAoOlHJq3pR4y56UfyxelHWdLpR7/e6Ucm6+lHjffpR/QD6kdcEOpHwxzqRysp6keTNepH+0HqR2NO6kfLWupHNGfqR5xz6kcFgOpHbozqR9eY6kdBpepHqrHqRxS+6kd9yupH59bqR1Hj6ke87+pHJvzqR5EI60f8FOtHZyHrR9It60c9OutHqEbrRxRT60eAX+tH7GvrR1h460fEhOtHMJHrR52d60cKqutHd7brR+TC60dRz+tHvtvrRyzo60ea9OtHBwHsR3YN7EfkGexHUibsR8Ey7EcvP+xHnkvsRw1Y7Ed8ZOxH7HDsR1t97EfLiexHO5bsR6ui7Ecbr+xHi7vsR/zH7Edt1OxH3eDsR07t7EfA+exHMQbtR6IS7UcUH+1HhivtR/g37UdqRO1H3FDtR09d7UfBae1HNHbtR6eC7Ucaj+1HjZvtRwGo7Ud1tO1H6MDtR1zN7UfQ2e1HRebtR7ny7Ucu/+1HogvuRxcY7keMJO5HAjHuR3c97kftSe5HYlbuR9hi7kdOb+5HxHvuRzuI7kexlO5HKKHuR5+t7kcWuu5HjcbuRwTT7kd83+5H9OvuR2v47kfjBO9HXBHvR9Qd70dMKu9HxTbvRz5D70e3T+9HMFzvR6lo70cjde9HnIHvRxaO70eQmu9HCqfvR4Wz70f/v+9HeszvR/TY70dv5e9H6vHvR2b+70fhCvBHXRfwR9gj8EdUMPBH0DzwR01J8EfJVfBHRmLwR8Ju8Ec/e/BHvIfwRzmU8Ee3oPBHNK3wR7K58EcwxvBHrtLwRyzf8Eeq6/BHKfjwR6cE8UcmEfFHpR3xRyQq8UekNvFHI0PxR6NP8UcjXPFHo2jxRyN18UejgfFHI47xR6Sa8Uclp/FHprPxRyfA8UeozPFHKdnxR6vl8Uct8vFHr/7xRzEL8kezF/JHNSTyR7gw8kc6PfJHvUnyR0BW8kfEYvJHR2/yR8p78kdOiPJH0pTyR1ah8kfarfJHXrryR+PG8kdn0/JH7N/yR3Hs8kf2+PJHfAXzRwES80eHHvNHDCvzR5I380cYRPNHn1DzRyVd80esafNHMnbzR7mC80dAj/NHyJvzR0+o80fWtPNHXsHzR+bN80du2vNH9ubzR3/z80cHAPRHkAz0RxkZ9EeiJfRHKzL0R7Q+9Ec+S/RHx1f0R1Fk9EfbcPRHZX30R++J9Ed6lvRHBKP0R4+v9EcavPRHpcj0RzDV9Ee84fRHR+70R9P69EdfB/VH6xP1R3cg9UcDLfVHkDn1Rx1G9UeqUvVHN1/1R8Rr9UdRePVH34T1R2yR9Uf6nfVHiKr1Rxa39Uekw/VHM9D1R8Hc9UdQ6fVH3/X1R24C9kf9DvZHjRv2Rxwo9kesNPZHPEH2R8xN9kdcWvZH7Wb2R31z9kcOgPZHn4z2RzCZ9kfBpfZHUrL2R+S+9kd1y/ZHB9j2R5nk9kcr8fZHvv32R1AK90fjFvdHdiP3Rwgw90ecPPdHL0n3R8JV90dWYvdH6m73R31790cRiPdHppT3Rzqh90fPrfdHY7r3R/jG90eN0/dHIuD3R7js90dN+fdH4wX4R3kS+EcPH/hHpSv4Rzs4+EfRRPhHaFH4R/9d+EeWavhHLXf4R8SD+EdckPhH85z4R4up+EcjtvhHu8L4R1PP+Efr2/hHhOj4Rxz1+Ee1AflHTg75R+ca+UeBJ/lHGjT5R7RA+UdOTflH6Fn5R4Jm+Uccc/lHtn/5R1GM+UfsmPlHh6X5RyKy+Ue9vvlHWMv5R/TX+UeQ5PlHLPH5R8j9+UdkCvpHABf6R50j+kc5MPpH1jz6R3NJ+kcQVvpHrWL6R0tv+kfpe/pHhoj6RySV+kfCofpHYa76R/+6+keex/pHPNT6R9vg+kd67fpHGfr6R7kG+0dYE/tH+B/7R5gs+0c4OftH2EX7R3hS+0cZX/tHuWv7R1p4+0f7hPtHnJH7Rz2e+0ffqvtHgLf7RyLE+0fE0PtHZt37Rwjq+0er9vtHTQP8R/AP/EeTHPxHNin8R9k1/Ed8QvxHIE/8R8Nb/EdnaPxHC3X8R6+B/EdUjvxH+Jr8R52n/EdBtPxH5sD8R4vN/Ecx2vxH1ub8R3vz/EchAP1Hxwz9R20Z/UcTJv1HuTL9R2A//UcHTP1HrVj9R1Rl/Uf7cf1Ho379R0qL/Ufyl/1HmqT9R0Gx/Ufqvf1Hksr9RzrX/Ufj4/1Hi/D9RzT9/UfdCf5Hhhb+RzAj/kfZL/5Hgzz+Ry1J/kfXVf5HgWL+Rytv/kfVe/5HgIj+RyuV/kfWof5Hga7+Ryy7/kfXx/5Hg9T+Ry/h/kfa7f5Hhvr+RzMH/0ffE/9HiyD/Rzgt/0flOf9Hkkb/Rz9T/0fsX/9Hmmz/R0d5/0f1hf9Ho5L/R1Gf/0f/q/9Hrbj/R1zF/0cL0v9Hud7/R2jr/0cY+P9HYwIASLsIAEgTDwBIaxUASMMbAEgbIgBIcygASMsuAEgjNQBIfDsASNRBAEgtSABIhU4ASN5UAEg3WwBIkGEASOlnAEhCbgBIm3QASPR6AEhNgQBIpocASACOAEhZlABIs5oASAyhAEhmpwBIwK0ASBq0AEh0ugBIzsAASCjHAEiCzQBI3NMASDbaAEiR4ABI6+YASEbtAEig8wBI+/kASFYAAUixBgFIDA0BSGcTAUjCGQFIHSABSHgmAUjULAFILzMBSIs5AUjmPwFIQkYBSJ5MAUj5UgFIVVkBSLFfAUgNZgFIaWwBSMZyAUgieQFIfn8BSNuFAUg3jAFIlJIBSPCYAUhNnwFIqqUBSAesAUhksgFIwbgBSB6/AUh7xQFI2csBSDbSAUiT2AFI8d4BSE7lAUis6wFICvIBSGj4AUjG/gFIJAUCSIILAkjgEQJIPhgCSJweAkj7JAJIWSsCSLgxAkgWOAJIdT4CSNREAkgzSwJIklECSPFXAkhQXgJIr2QCSA5rAkhtcQJIzXcCSCx+AkiMhAJI7IoCSEuRAkirlwJIC54CSGukAkjLqgJIK7ECSIu3AkjrvQJITMQCSKzKAkgN0QJIbdcCSM7dAkgv5AJIj+oCSPDwAkhR9wJIsv0CSBMEA0h0CgNI1hADSDcXA0iYHQNI+iMDSFwqA0i9MANIHzcDSIE9A0jjQwNIRUoDSKdQA0gJVwNIa10DSM1jA0gwagNIknADSPR2A0hXfQNIuoMDSByKA0h/kANI4pYDSEWdA0ioowNIC6oDSG6wA0jStgNINb0DSJnDA0j8yQNIYNADSMPWA0gn3QNIi+MDSO/pA0hT8ANIt/YDSBv9A0h/AwRI4wkESEgQBEisFgRIER0ESHUjBEjaKQRIPzAESKQ2BEgIPQRIbUMESNJJBEg4UARInVYESAJdBEhnYwRIzWkESDJwBEiYdgRI/nwESGODBEjJiQRIL5AESJWWBEj7nARIYaMESMipBEgusARIlLYESPu8BEhhwwRIyMkESC/QBEiV1gRI/NwESGPjBEjK6QRIMfAESJj2BEj//ARIZwMFSM4JBUg2EAVInRYFSAUdBUhsIwVI1CkFSDwwBUikNgVIDD0FSHRDBUjcSQVIRFAFSK1WBUgVXQVIfWMFSOZpBUhPcAVIt3YFSCB9BUiJgwVI8okFSFuQBUjElgVILZ0FSJajBUj/qQVIabAFSNK2BUg8vQVIpcMFSA/KBUh50AVI49YFSE3dBUi34wVIIeoFSIvwBUj19gVIX/0FSMoDBkg0CgZInxAGSAkXBkh0HQZI3yMGSEoqBki0MAZIHzcGSIo9Bkj2QwZIYUoGSMxQBkg4VwZIo10GSA5kBkh6agZI5nAGSFJ3Bki9fQZIKYQGSJWKBkgBkQZIbZcGSNqdBkhGpAZIsqoGSB+xBkiLtwZI+L0GSGXEBkjRygZIPtEGSKvXBkgY3gZIheQGSPLqBkhf8QZIzfcGSDr+BkinBAdIFQsHSIMRB0jwFwdIXh4HSMwkB0g6KwdIqDEHSBY4B0iEPgdI8kQHSGBLB0jPUQdIPVgHSKxeB0gaZQdIiWsHSPhxB0hmeAdI1X4HSESFB0iziwdIIpIHSJKYB0gBnwdIcKUHSOCrB0hPsgdIv7gHSC6/B0iexQdIDswHSH7SB0ju2AdIXt8HSM7lB0g+7AdIrvIHSB/5B0iP/wdIAAYISHAMCEjhEghIUhkISMIfCEgzJghIpCwISBUzCEiGOQhI+D8ISGlGCEjaTAhITFMISL1ZCEgvYAhIoGYISBJtCEiEcwhI9nkISGiACEjahghITI0ISL6TCEgwmghIoqAISBWnCEiHrQhI+rMISGy6CEjfwAhIUscISMXNCEg41AhIq9oISB7hCEiR5whIBO4ISHf0CEjr+ghIXgEJSNIHCUhFDglIuRQJSC0bCUihIQlIFSgJSIkuCUj9NAlIcTsJSOVBCUhZSAlIzk4JSEJVCUi3WwlIK2IJSKBoCUgVbwlIinUJSP57CUhzgglI6IgJSF6PCUjTlQlISJwJSL2iCUgzqQlIqK8JSB62CUiUvAlICcMJSH/JCUj1zwlIa9YJSOHcCUhX4wlIzekJSETwCUi69glIMP0JSKcDCkgdCgpIlBAKSAsXCkiCHQpI+CMKSG8qCkjmMApIXjcKSNU9CkhMRApIw0oKSDtRCkiyVwpIKl4KSKFkCkgZawpIkXEKSAl4CkiBfgpI+YQKSHGLCkjpkQpIYZgKSNmeCkhSpQpIyqsKSEOyCki7uApINL8KSK3FCkgmzApIn9IKSBjZCkiR3wpICuYKSIPsCkj88gpIdvkKSO//CkhpBgtI4gwLSFwTC0jWGQtITyALSMkmC0hDLQtIvTMLSDc6C0iyQAtILEcLSKZNC0ghVAtIm1oLSBZhC0iQZwtIC24LSIZ0C0gBewtIfIELSPeHC0hyjgtI7ZQLSGibC0jjoQtIX6gLSNquC0hWtQtI0bsLSE3CC0jJyAtIRc8LSMHVC0g93AtIueILSDXpC0ix7wtILfYLSKr8C0gmAwxIowkMSB8QDEicFgxIGR0MSJYjDEgTKgxIkDAMSA03DEiKPQxIB0QMSIRKDEgCUQxIf1cMSPxdDEh6ZAxI+GoMSHVxDEjzdwxIcX4MSO+EDEhtiwxI65EMSGmYDEjongxIZqUMSOSrDEhjsgxI4bgMSGC/DEjfxQxIXcwMSNzSDEhb2QxI2t8MSFnmDEjY7AxIWPMMSNf5DEhWAA1I1gYNSFUNDUjVEw1IVRoNSNQgDUhUJw1I1C0NSFQ0DUjUOg1IVEENSNRHDUhVTg1I1VQNSFVbDUjWYQ1IVmgNSNduDUhYdQ1I2XsNSFmCDUjaiA1IW48NSN2VDUhenA1I36INSGCpDUjirw1IY7YNSOW8DUhmww1I6MkNSGrQDUjs1g1Ibt0NSO/jDUhy6g1I9PANSHb3DUj4/Q1IewQOSP0KDkiAEQ5IAhgOSIUeDkgHJQ5IiisOSA0yDkiQOA5IEz8OSJZFDkgZTA5InVIOSCBZDkijXw5IJ2YOSKpsDkgucw5IsnkOSDaADki5hg5IPY0OSMGTDkhFmg5IyqAOSE6nDkjSrQ5IV7QOSNu6DkhfwQ5I5McOSGnODkju1A5IctsOSPfhDkh86A5IAe8OSIb1DkgM/A5IkQIPSBYJD0icDw9IIRYPSKccD0gsIw9IsikPSDgwD0i+Ng9IRD0PSMpDD0hQSg9I1lAPSFxXD0jiXQ9IaWQPSO9qD0h2cQ9I/HcPSIN+D0gKhQ9IkYsPSBeSD0iemA9IJZ8PSK2lD0g0rA9Iu7IPSEK5D0jKvw9IUcYPSNnMD0hh0w9I6NkPSHDgD0j45g9IgO0PSAj0D0iQ+g9IGAEQSKAHEEgpDhBIsRQQSDkbEEjCIRBISygQSNMuEEhcNRBI5TsQSG5CEEj3SBBIgE8QSAlWEEiSXBBIG2MQSKVpEEgucBBIuHYQSEF9EEjLgxBIVYoQSN6QEEholxBI8p0QSHykEEgGqxBIkLEQSBu4EEilvhBIL8UQSLrLEEhE0hBIz9gQSFrfEEjk5RBIb+wQSPryEEiF+RBIEAARSJsGEUgmDRFIshMRSD0aEUjIIBFIVCcRSN8tEUhrNBFI9zoRSINBEUgOSBFImk4RSCZVEUiyWxFIP2IRSMtoEUhXbxFI43URSHB8EUj8ghFIiYkRSBaQEUiilhFIL50RSLyjEUhJqhFI1rARSGO3EUjwvRFIfsQRSAvLEUiY0RFIJtgRSLPeEUhB5RFIz+sRSF3yEUjq+BFIeP8RSAYGEkiUDBJIIxMSSLEZEkg/IBJIzSYSSFwtEkjqMxJIeToSSAhBEkiWRxJIJU4SSLRUEkhDWxJI0mESSGFoEkjwbhJIf3USSA98EkieghJILokSSL2PEkhNlhJI3JwSSGyjEkj8qRJIjLASSBy3EkisvRJIPMQSSMzKEkhd0RJI7dcSSH3eEkgO5RJInusSSC/yEkjA+BJIUP8SSOEFE0hyDBNIAxMTSJQZE0glIBNItyYTSEgtE0jZMxNIazoTSPxAE0iORxNIIE4TSLFUE0hDWxNI1WETSGdoE0j5bhNIi3UTSB18E0iwghNIQokTSNSPE0hnlhNI+ZwTSIyjE0gfqhNIsbATSES3E0jXvRNIasQTSP3KE0iQ0RNII9gTSLfeE0hK5RNI3esTSHHyE0gE+RNImP8TSCwGFEjADBRIUxMUSOcZFEh7IBRIDycUSKQtFEg4NBRIzDoUSGBBFEj1RxRIiU4USB5VFEizWxRIR2IUSNxoFEhxbxRIBnYUSJt8FEgwgxRIxYkUSFuQFEjwlhRIhZ0USBukFEiwqhRIRrEUSNy3FEhxvhRIB8UUSJ3LFEgz0hRIydgUSF/fFEj15RRIjOwUSCLzFEi4+RRITwAVSOUGFUh8DRVIExQVSKoaFUhAIRVI1ycVSG4uFUgFNRVInTsVSDRCFUjLSBVIYk8VSPpVFUiRXBVIKWMVSMFpFUhYcBVI8HYVSIh9FUgghBVIuIoVSFCRFUjolxVIgJ4VSBmlFUixqxVISbIVSOK4FUh7vxVIE8YVSKzMFUhF0xVI3tkVSHfgFUgQ5xVIqe0VSEL0FUjb+hVIdAEWSA4IFkinDhZIQRUWSNobFkh0IhZIDikWSKgvFkhCNhZI3DwWSHZDFkgQShZIqlAWSERXFkjfXRZIeWQWSBNrFkiucRZISXgWSON+Fkh+hRZIGYwWSLSSFkhPmRZI6p8WSIWmFkggrRZIu7MWSFe6FkjywBZIjscWSCnOFkjF1BZIYdsWSPzhFkiY6BZINO8WSND1Fkhs/BZICAMXSKUJF0hBEBdI3RYXSHodF0gWJBdIsyoXSE8xF0jsNxdIiT4XSCZFF0jDSxdIYFIXSP1YF0iaXxdIN2YXSNRsF0hycxdID3oXSK2AF0hKhxdI6I0XSIaUF0gkmxdIwaEXSF+oF0j9rhdInLUXSDq8F0jYwhdIdskXSBXQF0iz1hdIUt0XSPDjF0iP6hdILvEXSMz3F0hr/hdICgUYSKkLGEhIEhhI6BgYSIcfGEgmJhhIxiwYSGUzGEgFOhhIpEAYSERHGEjkTRhIg1QYSCNbGEjDYRhIY2gYSANvGEikdRhIRHwYSOSCGEiFiRhIJZAYSMaWGEhmnRhIB6QYSKiqGEhJsRhI6bcYSIq+GEgrxRhIzcsYSG7SGEgP2RhIsN8YSFLmGEjz7BhIlfMYSDb6GEjYABlIegcZSBwOGUi+FBlIYBsZSAIiGUikKBlIRi8ZSOg1GUiLPBlILUMZSNBJGUhyUBlIFVcZSLddGUhaZBlI/WoZSKBxGUhDeBlI5n4ZSImFGUgsjBlI0JIZSHOZGUgWoBlIuqYZSF2tGUgBtBlIpboZSEnBGUjsxxlIkM4ZSDTVGUjY2xlIfeIZSCHpGUjF7xlIafYZSA79GUiyAxpIVwoaSPsQGkigFxpIRR4aSOokGkiPKxpINDIaSNk4Gkh+PxpII0YaSMhMGkhuUxpIE1oaSLlgGkheZxpIBG4aSKp0GkhPexpI9YEaSJuIGkhBjxpI55UaSI2cGkg0oxpI2qkaSICwGkgntxpIzb0aSHTEGkgayxpIwdEaSGjYGkgP3xpItuUaSF3sGkgE8xpIq/kaSFIAG0j5BhtIoQ0bSEgUG0jwGhtIlyEbSD8oG0jnLhtIjjUbSDY8G0jeQhtIhkkbSC5QG0jWVhtIfl0bSCdkG0jPahtIeHEbSCB4G0jJfhtIcYUbSBqMG0jDkhtIbJkbSBSgG0i9phtIZ60bSBC0G0i5uhtIYsEbSAzIG0i1zhtIXtUbSAjcG0iy4htIW+kbSAXwG0iv9htIWf0bSAMEHEitChxIVxEcSAEYHEisHhxIViUcSAAsHEirMhxIVTkcSABAHEirRhxIVU0cSABUHEirWhxIVmEcSAFoHEisbhxIWHUcSAN8HEiughxIWokcSAWQHEixlhxIXJ0cSAikHEi0qhxIYLEcSAy4HEi3vhxIZMUcSBDMHEi80hxIaNkcSBTgHEjB5hxIbe0cSBr0HEjH+hxIcwEdSCAIHUjNDh1IehUdSCccHUjUIh1IgSkdSC4wHUjbNh1IiT0dSDZEHUjjSh1IkVEdSD9YHUjsXh1ImmUdSEhsHUj2ch1IpHkdSFKAHUgAhx1Iro0dSFyUHUgLmx1IuaEdSGioHUgWrx1IxbUdSHO8HUgiwx1I0ckdSIDQHUgv1x1I3t0dSI3kHUg86x1I6/EdSJv4HUhK/x1I+QUeSKkMHkhZEx5ICBoeSLggHkhoJx5IGC4eSMg0Hkh4Ox5IKEIeSNhIHkiITx5IOFYeSOlcHkiZYx5ISmoeSPpwHkirdx5IXH4eSAyFHki9ix5IbpIeSB+ZHkjQnx5IgqYeSDOtHkjksx5IlboeSEfBHkj4xx5Iqs4eSFzVHkgN3B5Iv+IeSHHpHkgj8B5I1fYeSIf9Hkg5BB9I6wofSJ0RH0hQGB9IAh8fSLUlH0hnLB9IGjMfSM05H0h/QB9IMkcfSOVNH0iYVB9IS1sfSP5hH0ixaB9IZW8fSBh2H0jLfB9If4MfSDOKH0jmkB9ImpcfSE6eH0gBpR9ItasfSGmyH0gduR9I0b8fSIbGH0g6zR9I7tMfSKPaH0hX4R9IDOgfSMDuH0h19R9IKvwfSN4CIEiTCSBISBAgSP0WIEiyHSBIZyQgSB0rIEjSMSBIhzggSD0/IEjyRSBIqEwgSF5TIEgTWiBIyWAgSH9nIEg1biBI63QgSKF7IEhXgiBIDYkgSMSPIEh6liBIMJ0gSOejIEidqiBIVLEgSAu4IEjCviBIeMUgSC/MIEjm0iBIndkgSFTgIEgM5yBIw+0gSHr0IEgy+yBI6QEhSKEIIUhYDyFIEBYhSMgcIUiAIyFIOCohSO8wIUioNyFIYD4hSAABAAAAAAAA/wMAAAUAAAABAwAABwAAAP4EAAAJAAAA/QUAABEAAAACBQAAGwAAAPwGAAAhAAAAYwYAADIAAAADBgAAMwAAAGMGAAA0AAAA+QcAAEEAAABjBwAAYAAAAGMHAABiAAAABwcAAGMAAAAEBwAAawAAAPsIAACBAAAAYwgAAMIAAAAFCAAAwwAAAGMIAADUAAAAYwkAAAABAAD6CQAAAQEAAGMJAACqAQAABgkAAKsBAABjCgAAAAAAAAECAAAAAAAAAAIAAAIAAAADAwAAAgAAAAIDAAAGAAAABAQAAA4AAAAHBQAADQAAAAYFAAAPAAAABQUAAB8AAAALBgAAGAAAAAoGAAAZAAAACQYAAB0AAAAIBgAAPQAAAA0HAAA4AAAADAcAAHgAAAAPCAAAcgAAAA4IAADyAAAAEQkAAOYAAAAQCQAA5gEAABMKAADPAQAAEgoAAM4DAAAWCwAAnQMAABQLAACeBwAAFQsAAJ8HAAAXDAAAOAcAABkNAAByDgAAGA4AAOccAAAaDwAAzTkAADETAADAnAMAMhMAAMGcAwAzEwAAwpwDADQTAADDnAMANRMAAMScAwAbFAAAijkHABwUAACLOQcAHRQAAIw5BwAeFAAAjTkHAB8UAACOOQcAIBQAAI85BwAhFAAAkDkHACIUAACROQcAIxQAAJI5BwAkFAAAkzkHACUUAACUOQcAJhQAAJU5BwAnFAAAljkHACgUAACXOQcAKRQAAJg5BwAqFAAAmTkHACsUAACaOQcALBQAAJs5BwAtFAAAnDkHAC4UAACdOQcALxQAAJ45BwAwFAAAnzkHAGMVAAAAAAAALpoBAC6aAQCCmgEA4poBAOKaAQBGmwEArpsBAK6bAQAOnAEADpwBAA6cAQBmnAEAAAAAAAAAAAAAAAAAXJkBAFyZAQCkmQEA8JkBAPCZAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhpgBAIaYAQDQmAEAHJkBAByZAQAAAAAAAAAAAAAAAAAAAAAA1JcBANSXAQDulwEACJgBAAiYAQAImAEAJpgBACaYAQBGmAEARpgBAEaYAQBmmAEAmUKAPBW2GT216l09jWGsPSsY0z3aUPo9AAAAPvl59Dsu/rk8WD06PV3PlD1wcso9AonxPQAAAD7nAH0/SDccPnZzZT9+DeM+3Ik4PyxuMT/h5PQ+LdFgPwAAgD8AAAAAAACAPwAAAAB2c2U/fg3jvucAfT9INxy+c90Kv18QVz/nziA9ec1/P3lGbb94NsA+bWN5v3M4Z74AAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAPb60+kN1wPw9vrT6Q3XA/D2+tPpDdcD8AAIA/AAAAAAAAgD8AAAAAAACAPwAAAABbQEW/OC4jP1tARb84LiM/AACAPwAAAAAAAIA/AAAAAA9vrT6Q3XA/D2+tPpDdcD8Pb60+kN1wPw9vrT6Q3XA/W0BFvzguIz9bQEW/OC4jP5dZXL+KUAK/D2+tPpDdcD/j4D8+LXd7v1tARb84LiM/l1lcv4pQAr+XWVy/ilACv+PgPz4td3u/4+A/Pi13e78l2Xw/WzAgvpdZXL+KUAK/4Ft8P7sXLD4L+nQ/MaCUPnygfT8FGws+NdlfP/tq+D6ZZyI/A+RFP77naj80hss+cgwqP7VcPz82vcg9bcR+PwjYRj94PCE/KBPCPmTlbD/qWvG+mMVhP84aFD/7zlA/AACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAANdlfP/tq+L6ZZyI/A+RFv77naj80hsu+4Ft8P7sXLL4L+nQ/MaCUvnygfT8FGwu+e282v5CXMz/aOQ6/MdtUv/tDqb4Mm3E/drfwvbw5fj++FHu/wsVHPhuXUz6qeXo/s6p+v7690D3aOQ4/MdtUv6WiRb8ftyI/XhBXv3TdCr++FHs/wsVHPkFcfb/OqxI+AACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAA8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/AACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAv6Jnv73/2T4AAACAAACAv+qKEr9h6FE/v6Jnv73/2T4AAACAAACAv+qKEr9h6FE/AACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAA8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/v6Jnv73/2T4AAACAAACAv+qKEr9h6FE/v6Jnv73/2T4AAACAAACAv+qKEr9h6FE/eeccv5pHSr/zBDU/8wQ1Pxrhfb9BiAO+8GBfPq7VeT/zBDW/8wQ1P3e77D4A/mI/OS4jP1pARb8AAIC/AAAAAAh1sL7dUHC/v6Jnv73/2T4AAACAAACAv+qKEr9h6FE/eeccv5pHSr/zBDU/8wQ1Pxrhfb9BiAO+eeccv5pHSr/zBDU/8wQ1Pxrhfb9BiAO+OS4jP1pARb8AAIC/AAAAAAh1sL7dUHC/OS4jP1pARb8AAIC/AAAAAAh1sL7dUHC/ABlkP3Vx6D7zBDU/8wQ1v41KLD92WD2/eeccv5pHSr/zBDU/8wQ1Pxrhfb9BiAO+ScpHP+cPID8V78M+XoNsP17nWj/EugQ/tj/hviLlZT9eg2y/Fe/DvjXOg70jeH8/PO14v1EMb75eg2w/Fe/DvrIjar8fBs8+zKyAPOr3f78V78O+XoNsP5YKSL+Dvx+/Wa56P3KnT74V78O+XoNsv8udRD6YPHu//7HSPrpRaT9eg2w/Fe/DPvN+dT+lKJG+JLhMvyK1GT9eg2y/Fe/DPlvdMT+2Hjg/9alCvzxCJr8V78M+XoNsv0cJor5213I/hZTvPnU+Yr8V78M+XoNsP/bIfL/+xiE+O+12P2Uahz5eg2y/Fe/Dvru9GL/8cE2/8fJAvT+3fz9eg2w/Fe/DvmcU3z5YbGa/ITB8vx4OMD4V78O+XoNsP9Hifz9EdPS8De/DvmCDbL8V78O+XoNsv40s+j7nW18/RXJRP4czE79eg2w/Fe/DPq42DL/rL1Y/c1g9P5BKLD9eg2y/Fe/DPly/fr8OV8q9zKz9vqBeXj8V78M+XoNsv464vr55k22/2K50v4CMlr4V78M+XoNsP3aQJj8KZ0K/Xq+gPfk1f79eg2y/Fe/Dvm1jeT99OGc+MnJ9P05IEL5eg2w/Fe/DvqMbgD5k23c/mvq0PkV5bz8V78O+XoNsP8gnPr+hZSs/ffdVv7yMDD8V78O+XoNsv73lb79guLK+Gtc3v10nMr9eg2w/Fe/DPnl9/b0NCH6/f8IFP5xGWr9eg2y/Fe/DPpSYUj9CjRG/pDJyP5LYpT4V78M+XoNsv49uYj993u4+q7zgvTl0fj8V78M+XoNsPxZsmrtG/38/O3R+vxW84D1eg2y/Fe/DviiMY78Yl+o+btilvqoycr9eg2w/Fe/Dvv42Ub+8hxO/pkZaP27CBb8V78O+XoNsPwZRCD62uH2/UCcyPyfXNz8V78O+XoNsv5+6cD+wMK6+zIwMv3P3VT9eg2w/Fe/DPhGIPD9+Li0/Pnlvv736tL5eg2y/Fe/DPkDGhL4FPnc/mUgQPi9yfb8V78M+XoNsvxDseb/xzl0++jV/P8iuoL0V78M+XoNsP4K5JL+49kO/XIyWPt6udD9eg2y/Fe/Dvtgwwz6vqmy/qV5ev6ys/T5eg2w/Fe/Dvn35fj95H7e9gkosv4BYPb8V78O+XoNsP0swCj/Lf1c/lzMTPztyUb8V78O+XoNsv45f/r6NK14/WYNsPy/vwz5eg2w/Fe/DPnnNf79BzyC9aA4wvh0wfD9eg2y/Fe/DPu252r7adme/QLd/v8TxQD0V78M+XoNsv7CrGj8c/ku/QRqHvkDtdr8V78M+XoNsP4BkfD/aTCs+fj5iP2OU775eg2y/Fe/DvpJznT4vmHM/LkImPwKqQj9eg2w/Fe/DvpWXM792bzY/MbUZvxi4TD8V78O+XoNsPwnNdL+rx5W+s1FpvyGy0r4V78O+XoNsv80iO75WsHu/vKdPPlWuer9eg2w/Fe/DPsKJST8I2x2/6/d/P3GqgLxeg2y/Fe/DPkcnaT+kbdM+CAxvPkDteD8V78M+XoNsv/4SYT38nH8/K+Vlv5Q/4T4V78M+XoNsPyIlXL8VqQI/2Q8gv1XKR79eg2y/Fe/DvqCkWb9uyQa/9g8gPz7KR79eg2w/Fe/DvusPlz16TX+/GuVlP9g/4T4V78O+XoNsP8oaaz/lmcq+mgxvvjjteD8V78O+XoNsv9+GRj9coCE/6vd/vyevgLxeg2w/Fe/DPlAUTr4jw3o/KadPvl2uer9eg2y/Fe/DPkcrdr9Show+wlFpP9yx0r4V78M+XoNsvxYfML/FyTm/E7UZPy+4TD8V78M+XoNsP02bpj44EXK/S0Imv+mpQj9eg2y/Fe/DvqwnfT90PRi+bT5iv6aU775eg2w/Fe/Dvk3MFj8v304/ihqHPjbtdr8V78O+XoNsP85p476aXGU/Prd/Px70QD0V78O+XoNsv1byf793RKc80w0wPiQwfD9eg2w/Fe/DPtvz9b4th2C/Z4Nsv+ruwz5eg2y/Fe/DPuI5Dj8s21S/eDMTv1ByUb8V78M+XoNsv3B/fj8Iit09Q3JRP4szEz9eGoe+PO12P/k1f78qr6A9A7LSvrpRab8g1zc/VycyvyPlZT+1P+E+YrzgvTp0fj887Xi/TQxvPsKMDL9591W/JLUZPyK4TL/arnQ/dIyWPrLyQD0/t38/XoNsvxXvwz6MSiy/d1g9v3+U7z53PmK/MXJ9P2pIED55p08+Wa56P6BGWr93wgU/SspHv+cPIL+B2KU+pjJyv+r3fz+irIC8qPq0PkN5bz/3qUK/OkImP6NeXr/CrP2+Lw4wPiAwfL8gMHw/Lw4wvsKs/T6jXl4/OkImv/epQj9DeW+/qPq0vqKsgDzq93+/pjJyP4HYpb7nDyA/SspHP3fCBb+gRlo/Wa56v3mnT75qSBC+MXJ9v3c+Yj9/lO++d1g9P4xKLD8V78O+XoNsPz+3f7+y8kC9dIyWvtqudL8iuEw/JLUZv3n3VT/CjAw/TQxvvjzteD86dH6/YrzgPbU/4b4j5WW/VycyPyDXN7+6UWk/A7LSPiqvoL35NX8/PO12v14ahz6LMxO/Q3JRv4szEz9DclG/PO12P14ahz4qr6A9+TV/P7pRab8DstI+VycyvyDXN7+1P+E+I+Vlvzp0fj9ivOA9TQxvPjzteD9591W/wowMPyK4TL8ktRm/dIyWPtqudL8/t38/svJAvRXvwz5eg2w/d1g9v4xKLD+4BLU/OAS1P6ICtT+g/bQ/zO20P9q7tD9xc7Q/+uOzP63Jsj+UpbA/XZisP4kuqD/q1KE/wReZP2G+jT8AAIA/ly5hP6YwQT9JNyI/pOgFP0pR2j5nL54+CbBiPu94IT7zVuU9Up2iPVEWNz0+/M08c7FnPItLAjzPipI72ru0Pwiasz8thbE/XZisP6lHpT/BF5k/Yb6NPwAAgD+XLmE/pjBBP9mnEz9KUdo+Ba6NPlTiND5SnaI9AACAP4zvez8UoHU/CAplP/SxUz/zBDU/tBnoPgAAAAAAAAAA9L01PsxHkD67teQ+0fIPP/MENT9WL2Q/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP/Lkfz+oun8/10l/PyrRfj9z9H0/w/17Pyvadz8AAIA/aJp/P7D7fj+2VH0/A5F7P9tYeD9YDXE/jthhPwAAgD+nMH8/8+x9P6CPej/1+XY/VHVwP9nLYT9ouEM/AACAPwu6fj+QvXw/7nZ3P7fbcT8ZtGc/rgxRPwltIz8AAIA/F0V+P7OSez8DbHQ/vddsP8IqXz/K6EA/CRcFPwAAgD9/qn0/EQh6P35qcD+QQmY/OgdUP0wiLD/hb74+AACAP64wfT900Xg/tEVtP1ocYT/zXUs/1jQcP4o4hj4AAIA/ptV8P4vpdz837mo/3EhdPxD2RD9ZjhA/pk08PgAAgD9wk3w/9kB3Pys7aT9bg1o/SFZAPyY3CD9IDAQ+AACAP+xjfD8LyHY/gQNoP8GHWD+ACT0/lkwCP35wuT0AAIA/IDF8P9BGdj/JtmY/fGpWP6aGOT8QE/g+SnxOPQAAgD9yFHw/4/11Py77ZT+UOVU/NI03P+oP8T6Xy+Y8AACAP00EfD/W1HU/oZFlPyCOVD9EcTY/5yHtPslPgTwAAIA/OPt7P7+9dT9HVmU/vS1UP73RNT927eo+VSARPAAAgD8d9ns/w7B1P+g0ZT+O91M/FXg1P3+w6T52BqM7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+13rvLZfPL1al5i94afEvUQtAb6kgTS+FiWAvgAAAADb+2O9RVu2vap7E74HwD2+toF4vrVkrL7qE/G+AAAAAIrIor1hGAK+cPVRvj29hr7ira++gUPxvogDJb8AAAAAtwHMve3iIr6AG4O++dCnvu612b6qwxO/UwxFvwAAAADzsu29QZw9vlg8mL7DVcK+v9v6vphKKL9Rr1q/AAAAAMr1Cb6001u+LemvvrbA374ZdQ+/D309vwuibb8AAAAADE0XvlzZcL5IOsC+CtDzvgl+G7+t0Uq/BAx3vwAAAAB4iCC+zlt/vk1oy76auAC/3Ycjv95HU79nonu/AAAAAKHrJr5YsIS+0RXTvitfBb/28Si/eMBYv9Lcfb8AAAAAfForviUpiL6iYti+PJEIvyyhLL/tW1y/y/J+vwAAAABL9y++0MSLvtLf3b4O3Qu/ymUwv5TxX7+srH+/AAAAAAKEMr7iwo2+n+XgvjGsDb+AczK/n9lhv/zlf78AAAAASu8zvp3ejr5gk+K+7qwOv7+VM79E42K/1vd/vwAAAABbujS+KX2Pvk6D474dPA+/QTc0v+B1Y79u/X+/AAAAACcsNb4A1o++rAnkvkCMD7+IkTS/csdjvzD/f78AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD/y5H8/qLp/P9dJfz8q0X4/c/R9P8P9ez8r2nc/AACAP2iafz+w+34/tlR9PwORez/bWHg/WA1xP47YYT8AAIA/6/V+P61WfT+7Bnk/GnB0P1AcbD+SdFk/b4gzPwAAgD8XRX4/s5J7PwNsdD+912w/wipfP8roQD8JFwU/AACAPzJ+fT8Sl3k/ekVvPy5iZD/Z3VA/9EsmPwOlqT4AAIA/6/B8P/4ueD+doWs/wm1eP8DfRj/6BRQ/CPdTPgAAgD/sY3w/C8h2P4EDaD/Bh1g/gAk9P5ZMAj9+cLk9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+13rvLZfPL1al5i94afEvUQtAb6kgTS+FiWAvgAAAADb+2O9RVu2vap7E74HwD2+toF4vrVkrL7qE/G+AAAAAMtcuL2qRRO+62Ftvg4imL7Q3cW+6RYHv15+Nr8AAAAA87LtvUGcPb5YPJi+w1XCvr/b+r6YSii/Ua9avwAAAAB69Q6+EbZjvtMLtr5TUee+1gUUv6mhQr8IinG/AAAAAGPTHb5mG3u+iiPIvrN3/b7yMiG/v91Qv5h0er8AAAAAfForviUpiL6iYti+PJEIvyyhLL/tW1y/y/J+vy09TzsyL0I7N1MuO34S+TqGYpg6RLQlOUS0JTlEtCU5Y0O4O26nrDt8AJs7KXVdOz59BzsiapM5ImqTOSJqkzme1CM8PoMZPGfRCTxU6sQ7IfNwOxAVAzoQFQM6EBUDOjKnkTwLfIg8+hJ1PPcaLzw+R9Y7DyVpOg8laToPJWk6T3YBPRKo8jyU5dk8wr2bPLegPjyDcs86g3LPOoNyzzq7+GU9j5tXPRO3QT3tnAo9zMmpPDTZODs02Tg7NNk4O+kqoj0DIJg9lMmIPeMTRD2Rb/A8i/aCO4v2gjuL9oI7OVvkPWZ01j0lI8E9DOGKPe2qKj1hKro7YSq6O2EqujvYSiA+ltwWPmBJCD67R8U9zIJzPXEqBTxxKgU8cSoFPCC1Xz63aVM+LCFAPk/gDD4Rfq89LAhBPCwIQTwsCEE8sV+aPo74kj5fDYc+ajhLPs0ZAT4E2o88BNqPPATajzwkYL0+xaS1PtreqD594YI+7pgqPgudwTwLncE8C53BPG9o5T6ELd4+WtnRPmofqj5nHmg+T9gIPU/YCD1P2Ag9IpsIP0vNBT+M3AA/WK3ePo4apT6Rz1U9kc9VPZHPVT1LOh8/SL4dP80QGz9NwBA/UBn3PgSw2D0EsNg9BLDYPfMENT/zBDU/8wQ1P/MENT/zBDU/8wQ1P/MENT/zBDU/sXRIP0OgST9KsUs/qCVTP5E2YD8lkH4/JZB+PyWQfj+DgVg//T9aP/AzXT9DhWY/FlNyP6emfz+npn8/p6Z/P1TdZD8WpGY/hIJpP4F0cT8TVnk/att/P2rbfz9q238/T9htPw1Zbz+9rHE/m353Px5sfD+y7X8/su1/P7Ltfz8gFnQ/6Dl1PwPvdj916Ho/EvV9P+X1fz/l9X8/5fV/P/nQeT8PfHo/HHR7P9mQfT/zDn8/dPt/P3T7fz90+38/GNh8P980fT/4uH0/PM9+PxWMfz/W/X8/1v1/P9b9fz9UZ34/tZd+P+3bfj8laX8/Fsd/P/H+fz/x/n8/8f5/Pzkyfz/0Sn8/qW1/P960fz/E438/ev9/P3r/fz96/38/oJh/PyWlfz+rtn8/dtp/P+zxfz+9/38/vf9/P73/fz9C338/PuN/P9Dofz8o9H8/kPt/P+v/fz/r/38/6/9/P6T1fz/n9n8/q/h/P0L8fz+Z/n8/+f9/P/n/fz/5/38/ufx/PyD9fz+u/X8/0f5/P4//fz/+/38//v9/P/7/fz/3/n8/F/9/P0T/fz+g/38/3P9/P///fz///38///9/P6z/fz+2/38/xf9/P+L/fz/1/38/AACAPwAAgD8AAIA/AACAP4zvez8UoHU/CAplP/SxUz9YfTk/WH05P1h9OT8AAIA/7yZ8PxA3dj+k72Y/nftXPwHhSD8B4Ug/AeFIPwAAgD/jtnw/trl3Pz5/az/R5WA/Ma9YPzGvWD8xr1g/AACAPwBufT8/mnk/I7NwP2W4aT/d9WQ/3fVkP931ZD8AAIA/BB9+P71fez+KQHU/kcRwP6LmbT+i5m0/ouZtPwAAgD9FsX4/5M58P/C8eD8N4nU/zR50P80edD/NHnQ/AACAP/1Ifz8SRX4/tCN8P+yyej8w1Xk/MNV5PzDVeT8AAIA/EaB/P+8Yfz+2AX4/Tkh9Py7afD8u2nw/Ltp8PwAAgD/Qzn8/0ol/P2T8fj9Tn34/Xmh+P15ofj9eaH4/AACAPxDnfz8pxH8/53x/PzpOfz+9Mn8/vTJ/P70yfz8AAIA/bvN/P9vhfz8Mvn8/paZ/P+KYfz/imH8/4ph/PwAAgD8C/H8/b/Z/Pxfrfz+w438/V99/P1fffz9X338/AACAP7z+fz/5/H8/Yvl/Pwr3fz+r9X8/q/V/P6v1fz8AAIA/mv9/Pwv/fz/o/X8/K/1/P7v8fz+7/H8/u/x/PwAAgD/g/38/sv9/P1b/fz8b/38/9/5/P/f+fz/3/n8/AACAP/b/fz/o/38/yv9/P7f/fz+s/38/rP9/P6z/fz8AAAAA9L01PsxHkD67teQ+0fIPP5JvMD+SbzA/km8wPwAAAABd4DA+pTOMPrfy3D50bgk/kLEeP5CxHj+QsR4/AAAAAF+IIz4uH4E+HsXIPgiZ9D6gUgg/oFIIP6BSCD8AAAAA+L0QPlF+Yz4LWq4+6ejQPnEG5T5xBuU+cQblPgAAAABXq/c95MlBPkXMkj6r+a0+Hhi9Ph4YvT4eGL0+AAAAAAC6zj1sMiE+cityPoaDjj7KKJo+yiiaPsoomj4AAAAAbfKYPVq07T39KTE++k5PPr9pXz6/aV8+v2lfPgAAAADjil09ntOrPdMS/z0PzxQ+NBYgPjQWID40FiA+AAAAAM2qHj2D33U9VBy2PYwu1D03EeQ9NxHkPTcR5D0AAAAAH/nhPKX+Lj1keYE9/L6WPav2oT2r9qE9q/ahPQAAAADxcqA8THD4PKi2Nz360VU9565lPeeuZT3nrmU9AAAAAP/RNDyE94s8aOzOPKjG8Dy4TAE9uEwBPbhMAT0AAAAAVX7LO0mDHTwb1Wg8f3OHPHR4kTx0eJE8dHiRPAAAAABh8mQ7My6xO170AjyHXBg8M6EjPDOhIzwzoSM8AAAAAIK/ADsiXEc7D0yTO5ZZqzvgC7g74Au4O+ALuDsAAAAA4eKQOhYA4Dr2siU7lqpAO9rrTjva60472utOO7v4ZT2Pm1c9E7dBPe2cCj3Myak8NNk4OzTZODs02Tg7/M7/PZBf8D3Qp9g99w2cPTD+Pz1FktE7RZLRO0WS0TuJXUg+JQo9PpphKz69+/k9mxubPYgzKjyIMyo8iDMqPLFfmj6O+JI+Xw2HPmo4Sz7NGQE+BNqPPATajzwE2o88DtHQPl01yT44crw+cQuVPhUYRj7XTOQ810zkPNdM5Dwimwg/S80FP4zcAD9Yrd4+jhqlPpHPVT2Rz1U9kc9VPUs6Hz9Ivh0/zRAbP03AED9QGfc+BLDYPQSw2D0EsNg98wQ1P/MENT/zBDU/8wQ1P/MENT/zBDU/8wQ1P/MENT+xdEg/Q6BJP0qxSz+oJVM/kTZgPyWQfj8lkH4/JZB+P4OBWD/9P1o/8DNdP0OFZj8WU3I/p6Z/P6emfz+npn8/ub1pP0lnaz+IB24/wOl0PwQqez+M5n8/jOZ/P4zmfz8gFnQ/6Dl1PwPvdj916Ho/EvV9P+X1fz/l9X8/5fV/Py8Nez+SmXs/n2N8P/MVfj/GQ38/d/x/P3f8fz93/H8/wf59Pwg7fj9BkH4/d0F/P/e3fz+p/n8/qf5/P6n+fz+gmH8/JaV/P6u2fz922n8/7PF/P73/fz+9/38/vf9/PwAAgD+M73s/FKB1PwgKZT/0sVM/WH05P1h9OT9YfTk/AACAP+8mfD8QN3Y/pO9mP537Vz8B4Ug/AeFIPwHhSD8AAIA/47Z8P7a5dz8+f2s/0eVgPzGvWD8xr1g/Ma9YPwAAgD9WyX0/iIV6P2cZcz/Hfm0/WdBpP1nQaT9Z0Gk/AACAP0Wxfj/kznw/8Lx4Pw3idT/NHnQ/zR50P80edD8AAIA/7mt/P1Safj9K5Xw/+b97P4QQez+EEHs/hBB7PwAAgD9xwn8/AWx/P3G6fj9TRX4/EAB+PxAAfj8QAH4/AACAP27zfz/b4X8/DL5/P6Wmfz/imH8/4ph/P+KYfz8AAAAA9L01PsxHkD67teQ+0fIPP5JvMD+SbzA/km8wPwAAAABd4DA+pTOMPrfy3D50bgk/kLEeP5CxHj+QsR4/AAAAAF+IIz4uH4E+HsXIPgiZ9D6gUgg/oFIIP6BSCD8AAAAASl4GPtO1Uj7fe6A+iR+/PpR90D6UfdA+lH3QPgAAAAAAus49bDIhPnIrcj6Gg44+yiiaPsoomj7KKJo+AAAAAJKXiT24rNU9cPwePgvROT68Gkg+vBpIPrwaSD4AAAAAaH0xPaaOiT274cs92qLtPdB7/z3Qe/890Hv/PQAAAADxcqA8THD4PKi2Nz360VU9565lPeeuZT3nrmU9AACAP/MENT8AAAAA8wQ1vwAAgL/zBDW/AAAAgPMENT8AAIA/AAAAAPMENT8AAIA/8wQ1PwAAAADzBDW/AACAv/MENb8AAACAcAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWOIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAgEAAALAAAADAAAAA0AAAAOAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAwBAAACwAAAA8AAAANAAAADgAAAAIAAAACAAAAAgAAAAIAAAAAAAAAQAQAABAAAAARAAAAAgAAAAAAAABQBAAAEAAAABIAAAACAAAAAAAAAIAEAAALAAAAEwAAAA0AAAAOAAAAAwAAAAAAAABwBAAACwAAABQAAAANAAAADgAAAAQAAAAAAAAAAAUAAAsAAAAVAAAADQAAAA4AAAACAAAAAwAAAAMAAAADAAAAAAAAAAAAZiAmEAYIZRhlGEMQQxBDEEMQQxBDEEMQQxAiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCAAAAAAAAAAAakBKMCooCiBpOGk4SShJKCkgKSAJGAkYaDBoMGgwaDBIIEggSCBIICgYKBgoGCgYCBAIEAgQCBBnKGcoZyhnKGcoZyhnKGcoRxhHGEcYRxhHGEcYRxhHGG5gTlguUA5QblhOUC5IDkgNQA1ATUhNSC1ALUANOA04bVBtUE1ATUAtOC04DTANMGtIa0hrSGtIa0hrSGtIa0hLOEs4SzhLOEs4SzhLOEs4KzArMCswKzArMCswKzArMAsoCygLKAsoCygLKAsoCygAAAAAL2gvaBCAUIAwgBB4cIBQeDB4EHBweFBwMHAQaG9wb3BPaE9oL2AvYA9gD2BvaG9oT2BPYC9YL1gPWA9YAAAAAAAAAABmOEYgJiAGEGYwRhgmGAYIZShlKCUQJRBkIGQgZCBkIGQYZBhkGGQYQxBDEEMQQxBDEEMQQxBDEAAAAAAAAAAAaUhJOCk4CTAIKAgoSDBIMCgwKDAIIAggZ0BnQGdAZ0BHKEcoRyhHKCcoJygnKCcoBxgHGAcYBxgAAAAAbXhteG6AToAugA6ALngOeE54LnBNcE1wDXANcG1wbXBNaE1oLWgtaA1oDWhtaG1oTWBNYC1gLWANYA1gDFgMWAxYDFhMWExYTFhMWCxYLFgsWCxYDFAMUAxQDFBsYGxgbGBsYExQTFBMUExQLFAsUCxQLFAMSAxIDEgMSGtYa1hrWGtYa1hrWGtYa1hLSEtIS0hLSEtIS0hLSEtIK0grSCtIK0grSCtIK0grSAtAC0ALQAtAC0ALQAtAC0BrUGtQa1BrUGtQa1BrUGtQS0BLQEtAS0BLQEtAS0BLQCtAK0ArQCtAK0ArQCtAK0ALOAs4CzgLOAs4CzgLOAs4AAAAAAAAAAAAAAAAAAAAAAYYRjgmOAYQZkhGMCYwBgglKCUoRShFKCUgJSBFIEUgJRglGGVAZUBFGEUYJRAlEGQ4ZDhkOGQ4ZDBkMGQwZDBkKGQoZChkKGQgZCBkIGQgZBhkGGQYZBhEEEQQRBBEECQIJAgkCCQIBAAEAAQABAAAAAqAaoBKgCqACnhqeEp4KngKcGpwSnAqcApoKWgpaAlgCWBJaEloKWApYAlYCVhpaGloSWBJYClYKVgJUAlQaGBoYGhgaGBIWEhYSFhIWChQKFAoUChQCEgISAhICEhoWGhYaFhoWEhQSFBIUEhQKEgoSChIKEgIQAhACEAIQAc4BzgHOAc4BzgHOAc4BzgHMAcwBzAHMAcwBzAHMAcwR0hHSEdIR0hHSEdIR0hHSAcoBygHKAcoBygHKAcoByhnUGdQZ1BnUGdQZ1BnUGdQR0BHQEdAR0BHQEdAR0BHQCdAJ0AnQCdAJ0AnQCdAJ0AHIAcgByAHIAcgByAHIAcgBggmCAAABgAGECYQRhAAAAYYJhhGGGYYBiAmIEYgZiAGKCYoRihmKAYwJjBGMGYwBjgmOEY4ZjgGQCZARkBmQAZIJkhGSGZIBlAmUEZQZlAGWCZYRlhmWAZgJmBGYGZgBmgmaEZoZmgGcCZwRnBmcAZ4JnhGeGZ4BoAmgEaAZoAAAEMQAgACACEIIQghCCEIZyBnIEggKCBHGEcYJxgnGAYgBiAGIAYgBhgGGAYYBhgGEAYQBhAGEGYYZhhmGGYYJhAmECYQJhAGCAYIBggGCAMABAACAAUAEAAfAC8APwBfAH8AnwC/AN8A/wA/AX8B/wH/Av8D/wcAAAQACAAMABAAFAAYACAAKAAwAEAAXACAAAAABAAIAAwAEAAUABgAIAAoADAAQABcAIAAAAAEAAgADAAQABQAHAAkACwAOABEAFAAYABwAIAAAAAEAAgADAAQABQAGAAcACQALAA0AEAATABcAGwAgAAAAAQACAAMABAAFAAYABwAIAAoADAAPABIAFgAbACAAAAABAAIAAwAEAAUABgAHAAkACwANAA8AEgAWABsAIAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABEAEwAVABcAGQAcAB8AIgAlACkALgA0ADsAAwBLAFMAWwBjAGsAcwBAAIAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGAAbAB4AIQAkACgALAAwADUAOwABAEgAUABYAGAAaABwAHgAQACAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAgAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAQATABUAFwAZABsAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABIAFAAWABgAGgAcAB8AIgAlACkALQAyADgAAABIAFAAWABgAGgAcAB4AEAAAQACAAMABAAFAAYABwAIAAkACgALAA0ADwARABQAFwAaAB4AIwApADAAOAAAAEgAUABYAGAAaABwAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAUAUABgAHAAQACQAKAAsACAANAA4ADwAMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAZABwAHwAjACcAKwAwADYAPAADAEwAVgBgAGoAdAB+AEgAkgCcAKYAsAC6AIQAzgDYAOIA7AD2AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAwADgAQABIAFAAWABgAGwAeACEAJAAoACwAMQA2ADwAAgBJAFAAWABgAGgAcAB4AEAAiACQAJgAoACoALAAuACAAMgA0ADYAOAA6ADAAQAAAQACAAMABAAFAAYABwAIAAkACgAMAA4AEAASABQAFgAYABsAHgAhACQAKAAsADEANgA8AAIASQBQAFgAYABoAHAAeABAAIgAkACYAKAAqACwALgAgADIANAA2ADgAOgA8AD4AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAVABcAGQAbAB0AHwAiACUAKAArAC8AMwA3ADwAAQBHAE0AVABbAGMAbAB1AH8ASgCWAKMAsACAANAA4ADwAMABAAACAAQABgAIAAoADAAOABAAEgAUABYAGQAcAB8AIgAlACgAKwAuADEANQA5AD0AAQBGAEsAUABWAFwAYwBqAHIAewBFAI8AmgCmALMAgQDQAOAA8ADAAQAAAwAGAAkADAAPABIAFQAYABsAHgAhACQAJwArAC8AMwA3ADsAPwADAEgATQBSAFcAXQBjAGkAcAB3AH8ASACRAJsApgCyAL8AjQDcAOwAwAEAAABAAIAAwAEAAUABgAGAAcAAhABEAAQCgAKAAQABQAGAAcACAAJAAoACwAMAAkADgALAAwADQAOAA8AEAANABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhAAEQABAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMASDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAc2VuZABbIl9fYmFuZHdpZHRoIl0AZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAISElcwoAYWFjIHNhbXBsZXJhdGU6JWQgY2hhbm5lbHM6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgPSAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGFhYyBpbml0ISAlZABhdWRpbyBpbml0ISAlZABERUNPREVSIElOSVRJQUxJWkFUSU9OIEZBSUxFRAoASDI2NCBpbml0ADhCcm9hZHdheQAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgB2aWRlbyBkZWNvZGUgJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAABlVURENDQjIyMjExMTEwEBAQEBAQEBAQEBAQEBAQEA+enZyMi4uKenp6eXl5eXhoaGhoaGhoZ2dnZ2dnZ2dubWxralpZWVhISEhHR0dHRkZGRkVFRUVENDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTAwMDAwMDAwPWtsXFpaWVlYSEhIRUVFRURERERAQEBARzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTxbWlBZSUdHQ0NCQkg4ODg2NjY2NTU1NTQ0NDQxMTExO1laSkhIQkJBQUBARzc3NzY2NjY1NTU1NDQ0NDMzMzM6YGFRWEhISEk5OTk5OTk5Nzc3Nzc3Nzc2NjY2NjY2NjU1NTU1NTU1NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyOWBhUVdHR0dIODg4ODg4ODY2NjY2NjY2NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyNSUlJSUlJSUlJSUlJSUlJShgYlJRQUFBRzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzNSUlJSUlJSUlJSUlJSUlJSQkJCQkJCQkJCQkJCQkJCQhYGdXUkJCQkU1NTU1NTU1NiYmJiYmJiYmJiYmJiYmJiQkJCQkJCQkJCQkJCQkJCQjIyMjIyMjIyMjIyMjIyMjIVBWRkIyMjI1JSUlJSUlJSQkJCQkJCQkIyMjIyMjIyMgQUIyMzM1NTQUFBQUFBQUEEFENDIiIiIjExMTExMTExAxMyMiEhISECEiEhEQEiEgEBMiISAkMzIiISEgICU0MzIxISAgITI0MzY1MCAgAQAQIECCADBQoMDy8HCw0OBgkfIyUqLCEiJCgnKy0uERIUGBMVGhwXGx0eFhkmKS8fDwAXGx0eBwsNDicrLS4QAwUKDBMVGhwjJSosAQIECBESFBgGCRYZICEiJCgmKQAAAAAAAAAAAAAAAAAAAAAEBAUGBwgJCgwNDxEUFhkcICQoLTI4P0dQWmVxf5Citsvi//8AAAAAAAAAAAAAAAAAAAAAAgICAwMDAwQEBAYGBwcICAkJCgoLCwwMDQ0ODg8PEBARERISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAABAAABAAEBAAEBAQEBAQEBAQEBAQEBAQECAQECAQECAQECAQIDAQIDAgIDAgIEAgMEAgMEAwMFAwQGAwQGBAUHBAUIBAYJBQcKBggLBggNBwoOCAsQCQwSCg0UCw8XDREZZyBhICAgbyByIGUgbiAgIHQgaCBnIGkgciB5IHAgbyBjTm8gZXJyb3IAR2FpbiBjb250cm9sIG5vdCB5ZXQgaW1wbGVtZW50ZWQAUHVsc2UgY29kaW5nIG5vdCBhbGxvd2VkIGluIHNob3J0IGJsb2NrcwBJbnZhbGlkIGh1ZmZtYW4gY29kZWJvb2sAU2NhbGVmYWN0b3Igb3V0IG9mIHJhbmdlAFVuYWJsZSB0byBmaW5kIEFEVFMgc3luY3dvcmQAQ2hhbm5lbCBjb3VwbGluZyBub3QgeWV0IGltcGxlbWVudGVkAENoYW5uZWwgY29uZmlndXJhdGlvbiBub3QgYWxsb3dlZCBpbiBlcnJvciByZXNpbGllbnQgZnJhbWUAQml0IGVycm9yIGluIGVycm9yIHJlc2lsaWVudCBzY2FsZWZhY3RvciBkZWNvZGluZwBFcnJvciBkZWNvZGluZyBodWZmbWFuIHNjYWxlZmFjdG9yIChiaXRzdHJlYW0gZXJyb3IpAEVycm9yIGRlY29kaW5nIGh1ZmZtYW4gY29kZXdvcmQgKGJpdHN0cmVhbSBlcnJvcikATm9uIGV4aXN0ZW50IGh1ZmZtYW4gY29kZWJvb2sgbnVtYmVyIGZvdW5kAEludmFsaWQgbnVtYmVyIG9mIGNoYW5uZWxzAE1heGltdW0gbnVtYmVyIG9mIGJpdHN0cmVhbSBlbGVtZW50cyBleGNlZWRlZABJbnB1dCBkYXRhIGJ1ZmZlciB0b28gc21hbGwAQXJyYXkgaW5kZXggb3V0IG9mIHJhbmdlAE1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkAFF1YW50aXNlZCB2YWx1ZSBvdXQgb2YgcmFuZ2UATFRQIGxhZyBvdXQgb2YgcmFuZ2UASW52YWxpZCBTQlIgcGFyYW1ldGVyIGRlY29kZWQAU0JSIGNhbGxlZCB3aXRob3V0IGJlaW5nIGluaXRpYWxpc2VkAFVuZXhwZWN0ZWQgY2hhbm5lbCBjb25maWd1cmF0aW9uIGNoYW5nZQBFcnJvciBpbiBwcm9ncmFtX2NvbmZpZ19lbGVtZW50AEZpcnN0IFNCUiBmcmFtZSBpcyBub3QgdGhlIHNhbWUgYXMgZmlyc3QgQUFDIGZyYW1lAFVuZXhwZWN0ZWQgZmlsbCBlbGVtZW50IHdpdGggU0JSIGRhdGEATm90IGFsbCBlbGVtZW50cyB3ZXJlIHByb3ZpZGVkIHdpdGggU0JSIGRhdGEATFRQIGRlY29kaW5nIG5vdCBhdmFpbGFibGUAT3V0cHV0IGRhdGEgYnVmZmVyIHRvbyBzbWFsbABDUkMgZXJyb3IgaW4gRFJNIGRhdGEAUE5TIG5vdCBhbGxvd2VkIGluIERSTSBkYXRhIHN0cmVhbQBObyBzdGFuZGFyZCBleHRlbnNpb24gcGF5bG9hZCBhbGxvd2VkIGluIERSTQBQQ0Ugc2hhbGwgYmUgdGhlIGZpcnN0IGVsZW1lbnQgaW4gYSBmcmFtZQBCaXRzdHJlYW0gdmFsdWUgbm90IGFsbG93ZWQgYnkgc3BlY2lmaWNhdGlvbgBNQUlOIHByZWRpY3Rpb24gbm90IGluaXRpYWxpc2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMABAAFAAYABwAIAAkCDQIRAhUCGQIdAiEEMQYAAAAAAAAAAAEAAQACAAMABAAFAAYABwAIAAkBCwENAQ8BEQETARUBFwEZARsBHQEfASECJQIpAi0DNQM9A0UEAAAAAAEAAQACAAIAAwADAAQABAAFAAUABgAGAAcABwAIAAgACQAJAAoACwAMAA0ADgAPABACFAIYAyADKAQ4BwAAAAABAAEAAgACAAMAAwAEAAQABQAFAAYABgAHAAcACAAIAAkBCwENAQ8BEQETARUBFwEZAh0CIQIlAy0EPQYAAAAAAAAAAAEAAQACAAIAAwADAAQABAAFAAUABgAHAAgACQAKAAsADAANAQ8BEQETARUBFwIbAh8CIwMrAzMFAAAAAAAAAAABAAEAAQABAAIAAgACAAIAAwADAAQABAAFAAUABgAGAAcABwAIAAgACQAJAAoACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQEbAR0BHwEhASMBJQEnASkCLQIxAjUCOQI9AkEDSQNRA1kDYQRxBIEEkQYAAAAAAQABAAIAAwAEAAUABgAHAAgBCgEMAQ4CEgIWAhoCHgMmAy4DNgM+A0YDTgNWBGYEdgSGBJYFtgXWBfYHAQAAAAAFAQAAAAX/AAAABQAAAP8FAAEAAAUAAAABBQAA/wAFAAABAAUA/wAABwH/AAAH/wEAAAcAAP8BBwAB/wAHAP8BAAcAAAH/BwEBAAAHAAD//wf//wAABwD//wAHAQD/AAcAAQD/B/8AAQAHAAABAQcBAAEABwD/AAEHAAEBAAcAAQABB/8A/wAHAQAAAQf/AAD/BwEAAP8H/wAAAQcA/wD/CQEB/wAJ/wH/AAkB/wEACQABAf8JAAH/AQkA/wEBCQD/Af8JAf//AAkBAP8BCQAB//8J/wEBAAn/AAH/Cf//AQAJAP//AQkB/wABCQH/AP8J/wEA/wn/AQD/Cf8BAP8J/wEA/wn///8ACf///wAJ////AAn///8ACQD///8JAP///wkA////CQD///8JAAEBAQkAAQEBCQABAQEJAAEBAQkBAAH/CQEAAf8JAQAB/wkBAAH/CQEBAAEJAQEAAQkBAQABCQEBAAEJ/wEAAQn/AQABCf8BAAEJ/wEAAQkBAQEACQEBAQAJAQEBAAkBAQEACv//AAEK//8AAQr/AP//Cv8A//8KAQEA/woBAQD/CgEA//8KAQD//wr/AP8BCv8A/wEK//8A/wr//wD/Cv8AAQEK/wABAQoBAAEBCgEAAQELAf8B/wv/Af8BC/8BAf8LAf//AQsBAQEBC///AQELAQH//wv//wH/C/////8LAQH/AQsB/wEBC/8BAQEL/wH//wv///8BCwH///8LAQEB/wMAAAAABAEAAAAF/wAAAAUAAAABBQAA/wAFAAAA/wUA/wAABQAAAQAFAAEAAAYA/wEABv8BAAAGAAH/AAYAAAH/BgABAP8GAAD/AQb/AAD/BgH/AAAGAQD/AAb//wAABgAA//8GAQABAAYBAAABBgD/AAEG/wABAAYAAQABBgD//wAG/wAAAQYA/wD/Bv8A/wAGAQEAAAYAAQEABgAAAQEGAQAA/wcAAf8BBwEA/wEH/wH/AAcA/wH/BwH/AQAHAQEA/wcBAAEBB/8BAQAHAP//AQcBAQEAB/8AAf8H////AAf/AP8BB/8A/wEHAf//AAcB//8ABwEB/wAHAQH/AAgB/wABCP8BAP8I//8BAAj/AAEBCP//AAEI//8A/wgA////CAEAAf8IAQD//wgAAf//CAABAQEI/wEAAQj/AP//CAABAf8IAf8A/wgA/wEBCAEBAAEIAf8B/wj/Af8BCP8B/wEJAf//AQn/////Cf8BAf8J/wEBAQkBAQEBCf//Af8JAf8BAQn/Af//Cf//AQEJAQH//wkB////Cf///wEJAQH/AQkBAQH/BAEBAQEEAAEBAQQBAQABBAEBAQAEAQABAQQBAAAABAEBAAAEAAAAAAQAAAEBBAEAAQAFAQAAAQUAAQEABQAAAAEFAAEAAQUAAAEABQABAAAHAgEBAQcBAQIBBwECAQEHAQEBAgcCAQEABwIBAAEHAQIBAAcCAAEBBwABAgEHAAECAQgAAQECCAEBAgAIAAIBAQgBAAECCAECAAEIAQEAAggBAAIBCAIBAAAIAgABAAgBAgAACAIAAAEIAAEAAggAAgEACAAAAQIIAAECAAgAAQIACAACAAEIAAIAAQgBAAACCAEAAAIIAAACAQgAAAIBCAEAAgAIAQACAAgCAAAACAIAAAAIAAAAAggAAAACCQACAAAJAAACAAkBAgIBCQECAgEJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQECAgEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAgEBCQIBAgEJAgECAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAgECAQkBAQICCQEBAgIJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQEBAgIJAQIBAgkBAgECCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkBAgECCQIBAQIJAgEBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIJAgEBAgoBAgIACgECAgAKAQICAAoBAgIACgICAQAKAgIBAAoCAgEACgICAQAKAgECAAoCAQIACgIBAgAKAgECAAoAAgIBCgACAgEKAAICAQoAAgIBCgABAgIKAAECAgoAAQICCgABAgIKAgIAAQoCAgABCgICAAEKAgIAAQoAAgECCgACAQIKAAIBAgoAAgECCgIAAgEKAgACAQoCAAIBCgIAAgEKAQACAgoBAAICCgEAAgIKAQACAgoCAgIBCgICAgEKAgICAQoCAgIBCgECAAIKAQIAAgoBAgACCgECAAIKAgABAgoCAAECCgIAAQIKAgABAgoCAQACCgIBAAIKAgEAAgoCAQACCgECAgIKAQICAgoBAgICCgECAgILAgECAgsCAQICCwICAQILAgIBAgsAAgIACwACAgALAgIAAAsCAgAACwAAAgILAAACAgsCAAIACwIAAgALAAIAAgsAAgACCwIAAAILAgAAAgsCAgICCwICAgILAAICAgsAAgICCwICAgALAgICAAwCAgACDAIAAgIEAAAEAQAEAP8EAAEE/wAEAQEE/wEEAf8E//8GAv8GAgEG/gEG/v8G/gAG/wIGAgAGAf4GAQIGAP4G//4GAAIGAv4G/gIG/v4GAgIH/QEHAwEHA/8H/wMH/f8HAQMHAf0H//0HAwAH/QAHAP0HAAMHAwIHAwII/f4I/gMIAgMIA/4IAv0I/v0I/QII/QIIAwMIAwMJA/0J/f0J/QMJAfwJ//wJBAEJ/AEJ/P8JAQQJBP8J/wQJAPwJ/AIJ/AIJ/AIJ/AIJ/P4J/P4J/P4J/P4JAgQJAgQJAgQJAgQJ/vwJ/vwJ/vwJ/vwJ/AAJ/AAJ/AAJ/AAJBAIJBAIJBAIJBAIJBP4JBP4JBP4JBP4J/gQJ/gQJ/gQJ/gQJBAAJBAAJBAAJBAAJAvwJAvwJAvwJAvwJAAQJAAQJAAQJAAQK/fwK/fwK/QQK/QQKA/wKA/wKBP0KBP0KAwQKAwQKBAMKBAMK/AMK/AMK/P0K/P0LBAQL/AQL/PwLBPwDAQEEAgEEAQAEAQIEAAEEAgIFAAAFAgAFAAIFAwEFAQMFAwIFAgMGAwMGBAEGAQQGBAIGAgQGAwAGAAMGBAMGAwQGBQIHBQEHAgUHAQUHBQMHAwUHBAQHBQQHAAQHBAUHBAAHAgYHBgIHBgEHBgEHAQYHAQYIAwYIBgMIBQUIBQAIBgQIAAUIBAYIBwEIBwIIAgcIBgUIBwMIAQcIAQcIAQcIAQcIBQYIBQYIBQYIBQYIAwcIAwcIAwcIAwcJBgYJBgYJBwQJBwQJBgAJBgAJBAcJBAcJAAYJAAYJBwUJBwUJBwYJBwYJBgcJBgcKBQcKBwAKAAcKBwcEAQEEAQIEAgEFAgIFAQAFAAEFAQMFAwIFAwEFAgMFAwMGAgAGAAIGAgQGBAIGAQQGBAEGAAAGBAMGAwQGAwAGAAMGBAQGAgUGBQIHAQUHBQEHBQMHAwUHBQQHBAUHBgIHAgYHBgMHBAAHBgEHAAQHAQYHAwYHBQUHBgQHBAYHBAYIBgUIBwIIAwcIAgcIBQYICAIIBwMIBQAIBwEIAAUICAEIAQcICAMIBwQIBAcIAggIBgYIBwUIAQgIAwgICAQIBAgIBQcIBQcICAUICAUIBQgIBQgJBwYJBgcJCQIJBgAJBggJCQMJAwkJCQEJAgkJAAYJCAYJCQQJBAkJCgIJAQkJBwcJCAcJCQUJBwgJCgMJBQkJCgQJAgoJCgEJAwoJCQYJBgkJBgkJCAAJCAAJBAoJBAoJBwAJBwAJCwIJCwIKBwkKCwMKCgYKAQoKCwEKCQcKAAcKCAgKCgUKAwsKBQoKCAkKCwUKAAgKCwQKAgsKBwoKBgoKCgcKBAsKAQsKDAIKCQgKDAMKCwYKBQsKDAQKCwcKDAUKAwwKBgsKCQAKCggKCgAKDAEKAAkKBAwKCQkKDAYKDAYKDAYKDAYKAgwKAgwKAgwKAgwKCAoKCAoKCAoKCAoLCQoLCQoLAQwLAQwLCwgLCwgLDAcLDAcLBwsLBwsLBQwLBQwLBgwLBgwLCgkLCgkLCAsLCAsLDAgLDAgLAAoLAAoLBwwLBwwLCwALCwALCgoLCgoLCwkLCwkLCwoLCwoLAAsLAAsLCwsLCwsLCQsLCQsLCgsLCgsLDAALDAALCAwLCAwMDAkMCgwMCQwMCwwMDAsMAAwMDAoMDAwEAAAEAQEFEBAFAQAFAAEFAgEFAQIFAgIGAQMGAwEGAwIGAgAGAgMGAAIGAwMGAwMHBAEHAQQHBAIHAgQHBAMHAwQHAwAHAAMHBQEHBQIHAgUHBAQHAQUHBQMHAwUHAwUHBQQHBQQIBAUIBgIIAgYIBgEIBgMIAwYIAQYIBBAIAxAIEAUIEAMIEAQIBgQIEAYIBAAIBAYIAAQIAhAIBQUIBRAIEAcIEAIIEAgIAgcIBwIIAwcIBgUIBQYIBhAIEAoIBwMIBwEIEAkIBxAIARAIAQcIBAcIEAsIBwQIEAwICBAIEAEIBgYICRAIAggIBQcIChAIEA0ICAMICAIIAwgIBQAIEA4IEA4ICxAICxAIBwUIBwUIBAgIBAgIBgcIBgcIBwYIBwYIAAUIAAUJCAQJEA8JDBAJAQgJCAEJDhAJBQgJDRAJAwkJCAUJBwcJAgkJCAYJCQIJCQMJDxAJBAkJBggJBgAJCQQJBQkJCAcJBwgJAQkJCgMJAAYJCgIJCQEJCQUJBAoJAgoJCQYJAwoJBgkJCgQJCAgJCgUJCQcJCwMJAQoJBwAJCgYJBwkJAwsJBQoJCgEJBAsJCwIJDQIJBgoJDQMJDQMJAgsJAgsJEAAJEAAJBQsJBQsJCwUJCwUKCwQKCQgKBwoKCAkKABAKBA0KAAcKAw0KCwYKDQEKDQQKDAMKAg0KDQUKCAoKBgsKCggKCgcKDgIKDAQKAQsKBAwKCwEKAwwKAQ0KDAIKBwsKAw4KBQwKBQ0KDgQKBA4KCwcKDgMKDAUKDQYKDAYKCAAKCwgKAgwKCQkKDgUKBg0KCgoKDwIKCAsKCQoKDgYKCgkKBQ4KCwkKDgEKAg4KBgwKAQwKDQgKAAgKDQcKBwwKDAcKBw0KDwMKDAEKBg4KAg8KDwUKDwQKAQ4KCQsKBA8KDgcKCA0KDQkKCAwKBQ8KAw8KCgsKCwoKDAgKDwYKDwcKCA4KDwEKBw4KCQAKAAkKCQ0KCQ0KCQ0KCQ0KCQwKCQwKCQwKCQwKDAkKDAkKDAkKDAkKDggKDggKDggKDggKCg0KCg0KCg0KCg0KDgkKDgkKDgkKDgkKDAoKDAoKDAoKDAoKBg8KBg8KBg8KBg8KBw8KBw8KBw8KBw8LCQ4LCQ4LDwgLDwgLCwsLCwsLCw4LCw4LAQ8LAQ8LCgwLCgwLCg4LCg4LDQsLDQsLDQoLDQoLCw0LCw0LCwwLCwwLCA8LCA8LDgsLDgsLDQwLDQwLDA0LDA0LDwkLDwkLDgoLDgoLCgALCgALDAsLDAsLCQ8LCQ8LAAoLAAoLDAwLDAwLCwALCwALDA4LDA4LCg8LCg8LDQ0LDQ0LAA0LAA0LDgwLDgwLDwoLDwoLDwsLDwsLCw8LCw8LDg0LDg0LDQALDQALAAsLAAsLDQ4LDQ4LDwwLDwwLDw0LDw0LDA8LDA8LDgALDgALDg4LDg4LDQ8LDQ8LDAALDAALDg8LDg8MAA4MAAwMDw4MDwAMAA8MDw8AAQIBAAAAAQIAAgMAAwQABAUABQYABgcABwgB/wABAQABAAEBAP8ABAUABQYABgcABwgBAf8B/wEB//8BAQEABAUABQYABgcABwgACAkACQoACgsACwwADA0ADQ4ADg8ADxAB/gABAAIBAgABAP4ADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgB/v8BAgEB//4BAQIB/gEBAv8B/wIBAf4B/QABAwABAP0BAAMADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgB/f8BAQMBAwEB//0B/QEBA/8BAf0B/wMB/gIBAgIB/v4BAv4ADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgB/f4BA/4B/gMBAv0BAwIBAgMB/QIB/v0BAPwB/AABBAEBBAAADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgB/P8BAAQBBP8B//wBAQQB/wQB/AEBAfwBA/0B/f0B/QMB/gQB/P4BBAIBAvwBAgQBAwMB/AIABgcABwgACAkACQoACgsACwwB/vwBBP4BA/wB/P0B/AMBAwQB/QQBBAMBBP0B/fwAAgMAAwQBBPwB/AQBBAQB/PwAAQIBAAAAAQIAAgMAAwQBAQABAAEAAgMAAwQBAQEAAwQABAUABQYABgcABwgACAkACQoACgsACwwBAgEBAQIBAgABAAIACAkACQoACgsACwwADA0ADQ4ADg8ADxABAwEBAQMBAgIBAwABAAMACwwADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYBAgMBAwIBAQQBBAEBAQUBBQEBAwMBAgQBAAQBBAAADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgBBAIBAgUBBQIBAAUBBgEBBQABAQYBBAMBAwUBAwQBBQMBAgYBBgIBAQcACgsACwwADA0ADQ4ADg8ADxAAEBEAERIAEhMAExQBAwYBAAYBBgABBAQBBwEBBAUBBwIBBQQBBgMBAgcBBwMBBgQBBQUBBAYBAwcABQYABgcABwgACAkACQoBBwABAAcBBgUBBQYBBwQBBAcBBQcBBwUAAgMAAwQBBwYBBgYBBgcBBwcAAQIBAAAAAQIAAgMAAwQBAQABAAEAAgMAAwQBAQEAAwQABAUABQYABgcABwgACAkACQoACgsACwwBAgEBAQIBAgABAAIACAkACQoACgsACwwADA0ADQ4ADg8ADxABAwEBAgIBAQMADQ4ADg8ADxAAEBEAERIAEhMAExQAFBUAFRYAFhcAFxgAGBkAGRoBAwABAAMBAgMBAwIBAQQBBAEBAgQBAQUAEhMAExQAFBUAFRYAFhcAFxgAGBkAGRoAGhsAGxwAHB0AHR4AHh8AHyAAICEAISIAIiMAIyQBBAIBAwMBAAQBBAABBQEBAgUBAQYBAwQBBQIBBgEBBAMAGRoAGhsAGxwAHB0AHR4AHh8AHyAAICEAISIAIiMAIyQAJCUAJSYAJicAJygAKCkAKSoAKisAKywALC0ALS4ALi8ALzAAMDEAMTIBAAUBAgYBBQABAQcBAwUBAQgBCAEBBAQBBQMBBgIBBwEBAAYBCAIBAggBAwYBAgcBBAUBCQEBAQkBBwIAHh8AHyAAICEAISIAIiMAIyQAJCUAJSYAJicAJygAKCkAKSoAKisAKywALC0ALS4ALi8ALzAAMDEAMTIAMjMAMzQANDUANTYANjcANzgAODkAOToAOjsAOzwBBgABBQQBBgMBCAMBAAcBCQIBAwgBBAYBAwcBAAgBCgEBBgQBAgkBBQUBCAABBwABBwMBCgIBCQMBCAQBAQoBBwQBBgUBBQYBBAgBBAcBAwkBCwEBBQgBCQABCAUAHR4AHh8AHyAAICEAISIAIiMAIyQAJCUAJSYAJicAJygAKCkAKSoAKisAKywALC0ALS4ALi8ALzAAMDEAMTIAMjMAMzQANDUANTYANjcANzgAODkAOToBCgMBAgoBAAkBCwIBCQQBBgYBDAEBBAkBCAYBAQsBCQUBCgQBBQcBBwUBAgsBAQwBDAIBCwMBAwoBBQkBBgcBCAcBCwQBAAoBBwYBDAMBCgAB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ZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbABtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=124240;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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 ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;this.contextGL.viewport(0,0,this.canvasElement.width,this.canvasElement.height);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall6,"D":__embind_create_inheriting_constructor,"E":__embind_register_bool,"F":__embind_register_class,"G":__embind_register_class_class_function,"H":__embind_register_class_function,"I":__embind_register_class_property,"J":__embind_register_emval,"K":__embind_register_float,"L":__embind_register_integer,"M":__embind_register_memory_view,"N":__embind_register_std_string,"O":__embind_register_std_wstring,"P":__embind_register_void,"Q":__emscripten_traverse_stack,"R":__emval_addMethodCaller,"S":__emval_allocateDestructors,"T":__emval_as,"U":__emval_call,"V":__emval_call_method,"W":__emval_call_void_method,"X":__emval_decref,"Y":__emval_get_global,"Z":__emval_get_method_caller,"_":__emval_get_property,"$":__emval_incref,"aa":__emval_lookupTypes,"ab":__emval_new,"ac":__emval_new_cstring,"ad":__emval_new_object,"ae":__emval_register,"af":__emval_run_destructors,"ag":__emval_set_property,"ah":__emval_take_value,"ai":__formatString,"aj":__reallyNegative,"ak":_abort,"al":_clock,"am":_embind_repr,"an":_emscripten_get_callstack_js,"ao":_emscripten_get_heap_size,"ap":_emscripten_log,"aq":_emscripten_log_js,"ar":_emscripten_memcpy_big,"as":_emscripten_resize_heap,"at":_init,"au":_llvm_exp2_f32,"av":_llvm_exp2_f64,"aw":_llvm_trap,"ax":abortOnCannotGrowMemory,"ay":constNoSmartPtrRawPointerToWireType,"az":count_emval_handles,"aA":craftEmvalAllocator,"aB":craftInvokerFunction,"aC":createNamedFunction,"aD":downcastPointer,"aE":embind__requireFunction,"aF":embind_init_charCodes,"aG":emval_get_global,"aH":ensureOverloadTable,"aI":exposePublicSymbol,"aJ":extendError,"aK":floatReadValueFromPointer,"aL":flushPendingDeletes,"aM":flush_NO_FILESYSTEM,"aN":genericPointerToWireType,"aO":getBasestPointer,"aP":getInheritedInstance,"aQ":getInheritedInstanceCount,"aR":getLiveInheritedInstances,"aS":getShiftFromSize,"aT":getStringOrSymbol,"aU":getTypeName,"aV":get_first_emval,"aW":heap32VectorToArray,"aX":init_ClassHandle,"aY":init_RegisteredPointer,"aZ":init_embind,"a_":init_emval,"a$":integerReadValueFromPointer,"ba":makeClassHandle,"bb":makeLegalFunctionName,"bc":new_,"bd":nonConstNoSmartPtrRawPointerToWireType,"be":readLatin1String,"bf":registerInheritedInstance,"bg":registerType,"bh":replacePublicSymbol,"bi":requireHandle,"bj":requireRegisteredType,"bk":runDestructor,"bl":runDestructors,"bm":setDelayFunction,"bn":shallowCopyInternalPointer,"bo":simpleReadValueFromPointer,"bp":throwBindingError,"bq":throwInstanceAlreadyDeleted,"br":throwInternalError,"bs":throwUnboundTypeError,"bt":unregisterInheritedInstance,"bu":upcastPointer,"bv":validateThis,"bw":whenDependentTypesAreResolved,"bx":tempDoublePtr,"by":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bx|0,i=env.by|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.sqrt,s=global.Math.pow,t=global.Math.cos,u=global.Math.sin,v=global.Math.log,w=global.Math.imul,x=global.Math.clz32,y=env.a,z=env.b,A=env.c,B=env.d,C=env.e,D=env.f,E=env.g,F=env.h,G=env.i,H=env.j,I=env.k,J=env.l,K=env.m,L=env.n,M=env.o,N=env.p,O=env.q,P=env.r,Q=env.s,R=env.t,S=env.u,T=env.v,U=env.w,V=env.x,W=env.y,X=env.z,Y=env.A,Z=env.B,_=env.C,$=env.D,aa=env.E,ba=env.F,ca=env.G,da=env.H,ea=env.I,fa=env.J,ga=env.K,ha=env.L,ia=env.M,ja=env.N,ka=env.O,la=env.P,ma=env.Q,na=env.R,oa=env.S,pa=env.T,qa=env.U,ra=env.V,sa=env.W,ta=env.X,ua=env.Y,va=env.Z,wa=env._,xa=env.$,ya=env.aa,za=env.ab,Aa=env.ac,Ba=env.ad,Ca=env.ae,Da=env.af,Ea=env.ag,Fa=env.ah,Ga=env.ai,Ha=env.aj,Ia=env.ak,Ja=env.al,Ka=env.am,La=env.an,Ma=env.ao,Na=env.ap,Oa=env.aq,Pa=env.ar,Qa=env.as,Ra=env.at,Sa=env.au,Ta=env.av,Ua=env.aw,Va=env.ax,Wa=env.ay,Xa=env.az,Ya=env.aA,Za=env.aB,_a=env.aC,$a=env.aD,ab=env.aE,bb=env.aF,cb=env.aG,db=env.aH,eb=env.aI,fb=env.aJ,gb=env.aK,hb=env.aL,ib=env.aM,jb=env.aN,kb=env.aO,lb=env.aP,mb=env.aQ,nb=env.aR,ob=env.aS,pb=env.aT,qb=env.aU,rb=env.aV,sb=env.aW,tb=env.aX,ub=env.aY,vb=env.aZ,wb=env.a_,xb=env.a$,yb=env.ba,zb=env.bb,Ab=env.bc,Bb=env.bd,Cb=env.be,Db=env.bf,Eb=env.bg,Fb=env.bh,Gb=env.bi,Hb=env.bj,Ib=env.bk,Jb=env.bl,Kb=env.bm,Lb=env.bn,Mb=env.bo,Nb=env.bp,Ob=env.bq,Pb=env.br,Qb=env.bs,Rb=env.bt,Sb=env.bu,Tb=env.bv,Ub=env.bw,Vb=124256,Wb=5367136,Xb=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function th(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;s=jg(e)|0;a[f>>0]=0;t=e+8|0;g=c[t>>2]|0;if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}if(!g)g=b+719|0;else{a[f>>0]=1;g=b+719|0;a[g>>0]=1;i=b+724|0;a[i>>0]=0;f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b>>0]=r;if(r<<24>>24){f=c[t>>2]|0;if(f>>>0<3){h=3-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>29;do if(!(a[e+20>>0]|0))if(f>>>0>3){c[t>>2]=f+-3;break}else{lg(e,3);break}while(0);f=h&255;a[b+3>>0]=f;r=h&255;a[b+5>>0]=a[117705+r>>0]|0;a[b+6>>0]=a[117713+r>>0]|0;switch(f<<24>>24){case 5:case 2:{a[i>>0]=1;break}default:{}}a[b+27>>0]=f}f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b+1>>0]=r;a:do if(r<<24>>24){h=c[t>>2]|0;if(h>>>0<3){f=3-h|0;f=(c[e>>2]&(1<<h)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-h>>>29;do if(!(a[e+20>>0]|0))if(h>>>0>3){c[t>>2]=h+-3;break}else{lg(e,3);break}while(0);r=f&255;a[b+4>>0]=r;a[b+7>>0]=a[117705+(f&255)>>0]|0;switch(r<<24>>24){case 5:case 2:break;default:break a}a[i>>0]=1}while(0);f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+2>>0]=f}if(!(a[g>>0]|0)){u=1;s=0;t=b+718|0;a[t>>0]=s;return u|0}g=c[t>>2]|0;do if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){lg(e,1);h=c[t>>2]|0;i=47;break}else{g=g&255;f=b+8|0;a[f>>0]=g;h=0;i=49;break}}else{h=g+-1|0;c[t>>2]=h;g=(c[e>>2]|0)>>>h&1;i=47}while(0);if((i|0)==47){g=g&255;f=b+8|0;a[f>>0]=g;if(h>>>0<2)i=49;else j=c[e>>2]<<32-h>>>30}if((i|0)==49){j=2-h|0;j=(c[e>>2]&(1<<h)+-1)<<j|(c[e+4>>2]|0)>>>(32-j|0)}r=e+20|0;do if(!(a[r>>0]|0))if(h>>>0>2){c[t>>2]=h+-2;f=g;break}else{lg(e,2);f=a[f>>0]|0;break}else f=g;while(0);g=a[(j&255)+(117721+((f&255)<<2))>>0]|0;q=b+9|0;a[q>>0]=g;if(f<<24>>24)if(!(g<<24>>24))g=0;else{k=e+4|0;j=1;do{i=j&255;f=c[t>>2]|0;if(f>>>0<5){h=5-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>27;do if(!(a[r>>0]|0))if(f>>>0>5){c[t>>2]=f+-5;break}else{lg(e,5);g=a[q>>0]|0;break}while(0);a[b+10+i>>0]=h+1;j=j+1<<24>>24}while((g&255)>=(j&255))}if(a[b>>0]|0)if(!(g<<24>>24))g=0;else{l=e+4|0;m=b+3|0;n=b+5|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}g=g&255;a[b+16+j>>0]=g;h=a[n>>0]|0;i=b+140+(j*34|0)|0;g=g<<24>>24==0;b:do if((d[m>>0]|0)<3){if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[117729+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[117785+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[117785+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else{if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[117841+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[117961+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[117961+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}while(0);f=k+1<<24>>24;g=a[q>>0]|0;if((f&255)<(g&255)){k=f;j=f&255}else break}}if(!((a[b+1>>0]|0)==0|g<<24>>24==0)){l=e+4|0;m=b+7|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=g&255;a[b+21+j>>0]=p;h=a[m>>0]|0;i=b+310+(j*34|0)|0;if(!(p<<24>>24)){f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[118109+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[118109+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else if(h<<24>>24){i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[118081+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}do if(a[b+2>>0]|0){f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[r>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{lg(e,4);break}while(0);if((g&65535|0)==15){f=c[t>>2]|0;if(f>>>0<8){g=8-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>24;do if(!(a[r>>0]|0))if(f>>>0>8){c[t>>2]=f+-8;break}else{lg(e,8);break}while(0);g=(g&65535)+15|0}f=g<<3;g=f&65528;if(g>>>0>7){n=e+4|0;o=b+26|0;p=b+6|0;do{g=c[t>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[n>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>30;do if(!(a[r>>0]|0))if(g>>>0>2){c[t>>2]=g+-2;break}else{lg(e,2);break}while(0);l=f+65534|0;m=jg(e)|0;do if(!((h&255)<<24>>24)){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);k=g&255;a[o>>0]=k;do if(k<<24>>24){if(!(a[q>>0]|0))break;else{k=0;j=0}while(1){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+28+j>>0]=f;h=a[p>>0]|0;i=b+480+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118151+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118151+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118137+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+33+j>>0]=f;h=a[p>>0]|0;i=b+565+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118179+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118179+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;lg(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[118165+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}while(0);g=c[t>>2]|0;if(g|0){c[t>>2]=g+-1;break}if(a[r>>0]|0)break;lg(e,1)}while(0);f=(l&65535)-((jg(e)|0)-m&65535)|0;g=f&65535}while(g>>>0>7)}if(g|0?(u=c[t>>2]|0,(a[r>>0]|0)==0):0)if(u>>>0>g>>>0){c[t>>2]=u-g;break}else{lg(e,g);break}}while(0);u=(jg(e)|0)-s&65535;s=1;t=b+718|0;a[t>>0]=s;return u|0}function uh(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;k=e&255;l=b+614+k|0;if(!(a[l>>0]|0))return;m=b+19|0;j=0;i=0;while(1){a:do if(!(a[b+53535+(k*3|0)+i>>0]|0)){e=a[m>>0]|0;if((e&255)>1){e=e&255;f=c[b+7388+(k<<9)+(i<<2)>>2]|0;g=1;do{h=b+7388+(k<<9)+(g<<3)+(i<<2)|0;f=f+(c[h>>2]|0)|0;c[h>>2]=f;g=g+1|0}while(g>>>0<e>>>0)}}else{h=a[m>>0]|0;e=h<<24>>24==0;if(!(j<<24>>24)){if(e)break;else{f=0;e=0}while(1){c[b+7388+(k<<9)+(e<<3)+(i<<2)>>2]=(c[b+7388+(k<<9)+(e<<3)>>2]|0)+(c[b+10460+(k<<8)+(e<<2)>>2]|0);e=f+1<<24>>24;if((e&255)<(h&255)){f=e;e=e&255}else break a}}if(!e){g=i+-1|0;e=h&255;f=0;do{h=b+7388+(k<<9)+(f<<3)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[b+7388+(k<<9)+(f<<3)+(g<<2)>>2]|0);f=f+1|0}while(f>>>0<e>>>0)}}while(0);e=j+1<<24>>24;if((e&255)<(d[l>>0]|0)){j=e;i=e&255}else break}return}function vh(c,f){c=c|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;q=f&255;r=a[c+610+q>>0]|0;if(!(r<<24>>24))return;s=c+646+q|0;t=c+17|0;u=c+18|0;v=c+24|0;p=c+25|0;o=0;n=0;while(1){a:do if(!(a[c+53517+(q*9|0)+n>>0]|0)){h=(d[c+634+(q*6|0)+n>>0]|0)+(c+24)|0;if((d[h>>0]|0)>1){g=1;f=1;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;f=(e[m>>1]|0)+(e[c+730+(q*640|0)+((f+-1|0)*10|0)+(n<<1)>>1]|0)|0;b[m>>1]=(f&32768|0)==0?f&65535:0;f=g+1<<24>>24;if((f&255)<(d[h>>0]|0)){g=f;f=f&255}else break}}}else{h=o<<24>>24==0;m=n+-1|0;f=a[(h?s:c+634+(q*6|0)+m|0)>>0]|0;g=a[c+634+(q*6|0)+n>>0]|0;if(g<<24>>24==f<<24>>24){i=(f&255)+(c+24)|0;if(!(a[i>>0]|0))break;if(h){g=0;f=0;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[m>>1]=(e[m>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}else{g=0;f=0;while(1){l=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[l>>1]=(e[l>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}}if(f<<24>>24==1&g<<24>>24==0){l=a[v>>0]|0;if(!(l<<24>>24))break;k=a[t>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}}if(f<<24>>24==0&g<<24>>24==1?(w=a[p>>0]|0,w<<24>>24):0){k=a[u>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}}}while(0);f=o+1<<24>>24;if((f&255)<(r&255)){o=f;n=f&255}else break}return}function wh(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Vb;Vb=Vb+16|0;n=p;o=n+1|0;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=0;a[o+4>>0]=0;o=d[b+8>>0]|0;m=c&255;f=a[b+602+m>>0]|0;a[n>>0]=w(f&255,o)|0;c=a[b+604+m>>0]|0;l=(w(c&255,o)|0)&255;g=a[b+610+m>>0]|0;e=g&255;a[n+e>>0]=l;a:do switch(a[b+53451+m>>0]|0){case 0:switch(g<<24>>24){case 4:{k=(d[b+53417>>0]|0)>>>2;l=k&255;a[n+3>>0]=w(o*3|0,l)|0;a[n+2>>0]=w(k<<1&255,o)|0;a[n+1>>0]=w(o,l)|0;break a}case 2:{a[n+1>>0]=w((d[b+53417>>0]|0)>>>1&255,o)|0;break a}default:break a}case 1:{if((g&255)>1){h=e+-1|0;f=0;e=0;while(1){e=a[b+53453+(m*9|0)+e>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=w(c&255,o)|0;f=f+1<<24>>24;e=f&255;if((h|0)<=(e|0))break a;else c=c&255}Vb=p;return c|0}break}case 2:{if((g&255)>1){j=d[b+53419>>0]|0;k=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=e+-1|0;h=1;c=f;g=0;e=0;while(1){f=(d[b+53453+(m*9|0)+e>>0]|0)+(c&255)|0;c=w(f&255,o)|0;if((c+j|0)>>>0>k>>>0){c=1;break}a[n+(h<<24>>24)>>0]=c;g=g+1<<24>>24;e=g&255;if((i|0)<=(e|0))break a;else{h=h+1<<24>>24;c=f&255}}Vb=p;return c|0}break}case 3:{k=a[b+53513+m>>0]|0;b:do if(k<<24>>24){l=d[b+53419>>0]|0;j=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=1;e=f;h=0;while(1){e=(d[(h&255)+(b+53471+(m*9|0))>>0]|0)+(e&255)|0;f=w(e&255,o)|0;if((f+l|0)>>>0>j>>>0){c=1;break}a[n+(i<<24>>24)>>0]=f;h=h+1<<24>>24;if((h&255)>=(k&255))break b;else{i=i+1<<24>>24;e=e&255}}Vb=p;return c|0}while(0);h=a[b+53515+m>>0]|0;if(h<<24>>24){f=0;while(1){e=a[(f&255)+(b+53489+(m*9|0))>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=w(c&255,o)|0;f=f+1<<24>>24;if((f&255)>=(h&255))break a;else c=c&255}Vb=p;return c|0}break}default:{}}while(0);o=b+((m*6|0)+616)|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;a[o+4>>0]=a[n+4>>0]|0;a[o+5>>0]=a[n+5>>0]|0;o=0;Vb=p;return o|0}function xh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=c&255;a[b+628+(e*3|0)>>0]=a[b+616+(e*6|0)>>0]|0;f=a[b+610+e>>0]|0;if(f<<24>>24==1){a[b+628+(e*3|0)+1>>0]=a[b+616+(e*6|0)+1>>0]|0;f=0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}a:do switch(a[b+53451+e>>0]|0){case 0:{c=(f&255)>>>1&255;break}case 2:{c=a[b+53507+e>>0]|0;switch(c<<24>>24){case 0:{c=1;break a}case 1:{c=(f&255)+-1|0;break a}default:{c=(c&255)+-1|0;break a}}}case 3:case 1:{c=a[b+53507+e>>0]|0;d=f&255;if((c&255)>1){c=1-(c&255)+d|0;break a}else{c=d+255|0;break a}}default:c=0}while(0);d=c<<24>>24;a[b+628+(e*3|0)+1>>0]=a[(((d|0)>0?d:0)&255)+(b+616+(e*6|0))>>0]|0;f=a[(f&255)+(b+616+(e*6|0))>>0]|0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}function yh(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=a[119574+((Bg(e)|0)&255)>>0]|0;e=Bg(e)|0;f=f&255;if(!(c<<24>>24)){c=d[119694+(b&255)>>0]|0;c=c+f|0;c=c&255;return c|0}else{c=a[(b&255)+(119598+(d[119586+(e&255)>>0]<<4))>>0]|0;c=c+f|0;c=c&255;return c|0}return 0}function zh(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;switch(b<<24>>24){case 15:{c=(e&255)*3|0;c=(c>>>0<64?c:64)&255;return c|0}case 14:{if((e&255)>32){c=64;return c|0}c=(e&255)<<1&255;return c|0}default:{e=d[119394+((Bg(c)|0)&255)>>0]|0;g=(Bg(c)|0)&255;b=f>>>0<13?f:13;if(((a[119406+(g*14|0)+b>>0]|0)+e|0)>64){g=64;return g|0}g=(d[119406+(((Bg(c)|0)&255)*14|0)+b>>0]|0)+e&255;return g|0}}return 0}function Ah(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;l=Vb;Vb=Vb+256|0;k=l;fl(k|0,0,256)|0;if((f&255)<=(e&255)){a[b+16>>0]=0;k=1;Vb=l;return k|0}h=(f&255)-(e&255)|0;if(!(g<<24>>24))f=h&-2;else f=h+2>>2<<1;j=f>>>0<63?f:63;if(!j){k=1;Vb=l;return k|0}i=g<<24>>24?2:1;h=h-(w(j,i)|0)|0;f=0;g=0;do{c[k+(g<<2)>>2]=i;f=f+1<<24>>24;g=f&255}while(j>>>0>g>>>0);if(h|0){f=(h|0)>0;g=f?-1:1;f=f?j+255|0:0;while(1){f=f&255;i=k+(f<<2)|0;c[i>>2]=(c[i>>2]|0)-g;h=h+g|0;if(!h)break;else f=f+g|0}}a[b+26>>0]=e;f=1;h=1;do{e=h+-1|0;a[b+26+h>>0]=(c[k+(e<<2)>>2]|0)+(d[b+26+e>>0]|0);f=f+1<<24>>24;h=f&255}while(j>>>0>=h>>>0);a[b+16>>0]=(j|0)<64?j:64;k=0;Vb=l;return k|0}function Bh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,t=0,u=0,w=0,x=0,y=0,z=0;z=Vb;Vb=Vb+1024|0;t=z+768|0;u=z+512|0;w=z+256|0;y=z;fl(t|0,0,256)|0;fl(u|0,0,256)|0;fl(w|0,0,256)|0;fl(y|0,0,256)|0;m=e&255;if((f&255)<=(e&255)){a[b+16>>0]=0;b=1;Vb=z;return b|0}p=+(f&255);l=+(e&255);o=p/l>2.2449;r=o?m<<1&255:f;n=+(d[119391+((g&255)+-1)>>0]|0);i=+(r&255);j=i/l;x=~~(+v(+j)*n/.6931471824645996+.5)<<1&254;x=x>>>0<63?x:63;if((x|0)<1){b=1;Vb=z;return b|0}k=+s(+j,+(1.0/+(x&255)));e=0;f=~~(l+.5);j=l;h=0;do{j=j*k;g=f;f=~~(j+.5);c[t+(h<<2)>>2]=f-g;e=e+1<<24>>24;h=e&255}while((x|0)>=(h|0));mj(t,x,4,3);c[w>>2]=m;h=1;e=1;do{g=e+-1|0;m=c[t+(g<<2)>>2]|0;c[w+(e<<2)>>2]=m+(c[w+(g<<2)>>2]|0);h=h+1<<24>>24;if(!m){h=1;q=26;break}e=h&255}while((x|0)>=(e|0));if((q|0)==26){Vb=z;return h|0}if(!o){h=0;e=0;do{a[b+26+e>>0]=c[w+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((x|0)>=(e|0));a[b+16>>0]=(x|0)<64?x:64;b=0;Vb=z;return b|0}j=p/i;m=~~(+v(+j)*n/.9010912775993347+.5)<<1&254;m=m>>>0<63?m:63;j=+s(+j,+(1.0/+(m&255)));g=m+-1|0;if((m|0)>0){f=~~(i+.5);h=0;e=0;do{i=i*j;q=f;f=~~(i+.5);c[u+(e<<2)>>2]=f-q;h=h+1<<24>>24;e=h&255}while((m|0)>(e|0));e=u;f=c[u>>2]|0}else{e=u;f=0}h=t+(x+-1<<2)|0;if((f|0)<(c[h>>2]|0)){mj(u,m+1|0,4,3);q=c[h>>2]|0;o=c[e>>2]|0;c[e>>2]=q;t=u+(g<<2)|0;c[t>>2]=o-q+(c[t>>2]|0)}mj(u,m,4,3);c[y>>2]=r&255;a:do if((m|0)>=1){h=1;e=1;while(1){r=e+-1|0;t=c[u+(r<<2)>>2]|0;c[y+(e<<2)>>2]=t+(c[y+(r<<2)>>2]|0);h=h+1<<24>>24;if(!t){h=1;break}e=h&255;if((m|0)<(e|0))break a}Vb=z;return h|0}while(0);f=m+x|0;f=(f>>>0<64?f:64)&255;a[b+16>>0]=f;h=0;e=0;do{a[b+26+e>>0]=c[w+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((x|0)>=(e|0));e=x+1|0;h=e&255;if((f&255)<(h&255)){b=0;Vb=z;return b|0}while(1){a[b+26+e>>0]=c[y+(e-x<<2)>>2];e=h+1<<24>>24;if((e&255)>(f&255)){h=0;break}else{h=e;e=e&255}}Vb=z;return h|0}function Ch(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b+16>>0]|0;h=c&255;if((f&255)<=(c&255)){b=1;return b|0}i=(f&255)-h|0;g=i&255;a[b+17>>0]=g;l=(i>>>1&127)+(i&1)|0;k=l&255;a[b+18>>0]=k;a[b+24>>0]=k;a[b+25>>0]=g;f=0;c=0;while(1){a[b+154+c>>0]=a[c+h+(b+26)>>0]|0;c=f+1<<24>>24;if((c&255)>(g&255))break;else{f=c;c=c&255}}h=a[b+154>>0]|0;c=h&255;f=(d[(i&255)+(b+154)>>0]|0)-c|0;a[b+15>>0]=f;a[b+14>>0]=h;if((h&255)>32){b=1;return b|0}if(((f&255)+c|0)>>>0>64){b=1;return b|0}g=i&1;f=0;c=0;while(1){j=f<<24>>24==0?0:(c<<1)-g&255;a[b+90+c>>0]=a[(j&255)+(b+154)>>0]|0;c=f+1<<24>>24;if((c&255)>(k&255))break;else{f=c;c=c&255}}k=b+19|0;a[k>>0]=0;c=a[b+53437>>0]|0;if(!(c<<24>>24))h=1;else{h=~~(+v(+(+(e&255)/+(h&255)))*+(c&255)/.6931471824645996+.5);h=((h|0)>1?h:1)&255;a[k>>0]=h;h=(h&255)<5?h:5}a[k>>0]=h;i=h&255;g=0;c=j;f=0;while(1){if(!(g<<24>>24))c=0;else{c=c&255;c=((l-c|0)/(1-f+i|0)|0)+c&255}a[b+218+f>>0]=a[(c&255)+(b+90)>>0]|0;f=g+1<<24>>24;if((f&255)>(h&255)){c=0;break}else{g=f;f=f&255}}while(1){a:do if(h<<24>>24){g=0;f=0;while(1){if(c>>>0>=(d[b+218+f>>0]|0)>>>0?c>>>0<(d[f+1+(b+218)>>0]|0)>>>0:0)break;f=g+1<<24>>24;if((f&255)<(h&255)){g=f;f=f&255}else break a}a[b+538+c>>0]=g}while(0);c=c+1|0;if((c|0)==64){c=0;break}h=a[k>>0]|0}return c|0}function Dh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Eh(d){d=d|0;var e=0,f=0,g=0;e=og(8)|0;f=(d&255)*80|0;g=og(f)|0;c[e>>2]=g;fl(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function Fh(d){d=d|0;var e=0,f=0,g=0;e=og(8)|0;f=(d&255)*160|0;g=og(f)|0;c[e>>2]=g;fl(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function Gh(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;p=f+8|0;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[f+20>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}if(h|0){f=32;return f|0}h=c[p>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>30;o=f+20|0;do if(!(a[o>>0]|0))if(h>>>0>2){h=h+-2|0;c[p>>2]=h;i=i&255;j=e+4|0;a[j>>0]=i;l=14;break}else{lg(f,2);h=c[p>>2]|0;l=13;break}else l=13;while(0);if((l|0)==13){i=i&255;j=e+4|0;a[j>>0]=i;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0)){lg(f,1);k=j;i=a[j>>0]|0}else k=j}else l=14}if((l|0)==14){h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1;k=j}a[e+13>>0]=h;m=b+4|0;if((a[m>>0]|0)==23)if(!(i<<24>>24))l=35;else{f=32;return f|0}else if(i<<24>>24==2){h=c[p>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>28;do if(!(a[o>>0]|0))if(h>>>0>4){j=h+-4|0;c[p>>2]=j;break}else{lg(f,4);j=c[p>>2]|0;break}else j=h;while(0);a[e>>0]=i;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[o>>0]|0))if(j>>>0>7){c[p>>2]=j+-7;break}else{lg(f,7);break}while(0);a[e+14>>0]=h}else l=35;if((l|0)==35){i=c[p>>2]|0;if(i>>>0<6){h=6-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>26;do if(!(a[o>>0]|0))if(i>>>0>6){c[p>>2]=i+-6;break}else{lg(f,6);break}while(0);a[e>>0]=h}h=Ai(b,e)|0;if(h<<24>>24){f=h;return f|0}if((d[e>>0]|0)>(d[e+1>>0]|0)){f=16;return f|0}if((a[k>>0]|0)==2){f=0;return f|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+9042>>0]=l;if(!(l<<24>>24)){f=0;return f|0}h=a[m>>0]|0;if(h<<24>>24==1){g=a[e>>0]|0;h=b+3|0;if((g&255)<((Dg(a[h>>0]|0)|0)&255))j=a[e>>0]|0;else j=Dg(a[h>>0]|0)|0;a[e+10221>>0]=j;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}b=h&255;a[e+10222>>0]=b;if(b<<24>>24){i=c[p>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>27;do if(!(a[o>>0]|0))if(i>>>0>5){c[p>>2]=i+-5;break}else{lg(f,5);break}while(0);a[e+10223>>0]=h}if(!(j<<24>>24)){f=0;return f|0}k=f+4|0;j=j&255;i=0;do{h=c[p>>2]|0;if(!h){h=(c[k>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}a[e+10224+i>>0]=h;i=i+1|0}while((i|0)!=(j|0));h=0;return h|0}do if((h&255)>=17){if(g<<24>>24){f=0;return f|0}}else{h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+10277>>0]=l;if(l<<24>>24?(n=Hh(b,e,e+10276|0,f)|0,n<<24>>24):0){f=n;return f|0}if(!(g<<24>>24)){if((d[m>>0]|0)>16)break;else h=0;return h|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10359>>0]=p;if(!(p<<24>>24)){f=0;return f|0}f=Hh(b,e,e+10358|0,f)|0;return f|0}while(0);h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))lg(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10277>>0]=p;if(!(p<<24>>24)){f=0;return f|0}Hh(b,e,e+10276|0,f)|0;f=0;return f|0}function Hh(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=h+2|0;b[n>>1]=0;o=i+8|0;if((a[f+4>>0]|0)==23){k=c[o>>2]|0;if(!k)j=c[i+4>>2]|0;else j=c[i>>2]<<32-k;j=j>>>31;do if(!(a[i+20>>0]|0))if(k>>>0>1){c[o>>2]=k+-1;break}else{lg(i,1);break}while(0);p=j&255;a[h+4>>0]=p;if(!(p<<24>>24))j=b[n>>1]|0;else{l=10;m=11}}else{l=11;m=11}if((m|0)==11){k=c[o>>2]|0;if(k>>>0<l>>>0){j=l-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>(32-l|0);do if(!(a[i+20>>0]|0))if(k>>>0>l>>>0){c[o>>2]=k-l;break}else{lg(i,l);break}while(0);j=j&65535;b[n>>1]=j}if(e[f+10>>1]<<1>>>0<(j&65535)>>>0){i=18;return i|0}f=i+8|0;k=c[f>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>29;p=i+20|0;do if(!(a[p>>0]|0))if(k>>>0>3){c[f>>2]=k+-3;break}else{lg(i,3);break}while(0);a[h+5>>0]=j;if((a[g+4>>0]|0)!=2){j=a[g>>0]|0;j=(j&255)<40?j:40;a[h>>0]=j;if(!(j<<24>>24)){i=0;return i|0}n=i+4|0;m=0;do{l=m&255;k=c[f>>2]|0;if(!k){k=(c[n>>2]|0)>>>31;if(!(a[p>>0]|0)){lg(i,1);j=a[h>>0]|0}}else{k=k+-1|0;c[f>>2]=k;k=(c[i>>2]|0)>>>k&1}a[h+6+l>>0]=k;m=m+1<<24>>24}while((m&255)<(j&255));j=0;return j|0}n=g+3|0;if(!(a[n>>0]|0)){i=0;return i|0}o=i+4|0;m=0;l=0;while(1){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))lg(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+57+l>>0]=g;if(g<<24>>24){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))lg(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+65+l>>0]=g;if(g<<24>>24){k=c[f>>2]|0;if(k>>>0<4){j=4-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>28;do if(!(a[p>>0]|0))if(k>>>0>4){c[f>>2]=k+-4;break}else{lg(i,4);break}while(0);a[h+73+l>>0]=j}}j=m+1<<24>>24;if((j&255)<(d[n>>0]|0)){m=j;l=j&255}else{j=0;break}}return j|0}function Ih(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=h+8|0;k=c[F>>2]|0;if(k>>>0<8){l=8-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>24;D=h+20|0;do if(!(a[D>>0]|0))if(k>>>0>8){c[F>>2]=k+-8;break}else{lg(h,8);break}while(0);B=i+7810|0;a[B>>0]=l;if((a[g+5>>0]|0)==0?(m=Gh(f,i,h,0)|0,m<<24>>24):0){j=m;return j|0}H=i+4|0;s=(a[H>>0]|0)==2?3:5;G=i+2|0;k=a[G>>0]|0;a:do if(k<<24>>24){u=f+6|0;v=h+4|0;x=i+9038|0;y=32-s|0;z=(1<<s)+255&255;A=i+9037|0;t=0;l=a[i>>0]|0;r=0;b:while(1){if(!(l<<24>>24)){a[i+7802+r>>0]=0;l=0}else{q=0;l=0;o=0;while(1){if(a[D>>0]|0){k=14;C=168;break b}g=(a[u>>0]|0)==0?4:5;m=c[F>>2]|0;if(m>>>0<g>>>0){k=g-m|0;k=(c[h>>2]&(1<<m)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-m>>>(32-g|0);if(m>>>0>g>>>0)c[F>>2]=m-g;else lg(h,g);k=k&255;n=q&255;p=i+2042+(r*120|0)+n|0;a[p>>0]=k;switch(k<<24>>24){case 12:{k=32;C=168;break b}case 13:{a[A>>0]=1;k=a[p>>0]|0;break}default:{}}if((k&-2)<<24>>24==14)a[x>>0]=1;if((a[u>>0]|0)!=0?(m=a[p>>0]|0,m<<24>>24==11|(m+-16&255)<17):0)k=1;else C=28;do if((C|0)==28){C=0;g=c[F>>2]|0;if(g>>>0<s>>>0){k=s-g|0;k=(c[h>>2]&(1<<g)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-g>>>y;if(!(a[D>>0]|0))if(g>>>0>s>>>0){c[F>>2]=g-s;break}else{lg(h,s);break}}while(0);k=k&255;if((k|0)==(z|0)){k=z;do{m=c[F>>2]|0;if(m>>>0<s>>>0){g=s-m|0;g=(c[h>>2]&(1<<m)+-1)<<g|(c[v>>2]|0)>>>(32-g|0)}else g=c[h>>2]<<32-m>>>y;do if(!(a[D>>0]|0))if(m>>>0>s>>>0){c[F>>2]=m-s;break}else{lg(h,s);break}while(0);m=g&255;k=m+(k&65535)|0}while((m|0)==(z|0))}b[i+3002+(r*240|0)+(n<<1)>>1]=l&255;g=(k&65535)+o|0;b[i+4922+(r*240|0)+(n<<1)>>1]=g;if((a[H>>0]|0)==2){if((q&255)>119|g>>>0>120){k=15;C=168;break b}}else if((q&255)>50|g>>>0>51){k=15;C=168;break b}k=l&255;if(g>>>0>k>>>0)do{a[i+6842+(r*120|0)+k>>0]=a[p>>0]|0;l=l+1<<24>>24;k=l&255}while(g>>>0>k>>>0);l=g&255;q=q+1<<24>>24;k=a[i>>0]|0;if((k&255)<=(l&255))break;else o=g&255}a[i+7802+r>>0]=q;if(k<<24>>24!=l<<24>>24){k=32;C=168;break}k=a[G>>0]|0}g=t+1<<24>>24;if((g&255)<(k&255)){t=g;r=g&255}else{l=k;break a}}if((C|0)==168)return k|0}else l=0;while(0);u=f+7|0;c:do if(!(a[u>>0]|0)){k=a[B>>0]|0;if(l<<24>>24){t=h+4|0;p=0;m=k&255;g=1;s=0;n=(k&255)+65446&65535;k=a[i>>0]|0;r=0;d:while(1){if(!(k<<24>>24))k=0;else{q=0;o=0;while(1){switch(a[i+6842+(r*120|0)+o>>0]|0){case 0:{k=0;break}case 14:case 15:{k=(p&65535)+65476+((mi(h)|0)<<24>>24)&65535;p=k;break}case 13:{if(!(g<<24>>24))k=((mi(h)|0)<<24>>24)+65476|0;else{l=c[F>>2]|0;if(l>>>0<9){k=9-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[t>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>23;do if(!(a[D>>0]|0))if(l>>>0>9){c[F>>2]=l+-9;break}else{lg(h,9);break}while(0);k=(k<<16>>16)+-256|0}k=k+(n&65535)&65535;n=k;g=0;break}default:{b[i+7812+(r*102|0)+(o<<1)>>1]=0;C=(m&65535)+65476+((mi(h)|0)<<24>>24)|0;k=C&65535;if(C<<16>>>0>16711680){k=4;break d}else m=k}}b[i+7812+(r*102|0)+(o<<1)>>1]=k;l=q+1<<24>>24;k=a[i>>0]|0;if((l&255)<(k&255)){q=l;o=l&255}else break}l=a[G>>0]|0}o=s+1<<24>>24;if((o&255)<(l&255)){s=o;r=o&255}else break c}return k|0}}else{k=ni(i,h)|0;if(k<<24>>24){j=k;return j|0}}while(0);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))lg(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;x=i+9039|0;a[x>>0]=C;if(C<<24>>24){k=c[F>>2]|0;if(k>>>0<2){l=2-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>30;do if(!(a[D>>0]|0))if(k>>>0>2){k=k+-2|0;c[F>>2]=k;break}else{lg(h,2);k=c[F>>2]|0;break}while(0);o=i+9043|0;a[o>>0]=l;if(k>>>0<6){l=6-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>26;do if(!(a[D>>0]|0))if(k>>>0>6){c[F>>2]=k+-6;break}else{lg(h,6);break}while(0);a[i+9044>>0]=l;if((l&255)>>>0>(d[i+1>>0]|0)>>>0){j=16;return j|0}n=h+4|0;m=0;g=0;while(1){l=c[F>>2]|0;if(l>>>0<5){k=5-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>27;do if(!(a[D>>0]|0))if(l>>>0>5){c[F>>2]=l+-5;break}else{lg(h,5);break}while(0);a[i+9045+g>>0]=k;l=c[F>>2]|0;if(l>>>0<4){k=4-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>28;do if(!(a[D>>0]|0))if(l>>>0>4){c[F>>2]=l+-4;break}else{lg(h,4);break}while(0);a[i+9049+g>>0]=k;k=m+1<<24>>24;if((d[o>>0]|0)<(k&255))break;else{m=k;g=k&255}}}k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))lg(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;n=i+9040|0;a[n>>0]=C;if(C<<24>>24?(d[f+4>>0]|0)<17:0)oi(i,i+9053|0,h);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))lg(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;a[i+9041>>0]=C;if(C<<24>>24){j=1;return j|0}m=f+8|0;if(a[m>>0]|0){k=c[F>>2]|0;if(k>>>0<14){l=14-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>18;do if(!(a[D>>0]|0))if(k>>>0>14){c[F>>2]=k+-14;break}else{lg(h,14);break}while(0);g=i+10440|0;b[g>>1]=l;k=l&65535;if((a[f+5>>0]|0)==2){if(k>>>0>6144)b[g>>1]=6144}else if(k>>>0>12288)b[g>>1]=12288;l=c[F>>2]|0;if(l>>>0<6){k=6-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[h+4>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>26;do if(!(a[D>>0]|0))if(l>>>0>6){c[F>>2]=l+-6;break}else{lg(h,6);break}while(0);a[i+10442>>0]=(k&255)>>>0>48?49:k&255}if(a[u>>0]|0?(E=pi(i,h)|0,E<<24>>24):0){j=E;return j|0}if((d[f+4>>0]|0)>16?a[n>>0]|0:0)oi(i,i+9053|0,h);e:do if(!(a[m>>0]|0)){k=a[G>>0]|0;if(k<<24>>24){u=(e[f+10>>1]|0)>>>3&65535;t=0;g=0;v=0;f:while(1){s=g&255;r=i+7802+v|0;l=a[r>>0]|0;if(l<<24>>24){q=0;k=(w(s,u)|0)&65535;g=0;do{p=a[i+2042+(v*120|0)+g>>0]|0;g:do switch(p<<24>>24){case 14:case 15:case 13:case 0:{k=(e[i+16+(v*240|0)+(e[i+4922+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)+(k&65535)-(e[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)&65535;break}default:{m=b[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0;o=i+4922+(v*240|0)+(g<<1)|0;if((m&65535)>=(e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0))break g;n=(p&255)>4?2:4;g=m&65535;while(1){l=k&65535;k=ri(p,h,j+(l<<1)|0)|0;if(k<<24>>24)break f;k=n+l&65535;l=g+n|0;if((e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0)<=(l&65535))break;else g=l&65535}l=a[r>>0]|0}}while(0);q=q+1<<24>>24;g=q<<24>>24}while((g|0)<(l&255|0));k=a[G>>0]|0}l=t+1<<24>>24;if((l&255)<(k&255)){t=l;g=s+(d[i+5+v>>0]|0)|0;v=l&255}else break e}return k|0}}else{k=qi(f,i,h,j)|0;if(k<<24>>24){j=k;return j|0}}while(0);if(a[x>>0]|0){if((a[H>>0]|0)==2){j=2;return j|0}k=si(i,j,b[f+10>>1]|0)|0;if(k<<24>>24){j=k;return j|0}}j=0;return j|0}function Jh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Vb;Vb=Vb+8192|0;r=u+4096|0;s=u;t=f+25|0;if(!(a[(d[t>>0]|0)+(f+74)>>0]|0)){n=b[i+2>>1]|0;m=f+4|0;o=d[i>>0]|0;if((a[m>>0]|0)==1){l=f+1136+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=og((e[q>>1]|0)*12|0)|0;c[l>>2]=p;Kh(p,b[q>>1]|0)}l=f+1136+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=og((e[q>>1]|0)*12|0)|0;c[l>>2]=p;Kh(p,b[q>>1]|0)}}if((Lh(a[m>>0]|0)|0)<<24>>24){l=f+1392+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=og(e[q>>1]<<3)|0;c[l>>2]=p;fl(p|0,0,e[q>>1]<<3|0)|0}l=f+1392+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=og(e[q>>1]<<3)|0;c[l>>2]=p;fl(p|0,0,e[q>>1]<<3|0)|0}}m=f+328+(o<<2)|0;if(!(c[m>>2]|0)){l=(d[t>>0]|0)+(f+843)|0;a[l>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=1;else{a[l>>0]=1;l=2}q=f+10|0;p=l<<2;v=og(w(p,e[q>>1]|0)|0)|0;c[m>>2]=v;fl(v|0,0,w(p,e[q>>1]|0)|0)|0}else l=1;n=n&255;m=f+328+(n<<2)|0;if(!(c[m>>2]|0)){v=f+10|0;q=l<<2;p=og(w(q,e[v>>1]|0)|0)|0;c[m>>2]=p;fl(p|0,0,w(q,e[v>>1]|0)|0)|0}l=f+584+(o<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=og(e[v>>1]<<2)|0;c[l>>2]=q;fl(q|0,0,e[v>>1]<<2|0)|0}l=f+584+(n<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=og(e[v>>1]<<2)|0;c[l>>2]=q;fl(q|0,0,e[v>>1]<<2|0)|0}a[(d[t>>0]|0)+(f+74)>>0]=1}q=f+10|0;l=Mh(g,j,r)|0;if(l<<24>>24){v=l;Vb=u;return v|0}l=Mh(h,k,s)|0;if(l<<24>>24){v=l;Vb=u;return v|0}l=b[q>>1]|0;k=f+4|0;m=a[k>>0]|0;n=f+1648|0;o=f+1652|0;if(!(a[g+8628>>0]|0)){Nh(g,0,r,0,l,0,m,n,o);Nh(h,0,s,0,b[q>>1]|0,0,a[k>>0]|0,n,o)}else Nh(g,h,r,s,l,1,m,n,o);Oh(g,h,r,s,b[q>>1]|0);Ph(g,h,r,s,b[q>>1]|0);l=a[k>>0]|0;if(l<<24>>24==1){v=f+3|0;Qh(g,r,c[f+1136+(d[i>>0]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);l=i+2|0;Qh(h,s,c[f+1136+(b[l>>1]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);Rh(g,c[f+1136+(d[i>>0]<<2)>>2]|0);Rh(h,c[f+1136+(b[l>>1]<<2)>>2]|0);l=a[k>>0]|0}if(!((Lh(l)|0)<<24>>24))p=f+3|0;else{o=g+10276|0;j=a[i+5>>0]|0?h+10358|0:h+10276|0;l=a[k>>0]|0;if(l<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[i>>0]<<1)>>1]=b[g+10278>>1]|0;m=a[i>>0]|0;b[g+10278>>1]=b[f+192+((m&255)<<1)>>1]|0;if((a[j+1>>0]|0)!=0?(a[j+4>>0]|0)!=0:0){b[f+192+(b[i+2>>1]<<1)>>1]=b[j+2>>1]|0;l=a[k>>0]|0}else l=23;n=i+2|0;b[j+2>>1]=b[f+192+(b[n>>1]<<1)>>1]|0}else{n=i+2|0;m=a[i>>0]|0}v=m&255;m=f+320|0;p=f+3|0;Sh(g,o,r,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[g+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,l,b[q>>1]|0);v=b[n>>1]|0;Sh(h,j,s,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[h+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,a[k>>0]|0,b[q>>1]|0)}Th(g,g+9053|0,a[p>>0]|0,a[k>>0]|0,r,b[q>>1]|0);Th(h,h+9053|0,a[p>>0]|0,a[k>>0]|0,s,b[q>>1]|0);l=f+324|0;m=c[l>>2]|0;do if(!(a[m>>0]|0))m=i+2|0;else{if(!((a[(d[i>>0]|0)+(m+56)>>0]|0)!=0?(a[m+3>>0]|0)!=0:0)){Uh(m,r);m=c[l>>2]|0}l=i+2|0;if(a[(b[l>>1]|0)+(m+56)>>0]|0?a[m+3>>0]|0:0){m=l;break}Uh(m,s);m=l}while(0);o=f+320|0;j=g+13|0;v=d[i>>0]|0;Vh(c[o>>2]|0,a[g+4>>0]|0,a[j>>0]|0,a[f+128+v>>0]|0,r,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);v=h+13|0;r=b[m>>1]|0;Vh(c[o>>2]|0,a[h+4>>0]|0,a[v>>0]|0,a[f+128+r>>0]|0,s,c[f+328+(r<<2)>>2]|0,c[f+584+(r<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);a[(d[i>>0]|0)+(f+128)>>0]=a[j>>0]|0;a[(b[m>>1]|0)+(f+128)>>0]=a[v>>0]|0;if((Lh(a[k>>0]|0)|0)<<24>>24){v=d[i>>0]|0;Wh(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0);v=b[m>>1]|0;Wh(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0)}l=(a[f+840>>0]|0)==1;if(!l?(a[f+841>>0]|0)!=1:0)k=61;else k=55;do if((k|0)==55){n=d[t>>0]|0;if(!(a[f+843+n>>0]|0))if(l){k=62;break}else{k=61;break}j=d[i>>0]|0;o=b[m>>1]|0;m=f+892+(n<<2)|0;l=c[m>>2]|0;if(!l){r=b[q>>1]|0;s=a[f+2128+n>>0]|0;l=(Cg(a[p>>0]|0)|0)<<1;v=f+842|0;l=ih(r,s,l,a[v>>0]|0)|0;c[m>>2]=l;m=v}else m=f+842|0;s=a[i+6>>0]|0;s=b[i+1942+(((s&255)>1?(s&255)+-1|0:0)<<1)>>1]|0;v=b[i+2046>>1]|0;v=((s&65535)<(v&65535)?s:v)&65535;c[l+4>>2]=(a[i+10>>0]|0)==2?v<<3:v;l=Xh(l,c[f+328+(j<<2)>>2]|0,c[f+328+(o<<2)>>2]|0,a[f+12>>0]|0,a[m>>0]|0)|0;if(l<<24>>24){v=l;Vb=u;return v|0}}while(0);if((k|0)==61?(a[f+841>>0]|0)==1:0)k=62;if((k|0)==62?(a[(d[t>>0]|0)+(f+843)>>0]|0)==0:0){v=23;Vb=u;return v|0}v=0;Vb=u;return v|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;if(!(c<<16>>16))return;d=c&65535;c=0;do{e=a+(c*12|0)|0;f=e;b[f>>1]=0;b[f+2>>1]=0>>>16;e=e+4|0;b[e>>1]=0;b[e+2>>1]=0>>>16;b[a+(c*12|0)+8>>1]=16256;b[a+(c*12|0)+10>>1]=16256;c=c+1|0}while((c|0)!=(d|0));return}function Lh(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 4:{a=1;break}default:a=0}return a|0}function Mh(c,d,g){c=c|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=a[c+2>>0]|0;if(!(C<<24>>24)){D=0;return D|0}B=a[c+1>>0]|0;D=c+1936+((B&255)<<1)|0;j=0;l=0;h=0;A=0;z=0;i=B;while(1){if(!(i<<24>>24)){m=0;j=j&65535;i=0}else{j=j&65535;x=c+5+z|0;y=e[D>>1]|0;k=a[x>>0]|0;m=0;q=0;w=0;p=k;i=0;while(1){o=(e[c+1936+(i+1<<1)>>1]|0)-(e[c+1936+(i<<1)>>1]|0)|0;s=b[c+7812+(z*102|0)+(i<<1)>>1]|0;t=s<<16>>16;s=(s&65535)>255;v=q&65535;u=+f[60344+((s?0:t>>2)<<2)>>2]*+f[60600+((s?0:t&3)<<2)>>2];if(!(k<<24>>24)){i=o&65535;k=0}else{i=o&65535;t=(i|0)==0;s=0;r=q+j|0;while(1){if(t)k=p;else{k=0;q=0;do{o=k+r|0;p=l&65535;k=b[d+(p<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[60616+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[60616+(l<<2)>>2];else{n=0.0;h=17}o=o&65535;f[g+(o<<2)>>2]=u*n;k=b[d+(p+1<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[60616+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[60616+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+1<<2)>>2]=u*n;k=b[d+(p+2<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[60616+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[60616+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+2<<2)>>2]=u*n;k=b[d+(p+3<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[60616+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[60616+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+3<<2)>>2]=u*n;m=(m&65535)+4&65535;l=p+4&65535;k=q+4|0;q=k&65535}while(q>>>0<i>>>0);k=a[x>>0]|0}s=s+1<<24>>24;if((s&255)>=(k&255)){p=k;break}else{r=(r&65535)+y|0;p=k}}}o=w+1<<24>>24;if((o&255)<(B&255)){q=i+v|0;w=o;i=o&255}else{i=B;break}}}k=A+1<<24>>24;if((k&255)<(C&255)){j=j+(m&65535)&65535;A=k;z=k&255}else break}return h|0}function Nh(g,h,i,j,k,l,m,n,o){g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,s=0,t=0.0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0;J=g+2|0;if(!(a[J>>0]|0))return;I=g+2040|0;H=(k&65535)>>>3&65535;E=l<<24>>24==0;F=g+8628|0;G=h+2040|0;D=0;m=0;C=0;while(1){B=g+5+C|0;k=a[B>>0]|0;if(k<<24>>24){A=0;l=a[g>>0]|0;do{if(!(l<<24>>24))l=0;else{z=w(m&255,H)|0;y=0;x=0;while(1){if((a[g+6842+(C*120|0)+x>>0]|0)==13){a[g+10282+x>>0]=0;a[g+10364+x>>0]=0;a[g+10224+x>>0]=0;u=b[g+1936+(x+1<<1)>>1]|0;s=b[I>>1]|0;v=e[g+1936+(x<<1)>>1]|0;s=(((u&65535)<(s&65535)?u:s)&65535)-v|0;u=s&65535;v=i+(z+v<<2)|0;p=b[g+7812+(C*102|0)+(x<<1)>>1]|0;t=1.0/+(u&65535);u=u<<16>>16==0;if(u)q=0.0;else{l=s&65535;q=0.0;k=0;do{L=t*+(Gg(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+r(+q);q=q*+Ta(+(+(p<<16>>16)*.25));if(!u){l=s&65535;k=0;do{u=v+(k<<2)|0;f[u>>2]=q*+f[u>>2];k=k+1|0}while((k|0)!=(l|0))}}a:do if(!E?(a[h+6842+(C*120|0)+x>>0]|0)==13:0){switch(a[F>>0]|0){case 1:{if(a[g+8629+(C*51|0)+x>>0]|0)K=18;break}case 2:{K=18;break}default:{}}if((K|0)==18){K=0;v=b[h+1936+(x+1<<1)>>1]|0;s=b[G>>1]|0;k=e[h+1936+(x<<1)>>1]|0;s=(((v&65535)<(s&65535)?v:s)&65535)-k&65535;if(!s)break;l=z+k|0;k=0;p=0;while(1){x=l+p|0;c[j+(x<<2)>>2]=c[i+(x<<2)>>2];k=k+1<<16>>16;p=k&65535;if(s>>>0<=p>>>0)break a}}a[h+10282+x>>0]=0;a[h+10364+x>>0]=0;a[h+10224+x>>0]=0;s=b[h+1936+(x+1<<1)>>1]|0;u=b[G>>1]|0;v=e[h+1936+(x<<1)>>1]|0;u=(((s&65535)<(u&65535)?s:u)&65535)-v|0;s=u&65535;v=j+(z+v<<2)|0;p=b[h+7812+(C*102|0)+(x<<1)>>1]|0;t=1.0/+(s&65535);s=s<<16>>16==0;if(s)q=0.0;else{l=u&65535;q=0.0;k=0;do{L=t*+(Gg(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+r(+q);q=q*+Ta(+(+(p<<16>>16)*.25));if(!s){l=u&65535;k=0;do{x=v+(k<<2)|0;f[x>>2]=q*+f[x>>2];k=k+1|0}while((k|0)!=(l|0))}}while(0);k=y+1<<24>>24;l=a[g>>0]|0;if((k&255)<(l&255)){y=k;x=k&255}else break}k=a[B>>0]|0}m=m+1<<24>>24;A=A+1<<24>>24}while((A&255)<(k&255))}k=D+1<<24>>24;if((k&255)<(d[J>>0]|0)){D=k;C=k&255}else break}return}function Oh(c,d,e,g,h){c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0.0,B=0.0;i=a[c+8628>>0]|0;if(!(i<<24>>24))return;v=a[c+2>>0]|0;if(!(v<<24>>24))return;s=c+2040|0;r=(h&65535)>>>3&65535;j=0;q=0;p=0;while(1){o=c+5+p|0;h=a[o>>0]|0;if(h<<24>>24){n=a[c>>0]|0;m=0;k=n;do{if(!(k<<24>>24))k=0;else{l=w(j&255,r)|0;k=0;h=0;while(1){if(!(a[c+8629+(p*51|0)+h>>0]|0)){if(i<<24>>24==2){i=2;x=10}}else x=10;if((x|0)==10){x=0;if(((a[d+6842+(p*120|0)+h>>0]|1)<<24>>24!=15?(a[c+6842+(p*120|0)+h>>0]|0)!=13:0)?(t=b[c+1936+(h<<1)>>1]|0,u=c+1936+(h+1<<1)|0,y=b[u>>1]|0,h=b[s>>1]|0,(t&65535)<(((y&65535)<(h&65535)?y:h)&65535)):0){h=t;do{z=l+(h&65535)&65535;y=e+(z<<2)|0;B=+f[y>>2];z=g+(z<<2)|0;A=+f[z>>2];f[y>>2]=B+A;f[z>>2]=B-A;h=h+1<<16>>16;z=b[u>>1]|0;y=b[s>>1]|0}while((h&65535)<(((z&65535)<(y&65535)?z:y)&65535))}}h=k+1<<24>>24;if((h&255)<(n&255)){k=h;h=h&255}else break}h=a[o>>0]|0;k=n}j=j+1<<24>>24;m=m+1<<24>>24}while((m&255)<(h&255))}h=q+1<<24>>24;if((h&255)<(v&255)){q=h;p=h&255}else break}return}function Ph(c,e,g,h,i){c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0;E=e+2|0;j=a[E>>0]|0;if(!(j<<24>>24))return;F=c+2040|0;A=(i&65535)>>>3&65535;z=c+8628|0;y=0;i=0;x=0;while(1){v=e+5+x|0;l=a[v>>0]|0;if(l<<24>>24){u=0;k=a[e>>0]|0;j=l;do{if(!(k<<24>>24))k=0;else{t=w(i&255,A)|0;r=0;j=0;while(1){q=e+6842+(x*120|0)+j|0;if((a[q>>0]|1)<<24>>24==15?(a[c+10224+j>>0]=0,a[e+10224+j>>0]=0,B=+s(.5,+(+(b[e+7812+(x*102|0)+(j<<1)>>1]|0)*.25)),C=b[e+1936+(j<<1)>>1]|0,D=e+1936+(j+1<<1)|0,o=b[D>>1]|0,p=b[F>>1]|0,(C&65535)<(((o&65535)<(p&65535)?o:p)&65535)):0){l=c+8629+(x*51|0)+j|0;m=(a[z>>0]|0)==1;k=C;do{o=t+(k&65535)|0;n=+f[g+(o<<2)>>2]*B;o=h+(o<<2)|0;f[o>>2]=n;p=a[q>>0]|0;if(m)j=1-(d[l>>0]<<1)&255;else j=1;if((p<<24>>24==15?1:(p<<24>>24==14)<<31>>31)<<24>>24!=j<<24>>24)f[o>>2]=-n;k=k+1<<16>>16;o=b[D>>1]|0;p=b[F>>1]|0}while((k&65535)<(((o&65535)<(p&65535)?o:p)&65535))}j=r+1<<24>>24;k=a[e>>0]|0;if((j&255)<(k&255)){r=j;j=j&255}else break}j=a[v>>0]|0}i=i+1<<24>>24;u=u+1<<24>>24}while((u&255)<(j&255));j=a[E>>0]|0}k=y+1<<24>>24;if((k&255)<(j&255)){y=k;x=k&255}else break}return}function Qh(g,i,j,k,l){g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;if((a[g+4>>0]|0)==2){if(!(k<<16>>16))return;n=k&65535;m=0;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+1|0}while((m|0)!=(n|0));return}if(!((Dg(l)|0)<<24>>24))m=g+9042|0;else{M=g+2040|0;m=g+9042|0;L=0;n=0;while(1){p=b[g+1936+(n<<1)>>1]|0;K=b[g+1936+(n+1<<1)>>1]|0;o=b[M>>1]|0;o=(K&65535)<(o&65535)?K:o;if((p&65535)<(o&65535)){K=g+10224+n|0;I=o&65535;J=(a[m>>0]|0)==0;H=p&65535;do{t=i+(H<<2)|0;q=+f[t>>2];if(J)o=0;else o=(a[K>>0]|0)!=0;v=j+(H*12|0)|0;w=(c[h>>2]=e[v>>1]<<16,+f[h>>2]);x=j+(H*12|0)+2|0;y=(c[h>>2]=e[x>>1]<<16,+f[h>>2]);z=j+(H*12|0)+4|0;A=(c[h>>2]=e[z>>1]<<16,+f[h>>2]);B=j+(H*12|0)+6|0;C=(c[h>>2]=e[B>>1]<<16,+f[h>>2]);D=j+(H*12|0)+8|0;n=b[D>>1]|0;E=(c[h>>2]=(n&65535)<<16,+f[h>>2]);F=j+(H*12|0)+10|0;p=b[F>>1]|0;G=(c[h>>2]=(p&65535)<<16,+f[h>>2]);if((n&65535)>16383)u=+f[59320+((((n&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*A*+f[59832+((n&127)<<2)>>2];else u=0.0;if(o){if((p&65535)>16383)s=+f[59320+((((p&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*C*+f[59832+((p&127)<<2)>>2];else s=0.0;r=u*w;o=(f[h>>2]=r+s*y,c[h>>2]|0);n=o&-65536;if(o&32768){p=o&-8388608;s=(c[h>>2]=n,+f[h>>2]);s=s+(c[h>>2]=p|65536,+f[h>>2]);n=(f[h>>2]=s-(c[h>>2]=p,+f[h>>2]),c[h>>2]|0)}q=q+(c[h>>2]=n,+f[h>>2]);f[t>>2]=q}else r=u*w;s=q-r;b[v>>1]=(f[h>>2]=q*.953125,c[h>>2]|0)>>>16;b[x>>1]=(f[h>>2]=(w-u*q)*.953125,c[h>>2]|0)>>>16;b[z>>1]=(f[h>>2]=A*.90625+q*w,c[h>>2]|0)>>>16;b[B>>1]=(f[h>>2]=C*.90625+s*y,c[h>>2]|0)>>>16;b[D>>1]=(f[h>>2]=E*.90625+(w*w+q*q)*.5,c[h>>2]|0)>>>16;b[F>>1]=(f[h>>2]=G*.90625+(y*y+s*s)*.5,c[h>>2]|0)>>>16;H=H+1|0}while(H>>>0<I>>>0)}n=L+1<<24>>24;if((n&255)<((Dg(l)|0)&255)){L=n;n=n&255}else break}}if(!(a[m>>0]|0))return;if(!(a[g+10222>>0]|0))return;m=(d[g+10223>>0]|0)+65535&65535;n=k&65535;if(m>>>0>=n>>>0)return;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+30&65535}while(m>>>0<n>>>0);return}function Rh(c,d){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,o=0,p=0,q=0;if((a[c+4>>0]|0)==2)return;o=c+2|0;e=a[o>>0]|0;if(!(e<<24>>24))return;p=c+2040|0;l=0;k=0;while(1){j=c+5+k|0;f=a[j>>0]|0;if(!(f<<24>>24))f=e;else{g=a[c>>0]|0;i=0;e=g;while(1){if(!(e<<24>>24)){h=g;e=0}else{h=0;f=0;e=g;while(1){if((a[c+6842+(k*120|0)+f>>0]|0)==13?(m=b[c+1936+(f<<1)>>1]|0,g=b[c+1936+(f+1<<1)>>1]|0,n=b[p>>1]|0,n=(g&65535)<(n&65535)?g:n,(m&65535)<(n&65535)):0){e=n&65535;f=m&65535;do{g=d+(f*12|0)|0;q=g;b[q>>1]=0;b[q+2>>1]=0>>>16;g=g+4|0;b[g>>1]=0;b[g+2>>1]=0>>>16;b[d+(f*12|0)+8>>1]=16256;b[d+(f*12|0)+10>>1]=16256;f=f+1|0}while(f>>>0<e>>>0);g=a[c>>0]|0}else g=e;e=h+1<<24>>24;if((e&255)<(g&255)){h=e;f=e&255;e=g}else break}f=a[j>>0]|0;h=g;e=g}i=i+1<<24>>24;if((i&255)>=(f&255))break;else g=h}f=a[o>>0]|0}e=l+1<<24>>24;if((e&255)<(f&255)){l=e;k=e&255;e=f}else break}return}function Sh(c,g,h,i,j,k,l,m,n,o){c=c|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0;z=Vb;Vb=Vb+16384|0;q=z+8192|0;w=z;r=a[c+4>>0]|0;if(r<<24>>24==2){Vb=z;return}if(!(a[g+1>>0]|0)){Vb=z;return}s=(o&65535)<<1&65534;if(s|0){t=e[g+2>>1]|0;u=+f[59288+(d[g+5>>0]<<2)>>2];p=0;v=0;do{f[q+(v<<2)>>2]=u*+(b[i+(v+s-t<<1)>>1]|0);p=p+1<<16>>16;v=p&65535}while(s>>>0>v>>>0)}ji(j,r,k,l,q,w,n,o);ki(c,c+9053|0,m,n,w,o);s=a[g>>0]|0;if(!(s<<24>>24)){Vb=z;return}t=c+2040|0;r=0;p=0;while(1){if(a[g+6+p>>0]|0?(x=b[c+1936+(p<<1)>>1]|0,o=b[c+1936+(p+1<<1)>>1]|0,y=b[t>>1]|0,y=(o&65535)<(y&65535)?o:y,(x&65535)<(y&65535)):0){p=y&65535;q=x&65535;do{o=h+(q<<2)|0;f[o>>2]=+f[w+(q<<2)>>2]+ +f[o>>2];q=q+1|0}while(q>>>0<p>>>0)}p=r+1<<24>>24;if((p&255)<(s&255)){r=p;p=p&255}else break}Vb=z;return}function Th(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=Vb;Vb=Vb+336|0;I=N+168|0;J=N+84|0;K=N;if(!(a[e+9040>>0]|0)){Vb=N;return}D=e+3|0;if(!(a[D>>0]|0)){Vb=N;return}F=e+1|0;L=K+4|0;M=J+4|0;G=e+4|0;H=e+2040|0;C=(k&65535)>>>3&65535;B=0;y=0;while(1){x=g+y|0;if(a[x>>0]|0){z=g+8+y|0;A=w(y,C)|0;u=0;v=d[F>>0]|0;r=0;while(1){k=v&65535;l=k-(d[g+16+(y<<2)+r>>0]|0)|0;v=(l|0)>0?l:0;l=a[g+48+(y<<2)+r>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[z>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(y<<2)+r>>0]|0)==0?(m?59160:59224):m?59032:59096;t=l&255;l=0;do{c[I+(l<<2)>>2]=c[m+(d[g+144+(y<<7)+(r<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(t|0));f[K>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=I+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[J+(p<<2)>>2]=+f[K+(p<<2)>>2]+n*+f[K+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));dl(L|0,M|0,l|0)|0}c[K+(q<<2)>>2]=c[m>>2];if(q>>>0<t>>>0){o=o+1|0;q=q+1|0}else break}l=v&65535;if(l>>>0>=((Eg(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)l=(Eg(h,i,(a[G>>0]|0)==2&1)|0)&255;s=d[e>>0]|0;s=b[e+1936+(((l>>>0<s>>>0?l:s)&65535)<<1)>>1]|0;l=b[H>>1]|0;l=(s&65535)<(l&65535)?s:l;if(k>>>0>=((Eg(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)k=(Eg(h,i,(a[G>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[H>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;s=q&65535;if((q<<16|0)>=65536?(E=(a[g+80+(y<<2)+r>>0]|0)==0,fl(I|0,0,160)|0,s<<16>>16):0){q=E?1:-1;r=t+255&255;p=0;k=j+(A+((E?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){m=l<<24>>24;n=+f[k>>2];o=0;do{O=o;o=o+1|0;n=n-+f[I+(O+m<<2)>>2]*+f[K+(o<<2)>>2]}while((o|0)!=(t|0));O=l+-1<<24>>24;l=O<<24>>24<0?r:O;O=l<<24>>24;f[I+(O+t<<2)>>2]=n;f[I+(O<<2)>>2]=n;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(s&65535))break;else k=k+(q<<2)|0}}}k=u+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{u=k;r=k&255}}}k=B+1<<24>>24;if((k&255)<(d[D>>0]|0)){B=k;y=k&255}else break}Vb=N;return}function Uh(b,c){b=b|0;c=c|0;var e=0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a[b+1>>0]|0;switch(e<<24>>24){case 1:{a[b+4>>0]=-1;break}case 0:return;default:{}}l=b+188|0;m=b+21|0;n=b+184|0;k=e&255;i=0;h=0;e=0;do{j=(d[b+4+e>>0]<<2)+4|0;if(!(a[b+22+e>>0]|0))g=+f[l>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0);else g=-(+f[n>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0));g=+Ta(+(g/24.0));e=h&65535;if(j>>>0>e>>>0)do{o=c+(e<<2)|0;f[o>>2]=+f[o>>2]*g;h=h+1<<16>>16;e=h&65535}while(j>>>0>e>>>0);h=j&65535;i=i+1<<16>>16;e=i&65535}while(e>>>0<k>>>0);return}function Vh(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Vb;Vb=Vb+8192|0;E=F;fl(E|0,0,8192)|0;D=k&65535;o=(k&65535)>>>3;C=o&65535;s=(k&65535)>>>4;m=(D-C|0)/2|0;d=d&255;if(j<<24>>24==23){j=a+16+(d<<2)|0;e=a+16+((e&255)<<2)|0;B=0;t=0}else{t=e&255;j=a+(d<<2)|0;e=a+(t<<2)|0;B=c[a+8+(d<<2)>>2]|0;t=c[a+8+(t<<2)>>2]|0}n=c[j>>2]|0;e=c[e>>2]|0;switch(b<<24>>24){case 0:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=8;break}case 960:case 1024:{d=a+28|0;l=8;break}default:d=0}if((l|0)==8)d=c[d>>2]|0;ii(d,g,E);d=k<<16>>16==0;if(d){Vb=F;return}else j=0;do{f[h+(j<<2)>>2]=+f[i+(j<<2)>>2]+ +f[E+(j<<2)>>2]*+f[e+(j<<2)>>2];C=j+1|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+2|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+3|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];j=(j<<16)+262144>>16}while((j|0)<(D|0));if(d){Vb=F;return}e=D+-1|0;a=D+-2|0;b=D+-3|0;l=D+-4|0;j=0;d=0;while(1){C=d+D|0;f[i+(d<<2)>>2]=+f[E+(C<<2)>>2]*+f[n+(e+j<<2)>>2];f[i+(d+1<<2)>>2]=+f[E+(C+1<<2)>>2]*+f[n+(a+j<<2)>>2];f[i+(d+2<<2)>>2]=+f[E+(C+2<<2)>>2]*+f[n+(b+j<<2)>>2];f[i+(d+3<<2)>>2]=+f[E+(C+3<<2)>>2]*+f[n+(l+j<<2)>>2];d=(d<<16)+262144>>16;if((d|0)<(D|0))j=0-d|0;else break}Vb=F;return}case 1:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=17;break}case 960:case 1024:{d=a+28|0;l=17;break}default:d=0}if((l|0)==17)d=c[d>>2]|0;ii(d,g,E);if(k<<16>>16){d=0;do{f[h+(d<<2)>>2]=+f[i+(d<<2)>>2]+ +f[E+(d<<2)>>2]*+f[e+(d<<2)>>2];A=d+1|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+2|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+3|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];d=(d<<16)+262144>>16}while((d|0)<(D|0))}l=m&65535;b=(l|0)==0;if(!b){d=0;j=0;do{c[i+(j<<2)>>2]=c[E+(j+D<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((l|0)>(j|0))}if(o<<16>>16){j=l+D|0;e=C+-1|0;d=0;a=0;do{f[i+(a+l<<2)>>2]=+f[E+(j+a<<2)>>2]*+f[B+(e-a<<2)>>2];d=d+1<<16>>16;a=d<<16>>16}while((C|0)>(a|0))}if(b){Vb=F;return}j=l+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0));Vb=F;return}case 2:{A=a+24|0;p=o<<1&65535;ii(c[A>>2]|0,g,E);ii(c[A>>2]|0,g+(C<<2)|0,E+(p<<2)|0);w=o<<2&65535;ii(c[A>>2]|0,g+(p<<2)|0,E+(w<<2)|0);q=C*3|0;ii(c[A>>2]|0,g+(q<<2)|0,E+(p*3<<2)|0);y=k&-8&65535;ii(c[A>>2]|0,g+(w<<2)|0,E+(y<<2)|0);r=C*5|0;ii(c[A>>2]|0,g+(r<<2)|0,E+(p*5<<2)|0);v=C*6|0;ii(c[A>>2]|0,g+(v<<2)|0,E+(p*6<<2)|0);z=C*7|0;ii(c[A>>2]|0,g+(z<<2)|0,E+(p*7<<2)|0);A=m&65535;x=(A|0)==0;if(!x){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((A|0)>(j|0))}j=o<<16>>16==0;if(!j){e=A+C|0;a=C+-1|0;b=A+p|0;l=A+q|0;m=s&65535;g=A+w|0;d=0;k=0;do{u=k+A|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k<<2)>>2]*+f[t+(k<<2)>>2];u=e+k|0;n=B+(a-k<<2)|0;o=B+(k<<2)|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+C<<2)>>2]*+f[n>>2]+ +f[E+(k+p<<2)>>2]*+f[o>>2];u=b+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+q<<2)>>2]*+f[n>>2]+ +f[E+(k+w<<2)>>2]*+f[o>>2];u=l+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+r<<2)>>2]*+f[n>>2]+ +f[E+(k+v<<2)>>2]*+f[o>>2];if((k|0)<(m|0)){u=g+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+z<<2)>>2]*+f[n>>2]+ +f[E+(k+y<<2)>>2]*+f[o>>2]}d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(C|0));if(!j){s=s&65535;t=C*9|0;h=C+-1|0;u=C*10|0;p=r-D+A|0;q=C*11|0;r=C*12|0;l=v-D+A|0;m=C*13|0;g=C*14|0;k=z-D+A|0;n=C*15|0;o=y-D+A|0;b=w-D+A|0;a=0;j=0;d=0;while(1){if((d|0)<(s|0)){j=B+(h+j<<2)|0;e=B+(d<<2)|0}else{j=B+(h+j<<2)|0;e=B+(d<<2)|0;f[i+(b+d<<2)>>2]=+f[E+(d+z<<2)>>2]*+f[j>>2]+ +f[E+(d+y<<2)>>2]*+f[e>>2]}f[i+(p+d<<2)>>2]=+f[E+(d+t<<2)>>2]*+f[j>>2]+ +f[E+(d+u<<2)>>2]*+f[e>>2];f[i+(l+d<<2)>>2]=+f[E+(d+q<<2)>>2]*+f[j>>2]+ +f[E+(d+r<<2)>>2]*+f[e>>2];f[i+(k+d<<2)>>2]=+f[E+(d+m<<2)>>2]*+f[j>>2]+ +f[E+(d+g<<2)>>2]*+f[e>>2];f[i+(o+d<<2)>>2]=+f[E+(d+n<<2)>>2]*+f[j>>2];a=a+1<<16>>16;d=a<<16>>16;if((d|0)>=(C|0))break;else j=0-d|0}}}if(x){Vb=F;return}j=A+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((A|0)>(e|0));Vb=F;return}case 3:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=47;break}case 960:case 1024:{d=a+28|0;l=47;break}default:d=0}if((l|0)==47)d=c[d>>2]|0;ii(d,g,E);a=m&65535;e=(a|0)==0;if(!e){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((a|0)>(j|0))}if(o<<16>>16){d=0;j=0;do{B=j+a|0;f[h+(B<<2)>>2]=+f[i+(B<<2)>>2]+ +f[E+(B<<2)>>2]*+f[t+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((j|0)<(C|0))}if(!e){j=a+C|0;d=0;e=0;do{C=j+e|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((a|0)>(e|0))}if(!(k<<16>>16)){Vb=F;return}j=D+-1|0;d=0;e=0;do{f[i+(e<<2)>>2]=+f[E+(e+D<<2)>>2]*+f[n+(j-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(D|0));Vb=F;return}default:{Vb=F;return}}}function Wh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0,m=0;l=e&65535;e=e<<16>>16!=0;if(g<<24>>24==23){if(!e)return;j=l<<1;i=l*3|0;k=0;do{e=a+(k+l<<1)|0;b[a+(k<<1)>>1]=b[e>>1]|0;g=a+(k+j<<1)|0;b[e>>1]=b[g>>1]|0;h=+f[c+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=9;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=9;else e=32767}if((m|0)==9){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=13;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=13;else e=32767}if((m|0)==13){m=0;e=~~h&65535}b[a+(k+i<<1)>>1]=e;k=k+1|0}while((k|0)!=(l|0));return}else{if(!e)return;i=l<<1;j=0;do{g=a+(j+l<<1)|0;b[a+(j<<1)>>1]=b[g>>1]|0;h=+f[c+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=18;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=18;else e=32767}if((m|0)==18){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=22;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=22;else e=32767}if((m|0)==22){m=0;e=~~h&65535}b[a+(j+i<<1)>>1]=e;j=j+1|0}while((j|0)!=(l|0));return}}function Xh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Vb;Vb=Vb+16384|0;l=m;if(!b){b=20;Vb=m;return b|0}if((a[b+12436>>0]|0)!=1){b=21;Vb=m;return b|0}j=b+10|0;if(a[j>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;k=b+9|0;a[k>>0]=g<<24>>24!=0&1;g=(Yh(b,e,l,0,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;h=h<<24>>24!=0;g=c[b+12448>>2]|0;if(h)Zh(b,g,l,e);else _h(b,g,l,e);g=(Yh(b,f,l,1,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;g=c[b+12452>>2]|0;if(h)Zh(b,g,l,f);else _h(b,g,l,f);if(a[b+53426>>0]|0)a[k>>0]=0;if(c[b+12432>>2]|0?(a[j>>0]|0)==0:0){g=$h(b,0)|0;if(g<<24>>24){b=g;Vb=m;return b|0}g=$h(b,1)|0;if(g<<24>>24){b=g;Vb=m;return b|0}}f=b+53418|0;if(a[f>>0]|0){e=b+53416|0;h=0;g=0;while(1){el(b+12456+(g<<9)|0,b+12456+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=23;else j=25}else{g=0;j=23}if((j|0)==23){fl(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;if(!(a[f>>0]|0)){g=0;j=27}else{e=b+53416|0;j=25}}if((j|0)==25){h=0;g=0;while(1){el(b+32936+(g<<9)|0,b+32936+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=27}if((j|0)==27)fl(b+(((g&255)<<9)+32936)|0,0,((39-g&255)<<9)+512|0)|0;b=b+12428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;Vb=m;return b|0}function Yh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=b+12421|0;a[B>>0]=0;C=g&255;k=c[b+12440+(C<<2)>>2]|0;i=b+12456+(C*20480|0)|0;j=a[b+53418>>0]|0;if(!(h<<24>>24)){A=b+14|0;di(b,k,e,i,j,a[A>>0]|0);ei(b,i,i,g);h=fi(b,i,g)|0;if(!((h|a[b+9>>0])<<24>>24)){t=b+53416|0;e=a[t>>0]|0;if(!(e<<24>>24)){C=h;return C|0}u=b+616+(C*6|0)|0;v=b+12420|0;w=b+12423|0;x=b+12422|0;y=b+15|0;z=b+53419|0;s=0;r=0;do{q=s<<16>>16;p=(r|0)<(d[u>>0]|0);l=a[(p?x:B)>>0]|0;m=a[(p?w:y)>>0]|0;p=a[(p?v:A)>>0]|0;o=p&255;n=o+(l&255)|0;if(n|0){j=r+(d[z>>0]|0)|0;i=0;g=0;do{c[f+(r<<9)+(g<<3)>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)>>2];c[f+(r<<9)+(g<<3)+4>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)+4>>2];i=i+1<<16>>16;g=i<<16>>16}while((n|0)>(g|0))}j=o+(m&255)|0;if(j>>>0>n>>>0){g=r+(d[z>>0]|0)|0;i=n&65535;k=n;do{c[f+(r<<9)+(k<<3)>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)>>2];c[f+(r<<9)+(k<<3)+4>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)+4>>2];i=i+1<<16>>16;k=i<<16>>16}while((j|0)>(k|0))}j=n>>>0>j>>>0?l:m;i=(j&255)+o|0;if((i&65535)<<16>>16<64){fl(f+(q<<9)+(i<<3)|0,0,(63-(j&255)-(p&255)<<3&524280)+8|0)|0;e=a[t>>0]|0}s=s+1<<16>>16;r=s<<16>>16}while((r|0)<(e&255|0));return h|0}}else{di(b,k,e,i,j,32);h=0}i=b+53416|0;if(!(a[i>>0]|0)){C=h;return C|0}j=b+53419|0;e=0;g=0;do{B=g+(d[j>>0]|0)|0;c[f+(g<<9)>>2]=c[b+12456+(C*20480|0)+(B<<9)>>2];c[f+(g<<9)+4>>2]=c[b+12456+(C*20480|0)+(B<<9)+4>>2];c[f+(g<<9)+8>>2]=c[b+12456+(C*20480|0)+(B<<9)+8>>2];c[f+(g<<9)+12>>2]=c[b+12456+(C*20480|0)+(B<<9)+12>>2];c[f+(g<<9)+16>>2]=c[b+12456+(C*20480|0)+(B<<9)+16>>2];c[f+(g<<9)+20>>2]=c[b+12456+(C*20480|0)+(B<<9)+20>>2];c[f+(g<<9)+24>>2]=c[b+12456+(C*20480|0)+(B<<9)+24>>2];c[f+(g<<9)+28>>2]=c[b+12456+(C*20480|0)+(B<<9)+28>>2];c[f+(g<<9)+32>>2]=c[b+12456+(C*20480|0)+(B<<9)+32>>2];c[f+(g<<9)+36>>2]=c[b+12456+(C*20480|0)+(B<<9)+36>>2];c[f+(g<<9)+40>>2]=c[b+12456+(C*20480|0)+(B<<9)+40>>2];c[f+(g<<9)+44>>2]=c[b+12456+(C*20480|0)+(B<<9)+44>>2];c[f+(g<<9)+48>>2]=c[b+12456+(C*20480|0)+(B<<9)+48>>2];c[f+(g<<9)+52>>2]=c[b+12456+(C*20480|0)+(B<<9)+52>>2];c[f+(g<<9)+56>>2]=c[b+12456+(C*20480|0)+(B<<9)+56>>2];c[f+(g<<9)+60>>2]=c[b+12456+(C*20480|0)+(B<<9)+60>>2];c[f+(g<<9)+64>>2]=c[b+12456+(C*20480|0)+(B<<9)+64>>2];c[f+(g<<9)+68>>2]=c[b+12456+(C*20480|0)+(B<<9)+68>>2];c[f+(g<<9)+72>>2]=c[b+12456+(C*20480|0)+(B<<9)+72>>2];c[f+(g<<9)+76>>2]=c[b+12456+(C*20480|0)+(B<<9)+76>>2];c[f+(g<<9)+80>>2]=c[b+12456+(C*20480|0)+(B<<9)+80>>2];c[f+(g<<9)+84>>2]=c[b+12456+(C*20480|0)+(B<<9)+84>>2];c[f+(g<<9)+88>>2]=c[b+12456+(C*20480|0)+(B<<9)+88>>2];c[f+(g<<9)+92>>2]=c[b+12456+(C*20480|0)+(B<<9)+92>>2];c[f+(g<<9)+96>>2]=c[b+12456+(C*20480|0)+(B<<9)+96>>2];c[f+(g<<9)+100>>2]=c[b+12456+(C*20480|0)+(B<<9)+100>>2];c[f+(g<<9)+104>>2]=c[b+12456+(C*20480|0)+(B<<9)+104>>2];c[f+(g<<9)+108>>2]=c[b+12456+(C*20480|0)+(B<<9)+108>>2];c[f+(g<<9)+112>>2]=c[b+12456+(C*20480|0)+(B<<9)+112>>2];c[f+(g<<9)+116>>2]=c[b+12456+(C*20480|0)+(B<<9)+116>>2];c[f+(g<<9)+120>>2]=c[b+12456+(C*20480|0)+(B<<9)+120>>2];c[f+(g<<9)+124>>2]=c[b+12456+(C*20480|0)+(B<<9)+124>>2];c[f+(g<<9)+128>>2]=c[b+12456+(C*20480|0)+(B<<9)+128>>2];c[f+(g<<9)+132>>2]=c[b+12456+(C*20480|0)+(B<<9)+132>>2];c[f+(g<<9)+136>>2]=c[b+12456+(C*20480|0)+(B<<9)+136>>2];c[f+(g<<9)+140>>2]=c[b+12456+(C*20480|0)+(B<<9)+140>>2];c[f+(g<<9)+144>>2]=c[b+12456+(C*20480|0)+(B<<9)+144>>2];c[f+(g<<9)+148>>2]=c[b+12456+(C*20480|0)+(B<<9)+148>>2];c[f+(g<<9)+152>>2]=c[b+12456+(C*20480|0)+(B<<9)+152>>2];c[f+(g<<9)+156>>2]=c[b+12456+(C*20480|0)+(B<<9)+156>>2];c[f+(g<<9)+160>>2]=c[b+12456+(C*20480|0)+(B<<9)+160>>2];c[f+(g<<9)+164>>2]=c[b+12456+(C*20480|0)+(B<<9)+164>>2];c[f+(g<<9)+168>>2]=c[b+12456+(C*20480|0)+(B<<9)+168>>2];c[f+(g<<9)+172>>2]=c[b+12456+(C*20480|0)+(B<<9)+172>>2];c[f+(g<<9)+176>>2]=c[b+12456+(C*20480|0)+(B<<9)+176>>2];c[f+(g<<9)+180>>2]=c[b+12456+(C*20480|0)+(B<<9)+180>>2];c[f+(g<<9)+184>>2]=c[b+12456+(C*20480|0)+(B<<9)+184>>2];c[f+(g<<9)+188>>2]=c[b+12456+(C*20480|0)+(B<<9)+188>>2];c[f+(g<<9)+192>>2]=c[b+12456+(C*20480|0)+(B<<9)+192>>2];c[f+(g<<9)+196>>2]=c[b+12456+(C*20480|0)+(B<<9)+196>>2];c[f+(g<<9)+200>>2]=c[b+12456+(C*20480|0)+(B<<9)+200>>2];c[f+(g<<9)+204>>2]=c[b+12456+(C*20480|0)+(B<<9)+204>>2];c[f+(g<<9)+208>>2]=c[b+12456+(C*20480|0)+(B<<9)+208>>2];c[f+(g<<9)+212>>2]=c[b+12456+(C*20480|0)+(B<<9)+212>>2];c[f+(g<<9)+216>>2]=c[b+12456+(C*20480|0)+(B<<9)+216>>2];c[f+(g<<9)+220>>2]=c[b+12456+(C*20480|0)+(B<<9)+220>>2];c[f+(g<<9)+224>>2]=c[b+12456+(C*20480|0)+(B<<9)+224>>2];c[f+(g<<9)+228>>2]=c[b+12456+(C*20480|0)+(B<<9)+228>>2];c[f+(g<<9)+232>>2]=c[b+12456+(C*20480|0)+(B<<9)+232>>2];c[f+(g<<9)+236>>2]=c[b+12456+(C*20480|0)+(B<<9)+236>>2];c[f+(g<<9)+240>>2]=c[b+12456+(C*20480|0)+(B<<9)+240>>2];c[f+(g<<9)+244>>2]=c[b+12456+(C*20480|0)+(B<<9)+244>>2];c[f+(g<<9)+248>>2]=c[b+12456+(C*20480|0)+(B<<9)+248>>2];c[f+(g<<9)+252>>2]=c[b+12456+(C*20480|0)+(B<<9)+252>>2];fl(f+256+(e<<16>>16<<7<<2)|0,0,256)|0;e=e+1<<16>>16;g=e<<16>>16}while((g|0)<(d[i>>0]|0));return h|0}function Zh(e,g,h,i){e=e|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.0,w=0.0,x=0.0,y=0.0,z=0;u=Vb;Vb=Vb+256|0;s=u+128|0;t=u;q=e+53416|0;if(!(a[q>>0]|0)){Vb=u;return}r=g+4|0;o=0;p=0;j=0;while(1){e=0;do{w=+f[h+(j<<9)+(e<<3)>>2];x=+f[54652+(e<<3)>>2];y=+f[h+(j<<9)+(e<<3)+4>>2];v=+f[54652+(e<<3)+4>>2];f[s+(e<<2)>>2]=(w*x-y*v)*.015625;f[t+(e<<2)>>2]=(y*x+w*v)*.015625;e=e+1|0}while((e|0)!=32);bi(s,s);ci(t,t);l=c[g>>2]|0;m=b[r>>1]|0;n=m<<16>>16;e=0;j=0;while(1){z=s+(j<<2)|0;k=t+(j<<2)|0;y=+f[k>>2]-+f[z>>2];f[l+(j+640+n<<2)>>2]=y;f[l+(j+n<<2)>>2]=y;y=+f[z>>2]+ +f[k>>2];f[l+(e+703+n<<2)>>2]=y;f[l+(e+63+n<<2)>>2]=y;k=j+1|0;if((k|0)==32){e=p;j=0;break}else{e=~j;j=k}}while(1){z=j<<1;f[i+(e<<2)>>2]=+f[l+(j+n<<2)>>2]*+f[51196+(z<<2)>>2]+ +f[l+(j+96+n<<2)>>2]*+f[51196+(z+64<<2)>>2]+ +f[l+(j+128+n<<2)>>2]*+f[51196+(z+128<<2)>>2]+ +f[l+(j+224+n<<2)>>2]*+f[51196+(z+192<<2)>>2]+ +f[l+(j+256+n<<2)>>2]*+f[51196+(z+256<<2)>>2]+ +f[l+(j+352+n<<2)>>2]*+f[51196+(z+320<<2)>>2]+ +f[l+(j+384+n<<2)>>2]*+f[51196+(z+384<<2)>>2]+ +f[l+(j+480+n<<2)>>2]*+f[51196+(z+448<<2)>>2]+ +f[l+(j+512+n<<2)>>2]*+f[51196+(z+512<<2)>>2]+ +f[l+(j+608+n<<2)>>2]*+f[51196+(z+576<<2)>>2];j=j+1|0;if((j|0)==32)break;else e=e+1|0}b[r>>1]=m+-64<<16>>16<<16>>16<0?576:(m&65535)+65472&65535;e=o+1<<24>>24;if((e&255)<(d[q>>0]|0)){o=e;p=p+32|0;j=e&255}else break}Vb=u;return}function _h(e,g,h,i){e=e|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.0,F=0,G=0,H=0;C=Vb;Vb=Vb+1024|0;w=C+896|0;x=C+768|0;y=C+640|0;z=C+512|0;A=C+384|0;B=C+256|0;u=C+128|0;v=C;o=e+53416|0;if(!(a[o>>0]|0)){Vb=C;return}p=x+124|0;q=B+124|0;r=w+124|0;s=A+124|0;t=g+4|0;m=0;n=0;while(1){j=n&255;f[p>>2]=+f[h+(j<<9)+8>>2]*.015625;f[w>>2]=+f[h+(j<<9)>>2]*.015625;f[q>>2]=+f[h+(j<<9)+500>>2]*.015625;f[A>>2]=+f[h+(j<<9)+508>>2]*.015625;e=1;do{l=e<<1;D=l|1;k=31-e|0;f[x+(k<<2)>>2]=+f[h+(j<<9)+(D<<3)>>2]*.015625;f[w+(e<<2)>>2]=+f[h+(j<<9)+(l<<3)>>2]*.015625;f[B+(k<<2)>>2]=+f[h+(j<<9)+(63-D<<3)+4>>2]*.015625;f[A+(e<<2)>>2]=+f[h+(j<<9)+(63-l<<3)+4>>2]*.015625;e=e+1|0}while((e|0)!=31);f[x>>2]=+f[h+(j<<9)+504>>2]*.015625;f[r>>2]=+f[h+(j<<9)+496>>2]*.015625;f[B>>2]=+f[h+(j<<9)+4>>2]*.015625;f[s>>2]=+f[h+(j<<9)+12>>2]*.015625;ai(w,x,y,z);ai(A,B,u,v);k=b[t>>1]|0;l=(c[g>>2]|0)+(k<<16>>16<<2)|0;j=l+5120|0;e=0;do{G=u+(e<<2)|0;F=y+(e<<2)|0;E=+f[G>>2]-+f[F>>2];D=e<<1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]+ +f[F>>2];F=127-D|0;f[j+(F<<2)>>2]=E;f[l+(F<<2)>>2]=E;F=31-e|0;G=v+(F<<2)|0;F=z+(F<<2)|0;E=+f[G>>2]+ +f[F>>2];D=D|1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]-+f[F>>2];D=127-D|0;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;e=e+1|0}while((e|0)!=32);e=0;j=m;while(1){H=e+192|0;D=e+256|0;F=e+448|0;G=e+512|0;f[i+(j<<2)>>2]=+f[l+(e<<2)>>2]*+f[51196+(e<<2)>>2]+ +f[l+(H<<2)>>2]*+f[51196+(e+64<<2)>>2]+ +f[l+(D<<2)>>2]*+f[51196+(e+128<<2)>>2]+ +f[l+(F<<2)>>2]*+f[51196+(H<<2)>>2]+ +f[l+(G<<2)>>2]*+f[51196+(D<<2)>>2]+ +f[l+(e+704<<2)>>2]*+f[51196+(e+320<<2)>>2]+ +f[l+(e+768<<2)>>2]*+f[51196+(e+384<<2)>>2]+ +f[l+(e+960<<2)>>2]*+f[51196+(F<<2)>>2]+ +f[l+(e+1024<<2)>>2]*+f[51196+(G<<2)>>2]+ +f[l+(e+1216<<2)>>2]*+f[51196+(e+576<<2)>>2];e=e+1|0;if((e|0)==64)break;else j=j+1|0}b[t>>1]=k+-128<<16>>16<<16>>16<0?1152:(k&65535)+65408&65535;n=n+1<<24>>24;if((n&255)>=(d[o>>0]|0))break;else m=m+64|0}Vb=C;return}function $h(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;a[e+12420>>0]=a[e+14>>0]|0;a[e+12423>>0]=a[e+15>>0]|0;a[e+12422>>0]=a[e+12421>>0]|0;g=f&255;h=e+610+g|0;f=a[h>>0]|0;a[e+612+g>>0]=f;if(!(f<<24>>24)){e=19;return e|0}a[e+646+g>>0]=a[(f&255)+-1+(e+634+(g*6|0))>>0]|0;i=e+614+g|0;b[e+2010+(g<<7)>>1]=b[e+730+(g*640|0)+((f&255)+-1<<1)>>1]|0;c[e+10460+(g<<8)>>2]=c[e+7388+(g<<9)+((d[i>>0]|0)+-1<<2)>>2];f=1;do{b[e+2010+(g<<7)+(f<<1)>>1]=b[e+730+(g*640|0)+(f*10|0)+((d[h>>0]|0)+-1<<1)>>1]|0;c[e+10460+(g<<8)+(f<<2)>>2]=c[e+7388+(g<<9)+(f<<3)+((d[i>>0]|0)+-1<<2)>>2];f=f+1|0}while((f|0)!=49);a[e+12277+(g<<6)>>0]=a[e+12149+(g<<6)>>0]|0;a[e+12277+(g<<6)+1>>0]=a[e+12149+(g<<6)+1>>0]|0;a[e+12277+(g<<6)+2>>0]=a[e+12149+(g<<6)+2>>0]|0;a[e+12277+(g<<6)+3>>0]=a[e+12149+(g<<6)+3>>0]|0;a[e+12277+(g<<6)+4>>0]=a[e+12149+(g<<6)+4>>0]|0;a[e+12277+(g<<6)+5>>0]=a[e+12149+(g<<6)+5>>0]|0;a[e+12277+(g<<6)+6>>0]=a[e+12149+(g<<6)+6>>0]|0;a[e+12277+(g<<6)+7>>0]=a[e+12149+(g<<6)+7>>0]|0;a[e+12277+(g<<6)+8>>0]=a[e+12149+(g<<6)+8>>0]|0;a[e+12277+(g<<6)+9>>0]=a[e+12149+(g<<6)+9>>0]|0;a[e+12277+(g<<6)+10>>0]=a[e+12149+(g<<6)+10>>0]|0;a[e+12277+(g<<6)+11>>0]=a[e+12149+(g<<6)+11>>0]|0;a[e+12277+(g<<6)+12>>0]=a[e+12149+(g<<6)+12>>0]|0;a[e+12277+(g<<6)+13>>0]=a[e+12149+(g<<6)+13>>0]|0;a[e+12277+(g<<6)+14>>0]=a[e+12149+(g<<6)+14>>0]|0;a[e+12277+(g<<6)+15>>0]=a[e+12149+(g<<6)+15>>0]|0;a[e+12277+(g<<6)+16>>0]=a[e+12149+(g<<6)+16>>0]|0;a[e+12277+(g<<6)+17>>0]=a[e+12149+(g<<6)+17>>0]|0;a[e+12277+(g<<6)+18>>0]=a[e+12149+(g<<6)+18>>0]|0;a[e+12277+(g<<6)+19>>0]=a[e+12149+(g<<6)+19>>0]|0;a[e+12277+(g<<6)+20>>0]=a[e+12149+(g<<6)+20>>0]|0;a[e+12277+(g<<6)+21>>0]=a[e+12149+(g<<6)+21>>0]|0;a[e+12277+(g<<6)+22>>0]=a[e+12149+(g<<6)+22>>0]|0;a[e+12277+(g<<6)+23>>0]=a[e+12149+(g<<6)+23>>0]|0;a[e+12277+(g<<6)+24>>0]=a[e+12149+(g<<6)+24>>0]|0;a[e+12277+(g<<6)+25>>0]=a[e+12149+(g<<6)+25>>0]|0;a[e+12277+(g<<6)+26>>0]=a[e+12149+(g<<6)+26>>0]|0;a[e+12277+(g<<6)+27>>0]=a[e+12149+(g<<6)+27>>0]|0;a[e+12277+(g<<6)+28>>0]=a[e+12149+(g<<6)+28>>0]|0;a[e+12277+(g<<6)+29>>0]=a[e+12149+(g<<6)+29>>0]|0;a[e+12277+(g<<6)+30>>0]=a[e+12149+(g<<6)+30>>0]|0;a[e+12277+(g<<6)+31>>0]=a[e+12149+(g<<6)+31>>0]|0;a[e+12277+(g<<6)+32>>0]=a[e+12149+(g<<6)+32>>0]|0;a[e+12277+(g<<6)+33>>0]=a[e+12149+(g<<6)+33>>0]|0;a[e+12277+(g<<6)+34>>0]=a[e+12149+(g<<6)+34>>0]|0;a[e+12277+(g<<6)+35>>0]=a[e+12149+(g<<6)+35>>0]|0;a[e+12277+(g<<6)+36>>0]=a[e+12149+(g<<6)+36>>0]|0;a[e+12277+(g<<6)+37>>0]=a[e+12149+(g<<6)+37>>0]|0;a[e+12277+(g<<6)+38>>0]=a[e+12149+(g<<6)+38>>0]|0;a[e+12277+(g<<6)+39>>0]=a[e+12149+(g<<6)+39>>0]|0;a[e+12277+(g<<6)+40>>0]=a[e+12149+(g<<6)+40>>0]|0;a[e+12277+(g<<6)+41>>0]=a[e+12149+(g<<6)+41>>0]|0;a[e+12277+(g<<6)+42>>0]=a[e+12149+(g<<6)+42>>0]|0;a[e+12277+(g<<6)+43>>0]=a[e+12149+(g<<6)+43>>0]|0;a[e+12277+(g<<6)+44>>0]=a[e+12149+(g<<6)+44>>0]|0;a[e+12277+(g<<6)+45>>0]=a[e+12149+(g<<6)+45>>0]|0;a[e+12277+(g<<6)+46>>0]=a[e+12149+(g<<6)+46>>0]|0;a[e+12277+(g<<6)+47>>0]=a[e+12149+(g<<6)+47>>0]|0;a[e+12277+(g<<6)+48>>0]=a[e+12149+(g<<6)+48>>0]|0;a[e+53445+g>>0]=a[e+53443+g>>0]|0;a[e+12418+g>>0]=((a[e+10972+g>>0]|0)!=(d[h>>0]|0))<<31>>31;e=0;return e|0}function ai(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;g=0;do{h=a+(g<<2)|0;j=+f[h>>2];i=b+(g<<2)|0;l=+f[i>>2];k=(j+l)*+f[53756+(g<<2)>>2];f[h>>2]=k+l*+f[53756+(g+64<<2)>>2];f[i>>2]=k+j*+f[53756+(g+32<<2)>>2];g=g+1|0}while((g|0)!=32);g=0;do{p=a+(g<<2)|0;r=+f[p>>2];n=b+(g<<2)|0;i=g+16|0;h=a+(i<<2)|0;q=+f[h>>2];i=b+(i<<2)|0;o=+f[i>>2];j=+f[54524+(g<<2)>>2];l=+f[54588+(g<<2)>>2];k=r-q;m=+f[n>>2]-o;f[p>>2]=r+q;f[n>>2]=o+ +f[n>>2];f[h>>2]=k*j-m*l;f[i>>2]=m*j+k*l;g=g+1|0}while((g|0)!=16);g=0;h=0;while(1){q=+f[54524+(h<<2)>>2];m=+f[54588+(h<<2)>>2];n=a+(g<<2)|0;r=+f[n>>2];p=b+(g<<2)|0;i=g+8|0;s=a+(i<<2)|0;o=+f[s>>2];i=b+(i<<2)|0;l=+f[i>>2];k=r-o;j=+f[p>>2]-l;f[n>>2]=r+o;f[p>>2]=l+ +f[p>>2];f[s>>2]=q*k-m*j;f[i>>2]=m*k+q*j;i=g+16|0;s=a+(i<<2)|0;j=+f[s>>2];i=b+(i<<2)|0;p=g+24|0;n=a+(p<<2)|0;k=+f[n>>2];p=b+(p<<2)|0;l=+f[p>>2];o=j-k;r=+f[i>>2]-l;f[s>>2]=j+k;f[i>>2]=l+ +f[i>>2];f[n>>2]=q*o-m*r;f[p>>2]=m*o+q*r;g=g+1|0;if((g|0)==8)break;else h=h+2|0}r=+f[a>>2];q=+f[b>>2];sa=a+16|0;o=+f[sa>>2];ra=b+16|0;m=+f[ra>>2];f[a>>2]=r+o;f[b>>2]=m+ +f[b>>2];f[sa>>2]=r-o;f[ra>>2]=q-m;oa=a+32|0;m=+f[oa>>2];na=b+32|0;q=+f[na>>2];ka=a+48|0;o=+f[ka>>2];ja=b+48|0;r=+f[ja>>2];f[oa>>2]=m+o;f[na>>2]=r+ +f[na>>2];f[ka>>2]=m-o;f[ja>>2]=q-r;ga=a+64|0;r=+f[ga>>2];fa=b+64|0;q=+f[fa>>2];ca=a+80|0;o=+f[ca>>2];ba=b+80|0;m=+f[ba>>2];f[ga>>2]=r+o;f[fa>>2]=m+ +f[fa>>2];f[ca>>2]=r-o;f[ba>>2]=q-m;_=a+96|0;m=+f[_>>2];Z=b+96|0;q=+f[Z>>2];W=a+112|0;o=+f[W>>2];V=b+112|0;r=+f[V>>2];f[_>>2]=m+o;f[Z>>2]=r+ +f[Z>>2];f[W>>2]=m-o;f[V>>2]=q-r;h=a+4|0;r=+f[h>>2];i=b+4|0;Q=a+20|0;q=+f[Q>>2];P=b+20|0;o=+f[P>>2];m=r-q;l=+f[i>>2]-o;f[h>>2]=r+q;f[i>>2]=o+ +f[i>>2];f[Q>>2]=(m+l)*.7071067690849304;f[P>>2]=(l-m)*.7071067690849304;M=a+36|0;m=+f[M>>2];L=b+36|0;I=a+52|0;l=+f[I>>2];H=b+52|0;o=+f[H>>2];q=m-l;r=+f[L>>2]-o;f[M>>2]=m+l;f[L>>2]=o+ +f[L>>2];f[I>>2]=(q+r)*.7071067690849304;f[H>>2]=(r-q)*.7071067690849304;E=a+68|0;q=+f[E>>2];D=b+68|0;A=a+84|0;r=+f[A>>2];z=b+84|0;o=+f[z>>2];l=q-r;m=+f[D>>2]-o;f[E>>2]=q+r;f[D>>2]=o+ +f[D>>2];f[A>>2]=(l+m)*.7071067690849304;f[z>>2]=(m-l)*.7071067690849304;w=a+100|0;l=+f[w>>2];v=b+100|0;n=a+116|0;m=+f[n>>2];p=b+116|0;o=+f[p>>2];r=l-m;q=+f[v>>2]-o;f[w>>2]=l+m;f[v>>2]=o+ +f[v>>2];f[n>>2]=(r+q)*.7071067690849304;f[p>>2]=(q-r)*.7071067690849304;ua=a+8|0;r=+f[ua>>2];ta=b+8|0;q=+f[ta>>2];qa=a+24|0;o=+f[qa>>2];pa=b+24|0;m=+f[pa>>2];f[ua>>2]=r+o;f[ta>>2]=m+ +f[ta>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;ma=a+40|0;r=+f[ma>>2];la=b+40|0;o=+f[la>>2];ia=a+56|0;m=+f[ia>>2];ha=b+56|0;q=+f[ha>>2];f[ma>>2]=r+m;f[la>>2]=q+ +f[la>>2];f[ia>>2]=o-q;f[ha>>2]=m-r;ea=a+72|0;r=+f[ea>>2];da=b+72|0;m=+f[da>>2];aa=a+88|0;q=+f[aa>>2];$=b+88|0;o=+f[$>>2];f[ea>>2]=r+q;f[da>>2]=o+ +f[da>>2];f[aa>>2]=m-o;f[$>>2]=q-r;Y=a+104|0;r=+f[Y>>2];X=b+104|0;q=+f[X>>2];U=a+120|0;o=+f[U>>2];T=b+120|0;m=+f[T>>2];f[Y>>2]=r+o;f[X>>2]=m+ +f[X>>2];f[U>>2]=q-m;f[T>>2]=o-r;S=a+12|0;r=+f[S>>2];R=b+12|0;O=a+28|0;o=+f[O>>2];N=b+28|0;m=+f[N>>2];q=r-o;l=+f[R>>2]-m;f[S>>2]=r+o;f[R>>2]=m+ +f[R>>2];f[O>>2]=(q-l)*-.7071068286895752;f[N>>2]=(q+l)*-.7071068286895752;K=a+44|0;l=+f[K>>2];J=b+44|0;G=a+60|0;q=+f[G>>2];F=b+60|0;m=+f[F>>2];o=l-q;r=+f[J>>2]-m;f[K>>2]=l+q;f[J>>2]=m+ +f[J>>2];f[G>>2]=(o-r)*-.7071068286895752;f[F>>2]=(o+r)*-.7071068286895752;C=a+76|0;r=+f[C>>2];B=b+76|0;y=a+92|0;o=+f[y>>2];x=b+92|0;m=+f[x>>2];q=r-o;l=+f[B>>2]-m;f[C>>2]=r+o;f[B>>2]=m+ +f[B>>2];f[y>>2]=(q-l)*-.7071068286895752;f[x>>2]=(q+l)*-.7071068286895752;u=a+108|0;l=+f[u>>2];t=b+108|0;s=a+124|0;q=+f[s>>2];g=b+124|0;m=+f[g>>2];o=l-q;r=+f[t>>2]-m;f[u>>2]=l+q;f[t>>2]=m+ +f[t>>2];f[s>>2]=(o-r)*-.7071068286895752;f[g>>2]=(o+r)*-.7071068286895752;r=+f[a>>2];o=+f[b>>2];m=+f[ua>>2];q=+f[ta>>2];f[a>>2]=r+m;f[b>>2]=q+ +f[b>>2];f[ua>>2]=r-m;f[ta>>2]=o-q;q=+f[sa>>2];o=+f[ra>>2];m=+f[qa>>2];r=+f[pa>>2];f[sa>>2]=q+m;f[ra>>2]=r+ +f[ra>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;r=+f[oa>>2];o=+f[na>>2];m=+f[ma>>2];q=+f[la>>2];f[oa>>2]=r+m;f[na>>2]=q+ +f[na>>2];f[ma>>2]=r-m;f[la>>2]=o-q;q=+f[ka>>2];o=+f[ja>>2];m=+f[ia>>2];r=+f[ha>>2];f[ka>>2]=q+m;f[ja>>2]=r+ +f[ja>>2];f[ia>>2]=q-m;f[ha>>2]=o-r;r=+f[ga>>2];o=+f[fa>>2];m=+f[ea>>2];q=+f[da>>2];f[ga>>2]=r+m;f[fa>>2]=q+ +f[fa>>2];f[ea>>2]=r-m;f[da>>2]=o-q;q=+f[ca>>2];o=+f[ba>>2];m=+f[aa>>2];r=+f[$>>2];f[ca>>2]=q+m;f[ba>>2]=r+ +f[ba>>2];f[aa>>2]=q-m;f[$>>2]=o-r;r=+f[_>>2];o=+f[Z>>2];m=+f[Y>>2];q=+f[X>>2];f[_>>2]=r+m;f[Z>>2]=q+ +f[Z>>2];f[Y>>2]=r-m;f[X>>2]=o-q;q=+f[W>>2];o=+f[V>>2];m=+f[U>>2];r=+f[T>>2];f[W>>2]=q+m;f[V>>2]=r+ +f[V>>2];f[U>>2]=q-m;f[T>>2]=o-r;r=+f[h>>2];o=+f[i>>2];m=+f[S>>2];q=+f[R>>2];f[h>>2]=r+m;f[i>>2]=q+ +f[i>>2];f[S>>2]=o-q;f[R>>2]=m-r;r=+f[Q>>2];m=+f[P>>2];q=+f[O>>2];o=+f[N>>2];f[Q>>2]=r+q;f[P>>2]=o+ +f[P>>2];f[O>>2]=m-o;f[N>>2]=q-r;r=+f[M>>2];q=+f[L>>2];o=+f[K>>2];m=+f[J>>2];f[M>>2]=r+o;f[L>>2]=m+ +f[L>>2];f[K>>2]=q-m;f[J>>2]=o-r;r=+f[I>>2];o=+f[H>>2];m=+f[G>>2];q=+f[F>>2];f[I>>2]=r+m;f[H>>2]=q+ +f[H>>2];f[G>>2]=o-q;f[F>>2]=m-r;r=+f[E>>2];m=+f[D>>2];q=+f[C>>2];o=+f[B>>2];f[E>>2]=r+q;f[D>>2]=o+ +f[D>>2];f[C>>2]=m-o;f[B>>2]=q-r;r=+f[A>>2];q=+f[z>>2];o=+f[y>>2];m=+f[x>>2];f[A>>2]=r+o;f[z>>2]=m+ +f[z>>2];f[y>>2]=q-m;f[x>>2]=o-r;r=+f[w>>2];o=+f[v>>2];m=+f[u>>2];q=+f[t>>2];f[w>>2]=r+m;f[v>>2]=q+ +f[v>>2];f[u>>2]=o-q;f[t>>2]=m-r;r=+f[n>>2];m=+f[p>>2];q=+f[s>>2];o=+f[g>>2];f[n>>2]=r+q;f[p>>2]=o+ +f[p>>2];f[s>>2]=m-o;f[g>>2]=q-r;g=0;do{ua=g|1;ra=a+(g<<2)|0;m=+f[ra>>2];sa=b+(g<<2)|0;q=+f[sa>>2];ta=a+(ua<<2)|0;o=+f[ta>>2];ua=b+(ua<<2)|0;r=+f[ua>>2];f[ra>>2]=m+o;f[sa>>2]=r+ +f[sa>>2];f[ta>>2]=m-o;f[ua>>2]=q-r;g=g+2|0}while(g>>>0<32);g=0;do{ua=d[119710+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[53756+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[53756+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[53756+(g+128<<2)>>2];g=g+1|0}while((g|0)!=16);f[e+64>>2]=(+f[i>>2]-+f[h>>2])*.7071067690849304;f[c+64>>2]=(+f[h>>2]+ +f[i>>2])*.7071067690849304;g=17;do{ua=d[119710+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[53756+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[53756+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[53756+(g+128<<2)>>2];g=g+1|0}while((g|0)!=32);return}function bi(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;e=+f[b+60>>2];h=+f[b+64>>2];c=(e+h)*.7071067690849304;h=(e-h)*.7071067690849304;e=+f[b+32>>2];p=+f[b+92>>2];i=(e+p)*.7071067690849304;p=(e-p)*.7071067690849304;e=+f[b+48>>2];r=+f[b+76>>2];I=(e+r)*.7071067690849304;r=(e-r)*.7071067690849304;e=+f[b+44>>2];s=+f[b+80>>2];o=(e+s)*.7071067690849304;s=(e-s)*.7071067690849304;e=+f[b+56>>2];v=+f[b+68>>2];u=(e+v)*.7071067690849304;v=(e-v)*.7071067690849304;e=+f[b+36>>2];D=+f[b+88>>2];A=(e+D)*.7071067690849304;D=(e-D)*.7071067690849304;e=+f[b+52>>2];F=+f[b+72>>2];l=(e+F)*.7071067690849304;F=(e-F)*.7071067690849304;e=+f[b+40>>2];j=+f[b+84>>2];G=(e+j)*.7071067690849304;j=(e-j)*.7071067690849304;e=+f[b>>2];z=e-c;e=c+e;c=+f[b+124>>2];k=c-h;c=h+c;h=+f[b+28>>2];t=h-i;h=i+h;i=+f[b+96>>2];g=i-p;i=p+i;p=+f[b+12>>2];n=p-I;p=I+p;I=+f[b+112>>2];w=I-r;I=r+I;r=+f[b+16>>2];x=r-o;r=o+r;o=+f[b+108>>2];m=o-s;o=s+o;s=+f[b+4>>2];J=s-u;s=u+s;u=+f[b+120>>2];C=u-v;u=v+u;v=+f[b+24>>2];H=v-A;v=A+v;A=+f[b+100>>2];y=A-D;A=D+A;D=+f[b+8>>2];B=D-l;D=l+D;l=+f[b+116>>2];q=l-F;l=F+l;F=+f[b+20>>2];d=F-G;F=G+F;G=+f[b+104>>2];E=G-j;G=j+G;j=(h+i)*.9238795042037964;i=j-i*.5411961078643799;j=h*1.3065630197525024-j;h=(t+g)*-.3826834261417389;g=g*1.3065630197525024+h;h=t*.5411961078643799-h;t=(r+o)*.9238795042037964;o=t-o*.5411961078643799;t=r*1.3065630197525024-t;r=(x+m)*-.3826834261417389;m=m*1.3065630197525024+r;r=x*.5411961078643799-r;x=(v+A)*.9238795042037964;A=x-A*.5411961078643799;x=v*1.3065630197525024-x;v=(H+y)*-.3826834261417389;y=y*1.3065630197525024+v;v=H*.5411961078643799-v;H=(F+G)*.9238795042037964;G=H-G*.5411961078643799;H=F*1.3065630197525024-H;F=(d+E)*-.3826834261417389;E=E*1.3065630197525024+F;F=d*.5411961078643799-F;d=e-i;i=e+i;e=c-j;j=c+j;c=z-g;g=z+g;z=k-h;h=k+h;k=p-o;o=p+o;p=I-t;t=I+t;I=n-m;m=n+m;n=w-r;r=w+r;w=s-A;A=s+A;s=u-x;x=u+x;u=J-y;y=J+y;J=C-v;v=C+v;C=D-G;G=D+G;D=l-H;H=l+H;l=B-E;E=B+E;B=q-F;F=q+F;q=(t+o)*.9807852506637573;t=q-t*.78569495677948;q=o*1.1758755445480347-q;o=(r+m)*.5555702447891235;r=r*.27589938044548035+o;o=m*1.3870398998260498-o;m=(p+k)*-.19509032368659973;p=p*1.1758755445480347+m;m=k*.78569495677948-m;k=(n+I)*-.8314695954322815;n=n*1.3870398998260498+k;k=I*-.27589938044548035-k;I=(H+G)*.9807852506637573;H=I-H*.78569495677948;I=G*1.1758755445480347-I;G=(F+E)*.5555702447891235;F=F*.27589938044548035+G;G=E*1.3870398998260498-G;E=(D+C)*-.19509032368659973;D=D*1.1758755445480347+E;E=C*.78569495677948-E;C=(B+l)*-.8314695954322815;B=B*1.3870398998260498+C;C=l*-.27589938044548035-C;l=i-t;t=i+t;i=j-q;q=j+q;j=g-r;r=g+r;g=h-o;o=h+o;h=d-p;p=d+p;d=e-m;m=e+m;e=c-n;n=c+n;c=z-k;k=z+k;z=A-H;H=A+H;A=x-I;I=x+I;x=y-F;F=y+F;y=v-G;G=v+G;v=w-D;D=w+D;w=s-E;E=s+E;s=u-B;B=u+B;u=J-C;C=J+C;J=(I+H)*.9951847195625305;I=J-I*.8971675634384155;J=H*1.0932018756866455-J;H=(G+F)*.8819212913513184;G=H-G*.41052451729774475;H=F*1.3533179759979248-H;F=(E+D)*.6343932747840881;E=E*.13861717283725739+F;F=D*1.4074037075042725-F;D=(C+B)*.290284663438797;C=C*.6666556596755981+D;D=B*1.247225046157837-D;B=(A+z)*-.0980171412229538;A=A*1.0932018756866455+B;B=z*.8971675634384155-B;z=(y+x)*-.4713967442512512;y=y*1.3533179759979248+z;z=x*.41052451729774475-z;x=(w+v)*-.7730104327201843;w=w*1.4074037075042725+x;x=v*-.13861717283725739-x;v=(u+s)*-.9569403529167175;u=u*1.247225046157837+v;v=s*-.6666556596755981-v;s=t-I;I=t+I;t=q-J;J=q+J;q=r-G;G=r+G;r=o-H;H=o+H;o=p-E;E=p+E;p=m-F;F=m+F;m=n-C;C=n+C;n=k-D;D=k+D;k=l-A;A=l+A;l=i-B;B=i+B;i=j-y;y=j+y;j=g-z;z=g+z;g=h-w;w=h+w;h=d-x;x=d+x;d=e-u;u=e+u;e=c-v;v=c+v;c=(J+I)*.99969881772995;f[a>>2]=c-J*.975157618522644;f[a+124>>2]=I*1.0242400169372559-c;c=(H+G)*.9924795627593994;f[a+8>>2]=c-H*.8700688481330872;f[a+116>>2]=G*1.114890217781067-c;c=(F+E)*.9757021069526672;f[a+16>>2]=c-F*.7566009163856506;f[a+108>>2]=E*1.1948033571243286-c;c=(D+C)*.949528157711029;f[a+24>>2]=c-D*.6358464360237122;f[a+100>>2]=C*1.2632099390029907-c;c=(B+A)*.91420978307724;f[a+32>>2]=c-B*.5089684128761292;f[a+92>>2]=A*1.319451093673706-c;c=(z+y)*.8700869679450989;f[a+40>>2]=c-z*.3771888017654419;f[a+84>>2]=y*1.3629851341247559-c;c=(x+w)*.8175848126411438;f[a+48>>2]=c-x*.24177661538124084;f[a+76>>2]=w*1.3933930397033691-c;c=(v+u)*.7572088241577148;f[a+56>>2]=c-v*.10403600335121155;f[a+68>>2]=u*1.4103816747665405-c;c=(t+s)*.6895405650138855;f[a+64>>2]=t*.034706536680459976+c;f[a+60>>2]=s*1.413787603378296-c;c=(r+q)*.6152315735816956;f[a+72>>2]=r*.1731148362159729+c;f[a+52>>2]=q*1.4035780429840088-c;c=(p+o)*.5349976420402527;f[a+80>>2]=p*.30985593795776367+c;f[a+44>>2]=o*1.379851222038269-c;c=(n+m)*.4496113359928131;f[a+88>>2]=n*.4436129629611969+c;f[a+36>>2]=m*1.3428356647491455-c;c=(l+k)*.3598950505256653;f[a+96>>2]=l*.5730977654457092+c;f[a+28>>2]=k*1.292887806892395-c;c=(j+i)*.2667127549648285;f[a+104>>2]=j*.6970633268356323+c;f[a+20>>2]=i*1.2304887771606445-c;c=(h+g)*.1709618866443634;f[a+112>>2]=h*.8143157362937927+c;f[a+12>>2]=g*1.1562395095825195-c;c=(e+d)*.0735645666718483;f[a+120>>2]=e*.9237259030342102+c;f[a+4>>2]=d*1.0708550214767456-c;return}function ci(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;u=+f[b>>2];q=+f[b+4>>2];H=u-q;F=+f[b+8>>2];q=F-q;K=+f[b+12>>2];F=F-K;D=+f[b+16>>2];K=D-K;s=+f[b+20>>2];D=D-s;r=+f[b+24>>2];s=r-s;w=+f[b+28>>2];r=r-w;J=+f[b+32>>2];w=J-w;o=+f[b+36>>2];J=J-o;l=+f[b+40>>2];o=l-o;E=+f[b+44>>2];l=l-E;e=+f[b+48>>2];E=e-E;g=+f[b+52>>2];e=e-g;n=+f[b+56>>2];g=n-g;y=+f[b+60>>2];n=n-y;C=+f[b+64>>2];i=+f[b+68>>2];j=C-i;z=+f[b+72>>2];i=z-i;A=+f[b+76>>2];z=z-A;t=+f[b+80>>2];A=t-A;m=+f[b+84>>2];t=t-m;B=+f[b+88>>2];m=B-m;k=+f[b+92>>2];B=B-k;x=+f[b+96>>2];k=x-k;I=+f[b+100>>2];x=x-I;p=+f[b+104>>2];I=p-I;G=+f[b+108>>2];p=p-G;v=+f[b+112>>2];G=v-G;d=+f[b+116>>2];v=v-d;h=+f[b+120>>2];d=h-d;h=h-+f[b+124>>2];y=(C-y)*.7071067690849304;C=u-y;y=u+y;u=(w+k)*-.9238795042037964;w=w*1.3065630197525024+u;u=k*-.5411961078643799-u;k=y-u;u=y+u;y=C-w;w=C+w;C=(E+A)*.7071067690849304;c=K-C;C=K+C;A=(E-A)*.7071067690849304;E=A-G;G=A+G;A=(C+G)*.9807852506637573;G=A-G*.78569495677948;A=C*1.1758755445480347-A;C=(c+E)*.8314695954322815;E=C-E*.27589938044548035;C=c*1.3870398998260498-C;c=u-G;G=u+G;u=w-E;E=w+E;w=y-C;C=y+C;y=k-A;A=k+A;k=s-o;o=s+o;s=m-I;I=m+I;m=(g+i)*.7071067690849304;K=q-m;m=q+m;q=(o+I)*-.9238795042037964;o=o*1.3065630197525024+q;q=I*-.5411961078643799-q;I=m-q;q=m+q;m=K-o;o=K+o;i=(g-i)*.7071067690849304;g=d-i;d=i+d;i=(k+s)*-.9238795042037964;s=s*1.3065630197525024+i;i=k*-.5411961078643799-i;k=d-i;d=i+d;i=g-s;g=s+g;s=(q+d)*.9951847195625305;d=s-d*.8971675634384155;s=q*1.0932018756866455-s;q=(o-g)*.9569403529167175;g=g*.6666556596755981+q;q=o*1.247225046157837-q;o=(m+i)*.8819212913513184;i=o-i*.41052451729774475;o=m*1.3533179759979248-o;m=(I-k)*.7730104327201843;k=k*.13861717283725739+m;m=I*1.4074037075042725-m;I=G-d;d=G+d;G=E-g;g=E+g;E=C-i;i=C+i;C=A-k;k=A+k;A=y-m;m=y+m;y=w-o;o=w+o;w=u-q;q=u+q;u=c-s;s=c+s;c=(H+h)*-.9987954497337341;H=H*1.0478631258010864+c;c=h*-.9497277736663818-c;h=(D+p)*-.9700312614440918;D=D*1.213011384010315+h;h=p*-.7270510792732239-h;p=(J+B)*-.903989315032959;J=J*1.3315443992614746+p;p=B*-.47643420100212097-p;B=(e+z)*-.803207516670227;e=e*1.3989068269729614+B;B=z*-.20750822126865387-B;z=(n+j)*-.6715589761734009;j=j*1.4125100374221802+z;z=n*.06939216703176498-z;n=(l+t)*-.5141027569770813;t=t*1.3718312978744507+n;n=l*.34362587332725525-n;l=(r+x)*-.3368898630142212;x=x*1.278433918952942+l;l=r*.6046541929244995-l;r=(F+v)*-.1467304676771164;v=v*1.1359069347381592+r;r=F*.8424460291862488-r;F=c-z;c=z+c;z=H-j;H=j+H;j=h-n;h=n+h;n=D-t;D=t+D;t=p-l;l=p+l;p=J-x;x=J+x;J=B-r;r=B+r;B=e-v;v=e+v;e=(F+z)*-.9807852506637573;F=F*1.1758755445480347+e;e=z*-.78569495677948-e;z=(j+n)*-.5555702447891235;j=j*1.3870398998260498+z;z=n*.27589938044548035-z;n=(t+p)*.19509032368659973;t=t*.78569495677948+n;n=p*1.1758755445480347-n;p=(J+B)*.8314695954322815;J=p-J*.27589938044548035;p=B*1.3870398998260498-p;B=c-l;c=l+c;l=H-x;H=x+H;x=h-r;r=h+r;h=D-v;v=D+v;D=e-n;e=n+e;n=F-t;F=t+F;t=z-p;p=z+p;z=j-J;J=j+J;j=(B+l)*-.9238795042037964;B=B*1.3065630197525024+j;j=l*-.5411961078643799-j;l=(x+h)*.3826834261417389;x=x*.5411961078643799+l;l=h*1.3065630197525024-l;h=(D+n)*-.9238795042037964;D=D*1.3065630197525024+h;h=n*-.5411961078643799-h;n=(t+z)*.3826834261417389;t=t*.5411961078643799+n;n=z*1.3065630197525024-n;z=c-r;c=r+c;r=H-v;H=v+H;v=j-l;j=l+j;l=B-x;B=x+B;x=e-p;e=p+e;p=F-J;F=J+F;J=h-n;h=n+h;n=D-t;D=t+D;t=(z-r)*.7071067690849304;r=(z+r)*.7071067690849304;z=(v-l)*.7071067690849304;l=(v+l)*.7071067690849304;v=(x-p)*.7071067690849304;p=(x+p)*.7071067690849304;x=(J-n)*.7071067690849304;n=(J+n)*.7071067690849304;f[a+124>>2]=(d+c)*.5001506209373474;f[a+120>>2]=(g+e)*.5013584494590759;f[a+116>>2]=(i+h)*.5037887096405029;f[a+112>>2]=(k+j)*.5074711441993713;f[a+108>>2]=(m+l)*.5124514698982239;f[a+104>>2]=(o+n)*.5187926888465881;f[a+100>>2]=(q+p)*.5265772938728333;f[a+96>>2]=(s+r)*.5359098315238953;f[a+92>>2]=(u+t)*.5469204187393188;f[a+88>>2]=(w+v)*.5597698092460632;f[a+84>>2]=(y+x)*.5746551752090454;f[a+80>>2]=(A+z)*.5918185114860535;f[a+76>>2]=(C+B)*.6115573644638062;f[a+72>>2]=(E+D)*.6342389583587646;f[a+68>>2]=(G+F)*.6603198051452637;f[a+64>>2]=(I+H)*.690372109413147;f[a+60>>2]=(I-H)*.7251205444335938;f[a+56>>2]=(G-F)*.765494167804718;f[a+52>>2]=(E-D)*.8127021193504333;f[a+48>>2]=(C-B)*.8683447241783142;f[a+44>>2]=(A-z)*.9345836043357849;f[a+40>>2]=(y-x)*1.0144082307815552;f[a+36>>2]=(w-v)*1.1120716333389282;f[a+32>>2]=(u-t)*1.2338327169418335;f[a+28>>2]=(s-r)*1.389293909072876;f[a+24>>2]=(q-p)*1.5939723253250122;f[a+20>>2]=(o-n)*1.874675989151001;f[a+16>>2]=(m-l)*2.282050132751465;f[a+12>>2]=(k-j)*2.924628496170044;f[a+8>>2]=(i-h)*4.084610939025879;f[a+4>>2]=(g-e)*6.796750545501709;f[a>>2]=(d-c)*20.373878479003906;return}function di(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,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;G=Vb;Vb=Vb+768|0;C=G+512|0;D=G+384|0;E=G+256|0;F=G+128|0;B=G;u=e+53416|0;if(!(a[u>>0]|0)){Vb=G;return}v=g+4|0;w=C+4|0;x=E+124|0;y=C+128|0;z=C+132|0;A=D+124|0;t=k&255;r=j&255;p=0;q=0;o=0;s=32;while(1){j=c[g>>2]|0;m=b[v>>1]|0;n=m<<16>>16;e=q;k=31;while(1){H=c[h+(e<<2)>>2]|0;e=e+1|0;c[j+(k+320+n<<2)>>2]=H;c[j+(k+n<<2)>>2]=H;if(s<<16>>16==(e&65535)<<16>>16){e=0;break}else k=k+-1|0}do{k=e+n|0;H=e<<1;f[C+(e<<2)>>2]=+f[j+(k<<2)>>2]*+f[51196+(H<<2)>>2]+ +f[j+(k+64<<2)>>2]*+f[51196+(H+128<<2)>>2]+ +f[j+(k+128<<2)>>2]*+f[51196+(H+256<<2)>>2]+ +f[j+(k+192<<2)>>2]*+f[51196+(H+384<<2)>>2]+ +f[j+(k+256<<2)>>2]*+f[51196+(H+512<<2)>>2];e=e+1|0}while((e|0)!=64);b[v>>1]=m+-32<<16>>16<<16>>16<0?288:(m&65535)+65504&65535;c[x>>2]=c[w>>2];c[D>>2]=c[C>>2];e=1;do{H=e;e=e+1|0;c[E+(31-H<<2)>>2]=c[C+(e<<2)>>2];f[D+(H<<2)>>2]=-+f[C+(64-H<<2)>>2]}while((e|0)!=31);c[E>>2]=c[y>>2];f[A>>2]=-+f[z>>2];ai(D,E,F,B);k=o+r|0;m=0;do{e=m<<1;j=e|1;if((j|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;f[i+(k<<9)+(e<<3)+4>>2]=+f[B+(m<<2)>>2]*2.0;H=31-m|0;f[i+(k<<9)+(j<<3)>>2]=+f[B+(H<<2)>>2]*-2.0;l=+f[F+(H<<2)>>2]*-2.0}else{if((e|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;l=+f[B+(m<<2)>>2]*2.0}else{f[i+(k<<9)+(e<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(e<<3)+4>>2]=l;f[i+(k<<9)+(j<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(j<<3)+4>>2]=l;m=m+1|0}while((m|0)!=16);e=p+1<<24>>24;if((e&255)<(d[u>>0]|0)){p=e;q=q+32|0;o=e&255;s=s+32<<16>>16}else break}Vb=G;return}function ei(b,e,g,i){b=b|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=Vb;Vb=Vb+512|0;X=_;Y=b+53419|0;J=a[Y>>0]|0;Z=i&255;K=a[b+616+(Z*6|0)>>0]|0;N=a[(d[b+610+Z>>0]|0)+(b+616+(Z*6|0))>>0]|0;j=a[b+19>>0]|0;a:do if(j<<24>>24){q=j&255;p=0;while(1){n=a[b+10976+(Z*5|0)+p>>0]|0;o=b+10986+(Z*5|0)+p|0;j=a[o>>0]|0;switch(n<<24>>24){case 1:{l=j<<24>>24==0?.6000000238418579:.75;break}case 2:{l=.8999999761581421;break}case 3:{l=.9800000190734863;break}default:l=j<<24>>24==1?.6000000238418579:0.0}k=b+10996+(Z<<8)+(p<<2)|0;m=b+11508+(Z<<8)+(p<<2)|0;R=+f[m>>2];W=l<R;l=l*(W?.75:.90625)+R*(W?.25:.09375);f[k>>2]=l;if(!(l<.015625))if(!(l>=.99609375))j=(f[h>>2]=l,c[h>>2]|0);else{j=1065287680;r=9}else{j=0;r=9}if((r|0)==9){r=0;c[k>>2]=j}c[m>>2]=j;a[o>>0]=n;p=p+1|0;if((p|0)==(q|0))break a}}while(0);do if(i<<24>>24==0?a[b+12426>>0]|0:0){o=b+13|0;q=a[o>>0]|0;D=b+14|0;p=a[D>>0]|0;k=a[119750+((Bg(c[b>>2]|0)|0)&255)>>0]|0;G=b+12020|0;a[G>>0]=0;D=a[D>>0]|0;E=(d[b+15>>0]|0)+(D&255)|0;if(E>>>0>(k&255)>>>0)if((d[b+26>>0]|0)<(k&255)){j=0;n=0;while(1){j=j+1<<24>>24;m=j&255;if((d[b+26+m>>0]|0)>=(k&255))break;else n=m}j=n+1&255}else j=0;else j=a[b+16>>0]|0;y=a[b+16>>0]|0;if(!(y<<24>>24)){a[G>>0]=0;a[b+12021>>0]=0;a[b+12085>>0]=0;break}s=d[o>>0]|0;t=s+-2|0;u=s+-1|0;k=q;q=j;o=0;while(1){i=q&255;k=u+(k&255)|0;j=i+1&255;do{j=j+-1<<24>>24;n=a[(j&255)+(b+26)>>0]|0;r=n&255;m=(t+r|0)%2|0}while((k-(m&255)|0)<(r|0));V=r-(p&255)|0;V=(V|0)>0?V:0;W=V&255;j=o&255;a[b+12021+j>>0]=W;a[b+12085+j>>0]=s-m-V;j=o+1<<24>>24;if(!(W<<24>>24)){k=D;j=o}else{a[G>>0]=j;p=n;k=n}if((E|0)==(r|0))break;else{q=((d[b+26+i>>0]|0)-r|0)<3?y:q;o=j}}k=j+-1<<24>>24;if((j&255)>1?(d[(j&255)+-1+(b+12021)>>0]|0)<3:0){a[G>>0]=k;j=k}a[G>>0]=(j&255)<5?j:5}while(0);U=a[b+12020>>0]|0;if(U<<24>>24){V=b+14|0;T=b+53416|0;W=K&255;G=J&255;J=G+-2+W|0;S=G+-1+W|0;D=(K&255)<(N&255);E=N&255;y=N&255;k=0;j=0;while(1){t=b+12021+k|0;if(a[t>>0]|0){u=j<<24>>24==0;i=b+12085+k|0;r=d[V>>0]|0;s=j&255;q=0;n=0;while(1){k=n+r|0;if(!u){m=0;do{k=(k&255)+(d[b+12021+m>>0]|0)|0;m=m+1|0}while((m|0)!=(s|0))}m=n+(d[i>>0]|0)|0;p=k&255;Q=+f[b+10996+(Z<<8)+(d[b+538+p>>0]<<2)>>2];R=Q*Q;if(R>0.0){k=a[Y>>0]|0;n=k&255;N=n+-2|0;o=m&255;O=+f[e+(N<<9)+(o<<3)>>2];P=+f[e+(N<<9)+(o<<3)+4>>2];m=n+-1|0;L=+f[e+(m<<9)+(o<<3)>>2];M=+f[e+(m<<9)+(o<<3)+4>>2];m=k<<24>>24;n=((a[T>>0]|0)+6&255)+n|0;if((n|0)>(m|0)){H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;z=O;v=M;x=L;F=P;while(1){l=+f[e+(m<<9)+(o<<3)>>2];w=+f[e+(m<<9)+(o<<3)+4>>2];H=H+(x*l+v*w);I=I+(x*w-v*l);A=A+(z*l+F*w);B=B+(z*w-F*l);C=C+(v*v+x*x);k=k+1<<24>>24;m=k<<24>>24;if((n|0)<=(m|0))break;else{F=v;z=x;v=w;x=l}}}else{H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;x=O;w=M;l=L;v=P}z=O*L+P*M+(H-(v*w+l*x));w=O*M-P*L+(I-(w*x-v*l));l=C*(O*O+P*P+(C-(v*v+x*x)))-(w*w+z*z)*.9999990463256836;if(l==0.0){v=0.0;x=0.0}else{x=1.0/l;v=(H*z-I*w-C*A)*x;x=(H*w+I*z-C*B)*x}if(C==0.0){m=X+(o<<3)|0;f[m>>2]=0.0;w=0.0;l=0.0}else{P=1.0/C;l=-(P*(w*x+(H+z*v)));m=X+(o<<3)|0;f[m>>2]=l;w=-(P*(I+z*x-w*v))}k=X+(o<<3)+4|0;f[k>>2]=w;if(!(!(l*l+w*w>=16.0)?!(v*v+x*x>=16.0):0)){f[m>>2]=0.0;f[k>>2]=0.0;l=+f[X+(o<<3)>>2];v=0.0;w=0.0;x=0.0}H=Q*l;F=R*v;C=Q*w;z=R*x;if(D){l=+f[e+(J<<9)+(o<<3)+4>>2];v=+f[e+(S<<9)+(o<<3)>>2];w=+f[e+(J<<9)+(o<<3)>>2];x=+f[e+(S<<9)+(o<<3)+4>>2];k=W;while(1){N=k+G|0;A=+f[e+(N<<9)+(o<<3)>>2];B=+f[e+(N<<9)+(o<<3)+4>>2];f[g+(N<<9)+(p<<3)>>2]=F*w+(H*v-C*x)-z*l+A;f[g+(N<<9)+(p<<3)+4>>2]=F*l+(z*w+(C*v+H*x))+B;k=k+1|0;if((k|0)==(E|0))break;else{w=v;l=x;v=A;x=B}}}}else if(D){k=m&255;m=W;do{N=m+G|0;c[g+(N<<9)+(p<<3)>>2]=c[e+(N<<9)+(k<<3)>>2];c[g+(N<<9)+(p<<3)+4>>2]=c[e+(N<<9)+(k<<3)+4>>2];m=m+1|0}while((m|0)!=(y|0))}k=q+1<<24>>24;if((k&255)<(d[t>>0]|0)){q=k;n=k&255}else break}}j=j+1<<24>>24;if((j&255)<(U&255))k=j&255;else break}}if(!(a[b+12426>>0]|0)){Vb=_;return}hi(b);Vb=_;return}function fi(e,g,h){e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,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,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=Vb;Vb=Vb+3536|0;aa=ia+3332|0;ba=ia+3136|0;ca=ia+2940|0;ga=ia;fl(ga|0,0,2940)|0;ha=h&255;k=a[e+53451+ha>>0]|0;do if(k<<24>>24){i=a[e+53507+ha>>0]|0;j=i&255;if(k<<24>>24==2){if((i&255)<=1){i=-1;break}i=j+255&255;break}else{if(!(i<<24>>24)){i=-1;break}i=1-j+(d[e+610+ha>>0]|0)&255;break}}else i=-1;while(0);fa=e+10972+ha|0;a[fa>>0]=i;ea=e+610+ha|0;j=a[ea>>0]|0;i=j<<24>>24!=0;if((a[e+53440>>0]|0)==1)if(i){x=e+53419|0;y=e+14|0;v=a[e+15>>0]|0;z=v&255;u=j&255;i=v;t=0;do{s=t;t=t+1|0;p=d[e+616+(ha*6|0)+t>>0]|0;q=d[e+616+(ha*6|0)+s>>0]|0;Z=p-q|0;o=(Z|0)==0?1.0:+(Z|0);if(!(i<<24>>24))i=0;else{n=0;do{k=d[x>>0]|0;i=k+q|0;j=i&255;k=k+p|0;if(k>>>0>j>>>0){m=n+(d[y>>0]|0)|0;i=i&255;l=0.0;do{_=+f[g+(j<<9)+(m<<3)>>2];$=+f[g+(j<<9)+(m<<3)+4>>2];l=l+(_*_+$*$);i=i+1<<24>>24;j=i&255}while(k>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+(n*20|0)+(s<<2)>>2]=l/o;n=n+1|0}while(n>>>0<z>>>0);i=v}}while((t|0)!=(u|0));Z=a[ea>>0]|0}else Z=0;else if(i){A=e+53419|0;B=e+14|0;z=0;i=j;y=0;while(1){x=e+634+(ha*6|0)+y|0;j=a[x>>0]|0;k=j&255;if(a[e+24+k>>0]|0){u=e+616+(ha*6|0)+y|0;v=y+1+(e+616+(ha*6|0))|0;t=0;i=j;j=0;while(1){m=a[e+90+(k<<6)+j>>0]|0;j=a[j+1+(e+90+(k<<6))>>0]|0;if((m&255)<(j&255)){s=j&255;n=m&255;p=s-n|0;q=n;do{m=d[v>>0]|0;i=d[u>>0]|0;Z=w(m-i|0,p)|0;o=(Z|0)==0?1.0:+(Z|0);Z=d[A>>0]|0;i=Z+i|0;j=i&255;m=Z+m|0;if(m>>>0>j>>>0){k=i&255;l=0.0;do{i=n;do{_=+f[g+(j<<9)+(i<<3)>>2];$=+f[g+(j<<9)+(i<<3)+4>>2];l=l+(_*_+$*$);i=i+1|0}while((i|0)!=(s|0));k=k+1<<24>>24;j=k&255}while(m>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+((q-(d[B>>0]|0)|0)*20|0)+(y<<2)>>2]=l/o;q=q+1|0}while((q|0)!=(s|0));i=a[x>>0]|0}j=t+1<<24>>24;k=i&255;if((j&255)>=(d[e+24+k>>0]|0))break;else{t=j;j=j&255}}i=a[ea>>0]|0}j=z+1<<24>>24;if((j&255)<(i&255)){z=j;y=j&255}else{Z=i;break}}}else Z=0;if(Z<<24>>24){R=e+53439|0;S=e+14|0;T=e+53445+ha|0;U=e+12418+ha|0;V=a[fa>>0]|0;W=d[e+53438>>0]|0;X=a[e+20+W>>0]|0;Y=X<<24>>24==0;P=0;Q=0;O=0;j=Z;while(1){N=(O|0)==(V|0);if(N)i=1;else i=(O|0)==(a[U>>0]|0);M=i^1;Q=Q+((d[O+1+(e+616+(ha*6|0))>>0]|0)>(d[(Q&255)+1+(e+628+(ha*3|0))>>0]|0)&1)<<24>>24;if(!Y){q=gi(e,h,P,0)|0;J=e+634+(ha*6|0)+O|0;K=Q&255;$=+f[54908+(d[R>>0]<<2)>>2];L=(O|0)<(V|0);H=0;s=0;t=0;u=0;j=0;i=0;while(1){z=a[e+282+(W<<6)+i>>0]|0;A=a[i+1+(e+282+(W<<6))>>0]|0;B=(z&255)<(A&255);i=z&255;if(B){m=d[S>>0]|0;n=d[J>>0]|0;p=A&255;o=0.0;l=0.0;k=i;do{j=j+((k+m|0)==(d[(j&255)+1+(e+90+(n<<6))>>0]|0)&1)<<24>>24;l=l+ +f[e+2268+(ha*1280|0)+((j&255)*20|0)+(O<<2)>>2];o=o+ +f[e+4828+(ha*1280|0)+(k*20|0)+(O<<2)>>2];k=k+1|0}while((k|0)!=(p|0));z=j}else{o=0.0;l=0.0;z=j}_=l+1.0e-12;I=_/(o+1.0e-12)*$;I=I<1.0e10?I:1.0e10;if(B){v=d[S>>0]|0;x=d[J>>0]|0;y=A&255;l=0.0;p=q;j=s;m=t;k=u;s=i;while(1){q=s+v|0;n=j+((q|0)==(d[(j&255)+1+(e+218)>>0]|0)&1)<<24>>24;j=k+1<<24>>24;if((q|0)==(d[(k&255)+1+(e+90+(x<<6))>>0]|0)){p=gi(e,h,P,j)|0;k=j}m=m+((q|0)==(d[(m&255)+1+(e+154)>>0]|0)&1)<<24>>24;j=m&255;if(L)if((a[e+12277+(ha<<6)+j>>0]|0)!=0?(a[T>>0]|0)!=0:0)da=49;else j=0;else da=49;if((da|0)==49){da=0;if((q|0)==(((d[e+154+j>>0]|0)+(d[j+1+(e+154)>>0]|0)|0)>>>1|0))j=a[e+12149+(ha<<6)+j>>0]|0;else j=0}u=n&255;C=+f[e+8412+(ha<<9)+(u<<3)+(K<<2)>>2];D=+f[e+9436+(ha<<9)+(u<<3)+(K<<2)>>2];o=+f[e+2268+(ha*1280|0)+((k&255)*20|0)+(O<<2)>>2];G=D*o;j=j<<24>>24==0;E=C*o;f[ca+(s<<2)>>2]=j?0.0:E;F=+f[e+4828+(ha*1280|0)+(s*20|0)+(O<<2)>>2];o=o/(F+1.0);if(p<<24>>24==0&M)o=C*o;else o=p<<24>>24==1?D*o:o;u=o<I;G=u?G:G*I/o;D=u?o:I;f[aa+(s<<2)>>2]=G;f[ba+(s<<2)>>2]=D;l=(j?l:l+E)+F*D;l=j?(N?l:G+l):l;s=s+1|0;if((s|0)==(y|0))break;else j=n}}else{l=0.0;p=q;n=s;m=t;k=u}o=_/(l+1.0e-12);o=o<2.51188643?o:2.51188643;if(B){j=A&255;do{f[ga+(O*196|0)+(i<<2)>>2]=+r(+(+f[ba+(i<<2)>>2]*o));f[ga+980+(O*196|0)+(i<<2)>>2]=+r(+(+f[aa+(i<<2)>>2]*o));l=+f[ca+(i<<2)>>2];if(l!=0.0)l=+r(+(l*o));else l=0.0;f[ga+1960+(O*196|0)+(i<<2)>>2]=l;i=i+1|0}while((i|0)!=(j|0))}i=H+1<<24>>24;if((i&255)<(X&255)){H=i;q=p;s=n;t=m;u=k;j=z;i=i&255}else{j=Z;break}}}i=P+1<<24>>24;if((i&255)>=(j&255))break;else{P=i;O=i&255}}}if((a[e+12426>>0]|0)==1){i=0;k=1}else{i=b[e+12406+(ha<<1)>>1]|0;k=0}h=e+12410+ha|0;j=a[h>>0]|0;if(!(Z<<24>>24)){ga=j;g=i;ha=e+12406+(ha<<1)|0;b[ha>>1]=g;a[h>>0]=ga;Vb=ia;return 0}K=e+53441|0;L=e+728+ha|0;M=e+15|0;N=e+53419|0;O=e+14|0;P=e+53448|0;Q=e+53449|0;R=e+12418+ha|0;S=e+648+(ha*20|0)|0;T=e+688+(ha*20|0)|0;U=e+648+(ha*20|0)+4|0;V=e+688+(ha*20|0)+4|0;W=e+648+(ha*20|0)+8|0;X=e+688+(ha*20|0)+8|0;Y=e+648+(ha*20|0)+12|0;Z=e+688+(ha*20|0)+12|0;J=0;A=0;while(1){if((A|0)==(a[fa>>0]|0))H=1;else H=(A|0)==(a[R>>0]|0);B=H|(a[K>>0]|0)==1;if(k<<24>>24){ca=ga+(A*196|0)|0;da=ga+980+(A*196|0)|0;dl(c[S>>2]|0,ca|0,d[M>>0]<<2|0)|0;dl(c[T>>2]|0,da|0,d[M>>0]<<2|0)|0;dl(c[U>>2]|0,ca|0,d[M>>0]<<2|0)|0;dl(c[V>>2]|0,da|0,d[M>>0]<<2|0)|0;dl(c[W>>2]|0,ca|0,d[M>>0]<<2|0)|0;dl(c[X>>2]|0,da|0,d[M>>0]<<2|0)|0;dl(c[Y>>2]|0,ca|0,d[M>>0]<<2|0)|0;dl(c[Z>>2]|0,da|0,d[M>>0]<<2|0)|0;a[L>>0]=4}k=a[e+616+(ha*6|0)+A>>0]|0;x=A+1+(e+616+(ha*6|0))|0;if((k&255)<(d[x>>0]|0)){y=ga+(A*196|0)|0;z=ga+980+(A*196|0)|0;v=k;n=a[L>>0]|0;m=a[M>>0]|0;u=k&255;while(1){dl(c[e+648+(ha*20|0)+(n<<24>>24<<2)>>2]|0,y|0,(m&255)<<2|0)|0;dl(c[e+688+(ha*20|0)+(a[L>>0]<<2)>>2]|0,z|0,d[M>>0]<<2|0)|0;m=a[M>>0]|0;if(!(m<<24>>24))m=0;else{t=j&255;E=+(a[119742+t>>0]|0);F=+(a[119746+t>>0]|0);t=m&255;s=0;do{k=a[L>>0]|0;if(B){da=k<<24>>24;l=+f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2];C=+f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]}else{da=k+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;q=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;aa=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ba=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ca=da&255;da=da+1<<24>>24;da=((da&255)>4?(da&255)+251&255:da)&255;l=+f[(c[e+688+(ha*20|0)+(q<<2)>>2]|0)+(s<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+688+(ha*20|0)+(aa<<2)>>2]|0)+(s<<2)>>2]*.11516383290290833+ +f[(c[e+688+(ha*20|0)+(ba<<2)>>2]|0)+(s<<2)>>2]*.21816949546337128+ +f[(c[e+688+(ha*20|0)+(ca<<2)>>2]|0)+(s<<2)>>2]*.3015028238296509+ +f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]*.3333333432674408;C=+f[(c[e+648+(ha*20|0)+(q<<2)>>2]|0)+(s<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+648+(ha*20|0)+(aa<<2)>>2]|0)+(s<<2)>>2]*.11516383290290833+ +f[(c[e+648+(ha*20|0)+(ba<<2)>>2]|0)+(s<<2)>>2]*.21816949546337128+ +f[(c[e+648+(ha*20|0)+(ca<<2)>>2]|0)+(s<<2)>>2]*.3015028238296509+ +f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]*.3333333432674408}D=+f[ga+1960+(A*196|0)+(s<<2)>>2];o=H|D!=0.0?0.0:l;i=i+1&511;k=u+(d[N>>0]|0)|0;n=s+(d[O>>0]|0)|0;p=g+(k<<9)+(n<<3)|0;q=i&65535;l=C*+f[p>>2]+o*+f[54924+(q<<3)>>2];f[p>>2]=l;if((a[P>>0]|0)==3?(a[Q>>0]|0)==42:0){f[p>>2]=16428320.0;l=16428320.0}da=g+(k<<9)+(n<<3)+4|0;$=C*+f[da>>2]+o*+f[54924+(q<<3)+4>>2];f[p>>2]=l+D*E;f[da>>2]=$+D*+((n<<25&33554432^33554432)+-16777216>>24|0)*F;s=s+1|0}while((s|0)!=(t|0))}j=j+1&3;n=(a[L>>0]|0)+1<<24>>24;n=n<<24>>24>4?0:n;a[L>>0]=n;k=v+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{v=k;u=k&255}}}m=J+1<<24>>24;if((m&255)<(d[ea>>0]|0)){J=m;k=0;A=m&255}else break}ha=e+12406+(ha<<1)|0;b[ha>>1]=i;a[h>>0]=j;Vb=ia;return 0}function gi(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;i=c&255;f=d&255;if((a[b+634+(i*6|0)+f>>0]|0)==1){c=e&255;if((f|0)<(a[b+10972+i>>0]|0)){if(!(a[b+12277+(i<<6)+c>>0]|0)){b=0;return b|0}if(!(a[b+53445+i>>0]|0)){b=0;return b|0}}b=a[b+12149+(i<<6)+c>>0]|0;return b|0}g=(e&255)<<1;e=a[b+17>>0]&1;c=g-e|0;d=c&255;c=c&255;e=g+2-e&255;if(e>>>0<=c>>>0){b=0;return b|0}g=b+53445+i|0;if((f|0)>=(a[b+10972+i>>0]|0)){while(1){if((a[b+12149+(i<<6)+c>>0]|0)==1){c=1;d=14;break}d=d+1<<24>>24;c=d&255;if(e>>>0<=c>>>0){c=0;d=14;break}}if((d|0)==14)return c|0}else{h=d;j=c}while(1){if((a[b+12277+(i<<6)+j>>0]|0?a[g>>0]|0:0)?(a[b+12149+(i<<6)+j>>0]|0)==1:0){c=1;d=14;break}h=h+1<<24>>24;j=h&255;if(e>>>0<=j>>>0){c=0;d=14;break}}if((d|0)==14)return c|0;return 0}function hi(b){b=b|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,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=Vb;Vb=Vb+464|0;t=A;v=A+400|0;y=b+14|0;i=a[y>>0]|0;w=i&255;a[b+282>>0]=(d[b+90>>0]|0)-w;u=b+18|0;a[b+283>>0]=(d[(d[u>>0]|0)+(b+90)>>0]|0)-w;a[b+20>>0]=1;w=b+12020|0;x=v+1|0;e=1;while(1){fl(t|0,0,400)|0;g=x;h=g+63|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));a[v>>0]=i;k=a[w>>0]|0;if(k<<24>>24){h=1;g=1;while(1){s=g+-1|0;a[v+g>>0]=(d[b+12021+s>>0]|0)+(d[v+s>>0]|0);g=h+1<<24>>24;if((g&255)>(k&255))break;else{h=g;g=g&255}}}i=a[u>>0]|0;h=0;g=0;while(1){c[t+(g<<2)>>2]=d[b+90+g>>0];g=h+1<<24>>24;if((g&255)>(i&255))break;else{h=g;g=g&255}}if((k&255)>1){i=i&255;g=k&255;h=1;do{c[t+(h+i<<2)>>2]=d[v+h>>0];h=h+1|0}while(h>>>0<g>>>0);h=i}else{h=i&255;g=k&255}mj(t,h+g|0,4,3);g=(d[w>>0]|0)+255+(d[u>>0]|0)|0;h=g&255;if(g&128|0)break;g=g<<24;a:do if((g|0)<16777216)i=g>>24;else{s=59020+(e+-1<<2)|0;q=1;r=1;do{n=t+(r+-1<<2)|0;o=t+(r<<2)|0;p=t+((q&255)<<2)|0;while(1){m=c[n>>2]|0;if(!m)j=0.0;else j=+(c[o>>2]|0)/+(m|0);if(!(j<+f[s>>2]))break;k=c[o>>2]|0;if((k|0)!=(m|0)){l=a[w>>0]|0;g=0;i=0;do{g=(k|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24){g=0;i=0;do{g=(m|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24)break;m=d[u>>0]|0;c[n>>2]=d[b+90+m>>0];mj(t,m+(l&255)|0,4,3)}else z=24}else z=24;if((z|0)==24){z=0;c[p>>2]=d[(d[u>>0]|0)+(b+90)>>0];mj(t,h<<24>>24,4,3)}h=h+-1<<24>>24;i=h<<24>>24;if((r|0)>(i|0))break a}q=q+1<<24>>24;r=q&255;i=h<<24>>24}while((r|0)<=(i|0))}while(0);a[b+20+e>>0]=h;if((i|0)>=0){g=0;h=0;do{a[b+282+(e<<6)+h>>0]=(c[t+(h<<2)>>2]|0)-(d[y>>0]|0);g=g+1<<24>>24;h=g&255}while((i|0)>=(h|0))}e=e+1|0;if(e>>>0>=4){z=32;break}i=a[y>>0]|0}if((z|0)==32){Vb=A;return}Vb=A;return}function ii(a,d,e){a=a|0;d=d|0;e=e|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.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=Vb;Vb=Vb+4096|0;y=z;j=c[a+8>>2]|0;k=b[a>>1]|0;l=(k&65535)>>>1;g=(k&65535)>>>2;k=(k&65535)>>>3;x=g&65535;g=g<<16>>16==0;if(!g){h=(l&65535)+-1|0;i=0;do{w=i<<1;B=+f[d+(w<<2)>>2];D=+f[d+(h-w<<2)>>2];C=+f[j+(i<<3)>>2];A=+f[j+(i<<3)+4>>2];f[y+(i<<3)+4>>2]=B*C+D*A;f[y+(i<<3)>>2]=D*C-B*A;i=i+1|0}while(i>>>0<x>>>0);vg(c[a+4>>2]|0,y);if(!g){a=0;do{w=y+(a<<3)|0;A=+f[w>>2];v=y+(a<<3)+4|0;C=+f[v>>2];B=+f[j+(a<<3)>>2];D=+f[j+(a<<3)+4>>2];f[v>>2]=C*B+A*D;f[w>>2]=A*B-C*D;a=a+1|0}while(a>>>0<x>>>0)}}else vg(c[a+4>>2]|0,y);w=k&65535;if(!(k<<16>>16)){Vb=z;return}o=w+1|0;p=w+-1|0;q=w+-2|0;r=x+2|0;s=x+-1|0;t=x+1|0;u=x+-2|0;v=x+3|0;g=l&65535;h=g+2|0;i=g+1|0;j=g+3|0;k=g+x|0;l=k+2|0;m=k+1|0;n=k+3|0;d=0;a=0;while(1){K=a+w|0;E=a<<1;c[e+(E<<2)>>2]=c[y+(K<<3)+4>>2];J=o+a|0;c[e+(E+2<<2)>>2]=c[y+(J<<3)+4>>2];I=p+d|0;f[e+((E|1)<<2)>>2]=-+f[y+(I<<3)>>2];H=q+d|0;f[e+(E+3<<2)>>2]=-+f[y+(H<<3)>>2];c[e+(E+x<<2)>>2]=c[y+(a<<3)>>2];G=a+1|0;c[e+(r+E<<2)>>2]=c[y+(G<<3)>>2];F=s+d|0;f[e+(t+E<<2)>>2]=-+f[y+(F<<3)+4>>2];d=u+d|0;f[e+(v+E<<2)>>2]=-+f[y+(d<<3)+4>>2];c[e+(E+g<<2)>>2]=c[y+(K<<3)>>2];c[e+(h+E<<2)>>2]=c[y+(J<<3)>>2];f[e+(i+E<<2)>>2]=-+f[y+(I<<3)+4>>2];f[e+(j+E<<2)>>2]=-+f[y+(H<<3)+4>>2];f[e+(E+k<<2)>>2]=-+f[y+(a<<3)+4>>2];f[e+(l+E<<2)>>2]=-+f[y+(G<<3)+4>>2];c[e+(m+E<<2)>>2]=c[y+(F<<3)>>2];c[e+(n+E<<2)>>2]=c[y+(d<<3)>>2];a=a+2&65535;if(a>>>0<w>>>0)d=0-a|0;else break}Vb=z;return}function ji(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Vb;Vb=Vb+8192|0;s=u;fl(s|0,0,8192)|0;r=j&65535;o=(j&65535)>>>3;q=o&65535;l=(r-q|0)/2|0;if(b<<24>>24==2)O(119762,119802,353,119813);k=d&255;if(i<<24>>24==23){d=a+16+(k<<2)|0;i=a+16+((e&255)<<2)|0;m=0;n=0}else{m=e&255;d=a+(k<<2)|0;i=a+(m<<2)|0;m=c[a+8+(m<<2)>>2]|0;n=c[a+8+(k<<2)>>2]|0}p=c[d>>2]|0;k=c[i>>2]|0;switch(b<<24>>24){case 0:{e=r+-1|0;d=e&65535;if(d<<16>>16>-1){i=e<<16>>16;while(1){f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];q=i+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(e-i<<2)>>2];i=d+-1<<16>>16;if(i<<16>>16>-1){d=i;i=i<<16>>16}else break}}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=16;break}case 240:case 256:{d=a+24|0;t=16;break}case 960:case 1024:{d=a+28|0;t=16;break}default:d=0}if((t|0)==16)d=c[d>>2]|0;li(d,s,h);Vb=u;return}case 1:{if(j<<16>>16){d=0;i=0;do{f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(r|0))}l=l&65535;b=(l|0)==0;if(!b){d=0;i=0;do{p=i+r|0;c[s+(p<<2)>>2]=c[g+(p<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((l|0)>(i|0))}if(o<<16>>16){i=l+r|0;e=q+-1|0;d=0;k=0;do{p=i+k|0;f[s+(p<<2)>>2]=+f[g+(p<<2)>>2]*+f[n+(e-k<<2)>>2];d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(q|0))}if(!b){i=q+r+l|0;d=0;e=0;do{f[s+(i+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=31;break}case 240:case 256:{d=a+24|0;t=31;break}case 960:case 1024:{d=a+28|0;t=31;break}default:d=0}if((t|0)==31)d=c[d>>2]|0;li(d,s,h);Vb=u;return}case 3:{k=l&65535;e=(k|0)==0;if(!e){d=0;i=0;do{f[s+(i<<2)>>2]=0.0;d=d+1<<16>>16;i=d<<16>>16}while((k|0)>(i|0))}if(o<<16>>16){d=0;i=0;do{o=i+k|0;f[s+(o<<2)>>2]=+f[g+(o<<2)>>2]*+f[m+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(q|0))}if(!e){i=k+q|0;d=0;e=0;do{q=i+e|0;c[s+(q<<2)>>2]=c[g+(q<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((k|0)>(e|0))}if(j<<16>>16){i=r+-1|0;d=0;e=0;do{q=e+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(i-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(r|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=46;break}case 240:case 256:{d=a+24|0;t=46;break}case 960:case 1024:{d=a+28|0;t=46;break}default:d=0}if((t|0)==46)d=c[d>>2]|0;li(d,s,h);Vb=u;return}default:{Vb=u;return}}}function ki(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=Vb;Vb=Vb+336|0;J=O+168|0;K=O+84|0;L=O;if(!(a[e+9040>>0]|0)){Vb=O;return}E=e+3|0;if(!(a[E>>0]|0)){Vb=O;return}G=e+1|0;M=L+4|0;N=K+4|0;H=e+4|0;I=e+2040|0;D=(k&65535)>>>3&65535;C=0;z=0;while(1){y=g+z|0;if(a[y>>0]|0){A=g+8+z|0;B=w(z,D)|0;v=0;x=d[G>>0]|0;s=0;while(1){k=x&65535;l=k-(d[g+16+(z<<2)+s>>0]|0)|0;x=(l|0)>0?l:0;l=a[g+48+(z<<2)+s>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[A>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(z<<2)+s>>0]|0)==0?(m?59160:59224):m?59032:59096;u=l&255;l=0;do{c[J+(l<<2)>>2]=c[m+(d[g+144+(z<<7)+(s<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(u|0));f[L>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=J+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[K+(p<<2)>>2]=+f[L+(p<<2)>>2]+n*+f[L+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));dl(M|0,N|0,l|0)|0}c[L+(q<<2)>>2]=c[m>>2];if(q>>>0<u>>>0){o=o+1|0;q=q+1|0}else break}l=x&65535;if(l>>>0>=((Eg(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)l=(Eg(h,i,(a[H>>0]|0)==2&1)|0)&255;t=d[e>>0]|0;t=b[e+1936+(((l>>>0<t>>>0?l:t)&65535)<<1)>>1]|0;l=b[I>>1]|0;l=(t&65535)<(l&65535)?t:l;if(k>>>0>=((Eg(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)k=(Eg(h,i,(a[H>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[I>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;t=q&65535;if((q<<16|0)>=65536?(F=(a[g+80+(z<<2)+s>>0]|0)==0,fl(J|0,0,160)|0,t<<16>>16):0){q=F?1:-1;s=u+255&255;p=0;k=j+(B+((F?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){r=+f[k>>2];m=l<<24>>24;n=r;o=0;do{P=o;o=o+1|0;n=n+ +f[J+(P+m<<2)>>2]*+f[L+(o<<2)>>2]}while((o|0)!=(u|0));P=l+-1<<24>>24;l=P<<24>>24<0?s:P;P=l<<24>>24;f[J+(P+u<<2)>>2]=r;f[J+(P<<2)>>2]=r;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(t&65535))break;else k=k+(q<<2)|0}}}k=v+1<<24>>24;if((k&255)>=(d[y>>0]|0))break;else{v=k;s=k&255}}}k=C+1<<24>>24;if((k&255)<(d[E>>0]|0)){C=k;z=k&255}else break}Vb=O;return}function li(a,d,e){a=a|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;v=Vb;Vb=Vb+4096|0;t=v;u=c[a+8>>2]|0;o=b[a>>1]|0;r=o&65535;q=(o&65535)>>>1;s=(o&65535)>>>2;g=(o&65535)>>>3;p=+(o&65535);if(g<<16>>16){g=g&65535;h=s&65535;i=r-h|0;j=i+-1|0;k=h+-1|0;l=q&65535;m=l+-1|0;n=r+-1|0;o=0;do{w=o<<1;A=+f[d+(j-w<<2)>>2]+ +f[d+(w+i<<2)>>2];x=+f[d+(w+h<<2)>>2]-+f[d+(k-w<<2)>>2];z=+f[u+(o<<3)>>2];y=+f[u+(o<<3)+4>>2];f[t+(o<<3)>>2]=(A*z+x*y)*p;f[t+(o<<3)+4>>2]=(x*z-A*y)*p;y=+f[d+(m-w<<2)>>2]-+f[d+(w<<2)>>2];A=+f[d+(w+l<<2)>>2]+ +f[d+(n-w<<2)>>2];w=o+g|0;z=+f[u+(w<<3)>>2];x=+f[u+(w<<3)+4>>2];f[t+(w<<3)>>2]=(y*z+A*x)*p;f[t+(w<<3)+4>>2]=(A*z-y*x)*p;o=o+1|0}while(o>>>0<g>>>0)}qg(c[a+4>>2]|0,t);if(!(s<<16>>16)){Vb=v;return}j=q&65535;k=j+-1|0;i=r+-1|0;g=s&65535;h=0;do{w=h<<1;y=+f[t+(h<<3)>>2];p=+f[t+(h<<3)+4>>2];x=+f[u+(h<<3)>>2];z=+f[u+(h<<3)+4>>2];A=y*x+p*z;z=p*x-y*z;f[e+(w<<2)>>2]=-A;f[e+(k-w<<2)>>2]=z;f[e+(w+j<<2)>>2]=-z;f[e+(i-w<<2)>>2]=A;h=h+1|0}while(h>>>0<g>>>0);Vb=v;return}function mi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+8|0;h=b+4|0;i=b+20|0;e=0;while(1){f=e&65535;if(!(a[120694+(f<<1)+1>>0]|0))break;e=c[g>>2]|0;if(!e){e=(c[h>>2]|0)>>>31;if(!(a[i>>0]|0))lg(b,1)}else{e=e+-1|0;c[g>>2]=e;e=(c[b>>2]|0)>>>e&1}e=f+(d[120694+(f<<1)+e>>0]|0)|0;if((e&65535)>>>0>=241){e=-1;j=9;break}}if((j|0)==9)return e|0;j=a[120694+(f<<1)>>0]|0;return j|0}function ni(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=e+8|0;f=c[l>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){lg(e,1);g=c[l>>2]|0;h=6;break}else{a[d+10443>>0]=f;f=0;h=8;break}}else{g=f+-1|0;c[l>>2]=g;f=(c[e>>2]|0)>>>g&1;h=6}while(0);if((h|0)==6){a[d+10443>>0]=f;if(g>>>0<8){f=g;h=8}else{i=c[e>>2]<<32-g>>>24;f=g}}if((h|0)==8){i=8-f|0;i=(c[e>>2]&(1<<f)+-1)<<i|(c[e+4>>2]|0)>>>(32-i|0)}k=e+20|0;do if(!(a[k>>0]|0))if(f>>>0>8){f=f+-8|0;c[l>>2]=f;break}else{lg(e,8);f=c[l>>2]|0;break}while(0);a[d+10444>>0]=i;g=(a[d+4>>0]|0)==2?11:9;if(f>>>0<g>>>0){h=g-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>(32-g|0);do if(!(a[k>>0]|0))if(f>>>0>g>>>0){c[l>>2]=f-g;break}else{lg(e,g);break}while(0);f=h&65535;i=d+10446|0;b[i>>1]=f;j=d+9037|0;if(a[j>>0]|0){g=c[l>>2]|0;if(g>>>0<9){h=9-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{lg(e,9);f=b[i>>1]|0;break}while(0);b[d+10448>>1]=h;b[i>>1]=(f&65535)+65527}f=c[l>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[k>>0]|0))lg(e,1)}else{f=f+-1|0;c[l>>2]=f;f=(c[e>>2]|0)>>>f&1}i=f&255;a[d+10450>>0]=i;if(i<<24>>24){g=c[l>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[k>>0]|0))if(g>>>0>8){c[l>>2]=g+-8;break}else{lg(e,8);break}while(0);a[d+10451>>0]=f}if(!(a[j>>0]|0))return 0;g=c[l>>2]|0;if(g>>>0<9){f=9-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{lg(e,9);break}while(0);b[d+10452>>1]=f;return 0}function oi(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;B=(a[b+4>>0]|0)==2;z=B?1:2;A=B?4:6;B=B?3:5;x=b+3|0;if(!(a[x>>0]|0))return;y=f+8|0;s=f+4|0;t=f+20|0;u=32-B|0;v=32-A|0;w=32-z|0;r=0;q=0;while(1){g=c[y>>2]|0;if(g>>>0<z>>>0){b=z-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>w;do if(!(a[t>>0]|0))if(g>>>0>z>>>0){c[y>>2]=g-z;break}else{lg(f,z);break}while(0);o=b&255;p=e+q|0;a[p>>0]=o;if(o<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))lg(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}b=b&255;a[e+8+q>>0]=b;if(a[p>>0]|0){o=b<<24>>24==0?3:4;n=0;m=0;while(1){g=c[y>>2]|0;if(g>>>0<A>>>0){b=A-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>v;do if(!(a[t>>0]|0))if(g>>>0>A>>>0){c[y>>2]=g-A;break}else{lg(f,A);break}while(0);a[e+16+(q<<2)+m>>0]=b;g=c[y>>2]|0;if(g>>>0<B>>>0){b=B-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>u;do if(!(a[t>>0]|0))if(g>>>0>B>>>0){c[y>>2]=g-B;break}else{lg(f,B);break}while(0);k=b&255;l=e+48+(q<<2)+m|0;a[l>>0]=k;a:do if(k<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))lg(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+80+(q<<2)+m>>0]=b;b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))lg(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+112+(q<<2)+m>>0]=b;g=a[l>>0]|0;if(g<<24>>24){j=o-b&255;k=32-j|0;if(!j){b=0;while(1){a[(b&255)+(e+144+(q<<7)+(m<<5))>>0]=0;b=b+1<<24>>24;if((b&255)>=(g&255))break a}}else g=0;do{h=g&255;i=c[y>>2]|0;if(i>>>0<j>>>0){b=j-i|0;b=(c[f>>2]&(1<<i)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-i>>>k;do if(!(a[t>>0]|0))if(i>>>0>j>>>0){c[y>>2]=i-j;break}else{lg(f,j);break}while(0);a[e+144+(q<<7)+(m<<5)+h>>0]=b;g=g+1<<24>>24}while((g&255)<(d[l>>0]|0))}}while(0);b=n+1<<24>>24;if((b&255)<(d[p>>0]|0)){n=b;m=b&255}else break}}}b=r+1<<24>>24;if((b&255)<(d[x>>0]|0)){r=b;q=b&255}else break}return}function pi(c,f){c=c|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=Vb;Vb=Vb+80|0;v=y+36|0;w=y;x=c+10446|0;g=b[x>>1]|0;if(!(g<<16>>16))t=0;else{t=ng(f,g&65535)|0;hg(v,t,((e[x>>1]|0)+7|0)>>>3)}u=c+10450|0;if(!(a[u>>0]|0))s=0;else{r=c+10451|0;s=ng(f,d[r>>0]|0)|0;hg(w,s,((d[r>>0]|0)+7|0)>>>3)}g=a[c+7810>>0]|0;q=c+2|0;f=a[q>>0]|0;a:do if(!(f<<24>>24))g=0;else{r=c+10448|0;m=(g&255)+65190&65535;j=0;k=g&255;l=1;i=0;h=0;o=0;g=a[c>>0]|0;p=0;while(1){if(!(g<<24>>24))g=0;else{n=0;g=i;f=h;h=m;m=0;while(1){if(!(g<<24>>24)){switch(a[c+6842+(p*120|0)+m>>0]|0){case 0:{g=0;break}case 14:case 15:{f=zi(v,w)|0;g=(f<<24>>24)+(j&65535)&65535;j=g;break}case 13:{if(!(l<<24>>24)){f=zi(v,w)|0;g=(f<<24>>24)+(h&65535)|0}else g=(b[r>>1]|0)+(h<<16>>16)|0;g=g&65535;h=g;l=0;break}default:{f=zi(v,w)|0;k=(f<<24>>24)+(k&65535)|0;g=k&65535;if(!(k&32768))k=g;else{g=4;break a}}}b[c+7812+(p*102|0)+(m<<1)>>1]=g;i=f<<24>>24==99&1}else{b[c+7812+(p*102|0)+(m<<1)>>1]=0;i=g}n=n+1<<24>>24;m=n<<24>>24;g=a[c>>0]|0;if((m|0)>=(g&255|0))break;else g=i}m=h;h=f;f=a[q>>0]|0}o=o+1<<24>>24;p=o<<24>>24;if((p|0)>=(f&255|0)){g=0;break}}}while(0);if(s|0)Ag(s);if(t|0)Ag(t);if(!(a[u>>0]|0)){Vb=y;return g|0}Vb=y;return g|0} |
| | | function qi(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=Vb;Vb=Vb+14352|0;ta=ya+6144|0;xa=ya;pa=ya+14336|0;j=(e[f+10>>1]|0)>>>3;la=b[g+10440>>1]|0;ma=la&65535;if(!(la<<16>>16)){xa=0;Vb=ya;return xa|0}na=g+10442|0;oa=a[na>>0]|0;if(oa<<24>>24==0|ma>>>0<(oa&255)>>>0){xa=10;Vb=ya;return xa|0}b[pa>>1]=0;oa=g+2|0;n=a[oa>>0]|0;if((n&255)>1){k=j&65535;l=n&255;j=1;m=1;do{ka=m+-1|0;b[pa+(m<<1)>>1]=(w(d[g+5+ka>>0]|0,k)|0)+(e[pa+(ka<<1)>>1]|0);j=j+1<<16>>16;m=j&65535}while(m>>>0<l>>>0)}da=(a[f+6>>0]|0)==0;ba=da?6:22;da=da?120634:120640;ea=g+2040|0;fa=h+8|0;ga=h+4|0;ha=h+20|0;ia=ta+2|0;ja=ta+1|0;ka=ta+12|0;m=0;o=0;f=0;ca=0;k=0;j=n;l=0;while(1){_=a[da+l>>0]|0;if(!(a[g>>0]|0))C=o;else{$=(_&255)<11;aa=(_&255)+1|0;Z=0;W=0;while(1){V=W+1|0;X=g+1936+(V<<1)|0;T=b[X>>1]|0;U=b[ea>>1]|0;Y=g+1936+(W<<1)|0;if((((T&65535)<(U&65535)?T:U)&65535)>(e[Y>>1]|0)){U=0;T=0;do{if(!(j<<24>>24))j=0;else{S=0;R=0;do{M=g+7802+R|0;j=a[M>>0]|0;if(j<<24>>24){N=g+16+(R*240|0)+(V<<1)|0;O=g+16+(R*240|0)+(W<<1)|0;P=g+5+R|0;Q=pa+(R<<1)|0;L=0;l=0;do{do if((W>>>0>=(e[g+3002+(R*240|0)+(l<<1)>>1]|0)>>>0?W>>>0<(e[g+4922+(R*240|0)+(l<<1)>>1]|0)>>>0:0)?(qa=a[g+2042+(R*120|0)+l>>0]|0,ra=qa&255,(qa+-1&255)<11|(qa&-16)<<24>>24==16):0){if(!(qa<<24>>24==_<<24>>24|$&(aa|0)==(ra|0)))break;K=(qa&255)<5;J=K?4:2;K=d[P>>0]<<2>>>(K?2:1);H=a[120662+ra>>0]|0;G=a[na>>0]|0;G=(H&255)<(G&255)?H:G;H=G&255;I=w(K,T)|0;if((K|0)<=0)break;z=(e[N>>1]|0)-(e[O>>1]|0)&65535;A=(G&255)>32;B=H+-32|0;C=(B|0)==0;D=64-H|0;E=G<<24>>24==0;F=32-H|0;y=0;j=0;do{j=j+I|0;if(j>>>0>=z>>>0)break;n=(w(j,J)|0)+(e[Q>>1]|0)+(e[O>>1]|0)|0;x=n&65535;do if(!(m<<16>>16)){j=k&65535;p=j+H|0;if(p>>>0<=ma>>>0){l=o&65535;m=xa+(l*12|0)|0;a[xa+(l*12|0)+8>>0]=G;if(A){do if(!C){k=c[fa>>2]|0;if(k>>>0<B>>>0){j=B-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>D;if(a[ha>>0]|0){sa=31;break}if(k>>>0>B>>>0){k=k-B|0;c[fa>>2]=k;break}else{lg(h,B);sa=31;break}}else{j=0;sa=31}while(0);if((sa|0)==31){sa=0;k=c[fa>>2]|0}c[xa+(l*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{lg(h,32);break}while(0);c[m>>2]=j}else{do if(!E){k=c[fa>>2]|0;if(k>>>0<H>>>0){j=H-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>F;if(a[ha>>0]|0)break;if(k>>>0>H>>>0){c[fa>>2]=k-H;break}else{lg(h,H);break}}else j=0;while(0);c[m>>2]=j;c[xa+(l*12|0)+4>>2]=0}xi(qa,m,i+((n&65535)<<1)|0)|0;yi(m);m=0;o=o+1<<16>>16;k=p&65535;break}if((la&65535)>(k&65535)){v=ma-j|0;t=v&255;p=o&65535;u=xa+(p*12|0)|0;n=xa+(p*12|0)+8|0;a[n>>0]=t;m=v&255;if((t&255)>32){k=m+-32|0;do if(k){l=c[fa>>2]|0;if(l>>>0<k>>>0){j=k-l|0;j=(c[h>>2]&(1<<l)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-l>>>(64-m|0);if(a[ha>>0]|0){sa=60;break}if(l>>>0>k>>>0){k=l-k|0;c[fa>>2]=k;break}else{lg(h,k);sa=60;break}}else{j=0;sa=60}while(0);if((sa|0)==60){sa=0;k=c[fa>>2]|0}c[xa+(p*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{lg(h,32);break}while(0);c[u>>2]=j}else{do if(m){k=c[fa>>2]|0;if(k>>>0<m>>>0){j=m-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>(32-m|0);if(a[ha>>0]|0)break;if(k>>>0>m>>>0){c[fa>>2]=k-m;break}else{lg(h,m);break}}else j=0;while(0);c[u>>2]=j;c[xa+(p*12|0)+4>>2]=0}s=p+-1|0;k=xa+(s*12|0)|0;t=xa+(s*12|0)+8|0;a[n>>0]=(d[n>>0]|0)+(d[t>>0]|0);yi(u);r=a[t>>0]|0;if(r<<24>>24>32){j=r&255;p=c[xa+(p*12|0)+4>>2]|0;l=r+-32&255;q=r<<24>>24;do if((j+224&255)<<24>>24){m=q-l|0;n=c[xa+(s*12|0)+4>>2]|0;if((m|0)<32){l=(c[k>>2]|0)>>>m|(n&-1>>>(64-q|0))<<l+32-q;break}else{l=n>>>(m+-32|0)&-1>>>(32-l|0);break}}else l=0;while(0);l=l+p|0;c[xa+(s*12|0)+4>>2]=l;if(r<<24>>24<64){s=64-q|0;l=(c[k>>2]|0)>>>(q+-32|0)|(l&-1>>>s)<<s}else l=l>>>(q+-64|0);c[k>>2]=l+(c[u>>2]|0)}else{n=c[u>>2]|0;j=r&255;do if(r<<24>>24){l=r<<24>>24;m=c[k>>2]|0;if((l|0)<(j|0)){l=m<<j-l&-1>>>(32-j|0);break}else{l=m>>>(l-j|0)&-1>>>(32-j|0);break}}else l=0;while(0);c[k>>2]=l+n;c[xa+(s*12|0)+4>>2]=c[xa+(p*12|0)+4>>2]}a[t>>0]=v+j}b[ia>>1]=x;a[ta>>0]=qa;a[ja>>0]=0;a[ka>>0]=0;m=1;k=la}else{v=(f&65535)-(o&65535)&65535;b[ta+(v<<4)+2>>1]=x;a[ta+(v<<4)>>0]=qa;a[ta+(v<<4)+1>>0]=0;a[ta+(v<<4)+12>>0]=0}while(0);f=f+1<<16>>16;y=y+1<<16>>16;j=y&65535}while((K|0)>(j|0));j=a[M>>0]|0}while(0);L=L+1<<16>>16;l=L&65535}while(l>>>0<(j&255)>>>0)}S=S+1<<16>>16;R=S&65535;j=a[oa>>0]|0}while(R>>>0<(j&255)>>>0)}U=U+1<<24>>24;T=U&255;R=b[X>>1]|0;S=b[ea>>1]|0}while((T<<2|0)<((((R&65535)<(S&65535)?R:S)&65535)-(e[Y>>1]|0)|0))}l=Z+1<<24>>24;if((l&255)<(d[g>>0]|0)){Z=l;W=l&255}else{C=o;break}}}ca=ca+1<<16>>16;l=ca&65535;if(ba>>>0<=l>>>0)break;else o=C}A=C&65535;if(!(C<<16>>16)){xa=10;Vb=ya;return xa|0}B=(f&65535)/(C&65535)|0;if((C&65535)>(f&65535)){xa=0;Vb=ya;return xa|0}z=(f&65535)-A|0;y=1;j=1;while(1){v=(w(j,A)|0)-A|0;x=0;do{u=0;j=0;while(1){o=((j+x|0)>>>0)%(A>>>0)|0;q=v+j&65535;if((q|0)>=(z|0))break;r=ta+(q<<4)+1|0;do if((a[r>>0]|0)==0?(ua=xa+(o*12|0)|0,va=xa+(o*12|0)+8|0,wa=a[va>>0]|0,wa<<24>>24>0):0){s=ta+(q<<4)+4|0;t=ta+(q<<4)+12|0;p=a[t>>0]|0;if(!(p<<24>>24))j=wa;else{j=c[s>>2]|0;l=wa<<24>>24;k=c[ua>>2]|0;if(wa<<24>>24>32){sa=xa+(o*12|0)+4|0;f=l+-32|0;n=j<<f;m=0;f=c[sa>>2]&(1<<f)+-1;j=sa}else{n=c[ta+(q<<4)+8>>2]<<l|j>>>(32-l|0);m=j<<l;f=0;k=(1<<l)+-1&k;j=xa+(o*12|0)+4|0}c[ua>>2]=m|k;c[j>>2]=n|f;j=(wa&255)+(p&255)&255;a[va>>0]=j}if((xi(a[ta+(q<<4)>>0]|0,ua,i+(e[ta+(q<<4)+2>>1]<<1)|0)|0)<<24>>24>-1){a[r>>0]=1;break}else{c[s>>2]=c[ua>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];a[t>>0]=j;break}}while(0);j=u+1<<16>>16;if((j&65535)<(C&65535)){u=j;j=j&65535}else break}x=x+1|0}while((x|0)!=(A|0));j=0;do{yi(xa+(j*12|0)|0);j=j+1|0}while((j|0)!=(A|0));j=y+1<<16>>16;if((j&65535)>(B&65535)){j=0;break}else{y=j;j=j&65535}}Vb=ya;return j|0}function ri(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do switch(d<<24>>24){case 2:case 1:{f=ti(d,f,g)|0;return f|0}case 3:{j=f+8|0;k=f+4|0;l=f+20|0;h=0;do{d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}h=h+(a[119829+(h*5|0)+1+d>>0]|0)&65535}while(!(a[119829+(h*5|0)>>0]|0));if((h|0)>161){i=10;d=b[g>>1]|0}else{d=a[119829+(h*5|0)+1>>0]|0;b[g>>1]=d;b[g+2>>1]=a[119829+(h*5|0)+2>>0]|0;b[g+4>>1]=a[119829+(h*5|0)+3>>0]|0;b[g+6>>1]=a[119829+(h*5|0)+4>>0]|0;i=0}if(d<<16>>16){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=i;return f|0}d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=i;return f|0}b[h>>1]=0-(e[h>>1]|0);f=i;return f|0}case 4:{l=ti(4,f,g)|0;i=f+8|0;j=f+4|0;k=f+20|0;if(b[g>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 5:{if(!(a[115405]|0)){j=f+8|0;k=f+4|0;l=f+20|0;h=0;d=115405;do{i=c[j>>2]|0;if(!i){i=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0)){lg(f,1);d=115405}}else{i=i+-1|0;c[j>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else{h=0;d=115405}if((h|0)>161){f=10;return f|0}b[g>>1]=a[d+(h*3|0)+1>>0]|0;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;f=0;return f|0}case 6:{f=ui(6,f,g)|0;return f|0}case 9:case 7:{n=d&255;j=5216+(n<<2)|0;d=c[j>>2]|0;if(!(a[d>>0]|0)){k=f+8|0;l=f+4|0;m=f+20|0;h=0;do{i=c[k>>2]|0;if(!i){i=(c[l>>2]|0)>>>31;if(!(a[m>>0]|0)){lg(f,1);d=c[j>>2]|0}}else{i=i+-1|0;c[k>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else h=0;if((h|0)>(c[5360+(n<<2)>>2]|0)){l=10;d=b[g>>1]|0}else{n=a[d+(h*3|0)+1>>0]|0;b[g>>1]=n;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;l=0;d=n}i=f+8|0;j=f+4|0;k=f+20|0;if(d<<16>>16){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 10:case 8:{f=vi(d,f,g)|0;return f|0}case 12:{f=ui(11,f,g)|0;b[g>>1]=250;b[g+2>>1]=-21216;return f|0}case 11:{n=vi(11,f,g)|0;b[g>>1]=wi(f,b[g>>1]|0)|0;g=g+2|0;b[g>>1]=wi(f,b[g>>1]|0)|0;f=n;return f|0}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{i=vi(11,f,g)|0;b[g>>1]=wi(f,b[g>>1]|0)|0;j=g+2|0;h=wi(f,b[j>>1]|0)|0;b[j>>1]=h;if((d&-16)<<24>>24!=16){f=i;return f|0}n=b[g>>1]|0;f=n<<16>>16;d=e[104372+((d&255)+-16<<1)>>1]|0;if(((n<<16>>16>-1?f:0-f|0)|0)<=(d|0)?(f=h<<16>>16,((h<<16>>16>-1?f:0-f|0)|0)<=(d|0)):0){f=i;return f|0}b[g>>1]=0;b[j>>1]=0;f=i;return f|0}default:{f=11;return f|0}}while(0);return 0}function si(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b[a+1936+((d[a+9044>>0]|0)<<1)>>1]|0;h=b[a+2040>>1]|0;j=a+9043|0;i=e&65535;e=(f&65535)<(h&65535)?f:h;h=0;f=0;while(1){g=(d[a+9045+f>>0]|0)+(e&65535)|0;e=g&65535;if(e>>>0>=i>>>0){e=15;f=4;break}e=c+(e<<1)|0;k=b[e>>1]|0;f=d[a+9049+f>>0]|0;b[e>>1]=(k<<16>>16>0?f:0-f|0)+(k&65535);f=h+1<<24>>24;if((f&255)>(d[j>>0]|0)){e=0;f=4;break}else{e=g&65535;h=f;f=f&255}}if((f|0)==4)return e|0;return 0}function ti(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=117280+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[5072+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[5120+(n<<2)>>2]|0)+(e*5|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{lg(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{lg(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[5120+(n<<2)>>2]|0)+((e&65535)*5|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{lg(f,h);break}}while(0);e=e&65535;if((c[5264+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[5120+(n<<2)>>2]|0;b[g>>1]=a[n+(e*5|0)+1>>0]|0;b[g+2>>1]=a[n+(e*5|0)+2>>0]|0;b[g+4>>1]=a[n+(e*5|0)+3>>0]|0;b[g+6>>1]=a[n+(e*5|0)+4>>0]|0;g=0;return g|0}function ui(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=117280+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[5072+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[5168+(n<<2)>>2]|0)+(e*3|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{lg(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{lg(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[5168+(n<<2)>>2]|0)+((e&65535)*3|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{lg(f,h);break}}while(0);e=e&65535;if((c[5312+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[5168+(n<<2)>>2]|0;b[g>>1]=a[n+(e*3|0)+1>>0]|0;b[g+2>>1]=a[n+(e*3|0)+2>>0]|0;g=0;return g|0}function vi(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=ui(d,f,g)|0;h=f+8|0;i=f+4|0;j=f+20|0;if(b[g>>1]|0){d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))lg(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}g=g+2|0;if(!(b[g>>1]|0))return k|0;d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))lg(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d)return k|0;b[g>>1]=0-(e[g>>1]|0);return k|0}function wi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d<<16>>16<0)if(d<<16>>16==-16)j=1;else{b=d;return b|0}else if(d<<16>>16==16)j=0;else{b=d;return b|0}h=b+8|0;g=b+4|0;i=b+20|0;e=4;while(1){d=c[h>>2]|0;if(!d){d=(c[g>>2]|0)>>>31;if(!(a[i>>0]|0))lg(b,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[b>>2]|0)>>>d&1}if(!d)break;else e=e+1<<24>>24}f=e&255;do if(e<<24>>24){e=c[h>>2]|0;if(e>>>0<f>>>0){d=f-e|0;d=(c[b>>2]&(1<<e)+-1)<<d|(c[g>>2]|0)>>>(32-d|0)}else d=c[b>>2]<<32-e>>>(32-f|0);if(!(a[i>>0]|0))if(e>>>0>f>>>0){c[h>>2]=e-f;break}else{lg(b,f);break}}else d=0;while(0);b=d&65535|1<<f;b=(j<<24>>24==0?b:0-b|0)&65535;return b|0}function xi(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f&255;a:do switch(f<<24>>24){case 4:case 2:case 1:{p=117280+q|0;r=a[p>>0]|0;l=r&255;do if(r<<24>>24){r=a[g+8>>0]|0;k=r<<24>>24;if(r<<24>>24<33){i=c[g>>2]|0;if((k|0)<(l|0)){i=i<<l-k&-1>>>(32-l|0);break}else{i=i>>>(k-l|0)&-1>>>(32-l|0);break}}else{i=k-l|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-k|0))<<l+32-k;break}else{i=j>>>(i+-32|0)&-1>>>(32-l|0);break}}}else i=0;while(0);r=c[5072+(q<<2)>>2]|0;n=a[r+(i<<1)>>0]|0;i=a[r+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=n&255;i=5120+(q<<2)|0;q=g+8|0;p=(d[q>>0]|0)-(d[(c[i>>2]|0)+(j*5|0)>>0]|0)|0;r=(p&128|0)==0;a[q>>0]=r?p&255:0;if(!r){h=-1;return h|0}}else{o=g+8|0;m=(d[o>>0]|0)-l|0;r=(m&128|0)==0;m=r?m&255:0;a[o>>0]=m;if(!r){h=-1;return h|0}k=i&255;l=m<<24>>24;do if(m<<24>>24<33){i=c[g>>2]|0;if((l|0)<(k|0)){i=i<<k-l&-1>>>(32-k|0);break}else{i=i>>>(l-k|0)&-1>>>(32-k|0);break}}else{i=l-k|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-l|0))<<k+32-l;break}else{i=j>>>(i+-32|0)&-1>>>(32-k|0);break}}while(0);j=i+(n&255)|0;i=5120+(q<<2)|0;q=(m&255)-((d[(c[i>>2]|0)+((j&65535)*5|0)>>0]|0)-(d[p>>0]|0)&255)|0;r=(q&128|0)==0;a[o>>0]=r?q&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*5|0)+1>>0]|0;b[h+2>>1]=a[r+(i*5|0)+2>>0]|0;b[h+4>>1]=a[r+(i*5|0)+3>>0]|0;k=f;l=0;i=r+(i*5|0)+4|0;j=3;r=61;break}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 11:case 10:case 8:case 6:{k=(f&255)>15;l=k?f:0;k=k?11:f;f=k&255;r=117280+f|0;q=a[r>>0]|0;n=q&255;do if(q<<24>>24){q=a[g+8>>0]|0;m=q<<24>>24;if(q<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);q=c[5072+(f<<2)>>2]|0;p=a[q+(i<<1)>>0]|0;i=a[q+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=p&255;i=5168+(f<<2)|0;f=g+8|0;q=(d[f>>0]|0)-(d[(c[i>>2]|0)+(j*3|0)>>0]|0)|0;r=(q&128|0)==0;a[f>>0]=r?q&255:0;if(!r){h=-1;return h|0}}else{q=g+8|0;o=(d[q>>0]|0)-n|0;n=(o&128|0)==0;o=n?o&255:0;a[q>>0]=o;if(!n){h=-1;return h|0}m=i&255;n=o<<24>>24;do if(o<<24>>24<33){i=c[g>>2]|0;if((n|0)<(m|0)){i=i<<m-n&-1>>>(32-m|0);break}else{i=i>>>(n-m|0)&-1>>>(32-m|0);break}}else{i=n-m|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-n|0))<<m+32-n;break}else{i=j>>>(i+-32|0)&-1>>>(32-m|0);break}}while(0);j=i+(p&255)|0;i=5168+(f<<2)|0;f=(o&255)-((d[(c[i>>2]|0)+((j&65535)*3|0)>>0]|0)-(d[r>>0]|0)&255)|0;r=(f&128|0)==0;a[q>>0]=r?f&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*3|0)+1>>0]|0;i=r+(i*3|0)+2|0;j=1;r=61;break}case 3:{k=g+8|0;m=g+4|0;l=a[k>>0]|0;n=0;while(1){i=l<<24>>24;do if(l<<24>>24<33){j=c[g>>2]|0;if(l<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[m>>2]|0)>>>(i+-33|0);while(0);r=l+-1<<24>>24<<24>>24>-1;l=(l&255)+255&255;a[k>>0]=r?l:0;if(!r){i=-1;r=100;break}n=n+(a[(i&1)+(119829+(n*5|0)+1)>>0]|0)&65535;if(a[119829+(n*5|0)>>0]|0){r=52;break}}if((r|0)==52){b[h>>1]=a[119829+(n*5|0)+1>>0]|0;b[h+2>>1]=a[119829+(n*5|0)+2>>0]|0;b[h+4>>1]=a[119829+(n*5|0)+3>>0]|0;k=3;l=0;i=119829+(n*5|0)+4|0;j=3;r=61;break a}else if((r|0)==100)return i|0;break}case 9:case 7:case 5:{o=5216+(q<<2)|0;i=c[o>>2]|0;b:do if(!(a[i>>0]|0)){l=g+8|0;n=g+4|0;m=a[l>>0]|0;j=0;while(1){i=m<<24>>24;do if(m<<24>>24<33){k=c[g>>2]|0;if(m<<24>>24<1){k=k<<1-i;break}else{k=k>>>(i+-1|0);break}}else k=(c[n>>2]|0)>>>(i+-33|0);while(0);r=m+-1<<24>>24<<24>>24>-1;m=(m&255)+255&255;a[l>>0]=r?m:0;if(!r){i=-1;break}i=c[o>>2]|0;j=j+(a[(k&1)+(i+(j*3|0)+1)>>0]|0)&65535;if(a[i+(j*3|0)>>0]|0)break b}return i|0}else j=0;while(0);b[h>>1]=a[i+(j*3|0)+1>>0]|0;k=f;l=0;i=i+(j*3|0)+2|0;j=1;r=61;break}default:{k=f;l=0}}while(0);if((r|0)==61)b[h+(j<<1)>>1]=a[i>>0]|0;c:do if(a[117292+(k&255)>>0]|0){q=(k&255)<5?4:2;p=g+8|0;f=g+4|0;o=0;i=0;while(1){n=h+(i<<1)|0;if(b[n>>1]|0){m=a[p>>0]|0;i=m<<24>>24;do if(m<<24>>24<33){j=c[g>>2]|0;if(m<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[f>>2]|0)>>>(i+-33|0);while(0);j=m+-1<<24>>24<<24>>24>-1;a[p>>0]=j?(m&255)+255&255:0;if(!j){i=-1;break}if(i&1|0)b[n>>1]=0-(e[n>>1]|0)}o=o+1<<24>>24;i=o&255;if(q>>>0<=i>>>0)break c}return i|0}while(0);f=g+8|0;do if(k<<24>>24==11|(k&255)>15){q=g+4|0;o=b[h>>1]|0;d:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;e:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);p=k+-1<<24>>24<<24>>24>-1;k=p?(k&255)+255&255:0;i=p?((i&1|0)==0?13:0):1;switch(i&15){case 13:break e;case 0:break;default:{r=94;break e}}m=m+1<<24>>24}if((r|0)==94){a[f>>0]=k;if(!i)break d;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[q>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);m=(k&255)-n|0;p=(m&128|0)==0;a[f>>0]=p?m&255:0;i=i+(1<<n)|0;if(p){b[h>>1]=o<<16>>16<0?0-i|0:i;break d}else{h=-1;return h|0}}default:{}}while(0);p=h+2|0;o=b[p>>1]|0;f:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;g:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);n=k+-1<<24>>24<<24>>24>-1;k=n?(k&255)+255&255:0;i=n?((i&1|0)==0?13:0):1;switch(i&15){case 13:break g;case 0:break;default:{r=119;break g}}m=m+1<<24>>24}if((r|0)==119){a[f>>0]=k;if(!i)break f;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{j=m-n|0;i=c[q>>2]|0;if((j|0)<32){i=(c[g>>2]|0)>>>j|(i&-1>>>(64-m|0))<<n+32-m;break}else{i=i>>>(j+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);r=(k&255)-n|0;g=(r&128|0)==0;a[f>>0]=g?r&255:0;i=i+(1<<n)|0;if(g){b[p>>1]=o<<16>>16<0?0-i|0:i;break f}else{h=-1;return h|0}}default:{}}while(0);if(l<<24>>24!=0&(l&-16)<<24>>24==16){r=b[h>>1]|0;g=r<<16>>16;i=e[104372+((l&255)+-16<<1)>>1]|0;if(((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)?(r=b[p>>1]|0,g=r<<16>>16,((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)):0)break;b[h>>1]=0;b[p>>1]=0}}while(0);h=a[f>>0]|0;return h|0}function yi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b+8>>0]|0;if(!(d<<24>>24))return;f=b+4|0;e=d&255;if((d&255)<33){c[f>>2]=0;d=c[b>>2]|0;d=d>>>1&1431655765|d<<1&-1431655766;d=d>>>2&858993459|d<<2&-858993460;d=d>>>4&252645135|d<<4&-252645136;d=d>>>8&16711935|d<<8&-16711936;d=(d>>>16|d<<16)>>>(32-e|0)}else{h=c[f>>2]|0;g=c[b>>2]|0;g=g>>>1&1431655765|g<<1&-1431655766;h=h>>>1&1431655765|h<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;h=h>>>2&858993459|h<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;h=h>>>4&252645135|h<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;h=h>>>8&16711935|h<<8&-16711936;g=g>>>16|g<<16;d=64-e|0;c[b>>2]=g<<e+-32|(h>>>16|h<<16)>>>d;d=g>>>d;b=f}c[b>>2]=d;return}function zi(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=b+8|0;f=c[n>>2]|0;if(!f)e=c[b+4>>2]|0;else e=c[b>>2]<<32-f;m=b+20|0;do if(!(a[m>>0]|0))if(f>>>0>1){c[n>>2]=f+-1;break}else{lg(b,1);break}while(0);if((e|0)>-1)e=93384;else{l=b+4|0;j=1;k=93384;f=1;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[n>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[b>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[b>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[n>>2]=g-h;break}else{lg(b,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<10?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;n=e&255;do if(e<<24>>24==7){b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{lg(d,2);break}while(0);if(!f)e=93576;else{l=d+4|0;j=2;k=93576;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{lg(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}else{e=(e&255)+n&255;break}}while(0);n=e&255;if(e<<24>>24!=-7){d=e;return d|0}b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{lg(d,2);break}while(0);if(!f)e=93576;else{l=d+4|0;j=2;k=93576;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{lg(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}d=n-(e&255)&255;return d|0}function Ai(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=a[f+3>>0]|0;switch(a[g+4>>0]|0){case 3:case 1:case 0:{a[g+3>>0]=1;a[g+2>>0]=1;a[g+5>>0]=1;j=(a[f+4>>0]|0)==23;l=f+10|0;h=b[l>>1]|0;do if(j){i=k&255;if(h<<16>>16==512){i=121176+i|0;break}else{i=121188+i|0;break}}else{i=k&255;if(h<<16>>16==1024){i=121200+i|0;break}else{i=121212+i|0;break}}while(0);f=a[i>>0]|0;a[g+1>>0]=f;if((d[g>>0]|0)>(f&255)){g=32;return g|0}if(j){i=f<<24>>24!=0;if(h<<16>>16==512){if(i){j=c[94112+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}}else if(i){j=c[94064+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}h=f&255;b[g+16+(h<<1)>>1]=b[l>>1]|0}else{if(!(f<<24>>24))i=0;else{j=c[94016+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}i=f;h=b[l>>1]|0}b[g+16+((i&255)<<1)>>1]=h;h=f&255}b[g+1936+(h<<1)>>1]=b[l>>1]|0;b[g+2040>>1]=b[l>>1]|0;g=0;return g|0}case 2:{a[g+3>>0]=8;l=g+2|0;a[l>>0]=1;a[g+5>>0]=1;k=k&255;s=a[121224+k>>0]|0;a[g+1>>0]=s;if((d[g>>0]|0)>(s&255)){g=32;return g|0}j=c[94160+(k<<2)>>2]|0;i=0;h=0;while(1){b[g+1936+(h<<1)>>1]=b[j+(h<<1)>>1]|0;h=i+1<<24>>24;if((h&255)<(s&255)){i=h;h=h&255}else break}r=f+10|0;b[g+1936+((s&255)<<1)>>1]=(e[r>>1]|0)>>>3;b[g+2040>>1]=(e[r>>1]|0)>>>3;j=g+14|0;if(!(a[j>>0]&64)){a[l>>0]=2;a[g+6>>0]=1;i=2}else{i=g+5|0;a[i>>0]=(d[i>>0]|0)+1;i=1}h=i&255;if(!(a[j>>0]&32)){q=h+1&255;a[l>>0]=q;a[(i&255)+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&16)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&8)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&4)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&2)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&1)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}if(!(i<<24>>24)){g=0;return g|0}p=94160+(k<<2)|0;q=s&255;o=0;j=s;n=0;while(1){if(!(j<<24>>24)){f=0;h=0;j=0}else{m=g+5+n|0;if(j<<24>>24==1){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+2>>1]|0}f=w(h-(e[j>>1]|0)&65535,d[m>>0]|0)|0;b[g+16+(n*240|0)>>1]=0;l=1;f=f&65535;k=1;while(1){h=k+1|0;if((h|0)==(q|0)){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+(h<<1)>>1]|0}k=w(h-(e[j+(k<<1)>>1]|0)&65535,d[m>>0]|0)|0;h=l+1<<24>>24;b[g+16+(n*240|0)+((l&255)<<1)>>1]=f;f=k+(f&65535)&65535;if((h&255)<(s&255)){l=h;k=h&255}else{j=s;break}}}b[g+16+(n*240|0)+((h&255)<<1)>>1]=f;h=o+1<<24>>24;if((h&255)<(i&255)){o=h;n=h&255}else{h=0;break}}return h|0}default:{g=32;return g|0}}return 0}function Bi(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Vb;Vb=Vb+4096|0;q=s;r=f+25|0;m=d[r>>0]|0;p=(a[f+1084+m>>0]|0)==0;j=p?1:2;k=f+26+m|0;l=a[k>>0]|0;if(l<<24>>24){if((j|0)!=(l&255|0)){a[f+74+m>>0]=0;o=4}}else o=4;if((o|0)==4)a[k>>0]=j;if(!(a[f+74+m>>0]|0)){l=f+4|0;j=a[l>>0]|0;n=d[h>>0]|0;if(j<<24>>24==1){j=f+1136+(n<<2)|0;k=c[j>>2]|0;if(k|0){Ag(k);c[j>>2]=0}o=f+10|0;m=og((e[o>>1]|0)*12|0)|0;c[j>>2]=m;Kh(m,b[o>>1]|0);j=a[l>>0]|0}if((Lh(j)|0)<<24>>24){j=f+1392+(n<<2)|0;k=c[j>>2]|0;if(k|0){Ag(k);c[j>>2]=0}o=f+10|0;m=og(e[o>>1]<<3)|0;c[j>>2]=m;fl(m|0,0,e[o>>1]<<3|0)|0}k=f+328+(n<<2)|0;j=c[k>>2]|0;if(j|0){Ag(j);c[k>>2]=0}j=(d[r>>0]|0)+(f+843)|0;a[j>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=4;else{a[j>>0]=1;l=8}m=f+10|0;o=og(w(l,e[m>>1]|0)|0)|0;c[k>>2]=o;fl(o|0,0,w(l,e[m>>1]|0)|0)|0;if(!p){j=f+328+(n+1<<2)|0;k=c[j>>2]|0;if(k|0){Ag(k);c[j>>2]=0}p=og(w(l,e[m>>1]|0)|0)|0;c[j>>2]=p;fl(p|0,0,w(l,e[m>>1]|0)|0)|0}j=f+584+(n<<2)|0;k=c[j>>2]|0;if(k|0){Ag(k);c[j>>2]=0}p=og(e[m>>1]<<2)|0;c[j>>2]=p;fl(p|0,0,e[m>>1]<<2|0)|0;a[(d[r>>0]|0)+(f+74)>>0]=1;p=m}else p=f+10|0;j=Mh(g,i,q)|0;if(j<<24>>24){h=j;Vb=s;return h|0}l=f+4|0;Nh(g,0,q,0,b[p>>1]|0,0,a[l>>0]|0,f+1648|0,f+1652|0);j=a[l>>0]|0;do if(j<<24>>24==1){j=c[f+1136+(d[h>>0]<<2)>>2]|0;if(!j){h=33;Vb=s;return h|0}else{Qh(g,q,j,b[p>>1]|0,a[f+3>>0]|0);Rh(g,c[f+1136+(d[h>>0]<<2)>>2]|0);j=a[l>>0]|0;break}}while(0);if(!((Lh(j)|0)<<24>>24))n=f+3|0;else{j=a[l>>0]|0;if(j<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[h>>0]<<1)>>1]=b[g+10278>>1]|0;k=a[h>>0]|0;b[g+10278>>1]=b[f+192+((k&255)<<1)>>1]|0}else k=a[h>>0]|0;i=k&255;n=f+3|0;Sh(g,g+10276|0,q,c[f+1392+(i<<2)>>2]|0,c[f+320>>2]|0,a[g+13>>0]|0,a[f+128+i>>0]|0,a[n>>0]|0,j,b[p>>1]|0)}Th(g,g+9053|0,a[n>>0]|0,a[l>>0]|0,q,b[p>>1]|0);j=c[f+324>>2]|0;do if(a[j>>0]|0){if(a[(d[h>>0]|0)+(j+56)>>0]|0?a[j+3>>0]|0:0)break;Uh(j,q)}while(0);i=g+13|0;o=d[h>>0]|0;Vh(c[f+320>>2]|0,a[g+4>>0]|0,a[i>>0]|0,a[f+128+o>>0]|0,q,c[f+328+(o<<2)>>2]|0,c[f+584+(o<<2)>>2]|0,a[l>>0]|0,b[p>>1]|0);a[(d[h>>0]|0)+(f+128)>>0]=a[i>>0]|0;if((Lh(a[l>>0]|0)|0)<<24>>24){q=d[h>>0]|0;Wh(c[f+1392+(q<<2)>>2]|0,c[f+328+(q<<2)>>2]|0,c[f+584+(q<<2)>>2]|0,b[p>>1]|0,a[l>>0]|0)}j=(a[f+840>>0]|0)==1;if(!j?(a[f+841>>0]|0)!=1:0)o=56;else o=48;do if((o|0)==48){m=d[r>>0]|0;if(!(a[f+843+m>>0]|0))if(j){o=57;break}else{o=56;break}l=d[h>>0]|0;k=f+892+(m<<2)|0;j=c[k>>2]|0;if(!j){g=b[p>>1]|0;q=a[f+2128+m>>0]|0;j=(Cg(a[n>>0]|0)|0)<<1;j=ih(g,q,j,a[f+842>>0]|0)|0;c[k>>2]=j}q=a[h+6>>0]|0;q=b[h+1942+(((q&255)>1?(q&255)+-1|0:0)<<1)>>1]|0;k=b[h+2046>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;c[j+4>>2]=(a[h+10>>0]|0)==2?k<<3:k;k=c[f+328+(l<<2)>>2]|0;if(!(a[f+1084+m>>0]|0))j=Ci(j,k,a[f+12>>0]|0,a[f+842>>0]|0)|0;else j=Di(j,k,c[f+328+(l+1<<2)>>2]|0,a[f+12>>0]|0,a[f+842>>0]|0)|0;if(j<<24>>24){h=j;Vb=s;return h|0}}while(0);if((o|0)==56?(a[f+841>>0]|0)==1:0)o=57;if((o|0)==57?(a[(d[r>>0]|0)+(f+843)>>0]|0)==0:0){h=23;Vb=s;return h|0}j=d[r>>0]|0;if(a[f+1084+j>>0]|0){h=0;Vb=s;return h|0}if((a[f+26+j>>0]|0)!=2){h=0;Vb=s;return h|0}r=d[h>>0]|0;h=w(e[p>>1]<<2,a[f+843+j>>0]|0?2:1)|0;dl(c[f+328+(r+1<<2)>>2]|0,c[f+328+(r<<2)>>2]|0,h|0)|0;h=0;Vb=s;return h|0}function Ci(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;n=Vb;Vb=Vb+16384|0;k=n;if(!b){m=20;Vb=n;return m|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{m=21;Vb=n;return m|0}}l=b+10|0;if(a[l>>0]|0)if(!(a[b+12426>>0]|0))h=1;else{a[b+12412>>0]=-1;h=1}else h=(c[b+12432>>2]|0)==0&1;i=b+9|0;a[i>>0]=f<<24>>24!=0&1;h=(Yh(b,e,k,0,h)|0)&255;a[l>>0]=(d[l>>0]|0)+h;h=c[b+12448>>2]|0;if(!(g<<24>>24))_h(b,h,k,e);else Zh(b,h,k,e);if(a[b+53426>>0]|0)a[i>>0]=0;if((c[b+12432>>2]|0?(a[l>>0]|0)==0:0)?(j=$h(b,0)|0,j<<24>>24):0){m=j;Vb=n;return m|0}i=b+53418|0;if(a[i>>0]|0){g=b+53416|0;f=0;h=0;while(1){el(b+12456+(h<<9)|0,b+12456+(h+(d[g>>0]|0)<<9)|0,512)|0;e=f+1<<24>>24;h=a[i>>0]|0;if((e&255)<(h&255)){f=e;h=e&255}else break}if((h&255)<40)m=18}else{h=0;m=18}if((m|0)==18)fl(b+(((h&255)<<9)+12456)|0,0,((39-h&255)<<9)+512|0)|0;m=b+12428|0;c[m>>2]=(c[m>>2]|0)+1;m=0;Vb=n;return m|0}function Di(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=Vb;Vb=Vb+38912|0;o=t+19456|0;p=t;fl(o|0,0,19456)|0;fl(p|0,0,19456)|0;if(!b){s=20;Vb=t;return s|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{s=21;Vb=t;return s|0}}m=b+10|0;if(a[m>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;n=b+9|0;a[n>>0]=g<<24>>24!=0&1;l=b+12452|0;if(!(c[l>>2]|0))c[l>>2]=Fh(h<<24>>24?32:64)|0;r=(Yh(b,e,o,0,i)|0)&255;a[m>>0]=(d[m>>0]|0)+r;r=b+53416|0;g=a[r>>0]|0;k=g&255;i=k+6|0;j=d[b+53419>>0]|0;do{u=k+j|0;c[o+(k<<9)>>2]=c[b+12456+(u<<9)>>2];c[o+(k<<9)+4>>2]=c[b+12456+(u<<9)+4>>2];c[o+(k<<9)+8>>2]=c[b+12456+(u<<9)+8>>2];c[o+(k<<9)+12>>2]=c[b+12456+(u<<9)+12>>2];c[o+(k<<9)+16>>2]=c[b+12456+(u<<9)+16>>2];c[o+(k<<9)+20>>2]=c[b+12456+(u<<9)+20>>2];c[o+(k<<9)+24>>2]=c[b+12456+(u<<9)+24>>2];c[o+(k<<9)+28>>2]=c[b+12456+(u<<9)+28>>2];c[o+(k<<9)+32>>2]=c[b+12456+(u<<9)+32>>2];c[o+(k<<9)+36>>2]=c[b+12456+(u<<9)+36>>2];g=g+1<<24>>24;k=g&255}while(i>>>0>k>>>0);Ei(c[b+53420>>2]|0,o,p)|0;g=c[b+12448>>2]|0;if(!(h<<24>>24)){_h(b,g,o,e);_h(b,c[l>>2]|0,p,f)}else{Zh(b,g,o,e);Zh(b,c[l>>2]|0,p,f)}if(a[b+53426>>0]|0)a[n>>0]=0;if((c[b+12432>>2]|0?(a[m>>0]|0)==0:0)?(q=$h(b,0)|0,q<<24>>24):0){u=q;Vb=t;return u|0}k=b+53418|0;if(a[k>>0]|0){i=0;g=0;while(1){el(b+12456+(g<<9)|0,b+12456+(g+(d[r>>0]|0)<<9)|0,512)|0;j=i+1<<24>>24;g=a[k>>0]|0;if((j&255)<(g&255)){i=j;g=j&255}else break}if((g&255)<40)s=21}else{g=0;s=21}if((s|0)==21)fl(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;u=b+12428|0;c[u>>2]=(c[u>>2]|0)+1;u=0;Vb=t;return u|0}function Ei(e,g,i){e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,s=0,t=0,u=0,v=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0;Na=Vb;Vb=Vb+25088|0;ga=Na+20736|0;Ea=Na+16384|0;La=Na+8192|0;Ma=Na;fl(La|0,0,8192)|0;fl(Ma|0,0,8192)|0;P=e+718|0;Ka=e+9|0;if(a[P>>0]|0)if(a[Ka>>0]|0){v=e+3|0;x=e+38|0;z=e+72|0;j=e+106|0;k=e+123|0;A=e+5|0;B=e+1|0;C=e+7|0;H=e+4|0;I=e+26|0;J=e+6|0;u=0;t=0;while(1){Ia=a[v>>0]|0;l=(Ia&255)<3?7:15;Ja=u<<24>>24==0;m=t+-1|0;q=Ja?j:e+480+(m*17|0)|0;s=Ja?k:e+565+(m*17|0)|0;Fi(a[e>>0]|0,e+140+(t*34|0)|0,Ja?x:e+140+(m*34|0)|0,a[e+16+t>>0]|0,a[A>>0]|0,Ia<<24>>24==0|Ia<<24>>24==3?2:1,0-(l&255)&255,l);l=a[H>>0]|0;Fi(a[B>>0]|0,e+310+(t*34|0)|0,Ja?z:e+310+(m*34|0)|0,a[e+21+t>>0]|0,a[C>>0]|0,l<<24>>24==0|l<<24>>24==3?2:1,0,7);l=e+480+(t*17|0)|0;m=a[J>>0]|0;do if((a[I>>0]|0)==1)if(!(a[e+28+t>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else{ea=13;break}do{Ja=e+480+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+480+(t*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(!(m<<24>>24)){ea=13;break}else{l=0;m=0}do{Ja=e+480+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[q+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(m<<24>>24){l=0;m=0;do{a[e+480+(t*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}}while(0);a:do if((ea|0)==13){ea=0;m=a[J>>0]|0;l=e+565+(t*17|0)|0;if((a[I>>0]|0)!=1){n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}while(1){a[e+565+(t*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24;if((m|0)>=(n|0))break a}}if(!(a[e+33+t>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else break;do{Ja=e+565+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+565+(t*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}else{n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}do{Ja=e+565+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[s+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}}while(0);m=u+1<<24>>24;l=a[Ka>>0]|0;if((m&255)<(l&255)){u=m;t=m&255}else break}if(!(l<<24>>24))ea=24}else ea=24;else{a[Ka>>0]=0;ea=24}do if((ea|0)==24){a[Ka>>0]=1;if(!(a[e>>0]|0)){n=e+140|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+140>>0]=a[e+38>>0]|0;a[e+141>>0]=a[e+39>>0]|0;a[e+142>>0]=a[e+40>>0]|0;a[e+143>>0]=a[e+41>>0]|0;a[e+144>>0]=a[e+42>>0]|0;a[e+145>>0]=a[e+43>>0]|0;a[e+146>>0]=a[e+44>>0]|0;a[e+147>>0]=a[e+45>>0]|0;a[e+148>>0]=a[e+46>>0]|0;a[e+149>>0]=a[e+47>>0]|0;a[e+150>>0]=a[e+48>>0]|0;a[e+151>>0]=a[e+49>>0]|0;a[e+152>>0]=a[e+50>>0]|0;a[e+153>>0]=a[e+51>>0]|0;a[e+154>>0]=a[e+52>>0]|0;a[e+155>>0]=a[e+53>>0]|0;a[e+156>>0]=a[e+54>>0]|0;a[e+157>>0]=a[e+55>>0]|0;a[e+158>>0]=a[e+56>>0]|0;a[e+159>>0]=a[e+57>>0]|0;a[e+160>>0]=a[e+58>>0]|0;a[e+161>>0]=a[e+59>>0]|0;a[e+162>>0]=a[e+60>>0]|0;a[e+163>>0]=a[e+61>>0]|0;a[e+164>>0]=a[e+62>>0]|0;a[e+165>>0]=a[e+63>>0]|0;a[e+166>>0]=a[e+64>>0]|0;a[e+167>>0]=a[e+65>>0]|0;a[e+168>>0]=a[e+66>>0]|0;a[e+169>>0]=a[e+67>>0]|0;a[e+170>>0]=a[e+68>>0]|0;a[e+171>>0]=a[e+69>>0]|0;a[e+172>>0]=a[e+70>>0]|0;a[e+173>>0]=a[e+71>>0]|0}if(!(a[e+1>>0]|0)){n=e+310|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+310>>0]=a[e+72>>0]|0;a[e+311>>0]=a[e+73>>0]|0;a[e+312>>0]=a[e+74>>0]|0;a[e+313>>0]=a[e+75>>0]|0;a[e+314>>0]=a[e+76>>0]|0;a[e+315>>0]=a[e+77>>0]|0;a[e+316>>0]=a[e+78>>0]|0;a[e+317>>0]=a[e+79>>0]|0;a[e+318>>0]=a[e+80>>0]|0;a[e+319>>0]=a[e+81>>0]|0;a[e+320>>0]=a[e+82>>0]|0;a[e+321>>0]=a[e+83>>0]|0;a[e+322>>0]=a[e+84>>0]|0;a[e+323>>0]=a[e+85>>0]|0;a[e+324>>0]=a[e+86>>0]|0;a[e+325>>0]=a[e+87>>0]|0;a[e+326>>0]=a[e+88>>0]|0;a[e+327>>0]=a[e+89>>0]|0;a[e+328>>0]=a[e+90>>0]|0;a[e+329>>0]=a[e+91>>0]|0;a[e+330>>0]=a[e+92>>0]|0;a[e+331>>0]=a[e+93>>0]|0;a[e+332>>0]=a[e+94>>0]|0;a[e+333>>0]=a[e+95>>0]|0;a[e+334>>0]=a[e+96>>0]|0;a[e+335>>0]=a[e+97>>0]|0;a[e+336>>0]=a[e+98>>0]|0;a[e+337>>0]=a[e+99>>0]|0;a[e+338>>0]=a[e+100>>0]|0;a[e+339>>0]=a[e+101>>0]|0;a[e+340>>0]=a[e+102>>0]|0;a[e+341>>0]=a[e+103>>0]|0;a[e+342>>0]=a[e+104>>0]|0;a[e+343>>0]=a[e+105>>0]|0}if(!(a[e+26>>0]|0)){j=e+565|0;n=e+480|0;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));n=j;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));k=e+123|0;j=e+106|0;break}else{j=e+106|0;a[e+480>>0]=a[j>>0]|0;k=e+123|0;a[e+565>>0]=a[k>>0]|0;a[e+481>>0]=a[e+107>>0]|0;a[e+566>>0]=a[e+124>>0]|0;a[e+482>>0]=a[e+108>>0]|0;a[e+567>>0]=a[e+125>>0]|0;a[e+483>>0]=a[e+109>>0]|0;a[e+568>>0]=a[e+126>>0]|0;a[e+484>>0]=a[e+110>>0]|0;a[e+569>>0]=a[e+127>>0]|0;a[e+485>>0]=a[e+111>>0]|0;a[e+570>>0]=a[e+128>>0]|0;a[e+486>>0]=a[e+112>>0]|0;a[e+571>>0]=a[e+129>>0]|0;a[e+487>>0]=a[e+113>>0]|0;a[e+572>>0]=a[e+130>>0]|0;a[e+488>>0]=a[e+114>>0]|0;a[e+573>>0]=a[e+131>>0]|0;a[e+489>>0]=a[e+115>>0]|0;a[e+574>>0]=a[e+132>>0]|0;a[e+490>>0]=a[e+116>>0]|0;a[e+575>>0]=a[e+133>>0]|0;a[e+491>>0]=a[e+117>>0]|0;a[e+576>>0]=a[e+134>>0]|0;a[e+492>>0]=a[e+118>>0]|0;a[e+577>>0]=a[e+135>>0]|0;a[e+493>>0]=a[e+119>>0]|0;a[e+578>>0]=a[e+136>>0]|0;a[e+494>>0]=a[e+120>>0]|0;a[e+579>>0]=a[e+137>>0]|0;a[e+495>>0]=a[e+121>>0]|0;a[e+580>>0]=a[e+138>>0]|0;a[e+496>>0]=a[e+122>>0]|0;a[e+581>>0]=a[e+139>>0]|0;break}}while(0);Ja=(d[Ka>>0]|0)+-1|0;a[e+38>>0]=a[e+140+(Ja*34|0)>>0]|0;a[e+39>>0]=a[e+140+(Ja*34|0)+1>>0]|0;a[e+40>>0]=a[e+140+(Ja*34|0)+2>>0]|0;a[e+41>>0]=a[e+140+(Ja*34|0)+3>>0]|0;a[e+42>>0]=a[e+140+(Ja*34|0)+4>>0]|0;a[e+43>>0]=a[e+140+(Ja*34|0)+5>>0]|0;a[e+44>>0]=a[e+140+(Ja*34|0)+6>>0]|0;a[e+45>>0]=a[e+140+(Ja*34|0)+7>>0]|0;a[e+46>>0]=a[e+140+(Ja*34|0)+8>>0]|0;a[e+47>>0]=a[e+140+(Ja*34|0)+9>>0]|0;a[e+48>>0]=a[e+140+(Ja*34|0)+10>>0]|0;a[e+49>>0]=a[e+140+(Ja*34|0)+11>>0]|0;a[e+50>>0]=a[e+140+(Ja*34|0)+12>>0]|0;a[e+51>>0]=a[e+140+(Ja*34|0)+13>>0]|0;a[e+52>>0]=a[e+140+(Ja*34|0)+14>>0]|0;a[e+53>>0]=a[e+140+(Ja*34|0)+15>>0]|0;a[e+54>>0]=a[e+140+(Ja*34|0)+16>>0]|0;a[e+55>>0]=a[e+140+(Ja*34|0)+17>>0]|0;a[e+56>>0]=a[e+140+(Ja*34|0)+18>>0]|0;a[e+57>>0]=a[e+140+(Ja*34|0)+19>>0]|0;a[e+58>>0]=a[e+140+(Ja*34|0)+20>>0]|0;a[e+59>>0]=a[e+140+(Ja*34|0)+21>>0]|0;a[e+60>>0]=a[e+140+(Ja*34|0)+22>>0]|0;a[e+61>>0]=a[e+140+(Ja*34|0)+23>>0]|0;a[e+62>>0]=a[e+140+(Ja*34|0)+24>>0]|0;a[e+63>>0]=a[e+140+(Ja*34|0)+25>>0]|0;a[e+64>>0]=a[e+140+(Ja*34|0)+26>>0]|0;a[e+65>>0]=a[e+140+(Ja*34|0)+27>>0]|0;a[e+66>>0]=a[e+140+(Ja*34|0)+28>>0]|0;a[e+67>>0]=a[e+140+(Ja*34|0)+29>>0]|0;a[e+68>>0]=a[e+140+(Ja*34|0)+30>>0]|0;a[e+69>>0]=a[e+140+(Ja*34|0)+31>>0]|0;a[e+70>>0]=a[e+140+(Ja*34|0)+32>>0]|0;a[e+71>>0]=a[e+140+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[e+72>>0]=a[e+310+(Ja*34|0)>>0]|0;a[e+73>>0]=a[e+310+(Ja*34|0)+1>>0]|0;a[e+74>>0]=a[e+310+(Ja*34|0)+2>>0]|0;a[e+75>>0]=a[e+310+(Ja*34|0)+3>>0]|0;a[e+76>>0]=a[e+310+(Ja*34|0)+4>>0]|0;a[e+77>>0]=a[e+310+(Ja*34|0)+5>>0]|0;a[e+78>>0]=a[e+310+(Ja*34|0)+6>>0]|0;a[e+79>>0]=a[e+310+(Ja*34|0)+7>>0]|0;a[e+80>>0]=a[e+310+(Ja*34|0)+8>>0]|0;a[e+81>>0]=a[e+310+(Ja*34|0)+9>>0]|0;a[e+82>>0]=a[e+310+(Ja*34|0)+10>>0]|0;a[e+83>>0]=a[e+310+(Ja*34|0)+11>>0]|0;a[e+84>>0]=a[e+310+(Ja*34|0)+12>>0]|0;a[e+85>>0]=a[e+310+(Ja*34|0)+13>>0]|0;a[e+86>>0]=a[e+310+(Ja*34|0)+14>>0]|0;a[e+87>>0]=a[e+310+(Ja*34|0)+15>>0]|0;a[e+88>>0]=a[e+310+(Ja*34|0)+16>>0]|0;a[e+89>>0]=a[e+310+(Ja*34|0)+17>>0]|0;a[e+90>>0]=a[e+310+(Ja*34|0)+18>>0]|0;a[e+91>>0]=a[e+310+(Ja*34|0)+19>>0]|0;a[e+92>>0]=a[e+310+(Ja*34|0)+20>>0]|0;a[e+93>>0]=a[e+310+(Ja*34|0)+21>>0]|0;a[e+94>>0]=a[e+310+(Ja*34|0)+22>>0]|0;a[e+95>>0]=a[e+310+(Ja*34|0)+23>>0]|0;a[e+96>>0]=a[e+310+(Ja*34|0)+24>>0]|0;a[e+97>>0]=a[e+310+(Ja*34|0)+25>>0]|0;a[e+98>>0]=a[e+310+(Ja*34|0)+26>>0]|0;a[e+99>>0]=a[e+310+(Ja*34|0)+27>>0]|0;a[e+100>>0]=a[e+310+(Ja*34|0)+28>>0]|0;a[e+101>>0]=a[e+310+(Ja*34|0)+29>>0]|0;a[e+102>>0]=a[e+310+(Ja*34|0)+30>>0]|0;a[e+103>>0]=a[e+310+(Ja*34|0)+31>>0]|0;a[e+104>>0]=a[e+310+(Ja*34|0)+32>>0]|0;a[e+105>>0]=a[e+310+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[j>>0]=a[e+480+(Ja*17|0)>>0]|0;a[k>>0]=a[e+565+(Ja*17|0)>>0]|0;a[e+107>>0]=a[e+480+(Ja*17|0)+1>>0]|0;a[e+124>>0]=a[e+565+(Ja*17|0)+1>>0]|0;a[e+108>>0]=a[e+480+(Ja*17|0)+2>>0]|0;a[e+125>>0]=a[e+565+(Ja*17|0)+2>>0]|0;a[e+109>>0]=a[e+480+(Ja*17|0)+3>>0]|0;a[e+126>>0]=a[e+565+(Ja*17|0)+3>>0]|0;a[e+110>>0]=a[e+480+(Ja*17|0)+4>>0]|0;a[e+127>>0]=a[e+565+(Ja*17|0)+4>>0]|0;a[e+111>>0]=a[e+480+(Ja*17|0)+5>>0]|0;a[e+128>>0]=a[e+565+(Ja*17|0)+5>>0]|0;a[e+112>>0]=a[e+480+(Ja*17|0)+6>>0]|0;a[e+129>>0]=a[e+565+(Ja*17|0)+6>>0]|0;a[e+113>>0]=a[e+480+(Ja*17|0)+7>>0]|0;a[e+130>>0]=a[e+565+(Ja*17|0)+7>>0]|0;a[e+114>>0]=a[e+480+(Ja*17|0)+8>>0]|0;a[e+131>>0]=a[e+565+(Ja*17|0)+8>>0]|0;a[e+115>>0]=a[e+480+(Ja*17|0)+9>>0]|0;a[e+132>>0]=a[e+565+(Ja*17|0)+9>>0]|0;a[e+116>>0]=a[e+480+(Ja*17|0)+10>>0]|0;a[e+133>>0]=a[e+565+(Ja*17|0)+10>>0]|0;a[e+117>>0]=a[e+480+(Ja*17|0)+11>>0]|0;a[e+134>>0]=a[e+565+(Ja*17|0)+11>>0]|0;a[e+118>>0]=a[e+480+(Ja*17|0)+12>>0]|0;a[e+135>>0]=a[e+565+(Ja*17|0)+12>>0]|0;a[e+119>>0]=a[e+480+(Ja*17|0)+13>>0]|0;a[e+136>>0]=a[e+565+(Ja*17|0)+13>>0]|0;a[e+120>>0]=a[e+480+(Ja*17|0)+14>>0]|0;a[e+137>>0]=a[e+565+(Ja*17|0)+14>>0]|0;a[e+121>>0]=a[e+480+(Ja*17|0)+15>>0]|0;a[e+138>>0]=a[e+565+(Ja*17|0)+15>>0]|0;a[e+122>>0]=a[e+480+(Ja*17|0)+16>>0]|0;a[e+139>>0]=a[e+565+(Ja*17|0)+16>>0]|0;a[P>>0]=0;Ja=(a[e+8>>0]|0)==0;Ca=e+10|0;a[Ca>>0]=0;k=a[Ka>>0]|0;m=k&255;if(!Ja){q=e+725|0;if((d[e+10+m>>0]|0)<(d[q>>0]|0)){j=m+-1|0;k=0;do{a[e+140+(m*34|0)+k>>0]=a[e+140+(j*34|0)+k>>0]|0;a[e+310+(m*34|0)+k>>0]=a[e+310+(j*34|0)+k>>0]|0;k=k+1|0}while((k|0)!=34);j=a[Ka>>0]|0;Ja=j&255;Ia=Ja+-1|0;a[e+480+(Ja*17|0)>>0]=a[e+480+(Ia*17|0)>>0]|0;a[e+565+(Ja*17|0)>>0]=a[e+565+(Ia*17|0)>>0]|0;a[e+480+(Ja*17|0)+1>>0]=a[e+480+(Ia*17|0)+1>>0]|0;a[e+565+(Ja*17|0)+1>>0]=a[e+565+(Ia*17|0)+1>>0]|0;a[e+480+(Ja*17|0)+2>>0]=a[e+480+(Ia*17|0)+2>>0]|0;a[e+565+(Ja*17|0)+2>>0]=a[e+565+(Ia*17|0)+2>>0]|0;a[e+480+(Ja*17|0)+3>>0]=a[e+480+(Ia*17|0)+3>>0]|0;a[e+565+(Ja*17|0)+3>>0]=a[e+565+(Ia*17|0)+3>>0]|0;a[e+480+(Ja*17|0)+4>>0]=a[e+480+(Ia*17|0)+4>>0]|0;a[e+565+(Ja*17|0)+4>>0]=a[e+565+(Ia*17|0)+4>>0]|0;a[e+480+(Ja*17|0)+5>>0]=a[e+480+(Ia*17|0)+5>>0]|0;a[e+565+(Ja*17|0)+5>>0]=a[e+565+(Ia*17|0)+5>>0]|0;a[e+480+(Ja*17|0)+6>>0]=a[e+480+(Ia*17|0)+6>>0]|0;a[e+565+(Ja*17|0)+6>>0]=a[e+565+(Ia*17|0)+6>>0]|0;a[e+480+(Ja*17|0)+7>>0]=a[e+480+(Ia*17|0)+7>>0]|0;a[e+565+(Ja*17|0)+7>>0]=a[e+565+(Ia*17|0)+7>>0]|0;a[e+480+(Ja*17|0)+8>>0]=a[e+480+(Ia*17|0)+8>>0]|0;a[e+565+(Ja*17|0)+8>>0]=a[e+565+(Ia*17|0)+8>>0]|0;a[e+480+(Ja*17|0)+9>>0]=a[e+480+(Ia*17|0)+9>>0]|0;a[e+565+(Ja*17|0)+9>>0]=a[e+565+(Ia*17|0)+9>>0]|0;a[e+480+(Ja*17|0)+10>>0]=a[e+480+(Ia*17|0)+10>>0]|0;a[e+565+(Ja*17|0)+10>>0]=a[e+565+(Ia*17|0)+10>>0]|0;a[e+480+(Ja*17|0)+11>>0]=a[e+480+(Ia*17|0)+11>>0]|0;a[e+565+(Ja*17|0)+11>>0]=a[e+565+(Ia*17|0)+11>>0]|0;a[e+480+(Ja*17|0)+12>>0]=a[e+480+(Ia*17|0)+12>>0]|0;a[e+565+(Ja*17|0)+12>>0]=a[e+565+(Ia*17|0)+12>>0]|0;a[e+480+(Ja*17|0)+13>>0]=a[e+480+(Ia*17|0)+13>>0]|0;a[e+565+(Ja*17|0)+13>>0]=a[e+565+(Ia*17|0)+13>>0]|0;a[e+480+(Ja*17|0)+14>>0]=a[e+480+(Ia*17|0)+14>>0]|0;a[e+565+(Ja*17|0)+14>>0]=a[e+565+(Ia*17|0)+14>>0]|0;a[e+480+(Ja*17|0)+15>>0]=a[e+480+(Ia*17|0)+15>>0]|0;a[e+565+(Ja*17|0)+15>>0]=a[e+565+(Ia*17|0)+15>>0]|0;a[e+480+(Ja*17|0)+16>>0]=a[e+480+(Ia*17|0)+16>>0]|0;a[e+565+(Ja*17|0)+16>>0]=a[e+565+(Ia*17|0)+16>>0]|0;j=j+1<<24>>24;a[Ka>>0]=j;a[(j&255)+(e+10)>>0]=a[q>>0]|0}else j=k;if((j&255)>1){l=j&255;n=1;do{j=n-l+(d[q>>0]|0)|0;m=e+10+n|0;k=d[m>>0]|0;if((j<<24>>24|0)>=(k|0)){j=(d[n+-1+(e+10)>>0]|0)+1|0;if((j<<24>>24|0)>(k|0))ea=45}else ea=45;if((ea|0)==45){ea=0;a[m>>0]=j}n=n+1|0}while((n|0)!=(l|0))}}else{l=e+725|0;j=a[l>>0]|0;if((k&255)>1?(a[e+11>>0]=(j&255)/(k&255)|0,k<<24>>24!=2):0){k=2;do{a[e+10+k>>0]=((w(k,j&255)|0)>>>0)/(m>>>0)|0;k=k+1|0;j=a[l>>0]|0}while(k>>>0<m>>>0)}a[e+10+m>>0]=j}Ja=e+724|0;j=a[Ja>>0]|0;do if(!(j<<24>>24)){t=3;s=20;q=10;n=22;m=105756;l=121287;k=e+732|0;j=0}else{k=a[Ka>>0]|0;if(k<<24>>24){m=e+4|0;n=e+27|0;l=a[e+3>>0]|0;k=k&255;b:do if(l<<24>>24==2){j=0;while(1){switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}else{j=0;while(1){switch(l<<24>>24){case 5:case 2:break;default:{Ia=e+140+(j*34|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+140+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;fl(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}while(0);j=a[Ja>>0]|0;k=e+732|0;if(!(j<<24>>24)){t=3;s=20;q=10;n=22;m=105756;l=121287;j=0;break}}else k=e+732|0;t=5;s=34;q=32;n=50;m=105656;l=121236}while(0);c[k>>2]=l;Ia=e+736|0;c[Ia>>2]=m;Ha=e+726|0;a[Ha>>0]=n;Ga=e+727|0;a[Ga>>0]=q;fa=e+728|0;a[fa>>0]=s;Ba=e+730|0;a[Ba>>0]=t;Fa=e+720|0;z=c[Fa>>2]|0;A=a[e+725>>0]|0;P=j<<24>>24!=0;B=P?z+4|0:z+1|0;C=P?5:3;H=z+12|0;I=z+16|0;J=z+20|0;P=P?94208:94236;_=P+24|0;$=P+20|0;aa=P+16|0;ba=P+4|0;ca=P+12|0;da=P+8|0;t=0;x=0;s=0;while(1){n=c[H>>2]|0;l=c[(c[I>>2]|0)+(s<<2)>>2]|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));l=a[z>>0]|0;q=c[H>>2]|0;if(!(l<<24>>24))l=0;else{m=l&255;n=0;do{va=n+6|0;Aa=n+12|0;c[q+(Aa<<3)>>2]=c[g+(va<<9)+(s<<3)>>2];c[q+(Aa<<3)+4>>2]=c[g+(va<<9)+(s<<3)+4>>2];n=n+1|0}while((n|0)!=(m|0))}n=c[(c[I>>2]|0)+(s<<2)>>2]|0;l=q+((l&255)<<3)|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));v=B+s|0;l=a[v>>0]|0;Aa=(l&255)+-2|0;switch(Aa>>>1|Aa<<31|0){case 0:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ja=l+12|0;T=(+f[n+(l<<3)>>2]+ +f[n+(ja<<3)>>2])*0.0;Aa=l;l=l+1|0;ka=Aa+11|0;U=(+f[n+(l<<3)>>2]+ +f[n+(ka<<3)>>2])*.018994875252246857;la=Aa+2|0;ma=Aa+10|0;V=(+f[n+(la<<3)>>2]+ +f[n+(ma<<3)>>2])*0.0;pa=Aa+3|0;qa=Aa+9|0;W=(+f[n+(pa<<3)>>2]+ +f[n+(qa<<3)>>2])*-.07293139398097992;ra=Aa+4|0;sa=Aa+8|0;X=(+f[n+(ra<<3)>>2]+ +f[n+(sa<<3)>>2])*0.0;ta=Aa+5|0;ua=Aa+7|0;Y=(+f[n+(ta<<3)>>2]+ +f[n+(ua<<3)>>2])*.305966317653656;va=Aa+6|0;S=+f[n+(va<<3)>>2]*.5;na=(+f[n+(Aa<<3)+4>>2]+ +f[n+(ja<<3)+4>>2])*0.0;oa=(+f[n+(l<<3)+4>>2]+ +f[n+(ka<<3)+4>>2])*.018994875252246857;wa=(+f[n+(la<<3)+4>>2]+ +f[n+(ma<<3)+4>>2])*0.0;xa=(+f[n+(pa<<3)+4>>2]+ +f[n+(qa<<3)+4>>2])*-.07293139398097992;ya=(+f[n+(ra<<3)+4>>2]+ +f[n+(sa<<3)+4>>2])*0.0;za=(+f[n+(ta<<3)+4>>2]+ +f[n+(ua<<3)+4>>2])*.305966317653656;Z=+f[n+(va<<3)+4>>2]*.5;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=S+(T+U+V+W+X+Y);f[Aa+4>>2]=Z+(na+oa+wa+xa+ya+za);f[Aa+8>>2]=S+(T-U+V-W+X-Y);f[Aa+12>>2]=Z+(na-oa+wa-xa+ya-za)}while((l|0)!=(m|0));ea=83}break}case 1:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ua=l+2|0;va=l+10|0;ta=l+6|0;X=+f[n+(ta<<3)>>2]*.25-(+f[n+(ua<<3)>>2]+ +f[n+(va<<3)>>2])*0.0;Aa=l;l=l+1|0;O=+f[n+(l<<3)>>2];ja=Aa+11|0;Q=+f[n+(ja<<3)>>2];ka=Aa+3|0;R=+f[n+(ka<<3)>>2];la=Aa+9|0;S=+f[n+(la<<3)>>2];ma=Aa+5|0;za=+f[n+(ma<<3)>>2];pa=Aa+7|0;xa=+f[n+(pa<<3)>>2];Y=((R+S)*.07778724282979965-(O+Q)*.04871498420834541-(za+xa)*.23279856145381927)*-.7071067690849304;qa=Aa+12|0;ra=Aa+4|0;sa=Aa+8|0;na=(+f[n+(Aa<<3)+4>>2]-+f[n+(qa<<3)+4>>2])*-.059082113206386566-(+f[n+(ra<<3)+4>>2]-+f[n+(sa<<3)+4>>2])*.16486303508281708;V=+f[n+(l<<3)+4>>2];W=+f[n+(ja<<3)+4>>2];T=+f[n+(ka<<3)+4>>2];U=+f[n+(la<<3)+4>>2];Z=+f[n+(ma<<3)+4>>2];wa=+f[n+(pa<<3)+4>>2];oa=((V-W)*-.04871498420834541-(T-U)*.07778724282979965-(Z-wa)*.23279856145381927)*.7071067690849304;ya=(+f[n+(Aa<<3)>>2]-+f[n+(qa<<3)>>2])*-.059082113206386566-(+f[n+(ra<<3)>>2]-+f[n+(sa<<3)>>2])*.16486303508281708;xa=((O-Q)*-.04871498420834541-(R-S)*.07778724282979965-(za-xa)*.23279856145381927)*.7071067690849304;za=+f[n+(ta<<3)+4>>2]*.25-(+f[n+(ua<<3)+4>>2]+ +f[n+(va<<3)+4>>2])*0.0;wa=((T+U)*.07778724282979965-(V+W)*.04871498420834541-(Z+wa)*.23279856145381927)*-.7071067690849304;Z=X+Y;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=Z+na+oa;f[Aa+4>>2]=wa+(-ya-xa+za);Y=X-Y;f[Aa+8>>2]=Y-na+oa;f[Aa+12>>2]=ya-xa+za-wa;f[Aa+16>>2]=Y+na-oa;f[Aa+20>>2]=xa-ya+za-wa;f[Aa+24>>2]=Z-na-oa;f[Aa+28>>2]=wa+(xa+ya+za)}while((l|0)!=(m|0));ea=83}break}case 3:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;o=+f[_>>2];p=+f[$>>2];y=+f[P>>2];D=+f[aa>>2];E=+f[ba>>2];F=+f[ca>>2];G=+f[da>>2];l=0;do{Ua=l+6|0;ya=o*+f[n+(Ua<<3)>>2];Ta=l+5|0;ja=n+(Ta<<3)|0;Sa=l+7|0;ia=n+(Sa<<3)|0;xa=p*(+f[ja>>2]+ +f[ia>>2]);la=n+(l<<3)|0;Oa=l+12|0;ka=n+(Oa<<3)|0;Ra=l+4|0;pa=n+(Ra<<3)|0;Qa=l+8|0;ma=n+(Qa<<3)|0;na=D*(+f[pa>>2]+ +f[ma>>2])-y*(+f[la>>2]+ +f[ka>>2]);Aa=l;l=l+1|0;ra=n+(l<<3)|0;ha=Aa+11|0;qa=n+(ha<<3)|0;s=Aa+3|0;ta=n+(s<<3)|0;u=Aa+9|0;sa=n+(u<<3)|0;za=F*(+f[ta>>2]+ +f[sa>>2])-E*(+f[ra>>2]+ +f[qa>>2]);Sa=n+(Sa<<3)+4|0;Ta=n+(Ta<<3)+4|0;oa=p*(+f[Sa>>2]-+f[Ta>>2]);Oa=n+(Oa<<3)+4|0;Pa=n+(Aa<<3)+4|0;Qa=n+(Qa<<3)+4|0;Ra=n+(Ra<<3)+4|0;Y=y*(+f[Oa>>2]-+f[Pa>>2])+D*(+f[Qa>>2]-+f[Ra>>2]);ha=n+(ha<<3)+4|0;ea=n+(l<<3)+4|0;u=n+(u<<3)+4|0;s=n+(s<<3)+4|0;wa=E*(+f[ha>>2]-+f[ea>>2])+F*(+f[u>>2]-+f[s>>2]);ua=Aa+10|0;va=Aa+2|0;Z=G*(+f[n+(ua<<3)+4>>2]-+f[n+(va<<3)+4>>2]);V=ya-Z;U=xa-wa;W=za-oa;T=(na-Y)*.7071067690849304;X=V-T;V=T+V;T=(W+U)*-.9238795042037964;U=U*1.3065630197525024+T;T=W*-.5411961078643799-T;Aa=q+(Aa<<2)|0;Va=c[Aa>>2]|0;f[Va+56>>2]=V+T;f[Va+40>>2]=X-U;f[Va+24>>2]=V-T;f[Va+8>>2]=X+U;Z=ya+Z;wa=xa+wa;oa=za+oa;Y=(na+Y)*.7071067690849304;na=Z-Y;Z=Y+Z;Y=(oa+wa)*-.9238795042037964;wa=wa*1.3065630197525024+Y;Y=oa*-.5411961078643799-Y;f[Va+48>>2]=na+wa;f[Va+32>>2]=Z-Y;f[Va+16>>2]=na-wa;f[Va>>2]=Z+Y;Y=o*+f[n+(Ua<<3)+4>>2];Z=p*(+f[Ta>>2]+ +f[Sa>>2]);wa=D*(+f[Ra>>2]+ +f[Qa>>2])-y*(+f[Pa>>2]+ +f[Oa>>2]);na=F*(+f[s>>2]+ +f[u>>2])-E*(+f[ea>>2]+ +f[ha>>2]);oa=p*(+f[ia>>2]-+f[ja>>2]);za=y*(+f[ka>>2]-+f[la>>2])+D*(+f[ma>>2]-+f[pa>>2]);xa=E*(+f[qa>>2]-+f[ra>>2])+F*(+f[sa>>2]-+f[ta>>2]);ya=G*(+f[n+(ua<<3)>>2]-+f[n+(va<<3)>>2]);U=Y+ya;X=Z+xa;T=na+oa;V=(wa+za)*.7071067690849304;W=U-V;U=V+U;V=(T+X)*-.9238795042037964;X=X*1.3065630197525024+V;V=T*-.5411961078643799-V;Aa=c[Aa>>2]|0;f[Aa+60>>2]=U+V;f[Aa+44>>2]=W-X;f[Aa+28>>2]=U-V;f[Aa+12>>2]=W+X;ya=Y-ya;xa=Z-xa;oa=na-oa;za=(wa-za)*.7071067690849304;wa=ya-za;ya=za+ya;za=(oa+xa)*-.9238795042037964;xa=xa*1.3065630197525024+za;za=oa*-.5411961078643799-za;f[Aa+52>>2]=wa+xa;f[Aa+36>>2]=ya-za;f[Aa+20>>2]=wa-xa;f[Aa+4>>2]=ya+za}while((l|0)!=(m|0));ea=83}break}case 5:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{Ua=l+6|0;N=+f[n+(Ua<<3)>>2]*.0833333358168602;Va=l+12|0;V=+f[n+(Ua<<3)+4>>2]*.0833333358168602;p=(+f[n+(l<<3)>>2]-+f[n+(Va<<3)>>2])*.040811799466609955;X=(+f[n+(l<<3)+4>>2]-+f[n+(Va<<3)+4>>2])*.040811799466609955;Va=l;l=l+1|0;y=+f[n+(l<<3)>>2];Ua=Va+11|0;Wa=+f[n+(Ua<<3)>>2];W=(y+Wa)*.03812811151146889;S=+f[n+(l<<3)+4>>2];Ya=+f[n+(Ua<<3)+4>>2];_a=(S+Ya)*.03812811151146889;Wa=(y-Wa)*.03812811151146889;Ya=(S-Ya)*.03812811151146889;Ua=Va+2|0;S=+f[n+(Ua<<3)>>2];Ta=Va+10|0;y=+f[n+(Ta<<3)>>2];wa=(S+y)*.05144908279180527;R=+f[n+(Ua<<3)+4>>2];G=+f[n+(Ta<<3)+4>>2];ya=(R+G)*.05144908279180527;Ta=Va+3|0;o=+f[n+(Ta<<3)>>2];Ua=Va+9|0;D=+f[n+(Ua<<3)>>2];Xa=+f[n+(Ta<<3)+4>>2];O=+f[n+(Ua<<3)+4>>2];Ua=Va+4|0;Q=+f[n+(Ua<<3)>>2];Ta=Va+8|0;Za=+f[n+(Ta<<3)>>2];T=+f[n+(Ua<<3)+4>>2];F=+f[n+(Ta<<3)+4>>2];za=(Q-Za)*.07428313791751862;xa=(T-F)*.07428313791751862;Ta=Va+5|0;K=+f[n+(Ta<<3)>>2];Ua=Va+7|0;na=+f[n+(Ua<<3)>>2];Y=(K+na)*.08100347965955734;M=+f[n+(Ta<<3)+4>>2];Z=+f[n+(Ua<<3)+4>>2];oa=(M+Z)*.08100347965955734;na=(K-na)*.08100347965955734;Z=(M-Z)*.08100347965955734;M=(o+D)*.06399831175804138*.7071067690849304;K=N+M;M=N-M;N=(Y-W)*.7071067690849304;Za=wa*.5+(Q+Za)*.07428313791751862*.8660253882408142;Q=Za-wa;Y=W*.258819043636322+Y*.9659258127212524;W=Y-N;L=Za+(K+Y);E=M+N-wa;U=M+W-Q;Q=K-W-Q;wa=K-N-wa;Y=Za+(M-Y);M=(Xa+O)*.06399831175804138*.7071067690849304;Za=V+M;M=V-M;V=(oa-_a)*.7071067690849304;F=ya*.5+(T+F)*.07428313791751862*.8660253882408142;T=F-ya;oa=_a*.258819043636322+oa*.9659258127212524;_a=oa-V;N=F+(Za+oa);K=M+V-ya;W=M+_a-T;T=Za-_a-T;ya=Za-V-ya;oa=F+(M-oa);O=(Xa-O)*.06399831175804138*.7071067690849304;Xa=X+O;O=X-O;X=(Ya-Z)*.7071067690849304;G=(R-G)*.05144908279180527*.8660253882408142+xa*.5;R=G-xa;Z=Ya*.9659258127212524+Z*.258819043636322;Ya=Z-X;M=G+(Xa+Z);F=O+X-xa;V=O+Ya-R;R=Xa-Ya-R;xa=Xa-X-xa;Z=G+(O-Z);D=(o-D)*.06399831175804138*.7071067690849304;o=p+D;D=p-D;p=(Wa-na)*.7071067690849304;y=(S-y)*.05144908279180527*.8660253882408142+za*.5;S=y-za;na=Wa*.9659258127212524+na*.258819043636322;Wa=na-p;O=y+(o+na);G=D+p-za;X=D+Wa-S;S=o-Wa-S;za=o-p-za;na=y+(D-na);Va=c[q+(Va<<2)>>2]|0;f[Va>>2]=L-M;f[Va+4>>2]=O+N;f[Va+8>>2]=E+F;f[Va+12>>2]=K-G;f[Va+80>>2]=E-F;f[Va+84>>2]=G+K;f[Va+88>>2]=L+M;f[Va+92>>2]=N-O;f[Va+16>>2]=U-V;f[Va+20>>2]=X+W;f[Va+24>>2]=Q+R;f[Va+28>>2]=T-S;f[Va+64>>2]=Q-R;f[Va+68>>2]=S+T;f[Va+72>>2]=U+V;f[Va+76>>2]=W-X;f[Va+32>>2]=wa-xa;f[Va+36>>2]=za+ya;f[Va+40>>2]=Y+Z;f[Va+44>>2]=oa-na;f[Va+48>>2]=Y-Z;f[Va+52>>2]=na+oa;f[Va+56>>2]=wa+xa;f[Va+60>>2]=ya-za}while((l|0)!=(m|0));ea=83}break}default:ea=83}do if((ea|0)==83){ea=0;l=a[z>>0]|0;if(!(l<<24>>24)){l=a[v>>0]|0;ea=85;break}m=t&255;t=a[v>>0]|0;u=l&255;n=t;l=t;t=0;do{if(!(n<<24>>24))n=0;else{q=c[(c[J>>2]|0)+(t<<2)>>2]|0;s=a[v>>0]|0;n=0;l=0;while(1){Va=l+m|0;c[La+(t<<8)+(Va<<3)>>2]=c[q+(l<<3)>>2];c[La+(t<<8)+(Va<<3)+4>>2]=c[q+(l<<3)+4>>2];l=n+1<<24>>24;if((l&255)<(s&255)){n=l;l=l&255}else{l=s;n=s;break}}}t=t+1|0}while((t|0)!=(u|0))}while(0);if((ea|0)==85)m=t&255;x=x+1<<24>>24;s=x&255;if(C>>>0<=s>>>0)break;else t=m+(l&255)&255}if(j<<24>>24==0&A<<24>>24!=0){l=A&255;j=0;do{Va=La+(j<<8)+32|0;Ua=La+(j<<8)+24|0;f[Ua>>2]=+f[Va>>2]+ +f[Ua>>2];Ua=La+(j<<8)+36|0;Ta=La+(j<<8)+28|0;f[Ta>>2]=+f[Ua>>2]+ +f[Ta>>2];f[Va>>2]=0.0;f[Ua>>2]=0.0;Ua=La+(j<<8)+40|0;Va=La+(j<<8)+16|0;f[Va>>2]=+f[Ua>>2]+ +f[Va>>2];Va=La+(j<<8)+44|0;Ta=La+(j<<8)+20|0;f[Ta>>2]=+f[Va>>2]+ +f[Ta>>2];f[Ua>>2]=0.0;f[Va>>2]=0.0;j=j+1|0}while((j|0)!=(l|0))}fl(Ea|0,0,4352)|0;Aa=(a[Ja>>0]|0)==0;fl(ga|0,0,4352)|0;Aa=Aa?94264:94360;z=a[Ha>>0]|0;H=z<<24>>24==0;if(!H){v=c[Ia>>2]|0;x=c[k>>2]|0;A=d[Ga>>0]|0;B=z&255;C=0;do{m=C>>>0<A>>>0;if(m){l=a[x+C>>0]|0;j=l;l=(l&255)+1|0}else{j=a[x+C>>0]|0;l=d[x+(C+1)>>0]|0}n=j&255;u=l&255;c:do if(u>>>0>n>>>0){Va=a[Ca>>0]|0;s=Va&255;l=a[(d[Ka>>0]|0)+(e+10)>>0]|0;t=b[v+(C<<1)>>1]&255;if((Va&255)>=(l&255))while(1){j=j+1<<24>>24;if(u>>>0<=(j&255)>>>0)break c}q=l&255;if(m){l=n;do{m=s;do{Za=+f[La+(m<<8)+(l<<3)>>2];_a=+f[La+(m<<8)+(l<<3)+4>>2];Va=ga+(m*136|0)+(t<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(u>>>0>l>>>0)}else{l=n;do{m=s;do{Za=+f[g+(m<<9)+(l<<3)>>2];_a=+f[g+(m<<9)+(l<<3)+4>>2];Va=ga+(m*136|0)+(t<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(u>>>0>l>>>0)}}while(0);C=C+1|0}while((C|0)!=(B|0))}j=a[fa>>0]|0;if(j<<24>>24){A=e+20076|0;B=e+20080|0;x=a[Ca>>0]|0;v=(d[Ka>>0]|0)+(e+10)|0;C=x&255;u=j&255;j=a[v>>0]|0;t=0;do{if((x&255)<(j&255)){n=e+20084+(t<<2)|0;q=e+20356+(t<<2)|0;s=e+20220+(t<<2)|0;y=+f[A>>2];m=x;o=+f[n>>2];j=C;while(1){o=y*o;f[n>>2]=o;p=+f[ga+(j*136|0)+(t<<2)>>2];if(o<p){f[n>>2]=p;o=p}_a=+f[q>>2];Ya=+f[B>>2];_a=_a+Ya*(o-p-_a);f[q>>2]=_a;Za=+f[s>>2];Za=Za+Ya*(p-Za);f[s>>2]=Za;_a=_a*1.5;f[Ea+(j*136|0)+(t<<2)>>2]=!(_a<=Za)?Za/_a:1.0;l=m+1<<24>>24;j=a[v>>0]|0;if((l&255)<(j&255)){m=l;j=l&255}else break}}t=t+1|0}while((t|0)!=(u|0))}va=e+740|0;if(H){t=0;s=0;q=e+742|0;n=0;m=e+743|0;l=0;j=e+741|0}else{ra=e+729|0;j=e+741|0;sa=e+744|0;ta=e+745|0;ua=e+746|0;q=e+742|0;m=e+743|0;t=0;qa=0;s=0;n=0;l=0;pa=0;while(1){x=a[Ga>>0]|0;u=c[k>>2]|0;if((qa&255)<(x&255)){u=a[u+pa>>0]|0;v=(u&255)+1&255}else{v=a[u+(pa+1)>>0]|0;u=a[u+pa>>0]|0}if((u&255)<(v&255)){ma=v&255;u=u&255;while(1){if((qa&255)>=(x&255)?(Da=d[Ba>>0]|0,u>>>0>Da>>>0):0){Va=Da-u<<24;o=(Va|0)<-318767104?0.0:+(Va>>24|0)*.05000000074505806+1.0}else o=1.0;K=o*.6514390707015991;L=o*.5647181272506714;G=o*.4895416498184204;t=a[va>>0]|0;s=a[j>>0]|0;n=a[q>>0]|0;l=a[m>>0]|0;v=a[Ca>>0]|0;d:do if((v&255)<(d[(d[Ka>>0]|0)+(e+10)>>0]|0)){J=Aa+(u<<3)|0;P=94616+(u*24|0)|0;_=94904+(u*24|0)|0;$=95672+(u*24|0)|0;aa=97208+(u<<3)|0;ba=e+811+u|0;ca=e+747+u|0;da=94616+(u*24|0)|0;ea=94904+(u*24|0)|0;fa=94616+(u*24|0)+8|0;ga=94904+(u*24|0)+8|0;ha=94616+(u*24|0)+16|0;ia=94904+(u*24|0)+16|0;ja=95672+(u*24|0)+16|0;ka=95672+(u*24|0)+8|0;la=95672+(u*24|0)|0;I=v;H=v&255;while(1){x=(qa&255)<(x&255);z=x?La+(H<<8)+(u<<3)|0:g+(H<<9)+(u<<3)|0;v=c[z>>2]|0;z=c[z+4>>2]|0;if(x|u>>>0<=(d[ra>>0]|0)>>>0){Va=t&255;C=x?e+8044+(Va<<8)+(u<<3)+4|0:e+876+(Va<<9)+(u<<3)+4|0;Va=x?e+8044+(Va<<8)+(u<<3)|0:e+876+(Va<<9)+(u<<3)|0;B=x?J:aa;_a=+f[Va>>2];Ya=+f[C>>2];c[Va>>2]=v;c[C>>2]=z;Za=+f[B>>2];p=+f[B+4>>2];o=_a*Za+Ya*p;p=Ya*Za-_a*p;B=(qa&255)<(d[Ga>>0]|0);C=s&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?da:ea;z=e+16236+(C<<8)+(u<<3)|0;A=e+16236+(C<<8)+(u<<3)+4|0}else{v=$;x=la;z=e+8556+(C<<9)+(u<<3)|0;A=e+8556+(C<<9)+(u<<3)+4|0}_a=+f[z>>2];Ya=+f[A>>2];Za=+f[x>>2];E=+f[v+4>>2];y=_a*Za+Ya*E-K*o;E=Ya*Za-_a*E-K*p;o=o+K*y;if(B){f[e+16236+(C<<8)+(u<<3)>>2]=o;v=e+16236+(C<<8)+(u<<3)|0}else{f[e+8556+(C<<9)+(u<<3)>>2]=o;v=e+8556+(C<<9)+(u<<3)|0}f[v+4>>2]=p+K*E;B=(qa&255)<(d[Ga>>0]|0);C=n&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?fa:ga;z=e+17516+(C<<8)+(u<<3)|0;A=e+17516+(C<<8)+(u<<3)+4|0}else{v=$;x=ka;z=e+11116+(C<<9)+(u<<3)|0;A=e+11116+(C<<9)+(u<<3)+4|0}o=+f[z>>2];Za=+f[A>>2];_a=+f[x>>2];F=+f[v+12>>2];D=o*_a+Za*F-L*y;F=Za*_a-o*F-L*E;o=y+L*D;if(B){f[e+17516+(C<<8)+(u<<3)>>2]=o;v=e+17516+(C<<8)+(u<<3)|0}else{f[e+11116+(C<<9)+(u<<3)>>2]=o;v=e+11116+(C<<9)+(u<<3)|0}f[v+4>>2]=E+L*F;B=(qa&255)<(d[Ga>>0]|0);C=l&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?ha:ia;z=e+18796+(C<<8)+(u<<3)|0;A=e+18796+(C<<8)+(u<<3)+4|0}else{v=$;x=ja;z=e+13676+(C<<9)+(u<<3)|0;A=e+13676+(C<<9)+(u<<3)+4|0}y=+f[z>>2];Za=+f[A>>2];_a=+f[x>>2];o=+f[v+20>>2];p=y*_a+Za*o-G*D;o=Za*_a-y*o-G*F;y=D+G*p;if(B){f[e+18796+(C<<8)+(u<<3)>>2]=y;v=e+18796+(C<<8)+(u<<3)|0}else{f[e+13676+(C<<9)+(u<<3)>>2]=y;v=e+13676+(C<<9)+(u<<3)|0}f[v+4>>2]=F+G*o}else{Ua=d[ba>>0]|0;p=+f[e+876+(Ua<<9)+(u<<3)>>2];Va=e+876+(Ua<<9)+(u<<3)+4|0;o=+f[Va>>2];c[e+876+(Ua<<9)+(u<<3)>>2]=v;c[Va>>2]=z}_a=+f[Ea+(H*136|0)+((b[(c[Ia>>2]|0)+(pa<<1)>>1]&255)<<2)>>2];Va=(qa&255)<(d[Ga>>0]|0);Ua=Va?Ma+(H<<8)+(u<<3)|0:i+(H<<9)+(u<<3)|0;f[Ua>>2]=p*_a;f[Ua+4>>2]=o*_a;t=t+1<<24>>24;t=(t&255)>1?0:t;if(!(Va|u>>>0<=(d[ra>>0]|0)>>>0)){Va=(a[ba>>0]|0)+1<<24>>24;a[ba>>0]=(Va&255)<(d[ca>>0]|0)?Va:0}s=s+1<<24>>24;s=(s&255)<(d[sa>>0]|0)?s:0;n=n+1<<24>>24;n=(n&255)<(d[ta>>0]|0)?n:0;l=l+1<<24>>24;l=(l&255)<(d[ua>>0]|0)?l:0;v=I+1<<24>>24;if((v&255)>=(d[(d[Ka>>0]|0)+(e+10)>>0]|0))break d;I=v;x=a[Ga>>0]|0;H=v&255}}while(0);u=u+1|0;if((u|0)==(ma|0))break;x=a[Ga>>0]|0}v=a[Ha>>0]|0}else v=z;u=qa+1<<24>>24;if((u&255)<(v&255)){qa=u;pa=u&255;z=v}else break}}a[va>>0]=t;a[j>>0]=s;a[q>>0]=n;a[m>>0]=l;ja=e+3|0;j=(d[ja>>0]|0)>2;ia=j?97720:97844;switch(a[e+27>>0]|0){case 3:case 0:{l=11;break}default:l=a[e+6>>0]|0}if(a[Ha>>0]|0){ka=e+4|0;fa=j?15:7;ga=e+26|0;ha=e+22092|0;ea=l&255;da=c[k>>2]|0;ca=0;O=0.0;N=0.0;M=0.0;L=0.0;K=0.0;G=0.0;F=0.0;E=0.0;D=0.0;y=0.0;p=0.0;o=0.0;J=0;while(1){if((ca&255)<(d[Ga>>0]|0))j=(d[da+J>>0]|0)+1|0;else j=d[da+(J+1)>>0]|0;if(a[Ka>>0]|0){P=b[(c[Ia>>2]|0)+(J<<1)>>1]&255;_=e+20492+(J<<3)|0;$=e+20892+(J<<3)|0;aa=e+21292+(J<<3)|0;ba=e+21692+(J<<3)|0;x=j&255;z=P>>>0<ea>>>0;A=e+20492+(J<<3)+4|0;B=e+20892+(J<<3)+4|0;C=e+21292+(J<<3)+4|0;H=e+21692+(J<<3)+4|0;I=da+J|0;v=0;na=O;s=0;while(1){if((d[ka>>0]|0)<3){j=a[e+140+(s*34|0)+P>>0]|0;k=j<<24>>24;S=+f[ia+(fa+k<<2)>>2];T=+f[ia+(fa-k<<2)>>2];l=a[e+310+(s*34|0)+P>>0]|0;Q=+f[97904+(l<<2)>>2];R=+f[97936+(l<<2)>>2];j=j<<24>>24<0;do if((d[ja>>0]|0)>2)if(j){j=0-k|0;O=-+f[98480+(j<<5)+(l<<2)>>2];j=97968+(j<<5)+(l<<2)|0;break}else{O=+f[98480+(k<<5)+(l<<2)>>2];j=97968+(k<<5)+(l<<2)|0;break}else if(j){j=0-k|0;O=-+f[99248+(j<<5)+(l<<2)>>2];j=98992+(j<<5)+(l<<2)|0;break}else{O=+f[99248+(k<<5)+(l<<2)>>2];j=98992+(k<<5)+(l<<2)|0;break}while(0);V=+f[j>>2];Za=Q*V;_a=R*O;W=Q*O;V=R*V;U=S*(W-V);V=T*(W+V);W=S*(_a+Za);T=T*(Za-_a)}else{j=a[e+140+(s*34|0)+P>>0]|0;n=j<<24>>24;j=j<<24>>24>-1?n:0-n|0;n=fa+n|0;q=a[e+310+(s*34|0)+P>>0]|0;if((d[ja>>0]|0)>2){l=j&255;k=101008+(l<<5)+(q<<2)|0;l=100496+(l<<5)+(q<<2)|0;m=99504+(n<<5)+(q<<2)|0;j=99504+(30-n<<5)+(q<<2)|0}else{l=j&255;k=102256+(l<<5)+(q<<2)|0;l=102e3+(l<<5)+(q<<2)|0;m=101520+(n<<5)+(q<<2)|0;j=101520+(14-n<<5)+(q<<2)|0}V=+f[k>>2];_a=+f[l>>2];T=+f[m>>2];W=+f[j>>2];U=V*W*1.4142135381698608;V=V*T*-1.4142135381698608;W=_a*W*1.4142135381698608;T=_a*T*1.4142135381698608}j=a[ga>>0]|0;if(j<<24>>24)if(z){Va=a[ha>>0]|0;Qa=Va<<24>>24;Sa=e+22096+(P<<4)+(Qa<<3)|0;y=+f[Sa>>2]*.25;Pa=e+22096+(P<<4)+(Qa<<3)+4|0;D=+f[Pa>>2]*.25;Ua=e+22416+(P<<4)+(Qa<<3)|0;O=+f[Ua>>2]*.25;Qa=e+22416+(P<<4)+(Qa<<3)+4|0;Q=+f[Qa>>2]*.25;Oa=e+480+(s*17|0)+P|0;Ta=a[Oa>>0]|0;Ra=Ta<<24>>24;Ra=c[102512+((Ta<<24>>24>-1?Ra:0-Ra|0)<<2)>>2]|0;c[Sa>>2]=Ra;Oa=a[Oa>>0]|0;Sa=Oa<<24>>24;Sa=c[102548+((Oa<<24>>24>-1?Sa:0-Sa|0)<<2)>>2]|0;c[Pa>>2]=Sa;Pa=e+565+(s*17|0)+P|0;Oa=a[Pa>>0]|0;Ta=Oa<<24>>24;Ta=c[102512+((Oa<<24>>24>-1?Ta:0-Ta|0)<<2)>>2]|0;c[Ua>>2]=Ta;Pa=a[Pa>>0]|0;Ua=Pa<<24>>24;Ua=c[102548+((Pa<<24>>24>-1?Ua:0-Ua|0)<<2)>>2]|0;c[Qa>>2]=Ua;y=y+(c[h>>2]=Ra,+f[h>>2]);D=D+(c[h>>2]=Sa,+f[h>>2]);O=O+(c[h>>2]=Ta,+f[h>>2]);Va=Va<<24>>24==0?1:Va+-1<<24>>24<<24>>24;y=y+ +f[e+22096+(P<<4)+(Va<<3)>>2]*.5;D=D+ +f[e+22096+(P<<4)+(Va<<3)+4>>2]*.5;O=O+ +f[e+22416+(P<<4)+(Va<<3)>>2]*.5;Q=Q+(c[h>>2]=Ua,+f[h>>2])+ +f[e+22416+(P<<4)+(Va<<3)+4>>2]*.5;o=+r(+(O*O+Q*Q));p=+r(+(y*y+D*D));if(o!=0.0){S=Q/o;R=O/o}else{S=0.0;R=0.0}o=o*p;if(o!=0.0){p=(y*O+D*Q)/o;o=(y*Q-D*O)/o}else{p=0.0;o=0.0}Y=U*p;Z=V*R;X=W*p;Q=T*R;D=U*o;y=V*S;p=W*o;o=T*S;j=a[ga>>0]|0}else{Y=U;Z=V;X=W;Q=T}else{Y=U;Z=V;X=W;Q=T;j=0}u=s+1+(e+10)|0;k=e+10+s|0;O=+((d[u>>0]|0)-(d[k>>0]|0)|0);U=+f[_>>2];wa=(Q-U)/O;T=+f[$>>2];xa=(X-T)/O;S=+f[aa>>2];ya=(Z-S)/O;R=+f[ba>>2];za=(Y-R)/O;f[_>>2]=Q;f[$>>2]=X;f[aa>>2]=Z;f[ba>>2]=Y;t=j<<24>>24==0;if(!t?z:0){E=+f[A>>2];L=(o-E)/O;F=+f[B>>2];M=(p-F)/O;G=+f[C>>2];N=(y-G)/O;K=+f[H>>2];O=(D-K)/O;if(b[(c[Ia>>2]|0)+(J<<1)>>1]&4096){O=-O;N=-N;M=-M;L=-L;K=-K;G=-G;F=-F;E=-E}f[A>>2]=o;f[B>>2]=p;f[C>>2]=y;f[H>>2]=D}else O=na;j=a[k>>0]|0;if((j&255)<(d[u>>0]|0)){s=j;oa=R;na=S;Z=T;Y=U;q=j&255;while(1){Y=wa+Y;Z=xa+Z;na=ya+na;oa=za+oa;if(!t){K=z?O+K:K;G=z?N+G:G;F=z?M+F:F;E=z?L+E:E}j=a[I>>0]|0;k=j&255;e:do if(x>>>0>k>>>0)if((ca&255)<(d[Ga>>0]|0)){if(t)while(1){Sa=La+(q<<8)+(k<<3)|0;Ta=La+(q<<8)+(k<<3)+4|0;Ua=Ma+(q<<8)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=Ma+(q<<8)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(x>>>0<=k>>>0)break e}do{m=La+(q<<8)+(k<<3)|0;n=La+(q<<8)+(k<<3)+4|0;l=Ma+(q<<8)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=Ma+(q<<8)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(z){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(x>>>0>k>>>0)}else{if(t)while(1){Sa=g+(q<<9)+(k<<3)|0;Ta=g+(q<<9)+(k<<3)+4|0;Ua=i+(q<<9)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=i+(q<<9)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(x>>>0<=k>>>0)break e}do{m=g+(q<<9)+(k<<3)|0;n=g+(q<<9)+(k<<3)+4|0;l=i+(q<<9)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=i+(q<<9)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(z){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(x>>>0>k>>>0)}while(0);j=s+1<<24>>24;if((j&255)>=(d[u>>0]|0))break;else{s=j;q=j&255}}}j=(a[ha>>0]|0)+1<<24>>24;a[ha>>0]=j<<24>>24==2?0:j;j=v+1<<24>>24;if((j&255)<(d[Ka>>0]|0)){v=j;na=O;s=j&255}else break}}j=ca+1<<24>>24;if((j&255)<(d[Ha>>0]|0)){ca=j;J=j&255}else break}}v=c[Fa>>2]|0;z=(a[Ja>>0]|0)!=0;x=z?v+4|0:v+1|0;z=z?5:3;v=a[v>>0]|0;A=v&255;k=0;t=0;j=v;u=0;while(1){s=x+u|0;if(!(j<<24>>24)){l=k&255;k=a[s>>0]|0;j=0}else{l=k&255;q=0;do{m=g+(q<<9)+(u<<3)|0;f[m>>2]=0.0;n=g+(q<<9)+(u<<3)+4|0;f[n>>2]=0.0;if(!(a[s>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[La+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[La+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[s>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}t=t+1<<24>>24;u=t&255;if(z>>>0<=u>>>0){k=0;t=0;j=v;u=0;break}else k=l+(k&255)&255}while(1){s=x+u|0;if(!(j<<24>>24)){l=k&255;k=a[s>>0]|0;j=0}else{l=k&255;q=0;do{m=i+(q<<9)+(u<<3)|0;f[m>>2]=0.0;n=i+(q<<9)+(u<<3)+4|0;f[n>>2]=0.0;if(!(a[s>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[Ma+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[Ma+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[s>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}t=t+1<<24>>24;u=t&255;if(z>>>0<=u>>>0)break;else k=l+(k&255)&255}Vb=Na;return 0}function Fi(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;a:do if(b<<24>>24==1){if(!(f<<24>>24)){f=a[c>>0]|0;a[c>>0]=f<<24>>24<i<<24>>24?i:f<<24>>24>j<<24>>24?j:f;f=g&255;if((g&255)>1){b=1;k=1}else break;while(1){e=c+k|0;l=(d[e>>0]|0)+(d[c+(k+-1)>>0]|0)&255;a[e>>0]=l<<24>>24<i<<24>>24?i:l<<24>>24>j<<24>>24?j:l;b=b+1<<24>>24;k=b<<24>>24;if((k|0)>=(f|0))break a}}f=g&255;if(g<<24>>24){k=h&255;b=0;l=0;do{n=d[e+(w(l,k)|0)>>0]|0;m=c+l|0;n=(d[m>>0]|0)+n&255;a[m>>0]=n<<24>>24<i<<24>>24?i:n<<24>>24>j<<24>>24?j:n;b=b+1<<24>>24;l=b<<24>>24}while((l|0)<(f|0))}}else{k=g&255;if(g<<24>>24){b=0;f=0;do{a[c+f>>0]=0;b=b+1<<24>>24;f=b<<24>>24}while((f|0)<(k|0))}}while(0);if(h<<24>>24!=2)return;f=((g&255)<<1)+255|0;b=f&255;if(b<<24>>24<=0)return;f=f<<24>>24;while(1){a[c+f>>0]=a[c+(f>>1)>>0]|0;f=b+-1<<24>>24;if(f<<24>>24>0){b=f;f=f<<24>>24}else break}return}function Gi(){Hi(0);return}function Hi(a){a=a|0;la(1168,121310);aa(1184,121315,1,1,0);ha(1192,121320,1,-128,127);ha(1208,121325,1,-128,127);ha(1200,121337,1,0,255);ha(1216,121351,2,-32768,32767);ha(1224,121357,2,0,65535);ha(1232,121372,4,-2147483648,2147483647);ha(1240,121376,4,0,-1);ha(1248,121389,4,-2147483648,2147483647);ha(1256,121394,4,0,-1);ga(1264,121408,4);ga(1272,121414,8);ja(552,121421);ja(736,121433);ka(760,4,121466);fa(576,121479);ia(784,0,121495);ia(792,0,121525);ia(800,1,121562);ia(808,2,121601);ia(816,3,121632);ia(824,4,121672);ia(832,5,121701);ia(840,4,121739);ia(848,5,121769);ia(792,0,121808);ia(800,1,121840);ia(808,2,121873);ia(816,3,121906);ia(824,4,121940);ia(832,5,121973);ia(856,6,122007);ia(864,7,122038);ia(872,7,122070);return}function Ii(a){a=a|0;return wj(c[a+4>>2]|0)|0}function Ji(a){a=a|0;var b=0,d=0;b=Vb;Vb=Vb+16|0;d=b;c[d>>2]=Oi(c[a+60>>2]|0)|0;a=Mi(_(6,d|0)|0)|0;Vb=b;return a|0}function Ki(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=Vb;Vb=Vb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Mi(Z(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Mi(Z(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Vb=m;return d|0}function Li(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Vb;Vb=Vb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Mi(Y(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}z(a|0);Vb=g;return b|0}function Mi(a){a=a|0;if(a>>>0>4294963200){c[(Ni()|0)>>2]=0-a;a=-1}return a|0}function Ni(){return 123504}function Oi(a){a=a|0;return a|0}function Pi(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 Qi(a){a=a|0;return (a+-48|0)>>>0<10|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;return Ui(a,b,c,1,17)|0}function Si(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Vb;Vb=Vb+560|0;l=H+32|0;u=H+536|0;G=H;F=G;m=H+540|0;c[u>>2]=0;E=m+12|0;kj(e)|0;j=A()|0;if((j|0)<0){e=-e;kj(e)|0;D=1;C=122622;j=A()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?122623:122628):122625}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;dj(b,32,f,j,h&-65537);Yi(b,C,D);Yi(b,e!=e|0.0!=0.0?(G?122649:122653):G?122641:122645,3);dj(b,32,f,j,h^8192)}else{q=+lj(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=bj(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[528+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;dj(b,32,f,E,h);Yi(b,r,p);dj(b,48,f,E,h^65536);F=m-F|0;Yi(b,G,F);G=k-l|0;dj(b,48,j-(F+G)|0,0,0);Yi(b,n,G);dj(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{y=~~e>>>0;c[l>>2]=y;l=l+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=cl(c[j>>2]|0,0,n|0)|0;s=Yk(s|0,A()|0,m|0,0)|0;v=A()|0;m=al(s|0,v|0,1e9,0)|0;x=Xk(m|0,A()|0,1e9,0)|0;x=Zk(s|0,v|0,x|0,A()|0)|0;A()|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=o>>>0);if(m){x=o+-4|0;c[x>>2]=m;m=x}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{x=c[j>>2]|0;c[j>>2]=(x>>>r)+p;p=w(x&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(y-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;x=(k|0)!=0;m=k-((t|0)==102?0:j)+((x&v)<<31>>31)|0;if((m|0)<(((l-y>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=B+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(w(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(D){u=(a[C>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(y-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(z=c[u+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((z>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-y>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=bj(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=D+1+k+p+j|0;dj(b,32,f,j,h);Yi(b,C,D);dj(b,48,f,j,h^65536);if(r){p=n>>>0>B>>>0?B:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=bj(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){fl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Yi(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(s^1)))Yi(b,122657,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=bj(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){fl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Yi(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}dj(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-F|0;r=G+8|0;o=n;do{l=bj(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Yi(b,l,1);if(s&(k|0)<1){l=m;break}Yi(b,122657,1);l=m}else{if(l>>>0<=G>>>0)break;fl(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=t-l|0;Yi(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}dj(b,48,k+18|0,18,0);Yi(b,v,E-v|0)}dj(b,32,f,j,h^8192)}while(0);Vb=H;return ((j|0)<(f|0)?f:j)|0}function Ti(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Ui(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=Vb;Vb=Vb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Vi(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Wi(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Vi(b,d,p,r,q,f,g)|0;if(j){$b[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Vi(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Xi(b);e=(h&32|0)==0?e:-1}Vb=t;return e|0}function Vi(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Vb;Vb=Vb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=B+40|0;z=y;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(Ni()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Yi(d,r,l)}while((l|0)!=0);v=(Qi(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((Qi(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Zi(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Zi(G)|0;m=c[G>>2]|0;break}if(Qi(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}_i(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=aj(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=122605;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Zk(0,0,m|0,n|0)|0;n=A()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=122605;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?122605:122607):122606;w=72;break e}}case 117:{n=I;o=0;p=122605;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=122605;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?122615:s;t=cj(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=122605;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;w=79;break}case 83:{if(!l){dj(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Zb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=122605;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=$i(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?122605:122605+(m>>>4)|0;w=73}else if((w|0)==72){q=bj(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=ej(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}dj(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=ej(E,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Yi(d,E,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;dj(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;dj(d,32,l,K,m);Yi(d,p,o);dj(d,48,l,K,m^65536);dj(d,48,s,t,0);Yi(d,r,t);dj(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;_i(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Vb=J;return e|0}function Wi(a){a=a|0;return 1}function Xi(a){a=a|0;return}function Yi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))ij(b,d,a)|0;return}function Zi(b){b=b|0;var d=0,e=0;if(!(Qi(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Qi(a[e>>0]|0)|0)!=0)}return d|0}function _i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{dc[e&31](a,d);break a}default:break a}while(0);while(0);return}function $i(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=bl(b|0,c|0,4)|0;c=A()|0}while(!((b|0)==0&(c|0)==0));return e|0}function aj(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=bl(b|0,c|0,3)|0;c=A()|0}while(!((b|0)==0&(c|0)==0));return d|0}function bj(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=al(b|0,c|0,10,0)|0;f=c;c=A()|0;g=Xk(b|0,c|0,10,0)|0;g=Zk(e|0,f|0,g|0,A()|0)|0;A()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function cj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=w(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function dj(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=Vb;Vb=Vb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;fl(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Yi(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Yi(a,f,e)}Vb=g;return}function ej(a,b){a=a|0;b=b|0;if(!a)a=0;else a=fj(a,b,0)|0;return a|0}function fj(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(gj()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(Ni()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Ni()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function gj(){return hj()|0}function hj(){return 102588}function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(jj(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=$b[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=$b[c[e+36>>2]&7](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);dl(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function jj(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function kj(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;z(c[h+4>>2]|0);return b|0}function lj(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=bl(d|0,e|0,52)|0;A()|0;switch(f&2047){case 0:{if(a!=0.0){a=+lj(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 mj(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;m=Vb;Vb=Vb+208|0;j=m;k=m+192|0;h=w(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)nj(a,d,e,f,j);else pj(a,d,e,k,f,0,j);if((f|0)==1){qj(k,1);f=0;break}else{qj(k,b);f=1;break}}else{nj(a,d,e,f,j);oj(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}pj(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{qj(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;oj(k,1);pj(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);qj(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;pj(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=rj(k)|0;oj(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);Vb=m;return}function nj(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=Vb;Vb=Vb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((_b[d&3](h,a)|0)>-1?(_b[d&3](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((_b[d&3](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);tj(b,l,e);Vb=m;return}function oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function pj(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;o=Vb;Vb=Vb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(_b[d&3](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((_b[d&3](g,j)|0)>-1){i=10;break a}if((_b[d&3](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=rj(m)|0;oj(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((_b[d&3](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){tj(b,n,e);nj(a,b,d,f,h)}Vb=o;return}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function rj(a){a=a|0;var b=0;b=sj((c[a>>2]|0)+-1|0)|0;if(!b){b=sj(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function sj(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Vb;Vb=Vb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;dl(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;dl(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);Vb=h;return}function uj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function vj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Vb;Vb=Vb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(jj(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if(($b[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Vb=l;return f|0}function wj(a){a=a|0;var b=0,c=0;b=(uj(a)|0)+1|0;c=yj(b)|0;if(!c)a=0;else a=dl(c|0,a|0,b|0)|0;return a|0}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Wi(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=vj(d,b)|0;Xi(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=vj(d,b)|0}while(0);return e|0}function yj(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=Vb;Vb=Vb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[30877]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=123548+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[30877]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Vb=w;return v|0}l=c[30879]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=123548+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[30877]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[30882]|0;b=l>>>3;d=123548+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[30877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[30879]=h;c[30882]=f;v=i;Vb=w;return v|0}g=c[30878]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[123812+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=123812+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[30878]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[30882]|0;b=l>>>3;d=123548+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[30877]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[30879]=j;c[30882]=h}v=i+8|0;Vb=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[30878]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[123812+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[123812+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[30879]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=123812+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[30878]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=123548+(b<<1<<2)|0;a=c[30877]|0;b=1<<b;if(!(a&b)){c[30877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=123812+(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[30878]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Vb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[30879]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[30882]|0;if(b>>>0>15){v=a+m|0;c[30882]=v;c[30879]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[30879]=0;c[30882]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Vb=w;return v|0}h=c[30880]|0;if(h>>>0>m>>>0){t=h-m|0;c[30880]=t;v=c[30883]|0;u=v+m|0;c[30883]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Vb=w;return v|0}if(!(c[30995]|0)){c[30997]=4096;c[30996]=4096;c[30998]=-1;c[30999]=-1;c[31e3]=0;c[30988]=0;c[30995]=n&-16^1431655768;a=4096}else a=c[30997]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Vb=w;return v|0}a=c[30987]|0;if(a|0?(l=c[30985]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Vb=w;return v|0}d:do if(!(c[30988]&4)){d=c[30883]|0;e:do if(d){e=123956;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=gl(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=gl(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[30996]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[30985]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[30987]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=gl(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[30997]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((gl(a|0)|0)==(-1|0)){gl(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[30988]=c[30988]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=gl(k|0)|0,p=gl(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[30985]|0)+h|0;c[30985]=b;if(b>>>0>(c[30986]|0)>>>0)c[30986]=b;j=c[30883]|0;f:do if(j){b=123956;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[30880]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[30883]=u;c[30880]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[30884]=c[30999];break}if(g>>>0<(c[30881]|0)>>>0)c[30881]=g;d=g+h|0;b=123956;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[30880]|0)+i|0;c[30880]=v;c[30883]=k;c[k+4>>2]=v|1}else{if((c[30882]|0)==(b|0)){v=(c[30879]|0)+i|0;c[30879]=v;c[30882]=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[30877]=c[30877]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=123812+(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[30878]=c[30878]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=123548+(b<<1<<2)|0;a=c[30877]|0;b=1<<b;if(!(a&b)){c[30877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=123812+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[30878]|0;d=1<<e;if(!(a&d)){c[30878]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Vb=w;return v|0}b=123956;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[30883]=u;c[30880]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[30884]=c[30999];d=a+4|0;c[d>>2]=27;c[b>>2]=c[30989];c[b+4>>2]=c[30990];c[b+8>>2]=c[30991];c[b+12>>2]=c[30992];c[30989]=g;c[30990]=h;c[30992]=0;c[30991]=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=123548+(b<<1<<2)|0;a=c[30877]|0;b=1<<b;if(!(a&b)){c[30877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=123812+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[30878]|0;a=1<<e;if(!(b&a)){c[30878]=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[30881]|0;if((v|0)==0|g>>>0<v>>>0)c[30881]=g;c[30989]=g;c[30990]=h;c[30992]=0;c[30886]=c[30995];c[30885]=-1;c[30890]=123548;c[30889]=123548;c[30892]=123556;c[30891]=123556;c[30894]=123564;c[30893]=123564;c[30896]=123572;c[30895]=123572;c[30898]=123580;c[30897]=123580;c[30900]=123588;c[30899]=123588;c[30902]=123596;c[30901]=123596;c[30904]=123604;c[30903]=123604;c[30906]=123612;c[30905]=123612;c[30908]=123620;c[30907]=123620;c[30910]=123628;c[30909]=123628;c[30912]=123636;c[30911]=123636;c[30914]=123644;c[30913]=123644;c[30916]=123652;c[30915]=123652;c[30918]=123660;c[30917]=123660;c[30920]=123668;c[30919]=123668;c[30922]=123676;c[30921]=123676;c[30924]=123684;c[30923]=123684;c[30926]=123692;c[30925]=123692;c[30928]=123700;c[30927]=123700;c[30930]=123708;c[30929]=123708;c[30932]=123716;c[30931]=123716;c[30934]=123724;c[30933]=123724;c[30936]=123732;c[30935]=123732;c[30938]=123740;c[30937]=123740;c[30940]=123748;c[30939]=123748;c[30942]=123756;c[30941]=123756;c[30944]=123764;c[30943]=123764;c[30946]=123772;c[30945]=123772;c[30948]=123780;c[30947]=123780;c[30950]=123788;c[30949]=123788;c[30952]=123796;c[30951]=123796;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[30883]=u;c[30880]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[30884]=c[30999]}while(0);b=c[30880]|0;if(b>>>0>m>>>0){t=b-m|0;c[30880]=t;v=c[30883]|0;u=v+m|0;c[30883]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Vb=w;return v|0}}c[(Ni()|0)>>2]=12;v=0;Vb=w;return v|0} |
| | | function ug(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0;s=a&65535;k=j<<24>>24==1;t=b&65535;j=b<<16>>16!=0;if(a<<16>>16==1)if(k){if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;x=+f[c+(s<<3)>>2];h=s+3|0;y=+f[c+(h<<3)>>2];B=x+y;F=+f[c+(s<<3)+4>>2];D=+f[c+(h<<3)+4>>2];A=F+D;h=s+1|0;v=+f[c+(h<<3)>>2];i=s+2|0;z=+f[c+(i<<3)>>2];G=v+z;u=+f[c+(h<<3)+4>>2];C=+f[c+(i<<3)+4>>2];E=u+C;z=v-z;C=u-C;y=x-y;D=F-D;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=G+(B+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=E+(A+ +f[s>>2]);F=+f[i>>2];x=B*.30901700258255005+F-G*.80901700258255;u=+f[s>>2];v=A*.30901700258255005+u-E*.80901700258255;B=G*.30901700258255005+(F-B*.80901700258255);A=E*.30901700258255005+(u-A*.80901700258255);u=y*.9510565400123596+z*.5877852439880371;z=y*.5877852439880371-z*.9510565400123596;y=D*.9510565400123596+C*.5877852439880371;C=D*.5877852439880371-C*.9510565400123596;s=a+t|0;f[d+(s<<3)>>2]=x-y;f[d+(s<<3)+4>>2]=u+v;s=a+j|0;f[d+(s<<3)>>2]=B-C;f[d+(s<<3)+4>>2]=z+A;s=a+b|0;f[d+(s<<3)>>2]=C+B;f[d+(s<<3)+4>>2]=A-z;s=a+k|0;f[d+(s<<3)>>2]=y+x;f[d+(s<<3)+4>>2]=v-u;a=a+1|0}while((a|0)!=(t|0));return}else{if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;D=+f[c+(s<<3)>>2];h=s+3|0;A=+f[c+(h<<3)>>2];z=D+A;v=+f[c+(s<<3)+4>>2];y=+f[c+(h<<3)+4>>2];C=v+y;h=s+1|0;G=+f[c+(h<<3)>>2];i=s+2|0;F=+f[c+(i<<3)>>2];u=G+F;B=+f[c+(h<<3)+4>>2];E=+f[c+(i<<3)+4>>2];x=B+E;F=G-F;E=B-E;A=D-A;y=v-y;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=u+(z+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=x+(C+ +f[s>>2]);v=+f[i>>2];D=z*.30901700258255005+v-u*.80901700258255;B=+f[s>>2];G=C*.30901700258255005+B-x*.80901700258255;z=u*.30901700258255005+(v-z*.80901700258255);C=x*.30901700258255005+(B-C*.80901700258255);B=A*.5877852439880371+F*.9510565400123596;F=A*.9510565400123596-F*.5877852439880371;A=y*.5877852439880371+E*.9510565400123596;E=y*.9510565400123596-E*.5877852439880371;s=a+t|0;f[d+(s<<3)>>2]=E+D;f[d+(s<<3)+4>>2]=G-F;s=a+j|0;f[d+(s<<3)>>2]=A+z;f[d+(s<<3)+4>>2]=C-B;s=a+b|0;f[d+(s<<3)>>2]=z-A;f[d+(s<<3)+4>>2]=B+C;s=a+k|0;f[d+(s<<3)>>2]=D-E;f[d+(s<<3)+4>>2]=F+G;a=a+1|0}while((a|0)!=(t|0));return}if(k){if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=w(t,s)|0;l=w(k,t)|0;m=w(b,t)|0;n=w(s<<2,t)|0;r=0;do{if(!j){o=w((r*5|0)+1|0,s)|0;p=w(r,s)|0;q=0;do{I=q+o&65535;u=+f[c+(I<<3)>>2];H=I+b|0;y=+f[c+(H<<3)>>2];C=u+y;B=+f[c+(I<<3)+4>>2];A=+f[c+(H<<3)+4>>2];x=B+A;H=I+s|0;v=+f[c+(H<<3)>>2];J=I+k|0;G=+f[c+(J<<3)>>2];D=v+G;F=+f[c+(H<<3)+4>>2];z=+f[c+(J<<3)+4>>2];E=F+z;G=v-G;z=F-z;y=u-y;A=B-A;I=I-s|0;J=c+(I<<3)|0;H=q+p&65535;f[d+(H<<3)>>2]=D+(C+ +f[J>>2]);I=c+(I<<3)+4|0;f[d+(H<<3)+4>>2]=E+(x+ +f[I>>2]);B=+f[J>>2];u=C*.30901700258255005+B-D*.80901700258255;F=+f[I>>2];v=x*.30901700258255005+F-E*.80901700258255;C=D*.30901700258255005+(B-C*.80901700258255);x=E*.30901700258255005+(F-x*.80901700258255);F=y*.9510565400123596+G*.5877852439880371;G=y*.5877852439880371-G*.9510565400123596;y=A*.9510565400123596+z*.5877852439880371;z=A*.5877852439880371-z*.9510565400123596;A=F+v;E=G+x;B=z+C;D=y+u;y=u-y;F=v-F;z=C-z;G=x-G;I=H+a|0;x=+f[e+(q<<3)>>2];C=+f[e+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=y*C+x*A;f[d+(I<<3)>>2]=x*y-C*A;I=H+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=E*A+z*C;f[d+(I<<3)>>2]=z*A-E*C;I=H+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=G*C+B*E;f[d+(I<<3)>>2]=B*C-G*E;H=H+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(H<<3)+4>>2]=F*E+D*G;f[d+(H<<3)>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}else{if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=w(t,s)|0;l=w(k,t)|0;m=w(b,t)|0;n=w(s<<2,t)|0;r=0;do{if(!j){o=w((r*5|0)+1|0,s)|0;p=w(r,s)|0;q=0;do{I=q+o&65535;C=+f[c+(I<<3)>>2];J=I+b|0;A=+f[c+(J<<3)>>2];E=C+A;G=+f[c+(I<<3)+4>>2];y=+f[c+(J<<3)+4>>2];B=G+y;J=I+s|0;D=+f[c+(J<<3)>>2];H=I+k|0;v=+f[c+(H<<3)>>2];F=D+v;x=+f[c+(J<<3)+4>>2];u=+f[c+(H<<3)+4>>2];z=x+u;v=D-v;u=x-u;A=C-A;y=G-y;I=I-s|0;H=c+(I<<3)|0;J=q+p&65535;f[d+(J<<3)>>2]=F+(E+ +f[H>>2]);I=c+(I<<3)+4|0;f[d+(J<<3)+4>>2]=z+(B+ +f[I>>2]);G=+f[H>>2];C=E*.30901700258255005+G-F*.80901700258255;x=+f[I>>2];D=B*.30901700258255005+x-z*.80901700258255;E=F*.30901700258255005+(G-E*.80901700258255);B=z*.30901700258255005+(x-B*.80901700258255);x=A*.5877852439880371+v*.9510565400123596;v=A*.9510565400123596-v*.5877852439880371;A=y*.5877852439880371+u*.9510565400123596;u=y*.9510565400123596-u*.5877852439880371;y=D-v;z=B-x;G=E-A;F=C-u;C=u+C;D=v+D;E=A+E;B=x+B;I=J+a|0;x=+f[e+(q<<3)>>2];A=+f[e+(q<<3)+4>>2];f[d+(I<<3)>>2]=x*C+A*y;f[d+(I<<3)+4>>2]=x*y-C*A;I=J+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)>>2]=E*A+z*C;f[d+(I<<3)+4>>2]=z*A-E*C;I=J+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)>>2]=G*C+B*E;f[d+(I<<3)+4>>2]=B*C-G*E;J=J+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(J<<3)>>2]=F*E+D*G;f[d+(J<<3)+4>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}}function vg(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=w(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))wg(k,q,d,v,g,h,i);else wg(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))xg(k,q,d,v,g);else xg(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))tg(k,q,d,v,g,h,1);else tg(k,q,v,d,g,h,1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))ug(k,q,d,v,g,h,i,j,1);else ug(k,q,v,d,g,h,i,j,1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(w(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function wg(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;x=+f[c+(h<<3)>>2];B=C+x;x=C-x;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];z=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];y=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=z+y;f[d+(h<<3)+4>>2]=z-y;h=i+s|0;f[d+(h<<3)>>2]=x+v;r=i+a|0;f[d+(r<<3)>>2]=x-v;f[d+(h<<3)+4>>2]=u+t;f[d+(r<<3)+4>>2]=u-t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=w(s,r)|0;k=w(a,s)|0;l=w(i,s)|0;p=0;do{if(!b){m=(w(q,p)|0)&65532;n=(w(p,r)|0)&65535;o=0;do{E=o+m|0;u=+f[c+(E<<3)>>2];D=E+a|0;A=+f[c+(D<<3)>>2];y=u+A;A=u-A;u=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=u+t;t=u-t;D=E+r|0;u=+f[c+(D<<3)>>2];E=E+i|0;B=+f[c+(E<<3)>>2];x=u+B;B=u-B;u=+f[c+(E<<3)+4>>2];z=+f[c+(D<<3)+4>>2];C=u+z;z=u-z;u=A+z;z=A-z;A=t+B;B=t-B;D=o+n|0;f[d+(D<<3)>>2]=y+x;x=y-x;f[d+(D<<3)+4>>2]=v+C;C=v-C;E=D+j|0;v=+f[e+(o<<3)>>2];y=+f[e+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=A*v+u*y;f[d+(E<<3)>>2]=u*v-A*y;E=D+k|0;y=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=C*y+x*A;f[d+(E<<3)>>2]=x*y-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)+4>>2]=B*A+z*C;f[d+(D<<3)>>2]=z*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function xg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=w(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(w(k,h)|0)&65534;g=(w(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];q=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];o=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)+4>>2]=o*p+q*n;f[d+(m<<3)>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function yg(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,v=0.0,x=0,y=0,z=0,A=0,B=0;x=og(40)|0;b[x>>1]=a;y=a&65535;z=y<<3;c[x+32>>2]=og(z)|0;z=og(z)|0;c[x+36>>2]=z;A=x+2|0;p=x+6|0;h=a;g=0;d=0;e=0;a:while(1){d=d+1<<16>>16;if((d&65535)<5)e=b[104364+((d&65535)+-1<<1)>>1]|0;else e=(e&65535)+2&65535;n=e&65535;if(e<<16>>16==2)j=h;else while(1){i=h;h=(h&65535)/(e&65535)|0;if((i&65535)-(w(h&65535,n)|0)&65535|0){h=i;continue a}g=g+1<<16>>16;b[A+((g&65535)+1<<1)>>1]=e;if(h<<16>>16==1)break a}while(1){h=j;j=(j&65535)>>>1;if((h&65535)-(w(j&65535,n)|0)&65535|0)continue a;i=g+1<<16>>16;h=i&65535;b[A+(h+1<<1)>>1]=2;if(g<<16>>16){if((i&65535)>=2){h=h+2|0;g=2;do{s=h-(g&65535)&65535;b[A+(s+1<<1)>>1]=b[A+(s<<1)>>1]|0;g=g+1<<16>>16}while((i&65535)>=(g&65535))}b[p>>1]=2}if(j<<16>>16==1){g=i;break a}else g=i}}b[A>>1]=a;b[x+4>>1]=g;v=6.2831854820251465/+(a&65535);if(!(g<<16>>16))return x|0;else{r=1;s=1;d=0}do{e=b[A+((r&65535)+1<<1)>>1]|0;p=s&65535;s=w(p,e&65535)|0;h=s&65535;a=(y>>>0)/(h>>>0)|0;q=e+-1<<16>>16;do if(q<<16>>16){i=(e&65535)>5;if(h>>>0>y>>>0){h=d&65535;e=z+(h<<3)|0;h=z+(h<<3)+4|0;if(i){c[e>>2]=1065353216;c[h>>2]=0;break}else{f[e>>2]=1.0;f[h>>2]=0.0;break}}if(i){j=0;n=0;do{i=d&65535;h=z+(i<<3)|0;f[h>>2]=1.0;i=z+(i<<3)+4|0;f[i>>2]=0.0;j=(j&65535)+p|0;o=v*+(j&65535|0);e=0;m=0.0;do{d=d+1<<16>>16;m=m+1.0;l=o*m;k=+t(+l);B=d&65535;f[z+(B<<3)>>2]=k;l=+u(+l);f[z+(B<<3)+4>>2]=l;e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);f[h>>2]=k;f[i>>2]=l;n=n+1<<16>>16}while((n&65535)<(q&65535))}else{h=0;i=0;do{e=d&65535;f[z+(e<<3)>>2]=1.0;f[z+(e<<3)+4>>2]=0.0;h=(h&65535)+p|0;l=v*+(h&65535|0);e=0;k=0.0;do{d=d+1<<16>>16;k=k+1.0;o=l*k;B=d&65535;f[z+(B<<3)>>2]=+t(+o);f[z+(B<<3)+4>>2]=+u(+o);e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);i=i+1<<16>>16}while((i&65535)<(q&65535))}}while(0);r=r+1<<16>>16}while((r&65535)<=(g&65535));return x|0}function zg(a){a=a|0;var b=0;b=c[a+32>>2]|0;if(b|0)Ag(b);b=c[a+36>>2]|0;if(!b){Ag(a);return}Ag(b);Ag(a);return}function Ag(a){a=a|0;zj(a);return}function Bg(a){a=a|0;if(a>>>0<=92016)if(a>>>0<=75131)if(a>>>0<=55425)if(a>>>0<=46008)if(a>>>0<=37565)if(a>>>0<=27712)if(a>>>0<=23003)if(a>>>0<=18782)if(a>>>0>13855)a=8;else return (a>>>0>11501?9:a>>>0>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function Cg(a){a=a|0;if((a&255)>=12){a=0;return a|0}a=c[5408+((a&255)<<2)>>2]|0;return a|0}function Dg(b){b=b|0;if((b&255)>=12){b=0;return b|0}b=a[117324+(b&255)>>0]|0;return b|0}function Eg(b,c,d){b=b|0;c=c|0;d=d|0;d=d<<24>>24!=0&1;return a[((c<<24>>24==3?d|2:d)&255)+(117336+((b&255)<<2))>>0]|0}function Fg(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 17:case 4:case 1:case 2:{a=0;break}case 3:{a=-1;break}default:a=-1}return a|0}function Gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=c[a>>2]|0;g=c[b>>2]|0;f=d[117400+(g>>>25&99)>>0]|0;e=(d[117400+(e&245)>>0]|0)<<31|e>>>1;c[a>>2]=e;a=g<<1|f;c[b>>2]=a;return e^a|0}function Hg(a){a=a|0;if((a&255)>33){a=0;return a|0}a=c[4936+((a&255)<<2)>>2]|0;return a|0}function Ig(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=og(2388)|0;if(!d){k=0;return k|0}fl(d|0,0,2384)|0;c[d+2384>>2]=109352;a[d+2264>>0]=1;a[d+2256>>0]=1;c[d+2260>>2]=44100;a[d+2265>>0]=0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+6>>0]=0;a[d+7>>0]=0;a[d+8>>0]=0;b[d+10>>1]=1024;c[d+16>>2]=0;c[d+124>>2]=0;c[d+1648>>2]=1;c[d+1652>>2]=1;e=d+128|0;f=d+328|0;g=d+584|0;h=d+1136|0;i=d+192|0;j=d+1392|0;k=0;do{a[e+k>>0]=0;c[f+(k<<2)>>2]=0;c[g+(k<<2)>>2]=0;c[h+(k<<2)>>2]=0;b[i+(k<<1)>>1]=0;c[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)!=64);fl(d+892|0,0,192)|0;c[d+324>>2]=Jg(1.0,1.0)|0;k=d;return k|0}function Jg(b,c){b=+b;c=+c;var d=0;d=og(192)|0;fl(d|0,0,184)|0;f[d+184>>2]=b;f[d+188>>2]=c;a[d+1>>0]=1;a[d+4>>0]=-1;a[d+22>>0]=1;a[d+39>>0]=0;return d|0}function Kg(a){a=a|0;return ((a|0)==0?0:a+2256|0)|0}function Lg(b,d){b=b|0;d=d|0;var e=0;if(!((b|0)!=0&(d|0)!=0)){b=0;return b|0}if((Fg(a[d>>0]|0)|0)<<24>>24<0){b=0;return b|0}a[b+2256>>0]=a[d>>0]|0;e=c[d+4>>2]|0;if(!e){b=0;return b|0}c[b+2260>>2]=e;e=a[d+8>>0]|0;if((e+-1&255)>4){b=0;return b|0}a[b+2264>>0]=e;e=a[d+9>>0]|0;if((e&255)>1){b=0;return b|0}a[b+2265>>0]=e;b=1;return b|0}function Mg(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;n=e+8|0;m=e+4|0;o=e+20|0;i=0;while(1){f=c[n>>2]|0;if(f>>>0<12){h=12-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>20}b[d>>1]=h;j=(a[o>>0]|0)==0;if((h&65535|0)==4095)break;do if(j)if(f>>>0>8){c[n>>2]=f+-8;break}else{lg(e,8);break}while(0);i=i+1<<16>>16;if((i&65535)>=768){f=5;l=125;break}}if((l|0)==125)return f|0;do if(j)if(f>>>0>12){f=f+-12|0;c[n>>2]=f;l=17;break}else{lg(e,12);f=c[n>>2]|0;l=15;break}else l=15;while(0);do if((l|0)==15){if(f|0){g=c[e>>2]|0;l=17;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){lg(e,1);i=c[n>>2]|0;l=21;break}else{h=d+2|0;a[h>>0]=f;f=0;l=24;break}}while(0);if((l|0)==17){i=f+-1|0;c[n>>2]=i;f=g>>>i&1;l=21}do if((l|0)==21){g=d+2|0;a[g>>0]=f;if(i>>>0<2){h=g;f=i;g=c[m>>2]|0;l=24;break}else{f=c[e>>2]|0;j=f<<32-i>>>30;k=g;g=f;f=i;break}}while(0);if((l|0)==24){j=2-f|0;l=c[e>>2]|0;j=((1<<f)+-1&l)<<j|g>>>(32-j|0);k=h;g=l}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;a[d+3>>0]=j;l=31;break}else{lg(e,2);f=c[n>>2]|0;l=29;break}else l=29;while(0);do if((l|0)==29){a[d+3>>0]=j;if(f|0){g=c[e>>2]|0;l=31;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){lg(e,1);g=c[n>>2]|0;l=35;break}else{a[d+4>>0]=f;f=0;l=38;break}}while(0);if((l|0)==31){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=35}do if((l|0)==35){a[d+4>>0]=f;if(g>>>0<2){f=g;g=c[m>>2]|0;l=38;break}else{h=c[e>>2]<<32-g>>>30;f=g;break}}while(0);if((l|0)==38){h=2-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;break}else{lg(e,2);f=c[n>>2]|0;break}while(0);a[d+5>>0]=h;if(f>>>0<4){h=4-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>28}do if(!(a[o>>0]|0))if(f>>>0>4){f=f+-4|0;c[n>>2]=f;a[d+6>>0]=h;l=52;break}else{lg(e,4);f=c[n>>2]|0;l=50;break}else l=50;while(0);do if((l|0)==50){a[d+6>>0]=h;if(f|0){g=c[e>>2]|0;l=52;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){lg(e,1);g=c[n>>2]|0;l=56;break}else{a[d+7>>0]=f;f=0;l=59;break}}while(0);if((l|0)==52){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=56}do if((l|0)==56){a[d+7>>0]=f;if(g>>>0<3){f=g;g=c[m>>2]|0;l=59;break}else{j=c[e>>2]|0;h=j<<32-g>>>29;f=g;g=j;break}}while(0);if((l|0)==59){h=3-f|0;l=c[e>>2]|0;h=((1<<f)+-1&l)<<h|g>>>(32-h|0);g=l}do if(!(a[o>>0]|0))if(f>>>0>3){f=f+-3|0;c[n>>2]=f;a[d+8>>0]=h;l=66;break}else{lg(e,3);f=c[n>>2]|0;l=64;break}else l=64;while(0);do if((l|0)==64){a[d+8>>0]=h;if(f|0){g=c[e>>2]|0;l=66;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){lg(e,1);g=c[n>>2]|0;l=70;break}else{a[d+9>>0]=f;f=g>>>31;break}}while(0);if((l|0)==66){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=70}do if((l|0)==70){a[d+9>>0]=f;if(g|0){f=g+-1|0;c[n>>2]=f;f=(c[e>>2]|0)>>>f&1;break}f=(c[m>>2]|0)>>>31;if(!(a[o>>0]|0))lg(e,1)}while(0);a[d+10>>0]=f;if((a[d+22>>0]|0)==1?(a[k>>0]|0)==0:0){g=c[n>>2]|0;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{lg(e,2);break}while(0);a[d+11>>0]=f}f=c[n>>2]|0;do if(!f){g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){lg(e,1);g=c[n>>2]|0;l=89;break}else{a[d+12>>0]=f;f=g>>>31;l=92;break}}else{g=f+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1;l=89}while(0);do if((l|0)==89){a[d+12>>0]=f;if(!g){g=c[m>>2]|0;f=g>>>31;if(a[o>>0]|0){l=92;break}lg(e,1);g=c[n>>2]|0}else{g=g+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1}a[d+13>>0]=f;if(g>>>0<13){f=g;g=c[m>>2]|0;l=97;break}else{h=c[e>>2]<<32-g>>>19;f=g;break}}while(0);if((l|0)==92){a[d+13>>0]=f;f=0;l=97}if((l|0)==97){h=13-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>13){g=f+-13|0;c[n>>2]=g;break}else{lg(e,13);g=c[n>>2]|0;break}else g=f;while(0);b[d+14>>1]=h;if(g>>>0<11){f=11-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>21;do if(!(a[o>>0]|0))if(g>>>0>11){g=g+-11|0;c[n>>2]=g;break}else{lg(e,11);g=c[n>>2]|0;break}while(0);b[d+16>>1]=f;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{lg(e,2);break}while(0);a[d+18>>0]=f;if(a[d+4>>0]|0){o=0;return o|0}g=c[n>>2]|0;if(g>>>0<16){f=16-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>16;do if(!(a[o>>0]|0))if(g>>>0>16){c[n>>2]=g+-16;break}else{lg(e,16);break}while(0);b[d+20>>1]=f;o=0;return o|0}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a&65535;d=(a&65535)>>>3;e=a&-2;h=og(36)|0;f=h;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+24>>2]=Og(d<<1&65535)|0;c[h+32>>2]=Og(b<<1&65535)|0;c[h+28>>2]=Og(e)|0;if(a<<16>>16==1024){a=27280;b=23312;d=22320;e=14384;f=13392;g=5456}else{a=29328;b=25360;d=22832;e=18480;f=13904;g=9552}c[h>>2]=g;c[h+8>>2]=f;c[h+4>>2]=e;c[h+12>>2]=d;c[h+16>>2]=b;c[h+20>>2]=a;return h|0}function Og(a){a=a|0;var d=0,e=0,f=0;e=og(12)|0;if(a&7)O(117656,117667,66,117674);b[e>>1]=a;switch(a<<16>>16){case 2048:{d=40048;f=9;break}case 256:{d=39536;f=9;break}case 1024:{d=37488;f=9;break}case 1920:{d=33648;f=9;break}case 240:{d=33168;f=9;break}case 960:{d=31248;f=9;break}default:{}}if((f|0)==9)c[e+8>>2]=d;c[e+4>>2]=yg((a&65535)>>>2)|0;return e|0}function Pg(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;u=b+176|0;t=e+8|0;fl(b|0,0,471)|0;f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;s=e+20|0;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{lg(e,4);f=c[t>>2]|0;break}while(0);a[b>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{lg(e,2);f=c[t>>2]|0;break}while(0);a[b+1>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{lg(e,4);f=c[t>>2]|0;break}while(0);a[b+2>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{lg(e,4);f=c[t>>2]|0;break}while(0);m=b+3|0;a[m>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{lg(e,4);f=c[t>>2]|0;break}while(0);n=b+4|0;a[n>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{lg(e,4);f=c[t>>2]|0;break}while(0);o=b+5|0;a[o>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{lg(e,2);f=c[t>>2]|0;break}while(0);p=b+6|0;a[p>>0]=g;if(f>>>0<3){g=3-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>29;do if(!(a[s>>0]|0))if(f>>>0>3){f=f+-3|0;c[t>>2]=f;break}else{lg(e,3);f=c[t>>2]|0;break}while(0);q=b+7|0;a[q>>0]=g;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;g=b+8|0;a[g>>0]=h;i=65;break}else{lg(e,4);f=c[t>>2]|0;i=64;break}else i=64;while(0);do if((i|0)==64){g=b+8|0;a[g>>0]=h;if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0){r=g;break}lg(e,1);r=g}else i=65}while(0);if((i|0)==65){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1;r=g}l=f&255;a[b+9>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{lg(e,4);break}while(0);a[b+10>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+11>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{lg(e,4);break}while(0);a[b+12>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+13>>0]=l;if(l<<24>>24==1){f=c[t>>2]|0;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;a[b+15>>0]=g;i=103;break}else{lg(e,2);f=c[t>>2]|0;i=102;break}else i=102;while(0);do if((i|0)==102){a[b+15>>0]=g;if(f|0){i=103;break}f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}while(0);if((i|0)==103){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+14>>0]=f}if(a[m>>0]|0){k=e+4|0;l=b+435|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+16+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{lg(e,4);break}while(0);a[b+32+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[m>>0]|0)){j=f;g=f&255}else break}}if(a[n>>0]|0){k=e+4|0;l=b+436|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+48+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{lg(e,4);break}while(0);a[b+64+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[n>>0]|0)){j=f;g=f&255}else break}}if(a[o>>0]|0){k=e+4|0;l=b+437|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+80+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{lg(e,4);break}while(0);a[b+96+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=g+1<<24>>24}else{a[b+455+f>>0]=g;a[u>>0]=(g&255)+2;a[l>>0]=(d[l>>0]|0)+2}f=j+1<<24>>24;if((f&255)<(d[o>>0]|0)){j=f;g=f&255}else break}}f=a[p>>0]|0;if(f<<24>>24){k=e+4|0;l=b+438|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{lg(e,4);f=a[p>>0]|0;break}while(0);a[b+112+i>>0]=h;o=a[u>>0]|0;a[(h&255)+(b+439)>>0]=o;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=o+1<<24>>24;j=j+1<<24>>24}while((j&255)<(f&255))}f=a[q>>0]|0;if(f<<24>>24){k=e+4|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{lg(e,4);f=a[q>>0]|0;break}while(0);a[b+128+i>>0]=h;j=j+1<<24>>24}while((j&255)<(f&255))}if(a[r>>0]|0){j=e+4|0;i=0;h=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[j>>2]|0)>>>31;if(a[s>>0]|0)break;lg(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);a[b+144+h>>0]=f;g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[j>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{lg(e,4);break}while(0);a[b+160+h>>0]=f;f=i+1<<24>>24;if((f&255)<(d[r>>0]|0)){i=f;h=f&255}else break}}kg(e)|0;g=c[t>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[s>>0]|0))if(g>>>0>8){c[t>>2]=g+-8;break}else{lg(e,8);break}while(0);g=f&255;k=b+177|0;a[k>>0]=g;if(!(g<<24>>24)){t=0;b=b+178+t|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}l=e+4|0;j=0;f=0;do{h=c[t>>2]|0;if(h>>>0<8){i=8-h|0;i=(c[e>>2]&(1<<h)+-1)<<i|(c[l>>2]|0)>>>(32-i|0)}else i=c[e>>2]<<32-h>>>24;do if(!(a[s>>0]|0))if(h>>>0>8){c[t>>2]=h+-8;break}else{lg(e,8);g=a[k>>0]|0;break}while(0);a[b+178+f>>0]=i;j=j+1<<24>>24;f=j&255}while((j&255)<(g&255));b=b+178+f|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}function Qg(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=Vb;Vb=Vb+32|0;l=m;if((d|0)==0|(f|0)==0|g>>>0<2|(h|0)==0|(i|0)==0){d=-1;Vb=m;return d|0}a[d+1>>0]=0;a[d>>0]=0;j=Rg(f,g,l,d+1657|0,a[d+2>>0]|0)|0;k=c[l+4>>2]|0;c[h>>2]=k;g=l+8|0;f=a[g>>0]|0;if(!(f<<24>>24)){a[i>>0]=a[d+1833>>0]|0;a[d+1656>>0]=1;f=a[i>>0]|0}else a[i>>0]=f;if(f<<24>>24==1)a[i>>0]=2;f=d+3|0;a[f>>0]=a[l+1>>0]|0;h=d+4|0;a[h>>0]=a[l>>0]|0;a[d+6>>0]=a[l+15>>0]|0;a[d+7>>0]=a[l+16>>0]|0;a[d+8>>0]=a[l+17>>0]|0;o=a[l+19>>0]|0;a[d+840>>0]=o;n=a[l+21>>0]|0;a[d+842>>0]=n;i=(a[d+2267>>0]|0)==0?a[l+20>>0]|0:0;a[d+841>>0]=i;if(o<<24>>24==1&n<<24>>24==0|i<<24>>24==1)a[f>>0]=Bg(k>>>1)|0;if(j<<24>>24){o=j;Vb=m;return o|0}a[d+5>>0]=a[g>>0]|0;g=d+10|0;if(!(a[l+9>>0]|0))f=b[g>>1]|0;else{b[g>>1]=960;f=960}c[d+320>>2]=Ng(f)|0;if((a[h>>0]|0)!=23){o=0;Vb=m;return o|0}b[g>>1]=(e[g>>1]|0)>>>1;o=0;Vb=m;return o|0}function Rg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Vb;Vb=Vb+48|0;g=f;hg(g,a,b);kg(g)|0;e=Sg(g,c,d,b,e)|0;Vb=f;return e|0}function Sg(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;k=jg(b)|0;if(!d){d=-8;return d|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;q=b+8|0;h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;p=b+20|0;do if(!(a[p>>0]|0))if(h>>>0>5){h=h+-5|0;c[q>>2]=h;break}else{lg(b,5);h=c[q>>2]|0;break}while(0);a[d>>0]=i;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{lg(b,4);break}while(0);m=d+1|0;a[m>>0]=i;do if((i&255|0)==15?(j=c[q>>2]|0,(a[p>>0]|0)==0):0)if(j>>>0>24){h=j+-24|0;c[q>>2]=h;break}else{lg(b,24);o=21;break}else o=21;while(0);if((o|0)==21)h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{lg(b,4);break}while(0);j=d+8|0;a[j>>0]=i;i=Cg(a[m>>0]|0)|0;n=d+4|0;c[n>>2]=i;h=a[d>>0]|0;if(-9044023>>>(h&255)&1|0){d=-1;return d|0}if(!i){d=-2;return d|0}i=a[j>>0]|0;if((i&255)>7){d=-3;return d|0}if(i<<24>>24==1)a[j>>0]=2;l=d+19|0;a[l>>0]=-1;if(h<<24>>24==5){a[l>>0]=1;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{lg(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{lg(b,24);break}}else h=Cg(h)|0;while(0);c[n>>2]=h;i=c[q>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>27;do if(!(a[p>>0]|0))if(i>>>0>5){c[q>>2]=i+-5;break}else{lg(b,5);break}while(0);h=h&255;a[d>>0]=h}switch(h<<24>>24){case 7:case 6:case 4:case 3:case 2:case 1:{e=Tg(b,d,e)|0;break}default:if((h&255)>16){i=Tg(b,d,e)|0;j=c[q>>2]|0;if(j>>>0<2){h=2-j|0;h=(c[b>>2]&(1<<j)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-j>>>30;do if(!(a[p>>0]|0))if(j>>>0>2){c[q>>2]=j+-2;break}else{lg(b,2);break}while(0);a[d+18>>0]=h;e=(h&255|0)==0?i:-5}else e=-4}do if(g<<24>>24==0?(k=(f<<3)-k+(jg(b)|0)<<24,(a[d>>0]|0)!=5&(k|0)>251658240):0){i=c[q>>2]|0;if(i>>>0<11){h=11-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>21;do if(!(a[p>>0]|0))if(i>>>0>11){c[q>>2]=i+-11;break}else{lg(b,11);break}while(0);if((h&65535|0)==695){h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;do if(!(a[p>>0]|0))if(h>>>0>5){c[q>>2]=h+-5;break}else{lg(b,5);break}while(0);j=i&255;if((i&255|0)!=5){o=114;break}h=c[q>>2]|0;do if(!h){h=(c[b+4>>2]|0)>>>31;if(a[p>>0]|0)break;lg(b,1)}else{h=h+-1|0;c[q>>2]=h;h=(c[b>>2]|0)>>>h&1}while(0);k=h&255;a[l>>0]=k;if(!(k<<24>>24))break;a[d>>0]=j;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{lg(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{lg(b,24);break}}else h=Cg(h)|0;while(0);c[n>>2]=h;o=114}else o=114}else o=114;while(0);do if((o|0)==114?(a[l>>0]|0)==-1:0){h=c[n>>2]|0;if(h>>>0<24001){c[n>>2]=h<<1;a[d+20>>0]=1;break}else{a[d+21>>0]=1;break}}while(0);d=e;return d|0}function Tg(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Vb;Vb=Vb+480|0;k=m;l=e+8|0;h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){lg(e,1);i=c[l>>2]|0;j=6;break}else{a[f+9>>0]=h;j=8;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=6}while(0);if((j|0)==6){a[f+9>>0]=h;if(!i)j=8;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==8){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}j=h&255;a[f+10>>0]=j;if(j<<24>>24==1){i=c[l>>2]|0;if(i>>>0<14){h=14-i|0;h=(c[e>>2]&(1<<i)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-i>>>18;do if(!(a[e+20>>0]|0))if(i>>>0>14){c[l>>2]=i+-14;break}else{lg(e,14);break}while(0);b[f+12>>1]=h}h=c[l>>2]|0;if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}else{h=h+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}h=h&255;i=f+14|0;a[i>>0]=h;if(!(a[f+8>>0]|0)){if((Pg(k,e)|0)<<24>>24){l=-3;Vb=m;return l|0}if(g|0)dl(g|0,k|0,471)|0;h=a[i>>0]|0}if(h<<24>>24!=1){l=0;Vb=m;return l|0}if((d[f>>0]|0)>16){h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){lg(e,1);i=c[l>>2]|0;j=35;break}else{a[f+15>>0]=h;j=37;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=35}while(0);if((j|0)==35){a[f+15>>0]=h;if(!i)j=37;else{i=i+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=40}}do if((j|0)==37){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){lg(e,1);i=c[l>>2]|0;j=40;break}else{a[f+16>>0]=h;j=42;break}}while(0);if((j|0)==40){a[f+16>>0]=h;if(!i)j=42;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==42){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))lg(e,1)}a[f+17>>0]=h}h=c[l>>2]|0;if(a[e+20>>0]|0){l=0;Vb=m;return l|0}if(h>>>0>1){c[l>>2]=h+-1;l=0;Vb=m;return l|0}else{lg(e,1);l=0;Vb=m;return l|0}return 0}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;d=a+328|0;e=a+584|0;f=a+1136|0;g=a+1392|0;h=0;do{b=c[d+(h<<2)>>2]|0;if(b|0)Ag(b);b=c[e+(h<<2)>>2]|0;if(b|0)Ag(b);b=c[f+(h<<2)>>2]|0;if(b|0)Ag(b);b=c[g+(h<<2)>>2]|0;if(b|0)Ag(b);h=h+1|0}while((h|0)!=64);Vg(c[a+320>>2]|0);Wg(c[a+324>>2]|0);b=c[a+124>>2]|0;if(b|0)Ag(b);b=a+892|0;e=0;do{d=c[b+(e<<2)>>2]|0;if(d|0)Xg(d);e=e+1|0}while((e|0)!=48);Ag(a);return}function Vg(a){a=a|0;if(!a)return;$g(c[a+24>>2]|0);$g(c[a+32>>2]|0);$g(c[a+28>>2]|0);Ag(a);return}function Wg(a){a=a|0;if(!a)return;Ag(a);return}function Xg(a){a=a|0;var b=0;if(!a)return;Yg(c[a+12440>>2]|0);Zg(c[a+12448>>2]|0);b=a+12452|0;if(c[b>>2]|0){Yg(c[a+12444>>2]|0);Zg(c[b>>2]|0)}b=c[a+648>>2]|0;if(b|0)Ag(b);b=c[a+688>>2]|0;if(b|0)Ag(b);b=c[a+668>>2]|0;if(b|0)Ag(b);b=c[a+708>>2]|0;if(b|0)Ag(b);b=c[a+652>>2]|0;if(b|0)Ag(b);b=c[a+692>>2]|0;if(b|0)Ag(b);b=c[a+672>>2]|0;if(b|0)Ag(b);b=c[a+712>>2]|0;if(b|0)Ag(b);b=c[a+656>>2]|0;if(b|0)Ag(b);b=c[a+696>>2]|0;if(b|0)Ag(b);b=c[a+676>>2]|0;if(b|0)Ag(b);b=c[a+716>>2]|0;if(b|0)Ag(b);b=c[a+660>>2]|0;if(b|0)Ag(b);b=c[a+700>>2]|0;if(b|0)Ag(b);b=c[a+680>>2]|0;if(b|0)Ag(b);b=c[a+720>>2]|0;if(b|0)Ag(b);b=c[a+664>>2]|0;if(b|0)Ag(b);b=c[a+704>>2]|0;if(b|0)Ag(b);b=c[a+684>>2]|0;if(b|0)Ag(b);b=c[a+724>>2]|0;if(b|0)Ag(b);b=c[a+53420>>2]|0;if(b|0)_g(b);Ag(a);return}function Yg(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Ag(b);Ag(a);return}function Zg(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Ag(b);Ag(a);return}function _g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[b+720>>2]|0;if(!i){Ag(b);return}d=c[i+12>>2]|0;if(d|0)Ag(d);f=i+16|0;d=c[f>>2]|0;e=c[d>>2]|0;if(e){Ag(e);d=c[f>>2]|0}e=c[d+4>>2]|0;if(e){Ag(e);d=c[f>>2]|0}e=c[d+8>>2]|0;if(e){Ag(e);d=c[f>>2]|0}e=c[d+12>>2]|0;if(e){Ag(e);d=c[f>>2]|0}e=c[d+16>>2]|0;if(e){Ag(e);d=c[f>>2]|0}if(d|0)Ag(d);e=a[i>>0]|0;h=i+20|0;d=c[h>>2]|0;if(e<<24>>24){g=0;do{f=c[d+((g&255)<<2)>>2]|0;if(f){Ag(f);e=a[i>>0]|0;d=c[h>>2]|0}g=g+1<<24>>24}while((g&255)<(e&255))}if(d|0)Ag(d);Ag(i);Ag(b);return}function $g(a){a=a|0;if(!a)return;zg(c[a+4>>2]|0);Ag(a);return}function ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return bh(a,b,c,d,0,0)|0}function bh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;B=Vb;Vb=Vb+64|0;n=B;m=B+40|0;o=n;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if((f|0)==0|(g|0)==0|(h|0)==0){f=0;Vb=B;return f|0}A=f+10|0;l=b[A>>1]|0;o=g;p=o+88|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f+2192|0;p=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(i>>>0>127?(Pi(h,117689,3)|0)==0:0){c[g>>2]=128;f=0;Vb=B;return f|0}hg(n,h,i);if(a[f>>0]|0){a[m+22>>0]=a[f+2266>>0]|0;y=Mg(m,n)|0;h=g+9|0;a[h>>0]=y;if(!(y<<24>>24))z=8;else h=0}else{h=g+9|0;z=8}a:do if((z|0)==8){ch(f,g,n,f+1657|0,c[f+324>>2]|0);u=f+24|0;i=a[u>>0]|0;if(!(a[h>>0]|0)){if((i+-1&255)>63){a[h>>0]=12;h=0;break}c[g>>2]=((jg(n)|0)+7|0)>>>3;if(a[n+20>>0]|0){a[h>>0]=14;h=0;break}b:do if((a[f>>0]|0)==0?(a[f+1>>0]|0)==0:0){m=f+5|0;n=i<<24>>24==8;if(n|(a[m>>0]|0)==0)a[m>>0]=n?7:i;switch(i<<24>>24){case 6:case 5:{z=20;break b}case 7:break;default:break b}a[m>>0]=0;i=7}else z=19;while(0);if((z|0)==19)if((i+-5&255)<2)z=20;if((z|0)==20)if(a[f+2265>>0]|0){a[f+20>>0]=1;i=2}q=i<<24>>24==1;y=q?2:i;a[f+21>>0]=q&1;q=g+19|0;n=g+20|0;s=g+21|0;v=g+22|0;t=g+23|0;i=f+20|0;o=q;p=o+68|0;do{a[o>>0]=0;o=o+1|0}while((o|0)<(p|0));c:do if(!(a[i>>0]|0)){if(a[f+1656>>0]|0){m=a[f+2092>>0]|0;a[q>>0]=m;p=a[f+2093>>0]|0;a[n>>0]=p;r=a[f+2094>>0]|0;a[s>>0]=r;a[v>>0]=a[f+2095>>0]|0;o=m&255;if(!(o&1))i=0;else{a[t>>0]=2;a[g+24>>0]=3;i=2}if(m<<24>>24){n=0;while(1){a[(i&255)+(g+23)>>0]=2;m=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=3;n=n+2&255;if(n>>>0>=o>>>0){i=m;break}else i=m}}if(p<<24>>24){o=p&255;m=0;while(1){a[(i&255)+(g+23)>>0]=4;n=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=5;m=m+2&255;if(m>>>0>=o>>>0){i=n;break}else i=n}}q=(r&1)==0;x=r+((q^1)<<31>>31)<<24>>24;p=x&255;m=i|1;n=(i&255)+(g+23)|0;if(x<<24>>24){o=0;do{a[n>>0]=6;i=i+2<<24>>24;a[(m&255)+(g+23)>>0]=7;o=o+2&255;m=i|1;n=(i&255)+(g+23)|0}while(o>>>0<p>>>0)}if(!q){a[n>>0]=8;i=m}n=a[v>>0]|0;if(!(n<<24>>24))break;else m=0;while(1){a[(i&255)+(g+23)>>0]=9;m=m+1<<24>>24;if((m&255)>=(n&255))break c;else i=i+1<<24>>24}}switch(a[f+5>>0]|0){case 1:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 2:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 3:{a[q>>0]=3;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;break c}case 4:{a[q>>0]=3;a[s>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=8;break c}case 5:{a[q>>0]=3;a[s>>0]=2;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;break c}case 6:{a[q>>0]=3;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;a[g+28>>0]=9;break c}case 7:{a[q>>0]=3;a[n>>0]=2;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=4;a[g+27>>0]=5;a[g+28>>0]=6;a[g+29>>0]=7;a[g+30>>0]=9;break c}default:{r=f+23|0;x=(d[u>>0]|0)-(d[r>>0]|0)|0;i=x&255;p=x&255;d:do if(!(x&1)){m=p>>>1;x=m&255;a[q>>0]=x;a[s>>0]=x;if(!(m&1)){if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[t>>0]=1;if(m|0){n=1;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<=m>>>0)}m=m+1|0;n=p+-1|0;if((m|0)<(n|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(n|0));a[g+23+n>>0]=8}else{o=p+-1|0;n=(o|0)/2|0;m=n&255;if(!(a[f+22>>0]|0)){o=n&255;n=n+1|0;a[q>>0]=n;a[s>>0]=m;a[t>>0]=1;if(o|0){m=1;do{a[g+23+m>>0]=2;a[m+1+(g+23)>>0]=3;m=m+2&255}while(m>>>0<=o>>>0)}m=n&255;if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[q>>0]=m;m=n&255;a[s>>0]=n+1;if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if((m|0)<(o|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(o|0));a[g+23+o>>0]=8}while(0);a[v>>0]=a[r>>0]|0;if((d[u>>0]|0)<=(i&255))break c;do{a[(i&255)+(g+23)>>0]=9;i=i+1<<24>>24}while((i&255)<(d[u>>0]|0))}}}else{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3}while(0);r=l&65535;p=w(y&255,r)|0;v=g+4|0;c[v>>2]=p;a[g+8>>0]=y;s=g+12|0;c[s>>2]=Cg(a[f+3>>0]|0)|0;x=f+4|0;t=g+17|0;a[t>>0]=a[x>>0]|0;u=g+16|0;a[u>>0]=0;q=g+18|0;a[q>>0]=0;n=(a[f+1>>0]|0)!=0&1;a[q>>0]=n;a[q>>0]=(a[f>>0]|0)==0?n:2;a[g+87>>0]=a[f+1132>>0]|0;q=f+124|0;n=c[q>>2]|0;o=(n|0)==0;if(!o?(a[f+122>>0]|0)==y<<24>>24:0)i=f+840|0;else{m=a[117693+((d[f+2264>>0]|0)+-1)>>0]|0;i=f+840|0;if((a[i>>0]|0)==1?(a[f+842>>0]|0)==0:0)z=75;else if((a[f+841>>0]|0)==1)z=75;if((z|0)==75)m=(m&255)<<1&255;if(k){if((w(p,m&255)|0)>>>0>k>>>0){a[h>>0]=27;f=0;Vb=B;return f|0}}else{if(!o)Ag(n);c[q>>2]=0;c[q>>2]=og(w(p,m&255)|0)|0}a[f+122>>0]=y}p=c[((k|0)==0?q:j)>>2]|0;n=(a[i>>0]|0)==1;if(!(!n?(a[f+841>>0]|0)!=1:0)){o=(a[f+842>>0]|0)==0;if(o){c[v>>2]=c[v>>2]<<1;c[s>>2]=c[s>>2]<<1;l=r<<1&65535}m=a[f+25>>0]|0;e:do if(m<<24>>24){i=0;while(1){if(!(c[f+892+((i&255)<<2)>>2]|0))break;i=i+1<<24>>24;if((i&255)>=(m&255))break e}a[h>>0]=25;h=0;break a}while(0);if(n){a[t>>0]=5;h=1}else h=3;a[u>>0]=o?h:2}dh(f,f+328|0,p,y,l,a[f+2264>>0]|0)|0;a[f+12>>0]=0;f=f+16|0;l=(c[f>>2]|0)+1|0;c[f>>2]=l;if((a[x>>0]|0)==23){if(l|0){f=p;Vb=B;return f|0}c[v>>2]=0;f=p;Vb=B;return f|0}else{if(l>>>0>=2){f=p;Vb=B;return f|0}c[v>>2]=0;f=p;Vb=B;return f|0}}else h=0}while(0);do{l=c[f+584+(h<<2)>>2]|0;if(l|0)fl(l|0,0,e[A>>1]<<2|0)|0;h=h+1|0}while((h|0)!=64);h=0;do{l=c[f+892+(h<<2)>>2]|0;if(l|0)eh(l);h=h+1|0}while((h|0)!=48);f=0;Vb=B;return f|0}function ch(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a[b+24>>0]=0;a[b+25>>0]=0;t=b+22|0;a[t>>0]=25;u=b+23|0;a[u>>0]=0;a:do if((d[b+4>>0]|0)<17){p=f+8|0;q=f+4|0;r=f+20|0;s=e+9|0;i=0;b:while(1){k=c[p>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[f>>2]&(1<<k)+-1)<<j|(c[q>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-k>>>29;do if(!(a[r>>0]|0))if(k>>>0>3){c[p>>2]=k+-3;break}else{lg(f,3);break}while(0);if((j&255|0)==7)break a;switch((j&255)<<24>>24){case 2:{n=19;break b}case 0:{if((a[t>>0]|0)==25)a[t>>0]=0;fh(b,e,f,0);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 1:{if((a[t>>0]|0)==25)a[t>>0]=1;gh(b,e,f,1);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 3:{a[u>>0]=(a[u>>0]|0)+1<<24>>24;fh(b,e,f,3);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 4:{o=i+1<<24>>24;i=c[p>>2]|0;do if(!(a[r>>0]|0))if(i>>>0>4){i=i+-4|0;c[p>>2]=i;n=25;break}else{lg(f,4);i=c[p>>2]|0;n=24;break}else n=24;while(0);if((n|0)==24)if(!i){k=c[q>>2]|0;i=k>>>31;if(!(a[r>>0]|0)){lg(f,1);j=i;k=c[p>>2]|0;n=28}else{j=i;l=0;n=31}}else n=25;if((n|0)==25){k=i+-1|0;c[p>>2]=k;j=(c[f>>2]|0)>>>k&1;n=28}do if((n|0)==28){n=0;if(k>>>0<8){l=k;k=c[q>>2]|0;n=31;break}else{i=c[f>>2]<<32-k>>>24;m=j;j=k;break}}while(0);if((n|0)==31){i=8-l|0;i=((1<<l)+-1&c[f>>2])<<i|k>>>(32-i|0);m=j;j=l}do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{lg(f,8);break}while(0);if((i&65535|0)==255){j=c[p>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[q>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{lg(f,8);break}while(0);i=(i&65535)+255|0}if(m|0)kg(f)|0;k=i&65535;if(!k){i=o;continue b}else i=0;while(1){j=c[p>>2]|0;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{lg(f,8);break}while(0);i=i+1<<16>>16;if(k>>>0<=(i&65535)>>>0){i=o;continue b}}}case 5:{if(i<<24>>24){n=54;break b}Pg(g,f)|0;i=1;continue b}case 6:{o=hh(b,f,h,-1)|0;a[s>>0]=o;if(!(o<<24>>24)){i=i+1<<24>>24;continue b}else{n=67;break b}}default:continue b}}if((n|0)==19){a[s>>0]=6;return}else if((n|0)==54){a[s>>0]=31;return}else if((n|0)==67)return}else switch(a[b+5>>0]|0){case 1:{fh(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 2:{gh(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 3:{fh(b,e,f,0);gh(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 4:{fh(b,e,f,0);gh(b,e,f,1);fh(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 5:{fh(b,e,f,0);gh(b,e,f,1);gh(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 6:{fh(b,e,f,0);gh(b,e,f,1);gh(b,e,f,1);fh(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}case 7:{fh(b,e,f,0);gh(b,e,f,1);gh(b,e,f,1);gh(b,e,f,1);fh(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}default:{a[e+9>>0]=7;return}}while(0);kg(f)|0;return}function dh(e,h,i,j,k,l){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;switch(l<<24>>24){case 1:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+(l<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}e=~~m&65535;h=l<<1;b[i+(h<<1)>>1]=e;b[i+((h|1)<<1)>>1]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2];q=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(!(m<=-32768.0))p=m;else p=-32768.0}else{m=m+.5;if(!(m>=32767.0))p=m;else p=32767.0}if(!(q>=0.0)){m=q+-.5;if(m<=-32768.0)m=-32768.0}else{m=q+.5;if(m>=32767.0)m=32767.0}h=l<<1;b[i+(h<<1)>>1]=~~p;b[i+((h|1)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 2:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*256.0;q=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-8388608.0))p=m;else p=-8388608.0}else{m=m+.5;if(!(m>=8388607.0))p=m;else p=8388607.0}if(!(q>=0.0)){m=q+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=q+.5;if(m>=8388607.0)m=8388607.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 3:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*65536.0;q=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-2147483648.0))p=m;else p=-2147483648.0}else{m=m+.5;if(!(m>=2147483648.0))p=m;else p=2147483648.0}if(!(q>=0.0)){m=q+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=q+.5;if(m>=2147483648.0)m=2147483648.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 4:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{f[i+(l<<2)>>2]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;f[i+(h<<2)>>2]=+f[o+(l<<2)>>2]*.000030517578125;f[i+((h|1)<<2)>>2]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;f[i+(h<<2)>>2]=q;f[i+((h|1)<<2)>>2]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{f[i+((w(l,z)|0)<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((w(l,z)|0)<<2)>>2]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{f[i+((w(l,z)|0)+n<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((w(l,z)|0)+n<<2)>>2]=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 5:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{g[i+(l<<3)>>3]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;g[i+(h<<3)>>3]=+f[o+(l<<2)>>2]*.000030517578125;g[i+((h|1)<<3)>>3]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;g[i+(h<<3)>>3]=q;g[i+((h|1)<<3)>>3]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{g[i+((w(l,z)|0)<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((w(l,z)|0)<<3)>>3]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{g[i+((w(l,z)|0)+n<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((w(l,z)|0)+n<<3)>>3]=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}default:return i|0}return 0}function eh(e){e=e|0;var f=0,g=0;f=c[e+12440>>2]|0;if(f|0)fl(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12444>>2]|0;if(f|0)fl(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12448>>2]|0;if(f|0)fl(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+12452>>2]|0;if(f|0)fl(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+648>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+668>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+688>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+708>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+652>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+672>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+692>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+712>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+656>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+676>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+696>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+716>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+660>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+680>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+700>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+720>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+664>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+684>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+704>>2]|0;if(f|0)fl(f|0,0,256)|0;f=c[e+724>>2]|0;if(f|0)fl(f|0,0,256)|0;f=e+53416|0;g=e+53418|0;fl(e+12456|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;fl(e+32936|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;a[e+728>>0]=0;a[e+729>>0]=0;c[e+12432>>2]=0;a[e+12426>>0]=1;a[e+612>>0]=0;a[e+613>>0]=0;a[e+53435>>0]=2;a[e+53436>>0]=1;a[e+53437>>0]=2;a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;a[e+53441>>0]=1;a[e+53432>>0]=5;a[e+53431>>0]=1;a[e+53442>>0]=1;a[e+12418>>0]=-1;a[e+12419>>0]=-1;a[e+12421>>0]=0;a[e+12422>>0]=0;a[e+12423>>0]=0;a[e+12412>>0]=-1;a[e+646>>0]=0;a[e+647>>0]=0;f=0;do{b[e+2010+(f<<1)>>1]=0;c[e+10460+(f<<2)>>2]=0;b[e+2138+(f<<1)>>1]=0;c[e+10716+(f<<2)>>2]=0;a[e+12277+f>>0]=0;a[e+12341+f>>0]=0;f=f+1|0}while((f|0)!=49);a[e+53445>>0]=0;a[e+53446>>0]=0;return}function fh(e,f,g,h){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;u=Vb;Vb=Vb+22976|0;n=u+2048|0;o=u;t=e+24|0;r=a[t>>0]|0;p=r&255;q=p+1|0;if((r&255)>63){a[f+9>>0]=12;Vb=u;return}s=e+25|0;i=a[s>>0]|0;if((i&255)>47){a[f+9>>0]=13;Vb=u;return}a[(i&255)+(e+2128)>>0]=h;fl(n|0,0,20914)|0;l=n+6|0;fl(o|0,0,2048)|0;j=g+8|0;i=c[j>>2]|0;if(i>>>0<4){m=4-i|0;m=(c[g>>2]&(1<<i)+-1)<<m|(c[g+4>>2]|0)>>>(32-m|0)}else m=c[g>>2]<<32-i>>>28;k=g+20|0;do if(!(a[k>>0]|0))if(i>>>0>4){c[j>>2]=i+-4;break}else{lg(g,4);break}while(0);a[n+4>>0]=m;a[n>>0]=r;b[n+2>>1]=-1;i=Ih(e,n,g,l,o)|0;do if(!(i<<24>>24))if(!(a[n+9044>>0]|0)){h=c[j>>2]|0;if(h>>>0<3){i=3-h|0;i=(c[g>>2]&(1<<h)+-1)<<i|(c[g+4>>2]|0)>>>(32-i|0)}else i=c[g>>2]<<32-h>>>29;if((i|0)==6){do if(!(a[k>>0]|0))if(h>>>0>3){c[j>>2]=h+-3;break}else{lg(g,3);break}while(0);i=hh(e,g,c[e+324>>2]|0,a[s>>0]|0)|0;if(i<<24>>24)break}i=Bi(e,l,n,o)|0}else i=32;while(0);a[f+9>>0]=i;if((a[(d[s>>0]|0)+(e+26)>>0]|0)==2){a[e+2192+p>>0]=r;h=q;i=q&255}else{if(!(a[e+1656>>0]|0))i=r;else i=a[(m&255)+(e+2096)>>0]|0;h=i&255;i=r}a[e+2192+h>>0]=i;r=a[s>>0]|0;a[t>>0]=(d[t>>0]|0)+(d[(r&255)+(e+26)>>0]|0);a[s>>0]=r+1<<24>>24;Vb=u;return}function gh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=Vb;Vb=Vb+25024|0;A=G+22968|0;B=G+20920|0;C=G;F=e+24|0;i=a[F>>0]|0;D=i&255;if((D+2|0)>>>0>64){a[f+9>>0]=12;Vb=G;return}E=e+25|0;k=a[E>>0]|0;if((k&255)>47){a[f+9>>0]=13;Vb=G;return}k=k&255;l=e+26+k|0;switch(a[l>>0]|0){case 0:{a[l>>0]=2;break}case 2:break;default:{a[f+9>>0]=21;Vb=G;return}}a[e+2128+k>>0]=h;fl(A|0,0,2048)|0;fl(B|0,0,2048)|0;fl(C|0,0,20914)|0;w=C+6|0;x=C+10460|0;a[C>>0]=i;z=D+1|0;b[C+2>>1]=z;t=g+8|0;k=c[t>>2]|0;if(k>>>0<4){y=4-k|0;l=c[g>>2]|0;y=(l&(1<<k)+-1)<<y|(c[g+4>>2]|0)>>>(32-y|0)}else{l=c[g>>2]|0;y=l<<32-k>>>28}u=g+20|0;do if(!(a[u>>0]|0))if(k>>>0>4){k=k+-4|0;c[t>>2]=k;a[C+4>>0]=y;s=17;break}else{lg(g,4);k=c[t>>2]|0;s=15;break}else s=15;while(0);do if((s|0)==15){a[C+4>>0]=y;if(k|0){l=c[g>>2]|0;s=17;break}k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))lg(g,1)}while(0);if((s|0)==17){k=k+-1|0;c[t>>2]=k;k=l>>>k&1}k=k&255;r=C+5|0;a[r>>0]=k;a:do if(k<<24>>24){k=Gh(e,w,g,k)|0;if(!(k<<24>>24)){l=c[t>>2]|0;if(l>>>0<2){k=2-l|0;k=(c[g>>2]&(1<<l)+-1)<<k|(c[g+4>>2]|0)>>>(32-k|0)}else k=c[g>>2]<<32-l>>>30;do if(!(a[u>>0]|0))if(l>>>0>2){c[t>>2]=l+-2;break}else{lg(g,2);break}while(0);q=k&255;a[C+8634>>0]=q;switch(q<<24>>24){case 3:{j=32;break a}case 1:{p=C+8|0;k=a[p>>0]|0;if(k<<24>>24){q=g+4|0;l=a[w>>0]|0;o=0;n=0;h=l;while(1){if(!(l<<24>>24))m=0;else{m=0;l=h;do{h=m&255;k=c[t>>2]|0;if(!k){k=(c[q>>2]|0)>>>31;if(!(a[u>>0]|0)){lg(g,1);l=a[w>>0]|0}}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}a[C+8635+(n*51|0)+h>>0]=k;m=m+1<<24>>24}while((m&255)<(l&255));k=a[p>>0]|0;h=l;m=l}l=o+1<<24>>24;if((l&255)<(k&255)){o=l;n=l&255;l=m}else break}}break}default:{}}if((d[e+4>>0]|0)>16?a[C+9048>>0]|0:0){k=c[t>>2]|0;if(!k){k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))lg(g,1)}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}q=k&255;a[C+10283>>0]=q;if(q<<24>>24?(j=Hh(e,w,C+10282|0,g)|0,j<<24>>24):0)break}dl(x|0,w|0,10454)|0;s=50}else j=k}else{a[C+8634>>0]=0;s=50}while(0);do if((s|0)==50){j=Ih(e,C,g,w,A)|0;if(!(j<<24>>24)){if((a[r>>0]|0?(d[e+4>>0]|0)>16:0)?a[C+9048>>0]|0:0){j=c[t>>2]|0;if(!j){j=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))lg(g,1)}else{j=j+-1|0;c[t>>2]=j;j=(c[g>>2]|0)>>>j&1}s=j&255;a[C+10365>>0]=s;if(s<<24>>24?(v=Hh(e,w,C+10364|0,g)|0,v<<24>>24):0){j=v;break}}j=Ih(e,C,g,x,B)|0;if(!(j<<24>>24)){k=c[t>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[g>>2]&(1<<k)+-1)<<j|(c[g+4>>2]|0)>>>(32-j|0)}else j=c[g>>2]<<32-k>>>29;if((j|0)==6){do if(!(a[u>>0]|0))if(k>>>0>3){c[t>>2]=k+-3;break}else{lg(g,3);break}while(0);j=hh(e,g,c[e+324>>2]|0,a[E>>0]|0)|0;if(j<<24>>24)break}j=Jh(e,w,x,C,A,B)|0}}}while(0);a[f+9>>0]=j;if(!(a[e+1656>>0]|0))a[e+2192+D>>0]=i;else{D=(y&255)+(e+2112)|0;a[(d[D>>0]|0)+(e+2192)>>0]=i;i=a[D>>0]|0}a[(i&255)+1+(e+2192)>>0]=z;a[F>>0]=(d[F>>0]|0)+2;a[E>>0]=(a[E>>0]|0)+1<<24>>24;Vb=G;return}function hh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=f+8|0;j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;A=f+20|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{lg(f,4);break}while(0);if((i&65535|0)==15){j=c[B>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[A>>0]|0))if(j>>>0>8){c[B>>2]=j+-8;break}else{lg(f,8);break}while(0);i=(i&65535)+14|0}k=i&65535;if(!(i&65535)){f=0;return f|0}j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;if(((i&255)+-13|0)>>>0<2){j=h&255;if(h<<24>>24==-1){f=24;return f|0}i=e+892+(j<<2)|0;if(!(c[i>>2]|0)){g=b[e+10>>1]|0;A=a[e+2128+j>>0]|0;B=(Cg(a[e+3>>0]|0)|0)<<1;c[i>>2]=ih(g,A,B,a[e+842>>0]|0)|0}a[e+840>>0]=1;B=jh(f,c[i>>2]|0,k,a[e+12>>0]|0)|0;f=c[i>>2]|0;a[f+10>>0]=B;if(!(a[f+53424>>0]|0)){f=0;return f|0}a[e+1084+j>>0]=1;a[e+1132>>0]=1;f=0;return f|0}if(!(k<<16>>16)){f=0;return f|0}o=f+4|0;p=g+1|0;q=g+3|0;r=g+56|0;s=g+57|0;t=g+58|0;u=g+59|0;v=g+60|0;w=g+61|0;x=g+62|0;y=g+21|0;z=g+2|0;i=k;h=j;while(1){m=i&65535;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{lg(f,4);break}while(0);a:do switch((j&255)<<24>>24){case 11:{a[g>>0]=1;a[p>>0]=1;i=c[B>>2]|0;if(!i){i=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{i=i+-1|0;c[B>>2]=i;i=(c[f>>2]|0)>>>i&1}do if(i){i=c[B>>2]|0;if(i>>>0<4){j=4-i|0;j=(c[f>>2]&(1<<i)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-i>>>28;if(a[A>>0]|0){a[z>>0]=j;i=2;n=53;break}if(i>>>0<=4){lg(f,4);i=c[B>>2]|0;n=a[A>>0]|0;a[z>>0]=j;if(n<<24>>24){i=2;n=53;break}}else{i=i+-4|0;c[B>>2]=i;a[z>>0]=j}if(i>>>0>4){j=i+-4|0;c[B>>2]=j;i=2;n=54;break}else{lg(f,4);i=2;n=53;break}}else{i=1;n=53}while(0);if((n|0)==53){n=0;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else n=54}if((n|0)==54){n=0;j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}l=j&255;a[q>>0]=l;if(l<<24>>24==1){j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[r>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[s>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[t>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[u>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[v>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[w>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[x>>0]=j;h=7;l=1;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);k=j&255;j=l&255;a[j+-1+(g+120)>>0]=k;if(k<<24>>24!=1)break;e=h&255;k=e+7|0;do{j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+56+e>>0]=j;h=h+1<<24>>24;e=h&255}while(k>>>0>e>>>0);h=k&255;l=l+1<<24>>24}i=j+(i&255)&255}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<4){h=4-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>28;do if(!(a[A>>0]|0)){if(j>>>0<=4){lg(f,4);if(!(a[A>>0]|0))j=c[B>>2]|0;else break}else{j=j+-4|0;c[B>>2]=j}if(j>>>0>4){c[B>>2]=j+-4;break}else{lg(f,4);break}}while(0);j=h+(d[p>>0]|0)&255;a[p>>0]=j;i=i+1<<24>>24;if(j<<24>>24){l=0;do{k=l&255;h=c[B>>2]|0;if(h>>>0<8){e=8-h|0;e=(c[f>>2]&(1<<h)+-1)<<e|(c[o>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{lg(f,8);j=a[p>>0]|0;break}while(0);a[g+4+k>>0]=e;l=l+1<<24>>24;i=i+1<<24>>24}while((l&255)<(j&255))}}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[A>>0]|0))if(j>>>0>7){j=j+-7|0;c[B>>2]=j;a[y>>0]=h;n=137;break}else{lg(f,7);j=c[B>>2]|0;n=136;break}else n=136;while(0);do if((n|0)==136){n=0;a[y>>0]=h;if(j|0){n=137;break}if(a[A>>0]|0)break;lg(f,1)}while(0);if((n|0)==137){n=0;c[B>>2]=j+-1}i=i+1<<24>>24}if(a[p>>0]|0){k=0;e=0;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;lg(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+22+e>>0]=j;h=c[B>>2]|0;if(h>>>0<7){j=7-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>25;do if(!(a[A>>0]|0))if(h>>>0>7){c[B>>2]=h+-7;break}else{lg(f,7);break}while(0);a[g+39+e>>0]=j;i=i+1<<24>>24;j=k+1<<24>>24;if((j&255)<(d[p>>0]|0)){k=j;e=j&255}else break}}i=i&255;break}case 1:{j=c[B>>2]|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{lg(f,4);break}while(0);h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{lg(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}else i=1;break}case 2:{h=c[B>>2]|0;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{lg(f,4);break}while(0);if(!(j&255)){e=0;k=0;do{h=c[B>>2]|0;if(h>>>0<8){j=8-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{lg(f,8);break}while(0);l=j&255;k=l+(k&65535)|0;e=e+1<<24>>24}while((l|0)==255);if(k&65535){i=c[B>>2]|0;do if(!(a[A>>0]|0))if(i>>>0>8){c[B>>2]=i+-8;break}else{lg(f,8);break}while(0);i=(e&255)+1+k&65535}else n=191}else n=191;break}default:{j=c[B>>2]|0;if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;n=191;break a}else{lg(f,4);n=191;break a}else n=191}}while(0);if((n|0)==191){n=0;h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{lg(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}}i=m-(i&65535)&65535;if(!(i<<16>>16)){i=0;break}h=c[B>>2]|0}return i|0}function ih(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=og(53544)|0;fl(j+4|0,0,53540)|0;a[j+12436>>0]=f;c[j>>2]=g;a[j+53435>>0]=2;a[j+53436>>0]=1;a[j+53437>>0]=2;a[j+53438>>0]=2;a[j+53439>>0]=2;a[j+53440>>0]=1;a[j+53441>>0]=1;a[j+53432>>0]=5;a[j+53431>>0]=1;a[j+53442>>0]=1;a[j+12418>>0]=-1;a[j+12419>>0]=-1;c[j+12432>>2]=0;a[j+12426>>0]=1;i=j+53418|0;a[i>>0]=8;a[j+53419>>0]=2;a[j+12421>>0]=0;a[j+12422>>0]=0;a[j+12423>>0]=0;b[j+12424>>1]=e;a[j+12412>>0]=-1;e=e<<16>>16==960;g=j+53416|0;a[g>>0]=e?30:32;a[j+53417>>0]=e?15:16;a[j+728>>0]=0;a[j+729>>0]=0;c[j+12440>>2]=Eh(32)|0;if(f<<24>>24==1){c[j+12444>>2]=Eh(32)|0;h=h<<24>>24?32:64;c[j+12448>>2]=Fh(h)|0;c[j+12452>>2]=Fh(h)|0;c[j+648>>2]=og(256)|0;c[j+668>>2]=og(256)|0;c[j+688>>2]=og(256)|0;c[j+708>>2]=og(256)|0;c[j+652>>2]=og(256)|0;c[j+672>>2]=og(256)|0;c[j+692>>2]=og(256)|0;c[j+712>>2]=og(256)|0;c[j+656>>2]=og(256)|0;c[j+676>>2]=og(256)|0;c[j+696>>2]=og(256)|0;c[j+716>>2]=og(256)|0;c[j+660>>2]=og(256)|0;c[j+680>>2]=og(256)|0;c[j+700>>2]=og(256)|0;c[j+720>>2]=og(256)|0;c[j+664>>2]=og(256)|0;c[j+684>>2]=og(256)|0;c[j+704>>2]=og(256)|0;c[j+724>>2]=og(256)|0;fl(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;fl(j+32936|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}else{c[j+12448>>2]=Fh(h<<24>>24?32:64)|0;c[j+12452>>2]=0;c[j+648>>2]=og(256)|0;c[j+688>>2]=og(256)|0;c[j+652>>2]=og(256)|0;c[j+692>>2]=og(256)|0;c[j+656>>2]=og(256)|0;c[j+696>>2]=og(256)|0;c[j+660>>2]=og(256)|0;c[j+700>>2]=og(256)|0;c[j+664>>2]=og(256)|0;c[j+704>>2]=og(256)|0;fl(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}return 0}function jh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Vb;Vb=Vb+16|0;t=I+4|0;u=I;F=jg(d)|0;if(g<<24>>24)a[e+53425>>0]=g;H=d+8|0;h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;G=d+20|0;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{lg(d,4);break}while(0);if((g&255|0)==14){h=c[H>>2]|0;if(h>>>0<10){g=10-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>22;do if(!(a[G>>0]|0))if(h>>>0>10){c[H>>2]=h+-10;break}else{lg(d,10);break}while(0);b[e+53428>>1]=g}k=e+53432|0;z=a[k>>0]|0;r=e+53442|0;A=a[r>>0]|0;n=e+53433|0;B=a[n>>0]|0;o=e+53435|0;C=a[o>>0]|0;p=e+53436|0;D=a[p>>0]|0;q=e+53434|0;E=a[q>>0]|0;g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}x=g&255;y=e+53426|0;a[y>>0]=x;if(x<<24>>24){g=e+12432|0;c[g>>2]=(c[g>>2]|0)+1;g=c[H>>2]|0;do if(!g){h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){lg(d,1);h=g;g=c[H>>2]|0;m=29;break}else{a[e+53431>>0]=g;g=0;m=32;break}}else{g=g+-1|0;c[H>>2]=g;h=(c[d>>2]|0)>>>g&1;m=29}while(0);do if((m|0)==29){a[e+53431>>0]=h;if(g>>>0<4){h=c[d+4>>2]|0;m=32;break}else{h=c[d>>2]<<32-g>>>28;break}}while(0);if((m|0)==32){x=4-g|0;h=((1<<g)+-1&c[d>>2])<<x|h>>>(32-x|0)}do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{lg(d,4);g=c[H>>2]|0;break}while(0);a[k>>0]=h;if(g>>>0<4){h=4-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>28;do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{lg(d,4);g=c[H>>2]|0;break}while(0);a[n>>0]=h;if(g>>>0<3){h=3-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>29;do if(!(a[G>>0]|0)){if(g>>>0<=3){lg(d,3);g=c[H>>2]|0;x=a[G>>0]|0;a[q>>0]=h;if(x<<24>>24){m=55;break}}else{g=g+-3|0;c[H>>2]=g;a[q>>0]=h}if(g>>>0>2){g=g+-2|0;c[H>>2]=g;m=56;break}else{lg(d,2);g=c[H>>2]|0;m=55;break}}else{a[q>>0]=h;m=55}while(0);if((m|0)==55)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){lg(d,1);h=c[H>>2]|0;m=59}else{i=g;h=g}}else m=56;if((m|0)==56){h=g+-1|0;c[H>>2]=h;g=(c[d>>2]|0)>>>h&1;m=59}do if((m|0)==59){if(h|0){h=h+-1|0;c[H>>2]=h;i=g;h=(c[d>>2]|0)>>>h&1;break}h=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){lg(d,1);i=g}else i=g}while(0);if(!i){a[o>>0]=2;a[p>>0]=1;g=2}else{g=c[H>>2]|0;if(g>>>0<2){j=2-g|0;i=c[d>>2]|0;j=(i&(1<<g)+-1)<<j|(c[d+4>>2]|0)>>>(32-j|0)}else{i=c[d>>2]|0;j=i<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[o>>0]=j;m=73;break}else{lg(d,2);g=c[H>>2]|0;m=71;break}else m=71;while(0);do if((m|0)==71){a[o>>0]=j;if(g|0){i=c[d>>2]|0;m=73;break}i=c[d+4>>2]|0;g=i>>>31;if(!(a[G>>0]|0)){lg(d,1);i=c[H>>2]|0;m=77;break}else{a[p>>0]=g;g=0;m=80;break}}while(0);if((m|0)==73){x=g+-1|0;c[H>>2]=x;g=i>>>x&1;i=x;m=77}do if((m|0)==77){a[p>>0]=g;if(i>>>0<2){g=i;i=c[d+4>>2]|0;m=80;break}else{j=c[d>>2]<<32-i>>>30;g=i;break}}while(0);if((m|0)==80){j=2-g|0;j=((1<<g)+-1&c[d>>2])<<j|i>>>(32-j|0)}do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{lg(d,2);break}while(0);g=j&255}a[e+53437>>0]=g;if(!h){a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;g=1}else{g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;break}else{lg(d,2);g=c[H>>2]|0;break}while(0);a[e+53438>>0]=h;if(g>>>0<2){i=2-g|0;h=c[d>>2]|0;i=(h&(1<<g)+-1)<<i|(c[d+4>>2]|0)>>>(32-i|0)}else{h=c[d>>2]|0;i=h<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[e+53439>>0]=i;m=104;break}else{lg(d,2);g=c[H>>2]|0;m=102;break}else m=102;while(0);do if((m|0)==102){a[e+53439>>0]=i;if(g|0){h=c[d>>2]|0;m=104;break}h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){lg(d,1);h=c[H>>2]|0;m=108;break}else{a[e+53440>>0]=g;g=h>>>31;break}}while(0);if((m|0)==104){x=g+-1|0;c[H>>2]=x;g=h>>>x&1;h=x;m=108}do if((m|0)==108){a[e+53440>>0]=g;if(h|0){g=h+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1;break}g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1)}while(0);g=g&255}a[e+53441>>0]=g}l=a[k>>0]|0;h=e+12412|0;j=a[n>>0]|0;g=e+12413|0;if((((l<<24>>24==(a[h>>0]|0)?j<<24>>24==(a[g>>0]|0):0)?(a[o>>0]|0)==(a[e+12415>>0]|0):0)?(a[p>>0]|0)==(a[e+12416>>0]|0):0)?(a[q>>0]|0)==(a[e+12414>>0]|0):0)k=(a[e+53437>>0]|0)!=(a[e+12417>>0]|0)&1;else k=1;x=e+12426|0;a[x>>0]=k;a[h>>0]=l;a[g>>0]=j;i=a[o>>0]|0;a[e+12415>>0]=i;h=a[p>>0]|0;a[e+12416>>0]=h;g=a[q>>0]|0;a[e+12414>>0]=g;a[e+12417>>0]=a[e+53437>>0]|0;a:do if(!(c[e+12432>>2]|0))i=1;else{if(!(k<<24>>24)){if(a[y>>0]|0?a[e+9>>0]|0:0)m=125}else m=125;if((m|0)==125?(kh(e,l,j,a[r>>0]|0,i,h,g)|0)<<24>>24:0)kh(e,z,B,A,C,D,E)|0;a[e+8>>0]=a[r>>0]|0?2:1;b:do switch(a[e+12436>>0]|0){case 0:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g|0?(s=c[H>>2]|0,(a[G>>0]|0)==0):0)if(s>>>0>4){c[H>>2]=s+-4;break}else{lg(d,4);break}while(0);g=lh(d,e,0)|0;if(!(g<<24>>24)){mh(d,e,0);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{lg(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}nh(d,e,0);oh(d,e,0);ph(e,0);g=e+12149|0;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}u=g&255;a[e+53443>>0]=u;if(u<<24>>24?(w=e+17|0,v=a[w>>0]|0,v<<24>>24):0){k=d+4|0;j=0;h=v;do{i=j&255;g=c[H>>2]|0;do if(!g){g=(c[k>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1);h=a[w>>0]|0}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);a[e+12149+i>>0]=g;j=j+1<<24>>24}while((j&255)<(h&255))}g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{lg(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{lg(d,8);break}while(0);g=(g&65535)+15|0}l=d+4|0;m=e+53448|0;i=0;g=g<<3;while(1){j=g&65535;k=g&65535;if((j&65535)<=7)break;g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[l>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{lg(d,2);break}while(0);g=h&255;a[m>>0]=g;do if((h&255|0)==2){if(!(i<<24>>24)){h=1;break}a[m>>0]=3;h=i;g=3}else h=i;while(0);g=(qh(d,e,g)|0)+2<<16>>16;if((g&65535)>(j&65535)){g=1;break b}else{i=h;g=k-(g&65535)|0}}if(j<<16>>16==0|(k|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>k>>>0){c[H>>2]=g-k;i=0;break a}else{lg(d,k);i=0;break a}}break}case 1:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g){g=c[H>>2]|0;if(!(a[G>>0]|0)){if(g>>>0<=4){lg(d,4);g=c[H>>2]|0;if(a[G>>0]|0){m=212;break}}else{g=g+-4|0;c[H>>2]=g}if(g>>>0>4){g=g+-4|0;c[H>>2]=g;m=213;break}else{lg(d,4);m=211;break}}else m=212}else m=211;while(0);if((m|0)==211){g=c[H>>2]|0;m=212}if((m|0)==212)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else m=213;if((m|0)==213){g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;n=e+53450|0;a[n>>0]=w;c:do if(!(w<<24>>24)){a[t>>0]=0;a[t+1>>0]=0;a[t+2>>0]=0;a[t+3>>0]=0;a[t+4>>0]=0;a[t+5>>0]=0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;h=e+610|0;i=a[h>>0]|0;j=e+614|0;k=a[j>>0]|0;l=e+53451|0;m=a[l>>0]|0;if(i<<24>>24)dl(t|0,e+616|0,(i+-1&255)+1|0)|0;if(k<<24>>24)dl(u|0,e+628|0,(k+-1&255)+1|0)|0;g=lh(d,e,0)|0;do if(!(g<<24>>24)){g=lh(d,e,1)|0;if(g<<24>>24){a[l>>0]=m;a[h>>0]=i;a[j>>0]=k;w=e+616|0;a[w>>0]=a[t>>0]|0;a[w+1>>0]=a[t+1>>0]|0;a[w+2>>0]=a[t+2>>0]|0;a[w+3>>0]=a[t+3>>0]|0;a[w+4>>0]=a[t+4>>0]|0;a[w+5>>0]=a[t+5>>0]|0;w=e+628|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;a[w+2>>0]=a[u+2>>0]|0;break}mh(d,e,0);mh(d,e,1);l=e+19|0;g=a[l>>0]|0;do if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{lg(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(!(g<<24>>24))break;else k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{lg(d,2);g=a[l>>0]|0;break}while(0);a[e+10981+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}while(0);nh(d,e,0);nh(d,e,1);oh(d,e,0);oh(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);break c}while(0);break b}else{g=lh(d,e,0)|0;if(g<<24>>24)break b;a[e+53452>>0]=a[e+53451>>0]|0;i=a[e+610>>0]|0;a[e+611>>0]=i;j=a[e+614>>0]|0;a[e+615>>0]=j;a[e+53508>>0]=a[e+53507>>0]|0;h=0;g=0;while(1){a[e+622+g>>0]=a[e+616+g>>0]|0;a[e+640+g>>0]=a[e+634+g>>0]|0;g=h+1<<24>>24;if((g&255)>(i&255)){h=0;g=0;break}else{h=g;g=g&255}}while(1){a[e+631+g>>0]=a[e+628+g>>0]|0;g=h+1<<24>>24;if((g&255)>(j&255))break;else{h=g;g=g&255}}mh(d,e,0);mh(d,e,1);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{lg(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(g<<24>>24){g=g&255;h=0;do{a[e+10981+h>>0]=a[e+10976+h>>0]|0;h=h+1|0}while((h|0)!=(g|0))}}nh(d,e,0);oh(d,e,0);nh(d,e,1);oh(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;if(!(w<<24>>24))break;k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;lg(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);ph(e,0);ph(e,1);if(a[n>>0]|0)rh(e);g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))lg(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{lg(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{lg(d,8);break}while(0);g=(g&65535)+15|0}k=d+4|0;l=e+53448|0;g=g<<3;while(1){i=g&65535;j=g&65535;if((i&65535)<=7)break;h=c[H>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[k>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{lg(d,2);break}while(0);g=g&255;a[l>>0]=g;g=(qh(d,e,g)|0)+2<<16>>16;if((g&65535)>(i&65535)){g=1;break b}else g=j-(g&65535)|0}if(i<<16>>16==0|(j|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>j>>>0){c[H>>2]=g-j;i=0;break a}else{lg(d,j);i=0;break a}}default:{i=0;break a}}while(0);if(!(a[x>>0]|0)){if(!(a[y>>0]|0)){i=g;break}if(!(a[e+9>>0]|0)){i=g;break}}kh(e,z,B,A,C,D,E)|0;i=g}while(0);h=(jg(d)|0)-F|0;g=(f&65535)<<3;if(g>>>0<(h&65535)>>>0){mg(d,(F&65535)+g|0);a[e+53424>>0]=0;d=1;Vb=I;return d|0}g=g-h&65535;if(g>>>0>7)do{h=c[H>>2]|0;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{lg(d,8);break}while(0);g=g+65528&65535}while(g>>>0>7);if(!g){d=i;Vb=I;return d|0}h=c[H>>2]|0;if(a[G>>0]|0){d=i;Vb=I;return d|0}if(h>>>0>g>>>0){c[H>>2]=h-g;d=i;Vb=I;return d|0}else{lg(d,g);d=i;Vb=I;return d|0}return 0}function kh(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;j=yh(d,f,c[b>>2]|0)|0;d=b+13|0;a[d>>0]=j;j=zh(e,c[b>>2]|0,j)|0;e=c[b>>2]|0;do if(e>>>0<=47999){d=a[d>>0]|0;f=(j&255)-(d&255)|0;if(e>>>0<32001){f=(f|0)>48;break}else{f=(f|0)>45;break}}else{d=a[d>>0]|0;f=((j&255)-(d&255)|0)>32}while(0);if(!(g<<24>>24))d=Ah(b,d,j,h)|0;else d=Bh(b,d,j,g,h)|0;return ((d&255)+(f&1)+((Ch(b,i,j)|0)&255)&255|0)!=0|0}function lh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=f&255;w=e+610+v|0;x=a[w>>0]|0;y=e+614+v|0;z=a[y>>0]|0;A=e+53451+v|0;B=a[A>>0]|0;u=b+8|0;h=c[u>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>30;t=b+20|0;do if(!(a[t>>0]|0))if(h>>>0>2){c[u>>2]=h+-2;break}else{lg(b,2);break}while(0);g=g&255;a[A>>0]=g;switch(g<<24>>24){case 0:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;i=c[b>>2]|0;h=(i&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else{i=c[b>>2]|0;h=i<<32-g>>>30}do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;h=1<<(h&255);h=((h|0)<5?h:5)&255;j=18;break}else{lg(b,2);g=c[u>>2]|0;j=16;break}else j=16;while(0);do if((j|0)==16){h=1<<(h&255);h=((h|0)<5?h:5)&255;if(g|0){i=c[b>>2]|0;j=18;break}g=(c[b+4>>2]|0)>>>31;if(!(a[t>>0]|0))lg(b,1)}while(0);if((j|0)==18){g=g+-1|0;c[u>>2]=g;g=i>>>g&1}if(h<<24>>24)fl(e+((v*6|0)+634)|0,g&255|0,(h+-1&255)+1|0)|0;a[e+602+v>>0]=0;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=(h&255)+255;g=0;j=173;break}case 1:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{lg(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{lg(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;p=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{lg(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((p|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,q=d[119381+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<q>>>0){g=q-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-q|0);if(!(a[t>>0]|0))if(i>>>0>q>>>0){c[u>>2]=i-q;break}else{lg(b,q);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))lg(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[p-k+(e+634+(v*6|0))>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=0;a[e+604+v>>0]=o;a[e+606+v>>0]=0;g=p&255;j=173;break}case 2:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{lg(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{lg(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;o=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{lg(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((o|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,r=d[119381+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<r>>>0){g=r-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-r|0);if(!(a[t>>0]|0))if(i>>>0>r>>>0){c[u>>2]=i-r;break}else{lg(b,r);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))lg(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+k>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=p;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=o;g=0;j=173;break}case 3:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{lg(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{lg(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{lg(b,2);break}while(0);n=e+53513+v|0;a[n>>0]=h;g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{lg(b,2);break}while(0);g=h&255;m=e+53515+v|0;a[m>>0]=g;r=a[n>>0]|0;h=(h&255)+(r&255)|0;h=h>>>0>4?5:h+1&255;if(!(r<<24>>24))j=0;else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{lg(b,2);break}while(0);a[e+53471+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;j=a[n>>0]|0}while((k&255)<(j&255));g=a[m>>0]|0}if(!(g<<24>>24)){i=0;g=j}else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{lg(b,2);break}while(0);a[e+53489+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;i=a[m>>0]|0}while((k&255)<(i&255));g=a[n>>0]|0}g=(i&255)+2+(g&255)|0;do if((g&255)<10?(r=g<<24>>24,s=d[119381+r>>0]|0,r>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<s>>>0){g=s-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-s|0);if(!(a[t>>0]|0))if(i>>>0>s>>>0){c[u>>2]=i-s;break}else{lg(b,s);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(h<<24>>24){i=b+4|0;k=h&255;j=0;do{g=c[u>>2]|0;if(!g){g=(c[i>>2]|0)>>>31;if(!(a[t>>0]|0))lg(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+j>>0]=g;j=j+1|0}while((j|0)!=(k|0))}a[e+602+v>>0]=p;a[e+604+v>>0]=o;a[e+606+v>>0]=a[n>>0]|0;g=a[m>>0]|0;j=173;break}default:h=0}if((j|0)==173){a[e+608+v>>0]=g;g=a[A>>0]|0}v=h&255;g=g<<24>>24==3?5:4;g=g>>>0>v>>>0?v:g;a[w>>0]=g;if(!g){B=1;return B|0}a[y>>0]=(g|0)!=1?2:1;g=wh(e,f)|0;if(!(g<<24>>24)){xh(e,f);B=0;return B|0}else{a[A>>0]=B;a[w>>0]=x;a[y>>0]=z;B=g;return B|0}return 0}function mh(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=f&255;i=e+610+m|0;if(a[i>>0]|0){j=b+8|0;k=b+4|0;l=b+20|0;g=0;do{h=g&255;f=c[j>>2]|0;if(!f){f=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))lg(b,1)}else{f=f+-1|0;c[j>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53517+(m*9|0)+h>>0]=f;g=g+1<<24>>24}while((g&255)<(d[i>>0]|0))}h=e+614+m|0;if(!(a[h>>0]|0))return;i=b+8|0;j=b+4|0;k=b+20|0;g=0;do{l=g&255;f=c[i>>2]|0;if(!f){f=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))lg(b,1)}else{f=f+-1|0;c[i>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53535+(m*3|0)+l>>0]=f;g=g+1<<24>>24}while((g&255)<(d[h>>0]|0));return}function nh(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=g&255;x=f+610+w|0;i=a[x>>0]|0;if(i<<24>>24==1?(a[f+53451+w>>0]|0)==0:0)h=0;else h=a[f+53431>>0]|0;t=f+11+w|0;a[t>>0]=h;u=f+53450|0;v=g<<24>>24==1;j=v&(a[u>>0]|0)!=0;r=h<<24>>24==0;s=j?(r?118537:118633):r?118777:119017;r=j?(r?118681:118365):r?119141:118413;if(!(i<<24>>24)){vh(f,g);return}o=e+8|0;p=e+4|0;q=e+20|0;n=j&1;m=0;l=0;while(1){if(!(a[f+53517+(w*9|0)+l>>0]|0)){i=(a[t>>0]|0)==0;i=v&(a[u>>0]|0)==1?(i?6:5):i?7:6;j=c[o>>2]|0;if(j>>>0<i>>>0){h=i-j|0;h=(c[e>>2]&(1<<j)+-1)<<h|(c[p>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-j>>>(32-i|0);do if(!(a[q>>0]|0))if(j>>>0>i>>>0){c[o>>2]=j-i;break}else{lg(e,i);break}while(0);b[f+730+(w*640|0)+(l<<1)>>1]=h<<n;k=f+634+(w*6|0)+l|0;if((d[(d[k>>0]|0)+(f+24)>>0]|0)>1){j=1;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))lg(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[r+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}else{k=f+634+(w*6|0)+l|0;if(a[(d[k>>0]|0)+(f+24)>>0]|0){j=0;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))lg(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[s+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}h=m+1<<24>>24;if((h&255)<(d[x>>0]|0)){m=h;l=h&255}else break}vh(f,g);return}function oh(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;g=f<<24>>24==1&(a[e+53450>>0]|0)==1;o=g?118193:118241;n=g?118365:118413;s=f&255;t=e+614+s|0;if(!(a[t>>0]|0)){uh(e,f);return}p=b+8|0;q=b+4|0;r=b+20|0;l=g&1;m=e+19|0;k=0;j=0;while(1){if(!(a[e+53535+(s*3|0)+j>>0]|0)){h=c[p>>2]|0;if(h>>>0<5){g=5-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[q>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>27;do if(!(a[r>>0]|0))if(h>>>0>5){c[p>>2]=h+-5;break}else{lg(b,5);break}while(0);c[e+7388+(s<<9)+(j<<2)>>2]=g<<l;if((d[m>>0]|0)>1){h=1;do{i=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))lg(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[n+(i<<1)+g>>0]|0;i=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((h&255)<<3)+(j<<2)>>2]=i+64<<l;h=h+1<<24>>24}while((h&255)<(d[m>>0]|0))}}else if(a[m>>0]|0){i=0;do{h=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))lg(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[o+(h<<1)+g>>0]|0;h=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((i&255)<<3)+(j<<2)>>2]=h+64<<l;i=i+1<<24>>24}while((i&255)<(d[m>>0]|0))}g=k+1<<24>>24;if((g&255)<(d[t>>0]|0)){k=g;j=g&255}else break}uh(e,f);return}function ph(e,g){e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=e+53450|0;if(a[t>>0]|0)return;u=g&255;h=(a[e+11+u>>0]|0)==0;p=a[e+610+u>>0]|0;a:do if(p<<24>>24){q=h&1;if(h){o=0;m=0}else{n=0;l=0;while(1){m=(d[e+634+(u*6|0)+l>>0]|0)+(e+24)|0;if(a[m>>0]|0){k=0;i=0;while(1){h=b[e+730+(u*640|0)+(i*10|0)+(l<<1)>>1]>>q;if(h>>>0>63)j=0.0;else j=+f[44144+(h<<2)>>2];f[e+2268+(u*1280|0)+(i*20|0)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(d[m>>0]|0)){k=h;i=h&255}else break}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;l=h&255}else break a}}while(1){n=(d[e+634+(u*6|0)+m>>0]|0)+(e+24)|0;if(a[n>>0]|0){l=0;i=0;while(1){k=b[e+730+(u*640|0)+(i*10|0)+(m<<1)>>1]|0;h=k<<16>>16>>q;if(h>>>0<=63){j=+f[44144+(h<<2)>>2];h=e+2268+(u*1280|0)+(i*20|0)+(m<<2)|0;f[h>>2]=j;if(k&1)f[h>>2]=j*1.4142135381698608}else f[e+2268+(u*1280|0)+(i*20|0)+(m<<2)>>2]=0.0;h=l+1<<24>>24;if((h&255)<(d[n>>0]|0)){l=h;i=h&255}else break}}h=o+1<<24>>24;if((h&255)<(p&255)){o=h;m=h&255}else break}}while(0);p=a[e+614+u>>0]|0;if(!(p<<24>>24))return;o=g<<24>>24==0;n=a[e+19>>0]|0;m=0;h=n;l=0;while(1){if(h<<24>>24)if(o){k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[46112+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(v=c[e+7900+(i<<3)+(l<<2)>>2]|0,v>>>0<=24):0)j=+f[44500+(h*52|0)+(v>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[49460+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(w=c[e+7900+(i<<3)+(l<<2)>>2]|0,w>>>0<=24):0)j=+f[47848+(h*52|0)+(w>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else{k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[46112+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(r=c[e+7900+(i<<3)+(l<<2)>>2]|0,r>>>0<=24):0)j=+f[46236+(h*52|0)+(r>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[49460+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(s=c[e+7900+(i<<3)+(l<<2)>>2]|0,s>>>0<=24):0)j=+f[49584+(h*52|0)+(s>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else h=0;i=m+1<<24>>24;if((i&255)<(p&255)){m=i;l=i&255}else break}return}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+16|0;i=j;if(e<<24>>24!=2){f=b+8|0;g=c[f>>2]|0;if(g>>>0<6){e=6-g|0;e=(c[b>>2]&(1<<g)+-1)<<e|(c[b+4>>2]|0)>>>(32-e|0)}else e=c[b>>2]<<32-g>>>26;do if(!(a[b+20>>0]|0))if(g>>>0>6){c[f>>2]=g+-6;break}else{lg(b,6);break}while(0);a[d+53449>>0]=e;d=6;Vb=j;return d|0}f=d+53420|0;e=c[f>>2]|0;if(!e){e=Bg(c[d>>2]|0)|0;e=sh(e,a[d+53416>>0]|0)|0;c[f>>2]=e}h=d+53425|0;if(a[h>>0]|0)a[e+719>>0]=0;g=th(e,b,i)|0;f=d+53424|0;e=(a[i>>0]|0)==1;if(!((a[f>>0]|0)==0&e)){if(!e){d=g;Vb=j;return d|0}}else a[f>>0]=1;a[h>>0]=0;d=g;Vb=j;return d|0}function rh(e){e=e|0;var g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=(a[e+11>>0]|0)==0;s=a[e+610>>0]|0;if(s<<24>>24){p=r&1;q=(a[e+12>>0]|0)==0&1;o=0;m=0;while(1){n=(d[e+634+m>>0]|0)+(e+24)|0;if(a[n>>0]|0)if(r){l=0;k=0;while(1){g=b[e+730+(k*10|0)+(m<<1)>>1]|0;h=b[e+1370+(k*10|0)+(m<<1)>>1]>>q;j=(g>>p<<16)+65536|0;if(h>>>0>24|j>>>0>4128768){f[e+3548+(k*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[44144+(j>>16<<2)>>2];i=(g&1|0)==0?i:i*1.4142135381698608;f[e+2268+(k*20|0)+(m<<2)>>2]=+f[44400+(h<<2)>>2]*i;i=i*+f[44400+(24-h<<2)>>2];g=1}f[e+2268+(g*1280|0)+(k*20|0)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(d[n>>0]|0)){l=g;k=g&255}else break}}else{k=0;j=0;while(1){g=b[e+1370+(j*10|0)+(m<<1)>>1]>>q;h=(b[e+730+(j*10|0)+(m<<1)>>1]>>p<<16)+65536|0;if(g>>>0>24|h>>>0>4128768){f[e+3548+(j*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[44144+(h>>16<<2)>>2];f[e+2268+(j*20|0)+(m<<2)>>2]=+f[44400+(g<<2)>>2]*i;i=i*+f[44400+(24-g<<2)>>2];g=1}f[e+2268+(g*1280|0)+(j*20|0)+(m<<2)>>2]=i;g=k+1<<24>>24;if((g&255)<(d[n>>0]|0)){k=g;j=g&255}else break}}g=o+1<<24>>24;if((g&255)<(s&255)){o=g;m=g&255}else break}}p=a[e+614>>0]|0;if(!(p<<24>>24))return;q=e+53450|0;o=a[e+19>>0]|0;n=0;g=o;m=0;while(1){if(!(g<<24>>24))g=0;else{l=0;k=0;while(1){j=c[e+7388+(k<<3)+(m<<2)>>2]|0;h=j>>>0>30;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[46112+(j<<2)>>2];else if(!h?(t=c[e+7900+(k<<3)+(m<<2)>>2]|0,t>>>0<=24):0)i=+f[44500+(j*52|0)+(t>>>1<<2)>>2];else i=0.0;f[e+8412+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[46112+(g<<2)>>2]}else if(!h?(u=c[e+7900+(k<<3)+(m<<2)>>2]|0,u>>>0<=24):0)i=+f[46236+(j*52|0)+(u>>>1<<2)>>2];else i=0.0;f[e+8924+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[49460+(j<<2)>>2];else if(!h?(v=c[e+7900+(k<<3)+(m<<2)>>2]|0,v>>>0<=24):0)i=+f[47848+(j*52|0)+(v>>>1<<2)>>2];else i=0.0;f[e+9436+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[49460+(g<<2)>>2]}else if(!h?(w=c[e+7900+(k<<3)+(m<<2)>>2]|0,w>>>0<=24):0)i=+f[49584+(j*52|0)+(w>>>1<<2)>>2];else i=0.0;f[e+9948+(k<<3)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(o&255)){l=g;k=g&255}else{g=o;break}}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;m=h&255}else break}return}function sh(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0;i=og(22736)|0;fl(i|0,0,22736)|0;g=og(24)|0;a[g+4>>0]=12;a[g+5>>0]=8;a[g+6>>0]=4;a[g+7>>0]=4;a[g+8>>0]=4;a[g+1>>0]=8;a[g+2>>0]=2;a[g+3>>0]=2;a[g>>0]=e;h=og(((e&255)<<3)+96|0)|0;c[g+12>>2]=h;fl(h|0,0,(d[g>>0]<<3)+96|0)|0;h=g+16|0;c[h>>2]=og(20)|0;b=og(d[g>>0]<<3)|0;c[c[h>>2]>>2]=b;fl(c[c[h>>2]>>2]|0,0,d[g>>0]<<3|0)|0;b=og(d[g>>0]<<3)|0;c[(c[h>>2]|0)+4>>2]=b;fl(c[(c[h>>2]|0)+4>>2]|0,0,d[g>>0]<<3|0)|0;b=og(d[g>>0]<<3)|0;c[(c[h>>2]|0)+8>>2]=b;fl(c[(c[h>>2]|0)+8>>2]|0,0,d[g>>0]<<3|0)|0;b=og(d[g>>0]<<3)|0;c[(c[h>>2]|0)+12>>2]=b;fl(c[(c[h>>2]|0)+12>>2]|0,0,d[g>>0]<<3|0)|0;b=og(d[g>>0]<<3)|0;c[(c[h>>2]|0)+16>>2]=b;fl(c[(c[h>>2]|0)+16>>2]|0,0,d[g>>0]<<3|0)|0;h=g+20|0;c[h>>2]=og(d[g>>0]<<2)|0;if(a[g>>0]|0){b=0;do{j=og(96)|0;c[(c[h>>2]|0)+((b&255)<<2)>>2]=j;b=b+1<<24>>24}while((b&255)<(d[g>>0]|0))}c[i+720>>2]=g;a[i+725>>0]=e;a[i+718>>0]=0;a[i+740>>0]=0;b=i+811|0;g=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(g|0));a[i+741>>0]=0;a[i+744>>0]=3;a[i+742>>0]=0;a[i+745>>0]=4;a[i+743>>0]=0;a[i+746>>0]=5;a[i+729>>0]=22;f[i+20076>>2]=.765928328037262;f[i+20080>>2]=.25;b=i+747|0;g=b+35|0;do{a[b>>0]=14;b=b+1|0}while((b|0)<(g|0));b=i+782|0;g=b+29|0;do{a[b>>0]=1;b=b+1|0}while((b|0)<(g|0));f[i+20492>>2]=1.0;f[i+20896>>2]=1.0;f[i+20500>>2]=1.0;f[i+20904>>2]=1.0;f[i+20508>>2]=1.0;f[i+20912>>2]=1.0;f[i+20516>>2]=1.0;f[i+20920>>2]=1.0;f[i+20524>>2]=1.0;f[i+20928>>2]=1.0;f[i+20532>>2]=1.0;f[i+20936>>2]=1.0;f[i+20540>>2]=1.0;f[i+20944>>2]=1.0;f[i+20548>>2]=1.0;f[i+20952>>2]=1.0;f[i+20556>>2]=1.0;f[i+20960>>2]=1.0;f[i+20564>>2]=1.0;f[i+20968>>2]=1.0;f[i+20572>>2]=1.0;f[i+20976>>2]=1.0;f[i+20580>>2]=1.0;f[i+20984>>2]=1.0;f[i+20588>>2]=1.0;f[i+20992>>2]=1.0;f[i+20596>>2]=1.0;f[i+21e3>>2]=1.0;f[i+20604>>2]=1.0;f[i+21008>>2]=1.0;f[i+20612>>2]=1.0;f[i+21016>>2]=1.0;f[i+20620>>2]=1.0;f[i+21024>>2]=1.0;f[i+20628>>2]=1.0;f[i+21032>>2]=1.0;f[i+20636>>2]=1.0;f[i+21040>>2]=1.0;f[i+20644>>2]=1.0;f[i+21048>>2]=1.0;f[i+20652>>2]=1.0;f[i+21056>>2]=1.0;f[i+20660>>2]=1.0;f[i+21064>>2]=1.0;f[i+20668>>2]=1.0;f[i+21072>>2]=1.0;f[i+20676>>2]=1.0;f[i+21080>>2]=1.0;f[i+20684>>2]=1.0;f[i+21088>>2]=1.0;f[i+20692>>2]=1.0;f[i+21096>>2]=1.0;f[i+20700>>2]=1.0;f[i+21104>>2]=1.0;f[i+20708>>2]=1.0;f[i+21112>>2]=1.0;f[i+20716>>2]=1.0;f[i+21120>>2]=1.0;f[i+20724>>2]=1.0;f[i+21128>>2]=1.0;f[i+20732>>2]=1.0;f[i+21136>>2]=1.0;f[i+20740>>2]=1.0;f[i+21144>>2]=1.0;f[i+20748>>2]=1.0;f[i+21152>>2]=1.0;f[i+20756>>2]=1.0;f[i+21160>>2]=1.0;f[i+20764>>2]=1.0;f[i+21168>>2]=1.0;f[i+20772>>2]=1.0;f[i+21176>>2]=1.0;f[i+20780>>2]=1.0;f[i+21184>>2]=1.0;f[i+20788>>2]=1.0;f[i+21192>>2]=1.0;f[i+20796>>2]=1.0;f[i+21200>>2]=1.0;f[i+20804>>2]=1.0;f[i+21208>>2]=1.0;f[i+20812>>2]=1.0;f[i+21216>>2]=1.0;f[i+20820>>2]=1.0;f[i+21224>>2]=1.0;f[i+20828>>2]=1.0;f[i+21232>>2]=1.0;f[i+20836>>2]=1.0;f[i+21240>>2]=1.0;f[i+20844>>2]=1.0;f[i+21248>>2]=1.0;f[i+20852>>2]=1.0;f[i+21256>>2]=1.0;f[i+20860>>2]=1.0;f[i+21264>>2]=1.0;f[i+20868>>2]=1.0;f[i+21272>>2]=1.0;f[i+20876>>2]=1.0;f[i+21280>>2]=1.0;f[i+20884>>2]=1.0;f[i+21288>>2]=1.0;a[i+22092>>0]=0;e=i+22416|0;j=i+22096|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22112|0;j=i+22432|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22128|0;e=i+22448|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22144|0;j=i+22464|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22160|0;e=i+22480|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22176|0;j=i+22496|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22192|0;e=i+22512|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22208|0;j=i+22528|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22224|0;e=i+22544|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22240|0;j=i+22560|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22256|0;e=i+22576|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22272|0;j=i+22592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22288|0;e=i+22608|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22304|0;j=i+22624|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22320|0;e=i+22640|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22336|0;j=i+22656|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22352|0;e=i+22672|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22368|0;j=i+22688|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22384|0;e=i+22704|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22400|0;j=i+22720|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;return i|0} |
| | | function ic(){Md();Gi()}function jc(a){a=a|0;var b=0;b=Vb;Vb=Vb+a|0;Vb=Vb+15&-16;return b|0}function kc(){return Vb|0}function lc(a){a=a|0;Vb=a}function mc(a,b){a=a|0;b=b|0;Vb=a;Wb=b}function nc(){Ra();return 0}function oc(a){a=a|0;var b=0;ba(584,592,608,0,106564,3,106567,0,106567,0,105800,106569,22);b=Ej(8)|0;c[b>>2]=2;c[b+4>>2]=0;da(584,105809,3,1344,106572,3,b|0,0);b=Ej(8)|0;c[b>>2]=3;c[b+4>>2]=0;da(584,105815,3,1356,106572,4,b|0,0);b=Ej(8)|0;c[b>>2]=23;c[b+4>>2]=0;da(584,105822,2,1368,106577,4,b|0,0);b=Ej(8)|0;c[b>>2]=24;c[b+4>>2]=0;da(584,105829,2,1368,106577,4,b|0,0);b=Ej(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=Ej(8)|0;c[a>>2]=6;c[a+4>>2]=0;ea(584,105847,576,106581,1,b|0,576,106572,5,a|0);a=Ej(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=Ej(8)|0;c[b>>2]=8;c[b+4>>2]=0;ea(584,105857,576,106581,1,a|0,576,106572,5,b|0);b=Ej(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Ej(8)|0;c[a>>2]=10;c[a+4>>2]=0;ea(584,105865,576,106581,1,b|0,576,106572,5,a|0);a=Ej(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Ej(8)|0;c[b>>2]=12;c[b+4>>2]=0;ea(584,105877,576,106581,1,a|0,576,106572,5,b|0);b=Ej(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Ej(8)|0;c[a>>2]=14;c[a+4>>2]=0;ea(584,105889,576,106581,1,b|0,576,106572,5,a|0);a=Ej(8)|0;c[a>>2]=15;c[a+4>>2]=0;ea(584,105893,576,106581,1,a|0,0,0,0,0);ba(664,680,696,584,106564,4,106564,5,106564,6,105904,106569,25);a=Ej(4)|0;c[a>>2]=26;da(664,106585,2,1376,106577,16,a|0,0);ca(584,106605,3,1384,106741,5,2);ca(584,106615,3,1508,106741,6,6);return}function pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Vb;Vb=Vb+16|0;n=o+8|0;m=o;e=b+224|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[123344]|0)==0?Qk(123344)|0:0)c[30852]=va(1,1296)|0;sa(c[30852]|0,f|0,105917,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Aa(105923)|0;g=wa(g|0,j|0)|0;ta(j|0);j=Hc(g,105935)|0;ta(g|0);c[n>>2]=105943;c[n+4>>2]=j?105952:105957;Na(0,n|0);a[b+80>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=cj(f,46,g)|0;if(!f){g=h;break a}if(!(Pi(f,105963,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+225>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=ua(105968)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=yj(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=yj(f+4|0)|0;c[g>>2]=f;e=d}dl(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=za(h|0,1,1304,n|0)|0;ta(h|0);Fc(m,105978,105989);Gc(n,b,105815);k=c[m>>2]|0;d=Aa(106001)|0;Ea(k|0,d|0,c[n>>2]|0);ta(d|0);ta(c[n>>2]|0);c[b+216>>2]=Ja()|0;b=c[l>>2]|0;n=Aa(106011)|0;Ea(b|0,n|0,c[m>>2]|0);ta(n|0);ta(c[m>>2]|0);Vb=o;return}function qc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Vb;Vb=Vb+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=Aa(106139)|0;c[w>>2]=wa(f|0,x|0)|0;ta(x|0);Kc(y,w);ta(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+220|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ja()|0;h=b+216|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+240>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+225>>0]|0))switch(a[(Wj(y,0)|0)>>0]|0){case 1:{Rj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Lc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)Fj(c[w>>2]|0);break a}case 2:{Rj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Mc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)Fj(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=Aa(106011)|0;e=wa(e|0,f|0)|0;ta(f|0);f=Aa(106165)|0;h=f;if((a[123392]|0)==0?Qk(123392)|0:0)c[30858]=va(2,1332)|0;b=c[30858]|0;xa(f|0);c[w>>2]=h;sa(b|0,e|0,106160,w|0);ta(f|0);ta(e|0);break a}default:{b=a[(Wj(y,0)|0)>>0]|0;c[k>>2]=106181;c[k+4>>2]=b;Na(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Xj(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;el(f|0,f+13|0,b|0)|0;Tj(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;Rj(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Xj(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)Fj(c[s>>2]|0);switch(k<<24>>24){case 8:{Lc(b,e,w);break}case 9:{Mc(b,e,w);break}default:{c[t>>2]=106144;c[t+4>>2]=k&255;Na(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)Fj(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;el(f|0,f+r|0,A|0)|0;Tj(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Vb=z;return}Fj(c[y>>2]|0);Vb=z;return}function rc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+16|0;h=j;g=ua(106502)|0;f=b+208|0;c[h>>2]=c[f>>2];ta(qa(g|0,1,1340,h|0)|0);ta(g|0);g=b+180|0;ad(g);$c(g);h=c[b+184>>2]|0;i=b+188|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);bd(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+80>>0]|0)==0?(e=c[b+52>>2]|0,e|0):0)zj(e);c[f>>2]=0;a[b+212>>0]=1;a[b+204>>0]=0;Tj(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Vb=j;return}function sc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Vb;Vb=Vb+16|0;g=o+4|0;i=o;j=b+200|0;a:do if(c[j>>2]|0){k=b+184|0;l=b+196|0;m=b+4|0;n=b+232|0;h=b+44|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=Sc(c[m>>2]|0,106493,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Rc(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){Fj(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){Fj(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+204>>0]=1;c[b+208>>2]=Tc(c[m>>2]|0,106477,i)|0;Vb=o;return}while(0);a[b+204>>0]=0;Vb=o;return}function tc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Vb;Vb=Vb+16|0;f=e;c[f>>2]=d[b+224>>0];c[a>>2]=Fa(1184,f|0)|0;Vb=e;return}function uc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Vb;Vb=Vb+16|0;g=e;f=+pa(c[d>>2]|0,1184,g|0);Da(c[g>>2]|0);a[b+224>>0]=f!=0.0&1;Vb=e;return}function vc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Vb;Vb=Vb+16|0;f=e;c[f>>2]=d[b+225>>0];c[a>>2]=Fa(1184,f|0)|0;Vb=e;return}function wc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Vb;Vb=Vb+16|0;g=e;f=+pa(c[d>>2]|0,1184,g|0);Da(c[g>>2]|0);a[b+225>>0]=f!=0.0&1;Vb=e;return}function xc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Vb;Vb=Vb+16|0;e=d;c[e>>2]=c[b+228>>2];c[a>>2]=Fa(1232,e|0)|0;Vb=d;return}function yc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Vb;Vb=Vb+16|0;f=d;e=+pa(c[b>>2]|0,1232,f|0);Da(c[f>>2]|0);c[a+228>>2]=~~e;Vb=d;return}function zc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Vb;Vb=Vb+16|0;e=d;c[e>>2]=c[b+232>>2];c[a>>2]=Fa(1232,e|0)|0;Vb=d;return}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Vb;Vb=Vb+16|0;f=d;e=+pa(c[b>>2]|0,1232,f|0);Da(c[f>>2]|0);c[a+232>>2]=~~e;Vb=d;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Vb;Vb=Vb+16|0;e=d;g[e>>3]=+g[b+240>>3];c[a>>2]=Fa(1272,e|0)|0;Vb=d;return}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Vb;Vb=Vb+16|0;f=d;e=+pa(c[b>>2]|0,1272,f|0);Da(c[f>>2]|0);g[a+240>>3]=e;Vb=d;return}function Dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Vb;Vb=Vb+16|0;e=d+4|0;f=d;c[e>>2]=Ba()|0;i=b+184|0;h=b+196|0;j=c[h>>2]|0;g=(j>>>0)/204|0;cd(e,106515,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+200|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;dd(e,106521,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];ed(e,106526,f);b=c[e>>2]|0;c[a>>2]=b;xa(b|0);ta(c[e>>2]|0);Vb=d;return}function Ec(a){a=a|0;ta(c[a>>2]|0);return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Aa(b|0)|0;d=Aa(d|0)|0;Ea(a|0,b|0,d|0);ta(d|0);ta(b|0);return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Aa(d|0)|0;d=wa(f|0,e|0)|0;ta(e|0);Jc(a,d,106115,b);ta(d|0);return}function Hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Vb;Vb=Vb+16|0;e=g;f=g+8|0;if((a[123352]|0)==0?Qk(123352)|0:0)c[30853]=va(1,1300)|0;h=+ra(c[30853]|0,b|0,d|0,f|0,e|0);Da(c[f>>2]|0);Vb=g;return h!=0.0|0}function Ic(a){a=a|0;Q(a|0)|0;tk()}function Jc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Vb;Vb=Vb+16|0;g=i;h=i+8|0;if((a[123360]|0)==0?Qk(123360)|0:0)c[30854]=va(2,1308)|0;k=c[30854]|0;xa(c[f>>2]|0);c[g>>2]=c[f>>2];j=+ra(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Da(h|0);Vb=i;return}function Kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Vb;Vb=Vb+16|0;e=h;i=+pa(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Kj(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Da(e|0);Vb=h;return}else d=b}else{j=g+16&-16;d=Ej(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}dl(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Da(e|0);Vb=h;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;j=Vb;Vb=Vb+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+213|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Oc(b,c[b+228>>2]<<10,d,g);break}case 11:{Oc(b,16e3,16e3,g);break}case 2:{Oc(b,(c[b+228>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){Vb=j;return}}g=b+28|0;if((h|0)!=10){Vb=j;return}f=b+32|0;d=Pc(g,e,(c[b+36>>2]|0)+(c[f>>2]|0)|0)|0;if(!d){Vb=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){Vb=j;return}d=c[b+4>>2]|0;if((a[123344]|0)==0?Qk(123344)|0:0)c[30852]=va(1,1296)|0;sa(c[30852]|0,d|0,106264,i|0);Vb=j;return}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,p=0,q=0;q=Vb;Vb=Vb+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+212|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=106346;Na(0,j|0);break}case 12:{c[k>>2]=106361;Na(0,k|0);break}default:{c[l>>2]=106376;c[l+4>>2]=f;Na(0,l|0);Vb=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Vb=q;return}Qc(b+44|0,e,f);a[i>>0]=0;c[m>>2]=106436;Na(0,m|0);Vb=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[123344]|0)==0?Qk(123344)|0:0)c[30852]=va(1,1296)|0;sa(c[30852]|0,f|0,106452,o|0);Vb=q;return}if(!d){Vb=q;return}c[p>>2]=f+5;f=b+232|0;a:do if(c[f>>2]|0){g=b+204|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=Sc(c[h>>2]|0,106493,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+208>>2]=Tc(c[h>>2]|0,106477,n)|0;break}else break a}while(0);j=b+188|0;g=c[j>>2]|0;k=b+184|0;f=c[k>>2]|0;o=g-f|0;i=b+196|0;l=b+200|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){Uc(b+180|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Vb=q;return}while(0);Rc(b+44|0,e);Vb=q;return}function Nc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;Fj(c[b>>2]|0);return}function Oc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Vb;Vb=Vb+32|0;h=i;a[b+213>>0]=0;j=w(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=yj(j)|0;c[h>>2]=106284;c[h+4>>2]=j;Na(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[123368]|0)==0?Qk(123368)|0:0)c[30855]=va(5,16)|0;j=c[30855]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;sa(j|0,b|0,106274,h|0);Vb=i;return}function Pc(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=Vb;Vb=Vb+128|0;n=q+8|0;p=q;o=q+24|0;i=q+112|0;j=e+11|0;k=a[j>>0]|0;l=k<<24>>24<0;m=c[e>>2]|0;g=e+12|0;h=c[g>>2]|0;r=a[(l?m:e)+h+1+-1>>0]|0;h=h+1|0;c[g>>2]=h;if(!(r<<24>>24)){p=b+12|0;r=Kg(c[p>>2]|0)|0;a[r>>0]=4;Lg(c[p>>2]|0,r)|0;Qg(c[p>>2]|0,((a[j>>0]|0)<0?c[e>>2]|0:e)+(c[g>>2]|0)|0,4,o,i)|0;p=c[o>>2]|0;r=d[i>>0]|0;c[n>>2]=106316;c[n+4>>2]=p;c[n+8>>2]=r;Na(0,n|0);r=0;Vb=q;return r|0}b=ah(c[b+12>>2]|0,o,l?m+h|0:e+h|0,(l?c[e+4>>2]|0:k&255)-h|0)|0;e=a[o+9>>0]|0;if(!(e<<24>>24)){r=c[o+4>>2]<<1;dl(f|0,b|0,r|0)|0;Vb=q;return r|0}else{r=Hg(e)|0;c[p>>2]=106310;c[p+4>>2]=r;Na(1,p|0);r=0;Vb=q;return r|0}return 0}function Qc(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=Vb;Vb=Vb+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=106466;c[j+4>>2]=e;Na(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){ec[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Vb=l;return}ec[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);Vb=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;ec[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;ec[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;ec[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);Vb=l;return}default:{Vb=l;return}}}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;ec[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Vb;Vb=Vb+16|0;f=h;g=h+8|0;if((a[123376]|0)==0?Qk(123376)|0:0)c[30856]=va(2,1316)|0;j=c[30856]|0;c[f>>2]=c[e>>2];i=+ra(j|0,b|0,d|0,g|0,f|0);Da(c[g>>2]|0);Vb=h;return ~~i|0}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Vb;Vb=Vb+16|0;f=h;g=h+8|0;if((a[123384]|0)==0?Qk(123384)|0:0)c[30857]=va(2,1324)|0;j=c[30857]|0;c[f>>2]=c[e>>2];i=+ra(j|0,b|0,d|0,g|0,f|0);Da(c[g>>2]|0);Vb=h;return ~~i|0}function Uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Vb;Vb=Vb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{el(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=P(8)|0;Ij(r,106196);c[r>>2]=102944;U(r|0,1104,16)}else{h=Ej(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Fj(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Vb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=P(8)|0;Ij(r,106196);c[r>>2]=102944;U(r|0,1104,16)}else{d=Ej(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Ej(4080)|0;Xc(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Yc(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Fj(f);Vb=r;return}if((d|0)!=(b|0)){c[k>>2]=Ej(4080)|0;Vc(a,k);Vb=r;return}c[k>>2]=Ej(4080)|0;Wc(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{el(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=P(8)|0;Ij(r,106196);c[r>>2]=102944;U(r|0,1104,16)}else{h=Ej(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Fj(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Vb=r;return}function Vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{el(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=P(8)|0;Ij(q,106196);c[q>>2]=102944;U(q|0,1104,16)}else{i=Ej(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Fj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{el(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=P(8)|0;Ij(q,106196);c[q>>2]=102944;U(q|0,1104,16)}else{h=Ej(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Fj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{el(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=P(8)|0;Ij(q,106196);c[q>>2]=102944;U(q|0,1104,16)}else{i=Ej(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Fj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{el(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=P(8)|0;Ij(q,106196);c[q>>2]=102944;U(q|0,1104,16)}else{h=Ej(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Fj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;ad(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Fj(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Fj(b);return}function _c(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;zj(b);return}function $c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Fj(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;bd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Fj(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){bd(a);return}Fj(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;bd(a);return}function ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)Fj(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Fj(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=P(8)|0;Ij(l,106196);c[l>>2]=102944;U(l|0,1104,16)}else{g=Ej(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Fj(b);return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Vb;Vb=Vb+16|0;f=e;a=c[a>>2]|0;b=Aa(b|0)|0;c[f>>2]=c[d>>2];d=Fa(1248,f|0)|0;Ea(a|0,b|0,d|0);ta(d|0);ta(b|0);Vb=e;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Vb;Vb=Vb+16|0;f=e;a=c[a>>2]|0;b=Aa(b|0)|0;c[f>>2]=c[d>>2];d=Fa(1248,f|0)|0;Ea(a|0,b|0,d|0);ta(d|0);ta(b|0);Vb=e;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Vb;Vb=Vb+16|0;f=e;a=c[a>>2]|0;b=Aa(b|0)|0;c[f>>2]=c[d>>2];d=Fa(1256,f|0)|0;Ea(a|0,b|0,d|0);ta(d|0);ta(b|0);Vb=e;return}function fd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function gd(a){a=a|0;if(!a)return;cc[c[(c[a>>2]|0)+4>>2]&31](a);return}function hd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Kj(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Ej(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)dl(b|0,d|0,e|0)|0;a[b+e>>0]=0;dc[f&31](g,h);if((a[h+11>>0]|0)>=0){Vb=j;return}Fj(c[h>>2]|0);Vb=j;return}function id(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Vb;Vb=Vb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;dc[e&31](a,f);ta(c[f>>2]|0);Vb=g;return}function jd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;cc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;cc[e&31](a);return}}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Vb;Vb=Vb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;dc[d&31](e,a);xa(c[e>>2]|0);g=c[e>>2]|0;ta(g|0);Vb=f;return g|0}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Vb;Vb=Vb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;dc[e&31](a,f);ta(c[f>>2]|0);Vb=g;return}function md(b,d){b=b|0;d=d|0;var e=0;e=Ej(256)|0;xd(e,d);a[e+248>>0]=0;c[e+252>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1404;return e|0}function nd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=$(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function od(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function pd(a){a=a|0;if(!a)return;cc[c[(c[a>>2]|0)+4>>2]&31](a);return}function qd(a){a=a|0;return a|0}function rd(a){a=a|0;return a|0}function sd(a,b){a=a|0;b=b|0;cc[c[a>>2]&31](b);return}function td(b){b=b|0;a[b+248>>0]=1;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Vb;Vb=Vb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=_b[a&3](f,g)|0;ta(c[g>>2]|0);ta(c[f>>2]|0);Vb=e;return d|0}function vd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Vb;Vb=Vb+16|0;e=g;c[b>>2]=1420;d=b+252|0;if(!(a[b+248>>0]|0)){f=c[d>>2]|0;ta(f|0);Bd(b);Vb=g;return}f=c[d>>2]|0;if((a[123344]|0)==0?Qk(123344)|0:0)c[30852]=va(1,1296)|0;sa(c[30852]|0,f|0,106979,e|0);f=c[d>>2]|0;ta(f|0);Bd(b);Vb=g;return}function wd(a){a=a|0;vd(a);Fj(a);return}function xd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Vb;Vb=Vb+16|0;h=f+8|0;i=f;c[d>>2]=1436;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=Ig()|0;c[d+40>>2]=e;c[i>>2]=106746;c[i+4>>2]=e;Na(0,i|0);c[h>>2]=106759;c[h+4>>2]=d+28;Na(0,h|0);zd(d+44|0);e=d+180|0;c[d+208>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+212>>0]=1;a[d+213>>0]=1;e=d+216|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+228>>2]=12;c[d+48>>2]=g;Vb=f;return}function yd(a){a=a|0;vd(a);Fj(a);return}function zd(b){b=b|0;var d=0,e=0,f=0;f=Vb;Vb=Vb+16|0;e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1452;if(!(cg(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=106805;Na(0,e|0);Vb=f;return}else{c[d>>2]=106774;Na(0,d|0);Vb=f;return}}function Ad(a){a=a|0;var b=0,d=0,e=0;b=Vb;Vb=Vb+16|0;d=b+8|0;e=b;c[e>>2]=106911;Na(0,e|0);Ug(c[a+12>>2]|0);zj(c[a+8>>2]|0);c[d>>2]=106934;Na(0,d|0);Vb=b;return}function Bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Vb;Vb=Vb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=1436;f=ua(106502)|0;c[d>>2]=c[b+208>>2];ta(qa(f|0,1,1340,d|0)|0);ta(f|0);c[g>>2]=106958;Na(0,g|0);g=b+180|0;ad(g);f=b+184|0;d=c[f>>2]|0;h=b+188|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Fj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Fj(d);Dd(b+44|0);c[i>>2]=106911;Na(0,i|0);Ug(c[b+40>>2]|0);zj(c[b+36>>2]|0);c[j>>2]=106934;Na(0,j|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;ta(b|0);Vb=k;return}Fj(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;ta(b|0);Vb=k;return}function Cd(a){a=a|0;Bd(a);Fj(a);return}function Dd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Vb;Vb=Vb+16|0;g=h;c[b>>2]=1452;d=b+40|0;e=c[d>>2]|0;if(e|0){dg(e);c[d>>2]=0}c[b>>2]=1484;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)zj(f);c[g>>2]=106840;Na(0,g|0);Vb=h;return}function Ed(a){a=a|0;Dd(a);Fj(a);return}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Id(a)|0;while((c[b>>2]|0)!=0);return}function Gd(b){b=b|0;var d=0,e=0,f=0;f=Vb;Vb=Vb+16|0;e=f;c[b>>2]=1484;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)zj(d);c[e>>2]=106840;Na(0,e|0);Vb=f;return}function Hd(a){a=a|0;Ua()}function Id(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=Vb;Vb=Vb+16|0;g=u+8|0;s=u;t=b+40|0;e=b+44|0;f=b+60|0;d=fg(c[t>>2]|0,e,f)|0;switch(d|0){case 4:{if(eg(c[t>>2]|0,b+80|0)|0){t=-1;Vb=u;return t|0}Jd(b,c[b+84>>2]|0,c[b+88>>2]|0);t=c[f>>2]|0;s=b+48|0;c[s>>2]=(c[e>>2]|0)-t+(c[s>>2]|0);c[e>>2]=t;t=0;Vb=u;return t|0}case 3:{r=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-r+(c[q>>2]|0);c[e>>2]=r;break}case 1:case -2:{c[b+48>>2]=0;t=d;Vb=u;return t|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=106864;c[g+4>>2]=0-d;Na(0,g|0);c[b+48>>2]=0;t=d;Vb=u;return t|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((gg(c[t>>2]|0,h,0)|0)!=2){t=d;Vb=u;return t|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;r=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=w(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Kd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0);e=c[c[b>>2]>>2]|0;if((a[123344]|0)==0?Qk(123344)|0:0)c[30852]=va(1,1296)|0;sa(c[30852]|0,e|0,106906,s|0)}while((gg(c[t>>2]|0,h,0)|0)==2);Vb=u;return d|0}function Jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Vb;Vb=Vb+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=106880;c[h+4>>2]=d;c[h+8>>2]=e;Na(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(w(e<<2,e)|0)+33554432|0;e=yj((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[123400]|0)==0?Qk(123400)|0:0)c[30859]=va(4,48)|0;b=c[30859]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;sa(b|0,d|0,106893,h|0);Vb=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[123400]|0)==0?Qk(123400)|0:0)c[30859]=va(4,48)|0;b=c[30859]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;sa(b|0,d|0,106893,h|0);Vb=i;return}}function Kd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(w(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;q=(H*1634|0)+J>>10;H=(w(m,-400)|0)+J+(w(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;J=(H*1634|0)+p>>10;H=(w(m,-400)|0)+p+(w(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=t+-128|0;K=s+-128|0;J=m+(H*1634|0)>>10;H=(w(H,-832)|0)+(w(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(w(I,-832)|0)+(w(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Ld(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=Vb;Vb=Vb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Kj(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Ej(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)dl(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;ec[b&7](h,j,k);xa(c[h>>2]|0);d=c[h>>2]|0;ta(d|0);ta(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Vb=l;return d|0}Fj(c[j>>2]|0);Vb=l;return d|0}function Md(){oc(0);return}function Nd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;g=d[108270+b>>0]|0;r=d[108322+b>>0]|0;b=c[1856+(r*12|0)>>2]<<g;h=c[1856+(r*12|0)+4>>2]<<g;g=c[1856+(r*12|0)+8>>2]<<g;if(!e)c[a>>2]=w(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=w(c[j>>2]|0,h)|0;m=a+20|0;o=w(c[m>>2]|0,b)|0;n=a+24|0;q=w(c[n>>2]|0,h)|0;k=c[a>>2]|0;r=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+r>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;r=32-l+r>>6;c[a+12>>2]=r;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=r;c[a+44>>2]=r;c[a+28>>2]=r;if((o+512|p+512|q+512|r+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;t=a+60|0;z=c[t>>2]|0;o=w(c[n>>2]|0,h)|0;c[f>>2]=w(c[f>>2]|0,h)|0;c[t>>2]=w(z,g)|0;t=a+8|0;z=a+16|0;f=w(c[t>>2]|0,h)|0;v=w(c[a+20>>2]|0,b)|0;p=w(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=w(c[x>>2]|0,h)|0;l=w(c[A>>2]|0,b)|0;s=w(c[a+24>>2]|0,h)|0;u=a+48|0;k=w(c[a+28>>2]|0,h)|0;i=w(c[u>>2]|0,g)|0;e=w(c[a+36>>2]|0,h)|0;r=w(c[a+40>>2]|0,g)|0;B=w(c[a+44>>2]|0,b)|0;y=w(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=v+j|0;v=j-v|0;j=(o>>1)-s|0;o=(s>>1)+o|0;s=o+g|0;b=j+v|0;c[n>>2]=b;j=v-j|0;c[t>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;t=B+e|0;B=e-B|0;e=a+60|0;v=c[e>>2]|0;m=(r>>1)-v|0;r=(v>>1)+r|0;v=r+t|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;r=t-r|0;c[e>>2]=r;e=(i>>1)-v|0;i=(v>>1)+i|0;v=y+s+32|0;t=v+i>>6;c[a>>2]=t;y=s-y+32|0;s=y+e>>6;c[z>>2]=s;e=y-e>>6;c[x>>2]=e;i=v-i>>6;c[u>>2]=i;if((t+512|s+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-r|0;f=(r>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function Od(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[108322+d>>0]|0;r=a[108270+d>>0]|0;C=b+8|0;t=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;u=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;s=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=s+i|0;c[o>>2]=j;s=i-s|0;c[C>>2]=s;x=k-x|0;c[D>>2]=x;D=l+t|0;l=t-l|0;t=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=t+l|0;c[b+20>>2]=k;t=l-t|0;c[b+24>>2]=t;y=D-y|0;c[b+28>>2]=y;D=E+u|0;E=u-E|0;u=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=u+E|0;c[b+36>>2]=l;u=E-u|0;c[b+40>>2]=u;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;v=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=v+E|0;c[b+52>>2]=m;v=E-v|0;c[D>>2]=v;A=C-A|0;c[B>>2]=A;r=r&255;e=c[1856+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<<r+-2;d=h+f|0;B=f-h|0;C=g-i|0;D=i+g|0;c[b>>2]=w(D+d|0,E)|0;c[p>>2]=w(C+B|0,E)|0;c[q>>2]=w(B-C|0,E)|0;c[n>>2]=w(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=w(B+D|0,E)|0;c[b+20>>2]=w(C+d|0,E)|0;c[b+36>>2]=w(d-C|0,E)|0;c[b+52>>2]=w(D-B|0,E)|0;B=u+s|0;u=s-u|0;D=t-v|0;C=v+t|0;c[b+8>>2]=w(C+B|0,E)|0;c[b+24>>2]=w(D+u|0,E)|0;c[b+40>>2]=w(u-D|0,E)|0;c[b+56>>2]=w(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=w(D+C|0,E)|0;c[b+28>>2]=w(B+z|0,E)|0;c[b+44>>2]=w(z-B|0,E)|0;c[b+60>>2]=w(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-r|0;r=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(w(B+r|0,e)|0)+D>>E;c[p>>2]=(w(d+C|0,e)|0)+D>>E;c[q>>2]=(w(C-d|0,e)|0)+D>>E;c[n>>2]=(w(r-B|0,e)|0)+D>>E;B=l+j|0;r=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(w(C+B|0,e)|0)+D>>E;c[b+20>>2]=(w(d+r|0,e)|0)+D>>E;c[b+36>>2]=(w(r-d|0,e)|0)+D>>E;c[b+52>>2]=(w(B-C|0,e)|0)+D>>E;C=u+s|0;s=s-u|0;u=t-v|0;B=v+t|0;c[b+8>>2]=(w(B+C|0,e)|0)+D>>E;c[b+24>>2]=(w(u+s|0,e)|0)+D>>E;c[b+40>>2]=(w(s-u|0,e)|0)+D>>E;c[b+56>>2]=(w(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(w(C+B|0,e)|0)+D>>E;c[b+28>>2]=(w(z+x|0,e)|0)+D>>E;c[b+44>>2]=(w(x-z|0,e)|0)+D>>E;c[b+60>>2]=(w(B-C|0,e)|0)+D>>E;return}}function Pd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1856+((d[108322+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[108270+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(w(j+m|0,e)|0)>>b;c[k>>2]=(w(m-j|0,e)|0)>>b;c[g>>2]=(w(i+h|0,e)|0)>>b;c[l>>2]=(w(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(w(j+k|0,e)|0)>>b;c[i>>2]=(w(k-j|0,e)|0)>>b;c[h>>2]=(w(f+g|0,e)|0)>>b;c[a>>2]=(w(g-f|0,e)|0)>>b;return}function Qd(a,b){a=a|0;b=b|0;var c=0;b=1<<b+-1;if(b&a|0){a=0;return a|0}c=b;b=0;do{b=b+1|0;c=c>>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function Rd(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=Sd(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[1928+(b+-1<<2)>>2]|0)&1;return b|0}function Sd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<<g}}else{h=a+8|0;if((e|0)>0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<<j;e=e+-8+g|0;if((e|0)>0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<<e|f;if((g|0)<=8)break;else g=g+-8|0}}}else f=0}e=k+b|0;c[n>>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function Td(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((Ud(a)|0)>>>(32-b|0)|0)!=(1<<b+-1|0)|0;return 0}function Ud(a){a=a|0;var b=0,e=0,f=0,g=0;f=c[a+4>>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<<a;return f|0}if((e|0)<=0){f=0;return f|0}g=c[a+8>>2]|0;b=g+24|0;a=(d[f>>0]|0)<<b;e=e+-8+g|0;if((e|0)<=0){g=a;return g|0}while(1){f=f+1|0;b=b+-8|0;a=(d[f>>0]|0)<<b|a;if((e|0)<=8)break;else e=e+-8|0}return a|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+(d<<2)>>2]|0;d=d+1|0;a:do if(d>>>0<b>>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0<b>>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=w(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function Xd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function Yd(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=Vb;Vb=Vb+16|0;n=o;Zd(b,0,92);d=Sd(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,Sd(a,1)|0,Sd(a,1)|0,(Sd(a,1)|0)!=-1):0)?(Sd(a,5)|0)!=-1:0)?(e=Sd(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=_d(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=_d(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<<d+4;d=_d(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=_d(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<<d+4;break}case 1:{d=Sd(a,1)|0;if((d|0)==-1){d=1;break a}c[b+24>>2]=(d|0)==1&1;d=$d(a,b+28|0)|0;if(d|0)break a;d=$d(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=_d(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=ae(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=$d(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=$d(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=_d(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=Sd(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=_d(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=_d(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(Sd(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((Sd(a,1)|0)!=-1?(k=Sd(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=_d(a,h)|0;if(d|0)break;e=b+68|0;d=_d(a,e)|0;if(d|0)break;g=b+72|0;d=_d(a,g)|0;if(d|0)break;f=b+76|0;d=_d(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=w(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0<f>>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=Sd(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=ae(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=be(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);Rd(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);Vb=o;return d|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;fl(a|0,b&255|0,c|0)|0;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ud(a)|0;if((d|0)<0){ce(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((ce(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((ce(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((ce(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=Qd(d,28)|0;e=d+4|0;if((e|0)!=32){ce(a,d+5|0)|0;d=Sd(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<<e)+-1+d;b=0;return b|0}c[b>>2]=0;ce(a,32)|0;if((Sd(a,1)|0)!=1){b=1;return b|0}d=Ud(a)|0;if((ce(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vb;Vb=Vb+16|0;e=f;c[e>>2]=0;d=_d(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}Vb=f;return a|0}function ae(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0<a>>>0){a=0;return a|0}a=yj(w(b,a)|0)|0;return a|0}function be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Zd(b,0,952);d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=Sd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=Sd(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=Sd(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=Sd(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=Sd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=Sd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=Sd(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=Ud(a)|0;if((d|0)==0|(ce(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=Ud(a)|0;if((d|0)==0|(ce(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=de(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=de(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=Sd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=_d(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=_d(a,b+944|0)|0;if(d|0){b=d;return b|0}d=_d(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function ce(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=_d(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=Sd(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=Sd(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=_d(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=_d(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=Sd(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=Sd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=Sd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=Sd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=Sd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Vb;Vb=Vb+16|0;i=k+4|0;j=k;Zd(b,0,72);d=_d(a,b)|0;if(d|0){a=d;Vb=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;Vb=k;return a|0}e=b+4|0;d=_d(a,e)|0;if(d|0){a=d;Vb=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;Vb=k;return a|0}if(Sd(a,1)|0){a=1;Vb=k;return a|0}d=Sd(a,1)|0;if((d|0)==-1){a=1;Vb=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=_d(a,i)|0;if(d|0){a=d;Vb=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;Vb=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=_d(a,e)|0;if(d|0){a=d;Vb=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;Vb=k;return a|0}switch(d|0){case 0:{g=ae(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;Vb=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=_d(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}Vb=k;return d|0}case 2:{g=b+24|0;c[g>>2]=ae(4,(c[h>>2]|0)+-1|0)|0;f=ae(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;Vb=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=_d(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=_d(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){Vb=k;return d|0}break}case 5:case 4:case 3:{d=Sd(a,1)|0;if((d|0)==-1){a=1;Vb=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=_d(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;Vb=k;return a|0}}case 6:{d=_d(a,i)|0;if(d|0){a=d;Vb=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=ae(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;Vb=k;return a|0}d=c[1960+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=Sd(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}Vb=k;return d|0}default:break a}}while(0);d=_d(a,i)|0;if(d|0){l=d;Vb=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;Vb=k;return l|0}c[b+48>>2]=d+1;d=_d(a,i)|0;if(d|0){l=d;Vb=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;Vb=k;return l|0}if(Sd(a,1)|0){l=1;Vb=k;return l|0}if((Sd(a,2)|0)>>>0>2){l=1;Vb=k;return l|0}d=$d(a,j)|0;if(d|0){l=d;Vb=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;Vb=k;return l|0}c[b+52>>2]=d;d=$d(a,j)|0;if(d|0){l=d;Vb=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;Vb=k;return l|0}d=$d(a,j)|0;if(d|0){l=d;Vb=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;Vb=k;return l|0}c[b+56>>2]=d;d=Sd(a,1)|0;if((d|0)==-1){l=1;Vb=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=Sd(a,1)|0;if((d|0)==-1){l=1;Vb=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=Sd(a,1)|0;if((d|0)==-1){l=1;Vb=k;return l|0}c[b+68>>2]=(d|0)==1&1;Rd(a)|0;l=0;Vb=k;return l|0}function ge(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Vb;Vb=Vb+16|0;p=u+12|0;o=u+8|0;t=u+4|0;r=u;Zd(b,0,988);s=w(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}m=c[t>>2]|0;c[b>>2]=m;if(m>>>0>=s>>>0){t=1;Vb=u;return t|0}g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}m=c[t>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{t=1;Vb=u;return t|0}}if((q|0)==5){if((c[f>>2]|0)==5){t=1;Vb=u;return t|0}if(!(c[d+44>>2]|0)){t=1;Vb=u;return t|0}}g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}m=c[t>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){t=1;Vb=u;return t|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Sd(a,h+-1|0)|0;if((g|0)==-1){t=1;Vb=u;return t|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){t=1;Vb=u;return t|0}c[b+12>>2]=g;if(h){g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}m=c[t>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){t=1;Vb=u;return t|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Sd(a,h+-1|0)|0;if((g|0)==-1){t=1;Vb=u;return t|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=$d(a,r)|0;if(!g){c[b+24>>2]=c[r>>2];break}else{t=g;Vb=u;return t|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){t=1;Vb=u;return t|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){t=1;Vb=u;return t|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=$d(a,r)|0;if(g|0){t=g;Vb=u;return t|0}g=b+28|0;c[g>>2]=c[r>>2];do if(c[e+8>>2]|0){h=$d(a,r)|0;if(!h){c[b+32>>2]=c[r>>2];break}else{t=h;Vb=u;return t|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){t=1;Vb=u;return t|0}}if(c[e+68>>2]|0){g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}m=c[t>>2]|0;c[b+36>>2]=m;if(m>>>0>127){t=1;Vb=u;return t|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=Sd(a,1)|0;if((g|0)==-1){t=1;Vb=u;return t|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){t=1;Vb=u;return t|0}}else{g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}g=c[t>>2]|0;if(g>>>0>15){t=1;Vb=u;return t|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=Sd(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=_d(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=_d(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=_d(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);t=g;Vb=u;return t|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=Sd(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=Sd(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=_d(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=_d(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=_d(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=_d(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=_d(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;t=g;Vb=u;return t|0}while(0);g=$d(a,r)|0;if(g|0){t=g;Vb=u;return t|0}q=c[r>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[r>>2]=q;if(q>>>0>51){t=1;Vb=u;return t|0}do if(c[e+60>>2]|0){g=_d(a,t)|0;if(g|0){t=g;Vb=u;return t|0}g=c[t>>2]|0;c[b+52>>2]=g;if(g>>>0>2){t=1;Vb=u;return t|0}if((g|0)!=1){g=$d(a,r)|0;if(g|0){t=g;Vb=u;return t|0}g=c[r>>2]|0;if((g+6|0)>>>0>12){t=1;Vb=u;return t|0}c[b+56>>2]=g<<1;g=$d(a,r)|0;if(g|0){t=g;Vb=u;return t|0}g=c[r>>2]|0;if((g+6|0)>>>0>12){t=1;Vb=u;return t|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(s>>>0)/(h>>>0)|0;h=(s-(w(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<<g&i))break;else h=g}g=Sd(a,((1<<h)+-1&i|0)==0?h:g)|0;c[t>>2]=g;if((g|0)==-1){t=1;Vb=u;return t|0}c[b+64>>2]=g;t=c[j>>2]|0;if(g>>>0>(((s+-1+t|0)>>>0)/(t>>>0)|0)>>>0){t=1;Vb=u;return t|0}}t=0;Vb=u;return t|0}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Vb;Vb=Vb+32|0;e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=_d(d,e)|0;if(!a){a=_d(d,e)|0;if(!a){a=_d(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}Vb=f;return a|0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Vb;Vb=Vb+32|0;e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=_d(f,e)|0;if(a|0){d=a;Vb=g;return d|0}a=_d(f,e)|0;if(a|0){d=a;Vb=g;return d|0}a=_d(f,e)|0;if(a|0){d=a;Vb=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=Sd(f,a+-1|0)|0;if((a|0)==-1){d=1;Vb=g;return d|0}c[d>>2]=a;d=0;Vb=g;return d|0}function je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Vb;Vb=Vb+32|0;f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=_d(g,f)|0;if(!d){d=_d(g,f)|0;if(!d){d=_d(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((Sd(g,d+-1|0)|0)==-1)d=1;else d=_d(g,e)|0}}}}else d=1;Vb=h;return d|0}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=_d(i,h)|0;if(a|0){e=a;Vb=j;return e|0}a=_d(i,h)|0;if(a|0){e=a;Vb=j;return e|0}a=_d(i,h)|0;if(a|0){e=a;Vb=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Sd(i,f+-1|0)|0)==-1){e=1;Vb=j;return e|0}if((d|0)==5?(g=_d(i,h)|0,g|0):0){e=g;Vb=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=Sd(i,f+-1|0)|0;if((a|0)==-1){e=1;Vb=j;return e|0}c[e>>2]=a;e=0;Vb=j;return e|0}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=_d(i,h)|0;if(a|0){i=a;Vb=j;return i|0}a=_d(i,h)|0;if(a|0){i=a;Vb=j;return i|0}a=_d(i,h)|0;if(a|0){i=a;Vb=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Sd(i,f+-1|0)|0)==-1){i=1;Vb=j;return i|0}if((d|0)==5?(g=_d(i,h)|0,g|0):0){i=g;Vb=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Sd(i,f+-1|0)|0)==-1){i=1;Vb=j;return i|0}i=$d(i,e)|0;Vb=j;return i|0}function me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Vb;Vb=Vb+32|0;h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=_d(j,h)|0;if(a|0){j=a;Vb=k;return j|0}a=_d(j,h)|0;if(a|0){j=a;Vb=k;return j|0}a=_d(j,h)|0;if(a|0){j=a;Vb=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((Sd(j,b+-1|0)|0)==-1){j=1;Vb=k;return j|0}if((d|0)==5?(g=_d(j,h)|0,g|0):0){j=g;Vb=k;return j|0}a=$d(j,f)|0;if(a|0){j=a;Vb=k;return j|0}if(e|0?(i=$d(j,f+4|0)|0,i|0):0){j=i;Vb=k;return j|0}j=0;Vb=k;return j|0}function ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Vb;Vb=Vb+32|0;k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=_d(j,k)|0;if(f|0){e=f;Vb=l;return e|0}f=_d(j,k)|0;if(f|0){e=f;Vb=l;return e|0}f=_d(j,k)|0;if(f|0){e=f;Vb=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Sd(j,b+-1|0)|0)==-1){e=1;Vb=l;return e|0}f=_d(j,k)|0;if(f|0){e=f;Vb=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Sd(j,b+-1|0)|0)==-1){e=1;Vb=l;return e|0}if(c[e+8>>2]|0?(h=$d(j,i)|0,h|0):0){e=h;Vb=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=$d(j,i)|0;if(f|0){e=f;Vb=l;return e|0}if(c[e+8>>2]|0?(m=$d(j,i)|0,m|0):0){e=m;Vb=l;return e|0}}if(c[e+68>>2]|0?(n=_d(j,k)|0,n|0):0){e=n;Vb=l;return e|0}e=Sd(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;Vb=l;return e|0}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=Vb;Vb=Vb+448|0;n=A+8|0;v=A+4|0;t=A;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;w=b+1192|0;c[w>>2]=(c[w>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;x=e+4|0;j=e+44|0;g=b+1220|0;z=b+1176|0;k=b+1172|0;i=l+12|0;y=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}B=c[(c[m>>2]|0)+56>>2]|0;E=c[q>>2]|0;D=c[r>>2]|0;C=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[w>>2];c[e+(h*216|0)+8>>2]=E;c[e+(h*216|0)+12>>2]=D;c[e+(h*216|0)+16>>2]=C;c[e+(h*216|0)+24>>2]=B;e=c[x>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=_d(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[z>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{Zd(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=pe(a,l,(c[p>>2]|0)+(h*216|0)|0,c[x>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=qe((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}y=y+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=Td(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[x>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=Vd(c[k>>2]|0,c[z>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+y|0;if(e>>>0>(c[z>>2]|0)>>>0){E=1;Vb=A;return E|0}c[f>>2]=e;E=0;Vb=A;return E|0}else if((f|0)==20){Vb=A;return e|0}return 0}function pe(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Vb;Vb=Vb+16|0;t=x+12|0;r=x+8|0;w=x+4|0;v=x;Zd(d,0,2088);i=_d(a,w)|0;h=c[w>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;Vb=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;Vb=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=Ud(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((ce(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=Ud(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((ce(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(_d(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(af(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=$d(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=$d(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(_d(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(_d(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(_d(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(_d(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(af(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(af(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(af(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(af(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=$d(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=$d(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=$d(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=$d(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=$d(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=$d(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=$d(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=$d(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;Vb=x;return a|0}do if((s|0)!=1){h=bf(a,w,(s|0)==0&1)|0;if(!h){w=c[w>>2]|0;c[d+4>>2]=w;if(!w)break b;else break}else{a=h;Vb=x;return a|0}}else{w=c[u>>2]|0;s=w+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(w>>>0>18?15:0)}while(0);w=($d(a,v)|0)!=0;h=c[v>>2]|0;if(w|(h+26|0)>>>0>51){a=1;Vb=x;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=df(a,d+1864|0,cf(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=df(a,d+328+(j<<6)+4|0,cf(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=df(a,d+328+(i<<6)+4|0,cf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=df(a,d+328+(i<<6)+4|0,cf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=df(a,d+328+(i<<6)+4|0,cf(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=df(a,d+328+(j<<6)|0,cf(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=df(a,d+328+(i<<6)|0,cf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=df(a,d+328+(i<<6)|0,cf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=df(a,d+328+(i<<6)|0,cf(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=df(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=df(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=df(a,d+328+(i<<6)+4|0,cf(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=df(a,d+328+(f<<6)+4|0,cf(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;Vb=x;return a|0}}else{g:do if(!($e(a)|0)){while(1){if(Sd(a,1)|0){h=1;break}if($e(a)|0)break g}Vb=x;return h|0}while(0);i=0;f=d+328|0;while(1){h=Sd(a,8)|0;c[w>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}Vb=x;return h|0}while(0);a=0;Vb=x;return a|0}function qe(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;Wd(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}re(f,k);k=0;return k|0}p=d+28|0;if(s){se(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)Od(e+1864|0,l);n=1992;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Nd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Nd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Nd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Nd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Nd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Nd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Nd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1520+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;Pd(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Nd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Nd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Nd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=te(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{Zd(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=ue(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function se(a,b,c){a=a|0;b=b|0;c=c|0;dl(a|0,b|0,c|0)|0;return}function te(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Vb;Vb=Vb+80|0;h=j+32|0;i=j;Pe(d,h,i,e);if((Qe(c[a>>2]|0)|0)==1){e=Re(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;Vb=j;return a|0}}else{e=Se(a,g,b,h,i,f)|0;if(e|0){a=e;Vb=j;return a|0}}e=Te(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;Vb=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;Vb=j;return a|0}re(d,g);a=0;Vb=j;return a|0} |
| | | function uf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=w(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){Zd(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=w(c[b+36>>2]|0,d)|0;d=d>>>0<n>>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else t=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{t=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0<g>>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0<n>>>0}while(k>>>0<m>>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{t=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((w(t,m)|0)>>>1)+(d-(w(t,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(w(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(w(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=w(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0<k>>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){t=a+((w(g,e)|0)+h<<2)|0;c[t>>2]=i>>>0<k>>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!t)return;s=h<<1;q=s+-1|0;r=e+-1|0;s=1-s|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((w(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(r|0)?j:r;d=m;g=n;b=j;k=0;h=s;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=s;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=t>>>0)break;else{m=d;n=g}}return}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Vb;Vb=Vb+32|0;g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;Vb=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=he(a,g)|0;if(f|0){b=f;Vb=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;Vb=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;Vb=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;Vb=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ie(a,c[g>>2]|0,i)|0){b=1;Vb=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(je(a,c[g>>2]|0,5,j)|0){b=1;Vb=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(ke(a,l,c[b>>2]|0,m)|0){b=1;Vb=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=le(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;Vb=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=me(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;Vb=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;Vb=s;return b|0}default:{b=0;Vb=s;return b|0}}return 0}function wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=w(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0<l>>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0<l>>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0<e>>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function yf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;zf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0<o>>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{zf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0<k>>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}Af(c[a>>2]|0,d+1|0);a=q;return a|0}function zf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(Bf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function Af(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=Vb;Vb=Vb+32|0;o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){Vb=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));Vb=q;return}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function Cf(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function Df(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{lf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}lf(b);c[a>>2]=0;e=a+4|0;lf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;lf(c[a>>2]|0);c[a>>2]=0;return}function Ef(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0<b>>>0);return}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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;Af(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Gf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function If(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=Vb;Vb=Vb+176|0;Ia=Cb+40|0;mb=Cb;Ca=c[e+4>>2]|0;Ma=e+8|0;Bb=c[Ma>>2]|0;g=w(Bb,Ca)|0;if(!Bb){Vb=Cb;return}zb=Ia+24|0;Ab=Ia+16|0;Bb=Ia+8|0;Na=Ia+100|0;Oa=Ia+68|0;Pa=Ia+36|0;Qa=Ia+4|0;Fa=mb+28|0;Ja=mb+32|0;kb=mb+24|0;nb=Ia+120|0;ob=Ia+112|0;pb=Ia+104|0;qb=Ia+96|0;rb=Ia+88|0;sb=Ia+80|0;tb=Ia+72|0;ub=Ia+64|0;vb=Ia+56|0;wb=Ia+48|0;xb=Ia+40|0;yb=Ia+32|0;Ra=Ia+124|0;Sa=Ia+116|0;Ta=Ia+108|0;Ua=Ia+92|0;Va=Ia+84|0;Wa=Ia+76|0;Xa=Ia+60|0;Ya=Ia+52|0;Za=Ia+44|0;_a=Ia+28|0;$a=Ia+20|0;ab=Ia+12|0;eb=Ca<<4;Da=mb+12|0;Ea=mb+24|0;cb=Ca<<6;jb=0-eb|0;bb=jb<<1;ib=w(Ca,-48)|0;db=Ca<<5;gb=jb<<2;hb=Ca*48|0;Ha=mb+4|0;La=mb+8|0;Ga=mb+16|0;Ka=mb+20|0;lb=mb+12|0;fb=g<<8;ta=g<<6;ua=Ca<<3;ka=Ia+4|0;qa=Ia+36|0;ia=Ia+16|0;ma=Ia+20|0;oa=Ia+52|0;ya=Ia+8|0;la=Ia+68|0;Aa=Ia+24|0;ra=Ia+100|0;ja=Ia+80|0;na=Ia+84|0;pa=Ia+116|0;wa=Ia+24|0;va=Ia+64|0;za=Ia+72|0;Ba=Ia+88|0;xa=Ia+88|0;ga=0;sa=0;ha=f;while(1){g=c[ha+8>>2]|0;do if((g|0)!=1){fa=ha+200|0;n=c[fa>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ha+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);ea=ha+204|0;k=c[ea>>2]|0;do if(k){if((g|0)==2?(c[ha+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);da=(f&2|0)==0;do if(da){c[zb>>2]=0;c[Ab>>2]=0;c[Bb>>2]=0;c[Ia>>2]=0;i=0}else{if((c[ha>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+132>>1]|0)-(b[k+172>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ha+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ia>>2]=j;if((b[ha+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+136>>1]|0)-(b[k+176>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){h=(b[ha+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Bb>>2]=h;if((b[ha+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+148>>1]|0)-(b[k+188>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){i=(b[ha+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Ab>>2]=i;if((b[ha+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+152>>1]|0)-(b[k+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){g=(b[ha+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[zb>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[zb>>2]=4;c[Ab>>2]=4;c[Bb>>2]=4;c[Ia>>2]=4;i=1}while(0);ca=(f&4|0)==0;do if(ca){c[Na>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;g=0;f=c[ha>>2]|0;h=ha;ba=64}else{f=c[ha>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+132>>1]|0)-(b[n+152>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){k=(b[ha+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Qa>>2]=k;if((b[ha+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+140>>1]|0)-(b[n+160>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){l=(b[ha+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Pa>>2]=l;if((b[ha+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+164>>1]|0)-(b[n+184>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){m=(b[ha+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Oa>>2]=m;if((b[ha+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+172>>1]|0)-(b[n+192>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){j=(b[ha+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Na>>2]=j;g=k;h=ha;i=(k|i|l|m|j|0)!=0&1;ba=66;break}c[Na>>2]=4;c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;g=4;h=ha;i=1;ba=64}while(0);if((ba|0)==64){ba=0;if(f>>>0>5){c[nb>>2]=3;c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[Ra>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3}else ba=66}if((ba|0)==66){ba=0;a:do if((ff(f)|0)==1){p=ha+28|0;r=b[ha+32>>1]|0;if(r<<16>>16==0?(b[p>>1]|0)==0:0)K=0;else K=2;c[yb>>2]=K;f=b[ha+34>>1]|0;t=f<<16>>16==0;if(t?(b[ha+30>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;h=b[ha+40>>1]|0;u=h<<16>>16==0;if(u?(b[ha+36>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;j=b[ha+42>>1]|0;v=j<<16>>16==0;if(v?(b[ha+38>>1]|0)==0:0)G=0;else G=2;c[vb>>2]=G;s=b[ha+44>>1]|0;F=(s|r)<<16>>16==0?0:2;c[ub>>2]=F;q=b[ha+46>>1]|0;x=f<<16>>16!=0;E=(q|f)<<16>>16==0?0:2;c[tb>>2]=E;n=b[ha+52>>1]|0;o=h<<16>>16!=0;D=(n|h)<<16>>16==0?0:2;c[sb>>2]=D;m=b[ha+54>>1]|0;C=(m|j)<<16>>16==0?0:2;c[rb>>2]=C;f=b[ha+48>>1]|0;B=(f|s)<<16>>16==0?0:2;c[qb>>2]=B;h=b[ha+50>>1]|0;A=(h|q)<<16>>16==0?0:2;c[pb>>2]=A;j=b[ha+56>>1]|0;z=(j|n)<<16>>16==0?0:2;c[ob>>2]=z;k=b[ha+58>>1]|0;y=(k|m)<<16>>16==0?0:2;c[nb>>2]=y;l=b[ha+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[ab>>2]=p;_=b[ha+36>>1]|0;$=(_|l)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=r<<16>>16!=0|t^1?2:0;c[Za>>2]=J;aa=x|u^1?2:0;c[Ya>>2]=aa;u=o|v^1?2:0;c[Xa>>2]=u;s=(q|s)<<16>>16==0?0:2;c[Wa>>2]=s;q=(n|q)<<16>>16==0?0:2;c[Va>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Ua>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ta>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Sa>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Ra>>2]=h;k=m;m=q;q=aa;aa=p;t=E;r=F;p=G;l=H;j=I;f=K}else switch(c[h>>2]|0){case 2:{q=ha+28|0;r=b[ha+32>>1]|0;if(r<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[yb>>2]=f;s=b[ha+34>>1]|0;A=s<<16>>16==0;if(A?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;t=b[ha+40>>1]|0;B=t<<16>>16==0;if(B?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;n=b[ha+42>>1]|0;C=n<<16>>16==0;if(C?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;u=b[ha+48>>1]|0;if(u<<16>>16==0?(b[ha+44>>1]|0)==0:0)L=0;else L=2;c[qb>>2]=L;v=b[ha+50>>1]|0;D=v<<16>>16==0;if(D?(b[ha+46>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;x=b[ha+56>>1]|0;if(x<<16>>16==0?(b[ha+52>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;y=b[ha+58>>1]|0;if(y<<16>>16==0?(b[ha+54>>1]|0)==0:0)G=0;else G=2;c[nb>>2]=G;z=b[ha+44>>1]|0;h=b[ha+166>>1]|0;j=b[ha+142>>1]|0;do if(!((z|r)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}M=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else M=2;while(0);c[ub>>2]=M;o=b[ha+46>>1]|0;h=b[ha+170>>1]|0;j=b[ha+146>>1]|0;do if(!((o|s)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}K=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else K=2;while(0);c[tb>>2]=K;m=b[ha+52>>1]|0;h=b[ha+182>>1]|0;j=b[ha+158>>1]|0;do if(!((m|t)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}F=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;k=b[ha+54>>1]|0;h=b[ha+186>>1]|0;j=b[ha+162>>1]|0;do if(!((k|n)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}E=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else E=2;while(0);c[rb>>2]=E;h=b[ha+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[ab>>2]=j;_=b[ha+36>>1]|0;$=(_|h)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=r<<16>>16!=0|A^1?2:0;c[Za>>2]=J;q=s<<16>>16!=0|B^1?2:0;c[Ya>>2]=q;aa=t<<16>>16!=0|C^1?2:0;c[Xa>>2]=aa;s=(o|z)<<16>>16==0?0:2;c[Wa>>2]=s;z=(m|o)<<16>>16==0?0:2;c[Va>>2]=z;o=(k|m)<<16>>16==0?0:2;c[Ua>>2]=o;n=u<<16>>16!=0|D^1?2:0;c[Ta>>2]=n;k=(x|v)<<16>>16==0?0:2;c[Sa>>2]=k;h=(y|x)<<16>>16==0?0:2;c[Ra>>2]=h;m=z;u=aa;aa=j;y=G;z=H;A=I;B=L;C=E;D=F;t=K;r=M;j=N;break a}case 3:{h=ha+28|0;j=b[ha+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;u=b[ha+34>>1]|0;k=u<<16>>16==0;if(k?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;v=b[ha+40>>1]|0;if(v<<16>>16==0?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;f=b[ha+42>>1]|0;m=f<<16>>16==0;if(m?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;n=b[ha+44>>1]|0;M=(n|j)<<16>>16==0?0:2;c[ub>>2]=M;x=b[ha+46>>1]|0;t=(x|u)<<16>>16==0?0:2;c[tb>>2]=t;E=b[ha+52>>1]|0;D=(E|v)<<16>>16==0?0:2;c[sb>>2]=D;o=b[ha+54>>1]|0;C=(o|f)<<16>>16==0?0:2;c[rb>>2]=C;q=b[ha+48>>1]|0;B=(q|n)<<16>>16==0?0:2;c[qb>>2]=B;G=b[ha+50>>1]|0;A=(G|x)<<16>>16==0?0:2;c[pb>>2]=A;H=b[ha+56>>1]|0;z=(H|E)<<16>>16==0?0:2;c[ob>>2]=z;r=b[ha+58>>1]|0;y=(r|o)<<16>>16==0?0:2;c[nb>>2]=y;s=b[ha+30>>1]|0;if(s<<16>>16==0?(b[h>>1]|0)==0:0)L=0;else L=2;c[ab>>2]=L;f=ha+36|0;if(!(b[ha+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){K=0;f=0}else ba=146}else{f=b[f>>1]|0;ba=146}if((ba|0)==146){ba=0;K=2}c[_a>>2]=K;J=j<<16>>16!=0|k^1?2:0;c[Za>>2]=J;I=v<<16>>16!=0|m^1?2:0;c[Xa>>2]=I;F=(x|n)<<16>>16==0?0:2;c[Wa>>2]=F;o=(o|E)<<16>>16==0?0:2;c[Ua>>2]=o;n=(G|q)<<16>>16==0?0:2;c[Ta>>2]=n;h=(r|H)<<16>>16==0?0:2;c[Ra>>2]=h;j=b[ha+150>>1]|0;k=b[ha+138>>1]|0;do if(!((f|s)<<16>>16)){aa=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){r=1;break}aa=j-k|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){r=1;break}r=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else r=2;while(0);c[$a>>2]=r;f=b[ha+158>>1]|0;j=b[ha+146>>1]|0;do if(!((v|u)<<16>>16)){aa=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;f=b[ha+182>>1]|0;j=b[ha+170>>1]|0;do if(!((E|x)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;f=b[ha+190>>1]|0;j=b[ha+178>>1]|0;do if(!((H|G)<<16>>16)){aa=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}f=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else f=2;while(0);c[Sa>>2]=f;k=f;s=F;u=I;_=K;$=r;aa=L;r=M;j=N;f=O;break a}default:{v=b[ha+32>>1]|0;h=b[ha+28>>1]|0;x=b[ha+142>>1]|0;k=b[ha+134>>1]|0;if(!((h|v)<<16>>16)){f=(b[ha+140>>1]|0)-(b[ha+132>>1]|0)|0;aa=x-k|0;f=((((aa|0)<0?0-aa|0:aa)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[yb>>2]=f;E=b[ha+34>>1]|0;m=b[ha+30>>1]|0;F=b[ha+146>>1]|0;n=b[ha+138>>1]|0;if(!((m|E)<<16>>16)){j=(b[ha+144>>1]|0)-(b[ha+136>>1]|0)|0;aa=F-n|0;j=((((aa|0)<0?0-aa|0:aa)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[xb>>2]=j;G=b[ha+40>>1]|0;o=b[ha+36>>1]|0;I=b[ha+158>>1]|0;s=b[ha+150>>1]|0;if(!((o|G)<<16>>16)){l=(b[ha+156>>1]|0)-(b[ha+148>>1]|0)|0;aa=I-s|0;l=((((aa|0)<0?0-aa|0:aa)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[wb>>2]=l;H=b[ha+42>>1]|0;q=b[ha+38>>1]|0;J=b[ha+162>>1]|0;u=b[ha+154>>1]|0;if(!((q|H)<<16>>16)){p=(b[ha+160>>1]|0)-(b[ha+152>>1]|0)|0;aa=J-u|0;p=((((aa|0)<0?0-aa|0:aa)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[vb>>2]=p;K=b[ha+44>>1]|0;L=b[ha+166>>1]|0;if(!((K|v)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)<=3?(aa=L-x|0,(((aa|0)<0?0-aa|0:aa)|0)<=3):0)r=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1;else r=1}else r=2;c[ub>>2]=r;M=b[ha+46>>1]|0;N=b[ha+170>>1]|0;do if(!((M|E)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3)t=1;else{aa=N-F|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){t=1;break}t=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}}else t=2;while(0);c[tb>>2]=t;O=b[ha+52>>1]|0;R=b[ha+182>>1]|0;do if(!((O|G)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}aa=R-I|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}D=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;P=b[ha+54>>1]|0;Q=b[ha+186>>1]|0;do if(!((P|H)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}aa=Q-J|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}C=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else C=2;while(0);c[rb>>2]=C;S=b[ha+48>>1]|0;T=b[ha+174>>1]|0;if(!((S|K)<<16>>16)){B=(b[ha+172>>1]|0)-(b[ha+164>>1]|0)|0;aa=T-L|0;B=((((aa|0)<0?0-aa|0:aa)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;U=b[ha+50>>1]|0;V=b[ha+178>>1]|0;if(!((U|M)<<16>>16)){A=(b[ha+176>>1]|0)-(b[ha+168>>1]|0)|0;aa=V-N|0;A=((((aa|0)<0?0-aa|0:aa)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;W=b[ha+56>>1]|0;Z=b[ha+190>>1]|0;if(!((W|O)<<16>>16)){z=(b[ha+188>>1]|0)-(b[ha+180>>1]|0)|0;aa=Z-R|0;z=((((aa|0)<0?0-aa|0:aa)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;X=b[ha+58>>1]|0;Y=b[ha+194>>1]|0;if(!((X|P)<<16>>16)){y=(b[ha+192>>1]|0)-(b[ha+184>>1]|0)|0;aa=Y-Q|0;y=((((aa|0)<0?0-aa|0:aa)|0)>3|(((y|0)<0?0-y|0:y)|0)>3)&1}else y=2;c[nb>>2]=y;if(!((m|h)<<16>>16)){aa=(b[ha+136>>1]|0)-(b[ha+132>>1]|0)|0;$=n-k|0;aa=(((($|0)<0?0-$|0:$)|0)>3|(((aa|0)<0?0-aa|0:aa)|0)>3)&1}else aa=2;c[ab>>2]=aa;do if(!((o|m)<<16>>16)){$=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=s-n|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else $=2;while(0);c[$a>>2]=$;if(!((q|o)<<16>>16)){_=(b[ha+152>>1]|0)-(b[ha+148>>1]|0)|0;u=u-s|0;_=((((u|0)<0?0-u|0:u)|0)>3|(((_|0)<0?0-_|0:_)|0)>3)&1}else _=2;c[_a>>2]=_;if(!((E|v)<<16>>16)){v=(b[ha+144>>1]|0)-(b[ha+140>>1]|0)|0;x=F-x|0;v=((((x|0)<0?0-x|0:x)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Za>>2]=v;do if(!((G|E)<<16>>16)){E=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((E|0)<0?0-E|0:E)|0)>3){q=1;break}F=I-F|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;if(!((H|G)<<16>>16)){u=(b[ha+160>>1]|0)-(b[ha+156>>1]|0)|0;J=J-I|0;u=((((J|0)<0?0-J|0:J)|0)>3|(((u|0)<0?0-u|0:u)|0)>3)&1}else u=2;c[Xa>>2]=u;if(!((M|K)<<16>>16)){s=(b[ha+168>>1]|0)-(b[ha+164>>1]|0)|0;L=N-L|0;s=((((L|0)<0?0-L|0:L)|0)>3|(((s|0)<0?0-s|0:s)|0)>3)&1}else s=2;c[Wa>>2]=s;do if(!((O|M)<<16>>16)){M=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((M|0)<0?0-M|0:M)|0)>3){m=1;break}N=R-N|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;if(!((P|O)<<16>>16)){o=(b[ha+184>>1]|0)-(b[ha+180>>1]|0)|0;R=Q-R|0;o=((((R|0)<0?0-R|0:R)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Ua>>2]=o;if(!((U|S)<<16>>16)){n=(b[ha+176>>1]|0)-(b[ha+172>>1]|0)|0;T=V-T|0;n=((((T|0)<0?0-T|0:T)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ta>>2]=n;do if(!((W|U)<<16>>16)){U=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((U|0)<0?0-U|0:U)|0)>3){k=1;break}V=Z-V|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}k=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else k=2;while(0);c[Sa>>2]=k;if(!((X|W)<<16>>16)){h=(b[ha+192>>1]|0)-(b[ha+188>>1]|0)|0;Z=Y-Z|0;h=((((Z|0)<0?0-Z|0:Z)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Ra>>2]=h;J=v;break a}}while(0);if((i|0)==0?(k|h|n|o|m|s|u|q|J|_|$|aa|y|z|A|B|C|D|t|r|p|l|j|f|0)==0:0)break}A=ha+20|0;h=c[A>>2]|0;C=ha+12|0;i=c[C>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;D=ha+16|0;j=c[D>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[109092+k>>0]|0;c[Fa>>2]=l;m=d[109144+((m|0)>0?m:0)>>0]|0;c[Ja>>2]=m;k=109196+(k*3|0)|0;c[kb>>2]=k;do if(!da){f=c[(c[ea>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[mb>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ha>>2]=d[109092+aa>>0];c[La>>2]=d[109144+(($|0)>0?$:0)>>0];c[mb>>2]=109196+(aa*3|0);break}}while(0);do if(!ca){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ga>>2]=l;c[Ka>>2]=m;c[Da>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ga>>2]=d[109092+aa>>0];c[Ka>>2]=d[109144+(($|0)>0?$:0)>>0];c[lb>>2]=109196+(aa*3|0);break}}while(0);B=w(sa,Ca)|0;x=3;k=0;y=(c[e>>2]|0)+(B<<8)+(ga<<4)|0;z=Ia;while(1){if(g|0)Jf(y,g,Da,eb);g=c[z+12>>2]|0;if(g|0)Jf(y+4|0,g,Ea,eb);i=z+16|0;g=c[z+20>>2]|0;if(g|0)Jf(y+8|0,g,Ea,eb);j=z+24|0;g=c[z+28>>2]|0;if(g|0)Jf(y+12|0,g,Ea,eb);f=c[z>>2]|0;h=z+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){u=d[(c[mb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;t=mb+(k*12|0)+4|0;l=mb+(k*12|0)+8|0;s=0-u|0;r=u+1|0;p=y;q=16;while(1){h=p+bb|0;k=p+jb|0;i=p+eb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;aa=n-o|0;do if(((aa|0)<0?0-aa|0:aa)>>>0<(c[t>>2]|0)>>>0){m=d[h>>0]|0;aa=m-n|0;f=c[l>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;j=g&255;aa=j-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;g=d[p+ib>>0]|0;aa=g-n|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(s|0)?s:(f|0)>(u|0)?u:f)+m;f=c[l>>2]|0;g=r}else g=u;h=d[p+db>>0]|0;aa=h-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){aa=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((aa|0)<(s|0)?s:(aa|0)>(u|0)?u:aa)+j;g=g+1|0}$=4-j+(o-n<<2)+m>>3;aa=0-g|0;$=($|0)<(aa|0)?aa:($|0)>(g|0)?g:$;aa=a[107502+(o-$)>>0]|0;a[k>>0]=a[107502+($+n)>>0]|0;a[p>>0]=aa}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}v=mb+(k*12|0)+4|0;p=mb+(k*12|0)+8|0;t=y;u=16;while(1){j=t+bb|0;k=t+jb|0;o=t+eb|0;g=a[o>>0]|0;q=d[k>>0]|0;r=d[t>>0]|0;h=q-r|0;h=(h|0)<0?0-h|0:h;f=c[v>>2]|0;c:do if(h>>>0<f>>>0){s=d[j>>0]|0;aa=s-q|0;i=c[p>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;n=g&255;aa=n-r|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;g=t+ib|0;m=t+db|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;aa=f-q|0;if(((aa|0)<0?0-aa|0:aa)>>>0<i>>>0){aa=r+q+s|0;a[k>>0]=(n+4+(aa<<1)+f|0)>>>3;a[j>>0]=(aa+2+f|0)>>>2;h=f*3|0;i=3;j=aa+4|0;f=d[t+gb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=s}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;aa=g-r|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=(c[p>>2]|0)>>>0)break;aa=n+q+r|0;a[t>>0]=((aa<<1)+4+s+g|0)>>>3;a[o>>0]=(aa+2+g|0)>>>2;a[m>>0]=(aa+4+(g*3|0)+(d[t+hb>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(s<<1)|0)>>>2;while(0);a[t>>0]=(s+r+2+(n<<1)|0)>>>2}while(0);u=u+-1|0;if(!u)break;else t=t+1|0}}}else ba=276;while(0);do if((ba|0)==276){ba=0;if(f){Kf(y,f,mb+(k*12|0)|0,eb);g=c[h>>2]|0}if(g|0)Kf(y+4|0,g,mb+(k*12|0)|0,eb);g=c[i>>2]|0;if(g|0)Kf(y+8|0,g,mb+(k*12|0)|0,eb);g=c[j>>2]|0;if(!g)break;Kf(y+12|0,g,mb+(k*12|0)|0,eb)}while(0);if(!x)break;g=c[z+36>>2]|0;x=x+-1|0;k=2;y=y+cb|0;z=z+32|0}n=c[ha+24>>2]|0;l=c[A>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1520+(((m|0)>0?m:0)<<2)>>2]|0;k=c[C>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[D>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[109092+h>>0]|0;c[Fa>>2]=i;j=d[109144+((j|0)>0?j:0)>>0]|0;c[Ja>>2]=j;h=109196+(h*3|0)|0;c[kb>>2]=h;do if(!da){g=c[(c[ea>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[mb>>2]=h;break}else{da=g+n|0;da=(da|0)<51?da:51;da=(m+1+(c[1520+(((da|0)>0?da:0)<<2)>>2]|0)|0)>>>1;ea=da+k|0;ea=(ea|0)<51?ea:51;ea=(ea|0)>0?ea:0;da=da+f|0;da=(da|0)<51?da:51;c[Ha>>2]=d[109092+ea>>0];c[La>>2]=d[109144+((da|0)>0?da:0)>>0];c[mb>>2]=109196+(ea*3|0);break}}while(0);do if(!ca){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ga>>2]=i;c[Ka>>2]=j;c[Da>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1520+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ga>>2]=d[109092+fa>>0];c[Ka>>2]=d[109144+((ea|0)>0?ea:0)>>0];c[lb>>2]=109196+(fa*3|0);break}}while(0);i=(c[e>>2]|0)+fb+(B<<6)+(ga<<3)|0;k=i+ta|0;g=c[ka>>2]|0;if(g|0){Lf(i,g,Da,ua);Lf(k,c[ka>>2]|0,Da,ua)}g=c[qa>>2]|0;if(g|0){Lf(i+eb|0,g,Da,ua);Lf(k+eb|0,c[qa>>2]|0,Da,ua)}g=c[ma>>2]|0;if(g|0){Lf(i+4|0,g,Ea,ua);Lf(k+4|0,c[ma>>2]|0,Ea,ua)}g=c[oa>>2]|0;if(g|0){Lf(i+eb+4|0,g,Ea,ua);Lf(k+eb+4|0,c[oa>>2]|0,Ea,ua)}f=c[Ia>>2]|0;g=c[ya>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ia>>2]|0):0)&(f|0)==(c[Aa>>2]|0)){if(!h){Mf(i,f,mb,ua);Mf(k,c[Ia>>2]|0,mb,ua)}}else{if(!h){Nf(i,f,mb,ua);Nf(k,c[Ia>>2]|0,mb,ua);g=c[ya>>2]|0}if(g|0){Nf(i+2|0,g,mb,ua);Nf(k+2|0,c[ya>>2]|0,mb,ua)}g=c[ia>>2]|0;if(g|0){Nf(i+4|0,g,mb,ua);Nf(k+4|0,c[ia>>2]|0,mb,ua)}g=c[wa>>2]|0;if(!g)break;Nf(i+6|0,g,mb,ua);Nf(k+6|0,c[wa>>2]|0,mb,ua)}while(0);j=i+db|0;i=k+db|0;g=c[la>>2]|0;if(g|0){Lf(j,g,Da,ua);Lf(i,c[la>>2]|0,Da,ua)}g=c[ra>>2]|0;if(g|0){Lf(j+eb|0,g,Da,ua);Lf(i+eb|0,c[ra>>2]|0,Da,ua)}g=c[na>>2]|0;if(g|0){Lf(j+4|0,g,Ea,ua);Lf(i+4|0,c[na>>2]|0,Ea,ua)}g=c[pa>>2]|0;if(g|0){Lf(j+eb+4|0,g,Ea,ua);Lf(i+eb+4|0,c[pa>>2]|0,Ea,ua)}f=c[va>>2]|0;g=c[za>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(h)break;Mf(j,f,Ea,ua);Mf(i,c[va>>2]|0,Ea,ua);break}if(!h){Nf(j,f,Ea,ua);Nf(i,c[va>>2]|0,Ea,ua);g=c[za>>2]|0}if(g|0){Nf(j+2|0,g,Ea,ua);Nf(i+2|0,c[za>>2]|0,Ea,ua)}g=c[ja>>2]|0;if(g|0){Nf(j+4|0,g,Ea,ua);Nf(i+4|0,c[ja>>2]|0,Ea,ua)}g=c[xa>>2]|0;if(!g)break;Nf(j+6|0,g,Ea,ua);Nf(i+6|0,c[xa>>2]|0,Ea,ua)}while(0);f=ga+1|0;g=(f|0)==(Ca|0);sa=sa+(g&1)|0;if(sa>>>0>=(c[Ma>>2]|0)>>>0)break;else{ga=g?0:f;ha=ha+216|0}}Vb=Cb;return}function Jf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0<t>>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0<h>>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[107502+(m-x)>>0]|0;a[k>>0]=a[107502+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0<f>>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0<w>>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Kf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;t=d[(c[f>>2]|0)+(e+-1)>>0]|0;v=0-g|0;u=v<<1;s=f+4|0;n=f+8|0;q=w(g,-3)|0;r=0-t|0;o=t+1|0;p=g<<1;m=4;while(1){f=b+u|0;j=b+v|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[s>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0<x>>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(r|0)?r:(e|0)>(t|0)?t:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=t}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0<f>>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(r|0)?r:(A|0)>(t|0)?t:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[107502+(l-i)>>0]|0;a[j>>0]=a[107502+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Lf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[107502+(n-m)>>0]|0;a[j>>0]=a[107502+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[107502+(n-f)>>0]|0;a[l>>0]=a[107502+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Mf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[107502+(i-I)>>0]|0;a[f>>0]=a[107502+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Nf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0<e>>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[107502+(j-t)>>0]|0;a[h>>0]=a[107502+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[107502+(k-g)>>0]|0;a[i>>0]=a[107502+(g+j)>>0]|0;a[l>>0]=t;return}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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=ve(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((w(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;Pf(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0<p>>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){Pf(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=w(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;Pf(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;Pf(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){r=e;e=e+(i*216|0)|0;Pf(e,b,h,j,d,f);c[r+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((w(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){Pf(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)Zd(c[b>>2]|0,128,w(p*384|0,q)|0);else if((e|0)==14)se(c[b>>2]|0,f,w(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function Pf(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=Vb;Vb=Vb+480|0;fa=ha+96|0;ga=ha+32|0;k=ha+24|0;l=ha;da=c[e+4>>2]|0;u=c[e+8>>2]|0;Wd(e,(w(da,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(w(f<<8,da)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{Zd(fa,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=da;c[l+8>>2]=u;c[l>>2]=i;if(!i){Zd(fa,0,384);break a}we(fa,k,l,j,f<<4,0,0,16,16);re(e,fa);Vb=ha;return}}while(0);Zd(ga,0,64);if((f|0)!=0?(c[b+((0-da|0)*216|0)+196>>2]|0)!=0:0){ca=m+(0-(da<<4))|0;x=ca+1|0;y=x+1|0;v=y+1|0;s=v+1|0;v=(d[x>>0]|0)+(d[ca>>0]|0)+(d[y>>0]|0)+(d[v>>0]|0)|0;y=s+1|0;ca=y+1|0;x=ca+1|0;z=x+1|0;x=(d[y>>0]|0)+(d[s>>0]|0)+(d[ca>>0]|0)+(d[x>>0]|0)|0;ca=z+1|0;s=ca+1|0;y=s+1|0;ea=y+1|0;y=(d[ca>>0]|0)+(d[z>>0]|0)+(d[s>>0]|0)+(d[y>>0]|0)|0;s=ea+1|0;z=s+1|0;z=(d[s>>0]|0)+(d[ea>>0]|0)+(d[z>>0]|0)+(d[z+1>>0]|0)|0;ea=x+v|0;c[ga>>2]=y+ea+(c[ga>>2]|0)+z;s=ga+4|0;c[s>>2]=ea-y-z+(c[s>>2]|0);s=1}else{v=0;x=0;y=0;z=0;s=0}if((u+-1|0)!=(f|0)?(c[b+(da*216|0)+196>>2]|0)!=0:0){ea=m+(da<<8)|0;B=ea+1|0;C=B+1|0;A=C+1|0;t=A+1|0;A=(d[B>>0]|0)+(d[ea>>0]|0)+(d[C>>0]|0)+(d[A>>0]|0)|0;C=t+1|0;ea=C+1|0;B=ea+1|0;D=B+1|0;B=(d[C>>0]|0)+(d[t>>0]|0)+(d[ea>>0]|0)+(d[B>>0]|0)|0;ea=D+1|0;t=ea+1|0;C=t+1|0;q=C+1|0;C=(d[ea>>0]|0)+(d[D>>0]|0)+(d[t>>0]|0)+(d[C>>0]|0)|0;t=q+1|0;D=t+1|0;D=(d[t>>0]|0)+(d[q>>0]|0)+(d[D>>0]|0)+(d[D+1>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;t=ga+4|0;c[t>>2]=q-C-D+(c[t>>2]|0);t=1;q=s+1|0}else{t=0;A=0;B=0;C=0;D=0;q=s}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){ca=m+-1|0;ea=da<<4;k=da<<5;$=da*48|0;E=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;r=da<<6;ca=ca+r|0;Z=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;ca=ca+r|0;_=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;r=ca+r|0;$=(d[r+ea>>0]|0)+(d[r>>0]|0)+(d[r+k>>0]|0)+(d[r+$>>0]|0)|0;r=Z+E|0;c[ga>>2]=_+r+(c[ga>>2]|0)+$;k=ga+16|0;c[k>>2]=r-_-$+(c[k>>2]|0);k=q+1|0;r=1}else{k=q;E=0;Z=0;_=0;$=0;r=0}do if((da+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=da<<4;l=da<<5;p=da*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=da<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=r+1|0;l=n+b|0;c[ga>>2]=o+l+(c[ga>>2]|0)+p;i=ga+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(r|0)!=0;if(!(m&j)){if(!m){l=1;m=ga+4|0;i=h;p=21;break}}else c[ga+4>>2]=_+$+Z+E-b-n-o-p>>5;o=l;b=1;m=(s|0)!=0;l=(t|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(r|0)!=0;if(!q){b=0;n=k;h=r;p=23}else{l=0;m=ga+4|0;i=r;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(s|0)!=0;l=(t|0)!=0;if(l&(m&k)){c[ga+16>>2]=y+z+x+v-D-C-B-A>>5;k=n;ea=j;m=1;ca=1;break}i=ga+16|0;if(k){k=n;ea=j;ca=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;ea=j;ca=l}switch(k|0){case 1:{i=c[ga>>2]>>4;break}case 2:{i=c[ga>>2]>>5;break}case 3:{i=(c[ga>>2]|0)*21>>10;break}default:i=c[ga>>2]>>6}c[ga>>2]=i;aa=ga+4|0;j=c[aa>>2]|0;ba=ga+16|0;k=c[ba>>2]|0;if(!(k|j)){c[ga+60>>2]=i;c[ga+56>>2]=i;c[ga+52>>2]=i;c[ga+48>>2]=i;c[ga+44>>2]=i;c[ga+40>>2]=i;c[ga+36>>2]=i;c[ga+32>>2]=i;c[ga+28>>2]=i;c[ga+24>>2]=i;c[ga+20>>2]=i;c[ba>>2]=i;c[ga+12>>2]=i;c[ga+8>>2]=i;c[aa>>2]=i}else{U=i+j|0;W=j>>1;V=i+W|0;W=i-W|0;Y=i-j|0;c[ga>>2]=U+k;X=k>>1;c[ba>>2]=U+X;c[ga+32>>2]=U-X;c[ga+48>>2]=U-k;c[aa>>2]=V+k;c[ga+20>>2]=V+X;c[ga+36>>2]=V-X;c[ga+52>>2]=V-k;c[ga+8>>2]=W+k;c[ga+24>>2]=W+X;c[ga+40>>2]=W-X;c[ga+56>>2]=W-k;c[ga+12>>2]=Y+k;c[ga+28>>2]=Y+X;c[ga+44>>2]=Y-X;c[ga+60>>2]=Y-k}j=0;i=fa;l=ga;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}u=w(u,da)|0;V=da<<3;U=0-V|0;W=da<<6;X=da<<4;O=ga+60|0;P=ga+56|0;Q=ga+52|0;R=ga+48|0;S=ga+44|0;T=ga+40|0;H=ga+36|0;I=ga+32|0;J=ga+28|0;K=ga+24|0;L=ga+20|0;M=ga+12|0;N=ga+8|0;G=fa+256|0;Y=u<<6;t=v;s=x;r=y;j=z;q=A;p=B;n=C;l=D;F=0;o=E;h=Z;i=_;k=$;E=(c[e>>2]|0)+(u<<8)+(w(f<<6,da)|0)+(g<<3)|0;while(1){Zd(ga,0,64);if(m){t=E+U|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;r=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;j=r+1|0;z=j+1|0;r=(d[j>>0]|0)+(d[r>>0]|0)|0;z=(d[z+1>>0]|0)+(d[z>>0]|0)|0;j=s+t|0;c[ga>>2]=r+j+(c[ga>>2]|0)+z;c[aa>>2]=j-r-z+(c[aa>>2]|0);j=1}else{z=j;j=0}if(ca){A=E+W|0;q=A+1|0;B=q+1|0;A=(d[q>>0]|0)+(d[A>>0]|0)|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;D=(d[D+1>>0]|0)+(d[D>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;c[aa>>2]=q-C-D+(c[aa>>2]|0);q=j+1|0}else{A=q;B=p;C=n;D=l;q=j}if(ea){y=E+-1|0;u=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;v=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;x=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;y=(d[y+V>>0]|0)+(d[y>>0]|0)|0;j=v+u|0;c[ga>>2]=x+j+(c[ga>>2]|0)+y;c[ba>>2]=j-x-y+(c[ba>>2]|0);j=q+1|0;i=1}else{j=q;u=o;v=h;x=i;y=k;i=0}do if(b){p=E+8|0;h=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;n=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;o=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;p=(d[p+V>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ga>>2]=o+k+(c[ga>>2]|0)+p;k=k-o-p+(c[ba>>2]|0)|0;c[ba>>2]=k;l=(q|0)==0;if(!(ea&l))if(l){p=55;break}else{p=50;break}else{c[aa>>2]=x+y+v+u-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[aa>>2]=c[aa>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(ca&(m&k)){k=r+z+s+t-D-C-B-A>>4;p=56;break}if(!k){k=c[ba>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ba>>2]=k;switch(j|0){case 1:{i=c[ga>>2]>>3;break}case 2:{i=c[ga>>2]>>4;break}case 3:{i=(c[ga>>2]|0)*21>>9;break}default:i=c[ga>>2]>>5}c[ga>>2]=i;j=c[aa>>2]|0;k=c[ba>>2]|0;if(!(k|j)){c[O>>2]=i;c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[H>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[ba>>2]=i;c[M>>2]=i;c[N>>2]=i;c[aa>>2]=i}else{_=i+j|0;da=j>>1;$=i+da|0;da=i-da|0;f=i-j|0;c[ga>>2]=_+k;g=k>>1;c[ba>>2]=_+g;c[I>>2]=_-g;c[R>>2]=_-k;c[aa>>2]=$+k;c[L>>2]=$+g;c[H>>2]=$-g;c[Q>>2]=$-k;c[N>>2]=da+k;c[K>>2]=da+g;c[T>>2]=da-g;c[P>>2]=da-k;c[M>>2]=f+k;c[J>>2]=f+g;c[S>>2]=f-g;c[O>>2]=f-k}j=0;i=G+(F<<6)|0;l=ga;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}F=F+1|0;if((F|0)==2)break;else{j=z;q=A;p=B;n=C;l=D;o=u;h=v;i=x;k=y;E=E+Y|0}}re(e,fa);Vb=ha;return}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(w(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=w(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function Rf(a,b){a=a|0;b=b|0;var d=0;jf(a);d=ae(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function Sf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Vb;Vb=Vb+208|0;k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(Xd(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;Vb=s;return a|0}while(0);c[o>>2]=0;if(gf(r,q)|0){a=3;Vb=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;Vb=s;return a|0}b=vf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;Vb=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=Cf(r)|0;Ef(r);Of(a,b,0)|0}else{b=a+1336|0;Of(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(Yd(r,j)|0)){kf(a,j)|0;a=0;Vb=s;return a|0}else{a=j+40|0;lf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;lf(c[a>>2]|0);c[a>>2]=0;a=3;Vb=s;return a|0}case 8:if(!(fe(r,i)|0)){mf(a,i)|0;a=0;Vb=s;return a|0}else{a=i+20|0;lf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;lf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;lf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;lf(c[a>>2]|0);c[a>>2]=0;a=3;Vb=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;Vb=s;return a|0}c[a+1184>>2]=1;if(rf(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;he(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=nf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;Vb=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=ne(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Hf(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;Vb=s;return a|0}}if(c[a+3380>>2]|0){a=3;Vb=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(ge(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;Vb=s;return a|0}if(!(rf(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Ff(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;Vb=s;return a|0}c[a+1336>>2]=Cf(b)|0}dl(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;tf(a,c[a+1432>>2]|0);Ef(b);if(xf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;Vb=s;return a|0}b=a+1336|0;if(oe(r,a,b,j)|0){ef(a,c[j>>2]|0);a=3;Vb=s;return a|0}if(!(sf(a)|0)){a=0;Vb=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;Vb=s;return a|0}}while(0);If(h,c[a+1212>>2]|0);qf(a);g=Qf(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){yf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{yf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;Vb=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}Vb=s;return b|0}while(0);a=3;Vb=s;return a|0}function Tf(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){lf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;lf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;lf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){lf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;lf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;lf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;lf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;lf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;lf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;lf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;lf(c[e>>2]|0);c[e>>2]=0;Df(a+1220|0);return}function Uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Gf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function Vf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function Wf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function Xf(a){a=a|0;Hf(a+1220|0);return}function Yf(a){a=a|0;return (wf(a)|0)==0|0}function Zf(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function _f(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function $f(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function bg(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=yj(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(Rf(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{Tf(e);zj(d);e=-4;return e|0}return 0}function dg(a){a=a|0;if(!a)return;Tf(a+8|0);zj(a);return}function eg(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(Vf(d)|0)<<4;c[b+8>>2]=(Wf(d)|0)<<4;c[b+12>>2]=Zf(d)|0;c[b+16>>2]=_f(d)|0;$f(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);ag(d,b+20|0,b+24|0);c[b>>2]=bg(d)|0;d=0;return d|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,l=0,m=0;l=Vb;Vb=Vb+16|0;j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=Sf(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(Yf(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);Vb=l;return b|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Vb;Vb=Vb+16|0;f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;Vb=h;return g|0}a=a+8|0;if(d|0)Xf(a);a=Uf(a,g,e,f)|0;if(!a){g=0;Vb=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;Vb=h;return g|0}function hg(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;if(!b)return;if((e|0)==0|(f|0)==0)f=1;else{c[b+32>>2]=e;c[b+12>>2]=f;k=b+16|0;c[k>>2]=f;j=e;a:do if(f>>>0>3){i=(d[e+2>>0]|0)<<8|(d[e+3>>0]|0)|(d[e+1>>0]|0)<<16|(d[e>>0]|0)<<24;h=f+-4|0;c[k>>2]=h;c[b>>2]=i;i=e+4|0;if(h>>>0>3){g=(d[e+6>>0]|0)<<8|(d[e+7>>0]|0)|(d[e+5>>0]|0)<<16|(d[i>>0]|0)<<24;f=f+-8|0;break}switch(f|0){case 7:{f=a[e+6>>0]|0;l=13;break}case 6:{f=0;l=13;break}case 5:{f=0;g=0;break}default:{f=0;h=0;g=0;l=15;break a}}if((l|0)==13)g=a[e+5>>0]|0;h=g;g=a[i>>0]|0;l=15}else{switch(f|0){case 3:{f=a[e+2>>0]|0;l=6;break}case 2:{f=0;l=6;break}case 1:{f=0;g=0;l=7;break}default:{f=0;g=0;h=0}}if((l|0)==6){g=a[e+1>>0]|0;l=7}if((l|0)==7)h=a[e>>0]|0;c[k>>2]=0;c[b>>2]=(g&255)<<16|(h&255)<<24|(f&255)<<8;f=0;h=0;g=0;l=15}while(0);if((l|0)==15){g=(h&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[k>>2]=f;c[b+4>>2]=g;c[b+28>>2]=j;c[b+24>>2]=e+8;c[b+8>>2]=32;f=0}a[b+20>>0]=f;return}function ig(a){a=a|0;return}function jg(a){a=a|0;return -32-(c[a+8>>2]|0)+((c[a+24>>2]|0)-(c[a+28>>2]|0)<<3)|0}function kg(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b+8|0;e=c[n>>2]|0;f=0-e&7;if(!f){n=0;return n|0}m=8-f|0;if(!(a[b+20>>0]|0)){if(e>>>0<=m>>>0){k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;f=c[l>>2]|0;h=b+24|0;i=c[h>>2]|0;if(f>>>0>3){b=d[i+2>>0]<<8|d[i+3>>0]|d[i+1>>0]<<16|d[i>>0]<<24;f=f+-4|0}else{switch(f|0){case 3:{f=a[i+2>>0]|0;j=8;break}case 2:{f=0;j=8;break}case 1:{f=0;b=0;j=9;break}default:{f=0;b=0;g=0}}if((j|0)==8){b=a[i+1>>0]|0;j=9}if((j|0)==9)g=a[i>>0]|0;b=(b&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[l>>2]=f;c[k>>2]=b;c[h>>2]=i+4;e=e+32|0}c[n>>2]=e-m}n=m&255;return n|0}function lg(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;i=b+4|0;c[b>>2]=c[i>>2];j=b+16|0;f=c[j>>2]|0;k=b+24|0;l=c[k>>2]|0;if(f>>>0>3){m=(d[l+2>>0]|0)<<8|(d[l+3>>0]|0)|(d[l+1>>0]|0)<<16|(d[l>>0]|0)<<24;h=f+-4|0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}switch(f|0){case 3:{f=a[l+2>>0]|0;m=5;break}case 2:{f=0;m=5;break}case 1:{f=0;g=0;m=6;break}default:{f=0;g=0;h=0}}if((m|0)==5){g=a[l+1>>0]|0;m=6}if((m|0)==6)h=a[l>>0]|0;m=(g&255)<<16|(h&255)<<24|(f&255)<<8;h=0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}function mg(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;m=e>>5;k=e&31;e=(c[b+12>>2]|0)-(m<<2)|0;l=b+16|0;c[l>>2]=e;j=c[b+28>>2]|0;h=j+(m<<2)|0;a:do if(e>>>0>3){f=(d[h+2>>0]|0)<<8|(d[h+3>>0]|0)|(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24;h=e+-4|0;c[l>>2]=h;c[b>>2]=f;f=j+(m+1<<2)|0;if(h>>>0>3){i=(d[f+2>>0]|0)<<8|(d[f+3>>0]|0)|(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24;h=e+-8|0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}switch(e|0){case 7:{e=a[f+2>>0]|0;i=11;break}case 6:{e=0;i=11;break}case 5:{e=0;g=0;break}default:{e=0;g=0;f=0;break a}}if((i|0)==11)g=a[f+1>>0]|0;f=a[f>>0]|0}else{switch(e|0){case 3:{e=a[h+2>>0]|0;i=4;break}case 2:{e=0;i=4;break}case 1:{e=0;f=0;i=5;break}default:{e=0;g=0;f=0}}if((i|0)==4){f=a[h+1>>0]|0;i=5}if((i|0)==5){g=f;f=a[h>>0]|0}c[l>>2]=0;c[b>>2]=(g&255)<<16|(f&255)<<24|(e&255)<<8;e=0;g=0;f=0}while(0);i=(g&255)<<16|(f&255)<<24|(e&255)<<8;h=0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}function ng(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>>3;d=c&7;e=og(f+1|0)|0;if(f|0){c=0;do{a[e+c>>0]=pg(b,8)|0;c=c+1|0}while((c|0)!=(f|0))}if(!d)return e|0;a[e+f>>0]=(pg(b,d)|0)<<8-d;return e|0}function og(a){a=a|0;return yj(a)|0}function pg(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;if(!e){o=0;return o|0}o=b+8|0;m=c[o>>2]|0;if(m>>>0<e>>>0){n=e-m|0;n=(c[b>>2]&(1<<m)+-1)<<n|(c[b+4>>2]|0)>>>(32-n|0)}else n=c[b>>2]<<32-m>>>(32-e|0);if(a[b+20>>0]|0){o=n;return o|0}if(m>>>0>e>>>0)b=m-e|0;else{k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;g=c[l>>2]|0;i=b+24|0;j=c[i>>2]|0;if(g>>>0>3){f=d[j+2>>0]<<8|d[j+3>>0]|d[j+1>>0]<<16|d[j>>0]<<24;b=g+-4|0}else{switch(g|0){case 3:{b=a[j+2>>0]|0;h=12;break}case 2:{b=0;h=12;break}case 1:{b=0;f=0;h=13;break}default:{b=0;f=0;g=0}}if((h|0)==12){f=a[j+1>>0]|0;h=13}if((h|0)==13)g=a[j>>0]|0;f=(f&255)<<16|(g&255)<<24|(b&255)<<8;b=0}c[l>>2]=b;c[k>>2]=f;c[i>>2]=j+4;b=32-e+m|0}c[o>>2]=b;o=n;return o|0}function qg(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=w(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))rg(k,q,d,v,g,h,i);else rg(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))sg(k,q,d,v,g);else sg(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))tg(k,q,d,v,g,h,-1);else tg(k,q,v,d,g,h,-1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))ug(k,q,d,v,g,h,i,j,-1);else ug(k,q,v,d,g,h,i,j,-1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(w(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function rg(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;x=+f[c+(h<<3)>>2];B=C+x;x=C-x;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];z=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];y=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=z+y;f[d+(h<<3)+4>>2]=z-y;h=i+s|0;f[d+(h<<3)>>2]=x-v;r=i+a|0;f[d+(r<<3)>>2]=x+v;f[d+(h<<3)+4>>2]=u-t;f[d+(r<<3)+4>>2]=u+t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=w(s,r)|0;k=w(a,s)|0;l=w(i,s)|0;p=0;do{if(!b){m=(w(q,p)|0)&65532;n=(w(p,r)|0)&65535;o=0;do{E=o+m|0;A=+f[c+(E<<3)>>2];D=E+a|0;u=+f[c+(D<<3)>>2];y=A+u;u=A-u;A=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=A+t;t=A-t;D=E+r|0;A=+f[c+(D<<3)>>2];E=E+i|0;z=+f[c+(E<<3)>>2];C=A+z;z=A-z;A=+f[c+(E<<3)+4>>2];B=+f[c+(D<<3)+4>>2];x=A+B;B=A-B;A=u-B;B=u+B;u=t-z;z=t+z;D=o+n|0;f[d+(D<<3)>>2]=y+C;C=y-C;f[d+(D<<3)+4>>2]=v+x;x=v-x;E=D+j|0;v=+f[e+(o<<3)>>2];y=+f[e+(o<<3)+4>>2];f[d+(E<<3)>>2]=A*v+u*y;f[d+(E<<3)+4>>2]=u*v-A*y;E=D+k|0;y=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)>>2]=C*y+x*A;f[d+(E<<3)+4>>2]=x*y-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)>>2]=B*A+z*C;f[d+(D<<3)+4>>2]=z*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=w(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(w(k,h)|0)&65534;g=(w(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];o=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];q=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)>>2]=o*p+q*n;f[d+(m<<3)+4>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function tg(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,x=0,y=0,z=0;l=a&65535;i=h<<24>>24==1;m=b&65535;h=b<<16>>16!=0;if(a<<16>>16==1)if(i){if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;r=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;n=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];q=p-r*.5;j=c+(j<<3)+4|0;o=+f[j>>2]-n*.5;f[d+(b<<3)>>2]=r+p;f[d+(b<<3)+4>>2]=n+ +f[j>>2];n=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=q-p;f[d+(l<<3)+4>>2]=o+n;l=b+h|0;f[d+(l<<3)>>2]=q+p;f[d+(l<<3)+4>>2]=o-n;b=b+1|0}while((b|0)!=(m|0));return}else{if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;n=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;r=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];o=p-n*.5;j=c+(j<<3)+4|0;q=+f[j>>2]-r*.5;f[d+(b<<3)>>2]=n+p;f[d+(b<<3)+4>>2]=r+ +f[j>>2];r=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=o+p;f[d+(l<<3)+4>>2]=q-r;l=b+h|0;f[d+(l<<3)>>2]=o-p;f[d+(l<<3)+4>>2]=q+r;b=b+1|0}while((b|0)!=(m|0));return}if(i){if(!h)return;j=w(m,l)|0;k=w(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=w((a*3|0)+1|0,l)|0;b=w(a,l)|0;i=0;do{v=i+h&65535;y=c+(v<<3)|0;t=v+l|0;x=c+(t<<3)|0;o=+f[y>>2]+ +f[x>>2];z=v-l|0;n=+f[c+(z<<3)>>2];p=n-o*.5;v=c+(v<<3)+4|0;t=c+(t<<3)+4|0;r=+f[v>>2]+ +f[t>>2];z=c+(z<<3)+4|0;u=+f[z>>2]-r*.5;s=i+b&65535;f[d+(s<<3)>>2]=n+o;f[d+(s<<3)+4>>2]=r+ +f[z>>2];r=(+f[y>>2]-+f[x>>2])*.8660253882408142;o=(+f[v>>2]-+f[t>>2])*.8660253882408142;n=p-o;q=u-r;o=p+o;r=u+r;t=s+j|0;u=+f[e+(i<<3)>>2];p=+f[e+(i<<3)+4>>2];f[d+(t<<3)+4>>2]=r*u+p*n;f[d+(t<<3)>>2]=u*n-r*p;s=s+k|0;p=+f[g+(i<<3)>>2];r=+f[g+(i<<3)+4>>2];f[d+(s<<3)+4>>2]=q*p+o*r;f[d+(s<<3)>>2]=o*p-q*r;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}else{if(!h)return;j=w(m,l)|0;k=w(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=w((a*3|0)+1|0,l)|0;b=w(a,l)|0;i=0;do{x=i+h&65535;t=c+(x<<3)|0;y=x+l|0;v=c+(y<<3)|0;r=+f[t>>2]+ +f[v>>2];s=x-l|0;q=+f[c+(s<<3)>>2];u=q-r*.5;x=c+(x<<3)+4|0;y=c+(y<<3)+4|0;n=+f[x>>2]+ +f[y>>2];s=c+(s<<3)+4|0;o=+f[s>>2]-n*.5;z=i+b&65535;f[d+(z<<3)>>2]=q+r;f[d+(z<<3)+4>>2]=n+ +f[s>>2];n=(+f[t>>2]-+f[v>>2])*.8660253882408142;r=(+f[x>>2]-+f[y>>2])*.8660253882408142;q=u+r;p=o+n;r=u-r;n=o-n;y=z+j|0;o=+f[e+(i<<3)>>2];u=+f[e+(i<<3)+4>>2];f[d+(y<<3)>>2]=n*u+o*q;f[d+(y<<3)+4>>2]=n*o-u*q;z=z+k|0;q=+f[g+(i<<3)>>2];u=+f[g+(i<<3)+4>>2];f[d+(z<<3)>>2]=r*q+p*u;f[d+(z<<3)+4>>2]=p*q-r*u;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}} |
| | | function ue(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Vb;Vb=Vb+32|0;R=S;m=c[i+4>>2]|0;Q=(h>>>0)/(m>>>0)|0;P=Q<<4;Q=h-(w(Q,m)|0)<<4;c[R+4>>2]=m;c[R+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{y=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;v=k&65535;k=k>>>16&65535;r=c[l+104>>2]|0}else{p=1;v=0;k=0;r=-1}else{p=0;v=0;k=0;r=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){t=l+172|0;t=e[t>>1]|e[t+2>>1]<<16;n=1;q=c[l+108>>2]|0;s=t&65535;t=t>>>16&65535}else{n=1;q=-1;s=0;t=0}else{n=0;q=-1;s=0;t=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|v&65535|r|0)!=0:0)?((t&65535)<<16|s&65535|q|0)!=0:0)O=14;else{m=0;l=0}else O=14;if((O|0)==14){u=b[f+160>>1]|0;x=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23}else{n=-1;o=0;O=23}else O=18;do if((O|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;O=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;O=23}else l=v}while(0);do if((O|0)==23){m=(r|0)==(y|0);l=(q|0)==(y|0);if(((l&1)+(m&1)+((n|0)==(y|0)&1)|0)!=1){M=v<<16>>16;K=s<<16>>16;l=o<<16>>16;J=s<<16>>16>v<<16>>16;L=J?s:v;M=J?M:(K|0)<(M|0)?K:M;K=k<<16>>16;J=t<<16>>16;O=o>>16;I=t<<16>>16>k<<16>>16;N=I?t:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m|l){l=m?v:s;k=m?k:t}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(u&65535)|0;k=(k&65535)+(x&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){R=1;Vb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Vb=S;return R|0}else{m=l&65535;l=k&65535}}k=ve(g,y)|0;if(!k){R=1;Vb=S;return R|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=y;c[a+104>>2]=y;c[a+108>>2]=y;c[a+112>>2]=y;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[R>>2]=k;we(j,a+132|0,R,Q,P,0,0,16,16);break a}}case 2:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;o=c[y>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;s=e[s>>1]|e[s+2>>1]<<16;q=1;k=c[k+108>>2]|0;r=s&65535;s=s>>>16&65535}else{q=1;k=-1;r=0;s=0}else{q=0;k=-1;r=0;s=0}b:do if((k|0)!=(z|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else O=44;do if((O|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(z|0);if((((n|0)==(z|0)&1)+(m&1)|0)!=1){K=l<<16>>16;J=r<<16>>16;M=o<<16>>16;O=r<<16>>16>l<<16>>16;L=O?r:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=s<<16>>16;O=o>>16;I=s<<16>>16>k<<16>>16;N=I?s:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=r;k=s}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Vb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Vb=S;return R|0}l=ve(g,z)|0;if(!l){R=1;Vb=S;return R|0}b[a+160>>1]=m;b[a+162>>1]=k;t=c[a+160>>2]|0;c[a+156>>2]=t;c[a+152>>2]=t;c[a+148>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=z;c[a+104>>2]=z;c[a+116>>2]=l;c[a+120>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;x=c[f+148>>2]|0;l=c[y>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){r=m+184|0;r=e[r>>1]|e[r+2>>1]<<16;q=r&65535;r=r>>>16&65535;k=c[m+112>>2]|0}else{q=0;r=0;k=-1}do if((k|0)!=(x|0)){o=t&65535;s=t>>>16;p=s&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(z|0)==(x|0);if((((k|0)==(x|0)&1)+(m&1)|0)==1){l=m?t:n;k=m?s:n>>>16;break}else{M=q<<16>>16;O=t<<16>>16;l=n<<16>>16;K=q<<16>>16<o<<16>>16;L=K?o:q;M=K?M:(O|0)<(M|0)?O:M;O=r<<16>>16;K=t>>16;k=n>>16;J=r<<16>>16<p<<16>>16;N=J?p:r;O=J?O:(K|0)<(O|0)?K:O;l=L<<16>>16<(n&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(n>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}}else{k=r&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Vb=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Vb=S;return R|0}k=ve(g,x)|0;if(!k){R=1;Vb=S;return R|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+176>>2]=O;c[a+172>>2]=O;c[a+168>>2]=O;c[g>>2]=O;c[a+108>>2]=x;c[a+112>>2]=x;O=a+124|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];we(j,a+132|0,R,Q,P,0,0,16,8);c[R>>2]=c[O>>2];we(j,g,R,Q,P,0,8,16,8);break a}}case 3:{s=b[f+160>>1]|0;t=b[f+162>>1]|0;y=c[f+144>>2]|0;x=a+4|0;n=c[x>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(y|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){r=m+172|0;r=e[r>>1]|e[r+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=r&65535;r=r>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;r=0;n=-1;p=0}else O=82;do if((O|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;r=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;r=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;r=0;n=-1;p=0}else break c}while(0);m=(o|0)==(y|0);if(((m&1)+((n|0)==(y|0)&1)|0)!=1){K=l<<16>>16;J=q<<16>>16;M=p<<16>>16;O=q<<16>>16>l<<16>>16;L=O?q:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=r<<16>>16;O=p>>16;I=r<<16>>16>k<<16>>16;N=I?r:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(p&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(p>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m){l=q;k=r}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(s&65535)|0;k=(k&65535)+(t&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Vb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Vb=S;return R|0}l=ve(g,y)|0;if(!l){R=1;Vb=S;return R|0}b[a+176>>1]=m;b[a+178>>1]=k;s=c[a+176>>2]|0;c[a+172>>2]=s;c[a+168>>2]=s;c[a+164>>2]=s;c[a+144>>2]=s;c[a+140>>2]=s;c[a+136>>2]=s;c[a+132>>2]=s;c[a+100>>2]=y;c[a+108>>2]=y;c[a+116>>2]=l;c[a+124>>2]=l;t=b[f+164>>1]|0;u=b[f+166>>1]|0;v=c[f+148>>2]|0;m=c[x>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){r=k+172|0;n=1;k=c[k+108>>2]|0;r=e[r>>1]|e[r+2>>1]<<16}else{n=1;k=-1;r=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){r=k+176|0;n=1;k=c[k+108>>2]|0;r=e[r>>1]|e[r+2>>1]<<16}else{n=1;k=-1;r=0}else{n=0;k=-1;r=0}}do if((k|0)!=(v|0)){p=s&65535;k=s>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=s;break}else{l=-1;n=0;o=0}m=(y|0)==(v|0);l=(l|0)==(v|0);if(((l&1)+(m&1)|0)!=1){M=s<<16>>16;O=n<<16>>16;l=r<<16>>16;K=n<<16>>16>p<<16>>16;L=K?n:p;M=K?M:(M|0)>(O|0)?O:M;O=s>>16;K=o<<16>>16;k=r>>16;J=o<<16>>16>q<<16>>16;N=J?o:q;O=J?O:(O|0)>(K|0)?K:O;l=L<<16>>16<(r&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(r>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=r;k=r>>>16;break}else l=s}else{l=r;k=r>>>16}while(0);m=(l&65535)+(t&65535)|0;l=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Vb=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Vb=S;return R|0}k=ve(g,v)|0;if(!k){R=1;Vb=S;return R|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+160>>2]=O;c[a+156>>2]=O;c[a+152>>2]=O;c[g>>2]=O;c[a+104>>2]=v;c[a+112>>2]=v;O=a+120|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];we(j,a+132|0,R,Q,P,0,0,8,16);c[R>>2]=c[O>>2];we(j,g,R,Q,P,8,0,8,16);break a}}default:{N=a+4|0;C=0;d:while(1){z=f+176+(C<<2)|0;B=xe(c[z>>2]|0)|0;A=f+192+(C<<2)|0;c[a+100+(C<<2)>>2]=c[A>>2];O=ve(g,c[A>>2]|0)|0;c[a+116+(C<<2)>>2]=O;if(!O){k=1;O=165;break}e:do if(B|0){E=C<<2;F=a+132+(E<<2)|0;J=a+132+(E<<2)+2|0;M=E|1;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;K=E|2;G=a+132+(K<<2)|0;K=a+132+(K<<2)+2|0;L=E|3;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;D=0;while(1){v=b[f+208+(C<<4)+(D<<2)>>1]|0;x=b[f+208+(C<<4)+(D<<2)+2>>1]|0;y=ye(c[z>>2]|0)|0;u=c[A>>2]|0;k=ze(a,c[2056+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;l=d[2056+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[N>>2]|0):0)if((c[k>>2]|0)>>>0<6){O=k+132+(l<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;p=1;s=c[k+100+(l>>>2<<2)>>2]|0;l=O&65535;k=O>>>16&65535}else{p=1;s=-1;l=0;k=0}else{p=0;s=-1;l=0;k=0}m=ze(a,c[2568+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[2568+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){t=m+132+(n<<2)|0;t=e[t>>1]|e[t+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;r=t&65535;t=t>>>16&65535}else{o=1;q=-1;r=0;t=0}else{o=0;q=-1;r=0;t=0}m=ze(a,c[3080+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3080+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140}else{n=-1;p=0;O=140}else O=135;do if((O|0)==135){O=0;m=ze(a,c[3592+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3592+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[N>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;O=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;O=140}}while(0);do if((O|0)==140){O=0;o=(s|0)==(u|0);m=(q|0)==(u|0);if(((m&1)+(o&1)+((n|0)==(u|0)&1)|0)!=1){q=l<<16>>16;o=r<<16>>16;s=p<<16>>16;u=r<<16>>16>l<<16>>16;r=u?r:l;l=u?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=t<<16>>16;u=p>>16;n=t<<16>>16>k<<16>>16;t=n?t:k;k=n?q:(o|0)<(q|0)?o:q;l=(r<<16>>16<(p&65535)<<16>>16?r&65535:(l|0)>(s|0)?l:s)&65535;k=(t<<16>>16<(p>>>16&65535)<<16>>16?t&65535:(k|0)>(u|0)?k:u)&65535;break}if(o|m){l=o?l:r;k=o?k:t}else{l=p&65535;k=p>>>16&65535}}while(0);v=(l&65535)+(v&65535)|0;m=v&65535;k=(k&65535)+(x&65535)|0;l=k&65535;if(((v<<16>>16)+8192|0)>>>0>16383){k=1;O=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;O=165;break d}switch(y|0){case 0:{b[F>>1]=m;b[J>>1]=l;b[I>>1]=m;b[M>>1]=l;b[G>>1]=m;b[K>>1]=l;b[H>>1]=m;k=L;O=151;break}case 1:{k=(D<<1)+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 2:{k=D+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 3:{k=D+E|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}default:{}}if((O|0)==151)b[k>>1]=l;D=D+1|0;if(D>>>0>=B>>>0)break e}}while(0);C=C+1|0;if(C>>>0>=4){O=154;break}}if((O|0)==154){m=0;while(1){c[R>>2]=c[a+116+(m<<2)>>2];g=ye(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{we(j,a+132+(m<<2<<2)|0,R,Q,P,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;we(j,g,R,Q,P,k,l,8,4);we(j,g+8|0,R,Q,P,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;we(j,g,R,Q,P,k,l,4,8);we(j,g+4|0,R,Q,P,k|4,l,4,8);break}default:{N=a+132+(m<<2<<2)|0;we(j,N,R,Q,P,k,l,4,4);O=k|4;we(j,N+4|0,R,Q,P,O,l,4,4);g=l|4;we(j,N+8|0,R,Q,P,k,g,4,4);we(j,N+12|0,R,Q,P,O,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((O|0)==165){Vb=S;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){R=0;Vb=S;return R|0}if(!(c[a>>2]|0)){re(i,j);R=0;Vb=S;return R|0}else{Ae(i,h,j,f+328|0);R=0;Vb=S;return R|0}return 0}function ve(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function we(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=a+(i<<4)+h|0;u=b[d>>1]|0;t=d+2|0;q=b[t>>1]|0;r=e+4|0;n=c[r>>2]<<4;p=e+8|0;o=c[p>>2]<<4;s=h+f|0;l=(u>>2)+s|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4104+((u&3)<<4)+((q&3)<<2)>>2]|0){case 0:{Be(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{Ce(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{De(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{Ce(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Ee(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Ge(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{He(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ie(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Je(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ie(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Ee(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Ge(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;u=c[r>>2]|0;l=c[p>>2]|0;i=u<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(s>>>1)|0;a=b[t>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(w(u<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){Ke(f,q,h,o,i,p,e,a,n,m);return}if(g){Le(f,q,h,o,i,p,e,n,m);return}if(l){Me(f,q,h,o,i,p,a,n,m);return}else{Be(f,q,h,o,i,p,n,m,8);Be(f+(w(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function xe(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function ye(a){a=a|0;return a|0}function ze(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function Ae(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=c[b+4>>2]|0;q=w(c[b+8>>2]|0,r)|0;m=(e>>>0)%(r>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=r<<4;k=r<<2&1073741820;j=0;do{h=c[1728+(j<<2)>>2]|0;b=c[1792+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(w(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;s=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=s;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{s=d[e+1>>0]|0;u=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[107502+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;t=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[107502+(u+s)>>0]|0;s=d[e+3>>0]|0;u=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[107502+(t+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[107502+(u+s)>>0]|0;s=h+n|0;e=d[b+1>>0]|0;u=c[g+(j<<6)+20>>2]|0;a[s>>0]=a[107502+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;t=c[g+(j<<6)+24>>2]|0;a[s+1>>0]=a[107502+(u+e)>>0]|0;e=d[b+3>>0]|0;u=c[g+(j<<6)+28>>2]|0;a[s+2>>0]=a[107502+(t+h)>>0]|0;h=b+16|0;a[s+3>>0]=a[107502+(u+e)>>0]|0;s=s+n|0;e=d[h+1>>0]|0;u=c[g+(j<<6)+36>>2]|0;a[s>>0]=a[107502+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;t=c[g+(j<<6)+40>>2]|0;a[s+1>>0]=a[107502+(u+e)>>0]|0;e=d[h+3>>0]|0;u=c[g+(j<<6)+44>>2]|0;a[s+2>>0]=a[107502+(t+b)>>0]|0;h=h+16|0;a[s+3>>0]=a[107502+(u+e)>>0]|0;s=s+n|0;e=d[h+1>>0]|0;u=c[g+(j<<6)+52>>2]|0;a[s>>0]=a[107502+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;t=c[g+(j<<6)+56>>2]|0;a[s+1>>0]=a[107502+(u+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[s+2>>0]=a[107502+(t+b)>>0]|0;a[s+3>>0]=a[107502+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=r<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1728+(b<<2)>>2]|0;b=c[1792+(b<<2)>>2]|0;u=i>>>0>19;e=f+(u?320:256)+((b<<3)+h)|0;h=(u?l:m)+((w(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){s=e+8|0;t=c[s>>2]|0;s=s+8|0;c[h>>2]=c[e>>2];u=h+(j<<2)|0;c[u>>2]=t;u=u+(j<<2)|0;t=c[s+8>>2]|0;c[u>>2]=c[s>>2];c[u+(j<<2)>>2]=t}else{u=d[e+1>>0]|0;s=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[107502+(b+(d[e>>0]|0))>>0]|0;t=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[107502+(s+u)>>0]|0;u=d[e+3>>0]|0;s=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[107502+(p+t)>>0]|0;t=e+8|0;a[h+3>>0]=a[107502+(s+u)>>0]|0;u=h+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[u>>0]=a[107502+((c[g+(i<<6)+16>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[u+1>>0]=a[107502+(p+s)>>0]|0;s=d[t+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[u+2>>0]=a[107502+(q+r)>>0]|0;t=t+8|0;a[u+3>>0]=a[107502+(p+s)>>0]|0;u=u+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[u>>0]=a[107502+((c[g+(i<<6)+32>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[u+1>>0]=a[107502+(p+s)>>0]|0;s=d[t+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[u+2>>0]=a[107502+(q+r)>>0]|0;t=t+8|0;a[u+3>>0]=a[107502+(p+s)>>0]|0;u=u+k|0;s=d[t+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[u>>0]=a[107502+((c[g+(i<<6)+48>>2]|0)+(d[t>>0]|0))>>0]|0;r=d[t+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[u+1>>0]=a[107502+(p+s)>>0]|0;t=d[t+3>>0]|0;s=c[g+(i<<6)+60>>2]|0;a[u+2>>0]=a[107502+(q+r)>>0]|0;a[u+3>>0]=a[107502+(s+t)>>0]|0}i=i+1|0}while((i|0)!=24);return}function Be(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(w(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=w(g,i)|0;f=b;while(1){gc[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=w(k,e)|0;g=w(k,i)|0;f=b;h=c;d=k;while(1){gc[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){gc[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function Ce(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;s=Vb;Vb=Vb+448|0;l=s;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{Be(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((w(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Vb=s;return}o=g<<2;r=0-g|0;p=r<<1;q=g<<1;if(!i){Vb=s;return}n=e;m=e+(w(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){t=d[k+p>>0]|0;x=d[k+r>>0]|0;y=d[k+g>>0]|0;A=d[k>>0]|0;z=y+t|0;u=d[l+q>>0]|0;a[h+48>>0]=((d[107502+((d[k+q>>0]|0)+16-z-(z<<2)+u+((A+x|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;z=u+A|0;v=d[l+g>>0]|0;a[h+32>>0]=((d[107502+(y+16+((x+t|0)*20|0)-z-(z<<2)+v>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;z=v+x|0;y=d[l>>0]|0;a[h+16>>0]=((d[107502+(A+16+((u+t|0)*20|0)-z-(z<<2)+y>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;t=y+t|0;a[h>>0]=((d[107502+(x+16+((v+u|0)*20|0)-t-(t<<2)+(d[l+r>>0]|0)>>5)>>0]|0)+1+(d[b+r>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}Vb=s;return}function De(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;q=Vb;Vb=Vb+448|0;k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{Be(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((w(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Vb=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){Vb=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){r=d[j+n>>0]|0;u=d[j+p>>0]|0;v=d[j+g>>0]|0;y=d[j>>0]|0;x=v+r|0;s=d[k+o>>0]|0;a[h+48>>0]=a[107502+((d[j+o>>0]|0)+16-x-(x<<2)+s+((y+u|0)*20|0)>>5)>>0]|0;x=s+y|0;t=d[k+g>>0]|0;a[h+32>>0]=a[107502+(v+16+((u+r|0)*20|0)-x-(x<<2)+t>>5)>>0]|0;x=t+u|0;v=d[k>>0]|0;a[h+16>>0]=a[107502+(y+16+((s+r|0)*20|0)-x-(x<<2)+v>>5)>>0]|0;r=v+r|0;a[h>>0]=a[107502+(u+16+((t+s|0)*20|0)-r-(r<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}Vb=q;return}function Ee(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=Vb;Vb=Vb+448|0;l=t;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Be(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){Vb=t;return}p=i>>>2;s=(p|0)==0;q=m-i|0;r=16-i|0;o=(k|0)==0;n=i&-4;h=l+((w(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!s){i=h+n|0;if(o){k=c;f=b;b=p;while(1){u=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[107502+(l+16-u+((g+e|0)*20|0)-(u<<2)+m>>5)>>0]|0)|0)>>>1;u=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[107502+(v+16+((e+f|0)*20|0)-u-(u<<2)+g>>5)>>0]|0)|0)>>>1;u=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[107502+(l+16+((f+m|0)*20|0)-u-(u<<2)+e>>5)>>0]|0)|0)>>>1;u=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[107502+(v+16+((g+m|0)*20|0)-u-(u<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{v=f;k=k+4|0;h=h+4|0;f=l;l=v}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){v=m+f|0;u=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[107502+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[107502+(u+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;u=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[107502+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[107502+(u+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{v=f;k=k+4|0;h=h+4|0;f=l;l=v}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+r|0;h=h+q|0}}Vb=t;return}function Fe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;y=Vb;Vb=Vb+448|0;l=y;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{Be(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}x=l+((w(f,m)|0)+e)|0;f=x+(w(m,k>>>1&1|2)|0)+5|0;x=x+m+2+(k&1)|0;do if(!j)f=c;else{t=i>>>2;u=m-i|0;v=16-i|0;if(!t){f=c+((w(j+-1|0,v)|0)+16-i)|0;break}r=i&-4;q=(w(r+16-i|0,j+-1|0)|0)+r+16-i|0;s=c;p=j;while(1){b=f+r|0;h=s;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=t;while(1){z=o+g|0;A=o;o=d[l>>0]|0;a[h>>0]=a[107502+(f+16-z+((n+k|0)*20|0)-(z<<2)+o>>5)>>0]|0;z=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[107502+(A+16+((k+g|0)*20|0)-z-(z<<2)+n>>5)>>0]|0;z=k+n|0;A=k;k=d[l+2>>0]|0;a[h+2>>0]=a[107502+(f+16+((g+o|0)*20|0)-z-(z<<2)+k>>5)>>0]|0;z=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[107502+(A+16+((n+o|0)*20|0)-z-(z<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{A=g;h=h+4|0;l=l+4|0;g=f;f=A}}p=p+-1|0;if(!p)break;else{s=s+r+v|0;f=b+u|0}}f=c+q|0}while(0);e=j>>>2;if(!e){Vb=y;return}q=m<<2;r=0-m|0;o=r<<1;p=m<<1;if(!i){Vb=y;return}k=f+(0-(j<<4))|0;n=x;g=x+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){A=d[l+o>>0]|0;c=d[l+r>>0]|0;v=d[l+m>>0]|0;t=d[l>>0]|0;j=v+A|0;z=d[h+p>>0]|0;u=f+48|0;a[u>>0]=((d[107502+((d[l+p>>0]|0)+16-j-(j<<2)+z+((t+c|0)*20|0)>>5)>>0]|0)+1+(d[u>>0]|0)|0)>>>1;u=z+t|0;j=d[h+m>>0]|0;x=f+32|0;a[x>>0]=((d[107502+(v+16+((c+A|0)*20|0)-u-(u<<2)+j>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;x=d[h>>0]|0;u=j+c|0;v=f+16|0;a[v>>0]=((d[107502+(t+16+((z+A|0)*20|0)-u-(u<<2)+x>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;A=x+A|0;a[f>>0]=((d[107502+(c+16+((j+z|0)*20|0)-A-(A<<2)+(d[h+r>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}Vb=y;return}function Ge(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;A=Vb;Vb=Vb+1792|0;m=A+1344|0;z=A;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{Be(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((w(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(u=h<<2,v=q*3|0,x=0-h|0,r=x<<1,s=h<<1,t=q<<1,y=-5-j|0,q|0):0){i=z+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){B=d[m+r>>0]|0;C=d[m+x>>0]|0;G=d[m+h>>0]|0;H=d[m>>0]|0;F=G+B|0;D=d[g+s>>0]|0;c[i+(t<<2)>>2]=(d[m+s>>0]|0)-F-(F<<2)+D+((H+C|0)*20|0);F=D+H|0;E=d[g+h>>0]|0;c[i+(q<<2)>>2]=((C+B|0)*20|0)+G-F-(F<<2)+E;F=d[g>>0]|0;G=E+C|0;c[i>>2]=((D+B|0)*20|0)+H-G-(G<<2)+F;B=F+B|0;c[i+(y<<2)>>2]=((E+D|0)*20|0)+C-B-(B<<2)+(d[g+x>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(v<<2)|0;p=p+u|0;o=o+u|0}}}if(!k){Vb=A;return}t=j>>>2;v=(t|0)==0;u=16-j|0;s=j&-4;g=z+8+(l<<2)|0;f=z+20|0;while(1){if(!v){r=g+(s<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=t;while(1){H=o+b|0;G=o;o=c[m>>2]|0;a[q>>0]=((d[107502+(i+512-H+((n+h|0)*20|0)-(H<<2)+o>>10)>>0]|0)+1+(d[107502+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[107502+(G+512+((h+b|0)*20|0)-H-(H<<2)+n>>10)>>0]|0)+1+(d[107502+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=n+h|0;G=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[107502+(i+512+((o+b|0)*20|0)-H-(H<<2)+h>>10)>>0]|0)+1+(d[107502+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[107502+(G+512+((n+o|0)*20|0)-H-(H<<2)+i>>10)>>0]|0)+1+(d[107502+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{H=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=H}}e=e+s|0;g=r;f=f+(s<<2)|0}k=k+-1|0;if(!k)break;else{e=e+u|0;g=g+20|0;f=f+20|0}}Vb=A;return}function He(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Vb;Vb=Vb+448|0;k=r;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{Be(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((w(f,l)|0)+e)+5|0;if(!j){Vb=r;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){Vb=r;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){s=c+l|0;t=c;c=d[k>>0]|0;a[h>>0]=a[107502+(f+16-s+((i+g|0)*20|0)-(s<<2)+c>>5)>>0]|0;s=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[107502+(t+16+((g+l|0)*20|0)-s-(s<<2)+i>>5)>>0]|0;s=g+i|0;t=g;g=d[k+2>>0]|0;a[h+2>>0]=a[107502+(f+16+((l+c|0)*20|0)-s-(s<<2)+g>>5)>>0]|0;s=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[107502+(t+16+((i+c|0)*20|0)-s-(s<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{t=l;h=h+4|0;k=k+4|0;l=f;f=t}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}Vb=r;return}function Ie(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;x=Vb;Vb=Vb+1792|0;n=x+1344|0;v=x;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;Be(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((w(g,i)|0)+f)+5|0;if(m|0?(t=j>>>2,u=i-j|0,t|0):0){r=j&-4;s=v;while(1){b=g+r|0;i=s;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){y=q+o|0;z=q;q=d[n>>0]|0;c[i>>2]=g-y+((p+h|0)*20|0)-(y<<2)+q;y=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+z-y-(y<<2)+p;y=h+p|0;z=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-y-(y<<2)+h;y=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=o;i=i+16|0;n=n+4|0;o=g;g=z}}m=m+-1|0;if(!m)break;else{s=s+(r<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){Vb=x;return}k=(j|0)==0;u=64-j|0;s=j*3|0;v=0-j|0;t=v<<1;r=j<<1;n=e;m=g;i=g+((w(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){z=c[g+(t<<2)>>2]|0;e=c[g+(v<<2)>>2]|0;B=c[g+(j<<2)>>2]|0;C=c[g>>2]|0;A=B+z|0;y=c[m+(r<<2)>>2]|0;a[h+48>>0]=((d[107502+((c[g+(r<<2)>>2]|0)+512-A-(A<<2)+y+((C+e|0)*20|0)>>10)>>0]|0)+1+(d[107502+((c[o+(r<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=y+C|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[107502+(B+512+((e+z|0)*20|0)-A-(A<<2)+l>>10)>>0]|0)+1+(d[107502+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=c[m>>2]|0;B=l+e|0;a[h+16>>0]=((d[107502+(C+512+((y+z|0)*20|0)-B-(B<<2)+A>>10)>>0]|0)+1+(d[107502+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;z=A+z|0;a[h>>0]=((d[107502+(e+512+((l+y|0)*20|0)-z-(z<<2)+(c[m+(v<<2)>>2]|0)>>10)>>0]|0)+1+(d[107502+((c[o+(v<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+u|0;m=m+(s<<2)|0;i=i+(s<<2)|0;g=g+(s<<2)|0}}Vb=x;return}function Je(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;v=Vb;Vb=Vb+1792|0;m=v+1344|0;u=v;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;Be(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((w(g,i)|0)+f)+5|0;if(l|0?(s=j>>>2,t=i-j|0,s|0):0){q=j&-4;r=u;while(1){b=g+q|0;i=r;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=s;while(1){x=p+n|0;y=p;p=d[m>>0]|0;c[i>>2]=g-x+((o+h|0)*20|0)-(x<<2)+p;x=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+y-x-(x<<2)+o;x=h+o|0;y=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-x-(x<<2)+h;x=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+y-x-(x<<2)+g;f=f+-1|0;if(!f)break;else{y=n;i=i+16|0;m=m+4|0;n=g;g=y}}l=l+-1|0;if(!l)break;else{r=r+(q<<2)|0;g=b+t|0}}}g=u+(j<<2)|0;f=k>>>2;if(!f){Vb=v;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){Vb=v;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){y=c[i+(p<<2)>>2]|0;u=c[i+(q<<2)>>2]|0;s=c[i+(j<<2)>>2]|0;r=c[i>>2]|0;t=s+y|0;x=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[107502+((c[i+(h<<2)>>2]|0)+512-t-(t<<2)+x+((r+u|0)*20|0)>>10)>>0]|0;t=x+r|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[107502+(s+512+((u+y|0)*20|0)-t-(t<<2)+k>>10)>>0]|0;t=c[l>>2]|0;s=k+u|0;a[g+16>>0]=a[107502+(r+512+((x+y|0)*20|0)-s-(s<<2)+t>>10)>>0]|0;y=t+y|0;a[g>>0]=a[107502+(u+512+((k+x|0)*20|0)-y-(y<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}Vb=v;return}function Ke(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=Vb;Vb=Vb+176|0;m=D;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{C=l+1|0;Be(b,m,e,f,g,h,n,C,n);Be(b+(w(h,g)|0)|0,m+(w(C,n)|0)|0,e,f,g,h,n,C,n);h=C;e=0;f=0}B=8-i|0;C=8-j|0;l=l>>>1;t=(l|0)==0;x=n<<1;y=k>>>1;u=(y|0)==0;z=16-k|0;A=x-k|0;v=k&-2;if(t|u){Vb=D;return}k=c;b=m+(w(f,n)|0)+e|0;s=l;while(1){g=d[b+n>>0]|0;q=b+v|0;o=k;p=b;r=(w(g,j)|0)+(w(C,d[b>>0]|0)|0)|0;b=(w(d[b+x>>0]|0,j)|0)+(w(C,g)|0)|0;g=y;while(1){G=p+1|0;F=d[G+n>>0]|0;E=(w(F,j)|0)+(w(C,d[G>>0]|0)|0)|0;F=(w(d[G+x>>0]|0,j)|0)+(w(C,F)|0)|0;G=((w(r,B)|0)+32+(w(E,i)|0)|0)>>>6;a[o+8>>0]=((w(b,B)|0)+32+(w(F,i)|0)|0)>>>6;a[o>>0]=G;p=p+2|0;G=d[p+n>>0]|0;r=(w(G,j)|0)+(w(C,d[p>>0]|0)|0)|0;b=(w(d[p+x>>0]|0,j)|0)+(w(C,G)|0)|0;E=((w(E,B)|0)+32+(w(r,i)|0)|0)>>>6;a[o+9>>0]=((w(F,B)|0)+32+(w(b,i)|0)|0)>>>6;a[o+1>>0]=E;g=g+-1|0;if(!g)break;else o=o+2|0}s=s+-1|0;if(!s)break;else{k=k+v+z|0;b=q+A|0}}if(t|u){Vb=D;return}k=c+64|0;h=m+(w(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+v|0;b=k;g=h;f=(w(m,j)|0)+(w(C,d[h>>0]|0)|0)|0;h=(w(d[h+x>>0]|0,j)|0)+(w(C,m)|0)|0;m=y;while(1){E=g+1|0;F=d[E+n>>0]|0;G=(w(F,j)|0)+(w(C,d[E>>0]|0)|0)|0;F=(w(d[E+x>>0]|0,j)|0)+(w(C,F)|0)|0;E=((w(f,B)|0)+32+(w(G,i)|0)|0)>>>6;a[b+8>>0]=((w(h,B)|0)+32+(w(F,i)|0)|0)>>>6;a[b>>0]=E;g=g+2|0;E=d[g+n>>0]|0;f=(w(E,j)|0)+(w(C,d[g>>0]|0)|0)|0;h=(w(d[g+x>>0]|0,j)|0)+(w(C,E)|0)|0;G=((w(G,B)|0)+32+(w(f,i)|0)|0)>>>6;a[b+9>>0]=((w(F,B)|0)+32+(w(h,i)|0)|0)>>>6;a[b+1>>0]=G;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+v+z|0;h=e+A|0}}Vb=D;return}function Le(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;y=Vb;Vb=Vb+144|0;l=y;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{Be(b,l,e,f,g,h,m,k,m);Be(b+(w(h,g)|0)|0,l+(w(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}x=8-i|0;r=k>>>1;q=(r|0)==0;t=j>>>1;p=(t|0)==0;u=16-j|0;v=(m<<1)-j|0;s=j&-2;if(q|p){Vb=y;return}k=c;b=l+(w(f,m)|0)+e|0;o=r;while(1){n=b+s|0;j=k;g=t;while(1){z=b+1|0;A=d[b>>0]|0;B=d[z+m>>0]|0;z=d[z>>0]|0;a[j+8>>0]=(((w(B,i)|0)+(w(x,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((w(z,i)|0)+(w(x,A)|0)<<3)+32|0)>>>6;A=d[b>>0]|0;a[j+9>>0]=(((w(d[b+m>>0]|0,i)|0)+(w(x,B)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((w(A,i)|0)+(w(x,z)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+s+u|0;b=n+v|0}}if(q|p){Vb=y;return}k=c+64|0;h=l+(w(h+f|0,m)|0)+e|0;e=r;while(1){g=h+s|0;b=k;l=t;while(1){B=h+1|0;A=d[h>>0]|0;z=d[B+m>>0]|0;B=d[B>>0]|0;a[b+8>>0]=(((w(z,i)|0)+(w(x,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((w(B,i)|0)+(w(x,A)|0)<<3)+32|0)>>>6;A=d[h>>0]|0;a[b+9>>0]=(((w(d[h+m>>0]|0,i)|0)+(w(x,z)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((w(A,i)|0)+(w(x,B)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+s+u|0;h=g+v|0}}Vb=y;return}function Me(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Vb;Vb=Vb+144|0;l=z;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{y=k+1|0;Be(b,l,e,f,g,h,j,y,j);Be(b+(w(h,g)|0)|0,l+(w(y,j)|0)|0,e,f,g,h,j,y,j);h=y;g=j;e=0;f=0}y=8-i|0;r=k>>>1;q=(r|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;t=g<<1;x=t-j|0;s=j&-2;if(q|p){Vb=z;return}j=c;b=l+(w(f,g)|0)+e|0;o=r;while(1){n=b+s|0;m=j;k=u;while(1){A=d[b+g>>0]|0;C=b+1|0;B=d[b>>0]|0;a[m+8>>0]=(((w(y,A)|0)+(w(d[b+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((w(y,B)|0)+(w(A,i)|0)<<3)+32|0)>>>6;A=d[C+g>>0]|0;B=d[C>>0]|0;a[m+9>>0]=(((w(y,A)|0)+(w(d[C+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((w(y,B)|0)+(w(A,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+s+v|0;b=n+x|0}}if(q|p){Vb=z;return}k=c+64|0;h=l+(w(h+f|0,g)|0)+e|0;f=r;while(1){e=h+s|0;b=k;l=u;while(1){C=d[h+g>>0]|0;A=h+1|0;B=d[h>>0]|0;a[b+8>>0]=(((w(y,C)|0)+(w(d[h+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((w(y,B)|0)+(w(C,i)|0)<<3)+32|0)>>>6;C=d[A+g>>0]|0;B=d[A>>0]|0;a[b+9>>0]=(((w(y,C)|0)+(w(d[A+t>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((w(y,B)|0)+(w(C,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+s+v|0;h=e+x|0}}Vb=z;return}function Ne(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){fl(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;fl(c|0,a[b+-1>>0]|0,f|0)|0;return}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;se(b,a,d);return}function Pe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=w(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(w(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(w(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(w(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function Qe(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function Re(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,x=0,y=0,z=0,A=0;k=b+200|0;j=Ue(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(Qe(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=Ue(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(Qe(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=Ue(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(Qe(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(_e(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;r=g+4|0;s=g+5|0;t=g+6|0;u=g+7|0;v=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[r>>0]|0;a[j+4>>0]=a[s>>0]|0;a[j+5>>0]=a[t>>0]|0;a[j+6>>0]=a[u>>0]|0;a[j+7>>0]=a[v>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);fl(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}v=d[g+16>>0]|0;t=d[h+15>>0]|0;u=d[g>>0]|0;x=t+v<<4;v=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(v-u<<3)|0)*5|0)+32>>6;u=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(t-u<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;t=w(v,-7)|0;j=w(v,-6)|0;o=w(v,-5)|0;p=w(v,-4)|0;q=w(v,-3)|0;r=w(v,-2)|0;s=v<<1;k=v*3|0;l=v<<2;m=v*5|0;b=v*6|0;h=v*7|0;n=v<<3;i=0;do{z=(w(i+-7|0,u)|0)+x|0;g=i<<4;y=z+t|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+r|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-v|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+v|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+s|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}Ve(e,f,0);Ve(e,f+64|0,1);Ve(e,f+128|0,2);Ve(e,f+192|0,3);Ve(e,f+256|0,4);Ve(e,f+320|0,5);Ve(e,f+384|0,6);Ve(e,f+448|0,7);Ve(e,f+512|0,8);Ve(e,f+576|0,9);Ve(e,f+640|0,10);Ve(e,f+704|0,11);Ve(e,f+768|0,12);Ve(e,f+832|0,13);Ve(e,f+896|0,14);Ve(e,f+960|0,15);A=0;return A|0}function Se(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=(i|0)!=0;K=0;a:while(1){m=We(K)|0;l=c[m+4>>2]|0;m=ze(b,c[m>>2]|0)|0;i=Ue(b,m)|0;if(L&(i|0)!=0){J=(Qe(c[m>>2]|0)|0)==2;i=J?0:i}n=Xe(K)|0;k=c[n+4>>2]|0;n=ze(b,c[n>>2]|0)|0;j=Ue(b,n)|0;if(L&(j|0)!=0){J=(Qe(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(Qe(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(Qe(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0<i>>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(Ye(K)|0)>>2]|0;j=ze(b,j)|0;k=Ue(b,j)|0;if(L&(k|0)!=0){J=(Qe(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(Ze(K)|0)>>2]|0;j=ze(b,j)|0;l=Ue(b,j)|0;if(L&(l|0)!=0){J=(Qe(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1728+(K<<2)>>2]|0;J=c[1792+(K<<2)>>2]|0;s=(1285>>>K&1|0)!=0;if(s){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;t=a[e+j>>0]|0;u=a[e+(j+1)>>0]|0;v=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;r=a[e+(j+7)>>0]|0;if(s){j=h+m|0;C=n;B=q;m=r;y=t;x=u;break}else{j=e+(j+-1)|0;C=n;B=q;m=r;y=t;x=u;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;v=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=v;m=C;n=y;o=x;p=v;q=C;r=y;s=x;t=v;u=C;i=(v&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=w(A&255,16843009)|0;q=w(z&255,16843009)|0;u=w(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;r=u&255;s=u>>>8&255;t=u>>>16&255;u=u>>>24&255;i=w(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(v&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(v&255)+(x&255)+(y&255)|0)>>>3;while(0);i=w(i&255,16843009)|0;r=i&255;s=i>>>8&255;t=i>>>16&255;u=i>>>24&255;j=r;k=s;l=t;m=u;n=r;o=s;p=t;q=u;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=v&255;r=C&255;E=r+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;r=(H+2+k+(r<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;s=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;t=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=r;m=s;o=r;p=s;q=t;u=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}u=y&255;i=j&255;j=A&255;q=u+2|0;H=(q+j+(i<<1)|0)>>>2;t=H&255;G=x&255;n=G+2|0;u=(n+(u<<1)+i|0)>>>2&255;m=v&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;s=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=t;k=u;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=s;o=t;p=u;r=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}r=j&255;t=y&255;s=(t+1+r|0)>>>1&255;u=x&255;B=u+2|0;i=(B+(t<<1)+r|0)>>>2;F=A&255;E=t+2|0;H=(E+F+(r<<1)|0)>>>2;t=(u+1+t|0)>>>1&255;q=v&255;E=((u<<1)+q+E|0)>>>2;m=q+1|0;u=(m+u|0)>>>1&255;C=C&255;G=z&255;j=s;k=t;l=u;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;r=(G+2+(F<<1)+r|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;t=q+1|0;p=(t+l|0)>>>1&255;H=z&255;G=H+2|0;u=(G+(q<<1)+l|0)>>>2&255;t=(t+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(v&255)+(m<<1)|0)>>>2&255;n=t;o=u;r=D&255;s=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=v&255;r=(A+1+n|0)>>>1&255;D=C&255;t=D+1|0;s=(t+A|0)>>>1&255;u=(F?C:o)&255;t=(t+u|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=u+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(u<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=r;l=s;m=t;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;u=(u+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;r=D&255;m=r+2|0;n=(j+r|0)>>>1&255;i=E&255;o=(k+2+i+(r<<1)|0)>>>2&255;r=(r+1+i|0)>>>1&255;s=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=r;q=s;t=E;u=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(t&255)<<16|(u&255)<<24|(s&255)<<8|r&255;c[J+48>>2]=i;Ve(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function Te(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=b+200|0;k=Ue(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){v=(Qe(c[c[l>>2]>>2]|0)|0)==2;k=v?0:k}l=b+204|0;j=Ue(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(Qe(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=Ue(b,c[l>>2]|0)|0;if(m&(j|0)!=0){v=(Qe(c[c[l>>2]>>2]|0)|0)==2;j=v?0:j}u=(k|0)!=0;v=(n|0)!=0;t=u&v;s=t&(j|0)!=0;r=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!t){if(v){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(u){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;fl(e|0,b|0,4)|0;fl(e+4|0,f|0,4)|0;fl(e+8|0,b|0,4)|0;fl(e+12|0,f|0,4)|0;fl(e+16|0,b|0,4)|0;fl(e+20|0,f|0,4)|0;m=e+32|0;fl(e+24|0,b|0,4)|0;fl(e+28|0,f|0,4)|0;if(u){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(v){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(v){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;fl(m|0,b|0,4)|0;fl(e+36|0,f|0,4)|0;fl(e+40|0,b|0,4)|0;fl(e+44|0,f|0,4)|0;fl(e+48|0,b|0,4)|0;fl(e+52|0,f|0,4)|0;fl(e+56|0,b|0,4)|0;fl(e+60|0,f|0,4)|0;break}case 1:{if(r){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!s){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(w(m,-3)|0)|0;b=w(f,-3)|0;k=l+b|0;a[e>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[107502+(k>>5)>>0]|0;a[e+7>>0]=a[107502+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[107502+(k>>5)>>0]|0;a[e+15>>0]=a[107502+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[107502+(k>>5)>>0]|0;a[e+23>>0]=a[107502+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[107502+(k>>5)>>0]|0;a[e+31>>0]=a[107502+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[107502+(k>>5)>>0]|0;a[e+39>>0]=a[107502+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[107502+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[107502+(k>>5)>>0]|0;a[e+47>>0]=a[107502+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[107502+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[107502+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[107502+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[107502+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[107502+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[107502+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[107502+(l>>5)>>0]|0;a[e+55>>0]=a[107502+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[107502+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[107502+(m>>5)>>0]|0;a[e+63>>0]=a[107502+(m+f>>5)>>0]|0}}Ve(e,n,o);f=o|1;Ve(e,n+64|0,f);Ve(e,n+128|0,f+1|0);Ve(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function Ue(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function Ve(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(w(c[1792+(m<<2)>>2]|0,k)|0)+(c[1728+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[107502+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[107502+(m+l)>>0]|0;f=b+3|0;l=a[107502+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[107502+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[107502+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[107502+(f+i)>>0]|0;l=b+3|0;i=a[107502+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[107502+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[107502+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[107502+(l+j)>>0]|0;i=b+3|0;j=a[107502+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[107502+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[107502+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[107502+(k+j)>>0]|0;b=b+3|0;e=a[107502+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[107502+(h+g)>>0]|0;a[b>>0]=e;return}function We(a){a=a|0;return 4744+(a<<3)|0}function Xe(a){a=a|0;return 4552+(a<<3)|0}function Ye(a){a=a|0;return 4360+(a<<3)|0}function Ze(a){a=a|0;return 4168+(a<<3)|0}function _e(a){a=a|0;return a+1&3|0}function $e(a){a=a|0;return (c[a+8>>2]|0)==0|0}function af(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=_d(a,b)|0;return b|0}d=Sd(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function bf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=Vb;Vb=Vb+16|0;f=g;if(_d(a,f)|0){b=1;Vb=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;Vb=g;return b|0}c[b>>2]=d[((e|0)==0?108996:109044)+f>>0];b=0;Vb=g;return b|0}function cf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=We(e)|0;e=Xe(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(Ue(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(Ue(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(Ue(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(Ue(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function df(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Vb;Vb=Vb+128|0;Q=S+64|0;R=S;o=Ud(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[103052+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>16777215){n=e[103116+(o>>>22<<1)>>1]|0;J=25;break}if(o>>>0>2097151){n=e[103212+((o>>>18)+-8<<1)>>1]|0;J=25;break}else{n=e[103324+(m<<1)>>1]|0;J=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[103388+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>33554431){n=e[103452+(o>>>23<<1)>>1]|0;J=25;break}else{n=e[103516+(o>>>18<<1)>>1]|0;J=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[103772+(f<<1)>>1]|0;J=25;break}n=e[103900+(o>>>22<<1)>>1]|0;J=25;break}if(f>>>0<17){n=e[104156+(o>>>26<<1)>>1]|0;J=25;break}f=o>>>29;if(f|0){n=e[104284+(f<<1)>>1]|0;J=25;break}n=e[104300+(o>>>24<<1)>>1]|0;J=25;break}while(0);if((J|0)==25)if(!n){R=1;Vb=S;return R|0}else p=n;n=p&31;f=o<<n;m=32-n|0;x=p>>>11;K=x&31;if(K>>>0>g>>>0){R=1;Vb=S;return R|0}v=p>>>5&63;do if(K){if(!v)n=0;else{do if(m>>>0<v>>>0)if((ce(a,n)|0)==-1){R=1;Vb=S;return R|0}else{m=32;f=Ud(a)|0;break}while(0);o=f>>>(32-v|0);f=f<<v;p=0;n=1<<v+-1;do{c[Q+(p<<2)>>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0<K>>>0){t=n;s=K>>>0>10&u&1;b:while(1){if(m>>>0<16){if((ce(a,32-m|0)|0)==-1){N=1;J=125;break}r=32;f=Ud(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){H=9;J=59}else{if(f>>>0>2097151){H=10;J=59;break}if(f>>>0>1048575){H=11;J=59;break}if(f>>>0>524287){H=12;J=59;break}if(f>>>0>262143){H=13;J=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){N=1;J=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}G=m;B=n<<q;y=o;z=q;w=p;q=(q|0)==0;J=60}else{H=8;J=59}else{H=7;J=59}else{H=6;J=59}else{H=5;J=59}else{H=4;J=59}else{H=3;J=59}else{H=2;J=59}else{H=1;J=59}else{H=0;J=59}while(0);if((J|0)==59){J=0;m=H+1|0;n=f<<m;m=r-m|0;f=H<<s;if(!s){E=m;F=n;A=f;C=0;D=1}else{G=n;B=f;y=m;z=s;w=s;q=0;J=60}}if((J|0)==60){J=0;if(y>>>0<w>>>0){if((ce(a,32-y|0)|0)==-1){N=1;J=125;break}f=32;m=Ud(a)|0}else{f=y;m=G}E=f-w|0;F=m<<w;A=(m>>>(32-w|0))+B|0;C=z;D=q}s=u&(t|0)==(v|0)?A+2|0:A;n=(s+2|0)>>>1;o=D?1:C;c[Q+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=K>>>0){l=E;j=F;break a}else{m=E;f=F;s=o+(o>>>0<6&(n|0)>(3<<o+-1|0)&1)|0}}if((J|0)==125){Vb=S;return N|0}}else{l=m;j=f}while(0);if(K>>>0<g>>>0){do if(l>>>0<9)if((ce(a,32-l|0)|0)==-1){R=1;Vb=S;return R|0}else{l=32;j=Ud(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((K|0)!=3)if(j>>>0>1073741823)k=18;else k=(K|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(x&31){case 1:{if(j>>>0>268435455)k=d[108374+(j>>>27)>>0]|0;else{I=108406+f|0;J=91}break}case 2:{I=108438+(j>>>26)|0;J=91;break}case 3:{I=108502+(j>>>26)|0;J=91;break}case 4:{I=108566+(j>>>27)|0;J=91;break}case 5:{I=108598+(j>>>27)|0;J=91;break}case 6:{I=108630+(j>>>26)|0;J=91;break}case 7:{I=108694+(j>>>26)|0;J=91;break}case 8:{I=108758+(j>>>26)|0;J=91;break}case 9:{I=108822+(j>>>26)|0;J=91;break}case 10:{I=108886+(j>>>27)|0;J=91;break}case 11:{I=108918+(j>>>28)|0;J=91;break}case 12:{I=108934+(j>>>28)|0;J=91;break}case 13:{I=108950+(j>>>29)|0;J=91;break}case 14:{I=108958+(j>>>30)|0;J=91;break}default:{k=j>>31&16|1;break c}}while(0);if((J|0)==91)k=d[I>>0]|0;if(!k){R=1;Vb=S;return R|0}}while(0);g=k&15;l=l-g|0;j=j<<g;k=k>>>4&15}else k=0;n=K+-1|0;if(!n){c[b+(k<<2)>>2]=c[Q+(n<<2)>>2];O=l;h=1<<k;break}m=0;f=k;d:while(1){if(!f){c[R+(m<<2)>>2]=1;P=l;i=0}else{if(l>>>0<11){if((ce(a,32-l|0)|0)==-1){N=1;J=125;break}l=32;j=Ud(a)|0}switch(f|0){case 1:{M=108962+(j>>>31)|0;J=117;break}case 2:{M=108964+(j>>>30)|0;J=117;break}case 3:{M=108968+(j>>>30)|0;J=117;break}case 4:{M=108972+(j>>>29)|0;J=117;break}case 5:{M=108980+(j>>>29)|0;J=117;break}case 6:{M=108988+(j>>>29)|0;J=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){N=1;J=125;break d}else L=k}}if((J|0)==117){J=0;L=d[M>>0]|0}if(!L){N=1;J=125;break}g=L&15;i=L>>>4&15;c[R+(m<<2)>>2]=i+1;P=l-g|0;j=j<<g;i=f-i|0}m=m+1|0;if(m>>>0>=n>>>0){J=122;break}else{l=P;f=i}}if((J|0)==122){c[b+(i<<2)>>2]=c[Q+(n<<2)>>2];j=K+-2|0;h=1<<i;while(1){i=(c[R+(j<<2)>>2]|0)+i|0;h=1<<i|h;c[b+(i<<2)>>2]=c[Q+(j<<2)>>2];if(!j){O=P;break}else j=j+-1|0}}else if((J|0)==125){Vb=S;return N|0}}else{O=m;h=0}while(0);R=(ce(a,32-O|0)|0)==0;R=R?h<<16|K<<4:1;Vb=S;return R|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=Vd(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function ff(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function gf(a,b){a=a|0;b=b|0;var d=0;if((Sd(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=Sd(a,2)|0;a=Sd(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0<o>>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function jf(a){a=a|0;Zd(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=ae(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){lf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;lf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(ee(b,c[d>>2]|0)|0){lf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;lf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;lf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;lf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function lf(a){a=a|0;zj(a);return}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=ae(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;lf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;lf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;lf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;lf(c[(c[g>>2]|0)+44>>2]|0)}else{lf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;lf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;lf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;lf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=w(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0<l>>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0<l>>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=w(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;lf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;lf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=ae(216,c[g>>2]|0)|0;b=ae(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}Zd(e,0,(c[g>>2]|0)*216|0);b=a+16|0;hf(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=w(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=of(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=w(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function of(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{lf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}lf(h);c[a>>2]=0;j=a+4|0;lf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;lf(c[j>>2]|0);c[j>>2]=0;return pf(a,b,d,e,f,g)|0}function pf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=ae(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}Zd(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=ae(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=ae(4,17)|0;h=ae(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}Zd(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function qf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0<d>>>0);return}function rf(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function sf(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0<e>>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function tf(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;uf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} |
| | | function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[30881]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[30882]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[30879]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[30877]=c[30877]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=123812+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[30878]=c[30878]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[30883]|0)==(j|0)){j=(c[30880]|0)+b|0;c[30880]=j;c[30883]=i;c[i+4>>2]=j|1;if((i|0)!=(c[30882]|0))return;c[30882]=0;c[30879]=0;return}if((c[30882]|0)==(j|0)){j=(c[30879]|0)+b|0;c[30879]=j;c[30882]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[30877]=c[30877]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=123812+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[30878]=c[30878]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[30882]|0)){c[30879]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=123548+(a<<1<<2)|0;b=c[30877]|0;a=1<<a;if(!(b&a)){c[30877]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=123812+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[30878]|0;d=1<<e;a:do if(!(b&d)){c[30878]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[30885]|0)+-1|0;c[30885]=j;if(j|0)return;a=123964;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[30885]=-1;return}function Aj(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=yj(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Bj(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Cj(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Dj(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;bc[b&3]();c[a>>2]=324508639;return 0}function Ej(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=yj(b)|0;if(a|0)break;a=Tk()|0;if(!a){a=0;break}bc[a&3]()}return a|0}function Fj(a){a=a|0;zj(a);return}function Gj(a,b){a=a|0;b=b|0;var d=0,e=0;e=uj(b)|0;d=Ej(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Hj(d)|0;dl(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Hj(a){a=a|0;return a+12|0}function Ij(a,b){a=a|0;b=b|0;c[a>>2]=102924;Gj(a+4|0,b);return}function Jj(a){a=a|0;return 1}function Kj(a){a=a|0;Ia()}function Lj(a){a=a|0;Ia()}function Mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Vb;Vb=Vb+16|0;f=g;if(e>>>0>4294967279)Kj(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=Ej(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Nj(b,d,e)|0;a[f>>0]=0;Oj(b+e|0,f);Vb=g;return}function Nj(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)dl(a|0,b|0,c|0)|0;return a|0}function Oj(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)fl(a|0,(Qj(c)|0)&255|0,b|0)|0;return a|0}function Qj(a){a=a|0;return a&255|0}function Rj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)Lj(b);else{g=g-e|0;Mj(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Sj(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Vb;Vb=Vb+16|0;n=o;if((-18-d|0)>>>0<e>>>0)Kj(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=Ej(k)|0;if(g|0)Nj(l,m,g)|0;if(i|0)Nj(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Nj(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)Fj(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Oj(l+i|0,n);Vb=o;return}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Vb;Vb=Vb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Oj(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Oj(b+d|0,g);a[h>>0]=d;break}else Uj(b,d-f|0,e)|0;while(0);Vb=j;return}function Uj(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=Vb;Vb=Vb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Vj(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Pj(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Oj(g+f|0,i)}Vb=k;return b|0}function Vj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)Kj(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Ej(j)|0;if(g|0)Nj(k,l,g)|0;e=f-h-g|0;if(e|0)Nj(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Fj(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Wj(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Lj(b);if(f)b=c[b>>2]|0;return b+d|0}function Xj(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=Vb;Vb=Vb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Nj(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Oj(g+f|0,i)}}else Sj(b,g,f+e-g|0,f,f,0,e,d);Vb=k;return b|0}function Yj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Vb;Vb=Vb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Zj()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=122795;_j(122745,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if($b[c[(c[256]|0)+16>>2]&7](1024,e,f)|0){i=c[f>>2]|0;i=Yb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=122795;c[g+4>>2]=a;c[g+8>>2]=i;_j(122659,g)}else{c[i>>2]=122795;c[i+4>>2]=a;_j(122704,i)}}_j(122783,h)}function Zj(){var a=0,b=0;a=Vb;Vb=Vb+16|0;if(!(Dj(124004,3)|0)){b=Bj(c[31002]|0)|0;Vb=a;return b|0}else _j(122934,a);return 0}function _j(a,b){a=a|0;b=b|0;var d=0;d=Vb;Vb=Vb+16|0;c[d>>2]=b;b=c[25646]|0;Ri(b,a,d)|0;xj(10,b)|0;Ia()}function $j(a){a=a|0;return}function ak(a){a=a|0;$j(a);Fj(a);return}function bk(a){a=a|0;return}function ck(a){a=a|0;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Vb;Vb=Vb+64|0;f=h;if(!(hk(a,b,0)|0))if((b|0)!=0?(g=lk(b,1048,1032,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;fc[c[(c[g>>2]|0)+28>>2]&3](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Vb=h;return b|0}function ek(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(hk(a,c[b+8>>2]|0,g)|0)kk(0,b,d,e,f);return}function fk(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(!(hk(b,c[d+8>>2]|0,g)|0)){if(hk(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else jk(0,d,e,f);while(0);return}function gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(hk(a,c[b+8>>2]|0,0)|0)ik(0,b,d,e);return}function hk(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function ik(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function kk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function lk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Vb;Vb=Vb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(hk(m,f,0)|0){c[n+48>>2]=1;hc[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{gc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Vb=p;return d|0}function mk(a){a=a|0;$j(a);Fj(a);return}function nk(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(hk(a,c[b+8>>2]|0,g)|0)kk(0,b,d,e,f);else{a=c[a+8>>2]|0;hc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function ok(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(!(hk(b,c[d+8>>2]|0,g)|0)){if(!(hk(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;gc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;hc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else jk(0,d,e,f);while(0);return}function pk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(hk(a,c[b+8>>2]|0,0)|0)ik(0,b,d,e);else{a=c[a+8>>2]|0;fc[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function qk(a){a=a|0;return}function rk(){var a=0;a=Vb;Vb=Vb+16|0;if(!(Aj(124008,27)|0)){Vb=a;return}else _j(122983,a)}function sk(a){a=a|0;var b=0;b=Vb;Vb=Vb+16|0;zj(a);if(!(Cj(c[31002]|0,0)|0)){Vb=b;return}else _j(123033,b)}function tk(){var a=0,b=0;a=Zj()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)uk(c[b+12>>2]|0);uk(vk()|0)}function uk(a){a=a|0;var b=0;b=Vb;Vb=Vb+16|0;bc[a&3]();_j(123086,b)}function vk(){var a=0;a=c[25708]|0;c[25708]=a+0;return a|0}function wk(a){a=a|0;return}function xk(a){a=a|0;c[a>>2]=102924;Bk(a+4|0);return}function yk(a){a=a|0;xk(a);Fj(a);return}function zk(a){a=a|0;return Ak(a+4|0)|0}function Ak(a){a=a|0;return c[a>>2]|0}function Bk(a){a=a|0;var b=0,d=0;if(Jj(a)|0?(b=Ck(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)Fj(b);return}function Ck(a){a=a|0;return a+-12|0}function Dk(a){a=a|0;xk(a);Fj(a);return}function Ek(a){a=a|0;$j(a);Fj(a);return}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;return hk(a,b,0)|0}function Gk(a){a=a|0;$j(a);Fj(a);return}function Hk(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=Vb;Vb=Vb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Ik(a,b,0)|0))if(((b|0)!=0?(e=lk(b,1048,1136,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(hk(c[a>>2]|0,c[b>>2]|0,0)|0)?!(hk(c[a>>2]|0,1168,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=lk(a,1048,1032,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=lk(f,1048,1032,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;fc[c[(c[i>>2]|0)+28>>2]&3](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Vb=j;return a|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;if(hk(a,b,0)|0)a=1;else a=hk(b,1176,0)|0;return a|0}function Jk(a){a=a|0;$j(a);Fj(a);return}function Kk(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(hk(b,c[d+8>>2]|0,h)|0)kk(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;Ok(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;Ok(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Lk(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(!(hk(b,c[d+8>>2]|0,g)|0)){if(!(hk(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;Pk(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;Pk(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;Pk(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;Pk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;Ok(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else jk(0,d,e,f);while(0);return}function Mk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(hk(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Nk(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Nk(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else ik(0,d,e,f);while(0);return}function Nk(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;fc[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,(g&2|0)==0?2:e);return}function Ok(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;hc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Pk(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;gc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function Qk(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Rk(a){a=a|0;return}function Sk(a){a=a|0;return}function Tk(){var a=0;a=c[31003]|0;c[31003]=a+0;return a|0}function Uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Vb;Vb=Vb+16|0;e=f;c[e>>2]=c[d>>2];a=$b[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Vb=f;return a&1|0}function Vk(a){a=a|0;if(!a)a=0;else a=(lk(a,1048,1136,0)|0)!=0&1;return a|0}function Wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=w(e,f)|0;d=a>>>16;a=(c>>>16)+(w(e,d)|0)|0;e=b>>>16;b=w(e,f)|0;return (z((a>>>16)+(w(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Xk(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=Wk(e,f)|0;a=A()|0;return (z((w(b,f)|0)+(w(d,e)|0)+a|a&0|0),c|0|0)|0}function Yk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Zk(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 (z(d|0),a-c>>>0|0)|0}function _k(a){a=a|0;return (a?31-(x(a^a-1)|0)|0:32)|0}function $k(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 (z(n|0),f)|0}else{if(!g){n=0;f=0;return (z(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(x(i|0)|0)-(x(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 (z(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z(n|0),f)|0}g=h-1|0;if(g&h|0){i=(x(h|0)|0)+33-(x(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 (z(o|0),p)|0}else{p=_k(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z(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 (z(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 (z(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>>>((_k(i|0)|0)>>>0);return (z(o|0),p)|0}g=(x(i|0)|0)-(x(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 (z(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Yk(m|0,l|0,-1,-1)|0;d=A()|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;Zk(k|0,d|0,e|0,n|0)|0;p=A()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Zk(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=A()|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 (z(o|0),p)|0}function al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $k(a,b,c,d,0)|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}z(0);return b>>>c-32|0}function cl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}z(a<<c-32|0);return 0}function dl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Pa(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 el(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 dl(b,c,d)|0;return b|0}function fl(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 gl(a){a=a|0;var b=0,d=0,e=0;e=Ma()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Va(b|0)|0;X(12);return -1}if((b|0)>(e|0))if(!(Qa(b|0)|0)){X(12);return -1}c[i>>2]=b;return d|0}function hl(a,b){a=a|0;b=b|0;return Yb[a&7](b|0)|0}function il(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Zb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;return _b[a&3](b|0,c|0)|0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $b[a&7](b|0,c|0,d|0)|0}function ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ac[a&1](b|0,c|0,d|0,e|0)|0}function ml(a){a=a|0;bc[a&3]()}function nl(a,b){a=a|0;b=b|0;cc[a&31](b|0)}function ol(a,b,c){a=a|0;b=b|0;c=c|0;dc[a&31](b|0,c|0)}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ec[a&7](b|0,c|0,d|0)}function ql(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;fc[a&3](b|0,c|0,d|0,e|0)}function rl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;gc[a&7](b|0,c|0,d|0,e|0,f|0)}function sl(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;hc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function tl(a){a=a|0;y(0);return 0}function ul(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;y(1);return 0}function vl(a,b){a=a|0;b=b|0;y(2);return 0}function wl(a,b,c){a=a|0;b=b|0;c=c|0;y(3);return 0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;y(4);return 0}function yl(){y(5)}function zl(){T()}function Al(a){a=a|0;y(6)}function Bl(a,b){a=a|0;b=b|0;y(7)}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;y(8)}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;y(9)}function El(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;y(10)}function Fl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;y(11)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Yb=[tl,Ji,zk,fd,od,qd,rd,tl];var Zb=[ul,Si];var _b=[vl,kd,md,Dh];var $b=[wl,Ki,dk,Fk,Hk,ud,Ld,wl];var ac=[xl,Li];var bc=[yl,zl,Yj,rk];var cc=[Al,vd,wd,yd,Bd,Cd,Dd,Ed,_c,Gd,Hd,$j,ak,bk,ck,mk,xk,yk,Dk,Ek,Gk,Jk,gd,rc,sc,pd,td,sk,Al,Al,Al,Al];var dc=[Bl,Rc,pc,qc,jd,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,sd,Ti,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl,Bl];var ec=[Cl,Qc,Fd,hd,id,ld,nd,Cl];var fc=[Dl,gk,pk,Mk];var gc=[El,fk,ok,Lk,Oe,Ne,El,El];var hc=[Fl,ek,nk,Kk];return{___cxa_can_catch:Uk,___cxa_is_pointer_type:Vk,___errno_location:Ni,___getTypeName:Ii,___muldi3:Xk,___udivdi3:al,_bitshift64Lshr:bl,_bitshift64Shl:cl,_free:zj,_i64Add:Yk,_i64Subtract:Zk,_main:nc,_malloc:yj,_memcpy:dl,_memmove:el,_memset:fl,_sbrk:gl,_strlen:uj,dynCall_ii:hl,dynCall_iidiiii:il,dynCall_iii:jl,dynCall_iiii:kl,dynCall_iiiii:ll,dynCall_v:ml,dynCall_vi:nl,dynCall_vii:ol,dynCall_viii:pl,dynCall_viiii:ql,dynCall_viiiii:rl,dynCall_viiiiii:sl,establishStackSpace:mc,globalCtors:ic,stackAlloc:jc,stackRestore:lc,stackSave:kc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte 0x"+u0.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");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;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=127776,STACK_MAX=5370656,DYNAMIC_BASE=5370656,DYNAMICTOP_PTR=127744;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===INITIAL_TOTAL_MEMORY,"provided buffer should be "+INITIAL_TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){assert(INITIAL_TOTAL_MEMORY%WASM_PAGE_SIZE===0);wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}assert(buffer.byteLength===INITIAL_TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="264_aac_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var trueModule=Module;function receiveInstantiatedSource(output){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":116,"maximum":116,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);assert(exports,"binaryen setup failed (no wasm support?)");return exports};__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=127760;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i<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();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("Cannot enlarge memory arrays to size "+requestedSize+" bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+HEAP8.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;if(!croppingParams){gl.viewport(0,0,width,height)}else{gl.viewport(0,0,croppingParams.width,croppingParams.height);var tTop=croppingParams.top/height;var tLeft=croppingParams.left/width;var tBottom=croppingParams.height/height;var tRight=croppingParams.width/width;var texturePosValues=new Float32Array([tRight,tTop,tLeft,tTop,tRight,tBottom,tLeft,tBottom]);gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,texturePosValues,gl.DYNAMIC_DRAW)}gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){this.webGLCanvas.canvasElement.width=w;this.webGLCanvas.canvasElement.height=h;if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function nullFunc_ii(x){err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iidiiii(x){err("Invalid function pointer called with signature 'iidiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_jiji(x){err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}var asmGlobalArg={};var asmLibraryArg={"J":setTempRet0,"b":abortStackOverflow,"da":nullFunc_ii,"Y":nullFunc_iidiiii,"U":nullFunc_iii,"R":nullFunc_iiii,"M":nullFunc_jiji,"I":nullFunc_v,"H":nullFunc_vi,"G":nullFunc_vii,"ja":nullFunc_viii,"ia":nullFunc_viiii,"ha":nullFunc_viiiii,"ga":nullFunc_viiiiii,"F":___assert_fail,"q":___cxa_allocate_exception,"fa":___cxa_pure_virtual,"p":___cxa_throw,"ea":___lock,"E":___setErrNo,"ca":___syscall140,"D":___syscall146,"ba":___syscall54,"aa":___syscall6,"$":___unlock,"_":__embind_create_inheriting_constructor,"Z":__embind_register_bool,"C":__embind_register_class,"B":__embind_register_class_class_function,"r":__embind_register_class_function,"o":__embind_register_class_property,"X":__embind_register_emval,"A":__embind_register_float,"j":__embind_register_integer,"e":__embind_register_memory_view,"z":__embind_register_std_string,"W":__embind_register_std_wstring,"V":__embind_register_void,"n":__emval_as,"y":__emval_call,"t":__emval_call_method,"l":__emval_call_void_method,"c":__emval_decref,"w":__emval_get_global,"f":__emval_get_method_caller,"v":__emval_get_property,"s":__emval_incref,"T":__emval_new,"h":__emval_new_cstring,"S":__emval_new_object,"g":__emval_run_destructors,"m":__emval_set_property,"k":__emval_take_value,"i":_abort,"x":_clock,"Q":_emscripten_get_heap_size,"d":_emscripten_log,"P":_emscripten_memcpy_big,"O":_emscripten_resize_heap,"N":_init,"u":_llvm_exp2_f64,"L":_llvm_trap,"K":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);var real____cxa_can_catch=asm["ka"];asm["ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)};var real____cxa_is_pointer_type=asm["la"];asm["la"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)};var real____errno_location=asm["ma"];asm["ma"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)};var real____getTypeName=asm["na"];asm["na"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)};var real__fflush=asm["oa"];asm["oa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)};var real__free=asm["pa"];asm["pa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)};var real__main=asm["qa"];asm["qa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)};var real__malloc=asm["ra"];asm["ra"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)};var real__memmove=asm["sa"];asm["sa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)};var real__sbrk=asm["ta"];asm["ta"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)};var real__strlen=asm["ua"];asm["ua"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)};var real_establishStackSpace=asm["Ha"];asm["Ha"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)};var real_globalCtors=asm["Ia"];asm["Ia"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_globalCtors.apply(null,arguments)};var real_stackAlloc=asm["Ja"];asm["Ja"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)};var real_stackRestore=asm["Ka"];asm["Ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)};var real_stackSave=asm["La"];asm["La"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)};Module["asm"]=asm;var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ka"].apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["la"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ma"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["na"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["oa"].apply(null,arguments)};var _free=Module["_free"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["pa"].apply(null,arguments)};var _main=Module["_main"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["qa"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ra"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["sa"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ta"].apply(null,arguments)};var _strlen=Module["_strlen"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ua"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ha"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ia"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ja"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ka"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["La"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["va"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["wa"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["xa"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ya"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["za"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Aa"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ba"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ca"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Da"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ea"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Fa"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ga"].apply(null,arguments)};Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayToString"])Module["intArrayToString"]=function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ccall"])Module["ccall"]=function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["cwrap"])Module["cwrap"]=function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setValue"])Module["setValue"]=function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getValue"])Module["getValue"]=function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocate"])Module["allocate"]=function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getMemory"])Module["getMemory"]=function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["AsciiToString"])Module["AsciiToString"]=function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToAscii"])Module["stringToAscii"]=function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ToString"])Module["UTF8ToString"]=function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8"])Module["stringToUTF8"]=function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF16ToString"])Module["UTF16ToString"]=function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF16"])Module["stringToUTF16"]=function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF32ToString"])Module["UTF32ToString"]=function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF32"])Module["stringToUTF32"]=function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocateUTF8"])Module["allocateUTF8"]=function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackTrace"])Module["stackTrace"]=function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreRun"])Module["addOnPreRun"]=function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnInit"])Module["addOnInit"]=function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreMain"])Module["addOnPreMain"]=function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnExit"])Module["addOnExit"]=function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPostRun"])Module["addOnPostRun"]=function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addRunDependency"])Module["addRunDependency"]=function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["removeRunDependency"])Module["removeRunDependency"]=function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["ENV"])Module["ENV"]=function(){abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS"])Module["FS"]=function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS_createFolder"])Module["FS_createFolder"]=function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPath"])Module["FS_createPath"]=function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLink"])Module["FS_createLink"]=function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDevice"])Module["FS_createDevice"]=function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_unlink"])Module["FS_unlink"]=function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["GL"])Module["GL"]=function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["warnOnce"])Module["warnOnce"]=function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getLEB"])Module["getLEB"]=function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFunctionTables"])Module["getFunctionTables"]=function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["registerFunctions"])Module["registerFunctions"]=function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addFunction"])Module["addFunction"]=function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["removeFunction"])Module["removeFunction"]=function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["prettyPrint"])Module["prettyPrint"]=function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["makeBigInt"])Module["makeBigInt"]=function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynCall"])Module["dynCall"]=function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackSave"])Module["stackSave"]=function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackRestore"])Module["stackRestore"]=function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackAlloc"])Module["stackAlloc"]=function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["establishStackSpace"])Module["establishStackSpace"]=function(){abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["print"])Module["print"]=function(){abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["printErr"])Module["printErr"]=function(){abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getTempRet0"])Module["getTempRet0"]=function(){abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setTempRet0"])Module["setTempRet0"]=function(){abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=out;var printErr=err;var has=false;out=err=function(x){has=true};try{var flush=flush_NO_FILESYSTEM;if(flush)flush(0)}catch(e){}out=print;err=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.");warnOnce("(this may also be due to not including full filesystem support - try building with -s FORCE_FILESYSTEM=1)")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){err("exit("+status+") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=54864,DYNAMIC_BASE=5297744,DYNAMICTOP_PTR=54832;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACQBAAA0AQAANAEAADQBAAA0AQAAAAAAAAAAAAAAAAAAJAEAADYBAAA2AQAANAEAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZkoAAAh7oAABShAABIugAAAAAAAAEAAAAgAgAAAAAAAGSgAACyugAAZKAAACm8AAD4oAAAM7wAAAAAAABIAgAA+KAAAD68AAABAAAASAIAAGSgAAC1vAAAFKEAAJO8AAAAAAAAAgAAAEgCAAACAAAAcAIAAAKQWQCMoAAAhLwAAHgCAAAAAAAA+KAAANq8AAAAAAAAmAIAAPigAADqvAAAAQAAAJgCAABkoAAATL0AAIygAABCvQAAyAIAAAAAAAAUoQAAmM8AAAAAAAABAAAAIAIAAAAAAAAUoQAAWc8AAAAAAAABAAAAIAIAAAAAAABkoAAAOs8AAGSgAAAbzwAAZKAAAPzOAABkoAAA3c4AAGSgAAC+zgAAZKAAAJ/OAABkoAAAgM4AAGSgAABhzgAAZKAAAELOAABkoAAAI84AAGSgAAAEzgAAZKAAAOXNAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAHDVAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkoAAAntAAAIygAAD+0AAAGAQAAAAAAACMoAAAq9AAACgEAAAAAAAAZKAAAMzQAACMoAAA2dAAAAgEAAAAAAAAjKAAAODRAAAABAAAAAAAAIygAADw0QAAQAQAAAAAAACMoAAAJdIAABgEAAAAAAAAjKAAAAHSAABgBAAAAAAAAIygAABH0gAAGAQAAAAAAADcoAAAb9IAANygAABx0gAA3KAAAHTSAADcoAAAdtIAANygAAB40gAA3KAAAHrSAADcoAAAfNIAANygAAB+0gAA3KAAAIDSAADcoAAAgtIAANygAACE0gAA3KAAAIbSAADcoAAAiNIAANygAACK0gAAjKAAAIzSAAAIBAAAAAAAAJAEAACgBAAAKAIAAEACAABAAgAA4AQAAOAEAADQBAAA4AQAAJAEAABAAgAA0AQAAJAEAABQAgAAKAIAAJAEAABQAgAAQAIAAJAEAABQAgAAkAQAAJgCAACoAgAAQAIAAEACAAAAAAAAmAIAAAEAAAACAAAAAAAAAHgCAAABAAAAAwAAAAAAAABIAgAABAAAAAUAAAAAAAAA0AIAAAYAAAAHAAAACAAAAAEAAAABAAAAAgAAAAAAAADIAgAACQAAAAoAAAAIAAAAAQAAAAEAAAABAAAAQAIAACgCAABAAgAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHQAAAB4AAAAfAAAAIAAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACQAAAAkAAAAJQAAACUAAAAlAAAAJgAAACYAAAAmAAAAJwAAACcAAAAnAAAAJwAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAMAAAACAAAAAwAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAIAAAACAAAAAwAAAAMAAAACgAAAA0AAAAQAAAACwAAAA4AAAASAAAADQAAABAAAAAUAAAADgAAABIAAAAXAAAAEAAAABQAAAAZAAAAEgAAABcAAAAdAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAAAAAABAAAABAAAAAUAAAACAAAAAwAAAAYAAAAHAAAACAAAAAkAAAAMAAAADQAAAAoAAAALAAAADgAAAA8AAAAAAAAABQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAAAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAsAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAEAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAAEAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAAAQAAAAsAAAAEAAAAAAAAAAQAAAABAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAABAAAADwAAAAQAAAAEAAAABAAAAAUAAAAEAAAAAgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAgAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAADAAAABAAAAAgAAAAEAAAACQAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAcAAAAEAAAADAAAAAQAAAANAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAP8AAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAA/wAAAAQAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAABAAAADwAAAAIAAAAKAAAABAAAAAUAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAD/AAAADAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAP8AAAAMAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAgAAAP8AAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAcAAAD/AAAAAgAAAAQAAAANAAAA/wAAAAgAAAADAAAADwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAAEAAAAAQAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAAAAAANAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAMAAAATAAAAAQAAABIAAAAAAAAAEQAAAAQAAAAQAAAAAwAAABcAAAABAAAAFgAAAAAAAAAVAAAABAAAABQAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAEAAAATAAAAAgAAABIAAAAEAAAAEQAAAP8AAAAQAAAAAQAAABcAAAACAAAAFgAAAAQAAAAVAAAA/wAAABQAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAASAAAAAQAAABMAAAAEAAAAEAAAAAQAAAARAAAAAQAAABYAAAABAAAAFwAAAAQAAAAUAAAABAAAABUAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAcAAAAEAAAAAgAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAAAAAARAAAABAAAABAAAAAAAAAAEwAAAAQAAAASAAAAAAAAABUAAAAEAAAAFAAAAAAAAAAXAAAABAAAABYAAABUpgAAjKYAAKymAAAAAAAArqYAAAAAAwC+pgAAAAADAN6mAAAAAAMAAAAAAAAAAAD+pgAAAAADADKnAAAAAAQAaqcAAAAABADqpwAAAAAEAG6oAAAAAAQA2qgAAAAABACmqQAAAAAEAHaqAAAAAAQANqsAAAAABAAAAAAAAAAAAFKuAAAAAAQASrEAAAEABABKsQAAAgAEAEqxAAADAAQASrEAAAQABABKsQAABgAEAEqxAAAIAAQASrEAAAoABABKsQAADQAEAG60AAAEAAQAbrQAAAUABAButAAABgAEAG60AAAHAAQAbrQAAAgABAButAAACQAEAG60AAALAAQAbrQAAA0ABAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPn///81AAAAjf////0BAAD4+v//bAYAAGTb//9ISQAAnCQAAGwGAAAIBQAA/QEAAHMAAAA1AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA+P///zcAAAB+////9AEAAJ36///SBQAAltn//zxJAADOIgAA+AYAAK0EAAAEAgAAZAAAADQAAAAHAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD3////OAAAAG/////oAQAAQvr//yoFAADK1///GkkAAAAhAAB2BwAAUgQAAAgCAABXAAAAMwAAAAYAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///84AAAAX////9kBAADp+f//dAQAAADW///iSAAAMx8AAOcHAAD4AwAACgIAAEoAAAAxAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9v///zkAAABO////yAEAAJH5//+wAwAAO9T//5JIAABoHQAASwgAAJ4DAAAJAgAAPQAAADAAAAAFAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD1////OQAAAD3///+zAQAAOvn//94CAAB60v//LUgAAKAbAACiCAAARgMAAAcCAAAxAAAALgAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAAAAAAAPT///85AAAALP///5sBAADm+P///QEAAL7Q//+yRwAA3RkAAO0IAADvAgAAAgIAACYAAAAsAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8////zkAAAAa////gAEAAJX4//8PAQAACs///yFHAAAeGAAAKwkAAJoCAAD8AQAAHAAAACoAAAAEAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////x////OAAAAAj///9iAQAARvj//xIAAABdzf//ekYAAGQWAABeCQAARwIAAPQBAAASAAAAKAAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA//////D///83AAAA9v7//0ABAAD89///Bv///7jL//+/RQAAsRQAAIYJAAD2AQAA6wEAAAkAAAAnAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7////zYAAADk/v//GwEAALX3///t/f//Hcr///BEAAAGEwAAogkAAKcBAADgAQAAAQAAACUAAAADAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////u////NAAAANH+///zAAAAc/f//8f8//+NyP//DEQAAGIRAAC0CQAAWwEAANQBAAD5////IwAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+z///8yAAAAv/7//8cAAAA29///k/v//wnH//8VQwAAxw8AALwJAAASAQAAxgEAAPL///8hAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6////y8AAACt/v//lwAAAP/2//9R+v//kMX//wtCAAA1DgAAugkAAMwAAAC4AQAA6////x8AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////p////LAAAAJv+//9lAAAAzvb//wP5//8mxP//8EAAAK0MAACvCQAAiAAAAKkBAADl////HQAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+j///8pAAAAif7//y4AAACk9v//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ZyhnKEcYRxhHGEcYRxhHGEcYRxhuYE5YLlAOUG5YTlAuSA5IDUANQE1ITUgtQC1ADTgNOG1QbVBNQE1ALTgtOA0wDTBrSGtIa0hrSGtIa0hrSGtISzhLOEs4SzhLOEs4SzhLOCswKzArMCswKzArMCswKzALKAsoCygLKAsoCygLKAsoAAAAAC9oL2gQgFCAMIAQeHCAUHgweBBwcHhQcDBwEGhvcG9wT2hPaC9gL2APYA9gb2hvaE9gT2AvWC9YD1gPWAAAAAAAAAAAZjhGICYgBhBmMEYYJhgGCGUoZSglECUQZCBkIGQgZCBkGGQYZBhkGEMQQxBDEEMQQxBDEEMQQxAAAAAAAAAAAGlISTgpOAkwCCgIKEgwSDAoMCgwCCAIIGdAZ0BnQGdARyhHKEcoRygnKCcoJygnKAcYBxgHGAcYAAAAAG14bXhugE6ALoAOgC54DnhOeC5wTXBNcA1wDXBtcG1wTWhNaC1oLWgNaA1obWhtaE1gTWAtYC1gDWANYAxYDFgMWAxYTFhMWExYTFgsWCxYLFgsWAxQDFAMUAxQbGBsYGxgbGBMUExQTFBMUCxQLFAsUCxQDEgMSAxIDEhrWGtYa1hrWGtYa1hrWGtYS0hLSEtIS0hLSEtIS0hLSCtIK0grSCtIK0grSCtIK0gLQAtAC0ALQAtAC0ALQAtAa1BrUGtQa1BrUGtQa1BrUEtAS0BLQEtAS0BLQEtAS0ArQCtAK0ArQCtAK0ArQCtACzgLOAs4CzgLOAs4CzgLOAAAAAAAAAAAAAAAAAAAAAAGGEY4JjgGEGZIRjAmMAYIJSglKEUoRSglICUgRSBFICUYJRhlQGVARRhFGCUQJRBkOGQ4ZDhkOGQwZDBkMGQwZChkKGQoZChkIGQgZCBkIGQYZBhkGGQYRBBEEEQQRBAkCCQIJAgkCAQABAAEAAQAAAAKgGqASoAqgAp4anhKeCp4CnBqcEpwKnAKaCloKWgJYAlgSWhJaClgKWAJWAlYaWhpaElgSWApWClYCVAJUGhgaGBoYGhgSFhIWEhYSFgoUChQKFAoUAhICEgISAhIaFhoWGhYaFhIUEhQSFBIUChIKEgoSChICEAIQAhACEAHOAc4BzgHOAc4BzgHOAc4BzAHMAcwBzAHMAcwBzAHMEdIR0hHSEdIR0hHSEdIR0gHKAcoBygHKAcoBygHKAcoZ1BnUGdQZ1BnUGdQZ1BnUEdAR0BHQEdAR0BHQEdAR0AnQCdAJ0AnQCdAJ0AnQCdAByAHIAcgByAHIAcgByAHIAYIJggAAAYABhAmEEYQAAAGGCYYRhhmGAYgJiBGIGYgBigmKEYoZigGMCYwRjBmMAY4JjhGOGY4BkAmQEZAZkAGSCZIRkhmSAZQJlBGUGZQBlgmWEZYZlgGYCZgRmBmYAZoJmhGaGZoBnAmcEZwZnAGeCZ4RnhmeAaAJoBGgGaAAABDEAIAAgAhCCEIIQghCGcgZyBIICggRxhHGCcYJxgGIAYgBiAGIAYYBhgGGAYYBhAGEAYQBhBmGGYYZhhmGCYQJhAmECYQBggGCAYIBggEAUQBggGiAUkAiQApABkAAwADAAMAAwADAAMAAwADANUA9QC1AHUA5QClAJMAkwBjAMMAUwAzAPkAeQC5ADkA2QBZAJkAGQDpAGkAqQApAMkASQCJAAkAAQAXAQcBFQAVAAMAAwADAAMAhgAXAQcBFwADAAMAAwADACcCBwIVAhUCJQElASUAJQCGABcAFQEVAQUBBQEFAAUAJwIHAhUCFQIlASUBJQAlAIgAFwEHARcAAwADAAMAAwCCATkCNwE3ARkDCQM5ACkCFwIXAicBJwEHAgcCJwAnADMDIwMGAYIBogEZAikBKQAHAQcBFQEVARUBFQEXABcABwAHADcDBwMlAyUDNQI1AjUANQATAzMBIwIDAggBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARAOCA6IDGQVZAcIDWQDiAykESQIXBBcERwFHAUcARwAJBCkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAhUCFQIVAiMBIwEFAiUAVQVFBVUEVQMzBUMEIwVTAgMFMwRDAzMDCAEIAhkCKQEVARUBFQEVAQcBBwEXABcABQAFAAUABQAGA4QDwgMZBVkB4gMCBCkESQIZBEcBRwEJBEkAKQM5AhkDOQEJAzkAJQIlAiUCJQIFAgUCBQIFAiUAJQAlACUAVwVXBEUFRQVTA1MDUwNTAzUFRQQjBSMFUwIDBTMEQwNTADMDCAEGAoQCxAICAxkCKQEpABcBFwEHAQcBFwAXAAcABwAiAzkFWQNCA0kEKQVZAhkFVwFXATcENwRHA0cDWQAJBCcERwI3A0cAFQQVBEUBRQElAzUCEwMTAzMBMwEFAzUAIwIDAlMFQwVTBAMFCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBGA8QDBgSCBKQE5AQkBRkHeQFiBYQFxAUZBmkBaQACBiIGQgYZBEkBSQApAzkCCQMXAxcDNwE3ATcANwAnAicCFQIlAQUCJQB3B2cHdwZXB3cFZwZFB0UHdQRVBmUFNQd1A3UDRQZFBlcFVwRlA2UDIwdzAmUEBQdzAHMAYwJjAkUFNQUDBgMGVQNFBDMGIwYlBVUCEwUTBVMBUwE1BEUDAwVTACMEQwIzAwMECAEIAggDBgQZAoIEFwEXAQcBBwEXABcABQAFAAUABQCkBOYEZAWiBcQFKQd5AgIGdwF3ARkHeQA5BmkDaQAiBkIGGQVnAmcCKQYJBhcGFwZnAWcBWQE5BFkAYgYpBEkCGQRJAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAiMBIwEjASMBAwIjAHUHZQd1BnUFZQZlBkUHRQd1BHUEVwdXBVUGZQUzBzMHcwNDBkUFVQQ1BVUDYwQDB0MEIwVTAgMFQwMzAwgBCAIIAwQERgTCBBkCKQHiBAkAFwEXAQcBBwEXABcABAVCBWIFggVZBjkHogUpB3kCSQZpBBkHeQHCBTkGaQNJBVkESQTiBScGJwZnAmcCZwFnARkGaQA5BVkDKQVZAhcFFwVXAVcBNwQ3BEcDRwNZAAkEJwQnBEcCRwIXBBcENQNFASUDNQJHAAcDNQA1ABMDEwMTAxMDMwEjAgMCIwB1B2UHcwZzBlMHcwVjBkMHcwRjBXMDUwUDB3MAAwYDBQgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMASARIBUgGSAdICEgJRgrGCkYLxgtGDMYMQg1kDaYNIg5EDoQOxA4ED4kBQg9iD4IPpA/iDxkFWQECECIQQhAZBEcBRwEJBEkAKQM5AhcDFwM3ATcBBwMHAzcANwAnAicCFQIlAQUCJQBoEGgRaBJmE+QTJBRmFOQUIhVEFYQVxBUEFkQWGQ/5AfkAghaiFsIW6QLiFhkO6QECFyIXQhdiF4IXohfJBjkNwhcpDdkCGQ25B+IXAhjJAyIYSQvXAdcBCQ3ZAIkKqQhJDMkEaQu5BjcMNwwnDCcMxwLHAlcLVwu5BYkJFwwXDMcBxwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwB0cnVlAGZhbHNlAC5mbHYAV2ViU29ja2V0AGJpbmFyeVR5cGUAYXJyYXlidWZmZXIAb25tZXNzYWdlAHdzAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAYmluZABOMTBlbXNjcmlwdGVuM3ZhbEUAZGF0YQB1bmtub3cgdHlwZTogJWQAc2VuZABbIl9fYmFuZHdpZHRoIl0AZXJyb3IgdHlwZSA6JWQAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgPSAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGF1ZGlvIGluaXQhICVkAG1wMyBpbml0IQBERUNPREVSIElOSVRJQUxJWkFUSU9OIEZBSUxFRAoASDI2NCBpbml0ADhCcm9hZHdheQAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgB2aWRlbyBkZWNvZGUgJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAABlVURENDQjIyMjExMTEwEBAQEBAQEBAQEBAQEBAQEA+enZyMi4uKenp6eXl5eXhoaGhoaGhoZ2dnZ2dnZ2dubWxralpZWVhISEhHR0dHRkZGRkVFRUVENDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTAwMDAwMDAwPWtsXFpaWVlYSEhIRUVFRURERERAQEBARzc3Nzc3Nzc2NjY2NjY2NjMzMzMzMzMzMjIyMjIyMjIxMTExMTExMTxbWlBZSUdHQ0NCQkg4ODg2NjY2NTU1NTQ0NDQxMTExO1laSkhIQkJBQUBARzc3NzY2NjY1NTU1NDQ0NDMzMzM6YGFRWEhISEk5OTk5OTk5Nzc3Nzc3Nzc2NjY2NjY2NjU1NTU1NTU1NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyOWBhUVdHR0dIODg4ODg4ODY2NjY2NjY2NDQ0NDQ0NDQzMzMzMzMzMzIyMjIyMjIyNSUlJSUlJSUlJSUlJSUlJShgYlJRQUFBRzc3Nzc3Nz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aXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAHQAaQBqAGwAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=54848;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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 ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;this.contextGL.viewport(0,0,this.canvasElement.width,this.canvasElement.height);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall6,"D":__embind_create_inheriting_constructor,"E":__embind_register_bool,"F":__embind_register_class,"G":__embind_register_class_class_function,"H":__embind_register_class_function,"I":__embind_register_class_property,"J":__embind_register_emval,"K":__embind_register_float,"L":__embind_register_integer,"M":__embind_register_memory_view,"N":__embind_register_std_string,"O":__embind_register_std_wstring,"P":__embind_register_void,"Q":__emscripten_traverse_stack,"R":__emval_addMethodCaller,"S":__emval_allocateDestructors,"T":__emval_as,"U":__emval_call,"V":__emval_call_method,"W":__emval_call_void_method,"X":__emval_decref,"Y":__emval_get_global,"Z":__emval_get_method_caller,"_":__emval_get_property,"$":__emval_incref,"aa":__emval_lookupTypes,"ab":__emval_new,"ac":__emval_new_cstring,"ad":__emval_new_object,"ae":__emval_register,"af":__emval_run_destructors,"ag":__emval_set_property,"ah":__emval_take_value,"ai":__formatString,"aj":__reallyNegative,"ak":_abort,"al":_clock,"am":_embind_repr,"an":_emscripten_get_callstack_js,"ao":_emscripten_get_heap_size,"ap":_emscripten_log,"aq":_emscripten_log_js,"ar":_emscripten_memcpy_big,"as":_emscripten_resize_heap,"at":_init,"au":_llvm_trap,"av":abortOnCannotGrowMemory,"aw":constNoSmartPtrRawPointerToWireType,"ax":count_emval_handles,"ay":craftEmvalAllocator,"az":craftInvokerFunction,"aA":createNamedFunction,"aB":downcastPointer,"aC":embind__requireFunction,"aD":embind_init_charCodes,"aE":emval_get_global,"aF":ensureOverloadTable,"aG":exposePublicSymbol,"aH":extendError,"aI":floatReadValueFromPointer,"aJ":flushPendingDeletes,"aK":flush_NO_FILESYSTEM,"aL":genericPointerToWireType,"aM":getBasestPointer,"aN":getInheritedInstance,"aO":getInheritedInstanceCount,"aP":getLiveInheritedInstances,"aQ":getShiftFromSize,"aR":getStringOrSymbol,"aS":getTypeName,"aT":get_first_emval,"aU":heap32VectorToArray,"aV":init_ClassHandle,"aW":init_RegisteredPointer,"aX":init_embind,"aY":init_emval,"aZ":integerReadValueFromPointer,"a_":makeClassHandle,"a$":makeLegalFunctionName,"ba":new_,"bb":nonConstNoSmartPtrRawPointerToWireType,"bc":readLatin1String,"bd":registerInheritedInstance,"be":registerType,"bf":replacePublicSymbol,"bg":requireHandle,"bh":requireRegisteredType,"bi":runDestructor,"bj":runDestructors,"bk":setDelayFunction,"bl":shallowCopyInternalPointer,"bm":simpleReadValueFromPointer,"bn":throwBindingError,"bo":throwInstanceAlreadyDeleted,"bp":throwInternalError,"bq":throwUnboundTypeError,"br":unregisterInheritedInstance,"bs":upcastPointer,"bt":validateThis,"bu":whenDependentTypesAreResolved,"bv":tempDoublePtr,"bw":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bv|0,i=env.bw|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=54864,Pb=5297744,Qb=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | 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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){s=a+4108+(i*4608|0)|0;v=c[w>>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;qg(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=5200+(q<<2)|0;B=5200+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=5200;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=7248+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function 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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function rg(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=hg(f,l?8:9)|0;c[i+4>>2]=hg(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=hg(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=hg(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=hg(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=hg(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=hg(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(hg(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=hg(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=hg(f,3)|0}else{u=hg(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(hg(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=hg(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=hg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=hg(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=hg(f,3)|0}u=hg(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0}function sg(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=Ob;Ob=Ob+7296|0;xb=Ab+2448|0;wb=Ab+2432|0;vb=Ab+2416|0;tb=Ab+2400|0;sb=Ab+2384|0;rb=Ab+2368|0;yb=Ab+2352|0;ub=Ab+2336|0;qb=Ab+2320|0;pb=Ab+16|0;ob=Ab;hb=Ab+7224|0;nb=Ab+7216|0;zb=Ab+2608|0;lb=Ab+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;Ob=Ab;return zb|0}ib=(j|0)==0;gb=7376+(k*12|0)|0;kb=7376+(k*12|0)+8|0;db=7376+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;R=c[10200]|0;ab=h+4|0;T=hb+4|0;U=hb+8|0;cb=h+9264|0;V=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;W=pb+20|0;X=pb+22|0;Y=pb+24|0;Z=pb+26|0;_=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;S=zb+2304|0;$a=0;a:while(1){P=i+10+($a*116|0)|0;if(!ib){M=c[gb>>2]|0;O=($a|0)==0;N=0;do{y=i+10+($a*116|0)+(N*58|0)|0;k=nb+(N<<2)|0;c[k>>2]=M;z=i+10+($a*116|0)+(N*58|0)+9|0;n=(a[z>>0]|0)==2;if(n){L=c[((a[i+10+($a*116|0)+(N*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[jb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=pb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(N*58|0)+6>>1]|0;o=d[51068+(p<<1)>>0]|0;p=d[51068+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=hg(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=hg(f,p)|0;a[l+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[l+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;K=l|4;a[l+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+K>>0]=hg(f,p)|0;a[K+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[K+6+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;L=l|12;a[K+7+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+L>>0]=hg(f,p)|0;a[L+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;a[L+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=hg(f,p)|0;L=y+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(N*58|0)+18>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=hg(f,o)|0;l=(hg(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+($a*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(N*58|0)+24>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=hg(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=hg(f,o)|0;l=(hg(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+($a*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(N*58|0)+29>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=hg(f,p)|0;l=(hg(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+($a*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(N*58|0)+34>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=hg(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=hg(f,p)|0;l=(hg(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+($a*116|0)+(N*58|0)+38>>0]=l;a[i+10+($a*116|0)+(N*58|0)+39>>0]=0}l=eg(pb,f)|0}else{u=(N|0)==0?0:Fa;l=c[bb>>2]|0;L=f;p=c[L+4>>2]|0;m=pb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)w=((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else w=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=50996+(t*12|0)+(w<<2)|0;p=(1<<m)+-1|0;if(!(a[n>>0]|0))l=0;else{o=0;while(1){L=hg(f,m)|0;a[i+10+($a*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<<q)+-1|0;n=50996+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,q)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<<s)+-1|0;n=50996+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,s)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=hg(f,0)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+($a*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=50996+(t*12|0)+(w<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=hg(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=50996+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=50996+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=hg(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)Yi(y+(l+18)|0,0,39-l|0)|0}l=eg(pb,f)|0}x=zb+(N*2304|0)|0;m=(e[y>>1]|0)-l|0;if((m|0)<0){mb=566;break a}s=(e[i+10+($a*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+($a*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[z>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=s-((o&d[51100+n>>0])+(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]|0)<<t);p=n+1|0;l=l+(d[k+n>>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+($a*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+($a*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+($a*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]<<t);K=n+1|0;c[pb+(K<<2)>>2]=q-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);K=n+2|0;c[pb+(K<<2)>>2]=o-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);l=((d[k+n>>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+18>>0]<<t);c[Ga>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+19>>0]<<t);c[Ra>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+20>>0]<<t);c[Ua>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+21>>0]<<t);c[Va>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+22>>0]<<t);c[Wa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+23>>0]<<t);c[Xa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+24>>0]<<t);c[Ya>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+25>>0]<<t);c[Za>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+26>>0]<<t);c[_a>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+27>>0]<<t);c[Ha>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+28>>0]<<t);l=d[i+10+($a*116|0)+(N*58|0)+29>>0]|0;if(!(n&4)){c[Ia>>2]=s-(l<<t);c[Ja>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+30>>0]<<t);c[Ka>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+31>>0]<<t);c[La>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+32>>0]<<t);c[Ma>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+33>>0]<<t);c[Na>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+34>>0]<<t);c[Oa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+35>>0]<<t);c[Pa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+36>>0]<<t);c[Qa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+37>>0]<<t);c[Sa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+38>>0]<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}else{c[Ia>>2]=s-(l+1<<t);c[Ja>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+30>>0]|0)+1<<t);c[Ka>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+31>>0]|0)+1<<t);c[La>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+32>>0]|0)+1<<t);c[Ma>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+33>>0]|0)+2<<t);c[Na>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+34>>0]|0)+2<<t);c[Oa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+35>>0]|0)+3<<t);c[Pa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+36>>0]|0)+3<<t);c[Qa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+37>>0]|0)+3<<t);c[Sa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+38>>0]|0)+2<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}}while(0);o=f;n=c[o>>2]|0;o=c[o+4>>2]|0;t=ob;c[t>>2]=n;c[t+4>>2]=o;gg(f,m);o=Ui(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=hg(ob,o)|0;t=d[i+10+($a*116|0)+(N*58|0)+10>>0]|0;q=c[4944+(t<<3)>>2]|0;if(!q){Q=165;break a}s=zb+(N*2304|0)+(d[k>>0]<<2)|0;y=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+($a*116|0)+(N*58|0)+17|0;I=k&65535;B=p;u=Ga;z=e[4944+(t<<3)+4>>1]|0;w=(d[i+10+($a*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;A=0;p=e[4944+(t<<3)+6>>1]|0;H=0;F=x;while(1){I=I+-1|0;if((F|0)==(s|0)){x=y+1|0;s=F+(d[y>>0]<<2)|0;k=w+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(N*58|0)+10+m>>0]|0;q=c[4944+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[4944+(p<<3)+4>>1]|0;p=e[4944+(p<<3)+6>>1]|0}}else t=z;y=c[u>>2]|0;G=y;u=u+4|0;z=t;E=k;D=m;t=(B|0)==(y|0)?A:0;y=x;C=p}else{G=B;E=w;D=m;t=A;C=p}k=31-o&-8;if((o|0)<21){n=hg(ob,k)|0|n<<k;l=l-k|0;o=k+o|0}k=n>>>(o-C|0)&(1<<C)+-1;if(!(a[q+(k<<1)>>0]&1)){m=C;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<<m)+-1)+((k&65535)>>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}A=q+(k<<1)|0;m=b[A>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;w=k&65535;b:do if(!z){if(!(k<<16>>16)){m=t;k=0}else{k=1<<w;if(!(k&t)){t=k|t;p=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;mh(R,51122,sb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else{m=t;k=c[hb+(w<<2)>>2]|0}B=o+-1|0;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8&15;w=B&65535;if(!(B<<16>>16)){x=n;k=0;t=m}else{k=1<<w;if(!(k&m)){t=k|m;k=(G|0)/4|0;p=G-(k<<2)|0;B=c[7484+(w<<2)>>2]|0;m=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;mh(R,51122,tb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else k=c[hb+(w<<2)>>2]|0;t=o+-1|0;x=n;o=t;k=(1<<t&n|0)==0?k:0-k|0;t=m}}else{c:do switch(m&15){case 0:{x=n;k=0;break}case 15:{if(o>>>0<(z+2|0)>>>0){n=hg(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-z|0;p=(G|0)%4|0;k=c[7484+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;mh(R,51122,qb)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<<w;if(k&t|0){k=c[hb+(w<<2)>>2]|0;Q=118;break c}t=k|t;p=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;mh(R,51122,ub)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8;w=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(o>>>0<(z+1|0)>>>0){n=hg(ob,16)|0|x<<16;l=l+-16|0;o=o+16|0}else n=x;o=o-z|0;p=(G|0)%4|0;k=c[7484+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;mh(R,51122,yb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(!p)break d;k=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<w;if(k&t|0){n=x;k=c[hb+(w<<2)>>2]|0;break d}t=k|t;n=(G|0)%4|0;k=c[7484+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;mh(R,51122,rb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(n)k=r((c[40312+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;n=x}}while(0);B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}while(0);c[F+4>>2]=k;k=H+2|0;m=o+l|0;if(!((I|0)!=0&(m|0)>0)){w=o;t=G;q=y;break}else{n=x;B=G;w=E;m=D;A=t;p=C;H=k;F=zb+(N*2304|0)+(k<<2)|0}}}else{x=n;w=o;t=p;u=Ga;q=y;k=0}if((m|0)<0){mb=568;break a}B=c[4936+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;mh(R,51122,vb)|0;n=2147483647;break}else{n=67108864<<n;break}else{n=-2-o|0;n=n>>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=x;x=q;while(1){z=zb+(N*2304|0)+(k<<2)|0;if((w|0)<10){A=hg(ob,16)|0|m<<16;l=l+-16|0;m=w+16|0}else{A=m;m=w}q=m+-4|0;o=B+((A>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=B+((A>>>(q-o|0)&(1<<o)+-1)+((p&65535)>>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}y=m-((p&255)>>>1&7)|0;if((z|0)==(s|0)){w=x+1|0;s=s+(d[x>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;mh(R,51122,wb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=w}else q=x;x=(p&16)==0;L=y+-1|0;m=0-n|0;y=x?y:L;c[z>>2]=x?0:(1<<L&A|0)==0?n:m;L=(a[o>>0]&32)==0;x=y+-1|0;y=L?y:x;c[z+4>>2]=L?0:(1<<x&A|0)==0?n:m;x=zb+(N*2304|0)+(k+2<<2)|0;if((x|0)==(s|0)){w=q+1|0;s=s+(d[q>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;mh(R,51122,xb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[40312+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=w;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=y+-1|0;w=L?y:K;c[x>>2]=L?0:(1<<K&A|0)==0?p:m;K=(a[o>>0]|0)<0;L=w+-1|0;w=K?L:w;c[x+4>>2]=K?((1<<L&A|0)==0?p:m):0;k=k+4|0;m=w+l|0;if(!(k>>>0<573&(m|0)>0))break;else{m=A;n=p;x=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)Yi(zb+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0<j>>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){w=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){Q=276;break}O=eb&65535;b[pb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[za>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;e:do if(eb&1|0){u=c[jb>>2]|0;c[jb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[w+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0<n>>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[w+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0<o>>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[w+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[w+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+($a*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[40460+(n<<2)>>2]|0)+32768>>16;l=(c[40460+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=zb+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[zb+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[w+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[zb+2304+(O<<2)>>2]=c[zb+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[40340+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[zb+2304+(O<<2)>>2]=r((c[zb+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=zb+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[zb+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){P=a[w+n>>0]|0;k=P&255;if(P<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=zb+(P<<2)|0;P=zb+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){A=$a*18|0;z=0;do{y=h+48+(z*4608|0)+(A<<7)|0;x=i+10+($a*116|0)+(z*58|0)+9|0;w=zb+(z*2304|0)|0;if((a[x>>0]|0)==2){k=c[nb+(z<<2)>>2]|0;u=(a[i+10+($a*116|0)+(z*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[zb+(z*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[pb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}Wi(zb+(z*2304|0)+(s<<2)|0,pb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)tg(w,36)}else tg(w,576);k=a[x>>0]|0;l=a[i+10+($a*116|0)+(z*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){wg(w,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);wg(zb+(z*2304|0)+72|0,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}else{Q=l<<24>>24==0?k&255:0;ug(w,lb,Q);vg(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);ug(zb+(z*2304|0)+72|0,lb,Q);vg(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}l=y+132|0;P=y+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=y+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(z*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[x>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){wg(zb+(z*2304|0)+(k<<2)|0,lb);vg(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){ug(zb+(z*2304|0)+(m<<2)|0,lb,k&255);vg(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[x>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;w=c[cb>>2]|0;do{P=w+(z*2304|0)+(u*72|0)|0;c[h+48+(z*4608|0)+(A<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+4|0;k=y+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+8|0;c[y+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+12|0;p=y+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+16|0;c[y+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+20|0;q=y+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+24|0;c[y+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+28|0;s=y+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+32|0;c[y+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+36|0;t=y+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+40|0;c[y+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+44|0;l=y+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+48|0;c[y+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+52|0;m=y+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+56|0;c[y+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+60|0;n=y+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+64|0;c[y+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+68|0;o=y+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}z=z+1|0}while((z|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;Q=318;break}}if((Q|0)==165)mb=567;else if((Q|0)==202)J(51155,50987,1253,51197);else if((Q|0)==276){zb=569;Ob=Ab;return zb|0}else if((Q|0)==318){Ob=Ab;return k|0}zb=mb;Ob=Ab;return zb|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);return}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Ob;Ob=Ob+144|0;e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;Ob=d;return}function xg(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=fg(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}dg(h,e);h=0;return h|0}function yg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Ob;Ob=Ob+16|0;f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;gg(i,11);if(!(hg(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(hg(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;Ob=j;return k|0}}else c[g>>2]=e|4096;k=hg(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;Ob=j;return k|0}if(!(hg(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=ig(f,16,-1)|0}e=hg(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;Ob=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[40488+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=hg(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;Ob=j;return k|0}e=c[40788+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(hg(i,1)|0)c[g>>2]=c[g>>2]|128;if(hg(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(hg(i,2)|0);c[a+8>>2]=hg(i,2)|0;if(hg(i,1)|0)c[g>>2]=c[g>>2]|32;if(hg(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=hg(i,2)|0;if(!(c[g>>2]&16)){k=0;Ob=j;return k|0}b[a+26>>1]=hg(i,16)|0;k=0;Ob=j;return k|0}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)J(51878,51889,144,51897);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=Ob;Ob=Ob+112|0;j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(xg(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((yg(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=fg(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}gg(s,8)}while((xg(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;Ob=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;Ob=u;return t|0}function Bg(a){a=a|0;var b=0;Yi(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);Yi(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Cg(a){a=a|0;var b=0;Yi(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;Yi(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Dg(){Eg(0);return}function Eg(a){a=a|0;ga(1168,51912);X(1184,51917,1,1,0);ca(1192,51922,1,-128,127);ca(1208,51927,1,-128,127);ca(1200,51939,1,0,255);ca(1216,51953,2,-32768,32767);ca(1224,51959,2,0,65535);ca(1232,51974,4,-2147483648,2147483647);ca(1240,51978,4,0,-1);ca(1248,51991,4,-2147483648,2147483647);ca(1256,51996,4,0,-1);ba(1264,52010,4);ba(1272,52016,8);ea(552,52023);ea(736,52035);fa(760,4,52068);aa(576,52081);da(784,0,52097);da(792,0,52127);da(800,1,52164);da(808,2,52203);da(816,3,52234);da(824,4,52274);da(832,5,52303);da(840,4,52341);da(848,5,52371);da(792,0,52410);da(800,1,52442);da(808,2,52475);da(816,3,52508);da(824,4,52542);da(832,5,52575);da(856,6,52609);da(864,7,52640);da(872,7,52672);return}function Fg(a){a=a|0;return lh(c[a+4>>2]|0)|0}function Gg(a){a=a|0;var b=0,d=0;b=Ob;Ob=Ob+16|0;d=b;c[d>>2]=Lg(c[a+60>>2]|0)|0;a=Jg(V(6,d|0)|0)|0;Ob=b;return a|0}function Hg(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=Ob;Ob=Ob+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Jg(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=Jg(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Ob=m;return d|0}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ob;Ob=Ob+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((Jg(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Ob=g;return b|0}function Jg(a){a=a|0;if(a>>>0>4294963200){c[(Kg()|0)>>2]=0-a;a=-1}return a|0}function Kg(){return 54120}function Lg(a){a=a|0;return a|0}function Mg(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 Ng(a){a=a|0;return (a+-48|0)>>>0<10|0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c,1,17)|0}function Pg(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Ob;Ob=Ob+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;hh(e)|0;j=v()|0;if((j|0)<0){e=-e;hh(e)|0;D=1;C=53224;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?53225:53230):53227}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;ah(b,32,f,j,h&-65537);Vg(b,C,D);Vg(b,e!=e|0.0!=0.0?(G?53251:53255):G?53243:53247,3);ah(b,32,f,j,h^8192)}else{q=+ih(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=_g(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[528+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;ah(b,32,f,E,h);Vg(b,s,p);ah(b,48,f,E,h^65536);F=m-F|0;Vg(b,G,F);G=k-l|0;ah(b,48,j-(F+G)|0,0,0);Vg(b,n,G);ah(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=Vi(c[j>>2]|0,0,n|0)|0;t=Pi(t|0,v()|0,m|0,0)|0;x=v()|0;m=Ti(t|0,x|0,1e9,0)|0;y=Oi(m|0,v()|0,1e9,0)|0;y=Qi(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=_g(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;ah(b,32,f,j,h);Vg(b,C,D);ah(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=_g(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Yi(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Vg(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Vg(b,53259,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=_g(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){Yi(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Vg(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}ah(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=_g(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;Vg(b,l,1);if(t&(k|0)<1){l=m;break}Vg(b,53259,1);l=m}else{if(l>>>0<=G>>>0)break;Yi(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;Vg(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}ah(b,48,k+18|0,18,0);Vg(b,x,E-x|0)}ah(b,32,f,j,h^8192)}while(0);Ob=H;return ((j|0)<(f|0)?f:j)|0}function Qg(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Rg(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=Ob;Ob=Ob+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Sg(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Tg(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Sg(b,d,p,r,q,f,g)|0;if(j){Ub[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Sg(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Ug(b);e=(h&32|0)==0?e:-1}Ob=t;return e|0}function Sg(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Ob;Ob=Ob+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(Kg()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)Vg(d,r,l)}while((l|0)!=0);w=(Ng(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((Ng(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=Wg(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Wg(G)|0;m=c[G>>2]|0;break}if(Ng(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}Xg(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=Zg(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=53207;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Qi(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=53207;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?53207:53209):53208;x=72;break e}}case 117:{n=I;o=0;p=53207;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=53207;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?53217:s;t=$g(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=53207;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){ah(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Sb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=53207;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=Yg(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?53207:53207+(m>>>4)|0;x=73}else if((x|0)==72){q=_g(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=bh(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}ah(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=bh(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}Vg(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;ah(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;ah(d,32,l,K,m);Vg(d,p,o);ah(d,48,l,K,m^65536);ah(d,48,s,t,0);Vg(d,r,t);ah(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Xg(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Ob=J;return e|0}function Tg(a){a=a|0;return 1}function Ug(a){a=a|0;return}function Vg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))fh(b,d,a)|0;return}function Wg(b){b=b|0;var d=0,e=0;if(!(Ng(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ng(a[e>>0]|0)|0)!=0)}return d|0}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Yb[e&31](a,d);break a}default:break a}while(0);while(0);return}function Yg(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=Ui(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Zg(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=Ui(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function _g(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=Ti(b|0,c|0,10,0)|0;f=c;c=v()|0;g=Oi(b|0,c|0,10,0)|0;g=Qi(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function $g(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function ah(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=Ob;Ob=Ob+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yi(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Vg(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Vg(a,f,e)}Ob=g;return}function bh(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ch(a,b,0)|0;return a|0}function ch(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(dh()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(Kg()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Kg()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function dh(){return eh()|0}function eh(){return 40804}function fh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(gh(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Ub[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Ub[c[e+36>>2]&7](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Wi(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function gh(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function hh(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function ih(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=Ui(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ih(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 jh(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function kh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ob;Ob=Ob+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(gh(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Ub[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Ob=l;return f|0}function lh(a){a=a|0;var b=0,c=0;b=(jh(a)|0)+1|0;c=oh(b)|0;if(!c)a=0;else a=Wi(c|0,a|0,b|0)|0;return a|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d;d=Og(a,b,f)|0;Ob=e;return d|0}function nh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Tg(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=kh(d,b)|0;Ug(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=kh(d,b)|0}while(0);return e|0}function oh(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=Ob;Ob=Ob+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[13531]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=54164+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[13531]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Ob=w;return v|0}l=c[13533]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=54164+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[13531]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[13536]|0;b=l>>>3;d=54164+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13533]=h;c[13536]=f;v=i;Ob=w;return v|0}g=c[13532]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[54428+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=54428+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[13532]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[13536]|0;b=l>>>3;d=54164+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[13531]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[13533]=j;c[13536]=h}v=i+8|0;Ob=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[13532]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[54428+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[54428+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[13533]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=54428+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[13532]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=54428+(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[13532]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Ob=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[13533]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[13536]|0;if(b>>>0>15){v=a+m|0;c[13536]=v;c[13533]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[13533]=0;c[13536]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Ob=w;return v|0}h=c[13534]|0;if(h>>>0>m>>>0){t=h-m|0;c[13534]=t;v=c[13537]|0;u=v+m|0;c[13537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ob=w;return v|0}if(!(c[13649]|0)){c[13651]=4096;c[13650]=4096;c[13652]=-1;c[13653]=-1;c[13654]=0;c[13642]=0;c[13649]=n&-16^1431655768;a=4096}else a=c[13651]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Ob=w;return v|0}a=c[13641]|0;if(a|0?(l=c[13639]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Ob=w;return v|0}d:do if(!(c[13642]&4)){d=c[13537]|0;e:do if(d){e=54572;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Zi(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Zi(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[13650]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[13639]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[13641]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Zi(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[13651]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Zi(a|0)|0)==(-1|0)){Zi(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[13642]=c[13642]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Zi(k|0)|0,p=Zi(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[13639]|0)+h|0;c[13639]=b;if(b>>>0>(c[13640]|0)>>>0)c[13640]=b;j=c[13537]|0;f:do if(j){b=54572;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[13534]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[13538]=c[13653];break}if(g>>>0<(c[13535]|0)>>>0)c[13535]=g;d=g+h|0;b=54572;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[13534]|0)+i|0;c[13534]=v;c[13537]=k;c[k+4>>2]=v|1}else{if((c[13536]|0)==(b|0)){v=(c[13533]|0)+i|0;c[13533]=v;c[13536]=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[13531]=c[13531]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=54428+(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[13532]=c[13532]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=54428+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[13532]|0;d=1<<e;if(!(a&d)){c[13532]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Ob=w;return v|0}b=54572;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[13538]=c[13653];d=a+4|0;c[d>>2]=27;c[b>>2]=c[13643];c[b+4>>2]=c[13644];c[b+8>>2]=c[13645];c[b+12>>2]=c[13646];c[13643]=g;c[13644]=h;c[13646]=0;c[13645]=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=54164+(b<<1<<2)|0;a=c[13531]|0;b=1<<b;if(!(a&b)){c[13531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=54428+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[13532]|0;a=1<<e;if(!(b&a)){c[13532]=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[13535]|0;if((v|0)==0|g>>>0<v>>>0)c[13535]=g;c[13643]=g;c[13644]=h;c[13646]=0;c[13540]=c[13649];c[13539]=-1;c[13544]=54164;c[13543]=54164;c[13546]=54172;c[13545]=54172;c[13548]=54180;c[13547]=54180;c[13550]=54188;c[13549]=54188;c[13552]=54196;c[13551]=54196;c[13554]=54204;c[13553]=54204;c[13556]=54212;c[13555]=54212;c[13558]=54220;c[13557]=54220;c[13560]=54228;c[13559]=54228;c[13562]=54236;c[13561]=54236;c[13564]=54244;c[13563]=54244;c[13566]=54252;c[13565]=54252;c[13568]=54260;c[13567]=54260;c[13570]=54268;c[13569]=54268;c[13572]=54276;c[13571]=54276;c[13574]=54284;c[13573]=54284;c[13576]=54292;c[13575]=54292;c[13578]=54300;c[13577]=54300;c[13580]=54308;c[13579]=54308;c[13582]=54316;c[13581]=54316;c[13584]=54324;c[13583]=54324;c[13586]=54332;c[13585]=54332;c[13588]=54340;c[13587]=54340;c[13590]=54348;c[13589]=54348;c[13592]=54356;c[13591]=54356;c[13594]=54364;c[13593]=54364;c[13596]=54372;c[13595]=54372;c[13598]=54380;c[13597]=54380;c[13600]=54388;c[13599]=54388;c[13602]=54396;c[13601]=54396;c[13604]=54404;c[13603]=54404;c[13606]=54412;c[13605]=54412;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[13537]=u;c[13534]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[13538]=c[13653]}while(0);b=c[13534]|0;if(b>>>0>m>>>0){t=b-m|0;c[13534]=t;v=c[13537]|0;u=v+m|0;c[13537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ob=w;return v|0}}c[(Kg()|0)>>2]=12;v=0;Ob=w;return v|0} |
| | | function bc(){Id();Dg()}function cc(a){a=a|0;var b=0;b=Ob;Ob=Ob+a|0;Ob=Ob+15&-16;return b|0}function dc(){return Ob|0}function ec(a){a=a|0;Ob=a}function fc(a,b){a=a|0;b=b|0;Ob=a;Pb=b}function gc(){Ma();return 0}function hc(a){a=a|0;var b=0;Y(584,592,608,0,48202,3,48205,0,48205,0,47474,48207,22);b=vh(8)|0;c[b>>2]=2;c[b+4>>2]=0;_(584,47483,3,1344,48210,3,b|0,0);b=vh(8)|0;c[b>>2]=3;c[b+4>>2]=0;_(584,47489,3,1356,48210,4,b|0,0);b=vh(8)|0;c[b>>2]=23;c[b+4>>2]=0;_(584,47496,2,1368,48215,4,b|0,0);b=vh(8)|0;c[b>>2]=24;c[b+4>>2]=0;_(584,47503,2,1368,48215,4,b|0,0);b=vh(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=6;c[a+4>>2]=0;$(584,47521,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=vh(8)|0;c[b>>2]=8;c[b+4>>2]=0;$(584,47531,576,48219,1,a|0,576,48210,5,b|0);b=vh(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=10;c[a+4>>2]=0;$(584,47539,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=vh(8)|0;c[b>>2]=12;c[b+4>>2]=0;$(584,47551,576,48219,1,a|0,576,48210,5,b|0);b=vh(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=vh(8)|0;c[a>>2]=14;c[a+4>>2]=0;$(584,47563,576,48219,1,b|0,576,48210,5,a|0);a=vh(8)|0;c[a>>2]=15;c[a+4>>2]=0;$(584,47567,576,48219,1,a|0,0,0,0,0);Y(664,680,696,584,48202,4,48202,5,48202,6,47578,48207,25);a=vh(4)|0;c[a>>2]=26;_(664,48223,2,1376,48215,16,a|0,0);Z(584,48243,3,1384,48379,5,2);Z(584,48253,3,1508,48379,6,6);return}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ob;Ob=Ob+16|0;n=o+8|0;m=o;e=b+22908|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,47591,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=va(47597)|0;g=ra(g|0,j|0)|0;oa(j|0);j=Ac(g,47609)|0;oa(g|0);c[n>>2]=47617;c[n+4>>2]=j?47626:47631;Ia(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=$g(f,46,g)|0;if(!f){g=h;break a}if(!(Mg(f,47637,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22909>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=pa(47642)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=oh(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=oh(f+4|0)|0;c[g>>2]=f;e=d}Wi(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=ua(h|0,1,1304,n|0)|0;oa(h|0);yc(m,47652,47663);zc(n,b,47489);k=c[m>>2]|0;d=va(47675)|0;za(k|0,d|0,c[n>>2]|0);oa(d|0);oa(c[n>>2]|0);c[b+22900>>2]=Ea()|0;b=c[l>>2]|0;n=va(47685)|0;za(b|0,n|0,c[m>>2]|0);oa(n|0);oa(c[m>>2]|0);Ob=o;return}function jc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Ob;Ob=Ob+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=va(47813)|0;c[w>>2]=ra(f|0,x|0)|0;oa(x|0);Dc(y,w);oa(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+22904|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Ea()|0;h=b+22900|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22920>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22909>>0]|0))switch(a[(Nh(y,0)|0)>>0]|0){case 1:{Ih(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Ec(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)wh(c[w>>2]|0);break a}case 2:{Ih(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Fc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)wh(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=va(47685)|0;e=ra(e|0,f|0)|0;oa(f|0);f=va(47839)|0;h=f;if((a[54e3]|0)==0?Hi(54e3)|0:0)c[13510]=qa(2,1332)|0;b=c[13510]|0;sa(f|0);c[w>>2]=h;na(b|0,e|0,47834,w|0);oa(f|0);oa(e|0);break a}default:{b=a[(Nh(y,0)|0)>>0]|0;c[k>>2]=47855;c[k+4>>2]=b;Ia(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Oh(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;Xi(f|0,f+13|0,b|0)|0;Kh(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;Ih(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Oh(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)wh(c[s>>2]|0);switch(k<<24>>24){case 8:{Ec(b,e,w);break}case 9:{Fc(b,e,w);break}default:{c[t>>2]=47818;c[t+4>>2]=k&255;Ia(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)wh(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;Xi(f|0,f+r|0,A|0)|0;Kh(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Ob=z;return}wh(c[y>>2]|0);Ob=z;return}function kc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;h=j;g=pa(48140)|0;f=b+22892|0;c[h>>2]=c[f>>2];oa(la(g|0,1,1340,h|0)|0);oa(g|0);g=b+22864|0;Xc(g);Wc(g);h=c[b+22868>>2]|0;i=b+22872|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);Yc(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)ph(e);c[f>>2]=0;a[b+22896>>0]=1;a[b+22888>>0]=0;Kh(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Ob=j;return}function lc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Ob;Ob=Ob+16|0;g=o+4|0;i=o;j=b+22884|0;a:do if(c[j>>2]|0){k=b+22868|0;l=b+22880|0;m=b+4|0;n=b+22916|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=Nc(c[m>>2]|0,48131,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Mc(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){wh(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){wh(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22888>>0]=1;c[b+22892>>2]=Oc(c[m>>2]|0,48115,i)|0;Ob=o;return}while(0);a[b+22888>>0]=0;Ob=o;return}function mc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d[b+22908>>0];c[a>>2]=Aa(1184,f|0)|0;Ob=e;return}function nc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ob;Ob=Ob+16|0;g=e;f=+ka(c[d>>2]|0,1184,g|0);ya(c[g>>2]|0);a[b+22908>>0]=f!=0.0&1;Ob=e;return}function oc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;c[f>>2]=d[b+22909>>0];c[a>>2]=Aa(1184,f|0)|0;Ob=e;return}function pc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ob;Ob=Ob+16|0;g=e;f=+ka(c[d>>2]|0,1184,g|0);ya(c[g>>2]|0);a[b+22909>>0]=f!=0.0&1;Ob=e;return}function qc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;c[e>>2]=c[b+22912>>2];c[a>>2]=Aa(1232,e|0)|0;Ob=d;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1232,f|0);ya(c[f>>2]|0);c[a+22912>>2]=~~e;Ob=d;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;c[e>>2]=c[b+22916>>2];c[a>>2]=Aa(1232,e|0)|0;Ob=d;return}function tc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1232,f|0);ya(c[f>>2]|0);c[a+22916>>2]=~~e;Ob=d;return}function uc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ob;Ob=Ob+16|0;e=d;g[e>>3]=+g[b+22920>>3];c[a>>2]=Aa(1272,e|0)|0;Ob=d;return}function vc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ob;Ob=Ob+16|0;f=d;e=+ka(c[b>>2]|0,1272,f|0);ya(c[f>>2]|0);g[a+22920>>3]=e;Ob=d;return}function wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ob;Ob=Ob+16|0;e=d+4|0;f=d;c[e>>2]=wa()|0;i=b+22868|0;h=b+22880|0;j=c[h>>2]|0;g=(j>>>0)/204|0;Zc(e,48153,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22884|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;_c(e,48159,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];$c(e,48164,f);b=c[e>>2]|0;c[a>>2]=b;sa(b|0);oa(c[e>>2]|0);Ob=d;return}function xc(a){a=a|0;oa(c[a>>2]|0);return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=va(b|0)|0;d=va(d|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);return}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=va(d|0)|0;d=ra(f|0,e|0)|0;oa(e|0);Cc(a,d,47789,b);oa(d|0);return}function Ac(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Ob;Ob=Ob+16|0;e=g;f=g+8|0;if((a[53960]|0)==0?Hi(53960)|0:0)c[13505]=qa(1,1300)|0;h=+ma(c[13505]|0,b|0,d|0,f|0,e|0);ya(c[f>>2]|0);Ob=g;return h!=0.0|0}function Bc(a){a=a|0;L(a|0)|0;ki()}function Cc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Ob;Ob=Ob+16|0;g=i;h=i+8|0;if((a[53968]|0)==0?Hi(53968)|0:0)c[13506]=qa(2,1308)|0;k=c[13506]|0;sa(c[f>>2]|0);c[g>>2]=c[f>>2];j=+ma(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;ya(h|0);Ob=i;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;e=h;i=+ka(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)Bh(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;ya(e|0);Ob=h;return}else d=b}else{j=g+16&-16;d=vh(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Wi(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;ya(e|0);Ob=h;return}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22897|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{Hc(b,c[b+22912>>2]<<10,d,g);break}case 11:{Hc(b,16e3,16e3,g);break}case 2:{Hc(b,(c[b+22912>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){Ob=j;return}}g=b+28|0;if((h|0)!=2){Ob=j;return}d=c[b+36>>2]|0;f=b+32|0;d=Ic(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){Ob=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){Ob=j;return}d=c[b+4>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,d|0,47938,i|0);Ob=j;return}function Fc(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=Ob;Ob=Ob+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22896|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=47984;Ia(0,j|0);break}case 12:{c[k>>2]=47999;Ia(0,k|0);break}default:{c[l>>2]=48014;c[l+4>>2]=f;Ia(0,l|0);Ob=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Ob=q;return}Lc(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=48074;Ia(0,m|0);Ob=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,48090,o|0);Ob=q;return}if(!d){Ob=q;return}c[p>>2]=f+5;f=b+22916|0;a:do if(c[f>>2]|0){g=b+22888|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=Nc(c[h>>2]|0,48131,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22892>>2]=Oc(c[h>>2]|0,48115,n)|0;break}else break a}while(0);j=b+22872|0;g=c[j>>2]|0;k=b+22868|0;f=c[k>>2]|0;o=g-f|0;i=b+22880|0;l=b+22884|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){Pc(b+22864|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Ob=q;return}while(0);Mc(b+22728|0,e);Ob=q;return}function Gc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;wh(c[b>>2]|0);return}function Hc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Ob;Ob=Ob+32|0;h=i;a[b+22897>>0]=0;j=r(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=oh(j)|0;c[h>>2]=47958;c[h+4>>2]=j;Ia(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[53976]|0)==0?Hi(53976)|0:0)c[13507]=qa(5,16)|0;j=c[13507]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;na(j|0,b|0,47948,h|0);Ob=i;return}function Ic(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;Kh(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}Wi(m+n|0,h|0,i-j|0)|0;if((Jc(s)|0)==-1){s=0;return s|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(r((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((Jc(s)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function Jc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Ob;Ob=Ob+272|0;t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=Kc(d,i)|0;if((j|0)==-1){d=-1;Ob=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;Ob=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=qh(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=ig(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;rg(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=fg(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;dg(t,e+(c[r>>2]|0)|0);e=hg(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))gg(t,16);j=hg(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Kh(t,f,0);h=t+11|0;Wi(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;Oh(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)wh(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}Xi(f|0,f+g|0,e|0)|0;Kh(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0<e>>>0|g>>>0<j>>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;dg(t,e+f|0);sg(t,p,s,o)|0;mg(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;Xi(f|0,f+g|0,e|0)|0;Kh(m,e,0);c[l>>2]=0;e=0}d=e;Ob=u;return d|0}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;dg(a+28|0,b);c[a+20>>2]=b;yg(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;zg(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Ag(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function 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,l=0,m=0,n=0;l=Ob;Ob=Ob+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=48104;c[j+4>>2]=e;Ia(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){Zb[c[(c[b>>2]|0)+20>>2]&7](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Ob=l;return}Zb[c[(c[b>>2]|0)+20>>2]&7](b,g+f|0,e);Ob=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;Zb[c[(c[b>>2]|0)+20>>2]&7](b,j+d|0,(m&255)<<8|n&255);Ob=l;return}default:{Ob=l;return}}}function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;Zb[c[(c[b>>2]|0)+20>>2]&7](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;f=h;g=h+8|0;if((a[53984]|0)==0?Hi(53984)|0:0)c[13508]=qa(2,1316)|0;j=c[13508]|0;c[f>>2]=c[e>>2];i=+ma(j|0,b|0,d|0,g|0,f|0);ya(c[g>>2]|0);Ob=h;return ~~i|0}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ob;Ob=Ob+16|0;f=h;g=h+8|0;if((a[53992]|0)==0?Hi(53992)|0:0)c[13509]=qa(2,1324)|0;j=c[13509]|0;c[f>>2]=c[e>>2];i=+ma(j|0,b|0,d|0,g|0,f|0);ya(c[g>>2]|0);Ob=h;return ~~i|0}function Pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Ob;Ob=Ob+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{Xi(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{h=vh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){wh(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Ob=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{d=vh(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=vh(4080)|0;Sc(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Tc(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)wh(f);Ob=r;return}if((d|0)!=(b|0)){c[k>>2]=vh(4080)|0;Qc(a,k);Ob=r;return}c[k>>2]=vh(4080)|0;Rc(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{Xi(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;zh(r,47870);c[r>>2]=41160;P(r|0,1104,16)}else{h=vh(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){wh(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Ob=r;return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Xi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{i=vh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){wh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Xi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{h=vh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){wh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Xi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{i=vh(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){wh(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Xi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;zh(q,47870);c[q>>2]=41160;P(q|0,1104,16)}else{h=vh(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){wh(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Uc(a){a=a|0;var b=0,d=0,e=0,f=0;Xc(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{wh(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;wh(b);return}function Vc(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;ph(b);return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{wh(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Yc(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){wh(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Yc(a);return}wh(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Yc(a);return}function Xc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)wh(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{wh(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Yc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;zh(l,47870);c[l>>2]=41160;P(l|0,1104,16)}else{g=vh(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;wh(b);return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1248,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1248,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ob;Ob=Ob+16|0;f=e;a=c[a>>2]|0;b=va(b|0)|0;c[f>>2]=c[d>>2];d=Aa(1256,f|0)|0;za(a|0,b|0,d|0);oa(d|0);oa(b|0);Ob=e;return}function ad(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function bd(a){a=a|0;if(!a)return;Xb[c[(c[a>>2]|0)+4>>2]&31](a);return}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)Bh(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=vh(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Wi(b|0,d|0,e|0)|0;a[b+e>>0]=0;Yb[f&31](g,h);if((a[h+11>>0]|0)>=0){Ob=j;return}wh(c[h>>2]|0);Ob=j;return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ob;Ob=Ob+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Yb[e&31](a,f);oa(c[f>>2]|0);Ob=g;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Xb[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Xb[e&31](a);return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ob;Ob=Ob+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Yb[d&31](e,a);sa(c[e>>2]|0);g=c[e>>2]|0;oa(g|0);Ob=f;return g|0}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ob;Ob=Ob+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Yb[e&31](a,f);oa(c[f>>2]|0);Ob=g;return}function hd(b,d){b=b|0;d=d|0;var e=0;e=vh(22936)|0;sd(e,d);a[e+22928>>0]=0;c[e+22932>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1404;return e|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=W(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,664,c[e>>2]|0)|0;return}function jd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function kd(a){a=a|0;if(!a)return;Xb[c[(c[a>>2]|0)+4>>2]&31](a);return}function ld(a){a=a|0;return a|0}function md(a){a=a|0;return a|0}function nd(a,b){a=a|0;b=b|0;Xb[c[a>>2]&31](b);return}function od(b){b=b|0;a[b+22928>>0]=1;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ob;Ob=Ob+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Tb[a&3](f,g)|0;oa(c[g>>2]|0);oa(c[f>>2]|0);Ob=e;return d|0}function qd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Ob;Ob=Ob+16|0;e=g;c[b>>2]=1420;d=b+22932|0;if(!(a[b+22928>>0]|0)){f=c[d>>2]|0;oa(f|0);wd(b);Ob=g;return}f=c[d>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,f|0,48614,e|0);f=c[d>>2]|0;oa(f|0);wd(b);Ob=g;return}function rd(a){a=a|0;qd(a);wh(a);return}function sd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Ob;Ob=Ob+16|0;h=f+8|0;i=f;c[d>>2]=1436;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;jg(d+40|0);kg(d+104|0);lg(d+9372|0);c[i>>2]=48399;Ia(0,i|0);c[h>>2]=48384;c[h+4>>2]=d+28;Ia(0,h|0);ud(d+22728|0);e=d+22864|0;c[d+22892>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22896>>0]=1;a[d+22897>>0]=1;e=d+22900|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22912>>2]=12;c[d+22732>>2]=g;Ob=f;return}function td(a){a=a|0;qd(a);wh(a);return}function ud(b){b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1452;if(!(_f(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=48440;Ia(0,e|0);Ob=f;return}else{c[d>>2]=48409;Ia(0,d|0);Ob=f;return}}function vd(b){b=b|0;var d=0,e=0,f=0;e=Ob;Ob=Ob+16|0;d=e+8|0;f=e;c[f>>2]=48546;Ia(0,f|0);ph(c[b+8>>2]|0);c[d>>2]=48569;Ia(0,d|0);ng(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)wh(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){Ob=e;return}wh(c[b>>2]|0);Ob=e;return}function wd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ob;Ob=Ob+16|0;g=i+8|0;d=i;c[b>>2]=1436;f=pa(48140)|0;c[d>>2]=c[b+22892>>2];oa(la(f|0,1,1340,d|0)|0);oa(f|0);c[g>>2]=48593;Ia(0,g|0);g=b+22864|0;Xc(g);f=b+22868|0;d=c[f>>2]|0;h=b+22872|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{wh(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)wh(d);zd(b+22728|0);vd(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;oa(b|0);Ob=i;return}wh(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;oa(b|0);Ob=i;return}function xd(a){a=a|0;wd(a);wh(a);return}function yd(b){b=b|0;var d=0;ng(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)wh(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;wh(c[b>>2]|0);return}function zd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+16|0;g=h;c[b>>2]=1452;d=b+40|0;e=c[d>>2]|0;if(e|0){$f(e);c[d>>2]=0}c[b>>2]=1484;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)ph(f);c[g>>2]=48475;Ia(0,g|0);Ob=h;return}function Ad(a){a=a|0;zd(a);wh(a);return}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;c[a+44>>2]=b;b=a+48|0;c[b>>2]=d;do Ed(a)|0;while((c[b>>2]|0)!=0);return}function Cd(b){b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[b>>2]=1484;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)ph(d);c[e>>2]=48475;Ia(0,e|0);Ob=f;return}function Dd(a){a=a|0;Na()}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=Ob;Ob=Ob+16|0;g=v+8|0;t=v;u=b+40|0;e=b+44|0;f=b+60|0;d=bg(c[u>>2]|0,e,f)|0;switch(d|0){case 4:{if(ag(c[u>>2]|0,b+80|0)|0){u=-1;Ob=v;return u|0}Fd(b,c[b+84>>2]|0,c[b+88>>2]|0);u=c[f>>2]|0;t=b+48|0;c[t>>2]=(c[e>>2]|0)-u+(c[t>>2]|0);c[e>>2]=u;u=0;Ob=v;return u|0}case 3:{s=c[f>>2]|0;q=b+48|0;c[q>>2]=(c[e>>2]|0)-s+(c[q>>2]|0);c[e>>2]=s;break}case 1:case -2:{c[b+48>>2]=0;u=d;Ob=v;return u|0}case 2:{c[b+48>>2]=0;break}default:{c[g>>2]=48499;c[g+4>>2]=0-d;Ia(0,g|0);c[b+48>>2]=0;u=d;Ob=v;return u|0}}h=b+128|0;c[h>>2]=(c[h>>2]|0)+1;h=b+64|0;if((cg(c[u>>2]|0,h,0)|0)!=2){u=d;Ob=v;return u|0}i=b+132|0;j=b+20|0;k=b+84|0;l=b+88|0;m=b+24|0;n=b+28|0;o=b+36|0;p=b+8|0;q=b+12|0;s=b+16|0;b=b+4|0;do{c[i>>2]=(c[i>>2]|0)+1;e=c[h>>2]|0;c[j>>2]=e;g=r(c[l>>2]|0,c[k>>2]|0)|0;f=g+e|0;c[m>>2]=f;g=f+(g>>>2)|0;c[n>>2]=g;if(!(a[o>>0]|0))Gd(e,f,g,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);e=c[c[b>>2]>>2]|0;if((a[53952]|0)==0?Hi(53952)|0:0)c[13504]=qa(1,1296)|0;na(c[13504]|0,e|0,48541,t|0)}while((cg(c[u>>2]|0,h,0)|0)==2);Ob=v;return d|0}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ob;Ob=Ob+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=48515;c[h+4>>2]=d;c[h+8>>2]=e;Ia(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=oh((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[54008]|0)==0?Hi(54008)|0:0)c[13511]=qa(4,48)|0;b=c[13511]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;na(b|0,d|0,48528,h|0);Ob=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[54008]|0)==0?Hi(54008)|0:0)c[13511]=qa(4,48)|0;b=c[13511]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;na(b|0,d|0,48528,h|0);Ob=i;return}}function Gd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Hd(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=Ob;Ob=Ob+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)Bh(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=vh(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Wi(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Zb[b&7](h,j,k);sa(c[h>>2]|0);d=c[h>>2]|0;oa(d|0);oa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Ob=l;return d|0}wh(c[j>>2]|0);Ob=l;return d|0}function Id(){hc(0);return}function Jd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[49905+b>>0]|0;s=d[49957+b>>0]|0;b=c[1856+(s*12|0)>>2]<<g;h=c[1856+(s*12|0)+4>>2]<<g;g=c[1856+(s*12|0)+8>>2]<<g;if(!e)c[a>>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[49957+d>>0]|0;s=a[49905+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1856+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<<s+-2;d=h+f|0;B=f-h|0;C=g-i|0;D=i+g|0;c[b>>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function Ld(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1856+((d[49957+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[49905+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function Md(a,b){a=a|0;b=b|0;var c=0;b=1<<b+-1;if(b&a|0){a=0;return a|0}c=b;b=0;do{b=b+1|0;c=c>>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function Nd(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=Od(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[1928+(b+-1<<2)>>2]|0)&1;return b|0}function Od(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<<g}}else{h=a+8|0;if((e|0)>0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<<j;e=e+-8+g|0;if((e|0)>0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<<e|f;if((g|0)<=8)break;else g=g+-8|0}}}else f=0}e=k+b|0;c[n>>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function Pd(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((Qd(a)|0)>>>(32-b|0)|0)!=(1<<b+-1|0)|0;return 0}function Qd(a){a=a|0;var b=0,e=0,f=0,g=0;f=c[a+4>>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<<a;return f|0}if((e|0)<=0){f=0;return f|0}g=c[a+8>>2]|0;b=g+24|0;a=(d[f>>0]|0)<<b;e=e+-8+g|0;if((e|0)<=0){g=a;return g|0}while(1){f=f+1|0;b=b+-8|0;a=(d[f>>0]|0)<<b|a;if((e|0)<=8)break;else e=e+-8|0}return a|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+(d<<2)>>2]|0;d=d+1|0;a:do if(d>>>0<b>>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0<b>>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function Td(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function Ud(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=Ob;Ob=Ob+16|0;n=o;Vd(b,0,92);d=Od(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,Od(a,1)|0,Od(a,1)|0,(Od(a,1)|0)!=-1):0)?(Od(a,5)|0)!=-1:0)?(e=Od(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=Wd(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=Wd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<<d+4;d=Wd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=Wd(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<<d+4;break}case 1:{d=Od(a,1)|0;if((d|0)==-1){d=1;break a}c[b+24>>2]=(d|0)==1&1;d=Xd(a,b+28|0)|0;if(d|0)break a;d=Xd(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=Wd(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=Yd(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=Xd(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=Xd(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=Wd(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=Od(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=Wd(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=Wd(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(Od(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((Od(a,1)|0)!=-1?(k=Od(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=Wd(a,h)|0;if(d|0)break;e=b+68|0;d=Wd(a,e)|0;if(d|0)break;g=b+72|0;d=Wd(a,g)|0;if(d|0)break;f=b+76|0;d=Wd(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0<f>>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=Od(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=Yd(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=Zd(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);Nd(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);Ob=o;return d|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;Yi(a|0,b&255|0,c|0)|0;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Qd(a)|0;if((d|0)<0){_d(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((_d(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((_d(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((_d(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=Md(d,28)|0;e=d+4|0;if((e|0)!=32){_d(a,d+5|0)|0;d=Od(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<<e)+-1+d;b=0;return b|0}c[b>>2]=0;_d(a,32)|0;if((Od(a,1)|0)!=1){b=1;return b|0}d=Qd(a)|0;if((_d(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function Xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[e>>2]=0;d=Wd(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}Ob=f;return a|0}function Yd(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0<a>>>0){a=0;return a|0}a=oh(r(b,a)|0)|0;return a|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Vd(b,0,952);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=Od(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=Od(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=Od(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=Od(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=Qd(a)|0;if((d|0)==0|(_d(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=Qd(a)|0;if((d|0)==0|(_d(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=$d(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=$d(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=Od(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=Wd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=Wd(a,b+944|0)|0;if(d|0){b=d;return b|0}d=Wd(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function _d(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Wd(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=Od(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=Od(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=Wd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=Wd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=Od(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=Od(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function 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;k=Ob;Ob=Ob+16|0;i=k+4|0;j=k;Vd(b,0,72);d=Wd(a,b)|0;if(d|0){a=d;Ob=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;Ob=k;return a|0}e=b+4|0;d=Wd(a,e)|0;if(d|0){a=d;Ob=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;Ob=k;return a|0}if(Od(a,1)|0){a=1;Ob=k;return a|0}d=Od(a,1)|0;if((d|0)==-1){a=1;Ob=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=Wd(a,i)|0;if(d|0){a=d;Ob=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;Ob=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=Wd(a,e)|0;if(d|0){a=d;Ob=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;Ob=k;return a|0}switch(d|0){case 0:{g=Yd(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;Ob=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=Wd(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}Ob=k;return d|0}case 2:{g=b+24|0;c[g>>2]=Yd(4,(c[h>>2]|0)+-1|0)|0;f=Yd(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;Ob=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=Wd(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=Wd(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){Ob=k;return d|0}break}case 5:case 4:case 3:{d=Od(a,1)|0;if((d|0)==-1){a=1;Ob=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=Wd(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;Ob=k;return a|0}}case 6:{d=Wd(a,i)|0;if(d|0){a=d;Ob=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=Yd(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;Ob=k;return a|0}d=c[1960+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=Od(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}Ob=k;return d|0}default:break a}}while(0);d=Wd(a,i)|0;if(d|0){l=d;Ob=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;Ob=k;return l|0}c[b+48>>2]=d+1;d=Wd(a,i)|0;if(d|0){l=d;Ob=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;Ob=k;return l|0}if(Od(a,1)|0){l=1;Ob=k;return l|0}if((Od(a,2)|0)>>>0>2){l=1;Ob=k;return l|0}d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;Ob=k;return l|0}c[b+52>>2]=d;d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;Ob=k;return l|0}d=Xd(a,j)|0;if(d|0){l=d;Ob=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;Ob=k;return l|0}c[b+56>>2]=d;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=Od(a,1)|0;if((d|0)==-1){l=1;Ob=k;return l|0}c[b+68>>2]=(d|0)==1&1;Nd(a)|0;l=0;Ob=k;return l|0}function ce(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=Ob;Ob=Ob+16|0;p=v+12|0;o=v+8|0;u=v+4|0;s=v;Vd(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;Ob=v;return u|0}g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;Ob=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;Ob=v;return u|0}if(!(c[d+44>>2]|0)){u=1;Ob=v;return u|0}}g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;Ob=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Od(a,h+-1|0)|0;if((g|0)==-1){u=1;Ob=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;Ob=v;return u|0}c[b+12>>2]=g;if(h){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;Ob=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Od(a,h+-1|0)|0;if((g|0)==-1){u=1;Ob=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=Xd(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;Ob=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;Ob=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;Ob=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=Xd(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;Ob=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;Ob=v;return u|0}}if(c[e+68>>2]|0){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;Ob=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=Od(a,1)|0;if((g|0)==-1){u=1;Ob=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;Ob=v;return u|0}}else{g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;Ob=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=Od(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=Wd(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=Wd(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=Wd(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;Ob=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=Od(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=Od(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=Wd(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=Wd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=Wd(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;Ob=v;return u|0}while(0);g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;Ob=v;return u|0}do if(c[e+60>>2]|0){g=Wd(a,u)|0;if(g|0){u=g;Ob=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;Ob=v;return u|0}if((g|0)!=1){g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Ob=v;return u|0}c[b+56>>2]=g<<1;g=Xd(a,s)|0;if(g|0){u=g;Ob=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Ob=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<<g&i))break;else h=g}g=Od(a,((1<<h)+-1&i|0)==0?h:g)|0;c[u>>2]=g;if((g|0)==-1){u=1;Ob=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;Ob=v;return u|0}}u=0;Ob=v;return u|0}function de(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Ob;Ob=Ob+32|0;e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Wd(d,e)|0;if(!a){a=Wd(d,e)|0;if(!a){a=Wd(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}Ob=f;return a|0}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ob;Ob=Ob+32|0;e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=Wd(f,e)|0;if(a|0){d=a;Ob=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=Od(f,a+-1|0)|0;if((a|0)==-1){d=1;Ob=g;return d|0}c[d>>2]=a;d=0;Ob=g;return d|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Ob;Ob=Ob+32|0;f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=Wd(g,f)|0;if(!d){d=Wd(g,f)|0;if(!d){d=Wd(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((Od(g,d+-1|0)|0)==-1)d=1;else d=Wd(g,e)|0}}}}else d=1;Ob=h;return d|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=Wd(i,h)|0;if(a|0){e=a;Ob=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){e=1;Ob=j;return e|0}if((d|0)==5?(g=Wd(i,h)|0,g|0):0){e=g;Ob=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=Od(i,f+-1|0)|0;if((a|0)==-1){e=1;Ob=j;return e|0}c[e>>2]=a;e=0;Ob=j;return e|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;j=Ob;Ob=Ob+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=Wd(i,h)|0;if(a|0){i=a;Ob=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){i=1;Ob=j;return i|0}if((d|0)==5?(g=Wd(i,h)|0,g|0):0){i=g;Ob=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Od(i,f+-1|0)|0)==-1){i=1;Ob=j;return i|0}i=Xd(i,e)|0;Ob=j;return i|0}function ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Ob;Ob=Ob+32|0;h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=Wd(j,h)|0;if(a|0){j=a;Ob=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){j=1;Ob=k;return j|0}if((d|0)==5?(g=Wd(j,h)|0,g|0):0){j=g;Ob=k;return j|0}a=Xd(j,f)|0;if(a|0){j=a;Ob=k;return j|0}if(e|0?(i=Xd(j,f+4|0)|0,i|0):0){j=i;Ob=k;return j|0}j=0;Ob=k;return j|0}function je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Ob;Ob=Ob+32|0;k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){e=1;Ob=l;return e|0}f=Wd(j,k)|0;if(f|0){e=f;Ob=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Od(j,b+-1|0)|0)==-1){e=1;Ob=l;return e|0}if(c[e+8>>2]|0?(h=Xd(j,i)|0,h|0):0){e=h;Ob=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=Xd(j,i)|0;if(f|0){e=f;Ob=l;return e|0}if(c[e+8>>2]|0?(m=Xd(j,i)|0,m|0):0){e=m;Ob=l;return e|0}}if(c[e+68>>2]|0?(n=Wd(j,k)|0,n|0):0){e=n;Ob=l;return e|0}e=Od(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;Ob=l;return e|0}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=Ob;Ob=Ob+448|0;n=A+8|0;v=A+4|0;t=A;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;w=b+1192|0;c[w>>2]=(c[w>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;x=e+4|0;j=e+44|0;g=b+1220|0;z=b+1176|0;k=b+1172|0;i=l+12|0;y=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}B=c[(c[m>>2]|0)+56>>2]|0;E=c[q>>2]|0;D=c[r>>2]|0;C=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[w>>2];c[e+(h*216|0)+8>>2]=E;c[e+(h*216|0)+12>>2]=D;c[e+(h*216|0)+16>>2]=C;c[e+(h*216|0)+24>>2]=B;e=c[x>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=Wd(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[z>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{Vd(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=le(a,l,(c[p>>2]|0)+(h*216|0)|0,c[x>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=me((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}y=y+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=Pd(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[x>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=Rd(c[k>>2]|0,c[z>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+y|0;if(e>>>0>(c[z>>2]|0)>>>0){E=1;Ob=A;return E|0}c[f>>2]=e;E=0;Ob=A;return E|0}else if((f|0)==20){Ob=A;return e|0}return 0}function le(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Ob;Ob=Ob+16|0;t=x+12|0;r=x+8|0;w=x+4|0;v=x;Vd(d,0,2088);i=Wd(a,w)|0;h=c[w>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;Ob=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;Ob=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=Qd(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((_d(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=Qd(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((_d(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(Wd(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(Ye(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=Xd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(Wd(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(Wd(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(Wd(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(Wd(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(Ye(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Xd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=Xd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;Ob=x;return a|0}do if((s|0)!=1){h=Ze(a,w,(s|0)==0&1)|0;if(!h){w=c[w>>2]|0;c[d+4>>2]=w;if(!w)break b;else break}else{a=h;Ob=x;return a|0}}else{w=c[u>>2]|0;s=w+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(w>>>0>18?15:0)}while(0);w=(Xd(a,v)|0)!=0;h=c[v>>2]|0;if(w|(h+26|0)>>>0>51){a=1;Ob=x;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=$e(a,d+1864|0,_e(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=$e(a,d+328+(j<<6)+4|0,_e(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=$e(a,d+328+(j<<6)|0,_e(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=$e(a,d+328+(i<<6)|0,_e(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=$e(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=$e(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=$e(a,d+328+(i<<6)+4|0,_e(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=$e(a,d+328+(f<<6)+4|0,_e(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;Ob=x;return a|0}}else{g:do if(!(Xe(a)|0)){while(1){if(Od(a,1)|0){h=1;break}if(Xe(a)|0)break g}Ob=x;return h|0}while(0);i=0;f=d+328|0;while(1){h=Od(a,8)|0;c[w>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}Ob=x;return h|0}while(0);a=0;Ob=x;return a|0}function me(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;Sd(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}ne(f,k);k=0;return k|0}p=d+28|0;if(s){oe(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)Kd(e+1864|0,l);n=1992;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Jd(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Jd(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Jd(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Jd(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1520+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;Ld(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Jd(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Jd(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Jd(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=pe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{Vd(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=qe(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;Wi(a|0,b|0,c|0)|0;return}function pe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Ob;Ob=Ob+80|0;h=j+32|0;i=j;Le(d,h,i,e);if((Me(c[a>>2]|0)|0)==1){e=Ne(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;Ob=j;return a|0}}else{e=Oe(a,g,b,h,i,f)|0;if(e|0){a=e;Ob=j;return a|0}}e=Pe(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;Ob=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;Ob=j;return a|0}ne(d,g);a=0;Ob=j;return a|0} |
| | | function qf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){Vd(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0<n>>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0<g>>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0<n>>>0}while(k>>>0<m>>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0<k>>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0<k>>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function rf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ob;Ob=Ob+32|0;g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;Ob=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=de(a,g)|0;if(f|0){b=f;Ob=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;Ob=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;Ob=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;Ob=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(ee(a,c[g>>2]|0,i)|0){b=1;Ob=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(fe(a,c[g>>2]|0,5,j)|0){b=1;Ob=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(ge(a,l,c[b>>2]|0,m)|0){b=1;Ob=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=he(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;Ob=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=ie(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;Ob=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;Ob=s;return b|0}default:{b=0;Ob=s;return b|0}}return 0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0<l>>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0<l>>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0<e>>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function uf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;vf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0<o>>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{vf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0<k>>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}wf(c[a>>2]|0,d+1|0);a=q;return a|0}function vf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(xf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function wf(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=Ob;Ob=Ob+32|0;o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){Ob=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));Ob=q;return}function xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function yf(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function zf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{gf(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}gf(b);c[a>>2]=0;e=a+4|0;gf(c[e>>2]|0);c[e>>2]=0;a=a+12|0;gf(c[a>>2]|0);c[a>>2]=0;return}function Af(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0<b>>>0);return}function Bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;wf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Cf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Ef(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=Ob;Ob=Ob+176|0;Ia=Cb+40|0;mb=Cb;Ca=c[e+4>>2]|0;Ma=e+8|0;Bb=c[Ma>>2]|0;g=r(Bb,Ca)|0;if(!Bb){Ob=Cb;return}zb=Ia+24|0;Ab=Ia+16|0;Bb=Ia+8|0;Na=Ia+100|0;Oa=Ia+68|0;Pa=Ia+36|0;Qa=Ia+4|0;Fa=mb+28|0;Ja=mb+32|0;kb=mb+24|0;nb=Ia+120|0;ob=Ia+112|0;pb=Ia+104|0;qb=Ia+96|0;rb=Ia+88|0;sb=Ia+80|0;tb=Ia+72|0;ub=Ia+64|0;vb=Ia+56|0;wb=Ia+48|0;xb=Ia+40|0;yb=Ia+32|0;Ra=Ia+124|0;Sa=Ia+116|0;Ta=Ia+108|0;Ua=Ia+92|0;Va=Ia+84|0;Wa=Ia+76|0;Xa=Ia+60|0;Ya=Ia+52|0;Za=Ia+44|0;_a=Ia+28|0;$a=Ia+20|0;ab=Ia+12|0;eb=Ca<<4;Da=mb+12|0;Ea=mb+24|0;cb=Ca<<6;jb=0-eb|0;bb=jb<<1;ib=r(Ca,-48)|0;db=Ca<<5;gb=jb<<2;hb=Ca*48|0;Ha=mb+4|0;La=mb+8|0;Ga=mb+16|0;Ka=mb+20|0;lb=mb+12|0;fb=g<<8;ta=g<<6;ua=Ca<<3;ka=Ia+4|0;qa=Ia+36|0;ia=Ia+16|0;ma=Ia+20|0;oa=Ia+52|0;ya=Ia+8|0;la=Ia+68|0;Aa=Ia+24|0;ra=Ia+100|0;ja=Ia+80|0;na=Ia+84|0;pa=Ia+116|0;wa=Ia+24|0;va=Ia+64|0;za=Ia+72|0;Ba=Ia+88|0;xa=Ia+88|0;ga=0;sa=0;ha=f;while(1){g=c[ha+8>>2]|0;do if((g|0)!=1){fa=ha+200|0;n=c[fa>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ha+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);ea=ha+204|0;k=c[ea>>2]|0;do if(k){if((g|0)==2?(c[ha+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);da=(f&2|0)==0;do if(da){c[zb>>2]=0;c[Ab>>2]=0;c[Bb>>2]=0;c[Ia>>2]=0;i=0}else{if((c[ha>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+132>>1]|0)-(b[k+172>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ha+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ia>>2]=j;if((b[ha+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+136>>1]|0)-(b[k+176>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){h=(b[ha+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Bb>>2]=h;if((b[ha+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+148>>1]|0)-(b[k+188>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){i=(b[ha+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Ab>>2]=i;if((b[ha+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+152>>1]|0)-(b[k+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){g=(b[ha+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[zb>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[zb>>2]=4;c[Ab>>2]=4;c[Bb>>2]=4;c[Ia>>2]=4;i=1}while(0);ca=(f&4|0)==0;do if(ca){c[Na>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;g=0;f=c[ha>>2]|0;h=ha;ba=64}else{f=c[ha>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+132>>1]|0)-(b[n+152>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){k=(b[ha+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Qa>>2]=k;if((b[ha+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+140>>1]|0)-(b[n+160>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){l=(b[ha+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Pa>>2]=l;if((b[ha+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+164>>1]|0)-(b[n+184>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){m=(b[ha+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Oa>>2]=m;if((b[ha+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+172>>1]|0)-(b[n+192>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){j=(b[ha+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Na>>2]=j;g=k;h=ha;i=(k|i|l|m|j|0)!=0&1;ba=66;break}c[Na>>2]=4;c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;g=4;h=ha;i=1;ba=64}while(0);if((ba|0)==64){ba=0;if(f>>>0>5){c[nb>>2]=3;c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[Ra>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3}else ba=66}if((ba|0)==66){ba=0;a:do if((bf(f)|0)==1){p=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)K=0;else K=2;c[yb>>2]=K;f=b[ha+34>>1]|0;u=f<<16>>16==0;if(u?(b[ha+30>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;h=b[ha+40>>1]|0;v=h<<16>>16==0;if(v?(b[ha+36>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;j=b[ha+42>>1]|0;w=j<<16>>16==0;if(w?(b[ha+38>>1]|0)==0:0)G=0;else G=2;c[vb>>2]=G;t=b[ha+44>>1]|0;F=(t|s)<<16>>16==0?0:2;c[ub>>2]=F;q=b[ha+46>>1]|0;x=f<<16>>16!=0;E=(q|f)<<16>>16==0?0:2;c[tb>>2]=E;n=b[ha+52>>1]|0;o=h<<16>>16!=0;D=(n|h)<<16>>16==0?0:2;c[sb>>2]=D;m=b[ha+54>>1]|0;C=(m|j)<<16>>16==0?0:2;c[rb>>2]=C;f=b[ha+48>>1]|0;B=(f|t)<<16>>16==0?0:2;c[qb>>2]=B;h=b[ha+50>>1]|0;A=(h|q)<<16>>16==0?0:2;c[pb>>2]=A;j=b[ha+56>>1]|0;z=(j|n)<<16>>16==0?0:2;c[ob>>2]=z;k=b[ha+58>>1]|0;y=(k|m)<<16>>16==0?0:2;c[nb>>2]=y;l=b[ha+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[ab>>2]=p;_=b[ha+36>>1]|0;$=(_|l)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|u^1?2:0;c[Za>>2]=J;aa=x|v^1?2:0;c[Ya>>2]=aa;v=o|w^1?2:0;c[Xa>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Wa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Va>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Ua>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ta>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Sa>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Ra>>2]=h;k=m;m=q;q=aa;aa=p;u=E;s=F;p=G;l=H;j=I;f=K}else switch(c[h>>2]|0){case 2:{q=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[yb>>2]=f;t=b[ha+34>>1]|0;A=t<<16>>16==0;if(A?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;u=b[ha+40>>1]|0;B=u<<16>>16==0;if(B?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;n=b[ha+42>>1]|0;C=n<<16>>16==0;if(C?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;v=b[ha+48>>1]|0;if(v<<16>>16==0?(b[ha+44>>1]|0)==0:0)L=0;else L=2;c[qb>>2]=L;w=b[ha+50>>1]|0;D=w<<16>>16==0;if(D?(b[ha+46>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;x=b[ha+56>>1]|0;if(x<<16>>16==0?(b[ha+52>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;y=b[ha+58>>1]|0;if(y<<16>>16==0?(b[ha+54>>1]|0)==0:0)G=0;else G=2;c[nb>>2]=G;z=b[ha+44>>1]|0;h=b[ha+166>>1]|0;j=b[ha+142>>1]|0;do if(!((z|s)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}M=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else M=2;while(0);c[ub>>2]=M;o=b[ha+46>>1]|0;h=b[ha+170>>1]|0;j=b[ha+146>>1]|0;do if(!((o|t)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}K=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else K=2;while(0);c[tb>>2]=K;m=b[ha+52>>1]|0;h=b[ha+182>>1]|0;j=b[ha+158>>1]|0;do if(!((m|u)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}F=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;k=b[ha+54>>1]|0;h=b[ha+186>>1]|0;j=b[ha+162>>1]|0;do if(!((k|n)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}E=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else E=2;while(0);c[rb>>2]=E;h=b[ha+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[ab>>2]=j;_=b[ha+36>>1]|0;$=(_|h)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|A^1?2:0;c[Za>>2]=J;q=t<<16>>16!=0|B^1?2:0;c[Ya>>2]=q;aa=u<<16>>16!=0|C^1?2:0;c[Xa>>2]=aa;t=(o|z)<<16>>16==0?0:2;c[Wa>>2]=t;z=(m|o)<<16>>16==0?0:2;c[Va>>2]=z;o=(k|m)<<16>>16==0?0:2;c[Ua>>2]=o;n=v<<16>>16!=0|D^1?2:0;c[Ta>>2]=n;k=(x|w)<<16>>16==0?0:2;c[Sa>>2]=k;h=(y|x)<<16>>16==0?0:2;c[Ra>>2]=h;m=z;v=aa;aa=j;y=G;z=H;A=I;B=L;C=E;D=F;u=K;s=M;j=N;break a}case 3:{h=ha+28|0;j=b[ha+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;v=b[ha+34>>1]|0;k=v<<16>>16==0;if(k?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;w=b[ha+40>>1]|0;if(w<<16>>16==0?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;f=b[ha+42>>1]|0;m=f<<16>>16==0;if(m?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;n=b[ha+44>>1]|0;M=(n|j)<<16>>16==0?0:2;c[ub>>2]=M;x=b[ha+46>>1]|0;u=(x|v)<<16>>16==0?0:2;c[tb>>2]=u;E=b[ha+52>>1]|0;D=(E|w)<<16>>16==0?0:2;c[sb>>2]=D;o=b[ha+54>>1]|0;C=(o|f)<<16>>16==0?0:2;c[rb>>2]=C;q=b[ha+48>>1]|0;B=(q|n)<<16>>16==0?0:2;c[qb>>2]=B;G=b[ha+50>>1]|0;A=(G|x)<<16>>16==0?0:2;c[pb>>2]=A;H=b[ha+56>>1]|0;z=(H|E)<<16>>16==0?0:2;c[ob>>2]=z;s=b[ha+58>>1]|0;y=(s|o)<<16>>16==0?0:2;c[nb>>2]=y;t=b[ha+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)L=0;else L=2;c[ab>>2]=L;f=ha+36|0;if(!(b[ha+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){K=0;f=0}else ba=146}else{f=b[f>>1]|0;ba=146}if((ba|0)==146){ba=0;K=2}c[_a>>2]=K;J=j<<16>>16!=0|k^1?2:0;c[Za>>2]=J;I=w<<16>>16!=0|m^1?2:0;c[Xa>>2]=I;F=(x|n)<<16>>16==0?0:2;c[Wa>>2]=F;o=(o|E)<<16>>16==0?0:2;c[Ua>>2]=o;n=(G|q)<<16>>16==0?0:2;c[Ta>>2]=n;h=(s|H)<<16>>16==0?0:2;c[Ra>>2]=h;j=b[ha+150>>1]|0;k=b[ha+138>>1]|0;do if(!((f|t)<<16>>16)){aa=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}aa=j-k|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}s=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else s=2;while(0);c[$a>>2]=s;f=b[ha+158>>1]|0;j=b[ha+146>>1]|0;do if(!((w|v)<<16>>16)){aa=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;f=b[ha+182>>1]|0;j=b[ha+170>>1]|0;do if(!((E|x)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;f=b[ha+190>>1]|0;j=b[ha+178>>1]|0;do if(!((H|G)<<16>>16)){aa=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}f=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else f=2;while(0);c[Sa>>2]=f;k=f;t=F;v=I;_=K;$=s;aa=L;s=M;j=N;f=O;break a}default:{w=b[ha+32>>1]|0;h=b[ha+28>>1]|0;x=b[ha+142>>1]|0;k=b[ha+134>>1]|0;if(!((h|w)<<16>>16)){f=(b[ha+140>>1]|0)-(b[ha+132>>1]|0)|0;aa=x-k|0;f=((((aa|0)<0?0-aa|0:aa)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[yb>>2]=f;E=b[ha+34>>1]|0;m=b[ha+30>>1]|0;F=b[ha+146>>1]|0;n=b[ha+138>>1]|0;if(!((m|E)<<16>>16)){j=(b[ha+144>>1]|0)-(b[ha+136>>1]|0)|0;aa=F-n|0;j=((((aa|0)<0?0-aa|0:aa)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[xb>>2]=j;G=b[ha+40>>1]|0;o=b[ha+36>>1]|0;I=b[ha+158>>1]|0;t=b[ha+150>>1]|0;if(!((o|G)<<16>>16)){l=(b[ha+156>>1]|0)-(b[ha+148>>1]|0)|0;aa=I-t|0;l=((((aa|0)<0?0-aa|0:aa)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[wb>>2]=l;H=b[ha+42>>1]|0;q=b[ha+38>>1]|0;J=b[ha+162>>1]|0;v=b[ha+154>>1]|0;if(!((q|H)<<16>>16)){p=(b[ha+160>>1]|0)-(b[ha+152>>1]|0)|0;aa=J-v|0;p=((((aa|0)<0?0-aa|0:aa)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[vb>>2]=p;K=b[ha+44>>1]|0;L=b[ha+166>>1]|0;if(!((K|w)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)<=3?(aa=L-x|0,(((aa|0)<0?0-aa|0:aa)|0)<=3):0)s=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1;else s=1}else s=2;c[ub>>2]=s;M=b[ha+46>>1]|0;N=b[ha+170>>1]|0;do if(!((M|E)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3)u=1;else{aa=N-F|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){u=1;break}u=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}}else u=2;while(0);c[tb>>2]=u;O=b[ha+52>>1]|0;R=b[ha+182>>1]|0;do if(!((O|G)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}aa=R-I|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}D=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;P=b[ha+54>>1]|0;Q=b[ha+186>>1]|0;do if(!((P|H)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}aa=Q-J|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}C=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else C=2;while(0);c[rb>>2]=C;S=b[ha+48>>1]|0;T=b[ha+174>>1]|0;if(!((S|K)<<16>>16)){B=(b[ha+172>>1]|0)-(b[ha+164>>1]|0)|0;aa=T-L|0;B=((((aa|0)<0?0-aa|0:aa)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;U=b[ha+50>>1]|0;V=b[ha+178>>1]|0;if(!((U|M)<<16>>16)){A=(b[ha+176>>1]|0)-(b[ha+168>>1]|0)|0;aa=V-N|0;A=((((aa|0)<0?0-aa|0:aa)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;W=b[ha+56>>1]|0;Z=b[ha+190>>1]|0;if(!((W|O)<<16>>16)){z=(b[ha+188>>1]|0)-(b[ha+180>>1]|0)|0;aa=Z-R|0;z=((((aa|0)<0?0-aa|0:aa)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;X=b[ha+58>>1]|0;Y=b[ha+194>>1]|0;if(!((X|P)<<16>>16)){y=(b[ha+192>>1]|0)-(b[ha+184>>1]|0)|0;aa=Y-Q|0;y=((((aa|0)<0?0-aa|0:aa)|0)>3|(((y|0)<0?0-y|0:y)|0)>3)&1}else y=2;c[nb>>2]=y;if(!((m|h)<<16>>16)){aa=(b[ha+136>>1]|0)-(b[ha+132>>1]|0)|0;$=n-k|0;aa=(((($|0)<0?0-$|0:$)|0)>3|(((aa|0)<0?0-aa|0:aa)|0)>3)&1}else aa=2;c[ab>>2]=aa;do if(!((o|m)<<16>>16)){$=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=t-n|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else $=2;while(0);c[$a>>2]=$;if(!((q|o)<<16>>16)){_=(b[ha+152>>1]|0)-(b[ha+148>>1]|0)|0;v=v-t|0;_=((((v|0)<0?0-v|0:v)|0)>3|(((_|0)<0?0-_|0:_)|0)>3)&1}else _=2;c[_a>>2]=_;if(!((E|w)<<16>>16)){w=(b[ha+144>>1]|0)-(b[ha+140>>1]|0)|0;x=F-x|0;w=((((x|0)<0?0-x|0:x)|0)>3|(((w|0)<0?0-w|0:w)|0)>3)&1}else w=2;c[Za>>2]=w;do if(!((G|E)<<16>>16)){E=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((E|0)<0?0-E|0:E)|0)>3){q=1;break}F=I-F|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;if(!((H|G)<<16>>16)){v=(b[ha+160>>1]|0)-(b[ha+156>>1]|0)|0;J=J-I|0;v=((((J|0)<0?0-J|0:J)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Xa>>2]=v;if(!((M|K)<<16>>16)){t=(b[ha+168>>1]|0)-(b[ha+164>>1]|0)|0;L=N-L|0;t=((((L|0)<0?0-L|0:L)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Wa>>2]=t;do if(!((O|M)<<16>>16)){M=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((M|0)<0?0-M|0:M)|0)>3){m=1;break}N=R-N|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;if(!((P|O)<<16>>16)){o=(b[ha+184>>1]|0)-(b[ha+180>>1]|0)|0;R=Q-R|0;o=((((R|0)<0?0-R|0:R)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Ua>>2]=o;if(!((U|S)<<16>>16)){n=(b[ha+176>>1]|0)-(b[ha+172>>1]|0)|0;T=V-T|0;n=((((T|0)<0?0-T|0:T)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ta>>2]=n;do if(!((W|U)<<16>>16)){U=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((U|0)<0?0-U|0:U)|0)>3){k=1;break}V=Z-V|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}k=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else k=2;while(0);c[Sa>>2]=k;if(!((X|W)<<16>>16)){h=(b[ha+192>>1]|0)-(b[ha+188>>1]|0)|0;Z=Y-Z|0;h=((((Z|0)<0?0-Z|0:Z)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Ra>>2]=h;J=w;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|J|_|$|aa|y|z|A|B|C|D|u|s|p|l|j|f|0)==0:0)break}A=ha+20|0;h=c[A>>2]|0;C=ha+12|0;i=c[C>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;D=ha+16|0;j=c[D>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[50727+k>>0]|0;c[Fa>>2]=l;m=d[50779+((m|0)>0?m:0)>>0]|0;c[Ja>>2]=m;k=50831+(k*3|0)|0;c[kb>>2]=k;do if(!da){f=c[(c[ea>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[mb>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ha>>2]=d[50727+aa>>0];c[La>>2]=d[50779+(($|0)>0?$:0)>>0];c[mb>>2]=50831+(aa*3|0);break}}while(0);do if(!ca){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ga>>2]=l;c[Ka>>2]=m;c[Da>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ga>>2]=d[50727+aa>>0];c[Ka>>2]=d[50779+(($|0)>0?$:0)>>0];c[lb>>2]=50831+(aa*3|0);break}}while(0);B=r(sa,Ca)|0;x=3;k=0;y=(c[e>>2]|0)+(B<<8)+(ga<<4)|0;z=Ia;while(1){if(g|0)Ff(y,g,Da,eb);g=c[z+12>>2]|0;if(g|0)Ff(y+4|0,g,Ea,eb);i=z+16|0;g=c[z+20>>2]|0;if(g|0)Ff(y+8|0,g,Ea,eb);j=z+24|0;g=c[z+28>>2]|0;if(g|0)Ff(y+12|0,g,Ea,eb);f=c[z>>2]|0;h=z+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[mb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=mb+(k*12|0)+4|0;l=mb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=y;q=16;while(1){h=p+bb|0;k=p+jb|0;i=p+eb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;aa=n-o|0;do if(((aa|0)<0?0-aa|0:aa)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;aa=m-n|0;f=c[l>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;j=g&255;aa=j-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;g=d[p+ib>>0]|0;aa=g-n|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+db>>0]|0;aa=h-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){aa=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((aa|0)<(t|0)?t:(aa|0)>(v|0)?v:aa)+j;g=g+1|0}$=4-j+(o-n<<2)+m>>3;aa=0-g|0;$=($|0)<(aa|0)?aa:($|0)>(g|0)?g:$;aa=a[49137+(o-$)>>0]|0;a[k>>0]=a[49137+($+n)>>0]|0;a[p>>0]=aa}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}w=mb+(k*12|0)+4|0;p=mb+(k*12|0)+8|0;u=y;v=16;while(1){j=u+bb|0;k=u+jb|0;o=u+eb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[w>>2]|0;c:do if(h>>>0<f>>>0){t=d[j>>0]|0;aa=t-q|0;i=c[p>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;n=g&255;aa=n-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;g=u+ib|0;m=u+db|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;aa=f-q|0;if(((aa|0)<0?0-aa|0:aa)>>>0<i>>>0){aa=s+q+t|0;a[k>>0]=(n+4+(aa<<1)+f|0)>>>3;a[j>>0]=(aa+2+f|0)>>>2;h=f*3|0;i=3;j=aa+4|0;f=d[u+gb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;aa=g-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=(c[p>>2]|0)>>>0)break;aa=n+q+s|0;a[u>>0]=((aa<<1)+4+t+g|0)>>>3;a[o>>0]=(aa+2+g|0)>>>2;a[m>>0]=(aa+4+(g*3|0)+(d[u+hb>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ba=276;while(0);do if((ba|0)==276){ba=0;if(f){Gf(y,f,mb+(k*12|0)|0,eb);g=c[h>>2]|0}if(g|0)Gf(y+4|0,g,mb+(k*12|0)|0,eb);g=c[i>>2]|0;if(g|0)Gf(y+8|0,g,mb+(k*12|0)|0,eb);g=c[j>>2]|0;if(!g)break;Gf(y+12|0,g,mb+(k*12|0)|0,eb)}while(0);if(!x)break;g=c[z+36>>2]|0;x=x+-1|0;k=2;y=y+cb|0;z=z+32|0}n=c[ha+24>>2]|0;l=c[A>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1520+(((m|0)>0?m:0)<<2)>>2]|0;k=c[C>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[D>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[50727+h>>0]|0;c[Fa>>2]=i;j=d[50779+((j|0)>0?j:0)>>0]|0;c[Ja>>2]=j;h=50831+(h*3|0)|0;c[kb>>2]=h;do if(!da){g=c[(c[ea>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[mb>>2]=h;break}else{da=g+n|0;da=(da|0)<51?da:51;da=(m+1+(c[1520+(((da|0)>0?da:0)<<2)>>2]|0)|0)>>>1;ea=da+k|0;ea=(ea|0)<51?ea:51;ea=(ea|0)>0?ea:0;da=da+f|0;da=(da|0)<51?da:51;c[Ha>>2]=d[50727+ea>>0];c[La>>2]=d[50779+((da|0)>0?da:0)>>0];c[mb>>2]=50831+(ea*3|0);break}}while(0);do if(!ca){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ga>>2]=i;c[Ka>>2]=j;c[Da>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1520+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ga>>2]=d[50727+fa>>0];c[Ka>>2]=d[50779+((ea|0)>0?ea:0)>>0];c[lb>>2]=50831+(fa*3|0);break}}while(0);i=(c[e>>2]|0)+fb+(B<<6)+(ga<<3)|0;k=i+ta|0;g=c[ka>>2]|0;if(g|0){Hf(i,g,Da,ua);Hf(k,c[ka>>2]|0,Da,ua)}g=c[qa>>2]|0;if(g|0){Hf(i+eb|0,g,Da,ua);Hf(k+eb|0,c[qa>>2]|0,Da,ua)}g=c[ma>>2]|0;if(g|0){Hf(i+4|0,g,Ea,ua);Hf(k+4|0,c[ma>>2]|0,Ea,ua)}g=c[oa>>2]|0;if(g|0){Hf(i+eb+4|0,g,Ea,ua);Hf(k+eb+4|0,c[oa>>2]|0,Ea,ua)}f=c[Ia>>2]|0;g=c[ya>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ia>>2]|0):0)&(f|0)==(c[Aa>>2]|0)){if(!h){If(i,f,mb,ua);If(k,c[Ia>>2]|0,mb,ua)}}else{if(!h){Jf(i,f,mb,ua);Jf(k,c[Ia>>2]|0,mb,ua);g=c[ya>>2]|0}if(g|0){Jf(i+2|0,g,mb,ua);Jf(k+2|0,c[ya>>2]|0,mb,ua)}g=c[ia>>2]|0;if(g|0){Jf(i+4|0,g,mb,ua);Jf(k+4|0,c[ia>>2]|0,mb,ua)}g=c[wa>>2]|0;if(!g)break;Jf(i+6|0,g,mb,ua);Jf(k+6|0,c[wa>>2]|0,mb,ua)}while(0);j=i+db|0;i=k+db|0;g=c[la>>2]|0;if(g|0){Hf(j,g,Da,ua);Hf(i,c[la>>2]|0,Da,ua)}g=c[ra>>2]|0;if(g|0){Hf(j+eb|0,g,Da,ua);Hf(i+eb|0,c[ra>>2]|0,Da,ua)}g=c[na>>2]|0;if(g|0){Hf(j+4|0,g,Ea,ua);Hf(i+4|0,c[na>>2]|0,Ea,ua)}g=c[pa>>2]|0;if(g|0){Hf(j+eb+4|0,g,Ea,ua);Hf(i+eb+4|0,c[pa>>2]|0,Ea,ua)}f=c[va>>2]|0;g=c[za>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(h)break;If(j,f,Ea,ua);If(i,c[va>>2]|0,Ea,ua);break}if(!h){Jf(j,f,Ea,ua);Jf(i,c[va>>2]|0,Ea,ua);g=c[za>>2]|0}if(g|0){Jf(j+2|0,g,Ea,ua);Jf(i+2|0,c[za>>2]|0,Ea,ua)}g=c[ja>>2]|0;if(g|0){Jf(j+4|0,g,Ea,ua);Jf(i+4|0,c[ja>>2]|0,Ea,ua)}g=c[xa>>2]|0;if(!g)break;Jf(j+6|0,g,Ea,ua);Jf(i+6|0,c[xa>>2]|0,Ea,ua)}while(0);f=ga+1|0;g=(f|0)==(Ca|0);sa=sa+(g&1)|0;if(sa>>>0>=(c[Ma>>2]|0)>>>0)break;else{ga=g?0:f;ha=ha+216|0}}Ob=Cb;return}function Ff(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0<t>>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0<h>>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[49137+(m-x)>>0]|0;a[k>>0]=a[49137+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0<f>>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0<w>>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0<x>>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0<f>>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[49137+(l-i)>>0]|0;a[j>>0]=a[49137+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[49137+(n-m)>>0]|0;a[j>>0]=a[49137+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[49137+(n-f)>>0]|0;a[l>>0]=a[49137+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function If(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[49137+(i-I)>>0]|0;a[f>>0]=a[49137+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function Jf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0<e>>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[49137+(j-t)>>0]|0;a[h>>0]=a[49137+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[49137+(k-g)>>0]|0;a[i>>0]=a[49137+(g+j)>>0]|0;a[l>>0]=t;return}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=re(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;Lf(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0<p>>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){Lf(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;Lf(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;Lf(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;Lf(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){Lf(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)Vd(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)oe(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function Lf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=Ob;Ob=Ob+480|0;fa=ha+96|0;ga=ha+32|0;k=ha+24|0;l=ha;da=c[e+4>>2]|0;v=c[e+8>>2]|0;Sd(e,(r(da,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,da)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{Vd(fa,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=da;c[l+8>>2]=v;c[l>>2]=i;if(!i){Vd(fa,0,384);break a}se(fa,k,l,j,f<<4,0,0,16,16);ne(e,fa);Ob=ha;return}}while(0);Vd(ga,0,64);if((f|0)!=0?(c[b+((0-da|0)*216|0)+196>>2]|0)!=0:0){ca=m+(0-(da<<4))|0;x=ca+1|0;y=x+1|0;w=y+1|0;t=w+1|0;w=(d[x>>0]|0)+(d[ca>>0]|0)+(d[y>>0]|0)+(d[w>>0]|0)|0;y=t+1|0;ca=y+1|0;x=ca+1|0;z=x+1|0;x=(d[y>>0]|0)+(d[t>>0]|0)+(d[ca>>0]|0)+(d[x>>0]|0)|0;ca=z+1|0;t=ca+1|0;y=t+1|0;ea=y+1|0;y=(d[ca>>0]|0)+(d[z>>0]|0)+(d[t>>0]|0)+(d[y>>0]|0)|0;t=ea+1|0;z=t+1|0;z=(d[t>>0]|0)+(d[ea>>0]|0)+(d[z>>0]|0)+(d[z+1>>0]|0)|0;ea=x+w|0;c[ga>>2]=y+ea+(c[ga>>2]|0)+z;t=ga+4|0;c[t>>2]=ea-y-z+(c[t>>2]|0);t=1}else{w=0;x=0;y=0;z=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(da*216|0)+196>>2]|0)!=0:0){ea=m+(da<<8)|0;B=ea+1|0;C=B+1|0;A=C+1|0;u=A+1|0;A=(d[B>>0]|0)+(d[ea>>0]|0)+(d[C>>0]|0)+(d[A>>0]|0)|0;C=u+1|0;ea=C+1|0;B=ea+1|0;D=B+1|0;B=(d[C>>0]|0)+(d[u>>0]|0)+(d[ea>>0]|0)+(d[B>>0]|0)|0;ea=D+1|0;u=ea+1|0;C=u+1|0;q=C+1|0;C=(d[ea>>0]|0)+(d[D>>0]|0)+(d[u>>0]|0)+(d[C>>0]|0)|0;u=q+1|0;D=u+1|0;D=(d[u>>0]|0)+(d[q>>0]|0)+(d[D>>0]|0)+(d[D+1>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;u=ga+4|0;c[u>>2]=q-C-D+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;A=0;B=0;C=0;D=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){ca=m+-1|0;ea=da<<4;k=da<<5;$=da*48|0;E=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=da<<6;ca=ca+s|0;Z=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;ca=ca+s|0;_=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=ca+s|0;$=(d[s+ea>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+$>>0]|0)|0;s=Z+E|0;c[ga>>2]=_+s+(c[ga>>2]|0)+$;k=ga+16|0;c[k>>2]=s-_-$+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;E=0;Z=0;_=0;$=0;s=0}do if((da+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=da<<4;l=da<<5;p=da*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=da<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ga>>2]=o+l+(c[ga>>2]|0)+p;i=ga+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ga+4|0;i=h;p=21;break}}else c[ga+4>>2]=_+$+Z+E-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ga+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ga+16>>2]=y+z+x+w-D-C-B-A>>5;k=n;ea=j;m=1;ca=1;break}i=ga+16|0;if(k){k=n;ea=j;ca=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;ea=j;ca=l}switch(k|0){case 1:{i=c[ga>>2]>>4;break}case 2:{i=c[ga>>2]>>5;break}case 3:{i=(c[ga>>2]|0)*21>>10;break}default:i=c[ga>>2]>>6}c[ga>>2]=i;aa=ga+4|0;j=c[aa>>2]|0;ba=ga+16|0;k=c[ba>>2]|0;if(!(k|j)){c[ga+60>>2]=i;c[ga+56>>2]=i;c[ga+52>>2]=i;c[ga+48>>2]=i;c[ga+44>>2]=i;c[ga+40>>2]=i;c[ga+36>>2]=i;c[ga+32>>2]=i;c[ga+28>>2]=i;c[ga+24>>2]=i;c[ga+20>>2]=i;c[ba>>2]=i;c[ga+12>>2]=i;c[ga+8>>2]=i;c[aa>>2]=i}else{U=i+j|0;W=j>>1;V=i+W|0;W=i-W|0;Y=i-j|0;c[ga>>2]=U+k;X=k>>1;c[ba>>2]=U+X;c[ga+32>>2]=U-X;c[ga+48>>2]=U-k;c[aa>>2]=V+k;c[ga+20>>2]=V+X;c[ga+36>>2]=V-X;c[ga+52>>2]=V-k;c[ga+8>>2]=W+k;c[ga+24>>2]=W+X;c[ga+40>>2]=W-X;c[ga+56>>2]=W-k;c[ga+12>>2]=Y+k;c[ga+28>>2]=Y+X;c[ga+44>>2]=Y-X;c[ga+60>>2]=Y-k}j=0;i=fa;l=ga;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,da)|0;V=da<<3;U=0-V|0;W=da<<6;X=da<<4;O=ga+60|0;P=ga+56|0;Q=ga+52|0;R=ga+48|0;S=ga+44|0;T=ga+40|0;H=ga+36|0;I=ga+32|0;J=ga+28|0;K=ga+24|0;L=ga+20|0;M=ga+12|0;N=ga+8|0;G=fa+256|0;Y=v<<6;u=w;t=x;s=y;j=z;q=A;p=B;n=C;l=D;F=0;o=E;h=Z;i=_;k=$;E=(c[e>>2]|0)+(v<<8)+(r(f<<6,da)|0)+(g<<3)|0;while(1){Vd(ga,0,64);if(m){u=E+U|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;z=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;z=(d[z+1>>0]|0)+(d[z>>0]|0)|0;j=t+u|0;c[ga>>2]=s+j+(c[ga>>2]|0)+z;c[aa>>2]=j-s-z+(c[aa>>2]|0);j=1}else{z=j;j=0}if(ca){A=E+W|0;q=A+1|0;B=q+1|0;A=(d[q>>0]|0)+(d[A>>0]|0)|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;D=(d[D+1>>0]|0)+(d[D>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;c[aa>>2]=q-C-D+(c[aa>>2]|0);q=j+1|0}else{A=q;B=p;C=n;D=l;q=j}if(ea){y=E+-1|0;v=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;w=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;x=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;y=(d[y+V>>0]|0)+(d[y>>0]|0)|0;j=w+v|0;c[ga>>2]=x+j+(c[ga>>2]|0)+y;c[ba>>2]=j-x-y+(c[ba>>2]|0);j=q+1|0;i=1}else{j=q;v=o;w=h;x=i;y=k;i=0}do if(b){p=E+8|0;h=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;n=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;o=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;p=(d[p+V>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ga>>2]=o+k+(c[ga>>2]|0)+p;k=k-o-p+(c[ba>>2]|0)|0;c[ba>>2]=k;l=(q|0)==0;if(!(ea&l))if(l){p=55;break}else{p=50;break}else{c[aa>>2]=x+y+w+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[aa>>2]=c[aa>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(ca&(m&k)){k=s+z+t+u-D-C-B-A>>4;p=56;break}if(!k){k=c[ba>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ba>>2]=k;switch(j|0){case 1:{i=c[ga>>2]>>3;break}case 2:{i=c[ga>>2]>>4;break}case 3:{i=(c[ga>>2]|0)*21>>9;break}default:i=c[ga>>2]>>5}c[ga>>2]=i;j=c[aa>>2]|0;k=c[ba>>2]|0;if(!(k|j)){c[O>>2]=i;c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[H>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[ba>>2]=i;c[M>>2]=i;c[N>>2]=i;c[aa>>2]=i}else{_=i+j|0;da=j>>1;$=i+da|0;da=i-da|0;f=i-j|0;c[ga>>2]=_+k;g=k>>1;c[ba>>2]=_+g;c[I>>2]=_-g;c[R>>2]=_-k;c[aa>>2]=$+k;c[L>>2]=$+g;c[H>>2]=$-g;c[Q>>2]=$-k;c[N>>2]=da+k;c[K>>2]=da+g;c[T>>2]=da-g;c[P>>2]=da-k;c[M>>2]=f+k;c[J>>2]=f+g;c[S>>2]=f-g;c[O>>2]=f-k}j=0;i=G+(F<<6)|0;l=ga;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}F=F+1|0;if((F|0)==2)break;else{j=z;q=A;p=B;n=C;l=D;o=v;h=w;i=x;k=y;E=E+Y|0}}ne(e,fa);Ob=ha;return}function Mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function Nf(a,b){a=a|0;b=b|0;var d=0;ef(a);d=Yd(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function Of(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ob;Ob=Ob+208|0;k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(Td(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;Ob=s;return a|0}while(0);c[o>>2]=0;if(cf(r,q)|0){a=3;Ob=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;Ob=s;return a|0}b=rf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;Ob=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=yf(r)|0;Af(r);Kf(a,b,0)|0}else{b=a+1336|0;Kf(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(Ud(r,j)|0)){ff(a,j)|0;a=0;Ob=s;return a|0}else{a=j+40|0;gf(c[a>>2]|0);c[a>>2]=0;a=j+84|0;gf(c[a>>2]|0);c[a>>2]=0;a=3;Ob=s;return a|0}case 8:if(!(be(r,i)|0)){hf(a,i)|0;a=0;Ob=s;return a|0}else{a=i+20|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+24|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+28|0;gf(c[a>>2]|0);c[a>>2]=0;a=i+44|0;gf(c[a>>2]|0);c[a>>2]=0;a=3;Ob=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;Ob=s;return a|0}c[a+1184>>2]=1;if(nf(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;de(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=jf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;Ob=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=je(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Df(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;Ob=s;return a|0}}if(c[a+3380>>2]|0){a=3;Ob=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(ce(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;Ob=s;return a|0}if(!(nf(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Bf(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;Ob=s;return a|0}c[a+1336>>2]=yf(b)|0}Wi(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;pf(a,c[a+1432>>2]|0);Af(b);if(tf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;Ob=s;return a|0}b=a+1336|0;if(ke(r,a,b,j)|0){af(a,c[j>>2]|0);a=3;Ob=s;return a|0}if(!(of(a)|0)){a=0;Ob=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;Ob=s;return a|0}}while(0);Ef(h,c[a+1212>>2]|0);mf(a);g=Mf(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){uf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{uf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;Ob=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}Ob=s;return b|0}while(0);a=3;Ob=s;return a|0}function Pf(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){gf(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;gf(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;gf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){gf(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;gf(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;gf(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;gf(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;gf(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;gf(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;gf(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;gf(c[e>>2]|0);c[e>>2]=0;zf(a+1220|0);return}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Cf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function Rf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function Sf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function Tf(a){a=a|0;Df(a+1220|0);return}function Uf(a){a=a|0;return (sf(a)|0)==0|0}function Vf(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function Wf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function Xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function Zf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=oh(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(Nf(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{Pf(e);ph(d);e=-4;return e|0}return 0}function $f(a){a=a|0;if(!a)return;Pf(a+8|0);ph(a);return}function ag(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(Rf(d)|0)<<4;c[b+8>>2]=(Sf(d)|0)<<4;c[b+12>>2]=Vf(d)|0;c[b+16>>2]=Wf(d)|0;Xf(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);Yf(d,b+20|0,b+24|0);c[b>>2]=Zf(d)|0;d=0;return d|0}function bg(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=Ob;Ob=Ob+16|0;j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=Of(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(Uf(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);Ob=l;return b|0}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+16|0;f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;Ob=h;return g|0}a=a+8|0;if(d|0)Tf(a);a=Qf(a,g,e,f)|0;if(!a){g=0;Ob=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;Ob=h;return g|0}function dg(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function eg(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function fg(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function gg(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function hg(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function ig(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[46962+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[46962+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[46962+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[46962+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[46962+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function jg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;dg(a+28|0,0);dg(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=54048;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Cg(a);return}function lg(a){a=a|0;Bg(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mg(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=4;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=5}_b[f&7](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function ng(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;ph(a);c[b>>2]=0;return}function og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;qg(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=5200+(v<<2)|0;B=5200+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=5200;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=7248+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return} |
| | | function qe(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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=Ob;Ob=Ob+32|0;R=S;m=c[i+4>>2]|0;Q=(h>>>0)/(m>>>0)|0;P=Q<<4;Q=h-(r(Q,m)|0)<<4;c[R+4>>2]=m;c[R+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{y=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;w=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;w=0;k=0;s=-1}else{p=0;w=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|w&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)O=14;else{m=0;l=0}else O=14;if((O|0)==14){v=b[f+160>>1]|0;x=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23}else{n=-1;o=0;O=23}else O=18;do if((O|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;O=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;O=23}else l=w}while(0);do if((O|0)==23){m=(s|0)==(y|0);l=(q|0)==(y|0);if(((l&1)+(m&1)+((n|0)==(y|0)&1)|0)!=1){M=w<<16>>16;K=t<<16>>16;l=o<<16>>16;J=t<<16>>16>w<<16>>16;L=J?t:w;M=J?M:(K|0)<(M|0)?K:M;K=k<<16>>16;J=u<<16>>16;O=o>>16;I=u<<16>>16>k<<16>>16;N=I?u:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m|l){l=m?w:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(x&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}else{m=l&65535;l=k&65535}}k=re(g,y)|0;if(!k){R=1;Ob=S;return R|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=y;c[a+104>>2]=y;c[a+108>>2]=y;c[a+112>>2]=y;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[R>>2]=k;se(j,a+132|0,R,Q,P,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;o=c[y>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(z|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else O=44;do if((O|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(z|0);if((((n|0)==(z|0)&1)+(m&1)|0)!=1){K=l<<16>>16;J=s<<16>>16;M=o<<16>>16;O=s<<16>>16>l<<16>>16;L=O?s:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=t<<16>>16;O=o>>16;I=t<<16>>16>k<<16>>16;N=I?t:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}l=re(g,z)|0;if(!l){R=1;Ob=S;return R|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=z;c[a+104>>2]=z;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;w=b[f+166>>1]|0;x=c[f+148>>2]|0;l=c[y>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(x|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(z|0)==(x|0);if((((k|0)==(x|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{M=q<<16>>16;O=u<<16>>16;l=n<<16>>16;K=q<<16>>16<o<<16>>16;L=K?o:q;M=K?M:(O|0)<(M|0)?O:M;O=s<<16>>16;K=u>>16;k=n>>16;J=s<<16>>16<p<<16>>16;N=J?p:s;O=J?O:(K|0)<(O|0)?K:O;l=L<<16>>16<(n&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(n>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(w&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}k=re(g,x)|0;if(!k){R=1;Ob=S;return R|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+176>>2]=O;c[a+172>>2]=O;c[a+168>>2]=O;c[g>>2]=O;c[a+108>>2]=x;c[a+112>>2]=x;O=a+124|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];se(j,a+132|0,R,Q,P,0,0,16,8);c[R>>2]=c[O>>2];se(j,g,R,Q,P,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;y=c[f+144>>2]|0;x=a+4|0;n=c[x>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(y|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else O=82;do if((O|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(y|0);if(((m&1)+((n|0)==(y|0)&1)|0)!=1){K=l<<16>>16;J=q<<16>>16;M=p<<16>>16;O=q<<16>>16>l<<16>>16;L=O?q:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=s<<16>>16;O=p>>16;I=s<<16>>16>k<<16>>16;N=I?s:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(p&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(p>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}l=re(g,y)|0;if(!l){R=1;Ob=S;return R|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=y;c[a+108>>2]=y;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;w=c[f+148>>2]|0;m=c[x>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(w|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(y|0)==(w|0);l=(l|0)==(w|0);if(((l&1)+(m&1)|0)!=1){M=t<<16>>16;O=n<<16>>16;l=s<<16>>16;K=n<<16>>16>p<<16>>16;L=K?n:p;M=K?M:(M|0)>(O|0)?O:M;O=t>>16;K=o<<16>>16;k=s>>16;J=o<<16>>16>q<<16>>16;N=J?o:q;O=J?O:(O|0)>(K|0)?K:O;l=L<<16>>16<(s&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(s>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Ob=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Ob=S;return R|0}k=re(g,w)|0;if(!k){R=1;Ob=S;return R|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+160>>2]=O;c[a+156>>2]=O;c[a+152>>2]=O;c[g>>2]=O;c[a+104>>2]=w;c[a+112>>2]=w;O=a+120|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];se(j,a+132|0,R,Q,P,0,0,8,16);c[R>>2]=c[O>>2];se(j,g,R,Q,P,8,0,8,16);break a}}default:{N=a+4|0;C=0;d:while(1){z=f+176+(C<<2)|0;B=te(c[z>>2]|0)|0;A=f+192+(C<<2)|0;c[a+100+(C<<2)>>2]=c[A>>2];O=re(g,c[A>>2]|0)|0;c[a+116+(C<<2)>>2]=O;if(!O){k=1;O=165;break}e:do if(B|0){E=C<<2;F=a+132+(E<<2)|0;J=a+132+(E<<2)+2|0;M=E|1;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;K=E|2;G=a+132+(K<<2)|0;K=a+132+(K<<2)+2|0;L=E|3;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;D=0;while(1){w=b[f+208+(C<<4)+(D<<2)>>1]|0;x=b[f+208+(C<<4)+(D<<2)+2>>1]|0;y=ue(c[z>>2]|0)|0;v=c[A>>2]|0;k=ve(a,c[2056+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;l=d[2056+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[N>>2]|0):0)if((c[k>>2]|0)>>>0<6){O=k+132+(l<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=O&65535;k=O>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=ve(a,c[2568+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[2568+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=ve(a,c[3080+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3080+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140}else{n=-1;p=0;O=140}else O=135;do if((O|0)==135){O=0;m=ve(a,c[3592+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3592+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[N>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;O=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;O=140}}while(0);do if((O|0)==140){O=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);w=(l&65535)+(w&65535)|0;m=w&65535;k=(k&65535)+(x&65535)|0;l=k&65535;if(((w<<16>>16)+8192|0)>>>0>16383){k=1;O=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;O=165;break d}switch(y|0){case 0:{b[F>>1]=m;b[J>>1]=l;b[I>>1]=m;b[M>>1]=l;b[G>>1]=m;b[K>>1]=l;b[H>>1]=m;k=L;O=151;break}case 1:{k=(D<<1)+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 2:{k=D+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 3:{k=D+E|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}default:{}}if((O|0)==151)b[k>>1]=l;D=D+1|0;if(D>>>0>=B>>>0)break e}}while(0);C=C+1|0;if(C>>>0>=4){O=154;break}}if((O|0)==154){m=0;while(1){c[R>>2]=c[a+116+(m<<2)>>2];g=ue(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{se(j,a+132+(m<<2<<2)|0,R,Q,P,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;se(j,g,R,Q,P,k,l,8,4);se(j,g+8|0,R,Q,P,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;se(j,g,R,Q,P,k,l,4,8);se(j,g+4|0,R,Q,P,k|4,l,4,8);break}default:{N=a+132+(m<<2<<2)|0;se(j,N,R,Q,P,k,l,4,4);O=k|4;se(j,N+4|0,R,Q,P,O,l,4,4);g=l|4;se(j,N+8|0,R,Q,P,k,g,4,4);se(j,N+12|0,R,Q,P,O,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((O|0)==165){Ob=S;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){R=0;Ob=S;return R|0}if(!(c[a>>2]|0)){ne(i,j);R=0;Ob=S;return R|0}else{we(i,h,j,f+328|0);R=0;Ob=S;return R|0}return 0}function re(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function se(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4104+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{xe(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{ye(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{ze(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{ye(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{Ae(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Ce(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{De(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{Ee(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Fe(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{Ee(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{Ae(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Ce(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){Ge(f,q,h,o,i,p,e,a,n,m);return}if(g){He(f,q,h,o,i,p,e,n,m);return}if(l){Ie(f,q,h,o,i,p,a,n,m);return}else{xe(f,q,h,o,i,p,n,m,8);xe(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function te(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function ue(a){a=a|0;return a|0}function ve(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function we(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1728+(j<<2)>>2]|0;b=c[1792+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[49137+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[49137+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[49137+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[49137+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[49137+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[49137+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[49137+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[49137+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[49137+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[49137+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[49137+(u+b)>>0]|0;a[t+3>>0]=a[49137+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1728+(b<<2)>>2]|0;b=c[1792+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[49137+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[49137+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[49137+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[49137+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49137+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[49137+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[49137+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[49137+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[49137+(q+s)>>0]|0;a[v+3>>0]=a[49137+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function xe(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){$b[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){$b[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){$b[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function ye(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=Ob;Ob=Ob+448|0;l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{xe(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Ob=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){Ob=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;x=d[k+s>>0]|0;y=d[k+g>>0]|0;A=d[k>>0]|0;z=y+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[49137+((d[k+q>>0]|0)+16-z-(z<<2)+v+((A+x|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;z=v+A|0;w=d[l+g>>0]|0;a[h+32>>0]=((d[49137+(y+16+((x+u|0)*20|0)-z-(z<<2)+w>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;z=w+x|0;y=d[l>>0]|0;a[h+16>>0]=((d[49137+(A+16+((v+u|0)*20|0)-z-(z<<2)+y>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=y+u|0;a[h>>0]=((d[49137+(x+16+((w+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}Ob=t;return}function ze(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=Ob;Ob=Ob+448|0;k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{xe(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Ob=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){Ob=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;w=d[j+g>>0]|0;y=d[j>>0]|0;x=w+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[49137+((d[j+o>>0]|0)+16-x-(x<<2)+t+((y+v|0)*20|0)>>5)>>0]|0;x=t+y|0;u=d[k+g>>0]|0;a[h+32>>0]=a[49137+(w+16+((v+s|0)*20|0)-x-(x<<2)+u>>5)>>0]|0;x=u+v|0;w=d[k>>0]|0;a[h+16>>0]=a[49137+(y+16+((t+s|0)*20|0)-x-(x<<2)+w>>5)>>0]|0;s=w+s|0;a[h>>0]=a[49137+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}Ob=q;return}function Ae(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=Ob;Ob=Ob+448|0;l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{xe(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){Ob=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;w=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[49137+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[49137+(w+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;w=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[49137+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[49137+(w+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){w=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[49137+(l+16-w+((g+e|0)*20|0)-(w<<2)+m>>5)>>0]|0)|0)>>>1;w=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[49137+(v+16+((e+f|0)*20|0)-w-(w<<2)+g>>5)>>0]|0)|0)>>>1;w=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[49137+(l+16+((f+m|0)*20|0)-w-(w<<2)+e>>5)>>0]|0)|0)>>>1;w=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[49137+(v+16+((g+m|0)*20|0)-w-(w<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}Ob=u;return}function Be(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=Ob;Ob=Ob+448|0;l=y;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{xe(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}x=l+((r(f,m)|0)+e)|0;f=x+(r(m,k>>>1&1|2)|0)+5|0;x=x+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;w=16-i|0;if(!u){f=c+((r(j+-1|0,w)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){z=o+g|0;A=o;o=d[l>>0]|0;a[h>>0]=a[49137+(f+16-z+((n+k|0)*20|0)-(z<<2)+o>>5)>>0]|0;z=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[49137+(A+16+((k+g|0)*20|0)-z-(z<<2)+n>>5)>>0]|0;z=k+n|0;A=k;k=d[l+2>>0]|0;a[h+2>>0]=a[49137+(f+16+((g+o|0)*20|0)-z-(z<<2)+k>>5)>>0]|0;z=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[49137+(A+16+((n+o|0)*20|0)-z-(z<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{A=g;h=h+4|0;l=l+4|0;g=f;f=A}}p=p+-1|0;if(!p)break;else{t=t+s+w|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){Ob=y;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){Ob=y;return}k=f+(0-(j<<4))|0;n=x;g=x+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){A=d[l+o>>0]|0;c=d[l+s>>0]|0;w=d[l+m>>0]|0;u=d[l>>0]|0;j=w+A|0;z=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[49137+((d[l+p>>0]|0)+16-j-(j<<2)+z+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=z+u|0;j=d[h+m>>0]|0;x=f+32|0;a[x>>0]=((d[49137+(w+16+((c+A|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;x=d[h>>0]|0;v=j+c|0;w=f+16|0;a[w>>0]=((d[49137+(u+16+((z+A|0)*20|0)-v-(v<<2)+x>>5)>>0]|0)+1+(d[w>>0]|0)|0)>>>1;A=x+A|0;a[f>>0]=((d[49137+(c+16+((j+z|0)*20|0)-A-(A<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}Ob=y;return}function Ce(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;A=Ob;Ob=Ob+1792|0;m=A+1344|0;z=A;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{xe(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,w=q*3|0,x=0-h|0,s=x<<1,t=h<<1,u=q<<1,y=-5-j|0,q|0):0){i=z+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){B=d[m+s>>0]|0;C=d[m+x>>0]|0;G=d[m+h>>0]|0;H=d[m>>0]|0;F=G+B|0;D=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-F-(F<<2)+D+((H+C|0)*20|0);F=D+H|0;E=d[g+h>>0]|0;c[i+(q<<2)>>2]=((C+B|0)*20|0)+G-F-(F<<2)+E;F=d[g>>0]|0;G=E+C|0;c[i>>2]=((D+B|0)*20|0)+H-G-(G<<2)+F;B=F+B|0;c[i+(y<<2)>>2]=((E+D|0)*20|0)+C-B-(B<<2)+(d[g+x>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(w<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){Ob=A;return}u=j>>>2;w=(u|0)==0;v=16-j|0;t=j&-4;g=z+8+(l<<2)|0;f=z+20|0;while(1){if(!w){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){H=o+b|0;G=o;o=c[m>>2]|0;a[q>>0]=((d[49137+(i+512-H+((n+h|0)*20|0)-(H<<2)+o>>10)>>0]|0)+1+(d[49137+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[49137+(G+512+((h+b|0)*20|0)-H-(H<<2)+n>>10)>>0]|0)+1+(d[49137+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=n+h|0;G=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[49137+(i+512+((o+b|0)*20|0)-H-(H<<2)+h>>10)>>0]|0)+1+(d[49137+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[49137+(G+512+((n+o|0)*20|0)-H-(H<<2)+i>>10)>>0]|0)+1+(d[49137+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{H=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=H}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}Ob=A;return}function De(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=Ob;Ob=Ob+448|0;k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{xe(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){Ob=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){Ob=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[49137+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[49137+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[49137+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[49137+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}Ob=s;return}function Ee(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=Ob;Ob=Ob+1792|0;n=x+1344|0;w=x;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;xe(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=w;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){y=q+o|0;z=q;q=d[n>>0]|0;c[i>>2]=g-y+((p+h|0)*20|0)-(y<<2)+q;y=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+z-y-(y<<2)+p;y=h+p|0;z=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-y-(y<<2)+h;y=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=o;i=i+16|0;n=n+4|0;o=g;g=z}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=w+(j<<2)|0;f=k>>>2;if(!f){Ob=x;return}k=(j|0)==0;v=64-j|0;t=j*3|0;w=0-j|0;u=w<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){z=c[g+(u<<2)>>2]|0;e=c[g+(w<<2)>>2]|0;B=c[g+(j<<2)>>2]|0;C=c[g>>2]|0;A=B+z|0;y=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[49137+((c[g+(s<<2)>>2]|0)+512-A-(A<<2)+y+((C+e|0)*20|0)>>10)>>0]|0)+1+(d[49137+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=y+C|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[49137+(B+512+((e+z|0)*20|0)-A-(A<<2)+l>>10)>>0]|0)+1+(d[49137+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=c[m>>2]|0;B=l+e|0;a[h+16>>0]=((d[49137+(C+512+((y+z|0)*20|0)-B-(B<<2)+A>>10)>>0]|0)+1+(d[49137+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;z=A+z|0;a[h>>0]=((d[49137+(e+512+((l+y|0)*20|0)-z-(z<<2)+(c[m+(w<<2)>>2]|0)>>10)>>0]|0)+1+(d[49137+((c[o+(w<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}Ob=x;return}function Fe(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Ob;Ob=Ob+1792|0;m=w+1344|0;v=w;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;xe(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){x=p+n|0;y=p;p=d[m>>0]|0;c[i>>2]=g-x+((o+h|0)*20|0)-(x<<2)+p;x=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+y-x-(x<<2)+o;x=h+o|0;y=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-x-(x<<2)+h;x=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+y-x-(x<<2)+g;f=f+-1|0;if(!f)break;else{y=n;i=i+16|0;m=m+4|0;n=g;g=y}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){Ob=w;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){Ob=w;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){y=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+y|0;x=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[49137+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+x+((s+v|0)*20|0)>>10)>>0]|0;u=x+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[49137+(t+512+((v+y|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[49137+(s+512+((x+y|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;y=u+y|0;a[g>>0]=a[49137+(v+512+((k+x|0)*20|0)-y-(y<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}Ob=w;return}function Ge(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=Ob;Ob=Ob+176|0;m=D;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{C=l+1|0;xe(b,m,e,f,g,h,n,C,n);xe(b+(r(h,g)|0)|0,m+(r(C,n)|0)|0,e,f,g,h,n,C,n);h=C;e=0;f=0}B=8-i|0;C=8-j|0;l=l>>>1;u=(l|0)==0;x=n<<1;y=k>>>1;v=(y|0)==0;z=16-k|0;A=x-k|0;w=k&-2;if(u|v){Ob=D;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+w|0;o=k;p=b;s=(r(g,j)|0)+(r(C,d[b>>0]|0)|0)|0;b=(r(d[b+x>>0]|0,j)|0)+(r(C,g)|0)|0;g=y;while(1){G=p+1|0;F=d[G+n>>0]|0;E=(r(F,j)|0)+(r(C,d[G>>0]|0)|0)|0;F=(r(d[G+x>>0]|0,j)|0)+(r(C,F)|0)|0;G=((r(s,B)|0)+32+(r(E,i)|0)|0)>>>6;a[o+8>>0]=((r(b,B)|0)+32+(r(F,i)|0)|0)>>>6;a[o>>0]=G;p=p+2|0;G=d[p+n>>0]|0;s=(r(G,j)|0)+(r(C,d[p>>0]|0)|0)|0;b=(r(d[p+x>>0]|0,j)|0)+(r(C,G)|0)|0;E=((r(E,B)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(F,B)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=E;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+w+z|0;b=q+A|0}}if(u|v){Ob=D;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+w|0;b=k;g=h;f=(r(m,j)|0)+(r(C,d[h>>0]|0)|0)|0;h=(r(d[h+x>>0]|0,j)|0)+(r(C,m)|0)|0;m=y;while(1){E=g+1|0;F=d[E+n>>0]|0;G=(r(F,j)|0)+(r(C,d[E>>0]|0)|0)|0;F=(r(d[E+x>>0]|0,j)|0)+(r(C,F)|0)|0;E=((r(f,B)|0)+32+(r(G,i)|0)|0)>>>6;a[b+8>>0]=((r(h,B)|0)+32+(r(F,i)|0)|0)>>>6;a[b>>0]=E;g=g+2|0;E=d[g+n>>0]|0;f=(r(E,j)|0)+(r(C,d[g>>0]|0)|0)|0;h=(r(d[g+x>>0]|0,j)|0)+(r(C,E)|0)|0;G=((r(G,B)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(F,B)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=G;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+w+z|0;h=e+A|0}}Ob=D;return}function He(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=Ob;Ob=Ob+144|0;l=y;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{xe(b,l,e,f,g,h,m,k,m);xe(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}x=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;w=(m<<1)-j|0;t=j&-2;if(q|p){Ob=y;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){z=b+1|0;A=d[b>>0]|0;B=d[z+m>>0]|0;z=d[z>>0]|0;a[j+8>>0]=(((r(B,i)|0)+(r(x,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(z,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(A,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+w|0}}if(q|p){Ob=y;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){B=h+1|0;A=d[h>>0]|0;z=d[B+m>>0]|0;B=d[B>>0]|0;a[b+8>>0]=(((r(z,i)|0)+(r(x,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(B,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(A,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+w|0}}Ob=y;return}function Ie(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Ob;Ob=Ob+144|0;l=z;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{y=k+1|0;xe(b,l,e,f,g,h,j,y,j);xe(b+(r(h,g)|0)|0,l+(r(y,j)|0)|0,e,f,g,h,j,y,j);h=y;g=j;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;w=16-j|0;u=g<<1;x=u-j|0;t=j&-2;if(q|p){Ob=z;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){A=d[b+g>>0]|0;C=b+1|0;B=d[b>>0]|0;a[m+8>>0]=(((r(y,A)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;A=d[C+g>>0]|0;B=d[C>>0]|0;a[m+9>>0]=(((r(y,A)|0)+(r(d[C+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+w|0;b=n+x|0}}if(q|p){Ob=z;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){C=d[h+g>>0]|0;A=h+1|0;B=d[h>>0]|0;a[b+8>>0]=(((r(y,C)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;C=d[A+g>>0]|0;B=d[A>>0]|0;a[b+9>>0]=(((r(y,C)|0)+(r(d[A+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+w|0;h=e+x|0}}Ob=z;return}function Je(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){Yi(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;Yi(c|0,a[b+-1>>0]|0,f|0)|0;return}function Ke(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oe(b,a,d);return}function Le(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function Me(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function Ne(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=Qe(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(Me(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=Qe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(Me(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=Qe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(Me(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(We(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);Yi(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}Re(e,f,0);Re(e,f+64|0,1);Re(e,f+128|0,2);Re(e,f+192|0,3);Re(e,f+256|0,4);Re(e,f+320|0,5);Re(e,f+384|0,6);Re(e,f+448|0,7);Re(e,f+512|0,8);Re(e,f+576|0,9);Re(e,f+640|0,10);Re(e,f+704|0,11);Re(e,f+768|0,12);Re(e,f+832|0,13);Re(e,f+896|0,14);Re(e,f+960|0,15);A=0;return A|0}function Oe(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=(i|0)!=0;K=0;a:while(1){m=Se(K)|0;l=c[m+4>>2]|0;m=ve(b,c[m>>2]|0)|0;i=Qe(b,m)|0;if(L&(i|0)!=0){J=(Me(c[m>>2]|0)|0)==2;i=J?0:i}n=Te(K)|0;k=c[n+4>>2]|0;n=ve(b,c[n>>2]|0)|0;j=Qe(b,n)|0;if(L&(j|0)!=0){J=(Me(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(Me(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(Me(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0<i>>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(Ue(K)|0)>>2]|0;j=ve(b,j)|0;k=Qe(b,j)|0;if(L&(k|0)!=0){J=(Me(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(Ve(K)|0)>>2]|0;j=ve(b,j)|0;l=Qe(b,j)|0;if(L&(l|0)!=0){J=(Me(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1728+(K<<2)>>2]|0;J=c[1792+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;Re(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function Pe(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=Qe(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(Me(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=Qe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(Me(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=Qe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(Me(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;Yi(e|0,b|0,4)|0;Yi(e+4|0,f|0,4)|0;Yi(e+8|0,b|0,4)|0;Yi(e+12|0,f|0,4)|0;Yi(e+16|0,b|0,4)|0;Yi(e+20|0,f|0,4)|0;m=e+32|0;Yi(e+24|0,b|0,4)|0;Yi(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;Yi(m|0,b|0,4)|0;Yi(e+36|0,f|0,4)|0;Yi(e+40|0,b|0,4)|0;Yi(e+44|0,f|0,4)|0;Yi(e+48|0,b|0,4)|0;Yi(e+52|0,f|0,4)|0;Yi(e+56|0,b|0,4)|0;Yi(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[49137+(k>>5)>>0]|0;a[e+7>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[49137+(k>>5)>>0]|0;a[e+15>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[49137+(k>>5)>>0]|0;a[e+23>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[49137+(k>>5)>>0]|0;a[e+31>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[49137+(k>>5)>>0]|0;a[e+39>>0]=a[49137+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[49137+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[49137+(k>>5)>>0]|0;a[e+47>>0]=a[49137+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[49137+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[49137+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[49137+(l>>5)>>0]|0;a[e+55>>0]=a[49137+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[49137+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[49137+(m>>5)>>0]|0;a[e+63>>0]=a[49137+(m+f>>5)>>0]|0}}Re(e,n,o);f=o|1;Re(e,n+64|0,f);Re(e,n+128|0,f+1|0);Re(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function Qe(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function Re(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1792+(m<<2)>>2]|0,k)|0)+(c[1728+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[49137+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[49137+(m+l)>>0]|0;f=b+3|0;l=a[49137+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[49137+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[49137+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[49137+(f+i)>>0]|0;l=b+3|0;i=a[49137+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[49137+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49137+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[49137+(l+j)>>0]|0;i=b+3|0;j=a[49137+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[49137+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[49137+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[49137+(k+j)>>0]|0;b=b+3|0;e=a[49137+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[49137+(h+g)>>0]|0;a[b>>0]=e;return}function Se(a){a=a|0;return 4744+(a<<3)|0}function Te(a){a=a|0;return 4552+(a<<3)|0}function Ue(a){a=a|0;return 4360+(a<<3)|0}function Ve(a){a=a|0;return 4168+(a<<3)|0}function We(a){a=a|0;return a+1&3|0}function Xe(a){a=a|0;return (c[a+8>>2]|0)==0|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=Wd(a,b)|0;return b|0}d=Od(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function Ze(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=Ob;Ob=Ob+16|0;f=g;if(Wd(a,f)|0){b=1;Ob=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;Ob=g;return b|0}c[b>>2]=d[((e|0)==0?50631:50679)+f>>0];b=0;Ob=g;return b|0}function _e(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Se(e)|0;e=Te(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(Qe(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(Qe(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(Qe(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(Qe(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function $e(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Ob;Ob=Ob+128|0;Q=S+64|0;R=S;o=Qd(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[41268+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>16777215){n=e[41332+(o>>>22<<1)>>1]|0;J=25;break}if(o>>>0>2097151){n=e[41428+((o>>>18)+-8<<1)>>1]|0;J=25;break}else{n=e[41540+(m<<1)>>1]|0;J=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[41604+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>33554431){n=e[41668+(o>>>23<<1)>>1]|0;J=25;break}else{n=e[41732+(o>>>18<<1)>>1]|0;J=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[41988+(f<<1)>>1]|0;J=25;break}n=e[42116+(o>>>22<<1)>>1]|0;J=25;break}if(f>>>0<17){n=e[42372+(o>>>26<<1)>>1]|0;J=25;break}f=o>>>29;if(f|0){n=e[42500+(f<<1)>>1]|0;J=25;break}n=e[42516+(o>>>24<<1)>>1]|0;J=25;break}while(0);if((J|0)==25)if(!n){R=1;Ob=S;return R|0}else p=n;n=p&31;f=o<<n;m=32-n|0;x=p>>>11;K=x&31;if(K>>>0>g>>>0){R=1;Ob=S;return R|0}v=p>>>5&63;do if(K){if(!v)n=0;else{do if(m>>>0<v>>>0)if((_d(a,n)|0)==-1){R=1;Ob=S;return R|0}else{m=32;f=Qd(a)|0;break}while(0);o=f>>>(32-v|0);f=f<<v;p=0;n=1<<v+-1;do{c[Q+(p<<2)>>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0<K>>>0){t=n;s=K>>>0>10&u&1;b:while(1){if(m>>>0<16){if((_d(a,32-m|0)|0)==-1){N=1;J=125;break}r=32;f=Qd(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){H=9;J=59}else{if(f>>>0>2097151){H=10;J=59;break}if(f>>>0>1048575){H=11;J=59;break}if(f>>>0>524287){H=12;J=59;break}if(f>>>0>262143){H=13;J=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){N=1;J=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}G=m;B=n<<q;y=o;z=q;w=p;q=(q|0)==0;J=60}else{H=8;J=59}else{H=7;J=59}else{H=6;J=59}else{H=5;J=59}else{H=4;J=59}else{H=3;J=59}else{H=2;J=59}else{H=1;J=59}else{H=0;J=59}while(0);if((J|0)==59){J=0;m=H+1|0;n=f<<m;m=r-m|0;f=H<<s;if(!s){E=m;F=n;A=f;C=0;D=1}else{G=n;B=f;y=m;z=s;w=s;q=0;J=60}}if((J|0)==60){J=0;if(y>>>0<w>>>0){if((_d(a,32-y|0)|0)==-1){N=1;J=125;break}f=32;m=Qd(a)|0}else{f=y;m=G}E=f-w|0;F=m<<w;A=(m>>>(32-w|0))+B|0;C=z;D=q}s=u&(t|0)==(v|0)?A+2|0:A;n=(s+2|0)>>>1;o=D?1:C;c[Q+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=K>>>0){l=E;j=F;break a}else{m=E;f=F;s=o+(o>>>0<6&(n|0)>(3<<o+-1|0)&1)|0}}if((J|0)==125){Ob=S;return N|0}}else{l=m;j=f}while(0);if(K>>>0<g>>>0){do if(l>>>0<9)if((_d(a,32-l|0)|0)==-1){R=1;Ob=S;return R|0}else{l=32;j=Qd(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((K|0)!=3)if(j>>>0>1073741823)k=18;else k=(K|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(x&31){case 1:{if(j>>>0>268435455)k=d[50009+(j>>>27)>>0]|0;else{I=50041+f|0;J=91}break}case 2:{I=50073+(j>>>26)|0;J=91;break}case 3:{I=50137+(j>>>26)|0;J=91;break}case 4:{I=50201+(j>>>27)|0;J=91;break}case 5:{I=50233+(j>>>27)|0;J=91;break}case 6:{I=50265+(j>>>26)|0;J=91;break}case 7:{I=50329+(j>>>26)|0;J=91;break}case 8:{I=50393+(j>>>26)|0;J=91;break}case 9:{I=50457+(j>>>26)|0;J=91;break}case 10:{I=50521+(j>>>27)|0;J=91;break}case 11:{I=50553+(j>>>28)|0;J=91;break}case 12:{I=50569+(j>>>28)|0;J=91;break}case 13:{I=50585+(j>>>29)|0;J=91;break}case 14:{I=50593+(j>>>30)|0;J=91;break}default:{k=j>>31&16|1;break c}}while(0);if((J|0)==91)k=d[I>>0]|0;if(!k){R=1;Ob=S;return R|0}}while(0);g=k&15;l=l-g|0;j=j<<g;k=k>>>4&15}else k=0;n=K+-1|0;if(!n){c[b+(k<<2)>>2]=c[Q+(n<<2)>>2];O=l;h=1<<k;break}m=0;f=k;d:while(1){if(!f){c[R+(m<<2)>>2]=1;P=l;i=0}else{if(l>>>0<11){if((_d(a,32-l|0)|0)==-1){N=1;J=125;break}l=32;j=Qd(a)|0}switch(f|0){case 1:{M=50597+(j>>>31)|0;J=117;break}case 2:{M=50599+(j>>>30)|0;J=117;break}case 3:{M=50603+(j>>>30)|0;J=117;break}case 4:{M=50607+(j>>>29)|0;J=117;break}case 5:{M=50615+(j>>>29)|0;J=117;break}case 6:{M=50623+(j>>>29)|0;J=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){N=1;J=125;break d}else L=k}}if((J|0)==117){J=0;L=d[M>>0]|0}if(!L){N=1;J=125;break}g=L&15;i=L>>>4&15;c[R+(m<<2)>>2]=i+1;P=l-g|0;j=j<<g;i=f-i|0}m=m+1|0;if(m>>>0>=n>>>0){J=122;break}else{l=P;f=i}}if((J|0)==122){c[b+(i<<2)>>2]=c[Q+(n<<2)>>2];j=K+-2|0;h=1<<i;while(1){i=(c[R+(j<<2)>>2]|0)+i|0;h=1<<i|h;c[b+(i<<2)>>2]=c[Q+(j<<2)>>2];if(!j){O=P;break}else j=j+-1|0}}else if((J|0)==125){Ob=S;return N|0}}else{O=m;h=0}while(0);R=(_d(a,32-O|0)|0)==0;R=R?h<<16|K<<4:1;Ob=S;return R|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=Rd(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function bf(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function cf(a,b){a=a|0;b=b|0;var d=0;if((Od(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=Od(a,2)|0;a=Od(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0<o>>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function ef(a){a=a|0;Vd(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=Yd(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){gf(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;gf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if(ae(b,c[d>>2]|0)|0){gf(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;gf(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;gf(c[a>>2]|0);c[a>>2]=0;a=b+84|0;gf(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function gf(a){a=a|0;ph(a);return}function hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=Yd(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;gf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;gf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;gf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;gf(c[(c[g>>2]|0)+44>>2]|0)}else{gf(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;gf(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;gf(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;gf(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0<l>>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0<l>>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;gf(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;gf(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=Yd(216,c[g>>2]|0)|0;b=Yd(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}Vd(e,0,(c[g>>2]|0)*216|0);b=a+16|0;df(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=kf(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function kf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{gf(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}gf(h);c[a>>2]=0;j=a+4|0;gf(c[j>>2]|0);c[j>>2]=0;j=a+12|0;gf(c[j>>2]|0);c[j>>2]=0;return lf(a,b,d,e,f,g)|0}function lf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=Yd(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}Vd(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=Yd(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=Yd(4,17)|0;h=Yd(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}Vd(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function mf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0<d>>>0);return}function nf(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function of(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0<e>>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function pf(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;qf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} |
| | | function ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[13535]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[13536]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[13533]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[13531]=c[13531]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=54428+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[13532]=c[13532]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[13537]|0)==(j|0)){j=(c[13534]|0)+b|0;c[13534]=j;c[13537]=i;c[i+4>>2]=j|1;if((i|0)!=(c[13536]|0))return;c[13536]=0;c[13533]=0;return}if((c[13536]|0)==(j|0)){j=(c[13533]|0)+b|0;c[13533]=j;c[13536]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[13531]=c[13531]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=54428+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[13532]=c[13532]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[13536]|0)){c[13533]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=54164+(a<<1<<2)|0;b=c[13531]|0;a=1<<a;if(!(b&a)){c[13531]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=54428+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[13532]|0;d=1<<e;a:do if(!(b&d)){c[13532]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[13539]|0)+-1|0;c[13539]=j;if(j|0)return;a=54580;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[13539]=-1;return}function qh(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=oh(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;Yi(a|0,0,d|0)|0;return a|0}function rh(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=oh(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function sh(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function th(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function uh(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Wb[b&3]();c[a>>2]=324508639;return 0}function vh(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=oh(b)|0;if(a|0)break;a=Ki()|0;if(!a){a=0;break}Wb[a&3]()}return a|0}function wh(a){a=a|0;ph(a);return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0;e=jh(b)|0;d=vh(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=yh(d)|0;Wi(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function yh(a){a=a|0;return a+12|0}function zh(a,b){a=a|0;b=b|0;c[a>>2]=41140;xh(a+4|0,b);return}function Ah(a){a=a|0;return 1}function Bh(a){a=a|0;Da()}function Ch(a){a=a|0;Da()}function Dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Ob;Ob=Ob+16|0;f=g;if(e>>>0>4294967279)Bh(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=vh(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}Eh(b,d,e)|0;a[f>>0]=0;Fh(b+e|0,f);Ob=g;return}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Wi(a|0,b|0,c|0)|0;return a|0}function Fh(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Gh(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Yi(a|0,(Hh(c)|0)&255|0,b|0)|0;return a|0}function Hh(a){a=a|0;return a&255|0}function Ih(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)Ch(b);else{g=g-e|0;Dh(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Jh(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Ob;Ob=Ob+16|0;n=o;if((-18-d|0)>>>0<e>>>0)Bh(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=vh(k)|0;if(g|0)Eh(l,m,g)|0;if(i|0)Eh(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Eh(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)wh(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Fh(l+i|0,n);Ob=o;return}function Kh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ob;Ob=Ob+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Fh(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Fh(b+d|0,g);a[h>>0]=d;break}else Lh(b,d-f|0,e)|0;while(0);Ob=j;return}function Lh(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=Ob;Ob=Ob+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Mh(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Gh(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Fh(g+f|0,i)}Ob=k;return b|0}function Mh(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)Bh(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=vh(j)|0;if(g|0)Eh(k,l,g)|0;e=f-h-g|0;if(e|0)Eh(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)wh(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Nh(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)Ch(b);if(f)b=c[b>>2]|0;return b+d|0}function Oh(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=Ob;Ob=Ob+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;Eh(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Fh(g+f|0,i)}}else Jh(b,g,f+e-g|0,f,f,0,e,d);Ob=k;return b|0}function Ph(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ob;Ob=Ob+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Qh()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=53397;Rh(53347,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Ub[c[(c[256]|0)+16>>2]&7](1024,e,f)|0){i=c[f>>2]|0;i=Rb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=53397;c[g+4>>2]=a;c[g+8>>2]=i;Rh(53261,g)}else{c[i>>2]=53397;c[i+4>>2]=a;Rh(53306,i)}}Rh(53385,h)}function Qh(){var a=0,b=0;a=Ob;Ob=Ob+16|0;if(!(uh(54620,3)|0)){b=sh(c[13656]|0)|0;Ob=a;return b|0}else Rh(53536,a);return 0}function Rh(a,b){a=a|0;b=b|0;var d=0;d=Ob;Ob=Ob+16|0;c[d>>2]=b;b=c[10200]|0;Og(b,a,d)|0;nh(10,b)|0;Da()}function Sh(a){a=a|0;return}function Th(a){a=a|0;Sh(a);wh(a);return}function Uh(a){a=a|0;return}function Vh(a){a=a|0;return}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ob;Ob=Ob+64|0;f=h;if(!(_h(a,b,0)|0))if((b|0)!=0?(g=ci(b,1048,1032,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;_b[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Ob=h;return b|0}function Xh(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(_h(a,c[b+8>>2]|0,g)|0)bi(0,b,d,e,f);return}function Yh(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(!(_h(b,c[d+8>>2]|0,g)|0)){if(_h(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else ai(0,d,e,f);while(0);return}function Zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(_h(a,c[b+8>>2]|0,0)|0)$h(0,b,d,e);return}function _h(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function bi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function ci(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Ob;Ob=Ob+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(_h(m,f,0)|0){c[n+48>>2]=1;ac[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{$b[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Ob=p;return d|0}function di(a){a=a|0;Sh(a);wh(a);return}function ei(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(_h(a,c[b+8>>2]|0,g)|0)bi(0,b,d,e,f);else{a=c[a+8>>2]|0;ac[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function fi(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(!(_h(b,c[d+8>>2]|0,g)|0)){if(!(_h(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;$b[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ac[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else ai(0,d,e,f);while(0);return}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(_h(a,c[b+8>>2]|0,0)|0)$h(0,b,d,e);else{a=c[a+8>>2]|0;_b[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function hi(a){a=a|0;return}function ii(){var a=0;a=Ob;Ob=Ob+16|0;if(!(rh(54624,27)|0)){Ob=a;return}else Rh(53585,a)}function ji(a){a=a|0;var b=0;b=Ob;Ob=Ob+16|0;ph(a);if(!(th(c[13656]|0,0)|0)){Ob=b;return}else Rh(53635,b)}function ki(){var a=0,b=0;a=Qh()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)li(c[b+12>>2]|0);li(mi()|0)}function li(a){a=a|0;var b=0;b=Ob;Ob=Ob+16|0;Wb[a&3]();Rh(53688,b)}function mi(){var a=0;a=c[10262]|0;c[10262]=a+0;return a|0}function ni(a){a=a|0;return}function oi(a){a=a|0;c[a>>2]=41140;si(a+4|0);return}function pi(a){a=a|0;oi(a);wh(a);return}function qi(a){a=a|0;return ri(a+4|0)|0}function ri(a){a=a|0;return c[a>>2]|0}function si(a){a=a|0;var b=0,d=0;if(Ah(a)|0?(b=ti(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)wh(b);return}function ti(a){a=a|0;return a+-12|0}function ui(a){a=a|0;oi(a);wh(a);return}function vi(a){a=a|0;Sh(a);wh(a);return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;return _h(a,b,0)|0}function xi(a){a=a|0;Sh(a);wh(a);return}function yi(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=Ob;Ob=Ob+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(zi(a,b,0)|0))if(((b|0)!=0?(e=ci(b,1048,1136,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(_h(c[a>>2]|0,c[b>>2]|0,0)|0)?!(_h(c[a>>2]|0,1168,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=ci(a,1048,1032,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=ci(f,1048,1032,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;_b[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Ob=j;return a|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;if(_h(a,b,0)|0)a=1;else a=_h(b,1176,0)|0;return a|0}function Ai(a){a=a|0;Sh(a);wh(a);return}function Bi(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(_h(b,c[d+8>>2]|0,h)|0)bi(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;Fi(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;Fi(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Ci(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(!(_h(b,c[d+8>>2]|0,g)|0)){if(!(_h(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;Gi(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;Gi(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;Gi(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;Gi(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;Fi(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else ai(0,d,e,f);while(0);return}function Di(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(_h(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Ei(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Ei(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else $h(0,d,e,f);while(0);return}function Ei(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;_b[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function Fi(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;ac[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Gi(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;$b[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function Hi(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Ii(a){a=a|0;return}function Ji(a){a=a|0;return}function Ki(){var a=0;a=c[13657]|0;c[13657]=a+0;return a|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ob;Ob=Ob+16|0;e=f;c[e>>2]=c[d>>2];a=Ub[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Ob=f;return a&1|0}function Mi(a){a=a|0;if(!a)a=0;else a=(ci(a,1048,1136,0)|0)!=0&1;return a|0}function Ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Oi(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=Ni(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function Ri(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function Si(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (u(o|0),p)|0}else{p=Ri(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Ri(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Pi(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Qi(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Qi(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Si(a,b,c,d,0)|0}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function Wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ka(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 Xi(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 Wi(b,c,d)|0;return b|0}function Yi(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 Zi(a){a=a|0;var b=0,d=0,e=0;e=Ha()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Oa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(La(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function _i(a,b){a=a|0;b=b|0;return Rb[a&7](b|0)|0}function $i(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function aj(a,b,c){a=a|0;b=b|0;c=c|0;return Tb[a&3](b|0,c|0)|0}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ub[a&7](b|0,c|0,d|0)|0}function cj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Vb[a&1](b|0,c|0,d|0,e|0)|0}function dj(a){a=a|0;Wb[a&3]()}function ej(a,b){a=a|0;b=b|0;Xb[a&31](b|0)}function fj(a,b,c){a=a|0;b=b|0;c=c|0;Yb[a&31](b|0,c|0)}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zb[a&7](b|0,c|0,d|0)}function hj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&7](b|0,c|0,d|0,e|0)}function ij(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$b[a&7](b|0,c|0,d|0,e|0,f|0)}function jj(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;ac[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function kj(a){a=a|0;t(0);return 0}function lj(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function mj(a,b){a=a|0;b=b|0;t(2);return 0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function pj(){t(5)}function qj(){O()}function rj(a){a=a|0;t(6)}function sj(a,b){a=a|0;b=b|0;t(7)}function tj(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function uj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function wj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Rb=[kj,Gg,qi,ad,jd,ld,md,kj];var Sb=[lj,Pg];var Tb=[mj,fd,hd,mj];var Ub=[nj,Hg,Wh,wi,yi,pd,Hd,nj];var Vb=[oj,Ig];var Wb=[pj,qj,Ph,ii];var Xb=[rj,qd,rd,td,wd,xd,zd,Ad,Vc,Cd,Dd,Sh,Th,Uh,Vh,di,oi,pi,ui,vi,xi,Ai,bd,kc,lc,kd,od,ji,rj,rj,rj,rj];var Yb=[sj,Mc,ic,jc,ed,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,nd,Qg,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj,sj];var Zb=[tj,Lc,Bd,cd,dd,gd,id,tj];var _b=[uj,Zh,gi,Di,pg,og,uj,uj];var $b=[vj,Yh,fi,Ci,Ke,Je,vj,vj];var ac=[wj,Xh,ei,Bi];return{___cxa_can_catch:Li,___cxa_is_pointer_type:Mi,___errno_location:Kg,___getTypeName:Fg,___muldi3:Oi,___udivdi3:Ti,_bitshift64Lshr:Ui,_bitshift64Shl:Vi,_free:ph,_i64Add:Pi,_i64Subtract:Qi,_main:gc,_malloc:oh,_memcpy:Wi,_memmove:Xi,_memset:Yi,_sbrk:Zi,_strlen:jh,dynCall_ii:_i,dynCall_iidiiii:$i,dynCall_iii:aj,dynCall_iiii:bj,dynCall_iiiii:cj,dynCall_v:dj,dynCall_vi:ej,dynCall_vii:fj,dynCall_viii:gj,dynCall_viiii:hj,dynCall_viiiii:ij,dynCall_viiiiii:jj,establishStackSpace:fc,globalCtors:bc,stackAlloc:cc,stackRestore:ec,stackSave:dc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte 0x"+u0.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");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;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=58032,STACK_MAX=5300912,DYNAMIC_BASE=5300912,DYNAMICTOP_PTR=58e3;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===INITIAL_TOTAL_MEMORY,"provided buffer should be "+INITIAL_TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){assert(INITIAL_TOTAL_MEMORY%WASM_PAGE_SIZE===0);wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}assert(buffer.byteLength===INITIAL_TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var FS={error:function(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1")},init:function(){FS.error()},createDataFile:function(){FS.error()},createPreloadedFile:function(){FS.error()},createLazyFile:function(){FS.error()},open:function(){FS.error()},mkdev:function(){FS.error()},registerDevice:function(){FS.error()},analyzePath:function(){FS.error()},loadFilesFromDB:function(){FS.error()},ErrnoError:function ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="264_mp3_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var trueModule=Module;function receiveInstantiatedSource(output){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":120,"maximum":120,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);assert(exports,"binaryen setup failed (no wasm support?)");return exports};__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=58016;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i<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();abort("it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("Cannot enlarge memory arrays to size "+requestedSize+" bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+HEAP8.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;if(!croppingParams){gl.viewport(0,0,width,height)}else{gl.viewport(0,0,croppingParams.width,croppingParams.height);var tTop=croppingParams.top/height;var tLeft=croppingParams.left/width;var tBottom=croppingParams.height/height;var tRight=croppingParams.width/width;var texturePosValues=new Float32Array([tRight,tTop,tLeft,tTop,tRight,tBottom,tLeft,tBottom]);gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,texturePosValues,gl.DYNAMIC_DRAW)}gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){this.webGLCanvas.canvasElement.width=w;this.webGLCanvas.canvasElement.height=h;if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function nullFunc_ii(x){err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iidiiii(x){err("Invalid function pointer called with signature 'iidiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_jiji(x){err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}var asmGlobalArg={};var asmLibraryArg={"I":setTempRet0,"b":abortStackOverflow,"ia":nullFunc_ii,"ba":nullFunc_iidiiii,"X":nullFunc_iii,"T":nullFunc_iiii,"Q":nullFunc_jiji,"K":nullFunc_v,"H":nullFunc_vi,"G":nullFunc_vii,"F":nullFunc_viii,"ha":nullFunc_viiii,"ga":nullFunc_viiiii,"fa":nullFunc_viiiiii,"E":___assert_fail,"q":___cxa_allocate_exception,"ea":___cxa_pure_virtual,"p":___cxa_throw,"da":___lock,"D":___setErrNo,"ca":___syscall140,"C":___syscall146,"aa":___syscall54,"$":___syscall6,"_":___unlock,"Z":__embind_create_inheriting_constructor,"Y":__embind_register_bool,"B":__embind_register_class,"A":__embind_register_class_class_function,"r":__embind_register_class_function,"o":__embind_register_class_property,"W":__embind_register_emval,"z":__embind_register_float,"j":__embind_register_integer,"e":__embind_register_memory_view,"y":__embind_register_std_string,"V":__embind_register_std_wstring,"U":__embind_register_void,"n":__emval_as,"x":__emval_call,"t":__emval_call_method,"l":__emval_call_void_method,"c":__emval_decref,"v":__emval_get_global,"f":__emval_get_method_caller,"u":__emval_get_property,"s":__emval_incref,"S":__emval_new,"h":__emval_new_cstring,"R":__emval_new_object,"g":__emval_run_destructors,"m":__emval_set_property,"k":__emval_take_value,"i":_abort,"w":_clock,"P":_emscripten_get_heap_size,"d":_emscripten_log,"O":_emscripten_memcpy_big,"N":_emscripten_resize_heap,"M":_init,"L":_llvm_trap,"J":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);var real____cxa_can_catch=asm["ja"];asm["ja"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)};var real____cxa_is_pointer_type=asm["ka"];asm["ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)};var real____errno_location=asm["la"];asm["la"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)};var real____getTypeName=asm["ma"];asm["ma"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)};var real__fflush=asm["na"];asm["na"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)};var real__free=asm["oa"];asm["oa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)};var real__main=asm["pa"];asm["pa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)};var real__malloc=asm["qa"];asm["qa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)};var real__memmove=asm["ra"];asm["ra"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)};var real__sbrk=asm["sa"];asm["sa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)};var real__strlen=asm["ta"];asm["ta"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)};var real_establishStackSpace=asm["Ga"];asm["Ga"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)};var real_globalCtors=asm["Ha"];asm["Ha"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_globalCtors.apply(null,arguments)};var real_stackAlloc=asm["Ia"];asm["Ia"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)};var real_stackRestore=asm["Ja"];asm["Ja"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)};var real_stackSave=asm["Ka"];asm["Ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)};Module["asm"]=asm;var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ja"].apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ka"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["la"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ma"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["na"].apply(null,arguments)};var _free=Module["_free"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["oa"].apply(null,arguments)};var _main=Module["_main"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["pa"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["qa"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ra"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["sa"].apply(null,arguments)};var _strlen=Module["_strlen"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ta"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ga"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ha"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ia"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ja"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ka"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ua"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["va"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["wa"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["xa"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ya"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["za"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Aa"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ba"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ca"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Da"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ea"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Fa"].apply(null,arguments)};Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayToString"])Module["intArrayToString"]=function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ccall"])Module["ccall"]=function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["cwrap"])Module["cwrap"]=function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setValue"])Module["setValue"]=function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getValue"])Module["getValue"]=function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocate"])Module["allocate"]=function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getMemory"])Module["getMemory"]=function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["AsciiToString"])Module["AsciiToString"]=function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToAscii"])Module["stringToAscii"]=function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ToString"])Module["UTF8ToString"]=function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8"])Module["stringToUTF8"]=function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF16ToString"])Module["UTF16ToString"]=function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF16"])Module["stringToUTF16"]=function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF32ToString"])Module["UTF32ToString"]=function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF32"])Module["stringToUTF32"]=function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocateUTF8"])Module["allocateUTF8"]=function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackTrace"])Module["stackTrace"]=function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreRun"])Module["addOnPreRun"]=function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnInit"])Module["addOnInit"]=function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreMain"])Module["addOnPreMain"]=function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnExit"])Module["addOnExit"]=function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPostRun"])Module["addOnPostRun"]=function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addRunDependency"])Module["addRunDependency"]=function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["removeRunDependency"])Module["removeRunDependency"]=function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["ENV"])Module["ENV"]=function(){abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS"])Module["FS"]=function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS_createFolder"])Module["FS_createFolder"]=function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPath"])Module["FS_createPath"]=function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLink"])Module["FS_createLink"]=function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDevice"])Module["FS_createDevice"]=function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_unlink"])Module["FS_unlink"]=function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["GL"])Module["GL"]=function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["warnOnce"])Module["warnOnce"]=function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getLEB"])Module["getLEB"]=function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFunctionTables"])Module["getFunctionTables"]=function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["registerFunctions"])Module["registerFunctions"]=function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addFunction"])Module["addFunction"]=function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["removeFunction"])Module["removeFunction"]=function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["prettyPrint"])Module["prettyPrint"]=function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["makeBigInt"])Module["makeBigInt"]=function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynCall"])Module["dynCall"]=function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackSave"])Module["stackSave"]=function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackRestore"])Module["stackRestore"]=function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackAlloc"])Module["stackAlloc"]=function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["establishStackSpace"])Module["establishStackSpace"]=function(){abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["print"])Module["print"]=function(){abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["printErr"])Module["printErr"]=function(){abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getTempRet0"])Module["getTempRet0"]=function(){abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setTempRet0"])Module["setTempRet0"]=function(){abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=out;var printErr=err;var has=false;out=err=function(x){has=true};try{var flush=flush_NO_FILESYSTEM;if(flush)flush(0)}catch(e){}out=print;err=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.");warnOnce("(this may also be due to not including full filesystem support - try building with -s FORCE_FILESYSTEM=1)")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){err("exit("+status+") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| New file |
| | |
| | | // a simple ajax |
| | | !(function () { |
| | | |
| | | var jsonType = 'application/json'; |
| | | var htmlType = 'text/html'; |
| | | var xmlTypeRE = /^(?:text|application)\/xml/i; |
| | | var blankRE = /^\s*$/; // \s |
| | | |
| | | /* |
| | | * default setting |
| | | * */ |
| | | var _settings = { |
| | | |
| | | type: "GET", |
| | | |
| | | beforeSend: noop, |
| | | |
| | | success: noop, |
| | | |
| | | error: noop, |
| | | |
| | | complete: noop, |
| | | |
| | | context: null, |
| | | |
| | | xhr: function () { |
| | | return new window.XMLHttpRequest(); |
| | | }, |
| | | |
| | | accepts: { |
| | | json: jsonType, |
| | | xml: 'application/xml, text/xml', |
| | | html: htmlType, |
| | | text: 'text/plain' |
| | | }, |
| | | |
| | | crossDomain: false, |
| | | |
| | | timeout: 0, |
| | | |
| | | username: null, |
| | | |
| | | password: null, |
| | | |
| | | processData: true, |
| | | |
| | | promise: noop |
| | | }; |
| | | |
| | | function noop() { |
| | | } |
| | | |
| | | var ajax = function (options) { |
| | | |
| | | // |
| | | var settings = extend({}, options || {}); |
| | | |
| | | // |
| | | for (var key in _settings) { |
| | | if (settings[key] === undefined) { |
| | | settings[key] = _settings[key]; |
| | | } |
| | | } |
| | | |
| | | // |
| | | try { |
| | | var q = {}; |
| | | var promise = new Promise(function (resolve, reject) { |
| | | q.resolve = resolve; |
| | | q.reject = reject; |
| | | }); |
| | | |
| | | promise.resolve = q.resolve; |
| | | promise.reject = q.reject; |
| | | |
| | | settings.promise = promise; |
| | | } |
| | | catch (e) { |
| | | // |
| | | settings.promise = { |
| | | resolve: noop, |
| | | reject: noop |
| | | }; |
| | | } |
| | | |
| | | |
| | | // |
| | | if (!settings.crossDomain) { |
| | | settings.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(settings.url) && RegExp.$2 !== window.location.href; |
| | | } |
| | | |
| | | var dataType = settings.dataType; |
| | | // jsonp |
| | | if (dataType === 'jsonp') { |
| | | // |
| | | var hasPlaceholder = /=\?/.test(settings.url); |
| | | if (!hasPlaceholder) { |
| | | var jsonpCallback = (settings.jsonp || 'callback') + '=?'; |
| | | |
| | | settings.url = appendQuery(settings.url, jsonpCallback) |
| | | } |
| | | return JSONP(settings); |
| | | } |
| | | |
| | | // url |
| | | if (!settings.url) { |
| | | settings.url = window.location.toString(); |
| | | } |
| | | |
| | | // |
| | | serializeData(settings); |
| | | |
| | | var mime = settings.accepts[dataType]; // mime |
| | | var baseHeader = {}; // header |
| | | var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol; // protocol |
| | | var xhr = _settings.xhr(); |
| | | var abortTimeout; |
| | | |
| | | // X-Requested-With header |
| | | // For cross-domain requests, seeing as conditions for a preflight are |
| | | // akin to a jigsaw puzzle, we simply never set it to be sure. |
| | | // (it can always be set on a per-request basis or even using ajaxSetup) |
| | | // For same-domain requests, won't change header if already provided. |
| | | if (!settings.crossDomain && !baseHeader['X-Requested-With']) { |
| | | baseHeader['X-Requested-With'] = 'XMLHttpRequest'; |
| | | } |
| | | |
| | | // mime |
| | | if (mime) { |
| | | // |
| | | baseHeader['Accept'] = mime; |
| | | |
| | | if (mime.indexOf(',') > -1) { |
| | | mime = mime.split(',', 2)[0] |
| | | } |
| | | // |
| | | xhr.overrideMimeType && xhr.overrideMimeType(mime); |
| | | } |
| | | |
| | | // contentType |
| | | if (settings.contentType || (settings.data && settings.type.toUpperCase() !== 'GET')) { |
| | | baseHeader['Content-Type'] = (settings.contentType || 'application/x-www-form-urlencoded; charset=UTF-8'); |
| | | } |
| | | |
| | | // headers |
| | | settings.headers = extend(baseHeader, settings.headers || {}); |
| | | |
| | | // on ready state change |
| | | xhr.onreadystatechange = function () { |
| | | // readystate |
| | | if (xhr.readyState === 4) { |
| | | clearTimeout(abortTimeout); |
| | | var result; |
| | | var error = false; |
| | | // |
| | | if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) { |
| | | dataType = dataType || mimeToDataType(xhr.getResponseHeader('content-type')); |
| | | result = xhr.responseText; |
| | | |
| | | try { |
| | | // xml |
| | | if (dataType === 'xml') { |
| | | result = xhr.responseXML; |
| | | } |
| | | // json |
| | | else if (dataType === 'json') { |
| | | result = blankRE.test(result) ? null : JSON.parse(result); |
| | | } |
| | | } |
| | | catch (e) { |
| | | error = e; |
| | | } |
| | | |
| | | if (error) { |
| | | ajaxError(error, 'parseerror', xhr, settings); |
| | | } |
| | | else { |
| | | ajaxSuccess(result, xhr, settings); |
| | | } |
| | | } |
| | | else { |
| | | ajaxError(null, 'error', xhr, settings); |
| | | } |
| | | |
| | | } |
| | | }; |
| | | |
| | | // async |
| | | var async = 'async' in settings ? settings.async : true; |
| | | |
| | | // open |
| | | xhr.open(settings.type, settings.url, async, settings.username, settings.password); |
| | | |
| | | // xhrFields |
| | | if (settings.xhrFields) { |
| | | for (var name in settings.xhrFields) { |
| | | xhr[name] = settings.xhrFields[name]; |
| | | } |
| | | } |
| | | |
| | | // Override mime type if needed |
| | | if (settings.mimeType && xhr.overrideMimeType) { |
| | | xhr.overrideMimeType(settings.mimeType); |
| | | } |
| | | |
| | | |
| | | // set request header |
| | | for (var name in settings.headers) { |
| | | // Support: IE<9 |
| | | // IE's ActiveXObject throws a 'Type Mismatch' exception when setting |
| | | // request header to a null-value. |
| | | // |
| | | // To keep consistent with other XHR implementations, cast the value |
| | | // to string and ignore `undefined`. |
| | | if (settings.headers[name] !== undefined) { |
| | | xhr.setRequestHeader(name, settings.headers[name] + ""); |
| | | } |
| | | } |
| | | |
| | | // before send |
| | | if (ajaxBeforeSend(xhr, settings) === false) { |
| | | xhr.abort(); |
| | | return false; |
| | | } |
| | | |
| | | // timeout |
| | | if (settings.timeout > 0) { |
| | | abortTimeout = window.setTimeout(function () { |
| | | xhr.onreadystatechange = noop; |
| | | xhr.abort(); |
| | | ajaxError(null, 'timeout', xhr, settings); |
| | | }, settings.timeout); |
| | | } |
| | | |
| | | // send |
| | | xhr.send(settings.data ? settings.data : null); |
| | | |
| | | return settings.promise; |
| | | }; |
| | | |
| | | /* |
| | | * method get |
| | | * */ |
| | | ajax.get = function (url, data, success, dataType) { |
| | | if (isFunction(data)) { |
| | | dataType = dataType || success; |
| | | success = data; |
| | | data = undefined; |
| | | } |
| | | |
| | | return ajax({ |
| | | url: url, |
| | | data: data, |
| | | success: success, |
| | | dataType: dataType |
| | | }); |
| | | }; |
| | | |
| | | /* |
| | | * method post |
| | | * |
| | | * dataType: |
| | | * */ |
| | | ajax.post = function (url, data, success, dataType) { |
| | | if (isFunction(data)) { |
| | | dataType = dataType || success; |
| | | success = data; |
| | | data = undefined; |
| | | } |
| | | return ajax({ |
| | | type: 'POST', |
| | | url: url, |
| | | data: data, |
| | | success: success, |
| | | dataType: dataType |
| | | }) |
| | | }; |
| | | |
| | | /* |
| | | * method getJSON |
| | | * */ |
| | | ajax.getJSON = function (url, data, success) { |
| | | |
| | | if (isFunction(data)) { |
| | | success = data; |
| | | data = undefined; |
| | | } |
| | | |
| | | return ajax({ |
| | | url: url, |
| | | data: data, |
| | | success: success, |
| | | dataType: 'json' |
| | | }) |
| | | }; |
| | | |
| | | /* |
| | | * method ajaxSetup |
| | | * */ |
| | | ajax.ajaxSetup = function (target, settings) { |
| | | return settings ? extend(extend(target, _settings), settings) : extend(_settings, target); |
| | | }; |
| | | |
| | | /* |
| | | * utils |
| | | * |
| | | * */ |
| | | |
| | | |
| | | // triggers and extra global event ajaxBeforeSend that's like ajaxSend but cancelable |
| | | function ajaxBeforeSend(xhr, settings) { |
| | | var context = settings.context; |
| | | // |
| | | if (settings.beforeSend.call(context, xhr, settings) === false) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | // ajax success |
| | | function ajaxSuccess(data, xhr, settings) { |
| | | var context = settings.context; |
| | | var status = 'success'; |
| | | settings.success.call(context, data, status, xhr); |
| | | settings.promise.resolve(data, status, xhr); |
| | | ajaxComplete(status, xhr, settings); |
| | | } |
| | | |
| | | // status: "success", "notmodified", "error", "timeout", "abort", "parsererror" |
| | | function ajaxComplete(status, xhr, settings) { |
| | | var context = settings.context; |
| | | settings.complete.call(context, xhr, status); |
| | | } |
| | | |
| | | // type: "timeout", "error", "abort", "parsererror" |
| | | function ajaxError(error, type, xhr, settings) { |
| | | var context = settings.context; |
| | | settings.error.call(context, xhr, type, error); |
| | | settings.promise.reject(xhr, type, error); |
| | | ajaxComplete(type, xhr, settings); |
| | | } |
| | | |
| | | |
| | | // jsonp |
| | | /* |
| | | * tks: https://www.cnblogs.com/rubylouvre/archive/2011/02/13/1953087.html |
| | | * */ |
| | | function JSONP(options) { |
| | | // |
| | | var callbackName = options.jsonpCallback || 'jsonp' + (new Date().getTime()); |
| | | |
| | | var script = window.document.createElement('script'); |
| | | |
| | | var abort = function () { |
| | | // 设置 window.xxx = noop |
| | | if (callbackName in window) { |
| | | window[callbackName] = noop; |
| | | } |
| | | }; |
| | | |
| | | var xhr = {abort: abort}; |
| | | var abortTimeout; |
| | | |
| | | var head = window.document.getElementsByTagName('head')[0] || window.document.documentElement; |
| | | |
| | | // ie8+ |
| | | script.onerror = function (error) { |
| | | _error(error); |
| | | }; |
| | | |
| | | function _error(error) { |
| | | window.clearTimeout(abortTimeout); |
| | | xhr.abort(); |
| | | ajaxError(error.type, xhr, error.type, options); |
| | | _removeScript(); |
| | | } |
| | | |
| | | window[callbackName] = function (data) { |
| | | window.clearTimeout(abortTimeout); |
| | | ajaxSuccess(data, xhr, options); |
| | | _removeScript(); |
| | | }; |
| | | |
| | | // |
| | | serializeData(options); |
| | | |
| | | script.src = options.url.replace(/=\?/, '=' + callbackName); |
| | | // |
| | | script.src = appendQuery(script.src, '_=' + (new Date()).getTime()); |
| | | // |
| | | script.async = true; |
| | | |
| | | // script charset |
| | | if (options.scriptCharset) { |
| | | script.charset = options.scriptCharset; |
| | | } |
| | | |
| | | // |
| | | head.insertBefore(script, head.firstChild); |
| | | |
| | | // |
| | | if (options.timeout > 0) { |
| | | abortTimeout = window.setTimeout(function () { |
| | | xhr.abort(); |
| | | ajaxError('timeout', xhr, 'timeout', options); |
| | | _removeScript(); |
| | | }, options.timeout); |
| | | } |
| | | |
| | | // remove script |
| | | function _removeScript() { |
| | | if (script.clearAttributes) { |
| | | script.clearAttributes(); |
| | | } else { |
| | | script.onload = script.onreadystatechange = script.onerror = null; |
| | | } |
| | | |
| | | if (script.parentNode) { |
| | | script.parentNode.removeChild(script); |
| | | } |
| | | // |
| | | script = null; |
| | | |
| | | delete window[callbackName]; |
| | | } |
| | | |
| | | return options.promise; |
| | | } |
| | | |
| | | // mime to data type |
| | | function mimeToDataType(mime) { |
| | | return mime && (mime === htmlType ? 'html' : mime === jsonType ? 'json' : xmlTypeRE.test(mime) && 'xml') || 'text' |
| | | } |
| | | |
| | | // append query |
| | | function appendQuery(url, query) { |
| | | return (url + '&' + query).replace(/[&?]{1,2}/, '?'); |
| | | } |
| | | |
| | | // serialize data |
| | | function serializeData(options) { |
| | | // formData |
| | | if (isObject(options) && !isFormData(options.data) && options.processData) { |
| | | options.data = param(options.data); |
| | | } |
| | | |
| | | if (options.data && (!options.type || options.type.toUpperCase() === 'GET')) { |
| | | options.url = appendQuery(options.url, options.data); |
| | | } |
| | | } |
| | | |
| | | // serialize |
| | | function serialize(params, obj, traditional, scope) { |
| | | var _isArray = isArray(obj); |
| | | |
| | | for (var key in obj) { |
| | | var value = obj[key]; |
| | | |
| | | if (scope) { |
| | | key = traditional ? scope : scope + '[' + (_isArray ? '' : key) + ']'; |
| | | } |
| | | |
| | | // handle data in serializeArray format |
| | | if (!scope && _isArray) { |
| | | params.add(value.name, value.value); |
| | | |
| | | } |
| | | else if (traditional ? _isArray(value) : isObject(value)) { |
| | | serialize(params, value, traditional, key); |
| | | } |
| | | else { |
| | | params.add(key, value); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | // param |
| | | function param(obj, traditional) { |
| | | var params = []; |
| | | // |
| | | params.add = function (k, v) { |
| | | this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v)); |
| | | }; |
| | | serialize(params, obj, traditional); |
| | | return params.join('&').replace('%20', '+'); |
| | | } |
| | | |
| | | // extend |
| | | function extend(target) { |
| | | var slice = Array.prototype.slice; |
| | | var args = slice.call(arguments, 1); |
| | | // |
| | | for (var i = 0, length = args.length; i < length; i++) { |
| | | var source = args[i] || {}; |
| | | for (var key in source) { |
| | | if (source.hasOwnProperty(key) && source[key] !== undefined) { |
| | | target[key] = source[key]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return target; |
| | | } |
| | | |
| | | // is object |
| | | function isObject(obj) { |
| | | var type = typeof obj; |
| | | return type === 'function' || type === 'object' && !!obj; |
| | | } |
| | | |
| | | // is formData |
| | | function isFormData(obj) { |
| | | return obj instanceof FormData; |
| | | } |
| | | |
| | | // is array |
| | | function isArray(value) { |
| | | return Object.prototype.toString.call(value) === "[object Array]"; |
| | | } |
| | | |
| | | // is function |
| | | function isFunction(value) { |
| | | return typeof value === "function"; |
| | | } |
| | | |
| | | // browser |
| | | window.ajax = ajax; |
| | | })(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=13136,DYNAMIC_BASE=5256016,DYNAMICTOP_PTR=13104;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAQAAAAAAAAABAAAAAgAAAAMAAAACAAAAAwAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAgAAAAIAAAADAAAAAwAAAAKAAAADQAAABAAAAALAAAADgAAABIAAAANAAAAEAAAABQAAAAOAAAAEgAAABcAAAAQAAAAFAAAABkAAAASAAAAFwAAAB0AAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAAAAAAEAAAAEAAAABQAAAAIAAAADAAAABgAAAAcAAAAIAAAACQAAAAwAAAANAAAACgAAAAsAAAAOAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAUAAAAAAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABQAAAAQAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAFAAAABAAAAAAAAAAAAAAABwAAAAQAAAACAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAADAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAQAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAABAAAAAQAAAADAAAABAAAAAYAAAAAAAAADQAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAANAAAAAAAAAA8AAAD/AAAAAAAAAP8AAAAAAAAAAAAAAA0AAAAEAAAACAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAADQAAAAQAAAAIAAAAAAAAAA8AAAAEAAAACgAAAAQAAAAJAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAACwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAAMAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAAEAAAACwAAAAQAAAAOAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAQAAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAAAQAAAAsAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAAQAAAAAAAAABAAAAAEAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAABAAAAAQAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAABAAAADwAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAADAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAMAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAA/wAAAAQAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADwAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAMAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAD/AAAAAgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAACAAAA/wAAAAgAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAcAAAD/AAAAAgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAMAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAAAAAAABQAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAEAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAsAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAABAAAAAQAAAAAAAAABwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAHAAAAAAAAAA0AAAD/AAAAAAAAAP8AAAAAAAAAAAAAAAcAAAAEAAAAAgAAAP8AAAAAAAAA/wAAAAAAAAAAAAAABwAAAAQAAAACAAAAAAAAAA0AAAAEAAAACAAAAAQAAAADAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAACQAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAAQAAAAMAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAAAMAAAAPAAAAAQAAAAoAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAABAAAAAQAAAAAAAAABwAAAAQAAAACAAAAAAAAAA0AAAAEAAAACAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAAQAAAAMAAAAAwAAABMAAAABAAAAEgAAAAAAAAARAAAABAAAABAAAAADAAAAFwAAAAEAAAAWAAAAAAAAABUAAAAEAAAAFAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAQAAABMAAAACAAAAEgAAAAQAAAARAAAA/wAAABAAAAABAAAAFwAAAAIAAAAWAAAABAAAABUAAAD/AAAAFAAAAAEAAAAKAAAAAQAAAAsAAAAEAAAAAAAAAAQAAAABAAAAAQAAAA4AAAABAAAADwAAAAQAAAAEAAAABAAAAAUAAAAEAAAAAgAAAAQAAAADAAAABAAAAAgAAAAEAAAACQAAAAQAAAAGAAAABAAAAAcAAAAEAAAADAAAAAQAAAANAAAAAQAAABIAAAABAAAAEwAAAAQAAAAQAAAABAAAABEAAAABAAAAFgAAAAEAAAAXAAAABAAAABQAAAAEAAAAFQAAAAAAAAAFAAAABAAAAAAAAAAAAAAABwAAAAQAAAACAAAABAAAAAEAAAAEAAAABAAAAAQAAAADAAAABAAAAAYAAAAAAAAADQAAAAQAAAAIAAAAAAAAAA8AAAAEAAAACgAAAAQAAAAJAAAABAAAAAwAAAAEAAAACwAAAAQAAAAOAAAAAAAAABEAAAAEAAAAEAAAAAAAAAATAAAABAAAABIAAAAAAAAAFQAAAAQAAAAUAAAAAAAAABcAAAAEAAAAFgAAAIgDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAgBAAADgAAAA8AAAAQAAAAEQAAAAIAAAABAAAAAQAAAAEAAAAAAAAASAQAAA4AAAASAAAAEAAAABEAAAACAAAAAgAAAAIAAAACAAAAAAAAAFgEAAATAAAAFAAAAAIAAAAAAAAAaAQAABMAAAAVAAAAAgAAAAAAAACYBAAADgAAABYAAAAQAAAAEQAAAAMAAAAAAAAAiAQAAA4AAAAXAAAAEAAAABEAAAAEAAAAAAAAABgFAAAOAAAAGAAAABAAAAARAAAAAgAAAAMAAAADAAAAAwAAAAAAAAAAAGYgJhAGCGUYZRhDEEMQQxBDEEMQQxBDEEMQIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggAAAAAAAAAAGpASjAqKAogaThpOEkoSSgpICkgCRgJGGgwaDBoMGgwSCBIIEggSCAoGCgYKBgoGAgQCBAIEAgQZyhnKGcoZyhnKGcoZyhnKEcYRxhHGEcYRxhHGEcYRxhuYE5YLlAOUG5YTlAuSA5IDUANQE1ITUgtQC1ADTgNOG1QbVBNQE1ALTgtOA0wDTBrSGtIa0hrSGtIa0hrSGtISzhLOEs4SzhLOEs4SzhLOCswKzArMCswKzArMCswKzALKAsoCygLKAsoCygLKAsoAAAAAC9oL2gQgFCAMIAQeHCAUHgweBBwcHhQcDBwEGhvcG9wT2hPaC9gL2APYA9gb2hvaE9gT2AvWC9YD1gPWAAAAAAAAAAAZjhGICYgBhBmMEYYJhgGCGUoZSglECUQZCBkIGQgZCBkGGQYZBhkGEMQQxBDEEMQQxBDEEMQQxAAAAAAAAAAAGlISTgpOAkwCCgIKEgwSDAoMCgwCCAIIGdAZ0BnQGdARyhHKEcoRygnKCcoJygnKAcYBxgHGAcYAAAAAG14bXhugE6ALoAOgC54DnhOeC5wTXBNcA1wDXBtcG1wTWhNaC1oLWgNaA1obWhtaE1gTWAtYC1gDWANYAxYDFgMWAxYTFhMWExYTFgsWCxYLFgsWAxQDFAMUAxQbGBsYGxgbGBMUExQTFBMUCxQLFAsUCxQDEgMSAxIDEhrWGtYa1hrWGtYa1hrWGtYS0hLSEtIS0hLSEtIS0hLSCtIK0grSCtIK0grSCtIK0gLQAtAC0ALQAtAC0ALQAtAa1BrUGtQa1BrUGtQa1BrUEtAS0BLQEtAS0BLQEtAS0ArQCtAK0ArQCtAK0ArQCtACzgLOAs4CzgLOAs4CzgLOAAAAAAAAAAAAAAAAAAAAAAGGEY4JjgGEGZIRjAmMAYIJSglKEUoRSglICUgRSBFICUYJRhlQGVARRhFGCUQJRBkOGQ4ZDhkOGQwZDBkMGQwZChkKGQoZChkIGQgZCBkIGQYZBhkGGQYRBBEEEQQRBAkCCQIJAgkCAQABAAEAAQAAAAKgGqASoAqgAp4anhKeCp4CnBqcEpwKnAKaCloKWgJYAlgSWhJaClgKWAJWAlYaWhpaElgSWApWClYCVAJUGhgaGBoYGhgSFhIWEhYSFgoUChQKFAoUAhICEgISAhIaFhoWGhYaFhIUEhQSFBIUChIKEgoSChICEAIQAhACEAHOAc4BzgHOAc4BzgHOAc4BzAHMAcwBzAHMAcwBzAHMEdIR0hHSEdIR0hHSEdIR0gHKAcoBygHKAcoBygHKAcoZ1BnUGdQZ1BnUGdQZ1BnUEdAR0BHQEdAR0BHQEdAR0AnQCdAJ0AnQCdAJ0AnQCdAByAHIAcgByAHIAcgByAHIAYIJggAAAYABhAmEEYQAAAGGCYYRhhmGAYgJiBGIGYgBigmKEYoZigGMCYwRjBmMAY4JjhGOGY4BkAmQEZAZkAGSCZIRkhmSAZQJlBGUGZQBlgmWEZYZlgGYCZgRmBmYAZoJmhGaGZoBnAmcEZwZnAGeCZ4RnhmeAaAJoBGgGaAAABDEAIAAgAhCCEIIQghCGcgZyBIICggRxhHGCcYJxgGIAYgBiAGIAYYBhgGGAYYBhAGEAYQBhBmGGYYZhhmGCYQJhAmECYQBggGCAYIBghKZXNzaWNhACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASmVzc2lidWNhAGNsb3NlAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAcGxheUF1ZGlvAGluaXRBdWRpbwBzZXQgYXVkaW8gYnVmZmVyTGVuZ3RoOiVkADVTbGljZQA4SU9CdWZmZXIAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgbm90IHN1cHBvcnQ6ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADdKZXNzaWNhAFA3SmVzc2ljYQBQSzdKZXNzaWNhAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAA5SmVzc2lidWNhAE4xMGVtc2NyaXB0ZW43d3JhcHBlckk3SmVzc2ljYUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQOUplc3NpYnVjYQBQSzlKZXNzaWJ1Y2EAaWlpaQBhdWRpbyBpbml0ISAlZABERUNPREVSIElOSVRJQUxJWkFUSU9OIEZBSUxFRAoASDI2NCBpbml0ADhCcm9hZHdheQAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgB2aWRlbyBkZWNvZGUgJWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAQEBAQEBAgICAgICAwMDAwMDBAQEBAQEBQUFBQUFBgYGBgYGBwcHBwcHCAgICAABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAAGVVREQ0NCMjIyMTExMTAQEBAQEBAQEBAQEBAQEBAQD56dnIyLi4p6enp5eXl5eGhoaGhoaGhnZ2dnZ2dnZ25tbGtqWllZWEhISEdHR0dGRkZGRUVFRUQ0NDQ0NDQ0MzMzMzMzMzMyMjIyMjIyMjExMTExMTExMDAwMDAwMDA9a2xcWlpZWVhISEhFRUVFREREREBAQEBHNzc3Nzc3NzY2NjY2NjY2MzMzMzMzMzMyMjIyMjIyMjExMTExMTExPFtaUFlJR0dDQ0JCSDg4ODY2NjY1NTU1NDQ0NDExMTE7WVpKSEhCQkFBQEBHNzc3NjY2NjU1NTU0NDQ0MzMzMzpgYVFYSEhISTk5OTk5OTk3Nzc3Nzc3NzY2NjY2NjY2NTU1NTU1NTU0NDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjI5YGFRV0dHR0g4ODg4ODg4NjY2NjY2NjY0NDQ0NDQ0NDMzMzMzMzMzMjIyMjIyMjI1JSUlJSUlJSUlJSUlJSUlKGBiUlFBQUFHNzc3Nzc3NzY2NjY2NjY2MzMzMzMzMzM1JSUlJSUlJSUlJSUlJSUlJCQkJCQkJCQkJCQkJCQkJCFgZ1dSQkJCRTU1NTU1NTU2JiYmJiYmJiYmJiYmJiYmJCQkJCQkJCQkJCQkJCQkJCMjIyMjIyMjIyMjIyMjIyMhUFZGQjIyMjUlJSUlJSUlJCQkJCQkJCQjIyMjIyMjIyBBQjIzMzU1NBQUFBQUFBQQQUQ0MiIiIiMTExMTExMTEDEzIyISEhIQISISERASISAQEyIhICQzMiIhISAgJTQzMjEhICAhMjQzNjUwICABABAgQIIAMFCgwPLwcLDQ4GCR8jJSosISIkKCcrLS4REhQYExUaHBcbHR4WGSYpLx8PABcbHR4HCw0OJystLhADBQoMExUaHCMlKiwBAgQIERIUGAYJFhkgISIkKCYpAAAAAAAAAAAAAAAAAAAAAAQEBQYHCAkKDA0PERQWGRwgJCgtMjg/R1BaZXF/kKK2y+L//wAAAAAAAAAAAAAAAAAAAAACAgIDAwMDBAQEBgYHBwgICQkKCgsLDAwNDQ4ODw8QEBEREhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAEAAQEAAQEBAQEBAQEBAQEBAQEBAQIBAQIBAQIBAQIBAgMBAgMCAgMCAgQCAwQCAwQDAwUDBAYDBAYEBQcEBQgEBgkFBwoGCAsGCA0HCg4ICxAJDBIKDRQLDxcNERl2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=13120;function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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 ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};console.log(AudioContext);Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){postMessage({cmd:"playAudio",buffer:HEAPU8.subarray(data,data+len)})},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___cxa_allocate_exception,"r":___cxa_begin_catch,"s":___cxa_find_matching_catch,"t":___cxa_free_exception,"u":___cxa_pure_virtual,"v":___cxa_throw,"w":___gxx_personality_v0,"x":___resumeException,"y":___setErrNo,"z":___syscall140,"A":___syscall146,"B":___syscall6,"C":__embind_create_inheriting_constructor,"D":__embind_register_bool,"E":__embind_register_class,"F":__embind_register_class_class_function,"G":__embind_register_class_function,"H":__embind_register_class_property,"I":__embind_register_emval,"J":__embind_register_float,"K":__embind_register_integer,"L":__embind_register_memory_view,"M":__embind_register_std_string,"N":__embind_register_std_wstring,"O":__embind_register_void,"P":__emscripten_traverse_stack,"Q":__emval_addMethodCaller,"R":__emval_allocateDestructors,"S":__emval_as,"T":__emval_call,"U":__emval_call_method,"V":__emval_call_void_method,"W":__emval_decref,"X":__emval_get_global,"Y":__emval_get_method_caller,"Z":__emval_get_property,"_":__emval_incref,"$":__emval_lookupTypes,"aa":__emval_new,"ab":__emval_new_cstring,"ac":__emval_new_object,"ad":__emval_register,"ae":__emval_run_destructors,"af":__emval_set_property,"ag":__emval_take_value,"ah":__formatString,"ai":__reallyNegative,"aj":_abort,"ak":_clock,"al":_embind_repr,"am":_emscripten_get_callstack_js,"an":_emscripten_get_heap_size,"ao":_emscripten_log,"ap":_emscripten_log_js,"aq":_emscripten_memcpy_big,"ar":_emscripten_resize_heap,"as":_init,"at":_llvm_trap,"au":abortOnCannotGrowMemory,"av":constNoSmartPtrRawPointerToWireType,"aw":count_emval_handles,"ax":craftEmvalAllocator,"ay":craftInvokerFunction,"az":createNamedFunction,"aA":downcastPointer,"aB":embind__requireFunction,"aC":embind_init_charCodes,"aD":emval_get_global,"aE":ensureOverloadTable,"aF":exposePublicSymbol,"aG":extendError,"aH":floatReadValueFromPointer,"aI":flushPendingDeletes,"aJ":flush_NO_FILESYSTEM,"aK":genericPointerToWireType,"aL":getBasestPointer,"aM":getInheritedInstance,"aN":getInheritedInstanceCount,"aO":getLiveInheritedInstances,"aP":getShiftFromSize,"aQ":getStringOrSymbol,"aR":getTypeName,"aS":get_first_emval,"aT":heap32VectorToArray,"aU":init_ClassHandle,"aV":init_RegisteredPointer,"aW":init_embind,"aX":init_emval,"aY":integerReadValueFromPointer,"aZ":makeClassHandle,"a_":makeLegalFunctionName,"a$":new_,"ba":nonConstNoSmartPtrRawPointerToWireType,"bb":readLatin1String,"bc":registerInheritedInstance,"bd":registerType,"be":replacePublicSymbol,"bf":requireHandle,"bg":requireRegisteredType,"bh":runDestructor,"bi":runDestructors,"bj":setDelayFunction,"bk":shallowCopyInternalPointer,"bl":simpleReadValueFromPointer,"bm":throwBindingError,"bn":throwInstanceAlreadyDeleted,"bo":throwInternalError,"bp":throwUnboundTypeError,"bq":unregisterInheritedInstance,"br":upcastPointer,"bs":validateThis,"bt":whenDependentTypesAreResolved,"bu":tempDoublePtr,"bv":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bu|0,i=env.bv|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=13136,Ob=5256016,Pb=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function ac(){Hd();cg()}function bc(a){a=a|0;var b=0;b=Nb;Nb=Nb+a|0;Nb=Nb+15&-16;return b|0}function cc(){return Nb|0}function dc(a){a=a|0;Nb=a}function ec(a,b){a=a|0;b=b|0;Nb=a;Ob=b}function fc(){La();return 0}function gc(a){a=a|0;var b=0;X(608,616,632,0,7443,3,7446,0,7446,0,6796,7448,25);b=Ug(8)|0;c[b>>2]=6;c[b+4>>2]=0;Z(608,6804,3,1408,7451,1,b|0,0);b=Ug(8)|0;c[b>>2]=7;c[b+4>>2]=0;Z(608,6810,3,1420,7451,2,b|0,0);b=Ug(8)|0;c[b>>2]=26;c[b+4>>2]=0;Z(608,6817,2,1432,7456,8,b|0,0);b=Ug(8)|0;c[b>>2]=27;c[b+4>>2]=0;Z(608,6824,2,1432,7456,8,b|0,0);b=Ug(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=Ug(8)|0;c[a>>2]=10;c[a+4>>2]=0;_(608,6842,576,7460,1,b|0,576,7451,3,a|0);a=Ug(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=Ug(8)|0;c[b>>2]=12;c[b+4>>2]=0;_(608,6852,576,7460,1,a|0,576,7451,3,b|0);b=Ug(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=Ug(8)|0;c[a>>2]=14;c[a+4>>2]=0;_(608,6860,576,7460,1,b|0,576,7451,3,a|0);a=Ug(8)|0;c[a>>2]=15;c[a+4>>2]=0;b=Ug(8)|0;c[b>>2]=16;c[b+4>>2]=0;_(608,6872,576,7460,1,a|0,576,7451,3,b|0);b=Ug(8)|0;c[b>>2]=17;c[b+4>>2]=0;a=Ug(8)|0;c[a>>2]=18;c[a+4>>2]=0;_(608,6884,576,7460,1,b|0,576,7451,3,a|0);a=Ug(8)|0;c[a>>2]=19;c[a+4>>2]=0;_(608,6888,576,7460,1,a|0,0,0,0,0);X(688,704,720,608,7443,4,7443,5,7443,6,6899,7448,28);a=Ug(4)|0;c[a>>2]=29;Z(688,7464,2,1440,7456,20,a|0,0);Y(608,7484,3,1448,7607,5,2);Y(608,7494,3,1588,7607,6,4);return}function hc(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.0;o=Nb;Nb=Nb+16|0;n=o+8|0;m=o;e=b+228|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[12224]|0)==0?ai(12224)|0:0)c[3072]=pa(1,1320)|0;ma(c[3072]|0,f|0,6909,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=ua(6915)|0;g=qa(g|0,j|0)|0;na(j|0);p=+ja(g|0,1208,m|0);xa(c[m>>2]|0);j=p!=0.0;na(g|0);c[n>>2]=6923;c[n+4>>2]=j?6932:6937;Ha(0,n|0);a[b+84>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Ag(f,46,g)|0;if(!f){g=h;break a}if(!(lg(f,6943,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+229>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=oa(6948)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Og(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Og(f+4|0)|0;c[g>>2]=f;e=d}pi(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=ta(h|0,1,1324,n|0)|0;na(h|0);xc(m,6958,6969);yc(n,b,6810);k=c[m>>2]|0;d=ua(6981)|0;ya(k|0,d|0,c[n>>2]|0);na(d|0);na(c[n>>2]|0);c[b+220>>2]=Da()|0;b=c[l>>2]|0;n=ua(6991)|0;ya(b|0,n|0,c[m>>2]|0);na(n|0);na(c[m>>2]|0);Nb=o;return}function ic(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=Nb;Nb=Nb+112|0;j=B+16|0;y=B+8|0;l=B;A=B+88|0;w=B+72|0;x=B+56|0;m=B+40|0;n=B+24|0;f=c[e>>2]|0;z=ua(7119)|0;c[l>>2]=qa(f|0,z|0)|0;na(z|0);Bc(A,l);na(c[l>>2]|0);z=A+11|0;f=a[z>>0]|0;k=A+4|0;e=b+224|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=Da()|0;h=b+220|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+240>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+229>>0]|0))switch(a[(hh(A,0)|0)>>0]|0){case 1:{h=a[z>>0]|0;e=c[k>>2]|0;i=Ug(16)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;y=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=1372;Cc(b,y,m);c[m>>2]=1356;e=c[e>>2]|0;y=e+12|0;b=(c[y>>2]|0)+-1|0;c[y>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)Vg(c[i>>2]|0);Vg(i);break a}case 2:{h=a[z>>0]|0;e=c[k>>2]|0;i=Ug(16)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;y=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[n+8>>2]=5;c[n+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=n+4|0;c[e>>2]=i;c[j>>2]=2;c[n>>2]=1372;Ec(b,y,n);c[n>>2]=1356;e=c[e>>2]|0;y=e+12|0;b=(c[y>>2]|0)+-1|0;c[y>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)Vg(c[i>>2]|0);Vg(i);break a}case 10:{e=c[b+4>>2]|0;f=ua(6991)|0;e=qa(e|0,f|0)|0;na(f|0);f=ua(7145)|0;h=f;if((a[12272]|0)==0?ai(12272)|0:0)c[3078]=pa(2,1396)|0;b=c[3078]|0;ra(f|0);c[l>>2]=h;ma(b|0,e|0,7140,l|0);na(f|0);na(e|0);break a}default:{b=a[(hh(A,0)|0)>>0]|0;c[j>>2]=7161;c[j+4>>2]=b;Ha(1,j|0);break a}}else{l=a[z>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;t=b+16|0;e=c[t>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;u=b+20|0;j=c[u>>2]|0;v=b+24|0;k=c[v>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}eh(e,j+l+k+f+h|0,0);e=c[t>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;pi(e+(c[u>>2]|0)+(c[v>>2]|0)|0,((a[z>>0]|0)<0?c[A>>2]|0:A)|0,l|0)|0;f=(c[v>>2]|0)+l|0;c[v>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[u>>2]=13;break}b:do if((f|0)>3){n=w+8|0;o=w+12|0;p=w+4|0;q=x+8|0;r=x+12|0;s=x+4|0;while(1){l=c[t>>2]|0;m=l+11|0;if((a[m>>0]|0)<0)e=c[l>>2]|0;else e=l;j=c[u>>2]|0;i=a[e+j>>0]|0;e=j+1|0;c[u>>2]=e;c[v>>2]=f+-1;if((a[m>>0]|0)<0)h=c[l>>2]|0;else h=l;k=h+e+2|0;C=a[k>>0]|0;D=a[k+-1>>0]|0;k=a[k+-2>>0]|0;e=j+4|0;c[u>>2]=e;h=f+-4|0;c[v>>2]=h;k=(D&255)<<8|C&255|(k&255)<<16;if(h>>>0<(k+11|0)>>>0)break;if((a[m>>0]|0)<0)h=c[l>>2]|0;else h=l;h=h+e+2|0;h=d[h+-1>>0]<<8|d[h>>0]|d[h+-2>>0]<<16;e=j+11|0;c[u>>2]=e;c[v>>2]=f+-11;switch(i<<24>>24){case 8:{f=l+12|0;C=c[f>>2]|0;c[n>>2]=e;c[o>>2]=k;c[p>>2]=l;c[f>>2]=C+2;c[w>>2]=1372;Cc(b,h,w);c[w>>2]=1356;e=c[p>>2]|0;C=e+12|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(!((e|0)==0|(D|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}D=(c[f>>2]|0)+-1|0;c[f>>2]=D;if(!D){if((a[m>>0]|0)<0)Vg(c[l>>2]|0);Vg(l)}break}case 9:{f=l+12|0;C=c[f>>2]|0;c[q>>2]=e;c[r>>2]=k;c[s>>2]=l;c[f>>2]=C+2;c[x>>2]=1372;Ec(b,h,x);c[x>>2]=1356;e=c[s>>2]|0;C=e+12|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(!((e|0)==0|(D|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}D=(c[f>>2]|0)+-1|0;c[f>>2]=D;if(!D){if((a[m>>0]|0)<0)Vg(c[l>>2]|0);Vg(l)}break}default:{c[y>>2]=7124;c[y+4>>2]=i&255;Ha(0,y|0)}}D=(c[v>>2]|0)-k|0;c[u>>2]=(c[u>>2]|0)+k+4;f=D+-4|0;c[v>>2]=f;if((D|0)<=7)break b}c[u>>2]=j;c[v>>2]=f}while(0);e=c[t>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;qi(e|0,e+(c[u>>2]|0)|0,f|0)|0;eh(c[t>>2]|0,c[v>>2]|0,0);c[u>>2]=0}while(0);if((a[z>>0]|0)>=0){Nb=B;return}Vg(c[A>>2]|0);Nb=B;return}function jc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Nb;Nb=Nb+32|0;i=l;g=oa(7384)|0;j=b+212|0;c[i>>2]=c[j>>2];na(ka(g|0,1,1404,i|0)|0);na(g|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;g=b+184|0;Uc(g);Tc(g);e=c[b+188>>2]|0;f=b+192|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);Vc(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+200>>2]=0;c[b+204>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;Uc(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Vg(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)Vg(d);if((a[b+84>>0]|0)==0?(k=c[b+56>>2]|0,k|0):0)Pg(k);c[j>>2]=0;a[b+216>>0]=1;a[b+208>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Nb=l;return}function kc(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;p=Nb;Nb=Nb+16|0;e=p+4|0;j=p;k=b+204|0;a:do if(c[k>>2]|0){l=b+188|0;m=b+200|0;n=b+4|0;o=b+236|0;f=b+48|0;g=b+184|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=Jc(c[n>>2]|0,7375,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;Ic(f,h+(i*20|0)+4|0);Wc(g);if(!(c[k>>2]|0))break a;else d=1}a[b+208>>0]=1;c[b+212>>2]=Kc(c[n>>2]|0,7359,j)|0;Nb=p;return}while(0);a[b+208>>0]=0;Nb=p;return}function lc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Nb;Nb=Nb+16|0;f=e;c[f>>2]=d[b+228>>0];c[a>>2]=za(1208,f|0)|0;Nb=e;return}function mc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Nb;Nb=Nb+16|0;g=e;f=+ja(c[d>>2]|0,1208,g|0);xa(c[g>>2]|0);a[b+228>>0]=f!=0.0&1;Nb=e;return}function nc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Nb;Nb=Nb+16|0;f=e;c[f>>2]=d[b+229>>0];c[a>>2]=za(1208,f|0)|0;Nb=e;return}function oc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Nb;Nb=Nb+16|0;g=e;f=+ja(c[d>>2]|0,1208,g|0);xa(c[g>>2]|0);a[b+229>>0]=f!=0.0&1;Nb=e;return}function pc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Nb;Nb=Nb+16|0;e=d;c[e>>2]=c[b+232>>2];c[a>>2]=za(1256,e|0)|0;Nb=d;return}function qc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Nb;Nb=Nb+16|0;f=d;e=+ja(c[b>>2]|0,1256,f|0);xa(c[f>>2]|0);c[a+232>>2]=~~e;Nb=d;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Nb;Nb=Nb+16|0;e=d;c[e>>2]=c[b+236>>2];c[a>>2]=za(1256,e|0)|0;Nb=d;return}function sc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Nb;Nb=Nb+16|0;f=d;e=+ja(c[b>>2]|0,1256,f|0);xa(c[f>>2]|0);c[a+236>>2]=~~e;Nb=d;return}function tc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Nb;Nb=Nb+16|0;e=d;g[e>>3]=+g[b+240>>3];c[a>>2]=za(1296,e|0)|0;Nb=d;return}function uc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Nb;Nb=Nb+16|0;f=d;e=+ja(c[b>>2]|0,1296,f|0);xa(c[f>>2]|0);g[a+240>>3]=e;Nb=d;return}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Nb;Nb=Nb+16|0;e=d+4|0;f=d;c[e>>2]=va()|0;i=b+188|0;h=b+200|0;j=c[h>>2]|0;g=(j>>>0)/204|0;Xc(e,7397,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+204|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;Yc(e,7403,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];Zc(e,7408,f);b=c[e>>2]|0;c[a>>2]=b;ra(b|0);na(c[e>>2]|0);Nb=d;return}function wc(a){a=a|0;na(c[a>>2]|0);return}function xc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=ua(b|0)|0;d=ua(d|0)|0;ya(a|0,b|0,d|0);na(d|0);na(b|0);return}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=ua(d|0)|0;d=qa(f|0,e|0)|0;na(e|0);Ac(a,d,7095,b);na(d|0);return}function zc(a){a=a|0;K(a|0)|0;Fh()}function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Nb;Nb=Nb+16|0;g=i;h=i+8|0;if((a[12232]|0)==0?ai(12232)|0:0)c[3073]=pa(2,1328)|0;k=c[3073]|0;ra(c[f>>2]|0);c[g>>2]=c[f>>2];j=+la(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;xa(h|0);Nb=i;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Nb;Nb=Nb+16|0;e=h;i=+ja(c[d>>2]|0,552,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)_g(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;xa(e|0);Nb=h;return}else d=b}else{j=g+16&-16;d=Ug(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}pi(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;xa(e|0);Nb=h;return}function Cc(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;l=Nb;Nb=Nb+16|0;k=l;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[12240]|0)==0?ai(12240)|0:0)c[3074]=pa(3,1336)|0;b=c[3074]|0;c[k>>2]=h;c[k+8>>2]=c[g>>2];ma(b|0,e|0,7244,k|0);Nb=l;return}}if(h)e=c[e>>2]|0;h=a[e+j>>0]|0;c[i>>2]=j+1;e=f+12|0;c[e>>2]=(c[e>>2]|0)+-1;e=h&255;if(!(a[b+217>>0]|0)){Nb=l;return}g=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch((h&255)>>>4&15){case 10:{Fc(b,c[b+232>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Nb=l;return}case 11:{Fc(b,16e3,16e3,g);Nb=l;return}case 2:{Fc(b,(c[b+232>>2]|0)*576|0,e,g);Nb=l;return}default:{Nb=l;return}}}function Dc(b){b=b|0;var d=0,e=0;c[b>>2]=1356;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)Vg(c[b>>2]|0);Vg(b);return}function Ec(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=Nb;Nb=Nb+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+216|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Nb=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Nb=o;return}Ic(b+48|0,e);a[j>>0]=0;c[k>>2]=7307;Ha(0,k|0);Nb=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[12224]|0)==0?ai(12224)|0:0)c[3072]=pa(1,1320)|0;ma(c[3072]|0,f|0,7323,n|0);Nb=o;return}}if(!d){Nb=o;return}g=b+236|0;a:do if(c[g>>2]|0){h=b+208|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=Jc(c[f>>2]|0,7375,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+212>>2]=Kc(c[f>>2]|0,7359,l)|0;break}else break a}while(0);Lc(b+184|0,m,e);Nb=o;return}while(0);Ic(b+48|0,e);Nb=o;return}function Fc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Nb;Nb=Nb+32|0;h=i;a[b+217>>0]=0;j=r(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=Og(j)|0;c[h>>2]=7264;c[h+4>>2]=j;Ha(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[12248]|0)==0?ai(12248)|0:0)c[3075]=pa(5,16)|0;j=c[3075]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;ma(j|0,b|0,7254,h|0);Nb=i;return}function Gc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=1356;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){Vg(b);return}if((a[d+11>>0]|0)<0)Vg(c[d>>2]|0);Vg(d);Vg(b);return}function Hc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=1356;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){Vg(b);return}if((a[d+11>>0]|0)<0)Vg(c[d>>2]|0);Vg(d);Vg(b);return}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Nb;Nb=Nb+16|0;j=k;e=c[d+4>>2]|0;g=(a[e+11>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;h=d+8|0;i=c[h>>2]|0;if((a[f+i>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(i+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+i>>0]|0;c[h>>2]=i+5;i=d+12|0;c[i>>2]=(c[i>>2]|0)+-5;switch(e&15){case 7:{Xb[c[(c[b>>2]|0)+12>>2]&31](b,d);Nb=k;return}case 12:{Xb[c[(c[b>>2]|0)+16>>2]&31](b,d);Nb=k;return}default:{c[j>>2]=7337;c[j+4>>2]=e&15;Ha(0,j|0);Nb=k;return}}}}c[h>>2]=i+5;j=d+12|0;c[j>>2]=(c[j>>2]|0)+-5;Xb[c[(c[b>>2]|0)+24>>2]&31](b,d);Nb=k;return}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Nb;Nb=Nb+16|0;f=h;g=h+8|0;if((a[12256]|0)==0?ai(12256)|0:0)c[3076]=pa(2,1380)|0;j=c[3076]|0;c[f>>2]=c[e>>2];i=+la(j|0,b|0,d|0,g|0,f|0);xa(c[g>>2]|0);Nb=h;return ~~i|0}function Kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Nb;Nb=Nb+16|0;f=h;g=h+8|0;if((a[12264]|0)==0?ai(12264)|0:0)c[3077]=pa(2,1388)|0;j=c[3077]|0;c[f>>2]=c[e>>2];i=+la(j|0,b|0,d|0,g|0,f|0);xa(c[g>>2]|0);Nb=h;return ~~i|0}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,l=0,m=0;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){Mc(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=1372;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)Vg(c[f>>2]|0);Vg(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Nb;Nb=Nb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qi(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=J(8)|0;Yg(r,7176);c[r>>2]=5376;O(r|0,1128,19)}else{h=Ug(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){Vg(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Nb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=J(8)|0;Yg(r,7176);c[r>>2]=5376;O(r|0,1128,19)}else{d=Ug(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Ug(4080)|0;Pc(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Qc(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)Vg(f);Nb=r;return}if((d|0)!=(b|0)){c[k>>2]=Ug(4080)|0;Nc(a,k);Nb=r;return}c[k>>2]=Ug(4080)|0;Oc(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{qi(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=J(8)|0;Yg(r,7176);c[r>>2]=5376;O(r|0,1128,19)}else{h=Ug(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){Vg(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Nb=r;return}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=J(8)|0;Yg(q,7176);c[q>>2]=5376;O(q|0,1128,19)}else{i=Ug(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Vg(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=J(8)|0;Yg(q,7176);c[q>>2]=5376;O(q|0,1128,19)}else{h=Ug(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Vg(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qi(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=J(8)|0;Yg(q,7176);c[q>>2]=5376;O(q|0,1128,19)}else{i=Ug(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){Vg(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qi(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=J(8)|0;Yg(q,7176);c[q>>2]=5376;O(q|0,1128,19)}else{h=Ug(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){Vg(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Rc(a){a=a|0;var b=0,d=0,e=0,f=0;Uc(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{Vg(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;Vg(b);return}function Sc(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Pg(b);return}function Tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{Vg(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Vc(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){Vg(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Vc(a);return}Vg(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Vc(a);return}function Uc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=1356;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{Vg(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Vc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=J(8)|0;Yg(l,7176);c[l>>2]=5376;O(l|0,1128,19)}else{g=Ug(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;Vg(b);return}function Wc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=1356;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;Vg(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Nb;Nb=Nb+16|0;f=e;a=c[a>>2]|0;b=ua(b|0)|0;c[f>>2]=c[d>>2];d=za(1272,f|0)|0;ya(a|0,b|0,d|0);na(d|0);na(b|0);Nb=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Nb;Nb=Nb+16|0;f=e;a=c[a>>2]|0;b=ua(b|0)|0;c[f>>2]=c[d>>2];d=za(1272,f|0)|0;ya(a|0,b|0,d|0);na(d|0);na(b|0);Nb=e;return}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Nb;Nb=Nb+16|0;f=e;a=c[a>>2]|0;b=ua(b|0)|0;c[f>>2]=c[d>>2];d=za(1280,f|0)|0;ya(a|0,b|0,d|0);na(d|0);na(b|0);Nb=e;return}function _c(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function $c(a){a=a|0;if(!a)return;Wb[c[(c[a>>2]|0)+4>>2]&31](a);return}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Nb;Nb=Nb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)_g(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Ug(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)pi(b|0,d|0,e|0)|0;a[b+e>>0]=0;Xb[f&31](g,h);if((a[h+11>>0]|0)>=0){Nb=j;return}Vg(c[h>>2]|0);Nb=j;return}function bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Nb;Nb=Nb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Xb[e&31](a,f);na(c[f>>2]|0);Nb=g;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Wb[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Wb[e&31](a);return}}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Nb;Nb=Nb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Xb[d&31](e,a);ra(c[e>>2]|0);g=c[e>>2]|0;na(g|0);Nb=f;return g|0}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Nb;Nb=Nb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Xb[e&31](a,f);na(c[f>>2]|0);Nb=g;return}function fd(b,d){b=b|0;d=d|0;var e=0;e=Ug(256)|0;qd(e,d);a[e+248>>0]=0;c[e+252>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=1468;return e|0}function gd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=V(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,688,c[e>>2]|0)|0;return}function hd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function id(a){a=a|0;if(!a)return;Wb[c[(c[a>>2]|0)+4>>2]&31](a);return}function jd(a){a=a|0;return a|0}function kd(a){a=a|0;return a|0}function ld(a,b){a=a|0;b=b|0;Wb[c[a>>2]&31](b);return}function md(b){b=b|0;a[b+248>>0]=1;return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Nb;Nb=Nb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Sb[a&3](f,g)|0;na(c[g>>2]|0);na(c[f>>2]|0);Nb=e;return d|0}function od(b){b=b|0;var d=0,e=0,f=0,g=0;g=Nb;Nb=Nb+16|0;e=g;c[b>>2]=1484;d=b+252|0;if(!(a[b+248>>0]|0)){f=c[d>>2]|0;na(f|0);ud(b);Nb=g;return}f=c[d>>2]|0;if((a[12224]|0)==0?ai(12224)|0:0)c[3072]=pa(1,1320)|0;ma(c[3072]|0,f|0,7819,e|0);f=c[d>>2]|0;na(f|0);ud(b);Nb=g;return}function pd(a){a=a|0;od(a);Vg(a);return}function qd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Nb;Nb=Nb+32|0;h=f+16|0;j=f;c[d>>2]=1500;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[e>>2]=1356;c[d+20>>2]=0;c[d+24>>2]=0;i=Ug(16)|0;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]=1;c[d+16>>2]=i;c[e>>2]=1372;c[d+32>>2]=0;c[h>>2]=7612;c[h+4>>2]=d+28;Ha(0,h|0);sd(d+48|0);e=d+184|0;c[d+212>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+216>>0]=1;a[d+217>>0]=1;e=d+220|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+232>>2]=12;c[d+52>>2]=g;Nb=f;return}function rd(a){a=a|0;od(a);Vg(a);return}function sd(b){b=b|0;var d=0,e=0,f=0;f=Nb;Nb=Nb+16|0;e=f+8|0;d=f;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=1516;if(!(Zf(b+40|0,0)|0)){c[b+132>>2]=1;c[b+128>>2]=1;c[e>>2]=7658;Ha(0,e|0);Nb=f;return}else{c[d>>2]=7627;Ha(0,d|0);Nb=f;return}}function td(a){a=a|0;var b=0,d=0,e=0;b=Nb;Nb=Nb+16|0;d=b+8|0;e=b;c[e>>2]=7751;Ha(0,e|0);Pg(c[a+8>>2]|0);c[d>>2]=7774;Ha(0,d|0);Nb=b;return}function ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Nb;Nb=Nb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=1500;f=oa(7384)|0;c[d>>2]=c[b+212>>2];na(ka(f|0,1,1404,d|0)|0);na(f|0);c[g>>2]=7798;Ha(0,g|0);g=b+184|0;Uc(g);f=b+188|0;d=c[f>>2]|0;h=b+192|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{Vg(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)Vg(d);wd(b+48|0);c[i>>2]=7751;Ha(0,i|0);Pg(c[b+36>>2]|0);c[j>>2]=7774;Ha(0,j|0);c[b+12>>2]=1356;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;na(b|0);Nb=k;return}if((a[d+11>>0]|0)<0)Vg(c[d>>2]|0);Vg(d);b=b+4|0;b=c[b>>2]|0;na(b|0);Nb=k;return}function vd(a){a=a|0;ud(a);Vg(a);return}function wd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Nb;Nb=Nb+16|0;g=h;c[b>>2]=1516;d=b+40|0;e=c[d>>2]|0;if(e|0){_f(e);c[d>>2]=0}c[b>>2]=1556;if((a[b+36>>0]|0)==0?(f=c[b+8>>2]|0,f|0):0)Pg(f);c[g>>2]=7693;Ha(0,g|0);Nb=h;return}function xd(a){a=a|0;wd(a);Vg(a);return}function yd(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=Nb;Nb=Nb+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=1372;Xb[g&31](b,j);c[j>>2]=1356;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)Vg(c[l>>2]|0);Vg(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Nb=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=1372;Xb[q&31](b,o);c[o>>2]=1356;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Nb=p;return}if((a[i>>0]|0)<0)Vg(c[h>>2]|0);Vg(h);Nb=p;return}function zd(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;p=Nb;Nb=Nb+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=1372;Xb[g&31](b,h);c[h>>2]=1356;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)Vg(c[i>>2]|0);Vg(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=1372;Xb[q&31](b,k);c[k>>2]=1356;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)Vg(c[g>>2]|0);Vg(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=1372;Xb[q&31](b,o);c[o>>2]=1356;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)Vg(c[e>>2]|0);Vg(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Nb=p;return}if((a[h>>0]|0)<0)Vg(c[g>>2]|0);Vg(g);Nb=p;return}function Ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Nb;Nb=Nb+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Nb=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=1372;Xb[d&31](b,q);c[q>>2]=1356;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)Vg(c[d>>2]|0);Vg(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)Vg(c[g>>2]|0);Vg(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Nb=u;return}function Bd(b,d){b=b|0;d=d|0;var e=0;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[b+44>>2]=e+(c[d+8>>2]|0);e=b+48|0;c[e>>2]=c[d+12>>2];do Ed(b)|0;while((c[e>>2]|0)!=0);return}function Cd(b){b=b|0;var d=0,e=0,f=0;f=Nb;Nb=Nb+16|0;e=f;c[b>>2]=1556;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Pg(d);c[e>>2]=7693;Ha(0,e|0);Nb=f;return}function Dd(a){a=a|0;Ma()}function Ed(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=Nb;Nb=Nb+32|0;e=w+24|0;v=w;u=b+40|0;h=b+44|0;i=b+60|0;d=ag(c[u>>2]|0,h,i)|0;switch(d|0){case 4:{if($f(c[u>>2]|0,b+80|0)|0){v=-1;Nb=w;return v|0}d=c[b+88>>2]|0;f=b+12|0;c[f>>2]=c[b+84>>2];g=b+16|0;c[g>>2]=d;if(!(a[b+36>>0]|0)){d=(r(d<<2,d)|0)+33554432|0;d=Og((d>>>0>16777216?d:16777216)+16777215&-16777216)|0;c[b+8>>2]=d;e=c[c[b+4>>2]>>2]|0;if((a[12280]|0)==0?ai(12280)|0:0)c[3079]=pa(4,48)|0;u=c[3079]|0;c[v>>2]=c[f>>2];c[v+8>>2]=c[g>>2];c[v+16>>2]=d;ma(u|0,e|0,7733,v|0)}else{d=b+20|0;c[b+8>>2]=d;d=d>>2;e=c[c[b+4>>2]>>2]|0;if((a[12280]|0)==0?ai(12280)|0:0)c[3079]=pa(4,48)|0;u=c[3079]|0;c[v>>2]=c[f>>2];c[v+8>>2]=c[g>>2];c[v+16>>2]=d;ma(u|0,e|0,7733,v|0)}v=c[i>>2]|0;b=b+48|0;c[b>>2]=(c[h>>2]|0)-v+(c[b>>2]|0);c[h>>2]=v;v=0;Nb=w;return v|0}case 3:{t=c[i>>2]|0;s=b+48|0;c[s>>2]=(c[h>>2]|0)-t+(c[s>>2]|0);c[h>>2]=t;break}case 1:case -2:{c[b+48>>2]=0;v=d;Nb=w;return v|0}case 2:{c[b+48>>2]=0;break}default:{c[e>>2]=7717;c[e+4>>2]=0-d;Ha(0,e|0);c[b+48>>2]=0;v=d;Nb=w;return v|0}}i=b+128|0;c[i>>2]=(c[i>>2]|0)+1;i=b+64|0;if((bg(c[u>>2]|0,i,0)|0)!=2){v=d;Nb=w;return v|0}j=b+132|0;k=b+20|0;l=b+84|0;m=b+88|0;n=b+24|0;o=b+28|0;p=b+36|0;q=b+8|0;s=b+12|0;t=b+16|0;h=b+4|0;do{c[j>>2]=(c[j>>2]|0)+1;e=c[i>>2]|0;c[k>>2]=e;g=r(c[m>>2]|0,c[l>>2]|0)|0;f=g+e|0;c[n>>2]=f;g=f+(g>>>2)|0;c[o>>2]=g;if(!(a[p>>0]|0))Fd(e,f,g,c[q>>2]|0,c[s>>2]|0,c[t>>2]|0);e=c[c[h>>2]>>2]|0;if((a[12224]|0)==0?ai(12224)|0:0)c[3072]=pa(1,1320)|0;ma(c[3072]|0,e|0,7746,v|0)}while((bg(c[u>>2]|0,i,0)|0)==2);Nb=w;return d|0}function Fd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Gd(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=Nb;Nb=Nb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)_g(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Ug(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)pi(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Yb[b&7](h,j,k);ra(c[h>>2]|0);d=c[h>>2]|0;na(d|0);na(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Nb=l;return d|0}Vg(c[j>>2]|0);Nb=l;return d|0}function Hd(){gc(0);return}function Id(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=d[9110+b>>0]|0;s=d[9162+b>>0]|0;b=c[1936+(s*12|0)>>2]<<g;h=c[1936+(s*12|0)+4>>2]<<g;g=c[1936+(s*12|0)+8>>2]<<g;if(!e)c[a>>2]=r(c[a>>2]|0,b)|0;do if(!(f&65436)){if(f&98|0){j=a+4|0;l=r(c[j>>2]|0,h)|0;m=a+20|0;o=r(c[m>>2]|0,b)|0;n=a+24|0;q=r(c[n>>2]|0,h)|0;k=c[a>>2]|0;s=k+o|0;o=k-o|0;k=(l>>1)-q|0;l=(q>>1)+l|0;q=l+32+s>>6;c[a>>2]=q;p=k+32+o>>6;c[j>>2]=p;o=32-k+o>>6;c[a+8>>2]=o;s=32-l+s>>6;c[a+12>>2]=s;c[a+48>>2]=q;c[a+32>>2]=q;c[a+16>>2]=q;c[a+52>>2]=p;c[a+36>>2]=p;c[m>>2]=p;c[a+56>>2]=o;c[a+40>>2]=o;c[n>>2]=o;c[a+60>>2]=s;c[a+44>>2]=s;c[a+28>>2]=s;if((o+512|p+512|q+512|s+512)>>>0>1023)b=1;else break;return b|0}b=(c[a>>2]|0)+32>>6;if((b+512|0)>>>0>1023){a=1;return a|0}else{c[a+60>>2]=b;c[a+56>>2]=b;c[a+52>>2]=b;c[a+48>>2]=b;c[a+44>>2]=b;c[a+40>>2]=b;c[a+36>>2]=b;c[a+32>>2]=b;c[a+28>>2]=b;c[a+24>>2]=b;c[a+20>>2]=b;c[a+16>>2]=b;c[a+12>>2]=b;c[a+8>>2]=b;c[a+4>>2]=b;c[a>>2]=b;break}}else{n=a+4|0;f=a+56|0;u=a+60|0;z=c[u>>2]|0;o=r(c[n>>2]|0,h)|0;c[f>>2]=r(c[f>>2]|0,h)|0;c[u>>2]=r(z,g)|0;u=a+8|0;z=a+16|0;f=r(c[u>>2]|0,h)|0;w=r(c[a+20>>2]|0,b)|0;p=r(c[z>>2]|0,g)|0;x=a+32|0;A=a+12|0;q=r(c[x>>2]|0,h)|0;l=r(c[A>>2]|0,b)|0;t=r(c[a+24>>2]|0,h)|0;v=a+48|0;k=r(c[a+28>>2]|0,h)|0;i=r(c[v>>2]|0,g)|0;e=r(c[a+36>>2]|0,h)|0;s=r(c[a+40>>2]|0,g)|0;B=r(c[a+44>>2]|0,b)|0;y=r(c[a+52>>2]|0,h)|0;j=c[a>>2]|0;g=w+j|0;w=j-w|0;j=(o>>1)-t|0;o=(t>>1)+o|0;t=o+g|0;b=j+w|0;c[n>>2]=b;j=w-j|0;c[u>>2]=j;o=g-o|0;c[A>>2]=o;A=k+f|0;g=f-k|0;k=(p>>1)-i|0;p=(i>>1)+p|0;i=p+A|0;f=k+g|0;c[a+20>>2]=f;k=g-k|0;c[a+24>>2]=k;p=A-p|0;c[a+28>>2]=p;A=B+l|0;B=l-B|0;l=(q>>1)-y|0;q=(y>>1)+q|0;y=q+A|0;g=l+B|0;c[a+36>>2]=g;l=B-l|0;c[a+40>>2]=l;q=A-q|0;c[a+44>>2]=q;A=a+56|0;B=c[A>>2]|0;u=B+e|0;B=e-B|0;e=a+60|0;w=c[e>>2]|0;m=(s>>1)-w|0;s=(w>>1)+s|0;w=s+u|0;h=m+B|0;c[a+52>>2]=h;m=B-m|0;c[A>>2]=m;s=u-s|0;c[e>>2]=s;e=(i>>1)-w|0;i=(w>>1)+i|0;w=y+t+32|0;u=w+i>>6;c[a>>2]=u;y=t-y+32|0;t=y+e>>6;c[z>>2]=t;e=y-e>>6;c[x>>2]=e;i=w-i>>6;c[v>>2]=i;if((u+512|t+512)>>>0>1023){B=1;return B|0}if((i+512|e+512)>>>0>1023){B=1;return B|0}y=(f>>1)-h|0;f=(h>>1)+f|0;z=g+b+32|0;A=z+f>>6;c[n>>2]=A;b=b-g+32|0;B=b+y>>6;c[a+20>>2]=B;b=b-y>>6;c[a+36>>2]=b;f=z-f>>6;c[a+52>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(k>>1)-m|0;f=(m>>1)+k|0;z=l+j+32|0;A=z+f>>6;c[a+8>>2]=A;y=j-l+32|0;B=y+b>>6;c[a+24>>2]=B;b=y-b>>6;c[a+40>>2]=b;f=z-f>>6;c[a+56>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}b=(p>>1)-s|0;f=(s>>1)+p|0;z=q+o+32|0;A=z+f>>6;c[a+12>>2]=A;y=o-q+32|0;B=y+b>>6;c[a+28>>2]=B;b=y-b>>6;c[a+44>>2]=b;f=z-f>>6;c[a+60>>2]=f;if((A+512|B+512)>>>0>1023){B=1;return B|0}if((f+512|b+512)>>>0>1023){B=1;return B|0}}while(0);B=0;return B|0}function Jd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=a[9162+d>>0]|0;s=a[9110+d>>0]|0;C=b+8|0;u=c[C>>2]|0;i=c[b+20>>2]|0;p=b+16|0;y=c[p>>2]|0;q=b+32|0;z=c[q>>2]|0;D=b+12|0;v=c[D>>2]|0;f=c[b+24>>2]|0;l=c[b+28>>2]|0;n=b+48|0;g=c[n>>2]|0;B=c[b+36>>2]|0;A=c[b+40>>2]|0;E=c[b+44>>2]|0;h=c[b+52>>2]|0;o=c[b>>2]|0;k=i+o|0;i=o-i|0;o=b+4|0;x=c[o>>2]|0;t=x-f|0;x=f+x|0;f=x+k|0;c[b>>2]=f;j=t+i|0;c[o>>2]=j;t=i-t|0;c[C>>2]=t;x=k-x|0;c[D>>2]=x;D=l+u|0;l=u-l|0;u=y-g|0;y=g+y|0;g=y+D|0;c[p>>2]=g;k=u+l|0;c[b+20>>2]=k;u=l-u|0;c[b+24>>2]=u;y=D-y|0;c[b+28>>2]=y;D=E+v|0;E=v-E|0;v=z-h|0;z=h+z|0;h=z+D|0;c[b+32>>2]=h;l=v+E|0;c[b+36>>2]=l;v=E-v|0;c[b+40>>2]=v;z=D-z|0;c[b+44>>2]=z;D=b+56|0;E=c[D>>2]|0;C=E+B|0;E=B-E|0;B=b+60|0;i=c[B>>2]|0;w=A-i|0;A=i+A|0;i=A+C|0;c[b+48>>2]=i;m=w+E|0;c[b+52>>2]=m;w=E-w|0;c[D>>2]=w;A=C-A|0;c[B>>2]=A;s=s&255;e=c[1936+((e&255)*12|0)>>2]|0;if(d>>>0>11){E=e<<s+-2;d=h+f|0;B=f-h|0;C=g-i|0;D=i+g|0;c[b>>2]=r(D+d|0,E)|0;c[p>>2]=r(C+B|0,E)|0;c[q>>2]=r(B-C|0,E)|0;c[n>>2]=r(d-D|0,E)|0;D=l+j|0;d=j-l|0;C=k-m|0;B=m+k|0;c[o>>2]=r(B+D|0,E)|0;c[b+20>>2]=r(C+d|0,E)|0;c[b+36>>2]=r(d-C|0,E)|0;c[b+52>>2]=r(D-B|0,E)|0;B=v+t|0;v=t-v|0;D=u-w|0;C=w+u|0;c[b+8>>2]=r(C+B|0,E)|0;c[b+24>>2]=r(D+v|0,E)|0;c[b+40>>2]=r(v-D|0,E)|0;c[b+56>>2]=r(B-C|0,E)|0;C=z+x|0;z=x-z|0;B=y-A|0;D=A+y|0;c[b+12>>2]=r(D+C|0,E)|0;c[b+28>>2]=r(B+z|0,E)|0;c[b+44>>2]=r(z-B|0,E)|0;c[b+60>>2]=r(C-D|0,E)|0;return}else{D=(d+-6|0)>>>0<6?1:2;E=2-s|0;s=h+f|0;C=f-h|0;d=g-i|0;B=i+g|0;c[b>>2]=(r(B+s|0,e)|0)+D>>E;c[p>>2]=(r(d+C|0,e)|0)+D>>E;c[q>>2]=(r(C-d|0,e)|0)+D>>E;c[n>>2]=(r(s-B|0,e)|0)+D>>E;B=l+j|0;s=j-l|0;d=k-m|0;C=m+k|0;c[o>>2]=(r(C+B|0,e)|0)+D>>E;c[b+20>>2]=(r(d+s|0,e)|0)+D>>E;c[b+36>>2]=(r(s-d|0,e)|0)+D>>E;c[b+52>>2]=(r(B-C|0,e)|0)+D>>E;C=v+t|0;t=t-v|0;v=u-w|0;B=w+u|0;c[b+8>>2]=(r(B+C|0,e)|0)+D>>E;c[b+24>>2]=(r(v+t|0,e)|0)+D>>E;c[b+40>>2]=(r(t-v|0,e)|0)+D>>E;c[b+56>>2]=(r(C-B|0,e)|0)+D>>E;B=z+x|0;x=x-z|0;z=y-A|0;C=A+y|0;c[b+12>>2]=(r(C+B|0,e)|0)+D>>E;c[b+28>>2]=(r(z+x|0,e)|0)+D>>E;c[b+44>>2]=(r(x-z|0,e)|0)+D>>E;c[b+60>>2]=(r(B-C|0,e)|0)+D>>E;return}}function Kd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[1936+((d[9162+b>>0]|0)*12|0)>>2]|0;if(b>>>0>5){e=e<<(d[9110+b>>0]|0)+-1;b=0}else b=1;k=c[a>>2]|0;g=a+8|0;h=c[g>>2]|0;m=h+k|0;h=k-h|0;k=a+4|0;j=c[k>>2]|0;l=a+12|0;f=c[l>>2]|0;i=j-f|0;j=f+j|0;c[a>>2]=(r(j+m|0,e)|0)>>b;c[k>>2]=(r(m-j|0,e)|0)>>b;c[g>>2]=(r(i+h|0,e)|0)>>b;c[l>>2]=(r(h-i|0,e)|0)>>b;l=a+16|0;i=c[l>>2]|0;h=a+24|0;g=c[h>>2]|0;k=g+i|0;g=i-g|0;i=a+20|0;j=c[i>>2]|0;a=a+28|0;m=c[a>>2]|0;f=j-m|0;j=m+j|0;c[l>>2]=(r(j+k|0,e)|0)>>b;c[i>>2]=(r(k-j|0,e)|0)>>b;c[h>>2]=(r(f+g|0,e)|0)>>b;c[a>>2]=(r(g-f|0,e)|0)>>b;return}function Ld(a,b){a=a|0;b=b|0;var c=0;b=1<<b+-1;if(b&a|0){a=0;return a|0}c=b;b=0;do{b=b+1|0;c=c>>>1}while((c|0)!=0&(c&a|0)==0);return b|0}function Md(a){a=a|0;var b=0;b=8-(c[a+8>>2]|0)|0;a=Nd(a,b)|0;if((a|0)==-1){b=1;return b|0}b=(a|0)!=(c[2008+(b+-1<<2)>>2]|0)&1;return b|0}function Nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;i=c[m>>2]|0;l=c[a+12>>2]<<3;n=a+16|0;k=c[n>>2]|0;e=l-k|0;if((e|0)>31){e=a+8|0;g=c[e>>2]|0;f=(d[i+1>>0]|0)<<16|(d[i>>0]|0)<<24|(d[i+2>>0]|0)<<8|(d[i+3>>0]|0);if(!g)h=e;else{h=e;f=(d[i+4>>0]|0)>>>(8-g|0)|f<<g}}else{h=a+8|0;if((e|0)>0){g=c[h>>2]|0;j=g+24|0;f=(d[i>>0]|0)<<j;e=e+-8+g|0;if((e|0)>0){g=e;e=j;while(1){i=i+1|0;e=e+-8|0;f=(d[i>>0]|0)<<e|f;if((g|0)<=8)break;else g=g+-8|0}}}else f=0}e=k+b|0;c[n>>2]=e;c[h>>2]=e&7;if(e>>>0>l>>>0){n=-1;return n|0}c[m>>2]=(c[a>>2]|0)+(e>>>3);n=f>>>(32-b|0);return n|0}function Od(a){a=a|0;var b=0;b=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if(!b){b=0;return b|0}if(b>>>0>8){b=1;return b|0}else return ((Pd(a)|0)>>>(32-b|0)|0)!=(1<<b+-1|0)|0;return 0}function Pd(a){a=a|0;var b=0,e=0,f=0,g=0;f=c[a+4>>2]|0;e=(c[a+12>>2]<<3)-(c[a+16>>2]|0)|0;if((e|0)>31){a=c[a+8>>2]|0;b=(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24|(d[f+2>>0]|0)<<8|(d[f+3>>0]|0);if(!a){f=b;return f|0}f=(d[f+4>>0]|0)>>>(8-a|0)|b<<a;return f|0}if((e|0)<=0){f=0;return f|0}g=c[a+8>>2]|0;b=g+24|0;a=(d[f>>0]|0)<<b;e=e+-8+g|0;if((e|0)<=0){g=a;return g|0}while(1){f=f+1|0;b=b+-8|0;a=(d[f>>0]|0)<<b|a;if((e|0)<=8)break;else e=e+-8|0}return a|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+(d<<2)>>2]|0;d=d+1|0;a:do if(d>>>0<b>>>0)do{if((c[a+(d<<2)>>2]|0)==(e|0))break a;d=d+1|0}while(d>>>0<b>>>0);while(0);return ((d|0)==(b|0)?0:d)|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+4>>2]|0;d=(b>>>0)%(f>>>0)|0;e=b-d|0;b=r(c[a+8>>2]|0,f)|0;f=c[a>>2]|0;c[a+12>>2]=f+(d<<4)+(e<<8);d=f+(b<<8)+(e<<6)+(d<<3)|0;c[a+16>>2]=d;c[a+20>>2]=d+(b<<6);return}function Sd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;do if(((e>>>0>3?(a[b>>0]|0)==0:0)?(a[b+1>>0]|0)==0:0)?(h=a[b+2>>0]|0,(h&255)<2):0){n=-3;p=3;k=b+3|0;i=2;while(1){if(h<<24>>24)if(h<<24>>24==1&i>>>0>1)break;else i=0;else i=i+1|0;j=p+1|0;if((j|0)==(e|0)){q=6;break}else{h=a[k>>0]|0;n=~p;p=j;k=k+1|0}}if((q|0)==6){c[g>>2]=e;q=1;return q|0}j=(a[k>>0]|0)!=0;l=0;m=p;i=0;o=(j^1)&1;while(1){m=m+1|0;k=k+1|0;h=j?0:o;i=j&o>>>0>2?1:i;if((m|0)==(e|0)){q=15;break}q=a[k>>0]|0;j=q<<24>>24!=0;o=h+((j^1)&1)|0;h=q<<24>>24==3&(o|0)==2?1:l;if(q<<24>>24==1&o>>>0>1){q=13;break}else l=h}if((q|0)==13){m=n+m-o|0;n=f+12|0;c[n>>2]=m;l=h;j=p;h=o-(o>>>0<3?o:3)|0;break}else if((q|0)==15){m=n+e-h|0;n=f+12|0;c[n>>2]=m;j=p;break}}else q=16;while(0);if((q|0)==16){n=f+12|0;c[n>>2]=e;m=e;l=1;j=0;i=0;h=0}k=b+j|0;c[f>>2]=k;c[f+4>>2]=k;c[f+8>>2]=0;c[f+16>>2]=0;c[g>>2]=h+j+m;if(i|0){q=1;return q|0}if(!l){q=0;return q|0}h=c[n>>2]|0;do if(h){i=k;l=k;j=0;a:while(1){h=h+-1|0;k=a[i>>0]|0;do if((j|0)==2){if(k<<24>>24!=3)if((k&255)<3){h=1;q=30;break a}else{q=26;break}if(!h){h=1;q=30;break a}i=i+1|0;if((d[i>>0]|0)>3){h=1;q=30;break a}else j=0}else q=26;while(0);if((q|0)==26){q=0;a[l>>0]=k;i=i+1|0;l=l+1|0;j=k<<24>>24==0?j+1|0:0}if(!h){q=28;break}}if((q|0)==28){j=c[n>>2]|0;h=l;break}else if((q|0)==30)return h|0}else{j=0;i=k;h=k}while(0);c[n>>2]=h-i+j;q=0;return q|0}function Td(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=Nb;Nb=Nb+16|0;n=o;Ud(b,0,92);d=Nd(a,8)|0;a:do if((((d|0)!=-1?(c[b>>2]=d,Nd(a,1)|0,Nd(a,1)|0,(Nd(a,1)|0)!=-1):0)?(Nd(a,5)|0)!=-1:0)?(e=Nd(a,8)|0,(e|0)!=-1):0){m=b+4|0;c[m>>2]=e;e=b+8|0;d=Vd(a,e)|0;if(!d)if((c[e>>2]|0)>>>0<=31){d=Vd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=12){c[b+12>>2]=1<<d+4;d=Vd(a,n)|0;if(!d){d=c[n>>2]|0;if(d>>>0<=2){c[b+16>>2]=d;b:do switch(d|0){case 0:{d=Vd(a,n)|0;if(d|0)break a;d=c[n>>2]|0;if(d>>>0>12){d=1;break a}c[b+20>>2]=1<<d+4;break}case 1:{d=Nd(a,1)|0;if((d|0)==-1){d=1;break a}c[b+24>>2]=(d|0)==1&1;d=Wd(a,b+28|0)|0;if(d|0)break a;d=Wd(a,b+32|0)|0;if(d|0)break a;g=b+36|0;d=Vd(a,g)|0;if(d|0)break a;d=c[g>>2]|0;if(d>>>0>255){d=1;break a}if(!d){c[b+40>>2]=0;break b}d=Xd(4,d)|0;f=b+40|0;c[f>>2]=d;if(!d){d=65535;break a}if(c[g>>2]|0){d=Wd(a,d)|0;if(d|0)break a;e=1;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break b;d=Wd(a,(c[f>>2]|0)+(e<<2)|0)|0;if(!d)e=e+1|0;else break a}}break}default:{}}while(0);l=b+44|0;d=Vd(a,l)|0;if(!d)if((c[l>>2]|0)>>>0<=16?(h=Nd(a,1)|0,(h|0)!=-1):0){c[b+48>>2]=(h|0)==1&1;d=Vd(a,n)|0;if(!d){j=b+52|0;c[j>>2]=(c[n>>2]|0)+1;d=Vd(a,n)|0;if(!d){i=b+56|0;c[i>>2]=(c[n>>2]|0)+1;switch(Nd(a,1)|0){case 0:case -1:{d=1;break a}default:{}}if((Nd(a,1)|0)!=-1?(k=Nd(a,1)|0,(k|0)!=-1):0){k=(k|0)==1;c[b+60>>2]=k&1;if(k){h=b+64|0;d=Vd(a,h)|0;if(d|0)break;e=b+68|0;d=Vd(a,e)|0;if(d|0)break;g=b+72|0;d=Vd(a,g)|0;if(d|0)break;f=b+76|0;d=Vd(a,f)|0;if(d|0)break;d=c[j>>2]|0;if((c[h>>2]|0)>((d<<3)+~c[e>>2]|0)){d=1;break}e=c[i>>2]|0;if((c[g>>2]|0)>((e<<3)+~c[f>>2]|0)){d=1;break}}else{e=c[i>>2]|0;d=c[j>>2]|0}f=r(e,d)|0;do switch(c[m>>2]|0){case 10:{d=99;e=152064;g=59;break}case 11:{d=396;e=345600;g=59;break}case 12:{d=396;e=912384;g=59;break}case 13:{d=396;e=912384;g=59;break}case 20:{d=396;e=912384;g=59;break}case 21:{d=792;e=1824768;g=59;break}case 22:{d=1620;e=3110400;g=59;break}case 30:{d=1620;e=3110400;g=59;break}case 31:{d=3600;e=6912e3;g=59;break}case 32:{d=5120;e=7864320;g=59;break}case 40:{d=8192;e=12582912;g=59;break}case 41:{d=8192;e=12582912;g=59;break}case 42:{d=8704;e=13369344;g=59;break}case 50:{d=22080;e=42393600;g=59;break}case 51:{d=36864;e=70778880;g=59;break}default:g=61}while(0);do if((g|0)==59){if(d>>>0<f>>>0){g=61;break}e=(e>>>0)/((f*384|0)>>>0)|0;e=e>>>0<16?e:16;c[n>>2]=e;d=c[l>>2]|0;if(d>>>0>e>>>0)g=62;else d=e}while(0);if((g|0)==61){c[n>>2]=2147483647;d=c[l>>2]|0;g=62}if((g|0)==62)c[n>>2]=d;f=b+88|0;c[f>>2]=d;d=Nd(a,1)|0;if((d|0)!=-1){n=(d|0)==1;c[b+80>>2]=n&1;do if(n){d=Xd(952,1)|0;e=b+84|0;c[e>>2]=d;if(!d){d=65535;break a}d=Yd(a,d)|0;if(d|0)break a;d=c[e>>2]|0;if(!(c[d+920>>2]|0))break;e=c[d+948>>2]|0;if((c[d+944>>2]|0)>>>0>e>>>0){d=1;break a}if(e>>>0<(c[l>>2]|0)>>>0){d=1;break a}if(e>>>0>(c[f>>2]|0)>>>0){d=1;break a}c[f>>2]=(e|0)==0?1:e}while(0);Md(a)|0;d=0}else d=1}else d=1}}}else d=1}else d=1}}else d=1}}else d=1}else d=1;while(0);Nb=o;return d|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;ri(a|0,b&255|0,c|0)|0;return}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Pd(a)|0;if((d|0)<0){Zd(a,1)|0;c[b>>2]=0;b=0;return b|0}if(d>>>0>1073741823){if((Zd(a,3)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>29&1)+1;b=0;return b|0}if(d>>>0>536870911){if((Zd(a,5)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>27&3)+3;b=0;return b|0}if(d>>>0>268435455){if((Zd(a,7)|0)==-1){b=1;return b|0}c[b>>2]=(d>>>25&7)+7;b=0;return b|0}d=Ld(d,28)|0;e=d+4|0;if((e|0)!=32){Zd(a,d+5|0)|0;d=Nd(a,e)|0;if((d|0)==-1){b=1;return b|0}c[b>>2]=(1<<e)+-1+d;b=0;return b|0}c[b>>2]=0;Zd(a,32)|0;if((Nd(a,1)|0)!=1){b=1;return b|0}d=Pd(a)|0;if((Zd(a,32)|0)==-1){b=1;return b|0}switch(d|0){case 0:{c[b>>2]=-1;b=0;return b|0}case 1:{c[b>>2]=-1;b=1;return b|0}default:{b=1;return b|0}}return 0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nb;Nb=Nb+16|0;e=f;c[e>>2]=0;d=Vd(a,e)|0;a=c[e>>2]|0;d=(d|0)==0;if((a|0)==-1)if(d)a=1;else{c[b>>2]=-2147483648;a=0}else{e=(a+1|0)>>>1;if(d){c[b>>2]=(a&1|0)==0?0-e|0:e;a=0}else a=1}Nb=f;return a|0}function Xd(a,b){a=a|0;b=b|0;if((4294967295/(b>>>0)|0)>>>0<a>>>0){a=0;return a|0}a=Og(r(b,a)|0)|0;return a|0}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;Ud(b,0,952);d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b>>2]=f&1;do if(f){d=Nd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+4>>2]=d;if((d|0)==255){d=Nd(a,16)|0;if((d|0)==-1){b=1;return b|0}c[b+8>>2]=d;d=Nd(a,16)|0;if((d|0)==-1){b=1;return b|0}else{c[b+12>>2]=d;break}}}while(0);d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+16>>2]=f&1;do if(f){d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+20>>2]=(d|0)==1&1;break}}while(0);d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+24>>2]=f&1;if(f){d=Nd(a,3)|0;if((d|0)==-1){b=1;return b|0}c[b+28>>2]=d;d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+32>>2]=(d|0)==1&1;d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+36>>2]=f&1;if(f){d=Nd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+40>>2]=d;d=Nd(a,8)|0;if((d|0)==-1){b=1;return b|0}c[b+44>>2]=d;d=Nd(a,8)|0;if((d|0)==-1){b=1;return b|0}}else g=22}else{c[b+28>>2]=5;g=22}if((g|0)==22){c[b+40>>2]=2;c[b+44>>2]=2;d=2}c[b+48>>2]=d;d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+52>>2]=f&1;if(f){e=b+56|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}e=b+60|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>5){b=1;return b|0}}d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}f=(d|0)==1;c[b+64>>2]=f&1;do if(f){d=Pd(a)|0;if((d|0)==0|(Zd(a,32)|0)==-1){b=1;return b|0}c[b+68>>2]=d;d=Pd(a)|0;if((d|0)==0|(Zd(a,32)|0)==-1){b=1;return b|0}c[b+72>>2]=d;d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+76>>2]=(d|0)==1&1;break}}while(0);d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}e=(d|0)==1;f=b+80|0;c[f>>2]=e&1;if(e){d=_d(a,b+84|0)|0;if(d|0){b=d;return b|0}}else{c[b+84>>2]=1;c[b+96>>2]=288000001;c[b+224>>2]=288000001;c[b+480>>2]=24;c[b+484>>2]=24;c[b+488>>2]=24;c[b+492>>2]=24}d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}d=(d|0)==1;e=b+496|0;c[e>>2]=d&1;if(d){d=_d(a,b+500|0)|0;if(d|0){b=d;return b|0}}else{c[b+500>>2]=1;c[b+512>>2]=240000001;c[b+640>>2]=240000001;c[b+896>>2]=24;c[b+900>>2]=24;c[b+904>>2]=24;c[b+908>>2]=24}if(!((c[f>>2]|0)==0?!(c[e>>2]|0):0))g=45;do if((g|0)==45){d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}else{c[b+912>>2]=(d|0)==1&1;break}}while(0);d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+916>>2]=(d|0)==1&1;d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}g=(d|0)==1;c[b+920>>2]=g&1;do if(g){d=Nd(a,1)|0;if((d|0)==-1){b=1;return b|0}c[b+924>>2]=(d|0)==1&1;e=b+928|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+932|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+936|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}e=b+940|0;d=Vd(a,e)|0;if(d|0){b=d;return b|0}if((c[e>>2]|0)>>>0>16){b=1;return b|0}d=Vd(a,b+944|0)|0;if(d|0){b=d;return b|0}d=Vd(a,b+948|0)|0;if(!d)break;return d|0}else{c[b+924>>2]=1;c[b+928>>2]=2;c[b+932>>2]=1;c[b+936>>2]=16;c[b+940>>2]=16;c[b+944>>2]=16;c[b+948>>2]=16}while(0);b=0;return b|0}function Zd(a,b){a=a|0;b=b|0;var d=0;d=a+16|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;c[a+8>>2]=b&7;if(b>>>0>c[a+12>>2]<<3>>>0){d=-1;return d|0}c[a+4>>2]=(c[a>>2]|0)+(b>>>3);d=0;return d|0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Vd(a,b)|0;if(d|0){b=d;return b|0}h=(c[b>>2]|0)+1|0;c[b>>2]=h;if(h>>>0>32){b=1;return b|0}d=Nd(a,4)|0;if((d|0)==-1){b=1;return b|0}h=b+4|0;c[h>>2]=d;d=Nd(a,4)|0;if((d|0)==-1){b=1;return b|0}g=b+8|0;c[g>>2]=d;a:do if(c[b>>2]|0){f=0;while(1){e=b+12+(f<<2)|0;d=Vd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[h>>2]|0)+6;e=b+140+(f<<2)|0;d=Vd(a,e)|0;if(d|0){e=18;break}d=c[e>>2]|0;if((d|0)==-1){d=1;e=18;break}d=d+1|0;c[e>>2]=d;c[e>>2]=d<<(c[g>>2]|0)+4;d=Nd(a,1)|0;if((d|0)==-1){d=1;e=18;break}c[b+268+(f<<2)>>2]=(d|0)==1&1;f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0)break a}if((e|0)==18)return d|0}while(0);d=Nd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+396>>2]=d+1;d=Nd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+400>>2]=d+1;d=Nd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+404>>2]=d+1;d=Nd(a,5)|0;if((d|0)==-1){b=1;return b|0}c[b+408>>2]=d;b=0;return b|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((c[a>>2]|0)!=(c[b>>2]|0)){b=1;return b|0}if((c[a+4>>2]|0)!=(c[b+4>>2]|0)){b=1;return b|0}if((c[a+12>>2]|0)!=(c[b+12>>2]|0)){b=1;return b|0}d=c[a+16>>2]|0;if((d|0)!=(c[b+16>>2]|0)){b=1;return b|0}if((c[a+44>>2]|0)!=(c[b+44>>2]|0)){b=1;return b|0}if((c[a+48>>2]|0)!=(c[b+48>>2]|0)){b=1;return b|0}if((c[a+52>>2]|0)!=(c[b+52>>2]|0)){b=1;return b|0}if((c[a+56>>2]|0)!=(c[b+56>>2]|0)){b=1;return b|0}h=c[a+60>>2]|0;if((h|0)!=(c[b+60>>2]|0)){b=1;return b|0}if((c[a+80>>2]|0)!=(c[b+80>>2]|0)){b=1;return b|0}a:do switch(d|0){case 0:{if((c[a+20>>2]|0)!=(c[b+20>>2]|0)){b=1;return b|0}break}case 1:{if((c[a+24>>2]|0)!=(c[b+24>>2]|0)){b=1;return b|0}if((c[a+28>>2]|0)!=(c[b+28>>2]|0)){b=1;return b|0}if((c[a+32>>2]|0)!=(c[b+32>>2]|0)){b=1;return b|0}d=c[a+36>>2]|0;if((d|0)!=(c[b+36>>2]|0)){b=1;return b|0}if(d|0){e=c[a+40>>2]|0;f=c[b+40>>2]|0;g=0;while(1){if((c[e+(g<<2)>>2]|0)!=(c[f+(g<<2)>>2]|0)){d=1;break}g=g+1|0;if(g>>>0>=d>>>0)break a}return d|0}break}default:{}}while(0);if(h|0){if((c[a+64>>2]|0)!=(c[b+64>>2]|0)){b=1;return b|0}if((c[a+68>>2]|0)!=(c[b+68>>2]|0)){b=1;return b|0}if((c[a+72>>2]|0)!=(c[b+72>>2]|0)){b=1;return b|0}if((c[a+76>>2]|0)!=(c[b+76>>2]|0)){b=1;return b|0}}b=0;return b|0}function 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;k=Nb;Nb=Nb+16|0;i=k+4|0;j=k;Ud(b,0,72);d=Vd(a,b)|0;if(d|0){a=d;Nb=k;return a|0}if((c[b>>2]|0)>>>0>255){a=1;Nb=k;return a|0}e=b+4|0;d=Vd(a,e)|0;if(d|0){a=d;Nb=k;return a|0}if((c[e>>2]|0)>>>0>31){a=1;Nb=k;return a|0}if(Nd(a,1)|0){a=1;Nb=k;return a|0}d=Nd(a,1)|0;if((d|0)==-1){a=1;Nb=k;return a|0}c[b+8>>2]=(d|0)==1&1;d=Vd(a,i)|0;if(d|0){a=d;Nb=k;return a|0}d=(c[i>>2]|0)+1|0;h=b+12|0;c[h>>2]=d;if(d>>>0>8){a=1;Nb=k;return a|0}a:do if(d>>>0>1){e=b+16|0;d=Vd(a,e)|0;if(d|0){a=d;Nb=k;return a|0}d=c[e>>2]|0;if(d>>>0>6){a=1;Nb=k;return a|0}switch(d|0){case 0:{g=Xd(4,c[h>>2]|0)|0;f=b+20|0;c[f>>2]=g;if(!g){a=65535;Nb=k;return a|0}if(!(c[h>>2]|0))break a;e=0;while(1){d=Vd(a,i)|0;if(d|0)break;c[(c[f>>2]|0)+(e<<2)>>2]=(c[i>>2]|0)+1;e=e+1|0;if(e>>>0>=(c[h>>2]|0)>>>0)break a}Nb=k;return d|0}case 2:{g=b+24|0;c[g>>2]=Xd(4,(c[h>>2]|0)+-1|0)|0;f=Xd(4,(c[h>>2]|0)+-1|0)|0;e=b+28|0;c[e>>2]=f;if((f|0)==0|(c[g>>2]|0)==0){a=65535;Nb=k;return a|0}if((c[h>>2]|0)==1)break a;f=0;while(1){d=Vd(a,i)|0;if(d|0){e=49;break}c[(c[g>>2]|0)+(f<<2)>>2]=c[i>>2];d=Vd(a,i)|0;if(d|0){e=49;break}c[(c[e>>2]|0)+(f<<2)>>2]=c[i>>2];f=f+1|0;if(f>>>0>=((c[h>>2]|0)+-1|0)>>>0)break a}if((e|0)==49){Nb=k;return d|0}break}case 5:case 4:case 3:{d=Nd(a,1)|0;if((d|0)==-1){a=1;Nb=k;return a|0}c[b+32>>2]=(d|0)==1&1;d=Vd(a,i)|0;if(!d){c[b+36>>2]=(c[i>>2]|0)+1;break a}else{a=d;Nb=k;return a|0}}case 6:{d=Vd(a,i)|0;if(d|0){a=d;Nb=k;return a|0}e=(c[i>>2]|0)+1|0;f=b+40|0;c[f>>2]=e;e=Xd(4,e)|0;g=b+44|0;c[g>>2]=e;if(!e){a=65535;Nb=k;return a|0}d=c[2040+((c[h>>2]|0)+-1<<2)>>2]|0;if(!(c[f>>2]|0))break a;e=0;while(1){l=Nd(a,d)|0;c[(c[g>>2]|0)+(e<<2)>>2]=l;e=e+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){d=1;break}if(e>>>0>=(c[f>>2]|0)>>>0)break a}Nb=k;return d|0}default:break a}}while(0);d=Vd(a,i)|0;if(d|0){l=d;Nb=k;return l|0}d=c[i>>2]|0;if(d>>>0>31){l=1;Nb=k;return l|0}c[b+48>>2]=d+1;d=Vd(a,i)|0;if(d|0){l=d;Nb=k;return l|0}if((c[i>>2]|0)>>>0>31){l=1;Nb=k;return l|0}if(Nd(a,1)|0){l=1;Nb=k;return l|0}if((Nd(a,2)|0)>>>0>2){l=1;Nb=k;return l|0}d=Wd(a,j)|0;if(d|0){l=d;Nb=k;return l|0}d=(c[j>>2]|0)+26|0;if(d>>>0>51){l=1;Nb=k;return l|0}c[b+52>>2]=d;d=Wd(a,j)|0;if(d|0){l=d;Nb=k;return l|0}if(((c[j>>2]|0)+26|0)>>>0>51){l=1;Nb=k;return l|0}d=Wd(a,j)|0;if(d|0){l=d;Nb=k;return l|0}d=c[j>>2]|0;if((d+12|0)>>>0>24){l=1;Nb=k;return l|0}c[b+56>>2]=d;d=Nd(a,1)|0;if((d|0)==-1){l=1;Nb=k;return l|0}c[b+60>>2]=(d|0)==1&1;d=Nd(a,1)|0;if((d|0)==-1){l=1;Nb=k;return l|0}c[b+64>>2]=(d|0)==1&1;d=Nd(a,1)|0;if((d|0)==-1){l=1;Nb=k;return l|0}c[b+68>>2]=(d|0)==1&1;Md(a)|0;l=0;Nb=k;return l|0}function be(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=Nb;Nb=Nb+16|0;p=v+12|0;o=v+8|0;u=v+4|0;s=v;Ud(b,0,988);t=r(c[d+56>>2]|0,c[d+52>>2]|0)|0;g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}m=c[u>>2]|0;c[b>>2]=m;if(m>>>0>=t>>>0){u=1;Nb=v;return u|0}g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}m=c[u>>2]|0;k=b+4|0;c[k>>2]=m;switch(m|0){case 7:case 2:break;case 5:case 0:{q=5;break}default:{u=1;Nb=v;return u|0}}if((q|0)==5){if((c[f>>2]|0)==5){u=1;Nb=v;return u|0}if(!(c[d+44>>2]|0)){u=1;Nb=v;return u|0}}g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}m=c[u>>2]|0;c[b+8>>2]=m;if((m|0)!=(c[e>>2]|0)){u=1;Nb=v;return u|0}l=d+12|0;g=c[l>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Nd(a,h+-1|0)|0;if((g|0)==-1){u=1;Nb=v;return u|0}h=(c[f>>2]|0)==5;if((g|0)!=0&h){u=1;Nb=v;return u|0}c[b+12>>2]=g;if(h){g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}m=c[u>>2]|0;c[b+16>>2]=m;if(m>>>0>65535){u=1;Nb=v;return u|0}}j=d+16|0;g=c[j>>2]|0;if(!g){i=d+20|0;g=c[i>>2]|0;h=0;while(1)if(!(g>>>h))break;else h=h+1|0;g=Nd(a,h+-1|0)|0;if((g|0)==-1){u=1;Nb=v;return u|0}h=b+20|0;c[h>>2]=g;do if(c[e+8>>2]|0){g=Wd(a,s)|0;if(!g){c[b+24>>2]=c[s>>2];break}else{u=g;Nb=v;return u|0}}while(0);if((c[f>>2]|0)==5){g=c[h>>2]|0;if(g>>>0>(c[i>>2]|0)>>>1>>>0){u=1;Nb=v;return u|0}m=c[b+24>>2]|0;if((g|0)!=(0-((m|0)<0?m:0)|0)){u=1;Nb=v;return u|0}}g=c[j>>2]|0}if((g|0)==1?(c[d+24>>2]|0)==0:0){g=Wd(a,s)|0;if(g|0){u=g;Nb=v;return u|0}g=b+28|0;c[g>>2]=c[s>>2];do if(c[e+8>>2]|0){h=Wd(a,s)|0;if(!h){c[b+32>>2]=c[s>>2];break}else{u=h;Nb=v;return u|0}}while(0);if((c[f>>2]|0)==5?(j=c[g>>2]|0,m=(c[d+32>>2]|0)+j+(c[b+32>>2]|0)|0,((j|0)<(m|0)?j:m)|0):0){u=1;Nb=v;return u|0}}if(c[e+68>>2]|0){g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}m=c[u>>2]|0;c[b+36>>2]=m;if(m>>>0>127){u=1;Nb=v;return u|0}}g=c[k>>2]|0;switch(g|0){case 5:case 0:{g=Nd(a,1)|0;if((g|0)==-1){u=1;Nb=v;return u|0}c[b+40>>2]=g;do if(!g){g=c[e+48>>2]|0;if(g>>>0>16){u=1;Nb=v;return u|0}}else{g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}g=c[u>>2]|0;if(g>>>0>15){u=1;Nb=v;return u|0}else{g=g+1|0;break}}while(0);c[b+44>>2]=g;g=c[k>>2]|0;break}default:{}}a:do switch(g|0){case 5:case 0:{j=c[b+44>>2]|0;i=c[l>>2]|0;g=Nd(a,1)|0;b:do if((g|0)==-1)g=1;else{c[b+68>>2]=g;if(g|0){h=0;while(1){if(h>>>0>j>>>0){g=1;break b}g=Vd(a,o)|0;if(g|0)break b;g=c[o>>2]|0;if(g>>>0>3){g=1;break b}c[b+72+(h*12|0)>>2]=g;do if(g>>>0<2){g=Vd(a,p)|0;if(g|0)break b;g=c[p>>2]|0;if(g>>>0>=i>>>0){g=1;break b}c[b+72+(h*12|0)+4>>2]=g+1}else{if((g|0)!=2)break;g=Vd(a,p)|0;if(g|0)break b;c[b+72+(h*12|0)+8>>2]=c[p>>2]}while(0);if((c[o>>2]|0)==3)break;else h=h+1|0}if(!h){g=1;break}}break a}while(0);u=g;Nb=v;return u|0}default:{}}while(0);do if(c[f+4>>2]|0){m=c[d+44>>2]|0;f=(c[f>>2]|0)==5;g=Nd(a,1)|0;h=(g|0)==-1;c:do if(f)if((!h?(c[b+276>>2]=g,n=Nd(a,1)|0,(n|0)!=-1):0)?(c[b+280>>2]=n,(m|0)!=0|(n|0)==0):0)q=92;else g=1;else if(!h){c[b+284>>2]=g;if(g){i=(m<<1)+2|0;j=0;k=0;h=0;l=0;d=0;while(1){if(j>>>0>i>>>0){g=1;break c}g=Vd(a,o)|0;if(g|0)break c;g=c[o>>2]|0;if(g>>>0>6){g=1;break c}c[b+288+(j*20|0)>>2]=g;if((g|2|0)==3){g=Vd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+4>>2]=(c[p>>2]|0)+1;g=c[o>>2]|0}if((g|0)==2){g=Vd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+8>>2]=c[p>>2];g=c[o>>2]|0}switch(g|0){case 3:case 6:{g=Vd(a,p)|0;if(g|0)break c;c[b+288+(j*20|0)+12>>2]=c[p>>2];g=c[o>>2]|0;break}default:{}}if((g|0)==4){g=Vd(a,p)|0;if(g|0)break c;g=c[p>>2]|0;if(g>>>0>m>>>0){g=1;break c}c[b+288+(j*20|0)+16>>2]=(g|0)==0?65535:g+-1|0;g=c[o>>2]|0;h=h+1|0}l=l+((g|0)==5&1)|0;k=k+((g+-1|0)>>>0<3&1)|0;d=d+((g|0)==6&1)|0;if(!g)break;else j=j+1|0}if((l|h|d)>>>0<=1?!((l|0)!=0&(k|0)!=0):0)q=92;else g=1}else q=92}else g=1;while(0);if((q|0)==92)break;u=g;Nb=v;return u|0}while(0);g=Wd(a,s)|0;if(g|0){u=g;Nb=v;return u|0}q=c[s>>2]|0;c[b+48>>2]=q;q=(c[e+52>>2]|0)+q|0;c[s>>2]=q;if(q>>>0>51){u=1;Nb=v;return u|0}do if(c[e+60>>2]|0){g=Vd(a,u)|0;if(g|0){u=g;Nb=v;return u|0}g=c[u>>2]|0;c[b+52>>2]=g;if(g>>>0>2){u=1;Nb=v;return u|0}if((g|0)!=1){g=Wd(a,s)|0;if(g|0){u=g;Nb=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Nb=v;return u|0}c[b+56>>2]=g<<1;g=Wd(a,s)|0;if(g|0){u=g;Nb=v;return u|0}g=c[s>>2]|0;if((g+6|0)>>>0>12){u=1;Nb=v;return u|0}else{c[b+60>>2]=g<<1;break}}}while(0);if((c[e+12>>2]|0)>>>0>1?((c[e+16>>2]|0)+-3|0)>>>0<3:0){j=e+36|0;h=c[j>>2]|0;i=(t>>>0)/(h>>>0)|0;h=(t-(r(i,h)|0)|0)==0;i=(h?1:2)+i|0;h=0;while(1){g=h+1|0;if(!(-1<<g&i))break;else h=g}g=Nd(a,((1<<h)+-1&i|0)==0?h:g)|0;c[u>>2]=g;if((g|0)==-1){u=1;Nb=v;return u|0}c[b+64>>2]=g;u=c[j>>2]|0;if(g>>>0>(((t+-1+u|0)>>>0)/(u>>>0)|0)>>>0){u=1;Nb=v;return u|0}}u=0;Nb=v;return u|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Nb;Nb=Nb+32|0;e=f+20|0;d=f;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Vd(d,e)|0;if(!a){a=Vd(d,e)|0;if(!a){a=Vd(d,e)|0;if(!a){a=c[e>>2]|0;if(a>>>0>255)a=1;else{c[b>>2]=a;a=0}}}}Nb=f;return a|0}function de(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Nb;Nb=Nb+32|0;e=g+20|0;f=g;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];a=Vd(f,e)|0;if(a|0){d=a;Nb=g;return d|0}a=Vd(f,e)|0;if(a|0){d=a;Nb=g;return d|0}a=Vd(f,e)|0;if(a|0){d=a;Nb=g;return d|0}a=0;while(1)if(!(b>>>a))break;else a=a+1|0;a=Nd(f,a+-1|0)|0;if((a|0)==-1){d=1;Nb=g;return d|0}c[d>>2]=a;d=0;Nb=g;return d|0}function ee(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Nb;Nb=Nb+32|0;f=h+20|0;g=h;if((d|0)==5){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];d=Vd(g,f)|0;if(!d){d=Vd(g,f)|0;if(!d){d=Vd(g,f)|0;if(!d){d=0;while(1)if(!(b>>>d))break;else d=d+1|0;if((Nd(g,d+-1|0)|0)==-1)d=1;else d=Vd(g,e)|0}}}}else d=1;Nb=h;return d|0}function fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Nb;Nb=Nb+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Vd(i,h)|0;if(a|0){e=a;Nb=j;return e|0}a=Vd(i,h)|0;if(a|0){e=a;Nb=j;return e|0}a=Vd(i,h)|0;if(a|0){e=a;Nb=j;return e|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Nd(i,f+-1|0)|0)==-1){e=1;Nb=j;return e|0}if((d|0)==5?(g=Vd(i,h)|0,g|0):0){e=g;Nb=j;return e|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;a=Nd(i,f+-1|0)|0;if((a|0)==-1){e=1;Nb=j;return e|0}c[e>>2]=a;e=0;Nb=j;return e|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Nb;Nb=Nb+32|0;h=j+20|0;i=j;c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[i+16>>2]=c[a+16>>2];a=Vd(i,h)|0;if(a|0){i=a;Nb=j;return i|0}a=Vd(i,h)|0;if(a|0){i=a;Nb=j;return i|0}a=Vd(i,h)|0;if(a|0){i=a;Nb=j;return i|0}a=c[b+12>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Nd(i,f+-1|0)|0)==-1){i=1;Nb=j;return i|0}if((d|0)==5?(g=Vd(i,h)|0,g|0):0){i=g;Nb=j;return i|0}a=c[b+20>>2]|0;f=0;while(1)if(!(a>>>f))break;else f=f+1|0;if((Nd(i,f+-1|0)|0)==-1){i=1;Nb=j;return i|0}i=Wd(i,e)|0;Nb=j;return i|0}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Nb;Nb=Nb+32|0;h=k+20|0;j=k;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[j+16>>2]=c[a+16>>2];a=Vd(j,h)|0;if(a|0){j=a;Nb=k;return j|0}a=Vd(j,h)|0;if(a|0){j=a;Nb=k;return j|0}a=Vd(j,h)|0;if(a|0){j=a;Nb=k;return j|0}a=c[b+12>>2]|0;b=0;while(1)if(!(a>>>b))break;else b=b+1|0;if((Nd(j,b+-1|0)|0)==-1){j=1;Nb=k;return j|0}if((d|0)==5?(g=Vd(j,h)|0,g|0):0){j=g;Nb=k;return j|0}a=Wd(j,f)|0;if(a|0){j=a;Nb=k;return j|0}if(e|0?(i=Wd(j,f+4|0)|0,i|0):0){j=i;Nb=k;return j|0}j=0;Nb=k;return j|0}function ie(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Nb;Nb=Nb+32|0;k=l+24|0;i=l+20|0;j=l;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[j+16>>2]=c[b+16>>2];f=Vd(j,k)|0;if(f|0){e=f;Nb=l;return e|0}f=Vd(j,k)|0;if(f|0){e=f;Nb=l;return e|0}f=Vd(j,k)|0;if(f|0){e=f;Nb=l;return e|0}f=c[d+12>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Nd(j,b+-1|0)|0)==-1){e=1;Nb=l;return e|0}f=Vd(j,k)|0;if(f|0){e=f;Nb=l;return e|0}g=d+16|0;f=c[g>>2]|0;if(!f){f=c[d+20>>2]|0;b=0;while(1)if(!(f>>>b))break;else b=b+1|0;if((Nd(j,b+-1|0)|0)==-1){e=1;Nb=l;return e|0}if(c[e+8>>2]|0?(h=Wd(j,i)|0,h|0):0){e=h;Nb=l;return e|0}f=c[g>>2]|0}if((f|0)==1?(c[d+24>>2]|0)==0:0){f=Wd(j,i)|0;if(f|0){e=f;Nb=l;return e|0}if(c[e+8>>2]|0?(m=Wd(j,i)|0,m|0):0){e=m;Nb=l;return e|0}}if(c[e+68>>2]|0?(n=Vd(j,k)|0,n|0):0){e=n;Nb=l;return e|0}e=Nd(j,1)|0;c[a>>2]=e;e=(e|0)==-1&1;Nb=l;return e|0}function je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;A=Nb;Nb=Nb+448|0;n=A+8|0;v=A+4|0;t=A;n=n+(0-n&15)|0;l=c[b+3376>>2]|0;h=c[e>>2]|0;c[v>>2]=0;w=b+1192|0;c[w>>2]=(c[w>>2]|0)+1;o=b+1200|0;c[o>>2]=0;m=b+12|0;c[t>>2]=(c[e+48>>2]|0)+(c[(c[m>>2]|0)+52>>2]|0);u=e+36|0;p=b+1212|0;q=e+52|0;r=e+56|0;s=e+60|0;x=e+4|0;j=e+44|0;g=b+1220|0;z=b+1176|0;k=b+1172|0;i=l+12|0;y=0;f=0;while(1){e=c[p>>2]|0;if((c[u>>2]|0)==0?c[e+(h*216|0)+196>>2]|0:0){e=1;f=20;break}B=c[(c[m>>2]|0)+56>>2]|0;E=c[q>>2]|0;D=c[r>>2]|0;C=c[s>>2]|0;c[e+(h*216|0)+4>>2]=c[w>>2];c[e+(h*216|0)+8>>2]=E;c[e+(h*216|0)+12>>2]=D;c[e+(h*216|0)+16>>2]=C;c[e+(h*216|0)+24>>2]=B;e=c[x>>2]|0;if((e|0)!=2?!((f|0)!=0|(e|0)==7):0){e=Vd(a,v)|0;if(e|0){f=20;break}e=c[v>>2]|0;if(e>>>0>((c[z>>2]|0)-h|0)>>>0){e=1;f=20;break}if(!e)f=0;else{Ud(i,0,164);c[l>>2]=0;f=1}}e=c[v>>2]|0;if(!e){e=ke(a,l,(c[p>>2]|0)+(h*216|0)|0,c[x>>2]|0,c[j>>2]|0)|0;if(!e)f=0;else{f=20;break}}else c[v>>2]=e+-1;e=le((c[p>>2]|0)+(h*216|0)|0,l,d,g,t,h,c[(c[m>>2]|0)+64>>2]|0,n)|0;if(e|0){f=20;break}y=y+((c[(c[p>>2]|0)+(h*216|0)+196>>2]|0)==1&1)|0;e=Od(a)|0;e=(c[v>>2]|e|0)!=0;switch(c[x>>2]|0){case 7:case 2:{c[o>>2]=h;break}default:{}}h=Qd(c[k>>2]|0,c[z>>2]|0,h)|0;if(!((h|0)!=0|e^1)){e=1;f=20;break}if(!e){f=18;break}}if((f|0)==18){f=b+1196|0;e=(c[f>>2]|0)+y|0;if(e>>>0>(c[z>>2]|0)>>>0){E=1;Nb=A;return E|0}c[f>>2]=e;E=0;Nb=A;return E|0}else if((f|0)==20){Nb=A;return e|0}return 0}function ke(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Nb;Nb=Nb+16|0;t=x+12|0;r=x+8|0;w=x+4|0;v=x;Ud(d,0,2088);i=Vd(a,w)|0;h=c[w>>2]|0;a:do switch(f|0){case 2:case 7:{h=h+6|0;if((i|0)!=0|h>>>0>31){a=1;Nb=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}default:{h=h+1|0;if((i|0)!=0|h>>>0>31){a=1;Nb=x;return a|0}else{c[d>>2]=h;l=h;u=d;break a}}}while(0);b:do if((l|0)!=31){i=l>>>0<6;h=(l|0)!=6;s=i?2:h&1;c:do if(!i){d:do if(!h){c[r>>2]=0;h=Pd(a)|0;q=h>>>31;c[d+12>>2]=q;if(!q){c[d+76>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+16>>2]=q;if(!q){c[d+80>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+20>>2]=q;if(!q){c[d+84>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+24>>2]=q;if(!q){c[d+88>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+28>>2]=q;if(!q){c[d+92>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+32>>2]=q;if(!q){c[d+96>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+36>>2]=q;if(!q){c[d+100>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+40>>2]=q;if(!q){c[d+104>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;do if((Zd(a,(f*3|0)+8|0)|0)!=-1){c[r>>2]=1;h=Pd(a)|0;q=h>>>31;c[d+44>>2]=q;if(!q){c[d+108>>2]=h>>>28&7;h=h<<4;f=1}else{h=h<<1;f=0}q=h>>>31;c[d+48>>2]=q;if(!q){c[d+112>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+52>>2]=q;if(!q){c[d+116>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+56>>2]=q;if(!q){c[d+120>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+60>>2]=q;if(!q){c[d+124>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+64>>2]=q;if(!q){c[d+128>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+68>>2]=q;if(!q){c[d+132>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;q=h>>>31;c[d+72>>2]=q;if(!q){c[d+136>>2]=h>>>28&7;h=h<<4;f=f+1|0}else h=h<<1;if((Zd(a,(f*3|0)+8|0)|0)==-1)break;c[r>>2]=2;c[t>>2]=h;break d}while(0);c[t>>2]=h;h=1;q=96;break c}while(0);r=(Vd(a,t)|0)!=0;h=c[t>>2]|0;if(r|h>>>0>3){h=1;q=96}else{c[d+140>>2]=h;h=0;q=96}}else{if(l>>>0<4){if(g>>>0>1){switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}j=g>>>0>2&1;i=0;while(1){if(Xe(a,t,j)|0){h=1;q=96;break c}f=c[t>>2]|0;if(f>>>0>=g>>>0){h=1;q=96;break c}c[d+144+(i<<2)>>2]=f;if(!h)break;else{h=h+-1|0;i=i+1|0}}}switch(l|0){case 0:case 1:{h=0;break}case 3:case 2:{h=1;break}default:h=3}f=h;i=0;while(1){h=Wd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)>>1]=c[r>>2];h=Wd(a,r)|0;if(h|0){q=96;break c}b[d+160+(i<<2)+2>>1]=c[r>>2];if(!f){h=0;q=96;break c}else{f=f+-1|0;i=i+1|0}}}i=(Vd(a,t)|0)!=0;h=c[t>>2]|0;e:do if(((!(i|h>>>0>3)?(n=d+176|0,c[n>>2]=h,i=(Vd(a,t)|0)!=0,k=c[t>>2]|0,!(i|k>>>0>3)):0)?(o=d+180|0,c[o>>2]=k,k=(Vd(a,t)|0)!=0,j=c[t>>2]|0,!(k|j>>>0>3)):0)?(p=d+184|0,c[p>>2]=j,k=(Vd(a,t)|0)!=0,m=c[t>>2]|0,!(k|m>>>0>3)):0){i=d+188|0;c[i>>2]=m;if(g>>>0>1&(l|0)!=5){f=g>>>0>2&1;if(Xe(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+192>>2]=h;if(Xe(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+196>>2]=h;if(Xe(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+200>>2]=h;if(Xe(a,t,f)|0){h=1;break}h=c[t>>2]|0;if(h>>>0>=g>>>0){h=1;break}c[d+204>>2]=h}h=c[n>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Wd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)>>1]=c[r>>2];h=Wd(a,r)|0;if(h|0)break e;b[d+208+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[o>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Wd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)>>1]=c[r>>2];h=Wd(a,r)|0;if(h|0)break e;b[d+224+(f<<2)+2>>1]=c[r>>2];g=c[t>>2]|0;c[t>>2]=g+-1;if(!g)break;else f=f+1|0}h=c[p>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Wd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)>>1]=c[r>>2];h=Wd(a,r)|0;if(h|0)break e;b[d+240+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p)break;else f=f+1|0}h=c[i>>2]|0;switch(h|0){case 0:break;case 2:case 1:{h=1;break}default:h=3}c[t>>2]=h;f=0;while(1){h=Wd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)>>1]=c[r>>2];h=Wd(a,r)|0;if(h|0)break e;b[d+256+(f<<2)+2>>1]=c[r>>2];p=c[t>>2]|0;c[t>>2]=p+-1;if(!p){h=0;break}else f=f+1|0}}else h=1;while(0)}while(0);if(h|0){a=h;Nb=x;return a|0}do if((s|0)!=1){h=Ye(a,w,(s|0)==0&1)|0;if(!h){w=c[w>>2]|0;c[d+4>>2]=w;if(!w)break b;else break}else{a=h;Nb=x;return a|0}}else{w=c[u>>2]|0;s=w+-7|0;t=s>>>2<<4;c[d+4>>2]=(s>>>0>11?t+-48|0:t)|(w>>>0>18?15:0)}while(0);w=(Wd(a,v)|0)!=0;h=c[v>>2]|0;if(w|(h+26|0)>>>0>51){a=1;Nb=x;return a|0}c[d+8>>2]=h;f=c[d+4>>2]|0;l=d+272|0;f:do if((c[u>>2]|0)>>>0>6){h=_e(a,d+1864|0,Ze(e,0,l)|0,16)|0;if(!(h&15)){b[d+320>>1]=h>>>4&255;j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=_e(a,d+328+(j<<6)+4|0,Ze(e,j,l)|0,15)|0;c[d+1992+(j<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=_e(a,d+328+(i<<6)+4|0,Ze(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=_e(a,d+328+(i<<6)+4|0,Ze(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=_e(a,d+328+(i<<6)+4|0,Ze(e,i,l)|0,15)|0;c[d+1992+(i<<2)>>2]=h>>>15;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}}else{j=0;h=f;k=3;while(1){f=h>>>1;if(h&1|0){h=_e(a,d+328+(j<<6)|0,Ze(e,j,l)|0,16)|0;c[d+1992+(j<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(j<<1)>>1]=h>>>4&255;i=j|1;h=_e(a,d+328+(i<<6)|0,Ze(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|2;h=_e(a,d+328+(i<<6)|0,Ze(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255;i=j|3;h=_e(a,d+328+(i<<6)|0,Ze(e,i,l)|0,16)|0;c[d+1992+(i<<2)>>2]=h>>>16;if(h&15|0)break f;b[d+272+(i<<1)>>1]=h>>>4&255}h=j+4|0;if(!k){i=h;q=115;break}else{j=h;h=f;k=k+-1|0}}}while(0);do if((q|0)==115){if(f&3|0){h=_e(a,d+1928|0,-1,4)|0;if(h&15|0)break;b[d+322>>1]=h>>>4&255;h=_e(a,d+1944|0,-1,4)|0;if(h&15|0)break;b[d+324>>1]=h>>>4&255}if(f&2){h=_e(a,d+328+(i<<6)+4|0,Ze(e,i,l)|0,15)|0;if(!(h&15)){b[d+272+(i<<1)>>1]=h>>>4&255;c[d+1992+(i<<2)>>2]=h>>>15;f=i+1|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+2|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+3|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+4|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+5|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+6|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;f=i+7|0;h=_e(a,d+328+(f<<6)+4|0,Ze(e,f,l)|0,15)|0;if(!(h&15)){b[d+272+(f<<1)>>1]=h>>>4&255;c[d+1992+(f<<2)>>2]=h>>>15;h=0}}}}}}}}}else h=0}while(0);c[a+16>>2]=((c[a+4>>2]|0)-(c[a>>2]|0)<<3)+(c[a+8>>2]|0);if(h|0){a=h;Nb=x;return a|0}}else{g:do if(!(We(a)|0)){while(1){if(Nd(a,1)|0){h=1;break}if(We(a)|0)break g}Nb=x;return h|0}while(0);i=0;f=d+328|0;while(1){h=Nd(a,8)|0;c[w>>2]=h;if((h|0)==-1){h=1;break}c[f>>2]=h;i=i+1|0;if(i>>>0>=384)break b;else f=f+4|0}Nb=x;return h|0}while(0);a=0;Nb=x;return a|0}function le(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[e>>2]|0;c[d>>2]=s;m=d+196|0;c[m>>2]=(c[m>>2]|0)+1;Rd(f,i);if((s|0)==31){l=d+28|0;c[d+20>>2]=0;if((c[m>>2]|0)>>>0>1){b[l>>1]=16;b[d+30>>1]=16;b[d+32>>1]=16;b[d+34>>1]=16;b[d+36>>1]=16;b[d+38>>1]=16;b[d+40>>1]=16;b[d+42>>1]=16;b[d+44>>1]=16;b[d+46>>1]=16;b[d+48>>1]=16;b[d+50>>1]=16;b[d+52>>1]=16;b[d+54>>1]=16;b[d+56>>1]=16;b[d+58>>1]=16;b[d+60>>1]=16;b[d+62>>1]=16;b[d+64>>1]=16;b[d+66>>1]=16;b[d+68>>1]=16;b[d+70>>1]=16;b[d+72>>1]=16;b[d+74>>1]=16;k=0;return k|0}n=23;m=e+328|0;h=k;while(1){b[l>>1]=16;a[h>>0]=c[m>>2];a[h+1>>0]=c[m+4>>2];a[h+2>>0]=c[m+8>>2];a[h+3>>0]=c[m+12>>2];a[h+4>>0]=c[m+16>>2];a[h+5>>0]=c[m+20>>2];a[h+6>>0]=c[m+24>>2];a[h+7>>0]=c[m+28>>2];a[h+8>>0]=c[m+32>>2];a[h+9>>0]=c[m+36>>2];a[h+10>>0]=c[m+40>>2];a[h+11>>0]=c[m+44>>2];a[h+12>>0]=c[m+48>>2];a[h+13>>0]=c[m+52>>2];a[h+14>>0]=c[m+56>>2];a[h+15>>0]=c[m+60>>2];if(!n)break;else{n=n+-1|0;m=m+64|0;h=h+16|0;l=l+2|0}}me(f,k);k=0;return k|0}p=d+28|0;if(s){ne(p,e+272|0,54);m=c[e+8>>2]|0;l=c[h>>2]|0;do if(m){l=l+m|0;c[h>>2]=l;if((l|0)<0){l=l+52|0;c[h>>2]=l;break}if((l|0)>51){l=l+-52|0;c[h>>2]=l}}while(0);q=d+20|0;c[q>>2]=l;m=e+328|0;h=e+1992|0;a:do if((c[d>>2]|0)>>>0>6){if(b[d+76>>1]|0)Jd(e+1864|0,l);n=2072;o=15;l=p;while(1){r=c[e+1864+(c[n>>2]<<2)>>2]|0;n=n+4|0;c[m>>2]=r;if((r|0)==0?(b[l>>1]|0)==0:0)c[m>>2]=16777215;else u=19;if((u|0)==19?(u=0,Id(m,c[q>>2]|0,1,c[h>>2]|0)|0):0){l=1;break}m=m+64|0;l=l+2|0;h=h+4|0;if(!o){r=l;break a}else o=o+-1|0}return l|0}else{if(b[p>>1]|0){if(Id(m,l,0,c[h>>2]|0)|0){k=1;return k|0}}else c[m>>2]=16777215;l=e+392|0;if(b[d+30>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+1996>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+456|0;if(b[d+32>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2e3>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+520|0;if(b[d+34>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2004>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+584|0;if(b[d+36>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2008>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+648|0;if(b[d+38>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2012>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+712|0;if(b[d+40>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2016>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+776|0;if(b[d+42>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2020>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+840|0;if(b[d+44>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2024>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+904|0;if(b[d+46>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2028>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+968|0;if(b[d+48>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2032>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1032|0;if(b[d+50>>1]|0){if(Id(l,c[q>>2]|0,0,c[e+2036>>2]|0)|0){k=1;return k|0}}else c[l>>2]=16777215;l=e+1096|0;do if(!(b[d+52>>1]|0))c[l>>2]=16777215;else{if(!(Id(l,c[q>>2]|0,0,c[e+2040>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1160|0;do if(!(b[d+54>>1]|0))c[l>>2]=16777215;else{if(!(Id(l,c[q>>2]|0,0,c[e+2044>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1224|0;do if(!(b[d+56>>1]|0))c[l>>2]=16777215;else{if(!(Id(l,c[q>>2]|0,0,c[e+2048>>2]|0)|0))break;else l=1;return l|0}while(0);l=e+1288|0;do if(!(b[d+58>>1]|0))c[l>>2]=16777215;else{if(!(Id(l,c[q>>2]|0,0,c[e+2052>>2]|0)|0))break;else l=1;return l|0}while(0);m=e+1352|0;h=e+2056|0;r=d+60|0}while(0);q=(c[d+24>>2]|0)+(c[q>>2]|0)|0;q=(q|0)<51?q:51;q=c[1600+(((q|0)>0?q:0)<<2)>>2]|0;if((b[d+78>>1]|0)==0?(b[d+80>>1]|0)==0:0)l=e+1928|0;else{l=e+1928|0;Kd(l,q)}o=e+1932|0;p=c[l>>2]|0;c[m>>2]=p;if((p|0)==0?(b[r>>1]|0)==0:0)c[m>>2]=16777215;else u=32;if((u|0)==32?Id(m,q,1,c[h>>2]|0)|0:0){k=1;return k|0}n=h+4|0;p=e+1936|0;o=c[o>>2]|0;l=m+64|0;c[l>>2]=o;if((o|0)==0?(b[r+2>>1]|0)==0:0)c[l>>2]=16777215;else u=36;if((u|0)==36?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+8|0;o=e+1940|0;p=c[p>>2]|0;l=m+128|0;c[l>>2]=p;if((p|0)==0?(b[r+4>>1]|0)==0:0)c[l>>2]=16777215;else u=40;if((u|0)==40?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+12|0;p=e+1944|0;o=c[o>>2]|0;l=m+192|0;c[l>>2]=o;if((o|0)==0?(b[r+6>>1]|0)==0:0)c[l>>2]=16777215;else u=44;if((u|0)==44?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+16|0;o=e+1948|0;p=c[p>>2]|0;l=m+256|0;c[l>>2]=p;if((p|0)==0?(b[r+8>>1]|0)==0:0)c[l>>2]=16777215;else u=48;if((u|0)==48?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+20|0;p=e+1952|0;o=c[o>>2]|0;l=m+320|0;c[l>>2]=o;if((o|0)==0?(b[r+10>>1]|0)==0:0)c[l>>2]=16777215;else u=52;if((u|0)==52?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}n=h+24|0;o=e+1956|0;p=c[p>>2]|0;l=m+384|0;c[l>>2]=p;if((p|0)==0?(b[r+12>>1]|0)==0:0)c[l>>2]=16777215;else u=56;if((u|0)==56?Id(l,q,1,c[n>>2]|0)|0:0){k=1;return k|0}h=h+28|0;p=c[o>>2]|0;l=m+448|0;c[l>>2]=p;if((p|0)==0?(b[r+14>>1]|0)==0:0)c[l>>2]=16777215;else u=60;if((u|0)==60?Id(l,q,1,c[h>>2]|0)|0:0){k=1;return k|0}if(s>>>0>=6){l=oe(d,e,f,i,j,k)|0;if(l|0){k=l;return k|0}}else u=110}else{Ud(p,0,54);c[d+20>>2]=c[h>>2];u=110}if((u|0)==110?(t=pe(d,e,g,i,f,k)|0,t|0):0){k=t;return k|0}k=0;return k|0}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+4>>2]|0;g=c[a+12>>2]|0;e=c[a+16>>2]|0;d=c[a+20>>2]|0;a=f<<2;h=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=h;h=c[b+12>>2]|0;c[g+8>>2]=c[b+8>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+20>>2]|0;c[g>>2]=c[b+16>>2];c[g+4>>2]=h;h=c[b+28>>2]|0;c[g+8>>2]=c[b+24>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+36>>2]|0;c[g>>2]=c[b+32>>2];c[g+4>>2]=h;h=c[b+44>>2]|0;c[g+8>>2]=c[b+40>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+52>>2]|0;c[g>>2]=c[b+48>>2];c[g+4>>2]=h;h=c[b+60>>2]|0;c[g+8>>2]=c[b+56>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+68>>2]|0;c[g>>2]=c[b+64>>2];c[g+4>>2]=h;h=c[b+76>>2]|0;c[g+8>>2]=c[b+72>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+84>>2]|0;c[g>>2]=c[b+80>>2];c[g+4>>2]=h;h=c[b+92>>2]|0;c[g+8>>2]=c[b+88>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+100>>2]|0;c[g>>2]=c[b+96>>2];c[g+4>>2]=h;h=c[b+108>>2]|0;c[g+8>>2]=c[b+104>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+116>>2]|0;c[g>>2]=c[b+112>>2];c[g+4>>2]=h;h=c[b+124>>2]|0;c[g+8>>2]=c[b+120>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+132>>2]|0;c[g>>2]=c[b+128>>2];c[g+4>>2]=h;h=c[b+140>>2]|0;c[g+8>>2]=c[b+136>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+148>>2]|0;c[g>>2]=c[b+144>>2];c[g+4>>2]=h;h=c[b+156>>2]|0;c[g+8>>2]=c[b+152>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+164>>2]|0;c[g>>2]=c[b+160>>2];c[g+4>>2]=h;h=c[b+172>>2]|0;c[g+8>>2]=c[b+168>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+180>>2]|0;c[g>>2]=c[b+176>>2];c[g+4>>2]=h;h=c[b+188>>2]|0;c[g+8>>2]=c[b+184>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+196>>2]|0;c[g>>2]=c[b+192>>2];c[g+4>>2]=h;h=c[b+204>>2]|0;c[g+8>>2]=c[b+200>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+212>>2]|0;c[g>>2]=c[b+208>>2];c[g+4>>2]=h;h=c[b+220>>2]|0;c[g+8>>2]=c[b+216>>2];c[g+12>>2]=h;g=g+(a<<2)|0;h=c[b+228>>2]|0;c[g>>2]=c[b+224>>2];c[g+4>>2]=h;h=c[b+236>>2]|0;c[g+8>>2]=c[b+232>>2];c[g+12>>2]=h;a=g+(a<<2)|0;g=c[b+244>>2]|0;c[a>>2]=c[b+240>>2];c[a+4>>2]=g;g=c[b+252>>2]|0;c[a+8>>2]=c[b+248>>2];c[a+12>>2]=g;a=f<<1&2147483646;f=c[b+260>>2]|0;c[e>>2]=c[b+256>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+268>>2]|0;c[e>>2]=c[b+264>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+276>>2]|0;c[e>>2]=c[b+272>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+284>>2]|0;c[e>>2]=c[b+280>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+292>>2]|0;c[e>>2]=c[b+288>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+300>>2]|0;c[e>>2]=c[b+296>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+308>>2]|0;c[e>>2]=c[b+304>>2];c[e+4>>2]=f;e=e+(a<<2)|0;f=c[b+316>>2]|0;c[e>>2]=c[b+312>>2];c[e+4>>2]=f;e=c[b+324>>2]|0;c[d>>2]=c[b+320>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+332>>2]|0;c[d>>2]=c[b+328>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+340>>2]|0;c[d>>2]=c[b+336>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+348>>2]|0;c[d>>2]=c[b+344>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+356>>2]|0;c[d>>2]=c[b+352>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+364>>2]|0;c[d>>2]=c[b+360>>2];c[d+4>>2]=e;d=d+(a<<2)|0;e=c[b+372>>2]|0;c[d>>2]=c[b+368>>2];c[d+4>>2]=e;a=d+(a<<2)|0;d=c[b+380>>2]|0;c[a>>2]=c[b+376>>2];c[a+4>>2]=d;return}function ne(a,b,c){a=a|0;b=b|0;c=c|0;pi(a|0,b|0,c|0)|0;return}function oe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=Nb;Nb=Nb+80|0;h=j+32|0;i=j;Ke(d,h,i,e);if((Le(c[a>>2]|0)|0)==1){e=Me(a,g,b+328|0,h,i,f)|0;if(e|0){a=e;Nb=j;return a|0}}else{e=Ne(a,g,b,h,i,f)|0;if(e|0){a=e;Nb=j;return a|0}}e=Oe(a,g+256|0,b+1352|0,h+21|0,i+16|0,c[b+140>>2]|0,f)|0;if(e|0){a=e;Nb=j;return a|0}if((c[a+196>>2]|0)>>>0>1){a=0;Nb=j;return a|0}me(d,g);a=0;Nb=j;return a|0} |
| | | function pf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r(f,e)|0;m=c[b+12>>2]|0;if((m|0)==1){Ud(a,0,n<<2);return}g=c[b+16>>2]|0;if((g+-3|0)>>>0<3){d=r(c[b+36>>2]|0,d)|0;d=d>>>0<n>>>0?d:n;if((g&-2|0)==4){k=(c[b+32>>2]|0)==0?d:n-d|0;h=6}else u=d}else{k=0;d=0;h=6}a:do if((h|0)==6)switch(g|0){case 3:{u=d;break a}case 0:{j=c[b+20>>2]|0;if(!m){if(!n)return;while(1){}}d=0;while(1){if(d>>>0>=n>>>0){h=66;break}k=0;do{i=j+(k<<2)|0;g=c[i>>2]|0;b:do if(!g)g=0;else{b=0;do{h=b+d|0;if(h>>>0>=n>>>0)break b;c[a+(h<<2)>>2]=k;b=b+1|0;g=c[i>>2]|0}while(b>>>0<g>>>0)}while(0);k=k+1|0;d=g+d|0;g=d>>>0<n>>>0}while(k>>>0<m>>>0&g);if(!g){h=66;break}}if((h|0)==66)return;break}case 1:{if(!n)return;d=0;do{u=(d>>>0)/(e>>>0)|0;c[a+(d<<2)>>2]=((((r(u,m)|0)>>>1)+(d-(r(u,e)|0))|0)>>>0)%(m>>>0)|0;d=d+1|0}while((d|0)!=(n|0));return}case 2:{l=c[b+24>>2]|0;f=c[b+28>>2]|0;g=m+-1|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=g;d=d+1|0}while((d|0)!=(n|0));if(!g)return}j=m+-2|0;while(1){b=c[l+(j<<2)>>2]|0;d=(b>>>0)/(e>>>0)|0;b=b-(r(d,e)|0)|0;i=c[f+(j<<2)>>2]|0;k=(i>>>0)/(e>>>0)|0;i=i-(r(k,e)|0)|0;c:do if(d>>>0<=k>>>0){if(b>>>0>i>>>0)while(1){d=d+1|0;if(d>>>0>k>>>0)break c}do{g=r(d,e)|0;h=b;do{c[a+(h+g<<2)>>2]=j;h=h+1|0}while(h>>>0<=i>>>0);d=d+1|0}while(d>>>0<=k>>>0)}while(0);if(!j)break;else j=j+-1|0}return}case 4:{d=c[b+32>>2]|0;if(!n)return;h=1-d|0;g=0;do{c[a+(g<<2)>>2]=g>>>0<k>>>0?d:h;g=g+1|0}while((g|0)!=(n|0));return}case 5:{d=c[b+32>>2]|0;if(!e)return;j=1-d|0;if(!f)return;h=0;b=0;while(1){g=0;i=b;while(1){u=a+((r(g,e)|0)+h<<2)|0;c[u>>2]=i>>>0<k>>>0?d:j;g=g+1|0;if((g|0)==(f|0))break;else i=i+1|0}h=h+1|0;if((h|0)==(e|0))break;else b=b+f|0}return}default:{if(!n)return;d=c[b+44>>2]|0;g=0;do{c[a+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0));return}}while(0);h=c[b+32>>2]|0;if(n|0){d=0;do{c[a+(d<<2)>>2]=1;d=d+1|0}while((d|0)!=(n|0))}d=(e-h|0)>>>1;g=(f-h|0)>>>1;if(!u)return;t=h<<1;q=t+-1|0;s=e+-1|0;t=1-t|0;p=f+-1|0;m=g;o=0;n=d;b=d;i=g;j=d;k=h+-1|0;f=g;while(1){d=a+((r(f,e)|0)+j<<2)|0;g=(c[d>>2]|0)==1;l=g&1;if(g)c[d>>2]=0;do if(!((k|0)==-1&(j|0)==(n|0))){if((k|0)==1&(j|0)==(b|0)){j=b+1|0;j=(j|0)<(s|0)?j:s;d=m;g=n;b=j;k=0;h=t;break}if((h|0)==-1&(f|0)==(i|0)){f=i+-1|0;f=(f|0)>0?f:0;d=m;g=n;i=f;k=t;h=0;break}if((h|0)==1&(f|0)==(m|0)){f=m+1|0;f=(f|0)<(p|0)?f:p;d=f;g=n;k=q;h=0;break}else{d=m;g=n;j=j+k|0;f=f+h|0;break}}else{j=n+-1|0;j=(j|0)>0?j:0;d=m;g=j;k=0;h=q}while(0);o=o+l|0;if(o>>>0>=u>>>0)break;else{m=d;n=g}}return}function qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Nb;Nb=Nb+32|0;g=s+24|0;i=s+20|0;j=s+16|0;m=s+12|0;q=s+8|0;p=s;c[e>>2]=0;switch(c[b>>2]|0){case 6:case 7:case 8:case 9:case 10:case 11:case 13:case 14:case 15:case 16:case 17:case 18:{c[e>>2]=1;b=0;Nb=s;return b|0}case 5:case 1:{r=d+1300|0;f=d+1332|0;if(c[f>>2]|0){c[e>>2]=1;c[f>>2]=0}f=ce(a,g)|0;if(f|0){b=f;Nb=s;return b|0}k=c[d+148+(c[g>>2]<<2)>>2]|0;if(!k){b=65520;Nb=s;return b|0}f=c[k+4>>2]|0;l=c[d+20+(f<<2)>>2]|0;if(!l){b=65520;Nb=s;return b|0}g=c[d+8>>2]|0;if(!((g|0)==32|(f|0)==(g|0))?(c[b>>2]|0)!=5:0){b=65520;Nb=s;return b|0}f=c[d+1304>>2]|0;g=c[b+4>>2]|0;if((f|0)!=(g|0)?(f|0)==0|(g|0)==0:0)c[e>>2]=1;f=(c[b>>2]|0)==5;if((c[r>>2]|0)==5){if(!f)h=16}else if(f)h=16;if((h|0)==16)c[e>>2]=1;g=l+12|0;if(de(a,c[g>>2]|0,i)|0){b=1;Nb=s;return b|0}h=d+1308|0;f=c[i>>2]|0;if((c[h>>2]|0)!=(f|0)){c[h>>2]=f;c[e>>2]=1}if((c[b>>2]|0)==5){if(ee(a,c[g>>2]|0,5,j)|0){b=1;Nb=s;return b|0}if((c[r>>2]|0)==5){f=d+1312|0;h=c[f>>2]|0;g=c[j>>2]|0;if((h|0)==(g|0))g=h;else c[e>>2]=1}else{g=c[j>>2]|0;f=d+1312|0}c[f>>2]=g}switch(c[l+16>>2]|0){case 0:{if(fe(a,l,c[b>>2]|0,m)|0){b=1;Nb=s;return b|0}g=d+1316|0;f=c[m>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[k+8>>2]|0){f=ge(a,l,c[b>>2]|0,q)|0;if(f|0){b=f;Nb=s;return b|0}g=d+1320|0;f=c[q>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}}break}case 1:{if(!(c[l+24>>2]|0)){h=k+8|0;f=he(a,l,c[b>>2]|0,c[h>>2]|0,p)|0;if(f|0){b=f;Nb=s;return b|0}g=d+1324|0;f=c[p>>2]|0;if((c[g>>2]|0)!=(f|0)){c[g>>2]=f;c[e>>2]=1}if(c[h>>2]|0?(o=d+1328|0,n=c[p+4>>2]|0,(c[o>>2]|0)!=(n|0)):0){c[o>>2]=n;c[e>>2]=1}}break}default:{}}d=b;e=c[d+4>>2]|0;b=r;c[b>>2]=c[d>>2];c[b+4>>2]=e;b=0;Nb=s;return b|0}default:{b=0;Nb=s;return b|0}}return 0}function rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=0;a:while(1){d=c[a+148+(k<<2)>>2]|0;b:do if(d|0?(j=c[a+20+(c[d+4>>2]<<2)>>2]|0,j|0):0){i=c[j+52>>2]|0;l=r(c[j+56>>2]|0,i)|0;e=c[d+12>>2]|0;if(e>>>0<=1){b=0;d=18;break a}b=c[d+16>>2]|0;switch(b|0){case 0:{b=c[d+20>>2]|0;d=0;while(1){if((c[b+(d<<2)>>2]|0)>>>0>l>>>0)break b;d=d+1|0;if(d>>>0>=e>>>0){b=0;d=18;break a}}}case 2:{h=e+-1|0;g=c[d+24>>2]|0;d=c[d+28>>2]|0;f=0;while(1){e=c[g+(f<<2)>>2]|0;b=c[d+(f<<2)>>2]|0;if(!(e>>>0<=b>>>0&b>>>0<l>>>0))break b;f=f+1|0;if(((e>>>0)%(i>>>0)|0)>>>0>((b>>>0)%(i>>>0)|0)>>>0)break b;if(f>>>0>=h>>>0){b=0;d=18;break a}}}default:{if((b+-3|0)>>>0<3)if((c[d+36>>2]|0)>>>0>l>>>0)break b;else{b=0;d=18;break a}if((b|0)!=6){b=0;d=18;break a}if((c[d+40>>2]|0)>>>0<l>>>0)break b;else{b=0;d=18;break a}}}}while(0);k=k+1|0;if(k>>>0>=256){b=1;d=18;break}}if((d|0)==18)return b|0;return 0}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+40>>2]|0;if(g|0){h=c[a>>2]|0;j=a+32|0;i=0;do{if(((c[h+(i*40|0)+20>>2]|0)+-1|0)>>>0<2){f=c[h+(i*40|0)+12>>2]|0;if(f>>>0>d>>>0)f=f-(c[j>>2]|0)|0;c[h+(i*40|0)+8>>2]=f}i=i+1|0}while((i|0)!=(g|0))}if(!(c[b>>2]|0)){b=0;return b|0}f=c[b+4>>2]|0;if(f>>>0>=3){b=0;return b|0}o=a+24|0;n=a+32|0;m=a+4|0;k=d;l=0;a:while(1){b:do if((f|0)==2){f=c[b+4+(l*12|0)+8>>2]|0;g=c[o>>2]|0;if(!g){f=1;g=39;break a}i=c[a>>2]|0;h=0;while(1){if((c[i+(h*40|0)+20>>2]|0)==3?(c[i+(h*40|0)+8>>2]|0)==(f|0):0){j=3;g=i;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}else{g=c[b+4+(l*12|0)+4>>2]|0;if(!f){f=k-g|0;if((f|0)<0)f=(c[n>>2]|0)+f|0}else{k=g+k|0;f=c[n>>2]|0;f=k-((k|0)<(f|0)?0:f)|0}if(f>>>0>d>>>0)i=f-(c[n>>2]|0)|0;else i=f;g=c[o>>2]|0;if(!g){f=1;g=39;break a}k=c[a>>2]|0;h=0;while(1){j=c[k+(h*40|0)+20>>2]|0;if((j+-1|0)>>>0<2?(c[k+(h*40|0)+8>>2]|0)==(i|0):0){g=k;k=f;break b}h=h+1|0;if(h>>>0>=g>>>0){f=1;g=39;break a}}}while(0);if(!((h|0)>-1&j>>>0>1)){f=1;g=39;break}if(l>>>0<e>>>0){f=e;do{i=c[m>>2]|0;j=f;f=f+-1|0;c[i+(j<<2)>>2]=c[i+(f<<2)>>2]}while(f>>>0>l>>>0);f=c[a>>2]|0}else f=g;c[(c[m>>2]|0)+(l<<2)>>2]=f+(h*40|0);l=l+1|0;if(l>>>0<=e>>>0){j=l;f=l;do{g=c[m>>2]|0;i=c[g+(j<<2)>>2]|0;if((i|0)!=((c[a>>2]|0)+(h*40|0)|0)){c[g+(f<<2)>>2]=i;f=f+1|0}j=j+1|0}while(j>>>0<=e>>>0)}f=c[b+4+(l*12|0)>>2]|0;if(f>>>0>=3){f=0;g=39;break}}if((g|0)==39)return f|0;return 0}function tf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=a+8|0;j=c[z>>2]|0;if((c[d>>2]|0)!=(c[j>>2]|0)){a=1;return a|0}u=a+52|0;c[u>>2]=0;A=a+56|0;d=(c[A>>2]|0)==0;y=d&1;do if(!b){c[j+20>>2]=0;c[j+12>>2]=e;c[j+8>>2]=e;c[j+16>>2]=f;c[j+24>>2]=y;if(d){q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;q=0}else q=0}else{if(g|0){j=a+20|0;c[j>>2]=0;d=a+16|0;c[d>>2]=0;uf(a);if(!((c[b>>2]|0)==0?!(c[A>>2]|0):0)){c[d>>2]=0;c[j>>2]=0}f=(c[b+4>>2]|0)==0;q=c[z>>2]|0;c[q+20>>2]=f?2:3;c[a+36>>2]=f?65535:0;c[q+12>>2]=0;c[q+8>>2]=0;c[q+16>>2]=0;c[q+24>>2]=y;c[a+44>>2]=1;c[a+40>>2]=1;q=0;break}if(!(c[b+8>>2]|0)){j=a+40|0;l=c[j>>2]|0;p=c[a+24>>2]|0;if(l>>>0>=p>>>0)if(l){o=c[a>>2]|0;m=0;d=-1;k=0;while(1){if(((c[o+(m*40|0)+20>>2]|0)+-1|0)>>>0<2){b=c[o+(m*40|0)+8>>2]|0;x=(d|0)==-1|(b|0)<(k|0);n=x?m:d;k=x?b:k}else n=d;m=m+1|0;if((m|0)==(l|0))break;else d=n}if((n|0)>-1){c[o+(n*40|0)+20>>2]=0;d=l+-1|0;c[j>>2]=d;if(!(c[o+(n*40|0)+24>>2]|0)){l=a+44|0;c[l>>2]=(c[l>>2]|0)+-1;l=d;k=p;d=0}else{l=d;k=p;d=0}}else{k=p;d=1}}else{l=0;k=p;d=1}else{k=p;d=0}}else{v=a+24|0;t=a+36|0;j=a+40|0;s=a+44|0;q=0;r=0;a:while(1){d=c[b+12+(q*20|0)>>2]|0;b:do switch(d|0){case 0:{x=77;break a}case 1:{n=e-(c[b+12+(q*20|0)+4>>2]|0)|0;l=c[v>>2]|0;if(!l){d=1;break a}m=c[a>>2]|0;d=0;while(1){k=m+(d*40|0)+20|0;if(((c[k>>2]|0)+-1|0)>>>0<2?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=l>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 2:{l=c[b+12+(q*20|0)+8>>2]|0;m=c[v>>2]|0;if(!m){d=1;break a}n=c[a>>2]|0;d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[n+(d*40|0)+8>>2]|0)==(l|0):0)break;d=d+1|0;if(d>>>0>=m>>>0){d=1;break a}}if((d|0)<0){d=1;break a}c[k>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[n+(d*40|0)+24>>2]|0)){c[s>>2]=(c[s>>2]|0)+-1;d=r}else d=r;break}case 3:{d=c[b+12+(q*20|0)+4>>2]|0;n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}o=c[v>>2]|0;if(!o){d=1;break a}p=c[a>>2]|0;k=0;while(1){m=p+(k*40|0)+20|0;if((c[m>>2]|0)==3?(c[p+(k*40|0)+8>>2]|0)==(n|0):0){x=34;break}l=k+1|0;if(l>>>0<o>>>0)k=l;else break}if((x|0)==34?(x=0,c[m>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[p+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;m=e-d|0;d=0;while(1){l=p+(d*40|0)+20|0;k=c[l>>2]|0;if((k+-1|0)>>>0<2?(w=p+(d*40|0)+8|0,(c[w>>2]|0)==(m|0)):0)break;d=d+1|0;if(d>>>0>=o>>>0){d=1;break a}}if(!((d|0)>-1&k>>>0>1)){d=1;break a}c[l>>2]=3;c[w>>2]=n;d=r;break}case 4:{d=c[b+12+(q*20|0)+16>>2]|0;c[t>>2]=d;m=c[v>>2]|0;if(!m)d=r;else{n=c[a>>2]|0;if((d|0)==65535){d=0;while(1){k=n+(d*40|0)+20|0;if((c[k>>2]|0)==3?(c[k>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(d*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;d=d+1|0;if((d|0)==(m|0)){d=r;break b}}}k=0;do{l=n+(k*40|0)+20|0;if(((c[l>>2]|0)==3?(c[n+(k*40|0)+8>>2]|0)>>>0>d>>>0:0)?(c[l>>2]=0,c[j>>2]=(c[j>>2]|0)+-1,(c[n+(k*40|0)+24>>2]|0)==0):0)c[s>>2]=(c[s>>2]|0)+-1;k=k+1|0}while((k|0)!=(m|0));d=r}break}case 5:{uf(a);c[u>>2]=1;e=0;d=r;break}case 6:{n=c[b+12+(q*20|0)+12>>2]|0;p=c[t>>2]|0;if((p|0)==65535|p>>>0<n>>>0){d=1;break a}k=c[v>>2]|0;c:do if(k){m=c[a>>2]|0;d=0;while(1){l=m+(d*40|0)+20|0;if((c[l>>2]|0)==3?(c[m+(d*40|0)+8>>2]|0)==(n|0):0)break;d=d+1|0;if(d>>>0>=k>>>0)break c}c[l>>2]=0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[m+(d*40|0)+24>>2]|0))c[s>>2]=(c[s>>2]|0)+-1}else k=0;while(0);d=c[j>>2]|0;if(d>>>0>=k>>>0){d=1;break a}r=c[z>>2]|0;c[r+12>>2]=e;c[r+8>>2]=n;c[r+16>>2]=f;c[r+20>>2]=3;c[r+24>>2]=(c[A>>2]|0)==0&1;c[j>>2]=d+1;c[s>>2]=(c[s>>2]|0)+1;d=1;break}default:{d=1;break a}}while(0);q=q+1|0;r=d}if(r|0){q=d;break}l=c[j>>2]|0;k=c[v>>2]|0}if(l>>>0<k>>>0){q=c[z>>2]|0;c[q+12>>2]=e;c[q+8>>2]=e;c[q+16>>2]=f;c[q+20>>2]=2;c[q+24>>2]=y;q=a+44|0;c[q>>2]=(c[q>>2]|0)+1;c[j>>2]=l+1;q=d}else q=1}while(0);d=c[z>>2]|0;c[d+36>>2]=g;c[d+28>>2]=h;c[d+32>>2]=i;if(!(c[A>>2]|0)){n=a+44|0;j=c[n>>2]|0;d=c[a+28>>2]|0;if(j>>>0>d>>>0){m=c[a>>2]|0;p=a+12|0;o=a+16|0;do{l=0;e=2147483647;k=0;do{if(c[m+(l*40|0)+24>>2]|0){g=c[m+(l*40|0)+16>>2]|0;i=(g|0)<(e|0);e=i?g:e;k=i?m+(l*40|0)|0:k}l=l+1|0}while(l>>>0<=d>>>0);if((k|0)!=0?(g=c[p>>2]|0,i=c[o>>2]|0,c[g+(i<<4)>>2]=c[k>>2],c[g+(i<<4)+12>>2]=c[k+36>>2],c[g+(i<<4)+4>>2]=c[k+28>>2],c[g+(i<<4)+8>>2]=c[k+32>>2],c[o>>2]=i+1,c[k+24>>2]=0,(c[k+20>>2]|0)==0):0){j=j+-1|0;c[n>>2]=j}}while(j>>>0>d>>>0)}}else{y=c[a+12>>2]|0;A=a+16|0;z=c[A>>2]|0;c[y+(z<<4)>>2]=c[d>>2];c[y+(z<<4)+12>>2]=g;c[y+(z<<4)+4>>2]=h;c[y+(z<<4)+8>>2]=i;c[A>>2]=z+1;d=c[a+28>>2]|0}vf(c[a>>2]|0,d+1|0);a=q;return a|0}function uf(a){a=a|0;var b=0,d=0,e=0;d=c[a>>2]|0;e=a+44|0;b=d+20|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+24>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+60|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+64>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+100|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+104>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+140|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+144>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+180|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+184>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+220|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+224>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+260|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+264>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+300|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+304>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+340|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+344>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+380|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+384>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+420|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+424>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+460|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+464>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+500|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+504>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+540|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+544>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+580|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+584>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;b=d+620|0;if(c[b>>2]|0?(c[b>>2]=0,(c[d+624>>2]|0)==0):0)c[e>>2]=(c[e>>2]|0)+-1;do{}while(!(wf(a)|0));c[a+40>>2]=0;c[a+36>>2]=65535;c[a+48>>2]=0;return}function vf(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=Nb;Nb=Nb+32|0;o=q+16|0;p=q;if(b>>>0>7){j=7;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];a:do if(j>>>0<7)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-280|0;if(c[f+20>>2]|0)break a;if(c[f+24>>2]|0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-280|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break a;e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break a}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-280|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break a;if((c[g+8>>2]|0)<=(k|0))break a}e=e+-7|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<7){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0>3){j=3;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];b:do if(j>>>0<3)e=j;else{if(!l){if(!m){e=j;break}e=j;while(1){d=a+(e*40|0)|0;f=d+-120|0;if(c[f+20>>2]|0)break b;if(c[f+24>>2]|0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-120|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break b;e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break b}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-120|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break b;if((c[g+8>>2]|0)<=(k|0))break b}e=e+-3|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(e>>>0<3){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0))}if(b>>>0<=1){Nb=q;return}j=1;do{d=a+(j*40|0)|0;i=d;h=c[i>>2]|0;i=c[i+4>>2]|0;k=c[a+(j*40|0)+8>>2]|0;n=a+(j*40|0)+12|0;m=c[n+4>>2]|0;l=o;c[l>>2]=c[n>>2];c[l+4>>2]=m;l=c[a+(j*40|0)+20>>2]|0;m=c[a+(j*40|0)+24>>2]|0;n=a+(j*40|0)+28|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c:do if(!l)if(!m)e=j;else{e=j;while(1){d=a+(e*40|0)|0;f=d+-40|0;if(c[f+20>>2]|0)break c;if(c[f+24>>2]|0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}else{if((l+-1|0)>>>0<2){e=j;while(1){d=a+(e*40|0)|0;n=d+-40|0;g=c[n+20>>2]|0;if((g|0)!=0&(g+-1|0)>>>0<2?(c[n+8>>2]|0)>=(k|0):0)break c;e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break c}}}e=j;while(1){d=a+(e*40|0)|0;g=d+-40|0;f=c[g+20>>2]|0;if(f|0){if((f+-1|0)>>>0<2)break c;if((c[g+8>>2]|0)<=(k|0))break c}e=e+-1|0;f=a+(e*40|0)|0;g=f;n=d+40|0;do{c[d>>2]=c[g>>2];d=d+4|0;g=g+4|0}while((d|0)<(n|0));if(!e){d=f;break}}}while(0);n=d;c[n>>2]=h;c[n+4>>2]=i;c[a+(e*40|0)+8>>2]=k;i=o;k=c[i+4>>2]|0;n=a+(e*40|0)+12|0;c[n>>2]=c[i>>2];c[n+4>>2]=k;c[a+(e*40|0)+20>>2]=l;c[a+(e*40|0)+24>>2]=m;n=a+(e*40|0)+28|0;c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];j=j+1|0}while((j|0)!=(b|0));Nb=q;return}function wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(c[a+56>>2]|0){g=1;return g|0}e=c[a>>2]|0;f=c[a+28>>2]|0;g=0;b=2147483647;d=0;do{if(c[e+(g*40|0)+24>>2]|0){i=c[e+(g*40|0)+16>>2]|0;h=(i|0)<(b|0);b=h?i:b;d=h?e+(g*40|0)|0:d}g=g+1|0}while(g>>>0<=f>>>0);if(!d){i=1;return i|0}g=c[a+12>>2]|0;i=a+16|0;h=c[i>>2]|0;c[g+(h<<4)>>2]=c[d>>2];c[g+(h<<4)+12>>2]=c[d+36>>2];c[g+(h<<4)+4>>2]=c[d+28>>2];c[g+(h<<4)+8>>2]=c[d+32>>2];c[i>>2]=h+1;c[d+24>>2]=0;if(c[d+20>>2]|0){i=0;return i|0}i=a+44|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}function xf(a){a=a|0;var b=0;b=(c[a>>2]|0)+((c[a+28>>2]|0)*40|0)|0;c[a+8>>2]=b;return c[b>>2]|0}function yf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if((b|0)!=0?(e=a+28|0,(c[e>>2]|0)!=-1):0){d=0;do{ff(c[b+(d*40|0)+4>>2]|0);b=c[a>>2]|0;c[b+(d*40|0)+4>>2]=0;d=d+1|0}while(d>>>0<((c[e>>2]|0)+1|0)>>>0)}ff(b);c[a>>2]=0;e=a+4|0;ff(c[e>>2]|0);c[e>>2]=0;a=a+12|0;ff(c[a>>2]|0);c[a>>2]=0;return}function zf(a){a=a|0;var b=0,d=0,e=0;b=c[a+40>>2]|0;if(!b)return;e=a+4|0;d=0;do{c[(c[e>>2]|0)+(d<<2)>>2]=(c[a>>2]|0)+(d*40|0);d=d+1|0}while(d>>>0<b>>>0);return}function Af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=a+16|0;c[t>>2]=0;c[a+20>>2]=0;if(!e){b=0;return b|0}v=a+48|0;e=c[v>>2]|0;f=(e|0)==(b|0);do if(!f?(r=a+32|0,g=c[r>>2]|0,h=((e+1|0)>>>0)%(g>>>0)|0,(h|0)!=(b|0)):0){s=a+28|0;u=c[(c[a>>2]|0)+((c[s>>2]|0)*40|0)>>2]|0;p=a+40|0;n=a+24|0;m=a+44|0;o=a+56|0;q=a+12|0;l=h;while(1){j=c[p>>2]|0;f=(j|0)==0;if(!f){e=c[a>>2]|0;h=0;do{if(((c[e+(h*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[e+(h*40|0)+12>>2]|0;c[e+(h*40|0)+8>>2]=k-(k>>>0>l>>>0?g:0)}h=h+1|0}while((h|0)!=(j|0))}if(j>>>0>=(c[n>>2]|0)>>>0){if(f){e=1;m=49;break}i=c[a>>2]|0;g=0;e=-1;f=0;while(1){if(((c[i+(g*40|0)+20>>2]|0)+-1|0)>>>0<2){k=c[i+(g*40|0)+8>>2]|0;w=(e|0)==-1|(k|0)<(f|0);h=w?g:e;f=w?k:f}else h=e;g=g+1|0;if((g|0)==(j|0))break;else e=h}if((h|0)<=-1){e=1;m=49;break}c[i+(h*40|0)+20>>2]=0;e=j+-1|0;c[p>>2]=e;if(!(c[i+(h*40|0)+24>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;j=e}else j=e}e=c[m>>2]|0;k=c[s>>2]|0;if(e>>>0>=k>>>0){if(c[o>>2]|0){m=21;break}i=c[a>>2]|0;do{h=0;f=2147483647;g=0;do{if(c[i+(h*40|0)+24>>2]|0){x=c[i+(h*40|0)+16>>2]|0;w=(x|0)<(f|0);f=w?x:f;g=w?i+(h*40|0)|0:g}h=h+1|0}while(h>>>0<=k>>>0);if((g|0)!=0?(w=c[q>>2]|0,x=c[t>>2]|0,c[w+(x<<4)>>2]=c[g>>2],c[w+(x<<4)+12>>2]=c[g+36>>2],c[w+(x<<4)+4>>2]=c[g+28>>2],c[w+(x<<4)+8>>2]=c[g+32>>2],c[t>>2]=x+1,c[g+24>>2]=0,(c[g+20>>2]|0)==0):0){e=e+-1|0;c[m>>2]=e}}while(e>>>0>=k>>>0)}g=c[a>>2]|0;c[g+(k*40|0)+20>>2]=1;c[g+(k*40|0)+12>>2]=l;c[g+(k*40|0)+8>>2]=l;c[g+(k*40|0)+16>>2]=0;c[g+(k*40|0)+24>>2]=0;c[m>>2]=e+1;c[p>>2]=j+1;vf(g,k+1|0);g=c[r>>2]|0;l=((l+1|0)>>>0)%(g>>>0)|0;if((l|0)==(b|0)){m=33;break}}if((m|0)==21)while(1){}else if((m|0)==33){h=c[t>>2]|0;a:do if(h|0){g=c[q>>2]|0;l=c[a>>2]|0;i=c[s>>2]|0;k=l+(i*40|0)|0;e=c[k>>2]|0;j=e;f=0;while(1){if((c[g+(f<<4)>>2]|0)==(e|0))break;f=f+1|0;if(f>>>0>=h>>>0)break a}if(i|0){f=0;while(1){e=l+(f*40|0)|0;f=f+1|0;if((c[e>>2]|0)==(u|0))break;if(f>>>0>=i>>>0)break a}c[e>>2]=j;c[k>>2]=u}}while(0);if(d|0){m=46;break}e=c[v>>2]|0;break}else if((m|0)==49)return e|0}else m=42;while(0);if((m|0)==42)if(d)if(f){x=1;return x|0}else m=46;if((m|0)==46){c[v>>2]=b;x=0;return x|0}if((e|0)==(b|0)){x=0;return x|0}x=c[a+32>>2]|0;c[v>>2]=((b+-1+x|0)>>>0)%(x>>>0)|0;x=0;return x|0}function Bf(a){a=a|0;var b=0,d=0;d=a+20|0;b=c[d>>2]|0;if(b>>>0>=(c[a+16>>2]|0)>>>0){d=0;return d|0}a=c[a+12>>2]|0;c[d>>2]=b+1;d=a+(b<<4)|0;return d|0}function Cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=c[a>>2]|0;if(!f)return;c[a+60>>2]=1;if(c[a+56>>2]|0)return;g=c[a+28>>2]|0;i=a+12|0;h=a+16|0;e=a+44|0;a=0;b=2147483647;d=0;while(1){if(c[f+(a*40|0)+24>>2]|0){k=c[f+(a*40|0)+16>>2]|0;j=(k|0)<(b|0);b=j?k:b;d=j?f+(a*40|0)|0:d}a=a+1|0;if(a>>>0>g>>>0){if(!d)break;j=c[i>>2]|0;k=c[h>>2]|0;c[j+(k<<4)>>2]=c[d>>2];c[j+(k<<4)+12>>2]=c[d+36>>2];c[j+(k<<4)+4>>2]=c[d+28>>2];c[j+(k<<4)+8>>2]=c[d+32>>2];c[h>>2]=k+1;c[d+24>>2]=0;if(!(c[d+20>>2]|0)){c[e>>2]=(c[e>>2]|0)+-1;a=0;b=2147483647;d=0}else{a=0;b=2147483647;d=0}}}return}function Df(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0;Cb=Nb;Nb=Nb+176|0;Ia=Cb+40|0;mb=Cb;Ca=c[e+4>>2]|0;Ma=e+8|0;Bb=c[Ma>>2]|0;g=r(Bb,Ca)|0;if(!Bb){Nb=Cb;return}zb=Ia+24|0;Ab=Ia+16|0;Bb=Ia+8|0;Na=Ia+100|0;Oa=Ia+68|0;Pa=Ia+36|0;Qa=Ia+4|0;Fa=mb+28|0;Ja=mb+32|0;kb=mb+24|0;nb=Ia+120|0;ob=Ia+112|0;pb=Ia+104|0;qb=Ia+96|0;rb=Ia+88|0;sb=Ia+80|0;tb=Ia+72|0;ub=Ia+64|0;vb=Ia+56|0;wb=Ia+48|0;xb=Ia+40|0;yb=Ia+32|0;Ra=Ia+124|0;Sa=Ia+116|0;Ta=Ia+108|0;Ua=Ia+92|0;Va=Ia+84|0;Wa=Ia+76|0;Xa=Ia+60|0;Ya=Ia+52|0;Za=Ia+44|0;_a=Ia+28|0;$a=Ia+20|0;ab=Ia+12|0;eb=Ca<<4;Da=mb+12|0;Ea=mb+24|0;cb=Ca<<6;jb=0-eb|0;bb=jb<<1;ib=r(Ca,-48)|0;db=Ca<<5;gb=jb<<2;hb=Ca*48|0;Ha=mb+4|0;La=mb+8|0;Ga=mb+16|0;Ka=mb+20|0;lb=mb+12|0;fb=g<<8;ta=g<<6;ua=Ca<<3;ka=Ia+4|0;qa=Ia+36|0;ia=Ia+16|0;ma=Ia+20|0;oa=Ia+52|0;ya=Ia+8|0;la=Ia+68|0;Aa=Ia+24|0;ra=Ia+100|0;ja=Ia+80|0;na=Ia+84|0;pa=Ia+116|0;wa=Ia+24|0;va=Ia+64|0;za=Ia+72|0;Ba=Ia+88|0;xa=Ia+88|0;ga=0;sa=0;ha=f;while(1){g=c[ha+8>>2]|0;do if((g|0)!=1){fa=ha+200|0;n=c[fa>>2]|0;do if(!n)f=1;else{if((g|0)==2?(c[ha+4>>2]|0)!=(c[n+4>>2]|0):0){f=1;break}f=5}while(0);ea=ha+204|0;k=c[ea>>2]|0;do if(k){if((g|0)==2?(c[ha+4>>2]|0)!=(c[k+4>>2]|0):0)break;f=f|2}while(0);da=(f&2|0)==0;do if(da){c[zb>>2]=0;c[Ab>>2]=0;c[Bb>>2]=0;c[Ia>>2]=0;i=0}else{if((c[ha>>2]|0)>>>0<=5?(c[k>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[k+48>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+132>>1]|0)-(b[k+172>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){j=(b[ha+134>>1]|0)-(b[k+174>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Ia>>2]=j;if((b[ha+30>>1]|0)==0?(b[k+50>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[k+124>>2]|0)?(ca=(b[ha+136>>1]|0)-(b[k+176>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){h=(b[ha+138>>1]|0)-(b[k+178>>1]|0)|0;h=(((h|0)<0?0-h|0:h)|0)>3&1}else h=1;else h=2;c[Bb>>2]=h;if((b[ha+36>>1]|0)==0?(b[k+56>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+148>>1]|0)-(b[k+188>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){i=(b[ha+150>>1]|0)-(b[k+190>>1]|0)|0;i=(((i|0)<0?0-i|0:i)|0)>3&1}else i=1;else i=2;c[Ab>>2]=i;if((b[ha+38>>1]|0)==0?(b[k+58>>1]|0)==0:0)if((c[ha+120>>2]|0)==(c[k+128>>2]|0)?(ca=(b[ha+152>>1]|0)-(b[k+192>>1]|0)|0,(((ca|0)<0?0-ca|0:ca)|0)<=3):0){g=(b[ha+154>>1]|0)-(b[k+194>>1]|0)|0;g=(((g|0)<0?0-g|0:g)|0)>3&1}else g=1;else g=2;c[zb>>2]=g;i=(h|j|i|g|0)!=0&1;break}c[zb>>2]=4;c[Ab>>2]=4;c[Bb>>2]=4;c[Ia>>2]=4;i=1}while(0);ca=(f&4|0)==0;do if(ca){c[Na>>2]=0;c[Oa>>2]=0;c[Pa>>2]=0;c[Qa>>2]=0;g=0;f=c[ha>>2]|0;h=ha;ba=64}else{f=c[ha>>2]|0;if(f>>>0<=5?(c[n>>2]|0)>>>0<=5:0){if((b[ha+28>>1]|0)==0?(b[n+38>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+132>>1]|0)-(b[n+152>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){k=(b[ha+134>>1]|0)-(b[n+154>>1]|0)|0;k=(((k|0)<0?0-k|0:k)|0)>3&1}else k=1;else k=2;c[Qa>>2]=k;if((b[ha+32>>1]|0)==0?(b[n+42>>1]|0)==0:0)if((c[ha+116>>2]|0)==(c[n+120>>2]|0)?(ba=(b[ha+140>>1]|0)-(b[n+160>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){l=(b[ha+142>>1]|0)-(b[n+162>>1]|0)|0;l=(((l|0)<0?0-l|0:l)|0)>3&1}else l=1;else l=2;c[Pa>>2]=l;if((b[ha+44>>1]|0)==0?(b[n+54>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+164>>1]|0)-(b[n+184>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){m=(b[ha+166>>1]|0)-(b[n+186>>1]|0)|0;m=(((m|0)<0?0-m|0:m)|0)>3&1}else m=1;else m=2;c[Oa>>2]=m;if((b[ha+48>>1]|0)==0?(b[n+58>>1]|0)==0:0)if((c[ha+124>>2]|0)==(c[n+128>>2]|0)?(ba=(b[ha+172>>1]|0)-(b[n+192>>1]|0)|0,(((ba|0)<0?0-ba|0:ba)|0)<=3):0){j=(b[ha+174>>1]|0)-(b[n+194>>1]|0)|0;j=(((j|0)<0?0-j|0:j)|0)>3&1}else j=1;else j=2;c[Na>>2]=j;g=k;h=ha;i=(k|i|l|m|j|0)!=0&1;ba=66;break}c[Na>>2]=4;c[Oa>>2]=4;c[Pa>>2]=4;c[Qa>>2]=4;g=4;h=ha;i=1;ba=64}while(0);if((ba|0)==64){ba=0;if(f>>>0>5){c[nb>>2]=3;c[ob>>2]=3;c[pb>>2]=3;c[qb>>2]=3;c[rb>>2]=3;c[sb>>2]=3;c[tb>>2]=3;c[ub>>2]=3;c[vb>>2]=3;c[wb>>2]=3;c[xb>>2]=3;c[yb>>2]=3;c[Ra>>2]=3;c[Sa>>2]=3;c[Ta>>2]=3;c[Ua>>2]=3;c[Va>>2]=3;c[Wa>>2]=3;c[Xa>>2]=3;c[Ya>>2]=3;c[Za>>2]=3;c[_a>>2]=3;c[$a>>2]=3;c[ab>>2]=3}else ba=66}if((ba|0)==66){ba=0;a:do if((af(f)|0)==1){p=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[p>>1]|0)==0:0)K=0;else K=2;c[yb>>2]=K;f=b[ha+34>>1]|0;u=f<<16>>16==0;if(u?(b[ha+30>>1]|0)==0:0)I=0;else I=2;c[xb>>2]=I;h=b[ha+40>>1]|0;v=h<<16>>16==0;if(v?(b[ha+36>>1]|0)==0:0)H=0;else H=2;c[wb>>2]=H;j=b[ha+42>>1]|0;w=j<<16>>16==0;if(w?(b[ha+38>>1]|0)==0:0)G=0;else G=2;c[vb>>2]=G;t=b[ha+44>>1]|0;F=(t|s)<<16>>16==0?0:2;c[ub>>2]=F;q=b[ha+46>>1]|0;x=f<<16>>16!=0;E=(q|f)<<16>>16==0?0:2;c[tb>>2]=E;n=b[ha+52>>1]|0;o=h<<16>>16!=0;D=(n|h)<<16>>16==0?0:2;c[sb>>2]=D;m=b[ha+54>>1]|0;C=(m|j)<<16>>16==0?0:2;c[rb>>2]=C;f=b[ha+48>>1]|0;B=(f|t)<<16>>16==0?0:2;c[qb>>2]=B;h=b[ha+50>>1]|0;A=(h|q)<<16>>16==0?0:2;c[pb>>2]=A;j=b[ha+56>>1]|0;z=(j|n)<<16>>16==0?0:2;c[ob>>2]=z;k=b[ha+58>>1]|0;y=(k|m)<<16>>16==0?0:2;c[nb>>2]=y;l=b[ha+30>>1]|0;if(l<<16>>16==0?(b[p>>1]|0)==0:0)p=0;else p=2;c[ab>>2]=p;_=b[ha+36>>1]|0;$=(_|l)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|u^1?2:0;c[Za>>2]=J;aa=x|v^1?2:0;c[Ya>>2]=aa;v=o|w^1?2:0;c[Xa>>2]=v;t=(q|t)<<16>>16==0?0:2;c[Wa>>2]=t;q=(n|q)<<16>>16==0?0:2;c[Va>>2]=q;o=(m|n)<<16>>16==0?0:2;c[Ua>>2]=o;n=(h|f)<<16>>16==0?0:2;c[Ta>>2]=n;m=(j|h)<<16>>16==0?0:2;c[Sa>>2]=m;h=(k|j)<<16>>16==0?0:2;c[Ra>>2]=h;k=m;m=q;q=aa;aa=p;u=E;s=F;p=G;l=H;j=I;f=K}else switch(c[h>>2]|0){case 2:{q=ha+28|0;s=b[ha+32>>1]|0;if(s<<16>>16==0?(b[q>>1]|0)==0:0)f=0;else f=2;c[yb>>2]=f;t=b[ha+34>>1]|0;A=t<<16>>16==0;if(A?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;u=b[ha+40>>1]|0;B=u<<16>>16==0;if(B?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;n=b[ha+42>>1]|0;C=n<<16>>16==0;if(C?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;v=b[ha+48>>1]|0;if(v<<16>>16==0?(b[ha+44>>1]|0)==0:0)L=0;else L=2;c[qb>>2]=L;w=b[ha+50>>1]|0;D=w<<16>>16==0;if(D?(b[ha+46>>1]|0)==0:0)I=0;else I=2;c[pb>>2]=I;x=b[ha+56>>1]|0;if(x<<16>>16==0?(b[ha+52>>1]|0)==0:0)H=0;else H=2;c[ob>>2]=H;y=b[ha+58>>1]|0;if(y<<16>>16==0?(b[ha+54>>1]|0)==0:0)G=0;else G=2;c[nb>>2]=G;z=b[ha+44>>1]|0;h=b[ha+166>>1]|0;j=b[ha+142>>1]|0;do if(!((z|s)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){M=1;break}M=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else M=2;while(0);c[ub>>2]=M;o=b[ha+46>>1]|0;h=b[ha+170>>1]|0;j=b[ha+146>>1]|0;do if(!((o|t)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){K=1;break}K=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}else K=2;while(0);c[tb>>2]=K;m=b[ha+52>>1]|0;h=b[ha+182>>1]|0;j=b[ha+158>>1]|0;do if(!((m|u)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){F=1;break}F=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else F=2;while(0);c[sb>>2]=F;k=b[ha+54>>1]|0;h=b[ha+186>>1]|0;j=b[ha+162>>1]|0;do if(!((k|n)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}aa=h-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){E=1;break}E=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else E=2;while(0);c[rb>>2]=E;h=b[ha+30>>1]|0;if(h<<16>>16==0?(b[q>>1]|0)==0:0)j=0;else j=2;c[ab>>2]=j;_=b[ha+36>>1]|0;$=(_|h)<<16>>16==0?0:2;c[$a>>2]=$;_=(b[ha+38>>1]|_)<<16>>16==0?0:2;c[_a>>2]=_;J=s<<16>>16!=0|A^1?2:0;c[Za>>2]=J;q=t<<16>>16!=0|B^1?2:0;c[Ya>>2]=q;aa=u<<16>>16!=0|C^1?2:0;c[Xa>>2]=aa;t=(o|z)<<16>>16==0?0:2;c[Wa>>2]=t;z=(m|o)<<16>>16==0?0:2;c[Va>>2]=z;o=(k|m)<<16>>16==0?0:2;c[Ua>>2]=o;n=v<<16>>16!=0|D^1?2:0;c[Ta>>2]=n;k=(x|w)<<16>>16==0?0:2;c[Sa>>2]=k;h=(y|x)<<16>>16==0?0:2;c[Ra>>2]=h;m=z;v=aa;aa=j;y=G;z=H;A=I;B=L;C=E;D=F;u=K;s=M;j=N;break a}case 3:{h=ha+28|0;j=b[ha+32>>1]|0;if(j<<16>>16==0?(b[h>>1]|0)==0:0)O=0;else O=2;c[yb>>2]=O;v=b[ha+34>>1]|0;k=v<<16>>16==0;if(k?(b[ha+30>>1]|0)==0:0)N=0;else N=2;c[xb>>2]=N;w=b[ha+40>>1]|0;if(w<<16>>16==0?(b[ha+36>>1]|0)==0:0)l=0;else l=2;c[wb>>2]=l;f=b[ha+42>>1]|0;m=f<<16>>16==0;if(m?(b[ha+38>>1]|0)==0:0)p=0;else p=2;c[vb>>2]=p;n=b[ha+44>>1]|0;M=(n|j)<<16>>16==0?0:2;c[ub>>2]=M;x=b[ha+46>>1]|0;u=(x|v)<<16>>16==0?0:2;c[tb>>2]=u;E=b[ha+52>>1]|0;D=(E|w)<<16>>16==0?0:2;c[sb>>2]=D;o=b[ha+54>>1]|0;C=(o|f)<<16>>16==0?0:2;c[rb>>2]=C;q=b[ha+48>>1]|0;B=(q|n)<<16>>16==0?0:2;c[qb>>2]=B;G=b[ha+50>>1]|0;A=(G|x)<<16>>16==0?0:2;c[pb>>2]=A;H=b[ha+56>>1]|0;z=(H|E)<<16>>16==0?0:2;c[ob>>2]=z;s=b[ha+58>>1]|0;y=(s|o)<<16>>16==0?0:2;c[nb>>2]=y;t=b[ha+30>>1]|0;if(t<<16>>16==0?(b[h>>1]|0)==0:0)L=0;else L=2;c[ab>>2]=L;f=ha+36|0;if(!(b[ha+38>>1]|0)){f=b[f>>1]|0;if(!(f<<16>>16)){K=0;f=0}else ba=146}else{f=b[f>>1]|0;ba=146}if((ba|0)==146){ba=0;K=2}c[_a>>2]=K;J=j<<16>>16!=0|k^1?2:0;c[Za>>2]=J;I=w<<16>>16!=0|m^1?2:0;c[Xa>>2]=I;F=(x|n)<<16>>16==0?0:2;c[Wa>>2]=F;o=(o|E)<<16>>16==0?0:2;c[Ua>>2]=o;n=(G|q)<<16>>16==0?0:2;c[Ta>>2]=n;h=(s|H)<<16>>16==0?0:2;c[Ra>>2]=h;j=b[ha+150>>1]|0;k=b[ha+138>>1]|0;do if(!((f|t)<<16>>16)){aa=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}aa=j-k|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){s=1;break}s=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else s=2;while(0);c[$a>>2]=s;f=b[ha+158>>1]|0;j=b[ha+146>>1]|0;do if(!((w|v)<<16>>16)){aa=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;f=b[ha+182>>1]|0;j=b[ha+170>>1]|0;do if(!((E|x)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;f=b[ha+190>>1]|0;j=b[ha+178>>1]|0;do if(!((H|G)<<16>>16)){aa=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}aa=f-j|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){f=1;break}f=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else f=2;while(0);c[Sa>>2]=f;k=f;t=F;v=I;_=K;$=s;aa=L;s=M;j=N;f=O;break a}default:{w=b[ha+32>>1]|0;h=b[ha+28>>1]|0;x=b[ha+142>>1]|0;k=b[ha+134>>1]|0;if(!((h|w)<<16>>16)){f=(b[ha+140>>1]|0)-(b[ha+132>>1]|0)|0;aa=x-k|0;f=((((aa|0)<0?0-aa|0:aa)|0)>3|(((f|0)<0?0-f|0:f)|0)>3)&1}else f=2;c[yb>>2]=f;E=b[ha+34>>1]|0;m=b[ha+30>>1]|0;F=b[ha+146>>1]|0;n=b[ha+138>>1]|0;if(!((m|E)<<16>>16)){j=(b[ha+144>>1]|0)-(b[ha+136>>1]|0)|0;aa=F-n|0;j=((((aa|0)<0?0-aa|0:aa)|0)>3|(((j|0)<0?0-j|0:j)|0)>3)&1}else j=2;c[xb>>2]=j;G=b[ha+40>>1]|0;o=b[ha+36>>1]|0;I=b[ha+158>>1]|0;t=b[ha+150>>1]|0;if(!((o|G)<<16>>16)){l=(b[ha+156>>1]|0)-(b[ha+148>>1]|0)|0;aa=I-t|0;l=((((aa|0)<0?0-aa|0:aa)|0)>3|(((l|0)<0?0-l|0:l)|0)>3)&1}else l=2;c[wb>>2]=l;H=b[ha+42>>1]|0;q=b[ha+38>>1]|0;J=b[ha+162>>1]|0;v=b[ha+154>>1]|0;if(!((q|H)<<16>>16)){p=(b[ha+160>>1]|0)-(b[ha+152>>1]|0)|0;aa=J-v|0;p=((((aa|0)<0?0-aa|0:aa)|0)>3|(((p|0)<0?0-p|0:p)|0)>3)&1}else p=2;c[vb>>2]=p;K=b[ha+44>>1]|0;L=b[ha+166>>1]|0;if(!((K|w)<<16>>16)){aa=(b[ha+164>>1]|0)-(b[ha+140>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)<=3?(aa=L-x|0,(((aa|0)<0?0-aa|0:aa)|0)<=3):0)s=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1;else s=1}else s=2;c[ub>>2]=s;M=b[ha+46>>1]|0;N=b[ha+170>>1]|0;do if(!((M|E)<<16>>16)){aa=(b[ha+168>>1]|0)-(b[ha+144>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3)u=1;else{aa=N-F|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){u=1;break}u=(c[ha+124>>2]|0)!=(c[ha+116>>2]|0)&1}}else u=2;while(0);c[tb>>2]=u;O=b[ha+52>>1]|0;R=b[ha+182>>1]|0;do if(!((O|G)<<16>>16)){aa=(b[ha+180>>1]|0)-(b[ha+156>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}aa=R-I|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){D=1;break}D=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else D=2;while(0);c[sb>>2]=D;P=b[ha+54>>1]|0;Q=b[ha+186>>1]|0;do if(!((P|H)<<16>>16)){aa=(b[ha+184>>1]|0)-(b[ha+160>>1]|0)|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}aa=Q-J|0;if((((aa|0)<0?0-aa|0:aa)|0)>3){C=1;break}C=(c[ha+128>>2]|0)!=(c[ha+120>>2]|0)&1}else C=2;while(0);c[rb>>2]=C;S=b[ha+48>>1]|0;T=b[ha+174>>1]|0;if(!((S|K)<<16>>16)){B=(b[ha+172>>1]|0)-(b[ha+164>>1]|0)|0;aa=T-L|0;B=((((aa|0)<0?0-aa|0:aa)|0)>3|(((B|0)<0?0-B|0:B)|0)>3)&1}else B=2;c[qb>>2]=B;U=b[ha+50>>1]|0;V=b[ha+178>>1]|0;if(!((U|M)<<16>>16)){A=(b[ha+176>>1]|0)-(b[ha+168>>1]|0)|0;aa=V-N|0;A=((((aa|0)<0?0-aa|0:aa)|0)>3|(((A|0)<0?0-A|0:A)|0)>3)&1}else A=2;c[pb>>2]=A;W=b[ha+56>>1]|0;Z=b[ha+190>>1]|0;if(!((W|O)<<16>>16)){z=(b[ha+188>>1]|0)-(b[ha+180>>1]|0)|0;aa=Z-R|0;z=((((aa|0)<0?0-aa|0:aa)|0)>3|(((z|0)<0?0-z|0:z)|0)>3)&1}else z=2;c[ob>>2]=z;X=b[ha+58>>1]|0;Y=b[ha+194>>1]|0;if(!((X|P)<<16>>16)){y=(b[ha+192>>1]|0)-(b[ha+184>>1]|0)|0;aa=Y-Q|0;y=((((aa|0)<0?0-aa|0:aa)|0)>3|(((y|0)<0?0-y|0:y)|0)>3)&1}else y=2;c[nb>>2]=y;if(!((m|h)<<16>>16)){aa=(b[ha+136>>1]|0)-(b[ha+132>>1]|0)|0;$=n-k|0;aa=(((($|0)<0?0-$|0:$)|0)>3|(((aa|0)<0?0-aa|0:aa)|0)>3)&1}else aa=2;c[ab>>2]=aa;do if(!((o|m)<<16>>16)){$=(b[ha+148>>1]|0)-(b[ha+136>>1]|0)|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=t-n|0;if(((($|0)<0?0-$|0:$)|0)>3){$=1;break}$=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else $=2;while(0);c[$a>>2]=$;if(!((q|o)<<16>>16)){_=(b[ha+152>>1]|0)-(b[ha+148>>1]|0)|0;v=v-t|0;_=((((v|0)<0?0-v|0:v)|0)>3|(((_|0)<0?0-_|0:_)|0)>3)&1}else _=2;c[_a>>2]=_;if(!((E|w)<<16>>16)){w=(b[ha+144>>1]|0)-(b[ha+140>>1]|0)|0;x=F-x|0;w=((((x|0)<0?0-x|0:x)|0)>3|(((w|0)<0?0-w|0:w)|0)>3)&1}else w=2;c[Za>>2]=w;do if(!((G|E)<<16>>16)){E=(b[ha+156>>1]|0)-(b[ha+144>>1]|0)|0;if((((E|0)<0?0-E|0:E)|0)>3){q=1;break}F=I-F|0;if((((F|0)<0?0-F|0:F)|0)>3){q=1;break}q=(c[ha+120>>2]|0)!=(c[ha+116>>2]|0)&1}else q=2;while(0);c[Ya>>2]=q;if(!((H|G)<<16>>16)){v=(b[ha+160>>1]|0)-(b[ha+156>>1]|0)|0;J=J-I|0;v=((((J|0)<0?0-J|0:J)|0)>3|(((v|0)<0?0-v|0:v)|0)>3)&1}else v=2;c[Xa>>2]=v;if(!((M|K)<<16>>16)){t=(b[ha+168>>1]|0)-(b[ha+164>>1]|0)|0;L=N-L|0;t=((((L|0)<0?0-L|0:L)|0)>3|(((t|0)<0?0-t|0:t)|0)>3)&1}else t=2;c[Wa>>2]=t;do if(!((O|M)<<16>>16)){M=(b[ha+180>>1]|0)-(b[ha+168>>1]|0)|0;if((((M|0)<0?0-M|0:M)|0)>3){m=1;break}N=R-N|0;if((((N|0)<0?0-N|0:N)|0)>3){m=1;break}m=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else m=2;while(0);c[Va>>2]=m;if(!((P|O)<<16>>16)){o=(b[ha+184>>1]|0)-(b[ha+180>>1]|0)|0;R=Q-R|0;o=((((R|0)<0?0-R|0:R)|0)>3|(((o|0)<0?0-o|0:o)|0)>3)&1}else o=2;c[Ua>>2]=o;if(!((U|S)<<16>>16)){n=(b[ha+176>>1]|0)-(b[ha+172>>1]|0)|0;T=V-T|0;n=((((T|0)<0?0-T|0:T)|0)>3|(((n|0)<0?0-n|0:n)|0)>3)&1}else n=2;c[Ta>>2]=n;do if(!((W|U)<<16>>16)){U=(b[ha+188>>1]|0)-(b[ha+176>>1]|0)|0;if((((U|0)<0?0-U|0:U)|0)>3){k=1;break}V=Z-V|0;if((((V|0)<0?0-V|0:V)|0)>3){k=1;break}k=(c[ha+128>>2]|0)!=(c[ha+124>>2]|0)&1}else k=2;while(0);c[Sa>>2]=k;if(!((X|W)<<16>>16)){h=(b[ha+192>>1]|0)-(b[ha+188>>1]|0)|0;Z=Y-Z|0;h=((((Z|0)<0?0-Z|0:Z)|0)>3|(((h|0)<0?0-h|0:h)|0)>3)&1}else h=2;c[Ra>>2]=h;J=w;break a}}while(0);if((i|0)==0?(k|h|n|o|m|t|v|q|J|_|$|aa|y|z|A|B|C|D|u|s|p|l|j|f|0)==0:0)break}A=ha+20|0;h=c[A>>2]|0;C=ha+12|0;i=c[C>>2]|0;k=i+h|0;k=(k|0)<51?k:51;k=(k|0)>0?k:0;D=ha+16|0;j=c[D>>2]|0;m=j+h|0;m=(m|0)<51?m:51;l=d[9932+k>>0]|0;c[Fa>>2]=l;m=d[9984+((m|0)>0?m:0)>>0]|0;c[Ja>>2]=m;k=10036+(k*3|0)|0;c[kb>>2]=k;do if(!da){f=c[(c[ea>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ha>>2]=l;c[La>>2]=m;c[mb>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ha>>2]=d[9932+aa>>0];c[La>>2]=d[9984+(($|0)>0?$:0)>>0];c[mb>>2]=10036+(aa*3|0);break}}while(0);do if(!ca){f=c[(c[fa>>2]|0)+20>>2]|0;if((f|0)==(h|0)){c[Ga>>2]=l;c[Ka>>2]=m;c[Da>>2]=k;break}else{$=(h+1+f|0)>>>1;aa=$+i|0;aa=(aa|0)<51?aa:51;aa=(aa|0)>0?aa:0;$=$+j|0;$=($|0)<51?$:51;c[Ga>>2]=d[9932+aa>>0];c[Ka>>2]=d[9984+(($|0)>0?$:0)>>0];c[lb>>2]=10036+(aa*3|0);break}}while(0);B=r(sa,Ca)|0;x=3;k=0;y=(c[e>>2]|0)+(B<<8)+(ga<<4)|0;z=Ia;while(1){if(g|0)Ef(y,g,Da,eb);g=c[z+12>>2]|0;if(g|0)Ef(y+4|0,g,Ea,eb);i=z+16|0;g=c[z+20>>2]|0;if(g|0)Ef(y+8|0,g,Ea,eb);j=z+24|0;g=c[z+28>>2]|0;if(g|0)Ef(y+12|0,g,Ea,eb);f=c[z>>2]|0;h=z+8|0;g=c[h>>2]|0;b:do if(((f|0)==(g|0)?(f|0)==(c[i>>2]|0):0)?(f|0)==(c[j>>2]|0):0){if(f|0){if(f>>>0<4){v=d[(c[mb+(k*12|0)>>2]|0)+(f+-1)>>0]|0;u=mb+(k*12|0)+4|0;l=mb+(k*12|0)+8|0;t=0-v|0;s=v+1|0;p=y;q=16;while(1){h=p+bb|0;k=p+jb|0;i=p+eb|0;g=a[i>>0]|0;n=d[k>>0]|0;o=d[p>>0]|0;aa=n-o|0;do if(((aa|0)<0?0-aa|0:aa)>>>0<(c[u>>2]|0)>>>0){m=d[h>>0]|0;aa=m-n|0;f=c[l>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;j=g&255;aa=j-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=f>>>0)break;g=d[p+ib>>0]|0;aa=g-n|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){f=((n+1+o|0)>>>1)-(m<<1)+g>>1;a[h>>0]=((f|0)<(t|0)?t:(f|0)>(v|0)?v:f)+m;f=c[l>>2]|0;g=s}else g=v;h=d[p+db>>0]|0;aa=h-o|0;if(((aa|0)<0?0-aa|0:aa)>>>0<f>>>0){aa=((n+1+o|0)>>>1)-(j<<1)+h>>1;a[i>>0]=((aa|0)<(t|0)?t:(aa|0)>(v|0)?v:aa)+j;g=g+1|0}$=4-j+(o-n<<2)+m>>3;aa=0-g|0;$=($|0)<(aa|0)?aa:($|0)>(g|0)?g:$;aa=a[8342+(o-$)>>0]|0;a[k>>0]=a[8342+($+n)>>0]|0;a[p>>0]=aa}while(0);q=q+-1|0;if(!q)break b;else p=p+1|0}}w=mb+(k*12|0)+4|0;p=mb+(k*12|0)+8|0;u=y;v=16;while(1){j=u+bb|0;k=u+jb|0;o=u+eb|0;g=a[o>>0]|0;q=d[k>>0]|0;s=d[u>>0]|0;h=q-s|0;h=(h|0)<0?0-h|0:h;f=c[w>>2]|0;c:do if(h>>>0<f>>>0){t=d[j>>0]|0;aa=t-q|0;i=c[p>>2]|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;n=g&255;aa=n-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=i>>>0)break;g=u+ib|0;m=u+db|0;l=a[m>>0]|0;do if(h>>>0<((f>>>2)+2|0)>>>0){f=d[g>>0]|0;aa=f-q|0;if(((aa|0)<0?0-aa|0:aa)>>>0<i>>>0){aa=s+q+t|0;a[k>>0]=(n+4+(aa<<1)+f|0)>>>3;a[j>>0]=(aa+2+f|0)>>>2;h=f*3|0;i=3;j=aa+4|0;f=d[u+gb>>0]|0}else{h=2;i=2;j=n+q|0;g=k;f=t}a[g>>0]=(j+h+(f<<1)|0)>>>i;g=l&255;aa=g-s|0;if(((aa|0)<0?0-aa|0:aa)>>>0>=(c[p>>2]|0)>>>0)break;aa=n+q+s|0;a[u>>0]=((aa<<1)+4+t+g|0)>>>3;a[o>>0]=(aa+2+g|0)>>>2;a[m>>0]=(aa+4+(g*3|0)+(d[u+hb>>0]<<1)|0)>>>3;break c}else a[k>>0]=(n+q+2+(t<<1)|0)>>>2;while(0);a[u>>0]=(t+s+2+(n<<1)|0)>>>2}while(0);v=v+-1|0;if(!v)break;else u=u+1|0}}}else ba=276;while(0);do if((ba|0)==276){ba=0;if(f){Ff(y,f,mb+(k*12|0)|0,eb);g=c[h>>2]|0}if(g|0)Ff(y+4|0,g,mb+(k*12|0)|0,eb);g=c[i>>2]|0;if(g|0)Ff(y+8|0,g,mb+(k*12|0)|0,eb);g=c[j>>2]|0;if(!g)break;Ff(y+12|0,g,mb+(k*12|0)|0,eb)}while(0);if(!x)break;g=c[z+36>>2]|0;x=x+-1|0;k=2;y=y+cb|0;z=z+32|0}n=c[ha+24>>2]|0;l=c[A>>2]|0;m=l+n|0;m=(m|0)<51?m:51;m=c[1600+(((m|0)>0?m:0)<<2)>>2]|0;k=c[C>>2]|0;h=k+m|0;h=(h|0)<51?h:51;h=(h|0)>0?h:0;f=c[D>>2]|0;j=f+m|0;j=(j|0)<51?j:51;i=d[9932+h>>0]|0;c[Fa>>2]=i;j=d[9984+((j|0)>0?j:0)>>0]|0;c[Ja>>2]=j;h=10036+(h*3|0)|0;c[kb>>2]=h;do if(!da){g=c[(c[ea>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ha>>2]=i;c[La>>2]=j;c[mb>>2]=h;break}else{da=g+n|0;da=(da|0)<51?da:51;da=(m+1+(c[1600+(((da|0)>0?da:0)<<2)>>2]|0)|0)>>>1;ea=da+k|0;ea=(ea|0)<51?ea:51;ea=(ea|0)>0?ea:0;da=da+f|0;da=(da|0)<51?da:51;c[Ha>>2]=d[9932+ea>>0];c[La>>2]=d[9984+((da|0)>0?da:0)>>0];c[mb>>2]=10036+(ea*3|0);break}}while(0);do if(!ca){g=c[(c[fa>>2]|0)+20>>2]|0;if((g|0)==(l|0)){c[Ga>>2]=i;c[Ka>>2]=j;c[Da>>2]=h;break}else{ea=g+n|0;ea=(ea|0)<51?ea:51;ea=(m+1+(c[1600+(((ea|0)>0?ea:0)<<2)>>2]|0)|0)>>>1;fa=ea+k|0;fa=(fa|0)<51?fa:51;fa=(fa|0)>0?fa:0;ea=ea+f|0;ea=(ea|0)<51?ea:51;c[Ga>>2]=d[9932+fa>>0];c[Ka>>2]=d[9984+((ea|0)>0?ea:0)>>0];c[lb>>2]=10036+(fa*3|0);break}}while(0);i=(c[e>>2]|0)+fb+(B<<6)+(ga<<3)|0;k=i+ta|0;g=c[ka>>2]|0;if(g|0){Gf(i,g,Da,ua);Gf(k,c[ka>>2]|0,Da,ua)}g=c[qa>>2]|0;if(g|0){Gf(i+eb|0,g,Da,ua);Gf(k+eb|0,c[qa>>2]|0,Da,ua)}g=c[ma>>2]|0;if(g|0){Gf(i+4|0,g,Ea,ua);Gf(k+4|0,c[ma>>2]|0,Ea,ua)}g=c[oa>>2]|0;if(g|0){Gf(i+eb+4|0,g,Ea,ua);Gf(k+eb+4|0,c[oa>>2]|0,Ea,ua)}f=c[Ia>>2]|0;g=c[ya>>2]|0;h=(f|0)==0;do if(((f|0)==(g|0)?(f|0)==(c[ia>>2]|0):0)&(f|0)==(c[Aa>>2]|0)){if(!h){Hf(i,f,mb,ua);Hf(k,c[Ia>>2]|0,mb,ua)}}else{if(!h){If(i,f,mb,ua);If(k,c[Ia>>2]|0,mb,ua);g=c[ya>>2]|0}if(g|0){If(i+2|0,g,mb,ua);If(k+2|0,c[ya>>2]|0,mb,ua)}g=c[ia>>2]|0;if(g|0){If(i+4|0,g,mb,ua);If(k+4|0,c[ia>>2]|0,mb,ua)}g=c[wa>>2]|0;if(!g)break;If(i+6|0,g,mb,ua);If(k+6|0,c[wa>>2]|0,mb,ua)}while(0);j=i+db|0;i=k+db|0;g=c[la>>2]|0;if(g|0){Gf(j,g,Da,ua);Gf(i,c[la>>2]|0,Da,ua)}g=c[ra>>2]|0;if(g|0){Gf(j+eb|0,g,Da,ua);Gf(i+eb|0,c[ra>>2]|0,Da,ua)}g=c[na>>2]|0;if(g|0){Gf(j+4|0,g,Ea,ua);Gf(i+4|0,c[na>>2]|0,Ea,ua)}g=c[pa>>2]|0;if(g|0){Gf(j+eb+4|0,g,Ea,ua);Gf(i+eb+4|0,c[pa>>2]|0,Ea,ua)}f=c[va>>2]|0;g=c[za>>2]|0;h=(f|0)==0;if(((f|0)==(g|0)?(f|0)==(c[ja>>2]|0):0)&(f|0)==(c[Ba>>2]|0)){if(h)break;Hf(j,f,Ea,ua);Hf(i,c[va>>2]|0,Ea,ua);break}if(!h){If(j,f,Ea,ua);If(i,c[va>>2]|0,Ea,ua);g=c[za>>2]|0}if(g|0){If(j+2|0,g,Ea,ua);If(i+2|0,c[za>>2]|0,Ea,ua)}g=c[ja>>2]|0;if(g|0){If(j+4|0,g,Ea,ua);If(i+4|0,c[ja>>2]|0,Ea,ua)}g=c[xa>>2]|0;if(!g)break;If(j+6|0,g,Ea,ua);If(i+6|0,c[xa>>2]|0,Ea,ua)}while(0);f=ga+1|0;g=(f|0)==(Ca|0);sa=sa+(g&1)|0;if(sa>>>0>=(c[Ma>>2]|0)>>>0)break;else{ga=g?0:f;ha=ha+216|0}}Nb=Cb;return}function Ef(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(e>>>0<4){s=d[(c[f>>2]|0)+(e+-1)>>0]|0;r=f+4|0;o=f+8|0;q=0-s|0;p=s+1|0;n=4;while(1){f=b+-2|0;k=b+-1|0;j=b+1|0;e=a[j>>0]|0;l=d[k>>0]|0;m=d[b>>0]|0;y=l-m|0;if((((y|0)<0?0-y|0:y)>>>0<(c[r>>2]|0)>>>0?(u=d[f>>0]|0,y=u-l|0,t=c[o>>2]|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0)?(v=e&255,y=v-m|0,((y|0)<0?0-y|0:y)>>>0<t>>>0):0){i=a[b+2>>0]|0;e=d[b+-3>>0]|0;y=e-l|0;if(((y|0)<0?0-y|0:y)>>>0<t>>>0){h=((l+1+m|0)>>>1)-(u<<1)+e>>1;a[f>>0]=((h|0)<(q|0)?q:(h|0)>(s|0)?s:h)+u;h=c[o>>2]|0;e=p}else{h=t;e=s}f=i&255;y=f-m|0;if(((y|0)<0?0-y|0:y)>>>0<h>>>0){y=((l+1+m|0)>>>1)-(v<<1)+f>>1;a[j>>0]=((y|0)<(q|0)?q:(y|0)>(s|0)?s:y)+v;e=e+1|0}x=4-v+(m-l<<2)+u>>3;y=0-e|0;x=(x|0)<(y|0)?y:(x|0)>(e|0)?e:x;y=a[8342+(m-x)>>0]|0;a[k>>0]=a[8342+(x+l)>>0]|0;a[b>>0]=y}n=n+-1|0;if(!n)break;else b=b+g|0}return}t=f+4|0;s=f+8|0;r=4;while(1){i=b+-2|0;l=b+-1|0;o=b+1|0;e=a[o>>0]|0;p=d[l>>0]|0;q=d[b>>0]|0;h=p-q|0;h=(h|0)<0?0-h|0:h;f=c[t>>2]|0;do if((h>>>0<f>>>0?(x=d[i>>0]|0,v=x-p|0,w=c[s>>2]|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0)?(y=e&255,v=y-q|0,((v|0)<0?0-v|0:v)>>>0<w>>>0):0){k=b+-3|0;n=b+2|0;m=a[n>>0]|0;if(h>>>0<((f>>>2)+2|0)>>>0){e=d[k>>0]|0;v=e-p|0;if(((v|0)<0?0-v|0:v)>>>0<w>>>0){j=q+p+x|0;a[l>>0]=(y+4+(j<<1)+e|0)>>>3;a[i>>0]=(j+2+e|0)>>>2;h=e*3|0;i=3;j=j+4|0;e=k;f=d[b+-4>>0]|0}else{h=2;i=2;j=y+p|0;e=l;f=x}a[e>>0]=(j+h+(f<<1)|0)>>>i;e=m&255;v=e-q|0;if(((v|0)<0?0-v|0:v)>>>0<(c[s>>2]|0)>>>0){v=y+p+q|0;a[b>>0]=((v<<1)+4+x+e|0)>>>3;a[o>>0]=(v+2+e|0)>>>2;a[n>>0]=(v+4+(e*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;break}}else a[l>>0]=(y+p+2+(x<<1)|0)>>>2;a[b>>0]=(x+q+2+(y<<1)|0)>>>2}while(0);r=r+-1|0;if(!r)break;else b=b+g|0}return}function Ff(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=d[(c[f>>2]|0)+(e+-1)>>0]|0;w=0-g|0;v=w<<1;t=f+4|0;n=f+8|0;q=r(g,-3)|0;s=0-u|0;o=u+1|0;p=g<<1;m=4;while(1){f=b+v|0;j=b+w|0;i=b+g|0;e=a[i>>0]|0;k=d[j>>0]|0;l=d[b>>0]|0;h=k-l|0;if((((h|0)<0?0-h|0:h)>>>0<(c[t>>2]|0)>>>0?(y=d[f>>0]|0,h=y-k|0,x=c[n>>2]|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0)?(z=e&255,h=z-l|0,((h|0)<0?0-h|0:h)>>>0<x>>>0):0){e=d[b+q>>0]|0;h=e-k|0;if(((h|0)<0?0-h|0:h)>>>0<x>>>0){e=((k+1+l|0)>>>1)-(y<<1)+e>>1;a[f>>0]=((e|0)<(s|0)?s:(e|0)>(u|0)?u:e)+y;f=c[n>>2]|0;e=o}else{f=x;e=u}h=d[b+p>>0]|0;A=h-l|0;if(((A|0)<0?0-A|0:A)>>>0<f>>>0){A=((k+1+l|0)>>>1)-(z<<1)+h>>1;a[i>>0]=((A|0)<(s|0)?s:(A|0)>(u|0)?u:A)+z;e=e+1|0}i=4-z+(l-k<<2)+y>>3;A=0-e|0;i=(i|0)<(A|0)?A:(i|0)>(e|0)?e:i;A=a[8342+(l-i)>>0]|0;a[j>>0]=a[8342+(i+k)>>0]|0;a[b>>0]=A}m=m+-1|0;if(!m)break;else b=b+1|0}return}function Gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=b+-1|0;h=a[b+1>>0]|0;k=d[j>>0]|0;n=d[b>>0]|0;p=k-n|0;o=f+4|0;do if((((p|0)<0?0-p|0:p)>>>0<(c[o>>2]|0)>>>0?(l=d[b+-2>>0]|0,p=l-k|0,i=c[f+8>>2]|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)?(m=h&255,p=m-n|0,((p|0)<0?0-p|0:p)>>>0<i>>>0):0)if(e>>>0<4){i=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=i+1|0;m=4-m+(n-k<<2)+l>>3;l=~i;m=(m|0)<(l|0)?l:(m|0)>(p|0)?p:m;p=a[8342+(n-m)>>0]|0;a[j>>0]=a[8342+(m+k)>>0]|0;a[b>>0]=p;break}else{a[j>>0]=(k+2+m+(l<<1)|0)>>>2;a[b>>0]=(n+2+(m<<1)+l|0)>>>2;break}while(0);k=b+g|0;l=k+-1|0;m=d[l>>0]|0;n=d[k>>0]|0;p=m-n|0;if(((p|0)<0?0-p|0:p)>>>0>=(c[o>>2]|0)>>>0)return;i=d[k+-2>>0]|0;p=i-m|0;h=c[f+8>>2]|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;j=d[k+1>>0]|0;p=j-n|0;if(((p|0)<0?0-p|0:p)>>>0>=h>>>0)return;if(e>>>0<4){e=d[(c[f>>2]|0)+(e+-1)>>0]|0;p=e+1|0;f=4-j+(n-m<<2)+i>>3;e=~e;f=(f|0)<(e|0)?e:(f|0)>(p|0)?p:f;p=a[8342+(n-f)>>0]|0;a[l>>0]=a[8342+(f+m)>>0]|0;a[k>>0]=p;return}else{a[l>>0]=(m+2+j+(i<<1)|0)>>>2;a[k>>0]=(n+2+(j<<1)+i|0)>>>2;return}}function Hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;if(e>>>0<4){m=d[(c[f>>2]|0)+(e+-1)>>0]|0;n=m+1|0;q=0-g|0;o=f+4|0;p=q<<1;l=f+8|0;m=~m;j=b;k=8;while(1){f=j+q|0;e=a[j+g>>0]|0;h=d[f>>0]|0;i=d[j>>0]|0;b=h-i|0;if((((b|0)<0?0-b|0:b)>>>0<(c[o>>2]|0)>>>0?(s=d[j+p>>0]|0,b=s-h|0,r=c[l>>2]|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0)?(t=e&255,b=t-i|0,((b|0)<0?0-b|0:b)>>>0<r>>>0):0){I=4-t+(i-h<<2)+s>>3;I=(I|0)<(m|0)?m:(I|0)>(n|0)?n:I;b=a[8342+(i-I)>>0]|0;a[f>>0]=a[8342+(I+h)>>0]|0;a[j>>0]=b}k=k+-1|0;if(!k)break;else j=j+1|0}return}s=0-g|0;r=f+4|0;I=s<<1;t=f+8|0;h=b+s|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;J=i-j|0;e=c[r>>2]|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(l=d[b+I>>0]|0,J=l-i|0,k=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0)?(m=f&255,J=m-j|0,((J|0)<0?0-J|0:J)>>>0<k>>>0):0){a[h>>0]=(i+2+m+(l<<1)|0)>>>2;a[b>>0]=(j+2+(m<<1)+l|0)>>>2;e=c[r>>2]|0}k=b+1|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(o=d[k+I>>0]|0,J=o-i|0,n=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0)?(p=f&255,J=p-j|0,((J|0)<0?0-J|0:J)>>>0<n>>>0):0){a[h>>0]=(i+2+p+(o<<1)|0)>>>2;a[k>>0]=(j+2+(p<<1)+o|0)>>>2;e=c[r>>2]|0}k=b+2|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(u=d[k+I>>0]|0,J=u-i|0,q=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0)?(v=f&255,J=v-j|0,((J|0)<0?0-J|0:J)>>>0<q>>>0):0){a[h>>0]=(i+2+v+(u<<1)|0)>>>2;a[k>>0]=(j+2+(v<<1)+u|0)>>>2;e=c[r>>2]|0}k=b+3|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(x=d[k+I>>0]|0,J=x-i|0,w=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0)?(y=f&255,J=y-j|0,((J|0)<0?0-J|0:J)>>>0<w>>>0):0){a[h>>0]=(i+2+y+(x<<1)|0)>>>2;a[k>>0]=(j+2+(y<<1)+x|0)>>>2;e=c[r>>2]|0}k=b+4|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(A=d[k+I>>0]|0,J=A-i|0,z=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0)?(B=f&255,J=B-j|0,((J|0)<0?0-J|0:J)>>>0<z>>>0):0){a[h>>0]=(i+2+B+(A<<1)|0)>>>2;a[k>>0]=(j+2+(B<<1)+A|0)>>>2;e=c[r>>2]|0}k=b+5|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(D=d[k+I>>0]|0,J=D-i|0,C=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0)?(E=f&255,J=E-j|0,((J|0)<0?0-J|0:J)>>>0<C>>>0):0){a[h>>0]=(i+2+E+(D<<1)|0)>>>2;a[k>>0]=(j+2+(E<<1)+D|0)>>>2;e=c[r>>2]|0}k=b+6|0;h=k+s|0;f=a[k+g>>0]|0;i=d[h>>0]|0;j=d[k>>0]|0;J=i-j|0;if((((J|0)<0?0-J|0:J)>>>0<e>>>0?(G=d[k+I>>0]|0,J=G-i|0,F=c[t>>2]|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0)?(H=f&255,J=H-j|0,((J|0)<0?0-J|0:J)>>>0<F>>>0):0){a[h>>0]=(i+2+H+(G<<1)|0)>>>2;a[k>>0]=(j+2+(H<<1)+G|0)>>>2;e=c[r>>2]|0}l=b+7|0;i=l+s|0;j=d[i>>0]|0;k=d[l>>0]|0;J=j-k|0;if(((J|0)<0?0-J|0:J)>>>0>=e>>>0)return;h=d[l+I>>0]|0;J=h-j|0;f=c[t>>2]|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;e=d[l+g>>0]|0;J=e-k|0;if(((J|0)<0?0-J|0:J)>>>0>=f>>>0)return;a[i>>0]=(j+2+e+(h<<1)|0)>>>2;a[l>>0]=(k+2+(e<<1)+h|0)>>>2;return}function If(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=d[(c[f>>2]|0)+(e+-1)>>0]|0;s=r+1|0;o=0-g|0;k=f+4|0;q=o<<1;p=f+8|0;r=~r;h=b+o|0;f=a[b+g>>0]|0;i=d[h>>0]|0;j=d[b>>0]|0;t=i-j|0;e=c[k>>2]|0;if((((t|0)<0?0-t|0:t)>>>0<e>>>0?(m=d[b+q>>0]|0,t=m-i|0,l=c[p>>2]|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0)?(n=f&255,t=n-j|0,((t|0)<0?0-t|0:t)>>>0<l>>>0):0){t=4-n+(j-i<<2)+m>>3;t=(t|0)<(r|0)?r:(t|0)>(s|0)?s:t;e=a[8342+(j-t)>>0]|0;a[h>>0]=a[8342+(t+i)>>0]|0;a[b>>0]=e;e=c[k>>2]|0}l=b+1|0;i=l+o|0;j=d[i>>0]|0;k=d[l>>0]|0;t=j-k|0;if(((t|0)<0?0-t|0:t)>>>0>=e>>>0)return;h=d[l+q>>0]|0;t=h-j|0;f=c[p>>2]|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;e=d[l+g>>0]|0;t=e-k|0;if(((t|0)<0?0-t|0:t)>>>0>=f>>>0)return;g=4-e+(k-j<<2)+h>>3;g=(g|0)<(r|0)?r:(g|0)>(s|0)?s:g;t=a[8342+(k-g)>>0]|0;a[i>>0]=a[8342+(g+j)>>0]|0;a[l>>0]=t;return}function Jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=c[b+4>>2]|0;q=c[b+8>>2]|0;switch(d|0){case 0:case 5:{e=3;break}default:if(!(c[a+3384>>2]|0))f=0;else e=3}if((e|0)==3){e=a+1220|0;g=0;do{f=qe(e,g)|0;g=g+1|0}while(g>>>0<16&(f|0)==0)}k=a+1176|0;j=c[k>>2]|0;if(j|0){h=c[a+1212>>2]|0;e=0;g=0;i=0;while(1){if(c[h+(g*216|0)+196>>2]|0){h=e;e=g;n=i;break}g=g+1|0;e=e+1|0;o=(e|0)==(p|0);i=i+(o&1)|0;e=o?0:e;if(g>>>0>=j>>>0){h=e;e=g;n=i;break}}if((e|0)!=(j|0)){o=a+1212|0;j=(c[o>>2]|0)+((r(n,p)|0)*216|0)|0;if(h|0){g=a+1204|0;e=h;do{e=e+-1|0;m=j+(e*216|0)|0;Kf(m,b,n,e,d,f);c[m+196>>2]=1;c[g>>2]=(c[g>>2]|0)+1}while((e|0)!=0)}e=h+1|0;if(e>>>0<p>>>0){i=a+1204|0;do{g=j+(e*216|0)|0;h=g+196|0;if(!(c[h>>2]|0)){Kf(g,b,n,e,d,f);c[h>>2]=1;c[i>>2]=(c[i>>2]|0)+1}e=e+1|0}while((e|0)!=(p|0))}a:do if((n|0)!=0&(p|0)!=0){k=n+-1|0;l=r(k,p)|0;m=a+1204|0;i=0-p|0;g=n+-2|0;if(!k){e=0;while(1){k=(c[o>>2]|0)+(l*216|0)+(e*216|0)|0;Kf(k,b,0,e,d,f);c[k+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0;if((e|0)==(p|0))break a}}j=0;do{e=(c[o>>2]|0)+(l*216|0)+(j*216|0)|0;Kf(e,b,k,j,d,f);c[e+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;h=g;while(1){s=e;e=e+(i*216|0)|0;Kf(e,b,h,j,d,f);c[s+(i*216|0)+196>>2]=1;c[m>>2]=(c[m>>2]|0)+1;if(!h)break;else h=h+-1|0}j=j+1|0}while((j|0)!=(p|0))}while(0);e=n+1|0;if(e>>>0>=q>>>0)return 0;k=a+1204|0;if(!p)return 0;do{g=(c[o>>2]|0)+((r(e,p)|0)*216|0)|0;j=0;do{h=g+(j*216|0)|0;i=h+196|0;if(!(c[i>>2]|0)){Kf(h,b,e,j,d,f);c[i>>2]=1;c[k>>2]=(c[k>>2]|0)+1}j=j+1|0}while((j|0)!=(p|0));e=e+1|0}while((e|0)!=(q|0));return 0}}switch(d|0){case 2:case 7:{if((f|0)==0|(c[a+3384>>2]|0)==0)e=13;else e=14;break}default:if(!f)e=13;else e=14}if((e|0)==13)Ud(c[b>>2]|0,128,r(p*384|0,q)|0);else if((e|0)==14)ne(c[b>>2]|0,f,r(p*384|0,q)|0);g=c[k>>2]|0;c[a+1204>>2]=g;if(!g)return 0;e=c[a+1212>>2]|0;f=0;do{c[e+(f*216|0)+8>>2]=1;f=f+1|0}while((f|0)!=(g|0));return 0}function Kf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=Nb;Nb=Nb+480|0;fa=ha+96|0;ga=ha+32|0;k=ha+24|0;l=ha;da=c[e+4>>2]|0;v=c[e+8>>2]|0;Rd(e,(r(da,f)|0)+g|0);j=g<<4;m=(c[e>>2]|0)+(r(f<<8,da)|0)+j|0;c[b+20>>2]=40;c[b+8>>2]=0;c[b>>2]=6;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;a:do switch(h|0){case 2:case 7:{Ud(fa,0,384);break}default:{c[k>>2]=0;c[l+4>>2]=da;c[l+8>>2]=v;c[l>>2]=i;if(!i){Ud(fa,0,384);break a}re(fa,k,l,j,f<<4,0,0,16,16);me(e,fa);Nb=ha;return}}while(0);Ud(ga,0,64);if((f|0)!=0?(c[b+((0-da|0)*216|0)+196>>2]|0)!=0:0){ca=m+(0-(da<<4))|0;x=ca+1|0;y=x+1|0;w=y+1|0;t=w+1|0;w=(d[x>>0]|0)+(d[ca>>0]|0)+(d[y>>0]|0)+(d[w>>0]|0)|0;y=t+1|0;ca=y+1|0;x=ca+1|0;z=x+1|0;x=(d[y>>0]|0)+(d[t>>0]|0)+(d[ca>>0]|0)+(d[x>>0]|0)|0;ca=z+1|0;t=ca+1|0;y=t+1|0;ea=y+1|0;y=(d[ca>>0]|0)+(d[z>>0]|0)+(d[t>>0]|0)+(d[y>>0]|0)|0;t=ea+1|0;z=t+1|0;z=(d[t>>0]|0)+(d[ea>>0]|0)+(d[z>>0]|0)+(d[z+1>>0]|0)|0;ea=x+w|0;c[ga>>2]=y+ea+(c[ga>>2]|0)+z;t=ga+4|0;c[t>>2]=ea-y-z+(c[t>>2]|0);t=1}else{w=0;x=0;y=0;z=0;t=0}if((v+-1|0)!=(f|0)?(c[b+(da*216|0)+196>>2]|0)!=0:0){ea=m+(da<<8)|0;B=ea+1|0;C=B+1|0;A=C+1|0;u=A+1|0;A=(d[B>>0]|0)+(d[ea>>0]|0)+(d[C>>0]|0)+(d[A>>0]|0)|0;C=u+1|0;ea=C+1|0;B=ea+1|0;D=B+1|0;B=(d[C>>0]|0)+(d[u>>0]|0)+(d[ea>>0]|0)+(d[B>>0]|0)|0;ea=D+1|0;u=ea+1|0;C=u+1|0;q=C+1|0;C=(d[ea>>0]|0)+(d[D>>0]|0)+(d[u>>0]|0)+(d[C>>0]|0)|0;u=q+1|0;D=u+1|0;D=(d[u>>0]|0)+(d[q>>0]|0)+(d[D>>0]|0)+(d[D+1>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;u=ga+4|0;c[u>>2]=q-C-D+(c[u>>2]|0);u=1;q=t+1|0}else{u=0;A=0;B=0;C=0;D=0;q=t}if((g|0)!=0?(c[b+-20>>2]|0)!=0:0){ca=m+-1|0;ea=da<<4;k=da<<5;$=da*48|0;E=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=da<<6;ca=ca+s|0;Z=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;ca=ca+s|0;_=(d[ca+ea>>0]|0)+(d[ca>>0]|0)+(d[ca+k>>0]|0)+(d[ca+$>>0]|0)|0;s=ca+s|0;$=(d[s+ea>>0]|0)+(d[s>>0]|0)+(d[s+k>>0]|0)+(d[s+$>>0]|0)|0;s=Z+E|0;c[ga>>2]=_+s+(c[ga>>2]|0)+$;k=ga+16|0;c[k>>2]=s-_-$+(c[k>>2]|0);k=q+1|0;s=1}else{k=q;E=0;Z=0;_=0;$=0;s=0}do if((da+-1|0)!=(g|0)?(c[b+412>>2]|0)!=0:0){m=m+16|0;i=da<<4;l=da<<5;p=da*48|0;b=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=da<<6;m=m+h|0;n=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;m=m+h|0;o=(d[m+i>>0]|0)+(d[m>>0]|0)+(d[m+l>>0]|0)+(d[m+p>>0]|0)|0;h=m+h|0;p=(d[h+i>>0]|0)+(d[h>>0]|0)+(d[h+l>>0]|0)+(d[h+p>>0]|0)|0;k=k+1|0;h=s+1|0;l=n+b|0;c[ga>>2]=o+l+(c[ga>>2]|0)+p;i=ga+16|0;l=l-o-p+(c[i>>2]|0)|0;c[i>>2]=l;m=(q|0)==0;j=(s|0)!=0;if(!(m&j)){if(!m){l=1;m=ga+4|0;i=h;p=21;break}}else c[ga+4>>2]=_+$+Z+E-b-n-o-p>>5;o=l;b=1;m=(t|0)!=0;l=(u|0)!=0;p=27}else p=17;while(0);if((p|0)==17){j=(s|0)!=0;if(!q){b=0;n=k;h=s;p=23}else{l=0;m=ga+4|0;i=s;p=21}}if((p|0)==21){c[m>>2]=c[m>>2]>>q+3;b=l;n=k;h=i;p=23}do if((p|0)==23){k=(h|0)==0;m=(t|0)!=0;l=(u|0)!=0;if(l&(m&k)){c[ga+16>>2]=y+z+x+w-D-C-B-A>>5;k=n;ea=j;m=1;ca=1;break}i=ga+16|0;if(k){k=n;ea=j;ca=l}else{o=c[i>>2]|0;k=n;p=27}}while(0);if((p|0)==27){c[i>>2]=o>>h+3;ea=j;ca=l}switch(k|0){case 1:{i=c[ga>>2]>>4;break}case 2:{i=c[ga>>2]>>5;break}case 3:{i=(c[ga>>2]|0)*21>>10;break}default:i=c[ga>>2]>>6}c[ga>>2]=i;aa=ga+4|0;j=c[aa>>2]|0;ba=ga+16|0;k=c[ba>>2]|0;if(!(k|j)){c[ga+60>>2]=i;c[ga+56>>2]=i;c[ga+52>>2]=i;c[ga+48>>2]=i;c[ga+44>>2]=i;c[ga+40>>2]=i;c[ga+36>>2]=i;c[ga+32>>2]=i;c[ga+28>>2]=i;c[ga+24>>2]=i;c[ga+20>>2]=i;c[ba>>2]=i;c[ga+12>>2]=i;c[ga+8>>2]=i;c[aa>>2]=i}else{U=i+j|0;W=j>>1;V=i+W|0;W=i-W|0;Y=i-j|0;c[ga>>2]=U+k;X=k>>1;c[ba>>2]=U+X;c[ga+32>>2]=U-X;c[ga+48>>2]=U-k;c[aa>>2]=V+k;c[ga+20>>2]=V+X;c[ga+36>>2]=V-X;c[ga+52>>2]=V-k;c[ga+8>>2]=W+k;c[ga+24>>2]=W+X;c[ga+40>>2]=W-X;c[ga+56>>2]=W-k;c[ga+12>>2]=Y+k;c[ga+28>>2]=Y+X;c[ga+44>>2]=Y-X;c[ga+60>>2]=Y-k}j=0;i=fa;l=ga;while(1){k=c[l+((j>>>2&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==256)break;else{j=k;i=i+1|0;l=(k&63|0)==0?l+16|0:l}}v=r(v,da)|0;V=da<<3;U=0-V|0;W=da<<6;X=da<<4;O=ga+60|0;P=ga+56|0;Q=ga+52|0;R=ga+48|0;S=ga+44|0;T=ga+40|0;H=ga+36|0;I=ga+32|0;J=ga+28|0;K=ga+24|0;L=ga+20|0;M=ga+12|0;N=ga+8|0;G=fa+256|0;Y=v<<6;u=w;t=x;s=y;j=z;q=A;p=B;n=C;l=D;F=0;o=E;h=Z;i=_;k=$;E=(c[e>>2]|0)+(v<<8)+(r(f<<6,da)|0)+(g<<3)|0;while(1){Ud(ga,0,64);if(m){u=E+U|0;j=u+1|0;t=j+1|0;u=(d[j>>0]|0)+(d[u>>0]|0)|0;j=t+1|0;s=j+1|0;t=(d[j>>0]|0)+(d[t>>0]|0)|0;j=s+1|0;z=j+1|0;s=(d[j>>0]|0)+(d[s>>0]|0)|0;z=(d[z+1>>0]|0)+(d[z>>0]|0)|0;j=t+u|0;c[ga>>2]=s+j+(c[ga>>2]|0)+z;c[aa>>2]=j-s-z+(c[aa>>2]|0);j=1}else{z=j;j=0}if(ca){A=E+W|0;q=A+1|0;B=q+1|0;A=(d[q>>0]|0)+(d[A>>0]|0)|0;q=B+1|0;C=q+1|0;B=(d[q>>0]|0)+(d[B>>0]|0)|0;q=C+1|0;D=q+1|0;C=(d[q>>0]|0)+(d[C>>0]|0)|0;D=(d[D+1>>0]|0)+(d[D>>0]|0)|0;q=B+A|0;c[ga>>2]=C+q+(c[ga>>2]|0)+D;c[aa>>2]=q-C-D+(c[aa>>2]|0);q=j+1|0}else{A=q;B=p;C=n;D=l;q=j}if(ea){y=E+-1|0;v=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;w=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;x=(d[y+V>>0]|0)+(d[y>>0]|0)|0;y=y+X|0;y=(d[y+V>>0]|0)+(d[y>>0]|0)|0;j=w+v|0;c[ga>>2]=x+j+(c[ga>>2]|0)+y;c[ba>>2]=j-x-y+(c[ba>>2]|0);j=q+1|0;i=1}else{j=q;v=o;w=h;x=i;y=k;i=0}do if(b){p=E+8|0;h=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;n=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;o=(d[p+V>>0]|0)+(d[p>>0]|0)|0;p=p+X|0;p=(d[p+V>>0]|0)+(d[p>>0]|0)|0;j=j+1|0;i=i+1|0;k=n+h|0;c[ga>>2]=o+k+(c[ga>>2]|0)+p;k=k-o-p+(c[ba>>2]|0)|0;c[ba>>2]=k;l=(q|0)==0;if(!(ea&l))if(l){p=55;break}else{p=50;break}else{c[aa>>2]=x+y+w+v-h-n-o-p>>4;p=55;break}}else if(!q)p=51;else p=50;while(0);if((p|0)==50){c[aa>>2]=c[aa>>2]>>q+2;p=51}do if((p|0)==51){p=0;k=(i|0)==0;if(ca&(m&k)){k=s+z+t+u-D-C-B-A>>4;p=56;break}if(!k){k=c[ba>>2]|0;p=55}}while(0);if((p|0)==55){k=k>>i+2;p=56}if((p|0)==56)c[ba>>2]=k;switch(j|0){case 1:{i=c[ga>>2]>>3;break}case 2:{i=c[ga>>2]>>4;break}case 3:{i=(c[ga>>2]|0)*21>>9;break}default:i=c[ga>>2]>>5}c[ga>>2]=i;j=c[aa>>2]|0;k=c[ba>>2]|0;if(!(k|j)){c[O>>2]=i;c[P>>2]=i;c[Q>>2]=i;c[R>>2]=i;c[S>>2]=i;c[T>>2]=i;c[H>>2]=i;c[I>>2]=i;c[J>>2]=i;c[K>>2]=i;c[L>>2]=i;c[ba>>2]=i;c[M>>2]=i;c[N>>2]=i;c[aa>>2]=i}else{_=i+j|0;da=j>>1;$=i+da|0;da=i-da|0;f=i-j|0;c[ga>>2]=_+k;g=k>>1;c[ba>>2]=_+g;c[I>>2]=_-g;c[R>>2]=_-k;c[aa>>2]=$+k;c[L>>2]=$+g;c[H>>2]=$-g;c[Q>>2]=$-k;c[N>>2]=da+k;c[K>>2]=da+g;c[T>>2]=da-g;c[P>>2]=da-k;c[M>>2]=f+k;c[J>>2]=f+g;c[S>>2]=f-g;c[O>>2]=f-k}j=0;i=G+(F<<6)|0;l=ga;while(1){k=c[l+((j>>>1&3)<<2)>>2]|0;k=(k|0)<255?k:255;a[i>>0]=(k|0)>0?k:0;k=j+1|0;if((k|0)==64)break;else{j=k;i=i+1|0;l=(k&15|0)==0?l+16|0:l}}F=F+1|0;if((F|0)==2)break;else{j=z;q=A;p=B;n=C;l=D;o=v;h=w;i=x;k=y;E=E+Y|0}}me(e,fa);Nb=ha;return}function Lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!(c[d+284>>2]|0))n=0;else{g=0;b:while(1){f=c[d+288+(g*20|0)>>2]|0;switch(f|0){case 5:{n=1;break a}case 0:break b;default:{}}g=g+1|0}n=f}while(0);switch(c[b+16>>2]|0){case 0:{if((c[e>>2]|0)!=5){g=c[a>>2]|0;f=c[d+20>>2]|0;if(g>>>0>f>>>0?(h=c[b+20>>2]|0,(g-f|0)>>>0>=h>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)+h|0;i=a}else{i=a;l=12}}else{c[a+4>>2]=0;c[a>>2]=0;f=c[d+20>>2]|0;g=0;i=a;l=12}do if((l|0)==12){if(f>>>0>g>>>0?(j=c[b+20>>2]|0,(f-g|0)>>>0>j>>>1>>>0):0){k=f;j=(c[a+4>>2]|0)-j|0;break}k=f;j=c[a+4>>2]|0}while(0);if(!(c[e+4>>2]|0)){d=c[d+24>>2]|0;d=j+k+((d|0)<0?d:0)|0;return d|0}h=a+4|0;c[h>>2]=j;f=c[d+24>>2]|0;g=(f|0)<0;if(!n){c[i>>2]=k;d=j+k+(g?f:0)|0;return d|0}else{c[h>>2]=0;c[i>>2]=g?0-f|0:0;d=0;return d|0}}case 1:{if((c[e>>2]|0)!=5){f=c[a+12>>2]|0;if((c[a+8>>2]|0)>>>0>(c[d+12>>2]|0)>>>0)f=(c[b+12>>2]|0)+f|0}else f=0;l=c[b+36>>2]|0;h=(l|0)==0;if(h)g=0;else g=(c[d+12>>2]|0)+f|0;m=(c[e+4>>2]|0)==0;g=g+(((g|0)!=0&m)<<31>>31)|0;k=(g|0)!=0;g=g+-1|0;if(k){j=(g>>>0)/(l>>>0)|0;e=g-(r(j,l)|0)|0}else{e=0;j=0}if(h)g=0;else{h=c[b+40>>2]|0;g=0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while((i|0)!=(l|0))}if(k){g=r(g,j)|0;h=c[b+40>>2]|0;i=0;do{g=(c[h+(i<<2)>>2]|0)+g|0;i=i+1|0}while(i>>>0<=e>>>0)}else g=0;if(m)i=(c[b+28>>2]|0)+g|0;else i=g;g=(c[d+32>>2]|0)+(c[b+32>>2]|0)|0;h=a+12|0;if(!n){n=((g|0)<0?g:0)+i+(c[d+28>>2]|0)|0;c[h>>2]=f;c[a+8>>2]=c[d+12>>2];d=n;return d|0}else{c[h>>2]=0;c[a+8>>2]=0;d=0;return d|0}}default:{if((c[e>>2]|0)==5){i=0;g=0;f=a+12|0}else{h=c[d+12>>2]|0;f=a+12|0;g=c[f>>2]|0;if((c[a+8>>2]|0)>>>0>h>>>0)g=(c[b+12>>2]|0)+g|0;i=g;g=(h+g<<1)+(((c[e+4>>2]|0)==0)<<31>>31)|0}if(!n){c[f>>2]=i;c[a+8>>2]=c[d+12>>2];d=g;return d|0}else{c[f>>2]=0;c[a+8>>2]=0;d=0;return d|0}}}return 0}function Mf(a,b){a=a|0;b=b|0;var d=0;df(a);d=Xd(2112,1)|0;c[a+3376>>2]=d;if(!d){d=1;return d|0}if(!b){d=0;return d|0}c[a+1216>>2]=1;d=0;return d|0}function Nf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Nb;Nb=Nb+208|0;k=s+204|0;q=s;j=s+112|0;i=s+40|0;r=s+16|0;h=s+12|0;n=s+8|0;c[h>>2]=0;o=a+3344|0;if((c[o>>2]|0)!=0?(c[a+3348>>2]|0)==(b|0):0){l=a+3356|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];c[r+4>>2]=c[r>>2];c[r+8>>2]=0;c[r+16>>2]=0;c[f>>2]=c[a+3352>>2]}else p=4;do if((p|0)==4)if(!(Sd(b,d,r,f)|0)){l=a+3356|0;c[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];c[l+16>>2]=c[r+16>>2];c[a+3352>>2]=c[f>>2];c[a+3348>>2]=b;break}else{a=3;Nb=s;return a|0}while(0);c[o>>2]=0;if(bf(r,q)|0){a=3;Nb=s;return a|0}if(((c[q>>2]|0)+-1|0)>>>0>11){a=0;Nb=s;return a|0}b=qf(r,q,a,h)|0;a:do if((b|0)<65520){switch(b|0){case 0:break;default:break a}do if(!(c[h>>2]|0))p=19;else{if(c[a+1184>>2]|0?(g=a+16|0,c[g>>2]|0):0){if(c[a+3380>>2]|0){a=3;Nb=s;return a|0}d=a+1188|0;if(!(c[d>>2]|0)){r=a+1220|0;b=a+1336|0;c[b>>2]=xf(r)|0;zf(r);Jf(a,b,0)|0}else{b=a+1336|0;Jf(a,b,c[a+1372>>2]|0)|0}c[f>>2]=0;c[o>>2]=1;c[a+1180>>2]=0;h=b;b=a+1360|0;break}c[a+1188>>2]=0;c[a+1180>>2]=0;p=19}while(0);b:do if((p|0)==19)switch(c[q>>2]|0){case 7:if(!(Td(r,j)|0)){ef(a,j)|0;a=0;Nb=s;return a|0}else{a=j+40|0;ff(c[a>>2]|0);c[a>>2]=0;a=j+84|0;ff(c[a>>2]|0);c[a>>2]=0;a=3;Nb=s;return a|0}case 8:if(!(ae(r,i)|0)){gf(a,i)|0;a=0;Nb=s;return a|0}else{a=i+20|0;ff(c[a>>2]|0);c[a>>2]=0;a=i+24|0;ff(c[a>>2]|0);c[a>>2]=0;a=i+28|0;ff(c[a>>2]|0);c[a>>2]=0;a=i+44|0;ff(c[a>>2]|0);c[a>>2]=0;a=3;Nb=s;return a|0}case 1:case 5:{l=a+1180|0;if(c[l>>2]|0){a=0;Nb=s;return a|0}c[a+1184>>2]=1;if(mf(a)|0){c[a+1204>>2]=0;c[a+1208>>2]=e;ce(r,k)|0;d=a+8|0;g=c[d>>2]|0;b=hf(a,c[k>>2]|0,(c[q>>2]|0)==5&1)|0;if(b|0){c[a+4>>2]=256;c[a+12>>2]=0;c[d>>2]=32;c[a+16>>2]=0;c[a+3380>>2]=0;a=(b|0)==65535?5:4;Nb=s;return a|0}if((g|0)!=(c[d>>2]|0)){g=c[a+16>>2]|0;c[n>>2]=1;b=c[a>>2]|0;if(b>>>0<32)b=c[a+20+(b<<2)>>2]|0;else b=0;c[f>>2]=0;c[o>>2]=1;do if(((((c[q>>2]|0)==5?(r=ie(n,r,g,c[a+12>>2]|0,5)|0,(c[n>>2]|r|0)==0):0)?(m=a+1220|0,!((b|0)==0|(c[a+1276>>2]|0)!=0)):0)?(c[b+52>>2]|0)==(c[g+52>>2]|0):0)?(c[b+56>>2]|0)==(c[g+56>>2]|0):0){if((c[b+88>>2]|0)!=(c[g+88>>2]|0)){p=39;break}Cf(m)}else p=39;while(0);if((p|0)==39)c[a+1280>>2]=0;c[a>>2]=c[d>>2];a=2;Nb=s;return a|0}}if(c[a+3380>>2]|0){a=3;Nb=s;return a|0}j=a+1368|0;g=a+2356|0;h=a+16|0;if(be(r,g,c[h>>2]|0,c[a+12>>2]|0,q)|0){a=3;Nb=s;return a|0}if(!(mf(a)|0))b=a+1220|0;else{b=a+1220|0;if((c[q>>2]|0)!=5?Af(b,c[a+2368>>2]|0,(c[q+4>>2]|0)!=0&1,c[(c[h>>2]|0)+48>>2]|0)|0:0){a=3;Nb=s;return a|0}c[a+1336>>2]=xf(b)|0}pi(j|0,g|0,988)|0;d=a+1188|0;c[d>>2]=1;i=a+1360|0;f=q;p=c[f+4>>2]|0;q=i;c[q>>2]=c[f>>2];c[q+4>>2]=p;of(a,c[a+1432>>2]|0);zf(b);if(sf(b,a+1436|0,c[a+1380>>2]|0,c[a+1412>>2]|0)|0){a=3;Nb=s;return a|0}b=a+1336|0;if(je(r,a,b,j)|0){$e(a,c[j>>2]|0);a=3;Nb=s;return a|0}if(!(nf(a)|0)){a=0;Nb=s;return a|0}else{c[l>>2]=1;g=h;h=b;b=i;break b}}default:{a=0;Nb=s;return a|0}}while(0);Df(h,c[a+1212>>2]|0);lf(a);g=Lf(a+1284|0,c[g>>2]|0,a+1368|0,b)|0;do if(c[d>>2]|0){b=a+1220|0;if(!(c[a+1364>>2]|0)){tf(b,0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}else{tf(b,a+1644|0,h,c[a+1380>>2]|0,g,(c[a+1360>>2]|0)==5&1,c[a+1208>>2]|0,c[a+1204>>2]|0)|0;break}}while(0);c[a+1184>>2]=0;c[d>>2]=0;a=1;Nb=s;return a|0}else{switch(b|0){case 65520:{b=4;break}default:break a}Nb=s;return b|0}while(0);a=3;Nb=s;return a|0}function Of(a){a=a|0;var b=0,d=0,e=0;e=0;do{d=a+20+(e<<2)|0;b=c[d>>2]|0;if(b|0){ff(c[b+40>>2]|0);c[(c[d>>2]|0)+40>>2]=0;ff(c[(c[d>>2]|0)+84>>2]|0);c[(c[d>>2]|0)+84>>2]=0;ff(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=32);e=0;do{d=a+148+(e<<2)|0;b=c[d>>2]|0;if(b|0){ff(c[b+20>>2]|0);c[(c[d>>2]|0)+20>>2]=0;ff(c[(c[d>>2]|0)+24>>2]|0);c[(c[d>>2]|0)+24>>2]=0;ff(c[(c[d>>2]|0)+28>>2]|0);c[(c[d>>2]|0)+28>>2]=0;ff(c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;ff(c[d>>2]|0);c[d>>2]=0}e=e+1|0}while((e|0)!=256);e=a+3376|0;ff(c[e>>2]|0);c[e>>2]=0;e=a+1212|0;ff(c[e>>2]|0);c[e>>2]=0;e=a+1172|0;ff(c[e>>2]|0);c[e>>2]=0;yf(a+1220|0);return}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Bf(a+1220|0)|0;if(!a){b=0;return b|0}c[b>>2]=c[a+4>>2];c[d>>2]=c[a+12>>2];c[e>>2]=c[a+8>>2];b=c[a>>2]|0;return b|0}function Qf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+52>>2]|0;return a|0}function Rf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a+56>>2]|0;return a|0}function Sf(a){a=a|0;Cf(a+1220|0);return}function Tf(a){a=a|0;return (rf(a)|0)==0|0}function Uf(a){a=a|0;var b=0;a=c[a+16>>2]|0;if((((a|0?c[a+80>>2]|0:0)?(b=c[a+84>>2]|0,b|0):0)?c[b+24>>2]|0:0)?c[b+32>>2]|0:0){b=1;return b|0}b=0;return b|0}function Vf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=2;return a|0}if(!(c[a+80>>2]|0)){a=2;return a|0}a=c[a+84>>2]|0;if(!a){a=2;return a|0}if(!(c[a+24>>2]|0)){a=2;return a|0}if(!(c[a+36>>2]|0)){a=2;return a|0}a=c[a+48>>2]|0;return a|0}function Wf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a+16>>2]|0;if(a|0?c[a+60>>2]|0:0){c[b>>2]=1;b=a+64|0;c[d>>2]=c[b>>2]<<1;c[e>>2]=(c[a+52>>2]<<4)-((c[a+68>>2]|0)+(c[b>>2]|0)<<1);e=a+72|0;c[f>>2]=c[e>>2]<<1;e=(c[a+56>>2]<<4)-((c[a+76>>2]|0)+(c[e>>2]|0)<<1)|0;c[g>>2]=e;return}c[b>>2]=0;c[d>>2]=0;c[e>>2]=0;c[f>>2]=0;e=0;c[g>>2]=e;return}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=c[a+16>>2]|0;a:do if((((a|0)!=0?(c[a+80>>2]|0)!=0:0)?(e=c[a+84>>2]|0,(e|0)!=0):0)?(c[e>>2]|0)!=0:0)do switch(c[e+4>>2]|0){case 255:{f=c[e+8>>2]|0;a=c[e+12>>2]|0;e=(f|0)==0|(a|0)==0;a=e?0:a;e=e?0:f;break a}case 1:{a=1;e=1;break a}case 2:{a=11;e=12;break a}case 3:{a=11;e=10;break a}case 4:{a=11;e=16;break a}case 5:{a=33;e=40;break a}case 6:{a=11;e=24;break a}case 7:{a=11;e=20;break a}case 8:{a=11;e=32;break a}case 9:{a=33;e=80;break a}case 10:{a=11;e=18;break a}case 11:{a=11;e=15;break a}case 12:{a=33;e=64;break a}case 13:{a=99;e=160;break a}default:{a=0;e=0;break a}}while(0);else{a=1;e=1}while(0);c[b>>2]=e;c[d>>2]=a;return}function Yf(a){a=a|0;a=c[a+16>>2]|0;if(!a){a=0;return a|0}a=c[a>>2]|0;return a|0}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){e=-1;return e|0}d=Og(3396)|0;if(!d){e=-4;return e|0}e=d+8|0;if(!(Mf(e,b)|0)){c[d>>2]=1;c[d+4>>2]=0;c[a>>2]=d;e=0;return e|0}else{Of(e);Pg(d);e=-4;return e|0}return 0}function _f(a){a=a|0;if(!a)return;Of(a+8|0);Pg(a);return}function $f(a,b){a=a|0;b=b|0;var d=0;if((a|0)==0|(b|0)==0){d=-1;return d|0}d=a+8|0;if(!(c[a+24>>2]|0)){d=-6;return d|0}if(!(c[a+20>>2]|0)){d=-6;return d|0}c[b+4>>2]=(Qf(d)|0)<<4;c[b+8>>2]=(Rf(d)|0)<<4;c[b+12>>2]=Uf(d)|0;c[b+16>>2]=Vf(d)|0;Wf(d,b+28|0,b+32|0,b+36|0,b+40|0,b+44|0);Xf(d,b+20|0,b+24|0);c[b>>2]=Yf(d)|0;d=0;return d|0}function ag(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=Nb;Nb=Nb+16|0;j=l;a:do if((!((b|0)==0|(d|0)==0)?(e=c[b>>2]|0,(e|0)!=0):0)?(g=c[b+4>>2]|0,(g|0)!=0):0)if((a|0)!=0?(f=c[a>>2]|0,(f|0)!=0):0){c[d>>2]=0;c[j>>2]=0;i=a+8|0;c[a+3392>>2]=c[b+12>>2];h=b+8|0;b:do if((f|0)==2){b=e;k=8}else{b=1;c:while(1){m=Nf(i,e,g,c[h>>2]|0,j)|0;f=c[j>>2]|0;e=e+f|0;f=g-f|0;g=(f|0)>0?f:0;c[d>>2]=e;switch(m|0){case 5:{b=-4;break a}case 2:break b;case 1:break c;case 4:{m=(Tf(i)|0|g|0)==0;b=m?-2:b;break}default:{}}if((f|0)<1)break a;if((c[a>>2]|0)==2){b=e;k=8;break b}}b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;b=(f|0)<1?2:3;break a}while(0);if((k|0)==8){c[a>>2]=1;c[d>>2]=b+(c[j>>2]|0)}b=a+1288|0;if((c[b>>2]|0)!=0?(c[a+1244>>2]|0)!=(c[a+1248>>2]|0):0){c[b>>2]=0;c[a>>2]=2;b=3}else b=4}else b=-3;else b=-1;while(0);Nb=l;return b|0}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Nb;Nb=Nb+16|0;f=h+8|0;e=h+4|0;g=h;if((a|0)==0|(b|0)==0){g=-1;Nb=h;return g|0}a=a+8|0;if(d|0)Sf(a);a=Pf(a,g,e,f)|0;if(!a){g=0;Nb=h;return g|0}c[b>>2]=a;c[b+4>>2]=c[g>>2];c[b+8>>2]=c[e>>2];c[b+12>>2]=c[f>>2];g=2;Nb=h;return g|0}function cg(){dg(0);return}function dg(a){a=a|0;fa(1192,10192);W(1208,10197,1,1,0);ba(1216,10202,1,-128,127);ba(1232,10207,1,-128,127);ba(1224,10219,1,0,255);ba(1240,10233,2,-32768,32767);ba(1248,10239,2,0,65535);ba(1256,10254,4,-2147483648,2147483647);ba(1264,10258,4,0,-1);ba(1272,10271,4,-2147483648,2147483647);ba(1280,10276,4,0,-1);aa(1288,10290,4);aa(1296,10296,8);da(552,10303);da(760,10315);ea(784,4,10348);$(576,10361);ca(808,0,10377);ca(816,0,10407);ca(824,1,10444);ca(832,2,10483);ca(840,3,10514);ca(848,4,10554);ca(856,5,10583);ca(864,4,10621);ca(872,5,10651);ca(816,0,10690);ca(824,1,10722);ca(832,2,10755);ca(840,3,10788);ca(848,4,10822);ca(856,5,10855);ca(880,6,10889);ca(888,7,10920);ca(896,7,10952);return}function eg(a){a=a|0;return Mg(c[a+4>>2]|0)|0}function fg(a){a=a|0;var b=0,d=0;b=Nb;Nb=Nb+16|0;d=b;c[d>>2]=kg(c[a+60>>2]|0)|0;a=ig(U(6,d|0)|0)|0;Nb=b;return a|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,l=0,m=0,n=0,o=0;m=Nb;Nb=Nb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=ig(T(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=ig(T(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Nb=m;return d|0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Nb;Nb=Nb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((ig(S(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Nb=g;return b|0}function ig(a){a=a|0;if(a>>>0>4294963200){c[(jg()|0)>>2]=0-a;a=-1}return a|0}function jg(){return 12384}function kg(a){a=a|0;return a|0}function lg(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 mg(a){a=a|0;return (a+-48|0)>>>0<10|0}function ng(a,b,c){a=a|0;b=b|0;c=c|0;return qg(a,b,c,1,21)|0}function og(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Nb;Nb=Nb+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;Ig(e)|0;j=v()|0;if((j|0)<0){e=-e;Ig(e)|0;D=1;C=11504;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?11505:11510):11507}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Bg(b,32,f,j,h&-65537);ug(b,C,D);ug(b,e!=e|0.0!=0.0?(G?11531:11535):G?11523:11527,3);Bg(b,32,f,j,h^8192)}else{q=+Jg(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=zg(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[528+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Bg(b,32,f,E,h);ug(b,s,p);Bg(b,48,f,E,h^65536);F=m-F|0;ug(b,G,F);G=k-l|0;Bg(b,48,j-(F+G)|0,0,0);ug(b,n,G);Bg(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=oi(c[j>>2]|0,0,n|0)|0;t=ii(t|0,v()|0,m|0,0)|0;x=v()|0;m=mi(t|0,x|0,1e9,0)|0;y=hi(m|0,v()|0,1e9,0)|0;y=ji(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=zg(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;Bg(b,32,f,j,h);ug(b,C,D);Bg(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=zg(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){ri(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}ug(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))ug(b,11539,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=zg(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){ri(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}ug(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}Bg(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=zg(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;ug(b,l,1);if(t&(k|0)<1){l=m;break}ug(b,11539,1);l=m}else{if(l>>>0<=G>>>0)break;ri(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;ug(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}Bg(b,48,k+18|0,18,0);ug(b,x,E-x|0)}Bg(b,32,f,j,h^8192)}while(0);Nb=H;return ((j|0)<(f|0)?f:j)|0}function pg(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function qg(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=Nb;Nb=Nb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((rg(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=sg(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=rg(b,d,p,r,q,f,g)|0;if(j){Tb[c[b+36>>2]&7](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=rg(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)tg(b);e=(h&32|0)==0?e:-1}Nb=t;return e|0} |
| | | function pe(a,f,g,h,i,j){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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=Nb;Nb=Nb+32|0;R=S;m=c[i+4>>2]|0;Q=(h>>>0)/(m>>>0)|0;P=Q<<4;Q=h-(r(Q,m)|0)<<4;c[R+4>>2]=m;c[R+8>>2]=c[i+8>>2];m=c[a>>2]|0;a:do switch(m|0){case 1:case 0:{y=c[f+144>>2]|0;o=c[a+4>>2]|0;l=c[a+200>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){k=l+152|0;k=e[k>>1]|e[k+2>>1]<<16;p=1;w=k&65535;k=k>>>16&65535;s=c[l+104>>2]|0}else{p=1;w=0;k=0;s=-1}else{p=0;w=0;k=0;s=-1}l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){u=l+172|0;u=e[u>>1]|e[u+2>>1]<<16;n=1;q=c[l+108>>2]|0;t=u&65535;u=u>>>16&65535}else{n=1;q=-1;t=0;u=0}else{n=0;q=-1;t=0;u=0}if(!m)if((!((p|0)==0|(n|0)==0)?((k&65535)<<16|w&65535|s|0)!=0:0)?((u&65535)<<16|t&65535|q|0)!=0:0)O=14;else{m=0;l=0}else O=14;if((O|0)==14){v=b[f+160>>1]|0;x=b[f+162>>1]|0;l=c[a+208>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(o|0):0)if((c[l>>2]|0)>>>0<6){o=l+172|0;n=c[l+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23}else{n=-1;o=0;O=23}else O=18;do if((O|0)==18){l=c[a+212>>2]|0;if(l|0?(c[l+4>>2]|0)==(o|0):0){if((c[l>>2]|0)>>>0>=6){n=-1;o=0;O=23;break}o=l+192|0;n=c[l+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;O=23;break}if((p|0)==0|(n|0)!=0){n=-1;o=0;O=23}else l=w}while(0);do if((O|0)==23){m=(s|0)==(y|0);l=(q|0)==(y|0);if(((l&1)+(m&1)+((n|0)==(y|0)&1)|0)!=1){M=w<<16>>16;K=t<<16>>16;l=o<<16>>16;J=t<<16>>16>w<<16>>16;L=J?t:w;M=J?M:(K|0)<(M|0)?K:M;K=k<<16>>16;J=u<<16>>16;O=o>>16;I=u<<16>>16>k<<16>>16;N=I?u:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m|l){l=m?w:t;k=m?k:u}else{l=o&65535;k=o>>>16&65535}}while(0);l=(l&65535)+(v&65535)|0;k=(k&65535)+(x&65535)|0;if(((l<<16>>16)+8192|0)>>>0>16383){R=1;Nb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Nb=S;return R|0}else{m=l&65535;l=k&65535}}k=qe(g,y)|0;if(!k){R=1;Nb=S;return R|0}else{b[a+192>>1]=m;b[a+194>>1]=l;g=c[a+192>>2]|0;c[a+188>>2]=g;c[a+184>>2]=g;c[a+180>>2]=g;c[a+176>>2]=g;c[a+172>>2]=g;c[a+168>>2]=g;c[a+164>>2]=g;c[a+160>>2]=g;c[a+156>>2]=g;c[a+152>>2]=g;c[a+148>>2]=g;c[a+144>>2]=g;c[a+140>>2]=g;c[a+136>>2]=g;c[a+132>>2]=g;c[a+100>>2]=y;c[a+104>>2]=y;c[a+108>>2]=y;c[a+112>>2]=y;c[a+116>>2]=k;c[a+120>>2]=k;c[a+124>>2]=k;c[a+128>>2]=k;c[R>>2]=k;re(j,a+132|0,R,Q,P,0,0,16,16);break a}}case 2:{u=b[f+160>>1]|0;v=b[f+162>>1]|0;z=c[f+144>>2]|0;y=a+4|0;o=c[y>>2]|0;k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(o|0):0)if((c[k>>2]|0)>>>0<6){t=k+172|0;t=e[t>>1]|e[t+2>>1]<<16;q=1;k=c[k+108>>2]|0;s=t&65535;t=t>>>16&65535}else{q=1;k=-1;s=0;t=0}else{q=0;k=-1;s=0;t=0}b:do if((k|0)!=(z|0)){m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;n=1;l=k&65535;k=k>>>16&65535;p=c[m+104>>2]|0}else{n=1;l=0;k=0;p=-1}else{n=0;l=0;k=0;p=-1}m=c[a+208>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(o|0):0)if((c[m>>2]|0)>>>0<6){o=m+172|0;n=c[m+108>>2]|0;o=e[o>>1]|e[o+2>>1]<<16}else{n=-1;o=0}else O=44;do if((O|0)==44){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(o|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;o=0;break}o=m+192|0;n=c[m+112>>2]|0;o=e[o>>1]|e[o+2>>1]<<16;break}if((q|0)!=0|(n|0)==0){n=-1;o=0}else break b}while(0);m=(p|0)==(z|0);if((((n|0)==(z|0)&1)+(m&1)|0)!=1){K=l<<16>>16;J=s<<16>>16;M=o<<16>>16;O=s<<16>>16>l<<16>>16;L=O?s:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=t<<16>>16;O=o>>16;I=t<<16>>16>k<<16>>16;N=I?t:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(o&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(o>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(!m){l=o&65535;k=o>>>16&65535}}else{l=s;k=t}while(0);m=(l&65535)+(u&65535)|0;k=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Nb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Nb=S;return R|0}l=qe(g,z)|0;if(!l){R=1;Nb=S;return R|0}b[a+160>>1]=m;b[a+162>>1]=k;u=c[a+160>>2]|0;c[a+156>>2]=u;c[a+152>>2]=u;c[a+148>>2]=u;c[a+144>>2]=u;c[a+140>>2]=u;c[a+136>>2]=u;c[a+132>>2]=u;c[a+100>>2]=z;c[a+104>>2]=z;c[a+116>>2]=l;c[a+120>>2]=l;v=b[f+164>>1]|0;w=b[f+166>>1]|0;x=c[f+148>>2]|0;l=c[y>>2]|0;m=c[a+200>>2]|0;n=(m|0)==0;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){s=m+184|0;s=e[s>>1]|e[s+2>>1]<<16;q=s&65535;s=s>>>16&65535;k=c[m+112>>2]|0}else{q=0;s=0;k=-1}do if((k|0)!=(x|0)){o=u&65535;t=u>>>16;p=t&65535;if((!n?(c[m+4>>2]|0)==(l|0):0)?(c[m>>2]|0)>>>0<6:0){n=m+160|0;k=c[m+104>>2]|0;n=e[n>>1]|e[n+2>>1]<<16}else{k=-1;n=0}m=(z|0)==(x|0);if((((k|0)==(x|0)&1)+(m&1)|0)==1){l=m?u:n;k=m?t:n>>>16;break}else{M=q<<16>>16;O=u<<16>>16;l=n<<16>>16;K=q<<16>>16<o<<16>>16;L=K?o:q;M=K?M:(O|0)<(M|0)?O:M;O=s<<16>>16;K=u>>16;k=n>>16;J=s<<16>>16<p<<16>>16;N=J?p:s;O=J?O:(K|0)<(O|0)?K:O;l=L<<16>>16<(n&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(n>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}}else{k=s&65535;l=k<<16|q&65535}while(0);m=(l&65535)+(v&65535)|0;l=(k&65535)+(w&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Nb=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Nb=S;return R|0}k=qe(g,x)|0;if(!k){R=1;Nb=S;return R|0}else{g=a+164|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+176>>2]=O;c[a+172>>2]=O;c[a+168>>2]=O;c[g>>2]=O;c[a+108>>2]=x;c[a+112>>2]=x;O=a+124|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];re(j,a+132|0,R,Q,P,0,0,16,8);c[R>>2]=c[O>>2];re(j,g,R,Q,P,0,8,16,8);break a}}case 3:{t=b[f+160>>1]|0;u=b[f+162>>1]|0;y=c[f+144>>2]|0;x=a+4|0;n=c[x>>2]|0;m=c[a+200>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){k=m+152|0;k=e[k>>1]|e[k+2>>1]<<16;o=1;l=k&65535;k=k>>>16&65535;m=c[m+104>>2]|0}else{o=1;l=0;k=0;m=-1}else{o=0;l=0;k=0;m=-1}c:do if((m|0)!=(y|0)){m=c[a+204>>2]|0;if((m|0)!=0?(c[m+4>>2]|0)==(n|0):0)if((c[m>>2]|0)>>>0<6){s=m+172|0;s=e[s>>1]|e[s+2>>1]<<16;p=m+188|0;o=c[m+108>>2]|0;q=s&65535;s=s>>>16&65535;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16}else{o=-1;q=0;s=0;n=-1;p=0}else O=82;do if((O|0)==82){m=c[a+212>>2]|0;if(m|0?(c[m+4>>2]|0)==(n|0):0){if((c[m>>2]|0)>>>0>=6){o=-1;q=0;s=0;n=-1;p=0;break}p=m+192|0;o=-1;q=0;s=0;n=c[m+112>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;break}if(!o){o=-1;q=0;s=0;n=-1;p=0}else break c}while(0);m=(o|0)==(y|0);if(((m&1)+((n|0)==(y|0)&1)|0)!=1){K=l<<16>>16;J=q<<16>>16;M=p<<16>>16;O=q<<16>>16>l<<16>>16;L=O?q:l;l=O?K:(J|0)<(K|0)?J:K;K=k<<16>>16;J=s<<16>>16;O=p>>16;I=s<<16>>16>k<<16>>16;N=I?s:k;k=I?K:(J|0)<(K|0)?J:K;l=(L<<16>>16<(p&65535)<<16>>16?L&65535:(l|0)>(M|0)?l:M)&65535;k=(N<<16>>16<(p>>>16&65535)<<16>>16?N&65535:(k|0)>(O|0)?k:O)&65535;break}if(m){l=q;k=s}else{l=p&65535;k=p>>>16&65535}}while(0);m=(l&65535)+(t&65535)|0;k=(k&65535)+(u&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Nb=S;return R|0}if(((k<<16>>16)+2048|0)>>>0>4095){R=1;Nb=S;return R|0}l=qe(g,y)|0;if(!l){R=1;Nb=S;return R|0}b[a+176>>1]=m;b[a+178>>1]=k;t=c[a+176>>2]|0;c[a+172>>2]=t;c[a+168>>2]=t;c[a+164>>2]=t;c[a+144>>2]=t;c[a+140>>2]=t;c[a+136>>2]=t;c[a+132>>2]=t;c[a+100>>2]=y;c[a+108>>2]=y;c[a+116>>2]=l;c[a+124>>2]=l;u=b[f+164>>1]|0;v=b[f+166>>1]|0;w=c[f+148>>2]|0;m=c[x>>2]|0;k=c[a+208>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+172|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{k=c[a+204>>2]|0;if((k|0)!=0?(c[k+4>>2]|0)==(m|0):0)if((c[k>>2]|0)>>>0<6){s=k+176|0;n=1;k=c[k+108>>2]|0;s=e[s>>1]|e[s+2>>1]<<16}else{n=1;k=-1;s=0}else{n=0;k=-1;s=0}}do if((k|0)!=(w|0)){p=t&65535;k=t>>>16;q=k&65535;l=c[a+204>>2]|0;if((l|0)!=0?(c[l+4>>2]|0)==(m|0):0)if((c[l>>2]|0)>>>0<6){o=l+188|0;o=e[o>>1]|e[o+2>>1]<<16;l=c[l+112>>2]|0;n=o&65535;o=o>>>16&65535}else{l=-1;n=0;o=0}else if(!n){l=t;break}else{l=-1;n=0;o=0}m=(y|0)==(w|0);l=(l|0)==(w|0);if(((l&1)+(m&1)|0)!=1){M=t<<16>>16;O=n<<16>>16;l=s<<16>>16;K=n<<16>>16>p<<16>>16;L=K?n:p;M=K?M:(M|0)>(O|0)?O:M;O=t>>16;K=o<<16>>16;k=s>>16;J=o<<16>>16>q<<16>>16;N=J?o:q;O=J?O:(O|0)>(K|0)?K:O;l=L<<16>>16<(s&65535)<<16>>16?L&65535:(M|0)>(l|0)?M:l;k=N<<16>>16<(s>>>16&65535)<<16>>16?N&65535:(O|0)>(k|0)?O:k;break}if(!m)if(l){k=o&65535;l=k<<16|n&65535;break}else{l=s;k=s>>>16;break}else l=t}else{l=s;k=s>>>16}while(0);m=(l&65535)+(u&65535)|0;l=(k&65535)+(v&65535)|0;if(((m<<16>>16)+8192|0)>>>0>16383){R=1;Nb=S;return R|0}if(((l<<16>>16)+2048|0)>>>0>4095){R=1;Nb=S;return R|0}k=qe(g,w)|0;if(!k){R=1;Nb=S;return R|0}else{g=a+148|0;b[a+192>>1]=m;b[a+194>>1]=l;O=c[a+192>>2]|0;c[a+188>>2]=O;c[a+184>>2]=O;c[a+180>>2]=O;c[a+160>>2]=O;c[a+156>>2]=O;c[a+152>>2]=O;c[g>>2]=O;c[a+104>>2]=w;c[a+112>>2]=w;O=a+120|0;c[O>>2]=k;c[a+128>>2]=k;c[R>>2]=c[a+116>>2];re(j,a+132|0,R,Q,P,0,0,8,16);c[R>>2]=c[O>>2];re(j,g,R,Q,P,8,0,8,16);break a}}default:{N=a+4|0;C=0;d:while(1){z=f+176+(C<<2)|0;B=se(c[z>>2]|0)|0;A=f+192+(C<<2)|0;c[a+100+(C<<2)>>2]=c[A>>2];O=qe(g,c[A>>2]|0)|0;c[a+116+(C<<2)>>2]=O;if(!O){k=1;O=165;break}e:do if(B|0){E=C<<2;F=a+132+(E<<2)|0;J=a+132+(E<<2)+2|0;M=E|1;I=a+132+(M<<2)|0;M=a+132+(M<<2)+2|0;K=E|2;G=a+132+(K<<2)|0;K=a+132+(K<<2)+2|0;L=E|3;H=a+132+(L<<2)|0;L=a+132+(L<<2)+2|0;D=0;while(1){w=b[f+208+(C<<4)+(D<<2)>>1]|0;x=b[f+208+(C<<4)+(D<<2)+2>>1]|0;y=te(c[z>>2]|0)|0;v=c[A>>2]|0;k=ue(a,c[2136+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;l=d[2136+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((k|0)!=0?(c[k+4>>2]|0)==(c[N>>2]|0):0)if((c[k>>2]|0)>>>0<6){O=k+132+(l<<2)|0;O=e[O>>1]|e[O+2>>1]<<16;p=1;t=c[k+100+(l>>>2<<2)>>2]|0;l=O&65535;k=O>>>16&65535}else{p=1;t=-1;l=0;k=0}else{p=0;t=-1;l=0;k=0}m=ue(a,c[2648+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[2648+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){u=m+132+(n<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;o=1;q=c[m+100+(n>>>2<<2)>>2]|0;s=u&65535;u=u>>>16&65535}else{o=1;q=-1;s=0;u=0}else{o=0;q=-1;s=0;u=0}m=ue(a,c[3160+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3160+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if((m|0)!=0?(c[m+4>>2]|0)==(c[N>>2]|0):0)if((c[m>>2]|0)>>>0<6){p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140}else{n=-1;p=0;O=140}else O=135;do if((O|0)==135){O=0;m=ue(a,c[3672+(C<<7)+(y<<5)+(D<<3)>>2]|0)|0;n=d[3672+(C<<7)+(y<<5)+(D<<3)+4>>0]|0;if(m|0?(c[m+4>>2]|0)==(c[N>>2]|0):0){if((c[m>>2]|0)>>>0>=6){n=-1;p=0;O=140;break}p=m+132+(n<<2)|0;n=c[m+100+(n>>>2<<2)>>2]|0;p=e[p>>1]|e[p+2>>1]<<16;O=140;break}if((p|0)==0|(o|0)!=0){n=-1;p=0;O=140}}while(0);do if((O|0)==140){O=0;o=(t|0)==(v|0);m=(q|0)==(v|0);if(((m&1)+(o&1)+((n|0)==(v|0)&1)|0)!=1){q=l<<16>>16;o=s<<16>>16;t=p<<16>>16;v=s<<16>>16>l<<16>>16;s=v?s:l;l=v?q:(o|0)<(q|0)?o:q;q=k<<16>>16;o=u<<16>>16;v=p>>16;n=u<<16>>16>k<<16>>16;u=n?u:k;k=n?q:(o|0)<(q|0)?o:q;l=(s<<16>>16<(p&65535)<<16>>16?s&65535:(l|0)>(t|0)?l:t)&65535;k=(u<<16>>16<(p>>>16&65535)<<16>>16?u&65535:(k|0)>(v|0)?k:v)&65535;break}if(o|m){l=o?l:s;k=o?k:u}else{l=p&65535;k=p>>>16&65535}}while(0);w=(l&65535)+(w&65535)|0;m=w&65535;k=(k&65535)+(x&65535)|0;l=k&65535;if(((w<<16>>16)+8192|0)>>>0>16383){k=1;O=165;break d}if(((k<<16>>16)+2048|0)>>>0>4095){k=1;O=165;break d}switch(y|0){case 0:{b[F>>1]=m;b[J>>1]=l;b[I>>1]=m;b[M>>1]=l;b[G>>1]=m;b[K>>1]=l;b[H>>1]=m;k=L;O=151;break}case 1:{k=(D<<1)+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k|1;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 2:{k=D+E|0;b[a+132+(k<<2)>>1]=m;b[a+132+(k<<2)+2>>1]=l;k=k+2|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}case 3:{k=D+E|0;b[a+132+(k<<2)>>1]=m;k=a+132+(k<<2)+2|0;O=151;break}default:{}}if((O|0)==151)b[k>>1]=l;D=D+1|0;if(D>>>0>=B>>>0)break e}}while(0);C=C+1|0;if(C>>>0>=4){O=154;break}}if((O|0)==154){m=0;while(1){c[R>>2]=c[a+116+(m<<2)>>2];g=te(c[f+176+(m<<2)>>2]|0)|0;k=m<<3&8;l=m>>>0<2?0:8;switch(g|0){case 0:{re(j,a+132+(m<<2<<2)|0,R,Q,P,k,l,8,8);break}case 1:{g=a+132+(m<<2<<2)|0;re(j,g,R,Q,P,k,l,8,4);re(j,g+8|0,R,Q,P,k,l|4,8,4);break}case 2:{g=a+132+(m<<2<<2)|0;re(j,g,R,Q,P,k,l,4,8);re(j,g+4|0,R,Q,P,k|4,l,4,8);break}default:{N=a+132+(m<<2<<2)|0;re(j,N,R,Q,P,k,l,4,4);O=k|4;re(j,N+4|0,R,Q,P,O,l,4,4);g=l|4;re(j,N+8|0,R,Q,P,k,g,4,4);re(j,N+12|0,R,Q,P,O,g,4,4)}}m=m+1|0;if((m|0)==4)break a}}else if((O|0)==165){Nb=S;return k|0}}}while(0);if((c[a+196>>2]|0)>>>0>1){R=0;Nb=S;return R|0}if(!(c[a>>2]|0)){me(i,j);R=0;Nb=S;return R|0}else{ve(i,h,j,f+328|0);R=0;Nb=S;return R|0}return 0}function qe(a,b){a=a|0;b=b|0;var d=0;if((b>>>0<=16?(d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0,(d|0)!=0):0)?(c[d+20>>2]|0)>>>0>1:0)d=c[d>>2]|0;else d=0;return d|0}function re(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;m=a+(i<<4)+h|0;v=b[d>>1]|0;u=d+2|0;q=b[u>>1]|0;s=e+4|0;n=c[s>>2]<<4;p=e+8|0;o=c[p>>2]<<4;t=h+f|0;l=(v>>2)+t|0;g=i+g|0;f=(q>>2)+g|0;do switch(c[4184+((v&3)<<4)+((q&3)<<2)>>2]|0){case 0:{we(c[e>>2]|0,m,l,f,n,o,j,k,16);f=e;break}case 1:{xe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,0);f=e;break}case 2:{ye(c[e>>2]|0,m,l,f+-2|0,n,o,j,k);f=e;break}case 3:{xe(c[e>>2]|0,m,l,f+-2|0,n,o,j,k,1);f=e;break}case 4:{ze(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,0);f=e;break}case 5:{Ae(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 6:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 7:{Ae(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,2);f=e;break}case 8:{Ce(c[e>>2]|0,m,l+-2|0,f,n,o,j,k);f=e;break}case 9:{De(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,0);f=e;break}case 10:{Ee(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k);f=e;break}case 11:{De(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 12:{ze(c[e>>2]|0,m,l+-2|0,f,n,o,j,k,1);f=e;break}case 13:{Ae(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}case 14:{Be(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,1);f=e;break}default:{Ae(c[e>>2]|0,m,l+-2|0,f+-2|0,n,o,j,k,3);f=e}}while(0);q=a+256+(i>>>1<<3)+(h>>>1)|0;v=c[s>>2]|0;l=c[p>>2]|0;i=v<<3;p=l<<3;e=b[d>>1]|0;h=(e>>3)+(t>>>1)|0;a=b[u>>1]|0;o=(a>>3)+(g>>>1)|0;e=e&7;a=a&7;n=j>>>1;m=k>>>1;f=(c[f>>2]|0)+(r(v<<8,l)|0)|0;g=(e|0)!=0;l=(a|0)!=0;if(g&l){Fe(f,q,h,o,i,p,e,a,n,m);return}if(g){Ge(f,q,h,o,i,p,e,n,m);return}if(l){He(f,q,h,o,i,p,a,n,m);return}else{we(f,q,h,o,i,p,n,m,8);we(f+(r(p,i)|0)|0,q+64|0,h,o,i,p,n,m,8);return}}function se(a){a=a|0;switch(a|0){case 0:{a=1;break}case 2:case 1:{a=2;break}default:a=4}return a|0}function te(a){a=a|0;return a|0}function ue(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=c[a+200>>2]|0;break}case 1:{a=c[a+204>>2]|0;break}case 2:{a=c[a+208>>2]|0;break}case 3:{a=c[a+212>>2]|0;break}case 4:break;default:a=0}return a|0}function ve(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=c[b+4>>2]|0;q=r(c[b+8>>2]|0,s)|0;m=(e>>>0)%(s>>>0)|0;p=c[b>>2]|0;l=e-m|0;i=p+(l<<8)+(m<<4)|0;o=q<<8;l=l<<6;m=m<<3;q=q<<6;n=s<<4;k=s<<2&1073741820;j=0;do{h=c[1808+(j<<2)>>2]|0;b=c[1872+(j<<2)>>2]|0;e=f+(b<<4)+h|0;h=i+(r(b,n)|0)+h|0;b=c[g+(j<<6)>>2]|0;if((b|0)==16777215){b=e+16|0;t=c[b>>2]|0;b=b+16|0;c[h>>2]=c[e>>2];h=h+(k<<2)|0;c[h>>2]=t;h=h+(k<<2)|0;e=c[b+16>>2]|0;c[h>>2]=c[b>>2];c[h+(k<<2)>>2]=e}else{t=d[e+1>>0]|0;v=c[g+(j<<6)+4>>2]|0;a[h>>0]=a[8342+(b+(d[e>>0]|0))>>0]|0;b=d[e+2>>0]|0;u=c[g+(j<<6)+8>>2]|0;a[h+1>>0]=a[8342+(v+t)>>0]|0;t=d[e+3>>0]|0;v=c[g+(j<<6)+12>>2]|0;a[h+2>>0]=a[8342+(u+b)>>0]|0;b=e+16|0;a[h+3>>0]=a[8342+(v+t)>>0]|0;t=h+n|0;e=d[b+1>>0]|0;v=c[g+(j<<6)+20>>2]|0;a[t>>0]=a[8342+((c[g+(j<<6)+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=d[b+2>>0]|0;u=c[g+(j<<6)+24>>2]|0;a[t+1>>0]=a[8342+(v+e)>>0]|0;e=d[b+3>>0]|0;v=c[g+(j<<6)+28>>2]|0;a[t+2>>0]=a[8342+(u+h)>>0]|0;h=b+16|0;a[t+3>>0]=a[8342+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+36>>2]|0;a[t>>0]=a[8342+((c[g+(j<<6)+32>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+40>>2]|0;a[t+1>>0]=a[8342+(v+e)>>0]|0;e=d[h+3>>0]|0;v=c[g+(j<<6)+44>>2]|0;a[t+2>>0]=a[8342+(u+b)>>0]|0;h=h+16|0;a[t+3>>0]=a[8342+(v+e)>>0]|0;t=t+n|0;e=d[h+1>>0]|0;v=c[g+(j<<6)+52>>2]|0;a[t>>0]=a[8342+((c[g+(j<<6)+48>>2]|0)+(d[h>>0]|0))>>0]|0;b=d[h+2>>0]|0;u=c[g+(j<<6)+56>>2]|0;a[t+1>>0]=a[8342+(v+e)>>0]|0;h=d[h+3>>0]|0;e=c[g+(j<<6)+60>>2]|0;a[t+2>>0]=a[8342+(u+b)>>0]|0;a[t+3>>0]=a[8342+(e+h)>>0]|0}j=j+1|0}while((j|0)!=16);m=p+o+l+m|0;l=m+q|0;k=s<<3&2147483640;j=k>>>2;i=16;do{b=i&3;h=c[1808+(b<<2)>>2]|0;b=c[1872+(b<<2)>>2]|0;v=i>>>0>19;e=f+(v?320:256)+((b<<3)+h)|0;h=(v?l:m)+((r(b,k)|0)+h)|0;b=c[g+(i<<6)>>2]|0;if((b|0)==16777215){t=e+8|0;u=c[t>>2]|0;t=t+8|0;c[h>>2]=c[e>>2];v=h+(j<<2)|0;c[v>>2]=u;v=v+(j<<2)|0;u=c[t+8>>2]|0;c[v>>2]=c[t>>2];c[v+(j<<2)>>2]=u}else{v=d[e+1>>0]|0;t=c[g+(i<<6)+4>>2]|0;a[h>>0]=a[8342+(b+(d[e>>0]|0))>>0]|0;u=d[e+2>>0]|0;p=c[g+(i<<6)+8>>2]|0;a[h+1>>0]=a[8342+(t+v)>>0]|0;v=d[e+3>>0]|0;t=c[g+(i<<6)+12>>2]|0;a[h+2>>0]=a[8342+(p+u)>>0]|0;u=e+8|0;a[h+3>>0]=a[8342+(t+v)>>0]|0;v=h+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+20>>2]|0;a[v>>0]=a[8342+((c[g+(i<<6)+16>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+24>>2]|0;a[v+1>>0]=a[8342+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+28>>2]|0;a[v+2>>0]=a[8342+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[8342+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+36>>2]|0;a[v>>0]=a[8342+((c[g+(i<<6)+32>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+40>>2]|0;a[v+1>>0]=a[8342+(p+t)>>0]|0;t=d[u+3>>0]|0;p=c[g+(i<<6)+44>>2]|0;a[v+2>>0]=a[8342+(q+s)>>0]|0;u=u+8|0;a[v+3>>0]=a[8342+(p+t)>>0]|0;v=v+k|0;t=d[u+1>>0]|0;p=c[g+(i<<6)+52>>2]|0;a[v>>0]=a[8342+((c[g+(i<<6)+48>>2]|0)+(d[u>>0]|0))>>0]|0;s=d[u+2>>0]|0;q=c[g+(i<<6)+56>>2]|0;a[v+1>>0]=a[8342+(p+t)>>0]|0;u=d[u+3>>0]|0;t=c[g+(i<<6)+60>>2]|0;a[v+2>>0]=a[8342+(q+s)>>0]|0;a[v+3>>0]=a[8342+(t+u)>>0]|0}i=i+1|0}while((i|0)!=24);return}function we(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=g+c|0;p=(c|0)<0|(n|0)>(e|0)?5:4;k=(h+d|0)<0?0-h|0:d;n=(n|0)<0?0-g|0:c;k=(k|0)>(f|0)?f:k;n=(n|0)>(e|0)?e:n;o=n+g|0;l=k+h|0;c=(n|0)>0?a+n|0:a;m=c+(r(k,e)|0)|0;c=(k|0)>0?m:c;n=(n|0)<0?0-n|0:0;o=(o|0)>(e|0)?o-e|0:0;m=g-n-o|0;d=0-k|0;g=(k|0)<0?d:0;a=l-f|0;l=(l|0)>(f|0)?a:0;k=h-g-l|0;if(g){g=r(g,i)|0;f=b;while(1){_b[p&7](c,f,n,m,o);d=d+-1|0;if(!d)break;else f=f+i|0}b=b+g|0}if(k){j=r(k,e)|0;g=r(k,i)|0;f=b;h=c;d=k;while(1){_b[p&7](h,f,n,m,o);d=d+-1|0;if(!d)break;else{f=f+i|0;h=h+e|0}}b=b+g|0;c=c+j|0}c=c+(0-e)|0;if(!l)return;while(1){_b[p&7](c,b,n,m,o);a=a+-1|0;if(!a)break;else b=b+i|0}return}function xe(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;t=Nb;Nb=Nb+448|0;l=t;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)l=b;else{we(b,l,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=l+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Nb=t;return}o=g<<2;s=0-g|0;p=s<<1;q=g<<1;if(!i){Nb=t;return}n=e;m=e+(r(g,k+2|0)|0)|0;j=e+(g*5|0)|0;while(1){e=i;h=c;l=n;b=m;k=j;while(1){u=d[k+p>>0]|0;x=d[k+s>>0]|0;y=d[k+g>>0]|0;A=d[k>>0]|0;z=y+u|0;v=d[l+q>>0]|0;a[h+48>>0]=((d[8342+((d[k+q>>0]|0)+16-z-(z<<2)+v+((A+x|0)*20|0)>>5)>>0]|0)+1+(d[b+q>>0]|0)|0)>>>1;z=v+A|0;w=d[l+g>>0]|0;a[h+32>>0]=((d[8342+(y+16+((x+u|0)*20|0)-z-(z<<2)+w>>5)>>0]|0)+1+(d[b+g>>0]|0)|0)>>>1;z=w+x|0;y=d[l>>0]|0;a[h+16>>0]=((d[8342+(A+16+((v+u|0)*20|0)-z-(z<<2)+y>>5)>>0]|0)+1+(d[b>>0]|0)|0)>>>1;u=y+u|0;a[h>>0]=((d[8342+(x+16+((w+v|0)*20|0)-u-(u<<2)+(d[l+s>>0]|0)>>5)>>0]|0)+1+(d[b+s>>0]|0)|0)>>>1;e=e+-1|0;if(!e)break;else{h=h+1|0;l=l+1|0;b=b+1|0;k=k+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;n=n+o|0;m=m+o|0;j=j+o|0}}Nb=t;return}function ye(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=Nb;Nb=Nb+448|0;k=q;if(((e|0)>=0?!((f|0)<0|(i+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0)k=b;else{we(b,k,e,f,g,h,i,j+5|0,i);g=i;e=0;f=0}e=k+((r(f,g)|0)+e)+g|0;f=j>>>2;if(!f){Nb=q;return}m=g<<2;p=0-g|0;n=p<<1;o=g<<1;if(!i){Nb=q;return}l=e;b=e+(g*5|0)|0;while(1){e=i;h=c;k=l;j=b;while(1){s=d[j+n>>0]|0;v=d[j+p>>0]|0;w=d[j+g>>0]|0;y=d[j>>0]|0;x=w+s|0;t=d[k+o>>0]|0;a[h+48>>0]=a[8342+((d[j+o>>0]|0)+16-x-(x<<2)+t+((y+v|0)*20|0)>>5)>>0]|0;x=t+y|0;u=d[k+g>>0]|0;a[h+32>>0]=a[8342+(w+16+((v+s|0)*20|0)-x-(x<<2)+u>>5)>>0]|0;x=u+v|0;w=d[k>>0]|0;a[h+16>>0]=a[8342+(y+16+((t+s|0)*20|0)-x-(x<<2)+w>>5)>>0]|0;s=w+s|0;a[h>>0]=a[8342+(v+16+((u+t|0)*20|0)-s-(s<<2)+(d[k+p>>0]|0)>>5)>>0]|0;e=e+-1|0;if(!e)break;else{h=h+1|0;k=k+1|0;j=j+1|0}}f=f+-1|0;if(!f)break;else{c=c+64|0;l=l+m|0;b=b+m|0}}Nb=q;return}function ze(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=Nb;Nb=Nb+448|0;l=u;m=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{we(b,l,e,f,g,h,m,j,m);e=0;f=0}if(!j){Nb=u;return}p=i>>>2;t=(p|0)==0;q=m-i|0;s=16-i|0;o=(k|0)==0;n=i&-4;h=l+((r(f,m)|0)+e)+5|0;while(1){l=d[h+-5>>0]|0;m=d[h+-4>>0]|0;g=d[h+-3>>0]|0;e=d[h+-2>>0]|0;b=d[h+-1>>0]|0;do if(!t){i=h+n|0;if(o){k=c;f=b;b=p;while(1){v=m+f|0;w=m;m=d[h>>0]|0;a[k>>0]=(g+1+(d[8342+(l+16-v+((g+e|0)*20|0)-(v<<2)+m>>5)>>0]|0)|0)>>>1;v=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(e+1+(d[8342+(w+16+((e+f|0)*20|0)-v-(v<<2)+g>>5)>>0]|0)|0)>>>1;v=e+g|0;w=e;e=d[h+2>>0]|0;a[k+2>>0]=(f+1+(d[8342+(l+16+((f+m|0)*20|0)-v-(v<<2)+e>>5)>>0]|0)|0)>>>1;v=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(m+1+(d[8342+(w+16+((g+m|0)*20|0)-v-(v<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}else{k=c;f=b;b=p;while(1){w=m+f|0;v=m;m=d[h>>0]|0;a[k>>0]=(e+1+(d[8342+(l+16-w+((g+e|0)*20|0)-(w<<2)+m>>5)>>0]|0)|0)>>>1;w=g+m|0;l=g;g=d[h+1>>0]|0;a[k+1>>0]=(f+1+(d[8342+(v+16+((e+f|0)*20|0)-w-(w<<2)+g>>5)>>0]|0)|0)>>>1;w=e+g|0;v=e;e=d[h+2>>0]|0;a[k+2>>0]=(m+1+(d[8342+(l+16+((f+m|0)*20|0)-w-(w<<2)+e>>5)>>0]|0)|0)>>>1;w=f+e|0;l=d[h+3>>0]|0;a[k+3>>0]=(g+1+(d[8342+(v+16+((g+m|0)*20|0)-w-(w<<2)+l>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{w=f;k=k+4|0;h=h+4|0;f=l;l=w}}c=c+n|0;h=i;break}}while(0);j=j+-1|0;if(!j)break;else{c=c+s|0;h=h+q|0}}Nb=u;return}function Ae(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=Nb;Nb=Nb+448|0;l=y;m=i+5|0;if(((e|0)>=0?!((f|0)<0|(m+e|0)>>>0>g>>>0):0)?(j+5+f|0)>>>0<=h>>>0:0){l=b;m=g}else{we(b,l,e,f,g,h,m,j+5|0,m);e=0;f=0}x=l+((r(f,m)|0)+e)|0;f=x+(r(m,k>>>1&1|2)|0)+5|0;x=x+m+2+(k&1)|0;do if(!j)f=c;else{u=i>>>2;v=m-i|0;w=16-i|0;if(!u){f=c+((r(j+-1|0,w)|0)+16-i)|0;break}s=i&-4;q=(r(s+16-i|0,j+-1|0)|0)+s+16-i|0;t=c;p=j;while(1){b=f+s|0;h=t;l=f;g=d[f+-1>>0]|0;k=d[f+-2>>0]|0;n=d[f+-3>>0]|0;o=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=u;while(1){z=o+g|0;A=o;o=d[l>>0]|0;a[h>>0]=a[8342+(f+16-z+((n+k|0)*20|0)-(z<<2)+o>>5)>>0]|0;z=n+o|0;f=n;n=d[l+1>>0]|0;a[h+1>>0]=a[8342+(A+16+((k+g|0)*20|0)-z-(z<<2)+n>>5)>>0]|0;z=k+n|0;A=k;k=d[l+2>>0]|0;a[h+2>>0]=a[8342+(f+16+((g+o|0)*20|0)-z-(z<<2)+k>>5)>>0]|0;z=g+k|0;f=d[l+3>>0]|0;a[h+3>>0]=a[8342+(A+16+((n+o|0)*20|0)-z-(z<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{A=g;h=h+4|0;l=l+4|0;g=f;f=A}}p=p+-1|0;if(!p)break;else{t=t+s+w|0;f=b+v|0}}f=c+q|0}while(0);e=j>>>2;if(!e){Nb=y;return}q=m<<2;s=0-m|0;o=s<<1;p=m<<1;if(!i){Nb=y;return}k=f+(0-(j<<4))|0;n=x;g=x+(m*5|0)|0;while(1){f=k;h=n;l=g;b=i;while(1){A=d[l+o>>0]|0;c=d[l+s>>0]|0;w=d[l+m>>0]|0;u=d[l>>0]|0;j=w+A|0;z=d[h+p>>0]|0;v=f+48|0;a[v>>0]=((d[8342+((d[l+p>>0]|0)+16-j-(j<<2)+z+((u+c|0)*20|0)>>5)>>0]|0)+1+(d[v>>0]|0)|0)>>>1;v=z+u|0;j=d[h+m>>0]|0;x=f+32|0;a[x>>0]=((d[8342+(w+16+((c+A|0)*20|0)-v-(v<<2)+j>>5)>>0]|0)+1+(d[x>>0]|0)|0)>>>1;x=d[h>>0]|0;v=j+c|0;w=f+16|0;a[w>>0]=((d[8342+(u+16+((z+A|0)*20|0)-v-(v<<2)+x>>5)>>0]|0)+1+(d[w>>0]|0)|0)>>>1;A=x+A|0;a[f>>0]=((d[8342+(c+16+((j+z|0)*20|0)-A-(A<<2)+(d[h+s>>0]|0)>>5)>>0]|0)+1+(d[f>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{f=f+1|0;h=h+1|0;l=l+1|0}}e=e+-1|0;if(!e)break;else{k=k+64|0;n=n+q|0;g=g+q|0}}Nb=y;return}function Be(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;A=Nb;Nb=Nb+1792|0;m=A+1344|0;z=A;q=j+5|0;if(((f|0)>=0?!((g|0)<0|(q+f|0)>>>0>h>>>0):0)?(k+5+g|0)>>>0<=i>>>0:0)m=b;else{we(b,m,f,g,h,i,q,k+5|0,q);h=q;f=0;g=0}g=m+((r(g,h)|0)+f)+h|0;f=k>>>2;if(f|0?(v=h<<2,w=q*3|0,x=0-h|0,s=x<<1,t=h<<1,u=q<<1,y=-5-j|0,q|0):0){i=z+(q<<2)|0;p=g;o=g+(h*5|0)|0;while(1){n=i+(q<<2)|0;g=p;m=o;b=q;while(1){B=d[m+s>>0]|0;C=d[m+x>>0]|0;G=d[m+h>>0]|0;H=d[m>>0]|0;F=G+B|0;D=d[g+t>>0]|0;c[i+(u<<2)>>2]=(d[m+t>>0]|0)-F-(F<<2)+D+((H+C|0)*20|0);F=D+H|0;E=d[g+h>>0]|0;c[i+(q<<2)>>2]=((C+B|0)*20|0)+G-F-(F<<2)+E;F=d[g>>0]|0;G=E+C|0;c[i>>2]=((D+B|0)*20|0)+H-G-(G<<2)+F;B=F+B|0;c[i+(y<<2)>>2]=((E+D|0)*20|0)+C-B-(B<<2)+(d[g+x>>0]|0);b=b+-1|0;if(!b)break;else{i=i+4|0;g=g+1|0;m=m+1|0}}f=f+-1|0;if(!f)break;else{i=n+(w<<2)|0;p=p+v|0;o=o+v|0}}}if(!k){Nb=A;return}u=j>>>2;w=(u|0)==0;v=16-j|0;t=j&-4;g=z+8+(l<<2)|0;f=z+20|0;while(1){if(!w){s=g+(t<<2)|0;q=e;m=f;b=c[f+-4>>2]|0;h=c[f+-8>>2]|0;n=c[f+-12>>2]|0;o=c[f+-16>>2]|0;i=c[f+-20>>2]|0;p=u;while(1){H=o+b|0;G=o;o=c[m>>2]|0;a[q>>0]=((d[8342+(i+512-H+((n+h|0)*20|0)-(H<<2)+o>>10)>>0]|0)+1+(d[8342+((c[g>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=o+n|0;i=n;n=c[m+4>>2]|0;a[q+1>>0]=((d[8342+(G+512+((h+b|0)*20|0)-H-(H<<2)+n>>10)>>0]|0)+1+(d[8342+((c[g+4>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=n+h|0;G=h;h=c[m+8>>2]|0;a[q+2>>0]=((d[8342+(i+512+((o+b|0)*20|0)-H-(H<<2)+h>>10)>>0]|0)+1+(d[8342+((c[g+8>>2]|0)+16>>5)>>0]|0)|0)>>>1;H=h+b|0;i=c[m+12>>2]|0;a[q+3>>0]=((d[8342+(G+512+((n+o|0)*20|0)-H-(H<<2)+i>>10)>>0]|0)+1+(d[8342+((c[g+12>>2]|0)+16>>5)>>0]|0)|0)>>>1;p=p+-1|0;if(!p)break;else{H=b;q=q+4|0;g=g+16|0;m=m+16|0;b=i;i=H}}e=e+t|0;g=s;f=f+(t<<2)|0}k=k+-1|0;if(!k)break;else{e=e+v|0;g=g+20|0;f=f+20|0}}Nb=A;return}function Ce(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=Nb;Nb=Nb+448|0;k=s;l=i+5|0;if((e|0)>=0?!((j+f|0)>>>0>h>>>0|((f|0)<0|(l+e|0)>>>0>g>>>0)):0){k=b;l=g}else{we(b,k,e,f,g,h,l,j,l);e=0;f=0}f=k+((r(f,l)|0)+e)+5|0;if(!j){Nb=s;return}q=i>>>2;o=l-i|0;p=16-i|0;if(!q){Nb=s;return}n=i&-4;m=c;while(1){b=f+n|0;h=m;k=f;l=d[f+-1>>0]|0;g=d[f+-2>>0]|0;i=d[f+-3>>0]|0;c=d[f+-4>>0]|0;f=d[f+-5>>0]|0;e=q;while(1){t=c+l|0;u=c;c=d[k>>0]|0;a[h>>0]=a[8342+(f+16-t+((i+g|0)*20|0)-(t<<2)+c>>5)>>0]|0;t=i+c|0;f=i;i=d[k+1>>0]|0;a[h+1>>0]=a[8342+(u+16+((g+l|0)*20|0)-t-(t<<2)+i>>5)>>0]|0;t=g+i|0;u=g;g=d[k+2>>0]|0;a[h+2>>0]=a[8342+(f+16+((l+c|0)*20|0)-t-(t<<2)+g>>5)>>0]|0;t=l+g|0;f=d[k+3>>0]|0;a[h+3>>0]=a[8342+(u+16+((i+c|0)*20|0)-t-(t<<2)+f>>5)>>0]|0;e=e+-1|0;if(!e)break;else{u=l;h=h+4|0;k=k+4|0;l=f;f=u}}j=j+-1|0;if(!j)break;else{m=m+n+p|0;f=b+o|0}}Nb=s;return}function De(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=Nb;Nb=Nb+1792|0;n=x+1344|0;w=x;o=j+5|0;if(((f|0)>=0?!((g|0)<0|(o+f|0)>>>0>h>>>0):0)?(m=k+5|0,(m+g|0)>>>0<=i>>>0):0){n=b;i=h}else{m=k+5|0;we(b,n,f,g,h,i,o,m,o);i=o;f=0;g=0}g=n+((r(g,i)|0)+f)+5|0;if(m|0?(u=j>>>2,v=i-j|0,u|0):0){s=j&-4;t=w;while(1){b=g+s|0;i=t;n=g;o=d[g+-1>>0]|0;h=d[g+-2>>0]|0;p=d[g+-3>>0]|0;q=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=u;while(1){y=q+o|0;z=q;q=d[n>>0]|0;c[i>>2]=g-y+((p+h|0)*20|0)-(y<<2)+q;y=p+q|0;g=p;p=d[n+1>>0]|0;c[i+4>>2]=((h+o|0)*20|0)+z-y-(y<<2)+p;y=h+p|0;z=h;h=d[n+2>>0]|0;c[i+8>>2]=((o+q|0)*20|0)+g-y-(y<<2)+h;y=o+h|0;g=d[n+3>>0]|0;c[i+12>>2]=((p+q|0)*20|0)+z-y-(y<<2)+g;f=f+-1|0;if(!f)break;else{z=o;i=i+16|0;n=n+4|0;o=g;g=z}}m=m+-1|0;if(!m)break;else{t=t+(s<<2)|0;g=b+v|0}}}g=w+(j<<2)|0;f=k>>>2;if(!f){Nb=x;return}k=(j|0)==0;v=64-j|0;t=j*3|0;w=0-j|0;u=w<<1;s=j<<1;n=e;m=g;i=g+((r(l+2|0,j)|0)<<2)|0;g=g+(j*5<<2)|0;while(1){if(!k){q=g+(j<<2)|0;p=m+(j<<2)|0;h=n;o=i;b=j;while(1){z=c[g+(u<<2)>>2]|0;e=c[g+(w<<2)>>2]|0;B=c[g+(j<<2)>>2]|0;C=c[g>>2]|0;A=B+z|0;y=c[m+(s<<2)>>2]|0;a[h+48>>0]=((d[8342+((c[g+(s<<2)>>2]|0)+512-A-(A<<2)+y+((C+e|0)*20|0)>>10)>>0]|0)+1+(d[8342+((c[o+(s<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=y+C|0;l=c[m+(j<<2)>>2]|0;a[h+32>>0]=((d[8342+(B+512+((e+z|0)*20|0)-A-(A<<2)+l>>10)>>0]|0)+1+(d[8342+((c[o+(j<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;A=c[m>>2]|0;B=l+e|0;a[h+16>>0]=((d[8342+(C+512+((y+z|0)*20|0)-B-(B<<2)+A>>10)>>0]|0)+1+(d[8342+((c[o>>2]|0)+16>>5)>>0]|0)|0)>>>1;z=A+z|0;a[h>>0]=((d[8342+(e+512+((l+y|0)*20|0)-z-(z<<2)+(c[m+(w<<2)>>2]|0)>>10)>>0]|0)+1+(d[8342+((c[o+(w<<2)>>2]|0)+16>>5)>>0]|0)|0)>>>1;b=b+-1|0;if(!b)break;else{h=h+1|0;m=m+4|0;o=o+4|0;g=g+4|0}}n=n+j|0;m=p;i=i+(j<<2)|0;g=q}f=f+-1|0;if(!f)break;else{n=n+v|0;m=m+(t<<2)|0;i=i+(t<<2)|0;g=g+(t<<2)|0}}Nb=x;return}function Ee(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=Nb;Nb=Nb+1792|0;m=w+1344|0;v=w;n=j+5|0;if(((f|0)>=0?!((g|0)<0|(n+f|0)>>>0>h>>>0):0)?(l=k+5|0,(l+g|0)>>>0<=i>>>0):0){m=b;i=h}else{l=k+5|0;we(b,m,f,g,h,i,n,l,n);i=n;f=0;g=0}g=m+((r(g,i)|0)+f)+5|0;if(l|0?(t=j>>>2,u=i-j|0,t|0):0){q=j&-4;s=v;while(1){b=g+q|0;i=s;m=g;n=d[g+-1>>0]|0;h=d[g+-2>>0]|0;o=d[g+-3>>0]|0;p=d[g+-4>>0]|0;g=d[g+-5>>0]|0;f=t;while(1){x=p+n|0;y=p;p=d[m>>0]|0;c[i>>2]=g-x+((o+h|0)*20|0)-(x<<2)+p;x=o+p|0;g=o;o=d[m+1>>0]|0;c[i+4>>2]=((h+n|0)*20|0)+y-x-(x<<2)+o;x=h+o|0;y=h;h=d[m+2>>0]|0;c[i+8>>2]=((n+p|0)*20|0)+g-x-(x<<2)+h;x=n+h|0;g=d[m+3>>0]|0;c[i+12>>2]=((o+p|0)*20|0)+y-x-(x<<2)+g;f=f+-1|0;if(!f)break;else{y=n;i=i+16|0;m=m+4|0;n=g;g=y}}l=l+-1|0;if(!l)break;else{s=s+(q<<2)|0;g=b+u|0}}}g=v+(j<<2)|0;f=k>>>2;if(!f){Nb=w;return}o=j*3|0;q=0-j|0;p=q<<1;h=j<<1;if(!j){Nb=w;return}n=g;b=g+(j*5<<2)|0;while(1){g=e;l=n;i=b;m=j;while(1){y=c[i+(p<<2)>>2]|0;v=c[i+(q<<2)>>2]|0;t=c[i+(j<<2)>>2]|0;s=c[i>>2]|0;u=t+y|0;x=c[l+(h<<2)>>2]|0;a[g+48>>0]=a[8342+((c[i+(h<<2)>>2]|0)+512-u-(u<<2)+x+((s+v|0)*20|0)>>10)>>0]|0;u=x+s|0;k=c[l+(j<<2)>>2]|0;a[g+32>>0]=a[8342+(t+512+((v+y|0)*20|0)-u-(u<<2)+k>>10)>>0]|0;u=c[l>>2]|0;t=k+v|0;a[g+16>>0]=a[8342+(s+512+((x+y|0)*20|0)-t-(t<<2)+u>>10)>>0]|0;y=u+y|0;a[g>>0]=a[8342+(v+512+((k+x|0)*20|0)-y-(y<<2)+(c[l+(q<<2)>>2]|0)>>10)>>0]|0;m=m+-1|0;if(!m)break;else{g=g+1|0;l=l+4|0;i=i+4|0}}f=f+-1|0;if(!f)break;else{e=e+64|0;n=n+(j<<2)+(o<<2)|0;b=b+(j<<2)+(o<<2)|0}}Nb=w;return}function Fe(b,c,e,f,g,h,i,j,k,l){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=Nb;Nb=Nb+176|0;m=D;n=k+1|0;if(((e|0)>=0?!((f|0)<0|(n+e|0)>>>0>g>>>0):0)?(l+1+f|0)>>>0<=h>>>0:0){m=b;n=g}else{C=l+1|0;we(b,m,e,f,g,h,n,C,n);we(b+(r(h,g)|0)|0,m+(r(C,n)|0)|0,e,f,g,h,n,C,n);h=C;e=0;f=0}B=8-i|0;C=8-j|0;l=l>>>1;u=(l|0)==0;x=n<<1;y=k>>>1;v=(y|0)==0;z=16-k|0;A=x-k|0;w=k&-2;if(u|v){Nb=D;return}k=c;b=m+(r(f,n)|0)+e|0;t=l;while(1){g=d[b+n>>0]|0;q=b+w|0;o=k;p=b;s=(r(g,j)|0)+(r(C,d[b>>0]|0)|0)|0;b=(r(d[b+x>>0]|0,j)|0)+(r(C,g)|0)|0;g=y;while(1){G=p+1|0;F=d[G+n>>0]|0;E=(r(F,j)|0)+(r(C,d[G>>0]|0)|0)|0;F=(r(d[G+x>>0]|0,j)|0)+(r(C,F)|0)|0;G=((r(s,B)|0)+32+(r(E,i)|0)|0)>>>6;a[o+8>>0]=((r(b,B)|0)+32+(r(F,i)|0)|0)>>>6;a[o>>0]=G;p=p+2|0;G=d[p+n>>0]|0;s=(r(G,j)|0)+(r(C,d[p>>0]|0)|0)|0;b=(r(d[p+x>>0]|0,j)|0)+(r(C,G)|0)|0;E=((r(E,B)|0)+32+(r(s,i)|0)|0)>>>6;a[o+9>>0]=((r(F,B)|0)+32+(r(b,i)|0)|0)>>>6;a[o+1>>0]=E;g=g+-1|0;if(!g)break;else o=o+2|0}t=t+-1|0;if(!t)break;else{k=k+w+z|0;b=q+A|0}}if(u|v){Nb=D;return}k=c+64|0;h=m+(r(h+f|0,n)|0)+e|0;while(1){m=d[h+n>>0]|0;e=h+w|0;b=k;g=h;f=(r(m,j)|0)+(r(C,d[h>>0]|0)|0)|0;h=(r(d[h+x>>0]|0,j)|0)+(r(C,m)|0)|0;m=y;while(1){E=g+1|0;F=d[E+n>>0]|0;G=(r(F,j)|0)+(r(C,d[E>>0]|0)|0)|0;F=(r(d[E+x>>0]|0,j)|0)+(r(C,F)|0)|0;E=((r(f,B)|0)+32+(r(G,i)|0)|0)>>>6;a[b+8>>0]=((r(h,B)|0)+32+(r(F,i)|0)|0)>>>6;a[b>>0]=E;g=g+2|0;E=d[g+n>>0]|0;f=(r(E,j)|0)+(r(C,d[g>>0]|0)|0)|0;h=(r(d[g+x>>0]|0,j)|0)+(r(C,E)|0)|0;G=((r(G,B)|0)+32+(r(f,i)|0)|0)>>>6;a[b+9>>0]=((r(F,B)|0)+32+(r(h,i)|0)|0)>>>6;a[b+1>>0]=G;m=m+-1|0;if(!m)break;else b=b+2|0}l=l+-1|0;if(!l)break;else{k=k+w+z|0;h=e+A|0}}Nb=D;return}function Ge(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=Nb;Nb=Nb+144|0;l=y;m=j+1|0;if((e|0)>=0?!((k+f|0)>>>0>h>>>0|((f|0)<0|(m+e|0)>>>0>g>>>0)):0){l=b;m=g}else{we(b,l,e,f,g,h,m,k,m);we(b+(r(h,g)|0)|0,l+(r(m,k)|0)|0,e,f,g,h,m,k,m);h=k;e=0;f=0}x=8-i|0;s=k>>>1;q=(s|0)==0;u=j>>>1;p=(u|0)==0;v=16-j|0;w=(m<<1)-j|0;t=j&-2;if(q|p){Nb=y;return}k=c;b=l+(r(f,m)|0)+e|0;o=s;while(1){n=b+t|0;j=k;g=u;while(1){z=b+1|0;A=d[b>>0]|0;B=d[z+m>>0]|0;z=d[z>>0]|0;a[j+8>>0]=(((r(B,i)|0)+(r(x,d[b+m>>0]|0)|0)<<3)+32|0)>>>6;b=b+2|0;a[j>>0]=(((r(z,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[b>>0]|0;a[j+9>>0]=(((r(d[b+m>>0]|0,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;a[j+1>>0]=(((r(A,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;g=g+-1|0;if(!g)break;else j=j+2|0}o=o+-1|0;if(!o)break;else{k=k+t+v|0;b=n+w|0}}if(q|p){Nb=y;return}k=c+64|0;h=l+(r(h+f|0,m)|0)+e|0;e=s;while(1){g=h+t|0;b=k;l=u;while(1){B=h+1|0;A=d[h>>0]|0;z=d[B+m>>0]|0;B=d[B>>0]|0;a[b+8>>0]=(((r(z,i)|0)+(r(x,d[h+m>>0]|0)|0)<<3)+32|0)>>>6;h=h+2|0;a[b>>0]=(((r(B,i)|0)+(r(x,A)|0)<<3)+32|0)>>>6;A=d[h>>0]|0;a[b+9>>0]=(((r(d[h+m>>0]|0,i)|0)+(r(x,z)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(A,i)|0)+(r(x,B)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else b=b+2|0}e=e+-1|0;if(!e)break;else{k=k+t+v|0;h=g+w|0}}Nb=y;return}function He(b,c,e,f,g,h,i,j,k){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Nb;Nb=Nb+144|0;l=z;if(((e|0)>=0?!((f|0)<0|(j+e|0)>>>0>g>>>0):0)?(k+1+f|0)>>>0<=h>>>0:0)l=b;else{y=k+1|0;we(b,l,e,f,g,h,j,y,j);we(b+(r(h,g)|0)|0,l+(r(y,j)|0)|0,e,f,g,h,j,y,j);h=y;g=j;e=0;f=0}y=8-i|0;s=k>>>1;q=(s|0)==0;v=j>>>1;p=(v|0)==0;w=16-j|0;u=g<<1;x=u-j|0;t=j&-2;if(q|p){Nb=z;return}j=c;b=l+(r(f,g)|0)+e|0;o=s;while(1){n=b+t|0;m=j;k=v;while(1){A=d[b+g>>0]|0;C=b+1|0;B=d[b>>0]|0;a[m+8>>0]=(((r(y,A)|0)+(r(d[b+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;A=d[C+g>>0]|0;B=d[C>>0]|0;a[m+9>>0]=(((r(y,A)|0)+(r(d[C+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[m+1>>0]=(((r(y,B)|0)+(r(A,i)|0)<<3)+32|0)>>>6;k=k+-1|0;if(!k)break;else{m=m+2|0;b=b+2|0}}o=o+-1|0;if(!o)break;else{j=j+t+w|0;b=n+x|0}}if(q|p){Nb=z;return}k=c+64|0;h=l+(r(h+f|0,g)|0)+e|0;f=s;while(1){e=h+t|0;b=k;l=v;while(1){C=d[h+g>>0]|0;A=h+1|0;B=d[h>>0]|0;a[b+8>>0]=(((r(y,C)|0)+(r(d[h+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;C=d[A+g>>0]|0;B=d[A>>0]|0;a[b+9>>0]=(((r(y,C)|0)+(r(d[A+u>>0]|0,i)|0)<<3)+32|0)>>>6;a[b+1>>0]=(((r(y,B)|0)+(r(C,i)|0)<<3)+32|0)>>>6;l=l+-1|0;if(!l)break;else{b=b+2|0;h=h+2|0}}f=f+-1|0;if(!f)break;else{k=k+t+w|0;h=e+x|0}}Nb=z;return}function Ie(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if(d){ri(c|0,a[b>>0]|0,d|0)|0;c=c+d|0}if(e){h=b+e|0;d=e;g=c;while(1){a[g>>0]=a[b>>0]|0;d=d+-1|0;if(!d)break;else{g=g+1|0;b=b+1|0}}c=c+e|0;b=h}if(!f)return;ri(c|0,a[b+-1>>0]|0,f|0)|0;return}function Je(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ne(b,a,d);return}function Ke(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!f)return;m=c[b+4>>2]|0;n=r(c[b+8>>2]|0,m)|0;j=(f>>>0)/(m>>>0)|0;k=f-(r(j,m)|0)|0;h=m<<4;g=(c[b>>2]|0)+(r(m<<8,j)|0)+(k<<4)|0;l=m>>>0<=f>>>0;if(l){f=g+(0-(h|1))|0;i=f+1|0;a[d>>0]=a[f>>0]|0;f=i+1|0;a[d+1>>0]=a[i>>0]|0;i=f+1|0;a[d+2>>0]=a[f>>0]|0;f=i+1|0;a[d+3>>0]=a[i>>0]|0;i=f+1|0;a[d+4>>0]=a[f>>0]|0;f=i+1|0;a[d+5>>0]=a[i>>0]|0;i=f+1|0;a[d+6>>0]=a[f>>0]|0;f=i+1|0;a[d+7>>0]=a[i>>0]|0;i=f+1|0;a[d+8>>0]=a[f>>0]|0;f=i+1|0;a[d+9>>0]=a[i>>0]|0;i=f+1|0;a[d+10>>0]=a[f>>0]|0;f=i+1|0;a[d+11>>0]=a[i>>0]|0;i=f+1|0;a[d+12>>0]=a[f>>0]|0;f=i+1|0;a[d+13>>0]=a[i>>0]|0;i=f+1|0;a[d+14>>0]=a[f>>0]|0;f=i+1|0;a[d+15>>0]=a[i>>0]|0;i=f+1|0;a[d+16>>0]=a[f>>0]|0;f=i+1|0;a[d+17>>0]=a[i>>0]|0;i=f+1|0;a[d+18>>0]=a[f>>0]|0;a[d+19>>0]=a[i>>0]|0;a[d+20>>0]=a[i+1>>0]|0;d=d+21|0}i=(k|0)!=0;if(i){g=g+-1|0;a[e>>0]=a[g>>0]|0;g=g+h|0;a[e+1>>0]=a[g>>0]|0;g=g+h|0;a[e+2>>0]=a[g>>0]|0;g=g+h|0;a[e+3>>0]=a[g>>0]|0;g=g+h|0;a[e+4>>0]=a[g>>0]|0;g=g+h|0;a[e+5>>0]=a[g>>0]|0;g=g+h|0;a[e+6>>0]=a[g>>0]|0;g=g+h|0;a[e+7>>0]=a[g>>0]|0;g=g+h|0;a[e+8>>0]=a[g>>0]|0;g=g+h|0;a[e+9>>0]=a[g>>0]|0;g=g+h|0;a[e+10>>0]=a[g>>0]|0;g=g+h|0;a[e+11>>0]=a[g>>0]|0;g=g+h|0;a[e+12>>0]=a[g>>0]|0;g=g+h|0;a[e+13>>0]=a[g>>0]|0;g=g+h|0;a[e+14>>0]=a[g>>0]|0;a[e+15>>0]=a[g+h>>0]|0;e=e+16|0}g=m<<3&2147483640;f=(c[b>>2]|0)+(n<<8)+(r(j<<3,g)|0)+(k<<3)|0;if(l){k=f+(0-(g|1))|0;l=k+1|0;a[d>>0]=a[k>>0]|0;k=l+1|0;a[d+1>>0]=a[l>>0]|0;l=k+1|0;a[d+2>>0]=a[k>>0]|0;k=l+1|0;a[d+3>>0]=a[l>>0]|0;l=k+1|0;a[d+4>>0]=a[k>>0]|0;k=l+1|0;a[d+5>>0]=a[l>>0]|0;l=k+1|0;a[d+6>>0]=a[k>>0]|0;k=l+1|0;a[d+7>>0]=a[l>>0]|0;a[d+8>>0]=a[k>>0]|0;k=k+1+((n<<6)+-9)|0;l=k+1|0;a[d+9>>0]=a[k>>0]|0;k=l+1|0;a[d+10>>0]=a[l>>0]|0;l=k+1|0;a[d+11>>0]=a[k>>0]|0;k=l+1|0;a[d+12>>0]=a[l>>0]|0;l=k+1|0;a[d+13>>0]=a[k>>0]|0;k=l+1|0;a[d+14>>0]=a[l>>0]|0;l=k+1|0;a[d+15>>0]=a[k>>0]|0;a[d+16>>0]=a[l>>0]|0;a[d+17>>0]=a[l+1>>0]|0}if(!i)return;l=f+-1|0;a[e>>0]=a[l>>0]|0;l=l+g|0;a[e+1>>0]=a[l>>0]|0;l=l+g|0;a[e+2>>0]=a[l>>0]|0;l=l+g|0;a[e+3>>0]=a[l>>0]|0;l=l+g|0;a[e+4>>0]=a[l>>0]|0;l=l+g|0;a[e+5>>0]=a[l>>0]|0;l=l+g|0;a[e+6>>0]=a[l>>0]|0;l=l+g|0;a[e+7>>0]=a[l>>0]|0;n=l+g+(n-m<<6)|0;a[e+8>>0]=a[n>>0]|0;n=n+g|0;a[e+9>>0]=a[n>>0]|0;n=n+g|0;a[e+10>>0]=a[n>>0]|0;n=n+g|0;a[e+11>>0]=a[n>>0]|0;n=n+g|0;a[e+12>>0]=a[n>>0]|0;n=n+g|0;a[e+13>>0]=a[n>>0]|0;n=n+g|0;a[e+14>>0]=a[n>>0]|0;a[e+15>>0]=a[n+g>>0]|0;return}function Le(a){a=a|0;return (a>>>0<6?2:(a|0)!=6&1)|0}function Me(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=b+200|0;j=Pe(b,c[k>>2]|0)|0;m=(i|0)!=0;if(m&(j|0)!=0){y=(Le(c[c[k>>2]>>2]|0)|0)==2;j=y?0:j}k=b+204|0;i=Pe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){l=(Le(c[c[k>>2]>>2]|0)|0)==2;l=l?0:i}else l=i;k=b+212|0;i=Pe(b,c[k>>2]|0)|0;if(m&(i|0)!=0){y=(Le(c[c[k>>2]>>2]|0)|0)==2;i=y?0:i}switch(Ve(c[b>>2]|0)|0){case 0:{if(!l){f=1;return f|0}l=g+1|0;m=g+2|0;q=g+3|0;s=g+4|0;t=g+5|0;u=g+6|0;v=g+7|0;w=g+8|0;x=g+9|0;y=g+10|0;b=g+11|0;h=g+12|0;n=g+13|0;o=g+14|0;p=g+15|0;i=g+16|0;j=e;k=0;while(1){a[j>>0]=a[l>>0]|0;a[j+1>>0]=a[m>>0]|0;a[j+2>>0]=a[q>>0]|0;a[j+3>>0]=a[s>>0]|0;a[j+4>>0]=a[t>>0]|0;a[j+5>>0]=a[u>>0]|0;a[j+6>>0]=a[v>>0]|0;a[j+7>>0]=a[w>>0]|0;a[j+8>>0]=a[x>>0]|0;a[j+9>>0]=a[y>>0]|0;a[j+10>>0]=a[b>>0]|0;a[j+11>>0]=a[h>>0]|0;a[j+12>>0]=a[n>>0]|0;a[j+13>>0]=a[o>>0]|0;a[j+14>>0]=a[p>>0]|0;a[j+15>>0]=a[i>>0]|0;k=k+1|0;if((k|0)==16)break;else j=j+16|0}break}case 1:{if(!j){f=1;return f|0}i=e;j=0;while(1){g=h+j|0;a[i>>0]=a[g>>0]|0;a[i+1>>0]=a[g>>0]|0;a[i+2>>0]=a[g>>0]|0;a[i+3>>0]=a[g>>0]|0;a[i+4>>0]=a[g>>0]|0;a[i+5>>0]=a[g>>0]|0;a[i+6>>0]=a[g>>0]|0;a[i+7>>0]=a[g>>0]|0;a[i+8>>0]=a[g>>0]|0;a[i+9>>0]=a[g>>0]|0;a[i+10>>0]=a[g>>0]|0;a[i+11>>0]=a[g>>0]|0;a[i+12>>0]=a[g>>0]|0;a[i+13>>0]=a[g>>0]|0;a[i+14>>0]=a[g>>0]|0;a[i+15>>0]=a[g>>0]|0;j=j+1|0;if((j|0)==16)break;else i=i+16|0}break}case 2:{k=g+1|0;j=(j|0)!=0;i=(l|0)!=0;do if(!(j&i)){if(j){i=((d[h>>0]|0)+8+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)+(d[h+4>>0]|0)+(d[h+5>>0]|0)+(d[h+6>>0]|0)+(d[h+7>>0]|0)+(d[h+8>>0]|0)+(d[h+9>>0]|0)+(d[h+10>>0]|0)+(d[h+11>>0]|0)+(d[h+12>>0]|0)+(d[h+13>>0]|0)+(d[h+14>>0]|0)+(d[h+15>>0]|0)|0)>>>4;break}if(i)i=((d[k>>0]|0)+8+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)+(d[g+9>>0]|0)+(d[g+10>>0]|0)+(d[g+11>>0]|0)+(d[g+12>>0]|0)+(d[g+13>>0]|0)+(d[g+14>>0]|0)+(d[g+15>>0]|0)+(d[g+16>>0]|0)|0)>>>4;else i=128}else i=((d[k>>0]|0)+16+(d[h>>0]|0)+(d[g+2>>0]|0)+(d[h+1>>0]|0)+(d[g+3>>0]|0)+(d[h+2>>0]|0)+(d[g+4>>0]|0)+(d[h+3>>0]|0)+(d[g+5>>0]|0)+(d[h+4>>0]|0)+(d[g+6>>0]|0)+(d[h+5>>0]|0)+(d[g+7>>0]|0)+(d[h+6>>0]|0)+(d[g+8>>0]|0)+(d[h+7>>0]|0)+(d[g+9>>0]|0)+(d[h+8>>0]|0)+(d[g+10>>0]|0)+(d[h+9>>0]|0)+(d[g+11>>0]|0)+(d[h+10>>0]|0)+(d[g+12>>0]|0)+(d[h+11>>0]|0)+(d[g+13>>0]|0)+(d[h+12>>0]|0)+(d[g+14>>0]|0)+(d[h+13>>0]|0)+(d[g+15>>0]|0)+(d[h+14>>0]|0)+(d[g+16>>0]|0)+(d[h+15>>0]|0)|0)>>>5;while(0);ri(e|0,i&255|0,256)|0;break}default:{if(!((j|0)!=0&(l|0)!=0&(i|0)!=0)){f=1;return f|0}w=d[g+16>>0]|0;u=d[h+15>>0]|0;v=d[g>>0]|0;x=u+w<<4;w=(((d[g+9>>0]|0)-(d[g+7>>0]|0)+((d[g+10>>0]|0)-(d[g+6>>0]|0)<<1)+(((d[g+11>>0]|0)-(d[g+5>>0]|0)|0)*3|0)+((d[g+12>>0]|0)-(d[g+4>>0]|0)<<2)+(((d[g+13>>0]|0)-(d[g+3>>0]|0)|0)*5|0)+(((d[g+14>>0]|0)-(d[g+2>>0]|0)|0)*6|0)+(((d[g+15>>0]|0)-(d[g+1>>0]|0)|0)*7|0)+(w-v<<3)|0)*5|0)+32>>6;v=(((d[h+8>>0]|0)-(d[h+6>>0]|0)+(u-v<<3)+((d[h+9>>0]|0)-(d[h+5>>0]|0)<<1)+(((d[h+10>>0]|0)-(d[h+4>>0]|0)|0)*3|0)+((d[h+11>>0]|0)-(d[h+3>>0]|0)<<2)+(((d[h+12>>0]|0)-(d[h+2>>0]|0)|0)*5|0)+(((d[h+13>>0]|0)-(d[h+1>>0]|0)|0)*6|0)+(((d[h+14>>0]|0)-(d[h>>0]|0)|0)*7|0)|0)*5|0)+32>>6;u=r(w,-7)|0;j=r(w,-6)|0;o=r(w,-5)|0;p=r(w,-4)|0;q=r(w,-3)|0;s=r(w,-2)|0;t=w<<1;k=w*3|0;l=w<<2;m=w*5|0;b=w*6|0;h=w*7|0;n=w<<3;i=0;do{z=(r(i+-7|0,v)|0)+x|0;g=i<<4;y=z+u|0;A=y+16>>5;a[e+g>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+j|0;y=A+16>>5;a[e+(g|1)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+o|0;A=y+16>>5;a[e+(g|2)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+p|0;y=A+16>>5;a[e+(g|3)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+q|0;A=y+16>>5;a[e+(g|4)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+s|0;y=A+16>>5;a[e+(g|5)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z-w|0;A=y+16>>5;a[e+(g|6)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+16>>5;a[e+(g|7)>>0]=(z|0)<-16?0:((A|0)<255?A:255)&255;A=z+w|0;y=A+16>>5;a[e+(g|8)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+t|0;A=y+16>>5;a[e+(g|9)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+k|0;y=A+16>>5;a[e+(g|10)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+l|0;A=y+16>>5;a[e+(g|11)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+m|0;y=A+16>>5;a[e+(g|12)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;y=z+b|0;A=y+16>>5;a[e+(g|13)>>0]=(y|0)<-16?0:((A|0)<255?A:255)&255;A=z+h|0;y=A+16>>5;a[e+(g|14)>>0]=(A|0)<-16?0:((y|0)<255?y:255)&255;z=z+n|0;y=z+16>>5;a[e+(g|15)>>0]=(z|0)<-16?0:((y|0)<255?y:255)&255;i=i+1|0}while((i|0)!=16)}}Qe(e,f,0);Qe(e,f+64|0,1);Qe(e,f+128|0,2);Qe(e,f+192|0,3);Qe(e,f+256|0,4);Qe(e,f+320|0,5);Qe(e,f+384|0,6);Qe(e,f+448|0,7);Qe(e,f+512|0,8);Qe(e,f+576|0,9);Qe(e,f+640|0,10);Qe(e,f+704|0,11);Qe(e,f+768|0,12);Qe(e,f+832|0,13);Qe(e,f+896|0,14);Qe(e,f+960|0,15);A=0;return A|0}function Ne(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=(i|0)!=0;K=0;a:while(1){m=Re(K)|0;l=c[m+4>>2]|0;m=ue(b,c[m>>2]|0)|0;i=Pe(b,m)|0;if(L&(i|0)!=0){J=(Le(c[m>>2]|0)|0)==2;i=J?0:i}n=Se(K)|0;k=c[n+4>>2]|0;n=ue(b,c[n>>2]|0)|0;j=Pe(b,n)|0;if(L&(j|0)!=0){J=(Le(c[n>>2]|0)|0)==2;j=J?0:j}H=(i|0)!=0;G=(j|0)!=0;F=H&G;if(F){if(!(Le(c[m>>2]|0)|0))j=d[(l&255)+(m+82)>>0]|0;else j=2;if(!(Le(c[n>>2]|0)|0))i=d[(k&255)+(n+82)>>0]|0;else i=2;i=j>>>0<i>>>0?j:i}else i=2;if(!(c[f+12+(K<<2)>>2]|0)){J=c[f+76+(K<<2)>>2]|0;i=J+(J>>>0>=i>>>0&1)|0}a[b+82+K>>0]=i;j=c[(Te(K)|0)>>2]|0;j=ue(b,j)|0;k=Pe(b,j)|0;if(L&(k|0)!=0){J=(Le(c[j>>2]|0)|0)==2;k=J?0:k}j=c[(Ue(K)|0)>>2]|0;j=ue(b,j)|0;l=Pe(b,j)|0;if(L&(l|0)!=0){J=(Le(c[j>>2]|0)|0)==2;l=J?0:l}I=c[1808+(K<<2)>>2]|0;J=c[1872+(K<<2)>>2]|0;t=(1285>>>K&1|0)!=0;if(t){p=h+(J+2)|0;n=J+3|0;o=h;j=h+J|0;m=h+(J+1)|0}else{m=(J<<4)+I|0;p=e+(m+31)|0;n=m+47|0;o=e;j=e+(m+-1)|0;m=e+(m+15)|0}A=a[j>>0]|0;z=a[m>>0]|0;E=a[o+n>>0]|0;D=a[p>>0]|0;do if(!(51>>>K&1)){m=J+-1|0;j=(m<<4)+I|0;u=a[e+j>>0]|0;v=a[e+(j+1)>>0]|0;w=a[e+(j+2)>>0]|0;n=a[e+(j+3)>>0]|0;o=a[e+(j+4)>>0]|0;p=a[e+(j+5)>>0]|0;q=a[e+(j+6)>>0]|0;s=a[e+(j+7)>>0]|0;if(t){j=h+m|0;C=n;B=q;m=s;y=u;x=v;break}else{j=e+(j+-1)|0;C=n;B=q;m=s;y=u;x=v;break}}else{j=g+I|0;C=a[g+(I+4)>>0]|0;o=a[g+(I+5)>>0]|0;p=a[g+(I+6)>>0]|0;B=a[g+(I+7)>>0]|0;m=a[g+(I+8)>>0]|0;y=a[g+(I+1)>>0]|0;x=a[g+(I+2)>>0]|0;w=a[g+(I+3)>>0]|0}while(0);j=a[j>>0]|0;switch(i|0){case 0:{if(!G){i=1;j=51;break a}j=y;k=x;l=w;m=C;n=y;o=x;p=w;q=C;s=y;t=x;u=w;v=C;i=(w&255)<<16|(C&255)<<24|y&255|(x&255)<<8;break}case 1:{if(!H){i=1;j=51;break a}m=r(A&255,16843009)|0;q=r(z&255,16843009)|0;v=r(D&255,16843009)|0;j=m&255;k=m>>>8&255;l=m>>>16&255;m=m>>>24&255;n=q&255;o=q>>>8&255;p=q>>>16&255;q=q>>>24&255;s=v&255;t=v>>>8&255;u=v>>>16&255;v=v>>>24&255;i=r(E&255,16843009)|0;break}case 2:{do if(!F){if(H){i=((A&255)+2+(z&255)+(E&255)+(D&255)|0)>>>2;break}if(G)i=((C&255)+2+(w&255)+(x&255)+(y&255)|0)>>>2;else i=128}else i=((A&255)+4+(z&255)+(E&255)+(D&255)+(C&255)+(w&255)+(x&255)+(y&255)|0)>>>3;while(0);i=r(i&255,16843009)|0;s=i&255;t=i>>>8&255;u=i>>>16&255;v=i>>>24&255;j=s;k=t;l=u;m=v;n=s;o=t;p=u;q=v;break}case 3:{if(!G){i=1;j=51;break a}G=(k|0)==0;j=x&255;k=w&255;s=C&255;E=s+2|0;n=(E+j+(k<<1)|0)>>>2&255;H=(G?C:o)&255;s=(H+2+k+(s<<1)|0)>>>2&255;l=(G?C:p)&255;E=(E+l+(H<<1)|0)>>>2;t=E&255;i=(G?C:B)&255;F=i+2|0;H=(F+H+(l<<1)|0)>>>2;u=H&255;G=(G?C:m)&255;i=(l+2+G+(i<<1)|0)>>>2;j=(k+2+(y&255)+(j<<1)|0)>>>2&255;k=n;l=s;m=t;o=s;p=t;q=u;v=i&255;i=E&255|(F+(G*3|0)|0)>>>2<<24|H<<8&65280|i<<16&16711680;break}case 4:{if(!(F&(l|0)!=0)){i=1;j=51;break a}v=y&255;i=j&255;j=A&255;q=v+2|0;H=(q+j+(i<<1)|0)>>>2;u=H&255;G=x&255;n=G+2|0;v=(n+(v<<1)+i|0)>>>2&255;m=w&255;q=((G<<1)+m+q|0)>>>2&255;G=z&255;B=G+2|0;i=(B+(j<<1)+i|0)>>>2;t=i&255;F=D&255;G=(j+2+(G<<1)+F|0)>>>2;j=u;k=v;l=q;m=(n+(C&255)+(m<<1)|0)>>>2&255;n=t;o=u;p=v;s=G&255;i=(B+(E&255)+(F<<1)|0)>>>2&255|G<<8&65280|H<<24|i<<16&16711680;break}case 5:{if(!(F&(l|0)!=0)){i=1;j=51;break a}s=j&255;u=y&255;t=(u+1+s|0)>>>1&255;v=x&255;B=v+2|0;i=(B+(u<<1)+s|0)>>>2;F=A&255;E=u+2|0;H=(E+F+(s<<1)|0)>>>2;u=(v+1+u|0)>>>1&255;q=w&255;E=((v<<1)+q+E|0)>>>2;m=q+1|0;v=(m+v|0)>>>1&255;C=C&255;G=z&255;j=t;k=u;l=v;m=(m+C|0)>>>1&255;n=H&255;o=i&255;p=E&255;q=(B+C+(q<<1)|0)>>>2&255;s=(G+2+(F<<1)+s|0)>>>2&255;i=E<<24|(F+2+(G<<1)+(D&255)|0)>>>2&255|H<<8&65280|i<<16&16711680;break}case 6:{if(!(F&(l|0)!=0)){i=1;j=51;break a}l=j&255;q=A&255;u=q+1|0;p=(u+l|0)>>>1&255;H=z&255;G=H+2|0;v=(G+(q<<1)+l|0)>>>2&255;u=(u+H|0)>>>1&255;i=D&255;q=q+2|0;F=(q+(H<<1)+i|0)>>>2;D=(H+1+i|0)>>>1;H=E&255;n=y&255;q=(q+n+(l<<1)|0)>>>2&255;m=x&255;j=p;k=q;l=(m+2+(n<<1)+l|0)>>>2&255;m=(n+2+(w&255)+(m<<1)|0)>>>2&255;n=u;o=v;s=D&255;t=F&255;i=D<<16&16711680|F<<24|(i+1+H|0)>>>1&255|G+H+(i<<1)<<6&65280;break}case 7:{if(!G){i=1;j=51;break a}F=(k|0)==0;q=y&255;n=x&255;A=w&255;s=(A+1+n|0)>>>1&255;D=C&255;u=D+1|0;t=(u+A|0)>>>1&255;v=(F?C:o)&255;u=(u+v|0)>>>1&255;i=D+2|0;H=(i+n+(A<<1)|0)>>>2;E=v+2|0;D=(E+A+(D<<1)|0)>>>2;G=(F?C:p)&255;i=(i+G+(v<<1)|0)>>>2;j=(n+1+q|0)>>>1&255;k=s;l=t;m=u;n=(A+2+q+(n<<1)|0)>>>2&255;o=H&255;p=D&255;q=i&255;v=(v+1+G|0)>>>1&255;i=D<<8&65280|(E+((F?C:B)&255)+(G<<1)|0)>>>2<<24|H&255|i<<16&16711680;break}default:{if(!H){i=1;j=51;break a}l=A&255;k=z&255;j=k+1|0;s=D&255;m=s+2|0;n=(j+s|0)>>>1&255;i=E&255;o=(k+2+i+(s<<1)|0)>>>2&255;s=(s+1+i|0)>>>1&255;t=(m+(i*3|0)|0)>>>2&255;j=(j+l|0)>>>1&255;k=(m+l+(k<<1)|0)>>>2&255;l=n;m=o;p=s;q=t;u=E;v=E;i=i<<8|i|i<<16|i<<24}}J=e+((J<<4)+I)|0;c[J>>2]=(l&255)<<16|(m&255)<<24|(k&255)<<8|j&255;c[J+16>>2]=(p&255)<<16|(q&255)<<24|(o&255)<<8|n&255;c[J+32>>2]=(u&255)<<16|(v&255)<<24|(t&255)<<8|s&255;c[J+48>>2]=i;Qe(e,f+328+(K<<6)|0,K);K=K+1|0;if(K>>>0>=16){i=0;j=51;break}}if((j|0)==51)return i|0;return 0}function Oe(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;l=b+200|0;k=Pe(b,c[l>>2]|0)|0;m=(j|0)!=0;if(m&(k|0)!=0){w=(Le(c[c[l>>2]>>2]|0)|0)==2;k=w?0:k}l=b+204|0;j=Pe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){n=(Le(c[c[l>>2]>>2]|0)|0)==2;n=n?0:j}else n=j;l=b+212|0;j=Pe(b,c[l>>2]|0)|0;if(m&(j|0)!=0){w=(Le(c[c[l>>2]>>2]|0)|0)==2;j=w?0:j}v=(k|0)!=0;w=(n|0)!=0;u=v&w;t=u&(j|0)!=0;s=(k|0)==0;q=(n|0)==0;o=16;p=1;n=f;a:while(1){switch(i|0){case 0:{l=g+1|0;do if(!u){if(w){j=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2;break}if(v){k=((d[h>>0]|0)+2+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>2;j=k}else{j=128;k=128}}else{j=((d[l>>0]|0)+4+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)+(d[h>>0]|0)+(d[h+1>>0]|0)+(d[h+2>>0]|0)+(d[h+3>>0]|0)|0)>>>3;k=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}while(0);b=j&255;f=k&255;ri(e|0,b|0,4)|0;ri(e+4|0,f|0,4)|0;ri(e+8|0,b|0,4)|0;ri(e+12|0,f|0,4)|0;ri(e+16|0,b|0,4)|0;ri(e+20|0,f|0,4)|0;m=e+32|0;ri(e+24|0,b|0,4)|0;ri(e+28|0,f|0,4)|0;if(v){l=d[h+7>>0]|0;k=(d[h+5>>0]|0)+(d[h+4>>0]|0)+(d[h+6>>0]|0)|0;j=(k+2+l|0)>>>2;if(w){b=j;j=(k+4+l+(d[g+5>>0]|0)+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>3}else b=j}else if(w){b=((d[l>>0]|0)+2+(d[g+2>>0]|0)+(d[g+3>>0]|0)+(d[g+4>>0]|0)|0)>>>2;j=((d[g+5>>0]|0)+2+(d[g+6>>0]|0)+(d[g+7>>0]|0)+(d[g+8>>0]|0)|0)>>>2}else{b=128;j=128}b=b&255;f=j&255;ri(m|0,b|0,4)|0;ri(e+36|0,f|0,4)|0;ri(e+40|0,b|0,4)|0;ri(e+44|0,f|0,4)|0;ri(e+48|0,b|0,4)|0;ri(e+52|0,f|0,4)|0;ri(e+56|0,b|0,4)|0;ri(e+60|0,f|0,4)|0;break}case 1:{if(s){j=1;k=28;break a}a[e>>0]=a[h>>0]|0;a[e+1>>0]=a[h>>0]|0;a[e+2>>0]=a[h>>0]|0;a[e+3>>0]=a[h>>0]|0;a[e+4>>0]=a[h>>0]|0;a[e+5>>0]=a[h>>0]|0;a[e+6>>0]=a[h>>0]|0;f=h+1|0;a[e+7>>0]=a[h>>0]|0;a[e+8>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+10>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+12>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+14>>0]=a[f>>0]|0;m=h+2|0;a[e+15>>0]=a[f>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+17>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+19>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+21>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;f=h+3|0;a[e+23>>0]=a[m>>0]|0;a[e+24>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+26>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+28>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+30>>0]=a[f>>0]|0;m=h+4|0;a[e+31>>0]=a[f>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+33>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+35>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+37>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;f=h+5|0;a[e+39>>0]=a[m>>0]|0;a[e+40>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+42>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+44>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+46>>0]=a[f>>0]|0;m=h+6|0;a[e+47>>0]=a[f>>0]|0;a[e+48>>0]=a[m>>0]|0;a[e+49>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;a[e+51>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;a[e+53>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=h+7|0;a[e+55>>0]=a[m>>0]|0;a[e+56>>0]=a[f>>0]|0;a[e+57>>0]=a[f>>0]|0;a[e+58>>0]=a[f>>0]|0;a[e+59>>0]=a[f>>0]|0;a[e+60>>0]=a[f>>0]|0;a[e+61>>0]=a[f>>0]|0;a[e+62>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}case 2:{if(q){j=1;k=28;break a}m=g+1|0;a[e>>0]=a[m>>0]|0;a[e+8>>0]=a[m>>0]|0;a[e+16>>0]=a[m>>0]|0;a[e+24>>0]=a[m>>0]|0;a[e+32>>0]=a[m>>0]|0;a[e+40>>0]=a[m>>0]|0;a[e+48>>0]=a[m>>0]|0;f=g+2|0;a[e+56>>0]=a[m>>0]|0;a[e+1>>0]=a[f>>0]|0;a[e+9>>0]=a[f>>0]|0;a[e+17>>0]=a[f>>0]|0;a[e+25>>0]=a[f>>0]|0;a[e+33>>0]=a[f>>0]|0;a[e+41>>0]=a[f>>0]|0;a[e+49>>0]=a[f>>0]|0;m=g+3|0;a[e+57>>0]=a[f>>0]|0;a[e+2>>0]=a[m>>0]|0;a[e+10>>0]=a[m>>0]|0;a[e+18>>0]=a[m>>0]|0;a[e+26>>0]=a[m>>0]|0;a[e+34>>0]=a[m>>0]|0;a[e+42>>0]=a[m>>0]|0;a[e+50>>0]=a[m>>0]|0;f=g+4|0;a[e+58>>0]=a[m>>0]|0;a[e+3>>0]=a[f>>0]|0;a[e+11>>0]=a[f>>0]|0;a[e+19>>0]=a[f>>0]|0;a[e+27>>0]=a[f>>0]|0;a[e+35>>0]=a[f>>0]|0;a[e+43>>0]=a[f>>0]|0;a[e+51>>0]=a[f>>0]|0;m=g+5|0;a[e+59>>0]=a[f>>0]|0;a[e+4>>0]=a[m>>0]|0;a[e+12>>0]=a[m>>0]|0;a[e+20>>0]=a[m>>0]|0;a[e+28>>0]=a[m>>0]|0;a[e+36>>0]=a[m>>0]|0;a[e+44>>0]=a[m>>0]|0;a[e+52>>0]=a[m>>0]|0;f=g+6|0;a[e+60>>0]=a[m>>0]|0;a[e+5>>0]=a[f>>0]|0;a[e+13>>0]=a[f>>0]|0;a[e+21>>0]=a[f>>0]|0;a[e+29>>0]=a[f>>0]|0;a[e+37>>0]=a[f>>0]|0;a[e+45>>0]=a[f>>0]|0;a[e+53>>0]=a[f>>0]|0;m=g+7|0;a[e+61>>0]=a[f>>0]|0;a[e+6>>0]=a[m>>0]|0;a[e+14>>0]=a[m>>0]|0;a[e+22>>0]=a[m>>0]|0;a[e+30>>0]=a[m>>0]|0;a[e+38>>0]=a[m>>0]|0;a[e+46>>0]=a[m>>0]|0;a[e+54>>0]=a[m>>0]|0;f=g+8|0;a[e+62>>0]=a[m>>0]|0;a[e+7>>0]=a[f>>0]|0;a[e+15>>0]=a[f>>0]|0;a[e+23>>0]=a[f>>0]|0;a[e+31>>0]=a[f>>0]|0;a[e+39>>0]=a[f>>0]|0;a[e+47>>0]=a[f>>0]|0;a[e+55>>0]=a[f>>0]|0;a[e+63>>0]=a[f>>0]|0;break}default:{if(!t){j=1;k=28;break a}l=d[g+8>>0]|0;b=d[h+7>>0]|0;m=d[g>>0]|0;f=(((d[g+5>>0]|0)-(d[g+3>>0]|0)+((d[g+6>>0]|0)-(d[g+2>>0]|0)<<1)+(((d[g+7>>0]|0)-(d[g+1>>0]|0)|0)*3|0)+(l-m<<2)|0)*17|0)+16>>5;m=(((d[h+4>>0]|0)-(d[h+2>>0]|0)+(b-m<<2)+((d[h+5>>0]|0)-(d[h+1>>0]|0)<<1)+(((d[h+6>>0]|0)-(d[h>>0]|0)|0)*3|0)|0)*17|0)+16>>5;l=(b+l<<4)+16+(r(m,-3)|0)|0;b=r(f,-3)|0;k=l+b|0;a[e>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+1>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+2>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+3>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+4>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+5>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+6>>0]=a[8342+(k>>5)>>0]|0;a[e+7>>0]=a[8342+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+8>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+9>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+10>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+11>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+12>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+13>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+14>>0]=a[8342+(k>>5)>>0]|0;a[e+15>>0]=a[8342+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+16>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+17>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+18>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+19>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+20>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+21>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+22>>0]=a[8342+(k>>5)>>0]|0;a[e+23>>0]=a[8342+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+24>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+25>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+26>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+27>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+28>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+29>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+30>>0]=a[8342+(k>>5)>>0]|0;a[e+31>>0]=a[8342+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+32>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+33>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+34>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+35>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+36>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+37>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+38>>0]=a[8342+(k>>5)>>0]|0;a[e+39>>0]=a[8342+(k+f>>5)>>0]|0;l=l+m|0;k=l+b|0;a[e+40>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+41>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+42>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+43>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+44>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+45>>0]=a[8342+(k>>5)>>0]|0;k=k+f|0;a[e+46>>0]=a[8342+(k>>5)>>0]|0;a[e+47>>0]=a[8342+(k+f>>5)>>0]|0;b=l+m+b|0;a[e+48>>0]=a[8342+(b>>5)>>0]|0;l=b+f|0;a[e+49>>0]=a[8342+(l>>5)>>0]|0;l=l+f|0;a[e+50>>0]=a[8342+(l>>5)>>0]|0;l=l+f|0;a[e+51>>0]=a[8342+(l>>5)>>0]|0;l=l+f|0;a[e+52>>0]=a[8342+(l>>5)>>0]|0;l=l+f|0;a[e+53>>0]=a[8342+(l>>5)>>0]|0;l=l+f|0;a[e+54>>0]=a[8342+(l>>5)>>0]|0;a[e+55>>0]=a[8342+(l+f>>5)>>0]|0;m=b+m|0;a[e+56>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+57>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+58>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+59>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+60>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+61>>0]=a[8342+(m>>5)>>0]|0;m=m+f|0;a[e+62>>0]=a[8342+(m>>5)>>0]|0;a[e+63>>0]=a[8342+(m+f>>5)>>0]|0}}Qe(e,n,o);f=o|1;Qe(e,n+64|0,f);Qe(e,n+128|0,f+1|0);Qe(e,n+192|0,o|3);if(p>>>0<2){g=g+9|0;o=o+4|0;p=2;e=e+64|0;h=h+8|0;n=n+256|0}else{j=0;k=28;break}}if((k|0)==28)return j|0;return 0}function Pe(a,b){a=a|0;b=b|0;if(!b)return 0;else return (c[a+4>>2]|0)==(c[b+4>>2]|0)|0;return 0}function Qe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[e>>2]|0;if((g|0)==16777215)return;m=f>>>0<16;k=m?16:8;m=m?f:f&3;b=b+(r(c[1872+(m<<2)>>2]|0,k)|0)+(c[1808+(m<<2)>>2]|0)|0;m=c[e+4>>2]|0;f=b+1|0;l=d[f>>0]|0;a[b>>0]=a[8342+(g+(d[b>>0]|0))>>0]|0;j=c[e+8>>2]|0;i=b+2|0;h=d[i>>0]|0;a[f>>0]=a[8342+(m+l)>>0]|0;f=b+3|0;l=a[8342+((c[e+12>>2]|0)+(d[f>>0]|0))>>0]|0;a[i>>0]=a[8342+(j+h)>>0]|0;a[f>>0]=l;b=b+k|0;f=c[e+20>>2]|0;l=b+1|0;i=d[l>>0]|0;a[b>>0]=a[8342+((c[e+16>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+24>>2]|0;j=b+2|0;g=d[j>>0]|0;a[l>>0]=a[8342+(f+i)>>0]|0;l=b+3|0;i=a[8342+((c[e+28>>2]|0)+(d[l>>0]|0))>>0]|0;a[j>>0]=a[8342+(h+g)>>0]|0;a[l>>0]=i;b=b+k|0;l=c[e+36>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[8342+((c[e+32>>2]|0)+(d[b>>0]|0))>>0]|0;g=c[e+40>>2]|0;h=b+2|0;f=d[h>>0]|0;a[i>>0]=a[8342+(l+j)>>0]|0;i=b+3|0;j=a[8342+((c[e+44>>2]|0)+(d[i>>0]|0))>>0]|0;a[h>>0]=a[8342+(g+f)>>0]|0;a[i>>0]=j;b=b+k|0;k=c[e+52>>2]|0;i=b+1|0;j=d[i>>0]|0;a[b>>0]=a[8342+((c[e+48>>2]|0)+(d[b>>0]|0))>>0]|0;h=c[e+56>>2]|0;f=b+2|0;g=d[f>>0]|0;a[i>>0]=a[8342+(k+j)>>0]|0;b=b+3|0;e=a[8342+((c[e+60>>2]|0)+(d[b>>0]|0))>>0]|0;a[f>>0]=a[8342+(h+g)>>0]|0;a[b>>0]=e;return}function Re(a){a=a|0;return 4824+(a<<3)|0}function Se(a){a=a|0;return 4632+(a<<3)|0}function Te(a){a=a|0;return 4440+(a<<3)|0}function Ue(a){a=a|0;return 4248+(a<<3)|0}function Ve(a){a=a|0;return a+1&3|0}function We(a){a=a|0;return (c[a+8>>2]|0)==0|0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;if(d|0){b=Vd(a,b)|0;return b|0}d=Nd(a,1)|0;c[b>>2]=d;if((d|0)==-1){b=1;return b|0}c[b>>2]=d^1;b=0;return b|0}function Ye(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=Nb;Nb=Nb+16|0;f=g;if(Vd(a,f)|0){b=1;Nb=g;return b|0}f=c[f>>2]|0;if(f>>>0>47){b=1;Nb=g;return b|0}c[b>>2]=d[((e|0)==0?9836:9884)+f>>0];b=0;Nb=g;return b|0}function Ze(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=Re(e)|0;e=Se(e)|0;h=a[g+4>>0]|0;i=a[e+4>>0]|0;e=(c[e>>2]|0)==4;if((c[g>>2]|0)==4){g=b[f+((h&255)<<1)>>1]|0;if(e){d=g+1+(b[f+((i&255)<<1)>>1]|0)>>1;return d|0}e=d+204|0;if(!(Pe(d,c[e>>2]|0)|0)){d=g;return d|0}d=g+1+(b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0)>>1;return d|0}if(e){e=b[f+((i&255)<<1)>>1]|0;g=d+200|0;if(!(Pe(d,c[g>>2]|0)|0)){d=e;return d|0}d=e+1+(b[(c[g>>2]|0)+28+((h&255)<<1)>>1]|0)>>1;return d|0}e=d+200|0;if(!(Pe(d,c[e>>2]|0)|0)){g=0;f=0}else{g=b[(c[e>>2]|0)+28+((h&255)<<1)>>1]|0;f=1}e=d+204|0;if(!(Pe(d,c[e>>2]|0)|0)){d=g;return d|0}else{d=b[(c[e>>2]|0)+28+((i&255)<<1)>>1]|0;return ((f|0)==0?d:g+1+d>>1)|0}return 0}function _e(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=Nb;Nb=Nb+128|0;Q=S+64|0;R=S;o=Pd(a)|0;m=o>>>16;do if(f>>>0<2)if((o|0)>=0){if(o>>>0>201326591){n=e[5484+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>16777215){n=e[5548+(o>>>22<<1)>>1]|0;J=25;break}if(o>>>0>2097151){n=e[5644+((o>>>18)+-8<<1)>>1]|0;J=25;break}else{n=e[5756+(m<<1)>>1]|0;J=25;break}}else p=1;else if(f>>>0<4){if((o|0)<0){p=(o&1073741824|0)==0?2082:2;break}if(o>>>0>268435455){n=e[5820+(o>>>26<<1)>>1]|0;J=25;break}if(o>>>0>33554431){n=e[5884+(o>>>23<<1)>>1]|0;J=25;break}else{n=e[5948+(o>>>18<<1)>>1]|0;J=25;break}}else{if(f>>>0<8){f=o>>>26;if((f+-8|0)>>>0<56){n=e[6204+(f<<1)>>1]|0;J=25;break}n=e[6332+(o>>>22<<1)>>1]|0;J=25;break}if(f>>>0<17){n=e[6588+(o>>>26<<1)>>1]|0;J=25;break}f=o>>>29;if(f|0){n=e[6716+(f<<1)>>1]|0;J=25;break}n=e[6732+(o>>>24<<1)>>1]|0;J=25;break}while(0);if((J|0)==25)if(!n){R=1;Nb=S;return R|0}else p=n;n=p&31;f=o<<n;m=32-n|0;x=p>>>11;K=x&31;if(K>>>0>g>>>0){R=1;Nb=S;return R|0}v=p>>>5&63;do if(K){if(!v)n=0;else{do if(m>>>0<v>>>0)if((Zd(a,n)|0)==-1){R=1;Nb=S;return R|0}else{m=32;f=Pd(a)|0;break}while(0);o=f>>>(32-v|0);f=f<<v;p=0;n=1<<v+-1;do{c[Q+(p<<2)>>2]=(n&o|0)==0?1:-1;n=n>>>1;p=p+1|0}while((n|0)!=0);m=m-v|0;n=p}u=v>>>0<3;a:do if(n>>>0<K>>>0){t=n;s=K>>>0>10&u&1;b:while(1){if(m>>>0<16){if((Zd(a,32-m|0)|0)==-1){N=1;J=125;break}r=32;f=Pd(a)|0}else r=m;do if((f|0)>=0)if(f>>>0<=1073741823)if(f>>>0<=536870911)if(f>>>0<=268435455)if(f>>>0<=134217727)if(f>>>0<=67108863)if(f>>>0<=33554431)if(f>>>0<=16777215)if(f>>>0<=8388607)if(f>>>0>4194303){H=9;J=59}else{if(f>>>0>2097151){H=10;J=59;break}if(f>>>0>1048575){H=11;J=59;break}if(f>>>0>524287){H=12;J=59;break}if(f>>>0>262143){H=13;J=59;break}if(f>>>0>131071){n=14;m=f<<15;o=r+-15|0;q=s;p=(s|0)==0?4:s}else{if((f&-65536|0)!=65536){N=1;J=125;break b}n=15;m=f<<16;o=r+-16|0;q=(s|0)==0?1:s;p=12}G=m;B=n<<q;y=o;z=q;w=p;q=(q|0)==0;J=60}else{H=8;J=59}else{H=7;J=59}else{H=6;J=59}else{H=5;J=59}else{H=4;J=59}else{H=3;J=59}else{H=2;J=59}else{H=1;J=59}else{H=0;J=59}while(0);if((J|0)==59){J=0;m=H+1|0;n=f<<m;m=r-m|0;f=H<<s;if(!s){E=m;F=n;A=f;C=0;D=1}else{G=n;B=f;y=m;z=s;w=s;q=0;J=60}}if((J|0)==60){J=0;if(y>>>0<w>>>0){if((Zd(a,32-y|0)|0)==-1){N=1;J=125;break}f=32;m=Pd(a)|0}else{f=y;m=G}E=f-w|0;F=m<<w;A=(m>>>(32-w|0))+B|0;C=z;D=q}s=u&(t|0)==(v|0)?A+2|0:A;n=(s+2|0)>>>1;o=D?1:C;c[Q+(t<<2)>>2]=(s&1|0)==0?n:0-n|0;t=t+1|0;if(t>>>0>=K>>>0){l=E;j=F;break a}else{m=E;f=F;s=o+(o>>>0<6&(n|0)>(3<<o+-1|0)&1)|0}}if((J|0)==125){Nb=S;return N|0}}else{l=m;j=f}while(0);if(K>>>0<g>>>0){do if(l>>>0<9)if((Zd(a,32-l|0)|0)==-1){R=1;Nb=S;return R|0}else{l=32;j=Pd(a)|0;break}while(0);f=j>>>23;c:do if((g|0)==4)if((j|0)>=0)if((K|0)!=3)if(j>>>0>1073741823)k=18;else k=(K|0)==2?34:j>>>0>536870911?35:51;else k=17;else k=1;else{do switch(x&31){case 1:{if(j>>>0>268435455)k=d[9214+(j>>>27)>>0]|0;else{I=9246+f|0;J=91}break}case 2:{I=9278+(j>>>26)|0;J=91;break}case 3:{I=9342+(j>>>26)|0;J=91;break}case 4:{I=9406+(j>>>27)|0;J=91;break}case 5:{I=9438+(j>>>27)|0;J=91;break}case 6:{I=9470+(j>>>26)|0;J=91;break}case 7:{I=9534+(j>>>26)|0;J=91;break}case 8:{I=9598+(j>>>26)|0;J=91;break}case 9:{I=9662+(j>>>26)|0;J=91;break}case 10:{I=9726+(j>>>27)|0;J=91;break}case 11:{I=9758+(j>>>28)|0;J=91;break}case 12:{I=9774+(j>>>28)|0;J=91;break}case 13:{I=9790+(j>>>29)|0;J=91;break}case 14:{I=9798+(j>>>30)|0;J=91;break}default:{k=j>>31&16|1;break c}}while(0);if((J|0)==91)k=d[I>>0]|0;if(!k){R=1;Nb=S;return R|0}}while(0);g=k&15;l=l-g|0;j=j<<g;k=k>>>4&15}else k=0;n=K+-1|0;if(!n){c[b+(k<<2)>>2]=c[Q+(n<<2)>>2];O=l;h=1<<k;break}m=0;f=k;d:while(1){if(!f){c[R+(m<<2)>>2]=1;P=l;i=0}else{if(l>>>0<11){if((Zd(a,32-l|0)|0)==-1){N=1;J=125;break}l=32;j=Pd(a)|0}switch(f|0){case 1:{M=9802+(j>>>31)|0;J=117;break}case 2:{M=9804+(j>>>30)|0;J=117;break}case 3:{M=9808+(j>>>30)|0;J=117;break}case 4:{M=9812+(j>>>29)|0;J=117;break}case 5:{M=9820+(j>>>29)|0;J=117;break}case 6:{M=9828+(j>>>29)|0;J=117;break}default:{if(j>>>0<=536870911)if(j>>>0<=268435455)if(j>>>0<=134217727)if(j>>>0<=67108863)if(j>>>0<=33554431)if(j>>>0>16777215)k=184;else k=j>>>0>8388607?201:j>>>0>4194303?218:j>>>0<2097152?0:235;else k=167;else k=150;else k=133;else k=116;else k=112-(j>>>29<<4)|3;if((k>>>4&15)>>>0>f>>>0){N=1;J=125;break d}else L=k}}if((J|0)==117){J=0;L=d[M>>0]|0}if(!L){N=1;J=125;break}g=L&15;i=L>>>4&15;c[R+(m<<2)>>2]=i+1;P=l-g|0;j=j<<g;i=f-i|0}m=m+1|0;if(m>>>0>=n>>>0){J=122;break}else{l=P;f=i}}if((J|0)==122){c[b+(i<<2)>>2]=c[Q+(n<<2)>>2];j=K+-2|0;h=1<<i;while(1){i=(c[R+(j<<2)>>2]|0)+i|0;h=1<<i|h;c[b+(i<<2)>>2]=c[Q+(j<<2)>>2];if(!j){O=P;break}else j=j+-1|0}}else if((J|0)==125){Nb=S;return N|0}}else{O=m;h=0}while(0);R=(Zd(a,32-O|0)|0)==0;R=R?h<<16|K<<4:1;Nb=S;return R|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a+1192>>2]|0;d=c[a+1200>>2]|0;a:do if(d){d=d+-1|0;if(d>>>0>b>>>0){f=c[a+1212>>2]|0;g=a+16|0;e=0;do{if((c[f+(d*216|0)+4>>2]|0)==(i|0)){e=e+1|0;h=c[(c[g>>2]|0)+52>>2]|0;if(e>>>0>=(h>>>0>10?h:10)>>>0)break a}d=d+-1|0}while(d>>>0>b>>>0)}}else d=b;while(0);b=a+1212|0;h=a+1172|0;g=a+1176|0;f=d;while(1){d=c[b>>2]|0;if((c[d+(f*216|0)+4>>2]|0)!=(i|0)){d=11;break}e=d+(f*216|0)+196|0;d=c[e>>2]|0;if(!d){d=11;break}c[e>>2]=d+-1;f=Qd(c[h>>2]|0,c[g>>2]|0,f)|0;if(!f){d=11;break}}if((d|0)==11)return}function af(a){a=a|0;switch(a|0){case 0:case 1:{a=1;break}case 3:case 2:{a=2;break}default:a=4}return a|0}function bf(a,b){a=a|0;b=b|0;var d=0;if((Nd(a,1)|0)==-1){b=1;return b|0}d=b+4|0;c[d>>2]=Nd(a,2)|0;a=Nd(a,5)|0;c[b>>2]=a;if((a+-2|0)>>>0<3){b=1;return b|0}switch(a|0){case 5:case 7:case 8:{if((a|0)==6|(c[d>>2]|0)==0){b=1;return b|0}break}case 6:case 9:case 10:case 11:case 12:{if(c[d>>2]|0){b=1;return b|0}break}default:{}}b=0;return b|0}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!d)return;k=0-b|0;o=b+-1|0;l=1-b|0;m=~b;i=0;j=0;n=0;while(1){g=(i|0)!=0;f=a+(j*216|0)|0;c[a+(j*216|0)+200>>2]=g?f+-216|0:0;h=(n|0)!=0;if(h){c[a+(j*216|0)+204>>2]=f+(k*216|0);e=i>>>0<o>>>0?f+(l*216|0)|0:0}else{c[a+(j*216|0)+204>>2]=0;e=0}c[a+(j*216|0)+208>>2]=e;c[a+(j*216|0)+212>>2]=h&g?f+(m*216|0)|0:0;e=i+1|0;f=(e|0)==(b|0);j=j+1|0;if((j|0)==(d|0))break;else{i=f?0:e;n=n+(f&1)|0}}return}function df(a){a=a|0;Ud(a,0,3388);c[a+8>>2]=32;c[a+4>>2]=256;c[a+1332>>2]=1;return}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+8>>2]|0;g=a+20+(d<<2)|0;e=c[g>>2]|0;do if(!e){a=Xd(92,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+8|0;if((d|0)!=(c[f>>2]|0)){ff(c[e+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;ff(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;break}d=a+16|0;if($d(b,c[d>>2]|0)|0){ff(c[(c[g>>2]|0)+40>>2]|0);c[(c[g>>2]|0)+40>>2]=0;ff(c[(c[g>>2]|0)+84>>2]|0);c[(c[g>>2]|0)+84>>2]=0;c[f>>2]=33;c[a+4>>2]=257;c[d>>2]=0;c[a+12>>2]=0;break}a=b+40|0;ff(c[a>>2]|0);c[a>>2]=0;a=b+84|0;ff(c[a>>2]|0);c[a>>2]=0;a=0;return a|0}while(0);e=c[g>>2]|0;d=e+92|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function ff(a){a=a|0;Pg(a);return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b>>2]|0;g=a+148+(d<<2)|0;e=c[g>>2]|0;if(!e){a=Xd(72,1)|0;c[g>>2]=a;if(!a){a=65535;return a|0}}else{f=a+4|0;if((d|0)==(c[f>>2]|0)){if((c[b+4>>2]|0)!=(c[a+8>>2]|0))c[f>>2]=257;ff(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;ff(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;ff(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;ff(c[(c[g>>2]|0)+44>>2]|0)}else{ff(c[e+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;ff(c[(c[g>>2]|0)+24>>2]|0);c[(c[g>>2]|0)+24>>2]=0;ff(c[(c[g>>2]|0)+28>>2]|0);c[(c[g>>2]|0)+28>>2]=0;ff(c[(c[g>>2]|0)+44>>2]|0)}c[(c[g>>2]|0)+44>>2]=0}e=c[g>>2]|0;d=e+72|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));a=0;return a|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[a+148+(b<<2)>>2]|0;n=m;if(!m){a=1;return a|0}o=c[m+4>>2]|0;p=a+20+(o<<2)|0;e=c[p>>2]|0;if(!e){a=1;return a|0}k=c[e+52>>2]|0;l=r(c[e+56>>2]|0,k)|0;g=c[m+12>>2]|0;a:do if(g>>>0>1){e=c[m+16>>2]|0;switch(e|0){case 0:{e=c[m+20>>2]|0;f=0;while(1){if((c[e+(f<<2)>>2]|0)>>>0>l>>>0){e=1;break}f=f+1|0;if(f>>>0>=g>>>0)break a}return e|0}case 2:{j=g+-1|0;g=c[m+24>>2]|0;h=c[m+28>>2]|0;i=0;while(1){e=c[g+(i<<2)>>2]|0;f=c[h+(i<<2)>>2]|0;if(!(e>>>0<=f>>>0&f>>>0<l>>>0)){e=1;f=37;break}i=i+1|0;if(((e>>>0)%(k>>>0)|0)>>>0>((f>>>0)%(k>>>0)|0)>>>0){e=1;f=37;break}if(i>>>0>=j>>>0)break a}if((f|0)==37)return e|0;break}default:{if((e+-3|0)>>>0<3){if((c[m+36>>2]|0)>>>0>l>>>0)e=1;else break a;return e|0}if((e|0)!=6)break a;if((c[m+40>>2]|0)>>>0<l>>>0)e=1;else break a;return e|0}}}while(0);f=a+4|0;e=c[f>>2]|0;do if((e|0)!=256){g=a+3380|0;if(!(c[g>>2]|0)){if((e|0)==(b|0))break;e=a+8|0;if((o|0)==(c[e>>2]|0)){c[f>>2]=b;c[a+12>>2]=n;break}if(!d){a=1;return a|0}else{c[f>>2]=b;c[a+12>>2]=m;c[e>>2]=o;q=c[p>>2]|0;c[a+16>>2]=q;b=c[q+52>>2]|0;q=c[q+56>>2]|0;c[a+1176>>2]=r(q,b)|0;c[a+1340>>2]=b;c[a+1344>>2]=q;c[g>>2]=1;break}}c[g>>2]=0;f=a+1212|0;ff(c[f>>2]|0);c[f>>2]=0;e=a+1172|0;ff(c[e>>2]|0);c[e>>2]=0;g=a+1176|0;c[f>>2]=Xd(216,c[g>>2]|0)|0;b=Xd(4,c[g>>2]|0)|0;c[e>>2]=b;e=c[f>>2]|0;if((b|0)==0|(e|0)==0){a=65535;return a|0}Ud(e,0,(c[g>>2]|0)*216|0);b=a+16|0;cf(c[f>>2]|0,c[(c[b>>2]|0)+52>>2]|0,c[g>>2]|0);f=c[b>>2]|0;do if((c[a+1216>>2]|0)==0?(c[f+16>>2]|0)!=2:0){if((c[f+80>>2]|0?(q=c[f+84>>2]|0,c[q+920>>2]|0):0)?(c[q+944>>2]|0)==0:0){e=1;break}e=0}else e=1;while(0);q=r(c[f+56>>2]|0,c[f+52>>2]|0)|0;e=jf(a+1220|0,q,c[f+88>>2]|0,c[f+44>>2]|0,c[f+12>>2]|0,e)|0;if(e|0){a=e;return a|0}}else{c[f>>2]=b;c[a+12>>2]=m;c[a+8>>2]=o;e=c[p>>2]|0;c[a+16>>2]=e;f=c[e+52>>2]|0;do if(f){e=c[e+56>>2]|0;if(e>>>0>(4294967295/(f>>>0)|0)>>>0){a=65535;return a|0}else{c[a+1176>>2]=r(e,f)|0;break}}else{c[a+1176>>2]=0;e=c[e+56>>2]|0}while(0);c[a+1340>>2]=f;c[a+1344>>2]=e;c[a+3380>>2]=1}while(0);a=0;return a|0}function jf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a>>2]|0;if((h|0)!=0?(j=a+28|0,(c[j>>2]|0)!=-1):0){i=0;do{ff(c[h+(i*40|0)+4>>2]|0);h=c[a>>2]|0;c[h+(i*40|0)+4>>2]=0;i=i+1|0}while(i>>>0<((c[j>>2]|0)+1|0)>>>0)}ff(h);c[a>>2]=0;j=a+4|0;ff(c[j>>2]|0);c[j>>2]=0;j=a+12|0;ff(c[j>>2]|0);c[j>>2]=0;return kf(a,b,d,e,f,g)|0}function kf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if(b>>>0>11184810){a=65535;return a|0}c[a+36>>2]=65535;e=e>>>0>1?e:1;c[a+24>>2]=e;h=a+28|0;c[h>>2]=(g|0)==0?d:e;c[a+32>>2]=f;c[a+56>>2]=g;c[a+44>>2]=0;c[a+40>>2]=0;c[a+48>>2]=0;e=Xd(40,17)|0;c[a>>2]=e;if(!e){a=65535;return a|0}Ud(e,0,680);a:do if((c[h>>2]|0)!=-1){d=b*384|47;g=0;while(1){f=Xd(1,d)|0;e=c[a>>2]|0;c[e+(g*40|0)+4>>2]=f;if(!f){e=65535;break}c[e+(g*40|0)>>2]=f+(0-f&15);g=g+1|0;if(g>>>0>=((c[h>>2]|0)+1|0)>>>0)break a}return e|0}while(0);e=a+4|0;c[e>>2]=Xd(4,17)|0;h=Xd(16,(c[h>>2]|0)+1|0)|0;c[a+12>>2]=h;e=c[e>>2]|0;if((h|0)==0|(e|0)==0){a=65535;return a|0}Ud(e,0,68);c[a+20>>2]=0;c[a+16>>2]=0;a=0;return a|0}function lf(a){a=a|0;var b=0,d=0;c[a+1196>>2]=0;c[a+1192>>2]=0;d=c[a+1176>>2]|0;if(!d)return;a=c[a+1212>>2]|0;b=0;do{c[a+(b*216|0)+4>>2]=0;c[a+(b*216|0)+196>>2]=0;b=b+1|0}while(b>>>0<d>>>0);return}function mf(a){a=a|0;return (c[a+1188>>2]|0)==0|0}function nf(a){a=a|0;var b=0,d=0,e=0;if(!(c[a+1404>>2]|0)){if((c[a+1196>>2]|0)==(c[a+1176>>2]|0)){e=1;return e|0}}else{e=c[a+1176>>2]|0;if(!e){e=1;return e|0}a=c[a+1212>>2]|0;b=0;d=0;do{d=d+((c[a+(b*216|0)+196>>2]|0)!=0&1)|0;b=b+1|0}while(b>>>0<e>>>0);if((d|0)==(e|0)){e=1;return e|0}}e=0;return e|0}function of(a,b){a=a|0;b=b|0;var d=0;d=c[a+16>>2]|0;pf(c[a+1172>>2]|0,c[a+12>>2]|0,b,c[d+52>>2]|0,c[d+56>>2]|0);return} |
| | | function rg(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Nb;Nb=Nb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(jg()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)ug(d,r,l)}while((l|0)!=0);w=(mg(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((mg(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=vg(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=vg(G)|0;m=c[G>>2]|0;break}if(mg(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(64+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}wg(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=yg(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=11487;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=ji(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=11487;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?11487:11489):11488;x=72;break e}}case 117:{n=I;o=0;p=11487;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=11487;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?11497:s;t=Ag(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=11487;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){Bg(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Rb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=11487;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=xg(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?11487:11487+(m>>>4)|0;x=73}else if((x|0)==72){q=zg(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Cg(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}Bg(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=Cg(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}ug(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;Bg(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Bg(d,32,l,K,m);ug(d,p,o);Bg(d,48,l,K,m^65536);Bg(d,48,s,t,0);ug(d,r,t);Bg(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;wg(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Nb=J;return e|0}function sg(a){a=a|0;return 1}function tg(a){a=a|0;return}function ug(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Gg(b,d,a)|0;return}function vg(b){b=b|0;var d=0,e=0;if(!(mg(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((mg(a[e>>0]|0)|0)!=0)}return d|0}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Xb[e&31](a,d);break a}default:break a}while(0);while(0);return}function xg(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[528+(b&15)>>0]|0|f;b=ni(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function yg(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=ni(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function zg(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=mi(b|0,c|0,10,0)|0;f=c;c=v()|0;g=hi(b|0,c|0,10,0)|0;g=ji(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Bg(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=Nb;Nb=Nb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ri(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{ug(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}ug(a,f,e)}Nb=g;return}function Cg(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Dg(a,b,0)|0;return a|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Eg()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(jg()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(jg()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Eg(){return Fg()|0}function Fg(){return 5020}function Gg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Hg(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Tb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Tb[c[e+36>>2]&7](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);pi(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Hg(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Ig(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function Jg(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=ni(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Jg(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 Kg(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Lg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Nb;Nb=Nb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Hg(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Tb[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Nb=l;return f|0}function Mg(a){a=a|0;var b=0,c=0;b=(Kg(a)|0)+1|0;c=Og(b)|0;if(!c)a=0;else a=pi(c|0,a|0,b|0)|0;return a|0}function Ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(sg(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Lg(d,b)|0;tg(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Lg(d,b)|0}while(0);return e|0}function Og(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=Nb;Nb=Nb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[3097]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=12428+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[3097]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Nb=w;return v|0}l=c[3099]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=12428+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[3097]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[3102]|0;b=l>>>3;d=12428+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[3097]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[3099]=h;c[3102]=f;v=i;Nb=w;return v|0}g=c[3098]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[12692+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=12692+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[3098]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[3102]|0;b=l>>>3;d=12428+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[3097]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[3099]=j;c[3102]=h}v=i+8|0;Nb=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[3098]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[12692+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[12692+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[3099]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=12692+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[3098]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=12428+(b<<1<<2)|0;a=c[3097]|0;b=1<<b;if(!(a&b)){c[3097]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=12692+(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[3098]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Nb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[3099]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[3102]|0;if(b>>>0>15){v=a+m|0;c[3102]=v;c[3099]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[3099]=0;c[3102]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Nb=w;return v|0}h=c[3100]|0;if(h>>>0>m>>>0){t=h-m|0;c[3100]=t;v=c[3103]|0;u=v+m|0;c[3103]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Nb=w;return v|0}if(!(c[3215]|0)){c[3217]=4096;c[3216]=4096;c[3218]=-1;c[3219]=-1;c[3220]=0;c[3208]=0;c[3215]=n&-16^1431655768;a=4096}else a=c[3217]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Nb=w;return v|0}a=c[3207]|0;if(a|0?(l=c[3205]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Nb=w;return v|0}d:do if(!(c[3208]&4)){d=c[3103]|0;e:do if(d){e=12836;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=si(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=si(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[3216]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[3205]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[3207]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=si(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[3217]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((si(a|0)|0)==(-1|0)){si(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[3208]=c[3208]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=si(k|0)|0,p=si(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[3205]|0)+h|0;c[3205]=b;if(b>>>0>(c[3206]|0)>>>0)c[3206]=b;j=c[3103]|0;f:do if(j){b=12836;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[3100]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[3103]=u;c[3100]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[3104]=c[3219];break}if(g>>>0<(c[3101]|0)>>>0)c[3101]=g;d=g+h|0;b=12836;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[3100]|0)+i|0;c[3100]=v;c[3103]=k;c[k+4>>2]=v|1}else{if((c[3102]|0)==(b|0)){v=(c[3099]|0)+i|0;c[3099]=v;c[3102]=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[3097]=c[3097]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=12692+(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[3098]=c[3098]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=12428+(b<<1<<2)|0;a=c[3097]|0;b=1<<b;if(!(a&b)){c[3097]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=12692+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[3098]|0;d=1<<e;if(!(a&d)){c[3098]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Nb=w;return v|0}b=12836;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[3103]=u;c[3100]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[3104]=c[3219];d=a+4|0;c[d>>2]=27;c[b>>2]=c[3209];c[b+4>>2]=c[3210];c[b+8>>2]=c[3211];c[b+12>>2]=c[3212];c[3209]=g;c[3210]=h;c[3212]=0;c[3211]=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=12428+(b<<1<<2)|0;a=c[3097]|0;b=1<<b;if(!(a&b)){c[3097]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=12692+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[3098]|0;a=1<<e;if(!(b&a)){c[3098]=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[3101]|0;if((v|0)==0|g>>>0<v>>>0)c[3101]=g;c[3209]=g;c[3210]=h;c[3212]=0;c[3106]=c[3215];c[3105]=-1;c[3110]=12428;c[3109]=12428;c[3112]=12436;c[3111]=12436;c[3114]=12444;c[3113]=12444;c[3116]=12452;c[3115]=12452;c[3118]=12460;c[3117]=12460;c[3120]=12468;c[3119]=12468;c[3122]=12476;c[3121]=12476;c[3124]=12484;c[3123]=12484;c[3126]=12492;c[3125]=12492;c[3128]=12500;c[3127]=12500;c[3130]=12508;c[3129]=12508;c[3132]=12516;c[3131]=12516;c[3134]=12524;c[3133]=12524;c[3136]=12532;c[3135]=12532;c[3138]=12540;c[3137]=12540;c[3140]=12548;c[3139]=12548;c[3142]=12556;c[3141]=12556;c[3144]=12564;c[3143]=12564;c[3146]=12572;c[3145]=12572;c[3148]=12580;c[3147]=12580;c[3150]=12588;c[3149]=12588;c[3152]=12596;c[3151]=12596;c[3154]=12604;c[3153]=12604;c[3156]=12612;c[3155]=12612;c[3158]=12620;c[3157]=12620;c[3160]=12628;c[3159]=12628;c[3162]=12636;c[3161]=12636;c[3164]=12644;c[3163]=12644;c[3166]=12652;c[3165]=12652;c[3168]=12660;c[3167]=12660;c[3170]=12668;c[3169]=12668;c[3172]=12676;c[3171]=12676;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[3103]=u;c[3100]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[3104]=c[3219]}while(0);b=c[3100]|0;if(b>>>0>m>>>0){t=b-m|0;c[3100]=t;v=c[3103]|0;u=v+m|0;c[3103]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Nb=w;return v|0}}c[(jg()|0)>>2]=12;v=0;Nb=w;return v|0}function Pg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[3101]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[3102]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[3099]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[3097]=c[3097]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=12692+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[3098]=c[3098]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[3103]|0)==(j|0)){j=(c[3100]|0)+b|0;c[3100]=j;c[3103]=i;c[i+4>>2]=j|1;if((i|0)!=(c[3102]|0))return;c[3102]=0;c[3099]=0;return}if((c[3102]|0)==(j|0)){j=(c[3099]|0)+b|0;c[3099]=j;c[3102]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[3097]=c[3097]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=12692+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[3098]=c[3098]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[3102]|0)){c[3099]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=12428+(a<<1<<2)|0;b=c[3097]|0;a=1<<a;if(!(b&a)){c[3097]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=12692+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[3098]|0;d=1<<e;a:do if(!(b&d)){c[3098]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[3105]|0)+-1|0;c[3105]=j;if(j|0)return;a=12844;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[3105]=-1;return}function Qg(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Og(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Rg(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Sg(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Tg(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Vb[b&3]();c[a>>2]=324508639;return 0}function Ug(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Og(b)|0;if(a|0)break;a=di()|0;if(!a){a=0;break}Vb[a&3]()}return a|0}function Vg(a){a=a|0;Pg(a);return}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0;e=Kg(b)|0;d=Ug(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=Xg(d)|0;pi(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function Xg(a){a=a|0;return a+12|0}function Yg(a,b){a=a|0;b=b|0;c[a>>2]=5356;Wg(a+4|0,b);return}function Zg(a){a=a|0;return 1}function _g(a){a=a|0;Ca()}function $g(a){a=a|0;Ca()}function ah(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)pi(a|0,b|0,c|0)|0;return a|0}function bh(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function ch(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)ri(a|0,(dh(c)|0)&255|0,b|0)|0;return a|0}function dh(a){a=a|0;return a&255|0}function eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Nb;Nb=Nb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bh(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bh(b+d|0,g);a[h>>0]=d;break}else fh(b,d-f|0,e)|0;while(0);Nb=j;return}function fh(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=Nb;Nb=Nb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){gh(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;ch(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bh(g+f|0,i)}Nb=k;return b|0}function gh(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)_g(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Ug(j)|0;if(g|0)ah(k,l,g)|0;e=f-h-g|0;if(e|0)ah(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)Vg(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function hh(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)$g(b);if(f)b=c[b>>2]|0;return b+d|0}function ih(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Nb;Nb=Nb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=jh()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=11677;kh(11627,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Tb[c[(c[262]|0)+16>>2]&7](1048,e,f)|0){i=c[f>>2]|0;i=Qb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=11677;c[g+4>>2]=a;c[g+8>>2]=i;kh(11541,g)}else{c[i>>2]=11677;c[i+4>>2]=a;kh(11586,i)}}kh(11665,h)}function jh(){var a=0,b=0;a=Nb;Nb=Nb+16|0;if(!(Tg(12884,3)|0)){b=Rg(c[3222]|0)|0;Nb=a;return b|0}else kh(11816,a);return 0}function kh(a,b){a=a|0;b=b|0;var d=0;d=Nb;Nb=Nb+16|0;c[d>>2]=b;b=c[1254]|0;ng(b,a,d)|0;Ng(10,b)|0;Ca()}function lh(a){a=a|0;return}function mh(a){a=a|0;lh(a);Vg(a);return}function nh(a){a=a|0;return}function oh(a){a=a|0;return}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Nb;Nb=Nb+64|0;f=h;if(!(th(a,b,0)|0))if((b|0)!=0?(g=xh(b,1072,1056,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Zb[c[(c[g>>2]|0)+28>>2]&3](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Nb=h;return b|0}function qh(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(th(a,c[b+8>>2]|0,g)|0)wh(0,b,d,e,f);return}function rh(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(!(th(b,c[d+8>>2]|0,g)|0)){if(th(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else vh(0,d,e,f);while(0);return}function sh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(th(a,c[b+8>>2]|0,0)|0)uh(0,b,d,e);return}function th(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function uh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function wh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function xh(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Nb;Nb=Nb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(th(m,f,0)|0){c[n+48>>2]=1;$b[c[(c[m>>2]|0)+20>>2]&3](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{_b[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Nb=p;return d|0}function yh(a){a=a|0;lh(a);Vg(a);return}function zh(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(th(a,c[b+8>>2]|0,g)|0)wh(0,b,d,e,f);else{a=c[a+8>>2]|0;$b[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Ah(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(!(th(b,c[d+8>>2]|0,g)|0)){if(!(th(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;_b[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;$b[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else vh(0,d,e,f);while(0);return}function Bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(th(a,c[b+8>>2]|0,0)|0)uh(0,b,d,e);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function Ch(a){a=a|0;return}function Dh(){var a=0;a=Nb;Nb=Nb+16|0;if(!(Qg(12888,30)|0)){Nb=a;return}else kh(11865,a)}function Eh(a){a=a|0;var b=0;b=Nb;Nb=Nb+16|0;Pg(a);if(!(Sg(c[3222]|0,0)|0)){Nb=b;return}else kh(11915,b)}function Fh(){var a=0,b=0;a=jh()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Gh(c[b+12>>2]|0);Gh(Hh()|0)}function Gh(a){a=a|0;var b=0;b=Nb;Nb=Nb+16|0;Vb[a&3]();kh(11968,b)}function Hh(){var a=0;a=c[1316]|0;c[1316]=a+0;return a|0}function Ih(a){a=a|0;return}function Jh(a){a=a|0;c[a>>2]=5356;Nh(a+4|0);return}function Kh(a){a=a|0;Jh(a);Vg(a);return}function Lh(a){a=a|0;return Mh(a+4|0)|0}function Mh(a){a=a|0;return c[a>>2]|0}function Nh(a){a=a|0;var b=0,d=0;if(Zg(a)|0?(b=Oh(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)Vg(b);return}function Oh(a){a=a|0;return a+-12|0}function Ph(a){a=a|0;Jh(a);Vg(a);return}function Qh(a){a=a|0;lh(a);Vg(a);return}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;return th(a,b,0)|0}function Sh(a){a=a|0;lh(a);Vg(a);return}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Nb;Nb=Nb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Uh(a,b,0)|0))if(((b|0)!=0?(e=xh(b,1072,1160,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(th(c[a>>2]|0,c[b>>2]|0,0)|0)?!(th(c[a>>2]|0,1192,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=xh(a,1072,1056,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=xh(f,1072,1056,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Zb[c[(c[i>>2]|0)+28>>2]&3](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Nb=j;return a|0}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;if(th(a,b,0)|0)a=1;else a=th(b,1200,0)|0;return a|0}function Vh(a){a=a|0;lh(a);Vg(a);return}function Wh(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(th(b,c[d+8>>2]|0,h)|0)wh(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;_h(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;_h(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function Xh(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(!(th(b,c[d+8>>2]|0,g)|0)){if(!(th(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;$h(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;$h(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;$h(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;$h(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;_h(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else vh(0,d,e,f);while(0);return}function Yh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(th(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Zh(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Zh(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else uh(0,d,e,f);while(0);return}function Zh(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;Zb[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,(g&2|0)==0?2:e);return}function _h(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;$b[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function $h(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;_b[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function ai(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function bi(a){a=a|0;return}function ci(a){a=a|0;return}function di(){var a=0;a=c[3223]|0;c[3223]=a+0;return a|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Nb;Nb=Nb+16|0;e=f;c[e>>2]=c[d>>2];a=Tb[c[(c[a>>2]|0)+16>>2]&7](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Nb=f;return a&1|0}function fi(a){a=a|0;if(!a)a=0;else a=(xh(a,1072,1160,0)|0)!=0&1;return a|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function hi(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=gi(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function ki(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (u(o|0),p)|0}else{p=ki(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((ki(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ii(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;ji(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ji(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return li(a,b,c,d,0)|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function pi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ja(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 qi(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 pi(b,c,d)|0;return b|0}function ri(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 si(a){a=a|0;var b=0,d=0,e=0;e=Ga()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Na(b|0)|0;R(12);return -1}if((b|0)>(e|0))if(!(Ka(b|0)|0)){R(12);return -1}c[i>>2]=b;return d|0}function ti(a,b){a=a|0;b=b|0;return Qb[a&7](b|0)|0}function ui(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Rb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function vi(a,b,c){a=a|0;b=b|0;c=c|0;return Sb[a&3](b|0,c|0)|0}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Tb[a&7](b|0,c|0,d|0)|0}function xi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ub[a&1](b|0,c|0,d|0,e|0)|0}function yi(a){a=a|0;Vb[a&3]()}function zi(a,b){a=a|0;b=b|0;Wb[a&31](b|0)}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&31](b|0,c|0)}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Yb[a&7](b|0,c|0,d|0)}function Ci(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Zb[a&3](b|0,c|0,d|0,e|0)}function Di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;_b[a&7](b|0,c|0,d|0,e|0,f|0)}function Ei(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;$b[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Fi(a){a=a|0;t(0);return 0}function Gi(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function Hi(a,b){a=a|0;b=b|0;t(2);return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function Ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function Ki(){t(5)}function Li(){N()}function Mi(a){a=a|0;t(6)}function Ni(a,b){a=a|0;b=b|0;t(7)}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function Qi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function Ri(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Qb=[Fi,fg,Lh,_c,hd,jd,kd,Fi];var Rb=[Gi,og];var Sb=[Hi,dd,fd,Hi];var Tb=[Ii,gg,ph,Rh,Th,nd,Gd,Ii];var Ub=[Ji,hg];var Vb=[Ki,Li,ih,Dh];var Wb=[Mi,Dc,Gc,Hc,od,pd,rd,ud,vd,wd,xd,Sc,Cd,Dd,lh,mh,nh,oh,yh,Jh,Kh,Ph,Qh,Sh,Vh,$c,jc,kc,id,md,Eh,Mi];var Xb=[Ni,yd,zd,Ic,Ad,Bd,hc,ic,cd,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,ld,pg,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni,Ni];var Yb=[Oi,ad,bd,ed,gd,Oi,Oi,Oi];var Zb=[Pi,sh,Bh,Yh];var _b=[Qi,rh,Ah,Xh,Je,Ie,Qi,Qi];var $b=[Ri,qh,zh,Wh];return{___cxa_can_catch:ei,___cxa_is_pointer_type:fi,___errno_location:jg,___getTypeName:eg,___muldi3:hi,___udivdi3:mi,_bitshift64Lshr:ni,_bitshift64Shl:oi,_free:Pg,_i64Add:ii,_i64Subtract:ji,_main:fc,_malloc:Og,_memcpy:pi,_memmove:qi,_memset:ri,_sbrk:si,_strlen:Kg,dynCall_ii:ti,dynCall_iidiiii:ui,dynCall_iii:vi,dynCall_iiii:wi,dynCall_iiiii:xi,dynCall_v:yi,dynCall_vi:zi,dynCall_vii:Ai,dynCall_viii:Bi,dynCall_viiii:Ci,dynCall_viiiii:Di,dynCall_viiiiii:Ei,establishStackSpace:ec,globalCtors:ac,stackAlloc:bc,stackRestore:dc,stackSave:cc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=47616,DYNAMIC_BASE=5290496,DYNAMICTOP_PTR=47584;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEgAVABgAEAAQABAAEAARABMAFgAZABAAEAARABIAFAAWABkAHQAQABAAEgAVABgAGwAfACQAEQARABQAGAAeACMAKQAvABIAEwAWABsAIwAsADYAQQAVABYAGQAfACkANgBGAFgAGAAZAB0AJAAvAEEAWABzABAAEAAQABAAEQASABQAGAAQABAAEAARABIAFAAYABkAEAAQABEAEgAUABgAGQAcABAAEQASABQAGAAZABwAIQARABIAFAAYABkAHAAhACkAEgAUABgAGQAcACEAKQA2ABQAGAAZABwAIQApADYARwAYABkAHAAhACkANgBHAFsAEAAQABAAEAAQABAAEAAQABEAEQASABIAFQAVABgAGAAQABAAEAAQABAAEAAQABAAEQARABIAEgAVABUAGAAYABAAEAAQABAAEAAQABAAEAARABEAEwATABYAFgAZABkAEAAQABAAEAAQABAAEAAQABEAEQATABMAFgAWABkAGQAQABAAEAAQABEAEQASABIAFAAUABYAFgAZABkAHQAdABAAEAAQABAAEQARABIAEgAUABQAFgAWABkAGQAdAB0AEAAQABAAEAASABIAFQAVABgAGAAbABsAHwAfACQAJAAQABAAEAAQABIAEgAVABUAGAAYABsAGwAfAB8AJAAkABEAEQARABEAFAAUABgAGAAeAB4AIwAjACkAKQAvAC8AEQARABEAEQAUABQAGAAYAB4AHgAjACMAKQApAC8ALwASABIAEwATABYAFgAbABsAIwAjACwALAA2ADYAQQBBABIAEgATABMAFgAWABsAGwAjACMALAAsADYANgBBAEEAFQAVABYAFgAZABkAHwAfACkAKQA2ADYARgBGAFgAWAAVABUAFgAWABkAGQAfAB8AKQApADYANgBGAEYAWABYABgAGAAZABkAHQAdACQAJAAvAC8AQQBBAFgAWABzAHMAGAAYABkAGQAdAB0AJAAkAC8ALwBBAEEAWABYAHMAcwAQABAAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABAAEAAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHAFsAWwAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAWwBbABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAVABUAFQAVABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFQAVABUAFQAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABMAEwATABMAFgAWABYAFgAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQATABMAEwATABYAFgAWABYAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAWABYAFgAWABkAGQAZABkAHQAdAB0AHQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAFgAWABYAFgAZABkAGQAZAB0AHQAdAB0AEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAAQABAAEAAQABAAEAAQABAAEgASABIAEgAVABUAFQAVABgAGAAYABgAGwAbABsAGwAfAB8AHwAfACQAJAAkACQAEAAQABAAEAAQABAAEAAQABIAEgASABIAFQAVABUAFQAYABgAGAAYABsAGwAbABsAHwAfAB8AHwAkACQAJAAkABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEQARABEAEQARABEAEQARABQAFAAUABQAGAAYABgAGAAeAB4AHgAeACMAIwAjACMAKQApACkAKQAvAC8ALwAvABEAEQARABEAEQARABEAEQAUABQAFAAUABgAGAAYABgAHgAeAB4AHgAjACMAIwAjACkAKQApACkALwAvAC8ALwARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABIAEgASABIAEwATABMAEwAWABYAFgAWABsAGwAbABsAIwAjACMAIwAsACwALAAsADYANgA2ADYAQQBBAEEAQQASABIAEgASABMAEwATABMAFgAWABYAFgAbABsAGwAbACMAIwAjACMALAAsACwALAA2ADYANgA2AEEAQQBBAEEAEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAVABUAFQAVABYAFgAWABYAGQAZABkAGQAfAB8AHwAfACkAKQApACkANgA2ADYANgBGAEYARgBGAFgAWABYAFgAFQAVABUAFQAWABYAFgAWABkAGQAZABkAHwAfAB8AHwApACkAKQApADYANgA2ADYARgBGAEYARgBYAFgAWABYABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAGAAYABgAGAAZABkAGQAZAB0AHQAdAB0AJAAkACQAJAAvAC8ALwAvAEEAQQBBAEEAWABYAFgAWABzAHMAcwBzABgAGAAYABgAGQAZABkAGQAdAB0AHQAdACQAJAAkACQALwAvAC8ALwBBAEEAQQBBAFgAWABYAFgAcwBzAHMAcwAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2ABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcARwBHABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYARwBHAEcARwAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2AEcARwBHAEcAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcA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QJcAAAsAAAAUAAAADQAAAA4AAAAGAAAAAAAAANCXAAALAAAAFQAAAA0AAAAOAAAABAAAAAMAAAADAAAAAwAAAEg1TENCYXNlACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASDVMaXZlQ2xpZW50AGNsb3NlAHdlYkdMQ2FudmFzAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAZ290IGgyNjQgdmlkZW8AZ290IGgyNjUgdmlkZW8AT25seSBzdXBwb3J0IHZpZGVvIGguMjY0L2F2YyBvciBoLjI2NS9oZXZjIGNvZGVjLiBhY3R1YWw9JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4ACkVycm9yIGluIHNldHRpbmcgdGhlIGNvZGVjIGluIGhlYWRlciBkZWNvZGUgbW9kZQAKRXJyb3IgaW4gaGVhZGVyIHZwcyBkZWNvZGUgJXgACkVycm9yIGluIGhlYWRlciBzcHMgZGVjb2RlICV4AApFcnJvciBpbiBoZWFkZXIgcHBzIGRlY29kZSAleAAKRXJyb3IgaW4gc2V0dGluZyB0aGUgY29kZWMgaW4gZnJhbWUgZGVjb2RlIG1vZGUAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA4SDVMQ0Jhc2UAUDhINUxDQmFzZQBQSzhINUxDQmFzZQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAMTJINUxpdmVDbGllbnQATjEwZW1zY3JpcHRlbjd3cmFwcGVySThINUxDQmFzZUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQMTJINUxpdmVDbGllbnQAUEsxMkg1TGl2ZUNsaWVudABpaWlpAGF1ZGlvIGluaXQhICVkAEVycm9yIGluIENyZWF0ZSAlOHgKAApFcnJvciBpbiBzZXR0aW5nIG51bWJlciBvZiBjb3JlcwAKRXJyb3IgaW4gc2V0dGluZyBQcm9jZXNzb3IgdHlwZQBsaWJoZXZjIGluaXQAN0xpYmhldmMAMTJWaWRlb0RlY29kZXIAY29kZWMgPSAlZAB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBFcnJvciBpbiBDb2RlYyBkZWxldGUARXJyb3IgaW4gdmlkZW8gRnJhbWUgZGVjb2RlIDogcmV0ICV4IEVycm9yICV4CgBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAAGgoBBgcC/wQFAf8ocHNfYnVmX21nci0+YXU0X3N0YXR1c1tpZF0gIT0gMikAY29tbW9uXGloZXZjX2J1Zl9tZ3IuYwBpaGV2Y19idWZfbWdyX2dldF9uZXh0X2ZyZWUAaWhldmNfYnVmX21ncl9jaGVja19mcmVlAChwc19idWZfbWdyLT5hdTRfc3RhdHVzW2J1Zl9pZF0gIT0gMikAaWhldmNfYnVmX21ncl9yZWxlYXNlAGloZXZjX2J1Zl9tZ3Jfc2V0X3N0YXR1cwAoKGJzID4gMCkgJiYgKGJzIDw9IDMpKQBjb21tb25caWhldmNfZGVibGtfZWRnZV9maWx0ZXIuYwBpaGV2Y19kZWJsa19sdW1hX3ZlcnQAKGZpbHRlcl9mbGFnX3AgfHwgZmlsdGVyX2ZsYWdfcSkAKChicyA+IDApKQBpaGV2Y19kZWJsa19sdW1hX2hvcnoAaWhldmNfZGVibGtfY2hyb21hX3ZlcnQAaWhldmNfZGVibGtfY2hyb21hX2hvcnoAKChuYnJfZmxhZ3MgPT0gMHgxMTE4OCkgfHwgKG5icl9mbGFncyA9PSAweDEzM0NDKSB8fCAobmJyX2ZsYWdzID09IDB4MUZGRkYpKQBjb21tb25caWhldmNfaW50cmFfcHJlZF9maWx0ZXJzLmMAaWhldmNfaW50cmFfcHJlZF9sdW1hX3JlZl9zdWJzdF9hbGxfYXZsYmxlACgobnQgPT0gOCkgfHwgKG50ID09IDE2KSB8fCAobnQgPT0gMzIpKQAKW0hFVkMgREJHXSAlcy8lZDo6IABpaGV2Y2RfcmVzZXQAClJlc2V0IGNhbGxlZCAAClJlc2V0IGNhbGxlZCB3aXRob3V0IEluaXRpYWxpemluZyB0aGUgZGVjb2RlcgBpaGV2Y2RfY3RsAApEbyBub3RoaW5nAEAoIylJZDolc18lcyBWZXI6JXMgUmVsZWFzZWQgYnkgJXMgQnVpbGQ6ICVzIEAgJXMASEVWQ0RFQwBwcm9kdWN0aW9uADA1LjAwAElUVElBTQBNYXkgMzEgMjAxOQAxMDo1Mjo0MABhcGlfY2hlY2tfc3RydWN0X3Nhbml0eQBUaGUgaW5wdXQgYnl0ZXMgaXM6ICVkAGloZXZjZF9jeGFfYXBpX2Z1bmN0aW9uAGVycm9yIGNvZGUgPSAlZAoAKHBzX2NvZGVjLT5zX3BhcnNlLmk0X2VuZF9vZl9mcmFtZSAhPSAwKQBkZWNvZGVyXGloZXZjZF9kZWNvZGUuYwBpaGV2Y2RfZGVjb2RlAG5vcAAoMSA9PSAoKHU0X2JzICYgMykgPj4gMSkpAGRlY29kZXJcaWhldmNkX2RlYmxrLmMAaWhldmNkX2RlYmxrX2N0YgAoUFNMSUNFID09IHBzX3NsaWNlX2hkci0+aTFfc2xpY2VfdHlwZSB8fCBCU0xJQ0UgPT0gcHNfc2xpY2VfaGRyLT5pMV9zbGljZV90eXBlKQBkZWNvZGVyXGloZXZjZF9pbnRlcl9wcmVkLmMAaWhldmNkX2ludGVyX3ByZWRfY3RiAGRlY29kZXJcaWhldmNkX2NhYmFjLmMAaWhldmNkX2NhYmFjX2RlY29kZV90ZXJtaW5hdGUAKG51bWJpdHMgPj0gLTMyKQBkZWNvZGVyXGloZXZjZF9iaXRzdHJlYW0uYwBpaGV2Y2RfYml0c19zZWVrAChudW1iaXRzIDw9IDMyKQAoMCA9PSAoeDAgJSA4KSkAZGVjb2RlclxpaGV2Y2RfcGFyc2Vfc2xpY2UuYwBpaGV2Y2RfcGFyc2VfY29kaW5nX3VuaXQAKDAgPT0gKHkwICUgOCkpACh1NF9yYW5nZSA+PSAyNTYpAGRlY29kZXJcaWhldmNkX3BhcnNlX3Jlc2lkdWFsLmMAaWhldmNkX3BhcnNlX3Jlc2lkdWFsX2NvZGluZwAoKGN0eHRfaWR4ID49IDApICYmIChjdHh0X2lkeCA8IElIRVZDX0NBQl9DVFhUX0VORCkpAChudW1fY29lZmYgPiAwKQAobnVtX2NvZWZmIDwgMTcpACgobnVtX2NvZWZmIC0gMSkgPiAwKQAoKG51bV9jb2VmZiAtIDEpIDwgMTcpAChyaWNlX3BhcmFtID4gMCkAKHJpY2VfcGFyYW0gPCAxNykAKHU0X251bWJpbnMgPCAxNykAaWhldmNkX2NhYmFjX2RlY29kZV9ieXBhc3NfYmlucwAobnVtYmlucyA+IDApAChudW1iaW5zIDwgMTcpACgoayA+PSAwKSkAaWhldmNkX2NhYmFjX2RlY29kZV9ieXBhc3NfYmluc19lZ2sAKG51bW9uZXMgPiAwKQAobnVtb25lcyA8IDE3KQAoY19tYXggPiAwKQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2JpbnNfdHVuYXJ5ACgoY3R4dF9pbmRleCA+PSAwKSAmJiAoY3R4dF9pbmRleCA8IElIRVZDX0NBQl9DVFhUX0VORCkpACgoY3R4dF9pbmRleCArIChjX21heCA+PiBjdHh0X3NoaWZ0KSkgPCBJSEVWQ19DQUJfQ1RYVF9FTkQpACgoYmluX2luZGV4ID49IDApICYmIChiaW5faW5kZXggPCBJSEVWQ19DQUJfQ1RYVF9FTkQpKQAoc3RhdGVfbXBzIDwgMTI4KQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zX3R1bmFyeQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW4AaWhldmNkX2NhYmFjX2RlY29kZV9iaW4AKHBzX2NhYmFjICE9ICgodm9pZCopMCkpAGloZXZjZF9jYWJhY19pbml0AChwc19iaXRzdHJtICE9ICgodm9pZCopMCkpACgocXAgPj0gMCkgJiYgKHFwIDwgNTIpKQAoKGNhYmFjX2luaXRfaWRjID49IDApICYmIChjYWJhY19pbml0X2lkYyA8IDMpKQBpaGV2Y2RfY2FiYWNfcmVzZXQAKGNudCA8IDgpAGRlY29kZXJcaWhldmNkX3BhcnNlX2hlYWRlcnMuYwBpaGV2Y2RfcmVhZF9yYnNwX3RyYWlsaW5nX2JpdHMAKHBzX2NvZGVjLT5zX3BhcnNlLmk0X2N1cl9zbGljZV9pZHggPT0gMSkAZGVjb2RlclxpaGV2Y2RfcGFyc2Vfc2xpY2VfaGVhZGVyLmMAaWhldmNkX3BhcnNlX3NsaWNlX2hlYWRlcgAoaXNfdV9maXJzdCA9PSAxKQBkZWNvZGVyXGloZXZjZF9mbXRfY29udi5jAGloZXZjZF9mbXRfY29udgB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=47600;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){var AudioContext=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;var context=AudioContext?new AudioContext:null;if(!context){cc.warn("no audio support")}const MVP=`\n uniform mat4 viewProj;\n attribute vec3 a_position;\n attribute vec2 a_uv0;\n varying vec2 uv0;\n void main () {\n vec4 pos = viewProj * vec4(a_position, 1);\n gl_Position = pos;\n uv0 = a_uv0;\n }`;const fragmentShaderScript=`\n precision highp float;\n varying highp vec2 uv0;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n const mat4 YUV2RGB = mat4\n (\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1\n );\n void main(void) {\n highp float y = texture2D(ySampler, uv0).r;\n highp float u = texture2D(uSampler, uv0).r;\n highp float v = texture2D(vSampler, uv0).r;\n gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;\n }`;const renderer=cc.renderer;const renderEngine=renderer.renderEngine;const Texture2D=renderEngine.Texture2D;const gfx=renderEngine.gfx;const Pass=renderEngine.renderer.Pass;const Technique=renderEngine.renderer.Technique;const Effect=renderEngine.renderer.Effect;const PARAM_TEXTURE_2D=renderEngine.renderer.PARAM_TEXTURE_2D;const option={format:gfx.TEXTURE_FMT_L8,minFilter:gfx.FILTER_LINEAR,magFilter:gfx.FILTER_LINEAR,wrapS:gfx.WRAP_CLAMP,wrapT:gfx.WRAP_CLAMP};const YUV2RGB_Material=cc.Class({extends:renderEngine.Material,create(sprite){sprite.setState(0);let name="YUV2RGB";let lib=renderer._forward._programLib;!lib._templates[name]&&lib.define(name,MVP,fragmentShaderScript,[]);let pass=new Pass(name);pass.setDepth(false,false);pass.setCullMode(gfx.CULL_NONE);pass.setBlend(gfx.BLEND_FUNC_ADD,gfx.BLEND_SRC_ALPHA,gfx.BLEND_ONE_MINUS_SRC_ALPHA,gfx.BLEND_FUNC_ADD,gfx.BLEND_SRC_ALPHA,gfx.BLEND_ONE_MINUS_SRC_ALPHA);let mainTech=new Technique(["transparent"],[{name:"ySampler",type:PARAM_TEXTURE_2D,val:this.ySampler=new Texture2D(renderer.device,option)},{name:"uSampler",type:PARAM_TEXTURE_2D,val:this.uSampler=new Texture2D(renderer.device,option)},{name:"vSampler",type:PARAM_TEXTURE_2D,val:this.vSampler=new Texture2D(renderer.device,option)}],[pass]);this._effect=this.effect=new Effect([mainTech],{},[]);this._mainTech=mainTech;this._texture=sprite.spriteFrame.getTexture();this.updateHash();sprite._state=114;sprite._material=sprite._renderData._material=this;this.samplerOptions=[{level:0},{level:0},{level:0}];return this},isWebGL(){return true},drawNextOutputPicture(){this.updateHash(Math.random().toString(36));this.ySampler.updateImage(this.samplerOptions[0]);this.uSampler.updateImage(this.samplerOptions[1]);this.vSampler.updateImage(this.samplerOptions[2])}});Module.print=(text=>cc.log(text));Module.printErr=(text=>cc.error(text));Module.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(component){cc.dynamicAtlasManager.enabled=false;let sprite=component.node.getComponent(cc.Sprite);this.webGLCanvas=component._material=(new YUV2RGB_Material).create(sprite);this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){cc.log(this,err)},setStartTime:function(offset){cc.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){var _this=this;var reconnectCount=0;var reconnectTime=2e3;cc.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;cc.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;cc.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){cc.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){cc.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;cc.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){const size=w*h;const size4=size>>2;const samplerOptions=this.webGLCanvas.samplerOptions;samplerOptions[0].width=w;samplerOptions[0].height=h;samplerOptions[1].width=samplerOptions[2].width=w>>1;samplerOptions[1].height=samplerOptions[2].height=h>>1;this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];samplerOptions[0].image=HEAPU8.subarray(y,y+size);samplerOptions[1].image=HEAPU8.subarray(u,u+size4);samplerOptions[2].image=HEAPU8.subarray(v,v+size4);this.webGLCanvas.drawNextOutputPicture()}}})}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_create(){return 11}function _pthread_join(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _sched_yield(){return 0}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall54,"D":___syscall6,"E":__embind_create_inheriting_constructor,"F":__embind_register_bool,"G":__embind_register_class,"H":__embind_register_class_class_function,"I":__embind_register_class_function,"J":__embind_register_class_property,"K":__embind_register_emval,"L":__embind_register_float,"M":__embind_register_integer,"N":__embind_register_memory_view,"O":__embind_register_std_string,"P":__embind_register_std_wstring,"Q":__embind_register_void,"R":__emscripten_traverse_stack,"S":__emval_addMethodCaller,"T":__emval_allocateDestructors,"U":__emval_as,"V":__emval_call,"W":__emval_call_method,"X":__emval_call_void_method,"Y":__emval_decref,"Z":__emval_get_global,"_":__emval_get_method_caller,"$":__emval_get_property,"aa":__emval_incref,"ab":__emval_lookupTypes,"ac":__emval_new,"ad":__emval_new_cstring,"ae":__emval_new_object,"af":__emval_register,"ag":__emval_run_destructors,"ah":__emval_set_property,"ai":__emval_take_value,"aj":__formatString,"ak":__reallyNegative,"al":_abort,"am":_clock,"an":_embind_repr,"ao":_emscripten_get_callstack_js,"ap":_emscripten_get_heap_size,"aq":_emscripten_log,"ar":_emscripten_log_js,"as":_emscripten_memcpy_big,"at":_emscripten_resize_heap,"au":_init,"av":_llvm_trap,"aw":_pthread_create,"ax":_pthread_join,"ay":_sched_yield,"az":abortOnCannotGrowMemory,"aA":constNoSmartPtrRawPointerToWireType,"aB":count_emval_handles,"aC":craftEmvalAllocator,"aD":craftInvokerFunction,"aE":createNamedFunction,"aF":downcastPointer,"aG":embind__requireFunction,"aH":embind_init_charCodes,"aI":emval_get_global,"aJ":ensureOverloadTable,"aK":exposePublicSymbol,"aL":extendError,"aM":floatReadValueFromPointer,"aN":flushPendingDeletes,"aO":flush_NO_FILESYSTEM,"aP":genericPointerToWireType,"aQ":getBasestPointer,"aR":getInheritedInstance,"aS":getInheritedInstanceCount,"aT":getLiveInheritedInstances,"aU":getShiftFromSize,"aV":getStringOrSymbol,"aW":getTypeName,"aX":get_first_emval,"aY":heap32VectorToArray,"aZ":init_ClassHandle,"a_":init_RegisteredPointer,"a$":init_embind,"ba":init_emval,"bb":integerReadValueFromPointer,"bc":makeClassHandle,"bd":makeLegalFunctionName,"be":new_,"bf":nonConstNoSmartPtrRawPointerToWireType,"bg":readLatin1String,"bh":registerInheritedInstance,"bi":registerType,"bj":replacePublicSymbol,"bk":requireHandle,"bl":requireRegisteredType,"bm":runDestructor,"bn":runDestructors,"bo":setDelayFunction,"bp":shallowCopyInternalPointer,"bq":simpleReadValueFromPointer,"br":throwBindingError,"bs":throwInstanceAlreadyDeleted,"bt":throwInternalError,"bu":throwUnboundTypeError,"bv":unregisterInheritedInstance,"bw":upcastPointer,"bx":validateThis,"by":whenDependentTypesAreResolved,"bz":tempDoublePtr,"bA":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bz|0,i=env.bA|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=env.bv,Pb=env.bw,Qb=env.bx,Rb=env.by,Sb=47616,Tb=5290496,Ub=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Dh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=Sb;Sb=Sb+32|0;ja=la;o=f+376|0;ka=f+660|0;ia=c[f+356>>2]|0;q=a[ia+10>>0]|0;if((a[ia+16>>0]|0)!=0?(i|0)==2&(c[f+464>>2]|0)==0:0)p=vh(ka,o,(j|0)==0?40:41)|0;else p=0;n=(i<<1)+-1|0;ia=(j|0)!=0;if(ia){g=57;l=75;m=i+-2|0}else{l=(i*3|0)+-6+(i+-1>>2)|0;g=l+42|0;l=l+60|0;m=i+1>>2}h=Bh(ka,o,n,g,m,n)|0;g=Bh(ka,o,n,l,m,n)|0;if((h|0)>3)h=(Eh(ka,o,h+-2>>1)|0)+((h&1|2)<<(h>>>1)+-1)|0;if((g|0)>3)g=(Eh(ka,o,g+-2>>1)|0)+((g&1|2)<<(g>>>1)+-1)|0;do if((c[f+468>>2]|0)==1){if((i|0)!=2?!((i|0)==3&(j|0)==0):0){ha=0;break}ha=(k+-6|0)>>>0<9?2:(k+-22|0)>>>0<9&1}else ha=0;while(0);fa=(ha|0)==2;l=fa?h:g;h=fa?g:h;fa=f+404|0;ga=c[fa>>2]|0;a[ga>>0]=0;a[ga+1>>0]=ha<<1|p;c[fa>>2]=ga+2;ea=(i|0)>2;if(ea){g=c[25120+(i+-3+(ha*3|0)<<2)>>2]|0;da=d[g+((l>>2<<i+-2)+(h>>2))>>0]|0}else{da=0;g=0}h=d[(l<<2&12|h&3)+(25056+(ha<<4))>>0]|0;if(ea)ba=c[25168+(i+-3+(ha*3|0)<<2)>>2]|0;else ba=g;g=(i|0)==3;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;b[ja+16>>1]=0;do if(!ia)if(g){g=(ha|0)==0?91:97;X=124;break}else{g=(i|0)>3?103:82;X=124;break}else{g=g?118:(i|0)>3?121:109;X=140}while(0);Y=i+-2|0;Z=(1<<Y)+-1|0;_=ia?2:0;$=f+664|0;aa=h+-1|0;W=1<<h;V=(i|0)==2;O=(j|0)==0?82:109;P=ia^1;Q=f+388|0;R=f+380|0;S=f+392|0;T=f+384|0;U=f+464|0;N=q<<24>>24!=0;M=da;B=1;l=0;h=g;a:while(1){z=(M|0)!=0;if(ea&z)g=d[ba+M>>0]|0;else g=0;A=g&Z;x=g>>>Y;j=ja+(x<<1)|0;q=e[j>>1]|0;w=(e[ja+(x+1<<1)>>1]|0)>>>A<<1&2|q>>>(A+1|0)&1;L=(M|0)>0;if((M|0)<(da|0)&L){g=c[ka>>2]|0;m=c[$>>2]|0;o=((w|0)==0?78:79)+_+(f+668)|0;n=a[o>>0]|0;k=n&255;if(g>>>0<=255){ca=30;break}if(n<<24>>24<=-1){ca=32;break}n=s(g|0)|0;n=d[(g<<n+-1>>>28&3)+(64+(k>>>1<<2))>>0]<<23-n;K=g-n|0;i=m>>>0<K>>>0;g=m-(i?0:K)|0;n=i?K:n;i=k&1^(i^1)&1;a[o>>0]=a[320+(i|k<<1)>>0]|0;if(n>>>0<256){m=s(n|0)|0;p=m+-1|0;k=c[R>>2]|0;m=c[Q>>2]<<k>>>(33-m|0);k=k+p|0;c[R>>2]=k;if(k>>>0<=32){if((k|0)==32)ca=39}else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;m=o|m;ca=39}if((ca|0)==39){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=k+-32;c[S>>2]=Rk(K|0)|0}n=n<<p;g=m|g<<p}c[ka>>2]=n;c[$>>2]=g;g=1<<A;if(!i){b[j>>1]=(g^65535)&q;g=B}else{o=1;ca=43}}else{o=0;g=1<<A;ca=43}if((ca|0)==43){ca=0;b[j>>1]=g|q;m=(M|0)==(da|0);g=m?W:0;n=m&1;m=m?aa:15;b:do if((m|0)>-1){v=z&P?3:0;u=n;while(1){if((m|0)==0&(o|0)!=0){n=u;break b}if(!V)if(!(m|M)){n=0;h=O}else n=v+(d[36480+(ha<<6)+(w<<4)+m>>0]|0)|0;else n=d[36672+(ha<<4)+m>>0]|0;n=h+n|0;k=c[ka>>2]|0;i=c[$>>2]|0;j=f+668+n|0;p=a[j>>0]|0;q=p&255;if(k>>>0<=255){ca=51;break a}if(n>>>0>=154){ca=53;break a}if(p<<24>>24<=-1){ca=55;break a}n=s(k|0)|0;n=d[(k<<n+-1>>>28&3)+(64+(q>>>1<<2))>>0]<<23-n;r=k-n|0;K=i>>>0<r>>>0;t=q&1^(K^1)&1;n=K?r:n;r=i-(K?0:r)|0;a[j>>0]=a[320+(t|q<<1)>>0]|0;if(n>>>0<256){k=s(n|0)|0;j=k+-1|0;i=c[R>>2]|0;k=c[Q>>2]<<i>>>(33-k|0);i=i+j|0;c[R>>2]=i;if(i>>>0<=32){if((i|0)==32)ca=62}else{p=64-i|0;if(p>>>0<32)p=(c[S>>2]|0)>>>p;else p=0;k=p|k;ca=62}if((ca|0)==62){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=i+-32;c[S>>2]=Rk(K|0)|0}k=k|r<<j;n=n<<j}else k=r;c[ka>>2]=n;c[$>>2]=k;o=(t|0)==0?o:0;g=t<<m|g;n=t+u|0;if((m|0)>0){m=m+-1|0;u=n}else break}}while(0);K=(o|0)!=0&1;y=g|K;K=n+K|0;if(!K)g=B;else{l=l+1|0;I=c[fa>>2]|0;b[I+2>>1]=y;b[I>>1]=x<<8|A;x=(z&P?2:0)|(B|0)==0;B=s(y|0)|0;C=31-B|0;B=y<<B;w=(x<<2)+X|0;t=0;u=B;n=0;g=1;v=C;while(1){if((u|0)<0){if((n|0)>=8){H=t;break}m=w+g|0;o=c[ka>>2]|0;p=c[$>>2]|0;i=f+668+m|0;k=a[i>>0]|0;j=k&255;if(o>>>0<=255){ca=70;break a}if(m>>>0>=154){ca=72;break a}if(k<<24>>24<=-1){ca=74;break a}m=s(o|0)|0;m=d[(o<<m+-1>>>28&3)+(64+(j>>>1<<2))>>0]<<23-m;q=o-m|0;H=p>>>0<q>>>0;r=j&1^(H^1)&1;m=H?q:m;q=p-(H?0:q)|0;a[i>>0]=a[320+(r|j<<1)>>0]|0;if(m>>>0<256){o=s(m|0)|0;i=o+-1|0;p=c[R>>2]|0;o=c[Q>>2]<<p>>>(33-o|0);p=p+i|0;c[R>>2]=p;if(p>>>0<=32){if((p|0)==32)ca=81}else{k=64-p|0;if(k>>>0<32)k=(c[S>>2]|0)>>>k;else k=0;o=k|o;ca=81}if((ca|0)==81){ca=0;c[Q>>2]=c[S>>2];H=c[T>>2]|0;c[T>>2]=H+4;H=c[H>>2]|0;c[R>>2]=p+-32;c[S>>2]=Rk(H|0)|0}o=o|q<<i;m=m<<i}else o=q;c[ka>>2]=m;c[$>>2]=o;m=r<<v|t;n=n+1|0;g=(r|0)==0?g+((g|0)!=0&(g|0)<3&1)|0:0}else m=t;H=u<<1;o=s(H|0)|0;u=H<<o;if(!u){H=m;break}else{t=m;v=v+-1-o|0}}G=Mk(y|0)|0;G=(y|0)==0?31:G;if((C-G|0)>3)u=(c[U>>2]|0)==0;else u=0;if(!H){F=0;t=-1;m=c[ka>>2]|0;i=c[$>>2]|0}else{t=31-(s(H|0)|0)|0;m=(ia?x|4:x)+148|0;n=c[ka>>2]|0;k=c[$>>2]|0;p=f+668+m|0;o=a[p>>0]|0;i=o&255;if(n>>>0<=255){ca=90;break}if(m>>>0>=154){ca=92;break}if(o<<24>>24<=-1){ca=94;break}q=s(n|0)|0;q=d[(n<<q+-1>>>28&3)+(64+(i>>>1<<2))>>0]<<23-q;j=n-q|0;F=k>>>0<j>>>0;r=i&1^(F^1)&1;q=F?j:q;j=k-(F?0:j)|0;a[p>>0]=a[320+(r|i<<1)>>0]|0;if(q>>>0<256){m=s(q|0)|0;k=m+-1|0;o=c[R>>2]|0;m=c[Q>>2]<<o>>>(33-m|0);o=o+k|0;c[R>>2]=o;if(o>>>0<=32){if((o|0)==32)ca=101}else{n=64-o|0;if(n>>>0<32)n=(c[S>>2]|0)>>>n;else n=0;m=n|m;ca=101}if((ca|0)==101){ca=0;c[Q>>2]=c[S>>2];F=c[T>>2]|0;c[T>>2]=F+4;F=c[F>>2]|0;c[R>>2]=o+-32;c[S>>2]=Rk(F|0)|0}n=m|j<<k;m=q<<k}else{n=j;m=q}c[ka>>2]=m;c[$>>2]=n;F=r<<t;i=n}E=N&u;D=m>>>0>255;if(E){if(!D){ca=121;break}k=K+-1|0;if((K|0)<=1){ca=123;break}if((K|0)>=18){ca=125;break}o=c[Q>>2]|0;p=c[R>>2]|0;r=33-K|0;n=o<<p>>>r;p=p+k|0;c[R>>2]=p;if(p>>>0<=32)if((p|0)==32)ca=131;else{j=p;q=o}else{o=64-p|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=131}if((ca|0)==131){ca=0;q=c[S>>2]|0;c[Q>>2]=q;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=p+-32|0;c[R>>2]=j;c[S>>2]=Rk(A|0)|0}p=i;o=0;do{k=k+-1|0;z=n>>>k&1|p<<1;A=z>>>0<m>>>0;p=z-(A?0:m)|0;o=o<<1|(A^1)&1}while((k|0)!=0);c[$>>2]=p;n=o<<r;o=q}else{if(!D){ca=106;break}if((K|0)<=0){ca=108;break}if((K|0)>=17){ca=110;break}o=c[Q>>2]|0;k=c[R>>2]|0;q=32-K|0;n=o<<k>>>q;k=k+K|0;c[R>>2]=k;if(k>>>0<=32)if((k|0)==32)ca=116;else j=k;else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=116}if((ca|0)==116){ca=0;o=c[S>>2]|0;c[Q>>2]=o;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=k+-32|0;c[R>>2]=j;c[S>>2]=Rk(A|0)|0}k=0;p=K;do{p=p+-1|0;z=n>>>p&1|i<<1;A=z>>>0<m>>>0;i=z-(A?0:m)|0;k=k<<1|(A^1)&1}while((p|0)!=0);c[$>>2]=i;n=k<<q;p=i}z=0;k=0;A=0;r=n;y=C;while(1){if((B|0)<0){x=1<<y;x=((x&H|0)==0?1:2)+((x&F|0)!=0&1)|0;if((x|0)==(((z|0)<8?((y|0)==(t|0)?3:2):1)|0)){q=19-A|0;if(!D){ca=141;break a}i=0;while(1){n=j+1|0;c[R>>2]=n;if((n|0)==32){w=c[S>>2]|0;c[Q>>2]=w;u=c[T>>2]|0;c[T>>2]=u+4;u=c[u>>2]|0;c[R>>2]=0;c[S>>2]=Rk(u|0)|0;u=0}else{w=o;u=n}n=o<<j>>>31|p<<1;C=n>>>0<m>>>0;p=n-(C?0:m)|0;c[$>>2]=p;n=i+1|0;if((n|0)==(q|0)|C)break;else{i=n;o=w;j=u}}do if(i>>>0<3){v=i<<A;if(!A){n=v;j=u;o=w;break}if((A|0)<=0){ca=147;break a}if((A|0)>=17){ca=149;break a}n=w<<u>>>(32-A|0);j=u+A|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=155;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=155}if((ca|0)==155){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Rk(C|0)|0}q=A;i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i|v}else{v=i+-3|0;q=v+A|0;v=(1<<v)+2<<A;if(!q){n=v;j=u;o=w;break}if(q>>>0>=17){ca=161;break a}n=w<<u>>>(32-q|0);j=u+q|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=167;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=167}if((ca|0)==167){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Rk(C|0)|0}i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i+v|0}while(0);u=n+x|0}else u=x;n=(r|0)<0?0-u|0:u;i=u+k|0;if(E){n=(y|0)==(G|0)&((i|0)%2|0|0)==1?0-n|0:n;k=i}b[I+4+(z<<1)>>1]=n;q=z+1|0;r=r<<1;i=A+((A|0)<4&(u|0)>(3<<A|0)&1)|0}else{q=z;i=A}C=B<<1;n=s(C|0)|0;B=C<<n;if(!B)break;else{z=q;A=i;y=y+-1-n|0}}c[fa>>2]=(c[fa>>2]|0)+4+(K<<1)}}if(L){M=M+-1|0;B=g}else{ca=178;break}}switch(ca|0){case 30:{J(42507,42525,520,42557);break}case 32:{J(43123,42525,520,42557);break}case 51:{J(42507,42525,601,42557);break}case 53:{J(42586,42525,601,42557);break}case 55:{J(43123,42525,601,42557);break}case 70:{J(42507,42525,689,42557);break}case 72:{J(42586,42525,689,42557);break}case 74:{J(43123,42525,689,42557);break}case 90:{J(42507,42525,745,42557);break}case 92:{J(42586,42525,745,42557);break}case 94:{J(43123,42525,745,42557);break}case 106:{J(42507,42525,756,42557);break}case 108:{J(42639,42525,756,42557);break}case 110:{J(42655,42525,756,42557);break}case 121:{J(42507,42525,762,42557);break}case 123:{J(42672,42525,762,42557);break}case 125:{J(42694,42525,762,42557);break}case 141:{J(42507,42525,808,42557);break}case 147:{J(42717,42525,827,42557);break}case 149:{J(42734,42525,827,42557);break}case 161:{J(42752,42525,843,42557);break}case 178:{a[ga>>0]=l;Sb=la;return 0}}return 0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;j=a+4|0;a=c[j>>2]|0;if(k>>>0<=255)J(42507,42291,478,42770);if((d|0)<=0)J(42802,42291,479,42770);if((d|0)>=17)J(42816,42291,482,42770);i=b+12|0;g=b+4|0;h=c[g>>2]|0;f=c[i>>2]<<h>>>(32-d|0);h=h+d|0;c[g>>2]=h;if(h>>>0<=32){if((h|0)==32)e=12}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;f=e|f;e=12}if((e|0)==12){e=b+16|0;c[i>>2]=c[e>>2];i=b+8|0;b=c[i>>2]|0;c[i>>2]=b+4;b=c[b>>2]|0;c[g>>2]=h+-32;c[e>>2]=Rk(b|0)|0}e=0;do{d=d+-1|0;i=f>>>d&1|a<<1;b=i>>>0<k>>>0;a=i-(b?0:k)|0;e=e<<1|(b^1)&1}while((d|0)!=0);c[j>>2]=a;return e|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+4|0;e=c[g>>2]|0;d=c[f>>2]<<e>>>(32-b|0);e=e+b|0;c[g>>2]=e;if(e>>>0<=32){if((e|0)!=32){g=d;return g|0}}else{b=64-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;d=b|d}b=a+16|0;c[f>>2]=c[b>>2];a=a+8|0;f=c[a>>2]|0;c[a>>2]=f+4;f=c[f>>2]|0;c[g>>2]=e+-32;c[b>>2]=Rk(f|0)|0;g=d;return g|0}function Gh(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=a+4|0;g=c[m>>2]|0;i=c[a>>2]|0;if((d|0)<=0)J(42907,42291,614,43141);if(i>>>0<=255)J(42507,42291,615,43141);l=b+12|0;k=b+4|0;j=c[k>>2]|0;f=32-d|0;e=c[l>>2]<<j>>>f;if(j>>>0>f>>>0){a=64-d-j|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;a=a|e}else a=e;h=0;a=a<<f;while(1){f=a>>>31|g<<1;e=f>>>0<i>>>0;g=f-(e?0:i)|0;e=e^1;f=h+1|0;if(!((f|0)<(d|0)&e))break;else{h=f;a=a<<1}}e=e&1;a=f+j|0;c[k>>2]=a;if(a>>>0<=31){b=h+e|0;c[m>>2]=g;return b|0}d=b+16|0;c[l>>2]=c[d>>2];l=b+8|0;b=c[l>>2]|0;c[l>>2]=b+4;b=c[b>>2]|0;c[k>>2]=a+-32;c[d>>2]=Rk(b|0)|0;b=h+e|0;c[m>>2]=g;return b|0}function Hh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;j=c[e+360>>2]|0;i=c[e+456>>2]|0;C=(c[e+624>>2]|0)+(i<<1)|0;B=c[e+460>>2]|0;D=(c[e+628>>2]|0)+(B<<1)|0;if(!B)l=0;else l=(1<<(((g|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h+-8|0)/8|0)|0)+((g|0)/64|0)>>0]|0)!=0&1;do if(!i){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0){B=1;break}if(!(c[e+324>>2]|0))B=1;else k=7}else k=7;while(0);if((k|0)==7){B=g+-8|0;B=(1<<(((B|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h|0)/8|0)|0)+((B|0)/64|0)>>0]|0)==0}t=1<<f;u=(t|0)/8|0;v=e+472|0;w=(c[v>>2]|0)==3;x=w?2:1;y=E+4|0;z=E+8|0;A=e+12192|0;s=0;i=l;while(1){o=(i|0)==0;p=D+(r(s,u)|0)|0;q=s<<1;if(B)i=1;else i=d[p>>0]|0;if(o)g=1;else g=d[C>>0]|0;do if((i|0)==(g|0))if(i>>>0<2){c[E>>2]=0;c[y>>2]=1;f=26;i=0;g=1;break}else{c[E>>2]=i;g=(i+29&31)+2|0;c[y>>2]=g;f=((i+-1|0)%32|0)+2|0;break}else{c[E>>2]=i;c[y>>2]=g;if((i|0)!=0&(g|0)!=0)f=0;else f=(i|0)!=1&(g|0)!=1?1:26}while(0);c[z>>2]=f;if((c[e+492+(q<<2)>>2]|0)==1)i=c[E+(c[e+508+(q<<2)>>2]<<2)>>2]|0;else{if((i|0)>(g|0)){c[y>>2]=i;c[E>>2]=g;h=g}else{h=i;i=g}if((h|0)>(f|0)){c[z>>2]=h;c[E>>2]=f;j=h;g=f}else{j=f;g=h}if((i|0)>(j|0)){c[z>>2]=i;c[y>>2]=j;h=j}else{h=i;i=j}n=c[e+524+(q<<2)>>2]|0;n=n+((n|0)>=(g|0)&1)|0;n=n+((n|0)>=(h|0)&1)|0;i=n+((n|0)>=(i|0)&1)|0}c[e+476+(q<<2)>>2]=i;n=i&255;m=((t|0)/(x|0)|0|0)/4|0;bc[c[A>>2]&15](p,n,m);bc[c[A>>2]&15](C,n,m);if(w){l=1;do{i=a[p>>0]|0;g=i&255;n=r(l,u)|0;if(o)h=1;else h=d[C+n>>0]|0;do if((h|0)==(g|0))if((i&255)<2){c[E>>2]=0;c[y>>2]=1;i=26;g=0;h=1;break}else{c[E>>2]=g;h=(i+29&31)+2&255;c[y>>2]=h;i=((g+-1|0)%32|0)+2|0;break}else{c[E>>2]=g;c[y>>2]=h;if(i<<24>>24!=0&(h|0)!=0)i=0;else i=i<<24>>24!=1&(h|0)!=1?1:26}while(0);c[z>>2]=i;k=l+q|0;if((c[e+492+(k<<2)>>2]|0)==1)i=c[E+(c[e+508+(k<<2)>>2]<<2)>>2]|0;else{if((g|0)>(h|0)){c[y>>2]=g;c[E>>2]=h;j=h}else{j=g;g=h}if((j|0)>(i|0)){c[z>>2]=j;c[E>>2]=i;f=j}else{f=i;i=j}if((g|0)>(f|0)){c[z>>2]=g;c[y>>2]=f;h=f}else{h=g;g=f}f=c[e+524+(k<<2)>>2]|0;i=f+((f|0)>=(i|0)&1)|0;i=i+((i|0)>=(h|0)&1)|0;i=i+((i|0)>=(g|0)&1)|0}c[e+476+(k<<2)>>2]=i;k=i&255;bc[c[A>>2]&15](p,k,m);bc[c[A>>2]&15](C+n|0,k,m);l=l+1|0}while(l>>>0<x>>>0)}s=s+1|0;if(s>>>0>=x>>>0)break;else i=1}if(c[v>>2]|0){Sb=F;return}E=c[e+476>>2]|0;c[e+480>>2]=E;c[e+484>>2]=E;c[e+488>>2]=E;Sb=F;return}function Ih(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;m=d+376|0;n=d+660|0;o=c[d+648>>2]|0;do if(!(a[o+76>>0]|0)){l=c[e+12>>2]|0;if(((l>>>6&60)+(l>>>10&60)|0)!=4?vh(n,m,(c[d+976>>2]|0)+20|0)|0:0){f=2;p=4;break}f=vh(n,m,24)|0;g=e+8|0;a[g>>0]=0;h=e+9|0;a[h>>0]=0;if((f|0)==1)f=1;else{k=g;l=h;p=6}}else{f=0;p=4}while(0);if((p|0)==4){k=e+8|0;a[k>>0]=0;l=e+9|0;a[l>>0]=0;p=6}if((p|0)==6){h=a[o+160>>0]|0;i=h<<24>>24;if(h<<24>>24>1){g=vh(n,m,25)|0;if(h<<24>>24!=2&(g|0)!=0){j=vh(n,m,26)|0;if(h<<24>>24>3&(j|0)!=0)g=(Gh(n,m,i+-3|0)|0)+2|0;else g=j+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=11}}else{g=0;p=11}if((p|0)==11)g=g&255;a[k>>0]=g;Jh(d,e)|0;h=vh(n,m,29)|0;g=e+12|0;h=c[g>>2]&-8388609|h<<23&8388608;c[g>>2]=h;if(!f){o=0;p=g;n=h;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}else h=l}i=a[o+161>>0]|0;j=i<<24>>24;if(i<<24>>24>1){g=vh(n,m,25)|0;if(i<<24>>24!=2&(g|0)!=0){k=vh(n,m,26)|0;if(i<<24>>24>3&(k|0)!=0)g=(Gh(n,m,j+-3|0)|0)+2|0;else g=k+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=18}}else{g=0;p=18}if((p|0)==18)g=g&255;a[h>>0]=g;if((f|0)==2&(a[o+162>>0]|0)!=0){b[e+4>>1]=0;b[e+6>>1]=0}else Jh(d,e+4|0)|0;n=vh(n,m,29)|0;p=e+12|0;n=c[p>>2]&-16777217|n<<24&16777216;c[p>>2]=n;o=f;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+376|0;h=a+660|0;e=vh(h,i,27)|0;a=vh(h,i,27)|0;e=(e|0)!=0;if(e)d=vh(h,i,28)|0;else d=0;g=(a|0)!=0;if(g)f=vh(h,i,28)|0;else f=0;if(e){if(!d)a=1;else a=(Ch(h,i,1)|0)+2|0;e=(yh(h,i)|0)==0;a=(e?a:0-a|0)&65535}else a=0;b[c>>1]=a;if(!g){h=0;i=c+2|0;b[i>>1]=h;return 0}if(!f)a=1;else a=(Ch(h,i,1)|0)+2|0;h=(yh(h,i)|0)==0;h=(h?a:0-a|0)&65535;i=c+2|0;b[i>>1]=h;return 0}function Kh(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,s=0;p=c[d+360>>2]|0;o=a[(a[p+14>>0]|0)+-1+(p+25)>>0]|0;s=o<<24>>24;h=s+1|0;c[d+232>>2]=h;g=c[d+236>>2]|0;h=h*40980|0;c[d+228>>2]=g;i=b[p>>1]|0;q=p+2|0;j=b[q>>1]|0;f=r((j<<16>>16)+63&-64,(i<<16>>16)+63&-64)|0;e=(f|0)/16|0;f=(f|0)/256|0;if(o<<24>>24<0){d=0;return d|0}n=-4-e+(r(f,-4)|0)+(r(e,-16)|0)-((f<<1)+3&-4)|0;o=d+224|0;l=0;k=(c[d+240>>2]|0)-h|0;m=g;h=g+h|0;f=i;e=j;while(1){e=r((e<<16>>16)+63&-64,(f<<16>>16)+63&-64)|0;g=(e|0)/16|0;e=(e|0)/256|0;f=n+k|0;if((f|0)<0){f=4;break}c[m>>2]=h;k=h+((e<<2)+4)|0;c[m+8>>2]=k;k=k+g|0;c[m+12>>2]=k;e=k+((e<<1)+3&-4)|0;c[m+4>>2]=e;if(Vd(c[o>>2]|0,m,l)|0){f=6;break}if((l|0)>=(s|0)){e=0;f=9;break}l=l+1|0;k=f;m=m+40980|0;h=e+(g<<4)|0;f=b[p>>1]|0;e=b[q>>1]|0}if((f|0)==4){c[d+652>>2]=981;d=981;return d|0}else if((f|0)==6){c[d+652>>2]=983;d=983;return d|0}else if((f|0)==9)return e|0;return 0}function Lh(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=c[d+360>>2]|0;e=(a[m+14>>0]|0)+-1|0;f=a[m+25+e>>0]|0;if((c[d+11636>>2]|0)!=1)f=(a[m+32+e>>0]|0)+f|0;if(c[d+56>>2]|0){g=d+244|0;h=d+20|0;e=0;while(1){i=_d(c[g>>2]|0,e)|0;if(!i){y=0;e=23;break}j=c[i>>2]|0;if(!j){y=0;e=23;break}k=i+4|0;l=c[k>>2]|0;if(!l){y=0;e=23;break}y=c[h>>2]|0;c[i>>2]=j+((y*80|0)+80);c[k>>2]=l+((y*40|0)+80);e=e+1|0;if(e>>>0>=64){y=0;e=23;break}}if((e|0)==23)return y|0}x=d+20|0;o=r((b[m+2>>1]|0)+160|0,c[x>>2]|0)|0;p=(o|0)/2|0;if((f|0)<0){d=0;return d|0}q=p+o|0;s=d+4|0;t=d+244|0;k=0;l=c[d+11628>>2]|0;m=c[d+248>>2]|0;n=c[d+256>>2]|0;while(1){n=n-q|0;if((n|0)<0){e=7;break}u=c[x>>2]|0;e=l+(u*80|0)+80|0;c[m>>2]=e;w=l+o|0;v=m+4|0;c[v>>2]=w+(u*40|0)+80;l=w+p|0;w=c[d>>2]|0;h=c[s>>2]|0;if((h|0)>0){g=0;while(1){a[e+-1>>0]=0;a[e+w>>0]=0;g=g+1|0;if((g|0)==(h|0))break;else e=e+u|0}e=c[m>>2]|0}j=0-u|0;i=w+2|0;Uk(e+j+-1|0,0,i|0)|0;Uk(e+(r(h,u)|0)+-1|0,0,i|0)|0;i=h>>1;if((h|0)>1){h=w+1|0;e=c[v>>2]|0;g=0;while(1){a[e+-1>>0]=0;a[e+-2>>0]=0;a[e+w>>0]=0;a[e+h>>0]=0;g=g+1|0;if((g|0)>=(i|0))break;else e=e+u|0}}v=c[v>>2]|0;w=w+4|0;Uk(v+j+-2|0,0,w|0)|0;Uk(v+(r(i,u)|0)+-2|0,0,w|0)|0;if(Vd(c[t>>2]|0,m,k)|0){e=16;break}if((k|0)>=(f|0)){y=0;e=23;break}else{k=k+1|0;m=m+8476|0}}if((e|0)==7){c[d+652>>2]=982;d=982;return d|0}else if((e|0)==16){c[d+652>>2]=983;d=983;return d|0}else if((e|0)==23)return y|0;return 0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;if(!f){f=0;return f|0}e=0;while(1){d=c[a+264+(e<<2)>>2]|0;if(d|0?(c[d+16>>2]|0)==(b|0):0){e=6;break}e=e+1|0;if(e>>>0>=f>>>0){e=6;break}}if((e|0)==6)return d|0;return 0}function Nh(a){a=a|0;var b=0,d=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;b=(bg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Oh(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;t=Sb;Sb=Sb+16|0;f=t;o=d+136|0;if(Sg(c[o>>2]|0,f,16,1)|0){Sb=t;return}p=f+8|0;q=d+140|0;r=f+4|0;s=d+4|0;g=f+6|0;h=d+8|0;i=f+10|0;j=d+32|0;k=f+12|0;l=d+276|0;m=d+44|0;n=d+272|0;do{c[q>>2]=b[p>>1];c[s>>2]=b[r>>1];e=b[g>>1]|0;c[h>>2]=e;c[j>>2]=b[i>>1];switch(c[f>>2]|0){case 0:{Ig(d,c[k>>2]|0);Tg(d)|0;break}case 1:{if(!(c[l>>2]|0)){Ig(d,0);e=b[g>>1]|0}w=c[d>>2]|0;v=c[n>>2]|0;u=a[(c[m>>2]|0)+4116>>0]|0;x=1<<u;u=e<<u;e=(c[w+12>>2]|0)-u|0;e=(x|0)<(e|0)?x:e;Kg(w,d,c[v+4>>2]|0,c[v+8>>2]|0,c[v+12>>2]|0,u,(e|0)>0?e:0)|0;break}default:{}}}while(!(Sg(c[o>>2]|0,f,16,1)|0));Sb=t;return}function Ph(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;F=f+376|0;W=a[g>>0]|0;X=f+128|0;if((c[X>>2]|0)==1){X=0;return X|0}o=(W+-19&255)<2;l=Fh(F,1)|0;n=(W&-8)<<24>>24==16;if(n)m=Fh(F,1)|0;else m=0;C=bi(F)|0;C=(C|0)>0?C:0;C=(C|0)<63?C:63;D=c[f+640>>2]|0;H=D+(C*68|0)|0;if(!(a[D+(C*68|0)+67>>0]|0)){h=c[f+300>>2]|0;j=h;a:do if(!(a[h+67>>0]|0)){while(1){i=h+68|0;if((i-j|0)>4284){h=980;break}if(!(a[h+135>>0]|0))h=i;else{h=i;break a}}return h|0}while(0);Th(f,C,a[h+8>>0]|0)}R=a[D+(C*68|0)+9>>0]|0;S=c[f+636>>2]|0;z=S+(R*8976|0)|0;A=f+136|0;if(!(c[A>>2]|0)){h=c[f+84>>2]|0;if(!((l|0)!=0&(h|0)!=0))if(!l)I=18;else I=17;else I=14}else{h=c[f+84>>2]|0;if(l)if(!h){c[X>>2]=0;I=17}else I=14;else I=18}do if((I|0)==14){c[X>>2]=1;W=f+344|0;X=c[W>>2]|0;X=(X|0)<1?0:X+-1|0;c[W>>2]=X;W=c[f+644>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}else if((I|0)==17){V=f+344|0;c[V>>2]=0;h=0;Q=1}else if((I|0)==18){i=f+344|0;if(!h){c[i>>2]=1;V=i;h=1;Q=0;break}else{V=i;h=c[i>>2]|0;Q=0;break}}while(0);P=f+644|0;U=c[P>>2]|0;T=h&255;y=U+(T*1272|0)|0;if(Q|(a[D+(C*68|0)+26>>0]|0)==0)h=0;else{h=Fh(F,1)|0;if(h|0?(k=c[V>>2]|0,(k|0)>0):0)ii(f,k&255,k+255&255);h=h&255}a[U+(T*1272|0)+75>>0]=h;x=U+(T*1272|0)+1260|0;a[x>>0]=W;w=U+(T*1272|0)+73|0;N=l&255;O=U+(T*1272|0)+72|0;a[O>>0]=N;a[U+(T*1272|0)+74>>0]=n?m&255:1;a[w>>0]=C;do if(!(N<<24>>24)){N=S+(R*8976|0)+4128|0;h=Fh(F,32-(s((c[N>>2]|0)+-1|0)|0)|0)|0;if((h|0)<1?1:(h|0)>=(c[N>>2]|0)){X=987;return X|0}else{v=U+(T*1272|0)+75|0;K=h;N=v;h=a[v>>0]|0;break}}else{K=0;N=U+(T*1272|0)+75|0}while(0);do if(!(h<<24>>24)){j=U+(T*1272|0)+77|0;a[j>>0]=1;k=U+(T*1272|0)+80|0;c[k>>2]=0;q=U+(T*1272|0)+90|0;a[q>>0]=0;t=U+(T*1272|0)+91|0;a[t>>0]=0;i=D+(C*68|0)+42|0;if((a[i>>0]|0)>0){h=0;do{Fh(F,1)|0;h=h+1|0}while((h|0)<(a[i>>0]|0))}u=(bi(F)|0)&255;v=U+(T*1272|0)+76|0;u=(a[x>>0]&-8)<<24>>24==16?2:u;a[v>>0]=u;if((u&255)>2){X=987;return X|0}if(a[D+(C*68|0)+24>>0]|0)a[j>>0]=Fh(F,1)|0;h=U+(T*1272|0)+78|0;a[h>>0]=0;if((a[S+(R*8976|0)+18>>0]|0)==1)a[h>>0]=Fh(F,2)|0;u=U+(T*1272|0)+158|0;a[u>>0]=0;if(!o){p=S+(R*8976|0)+23|0;c[k>>2]=Fh(F,a[p>>0]|0)|0;o=Fh(F,1)|0;a[U+(T*1272|0)+88>>0]=o;if((o&255|0)==1){h=U+(T*1272|0)+89|0;a[h>>0]=0;i=a[S+(R*8976|0)+60>>0]|0;if(i<<24>>24>1){o=Fh(F,32-(s((i<<24>>24)+-1|0)|0)|0)|0;a[h>>0]=o;h=o}else h=0;m=h<<24>>24;o=S+(R*8976|0)+4488+(m*70|0)+35|0;l=a[S+(R*8976|0)+4488+(m*70|0)+34>>0]|0;m=a[S+(R*8976|0)+4488+(m*70|0)+33>>0]|0}else{o=a[S+(R*8976|0)+60>>0]|0;fi(F,S+(R*8976|0)+4488|0,o,o,U+(T*1272|0)+188|0)|0;o=U+(T*1272|0)+223|0;l=a[U+(T*1272|0)+222>>0]|0;m=a[U+(T*1272|0)+221>>0]|0}if(a[S+(R*8976|0)+61>>0]|0){n=S+(R*8976|0)+62|0;if((a[n>>0]|0)>0){j=(bi(F)|0)<<24;k=j>>24;h=16-m-l|0;a[q>>0]=(k|0)>(h|0)?h:(j|0)<0?0:k}else h=16-m-l|0;j=(bi(F)|0)<<24;k=j>>24;i=a[q>>0]|0;h=h-i|0;k=(k|0)>(h|0)?h:(j|0)<0?0:k;a[t>>0]=k;if(((k<<24>>24)+i|0)>0){k=0;do{if((k|0)<(i|0)){h=a[n>>0]|0;if(h<<24>>24>1)h=Fh(F,32-(s((h<<24>>24)+-1|0)|0)|0)|0;else h=0;c[U+(T*1272|0)+4+(k<<2)>>2]=e[S+(R*8976|0)+64+(h<<1)>>1];h=a[S+(R*8976|0)+128+h>>0]|0}else{c[U+(T*1272|0)+4+(k<<2)>>2]=Fh(F,a[p>>0]|0)|0;h=(Fh(F,1)|0)&255}a[U+(T*1272|0)+108+k>>0]=h;j=(Fh(F,1)|0)&255;a[U+(T*1272|0)+124+k>>0]=j;h=U+(T*1272|0)+140+k|0;a[h>>0]=0;if(!(j<<24>>24))j=0;else{j=bi(F)|0;a[h>>0]=j}i=a[q>>0]|0;if(!((k|0)==0|(k|0)==(i|0)))a[h>>0]=j+(d[k+-1+(U+(T*1272|0)+140)>>0]|0);k=k+1|0}while((k|0)<(i+(a[t>>0]|0)|0))}}j=l+m|0;if((j|0)>0){h=0;i=0;do{h=h+((a[o+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)!=(j|0))}else h=0;j=(a[t>>0]|0)+(a[q>>0]|0)|0;if((j|0)>0){i=0;do{h=h+((a[U+(T*1272|0)+108+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)<(j|0))}if(a[S+(R*8976|0)+160>>0]|0)a[u>>0]=Fh(F,1)|0}else h=0;p=U+(T*1272|0)+156|0;a[p>>0]=0;q=U+(T*1272|0)+157|0;a[q>>0]=0;if(a[S+(R*8976|0)+57>>0]|0){a[p>>0]=Fh(F,1)|0;a[q>>0]=Fh(F,1)|0}m=U+(T*1272|0)+166|0;a[m>>0]=1;j=U+(T*1272|0)+163|0;a[j>>0]=0;k=U+(T*1272|0)+160|0;a[k>>0]=0;l=U+(T*1272|0)+161|0;a[l>>0]=0;n=U+(T*1272|0)+168|0;a[n>>0]=0;o=U+(T*1272|0)+169|0;a[o>>0]=0;do if((d[v>>0]|0)<2){t=(Fh(F,1)|0)&255;a[U+(T*1272|0)+159>>0]=t;if(!(t<<24>>24)){i=a[D+(C*68|0)+12>>0]|0;a[k>>0]=i;if(!(a[v>>0]|0))a[l>>0]=a[D+(C*68|0)+13>>0]|0}else{i=(bi(F)|0)+1&255;a[k>>0]=i;if(!(a[v>>0]|0)){a[l>>0]=(bi(F)|0)+1;i=a[k>>0]|0}}t=i<<24>>24>0?i:0;a[k>>0]=t<<24>>24<15?t:15;t=a[l>>0]|0;t=t<<24>>24>0?t:0;a[l>>0]=t<<24>>24<15?t:15;if(!h){X=987;return X|0}if((h|0)>1?(a[D+(C*68|0)+41>>0]|0)!=0:0)ji(F,y,h)|0;else{a[U+(T*1272|0)+708>>0]=0;a[U+(T*1272|0)+725>>0]=0}if(!(a[v>>0]|0))a[U+(T*1272|0)+162>>0]=Fh(F,1)|0;a[j>>0]=0;if(a[D+(C*68|0)+11>>0]|0)a[j>>0]=Fh(F,1)|0;h=U+(T*1272|0)+164|0;a[h>>0]=1;i=U+(T*1272|0)+165|0;a[i>>0]=0;b:do if(a[u>>0]|0){do if(!(a[v>>0]|0)){u=(Fh(F,1)|0)&255;a[h>>0]=u;if(u<<24>>24){I=88;break}if((a[l>>0]|0)<=1)break b}else I=88;while(0);if((I|0)==88?(a[k>>0]|0)<=1:0)break;a[i>>0]=bi(F)|0}while(0);I=a[i>>0]|0;I=I<<24>>24>0?I:0;a[i>>0]=I<<24>>24<15?I:15;if((a[D+(C*68|0)+22>>0]|0)!=0?(a[v>>0]|0)==1:0)I=95;else I=93;do if((I|0)==93){if(!(a[D+(C*68|0)+23>>0]|0))break;if(!(a[v>>0]|0))I=95}while(0);if((I|0)==95)ki(F,z,H,y)|0;h=5-(bi(F)|0)&255;a[m>>0]=h;if(h<<24>>24<=1){h=1;I=98;break}if(h<<24>>24<5)I=98;else h=5}else{h=1;I=98}while(0);a[m>>0]=h;a[U+(T*1272|0)+167>>0]=ci(F)|0;if(a[D+(C*68|0)+21>>0]|0){a[n>>0]=ci(F)|0;a[o>>0]=ci(F)|0}i=U+(T*1272|0)+170|0;a[i>>0]=0;h=a[D+(C*68|0)+37>>0]|0;j=U+(T*1272|0)+171|0;a[j>>0]=h;k=U+(T*1272|0)+172|0;a[k>>0]=a[D+(C*68|0)+38>>0]|0;l=U+(T*1272|0)+173|0;a[l>>0]=a[D+(C*68|0)+39>>0]|0;h=h<<24>>24;do if(((a[D+(C*68|0)+35>>0]|0)!=0?(a[D+(C*68|0)+36>>0]|0)!=0:0)?(I=(Fh(F,1)|0)&255,a[i>>0]=I,I<<24>>24!=0):0){h=Fh(F,1)|0;I=h&255;a[j>>0]=I;h=h<<24>>24;if(I<<24>>24)break;a[k>>0]=ci(F)|0;a[l>>0]=ci(F)|0}while(0);I=a[D+(C*68|0)+34>>0]|0;i=U+(T*1272|0)+174|0;a[i>>0]=I;if(I<<24>>24){if((a[p>>0]|0)==0?(h|0)!=0&(a[q>>0]|0)==0:0)break;a[i>>0]=Fh(F,1)|0}}while(0);u=f+84|0;h=(c[u>>2]|0)==0;if(Q)if(h)I=115;else I=116;else if(!h){h=c[f+304>>2]|0;if((a[h+73>>0]|0)!=(a[w>>0]|0)){X=987;return X|0}if((c[h+80>>2]|0)==(c[U+(T*1272|0)+80>>2]|0))I=116;else{X=987;return X|0}}else I=115;if((I|0)==115){j=f+1448|0;h=li(f,g,a[S+(R*8976|0)+23>>0]|0,c[U+(T*1272|0)+80>>2]|0)|0}else if((I|0)==116){h=f+1448|0;j=h;h=c[h>>2]|0}t=U+(T*1272|0)+84|0;c[t>>2]=h;i=(c[j>>2]|0)==(h|0);do if(Q)if(i){X=987;return X|0}else{c[j>>2]=h;i=0;break}else if(i){h=c[f+984>>2]|0;if((K|0)>(h|0)){if(!(c[u>>2]|0))h=987;else{i=1;break}return h|0}if((K|0)<(h|0)){X=987;return X|0}else{c[X>>2]=0;i=0;break}}else{if(c[u>>2]|0){c[X>>2]=1;X=c[V>>2]|0;X=(X|0)<1?0:X+-1|0;c[V>>2]=X;W=c[P>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}if(!(a[N>>0]|0)){c[j>>2]=h;i=0;break}else{X=987;return X|0}}while(0);k=U+(T*1272|0)+176|0;c[k>>2]=0;h=D+(C*68|0)+27|0;if(!((a[h>>0]|0)==0?!(a[D+(C*68|0)+28>>0]|0):0)){j=bi(F)|0;c[k>>2]=j;do if(a[h>>0]|0){h=a[D+(C*68|0)+30>>0]|0;if(!(a[D+(C*68|0)+28>>0]|0)){h=r(a[D+(C*68|0)+31>>0]|0,h)|0;break}else{h=r((b[S+(R*8976|0)+4120>>1]|0)+-1|0,h)|0;break}}else h=(b[S+(R*8976|0)+4120>>1]|0)+-1|0;while(0);g=(j|0)>(h|0)?h:(j|0)>0?j:0;c[k>>2]=g;if(((g|0)>0?(B=(bi(F)|0)+1|0,E=U+(T*1272|0)+180|0,a[E>>0]=B,(c[k>>2]|0)>0):0)?(Fh(F,B<<24>>24)|0,(c[k>>2]|0)>1):0){h=1;do{Fh(F,a[E>>0]|0)|0;h=h+1|0}while((h|0)<(c[k>>2]|0))}}if(a[D+(C*68|0)+44>>0]|0?(E=bi(F)|0,G=U+(T*1272|0)+68|0,b[G>>1]=E,(E<<16|0)>0):0){h=0;do{Fh(F,8)|0;h=h+1|0}while((h|0)<(b[G>>1]|0))}th(F);if((c[f+384>>2]|0)>>>0>(c[f+396>>2]|0)>>>0){X=979;return X|0}q=f+276|0;p=c[q>>2]|0;if(((a[x>>0]|0)+-16&255)>=5?(c[A>>2]|0)!=0:0){h=mi(f,H,z,y)|0;if(h|0){X=h;return X|0}}else{l=f+244|0;m=f+228|0;n=f+232|0;o=f+224|0;k=0;do{h=c[p+4+(k<<3)>>2]|0;c:do if(h|0?(L=h+8|0,Be(c[q>>2]|0,c[l>>2]|0,c[L>>2]|0),M=c[n>>2]|0,(M|0)>0):0){j=c[m>>2]|0;h=0;while(1){if(j|0?(c[j+16>>2]|0)==(c[L>>2]|0):0)break;h=h+1|0;if((h|0)<(M|0))j=j+40980|0;else break c}Yd(c[o>>2]|0,h,2)|0}while(0);k=k+1|0}while((k|0)!=64);c[U+(T*1272|0)+876>>2]=0;c[U+(T*1272|0)+880>>2]=0;c[U+(T*1272|0)+1068>>2]=0;c[U+(T*1272|0)+1072>>2]=0;c[U+(T*1272|0)+888>>2]=0;c[U+(T*1272|0)+892>>2]=0;c[U+(T*1272|0)+1080>>2]=0;c[U+(T*1272|0)+1084>>2]=0;c[U+(T*1272|0)+900>>2]=0;c[U+(T*1272|0)+904>>2]=0;c[U+(T*1272|0)+1092>>2]=0;c[U+(T*1272|0)+1096>>2]=0;c[U+(T*1272|0)+912>>2]=0;c[U+(T*1272|0)+916>>2]=0;c[U+(T*1272|0)+1104>>2]=0;c[U+(T*1272|0)+1108>>2]=0;c[U+(T*1272|0)+924>>2]=0;c[U+(T*1272|0)+928>>2]=0;c[U+(T*1272|0)+1116>>2]=0;c[U+(T*1272|0)+1120>>2]=0;c[U+(T*1272|0)+936>>2]=0;c[U+(T*1272|0)+940>>2]=0;c[U+(T*1272|0)+1128>>2]=0;c[U+(T*1272|0)+1132>>2]=0;c[U+(T*1272|0)+948>>2]=0;c[U+(T*1272|0)+952>>2]=0;c[U+(T*1272|0)+1140>>2]=0;c[U+(T*1272|0)+1144>>2]=0;c[U+(T*1272|0)+960>>2]=0;c[U+(T*1272|0)+964>>2]=0;c[U+(T*1272|0)+1152>>2]=0;c[U+(T*1272|0)+1156>>2]=0;c[U+(T*1272|0)+972>>2]=0;c[U+(T*1272|0)+976>>2]=0;c[U+(T*1272|0)+1164>>2]=0;c[U+(T*1272|0)+1168>>2]=0;c[U+(T*1272|0)+984>>2]=0;c[U+(T*1272|0)+988>>2]=0;c[U+(T*1272|0)+1176>>2]=0;c[U+(T*1272|0)+1180>>2]=0;c[U+(T*1272|0)+996>>2]=0;c[U+(T*1272|0)+1e3>>2]=0;c[U+(T*1272|0)+1188>>2]=0;c[U+(T*1272|0)+1192>>2]=0;c[U+(T*1272|0)+1008>>2]=0;c[U+(T*1272|0)+1012>>2]=0;c[U+(T*1272|0)+1200>>2]=0;c[U+(T*1272|0)+1204>>2]=0;c[U+(T*1272|0)+1020>>2]=0;c[U+(T*1272|0)+1024>>2]=0;c[U+(T*1272|0)+1212>>2]=0;c[U+(T*1272|0)+1216>>2]=0;c[U+(T*1272|0)+1032>>2]=0;c[U+(T*1272|0)+1036>>2]=0;c[U+(T*1272|0)+1224>>2]=0;c[U+(T*1272|0)+1228>>2]=0;c[U+(T*1272|0)+1044>>2]=0;c[U+(T*1272|0)+1048>>2]=0;c[U+(T*1272|0)+1236>>2]=0;c[U+(T*1272|0)+1240>>2]=0;c[U+(T*1272|0)+1056>>2]=0;c[U+(T*1272|0)+1060>>2]=0;c[U+(T*1272|0)+1248>>2]=0;c[U+(T*1272|0)+1252>>2]=0}do if(c[u>>2]|0){j=c[f+224>>2]|0;h=Ce(c[q>>2]|0,c[t>>2]|0)|0;if(!h){n=c[f+1452>>2]|0;m=c[f+6180>>2]|0}else{n=Mh(j,c[h+8>>2]|0)|0;m=h}k=a[U+(T*1272|0)+160>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+876+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+876+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24<16)I=169}else I=169;if((I|0)==169)while(1){c[U+(T*1272|0)+876+(h*12|0)>>2]=m;c[U+(T*1272|0)+876+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}k=a[U+(T*1272|0)+161>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+1068+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+1068+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24>=16)break}while(1){c[U+(T*1272|0)+1068+(h*12|0)>>2]=m;c[U+(T*1272|0)+1068+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}}while(0);if(!(a[O>>0]|0)){h=b[S+(R*8976|0)+4118>>1]|0;j=(K|0)/(h|0)|0;h=K-(r(j,h)|0)&65535;b[U+(T*1272|0)+872>>1]=h;j=j&65535;b[U+(T*1272|0)+874>>1]=j;if(!(a[N>>0]|0)){b[U+(T*1272|0)+1262>>1]=h;b[U+(T*1272|0)+1264>>1]=j}}else{b[U+(T*1272|0)+872>>1]=0;b[U+(T*1272|0)+874>>1]=0;b[U+(T*1272|0)+1262>>1]=0;b[U+(T*1272|0)+1264>>1]=0}do if(!Q?(c[u>>2]|0)==0:0){h=c[P>>2]|0;ii(f,0,c[V>>2]&255);if((c[V>>2]|0)!=1)J(43469,43511,1012,43547);b[h+872>>1]=0;b[h+874>>1]=0;c[f+316>>2]=0;c[f+320>>2]=0;c[V>>2]=0;h=U+(T*1272|0)+872|0;if(!(b[h>>1]|0)){if(b[U+(T*1272|0)+874>>1]|0){i=1;break}b[h>>1]=1;i=1}else i=1}while(0);h=c[f+68>>2]|0;if(W<<24>>24<16&(W&1)==0&(h|0)==2){X=987;return X|0}if((h|0)==6?(a[U+(T*1272|0)+76>>0]|0)!=2:0){X=987;return X|0}if(!i){X=0;return X|0}else{c[X>>2]=1;X=c[V>>2]|0;c[V>>2]=(X|0)<1?0:X+-1|0;return 0}return 0}function Qh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+368|0;i=H;D=e+376|0;h=Fh(D,4)|0;h=(h|0)>0?h:0;h=(h|0)<15?h:15;k=Fh(D,3)|0;j=k+1|0;j=(k|0)>6?7:(j|0)>1?j:1;k=Fh(D,1)|0;ei(D,i,j+-1|0);g=bi(D)|0;if(g>>>0>16)if(!(c[e+112>>2]|0))G=0;else{e=977;Sb=H;return e|0}else G=g;F=c[e+636>>2]|0;C=F+143616|0;n=F+152584|0;p=c[n>>2]|0;Uk(C|0,0,8976)|0;c[n>>2]=p;a[F+143628>>0]=G;a[F+143629>>0]=h;p=F+143630|0;a[p>>0]=j;a[F+143675>>0]=k;Sk(F+147748|0,i|0,355)|0;B=bi(D)|0;E=F+143631|0;a[E>>0]=B;if((B&255|0)!=1){c[e+652>>2]=218;e=218;Sb=H;return e|0}a[F+143634>>0]=0;b[C>>1]=bi(D)|0;z=bi(D)|0;B=F+143618|0;b[B>>1]=z;if((z<<16|0)<65536|(b[C>>1]|0)<1){e=979;Sb=H;return e|0}z=(Fh(D,1)|0)&255;a[F+143635>>0]=z;do if(z<<24>>24){g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143620>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143622>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[B>>1]|0)){e=979;Sb=H;return e|0}b[F+143624>>1]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)<(b[B>>1]|0)){b[F+143626>>1]=g;break}else{e=979;Sb=H;return e|0}}else{z=F+143620|0;c[z>>2]=0;c[z+4>>2]=0}while(0);if(bi(D)|0){e=989;Sb=H;return e|0}if(bi(D)|0){e=989;Sb=H;return e|0}g=bi(D)|0;if(g>>>0>12){e=979;Sb=H;return e|0}o=F+143639|0;a[o>>0]=g+4;z=Fh(D,1)|0;a[F+143640>>0]=z;h=a[p>>0]|0;g=h<<24>>24;if(z&255){if(h<<24>>24>0){g=0;A=23}}else{g=g+-1|0;A=23}do if((A|0)==23){while(1){h=bi(D)|0;if(h>>>0>15){f=979;A=141;break}i=F+143641+g|0;a[i>>0]=h+1;h=bi(D)|0;if((h|0)<0){f=979;A=141;break}if((h|0)>(a[i>>0]|0)){f=979;A=141;break}a[F+143648+g>>0]=h;a[F+143655+g>>0]=bi(D)|0;g=g+1|0;h=a[p>>0]|0;if((g|0)>=(h<<24>>24|0)){A=28;break}}if((A|0)==28){g=h<<24>>24;break}else if((A|0)==141){Sb=H;return f|0}}while(0);z=e+11632|0;if(c[z>>2]|0){h=c[e+360>>2]|0;i=(a[h+14>>0]|0)+-1|0;g=g+-1|0;if((a[h+25+i>>0]|0)!=(a[F+143641+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}if((a[h+32+i>>0]|0)!=(a[F+143648+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}}y=F+143662|0;a[y>>0]=(bi(D)|0)+3;g=bi(D)|0;h=F+143663|0;a[h>>0]=g;g=(g<<24>>24)+(a[y>>0]|0)|0;m=F+143664|0;a[m>>0]=(bi(D)|0)+2;l=bi(D)|0;j=l&255;a[F+143665>>0]=j;k=a[m>>0]|0;l=l+(k&255)|0;a[F+147733>>0]=l;if(l&128|0){e=979;Sb=H;return e|0}if((l&255|0)>(((g|0)<5?g:5)|0)){e=979;Sb=H;return e|0}i=a[y>>0]|0;g=(d[h>>0]|0)+(i&255)|0;x=F+147732|0;a[x>>0]=g;if(j<<24>>24<0|(k<<24>>24<2|i<<24>>24<3)){e=979;Sb=H;return e|0}w=g<<24;if((w|0)<(l<<24|0)|(w+-67108864|0)>>>0>33554432){e=979;Sb=H;return e|0}g=1<<(i<<24>>24);if((b[C>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}if((b[B>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}i=F+143666|0;a[i>>0]=0;j=F+143667|0;a[j>>0]=0;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143668>>0]=g;g=bi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143669>>0]=g;w=(Fh(D,1)|0)&255;a[F+143670>>0]=w;Sk(c[n>>2]|0,26144,192)|0;g=(c[n>>2]|0)+192|0;do if(!(w<<24>>24)){Sk(g|0,26144,768)|0;Sk((c[n>>2]|0)+960|0,26144,1536)|0;Sk((c[n>>2]|0)+2496|0,26144,1536)|0;Sk((c[n>>2]|0)+4032|0,26144,2048)|0;Sk((c[n>>2]|0)+6080|0,26144,2048)|0}else{h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+320|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+448|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+576|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+704|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+832|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));Sk((c[n>>2]|0)+960|0,28448,512)|0;Sk((c[n>>2]|0)+1472|0,28448,512)|0;Sk((c[n>>2]|0)+1984|0,28448,512)|0;Sk((c[n>>2]|0)+2496|0,28960,512)|0;Sk((c[n>>2]|0)+3008|0,28960,512)|0;Sk((c[n>>2]|0)+3520|0,28960,512)|0;Sk((c[n>>2]|0)+4032|0,29472,2048)|0;Sk((c[n>>2]|0)+6080|0,31520,2048)|0;w=(Fh(D,1)|0)&255;a[F+143671>>0]=w;if(!(w<<24>>24))break;di(e,c[n>>2]|0)|0}while(0);a[F+143672>>0]=Fh(D,1)|0;a[F+143673>>0]=Fh(D,1)|0;w=(Fh(D,1)|0)&255;a[F+143636>>0]=w;if(w<<24>>24){a[F+143637>>0]=(Fh(D,4)|0)+1;a[F+143638>>0]=(Fh(D,4)|0)+1;a[i>>0]=(bi(D)|0)+3;a[j>>0]=bi(D)|0;a[F+143674>>0]=Fh(D,1)|0}g=bi(D)|0;if(g>>>0>64){e=979;Sb=H;return e|0}i=F+143676|0;a[i>>0]=g;if((g<<24|0)>0){j=F+148104|0;h=0;g=g&255;do{fi(D,j,g,h,F+148104+(h*70|0)|0)|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g|0))}w=(Fh(D,1)|0)&255;a[F+143677>>0]=w;do if(w<<24>>24){g=bi(D)|0;if(g>>>0>32){e=979;Sb=H;return e|0}h=F+143678|0;a[h>>0]=g;if((g<<24|0)<=0)break;g=0;do{b[F+143680+(g<<1)>>1]=Fh(D,a[o>>0]|0)|0;a[F+143744+g>>0]=Fh(D,1)|0;g=g+1|0}while((g|0)<(a[h>>0]|0))}while(0);a[F+143776>>0]=Fh(D,1)|0;a[F+143777>>0]=Fh(D,1)|0;w=(Fh(D,1)|0)&255;a[F+143778>>0]=w;do if(w<<24>>24){v=a[p>>0]|0;w=(v<<24>>24)+-1|0;u=(Fh(D,1)|0)&255;a[F+143780>>0]=u;g=F+143781|0;a[g>>0]=0;a:do if(!(u<<24>>24)){g=0;h=0}else{u=(Fh(D,8)|0)&255;a[g>>0]=u;do switch(u<<24>>24){case 1:{g=1;h=1;break a}case 2:{g=11;h=12;break a}case 3:{g=11;h=10;break a}case 4:{g=11;h=16;break a}case 5:{g=33;h=40;break a}case 6:{g=11;h=24;break a}case 7:{g=11;h=20;break a}case 8:{g=11;h=32;break a}case 9:{g=33;h=80;break a}case 10:{g=11;h=18;break a}case 11:{g=11;h=15;break a}case 12:{g=33;h=64;break a}case 13:{g=99;h=160;break a}case 14:{g=3;h=4;break a}case 15:{g=2;h=3;break a}case 16:{g=1;h=2;break a}case -1:{h=(Fh(D,16)|0)&65535;g=(Fh(D,16)|0)&65535;break a}default:{g=0;h=0;break a}}while(0)}while(0);b[F+143782>>1]=h;b[F+143784>>1]=g;u=(Fh(D,1)|0)&255;a[F+143786>>0]=u;g=F+143787|0;a[g>>0]=0;if(u<<24>>24)a[g>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[F+143788>>0]=u;g=F+143789|0;a[g>>0]=5;h=F+143790|0;a[h>>0]=0;i=F+143791|0;a[i>>0]=0;j=F+143792|0;a[j>>0]=2;k=F+143793|0;a[k>>0]=2;l=F+143794|0;a[l>>0]=2;do if(u<<24>>24){a[g>>0]=Fh(D,3)|0;a[h>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[i>>0]=u;if(!(u<<24>>24))break;a[j>>0]=Fh(D,8)|0;a[k>>0]=Fh(D,8)|0;a[l>>0]=Fh(D,8)|0}while(0);u=(Fh(D,1)|0)&255;a[F+143795>>0]=u;g=F+143796|0;a[g>>0]=0;h=F+143797|0;a[h>>0]=0;if(u<<24>>24){a[g>>0]=bi(D)|0;a[h>>0]=bi(D)|0}a[F+143798>>0]=Fh(D,1)|0;a[F+143799>>0]=Fh(D,1)|0;a[F+143800>>0]=Fh(D,1)|0;u=(Fh(D,1)|0)&255;a[F+143801>>0]=u;g=F+143804|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(u<<24>>24){c[g>>2]=bi(D)|0;c[F+143808>>2]=bi(D)|0;c[F+143812>>2]=bi(D)|0;c[F+143816>>2]=bi(D)|0}u=(Fh(D,1)|0)&255;a[F+147704>>0]=u;b:do if(u<<24>>24){c[F+147708>>2]=Fh(D,32)|0;c[F+147712>>2]=Fh(D,32)|0;u=(Fh(D,1)|0)&255;a[F+147716>>0]=u;if(u<<24>>24)a[F+147717>>0]=bi(D)|0;u=(Fh(D,1)|0)&255;a[F+143820>>0]=u;if(!(u<<24>>24))break;s=F+143836|0;a[s>>0]=0;t=F+143837|0;a[t>>0]=0;u=F+143839|0;i=F+143840|0;j=F+143841|0;k=F+143842|0;l=F+143843|0;m=F+143844|0;n=F+143848|0;o=F+143852|0;p=F+143856|0;g=u;q=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(q|0));a[p>>0]=23;g=F+143857|0;a[g>>0]=23;h=F+143858|0;a[h>>0]=23;a[s>>0]=Fh(D,1)|0;q=Fh(D,1)|0;a[t>>0]=q;if(!((q&255|0)==0&(a[s>>0]|0)==0)){q=(Fh(D,1)|0)&255;a[u>>0]=q;if(q<<24>>24){a[i>>0]=Fh(D,8)|0;a[j>>0]=Fh(D,5)|0;a[k>>0]=Fh(D,1)|0;a[l>>0]=Fh(D,5)|0}c[m>>2]=Fh(D,4)|0;c[n>>2]=Fh(D,4)|0;if(a[u>>0]|0)c[o>>2]=Fh(D,4)|0;a[p>>0]=Fh(D,5)|0;a[g>>0]=Fh(D,5)|0;a[h>>0]=Fh(D,5)|0}if(v<<24>>24<1)break;j=0;while(1){v=(Fh(D,1)|0)&255;a[F+143859+j>>0]=v;g=F+143866+j|0;a[g>>0]=1;h=F+143873+j|0;a[h>>0]=0;i=F+143880+j|0;a[i>>0]=0;k=F+143887+j|0;a[k>>0]=0;do if(!(v<<24>>24)){v=(Fh(D,1)|0)&255;a[g>>0]=v;if(v<<24>>24){A=104;break}g=(Fh(D,1)|0)&255;a[i>>0]=g}else A=104;while(0);if((A|0)==104){A=0;a[h>>0]=bi(D)|0;g=a[i>>0]|0}if(!(g<<24>>24)){g=(bi(D)|0)&255;a[k>>0]=g}else g=a[k>>0]|0;if((g&255)>30){f=979;break}if(a[s>>0]|0)gi(D,F+143896+(j*544|0)|0,g&255,d[u>>0]|0);if(a[t>>0]|0)gi(D,F+143896+(j*544|0)|0,d[k>>0]|0,d[u>>0]|0);if((j|0)<(w|0))j=j+1|0;else break b}Sb=H;return f|0}while(0);A=(Fh(D,1)|0)&255;a[F+147718>>0]=A;g=F+147719|0;a[g>>0]=0;h=F+147720|0;a[h>>0]=1;i=F+147721|0;a[i>>0]=0;j=F+147724|0;c[j>>2]=0;k=F+147728|0;a[k>>0]=2;l=F+147729|0;a[l>>0]=1;m=F+147730|0;a[m>>0]=15;n=F+147731|0;a[n>>0]=15;if(!(A<<24>>24))break;a[g>>0]=Fh(D,1)|0;a[h>>0]=Fh(D,1)|0;a[i>>0]=Fh(D,1)|0;c[j>>2]=bi(D)|0;a[k>>0]=bi(D)|0;a[l>>0]=bi(D)|0;a[m>>0]=bi(D)|0;a[n>>0]=bi(D)|0}while(0);Fh(D,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){e=979;Sb=H;return e|0}m=1<<a[x>>0];D=m+-1|0;h=b[C>>1]|0;k=h<<16>>16;g=(D+k|0)/(m|0)|0;b[F+147734>>1]=g;j=b[B>>1]|0;m=(D+j|0)/(m|0)|0;b[F+147736>>1]=m;g=r(m<<16>>16,g<<16>>16)|0;c[F+147744>>2]=g;m=e+112|0;if(!(c[m>>2]|0))c[e+984>>2]=g;i=1<<a[y>>0];b[F+147738>>1]=(k|0)/(i|0)|0;b[F+147740>>1]=(j|0)/(i|0)|0;i=(c[z>>2]|0)==0;do if(!i){if((c[e>>2]|0)==(k|0)?(c[e+4>>2]|0)==(j|0):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);if(h<<16>>16>8448|(r(j,k)|0)>36495360){e=17;Sb=H;return e|0}h=(a[E>>0]|0)==1?2:1;l=k-(r(h,b[F+143620>>1]|0)|0)|0;l=l-(r(h,b[F+143622>>1]|0)|0)|0;E=j-(r(h,b[F+143624>>1]|0)|0)|0;h=E-(r(h,b[F+143626>>1]|0)|0)|0;if((l|0)<1|(h|0)<1){e=979;Sb=H;return e|0}g=e+8|0;do if(i)f=e+12|0;else{if((c[g>>2]|0)==(l|0)?(f=e+12|0,(c[f>>2]|0)==(h|0)):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);c[g>>2]=l;c[f>>2]=h;c[e>>2]=k;c[e+4>>2]=j;f=k+191&-32;g=e+20|0;h=c[g>>2]|0;if((h|0)<(f|0))c[g>>2]=f;else f=h;g=e+16|0;h=c[g>>2]|0;do if(!(c[e+56>>2]|0)){if((h|0)>=(l|0))break;c[g>>2]=l}else{if((h|0)>=(f|0))break;c[g>>2]=f}while(0);c[e+11596>>2]=G;c[m>>2]=1;e=0;Sb=H;return e|0}function Rh(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;j=c[d+296>>2]|0;k=j+(f*8976|0)|0;l=j+(e*8976|0)|0;m=j+(e*8976|0)+8972|0;do if(a[m>>0]|0){if(((a[j+(e*8976|0)+4116>>0]|0)==(a[j+(f*8976|0)+4116>>0]|0)?(b[j+(e*8976|0)+4118>>1]|0)==(b[j+(f*8976|0)+4118>>1]|0):0)?(b[j+(e*8976|0)+4120>>1]|0)==(b[j+(f*8976|0)+4120>>1]|0):0)break;g=0;h=c[d+300>>2]|0;while(1){i=h+67|0;if(a[i>>0]|0?(a[h+9>>0]|0)==(e|0):0)a[i>>0]=0;g=g+1|0;if((g|0)==64)break;else h=h+68|0}}while(0);e=j+(e*8976|0)+8968|0;i=c[e>>2]|0;Sk(l|0,k|0,8976)|0;c[e>>2]=i;Sk(i|0,c[j+(f*8976|0)+8968>>2]|0,8128)|0;a[m>>0]=1;c[d+360>>2]=l;return}function Sh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;if(!(c[e+112>>2]|0)){E=980;return E|0}f=bi(E)|0;if(f>>>0>64)if(!(c[e+116>>2]|0))f=0;else{E=978;return E|0}C=c[e+640>>2]|0;D=C+4352|0;a[C+4360>>0]=f;s=(bi(E)|0)<<24;s=(s|0)>251658240?15:(s|0)<0?0:s>>24;a[C+4361>>0]=s;t=c[e+636>>2]|0;g=t+(s*8976|0)|0;if(!(a[t+(s*8976|0)+8972>>0]|0)){E=980;return E|0}a[C+4378>>0]=Fh(E,1)|0;a[C+4376>>0]=Fh(E,1)|0;a[C+4394>>0]=Fh(E,3)|0;a[C+4362>>0]=Fh(E,1)|0;a[C+4363>>0]=Fh(E,1)|0;a[C+4364>>0]=(bi(E)|0)+1;a[C+4365>>0]=(bi(E)|0)+1;a[C+4366>>0]=(ci(E)|0)+26;a[C+4367>>0]=Fh(E,1)|0;a[C+4368>>0]=Fh(E,1)|0;x=(Fh(E,1)|0)&255;a[C+4369>>0]=x;if(!(x<<24>>24))f=0;else f=(bi(E)|0)&255;a[C+4370>>0]=f;h=t+(s*8976|0)+4116|0;a[C+4418>>0]=(d[h>>0]|0)-(f&255);a[C+4371>>0]=ci(E)|0;a[C+4372>>0]=ci(E)|0;a[C+4373>>0]=Fh(E,1)|0;a[C+4374>>0]=Fh(E,1)|0;a[C+4375>>0]=Fh(E,1)|0;a[C+4377>>0]=Fh(E,1)|0;x=(Fh(E,1)|0)&255;f=C+4379|0;a[f>>0]=x;a:do if(x<<24>>24)switch(a[h>>0]|0){case 4:{if((b[g>>1]|0)>4095){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>4095)f=980;else break a;return f|0}case 5:{if((b[g>>1]|0)>8191){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>8191)f=980;else break a;return f|0}case 6:{if((b[g>>1]|0)>16383){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>16383)f=980;else break a;return f|0}default:break a}while(0);a[C+4380>>0]=Fh(E,1)|0;x=C+4385|0;a[x>>0]=0;if(!(a[f>>0]|0)){a[C+4382>>0]=1;a[C+4383>>0]=1;a[C+4384>>0]=1;B=c[C+4356>>2]|0;a[B>>0]=0;a[B+1>>0]=0;b[B+2>>1]=b[t+(s*8976|0)+4118>>1]|0;b[B+4>>1]=b[t+(s*8976|0)+4120>>1]|0}else{f=c[e>>2]|0;g=(((c[e+4>>2]|0)+127&-64)+-1|0)/64|0;v=C+4382|0;a[v>>0]=(bi(E)|0)+1;h=(bi(E)|0)+1|0;w=C+4383|0;a[w>>0]=h;i=a[v>>0]|0;if(i<<24>>24<1){E=980;return E|0}if((((f+127&-64)+-1|0)/64|0|0)<(i<<24>>24|0)){E=980;return E|0}u=h<<24;if((u|0)<16777216|(u>>24|0)>(g|0)){E=980;return E|0}g=(Fh(E,1)|0)&255;u=C+4384|0;a[u>>0]=g;f=a[v>>0]|0;b:do if(f<<24>>24>0){p=t+(s*8976|0)+4118|0;q=C+4356|0;i=0;h=0;f=f<<24>>24;while(1){do if(!(g<<24>>24))if((h|0)<(f+-1|0)){o=(bi(E)|0)+1|0;break}else{o=(b[p>>1]|0)-i|0;break}else{o=b[p>>1]|0;o=((r(h+1|0,o)|0)/(f|0)|0)-((r(h,o)|0)/(f|0)|0)|0}while(0);g=a[w>>0]|0;if(g<<24>>24>0){j=c[q>>2]|0;k=a[v>>0]|0;l=i&255;m=o&65535;n=g<<24>>24;f=0;do{F=j+((r(f,k)|0)*6|0)+(h*6|0)|0;a[F>>0]=l;b[F+2>>1]=m;f=f+1|0}while((f|0)<(n|0))}i=o+i|0;h=h+1|0;if(!((o|0)>0?(i|0)<=(b[p>>1]|0):0)){f=980;break}f=a[v>>0]|0;j=f<<24>>24;if((h|0)>=(j|0))break b;g=a[u>>0]|0;f=j}return f|0}else g=a[w>>0]|0;while(0);c:do if(g<<24>>24>0){k=t+(s*8976|0)+4120|0;l=C+4356|0;i=0;j=0;g=g<<24>>24;while(1){do if(!(a[u>>0]|0))if((j|0)<(g+-1|0)){g=(bi(E)|0)+1|0;h=a[v>>0]|0;break}else{g=(b[k>>1]|0)-i|0;h=f;break}else{h=b[k>>1]|0;g=((r(j+1|0,h)|0)/(g|0)|0)-((r(j,h)|0)/(g|0)|0)|0;h=f}while(0);if(h<<24>>24>0?(y=h<<24>>24,t=c[l>>2]|0,z=i&255,A=g&65535,F=r(j,y)|0,B=t+(F*6|0)|0,a[t+(F*6|0)+1>>0]=z,b[t+(F*6|0)+4>>1]=A,h<<24>>24!=1):0){f=1;do{F=B+(f*6|0)|0;a[F+1>>0]=z;b[F+4>>1]=A;f=f+1|0}while((f|0)<(y|0))}i=g+i|0;j=j+1|0;if(!((g|0)>0?(i|0)<=(b[k>>1]|0):0)){f=980;break}g=a[w>>0]|0;if((j|0)>=(g|0))break c;else f=h}return f|0}while(0);a[x>>0]=Fh(E,1)|0}a[C+4386>>0]=Fh(E,1)|0;F=(Fh(E,1)|0)&255;a[C+4387>>0]=F;f=C+4388|0;g=C+4390|0;h=C+4391|0;c[f>>2]=0;if(F<<24>>24?(a[f>>0]=Fh(E,1)|0,F=(Fh(E,1)|0)&255,a[C+4389>>0]=F,F<<24>>24==0):0){a[g>>0]=ci(E)|0;a[h>>0]=ci(E)|0}F=(Fh(E,1)|0)&255;a[C+4392>>0]=F;if(F<<24>>24){Sk(c[D>>2]|0,26144,192)|0;f=(c[D>>2]|0)+192|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+320|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+448|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+576|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+704|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+832|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));Sk((c[D>>2]|0)+960|0,28448,512)|0;Sk((c[D>>2]|0)+1472|0,28448,512)|0;Sk((c[D>>2]|0)+1984|0,28448,512)|0;Sk((c[D>>2]|0)+2496|0,28960,512)|0;Sk((c[D>>2]|0)+3008|0,28960,512)|0;Sk((c[D>>2]|0)+3520|0,28960,512)|0;Sk((c[D>>2]|0)+4032|0,29472,2048)|0;Sk((c[D>>2]|0)+6080|0,31520,2048)|0;di(e,c[D>>2]|0)|0}a[C+4393>>0]=Fh(E,1)|0;a[C+4395>>0]=(bi(E)|0)+2;a[C+4396>>0]=Fh(E,1)|0;Fh(E,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){F=979;return F|0}c[e+116>>2]=1;F=0;return F|0}function Th(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;m=(((c[b>>2]|0)+127&-64)+-1|0)/64|0;f=(((c[b+4>>2]|0)+127&-64)+-1|0)/64|0;g=c[b+300>>2]|0;h=g+(e*68|0)|0;i=g+(d*68|0)|0;j=c[i>>2]|0;k=g+(d*68|0)+4|0;l=c[k>>2]|0;n=i;o=h;p=n+68|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[i>>2]=j;c[k>>2]=l;Sk(j|0,c[h>>2]|0,8128)|0;Sk(c[k>>2]|0,c[g+(e*68|0)+4>>2]|0,r(m*6|0,f)|0)|0;a[g+(d*68|0)+67>>0]=1;c[b+356>>2]=i;return}function Uh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+376|0;d=Vh(g)|0;if(d>>>0>8){e=0;f=0;do{if((Wh(g,8)|0)==255){d=e;do{Xh(g,8);d=d+255|0}while((Wh(g,8)|0)==255)}else d=e;e=(Fh(g,8)|0)+d|0;if((Wh(g,8)|0)==255){d=f;do{Xh(g,8);d=d+255|0}while((Wh(g,8)|0)==255)}else d=f;d=(Fh(g,8)|0)+d|0;f=(Vh(g)|0)>>>3;f=d>>>0<f>>>0?d:f;Yh(b,e,f,a[c>>0]|0);d=Vh(g)|0}while(d>>>0>8)}if(!d)return 0;if((Fh(g,1)|0)!=1)return 0;d=d+-1|0;if(!d)return 0;e=d;do{Fh(g,1)|0;e=e+-1|0}while((e|0)!=0);if(d>>>0<8)return 0;else J(43397,43407,2795,43438);return 0}function Vh(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=(c[a+4>>2]|0)+-64+((c[a+8>>2]|0)-d<<3)|0;a=((c[a+20>>2]|0)-d<<3)+-64|0;return (a>>>0>b>>>0?a-b|0:0)|0}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;f=32-b|0;e=c[a+12>>2]<<d>>>f;if(d>>>0<=f>>>0){f=e;return f|0}b=64-b-d|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=b|e;return f|0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;if(b>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[d>>2]=b+-32;c[e>>2]=Rk(a|0)|0;return}function Yh(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;h=c[b+296>>2]|0;g=0;while(1){i=g+1|0;if(i>>>0<17?(a[h+(g*8976|0)+8972>>0]|0)==0:0)g=i;else break}g=h+(g*8976|0)|0;j=b+376|0;if(!g)return;a:do if(f<<24>>24==39)switch(d|0){case 0:{a[b+1464>>0]=1;Zh(b,g)|0;break a}case 1:{a[b+1464>>0]=1;_h(b,g)|0;break a}case 136:{a[b+1464>>0]=1;$h(b)|0;break a}case 137:{a[b+1470>>0]=1;ai(b)|0;break a}case 4:{a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Fh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Fh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Fh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{Xh(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}Xh(j,e-g<<3);break a}default:{if(!e)break a;g=0;do{Xh(j,8);g=g+1|0}while((g|0)!=(e|0))}}else{if((d|0)!=4){if(!e)break;g=0;while(1){Xh(j,8);g=g+1|0;if((g|0)==(e|0))break a}}a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Fh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Fh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Fh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{Xh(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}Xh(j,e-g<<3)}while(0);g=Vh(j)|0;if(!g)return;if((g|0)>9)while(1){Fh(j,1)|0;h=g+-1|0;if((g|0)>10)g=h;else{g=h;break}}i=Wh(j,g)|0;h=0;while(1)if(!(255>>>h&i))break;else h=h+1|0;h=9-h|0;do{Fh(j,1)|0;e=g;g=g+-1|0}while((e|0)>(h|0));if(!g)return;do{Fh(j,1)|0;g=g+-1|0}while((g|0)!=0);return}function Zh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+376|0;a[b+1466>>0]=1;a[b+1480>>0]=bi(j)|0;k=e+223|0;if(!(a[k>>0]|0)){f=(Fh(j,1)|0)&255;i=b+1482|0;a[i>>0]=f}else{f=b+1482|0;i=f;f=a[f>>0]|0}if(!(f<<24>>24)){c[b+1484>>2]=0;f=e+241|0;g=0}else{f=e+241|0;c[b+1484>>2]=Fh(j,(d[f>>0]|0)+1|0)|0;g=Fh(j,(d[e+242>>0]|0)+1|0)|0}c[b+1488>>2]=g;a[b+1492>>0]=Fh(j,1)|0;c[b+1496>>2]=Fh(j,(d[f>>0]|0)+1|0)|0;if(a[e+220>>0]|0){g=d[e+271>>0]|0;h=e+240|0;f=0;while(1){c[b+1500+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;c[b+1756+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+1628+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0;c[b+1884+(f<<2)>>2]=Fh(j,(d[h>>0]|0)+1|0)|0}if((f|0)==(g|0))break;else f=f+1|0}}if(!(a[e+221>>0]|0))return 0;h=d[e+271>>0]|0;g=e+240|0;f=0;while(1){c[b+2012+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;c[b+2268+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+2140+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0;c[b+2396+(f<<2)>>2]=Fh(j,(d[g>>0]|0)+1|0)|0}if((f|0)==(h|0))break;else f=f+1|0}return 0}function _h(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+376|0;a[b+1467>>0]=1;if(a[e+184>>0]|0){c[b+2548>>2]=Fh(i,4)|0;c[b+2552>>2]=Fh(i,2)|0;a[b+2556>>0]=Fh(i,1)|0}if((a[e+220>>0]|0)==0?(a[e+221>>0]|0)==0:0)return 0;c[b+2560>>2]=Fh(i,(d[e+241>>0]|0)+1|0)|0;c[b+2564>>2]=Fh(i,(d[e+242>>0]|0)+1|0)|0;f=e+223|0;if(!(a[f>>0]|0))return 0;c[b+2568>>2]=Fh(i,(d[e+227>>0]|0)+1|0)|0;if(!(a[f>>0]|0))return 0;if(!(a[e+226>>0]|0))return 0;f=bi(i)|0;g=b+2572|0;c[g>>2]=f>>>0<269?f:269;f=(Fh(i,1)|0)&255;h=b+2576|0;a[h>>0]=f;e=e+225|0;if(f<<24>>24)c[b+2580>>2]=Fh(i,(d[e>>0]|0)+1|0)|0;f=0;do{c[b+2584+(f<<2)>>2]=bi(i)|0;if((a[h>>0]|0)==0?f>>>0<(c[g>>2]|0)>>>0:0)c[b+3664+(f<<2)>>2]=Fh(i,(d[e>>0]|0)+1|0)|0;f=f+1|0}while(f>>>0<=(c[g>>2]|0)>>>0);return 0}function $h(c){c=c|0;var e=0,f=0,g=0,h=0;g=c+376|0;a[c+1477>>0]=1;f=Fh(g,2)|0;h=c+5904|0;a[h>>0]=f;if(!(f&255))return 0;f=0;do{e=(Fh(g,1)|0)&255;a[c+5905+f>>0]=e;if(e<<24>>24){a[c+5908+f>>0]=Fh(g,1)|0;a[c+5911+f>>0]=Fh(g,5)|0;e=c+5914+f|0;a[e>>0]=Fh(g,1)|0;a[c+5917+f>>0]=Fh(g,1)|0;a[c+5920+f>>0]=Fh(g,1)|0;b[c+5924+(f<<1)>>1]=Fh(g,9)|0;if(!(a[e>>0]|0)){e=(Fh(g,1)|0)&255;a[c+5930+f>>0]=e;if((e<<24>>24?(a[c+5939+f>>0]=Fh(g,6)|0,e=(Fh(g,1)|0)&255,a[c+5933+f>>0]=e,e<<24>>24):0)?(a[c+5942+f>>0]=Fh(g,6)|0,e=(Fh(g,1)|0)&255,a[c+5936+f>>0]=e,e<<24>>24):0)a[c+5945+f>>0]=Fh(g,5)|0}else{a[c+5939+f>>0]=Fh(g,6)|0;a[c+5942+f>>0]=Fh(g,6)|0;a[c+5945+f>>0]=Fh(g,5)|0}e=Fh(g,5)|0;a[c+5948+f>>0]=e;e=e&255;if(!e)e=0;else e=(Fh(g,e)|0)&255;a[c+5951+f>>0]=e}f=f+1|0}while(f>>>0<(d[h>>0]|0)>>>0);return 0}function ai(d){d=d|0;var e=0;e=d+376|0;a[d+1470>>0]=1;b[d+5076>>1]=Fh(e,16)|0;b[d+5082>>1]=Fh(e,16)|0;b[d+5078>>1]=Fh(e,16)|0;b[d+5084>>1]=Fh(e,16)|0;b[d+5080>>1]=Fh(e,16)|0;b[d+5086>>1]=Fh(e,16)|0;b[d+5088>>1]=Fh(e,16)|0;b[d+5090>>1]=Fh(e,16)|0;c[d+5092>>2]=Fh(e,32)|0;c[d+5096>>2]=Fh(e,32)|0;return 0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Rk(j|0)|0}else e=b;if(!f){j=0;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Rk(i|0)|0;j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Rk(j|0)|0}else e=b;do if(!f)b=0;else{b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32)break}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Rk(i|0)|0}while(0);j=(b+(1<<f)|0)>>>1;return ((b&1|0)==0?j:0-j|0)|0}function di(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=a+376|0;j=0;do{q=(j|0)==3?2:6;r=j*6|0;s=(j<<1)+4|0;t=1<<s;t=(t|0)<64?t:64;k=j>>>0>1;l=2<<s;m=(j|0)==2;j=j+1|0;n=25168+(j<<2)|0;i=0;do{h=Fh(p,1)|0;o=e+(c[37280+(i+r<<2)>>2]<<1)|0;a:do if(!h){a=bi(p)|0;a=(a|0)>(i|0)?i:(a|0)>0?a:0;if(a|0)Sk(o|0,o+(0-(a<<s)<<1)|0,l|0)|0}else{if(!k){g=c[n>>2]|0;a=0;f=8;while(1){f=(f+256+(ci(p)|0)|0)%256|0;b[o+((d[g+a>>0]|0)<<1)>>1]=f;a=a+1|0;if((a|0)>=(t|0))break a}}h=(ci(p)|0)+8|0;if(!m){g=h&65535;f=0;a=h;while(1){a=(a+256+(ci(p)|0)|0)%256|0;h=d[24608+f>>0]|0;h=h>>>3<<7|h<<2&28;u=a&65535;b[o+(h<<1)>>1]=u;b[o+((h|1)<<1)>>1]=u;b[o+((h|2)<<1)>>1]=u;b[o+((h|3)<<1)>>1]=u;b[o+((h|32)<<1)>>1]=u;b[o+((h|33)<<1)>>1]=u;b[o+((h|34)<<1)>>1]=u;b[o+((h|35)<<1)>>1]=u;b[o+((h|64)<<1)>>1]=u;b[o+((h|65)<<1)>>1]=u;b[o+((h|66)<<1)>>1]=u;b[o+((h|67)<<1)>>1]=u;b[o+((h|96)<<1)>>1]=u;b[o+((h|97)<<1)>>1]=u;b[o+((h|98)<<1)>>1]=u;b[o+((h|99)<<1)>>1]=u;b[o>>1]=g;f=f+1|0;if((f|0)>=(t|0))break a}}a=0;f=h;do{f=(f+256+(ci(p)|0)|0)%256|0;u=d[24608+a>>0]|0;u=u>>>3<<5|u<<1&14;g=f&65535;b[o+(u<<1)>>1]=g;b[o+((u|1)<<1)>>1]=g;b[o+((u|16)<<1)>>1]=g;b[o+((u|17)<<1)>>1]=g;a=a+1|0}while((a|0)<(t|0));b[o>>1]=h}while(0);i=i+1|0}while((i|0)!=(q|0))}while((j|0)!=4);return 0}function ei(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;hi(b,c);a[c+48>>0]=Fh(b,8)|0;f=(d|0)>0;if(!f)return;e=0;do{a[c+49+e>>0]=Fh(b,1)|0;a[c+55+e>>0]=Fh(b,1)|0;e=e+1|0}while((e|0)!=(d|0));if((d+-1|0)>>>0<7){e=d;while(1){Fh(b,2)|0;if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{if(a[c+49+e>>0]|0)hi(b,c+61+(e*49|0)|0);if(a[c+55+e>>0]|0)a[c+61+(e*49|0)+48>>0]=Fh(b,8)|0;e=e+1|0}while((e|0)!=(d|0));return}function fi(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((f|0)>0){n=(Fh(c,1)|0)&255;a[g+32>>0]=n;if(n<<24>>24){if((f|0)==(e|0)){l=bi(c)|0;m=f+-1|0;n=m-l|0;n=(l|0)<0?m:(n|0)>0?n:0}else{n=f+-1|0;n=(n|0)>0?n:0}l=Fh(c,1)|0;l=r(1-(l<<1)|0,(bi(c)|0)+1|0)|0;m=d+(n*70|0)+67|0;f=a[m>>0]|0;if(f<<24>>24>=0){k=0;j=0;h=0;e=0;while(1){f=Fh(c,1)|0;a[g+35+j>>0]=f;if(!f)f=(Fh(c,1)|0)<<1;if((f+-1|0)>>>0<2){if((k|0)<(a[m>>0]|0))i=b[d+(n*70|0)+(k<<1)>>1]|0;else i=0;p=i+l|0;b[g+(j<<1)>>1]=p;p=p>>>31;i=j+1|0;h=(p^1)+h|0;e=p+e|0}else i=j;a[g+51+k>>0]=f;f=a[m>>0]|0;if((k|0)<(f<<24>>24|0)){k=k+1|0;j=i}else break}if((e|0)>0)if((e|0)<15)o=18;else e=15;else{e=0;o=18}}else{h=0;e=0;o=18}p=e^15;p=(h|0)>(p|0)?p:(h|0)>0?h:0;n=p+e|0;a[g+68>>0]=(f&255)+1;a[g+67>>0]=n;a[g+34>>0]=p;a[g+33>>0]=e;if(n>>>0>1){f=1;do{j=b[g+(f<<1)>>1]|0;k=a[g+35+f>>0]|0;h=f;do{i=h;h=h+-1|0;l=g+(h<<1)|0;m=b[l>>1]|0;if(j<<16>>16<m<<16>>16){b[g+(i<<1)>>1]=m;p=g+35+h|0;a[g+35+i>>0]=a[p>>0]|0;b[l>>1]=j;a[p>>0]=k}}while((i|0)>1);f=f+1|0}while(f>>>0<n>>>0)}h=e>>>1;if(!h)return 0;f=0;do{e=e+-1|0;p=g+(f<<1)|0;d=b[p>>1]|0;n=g+35+f|0;c=a[n>>0]|0;o=g+(e<<1)|0;b[p>>1]=b[o>>1]|0;p=g+35+e|0;a[n>>0]=a[p>>0]|0;b[o>>1]=d;a[p>>0]=c;f=f+1|0}while((f|0)!=(h|0));return 0}}else a[g+32>>0]=0;j=bi(c)|0;i=g+33|0;f=j<<24;a[i>>0]=(f|0)>251658240?15:(f|0)<0?0:j&255;j=(bi(c)|0)<<24;f=j>>24;p=a[i>>0]|0;e=p<<24>>24;o=15-e|0;f=(f|0)>(o|0)?o:(j|0)<0?0:f;a[g+34>>0]=f;f=f+(p&255)&255;j=g+67|0;a[j>>0]=f;if(p<<24>>24>0){e=0;f=0;do{e=e+-1-(bi(c)|0)|0;b[g+(f<<1)>>1]=e;a[g+35+f>>0]=Fh(c,1)|0;f=f+1|0;h=a[i>>0]|0}while((f|0)<(h<<24>>24|0));e=h<<24>>24;f=a[j>>0]|0}if((e|0)>=(f<<24>>24|0))return 0;f=0;do{f=f+1+(bi(c)|0)|0;b[g+(e<<1)>>1]=f;a[g+35+e>>0]=Fh(c,1)|0;e=e+1|0}while((e|0)<(a[j>>0]|0));return 0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((e|0)<0)return;if(!f){f=0;while(1){c[d+(f<<2)>>2]=bi(b)|0;c[d+128+(f<<2)>>2]=bi(b)|0;a[d+512+f>>0]=Fh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}else{f=0;while(1){c[d+(f<<2)>>2]=bi(b)|0;c[d+128+(f<<2)>>2]=bi(b)|0;c[d+256+(f<<2)>>2]=bi(b)|0;c[d+384+(f<<2)>>2]=bi(b)|0;a[d+512+f>>0]=Fh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}}function hi(b,c){b=b|0;c=c|0;a[c>>0]=Fh(b,2)|0;a[c+1>>0]=Fh(b,1)|0;a[c+2>>0]=Fh(b,5)|0;a[c+3>>0]=Fh(b,1)|0;a[c+4>>0]=Fh(b,1)|0;a[c+5>>0]=Fh(b,1)|0;a[c+6>>0]=Fh(b,1)|0;a[c+7>>0]=Fh(b,1)|0;a[c+8>>0]=Fh(b,1)|0;a[c+9>>0]=Fh(b,1)|0;a[c+10>>0]=Fh(b,1)|0;a[c+11>>0]=Fh(b,1)|0;a[c+12>>0]=Fh(b,1)|0;a[c+13>>0]=Fh(b,1)|0;a[c+14>>0]=Fh(b,1)|0;a[c+15>>0]=Fh(b,1)|0;a[c+16>>0]=Fh(b,1)|0;a[c+17>>0]=Fh(b,1)|0;a[c+18>>0]=Fh(b,1)|0;a[c+19>>0]=Fh(b,1)|0;a[c+20>>0]=Fh(b,1)|0;a[c+21>>0]=Fh(b,1)|0;a[c+22>>0]=Fh(b,1)|0;a[c+23>>0]=Fh(b,1)|0;a[c+24>>0]=Fh(b,1)|0;a[c+25>>0]=Fh(b,1)|0;a[c+26>>0]=Fh(b,1)|0;a[c+27>>0]=Fh(b,1)|0;a[c+28>>0]=Fh(b,1)|0;a[c+29>>0]=Fh(b,1)|0;a[c+30>>0]=Fh(b,1)|0;a[c+31>>0]=Fh(b,1)|0;a[c+32>>0]=Fh(b,1)|0;a[c+33>>0]=Fh(b,1)|0;a[c+34>>0]=Fh(b,1)|0;a[c+35>>0]=Fh(b,1)|0;a[c+36>>0]=Fh(b,1)|0;a[c+37>>0]=Fh(b,1)|0;a[c+38>>0]=Fh(b,1)|0;Fh(b,16)|0;Fh(b,16)|0;Fh(b,12)|0;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+644>>2]|0;a=f+(b*1272|0)+184|0;e=c[a>>2]|0;Sk(f+(b*1272|0)|0,f+(d*1272|0)|0,1272)|0;c[a>>2]=e;return}function ji(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e+-1|0;j=32-(s(e|0)|0)+(((i&e|0)==0)<<31>>31)|0;h=c+76|0;if((d[h>>0]|0)>=2)return 0;f=(Fh(b,1)|0)&255;a[c+708>>0]=f;if(f<<24>>24?(g=c+160|0,(a[g>>0]|0)>0):0){f=0;do{l=(Fh(b,j)|0)<<24;k=l>>24;a[c+709+f>>0]=(k|0)<(e|0)?((l|0)<0?0:k):i;f=f+1|0}while((f|0)<(a[g>>0]|0))}if(a[h>>0]|0)return 0;l=(Fh(b,1)|0)&255;a[c+725>>0]=l;if(!(l<<24>>24))return 0;g=c+161|0;if((a[g>>0]|0)<=0)return 0;f=0;do{k=(Fh(b,j)|0)<<24;l=k>>24;a[c+726+f>>0]=(l|0)<(e|0)?((k|0)<0?0:l):i;f=f+1|0}while((f|0)<(a[g>>0]|0));return 0}function ki(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+258|0;a[m>>0]=bi(c)|0;l=e+15|0;if(a[l>>0]|0){k=ci(c)|0;a[g+259>>0]=k+(d[m>>0]|0)}k=g+160|0;e=a[k>>0]|0;f=e<<24>>24;if(e<<24>>24>0){h=0;do{a[g+260+h>>0]=Fh(c,1)|0;h=h+1|0;e=a[k>>0]|0;f=e<<24>>24}while((h|0)<(f|0))}if(!(a[l>>0]|0))if((f|0)>0){Uk(g+276|0,0,f|0)|0;i=e;j=12}else{i=e;j=12}else if(e<<24>>24>0){f=0;do{a[g+276+f>>0]=Fh(c,1)|0;f=f+1|0;e=a[k>>0]|0}while((f|0)<(e<<24>>24|0));i=e;j=12}if((j|0)==12?i<<24>>24>0:0){h=g+259|0;e=0;do{if(!(a[g+260+e>>0]|0)){b[g+292+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=ci(c)|0;b[g+292+(e<<1)>>1]=(1<<a[m>>0])+f;f=(ci(c)|0)&65535}b[g+324+(e<<1)>>1]=f;if(!(a[g+276+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+356+(e<<1)>>1]=f;b[g+420+(e<<1)>>1]=f;b[g+388+(e<<1)>>1]=0;f=0}else{f=ci(c)|0;j=g+356+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=ci(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;b[g+388+(e<<1)>>1]=(j|0)>-1?127:((f|0)>-128?f:-128)&65535;f=ci(c)|0;j=g+420+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=ci(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;f=(j|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+452+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[k>>0]|0))}if(a[g+76>>0]|0)return 0;i=g+161|0;f=a[i>>0]|0;e=f<<24>>24;if(f<<24>>24>0){h=0;do{a[g+484+h>>0]=Fh(c,1)|0;h=h+1|0;f=a[i>>0]|0;e=f<<24>>24}while((h|0)<(e|0))}if(!(a[l>>0]|0)){if((e|0)>0)Uk(g+500|0,0,e|0)|0}else{if(f<<24>>24<=0)return 0;e=0;do{a[g+500+e>>0]=Fh(c,1)|0;e=e+1|0;f=a[i>>0]|0}while((e|0)<(f<<24>>24|0))}if(f<<24>>24<=0)return 0;h=g+259|0;e=0;do{if(!(a[g+484+e>>0]|0)){b[g+516+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=ci(c)|0;b[g+516+(e<<1)>>1]=(1<<a[m>>0])+f;f=(ci(c)|0)&65535}b[g+548+(e<<1)>>1]=f;if(!(a[g+500+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+580+(e<<1)>>1]=f;b[g+644+(e<<1)>>1]=f;b[g+612+(e<<1)>>1]=0;f=0}else{f=ci(c)|0;l=g+580+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=ci(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;b[g+612+(e<<1)>>1]=(l|0)>-1?127:((f|0)>-128?f:-128)&65535;f=ci(c)|0;l=g+644+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=ci(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;f=(l|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+676+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[i>>0]|0));return 0}function li(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a[d>>0]|0;e=e<<24>>24;h=1<<e;g=(c[b+124>>2]|0)==0;if(g?(c[b+84>>2]|0)==0:0)c[b+11568>>2]=-2<<e;switch(i<<24>>24){case 16:case 17:case 18:case 19:case 20:{e=6;break}case 21:{if(g)e=6;else e=7;break}default:e=7}do if((e|0)==6){g=(c[b+11568>>2]|0)+(h<<1)|0;c[b+11564>>2]=0;c[b+11572>>2]=0}else if((e|0)==7){e=c[b+11564>>2]|0;if((e|0)>(f|0)?(e-f|0)>=((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)+h|0;break}if((e|0)<(f|0)?(f-e|0)>((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)-h|0;break}g=c[b+11568>>2]|0}while(0);e=g+f|0;h=b+11572|0;j=c[h>>2]|0;c[h>>2]=(j|0)>(f|0)?j:f;if(!((i&-8)<<24>>24==16|i<<24>>24<16&(i&1)!=0))return e|0;if(!((i+-6&255)>3&(a[d+1>>0]|0)==0))return e|0;c[b+11564>>2]=f;c[b+11568>>2]=g;return e|0}function mi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=Sb;Sb=Sb+672|0;E=M+608|0;u=M+544|0;A=M+480|0;F=M+416|0;t=M+352|0;r=M+336|0;s=M+320|0;C=M+256|0;z=M+192|0;D=M+128|0;v=M+64|0;G=M;I=c[e+276>>2]|0;J=e+224|0;H=c[J>>2]|0;p=a[g+23>>0]|0;q=c[h+84>>2]|0;if((a[h+88>>0]|0)==1){n=a[h+89>>0]|0;m=a[g+4488+(n*70|0)+33>>0]|0;l=a[g+4488+(n*70|0)+34>>0]|0;o=g+4488+(n*70|0)+35|0;n=g+4488+(n*70|0)|0}else{m=a[h+221>>0]|0;l=a[h+222>>0]|0;o=h+223|0;n=h+188|0}if((m|0)>0){j=0;f=0;i=0;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(f<<2)>>2]=g;f=f+1|0}else{c[E+(i<<2)>>2]=g;i=i+1|0}j=j+1|0}while((j|0)!=(m|0));g=f;B=i}else{g=0;B=0}k=m+l|0;if((l|0)>0){f=0;j=m;i=g;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(i<<2)>>2]=g;i=i+1|0}else{c[A+(f<<2)>>2]=g;f=f+1|0}j=j+1|0}while((j|0)<(k|0));x=f}else{x=0;i=g}m=(a[h+91>>0]|0)+(a[h+90>>0]|0)|0;if((m|0)>0){n=h+80|0;f=0;k=0;l=0;while(1){g=c[h+4+(l<<2)>>2]|0;j=a[h+124+l>>0]|0;if(j<<24>>24)g=g+q-(c[n>>2]|0)-(a[h+140+l>>0]<<p)|0;if(!(a[h+108+l>>0]|0)){c[t+(f<<2)>>2]=g;a[s+f>>0]=j;f=f+1|0;g=k}else{c[F+(k<<2)>>2]=g;a[r+k>>0]=j;g=k+1|0}l=l+1|0;if((l|0)>=(m|0)){j=f;y=g;break}else k=g}}else{j=0;y=0}p=x+B+y|0;if(!(c[e+84>>2]|0)){f=0;do{g=c[I+4+(f<<3)>>2]|0;if(g|0)a[g+20>>0]=0;f=f+1|0}while((f|0)!=64)}w=(y|0)>0;if(w){g=0;do{f=c[F+(g<<2)>>2]|0;if(!(a[r+g>>0]|0)){f=Ee(I,f)|0;if(f)a[f+20>>0]=1}else{f=De(I,f)|0;if(f)a[f+20>>0]=1}c[C+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(y|0))}if((j|0)>0){g=0;do{f=c[t+(g<<2)>>2]|0;if(!(a[s+g>>0]|0)){f=Ee(I,f)|0;if(f|0)a[f+20>>0]=1}else{f=De(I,f)|0;if(f|0)a[f+20>>0]=1}g=g+1|0}while((g|0)!=(j|0))}q=(B|0)>0;if(q){f=0;do{g=De(I,c[E+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[D+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(B|0))}o=(x|0)>0;if(o){f=0;do{g=De(I,c[A+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[z+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(x|0))}if((i|0)>0){f=0;do{g=De(I,c[u+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;f=f+1|0}while((f|0)!=(i|0))}l=h+160|0;k=a[l>>0]|0;k=(p|0)>(k|0)?p:k;n=h+76|0;a:do if((d[n>>0]|0)<2){b:do if(k|0){if(!q){f=0;while(1){if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}if(f>>>0>=k>>>0)break b}}f=0;do{if(f>>>0<k>>>0){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}while(0);f=a[l>>0]|0;c:do if(f<<24>>24>0){m=(a[h+708>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+709+k>>0]|0;f=c[v+(f<<2)>>2]|0;c[h+876+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;d:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break d;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+876+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break c}Sb=M;return f|0}while(0);if(!(a[n>>0]|0)){l=h+161|0;f=a[l>>0]|0;k=f<<24>>24;k=(p|0)>(k|0)?p:k;if(k){if(o){f=0;do{if(f>>>0<k>>>0){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}else{f=0;do{if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ce(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}f=a[l>>0]|0}if(f<<24>>24>0){m=(a[h+725>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+726+k>>0]|0;f=c[G+(f<<2)>>2]|0;c[h+1068+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;e:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break e;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+1068+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break a}Sb=M;return f|0}}}while(0);k=e+244|0;l=e+228|0;j=e+232|0;i=0;while(1){f=c[I+4+(i<<3)>>2]|0;f:do if((f|0?(a[f+20>>0]|0)==0:0)?(K=f+8|0,Be(I,c[k>>2]|0,c[K>>2]|0),L=c[j>>2]|0,(L|0)>0):0){f=0;g=c[l>>2]|0;while(1){if(g|0?(c[g+16>>2]|0)==(c[K>>2]|0):0)break;f=f+1|0;if((f|0)<(L|0))g=g+40980|0;else break f}Yd(c[J>>2]|0,f,2)|0}while(0);i=i+1|0;if((i|0)==64){f=0;break}}Sb=M;return f|0}function ni(){oi(0);return}function oi(a){a=a|0;ha(38752,43633);Y(38768,43638,1,1,0);da(38776,43643,1,-128,127);da(38792,43648,1,-128,127);da(38784,43660,1,0,255);da(38800,43674,2,-32768,32767);da(38808,43680,2,0,65535);da(38816,43695,4,-2147483648,2147483647);da(38824,43699,4,0,-1);da(38832,43712,4,-2147483648,2147483647);da(38840,43717,4,0,-1);ca(38848,43731,4);ca(38856,43737,8);fa(37848,43744);fa(38032,43756);ga(38056,4,43789);ba(37872,43802);ea(38080,0,43818);ea(38088,0,43848);ea(38096,1,43885);ea(38104,2,43924);ea(38112,3,43955);ea(38120,4,43995);ea(38128,5,44024);ea(38136,4,44062);ea(38144,5,44092);ea(38088,0,44131);ea(38096,1,44163);ea(38104,2,44196);ea(38112,3,44229);ea(38120,4,44263);ea(38128,5,44296);ea(38152,6,44330);ea(38160,7,44361);ea(38168,7,44393);return}function pi(a){a=a|0;return cj(c[a+4>>2]|0)|0}function qi(a){a=a|0;var b=0,d=0;b=Sb;Sb=Sb+16|0;d=b;c[d>>2]=vi(c[a+60>>2]|0)|0;a=ti(W(6,d|0)|0)|0;Sb=b;return a|0}function ri(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=Sb;Sb=Sb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=ti(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=ti(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Sb=m;return d|0}function si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Sb;Sb=Sb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((ti(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Sb=g;return b|0}function ti(a){a=a|0;if(a>>>0>4294963200){c[(ui()|0)>>2]=0-a;a=-1}return a|0}function ui(){return 46864}function vi(a){a=a|0;return a|0}function wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,V(54,f|0)|0):0)a[b+75>>0]=-1;f=ri(b,d,e)|0;Sb=g;return f|0}function xi(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 yi(a){a=a|0;return (a+-48|0)>>>0<10|0}function zi(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=Sb;Sb=Sb+160|0;g=j+144|0;i=j;Sk(i|0,38464,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(ui()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ai(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Sb=j;return d|0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;return Di(a,b,c,1,18)|0}function Bi(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;Vi(e)|0;j=v()|0;if((j|0)<0){e=-e;Vi(e)|0;D=1;C=44945;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?44946:44951):44948}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Oi(b,32,f,j,h&-65537);Hi(b,C,D);Hi(b,e!=e|0.0!=0.0?(G?44972:44976):G?44964:44968,3);Oi(b,32,f,j,h^8192)}else{q=+Wi(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=Mi(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[37824+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Oi(b,32,f,E,h);Hi(b,s,p);Oi(b,48,f,E,h^65536);F=m-F|0;Hi(b,G,F);G=k-l|0;Oi(b,48,j-(F+G)|0,0,0);Hi(b,n,G);Oi(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=Qk(c[j>>2]|0,0,n|0)|0;t=Kk(t|0,v()|0,m|0,0)|0;x=v()|0;m=Ok(t|0,x|0,1e9,0)|0;y=Jk(m|0,v()|0,1e9,0)|0;y=Lk(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Mi(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;Oi(b,32,f,j,h);Hi(b,C,D);Oi(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=Mi(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Uk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Hi(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Hi(b,44980,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Mi(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){Uk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Hi(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}Oi(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=Mi(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;Hi(b,l,1);if(t&(k|0)<1){l=m;break}Hi(b,44980,1);l=m}else{if(l>>>0<=G>>>0)break;Uk(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;Hi(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}Oi(b,48,k+18|0,18,0);Hi(b,x,E-x|0)}Oi(b,32,f,j,h^8192)}while(0);Sb=H;return ((j|0)<(f|0)?f:j)|0}function Ci(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Di(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Sb;Sb=Sb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ei(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Fi(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ei(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ei(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Gi(b);e=(h&32|0)==0?e:-1}Sb=t;return e|0}function Ei(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Sb;Sb=Sb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(ui()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)Hi(d,r,l)}while((l|0)!=0);w=(yi(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((yi(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=Ii(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Ii(G)|0;m=c[G>>2]|0;break}if(yi(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(37360+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}Ji(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=Li(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=44928;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Lk(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=44928;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?44928:44930):44929;x=72;break e}}case 117:{n=I;o=0;p=44928;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=44928;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?44938:s;t=Ni(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=44928;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){Oi(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=44928;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=Ki(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?44928:44928+(m>>>4)|0;x=73}else if((x|0)==72){q=Mi(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Pi(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}Oi(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=Pi(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}Hi(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;Oi(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Oi(d,32,l,K,m);Hi(d,p,o);Oi(d,48,l,K,m^65536);Oi(d,48,s,t,0);Hi(d,r,t);Oi(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Ji(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Sb=J;return e|0}function Fi(a){a=a|0;return 1}function Gi(a){a=a|0;return}function Hi(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Ti(b,d,a)|0;return}function Ii(b){b=b|0;var d=0,e=0;if(!(yi(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((yi(a[e>>0]|0)|0)!=0)}return d|0}function Ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ac[e&31](a,d);break a}default:break a}while(0);while(0);return}function Ki(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[37824+(b&15)>>0]|0|f;b=Pk(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Li(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Pk(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Mi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=Ok(b|0,c|0,10,0)|0;f=c;c=v()|0;g=Jk(b|0,c|0,10,0)|0;g=Lk(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Oi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Uk(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Hi(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Hi(a,f,e)}Sb=g;return}function Pi(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Qi(a,b,0)|0;return a|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Ri()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(ui()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ui()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ri(){return Si()|0}function Si(){return 39208}function Ti(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Ui(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Sk(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Vi(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function Wi(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=Pk(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Wi(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 Xi(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;Sk(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Yi(a,b){a=a|0;b=b|0;var c=0;c=Ni(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function Zi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function _i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Sb;Sb=Sb+16|0;g=f;c[g>>2]=e;e=zi(a,b,d,g)|0;Sb=f;return e|0}function $i(a,b){a=a|0;b=b|0;var c=0;c=Zi(a)|0;return ((aj(a,1,c,b)|0)!=(c|0))<<31>>31|0}function aj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=r(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Fi(e)|0)==0;a=Ti(a,f,e)|0;if(!g)Gi(e)}else a=Ti(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function bj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Ui(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Sb=l;return f|0}function cj(a){a=a|0;var b=0,c=0;b=(Zi(a)|0)+1|0;c=gj(b)|0;if(!c)a=0;else a=Sk(c|0,a|0,b|0)|0;return a|0}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;if((c[d+76>>2]|0)>=0?(Fi(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=bj(d,b)|0;Gi(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=bj(d,b)|0}while(0);return e|0}function ej(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=b;b=Ai(c[9801]|0,a,e)|0;Sb=d;return b|0}function fj(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[9801]|0;if((c[f+76>>2]|0)>-1)g=Fi(f)|0;else g=0;do if(($i(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(bj(f,10)|0)>>31}while(0);if(g|0)Gi(f);return b|0}function gj(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=Sb;Sb=Sb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[11717]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=46908+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[11717]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Sb=w;return v|0}l=c[11719]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=46908+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[11717]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[11722]|0;b=l>>>3;d=46908+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11719]=h;c[11722]=f;v=i;Sb=w;return v|0}g=c[11718]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[47172+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=47172+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[11718]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[11722]|0;b=l>>>3;d=46908+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[11717]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11719]=j;c[11722]=h}v=i+8|0;Sb=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[11718]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[47172+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[47172+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[11719]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=47172+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[11718]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=47172+(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[11718]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Sb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[11719]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[11722]|0;if(b>>>0>15){v=a+m|0;c[11722]=v;c[11719]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[11719]=0;c[11722]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Sb=w;return v|0}h=c[11720]|0;if(h>>>0>m>>>0){t=h-m|0;c[11720]=t;v=c[11723]|0;u=v+m|0;c[11723]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}if(!(c[11835]|0)){c[11837]=4096;c[11836]=4096;c[11838]=-1;c[11839]=-1;c[11840]=0;c[11828]=0;c[11835]=n&-16^1431655768;a=4096}else a=c[11837]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Sb=w;return v|0}a=c[11827]|0;if(a|0?(l=c[11825]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Sb=w;return v|0}d:do if(!(c[11828]&4)){d=c[11723]|0;e:do if(d){e=47316;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Vk(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Vk(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[11836]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[11825]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[11827]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Vk(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[11837]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Vk(a|0)|0)==(-1|0)){Vk(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[11828]=c[11828]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Vk(k|0)|0,p=Vk(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[11825]|0)+h|0;c[11825]=b;if(b>>>0>(c[11826]|0)>>>0)c[11826]=b;j=c[11723]|0;f:do if(j){b=47316;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[11720]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[11724]=c[11839];break}if(g>>>0<(c[11721]|0)>>>0)c[11721]=g;d=g+h|0;b=47316;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[11720]|0)+i|0;c[11720]=v;c[11723]=k;c[k+4>>2]=v|1}else{if((c[11722]|0)==(b|0)){v=(c[11719]|0)+i|0;c[11719]=v;c[11722]=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[11717]=c[11717]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=47172+(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[11718]=c[11718]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=47172+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[11718]|0;d=1<<e;if(!(a&d)){c[11718]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Sb=w;return v|0}b=47316;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[11724]=c[11839];d=a+4|0;c[d>>2]=27;c[b>>2]=c[11829];c[b+4>>2]=c[11830];c[b+8>>2]=c[11831];c[b+12>>2]=c[11832];c[11829]=g;c[11830]=h;c[11832]=0;c[11831]=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=46908+(b<<1<<2)|0;a=c[11717]|0;b=1<<b;if(!(a&b)){c[11717]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=47172+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[11718]|0;a=1<<e;if(!(b&a)){c[11718]=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[11721]|0;if((v|0)==0|g>>>0<v>>>0)c[11721]=g;c[11829]=g;c[11830]=h;c[11832]=0;c[11726]=c[11835];c[11725]=-1;c[11730]=46908;c[11729]=46908;c[11732]=46916;c[11731]=46916;c[11734]=46924;c[11733]=46924;c[11736]=46932;c[11735]=46932;c[11738]=46940;c[11737]=46940;c[11740]=46948;c[11739]=46948;c[11742]=46956;c[11741]=46956;c[11744]=46964;c[11743]=46964;c[11746]=46972;c[11745]=46972;c[11748]=46980;c[11747]=46980;c[11750]=46988;c[11749]=46988;c[11752]=46996;c[11751]=46996;c[11754]=47004;c[11753]=47004;c[11756]=47012;c[11755]=47012;c[11758]=47020;c[11757]=47020;c[11760]=47028;c[11759]=47028;c[11762]=47036;c[11761]=47036;c[11764]=47044;c[11763]=47044;c[11766]=47052;c[11765]=47052;c[11768]=47060;c[11767]=47060;c[11770]=47068;c[11769]=47068;c[11772]=47076;c[11771]=47076;c[11774]=47084;c[11773]=47084;c[11776]=47092;c[11775]=47092;c[11778]=47100;c[11777]=47100;c[11780]=47108;c[11779]=47108;c[11782]=47116;c[11781]=47116;c[11784]=47124;c[11783]=47124;c[11786]=47132;c[11785]=47132;c[11788]=47140;c[11787]=47140;c[11790]=47148;c[11789]=47148;c[11792]=47156;c[11791]=47156;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[11723]=u;c[11720]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[11724]=c[11839]}while(0);b=c[11720]|0;if(b>>>0>m>>>0){t=b-m|0;c[11720]=t;v=c[11723]|0;u=v+m|0;c[11723]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}}c[(ui()|0)>>2]=12;v=0;Sb=w;return v|0}function hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[11721]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[11722]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[11719]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[11717]=c[11717]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=47172+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[11718]=c[11718]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[11723]|0)==(j|0)){j=(c[11720]|0)+b|0;c[11720]=j;c[11723]=i;c[i+4>>2]=j|1;if((i|0)!=(c[11722]|0))return;c[11722]=0;c[11719]=0;return}if((c[11722]|0)==(j|0)){j=(c[11719]|0)+b|0;c[11719]=j;c[11722]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[11717]=c[11717]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=47172+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[11718]=c[11718]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[11722]|0)){c[11719]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=46908+(a<<1<<2)|0;b=c[11717]|0;a=1<<a;if(!(b&a)){c[11717]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=47172+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[11718]|0;d=1<<e;a:do if(!(b&d)){c[11718]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[11725]|0)+-1|0;c[11725]=j;if(j|0)return;a=47324;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[11725]=-1;return}function ij(a,b){a=a|0;b=b|0;return 0}function jj(a){a=a|0;return 0}function kj(a){a=a|0;return 0}function lj(a){a=a|0;return 0}function mj(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=gj(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function nj(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function oj(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function pj(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;_b[b&3]();c[a>>2]=324508639;return 0}function qj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=gj(b)|0;if(a|0)break;a=Fk()|0;if(!a){a=0;break}_b[a&3]()}return a|0}function rj(a){a=a|0;hj(a);return}function sj(a,b){a=a|0;b=b|0;var d=0,e=0;e=Zi(b)|0;d=qj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=tj(d)|0;Sk(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function tj(a){a=a|0;return a+12|0}function uj(a,b){a=a|0;b=b|0;c[a>>2]=39544;sj(a+4|0,b);return}function vj(a){a=a|0;return 1}function wj(a){a=a|0;Ea()}function xj(a){a=a|0;Ea()}function yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=Sb;Sb=Sb+16|0;f=g;if(e>>>0>4294967279)wj(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=qj(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}zj(b,d,e)|0;a[f>>0]=0;Aj(b+e|0,f);Sb=g;return}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Sk(a|0,b|0,c|0)|0;return a|0}function Aj(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Uk(a|0,(Cj(c)|0)&255|0,b|0)|0;return a|0}function Cj(a){a=a|0;return a&255|0}function Dj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)xj(b);else{g=g-e|0;yj(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Ej(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+16|0;n=o;if((-18-d|0)>>>0<e>>>0)wj(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=qj(k)|0;if(g|0)zj(l,m,g)|0;if(i|0)zj(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)zj(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)rj(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Aj(l+i|0,n);Sb=o;return}function Fj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Aj(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Aj(b+d|0,g);a[h>>0]=d;break}else Gj(b,d-f|0,e)|0;while(0);Sb=j;return}function Gj(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=Sb;Sb=Sb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Hj(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Bj(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Aj(g+f|0,i)}Sb=k;return b|0}function Hj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)wj(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=qj(j)|0;if(g|0)zj(k,l,g)|0;e=f-h-g|0;if(e|0)zj(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)rj(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Ij(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)xj(b);if(f)b=c[b>>2]|0;return b+d|0}function Jj(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=Sb;Sb=Sb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;zj(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Aj(g+f|0,i)}}else Ej(b,g,f+e-g|0,f,f,0,e,d);Sb=k;return b|0}function Kj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Lj()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=45118;Mj(45068,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Yb[c[(c[9652]|0)+16>>2]&15](38608,e,f)|0){i=c[f>>2]|0;i=Vb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=45118;c[g+4>>2]=a;c[g+8>>2]=i;Mj(44982,g)}else{c[i>>2]=45118;c[i+4>>2]=a;Mj(45027,i)}}Mj(45106,h)}function Lj(){var a=0,b=0;a=Sb;Sb=Sb+16|0;if(!(pj(47364,3)|0)){b=nj(c[11842]|0)|0;Sb=a;return b|0}else Mj(45257,a);return 0}function Mj(a,b){a=a|0;b=b|0;var d=0;d=Sb;Sb=Sb+16|0;c[d>>2]=b;b=c[9800]|0;Ai(b,a,d)|0;dj(10,b)|0;Ea()}function Nj(a){a=a|0;return}function Oj(a){a=a|0;Nj(a);rj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;return}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Sb;Sb=Sb+64|0;f=h;if(!(Vj(a,b,0)|0))if((b|0)!=0?(g=Zj(b,38632,38616,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;cc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Sb=h;return b|0}function Sj(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(Vj(a,c[b+8>>2]|0,g)|0)Yj(0,b,d,e,f);return}function Tj(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(!(Vj(b,c[d+8>>2]|0,g)|0)){if(Vj(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Xj(0,d,e,f);while(0);return}function Uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Vj(a,c[b+8>>2]|0,0)|0)Wj(0,b,d,e);return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Wj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Xj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function Yj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Zj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Sb;Sb=Sb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(Vj(m,f,0)|0){c[n+48>>2]=1;ec[c[(c[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{dc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Sb=p;return d|0}function _j(a){a=a|0;Nj(a);rj(a);return}function $j(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(Vj(a,c[b+8>>2]|0,g)|0)Yj(0,b,d,e,f);else{a=c[a+8>>2]|0;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function ak(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(!(Vj(b,c[d+8>>2]|0,g)|0)){if(!(Vj(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;dc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ec[c[(c[b>>2]|0)+20>>2]&31](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 Xj(0,d,e,f);while(0);return}function bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Vj(a,c[b+8>>2]|0,0)|0)Wj(0,b,d,e);else{a=c[a+8>>2]|0;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function ck(a){a=a|0;return}function dk(){var a=0;a=Sb;Sb=Sb+16|0;if(!(mj(47368,28)|0)){Sb=a;return}else Mj(45306,a)}function ek(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;hj(a);if(!(oj(c[11842]|0,0)|0)){Sb=b;return}else Mj(45356,b)}function fk(){var a=0,b=0;a=Lj()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)gk(c[b+12>>2]|0);gk(hk()|0)}function gk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;_b[a&3]();Mj(45409,b)}function hk(){var a=0;a=c[9863]|0;c[9863]=a+0;return a|0}function ik(a){a=a|0;return}function jk(a){a=a|0;c[a>>2]=39544;nk(a+4|0);return}function kk(a){a=a|0;jk(a);rj(a);return}function lk(a){a=a|0;return mk(a+4|0)|0}function mk(a){a=a|0;return c[a>>2]|0}function nk(a){a=a|0;var b=0,d=0;if(vj(a)|0?(b=ok(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)rj(b);return}function ok(a){a=a|0;return a+-12|0}function pk(a){a=a|0;jk(a);rj(a);return}function qk(a){a=a|0;Nj(a);rj(a);return}function rk(a,b,c){a=a|0;b=b|0;c=c|0;return Vj(a,b,0)|0}function sk(a){a=a|0;Nj(a);rj(a);return} |
| | | function lg(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=c+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<1)|0;g=a+h|0;p=0;f=a;k=m?l:c;h=m?c:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;c=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[e>>1]=((z|0)<255?z:255)>>>3<<11|((D|0)<255?D:255)>>>3|((E|0)<255?E:255)>>>2<<5;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;b[e+2>>1]=((E|0)<255?E:255)>>>3<<11|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>2<<5;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[c>>1]=((E|0)<255?E:255)>>>2<<5|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>3<<11;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;b[c+2>>1]=((B|0)<255?B:255)>>>2<<5|((A|0)<255?A:255)>>>3|((z|0)<255?z:255)>>>3<<11;if(m<<16>>16>1){m=m+-1<<16>>16;c=c+4|0;g=g+2|0;l=l+2|0;e=e+4|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<1)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<1)+(v<<1)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<1)+(j<<1)|0;k=k+i+v|0;h=h+i+v|0}}return}function mg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((f|0)<=0)return;k=0;while(1){Sk(c|0,a|0,e|0)|0;k=k+1|0;if((k|0)==(f|0))break;else{c=c+i|0;a=a+g|0}}a=f>>1;if((f|0)<=1)return;c=0;while(1){Sk(d|0,b|0,e|0)|0;c=c+1|0;if((c|0)>=(a|0))break;else{d=d+j|0;b=b+h|0}}return}function ng(b,c,d,e,f,g,h,i,j,k,l,m,n){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((n|0)==0&(h|0)>0){o=0;n=d;while(1){Sk(n|0,b|0,g|0)|0;o=o+1|0;if((o|0)==(h|0))break;else{n=n+k|0;b=b+i|0}}}b=(m|0)==0;n=c+1|0;m=h>>1;i=g>>1;if(!((h|0)>1&(g|0)>1))return;o=b?c:n;n=b?n:c;d=0;while(1){b=0;do{c=b<<1;a[e+b>>0]=a[n+c>>0]|0;a[f+b>>0]=a[o+c>>0]|0;b=b+1|0}while((b|0)<(i|0));d=d+1|0;if((d|0)>=(m|0))break;else{e=e+l|0;f=f+l|0;o=o+j|0;n=n+j|0}}return}function og(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=k+(d[b+(h+i)>>0]|0)|0;m=(m|0)>0?m:0;a[c+(h+j)>>0]=(m|0)<255?m:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function pg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=h<<1;n=k+(d[b+(m+i)>>0]|0)|0;n=(n|0)>0?n:0;a[c+(m+j)>>0]=(n|0)<255?n:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function qg(a){a=a|0;var b=0,d=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;if(bg(c[b>>2]|0)|0){d=2147483647;return d|0}d=($f(c[b>>2]|0)|0)==0;d=d?0:2147483647;return d|0}function rg(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;f=e+8|0;c[f>>2]=0;j=c[d+16>>2]|0;g=c[d+20>>2]|0;l=c[d+24>>2]|0;e=Yb[j&15](l,128,12)|0;if(!e){l=1;return l|0}c[b>>2]=e;c[f>>2]=e;c[(c[b>>2]|0)+8>>2]=0;k=Yb[j&15](l,128,45344)|0;if(!k){l=1;return l|0}c[(c[b>>2]|0)+8>>2]=k;Uk(k|0,0,45344)|0;f=k+56|0;c[f>>2]=c[d+12>>2];e=c[d+8>>2]|0;switch(e|0){case 12:case 11:case 1:break;default:c[f>>2]=0}c[k+60>>2]=e;i=k+11616|0;c[i>>2]=j;c[k+11620>>2]=g;c[k+11624>>2]=l;e=(Wf()|0)<<3;e=Yb[j&15](l,128,e)|0;if(!e){l=1;return l|0}c[k+11492>>2]=e;c[k+11496>>2]=e+(Wf()|0);c[k+11500>>2]=e+((Wf()|0)<<1);c[k+11504>>2]=e+((Wf()|0)*3|0);c[k+11508>>2]=e+((Wf()|0)<<2);c[k+11512>>2]=e+((Wf()|0)*5|0);c[k+11516>>2]=e+((Wf()|0)*6|0);c[k+11520>>2]=e+((Wf()|0)*7|0);e=Yb[j&15](l,128,1048592)|0;if(!e){l=1;return l|0}c[k+172>>2]=e;c[k+184>>2]=1048576;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+264>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+276>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+244>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+224>>2]=e;e=Yb[j&15](l,128,7168)|0;if(!e){l=1;return l|0}Uk(e|0,0,7168)|0;c[k+292>>2]=e;c[k+632>>2]=e;e=Yb[j&15](l,128,152592)|0;if(!e){l=1;return l|0}Uk(e|0,0,152592)|0;h=k+296|0;c[h>>2]=e;c[k+636>>2]=e;e=Yb[j&15](l,128,4420)|0;if(!e){l=1;return l|0}Uk(e|0,0,4420)|0;g=k+300|0;c[g>>2]=e;c[k+640>>2]=e;e=Yb[j&15](l,128,325632)|0;if(!e){l=1;return l|0}Uk(e|0,0,325632)|0;c[k+304>>2]=e;c[k+644>>2]=e;e=Yb[j&15](l,128,666496)|0;if(!e){l=1;return l|0}d=k+280|0;c[d>>2]=e;e=Yb[j&15](l,128,542464)|0;if(!e){l=1;return l|0}c[k+252>>2]=e;e=Yb[j&15](l,128,262144)|0;if(!e){l=1;return l|0}c[k+6548>>2]=e;c[k+6552>>2]=e+16384;c[k+7240>>2]=e+32768;c[k+7244>>2]=e+49152;c[k+7932>>2]=e+65536;c[k+7936>>2]=e+81920;c[k+8624>>2]=e+98304;c[k+8628>>2]=e+114688;c[k+9316>>2]=e+131072;c[k+9320>>2]=e+147456;c[k+10008>>2]=e+163840;c[k+10012>>2]=e+180224;c[k+10700>>2]=e+196608;c[k+10704>>2]=e+212992;c[k+11392>>2]=e+229376;c[k+11396>>2]=e+245760;e=Yb[j&15](l,128,48)|0;if(!e){l=1;return l|0}f=e;b=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));c[k+628>>2]=e;c[k+624>>2]=e+16;e=Yb[c[i>>2]&15](l,128,158208)|0;if(!e){l=1;return l|0}Uk(e|0,0,158208)|0;c[k+6144>>2]=e;i=e+9216|0;c[k+6148>>2]=i;l=e+18432|0;c[k+6196>>2]=i;c[k+6200>>2]=e;c[k+6056>>2]=l;c[k+6320>>2]=l;l=e+19776|0;c[k+6156>>2]=64;c[k+6836>>2]=l;i=e+28992|0;c[k+6840>>2]=i;j=e+38208|0;c[k+6888>>2]=i;c[k+6892>>2]=l;c[k+6748>>2]=j;c[k+7012>>2]=j;j=e+39552|0;c[k+6848>>2]=64;c[k+7528>>2]=j;l=e+48768|0;c[k+7532>>2]=l;i=e+57984|0;c[k+7580>>2]=l;c[k+7584>>2]=j;c[k+7440>>2]=i;c[k+7704>>2]=i;i=e+59328|0;c[k+7540>>2]=64;c[k+8220>>2]=i;j=e+68544|0;c[k+8224>>2]=j;l=e+77760|0;c[k+8272>>2]=j;c[k+8276>>2]=i;c[k+8132>>2]=l;c[k+8396>>2]=l;l=e+79104|0;c[k+8232>>2]=64;c[k+8912>>2]=l;i=e+88320|0;c[k+8916>>2]=i;j=e+97536|0;c[k+8964>>2]=i;c[k+8968>>2]=l;c[k+8824>>2]=j;c[k+9088>>2]=j;j=e+98880|0;c[k+8924>>2]=64;c[k+9604>>2]=j;l=e+108096|0;c[k+9608>>2]=l;i=e+117312|0;c[k+9656>>2]=l;c[k+9660>>2]=j;c[k+9516>>2]=i;c[k+9780>>2]=i;i=e+118656|0;c[k+9616>>2]=64;c[k+10296>>2]=i;j=e+127872|0;c[k+10300>>2]=j;l=e+137088|0;c[k+10348>>2]=j;c[k+10352>>2]=i;c[k+10208>>2]=l;c[k+10472>>2]=l;l=e+138432|0;c[k+10308>>2]=64;c[k+10988>>2]=l;i=e+147648|0;c[k+10992>>2]=i;j=e+156864|0;c[k+11040>>2]=i;c[k+11044>>2]=l;c[k+10900>>2]=j;c[k+11164>>2]=j;c[k+11e3>>2]=64;j=c[h>>2]|0;l=c[g>>2]|0;k=c[d>>2]|0;c[j+8968>>2]=k;c[j+17944>>2]=k+8128;c[j+26920>>2]=k+16256;c[j+35896>>2]=k+24384;c[j+44872>>2]=k+32512;c[j+53848>>2]=k+40640;c[j+62824>>2]=k+48768;c[j+71800>>2]=k+56896;c[j+80776>>2]=k+65024;c[j+89752>>2]=k+73152;c[j+98728>>2]=k+81280;c[j+107704>>2]=k+89408;c[j+116680>>2]=k+97536;c[j+125656>>2]=k+105664;c[j+134632>>2]=k+113792;c[j+143608>>2]=k+121920;c[j+152584>>2]=k+130048;c[l>>2]=k+138176;c[l+68>>2]=k+146304;c[l+136>>2]=k+154432;c[l+204>>2]=k+162560;c[l+272>>2]=k+170688;c[l+340>>2]=k+178816;c[l+408>>2]=k+186944;c[l+476>>2]=k+195072;c[l+544>>2]=k+203200;c[l+612>>2]=k+211328;c[l+680>>2]=k+219456;c[l+748>>2]=k+227584;c[l+816>>2]=k+235712;c[l+884>>2]=k+243840;c[l+952>>2]=k+251968;c[l+1020>>2]=k+260096;c[l+1088>>2]=k+268224;c[l+1156>>2]=k+276352;c[l+1224>>2]=k+284480;c[l+1292>>2]=k+292608;c[l+1360>>2]=k+300736;c[l+1428>>2]=k+308864;c[l+1496>>2]=k+316992;c[l+1564>>2]=k+325120;c[l+1632>>2]=k+333248;c[l+1700>>2]=k+341376;c[l+1768>>2]=k+349504;c[l+1836>>2]=k+357632;c[l+1904>>2]=k+365760;c[l+1972>>2]=k+373888;c[l+2040>>2]=k+382016;c[l+2108>>2]=k+390144;c[l+2176>>2]=k+398272;c[l+2244>>2]=k+406400;c[l+2312>>2]=k+414528;c[l+2380>>2]=k+422656;c[l+2448>>2]=k+430784;c[l+2516>>2]=k+438912;c[l+2584>>2]=k+447040;c[l+2652>>2]=k+455168;c[l+2720>>2]=k+463296;c[l+2788>>2]=k+471424;c[l+2856>>2]=k+479552;c[l+2924>>2]=k+487680;c[l+2992>>2]=k+495808;c[l+3060>>2]=k+503936;c[l+3128>>2]=k+512064;c[l+3196>>2]=k+520192;c[l+3264>>2]=k+528320;c[l+3332>>2]=k+536448;c[l+3400>>2]=k+544576;c[l+3468>>2]=k+552704;c[l+3536>>2]=k+560832;c[l+3604>>2]=k+568960;c[l+3672>>2]=k+577088;c[l+3740>>2]=k+585216;c[l+3808>>2]=k+593344;c[l+3876>>2]=k+601472;c[l+3944>>2]=k+609600;c[l+4012>>2]=k+617728;c[l+4080>>2]=k+625856;c[l+4148>>2]=k+633984;c[l+4216>>2]=k+642112;c[l+4284>>2]=k+650240;c[l+4352>>2]=k+658368;l=0;return l|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+8|0;e=c[f>>2]|0;g=e+11620|0;h=c[g>>2]|0;i=e+11624|0;j=c[i>>2]|0;b=e+11492|0;d=c[b>>2]|0;if(d|0){ac[h&31](j,d);c[b>>2]=0}b=e+172|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+264|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+276|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+244|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+224|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+292|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+296|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+300|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+304|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+280|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+252|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+628|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6548|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6144|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=c[f>>2]|0;if(!b){ac[h&31](j,a);return 0}ac[c[g>>2]&31](c[i>>2]|0,b);c[f>>2]=0;ac[h&31](j,a);return 0}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=c[b+11624>>2]|0;j=(c[b>>2]|0)+63|0;v=j&-64;i=(c[b+4>>2]|0)+63|0;w=i&-64;o=v+64|0;h=(j|63|0)/64|0;m=w+64|0;s=(w|0)/16|0;t=(v|0)/16|0;u=r(s,t)|0;n=(v|0)/8|0;f=(w|0)/8|0;i=r((i|63|0)/64|0,h)|0;d=i*390|0;y=b+11616|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;g=b+284|0;c[g>>2]=e;d=i+s<<2;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+308>>2]=e;d=((v|0)/64|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+608>>2]=e;d=((v|0)/32|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+616>>2]=e;d=((r(f,n)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+212>>2]=e;c[b+600>>2]=e;l=f+8|0;d=((r(l,n+8|0)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,1,d|0)|0;c[b+216>>2]=e;e=e+(j>>6)+1|0;c[b+220>>2]=e;c[b+604>>2]=e;c[b+1212>>2]=e;c[b+1284>>2]=e;e=c[b+300>>2]|0;d=c[g>>2]|0;c[e+4>>2]=d;d=d+(i*6|0)|0;c[e+72>>2]=d;d=d+(i*6|0)|0;c[e+140>>2]=d;d=d+(i*6|0)|0;c[e+208>>2]=d;d=d+(i*6|0)|0;c[e+276>>2]=d;d=d+(i*6|0)|0;c[e+344>>2]=d;d=d+(i*6|0)|0;c[e+412>>2]=d;d=d+(i*6|0)|0;c[e+480>>2]=d;d=d+(i*6|0)|0;c[e+548>>2]=d;d=d+(i*6|0)|0;c[e+616>>2]=d;d=d+(i*6|0)|0;c[e+684>>2]=d;d=d+(i*6|0)|0;c[e+752>>2]=d;d=d+(i*6|0)|0;c[e+820>>2]=d;d=d+(i*6|0)|0;c[e+888>>2]=d;d=d+(i*6|0)|0;c[e+956>>2]=d;d=d+(i*6|0)|0;c[e+1024>>2]=d;d=d+(i*6|0)|0;c[e+1092>>2]=d;d=d+(i*6|0)|0;c[e+1160>>2]=d;d=d+(i*6|0)|0;c[e+1228>>2]=d;d=d+(i*6|0)|0;c[e+1296>>2]=d;d=d+(i*6|0)|0;c[e+1364>>2]=d;d=d+(i*6|0)|0;c[e+1432>>2]=d;d=d+(i*6|0)|0;c[e+1500>>2]=d;d=d+(i*6|0)|0;c[e+1568>>2]=d;d=d+(i*6|0)|0;c[e+1636>>2]=d;d=d+(i*6|0)|0;c[e+1704>>2]=d;d=d+(i*6|0)|0;c[e+1772>>2]=d;d=d+(i*6|0)|0;c[e+1840>>2]=d;d=d+(i*6|0)|0;c[e+1908>>2]=d;d=d+(i*6|0)|0;c[e+1976>>2]=d;d=d+(i*6|0)|0;c[e+2044>>2]=d;d=d+(i*6|0)|0;c[e+2112>>2]=d;d=d+(i*6|0)|0;c[e+2180>>2]=d;d=d+(i*6|0)|0;c[e+2248>>2]=d;d=d+(i*6|0)|0;c[e+2316>>2]=d;d=d+(i*6|0)|0;c[e+2384>>2]=d;d=d+(i*6|0)|0;c[e+2452>>2]=d;d=d+(i*6|0)|0;c[e+2520>>2]=d;d=d+(i*6|0)|0;c[e+2588>>2]=d;d=d+(i*6|0)|0;c[e+2656>>2]=d;d=d+(i*6|0)|0;c[e+2724>>2]=d;d=d+(i*6|0)|0;c[e+2792>>2]=d;d=d+(i*6|0)|0;c[e+2860>>2]=d;d=d+(i*6|0)|0;c[e+2928>>2]=d;d=d+(i*6|0)|0;c[e+2996>>2]=d;d=d+(i*6|0)|0;c[e+3064>>2]=d;d=d+(i*6|0)|0;c[e+3132>>2]=d;d=d+(i*6|0)|0;c[e+3200>>2]=d;d=d+(i*6|0)|0;c[e+3268>>2]=d;d=d+(i*6|0)|0;c[e+3336>>2]=d;d=d+(i*6|0)|0;c[e+3404>>2]=d;d=d+(i*6|0)|0;c[e+3472>>2]=d;d=d+(i*6|0)|0;c[e+3540>>2]=d;d=d+(i*6|0)|0;c[e+3608>>2]=d;d=d+(i*6|0)|0;c[e+3676>>2]=d;d=d+(i*6|0)|0;c[e+3744>>2]=d;d=d+(i*6|0)|0;c[e+3812>>2]=d;d=d+(i*6|0)|0;c[e+3880>>2]=d;d=d+(i*6|0)|0;c[e+3948>>2]=d;d=d+(i*6|0)|0;c[e+4016>>2]=d;d=d+(i*6|0)|0;c[e+4084>>2]=d;d=d+(i*6|0)|0;c[e+4152>>2]=d;d=d+(i*6|0)|0;c[e+4220>>2]=d;d=d+(i*6|0)|0;c[e+4288>>2]=d;c[e+4356>>2]=d+(i*6|0);e=(r(s,h)|0)+s<<4;e=(e|3)+(ug()|0)&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}q=b+196|0;c[q>>2]=d;p=b+200|0;c[p>>2]=e;e=u+3&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Uk(d|0,0,e|0)|0;c[b+204>>2]=d;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Uk(d|0,0,e|0)|0;c[b+208>>2]=d;h=((v|0)/4|0)<<2;d=h+519&-4;i=Yb[c[y>>2]&15](x,128,d)|0;if(!i){b=1;return b|0}Uk(i|0,0,d|0)|0;d=i+512|0;c[b+6064>>2]=i;f=i;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=b+6060|0;c[e>>2]=d;f=i+64|0;c[b+6756>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+6752>>2]=d;f=i+128|0;c[b+7448>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+7444>>2]=d;f=i+192|0;c[b+8140>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8136>>2]=d;f=i+256|0;c[b+8832>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8828>>2]=d;f=i+320|0;c[b+9524>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+9520>>2]=d;f=i+384|0;c[b+10216>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10212>>2]=d;f=i+448|0;c[b+10908>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10904>>2]=d;Uk(c[e>>2]|0,0,h+4|0)|0;d=(w|0)>(v|0)?w:v;e=s<<1;k=t<<1;j=t+63+k+(s*9|0)+(d+v<<1)&-64;f=Yb[c[y>>2]&15](x,128,j)|0;if(!f){b=1;return b|0}Uk(f|0,0,j|0)|0;c[b+6556>>2]=f;c[b+7248>>2]=f;c[b+7940>>2]=f;c[b+8632>>2]=f;c[b+9324>>2]=f;c[b+10016>>2]=f;c[b+10708>>2]=f;c[b+11400>>2]=f;c[b+1308>>2]=f;i=f+d|0;c[b+6564>>2]=i;c[b+7256>>2]=i;c[b+7948>>2]=i;c[b+8640>>2]=i;c[b+9332>>2]=i;c[b+10024>>2]=i;c[b+10716>>2]=i;c[b+11408>>2]=i;c[b+1316>>2]=i;i=i+d|0;c[b+6560>>2]=i;c[b+7252>>2]=i;c[b+7944>>2]=i;c[b+8636>>2]=i;c[b+9328>>2]=i;c[b+10020>>2]=i;c[b+10712>>2]=i;c[b+11404>>2]=i;c[b+1312>>2]=i;i=i+v|0;c[b+6568>>2]=i;c[b+7260>>2]=i;c[b+7952>>2]=i;c[b+8644>>2]=i;c[b+9336>>2]=i;c[b+10028>>2]=i;c[b+10720>>2]=i;c[b+11412>>2]=i;c[b+1320>>2]=i;i=i+v|0;c[b+6572>>2]=i;c[b+7264>>2]=i;c[b+7956>>2]=i;c[b+8648>>2]=i;c[b+9340>>2]=i;c[b+10032>>2]=i;c[b+10724>>2]=i;c[b+11416>>2]=i;c[b+1324>>2]=i;i=i+s|0;c[b+6576>>2]=i;c[b+7268>>2]=i;c[b+7960>>2]=i;c[b+8652>>2]=i;c[b+9344>>2]=i;c[b+10036>>2]=i;c[b+10728>>2]=i;c[b+11420>>2]=i;c[b+1328>>2]=i;i=i+e|0;c[b+6580>>2]=i;c[b+7272>>2]=i;c[b+7964>>2]=i;c[b+8656>>2]=i;c[b+9348>>2]=i;c[b+10040>>2]=i;c[b+10732>>2]=i;c[b+11424>>2]=i;c[b+1332>>2]=i;i=i+s|0;c[b+6584>>2]=i;c[b+7276>>2]=i;c[b+7968>>2]=i;c[b+8660>>2]=i;c[b+9352>>2]=i;c[b+10044>>2]=i;c[b+10736>>2]=i;c[b+11428>>2]=i;c[b+1336>>2]=i;i=i+e|0;c[b+6588>>2]=i;c[b+7280>>2]=i;c[b+7972>>2]=i;c[b+8664>>2]=i;c[b+9356>>2]=i;c[b+10048>>2]=i;c[b+10740>>2]=i;c[b+11432>>2]=i;c[b+1340>>2]=i;i=i+t|0;c[b+6592>>2]=i;c[b+7284>>2]=i;c[b+7976>>2]=i;c[b+8668>>2]=i;c[b+9360>>2]=i;c[b+10052>>2]=i;c[b+10744>>2]=i;c[b+11436>>2]=i;c[b+1344>>2]=i;i=i+k|0;c[b+6600>>2]=i;c[b+7292>>2]=i;c[b+7984>>2]=i;c[b+8676>>2]=i;c[b+9368>>2]=i;c[b+10060>>2]=i;c[b+10752>>2]=i;c[b+11444>>2]=i;c[b+1352>>2]=i;i=i+s|0;c[b+6608>>2]=i;c[b+7300>>2]=i;c[b+7992>>2]=i;c[b+8684>>2]=i;c[b+9376>>2]=i;c[b+10068>>2]=i;c[b+10760>>2]=i;c[b+11452>>2]=i;c[b+1360>>2]=i;i=((r((m|0)/4|0,n+16|0)|0)/8|0)<<1;f=((r(l,(o|0)/4|0)|0)/8|0)<<1;g=(r(t+1|0,s)|0)/8|0;l=r(w,v)|0;h=(l|0)/64|0;d=g+h+i+f+j|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;d=0-(g+(h+(i+f)))|0;c[b+6284>>2]=e;c[b+6400>>2]=e;m=e+i|0;c[b+6288>>2]=m;c[b+6404>>2]=m;m=m+f|0;c[b+6296>>2]=m;c[b+6412>>2]=m;m=m+h|0;c[b+6292>>2]=m;c[b+6408>>2]=m;m=m+g+d|0;c[b+6976>>2]=m;c[b+7092>>2]=m;m=m+i|0;c[b+6980>>2]=m;c[b+7096>>2]=m;m=m+f|0;c[b+6988>>2]=m;c[b+7104>>2]=m;m=m+h|0;c[b+6984>>2]=m;c[b+7100>>2]=m;m=m+g+d|0;c[b+7668>>2]=m;c[b+7784>>2]=m;m=m+i|0;c[b+7672>>2]=m;c[b+7788>>2]=m;m=m+f|0;c[b+7680>>2]=m;c[b+7796>>2]=m;m=m+h|0;c[b+7676>>2]=m;c[b+7792>>2]=m;m=m+g+d|0;c[b+8360>>2]=m;c[b+8476>>2]=m;m=m+i|0;c[b+8364>>2]=m;c[b+8480>>2]=m;m=m+f|0;c[b+8372>>2]=m;c[b+8488>>2]=m;m=m+h|0;c[b+8368>>2]=m;c[b+8484>>2]=m;m=m+g+d|0;c[b+9052>>2]=m;c[b+9168>>2]=m;m=m+i|0;c[b+9056>>2]=m;c[b+9172>>2]=m;m=m+f|0;c[b+9064>>2]=m;c[b+9180>>2]=m;m=m+h|0;c[b+9060>>2]=m;c[b+9176>>2]=m;m=m+g+d|0;c[b+9744>>2]=m;c[b+9860>>2]=m;m=m+i|0;c[b+9748>>2]=m;c[b+9864>>2]=m;m=m+f|0;c[b+9756>>2]=m;c[b+9872>>2]=m;m=m+h|0;c[b+9752>>2]=m;c[b+9868>>2]=m;m=m+g+d|0;c[b+10436>>2]=m;c[b+10552>>2]=m;m=m+i|0;c[b+10440>>2]=m;c[b+10556>>2]=m;m=m+f|0;c[b+10448>>2]=m;c[b+10564>>2]=m;m=m+h|0;c[b+10444>>2]=m;c[b+10560>>2]=m;m=m+g+d|0;c[b+11128>>2]=m;c[b+11244>>2]=m;n=m+i|0;c[b+11132>>2]=n;c[b+11248>>2]=n;o=n+f|0;c[b+11140>>2]=o;c[b+11256>>2]=o;e=o+h|0;c[b+11136>>2]=e;c[b+11252>>2]=e;d=e+g+d|0;c[b+1152>>2]=m;c[b+1156>>2]=n;c[b+1164>>2]=o;c[b+1160>>2]=e;c[b+1036>>2]=d;d=d+i|0;c[b+1040>>2]=d;d=d+f|0;c[b+1048>>2]=d;c[b+1044>>2]=d+h;d=r(k,s+2|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+11612>>2]=e;d=e+(t<<1)|0;c[b+6632>>2]=d;c[b+7324>>2]=d;c[b+8016>>2]=d;c[b+8708>>2]=d;c[b+9400>>2]=d;c[b+10092>>2]=d;c[b+10784>>2]=d;c[b+11476>>2]=d;d=u*12|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+1444>>2]=e;c[b+1296>>2]=e;d=e;c[b+6544>>2]=d;c[b+7236>>2]=d;c[b+7928>>2]=d;c[b+8620>>2]=d;c[b+9312>>2]=d;c[b+10004>>2]=d;c[b+10696>>2]=d;c[b+11388>>2]=d;d=b+176|0;c[d>>2]=0;do if((l|0)>1048576){e=Yb[c[y>>2]&15](x,128,l|16)|0;if(!e){b=1;return b|0}else{c[d>>2]=e;c[b+188>>2]=l;break}}while(0);d=vg(l)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Uk(e|0,0,d|0)|0;c[b+192>>2]=e;e=c[b+636>>2]|0;d=c[b+11596>>2]|0;d=(a[(a[e+(d*8976|0)+14>>0]|0)+-1+(e+(d*8976|0)+25)>>0]|0)+1|0;d=r(d,(wg(l)|0)+40980|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}c[b+236>>2]=e;c[b+240>>2]=d;do if(!(c[b+56>>2]|0)){e=xg(b,v,w)|0;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}else{c[b+256>>2]=e;c[b+11628>>2]=d;break}}while(0);d=yg(c[q>>2]|0,c[p>>2]|0)|0;c[b+11556>>2]=d;e=d;if(!d){b=1;return b|0}c[b+656>>2]=d;c[b+6092>>2]=e;c[b+6100>>2]=0;c[b+5956>>2]=b;c[b+6104>>2]=0;c[b+6108>>2]=0;c[b+6784>>2]=e;c[b+6792>>2]=1;c[b+6648>>2]=b;c[b+6796>>2]=0;c[b+6800>>2]=0;c[b+7476>>2]=e;c[b+7484>>2]=2;c[b+7340>>2]=b;c[b+7488>>2]=0;c[b+7492>>2]=0;c[b+8168>>2]=e;c[b+8176>>2]=3;c[b+8032>>2]=b;c[b+8180>>2]=0;c[b+8184>>2]=0;c[b+8860>>2]=e;c[b+8868>>2]=4;c[b+8724>>2]=b;c[b+8872>>2]=0;c[b+8876>>2]=0;c[b+9552>>2]=e;c[b+9560>>2]=5;c[b+9416>>2]=b;c[b+9564>>2]=0;c[b+9568>>2]=0;c[b+10244>>2]=e;c[b+10252>>2]=6;c[b+10108>>2]=b;c[b+10256>>2]=0;c[b+10260>>2]=0;c[b+10936>>2]=e;c[b+10944>>2]=7;c[b+10800>>2]=b;c[b+10948>>2]=0;c[b+10952>>2]=0;c[b+11632>>2]=1;b=0;return b|0}function ug(){return (Xf()|0)+24|0}function vg(a){a=a|0;var b=0;b=(a|0)/16|0;return b+4+(((a|0)/256|0)<<2)+(((b>>1)+b|0)*42|0)|0}function wg(a){a=a|0;var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return b+4+(a<<2)+(b<<4)+((a<<1)+3&-4)|0}function xg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[b+636>>2]|0;i=c[b+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;f=a[h+(i*8976|0)+25+g>>0]|0;if((c[b+11636>>2]|0)!=1)f=(a[h+(i*8976|0)+32+g>>0]|0)+f|0;return r(f+1|0,(r((d*3|0)+480|0,e+160|0)|0)/2|0)|0}function yg(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+24|0;d=a+16|0;c[d>>2]=e;e=e+(Xf()|0)|0;b=b+-24-(Xf()|0)|0;if((b|0)<1){e=0;return e|0}_f(c[d>>2]|0)|0;c[a>>2]=e;c[a+4>>2]=e;c[a+8>>2]=e;c[a+12>>2]=e+b;c[a+20>>2]=0;e=a;return e|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[a+8>>2]|0;a=m+52|0;c[a>>2]=0;a:do if(c[m+56>>2]|0){l=c[b+8>>2]|0;l=l>>>0<64?l:64;c[a>>2]=l;e=c[m+248>>2]|0;k=m+60|0;do if((c[k>>2]|0)==1){a=r(l<<1,c[b+276>>2]|0)|0;a=Yb[c[m+11616>>2]&15](c[m+11624>>2]|0,128,a)|0;if(!a){d=1;return d|0}else{c[m+260>>2]=a;break}}else a=0;while(0);if((l|0)>0){j=b+12|0;g=b+276|0;h=m+244|0;i=m+45340|0;f=0;while(1){c[e>>2]=c[j+(f*516|0)+4>>2];if((c[k>>2]|0)==1){b=a;a=a+(c[g>>2]<<1)|0}else b=c[j+(f*516|0)+8>>2]|0;c[e+4>>2]=b;if(Vd(c[h>>2]|0,e,f)|0)break;Zd(c[h>>2]|0,f,4)|0;Sk(m+12316+((c[i>>2]|0)*516|0)|0,j+(f*516|0)|0,516)|0;c[i>>2]=(c[i>>2]|0)+1;f=f+1|0;if(f>>>0>=l>>>0)break a;else e=e+8476|0}c[m+144>>2]=983;d=983;return d|0}}while(0);c[d+4>>2]=0;d=0;return d|0}function Ag(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;c[e+4>>2]=0;m=c[b+8>>2]|0;c[e+36>>2]=1;n=c[m+60>>2]|0;switch(n|0){case 1:{b=3;o=6;break}case 5:{b=1;o=6;break}case 9:{b=1;o=6;break}case 13:{b=1;o=6;break}case 12:case 11:{b=2;o=6;break}default:{}}if((o|0)==6)c[e+40>>2]=b;k=e+8|0;c[k>>2]=1;l=m+4|0;i=r((c[l>>2]|0)+63&-64,(c[m>>2]|0)+63&-64)|0;c[e+44>>2]=(i|0)>1048576?i:1048576;i=c[l>>2]|0;b=c[m+56>>2]|0;do if(!(c[m+112>>2]|0)){d=c[m>>2]|0;j=c[m+16>>2]|0;d=(j|0)>(d|0)?j:d;if(!b){j=i;i=1}else{c[k>>2]=32;j=i;i=32}}else{if(!b){d=c[m+8>>2]|0;i=c[m+16>>2]|0;j=c[m+12>>2]|0;d=(i|0)>(d|0)?i:d;i=1;break}d=c[m+16>>2]|0;g=c[m+636>>2]|0;h=c[m+11596>>2]|0;f=(a[g+(h*8976|0)+14>>0]|0)+-1|0;if((c[m+11636>>2]|0)==1)b=1;else b=(a[g+(h*8976|0)+32+f>>0]|0)+1|0;h=b+(a[g+(h*8976|0)+25+f>>0]|0)|0;c[k>>2]=h;j=i+160|0;i=h>>>0<32?h:32}while(0);c[k>>2]=i;switch(n|0){case 1:{g=r(d,j)|0;c[e+300>>2]=g;g=g>>2;b=g;f=308;h=304;o=21;break}case 5:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 9:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 13:{c[e+300>>2]=(r(d,j)|0)<<2;b=0;f=304;g=0;h=308;o=21;break}case 12:case 11:{g=r(d,j)|0;c[e+300>>2]=g;b=0;f=308;g=g>>1;h=304;o=21;break}default:{}}if((o|0)==21){c[e+h>>2]=g;c[e+f>>2]=b}c[e+12>>2]=j;c[e+16>>2]=d;c[e+20>>2]=3e4;c[e+24>>2]=1e6;c[e+28>>2]=0;c[e+32>>2]=n;c[m+52>>2]=i;if((c[e>>2]|0)!=564)return 0;c[e+560>>2]=c[l>>2];return 0}function Bg(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;c[e+4>>2]=0;l=c[b+8>>2]|0;g=e+12|0;c[g>>2]=1;k=c[l+60>>2]|0;switch(k|0){case 1:{b=3;f=6;break}case 5:{b=1;f=6;break}case 9:{b=1;f=6;break}case 13:{b=1;f=6;break}case 12:case 11:{b=2;f=6;break}default:{}}if((f|0)==6)c[e+16>>2]=b;j=e+8|0;c[j>>2]=1;d=l+4|0;f=e+20|0;b=0;do{i=r((c[d>>2]|0)+63&-64,(c[l>>2]|0)+63&-64)|0;c[f+(b<<2)>>2]=(i|0)>1048576?i:1048576;b=b+1|0}while(b>>>0<(c[g>>2]|0)>>>0);b=c[l+56>>2]|0;do if(!(c[l+112>>2]|0)){d=(b|0)==1?160:0;f=c[l+16>>2]|0;f=(f|0)>(d|0)?f:d;if(!b){b=f;h=1}else{c[j>>2]=32;b=f;h=32}}else{if(!b){b=c[l+8>>2]|0;h=c[l+16>>2]|0;d=c[l+12>>2]|0;b=(h|0)>(b|0)?h:b;h=1;break}b=c[l+16>>2]|0;d=(c[l+4>>2]|0)+160|0;h=c[l+636>>2]|0;i=c[l+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;if((c[l+11636>>2]|0)==1)f=1;else f=(a[h+(i*8976|0)+32+g>>0]|0)+1|0;h=f+(a[h+(i*8976|0)+25+g>>0]|0)|0;c[j>>2]=h;h=h>>>0<32?h:32}while(0);c[j>>2]=h;switch(k|0){case 1:{f=r(d,b)|0;c[e+276>>2]=f;f=f>>2;b=f;d=284;g=280;break}case 5:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 9:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 13:{c[e+276>>2]=(r(d,b)|0)<<2;b=0;d=280;f=0;g=284;break}case 12:case 11:{f=r(d,b)|0;c[e+276>>2]=f;b=0;d=284;f=f>>1;g=280;break}default:{e=l+52|0;c[e>>2]=h;return 0}}c[e+g>>2]=f;c[e+d>>2]=b;e=l+52|0;c[e>>2]=h;return 0}function Cg(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;o=c[a+8>>2]|0;do if(!(c[o+112>>2]|0)){n=c[o+56>>2]|0;a=(n|0)==0?0:160;f=c[o+20>>2]|0;f=(f|0)>(a|0)?f:a;if(!n){b=0;e=0;h=6}else{b=0;e=0;n=80}}else{f=c[o+8>>2]|0;b=c[o+12>>2]|0;g=c[o+20>>2]|0;if(!(c[o+56>>2]|0)){a=b;e=f;f=(g|0)>(f|0)?g:f;h=6;break}else{m=c[o+20>>2]|0;a=(c[o+4>>2]|0)+160|0;e=f;n=80;f=(m|0)>(g|0)?m:g;break}}while(0);if((h|0)==6)n=0;c[d+32>>2]=e;c[d+44>>2]=b;c[d+56>>2]=f;c[d+68>>2]=a;c[d+8>>2]=n;c[d+20>>2]=n;k=e+1|0;p=k>>>1;l=d+40|0;c[l>>2]=p;m=d+36|0;c[m>>2]=p;p=(b+1|0)>>>1;h=d+52|0;c[h>>2]=p;c[d+48>>2]=p;p=f>>>1;i=d+64|0;c[i>>2]=p;j=d+60|0;c[j>>2]=p;p=a>>>1;a=d+76|0;c[a>>2]=p;c[d+72>>2]=p;p=n>>>1;b=d+16|0;c[b>>2]=p;e=d+12|0;c[e>>2]=p;g=d+28|0;c[g>>2]=p;c[d+24>>2]=p;if(((c[o+60>>2]|0)+-11|0)>>>0>=2)return 0;c[l>>2]=0;c[h>>2]=0;c[i>>2]=0;c[a>>2]=0;c[b>>2]=0;c[g>>2]=0;c[m>>2]=k&-2;c[j>>2]=f&-2;c[e>>2]=n;return 0}function Dg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+8>>2]|0;if(!(c[g+112>>2]|0)){c[f+4>>2]=991;f=1;return f|0}d=c[g+360>>2]|0;if(!((a[d+8972>>0]|0)!=0?(a[d+162>>0]|0)!=0:0))h=5;a:do if((h|0)==5){e=0;d=c[g+296>>2]|0;while(1){if(a[d+8972>>0]|0?a[d+162>>0]|0:0)break a;e=e+1|0;if((e|0)==16)break;d=d+8976|0}c[f+4>>2]=991;f=1;return f|0}while(0);a[f+8>>0]=a[d+164>>0]|0;a[f+9>>0]=a[d+165>>0]|0;b[f+10>>1]=b[d+166>>1]|0;b[f+12>>1]=b[d+168>>1]|0;a[f+14>>0]=a[d+170>>0]|0;a[f+15>>0]=a[d+171>>0]|0;a[f+16>>0]=a[d+172>>0]|0;a[f+17>>0]=a[d+173>>0]|0;a[f+18>>0]=a[d+174>>0]|0;a[f+19>>0]=a[d+175>>0]|0;a[f+20>>0]=a[d+176>>0]|0;a[f+21>>0]=a[d+177>>0]|0;a[f+22>>0]=a[d+178>>0]|0;a[f+23>>0]=a[d+179>>0]|0;a[f+24>>0]=a[d+180>>0]|0;a[f+25>>0]=a[d+181>>0]|0;a[f+26>>0]=a[d+182>>0]|0;a[f+27>>0]=a[d+183>>0]|0;a[f+28>>0]=a[d+184>>0]|0;a[f+29>>0]=a[d+185>>0]|0;c[f+32>>2]=c[d+188>>2];c[f+36>>2]=c[d+192>>2];c[f+40>>2]=c[d+196>>2];c[f+44>>2]=c[d+200>>2];a[f+48>>0]=a[d+204>>0]|0;a[f+49>>0]=a[d+4088>>0]|0;c[f+52>>2]=c[d+4092>>2];c[f+56>>2]=c[d+4096>>2];a[f+60>>0]=a[d+4100>>0]|0;a[f+61>>0]=a[d+4101>>0]|0;a[f+62>>0]=a[d+4102>>0]|0;a[f+63>>0]=a[d+4103>>0]|0;a[f+64>>0]=a[d+4104>>0]|0;a[f+65>>0]=a[d+4105>>0]|0;a[f+66>>0]=c[d+4108>>2];a[f+67>>0]=a[d+4112>>0]|0;a[f+68>>0]=a[d+4113>>0]|0;a[f+69>>0]=a[d+4114>>0]|0;a[f+70>>0]=a[d+4115>>0]|0;a[f+71>>0]=a[d+208>>0]|0;c[f+72>>2]=c[d+212>>2];c[f+76>>2]=c[d+216>>2];a[f+80>>0]=a[d+220>>0]|0;a[f+81>>0]=a[d+221>>0]|0;a[f+82>>0]=a[d+222>>0]|0;a[f+83>>0]=a[d+223>>0]|0;a[f+84>>0]=a[d+224>>0]|0;a[f+85>>0]=a[d+225>>0]|0;a[f+86>>0]=a[d+226>>0]|0;a[f+87>>0]=a[d+227>>0]|0;a[f+88>>0]=c[d+228>>2];a[f+89>>0]=c[d+232>>2];a[f+90>>0]=c[d+236>>2];a[f+91>>0]=a[d+240>>0]|0;a[f+92>>0]=a[d+241>>0]|0;a[f+93>>0]=a[d+242>>0]|0;a[f+94>>0]=a[d+243>>0]|0;a[f+100>>0]=a[d+250>>0]|0;a[f+106>>0]=a[d+257>>0]|0;a[f+112>>0]=a[d+264>>0]|0;a[f+118>>0]=a[d+271>>0]|0;a[f+95>>0]=a[d+244>>0]|0;a[f+101>>0]=a[d+251>>0]|0;a[f+107>>0]=a[d+258>>0]|0;a[f+113>>0]=a[d+265>>0]|0;a[f+119>>0]=a[d+272>>0]|0;a[f+96>>0]=a[d+245>>0]|0;a[f+102>>0]=a[d+252>>0]|0;a[f+108>>0]=a[d+259>>0]|0;a[f+114>>0]=a[d+266>>0]|0;a[f+120>>0]=a[d+273>>0]|0;a[f+97>>0]=a[d+246>>0]|0;a[f+103>>0]=a[d+253>>0]|0;a[f+109>>0]=a[d+260>>0]|0;a[f+115>>0]=a[d+267>>0]|0;a[f+121>>0]=a[d+274>>0]|0;a[f+98>>0]=a[d+247>>0]|0;a[f+104>>0]=a[d+254>>0]|0;a[f+110>>0]=a[d+261>>0]|0;a[f+116>>0]=a[d+268>>0]|0;a[f+122>>0]=a[d+275>>0]|0;a[f+99>>0]=a[d+248>>0]|0;a[f+105>>0]=a[d+255>>0]|0;a[f+111>>0]=a[d+262>>0]|0;a[f+117>>0]=a[d+269>>0]|0;a[f+123>>0]=a[d+276>>0]|0;f=0;return f|0}function Eg(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;l=Sb;Sb=Sb+32|0;i=l+16|0;h=l+8|0;g=l;k=c[d+8>>2]|0;if((c[k+120>>2]|0)!=1){e=f+4|0;c[e>>2]=c[e>>2]|16592;e=1;Sb=l;return e|0}do switch(c[e+8>>2]|0){case 0:{Ag(d,0,f)|0;e=0;Sb=l;return e|0}case 1:{f=f+4|0;c[f>>2]=0;d=c[e+20>>2]|0;c[k+68>>2]=d;a:do if((d|0)>=6)if((d|0)<2147483647)switch(d|0){case 6:{d=0;break a}default:{j=6;break a}}else switch(d|0){case 2147483647:{d=0;break a}default:{j=6;break a}}else switch(d|0){case 2:case 1:{d=0;break}default:j=6}while(0);if((j|0)==6){c[f>>2]=8192;d=1}h=k+16|0;i=c[k+56>>2]|0;g=c[e+16>>2]|0;do if((g|0)<(c[k+8>>2]|0)?(c[k+112>>2]|0)!=0:0)if(!g){g=c[h>>2]|0;break}else{c[f>>2]=8406;g=0;d=1;break}while(0);c[h>>2]=g;if((i|0)==1)c[k+20>>2]=g;g=c[e+12>>2]|0;if(g>>>0>=2){c[f>>2]=8192;d=1;g=1}c[k+104>>2]=g;h=k+11636|0;c[h>>2]=0;g=c[e+24>>2]|0;if(g>>>0>=2){c[f>>2]=8192;d=1}c[h>>2]=g;e=d;Sb=l;return e|0}case 2:if(!k){c[h>>2]=41722;c[h+4>>2]=2813;ej(41701,h)|0;fj(41750)|0;c[f+4>>2]=208;e=0;Sb=l;return e|0}else{c[g>>2]=41722;c[g+4>>2]=2808;ej(41701,g)|0;fj(41735)|0;fg(k)|0;e=0;Sb=l;return e|0}case 3:{c[k+68>>2]=2147483647;c[k+20>>2]=0;c[k+16>>2]=0;c[k+104>>2]=0;c[k+72>>2]=0;c[f+4>>2]=0;e=0;Sb=l;return e|0}case 4:{c[k+100>>2]=1;c[f+4>>2]=0;c[k+136>>2]=0;c[k+140>>2]=0;e=0;Sb=l;return e|0}case 5:{Bg(d,0,f)|0;e=0;Sb=l;return e|0}case 6:{d=f+4|0;c[d>>2]=0;g=c[e+16>>2]|0;if((g|0)<1){c[d>>2]=217;e=0;Sb=l;return e|0}if(!(Fg(c[e+12>>2]|0,g)|0)){e=0;Sb=l;return e|0}c[d>>2]=217;e=0;Sb=l;return e|0}case 775:{c[k+44>>2]=c[e+20>>2];c[k+40>>2]=c[e+16>>2];c[k+36>>2]=c[e+12>>2];c[f+4>>2]=0;c[k+48>>2]=0;e=0;Sb=l;return e|0}case 7:{c[k+24>>2]=1;c[f+4>>2]=0;e=0;Sb=l;return e|0}case 263:{Cg(d,0,f)|0;e=0;Sb=l;return e|0}case 264:{e=Dg(d,0,f)|0;Sb=l;return e|0}case 265:{d=c[k+272>>2]|0;if(!d){c[f+4>>2]=992;e=1;Sb=l;return e|0}if(a[d+34>>0]|0?a[d+28>>0]|0:0){b[f+8>>1]=b[d+3640>>1]|0;b[f+14>>1]=b[d+3646>>1]|0;b[f+10>>1]=b[d+3642>>1]|0;b[f+16>>1]=b[d+3648>>1]|0;b[f+12>>1]=b[d+3644>>1]|0;b[f+18>>1]=b[d+3650>>1]|0;b[f+20>>1]=b[d+3652>>1]|0;b[f+22>>1]=b[d+3654>>1]|0;c[f+24>>2]=c[d+3656>>2];c[f+28>>2]=c[d+3660>>2];e=0;Sb=l;return e|0}c[f+4>>2]=992;e=1;Sb=l;return e|0}case 8:{c[k+12308>>2]=c[e+12>>2];g=k+12312|0;c[g>>2]=c[e+16>>2];ig(k);eg(k);d=c[g>>2]|0;if((d+-1|0)>>>0<256){if(d&128|0)c[k+11604>>2]=1;d=d&127;c[g>>2]=d;if(d|0)c[k+11600>>2]=d}c[f+4>>2]=0;e=0;Sb=l;return e|0}default:{c[i>>2]=41797;c[i+4>>2]=3508;ej(41701,i)|0;fj(41808)|0;e=0;Sb=l;return e|0}}while(0);return 0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+544|0;e=f+512|0;d=f;c[e>>2]=41870;c[e+4>>2]=41878;c[e+8>>2]=41889;c[e+12>>2]=41895;c[e+16>>2]=41902;c[e+20>>2]=41914;_i(d,511,41820,e)|0;e=(Yi(d,511)|0)+1|0;if(e>>>0>b>>>0){e=1;Sb=f;return e|0}Sk(a|0,d|0,e|0)|0;e=0;Sb=f;return e|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,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+32|0;n=o+24|0;m=o+16|0;h=o+8|0;g=o;k=o+28|0;a:do if((b|0)==0|(d|0)==0)e=d+4|0;else{l=b+4|0;f=c[l>>2]|0;e=d+4|0;c[e>>2]=0;b:do switch(f|0){case 6:case 8:case 9:case 11:case 10:case 7:{if(!a){c[e>>2]=8213;break a}if((c[a>>2]|0)!=12){c[e>>2]=8214;break a}if(!(c[a+8>>2]|0)){c[e>>2]=8215;break a}switch(f|0){case 7:{do switch(c[b+8>>2]|0){case 1:{if((c[b>>2]|0)!=28){c[e>>2]=8211;break a}break}case 3:break;case 0:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}switch(c[d>>2]|0){case 556:case 564:break b;default:{}}c[e>>2]=8212;break a}case 5:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==532)break b;c[e>>2]=8212;break a}case 6:{if((c[b>>2]|0)!=20){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 4:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 2:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 775:{if((c[b>>2]|0)!=24){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}if(((c[b+12>>2]|0)>>>0<=4?(c[b+16>>2]|0)>=0:0)?(c[b+20>>2]|0)>>>0<=15:0)break b;c[e>>2]=8192;break a}case 263:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==80)break b;c[e>>2]=8212;break a}case 264:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==124)break b;c[e>>2]=8212;break a}case 265:{if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==32)break b;c[e>>2]=8212;break a}case 7:{if((c[b>>2]|0)!=16){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}if((c[b+12>>2]|0)==1)break b;c[e>>2]=8192;break a}case 8:{if((c[b>>2]|0)!=24){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}default:{c[e>>2]=8217;break a}}while(0);if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 9:{c[e>>2]=0;if((c[b>>2]|0)!=524){c[e>>2]=8211;break a}if((c[d>>2]|0)==88)break b;c[e>>2]=8212;break a}case 10:{c[e>>2]=0;if((c[b>>2]|0)!=12){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}case 11:{c[e>>2]=0;if((c[b>>2]|0)!=33036){c[e>>2]=8211;break a}if((c[d>>2]|0)!=8){c[e>>2]=8212;break a}h=c[b+8>>2]|0;if(!h){c[e>>2]=8219;break a}i=b+12|0;g=0;c:while(1){j=c[i+(g*516|0)>>2]|0;if(!j){f=34;break}if((j|0)>0){f=0;do{if(!(c[i+(g*516|0)+4+(f<<2)>>2]|0)){f=39;break c}if(!(c[i+(g*516|0)+260+(f<<2)>>2]|0)){f=41;break c}f=f+1|0}while((f|0)<(j|0))}g=g+1|0;if(g>>>0>=h>>>0)break b}if((f|0)==34){c[e>>2]=8219;break a}else if((f|0)==39){c[e>>2]=8220;break a}else if((f|0)==41){c[e>>2]=8221;break a}break}case 8:{c[g>>2]=41923;c[g+4>>2]=414;ej(41701,g)|0;c[h>>2]=c[b+12>>2];ej(41947,h)|0;c[e>>2]=0;switch(c[b>>2]|0){case 20:case 536:break;default:{c[e>>2]=8211;break a}}switch(c[d>>2]|0){case 32:case 112:break b;default:{}}c[e>>2]=8212;break a}case 6:{c[e>>2]=0;if((c[b>>2]|0)!=8){c[e>>2]=8211;break a}if((c[d>>2]|0)==8)break b;c[e>>2]=8212;break a}default:{c[e>>2]=8217;break a}}break}case 5:{c[e>>2]=0;if((c[b>>2]|0)!=28){c[e>>2]=8211;break a}if((c[d>>2]|0)!=12){c[e>>2]=8212;break a}switch(c[b+8>>2]|0){case 12:case 11:case 9:case 5:case 1:break b;default:{}}c[e>>2]=8203;break a}default:{c[e>>2]=8216;break a}}while(0);switch(c[l>>2]|0){case 5:{c[e>>2]=0;c[k>>2]=0;n=(rg(k,b,d)|0)==1;f=c[k>>2]|0;if(n){do if(f|0)if(!(c[f+8>>2]|0)){ac[c[b+20>>2]&31](c[b+24>>2]|0,f);break}else{sg(f)|0;break}while(0);c[e>>2]=16384;e=1}else{fg(c[f+8>>2]|0)|0;e=0}b=e;Sb=o;return b|0}case 6:{b=c[a+8>>2]|0;c[e>>2]=0;gg(b)|0;sg(a)|0;b=0;Sb=o;return b|0}case 8:{b=Hg(a,b,d)|0;Sb=o;return b|0}case 11:{b=zg(a,b,d)|0;Sb=o;return b|0}case 10:{e=c[a+8>>2]|0;if(!(c[e+56>>2]|0)){b=0;Sb=o;return b|0}Yd(c[e+244>>2]|0,c[b+8>>2]|0,4)|0;b=0;Sb=o;return b|0}case 7:{b=Eg(a,b,d)|0;Sb=o;return b|0}case 9:{b=0;Sb=o;return b|0}default:{b=1;Sb=o;return b|0}}}while(0);c[m>>2]=41970;c[m+4>>2]=3554;ej(41701,m)|0;c[n>>2]=c[e>>2];ej(41994,n)|0;b=1;Sb=o;return b|0}function Hg(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,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+32|0;N=R+8|0;K=R;Q=c[d+8>>2]|0;H=Q+144|0;c[H>>2]=0;d=c[f>>2]|0;g=f+4|0;h=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=d;if((c[Q+120>>2]|0)!=1){c[f+4>>2]=16592;f=1;Sb=R;return f|0}P=Q+136|0;if((c[P>>2]|0)>>>0>2147483646){c[f+4>>2]=17374;f=1;Sb=R;return f|0}m=Q+132|0;d=Q+100|0;if(!(c[m>>2]|0))if(!(c[d>>2]|0)){if(!(c[e+16>>2]|0)){c[f+4>>2]=8222;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;if(d>>>0<5){c[f+8>>2]=d;c[f+4>>2]=8231;f=1;Sb=R;return f|0}else k=1}else k=0;else{c[d>>2]=1;k=0}O=Q+56|0;j=c[O>>2]|0;a:do if((j|0)==0?(c[Q+104>>2]|0)==0:0){g=c[e+20>>2]|0;if((g+-1|0)>>>0>63){c[f+4>>2]=8219;f=1;Sb=R;return f|0}h=e+24|0;i=e+280|0;d=0;while(1){if(!(c[h+(d<<2)>>2]|0)){i=19;break}if(!(c[i+(d<<2)>>2]|0)){i=21;break}d=d+1|0;if(d>>>0>=g>>>0)break a}if((i|0)==19){c[f+4>>2]=8220;f=1;Sb=R;return f|0}else if((i|0)==21){c[f+4>>2]=8221;f=1;Sb=R;return f|0}}while(0);c[Q+11584>>2]=e+20;c[Q+288>>2]=c[e+8>>2];if(!k){c[f+12>>2]=c[Q+8>>2];h=Q+12|0;c[f+16>>2]=c[h>>2];c[f+28>>2]=0;i=Q+268|0;P=ye(c[Q+264>>2]|0,i)|0;j=Q+272|0;c[j>>2]=P;do if(P|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;d=Q+5956|0;if(!(c[Q+6232>>2]|0))Ig(d,0);g=Jg(Q)|0;if(!g){Kg(Q,d,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,0,c[h>>2]|0)|0;Yd(c[Q+244>>2]|0,c[i>>2]|0,4)|0;break}else{f=g;Sb=R;return f|0}}while(0);Lg(Q,e,f);if(c[j>>2]|0){f=0;Sb=R;return f|0}if(!(c[m>>2]|0)){f=1;Sb=R;return f|0}fg(Q)|0;f=1;Sb=R;return f|0}if(((j|0)==1&(c[Q+104>>2]|0)==0?(l=c[Q+244>>2]|0,l|0):0)?(Xd(l)|0)==0:0){c[f+4>>2]=8232;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;C=Q+164|0;c[C>>2]=d;D=Q+148|0;c[D>>2]=c[e+16>>2];E=Q+980|0;c[E>>2]=0;F=Q+84|0;c[F>>2]=0;G=Q+128|0;c[G>>2]=0;L=Q+272|0;c[L>>2]=0;M=Q+24|0;if((c[M>>2]|0)>1)d=c[C>>2]|0;b:do if((d|0)>4){j=Q+176|0;k=Q+644|0;l=Q+344|0;m=Q+360|0;n=Q+984|0;o=Q+172|0;p=Q+168|0;q=Q+184|0;s=Q+180|0;t=Q+152|0;u=Q+188|0;v=Q+160|0;w=Q+156|0;x=Q+376|0;y=Q+108|0;z=Q+11632|0;A=Q+112|0;B=f+4|0;h=d;c:while(1){if(c[G>>2]|0?(g=c[k>>2]|0,i=c[l>>2]&255,i=(r(b[(c[m>>2]|0)+4118>>1]|0,b[g+(i*1272|0)+874>>1]|0)|0)+(b[g+(i*1272|0)+872>>1]|0)|0,(c[n>>2]|0)==(i|0)):0)c[G>>2]=0;d=c[j>>2]|0;if(!d){d=c[o>>2]|0;c[p>>2]=d;g=c[q>>2]|0;c[s>>2]=g}else{c[p>>2]=d;g=c[u>>2]|0;c[s>>2]=g}c[t>>2]=0;Mg(c[D>>2]|0,d,h>>>0<g>>>0?h:g,N,K)|0;d=c[K>>2]|0;if((d|0)<((c[s>>2]|0)+-8|0)){i=(c[p>>2]|0)+d|0;h=i;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;i=i+4|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0}i=c[N>>2]|0;c[v>>2]=i-d;c[w>>2]=i;Ng(x,c[p>>2]|0,d);d=Og(Q)|0;do if((c[F>>2]|0)!=0?(I=c[m>>2]|0,(c[n>>2]|0)!=(c[I+4128>>2]|0)):0){if(((c[C>>2]|0)-(c[N>>2]|0)|0)>=5?(c[y>>2]|0)==0:0){i=54;break}i=c[l>>2]|0;i=(i|0)<1?0:i+-1|0;c[l>>2]=i;h=c[k>>2]|0;i=i+1&255;b[h+(i*1272|0)+872>>1]=0;b[h+(i*1272|0)+874>>1]=b[I+4120>>1]|0;c[G>>2]=1;i=69}else i=54;while(0);d:do if((i|0)==54){i=0;switch(d|0){case 42:break c;case 986:{i=65;break c}case 987:{d=c[N>>2]|0;c[D>>2]=(c[D>>2]|0)+d;c[C>>2]=(c[C>>2]|0)-d;d=987;i=69;break d}default:{}}if(c[G>>2]|0){h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;if((g|0)<5)i=59}else{h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;i=59}if((i|0)==59){i=0;c[D>>2]=(c[D>>2]|0)+h;c[C>>2]=g}if(d|0)break c;if(c[E>>2]|0){d=0;break c}do if(!(c[z>>2]|0)){if(!(c[A>>2]|0))break;if(tg(Q)|0){i=112;break c}}while(0);d=0}while(0);h=c[C>>2]|0;if((h|0)<=4){i=d;break b}}if((i|0)==65)d=0;else if((i|0)==112){gg(Q)|0;c[H>>2]=43;c[B>>2]=c[B>>2]|16427;f=1;Sb=R;return f|0}i=d}else i=0;while(0);if((c[F>>2]|0)!=1){P=i;Lg(Q,e,f);Sb=R;return P|0}if(!(c[E>>2]|0)){c[G>>2]=1;I=Q+344|0;K=c[I>>2]|0;K=(K|0)<1?0:K+-1|0;c[I>>2]=K;I=c[Q+644>>2]|0;K=K+1&255;b[I+(K*1272|0)+872>>1]=-1;b[I+(K*1272|0)+874>>1]=-1;Pg(Q)|0;if(!(c[E>>2]|0))J(42011,42052,731,42076);if((c[F>>2]|0)!=1){P=i;Lg(Q,e,f);Sb=R;return P|0}}w=Q+360|0;g=c[w>>2]|0;c[Q+124>>2]=1;d=c[M>>2]|0;do if((d|0)<=1){if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;g=Q+5956|0;h=Q+11576|0;d=(c[Q+12>>2]|0)-(c[h>>2]|0)|0;i=Q+11580|0;c[i>>2]=d;if(!(c[Q+6232>>2]|0)){Ig(g,0);d=c[i>>2]|0}if((d|0)<0){c[i>>2]=0;d=0}N=Kg(Q,g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,c[h>>2]|0,d)|0;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);i=N}}else{d=d+-1|0;e:do if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;if(c[Q+11604>>2]|0?(c[Q+268>>2]|0)!=(c[Q+5956+(d*692|0)+228>>2]|0):0)break;h=g+4120|0;if((b[h>>1]|0)>0){i=N+8|0;j=N+4|0;k=N+6|0;l=N+10|0;m=N+12|0;n=Q+656|0;g=0;while(1){c[N>>2]=1;b[i>>1]=0;b[j>>1]=0;b[k>>1]=g;b[l>>1]=0;c[m>>2]=0;d=Qg(c[n>>2]|0,N,16,1)|0;g=g+1|0;if(d|0)break;if((g|0)>=(b[h>>1]|0))break e}Sb=R;return d|0}}while(0);i=Rg(c[Q+656>>2]|0)|0;d=(c[M>>2]|0)+-1|0;f:do if(!(Sg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)){m=N+8|0;n=N+4|0;o=N+6|0;p=N+10|0;q=N+12|0;s=Q+12|0;t=e+24|0;u=e+28|0;v=e+32|0;while(1){k=Q+5956+(d*692|0)|0;c[Q+5956+(d*692|0)+140>>2]=b[m>>1];c[Q+5956+(d*692|0)+4>>2]=b[n>>1];g=b[o>>1]|0;c[Q+5956+(d*692|0)+8>>2]=g;c[Q+5956+(d*692|0)+32>>2]=b[p>>1];switch(c[N>>2]|0){case 0:{Ig(k,c[q>>2]|0);Tg(k)|0;break}case 1:{h=(c[w>>2]|0)+4116|0;j=a[h>>0]|0;l=1<<j;if(!(c[Q+5956+(d*692|0)+276>>2]|0)){Ig(k,0);g=b[o>>1]|0;d=a[h>>0]|0}else d=j;I=g<<d;K=(c[s>>2]|0)-I|0;K=(l|0)<(K|0)?l:K;Kg(Q,k,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,I,(K|0)>0?K:0)|0;break}default:{}}d=(c[M>>2]|0)+-1|0;if(Sg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)break f}}while(0)}while(0);Zd(c[Q+224>>2]|0,c[Q+6080>>2]|0,2)|0;d=Q+244|0;N=Q+6184|0;Zd(c[d>>2]|0,c[N>>2]|0,2)|0;Zd(c[d>>2]|0,c[N>>2]|0,4)|0;Ae(c[Q+276>>2]|0,c[Q+6180>>2]|0,c[N>>2]|0)|0;if((c[O>>2]|0)==0?c[L>>2]|0:0)Yd(c[d>>2]|0,c[Q+268>>2]|0,4)|0;d=c[M>>2]|0;if((d|0)>1){h=0;do{g=Q+11524+(h<<2)|0;if(c[g>>2]|0){Zf(c[Q+11492+(h<<2)>>2]|0,0)|0;c[g>>2]=0;d=c[M>>2]|0}h=h+1|0}while((h|0)<(d+-1|0))}c[P>>2]=(c[P>>2]|0)+1;P=i;Lg(Q,e,f);Sb=R;return P|0}function Ig(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;A=c[f>>2]|0;w=c[A+304>>2]|0;y=c[f+32>>2]&255;c[f+48>>2]=w+(y*1272|0);v=c[A+300>>2]|0;x=a[w+(y*1272|0)+73>>0]|0;j=v+(x*68|0)|0;c[f+40>>2]=j;C=c[A+296>>2]|0;n=a[v+(x*68|0)+9>>0]|0;D=C+(n*8976|0)|0;c[f+44>>2]=D;c[f+276>>2]=1;z=C+(n*8976|0)+4116|0;B=(1<<a[z>>0]|0)/4|0;B=r(B,B)|0;n=C+(n*8976|0)+4118|0;C=b[n>>1]|0;c[f+660>>2]=c[f+672>>2];l=f+4|0;s=f+8|0;t=f+12|0;u=f+16|0;lh(j,D,c[l>>2]|0,c[s>>2]|0,t,u,E)|0;D=c[v+(x*68|0)+4>>2]|0;E=c[E>>2]|0;j=D+(E*6|0)|0;c[f+28>>2]=j;c[f+36>>2]=E;if(!(a[v+(x*68|0)+27>>0]|0)){j=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;l=h-(b[w+(y*1272|0)+1262>>1]|0)|0;m=f+20|0;c[m>>2]=l;i=c[s>>2]|0;j=i-j|0;k=f+24|0;c[k>>2]=j;if((l|0)<0){c[m>>2]=l+(b[n>>1]|0);c[k>>2]=j+-1}}else{k=b[w+(y*1272|0)+872>>1]|0;o=b[w+(y*1272|0)+874>>1]|0;i=b[n>>1]|0;p=(r(i,o)|0)+k|0;x=d[j>>0]|0;v=d[D+(E*6|0)+1>>0]|0;q=(r(v,i)|0)+x|0;h=(k|0)!=(x|0);do if(h|(o|0)==(v|0)){o=(e[((E|0)==0?j:j+-6|0)+2>>1]|0)+k|0;if((o|0)>=(i|0)?((o|0)%(i|0)|0|0)==(x|0):0){m=0;break}m=h&1}else m=1;while(0);o=b[w+(y*1272|0)+1262>>1]|0;n=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;do if((h|0)<(o|0)){j=(m|0)!=0;if(!((p|0)<(q|0)&j))i=e[D+(E*6|0)+2>>1]|0;if(j){i=h-o+i|0;break}else{i=h-x|0;break}}else i=h-o|0;while(0);c[f+20>>2]=i;i=c[s>>2]|0;j=i-n|0;k=f+24|0;c[k>>2]=j;do if((c[t>>2]|0)==0?(c[u>>2]|0)==0:0){if(a[w+(y*1272|0)+75>>0]|0){c[f+20>>2]=0;c[k>>2]=0;j=0;break}if((p|0)<(q|0)){j=v-n|0;c[k>>2]=j;if((o|0)>(x|0)&((v|0)>=(n|0)&(m|0)!=0)){j=j+-1|0;c[k>>2]=j}}}while(0);if(((o|0)!=(x|0)?!((o|0)<(x|0)|(j|0)==0):0)?((e[D+(E*6|0)+2>>1]|0)+x|0)>(o|0):0)c[k>>2]=j+-1}y=(r(i,C)|0)+h|0;C=(1<<a[z>>0]|0)/4|0;c[f+72>>2]=(c[f+88>>2]|0)+(r(r(C,y)|0,C)|0);c[f+68>>2]=(c[f+116>>2]|0)+(c[(c[f+80>>2]|0)+(((c[A+24>>2]|0)==1?(y|0)%142560|0:y)<<2)>>2]<<2);c[f+64>>2]=(c[f+60>>2]|0)+g;C=c[(c[f+84>>2]|0)+(y<<2)>>2]|0;c[f+120>>2]=(c[f+92>>2]|0)+(r(B,y)|0);c[f+76>>2]=(c[f+96>>2]|0)+(C<<4);C=c[A+11600>>2]|0;E=e[D+(E*6|0)+2>>1]|0;c[f+688>>2]=C>>>0<E>>>0?C:E;Sb=F;return}function Jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+256|0;g=i;h=c[a+11584>>2]|0;if(c[a+56>>2]|0){h=0;Sb=i;return h|0}e=c[a+8>>2]|0;d=c[a+12>>2]|0;b=c[a+16>>2]|0;e=(b|0)>(e|0)?b:e;b=c[a+60>>2]|0;switch(b|0){case 1:{a=3;f=5;break}case 5:{a=1;f=6;break}case 9:{a=1;f=7;break}case 13:{a=1;f=8;break}case 12:case 11:{a=2;f=4;break}default:{a=0;f=4}}a:do if((f|0)==4){switch(b|0){case 1:{f=5;break a}case 5:{f=6;break a}case 9:{f=7;break a}case 13:{f=8;break a}case 12:case 11:break;default:{b=a;a=0;break a}}e=r(e,d)|0;c[g>>2]=e;c[g+4>>2]=e>>>1;c[g+8>>2]=0;b=a;a=e}while(0);if((f|0)==5){f=r(e,d)|0;c[g>>2]=f;b=f>>>2;c[g+4>>2]=b;c[g+8>>2]=b;b=a;a=f}else if((f|0)==6){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==7){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==8){f=(r(e,d)|0)<<2;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}if((c[h>>2]|0)>>>0<b>>>0){h=1;Sb=i;return h|0}if(!b){h=0;Sb=i;return h|0}if((c[h+260>>2]|0)>>>0<a>>>0){h=1;Sb=i;return h|0}a=1;while(1){if(a>>>0>=b>>>0){a=0;f=16;break}if((c[h+260+(a<<2)>>2]|0)>>>0<(c[g+(a<<2)>>2]|0)>>>0){a=1;f=16;break}else a=a+1|0}if((f|0)==16){Sb=i;return a|0}return 0}function Kg(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0;if(!k)return 0;v=c[f+44>>2]|0;G=(a[v+15>>0]|0)==1?2:1;t=c[e+272>>2]|0;o=c[t>>2]|0;K=e+20|0;n=c[K>>2]|0;z=v+8|0;u=b[z>>1]|0;M=r(n,u<<16>>16)|0;B=b[v+4>>1]|0;m=o+(r(M+B|0,G)|0)|0;A=(c[e+64>>2]|0)==11;L=A&1;H=(c[e+56>>2]|0)==1;m=m+(r(n,j)|0)|0;s=(j|0)/2|0;M=(c[t+4>>2]|0)+((B<<1)+M)+(r(n,s)|0)|0;a:do if((H?(c[e+60>>2]|0)==1:0)?(p=c[e+45340>>2]|0,(p|0)>0):0){q=(n*80|0)+80|0;l=0;while(1){if((o-(c[e+12316+(l*516|0)+4>>2]|0)|0)==(q|0))break;l=l+1|0;if((l|0)>=(p|0))break a}i=(n*20|0)+40|0;h=(c[e+12316+(l*516|0)+8>>2]|0)+i|0;i=(c[e+12316+(l*516|0)+12>>2]|0)+i|0}while(0);B=e+16|0;p=c[B>>2]|0;l=r(p,j)|0;q=g+(l<<1)|0;t=g+(l<<2)|0;l=g+l|0;g=r(p,s)|0;p=h+g|0;g=(g|0)/2|0;s=h+g|0;g=i+g|0;b:do if((((c[e+100>>2]|0)==0?(c[e+268>>2]|0)==(c[f+228>>2]|0):0)?(c[e+24>>2]|0)>1:0)?(C=v+4116|0,D=v+4120|0,E=v+4118|0,F=e+208|0,w=a[C>>0]|0,x=1<<w,y=b[E>>1]|0,y<<16>>16>0):0){n=(r(G,u<<16>>16)|0)+j|0;h=b[D>>1]|0;n=n+((x|0)<(k|0)?k:x)>>w;o=y<<16>>16;while(1){i=n+1|0;h=h+-1|0;h=r((i|0)<(h|0)?i:h,o)|0;h=(c[F>>2]|0)+h|0;i=0;n=1;do{n=n&d[h+i>>0];i=i+1|0}while((i|0)!=(o|0));if(n|0)break b;cg();n=a[C>>0]|0;i=1<<n;n=(r(G,b[z>>1]|0)|0)+j+((i|0)<(k|0)?k:i)>>n;i=b[E>>1]|0;if(i<<16>>16<=0)break;else{h=b[D>>1]|0;o=i<<16>>16}}}while(0);switch(c[e+60>>2]|0){case 12:case 11:{K=c[K>>2]|0;L=c[B>>2]|0;ic[c[e+12292>>2]&7](m,M,l,p,c[e+8>>2]|0,k,K,K,L,L);return 0}case 1:{n=e+8|0;if(!H?(I=c[n>>2]|0,(k|0)>0):0){i=0;do{Sk(l|0,m|0,I|0)|0;l=l+(c[B>>2]|0)|0;m=m+(c[K>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}I=c[K>>2]|0;K=c[B>>2]|0;lc[c[e+12296>>2]&1](m,M,l,s,g,c[n>>2]|0,k,I,I,K,(K|0)/2|0,L,1);return 0}case 9:{K=c[K>>2]|0;hc[c[e+12288>>2]&15](m,M,q,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}case 13:{if(!A)J(43573,43591,889,43617);K=c[K>>2]|0;hc[c[e+12284>>2]&15](m,M,t,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}default:return 0}return 0}function Lg(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;f=c[b+144>>2]|0;switch(f|0){case 981:case 213:case 212:case 211:case 210:case 208:case 982:{f=f|16384;break}default:{}}p=e+4|0;c[p>>2]=f;o=e+8|0;c[o>>2]=(c[d+12>>2]|0)-(c[b+164>>2]|0);h=(c[b+112>>2]|0)==0;if(h){f=0;g=0}else{f=c[b+12>>2]|0;g=c[b+8>>2]|0}c[e+12>>2]=g;c[e+16>>2]=f;k=e+20|0;c[k>>2]=c[b+76>>2];l=e+24|0;c[l>>2]=c[b+84>>2];c[e+28>>2]=0;m=e+32|0;c[m>>2]=0;n=e+36|0;c[n>>2]=1;if((!h?(i=c[b+636>>2]|0,j=c[b+11596>>2]|0,(a[i+(j*8976|0)+4167>>0]|0)==0):0)?(a[i+(j*8976|0)+4168>>0]|0)==1:0)c[n>>2]=0;f=e+40|0;q=c[b+60>>2]|0;c[e+44>>2]=q;c[f>>2]=1;g=e+100|0;c[g>>2]=0;h=e+104|0;c[h>>2]=-1;c[e+108>>2]=c[b+268>>2];i=b+100|0;j=(c[i>>2]|0)==0;if(!j){c[o>>2]=0;c[f>>2]=0;c[k>>2]=2147483647;c[l>>2]=0}f=c[b+272>>2]|0;if(!f){if(j)return;c[p>>2]=215;c[i>>2]=0;return}a:do if(a[f+28>>0]|0?a[f+31>>0]|0:0)switch(c[f+1112>>2]|0){case 1:{c[g>>2]=0;c[n>>2]=0;break a}case 2:{c[g>>2]=1;c[n>>2]=0;break a}default:{c[g>>2]=0;c[n>>2]=1;break a}}while(0);c[m>>2]=1;c[h>>2]=c[f+16>>2];if(j?(c[b+980>>2]|0)==0:0)c[m>>2]=0;l=c[b+8>>2]|0;c[e+64>>2]=l;m=c[b+12>>2]|0;c[e+68>>2]=m;if(!(c[b+56>>2]|0)){c[e+52>>2]=c[d+24>>2];c[e+56>>2]=c[d+28>>2];c[e+60>>2]=c[d+32>>2];f=b+16|0}else{k=c[f>>2]|0;c[e+52>>2]=k;if((q|0)==1){h=c[b+45340>>2]|0;b:do if((h|0)>0){i=c[b+20>>2]|0;j=(i*80|0)+80|0;g=0;while(1){if((k-(c[b+12316+(g*516|0)+4>>2]|0)|0)==(j|0))break;f=g+1|0;if((f|0)<(h|0))g=f;else{f=0;g=0;break b}}d=(i*20|0)+40|0;f=(c[b+12316+(g*516|0)+12>>2]|0)+d|0;g=(c[b+12316+(g*516|0)+8>>2]|0)+d|0}else{f=0;g=0}while(0);c[e+56>>2]=g}else{c[e+56>>2]=c[f+4>>2];f=0}c[e+60>>2]=f;f=b+20|0}f=c[f>>2]|0;c[e+72>>2]=f;switch(q|0){case 11:case 12:{c[e+84>>2]=f;c[e+96>>2]=0;c[e+76>>2]=l;c[e+88>>2]=0;c[e+80>>2]=m>>>1;c[e+92>>2]=0;return}case 1:{b=f>>>1;c[e+84>>2]=b;c[e+96>>2]=b;b=l>>>1;c[e+76>>2]=b;c[e+88>>2]=b;b=m>>>1;c[e+80>>2]=b;c[e+92>>2]=b;return}default:return}}function Mg(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=e+-1|0;a:do if((e|0)>1){i=0;j=0;h=0;b:while(1){l=h+1|0;o=a[b+h>>0]|0;k=j+1|0;a[d+j>>0]=o;c:do if(!(o<<24>>24)){j=i+1|0;if((i|0)>0){switch(a[b+l>>0]|0){case 1:break b;case 3:break;default:{h=l;i=j;break c}}h=h+2|0;i=0}else{h=l;i=j}}else{h=l;i=0}while(0);if((h|0)<(m|0))j=k;else{l=i;n=9;break a}}i=k-j|0;h=l-j|0}else{h=0;l=0;k=0;n=9}while(0);d:do if((n|0)==9)if((h|0)<(e|0)){j=h+1|0;i=a[b+h>>0]|0;if((l|0)<=1){a[d+k>>0]=i;i=k+1|0;h=j;break}switch(i<<24>>24){case 1:{i=k;h=j-l|0;break d}case 3:{i=k+-1|0;h=h+2|0;break d}default:{i=k;h=j;break d}}}else i=k;while(0);c[f>>2]=h;c[g>>2]=i;return 0}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Rk(c[b>>2]|0)|0;e=Rk(c[b+4>>2]|0)|0;c[a+4>>2]=0;c[a>>2]=b;c[a+8>>2]=b+8;c[a+12>>2]=f;c[a+16>>2]=e;c[a+20>>2]=b+d+8;return}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+16|0;g=i;h=b+376|0;Fh(h,1)|0;d=(Fh(h,6)|0)&255;a[g>>0]=d;Fh(h,6)|0;a[g+1>>0]=(Fh(h,3)|0)+255;h=b+128|0;if(c[h>>2]|0){d=a[(c[b+648>>2]|0)+1260>>0]|0;a[g>>0]=d}d=d<<24>>24;switch(d|0){case 18:case 17:case 16:{e=0;f=6;break}case 20:case 19:{e=1;f=6;break}case 21:{c[b+28>>2]=(c[b+32>>2]|0)==0&1;break}case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:break;case 36:{c[b+32>>2]=1;b=0;Sb=i;return b|0}case 33:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+112>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Qh(b)|0;if(!d)Rh(b,a[(c[b+296>>2]|0)+143628>>0]|0,16);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 34:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+116>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Sh(b)|0;if(!d)Th(b,a[(c[b+300>>2]|0)+4360>>0]|0,64);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 40:case 39:{if((c[b+104>>2]|0)==1){b=986;Sb=i;return b|0}b=Uh(b,g)|0;Sb=i;return b|0}default:{b=0;Sb=i;return b|0}}if((f|0)==6?(c[b+28>>2]=e,(d+-16|0)>>>0>=5):0){b=0;Sb=i;return b|0}if(c[b+104>>2]|0){b=986;Sb=i;return b|0}if(!(c[b+112>>2]|0)){b=980;Sb=i;return b|0}if(!(c[b+116>>2]|0)){b=980;Sb=i;return b|0}c[b+108>>2]=0;c[b+32>>2]=0;d=Ph(b,g)|0;if(d|0){b=d;Sb=i;return b|0}if(((a[g>>0]&-2)<<24>>24==8?(c[b+28>>2]|0)==0:0)?(c[h>>2]|0)==0:0){b=0;Sb=i;return b|0}b=Pg(b)|0;Sb=i;return b|0}function Pg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;Zb=Sb;Sb=Sb+64|0;Gb=Zb+56|0;Yb=Zb;g=f+316|0;p=c[f+644>>2]|0;n=c[f+640>>2]|0;Vb=c[f+636>>2]|0;Wb=f+344|0;Rb=c[Wb>>2]|0;o=Rb&255;Hb=p+(o*1272|0)|0;m=a[p+(o*1272|0)+73>>0]|0;Ib=n+(m*68|0)|0;Ub=a[n+(m*68|0)+9>>0]|0;Jb=Vb+(Ub*8976|0)|0;if(Rb|0?(a[p+(o*1272|0)+75>>0]|0)==0:0)c[f+348>>2]=o;Kb=Vb+(Ub*8976|0)+4116|0;Lb=a[Kb>>0]|0;Mb=1<<Lb;Nb=(Mb|0)/4|0;Ob=r(Nb,Nb)|0;Pb=Vb+(Ub*8976|0)+4118|0;Qb=b[Pb>>1]|0;Rb=f+128|0;if(!(c[Rb>>2]|0)){Db=b[p+(o*1272|0)+872>>1]|0;c[g>>2]=Db;h=b[p+(o*1272|0)+874>>1]|0;Eb=f+320|0;c[Eb>>2]=h;Fb=g;g=Db}else{h=f+320|0;Eb=h;Fb=g;g=c[g>>2]|0;h=c[h>>2]|0}zb=f+356|0;c[zb>>2]=Ib;Ab=f+360|0;c[Ab>>2]=Jb;Bb=f+648|0;c[Bb>>2]=Hb;Cb=f+324|0;Db=f+328|0;lh(Ib,Jb,g,h,Cb,Db,Gb)|0;wb=n+(m*68|0)+4|0;vb=c[Gb>>2]|0;q=(c[wb>>2]|0)+(vb*6|0)|0;xb=f+340|0;c[xb>>2]=q;yb=f+352|0;c[yb>>2]=vb;a:do if(!(c[Rb>>2]|0)){switch(a[p+(o*1272|0)+75>>0]|0){case 1:break;case 0:{c[f+332>>2]=0;c[f+336>>2]=0;break a}default:break a}if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0){c[f+332>>2]=0;c[f+336>>2]=0}}while(0);do if((c[Eb>>2]|0)==0?(c[Fb>>2]|0)==0:0){g=mh(f)|0;if(!g){c[c[f+592>>2]>>2]=0;c[c[f+596>>2]>>2]=0;c[f+348>>2]=0;c[Cb>>2]=0;c[Db>>2]=0;break}else{Yb=g;Sb=Zb;return Yb|0}}while(0);j=c[f+1452>>2]|0;k=p+(o*1272|0)+161|0;if((a[k>>0]|0)>0){g=0;do{vb=c[p+(o*1272|0)+1068+(g*12|0)>>2]|0;c[j+20500+((c[Wb>>2]&255)<<6)+(g<<2)>>2]=c[vb+8>>2];a[j+36884+((c[Wb>>2]&255)<<4)+g>>0]=a[vb+20>>0]|0;g=g+1|0}while((g|0)<(a[k>>0]|0))}i=p+(o*1272|0)+160|0;g=a[i>>0]|0;if(g<<24>>24){if(g<<24>>24>0){h=0;do{g=c[p+(o*1272|0)+876+(h*12|0)>>2]|0;c[j+20+((c[Wb>>2]&255)<<6)+(h<<2)>>2]=c[g+8>>2];a[j+16404+((c[Wb>>2]&255)<<4)+h>>0]=a[g+20>>0]|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g<<24>>24|0))}}else g=0;vb=f+332|0;if(!((c[vb>>2]|0)!=0?(c[f+336>>2]|0)!=0:0)){i=c[p+(o*1272|0)+84>>2]|0;b:do if(g<<24>>24>0){h=g<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+876+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break b}g=g+1|0;if((g|0)>=(h|0)){ub=30;break}}}else ub=30;while(0);c:do if((ub|0)==30)if((a[p+(o*1272|0)+76>>0]|0)==0?(l=a[k>>0]|0,l<<24>>24>0):0){h=l<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+1068+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break c}g=g+1|0;if((g|0)>=(h|0)){g=1;break}}}else g=1;while(0);a[p+(o*1272|0)+1261>>0]=g}tb=p+(o*1272|0)+76|0;g=a[tb>>0]|0;do if(g<<24>>24!=2){h=(a[p+(o*1272|0)+163>>0]|0)!=0;if(g<<24>>24==1){pb=h?2:1;break}else{pb=h?1:2;break}}else pb=0;while(0);qb=p+(o*1272|0)+167|0;rb=n+(m*68|0)+14|0;i=(a[rb>>0]|0)+(a[qb>>0]|0)|0;i=(i|0)>0?i:0;i=(i|0)<51?i:51;sb=p+(o*1272|0)+75|0;g=a[sb>>0]|0;switch(g<<24>>24){case 0:{ub=43;break}case 1:{if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)ub=43;break}default:{}}if((ub|0)==43)c[f+436>>2]=i;d:do if(!(c[Rb>>2]|0)){do if(g<<24>>24==1){if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)break;g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break d}nh(f+660|0,f+376|0)|0;h=0;Pa=g;break d}while(0);g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break}if(!(oh(f+660|0,f+376|0,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){h=0;Pa=g}else{c[Rb>>2]=1;h=1;Pa=g}}else{h=0;Pa=n+(m*68|0)+28|0}while(0);ob=f+24|0;Qa=f+444|0;Ra=f+588|0;Sa=f+408|0;Ta=f+428|0;Ua=f+988|0;Va=f+1044|0;Wa=f+420|0;Xa=f+348|0;Ya=f+1444|0;Za=Yb+8|0;_a=Yb+4|0;$a=Yb+6|0;ab=Yb+10|0;bb=f+404|0;cb=f+400|0;db=Yb+12|0;eb=f+656|0;fb=f+5956|0;gb=f+6096|0;hb=f+5960|0;ib=f+5964|0;jb=f+5988|0;kb=p+(o*1272|0)+156|0;lb=f+568|0;mb=f+416|0;nb=f+424|0;ya=n+(m*68|0)+27|0;za=f+336|0;Aa=f+436|0;Ba=p+(o*1272|0)+872|0;Ca=p+(o*1272|0)+874|0;Da=p+(o*1272|0)+157|0;Ea=f+660|0;Fa=f+376|0;Ga=f+596|0;Ha=f+1456|0;Ia=f+432|0;Ja=f+822|0;Ka=f+668|0;La=f+412|0;Ma=f+88|0;Na=f+1460|0;Oa=f+592|0;z=p+(o*1272|0)+171|0;A=Vb+(Ub*8976|0)+4120|0;xa=f+204|0;B=f+1048|0;C=f+380|0;D=f+984|0;F=Hb+1272|0;E=F+872|0;F=F+874|0;G=f+396|0;H=f+384|0;I=Yb+4|0;J=Yb+8|0;K=Yb+12|0;L=Yb+16|0;M=f+580|0;N=Yb+20|0;O=Yb+24|0;P=Yb+28|0;Q=Yb+36|0;R=Yb+32|0;S=f+576|0;T=Yb+40|0;U=Yb+44|0;V=Yb+48|0;W=Yb+52|0;X=Yb+53|0;Y=Yb+54|0;Z=Yb+55|0;_=f+5984|0;$=Vb+(Ub*8976|0)+2|0;aa=Nb+-1|0;ba=(Mb|0)>3;ca=f+992|0;da=f+996|0;ea=f+1008|0;fa=f+1012|0;ga=f+1016|0;ha=f+1020|0;ia=f+1024|0;ja=f+1028|0;ka=f+1032|0;la=f+1052|0;ma=f+1064|0;na=f+1072|0;oa=f+1076|0;pa=f+1080|0;qa=f+1084|0;ra=f+1004|0;sa=f+1e3|0;ta=(Mb<<Lb|0)/128|0;ua=f+1036|0;va=f+1040|0;wa=((r((Mb|0)/8|0,Nb)|0)/8|0)<<1;y=q;e:while(1){g=c[ob>>2]|0;if((g|0)==1?(((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0)%142560|0|0)==0:0){c[Sa>>2]=c[Ra>>2];c[Ta>>2]=0}c[Qa>>2]=0;do if(!(c[Cb>>2]|0)){if(!(c[Db>>2]|0)){if((a[y>>0]|0)==0?(a[y+1>>0]|0)==0:0)g=i;else ub=64;do if((ub|0)==64){if((c[vb>>2]|0)==0?(c[za>>2]|0)==0:0){g=i;break}g=(a[rb>>0]|0)+(a[qb>>0]|0)|0;g=(g|0)>0?g:0;g=(g|0)<51?g:51;c[Aa>>2]=g;lh(Ib,Jb,c[Fb>>2]|0,c[Eb>>2]|0,Cb,Db,Gb)|0;i=c[Gb>>2]|0;c[xb>>2]=(c[wb>>2]|0)+(i*6|0);c[yb>>2]=i;i=d[y>>0]|0;j=d[y+1>>0]|0;k=b[Pb>>1]|0;ub=(r(k,j)|0)+i|0;l=b[Ba>>1]|0;m=b[Ca>>1]|0;do if(((r(m,k)|0)+l|0)<(ub|0)){n=j-m|0;c[za>>2]=n;if((((e[y+-4>>1]|0)+l|0)%(k|0)|0|0)==(i|0))break;if(!((l|0)>(i|0)&(j|0)>=(m|0)))break;c[za>>2]=n+-1}while(0);if(!(c[Rb>>2]|0)){if(!(oh(Ea,Fa,g,pb,576+(pb*8008|0)+(g*154|0)|0)|0))break;c[Rb>>2]=1;h=1}}while(0);if(c[Cb>>2]|0){i=g;break}i=g;g=c[ob>>2]|0}if((g|0)>1){c[Yb>>2]=0;b[Za>>1]=b[y+2>>1]|0;b[_a>>1]=c[Fb>>2];b[$a>>1]=c[Eb>>2];b[ab>>1]=c[Wb>>2];c[db>>2]=(c[bb>>2]|0)-(c[cb>>2]|0);g=Qg(c[eb>>2]|0,Yb,16,1)|0;if(!g)break;else{ub=219;break e}}else{ub=(c[bb>>2]|0)-(c[cb>>2]|0)|0;c[gb>>2]=e[y+2>>1];c[hb>>2]=c[Fb>>2];c[ib>>2]=c[Eb>>2];c[jb>>2]=c[Wb>>2];Ig(fb,ub);break}}while(0);do if((a[Pa>>0]|0)!=0?(c[Fb>>2]|0)==0:0)if(!(c[Rb>>2]|0)){if(!(c[za>>2]|0))g=(a[sb>>0]|0)==0&1;else g=0;ub=(b[Pb>>1]|0)!=1;c[Aa>>2]=i;if((g|0)==0&ub){if(!(oh(Ea,Fa,i,pb,Ja)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}else{if(!(oh(Ea,Fa,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}}else{g=h;ub=92}else ub=88;while(0);do if((ub|0)==88){ub=0;if(!(c[Rb>>2]|0)){if((a[kb>>0]|0)==0?(a[Da>>0]|0)==0:0){g=h;break}ph(f)|0;g=h}else{g=h;ub=92}}while(0);if((ub|0)==92){ub=0;x=(c[Ya>>2]|0)+((c[Fb>>2]|0)*12|0)+((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)*12|0)|0;c[x>>2]=c[x>>2]&-8;w=x+4|0;c[w>>2]=c[w>>2]&-8;x=x+8|0;c[x>>2]=c[x>>2]&-8}x=(r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0;w=(c[Va>>2]|0)+(x>>3)|0;a[w>>0]=1<<(x&7)|d[w>>0];b[(c[Wa>>2]|0)+(x<<1)>>1]=c[Xa>>2];if(!(c[Rb>>2]|0)){h=c[Sa>>2]|0;j=c[lb>>2]|0;k=c[Ta>>2]|0;l=c[mb>>2]|0;m=c[nb>>2]|0;n=c[bb>>2]|0;x=a[Kb>>0]|0;if(!(qh(f,c[Fb>>2]<<x,c[Eb>>2]<<x,x,0)|0))ub=97;else{c[Sa>>2]=h;c[lb>>2]=j;c[Ta>>2]=k;c[mb>>2]=l;c[nb>>2]=m;Uk(n|0,0,(c[bb>>2]|0)-n|0)|0;c[bb>>2]=n;rh(f);c[Rb>>2]=1;g=1}}else{rh(f);ub=97}if((ub|0)==97){ub=0;if(!(c[Rb>>2]|0))g=sh(Ea,Fa)|0}if((a[ya>>0]|0)==0?(a[Pa>>0]|0)==0:0)k=y+2|0;else ub=102;do if((ub|0)==102){ub=0;if((c[Fb>>2]|0)==1)Sk(Ja|0,Ka|0,154)|0;k=y+2|0;if(((c[Cb>>2]|0)+1|0)==(e[k>>1]|0)){h=((c[Db>>2]|0)+1|0)==(e[y+4>>1]|0)&1;j=1}else{h=0;j=0}if((g|0)==0?(c[Rb>>2]|0)==0:0){if(!((h|0)!=0&(a[ya>>0]|0)!=0)?!((j|0)!=0&(a[Pa>>0]|0)!=0):0)break;sh(Ea,Fa)|0;if(!(c[C>>2]&7))break;th(Fa)}}while(0);h=r(c[Eb>>2]|0,Qb)|0;h=(c[Fb>>2]|0)+1+h|0;o=e[k>>1]|0;do if(((c[Cb>>2]|0)+1|0)==(o|0)?(Tb=b[Pb>>1]|0,(o|0)!=(Tb|0)):0){x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;j=r(l,Tb)|0;m=d[y>>0]|0;j=j+m|0;if((x|0)==(e[y+4>>1]|0)){if((m+o|0)==(Tb|0)?(l|0)==(b[A>>1]|0):0){j=h;break}j=c[xb>>2]|0;j=(r(d[j+7>>0]|0,Tb)|0)+(d[j+6>>0]|0)|0}}else j=h;while(0);c[(c[Ga>>2]|0)+(j<<2)>>2]=c[nb>>2];c[Ha>>2]=j;c[Ia>>2]=(c[Ia>>2]|0)+Ob;if((c[ob>>2]|0)==1){h=(h|0)%142560|0;h=(h|0)==0?142560:h;do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}else{do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}c[h>>2]=c[Ta>>2];c[La>>2]=(c[La>>2]|0)+Ob;do if(c[Ma>>2]|0?(a[z>>0]|0)==1:0){h=c[Fb>>2]|0;t=b[Pb>>1]|0;s=c[Eb>>2]|0;x=(r(s,t)|0)+h|0;u=(a[Kb>>0]|0)+-3|0;t=t<<u;u=(c[B>>2]|0)+((r(t,s)|0)+h<<u)|0;h=c[j+(((c[ob>>2]|0)==1?(x|0)%142560|0:x)<<2)>>2]|0;s=(c[j+(c[Na>>2]<<2)>>2]|0)-h|0;h=(c[Ra>>2]|0)+(h<<2)|0;if(1<<(x&7)&d[(c[Va>>2]|0)+(x>>3)>>0]|0){a[u>>0]=c[h>>2]<<9>>25;break}if((s|0)<=0)break;o=0;while(1){x=c[h>>2]|0;p=x&15;l=x>>>4&15;j=4<<(x>>>8&7)>>>2;if(!(x&17)){q=j+l|0;n=j+p|0;do{m=r(l>>1,t)|0;j=p;do{a[u+((j>>1)+m)>>0]=c[h>>2]<<9>>25;j=j+2|0}while(j>>>0<n>>>0);l=l+2|0}while(l>>>0<q>>>0)}o=o+1|0;if((o|0)==(s|0))break;else h=h+4|0}}while(0);p=c[ob>>2]|0;do if((p|0)<3){h=b[Pb>>1]|0;o=h<<16>>16;x=(r(o,d[y+1>>0]|0)|0)+(d[y>>0]|0)|0;if(((r(b[Ca>>1]|0,o)|0)+(b[Ba>>1]|0)|0)>=(x|0))h=b[k>>1]|0;q=c[Eb>>2]|0;if((q|0)!=0?(c[Db>>2]|0)!=0:0)l=1;else l=0;u=c[Fb>>2]|0;f:do if(!u)ub=153;else{if(!(c[Cb>>2]|0)){ub=153;break}if((u|0)<=0){j=l;m=1;n=l;h=l;break}j=c[za>>2]|0;do if(j|0){if(!(c[Db>>2]|0))break;if((j|0)!=1){j=l;m=1;n=l;h=l;break f}j=l;m=1;n=(c[vb>>2]|0)==0?0:l;h=l;break f}while(0);x=c[vb>>2]|0;j=0;m=(x|0)!=0&1;n=0;h=((h<<16>>16)+-1|0)==(x|0)?l:0}while(0);do if((ub|0)==153){ub=0;if(c[za>>2]|0?c[Db>>2]|0:0){j=l;m=0;n=0;h=l;break}j=0;m=0;n=0;h=((h<<16>>16)+-1|0)==(c[vb>>2]|0)?l:0}while(0);if(!((o+-1|0)!=(u|0)?((e[k>>1]|0)+-1|0)!=(c[Cb>>2]|0):0))h=0;do if((d[tb>>0]|0)<2){x=(p|0)==1?1:p+-1|0;t=u+(r(q,o)|0)|0;p=c[Ga>>2]|0;t=c[p+(t<<2)>>2]|0;s=(c[p+(c[Ha>>2]<<2)>>2]|0)-t|0;v=(c[f+5956+(x*692|0)+104>>2]|0)+(((u<<Lb|0)/4|0)<<2)|0;w=c[f+5956+(x*692|0)+108>>2]|0;c[Yb>>2]=Ib;c[I>>2]=Jb;c[J>>2]=Hb;c[K>>2]=u;c[L>>2]=q;u=c[M>>2]|0;c[N>>2]=u+(t<<4);c[O>>2]=u;c[P>>2]=y;c[Q>>2]=c[f+5956+(x*692|0)+100>>2];c[R>>2]=p;c[T>>2]=c[S>>2];c[U>>2]=s;c[V>>2]=t;a[W>>0]=j;a[X>>0]=h;a[Y>>0]=n;a[Z>>0]=m;Wg(Yb,v,w,f+5956+(x*692|0)+112|0)|0}else{s=u+(r(q,o)|0)|0;x=(c[S>>2]|0)+(r(s,Ob)|0)|0;v=(p|0)==1?1:p+-1|0;w=c[f+5956+(v*692|0)+100>>2]|0;t=c[Ga>>2]|0;s=c[t+(s<<2)>>2]|0;t=(c[t+(c[Ha>>2]<<2)>>2]|0)-s|0;if((t|0)>0){h=(c[M>>2]|0)+(s<<4)|0;j=0;while(1){n=h+12|0;q=c[n>>2]|0;o=j+s|0;p=((q>>>10&60)+4|0)>>>2;q=((q>>>6&60)+4|0)>>>2;m=0;do{m=m+1|0;l=0;do{u=c[n>>2]|0;l=l+1|0;c[w+(l+(u&15)+((m+(u>>>4&15)|0)*18|0)<<2)>>2]=o}while((l|0)!=(q|0))}while((m|0)!=(p|0));j=j+1|0;if((j|0)==(t|0))break;else h=h+16|0}h=c[Eb>>2]|0;j=c[Fb>>2]|0}else{h=q;j=u}h=(b[$>>1]|0)-(h<<a[Kb>>0])|0;m=c[f+5956+(v*692|0)+104>>2]|0;c[f+5956+(v*692|0)+112>>2]=c[m+(aa+((j<<Lb|0)/4|0)<<2)>>2];if(!ba)break;l=c[f+5956+(v*692|0)+108>>2]|0;j=((((Mb|0)<(h|0)?Mb:h)|0)/4|0)*18|0;h=0;do{v=h;h=h+1|0;c[l+(v<<2)>>2]=c[w+((h*18|0)+Nb<<2)>>2];c[m+(((c[Fb>>2]<<Lb|0)/4|0)+v<<2)>>2]=c[w+(h+j<<2)>>2]}while((h|0)!=(Nb|0));n=c[w+76>>2]|0;if(!ba)break;h=19;j=0;m=0;while(1){l=0;do{a[x+(l+j)>>0]=(c[w+(l+h<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(Nb|0));m=m+1|0;if((m|0)==(Nb|0))break;else{h=h+18|0;j=j+Nb|0}}}while(0);if(c[Ma>>2]|0)break;do if(!(c[Rb>>2]|0)){w=c[ob>>2]|0;v=(w|0)==1;q=c[Fb>>2]|0;s=c[Eb>>2]|0;t=(r(s,b[Pb>>1]|0)|0)+q|0;u=c[(c[Ga>>2]|0)+(t<<2)>>2]|0;x=c[Na>>2]|0;p=c[Oa>>2]|0;t=c[p+((v?(t|0)%142560|0:t)<<2)>>2]|0;p=(c[p+(x<<2)>>2]|0)-t|0;c[Ua>>2]=c[zb>>2];c[ca>>2]=c[Ab>>2];c[da>>2]=f;c[ea>>2]=p;c[fa>>2]=q;c[ga>>2]=s;c[ha>>2]=c[Cb>>2];c[ia>>2]=c[Db>>2];c[ja>>2]=c[vb>>2];c[ka>>2]=c[za>>2];c[la>>2]=(c[Ra>>2]|0)+(t<<2);c[ma>>2]=(c[M>>2]|0)+(u<<4);c[na>>2]=c[f+5956+((v?1:w+-1|0)*692|0)+100>>2];c[oa>>2]=c[Ha>>2];c[pa>>2]=x;c[qa>>2]=c[Wa>>2];c[ra>>2]=c[Bb>>2];c[sa>>2]=c[xb>>2];if((a[tb>>0]|0)==2){Zg(Ua)|0;break}else{_g(Ua)|0;break}}while(0);if(!(a[z>>0]|0))break;w=r((b[Pb>>1]|0)+1|0,ta)|0;v=r(c[Fb>>2]|0,ta)|0;w=r(w,c[Eb>>2]|0)|0;x=(c[va>>2]|0)+v+w|0;Uk((c[ua>>2]|0)+v+w|0,0,wa|0)|0;Uk(x|0,0,wa|0)|0}while(0);p=(r(c[Eb>>2]|0,b[(c[Ab>>2]|0)+4118>>1]|0)|0)+(c[Fb>>2]|0)|0;a[(c[xa>>2]|0)+p>>0]=1;p=(c[Cb>>2]|0)+1|0;c[Cb>>2]=p;n=(c[Fb>>2]|0)+1|0;c[Fb>>2]=n;l=(c[vb>>2]|0)+1|0;c[vb>>2]=l;do if(a[ya>>0]|0){j=d[y>>0]|0;h=b[Pb>>1]|0;x=(r(h,d[y+1>>0]|0)|0)+j|0;x=((r(b[Ca>>1]|0,h)|0)+(b[Ba>>1]|0)|0)<(x|0);h=e[k>>1]|0;if(x){if((l|0)!=(h+j|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=j;break}else{if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0;break}}else{h=e[k>>1]|0;if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0}while(0);g:do if((p|0)==(h|0)){c[Cb>>2]=0;h=d[y>>0]|0;c[Fb>>2]=h;j=(c[Db>>2]|0)+1|0;c[Db>>2]=j;k=(c[Eb>>2]|0)+1|0;c[Eb>>2]=k;if((j|0)!=(e[y+4>>1]|0)){o=0;m=y;l=0;break}c[Db>>2]=0;c[Cb>>2]=0;l=c[xb>>2]|0;m=l+6|0;c[xb>>2]=m;k=j+(d[y+1>>0]|0)|0;do if((k|0)==(b[A>>1]|0)){if((p+h|0)!=(b[Pb>>1]|0))break;c[Fb>>2]=0;c[Eb>>2]=k;o=1;m=y;h=0;l=0;break g}while(0);h=d[m>>0]|0;c[Fb>>2]=h;k=d[l+7>>0]|0;c[Eb>>2]=k;c[Db>>2]=0;c[Cb>>2]=0;c[vb>>2]=h;c[za>>2]=k;o=0;l=0}else{o=0;m=y;k=c[Eb>>2]|0;h=n;l=p}while(0);j=b[Pb>>1]|0;h=(r(k,j)|0)+h|0;c[D>>2]=h;if(c[Rb>>2]|0){y=(h|0)==((r(b[F>>1]|0,j)|0)+(b[E>>1]|0)|0);g=y?1:g}if((c[ob>>2]|0)==1&(l|0)==0){c[gb>>2]=e[(c[_>>2]|0)+2>>1];Tg(fb)|0}if(((c[G>>2]|0)+8|0)>>>0<((c[H>>2]|0)+((c[C>>2]|0)>>>3)|0)>>>0)g=(c[Rb>>2]|0)==0?1:g;if(!(g|o)){y=m;h=0}else break}if((ub|0)==219){Sb=Zb;return g|0}c[Rb>>2]=0;if(o|0){c[f+980>>2]=1;Yb=0;Sb=Zb;return Yb|0}j=(c[Wb>>2]|0)+1|0;if((c[ob>>2]|0)!=1&(j&255|0)==0?(Xb=c[Vb+(Ub*8976|0)+4128>>2]|0,Xb|0):0){i=c[xa>>2]|0;h=c[f+208>>2]|0;g=0;do{f=d[i+g>>0]|0;c[Yb>>2]=a[h+g>>0]&1;g=g+((c[Yb>>2]|0)==(f|0)&1)|0}while((g|0)!=(Xb|0))}c[Wb>>2]=j;Yb=0;Sb=Zb;return Yb|0}function Qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=a+16|0;if(ag(c[g>>2]|0)|0){a=2147483647;return a|0}e=a+4|0;f=c[e>>2]|0;if((c[a+12>>2]|0)>>>0<(f+d|0)>>>0)e=2147483647;else{Sk(f|0,b|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;e=0}c[a+20>>2]=0;a=(bg(c[g>>2]|0)|0)==0;a=a?e:2147483647;return a|0}function Rg(a){a=a|0;var b=0;b=a+16|0;if(ag(c[b>>2]|0)|0){b=2147483647;return b|0}c[a+20>>2]=1;b=(bg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+16|0;if(ag(c[j>>2]|0)|0){j=2147483647;return j|0}i=a+8|0;f=c[i>>2]|0;g=f+d|0;a:do if((c[a+12>>2]|0)>>>0<g>>>0)f=2147483647;else{h=a+4|0;if((c[h>>2]|0)>>>0<g>>>0){a=a+20|0;if((e|0)!=1){f=(c[a>>2]|0)==1;while(1)if(f){f=2147483647;break a}}do{if((c[a>>2]|0)==1){f=2147483647;break a}if(!(bg(c[j>>2]|0)|0)){cg();ag(c[j>>2]|0)|0}f=c[i>>2]|0}while((c[h>>2]|0)>>>0<(f+d|0)>>>0)}Sk(b|0,f|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=0}while(0);j=(bg(c[j>>2]|0)|0)==0;j=j?f:2147483647;return j|0}function Tg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=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;Ac=Sb;Sb=Sb+64|0;yc=Ac;X=Ac+8|0;Ta=f+44|0;ab=c[Ta>>2]|0;fb=ab+4116|0;g=a[fb>>0]|0;Db=g<<24>>24;Tb=1<<Db;h=c[f>>2]|0;nc=(Tb|0)/4|0;Y=r(nc,nc)|0;_a=c[h+11560>>2]|0;xa=f+140|0;j=c[xa>>2]|0;_a=(_a|0)<(j|0)?_a:j;Sa=f+28|0;Ya=f+12|0;Za=(e[(c[Sa>>2]|0)+2>>1]|0)-(c[Ya>>2]|0)|0;Za=(_a|0)<(Za|0)?_a:Za;_a=f+32|0;$a=ab+4118|0;if((c[_a>>2]|0)>(256-(b[$a>>1]<<1)|0))i=1;else i=c[f+688>>2]|0;bb=f+24|0;cb=f+20|0;db=f+120|0;eb=f+68|0;if(!j){Sb=Ac;return 0}gb=f+16|0;lb=f+148|0;mb=f+152|0;nb=f+4|0;ob=f+8|0;pb=Za+-1|0;qb=h+204|0;rb=f+48|0;sb=h+24|0;tb=f+40|0;yb=f+112|0;zb=f+108|0;Ab=f+104|0;Bb=X+4|0;Cb=X+8|0;Eb=X+12|0;Fb=X+16|0;Gb=f+76|0;Hb=X+20|0;Ib=f+96|0;Jb=X+24|0;Ob=X+28|0;Pb=f+100|0;Qb=X+36|0;Rb=f+84|0;Ub=X+32|0;Vb=f+92|0;Wb=X+40|0;Xb=f+264|0;Yb=X+44|0;Zb=f+268|0;_b=X+48|0;$b=f+248|0;ac=X+52|0;bc=f+249|0;dc=X+53|0;ec=f+250|0;fc=X+54|0;gc=f+251|0;hc=X+55|0;ic=h+88|0;jc=f+676|0;kc=f+36|0;lc=f+680|0;mc=r(Za,Y)|0;oc=f+252|0;pc=ab+2|0;qc=(Tb|0)>3;rc=h+128|0;sc=f+280|0;tc=f+284|0;uc=f+288|0;vc=f+300|0;wc=f+304|0;xc=f+308|0;Z=f+312|0;_=f+316|0;$=f+320|0;aa=f+324|0;ba=f+344|0;ca=f+356|0;da=f+364|0;ea=f+368|0;fa=f+684|0;ga=f+372|0;ha=f+672|0;ia=f+376|0;ja=f+296|0;ka=f+292|0;la=f+116|0;ma=(Za|0)>0;na=(Tb<<Db|0)/128|0;oa=f+328|0;pa=f+332|0;qa=((r((Tb|0)/8|0,nc)|0)/8|0)<<1;ra=h+304|0;sa=ab+54|0;ta=f+156|0;ua=f+160|0;va=f+164|0;wa=f+168|0;ya=f+172|0;za=f+176|0;Aa=f+180|0;Ba=f+184|0;Ca=f+232|0;Da=h+20|0;Ea=f+256|0;Fa=f+236|0;Ga=f+260|0;Ha=ab+55|0;Ia=f+380|0;Ja=f+384|0;Ka=f+388|0;La=f+392|0;Ma=f+496|0;Na=f+500|0;Oa=f+536|0;Pa=h+64|0;Qa=f+540|0;Ra=Tb>>3;E=g<<24>>24==31;F=f+132|0;G=ab+4120|0;H=h+92|0;I=f+544|0;J=f+548|0;K=f+564|0;L=f+552|0;M=f+560|0;N=f+656|0;O=f+568|0;P=f+572|0;Q=f+668|0;R=(Tb|0)/2|0;S=h+12204|0;T=h+12208|0;U=Tb+8|0;V=R+16|0;W=h+12212|0;D=h+12216|0;A=c[bb>>2]|0;B=c[cb>>2]|0;C=c[eb>>2]|0;o=c[db>>2]|0;g=c[Ya>>2]|0;do{c[bb>>2]=A;c[cb>>2]=B;c[db>>2]=o;c[eb>>2]=C;y=c[gb>>2]|0;z=c[_a>>2]|0;x=o;i=(j|0)<(i|0)?j:i;w=(i|0)==0;if(w)h=z;else{v=i;do{k=c[Sa>>2]|0;j=c[lb>>2]|0;if(!((j|0)==0?!(c[mb>>2]|0):0)){h=1024;while(1){c[X>>2]=1;if(j|0){u=pb+(c[nb>>2]|0)+(r(c[ob>>2]|0,b[$a>>1]|0)|0)|0;c[X>>2]=d[(c[qb>>2]|0)+u>>0]}if(c[X>>2]|0)break;if((h|0)>0){j=128;do{ej(42090,yc)|0;j=j+-1|0}while((j|0)!=0);h=h+-128|0}else{cg();h=1024}j=c[lb>>2]|0}}Ug(f,1,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=22;if(((zc|0)==22?(zc=0,Ua=c[(c[f>>2]|0)+304>>2]|0,Va=(c[_a>>2]|0)+1|0,Wa=Va&255,Xa=Ua+(Wa*1272|0)|0,(h|0)==(b[Ua+(Wa*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Ua+(Wa*1272|0)+874>>1]|0):0){if(!(a[Ua+(Wa*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Va;c[rb>>2]=Xa}u=c[rb>>2]|0;Vg(f);if((d[u+76>>0]|0)>=2){if((c[sb>>2]|0)>2){j=c[nb>>2]|0;h=c[ob>>2]|0;q=(r(h,b[$a>>1]|0)|0)+j|0;t=(c[Vb>>2]|0)+(r(q,Y)|0)|0;u=c[Pb>>2]|0;s=c[Rb>>2]|0;q=c[s+(q<<2)>>2]|0;s=(c[s+(c[lc>>2]<<2)>>2]|0)-q|0;if((s|0)>0){h=0;j=(c[Ib>>2]|0)+(q<<4)|0;while(1){m=j+12|0;p=c[m>>2]|0;n=h+q|0;o=((p>>>10&60)+4|0)>>>2;p=((p>>>6&60)+4|0)>>>2;k=0;do{k=k+1|0;l=0;do{Bc=c[m>>2]|0;l=l+1|0;c[u+(l+(Bc&15)+((k+(Bc>>>4&15)|0)*18|0)<<2)>>2]=n}while((l|0)!=(p|0))}while((k|0)!=(o|0));h=h+1|0;if((h|0)==(s|0))break;else j=j+16|0}h=c[ob>>2]|0;j=c[nb>>2]|0}h=(b[pc>>1]|0)-(h<<a[fb>>0])|0;l=c[Ab>>2]|0;c[yb>>2]=c[l+(((j+1<<Db|0)/4|0)+-1<<2)>>2];if(qc){k=c[zb>>2]|0;j=((((Tb|0)<(h|0)?Tb:h)|0)/4|0)*18|0;h=0;do{Bc=h;h=h+1|0;c[k+(Bc<<2)>>2]=c[u+((h*18|0)+nc<<2)>>2];c[l+(((c[nb>>2]<<Db|0)/4|0)+Bc<<2)>>2]=c[u+(h+j<<2)>>2]}while((h|0)!=(nc|0));m=c[u+76>>2]|0;if(qc){h=0;k=0;l=19;while(1){j=0;do{a[t+(j+k)>>0]=(c[u+(j+l<<2)>>2]|0)-m;j=j+1|0}while((j|0)!=(nc|0));h=h+1|0;if((h|0)==(nc|0))break;else{k=k+nc|0;l=l+18|0}}}}}}else{if((c[sb>>2]|0)>2){Bc=c[zb>>2]|0;t=c[nb>>2]|0;u=(c[Ab>>2]|0)+(((t<<Db|0)/4|0)<<2)|0;c[X>>2]=c[tb>>2];c[Bb>>2]=c[Ta>>2];c[Cb>>2]=c[rb>>2];c[Eb>>2]=t;c[Fb>>2]=c[ob>>2];c[Hb>>2]=c[Gb>>2];c[Jb>>2]=c[Ib>>2];c[Ob>>2]=k;c[Qb>>2]=c[Pb>>2];c[Ub>>2]=c[Rb>>2];c[Wb>>2]=c[Vb>>2];c[Yb>>2]=c[Xb>>2];c[_b>>2]=c[Zb>>2];a[ac>>0]=a[$b>>0]|0;a[dc>>0]=a[bc>>0]|0;a[fc>>0]=a[ec>>0]|0;a[hc>>0]=a[gc>>0]|0;Wg(X,u,Bc,yb)|0}Xg(f)}if(a[(c[tb>>2]|0)+27>>0]|0)b[(c[jc>>2]|0)+((r(c[ob>>2]|0,b[$a>>1]|0)|0)+(c[nb>>2]|0)<<1)>>1]=c[kc>>2];h=c[rb>>2]|0;if((c[ic>>2]|0)==0?(c[sb>>2]|0)>2:0){do if(!(c[rc>>2]|0)){Yg(f);c[sc>>2]=c[tb>>2];c[tc>>2]=c[Ta>>2];c[uc>>2]=c[f>>2];c[vc>>2]=c[oc>>2];c[wc>>2]=c[nb>>2];c[xc>>2]=c[ob>>2];c[Z>>2]=c[Ya>>2];c[_>>2]=c[gb>>2];c[$>>2]=c[cb>>2];c[aa>>2]=c[bb>>2];c[ba>>2]=c[eb>>2];c[ca>>2]=c[Gb>>2];c[da>>2]=c[Pb>>2];c[ea>>2]=c[lc>>2];c[ga>>2]=c[fa>>2];c[ia>>2]=c[ha>>2];c[ja>>2]=c[rb>>2];c[ka>>2]=c[Sa>>2];if((a[h+76>>0]|0)==2){Zg(sc)|0;break}else{_g(sc)|0;break}}while(0);if(a[h+171>>0]|0){u=r((b[$a>>1]|0)+1|0,na)|0;t=r(c[nb>>2]|0,na)|0;u=r(u,c[ob>>2]|0)|0;Bc=(c[pa>>2]|0)+t+u|0;Uk((c[oa>>2]|0)+t+u|0,0,qa|0)|0;Uk(Bc|0,0,qa|0)|0}}t=c[nb>>2]|0;u=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((t+1+(r(u,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|2;h=h+1|0}while((h|0)!=(Za|0))}v=v-Za|0;$g(f,Za)}while((v|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;c[db>>2]=x;c[eb>>2]=C;if(w)h=z;else{o=i;do{Ug(f,2,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=73;if(((zc|0)==73?(zc=0,hb=c[(c[f>>2]|0)+304>>2]|0,ib=(c[_a>>2]|0)+1|0,jb=ib&255,kb=hb+(jb*1272|0)|0,(h|0)==(b[hb+(jb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[hb+(jb*1272|0)+874>>1]|0):0){if(!(a[hb+(jb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=ib;c[rb>>2]=kb}Vg(f);Yg(f);if(a[sa>>0]|0){if(!(a[Ha>>0]|0)){h=31520;j=28960;k=28320;l=29472;m=28448;n=28192;zc=80}}else{h=26144;j=26144;k=26144;l=26144;m=26144;n=26144;zc=80}if((zc|0)==80){zc=0;c[ta>>2]=26144;c[ua>>2]=n;c[va>>2]=m;c[wa>>2]=l;c[ya>>2]=26144;c[za>>2]=k;c[Aa>>2]=j;c[Ba>>2]=h}v=c[nb>>2]<<Db;u=r(c[ob>>2]<<Db,c[Da>>2]|0)|0;c[Ea>>2]=(c[Ca>>2]|0)+(u+v);c[Ga>>2]=(c[Fa>>2]|0)+v+((u|0)/2|0);ah(f)|0;u=c[nb>>2]|0;v=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((u+1+(r(v,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|4;h=h+1|0}while((h|0)!=(Za|0))}o=o-Za|0;$g(f,Za)}while((o|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;o=c[db>>2]|0;n=C;C=c[eb>>2]|0;c[db>>2]=x;c[eb>>2]=n;if(w)h=z;else{m=i;do{Ug(f,3,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=96;if(((zc|0)==96?(zc=0,ub=c[(c[f>>2]|0)+304>>2]|0,vb=(c[_a>>2]|0)+1|0,wb=vb&255,xb=ub+(wb*1272|0)|0,(h|0)==(b[ub+(wb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[ub+(wb*1272|0)+874>>1]|0):0){if(!(a[ub+(wb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=vb;c[rb>>2]=xb}if(!(c[ic>>2]|0)){c[Ia>>2]=c[tb>>2];c[Ja>>2]=c[Ta>>2];c[Ka>>2]=c[f>>2];c[La>>2]=c[rb>>2];c[Ma>>2]=h;j=c[ob>>2]|0;c[Na>>2]=j;c[Oa>>2]=c[ha>>2];c[Qa>>2]=(c[Pa>>2]|0)==12&1;l=(b[ab>>1]|0)+63>>6<<3;k=(a[fb>>0]|0)+-3|0;if(!E){h=(h<<k)+-1+(r(l,(j<<k)+-1|0)|0)|0;k=c[F>>2]|0;j=0;while(1){b[f+508+(j<<1)>>1]=(c[k+(h>>3)>>2]|0)>>>(h&7);if((j|0)<(Ra|0)){h=h+l|0;j=j+1|0}else break}}bh(Ia,0,0);Bc=b[$a>>1]|0;if((c[nb>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[ab>>1]|0):0)bh(Ia,1,0);Bc=b[G>>1]|0;if((c[ob>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[pc>>1]|0):0)bh(Ia,0,1)}h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|8;h=h+1|0}while((h|0)!=(Za|0))}m=m-Za|0;$g(f,Za)}while((m|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[gb>>2]=y;c[db>>2]=x;c[eb>>2]=n;z=A;A=c[bb>>2]|0;Bc=B;B=c[cb>>2]|0;c[bb>>2]=z;c[cb>>2]=Bc;if(!w){n=i;do{Ug(f,4,Za);g=c[nb>>2]|0;if(!((g|0)==0?!(c[ob>>2]|0):0))zc=123;if(((zc|0)==123?(zc=0,Kb=c[(c[f>>2]|0)+304>>2]|0,Lb=(c[_a>>2]|0)+1|0,Mb=Lb&255,Nb=Kb+(Mb*1272|0)|0,(g|0)==(b[Kb+(Mb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Kb+(Mb*1272|0)+874>>1]|0):0){if(!(a[Kb+(Mb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Lb;c[rb>>2]=Nb}if(!(c[H>>2]|0)){c[I>>2]=c[tb>>2];c[J>>2]=c[Ta>>2];c[K>>2]=c[Sa>>2];c[L>>2]=c[f>>2];c[M>>2]=c[rb>>2];c[N>>2]=c[_a>>2];c[O>>2]=g;c[P>>2]=c[ob>>2];c[Q>>2]=(c[Pa>>2]|0)==12&1;ch(I);g=c[nb>>2]|0}if(!g){g=c[ob>>2]|0;Bc=c[Da>>2]|0;y=r(g<<Db,Bc)|0;z=(c[Ca>>2]|0)+y|0;c[Ea>>2]=z;c[Ga>>2]=(c[Fa>>2]|0)+((y|0)/2|0);cc[c[S>>2]&7](z+(0-(Bc<<3))|0,Bc,(((b[G>>1]|0)+-1|0)==(g|0)?8:0)+Tb|0,80);g=c[Da>>2]|0;cc[c[T>>2]&7]((c[Ga>>2]|0)+(0-(g<<4))|0,g,R,80);g=c[nb>>2]|0}if(((b[$a>>1]|0)+-1|0)==(g|0)){m=(b[ab>>1]|0)-(g<<a[fb>>0])|0;y=g<<Db;Bc=c[ob>>2]|0;l=c[Da>>2]|0;z=r(Bc<<Db,l)|0;h=(c[Ca>>2]|0)+(z+y)|0;c[Ea>>2]=h;g=c[Fa>>2]|0;c[Ga>>2]=g+y+((z|0)/2|0);if(((b[G>>1]|0)+-1|0)==(Bc|0)){j=g+(r(l,((b[pc>>1]|0)/2|0)+-16<<16>>16<<16>>16)|0)|0;cc[c[T>>2]&7](j,l,16,80);j=V;k=U;h=c[Ea>>2]|0;g=c[Da>>2]|0}else{j=R;k=Tb;g=l}cc[c[W>>2]&7](h+m+(0-(g<<3))|0,g,k,80);Bc=c[Da>>2]|0;cc[c[D>>2]&7]((c[Ga>>2]|0)+m+(0-(Bc<<4))|0,Bc,j,80);if(((b[G>>1]|0)+-1|0)==(c[ob>>2]|0)){vf((c[Ca>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,80);vf((c[Fa>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,40);Bc=c[Da>>2]|0;z=(c[Ca>>2]|0)+(r(Bc,b[pc>>1]|0)|0)+-80|0;wf(z,Bc,(b[ab>>1]|0)+160|0,80);Bc=c[Da>>2]|0;z=(c[Fa>>2]|0)+(r(Bc,((b[pc>>1]|0)/2|0)<<16>>16)|0)+-80|0;wf(z,Bc,(b[ab>>1]|0)+160|0,40)}}g=c[f>>2]|0;do if(c[mb>>2]|0){if(ma){h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|16;g=g+1|0}while((g|0)!=(Za|0))}g=c[f>>2]|0;if(c[mb>>2]|0){if(!ma)break;h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|1;g=g+1|0}while((g|0)!=(Za|0))}}while(0);k=c[Sa>>2]|0;n=n-Za|0;g=(c[Ya>>2]|0)+Za|0;c[Ya>>2]=g;c[nb>>2]=(c[nb>>2]|0)+Za;c[cb>>2]=(c[cb>>2]|0)+Za;l=e[k+2>>1]|0;do if((g|0)>=(l|0)){c[Ya>>2]=0;g=d[k>>0]|0;c[nb>>2]=g;h=(c[gb>>2]|0)+1|0;c[gb>>2]=h;c[ob>>2]=(c[ob>>2]|0)+1;if((h|0)==(e[k+4>>1]|0)){c[gb>>2]=0;c[Ya>>2]=0;j=k+6|0;c[Sa>>2]=j;if((h+(d[k+1>>0]|0)|0)==(b[G>>1]|0)?(g+l|0)==(b[$a>>1]|0):0){g=0;break}c[nb>>2]=d[j>>0];c[ob>>2]=d[k+7>>0];g=0}else g=0}while(0)}while((n|0)!=0)}j=(c[xa>>2]|0)-i|0;c[xa>>2]=j}while((j|0)!=0);Sb=Ac;return 0}function Ug(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+16|0;u=v;q=v+4|0;s=c[f+28>>2]|0;t=f+40|0;p=1<<g;if(!(c[f+152>>2]|0)){Sb=v;return}k=f+8|0;l=f+12|0;m=s+2|0;n=(c[f+44>>2]|0)+4118|0;o=(c[f>>2]|0)+208|0;j=f+4|0;g=1024;while(1){c[q>>2]=1;f=c[k>>2]|0;i=(f|0)>0;if(i){x=(c[l>>2]|0)+h|0;w=(e[m>>1]|0)+-1|0;w=((x|0)<(w|0)?x:w)+(d[s>>0]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+w>>0]}if(a[(c[t>>2]|0)+27>>0]|0?(c[j>>2]|0)>0:0){if(c[q>>2]|0){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}if(!((c[q>>2]|0)==0|i^1)){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}}if(c[q>>2]|0)break;if((g|0)>0){f=128;do{ej(42090,u)|0;f=f+-1|0}while((f|0)!=0);g=g+-128|0}else{cg();g=1024}}Sb=v;return}function Vg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;k=c[f+48>>2]|0;t=c[f+44>>2]|0;u=c[f+28>>2]|0;i=a[u>>0]|0;if(!(i<<24>>24))g=u;else g=(a[u+1>>0]|0)==0?u:u+-6|0;j=b[k+872>>1]|0;h=(e[g+2>>1]|0)+j|0;l=b[t+4118>>1]|0;s=l<<16>>16;if((h|0)>=(s|0)){g=i&255;if(((h|0)%(s|0)|0|0)==(g|0)){h=0;p=g}else q=6}else{g=i&255;q=6}if((q|0)==6){h=(g|0)!=(j|0);p=g}o=(r(b[k+874>>1]|0,s)|0)+j|0;n=d[u+1>>0]|0;if(!(h&(o|0)<((r(n,s)|0)+p|0)))l=b[u+2>>1]|0;k=c[f+4>>2]|0;i=c[f+8>>2]|0;o=(r(i,s)|0)+k|0;g=f+248|0;j=f+251|0;h=f+250|0;m=f+249|0;c[g>>2]=16843009;if(!((i|0)!=0?(c[f+16>>2]|0)!=0:0)){a[g>>0]=0;a[h>>0]=0;a[m>>0]=0}do if((k|0)!=0?(c[f+12>>2]|0)!=0:0){if((k|0)>0){i=c[f+24>>2]|0;if(i|0?c[f+16>>2]|0:0){if((i|0)!=1)break;if(c[f+20>>2]|0)break;a[h>>0]=0;break}a[g>>0]=0;a[h>>0]=0;g=c[f+20>>2]|0;if(!g)a[j>>0]=0;if(((l<<16>>16)+-1|0)!=(g|0))a[m>>0]=0}}else q=14;while(0);do if((q|0)==14){a[j>>0]=0;a[h>>0]=0;if(c[f+24>>2]|0?c[f+16>>2]|0:0)break;a[g>>0]=0;if(((l<<16>>16)+-1|0)!=(c[f+20>>2]|0))a[m>>0]=0}while(0);g=b[u+2>>1]|0;if((k|0)!=(s+-1|0)){g=g&65535;h=g+-1|0;i=c[f+12>>2]|0;if((h|0)==(i|0))q=31;else{j=g;h=i}}else{h=c[f+12>>2]|0;g=g&65535;q=31}if((q|0)==31){a[m>>0]=0;j=g}g=o+1|0;do if((h+1|0)==(j|0)){q=(c[f+16>>2]|0)+1|0;h=q+n|0;if((q|0)!=(e[u+4>>1]|0)){g=(r(h,s)|0)+p|0;break}if(!((j+p|0)==(s|0)?(h|0)==(b[t+4120>>1]|0):0))g=(r(d[u+7>>0]|0,s)|0)+(d[u+6>>0]|0)|0}while(0);c[f+680>>2]=g;t=c[f+84>>2]|0;u=t+(o<<2)|0;c[f+264>>2]=(c[t+(g<<2)>>2]|0)-(c[u>>2]|0);u=c[u>>2]|0;c[f+268>>2]=u;c[f+76>>2]=(c[f+96>>2]|0)+(u<<4);return}function Wg(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;U=Sb;Sb=Sb+96|0;O=U+72|0;P=U;F=c[f+4>>2]|0;G=c[f>>2]|0;E=c[f+20>>2]|0;w=c[f+28>>2]|0;Q=c[f+36>>2]|0;p=a[F+4116>>0]|0;D=1<<p;R=(D|0)/4|0;A=r(R,R)|0;B=c[f+40>>2]|0;x=f+12|0;k=c[x>>2]|0;v=f+16|0;j=c[v>>2]|0;y=b[F+4118>>1]|0;u=(r(j,y)|0)+k|0;S=B+(r(u,A)|0)|0;T=c[f+44>>2]|0;N=c[f+48>>2]|0;n=a[f+55>>0]|0;q=d[f+54>>0]|0;s=a[f+52>>0]|0;t=d[f+53>>0]|0;l=P;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));M=(b[F+2>>1]|0)-(j<<p)|0;M=(D|0)<(M|0)?D:M;o=(M|0)/4|0;if((M|0)>3){m=(n&255)<<31;l=0;do{l=l+1|0;c[P+(l<<2)>>2]=m}while((l|0)!=(o|0))}z=R+1|0;M=(b[F>>1]|0)-(k<<p)|0;M=(D|0)<(M|0)?D:M;c[P>>2]=(s<<24>>24==1?(1<<((M|0)/4|0))+-1<<31-R+((D-M|0)/4|0):0)|(t<<31>>>z|q<<31);if(!((k|0)==0|(k|0)!=(d[w>>0]|0))){l=u+-1|0;o=c[f+32>>2]|0;n=c[o+(l<<2)>>2]|0;l=B+(r(l,A)|0)+R+-1|0;if((D|0)>3){m=(r(R,(r(R,u)|0)+1|0)|0)+-1|0;j=l;k=0;while(1){c[h+(k<<2)>>2]=n+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0))break;else j=j+R|0}l=B+m|0;k=c[x>>2]|0;j=c[v>>2]|0}j=k+-1+(r(j+-1|0,y)|0)|0;c[i>>2]=(c[o+(j<<2)>>2]|0)+(d[l+(A+-1+(r(j,A)|0))>>0]|0);j=c[v>>2]|0}if(!((j|0)==0?1:(j|0)!=(d[w+1>>0]|0))){j=(c[x>>2]|0)+(r(j+-1|0,y)|0)|0;l=c[(c[f+32>>2]|0)+(j<<2)>>2]|0;if((D|0)>3){j=B+(r(j,A)|0)+(r(R+-1|0,R)|0)|0;k=0;while(1){c[g+(k<<2)>>2]=l+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0)){C=14;break}else j=j+1|0}}else M=0}else C=14;if((C|0)==14){k=(D|0)>3;if(k){j=0;do{M=j;j=j+1|0;c[Q+(j*18<<2)>>2]=c[h+(M<<2)>>2];c[Q+(j<<2)>>2]=c[g+(M<<2)>>2]}while((j|0)!=(R|0));M=k}else M=0}c[Q+(z<<2)>>2]=c[g+(R<<2)>>2];c[Q>>2]=c[i>>2];if((T|0)>0){L=F+46|0;G=G+43|0;H=f+8|0;I=O+4|0;J=O+6|0;K=O+2|0;F=0;while(1){z=E+12|0;x=c[z>>2]|0;B=(x>>>10&60)+4|0;A=(x>>>6&60)+4|0;C=x&15;D=x>>>4&15;y=(x&524288|0)==0;do if(!y?(v=A>>>0>B>>>0?A:B,w=1<<a[L>>0],!((A|0)==(B|0)|((a[G>>0]|0)<3?1:(((v|0)>(w|0)?v:w)|0)!=8))):0){j=x&1040187392;if((j|0)==335544320){t=8;u=8;v=1;w=C+-1|0;j=D;break}else{t=8;u=8;v=1;w=C;j=D+(((j|0)==301989888)<<31>>31)|0;break}}else{t=A;u=B;v=0;w=C;j=D}while(0);o=j+1|0;k=Q+(w+1+(j*18|0)<<2)|0;l=k+-4|0;m=l+72|0;s=31-w|0;n=(c[P+(o+(u>>>2)<<2)>>2]|0)>>>s&1;o=(c[P+(o<<2)>>2]|0)>>>s&1;V=c[P+(j<<2)>>2]|0;p=V>>>(30-w|0)&1;q=V>>>(31-(t>>>2)+~w|0)&1;s=V>>>s&1;do if(!(x&65536)){if(y){gh(f,k,m,l,18,E,n,o,q,p,s,O);j=(c[z>>2]|0)>>>17&3;if((j|0)!=1?(z=e[K>>1]|0,V=E+2|0,y=e[V>>1]|0,b[E>>1]=(e[E>>1]|0)+(e[O>>1]|0),b[V>>1]=y+z,(j|0)==0):0)break;z=e[J>>1]|0;x=E+4|0;V=E+6|0;y=e[V>>1]|0;b[x>>1]=(e[x>>1]|0)+(e[I>>1]|0);b[V>>1]=y+z;break}hh(f,k,m,18,E,x>>>25&7,x>>>28&3,t,u,w<<2,j<<2,v,n,o,q,p,s);j=c[z>>2]|0;if((j&393216|0)==262144){V=j>>>25&7;if(!((A|0)==8&(V|0)==1)?!((B|0)==8&(V|0)==2):0)break;c[z>>2]=j&-393217}}while(0);V=c[H>>2]|0;j=c[V+1068+((a[E+9>>0]|0)*12|0)>>2]|0;a[E+10>>0]=a[(c[V+876+((a[E+8>>0]|0)*12|0)>>2]|0)+22>>0]|0;if(!(a[V+76>>0]|0))a[E+11>>0]=a[j+22>>0]|0;o=A>>>2;k=(1<<o)+-1<<32-o>>>(C+1|0);n=B>>>2;j=0;do{j=j+1|0;V=P+(j+D<<2)|0;c[V>>2]=c[V>>2]|k}while((j|0)!=(n|0));m=F+N|0;j=C+19+(D*18|0)|0;l=0;while(1){k=0;do{c[Q+(k+j<<2)>>2]=m;k=k+1|0}while((k|0)!=(o|0));l=l+1|0;if((l|0)==(n|0))break;else j=j+18|0}F=F+1|0;if((F|0)==(T|0))break;else E=E+16|0}}c[i>>2]=c[g+(R+-1<<2)>>2];if(!M){Sb=U;return T|0}j=R;k=R*18|1;l=0;while(1){j=j+18|0;c[h+(l<<2)>>2]=c[Q+(j<<2)>>2];c[g+(l<<2)>>2]=c[Q+(k<<2)>>2];l=l+1|0;if((l|0)==(R|0))break;else k=k+1|0}n=c[Q+76>>2]|0;if(!M){Sb=U;return T|0}j=19;k=0;m=0;while(1){l=0;do{a[S+(l+k)>>0]=(c[Q+(l+j<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(R|0));m=m+1|0;if((m|0)==(R|0))break;else{j=j+18|0;k=k+R|0}}Sb=U;return T|0}function Xg(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;ua=c[e>>2]|0;za=c[e+48>>2]|0;f=c[e+40>>2]|0;Ha=c[e+44>>2]|0;Ia=e+4|0;va=e+8|0;wa=(r(c[va>>2]|0,b[Ha+4118>>1]|0)|0)+(c[Ia>>2]|0)|0;xa=c[e+84>>2]|0;wa=(c[xa+(c[e+680>>2]<<2)>>2]|0)-(c[xa+(wa<<2)>>2]|0)|0;xa=c[ua+20>>2]|0;ya=c[e+188>>2]|0;Aa=c[e+192>>2]|0;Ba=c[e+232>>2]|0;Ca=c[e+236>>2]|0;Da=(c[ua+64>>2]|0)==12;Ea=za+76|0;if((d[Ea>>0]|0)>=2)J(42160,42241,190,42269);if((wa|0)<=0)return;Fa=Ha+4116|0;Ga=f+22|0;ja=f+23|0;ka=Ha+2|0;la=ua+11608|0;ma=0-xa|0;na=za+258|0;oa=ua+12220|0;pa=za+259|0;qa=ua+12232|0;ra=ua+12224|0;sa=ua+12228|0;ta=ua+12240|0;q=0;A=0;B=0;g=0;E=0;ha=c[e+76>>2]|0;ia=0;y=0;e=0;x=0;o=0;w=0;s=0;u=0;t=0;p=0;v=0;m=0;l=0;f=0;k=0;j=0;i=0;h=0;while(1){aa=ha+12|0;n=c[aa>>2]|0;a:do if(!(n&65536)){ca=a[Fa>>0]|0;ba=(c[Ia>>2]<<ca)+(n<<2&60)|0;ca=(c[va>>2]<<ca)+(n>>>2&60)|0;da=(n>>>6&60)+4|0;C=a[((a[Ea>>0]|0)==1?Ga:ja)>>0]|0;ga=n>>>17&3;D=(ga|0)==2;if((ga|0)==1){$=q;z=e;ea=s;fa=v;ga=l}else{ga=a[ha+8>>0]|0;$=c[za+876+(ga*12|0)>>2]|0;f=c[$>>2]|0;$=c[$+4>>2]|0;z=b[za+452+(ga<<1)>>1]|0;o=b[za+388+(ga<<1)>>1]|0;ea=b[za+324+(ga<<1)>>1]|0;t=b[za+420+(ga<<1)>>1]|0;fa=b[za+356+(ga<<1)>>1]|0;ga=b[za+292+(ga<<1)>>1]|0}if(!(n&393216)){Z=u;_=m}else{_=a[ha+9>>0]|0;B=c[za+1068+(_*12|0)>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;y=b[za+676+(_<<1)>>1]|0;x=b[za+612+(_<<1)>>1]|0;w=b[za+548+(_<<1)>>1]|0;Z=b[za+644+(_<<1)>>1]|0;p=b[za+580+(_<<1)>>1]|0;_=b[za+516+(_<<1)>>1]|0}I=ha+4|0;K=-284-(ba<<2)|0;L=ha+6|0;M=-284-(ca<<2)|0;U=r(ca,xa)|0;N=Ba+U|0;O=ha+2|0;Y=C<<24>>24!=0;P=D|Y;Q=(P&1)<<2|1;R=P?10:9;S=(ba|0)/2|0;T=(ca|0)/2|0;U=Ca+((U|0)/2|0)|0;V=P?da:xa;X=D&Y;Y=Y&(D^1);W=da>>>1;H=D&C<<24>>24==0;m=(n>>>10&60)+4|0;l=0;e=E;while(1){G=(l|0)==0;E=n&393216;u=(E|0)==131072;do if(G){if(!u){g=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;g=(n|0)<(g|0)?n:(K|0)>(g|0)?K:g;F=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;F=(q|0)<(F|0)?q:(M|0)>(F|0)?M:F;s=c[la>>2]&3;j=s&g;k=s&F;g=f+(r((F>>2)+ca|0,xa)|0)+((g>>2)+ba)|0;if(!E){q=37152;s=8;n=N;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&3}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37152;C=8;e=A+(r((i>>2)+ca|0,xa)|0)+((h>>2)+ba)|0;n=N;i=s&i;h=s&h;F=21}else{if(!u){j=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;j=(n|0)<(j|0)?n:(K|0)>(j|0)?K:j;k=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;k=(q|0)<(k|0)?q:(M|0)>(k|0)?M:k;g=$+(r((k>>3)+T|0,xa)|0)+((j>>3)+S<<1)|0;s=c[la>>2]&7;j=s&j;k=s&k;if(!E){q=37088;s=4;n=U;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&7}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37088;C=4;e=B+(r((i>>3)+T|0,xa)|0)+((h>>3)+S<<1)|0;n=U;i=s&i;h=s&h;F=21}while(0);if((F|0)==20){n=n+ba|0;F=23}else if((F|0)==21){n=n+ba|0;if(u){D=l*11|0;u=0;v=0;s=C;C=D;D=D+Q|0;F=24}else{s=C;F=23}}if((F|0)==23){F=0;C=l*11|0;D=C+Q|0;Ja=(j|0)!=0;u=(k|0)!=0;v=c[ua+11640+(D+(Ja?2:0)+(u&1)<<2)>>2]|0;u=c[ua+11640+((Ja&u?R:0)+C<<2)>>2]|0;if(!E){E=0;C=0;D=n}else F=24}if((F|0)==24){F=0;Ka=(h|0)!=0;Ja=(i|0)!=0;E=c[ua+11640+((Ka&Ja?R:0)+C<<2)>>2]|0;C=c[ua+11640+(D+(Ka?2:0)+(Ja&1)<<2)>>2]|0;D=n}if(v|0){Ja=(j|0)!=0;Ka=(k|0)==0|Ja^1;n=g+(r((s>>>1)+-1|0,ma)|0)|0;fc[v&31](Ka?g:n,Ka?(P?ya:D):ya,xa,P?da:Ka?xa:da,Ja?q+(j<<3)|0:q+(k<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(u|0){Ka=ya+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[u&31](Ka,P?ya:D,da,V,q+(k<<3)|0,m>>l,da>>>l)}if(C|0){Ja=(h|0)!=0;Ka=(i|0)==0|Ja^1;v=e+(r((s>>>1)+-1|0,ma)|0)|0;fc[C&31](Ka?e:v,Ka?(P?Aa:D):Aa,xa,P?da:Ka?xa:da,Ja?q+(h<<3)|0:q+(i<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(E|0){Ka=Aa+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[E&31](Ka,P?Aa:D,da,V,q+(i<<3)|0,m>>l,da>>>l)}do if(X){u=G^1;v=(j|0)==0|u|(k|0)==0?0:8192;u=(h|0)==0|u|(i|0)==0?0:8192;if(G){mc[c[oa>>2]&1](ya,Aa,D,da,da,xa,ga,ea,_,w,(a[na>>0]|0)+7|0,v,u,m,da);l=1;break}n=(a[pa>>0]|0)+7|0;q=c[qa>>2]|0;s=m>>1;if(Da){nc[q&1](ya,Aa,D,da,da,xa,t,fa,z,o,Z,p,y,x,n,v,u,s,W);F=47;break}else{nc[q&1](ya,Aa,D,da,da,xa,fa,t,o,z,p,Z,x,y,n,v,u,s,W);F=47;break}}else{if(!Y){if(!H){F=47;break}F=G^1;m=m>>(F&1);ic[c[ra>>2]&7](ya,Aa,D,da,da,xa,(j|0)==0|F|(k|0)==0?0:8192,(h|0)==0|F|(i|0)==0?0:8192,m,da);F=47;break}u=(c[aa>>2]&393216|0)==0;v=((u?j:h)|0)==0|G^1|((u?k:i)|0)==0?0:8192;if(G){ic[c[sa>>2]&7](u?ya:Aa,D,da,xa,u?ga:_,u?ea:w,(a[na>>0]|0)+6|0,v,m,da);l=1;break}n=(a[pa>>0]|0)+6|0;q=c[ta>>2]|0;s=u?ya:Aa;if(Da){kc[q&7](s,D,da,xa,u?t:Z,u?fa:p,u?z:y,u?o:x,n,v,m>>1,W);F=47;break}else{kc[q&7](s,D,da,xa,u?fa:p,u?t:Z,u?o:x,u?z:y,n,v,m>>1,W);F=47;break}}while(0);if((F|0)==47){l=l+1|0;if((l|0)==2){q=$;s=ea;u=Z;n=fa;m=_;l=ga;break a}}n=c[aa>>2]|0}}else{z=e;n=v;e=E}while(0);ia=ia+1|0;if((ia|0)==(wa|0))break;else{E=e;ha=ha+16|0;e=z;v=n}}return}function Yg(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+44>>2]|0;j=b[l+4118>>1]|0;h=(r(c[a+8>>2]|0,j)|0)+(c[a+4>>2]|0)|0;k=c[a+28>>2]|0;if((c[(c[a>>2]|0)+24>>2]|0)==1){i=(h|0)%142560|0;f=i+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;h=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(h,j)|0;f=f+(d[k>>0]|0)|0;break}if((h|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0)break;f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(i<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}f=h+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;f=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(f,j)|0;f=f+(d[k>>0]|0)|0;break}if((f|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0){f=((h|0)%142560|0)+1|0;break}f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(h<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}function Zg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;y=c[f>>2]|0;G=c[f+4>>2]|0;w=a[y+33>>0]|0;z=f+16|0;D=a[(c[z>>2]|0)+174>>0]|0;t=c[f+20>>2]|0;I=a[G+4116>>0]|0;J=I<<24>>24;H=1<<J;A=G+4118|0;g=b[A>>1]|0;s=(J<<1)+-7|0;E=f+24|0;x=c[E>>2]|0;v=x<<s;B=f+28|0;C=c[B>>2]|0;L=r(C,g+1<<s)|0;K=(c[f+48>>2]|0)+v+L|0;L=(c[f+52>>2]|0)+v+L|0;v=J+-3|0;u=g<<v;v=(c[f+60>>2]|0)+((r(C,u)|0)+x<<v)|0;x=(r(C,g)|0)+x|0;x=1<<(x&7)&d[(c[f+56>>2]|0)+(x>>3)>>0];g=c[K>>2]|0;C=(H|0)/2|0;h=-1>>>(32-C|0);i=c[L>>2]&h;s=1<<s;Uk(K|0,0,s+(H>>5<<1)|0)|0;Uk(L|0,0,s|0)|0;if(c[E>>2]|0)c[K>>2]=c[K>>2]|g&h;if(c[B>>2]|0)c[L>>2]=c[L>>2]|i;q=f+64|0;if(x|0)a[v>>0]=c[c[q>>2]>>2]<<9>>25;if((t|0)>0){p=J+-2|0;s=7-J|0;if(I<<24>>24==6){m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;h=g>>>4&15;i=4<<(g>>>8&7);k=i>>>2;i=-1431655766>>>(32-(i>>>1)|0);j=g&1;if(!j){p=K+(o>>>s<<2)|0;c[p>>2]=c[p>>2]|i<<(h<<1)}if((g&16|0)==0?(p=L+(h>>>s<<2)|0,c[p>>2]=c[p>>2]|i<<(o<<1),(j|x|0)==0):0){l=k+h|0;j=k+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<l>>>0)}m=m+1|0}while((m|0)!=(t|0))}else{m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;i=g>>>4;h=i&15;j=4<<(g>>>8&7);l=j>>>2;j=-1431655766>>>(32-(j>>>1)|0);k=g&1;if(!k){M=K+(o>>>s<<2)|0;c[M>>2]=c[M>>2]|j<<(h<<1)+((g&2)<<p)}if((g&16|0)==0?(M=L+(h>>>s<<2)|0,c[M>>2]=c[M>>2]|j<<((i&2)<<p)+(o<<1),(k|x|0)==0):0){k=l+h|0;j=l+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<k>>>0)}m=m+1|0}while((m|0)!=(t|0))}}m=w<<24>>24==0;a:do if(!(a[y+27>>0]|0)){if(!(m?!(c[f+32>>2]|0):0))F=32;do if((F|0)==32){if((D<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[E>>2]|0)break a}while(0);c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}else{if(m?(c[f+32>>2]|0)==0:0){c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C);break}k=c[E>>2]|0;g=(r(c[B>>2]|0,b[A>>1]|0)|0)+k|0;h=c[f+96>>2]|0;i=b[h+(g<<1)>>1]|0;j=i&65535;k=(k|0)==0;if(!k){g=b[h+(g+-1<<1)>>1]|0;if(g<<16>>16==i<<16>>16?(a[(c[z>>2]|0)+75>>0]|0)==1:0)break;else g=g&65535}else g=-1;if(D<<24>>24!=0|(g|0)==(j|0)){if(!k)break}else if(c[f+44>>2]|0?!(k|(c[f+32>>2]|0)==0):0)break;c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}while(0);g=c[E>>2]|0;h=c[B>>2]|0;i=b[A>>1]|0;k=(r(h,i)|0)+g|0;j=c[f+96>>2]|0;k=e[j+(k<<1)>>1]|0;l=(h|0)==0;if(l)i=-1;else i=e[j+((r(h+-1|0,i)|0)+g<<1)>>1]|0;if(m?(c[f+36>>2]|0)==0:0)F=52;else if(l|D<<24>>24==0&(i|0)!=(k|0))F=52;if((F|0)==52){c[L>>2]=c[L>>2]&(I<<24>>24==6?0:-1<<C);h=c[B>>2]|0;g=c[E>>2]|0}i=(b[G+2>>1]|0)-(h<<J)>>3;h=(b[G>>1]|0)-(g<<J)>>3;g=H>>3;if((i|0)<(g|0)){M=J+-4|0;Uk(L+((I<<24>>24==6?0:(i&1)<<M)+(i>>6-J<<2))|0,0,1<<M|0)|0}if((h|0)>=(g|0))return 0;M=J+-4|0;Uk(K+((I<<24>>24==6?0:(h&1)<<M)+(h>>6-J<<2))|0,0,1<<M|0)|0;return 0}function _g(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;O=c[f+4>>2]|0;H=c[f>>2]|0;S=a[O+4116>>0]|0;T=S<<24>>24;P=1<<T;F=O+4118|0;G=b[F>>1]|0;A=(T<<1)+-7|0;g=G+1<<A;M=f+24|0;E=c[M>>2]|0;h=E<<A;J=f+28|0;I=c[J>>2]|0;R=r(I,g)|0;Q=(c[f+48>>2]|0)+h+R|0;R=(c[f+52>>2]|0)+h+R|0;h=c[Q>>2]|0;K=(P|0)/2|0;i=-1>>>(32-K|0);j=c[R>>2]&i;B=f+64|0;D=T+-3|0;C=G<<D;D=(c[f+60>>2]|0)+((r(I,C)|0)+E<<D)|0;E=(r(I,G)|0)+E|0;E=1<<(E&7)&d[(c[f+56>>2]|0)+(E>>3)>>0];G=a[H+33>>0]|0;I=f+16|0;L=a[(c[I>>2]|0)+174>>0]|0;A=1<<A;Uk(Q|0,0,A+(P>>4)|0)|0;Uk(R|0,0,A|0)|0;if(c[M>>2]|0)c[Q>>2]=c[Q>>2]|h&i;if(c[J>>2]|0)c[R>>2]=c[R>>2]|j;y=R+g|0;c[y>>2]=0;m=(r(c[J>>2]|0,b[F>>1]|0)|0)+(c[M>>2]|0)|0;z=f+8|0;A=c[f+68>>2]|0;m=(c[A+(c[f+92>>2]<<2)>>2]|0)-(c[A+(((c[(c[z>>2]|0)+24>>2]|0)==1?(m|0)%142560|0:m)<<2)>>2]|0)|0;if(E|0)a[D>>0]=c[c[B>>2]>>2]<<9>>25;if((m|0)>0){A=S<<24>>24==6;o=T+-2|0;p=7-T|0;q=(P|0)/8|0;s=(64>>>T)+-1|0;t=T+-1|0;n=0;do{u=(c[B>>2]|0)+(n<<2)|0;j=c[u>>2]|0;v=j&15;k=j>>>4;g=k&15;h=4<<(j>>>8&7);x=h>>>2;w=x+v|0;x=x+g|0;l=(c[M>>2]<<T)+(v<<2)|0;if(1<<(l>>>3&7)&d[(c[(c[z>>2]|0)+212>>2]|0)+(r(((b[O>>1]|0)+63|0)/64|0,(c[J>>2]<<T)+(g<<2)>>3)|0)+(l>>6)>>0]|0){i=-1431655766>>>(32-(h>>>1)|0);if(!(j&1)){l=Q+(v>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(g<<1)+(A?0:(j&2)<<o)}if(!(j&16)){l=R+(g>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(A?0:(k&2)<<o)+(v<<1)}}do if(c[u>>2]&2048){l=1431655765>>>(32-(h>>>1)|0);i=j&1;if(!i){h=Q+(v>>>p<<2)|0;c[h>>2]=c[h>>2]|l<<(g<<1)+(A?0:(j&2)<<o)}h=j&16;if(!h){j=R+(g>>>p<<2)|0;c[j>>2]=c[j>>2]|l<<(A?0:(k&2)<<o)+(v<<1)}do if(!(w&1)){j=w>>>1;if((q|0)==(j|0)?(c[M>>2]|0)==((b[F>>1]|0)+-1|0):0)break;k=Q+(w>>>p<<2)|0;c[k>>2]=c[k>>2]|l<<((j&s)<<t)+(g<<1)}while(0);if(!(x&1)){j=x>>>1;k=v<<1;if((q|0)==(j|0)){c[y>>2]=c[y>>2]|l<<k;break}else{U=R+(x>>>p<<2)|0;c[U>>2]=c[U>>2]|l<<((j&s)<<t)+k;break}}}else{i=j&1;h=j&16}while(0);if(!(i|E|h))do{i=r(g>>>1,C)|0;h=v;do{a[D+((h>>1)+i)>>0]=c[u>>2]<<9>>25;h=h+2|0}while(h>>>0<w>>>0);g=g+2|0}while(g>>>0<x>>>0);n=n+1|0}while((n|0)!=(m|0))}F=b[F>>1]|0;y=(r(c[J>>2]|0,F)|0)+(c[M>>2]|0)|0;U=c[f+72>>2]|0;y=(c[U+(c[f+88>>2]<<2)>>2]|0)-(c[U+(y<<2)>>2]|0)|0;if((y|0)>0){z=f+84|0;A=f+80|0;B=S<<24>>24==6;C=T+-2|0;D=7-T|0;x=c[f+76>>2]|0;w=0;do{v=x+(w<<4)|0;p=x+(w<<4)+12|0;k=c[p>>2]|0;g=k&15;j=k>>>4;i=j&15;h=(k>>>8&15)+1|0;l=(k>>>12&15)+1|0;E=h+g|0;u=l+i|0;a:do if(!(k&65536)){b:do if((c[M>>2]|0)!=(0-g|0)){t=g+18|0;n=B?0:(k&2)<<C;o=Q+(g>>>D<<2)|0;q=c[z>>2]|0;s=c[A>>2]|0;if(k&1|0){j=l;k=i;while(1){p=c[s+(c[q+(t+(k*18|0)<<2)>>2]<<4)+12>>2]|0;p=(p>>>12&15)+1+(p>>>4&15)|0;U=k;k=p>>>0<u>>>0?p:u;j=j+(U-k)|0;if((j|0)<=0)break b}}do{j=c[q+(t+(i*18|0)<<2)>>2]|0;U=c[s+(j<<4)+12>>2]|0;m=(U>>>12&15)+1+(U>>>4&15)|0;k=i;i=m>>>0<u>>>0?m:u;m=i-k|0;if(!(U&65536)){if(fh(v,s+(j<<4)|0)|0){j=1431655765;N=47}}else{j=-1431655766;N=47}if((N|0)==47){N=0;c[o>>2]=c[o>>2]|j>>>(32-(m<<1)|0)<<(k<<1)+n}l=l-m|0}while((l|0)>0);i=(c[p>>2]|0)>>>4&15}while(0);if((c[J>>2]|0)!=(0-i|0)){p=i*18|1;l=B?0:(i&2)<<C;m=R+(i>>>D<<2)|0;n=c[z>>2]|0;o=c[A>>2]|0;if(i&1|0)while(1){v=c[o+(c[n+(p+g<<2)>>2]<<4)+12>>2]|0;v=(v&15)+1+(v>>>8&15)|0;U=g;g=v>>>0<E>>>0?v:E;h=h+(U-g)|0;if((h|0)<=0)break a}do{i=c[n+(p+g<<2)>>2]|0;U=c[o+(i<<4)+12>>2]|0;k=(U&15)+1+(U>>>8&15)|0;j=g;g=k>>>0<E>>>0?k:E;k=g-j|0;if(!(U&65536)){if(fh(v,o+(i<<4)|0)|0){i=1431655765;N=57}}else{i=-1431655766;N=57}if((N|0)==57){N=0;c[m>>2]=c[m>>2]|i>>>(32-(k<<1)|0)<<(j<<1)+l}h=h-k|0}while((h|0)>0)}}else{if(!(k&1)){U=Q+(g>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(l<<1)|0)<<(i<<1)+(B?0:(k&2)<<C)}if(!(k&16)){U=R+(i>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(h<<1)|0)<<(B?0:(j&2)<<C)+(g<<1)}}while(0);w=w+1|0}while((w|0)!=(y|0))}l=G<<24>>24==0;c:do if(!(a[H+27>>0]|0)){if(!(l?!(c[f+32>>2]|0):0))N=64;do if((N|0)==64){if((L<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[M>>2]|0)break c}while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}else{if(l?(c[f+32>>2]|0)==0:0){c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K);break}g=c[M>>2]|0;h=c[f+96>>2]|0;i=(g|0)==0;if(!i){g=(r(c[J>>2]|0,F)|0)+g|0;g=(b[h+(g+-1<<1)>>1]|0)==(b[h+(g<<1)>>1]|0);if(g&(a[(c[I>>2]|0)+75>>0]|0)==1)break}else g=0;do if(!(L<<24>>24)){if((c[f+40>>2]|0)==0?(c[f+44>>2]|0)==0:0)break;if(!(i|(g|(c[f+32>>2]|0)!=0)^1))break c}else if(!i)break c;while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}while(0);g=c[M>>2]|0;h=c[J>>2]|0;j=(r(h,F)|0)+g|0;i=c[f+96>>2]|0;j=e[i+(j<<1)>>1]|0;k=(h|0)==0;if(k)i=-1;else i=e[i+((r(h+-1|0,F)|0)+g<<1)>>1]|0;if(l?(c[f+36>>2]|0)==0:0)N=85;else if(k|L<<24>>24==0&(i|0)!=(j|0))N=85;if((N|0)==85){c[R>>2]=c[R>>2]&(S<<24>>24==6?0:-1<<K);h=c[J>>2]|0;g=c[M>>2]|0}i=(b[O+2>>1]|0)-(h<<T)>>3;h=(b[O>>1]|0)-(g<<T)>>3;g=P>>3;if((i|0)<(g|0)){U=T+-4|0;Uk(R+((S<<24>>24==6?0:(i&1)<<U)+(i>>6-T<<2))|0,0,1<<U|0)|0}if((h|0)>=(g|0))return 0;U=T+-4|0;Uk(Q+((S<<24>>24==6?0:(h&1)<<U)+(h>>6-T<<2))|0,0,1<<U|0)|0;return 0}function $g(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f+48>>2]|0;l=c[f+28>>2]|0;h=c[f+44>>2]|0;o=f+12|0;c[o>>2]=(c[o>>2]|0)+g;o=f+4|0;j=(c[o>>2]|0)+g|0;c[o>>2]=j;o=f+20|0;n=(c[o>>2]|0)+g|0;c[o>>2]=n;if(!(a[(c[f+40>>2]|0)+27>>0]|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}m=b[i+872>>1]|0;k=b[h+4118>>1]|0;h=(r(k,b[i+874>>1]|0)|0)+m|0;i=d[l>>0]|0;if((h|0)>=((r(d[l+1>>0]|0,k)|0)+i|0)){if((n|0)<(e[l+2>>1]|0))return;n=f+24|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=0;return}if((j|0)>(m|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h+i|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}else{h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(k-m+i+h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}}function ah(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=Sb;Sb=Sb+272|0;na=Ma+160|0;sa=Ma+252|0;ya=Ma+248|0;Ba=Ma+244|0;Fa=Ma+240|0;Ga=Ma+236|0;Ha=Ma+232|0;Ia=Ma+258|0;Ja=Ma+256|0;oa=Ma+144|0;pa=Ma;qa=c[e+44>>2]|0;p=c[e+40>>2]|0;o=c[e+48>>2]|0;ra=c[e>>2]|0;ta=c[e+256>>2]|0;ua=c[e+260>>2]|0;va=c[e+244>>2]|0;wa=qa+4116|0;u=a[wa>>0]|0;n=u<<24>>24;xa=1<<n;La=e+64|0;g=c[La>>2]|0;za=c[ra+20>>2]|0;Aa=c[e+240>>2]|0;q=c[e+68>>2]|0;if((a[qa+54>>0]|0)==1?(a[p+40>>0]|0)==1:0)f=p;else f=qa+8968|0;ma=c[f>>2]|0;i=a[e+251>>0]|0;k=a[e+250>>0]|0;l=a[e+248>>0]|0;m=a[e+249>>0]|0;f=na;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));la=e+8|0;t=c[la>>2]|0;ka=(b[qa+2>>1]|0)-(t<<n)|0;ka=(xa|0)<(ka|0)?xa:ka;j=(ka|0)/4|0;if((ka|0)>3){h=(i&255)<<31;f=0;do{f=f+1|0;c[na+(f<<2)>>2]=h}while((f|0)!=(j|0))}ja=(xa|0)/4|0;s=b[qa>>1]|0;ka=e+4|0;j=c[ka>>2]|0;f=(s<<16>>16)-(j<<n)|0;f=(xa|0)<(f|0)?xa:f;c[na>>2]=(l<<24>>24==1?(1<<((f|0)/4|0))+-1<<31-ja+((xa-f|0)/4|0):0)|((m&255)<<31>>>(ja+1|0)|(k&255)<<31);ja=e+252|0;f=c[ja>>2]|0;if((f|0)<=0){Ja=g;Ka=f;c[La>>2]=Ja;Sb=Ma;return Ka|0}ga=ra+64|0;ha=e+128|0;ia=p+19|0;ea=o+168|0;fa=p+20|0;da=o+169|0;W=p+15|0;X=0-za|0;Y=oa+4|0;Z=oa+8|0;_=ra+12008|0;$=ra+12012|0;aa=qa+161|0;ba=ra+12004|0;ca=ra+12e3|0;h=0;v=0;k=u;i=t;f=s;while(1){c[sa>>2]=0;c[ya>>2]=0;c[Ba>>2]=0;c[Fa>>2]=0;c[Ga>>2]=0;c[Ha>>2]=0;t=(c[ga>>2]|0)==12;U=t&1;V=t?-2:0;l=c[q>>2]|0;p=l<<2&60;s=l>>>2&60;S=k<<24>>24;T=(j<<S)+p|0;T=1<<(T>>>3&7)&d[(c[ha>>2]|0)+(r(((f<<16>>16)+63|0)/64|0,(i<<S)+s>>3)|0)+(T>>6)>>0];S=l>>>23&63;R=l>>>29;u=R&255;R=(R|0)==7?1:2;T=(T|0)!=0;if((S|0)==63&T){m=4<<(l>>>8&7);n=ta+((r(s,za)|0)+p)|0;o=(r(s>>>1,za)|0)+p|0;k=ua+o|0;g=g+6|0;if((m|0)>0){j=r(m,m)|0;f=0;i=g;while(1){Sk(n+(r(f,za)|0)|0,i|0,m|0)|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+m|0}g=g+j|0}k=k+U|0;l=m>>>1;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);k=k+1+V|0;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);Q=0;i=m;P=o}else{Q=1;i=0;n=ta+((r(s,za)|0)+p)|0;P=(r(s>>>1,za)|0)+p|0}N=p+-4+(r((s+-4|0)/2|0,za)|0)|0;O=T?0:3;L=t<<31>>31;M=36736+(S<<2)|0;o=0;K=0;f=u;s=0;p=0;m=0;l=0;j=i;i=v;do{do if(Q){C=(K|0)==0;B=c[q>>2]|0;u=B>>>8&7;if(C){v=u+2|0;t=4<<u;y=T&(u|0)==0;w=u+1|0;k=y?u:w;x=B<<9>>25;j=a[g+1>>0]&1;if(!(B&2048)){J=j;I=0;G=n;H=v;D=k;E=m;F=l}else{A=(x|0)/6|0;J=j;I=1;G=n;H=v;D=k;E=m;F=l;g=dh(va,v,g,ma+(c[36880+((u*6|0)+(T?0:(u|0)==3?1:3)<<2)>>2]<<1)|0,x-(A*6|0)|0,A,y?0:w,B>>>15&1,sa,Ba,Ga,Ia)|0}}else{o=(u|0)==0;y=o?0:u+-1|0;v=y+2|0;t=1<<v;w=va+(t<<v<<1)|0;o=ua+(o?N:P)+U|0;u=o+1+V|0;j=K+O+(y*6|0)|0;x=ma+(c[36880+(j+1<<2)>>2]<<1)|0;p=y+5|0;p=(p|0)<7?p:7;y=y+1|0;m=B>>>12&1;z=B<<9>>25;k=z+(a[ia>>0]|0)+(a[ea>>0]|0)|0;k=(k|0)>0?k:0;k=b[36352+(((k|0)<57?k:57)<<1)>>1]|0;s=B>>>13&1;z=z+(a[fa>>0]|0)+(a[da>>0]|0)|0;z=(z|0)>0?z:0;z=b[36352+(((z|0)<57?z:57)<<1)>>1]|0;A=(z|0)/6|0;l=a[g+1>>0]&1;if(!m)j=l;else{J=(k|0)/6|0;j=dh(va,v,g,ma+(c[36880+(j<<2)>>2]<<1)|0,k-(J*6|0)|0,J,y,B>>>15&1,sa,Ba,Ga,Ia)|0;g=j;j=a[j+1>>0]&1}if(!s){J=l;I=m;G=o;H=v;o=j;D=p;s=0;p=u;E=u;F=w}else{J=l;I=m;G=o;H=v;o=j;D=p;s=s&255;p=u;E=u;F=w;g=dh(w,v,g,x,z-(A*6|0)|0,A,y,(c[q>>2]|0)>>>15&1,ya,Fa,Ha,Ja)|0}}if(T)if(C){m=eh(e,q,na,b[qa>>1]|0,a[W>>0]|0,t,xa)|0;if((t|0)==4){C=c[q>>2]|0;c[oa+((C>>>3&2|C&1)<<2)>>2]=m}i=(c[q>>2]&17|0)==0?m:i;j=G+X|0;k=G+-1|0;l=j+-1|0;if((m|0)==131071)gc[c[_>>2]&3](l,j,k,za,t,131071,pa,1);else gc[c[ba>>2]&3](l,j,k,za,t,m,pa,1);dc[c[$>>2]&7](pa,t,pa,S,a[aa>>0]|0);ec[c[ra+11728+(c[M>>2]<<2)>>2]&31](pa,1,G,za,t,S)}else{m=G+L|0;j=c[q>>2]|0;if(!(j&1792))i=c[Y>>2]&61440|c[oa>>2]&69616|c[Z>>2]&15;l=m+-2|0;if(!(j&16384)){j=q;do{j=j+-4|0;k=c[j>>2]|0}while(!(k&16384|0));j=k}k=m+X|0;j=j>>>23&63;if(f<<24>>24==4)f=j&255;else{f=a[41107+(f&255)>>0]|0;f=(j|0)==(f&255|0)?34:f}gc[c[ca>>2]&3](k+-2|0,k,l,za,t,i,pa,1);C=f&255;ec[c[ra+11772+(c[36736+(C<<2)>>2]<<2)>>2]&31](pa,1,m,za,t,C)}do if((I|0)==1){if(c[q>>2]&32768|J|0){fc[c[ra+11848+(D<<2)>>2]&31](va,G,G,t,za,za,c[sa>>2]|0);break}if(!(c[Ga>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](va,Aa,G,G,t,za,za,c[sa>>2]|0,c[Ba>>2]|0);break}else{ec[c[ra+11880+(K<<2)>>2]&31](G,G,za,za,H,b[Ia>>1]|0);break}}while(0);if((K|0)!=0&s<<24>>24==1){if(c[q>>2]&32768|o|0){fc[c[ra+11848+(D<<2)>>2]&31](F,E,p,t,za,za,c[ya>>2]|0);s=1;m=E;l=F;j=t;break}if(!(c[Ha>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](F,Aa,E,p,t,za,za,c[ya>>2]|0,c[Fa>>2]|0);s=1;m=E;l=F;j=t;break}else{ec[c[ra+11880+(K<<2)>>2]&31](E,p,za,za,H,b[Ja>>1]|0);s=1;m=E;l=F;j=t;break}}else{m=E;l=F;j=t;k=f;Ka=63}}else{k=f;Ka=63}while(0);if((Ka|0)==63){Ka=0;if(((K|0)==0?(Ca=(j|0)/4|0,Da=c[q>>2]|0,Ea=(1<<Ca)+-1<<32-Ca>>>((Da&15)+1|0),(j|0)>3):0)?(J=na+((Da>>>4&15)+1<<2)|0,c[J>>2]=c[J>>2]|Ea,(j&-4|0)!=4):0){f=1;do{f=f+1|0;J=na+(f+((c[q>>2]|0)>>>4&15)<<2)|0;c[J>>2]=c[J>>2]|Ea}while((f|0)!=(Ca|0));f=k}else f=k}K=K+1|0}while(K>>>0<R>>>0);h=h+1|0;f=c[ja>>2]|0;if((h|0)>=(f|0))break;q=q+4|0;v=i;k=a[wa>>0]|0;j=c[ka>>2]|0;i=c[la>>2]|0;f=b[qa>>1]|0}c[La>>2]=g;Sb=Ma;return f|0}function bh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=Sb;Sb=Sb+32|0;p=za;qa=c[f+160>>2]|0;ja=c[f+4>>2]|0;ta=c[f>>2]|0;ka=f+8|0;ra=c[ka>>2]|0;pa=c[f+12>>2]|0;oa=a[ja+4116>>0]|0;la=oa<<24>>24;ua=1<<la;ja=ja+4118|0;ea=b[ja>>1]|0;ma=(la<<1)+-7|0;da=ea+1<<ma;xa=f+116|0;m=c[xa>>2]|0;k=m<<ma;ha=f+120|0;j=c[ha>>2]|0;n=r(j,da)|0;i=(c[f+64>>2]|0)+k+n|0;n=(c[f+68>>2]|0)+k+n|0;k=la+-3|0;ya=ea<<k;l=(c[f+76>>2]|0)+((r(j,ya)|0)+m<<k)|0;m=(r(j,ea)|0)+m|0;ea=(h|0)!=0;j=i+da|0;if(ea){Uk(j|0,0,1<<ma|0)|0;l=l+(ya<<k)|0;i=f+128+(ua>>3<<1)|0;o=m+(b[ja>>1]|0)|0}else{j=i;i=f+128|0;o=m}sa=(g|0)!=0;if(sa){m=1<<ma;k=n+m|0;Uk(k|0,0,m|0)|0;m=ua>>3;l=l+m|0;if(oa<<24>>24!=31){i=0;while(1){b[p+(i<<1)>>1]=(e[f+128+(i<<1)>>1]|0)>>>m;if((i|0)<(m|0))i=i+1|0;else break}}n=k;wa=p;o=o+1|0}else wa=i;k=c[f+72>>2]|0;ia=1<<(o&7)&d[k+(o>>3)>>0];m=c[xa>>2]|0;i=o+-1|0;if(m|g){i=1<<(i&7)&d[k+(i>>3)>>0];if(!(c[ha>>2]|h)){na=0;ga=i}else{na=o-(b[ja>>1]|0)+-1|0;na=1<<(na&7)&d[k+(na>>3)>>0];ga=i}}else{na=0;ga=0}p=c[ha>>2]|0;if(!(p|h))fa=0;else{fa=o-(b[ja>>1]|0)|0;fa=1<<(fa&7)&d[k+(fa>>3)>>0]}va=c[ra+20>>2]|0;aa=(g|0)==0;a:do if(aa?(s=b[ja>>1]|0,t=r(p,s)|0,q=c[ra+304>>2]|0,s=e[(c[f+156>>2]|0)+(m-s+t+(ea?s:0)<<1)>>1]|0,t=c[(c[ka>>2]|0)+20>>2]|0,T=va<<2,U=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(t,p)|0)+m<<la)|0;L=oa<<24>>24==6;M=la+-1|0;N=ua>>>2;O=(1<<M)+-2|0;P=0-da|0;Q=pa+172|0;R=pa+173|0;S=q+(s*1272|0)+172|0;C=q+(s*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=ra+11928|0;H=(ga|0)==0;I=(ia|0)==0;K=0-(va<<la)|0;B=(na|0)==0?l+~ya|0:l+(B-U)|0;m=m+(ea?t<<la:0)+(0-T)|0;i=0;k=j;while(1){A=i&1;q=L?0:A<<M;o=(c[k>>2]|0)>>>q<<2;if(p|h)o=(c[k+P>>2]|0)>>>(O+q|0)&3|o;x=l+(i-ya)|0;y=i+-1|0;z=l+(y-ya)|0;if(!i){x=F?x:E;w=0;while(1){u=a[Q>>0]|0;s=a[R>>0]|0;q=Mk(o|0)|0;q=(o|0)==0?31:q;p=q>>>1;if(!p){if(w){if(H)p=(r(w+-1>>1,ya)|0)+-1|0;else p=D;p=d[l+p>>0]|0;if(I){v=s;t=l+(r(w+-1>>1,ya)|0)|0}else{v=s;t=l}}else{v=a[C>>0]|0;u=a[S>>0]|0;p=d[B>>0]|0;t=x}q=w+1|0;s=e[wa+(q>>1<<1)>>1]|0;if((s&3|0)==3){s=q;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,p,d[t>>0]|0,u<<24>>24,v<<24>>24,s&1^1,s>>>1&1^1);s=q;p=T;q=2}}else{$=p+w|0;s=$;p=r(T,($|0)<(N|0)?p:N-w|0)|0;q=q&62}m=m+p|0;if((N|0)>(s|0)){w=s;o=o>>>q}else break}}else{w=0;while(1){q=a[Q>>0]|0;p=a[R>>0]|0;t=Mk(o|0)|0;t=(o|0)==0?31:t;s=t>>>1;if(!s){do if(!w){q=a[S>>0]|0;p=a[C>>0]|0;if(F){v=d[x>>0]|0;u=d[z>>0]|0;break}else{u=a[E>>0]|0;v=u&255;u=u&255;break}}else if(I){u=r(w+-1>>1,ya)|0;v=d[l+(u+i)>>0]|0;u=d[l+(y+u)>>0]|0;break}else{u=d[l>>0]|0;v=u;break}while(0);s=w+1|0;t=(e[wa+(s>>1<<1)>>1]|0)>>>i;if((t&3|0)==3){u=s;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,u,v,q<<24>>24,p<<24>>24,t&1^1,t>>>1&1^1);u=s;p=T;q=2}}else{p=s+w|0;u=p;p=r(T,(p|0)<(N|0)?s:N-w|0)|0;q=t&62}m=m+p|0;if((N|0)>(u|0)){w=u;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=46;break}case 5:{if(A)ca=46;break}default:{}}if((ca|0)==46){ca=0;k=k+4|0}i=i+1|0;if((i|0)==(U|0))break a;m=m+K+8|0;p=c[ha>>2]|0}}while(0);$=(h|0)==0;b:do if($?(_=c[xa>>2]|0,V=c[ha>>2]|0,Z=r(V,b[ja>>1]|0)|0,Y=c[ra+304>>2]|0,Z=e[(c[f+156>>2]|0)+(_+((sa^1)<<31>>31)+Z<<1)>>1]|0,ba=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(c[(c[ka>>2]|0)+20>>2]|0,V)|0)+_<<la)|0;Q=oa<<24>>24==6;R=la+-1|0;S=ua>>>2;T=(1<<R)+-2|0;U=-1<<ma;V=pa+172|0;W=pa+173|0;X=Y+(Z*1272|0)+172|0;G=Y+(Z*1272|0)+173|0;N=(ua|0)/-8|0;H=l+N|0;I=(ga|0)==0;K=ra+11932|0;L=(fa|0)==0;M=(ia|0)==0;N=r(N,ya)|0;O=0-ua|0;P=va<<3;F=(na|0)==0?l+~ya|0:l+(N-ba)|0;i=n;k=0;m=m+(sa?ua:0)+-4|0;p=_;while(1){E=k&1;q=Q?0:E<<R;o=(c[i>>2]|0)>>>q<<2;if(p|g)o=(c[i+U>>2]|0)>>>(T+q|0)&3|o;B=wa+(k<<1)|0;C=wa+(k+1<<1)|0;D=r(k,ya)|0;y=l+(D+-1)|0;z=r(k+-1|0,ya)|0;A=l+(z+-1)|0;if(!k){x=I?y:H;u=0;while(1){s=a[V>>0]|0;q=a[W>>0]|0;p=Mk(o|0)|0;p=(o|0)==0?31:p;t=p>>>1;if(!t){if(u){if(L)p=(u+-1>>1)-ya|0;else p=N;p=d[l+p>>0]|0;if(M){w=s;v=l+((u+-1>>1)+D)|0}else{w=s;v=l}}else{q=a[G>>0]|0;w=a[X>>0]|0;p=d[F>>0]|0;v=x}s=u+1|0;u=1<<(s>>1);t=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(t|u){hc[c[K>>2]&15](m,va,o&3,p,d[v>>0]|0,w<<24>>24,q<<24>>24,t&1,u&1);q=2;p=4}else{q=2;p=4}}else{_=t+u|0;s=_;q=p&62;p=((_|0)<(S|0)?t:S-u|0)<<2}m=m+p|0;if((S|0)>(s|0)){u=s;o=o>>>q}else break}}else{x=0;while(1){q=a[V>>0]|0;p=a[W>>0]|0;s=Mk(o|0)|0;s=(o|0)==0?31:s;u=s>>>1;if(!u){do if(!x){q=a[X>>0]|0;p=a[G>>0]|0;if(I){v=d[y>>0]|0;w=d[A>>0]|0;break}else{w=d[H>>0]|0;v=w;break}}else if(M){w=x+-1>>1;v=d[l+(w+D)>>0]|0;w=d[l+(w+z)>>0]|0;break}else{w=d[l>>0]|0;v=w;break}while(0);t=x+1|0;u=1<<(t>>1);s=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(s|u){hc[c[K>>2]&15](m,va,o&3,w,v,q<<24>>24,p<<24>>24,s&1,u&1);q=2;p=4}else{q=2;p=4}}else{p=u+x|0;t=p;q=s&62;p=((p|0)<(S|0)?u:S-x|0)<<2}m=m+p|0;if((S|0)>(t|0)){x=t;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=82;break}case 5:{if(E)ca=82;break}default:{}}if((ca|0)==82){ca=0;i=i+4|0}k=k+1|0;if((k|0)==(ba|0))break b;m=m+O+P|0;p=c[xa>>2]|0}}while(0);c:do if(aa){k=c[xa>>2]|0;s=c[ha>>2]|0;m=b[ja>>1]|0;o=r(s,m)|0;i=c[(c[ka>>2]|0)+20>>2]|0;q=(c[f+152>>2]|0)+(((r(i,s)|0)/2|0)+k<<la)|0;if(ea)p=((i|0)/2|0)<<la;else p=0;S=va<<2;T=(ua|0)/16|0;if((ua|0)>15){U=ua>>>3;V=(1<<la+-1)+-2|0;O=0-da|0;P=oa<<24>>24==6?2:1;Q=0-(((va|0)/2|0)<<la)|0;R=pa+173|0;C=(c[ra+304>>2]|0)+((e[(c[f+156>>2]|0)+(k-m+o+(ea?m:0)<<1)>>1]|0)*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=(ga|0)==0;H=(ia|0)==0;I=~ya;K=(qa|0)==0;L=ra+11924|0;M=ta+19|0;N=ta+20|0;B=(na|0)==0?l+I|0:l+(B-U)|0;i=0;o=q+p+(0-S)|0;m=s;d:while(1){k=c[j>>2]<<2;if(m|h)k=(c[j+O>>2]|0)>>>V&3|k;w=(i|0)==0;x=i<<1;y=l+(x-ya)|0;z=l+(x+I)|0;A=x+-1|0;t=0;u=k&572662306;v=o;while(1){p=a[R>>0]|0;k=Mk(u|0)|0;k=(u|0)==0?31:k;m=k>>>2;if(!m){e:do if(!t){k=a[C>>0]|0;do if(w){m=d[B>>0]|0;if(!F){s=d[E>>0]|0;break e}}else if(F){m=d[z>>0]|0;break}else{m=d[E>>0]|0;s=m;break e}while(0);s=d[y>>0]|0}else{do if(w){if(G)k=(r(t+-1|0,ya)|0)+-1|0;else k=D;m=d[l+k>>0]|0;if(H){o=r(t+-1|0,ya)|0;break}else{k=p;s=d[l>>0]|0;break e}}else if(H){o=r(t+-1|0,ya)|0;m=d[l+(A+o)>>0]|0;break}else{m=d[l>>0]|0;k=p;s=m;break e}while(0);k=p;s=d[l+(o+x)>>0]|0}while(0);ea=(e[wa+(t<<1)>>1]|0)>>>x;o=ea&1^1;p=ea>>>1&1^1;do if((ea&3|0)!=3){if(!(u&2))break d;q=c[L>>2]|0;if(K){hc[q&15](v,va,m,s,a[M>>0]|0,a[N>>0]|0,k<<24>>24,o,p);break}else{hc[q&15](v,va,s,m,a[N>>0]|0,a[M>>0]|0,k<<24>>24,p,o);break}}while(0);m=t+1|0;k=S;o=4}else{ea=m+t|0;o=k&60;m=ea;k=r((ea|0)<(U|0)?o:U-t<<2,va)|0}v=v+k|0;if((U|0)<=(m|0))break;else{t=m;u=u>>>o}}i=i+1|0;if((i|0)>=(T|0))break c;j=j+(P<<2)|0;o=v+Q+16|0;m=c[ha>>2]|0}J(42094,42120,600,42143)}}while(0);if(!$){Sb=za;return}k=c[xa>>2]|0;i=c[ha>>2]|0;W=(ua|0)/16|0;if((ua|0)<=15){Sb=za;return}m=(c[f+152>>2]|0)+(((r(c[(c[ka>>2]|0)+20>>2]|0,i)|0)/2|0)+k<<la)|0;N=e[(c[f+156>>2]|0)+(k+((sa^1)<<31>>31)+(r(i,b[ja>>1]|0)|0)<<1)>>1]|0;V=ua>>>3;U=(1<<la+-1)+-2|0;T=-1<<ma;Q=oa<<24>>24==6?2:1;R=0-ua|0;S=va<<3;M=pa+173|0;N=(c[ra+304>>2]|0)+(N*1272|0)+173|0;O=ya<<1;C=(ua|0)/-8|0;P=l+C|0;L=(ga|0)==0;K=(fa|0)==0;I=(ia|0)==0;C=r(C,ya)|0;H=(qa|0)==0;E=ra+11920|0;F=l+C|0;G=ta+19|0;D=ta+20|0;C=(na|0)==0?l+~ya|0:l+(C-V)|0;m=m+(sa?ua:0)+-8|0;i=0;f:while(1){j=c[n>>2]<<2;if(k|g)j=(c[n+T>>2]|0)>>>U&3|j;v=(i|0)==0;A=i<<1;w=wa+(A<<1)|0;x=wa+((A|1)<<1)|0;y=r(O,i)|0;z=l+(y+-1)|0;A=r(A+-1|0,ya)|0;B=l+(A+-1)|0;u=j&572662306;t=m;k=0;while(1){m=a[M>>0]|0;o=Mk(u|0)|0;o=(u|0)==0?31:o;j=o>>>2;if(!j){g:do if(!k){m=a[N>>0]|0;do if(v){j=d[C>>0]|0;if(!L){o=d[P>>0]|0;break g}}else if(L){j=d[B>>0]|0;break}else{o=d[P>>0]|0;j=o;break g}while(0);o=d[z>>0]|0}else{do if(v){j=d[(K?l+(k+-1-ya)|0:F)>>0]|0;if(I){o=k+-1|0;break}else{o=d[l>>0]|0;break g}}else if(I){o=k+-1|0;j=d[l+(o+A)>>0]|0;break}else{o=d[l>>0]|0;j=o;break g}while(0);o=d[l+(o+y)>>0]|0}while(0);ua=1<<k;ta=(ua&e[w>>1]|0)==0;p=ta&1;ua=(ua&e[x>>1]|0)==0;q=ua&1;do if(ta|ua){if(!(u&2)){ca=148;break f}s=c[E>>2]|0;if(H){hc[s&15](t,va,j,o,a[G>>0]|0,a[D>>0]|0,m<<24>>24,p,q);break}else{hc[s&15](t,va,o,j,a[D>>0]|0,a[G>>0]|0,m<<24>>24,q,p);break}}while(0);m=t+8|0;k=k+1|0;j=4}else{ua=j+k|0;m=t+(((ua|0)<(V|0)?j:V-k|0)<<3)|0;k=ua;j=o&60}if((V|0)>(k|0)){u=u>>>j;t=m}else break}i=i+1|0;if((i|0)>=(W|0)){ca=157;break}m=m+R+S|0;n=n+(Q<<2)|0;k=c[xa>>2]|0}if((ca|0)==148)J(42094,42120,749,42143);else if((ca|0)==157){Sb=za;return}} |
| | | function oc(){Td();ni()}function pc(a){a=a|0;var b=0;b=Sb;Sb=Sb+a|0;Sb=Sb+15&-16;return b|0}function qc(){return Sb|0}function rc(a){a=a|0;Sb=a}function sc(a,b){a=a|0;b=b|0;Sb=a;Tb=b}function tc(a,b,c){a=a|0;b=b|0;c=c|0;return gj(c)|0}function uc(a,b){a=a|0;b=b|0;hj(b);return}function vc(){Na();return 0}function wc(a){a=a|0;var b=0;Z(37880,37888,37904,0,40597,3,40600,0,40600,0,39672,40602,22);b=qj(8)|0;c[b>>2]=2;c[b+4>>2]=0;$(37880,39681,3,38984,40605,4,b|0,0);b=qj(8)|0;c[b>>2]=3;c[b+4>>2]=0;$(37880,39687,3,38996,40605,5,b|0,0);b=qj(8)|0;c[b>>2]=23;c[b+4>>2]=0;$(37880,39694,2,39008,40610,4,b|0,0);b=qj(8)|0;c[b>>2]=24;c[b+4>>2]=0;$(37880,39701,2,39008,40610,4,b|0,0);b=qj(8)|0;c[b>>2]=5;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=6;c[a+4>>2]=0;aa(37880,39719,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=7;c[a+4>>2]=0;b=qj(8)|0;c[b>>2]=8;c[b+4>>2]=0;aa(37880,39729,37872,40614,1,a|0,37872,40605,6,b|0);b=qj(8)|0;c[b>>2]=9;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=10;c[a+4>>2]=0;aa(37880,39737,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=11;c[a+4>>2]=0;b=qj(8)|0;c[b>>2]=12;c[b+4>>2]=0;aa(37880,39749,37872,40614,1,a|0,37872,40605,6,b|0);b=qj(8)|0;c[b>>2]=13;c[b+4>>2]=0;a=qj(8)|0;c[a>>2]=14;c[a+4>>2]=0;aa(37880,39761,37872,40614,1,b|0,37872,40605,6,a|0);a=qj(8)|0;c[a>>2]=15;c[a+4>>2]=0;aa(37880,39765,37872,40614,1,a|0,0,0,0,0);Z(37960,37976,37992,37880,40597,4,40597,5,40597,6,39776,40602,25);a=qj(4)|0;c[a>>2]=26;$(37960,40618,2,39016,40610,16,a|0,0);_(37880,40638,3,39024,40774,7,2);_(37880,40648,3,39188,40774,8,7);return}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+16|0;n=o+8|0;m=o;e=b+1800|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,39789,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=wa(39795)|0;g=sa(g|0,j|0)|0;pa(j|0);j=Pc(g,39807)|0;pa(g|0);c[n>>2]=39815;c[n+4>>2]=j?39824:39829;Ja(0,n|0);a[b+76>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Ni(f,46,g)|0;if(!f){g=h;break a}if(!(xi(f,39835,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+1801>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=qa(39840)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=gj(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=gj(f+4|0)|0;c[g>>2]=f;e=d}Sk(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=va(h|0,1,38888,n|0)|0;pa(h|0);Nc(m,39850,39861);Oc(n,b,39687);k=c[m>>2]|0;d=wa(39873)|0;Aa(k|0,d|0,c[n>>2]|0);pa(d|0);pa(c[n>>2]|0);c[b+1792>>2]=Fa()|0;b=c[l>>2]|0;n=wa(39883)|0;Aa(b|0,n|0,c[m>>2]|0);pa(n|0);pa(c[m>>2]|0);Sb=o;return}function yc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=Sb;Sb=Sb+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=wa(40011)|0;c[w>>2]=sa(f|0,x|0)|0;pa(x|0);Sc(y,w);pa(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+1796|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Fa()|0;h=b+1792|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+1816>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+1801>>0]|0))switch(a[(Ij(y,0)|0)>>0]|0){case 1:{Dj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Tc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)rj(c[w>>2]|0);break a}case 2:{Dj(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;Uc(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)rj(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=wa(39883)|0;e=sa(e|0,f|0)|0;pa(f|0);f=wa(40037)|0;h=f;if((a[46760]|0)==0?Ck(46760)|0:0)c[11699]=ra(2,38972)|0;b=c[11699]|0;ta(f|0);c[w>>2]=h;oa(b|0,e|0,40032,w|0);pa(f|0);pa(e|0);break a}default:{b=a[(Ij(y,0)|0)>>0]|0;c[k>>2]=40053;c[k+4>>2]=b;Ja(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Jj(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;Tk(f|0,f+13|0,b|0)|0;Fj(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;Dj(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Jj(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)rj(c[s>>2]|0);switch(k<<24>>24){case 8:{Tc(b,e,w);break}case 9:{Uc(b,e,w);break}default:{c[t>>2]=40016;c[t+4>>2]=k&255;Ja(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)rj(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;Tk(f|0,f+r|0,A|0)|0;Fj(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){Sb=z;return}rj(c[y>>2]|0);Sb=z;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;g=qa(40535)|0;f=b+1784|0;c[h>>2]=c[f>>2];pa(ma(g|0,1,38980,h|0)|0);pa(g|0);g=b+1756|0;id(g);hd(g);h=c[b+1760>>2]|0;i=b+1764|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);jd(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+76>>0]|0)==0?(e=c[b+48>>2]|0,e|0):0)hj(e);c[f>>2]=0;a[b+1788>>0]=1;a[b+1780>>0]=0;Fj(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;Sb=j;return}function Ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Sb;Sb=Sb+16|0;g=o+4|0;i=o;j=b+1776|0;a:do if(c[j>>2]|0){k=b+1760|0;l=b+1772|0;m=b+4|0;n=b+1808|0;h=b+40|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=_c(c[m>>2]|0,40526,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;Yc(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){rj(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){rj(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+1780>>0]=1;c[b+1784>>2]=$c(c[m>>2]|0,40510,i)|0;Sb=o;return}while(0);a[b+1780>>0]=0;Sb=o;return}function Bc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1800>>0];c[a>>2]=Ba(38768,f|0)|0;Sb=e;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38768,g|0);za(c[g>>2]|0);a[b+1800>>0]=f!=0.0&1;Sb=e;return}function Dc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1801>>0];c[a>>2]=Ba(38768,f|0)|0;Sb=e;return}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38768,g|0);za(c[g>>2]|0);a[b+1801>>0]=f!=0.0&1;Sb=e;return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1804>>2];c[a>>2]=Ba(38816,e|0)|0;Sb=d;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38816,f|0);za(c[f>>2]|0);c[a+1804>>2]=~~e;Sb=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1808>>2];c[a>>2]=Ba(38816,e|0)|0;Sb=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38816,f|0);za(c[f>>2]|0);c[a+1808>>2]=~~e;Sb=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;g[e>>3]=+g[b+1816>>3];c[a>>2]=Ba(38856,e|0)|0;Sb=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38856,f|0);za(c[f>>2]|0);g[a+1816>>3]=e;Sb=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Sb;Sb=Sb+16|0;e=d+4|0;f=d;c[e>>2]=xa()|0;i=b+1760|0;h=b+1772|0;j=c[h>>2]|0;g=(j>>>0)/204|0;kd(e,40548,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+1776|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ld(e,40554,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];md(e,40559,f);b=c[e>>2]|0;c[a>>2]=b;ta(b|0);pa(c[e>>2]|0);Sb=d;return}function Mc(a){a=a|0;pa(c[a>>2]|0);return}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=wa(b|0)|0;d=wa(d|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=wa(d|0)|0;d=sa(f|0,e|0)|0;pa(e|0);Rc(a,d,39987,b);pa(d|0);return}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=Sb;Sb=Sb+16|0;e=g;f=g+8|0;if((a[46712]|0)==0?Ck(46712)|0:0)c[11693]=ra(1,38884)|0;h=+na(c[11693]|0,b|0,d|0,f|0,e|0);za(c[f>>2]|0);Sb=g;return h!=0.0|0}function Qc(a){a=a|0;L(a|0)|0;fk()}function Rc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Sb;Sb=Sb+16|0;g=i;h=i+8|0;if((a[46720]|0)==0?Ck(46720)|0:0)c[11694]=ra(2,38892)|0;k=c[11694]|0;ta(c[f>>2]|0);c[g>>2]=c[f>>2];j=+na(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;za(h|0);Sb=i;return}function Sc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;e=h;i=+la(c[d>>2]|0,37848,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)wj(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;za(e|0);Sb=h;return}else d=b}else{j=g+16&-16;d=qj(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Sk(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;za(e|0);Sb=h;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;d=e+12|0;f=c[d>>2]|0;e=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[d>>2]=f+1;d=e&255;if(!(a[b+1789>>0]|0))return;f=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch((e&255)>>>4&15){case 10:{Wc(b,c[b+1804>>2]<<10,d,f);return}case 11:{Wc(b,16e3,16e3,f);return}case 2:{Wc(b,(c[b+1804>>2]|0)*576|0,d,f);return}default:return}}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Sb;Sb=Sb+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+1788|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=40172;Ja(0,j|0);break}case 12:{c[k>>2]=40187;Ja(0,k|0);break}default:{c[l>>2]=40202;c[l+4>>2]=f;Ja(0,l|0);Sb=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){Sb=q;return}Xc(b+40|0,e,f);a[i>>0]=0;c[m>>2]=40262;Ja(0,m|0);Sb=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,40278,o|0);Sb=q;return}if(!d){Sb=q;return}c[p>>2]=f+5;f=b+1808|0;a:do if(c[f>>2]|0){g=b+1780|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=_c(c[h>>2]|0,40526,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+1784>>2]=$c(c[h>>2]|0,40510,n)|0;break}else break a}while(0);j=b+1764|0;g=c[j>>2]|0;k=b+1760|0;f=c[k>>2]|0;o=g-f|0;i=b+1772|0;l=b+1776|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){ad(b+1756|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;Sb=q;return}while(0);Yc(b+40|0,e);Sb=q;return}function Vc(b){b=b|0;if((a[b+11>>0]|0)>=0)return;rj(c[b>>2]|0);return}function Wc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Sb;Sb=Sb+32|0;h=i;a[b+1789>>0]=0;j=r(d<<1,f)|0;g=b+36|0;c[g>>2]=gj(c[b+28>>2]|0)|0;c[h>>2]=40146;c[h+4>>2]=j;Ja(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[46728]|0)==0?Ck(46728)|0:0)c[11695]=ra(5,16)|0;j=c[11695]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;oa(j|0,b|0,40136,h|0);Sb=i;return}function Xc(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,s=0,t=0,u=0,v=0;t=Sb;Sb=Sb+80|0;s=t+32|0;q=t+24|0;f=t+16|0;l=t+44|0;m=t;c[l>>2]=c[9725];c[l+4>>2]=c[9726];c[l+8>>2]=c[9727];c[l+12>>2]=c[9728];c[l+16>>2]=c[9729];c[l+20>>2]=c[9730];c[l+24>>2]=c[9731];p=m;c[p>>2]=8;c[p+4>>2]=0;p=b+40|0;o=Gg(c[p>>2]|0,l,m)|0;g=b+1056|0;c[g>>2]=o;if(o|0)ej(40292,t+8|0)|0;h=b+1068|0;c[b+1072>>2]=8;c[b+1076>>2]=c[b+1048>>2];c[h>>2]=536;i=b+1604|0;c[i>>2]=112;j=d+11|0;k=d+12|0;u=c[k>>2]|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+u+27>>0]&3;o=u+31|0;c[k>>2]=o;v=(a[j>>0]|0)<0?c[d>>2]|0:d;o=v+o+2+-1|0;e=a[o>>0]|0;o=a[o+-1>>0]|0;u=u+33|0;c[k>>2]=u;n=b+1084|0;c[n>>2]=v+u;e=(o&255)<<8|e&255;o=b+1080|0;c[o>>2]=e;u=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=u;if(u|0){c[f>>2]=c[b+1608>>2];ej(40342,f)|0}u=(c[k>>2]|0)+e|0;v=u+3|0;c[k>>2]=v;f=(a[j>>0]|0)<0?c[d>>2]|0:d;v=f+v+2+-1|0;e=a[v>>0]|0;v=a[v+-1>>0]|0;u=u+5|0;c[k>>2]=u;c[n>>2]=f+u;e=(v&255)<<8|e&255;c[o>>2]=e;v=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=v;if(v|0){c[q>>2]=c[b+1608>>2];ej(40373,q)|0}f=(c[k>>2]|0)+e|0;u=f+3|0;c[k>>2]=u;q=(a[j>>0]|0)<0?c[d>>2]|0:d;u=q+u+2+-1|0;v=a[u>>0]|0;u=a[u+-1>>0]|0;d=f+5|0;c[k>>2]=d;c[n>>2]=q+d;c[o>>2]=(u&255)<<8|v&255;v=Gg(c[p>>2]|0,h,i)|0;c[g>>2]=v;if(v|0){c[s>>2]=c[b+1608>>2];ej(40404,s)|0}Zc(b,c[b+1616>>2]|0,c[b+1620>>2]|0);c[l>>2]=c[9732];c[l+4>>2]=c[9733];c[l+8>>2]=c[9734];c[l+12>>2]=c[9735];c[l+16>>2]=c[9736];c[l+20>>2]=c[9737];c[l+24>>2]=c[9738];v=m;c[v>>2]=8;c[v+4>>2]=0;v=Gg(c[p>>2]|0,l,m)|0;c[g>>2]=v;if(!v){v=b+1088|0;c[v>>2]=3;v=b+12|0;v=c[v>>2]|0;u=b+16|0;u=c[u>>2]|0;v=r(u,v)|0;u=b+1348|0;c[u>>2]=v;u=v>>>2;s=b+1356|0;c[s>>2]=u;s=b+1352|0;c[s>>2]=u;s=u*6|0;s=gj(s)|0;q=b+1092|0;c[q>>2]=s;q=s;d=b+20|0;c[d>>2]=q;v=s+v|0;s=b+1096|0;c[s>>2]=v;s=v;d=b+24|0;c[d>>2]=s;u=v+u|0;v=b+1100|0;c[v>>2]=u;v=b+28|0;c[v>>2]=u;Sb=t;return}ej(40435,t+40|0)|0;v=b+1088|0;c[v>>2]=3;v=b+12|0;v=c[v>>2]|0;u=b+16|0;u=c[u>>2]|0;v=r(u,v)|0;u=b+1348|0;c[u>>2]=v;u=v>>>2;s=b+1356|0;c[s>>2]=u;s=b+1352|0;c[s>>2]=u;s=u*6|0;s=gj(s)|0;q=b+1092|0;c[q>>2]=s;q=s;d=b+20|0;c[d>>2]=q;v=s+v|0;s=b+1096|0;c[s>>2]=v;s=v;d=b+24|0;c[d>>2]=s;u=v+u|0;v=b+1100|0;c[v>>2]=u;v=b+28|0;c[v>>2]=u;Sb=t;return}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function Zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=40484;c[h+4>>2]=d;c[h+8>>2]=e;Ja(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(r(e<<2,e)|0)+33554432|0;e=gj((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[46736]|0)==0?Ck(46736)|0:0)c[11696]=ra(4,48)|0;b=c[11696]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;oa(b|0,d|0,40497,h|0);Sb=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[46736]|0)==0?Ck(46736)|0:0)c[11696]=ra(4,48)|0;b=c[11696]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;oa(b|0,d|0,40497,h|0);Sb=i;return}}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46744]|0)==0?Ck(46744)|0:0)c[11697]=ra(2,38956)|0;j=c[11697]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46752]|0)==0?Ck(46752)|0:0)c[11698]=ra(2,38964)|0;j=c[11698]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Sb;Sb=Sb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{Tk(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{h=qj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){rj(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Sb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{d=qj(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=qj(4080)|0;dd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;ed(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)rj(f);Sb=r;return}if((d|0)!=(b|0)){c[k>>2]=qj(4080)|0;bd(a,k);Sb=r;return}c[k>>2]=qj(4080)|0;cd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{Tk(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;uj(r,40068);c[r>>2]=39564;P(r|0,38688,16)}else{h=qj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){rj(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Sb=r;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Tk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{i=qj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Tk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{h=qj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Tk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{i=qj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){rj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Tk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;uj(q,40068);c[q>>2]=39564;P(q|0,38688,16)}else{h=qj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){rj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function fd(a){a=a|0;var b=0,d=0,e=0,f=0;id(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{rj(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;rj(b);return}function gd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;hj(b);return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{rj(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;jd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){rj(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){jd(a);return}rj(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;jd(a);return}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)rj(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{rj(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;uj(l,40068);c[l>>2]=39564;P(l|0,38688,16)}else{g=qj(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;rj(b);return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38832,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38832,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38840,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function nd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function od(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)wj(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=qj(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Sk(b|0,d|0,e|0)|0;a[b+e>>0]=0;ac[f&31](g,h);if((a[h+11>>0]|0)>=0){Sb=j;return}rj(c[h>>2]|0);Sb=j;return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;$b[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;$b[e&31](a);return}}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Sb;Sb=Sb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;ac[d&31](e,a);ta(c[e>>2]|0);g=c[e>>2]|0;pa(g|0);Sb=f;return g|0}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function ud(b,d){b=b|0;d=d|0;var e=0;e=qj(1832)|0;Fd(e,d);a[e+1824>>0]=0;c[e+1828>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=39044;return e|0}function vd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=X(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,37960,c[e>>2]|0)|0;return}function wd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function xd(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function yd(a){a=a|0;return a|0}function zd(a){a=a|0;return a|0}function Ad(a,b){a=a|0;b=b|0;$b[c[a>>2]&31](b);return}function Bd(b){b=b|0;a[b+1824>>0]=1;return}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Sb;Sb=Sb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Xb[a&3](f,g)|0;pa(c[g>>2]|0);pa(c[f>>2]|0);Sb=e;return d|0}function Dd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Sb;Sb=Sb+16|0;e=g;c[b>>2]=39060;d=b+1828|0;if(!(a[b+1824>>0]|0)){f=c[d>>2]|0;pa(f|0);Jd(b);Sb=g;return}f=c[d>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,f|0,41096,e|0);f=c[d>>2]|0;pa(f|0);Jd(b);Sb=g;return}function Ed(a){a=a|0;Dd(a);rj(a);return}function Fd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Sb;Sb=Sb+16|0;h=f;c[d>>2]=39076;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;c[h>>2]=40779;c[h+4>>2]=d+28;Ja(0,h|0);Hd(d+40|0);e=d+1756|0;c[d+1784>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+1788>>0]=1;a[d+1789>>0]=1;e=d+1792|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+1804>>2]=12;c[d+44>>2]=g;Sb=f;return}function Gd(a){a=a|0;Dd(a);rj(a);return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Sb;Sb=Sb+112|0;i=j+32|0;h=j+8|0;k=j+76|0;e=j+64|0;f=j+40|0;g=j;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=39092;d=b+40|0;c[d>>2]=0;c[b+1044>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1064>>2]=0;c[k+4>>2]=5;c[k+12>>2]=0;c[k+8>>2]=1;c[k+16>>2]=9;c[k+20>>2]=17;c[k+24>>2]=0;c[k>>2]=28;c[e>>2]=12;k=Gg(0,k,e)|0;b=b+1056|0;c[b>>2]=k;if(k|0){c[h>>2]=c[e+4>>2];ej(40794,h)|0}k=c[e+8>>2]|0;c[d>>2]=k;c[k+4>>2]=10;c[k>>2]=12;c[f>>2]=c[9779];c[f+4>>2]=c[9780];c[f+8>>2]=c[9781];c[f+12>>2]=c[9782];h=g;c[h>>2]=8;c[h+4>>2]=0;k=Gg(k,f,g)|0;c[b>>2]=k;if(k|0)ej(40815,j+16|0)|0;c[f>>2]=c[9783];c[f+4>>2]=c[9784];c[f+8>>2]=c[9785];c[f+12>>2]=c[9786];c[f+16>>2]=c[9787];c[f+20>>2]=c[9788];k=g;c[k>>2]=8;c[k+4>>2]=0;k=Gg(c[d>>2]|0,f,g)|0;c[b>>2]=k;if(!k){c[i>>2]=40882;Ja(0,i|0);Sb=j;return}ej(40849,j+24|0)|0;c[i>>2]=40882;Ja(0,i|0);Sb=j;return}function Id(a){a=a|0;var b=0,d=0,e=0;b=Sb;Sb=Sb+16|0;d=b+8|0;e=b;c[e>>2]=41028;Ja(0,e|0);hj(c[a+8>>2]|0);c[d>>2]=41051;Ja(0,d|0);Sb=b;return}function Jd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Sb;Sb=Sb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=39076;f=qa(40535)|0;c[d>>2]=c[b+1784>>2];pa(ma(f|0,1,38980,d|0)|0);pa(f|0);c[g>>2]=41075;Ja(0,g|0);g=b+1756|0;id(g);f=b+1760|0;d=c[f>>2]|0;h=b+1764|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{rj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)rj(d);Ld(b+40|0);c[i>>2]=41028;Ja(0,i|0);hj(c[b+36>>2]|0);c[j>>2]=41051;Ja(0,j|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}rj(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}function Kd(a){a=a|0;Jd(a);rj(a);return}function Ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+32|0;e=f+24|0;h=f+8|0;g=f;c[b>>2]=39092;i=h;c[i>>2]=8;c[i+4>>2]=6;i=g;c[i>>2]=8;c[i+4>>2]=0;g=Gg(c[b+40>>2]|0,h,g)|0;c[b+1056>>2]=g;if(g|0)ej(40954,f+16|0)|0;hj(c[b+20>>2]|0);c[b>>2]=39164;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)hj(d);c[e>>2]=40930;Ja(0,e|0);Sb=f;return}function Md(a){a=a|0;Ld(a);rj(a);return}function Nd(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;w=Sb;Sb=Sb+16|0;v=w+8|0;s=w;t=b+1068|0;u=b+1084|0;c[u>>2]=d;r=b+1080|0;c[r>>2]=e;o=b+40|0;p=b+1604|0;q=b+1056|0;f=b+1612|0;g=b+36|0;h=b+1608|0;i=b+20|0;j=b+24|0;k=b+28|0;l=b+8|0;m=b+12|0;n=b+16|0;e=b+4|0;do{d=Gg(c[o>>2]|0,t,p)|0;c[q>>2]=d;if(d|0){b=c[h>>2]|0;c[v>>2]=d;c[v+4>>2]=b;ej(40976,v)|0}b=c[f>>2]|0;c[r>>2]=(c[r>>2]|0)-b;c[u>>2]=(c[u>>2]|0)+b;if(!(a[g>>0]|0))Rd(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);d=c[c[e>>2]>>2]|0;if((a[46704]|0)==0?Ck(46704)|0:0)c[11692]=ra(1,38880)|0;oa(c[11692]|0,d|0,41023,s|0)}while((c[r>>2]|0)!=0);Sb=w;return}function Od(b){b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[b>>2]=39164;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)hj(d);c[e>>2]=40930;Ja(0,e|0);Sb=f;return}function Pd(a){a=a|0;Oa()}function Qd(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=Sb;Sb=Sb+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=40919;c[j+4>>2]=e;Ja(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){bc[c[(c[b>>2]|0)+20>>2]&15](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){Sb=l;return}bc[c[(c[b>>2]|0)+20>>2]&15](b,g+f|0,e);Sb=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;bc[c[(c[b>>2]|0)+20>>2]&15](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;bc[c[(c[b>>2]|0)+20>>2]&15](b,j+d|0,(m&255)<<8|n&255);Sb=l;return}default:{Sb=l;return}}}function Rd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Sd(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=Sb;Sb=Sb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)wj(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=qj(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Sk(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;bc[b&15](h,j,k);ta(c[h>>2]|0);d=c[h>>2]|0;pa(d|0);pa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Sb=l;return d|0}rj(c[j>>2]|0);Sb=l;return d|0}function Td(){wc(0);return}function Ud(a){a=a|0;c[a>>2]=64;Uk(a+4|0,0,516)|0;return}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(d|0)){b=-1;return b|0}a=a+264+(d<<2)|0;d=c[a>>2]|0;if(!((d|0)==0|(d|0)==(b|0))){b=-1;return b|0}c[a>>2]=b;b=0;return b|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)<=0){b=0;return b|0}d=0;a:while(1){f=a+8+(d<<2)|0;switch(c[f>>2]|0){case 2:{a=4;break a}case 0:{g=c[a+264+(d<<2)>>2]|0;if(g|0){a=6;break a}break}default:{}}d=d+1|0;if((d|0)>=(e|0)){d=0;a=8;break}}if((a|0)==4)J(41119,41153,170,41176);else if((a|0)==6){c[b>>2]=d;c[f>>2]=1;b=g;return b|0}else if((a|0)==8)return d|0;return 0}function Xd(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d){d=0;return d|0}b=0;a:while(1){switch(c[a+8+(b<<2)>>2]|0){case 2:{a=4;break a}case 0:{if(c[a+264+(b<<2)>>2]|0){b=1;a=7;break a}break}default:{}}b=b+1|0;if(b>>>0>=d>>>0){b=0;a=7;break}}if((a|0)==4)J(41119,41153,213,41204);else if((a|0)==7)return b|0;return 0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;d=c[a>>2]&~d;c[a>>2]=d;switch(d|0){case 2:{J(41229,41153,265,41267);break}case 1:{c[a>>2]=0;d=0;return d|0}default:{d=0;return d|0}}return 0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;b=c[a>>2]|0;if(b&d|0){d=-1;return d|0}d=b|d;c[a>>2]=d;if((d|0)==2)J(41229,41153,322,41289);else{d=0;return d|0}return 0}function _d(a,b){a=a|0;b=b|0;return c[a+264+(b<<2)>>2]|0}function $d(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Sb;Sb=Sb+32|0;u=C;v=h<<2;w=v|1;if(!i){k=w<<1;if((w|0)<=0){Sb=C;return}Uk(j|0,-128,((k|0)>1?k:1)|0)|0;Sb=C;return}y=i&65536;s=i&61440;t=i&3840;p=i&15;x=(y|0)!=0;if(x){a[j+v>>0]=a[d>>0]|0;a[j+w>>0]=a[d+1>>0]|0}if(i&240|0?(l=h<<1,(h|0)>0):0){n=v+-2|0;o=v+-1|0;m=(((l|0)>2?l:2)+-1|0)>>>1;k=0;d=0;l=0;while(1){D=r(k,g)|0;a[j+(n+d)>>0]=a[f+D>>0]|0;a[j+(o+d)>>0]=a[f+(D+1)>>0]|0;if((k|0)==(m|0))break;else{k=k+1|0;d=-2-l|0;l=l+2|0}}}if(p|0?(q=h<<1,(q|0)<(v|0)):0){l=v+-2|0;m=v+-1|0;d=h;k=q;while(1){D=r(d,g)|0;a[j+(l-k)>>0]=a[f+D>>0]|0;a[j+(m-k)>>0]=a[f+(D+1)>>0]|0;k=k+2|0;if((k|0)>=(v|0))break;else d=d+1|0}}k=h<<1;if(t|0)ae(j+(v|2)|0,e,k);if(s|0)ae(j+((v|2)+k)|0,e+k|0,k);switch(h|0){case 4:{D=i>>>3&1;m=i>>>7&1;n=i>>>8&1;l=i>>>12&1;c[u>>2]=D;c[u+4>>2]=m;c[u+8>>2]=y>>>16;c[u+12>>2]=n;c[u+16>>2]=l;do if(!D){if(!m){k=2;while(1)if(!(c[u+(k<<2)>>2]|0))k=k+1|0;else break}else k=1;d=k<<2;if(k>>>0<3){be(j,b[j+(k<<3)>>1]|0,d);break}else{D=d+-3|0;be(j,b[j+(D<<1)>>1]|0,D);break}}while(0);if(!m)be(j+8|0,b[j+6>>1]|0,4);if(!y){a[j+v>>0]=a[j+(v+-2)>>0]|0;a[j+w>>0]=a[j+(v+-1)>>0]|0}if(!n)be(j+(v|2)|0,b[j+v>>1]|0,4);if(l|0){Sb=C;return}be(j+26|0,b[j+24>>1]|0,4);Sb=C;return}case 8:{d=i>>>4;o=i>>>2&3|d&12;d=i>>>6&192|d&48;q=d|o|y>>>8;k=Mk(o|0)|0;k=(o|0)==0|(k|0)==8?16:k<<2;o=(y|0)==0;if(!(o&(k|0)==16))if(!k)k=0;else z=37;else{k=((Mk(d>>>4|0)|0)<<2)+17|0;k=(d|0)==0?49:k;z=37}if((z|0)==37){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=33){Sb=C;return}}if(!o){do{d=(k|0)==16;if(!d?(B=k<<1,(1<<(k>>2)&q|0)==0):0)be(j+B|0,b[j+(B+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}m=j+33|0;n=j+31|0;o=j+32|0;p=j+30|0;do{d=(k|0)==16;if(!d){l=k<<1;if(!(1<<(k>>2)&q))be(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}case 16:{D=i&255;k=(Mk(D|0)|0)<<2;k=(D|0)==0?32:k;if(!((y|0)==0&(k|0)==32))if(!k)k=0;else z=55;else{z=i>>>8&255;k=((Mk(z|0)|0)<<2)+33|0;k=(z|0)==0?65:k;z=55}if((z|0)==55){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=65){Sb=C;return}}if(x){do{d=(k|0)==32;if(!d?(A=k<<1,(1<<(k>>2)&i|0)==0):0)be(j+A|0,b[j+(A+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}m=j+65|0;n=j+63|0;o=j+64|0;p=j+62|0;do{d=(k|0)==32;if(!d){l=k<<1;if(!(1<<(k>>2)&i))be(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}default:{Sb=C;return}}}function ae(a,b,c){a=a|0;b=b|0;c=c|0;Sk(a|0,b|0,c|0)|0;return}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function ce(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(g|0){case 16:{h=5;break}case 8:{h=4;break}case 4:{h=3;break}default:if((g|0)>0)h=6;else return}t=g<<1;u=g+-1|0;v=t+-1|0;m=g*6|0;j=b+(m+2)|0;k=g<<2|2;n=u<<1;l=b+n|0;m=b+(m+3)|0;n=b+(n|1)|0;i=0;do{s=v-i<<1;o=b+s|0;p=u-i|0;q=r(i,f)|0;i=i+1|0;s=b+(s|1)|0;c=0;do{y=c>>>1;z=u-y|0;C=r(z,d[o>>0]|0)|0;y=y+1|0;B=r(y,d[j>>0]|0)|0;x=c+k|0;A=r(p,d[b+x>>0]|0)|0;w=c+q|0;a[e+w>>0]=C+g+B+A+(r(i,d[l>>0]|0)|0)>>h;z=r(z,d[s>>0]|0)|0;y=r(y,d[m>>0]|0)|0;x=r(p,d[b+(x|1)>>0]|0)|0;a[e+(w+1)>>0]=z+g+y+x+(r(i,d[n>>0]|0)|0)>>h;c=c+2|0}while((c|0)<(t|0))}while((i|0)!=(g|0));return}function de(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g+-4|0;switch(l>>>2|l<<30|0){case 0:{k=3;break}case 3:{k=5;break}case 1:{k=4;break}default:k=6}l=g<<1;j=g<<2;if((l|0)<(j|0)){i=l;h=0;c=0;do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0))}else{h=0;c=0}i=j|2;j=(g*6|0)+2|0;if((i|0)<(j|0))do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0));if((g|0)<=0)return;b=h+g>>k&255;i=c+g>>k&255;h=0;do{j=r(h,f)|0;c=0;do{k=c+j|0;a[e+k>>0]=b;a[e+(k+1)>>0]=i;c=c+2|0}while((c|0)<(l|0));h=h+1|0}while((h|0)!=(g|0));return}function ee(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)<=0)return;l=f<<1;h=f<<2;m=h+-2|0;h=h+-1|0;c=0;do{k=c<<1;i=b+(m-k)|0;j=r(c,e)|0;k=b+(h-k)|0;g=0;do{n=g+j|0;a[d+n>>0]=a[i>>0]|0;a[d+(n+1)>>0]=a[k>>0]|0;g=g+2|0}while((g|0)<(l|0));c=c+1|0}while((c|0)!=(f|0));return}function fe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if((f|0)<=0)return;j=f<<1;h=f<<2;k=h|2;h=h|3;c=0;do{i=r(c,e)|0;g=0;do{l=g+i|0;a[d+l>>0]=a[b+(g+k)>>0]|0;a[d+(l+1)>>0]=a[b+(g+h)>>0]|0;g=g+2|0}while((g|0)<(j|0));c=c+1|0}while((c|0)!=(f|0));return}function ge(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f<<1;if((f|0)<=0)return;k=f<<2;c=0;do{l=c|1;h=-3-l|0;i=~((l<<5)+32>>5);g=0;do{n=k-(g<<1)|0;m=r(g,e)|0;a[d+(m+c)>>0]=a[b+(h+n)>>0]|0;a[d+(m+l)>>0]=a[b+(n+i)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+2|0}while((c|0)<(j|0));return}function he(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(g|0)==18?-32:32;if((f|0)<=0)return;j=f<<1;k=f<<2|2;g=0;do{i=g;g=g+1|0;h=k+((r(g,l)|0)>>4)|0;i=r(i,e)|0;c=0;do{a[d+(c+i)>>0]=a[b+(h+c)>>0]|0;m=c|1;a[d+(m+i)>>0]=a[b+(h+m)>>0]|0;c=c+2|0}while((c|0)<(j|0))}while((g|0)!=(f|0));return}function ie(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=c[25216+(i<<2)>>2]|0;p=h<<1;if((h|0)<=0)return;j=h<<2;e=0;do{l=r((e>>>1)+1|0,o)|0;k=l&31;l=l>>5<<1;m=32-k|0;n=e|1;i=0;do{s=j-(i<<1)-l|0;t=r(m,d[b+(s+-2)>>0]|0)|0;q=r(i,g)|0;a[f+(q+e)>>0]=(t+16+(r(k,d[b+(s+-4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+-1)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+-3)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(p|0));return}function je(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-11<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=k-i|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;n=l+e|0;l=r(p,h)|0;j=l>>5<<1;if((l|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(s+k)>>0]|0;a[n+(i|1)>>0]=a[b+(s+l)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((o|0)>0&(h|0)>0)){Sb=q;return}e=0;do{k=r((e>>>1)+1|0,p)|0;j=k>>5;k=k&31;l=32-k|0;m=e|1;i=0;do{b=i+j<<1;t=r(l,d[n+(b+2)>>0]|0)|0;s=r(i,g)|0;a[f+(s+e)>>0]=(t+16+(r(k,d[n+(b+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+3)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(k,d[n+(b+5)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(o|0));Sb=q;return}function ke(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-12<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=i+k|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;k=r(p,h)|0;n=l+e|0;j=k>>5<<1;if((k|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(k-s)>>0]|0;a[n+(i|1)>>0]=a[b+(l-s)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((h|0)>0&(o|0)>0)){Sb=q;return}i=0;do{m=i;i=i+1|0;k=r(i,p)|0;j=k&31;k=k>>5<<1;l=32-j|0;m=r(m,g)|0;e=0;do{t=e+k|0;s=e|1;b=s+k|0;u=r(l,d[n+(t+2)>>0]|0)|0;a[f+(e+m)>>0]=(u+16+(r(j,d[n+(t+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+2)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(j,d[n+(b+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(o|0))}while((i|0)!=(h|0));Sb=q;return}function le(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;p=h<<1;j=h<<2;i=0;do{n=i;i=i+1|0;l=r(i,o)|0;k=l&31;l=(l>>5<<1)+j|0;m=32-k|0;n=r(n,g)|0;e=0;do{t=l+e|0;q=e|1;s=l+q|0;u=r(m,d[b+(t+2)>>0]|0)|0;a[f+(e+n)>>0]=(u+16+(r(k,d[b+(t+4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+2)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(p|0))}while((i|0)!=(h|0));return}function me(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[g+2>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+4>>0]|0)|0;k=(k|0)>0?k:0;a[g+4>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+6>>0]|0)|0;C=(C|0)>0?C:0;a[g+6>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+4>>0]|0)|0;k=(k|0)>0?k:0;a[D+4>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+6>>0]|0)|0;f=(f|0)>0?f:0;a[D+6>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+4>>0]|0)|0;f=(f|0)>0?f:0;a[D+4>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;B=(B|0)>0?B:0;a[D+6>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+4>>0]|0)|0;i=(i|0)>0?i:0;a[D+4>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;C=(C|0)>0?C:0;a[D+6>>0]=(C|0)<255?C:255;return}function ne(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=e;while(1){if(!(l&1)){wb=b[m+(i<<1)>>1]|0;zb=b[m+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[m+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;e=r(zb,U)|0;c[V>>2]=e;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[m>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-e|0;c[_>>2]=Ab;e=e+sb|0;c[$>>2]=e;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;e=Bb+e|0;b[n+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[K>>2]|0;Ab=Ab-e|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;e=e+(c[_>>2]|0)|0;b[n+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=n;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{n=n+32|0;l=l>>1;m=m+2|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;l=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;l=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){tb=b[m+(i<<1)>>1]|0;Bb=b[m+(yb<<1)>>1]|0;vb=b[m+(zb<<1)>>1]|0;qb=b[m+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[m+(p<<1)>>1]|0;vb=b[m+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[m+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[m>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;e=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=e-ob|0;c[va>>2]=xb;e=ob+e|0;c[wa>>2]=e;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[o>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[o+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[o+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Z>>2]|0;xb=xb-e|0;b[o+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[o+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[o+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[o+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[o+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;e=e+(c[va>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){Rb=b[m+(i<<1)>>1]|0;Qb=b[m+(yb<<1)>>1]|0;Bb=b[m+(zb<<1)>>1]|0;Ob=b[m+(Ab<<1)>>1]|0;Pb=b[m+(p<<1)>>1]|0;Mb=b[m+(q<<1)>>1]|0;e=b[m+(s<<1)>>1]|0;Kb=b[m+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(e,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(e,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(e,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(e,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(e,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(e,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(e,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(e,Xa)|0)+(r(Kb,Ya)|0);Kb=b[m+(u<<1)>>1]|0;e=b[m+(v<<1)>>1]|0;Mb=b[m+(w<<1)>>1]|0;Pb=b[m+(x<<1)>>1]|0;Ob=(r(e,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(e,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(e,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(e,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[m+(z<<1)>>1]|0;Kb=r(Mb,y)|0;e=b[m+(B<<1)>>1]|0;Kb=(r(e,A)|0)+Kb|0;Qb=b[m>>1]|0;Lb=r(Qb,C)|0;Nb=b[m+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,e)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;e=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=e-Rb|0;c[tb>>2]=Jb;e=Rb+e|0;c[ub>>2]=e;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[o>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[o+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[o+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Ha>>2]|0;Jb=Jb-e|0;b[o+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[o+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[o+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[o+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[o+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;e=e+(c[tb>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[U>>2]|0;Qb=c[D>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[na>>2]|0;Qb=c[O>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[db>>2]|0;Qb=c[ka>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}} |
| | | function sf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,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;vc=Sb;Sb=Sb+176|0;uc=vc+112|0;rc=vc+48|0;sc=vc+16|0;tc=vc;pc=l>>>0>4294967279;qc=l>>>0>4294967039;oc=pc?4:qc?8:32;if(m>>>0>4294967279){Y=i*3|0;Z=i<<1;Fb=tc+4|0;Gb=tc+8|0;Hb=tc+12|0;_=b[17152]|0;$=b[17153]|0;aa=b[17184]|0;ba=b[17248]|0;ca=b[17185]|0;da=b[17249]|0;ea=rc+4|0;fa=b[17186]|0;ga=b[17250]|0;ha=rc+8|0;ia=b[17187]|0;ja=b[17251]|0;ka=rc+12|0;la=b[17188]|0;ma=b[17252]|0;na=rc+16|0;oa=b[17189]|0;pa=b[17253]|0;qa=rc+20|0;ra=b[17190]|0;sa=b[17254]|0;ta=rc+24|0;ua=b[17191]|0;va=b[17255]|0;wa=rc+28|0;xa=b[17192]|0;ya=b[17256]|0;za=rc+32|0;Aa=b[17193]|0;Ba=b[17257]|0;Ca=rc+36|0;Da=b[17194]|0;Ea=b[17258]|0;Fa=rc+40|0;Ga=b[17195]|0;Ha=b[17259]|0;Ia=rc+44|0;Ja=b[17196]|0;Ka=b[17260]|0;La=rc+48|0;Ma=b[17197]|0;Na=b[17261]|0;Oa=rc+52|0;Pa=b[17198]|0;Qa=b[17262]|0;Ra=rc+56|0;q=b[17199]|0;s=b[17263]|0;t=rc+60|0;u=b[17216]|0;v=b[17217]|0;w=sc+4|0;x=b[17218]|0;y=sc+8|0;z=b[17219]|0;A=sc+12|0;B=b[17220]|0;C=sc+16|0;D=b[17221]|0;E=sc+20|0;F=b[17222]|0;G=sc+24|0;H=b[17223]|0;I=sc+28|0;J=uc+32|0;K=uc+4|0;L=uc+36|0;M=uc+8|0;N=uc+40|0;O=uc+12|0;P=uc+44|0;Q=uc+16|0;R=uc+48|0;S=uc+20|0;T=uc+52|0;U=uc+24|0;V=uc+56|0;W=uc+28|0;X=uc+60|0;o=f;p=0;while(1){a:do if(!(l&1)){nc=b[e+(i<<1)>>1]|0;m=b[e+(Y<<1)>>1]|0;c[rc>>2]=(r(m,ba)|0)+(r(nc,aa)|0);c[ea>>2]=(r(m,da)|0)+(r(nc,ca)|0);c[ha>>2]=(r(m,ga)|0)+(r(nc,fa)|0);c[ka>>2]=(r(m,ja)|0)+(r(nc,ia)|0);c[na>>2]=(r(m,ma)|0)+(r(nc,la)|0);c[qa>>2]=(r(m,pa)|0)+(r(nc,oa)|0);c[ta>>2]=(r(m,sa)|0)+(r(nc,ra)|0);c[wa>>2]=(r(m,va)|0)+(r(nc,ua)|0);c[za>>2]=(r(m,ya)|0)+(r(nc,xa)|0);c[Ca>>2]=(r(m,Ba)|0)+(r(nc,Aa)|0);c[Fa>>2]=(r(m,Ea)|0)+(r(nc,Da)|0);c[Ia>>2]=(r(m,Ha)|0)+(r(nc,Ga)|0);c[La>>2]=(r(m,Ka)|0)+(r(nc,Ja)|0);c[Oa>>2]=(r(m,Na)|0)+(r(nc,Ma)|0);c[Ra>>2]=(r(m,Qa)|0)+(r(nc,Pa)|0);c[t>>2]=(r(m,s)|0)+(r(nc,q)|0);nc=b[e+(Z<<1)>>1]|0;m=r(nc,u)|0;c[sc>>2]=m;mc=r(nc,v)|0;c[w>>2]=mc;jc=r(nc,x)|0;c[y>>2]=jc;hc=r(nc,z)|0;c[A>>2]=hc;gc=r(nc,B)|0;c[C>>2]=gc;ic=r(nc,D)|0;c[E>>2]=ic;kc=r(nc,F)|0;c[G>>2]=kc;nc=r(nc,H)|0;c[I>>2]=nc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;lc=b[e>>1]|0;n=r(lc,_)|0;lc=r($,lc)|0;m=m+n|0;c[uc>>2]=m;c[J>>2]=n-nc;c[K>>2]=mc+lc;c[L>>2]=lc-kc;c[M>>2]=jc+lc;c[N>>2]=lc-ic;c[O>>2]=hc+n;c[P>>2]=n-gc;c[Q>>2]=gc+n;c[R>>2]=n-hc;c[S>>2]=ic+lc;c[T>>2]=lc-jc;c[U>>2]=kc+lc;c[V>>2]=lc-mc;c[W>>2]=nc+n;c[X>>2]=n-(c[sc>>2]|0);n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[o+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[o+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break a;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=o;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);p=p+1|0;if(p>>>0>=oc>>>0)break;else{e=e+2|0;o=o+64|0;l=l>>1}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;n=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;l=r(pc,e)|0;pc=r(o,pc)|0;m=m+l|0;c[uc>>2]=m;c[ya>>2]=l-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+l;c[Ea>>2]=l-kc;c[Fa>>2]=kc+l;c[Ga>>2]=l-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+l;c[Ma>>2]=l-(c[sc>>2]|0);l=0;while(1){i=(c[rc+(l<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+l>>0]|0)|0;i=(i|0)>0?i:0;a[h+l>>0]=(i|0)<255?i:255;i=15-l|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=l+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=l+1|0;if((m|0)==16)break;l=m;m=c[uc+(m<<2)>>2]|0}n=n+1|0;if((n|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=b[17282]|0;nb=b[17283]|0;ob=uc+32|0;pb=uc+4|0;qb=uc+36|0;rb=uc+8|0;sb=uc+40|0;tb=uc+12|0;ub=uc+44|0;vb=uc+16|0;wb=uc+48|0;xb=uc+20|0;yb=uc+52|0;zb=uc+24|0;Ab=uc+56|0;Bb=uc+28|0;Cb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[Fb>>2]=nc;lc=r(ic,mb)|0;c[Gb>>2]=lc;ic=r(ic,nb)|0;c[Hb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[ob>>2]=qc-pc;pc=c[Ta>>2]|0;c[pb>>2]=pc+oc;c[qb>>2]=nc-mc;mc=c[Wa>>2]|0;c[rb>>2]=mc+lc;c[sb>>2]=kc-jc;jc=c[Za>>2]|0;c[tb>>2]=jc+ic;gc=c[ab>>2]|0;c[ub>>2]=hc-gc;c[vb>>2]=gc+hc;c[wb>>2]=ic-jc;c[xb>>2]=(c[db>>2]|0)+kc;c[yb>>2]=lc-mc;c[zb>>2]=(c[gb>>2]|0)+nc;c[Ab>>2]=oc-pc;c[Bb>>2]=(c[jb>>2]|0)+qc;c[Cb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}nb=b[17408]|0;ob=b[17920]|0;pb=b[17409]|0;qb=b[17921]|0;rb=b[17152]|0;sb=b[17664]|0;tb=b[17153]|0;ub=b[17665]|0;vb=b[17216]|0;wb=b[17344]|0;xb=b[17472]|0;yb=b[17600]|0;zb=b[17728]|0;Ab=b[17856]|0;Bb=b[17984]|0;Cb=b[18112]|0;Db=b[17217]|0;Eb=b[17345]|0;D=b[17473]|0;E=b[17601]|0;F=b[17729]|0;G=b[17857]|0;H=b[17985]|0;I=b[18113]|0;J=sc+4|0;K=b[17218]|0;L=b[17346]|0;M=b[17474]|0;N=b[17602]|0;O=b[17730]|0;P=b[17858]|0;Q=b[17986]|0;R=b[18114]|0;S=sc+8|0;T=b[17219]|0;U=b[17347]|0;V=b[17475]|0;W=b[17603]|0;X=b[17731]|0;Y=b[17859]|0;Z=b[17987]|0;_=b[18115]|0;$=sc+12|0;aa=b[17220]|0;ba=b[17348]|0;ca=b[17476]|0;da=b[17604]|0;ea=b[17732]|0;fa=b[17860]|0;ga=b[17988]|0;ha=b[18116]|0;ia=sc+16|0;ja=b[17221]|0;ka=b[17349]|0;la=b[17477]|0;ma=b[17605]|0;na=b[17733]|0;oa=b[17861]|0;pa=b[17989]|0;qa=b[18117]|0;ra=sc+20|0;sa=b[17222]|0;ta=b[17350]|0;ua=b[17478]|0;va=b[17606]|0;wa=b[17734]|0;xa=b[17862]|0;ya=b[17990]|0;za=b[18118]|0;Aa=sc+24|0;Ba=b[17223]|0;Ca=b[17351]|0;Da=b[17479]|0;Ea=b[17607]|0;Fa=b[17735]|0;Ga=b[17863]|0;Ha=b[17991]|0;Ia=b[18119]|0;Ja=sc+28|0;Ka=b[17280]|0;La=b[17536]|0;Ma=b[17792]|0;Na=b[18048]|0;Oa=b[17281]|0;Pa=b[17537]|0;Qa=b[17793]|0;Ra=b[18049]|0;Sa=b[17282]|0;Ta=b[17538]|0;Ua=b[17794]|0;Va=b[18050]|0;Wa=b[17283]|0;Xa=b[17539]|0;Ya=b[17795]|0;Za=b[18051]|0;_a=uc+32|0;$a=uc+4|0;ab=uc+36|0;bb=uc+8|0;cb=uc+40|0;db=uc+12|0;eb=uc+44|0;fb=uc+16|0;gb=uc+48|0;hb=uc+20|0;ib=uc+52|0;jb=uc+24|0;kb=uc+56|0;lb=uc+28|0;mb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,wb)|0)+(r(pc,vb)|0)+(r(mc,xb)|0)+(r(i,yb)|0)+(r(n,zb)|0)+(r(jc,Ab)|0)+(r(ec,Bb)|0)+(r(fc,Cb)|0);c[J>>2]=(r(m,Eb)|0)+(r(pc,Db)|0)+(r(mc,D)|0)+(r(i,E)|0)+(r(n,F)|0)+(r(jc,G)|0)+(r(ec,H)|0)+(r(fc,I)|0);c[S>>2]=(r(m,L)|0)+(r(pc,K)|0)+(r(mc,M)|0)+(r(i,N)|0)+(r(n,O)|0)+(r(jc,P)|0)+(r(ec,Q)|0)+(r(fc,R)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,La)|0)+(r(fc,Ka)|0)+(r(jc,Ma)|0)+(r(n,Na)|0)|0;c[tc>>2]=i;mc=(r(ec,Pa)|0)+(r(fc,Oa)|0)+(r(jc,Qa)|0)+(r(n,Ra)|0)|0;c[Fb>>2]=mc;pc=(r(ec,Ta)|0)+(r(fc,Sa)|0)+(r(jc,Ua)|0)+(r(n,Va)|0)|0;c[Gb>>2]=pc;n=(r(ec,Xa)|0)+(r(fc,Wa)|0)+(r(jc,Ya)|0)+(r(n,Za)|0)|0;c[Hb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,nb)|0;ec=b[f+1536>>1]|0;fc=(r(ec,ob)|0)+fc|0;jc=(r(qb,ec)|0)+(r(pb,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,rb)|0;qc=b[f+1024>>1]|0;m=(r(qc,sb)|0)+m|0;ec=(r(ub,qc)|0)+(r(tb,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[Ja>>2]|0;c[_a>>2]=qc-pc;oc=c[J>>2]|0;c[$a>>2]=oc+nc;lc=c[Aa>>2]|0;c[ab>>2]=mc-lc;kc=c[S>>2]|0;c[bb>>2]=kc+jc;hc=c[ra>>2]|0;c[cb>>2]=ic-hc;gc=c[$>>2]|0;c[db>>2]=gc+fc;dc=c[ia>>2]|0;c[eb>>2]=ec-dc;c[fb>>2]=dc+ec;c[gb>>2]=fc-gc;c[hb>>2]=hc+ic;c[ib>>2]=jc-kc;c[jb>>2]=lc+mc;c[kb>>2]=nc-oc;c[lb>>2]=pc+qc;c[mb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}lc=i*3|0;mc=i*5|0;nc=i*7|0;if(m>>>0>4294967039){q=i<<1;s=i*6|0;t=i<<2;u=b[17152]|0;v=b[17153]|0;w=b[17184]|0;x=b[17248]|0;y=b[17312]|0;z=b[17376]|0;A=b[17185]|0;B=b[17249]|0;C=b[17313]|0;D=b[17377]|0;E=rc+4|0;F=b[17186]|0;G=b[17250]|0;H=b[17314]|0;I=b[17378]|0;J=rc+8|0;K=b[17187]|0;L=b[17251]|0;M=b[17315]|0;N=b[17379]|0;O=rc+12|0;P=b[17188]|0;Q=b[17252]|0;R=b[17316]|0;S=b[17380]|0;T=rc+16|0;U=b[17189]|0;V=b[17253]|0;W=b[17317]|0;X=b[17381]|0;Y=rc+20|0;Z=b[17190]|0;_=b[17254]|0;$=b[17318]|0;aa=b[17382]|0;ba=rc+24|0;ca=b[17191]|0;da=b[17255]|0;ea=b[17319]|0;fa=b[17383]|0;ga=rc+28|0;ha=b[17192]|0;ia=b[17256]|0;ja=b[17320]|0;ka=b[17384]|0;la=rc+32|0;ma=b[17193]|0;na=b[17257]|0;oa=b[17321]|0;pa=b[17385]|0;qa=rc+36|0;ra=b[17194]|0;sa=b[17258]|0;ta=b[17322]|0;ua=b[17386]|0;va=rc+40|0;wa=b[17195]|0;xa=b[17259]|0;ya=b[17323]|0;za=b[17387]|0;Aa=rc+44|0;Ba=b[17196]|0;Ca=b[17260]|0;Da=b[17324]|0;Ea=b[17388]|0;Fa=rc+48|0;Ga=b[17197]|0;Ha=b[17261]|0;Ia=b[17325]|0;Ja=b[17389]|0;Ka=rc+52|0;La=b[17198]|0;Ma=b[17262]|0;Na=b[17326]|0;Oa=b[17390]|0;Pa=rc+56|0;Qa=b[17199]|0;Ra=b[17263]|0;Sa=b[17327]|0;Ta=b[17391]|0;Ua=rc+60|0;Va=b[17216]|0;Wa=b[17344]|0;Xa=b[17217]|0;Ya=b[17345]|0;Za=sc+4|0;_a=b[17218]|0;$a=b[17346]|0;ab=sc+8|0;bb=b[17219]|0;cb=b[17347]|0;db=sc+12|0;eb=b[17220]|0;fb=b[17348]|0;gb=sc+16|0;hb=b[17221]|0;ib=b[17349]|0;jb=sc+20|0;kb=b[17222]|0;lb=b[17350]|0;mb=sc+24|0;nb=b[17223]|0;ob=b[17351]|0;pb=sc+28|0;qb=b[17280]|0;rb=b[17281]|0;sb=tc+4|0;tb=b[17282]|0;ub=tc+8|0;vb=b[17283]|0;wb=tc+12|0;xb=uc+32|0;yb=uc+4|0;zb=uc+36|0;Ab=uc+8|0;Bb=uc+40|0;Cb=uc+12|0;Db=uc+44|0;Eb=uc+16|0;Fb=uc+48|0;Gb=uc+20|0;Hb=uc+52|0;Ib=uc+24|0;Jb=uc+56|0;Kb=uc+28|0;Lb=uc+60|0;o=0;p=f;while(1){b:do if(!(l&1)){cc=b[e+(i<<1)>>1]|0;fc=b[e+(lc<<1)>>1]|0;bc=b[e+(mc<<1)>>1]|0;ic=b[e+(nc<<1)>>1]|0;c[rc>>2]=(r(fc,x)|0)+(r(cc,w)|0)+(r(bc,y)|0)+(r(ic,z)|0);c[E>>2]=(r(fc,B)|0)+(r(cc,A)|0)+(r(bc,C)|0)+(r(ic,D)|0);c[J>>2]=(r(fc,G)|0)+(r(cc,F)|0)+(r(bc,H)|0)+(r(ic,I)|0);c[O>>2]=(r(fc,L)|0)+(r(cc,K)|0)+(r(bc,M)|0)+(r(ic,N)|0);c[T>>2]=(r(fc,Q)|0)+(r(cc,P)|0)+(r(bc,R)|0)+(r(ic,S)|0);c[Y>>2]=(r(fc,V)|0)+(r(cc,U)|0)+(r(bc,W)|0)+(r(ic,X)|0);c[ba>>2]=(r(fc,_)|0)+(r(cc,Z)|0)+(r(bc,$)|0)+(r(ic,aa)|0);c[ga>>2]=(r(fc,da)|0)+(r(cc,ca)|0)+(r(bc,ea)|0)+(r(ic,fa)|0);c[la>>2]=(r(fc,ia)|0)+(r(cc,ha)|0)+(r(bc,ja)|0)+(r(ic,ka)|0);c[qa>>2]=(r(fc,na)|0)+(r(cc,ma)|0)+(r(bc,oa)|0)+(r(ic,pa)|0);c[va>>2]=(r(fc,sa)|0)+(r(cc,ra)|0)+(r(bc,ta)|0)+(r(ic,ua)|0);c[Aa>>2]=(r(fc,xa)|0)+(r(cc,wa)|0)+(r(bc,ya)|0)+(r(ic,za)|0);c[Fa>>2]=(r(fc,Ca)|0)+(r(cc,Ba)|0)+(r(bc,Da)|0)+(r(ic,Ea)|0);c[Ka>>2]=(r(fc,Ha)|0)+(r(cc,Ga)|0)+(r(bc,Ia)|0)+(r(ic,Ja)|0);c[Pa>>2]=(r(fc,Ma)|0)+(r(cc,La)|0)+(r(bc,Na)|0)+(r(ic,Oa)|0);c[Ua>>2]=(r(fc,Ra)|0)+(r(cc,Qa)|0)+(r(bc,Sa)|0)+(r(ic,Ta)|0);ic=b[e+(q<<1)>>1]|0;bc=b[e+(s<<1)>>1]|0;c[sc>>2]=(r(bc,Wa)|0)+(r(ic,Va)|0);c[Za>>2]=(r(bc,Ya)|0)+(r(ic,Xa)|0);c[ab>>2]=(r(bc,$a)|0)+(r(ic,_a)|0);c[db>>2]=(r(bc,cb)|0)+(r(ic,bb)|0);c[gb>>2]=(r(bc,fb)|0)+(r(ic,eb)|0);cc=(r(bc,ib)|0)+(r(ic,hb)|0)|0;c[jb>>2]=cc;fc=(r(bc,lb)|0)+(r(ic,kb)|0)|0;c[mb>>2]=fc;ic=(r(bc,ob)|0)+(r(ic,nb)|0)|0;c[pb>>2]=ic;bc=b[e+(t<<1)>>1]|0;jc=r(bc,qb)|0;c[tc>>2]=jc;gc=r(bc,rb)|0;c[sb>>2]=gc;ec=r(bc,tb)|0;c[ub>>2]=ec;bc=r(bc,vb)|0;c[wb>>2]=bc;m=b[e>>1]|0;n=r(m,u)|0;m=r(v,m)|0;kc=jc+n|0;ac=n-bc|0;hc=gc+m|0;dc=m-ec|0;ec=ec+m|0;gc=m-gc|0;bc=bc+n|0;jc=n-jc|0;n=c[sc>>2]|0;m=n+kc|0;c[uc>>2]=m;c[xb>>2]=jc-ic;ic=c[Za>>2]|0;c[yb>>2]=ic+hc;c[zb>>2]=gc-fc;fc=c[ab>>2]|0;c[Ab>>2]=fc+ec;c[Bb>>2]=dc-cc;cc=c[db>>2]|0;c[Cb>>2]=cc+bc;$b=c[gb>>2]|0;c[Db>>2]=ac-$b;c[Eb>>2]=$b+ac;c[Fb>>2]=bc-cc;c[Gb>>2]=(c[jb>>2]|0)+dc;c[Hb>>2]=ec-fc;c[Ib>>2]=(c[mb>>2]|0)+gc;c[Jb>>2]=hc-ic;c[Kb>>2]=(c[pb>>2]|0)+jc;c[Lb>>2]=kc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[p+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[p+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break b;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=p;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);o=o+1|0;if(o>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;p=p+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;n=r(pc,e)|0;pc=r(o,pc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+n;c[Ea>>2]=n-kc;c[Fa>>2]=kc+n;c[Ga>>2]=n-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[mb>>2]=nc;lc=r(ic,nb)|0;c[ob>>2]=lc;ic=r(ic,pb)|0;c[qb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[rb>>2]=qc-pc;pc=c[Ta>>2]|0;c[sb>>2]=pc+oc;c[tb>>2]=nc-mc;mc=c[Wa>>2]|0;c[ub>>2]=mc+lc;c[vb>>2]=kc-jc;jc=c[Za>>2]|0;c[wb>>2]=jc+ic;gc=c[ab>>2]|0;c[xb>>2]=hc-gc;c[yb>>2]=gc+hc;c[zb>>2]=ic-jc;c[Ab>>2]=(c[db>>2]|0)+kc;c[Bb>>2]=lc-mc;c[Cb>>2]=(c[gb>>2]|0)+nc;c[Db>>2]=oc-pc;c[Eb>>2]=(c[jb>>2]|0)+qc;c[Fb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(pc,L)|0)+(r(mc,N)|0)+(r(i,O)|0)+(r(n,P)|0)+(r(jc,Q)|0)+(r(ec,R)|0)+(r(fc,S)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(pc,Ka)|0)+(r(mc,Ma)|0)+(r(i,Na)|0)+(r(n,Oa)|0)+(r(jc,Pa)|0)+(r(ec,Qa)|0)+(r(fc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(pc,Ta)|0)+(r(mc,Va)|0)+(r(i,Wa)|0)+(r(n,Xa)|0)+(r(jc,Ya)|0)+(r(ec,Za)|0)+(r(fc,_a)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,bb)|0)+(r(fc,ab)|0)+(r(jc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=i;mc=(r(ec,fb)|0)+(r(fc,eb)|0)+(r(jc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=mc;pc=(r(ec,kb)|0)+(r(fc,jb)|0)+(r(jc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=pc;n=(r(ec,pb)|0)+(r(fc,ob)|0)+(r(jc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,D)|0;ec=b[f+1536>>1]|0;fc=(r(ec,E)|0)+fc|0;jc=(r(G,ec)|0)+(r(F,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,H)|0;qc=b[f+1024>>1]|0;m=(r(qc,I)|0)+m|0;ec=(r(K,qc)|0)+(r(J,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[$a>>2]|0;c[tb>>2]=qc-pc;oc=c[$>>2]|0;c[ub>>2]=oc+nc;lc=c[Sa>>2]|0;c[vb>>2]=mc-lc;kc=c[ia>>2]|0;c[wb>>2]=kc+jc;hc=c[Ja>>2]|0;c[xb>>2]=ic-hc;gc=c[ra>>2]|0;c[yb>>2]=gc+fc;dc=c[Aa>>2]|0;c[zb>>2]=ec-dc;c[Ab>>2]=dc+ec;c[Bb>>2]=fc-gc;c[Cb>>2]=hc+ic;c[Db>>2]=jc-kc;c[Eb>>2]=lc+mc;c[Fb>>2]=nc-oc;c[Gb>>2]=pc+qc;c[Hb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}G=i*9|0;H=i*11|0;I=i*13|0;J=i*15|0;K=i*17|0;L=i*19|0;M=i*21|0;N=i*23|0;O=i*25|0;P=i*27|0;Q=i*29|0;R=i*31|0;S=i<<1;T=i*6|0;U=i*10|0;V=i*14|0;W=i*18|0;X=i*22|0;Y=i*26|0;Z=i*30|0;_=i<<2;$=i*12|0;aa=i*20|0;ba=i*28|0;ca=b[17408]|0;da=i<<3;ea=b[17920]|0;fa=i*24|0;ga=b[17409]|0;ha=b[17921]|0;ia=b[17152]|0;ja=b[17664]|0;ka=i<<4;la=b[17153]|0;ma=b[17665]|0;na=b[17216]|0;oa=b[17344]|0;pa=b[17472]|0;qa=b[17600]|0;ra=b[17728]|0;sa=b[17856]|0;ta=b[17984]|0;ua=b[18112]|0;va=b[17217]|0;wa=b[17345]|0;xa=b[17473]|0;ya=b[17601]|0;za=b[17729]|0;Aa=b[17857]|0;Ba=b[17985]|0;Ca=b[18113]|0;Da=sc+4|0;Ea=b[17218]|0;Fa=b[17346]|0;Ga=b[17474]|0;Ha=b[17602]|0;Ia=b[17730]|0;Ja=b[17858]|0;Ka=b[17986]|0;La=b[18114]|0;Ma=sc+8|0;Na=b[17219]|0;Oa=b[17347]|0;Pa=b[17475]|0;Qa=b[17603]|0;Ra=b[17731]|0;Sa=b[17859]|0;Ta=b[17987]|0;Ua=b[18115]|0;Va=sc+12|0;Wa=b[17220]|0;Xa=b[17348]|0;Ya=b[17476]|0;Za=b[17604]|0;_a=b[17732]|0;$a=b[17860]|0;ab=b[17988]|0;bb=b[18116]|0;cb=sc+16|0;db=b[17221]|0;eb=b[17349]|0;fb=b[17477]|0;gb=b[17605]|0;hb=b[17733]|0;ib=b[17861]|0;jb=b[17989]|0;kb=b[18117]|0;lb=sc+20|0;mb=b[17222]|0;nb=b[17350]|0;ob=b[17478]|0;pb=b[17606]|0;qb=b[17734]|0;rb=b[17862]|0;sb=b[17990]|0;tb=b[18118]|0;ub=sc+24|0;vb=b[17223]|0;wb=b[17351]|0;xb=b[17479]|0;yb=b[17607]|0;zb=b[17735]|0;Ab=b[17863]|0;Bb=b[17991]|0;Cb=b[18119]|0;Db=sc+28|0;Eb=b[17280]|0;Fb=b[17536]|0;Gb=b[17792]|0;Hb=b[18048]|0;Ib=b[17281]|0;Jb=b[17537]|0;Kb=b[17793]|0;Lb=b[18049]|0;Mb=tc+4|0;Nb=b[17282]|0;Ob=b[17538]|0;Pb=b[17794]|0;Qb=b[18050]|0;Rb=tc+8|0;Tb=b[17283]|0;Ub=b[17539]|0;Vb=b[17795]|0;Wb=b[18051]|0;Xb=tc+12|0;Yb=uc+32|0;Zb=uc+4|0;_b=uc+36|0;$b=uc+8|0;ac=uc+40|0;bc=uc+12|0;cc=uc+44|0;dc=uc+16|0;ec=uc+48|0;fc=uc+20|0;gc=uc+52|0;hc=uc+24|0;ic=uc+56|0;jc=uc+28|0;kc=uc+60|0;E=0;F=f;while(1){c:do if(!(l&1)){n=b[e+(i<<1)>>1]|0;o=b[e+(lc<<1)>>1]|0;p=b[e+(mc<<1)>>1]|0;q=b[e+(nc<<1)>>1]|0;s=b[e+(G<<1)>>1]|0;t=b[e+(H<<1)>>1]|0;u=b[e+(I<<1)>>1]|0;v=b[e+(J<<1)>>1]|0;w=b[e+(K<<1)>>1]|0;x=b[e+(L<<1)>>1]|0;y=b[e+(M<<1)>>1]|0;z=b[e+(N<<1)>>1]|0;A=b[e+(O<<1)>>1]|0;B=b[e+(P<<1)>>1]|0;C=b[e+(Q<<1)>>1]|0;D=b[e+(R<<1)>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(o,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(p,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(B,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(C,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(D,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);C=b[e+(S<<1)>>1]|0;m=b[e+(T<<1)>>1]|0;z=b[e+(U<<1)>>1]|0;wc=b[e+(V<<1)>>1]|0;n=b[e+(W<<1)>>1]|0;w=b[e+(X<<1)>>1]|0;q=b[e+(Y<<1)>>1]|0;s=b[e+(Z<<1)>>1]|0;c[sc>>2]=(r(m,oa)|0)+(r(C,na)|0)+(r(z,pa)|0)+(r(wc,qa)|0)+(r(n,ra)|0)+(r(w,sa)|0)+(r(q,ta)|0)+(r(s,ua)|0);c[Da>>2]=(r(m,wa)|0)+(r(C,va)|0)+(r(z,xa)|0)+(r(wc,ya)|0)+(r(n,za)|0)+(r(w,Aa)|0)+(r(q,Ba)|0)+(r(s,Ca)|0);c[Ma>>2]=(r(m,Fa)|0)+(r(C,Ea)|0)+(r(z,Ga)|0)+(r(wc,Ha)|0)+(r(n,Ia)|0)+(r(w,Ja)|0)+(r(q,Ka)|0)+(r(s,La)|0);c[Va>>2]=(r(m,Oa)|0)+(r(C,Na)|0)+(r(z,Pa)|0)+(r(wc,Qa)|0)+(r(n,Ra)|0)+(r(w,Sa)|0)+(r(q,Ta)|0)+(r(s,Ua)|0);c[cb>>2]=(r(m,Xa)|0)+(r(C,Wa)|0)+(r(z,Ya)|0)+(r(wc,Za)|0)+(r(n,_a)|0)+(r(w,$a)|0)+(r(q,ab)|0)+(r(s,bb)|0);c[lb>>2]=(r(m,eb)|0)+(r(C,db)|0)+(r(z,fb)|0)+(r(wc,gb)|0)+(r(n,hb)|0)+(r(w,ib)|0)+(r(q,jb)|0)+(r(s,kb)|0);c[ub>>2]=(r(m,nb)|0)+(r(C,mb)|0)+(r(z,ob)|0)+(r(wc,pb)|0)+(r(n,qb)|0)+(r(w,rb)|0)+(r(q,sb)|0)+(r(s,tb)|0);c[Db>>2]=(r(m,wb)|0)+(r(C,vb)|0)+(r(z,xb)|0)+(r(wc,yb)|0)+(r(n,zb)|0)+(r(w,Ab)|0)+(r(q,Bb)|0)+(r(s,Cb)|0);s=b[e+(_<<1)>>1]|0;q=b[e+($<<1)>>1]|0;w=b[e+(aa<<1)>>1]|0;n=b[e+(ba<<1)>>1]|0;wc=(r(q,Fb)|0)+(r(s,Eb)|0)+(r(w,Gb)|0)+(r(n,Hb)|0)|0;c[tc>>2]=wc;z=(r(q,Jb)|0)+(r(s,Ib)|0)+(r(w,Kb)|0)+(r(n,Lb)|0)|0;c[Mb>>2]=z;C=(r(q,Ob)|0)+(r(s,Nb)|0)+(r(w,Pb)|0)+(r(n,Qb)|0)|0;c[Rb>>2]=C;n=(r(q,Ub)|0)+(r(s,Tb)|0)+(r(w,Vb)|0)+(r(n,Wb)|0)|0;c[Xb>>2]=n;w=b[e+(da<<1)>>1]|0;s=r(w,ca)|0;q=b[e+(fa<<1)>>1]|0;s=(r(q,ea)|0)+s|0;w=(r(ha,q)|0)+(r(ga,w)|0)|0;q=b[e>>1]|0;m=r(q,ia)|0;D=b[e+(ka<<1)>>1]|0;m=(r(D,ja)|0)+m|0;q=(r(ma,D)|0)+(r(la,q)|0)|0;D=m+s|0;s=m-s|0;m=q+w|0;w=q-w|0;wc=wc+D|0;q=s-n|0;A=z+m|0;v=w-C|0;w=C+w|0;z=m-z|0;s=n+s|0;D=D-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;C=c[Db>>2]|0;c[Yb>>2]=D-C;B=c[Da>>2]|0;c[Zb>>2]=B+A;y=c[ub>>2]|0;c[_b>>2]=z-y;x=c[Ma>>2]|0;c[$b>>2]=x+w;u=c[lb>>2]|0;c[ac>>2]=v-u;t=c[Va>>2]|0;c[bc>>2]=t+s;p=c[cb>>2]|0;c[cc>>2]=q-p;c[dc>>2]=p+q;c[ec>>2]=s-t;c[fc>>2]=u+v;c[gc>>2]=w-x;c[hc>>2]=y+z;c[ic>>2]=A-B;c[jc>>2]=C+D;c[kc>>2]=wc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[F+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[F+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break c;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=F;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);E=E+1|0;if(E>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;F=F+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){wc=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(wc,p)|0);c[u>>2]=(r(m,t)|0)+(r(wc,s)|0);c[x>>2]=(r(m,w)|0)+(r(wc,v)|0);c[A>>2]=(r(m,z)|0)+(r(wc,y)|0);c[D>>2]=(r(m,C)|0)+(r(wc,B)|0);c[G>>2]=(r(m,F)|0)+(r(wc,E)|0);c[J>>2]=(r(m,I)|0)+(r(wc,H)|0);c[M>>2]=(r(m,L)|0)+(r(wc,K)|0);c[P>>2]=(r(m,O)|0)+(r(wc,N)|0);c[S>>2]=(r(m,R)|0)+(r(wc,Q)|0);c[V>>2]=(r(m,U)|0)+(r(wc,T)|0);c[Y>>2]=(r(m,X)|0)+(r(wc,W)|0);c[$>>2]=(r(m,_)|0)+(r(wc,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(wc,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(wc,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(wc,ga)|0);wc=b[f+128>>1]|0;m=r(wc,ja)|0;c[sc>>2]=m;i=r(wc,ka)|0;c[la>>2]=i;oc=r(wc,ma)|0;c[na>>2]=oc;mc=r(wc,oa)|0;c[pa>>2]=mc;lc=r(wc,qa)|0;c[ra>>2]=lc;nc=r(wc,sa)|0;c[ta>>2]=nc;pc=r(wc,ua)|0;c[va>>2]=pc;wc=r(wc,wa)|0;c[xa>>2]=wc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;qc=b[f>>1]|0;n=r(qc,e)|0;qc=r(o,qc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-wc;c[za>>2]=i+qc;c[Aa>>2]=qc-pc;c[Ba>>2]=oc+qc;c[Ca>>2]=qc-nc;c[Da>>2]=mc+n;c[Ea>>2]=n-lc;c[Fa>>2]=lc+n;c[Ga>>2]=n-mc;c[Ha>>2]=nc+qc;c[Ia>>2]=qc-oc;c[Ja>>2]=pc+qc;c[Ka>>2]=qc-i;c[La>>2]=wc+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){kc=b[f+64>>1]|0;nc=b[f+192>>1]|0;jc=b[f+320>>1]|0;qc=b[f+448>>1]|0;c[rc>>2]=(r(nc,q)|0)+(r(kc,p)|0)+(r(jc,s)|0)+(r(qc,t)|0);c[y>>2]=(r(nc,v)|0)+(r(kc,u)|0)+(r(jc,w)|0)+(r(qc,x)|0);c[D>>2]=(r(nc,A)|0)+(r(kc,z)|0)+(r(jc,B)|0)+(r(qc,C)|0);c[I>>2]=(r(nc,F)|0)+(r(kc,E)|0)+(r(jc,G)|0)+(r(qc,H)|0);c[N>>2]=(r(nc,K)|0)+(r(kc,J)|0)+(r(jc,L)|0)+(r(qc,M)|0);c[S>>2]=(r(nc,P)|0)+(r(kc,O)|0)+(r(jc,Q)|0)+(r(qc,R)|0);c[X>>2]=(r(nc,U)|0)+(r(kc,T)|0)+(r(jc,V)|0)+(r(qc,W)|0);c[aa>>2]=(r(nc,Z)|0)+(r(kc,Y)|0)+(r(jc,_)|0)+(r(qc,$)|0);c[fa>>2]=(r(nc,ca)|0)+(r(kc,ba)|0)+(r(jc,da)|0)+(r(qc,ea)|0);c[ka>>2]=(r(nc,ha)|0)+(r(kc,ga)|0)+(r(jc,ia)|0)+(r(qc,ja)|0);c[pa>>2]=(r(nc,ma)|0)+(r(kc,la)|0)+(r(jc,na)|0)+(r(qc,oa)|0);c[ua>>2]=(r(nc,ra)|0)+(r(kc,qa)|0)+(r(jc,sa)|0)+(r(qc,ta)|0);c[za>>2]=(r(nc,wa)|0)+(r(kc,va)|0)+(r(jc,xa)|0)+(r(qc,ya)|0);c[Ea>>2]=(r(nc,Ba)|0)+(r(kc,Aa)|0)+(r(jc,Ca)|0)+(r(qc,Da)|0);c[Ja>>2]=(r(nc,Ga)|0)+(r(kc,Fa)|0)+(r(jc,Ha)|0)+(r(qc,Ia)|0);c[Oa>>2]=(r(nc,La)|0)+(r(kc,Ka)|0)+(r(jc,Ma)|0)+(r(qc,Na)|0);qc=b[f+128>>1]|0;jc=b[f+384>>1]|0;c[sc>>2]=(r(jc,Qa)|0)+(r(qc,Pa)|0);c[Ta>>2]=(r(jc,Sa)|0)+(r(qc,Ra)|0);c[Wa>>2]=(r(jc,Va)|0)+(r(qc,Ua)|0);c[Za>>2]=(r(jc,Ya)|0)+(r(qc,Xa)|0);c[ab>>2]=(r(jc,$a)|0)+(r(qc,_a)|0);kc=(r(jc,cb)|0)+(r(qc,bb)|0)|0;c[db>>2]=kc;nc=(r(jc,fb)|0)+(r(qc,eb)|0)|0;c[gb>>2]=nc;qc=(r(jc,ib)|0)+(r(qc,hb)|0)|0;c[jb>>2]=qc;jc=b[f+256>>1]|0;i=r(jc,kb)|0;c[tc>>2]=i;oc=r(jc,lb)|0;c[mb>>2]=oc;mc=r(jc,nb)|0;c[ob>>2]=mc;jc=r(jc,pb)|0;c[qb>>2]=jc;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;wc=i+n|0;ic=n-jc|0;pc=oc+m|0;lc=m-mc|0;mc=mc+m|0;oc=m-oc|0;jc=jc+n|0;i=n-i|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;c[rb>>2]=i-qc;qc=c[Ta>>2]|0;c[sb>>2]=qc+pc;c[tb>>2]=oc-nc;nc=c[Wa>>2]|0;c[ub>>2]=nc+mc;c[vb>>2]=lc-kc;kc=c[Za>>2]|0;c[wb>>2]=kc+jc;hc=c[ab>>2]|0;c[xb>>2]=ic-hc;c[yb>>2]=hc+ic;c[zb>>2]=jc-kc;c[Ab>>2]=(c[db>>2]|0)+lc;c[Bb>>2]=mc-nc;c[Cb>>2]=(c[gb>>2]|0)+oc;c[Db>>2]=pc-qc;c[Eb>>2]=(c[jb>>2]|0)+i;c[Fb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(l,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);qc=b[f+128>>1]|0;m=b[f+384>>1]|0;nc=b[f+640>>1]|0;wc=b[f+896>>1]|0;n=b[f+1152>>1]|0;kc=b[f+1408>>1]|0;fc=b[f+1664>>1]|0;gc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(qc,L)|0)+(r(nc,N)|0)+(r(wc,O)|0)+(r(n,P)|0)+(r(kc,Q)|0)+(r(fc,R)|0)+(r(gc,S)|0);c[$>>2]=(r(m,U)|0)+(r(qc,T)|0)+(r(nc,V)|0)+(r(wc,W)|0)+(r(n,X)|0)+(r(kc,Y)|0)+(r(fc,Z)|0)+(r(gc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(qc,aa)|0)+(r(nc,ca)|0)+(r(wc,da)|0)+(r(n,ea)|0)+(r(kc,fa)|0)+(r(fc,ga)|0)+(r(gc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(qc,ja)|0)+(r(nc,la)|0)+(r(wc,ma)|0)+(r(n,na)|0)+(r(kc,oa)|0)+(r(fc,pa)|0)+(r(gc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(qc,sa)|0)+(r(nc,ua)|0)+(r(wc,va)|0)+(r(n,wa)|0)+(r(kc,xa)|0)+(r(fc,ya)|0)+(r(gc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(qc,Ba)|0)+(r(nc,Da)|0)+(r(wc,Ea)|0)+(r(n,Fa)|0)+(r(kc,Ga)|0)+(r(fc,Ha)|0)+(r(gc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(qc,Ka)|0)+(r(nc,Ma)|0)+(r(wc,Na)|0)+(r(n,Oa)|0)+(r(kc,Pa)|0)+(r(fc,Qa)|0)+(r(gc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(qc,Ta)|0)+(r(nc,Va)|0)+(r(wc,Wa)|0)+(r(n,Xa)|0)+(r(kc,Ya)|0)+(r(fc,Za)|0)+(r(gc,_a)|0);gc=b[f+256>>1]|0;fc=b[f+768>>1]|0;kc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;wc=(r(fc,bb)|0)+(r(gc,ab)|0)+(r(kc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=wc;nc=(r(fc,fb)|0)+(r(gc,eb)|0)+(r(kc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=nc;qc=(r(fc,kb)|0)+(r(gc,jb)|0)+(r(kc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=qc;n=(r(fc,pb)|0)+(r(gc,ob)|0)+(r(kc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;kc=b[f+512>>1]|0;gc=r(kc,D)|0;fc=b[f+1536>>1]|0;gc=(r(fc,E)|0)+gc|0;kc=(r(G,fc)|0)+(r(F,kc)|0)|0;fc=b[f>>1]|0;m=r(fc,H)|0;i=b[f+1024>>1]|0;m=(r(i,I)|0)+m|0;fc=(r(K,i)|0)+(r(J,fc)|0)|0;i=m+gc|0;gc=m-gc|0;m=fc+kc|0;kc=fc-kc|0;wc=wc+i|0;fc=gc-n|0;oc=nc+m|0;jc=kc-qc|0;kc=qc+kc|0;nc=m-nc|0;gc=n+gc|0;i=i-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;qc=c[$a>>2]|0;c[tb>>2]=i-qc;pc=c[$>>2]|0;c[ub>>2]=pc+oc;mc=c[Sa>>2]|0;c[vb>>2]=nc-mc;lc=c[ia>>2]|0;c[wb>>2]=lc+kc;ic=c[Ja>>2]|0;c[xb>>2]=jc-ic;hc=c[ra>>2]|0;c[yb>>2]=hc+gc;ec=c[Aa>>2]|0;c[zb>>2]=fc-ec;c[Ab>>2]=ec+fc;c[Bb>>2]=gc-hc;c[Cb>>2]=ic+jc;c[Db>>2]=kc-lc;c[Eb>>2]=mc+nc;c[Fb>>2]=oc-pc;c[Gb>>2]=qc+i;c[Hb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}function tf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;fa=Sb;Sb=Sb+32|0;ea=fa+16|0;da=fa;$=(l&240|0)==240;Z=$?4:8;_=i*3|0;if((m&240|0)==240){t=b[16848]|0;u=i<<1;v=b[16849]|0;w=b[16832]|0;x=b[16833]|0;O=ea+12|0;P=ea+4|0;Q=ea+8|0;y=b[16840]|0;z=b[16856]|0;A=b[16841]|0;B=b[16857]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=da+8|0;G=b[16843]|0;H=b[16859]|0;I=da+12|0;q=f;s=0;n=c[Q>>2]|0;p=c[P>>2]|0;o=c[O>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){ca=b[e+(i<<1)>>1]|0;n=b[e+(_<<1)>>1]|0;Y=(r(n,z)|0)+(r(ca,y)|0)|0;c[da>>2]=Y;ba=(r(n,B)|0)+(r(ca,A)|0)|0;c[C>>2]=ba;aa=(r(n,E)|0)+(r(ca,D)|0)|0;c[F>>2]=aa;ca=(r(n,H)|0)+(r(ca,G)|0)|0;c[I>>2]=ca;n=b[e+(u<<1)>>1]|0;o=r(n,t)|0;n=r(v,n)|0;X=b[e>>1]|0;p=r(X,w)|0;X=r(x,X)|0;m=p+o|0;o=p-o|0;p=X+n|0;n=X-n|0;Y=Y+m|0;b[q>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=o-ca|0;b[q+8>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=ba+p|0;b[q+2>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=n-aa|0;b[q+10>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;aa=aa+n|0;b[q+4>>1]=(aa|0)>4194239?32767:(aa|0)<-4194368?-32768:(aa+64|0)>>>7&65535;ba=p-ba|0;b[q+12>>1]=(ba|0)>4194239?32767:(ba|0)<-4194368?-32768:(ba+64|0)>>>7&65535;ca=ca+o|0;b[q+6>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535;ca=m-(c[da>>2]|0)|0;b[q+14>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535}else{b[q>>1]=0;b[q+2>>1]=0;b[q+4>>1]=0;b[q+6>>1]=0;b[q+8>>1]=0;b[q+10>>1]=0;b[q+12>>1]=0;b[q+14>>1]=0}s=s+1|0;if(s>>>0>=Z>>>0)break;else{e=e+2|0;q=q+16|0;l=l>>1}}c[ea>>2]=m;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;m=f;n=0;while(1){ba=b[m+16>>1]|0;$=b[m+48>>1]|0;ca=(r($,q)|0)+(r(ba,e)|0)|0;c[da>>2]=ca;c[u>>2]=(r($,t)|0)+(r(ba,s)|0);c[x>>2]=(r($,w)|0)+(r(ba,v)|0);c[A>>2]=(r($,z)|0)+(r(ba,y)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;ba=r(o,ba)|0;aa=b[m>>1]|0;i=r(aa,p)|0;aa=r(l,aa)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){aa=b[m+16>>1]|0;i=b[m+48>>1]|0;$=b[m+80>>1]|0;ba=b[m+112>>1]|0;ca=(r(i,v)|0)+(r(aa,u)|0)+(r($,w)|0)+(r(ba,x)|0)|0;c[da>>2]=ca;c[C>>2]=(r(i,z)|0)+(r(aa,y)|0)+(r($,A)|0)+(r(ba,B)|0);c[H>>2]=(r(i,E)|0)+(r(aa,D)|0)+(r($,F)|0)+(r(ba,G)|0);c[M>>2]=(r(i,J)|0)+(r(aa,I)|0)+(r($,K)|0)+(r(ba,L)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;aa=b[m+96>>1]|0;$=(r(aa,o)|0)+$|0;ba=(r(l,aa)|0)+(r(p,ba)|0)|0;aa=b[m>>1]|0;i=r(aa,e)|0;f=b[m+64>>1]|0;i=(r(f,q)|0)+i|0;aa=(r(t,f)|0)+(r(s,aa)|0)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[C>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[H>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[H>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[C>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}else{t=i*5|0;u=i*7|0;v=b[16848]|0;w=i<<1;x=b[16880]|0;y=i*6|0;z=b[16849]|0;A=b[16881]|0;B=b[16832]|0;C=b[16864]|0;D=i<<2;E=b[16833]|0;F=b[16865]|0;aa=ea+12|0;ba=ea+4|0;ca=ea+8|0;G=b[16840]|0;H=b[16856]|0;I=b[16872]|0;J=b[16888]|0;K=b[16841]|0;L=b[16857]|0;M=b[16873]|0;N=b[16889]|0;O=da+4|0;P=b[16842]|0;Q=b[16858]|0;R=b[16874]|0;S=b[16890]|0;T=da+8|0;U=b[16843]|0;V=b[16859]|0;W=b[16875]|0;X=b[16891]|0;Y=da+12|0;q=0;s=f;n=c[ca>>2]|0;p=c[ba>>2]|0;o=c[aa>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){o=b[e+(i<<1)>>1]|0;ka=b[e+(_<<1)>>1]|0;n=b[e+(t<<1)>>1]|0;ga=b[e+(u<<1)>>1]|0;ja=(r(ka,H)|0)+(r(o,G)|0)+(r(n,I)|0)+(r(ga,J)|0)|0;c[da>>2]=ja;ia=(r(ka,L)|0)+(r(o,K)|0)+(r(n,M)|0)+(r(ga,N)|0)|0;c[O>>2]=ia;ha=(r(ka,Q)|0)+(r(o,P)|0)+(r(n,R)|0)+(r(ga,S)|0)|0;c[T>>2]=ha;ga=(r(ka,V)|0)+(r(o,U)|0)+(r(n,W)|0)+(r(ga,X)|0)|0;c[Y>>2]=ga;n=b[e+(w<<1)>>1]|0;o=r(n,v)|0;ka=b[e+(y<<1)>>1]|0;o=(r(ka,x)|0)+o|0;n=(r(A,ka)|0)+(r(z,n)|0)|0;ka=b[e>>1]|0;p=r(ka,B)|0;m=b[e+(D<<1)>>1]|0;p=(r(m,C)|0)+p|0;ka=(r(F,m)|0)+(r(E,ka)|0)|0;m=p+o|0;o=p-o|0;p=ka+n|0;n=ka-n|0;ja=ja+m|0;b[s>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ja=o-ga|0;b[s+8>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ia=ia+p|0;b[s+2>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ia=n-ha|0;b[s+10>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ha=ha+n|0;b[s+4>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ha=p-(c[O>>2]|0)|0;b[s+12>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ga=ga+o|0;b[s+6>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535;ga=m-(c[da>>2]|0)|0;b[s+14>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535}else{b[s>>1]=0;b[s+2>>1]=0;b[s+4>>1]=0;b[s+6>>1]=0;b[s+8>>1]=0;b[s+10>>1]=0;b[s+12>>1]=0;b[s+14>>1]=0}q=q+1|0;if(q>>>0>=Z>>>0)break;else{l=l>>1;e=e+2|0;s=s+16|0}}c[ea>>2]=m;c[aa>>2]=o;c[ba>>2]=p;c[ca>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;n=0;m=f;while(1){ia=b[m+16>>1]|0;ga=b[m+48>>1]|0;ja=(r(ga,q)|0)+(r(ia,e)|0)|0;c[da>>2]=ja;c[u>>2]=(r(ga,t)|0)+(r(ia,s)|0);c[x>>2]=(r(ga,w)|0)+(r(ia,v)|0);c[A>>2]=(r(ga,z)|0)+(r(ia,y)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ia=r(o,ia)|0;ha=b[m>>1]|0;f=r(ha,p)|0;ha=r(l,ha)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){ha=b[m+16>>1]|0;f=b[m+48>>1]|0;ga=b[m+80>>1]|0;ia=b[m+112>>1]|0;ja=(r(f,v)|0)+(r(ha,u)|0)+(r(ga,w)|0)+(r(ia,x)|0)|0;c[da>>2]=ja;c[C>>2]=(r(f,z)|0)+(r(ha,y)|0)+(r(ga,A)|0)+(r(ia,B)|0);c[H>>2]=(r(f,E)|0)+(r(ha,D)|0)+(r(ga,F)|0)+(r(ia,G)|0);c[M>>2]=(r(f,J)|0)+(r(ha,I)|0)+(r(ga,K)|0)+(r(ia,L)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ha=b[m+96>>1]|0;ga=(r(ha,o)|0)+ga|0;ia=(r(l,ha)|0)+(r(p,ia)|0)|0;ha=b[m>>1]|0;f=r(ha,e)|0;ka=b[m+64>>1]|0;f=(r(ka,q)|0)+f|0;ha=(r(t,ka)|0)+(r(s,ha)|0)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)<1)return;e=0-b|0;b=1;while(1){Sk(a+(r(b,e)|0)|0,a|0,c|0)|0;if((b|0)==(d|0))break;else b=b+1|0}return}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)<1)return;f=a+(0-b)|0;e=1;while(1){Sk(a+(r(e+-1|0,b)|0)|0,f|0,c|0)|0;if((e|0)==(d|0))break;else e=e+1|0}return}function xf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)<=0)return;g=0-e|0;f=0;while(1){Uk(b+g|0,a[b>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function yf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;if((d|0)<=0)return;h=0-(e>>1)|0;if((e|0)<=1)return;f=0;e=a;while(1){a=b[e>>1]|0;c=h;while(1){b[e+(c<<1)>>1]=a;if((c|0)<-1)c=c+1|0;else break}f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function zf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((d|0)<=0)return;f=0;while(1){Uk(b|0,a[b+-1>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;h=e>>1;if(!((d|0)>0&(e|0)>1))return;f=0;e=a;while(1){a=b[e+-2>>1]|0;c=0;do{b[e+(c<<1)>>1]=a;c=c+1|0}while((c|0)<(h|0));f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Bf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Cf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Df(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Ef(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Ff(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;qa=h<<1;ra=i<<1;sa=h*3|0;m=i*3|0;n=h<<2;o=i<<2;p=h*5|0;q=i*5|0;s=h*6|0;t=i*6|0;u=h*7|0;v=i*7|0;w=h<<3;x=i<<3;y=h*9|0;z=i*9|0;A=h*10|0;B=i*10|0;C=h*11|0;D=i*11|0;E=h*12|0;F=i*12|0;G=h*13|0;H=i*13|0;I=h*14|0;J=i*14|0;K=h*15|0;L=i*15|0;M=h<<4;N=i<<4;O=h*17|0;P=i*17|0;Q=h*18|0;R=i*18|0;S=h*19|0;T=i*19|0;U=h*20|0;V=i*20|0;W=h*21|0;X=i*21|0;Y=h*22|0;Z=i*22|0;_=h*23|0;$=i*23|0;aa=h*24|0;ba=i*24|0;ca=h*25|0;da=i*25|0;ea=h*26|0;fa=i*26|0;ga=h*27|0;ha=i*27|0;ia=h*28|0;ja=i*28|0;ka=h*29|0;la=i*29|0;ma=h*30|0;na=i*30|0;oa=h*31|0;pa=i*31|0;l=0;k=e;while(1){if(!(j&1)){e=0;do{ta=b[c+((r(e,g)|0)<<1)>>1]|0;ta=(d[k+(r(e,h)|0)>>0]|0)+ta|0;ta=(ta|0)>0?ta:0;a[f+(r(e,i)|0)>>0]=(ta|0)<255?ta:255;e=e+1|0}while((e|0)!=32)}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+ra>>0]=a[k+qa>>0]|0;a[f+m>>0]=a[k+sa>>0]|0;a[f+o>>0]=a[k+n>>0]|0;a[f+q>>0]=a[k+p>>0]|0;a[f+t>>0]=a[k+s>>0]|0;a[f+v>>0]=a[k+u>>0]|0;a[f+x>>0]=a[k+w>>0]|0;a[f+z>>0]=a[k+y>>0]|0;a[f+B>>0]=a[k+A>>0]|0;a[f+D>>0]=a[k+C>>0]|0;a[f+F>>0]=a[k+E>>0]|0;a[f+H>>0]=a[k+G>>0]|0;a[f+J>>0]=a[k+I>>0]|0;a[f+L>>0]=a[k+K>>0]|0;a[f+N>>0]=a[k+M>>0]|0;a[f+P>>0]=a[k+O>>0]|0;a[f+R>>0]=a[k+Q>>0]|0;a[f+T>>0]=a[k+S>>0]|0;a[f+V>>0]=a[k+U>>0]|0;a[f+X>>0]=a[k+W>>0]|0;a[f+Z>>0]=a[k+Y>>0]|0;a[f+$>>0]=a[k+_>>0]|0;a[f+ba>>0]=a[k+aa>>0]|0;a[f+da>>0]=a[k+ca>>0]|0;a[f+fa>>0]=a[k+ea>>0]|0;a[f+ha>>0]=a[k+ga>>0]|0;a[f+ja>>0]=a[k+ia>>0]|0;a[f+la>>0]=a[k+ka>>0]|0;a[f+na>>0]=a[k+ma>>0]|0;a[f+pa>>0]=a[k+oa>>0]|0}l=l+1|0;if((l|0)==32)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Gf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Sb;Sb=Sb+128|0;p=q;o=(l|0)>0;n=k+-1|0;if(o){m=0;do{a[f+m>>0]=a[b+(n+(r(m,e)|0))>>0]|0;m=m+1|0}while((m|0)!=(l|0))}a[h>>0]=a[g+n>>0]|0;f=(k|0)>0;if(f){n=r(l+-1|0,e)|0;m=0;do{a[g+m>>0]=a[b+(m+n)>>0]|0;m=m+1|0}while((m|0)!=(k|0))}m=p;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[p+((i&31)<<2)>>2]=1;c[p+((i+1&31)<<2)>>2]=2;c[p+((i+2&31)<<2)>>2]=3;c[p+((i+3&31)<<2)>>2]=4;if(!(o&f)){Sb=q;return}m=0;while(1){n=0;do{i=b+n|0;o=d[i>>0]|0;o=(a[j+(c[p+(o>>>3<<2)>>2]|0)>>0]|0)+o|0;o=(o|0)>0?o:0;a[i>>0]=(o|0)<255?o:255;n=n+1|0}while((n|0)!=(k|0));m=m+1|0;if((m|0)==(l|0))break;else b=b+e|0}Sb=q;return}function Hf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+256|0;t=v+128|0;u=v;s=(n|0)>0;p=m+-2|0;q=m+-1|0;if(s){o=0;do{x=r(o,e)|0;w=o<<1;a[f+w>>0]=a[b+(p+x)>>0]|0;a[f+(w|1)>>0]=a[b+(q+x)>>0]|0;o=o+1|0}while((o|0)!=(n|0))}a[h>>0]=a[g+p>>0]|0;a[h+1>>0]=a[g+q>>0]|0;q=(m|0)>0;if(q){p=r(n+-1|0,e)|0;o=0;do{a[g+o>>0]=a[b+(o+p)>>0]|0;o=o+1|0}while((o|0)!=(m|0))}o=t;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=u;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[t+((i&31)<<2)>>2]=1;c[u+((j&31)<<2)>>2]=1;c[t+((i+1&31)<<2)>>2]=2;c[u+((j+1&31)<<2)>>2]=2;c[t+((i+2&31)<<2)>>2]=3;c[u+((j+2&31)<<2)>>2]=3;c[t+((i+3&31)<<2)>>2]=4;c[u+((j+3&31)<<2)>>2]=4;if(!(s&q)){Sb=v;return}p=0;while(1){o=0;do{j=(o&1|0)==0;x=b+o|0;w=d[x>>0]|0;w=(a[(j?k:l)+(c[(j?t:u)+(w>>>3<<2)>>2]|0)>>0]|0)+w|0;w=(w|0)>0?w:0;a[x>>0]=(w|0)<255?w:255;o=o+1|0}while((o|0)!=(m|0));p=p+1|0;if((p|0)==(n|0))break;else b=b+e|0}Sb=v;return}function If(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;u=Sb;Sb=Sb+128|0;s=u+64|0;t=u;i=s;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));o=m+-1|0;a[h>>0]=a[g+o>>0]|0;q=(n|0)>0;if(q){i=0;do{a[t+i>>0]=a[b+(o+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}j=(m|0)>0;if(j){h=r(n+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(!(a[k>>0]|0))a[s>>0]=0;if(!(a[k+1>>0]|0))a[s+o>>0]=0;if(!q){Sb=u;return}if(j){j=b;b=0;while(1){k=a[j>>0]|0;i=(k&255)-(d[f+b>>0]|0)|0;i=(i|0)>-1?(i|0)!=0&1:-1;h=0;while(1){g=k&255;o=h;h=h+1|0;k=a[j+h>>0]|0;p=g-(k&255)|0;p=(p|0)>-1?(p|0)!=0&1:-1;i=c[33568+(i+2+p<<2)>>2]&d[s+o>>0];if(i|0){g=(a[l+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[j+o>>0]=(g|0)<255?g:255}if((h|0)==(m|0))break;else i=0-p|0}b=b+1|0;if((b|0)==(n|0))break;else j=j+e|0}if(!q){Sb=u;return}}Sk(f|0,t|0,n|0)|0;Sb=u;return}function Jf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Sb;Sb=Sb+192|0;w=y+128|0;x=y;i=w;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;p=n+-1|0;a[h+1>>0]=a[g+p>>0]|0;v=(o|0)>0;if(v){i=0;do{t=(r(i,e)|0)+n|0;u=i<<1;a[x+u>>0]=a[b+(t+-2)>>0]|0;a[x+(u|1)>>0]=a[b+(t+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}j=(n|0)>0;if(j){h=r(o+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(n|0))}if(!(a[k>>0]|0))a[w>>0]=0;if(!(a[k+1>>0]|0))a[w+(p>>1)>>0]=0;if(!v){Sb=y;return}if(j){s=b;u=0;while(1){i=a[s>>0]|0;p=u<<1;b=(i&255)-(d[f+p>>0]|0)|0;p=(d[s+1>>0]|0)-(d[f+(p|1)>>0]|0)|0;p=(p|0)>-1?(p|0)!=0&1:-1;b=(b|0)>-1?(b|0)!=0&1:-1;t=0;while(1){g=i&255;j=g-(d[s+(t+2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;if(!(t&1)){h=l;k=p;q=0-j&255;i=b<<24>>24}else{h=m;k=0-j&255;q=b;i=p<<24>>24}i=c[33568+(j+2+i<<2)>>2]&d[w+(t>>>1)>>0];if(i|0){g=(a[h+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[s+t>>0]=(g|0)<255?g:255}i=t+1|0;if((i|0)==(n|0))break;p=k;b=q;t=i;i=a[s+i>>0]|0}u=u+1|0;if((u|0)==(o|0))break;else s=s+e|0}if(!v){Sb=y;return}}m=o<<1;Sk(f|0,x|0,((m|0)>1?m:1)|0)|0;Sb=y;return}function Kf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;t=Sb;Sb=Sb+192|0;p=t+128|0;q=t+64|0;s=t;i=p;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));j=m+-1|0;a[h>>0]=a[g+j>>0]|0;if((n|0)>0){i=0;do{a[f+i>>0]=a[b+(j+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}o=(m|0)>0;if(o)Sk(q|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=n+-1|0;if(o){j=0;do{n=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[s+j>>0]=(n|0)>-1?(n|0)!=0&1:-1;j=j+1|0}while((j|0)!=(m|0))}}else if(o){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[s+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));h=b;i=n}else{h=b;i=n}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!o){Sb=t;return}n=0;i=h;while(1){j=0;do{h=i+j|0;u=(d[h>>0]|0)-(d[i+(j+e)>>0]|0)|0;u=(u|0)>-1?(u|0)!=0&1:-1;k=s+j|0;f=(a[k>>0]|0)+2+u|0;a[k>>0]=0-u;f=c[33568+(f<<2)>>2]&d[p+j>>0];if(f|0){u=(a[l+f>>0]|0)+(d[h>>0]|0)|0;u=(u|0)>0?u:0;a[h>>0]=(u|0)<255?u:255}j=j+1|0}while((j|0)!=(m|0));n=n+1|0;if((n|0)==(b|0))break;else i=i+e|0}}if(!o){Sb=t;return}Sk(g|0,q|0,m|0)|0;Sb=t;return}function Lf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0;u=Sb;Sb=Sb+192|0;q=u+128|0;s=u+64|0;t=u;i=q;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;a[h+1>>0]=a[g+(n+-1)>>0]|0;if((o|0)>0){i=0;do{h=(r(i,e)|0)+n|0;p=i<<1;a[f+p>>0]=a[b+(h+-2)>>0]|0;a[f+(p|1)>>0]=a[b+(h+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}p=(n|0)>0;if(p)Sk(s|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=o+-1|0;if(p){j=0;do{o=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[t+j>>0]=(o|0)>-1?(o|0)!=0&1:-1;j=j+1|0}while((j|0)!=(n|0))}}else if(p){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[t+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));h=b;i=o}else{h=b;i=o}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!p){Sb=u;return}o=0;i=h;while(1){j=0;do{f=i+j|0;v=(d[f>>0]|0)-(d[i+(j+e)>>0]|0)|0;v=(v|0)>-1?(v|0)!=0&1:-1;k=t+j|0;h=(a[k>>0]|0)+2+v|0;a[k>>0]=0-v;h=c[33568+(h<<2)>>2]&d[q+(j>>>1)>>0];if(h|0){v=(a[((j&1|0)==0?l:m)+h>>0]|0)+(d[f>>0]|0)|0;v=(v|0)>0?v:0;a[f>>0]=(v|0)<255?v:255}j=j+1|0}while((j|0)!=(n|0));o=o+1|0;if((o|0)==(b|0))break;else i=i+e|0}}if(!p){Sb=u;return}Sk(g|0,s|0,n|0)|0;Sb=u;return}function Mf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+352|0;B=H+288|0;F=H+224|0;G=H+160|0;x=H+80|0;q=H;i=B;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));C=m+-1|0;E=a[g+C>>0]|0;if((n|0)>0){i=0;do{a[F+i>>0]=a[b+(C+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}D=(m|0)>0;if(D)Sk(G|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;t=a[b>>0]|0;if((a[k+4>>0]|0)!=0?(o=t&255,p=o-(d[h>>0]|0)|0,A=o-(d[b+(e+1)>>0]|0)|0,p=((A|0)>-1?(A|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0,(p|0)!=2):0){A=(a[l+(c[33568+(p<<2)>>2]|0)>>0]|0)+o|0;A=(A|0)>0?A:0;A=((A|0)<255?A:255)&255}else A=t;j=n+-1|0;i=r(j,e)|0;o=i+C|0;p=a[b+o>>0]|0;if((a[k+7>>0]|0)!=0?(s=p&255,u=s-(d[b+(o+~e)>>0]|0)|0,z=s-(d[b+(m+e+i)>>0]|0)|0,u=((z|0)>-1?(z|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){i=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)y=-1;else y=((i|0)>0?i:0)&255}else y=p;if(!(a[k>>0]|0))a[B>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+1|0;if((m|0)>1?(w=(d[i+1>>0]|0)-(t&255)|0,a[x+1>>0]=(w|0)>-1?(w|0)!=0&1:-1,(m|0)!=2):0){o=1;p=2;while(1){o=(d[i+p>>0]|0)-(d[b+o>>0]|0)|0;a[x+p>>0]=(o|0)>-1?(o|0)!=0&1:-1;o=p+1|0;if((o|0)==(m|0))break;else{w=p;p=o;o=w}}}}else if((m|0)>1){i=1;do{w=(d[b+i>>0]|0)-(d[g+(i+-1)>>0]|0)|0;a[x+i>>0]=(w|0)>-1?(w|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));i=b;j=n;s=f}else{i=b;j=n;s=f}if(!(a[k+1>>0]|0))a[B+C>>0]=0;w=k+3|0;v=j+(((a[w>>0]|0)==0)<<31>>31)|0;do if((v|0)>0){k=r(v,e)|0;if(!D){j=x;o=0;p=i;while(1){l=(d[p>>0]|0)-(d[s+(o+-1)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;o=o+1|0;if((o|0)==(v|0))break;else{l=j;p=p+e|0;j=q;q=l}}i=i+k|0;break}p=x;t=0;u=i;while(1){o=(d[u>>0]|0)-(d[s+(t+-1)>>0]|0)|0;o=(o|0)>-1?(o|0)!=0&1:-1;a[p>>0]=o;j=0;while(1){n=u+j|0;b=j+1|0;x=(d[n>>0]|0)-(d[u+(b+e)>>0]|0)|0;x=(x|0)>-1?(x|0)!=0&1:-1;a[q+b>>0]=0-x;j=c[33568+((o<<24>>24)+2+x<<2)>>2]&d[B+j>>0];if(j|0){x=(a[l+j>>0]|0)+(d[n>>0]|0)|0;x=(x|0)>0?x:0;a[n>>0]=(x|0)<255?x:255}if((b|0)==(m|0))break;j=b;o=a[p+b>>0]|0}t=t+1|0;if((t|0)==(v|0))break;else{x=p;u=u+e|0;p=q;q=x}}i=i+k|0}while(0);l=v+1|0;a[i+(r((a[z>>0]|0)==0?l:v,0-e|0)|0)>>0]=A;a[i+(C-((a[w>>0]|0)==0?0:e))>>0]=y;i=((a[z>>0]|0)==0?l:v)+((a[w>>0]|0)==0&1)|0;a[h>>0]=E;if((i|0)>0)Sk(f|0,F|0,i|0)|0;if(!D){Sb=H;return}Sk(g|0,G|0,m|0)|0;Sb=H;return}function Nf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Sb;Sb=Sb+416|0;D=L+352|0;J=L+224|0;K=L+160|0;B=L+80|0;t=L;i=D;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));E=n+-2|0;F=a[g+E>>0]|0;G=n+-1|0;H=a[g+G>>0]|0;if((o|0)>0){i=0;do{C=(r(i,e)|0)+n|0;I=i<<1;a[J+I>>0]=a[b+(C+-2)>>0]|0;a[J+(I|1)>>0]=a[b+(C+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}I=(n|0)>0;if(I)Sk(K|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;p=a[b>>0]|0;if(a[k+4>>0]|0){i=p&255;j=i-(d[h>>0]|0)|0;C=i-(d[b+(e+2)>>0]|0)|0;j=((C|0)>-1?(C|0)!=0&1:-1)+((j|0)>-1?((j|0)==0?2:3):1)|0;if((j|0)!=2){p=(a[l+(c[33568+(j<<2)>>2]|0)>>0]|0)+i|0;p=(p|0)>0?p:0;p=((p|0)<255?p:255)&255}i=a[b+1>>0]|0;j=i&255;q=j-(d[h+1>>0]|0)|0;C=j-(d[b+(e+3)>>0]|0)|0;q=((C|0)>-1?(C|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)==2)C=i;else{C=(a[m+(c[33568+(q<<2)>>2]|0)>>0]|0)+j|0;C=(C|0)>0?C:0;C=((C|0)<255?C:255)&255}}else C=a[b+1>>0]|0;j=o+-1|0;s=r(j,e)|0;i=s+E|0;u=a[b+i>>0]|0;if(a[k+7>>0]|0){q=u&255;v=-2-e|0;i=q-(d[b+(v+i)>>0]|0)|0;A=q-(d[b+(n+e+s)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){u=(a[l+(c[33568+(i<<2)>>2]|0)>>0]|0)+q|0;u=(u|0)>0?u:0;u=((u|0)<255?u:255)&255}A=s+G|0;q=a[b+A>>0]|0;s=q&255;i=s-(d[b+(v+A)>>0]|0)|0;A=s-(d[b+(e+2+A)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){i=(a[m+(c[33568+(i<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)A=-1;else A=((i|0)>0?i:0)&255}else A=q}else A=a[b+(s+G)>>0]|0;if(!(a[k>>0]|0))a[D>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+2|0;if((n|0)>2){q=2;do{y=(d[i+q>>0]|0)-(d[b+(q+-2)>>0]|0)|0;a[B+q>>0]=(y|0)>-1?(y|0)!=0&1:-1;q=q+1|0}while((q|0)!=(n|0));x=s}else x=s}else if((n|0)>2){i=2;do{y=(d[b+i>>0]|0)-(d[g+(i+-2)>>0]|0)|0;a[B+i>>0]=(y|0)>-1?(y|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));i=b;j=o;x=f}else{i=b;j=o;x=f}if(!(a[k+1>>0]|0))a[D+(G>>1)>>0]=0;y=k+3|0;w=j+(((a[y>>0]|0)==0)<<31>>31)|0;do if((w|0)>0){k=r(w,e)|0;if(!I){j=B;q=0;s=i;while(1){m=q<<1;l=(d[s>>0]|0)-(d[x+(m+-2)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;m=(d[s+1>>0]|0)-(d[x+(m+-1)>>0]|0)|0;a[j+1>>0]=(m|0)>-1?(m|0)!=0&1:-1;q=q+1|0;if((q|0)==(w|0))break;else{m=j;s=s+e|0;j=t;t=m}}i=i+k|0;break}s=B;v=0;o=i;while(1){b=v<<1;j=(d[o>>0]|0)-(d[x+(b+-2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;a[s>>0]=j;b=(d[o+1>>0]|0)-(d[x+(b+-1)>>0]|0)|0;a[s+1>>0]=(b|0)>-1?(b|0)!=0&1:-1;b=0;while(1){q=o+b|0;M=b+2|0;B=(d[q>>0]|0)-(d[o+(M+e)>>0]|0)|0;B=(B|0)>-1?(B|0)!=0&1:-1;a[t+M>>0]=0-B;j=c[33568+((j<<24>>24)+2+B<<2)>>2]&d[D+(b>>>1)>>0];if(j|0){M=(a[((b&1|0)==0?l:m)+j>>0]|0)+(d[q>>0]|0)|0;M=(M|0)>0?M:0;a[q>>0]=(M|0)<255?M:255}j=b+1|0;if((j|0)==(n|0))break;b=j;j=a[s+j>>0]|0}v=v+1|0;if((v|0)==(w|0))break;else{M=s;o=o+e|0;s=t;t=M}}i=i+k|0}while(0);M=w+1|0;a[i+(r((a[z>>0]|0)==0?M:w,0-e|0)|0)>>0]=p;a[i+(1-(r((a[z>>0]|0)==0?M:w,e)|0))>>0]=C;a[i+(E-((a[y>>0]|0)==0?0:e))>>0]=u;a[i+(G-((a[y>>0]|0)==0?0:e))>>0]=A;M=((a[z>>0]|0)==0?M:w)+((a[y>>0]|0)==0&1)|0;a[h>>0]=F;a[h+1>>0]=H;i=M<<1;if((M|0)>0)Sk(f|0,J|0,((i|0)>1?i:1)|0)|0;if(!I){Sb=L;return}Sk(g|0,K|0,n|0)|0;Sb=L;return}function Of(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=Sb;Sb=Sb+256|0;H=0-e|0;C=K+192|0;I=K+128|0;J=K+64|0;D=K;o=C;p=o+64|0;do{c[o>>2]=-1;o=o+4|0}while((o|0)<(p|0));E=m+-1|0;G=a[g+E>>0]|0;if((n|0)>0){o=0;do{a[J+o>>0]=a[b+(E+(r(o,e)|0))>>0]|0;o=o+1|0}while((o|0)!=(n|0))}F=(m|0)>0;if(F)Sk(I|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;o=a[b+E>>0]|0;if((a[k+5>>0]|0)!=0?(q=o&255,s=q-(d[i>>0]|0)|0,B=q-(d[b+(e+-2+m)>>0]|0)|0,s=((B|0)>-1?(B|0)!=0&1:-1)+((s|0)>-1?((s|0)==0?2:3):1)|0,(s|0)!=2):0){B=(a[l+(c[33568+(s<<2)>>2]|0)>>0]|0)+q|0;B=(B|0)>0?B:0;B=((B|0)<255?B:255)&255}else B=o;p=n+-1|0;o=r(p,e)|0;q=a[b+o>>0]|0;if((a[k+6>>0]|0)!=0?(t=q&255,u=t-(d[b+(1-e+o)>>0]|0)|0,A=t-(d[j>>0]|0)|0,u=((A|0)>-1?(A|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){o=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+t|0;if((o|0)>255)z=-1;else z=((o|0)>0?o:0)&255}else z=q;if(!(a[k>>0]|0))a[C>>0]=0;A=k+2|0;o=a[A>>0]|0;if(!(o<<24>>24)){i=b+e|0;s=f+1|0;if((m|0)>1){q=0;do{y=q;q=q+1|0;x=(d[i+y>>0]|0)-(d[b+q>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((q|0)!=(E|0));b=i}else b=i}else if((m|0)>1){p=0;do{y=p;p=p+1|0;x=(d[b+y>>0]|0)-(d[g+p>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((p|0)!=(E|0));p=n;s=f}else{p=n;s=f}if(!(a[k+1>>0]|0))a[C+E>>0]=0;y=k+3|0;x=p+(((a[y>>0]|0)==0)<<31>>31)|0;do if((x|0)>0){k=m-e|0;v=D+E|0;w=r(x,e)|0;if(!F){p=b;q=0;while(1){l=(d[p+E>>0]|0)-(d[p+k>>0]|0)|0;a[v>>0]=(l|0)>-1?(l|0)!=0&1:-1;q=q+1|0;if((q|0)==(x|0))break;else p=p+e|0}b=b+w|0;break}i=b;j=0;while(1){u=(d[i+E>>0]|0)-(d[i+k>>0]|0)|0;a[v>>0]=(u|0)>-1?(u|0)!=0&1:-1;j=j+1|0;u=s+j|0;t=0;do{n=i+t|0;o=a[n>>0]|0;q=(t|0)==0;p=t+-1+e|0;if((d[(q?u:i+p|0)>>0]|0)>(o&255))o=-1;else o=(d[(q?u:i+p|0)>>0]|0)<(o&255)&1;p=o+2+(a[D+t>>0]|0)|0;if(!q)a[D+(t+-1)>>0]=0-o;o=c[33568+(p<<2)>>2]&d[C+t>>0];if(o|0){q=(a[l+o>>0]|0)+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[n>>0]=(q|0)<255?q:255}t=t+1|0}while((t|0)!=(m|0));if((j|0)==(x|0))break;else i=i+e|0}b=b+w|0;o=a[A>>0]|0}while(0);l=x+1|0;a[b+(E-(r(o<<24>>24==0?l:x,e)|0))>>0]=B;a[b+((a[y>>0]|0)==0?0:H)>>0]=z;o=((a[A>>0]|0)==0?l:x)+((a[y>>0]|0)==0&1)|0;a[h>>0]=G;if((o|0)>0)Sk(f|0,J|0,o|0)|0;if(!F){Sb=K;return}Sk(g|0,I|0,m|0)|0;Sb=K;return}function Pf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+320|0;O=0-e|0;H=R+256|0;P=R+128|0;Q=R+64|0;I=R;p=H;q=p+64|0;do{c[p>>2]=-1;p=p+4|0}while((p|0)<(q|0));J=n+-2|0;K=a[g+J>>0]|0;L=n+-1|0;M=a[g+L>>0]|0;if((o|0)>0){p=0;do{G=(r(p,e)|0)+n|0;N=p<<1;a[P+N>>0]=a[b+(G+-2)>>0]|0;a[P+(N|1)>>0]=a[b+(G+-1)>>0]|0;p=p+1|0}while((p|0)!=(o|0))}N=(n|0)>0;if(N)Sk(Q|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;s=a[b+J>>0]|0;if(a[k+5>>0]|0){p=s&255;q=p-(d[i>>0]|0)|0;u=n+e|0;G=p-(d[b+(u+-4)>>0]|0)|0;q=((G|0)>-1?(G|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){s=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;s=(s|0)>0?s:0;s=((s|0)<255?s:255)&255}q=a[b+L>>0]|0;t=q&255;p=t-(d[i+1>>0]|0)|0;G=t-(d[b+(u+-3)>>0]|0)|0;p=((G|0)>-1?(G|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)==2)G=q;else{G=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+t|0;G=(G|0)>0?G:0;G=((G|0)<255?G:255)&255}}else G=a[b+L>>0]|0;v=o+-1|0;i=r(v,e)|0;t=a[b+i>>0]|0;if(a[k+6>>0]|0){p=t&255;q=p-(d[b+(2-e+i)>>0]|0)|0;F=p-(d[j>>0]|0)|0;q=((F|0)>-1?(F|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){t=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;t=(t|0)>0?t:0;t=((t|0)<255?t:255)&255}q=a[b+(i+1)>>0]|0;u=q&255;p=u-(d[b+(3-e+i)>>0]|0)|0;F=u-(d[j+1>>0]|0)|0;p=((F|0)>-1?(F|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)!=2){p=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+u|0;if((p|0)>255)F=-1;else F=((p|0)>0?p:0)&255}else F=q}else F=a[b+(i+1)>>0]|0;if(!(a[k>>0]|0))a[H>>0]=0;E=k+2|0;p=a[E>>0]|0;if(!(p<<24>>24)){u=b+e|0;i=f+2|0;if((n|0)>2){q=0;do{D=(d[u+q>>0]|0)-(d[b+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));b=u;q=v}else{b=u;q=v}}else if((n|0)>2){q=0;do{D=(d[b+q>>0]|0)-(d[g+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));q=o;i=f}else{q=o;i=f}if(!(a[k+1>>0]|0))a[H+(L>>1)>>0]=0;D=k+3|0;C=q+(((a[D>>0]|0)==0)<<31>>31)|0;do if((C|0)>0){x=n-e|0;y=I+J|0;q=1-e|0;z=q+n|0;A=I+L|0;B=r(C,e)|0;if(!N){u=0;i=b;while(1){m=(d[i+J>>0]|0)-(d[i+x>>0]|0)|0;a[y>>0]=(m|0)>-1?(m|0)!=0&1:-1;m=(d[i+L>>0]|0)-(d[i+z>>0]|0)|0;a[A>>0]=(m|0)>-1?(m|0)!=0&1:-1;u=u+1|0;if((u|0)==(C|0))break;else i=i+e|0}b=b+B|0;break}v=0;j=b;while(1){k=(d[j+J>>0]|0)-(d[j+x>>0]|0)|0;a[y>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=(d[j+L>>0]|0)-(d[j+z>>0]|0)|0;a[A>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=v<<1;o=0;do{w=j+o|0;p=a[w>>0]|0;u=o>>>0<2;if((d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)>(p&255))p=-1;else p=(d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)<(p&255)&1;u=p+2+(a[I+o>>0]|0)|0;if(o>>>0>1)a[I+(o+-2)>>0]=0-p;p=c[33568+(u<<2)>>2]&d[H+(o>>>1)>>0];if(p|0){u=(a[((o&1|0)==0?l:m)+p>>0]|0)+(d[w>>0]|0)|0;u=(u|0)>0?u:0;a[w>>0]=(u|0)<255?u:255}o=o+1|0}while((o|0)!=(n|0));v=v+1|0;if((v|0)==(C|0))break;else j=j+e|0}b=b+B|0;p=a[E>>0]|0}else q=1-e|0;while(0);m=C+1|0;a[b+(J-(r(p<<24>>24==0?m:C,e)|0))>>0]=s;a[b+(L-(r((a[E>>0]|0)==0?m:C,e)|0))>>0]=G;a[b+((a[D>>0]|0)==0?0:O)>>0]=t;a[b+((a[D>>0]|0)==0?1:q)>>0]=F;O=((a[E>>0]|0)==0?m:C)+((a[D>>0]|0)==0&1)|0;a[h>>0]=K;a[h+1>>0]=M;p=O<<1;if((O|0)>0)Sk(f|0,P|0,((p|0)>1?p:1)|0)|0;if(!N){Sb=R;return}Sk(g|0,Q|0,n|0)|0;Sb=R;return}function Qf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;if((k|0)<=0)return;o=1<<i+-1;if((l|0)<=0)return;n=0;while(1){m=0;do{p=((r((b[c+(m<<1)>>1]|0)+j|0,g)|0)+o>>i)+h|0;p=(p|0)>0?p:0;a[d+m>>0]=(p|0)<255?p:255;m=m+1|0}while((m|0)!=(l|0));n=n+1|0;if((n|0)==(k|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Rf(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0;if((m|0)<=0)return;q=n<<1;s=1<<k+-1;if((n|0)<=0)return;p=0;o=c;n=d;while(1){c=0;do{d=((r((b[o+(c<<1)>>1]|0)+l|0,g)|0)+s>>k)+i|0;d=(d|0)>0?d:0;a[n+c>>0]=(d|0)<255?d:255;d=c|1;t=((r((b[o+(d<<1)>>1]|0)+l|0,h)|0)+s>>k)+j|0;t=(t|0)>0?t:0;a[n+d>>0]=(t|0)<255?t:255;c=c+2|0}while((c|0)<(q|0));p=p+1|0;if((p|0)==(m|0))break;else{o=o+(e<<1)|0;n=n+f|0}}return}function Sf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0;if((p|0)<=0)return;t=j+1+l<<m+-1;if((q|0)<=0)return;s=0;j=e;while(1){l=0;do{e=r((b[c+(l<<1)>>1]|0)+n|0,i)|0;e=e+t+(r((b[d+(l<<1)>>1]|0)+o|0,k)|0)>>m;e=(e|0)>0?e:0;a[j+l>>0]=(e|0)<255?e:255;l=l+1|0}while((l|0)!=(q|0));s=s+1|0;if((s|0)==(p|0))break;else{c=c+(f<<1)|0;d=d+(g<<1)|0;j=j+h|0}}return}function Tf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0;if((u|0)<=0)return;x=v<<1;y=q+-1|0;w=k+1+o<<y;l=l+1+p<<y;if((v|0)<=0)return;p=0;k=c;while(1){o=0;do{y=r((b[k+(o<<1)>>1]|0)+s|0,i)|0;y=y+w+(r((b[d+(o<<1)>>1]|0)+t|0,m)|0)>>q;y=(y|0)>0?y:0;a[e+o>>0]=(y|0)<255?y:255;y=o|1;c=r((b[k+(y<<1)>>1]|0)+s|0,j)|0;c=c+l+(r((b[d+(y<<1)>>1]|0)+t|0,n)|0)>>q;c=(c|0)>0?c:0;a[e+y>>0]=(c|0)<255?c:255;o=o+2|0}while((o|0)<(x|0));p=p+1|0;if((p|0)==(u|0))break;else{k=k+(f<<1)|0;d=d+(g<<1)|0;e=e+h|0}}return}function Uf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;if((k|0)<=0)return;n=j+i|0;if((l|0)<=0)return;m=0;j=c;while(1){i=0;do{c=n+(b[j+(i<<1)>>1]|0)+(b[d+(i<<1)>>1]|0)|0;a[e+i>>0]=(c|0)>32703?-1:(c|0)<-64?0:(c+64|0)>>>7&255;i=i+1|0}while((i|0)!=(l|0));m=m+1|0;if((m|0)==(k|0))break;else{d=d+(g<<1)|0;e=e+h|0;j=j+(f<<1)|0}}return}function Vf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;if((k|0)<=0)return;o=l<<1;n=j+i|0;if((l|0)<=0)return;m=0;l=d;j=e;while(1){i=0;do{e=n+(b[c+(i<<1)>>1]|0)+(b[l+(i<<1)>>1]|0)|0;a[j+i>>0]=(e|0)>32703?-1:(e|0)<-64?0:(e+64|0)>>>7&255;i=i+1|0}while((i|0)<(o|0));m=m+1|0;if((m|0)==(k|0))break;else{l=l+(g<<1)|0;j=j+h|0;c=c+(f<<1)|0}}return}function Wf(){return 4}function Xf(){return 28}function Yf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa(a|0,b|0,c|0,d|0)|0}function Zf(a,b){a=a|0;b=b|0;return Qa(c[a>>2]|0,b|0)|0}function _f(a){a=a|0;return ij(a,0)|0}function $f(a){a=a|0;return lj(a)|0}function ag(a){a=a|0;return jj(a)|0}function bg(a){a=a|0;return kj(a)|0}function cg(){Ra()|0;return}function dg(a){a=a|0;return a|0}function eg(a){a=a|0;var b=0;c[a+11640>>2]=0;c[a+11644>>2]=c[a+11984>>2];c[a+11648>>2]=c[a+11972>>2];c[a+11652>>2]=c[a+11968>>2];b=c[a+11992>>2]|0;c[a+11656>>2]=b;c[a+11660>>2]=c[a+11988>>2];c[a+11664>>2]=c[a+11976>>2];c[a+11668>>2]=b;c[a+11672>>2]=b;c[a+11676>>2]=c[a+11980>>2];c[a+11680>>2]=c[a+11996>>2];c[a+11684>>2]=0;c[a+11688>>2]=c[a+11936>>2];c[a+11692>>2]=c[a+11952>>2];c[a+11696>>2]=c[a+11944>>2];b=c[a+11948>>2]|0;c[a+11700>>2]=b;c[a+11704>>2]=c[a+11940>>2];c[a+11708>>2]=c[a+11964>>2];c[a+11712>>2]=b;c[a+11716>>2]=b;c[a+11720>>2]=c[a+11956>>2];c[a+11724>>2]=c[a+11960>>2];c[a+11728>>2]=0;c[a+11732>>2]=c[a+12088>>2];c[a+11736>>2]=c[a+12064>>2];c[a+11740>>2]=c[a+12072>>2];c[a+11744>>2]=c[a+12084>>2];c[a+11748>>2]=c[a+12068>>2];c[a+11752>>2]=c[a+12056>>2];c[a+11756>>2]=c[a+12076>>2];c[a+11760>>2]=c[a+12060>>2];c[a+11764>>2]=c[a+12092>>2];c[a+11768>>2]=c[a+12080>>2];c[a+11772>>2]=0;c[a+11776>>2]=c[a+12040>>2];c[a+11780>>2]=c[a+12016>>2];c[a+11784>>2]=c[a+12024>>2];c[a+11788>>2]=c[a+12036>>2];c[a+11792>>2]=c[a+12020>>2];c[a+11796>>2]=c[a+12048>>2];c[a+11800>>2]=c[a+12028>>2];c[a+11804>>2]=c[a+12052>>2];c[a+11808>>2]=c[a+12044>>2];c[a+11812>>2]=c[a+12032>>2];c[a+11816>>2]=c[a+12116>>2];c[a+11820>>2]=c[a+12120>>2];c[a+11824>>2]=c[a+12124>>2];c[a+11828>>2]=c[a+12128>>2];c[a+11832>>2]=c[a+12132>>2];c[a+11836>>2]=c[a+12136>>2];c[a+11840>>2]=c[a+12140>>2];c[a+11844>>2]=c[a+12144>>2];c[a+11848>>2]=c[a+12148>>2];c[a+11852>>2]=c[a+12152>>2];c[a+11856>>2]=c[a+12156>>2];c[a+11860>>2]=c[a+12160>>2];c[a+11864>>2]=c[a+12164>>2];c[a+11868>>2]=c[a+12168>>2];c[a+11872>>2]=c[a+12172>>2];c[a+11876>>2]=c[a+12176>>2];c[a+11880>>2]=c[a+12300>>2];c[a+11884>>2]=c[a+12304>>2];c[a+11888>>2]=c[a+12252>>2];c[a+11892>>2]=c[a+12260>>2];c[a+11896>>2]=c[a+12268>>2];c[a+11900>>2]=c[a+12276>>2];c[a+11904>>2]=c[a+12256>>2];c[a+11908>>2]=c[a+12264>>2];c[a+11912>>2]=c[a+12272>>2];c[a+11916>>2]=c[a+12280>>2];return}function fg(b){b=b|0;var d=0,e=0,f=0;gg(b)|0;c[b+11632>>2]=0;c[b+52>>2]=1;c[b+100>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;c[b+136>>2]=0;c[b+140>>2]=0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;c[b+124>>2]=0;c[b+364>>2]=0;c[b+144>>2]=0;c[b+132>>2]=0;c[b+32>>2]=1;c[b+28>>2]=0;c[b+11568>>2]=0;c[b+11564>>2]=-1;c[b+11572>>2]=-1;c[b+1448>>2]=-1;c[b+64>>2]=(c[b+60>>2]|0)==12?12:11;c[b+88>>2]=0;c[b+48>>2]=0;c[b+36>>2]=0;c[b+44>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+11604>>2]=0;c[b+45340>>2]=0;f=c[b+296>>2]|0;e=c[b+300>>2]|0;a[f+8972>>0]=0;a[f+17948>>0]=0;a[f+26924>>0]=0;a[f+35900>>0]=0;a[f+44876>>0]=0;a[f+53852>>0]=0;a[f+62828>>0]=0;a[f+71804>>0]=0;a[f+80780>>0]=0;a[f+89756>>0]=0;a[f+98732>>0]=0;a[f+107708>>0]=0;a[f+116684>>0]=0;a[f+125660>>0]=0;a[f+134636>>0]=0;a[f+143612>>0]=0;a[f+152588>>0]=0;a[e+67>>0]=0;a[e+135>>0]=0;a[e+203>>0]=0;a[e+271>>0]=0;a[e+339>>0]=0;a[e+407>>0]=0;a[e+475>>0]=0;a[e+543>>0]=0;a[e+611>>0]=0;a[e+679>>0]=0;a[e+747>>0]=0;a[e+815>>0]=0;a[e+883>>0]=0;a[e+951>>0]=0;a[e+1019>>0]=0;a[e+1087>>0]=0;a[e+1155>>0]=0;a[e+1223>>0]=0;a[e+1291>>0]=0;a[e+1359>>0]=0;a[e+1427>>0]=0;a[e+1495>>0]=0;a[e+1563>>0]=0;a[e+1631>>0]=0;a[e+1699>>0]=0;a[e+1767>>0]=0;a[e+1835>>0]=0;a[e+1903>>0]=0;a[e+1971>>0]=0;a[e+2039>>0]=0;a[e+2107>>0]=0;a[e+2175>>0]=0;a[e+2243>>0]=0;a[e+2311>>0]=0;a[e+2379>>0]=0;a[e+2447>>0]=0;a[e+2515>>0]=0;a[e+2583>>0]=0;a[e+2651>>0]=0;a[e+2719>>0]=0;a[e+2787>>0]=0;a[e+2855>>0]=0;a[e+2923>>0]=0;a[e+2991>>0]=0;a[e+3059>>0]=0;a[e+3127>>0]=0;a[e+3195>>0]=0;a[e+3263>>0]=0;a[e+3331>>0]=0;a[e+3399>>0]=0;a[e+3467>>0]=0;a[e+3535>>0]=0;a[e+3603>>0]=0;a[e+3671>>0]=0;a[e+3739>>0]=0;a[e+3807>>0]=0;a[e+3875>>0]=0;a[e+3943>>0]=0;a[e+4011>>0]=0;a[e+4079>>0]=0;a[e+4147>>0]=0;a[e+4215>>0]=0;a[e+4283>>0]=0;a[e+4351>>0]=0;a[e+4419>>0]=0;c[b+68>>2]=2147483647;c[b+20>>2]=0;c[b+16>>2]=0;c[d>>2]=0;c[b+72>>2]=0;Ud(c[b+224>>2]|0);Ud(c[b+244>>2]|0);d=c[b+252>>2]|0;c[b+248>>2]=d;Uk(d|0,0,542464)|0;we(c[b+264>>2]|0);ze(c[b+276>>2]|0);c[b+12312>>2]=0;c[b+11600>>2]=2147483647;hg(b);ig(b);eg(b);return 0}function gg(a){a=a|0;var b=0,d=0;b=a+11556|0;d=c[b>>2]|0;if(d|0){qg(d)|0;c[b>>2]=0}b=a+284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+308|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+608|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+616|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+212|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+216|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+196|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+204|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+208|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6064|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6556|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11612|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+1444|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+176|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+192|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+236|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11628|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+260|0;d=c[b>>2]|0;if(!d){a=a+11632|0;c[a>>2]=0;return 0}ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0;a=a+11632|0;c[a>>2]=0;return 0}function hg(a){a=a|0;c[a+12308>>2]=513;return}function ig(a){a=a|0;jg(a);return}function jg(a){a=a|0;c[a+11920>>2]=1;c[a+11924>>2]=2;c[a+11928>>2]=3;c[a+11932>>2]=4;c[a+11936>>2]=1;c[a+11940>>2]=2;c[a+11944>>2]=3;c[a+11948>>2]=4;c[a+11952>>2]=5;c[a+11956>>2]=6;c[a+11960>>2]=7;c[a+11964>>2]=8;c[a+11968>>2]=9;c[a+11972>>2]=10;c[a+11976>>2]=11;c[a+11980>>2]=12;c[a+11984>>2]=13;c[a+11988>>2]=14;c[a+11992>>2]=15;c[a+11996>>2]=16;c[a+12e3>>2]=1;c[a+12004>>2]=2;c[a+12008>>2]=3;c[a+12012>>2]=4;c[a+12016>>2]=4;c[a+12020>>2]=5;c[a+12024>>2]=6;c[a+12028>>2]=7;c[a+12032>>2]=8;c[a+12036>>2]=9;c[a+12040>>2]=10;c[a+12044>>2]=11;c[a+12048>>2]=12;c[a+12052>>2]=13;c[a+12056>>2]=14;c[a+12060>>2]=15;c[a+12064>>2]=16;c[a+12068>>2]=17;c[a+12072>>2]=18;c[a+12076>>2]=19;c[a+12080>>2]=20;c[a+12084>>2]=21;c[a+12088>>2]=22;c[a+12092>>2]=23;c[a+12096>>2]=24;c[a+12100>>2]=25;c[a+12104>>2]=26;c[a+12108>>2]=27;c[a+12112>>2]=28;c[a+12116>>2]=5;c[a+12120>>2]=6;c[a+12124>>2]=7;c[a+12128>>2]=8;c[a+12132>>2]=9;c[a+12136>>2]=10;c[a+12140>>2]=11;c[a+12144>>2]=12;c[a+12148>>2]=17;c[a+12152>>2]=18;c[a+12156>>2]=19;c[a+12160>>2]=20;c[a+12164>>2]=21;c[a+12168>>2]=22;c[a+12172>>2]=23;c[a+12176>>2]=24;c[a+12180>>2]=8;c[a+12184>>2]=9;c[a+12188>>2]=10;c[a+12192>>2]=11;c[a+12196>>2]=12;c[a+12200>>2]=13;c[a+12204>>2]=4;c[a+12208>>2]=5;c[a+12212>>2]=6;c[a+12216>>2]=7;c[a+12220>>2]=1;c[a+12224>>2]=1;c[a+12228>>2]=2;c[a+12232>>2]=1;c[a+12236>>2]=3;c[a+12240>>2]=1;c[a+12244>>2]=13;c[a+12248>>2]=1;c[a+12252>>2]=2;c[a+12256>>2]=2;c[a+12260>>2]=3;c[a+12264>>2]=3;c[a+12268>>2]=4;c[a+12272>>2]=4;c[a+12276>>2]=5;c[a+12280>>2]=5;c[a+12284>>2]=14;c[a+12288>>2]=15;c[a+12292>>2]=4;c[a+12296>>2]=1;c[a+12300>>2]=29;c[a+12304>>2]=30;return}function kg(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=b+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<2)|0;g=a+h|0;p=0;f=a;k=m?l:b;h=m?b:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;b=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[e>>2]=((z|0)<255?z:255)<<16|((D|0)<255?D:255)|((E|0)<255?E:255)<<8;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;c[e+4>>2]=((E|0)<255?E:255)<<16|((D|0)<255?D:255)|((z|0)<255?z:255)<<8;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[b>>2]=((E|0)<255?E:255)<<8|((D|0)<255?D:255)|((z|0)<255?z:255)<<16;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;c[b+4>>2]=((B|0)<255?B:255)<<8|((A|0)<255?A:255)|((z|0)<255?z:255)<<16;if(m<<16>>16>1){m=m+-1<<16>>16;b=b+8|0;g=g+2|0;l=l+2|0;e=e+8|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<2)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<2)+(v<<2)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<2)+(j<<2)|0;k=k+i+v|0;h=h+i+v|0}}return} |
| | | function ch(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;ib=Sb;Sb=Sb+96|0;ja=ib+56|0;Ca=ib+48|0;ya=ib+40|0;za=ib+32|0;Da=ib+92|0;ha=ib+90|0;la=ib+88|0;ma=ib+80|0;Ha=ib+72|0;Fa=ib+64|0;ba=ib;Ka=c[f+8>>2]|0;Ga=c[f+124>>2]|0;a[ma>>0]=0;a[Ha>>0]=0;a[Fa>>0]=0;$a=c[f+4>>2]|0;ua=c[f>>2]|0;va=c[f+20>>2]|0;fa=a[$a+4116>>0]|0;ab=fa<<24>>24;bb=1<<ab;gb=c[Ka+20>>2]|0;ra=c[Ka+304>>2]|0;pa=c[f+112>>2]&255;qa=c[f+116>>2]|0;xa=c[f+120>>2]|0;Ya=f+24|0;j=c[Ya>>2]|0;Za=f+28|0;k=c[Za>>2]|0;G=r(k,gb)|0;F=(c[f+36>>2]|0)+(G+j<<ab)|0;G=(c[f+40>>2]|0)+(((G|0)/2|0)+j<<ab)|0;na=(c[f+80>>2]|0)+k|0;Ja=k<<1;Na=(c[f+84>>2]|0)+Ja|0;aa=(c[f+72>>2]|0)+k|0;ca=(c[f+76>>2]|0)+Ja|0;a[la>>0]=a[f+96>>0]|0;ka=(c[f+100>>2]|0)+k|0;Ea=f+104|0;Ja=(c[f+108>>2]|0)+Ja|0;oa=(c[f+88>>2]|0)+j|0;Oa=(c[f+92>>2]|0)+(j<<1)|0;wa=$a+4118|0;H=(c[f+44>>2]|0)+(j*12|0)+((r(k,b[wa>>1]|0)|0)*12|0)|0;l=b[$a>>1]|0;hb=l+63>>6;ia=bb+-8|0;La=8-bb|0;_a=$a+2|0;i=b[_a>>1]|0;E=La-(k<<ab)+i|0;A=La-(j<<ab)+l|0;A=((A|0)<9?A:0)+bb|0;Sa=gb<<3;fb=0-Sa|0;p=F+((j|0)==0?0:-8)+((k|0)==0?0:fb)|0;Ma=f+48|0;n=c[Ma>>2]|0;cb=ab+-3|0;db=hb<<3;j=(j<<cb)+(((j|0)>0)<<31>>31)+(r(db,k<<cb)|0)|0;eb=f+32|0;m=c[eb>>2]|0;D=m+(j>>3)|0;k=((k|0)!=0)<<31>>31;Pa=bb+-1|0;E=Pa+((E|0)<9?E:0)>>3;a:do if((E|0)>(k|0)){B=j&7;C=(1<<(A+7>>3))+-1|0;z=0-A|0;if((A|0)<=0){j=0;while(1){Ia=((c[D+(r(k,hb)|0)>>2]|0)>>>B&C|0)==0;j=Ia?j:1;k=k+1|0;if((k|0)==(E|0)){ta=j;j=l;k=m;break a}}}t=gb<<1;u=gb*3|0;v=gb<<2;w=gb*5|0;x=gb*6|0;y=gb*7|0;l=0;j=p;while(1){i=(c[D+(r(k,hb)|0)>>2]|0)>>>B&C;if(!i)i=n;else{q=A;s=j;while(1){j=Mk(i|0)|0;j=(i|0)==0?31:j;if(!j){l=(i|0)==-1;m=Mk(~i|0)|0;p=l?248:m<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){j=0;do{a[n+j>>0]=a[s+j>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+128)>>0]=a[s+(j+gb)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+256)>>0]=a[s+(j+t)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+384)>>0]=a[s+(j+u)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+512)>>0]=a[s+(j+v)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+640)>>0]=a[s+(j+w)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+768)>>0]=a[s+(j+x)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+896)>>0]=a[s+(j+y)>>0]|0;j=j+1|0}while((j|0)<(p|0))}j=l?31:m}Ia=j<<3;Ba=(q|0)>(Ia|0)?Ia:q;n=n+Ba|0;s=s+Ba|0;q=q-Ia|0;if((q|0)<=0)break;else i=i>>>j}l=1;i=n+z|0;j=s+z|0}k=k+1|0;if((k|0)==(E|0))break;else{n=i+1024|0;j=j+Sa|0}}ta=l;j=b[$a>>1]|0;i=b[_a>>1]|0;k=c[eb>>2]|0}else{ta=0;j=l;k=m}while(0);ea=bb+-16|0;Aa=16-bb|0;A=c[Za>>2]|0;B=Aa+i-(A<<ab)|0;m=c[Ya>>2]|0;x=Aa+j-(m<<ab)|0;x=((x|0)<17?x:0)+bb|0;j=(A|0)==0;n=G+((m|0)==0?0:-16)+(j?0:fb)|0;Ia=f+52|0;l=c[Ia>>2]|0;i=(m<<cb)+(r(A<<cb,db)|0)|0;i=(m|0)>0?i+-2|0:i;A=k+(i>>3)|0;j=j?0:-2;Ba=bb+-9|0;B=Ba+((B|0)<17?B:0)>>3;b:do if((j|0)<(B|0)){y=i&7;z=(1<<(x+7>>3))+-1|0;v=((gb|0)/2|0)<<3;w=0-x|0;if((x|0)<=0){i=0;while(1){sa=((c[A+(r(j,hb)|0)>>2]|0)>>>y&z|0)==0;i=sa?i:1;j=j+1|0;if((j|0)==(B|0)){sa=i;j=m;break b}}}t=gb<<1;u=gb*3|0;m=0;k=n;while(1){i=(c[A+(r(j,hb)|0)>>2]|0)>>>y&z;if(!i)i=l;else{q=x;s=k;while(1){k=Mk(i|0)|0;k=(i|0)==0?31:k;if(!k){m=(i|0)==-1;n=Mk(~i|0)|0;p=m?248:n<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){k=0;do{a[l+k>>0]=a[s+k>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+128)>>0]=a[s+(k+gb)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+256)>>0]=a[s+(k+t)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+384)>>0]=a[s+(k+u)>>0]|0;k=k+1|0}while((k|0)<(p|0))}k=m?31:n}$=k<<3;sa=(q|0)>($|0)?$:q;l=l+sa|0;q=q-$|0;s=s+sa|0;if((q|0)<=0)break;else i=i>>>k}m=1;i=l+w|0;k=s+w|0}j=j+1|0;if((j|0)==(B|0))break;else{l=i+512|0;k=k+v|0}}sa=m;j=c[Ya>>2]|0}else{sa=0;j=m}while(0);if((j|0)>0){M=c[Za>>2]|0;if((M|0)>0){J=M+-1|0;n=b[wa>>1]|0;u=r(J,n)|0;K=j+-1|0;m=qa+(u+K<<1)|0;P=e[m>>1]|0;_=Sa+8|0;X=F+(-8-Sa)|0;$=Sa+16|0;Y=G+(-16-Sa)|0;Z=H+(~n*12|0)|0;x=j<<ab;N=(c[f+60>>2]|0)+x+-8|0;V=(c[f+68>>2]|0)+x+-16|0;y=M<<ab;O=(c[f+56>>2]|0)+y+-8|0;W=(c[f+64>>2]|0)+y+-16|0;do if(!(a[ra+(P*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0){m=0;l=0;break}a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0}else{i=c[Z>>2]|0;k=i&7;if(!k){a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[Z>>2]<<21>>28;a[ma+3>>0]=c[Z>>2]<<17>>28;a[ma+4>>0]=c[Z>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](X,gb,O,N,aa,(c[Z>>2]|0)>>>19&31,ma,8,8);m=0;l=0;break}i=ja;c[i>>2]=-1;c[i+4>>2]=-1;i=ya;c[i>>2]=0;c[i+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=za;c[i>>2]=16843009;c[i+4>>2]=16843009;i=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!i?(a[ua+27>>0]|0)==0:0){k=0;l=0;i=j}else{L=(ia|0)==0;if(L)if((j|0)>1&(M|0)>1){k=M+-2|0;l=j+-2|0}else{k=0;l=0}else{k=J;l=K}if(i){E=b[m>>1]|0;F=E&65535;p=r(k,n)|0;G=b[qa+(K<<1)+(p<<1)>>1]|0;q=G&65535;t=ba+16|0;c[t>>2]=q;c[ba+8>>2]=q;H=b[qa+(u+l<<1)>>1]|0;c[ba>>2]=H&65535;I=b[qa+(u+j<<1)>>1]|0;z=I&65535;m=ba+20|0;c[m>>2]=z;c[ba+4>>2]=z;C=r(M,n)|0;B=b[qa+(C+K<<1)>>1]|0;A=B&65535;i=ba+24|0;c[i>>2]=A;c[ba+12>>2]=A;C=b[qa+(C+j<<1)>>1]|0;D=C&65535;s=ba+28|0;c[s>>2]=D;if(L){if((j|0)==1){c[i>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(j+-2+u<<1)>>1]|0;c[i>>2]=n}if((M|0)==1){c[m>>2]=-1;i=-1;m=-1}else{i=e[qa+(l+1+u<<1)>>1]|0;c[m>>2]=i;m=e[qa+(j+-2+p<<1)>>1]|0}c[t>>2]=m;c[s>>2]=D;w=i;v=m}else{n=A;w=z;v=q}if((x|0)==8){a[za+4>>0]=0;i=0}else i=a[ra+(n*1272|0)+174>>0]|0;u=za+6|0;a[u>>0]=i;t=a[ra+(F*1272|0)+174>>0]|0;s=(y|0)==8?0:t;p=za+5|0;a[p>>0]=s;q=za+4|0;a[q>>0]=s;s=za+2|0;a[s>>0]=t;a[za>>0]=t;t=za+1|0;a[t>>0]=a[ra+(z*1272|0)+174>>0]|0;m=za+3|0;a[m>>0]=a[ra+(A*1272|0)+174>>0]|0;i=za+7|0;a[i>>0]=a[ra+(D*1272|0)+174>>0]|0;if((w|0)>(F|0))a[p>>0]=a[ra+(w*1272|0)+174>>0]|0;a[(H<<16>>16==E<<16>>16?za:ya)>>0]=1;a[(I<<16>>16==E<<16>>16?t:ya+1|0)>>0]=1;a[(G<<16>>16==E<<16>>16?s:ya+2|0)>>0]=1;a[(B<<16>>16==E<<16>>16?m:ya+3|0)>>0]=1;a[((v|0)==(F|0)?q:ya+4|0)>>0]=1;a[((w|0)==(F|0)?p:ya+5|0)>>0]=1;a[((n|0)==(F|0)?u:ya+6|0)>>0]=1;a[(C<<16>>16==E<<16>>16?i:ya+7|0)>>0]=1;bc[c[Ka+12188>>2]&15](ba,0,32)}do if(a[ua+27>>0]|0){i=a[va>>0]|0;v=c[Ya>>2]|0;if((v|0)!=(i&255|0)?(c[Za>>2]|0)!=(d[va+1>>0]|0):0)break;if(i<<24>>24==0?(a[va+1>>0]|0)==0:0)break;if(!(a[ua+33>>0]|0)){z=b[wa>>1]|0;p=r(J,z)|0;A=b[xa+(p+K<<1)>>1]|0;B=A&65535;w=r(k,z)|0;C=b[xa+(K<<1)+(w<<1)>>1]|0;m=C&65535;x=ba+16|0;c[x>>2]=m;c[ba+8>>2]=m;D=b[xa+(p+l<<1)>>1]|0;c[ba>>2]=D&65535;E=b[xa+(p+j<<1)>>1]|0;q=E&65535;s=ba+20|0;c[s>>2]=q;c[ba+4>>2]=q;z=r(M,z)|0;y=b[xa+(z+K<<1)>>1]|0;i=y&65535;n=ba+24|0;c[n>>2]=i;c[ba+12>>2]=i;z=b[xa+(z+j<<1)>>1]|0;t=z&65535;u=ba+28|0;c[u>>2]=t;if(L){if((v|0)==1){c[n>>2]=-1;c[x>>2]=-1;i=-1}else{i=e[xa+(j+-2+p<<1)>>1]|0;c[n>>2]=i}if((c[Za>>2]|0)==1){c[s>>2]=-1;n=-1;j=-1}else{n=e[xa+(l+1+p<<1)>>1]|0;c[s>>2]=n;j=e[xa+(j+-2+w<<1)>>1]|0}c[x>>2]=j;c[u>>2]=t;m=j;j=n}else j=q;if(D<<16>>16!=A<<16>>16){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0}if(E<<16>>16!=A<<16>>16){U=ya+1|0;a[U>>0]=a[U>>0]|1;a[za+1>>0]=0}if(C<<16>>16!=A<<16>>16){U=ya+2|0;a[U>>0]=a[U>>0]|1;a[za+2>>0]=0}if(y<<16>>16!=A<<16>>16){U=ya+3|0;a[U>>0]=a[U>>0]|1;a[za+3>>0]=0}if((m|0)!=(B|0)){U=ya+4|0;a[U>>0]=a[U>>0]|1;a[za+4>>0]=0}if((j|0)!=(B|0)){U=ya+5|0;a[U>>0]=a[U>>0]|1;a[za+5>>0]=0}if((i|0)!=(B|0)){U=ya+6|0;a[U>>0]=a[U>>0]|1;a[za+6>>0]=0}if(z<<16>>16==A<<16>>16)break;U=ya+7|0;a[U>>0]=a[U>>0]|1;a[za+7>>0]=0}}while(0);if((a[ya>>0]|0)!=0&(a[za>>0]|0)==0)a[ja>>0]=0;if(a[ya+1>>0]|0?(a[za+1>>0]|0)==0:0)a[ja+1>>0]=0;if(a[ya+2>>0]|0?(a[za+2>>0]|0)==0:0)a[ja+2>>0]=0;if(a[ya+3>>0]|0?(a[za+3>>0]|0)==0:0)a[ja+3>>0]=0;do if(a[ya+4>>0]|0){if(a[za+4>>0]|0)break;a[ja+4>>0]=0}while(0);do if(a[ya+5>>0]|0){if(a[za+5>>0]|0)break;a[ja+5>>0]=0}while(0);do if(a[ya+6>>0]|0){if(a[za+6>>0]|0)break;a[ja+6>>0]=0}while(0);do if(a[ya+7>>0]|0){if(a[za+7>>0]|0)break;a[ja+7>>0]=0}while(0);i=c[Ya>>2]|0}if((i<<ab|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}i=c[Za>>2]|0;if((i<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[N+8>>0]|0;a[la>>0]=a[O+8>>0]|0;jc[c[Ka+11888+((c[Z>>2]&7)+-2<<2)>>2]&7](X,gb,O,N,aa,Da,la,ja,ma,8,8);m=k}while(0);do if(a[ra+(P*1272|0)+157>>0]|0){U=Z+4|0;i=c[U>>2]|0;j=i&7;if(!j){a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16);break}a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;k=c[Z+8>>2]|0;a[Fa+1>>0]=k<<25>>28;a[Fa+2>>0]=k<<21>>28;a[Fa+3>>0]=k<<17>>28;a[Fa+4>>0]=k<<13>>28;if((j|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](Y,gb,W,V,ca,(c[U>>2]|0)>>>19&31,k>>>19&31,Ha,Fa,16,8);break}else{jc[i&7](Y,gb,W,V,ca,k>>>19&31,(c[U>>2]|0)>>>19&31,Fa,Ha,16,8);break}}j=Ca;c[j>>2]=-1;c[j+4>>2]=-1;j=ya;c[j>>2]=0;c[j+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;j=za;c[j>>2]=16843009;c[j+4>>2]=16843009;j=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!j?(a[ua+27>>0]|0)==0:0)i=c[Ya>>2]|0;else da=104;do if((da|0)==104){n=(ea|0)==0;S=c[Za>>2]|0;if(n){i=c[Ya>>2]|0;if((S|0)>1&(i|0)>1){m=S+-2|0;l=i+-2|0}}else{i=c[Ya>>2]|0;m=S+-1|0;l=i+-1|0}L=i+-1|0;G=S+-1|0;if(j){D=b[wa>>1]|0;p=r(G,D)|0;v=b[qa+(p+L<<1)>>1]|0;w=v&65535;s=r(m,D)|0;x=b[qa+(L<<1)+(s<<1)>>1]|0;k=x&65535;t=ba+16|0;c[t>>2]=k;c[ba+8>>2]=k;y=b[qa+(p+l<<1)>>1]|0;c[ba>>2]=y&65535;z=b[qa+(p+i<<1)>>1]|0;A=z&65535;q=ba+20|0;c[q>>2]=A;c[ba+4>>2]=A;D=r(S,D)|0;B=b[qa+(D+L<<1)>>1]|0;C=B&65535;j=ba+24|0;c[j>>2]=C;c[ba+12>>2]=C;D=b[qa+(D+i<<1)>>1]|0;E=D&65535;u=ba+28|0;c[u>>2]=E;if(n){if((i|0)==1){c[j>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(i+-2+p<<1)>>1]|0;c[j>>2]=n}if((S|0)==1){c[q>>2]=-1;j=-1;k=-1}else{j=e[qa+(l+1+p<<1)>>1]|0;c[q>>2]=j;k=e[qa+(i+-2+s<<1)>>1]|0}c[t>>2]=k;c[u>>2]=E}else{n=C;j=A}if((i<<ab|0)==16){a[za+4>>0]=0;q=0}else q=a[ra+(n*1272|0)+174>>0]|0;p=za+6|0;a[p>>0]=q;F=a[ra+(w*1272|0)+174>>0]|0;if((S<<ab+-1|0)==8){s=0;t=0}else{s=a[ra+(j*1272|0)+174>>0]|0;t=F}M=za+4|0;a[M>>0]=t;R=za+5|0;a[R>>0]=s;J=za+2|0;a[J>>0]=F;a[za>>0]=F;da=a[ra+(A*1272|0)+174>>0]|0;O=za+1|0;a[O>>0]=da;N=a[ra+(C*1272|0)+174>>0]|0;K=za+3|0;a[K>>0]=N;T=a[ra+(E*1272|0)+174>>0]|0;u=za+7|0;a[u>>0]=T;Q=y<<16>>16==v<<16>>16;a[(Q?za:ya)>>0]=1;P=z<<16>>16==v<<16>>16;a[(P?O:ya+1|0)>>0]=1;O=x<<16>>16==v<<16>>16;a[(O?J:ya+2|0)>>0]=1;z=B<<16>>16==v<<16>>16;a[(z?K:ya+3|0)>>0]=1;y=(k|0)==(w|0);a[(y?M:ya+4|0)>>0]=1;x=(j|0)==(w|0);a[(x?R:ya+5|0)>>0]=1;R=(n|0)==(w|0);a[(R?p:ya+6|0)>>0]=1;p=D<<16>>16==v<<16>>16;a[(p?u:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;T=p?1:T;p=(p^1)&1;q=R?1:q;R=(R^1)&1;u=x?1:s;s=(x^1)&1;x=y?1:t;t=(y^1)&1;y=z?1:N;v=(z^1)&1;z=O?1:F;w=(O^1)&1;j=P?1:da;k=(P^1)&1;P=Q?1:F;Q=(Q^1)&1}else{T=1;p=0;q=1;R=0;u=1;s=0;x=1;t=0;y=1;v=0;z=1;w=0;j=1;k=0;P=1;Q=0}do if(a[ua+27>>0]|0){n=a[va>>0]|0;if((i|0)!=(n&255|0)?(S|0)!=(d[va+1>>0]|0):0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(n<<24>>24==0?(a[va+1>>0]|0)==0:0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(!(a[ua+33>>0]|0)){N=b[wa>>1]|0;D=r(G,N)|0;O=b[xa+(D+L<<1)>>1]|0;M=O&65535;E=r(m,N)|0;K=b[xa+(L<<1)+(E<<1)>>1]|0;A=K&65535;H=ba+16|0;c[H>>2]=A;c[ba+8>>2]=A;I=b[xa+(D+l<<1)>>1]|0;c[ba>>2]=I&65535;J=b[xa+(D+i<<1)>>1]|0;B=J&65535;C=ba+20|0;c[C>>2]=B;c[ba+4>>2]=B;N=r(S,N)|0;L=b[xa+(N+L<<1)>>1]|0;n=L&65535;m=ba+24|0;c[m>>2]=n;c[ba+12>>2]=n;N=b[xa+(N+i<<1)>>1]|0;F=N&65535;G=ba+28|0;c[G>>2]=F;if(!ia){if((i|0)==1){c[m>>2]=-1;c[H>>2]=-1;n=-1}else{n=e[xa+(i+-2+D<<1)>>1]|0;c[m>>2]=n}if((S|0)==1){c[C>>2]=-1;m=-1;l=-1}else{m=e[xa+(l+1+D<<1)>>1]|0;c[C>>2]=m;l=e[xa+(i+-2+E<<1)>>1]|0}c[H>>2]=l;c[G>>2]=F;A=l;B=m}if(I<<16>>16==O<<16>>16){l=P;m=Q}else{a[ya>>0]=1;a[za>>0]=0;l=0;m=1}if(J<<16>>16!=O<<16>>16){a[ya+1>>0]=1;a[za+1>>0]=0;j=0;k=1}if(K<<16>>16!=O<<16>>16){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;w=1}if(L<<16>>16!=O<<16>>16){a[ya+3>>0]=1;a[za+3>>0]=0;y=0;v=1}if((A|0)!=(M|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((B|0)!=(M|0)){a[ya+5>>0]=1;a[za+5>>0]=0;u=0;s=1}if((n|0)==(M|0))n=R;else{a[ya+6>>0]=1;a[za+6>>0]=0;q=0;n=1}if(N<<16>>16==O<<16>>16){A=y;y=s;s=n;n=T;break}a[ya+7>>0]=1;a[za+7>>0]=0;A=y;y=s;s=n;p=1;n=0}else{A=y;y=s;s=R;n=T;m=Q;l=P}}else{A=y;y=s;s=R;n=T;m=Q;l=P}while(0);if(m<<24>>24!=0&l<<24>>24==0)a[Ca>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+1>>0]=0;if(w<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(v<<24>>24!=0&A<<24>>24==0)a[Ca+3>>0]=0;if(t<<24>>24!=0&x<<24>>24==0)a[Ca+4>>0]=0;if(y<<24>>24!=0&u<<24>>24==0)a[Ca+5>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+6>>0]=0;if(!(p<<24>>24!=0&n<<24>>24==0))break;a[Ca+7>>0]=0}while(0);if((i<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}j=$a+4120|0;if((i|0)==(b[j>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[V+16>>0]|0;a[Da+1>>0]=a[V+17>>0]|0;a[Ea>>0]=a[W+16>>0]|0;k=f+105|0;a[k>>0]=a[W+17>>0]|0;if(fa<<24>>24==4?(i|0)!=((b[j>>1]|0)+-1|0):0){a[Ea>>0]=a[Y+(Sa+-2)>>0]|0;a[k>>0]=a[Y+(Sa+-1)>>0]|0}i=c[Ka+11904+((c[U>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Ha,Fa,16,8);break}else{kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Fa,Ha,16,8);break}}else{if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16)}while(0);R=X+_|0;Q=Y+$|0;i=Z+(((b[wa>>1]|0)+1|0)*12|0)|0;da=161}else{aa=F;_=G;i=H;da=254}}else{R=F;Q=G;i=H;da=161}do if((da|0)==161){j=c[Za>>2]|0;if((j|0)>0){K=b[wa>>1]|0;G=r(j+-1|0,K)|0;P=c[Ya>>2]|0;G=e[qa+(G+P<<1)>>1]|0;M=b[$a>>1]|0;P=P<<ab;J=La-P+M|0;J=((J|0)<9?J:0)+ia|0;M=Aa-P+M|0;M=((M|0)<17?M:0)+ea|0;H=R+fb|0;N=Q+fb|0;K=0-K|0;O=i+(K*12|0)|0;I=(c[f+60>>2]|0)+P|0;P=(c[f+68>>2]|0)+P|0;L=j<<ab;F=(c[f+56>>2]|0)+L+-8|0;L=(c[f+64>>2]|0)+L+-16|0;do if(J|0){if(!(a[ra+(G*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}j=c[O>>2]|0;k=j&7;if(!k){_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}a[ma+1>>0]=j<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](H,gb,F,I,aa,(c[O>>2]|0)>>>19&31,ma,J,8);break}$=Ka+12188|0;bc[c[$>>2]&15](ja,-1,8);bc[c[$>>2]&15](ya,0,8);bc[c[$>>2]&15](ba,0,32);$=za;c[$>>2]=16843009;c[$+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){j=c[Ya>>2]|0;s=c[Za>>2]|0;n=s+-1|0;q=j+-1|0;m=(j|0)==0;if(m){c[ba>>2]=-1;c[ba+16>>2]=-1;l=b[wa>>1]|0;k=r(n,l)|0;l=r(s,l)|0;E=-1;t=-1}else{E=b[wa>>1]|0;k=r(n,E)|0;t=e[qa+(k+q<<1)>>1]|0;c[ba+16>>2]=t;c[ba>>2]=t;E=r(s,E)|0;l=E;E=e[qa+(E+q<<1)>>1]|0}c[ba+24>>2]=E;x=b[qa+(k+j<<1)>>1]|0;D=x&65535;c[ba+20>>2]=D;c[ba+8>>2]=D;c[ba+4>>2]=D;w=b[qa+(l+j<<1)>>1]|0;k=w&65535;c[ba+28>>2]=k;c[ba+12>>2]=k;if(m){a[za>>0]=0;l=0;v=0;m=a[ra+(D*1272|0)+174>>0]|0}else{m=a[ra+(D*1272|0)+174>>0]|0;a[za>>0]=m;l=a[ra+(E*1272|0)+174>>0]|0;v=m}y=za+4|0;a[y>>0]=v;B=za+6|0;a[B>>0]=l;z=za+5|0;a[z>>0]=m;p=za+2|0;a[p>>0]=m;u=za+1|0;a[u>>0]=m;A=a[ra+(k*1272|0)+174>>0]|0;k=za+3|0;a[k>>0]=A;C=za+7|0;a[C>>0]=A;if((E|0)<(D|0)){a[B>>0]=m;l=m}$=(t|0)==(D|0);t=$?1:v;a[($?za:ya)>>0]=1;a[u>>0]=1;a[p>>0]=1;da=w<<16>>16==x<<16>>16;p=da?1:A;a[(da?k:ya+3|0)>>0]=1;m=$?1:v;a[($?y:ya+4|0)>>0]=1;a[z>>0]=1;k=(E|0)==(D|0);l=k?1:l;a[(k?B:ya+6|0)>>0]=1;k=da?1:A;a[(da?C:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=190;else{x=j;w=p;da=180}}else{j=c[Ya>>2]|0;if(a[ua+27>>0]|0){n=c[Za>>2]|0;x=j;s=n;n=n+-1|0;q=j+-1|0;t=1;w=1;m=1;l=1;k=1;da=180}}do if((da|0)==180){j=a[va>>0]|0;if((x|0)!=(j&255|0)?(s|0)!=(d[va+1>>0]|0):0){p=w;j=x;da=190;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){p=w;j=x;da=190;break}if(!(a[ua+33>>0]|0)){if(!x){c[ba>>2]=-1;c[ba+16>>2]=-1;v=b[wa>>1]|0;j=r(n,v)|0;n=r(s,v)|0;v=-1;p=-1}else{v=b[wa>>1]|0;j=r(n,v)|0;p=e[xa+(j+q<<1)>>1]|0;c[ba+16>>2]=p;c[ba>>2]=p;v=r(s,v)|0;n=v;v=e[xa+(v+q<<1)>>1]|0}c[ba+24>>2]=v;q=b[xa+(j+x<<1)>>1]|0;u=q&65535;c[ba+20>>2]=u;c[ba+8>>2]=u;c[ba+4>>2]=u;j=b[xa+(n+x<<1)>>1]|0;s=j&65535;c[ba+28>>2]=s;c[ba+12>>2]=s;s=(p|0)==(u|0);if(!s){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0;t=0}n=j<<16>>16==q<<16>>16;if(n)p=w;else{p=ya+3|0;a[p>>0]=a[p>>0]|1;a[za+3>>0]=0;p=0}if(!s){m=ya+4|0;a[m>>0]=a[m>>0]|1;a[za+4>>0]=0;m=0}if((v|0)==(u|0))j=l;else{j=ya+6|0;a[j>>0]=a[j>>0]|1;a[za+6>>0]=0;j=0}if(n){l=j;j=x;da=190;break}l=ya+7|0;a[l>>0]=a[l>>0]|1;a[za+7>>0]=0;l=j;k=0;j=x;da=190}else{p=w;j=x;da=190}}while(0);if((da|0)==190){if((a[ya>>0]|0)!=0&t<<24>>24==0)a[ja>>0]=0;if((a[ya+3>>0]|0)!=0&p<<24>>24==0)a[ja+3>>0]=0;if((a[ya+4>>0]|0)!=0&m<<24>>24==0)a[ja+4>>0]=0;if((a[ya+6>>0]|0)!=0&l<<24>>24==0)a[ja+6>>0]=0;if((a[ya+7>>0]|0)!=0&k<<24>>24==0)a[ja+7>>0]=0}if(!j){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-(j<<ab)|0)<=(J|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}j=c[Za>>2]|0;if((j<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((j|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[oa>>0]|0;a[la>>0]=a[R+-1>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](H,gb,F,I,aa,Da,la,ja,ma,J,8)}while(0);do if(M|0){if(!(a[ra+(G*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}H=i+(K*12|0)+4|0;j=c[H>>2]|0;k=j&7;if(!k){$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=j<<21>>28;a[Ha+3>>0]=j<<17>>28;a[Ha+4>>0]=j<<13>>28;j=c[i+(K*12|0)+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](N,gb,L,P,ca,(c[H>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,M,8);break}else{jc[i&7](N,gb,L,P,ca,j>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,M,8);break}}aa=Ca;c[aa>>2]=-1;c[aa+4>>2]=-1;aa=ya;c[aa>>2]=0;c[aa+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;aa=za;c[aa>>2]=16843009;c[aa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;E=c[Za>>2]|0;F=E+-1|0;G=i+-1|0;l=(i|0)==0;j=b[wa>>1]|0;k=r(F,j)|0;if(l){j=r(E,j)|0;y=-1;C=-1}else{C=r(E,j)|0;j=C;y=e[qa+(k+G<<1)>>1]|0;C=e[qa+(C+G<<1)>>1]|0}c[ba+16>>2]=y;c[ba>>2]=y;c[ba+24>>2]=C;q=b[qa+(k+i<<1)>>1]|0;A=q&65535;c[ba+20>>2]=A;c[ba+8>>2]=A;c[ba+4>>2]=A;p=b[qa+(j+i<<1)>>1]|0;j=p&65535;c[ba+28>>2]=j;c[ba+12>>2]=j;if(l){a[za>>0]=0;k=0;s=0;l=a[ra+(A*1272|0)+174>>0]|0}else{l=a[ra+(A*1272|0)+174>>0]|0;a[za>>0]=l;k=a[ra+(C*1272|0)+174>>0]|0;s=l}v=za+4|0;a[v>>0]=s;B=za+6|0;a[B>>0]=k;w=za+5|0;a[w>>0]=l;m=za+2|0;a[m>>0]=l;n=za+1|0;a[n>>0]=l;z=a[ra+(j*1272|0)+174>>0]|0;j=za+3|0;a[j>>0]=z;D=za+7|0;a[D>>0]=z;if((C|0)<(A|0)){a[B>>0]=l;k=l}da=(y|0)==(A|0);x=da?1:s;t=(da^1)&1;a[(da?za:ya)>>0]=1;a[n>>0]=1;a[m>>0]=1;da=p<<16>>16==q<<16>>16;u=da?1:z;q=(da^1)&1;a[(da?j:ya+3|0)>>0]=1;j=(y|0)==(A|0);s=j?1:s;m=(j^1)&1;a[(j?v:ya+4|0)>>0]=1;a[w>>0]=1;j=(C|0)==(A|0);l=j?1:k;n=(j^1)&1;a[(j?B:ya+6|0)>>0]=1;j=da?1:z;k=(da^1)&1;a[(da?D:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=234;else{A=i;v=E;p=F;w=G;z=m;da=224}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){p=c[Za>>2]|0;A=i;v=p;p=p+-1|0;w=i+-1|0;t=0;x=1;q=0;u=1;z=0;s=1;n=0;l=1;k=0;j=1;da=224}}do if((da|0)==224){i=a[va>>0]|0;if((A|0)!=(i&255|0)?(v|0)!=(d[va+1>>0]|0):0){m=z;i=A;da=234;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){m=z;i=A;da=234;break}if(!(a[ua+33>>0]|0)){i=b[wa>>1]|0;m=r(p,i)|0;if(!A){i=r(v,i)|0;v=-1;y=-1}else{y=r(v,i)|0;i=y;v=e[xa+(m+w<<1)>>1]|0;y=e[xa+(y+w<<1)>>1]|0}c[ba+16>>2]=v;c[ba>>2]=v;c[ba+24>>2]=y;m=b[xa+(m+A<<1)>>1]|0;w=m&65535;c[ba+20>>2]=w;c[ba+8>>2]=w;c[ba+4>>2]=w;i=b[xa+(i+A<<1)>>1]|0;da=i&65535;c[ba+28>>2]=da;c[ba+12>>2]=da;if((v|0)!=(w|0)){a[ya>>0]=1;a[za>>0]=0;x=0;t=1}p=i<<16>>16==m<<16>>16;if(!p){a[ya+3>>0]=1;a[za+3>>0]=0;u=0;q=1}if((v|0)==(w|0))m=z;else{a[ya+4>>0]=1;a[za+4>>0]=0;s=0;m=1}if((y|0)==(w|0))i=n;else{a[ya+6>>0]=1;a[za+6>>0]=0;l=0;i=1}if(p){n=i;i=A;da=234;break}a[ya+7>>0]=1;a[za+7>>0]=0;n=i;k=1;j=0;i=A;da=234}else{m=z;i=A;da=234}}while(0);if((da|0)==234){if(t<<24>>24!=0&x<<24>>24==0)a[Ca>>0]=0;if(q<<24>>24!=0&u<<24>>24==0)a[Ca+3>>0]=0;if(m<<24>>24!=0&s<<24>>24==0)a[Ca+4>>0]=0;if(n<<24>>24!=0&l<<24>>24==0)a[Ca+6>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(M|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[Oa>>0]|0;a[Da+1>>0]=a[Oa+1>>0]|0;a[Ea>>0]=a[Q+-2>>0]|0;a[f+105>>0]=a[Q+-1>>0]|0;i=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Ha,Fa,M,8);break}else{kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Fa,Ha,M,8);break}}while(0);i=O+((b[wa>>1]|0)*12|0)|0}j=c[Ya>>2]|0;if((j|0)>0){aa=R;_=Q;M=c[Za>>2]|0;da=254;break}else{n=(bb|0)/2|0;aa=R;_=Q;M=i;p=8-n|0;n=n+-8|0;Q=ab+-1|0;i=f+60|0;k=f+68|0;l=f+56|0;m=f+64|0;J=j;break}}while(0);if((da|0)==254){p=(bb|0)/2|0;n=p+-8|0;L=b[wa>>1]|0;K=r(M,L)|0;I=j+-1|0;J=K+I|0;q=qa+(J<<1)|0;Q=e[q>>1]|0;V=b[_a>>1]|0;N=M<<ab;U=La-N+(V<<16>>16)|0;U=((U|0)<9?U:0)+ia|0;Z=ab+-1|0;p=8-p|0;V=p-(M<<Z)+(((V<<16>>16)/2|0)<<16>>16)|0;V=((V|0)<9?V:0)+n|0;R=aa+-8|0;W=_+-16|0;O=i+-12|0;$=f+60|0;P=j<<ab;S=(c[$>>2]|0)+P+-8|0;ba=f+68|0;X=(c[ba>>2]|0)+P+-16|0;ca=f+56|0;T=(c[ca>>2]|0)+N|0;m=f+64|0;Y=(c[m>>2]|0)+N|0;do if(U|0){if(!(a[ra+(Q*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}k=c[O>>2]|0;l=k&7;if(!l){if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}a[ma+1>>0]=k<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((l|0)==1){hc[c[Ka+12244>>2]&15](R,gb,T,S,na,(c[O>>2]|0)>>>19&31,ma,8,U);break}H=ja;c[H>>2]=-1;c[H+4>>2]=-1;H=ya;c[H>>2]=0;c[H+4>>2]=0;H=za;c[H>>2]=16843009;c[H+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){H=M+-1|0;if(!M){s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;w=0;k=q&65535;l=a[ra+(D*1272|0)+174>>0]|0;C=-1;y=-1}else{y=r(H,L)|0;s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;l=a[ra+(D*1272|0)+174>>0]|0;w=l;k=q&65535;C=e[qa+(y+j<<1)>>1]|0;y=e[qa+(y+I<<1)>>1]|0}x=za+2|0;a[x>>0]=w;z=za+4|0;a[z>>0]=w;F=za+5|0;a[F>>0]=w;E=a[ra+(k*1272|0)+174>>0]|0;k=za+1|0;a[k>>0]=E;t=za+3|0;a[t>>0]=l;G=za+7|0;a[G>>0]=E;if((C|0)>(D|0)){l=a[ra+(C*1272|0)+174>>0]|0;a[F>>0]=l}else l=w;a[za>>0]=1;da=q<<16>>16==s<<16>>16;A=da?1:E;u=(da^1)&1;a[(da?k:ya+1|0)>>0]=1;k=(y|0)==(D|0);B=k?1:w;v=(k^1)&1;a[(k?x:ya+2|0)>>0]=1;a[t>>0]=1;k=(y|0)==(D|0);w=k?1:w;t=(k^1)&1;a[(k?z:ya+4|0)>>0]=1;k=(C|0)==(D|0);q=k?1:l;s=(k^1)&1;a[(k?F:ya+5|0)>>0]=1;a[za+6>>0]=1;k=da?1:E;l=(da^1)&1;a[(da?G:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0))da=280;else{y=H;x=w;C=q;da=272}}else if(a[ua+27>>0]|0){y=M+-1|0;u=0;A=1;v=0;B=1;t=0;x=1;s=0;C=1;l=0;k=1;da=272}do if((da|0)==272){q=a[va>>0]|0;if((j|0)!=(q&255|0)?(M|0)!=(d[va+1>>0]|0):0){w=x;q=C;da=280;break}if(q<<24>>24==0?(a[va+1>>0]|0)==0:0){w=x;q=C;da=280;break}if(!(a[ua+33>>0]|0)){if(!M){q=-1;z=-1}else{z=r(y,L)|0;q=e[xa+(z+I<<1)>>1]|0;z=e[xa+(z+j<<1)>>1]|0}y=b[xa+(J<<1)>>1]|0;w=y&65535;y=(b[xa+(K+j<<1)>>1]|0)==y<<16>>16;if(!y){a[ya+1>>0]=1;a[za+1>>0]=0;A=0;u=1}if((q|0)!=(w|0)){a[ya+2>>0]=1;a[za+2>>0]=0;B=0;v=1}if((q|0)!=(w|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((z|0)==(w|0))q=C;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;s=1}if(y){w=x;da=280}else{a[ya+7>>0]=1;a[za+7>>0]=0;w=x;l=1;k=0;da=280}}else{w=x;q=C;da=280}}while(0);if((da|0)==280){if(u<<24>>24!=0&A<<24>>24==0)a[ja+1>>0]=0;if(v<<24>>24!=0&B<<24>>24==0)a[ja+2>>0]=0;if(t<<24>>24!=0&w<<24>>24==0)a[ja+4>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[ja+5>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+7>>0]=0}if((P|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((j|0)==(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!M){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-N|0)<=(U|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[S+8>>0]|0;a[la>>0]=a[ka>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](R,gb,T,S,na,Da,la,ja,ma,8,U)}while(0);do if(V|0){if(!(a[ra+(Q*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}H=i+-8|0;j=c[H>>2]|0;k=j&7;if(!k){if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=c[H>>2]<<21>>28;a[Ha+3>>0]=c[H>>2]<<17>>28;a[Ha+4>>0]=c[H>>2]<<13>>28;l=i+-4|0;a[Fa+1>>0]=c[l>>2]<<25>>28;a[Fa+2>>0]=c[l>>2]<<21>>28;a[Fa+3>>0]=c[l>>2]<<17>>28;a[Fa+4>>0]=c[l>>2]<<13>>28;if((k|0)==1){j=c[Ka+12248>>2]|0;if(!Ga){jc[j&7](W,gb,Y,X,Na,(c[H>>2]|0)>>>19&31,(c[l>>2]|0)>>>19&31,Ha,Fa,16,V);break}else{jc[j&7](W,gb,Y,X,Na,(c[l>>2]|0)>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,16,V);break}}U=Ca;c[U>>2]=-1;c[U+4>>2]=-1;U=ya;c[U>>2]=0;c[U+4>>2]=0;U=za;c[U>>2]=16843009;c[U+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){k=c[Ya>>2]|0;E=k+-1|0;B=c[Za>>2]|0;C=B+-1|0;l=(B|0)==0;j=b[wa>>1]|0;if(l){y=-1;u=-1}else{u=r(C,j)|0;y=e[qa+(u+k<<1)>>1]|0;u=e[qa+(u+E<<1)>>1]|0}q=r(B,j)|0;j=b[qa+(q+E<<1)>>1]|0;w=j&65535;q=b[qa+(q+k<<1)>>1]|0;if(l)l=0;else l=a[ra+(w*1272|0)+174>>0]|0;s=za+2|0;a[s>>0]=l;t=za+4|0;a[t>>0]=l;x=za+5|0;a[x>>0]=l;if((y|0)>(w|0)){v=a[ra+(y*1272|0)+174>>0]|0;a[x>>0]=v}else v=l;T=a[ra+((q&65535)*1272|0)+174>>0]|0;z=za+1|0;a[z>>0]=T;G=za+3|0;a[G>>0]=a[ra+(w*1272|0)+174>>0]|0;da=za+7|0;a[da>>0]=T;a[za>>0]=1;U=q<<16>>16==j<<16>>16;D=U?1:T;A=(U^1)&1;a[(U?z:ya+1|0)>>0]=1;j=(u|0)==(w|0);z=j?1:l;F=(j^1)&1;a[(j?s:ya+2|0)>>0]=1;a[G>>0]=1;j=(u|0)==(w|0);G=j?1:l;s=(j^1)&1;a[(j?t:ya+4|0)>>0]=1;j=(y|0)==(w|0);q=j?1:v;t=(j^1)&1;a[(j?x:ya+5|0)>>0]=1;a[za+6>>0]=1;j=U?1:T;l=(U^1)&1;a[(U?da:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0)){u=A;y=D;v=F;w=G;da=325}else{u=A;y=D;v=F;D=l;da=317}}else{j=c[Ya>>2]|0;if(!(a[ua+27>>0]|0))k=j;else{C=c[Za>>2]|0;k=j;B=C;C=C+-1|0;E=j+-1|0;u=0;y=1;v=0;z=1;s=0;G=1;t=0;q=1;D=0;j=1;da=317}}do if((da|0)==317){l=a[va>>0]|0;if((k|0)!=(l&255|0)?(B|0)!=(d[va+1>>0]|0):0){w=G;l=D;da=325;break}if(l<<24>>24==0?(a[va+1>>0]|0)==0:0){w=G;l=D;da=325;break}if(!(a[ua+33>>0]|0)){l=b[wa>>1]|0;if(!B){w=-1;A=-1}else{A=r(C,l)|0;w=e[xa+(A+E<<1)>>1]|0;A=e[xa+(A+k<<1)>>1]|0}da=r(B,l)|0;x=b[xa+(da+E<<1)>>1]|0;l=x&65535;x=(b[xa+(da+k<<1)>>1]|0)==x<<16>>16;if(!x){a[ya+1>>0]=1;a[za+1>>0]=0;y=0;u=1}if((w|0)!=(l|0)){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;v=1}if((w|0)==(l|0))w=G;else{a[ya+4>>0]=1;a[za+4>>0]=0;w=0;s=1}if((A|0)==(l|0))l=t;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;l=1}if(x){t=l;l=D;da=325;break}a[ya+7>>0]=1;a[za+7>>0]=0;t=l;l=1;j=0;da=325}else{w=G;l=D;da=325}}while(0);if((da|0)==325){if(u<<24>>24!=0&y<<24>>24==0)a[Ca+1>>0]=0;if(v<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&w<<24>>24==0)a[Ca+4>>0]=0;if(t<<24>>24!=0&q<<24>>24==0)a[Ca+5>>0]=0;if(l<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if((k<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}l=b[wa>>1]|0;if((k|0)==(l|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}j=c[Za>>2]|0;if(!j){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(j<<Z)|0)<=(V|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[X+16>>0]|0;j=Da+1|0;a[j>>0]=a[X+17>>0]|0;a[ha>>0]=a[Ja>>0]|0;a[ha+1>>0]=a[Ja+1>>0]|0;if(fa<<24>>24==4?(ga=16-gb|0,(k|0)!=(l+-1|0)):0){a[Da>>0]=a[W+ga>>0]|0;a[j>>0]=a[W+(ga+1)>>0]|0}j=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Ha,Fa,16,V);break}else{kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Fa,Ha,16,V);break}}while(0);M=i;Q=Z;i=$;k=ba;l=ca;J=c[Ya>>2]|0}R=b[$a>>1]|0;I=J<<ab;L=La-I+R|0;L=((L|0)<9?L:0)+ia|0;R=Aa-I+R|0;R=((R|0)<17?R:0)+ea|0;P=b[_a>>1]|0;F=c[Za>>2]|0;G=F<<ab;K=La+(P<<16>>16)-G|0;K=((K|0)<9?K:0)+ia|0;P=p-(F<<Q)+(((P<<16>>16)/2|0)<<16>>16)|0;P=((P|0)<9?P:0)+n|0;H=(c[i>>2]|0)+I|0;O=(c[k>>2]|0)+I|0;E=(c[l>>2]|0)+G|0;N=(c[m>>2]|0)+G|0;do if((L|0)!=0&(K|0)!=0){if(!(a[(c[f+16>>2]|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}i=c[M>>2]|0;j=i&7;if(!j){j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[M>>2]<<21>>28;a[ma+3>>0]=c[M>>2]<<17>>28;a[ma+4>>0]=c[M>>2]<<13>>28;if((j|0)==1){hc[c[Ka+12244>>2]&15](aa,gb,E,H,na,(c[M>>2]|0)>>>19&31,ma,L,K);break}ia=ja;c[ia>>2]=-1;c[ia+4>>2]=-1;ia=ya;c[ia>>2]=0;c[ia+4>>2]=0;ia=za;c[ia>>2]=16843009;c[ia+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){D=F+-1|0;C=J+-1|0;j=(J|0)==0;if(j)B=-1;else B=e[qa+((r(F,b[wa>>1]|0)|0)+C<<1)>>1]|0;k=(F|0)==0;i=b[wa>>1]|0;if(k){y=-1;w=-1}else{w=r(D,i)|0;y=e[qa+(w+J<<1)>>1]|0;w=e[qa+(w+C<<1)>>1]|0}z=e[qa+((r(F,i)|0)+J<<1)>>1]|0;if(j){a[za+6>>0]=0;a[za>>0]=0;a[za+4>>0]=0;l=0;j=0}else{j=a[ra+(B*1272|0)+174>>0]|0;a[za+6>>0]=j;l=a[ra+(z*1272|0)+174>>0]|0;a[za>>0]=l}i=a[ra+(z*1272|0)+174>>0]|0;s=k?0:i;m=za+2|0;a[m>>0]=s;v=za+4|0;a[v>>0]=s;x=za+5|0;a[x>>0]=s;k=za+1|0;a[k>>0]=i;q=za+3|0;a[q>>0]=i;A=za+7|0;a[A>>0]=i;if((B|0)<(z|0))a[za+6>>0]=i;else i=j;ia=(B|0)==(z|0);t=ia?1:l;n=(ia^1)&1;a[(ia?za:ya)>>0]=1;a[k>>0]=1;ia=(y|0)==(z|0);u=ia?1:s;p=(ia^1)&1;a[(ia?m:ya+2|0)>>0]=1;a[q>>0]=1;ia=(w|0)==(z|0);m=ia?1:s;q=(ia^1)&1;a[(ia?v:ya+4|0)>>0]=1;ia=(y|0)==(z|0);k=ia?1:s;l=(ia^1)&1;a[(ia?x:ya+5|0)>>0]=1;ia=(B|0)==(z|0);i=ia?1:i;j=(ia^1)&1;a[(ia?za:ya)+6>>0]=1;a[A>>0]=1;if(!(a[ua+27>>0]|0))da=380;else{w=C;s=D;y=q;x=m;z=j;da=369}}else if(a[ua+27>>0]|0){w=J+-1|0;s=F+-1|0;n=0;t=1;p=0;u=1;y=0;x=1;l=0;k=1;z=0;i=1;da=369}do if((da|0)==369){j=a[va>>0]|0;if((J|0)!=(j&255|0)?(F|0)!=(d[va+1>>0]|0):0){q=y;m=x;j=z;da=380;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){q=y;m=x;j=z;da=380;break}if(!(a[ua+33>>0]|0)){if(!J)v=-1;else v=e[xa+((r(F,b[wa>>1]|0)|0)+w<<1)>>1]|0;j=b[wa>>1]|0;if(!F){s=-1;m=-1}else{m=r(s,j)|0;s=e[xa+(m+J<<1)>>1]|0;m=e[xa+(m+w<<1)>>1]|0}q=e[xa+((r(F,j)|0)+J<<1)>>1]|0;if((v|0)!=(q|0)){a[ya>>0]=1;a[za>>0]=0;t=0;n=1}if((s|0)!=(q|0)){a[ya+2>>0]=1;a[za+2>>0]=0;u=0;p=1}if((m|0)==(q|0)){m=x;j=y}else{a[ya+4>>0]=1;a[za+4>>0]=0;m=0;j=1}if((s|0)!=(q|0)){a[ya+5>>0]=1;a[za+5>>0]=0;k=0;l=1}if((v|0)==(q|0)){q=j;j=z;da=380}else{a[ya+6>>0]=1;a[za+6>>0]=0;q=j;j=1;i=0;da=380}}else{q=y;m=x;j=z;da=380}}while(0);if((da|0)==380){if(n<<24>>24!=0&t<<24>>24==0)a[ja>>0]=0;if(p<<24>>24!=0&u<<24>>24==0)a[ja+2>>0]=0;if(q<<24>>24!=0&m<<24>>24==0)a[ja+4>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+5>>0]=0;if(j<<24>>24!=0&i<<24>>24==0)a[ja+6>>0]=0}if(!J){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-I|0)<=(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!F){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-G|0)<=(K|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[aa+(L-gb)>>0]|0;ia=r(K,gb)|0;a[la>>0]=a[aa+(ia+-1)>>0]|0;jc[c[Ka+11888+((c[M>>2]&7)+-2<<2)>>2]&7](aa,gb,E,H,na,Da,la,ja,ma,L,K);a[oa>>0]=a[aa+((r(K+-1|0,gb)|0)+L)>>0]|0;a[ka>>0]=a[aa+(L+-1+ia)>>0]|0}while(0);do if((R|0)!=0&(P|0)!=0){if(!(a[(c[f+16>>2]|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ha=r(i,gb)|0;Ja=i<<1;a[N+Ja>>0]=a[_+(j+Ha)>>0]|0;a[N+(Ja|1)>>0]=a[_+(k+Ha)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;break}F=M+4|0;i=c[F>>2]|0;k=i&7;do if(k){a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;j=c[M+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](_,gb,N,O,Na,(c[F>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,R,P);break}else{jc[i&7](_,gb,N,O,Na,j>>>19&31,(c[F>>2]|0)>>>19&31,Fa,Ha,R,P);break}}oa=Ca;c[oa>>2]=-1;c[oa+4>>2]=-1;oa=ya;c[oa>>2]=0;c[oa+4>>2]=0;oa=za;c[oa>>2]=16843009;c[oa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;C=c[Za>>2]|0;E=C+-1|0;D=i+-1|0;k=(i|0)==0;if(k)B=-1;else B=e[qa+((r(C,b[wa>>1]|0)|0)+D<<1)>>1]|0;l=(C|0)==0;j=b[wa>>1]|0;if(l){A=-1;s=-1}else{s=r(E,j)|0;A=e[qa+(s+i<<1)>>1]|0;s=e[qa+(s+D<<1)>>1]|0}z=e[qa+((r(C,j)|0)+i<<1)>>1]|0;if(k){a[za>>0]=0;a[za+4>>0]=0;a[za+6>>0]=0;n=0;m=0}else{m=a[ra+(B*1272|0)+174>>0]&1;a[za+6>>0]=m;n=a[ra+(z*1272|0)+174>>0]&1;a[za>>0]=n}if(l){a[za+2>>0]=0;k=a[ra+(z*1272|0)+174>>0]|0;j=k&1;t=0}else{k=a[ra+(z*1272|0)+174>>0]|0;t=k&1;a[za+2>>0]=t;j=t}w=za+4|0;a[w>>0]=t;x=za+5|0;a[x>>0]=t;l=za+1|0;a[l>>0]=j;q=za+3|0;a[q>>0]=j;y=za+7|0;a[y>>0]=j;if((B|0)<(z|0))a[za+6>>0]=k;else k=m;ra=(B|0)==(z|0);u=ra?1:n;n=(ra^1)&1;a[(ra?za:ya)>>0]=1;a[l>>0]=1;ra=(A|0)==(z|0);v=ra?1:t;p=(ra^1)&1;a[(ra?za:ya)+2>>0]=1;a[q>>0]=1;ra=(s|0)==(z|0);q=ra?1:t;s=(ra^1)&1;a[(ra?w:ya+4|0)>>0]=1;ra=(A|0)==(z|0);l=ra?1:t;m=(ra^1)&1;a[(ra?x:ya+5|0)>>0]=1;ra=(B|0)==(z|0);j=ra?1:k;k=(ra^1)&1;a[(ra?za:ya)+6>>0]=1;a[y>>0]=1;if(!(a[ua+27>>0]|0))da=435;else{B=i;z=C;y=D;t=E;A=s;da=424}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){t=c[Za>>2]|0;B=i;z=t;y=i+-1|0;t=t+-1|0;n=0;u=1;p=0;v=1;A=0;q=1;m=0;l=1;k=0;j=1;da=424}}do if((da|0)==424){i=a[va>>0]|0;if((B|0)!=(i&255|0)?(z|0)!=(d[va+1>>0]|0):0){s=A;i=B;da=435;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){s=A;i=B;da=435;break}if(!(a[ua+33>>0]|0)){if(!B)x=-1;else x=e[xa+((r(z,b[wa>>1]|0)|0)+y<<1)>>1]|0;i=b[wa>>1]|0;if(!z){w=-1;s=-1}else{s=r(t,i)|0;w=e[xa+(s+B<<1)>>1]|0;s=e[xa+(s+y<<1)>>1]|0}t=e[xa+((r(z,i)|0)+B<<1)>>1]|0;if((x|0)!=(t|0)){a[ya>>0]=1;a[za>>0]=0;u=0;n=1}if((w|0)!=(t|0)){a[ya+2>>0]=1;a[za+2>>0]=0;v=0;p=1}if((s|0)==(t|0))i=A;else{a[ya+4>>0]=1;a[za+4>>0]=0;q=0;i=1}if((w|0)!=(t|0)){a[ya+5>>0]=1;a[za+5>>0]=0;l=0;m=1}if((x|0)==(t|0)){s=i;i=B;da=435;break}a[ya+6>>0]=1;a[za+6>>0]=0;s=i;k=1;j=0;i=B;da=435}else{s=A;i=B;da=435}}while(0);if((da|0)==435){if(n<<24>>24!=0&u<<24>>24==0)a[Ca>>0]=0;if(p<<24>>24!=0&v<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+4>>0]=0;if(m<<24>>24!=0&l<<24>>24==0)a[Ca+5>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+6>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(R|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if(!i){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(i<<Q)|0)<=(P|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}i=R-gb|0;a[Da>>0]=a[_+i>>0]|0;a[Da+1>>0]=a[_+(i+1)>>0]|0;i=r(P,gb)|0;a[Ea>>0]=a[_+(i+-2)>>0]|0;a[f+105>>0]=a[_+(i+-1)>>0]|0;i=c[Ka+11904+((c[F>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Ha,Fa,R,P);break}else{kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Fa,Ha,R,P);break}}else{j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ga=r(i,gb)|0;Ha=i<<1;a[N+Ha>>0]=a[_+(j+Ga)>>0]|0;a[N+(Ha|1)>>0]=a[_+(k+Ga)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0}while(0);Na=(r(P+-1|0,gb)|0)+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;Oa=(r(P,gb)|0)+R|0;a[Ja>>0]=a[_+(Oa+-2)>>0]|0;a[Ja+1>>0]=a[_+(Oa+-1)>>0]|0}while(0);if((ta|0?(o=c[Za>>2]|0,Ua=La+(b[_a>>1]|0)-(o<<ab)|0,Qa=c[Ya>>2]|0,Ra=La+(b[$a>>1]|0)-(Qa<<ab)|0,Ra=((Ra|0)<9?Ra:0)+bb|0,h=aa+((Qa|0)==0?0:-8)+((o|0)==0?0:fb)|0,g=c[Ma>>2]|0,Qa=(Qa<<cb)+(r(o<<cb,db)|0)+(((Qa|0)>0)<<31>>31)|0,Ta=(c[eb>>2]|0)+(Qa>>3)|0,o=((o|0)!=0)<<31>>31,Ua=Pa+((Ua|0)<9?Ua:0)>>3,(Ua|0)>(o|0)):0)?(Va=Qa&7,Wa=(1<<(Ra+7>>3))+-1|0,Xa=0-Ra|0,(Ra|0)>0):0){p=gb<<1;q=gb*3|0;s=gb<<2;t=gb*5|0;u=gb*6|0;v=gb*7|0;while(1){i=(c[Ta+(r(o,hb)|0)>>2]|0)>>>Va&Wa;if(i){n=Ra;while(1){j=Mk(i|0)|0;j=(i|0)==0?31:j;if(!j){k=(i|0)==-1;l=Mk(~i|0)|0;m=k?248:l<<3;m=(m|0)<(n|0)?m:n;if((m|0)>0){j=0;do{a[h+j>>0]=a[g+j>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+gb)>>0]=a[g+(j+128)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+p)>>0]=a[g+(j+256)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+q)>>0]=a[g+(j+384)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+s)>>0]=a[g+(j+512)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+t)>>0]=a[g+(j+640)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+u)>>0]=a[g+(j+768)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+v)>>0]=a[g+(j+896)>>0]|0;j=j+1|0}while((j|0)<(m|0))}j=k?31:l}Pa=j<<3;Qa=(n|0)>(Pa|0)?Pa:n;n=n-Pa|0;h=h+Qa|0;g=g+Qa|0;if((n|0)<=0)break;else i=i>>>j}h=h+Xa|0;g=g+Xa|0}o=o+1|0;if((o|0)==(Ua|0))break;else{h=h+Sa|0;g=g+1024|0}}}if(!sa){Sb=ib;return}g=c[Za>>2]|0;w=Aa+(b[_a>>1]|0)-(g<<ab)|0;j=c[Ya>>2]|0;y=Aa+(b[$a>>1]|0)-(j<<ab)|0;y=((y|0)<17?y:0)+bb|0;i=(g|0)==0;g=(j<<cb)+(r(g<<cb,db)|0)|0;g=(j|0)>0?g+-2|0:g;x=(c[eb>>2]|0)+(g>>3)|0;h=i?0:-2;w=Ba+((w|0)<17?w:0)>>3;if((h|0)>=(w|0)){Sb=ib;return}p=g&7;q=(1<<(y+7>>3))+-1|0;s=((gb|0)/2|0)<<3;t=0-y|0;if((y|0)<=0){Sb=ib;return}u=gb<<1;v=gb*3|0;i=_+((j|0)==0?0:-16)+(i?0:fb)|0;o=h;g=c[Ia>>2]|0;while(1){h=(c[x+(r(o,hb)|0)>>2]|0)>>>p&q;if(!h)h=i;else{n=y;m=i;while(1){i=Mk(h|0)|0;i=(h|0)==0?31:i;if(!i){j=(h|0)==-1;k=Mk(~h|0)|0;l=j?248:k<<3;l=(l|0)<(n|0)?l:n;if((l|0)>0){i=0;do{a[m+i>>0]=a[g+i>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+gb)>>0]=a[g+(i+128)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+u)>>0]=a[g+(i+256)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+v)>>0]=a[g+(i+384)>>0]|0;i=i+1|0}while((i|0)<(l|0))}i=j?31:k}eb=i<<3;fb=(n|0)>(eb|0)?eb:n;n=n-eb|0;m=m+fb|0;g=g+fb|0;if((n|0)<=0)break;else h=h>>>i}h=m+t|0;g=g+t|0}o=o+1|0;if((o|0)==(w|0))break;else{i=h+s|0;g=g+512|0}}Sb=ib;return}function dh(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;w=g+3|0;t=1<<g;u=a[h>>0]|0;x=h+2|0;K=a[h+1>>0]|0;v=(K&255)>>>1;c[n>>2]=-1;c[o>>2]=-1;K=(K&1)!=0;if(K)Uk(f|0,0,t<<g<<1|0)|0;if(((l|0)!=0&u<<24>>24==1?(b[x>>1]|0)==0:0)?(b[h+4>>1]|0)==1:0){c[p>>2]=1;if(!m){p=w-k|0;l=(p|0)<1?1>>>(1-p|0):1<<p+-1;if((g|0)==2){g=(w|0)<(k|0)?512:32768;I=0-g|0;J=b[h+6>>1]|0;g=(r(r(c[33600+(j<<2)>>2]|0,b[i>>1]|0)|0,(g|0)>(J|0)?((J|0)<(I|0)?I:J):g+-1|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}else{g=r(b[i>>1]|0,b[h+6>>1]|0)|0;g=(r(g,c[33600+(j<<2)>>2]|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}if(K)p=(p<<16>>16)+16>>5&65535}else{if((g|0)!=31){p=0;do{b[f+(p<<g<<1)>>1]=0;p=p+1|0}while((p|0)<(t|0))}p=b[h+6>>1]|0}b[q>>1]=p;b[f>>1]=p;c[n>>2]=c[n>>2]&-2;c[o>>2]=c[o>>2]&-2;o=h+8|0;return o|0}c[p>>2]=0;if(!K)Uk(f|0,0,t<<g<<1|0)|0;J=u&255;if(!(u<<24>>24)){o=x;return o|0}I=v&255;E=(m|0)==0;F=(g|0)==2;G=w-k|0;H=(G|0)<1?1>>>(1-G|0):1<<G+-1;B=(w|0)<(k|0)?512:32768;C=0-B|0;D=B+-1|0;y=33600+(j<<2)|0;z=(G|0)>0;A=0-G|0;j=0;do{w=e[x>>1]|0;h=w<<2&1020;w=w>>>8<<2;k=f+(w<<g<<1)+(h<<1)|0;t=e[x+2>>1]|0;if(E){l=31;p=0;while(1){q=s(t|0)|0;u=l-q|0;m=d[24800+(I<<4)+u>>0]|0;v=m&3;m=m>>>2;l=b[x+4+(p<<1)>>1]|0;if(F)l=r(r(c[y>>2]|0,b[i+((m+w<<2)+(v|h)<<1)>>1]|0)|0,(B|0)>(l|0)?((l|0)<(C|0)?C:l):D)|0;else{l=r(b[i+((m+w<<g)+(v|h)<<1)>>1]|0,l)|0;l=r(l,c[y>>2]|0)|0}l=l+H|0;l=z?l>>G:l<<A;l=(l|0)>-32768?l:-32768;l=(l|0)<32767?l:32767;p=p+1|0;if(K)l=(l<<16>>16)+16>>5;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=l;t=t<<q<<1;if(!t)break;else l=u+-1|0}}else{l=31;u=0;while(1){q=s(t|0)|0;l=l-q|0;m=d[24800+(I<<4)+l>>0]|0;v=m&3;m=m>>>2;p=u+1|0;u=b[x+4+(u<<1)>>1]|0;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=u;t=t<<q<<1;if(!t)break;else{l=l+-1|0;u=p}}}x=x+4+(p<<1)|0;j=j+1|0}while((j|0)!=(J|0));o=x;return o|0}function eh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=((h<<16>>16)+63|0)/64|0;z=c[e+44>>2]|0;y=c[f>>2]|0;t=y&15;u=y>>>4&15;l=u+1|0;q=(j|0)/4|0;s=t^31;h=(c[g+(l+q<<2)>>2]|0)>>>s&1;l=(c[g+(l<<2)>>2]|0)>>>s&1;w=c[g+(u<<2)>>2]|0;p=w>>>(30-t|0)&1;q=w>>>(30-q-t|0)&1;s=w>>>s&1;w=c[e+4>>2]|0;t=(r(w,k)|0)+(t<<2)|0;x=c[e+8>>2]|0;u=(r(x,k)|0)+(u<<2)|0;o=c[e+128>>2]|0;m=(j|0)>4?(j|0)/8|0:1;n=(1<<m)+-1|0;if(i<<24>>24){if(!(h<<24>>24))h=0;else{h=t+-1|0;e=o+(r((u+j|0)/8|0,v)|0)+((h|0)/64|0)|0;if((m|0)>0){g=((h|0)/8|0)&7;h=0;f=0;do{h=((d[e+(r(f,v)|0)>>0]|0)>>>g&1)<<f|h&255;f=f+1|0}while((f|0)!=(m|0))}else h=0;h=h&n&255}if(!(l<<24>>24))f=0;else{f=t+-1|0;i=o+(r((u|0)/8|0,v)|0)+((f|0)/64|0)|0;if((m|0)>0){e=((f|0)/8|0)&7;f=0;g=0;do{f=((d[i+(r(g,v)|0)>>0]|0)>>>e&1)<<g|f&255;g=g+1|0}while((g|0)!=(m|0))}else f=0;f=f&n&255}if(!(p<<24>>24))g=0;else g=(d[o+(r((u+-1|0)/8|0,v)|0)+((t|0)/64|0)>>0]|0)>>>(((t|0)/8|0)&7)&n&255;if(!(q<<24>>24))e=0;else{e=t+j|0;e=(d[o+(r((u+-1|0)/8|0,v)|0)+((e|0)/64|0)>>0]|0)>>>(((e|0)/8|0)&7)&n&255}if(!(s<<24>>24))i=0;else{i=t+-1|0;i=(d[o+(r((u+-1|0)/8|0,v)|0)+((i|0)/64|0)>>0]|0)>>>(((i|0)/8|0)&7)<<16&65536}}else{i=s<<24>>24==0?0:65536;e=q<<24>>24==0?0:15;g=p<<24>>24==0?0:15;f=l<<24>>24==0?0:15;h=h<<24>>24==0?0:15}j=(j|0)<8?j:8;v=a[z+4116>>0]|0;u=-4<<(y>>>8&7);w=u-(y<<2&60)+(b[z>>1]|0)-(w<<v)|0;z=u-(y>>>2&60)-(x<<v)+(b[z+2>>1]|0)|0;return (g&255)<<8|i|((1<<((((w|0)>(k|0)?k:w)|0)/(j|0)|0))+255&(e&255))<<12|c[37024+((f&255)<<2)>>2]<<4|c[37024+(((1<<((((z|0)>(k|0)?k:z)|0)/(j|0)|0))+255&(h&255))<<2)>>2]|0}function fh(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;g=(c[d+12>>2]|0)>>>17&3;h=(g|0)==2;i=c[e+12>>2]&393216;f=(i|0)==262144;o=a[d+10>>0]|0;p=a[d+11>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=b[d>>1]|0;t=b[d+2>>1]|0;u=b[d+4>>1]|0;q=b[d+6>>1]|0;m=b[e>>1]|0;r=b[e+2>>1]|0;s=b[e+4>>1]|0;n=b[e+6>>1]|0;if(!(h&f)){if(h|f){u=1;u=u&1;return u|0}e=(g|0)==0;d=(i|0)==0;if((e?o:p)<<24>>24!=(d?j:k)<<24>>24){u=1;u=u&1;return u|0}s=((e?l:u)<<16>>16)-((d?m:s)<<16>>16)|0;u=((e?t:q)<<16>>16)-((d?r:n)<<16>>16)|0;u=(((s|0)>0?s:0-s|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}d=o<<24>>24==j<<24>>24;if(!(d&p<<24>>24==k<<24>>24)?!(p<<24>>24==j<<24>>24?o<<24>>24==k<<24>>24:0):0){u=1;u=u&1;return u|0}e=l<<16>>16;if(o<<24>>24==p<<24>>24){d=m<<16>>16;p=e-d|0;if((((((p|0)>0?p:0-p|0)|0)<=3?(p=(t<<16>>16)-(r<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(u<<16>>16)-(s<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(q<<16>>16)-(n<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0){u=0;u=u&1;return u|0}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>3){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>3){u=1;u=u&1;return u|0}t=(u<<16>>16)-d|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}if(d){p=e-(m<<16>>16)|0;if((((p|0)>0?p:0-p|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(r<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)<4){t=(u<<16>>16)-(s<<16>>16)|0;u=(q<<16>>16)-(n<<16>>16)|0;return ((((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3)&1|0}else{u=1;u=u&1;return u|0}}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>=4){u=1;u=u&1;return u|0}t=(u<<16>>16)-(m<<16>>16)|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}function gh(d,f,g,h,i,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=Sb;Sb=Sb+80|0;J=aa+64|0;K=aa+56|0;R=aa+48|0;L=aa+32|0;y=aa+24|0;S=aa+16|0;Z=aa+8|0;Y=aa;M=c[d+8>>2]|0;A=c[d+24>>2]|0;N=j+12|0;q=c[N>>2]|0;_=q>>>23&1;Q=_+1|0;$=q>>>24&1;T=$+1|0;F=M+876|0;c[J>>2]=F;F=(a[M+76>>0]|0)==1?F:M+1068|0;c[J+4>>2]=F;O=c[M+876+((a[j+8>>0]|0)*12|0)>>2]|0;P=c[F+((a[j+9>>0]|0)*12|0)>>2]|0;U=q<<2&60;V=q>>>2&60;z=q>>>6&60;W=z+4|0;t=q>>>10&60;X=t+4|0;t=c[g+((r(t>>>2,i)|0)<<2)>>2]|0;if((k|0)!=0?(s=c[g+((r(X>>>2,i)|0)<<2)>>2]|0,(c[A+(s<<4)+12>>2]&65536|0)==0):0){c[L>>2]=A+(s<<4);i=1}else i=0;if((l|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(i<<2)>>2]=A+(t<<4);w=i+1|0;g=0}else{w=i;g=1}H=(i|0)!=1&g;c[K>>2]=0;G=K+4|0;c[G>>2]=0;u=(w|0)>0;a:do if(u){i=O+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if((s|0)!=131072){t=c[i>>2]|0;if((t|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=12;break}if(s|0){v=t;I=14}}else{v=c[i>>2]|0;I=14}if((I|0)==14?(I=0,(v|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=16;break}g=g+1|0;if((g|0)>=(w|0)){I=17;break a}}if((I|0)==12){c[K>>2]=1;c[R>>2]=e[k>>1]|e[k+2>>1]<<16;break}else if((I|0)==16){c[K>>2]=1;C=k+4|0;c[R>>2]=e[C>>1]|e[C+2>>1]<<16;break}}else I=17;while(0);if((I|0)==17){kh(J,M,K,O,L,R,w,0);q=c[N>>2]|0}b:do if(q&393216){l=R+4|0;c:do if(u){i=P+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if(s){t=c[i>>2]|0;if((t|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=24;break}if((s|0)!=131072){x=t;I=26}}else{x=c[i>>2]|0;I=26}if((I|0)==26?(I=0,(x|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=27;break}g=g+1|0;if((g|0)>=(w|0))break c}if((I|0)==24){c[G>>2]=1;C=k+4|0;c[l>>2]=e[C>>1]|e[C+2>>1]<<16;break}else if((I|0)==27){c[G>>2]=1;c[l>>2]=e[k>>1]|e[k+2>>1]<<16;break b}}while(0);if(!(c[G>>2]|0)){kh(J,M,G,P,L,l,w,1);q=c[N>>2]|0}}while(0);q=q>>>17&3;g=(q|0)==1&1;q=(q|0)==0&1;if(c[K>>2]|0)if(!_){g=c[R>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=1}else k=1;else k=0;if(c[G>>2]|0)if(!$){q=p+4|0;i=c[R+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=1}else i=1;else i=0;if((g|0)!=0&(q|0)!=0){Sb=aa;return}C=W+U|0;s=r(c[f+(W>>>2<<2)>>2]|0,m)|0;l=r(c[f+(z>>>2<<2)>>2]|0,n)|0;t=r(c[((V|0)==0?f+-4|0:h)>>2]|0,o)|0;if((m|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L>>2]=A+(s<<4);s=1}else s=0;if((n|0)!=0?(c[A+(l<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(l<<4);s=s+1|0}if((o|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(t<<4);c[y>>2]=0;t=y+4|0;c[t>>2]=0;s=s+1|0;z=S;I=48}else{c[y>>2]=0;t=y+4|0;c[t>>2]=0;if((s|0)>0){z=S;I=48}else{f=0;x=0;z=S;s=0}}d:do if((I|0)==48){u=O+8|0;l=0;while(1){v=c[L+(l<<2)>>2]|0;w=c[v+12>>2]&393216;if((w|0)!=131072){x=c[u>>2]|0;if((x|0)==(c[(c[M+876+((a[v+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=52;break}if(w|0){B=x;I=54}}else{B=c[u>>2]|0;I=54}if((I|0)==54?(I=0,(B|0)==(c[(c[F+((a[v+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=55;break}l=l+1|0;if((l|0)>=(s|0)){f=s;x=0;s=1;break d}}if((I|0)==52){c[y>>2]=1;x=e[v>>1]|e[v+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}else if((I|0)==55){c[y>>2]=1;x=v+4|0;x=e[x>>1]|e[x+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}}while(0);e:do if((c[N>>2]&393216|0)!=0?(D=S+4|0,s):0){l=P+8|0;s=0;while(1){u=c[L+(s<<2)>>2]|0;v=c[u+12>>2]&393216;if(v){w=c[l>>2]|0;if((w|0)==(c[(c[F+((a[u+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=63;break}if((v|0)!=131072){E=w;I=65}}else{E=c[l>>2]|0;I=65}if((I|0)==65?(I=0,(E|0)==(c[(c[M+876+((a[u+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=66;break}s=s+1|0;if((s|0)>=(f|0)){l=0;u=0;w=0;break e}}if((I|0)==63){c[t>>2]=1;w=u+4|0;w=e[w>>1]|e[w+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}else if((I|0)==66){c[t>>2]=1;w=e[u>>1]|e[u+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}}else{l=0;u=0;w=0}while(0);v=c[y>>2]|0;do if(v){if((k|0?(b[R>>1]|0)==x<<16>>16:0)?(b[R+2>>1]|0)==(b[S+2>>1]|0):0)break;k=k+1|0;if((Q|0)==(k|0)){g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}}while(0);s=c[t>>2]|0;do if(s){if((i|0?(b[R+4>>1]|0)==l<<16>>16:0)?(b[R+6>>1]|0)==u<<16>>16:0)break;i=i+1|0;if((T|0)==(i|0)){q=p+4|0;b[q>>1]=w;b[q+2>>1]=w>>>16;q=1;i=T}}while(0);do if(!((g|0)!=0&(q|0)!=0)){if(H&(v|0)==1){c[K>>2]=1;c[R>>2]=c[S>>2]}if(H&(s|0)==1){c[G>>2]=1;c[R+4>>2]=w}if(H){c[t>>2]=0;c[y>>2]=0;kh(J,M,y,O,L,z,f,0);if(c[N>>2]&393216|0)kh(J,M,t,P,L,S+4|0,f,1);f:do if(c[y>>2]|0){do if(k|0){if((b[R>>1]|0)!=(b[S>>1]|0))break;if((b[R+2>>1]|0)==(b[S+2>>1]|0))break f}while(0);k=k+1|0;if((Q|0)!=(k|0))break;g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}while(0);g:do if(c[t>>2]|0){do if(i|0){if((b[R+4>>1]|0)!=(b[S+4>>1]|0))break;if((b[R+6>>1]|0)==(b[S+6>>1]|0))break g}while(0);i=i+1|0;if((T|0)!=(i|0))break;q=p+4|0;i=c[S+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=T}while(0);if((g|0)!=0&(q|0)!=0)break;else{f=k;y=i}}else{f=k;y=i}x=(f|0)!=2;z=(y|0)!=2;if(z|x){s=Y;c[s>>2]=0;c[s+4>>2]=0;ih(d,j,Z,Y,1,C,X+V|0);s=c[Y>>2]|0;l=Y+4|0;t=c[l>>2]|0;i=c[Z>>2]|0;u=Z+4|0;k=c[u>>2]|0;w=(s|0)==0;v=(t|0)==0;if(w|v){ih(d,j,Z,Y,1,(W>>>1)+U|0,(X>>>1)+V|0);t=c[l>>2]|t;s=c[Y>>2]|s;k=v?c[u>>2]|0:k;i=w?c[Z>>2]|0:i}if((_|0)==(f|0)&(x&(s|0)!=0)){b[p>>1]=i;b[p+2>>1]=i>>>16;g=1}if(($|0)==(y|0)&(z&(t|0)!=0)){q=p+4|0;b[q>>1]=k;b[q+2>>1]=k>>>16;q=1}if(!((g|0)==0|(q|0)==0))break}if(!g){b[p>>1]=0;b[p+2>>1]=0}if(q|0)break;b[p+4>>1]=0;b[p+6>>1]=0}while(0);Sb=aa;return}function hh(d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Sb;Sb=Sb+96|0;Y=ea;P=ea+88|0;Q=ea+80|0;ca=c[d+8>>2]|0;T=ca+76|0;ba=(a[T>>0]|0)==1?ca+876|0:ca+1068|0;E=a[(c[d>>2]|0)+43>>0]|0;F=m+-1|0;O=n+l|0;v=O+-1|0;H=c[f+((r(v-n>>2,g)|0)<<2)>>2]|0;L=c[d+24>>2]|0;G=L+(H<<4)|0;if(!q)q=0;else q=(c[L+(H<<4)+12>>2]&65536|0)==0;C=m>>E;D=n>>E;da=h+12|0;N=c[da>>2]|0;S=N>>>20&7;aa=S+1|0;a:do if(q?!((C|0)==(F>>E|0)&(D|0)==(v>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 2:case 6:case 7:{A=0;break a}default:{}};c[Y>>2]=c[G>>2];c[Y+4>>2]=c[G+4>>2];c[Y+8>>2]=c[G+8>>2];c[Y+12>>2]=c[G+12>>2];if(!S){c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];c[h+8>>2]=c[Y+8>>2];c[da>>2]=c[Y+12>>2]&393216|N&-393217;Sb=ea;return}else A=1}else A=0;while(0);M=m+k|0;q=M+-1|0;B=n+-1|0;K=c[e+(q-m>>2<<2)>>2]|0;I=L+(K<<4)|0;b:do if(((t|0)!=0?(x=c[L+(K<<4)+12>>2]|0,t=x&65536,w=t>>>16^1,(t|0)==0):0)?!((C|0)==(q>>E|0)&(D|0)==(B>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 1:case 4:case 5:{q=A;w=A;j=0;break b}default:{}}if(A){o=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((o|0)==(x>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(K<<4)+8>>0]|0))q=(xi(G,I,4)|0)==0&1;else q=0;if(o)R=20}else{q=0;R=20}if((R|0)==20){if((a[L+(H<<4)+9>>0]|0)==(a[L+(K<<4)+9>>0]|0))v=(xi(L+(H<<4)+4|0,L+(K<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}x=(q|0)==0;q=A+(x&1)|0;if(!x){w=1;j=1;break}}else q=2}else q=w;v=Y+(A<<4)|0;c[v>>2]=c[I>>2];c[v+4>>2]=c[I+4>>2];c[v+8>>2]=c[I+8>>2];c[v+12>>2]=c[I+12>>2];w=A+1|0;if((w|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=c[Y+(A<<4)+12>>2]&393216|N&-393217;Sb=ea;return}else j=1}else{q=A;w=A;j=0}while(0);o=c[e+(k>>2<<2)>>2]|0;i=L+(o<<4)|0;c:do if(((s|0)!=0?(y=c[L+(o<<4)+12>>2]|0,(y&65536|0)==0):0)?!((C|0)==(M>>E|0)&(D|0)==(B>>E|0)):0){do if(j){t=(c[L+(K<<4)+12>>2]|0)>>>17&3;if((t|0)!=(y>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(xi(I,i,4)|0)==0&1;else v=0;if(t)R=37}else{v=0;R=37}if((R|0)==37){if((a[L+(K<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(xi(L+(K<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}y=(v|0)==0;q=q+(y&1)|0;if(!y)break c}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);o=c[f+((r(l>>2,g)|0)<<2)>>2]|0;i=L+(o<<4)|0;d:do if(((p|0)!=0?(z=c[L+(o<<4)+12>>2]|0,(z&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(O>>E|0)):0){do if(A){t=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((t|0)!=(z>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(xi(G,i,4)|0)==0&1;else v=0;if(t)R=54}else{v=0;R=54}if((R|0)==54){if((a[L+(H<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(xi(L+(H<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}z=(v|0)==0;q=q+(z&1)|0;if(!z)break d}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);t=c[e+-4>>2]|0;i=L+(t<<4)|0;do if(((u|0)!=0?(J=c[L+(t<<4)+12>>2]|0,(J&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(B>>E|0)|(q|0)==4):0){if(!A)q=1;else{o=(c[L+(H<<4)+12>>2]|0)>>>17&3;do if((o|0)==(J>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(xi(G,i,4)|0)==0&1;else q=0;if(!o)break}else q=0;if((a[L+(H<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(xi(L+(H<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}else q=0;while(0);q=(q|0)==0}if((j|0)==0|q^1){if(!q)break}else{o=J>>>17&3;if(((c[L+(K<<4)+12>>2]|0)>>>17&3|0)==(o|0)){if((o|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(xi(I,i,4)|0)==0&1;else q=0;if(o)R=79}else{q=0;R=79}if((R|0)==79){if((a[L+(K<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(xi(L+(K<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}if(q|0)break}}v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];q=w+1|0;if((q|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=q}while(0);v=Q;c[v>>2]=0;c[v+4>>2]=0;ih(d,h,P,Q,0,M,O);v=c[Q>>2]|0;t=Q+4|0;o=c[t>>2]|0;q=o|v;if(q|0){c[Y+(w<<4)>>2]=c[P>>2];c[Y+(w<<4)+4>>2]=c[P+4>>2]}i=(v|0)==0;j=(o|0)==0;if(i|j){ih(d,h,P,Q,0,(k>>1)+m|0,(l>>1)+n|0);if(i)c[Y+(w<<4)>>2]=c[P>>2];if(j)c[Y+(w<<4)+4>>2]=c[P+4>>2];q=c[Q>>2]|v;R=c[t>>2]|o;o=R;v=q;q=R|q}a[Y+(w<<4)+8>>0]=0;a[Y+(w<<4)+9>>0]=0;R=Y+(w<<4)+12|0;c[R>>2]=c[R>>2]&-393217|((v|0)==0?131072:(o|0)==0?0:262144);q=w+((q|0)!=0&1)|0;if((aa|0)==(q|0)){ca=Y+(S<<4)|0;c[h>>2]=c[ca>>2];c[h+4>>2]=c[ca+4>>2];c[h+8>>2]=c[ca+8>>2];c[da>>2]=c[da>>2]&-393217|c[Y+(S<<4)+12>>2]&393216;Sb=ea;return}i=a[T>>0]|0;e:do if((q+-2|0)>>>0<3&i<<24>>24==0){t=r(q+-1|0,q)|0;if((t|0)<=0){q=aa-q|0;t=a[ca+160>>0]|0;v=q;q=q+-1|0;R=108;break}o=0;while(1){v=c[37184+(o<<2)>>2]|0;if(((c[Y+(v<<4)+12>>2]&393216|0)!=131072?(Z=c[37232+(o<<2)>>2]|0,(c[Y+(Z<<4)+12>>2]&393216|0)!=0):0)?(_=a[Y+(v<<4)+8>>0]|0,$=a[Y+(Z<<4)+9>>0]|0,V=b[Y+(v<<4)>>1]|0,X=b[Y+(v<<4)+2>>1]|0,U=b[Y+(Z<<4)+4>>1]|0,W=b[Y+(Z<<4)+6>>1]|0,!(X<<16>>16==W<<16>>16&(V<<16>>16==U<<16>>16?(c[(c[ca+876+((_<<24>>24)*12|0)>>2]|0)+8>>2]|0)==(c[(c[ba+(($<<24>>24)*12|0)>>2]|0)+8>>2]|0):0))):0){q=q+1|0;if((q|0)==(aa|0))break}o=o+1|0;if(!((q|0)!=5&(o|0)<(t|0))){R=106;break e}}b[h>>1]=V;b[h+2>>1]=X;b[h+4>>1]=U;b[h+6>>1]=W;a[h+8>>0]=_;a[h+9>>0]=$;c[da>>2]=c[da>>2]&-393217|262144;Sb=ea;return}else R=106;while(0);if((R|0)==106){v=aa-q|0;q=v+-1|0;t=a[ca+160>>0]|0;if(i<<24>>24==1){o=0;q=(v|0)>(t<<24>>24|0)?0:q&255;v=c[da>>2]&-393217}else R=108}if((R|0)==108){o=a[ca+161>>0]|0;q=(v|0)>((t<<24>>24<o<<24>>24?t:o)<<24>>24|0)?0:q&255;o=q;v=c[da>>2]&-393217|262144}a[h+8>>0]=q;a[h+9>>0]=o;c[da>>2]=v;c[h>>2]=0;c[h+4>>2]=0;Sb=ea;return}function ih(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,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;u=c[f+4>>2]|0;B=c[f+8>>2]|0;o=(c[g+12>>2]|0)>>>2&60;p=a[u+4116>>0]|0;q=1<<p;C=B+76|0;E=a[C>>0]|0;D=E<<24>>24==1?B+876|0:B+1068|0;if(E<<24>>24==0?(a[B+164>>0]|0)==0:0)m=D+((a[B+165>>0]|0)*12|0)+4|0;else m=B+876+((a[B+165>>0]|0)*12|0)+4|0;E=c[m>>2]|0;m=(q|0)/4|0;n=r(m,m)|0;if(((((o>>>p|0)==(l>>p|0)?(s=c[f+12>>2]|0,((s<<p)+k|0)<(b[u>>1]|0)):0)?(t=c[f+16>>2]|0,((t<<p)+l|0)<(b[u+2>>1]|0)):0)?(x=k&-16,y=l&-16,z=s+(x>>p)|0,A=r(t+(y>>p)|0,b[u+4118>>1]|0)|0,v=A+z|0,w=(c[E+8>>2]|0)+(r(n,v)|0)|0,y=r(m,y>>2)|0,x=(c[(c[E>>2]|0)+(v<<2)>>2]|0)+(d[w+(y+((x|0)==(q|0)?0:x>>2))>>0]|0)|0,y=c[E+4>>2]|0,w=y+(x<<4)|0,v=c[y+(x<<4)+12>>2]|0,(v&65536|0)==0):0)?a[B+158>>0]|0:0){a:do switch(v>>>17&3){case 1:{v=y+(x<<4)+4|0;v=e[v>>1]|e[v+2>>1]<<16;u=a[y+(x<<4)+9>>0]|0;t=u;s=v;n=1;o=1;break}case 0:{v=e[w>>1]|e[w+2>>1]<<16;u=a[y+(x<<4)+8>>0]|0;t=u;s=v;n=0;o=0;break}default:if((a[B+1261>>0]|0)==1){v=y+(x<<4)+4|0;t=a[y+(x<<4)+8>>0]|0;s=e[w>>1]|e[w+2>>1]<<16;n=0;u=a[y+(x<<4)+9>>0]|0;o=1;v=e[v>>1]|e[v+2>>1]<<16;break a}else{o=a[B+164>>0]|0;u=o<<24>>24==0;v=u?w:y+(x<<4)+4|0;u=a[(u?y+(x<<4)+8|0:y+(x<<4)+9|0)>>0]|0;v=e[v>>1]|e[v+2>>1]<<16;o=o<<24>>24;t=u;s=v;n=o;break a}}while(0);if(!j){p=0;m=0}else{p=a[g+9>>0]|0;m=a[g+8>>0]|0}k=c[E+16>>2]|0;l=c[B+84>>2]|0;q=b[(c[E+12>>2]|0)+(z<<1)+(A<<1)>>1]&255;A=(n|0)==0;f=c[(A?E+20+(q<<6)+(t<<2)|0:E+20500+(q<<6)+(t<<2)|0)>>2]|0;n=c[B+876+(m*12|0)>>2]|0;m=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;do if((a[(A?E+16404+(q<<4)+t|0:E+36884+(q<<4)+t|0)>>0]|0)==1^n){c[i>>2]=0;b[h>>1]=0;b[h+2>>1]=0}else{c[i>>2]=1;if(!n?(k-f|0)!=(l-m|0):0){b[h>>1]=s;b[h+2>>1]=s>>>16;if((k|0)==(f|0))break;jh(h,m,f,k,l);break}b[h>>1]=s;b[h+2>>1]=s>>>16}while(0);if(a[C>>0]|0){c[i+4>>2]=0;return}C=(o|0)==0;o=c[(C?E+20+(q<<6)+(u<<2)|0:E+20500+(q<<6)+(u<<2)|0)>>2]|0;n=c[D+(p*12|0)>>2]|0;f=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;m=i+4|0;if((a[(C?E+16404+(q<<4)+u|0:E+36884+(q<<4)+u|0)>>0]|0)==1^n){c[m>>2]=0;b[h+4>>1]=0;b[h+6>>1]=0;return}c[m>>2]=1;if(!n?(k-o|0)!=(l-f|0):0){m=h+4|0;b[m>>1]=v;b[m+2>>1]=v>>>16;if((k|0)==(o|0))return;jh(m,f,o,k,l);return}h=h+4|0;b[h>>1]=v;b[h+2>>1]=v>>>16;return}c[i>>2]=0;c[i+4>>2]=0;i=h;b[i>>1]=0;b[i+2>>1]=0>>>16;h=h+4|0;b[h>>1]=0;b[h+2>>1]=0>>>16;return}function jh(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;e=e-d|0;e=(e|0)>-128?e:-128;e=(e|0)<127?e:127;f=f-c|0;f=(f|0)>-128?f:-128;f=r(((((e|0)>-1?e:0-e|0)>>1)+16384|0)/(e|0)|0,(f|0)<127?f:127)|0;e=f+32>>6;e=(f|0)>262111?4095:(e|0)>-4096?e:-4096;f=a+2|0;d=r(e,b[a>>1]|0)|0;c=(d|0)>-1;d=r((c?d:0-d|0)+127>>8,c?(d|0)!=0&1:-1)|0;e=r(e,b[f>>1]|0)|0;c=(e|0)>-1;e=r((c?e:0-e|0)+127>>8,c?(e|0)!=0&1:-1)|0;d=(d|0)>-32768?d:-32768;b[a>>1]=(d|0)<32767?d:32767;e=(e|0)>-32768?e:-32768;b[f>>1]=(e|0)<32767?e:32767;return}function kh(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;m=(k|0)>0;if(!l){if(!m)return;o=c[d>>2]|0;p=h+20|0;m=d+4|0;l=0;while(1){q=c[i+(l<<2)>>2]|0;n=c[q+12>>2]&393216;s=c[o+((a[q+8>>0]|0)*12|0)>>2]|0;d=s+20|0;if((n|0)!=131072?!((a[d>>0]|0)==1^(a[p>>0]|0)==1):0){l=6;break}v=c[(c[m>>2]|0)+((a[q+9>>0]|0)*12|0)>>2]|0;w=v+20|0;if(n|0?!((a[w>>0]|0)==1^(a[p>>0]|0)==1):0){l=11;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==6){c[g>>2]=1;n=e[q>>1]|e[q+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[d>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[s+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==11){c[g>>2]=1;n=q+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[w>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[v+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}else{if(!m)return;m=c[d+4>>2]|0;n=h+20|0;l=0;while(1){p=c[i+(l<<2)>>2]|0;o=c[p+12>>2]&393216;q=c[m+((a[p+9>>0]|0)*12|0)>>2]|0;s=q+20|0;if(o|0?!((a[s>>0]|0)==1^(a[n>>0]|0)==1):0){l=19;break}t=c[(c[d>>2]|0)+((a[p+8>>0]|0)*12|0)>>2]|0;u=t+20|0;if((o|0)!=131072?!((a[u>>0]|0)==1^(a[n>>0]|0)==1):0){l=24;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==19){c[g>>2]=1;n=p+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[s>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[q+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==24){c[g>>2]=1;n=e[p>>1]|e[p+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[u>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[t+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}}function lh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|g|0)<0){c[i>>2]=0;c[j>>2]=0;j=0;c[k>>2]=j;return 0}if(!(a[e+27>>0]|0)){c[i>>2]=g;c[j>>2]=h;j=0;c[k>>2]=j;return 0}t=c[e+4>>2]|0;s=a[e+30>>0]|0;u=s<<24>>24;a:do if(s<<24>>24>0){o=f+4118|0;p=u+-1|0;q=0;while(1){l=t+(q*6|0)|0;if((p|0)==(q|0))n=b[o>>1]|0;else n=d[l+6>>0]|0;m=a[l>>0]|0;if((n<<16>>16|0)>(g|0)&(m&255|0)<=(g|0)){s=q;break a}q=q+1|0;if((q|0)>=(u|0)){s=0;break}}}else{l=t;s=0;m=a[t>>0]|0}while(0);c[i>>2]=g-(m&255);m=a[e+31>>0]|0;if(m<<24>>24>0){q=m<<24>>24;o=f+4120|0;p=q+-1|0;l=0;while(1){e=r(l,u)|0;if((p|0)==(l|0)){m=b[o>>1]|0;n=l+1|0}else{n=l+1|0;m=d[t+((r(n,u)|0)*6|0)+1>>0]|0}if((m<<16>>16|0)>(h|0)?(d[t+(e*6|0)+1>>0]|0)<=(h|0):0)break;if((n|0)<(q|0))l=n;else{l=0;break}}m=l;l=t+(e*6|0)|0}else m=0;c[j>>2]=h-(d[l+1>>0]|0);j=(r(m,u)|0)+s|0;c[k>>2]=j;return 0}function mh(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,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;J=Sb;Sb=Sb+32|0;B=J+20|0;D=J+16|0;I=J;g=d+652|0;c[g>>2]=0;H=c[d+360>>2]|0;F=d+648|0;z=c[F>>2]|0;l=H+2|0;f=r(((b[H>>1]|0)+63|0)/64|0,((b[l>>1]|0)+7|0)/8|0)|0;C=d+600|0;Uk(c[C>>2]|0,0,f|0)|0;E=d+604|0;Uk(c[E>>2]|0,0,f|0)|0;f=d+364|0;do if(!(c[f>>2]|0)){e=Kh(d)|0;if(e|0){I=e;Sb=J;return I|0}e=Lh(d)|0;if(!e){c[f>>2]=1;break}else{I=e;Sb=J;return I|0}}while(0);e=Jg(d)|0;if(e|0){I=e;Sb=J;return I|0}f=c[d+304>>2]|0;e=(c[d+128>>2]|0)==0?1:2;do{b[f+(e*1272|0)+872>>1]=-1;b[f+(e*1272|0)+874>>1]=-1;e=e+1|0}while((e|0)!=256);h=d+224|0;k=Wd(c[h>>2]|0,D)|0;if(!k){c[g>>2]=984;c[d+144>>2]=984;I=984;Sb=J;return I|0}c[d+1452>>2]=k;i=z+84|0;c[k+16>>2]=c[i>>2];x=Wd(c[d+244>>2]|0,B)|0;if(!x){c[g>>2]=985;c[d+144>>2]=985;I=985;Sb=J;return I|0}c[x+16>>2]=c[d+288>>2];c[x+8>>2]=c[i>>2];c[x+12>>2]=c[z+80>>2];u=c[x>>2]|0;g=x+4|0;v=c[g>>2]|0;e=x+28|0;a[e>>0]=0;f=d+1464|0;if(a[f>>0]|0){Sk(e|0,f|0,4492)|0;a[d+1476>>0]=0;a[d+1477>>0]=0;c[f>>2]=0;b[f+4>>1]=0;a[f+6>>0]=0}w=d+136|0;if(!(c[w>>2]|0)){Uk(u|0,-128,r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)|0;Uk(c[g>>2]|0,-128,(r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)/2|0|0)|0}f=c[h>>2]|0;e=Ce(c[d+276>>2]|0,c[i>>2]|0)|0;if(!e){i=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;j=(i|0)/16|0;i=(i|0)/256|0;Uk(k+20|0,0,40960)|0;Uk(c[k>>2]|0,0,(i<<2)+4|0)|0;Uk(c[k+8>>2]|0,0,j|0)|0;Uk(c[k+12>>2]|0,0,(i<<1)+3&-4|0)|0;Uk(c[k+4>>2]|0,0,j<<4|0)|0;j=x;i=k}else{j=e;i=Mh(f,c[e+8>>2]|0)|0}g=a[z+160>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+876+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+876+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=25}else A=25;if((A|0)==25)while(1){c[z+876+(e*12|0)>>2]=j;c[z+876+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}g=a[z+161>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+1068+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+1068+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=33}else A=33;if((A|0)==33)while(1){c[z+1068+(e*12|0)>>2]=j;c[z+1068+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}Nh(c[d+11556>>2]|0)|0;c[d+424>>2]=0;c[d+428>>2]=0;h=c[k+8>>2]|0;o=d+576|0;c[o>>2]=h;e=c[k+4>>2]|0;p=d+580|0;c[p>>2]=e;s=c[k>>2]|0;q=d+596|0;c[q>>2]=s;f=c[k+12>>2]|0;c[d+420>>2]=f;c[d+6628>>2]=f;c[d+7320>>2]=f;c[d+8012>>2]=f;c[d+8704>>2]=f;c[d+9396>>2]=f;c[d+10088>>2]=f;c[d+10780>>2]=f;c[d+11472>>2]=f;c[d+432>>2]=h;c[d+416>>2]=e;h=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;f=(h|0)/16|0;f=(f>>1)+f|0;t=c[d+192>>2]|0;k=d+592|0;c[k>>2]=t;h=t+((((h|0)/256|0)<<2)+4)|0;l=d+584|0;c[l>>2]=h;g=h+f|0;m=d+588|0;c[m>>2]=g;f=g+(f<<2)|0;n=d+400|0;c[n>>2]=f;c[d+412>>2]=h;c[d+408>>2]=g;c[d+404>>2]=f;c[d+1068>>2]=e;c[d+1060>>2]=s;c[d+1056>>2]=t;c[d+11560>>2]=1;t=c[H+4128>>2]|0;Uk(c[d+204>>2]|0,0,t|0)|0;Uk(c[d+208>>2]|0,0,t|0)|0;t=d+268|0;c[t>>2]=-1;s=d+272|0;c[s>>2]=0;e=d+88|0;c[e>>2]=0;f=d+92|0;c[f>>2]=0;c[d+96>>2]=0;g=d+11608|0;c[g>>2]=2147483647;h=c[d+44>>2]|0;do if(h|0?(y=c[d+36>>2]|0,y|0):0){i=d+48|0;j=(c[i>>2]|0)+1|0;c[i>>2]=j;switch(y|0){case 4:break;case 3:{if((a[z+76>>0]|0)==2)A=51;break}case 2:{if(!((a[z+76>>0]|0)!=2?(j|0)!=(c[d+40>>2]|0):0))A=51;break}case 1:{y=a[z+1260>>0]|0;if(!(y<<24>>24<16&(y&1)==0))A=51;break}default:A=51}if((A|0)==51){c[i>>2]=0;break}if(h&1|0)c[f>>2]=1;if(h&2|0)c[e>>2]=1;A=a[z+1260>>0]|0;if(A<<24>>24<16&(A&1)==0){if(h&4|0)c[g>>2]=0;if(h&8|0)c[g>>2]=0}}while(0);g=d+11584|0;h=d+24|0;e=0;do{j=c[q>>2]|0;c[d+5956+(e*692|0)+84>>2]=j;y=c[p>>2]|0;c[d+5956+(e*692|0)+96>>2]=y;c[d+5956+(e*692|0)+92>>2]=c[o>>2];i=c[k>>2]|0;c[d+5956+(e*692|0)+80>>2]=i;c[d+5956+(e*692|0)+116>>2]=c[m>>2];c[d+5956+(e*692|0)+88>>2]=c[l>>2];c[d+5956+(e*692|0)+60>>2]=c[n>>2];c[d+5956+(e*692|0)+124>>2]=c[D>>2];c[d+5956+(e*692|0)+660>>2]=c[d+5956+(e*692|0)+672>>2];c[d+5956+(e*692|0)+664>>2]=c[d+5956+(e*692|0)+676>>2];c[d+5956+(e*692|0)+232>>2]=u;c[d+5956+(e*692|0)+236>>2]=v;c[d+5956+(e*692|0)+224>>2]=x;c[d+5956+(e*692|0)+228>>2]=c[B>>2];c[d+5956+(e*692|0)+272>>2]=c[g>>2];A=c[h>>2]|0;z=(A|0)>1;c[d+5956+(e*692|0)+148>>2]=z&1;c[d+5956+(e*692|0)+152>>2]=z&1;c[d+5956+(e*692|0)+128>>2]=c[C>>2];z=c[E>>2]|0;c[d+5956+(e*692|0)+132>>2]=z;c[d+5956+(e*692|0)+276>>2]=0;c[d+5956+(e*692|0)+348>>2]=i;c[d+5956+(e*692|0)+352>>2]=j;c[d+5956+(e*692|0)+360>>2]=y;c[d+5956+(e*692|0)+504>>2]=z;c[d+5956+(e*692|0)+528>>2]=u;c[d+5956+(e*692|0)+532>>2]=v;c[d+5956+(e*692|0)+576>>2]=z;c[d+5956+(e*692|0)+580>>2]=u;c[d+5956+(e*692|0)+584>>2]=v;if((e|0)<(A+-1|0)){Yf(c[d+11492+(e<<2)>>2]|0,0,27,d+5956+(e*692|0)|0)|0;f=1}else f=0;c[d+11524+(e<<2)>>2]=f;e=e+1|0}while((e|0)!=8);c[d+1236>>2]=u;c[d+1240>>2]=v;c[d+1288>>2]=u;c[d+1292>>2]=v;f=d+264|0;xe(c[f>>2]|0,c[d+6184>>2]|0,c[(c[F>>2]|0)+84>>2]|0,c[d+6180>>2]|0)|0;c[s>>2]=0;e=d+140|0;if(((c[w>>2]|0)-(c[e>>2]|0)|0)<(a[(a[H+14>>0]|0)+-1+(H+32)>>0]|0)?(c[d+11636>>2]|0)!=1:0)e=0;else{F=ye(c[f>>2]|0,t)|0;c[s>>2]=F;c[e>>2]=(c[e>>2]|0)+1;e=F}c[d+11576>>2]=0;c[d+11580>>2]=4;a:do if((c[d+11604>>2]|0?(G=c[h>>2]|0,!((G|0)<2|(e|0)==0)):0)?(c[t>>2]|0)!=(c[d+5956+((G+-1|0)*692|0)+228>>2]|0):0){if(c[d+56>>2]|0?(c[d+60>>2]|0)!=1:0)break;g=H+4120|0;if((b[g>>1]|0)>0){h=I+8|0;i=I+4|0;j=I+6|0;k=I+10|0;l=I+12|0;m=d+656|0;f=0;while(1){c[I>>2]=1;b[h>>1]=0;b[i>>1]=0;b[j>>1]=f;b[k>>1]=0;c[l>>2]=0;e=Qg(c[m>>2]|0,I,16,1)|0;f=f+1|0;if(e|0)break;if((f|0)>=(b[g>>1]|0))break a}Sb=J;return e|0}}while(0);c[d+84>>2]=1;I=0;Sb=J;return I|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!a)J(43235,42291,182,43378);if(!b)J(43278,42291,183,43378);c[a>>2]=2139095040;e=b+12|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]<<g>>>1;d=a+4|0;c[d>>2]=h;a=g+31|0;c[f>>2]=a;if(a>>>0<=32){if((a|0)!=32)return 0}else{a=33-g|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;c[d>>2]=a|h}h=b+16|0;c[e>>2]=c[h>>2];b=b+8|0;e=c[b>>2]|0;c[b>>2]=e+4;e=c[e>>2]|0;c[f>>2]=g+-1;c[h>>2]=Rk(e|0)|0;return 0}function oh(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;if(!a)J(43235,42291,139,43260);if(!b)J(43278,42291,140,43260);if(d>>>0>=52)J(43305,42291,141,43260);if(e>>>0>=3)J(43330,42291,142,43260);c[a>>2]=2139095040;j=b+12|0;h=b+4|0;i=c[h>>2]|0;d=c[j>>2]<<i>>>1;g=a+4|0;c[g>>2]=d;e=i+31|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){b=d;a=a+8|0;Sk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}}else{e=33-i|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;c[g>>2]=d}g=b+16|0;c[j>>2]=c[g>>2];j=b+8|0;b=c[j>>2]|0;c[j>>2]=b+4;b=c[b>>2]|0;c[h>>2]=i+-1;c[g>>2]=Rk(b|0)|0;b=d;a=a+8|0;Sk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}function ph(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,s=0,t=0,u=0,v=0;p=d+376|0;q=d+660|0;h=c[d+644>>2]|0;i=c[d+344>>2]&255;n=c[d+316>>2]|0;e=c[d+320>>2]|0;g=(c[d+360>>2]|0)+4118|0;s=(c[d+1444>>2]|0)+(n*12|0)+((r(e,b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[s>>2]&-8;t=s+4|0;c[t>>2]=c[t>>2]&-8;u=s+8|0;c[u>>2]=c[u>>2]&-8;do if((n|0)>0){if((c[d+332>>2]|0)==0?(c[d+336>>2]|0)==0:0){f=0;break}if(c[d+324>>2]|0)f=(vh(q,p,0)|0)!=0;else f=0}else f=0;while(0);if((!((e|0)<1|f)?(c[d+336>>2]|0)>0:0)?(c[d+328>>2]|0)>0:0)d=vh(q,p,0)|0;else d=0;if(f){u=s+-12|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}if(d|0){u=s+((0-(b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}n=h+(i*1272|0)+156|0;m=h+(i*1272|0)+157|0;d=0;l=0;do{k=(l|0)==0;if(!(!(k&(a[n>>0]|0)!=0)?!((l|0)!=0&(a[m>>0]|0)!=0):0))o=17;a:do if((o|0)==17){o=0;if(!k)if((l|0)==1){d=vh(q,p,1)|0;if(!d)d=0;else d=(yh(q,p)|0)+d|0;e=d&7;c[t>>2]=c[t>>2]&-8|e;g=1;f=u;o=25}else g=0;else{d=vh(q,p,1)|0;if(!d)e=0;else e=(yh(q,p)|0)+d|0;d=e;g=0;f=s;e=e&7;o=25}if((o|0)==25){o=0;c[f>>2]=c[f>>2]&-8|e}switch(d|0){case 0:break a;case 2:{e=Gh(q,p,7)|0;h=Gh(q,p,7)|0;i=0-(Gh(q,p,7)|0)|0;f=0-(Gh(q,p,7)|0)|0;o=32;break}default:{e=Gh(q,p,7)|0;h=Gh(q,p,7)|0;i=Gh(q,p,7)|0;f=Gh(q,p,7)|0;if((d|0)==1){if(!e)e=0;else{j=(yh(q,p)|0)==0;e=j?e:0-e|0}if(!h)h=0;else{j=(yh(q,p)|0)==0;h=j?h:0-h|0}if(!i)i=0;else{j=(yh(q,p)|0)==0;i=j?i:0-i|0}if(!f)f=0;else{j=(yh(q,p)|0)==0;f=j?f:0-f|0}j=Eh(q,p,5)|0}else o=32}}if((o|0)==32){o=0;if(k){v=Eh(q,p,2)|0;j=c[s>>2]|0;c[s>>2]=j+v&7|j&-8}if(g){v=Eh(q,p,2)|0;j=c[t>>2]|0;c[t>>2]=j+v&7|j&-8;j=c[u>>2]|0;c[u>>2]=j+v&7|j&-8;j=0}else j=0}if(k){c[s>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[s>>2]&-16777209|e<<3&120)|i<<11&30720);break}if(g){c[t>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[t>>2]&-16777209|e<<3&120)|i<<11&30720);break}else{c[u>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[u>>2]&-16777209|e<<3&120)|i<<11&30720);break}}while(0);l=l+1|0}while((l|0)!=3);return 0}function qh(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;F=e+660|0;G=e+360|0;H=e+356|0;O=e+316|0;N=e+320|0;K=e+456|0;L=e+460|0;J=e+452|0;v=e+976|0;w=e+616|0;x=e+620|0;y=e+368|0;z=e+372|0;A=e+336|0;B=e+328|0;C=e+332|0;D=e+324|0;s=f;q=g;while(1){o=1<<h;M=c[G>>2]|0;p=c[H>>2]|0;f=a[M+4116>>0]|0;g=s-(c[O>>2]<<f)>>3;f=q-(c[N>>2]<<f)>>3;c[K>>2]=g;c[L>>2]=f;c[J>>2]=h;c[v>>2]=i;j=c[x>>2]|0;k=(s|0)/8|0;m=(q|0)/8|0;n=(c[w>>2]|0)+(k>>>4<<2)|0;if(((o+s|0)<=(b[M>>1]|0)?(o+q|0)<=(b[M+2>>1]|0):0)?(h|0)>(a[M+46>>0]|0):0){if(!f)if((c[A>>2]|0)!=0?(c[B>>2]|0)!=0:0)I=8;else f=2;else I=8;if((I|0)==8){I=0;f=((c[n>>2]|0)>>>(k<<1&30)&3|0)>(i|0)?3:2}do if(!g){if((c[C>>2]|0)==0?(c[A>>2]|0)==0:0)break;if(c[D>>2]|0)I=13}else I=13;while(0);if((I|0)==13){I=0;f=f+((j>>>(m<<1&30)&3|0)>(i|0)&1)|0}if(!(vh(F,E,f)|0))I=16;else f=0}else if((h|0)>(a[M+46>>0]|0))f=0;else I=16;if((I|0)==16){I=0;l=-1>>>(32-(((o|0)/8|0)<<1)|0);g=k<<1&30;f=c[n>>2]&~(l<<g);j=(i|0)!=0;if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[n>>2]=f;g=m<<1&30;f=c[x>>2]&~(l<<g);if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[x>>2]=f;f=1}if(a[p+17>>0]|0?(h|0)>=(a[p+66>>0]|0):0){c[y>>2]=0;c[z>>2]=0}if(f){I=32;break}j=o>>1;g=j+s|0;j=j+q|0;h=h+-1|0;i=i+1|0;f=qh(e,s,q,h,i)|0;if(f|0){I=48;break}if((g|0)<(b[M>>1]|0)?(t=qh(e,g,q,h,i)|0,t|0):0){f=t;I=48;break}f=M+2|0;if((j|0)<(b[f>>1]|0)?(u=qh(e,s,j,h,i)|0,u|0):0){f=u;I=48;break}if((g|0)>=(b[M>>1]|0)){f=0;I=48;break}if((j|0)>=(b[f>>1]|0)){f=0;I=48;break}else{s=g;q=j}}if((I|0)==32){G=c[K>>2]<<3;I=c[L>>2]<<3;g=p+66|0;H=-1<<a[g>>0];if((G|0)==(H&G|0)&(I|0)==(H&I|0)){c[e+440>>2]=c[e+436>>2];c[e+572>>2]=0}f=wh(e,s,q,h)|0;if(f|0){O=f;return O|0}if(!(a[p+17>>0]|0)){O=0;return O|0}o=c[e+408>>2]|0;m=1<<c[J>>2];k=c[K>>2]<<3;j=c[L>>2]<<3;h=-1<<a[g>>0];L=h&k;g=L>>3;h=h&j;f=c[e+440>>2]|0;if((L|0)>0)i=a[g+h+-1+(e+1380)>>0]|0;else i=f;if((h|0)>0)f=a[g+h+-8+(e+1380)>>0]|0;n=e+572|0;l=((c[n>>2]|0)+52+(i+1+f>>1)|0)%52|0;i=(k>>3)+j|0;j=m>>3;if((m|0)>7){g=l&255;h=(j|0)>1?j:1;f=0;do{Uk(i+(f<<3)+(e+1380)|0,g|0,h|0)|0;f=f+1|0}while((f|0)<(j|0))}g=e+436|0;c[g>>2]=l;c[e+564>>2]=l;f=c[e+568>>2]|0;c[o>>2]=c[o>>2]&-8323073|l<<16&8323072;if(f|0){f=o+(0-f<<2)|0;do{c[f>>2]=c[f>>2]&-8323073|c[g>>2]<<16&8323072;f=f+4|0}while((f|0)!=(o|0))}if(!(c[n>>2]|0)){O=0;return O|0}N=(r(c[N>>2]|0,b[M+4118>>1]|0)|0)+(c[O>>2]|0)|0;O=(c[e+1044>>2]|0)+(N>>3)|0;a[O>>0]=(1<<(N&7)^255)&d[O>>0];O=0;return O|0}else if((I|0)==48)return f|0;return 0}function rh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=c[e+360>>2]|0;o=k+4116|0;m=a[o>>0]|0;n=1<<m;v=b[k>>1]|0;i=(v+63|0)/64|0;j=e+320|0;k=(b[k+2>>1]|0)-(c[j>>2]<<m)|0;k=(n|0)<(k|0)?n:k;l=e+316|0;m=v-(c[l>>2]<<m)|0;m=(n|0)<(m|0)?n:m;c[e+468>>2]=2;n=e+472|0;c[n>>2]=0;if((k|0)<=0)return;p=e+408|0;q=e+436|0;s=e+568|0;t=e+428|0;u=e+600|0;v=e+416|0;g=e+424|0;if((m|0)<=0)return;f=0;do{h=f<<2&224;e=0;do{w=c[p>>2]|0;x=e>>>2&14|h;c[w>>2]=x|c[w>>2]&-49152|256;c[w>>2]=c[q>>2]<<16|x|-8371968;c[p>>2]=(c[p>>2]|0)+4;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+1;w=a[o>>0]|0;y=(c[l>>2]<<w)+e|0;w=(c[u>>2]|0)+(r((c[j>>2]<<w)+f>>3,i)|0)+(y>>6)|0;a[w>>0]=(1<<(((y|0)/8|0)&7)^255)&d[w>>0];w=(c[v>>2]|0)+12|0;x=x|c[w>>2]&-805437440|4352;c[w>>2]=x;c[w>>2]=c[n>>2]<<25&234881024|x&-1048178194|524288;c[v>>2]=(c[v>>2]|0)+16;c[g>>2]=(c[g>>2]|0)+1;e=e+8|0}while((e|0)<(m|0));f=f+8|0}while((f|0)<(k|0));return}function sh(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>>2]|0;l=a+4|0;m=c[l>>2]|0;if(d>>>0<=255)J(42507,42291,384,42314);e=s(d|0)|0;k=d-(2<<23-e)|0;if(m>>>0>=k>>>0){uh(b,e+-23|0);b=1;c[a>>2]=k;c[l>>2]=m;return b|0}d=s(k|0)|0;i=d+-1|0;if(!i){b=0;c[a>>2]=k;c[l>>2]=m;return b|0}g=b+12|0;h=b+4|0;f=c[h>>2]|0;d=c[g>>2]<<f>>>(33-d|0);f=f+i|0;c[h>>2]=f;if(f>>>0<=32){if((f|0)==32)j=11}else{e=64-f|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;j=11}if((j|0)==11){j=b+16|0;c[g>>2]=c[j>>2];g=b+8|0;b=c[g>>2]|0;c[g>>2]=b+4;b=c[b>>2]|0;c[h>>2]=f+-32;c[j>>2]=Rk(b|0)|0}b=0;k=k<<i;m=d|m<<i;c[a>>2]=k;c[l>>2]=m;return b|0}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;d=8-(d&7)+d|0;c[b>>2]=d;if(d>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[b>>2]=d+-32;c[e>>2]=Rk(a|0)|0;return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)<=-33)J(42344,42361,230,42388);if((b|0)>=33)J(42405,42361,231,42388);if((b|0)<0){d=a+4|0;f=c[d>>2]|0;e=f+b|0;c[d>>2]=e;if(f>>>0>=(0-b|0)>>>0)return;c[d>>2]=e+32;f=a+8|0;b=c[f>>2]|0;c[f>>2]=b+-4;b=c[b+-12>>2]|0;f=a+12|0;c[a+16>>2]=c[f>>2];c[f>>2]=Rk(b|0)|0;return}else{e=a+4|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;if(d>>>0<=31)return;f=a+16|0;c[a+12>>2]=c[f>>2];b=a+8|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;c[e>>2]=d+-32;c[f>>2]=Rk(a|0)|0;return}}function vh(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;g=c[b>>2]|0;p=b+4|0;i=c[p>>2]|0;j=b+8+f|0;h=a[j>>0]|0;k=h&255;if(g>>>0<=255)J(42507,42291,247,43211);if(f>>>0>=154)J(42951,42291,248,43211);if(h<<24>>24<=-1)J(43123,42291,249,43211);l=s(g|0)|0;l=(d[(g<<l+-1>>>28&3)+(64+(k>>>1<<2))>>0]|0)<<23-l;h=g-l|0;g=i>>>0<h>>>0;n=k&1^(g^1)&1;m=i-(g?0:h)|0;l=g?h:l;a[j>>0]=a[320+(n|k<<1)>>0]|0;if(l>>>0>=256){o=l;e=m;c[b>>2]=o;c[p>>2]=e;return n|0}f=s(l|0)|0;k=f+-1|0;h=e+12|0;i=e+4|0;j=c[i>>2]|0;f=c[h>>2]<<j>>>(33-f|0);j=j+k|0;c[i>>2]=j;if(j>>>0<=32){if((j|0)==32)o=13}else{g=64-j|0;if(g>>>0<32)g=(c[e+16>>2]|0)>>>g;else g=0;f=g|f;o=13}if((o|0)==13){o=e+16|0;c[h>>2]=c[o>>2];h=e+8|0;e=c[h>>2]|0;c[h>>2]=e+4;e=c[e>>2]|0;c[i>>2]=j+-32;c[o>>2]=Rk(e|0)|0}o=l<<k;e=f|m<<k;c[b>>2]=o;c[p>>2]=e;return n|0}function wh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=e+316|0;n=c[e+608>>2]|0;v=e+612|0;t=c[v>>2]|0;B=e+376|0;G=e+408|0;x=c[G>>2]|0;z=e+660|0;if(f&7|0)J(42421,42437,1185,42466);if(g&7|0)J(42491,42437,1186,42466);H=e+568|0;c[H>>2]=0;A=c[e+360>>2]|0;u=c[e+356>>2]|0;E=e+456|0;q=c[E>>2]|0;F=e+460|0;p=c[F>>2]|0;o=c[e+648>>2]|0;C=1<<h;i=e+464|0;c[i>>2]=0;if((a[u+25>>0]|0?(u=vh(z,B,5)|0,c[i>>2]=u,u|0):0)?(l=((b[A>>1]|0)+63|0)/64|0,m=(C|0)/8|0,(C|0)>7):0){k=-1>>>(32-(C>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(l,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}s=(f|0)/8|0;u=(g|0)/8|0;j=n+(s>>>5<<2)|0;k=o+76|0;if((a[k>>0]|0)==2)i=0;else{if(!p)if((c[e+336>>2]|0)!=0?(c[e+328>>2]|0)!=0:0)y=14;else i=0;else y=14;if((y|0)==14)i=(c[j>>2]&1<<(s&31)|0)!=0&1;do if(!q){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0)break;if(c[e+324>>2]|0)y=19}else y=19;while(0);if((y|0)==19)i=i+((t&1<<(u&31)|0)!=0&1)|0;i=vh(z,B,i+6|0)|0}o=c[j>>2]|0;m=(C|0)/8|0;p=-1>>>(32-m|0);q=p<<(s&31);t=(i|0)!=0;c[j>>2]=t?o|q:o&~q;q=c[v>>2]|0;p=p<<(u&31);c[v>>2]=t?q|p:q&~p;p=e+448|0;c[p>>2]=0;if(t){i=a[A+4116>>0]|0;B=(f-(c[D>>2]<<i)|0)>>>2&15;D=g-(c[e+320>>2]<<i)|0;i=c[x>>2]&-49152|(h<<8)+1536&1792|B|D<<2&240;c[x>>2]=i;i=i&18431|c[e+436>>2]<<16&8323072;j=i|-8388608;c[x>>2]=j;if((c[E>>2]<<3|0)==(B<<2|0)?(c[F>>2]<<3|0)==(D&60|0):0)i=i|-8372224;else i=j&-63489;c[x>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;H=e+428|0;c[H>>2]=(c[H>>2]|0)+1;c[e+468>>2]=2;c[e+472>>2]=0;H=(c[e+416>>2]|0)+12|0;c[H>>2]=c[H>>2]&-805306369;xh(e,f,g,C,C)|0;e=0;return e|0}o=(C|0)==(1<<a[A+46>>0]|0);a:do if((a[k>>0]|0)!=2?(w=vh(z,B,11)|0,(w|0)!=1):0){n=e+468|0;c[n>>2]=w;if(o|(a[A+56>>0]|0)==0){l=12;m=-1;i=(C|0)>8&o?3:2;while(1){j=vh(z,B,l)|0;k=m+1|0;i=i+-1|0;if(!i)break;if(j|0){i=n;l=1;m=0;break a}else{l=l+1|0;m=k}}k=(j|0)==0?m+2|0:k;i=n;l=1;m=0;break}else{if(vh(z,B,12)|0){k=0;i=n;l=1;m=0;break}i=(vh(z,B,13)|0)<<1;x=vh(z,B,15)|0;i=(i|x)<<1;if(!x)i=yh(z,B)|0|i;k=d[41111+i>>0]|0;i=n;l=1;m=0;break}}else y=30;while(0);if((y|0)==30){l=((b[A>>1]|0)+63|0)/64|0;if((C|0)>7){k=-1>>>(32-(C>>>3)|0)<<(s&7);j=0;i=(c[e+600>>2]|0)+(r(l,u)|0)+((f|0)/64|0)|0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}i=e+468|0;c[i>>2]=1;if(o){k=(vh(z,B,12)|0)==0;k=k?3:0;l=0;m=1}else{k=0;l=0;m=1}}j=(k|0)==3&(c[i>>2]|0)==1&1;c[e+472>>2]=k;c[e+560>>2]=j;b:do if(m){c[p>>2]=0;zh(e,f,g,h)|0;if(!(c[p>>2]|0)){i=e+416|0;break}else{e=0;return e|0}}else switch(k|0){case 0:{i=e+416|0;y=c[i>>2]|0;xh(e,f,g,C,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369;break b}case 1:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,x)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 2:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,x,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 4:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,(3<<h|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 5:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;xh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,f,x+g|0,C,(C|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 6:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,(3<<h|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 7:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;xh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;xh(e,x+f|0,g,(C|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}default:{i=e+416|0;w=c[i>>2]|0;y=(C|0)/2|0;xh(e,f,g,y,y)|0;C=w+12|0;c[C>>2]=c[C>>2]&-805306369;C=c[i>>2]|0;w=y+f|0;xh(e,w,g,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;C=c[i>>2]|0;x=y+g|0;xh(e,f,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|536870912;C=c[i>>2]|0;xh(e,w,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]|805306368;break b}}while(0);i=c[i>>2]|0;do if(l){if((k|0)==0?c[i+-4>>2]&524288|0:0)break;if((vh(z,B,30)|0)!=1){i=a[A+4116>>0]|0;j=c[G>>2]|0;f=(f-(c[D>>2]<<i)|0)>>>2&15;g=g-(c[e+320>>2]<<i)|0;i=c[j>>2]&-49152|(h<<8)+1536&1792|f|g<<2&240;c[j>>2]=i;i=c[e+436>>2]<<16&8323072|i&528500735|-536870912;c[j>>2]=i;i=i&-528529409|c[e+476>>2]<<23&528482304;c[j>>2]=i;if((c[E>>2]<<3|0)==(f<<2|0)?(c[F>>2]<<3|0)==(g&60|0):0)i=i|16384;else i=i&-63489;c[j>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;e=e+428|0;c[e>>2]=(c[e>>2]|0)+1;e=0;return e|0}}while(0);if(m)i=(a[A+53>>0]|0)+j|0;else i=a[A+52>>0]|0;c[e+544>>2]=i;e=Ah(e,f,g,f,g,h,0,0,c[e+476>>2]|0)|0;return e|0}function xh(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;j=b+376|0;m=b+416|0;i=c[m>>2]|0;k=b+660|0;h=c[b+648>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;n=a[(c[b+360>>2]|0)+4116>>0]|0;l=i+12|0;g=(g>>>2<<12)+61440&61440|(f>>>2<<8)+3840&3840|(d-(c[b+316>>2]<<n)|0)>>>2&15|e-(c[b+320>>2]<<n)<<2&240;c[l>>2]=g;c[l>>2]=g|c[b+472>>2]<<25&234881024;if((c[b+468>>2]|0)==2){d=h+166|0;if((a[d>>0]|0)>1?(vh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Gh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032|524288;else d=1572864}else d=524288;c[l>>2]=d|c[l>>2]&-7864321;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}n=vh(k,j,18)|0;c[l>>2]=c[l>>2]&-524289|n<<19&524288;if(!n){Ih(b,i)|0;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}d=h+166|0;if((a[d>>0]|0)>1?(vh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Gh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032;else d=1048576}else d=0;c[l>>2]=c[l>>2]&-7340033|d;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if(h>>>0<=255)J(42507,42291,334,43180);f=b+12|0;g=b+4|0;i=c[g>>2]|0;a=c[f>>2]<<i>>>31;i=i+1|0;c[g>>2]=i;if((i|0)==32){i=b+16|0;c[f>>2]=c[i>>2];f=b+8|0;b=c[f>>2]|0;c[f>>2]=b+4;b=c[b>>2]|0;c[g>>2]=0;c[i>>2]=Rk(b|0)|0}b=a|e<<1;i=b>>>0<h>>>0;c[d>>2]=b-(i?0:h);return (i^1)&1|0}function zh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=e+660|0;t=e+376|0;x=1<<h;k=c[e+472>>2]|0;A=e+408|0;B=e+416|0;p=c[B>>2]|0;i=e+360|0;w=c[i>>2]|0;v=a[w+4116>>0]|0;u=c[e+316>>2]<<v;v=c[e+320>>2]<<v;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;o=(x>>>2)+15&15;u=(f-u|0)>>>2&15;v=g-v|0;q=v<<2&240|u;c[p+12>>2]=q|o<<8|o<<12|65536;if((((k|0)==0?(a[w+20>>0]|0)!=0:0)?(j=a[w+50>>0]|0,(j|0)<=(h|0)):0)?((a[w+51>>0]|0)+j|0)>=(h|0):0){p=sh(s,t)|0;c[e+448>>2]=p;if(p|0){if(c[e+380>>2]&7|0)th(t);k=c[i>>2]|0;p=e+404|0;i=c[p>>2]|0;a[i>>0]=1;l=i+2|0;a[i+1>>0]=1;c[p>>2]=l;b[i+4>>1]=-1;b[l>>1]=0;l=a[k+21>>0]|0;n=1<<(h<<1);m=8-l|0;i=i+6|0;j=0;do{o=i;i=i+1|0;a[o>>0]=(Fh(t,l)|0)<<m;j=j+1|0}while((j|0)<(n|0));m=a[k+22>>0]|0;o=n>>1;if((n|0)>1){l=8-m|0;j=0;while(1){k=i+1|0;a[i>>0]=(Fh(t,m)|0)<<l;j=j+1|0;if((j|0)>=(o|0)){i=k;break}else i=k}}c[p>>2]=i;nh(s,t)|0;m=c[A>>2]|0;i=q|(h<<8)+1536&1792|c[m>>2]&-49152|47104;c[m>>2]=i;i=i&65535|c[e+436>>2]<<16&8323072;j=i|-8388608;c[m>>2]=j;k=e+456|0;l=e+460|0;if((c[k>>2]<<3|0)==(u<<2|0)?(c[l>>2]<<3|0)==(v&60|0):0)i=i|-8372224;else i=j&-16385;c[m>>2]=i;u=(c[e+624>>2]|0)+(c[k>>2]<<1)|0;h=e+12192|0;v=(x|0)/4|0;bc[c[h>>2]&15]((c[e+628>>2]|0)+(c[l>>2]<<1)|0,1,v);bc[c[h>>2]&15](u,1,v);if((a[w+58>>0]|0)==1?(y=((b[w>>1]|0)+63|0)/64|0,z=(x|0)/8|0,(x|0)>7):0){k=-1>>>(32-(x>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(y,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(z|0))break;else i=i+y|0}}c[A>>2]=(c[A>>2]|0)+4;g=e+568|0;c[g>>2]=(c[g>>2]|0)+1;g=e+428|0;c[g>>2]=(c[g>>2]|0)+1;g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}}else c[e+448>>2]=0;j=(k|0)==3?4:1;i=0;do{c[e+492+(i<<2)>>2]=vh(s,t,16)|0;i=i+1|0}while(i>>>0<j>>>0);i=0;do{if(!(c[e+492+(i<<2)>>2]|0))c[e+524+(i<<2)>>2]=Eh(s,t,5)|0;else c[e+508+(i<<2)>>2]=Gh(s,t,2)|0;i=i+1|0}while(i>>>0<j>>>0);A=vh(s,t,17)|0;i=e+540|0;c[i>>2]=4;if(A|0)c[i>>2]=Eh(s,t,2)|0;Hh(e,h,f,g);g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}function Ah(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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=b+376|0;I=b+660|0;u=b+360|0;v=b+356|0;w=b+560|0;x=b+544|0;E=b+468|0;y=b+472|0;L=b+476|0;z=b+480|0;A=b+484|0;B=b+488|0;C=b+554|0;D=b+549|0;n=b+549|0;a:while(1){F=e;G=f;t=g;s=h;while(1){r=c[u>>2]|0;q=c[v>>2]|0;f=c[w>>2]|0;g=(i|0)>(a[r+4117>>0]|0);if((!g?((c[x>>2]|0)>(j|0)?(i|0)>(a[r+48>>0]|0):0):0)?!((j|0)==0&(f|0)!=0):0)m=vh(I,K,36-i|0)|0;else H=7;do if((H|0)==7){H=0;if((a[r+52>>0]|0)==0?(c[E>>2]|0)==0:0)e=(j|0)==0&(c[y>>2]|0)!=0&1;else e=0;if(!g?!((j|0)==0&(f|0)==1|(e|0)==1):0){m=0;break}m=1}while(0);o=(j|0)==0;if(!o){e=j+-1|0;f=a[b+549+e>>0]|0;g=b+549+j|0;a[g>>0]=f;e=a[b+554+e>>0]|0;a[b+554+j>>0]=e;if((i|0)>2){h=j+36|0;if(f<<24>>24){a[g>>0]=vh(I,K,h)|0;e=a[j+-1+(b+554)>>0]|0}if(!(e<<24>>24))p=1;else{f=1;e=h;H=19}}else p=0}else{a[C>>0]=0;a[D>>0]=0;a[n>>0]=vh(I,K,36)|0;f=(i|0)>2;e=36;H=19}if((H|0)==19){H=0;a[b+554+j>>0]=vh(I,K,e)|0;p=f}if(!m){H=32;break a}f=1<<i>>1;g=f+F|0;f=f+G|0;h=(j|0)!=0;if(h)e=l;else e=c[L>>2]|0;i=i+-1|0;j=j+1|0;e=Ah(b,F,G,F,G,i,j,0,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[z>>2]|0;e=Ah(b,g,G,F,G,i,j,1,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[A>>2]|0;e=Ah(b,F,f,F,G,i,j,2,e)|0;if(e|0){H=71;break a}if(h){s=G;t=F;F=g;G=f;k=3}else break}e=g;g=F;h=G;k=3;l=c[B>>2]|0}if((H|0)==32){m=b+408|0;n=c[m>>2]|0;f=a[r+4116>>0]|0;e=c[b+316>>2]<<f;f=c[b+320>>2]<<f;if((!((j|0)!=0|(c[E>>2]|0)==1)?(a[b+549>>0]|0)==0:0)?(a[b+554>>0]|0)==0:0){h=b+548|0;a[h>>0]=1}else{h=b+548|0;a[h>>0]=vh(I,K,o?35:34)|0}f=G-f<<2&240|(F-e|0)>>>2&15|c[n>>2]&-14592;c[n>>2]=f;f=c[b+464>>2]<<15&32768|(i<<8)+1536&1792|f&-48897;c[n>>2]=f;f=c[b+436>>2]<<16&8323072|l<<23&528482304|f&-536819713;c[n>>2]=f;g=b+540|0;c[n>>2]=f&536856575|c[g>>2]<<29;e=a[h>>0]|0;if((e<<24>>24==0?(a[b+549+j>>0]|0)==0:0)?(a[b+554+j>>0]|0)==0:0){if((i|0)==2&(k|0)!=3)c[n>>2]=f|-536870912}else H=40;do if((H|0)==40){do if((a[q+17>>0]|0)!=0?(J=b+368|0,(c[J>>2]|0)==0):0){e=Bh(I,K,5,9,0,1)|0;if((e|0)>4)e=(Ch(I,K,0)|0)+e|0;c[J>>2]=1;if(!e)e=0;else{K=(yh(I,K)|0)==0;e=K?e:0-e|0}K=(a[r+16>>0]|0)*3|0;if((e|0)<(K+-26|0)|(e|0)>(K+25|0)){b=979;return b|0}else{c[b+572>>2]=e;e=a[h>>0]|0;break}}while(0);if(e<<24>>24){c[n>>2]=c[n>>2]|2048;Dh(b,F,G,i,0,l)|0}e=c[g>>2]|0;if((e|0)==4)e=c[L>>2]|0;else{e=d[41107+e>>0]|0;e=(c[L>>2]|0)==(e|0)?34:e}if(p){if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Dh(b,F,G,i+-1|0,1,e)|0}if(!(a[b+554+j>>0]|0))break;c[n>>2]=c[n>>2]|8192;Dh(b,F,G,i+-1|0,2,e)|0;break}if((k|0)!=3){c[n>>2]=c[n>>2]|-536870912;break}if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Dh(b,t,s,i,1,e)|0}if(a[b+554+j>>0]|0){c[n>>2]=c[n>>2]|8192;Dh(b,t,s,i,2,e)|0}}while(0);e=c[n>>2]|0;if((c[b+456>>2]<<3|0)==(e<<2&60|0)?(c[b+460>>2]<<3|0)==(e>>>2&60|0):0)e=e|16384;else e=e&-16385;c[n>>2]=e;c[m>>2]=(c[m>>2]|0)+4;L=b+568|0;c[L>>2]=(c[L>>2]|0)+1;b=b+428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;return b|0}else if((H|0)==71)return e|0;return 0}function Bh(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,t=0,u=0,v=0,w=0,x=0;if((f|0)<=0)J(42907,42291,561,42919);if(g>>>0>=154)J(42951,42291,562,42919);if(((f>>>h)+g|0)>=154)J(43008,42291,563,42919);u=b+4|0;v=e+12|0;w=e+4|0;x=e+16|0;t=e+8|0;r=0;l=c[b>>2]|0;j=c[u>>2]|0;while(1){e=r>>>h;e=(e>>>0<i>>>0?e:i)+g|0;m=b+8+e|0;k=a[m>>0]|0;n=k&255;if(l>>>0<=255){q=9;break}if(e>>>0>=154){q=11;break}if(k<<24>>24<=-1){q=13;break}o=s(l|0)|0;o=(d[(l<<o+-1>>>28&3)+(64+(n>>>1<<2))>>0]|0)<<23-o;l=l-o|0;p=j>>>0<l>>>0;j=j-(p?0:l)|0;o=p?l:o;p=n&1^(p^1)&1;a[m>>0]=a[320+(p|n<<1)>>0]|0;if(o>>>0<256){e=s(o|0)|0;m=e+-1|0;l=c[w>>2]|0;e=c[v>>2]<<l>>>(33-e|0);l=l+m|0;c[w>>2]=l;if(l>>>0<=32){if((l|0)==32)q=20}else{k=64-l|0;if(k>>>0<32)k=(c[x>>2]|0)>>>k;else k=0;e=k|e;q=20}if((q|0)==20){q=0;c[v>>2]=c[x>>2];n=c[t>>2]|0;c[t>>2]=n+4;n=c[n>>2]|0;c[w>>2]=l+-32;c[x>>2]=Rk(n|0)|0}k=o<<m;j=e|j<<m}else k=o;c[b>>2]=k;c[u>>2]=j;e=r+1|0;if((e|0)<(f|0)&(p|0)!=0){r=e;l=k}else{q=23;break}}if((q|0)==9)J(42507,42291,570,42919);else if((q|0)==11)J(43068,42291,570,42919);else if((q|0)==13)J(43123,42291,570,42919);else if((q|0)==23)return p+r|0;return 0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((d|0)<=-1)J(42831,42291,676,42842);a:do if((d|0)<17){k=a+4|0;l=b+12|0;m=b+4|0;n=b+16|0;o=b+8|0;i=c[a>>2]|0;j=i>>>0>255;f=0;h=c[k>>2]|0;while(1){if(!j)break;g=c[m>>2]|0;e=c[l>>2]<<g>>>31;g=g+1|0;c[m>>2]=g;if((g|0)==32){c[l>>2]=c[n>>2];g=c[o>>2]|0;c[o>>2]=g+4;g=c[g>>2]|0;c[m>>2]=0;c[n>>2]=Rk(g|0)|0}g=e|h<<1;s=g>>>0<i>>>0;h=g-(s?0:i)|0;s=s^1;c[k>>2]=h;g=d+1|0;e=((s&1)<<d)+f|0;if(!((d|0)<16&s)){r=e;p=g;break a}else{d=g;f=e}}J(42507,42291,683,42842)}else{r=0;p=d}while(0);f=p+-1|0;if(!f){s=r;return s|0}l=c[a>>2]|0;k=a+4|0;d=c[k>>2]|0;if(l>>>0<=255)J(42507,42291,693,42842);if((p|0)<=1)J(42878,42291,693,42842);if((p|0)>=18)J(42892,42291,693,42842);i=b+12|0;j=b+4|0;h=c[j>>2]|0;g=c[i>>2]<<h>>>(33-p|0);h=h+f|0;c[j>>2]=h;if(h>>>0<=32){if((h|0)==32)q=22}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;g=e|g;q=22}if((q|0)==22){s=b+16|0;c[i>>2]=c[s>>2];q=b+8|0;b=c[q>>2]|0;c[q>>2]=b+4;b=c[b>>2]|0;c[j>>2]=h+-32;c[s>>2]=Rk(b|0)|0}e=0;do{f=f+-1|0;b=g>>>f&1|d<<1;s=b>>>0<l>>>0;e=e<<1|(s^1)&1;d=b-(s?0:l)|0}while((f|0)!=0);c[k>>2]=d;s=e+r|0;return s|0} |
| | | function oe(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Sb;Sb=Sb+32|0;ia=ja+16|0;ea=ja;da=(l&240|0)==240;x=da?4:8;y=i*3|0;z=i*5|0;A=i*7|0;B=b[16848]|0;C=i<<1;D=b[16880]|0;E=i*6|0;F=b[16849]|0;G=b[16881]|0;H=b[16832]|0;I=b[16864]|0;J=i<<2;K=b[16833]|0;L=b[16865]|0;fa=ia+12|0;ga=ia+4|0;ha=ia+8|0;M=b[16840]|0;N=b[16856]|0;O=b[16872]|0;P=b[16888]|0;Q=b[16841]|0;R=b[16857]|0;S=b[16873]|0;T=b[16889]|0;U=ea+4|0;V=b[16842]|0;W=b[16858]|0;X=b[16874]|0;Y=b[16890]|0;Z=ea+8|0;_=b[16843]|0;$=b[16859]|0;aa=b[16875]|0;ba=b[16891]|0;ca=ea+12|0;v=f;w=0;m=c[ha>>2]|0;o=c[ga>>2]|0;q=c[fa>>2]|0;t=c[ia>>2]|0;u=c[ca>>2]|0;s=c[Z>>2]|0;p=c[U>>2]|0;n=c[ea>>2]|0;while(1){if(!(l&1)){q=b[e+(i<<1)>>1]|0;ka=b[e+(y<<1)>>1]|0;m=b[e+(z<<1)>>1]|0;u=b[e+(A<<1)>>1]|0;n=(r(ka,N)|0)+(r(q,M)|0)+(r(m,O)|0)+(r(u,P)|0)|0;p=(r(ka,R)|0)+(r(q,Q)|0)+(r(m,S)|0)+(r(u,T)|0)|0;s=(r(ka,W)|0)+(r(q,V)|0)+(r(m,X)|0)+(r(u,Y)|0)|0;u=(r(ka,$)|0)+(r(q,_)|0)+(r(m,aa)|0)+(r(u,ba)|0)|0;m=b[e+(C<<1)>>1]|0;q=r(m,B)|0;ka=b[e+(E<<1)>>1]|0;q=(r(ka,D)|0)+q|0;m=(r(G,ka)|0)+(r(F,m)|0)|0;ka=b[e>>1]|0;o=r(ka,H)|0;t=b[e+(J<<1)>>1]|0;o=(r(t,I)|0)+o|0;ka=(r(L,t)|0)+(r(K,ka)|0)|0;t=o+q|0;q=o-q|0;o=ka+m|0;m=ka-m|0;ka=n+t|0;b[v>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=q-u|0;b[v+8>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=p+o|0;b[v+2>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=m-s|0;b[v+10>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=s+m|0;b[v+4>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=o-p|0;b[v+12>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=u+q|0;b[v+6>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=t-n|0;b[v+14>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535}else{b[v>>1]=0;b[v+2>>1]=0;b[v+4>>1]=0;b[v+6>>1]=0;b[v+8>>1]=0;b[v+10>>1]=0;b[v+12>>1]=0;b[v+14>>1]=0}w=w+1|0;if(w>>>0>=x>>>0)break;else{e=e+2|0;v=v+16|0;l=l>>1}}c[ea>>2]=n;c[U>>2]=p;c[Z>>2]=s;c[ca>>2]=u;c[ia>>2]=t;c[fa>>2]=q;c[ga>>2]=o;c[ha>>2]=m;N=b[16848]|0;if(da){l=b[16849]|0;n=b[16832]|0;o=b[16833]|0;p=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=ea+4|0;v=b[16842]|0;w=b[16858]|0;x=ea+8|0;y=b[16843]|0;z=b[16859]|0;A=ea+12|0;e=0;m=f;while(1){i=b[m+16>>1]|0;ca=b[m+48>>1]|0;f=(r(ca,q)|0)+(r(i,p)|0)|0;c[ea>>2]=f;c[u>>2]=(r(ca,t)|0)+(r(i,s)|0);c[x>>2]=(r(ca,w)|0)+(r(i,v)|0);c[A>>2]=(r(ca,z)|0)+(r(i,y)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;i=r(l,i)|0;da=b[m>>1]|0;ba=r(da,n)|0;da=r(o,da)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}else{l=b[16880]|0;n=b[16849]|0;o=b[16881]|0;p=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=ea+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=ea+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=ea+12|0;e=0;m=f;while(1){da=b[m+16>>1]|0;ba=b[m+48>>1]|0;ca=b[m+80>>1]|0;i=b[m+112>>1]|0;f=(r(ba,v)|0)+(r(da,u)|0)+(r(ca,w)|0)+(r(i,x)|0)|0;c[ea>>2]=f;c[C>>2]=(r(ba,z)|0)+(r(da,y)|0)+(r(ca,A)|0)+(r(i,B)|0);c[H>>2]=(r(ba,E)|0)+(r(da,D)|0)+(r(ca,F)|0)+(r(i,G)|0);c[M>>2]=(r(ba,J)|0)+(r(da,I)|0)+(r(ca,K)|0)+(r(i,L)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;da=b[m+96>>1]|0;ca=(r(da,l)|0)+ca|0;i=(r(o,da)|0)+(r(n,i)|0)|0;da=b[m>>1]|0;ba=r(da,p)|0;ka=b[m+64>>1]|0;ba=(r(ka,q)|0)+ba|0;da=(r(t,ka)|0)+(r(s,da)|0)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}}function pe(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+2|0;l=e+2|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+4|0;l=e+4|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+6|0;k=e+6|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function qe(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function re(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function se(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0;if((f+-1|0)>>>0>=3)J(41314,41338,117,41371);G=(k|0)==0;H=(l|0)==0;if(!(l|k))J(41393,41338,118,41371);F=g+1+h>>1;o=F+(i<<1)|0;o=(o|0)>0?o:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;o=c[25472+(((o|0)<51?o:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;w=a[b+2>>0]|0;v=a[b+1>>0]|0;u=a[b>>0]|0;f=u&255;p=(w&255)-((v&255)<<1)+f|0;p=(p|0)>0?p:0-p|0;D=e*3|0;k=b+D|0;l=d[k>>0]|0;E=(d[b+(D+2)>>0]|0)-((d[b+(D+1)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;t=a[b+-3>>0]|0;s=a[b+-2>>0]|0;q=a[b+-1>>0]|0;g=q&255;n=(t&255)-((s&255)<<1)+g|0;n=(n|0)>0?n:0-n|0;m=d[b+(D+-1)>>0]|0;D=(d[b+(D+-3)>>0]|0)-((d[b+(D+-2)>>0]|0)<<1)+m|0;D=(D|0)>0?D:0-D|0;h=n+p|0;i=D+E|0;n=D+n|0;p=E+p|0;if((i+h|0)>=(o|0))return;j=o>>2;if((h<<1|0)<(j|0)?(E=(d[b+3>>0]|0)-f|0,D=g-(d[b+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){g=f-g|0;g=(((g|0)>0?g:0-g|0)|0)<((F*5|0)+1>>1|0)&1}else g=0;if((i<<1|0)<(j|0)?(E=(d[k+3>>0]|0)-l|0,D=m-(d[k+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){f=l-m|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0;E=(g|0)==1&f;x=(o>>1)+o>>3;C=(F|0)>1;D=(n|0)<(x|0)&C;C=(p|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;h=q;i=s;j=t;k=u;l=v;m=w;while(1){v=b+-1|0;q=h&255;u=b+-2|0;g=i&255;t=b+-3|0;i=j&255;o=k&255;s=b+1|0;n=l&255;p=b+2|0;k=m&255;if(!E){h=((o-q|0)*9|0)+8+(r(n-g|0,-3)|0)>>4;if((((h|0)>0?h:0-h|0)|0)<(y|0)){j=(h|0)>(F|0)?F:(h|0)<(z|0)?z:h;h=j+q|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255;l=o-j|0;l=(l|0)>0?l:0;l=(l|0)<255?l:255;if(D){w=((q+1+i|0)>>>1)-g+j>>1;g=((w|0)>(A|0)?A:(w|0)<(B|0)?B:w)+g|0;g=(g|0)>0?g:0;g=(g|0)<255?g:255}if(C){m=((k+o+1|0)>>>1)-n-j>>1;m=((m|0)>(A|0)?A:(m|0)<(B|0)?B:m)+n|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;j=l}else{m=n;j=l}}else{m=n;j=o;h=q}}else{h=o<<1;w=(q<<1)+4|0;j=w+g+h+k+(n<<1)>>3;L=x+o|0;K=o-x|0;l=o+q|0;m=(l+2+n+k|0)>>>2;N=x+n|0;M=n-x|0;O=(l+4+n+(k*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;P=x+k|0;k=k-x|0;h=w+(g<<1)+i+n+h>>3;n=x+q|0;o=q-x|0;l=l+g|0;w=(i+2+l|0)>>>2;q=x+g|0;g=g-x|0;l=((i*3|0)+4+l+((d[b+-4>>0]|0)<<1)|0)>>>3;I=x+i|0;i=i-x|0;k=(O|0)>(P|0)?P:(O|0)<(k|0)?k:O;m=(m|0)>(N|0)?N:(m|0)<(M|0)?M:m;j=(j|0)>(L|0)?L:(j|0)<(K|0)?K:j;i=(l|0)>(I|0)?I:(l|0)<(i|0)?i:l;h=(h|0)>(n|0)?n:(h|0)<(o|0)?o:h;g=(w|0)>(q|0)?q:(w|0)<(g|0)?g:w}if(!G){a[t>>0]=i;a[u>>0]=g;a[v>>0]=h}if(!H){a[b>>0]=j;a[s>>0]=m;a[p>>0]=k}g=b+e|0;f=f+1|0;if((f|0)==4)break;b=g;h=a[g+-1>>0]|0;i=a[g+-2>>0]|0;j=a[g+-3>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=a[g+2>>0]|0}return}function te(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((f|0)<=0)J(41426,41338,354,41437);M=(k|0)==0;N=(l|0)==0;if(!(l|k))J(41393,41338,355,41437);F=g+1+h>>1;n=F+(i<<1)|0;n=(n|0)>0?n:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;n=c[25472+(((n|0)<51?n:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;G=e<<1;v=a[b+G>>0]|0;u=a[b+e>>0]|0;t=a[b>>0]|0;g=t&255;o=(v&255)-((u&255)<<1)+g|0;o=(o|0)>0?o:0-o|0;k=b+3|0;l=d[k>>0]|0;E=(d[b+(G+3)>>0]|0)-((d[b+(e+3)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;H=r(e,-3)|0;s=a[b+H>>0]|0;I=r(e,-2)|0;q=a[b+I>>0]|0;K=0-e|0;p=a[b+K>>0]|0;h=p&255;m=(s&255)-((q&255)<<1)+h|0;m=(m|0)>0?m:0-m|0;L=e*3|0;D=(d[b+(3-L)>>0]|0)-((d[b+(3-G)>>0]|0)<<1)+(d[b+(3-e)>>0]|0)|0;D=(D|0)>0?D:0-D|0;f=m+o|0;i=D+E|0;m=D+m|0;o=E+o|0;if((i+f|0)>=(n|0))return;j=n>>2;if((f<<1|0)<(j|0)?(E=(d[b+L>>0]|0)-g|0,D=h-(d[b+(r(e,-4)|0)>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)):0){h=g-h|0;h=(((h|0)>0?h:0-h|0)|0)<((F*5|0)+1>>1|0)&1}else h=0;if((i<<1|0)<(j|0)){E=(d[k+L>>0]|0)-l|0;f=d[k+K>>0]|0;g=r(e,-4)|0;D=f-(d[k+g>>0]|0)|0;if((((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)){f=l-f|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0}else{f=0;g=r(e,-4)|0}E=(h|0)==1&f;x=(n>>1)+n>>3;C=(F|0)>1;D=(m|0)<(x|0)&C;C=(o|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;i=p;j=q;k=s;l=t;m=u;n=v;while(1){w=b+K|0;s=i&255;v=b+I|0;h=j&255;u=b+H|0;j=k&255;p=l&255;t=b+e|0;o=m&255;q=b+G|0;l=n&255;if(!E){i=((p-s|0)*9|0)+8+(r(o-h|0,-3)|0)>>4;if((((i|0)>0?i:0-i|0)|0)<(y|0)){k=(i|0)>(F|0)?F:(i|0)<(z|0)?z:i;i=k+s|0;i=(i|0)>0?i:0;i=(i|0)<255?i:255;m=p-k|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;if(D){s=((s+1+j|0)>>>1)-h+k>>1;h=((s|0)>(A|0)?A:(s|0)<(B|0)?B:s)+h|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}if(C){n=((l+p+1|0)>>>1)-o-k>>1;n=((n|0)>(A|0)?A:(n|0)<(B|0)?B:n)+o|0;n=(n|0)>0?n:0;n=(n|0)<255?n:255;k=m}else{n=o;k=m}}else{n=o;k=p;i=s}}else{i=p<<1;m=(s<<1)+4|0;k=m+h+i+l+(o<<1)>>3;R=x+p|0;Q=p-x|0;O=p+s|0;n=(O+2+o+l|0)>>>2;T=x+o|0;S=o-x|0;U=(O+4+o+(l*3|0)+((d[b+L>>0]|0)<<1)|0)>>>3;V=x+l|0;l=l-x|0;i=m+(h<<1)+j+o+i>>3;m=x+s|0;o=s-x|0;O=O+h|0;s=(j+2+O|0)>>>2;p=x+h|0;h=h-x|0;O=((j*3|0)+4+O+((d[b+g>>0]|0)<<1)|0)>>>3;P=x+j|0;j=j-x|0;l=(U|0)>(V|0)?V:(U|0)<(l|0)?l:U;n=(n|0)>(T|0)?T:(n|0)<(S|0)?S:n;k=(k|0)>(R|0)?R:(k|0)<(Q|0)?Q:k;j=(O|0)>(P|0)?P:(O|0)<(j|0)?j:O;i=(i|0)>(m|0)?m:(i|0)<(o|0)?o:i;h=(s|0)>(p|0)?p:(s|0)<(h|0)?h:s}if(!M){a[u>>0]=j;a[v>>0]=h;a[w>>0]=i}if(!N){a[b>>0]=k;a[t>>0]=n;a[q>>0]=l}h=b+1|0;f=f+1|0;if((f|0)==4)break;b=h;i=a[h+K>>0]|0;j=a[h+I>>0]|0;k=a[h+H>>0]|0;l=a[h>>0]|0;m=a[h+e>>0]|0;n=a[h+G>>0]|0}return}function ue(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=(k|0)==0;o=(l|0)==0;if(!(l|k))J(41393,41338,611,41459);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;h=0-i|0;n=0-j|0;f=d[b>>0]|0;l=b+-2|0;g=d[l>>0]|0;k=(d[b+-4>>0]|0)+4+(f-g<<2)-(d[b+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;m=d[f>>0]|0;k=(d[b+-3>>0]|0)+4+(m-(d[b+-1>>0]|0)<<2)-(d[b+3>>0]|0)>>3;k=m-((k|0)>(j|0)?j:(k|0)<(n|0)?n:k)|0;k=(k|0)>0?k:0;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}g=b+e|0;f=d[g>>0]|0;k=(d[g+-4>>0]|0)+4+(f-(d[g+-2>>0]|0)<<2)-(d[g+2>>0]|0)>>3;k=f-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;f=g+1|0;b=d[f>>0]|0;l=(d[g+-3>>0]|0)+4+(b-(d[g+-1>>0]|0)<<2)-(d[g+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[g>>0]=(k|0)<255?k:255;a[f>>0]=(l|0)<255?l:255}f=g+e|0;g=d[f>>0]|0;k=(d[f+-4>>0]|0)+4+(g-(d[f+-2>>0]|0)<<2)-(d[f+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=f+1|0;b=d[g>>0]|0;l=(d[f+-3>>0]|0)+4+(b-(d[f+-1>>0]|0)<<2)-(d[f+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;k=(d[l+-4>>0]|0)+4+(g-(d[l+-2>>0]|0)<<2)-(d[l+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=l+1|0;e=d[g>>0]|0;f=(d[l+-3>>0]|0)+4+(e-(d[l+-1>>0]|0)<<2)-(d[l+3>>0]|0)>>3;f=e-((f|0)>(j|0)?j:(f|0)<(n|0)?n:f)|0;f=(f|0)>0?f:0;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}else{q=k+g|0;q=(q|0)>0?q:0;g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;r=d[f>>0]|0;m=b+-1|0;p=d[m>>0]|0;k=(d[b+-3>>0]|0)+4+(r-p<<2)-(d[b+3>>0]|0)>>3;k=(k|0)>(j|0)?j:(k|0)<(n|0)?n:k;p=k+p|0;p=(p|0)>0?p:0;k=r-k|0;k=(k|0)>0?k:0;a[l>>0]=(q|0)<255?q:255;a[m>>0]=(p|0)<255?p:255;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}f=b+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}f=f+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;p=l+-2|0;e=d[p>>0]|0;k=(d[l+-4>>0]|0)+4+(g-e<<2)-(d[l+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;e=k+e|0;e=(e|0)>0?e:0;k=g-k|0;k=(k|0)>0?k:0;g=l+1|0;b=d[g>>0]|0;r=l+-1|0;q=d[r>>0]|0;f=(d[l+-3>>0]|0)+4+(b-q<<2)-(d[l+3>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(n|0)?n:f;q=f+q|0;q=(q|0)>0?q:0;f=b-f|0;f=(f|0)>0?f:0;a[p>>0]=(e|0)<255?e:255;a[r>>0]=(q|0)<255?q:255;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}}function ve(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;m=(k|0)==0;p=(l|0)==0;if(!(l|k))J(41393,41338,732,41483);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;n=0-e|0;o=r(e,-2)|0;f=d[b>>0]|0;l=b+n|0;g=d[l>>0]|0;k=(d[b+o>>0]|0)+4+(f-g<<2)-(d[b+e>>0]|0)>>3;h=0-i|0;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){f=f-k|0;f=(f|0)>0?f:0;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;m=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(m-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=m-((f|0)>(i|0)?i:(f|0)<(h|0)?h:f)|0;f=(f|0)>0?f:0;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(b-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=b-((f|0)>(j|0)?j:(f|0)<(k|0)?k:f)|0;f=(f|0)>0?f:0;if(p)return;a[g>>0]=(f|0)<255?f:255;return}else{m=k+g|0;m=(m|0)>0?m:0;f=f-k|0;f=(f|0)>0?f:0;a[l>>0]=(m|0)<255?m:255;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;q=d[f>>0]|0;m=f+n|0;l=d[m>>0]|0;g=(d[f+o>>0]|0)+4+(q-l<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;l=g+l|0;l=(l|0)>0?l:0;g=q-g|0;g=(g|0)>0?g:0;a[m>>0]=(l|0)<255?l:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;l=d[g>>0]|0;q=g+n|0;m=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(l-m<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(i|0)?i:(f|0)<(h|0)?h:f;m=f+m|0;m=(m|0)>0?m:0;f=l-f|0;f=(f|0)>0?f:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;q=g+n|0;n=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(b-n<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(k|0)?k:f;e=f+n|0;e=(e|0)>0?e:0;f=b-f|0;f=(f|0)>0?f:0;a[q>>0]=(e|0)<255?e:255;if(p)return;a[g>>0]=(f|0)<255?f:255;return}}function we(a){a=a|0;var b=0;c[a>>2]=2147483647;b=0;do{c[a+4+(b<<2)>>2]=2147483647;c[a+260+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=64);return}function xe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((b|0)>63){f=-1;return f|0}f=a+260+(b<<2)|0;if(c[f>>2]|0){f=-1;return f|0}c[f>>2]=e;c[a+4+(b<<2)>>2]=d;f=0;return f|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=2147483647;e=0;h=-1;while(1){f=c[a+4+(e<<2)>>2]|0;g=(f|0)==2147483647|(f|0)>(d|0);h=g?h:e;e=e+1|0;if((e|0)==64)break;else d=g?d:f}c[b>>2]=h;d=a+260+(h<<2)|0;if((h|0)==-1){a=0;return a|0}g=c[d>>2]|0;c[d>>2]=0;c[a+4+(h<<2)>>2]=2147483647;a=g;return a|0}function ze(a){a=a|0;Uk(a|0,0,517)|0;return}function Ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+20|0;f=0;do{if((c[b+4+(f<<3)>>2]|0)==(d|0)?a[g>>0]|0:0){h=-1;i=9;break}f=f+1|0}while(f>>>0<64);if((i|0)==9)return h|0;f=0;while(1){if(!(c[b+4+(f<<3)>>2]|0))break;g=f+1|0;if(g>>>0<64)f=g;else{h=-1;i=9;break}}if((i|0)==9)return h|0;i=b+4+(f<<3)|0;c[i>>2]=d;c[b+4+(f<<3)+4>>2]=c[b>>2];a[d+22>>0]=e;a[d+20>>0]=2;c[b>>2]=i;i=b+516|0;a[i>>0]=(a[i>>0]|0)+1<<24>>24;i=0;return i|0}function Be(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;l=c[b>>2]|0;h=c[l>>2]|0;if((c[h+8>>2]|0)!=(f|0)){n=b+516|0;j=a[n>>0]|0;m=j&255;a:do if((j&255)>1){g=l;i=1;while(1){k=c[g+4>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)==(f|0))break a;i=i+1|0;if(i>>>0<m>>>0)g=k;else{g=k;break}}}else{i=1;g=l}while(0);if((i|0)==(m|0))return;f=g+4|0;k=c[f>>2]|0;g=k+4|0;i=c[g>>2]|0;if((k|0)==(l|0)){f=n;o=9}else{c[f>>2]=i;c[g>>2]=0;l=k;f=n;i=j;h=c[k>>2]|0}}else{g=l+4|0;j=b+516|0;f=j;j=a[j>>0]|0;i=c[g>>2]|0;o=9}if((o|0)==9){c[b>>2]=i;i=j}a[f>>0]=i+-1<<24>>24;Yd(e,d[h+22>>0]|0,2)|0;c[g>>2]=0;c[l>>2]=0;return}function Ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=2147483647;e=0;h=0;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){j=d-(c[g+8>>2]|0)|0;i=(j|0)>0&(j|0)<(f|0);f=i?j:f;e=i?g:e}h=h+1|0}while((h|0)!=64);if(e|0){j=e;return j|0}h=0;e=0;f=2147483647;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){i=d-(c[g+8>>2]|0)|0;i=(i|0)>0?i:0-i|0;j=(i|0)<(f|0);f=j?i:f;e=j?g:e}h=h+1|0}while((h|0)!=64);return e|0}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=b;b=0;while(1){f=c[e>>2]|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==(d|0))break a;b=b+1|0;if(b>>>0<g>>>0)e=f+4|0;else{e=0;break}}}while(0);return ((b|0)==(g|0)?0:e)|0}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=0;while(1){f=c[b>>2]|0;b=c[f>>2]|0;if((c[b+12>>2]|0)==(d|0))break a;e=e+1|0;if(e>>>0<g>>>0)b=f+4|0;else{b=0;break}}}while(0);return ((e|0)==(g|0)?0:b)|0}function Fe(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(!((g|0)>0&(h|0)>0))return;j=0;i=b;f=c;while(1){b=0;do{a[f+b>>0]=a[i+b>>0]|0;b=b+1|0}while((b|0)!=(h|0));j=j+1|0;if((j|0)==(g|0))break;else{i=i+d|0;f=f+e|0}}return}function Ge(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((h|0)>0&(i|0)>0))return;s=g+1|0;l=g+2|0;m=g+3|0;n=g+4|0;o=g+5|0;p=g+6|0;q=g+7|0;k=0;while(1){j=0;do{u=r(d[b+(j+-3)>>0]|0,a[g>>0]|0)|0;u=(r(d[b+(j+-2)>>0]|0,a[s>>0]|0)|0)+u|0;u=(r(d[b+(j+-1)>>0]|0,a[l>>0]|0)|0)+u|0;u=(r(d[b+j>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[b+(j+1)>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[b+(j+2)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[b+(j+3)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[b+(j+4)>>0]|0,a[q>>0]|0)|0)+(u&65535)|0;t=(u<<16>>16)+32>>6;a[c+j>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function He(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(d[b+(x+j)>>0]|0,a[g>>0]|0)|0;z=(r(d[b+(m+j)>>0]|0,a[l>>0]|0)|0)+z|0;z=(r(d[b+(j-e)>>0]|0,a[n>>0]|0)|0)+z|0;z=(r(d[b+j>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[b+(j+e)>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[b+(s+j)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[b+(u+j)>>0]|0,a[t>>0]|0)|0)+z|0;z=(r(d[b+(w+j)>>0]|0,a[v>>0]|0)|0)+(z&65535)|0;y=(z<<16>>16)+32>>6;a[c+j>>0]=(z&65535)<<16>>16>16351?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Ie(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if(!((h|0)>0&(i|0)>0))return;k=0;j=a;g=c;while(1){a=0;do{b[g+(a<<1)>>1]=(d[j+a>>0]|0)<<6;a=a+1|0}while((a|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{j=j+e|0;g=g+(f<<1)|0}}return}function Je(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((i|0)>0&(j|0)>0))return;t=h+1|0;m=h+2|0;n=h+3|0;o=h+4|0;p=h+5|0;q=h+6|0;s=h+7|0;l=0;while(1){k=0;do{u=r(d[c+(k+-3)>>0]|0,a[h>>0]|0)|0;u=(r(d[c+(k+-2)>>0]|0,a[t>>0]|0)|0)+u|0;u=(r(d[c+(k+-1)>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[c+k>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[c+(k+1)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[c+(k+2)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[c+(k+3)>>0]|0,a[q>>0]|0)|0)+u|0;b[e+(k<<1)>>1]=(r(d[c+(k+4)>>0]|0,a[s>>0]|0)|0)+u;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Ke(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((i|0)>0&(j|0)>0))return;y=r(f,-3)|0;m=h+1|0;n=r(f,-2)|0;o=h+2|0;p=h+3|0;q=h+4|0;s=h+5|0;t=f<<1;u=h+6|0;v=f*3|0;w=h+7|0;x=f<<2;l=0;while(1){k=0;do{z=r(d[c+(y+k)>>0]|0,a[h>>0]|0)|0;z=(r(d[c+(n+k)>>0]|0,a[m>>0]|0)|0)+z|0;z=(r(d[c+(k-f)>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[c+k>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[c+(k+f)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[c+(t+k)>>0]|0,a[s>>0]|0)|0)+z|0;z=(r(d[c+(v+k)>>0]|0,a[u>>0]|0)|0)+z|0;b[e+(k<<1)>>1]=(r(d[c+(x+k)>>0]|0,a[w>>0]|0)|0)+z;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Le(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;z=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+z|0;z=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+z|0;z=(r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+z|0;y=(z>>6)+32>>6;a[d+j>>0]=(z|0)>1046527?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Me(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{y=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;y=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+y|0;y=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+y|0;y=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+y|0;y=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+y|0;y=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+y|0;b[d+(j<<1)>>1]=(((r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+y|0)>>>6)+57344;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ne(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((g|0)<=0)return;j=h<<1;if((h|0)<=0)return;i=0;f=c;while(1){h=0;do{a[f+h>>0]=a[b+h>>0]|0;h=h+1|0}while((h|0)<(j|0));i=i+1|0;if((i|0)==(g|0))break;else{b=b+d|0;f=f+e|0}}return}function Oe(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|0)<=0)return;n=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;j=0;while(1){i=0;do{o=i|1;q=a[g>>0]|0;u=r(d[b+(i+-2)>>0]|0,q)|0;q=r(d[b+(o+-2)>>0]|0,q)|0;t=a[k>>0]|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+o>>0]|0,t)|0)+q|0;t=a[l>>0]|0;s=i;i=i+2|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+(o+2)>>0]|0,t)|0)+q|0;t=a[m>>0]|0;u=(r(d[b+(s+4)>>0]|0,t)|0)+(u&65535)|0;q=(r(d[b+(o+4)>>0]|0,t)|0)+(q&65535)|0;t=(u<<16>>16)+32>>6;p=(q<<16>>16)+32>>6;a[c+s>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;a[c+o>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255}while((i|0)<(n|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Pe(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(d[b+(i-e)>>0]|0,a[g>>0]|0)|0;q=(r(d[b+i>>0]|0,a[k>>0]|0)|0)+q|0;q=(r(d[b+(i+e)>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[b+(n+i)>>0]|0,a[m>>0]|0)|0)+(q&65535)|0;p=(q<<16>>16)+32>>6;a[c+i>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Qe(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((h|0)<=0)return;k=i<<1;if((i|0)<=0)return;j=0;g=c;while(1){i=0;do{b[g+(i<<1)>>1]=(d[a+i>>0]|0)<<6;i=i+1|0}while((i|0)<(k|0));j=j+1|0;if((j|0)==(h|0))break;else{a=a+e|0;g=g+(f<<1)|0}}return}function Re(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((i|0)<=0)return;o=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;k=0;while(1){j=0;do{p=j|1;q=a[h>>0]|0;t=r(d[c+(j+-2)>>0]|0,q)|0;q=r(d[c+(p+-2)>>0]|0,q)|0;u=a[l>>0]|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+p>>0]|0,u)|0)+q|0;u=a[m>>0]|0;s=j;j=j+2|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+(p+2)>>0]|0,u)|0)+q|0;u=a[n>>0]|0;t=(r(d[c+(s+4)>>0]|0,u)|0)+t|0;q=(r(d[c+(p+4)>>0]|0,u)|0)+q&65535;b[e+(s<<1)>>1]=t;b[e+(p<<1)>>1]=q}while((j|0)<(o|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Se(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((i|0)<=0)return;p=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;o=f<<1;k=0;while(1){j=0;do{q=r(d[c+(j-f)>>0]|0,a[h>>0]|0)|0;q=(r(d[c+j>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[c+(j+f)>>0]|0,a[m>>0]|0)|0)+q|0;b[e+(j<<1)>>1]=(r(d[c+(o+j)>>0]|0,a[n>>0]|0)|0)+q;j=j+1|0}while((j|0)<(p|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Te(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;q=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+q|0;q=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+q|0;q=(r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+q|0;p=(q>>6)+32>>6;a[d+i>>0]=(q|0)>1046527?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Ue(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{p=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;p=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+p|0;p=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+p|0;b[d+(i<<1)>>1]=((r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+p|0)>>>6;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ve(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=f<<1;a:do if((g|0)>=78796)if((g|0)<131071){switch(g|0){case 78796:break a;default:{}}J(41507,41584,147,41618)}else{switch(g|0){case 131071:break a;default:{}}J(41507,41584,147,41618)}else{switch(g|0){case 70024:break a;default:{}}J(41507,41584,147,41618)}while(0);g=f+-4|0;switch(g>>>2|g<<30|0){case 0:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;We(h+e|0,c,f);We(h+(e+f)|0,c+f|0,f);return}case 1:case 3:case 7:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;ae(h+e|0,c,f);ae(h+(e+f)|0,c+f|0,f);return}default:J(41661,41584,183,41618)}}function We(a,b,c){a=a|0;b=b|0;c=c|0;Sk(a|0,b|0,c|0)|0;return}function Xe(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Sb;Sb=Sb+32|0;t=A;j=g<<2|1;y=g<<1;x=g*3|0;if(!h){if((j|0)<=0){Sb=A;return}Uk(i|0,-128,j|0)|0;Sb=A;return}if((g|0)<9){o=h>>>16&1;l=h&8;p=h>>>7&1;q=h>>>8&1;s=h>>>12&1;v=(o|0)==0;if(v)j=0;else j=a[b>>0]|0;w=i+y|0;a[w>>0]=j;u=(p|0)==0;if(!u){if((g|0)>0){k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}}else Ye(i+g|0,0,g);l=(l|0)==0;if(!l){if((y|0)>(g|0)){k=y+-1|0;j=g;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ye(i,0,g);k=(q|0)==0;j=y|1;m=i+j|0;if(k)Ye(m,0,g);else We(m,d,g);n=(s|0)==0;j=i+(j+g)|0;if(n)Ye(j,0,g);else We(j,d+g|0,g);if(l){c[t>>2]=0;c[t+4>>2]=p;c[t+8>>2]=o;c[t+12>>2]=q;c[t+16>>2]=s;if(!p){j=2;while(1)if(!(c[t+(j<<2)>>2]|0))j=j+1|0;else break}else j=1;if(j>>>0<3){j=r(j,g)|0;if((j|0)>0)Uk(i|0,a[i+j>>0]|0,j|0)|0}else{t=r(j+-1|0,g)|0;j=t+1|0;if((t|0)>=0)Uk(i|0,a[i+j>>0]|0,j|0)|0}}if(u)Ye(i+g|0,a[i+(g+-1)>>0]|0,g);if(v)a[w>>0]=a[i+(y+-1)>>0]|0;if(k)Ye(m,a[w>>0]|0,g);if(n)Ye(i+(x+1)|0,a[i+x>>0]|0,g)}switch(g|0){case 16:{k=h&192;m=h>>>2&3|k>>>4;l=h&768;n=h&12288;o=n>>>6|l>>>4;p=h&65536;q=o|m|p>>>8;p=(p|0)==0;if(p)j=0;else j=a[b>>0]|0;a[i+y>>0]=j;if(!k)Ze(i+16|0,0,16);else{a[i+(y+-1)>>0]=a[e>>0]|0;a[i+(y+-2)>>0]=a[e+f>>0]|0;a[i+(y+-3)>>0]=a[e+(f<<1)>>0]|0;a[i+(y+-4)>>0]=a[e+(f*3|0)>>0]|0;a[i+(y+-5)>>0]=a[e+(f<<2)>>0]|0;a[i+(y+-6)>>0]=a[e+(f*5|0)>>0]|0;a[i+(y+-7)>>0]=a[e+(f*6|0)>>0]|0;a[i+(y+-8)>>0]=a[e+(f*7|0)>>0]|0;a[i+(y+-9)>>0]=a[e+(f<<3)>>0]|0;a[i+(y+-10)>>0]=a[e+(f*9|0)>>0]|0;a[i+(y+-11)>>0]=a[e+(f*10|0)>>0]|0;a[i+(y+-12)>>0]=a[e+(f*11|0)>>0]|0;a[i+(y+-13)>>0]=a[e+(f*12|0)>>0]|0;a[i+(y+-14)>>0]=a[e+(f*13|0)>>0]|0;a[i+(y+-15)>>0]=a[e+(f*14|0)>>0]|0;a[i+(y+-16)>>0]=a[e+(f*15|0)>>0]|0}if(!(h&8))Ze(i+8|0,0,8);else{a[i+(y+-17)>>0]=a[e+(f<<4)>>0]|0;a[i+(y+-18)>>0]=a[e+(f*17|0)>>0]|0;a[i+(y+-19)>>0]=a[e+(f*18|0)>>0]|0;a[i+(y+-20)>>0]=a[e+(f*19|0)>>0]|0;a[i+(y+-21)>>0]=a[e+(f*20|0)>>0]|0;a[i+(y+-22)>>0]=a[e+(f*21|0)>>0]|0;a[i+(y+-23)>>0]=a[e+(f*22|0)>>0]|0;a[i+(y+-24)>>0]=a[e+(f*23|0)>>0]|0}if(h&4){if((g|0)>12){k=y+-1|0;j=24;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ze(i,0,8);j=y|1;k=i+j|0;if(!l)Ze(k,0,16);else ae(k,d,16);j=i+(j+16)|0;if(!n)Ze(j,0,16);else ae(j,d+16|0,16);j=(Mk(m|0)|0)<<3;j=(m|0)==0?64:j;j=(j|0)==64?32:j;if(!(p&(j|0)==32))if(!j)j=0;else z=64;else{j=((Mk(o>>>4|0)|0)<<3)+33|0;j=(o|0)==0?97:j;z=64}if((z|0)==64){z=~j;z=(z|0)>-2?z:-2;Uk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=65){Sb=A;return}}if(!p){do{k=(j|0)==32;if(!k?(1<<(j>>3)&q|0)==0:0)Ze(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}l=i+32|0;m=i+31|0;do{k=(j|0)==32;if(!k){if(!(1<<(j>>3)&q))Ze(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}case 32:{l=h&65536;m=(l|0)!=0;if(m)j=a[b>>0]|0;else j=0;a[i+y>>0]=j;if(!(h&240))Ze(i+g|0,0,g);else{k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}if(!(h&8))Ze(i+24|0,0,8);else{x=y+-1|0;a[i+(x-g)>>0]=a[e+(r(g,f)|0)>>0]|0;b=g+1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+2|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+3|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+4|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+5|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+6|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+7|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&4))Ze(i+16|0,0,8);else{b=g+8|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+9|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+10|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+11|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+12|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+13|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+14|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+15|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&2))Ze(i+8|0,0,8);else{b=g+16|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+17|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+18|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+19|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+20|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+21|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+22|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+23|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(h&1){j=g+24|0;if((j|0)<(y|0)){k=y+-1|0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else Ze(i,0,8);j=y|1;k=i+j|0;if(!(h&3840))Ze(k,0,g);else ae(k,d,g);j=i+(j+g)|0;if(!(h&61440))Ze(j,0,g);else ae(j,d+g|0,g);d=h&255;j=(Mk(d|0)|0)<<3;j=(d|0)==0?64:j;if(!((l|0)==0&(j|0)==64))if(!j)j=0;else z=106;else{z=h>>>8&255;j=((Mk(z|0)|0)<<3)+65|0;j=(z|0)==0?129:j;z=106}if((z|0)==106){z=~j;z=(z|0)>-2?z:-2;Uk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=129){Sb=A;return}}if(m){do{k=(j|0)==64;if(!k?(1<<(j>>3)&h|0)==0:0)Ze(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}l=i+64|0;m=i+63|0;do{k=(j|0)==64;if(!k){if(!(1<<(j>>3)&h))Ze(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}default:{Sb=A;return}}}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;Uk(a|0,b|0,c|0)|0;return}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;Uk(a|0,b|0,c|0)|0;return}function _e(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=Sb;Sb=Sb+272|0;l=m;k=c<<2;i=d[25424+f>>0]|0;h=1<<(Mk(c|0)|0)+-2;if(!(((c|0)==0?0:h)&i)){if((b|0)==(e|0)){Sb=m;return}g=k|1;if((g|0)<=0){Sb=m;return}f=0;do{a[e+f>>0]=a[b+f>>0]|0;f=f+1|0}while((f|0)!=(g|0));Sb=m;return}if((c|0)==32&(g|0)==1){g=a[b+64>>0]|0;h=g&255;p=a[b+k>>0]|0;i=p&255;o=i+h-((d[b+96>>0]|0)<<1)|0;f=a[b>>0]|0;c=f&255;n=c+h-((d[b+32>>0]|0)<<1)|0;a[l>>0]=f;a[l+k>>0]=p;if((((o|0)>0?o:0-o|0)|0)<8&(((n|0)>0?n:0-n|0)|0)<8){a[l+64>>0]=g;f=1;do{a[l+f>>0]=((r(f,h)|0)+32+(r(64-f|0,c)|0)|0)>>>6;f=f+1|0}while(f>>>0<64);f=1;do{a[l+(f+64)>>0]=((r(f,i)|0)+32+(r(64-f|0,h)|0)|0)>>>6;f=f+1|0}while(f>>>0<64)}else{i=127;j=13}}else{f=a[b>>0]|0;a[l>>0]=f;a[l+k>>0]=a[b+k>>0]|0;if((c|0)>0){i=k+-1|0;j=13}}if((j|0)==13){h=0;g=a[b+1>>0]|0;while(1){c=a[b+(h+2)>>0]|0;h=h+1|0;a[l+h>>0]=((f&255)+2+((g&255)<<1)+(c&255)|0)>>>2;if((h|0)>=(i|0))break;else{f=g;g=c}}}f=k|1;if((f|0)<=0){Sb=m;return}Sk(e|0,l|0,f|0)|0;Sb=m;return}function $e(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;q=g+-4|0;switch(q>>>2|q<<30|0){case 0:{n=3;break}case 3:{n=5;break}case 1:{n=4;break}default:n=6}c=g<<1;if((g|0)<=0)return;o=g+-1|0;p=c+-1|0;q=b+((g*3|0)+1)|0;i=c|1;j=b+o|0;h=0;do{k=b+(p-h)|0;l=o-h|0;m=r(h,f)|0;h=h+1|0;c=0;do{v=r(o-c|0,d[k>>0]|0)|0;s=c;c=c+1|0;u=r(c,d[q>>0]|0)|0;t=r(l,d[b+(s+i)>>0]|0)|0;a[e+(s+m)>>0]=v+g+u+t+(r(h,d[j>>0]|0)|0)>>n}while((c|0)!=(g|0))}while((h|0)!=(g|0));return}function af(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=g+-4|0;switch(m>>>2|m<<30|0){case 0:{j=3;break}case 3:{j=5;break}case 1:{j=4;break}default:j=6}k=g<<1;i=g*3|0;if((k|0)>(g|0)){c=0;h=g;do{c=c+(d[b+h>>0]|0)|0;h=h+1|0}while((h|0)!=(k|0))}else c=0;m=k|1;if((m|0)<=(i|0)){h=m;while(1){c=c+(d[b+h>>0]|0)|0;if((h|0)<(i|0))h=h+1|0;else break}}l=c+g>>j;i=l*3|0;if((g|0)==32){g=l&255;Uk(e|0,g|0,32)|0;Uk(e+f|0,g|0,32)|0;Uk(e+(f<<1)|0,g|0,32)|0;Uk(e+(f*3|0)|0,g|0,32)|0;Uk(e+(f<<2)|0,g|0,32)|0;Uk(e+(f*5|0)|0,g|0,32)|0;Uk(e+(f*6|0)|0,g|0,32)|0;Uk(e+(f*7|0)|0,g|0,32)|0;Uk(e+(f<<3)|0,g|0,32)|0;Uk(e+(f*9|0)|0,g|0,32)|0;Uk(e+(f*10|0)|0,g|0,32)|0;Uk(e+(f*11|0)|0,g|0,32)|0;Uk(e+(f*12|0)|0,g|0,32)|0;Uk(e+(f*13|0)|0,g|0,32)|0;Uk(e+(f*14|0)|0,g|0,32)|0;Uk(e+(f*15|0)|0,g|0,32)|0;Uk(e+(f<<4)|0,g|0,32)|0;Uk(e+(f*17|0)|0,g|0,32)|0;Uk(e+(f*18|0)|0,g|0,32)|0;Uk(e+(f*19|0)|0,g|0,32)|0;Uk(e+(f*20|0)|0,g|0,32)|0;Uk(e+(f*21|0)|0,g|0,32)|0;Uk(e+(f*22|0)|0,g|0,32)|0;Uk(e+(f*23|0)|0,g|0,32)|0;Uk(e+(f*24|0)|0,g|0,32)|0;Uk(e+(f*25|0)|0,g|0,32)|0;Uk(e+(f*26|0)|0,g|0,32)|0;Uk(e+(f*27|0)|0,g|0,32)|0;Uk(e+(f*28|0)|0,g|0,32)|0;Uk(e+(f*29|0)|0,g|0,32)|0;Uk(e+(f*30|0)|0,g|0,32)|0;Uk(e+(f*31|0)|0,g|0,32)|0;return}j=k+-1|0;a[e>>0]=((l<<1)+2+(d[b+j>>0]|0)+(d[b+m>>0]|0)|0)>>>2;k=(g|0)>1;if(!k)return;h=i+2|0;c=1;do{a[e+c>>0]=(h+(d[b+(c+m)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;h=i+2|0;c=1;do{a[e+(r(c,f)|0)>>0]=(h+(d[b+(j-c)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;i=l&255;j=f+1|0;c=g+-1|0;h=0;do{Uk(e+(j+(r(h,f)|0))|0,i|0,c|0)|0;h=h+1|0}while((h|0)!=(c|0));return}function bf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=g<<1;if((g|0)==32){h=k+-1|0;c=0;do{k=b+(h-c)|0;g=r(c,f)|0;a[e+g>>0]=a[k>>0]|0;a[e+(g+1)>>0]=a[k>>0]|0;a[e+(g+2)>>0]=a[k>>0]|0;a[e+(g+3)>>0]=a[k>>0]|0;a[e+(g+4)>>0]=a[k>>0]|0;a[e+(g+5)>>0]=a[k>>0]|0;a[e+(g+6)>>0]=a[k>>0]|0;a[e+(g+7)>>0]=a[k>>0]|0;a[e+(g+8)>>0]=a[k>>0]|0;a[e+(g+9)>>0]=a[k>>0]|0;a[e+(g+10)>>0]=a[k>>0]|0;a[e+(g+11)>>0]=a[k>>0]|0;a[e+(g+12)>>0]=a[k>>0]|0;a[e+(g+13)>>0]=a[k>>0]|0;a[e+(g+14)>>0]=a[k>>0]|0;a[e+(g+15)>>0]=a[k>>0]|0;a[e+(g+16)>>0]=a[k>>0]|0;a[e+(g+17)>>0]=a[k>>0]|0;a[e+(g+18)>>0]=a[k>>0]|0;a[e+(g+19)>>0]=a[k>>0]|0;a[e+(g+20)>>0]=a[k>>0]|0;a[e+(g+21)>>0]=a[k>>0]|0;a[e+(g+22)>>0]=a[k>>0]|0;a[e+(g+23)>>0]=a[k>>0]|0;a[e+(g+24)>>0]=a[k>>0]|0;a[e+(g+25)>>0]=a[k>>0]|0;a[e+(g+26)>>0]=a[k>>0]|0;a[e+(g+27)>>0]=a[k>>0]|0;a[e+(g+28)>>0]=a[k>>0]|0;a[e+(g+29)>>0]=a[k>>0]|0;a[e+(g+30)>>0]=a[k>>0]|0;a[e+(g+31)>>0]=a[k>>0]|0;c=c+1|0}while((c|0)!=32);return}if((g|0)<=0)return;h=b+(k+-1)|0;i=k|1;j=b+k|0;c=0;do{l=((d[b+(c+i)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;l=(l|0)>0?l:0;a[e+c>>0]=(l|0)<255?l:255;c=c+1|0}while((c|0)!=(g|0));if((g|0)<=1)return;i=k+-1|0;c=1;do{j=b+(i-c)|0;k=r(c,f)|0;h=0;do{a[e+(h+k)>>0]=a[j>>0]|0;h=h+1|0}while((h|0)!=(g|0));c=c+1|0}while((c|0)!=(g|0));return}function cf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;k=g<<1;l=(g|0)>0;if((g|0)==32){h=k|1;i=b+h|0;j=b+(h+1)|0;k=b+(h+2)|0;l=b+(h+3)|0;g=b+(h+4)|0;m=b+(h+5)|0;n=b+(h+6)|0;o=b+(h+7)|0;p=b+(h+8)|0;q=b+(h+9)|0;s=b+(h+10)|0;t=b+(h+11)|0;u=b+(h+12)|0;v=b+(h+13)|0;w=b+(h+14)|0;x=b+(h+15)|0;y=b+(h+16)|0;z=b+(h+17)|0;A=b+(h+18)|0;B=b+(h+19)|0;C=b+(h+20)|0;D=b+(h+21)|0;E=b+(h+22)|0;F=b+(h+23)|0;G=b+(h+24)|0;H=b+(h+25)|0;I=b+(h+26)|0;J=b+(h+27)|0;K=b+(h+28)|0;L=b+(h+29)|0;M=b+(h+30)|0;h=b+(h+31)|0;c=0;do{b=r(c,f)|0;a[e+b>>0]=a[i>>0]|0;a[e+(b+1)>>0]=a[j>>0]|0;a[e+(b+2)>>0]=a[k>>0]|0;a[e+(b+3)>>0]=a[l>>0]|0;a[e+(b+4)>>0]=a[g>>0]|0;a[e+(b+5)>>0]=a[m>>0]|0;a[e+(b+6)>>0]=a[n>>0]|0;a[e+(b+7)>>0]=a[o>>0]|0;a[e+(b+8)>>0]=a[p>>0]|0;a[e+(b+9)>>0]=a[q>>0]|0;a[e+(b+10)>>0]=a[s>>0]|0;a[e+(b+11)>>0]=a[t>>0]|0;a[e+(b+12)>>0]=a[u>>0]|0;a[e+(b+13)>>0]=a[v>>0]|0;a[e+(b+14)>>0]=a[w>>0]|0;a[e+(b+15)>>0]=a[x>>0]|0;a[e+(b+16)>>0]=a[y>>0]|0;a[e+(b+17)>>0]=a[z>>0]|0;a[e+(b+18)>>0]=a[A>>0]|0;a[e+(b+19)>>0]=a[B>>0]|0;a[e+(b+20)>>0]=a[C>>0]|0;a[e+(b+21)>>0]=a[D>>0]|0;a[e+(b+22)>>0]=a[E>>0]|0;a[e+(b+23)>>0]=a[F>>0]|0;a[e+(b+24)>>0]=a[G>>0]|0;a[e+(b+25)>>0]=a[H>>0]|0;a[e+(b+26)>>0]=a[I>>0]|0;a[e+(b+27)>>0]=a[J>>0]|0;a[e+(b+28)>>0]=a[K>>0]|0;a[e+(b+29)>>0]=a[L>>0]|0;a[e+(b+30)>>0]=a[M>>0]|0;a[e+(b+31)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=32);return}if(!l)return;h=b+(k|1)|0;i=k+-1|0;j=b+k|0;c=0;do{M=((d[b+(i-c)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;M=(M|0)>0?M:0;a[e+(r(c,f)|0)>>0]=(M|0)<255?M:255;c=c+1|0}while((c|0)!=(g|0));if(!l)return;i=k|1;if((g|0)==1)return;h=0;do{j=r(h,f)|0;c=1;do{a[e+(c+j)>>0]=a[b+(c+i)>>0]|0;c=c+1|0}while((c|0)<(g|0));h=h+1|0}while((h|0)!=(g|0));return}function df(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((f|0)<=0)return;h=(f<<1)+-1|0;c=0;do{i=h+~c|0;g=0;do{a[d+((r(g,e)|0)+c)>>0]=a[b+(i-g)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+1|0}while((c|0)!=(f|0));return}function ef(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f<<1;j=(g|0)==18?-32:32;if((f|0)<=0)return;g=0;do{i=g;g=g+1|0;h=(r(g,j)|0)>>5;i=r(i,e)|0;c=0;do{l=c;c=c+1|0;a[d+(l+i)>>0]=a[b+(c+k+h)>>0]|0}while((c|0)!=(f|0))}while((g|0)!=(f|0));return}function ff(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;e=0;do{i=e;e=e+1|0;l=r(e,n)|0;k=l>>5;l=l&31;m=32-l|0;j=0;do{p=o-j-k|0;q=r(m,d[b+(p+-1)>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(q+16+(r(l,d[b+(p+-2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));return}function gf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;j=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-11<<2)>>2]|0;n=j+h|0;if((h|0)>=0){i=h+-1|0;e=0;while(1){a[j+(i+e)>>0]=a[b+(l-e)>>0]|0;if((e|0)==(h|0))break;else e=e+1|0}}m=n+-1|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[m+i>>0]=a[b+((e>>8)+l)>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}e=0;do{i=e;e=e+1|0;l=r(e,o)|0;k=l>>5;l=l&31;b=32-l|0;j=0;do{q=j+k|0;s=r(b,d[n+q>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(s+16+(r(l,d[m+(q+2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));Sb=p;return}function hf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;e=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-12<<2)>>2]|0;m=e+h|0;n=m+-1|0;if((h|0)>=0)Sk(e+(h+-1)|0,b+l|0,h+1|0)|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[n+i>>0]=a[b+(l-(e>>8))>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}i=0;do{b=i;i=i+1|0;k=r(i,o)|0;j=k>>5;k=k&31;l=32-k|0;b=r(b,g)|0;e=0;do{q=e+j|0;s=r(l,d[m+q>>0]|0)|0;a[f+(e+b)>>0]=(s+16+(r(k,d[n+(q+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));Sb=p;return}function jf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;i=0;do{m=i;i=i+1|0;k=r(i,n)|0;j=k&31;k=(k>>5)+o|0;l=32-j|0;m=r(m,g)|0;e=0;do{p=k+e|0;q=r(l,d[b+(p+1)>>0]|0)|0;a[f+(e+m)>>0]=(q+16+(r(j,d[b+(p+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));return}function kf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;j=1<<f+-1;k=d<<1;l=d*3|0;if(!(g&1)){i=b[a>>1]|0;o=a+(k<<1)|0;p=b[o>>1]|0;m=p+i|0;n=a+(l<<1)|0;h=b[n>>1]|0;p=h+p|0;h=i-h|0;i=(b[a+(d<<1)>>1]|0)*74|0;q=i+j|0;s=q+(m*29|0)+(p*55|0)>>f;s=(s|0)>-32768?s:-32768;b[c>>1]=(s|0)<32767?s:32767;p=q+(r(p,-29)|0)+(h*55|0)>>f;p=(p|0)>-32768?p:-32768;b[c+2>>1]=(p|0)<32767?p:32767;n=(((b[a>>1]|0)-(b[o>>1]|0)+(b[n>>1]|0)|0)*74|0)+j>>f;n=(n|0)>-32768?n:-32768;b[c+4>>1]=(n|0)<32767?n:32767;i=(m*55|0)+j+(h*29|0)-i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{s=c;q=s;b[q>>1]=0;b[q+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){s=b[h>>1]|0;n=h+(k<<1)|0;m=b[n>>1]|0;p=m+s|0;o=h+(l<<1)|0;q=b[o>>1]|0;m=q+m|0;q=s-q|0;s=(b[h+(d<<1)>>1]|0)*74|0;c=s+j|0;t=c+(p*29|0)+(m*55|0)>>f;t=(t|0)>-32768?t:-32768;b[i>>1]=(t|0)<32767?t:32767;m=c+(r(m,-29)|0)+(q*55|0)>>f;m=(m|0)>-32768?m:-32768;b[i+2>>1]=(m|0)<32767?m:32767;o=(((b[h>>1]|0)-(b[n>>1]|0)+(b[o>>1]|0)|0)*74|0)+j>>f;o=(o|0)>-32768?o:-32768;b[i+4>>1]=(o|0)<32767?o:32767;s=(p*55|0)+j+(q*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[i+6>>1]=(s|0)<32767?s:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){t=b[c>>1]|0;o=c+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=c+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[c+(d<<1)>>1]|0)*74|0;m=t+j|0;h=m+(q*29|0)+(n*55|0)>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[i+2>>1]=(n|0)<32767?n:32767;p=(((b[c>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[i+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[i+6>>1]=(t|0)<32767?t:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){t=b[h>>1]|0;o=h+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=h+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[h+(d<<1)>>1]|0)*74|0;m=t+j|0;l=m+(q*29|0)+(n*55|0)>>f;l=(l|0)>-32768?l:-32768;b[c>>1]=(l|0)<32767?l:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[c+2>>1]=(n|0)<32767?n:32767;p=(((b[h>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[c+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[c+6>>1]=(t|0)<32767?t:32767;return}else{t=c;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16;return}}function lf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;t=1<<f+-1;u=b[16820]|0;j=b[16828]|0;k=d*3|0;l=b[16821]|0;m=b[16829]|0;n=b[16816]|0;o=b[16824]|0;p=d<<1;q=b[16817]|0;s=b[16825]|0;if(!(g&1)){w=b[a+(d<<1)>>1]|0;h=r(w,u)|0;v=b[a+(k<<1)>>1]|0;h=(r(v,j)|0)+h|0;w=(r(m,v)|0)+(r(l,w)|0)|0;v=b[a>>1]|0;i=r(v,n)|0;x=b[a+(p<<1)>>1]|0;i=(r(x,o)|0)+i|0;v=(r(s,x)|0)+(r(q,v)|0)|0;x=h+t+i>>f;x=(x|0)>-32768?x:-32768;b[c>>1]=(x|0)<32767?x:32767;x=w+t+v>>f;x=(x|0)>-32768?x:-32768;b[c+2>>1]=(x|0)<32767?x:32767;v=t-w+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;i=t-h+i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){c=b[h+(d<<1)>>1]|0;w=r(c,u)|0;v=b[h+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;c=(r(m,v)|0)+(r(l,c)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;h=b[h+(p<<1)>>1]|0;x=(r(h,o)|0)+x|0;v=(r(s,h)|0)+(r(q,v)|0)|0;h=w+t+x>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;h=c+t+v>>f;h=(h|0)>-32768?h:-32768;b[i+2>>1]=(h|0)<32767?h:32767;v=t-c+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){h=b[c+(d<<1)>>1]|0;w=r(h,u)|0;v=b[c+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;h=(r(m,v)|0)+(r(l,h)|0)|0;v=b[c>>1]|0;x=r(v,n)|0;c=b[c+(p<<1)>>1]|0;x=(r(c,o)|0)+x|0;v=(r(s,c)|0)+(r(q,v)|0)|0;c=w+t+x>>f;c=(c|0)>-32768?c:-32768;b[i>>1]=(c|0)<32767?c:32767;c=h+t+v>>f;c=(c|0)>-32768?c:-32768;b[i+2>>1]=(c|0)<32767?c:32767;v=t-h+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){v=b[h+(d<<1)>>1]|0;w=r(v,u)|0;u=b[h+(k<<1)>>1]|0;w=(r(u,j)|0)+w|0;u=(r(m,u)|0)+(r(l,v)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;g=b[h+(p<<1)>>1]|0;x=(r(g,o)|0)+x|0;v=(r(s,g)|0)+(r(q,v)|0)|0;g=w+t+x>>f;g=(g|0)>-32768?g:-32768;b[c>>1]=(g|0)<32767?g:32767;g=u+t+v>>f;g=(g|0)>-32768?g:-32768;b[c+2>>1]=(g|0)<32767?g:32767;v=t-u+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[c+6>>1]=(x|0)<32767?x:32767;return}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16;return}}function mf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;T=Sb;Sb=Sb+16|0;M=T;R=1<<g+-1;S=e*3|0;j=e*5|0;k=e*7|0;l=b[16848]|0;m=e<<1;n=b[16880]|0;o=e*6|0;p=b[16849]|0;q=b[16881]|0;s=b[16832]|0;t=b[16864]|0;u=e<<2;v=b[16833]|0;w=b[16865]|0;x=b[16840]|0;y=b[16856]|0;z=b[16872]|0;A=b[16888]|0;B=b[16841]|0;C=b[16857]|0;D=b[16873]|0;E=b[16889]|0;F=M+4|0;G=b[16842]|0;H=b[16858]|0;I=b[16874]|0;J=b[16890]|0;K=M+8|0;L=b[16843]|0;N=b[16859]|0;O=b[16875]|0;P=b[16891]|0;Q=M+12|0;i=0;while(1){if(!(h&1)){W=b[a+(e<<1)>>1]|0;_=b[a+(S<<1)>>1]|0;Z=b[a+(j<<1)>>1]|0;V=b[a+(k<<1)>>1]|0;aa=(r(_,y)|0)+(r(W,x)|0)+(r(Z,z)|0)+(r(V,A)|0)|0;c[M>>2]=aa;$=(r(_,C)|0)+(r(W,B)|0)+(r(Z,D)|0)+(r(V,E)|0)|0;c[F>>2]=$;Y=(r(_,H)|0)+(r(W,G)|0)+(r(Z,I)|0)+(r(V,J)|0)|0;c[K>>2]=Y;V=(r(_,N)|0)+(r(W,L)|0)+(r(Z,O)|0)+(r(V,P)|0)|0;c[Q>>2]=V;Z=b[a+(m<<1)>>1]|0;W=r(Z,l)|0;_=b[a+(o<<1)>>1]|0;W=(r(_,n)|0)+W|0;Z=(r(q,_)|0)+(r(p,Z)|0)|0;_=b[a>>1]|0;X=r(_,s)|0;U=b[a+(u<<1)>>1]|0;X=(r(U,t)|0)+X|0;_=(r(w,U)|0)+(r(v,_)|0)|0;U=X+W+R|0;aa=U+aa>>g;aa=(aa|0)>-32768?aa:-32768;b[d>>1]=(aa|0)<32767?aa:32767;W=X-W+R|0;X=W-V>>g;X=(X|0)>-32768?X:-32768;b[d+8>>1]=(X|0)<32767?X:32767;X=_+Z+R|0;$=X+$>>g;$=($|0)>-32768?$:-32768;b[d+2>>1]=($|0)<32767?$:32767;Z=_-Z+R|0;_=Z-Y>>g;_=(_|0)>-32768?_:-32768;b[d+10>>1]=(_|0)<32767?_:32767;Y=Z+Y>>g;Y=(Y|0)>-32768?Y:-32768;b[d+4>>1]=(Y|0)<32767?Y:32767;X=X-(c[F>>2]|0)>>g;X=(X|0)>-32768?X:-32768;b[d+12>>1]=(X|0)<32767?X:32767;V=W+V>>g;V=(V|0)>-32768?V:-32768;b[d+6>>1]=(V|0)<32767?V:32767;U=U-(c[M>>2]|0)>>g;U=(U|0)>-32768?U:-32768;b[d+14>>1]=(U|0)<32767?U:32767}else{b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;b[d+12>>1]=0;b[d+14>>1]=0}i=i+1|0;if((i|0)==8)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0}}Sb=T;return}function nf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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;Fb=Sb;Sb=Sb+80|0;hb=Fb+48|0;nb=Fb+16|0;ub=Fb;p=1<<g+-1;x=e*3|0;D=e*5|0;J=e*7|0;P=e*9|0;W=e*11|0;aa=e*13|0;ga=e*15|0;na=e<<1;ta=e*6|0;za=e*10|0;Ga=e*14|0;Pa=b[16960]|0;Qa=e<<2;Ra=b[17088]|0;Sa=e*12|0;Ta=b[16896]|0;Ua=b[17024]|0;Va=e<<3;Wa=b[16961]|0;Xa=b[17089]|0;Ya=b[16897]|0;Za=b[17025]|0;_a=b[16912]|0;$a=b[16944]|0;ab=b[16976]|0;bb=b[17008]|0;cb=b[17040]|0;db=b[17072]|0;eb=b[17104]|0;fb=b[17136]|0;gb=b[16913]|0;ib=b[16945]|0;jb=b[16977]|0;kb=b[17009]|0;lb=b[17041]|0;mb=b[17073]|0;ob=b[17105]|0;pb=b[17137]|0;qb=nb+4|0;rb=b[16914]|0;sb=b[16946]|0;tb=b[16978]|0;vb=b[17010]|0;wb=b[17042]|0;xb=b[17074]|0;yb=b[17106]|0;zb=b[17138]|0;Ab=nb+8|0;Bb=b[16915]|0;Cb=b[16947]|0;Db=b[16979]|0;Eb=b[17011]|0;q=b[17043]|0;s=b[17075]|0;t=b[17107]|0;u=b[17139]|0;v=nb+12|0;w=b[16916]|0;y=b[16948]|0;z=b[16980]|0;A=b[17012]|0;B=b[17044]|0;C=b[17076]|0;E=b[17108]|0;F=b[17140]|0;G=nb+16|0;H=b[16917]|0;I=b[16949]|0;K=b[16981]|0;L=b[17013]|0;M=b[17045]|0;N=b[17077]|0;O=b[17109]|0;Q=b[17141]|0;R=nb+20|0;S=b[16918]|0;T=b[16950]|0;U=b[16982]|0;V=b[17014]|0;X=b[17046]|0;Y=b[17078]|0;Z=b[17110]|0;_=b[17142]|0;$=nb+24|0;ba=b[16919]|0;ca=b[16951]|0;da=b[16983]|0;ea=b[17015]|0;fa=b[17047]|0;ha=b[17079]|0;ia=b[17111]|0;ja=b[17143]|0;ka=nb+28|0;la=b[16928]|0;ma=b[16992]|0;oa=b[17056]|0;pa=b[17120]|0;qa=b[16929]|0;ra=b[16993]|0;sa=b[17057]|0;ua=b[17121]|0;va=ub+4|0;wa=b[16930]|0;xa=b[16994]|0;ya=b[17058]|0;Aa=b[17122]|0;Ba=ub+8|0;Ca=b[16931]|0;Da=b[16995]|0;Ea=b[17059]|0;Fa=b[17123]|0;Ha=ub+12|0;Ia=hb+16|0;Ja=hb+4|0;Ka=hb+20|0;La=hb+8|0;Ma=hb+24|0;Na=hb+12|0;Oa=hb+28|0;o=0;i=c[Ha>>2]|0;j=c[Ba>>2]|0;k=c[va>>2]|0;l=c[ub>>2]|0;while(1){if(!(h&1)){j=b[a+(e<<1)>>1]|0;n=b[a+(x<<1)>>1]|0;k=b[a+(D<<1)>>1]|0;l=b[a+(J<<1)>>1]|0;i=b[a+(P<<1)>>1]|0;Ib=b[a+(W<<1)>>1]|0;m=b[a+(aa<<1)>>1]|0;Hb=b[a+(ga<<1)>>1]|0;c[nb>>2]=(r(n,$a)|0)+(r(j,_a)|0)+(r(k,ab)|0)+(r(l,bb)|0)+(r(i,cb)|0)+(r(Ib,db)|0)+(r(m,eb)|0)+(r(Hb,fb)|0);c[qb>>2]=(r(n,ib)|0)+(r(j,gb)|0)+(r(k,jb)|0)+(r(l,kb)|0)+(r(i,lb)|0)+(r(Ib,mb)|0)+(r(m,ob)|0)+(r(Hb,pb)|0);c[Ab>>2]=(r(n,sb)|0)+(r(j,rb)|0)+(r(k,tb)|0)+(r(l,vb)|0)+(r(i,wb)|0)+(r(Ib,xb)|0)+(r(m,yb)|0)+(r(Hb,zb)|0);c[v>>2]=(r(n,Cb)|0)+(r(j,Bb)|0)+(r(k,Db)|0)+(r(l,Eb)|0)+(r(i,q)|0)+(r(Ib,s)|0)+(r(m,t)|0)+(r(Hb,u)|0);c[G>>2]=(r(n,y)|0)+(r(j,w)|0)+(r(k,z)|0)+(r(l,A)|0)+(r(i,B)|0)+(r(Ib,C)|0)+(r(m,E)|0)+(r(Hb,F)|0);c[R>>2]=(r(n,I)|0)+(r(j,H)|0)+(r(k,K)|0)+(r(l,L)|0)+(r(i,M)|0)+(r(Ib,N)|0)+(r(m,O)|0)+(r(Hb,Q)|0);c[$>>2]=(r(n,T)|0)+(r(j,S)|0)+(r(k,U)|0)+(r(l,V)|0)+(r(i,X)|0)+(r(Ib,Y)|0)+(r(m,Z)|0)+(r(Hb,_)|0);c[ka>>2]=(r(n,ca)|0)+(r(j,ba)|0)+(r(k,da)|0)+(r(l,ea)|0)+(r(i,fa)|0)+(r(Ib,ha)|0)+(r(m,ia)|0)+(r(Hb,ja)|0);Hb=b[a+(na<<1)>>1]|0;m=b[a+(ta<<1)>>1]|0;Ib=b[a+(za<<1)>>1]|0;i=b[a+(Ga<<1)>>1]|0;l=(r(m,ma)|0)+(r(Hb,la)|0)+(r(Ib,oa)|0)+(r(i,pa)|0)|0;k=(r(m,ra)|0)+(r(Hb,qa)|0)+(r(Ib,sa)|0)+(r(i,ua)|0)|0;j=(r(m,xa)|0)+(r(Hb,wa)|0)+(r(Ib,ya)|0)+(r(i,Aa)|0)|0;i=(r(m,Da)|0)+(r(Hb,Ca)|0)+(r(Ib,Ea)|0)+(r(i,Fa)|0)|0;Ib=b[a+(Qa<<1)>>1]|0;Hb=r(Ib,Pa)|0;m=b[a+(Sa<<1)>>1]|0;Hb=(r(m,Ra)|0)+Hb|0;n=b[a>>1]|0;Lb=r(n,Ta)|0;Kb=b[a+(Va<<1)>>1]|0;Lb=(r(Kb,Ua)|0)+Lb|0;Ib=(r(Xa,m)|0)+(r(Wa,Ib)|0)|0;n=(r(Za,Kb)|0)+(r(Ya,n)|0)|0;Kb=Hb+Lb|0;m=n-Ib|0;n=Ib+n|0;Hb=Lb-Hb|0;Lb=l+Kb|0;c[hb>>2]=Lb;Ib=Hb-i|0;c[Ia>>2]=Ib;Jb=k+n|0;c[Ja>>2]=Jb;Gb=m-j|0;c[Ka>>2]=Gb;m=j+m|0;c[La>>2]=m;n=n-k|0;c[Ma>>2]=n;Hb=i+Hb|0;c[Na>>2]=Hb;Kb=Kb-l|0;c[Oa>>2]=Kb;Lb=Lb+p+(c[nb>>2]|0)>>g;Lb=(Lb|0)>-32768?Lb:-32768;b[d>>1]=(Lb|0)<32767?Lb:32767;Kb=Kb+p-(c[ka>>2]|0)>>g;Kb=(Kb|0)>-32768?Kb:-32768;b[d+16>>1]=(Kb|0)<32767?Kb:32767;Jb=Jb+p+(c[qb>>2]|0)>>g;Jb=(Jb|0)>-32768?Jb:-32768;b[d+2>>1]=(Jb|0)<32767?Jb:32767;n=n+p-(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+18>>1]=(n|0)<32767?n:32767;n=c[Ab>>2]|0;m=m+p+n>>g;m=(m|0)>-32768?m:-32768;b[d+4>>1]=(m|0)<32767?m:32767;m=c[R>>2]|0;Gb=Gb+p-m>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+20>>1]=(Gb|0)<32767?Gb:32767;Gb=c[v>>2]|0;Hb=Hb+p+Gb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+6>>1]=(Hb|0)<32767?Hb:32767;Hb=c[G>>2]|0;Ib=Ib+p-Hb>>g;Ib=(Ib|0)>-32768?Ib:-32768;b[d+22>>1]=(Ib|0)<32767?Ib:32767;Hb=(c[Ia>>2]|0)+p+Hb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+8>>1]=(Hb|0)<32767?Hb:32767;Gb=(c[Na>>2]|0)+p-Gb>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+24>>1]=(Gb|0)<32767?Gb:32767;m=(c[Ka>>2]|0)+p+m>>g;m=(m|0)>-32768?m:-32768;b[d+10>>1]=(m|0)<32767?m:32767;n=(c[La>>2]|0)+p-n>>g;n=(n|0)>-32768?n:-32768;b[d+26>>1]=(n|0)<32767?n:32767;n=(c[Ma>>2]|0)+p+(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+12>>1]=(n|0)<32767?n:32767;n=(c[Ja>>2]|0)+p-(c[qb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+28>>1]=(n|0)<32767?n:32767;n=(c[Oa>>2]|0)+p+(c[ka>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+14>>1]=(n|0)<32767?n:32767;n=(c[hb>>2]|0)+p-(c[nb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+30>>1]=(n|0)<32767?n:32767}else{m=d;n=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}o=o+1|0;if((o|0)==16)break;else{h=h>>1;d=d+(f<<1)|0;a=a+2|0}}c[ub>>2]=l;c[va>>2]=k;c[Ba>>2]=j;c[Ha>>2]=i;Sb=Fb;return}function of(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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,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;oc=Sb;Sb=Sb+176|0;Rb=oc+112|0;Yb=oc+48|0;cc=oc+16|0;ic=oc;H=1<<g+-1;N=e*3|0;T=e*5|0;Z=e*7|0;ea=e*9|0;ka=e*11|0;qa=e*13|0;xa=e*15|0;Da=e*17|0;Ja=e*19|0;Qa=e*21|0;Wa=e*23|0;cb=e*25|0;nb=e*27|0;rb=e*29|0;sb=e*31|0;tb=e<<1;ub=e*6|0;vb=e*10|0;wb=e*14|0;xb=e*18|0;yb=e*22|0;zb=e*26|0;Ab=e*30|0;Bb=e<<2;Cb=e*12|0;Db=e*20|0;Eb=e*28|0;Fb=b[17408]|0;Gb=e<<3;Hb=b[17920]|0;Ib=e*24|0;Jb=b[17409]|0;Kb=b[17921]|0;Lb=b[17152]|0;Mb=b[17664]|0;Nb=e<<4;Ob=b[17153]|0;Pb=b[17665]|0;Qb=b[17216]|0;Tb=b[17344]|0;Ub=b[17472]|0;Vb=b[17600]|0;Wb=b[17728]|0;Xb=b[17856]|0;Zb=b[17984]|0;_b=b[18112]|0;$b=b[17217]|0;ac=b[17345]|0;bc=b[17473]|0;dc=b[17601]|0;ec=b[17729]|0;fc=b[17857]|0;gc=b[17985]|0;hc=b[18113]|0;jc=cc+4|0;kc=b[17218]|0;lc=b[17346]|0;mc=b[17474]|0;nc=b[17602]|0;B=b[17730]|0;C=b[17858]|0;D=b[17986]|0;E=b[18114]|0;F=cc+8|0;G=b[17219]|0;I=b[17347]|0;J=b[17475]|0;K=b[17603]|0;L=b[17731]|0;M=b[17859]|0;O=b[17987]|0;P=b[18115]|0;Q=cc+12|0;R=b[17220]|0;S=b[17348]|0;U=b[17476]|0;V=b[17604]|0;W=b[17732]|0;X=b[17860]|0;Y=b[17988]|0;_=b[18116]|0;$=cc+16|0;aa=b[17221]|0;ba=b[17349]|0;ca=b[17477]|0;da=b[17605]|0;fa=b[17733]|0;ga=b[17861]|0;ha=b[17989]|0;ia=b[18117]|0;ja=cc+20|0;la=b[17222]|0;ma=b[17350]|0;na=b[17478]|0;oa=b[17606]|0;pa=b[17734]|0;ra=b[17862]|0;sa=b[17990]|0;ta=b[18118]|0;ua=cc+24|0;va=b[17223]|0;wa=b[17351]|0;ya=b[17479]|0;za=b[17607]|0;Aa=b[17735]|0;Ba=b[17863]|0;Ca=b[17991]|0;Ea=b[18119]|0;Fa=cc+28|0;Ga=b[17280]|0;Ha=b[17536]|0;Ia=b[17792]|0;Ka=b[18048]|0;La=b[17281]|0;Ma=b[17537]|0;Na=b[17793]|0;Oa=b[18049]|0;Pa=ic+4|0;Ra=b[17282]|0;Sa=b[17538]|0;Ta=b[17794]|0;Ua=b[18050]|0;Va=ic+8|0;Xa=b[17283]|0;Ya=b[17539]|0;Za=b[17795]|0;_a=b[18051]|0;$a=ic+12|0;ab=Rb+32|0;bb=Rb+4|0;db=Rb+36|0;eb=Rb+8|0;fb=Rb+40|0;gb=Rb+12|0;hb=Rb+44|0;ib=Rb+16|0;jb=Rb+48|0;kb=Rb+20|0;lb=Rb+52|0;mb=Rb+24|0;ob=Rb+56|0;pb=Rb+28|0;qb=Rb+60|0;A=0;i=c[$a>>2]|0;j=c[Va>>2]|0;w=c[Pa>>2]|0;v=c[ic>>2]|0;t=c[Fa>>2]|0;u=c[ua>>2]|0;s=c[ja>>2]|0;q=c[$>>2]|0;p=c[Q>>2]|0;o=c[F>>2]|0;n=c[jc>>2]|0;k=c[cc>>2]|0;while(1){a:do if(!(h&1)){j=b[a+(e<<1)>>1]|0;k=b[a+(N<<1)>>1]|0;l=b[a+(T<<1)>>1]|0;m=b[a+(Z<<1)>>1]|0;n=b[a+(ea<<1)>>1]|0;o=b[a+(ka<<1)>>1]|0;p=b[a+(qa<<1)>>1]|0;q=b[a+(xa<<1)>>1]|0;s=b[a+(Da<<1)>>1]|0;t=b[a+(Ja<<1)>>1]|0;u=b[a+(Qa<<1)>>1]|0;v=b[a+(Wa<<1)>>1]|0;w=b[a+(cb<<1)>>1]|0;x=b[a+(nb<<1)>>1]|0;y=b[a+(rb<<1)>>1]|0;z=b[a+(sb<<1)>>1]|0;i=0;do{pc=r(j,b[34368+(i<<1)>>1]|0)|0;pc=(r(k,b[34496+(i<<1)>>1]|0)|0)+pc|0;pc=pc+(r(l,b[34624+(i<<1)>>1]|0)|0)|0;pc=pc+(r(m,b[34752+(i<<1)>>1]|0)|0)|0;pc=pc+(r(n,b[34880+(i<<1)>>1]|0)|0)|0;pc=pc+(r(o,b[35008+(i<<1)>>1]|0)|0)|0;pc=pc+(r(p,b[35136+(i<<1)>>1]|0)|0)|0;pc=pc+(r(q,b[35264+(i<<1)>>1]|0)|0)|0;pc=pc+(r(s,b[35392+(i<<1)>>1]|0)|0)|0;pc=pc+(r(t,b[35520+(i<<1)>>1]|0)|0)|0;pc=pc+(r(u,b[35648+(i<<1)>>1]|0)|0)|0;pc=pc+(r(v,b[35776+(i<<1)>>1]|0)|0)|0;pc=pc+(r(w,b[35904+(i<<1)>>1]|0)|0)|0;pc=pc+(r(x,b[36032+(i<<1)>>1]|0)|0)|0;pc=pc+(r(y,b[36160+(i<<1)>>1]|0)|0)|0;c[Yb+(i<<2)>>2]=pc+(r(z,b[36288+(i<<1)>>1]|0)|0);i=i+1|0}while((i|0)!=16);v=b[a+(tb<<1)>>1]|0;w=b[a+(ub<<1)>>1]|0;m=b[a+(vb<<1)>>1]|0;i=b[a+(wb<<1)>>1]|0;x=b[a+(xb<<1)>>1]|0;l=b[a+(yb<<1)>>1]|0;rc=b[a+(zb<<1)>>1]|0;t=b[a+(Ab<<1)>>1]|0;k=(r(w,Tb)|0)+(r(v,Qb)|0)+(r(m,Ub)|0)+(r(i,Vb)|0)+(r(x,Wb)|0)+(r(l,Xb)|0)+(r(rc,Zb)|0)+(r(t,_b)|0)|0;n=(r(w,ac)|0)+(r(v,$b)|0)+(r(m,bc)|0)+(r(i,dc)|0)+(r(x,ec)|0)+(r(l,fc)|0)+(r(rc,gc)|0)+(r(t,hc)|0)|0;o=(r(w,lc)|0)+(r(v,kc)|0)+(r(m,mc)|0)+(r(i,nc)|0)+(r(x,B)|0)+(r(l,C)|0)+(r(rc,D)|0)+(r(t,E)|0)|0;p=(r(w,I)|0)+(r(v,G)|0)+(r(m,J)|0)+(r(i,K)|0)+(r(x,L)|0)+(r(l,M)|0)+(r(rc,O)|0)+(r(t,P)|0)|0;q=(r(w,S)|0)+(r(v,R)|0)+(r(m,U)|0)+(r(i,V)|0)+(r(x,W)|0)+(r(l,X)|0)+(r(rc,Y)|0)+(r(t,_)|0)|0;s=(r(w,ba)|0)+(r(v,aa)|0)+(r(m,ca)|0)+(r(i,da)|0)+(r(x,fa)|0)+(r(l,ga)|0)+(r(rc,ha)|0)+(r(t,ia)|0)|0;u=(r(w,ma)|0)+(r(v,la)|0)+(r(m,na)|0)+(r(i,oa)|0)+(r(x,pa)|0)+(r(l,ra)|0)+(r(rc,sa)|0)+(r(t,ta)|0)|0;t=(r(w,wa)|0)+(r(v,va)|0)+(r(m,ya)|0)+(r(i,za)|0)+(r(x,Aa)|0)+(r(l,Ba)|0)+(r(rc,Ca)|0)+(r(t,Ea)|0)|0;rc=b[a+(Bb<<1)>>1]|0;l=b[a+(Cb<<1)>>1]|0;x=b[a+(Db<<1)>>1]|0;i=b[a+(Eb<<1)>>1]|0;m=(r(l,Ha)|0)+(r(rc,Ga)|0)+(r(x,Ia)|0)+(r(i,Ka)|0)|0;v=(r(l,Ma)|0)+(r(rc,La)|0)+(r(x,Na)|0)+(r(i,Oa)|0)|0;w=(r(l,Sa)|0)+(r(rc,Ra)|0)+(r(x,Ta)|0)+(r(i,Ua)|0)|0;i=(r(l,Ya)|0)+(r(rc,Xa)|0)+(r(x,Za)|0)+(r(i,_a)|0)|0;x=b[a+(Gb<<1)>>1]|0;rc=r(x,Fb)|0;l=b[a+(Ib<<1)>>1]|0;rc=(r(l,Hb)|0)+rc|0;x=(r(Kb,l)|0)+(r(Jb,x)|0)|0;l=b[a>>1]|0;y=r(l,Lb)|0;pc=b[a+(Nb<<1)>>1]|0;y=(r(pc,Mb)|0)+y|0;l=(r(Pb,pc)|0)+(r(Ob,l)|0)|0;pc=y+rc|0;rc=y-rc|0;y=l+x|0;x=l-x|0;l=m+pc|0;sc=rc-i|0;z=v+y|0;qc=x-w|0;x=w+x|0;y=y-v|0;rc=i+rc|0;pc=pc-m|0;j=k+l|0;c[Rb>>2]=j;c[ab>>2]=pc-t;c[bb>>2]=n+z;c[db>>2]=y-u;c[eb>>2]=o+x;c[fb>>2]=qc-s;c[gb>>2]=p+rc;c[hb>>2]=sc-q;c[ib>>2]=q+sc;c[jb>>2]=rc-p;c[kb>>2]=s+qc;c[lb>>2]=x-o;c[mb>>2]=u+y;c[ob>>2]=z-n;c[pb>>2]=t+pc;c[qb>>2]=l-k;l=0;while(1){j=j+H+(c[Yb+(l<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l<<1)>>1]=(j|0)<32767?j:32767;j=15-l|0;j=(c[Rb+(j<<2)>>2]|0)+H-(c[Yb+(j<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l+16<<1)>>1]=(j|0)<32767?j:32767;j=l+1|0;if((j|0)==16){l=v;j=w;break a}l=j;j=c[Rb+(j<<2)>>2]|0}}else{l=d;m=l+64|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));m=v;l=w}while(0);A=A+1|0;if((A|0)==32)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0;w=l;v=m}}c[cc>>2]=k;c[jc>>2]=n;c[F>>2]=o;c[Q>>2]=p;c[$>>2]=q;c[ja>>2]=s;c[ua>>2]=u;c[Fa>>2]=t;c[ic>>2]=m;c[Pa>>2]=l;c[Va>>2]=j;c[$a>>2]=i;Sb=oc;return}function pf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=h<<1;p=h*3|0;if(!(k&1)){o=b[c>>1]|0;t=c+(q<<1)|0;u=b[t>>1]|0;n=u+o|0;s=c+(p<<1)|0;l=b[s>>1]|0;u=l+u|0;l=o-l|0;o=(b[c+(h<<1)>>1]|0)*74|0;m=(u*55|0)+(n*29|0)+o|0;m=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;b[e>>1]=m;u=(l*55|0)+(r(u,-29)|0)+o|0;b[e+2>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;s=((b[c>>1]|0)-(b[t>>1]|0)+(b[s>>1]|0)|0)*74|0;b[e+4>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;o=(l*29|0)+(n*55|0)-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{m=e;u=m;b[u>>1]=0;b[u+2>>1]=0>>>16;m=m+4|0;b[m>>1]=0;b[m+2>>1]=0>>>16;m=0}l=c+2|0;n=e+8|0;if(!(k&2)){t=b[l>>1]|0;w=l+(q<<1)|0;x=b[w>>1]|0;s=x+t|0;v=l+(p<<1)|0;o=b[v>>1]|0;x=o+x|0;o=t-o|0;t=(b[l+(h<<1)>>1]|0)*74|0;u=(x*55|0)+(s*29|0)+t|0;u=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;b[n>>1]=u;n=(o*55|0)+(r(x,-29)|0)+t|0;b[e+10>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=((b[l>>1]|0)-(b[w>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+12>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=(o*29|0)+(s*55|0)-t|0;b[e+14>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=u}else{x=n;b[x>>1]=0;b[x+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+4|0;o=e+16|0;if(!(k&4)){x=b[l>>1]|0;t=l+(q<<1)|0;s=b[t>>1]|0;w=s+x|0;u=l+(p<<1)|0;v=b[u>>1]|0;s=v+s|0;v=x-v|0;x=(b[l+(h<<1)>>1]|0)*74|0;y=(s*55|0)+(w*29|0)+x|0;b[o>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535;s=(v*55|0)+(r(s,-29)|0)+x|0;b[e+18>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;u=((b[l>>1]|0)-(b[t>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+20>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;x=(v*29|0)+(w*55|0)-x|0;b[e+22>>1]=(x|0)>4194239?32767:(x|0)<-4194368?-32768:(x+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}l=c+6|0;o=e+24|0;if(!(k&8)){y=b[l>>1]|0;u=l+(q<<1)|0;t=b[u>>1]|0;x=t+y|0;v=l+(p<<1)|0;w=b[v>>1]|0;t=w+t|0;w=y-w|0;y=(b[l+(h<<1)>>1]|0)*74|0;s=(t*55|0)+(x*29|0)+y|0;b[o>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;t=(w*55|0)+(r(t,-29)|0)+y|0;b[e+26>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;v=((b[l>>1]|0)-(b[u>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+28>>1]=(v|0)>4194239?32767:(v|0)<-4194368?-32768:(v+64|0)>>>7&65535;y=(w*29|0)+(x*55|0)-y|0;b[e+30>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}o=f;l=0;while(1){m=m<<16>>16;v=e+16|0;u=b[v>>1]|0;y=u+m|0;w=e+24|0;x=b[w>>1]|0;u=x+u|0;x=m-x|0;m=(n<<16>>16)*74|0;t=(u*55|0)+(y*29|0)+m|0;t=((t|0)>134215679?32767:(t|0)<-134219776?-32768:t+2048>>12)+(d[o>>0]|0)|0;t=(t|0)>0?t:0;a[g>>0]=(t|0)<255?t:255;u=(x*55|0)+(r(u,-29)|0)+m|0;u=((u|0)>134215679?32767:(u|0)<-134219776?-32768:u+2048>>12)+(d[o+1>>0]|0)|0;u=(u|0)>0?u:0;a[g+1>>0]=(u|0)<255?u:255;w=((b[e>>1]|0)-(b[v>>1]|0)+(b[w>>1]|0)|0)*74|0;w=((w|0)>134215679?32767:(w|0)<-134219776?-32768:w+2048>>12)+(d[o+2>>0]|0)|0;w=(w|0)>0?w:0;a[g+2>>0]=(w|0)<255?w:255;m=(x*29|0)+(y*55|0)-m|0;m=((m|0)>134215679?32767:(m|0)<-134219776?-32768:m+2048>>12)+(d[o+3>>0]|0)|0;m=(m|0)>0?m:0;a[g+3>>0]=(m|0)<255?m:255;m=e+2|0;l=l+1|0;if((l|0)==4)break;n=b[e+10>>1]|0;o=o+i|0;g=g+j|0;e=m;m=b[m>>1]|0}return}function qf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[g+1>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+2>>0]|0)|0;k=(k|0)>0?k:0;a[g+2>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+3>>0]|0)|0;C=(C|0)>0?C:0;a[g+3>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+2>>0]|0)|0;k=(k|0)>0?k:0;a[D+2>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+3>>0]|0)|0;f=(f|0)>0?f:0;a[D+3>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;B=(B|0)>0?B:0;a[D+3>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+1>>0]|0)|0;f=(f|0)>0?f:0;a[D+1>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+2>>0]|0)|0;i=(i|0)>0?i:0;a[D+2>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;C=(C|0)>0?C:0;a[D+3>>0]=(C|0)<255?C:255;return} |
| | | function rf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=l;while(1){if(!(m&1)){wb=b[e+(i<<1)>>1]|0;zb=b[e+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[e+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;l=r(zb,U)|0;c[V>>2]=l;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[e>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-l|0;c[_>>2]=Ab;l=l+sb|0;c[$>>2]=l;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[K>>2]|0;Ab=Ab-l|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;l=l+(c[_>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{e=e+2|0;n=n+32|0;m=m>>1}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;e=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;e=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){tb=b[e+(i<<1)>>1]|0;Bb=b[e+(yb<<1)>>1]|0;vb=b[e+(zb<<1)>>1]|0;qb=b[e+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[e+(p<<1)>>1]|0;vb=b[e+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[e+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[e>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;l=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=l-ob|0;c[va>>2]=xb;l=ob+l|0;c[wa>>2]=l;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[n>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[n+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[n+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Z>>2]|0;xb=xb-l|0;b[n+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[n+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[n+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[n+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[n+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;l=l+(c[va>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){Rb=b[e+(i<<1)>>1]|0;Qb=b[e+(yb<<1)>>1]|0;Bb=b[e+(zb<<1)>>1]|0;Ob=b[e+(Ab<<1)>>1]|0;Pb=b[e+(p<<1)>>1]|0;Mb=b[e+(q<<1)>>1]|0;l=b[e+(s<<1)>>1]|0;Kb=b[e+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(l,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(l,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(l,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(l,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(l,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(l,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(l,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(l,Xa)|0)+(r(Kb,Ya)|0);Kb=b[e+(u<<1)>>1]|0;l=b[e+(v<<1)>>1]|0;Mb=b[e+(w<<1)>>1]|0;Pb=b[e+(x<<1)>>1]|0;Ob=(r(l,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(l,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(l,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(l,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[e+(z<<1)>>1]|0;Kb=r(Mb,y)|0;l=b[e+(B<<1)>>1]|0;Kb=(r(l,A)|0)+Kb|0;Qb=b[e>>1]|0;Lb=r(Qb,C)|0;Nb=b[e+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,l)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;l=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=l-Rb|0;c[tb>>2]=Jb;l=Rb+l|0;c[ub>>2]=l;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[n>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[n+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[n+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Ha>>2]|0;Jb=Jb-l|0;b[n+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[n+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[n+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[n+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[n+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;l=l+(c[tb>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)-(c[D>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[D>>2]|0)+(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[na>>2]|0)-(c[O>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[O>>2]|0)+(c[na>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[db>>2]|0)-(c[ka>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[ka>>2]|0)+(c[db>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}} |
| | | function tk(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=Sb;Sb=Sb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(uk(a,b,0)|0))if(((b|0)!=0?(e=Zj(b,38632,38720,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(Vj(c[a>>2]|0,c[b>>2]|0,0)|0)?!(Vj(c[a>>2]|0,38752,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=Zj(a,38632,38616,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=Zj(f,38632,38616,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;cc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Sb=j;return a|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;if(Vj(a,b,0)|0)a=1;else a=Vj(b,38760,0)|0;return a|0}function vk(a){a=a|0;Nj(a);rj(a);return}function wk(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(Vj(b,c[d+8>>2]|0,h)|0)Yj(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;Ak(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;Ak(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function xk(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(!(Vj(b,c[d+8>>2]|0,g)|0)){if(!(Vj(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;Bk(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;Bk(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;Bk(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;Bk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;Ak(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Xj(0,d,e,f);while(0);return}function yk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(Vj(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;zk(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{zk(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else Wj(0,d,e,f);while(0);return}function zk(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;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function Ak(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;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function Bk(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;dc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function Ck(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Dk(a){a=a|0;return}function Ek(a){a=a|0;return}function Fk(){var a=0;a=c[11843]|0;c[11843]=a+0;return a|0}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[e>>2]=c[d>>2];a=Yb[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Sb=f;return a&1|0}function Hk(a){a=a|0;if(!a)a=0;else a=(Zj(a,38632,38720,0)|0)!=0&1;return a|0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Jk(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=Ik(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function Kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function Mk(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (u(o|0),p)|0}else{p=Mk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Mk(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Kk(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Lk(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Lk(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nk(a,b,c,d,0)|0}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function Rk(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){La(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 Tk(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 Sk(b,c,d)|0;return b|0}function Uk(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 Vk(a){a=a|0;var b=0,d=0,e=0;e=Ia()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Sa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(Ma(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function Wk(a,b){a=a|0;b=b|0;return Vb[a&7](b|0)|0}function Xk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&3](b|0,c|0)|0}function Zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function _k(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&1](b|0,c|0,d|0,e|0)|0}function $k(a){a=a|0;_b[a&3]()}function al(a,b){a=a|0;b=b|0;$b[a&31](b|0)}function bl(a,b,c){a=a|0;b=b|0;c=c|0;ac[a&31](b|0,c|0)}function cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bc[a&15](b|0,c|0,d|0)}function dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cc[a&7](b|0,c|0,d|0,e|0)}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;dc[a&7](b|0,c|0,d|0,e|0,f|0)}function fl(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;ec[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function gl(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;fc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function hl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function il(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;hc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function jl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ic[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function kl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;jc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function ll(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;kc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function ml(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;lc[a&1](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)}function nl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;mc[a&1](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)}function ol(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;nc[a&1](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)}function pl(a){a=a|0;t(0);return 0}function ql(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function rl(a,b){a=a|0;b=b|0;t(2);return 0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function ul(){t(5)}function vl(){O()}function wl(a){a=a|0;t(6)}function xl(a,b){a=a|0;b=b|0;t(7)}function yl(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function Al(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function Bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)}function Cl(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;t(12)}function Dl(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;t(13)}function El(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;t(14)}function Fl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;t(15)}function Gl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;t(16)}function Hl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;t(17)}function Il(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;t(18)}function Jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;t(19)}function Kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t(20)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Vb=[pl,qi,lk,nd,wd,yd,zd,pl];var Wb=[ql,Bi];var Xb=[rl,sd,ud,rl];var Yb=[sl,ri,wi,Xi,Rj,rk,tk,Cd,Sd,tc,Gg,sl,sl,sl,sl,sl];var Zb=[tl,si];var _b=[ul,vl,Kj,dk];var $b=[wl,Dd,Ed,Gd,Jd,Kd,Ld,Md,gd,Od,Pd,Nj,Oj,Pj,Qj,_j,jk,kk,pk,qk,sk,vk,od,zc,Ac,xd,Bd,Oh,ek,wl,wl,wl];var ac=[xl,Yc,xc,yc,rd,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Ad,uc,Ci,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl,xl];var bc=[yl,Xc,Nd,Qd,pd,qd,td,vd,ae,We,Ze,Ye,uf,be,yl,yl];var cc=[zl,Uj,bk,yk,xf,yf,zf,Af];var dc=[Al,Tj,ak,xk,_e,Al,Al,Al];var ec=[Bl,Sj,$j,wk,de,ee,ge,he,le,ie,ce,fe,je,ke,gf,hf,af,bf,df,ef,jf,ff,$e,cf,kf,lf,mf,nf,of,og,pg,Bl];var fc=[Cl,Ne,Qe,Oe,Re,Pe,Te,Ue,Se,Ge,He,Ke,Le,Fe,Ie,Je,Me,Bf,Cf,Df,Ef,Ff,pe,qe,re,Cl,Cl,Cl,Cl,Cl,Cl,Cl];var gc=[Dl,$d,Xe,Ve];var hc=[El,ve,ue,se,te,pf,qf,tf,rf,sf,me,oe,ne,Gf,kg,lg];var ic=[Fl,Uf,Qf,Vf,mg,Fl,Fl,Fl];var jc=[Gl,Hf,If,Kf,Mf,Of,Gl,Gl];var kc=[Hl,Rf,Jf,Lf,Nf,Pf,Hl,Hl];var lc=[Il,ng];var mc=[Jl,Sf];var nc=[Kl,Tf];return{___cxa_can_catch:Gk,___cxa_is_pointer_type:Hk,___errno_location:ui,___getTypeName:pi,___muldi3:Jk,___udivdi3:Ok,_bitshift64Lshr:Pk,_bitshift64Shl:Qk,_free:hj,_i64Add:Kk,_i64Subtract:Lk,_llvm_bswap_i32:Rk,_llvm_cttz_i32:Mk,_main:vc,_malloc:gj,_memcpy:Sk,_memmove:Tk,_memset:Uk,_sbrk:Vk,_strlen:Zi,dynCall_ii:Wk,dynCall_iidiiii:Xk,dynCall_iii:Yk,dynCall_iiii:Zk,dynCall_iiiii:_k,dynCall_v:$k,dynCall_vi:al,dynCall_vii:bl,dynCall_viii:cl,dynCall_viiii:dl,dynCall_viiiii:el,dynCall_viiiiii:fl,dynCall_viiiiiii:gl,dynCall_viiiiiiii:hl,dynCall_viiiiiiiii:il,dynCall_viiiiiiiiii:jl,dynCall_viiiiiiiiiii:kl,dynCall_viiiiiiiiiiii:ll,dynCall_viiiiiiiiiiiii:ml,dynCall_viiiiiiiiiiiiiii:nl,dynCall_viiiiiiiiiiiiiiiiiii:ol,establishStackSpace:sc,globalCtors:oc,stackAlloc:pc,stackRestore:rc,stackSave:qc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(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 tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}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 wasmMemory;var wasmTable=new WebAssembly.Table({"initial":1552,"maximum":1552+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}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}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=8706896,DYNAMICTOP_PTR=3463856;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);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 __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 initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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 getUniqueRunDependency(id){return id}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"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_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}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;try{bytesRead=nodeFS.readSync(process.stdin.fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer.buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;var fromHeap=buffer.buffer==HEAP8.buffer;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(48)}(fromHeap?HEAP8:buffer).set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(10)}if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;err("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(29);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall221(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function detachFinalizer(handle){}var finalizationGroup=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=function(handle){return handle};return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=function(handle){finalizationGroup.register(handle,handle.$$,handle.$$);return handle};detachFinalizer=function(handle){finalizationGroup.unregister(handle.$$)};return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var dc=Module["dynCall_"+signature];var fp=makeDynCaller(dc);if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",3463920,4),3463920);function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},play:function(url){console.log("Jessibuca play",url);if(url.indexOf("http")==0){this.$play(url);return}var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},fetch:function(url){var _this=this;this.controller=new AbortController;var signal=this.controller.signal;fetch(url,{signal:signal}).then(function(res){var reader=res.body.getReader();_this.fetchNext=function(){reader.read().then(({done:done,value:value})=>_this.onFetchData({done:done,data:value}))};_this.fetchNext()}).catch(console.error)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;if(this.ws){this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null}if(this.controller)this.controller.abort();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i<channels;i++){this.buffersA.push([])}postMessage({cmd:"initAudioPlanar",samplerate:samplerate,channels:channels})},playAudioPlanar(data,len){var outputArray=[];var frameCount=len/4/this.buffersA.length;for(var i=0;i<this.buffersA.length;i++){var fp=HEAPU32[(data>>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;j<buffer.length;j++){buffer[j]=float32[j]}}else{buffer=Float32Array.from(float32)}outputArray[i]=buffer}this.audioCache.push(outputArray);if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache.flatMap(outputArray=>outputArray.map(x=>x.buffer)));this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(compositionTime){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray,compositionTime:compositionTime},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffer[0]);decoder.buffers[1].push(msg.buffer[1]);decoder.buffers[2].push(msg.buffer[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));break;case"setVideoBuffer":decoder.videoBuffer=msg.time*1e3|0;break;case"close":decoder.close();break}}}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _setTempRet0($i){setTempRet0($i|0)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"R":___cxa_allocate_exception,"Q":___cxa_throw,"M":___syscall221,"J":___syscall3,"L":___syscall5,"P":__embind_create_inheriting_constructor,"F":__embind_register_bool,"z":__embind_register_class,"v":__embind_register_class_class_function,"o":__embind_register_class_function,"n":__embind_register_class_property,"E":__embind_register_emval,"u":__embind_register_float,"h":__embind_register_integer,"f":__embind_register_memory_view,"w":__embind_register_std_string,"r":__embind_register_std_wstring,"G":__embind_register_void,"k":__emval_as,"s":__emval_call,"S":__emval_call_method,"g":__emval_call_void_method,"b":__emval_decref,"q":__emval_get_global,"e":__emval_get_method_caller,"m":__emval_get_property,"l":__emval_incref,"U":__emval_new,"d":__emval_new_cstring,"T":__emval_new_object,"i":__emval_run_destructors,"p":__emval_set_property,"j":__emval_take_value,"a":_abort,"t":_clock,"c":_emscripten_log,"C":_emscripten_memcpy_big,"D":_emscripten_resize_heap,"H":_environ_get,"I":_environ_sizes_get,"y":_fd_close,"K":_fd_fdstat_get,"A":_fd_seek,"x":_fd_write,"N":_gettimeofday,"V":_init,"memory":wasmMemory,"O":_round,"B":_setTempRet0,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["W"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["X"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Y"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["Z"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["_"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["$"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["aa"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ba"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ca"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["da"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["ea"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["fa"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["ga"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["ha"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ia"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["ja"]).apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){return(dynCall_dd=Module["dynCall_dd"]=Module["asm"]["ka"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["la"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["ma"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["na"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["oa"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["pa"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["qa"]).apply(null,arguments)};var dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=function(){return(dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=Module["asm"]["ra"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["sa"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["ta"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["ua"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["va"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ca"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| | | <title>Jessibuca 1.0</title> |
| | | <meta charset="utf-8" /> |
| | | <style> |
| | | .btn { |
| | | display: inline-block; |
| | | line-height: 1; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | -webkit-appearance: none; |
| | | text-align: center; |
| | | box-sizing: border-box; |
| | | outline: none; |
| | | margin: 0; |
| | | transition: .1s; |
| | | font-weight: 500; |
| | | -moz-user-select: none; |
| | | -webkit-user-select: none; |
| | | -ms-user-select: none; |
| | | padding: 12px 20px; |
| | | font-size: 14px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | background-color: #409eff; |
| | | border-color: #409eff; |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-danger { |
| | | color: #fff; |
| | | background-color: #f56c6c; |
| | | border-color: #f56c6c; |
| | | } |
| | | |
| | | .btn-success { |
| | | color: #fff; |
| | | background-color: #67c23a; |
| | | border-color: #67c23a; |
| | | } |
| | | |
| | | .player-wrapper { |
| | | width: 900px; |
| | | height: 500px; |
| | | /*overflow-y: auto;*/ |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | } |
| | | |
| | | .btn-wrapper { |
| | | width: 900px; |
| | | height: 50px; |
| | | margin: 0 auto; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .player-wrapper canvas { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .logs { |
| | | border: 1px solid #333; |
| | | width: 900px; |
| | | height: 300px; |
| | | margin: 0 auto; |
| | | overflow-y: auto; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="player-wrapper"> |
| | | <canvas id="canvas" style="background-color: #0D0E1B"></canvas> |
| | | </div> |
| | | <div class="btn-wrapper"> |
| | | <div id="playDom"> |
| | | <button class="btn" id="play">播放</button> |
| | | </div> |
| | | <div id="stopDom" style="display: none"> |
| | | <button class="btn btn-danger" id="stop">结束</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="logout" class="logs"> |
| | | </div> |
| | | |
| | | <script src="./ajax.js"></script> |
| | | <script> |
| | | onerror = handleErr; |
| | | var txt = ""; |
| | | var h5lc = null; |
| | | var $play = document.getElementById('play'); |
| | | var $stop = document.getElementById('stop'); |
| | | var $playDom = document.getElementById('playDom'); |
| | | var $stopDom = document.getElementById('stopDom'); |
| | | var canvas = document.getElementById("canvas"); |
| | | var isPlaying = false; |
| | | disabledMouseWheel(canvas); |
| | | |
| | | $play.addEventListener('click', function () { |
| | | if (isPlaying) { |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | play(); |
| | | $playDom.style.display = 'none'; |
| | | $stopDom.style.display = 'block'; |
| | | }); |
| | | |
| | | $stop.addEventListener('click', function () { |
| | | if (!isPlaying) { |
| | | return; |
| | | } |
| | | |
| | | isPlaying = false; |
| | | stop(); |
| | | |
| | | $playDom.style.display = 'block'; |
| | | $stopDom.style.display = 'none'; |
| | | }); |
| | | |
| | | function play() { |
| | | // h5lc.play("ws://10.24.13.58:8088/live/user1.flv", canvas) |
| | | //h5lc.play("ws://3.1.39.135:8080/live/3458", canvas) |
| | | h5lc.play("ws://localhost/live/user1",canvas) |
| | | // h5lc.play("ws://119.9.118.39:8080/live/user1", canvas) |
| | | // h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas) |
| | | } |
| | | |
| | | function stop() { |
| | | h5lc.close() |
| | | } |
| | | |
| | | function disabledMouseWheel(ele) { |
| | | if (ele.addEventListener) { |
| | | ele.addEventListener('DOMMouseScroll', scrollFunc, false); |
| | | } //W3C |
| | | ele.onmousewheel = scrollFunc; //IE/Opera/Chrome |
| | | } |
| | | |
| | | function scrollFunc(evt) { |
| | | evt = evt || window.event; |
| | | if (evt.preventDefault) { |
| | | // Firefox |
| | | evt.preventDefault(); |
| | | evt.stopPropagation(); |
| | | } else { |
| | | // IE |
| | | evt.cancelBubble = true; |
| | | evt.returnValue = false; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function handleErr(msg, url, l) { |
| | | txt = "There was an error on this page.\n\n"; |
| | | txt += "Error: " + msg + "\n"; |
| | | txt += "URL: " + url + "\n"; |
| | | txt += "Line: " + l + "\n\n"; |
| | | document.getElementById("logout").innerHTML += txt + "<br>"; |
| | | return true; |
| | | } |
| | | |
| | | var Module = { |
| | | print: (function () { |
| | | return function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | // These replacements are necessary if you render to raw HTML |
| | | //text = text.replace(/&/g, "&"); |
| | | //text = text.replace(/</g, "<"); |
| | | //text = text.replace(/>/g, ">"); |
| | | //text = text.replace('\n', '<br>', 'g'); |
| | | console.log(text); |
| | | }; |
| | | })(), |
| | | printErr: function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | if (0) { // XXX disabled for safety typeof dump == 'function') { |
| | | dump(text + '\n'); // fast, straight to the real console |
| | | } else { |
| | | console.error(text); |
| | | } |
| | | }, |
| | | postRun: function () { |
| | | h5lc = new Jessibuca(); |
| | | h5lc.videoBuffer = 1; |
| | | } |
| | | }; |
| | | </script> |
| | | <script src="./ff_aac.js"></script> |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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 stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=330512,DYNAMIC_BASE=5573392,DYNAMICTOP_PTR=330480;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACQ5AAA0OQAANDkAADQ5AAA0OQAAAAAAAAAAAAAAAAAAJDkAADY5AAA2OQAANDkAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxNwCAAMAAAAgAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAIAAAAAAAAACAAAAAIAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK3AIAAwAAACAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAwAAAAEAAAAAAAAACAAAAAIAAAAHAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDcAgADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2NwCAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg3AIAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjcAgADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGcDAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8NwCAAAAAAD53AIAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/cAgABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABd0CAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK3QIAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPdAgADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHN0CAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAl3QIAAwEAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3dAgADAgAAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAGAAAAAAAAAAAAAAAIAAAABQAAAAcAAAABAAAAAAAAAAYAAAADAAAAAAAAAAgAAAAFAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN90CAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA83QIAAwAAACQAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEHdAgADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS90CAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ3QIAAwAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFXdAgADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX90CAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk3QIAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGndAgAEAAAAoAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAAbt0CAAQAAACgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAABz3QIABAAAAKAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAAHjdAgAEAAAAoAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAfd0CAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAht0CAAAAAACM3QIAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACV3QIAAAAAAJvdAgADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo90CAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs3QIABAEBAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAALXdAgADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvd0CAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADF3QIAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7dAgADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA190CAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg3QIAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOndAgADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8t0CAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD73QIAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATeAgADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADd4CAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY3gIAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPeAgAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALd4CAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA53gIAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEXeAgADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUd4CAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABd3gIAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGneAgADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdd4CAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/3gIAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIjeAgADAAAAIQAAAAAAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkd4CAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACa3gIAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKPeAgACAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKfeAgAAAAAArt4CAAMAAAAhAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC23gIAAwAAACAAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7eAgADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyd4CAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU3gIAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODeAgADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7N4CAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD43gIAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATfAgADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD98CAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa3wIAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbfAgADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMt8CAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA93wIAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjfAgADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATd8CAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABV3wIAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF3fAgADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZt8CAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv3wIAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjfAgADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgd8CAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAACK3wIABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAJPfAgAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAn98CAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACr3wIABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAALffAgAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAw98CAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAADP3wIABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAANvfAgAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAA6N8CAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAD13wIABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAALgAgAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAD+ACAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAc4AIABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAACngAgAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAANuACAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAABD4AIABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAFDgAgAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAXeACAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAABq4AIABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAHfgAgAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfeACAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACF4AIAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI3gAgADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkuACAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ4AIAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKDgAgAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAqeACAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAACy4AIABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAALvgAgAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAxOACAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADM4AIAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANPgAgACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2uACAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAADg4AIABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAOrgAgAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA9OACAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD44AIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3gAgAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeECAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO4QIAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPhAgADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGOECAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd4QIAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLhAgADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALuECAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA64QIAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEbhAgADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUuECAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABe4QIAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGrhAgADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAduECAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC4QIAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI7hAgADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmuECAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACm4QIAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALLhAgADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu+ECAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADE4QIAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM3hAgADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1uECAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf4QIAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvhAgADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9+ECAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4gIAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/iAgADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuICAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt4gIAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADziAgADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS+ICAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa4gIAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGniAgADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeOICAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH4gIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIziAgADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmOICAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACk4gIAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALDiAgADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvOICAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAADF4gIABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAM7iAgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3+ICAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm4gIAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO3iAgAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAA9+ICAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAB4wIABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAvjAgAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAFeMCAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4wIAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp4wIAAAAAAC/jAgABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjjAgAAAAAAPuMCAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR+MCAAAAAABN4wIAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABW4wIAAAAAAFzjAgADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY+MCAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABq4wIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHDjAgABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHjjAgAAAAAAfeMCAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAheMCAAAAAACK4wIAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTjAgADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnuMCAAQAAACxAgAAAAAAAAIAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAABAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAMAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAACp4wIABAAAALACAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAwAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAAAAAAALTjAgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvuMCAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQQQMAl0EDAJxpAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAACeQQMAnkEDAKBpAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAACuQQMAuEEDAOhzAAASAAAA//////////8AAAAAAADwvwAAAAAAAPA/EgAAAAAAAADrQQMA9kEDAGhkAAABAAAA//////////8AAAAAAADwvwAAwP///99BEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyVgMAAQAAAAQAAAAAAAAA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KAAAAAIAAABADQMAAAAAAAAAAAAAAAAAAAAAAAAA4EMZAAAAAAAAAEVlAwAtZQMAKAAAAAIAAAAA9AEAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAEhlAwBLZQMAMAAAAAEAAAAACT0AAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAF9mAwAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70E7AAAAX2YDAGVmAwBvZgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAX2YDAJpmAwCeZgMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDAM5mAwDTZgMAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDAPNmAwD4ZgMAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDAAhnAwAPZwMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAX2YDACBnAwAmZwMAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30EAAAAAX2YDAFpnAwBgZwMAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30EAAAAAX2YDAJRnAwCZZwMAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ETAAAAX2YDALZnAwC7ZwMAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDAOpnAwD0ZwMAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAX2YDACBoAwAmaAMAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDADloAwBDaAMAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAODBAADA////30ETAAAAX2YDAFNoAwBhaAMAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30EZAAAAX2YDAJ1oAwCmaAMAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30E7AAAAX2YDANJoAwDWaAMAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDAAlpAwAOaQMAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDACtpAwAwaQMAAAAAAAoAAAAAAACAAAAAAAAAAAAAAODBAADA////30ERAAAAX2YDADtpAwBKaQMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAX2YDAHNpAwB4aQMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAoGkDAKdpAwCtaQMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAoGkDAMVpAwDQaQMAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAoGkDAPVpAwACagMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAoGkDAEFqAwBIagMAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAoGkDAHdqAwB/agMAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30ESAAAAoGkDAKlqAwC0agMAAAAAAAoAAAAAAAAQAAAAAAAAAAAAAODBAADA////30ESAAAAoGkDAOJqAwDuagMAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ESAAAAoGkDADFrAwBDawMAAAAAAAoAAAAAAABAAAAAAAAAAAAAAODBAADA////30EiAAAAoGkDAG1rAwAAAAAATAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAHdrAwB5awMAbAAAAAEAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJ1rAwCgawMAWAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAMBrAwDDawMAXAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAAOBrAwDnawMAcAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAAAAAAPxrAwAAAAAAZAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAAdsAwAAAAAAaAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABRsAwAAAAAAWAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABpsAwAgbAMAmAEAAAQAAAAAAAAAAADgPwAAAOD//+/HAAAA4P//70cRAAAAAAAAAJhsAwCebAMAnAEAAAQAAAAAAAAAAADgPwAAAAAAAPC/AAAA4P//70cRAAAAAAAAAL9sAwDEbAMAoAEAAAEAAAACAAAAAAAAAAAAAAAAAPC/AAAAAABAUUARAAAAAAAAAOhsAwDtbAMApAEAAAEAAAAfAAAAAAAAAAAAAAAAAPC/AAAAAAAAkEARAAAAAAAAABFtAwAXbQMAqAEAAAEAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAE1tAwBQbQMAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30ERAAAAAAAAAIRtAwCObQMAgAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAALBtAwC7bQMAhAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAONtAwDmbQMABAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAABuAwAAAAAACAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAhuAwAAAAAADAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABRuAwAAAAAAEAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAB9uAwAAAAAAFAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAACpuAwAAAAAAGAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADJuAwAAAAAAHAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADpuAwAAAAAAIAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAEVuAwAAAAAAJAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAE9uAwAAAAAAKAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFpuAwAAAAAAFAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAGRuAwBobgMANAIAAAAAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAJJuAwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAJ1uAwCobgMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAN5uAwDjbgMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAARvAwAPbwMAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DACpvAwAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAC5vAwAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DADpvAwBDbwMAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAHdvAwAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAIRvAwCVbwMAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DANFvAwDWbwMAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAAlwAwAAAAAAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DABVwAwAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAB1wAwAgcAMAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAFhwAwBecAMAAAAAAAoAAAAAQAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAG9wAwAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAZG4DAHVwAwB8cAMAOAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAdXADAKFwAwCmcAMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAdXADAHVwAwD4cAMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAdXADAEdxAwAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAdXADAE5xAwBZcQMAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EbAAAAdXADAHVxAwCCcQMAAAAAAAoAAAD+/////////wAAAAAAAODBAADA////30EbAAAAdXADAK1xAwC3cQMAiAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAANlxAwDkcQMARAIAAAAAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAP5xAwAHcgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDABxyAwAmcgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAFByAwBXcgMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAHhyAwCAcgMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAKhyAwCzcgMAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAMFyAwDJcgMAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAC9zAwA5cwMAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAGZzAwBxcwMAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30EaAAAA2XEDAK9zAwAAAAAAjAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAALxzAwAAAAAAbAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAMhzAwDTcwMAkAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPhzAwAAAAAAsAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAp0AwASdAMAuAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EZAAAAAAAAAFN0AwBbdAMAwAEAAAIAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAL90AwDHdAMArAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAO10AwD3dAMAlAAAAAQAAACamZmZmZnpvwAAAOD//+/HAAAA4P//70cRAAAAAAAAABl1AwAjdQMAmAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAEV1AwBJdQMAmAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAARXUDAFd1AwBcdQMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAHJ1AwB6dQMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAM7KAwCHdQMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAJh1AwAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAJx1AwAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAKR1AwCpdQMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAARXUDAMB1AwDKdQMAnAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAPx1AwAHdgMAoAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAACN2AwAudgMApAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAEl2AwBQdgMAqAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAF52AwBodgMArAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAJh2AwCddgMAnAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAmHYDAFd1AwAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAM7KAwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDALh2AwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAL92AwAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAMl2AwAAAAAAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAJx1AwAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAM12AwAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDANd2AwAAAAAAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAOV2AwAAAAAAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAPF2AwAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAPx2AwAAAAAAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAAF3AwAJdwMAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDACx3AwAydwMAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAEp3AwAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAmHYDAFV3AwAAAAAAsAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAGF3AwBkdwMAPAIAAAAAAAADAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAYXcDAIN3AwCNdwMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAYXcDALh3AwDAdwMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAYXcDAOp3AwD2dwMAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAYXcDAB94AwAAAAAAoAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAADV4AwA6eAMAtAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANXgDAEx4AwAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANXgDAFF4AwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANXgDAFd4AwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAANXgDAF54AwBleAMAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAHl4AwBleAMAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAH14AwCDeAMAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30E7AAAAfXgDAJ14AwCieAMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAK94AwCyeAMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAfXgDABxyAwAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAL94AwDHeAMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDANx4AwDfeAMAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAAV5AwAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAA95AwAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAB55AwAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDACN5AwAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAC15AwAweQMAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAEJ5AwBHeQMAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAHR5AwAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAHl5AwCBeQMAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAfXgDAJx5AwCneQMAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAfXgDALx5AwDBeQMAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30EaAAAAfXgDANp5AwDeeQMAxAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAAR6AwALegMAyAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDACd6AwAtegMAzAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAEl6AwBSegMA0AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAHJ6AwB7egMA1AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAKV6AwCvegMA2AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAON6AwDpegMA3AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAP96AwAGewMA4AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAC17AwAxewMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAFN7AwBXewMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAG17AwByewMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAEV1AwCjewMAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDALZnAwDPewMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAAd8AwALfAMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAC98AwAyfAMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAFB8AwBVfAMAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAFd8AwBcfAMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAIF8AwCGfAMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAKp8AwCvfAMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDANt8AwAAAAAAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAOJ8AwAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAOl8AwDufAMAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDABx9AwApfQMA5AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFx9AwBhfQMA6AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAIN9AwCMfQMA7AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAL59AwAAAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAM19AwAAAAAA1AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAzX0DANN9AwDXfQMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAzX0DAMBrAwD9fQMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAzX0DAA5+AwASfgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAzX0DACR+AwAofgMAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAzX0DADl+AwBBfgMA2AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAE9+AwAAAAAA8AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFt+AwBffgMA9AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEARAAAAW34DALh2AwCRfgMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAW34DAJt+AwCgfgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAW34DAC98AwCwfgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAW34DAMl+AwDWfgMAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAO1+AwDwfgMABAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAAB/AwASfwMA0AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAKBpAwAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EbAAAAoGkDAGJ/AwBqfwMAsAIAAAEAAAABAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAYn8DAFd1AwCEfwMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAYn8DALN/AwC2fwMACAEAAAEAAAAAAAAAAAAAAAAAAAAAACDAAAAAAAAAMEARAAAAAAAAAMl/AwDPfwMAyAIAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANt/AwDkfwMADAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAABuAAwAngAMAEAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAAGGAAwAAAAAAzAIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAYYADAGmAAwAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAYYADAHGAAwAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAHqAAwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAIKAAwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAIqAAwAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAJKAAwAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAJmAAwAAAAAAAAAAAAoAAAAcAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAKOAAwAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAKqAAwAAAAAAAAAAAAoAAAAmAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADALKAAwAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAMCAAwAAAAAAAAAAAAoAAACDAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAM2AAwAAAAAAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADANGAAwAAAAAAAAAAAAoAAAAeAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADANiAAwAAAAAAAAAAAAoAAAAoAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAOKAAwAAAAAAAAAAAAoAAAAyAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAO2AAwAAAAAAAAAAAAoAAAA8AAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADAPeAAwAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAYYADAACBAwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAYYADAAuBAwAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAYYADABaBAwAAAAAAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAYYADACCBAwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAYYADACeBAwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYADACyBAwAAAAAA0AIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAALIEDAGmAAwAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAALIEDADKBAwA5gQMAqAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EaAAAAAAAAAGSBAwBzgQMA3AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAIiBAwCUgQMA4AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAKaBAwCvgQMA5AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAMOBAwDLgQMA6AEAAAEAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA+3kDAOeBAwDugQMAFAEAAAEAAADsAAAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAABeCAwAeggMAGAEAAAEAAABKDgAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAEeCAwBMggMAHAEAAAEAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAIeCAwCYggMA1AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDANaCAwDgggMA2AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDABGDAwAcgwMA3AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDAEKDAwBHgwMAAAAAAAoAAADw/////////wAAAAAAAODBAADA////30ESAAAAzIIDAFiDAwBggwMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDAHeDAwB9gwMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDAJ6DAwCkgwMAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDAMWDAwDLgwMAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDAO+DAwD3gwMAAAAAAAoAAAAYAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDABqEAwAehAMAAAAAAAoAAAAwAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAzIIDADGEAwA+hAMAIAEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEARAAAAAAAAAH6EAwCIhAMAJAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAALaEAwDBhAMAKAEAAAEAAAAZAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAOWEAwDqhAMALAEAAAEAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAB+FAwAshQMAMAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAEeFAwBPhQMA7AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAHSFAwAAAAAANAEAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAIKFAwCQhQMAOAEAAAEAAAAoAAAAAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAALmFAwAAAAAAOAAAAAEAAAD//////////wAAAAAAAODBAADA////30EZAAAAAAAAAMuFAwAAAAAA8AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAOCFAwAAAAAA9AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAPWFAwAKhgMA+AEAAAIAAAD//////////wAAAAAAAPC/AAAAAAAA4EMRAAAAAAAAAESGAwAAAAAApAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAFiGAwAAAAAAeAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMLAAAAWIYDAGeGAwAAAAAAgAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMKAAAAZ4YDAH6GAwAAAAAAyAEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAI2GAwAAAAAAzAEAAAQAAAAAAAAAAAAIQAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAJyGAwAAAAAAVAAAAAEAAAABAAAAAAAAAAAAAAAAAPA/AADA////30EbAAAAAAAAAKyGAwC8hgMAPAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAzIYDAOGGAwDnhgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAGmAAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAPqGAwABhwMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAAqHAwAShwMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAByHAwAmhwMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDADKHAwA8hwMAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAEiHAwBNhwMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAFKHAwBZhwMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAGGHAwBqhwMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAHaHAwBqhwMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAIGHAwCKhwMAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAJaHAwCfhwMAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAKuHAwC1hwMAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAL+HAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAzIYDAMuHAwDVhwMAQAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAA9IcDAOGGAwDnhgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAGmAAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAAOIAwABhwMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAAuIAwAShwMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAByHAwAmhwMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDADKHAwA8hwMAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDABOIAwAaiAMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDACGIAwAoiAMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDACyIAwAziAMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAEOIAwBQiAMAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAF6IAwBmiAMAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAG6IAwB7iAMAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAImIAwCTiAMAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAKSIAwCuiAMAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAL+IAwDJiAMAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAGGHAwBqhwMAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDANSIAwDhiAMAAAAAAAoAAAASAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAL+HAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAO6IAwAoiAMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAPKIAwAziAMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAPuIAwBQiAMAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAAiJAwBmiAMAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAA+JAwB7iAMAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAByJAwCTiAMAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDACmJAwCuiAMAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDAHaHAwBqhwMAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA9IcDADaJAwBBiQMARAEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAATYkDAF2JAwBhiQMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAOGGAwDnhgMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAGmAAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAGWJAwBpiQMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAAqHAwAShwMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAByHAwAmhwMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDADKHAwA8hwMAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAG2JAwBziQMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAHmJAwCCiQMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAI6JAwCWiQMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAKGJAwCriQMAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAL+HAwDuhgMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDALaJAwBziQMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDALyJAwCCiQMAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDAMeJAwCWiQMAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATYkDANGJAwDdiQMASAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAA6YkDAGmAAwDuhgMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDAPqJAwD9iQMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDABCKAwATigMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDAL+HAwDuhgMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDACCKAwD9iQMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDACWKAwATigMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6YkDACqKAwBBigMATAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAWIoDAGmAAwDuhgMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAEx4AwB0igMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAHmKAwCAigMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAIeKAwCPigMAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAJiKAwCcigMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAKCKAwCrigMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDALeKAwC+igMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAL+HAwDuhgMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWIoDAMWKAwDWigMABAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAO+KAwD2igMAUAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAC6LAwA6iwMAtAIAAAAAAAADAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAALosDAFWLAwAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAALosDAFuLAwAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAALosDAGGLAwB0iwMAiAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAJAAAAYYsDAIeLAwCKiwMAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAJ2LAwCgiwMAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAKiLAwCriwMAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAL2LAwDAiwMAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDANGLAwDUiwMAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAN2LAwDgiwMAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAOuLAwDuiwMAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAPiLAwD7iwMAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDAAaMAwAJjAMAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAYYsDABGMAwAkjAMAjAEAAA0AAAD//////////wAAAAAAAPC/AADA////30EKAAAAEYwDAE+MAwAAAAAABAMAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAFyMAwBojAMAMAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0AiAAAAAAAAAJSMAwCljAMANAMAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30EiAAAAlIwDANaMAwAAAAAAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EiAAAAlIwDAFd1AwAAAAAAAAAAAAoAAAAAAAAA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AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOt21jvW1qA8cgQGPZiXOz2DInE9bVGTPSMLrj02vcg9e2bjPcYF/j33TAw+45AZPhLOJj7xAzQ+6jFBPmlXTj7cc1s+roZoPk2PdT6TRoE+1b+HPiEzjj4xoJQ+vQabPntmoT4lv6c+cxCuPh5atD7hm7o+c9XAPpEGxz7zLs0+Vk7TPnRk2T4Icd8+0HPlPods6z7qWvE+tz73PqsX/T7DcgE/A1QEP3QvBz/4BAo/btQMP7adDz+yYBI/Qh0VP0jTFz+kgho/OisdP+vMHz+ZZyI/KPskP3qHJz9zDCo/9oksP+j/Lj8sbjE/qdQzP0IzNj/ciTg/X9g6P7AePT+1XD8/VZJBP3e/Qz8D5EU/4f9HP/oSSj81HUw/fB5OP7gWUD/UBVI/uutTP1PIVT+Mm1c/UGVZP4slWz8p3Fw/F4leP0IsYD+YxWE/BlVjP3zaZD/nVWY/OcdnP18uaT9Li2o/7t1rPzcmbT8aZG4/iJdvP3PAcD/P3nE/j/JyP6f7cz8L+nQ/sO11P4vWdj+TtHc/vYd4PwBQeT9UDXo/sL96Pwxnez9hA3w/qJR8P9safT/0lX0/7QV+P8Fqfj9txH4/7BJ/PzpWfz9Wjn8/O7t/P+ncfz9e838/mf5/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP7b0Oj20nxw4bvM6PUQzsDkZ8Do9UWgmOrjqOj0ttXQ6SeM6Pa1/oTrO2To9/6LIOkbOOj0dxO86ssA6PU1xCzsSsTo9BP8eO2afOj38ijI7rYs6PQAVRjvpdTo915xZOxpeOj1LIm07P0Q6PZNSgDtZKDo9mBKKO2kKOj0a0ZM7b+o5PfyNnTtqyDk9JEmnO1ykOT13ArE7RX45Pdi5ujslVjk9Lm/EO/0rOT1cIs47zf84PUfT1zuW0Tg91IHhO1ehOD3pLes7E284PWnX9DvIOjg9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AAAEAAgADAAQABQAHAAkACwAOABEAFAAYABwAIAAAAAEAAgADAAQABQAGAAcACQALAA0AEAATABcAGwAgAAAAAQACAAMABAAFAAYABwAIAAoADAAPABIAFgAbACAAAAABAAIAAwAEAAUABgAHAAkACwANAA8AEgAWABsAIAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABEAEwAVABcAGQAcAB8AIgAlACkALgA0ADsAAwBLAFMAWwBjAGsAcwBAAIAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOABAAEgAUABYAGAAbAB4AIQAkACgALAAwADUAOwABAEgAUABYAGAAaABwAHgAQACAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAgAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAQATABUAFwAZABsAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABIAFAAWABgAGgAcAB8AIgAlACkALQAyADgAAABIAFAAWABgAGgAcAB4AEAAAQACAAMABAAFAAYABwAIAAkACgALAA0ADwARABQAFwAaAB4AIwApADAAOAAAAEgAUABYAGAAaABwAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAUAUABgAHAAQACQAKAAsACAANAA4ADwAMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAZABwAHwAjACcAKwAwADYAPAADAEwAVgBgAGoAdAB+AEgAkgCcAKYAsAC6AIQAzgDYAOIA7AD2AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAwADgAQABIAFAAWABgAGwAeACEAJAAoACwAMQA2ADwAAgBJAFAAWABgAGgAcAB4AEAAiACQAJgAoACoALAAuACAAMgA0ADYAOAA6ADAAQAAAQACAAMABAAFAAYABwAIAAkACgAMAA4AEAASABQAFgAYABsAHgAhACQAKAAsADEANgA8AAIASQBQAFgAYABoAHAAeABAAIgAkACYAKAAqACwALgAgADIANAA2ADgAOgA8AD4AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAVABcAGQAbAB0AHwAiACUAKAArAC8AMwA3ADwAAQBHAE0AVABbAGMAbAB1AH8ASgCWAKMAsACAANAA4ADwAMABAAACAAQABgAIAAoADAAOABAAEgAUABYAGQAcAB8AIgAlACgAKwAuADEANQA5AD0AAQBGAEsAUABWAFwAYwBqAHIAewBFAI8AmgCmALMAgQDQAOAA8ADAAQAAAwAGAAkADAAPABIAFQAYABsAHgAhACQAJwArAC8AMwA3ADsAPwADAEgATQBSAFcAXQBjAGkAcAB3AH8ASACRAJsApgCyAL8AjQDcAOwAwAEAAABAAIAAwAEAAUABgAGAAcAAhABEAAQCgAKAAQABQAGAAcACAAJAAoACwAMAAkADgALAAwADQAOAA8AEAANABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhAAEQABAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMASmVzc2ljYQAkcGxheQBvbkRhdGEAJGNsb3NlAGRlY29kZVZpZGVvQnVmZmVyAGlzUGxheWluZwBmbHZNb2RlAGF1ZGlvQnVmZmVyAHZpZGVvQnVmZmVyAGJwcwBidWZmZXJJbmZvAEplc3NpYnVjYQBjbG9zZQBpc1dlYkdMAHdlYmdsOiVzAHRydWUAZmFsc2UALmZsdgBXZWJTb2NrZXQAYmluYXJ5VHlwZQBhcnJheWJ1ZmZlcgBvbm1lc3NhZ2UAd3MATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBiaW5kAE4xMGVtc2NyaXB0ZW4zdmFsRQBkYXRhAHVua25vdyB0eXBlOiAlZABzZW5kAFsiX19iYW5kd2lkdGgiXQBlcnJvciB0eXBlIDolZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAHBsYXlBdWRpbwAhISVzCgBhYWMgc2FtcGxlcmF0ZTolZCBjaGFubmVsczolZABpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZAA1U2xpY2UAOElPQnVmZmVyAHZpZGVvIGluZm8gc2V0IQByZXNldFRpbWVTcGFuAGNvZGVjIG5vdCBzdXBwb3J0OiAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA3SmVzc2ljYQBQN0plc3NpY2EAUEs3SmVzc2ljYQBpaQB2AHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAOUplc3NpYnVjYQBOMTBlbXNjcmlwdGVuN3dyYXBwZXJJN0plc3NpY2FFRQBOMTBlbXNjcmlwdGVuOGludGVybmFsMTFXcmFwcGVyQmFzZUUAUDlKZXNzaWJ1Y2EAUEs5SmVzc2lidWNhAGlpaWkAYWFjIGluaXQhICVkAGF1ZGlvIGluaXQhICVkAEZGTXBlZyBpbml0ADZGRm1wZWcAMTJWaWRlb0RlY29kZXIAdmlkZW8gZGVjb2RlciByZWxlYXNlIQoARkZNcGVnIGRlc3RvcnkAZmZtcGVnIGRlY29kZSByZXQ6JWQAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAAAQECAgICAwMDAwMDAwMEBAQEBAQEBAQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcAgEDAIKBg4BCQUNAwsHDwCIhIyCioaOgYmFjYOLh4+ASERMQkpGTkFJRU1DS0dPQMjEzMLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiUnJKalp6RmZWdk5uXn5BYVFxSWlZeUVlVXVNbV19Q2NTc0trW3tHZ1d3T29ff0Dg0PDI6Nj4xOTU9Mzs3PzC4tLyyura+sbm1vbO7t7+weHR8cnp2fnF5dX1ze3d/cPj0/PL69v7x+fX98/v3//RmFpbGVkIHRvIHJlYWxsb2NhdGUgcGFyc2VyIGJ1ZmZlciB0byAlZAoAbmV4dCA+PSAwIHx8IHBjLT5idWZmZXIAbGliYXZjb2RlYy9wYXJzZXIuYwAlcyVzJXMlcwAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzDQAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkICVkIHRpbWVzCgAbWyV1OzMldW0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTslZG0lcxtbMG0AG1s0ODs1OyV1bRtbMzg7NTsldW0lcxtbMG0AVEVSTQBOT19DT0xPUgBBVl9MT0dfRk9SQ0VfTk9DT0xPUgBBVl9MT0dfRk9SQ0VfQ09MT1IAQVZfTE9HX0ZPUkNFXzI1NkNPTE9SADI1NmNvbG9yAFslcyBAICVwXSAAWyVzXSAAcGFuaWMAZmF0YWwAZXJyb3IAd2FybmluZwBpbmZvAHZlcmJvc2UAcXVpZXQAAAECAwQFBghBIG5vbi1OVUxMIHBhY2tldCBzZW50IGFmdGVyIGFuIEVPRi4KAENvZGVjICclcycgKCVkKSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBiaXRzdHJlYW0gZmlsdGVyICclcycuIFN1cHBvcnRlZCBjb2RlY3MgYXJlOiAAJXMgKCVkKSAAbXBlZzF2aWRlbwBtcGVnMnZpZGVvAGgyNjEAaDI2MwBydjEwAHJ2MjAAbWpwZWcAbWpwZWdiAGxqcGVnAHNwNXgAanBlZ2xzAG1wZWc0AHJhd3ZpZGVvAG1zbXBlZzR2MQBtc21wZWc0djIAbXNtcGVnNHYzAHdtdjEAd212MgBoMjYzcABoMjYzaQBmbHYxAHN2cTEAc3ZxMwBkdnZpZGVvAGh1ZmZ5dXYAY3l1dgBpbmRlbzMAdnAzAHRoZW9yYQBhc3YxAGFzdjIAZmZ2MQA0eG0AdmNyMQBjbGpyAG1kZWMAcm9xAGludGVycGxheXZpZGVvAHhhbl93YzMAeGFuX3djNABycHphAGNpbmVwYWsAd3NfdnFhAG1zcmxlAG1zdmlkZW8xAGlkY2luADhicHMAc21jAGZsaWMAdHJ1ZW1vdGlvbjEAdm1kdmlkZW8AbXN6aAB6bGliAHF0cmxlAHRzY2MAdWx0aQBxZHJhdwB2aXhsAHFwZWcAcG5nAHBwbQBwYm0AcGdtAHBnbXl1dgBwYW0AZmZ2aHVmZgBydjMwAHJ2NDAAdmMxAHdtdjMAbG9jbwB3bnYxAGFhc2MAaW5kZW8yAGZyYXBzAHRydWVtb3Rpb24yAGJtcABjc2NkAG1tdmlkZW8Aem1idgBhdnMAc21hY2t2aWRlbwBudXYAa212YwBmbGFzaHN2AGNhdnMAanBlZzIwMDAAdm1uYwB2cDUAdnA2AHZwNmYAdGFyZ2EAZHNpY2ludmlkZW8AdGllcnRleHNlcXZpZGVvAHRpZmYAZ2lmAGR4YQBkbnhoZAB0aHAAc2dpAGM5MwBiZXRoc29mdHZpZABwdHgAdHhkAHZwNmEAdmIAcGN4AHN1bnJhc3QAaW5kZW80AGluZGVvNQBtaW1pYwBybDIAZXNjYXBlMTI0AGRpcmFjAGJmaQBjbXYAbW90aW9ucGl4ZWxzAHRndgB0Z3EAdHFpAGF1cmEAYXVyYTIAdjIxMHgAdG12AHYyMTAAZHB4AG1hZABmcnd1AGZsYXNoc3YyAGNkZ3JhcGhpY3MAcjIxMABhbm0AYmlua3ZpZGVvAGlmZl9pbGJtAGtndjEAeW9wAHZwOABwaWN0b3IAYW5zaQBhNjRfbXVsdGkAYTY0X211bHRpNQByMTBrAG14cGVnAGxhZ2FyaXRoAHByb3JlcwBqdgBkZmEAd212M2ltYWdlAHZjMWltYWdlAHV0dmlkZW8AYm12X3ZpZGVvAHZibGUAZHh0b3J5AHY0MTAAeHdkAGNkeGwAeGJtAHplcm9jb2RlYwBtc3MxAG1zYTEAdHNjYzIAbXRzMgBjbGxjAG1zczIAdnA5AGVzY2FwZTEzMABnMm0Ad2VicABobm00dmlkZW8AaGV2YwBmaWMAYWxpYXNfcGl4AGJyZW5kZXJfcGl4AHBhZl92aWRlbwBleHIAdnA3AHNhbm0Ac2dpcmxlAG12YzEAbXZjMgBocXgAdGRzYwBocV9ocWEAaGFwAGRkcwBkeHYAc2NyZWVucHJlc3NvAHJzY2MAeTQxcABhdnJwADAxMnYAYXZ1aQBheXV2AHRhcmdhX3kyMTYAdjMwOAB2NDA4AHl1djQAYXZybgBjcGlhAHhmYWNlAHNub3cAc212anBlZwBhcG5nAGRhYWxhAGNmaGQAdHJ1ZW1vdGlvbjJydABtMTAxAG1hZ2ljeXV2AHNoZWVydmlkZW8AeWxjAHBzZABwaXhsZXQAc3BlZWRocQBmbXZjAHNjcHIAY2xlYXJ2aWRlbwB4cG0AYXYxAGJpdHBhY2tlZABtc2NjAHNyZ2MAc3ZnAGdkdgBmaXRzAHBjbV9zMTZsZQBwY21fczE2YmUAcGNtX3UxNmxlAHBjbV91MTZiZQBwY21fczgAcGNtX3U4AHBjbV9tdWxhdwBwY21fYWxhdwBwY21fczMybGUAcGNtX3MzMmJlAHBjbV91MzJsZQBwY21fdTMyYmUAcGNtX3MyNGxlAHBjbV9zMjRiZQBwY21fdTI0bGUAcGNtX3UyNGJlAHBjbV9zMjRkYXVkAHBjbV96b3JrAHBjbV9zMTZsZV9wbGFuYXIAcGNtX2R2ZABwY21fZjMyYmUAcGNtX2YzMmxlAHBjbV9mNjRiZQBwY21fZjY0bGUAcGNtX2JsdXJheQBwY21fbHhmAHMzMDJtAHBjbV9zOF9wbGFuYXIAcGNtX3MyNGxlX3BsYW5hcgBwY21fczMybGVfcGxhbmFyAHBjbV9zMTZiZV9wbGFuYXIAcGNtX3M2NGxlAHBjbV9zNjRiZQBwY21fZjE2bGUAcGNtX2YyNGxlAGFkcGNtX2ltYV9xdABhZHBjbV9pbWFfd2F2AGFkcGNtX2ltYV9kazMAYWRwY21faW1hX2RrNABhZHBjbV9pbWFfd3MAYWRwY21faW1hX3NtanBlZwBhZHBjbV9tcwBhZHBjbV80eG0AYWRwY21feGEAYWRwY21fYWR4AGFkcGNtX2VhAGFkcGNtX2c3MjYAYWRwY21fY3QAYWRwY21fc3dmAGFkcGNtX3lhbWFoYQBhZHBjbV9zYnByb180AGFkcGNtX3NicHJvXzMAYWRwY21fc2Jwcm9fMgBhZHBjbV90aHAAYWRwY21faW1hX2FtdgBhZHBjbV9lYV9yMQBhZHBjbV9lYV9yMwBhZHBjbV9lYV9yMgBhZHBjbV9pbWFfZWFfc2VhZABhZHBjbV9pbWFfZWFfZWFjcwBhZHBjbV9lYV94YXMAYWRwY21fZWFfbWF4aXNfeGEAYWRwY21faW1hX2lzcwBhZHBjbV9nNzIyAGFkcGNtX2ltYV9hcGMAYWRwY21fdmltYQBhZHBjbV9hZmMAYWRwY21faW1hX29raQBhZHBjbV9kdGsAYWRwY21faW1hX3JhZABhZHBjbV9nNzI2bGUAYWRwY21fdGhwX2xlAGFkcGNtX3BzeABhZHBjbV9haWNhAGFkcGNtX2ltYV9kYXQ0AGFkcGNtX210YWYAYW1yX25iAGFtcl93YgByYV8xNDQAcmFfMjg4AHJvcV9kcGNtAGludGVycGxheV9kcGNtAHhhbl9kcGNtAHNvbF9kcGNtAHNkeDJfZHBjbQBncmVtbGluX2RwY20AbXAyAG1wMwBhYWMAYWMzAHZvcmJpcwBkdmF1ZGlvAHdtYXYxAHdtYXYyAG1hY2UzAG1hY2U2AHZtZGF1ZGlvAGZsYWMAbXAzYWR1AG1wM29uNABzaG9ydGVuAGFsYWMAd2VzdHdvb2Rfc25kMQBnc20AcWRtMgBjb29rAHRydWVzcGVlY2gAdHRhAHNtYWNrYXVkaW8AcWNlbHAAd2F2cGFjawBkc2ljaW5hdWRpbwBpbWMAbXVzZXBhY2s3AG1scABnc21fbXMAYXRyYWMzAGFwZQBuZWxseW1vc2VyAG11c2VwYWNrOABzcGVleAB3bWF2b2ljZQB3bWFwcm8Ad21hbG9zc2xlc3MAYXRyYWMzcABlYWMzAHNpcHIAbXAxAHR3aW52cQB0cnVlaGQAbXA0YWxzAGF0cmFjMQBiaW5rYXVkaW9fcmRmdABiaW5rYXVkaW9fZGN0AGFhY19sYXRtAHFkbWMAY2VsdABnNzIzXzEAZzcyOQA4c3Z4X2V4cAA4c3Z4X2ZpYgBibXZfYXVkaW8AcmFsZgBpYWMAaWxiYwBvcHVzAGNvbWZvcnRub2lzZQB0YWsAbWV0YXNvdW5kAHBhZl9hdWRpbwBhdmMAZHNzX3NwAGNvZGVjMgB3YXZlc3ludGgAc29uaWMAc29uaWNscwBldnJjAHNtdgBkc2RfbHNiZgBkc2RfbXNiZgBkc2RfbHNiZl9wbGFuYXIAZHNkX21zYmZfcGxhbmFyADRndgBpbnRlcnBsYXlhY20AeG1hMQB4bWEyAGRzdABhdHJhYzNhbABhdHJhYzNwYWwAZG9sYnlfZQBhcHR4AGFwdHhfaGQAc2JjAGR2ZF9zdWJ0aXRsZQBkdmJfc3VidGl0bGUAdGV4dAB4c3ViAHNzYQBtb3ZfdGV4dABoZG12X3Bnc19zdWJ0aXRsZQBkdmJfdGVsZXRleHQAc3J0AG1pY3JvZHZkAGVpYV82MDgAamFjb3N1YgBzYW1pAHJlYWx0ZXh0AHN0bABzdWJ2aWV3ZXIxAHN1YnZpZXdlcgBzdWJyaXAAd2VidnR0AG1wbDIAdnBsYXllcgBwanMAaGRtdl90ZXh0X3N1YnRpdGxlAHR0ZgBzY3RlXzM1AGJpbnRleHQAeGJpbgBpZGYAb3RmAGtsdgBkdmRfbmF2X3BhY2tldAB0aW1lZF9pZDMAYmluX2RhdGEAd3JhcHBlZF9hdmZyYW1lAGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQBhcHBsaWNhdGlvbi92bmQubXMtb3BlbnR5cGUAYXBwbGljYXRpb24veC10cnVldHlwZS1mb250AGFwcGxpY2F0aW9uL3gtZm9udABpbWFnZS9zdmcreG1sAGltYWdlL3gteHBpeG1hcABpbWFnZS9wbmcAaW1hZ2Uvd2VicABpbWFnZS94LXhiaXRtYXAAaW1hZ2UveC14d2luZG93ZHVtcABpbWFnZS94LXBjeABpbWFnZS9naWYAaW1hZ2UvdGlmZgBpbWFnZS94LXRhcmdhAGltYWdlL3gtdGdhAGltYWdlL2pwMgBpbWFnZS94LW1zLWJtcABpbWFnZS94LXBvcnRhYmxlLXBpeG1hcABpbWFnZS9qcGVnAAkIBwcGBgYGBQUFBQUFBQUEBAQEBAQEBAQEBAQEBAQEAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB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BQUFBQUFBgYGBgYGBgYGBgYGBgYGBgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEREREREREREBEREREREREI+An3CvYL9Qz0DfMO8g/xBAQEBPz8/PwFBQUF+/v7+wYGBgb6+vr6BwcHB/n5+fkCAgICAgICAgICAgICAgIC/v7+/v7+/v7+/v7+/v7+/gMDAwMDAwMDAwMDAwMDAwP9/f39/f39/f39/f39/f39AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgMBBgUvHw8AFxsdHgcLDQ4nKy0uEAMFCgwTFRocIyUqLAECBAgREhQYBgkWGSAhIiQoJikAEAECBAggAwUKDA8vBwsNDgYJHyMlKiwhIiQoJystLhESFBgTFRocFxsdHhYZJikAECAwACAQQGAwUHAKDRALDhINEBQOEhcQFBkSFx0AAwQDAwEFAQQFAgUDAQUBFBIgExkYFhMjFRwaGhcqGCEfHBktGiMhIBwzHigmJCA6Ii4rAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwQFAAECAwAAAAAAAAEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgICAkJCQkJCQoKCgoKCgsLCwsLCwwMDAwMDA0NDQ0NDQ4ODg4AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0dHh8gICEiIiMjJCQlJSUmJiYnJycnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjIyQlJiYnKCgpKSoqKysrLCwsLS0tLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSkqKywsLS4uLy8wMDExMTIyMjMzMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8vMDEyMjM0NDU1NjY3Nzc4ODg5OTk5AAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1NTY3ODg5Ojo7Ozw8PT09Pj4+Pz8/PwAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozs8PT4+P0BAQUFCQkNDQ0REREVFRUUAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFBQkNEREVGRkdHSEhJSUlKSkpLS0tLaDI2NAB0aHJlYWRfcmVsZWFzZV9idWZmZXIgY2FsbGVkIG9uIHBpYyAlcAoAZnJhbWUtPm5iX2V4dGVuZGVkX2J1ZiA9PSAwAGxpYmF2Y29kZWMvZGVjb2RlLmMAZGVmYXVsdF9nZXRfYnVmZmVyIGNhbGxlZCBvbiBmcmFtZSAlcABwaWMtPmRhdGFbKl0hPU5VTEwgaW4gYXZjb2RlY19kZWZhdWx0X2dldF9idWZmZXIKAFVuYWJsZSB0byBnZXQgcGl4ZWwgZm9ybWF0IGRlc2NyaXB0b3IgZm9yIGZvcm1hdCAlcwoAZGVmYXVsdF9nZXRfYnVmZmVyIGNhbGxlZCBvbiBwaWMgJXAKAHl1djQyMHAAeXV5djQyMgByZ2IyNABiZ3IyNAB5dXY0MjJwAHl1djQ0NHAAeXV2NDEwcAB5dXY0MTFwAGdyYXk4LHk4AG1vbm93AG1vbm9iAHBhbDgAeXV2ajQyMHAAeXV2ajQyMnAAeXV2ajQ0NHAAdXl2eTQyMgB1eXl2eXk0MTEAYmdyOABiZ3I0AGJncjRfYnl0ZQByZ2I4AHJnYjQAcmdiNF9ieXRlAG52MTIAbnYyMQBhcmdiAHJnYmEAYWJncgBiZ3JhAGdyYXkxNmJlAHkxNmJlAGdyYXkxNmxlAHkxNmxlAHl1djQ0MHAAeXV2ajQ0MHAAeXV2YTQyMHAAcmdiNDhiZQByZ2I0OGxlAHJnYjU2NWJlAHJnYjU2NWxlAHJnYjU1NWJlAHJnYjU1NWxlAGJncjU2NWJlAGJncjU2NWxlAGJncjU1NWJlAGJncjU1NWxlAHZhYXBpX21vY28AdmFhcGlfaWRjdAB2YWFwaV92bGQAeXV2NDIwcDE2bGUAeXV2NDIwcDE2YmUAeXV2NDIycDE2bGUAeXV2NDIycDE2YmUAeXV2NDQ0cDE2bGUAeXV2NDQ0cDE2YmUAZHh2YTJfdmxkAHJnYjQ0NGxlAHJnYjQ0NGJlAGJncjQ0NGxlAGJncjQ0NGJlAHlhOABncmF5OGEAYmdyNDhiZQBiZ3I0OGxlAHl1djQyMHA5YmUAeXV2NDIwcDlsZQB5dXY0MjBwMTBiZQB5dXY0MjBwMTBsZQB5dXY0MjJwMTBiZQB5dXY0MjJwMTBsZQB5dXY0NDRwOWJlAHl1djQ0NHA5bGUAeXV2NDQ0cDEwYmUAeXV2NDQ0cDEwbGUAeXV2NDIycDliZQB5dXY0MjJwOWxlAGdicnAAZ2JycDliZQBnYnJwOWxlAGdicnAxMGJlAGdicnAxMGxlAGdicnAxNmJlAGdicnAxNmxlAHl1dmE0MjJwAHl1dmE0NDRwAHl1dmE0MjBwOWJlAHl1dmE0MjBwOWxlAHl1dmE0MjJwOWJlAHl1dmE0MjJwOWxlAHl1dmE0NDRwOWJlAHl1dmE0NDRwOWxlAHl1dmE0MjBwMTBiZQB5dXZhNDIwcDEwbGUAeXV2YTQyMnAxMGJlAHl1dmE0MjJwMTBsZQB5dXZhNDQ0cDEwYmUAeXV2YTQ0NHAxMGxlAHl1dmE0MjBwMTZiZQB5dXZhNDIwcDE2bGUAeXV2YTQyMnAxNmJlAHl1dmE0MjJwMTZsZQB5dXZhNDQ0cDE2YmUAeXV2YTQ0NHAxNmxlAHZkcGF1AHh5ejEybGUAeHl6MTJiZQBudjE2AG52MjBsZQBudjIwYmUAcmdiYTY0YmUAcmdiYTY0bGUAYmdyYTY0YmUAYmdyYTY0bGUAeXZ5dTQyMgB5YTE2YmUAeWExNmxlAGdicmFwAGdicmFwMTZiZQBnYnJhcDE2bGUAcXN2AG1tYWwAZDNkMTF2YV92bGQAY3VkYQAwcmdiAHJnYjAAMGJncgBiZ3IwAHl1djQyMHAxMmJlAHl1djQyMHAxMmxlAHl1djQyMHAxNGJlAHl1djQyMHAxNGxlAHl1djQyMnAxMmJlAHl1djQyMnAxMmxlAHl1djQyMnAxNGJlAHl1djQyMnAxNGxlAHl1djQ0NHAxMmJlAHl1djQ0NHAxMmxlAHl1djQ0NHAxNGJlAHl1djQ0NHAxNGxlAGdicnAxMmJlAGdicnAxMmxlAGdicnAxNGJlAGdicnAxNGxlAHl1dmo0MTFwAGJheWVyX2JnZ3I4AGJheWVyX3JnZ2I4AGJheWVyX2dicmc4AGJheWVyX2dyYmc4AGJheWVyX2JnZ3IxNmxlAGJheWVyX2JnZ3IxNmJlAGJheWVyX3JnZ2IxNmxlAGJheWVyX3JnZ2IxNmJlAGJheWVyX2dicmcxNmxlAGJheWVyX2dicmcxNmJlAGJheWVyX2dyYmcxNmxlAGJheWVyX2dyYmcxNmJlAHh2bWMAeXV2NDQwcDEwbGUAeXV2NDQwcDEwYmUAeXV2NDQwcDEybGUAeXV2NDQwcDEyYmUAYXl1djY0bGUAYXl1djY0YmUAdmlkZW90b29sYm94X3ZsZABwMDEwbGUAcDAxMGJlAGdicmFwMTJiZQBnYnJhcDEybGUAZ2JyYXAxMGJlAGdicmFwMTBsZQBtZWRpYWNvZGVjAGdyYXkxMmJlAHkxMmJlAGdyYXkxMmxlAHkxMmxlAGdyYXkxMGJlAHkxMGJlAGdyYXkxMGxlAHkxMGxlAHAwMTZsZQBwMDE2YmUAZDNkMTEAZ3JheTliZQB5OWJlAGdyYXk5bGUAeTlsZQBnYnJwZjMyYmUAZ2JycGYzMmxlAGdicmFwZjMyYmUAZ2JyYXBmMzJsZQBkcm1fcHJpbWUAb3BlbmNsAEZhaWxlZCB0byBtYXAgZnJhbWUgaW50byBkZXJpdmVkIGZyYW1lIGNvbnRleHQ6ICVkLgoASW52YWxpZCBtYXBwaW5nIGZvdW5kIHdoZW4gYXR0ZW1wdGluZyB1bm1hcC4KAGF2X2ltYWdlX2dldF9saW5lc2l6ZSBmYWlsZWQKAGFicyhzcmNfbGluZXNpemUpID49IGJ5dGV3aWR0aABsaWJhdnV0aWwvaW1ndXRpbHMuYwBhYnMoZHN0X2xpbmVzaXplKSA+PSBieXRld2lkdGgAUGljdHVyZSBzaXplICV1eCV1IGlzIGludmFsaWQKAFBpY3R1cmUgc2l6ZSAldXgldSBleGNlZWRzIHNwZWNpZmllZCBtYXggcGl4ZWwgY291bnQgJWxsZCwgc2VlIHRoZSBkb2N1bWVudGF0aW9uIGlmIHlvdSB3aXNoIHRvIGluY3JlYXNlIGl0CgBJTUdVVElMUwAhZHN0LT5mLT5idWZbMF0AbGliYXZjb2RlYy9oMjY0X3BpY3R1cmUuYwBzcmMtPmYtPmJ1ZlswXQBzcmMtPnRmLmYgPT0gc3JjLT5mACFkc3QtPnByb2dyZXNzAGxpYmF2Y29kZWMvdXRpbHMuYwBidWZfaW5kZXggPD0gYnVmX3NpemUAbGliYXZjb2RlYy9oMjY0ZGVjLmMAbm8gZnJhbWUhCgBwaWN0LT5idWZbMF0gfHwgISpnb3RfZnJhbWUARHVwbGljYXRpbmcgZmllbGQgJWQgdG8gZmlsbCBtaXNzaW5nCgBzdGVyZW9fbW9kZQBjaGVja2VyYm9hcmRfcmwAY2hlY2tlcmJvYXJkX2xyAGNvbF9pbnRlcmxlYXZlZF9ybABjb2xfaW50ZXJsZWF2ZWRfbHIAcm93X2ludGVybGVhdmVkX3JsAHJvd19pbnRlcmxlYXZlZF9scgByaWdodF9sZWZ0AGxlZnRfcmlnaHQAYm90dG9tX3RvcAB0b3BfYm90dG9tAGJsb2NrX3JsAGJsb2NrX2xyAGhhcmR3YXJlIGFjY2VsZXJhdG9yIGZhaWxlZCB0byBkZWNvZGUgcGljdHVyZQoAJXAgZmluaXNoZWQgJWQgZmllbGQgJWQKAFNQUyBpcyB1bnNldAoAbm8gbW1jbyBoZXJlCgBtbWNvOiVkICVkICVkCgBtbWNvOiB1bnJlZiBzaG9ydCBmYWlsdXJlCgBtbWNvOiB1bnJlZiBzaG9ydCAlZCBjb3VudCAlZAoAbW1jbzogdW5yZWYgbG9uZyBmYWlsdXJlCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byBzaG9ydCBhbmQgbG9uZyBhdCB0aGUgc2FtZSB0aW1lCgBtbWNvOiBjYW5ub3QgYXNzaWduIGN1cnJlbnQgcGljdHVyZSB0byAyIGxvbmcgdGVybSByZWZlcmVuY2VzCgAhaC0+Y3VyX3BpY19wdHItPmxvbmdfcmVmAGxpYmF2Y29kZWMvaDI2NF9yZWZzLmMAaWxsZWdhbCBzaG9ydCB0ZXJtIHJlZmVyZW5jZSBhc3NpZ25tZW50IGZvciBzZWNvbmQgZmllbGQgaW4gY29tcGxlbWVudGFyeSBmaWVsZCBwYWlyIChmaXJzdCBmaWVsZCBpcyBsb25nIHRlcm0pCgBpbGxlZ2FsIHNob3J0IHRlcm0gYnVmZmVyIHN0YXRlIGRldGVjdGVkCgBudW1iZXIgb2YgcmVmZXJlbmNlIGZyYW1lcyAoJWQrJWQpIGV4Y2VlZHMgbWF4ICglZDsgcHJvYmFibHkgY29ycnVwdCBpbnB1dCksIGRpc2NhcmRpbmcgb25lCgBsb25nIHRlcm0gbGlzdDoKACV1IGZu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jo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3MtPnF1YXJ0ZXJfc2FtcGxlAGd1ZXNzX2RjKCkgaXMgb3V0IG9mIG1lbW9yeQoAbmV4dF9ibG9ja2xpc3RfbGVuZ3RoIDw9IG1iX2hlaWdodCAqIG1iX3dpZHRoAHRocmVhZCBhd2FpdGluZyAlZCBmaWVsZCAlZCBmcm9tICVwCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgUFBTICglenUgPiAlenUpCgBzcHNfaWQgJXUgb3V0IG9mIHJhbmdlCgBJbnZhbGlkIGx1bWEgYml0IGRlcHRoPSVkCgBVbmltcGxlbWVudGVkIGx1bWEgYml0IGRlcHRoPSVkAEZNTyBub3Qgc3VwcG9ydGVkCgByZWZlcmVuY2Ugb3ZlcmZsb3cgKHBwcykKAENBQkFDAENBVkxDAHdlaWdodGVkAExQQVIAQ09OU1RSAFJFRFUAOHg4RENUAHBwczoldSBzcHM6JXUgJXMgc2xpY2VfZ3JvdXBzOiVkIHJlZjoldS8ldSAlcyBxcDolZC8lZC8lZC8lZCAlcyAlcyAlcyAlcwoABgoNEBIXGRsKCxASFxkbHQ0QEhcZGx0fEBIXGRsdHyESFxkbHR8hJBcZGx0fISQmGRsdHyEkJigbHR8hJCYoKgkNDxETFRYYDQ0RExUWGBkPERMVFhgZGxETFRYYGRscExUWGBkbHB4VFhgZGxweIBYYGRscHiAhGBkbHB4gISMGDRQcDRQcIBQcICUcICUqCg4UGA4UGBsUGBseGBseIgABBAgFAgMGCQwNCgcLDg8AAAEIEAkCAwoRGCAZEgsEBQwTGiEoMCkiGxQNBgcOFRwjKjE4OTIrJB0WDxceJSwzOjs0LSYfJy41PD02Lzc+P2RlbHRhIHNjYWxlICVkIGlzIGludmFsaWQKAEN1cnJlbnQgcHJvZmlsZSBkb2Vzbid0IHByb3ZpZGUgbW9yZSBSQlNQIGRhdGEgaW4gUFBTLCBza2lwcGluZwoAIGlzIG5vdCBpbXBsZW1lbnRlZC4gVXBkYXRlIHlvdXIgRkZtcGVnIHZlcnNpb24gdG8gdGhlIG5ld2VzdCBvbmUgZnJvbSBHaXQuIElmIHRoZSBwcm9ibGVtIHN0aWxsIG9jY3VycywgaXQgbWVhbnMgdGhhdCB5b3VyIGZpbGUgaGFzIGEgZmVhdHVyZSB3aGljaCBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuCgBJZiB5b3Ugd2FudCB0byBoZWxwLCB1cGxvYWQgYSBzYW1wbGUgb2YgdGhpcyBmaWxlIHRvIGZ0cDovL3VwbG9hZC5mZm1wZWcub3JnL2luY29taW5nLyBhbmQgY29udGFjdCB0aGUgZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdC4gKGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnKQoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFNQUwoAY2hyb21hX2Zvcm1hdF9pZGMgJXUAc2VwYXJhdGUgY29sb3IgcGxhbmVzIGFyZSBub3Qgc3VwcG9ydGVkCgBEaWZmZXJlbnQgY2hyb21hIGFuZCBsdW1hIGJpdCBkZXB0aABpbGxlZ2FsIGJpdCBkZXB0aCB2YWx1ZSAoJWQsICVkKQoAbG9nMl9tYXhfZnJhbWVfbnVtX21pbnVzNCBvdXQgb2YgcmFuZ2UgKDAtMTIpOiAlZAoAbG9nMl9tYXhfcG9jX2xzYiAoJWQpIGlzIG91dCBvZiByYW5nZQoAcG9jX2N5Y2xlX2xlbmd0aCBvdmVyZmxvdyAlZAoAaWxsZWdhbCBQT0MgdHlwZSAlZAoAdG9vIG1hbnkgcmVmZXJlbmNlIGZyYW1lcyAlZAoAaGVpZ2h0IG92ZXJmbG93CgBtYl93aWR0aC9oZWlnaHQgb3ZlcmZsb3cKAGRpc2NhcmRpbmcgc3BzIGNyb3BwaW5nLCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JWQgcjolZCB0OiVkIGI6JWQKAGNyb3AgdmFsdWVzIGludmFsaWQgJWQgJWQgJWQgJWQgLyAlZCAlZAoAVlVJAE92ZXJyZWFkICVzIGJ5ICVkIGJpdHMKAE1CLUFGRgBQSUMtQUZGAEZSTQA4QjgAR3JheQA0MjAAADQyMgAANDQ0AABzcHM6JXUgcHJvZmlsZTolZC8lZCBwb2M6JWQgcmVmOiVkICVkeCVkICVzICVzIGNyb3A6JXUvJXUvJXUvJXUgJXMgJXMgJWQvJWQgYiVkIHJlbzolZAoAaWxsZWdhbCBhc3BlY3QgcmF0aW8KAFRydW5jYXRlZCBWVUkKAHRpbWVfc2NhbGUvbnVtX3VuaXRzX2luX3RpY2sgaW52YWxpZCBvciB1bnN1cHBvcnRlZCAoJXUvJXUpCgBDbGlwcGluZyBpbGxlZ2FsIG51bV9yZW9yZGVyX2ZyYW1lcyAlZAoAY3BiX2NvdW50ICVkIGludmFsaWQKAGdicgByZXNlcnZlZABjaHJvbWEtZGVyaXZlZC1uYwBjaHJvbWEtZGVyaXZlZC1jAGljdGNwAEdyZWVuIE1ldGFkYXRhIEluZm8gU0VJIG1lc3NhZ2UKACAgZ3JlZW5fbWV0YWRhdGFfdHlwZTogJWQKACAgZ3JlZW5fbWV0YWRhdGFfcGVyaW9kX3R5cGU6ICVkCgAgIGdyZWVuX21ldGFkYXRhX251bV9zZWNvbmRzOiAlZAoAICBncmVlbl9tZXRhZGF0YV9udW1fcGljdHVyZXM6ICVkCgAgIFNFSSBHUkVFTiBDb21wbGV4aXR5IE1ldHJpY3M6ICVmICVmICVmICVmCgAgIHhzZF9tZXRyaWNfdHlwZTogJWQKACAgeHNkX21ldHJpY192YWx1ZTogJWYKAFNFSSB0eXBlICVkIHNpemUgJWQgdHJ1bmNhdGVkIGF0ICVkCgB1bmtub3duIFNFSSB0eXBlICVkCgBub24tZXhpc3RpbmcgU1BTICVkIHJlZmVyZW5jZWQgaW4gYnVmZmVyaW5nIHBlcmlvZAoAeDI2NCAtIGNvcmUgJWQAeDI2NCAtIGNvcmUgMDAwMABTUFMgdW5hdmFpbGFibGUgaW4gZGVjb2RlX3BpY3R1cmVfdGltaW5nCgABAQECAgMDAgNjdF90eXBlOiVYIHBpY19zdHJ1Y3Q6JWQKAGNvbnRleHRfY291bnQgJiYgaC0+c2xpY2VfY3R4W2NvbnRleHRfY291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aHJlYWRfZmluaXNoX3NldHVwKCkgY2FsbHMKAFRvbyBtYW55IGZpZWxkcwoAQnJva2VuIGZyYW1lIHBhY2tldGl6aW5nCgBzbCA9PSBoLT5zbGljZV9jdHgAUFBTIGNoYW5nZWQgYmV0d2VlbiBzbGljZXMKAFNQUyBjaGFuZ2VkIGluIHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lCgBDaGFuZ2luZyBmaWVsZCBtb2RlICglZCAtPiAlZCkgYmV0d2VlbiBzbGljZXMgaXMgbm90IGFsbG93ZWQKAHVuc2V0IGN1cl9waWNfcHRyIG9uIHNsaWNlICVkCgBJbnZhbGlkIG1peCBvZiBJRFIgYW5kIG5vbi1JRFIgc2xpY2VzCgBmaXJzdF9tYl9pbl9zbGljZSBvdmVyZmxvdwoAUG9zc2libHkgdG9vIG1hbnkgc2xpY2VzICglZCA+PSAlZCksIGluY3JlYXNlIE1BWF9TTElDRVMgYW5kIHJlY29tcGlsZSBpZiB0aGVyZSBhcmUgYXJ0aWZhY3RzCgBUAEIARgAgZml4ACBJRFIAYwBTUEFUAFRFTVAAc2xpY2U6JWQgJXMgbWI6JWQgJWMlcyVzIGZyYW1lOiVkIHBvYzolZC8lZCByZWY6JWQvJWQgcXA6JWQgbG9vcDolZDolZDolZCB3ZWlnaHQ6JWQlcyAlcwoAY3VyLT5tYmFmZiA9PSAoaCktPm1iX2FmZl9mcmFtZQBsaWJhdmNvZGVjL2gyNjRfZGlyZWN0LmMAY28gbG9jYXRlZCBQT0NzIHVuYXZhaWxhYmxlCgBwb2NkaWZmIG92ZXJmbG93CgBwb2NkaWZmMCBvdmVyZmxvdwoAYWJzX2RpZmZfcGljX251bSBvdmVyZmxvdwoAbG9uZ190ZXJtX3BpY19pZHggb3ZlcmZsb3cKAHJlZmVyZW5jZSBwaWN0dXJlIG1pc3NpbmcgZHVyaW5nIHJlb3JkZXIKAE1pc3NpbmcgcmVmZXJlbmNlIHBpY3R1cmUsIGRlZmF1bHQgaXMgJWQKAGF2X2J1ZmZlcl9nZXRfcmVmX2NvdW50KHNsLT5yZWZfbGlzdFtsaXN0XVtpbmRleF0ucGFyZW50LT5mLT5idWZbMF0pID4gMABsZW4gPD0gMzIARGlzY2FyZGluZyBtaXNtYXRjaGluZyByZWZlcmVuY2UKAGluZGV4IDwgZGVmX2xlbgBoLT5jdXJfcGljX3B0cgBoLT5jdXJfcGljX3B0ci0+Zi0+YnVmWzBdAEludmFsaWQgZmllbGQgbW9kZSBjb21iaW5hdGlvbiAlZC8lZAoARm91bmQgcmVmZXJlbmNlIGFuZCBub24tcmVmZXJlbmNlIGZpZWxkcyBpbiB0aGUgc2FtZSBmcmFtZSwgd2hpY2gARnJhbWUgbnVtIGdhcCAlZCAlZAoASW52YWxpZCBQT0MgJWQ8JWQKAEluY3JlYXNpbmcgcmVvcmRlciBidWZmZXIgdG8gJWQKAHBpY3MgPD0gMTYAb29vAG5vIHBpY3R1cmUgJXMKAEF0dGVtcHQgdG8gc3RhcnQgYSBmcmFtZSBvdXRzaWRlIFNFVFVQIHN0YXRlCgBubyBmcmFtZSBidWZmZXIgYXZhaWxhYmxlCgBkZXNjLT5mbGFncyAmICgxIDw8IDQpACFwaWMtPmYtPmRhdGFbMF0AIXBpYy0+aHdhY2NlbF9waWN0dXJlX3ByaXZhdGUAdGhyZWFkX2dldF9idWZmZXIoKSBmYWlsZWQKAGdldF9idWZmZXIoKSBjYW5ub3QgYmUgY2FsbGVkIGFmdGVyIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKQoAZ2V0X2J1ZmZlcigpIGZhaWxlZAoAdmlkZW9fZ2V0X2J1ZmZlcjogaW1hZ2UgcGFyYW1ldGVycyBpbnZhbGlkCgBwaWMtPmRhdGFbKl0hPU5VTEwgaW4gZ2V0X2J1ZmZlcl9pbnRlcm5hbAoAZnJhbWUtPmRhdGFbaV0AQnVmZmVyIHJldHVybmVkIGJ5IGdldF9idWZmZXIyKCkgZGlkIG5vdCB6ZXJvIHVudXNlZCBwbGFuZSBwb2ludGVycwoASW5jb25zaXN0ZW50IGNoYW5uZWwgY29uZmlndXJhdGlvbi4KAFRvbyBtYW55IGNoYW5uZWxzOiAlZC4KAGNoYW5naW5nIHdpZHRoICVkIC0+ICVkIC8gaGVpZ2h0ICVkIC0+ICVkIG9uIHNsaWNlICVkCgBSZWluaXQgY29udGV4dCB0byAlZHglZCwgcGl4X2ZtdDogJXMKAGgyNjRfc2xpY2VfaGVhZGVyX2luaXQoKSBmYWlsZWQKAENvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnkKAFVuc3VwcG9ydGVkIGJpdCBkZXB0aCAlZAoAY29udGV4dF9pbml0KCkgZmFpbGVkLgoAQ2Fubm90IGFsbG9jYXRlIG1lbW9yeS4KAFJlZmVyZW5jZSBub3QgYXZhaWxhYmxlIGZvciBlcnJvciBjb25jZWFsaW5nCgBSZWZlcmVuY2UgaW52YWxpZAoAbGliYXZjb2RlYy9oMjY0cHJlZC5jAGJpdF9kZXB0aDw9OABsaWJhdmNvZGVjL2gyNjRkc3AuYwAAEAAggKAMDRQVDg8WFxwdJCUeHyYnNDU8PTY3Pj9ERUxNRkdOT1xdZGVeX2ZnbG10dW5vdncAKFAABAEIDAUJDQIGCg4DBwsPAAAJERIMKBsHIzkdHjomNS8BAhgLEzAUDioyFiU7Hzw3CAMgBBopDRUxKw8sNCc9PhAKGQUhIgYcOCQXMy0uNj8AAAgQAQkYIBECGSgwOCEKAxIpMTkaCwQTIioyOhsMBRQjKzM7HA0GFSQsNDwdDhYlLTU9HgcPJi42PhcfJy83PwAACQI4EhoiGyMcJB0tBzYnCBgZISkLKgwrDSwONQ8+LxAgKAoxBDIFMwY0Fj0mFzcBETADORM6FDsVPCUeLh8/AAABAjUDBzYbBCYpCCI3MBw+BScuLCoWCRgjOzgxEh0LPzQGGiUoIS89LSsVFzoRCjMZJCA8FDkQMh8TDx4ODQxpZ25vcmluZyBpbnZhbGlkIFNBUjogJWQvJWQKAHNwcy0+Y3JvcF9yaWdodCArIHNwcy0+Y3JvcF9sZWZ0IDwgKHVuc2lnbmVkKWgtPndpZHRoAHNwcy0+Y3JvcF90b3AgKyBzcHMtPmNyb3BfYm90dG9tIDwgKHVuc2lnbmVkKWgtPmhlaWdodABnZXRfZm9ybWF0KCkgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBmZl90aHJlYWRfZmluaXNoX3NldHVwKCkKAG4gPj0gMQBJbnZhbGlkIGZvcm1hdCByZXR1cm5lZCBieSBnZXRfZm9ybWF0KCkgY2FsbGJhY2suCgBGb3JtYXQgJXMgY2hvc2VuIGJ5IGdldF9mb3JtYXQoKS4KAEludmFsaWQgcmV0dXJuIGZyb20gZ2V0X2Zvcm1hdCgpOiAlcyBub3QgaW4gcG9zc2libGUgbGlzdC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogZG9lcyBub3QgbWF0Y2ggdGhlIGZvcm1hdCBvZiB0aGUgcHJvdmlkZWQgZnJhbWVzIGNvbnRleHQuCgBJbnZhbGlkIHNldHVwIGZvciBmb3JtYXQgJXM6IGRvZXMgbm90IG1hdGNoIHRoZSB0eXBlIG9mIHRoZSBwcm92aWRlZCBkZXZpY2UgY29udGV4dC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogbWlzc2luZyBjb25maWd1cmF0aW9uLgoARm9ybWF0ICVzIHJlcXVpcmVzIGh3YWNjZWwgaW5pdGlhbGlzYXRpb24uCgBGb3JtYXQgJXMgbm90IHVzYWJsZSwgcmV0cnlpbmcgZ2V0X2Zvcm1hdCgpIHdpdGhvdXQgaXQuCgBJZ25vcmluZyBleHBlcmltZW50YWwgaHdhY2NlbDogJXMKAEZhaWxlZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBod2FjY2VsIGluaXRpYWxpc2F0aW9uIHJldHVybmVkIGVycm9yLgoAIWgtPnNldHVwX2ZpbmlzaGVkAHNsaWNlIHR5cGUgJWQgdG9vIGxhcmdlIGF0ICVkCgBBIG5vbi1pbnRyYSBzbGljZSBpbiBhbiBJRFIgTkFMIHVuaXQuCgBGcmFtZSBudW0gY2hhbmdlIGZyb20gJWQgdG8gJWQKAFRoaXMgc3RyZWFtIHdhcyBnZW5lcmF0ZWQgYnkgYSBicm9rZW4gZW5jb2RlciwgaW52YWxpZCA4eDggaW5mZXJlbmNlCgBjYWJhY19pbml0X2lkYyAldSBvdmVyZmxvdwoAUVAgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nX2ZpbHRlcl9pZGMgJXUgb3V0IG9mIHJhbmdlCgBkZWJsb2NraW5nIGZpbHRlciBwYXJhbWV0ZXJzICVkICVkIG91dCBvZiByYW5nZQoAaWxsZWdhbCBsb25nIHJlZiBpbiBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAGNocm9tYV9sb2cyX3dlaWdodF9kZW5vbSAlZCBpcyBvdXQgb2YgcmFuZ2UKAE91dCBvZiByYW5nZSB3ZWlnaHQKAHJlZmVyZW5jZSBjb3VudCBvdmVyZmxvdwoAaWxsZWdhbCBtb2RpZmljYXRpb25fb2ZfcGljX251bXNfaWRjICV1CgByZWZlcmVuY2Ugb3ZlcmZsb3cgJXUgPiAldSBvciAldSA+ICV1CgBJbnZhbGlkIHplcm8tc2l6ZWQgVkNMIE5BTCB1bml0CgBFeGNlZWRlZCBuZXh0IE5BTEZGIHBvc2l0aW9uLCByZS1zeW5jaW5nLgoATm8gc3RhcnQgY29kZSBpcyBmb3VuZC4KAE5BTEZGOiBDb25zdW1lZCBvbmx5ICVkIGJ5dGVzIGluc3RlYWQgb2YgJWQKAEludmFsaWQgTkFMIHVuaXQgJWQsIHNraXBwaW5nLgoAbmFsX3VuaXRfdHlwZTogJWQsIG5hbF9yZWZfaWRjOiAlZAoAbmFsX3VuaXRfdHlwZTogJWQoJXMpLCBudWhfbGF5ZXJfaWQ6ICVkLCB0ZW1wb3JhbF9pZDogJWQKAD8AU0VJX1NVRkZJWABTRUlfUFJFRklYAEZEX05VVABFT0JfTlVUAEVPU19OVVQAQVVEAFBQUwBTUFMAVlBTAENSQV9OVVQASURSX05fTFAASURSX1dfUkFETABCTEFfTl9MUABCTEFfV19SQURMAEJMQV9XX0xQAFJBU0xfUgBSQVNMX04AUkFETF9SAFJBRExfTgBTVFNBX1IAU1RTQV9OAFRTQV9SAFRTQV9OAFRSQUlMX1IAVFJBSUxfTgBuYWwtPnNraXBwZWRfYnl0ZXNfcG9zX3NpemUgPj0gbmFsLT5za2lwcGVkX2J5dGVzAGxpYmF2Y29kZWMvaDI2NDVfcGFyc2UuYwB2YWwgfHwgIW1pbl9zaXplAC4vbGliYXZ1dGlsL21lbV9pbnRlcm5hbC5oAGF2Y0MgJWQgdG9vIHNob3J0CgBEZWNvZGluZyBzcHMgJWQgZnJvbSBhdmNDIGZhaWxlZAoARGVjb2RpbmcgcHBzICVkIGZyb20gYXZjQyBmYWlsZWQKAFNQUyBkZWNvZGluZyBmYWlsdXJlLCB0cnlpbmcgYWdhaW4gYWZ0ZXIgZXNjYXBpbmcgdGhlIE5BTAoAcHRocmVhZF9vbmNlIGhhcyBmYWlsZWQuAEVycm9yIHJlc2lsaWVuY2Ugd2l0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bGMKAG5lZWRlZCAlZCBoYWQgJWQKAGluY29ycmVjdCBjb2RlcwoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZABIMjY0IERlY29kZXIAaXNfYXZjAGlzIGF2YwBuYWxfbGVuZ3RoX3NpemUAZW5hYmxlX2VyAEVuYWJsZSBlcnJvciByZXNpbGllbmNlIG9uIGRhbWFnZWQgZnJhbWVzICh1bnNhZmUpAHgyNjRfYnVpbGQAQXNzdW1lIHRoaXMgeDI2NCB2ZXJzaW9uIGlmIG5vIHgyNjQgdmVyc2lvbiBmb3VuZCBpbiBhbnkgU0VJAHAgPD0gZW5kAFEyNjQAcHBzX2lkICV1IG91dCBvZiByYW5nZQoAbm9uLWV4aXN0aW5nIFBQUyAldSByZWZlcmVuY2VkCgBub24tZXhpc3RpbmcgU1BTICV1IHJlZmVyZW5jZWQKAG1pc3NpbmcgcGljdHVyZSBpbiBhY2Nlc3MgdW5pdCB3aXRoIHNpemUgJWQKAGlsbGVnYWwgcmVvcmRlcmluZ19vZl9waWNfbnVtc19pZGMgJWQKAHJlZmVyZW5jZSBjb3VudCAlZCBvdmVyZmxvdwoAaWxsZWdhbCBtZW1vcnkgbWFuYWdlbWVudCBjb250cm9sIG9wZXJhdGlvbiAlZAoASW52YWxpZCBOQUwgdW5pdCBzaXplICglZCA+ICVkKS4KAEFWQy1wYXJzZXI6IG5hbCBsZW5ndGggc2l6ZSBpbnZhbGlkCgBBVkMtcGFyc2VyOiBuYWwgc2l6ZSAlZCByZW1haW5pbmcgJWQKAAAAAQABAgABAgMBAgMCAwMAAQACAQADAgEAAwIBAwIDAAABAAECAAECAwABAgMEAAECAwQFAAECAwQFBgABAgMEBQYHAQIDBAUGBwIDBAUGBwMEBQYHBAUGBwUGBwYHBwABAAIBAAMCAQAEAwIBAAUEAwIBAAYFBAMCAQAHBgUEAwIBAAcGBQQDAgEHBgUEAwIHBgUEAwcGBQQHBgUHBgdtaXNzaW5nIHBpY3R1cmUgaW4gYWNjZXNzIHVuaXQKAEludmFsaWQgc2xpY2Ugc2VnbWVudCBhZGRyZXNzOiAldS4KAFVua25vd24gc2xpY2UgdHlwZTogJWQuCgBJbnZhbGlkIFVFIGdvbG9tYiBjb2RlCgBEZWNvZGluZyBTRUkKAFNraXBwZWQgU1VGRklYIFNFSSAlZAoAU2tpcHBlZCBQUkVGSVggU0VJICVkCgBudW1fc3BzX2lkc19taW51czEgJWQgaW52YWxpZAoAYWN0aXZlX3BhcmFtZXRlcl9zZXRfaWQgJWQgaW52YWxpZAoAQk9UVE9NIEZpZWxkCgBUT1AgRmllbGQKAERlY29kaW5nIFBQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFBQUyAoJXRkID4gJXp1KQoAUFBTIGlkIG91dCBvZiByYW5nZTogJWQKAFNQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBTUFMgJXUgZG9lcyBub3QgZXhpc3QuCgBkaWZmX2N1X3FwX2RlbHRhX2RlcHRoICVkIGlzIGludmFsaWQKAHBwc19jYl9xcF9vZmZzZXQgb3V0IG9mIHJhbmdlOiAlZAoAcHBzX2NyX3FwX29mZnNldCBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9jb2x1bW5zX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBudW1fdGlsZV9yb3dzX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBJbnZhbGlkIHRpbGUgd2lkdGhzLgoASW52YWxpZCB0aWxlIGhlaWdodHMuCgBwcHNfYmV0YV9vZmZzZXRfZGl2MiBvdXQgb2YgcmFuZ2U6ICVkCgBwcHNfdGNfb2Zmc2V0X2RpdjIgb3V0IG9mIHJhbmdlOiAlZAoAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbF9taW51czIgb3V0IG9mIHJhbmdlOiAlZAoAT3ZlcnJlYWQgUFBTIGJ5ICVkIGJpdHMKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW5fbWludXMxIHNoYWxsIGJlIGluIHRoZSByYW5nZSBbMCwgNV0uCgBjYl9xcF9vZmZzZXRfbGlzdCBub3QgdGVzdGVkIHlldC4KAEludmFsaWQgZGVsdGEgaW4gc2NhbGluZyBsaXN0IGRhdGE6ICVkLgoAEBAQEBESFRgQEBAQERMWGRAQERIUFhkdEBASFRgbHyQRERQYHiMpLxITFhsjLDZBFRYZHyk2RlgYGR0kL0FYcxAQEBAREhQYEBAQERIUGBkQEBESFBgZHBAREhQYGRwhERIUGBkcISkSFBgZHCEpNhQYGRwhKTZHGBkcISk2R1tEZWNvZGluZyBTUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBTUFMgKCV0ZCA+ICV6dSkKAFBhcnNlZCBTUFM6IGlkICVkOyBjb2RlZCB3eGg6ICVkeCVkOyBjcm9wcGVkIHd4aDogJWR4JWQ7IHBpeF9mbXQ6ICVzLgoAIShzLT5zcHNfbGlzdFtpZF0gJiYgcy0+c3BzID09IChIRVZDU1BTKilzLT5zcHNfbGlzdFtpZF0tPmRhdGEpAGxpYmF2Y29kZWMvaGV2Y19wcy5jAFZQUyBpZCBvdXQgb2YgcmFuZ2U6ICVkCgBWUFMgJWQgZG9lcyBub3QgZXhpc3QKAHNwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgBjaHJvbWFfZm9ybWF0X2lkYyAlZCBpcyBpbnZhbGlkCgBkaXNjYXJkaW5nIHNwcyBjb25mb3JtYW5jZSB3aW5kb3csIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDoldSByOiV1IHQ6JXUgYjoldQoATHVtYSBiaXQgZGVwdGggKCVkKSBpcyBkaWZmZXJlbnQgZnJvbSBjaHJvbWEgYml0IGRlcHRoICglZCksIHRoaXMgaXMgdW5zdXBwb3J0ZWQuCgBsb2cyX21heF9waWNfb3JkZXJfY250X2xzYl9taW51czQgb3V0IHJhbmdlOiAlZAoAc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAc3BzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfbWluX2NiX3NpemUASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9kaWZmX21heF9taW5fY29kaW5nX2Jsb2NrX3NpemUASW52YWxpZCB2YWx1ZSBmb3IgbG9nMl9taW5fdGJfc2l6ZQBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZQBQQ00gYml0IGRlcHRoICglZCwgJWQpIGlzIGdyZWF0ZXIgdGhhbiBub3JtYWwgYml0IGRlcHRoICglZCkKAFRvbyBtYW55IHNob3J0IHRlcm0gUlBTOiAlZC4KAFRvbyBtYW55IGxvbmcgdGVybSByZWYgcGljczogJWQuCgBleHRlbmRlZF9wcmVjaXNpb25fcHJvY2Vzc2luZ19mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGhpZ2hfcHJlY2lzaW9uX29mZnNldHNfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAGNhYmFjX2J5cGFzc19hbGlnbm1lbnRfZW5hYmxlZF9mbGFnIG5vdCB5ZXQgaW1wbGVtZW50ZWQKAEludmFsaWQgY3JvcHBpbmcgb2Zmc2V0czogJXUvJXUvJXUvJXUKAERpc3BsYXlpbmcgdGhlIHdob2xlIHZpZGVvIHN1cmZhY2UuCgBDVEIgc2l6ZSBvdXQgb2YgcmFuZ2U6IDJeJWQKAGxvZzJfY3RiX3NpemUgJWQgZGlmZmVycyBmcm9tIHRoZSBib3VuZHMgb2YgYW55IGtub3duIHByb2ZpbGUKAGxvZzJfY3RiX3NpemUgJWQASW52YWxpZCBjb2RlZCBmcmFtZSBkaW1lbnNpb25zLgoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50ZXIgb3V0IG9mIHJhbmdlOiAlZAoAbWF4X3RyYW5zZm9ybV9oaWVyYXJjaHlfZGVwdGhfaW50cmEgb3V0IG9mIHJhbmdlOiAlZAoAbWF4IHRyYW5zZm9ybSBibG9jayBzaXplIG91dCBvZiByYW5nZTogJWQKAE92ZXJyZWFkIFNQUyBieSAlZCBiaXRzCgBEZWNvZGluZyBWVUkKAFVua25vd24gU0FSIGluZGV4OiAldS4KAEludmFsaWQgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdwoAZGlzY2FyZGluZyB2dWkgZGVmYXVsdCBkaXNwbGF5IHdpbmRvdywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiV1IHI6JXUgdDoldSBiOiV1CgBTdHJhbmdlIFZVSSB0aW1pbmcgaW5mb3JtYXRpb24sIHJldHJ5aW5nLi4uCgBSZXRyeSBnb3QgJXUvJXUgZnBzCgBTdHJhbmdlIFZVSSBiaXRzdHJlYW0gcmVzdHJpY3Rpb24gaW5mb3JtYXRpb24sIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBPdmVycmVhZCBpbiBWVUksIHJldHJ5aW5nIGZyb20gdGltaW5nIGluZm9ybWF0aW9uLi4uCgBuYl9jcGIgJWQgaW52YWxpZAoASW52YWxpZCB2YWx1ZSBvZiBkZWx0YV9pZHggaW4gc2xpY2UgaGVhZGVyIFJQUzogJWQgPiAlZC4KAEludmFsaWQgdmFsdWUgb2YgYWJzX2RlbHRhX3JwczogJWQKAEludmFsaWQgbnVtX2RlbHRhX3BvY3M6ICVkCgBUb28gbWFueSByZWZzIGluIGEgc2hvcnQgdGVybSBSUFMuCgBJbnZhbGlkIHZhbHVlIG9mIGRlbHRhX3BvYzogJWQKAFRoZSBmb2xsb3dpbmcgYml0LWRlcHRocyBhcmUgY3VycmVudGx5IHNwZWNpZmllZDogOCwgOSwgMTAgYW5kIDEyIGJpdHMsIGNocm9tYV9mb3JtYXRfaWRjIGlzICVkLCBkZXB0aCBpcyAlZAoAUFRMIGluZm9ybWF0aW9uIHRvbyBzaG9ydAoAUFRMIGluZm9ybWF0aW9uIGZvciBzdWJsYXllciAlaSB0b28gc2hvcnQKAE5vdCBlbm91Z2ggZGF0YSBmb3Igc3VibGF5ZXIgJWkgbGV2ZWxfaWRjCgBNYWluIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIDEwIHByb2ZpbGUgYml0c3RyZWFtCgBNYWluIFN0aWxsIFBpY3R1cmUgcHJvZmlsZSBiaXRzdHJlYW0KAFJhbmdlIEV4dGVuc2lvbiBwcm9maWxlIGJpdHN0cmVhbQoAVW5rbm93biBIRVZDIHByb2ZpbGU6ICVkCgBEZWNvZGluZyBWUFMKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBWUFMgKCV0ZCA+ICV6dSkKAHZwc19yZXNlcnZlZF90aHJlZV8yYml0cyBpcyBub3QgdGhyZWUKAHZwc19yZXNlcnZlZF9mZmZmXzE2Yml0cyBpcyBub3QgMHhmZmZmCgB2cHNfbWF4X3N1Yl9sYXllcnMgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9kZWNfcGljX2J1ZmZlcmluZ19taW51czEgb3V0IG9mIHJhbmdlOiAlZAoAdnBzX21heF9udW1fcmVvcmRlcl9waWNzIG91dCBvZiByYW5nZTogJWQKAHRvbyBtYW55IGxheWVyX2lkX2luY2x1ZGVkX2ZsYWdzCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICVkIGlzIGludmFsaWQKAE92ZXJyZWFkIFZQUyBieSAlZCBiaXRzCgBidWZfc2l6ZSA+PSAwAGxpYmF2Y29kZWMvYnl0ZXN0cmVhbS5oAEludmFsaWQgTkFMIHVuaXQgc2l6ZSBpbiBleHRyYWRhdGEuCgBEZWNvZGluZyBuYWwgdW5pdCAlZCAlZCBmcm9tIGh2Y0MgZmFpbGVkCgBJZ25vcmluZyBOQUwgdHlwZSAlZCBpbiBleHRyYWRhdGEKAC9kZXYvdXJhbmRvbQAvZGV2L3JhbmRvbQBzaXplb2YodG1wKSA+PSBhdl9zaGFfc2l6ZQBsaWJhdnV0aWwvcmFuZG9tX3NlZWQuYwCAAEZhaWxlZCB0byBzZXQgY2xvc2Ugb24gZXhlYwoAIAoJDQBBTEwARkwAZnJvbnQgbGVmdABGUgBmcm9udCByaWdodABGQwBmcm9udCBjZW50ZXIATEZFAGxvdyBmcmVxdWVuY3kAQkwAYmFjayBsZWZ0AEJSAGJhY2sgcmlnaHQARkxDAGZyb250IGxlZnQtb2YtY2VudGVyAEZSQwBmcm9udCByaWdodC1vZi1jZW50ZXIAQkMAYmFjayBjZW50ZXIAU0wAc2lkZSBsZWZ0AFNSAHNpZGUgcmlnaHQAVEMAdG9wIGNlbnRlcgBURkwAdG9wIGZyb250IGxlZnQAVEZDAHRvcCBmcm9udCBjZW50ZXIAVEZSAHRvcCBmcm9udCByaWdodABUQkwAdG9wIGJhY2sgbGVmdABUQkMAdG9wIGJhY2sgY2VudGVyAFRCUgB0b3AgYmFjayByaWdodABETABkb3dubWl4IGxlZnQARFIAZG93bm1peCByaWdodABXTAB3aWRlIGxlZnQAV1IAd2lkZSByaWdodABTREwAc3Vycm91bmQgZGlyZWN0IGxlZnQAU0RSAHN1cnJvdW5kIGRpcmVjdCByaWdodABMRkUyAGxvdyBmcmVxdWVuY3kgMgBtb25vAHN0ZXJlbwAyLjEAMy4wADMuMChiYWNrKQA0LjAAcXVhZABxdWFkKHNpZGUpADMuMQA1LjAANS4wKHNpZGUpADQuMQA1LjEANS4xKHNpZGUpADYuMAA2LjAoZnJvbnQpAGhleGFnb25hbAA2LjEANi4xKGJhY2spADYuMShmcm9udCkANy4wADcuMChmcm9udCkANy4xADcuMSh3aWRlKQA3LjEod2lkZS1zaWRlKQBvY3RhZ29uYWwAaGV4YWRlY2Fnb25hbABkb3dubWl4ACVzACVkIGNoYW5uZWxzACAoACsAKQAlZCUqMVs6L10lZCVjAGNvbnN0X3ZhbHVlcyBhcnJheSB0b28gc21hbGwgZm9yICVzCgBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIKACVmCgBJbnZhbGlkIGNoYXJzICclcycgYXQgdGhlIGVuZCBvZiBleHByZXNzaW9uICclcycKAFVuZGVmaW5lZCBjb25zdGFudCBvciBtaXNzaW5nICcoJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBpbiAnJXMnCgBNaXNzaW5nICcpJyBvciB0b28gbWFueSBhcmdzIGluICclcycKAHNpbmgAY29zaAB0YW5oAHNpbgBjb3MAdGFuAGF0YW4AYXNpbgBhY29zAGV4cABhYnMAdGltZQBzcXVpc2gAZ2F1c3MAbW9kAG1heABtaW4AZXEAZ3RlAGd0AGx0ZQBsdABsZABpc25hbgBpc2luZgBzdAB3aGlsZQB0YXlsb3IAcm9vdABmbG9vcgBjZWlsAHJvdW5kAHNxcnQAbm90AHBvdwBwcmludABoeXBvdABnY2QAaWYAaWZub3QAYml0YW5kAGJpdG9yAGJldHdlZW4AY2xpcABhdGFuMgBsZXJwAFVua25vd24gZnVuY3Rpb24gaW4gJyVzJwoARQBQSQBQSEkAUVAyTEFNQkRBAEV2YWwAVmFsdWUgJWYgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiByYW5nZSBbJWcgLSAlZ10KAFZhbHVlICVmIGZvciBwYXJhbWV0ZXIgJyVzJyBpcyBub3QgYSB2YWxpZCBzZXQgb2YgMzJiaXQgaW50ZWdlciBmbGFncwoAZGV0ZWN0ZWQgJWQgbG9naWNhbCBjb3JlcwoAAAEcAh0OGAMeFhQPGREECB8bDRcVExAHGgwSBgsFCglVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgZHVyYXRpb24KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjaGFubmVsIGxheW91dAoASW52YWxpZCBvcHRpb24gdHlwZS4KAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBjb2xvcgoAMHgAcmFuZG9tAGJpa2VzaGVkADAxMjM0NTY3ODlBQkNERUZhYmNkZWYASW52YWxpZCAweFJSR0dCQltBQV0gY29sb3Igc3RyaW5nOiAnJXMnCgBDYW5ub3QgZmluZCBjb2xvciAnJXMnCgBJbnZhbGlkIGFscGhhIHZhbHVlIHNwZWNpZmllciAnJXMnIGluICclcycKAEFsaWNlQmx1ZQBBbnRpcXVlV2hpdGUAQXF1YQBBcXVhbWFyaW5lAEF6dXJlAEJlaWdlAEJpc3F1ZQBCbGFjawBCbGFuY2hlZEFsbW9uZABCbHVlAEJsdWVWaW9sZXQAQnJvd24AQnVybHlXb29kAENhZGV0Qmx1ZQBDaGFydHJldXNlAENob2NvbGF0ZQBDb3JhbABDb3JuZmxvd2VyQmx1ZQBDb3Juc2lsawBDcmltc29uAEN5YW4ARGFya0JsdWUARGFya0N5YW4ARGFya0dvbGRlblJvZABEYXJrR3JheQBEYXJrR3JlZW4ARGFya0toYWtpAERhcmtNYWdlbnRhAERhcmtPbGl2ZUdyZWVuAERhcmtvcmFuZ2UARGFya09yY2hpZABEYXJrUmVkAERhcmtTYWxtb24ARGFya1NlYUdyZWVuAERhcmtTbGF0ZUJsdWUARGFya1NsYXRlR3JheQBEYXJrVHVycXVvaXNlAERhcmtWaW9sZXQARGVlcFBpbmsARGVlcFNreUJsdWUARGltR3JheQBEb2RnZXJCbHVlAEZpcmVCcmljawBGbG9yYWxXaGl0ZQBGb3Jlc3RHcmVlbgBGdWNoc2lhAEdhaW5zYm9ybwBHaG9zdFdoaXRlAEdvbGQAR29sZGVuUm9kAEdyYXkAR3JlZW4AR3JlZW5ZZWxsb3cASG9uZXlEZXcASG90UGluawBJbmRpYW5SZWQASW5kaWdvAEl2b3J5AEtoYWtpAExhdmVuZGVyAExhdmVuZGVyQmx1c2gATGF3bkdyZWVuAExlbW9uQ2hpZmZvbgBMaWdodEJsdWUATGlnaHRDb3JhbABMaWdodEN5YW4ATGlnaHRHb2xkZW5Sb2RZZWxsb3cATGlnaHRHcmVlbgBMaWdodEdyZXkATGlnaHRQaW5rAExpZ2h0U2FsbW9uAExpZ2h0U2VhR3JlZW4ATGlnaHRTa3lCbHVlAExpZ2h0U2xhdGVHcmF5AExpZ2h0U3RlZWxCbHVlAExpZ2h0WWVsbG93AExpbWUATGltZUdyZWVuAExpbmVuAE1hZ2VudGEATWFyb29uAE1lZGl1bUFxdWFNYXJpbmUATWVkaXVtQmx1ZQBNZWRpdW1PcmNoaWQATWVkaXVtUHVycGxlAE1lZGl1bVNlYUdyZWVuAE1lZGl1bVNsYXRlQmx1ZQBNZWRpdW1TcHJpbmdHcmVlbgBNZWRpdW1UdXJxdW9pc2UATWVkaXVtVmlvbGV0UmVkAE1pZG5pZ2h0Qmx1ZQBNaW50Q3JlYW0ATWlzdHlSb3NlAE1vY2Nhc2luAE5hdmFqb1doaXRlAE5hdnkAT2xkTGFjZQBPbGl2ZQBPbGl2ZURyYWIAT3JhbmdlAE9yYW5nZVJlZABPcmNoaWQAUGFsZUdvbGRlblJvZABQYWxlR3JlZW4AUGFsZVR1cnF1b2lzZQBQYWxlVmlvbGV0UmVkAFBhcGF5YVdoaXAAUGVhY2hQdWZmAFBlcnUAUGluawBQbHVtAFBvd2RlckJsdWUAUHVycGxlAFJlZABSb3N5QnJvd24AUm95YWxCbHVlAFNhZGRsZUJyb3duAFNhbG1vbgBTYW5keUJyb3duAFNlYUdyZWVuAFNlYVNoZWxsAFNpZW5uYQBTaWx2ZXIAU2t5Qmx1ZQBTbGF0ZUJsdWUAU2xhdGVHcmF5AFNub3cAU3ByaW5nR3JlZW4AU3RlZWxCbHVlAFRhbgBUZWFsAFRoaXN0bGUAVG9tYXRvAFR1cnF1b2lzZQBWaW9sZXQAV2hlYXQAV2hpdGUAV2hpdGVTbW9rZQBZZWxsb3cAWWVsbG93R3JlZW4Abm93ACVKOiVNOiVTACVNOiVTACVIOiVNACVIJU0AJUgAJUg6JU06JVMAJUglTSVTAGphbnVhcnkAZmVicnVhcnkAbWFyY2gAYXByaWwAbWF5AGp1bmUAanVseQBhdWd1c3QAc2VwdGVtYmVyAG9jdG9iZXIAbm92ZW1iZXIAZGVjZW1iZXIAJVkgLSAlbSAtICVkACVZJW0lZABzYW1wbGUgZm9ybWF0AFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyAlcwoAVmFsdWUgJWQgZm9yIHBhcmFtZXRlciAnJXMnIG91dCBvZiAlcyBmb3JtYXQgcmFuZ2UgWyVkIC0gJWRdCgBwaXhlbCBmb3JtYXQAcmdiMzIAYmdyMzIAJXMlcwBsZQB2YWFwaQBVbmFibGUgdG8gcGFyc2Ugb3B0aW9uIHZhbHVlICIlcyIgYXMgdmlkZW8gcmF0ZQoAJWQ6JWQlYwBudHNjAHBhbABxbnRzYwBxcGFsAHNudHNjAHNwYWwAbnRzYy1maWxtAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBpbWFnZSBzaXplCgBzcWNpZgBxY2lmAGNpZgA0Y2lmADE2Y2lmAHFxdmdhAHF2Z2EAdmdhAHN2Z2EAeGdhAHV4Z2EAcXhnYQBzeGdhAHFzeGdhAGhzeGdhAHd2Z2EAd3hnYQB3c3hnYQB3dXhnYQB3b3hnYQB3cXN4Z2EAd3F1eGdhAHdoc3hnYQB3aHV4Z2EAY2dhAGVnYQBoZDQ4MABoZDcyMABoZDEwODAAMmsAMmtkY2kAMmtmbGF0ADJrc2NvcGUANGsANGtkY2kANGtmbGF0ADRrc2NvcGUAbmhkAGhxdmdhAHdxdmdhAGZ3cXZnYQBodmdhAHFoZAB1aGQyMTYwAHVoZDQzMjAAdHJ1ZSx5LHllcyxlbmFibGUsZW5hYmxlZCxvbgBmYWxzZSxuLG5vLGRpc2FibGUsZGlzYWJsZWQsb2ZmAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBib29sZWFuCgBBVk9wdGlvbiB0eXBlICVkIG9mIG9wdGlvbiAlcyBub3QgaW1wbGVtZW50ZWQgeWV0CgBFcnJvciBzZXR0aW5nIG9wdGlvbiAlcyB0byB2YWx1ZSAlcy4KAG5iX3RocmVhZHMgPj0gMABsaWJhdnV0aWwvc2xpY2V0aHJlYWQuYwBuYl9qb2JzID4gMABGaW5hbCB0aHJlYWQgdXBkYXRlIGZhaWxlZAoAcC0+YXZjdHgtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPIHx8IHAtPmF2Y3R4LT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9BVURJTwBsaWJhdmNvZGVjL3B0aHJlYWRfZnJhbWUuYwBmY3R4LT5hc3luY19sb2NrAEFzc2VydGlvbiAlcyBmYWlsZWQgYXQgJXM6JWQKAHJldCA+PSAwAGxpYmF2Y29kZWMvb3B0aW9ucy5jAEFWQ29kZWNDb250ZXh0AGIAc2V0IGJpdHJhdGUgKGluIGJpdHMvcykAYWIAYnQAU2V0IHZpZGVvIGJpdHJhdGUgdG9sZXJhbmNlIChpbiBiaXRzL3MpLiBJbiAxLXBhc3MgbW9kZSwgYml0cmF0ZSB0b2xlcmFuY2Ugc3BlY2lmaWVzIGhvdyBmYXIgcmF0ZWNvbnRyb2wgaXMgd2lsbGluZyB0byBkZXZpYXRlIGZyb20gdGhlIHRhcmdldCBhdmVyYWdlIGJpdHJhdGUgdmFsdWUuIFRoaXMgaXMgbm90IHJlbGF0ZWQgdG8gbWluaW11bS9tYXhpbXVtIGJpdHJhdGUuIExvd2VyaW5nIHRvbGVyYW5jZSB0b28gbXVjaCBoYXMgYW4gYWR2ZXJzZSBlZmZlY3Qgb24gcXVhbGl0eS4AZmxhZ3MAdW5hbGlnbmVkAGFsbG93IGRlY29kZXJzIHRvIHByb2R1Y2UgdW5hbGlnbmVkIG91dHB1dABtdjQAdXNlIGZvdXIgbW90aW9uIHZlY3RvcnMgcGVyIG1hY3JvYmxvY2sgKE1QRUctNCkAcXBlbAB1c2UgMS80LXBlbCBtb3Rpb24gY29tcGVuc2F0aW9uAGxvb3AAdXNlIGxvb3AgZmlsdGVyAHFzY2FsZQB1c2UgZml4ZWQgcXNjYWxlAHBhc3MxAHVzZSBpbnRlcm5hbCAyLXBhc3MgcmF0ZWNvbnRyb2wgaW4gZmlyc3QgIHBhc3MgbW9kZQBwYXNzMgB1c2UgaW50ZXJuYWwgMi1wYXNzIHJhdGVjb250cm9sIGluIHNlY29uZCBwYXNzIG1vZGUAZ3JheQBvbmx5IGRlY29kZS9lbmNvZGUgZ3JheXNjYWxlAHBzbnIAZXJyb3JbP10gdmFyaWFibGVzIHdpbGwgYmUgc2V0IGR1cmluZyBlbmNvZGluZwB0cnVuY2F0ZWQASW5wdXQgYml0c3RyZWFtIG1pZ2h0IGJlIHJhbmRvbWx5IHRydW5jYXRlZABpbGRjdAB1c2UgaW50ZXJsYWNlZCBEQ1QAbG93X2RlbGF5AGZvcmNlIGxvdyBkZWxheQBnbG9iYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGluIGV4dHJhZGF0YSBpbnN0ZWFkIG9mIGV2ZXJ5IGtleWZyYW1lAGJpdGV4YWN0AHVzZSBvbmx5IGJpdGV4YWN0IGZ1bmN0aW9ucyAoZXhjZXB0IChJKURDVCkAYWljAEguMjYzIGFkdmFuY2VkIGludHJhIGNvZGluZyAvIE1QRUctNCBBQyBwcmVkaWN0aW9uAGlsbWUAaW50ZXJsYWNlZCBtb3Rpb24gZXN0aW1hdGlvbgBjZ29wAGNsb3NlZCBHT1AAb3V0cHV0X2NvcnJ1cHQAT3V0cHV0IGV2ZW4gcG90ZW50aWFsbHkgY29ycnVwdGVkIGZyYW1lcwBmYXN0AGFsbG93IG5vbi1zcGVjLWNvbXBsaWFudCBzcGVlZHVwIHRyaWNrcwBmbGFnczIAbm9vdXQAc2tpcCBiaXRzdHJlYW0gZW5jb2RpbmcAaWdub3JlY3JvcABpZ25vcmUgY3JvcHBpbmcgaW5mb3JtYXRpb24gZnJvbSBzcHMAbG9jYWxfaGVhZGVyAHBsYWNlIGdsb2JhbCBoZWFkZXJzIGF0IGV2ZXJ5IGtleWZyYW1lIGluc3RlYWQgb2YgaW4gZXh0cmFkYXRhAGNodW5rcwBGcmFtZSBkYXRhIG1pZ2h0IGJlIHNwbGl0IGludG8gbXVsdGlwbGUgY2h1bmtzAHNob3dhbGwAU2hvdyBhbGwgZnJhbWVzIGJlZm9yZSB0aGUgZmlyc3Qga2V5ZnJhbWUAZXhwb3J0X212cwBleHBvcnQgbW90aW9uIHZlY3RvcnMgdGhyb3VnaCBmcmFtZSBzaWRlIGRhdGEAc2tpcF9tYW51YWwAZG8gbm90IHNraXAgc2FtcGxlcyBhbmQgZXhwb3J0IHNraXAgaW5mb3JtYXRpb24gYXMgZnJhbWUgc2lkZSBkYXRhAGFzc19yb19mbHVzaF9ub29wAGRvIG5vdCByZXNldCBBU1MgUmVhZE9yZGVyIGZpZWxkIG9uIGZsdXNoAHRpbWVfYmFzZQBnAHNldCB0aGUgZ3JvdXAgb2YgcGljdHVyZSAoR09QKSBzaXplAGFyAHNldCBhdWRpbyBzYW1wbGluZyByYXRlIChpbiBIeikAYWMAc2V0IG51bWJlciBvZiBhdWRpbyBjaGFubmVscwBjdXRvZmYAc2V0IGN1dG9mZiBiYW5kd2lkdGgAZnJhbWVfc2l6ZQBmcmFtZV9udW1iZXIAZGVsYXkAcWNvbXAAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGNvbXByZXNzaW9uIChWQlIpLiBDb25zdGFudCBvZiByYXRlY29udHJvbCBlcXVhdGlvbi4gUmVjb21tZW5kZWQgcmFuZ2UgZm9yIGRlZmF1bHQgcmNfZXE6IDAuMC0xLjAAcWJsdXIAdmlkZW8gcXVhbnRpemVyIHNjYWxlIGJsdXIgKFZCUikAcW1pbgBtaW5pbXVtIHZpZGVvIHF1YW50aXplciBzY2FsZSAoVkJSKQBxbWF4AG1heGltdW0gdmlkZW8gcXVhbnRpemVyIHNjYWxlIChWQlIpAHFkaWZmAG1heGltdW0gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBxdWFudGl6ZXIgc2NhbGVzIChWQlIpAGJmAHNldCBtYXhpbXVtIG51bWJlciBvZiBCLWZyYW1lcyBiZXR3ZWVuIG5vbi1CLWZyYW1lcwBiX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGJfc3RyYXRlZ3kAc3RyYXRlZ3kgdG8gY2hvb3NlIGJldHdlZW4gSS9QL0ItZnJhbWVzAHBzAFJUUCBwYXlsb2FkIHNpemUgaW4gYnl0ZXMAbXZfYml0cwBoZWFkZXJfYml0cwBpX3RleF9iaXRzAHBfdGV4X2JpdHMAaV9jb3VudABwX2NvdW50AHNraXBfY291bnQAbWlzY19iaXRzAGZyYW1lX2JpdHMAY29kZWNfdGFnAGJ1ZwB3b3JrIGFyb3VuZCBub3QgYXV0b2RldGVjdGVkIGVuY29kZXIgYnVncwBhdXRvZGV0ZWN0AHh2aWRfaWxhY2UAWHZpZCBpbnRlcmxhY2luZyBidWcgKGF1dG9kZXRlY3RlZCBpZiBGT1VSQ0MgPT0gWFZJWCkAdW1wNAAoYXV0b2RldGVjdGVkIGlmIEZPVVJDQyA9PSBVTVA0KQBub19wYWRkaW5nAHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQpAGFtdgBxcGVsX2Nocm9tYQBzdGRfcXBlbABvbGQgc3RhbmRhcmQgcXBlbCAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAcXBlbF9jaHJvbWEyAGRpcmVjdF9ibG9ja3NpemUAZGlyZWN0LXFwZWwtYmxvY2tzaXplIGJ1ZyAoYXV0b2RldGVjdGVkIHBlciBGT1VSQ0MvdmVyc2lvbikAZWRnZQBlZGdlIHBhZGRpbmcgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBocGVsX2Nocm9tYQBkY19jbGlwAG1zAHdvcmsgYXJvdW5kIHZhcmlvdXMgYnVncyBpbiBNaWNyb3NvZnQncyBicm9rZW4gZGVjb2RlcnMAdHJ1bmMAdHJ1bmNhdGVkIGZyYW1lcwBpZWRnZQBzdHJpY3QAaG93IHN0cmljdGx5IHRvIGZvbGxvdyB0aGUgc3RhbmRhcmRzAHZlcnkAc3RyaWN0bHkgY29uZm9ybSB0byBhIG9sZGVyIG1vcmUgc3RyaWN0IHZlcnNpb24gb2YgdGhlIHNwZWMgb3IgcmVmZXJlbmNlIHNvZnR3YXJlAHN0cmljdGx5IGNvbmZvcm0gdG8gYWxsIHRoZSB0aGluZ3MgaW4gdGhlIHNwZWMgbm8gbWF0dGVyIHdoYXQgdGhlIGNvbnNlcXVlbmNlcwBub3JtYWwAdW5vZmZpY2lhbABhbGxvdyB1bm9mZmljaWFsIGV4dGVuc2lvbnMAZXhwZXJpbWVudGFsAGFsbG93IG5vbi1zdGFuZGFyZGl6ZWQgZXhwZXJpbWVudGFsIHRoaW5ncwBiX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEItZnJhbWVzAGVycl9kZXRlY3QAc2V0IGVycm9yIGRldGVjdGlvbiBmbGFncwBjcmNjaGVjawB2ZXJpZnkgZW1iZWRkZWQgQ1JDcwBiaXRzdHJlYW0AZGV0ZWN0IGJpdHN0cmVhbSBzcGVjaWZpY2F0aW9uIGRldmlhdGlvbnMAYnVmZmVyAGRldGVjdCBpbXByb3BlciBiaXRzdHJlYW0gbGVuZ3RoAGV4cGxvZGUAYWJvcnQgZGVjb2Rpbmcgb24gbWlub3IgZXJyb3IgZGV0ZWN0aW9uAGlnbm9yZV9lcnIAaWdub3JlIGVycm9ycwBjYXJlZnVsAGNvbnNpZGVyIHRoaW5ncyB0aGF0IHZpb2xhdGUgdGhlIHNwZWMsIGFyZSBmYXN0IHRvIGNoZWNrIGFuZCBoYXZlIG5vdCBiZWVuIHNlZW4gaW4gdGhlIHdpbGQgYXMgZXJyb3JzAGNvbXBsaWFudABjb25zaWRlciBhbGwgc3BlYyBub24gY29tcGxpYW5jaWVzIGFzIGVycm9ycwBhZ2dyZXNzaXZlAGNvbnNpZGVyIHRoaW5ncyB0aGF0IGEgc2FuZSBlbmNvZGVyIHNob3VsZCBub3QgZG8gYXMgYW4gZXJyb3IAaGFzX2JfZnJhbWVzAGJsb2NrX2FsaWduAG1wZWdfcXVhbnQAdXNlIE1QRUcgcXVhbnRpemVycyBpbnN0ZWFkIG9mIEguMjYzAHJjX292ZXJyaWRlX2NvdW50AG1heHJhdGUAbWF4aW11bSBiaXRyYXRlIChpbiBiaXRzL3MpLiBVc2VkIGZvciBWQlYgdG9nZXRoZXIgd2l0aCBidWZzaXplLgBtaW5yYXRlAG1pbmltdW0gYml0cmF0ZSAoaW4gYml0cy9zKS4gTW9zdCB1c2VmdWwgaW4gc2V0dGluZyB1cCBhIENCUiBlbmNvZGUuIEl0IGlzIG9mIGxpdHRsZSB1c2Ugb3RoZXJ3aXNlLgBidWZzaXplAHNldCByYXRlY29udHJvbCBidWZmZXIgc2l6ZSAoaW4gYml0cykAaV9xZmFjdG9yAFFQIGZhY3RvciBiZXR3ZWVuIFAtIGFuZCBJLWZyYW1lcwBpX3FvZmZzZXQAUVAgb2Zmc2V0IGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAGRjdABEQ1QgYWxnb3JpdGhtAGF1dG8AYXV0b3NlbGVjdCBhIGdvb2Qgb25lAGZhc3RpbnQAZmFzdCBpbnRlZ2VyAGFjY3VyYXRlIGludGVnZXIAbW14AGFsdGl2ZWMAZmFhbgBmbG9hdGluZyBwb2ludCBBQU4gRENUAGx1bWlfbWFzawBjb21wcmVzc2VzIGJyaWdodCBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAHRjcGx4X21hc2sAdGVtcG9yYWwgY29tcGxleGl0eSBtYXNraW5nAHNjcGx4X21hc2sAc3BhdGlhbCBjb21wbGV4aXR5IG1hc2tpbmcAcF9tYXNrAGludGVyIG1hc2tpbmcAZGFya19tYXNrAGNvbXByZXNzZXMgZGFyayBhcmVhcyBzdHJvbmdlciB0aGFuIG1lZGl1bSBvbmVzAGlkY3QAc2VsZWN0IElEQ1QgaW1wbGVtZW50YXRpb24Ac2ltcGxlAHNpbXBsZW1teABhcm0Ac2ltcGxlYXJtAHNpbXBsZWFybXY1dGUAc2ltcGxlYXJtdjYAc2ltcGxlbmVvbgB4dmlkAHh2aWRtbXgAZGVwcmVjYXRlZCwgZm9yIGNvbXBhdGliaWxpdHkgb25seQBmYWFuaQBmbG9hdGluZyBwb2ludCBBQU4gSURDVABzaW1wbGVhdXRvAHNsaWNlX2NvdW50AGVjAHNldCBlcnJvciBjb25jZWFsbWVudCBzdHJhdGVneQBndWVzc19tdnMAaXRlcmF0aXZlIG1vdGlvbiB2ZWN0b3IgKE1WKSBzZWFyY2ggKHNsb3cpAGRlYmxvY2sAdXNlIHN0cm9uZyBkZWJsb2NrIGZpbHRlciBmb3IgZGFtYWdlZCBNQnMAZmF2b3JfaW50ZXIAZmF2b3IgcHJlZGljdGluZyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBiaXRzX3Blcl9jb2RlZF9zYW1wbGUAcHJlZABwcmVkaWN0aW9uIG1ldGhvZABsZWZ0AHBsYW5lAG1lZGlhbgBhc3BlY3QAc2FtcGxlIGFzcGVjdCByYXRpbwBzYXIAZGVidWcAcHJpbnQgc3BlY2lmaWMgZGVidWcgaW5mbwBwaWN0AHBpY3R1cmUgaW5mbwByYwByYXRlIGNvbnRyb2wAbWJfdHlwZQBtYWNyb2Jsb2NrIChNQikgdHlwZQBxcABwZXItYmxvY2sgcXVhbnRpemF0aW9uIHBhcmFtZXRlciAoUVApAGRjdF9jb2VmZgBncmVlbl9tZXRhZGF0YQBza2lwAHN0YXJ0Y29kZQBlcgBlcnJvciByZWNvZ25pdGlvbgBtbWNvAG1lbW9yeSBtYW5hZ2VtZW50IGNvbnRyb2wgb3BlcmF0aW9ucyAoSC4yNjQpAGJ1Z3MAYnVmZmVycwBwaWN0dXJlIGJ1ZmZlciBhbGxvY2F0aW9ucwB0aHJlYWRfb3BzAHRocmVhZGluZyBvcGVyYXRpb25zAG5vbWMAc2tpcCBtb3Rpb24gY29tcGVuc2F0aW9uAGNtcABmdWxsLXBlbCBNRSBjb21wYXJlIGZ1bmN0aW9uAGNtcF9mdW5jAHN1YmNtcABzdWItcGVsIE1FIGNvbXBhcmUgZnVuY3Rpb24AbWJjbXAAbWFjcm9ibG9jayBjb21wYXJlIGZ1bmN0aW9uAGlsZGN0Y21wAGludGVybGFjZWQgRENUIGNvbXBhcmUgZnVuY3Rpb24AZGlhX3NpemUAZGlhbW9uZCB0eXBlICYgc2l6ZSBmb3IgbW90aW9uIGVzdGltYXRpb24AbGFzdF9wcmVkAGFtb3VudCBvZiBtb3Rpb24gcHJlZGljdG9ycyBmcm9tIHRoZSBwcmV2aW91cyBmcmFtZQBwcmVtZQBwcmUgbW90aW9uIGVzdGltYXRpb24AcHJlY21wAHByZSBtb3Rpb24gZXN0aW1hdGlvbiBjb21wYXJlIGZ1bmN0aW9uAHNhZABzdW0gb2YgYWJzb2x1dGUgZGlmZmVyZW5jZXMsIGZhc3QAc3NlAHN1bSBvZiBzcXVhcmVkIGVycm9ycwBzYXRkAHN1bSBvZiBhYnNvbHV0ZSBIYWRhbWFyZCB0cmFuc2Zvcm1lZCBkaWZmZXJlbmNlcwBzdW0gb2YgYWJzb2x1dGUgRENUIHRyYW5zZm9ybWVkIGRpZmZlcmVuY2VzAHN1bSBvZiBzcXVhcmVkIHF1YW50aXphdGlvbiBlcnJvcnMgKGF2b2lkLCBsb3cgcXVhbGl0eSkAYml0AG51bWJlciBvZiBiaXRzIG5lZWRlZCBmb3IgdGhlIGJsb2NrAHJkAHJhdGUgZGlzdG9ydGlvbiBvcHRpbWFsLCBzbG93AHplcm8AMAB2c2FkAHN1bSBvZiBhYnNvbHV0ZSB2ZXJ0aWNhbCBkaWZmZXJlbmNlcwB2c3NlAHN1bSBvZiBzcXVhcmVkIHZlcnRpY2FsIGRpZmZlcmVuY2VzAG5zc2UAbm9pc2UgcHJlc2VydmluZyBzdW0gb2Ygc3F1YXJlZCBkaWZmZXJlbmNlcwBkY3RtYXgAY2hyb21hAG1zYWQAc3VtIG9mIGFic29sdXRlIGRpZmZlcmVuY2VzLCBtZWRpYW4gcHJlZGljdGVkAHByZV9kaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbiBwcmUtcGFzcwBzdWJxAHN1Yi1wZWwgbW90aW9uIGVzdGltYXRpb24gcXVhbGl0eQBtZV9yYW5nZQBsaW1pdCBtb3Rpb24gdmVjdG9ycyByYW5nZSAoMTAyMyBmb3IgRGl2WCBwbGF5ZXIpAGdsb2JhbF9xdWFsaXR5AGNvZGVyAHZsYwB2YXJpYWJsZSBsZW5ndGggY29kZXIgLyBIdWZmbWFuIGNvZGVyAGFyaXRobWV0aWMgY29kZXIAcmF3AHJhdyAobm8gZW5jb2RpbmcpAHJsZQBydW4tbGVuZ3RoIGNvZGVyAGNvbnRleHQAY29udGV4dCBtb2RlbABzbGljZV9mbGFncwBtYmQAbWFjcm9ibG9jayBkZWNpc2lvbiBhbGdvcml0aG0gKGhpZ2ggcXVhbGl0eSBtb2RlKQB1c2UgbWJjbXAAYml0cwB1c2UgZmV3ZXN0IGJpdHMAdXNlIGJlc3QgcmF0ZSBkaXN0b3J0aW9uAHNjX3RocmVzaG9sZABzY2VuZSBjaGFuZ2UgdGhyZXNob2xkAG5yAG5vaXNlIHJlZHVjdGlvbgByY19pbml0X29jY3VwYW5jeQBudW1iZXIgb2YgYml0cyB3aGljaCBzaG91bGQgYmUgbG9hZGVkIGludG8gdGhlIHJjIGJ1ZmZlciBiZWZvcmUgZGVjb2Rpbmcgc3RhcnRzAHRocmVhZHMAc2V0IHRoZSBudW1iZXIgb2YgdGhyZWFkcwBhdXRvZGV0ZWN0IGEgc3VpdGFibGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gdXNlAGRjAGludHJhX2RjX3ByZWNpc2lvbgBuc3NldwBuc3NlIHdlaWdodABza2lwX3RvcABudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSB0b3Agd2hpY2ggYXJlIHNraXBwZWQAc2tpcF9ib3R0b20AbnVtYmVyIG9mIG1hY3JvYmxvY2sgcm93cyBhdCB0aGUgYm90dG9tIHdoaWNoIGFyZSBza2lwcGVkAHByb2ZpbGUAdW5rbm93bgBhYWNfbWFpbgBhYWNfbG93AGFhY19zc3IAYWFjX2x0cABhYWNfaGUAYWFjX2hlX3YyAGFhY19sZABhYWNfZWxkAG1wZWcyX2FhY19sb3cAbXBlZzJfYWFjX2hlAGR0cwBkdHNfZXMAZHRzXzk2XzI0AGR0c19oZF9ocmEAZHRzX2hkX21hAG1wZWc0X3NwAG1wZWc0X2NvcmUAbXBlZzRfbWFpbgBtcGVnNF9hc3AAbWFpbjEwAG1zYmMAbGV2ZWwAbG93cmVzAGRlY29kZSBhdCAxPSAxLzIsIDI9MS80LCAzPTEvOCByZXNvbHV0aW9ucwBza2lwX3RocmVzaG9sZABmcmFtZSBza2lwIHRocmVzaG9sZABza2lwX2ZhY3RvcgBmcmFtZSBza2lwIGZhY3RvcgBza2lwX2V4cABmcmFtZSBza2lwIGV4cG9uZW50AHNraXBjbXAAZnJhbWUgc2tpcCBjb21wYXJlIGZ1bmN0aW9uAG1ibG1pbgBtaW5pbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1ibG1heABtYXhpbXVtIG1hY3JvYmxvY2sgTGFncmFuZ2UgZmFjdG9yIChWQlIpAG1lcGMAbW90aW9uIGVzdGltYXRpb24gYml0cmF0ZSBwZW5hbHR5IGNvbXBlbnNhdGlvbiAoMS4wID0gMjU2KQBza2lwX2xvb3BfZmlsdGVyAHNraXAgbG9vcCBmaWx0ZXJpbmcgcHJvY2VzcyBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBhdmRpc2NhcmQAc2tpcF9pZGN0AHNraXAgSURDVC9kZXF1YW50aXphdGlvbiBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBza2lwX2ZyYW1lAHNraXAgZGVjb2RpbmcgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZXMAbm9uZQBkaXNjYXJkIG5vIGZyYW1lAGRlZmF1bHQAZGlzY2FyZCB1c2VsZXNzIGZyYW1lcwBub3JlZgBkaXNjYXJkIGFsbCBub24tcmVmZXJlbmNlIGZyYW1lcwBiaWRpcgBkaXNjYXJkIGFsbCBiaWRpcmVjdGlvbmFsIGZyYW1lcwBub2tleQBkaXNjYXJkIGFsbCBmcmFtZXMgZXhjZXB0IGtleWZyYW1lcwBub2ludHJhAGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQgSSBmcmFtZXMAYWxsAGRpc2NhcmQgYWxsIGZyYW1lcwBiaWRpcl9yZWZpbmUAcmVmaW5lIHRoZSB0d28gbW90aW9uIHZlY3RvcnMgdXNlZCBpbiBiaWRpcmVjdGlvbmFsIG1hY3JvYmxvY2tzAGJyZF9zY2FsZQBkb3duc2NhbGUgZnJhbWVzIGZvciBkeW5hbWljIEItZnJhbWUgZGVjaXNpb24Aa2V5aW50X21pbgBtaW5pbXVtIGludGVydmFsIGJldHdlZW4gSURSLWZyYW1lcwByZWZzAHJlZmVyZW5jZSBmcmFtZXMgdG8gY29uc2lkZXIgZm9yIG1vdGlvbiBjb21wZW5zYXRpb24AY2hyb21hb2Zmc2V0AGNocm9tYSBRUCBvZmZzZXQgZnJvbSBsdW1hAHRyZWxsaXMAcmF0ZS1kaXN0b3J0aW9uIG9wdGltYWwgcXVhbnRpemF0aW9uAG12MF90aHJlc2hvbGQAYl9zZW5zaXRpdml0eQBhZGp1c3Qgc2Vuc2l0aXZpdHkgb2YgYl9mcmFtZV9zdHJhdGVneSAxAGNvbXByZXNzaW9uX2xldmVsAG1pbl9wcmVkaWN0aW9uX29yZGVyAG1heF9wcmVkaWN0aW9uX29yZGVyAHRpbWVjb2RlX2ZyYW1lX3N0YXJ0AEdPUCB0aW1lY29kZSBmcmFtZSBzdGFydCBudW1iZXIsIGluIG5vbi1kcm9wLWZyYW1lIGZvcm1hdABiaXRzX3Blcl9yYXdfc2FtcGxlAGNoYW5uZWxfbGF5b3V0AHJlcXVlc3RfY2hhbm5lbF9sYXlvdXQAcmNfbWF4X3Zidl91c2UAcmNfbWluX3Zidl91c2UAdGlja3NfcGVyX2ZyYW1lAGNvbG9yX3ByaW1hcmllcwBjb2xvciBwcmltYXJpZXMAY29sb3JfcHJpbWFyaWVzX3R5cGUAYnQ3MDkAQlQuNzA5AFVuc3BlY2lmaWVkAGJ0NDcwbQBCVC40NzAgTQBidDQ3MGJnAEJULjQ3MCBCRwBzbXB0ZTE3MG0AU01QVEUgMTcwIE0Ac21wdGUyNDBtAFNNUFRFIDI0MCBNAGZpbG0ARmlsbQBidDIwMjAAQlQuMjAyMABzbXB0ZTQyOABTTVBURSA0MjgtMQBzbXB0ZTQyOF8xAHNtcHRlNDMxAFNNUFRFIDQzMS0yAHNtcHRlNDMyAFNNUFRFIDQyMi0xAGplZGVjLXAyMgBKRURFQyBQMjIAdW5zcGVjaWZpZWQAY29sb3JfdHJjAGNvbG9yIHRyYW5zZmVyIGNoYXJhY3RlcmlzdGljcwBjb2xvcl90cmNfdHlwZQBnYW1tYTIyAGdhbW1hMjgAbGluZWFyAExpbmVhcgBsb2cxMDAATG9nAGxvZzMxNgBMb2cgc3F1YXJlIHJvb3QAaWVjNjE5NjYtMi00AElFQyA2MTk2Ni0yLTQAYnQxMzYxZQBCVC4xMzYxAGllYzYxOTY2LTItMQBJRUMgNjE5NjYtMi0xAGJ0MjAyMC0xMABCVC4yMDIwIC0gMTAgYml0AGJ0MjAyMC0xMgBCVC4yMDIwIC0gMTIgYml0AHNtcHRlMjA4NABTTVBURSAyMDg0AGFyaWItc3RkLWI2NwBBUklCIFNURC1CNjcAbG9nAGxvZ19zcXJ0AGllYzYxOTY2XzJfNABidDEzNjEAaWVjNjE5NjZfMl8xAGJ0MjAyMF8xMGJpdABidDIwMjBfMTJiaXQAY29sb3JzcGFjZQBjb2xvciBzcGFjZQBjb2xvcnNwYWNlX3R5cGUAcmdiAFJHQgBmY2MARkNDAHljZ2NvAFlDR0NPAGJ0MjAyMG5jAEJULjIwMjAgTkNMAGJ0MjAyMGMAQlQuMjAyMCBDTABzbXB0ZTIwODUAU01QVEUgMjA4NQB5Y29jZwBidDIwMjBfbmNsAGJ0MjAyMF9jbABjb2xvcl9yYW5nZQBjb2xvciByYW5nZQBjb2xvcl9yYW5nZV90eXBlAHR2AE1QRUcgKDIxOSoyXihuLTgpKQBwYwBKUEVHICgyXm4tMSkAbXBlZwBqcGVnAGNocm9tYV9zYW1wbGVfbG9jYXRpb24AY2hyb21hIHNhbXBsZSBsb2NhdGlvbgBjaHJvbWFfc2FtcGxlX2xvY2F0aW9uX3R5cGUATGVmdABjZW50ZXIAQ2VudGVyAHRvcGxlZnQAVG9wLWxlZnQAdG9wAFRvcABib3R0b21sZWZ0AEJvdHRvbS1sZWZ0AGJvdHRvbQBCb3R0b20AbG9nX2xldmVsX29mZnNldABzZXQgdGhlIGxvZyBsZXZlbCBvZmZzZXQAc2xpY2VzAHNldCB0aGUgbnVtYmVyIG9mIHNsaWNlcywgdXNlZCBpbiBwYXJhbGxlbGl6ZWQgZW5jb2RpbmcAdGhyZWFkX3R5cGUAc2VsZWN0IG11bHRpdGhyZWFkaW5nIHR5cGUAc2xpY2UAZnJhbWUAYXVkaW9fc2VydmljZV90eXBlAGF1ZGlvIHNlcnZpY2UgdHlwZQBtYQBNYWluIEF1ZGlvIFNlcnZpY2UAZWYARWZmZWN0cwB2aQBWaXN1YWxseSBJbXBhaXJlZABoaQBIZWFyaW5nIEltcGFpcmVkAGRpAERpYWxvZ3VlAGNvAENvbW1lbnRhcnkAZW0ARW1lcmdlbmN5AHZvAFZvaWNlIE92ZXIAa2EAS2FyYW9rZQByZXF1ZXN0X3NhbXBsZV9mbXQAc2FtcGxlIGZvcm1hdCBhdWRpbyBkZWNvZGVycyBzaG91bGQgcHJlZmVyAHBrdF90aW1lYmFzZQBzdWJfY2hhcmVuYwBzZXQgaW5wdXQgdGV4dCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nAHN1Yl9jaGFyZW5jX21vZGUAc2V0IGlucHV0IHRleHQgc3VidGl0bGVzIGNoYXJhY3RlciBlbmNvZGluZyBtb2RlAGRvX25vdGhpbmcAcHJlX2RlY29kZXIAc3ViX3RleHRfZm9ybWF0AHNldCBkZWNvZGVkIHRleHQgc3VidGl0bGUgZm9ybWF0AGFzcwBhc3Nfd2l0aF90aW1pbmdzAHJlZmNvdW50ZWRfZnJhbWVzAHNpZGVfZGF0YV9vbmx5X3BhY2tldHMAYXBwbHlfY3JvcHBpbmcAc2tpcF9hbHBoYQBTa2lwIHByb2Nlc3NpbmcgYWxwaGEAZmllbGRfb3JkZXIARmllbGQgb3JkZXIAcHJvZ3Jlc3NpdmUAdHQAYmIAdGIAZHVtcF9zZXBhcmF0b3IAc2V0IGluZm9ybWF0aW9uIGR1bXAgZmllbGQgc2VwYXJhdG9yAGNvZGVjX3doaXRlbGlzdABMaXN0IG9mIGRlY29kZXJzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYmUgdXNlZABwaXhlbF9mb3JtYXQAc2V0IHBpeGVsIGZvcm1hdAB2aWRlb19zaXplAHNldCB2aWRlbyBzaXplAG1heF9waXhlbHMATWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzAGh3YWNjZWxfZmxhZ3MAaWdub3JlX2xldmVsAGlnbm9yZSBsZXZlbCBldmVuIGlmIHRoZSBjb2RlYyBsZXZlbCB1c2VkIGlzIHVua25vd24gb3IgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gc3VwcG9ydGVkIGxldmVsIHJlcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBkcml2ZXIAYWxsb3dfaGlnaF9kZXB0aABhbGxvdyB0byBvdXRwdXQgWVVWIHBpeGVsIGZvcm1hdHMgd2l0aCBhIGRpZmZlcmVudCBjaHJvbWEgc2FtcGxpbmcgdGhhbiA0OjI6MCBhbmQvb3Igb3RoZXIgdGhhbiA4IGJpdHMgcGVyIGNvbXBvbmVudABhbGxvd19wcm9maWxlX21pc21hdGNoAGF0dGVtcHQgdG8gZGVjb2RlIGFueXdheSBpZiBIVyBhY2NlbGVyYXRlZCBkZWNvZGVyJ3Mgc3VwcG9ydGVkIHByb2ZpbGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoIHRoZSBzdHJlYW0AZXh0cmFfaHdfZnJhbWVzAE51bWJlciBvZiBleHRyYSBoYXJkd2FyZSBmcmFtZXMgdG8gYWxsb2NhdGUgZm9yIHRoZSB1c2VyAE5VTEwAQVZCU0ZDb250ZXh0AFRoaXMgZGVjb2RlciBkb2VzIG5vdCBzdXBwb3J0IHBhcmFtZXRlciBjaGFuZ2VzLCBidXQgUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB3YXMgc2VudCB0byBpdC4KAEludmFsaWQgY2hhbm5lbCBjb3VudABJbnZhbGlkIHNhbXBsZSByYXRlAFBBUkFNX0NIQU5HRSBzaWRlIGRhdGEgdG9vIHNtYWxsLgoARXJyb3IgYXBwbHlpbmcgcGFyYW1ldGVyIGNoYW5nZXMuCgBFcnJvciBwcmUtcHJvY2Vzc2luZyBhIHBhY2tldCBiZWZvcmUgZGVjb2RpbmcKACFmcmFtZS0+YnVmWzBdAChmcmFtZS0+cHJpdmF0ZV9yZWYgJiYgZnJhbWUtPnByaXZhdGVfcmVmLT5zaXplID09IHNpemVvZihGcmFtZURlY29kZURhdGEpKSB8fCAhKGF2Y3R4LT5jb2RlYy0+Y2FwYWJpbGl0aWVzICYgKDEgPDwgMSkpAHNraXAgJWQgLyBkaXNjYXJkICVkIHNhbXBsZXMgZHVlIHRvIHNpZGUgZGF0YQoAc2tpcCB3aG9sZSBmcmFtZSwgc2tpcCBsZWZ0OiAlZAoAQ291bGQgbm90IHVwZGF0ZSB0aW1lc3RhbXBzIGZvciBza2lwcGVkIHNhbXBsZXMuCgBza2lwICVkLyVkIHNhbXBsZXMKAENvdWxkIG5vdCB1cGRhdGUgdGltZXN0YW1wcyBmb3IgZGlzY2FyZGVkIHNhbXBsZXMuCgBkaXNjYXJkICVkLyVkIHNhbXBsZXMKAE11bHRpcGxlIGZyYW1lcyBpbiBhIHBhY2tldC4KAFRvbyBtYW55IGVycm9ycyB3aGVuIGRyYWluaW5nLCB0aGlzIGlzIGEgYnVnLiBTdG9wIGRyYWluaW5nIGFuZCBmb3JjZSBFT0YuCgBmcmFtZS0+YnVmWzBdAGF2X3BhY2tldF9yZWYoKSBmYWlsZWQgaW4gc3VibWl0X3BhY2tldCgpCgBudWxsACwAQSBub24tZXhpc3RpbmcgYml0c3RyZWFtIGZpbHRlciAlcyByZXF1ZXN0ZWQgYnkgYSBkZWNvZGVyLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LgoASW52YWxpZCBjcm9wcGluZyBpbmZvcm1hdGlvbiBzZXQgYnkgYSBkZWNvZGVyOiAlenUvJXp1LyV6dS8lenUgKGZyYW1lIHNpemUgJWR4JWQpLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0CgBpbmRleCA+IC0weDIwMDAwMDAwACFwLT5od2FjY2VsX3NlcmlhbGl6aW5nAEEgZnJhbWUgdGhyZWFkZWQgZGVjb2RlciBkaWQgbm90IGZyZWUgdGhlIGZyYW1lIG9uIGZhaWx1cmUuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBBcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkICVkIHRocmVhZHMuIFVzaW5nIGEgdGhyZWFkIGNvdW50IGdyZWF0ZXIgdGhhbiAlZCBpcyBub3QgcmVjb21tZW5kZWQuCgBObyBjb2RlYyBwcm92aWRlZCB0byBhdmNvZGVjX29wZW4yKCkKAFRoaXMgQVZDb2RlY0NvbnRleHQgd2FzIGFsbG9jYXRlZCBmb3IgJXMsIGJ1dCAlcyBwYXNzZWQgdG8gYXZjb2RlY19vcGVuMigpCgBDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgJyVzJwoASWdub3JpbmcgaW52YWxpZCB3aWR0aC9oZWlnaHQgdmFsdWVzCgBpZ25vcmluZyBpbnZhbGlkIFNBUjogJXUvJXUKAENvZGVjIHR5cGUgb3IgaWQgbWlzbWF0Y2hlcwoAZW5jb2RlcgBkZWNvZGVyAFRoZSAlcyAnJXMnIGlzIGV4cGVyaW1lbnRhbCBidXQgZXhwZXJpbWVudGFsIGNvZGVjcyBhcmUgbm90IGVuYWJsZWQsIGFkZCAnLXN0cmljdCAlZCcgaWYgeW91IHdhbnQgdG8gdXNlIGl0LgoAQWx0ZXJuYXRpdmVseSB1c2UgdGhlIG5vbiBleHBlcmltZW50YWwgJXMgJyVzJy4KAFRoZSBtYXhpbXVtIHZhbHVlIGZvciBsb3dyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvZGVyIGlzICVkCgBUaGUgZW5jb2RlciB0aW1lYmFzZSBpcyBub3Qgc2V0LgoAJWQAU3BlY2lmaWVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgcGl4ZWwgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHNhbXBsZSByYXRlICVkIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0IG5vdCBzcGVjaWZpZWQKAFNwZWNpZmllZCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBudW1iZXIgb2Ygc3BlY2lmaWVkIGNoYW5uZWxzICVkCgBTcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkIGlzIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBiaXQgZGVwdGggJWQgbm90IHBvc3NpYmxlIHdpdGggdGhlIHNwZWNpZmllZCBwaXhlbCBmb3JtYXRzIGRlcHRoICVkCgBkaW1lbnNpb25zIG5vdCBzZXQKAEJpdHJhdGUgJWxsZCBpcyBleHRyZW1lbHkgbG93LCBtYXliZSB5b3UgbWVhbiAlbGxkawoAdGlja3NfcGVyX2ZyYW1lICVkIHRvbyBsYXJnZSBmb3IgdGhlIHRpbWViYXNlICVkLyVkLgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5waXhfZm10IGFuZCBBVkhXRnJhbWVzQ29udGV4dC5mb3JtYXQKAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnN3X3BpeF9mbXQgKCVzKSBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuc3dfZm9ybWF0ICglcykKAGdyYXkgZGVjb2RpbmcgcmVxdWVzdGVkIGJ1dCBub3QgZW5hYmxlZCBhdCBjb25maWd1cmF0aW9uIHRpbWUKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkOiBpZ25vcmluZyBzcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQKAENoYXJhY3RlciBlbmNvZGluZyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHN1YnRpdGxlcyBjb2RlY3MKAENvZGVjICclcycgaXMgYml0bWFwLWJhc2VkLCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIHdpbGwgYmUgaWdub3JlZAoAVVRGLTgAVW5hYmxlIHRvIG9wZW4gaWNvbnYgY29udGV4dCB3aXRoIGlucHV0IGNoYXJhY3RlciBlbmNvZGluZyAiJXMiCgAqKGNvbnN0IEFWQ2xhc3MgKiopYXZjdHgtPnByaXZfZGF0YSA9PSBjb2RlYy0+cHJpdl9jbGFzcwBnIGEgICBvIHIgZSBuICAgdCBoIGcgaSByIHkgcCBvIGNObyBlcnJvcgBHYWluIGNvbnRyb2wgbm90IHlldCBpbXBsZW1lbnRlZABQdWxzZSBjb2Rpbmcgbm90IGFsbG93ZWQgaW4gc2hvcnQgYmxvY2tzAEludmFsaWQgaHVmZm1hbiBjb2RlYm9vawBTY2FsZWZhY3RvciBvdXQgb2YgcmFuZ2UAVW5hYmxlIHRvIGZpbmQgQURUUyBzeW5jd29yZABDaGFubmVsIGNvdXBsaW5nIG5vdCB5ZXQgaW1wbGVtZW50ZWQAQ2hhbm5lbCBjb25maWd1cmF0aW9uIG5vdCBhbGxvd2VkIGluIGVycm9yIHJlc2lsaWVudCBmcmFtZQBCaXQgZXJyb3IgaW4gZXJyb3IgcmVzaWxpZW50IHNjYWxlZmFjdG9yIGRlY29kaW5nAEVycm9yIGRlY29kaW5nIGh1ZmZtYW4gc2NhbGVmYWN0b3IgKGJpdHN0cmVhbSBlcnJvcikARXJyb3IgZGVjb2RpbmcgaHVmZm1hbiBjb2Rld29yZCAoYml0c3RyZWFtIGVycm9yKQBOb24gZXhpc3RlbnQgaHVmZm1hbiBjb2RlYm9vayBudW1iZXIgZm91bmQASW52YWxpZCBudW1iZXIgb2YgY2hhbm5lbHMATWF4aW11bSBudW1iZXIgb2YgYml0c3RyZWFtIGVsZW1lbnRzIGV4Y2VlZGVkAElucHV0IGRhdGEgYnVmZmVyIHRvbyBzbWFsbABBcnJheSBpbmRleCBvdXQgb2YgcmFuZ2UATWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQAUXVhbnRpc2VkIHZhbHVlIG91dCBvZiByYW5nZQBMVFAgbGFnIG91dCBvZiByYW5nZQBJbnZhbGlkIFNCUiBwYXJhbWV0ZXIgZGVjb2RlZABTQlIgY2FsbGVkIHdpdGhvdXQgYmVpbmcgaW5pdGlhbGlzZWQAVW5leHBlY3RlZCBjaGFubmVsIGNvbmZpZ3VyYXRpb24gY2hhbmdlAEVycm9yIGluIHByb2dyYW1fY29uZmlnX2VsZW1lbnQARmlyc3QgU0JSIGZyYW1lIGlzIG5vdCB0aGUgc2FtZSBhcyBmaXJzdCBBQUMgZnJhbWUAVW5leHBlY3RlZCBmaWxsIGVsZW1lbnQgd2l0aCBTQlIgZGF0YQBOb3QgYWxsIGVsZW1lbnRzIHdlcmUgcHJvdmlkZWQgd2l0aCBTQlIgZGF0YQBMVFAgZGVjb2Rpbmcgbm90IGF2YWlsYWJsZQBPdXRwdXQgZGF0YSBidWZmZXIgdG9vIHNtYWxsAENSQyBlcnJvciBpbiBEUk0gZGF0YQBQTlMgbm90IGFsbG93ZWQgaW4gRFJNIGRhdGEgc3RyZWFtAE5vIHN0YW5kYXJkIGV4dGVuc2lvbiBwYXlsb2FkIGFsbG93ZWQgaW4gRFJNAFBDRSBzaGFsbCBiZSB0aGUgZmlyc3QgZWxlbWVudCBpbiBhIGZyYW1lAEJpdHN0cmVhbSB2YWx1ZSBub3QgYWxsb3dlZCBieSBzcGVjaWZpY2F0aW9uAE1BSU4gcHJlZGljdGlvbiBub3QgaW5pdGlhbGlzZWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIAAwAEAAUABgAHAAgACQINAhECFQIZAh0CIQQxBgAAAAAAAAAAAQABAAIAAwAEAAUABgAHAAgACQELAQ0BDwERARMBFQEXARkBGwEdAR8BIQIlAikCLQM1Az0DRQQAAAAAAQABAAIAAgADAAMABAAEAAUABQAGAAYABwAHAAgACAAJAAkACgALAAwADQAOAA8AEAIUAhgDIAMoBDgHAAAAAAEAAQACAAIAAwADAAQABAAFAAUABgAGAAcABwAIAAgACQELAQ0BDwERARMBFQEXARkCHQIhAiUDLQQ9BgAAAAAAAAAAAQABAAIAAgADAAMABAAEAAUABQAGAAcACAAJAAoACwAMAA0BDwERARMBFQEXAhsCHwIjAysDMwUAAAAAAAAAAAEAAQABAAEAAgACAAIAAgADAAMABAAEAAUABQAGAAYABwAHAAgACAAJAAkACgAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZARsBHQEfASEBIwElAScBKQItAjECNQI5Aj0CQQNJA1EDWQNhBHEEgQSRBgAAAAABAAEAAgADAAQABQAGAAcACAEKAQwBDgISAhYCGgIeAyYDLgM2Az4DRgNOA1YEZgR2BIYElgW2BdYF9gcBAAAAAAUBAAAABf8AAAAFAAAA/wUAAQAABQAAAAEFAAD/AAUAAAEABQD/AAAHAf8AAAf/AQAABwAA/wEHAAH/AAcA/wEABwAAAf8HAQEAAAcAAP//B///AAAHAP//AAcBAP8ABwABAP8H/wABAAcAAAEBBwEAAQAHAP8AAQcAAQEABwABAAEH/wD/AAcBAAABB/8AAP8HAQAA/wf/AAABBwD/AP8JAQH/AAn/Af8ACQH/AQAJAAEB/wkAAf8BCQD/AQEJAP8B/wkB//8ACQEA/wEJAAH//wn/AQEACf8AAf8J//8BAAkA//8BCQH/AAEJAf8A/wn/AQD/Cf8BAP8J/wEA/wn/AQD/Cf///wAJ////AAn///8ACf///wAJAP///wkA////CQD///8JAP///wkAAQEBCQABAQEJAAEBAQkAAQEBCQEAAf8JAQAB/wkBAAH/CQEAAf8JAQEAAQkBAQABCQEBAAEJAQEAAQn/AQABCf8BAAEJ/wEAAQn/AQABCQEBAQAJAQEBAAkBAQEACQEBAQAK//8AAQr//wABCv8A//8K/wD//woBAQD/CgEBAP8KAQD//woBAP//Cv8A/wEK/wD/AQr//wD/Cv//AP8K/wABAQr/AAEBCgEAAQEKAQABAQsB/wH/C/8B/wEL/wEB/wsB//8BCwEBAQEL//8BAQsBAf//C///Af8L/////wsBAf8BCwH/AQEL/wEBAQv/Af//C////wELAf///wsBAQH/AwAAAAAEAQAAAAX/AAAABQAAAAEFAAD/AAUAAAD/BQD/AAAFAAABAAUAAQAABgD/AQAG/wEAAAYAAf8ABgAAAf8GAAEA/wYAAP8BBv8AAP8GAf8AAAYBAP8ABv//AAAGAAD//wYBAAEABgEAAAEGAP8AAQb/AAEABgABAAEGAP//AAb/AAABBgD/AP8G/wD/AAYBAQAABgABAQAGAAABAQYBAAD/BwAB/wEHAQD/AQf/Af8ABwD/Af8HAf8BAAcBAQD/BwEAAQEH/wEBAAcA//8BBwEBAQAH/wAB/wf///8AB/8A/wEH/wD/AQcB//8ABwH//wAHAQH/AAcBAf8ACAH/AAEI/wEA/wj//wEACP8AAQEI//8AAQj//wD/CAD///8IAQAB/wgBAP//CAAB//8IAAEBAQj/AQABCP8A//8IAAEB/wgB/wD/CAD/AQEIAQEAAQgB/wH/CP8B/wEI/wH/AQkB//8BCf////8J/wEB/wn/AQEBCQEBAQEJ//8B/wkB/wEBCf8B//8J//8BAQkBAf//CQH///8J////AQkBAf8BCQEBAf8EAQEBAQQAAQEBBAEBAAEEAQEBAAQBAAEBBAEAAAAEAQEAAAQAAAAABAAAAQEEAQABAAUBAAABBQABAQAFAAAAAQUAAQABBQAAAQAFAAEAAAcCAQEBBwEBAgEHAQIBAQcBAQECBwIBAQAHAgEAAQcBAgEABwIAAQEHAAECAQcAAQIBCAABAQIIAQECAAgAAgEBCAEAAQIIAQIAAQgBAQACCAEAAgEIAgEAAAgCAAEACAECAAAIAgAAAQgAAQACCAACAQAIAAABAggAAQIACAABAgAIAAIAAQgAAgABCAEAAAIIAQAAAggAAAIBCAAAAgEIAQACAAgBAAIACAIAAAAIAgAAAAgAAAACCAAAAAIJAAIAAAkAAAIACQECAgEJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQECAgEJAQICAQkCAgEBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAgEBCQICAQEJAgECAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAgECAQkCAQIBCQEBAgIJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQEBAgIJAQECAgkBAgECCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkBAgECCQECAQIJAgEBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIJAgEBAgkCAQECCgECAgAKAQICAAoBAgIACgECAgAKAgIBAAoCAgEACgICAQAKAgIBAAoCAQIACgIBAgAKAgECAAoCAQIACgACAgEKAAICAQoAAgIBCgACAgEKAAECAgoAAQICCgABAgIKAAECAgoCAgABCgICAAEKAgIAAQoCAgABCgACAQIKAAIBAgoAAgECCgACAQIKAgACAQoCAAIBCgIAAgEKAgACAQoBAAICCgEAAgIKAQACAgoBAAICCgICAgEKAgICAQoCAgIBCgICAgEKAQIAAgoBAgACCgECAAIKAQIAAgoCAAECCgIAAQIKAgABAgoCAAECCgIBAAIKAgEAAgoCAQACCgIBAAIKAQICAgoBAgICCgECAgIKAQICAgsCAQICCwIBAgILAgIBAgsCAgECCwACAgALAAICAAsCAgAACwICAAALAAACAgsAAAICCwIAAgALAgACAAsAAgACCwACAAILAgAAAgsCAAACCwICAgILAgICAgsAAgICCwACAgILAgICAAsCAgIADAICAAIMAgACAgQAAAQBAAQA/wQAAQT/AAQBAQT/AQQB/wT//wYC/wYCAQb+AQb+/wb+AAb/AgYCAAYB/gYBAgYA/gb//gYAAgYC/gb+Agb+/gYCAgf9AQcDAQcD/wf/Awf9/wcBAwcB/Qf//QcDAAf9AAcA/QcAAwcDAgcDAgj9/gj+AwgCAwgD/ggC/Qj+/Qj9Agj9AggDAwgDAwkD/Qn9/Qn9AwkB/An//AkEAQn8AQn8/wkBBAkE/wn/BAkA/An8Agn8Agn8Agn8Agn8/gn8/gn8/gn8/gkCBAkCBAkCBAkCBAn+/An+/An+/An+/An8AAn8AAn8AAn8AAkEAgkEAgkEAgkEAgkE/gkE/gkE/gkE/gn+BAn+BAn+BAn+BAkEAAkEAAkEAAkEAAkC/AkC/AkC/AkC/AkABAkABAkABAkABAr9/Ar9/Ar9BAr9BAoD/AoD/AoE/QoE/QoDBAoDBAoEAwoEAwr8Awr8Awr8/Qr8/QsEBAv8BAv8/AsE/AMBAQQCAQQBAAQBAgQAAQQCAgUAAAUCAAUAAgUDAQUBAwUDAgUCAwYDAwYEAQYBBAYEAgYCBAYDAAYAAwYEAwYDBAYFAgcFAQcCBQcBBQcFAwcDBQcEBAcFBAcABAcEBQcEAAcCBgcGAgcGAQcGAQcBBgcBBggDBggGAwgFBQgFAAgGBAgABQgEBggHAQgHAggCBwgGBQgHAwgBBwgBBwgBBwgBBwgFBggFBggFBggFBggDBwgDBwgDBwgDBwkGBgkGBgkHBAkHBAkGAAkGAAkEBwkEBwkABgkABgkHBQkHBQkHBgkHBgkGBwkGBwoFBwoHAAoABwoHBwQBAQQBAgQCAQUCAgUBAAUAAQUBAwUDAgUDAQUCAwUDAwYCAAYAAgYCBAYEAgYBBAYEAQYAAAYEAwYDBAYDAAYAAwYEBAYCBQYFAgcBBQcFAQcFAwcDBQcFBAcEBQcGAgcCBgcGAwcEAAcGAQcABAcBBgcDBgcFBQcGBAcEBgcEBggGBQgHAggDBwgCBwgFBggIAggHAwgFAAgHAQgABQgIAQgBBwgIAwgHBAgEBwgCCAgGBggHBQgBCAgDCAgIBAgECAgFBwgFBwgIBQgIBQgFCAgFCAkHBgkGBwkJAgkGAAkGCAkJAwkDCQkJAQkCCQkABgkIBgkJBAkECQkKAgkBCQkHBwkIBwkJBQkHCAkKAwkFCQkKBAkCCgkKAQkDCgkJBgkGCQkGCQkIAAkIAAkECgkECgkHAAkHAAkLAgkLAgoHCQoLAwoKBgoBCgoLAQoJBwoABwoICAoKBQoDCwoFCgoICQoLBQoACAoLBAoCCwoHCgoGCgoKBwoECwoBCwoMAgoJCAoMAwoLBgoFCwoMBAoLBwoMBQoDDAoGCwoJAAoKCAoKAAoMAQoACQoEDAoJCQoMBgoMBgoMBgoMBgoCDAoCDAoCDAoCDAoICgoICgoICgoICgsJCgsJCgsBDAsBDAsLCAsLCAsMBwsMBwsHCwsHCwsFDAsFDAsGDAsGDAsKCQsKCQsICwsICwsMCAsMCAsACgsACgsHDAsHDAsLAAsLAAsKCgsKCgsLCQsLCQsLCgsLCgsACwsACwsLCwsLCwsJCwsJCwsKCwsKCwsMAAsMAAsIDAsIDAwMCQwKDAwJDAwLDAwMCwwADAwMCgwMDAQAAAQBAQUQEAUBAAUAAQUCAQUBAgUCAgYBAwYDAQYDAgYCAAYCAwYAAgYDAwYDAwcEAQcBBAcEAgcCBAcEAwcDBAcDAAcAAwcFAQcFAgcCBQcEBAcBBQcFAwcDBQcDBQcFBAcFBAgEBQgGAggCBggGAQgGAwgDBggBBggEEAgDEAgQBQgQAwgQBAgGBAgQBggEAAgEBggABAgCEAgFBQgFEAgQBwgQAggQCAgCBwgHAggDBwgGBQgFBggGEAgQCggHAwgHAQgQCQgHEAgBEAgBBwgEBwgQCwgHBAgQDAgIEAgQAQgGBggJEAgCCAgFBwgKEAgQDQgIAwgIAggDCAgFAAgQDggQDggLEAgLEAgHBQgHBQgECAgECAgGBwgGBwgHBggHBggABQgABQkIBAkQDwkMEAkBCAkIAQkOEAkFCAkNEAkDCQkIBQkHBwkCCQkIBgkJAgkJAwkPEAkECQkGCAkGAAkJBAkFCQkIBwkHCAkBCQkKAwkABgkKAgkJAQkJBQkECgkCCgkJBgkDCgkGCQkKBAkICAkKBQkJBwkLAwkBCgkHAAkKBgkHCQkDCwkFCgkKAQkECwkLAgkNAgkGCgkNAwkNAwkCCwkCCwkQAAkQAAkFCwkFCwkLBQkLBQoLBAoJCAoHCgoICQoAEAoEDQoABwoDDQoLBgoNAQoNBAoMAwoCDQoNBQoICgoGCwoKCAoKBwoOAgoMBAoBCwoEDAoLAQoDDAoBDQoMAgoHCwoDDgoFDAoFDQoOBAoEDgoLBwoOAwoMBQoNBgoMBgoIAAoLCAoCDAoJCQoOBQoGDQoKCgoPAgoICwoJCgoOBgoKCQoFDgoLCQoOAQoCDgoGDAoBDAoNCAoACAoNBwoHDAoMBwoHDQoPAwoMAQoGDgoCDwoPBQoPBAoBDgoJCwoEDwoOBwoIDQoNCQoIDAoFDwoDDwoKCwoLCgoMCAoPBgoPBwoIDgoPAQoHDgoJAAoACQoJDQoJDQoJDQoJDQoJDAoJDAoJDAoJDAoMCQoMCQoMCQoMCQoOCAoOCAoOCAoOCAoKDQoKDQoKDQoKDQoOCQoOCQoOCQoOCQoMCgoMCgoMCgoMCgoGDwoGDwoGDwoGDwoHDwoHDwoHDwoHDwsJDgsJDgsPCAsPCAsLCwsLCwsLDgsLDgsBDwsBDwsKDAsKDAsKDgsKDgsNCwsNCwsNCgsNCgsLDQsLDQsLDAsLDAsIDwsIDwsOCwsOCwsNDAsNDAsMDQsMDQsPCQsPCQsOCgsOCgsKAAsKAAsMCwsMCwsJDwsJDwsACgsACgsMDAsMDAsLAAsLAAsMDgsMDgsKDwsKDwsNDQsNDQsADQsADQsODAsODAsPCgsPCgsPCwsPCwsLDwsLDwsODQsODQsNAAsNAAsACwsACwsNDgsNDgsPDAsPDAsPDQsPDQsMDwsMDwsOAAsOAAsODgsODgsNDwsNDwsMAAsMAAsODwsODwwADgwADAwPDgwPAAwADwwPDwABAgEAAAABAgACAwADBAAEBQAFBgAGBwAHCAH/AAEBAAEAAQEA/wAEBQAFBgAGBwAHCAEB/wH/AQH//wEBAQAEBQAFBgAGBwAHCAAICQAJCgAKCwALDAAMDQANDgAODwAPEAH+AAEAAgECAAEA/gAMDQANDgAODwAPEAAQEQAREgASEwATFAAUFQAVFgAWFwAXGAH+/wECAQH//gEBAgH+AQEC/wH/AgEB/gH9AAEDAAEA/QEAAwAMDQANDgAODwAPEAAQEQAREgASEwATFAAUFQAVFgAWFwAXGAH9/wEBAwEDAQH//QH9AQED/wEB/QH/AwH+AgECAgH+/gEC/gAMDQANDgAODwAPEAAQEQAREgASEwATFAAUFQAVFgAWFwAXGAH9/gED/gH+AwEC/QEDAgECAwH9AgH+/QEA/AH8AAEEAQEEAAAMDQANDgAODwAPEAAQEQAREgASEwATFAAUFQAVFgAWFwAXGAH8/wEABAEE/wH//AEBBAH/BAH8AQEB/AED/QH9/QH9AwH+BAH8/gEEAgEC/AECBAEDAwH8AgAGBwAHCAAICQAJCgAKCwALDAH+/AEE/gED/AH8/QH8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EhMUFRYXGBkaGxwdHh8FBgcICQoLDQ8RExUYGx4hJSlABgcAAQIDCQgKCwMEBQYHCAkLDhIXI0B2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGgAYQBzAHQAaQBqAGwAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=330496;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<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}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var _exp=Math_exp;var _fabs=Math_abs;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 _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",330384,4),330384);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}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":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___buildEnvironment,"s":___cxa_allocate_exception,"t":___cxa_begin_catch,"u":___cxa_find_matching_catch,"v":___cxa_free_exception,"w":___cxa_pure_virtual,"x":___cxa_throw,"y":___gxx_personality_v0,"z":___resumeException,"A":___setErrNo,"B":___syscall140,"C":___syscall146,"D":___syscall221,"E":___syscall3,"F":___syscall5,"G":___syscall54,"H":___syscall6,"I":__embind_create_inheriting_constructor,"J":__embind_register_bool,"K":__embind_register_class,"L":__embind_register_class_class_function,"M":__embind_register_class_function,"N":__embind_register_class_property,"O":__embind_register_emval,"P":__embind_register_float,"Q":__embind_register_integer,"R":__embind_register_memory_view,"S":__embind_register_std_string,"T":__embind_register_std_wstring,"U":__embind_register_void,"V":__emscripten_traverse_stack,"W":__emval_addMethodCaller,"X":__emval_allocateDestructors,"Y":__emval_as,"Z":__emval_call,"_":__emval_call_method,"$":__emval_call_void_method,"aa":__emval_decref,"ab":__emval_get_global,"ac":__emval_get_method_caller,"ad":__emval_get_property,"ae":__emval_incref,"af":__emval_lookupTypes,"ag":__emval_new,"ah":__emval_new_cstring,"ai":__emval_new_object,"aj":__emval_register,"ak":__emval_run_destructors,"al":__emval_set_property,"am":__emval_take_value,"an":__formatString,"ao":__reallyNegative,"ap":_abort,"aq":_acos,"ar":_asin,"as":_atan,"at":_clock,"au":_cos,"av":_embind_repr,"aw":_emscripten_get_callstack_js,"ax":_emscripten_get_heap_size,"ay":_emscripten_log,"az":_emscripten_log_js,"aA":_emscripten_memcpy_big,"aB":_emscripten_resize_heap,"aC":_exp,"aD":_fabs,"aE":_getenv,"aF":_gettimeofday,"aG":_gmtime_r,"aH":_init,"aI":_llvm_exp2_f32,"aJ":_llvm_exp2_f64,"aK":_llvm_trap,"aL":_llvm_trunc_f64,"aM":_localtime_r,"aN":_log,"aO":_mktime,"aP":_pthread_cond_destroy,"aQ":_pthread_cond_init,"aR":_pthread_cond_signal,"aS":_pthread_cond_wait,"aT":_pthread_create,"aU":_pthread_join,"aV":_sin,"aW":_sysconf,"aX":_tan,"aY":_tzset,"aZ":abortOnCannotGrowMemory,"a_":constNoSmartPtrRawPointerToWireType,"a$":count_emval_handles,"ba":craftEmvalAllocator,"bb":craftInvokerFunction,"bc":createNamedFunction,"bd":downcastPointer,"be":embind__requireFunction,"bf":embind_init_charCodes,"bg":emval_get_global,"bh":ensureOverloadTable,"bi":exposePublicSymbol,"bj":extendError,"bk":floatReadValueFromPointer,"bl":flushPendingDeletes,"bm":genericPointerToWireType,"bn":getBasestPointer,"bo":getInheritedInstance,"bp":getInheritedInstanceCount,"bq":getLiveInheritedInstances,"br":getShiftFromSize,"bs":getStringOrSymbol,"bt":getTypeName,"bu":get_first_emval,"bv":heap32VectorToArray,"bw":init_ClassHandle,"bx":init_RegisteredPointer,"by":init_embind,"bz":init_emval,"bA":integerReadValueFromPointer,"bB":makeClassHandle,"bC":makeLegalFunctionName,"bD":new_,"bE":nonConstNoSmartPtrRawPointerToWireType,"bF":readLatin1String,"bG":registerInheritedInstance,"bH":registerType,"bI":replacePublicSymbol,"bJ":requireHandle,"bK":requireRegisteredType,"bL":runDestructor,"bM":runDestructors,"bN":setDelayFunction,"bO":shallowCopyInternalPointer,"bP":simpleReadValueFromPointer,"bQ":throwBindingError,"bR":throwInstanceAlreadyDeleted,"bS":throwInternalError,"bT":throwUnboundTypeError,"bU":unregisterInheritedInstance,"bV":upcastPointer,"bW":validateThis,"bX":whenDependentTypesAreResolved,"bY":tempDoublePtr,"bZ":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bY|0,i=env.bZ|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.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.pow,x=global.Math.cos,y=global.Math.sin,z=global.Math.tan,A=global.Math.acos,B=global.Math.asin,C=global.Math.atan,D=global.Math.atan2,E=global.Math.exp,F=global.Math.log,G=global.Math.ceil,H=global.Math.imul,I=global.Math.min,J=global.Math.clz32,K=env.a,L=env.b,M=env.c,N=env.d,O=env.e,P=env.f,Q=env.g,R=env.h,S=env.i,T=env.j,U=env.k,V=env.l,W=env.m,X=env.n,Y=env.o,Z=env.p,_=env.q,$=env.r,aa=env.s,ba=env.t,ca=env.u,da=env.v,ea=env.w,fa=env.x,ga=env.y,ha=env.z,ia=env.A,ja=env.B,ka=env.C,la=env.D,ma=env.E,na=env.F,oa=env.G,pa=env.H,qa=env.I,ra=env.J,sa=env.K,ta=env.L,ua=env.M,va=env.N,wa=env.O,xa=env.P,ya=env.Q,za=env.R,Aa=env.S,Ba=env.T,Ca=env.U,Da=env.V,Ea=env.W,Fa=env.X,Ga=env.Y,Ha=env.Z,Ia=env._,Ja=env.$,Ka=env.aa,La=env.ab,Ma=env.ac,Na=env.ad,Oa=env.ae,Pa=env.af,Qa=env.ag,Ra=env.ah,Sa=env.ai,Ta=env.aj,Ua=env.ak,Va=env.al,Wa=env.am,Xa=env.an,Ya=env.ao,Za=env.ap,_a=env.aq,$a=env.ar,ab=env.as,bb=env.at,cb=env.au,db=env.av,eb=env.aw,fb=env.ax,gb=env.ay,hb=env.az,ib=env.aA,jb=env.aB,kb=env.aC,lb=env.aD,mb=env.aE,nb=env.aF,ob=env.aG,pb=env.aH,qb=env.aI,rb=env.aJ,sb=env.aK,tb=env.aL,ub=env.aM,vb=env.aN,wb=env.aO,xb=env.aP,yb=env.aQ,zb=env.aR,Ab=env.aS,Bb=env.aT,Cb=env.aU,Db=env.aV,Eb=env.aW,Fb=env.aX,Gb=env.aY,Hb=env.aZ,Ib=env.a_,Jb=env.a$,Kb=env.ba,Lb=env.bb,Mb=env.bc,Nb=env.bd,Ob=env.be,Pb=env.bf,Qb=env.bg,Rb=env.bh,Sb=env.bi,Tb=env.bj,Ub=env.bk,Vb=env.bl,Wb=env.bm,Xb=env.bn,Yb=env.bo,Zb=env.bp,_b=env.bq,$b=env.br,ac=env.bs,bc=env.bt,cc=env.bu,dc=env.bv,ec=env.bw,fc=env.bx,gc=env.by,hc=env.bz,ic=env.bA,jc=env.bB,kc=env.bC,lc=env.bD,mc=env.bE,nc=env.bF,oc=env.bG,pc=env.bH,qc=env.bI,rc=env.bJ,sc=env.bK,tc=env.bL,uc=env.bM,vc=env.bN,wc=env.bO,xc=env.bP,yc=env.bQ,zc=env.bR,Ac=env.bS,Bc=env.bT,Cc=env.bU,Dc=env.bV,Ec=env.bW,Fc=env.bX,Gc=330512,Hc=5573392,Ic=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Ks(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;n=((b|0)!=0)<<31>>31;w=d[a+((H(n,f)|0)+-1)>>0]|0;v=d[a+-1>>0]|0;u=d[a+(f+-1)>>0]|0;t=d[a+((f<<1)+-1)>>0]|0;s=d[a+((f*3|0)+-1)>>0]|0;r=d[a+((f<<2)+-1)>>0]|0;q=d[a+((f*5|0)+-1)>>0]|0;p=d[a+((f*6|0)+-1)>>0]|0;o=d[a+((f*7|0)+-1)>>0]|0;m=d[a+(0-f)>>0]|0;l=d[a+(1-f)>>0]|0;k=d[a+(2-f)>>0]|0;j=d[a+(3-f)>>0]|0;i=d[a+(4-f)>>0]|0;h=d[a+(5-f)>>0]|0;g=d[a+(6-f)>>0]|0;b=d[a+(7-f)>>0]|0;e=H(((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((d[a+(n-f)>>0]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(d[a+((e|0?8:7)-f)>>0]|0)+(b<<1)|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Ls(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=d[b+(0-f)>>0]|0;q=d[b+(1-f)>>0]|0;t=d[b+(2-f)>>0]|0;r=(p+2+(q<<1)+t|0)>>>2;u=d[b+(3-f)>>0]|0;s=(q+2+(t<<1)+u|0)>>>2;v=d[b+(4-f)>>0]|0;t=(t+2+(u<<1)+v|0)>>>2;w=d[b+(5-f)>>0]|0;u=(u+2+(v<<1)+w|0)>>>2;o=d[b+(6-f)>>0]|0;v=(v+2+(w<<1)+o|0)>>>2;n=d[b+(7-f)>>0]|0;w=(w+2+(o<<1)+n|0)>>>2;m=(e|0)!=0;o=(o+2+(d[b+((m?8:7)-f)>>0]|0)+(n<<1)|0)>>>2;if(m){x=d[b+(8-f)>>0]|0;e=d[b+(9-f)>>0]|0;m=d[b+(10-f)>>0]|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+2+(l<<1)+k|0)>>>2;l=(e+2+(m<<1)+l|0)>>>2;m=(x+2+(e<<1)+m|0)>>>2;e=(n+2+(x<<1)+e|0)>>>2}else{g=n;h=n;i=n;j=n;k=n;l=n;m=n;e=n}a[b>>0]=((((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(p<<1)+q|0)>>>2)+2+(r<<1)+s|0)>>>2;r=(r+2+(s<<1)+t|0)>>>2&255;a[b+1>>0]=r;a[b+f>>0]=r;s=(s+2+(t<<1)+u|0)>>>2&255;a[b+2>>0]=s;a[b+(f+1)>>0]=s;r=f<<1;a[b+r>>0]=s;t=(t+2+(u<<1)+v|0)>>>2&255;a[b+3>>0]=t;a[b+(f+2)>>0]=t;a[b+(r|1)>>0]=t;s=f*3|0;a[b+s>>0]=t;u=(u+2+(v<<1)+w|0)>>>2&255;a[b+4>>0]=u;a[b+(f+3)>>0]=u;a[b+(r+2)>>0]=u;a[b+(s+1)>>0]=u;t=f<<2;a[b+t>>0]=u;v=(v+2+(w<<1)+o|0)>>>2&255;a[b+5>>0]=v;a[b+(f+4)>>0]=v;a[b+(r+3)>>0]=v;a[b+(s+2)>>0]=v;a[b+(t|1)>>0]=v;u=f*5|0;a[b+u>>0]=v;w=(w+2+(o<<1)+e|0)>>>2&255;a[b+6>>0]=w;a[b+(f+5)>>0]=w;a[b+(r+4)>>0]=w;a[b+(s+3)>>0]=w;a[b+(t|2)>>0]=w;a[b+(u+1)>>0]=w;v=f*6|0;a[b+v>>0]=w;w=(o+2+(e<<1)+m|0)>>>2&255;a[b+7>>0]=w;a[b+(f+6)>>0]=w;a[b+(r+5)>>0]=w;a[b+(s+4)>>0]=w;a[b+(t|3)>>0]=w;a[b+(u+2)>>0]=w;a[b+(v|1)>>0]=w;x=f*7|0;a[b+x>>0]=w;w=(e+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=w;a[b+(r+6)>>0]=w;a[b+(s+5)>>0]=w;a[b+(t+4)>>0]=w;a[b+(u+3)>>0]=w;a[b+(v+2)>>0]=w;a[b+(x+1)>>0]=w;w=(m+2+(l<<1)+k|0)>>>2&255;a[b+(r+7)>>0]=w;a[b+(s+6)>>0]=w;a[b+(t+5)>>0]=w;a[b+(u+4)>>0]=w;a[b+(v+3)>>0]=w;a[b+(x+2)>>0]=w;w=(l+2+(k<<1)+j|0)>>>2&255;a[b+(s+7)>>0]=w;a[b+(t+6)>>0]=w;a[b+(u+5)>>0]=w;a[b+(v+4)>>0]=w;a[b+(x+3)>>0]=w;w=(k+2+(j<<1)+i|0)>>>2&255;a[b+(t+7)>>0]=w;a[b+(u+6)>>0]=w;a[b+(v+5)>>0]=w;a[b+(x+4)>>0]=w;w=(j+2+(i<<1)+h|0)>>>2&255;a[b+(u+7)>>0]=w;a[b+(v+6)>>0]=w;a[b+(x+5)>>0]=w;w=(i+2+(h<<1)+g|0)>>>2&255;a[b+(v+7)>>0]=w;a[b+(x+6)>>0]=w;a[b+(x+7)>>0]=(h+2+(g*3|0)|0)>>>2;return}function Ms(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=((c|0)!=0)<<31>>31;C=d[b+(0-f)>>0]|0;k=d[b+(1-f)>>0]|0;s=((d[b+(t-f)>>0]|0)+2+(C<<1)+k|0)>>>2;i=d[b+(2-f)>>0]|0;C=C+2|0;m=(C+(k<<1)+i|0)>>>2;h=d[b+(3-f)>>0]|0;k=(k+2+(i<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;v=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+v|0)>>>2;q=d[b+(7-f)>>0]|0;c=(c+2+(v<<1)+q|0)>>>2;e=(v+2+(d[b+((e|0?8:7)-f)>>0]|0)+(q<<1)|0)>>>2;t=d[b+((H(t,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;v=d[b+(f+-1)>>0]|0;t=(t+2+(q<<1)+v|0)>>>2;j=f<<1;w=d[b+(j+-1)>>0]|0;o=(q+2+(v<<1)+w|0)>>>2;l=f*3|0;x=d[b+(l+-1)>>0]|0;v=(v+2+(w<<1)+x|0)>>>2;n=f<<2;y=d[b+(n+-1)>>0]|0;w=(w+2+(x<<1)+y|0)>>>2;p=f*5|0;z=d[b+(p+-1)>>0]|0;x=(x+2+(y<<1)+z|0)>>>2;r=f*6|0;B=d[b+(r+-1)>>0]|0;y=(y+2+(z<<1)+B|0)>>>2;u=f*7|0;A=d[b+(u+-1)>>0]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+u>>0]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=z;a[b+r>>0]=z;y=(w+2+(x<<1)+y|0)>>>2&255;a[b+(u+2)>>0]=y;a[b+(r|1)>>0]=y;a[b+p>>0]=y;x=(v+2+(w<<1)+x|0)>>>2&255;a[b+(u+3)>>0]=x;a[b+(r+2)>>0]=x;a[b+(p+1)>>0]=x;a[b+n>>0]=x;w=(o+2+(v<<1)+w|0)>>>2&255;a[b+(u+4)>>0]=w;a[b+(r+3)>>0]=w;a[b+(p+2)>>0]=w;a[b+(n|1)>>0]=w;a[b+l>>0]=w;v=(t+2+(o<<1)+v|0)>>>2&255;a[b+(u+5)>>0]=v;a[b+(r+4)>>0]=v;a[b+(p+3)>>0]=v;a[b+(n|2)>>0]=v;a[b+(l+1)>>0]=v;a[b+j>>0]=v;o=((t<<1)+2+o+q|0)>>>2&255;a[b+(u+6)>>0]=o;a[b+(r+5)>>0]=o;a[b+(p+4)>>0]=o;a[b+(n|3)>>0]=o;a[b+(l+2)>>0]=o;a[b+(j|1)>>0]=o;a[b+f>>0]=o;o=s+2|0;t=(o+t+(q<<1)|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(r+6)>>0]=t;a[b+(p+5)>>0]=t;a[b+(n+4)>>0]=t;a[b+(l+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;a[b>>0]=t;q=((s<<1)+2+m+q|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+6)>>0]=q;a[b+(n+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+(j+3)>>0]=q;a[b+(f+2)>>0]=q;a[b+1>>0]=q;o=(o+(m<<1)+k|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(n+6)>>0]=o;a[b+(l+5)>>0]=o;a[b+(j+4)>>0]=o;a[b+(f+3)>>0]=o;a[b+2>>0]=o;m=(m+2+(k<<1)+i|0)>>>2&255;a[b+(n+7)>>0]=m;a[b+(l+6)>>0]=m;a[b+(j+5)>>0]=m;a[b+(f+4)>>0]=m;a[b+3>>0]=m;k=(k+2+(i<<1)+h|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;a[b+4>>0]=k;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(j+7)>>0]=i;a[b+(f+6)>>0]=i;a[b+5>>0]=i;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(f+7)>>0]=h;a[b+6>>0]=h;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Ns(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;n=d[b+(1-f)>>0]|0;u=((d[b+(s-f)>>0]|0)+2+(A<<1)+n|0)>>>2;k=d[b+(2-f)>>0]|0;A=A+2|0;q=(A+(n<<1)+k|0)>>>2;h=d[b+(3-f)>>0]|0;n=(n+2+(k<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;k=(k+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;r=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+r|0)>>>2;t=d[b+(7-f)>>0]|0;c=(c+2+(r<<1)+t|0)>>>2;e=(r+2+(d[b+((e|0?8:7)-f)>>0]|0)+(t<<1)|0)>>>2;s=d[b+((H(s,f)|0)+-1)>>0]|0;t=d[b+-1>>0]|0;r=d[b+(f+-1)>>0]|0;s=(s+2+(t<<1)+r|0)>>>2;i=f<<1;x=d[b+(i+-1)>>0]|0;v=(t+2+(r<<1)+x|0)>>>2;j=f*3|0;w=d[b+(j+-1)>>0]|0;r=(r+2+(x<<1)+w|0)>>>2;l=f<<2;z=d[b+(l+-1)>>0]|0;x=(x+2+(w<<1)+z|0)>>>2;m=f*5|0;B=d[b+(m+-1)>>0]|0;w=(w+2+(z<<1)+B|0)>>>2;o=f*6|0;y=d[b+(o+-1)>>0]|0;z=(z+2+(B<<1)+y|0)>>>2;p=f*7|0;y=(B+2+(y<<1)+(d[b+(p+-1)>>0]|0)|0)>>>2;t=(A+t+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+o>>0]=(x+2+(w<<1)+z|0)>>>2;a[b+p>>0]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(r<<1)+x|0)>>>2&255;a[b+(o|1)>>0]=y;a[b+l>>0]=y;w=(r+2+(x<<1)+w|0)>>>2&255;a[b+(p+1)>>0]=w;a[b+m>>0]=w;w=((s<<1)+2+v+t|0)>>>2&255;a[b+(o+2)>>0]=w;a[b+(l|1)>>0]=w;a[b+i>>0]=w;r=(s+2+(v<<1)+r|0)>>>2&255;a[b+(p+2)>>0]=r;a[b+(m+1)>>0]=r;a[b+j>>0]=r;r=u+2|0;s=(r+s+(t<<1)|0)>>>2&255;a[b+(p+3)>>0]=s;a[b+(m+2)>>0]=s;a[b+(j+1)>>0]=s;a[b+f>>0]=s;s=u+1|0;v=(s+t|0)>>>1&255;a[b+(o+3)>>0]=v;a[b+(l|2)>>0]=v;a[b+(i|1)>>0]=v;a[b>>0]=v;t=((u<<1)+2+q+t|0)>>>2&255;a[b+(p+4)>>0]=t;a[b+(m+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;s=(s+q|0)>>>1&255;a[b+(o+4)>>0]=s;a[b+(l|3)>>0]=s;a[b+(i+2)>>0]=s;a[b+1>>0]=s;r=(r+(q<<1)+n|0)>>>2&255;a[b+(p+5)>>0]=r;a[b+(m+4)>>0]=r;a[b+(j+3)>>0]=r;a[b+(f+2)>>0]=r;r=(q+1+n|0)>>>1&255;a[b+(o+5)>>0]=r;a[b+(l+4)>>0]=r;a[b+(i+3)>>0]=r;a[b+2>>0]=r;q=(q+2+(n<<1)+k|0)>>>2&255;a[b+(p+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(j+4)>>0]=q;a[b+(f+3)>>0]=q;q=(n+1+k|0)>>>1&255;a[b+(o+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(i+4)>>0]=q;a[b+3>>0]=q;n=(n+2+(k<<1)+h|0)>>>2&255;a[b+(p+7)>>0]=n;a[b+(m+6)>>0]=n;a[b+(j+5)>>0]=n;a[b+(f+4)>>0]=n;n=(k+1+h|0)>>>1&255;a[b+(o+7)>>0]=n;a[b+(l+6)>>0]=n;a[b+(i+5)>>0]=n;a[b+4>>0]=n;k=(k+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;k=(h+1+g|0)>>>1&255;a[b+(l+7)>>0]=k;a[b+(i+6)>>0]=k;a[b+5>>0]=k;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(j+7)>>0]=h;a[b+(f+6)>>0]=h;h=(g+1+c|0)>>>1&255;a[b+(i+7)>>0]=h;a[b+6>>0]=h;a[b+(f+7)>>0]=(g+2+(c<<1)+e|0)>>>2;a[b+7>>0]=(c+1+e|0)>>>1;return}function Os(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;i=d[b+(1-f)>>0]|0;n=((d[b+(o-f)>>0]|0)+2+(A<<1)+i|0)>>>2;h=d[b+(2-f)>>0]|0;A=A+2|0;j=(A+(i<<1)+h|0)>>>2;g=d[b+(3-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(4-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;m=d[b+(5-f)>>0]|0;g=(g+2+(c<<1)+m|0)>>>2;e=d[b+(6-f)>>0]|0;c=(c+2+(m<<1)+e|0)>>>2;e=(m+2+(e<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;o=d[b+((H(o,f)|0)+-1)>>0]|0;m=d[b+-1>>0]|0;k=d[b+(f+-1)>>0]|0;o=(o+2+(m<<1)+k|0)>>>2;l=f<<1;t=d[b+(l+-1)>>0]|0;q=(m+2+(k<<1)+t|0)>>>2;p=f*3|0;v=d[b+(p+-1)>>0]|0;k=(k+2+(t<<1)+v|0)>>>2;r=f<<2;x=d[b+(r+-1)>>0]|0;t=(t+2+(v<<1)+x|0)>>>2;s=f*5|0;y=d[b+(s+-1)>>0]|0;v=(v+2+(x<<1)+y|0)>>>2;u=f*6|0;B=d[b+(u+-1)>>0]|0;x=(x+2+(y<<1)+B|0)>>>2;w=f*7|0;z=d[b+(w+-1)>>0]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+w>>0]=(z+1+y|0)>>>1;a[b+(w+1)>>0]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&255;a[b+(w+2)>>0]=z;a[b+u>>0]=z;y=(v+2+(x<<1)+y|0)>>>2&255;a[b+(w+3)>>0]=y;a[b+(u|1)>>0]=y;y=(v+1+x|0)>>>1&255;a[b+(w+4)>>0]=y;a[b+(u+2)>>0]=y;a[b+s>>0]=y;x=(t+2+(v<<1)+x|0)>>>2&255;a[b+(w+5)>>0]=x;a[b+(u+3)>>0]=x;a[b+(s+1)>>0]=x;x=(t+1+v|0)>>>1&255;a[b+(w+6)>>0]=x;a[b+(u+4)>>0]=x;a[b+(s+2)>>0]=x;a[b+r>>0]=x;v=(k+2+(t<<1)+v|0)>>>2&255;a[b+(w+7)>>0]=v;a[b+(u+5)>>0]=v;a[b+(s+3)>>0]=v;a[b+(r|1)>>0]=v;v=(k+1+t|0)>>>1&255;a[b+(u+6)>>0]=v;a[b+(s+4)>>0]=v;a[b+(r|2)>>0]=v;a[b+p>>0]=v;t=(q+2+(k<<1)+t|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(s+5)>>0]=t;a[b+(r|3)>>0]=t;a[b+(p+1)>>0]=t;t=(q+1+k|0)>>>1&255;a[b+(s+6)>>0]=t;a[b+(r+4)>>0]=t;a[b+(p+2)>>0]=t;a[b+l>>0]=t;k=(o+2+(q<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=k;a[b+(r+5)>>0]=k;a[b+(p+3)>>0]=k;a[b+(l|1)>>0]=k;k=o+1|0;s=(k+q|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(l+2)>>0]=s;a[b+f>>0]=s;q=((o<<1)+2+q+m|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+5)>>0]=q;a[b+(l+3)>>0]=q;a[b+(f+1)>>0]=q;k=(k+m|0)>>>1&255;a[b+(p+6)>>0]=k;a[b+(l+4)>>0]=k;a[b+(f+2)>>0]=k;a[b>>0]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(l+5)>>0]=o;a[b+(f+3)>>0]=o;a[b+1>>0]=o;m=((n<<1)+2+j+m|0)>>>2&255;a[b+(l+6)>>0]=m;a[b+(f+4)>>0]=m;a[b+2>>0]=m;k=(k+(j<<1)+i|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(f+5)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+6)>>0]=j;a[b+4>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+7)>>0]=i;a[b+5>>0]=i;a[b+6>>0]=(h+2+(g<<1)+c|0)>>>2;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Ps(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d[b+(0-f)>>0]|0;m=d[b+(1-f)>>0]|0;k=((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(l<<1)+m|0)>>>2;n=d[b+(2-f)>>0]|0;l=(l+2+(m<<1)+n|0)>>>2;o=d[b+(3-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(4-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;o=(o+2+(p<<1)+q|0)>>>2;j=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+j|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(j<<1)+c|0)>>>2;i=(e|0)!=0;j=(j+2+(d[b+((i?8:7)-f)>>0]|0)+(c<<1)|0)>>>2;if(i){s=d[b+(8-f)>>0]|0;r=d[b+(9-f)>>0]|0;i=d[b+(10-f)>>0]|0;h=d[b+(11-f)>>0]|0;g=d[b+(12-f)>>0]|0;e=(h+2+(g<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(r+2+(i<<1)+h|0)>>>2;i=(s+2+(r<<1)+i|0)>>>2;c=(c+2+(s<<1)+r|0)>>>2}else{e=c;g=c;h=c;i=c}a[b>>0]=(k+1+l|0)>>>1;a[b+f>>0]=(k+2+(l<<1)+m|0)>>>2;s=(l+1+m|0)>>>1&255;a[b+1>>0]=s;t=f<<1;a[b+t>>0]=s;s=(l+2+(m<<1)+n|0)>>>2&255;a[b+(f+1)>>0]=s;k=f*3|0;a[b+k>>0]=s;s=(m+1+n|0)>>>1&255;a[b+2>>0]=s;a[b+(t|1)>>0]=s;l=f<<2;a[b+l>>0]=s;s=(m+2+(n<<1)+o|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;m=f*5|0;a[b+m>>0]=s;s=(n+1+o|0)>>>1&255;a[b+3>>0]=s;a[b+(t+2)>>0]=s;a[b+(l|1)>>0]=s;r=f*6|0;a[b+r>>0]=s;n=(n+2+(o<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=n;a[b+(k+2)>>0]=n;a[b+(m+1)>>0]=n;s=f*7|0;a[b+s>>0]=n;n=(o+1+p|0)>>>1&255;a[b+4>>0]=n;a[b+(t+3)>>0]=n;a[b+(l|2)>>0]=n;a[b+(r|1)>>0]=n;o=(o+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=o;a[b+(k+3)>>0]=o;a[b+(m+2)>>0]=o;a[b+(s+1)>>0]=o;o=(p+1+q|0)>>>1&255;a[b+5>>0]=o;a[b+(t+4)>>0]=o;a[b+(l|3)>>0]=o;a[b+(r+2)>>0]=o;p=(p+2+(q<<1)+j|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(m+3)>>0]=p;a[b+(s+2)>>0]=p;p=(q+1+j|0)>>>1&255;a[b+6>>0]=p;a[b+(t+5)>>0]=p;a[b+(l+4)>>0]=p;a[b+(r+3)>>0]=p;q=(q+2+(j<<1)+c|0)>>>2&255;a[b+(f+6)>>0]=q;a[b+(k+5)>>0]=q;a[b+(m+4)>>0]=q;a[b+(s+3)>>0]=q;q=(j+1+c|0)>>>1&255;a[b+7>>0]=q;a[b+(t+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(r+4)>>0]=q;q=(j+2+(c<<1)+i|0)>>>2&255;a[b+(f+7)>>0]=q;a[b+(k+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(s+4)>>0]=q;f=(c+1+i|0)>>>1&255;a[b+(t+7)>>0]=f;a[b+(l+6)>>0]=f;a[b+(r+5)>>0]=f;f=(c+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(m+6)>>0]=f;a[b+(s+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(l+7)>>0]=f;a[b+(r+6)>>0]=f;f=(i+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=f;a[b+(s+6)>>0]=f;a[b+(r+7)>>0]=(h+1+g|0)>>>1;a[b+(s+7)>>0]=(h+2+(g<<1)+e|0)>>>2;return}function Qs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d[b+((H(((c|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;p=d[b+(f+-1)>>0]|0;r=(r+2+(q<<1)+p|0)>>>2;l=f<<1;o=d[b+(l+-1)>>0]|0;q=(q+2+(p<<1)+o|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;p=(p+2+(o<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;o=(o+2+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;s=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+s|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(s<<1)+i|0)>>>2;i=(s+2+(i*3|0)|0)>>>2;a[b>>0]=(r+1+q|0)>>>1;a[b+1>>0]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&255;a[b+2>>0]=r;a[b+f>>0]=r;q=(q+2+(p<<1)+o|0)>>>2&255;a[b+3>>0]=q;a[b+(f+1)>>0]=q;q=(p+1+o|0)>>>1&255;a[b+4>>0]=q;a[b+(f+2)>>0]=q;a[b+l>>0]=q;p=(p+2+(o<<1)+n|0)>>>2&255;a[b+5>>0]=p;a[b+(f+3)>>0]=p;a[b+(l|1)>>0]=p;p=(o+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+2+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(i+1+k|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function Rs(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;l=d[a+-1>>0]|0;k=d[a+(f+-1)>>0]|0;j=d[a+((f<<1)+-1)>>0]|0;i=d[a+((f*3|0)+-1)>>0]|0;h=d[a+((f<<2)+-1)>>0]|0;g=d[a+((f*5|0)+-1)>>0]|0;b=d[a+((f*6|0)+-1)>>0]|0;e=d[a+((f*7|0)+-1)>>0]|0;e=H(((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(b<<1)+e|0)>>>2)+((b+2+(e*3|0)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Ss(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[a+(0-f)>>0]|0;m=d[a+(1-f)>>0]|0;l=d[a+(2-f)>>0]|0;k=d[a+(3-f)>>0]|0;j=d[a+(4-f)>>0]|0;i=d[a+(5-f)>>0]|0;h=d[a+(6-f)>>0]|0;g=d[a+(7-f)>>0]|0;e=H((((d[a+((((b|0)!=0)<<31>>31)-f)>>0]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(d[a+((e|0?8:7)-f)>>0]|0)+(g<<1)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Ws(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function Xs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function Ys(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function Zs(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if((e|0)>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function _s(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;j=d[a+((H(e,b)|0)+-1)>>0]|0;j=f+j+(d[a+(e-b)>>0]|0)|0;k=e+4|0;e=e+1|0;f=j;g=g+(d[a+(k-b)>>0]|0)|0;h=h+(d[a+((H(k,b)|0)+-1)>>0]|0)|0}i=H(f+4>>3,16843009)|0;j=H(g+2>>2,16843009)|0;k=h+2>>2;f=h+4+g>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function $s(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=f+(d[a+((H(e,b)|0)+-1)>>0]|0)|0;h=g+(d[a+((H(e+4|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=i;g=h}h=H(f+2>>2,16843009)|0;f=g+2>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function at(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function bt(a,b){a=a|0;b=b|0;at(a,b);ws(a,0,b);return}function ct(a,b){a=a|0;b=b|0;_s(a,b);Gs(a,0,b);return}function dt(a,b){a=a|0;b=b|0;$s(a,b);a=a+(b<<2)|0;Hs(a,0,b);Hs(a+4|0,0,b);return}function et(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;i=0;g=0;h=0;j=0;while(1){if((e|0)==4)break;k=d[a+((H(e,b)|0)+-1)>>0]|0;k=f+k+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=g+(d[a+((H(l,b)|0)+-1)>>0]|0)|0;n=h+(d[a+((H(e+8|0,b)|0)+-1)>>0]|0)|0;o=j+(d[a+((H(e+12|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=k;i=i+(d[a+(l-b)>>0]|0)|0;g=m;h=n;j=o}f=H(f+4>>3,16843009)|0;k=H(i+2>>2,16843009)|0;l=g+2>>2;g=g+4+i>>3;m=h+2>>2;h=h+4+i>>3;o=j+2>>2;n=j+4+i>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=f;c[j+4>>2]=k;e=e+1|0}k=H(l,16843009)|0;i=H(g,16843009)|0;j=H(m,16843009)|0;g=H(h,16843009)|0;h=H(o,16843009)|0;f=H(n,16843009)|0;e=4;while(1){if((e|0)==8){e=8;break}o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}while(1){if((e|0)==12){e=12;break}o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function ft(a,b){a=a|0;b=b|0;$s(a,b);$s(a+(b<<3)|0,b);return}function gt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function ht(a,b){a=a|0;b=b|0;gt(a,b);ws(a,0,b);return}function it(a,b){a=a|0;b=b|0;et(a,b);Gs(a,0,b);return}function jt(a,b){a=a|0;b=b|0;ft(a,b);a=a+(b<<2)|0;Hs(a,0,b);Hs(a+4|0,0,b);return}function kt(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function lt(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function mt(a,b){a=a|0;b=b|0;ft(a,b);Hs(a,0,b);Hs(a+4|0,0,b);return}function nt(a,b){a=a|0;b=b|0;$s(a,b);Hs(a,0,b);Hs(a+4|0,0,b);return}function ot(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function pt(a,b){a=a|0;b=b|0;ot(a,b);ot(a+(b<<3)|0,b);return}function qt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16){f=0;break}e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+16>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function st(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function tt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function ut(a,b){a=a|0;b=b|0;Tt(a,b,0,0);return}function vt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function wt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function xt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function yt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function zt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function At(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Bt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ct(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Dt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Gc;Gc=Gc+16|0;q=r;t=d[c+(0-i)>>0]|0;s=d[c+(1-i)>>0]|0;j=d[c+(2-i)>>0]|0;p=d[c+(3-i)>>0]|0;o=d[c+(4-i)>>0]|0;n=d[c+(5-i)>>0]|0;m=d[c+(6-i)>>0]|0;l=d[c+(7-i)>>0]|0;k=(m+2+(d[c+((h|0?8:7)-i)>>0]|0)+(l<<1)|0)>>>2;a[q>>0]=((d[c+((((g|0)!=0)<<31>>31)-i)>>0]|0)+2+(t<<1)+s|0)>>>2;a[q+1>>0]=(t+2+(s<<1)+j|0)>>>2;a[q+2>>0]=(s+2+(j<<1)+p|0)>>>2;a[q+3>>0]=(j+2+(p<<1)+o|0)>>>2;a[q+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[q+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[q+6>>0]=(n+2+(m<<1)+l|0)>>>2;a[q+7>>0]=k;k=i<<1;l=i*3|0;m=i<<2;n=i*5|0;o=i*6|0;p=i*7|0;j=0;g=c;h=f;while(1){if((j|0)==8)break;t=(e[h>>1]|0)+(d[q+j>>0]|0)|0;a[g>>0]=t;t=t+(e[h+16>>1]|0)|0;a[g+i>>0]=t;t=t+(e[h+32>>1]|0)|0;a[g+k>>0]=t;t=t+(e[h+48>>1]|0)|0;a[g+l>>0]=t;t=t+(e[h+64>>1]|0)|0;a[g+m>>0]=t;t=t+(e[h+80>>1]|0)|0;a[g+n>>0]=t;t=t+(e[h+96>>1]|0)|0;a[g+o>>0]=t;a[g+p>>0]=t+(e[h+112>>1]|0);j=j+1|0;g=g+1|0;h=h+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));Gc=r;return}function Et(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=Gc;Gc=Gc+16|0;k=l;r=d[c+((H(((g|0)!=0)<<31>>31,i)|0)+-1)>>0]|0;q=d[c+-1>>0]|0;p=d[c+(i+-1)>>0]|0;o=d[c+((i<<1)+-1)>>0]|0;n=d[c+((i*3|0)+-1)>>0]|0;m=d[c+((i<<2)+-1)>>0]|0;g=d[c+((i*5|0)+-1)>>0]|0;h=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(r+2+(q<<1)+p|0)>>>2;a[k+1>>0]=(q+2+(p<<1)+o|0)>>>2;a[k+2>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+3>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+4>>0]=(n+2+(m<<1)+g|0)>>>2;a[k+5>>0]=(m+2+(g<<1)+h|0)>>>2;a[k+6>>0]=(g+2+(h<<1)+j|0)>>>2;a[k+7>>0]=(h+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;r=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=r;r=r+(e[g+2>>1]|0)|0;a[h+1>>0]=r;r=r+(e[g+4>>1]|0)|0;a[h+2>>0]=r;r=r+(e[g+6>>1]|0)|0;a[h+3>>0]=r;r=r+(e[g+8>>1]|0)|0;a[h+4>>0]=r;r=r+(e[g+10>>1]|0)|0;a[h+5>>0]=r;r=r+(e[g+12>>1]|0)|0;a[h+6>>0]=r;a[h+7>>0]=r+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));Gc=l;return}function Ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;zt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}zt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;zt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;At(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function It(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}At(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;At(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;zt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;ks(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Xq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Ip(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;to(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ot(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;At(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Yq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Jp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function St(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;uo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Tt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if((j|0)>0){g=i;h=-16}else break;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function Ut(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Vt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Wt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Xt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Yt(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;o=n<<1;a[b>>0]=(f+4+h+o+(p+g<<1)|0)>>>3;q=(n+1+m|0)>>>1&255;f=e<<1;a[b+f>>0]=q;a[b+1>>0]=q;q=(m+1+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(g+4+(h<<1)+i+p+o+m|0)>>>3;h=(n+2+(m<<1)+l|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=(m+2+(l<<1)+k|0)>>>2&255;a[b+(i+1)>>0]=h;a[b+(e+2)>>0]=h;h=(l+2+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=h;a[b+(e+3)>>0]=h;a[b+(i+3)>>0]=(k+2+(j<<1)+c|0)>>>2;return}function Zt(a,b,c){a=a|0;b=b|0;c=c|0;ZH(a,b,c);return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;YH(a,b,c);return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;XH(a,b,c);return}function au(a,b,c){a=a|0;b=b|0;c=c|0;WH(a,b,c);return}function bu(a,b,c){a=a|0;b=b|0;c=c|0;VH(a,b,c);return}function cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;rG(e,b,32,c);UH(a,b,e,c,c);Gc=d;return}function du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;nG(e,b,32,c);TH(a,b,e,c,c);Gc=d;return}function eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;jG(e,b,32,c);SH(a,b,e,c,c);Gc=d;return}function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+256|0;e=d;fG(e,b,16,c);RH(a,b,e,c,c);Gc=d;return}function gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;bG(e,b,32,c);QH(a,b,e,c,c);Gc=d;return}function hu(a,b,c){a=a|0;b=b|0;c=c|0;rG(a,b,c,c);return}function iu(a,b,c){a=a|0;b=b|0;c=c|0;nG(a,b,c,c);return}function ju(a,b,c){a=a|0;b=b|0;c=c|0;jG(a,b,c,c);return}function ku(a,b,c){a=a|0;b=b|0;c=c|0;fG(a,b,c,c);return}function lu(a,b,c){a=a|0;b=b|0;c=c|0;bG(a,b,c,c);return}function mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;rG(e,b,32,c);UH(a,b+2|0,e,c,c);Gc=d;return}function nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;nG(e,b,32,c);TH(a,b+2|0,e,c,c);Gc=d;return}function ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;jG(e,b,32,c);SH(a,b+2|0,e,c,c);Gc=d;return}function pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+256|0;e=d;fG(e,b,16,c);RH(a,b+1|0,e,c,c);Gc=d;return}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;bG(e,b,32,c);QH(a,b+2|0,e,c,c);Gc=d;return}function ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;sG(g,b+(0-(c<<1))|0,c);tG(e,f,32);UH(a,f,e,c,32);Gc=d;return}function su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;oG(g,b+(0-(c<<1))|0,c);pG(e,f,32);TH(a,f,e,c,32);Gc=d;return}function tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;kG(g,b+(0-(c<<1))|0,c);lG(e,f,32);SH(a,f,e,c,32);Gc=d;return}function uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+592|0;g=d+256|0;e=d;f=g+32|0;gG(g,b+(0-(c<<1))|0,c);hG(e,f,16);RH(a,f,e,c,16);Gc=d;return}function vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;cG(g,b+(0-(c<<1))|0,c);dG(e,f,32);QH(a,f,e,c,32);Gc=d;return}function wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b,32,c);sG(g,b+(0-(c<<1))|0,c);tG(e,g+64|0,32);UH(a,f,e,c,32);Gc=d;return}function xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b,32,c);oG(g,b+(0-(c<<1))|0,c);pG(e,g+64|0,32);TH(a,f,e,c,32);Gc=d;return}function yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b,32,c);kG(g,b+(0-(c<<1))|0,c);lG(e,g+64|0,32);SH(a,f,e,c,32);Gc=d;return}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b,16,c);gG(g,b+(0-(c<<1))|0,c);hG(e,g+32|0,16);RH(a,f,e,c,16);Gc=d;return}function Au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b,32,c);cG(g,b+(0-(c<<1))|0,c);dG(e,g+64|0,32);QH(a,f,e,c,32);Gc=d;return}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;rG(f,b,32,c);zG(e,d,b,32,c);UH(a,f,e,c,32);Gc=d;return}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;nG(f,b,32,c);yG(e,d,b,32,c);TH(a,f,e,c,32);Gc=d;return}function Du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;jG(f,b,32,c);xG(e,d,b,32,c);SH(a,f,e,c,32);Gc=d;return}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+928|0;e=d+672|0;fG(f,b,16,c);wG(e,d,b,16,c);RH(a,f,e,c,16);Gc=d;return}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;bG(f,b,32,c);vG(e,d,b,32,c);QH(a,f,e,c,32);Gc=d;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b,32,c);sG(g,b+(0-(c<<1))+2|0,c);tG(e,g+64|0,32);UH(a,f,e,c,32);Gc=d;return}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b,32,c);oG(g,b+(0-(c<<1))+2|0,c);pG(e,g+64|0,32);TH(a,f,e,c,32);Gc=d;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b,32,c);kG(g,b+(0-(c<<1))+2|0,c);lG(e,g+64|0,32);SH(a,f,e,c,32);Gc=d;return}function Ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b,16,c);gG(g,b+(0-(c<<1))+1|0,c);hG(e,g+32|0,16);RH(a,f,e,c,16);Gc=d;return}function Ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b,32,c);cG(g,b+(0-(c<<1))+2|0,c);dG(e,g+64|0,32);QH(a,f,e,c,32);Gc=d;return}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;sG(e,b+(0-(c<<1))|0,c);tG(a,e+64|0,c);Gc=d;return}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;oG(e,b+(0-(c<<1))|0,c);pG(a,e+64|0,c);Gc=d;return}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;kG(e,b+(0-(c<<1))|0,c);lG(a,e+64|0,c);Gc=d;return}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+336|0;e=d;gG(e,b+(0-(c<<1))|0,c);hG(a,e+32|0,c);Gc=d;return}function Pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;cG(e,b+(0-(c<<1))|0,c);dG(a,e+64|0,c);Gc=d;return}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;sG(g,b+(0-(c<<1))|0,c);tG(f,g+64|0,32);zG(e,d,b,32,c);UH(a,f,e,c,32);Gc=d;return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;oG(g,b+(0-(c<<1))|0,c);pG(f,g+64|0,32);yG(e,d,b,32,c);TH(a,f,e,c,32);Gc=d;return}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;kG(g,b+(0-(c<<1))|0,c);lG(f,g+64|0,32);xG(e,d,b,32,c);SH(a,f,e,c,32);Gc=d;return}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;gG(g,b+(0-(c<<1))|0,c);hG(f,g+32|0,16);wG(e,d,b,16,c);RH(a,f,e,c,16);Gc=d;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;cG(g,b+(0-(c<<1))|0,c);dG(f,g+64|0,32);vG(e,d,b,32,c);QH(a,f,e,c,32);Gc=d;return}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+2688|0;zG(a,d,b,c,c);Gc=d;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+2688|0;yG(a,d,b,c,c);Gc=d;return}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+1344|0;xG(a,d,b,c,c);Gc=d;return}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+672|0;wG(a,d,b,c,c);Gc=d;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+1344|0;vG(a,d,b,c,c);Gc=d;return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;sG(g,b+(0-(c<<1))+2|0,c);tG(f,g+64|0,32);zG(e,d,b,32,c);UH(a,f,e,c,32);Gc=d;return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;oG(g,b+(0-(c<<1))+2|0,c);pG(f,g+64|0,32);yG(e,d,b,32,c);TH(a,f,e,c,32);Gc=d;return}function av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;kG(g,b+(0-(c<<1))+2|0,c);lG(f,g+64|0,32);xG(e,d,b,32,c);SH(a,f,e,c,32);Gc=d;return}function bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;gG(g,b+(0-(c<<1))+1|0,c);hG(f,g+32|0,16);wG(e,d,b,16,c);RH(a,f,e,c,16);Gc=d;return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;cG(g,b+(0-(c<<1))+2|0,c);dG(f,g+64|0,32);vG(e,d,b,32,c);QH(a,f,e,c,32);Gc=d;return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;sG(f,b+(0-(c<<1))|0,c);tG(e,f+64|0,32);UH(a,f+96|0,e,c,32);Gc=d;return}function ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;oG(f,b+(0-(c<<1))|0,c);pG(e,f+64|0,32);TH(a,f+96|0,e,c,32);Gc=d;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;kG(f,b+(0-(c<<1))|0,c);lG(e,f+64|0,32);SH(a,f+96|0,e,c,32);Gc=d;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+592|0;f=d+256|0;e=d;gG(f,b+(0-(c<<1))|0,c);hG(e,f+32|0,16);RH(a,f+48|0,e,c,16);Gc=d;return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;cG(f,b+(0-(c<<1))|0,c);dG(e,f+64|0,32);QH(a,f+96|0,e,c,32);Gc=d;return}function iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b+c|0,32,c);sG(g,b+(0-(c<<1))|0,c);tG(e,g+64|0,32);UH(a,f,e,c,32);Gc=d;return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b+c|0,32,c);oG(g,b+(0-(c<<1))|0,c);pG(e,g+64|0,32);TH(a,f,e,c,32);Gc=d;return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b+c|0,32,c);kG(g,b+(0-(c<<1))|0,c);lG(e,g+64|0,32);SH(a,f,e,c,32);Gc=d;return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b+c|0,16,c);gG(g,b+(0-(c<<1))|0,c);hG(e,g+32|0,16);RH(a,f,e,c,16);Gc=d;return}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b+c|0,32,c);cG(g,b+(0-(c<<1))|0,c);dG(e,g+64|0,32);QH(a,f,e,c,32);Gc=d;return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;rG(f,b+c|0,32,c);zG(e,d,b,32,c);UH(a,f,e,c,32);Gc=d;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;nG(f,b+c|0,32,c);yG(e,d,b,32,c);TH(a,f,e,c,32);Gc=d;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;jG(f,b+c|0,32,c);xG(e,d,b,32,c);SH(a,f,e,c,32);Gc=d;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+928|0;e=d+672|0;fG(f,b+c|0,16,c);wG(e,d,b,16,c);RH(a,f,e,c,16);Gc=d;return}function rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;bG(f,b+c|0,32,c);vG(e,d,b,32,c);QH(a,f,e,c,32);Gc=d;return}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b+c|0,32,c);sG(g,b+(0-(c<<1))+2|0,c);tG(e,g+64|0,32);UH(a,f,e,c,32);Gc=d;return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b+c|0,32,c);oG(g,b+(0-(c<<1))+2|0,c);pG(e,g+64|0,32);TH(a,f,e,c,32);Gc=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b+c|0,32,c);kG(g,b+(0-(c<<1))+2|0,c);lG(e,g+64|0,32);SH(a,f,e,c,32);Gc=d;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b+c|0,16,c);gG(g,b+(0-(c<<1))+1|0,c);hG(e,g+32|0,16);RH(a,f,e,c,16);Gc=d;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b+c|0,32,c);cG(g,b+(0-(c<<1))+2|0,c);dG(e,g+64|0,32);QH(a,f,e,c,32);Gc=d;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c,8);return}function yv(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c,8);return}function zv(a,b,c){a=a|0;b=b|0;c=c|0;NH(a,b,c,8);return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;MH(a,b,c,8);return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c,8);return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;AF(e,b,16,c);KH(a,b,e,c,c,16,8);Gc=d;return}function Dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;wF(e,b,16,c);JH(a,b,e,c,c,16,8);Gc=d;return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;sF(e,b,16,c);IH(a,b,e,c,c,16,8);Gc=d;return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+64|0;e=d;oF(e,b,8,c);HH(a,b,e,c,c,8,8);Gc=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;kF(e,b,16,c);GH(a,b,e,c,c,16,8);Gc=d;return}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;AF(a,b,c,c);return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;wF(a,b,c,c);return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;sF(a,b,c,c);return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;oF(a,b,c,c);return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;kF(a,b,c,c);return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;AF(e,b,16,c);KH(a,b+2|0,e,c,c,16,8);Gc=d;return}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;wF(e,b,16,c);JH(a,b+2|0,e,c,c,16,8);Gc=d;return}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;sF(e,b,16,c);IH(a,b+2|0,e,c,c,16,8);Gc=d;return}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+64|0;e=d;oF(e,b,8,c);HH(a,b+1|0,e,c,c,8,8);Gc=d;return}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;kF(e,b,16,c);GH(a,b+2|0,e,c,c,16,8);Gc=d;return}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;BF(g,b+(0-(c<<1))|0,c);CF(e,f,16,16);KH(a,f,e,c,16,16,8);Gc=d;return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;xF(g,b+(0-(c<<1))|0,c);yF(e,f,16,16);JH(a,f,e,c,16,16,8);Gc=d;return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;tF(g,b+(0-(c<<1))|0,c);uF(e,f,16,16);IH(a,f,e,c,16,16,8);Gc=d;return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+176|0;g=d+64|0;e=d;f=g+16|0;pF(g,b+(0-(c<<1))|0,c);qF(e,f,8,8);HH(a,f,e,c,8,8,8);Gc=d;return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;lF(g,b+(0-(c<<1))|0,c);mF(e,f,16,16);GH(a,f,e,c,16,16,8);Gc=d;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b,16,c);BF(g,b+(0-(c<<1))|0,c);CF(e,g+32|0,16,16);KH(a,f,e,c,16,16,8);Gc=d;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b,16,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Gc=d;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b,16,c);tF(g,b+(0-(c<<1))|0,c);uF(e,g+32|0,16,16);IH(a,f,e,c,16,16,8);Gc=d;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b,8,c);pF(g,b+(0-(c<<1))|0,c);qF(e,g+16|0,8,8);HH(a,f,e,c,8,8,8);Gc=d;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b,16,c);lF(g,b+(0-(c<<1))|0,c);mF(e,g+32|0,16,16);GH(a,f,e,c,16,16,8);Gc=d;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;AF(f,b,16,c);IF(e,d,b,16,16,c);KH(a,f,e,c,16,16,8);Gc=d;return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;wF(f,b,16,c);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Gc=d;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;sF(f,b,16,c);GF(e,d,b,16,16,c);IH(a,f,e,c,16,16,8);Gc=d;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+272|0;e=d+208|0;oF(f,b,8,c);FF(e,d,b,8,8,c);HH(a,f,e,c,8,8,8);Gc=d;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;kF(f,b,16,c);EF(e,d,b,16,16,c);GH(a,f,e,c,16,16,8);Gc=d;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b,16,c);BF(g,b+(0-(c<<1))+2|0,c);CF(e,g+32|0,16,16);KH(a,f,e,c,16,16,8);Gc=d;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b,16,c);xF(g,b+(0-(c<<1))+2|0,c);yF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Gc=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b,16,c);tF(g,b+(0-(c<<1))+2|0,c);uF(e,g+32|0,16,16);IH(a,f,e,c,16,16,8);Gc=d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b,8,c);pF(g,b+(0-(c<<1))+1|0,c);qF(e,g+16|0,8,8);HH(a,f,e,c,8,8,8);Gc=d;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b,16,c);lF(g,b+(0-(c<<1))+2|0,c);mF(e,g+32|0,16,16);GH(a,f,e,c,16,16,8);Gc=d;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;BF(e,b+(0-(c<<1))|0,c);CF(a,e+32|0,c,16);Gc=d;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;xF(e,b+(0-(c<<1))|0,c);yF(a,e+32|0,c,16);Gc=d;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;tF(e,b+(0-(c<<1))|0,c);uF(a,e+32|0,c,16);Gc=d;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+112|0;e=d;pF(e,b+(0-(c<<1))|0,c);qF(a,e+16|0,c,8);Gc=d;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;lF(e,b+(0-(c<<1))|0,c);mF(a,e+32|0,c,16);Gc=d;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;BF(g,b+(0-(c<<1))|0,c);CF(f,g+32|0,16,16);IF(e,d,b,16,16,c);KH(a,f,e,c,16,16,8);Gc=d;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;xF(g,b+(0-(c<<1))|0,c);yF(f,g+32|0,16,16);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Gc=d;return}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;tF(g,b+(0-(c<<1))|0,c);uF(f,g+32|0,16,16);GF(e,d,b,16,16,c);IH(a,f,e,c,16,16,8);Gc=d;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+448|0;g=d+336|0;f=d+272|0;e=d+208|0;pF(g,b+(0-(c<<1))|0,c);qF(f,g+16|0,8,8);FF(e,d,b,8,8,c);HH(a,f,e,c,8,8,8);Gc=d;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;lF(g,b+(0-(c<<1))|0,c);mF(f,g+32|0,16,16);EF(e,d,b,16,16,c);GH(a,f,e,c,16,16,8);Gc=d;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+832|0;IF(a,d,b,c,16,c);Gc=d;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+832|0;HF(a,d,b,c,16,c);Gc=d;return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+416|0;GF(a,d,b,c,16,c);Gc=d;return}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+208|0;FF(a,d,b,c,8,c);Gc=d;return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+416|0;EF(a,d,b,c,16,c);Gc=d;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;BF(g,b+(0-(c<<1))+2|0,c);CF(f,g+32|0,16,16);IF(e,d,b,16,16,c);KH(a,f,e,c,16,16,8);Gc=d;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;xF(g,b+(0-(c<<1))+2|0,c);yF(f,g+32|0,16,16);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Gc=d;return}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;tF(g,b+(0-(c<<1))+2|0,c);uF(f,g+32|0,16,16);GF(e,d,b,16,16,c);IH(a,f,e,c,16,16,8);Gc=d;return}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+448|0;g=d+336|0;f=d+272|0;e=d+208|0;pF(g,b+(0-(c<<1))+1|0,c);qF(f,g+16|0,8,8);FF(e,d,b,8,8,c);HH(a,f,e,c,8,8,8);Gc=d;return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;lF(g,b+(0-(c<<1))+2|0,c);mF(f,g+32|0,16,16);EF(e,d,b,16,16,c);GH(a,f,e,c,16,16,8);Gc=d;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;BF(f,b+(0-(c<<1))|0,c);CF(e,f+32|0,16,16);KH(a,f+48|0,e,c,16,16,8);Gc=d;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;xF(f,b+(0-(c<<1))|0,c);yF(e,f+32|0,16,16);JH(a,f+48|0,e,c,16,16,8);Gc=d;return}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;tF(f,b+(0-(c<<1))|0,c);uF(e,f+32|0,16,16);IH(a,f+48|0,e,c,16,16,8);Gc=d;return}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+176|0;f=d+64|0;e=d;pF(f,b+(0-(c<<1))|0,c);qF(e,f+16|0,8,8);HH(a,f+24|0,e,c,8,8,8);Gc=d;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;lF(f,b+(0-(c<<1))|0,c);mF(e,f+32|0,16,16);GH(a,f+48|0,e,c,16,16,8);Gc=d;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b+c|0,16,c);BF(g,b+(0-(c<<1))|0,c);CF(e,g+32|0,16,16);KH(a,f,e,c,16,16,8);Gc=d;return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b+c|0,16,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Gc=d;return}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b+c|0,16,c);tF(g,b+(0-(c<<1))|0,c);uF(e,g+32|0,16,16);IH(a,f,e,c,16,16,8);Gc=d;return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b+c|0,8,c);pF(g,b+(0-(c<<1))|0,c);qF(e,g+16|0,8,8);HH(a,f,e,c,8,8,8);Gc=d;return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b+c|0,16,c);lF(g,b+(0-(c<<1))|0,c);mF(e,g+32|0,16,16);GH(a,f,e,c,16,16,8);Gc=d;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;AF(f,b+c|0,16,c);IF(e,d,b,16,16,c);KH(a,f,e,c,16,16,8);Gc=d;return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;wF(f,b+c|0,16,c);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Gc=d;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;sF(f,b+c|0,16,c);GF(e,d,b,16,16,c);IH(a,f,e,c,16,16,8);Gc=d;return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+272|0;e=d+208|0;oF(f,b+c|0,8,c);FF(e,d,b,8,8,c);HH(a,f,e,c,8,8,8);Gc=d;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;kF(f,b+c|0,16,c);EF(e,d,b,16,16,c);GH(a,f,e,c,16,16,8);Gc=d;return}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b+c|0,16,c);BF(g,b+(0-(c<<1))+2|0,c);CF(e,g+32|0,16,16);KH(a,f,e,c,16,16,8);Gc=d;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b+c|0,16,c);xF(g,b+(0-(c<<1))+2|0,c);yF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Gc=d;return}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b+c|0,16,c);tF(g,b+(0-(c<<1))+2|0,c);uF(e,g+32|0,16,16);IH(a,f,e,c,16,16,8);Gc=d;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b+c|0,8,c);pF(g,b+(0-(c<<1))+1|0,c);qF(e,g+16|0,8,8);HH(a,f,e,c,8,8,8);Gc=d;return}function Ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b+c|0,16,c);lF(g,b+(0-(c<<1))+2|0,c);mF(e,g+32|0,16,16);GH(a,f,e,c,16,16,8);Gc=d;return}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;FH(a,b,c);return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;EH(a,b,c);return}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;DH(a,b,c);return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;CH(a,b,c);return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;BH(a,b,c);return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;JE(e,b,8,c);AH(a,b,e,c,c);Gc=d;return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;FE(e,b,8,c);zH(a,b,e,c,c);Gc=d;return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;BE(e,b,8,c);yH(a,b,e,c,c);Gc=d;return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;wE(e,b,4,c);xH(a,b,e,c,c);Gc=d;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;rE(e,b,8,c);wH(a,b,e,c,c);Gc=d;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;JE(a,b,c,c);return}function gx(a,b,c){a=a|0;b=b|0;c=c|0;FE(a,b,c,c);return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;BE(a,b,c,c);return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;wE(a,b,c,c);return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;rE(a,b,c,c);return}function kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;JE(e,b,8,c);AH(a,b+2|0,e,c,c);Gc=d;return}function lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;FE(e,b,8,c);zH(a,b+2|0,e,c,c);Gc=d;return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;BE(e,b,8,c);yH(a,b+2|0,e,c,c);Gc=d;return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;wE(e,b,4,c);xH(a,b+1|0,e,c,c);Gc=d;return}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;rE(e,b,8,c);wH(a,b+2|0,e,c,c);Gc=d;return}function px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;KE(g,b+(0-(c<<1))|0,c);LE(e,f,8);AH(a,f,e,c,8);Gc=d;return}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;GE(g,b+(0-(c<<1))|0,c);HE(e,f,8);zH(a,f,e,c,8);Gc=d;return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;CE(g,b+(0-(c<<1))|0,c);DE(e,f,8);yH(a,f,e,c,8);Gc=d;return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+64|0;g=d+16|0;e=d;f=g+8|0;xE(g,b+(0-(c<<1))|0,c);yE(e,f,4);xH(a,f,e,c,4);Gc=d;return}function tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;sE(g,b+(0-(c<<1))|0,c);tE(e,f,8);wH(a,f,e,c,8);Gc=d;return}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b,8,c);KE(g,b+(0-(c<<1))|0,c);LE(e,g+16|0,8);AH(a,f,e,c,8);Gc=d;return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b,8,c);GE(g,b+(0-(c<<1))|0,c);HE(e,g+16|0,8);zH(a,f,e,c,8);Gc=d;return}function wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b,8,c);CE(g,b+(0-(c<<1))|0,c);DE(e,g+16|0,8);yH(a,f,e,c,8);Gc=d;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b,4,c);xE(g,b+(0-(c<<1))|0,c);yE(e,g+8|0,4);xH(a,f,e,c,4);Gc=d;return}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b,8,c);sE(g,b+(0-(c<<1))|0,c);tE(e,g+16|0,8);wH(a,f,e,c,8);Gc=d;return}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;JE(f,b,8,c);RE(e,d,b,8,c);AH(a,f,e,c,8);Gc=d;return}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;FE(f,b,8,c);QE(e,d,b,8,c);zH(a,f,e,c,8);Gc=d;return}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;BE(f,b,8,c);PE(e,d,b,8,c);yH(a,f,e,c,8);Gc=d;return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+88|0;e=d+72|0;wE(f,b,4,c);OE(e,d,b,4,c);xH(a,f,e,c,4);Gc=d;return}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;rE(f,b,8,c);NE(e,d,b,8,c);wH(a,f,e,c,8);Gc=d;return}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b,8,c);KE(g,b+(0-(c<<1))+2|0,c);LE(e,g+16|0,8);AH(a,f,e,c,8);Gc=d;return}function Fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b,8,c);GE(g,b+(0-(c<<1))+2|0,c);HE(e,g+16|0,8);zH(a,f,e,c,8);Gc=d;return}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b,8,c);CE(g,b+(0-(c<<1))+2|0,c);DE(e,g+16|0,8);yH(a,f,e,c,8);Gc=d;return}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b,4,c);xE(g,b+(0-(c<<1))+1|0,c);yE(e,g+8|0,4);xH(a,f,e,c,4);Gc=d;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b,8,c);sE(g,b+(0-(c<<1))+2|0,c);tE(e,g+16|0,8);wH(a,f,e,c,8);Gc=d;return}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;KE(e,b+(0-(c<<1))|0,c);LE(a,e+16|0,c);Gc=d;return}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;GE(e,b+(0-(c<<1))|0,c);HE(a,e+16|0,c);Gc=d;return}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;CE(e,b+(0-(c<<1))|0,c);DE(a,e+16|0,c);Gc=d;return}function Mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+48|0;e=d;xE(e,b+(0-(c<<1))|0,c);yE(a,e+8|0,c);Gc=d;return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;sE(e,b+(0-(c<<1))|0,c);tE(a,e+16|0,c);Gc=d;return}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;KE(g,b+(0-(c<<1))|0,c);LE(f,g+16|0,8);RE(e,d,b,8,c);AH(a,f,e,c,8);Gc=d;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;GE(g,b+(0-(c<<1))|0,c);HE(f,g+16|0,8);QE(e,d,b,8,c);zH(a,f,e,c,8);Gc=d;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;CE(g,b+(0-(c<<1))|0,c);DE(f,g+16|0,8);PE(e,d,b,8,c);yH(a,f,e,c,8);Gc=d;return}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+104|0;f=d+88|0;e=d+72|0;xE(g,b+(0-(c<<1))|0,c);yE(f,g+8|0,4);OE(e,d,b,4,c);xH(a,f,e,c,4);Gc=d;return}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;sE(g,b+(0-(c<<1))|0,c);tE(f,g+16|0,8);NE(e,d,b,8,c);wH(a,f,e,c,8);Gc=d;return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+288|0;RE(a,d,b,c,c);Gc=d;return}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+288|0;QE(a,d,b,c,c);Gc=d;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+144|0;PE(a,d,b,c,c);Gc=d;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+80|0;OE(a,d,b,c,c);Gc=d;return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+144|0;NE(a,d,b,c,c);Gc=d;return}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;KE(g,b+(0-(c<<1))+2|0,c);LE(f,g+16|0,8);RE(e,d,b,8,c);AH(a,f,e,c,8);Gc=d;return}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;GE(g,b+(0-(c<<1))+2|0,c);HE(f,g+16|0,8);QE(e,d,b,8,c);zH(a,f,e,c,8);Gc=d;return}function _x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;CE(g,b+(0-(c<<1))+2|0,c);DE(f,g+16|0,8);PE(e,d,b,8,c);yH(a,f,e,c,8);Gc=d;return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+104|0;f=d+88|0;e=d+72|0;xE(g,b+(0-(c<<1))+1|0,c);yE(f,g+8|0,4);OE(e,d,b,4,c);xH(a,f,e,c,4);Gc=d;return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;sE(g,b+(0-(c<<1))+2|0,c);tE(f,g+16|0,8);NE(e,d,b,8,c);wH(a,f,e,c,8);Gc=d;return}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;KE(f,b+(0-(c<<1))|0,c);LE(e,f+16|0,8);AH(a,f+24|0,e,c,8);Gc=d;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;GE(f,b+(0-(c<<1))|0,c);HE(e,f+16|0,8);zH(a,f+24|0,e,c,8);Gc=d;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;CE(f,b+(0-(c<<1))|0,c);DE(e,f+16|0,8);yH(a,f+24|0,e,c,8);Gc=d;return}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+64|0;f=d+16|0;e=d;xE(f,b+(0-(c<<1))|0,c);yE(e,f+8|0,4);xH(a,f+12|0,e,c,4);Gc=d;return}function fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;sE(f,b+(0-(c<<1))|0,c);tE(e,f+16|0,8);wH(a,f+24|0,e,c,8);Gc=d;return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b+c|0,8,c);KE(g,b+(0-(c<<1))|0,c);LE(e,g+16|0,8);AH(a,f,e,c,8);Gc=d;return}function hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b+c|0,8,c);GE(g,b+(0-(c<<1))|0,c);HE(e,g+16|0,8);zH(a,f,e,c,8);Gc=d;return}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b+c|0,8,c);CE(g,b+(0-(c<<1))|0,c);DE(e,g+16|0,8);yH(a,f,e,c,8);Gc=d;return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b+c|0,4,c);xE(g,b+(0-(c<<1))|0,c);yE(e,g+8|0,4);xH(a,f,e,c,4);Gc=d;return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b+c|0,8,c);sE(g,b+(0-(c<<1))|0,c);tE(e,g+16|0,8);wH(a,f,e,c,8);Gc=d;return}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;JE(f,b+c|0,8,c);RE(e,d,b,8,c);AH(a,f,e,c,8);Gc=d;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;FE(f,b+c|0,8,c);QE(e,d,b,8,c);zH(a,f,e,c,8);Gc=d;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;BE(f,b+c|0,8,c);PE(e,d,b,8,c);yH(a,f,e,c,8);Gc=d;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+88|0;e=d+72|0;wE(f,b+c|0,4,c);OE(e,d,b,4,c);xH(a,f,e,c,4);Gc=d;return}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;rE(f,b+c|0,8,c);NE(e,d,b,8,c);wH(a,f,e,c,8);Gc=d;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b+c|0,8,c);KE(g,b+(0-(c<<1))+2|0,c);LE(e,g+16|0,8);AH(a,f,e,c,8);Gc=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b+c|0,8,c);GE(g,b+(0-(c<<1))+2|0,c);HE(e,g+16|0,8);zH(a,f,e,c,8);Gc=d;return}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b+c|0,8,c);CE(g,b+(0-(c<<1))+2|0,c);DE(e,g+16|0,8);yH(a,f,e,c,8);Gc=d;return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b+c|0,4,c);xE(g,b+(0-(c<<1))+1|0,c);yE(e,g+8|0,4);xH(a,f,e,c,4);Gc=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b+c|0,8,c);sE(g,b+(0-(c<<1))+2|0,c);tE(e,g+16|0,8);wH(a,f,e,c,8);Gc=d;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;vH(a,b,c);return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;uH(a,b,c);return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;tH(a,b,c);return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;sH(a,b,c);return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;rH(a,b,c);return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;iH(e,b,4,c);lH(a,b,e,c,c);Gc=d;return}function By(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;eH(e,b,4,c);hH(a,b,e,c,c);Gc=d;return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;aH(e,b,4,c);dH(a,b,e,c,c);Gc=d;return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;YG(e,b,2,c);$G(a,b,e,c,c);Gc=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;UG(e,b,4,c);XG(a,b,e,c,c);Gc=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;iH(a,b,c,c);return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;eH(a,b,c,c);return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;aH(a,b,c,c);return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;YG(a,b,c,c);return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;UG(a,b,c,c);return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;iH(e,b,4,c);lH(a,b+2|0,e,c,c);Gc=d;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;eH(e,b,4,c);hH(a,b+2|0,e,c,c);Gc=d;return}function My(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;aH(e,b,4,c);dH(a,b+2|0,e,c,c);Gc=d;return}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;YG(e,b,2,c);$G(a,b+1|0,e,c,c);Gc=d;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;UG(e,b,4,c);XG(a,b+2|0,e,c,c);Gc=d;return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+8|0;e=d;f=g+8|0;jH(g,b+(0-(c<<1))|0,c);kH(e,f,4);lH(a,f,e,c,4);Gc=d;return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+8|0;e=d;f=g+8|0;fH(g,b+(0-(c<<1))|0,c);gH(e,f,4);hH(a,f,e,c,4);Gc=d;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+8|0;e=d;f=g+8|0;bH(g,b+(0-(c<<1))|0,c);cH(e,f,4);dH(a,f,e,c,4);Gc=d;return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+32|0;g=d+4|0;e=d;f=g+4|0;ZG(g,b+(0-(c<<1))|0,c);_G(e,f,2);$G(a,f,e,c,2);Gc=d;return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+8|0;e=d;f=g+8|0;VG(g,b+(0-(c<<1))|0,c);WG(e,f,4);XG(a,f,e,c,4);Gc=d;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;iH(f,b,4,c);jH(g,b+(0-(c<<1))|0,c);kH(e,g+8|0,4);lH(a,f,e,c,4);Gc=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;eH(f,b,4,c);fH(g,b+(0-(c<<1))|0,c);gH(e,g+8|0,4);hH(a,f,e,c,4);Gc=d;return}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;aH(f,b,4,c);bH(g,b+(0-(c<<1))|0,c);cH(e,g+8|0,4);dH(a,f,e,c,4);Gc=d;return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+32|0;g=d+8|0;f=d+4|0;e=d;YG(f,b,2,c);ZG(g,b+(0-(c<<1))|0,c);_G(e,g+4|0,2);$G(a,f,e,c,2);Gc=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;UG(f,b,4,c);VG(g,b+(0-(c<<1))|0,c);WG(e,g+8|0,4);XG(a,f,e,c,4);Gc=d;return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+128|0;f=d+120|0;e=d+112|0;iH(f,b,4,c);qH(e,d,b,4,c);lH(a,f,e,c,4);Gc=d;return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+128|0;f=d+120|0;e=d+112|0;eH(f,b,4,c);pH(e,d,b,4,c);hH(a,f,e,c,4);Gc=d;return}function $y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+80|0;f=d+64|0;e=d+56|0;aH(f,b,4,c);oH(e,d,b,4,c);dH(a,f,e,c,4);Gc=d;return}function az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+32|0;e=d+28|0;YG(f,b,2,c);nH(e,d,b,2,c);$G(a,f,e,c,2);Gc=d;return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+80|0;f=d+64|0;e=d+56|0;UG(f,b,4,c);mH(e,d,b,4,c);XG(a,f,e,c,4);Gc=d;return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;iH(f,b,4,c);jH(g,b+(0-(c<<1))+2|0,c);kH(e,g+8|0,4);lH(a,f,e,c,4);Gc=d;return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;eH(f,b,4,c);fH(g,b+(0-(c<<1))+2|0,c);gH(e,g+8|0,4);hH(a,f,e,c,4);Gc=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;aH(f,b,4,c);bH(g,b+(0-(c<<1))+2|0,c);cH(e,g+8|0,4);dH(a,f,e,c,4);Gc=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+32|0;g=d+8|0;f=d+4|0;e=d;YG(f,b,2,c);ZG(g,b+(0-(c<<1))+1|0,c);_G(e,g+4|0,2);$G(a,f,e,c,2);Gc=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;UG(f,b,4,c);VG(g,b+(0-(c<<1))+2|0,c);WG(e,g+8|0,4);XG(a,f,e,c,4);Gc=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;jH(e,b+(0-(c<<1))|0,c);kH(a,e+8|0,c);Gc=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;fH(e,b+(0-(c<<1))|0,c);gH(a,e+8|0,c);Gc=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;bH(e,b+(0-(c<<1))|0,c);cH(a,e+8|0,c);Gc=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;ZG(e,b+(0-(c<<1))|0,c);_G(a,e+4|0,c);Gc=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;VG(e,b+(0-(c<<1))|0,c);WG(a,e+8|0,c);Gc=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+160|0;g=d+128|0;f=d+120|0;e=d+112|0;jH(g,b+(0-(c<<1))|0,c);kH(f,g+8|0,4);qH(e,d,b,4,c);lH(a,f,e,c,4);Gc=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+160|0;g=d+128|0;f=d+120|0;e=d+112|0;fH(g,b+(0-(c<<1))|0,c);gH(f,g+8|0,4);pH(e,d,b,4,c);hH(a,f,e,c,4);Gc=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+72|0;f=d+64|0;e=d+56|0;bH(g,b+(0-(c<<1))|0,c);cH(f,g+8|0,4);oH(e,d,b,4,c);dH(a,f,e,c,4);Gc=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+64|0;g=d+36|0;f=d+32|0;e=d+28|0;ZG(g,b+(0-(c<<1))|0,c);_G(f,g+4|0,2);nH(e,d,b,2,c);$G(a,f,e,c,2);Gc=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+72|0;f=d+64|0;e=d+56|0;VG(g,b+(0-(c<<1))|0,c);WG(f,g+8|0,4);mH(e,d,b,4,c);XG(a,f,e,c,4);Gc=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+112|0;qH(a,d,b,c,c);Gc=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+112|0;pH(a,d,b,c,c);Gc=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+64|0;oH(a,d,b,c,c);Gc=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+32|0;nH(a,d,b,c,c);Gc=d;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+64|0;mH(a,d,b,c,c);Gc=d;return}function wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+160|0;g=d+128|0;f=d+120|0;e=d+112|0;jH(g,b+(0-(c<<1))+2|0,c);kH(f,g+8|0,4);qH(e,d,b,4,c);lH(a,f,e,c,4);Gc=d;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+160|0;g=d+128|0;f=d+120|0;e=d+112|0;fH(g,b+(0-(c<<1))+2|0,c);gH(f,g+8|0,4);pH(e,d,b,4,c);hH(a,f,e,c,4);Gc=d;return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+72|0;f=d+64|0;e=d+56|0;bH(g,b+(0-(c<<1))+2|0,c);cH(f,g+8|0,4);oH(e,d,b,4,c);dH(a,f,e,c,4);Gc=d;return}function zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+64|0;g=d+36|0;f=d+32|0;e=d+28|0;ZG(g,b+(0-(c<<1))+1|0,c);_G(f,g+4|0,2);nH(e,d,b,2,c);$G(a,f,e,c,2);Gc=d;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+72|0;f=d+64|0;e=d+56|0;VG(g,b+(0-(c<<1))+2|0,c);WG(f,g+8|0,4);mH(e,d,b,4,c);XG(a,f,e,c,4);Gc=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+8|0;e=d;jH(f,b+(0-(c<<1))|0,c);kH(e,f+8|0,4);lH(a,f+12|0,e,c,4);Gc=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+8|0;e=d;fH(f,b+(0-(c<<1))|0,c);gH(e,f+8|0,4);hH(a,f+12|0,e,c,4);Gc=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+8|0;e=d;bH(f,b+(0-(c<<1))|0,c);cH(e,f+8|0,4);dH(a,f+12|0,e,c,4);Gc=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+32|0;f=d+4|0;e=d;ZG(f,b+(0-(c<<1))|0,c);_G(e,f+4|0,2);$G(a,f+6|0,e,c,2);Gc=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+8|0;e=d;VG(f,b+(0-(c<<1))|0,c);WG(e,f+8|0,4);XG(a,f+12|0,e,c,4);Gc=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;iH(f,b+c|0,4,c);jH(g,b+(0-(c<<1))|0,c);kH(e,g+8|0,4);lH(a,f,e,c,4);Gc=d;return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;eH(f,b+c|0,4,c);fH(g,b+(0-(c<<1))|0,c);gH(e,g+8|0,4);hH(a,f,e,c,4);Gc=d;return}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;aH(f,b+c|0,4,c);bH(g,b+(0-(c<<1))|0,c);cH(e,g+8|0,4);dH(a,f,e,c,4);Gc=d;return}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+32|0;g=d+8|0;f=d+4|0;e=d;YG(f,b+c|0,2,c);ZG(g,b+(0-(c<<1))|0,c);_G(e,g+4|0,2);$G(a,f,e,c,2);Gc=d;return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;UG(f,b+c|0,4,c);VG(g,b+(0-(c<<1))|0,c);WG(e,g+8|0,4);XG(a,f,e,c,4);Gc=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+128|0;f=d+120|0;e=d+112|0;iH(f,b+c|0,4,c);qH(e,d,b,4,c);lH(a,f,e,c,4);Gc=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+128|0;f=d+120|0;e=d+112|0;eH(f,b+c|0,4,c);pH(e,d,b,4,c);hH(a,f,e,c,4);Gc=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+80|0;f=d+64|0;e=d+56|0;aH(f,b+c|0,4,c);oH(e,d,b,4,c);dH(a,f,e,c,4);Gc=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+48|0;f=d+32|0;e=d+28|0;YG(f,b+c|0,2,c);nH(e,d,b,2,c);$G(a,f,e,c,2);Gc=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+80|0;f=d+64|0;e=d+56|0;UG(f,b+c|0,4,c);mH(e,d,b,4,c);XG(a,f,e,c,4);Gc=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;iH(f,b+c|0,4,c);jH(g,b+(0-(c<<1))+2|0,c);kH(e,g+8|0,4);lH(a,f,e,c,4);Gc=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;eH(f,b+c|0,4,c);fH(g,b+(0-(c<<1))+2|0,c);gH(e,g+8|0,4);hH(a,f,e,c,4);Gc=d;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;aH(f,b+c|0,4,c);bH(g,b+(0-(c<<1))+2|0,c);cH(e,g+8|0,4);dH(a,f,e,c,4);Gc=d;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+32|0;g=d+8|0;f=d+4|0;e=d;YG(f,b+c|0,2,c);ZG(g,b+(0-(c<<1))+1|0,c);_G(e,g+4|0,2);$G(a,f,e,c,2);Gc=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+48|0;g=d+16|0;f=d+8|0;e=d;UG(f,b+c|0,4,c);VG(g,b+(0-(c<<1))+2|0,c);WG(e,g+8|0,4);XG(a,f,e,c,4);Gc=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;TG(a,b,c);return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;SG(a,b,c);return}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;RG(a,b,c);return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;QG(a,b,c);return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;PG(a,b,c);return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;rG(e,b,32,c);uG(a,b,e,c,c);Gc=d;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;nG(e,b,32,c);qG(a,b,e,c,c);Gc=d;return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;jG(e,b,32,c);mG(a,b,e,c,c);Gc=d;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+256|0;e=d;fG(e,b,16,c);iG(a,b,e,c,c);Gc=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;bG(e,b,32,c);eG(a,b,e,c,c);Gc=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;OG(a,b,c,c);return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;NG(a,b,c,c);return}function fA(a,b,c){a=a|0;b=b|0;c=c|0;MG(a,b,c,c);return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;LG(a,b,c,c);return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;KG(a,b,c,c);return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;rG(e,b,32,c);uG(a,b+2|0,e,c,c);Gc=d;return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;nG(e,b,32,c);qG(a,b+2|0,e,c,c);Gc=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;jG(e,b,32,c);mG(a,b+2|0,e,c,c);Gc=d;return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+256|0;e=d;fG(e,b,16,c);iG(a,b+1|0,e,c,c);Gc=d;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+512|0;e=d;bG(e,b,32,c);eG(a,b+2|0,e,c,c);Gc=d;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;sG(g,b+(0-(c<<1))|0,c);tG(e,f,32);uG(a,f,e,c,32);Gc=d;return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;oG(g,b+(0-(c<<1))|0,c);pG(e,f,32);qG(a,f,e,c,32);Gc=d;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;kG(g,b+(0-(c<<1))|0,c);lG(e,f,32);mG(a,f,e,c,32);Gc=d;return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+592|0;g=d+256|0;e=d;f=g+32|0;gG(g,b+(0-(c<<1))|0,c);hG(e,f,16);iG(a,f,e,c,16);Gc=d;return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1184|0;g=d+512|0;e=d;f=g+64|0;cG(g,b+(0-(c<<1))|0,c);dG(e,f,32);eG(a,f,e,c,32);Gc=d;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b,32,c);sG(g,b+(0-(c<<1))|0,c);tG(e,g+64|0,32);uG(a,f,e,c,32);Gc=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b,32,c);oG(g,b+(0-(c<<1))|0,c);pG(e,g+64|0,32);qG(a,f,e,c,32);Gc=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b,32,c);kG(g,b+(0-(c<<1))|0,c);lG(e,g+64|0,32);mG(a,f,e,c,32);Gc=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b,16,c);gG(g,b+(0-(c<<1))|0,c);hG(e,g+32|0,16);iG(a,f,e,c,16);Gc=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b,32,c);cG(g,b+(0-(c<<1))|0,c);dG(e,g+64|0,32);eG(a,f,e,c,32);Gc=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;rG(f,b,32,c);zG(e,d,b,32,c);uG(a,f,e,c,32);Gc=d;return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;nG(f,b,32,c);yG(e,d,b,32,c);qG(a,f,e,c,32);Gc=d;return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;jG(f,b,32,c);xG(e,d,b,32,c);mG(a,f,e,c,32);Gc=d;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+928|0;e=d+672|0;fG(f,b,16,c);wG(e,d,b,16,c);iG(a,f,e,c,16);Gc=d;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;bG(f,b,32,c);vG(e,d,b,32,c);eG(a,f,e,c,32);Gc=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b,32,c);sG(g,b+(0-(c<<1))+2|0,c);tG(e,g+64|0,32);uG(a,f,e,c,32);Gc=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b,32,c);oG(g,b+(0-(c<<1))+2|0,c);pG(e,g+64|0,32);qG(a,f,e,c,32);Gc=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b,32,c);kG(g,b+(0-(c<<1))+2|0,c);lG(e,g+64|0,32);mG(a,f,e,c,32);Gc=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b,16,c);gG(g,b+(0-(c<<1))+1|0,c);hG(e,g+32|0,16);iG(a,f,e,c,16);Gc=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b,32,c);cG(g,b+(0-(c<<1))+2|0,c);dG(e,g+64|0,32);eG(a,f,e,c,32);Gc=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;sG(e,b+(0-(c<<1))|0,c);JG(a,e+64|0,c);Gc=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;oG(e,b+(0-(c<<1))|0,c);IG(a,e+64|0,c);Gc=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;kG(e,b+(0-(c<<1))|0,c);HG(a,e+64|0,c);Gc=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+336|0;e=d;gG(e,b+(0-(c<<1))|0,c);GG(a,e+32|0,c);Gc=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+672|0;e=d;cG(e,b+(0-(c<<1))|0,c);FG(a,e+64|0,c);Gc=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;sG(g,b+(0-(c<<1))|0,c);tG(f,g+64|0,32);zG(e,d,b,32,c);uG(a,f,e,c,32);Gc=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;oG(g,b+(0-(c<<1))|0,c);pG(f,g+64|0,32);yG(e,d,b,32,c);qG(a,f,e,c,32);Gc=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;kG(g,b+(0-(c<<1))|0,c);lG(f,g+64|0,32);xG(e,d,b,32,c);mG(a,f,e,c,32);Gc=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;gG(g,b+(0-(c<<1))|0,c);hG(f,g+32|0,16);wG(e,d,b,16,c);iG(a,f,e,c,16);Gc=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;cG(g,b+(0-(c<<1))|0,c);dG(f,g+64|0,32);vG(e,d,b,32,c);eG(a,f,e,c,32);Gc=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+2688|0;EG(a,d,b,c,c);Gc=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+2688|0;DG(a,d,b,c,c);Gc=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+1344|0;CG(a,d,b,c,c);Gc=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+672|0;BG(a,d,b,c,c);Gc=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+1344|0;AG(a,d,b,c,c);Gc=d;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;sG(g,b+(0-(c<<1))+2|0,c);tG(f,g+64|0,32);zG(e,d,b,32,c);uG(a,f,e,c,32);Gc=d;return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;oG(g,b+(0-(c<<1))+2|0,c);pG(f,g+64|0,32);yG(e,d,b,32,c);qG(a,f,e,c,32);Gc=d;return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;kG(g,b+(0-(c<<1))+2|0,c);lG(f,g+64|0,32);xG(e,d,b,32,c);mG(a,f,e,c,32);Gc=d;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;gG(g,b+(0-(c<<1))+1|0,c);hG(f,g+32|0,16);wG(e,d,b,16,c);iG(a,f,e,c,16);Gc=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;cG(g,b+(0-(c<<1))+2|0,c);dG(f,g+64|0,32);vG(e,d,b,32,c);eG(a,f,e,c,32);Gc=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;sG(f,b+(0-(c<<1))|0,c);tG(e,f+64|0,32);uG(a,f+96|0,e,c,32);Gc=d;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;oG(f,b+(0-(c<<1))|0,c);pG(e,f+64|0,32);qG(a,f+96|0,e,c,32);Gc=d;return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;kG(f,b+(0-(c<<1))|0,c);lG(e,f+64|0,32);mG(a,f+96|0,e,c,32);Gc=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+592|0;f=d+256|0;e=d;gG(f,b+(0-(c<<1))|0,c);hG(e,f+32|0,16);iG(a,f+48|0,e,c,16);Gc=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+512|0;e=d;cG(f,b+(0-(c<<1))|0,c);dG(e,f+64|0,32);eG(a,f+96|0,e,c,32);Gc=d;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b+c|0,32,c);sG(g,b+(0-(c<<1))|0,c);tG(e,g+64|0,32);uG(a,f,e,c,32);Gc=d;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b+c|0,32,c);oG(g,b+(0-(c<<1))|0,c);pG(e,g+64|0,32);qG(a,f,e,c,32);Gc=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b+c|0,32,c);kG(g,b+(0-(c<<1))|0,c);lG(e,g+64|0,32);mG(a,f,e,c,32);Gc=d;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b+c|0,16,c);gG(g,b+(0-(c<<1))|0,c);hG(e,g+32|0,16);iG(a,f,e,c,16);Gc=d;return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b+c|0,32,c);cG(g,b+(0-(c<<1))|0,c);dG(e,g+64|0,32);eG(a,f,e,c,32);Gc=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;rG(f,b+c|0,32,c);zG(e,d,b,32,c);uG(a,f,e,c,32);Gc=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+3712|0;f=d+3200|0;e=d+2688|0;nG(f,b+c|0,32,c);yG(e,d,b,32,c);qG(a,f,e,c,32);Gc=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;jG(f,b+c|0,32,c);xG(e,d,b,32,c);mG(a,f,e,c,32);Gc=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1184|0;f=d+928|0;e=d+672|0;fG(f,b+c|0,16,c);wG(e,d,b,16,c);iG(a,f,e,c,16);Gc=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+2368|0;f=d+1856|0;e=d+1344|0;bG(f,b+c|0,32,c);vG(e,d,b,32,c);eG(a,f,e,c,32);Gc=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;rG(f,b+c|0,32,c);sG(g,b+(0-(c<<1))+2|0,c);tG(e,g+64|0,32);uG(a,f,e,c,32);Gc=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;nG(f,b+c|0,32,c);oG(g,b+(0-(c<<1))+2|0,c);pG(e,g+64|0,32);qG(a,f,e,c,32);Gc=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;jG(f,b+c|0,32,c);kG(g,b+(0-(c<<1))+2|0,c);lG(e,g+64|0,32);mG(a,f,e,c,32);Gc=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+848|0;g=d+512|0;f=d+256|0;e=d;fG(f,b+c|0,16,c);gG(g,b+(0-(c<<1))+1|0,c);hG(e,g+32|0,16);iG(a,f,e,c,16);Gc=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1696|0;g=d+1024|0;f=d+512|0;e=d;bG(f,b+c|0,32,c);cG(g,b+(0-(c<<1))+2|0,c);dG(e,g+64|0,32);eG(a,f,e,c,32);Gc=d;return}function tB(a,b,c){a=a|0;b=b|0;c=c|0;aG(a,b,c,8);return}function uB(a,b,c){a=a|0;b=b|0;c=c|0;$F(a,b,c,8);return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;_F(a,b,c,8);return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;ZF(a,b,c,8);return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;YF(a,b,c,8);return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;AF(e,b,16,c);DF(a,b,e,c,c,16,8);Gc=d;return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;wF(e,b,16,c);zF(a,b,e,c,c,16,8);Gc=d;return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;sF(e,b,16,c);vF(a,b,e,c,c,16,8);Gc=d;return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+64|0;e=d;oF(e,b,8,c);rF(a,b,e,c,c,8,8);Gc=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;kF(e,b,16,c);nF(a,b,e,c,c,16,8);Gc=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;XF(a,b,c,c);return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;WF(a,b,c,c);return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;VF(a,b,c,c);return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;UF(a,b,c,c);return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;TF(a,b,c,c);return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;AF(e,b,16,c);DF(a,b+2|0,e,c,c,16,8);Gc=d;return}function JB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;wF(e,b,16,c);zF(a,b+2|0,e,c,c,16,8);Gc=d;return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;sF(e,b,16,c);vF(a,b+2|0,e,c,c,16,8);Gc=d;return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+64|0;e=d;oF(e,b,8,c);rF(a,b+1|0,e,c,c,8,8);Gc=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+128|0;e=d;kF(e,b,16,c);nF(a,b+2|0,e,c,c,16,8);Gc=d;return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;BF(g,b+(0-(c<<1))|0,c);CF(e,f,16,16);DF(a,f,e,c,16,16,8);Gc=d;return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;xF(g,b+(0-(c<<1))|0,c);yF(e,f,16,16);zF(a,f,e,c,16,16,8);Gc=d;return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;tF(g,b+(0-(c<<1))|0,c);uF(e,f,16,16);vF(a,f,e,c,16,16,8);Gc=d;return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+176|0;g=d+64|0;e=d;f=g+16|0;pF(g,b+(0-(c<<1))|0,c);qF(e,f,8,8);rF(a,f,e,c,8,8,8);Gc=d;return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+336|0;g=d+128|0;e=d;f=g+32|0;lF(g,b+(0-(c<<1))|0,c);mF(e,f,16,16);nF(a,f,e,c,16,16,8);Gc=d;return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b,16,c);BF(g,b+(0-(c<<1))|0,c);CF(e,g+32|0,16,16);DF(a,f,e,c,16,16,8);Gc=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b,16,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+32|0,16,16);zF(a,f,e,c,16,16,8);Gc=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b,16,c);tF(g,b+(0-(c<<1))|0,c);uF(e,g+32|0,16,16);vF(a,f,e,c,16,16,8);Gc=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b,8,c);pF(g,b+(0-(c<<1))|0,c);qF(e,g+16|0,8,8);rF(a,f,e,c,8,8,8);Gc=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b,16,c);lF(g,b+(0-(c<<1))|0,c);mF(e,g+32|0,16,16);nF(a,f,e,c,16,16,8);Gc=d;return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;AF(f,b,16,c);IF(e,d,b,16,16,c);DF(a,f,e,c,16,16,8);Gc=d;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;wF(f,b,16,c);HF(e,d,b,16,16,c);zF(a,f,e,c,16,16,8);Gc=d;return}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;sF(f,b,16,c);GF(e,d,b,16,16,c);vF(a,f,e,c,16,16,8);Gc=d;return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+272|0;e=d+208|0;oF(f,b,8,c);FF(e,d,b,8,8,c);rF(a,f,e,c,8,8,8);Gc=d;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;kF(f,b,16,c);EF(e,d,b,16,16,c);nF(a,f,e,c,16,16,8);Gc=d;return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b,16,c);BF(g,b+(0-(c<<1))+2|0,c);CF(e,g+32|0,16,16);DF(a,f,e,c,16,16,8);Gc=d;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b,16,c);xF(g,b+(0-(c<<1))+2|0,c);yF(e,g+32|0,16,16);zF(a,f,e,c,16,16,8);Gc=d;return}function cC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b,16,c);tF(g,b+(0-(c<<1))+2|0,c);uF(e,g+32|0,16,16);vF(a,f,e,c,16,16,8);Gc=d;return}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b,8,c);pF(g,b+(0-(c<<1))+1|0,c);qF(e,g+16|0,8,8);rF(a,f,e,c,8,8,8);Gc=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b,16,c);lF(g,b+(0-(c<<1))+2|0,c);mF(e,g+32|0,16,16);nF(a,f,e,c,16,16,8);Gc=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;BF(e,b+(0-(c<<1))|0,c);SF(a,e+32|0,c,16);Gc=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;xF(e,b+(0-(c<<1))|0,c);RF(a,e+32|0,c,16);Gc=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;tF(e,b+(0-(c<<1))|0,c);QF(a,e+32|0,c,16);Gc=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+112|0;e=d;pF(e,b+(0-(c<<1))|0,c);PF(a,e+16|0,c,8);Gc=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+208|0;e=d;lF(e,b+(0-(c<<1))|0,c);OF(a,e+32|0,c,16);Gc=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;BF(g,b+(0-(c<<1))|0,c);CF(f,g+32|0,16,16);IF(e,d,b,16,16,c);DF(a,f,e,c,16,16,8);Gc=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;xF(g,b+(0-(c<<1))|0,c);yF(f,g+32|0,16,16);HF(e,d,b,16,16,c);zF(a,f,e,c,16,16,8);Gc=d;return}function mC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;tF(g,b+(0-(c<<1))|0,c);uF(f,g+32|0,16,16);GF(e,d,b,16,16,c);vF(a,f,e,c,16,16,8);Gc=d;return}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+448|0;g=d+336|0;f=d+272|0;e=d+208|0;pF(g,b+(0-(c<<1))|0,c);qF(f,g+16|0,8,8);FF(e,d,b,8,8,c);rF(a,f,e,c,8,8,8);Gc=d;return}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;lF(g,b+(0-(c<<1))|0,c);mF(f,g+32|0,16,16);EF(e,d,b,16,16,c);nF(a,f,e,c,16,16,8);Gc=d;return}function pC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+832|0;NF(a,d,b,c,16,c);Gc=d;return}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+832|0;MF(a,d,b,c,16,c);Gc=d;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+416|0;LF(a,d,b,c,16,c);Gc=d;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+208|0;KF(a,d,b,c,8,c);Gc=d;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+416|0;JF(a,d,b,c,16,c);Gc=d;return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;BF(g,b+(0-(c<<1))+2|0,c);CF(f,g+32|0,16,16);IF(e,d,b,16,16,c);DF(a,f,e,c,16,16,8);Gc=d;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;xF(g,b+(0-(c<<1))+2|0,c);yF(f,g+32|0,16,16);HF(e,d,b,16,16,c);zF(a,f,e,c,16,16,8);Gc=d;return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;tF(g,b+(0-(c<<1))+2|0,c);uF(f,g+32|0,16,16);GF(e,d,b,16,16,c);vF(a,f,e,c,16,16,8);Gc=d;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+448|0;g=d+336|0;f=d+272|0;e=d+208|0;pF(g,b+(0-(c<<1))+1|0,c);qF(f,g+16|0,8,8);FF(e,d,b,8,8,c);rF(a,f,e,c,8,8,8);Gc=d;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+880|0;g=d+672|0;f=d+544|0;e=d+416|0;lF(g,b+(0-(c<<1))+2|0,c);mF(f,g+32|0,16,16);EF(e,d,b,16,16,c);nF(a,f,e,c,16,16,8);Gc=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;BF(f,b+(0-(c<<1))|0,c);CF(e,f+32|0,16,16);DF(a,f+48|0,e,c,16,16,8);Gc=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;xF(f,b+(0-(c<<1))|0,c);yF(e,f+32|0,16,16);zF(a,f+48|0,e,c,16,16,8);Gc=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;tF(f,b+(0-(c<<1))|0,c);uF(e,f+32|0,16,16);vF(a,f+48|0,e,c,16,16,8);Gc=d;return}function CC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+176|0;f=d+64|0;e=d;pF(f,b+(0-(c<<1))|0,c);qF(e,f+16|0,8,8);rF(a,f+24|0,e,c,8,8,8);Gc=d;return}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+128|0;e=d;lF(f,b+(0-(c<<1))|0,c);mF(e,f+32|0,16,16);nF(a,f+48|0,e,c,16,16,8);Gc=d;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b+c|0,16,c);BF(g,b+(0-(c<<1))|0,c);CF(e,g+32|0,16,16);DF(a,f,e,c,16,16,8);Gc=d;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b+c|0,16,c);xF(g,b+(0-(c<<1))|0,c);yF(e,g+32|0,16,16);zF(a,f,e,c,16,16,8);Gc=d;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b+c|0,16,c);tF(g,b+(0-(c<<1))|0,c);uF(e,g+32|0,16,16);vF(a,f,e,c,16,16,8);Gc=d;return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b+c|0,8,c);pF(g,b+(0-(c<<1))|0,c);qF(e,g+16|0,8,8);rF(a,f,e,c,8,8,8);Gc=d;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b+c|0,16,c);lF(g,b+(0-(c<<1))|0,c);mF(e,g+32|0,16,16);nF(a,f,e,c,16,16,8);Gc=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;AF(f,b+c|0,16,c);IF(e,d,b,16,16,c);DF(a,f,e,c,16,16,8);Gc=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+1088|0;f=d+960|0;e=d+832|0;wF(f,b+c|0,16,c);HF(e,d,b,16,16,c);zF(a,f,e,c,16,16,8);Gc=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;sF(f,b+c|0,16,c);GF(e,d,b,16,16,c);vF(a,f,e,c,16,16,8);Gc=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+336|0;f=d+272|0;e=d+208|0;oF(f,b+c|0,8,c);FF(e,d,b,8,8,c);rF(a,f,e,c,8,8,8);Gc=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+672|0;f=d+544|0;e=d+416|0;kF(f,b+c|0,16,c);EF(e,d,b,16,16,c);nF(a,f,e,c,16,16,8);Gc=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;AF(f,b+c|0,16,c);BF(g,b+(0-(c<<1))+2|0,c);CF(e,g+32|0,16,16);DF(a,f,e,c,16,16,8);Gc=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;wF(f,b+c|0,16,c);xF(g,b+(0-(c<<1))+2|0,c);yF(e,g+32|0,16,16);zF(a,f,e,c,16,16,8);Gc=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;sF(f,b+c|0,16,c);tF(g,b+(0-(c<<1))+2|0,c);uF(e,g+32|0,16,16);vF(a,f,e,c,16,16,8);Gc=d;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+240|0;g=d+128|0;f=d+64|0;e=d;oF(f,b+c|0,8,c);pF(g,b+(0-(c<<1))+1|0,c);qF(e,g+16|0,8,8);rF(a,f,e,c,8,8,8);Gc=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+464|0;g=d+256|0;f=d+128|0;e=d;kF(f,b+c|0,16,c);lF(g,b+(0-(c<<1))+2|0,c);mF(e,g+32|0,16,16);nF(a,f,e,c,16,16,8);Gc=d;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;jF(a,b,c);return}function UC(a,b,c){a=a|0;b=b|0;c=c|0;iF(a,b,c);return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;hF(a,b,c);return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;gF(a,b,c);return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;fF(a,b,c);return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;JE(e,b,8,c);ME(a,b,e,c,c);Gc=d;return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;FE(e,b,8,c);IE(a,b,e,c,c);Gc=d;return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;BE(e,b,8,c);EE(a,b,e,c,c);Gc=d;return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;wE(e,b,4,c);zE(a,b,e,c,c);Gc=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;rE(e,b,8,c);uE(a,b,e,c,c);Gc=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;eF(a,b,c,c);return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;dF(a,b,c,c);return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;cF(a,b,c,c);return}function eD(a,b,c){a=a|0;b=b|0;c=c|0;bF(a,b,c,c);return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;aF(a,b,c,c);return}function gD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;JE(e,b,8,c);ME(a,b+2|0,e,c,c);Gc=d;return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;FE(e,b,8,c);IE(a,b+2|0,e,c,c);Gc=d;return}function iD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;BE(e,b,8,c);EE(a,b+2|0,e,c,c);Gc=d;return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;wE(e,b,4,c);zE(a,b+1|0,e,c,c);Gc=d;return}function kD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+32|0;e=d;rE(e,b,8,c);uE(a,b+2|0,e,c,c);Gc=d;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;KE(g,b+(0-(c<<1))|0,c);LE(e,f,8);ME(a,f,e,c,8);Gc=d;return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;GE(g,b+(0-(c<<1))|0,c);HE(e,f,8);IE(a,f,e,c,8);Gc=d;return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;CE(g,b+(0-(c<<1))|0,c);DE(e,f,8);EE(a,f,e,c,8);Gc=d;return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+64|0;g=d+16|0;e=d;f=g+8|0;xE(g,b+(0-(c<<1))|0,c);yE(e,f,4);zE(a,f,e,c,4);Gc=d;return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+112|0;g=d+32|0;e=d;f=g+16|0;sE(g,b+(0-(c<<1))|0,c);tE(e,f,8);uE(a,f,e,c,8);Gc=d;return}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b,8,c);KE(g,b+(0-(c<<1))|0,c);LE(e,g+16|0,8);ME(a,f,e,c,8);Gc=d;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b,8,c);GE(g,b+(0-(c<<1))|0,c);HE(e,g+16|0,8);IE(a,f,e,c,8);Gc=d;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b,8,c);CE(g,b+(0-(c<<1))|0,c);DE(e,g+16|0,8);EE(a,f,e,c,8);Gc=d;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b,4,c);xE(g,b+(0-(c<<1))|0,c);yE(e,g+8|0,4);zE(a,f,e,c,4);Gc=d;return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b,8,c);sE(g,b+(0-(c<<1))|0,c);tE(e,g+16|0,8);uE(a,f,e,c,8);Gc=d;return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;JE(f,b,8,c);RE(e,d,b,8,c);ME(a,f,e,c,8);Gc=d;return}function wD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;FE(f,b,8,c);QE(e,d,b,8,c);IE(a,f,e,c,8);Gc=d;return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;BE(f,b,8,c);PE(e,d,b,8,c);EE(a,f,e,c,8);Gc=d;return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+88|0;e=d+72|0;wE(f,b,4,c);OE(e,d,b,4,c);zE(a,f,e,c,4);Gc=d;return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;rE(f,b,8,c);NE(e,d,b,8,c);uE(a,f,e,c,8);Gc=d;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b,8,c);KE(g,b+(0-(c<<1))+2|0,c);LE(e,g+16|0,8);ME(a,f,e,c,8);Gc=d;return}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b,8,c);GE(g,b+(0-(c<<1))+2|0,c);HE(e,g+16|0,8);IE(a,f,e,c,8);Gc=d;return}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b,8,c);CE(g,b+(0-(c<<1))+2|0,c);DE(e,g+16|0,8);EE(a,f,e,c,8);Gc=d;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b,4,c);xE(g,b+(0-(c<<1))+1|0,c);yE(e,g+8|0,4);zE(a,f,e,c,4);Gc=d;return}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b,8,c);sE(g,b+(0-(c<<1))+2|0,c);tE(e,g+16|0,8);uE(a,f,e,c,8);Gc=d;return}function FD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;KE(e,b+(0-(c<<1))|0,c);$E(a,e+16|0,c);Gc=d;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;GE(e,b+(0-(c<<1))|0,c);_E(a,e+16|0,c);Gc=d;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;CE(e,b+(0-(c<<1))|0,c);ZE(a,e+16|0,c);Gc=d;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+48|0;e=d;xE(e,b+(0-(c<<1))|0,c);YE(a,e+8|0,c);Gc=d;return}function JD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Gc;Gc=Gc+80|0;e=d;sE(e,b+(0-(c<<1))|0,c);XE(a,e+16|0,c);Gc=d;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;KE(g,b+(0-(c<<1))|0,c);LE(f,g+16|0,8);RE(e,d,b,8,c);ME(a,f,e,c,8);Gc=d;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;GE(g,b+(0-(c<<1))|0,c);HE(f,g+16|0,8);QE(e,d,b,8,c);IE(a,f,e,c,8);Gc=d;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;CE(g,b+(0-(c<<1))|0,c);DE(f,g+16|0,8);PE(e,d,b,8,c);EE(a,f,e,c,8);Gc=d;return}function ND(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+104|0;f=d+88|0;e=d+72|0;xE(g,b+(0-(c<<1))|0,c);yE(f,g+8|0,4);OE(e,d,b,4,c);zE(a,f,e,c,4);Gc=d;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;sE(g,b+(0-(c<<1))|0,c);tE(f,g+16|0,8);NE(e,d,b,8,c);uE(a,f,e,c,8);Gc=d;return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+288|0;WE(a,d,b,c,c);Gc=d;return}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+288|0;VE(a,d,b,c,c);Gc=d;return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+144|0;UE(a,d,b,c,c);Gc=d;return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+80|0;TE(a,d,b,c,c);Gc=d;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+144|0;SE(a,d,b,c,c);Gc=d;return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;KE(g,b+(0-(c<<1))+2|0,c);LE(f,g+16|0,8);RE(e,d,b,8,c);ME(a,f,e,c,8);Gc=d;return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+432|0;g=d+352|0;f=d+320|0;e=d+288|0;GE(g,b+(0-(c<<1))+2|0,c);HE(f,g+16|0,8);QE(e,d,b,8,c);IE(a,f,e,c,8);Gc=d;return}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;CE(g,b+(0-(c<<1))+2|0,c);DE(f,g+16|0,8);PE(e,d,b,8,c);EE(a,f,e,c,8);Gc=d;return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+104|0;f=d+88|0;e=d+72|0;xE(g,b+(0-(c<<1))+1|0,c);yE(f,g+8|0,4);OE(e,d,b,4,c);zE(a,f,e,c,4);Gc=d;return}function YD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+288|0;g=d+208|0;f=d+176|0;e=d+144|0;sE(g,b+(0-(c<<1))+2|0,c);tE(f,g+16|0,8);NE(e,d,b,8,c);uE(a,f,e,c,8);Gc=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;KE(f,b+(0-(c<<1))|0,c);LE(e,f+16|0,8);ME(a,f+24|0,e,c,8);Gc=d;return}function _D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;GE(f,b+(0-(c<<1))|0,c);HE(e,f+16|0,8);IE(a,f+24|0,e,c,8);Gc=d;return}function $D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;CE(f,b+(0-(c<<1))|0,c);DE(e,f+16|0,8);EE(a,f+24|0,e,c,8);Gc=d;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+64|0;f=d+16|0;e=d;xE(f,b+(0-(c<<1))|0,c);yE(e,f+8|0,4);zE(a,f+12|0,e,c,4);Gc=d;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+32|0;e=d;sE(f,b+(0-(c<<1))|0,c);tE(e,f+16|0,8);uE(a,f+24|0,e,c,8);Gc=d;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b+c|0,8,c);KE(g,b+(0-(c<<1))|0,c);LE(e,g+16|0,8);ME(a,f,e,c,8);Gc=d;return}function dE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b+c|0,8,c);GE(g,b+(0-(c<<1))|0,c);HE(e,g+16|0,8);IE(a,f,e,c,8);Gc=d;return}function eE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b+c|0,8,c);CE(g,b+(0-(c<<1))|0,c);DE(e,g+16|0,8);EE(a,f,e,c,8);Gc=d;return}function fE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b+c|0,4,c);xE(g,b+(0-(c<<1))|0,c);yE(e,g+8|0,4);zE(a,f,e,c,4);Gc=d;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b+c|0,8,c);sE(g,b+(0-(c<<1))|0,c);tE(e,g+16|0,8);uE(a,f,e,c,8);Gc=d;return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;JE(f,b+c|0,8,c);RE(e,d,b,8,c);ME(a,f,e,c,8);Gc=d;return}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+352|0;f=d+320|0;e=d+288|0;FE(f,b+c|0,8,c);QE(e,d,b,8,c);IE(a,f,e,c,8);Gc=d;return}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;BE(f,b+c|0,8,c);PE(e,d,b,8,c);EE(a,f,e,c,8);Gc=d;return}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+112|0;f=d+88|0;e=d+72|0;wE(f,b+c|0,4,c);OE(e,d,b,4,c);zE(a,f,e,c,4);Gc=d;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Gc;Gc=Gc+208|0;f=d+176|0;e=d+144|0;rE(f,b+c|0,8,c);NE(e,d,b,8,c);uE(a,f,e,c,8);Gc=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;JE(f,b+c|0,8,c);KE(g,b+(0-(c<<1))+2|0,c);LE(e,g+16|0,8);ME(a,f,e,c,8);Gc=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;FE(f,b+c|0,8,c);GE(g,b+(0-(c<<1))+2|0,c);HE(e,g+16|0,8);IE(a,f,e,c,8);Gc=d;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;BE(f,b+c|0,8,c);CE(g,b+(0-(c<<1))+2|0,c);DE(e,g+16|0,8);EE(a,f,e,c,8);Gc=d;return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+80|0;g=d+32|0;f=d+16|0;e=d;wE(f,b+c|0,4,c);xE(g,b+(0-(c<<1))+1|0,c);yE(e,g+8|0,4);zE(a,f,e,c,4);Gc=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Gc;Gc=Gc+144|0;g=d+64|0;f=d+32|0;e=d;rE(f,b+c|0,8,c);sE(g,b+(0-(c<<1))+2|0,c);tE(e,g+16|0,8);uE(a,f,e,c,8);Gc=d;return}function rE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function sE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function tE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function uE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=vE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function vE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=wY(c^a|0,d^b|0,1)|0;d=nY(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function wE(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function xE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function yE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function zE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;c[i>>2]=AE(l,AE(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;h=h+1|0}return}function AE(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function BE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function CE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function DE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function EE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=vE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function FE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function GE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function HE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function IE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=vE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function JE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function KE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function LE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function ME(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=vE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function NE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;p=b[g+-16>>1]|0;f=b[g>>1]|0;c=b[g+16>>1]|0;o=b[g+32>>1]|0;m=b[g+48>>1]|0;l=b[g+64>>1]|0;n=b[g+80>>1]|0;k=b[g+96>>1]|0;q=(b[g+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function OE(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function PE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;r=b[g+-16>>1]|0;p=b[g>>1]|0;q=p+10230|0;c=b[g+16>>1]|0;f=c+10230|0;o=(b[g+32>>1]|0)+10230|0;m=(b[g+48>>1]|0)+10230|0;l=(b[g+64>>1]|0)+10230|0;n=(b[g+80>>1]|0)+10230|0;k=b[g+96>>1]|0;s=(b[g+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(i<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function QE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function RE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function SE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;q=b[g+-16>>1]|0;p=b[g>>1]|0;f=b[g+16>>1]|0;n=b[g+32>>1]|0;l=b[g+48>>1]|0;k=b[g+64>>1]|0;m=b[g+80>>1]|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(i<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(d<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(j<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function TE(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return} |
| | | function bd(){Le();vU();VW()}function cd(a){a=a|0;var b=0;b=Gc;Gc=Gc+a|0;Gc=Gc+15&-16;return b|0}function dd(){return Gc|0}function ed(a){a=a|0;Gc=a}function fd(a,b){a=a|0;b=b|0;Gc=a;Hc=b}function gd(){pb();return 0}function hd(a){a=a|0;var b=0;sa(9584,9592,9608,0,178435,13,178438,0,178438,0,177752,232360,30);b=_W(8)|0;c[b>>2]=8;c[b+4>>2]=0;ua(9584,177760,3,58728,178440,1,b|0,0);b=_W(8)|0;c[b>>2]=9;c[b+4>>2]=0;ua(9584,177766,3,58740,178440,2,b|0,0);b=_W(8)|0;c[b>>2]=31;c[b+4>>2]=0;ua(9584,177773,2,58752,178445,10,b|0,0);b=_W(8)|0;c[b>>2]=32;c[b+4>>2]=0;ua(9584,177780,2,58752,178445,10,b|0,0);b=_W(8)|0;c[b>>2]=11;c[b+4>>2]=0;a=_W(8)|0;c[a>>2]=12;c[a+4>>2]=0;va(9584,177798,9552,178449,5,b|0,9552,178440,3,a|0);a=_W(8)|0;c[a>>2]=13;c[a+4>>2]=0;b=_W(8)|0;c[b>>2]=14;c[b+4>>2]=0;va(9584,177808,9552,178449,5,a|0,9552,178440,3,b|0);b=_W(8)|0;c[b>>2]=15;c[b+4>>2]=0;a=_W(8)|0;c[a>>2]=16;c[a+4>>2]=0;va(9584,177816,9552,178449,5,b|0,9552,178440,3,a|0);a=_W(8)|0;c[a>>2]=17;c[a+4>>2]=0;b=_W(8)|0;c[b>>2]=18;c[b+4>>2]=0;va(9584,177828,9552,178449,5,a|0,9552,178440,3,b|0);b=_W(8)|0;c[b>>2]=19;c[b+4>>2]=0;a=_W(8)|0;c[a>>2]=20;c[a+4>>2]=0;va(9584,177840,9552,178449,5,b|0,9552,178440,3,a|0);a=_W(8)|0;c[a>>2]=21;c[a+4>>2]=0;va(9584,177844,9552,178449,5,a|0,0,0,0,0);sa(9664,9680,9696,9584,178435,14,178435,15,178435,16,177855,232360,33);a=_W(4)|0;c[a>>2]=34;ua(9664,178453,2,58760,178445,22,a|0,0);ta(9584,178473,3,58768,178596,8,6);ta(9584,178483,3,58908,178596,9,4);return}function id(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.0;o=Gc;Gc=Gc+16|0;n=o+8|0;m=o;e=b+156|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[250512]|0)==0?gY(250512)|0:0)c[62646]=Ma(1,58640)|0;Ja(c[62646]|0,f|0,177865,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Ra(177871)|0;g=Na(g|0,j|0)|0;Ka(j|0);p=+Ga(g|0,58528,m|0);Ua(c[m>>2]|0);j=p!=0.0;Ka(g|0);c[n>>2]=177879;c[n+4>>2]=j?177888:177893;gb(0,n|0);a[b+88>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=mV(f,46,g)|0;if(!f){g=h;break a}if(!(XU(f,177899,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+157>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=La(177904)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=FW(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=FW(f+4|0)|0;c[g>>2]=f;e=d}BY(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Qa(h|0,1,58644,n|0)|0;Ka(h|0);yd(m,177914,177925);zd(n,b,177766);k=c[m>>2]|0;d=Ra(177937)|0;Va(k|0,d|0,c[n>>2]|0);Ka(d|0);Ka(c[n>>2]|0);c[b+148>>2]=bb()|0;b=c[l>>2]|0;n=Ra(177947)|0;Va(b|0,n|0,c[m>>2]|0);Ka(n|0);Ka(c[m>>2]|0);Gc=o;return}function jd(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=Gc;Gc=Gc+112|0;j=B+16|0;y=B+8|0;l=B;A=B+88|0;w=B+72|0;x=B+56|0;m=B+40|0;n=B+24|0;f=c[e>>2]|0;z=Ra(178075)|0;c[l>>2]=Na(f|0,z|0)|0;Ka(z|0);Cd(A,l);Ka(c[l>>2]|0);z=A+11|0;f=a[z>>0]|0;k=A+4|0;e=b+152|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=bb()|0;h=b+148|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+168>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+157>>0]|0))switch(a[(nX(A,0)|0)>>0]|0){case 1:{h=a[z>>0]|0;e=c[k>>2]|0;i=_W(16)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;y=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=58692;Dd(b,y,m);c[m>>2]=58676;e=c[e>>2]|0;y=e+12|0;b=(c[y>>2]|0)+-1|0;c[y>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)$W(c[i>>2]|0);$W(i);break a}case 2:{h=a[z>>0]|0;e=c[k>>2]|0;i=_W(16)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;y=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[n+8>>2]=5;c[n+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=n+4|0;c[e>>2]=i;c[j>>2]=2;c[n>>2]=58692;Fd(b,y,n);c[n>>2]=58676;e=c[e>>2]|0;y=e+12|0;b=(c[y>>2]|0)+-1|0;c[y>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)$W(c[i>>2]|0);$W(i);break a}case 10:{e=c[b+4>>2]|0;f=Ra(177947)|0;e=Na(e|0,f|0)|0;Ka(f|0);f=Ra(178101)|0;h=f;if((a[250560]|0)==0?gY(250560)|0:0)c[62652]=Ma(2,58716)|0;b=c[62652]|0;Oa(f|0);c[l>>2]=h;Ja(b|0,e|0,178096,l|0);Ka(f|0);Ka(e|0);break a}default:{b=a[(nX(A,0)|0)>>0]|0;c[j>>2]=178117;c[j+4>>2]=b;gb(1,j|0);break a}}else{l=a[z>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;t=b+16|0;e=c[t>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;u=b+20|0;j=c[u>>2]|0;v=b+24|0;k=c[v>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}kX(e,j+l+k+f+h|0,0);e=c[t>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;BY(e+(c[u>>2]|0)+(c[v>>2]|0)|0,((a[z>>0]|0)<0?c[A>>2]|0:A)|0,l|0)|0;f=(c[v>>2]|0)+l|0;c[v>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[u>>2]=13;break}b:do if((f|0)>3){n=w+8|0;o=w+12|0;p=w+4|0;q=x+8|0;r=x+12|0;s=x+4|0;while(1){l=c[t>>2]|0;m=l+11|0;if((a[m>>0]|0)<0)e=c[l>>2]|0;else e=l;j=c[u>>2]|0;i=a[e+j>>0]|0;e=j+1|0;c[u>>2]=e;c[v>>2]=f+-1;if((a[m>>0]|0)<0)h=c[l>>2]|0;else h=l;k=h+e+2|0;C=a[k>>0]|0;D=a[k+-1>>0]|0;k=a[k+-2>>0]|0;e=j+4|0;c[u>>2]=e;h=f+-4|0;c[v>>2]=h;k=(D&255)<<8|C&255|(k&255)<<16;if(h>>>0<(k+11|0)>>>0)break;if((a[m>>0]|0)<0)h=c[l>>2]|0;else h=l;h=h+e+2|0;h=d[h+-1>>0]<<8|d[h>>0]|d[h+-2>>0]<<16;e=j+11|0;c[u>>2]=e;c[v>>2]=f+-11;switch(i<<24>>24){case 8:{f=l+12|0;C=c[f>>2]|0;c[n>>2]=e;c[o>>2]=k;c[p>>2]=l;c[f>>2]=C+2;c[w>>2]=58692;Dd(b,h,w);c[w>>2]=58676;e=c[p>>2]|0;C=e+12|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(!((e|0)==0|(D|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}D=(c[f>>2]|0)+-1|0;c[f>>2]=D;if(!D){if((a[m>>0]|0)<0)$W(c[l>>2]|0);$W(l)}break}case 9:{f=l+12|0;C=c[f>>2]|0;c[q>>2]=e;c[r>>2]=k;c[s>>2]=l;c[f>>2]=C+2;c[x>>2]=58692;Fd(b,h,x);c[x>>2]=58676;e=c[s>>2]|0;C=e+12|0;D=(c[C>>2]|0)+-1|0;c[C>>2]=D;if(!((e|0)==0|(D|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}D=(c[f>>2]|0)+-1|0;c[f>>2]=D;if(!D){if((a[m>>0]|0)<0)$W(c[l>>2]|0);$W(l)}break}default:{c[y>>2]=178080;c[y+4>>2]=i&255;gb(0,y|0)}}D=(c[v>>2]|0)-k|0;c[u>>2]=(c[u>>2]|0)+k+4;f=D+-4|0;c[v>>2]=f;if((D|0)<=7)break b}c[u>>2]=j;c[v>>2]=f}while(0);e=c[t>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;CY(e|0,e+(c[u>>2]|0)|0,f|0)|0;kX(c[t>>2]|0,c[v>>2]|0,0);c[u>>2]=0}while(0);if((a[z>>0]|0)>=0){Gc=B;return}$W(c[A>>2]|0);Gc=B;return}function kd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+32|0;i=l;g=La(178376)|0;j=b+140|0;c[i>>2]=c[j>>2];Ka(Ha(g|0,1,58724,i|0)|0);Ka(g|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;g=b+112|0;Wd(g);Vd(g);e=c[b+116>>2]|0;f=b+120|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);Xd(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;Wd(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{$W(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)$W(d);c[b+64>>2]=0;c[b+68>>2]=0;if((a[b+88>>0]|0)==0?(k=c[b+60>>2]|0,k|0):0)GW(k);HR(c[b+96>>2]|0);CR(b+100|0);c[j>>2]=0;a[b+144>>0]=1;a[b+136>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Gc=l;return}function ld(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Gc;Gc=Gc+16|0;e=p+4|0;j=p;k=b+132|0;a:do if(c[k>>2]|0){l=b+116|0;m=b+128|0;n=b+4|0;o=b+164|0;f=b+52|0;g=b+112|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=Ld(c[n>>2]|0,178367,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;Kd(f,h+(i*20|0)+4|0);Zd(g);if(!(c[k>>2]|0))break a;else d=1}a[b+136>>0]=1;c[b+140>>2]=Md(c[n>>2]|0,178351,j)|0;Gc=p;return}while(0);a[b+136>>0]=0;Gc=p;return}function md(a,b){a=a|0;b=b|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d[b+156>>0];c[a>>2]=Wa(58528,f|0)|0;Gc=e;return}function nd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Gc;Gc=Gc+16|0;g=e;f=+Ga(c[d>>2]|0,58528,g|0);Ua(c[g>>2]|0);a[b+156>>0]=f!=0.0&1;Gc=e;return}function od(a,b){a=a|0;b=b|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d[b+157>>0];c[a>>2]=Wa(58528,f|0)|0;Gc=e;return}function pd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Gc;Gc=Gc+16|0;g=e;f=+Ga(c[d>>2]|0,58528,g|0);Ua(c[g>>2]|0);a[b+157>>0]=f!=0.0&1;Gc=e;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;c[e>>2]=c[b+160>>2];c[a>>2]=Wa(58576,e|0)|0;Gc=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Gc;Gc=Gc+16|0;f=d;e=+Ga(c[b>>2]|0,58576,f|0);Ua(c[f>>2]|0);c[a+160>>2]=~~e;Gc=d;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;c[e>>2]=c[b+164>>2];c[a>>2]=Wa(58576,e|0)|0;Gc=d;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Gc;Gc=Gc+16|0;f=d;e=+Ga(c[b>>2]|0,58576,f|0);Ua(c[f>>2]|0);c[a+164>>2]=~~e;Gc=d;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;g[e>>3]=+g[b+168>>3];c[a>>2]=Wa(58616,e|0)|0;Gc=d;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Gc;Gc=Gc+16|0;f=d;e=+Ga(c[b>>2]|0,58616,f|0);Ua(c[f>>2]|0);g[a+168>>3]=e;Gc=d;return}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Gc;Gc=Gc+16|0;e=d+4|0;f=d;c[e>>2]=Sa()|0;i=b+116|0;h=b+128|0;j=c[h>>2]|0;g=(j>>>0)/204|0;_d(e,178389,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+132|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;$d(e,178395,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];ae(e,178400,f);b=c[e>>2]|0;c[a>>2]=b;Oa(b|0);Ka(c[e>>2]|0);Gc=d;return}function xd(a){a=a|0;Ka(c[a>>2]|0);return}function yd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Ra(b|0)|0;d=Ra(d|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);return}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Ra(d|0)|0;d=Na(f|0,e|0)|0;Ka(e|0);Bd(a,d,178051,b);Ka(d|0);return}function Ad(a){a=a|0;ba(a|0)|0;LX()}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Gc;Gc=Gc+16|0;g=i;h=i+8|0;if((a[250520]|0)==0?gY(250520)|0:0)c[62647]=Ma(2,58648)|0;k=c[62647]|0;Oa(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ia(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Ua(h|0);Gc=i;return}function Cd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Gc;Gc=Gc+16|0;e=h;i=+Ga(c[d>>2]|0,9528,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)eX(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Ua(e|0);Gc=h;return}else d=b}else{j=g+16&-16;d=_W(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}BY(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Ua(e|0);Gc=h;return}function Dd(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;n=Gc;Gc=Gc+16|0;m=n;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[250528]|0)==0?gY(250528)|0:0)c[62648]=Ma(3,58656)|0;b=c[62648]|0;c[m>>2]=h;c[m+8>>2]=c[g>>2];Ja(b|0,e|0,178200,m|0);Gc=n;return}}if(h)e=c[e>>2]|0;e=a[e+j>>0]|0;c[i>>2]=j+1;i=f+12|0;c[i>>2]=(c[i>>2]|0)+-1;e=e&255;i=e>>>4;g=b+145|0;if(a[g>>0]|0){h=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch(i&15){case 10:{e=b+28|0;if((i|0)==10?(k=b+32|0,l=Hd(e,f,(c[b+36>>2]|0)+(c[k>>2]|0)|0)|0,l|0):0){m=(c[k>>2]|0)+l|0;c[k>>2]=(m|0)==(c[e>>2]|0)?0:m}Gd(b,c[b+160>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Gc=n;return}case 11:{Gd(b,16e3,16e3,h);break}case 2:{Gd(b,(c[b+160>>2]|0)*576|0,e,h);break}default:{}}if(a[g>>0]|0){Gc=n;return}}h=b+28|0;if((i|0)!=10){Gc=n;return}g=b+32|0;e=Hd(h,f,(c[b+36>>2]|0)+(c[g>>2]|0)|0)|0;if(!e){Gc=n;return}l=(c[g>>2]|0)+e|0;f=(l|0)==(c[h>>2]|0);c[g>>2]=f?0:l;if(!f){Gc=n;return}e=c[b+4>>2]|0;if((a[250512]|0)==0?gY(250512)|0:0)c[62646]=Ma(1,58640)|0;Ja(c[62646]|0,e|0,178200,m|0);Gc=n;return}function Ed(b){b=b|0;var d=0,e=0;c[b>>2]=58676;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)$W(c[b>>2]|0);$W(b);return}function Fd(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=Gc;Gc=Gc+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+144|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Gc=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Gc=o;return}Kd(b+52|0,e);a[j>>0]=0;c[k>>2]=178299;gb(0,k|0);Gc=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[250512]|0)==0?gY(250512)|0:0)c[62646]=Ma(1,58640)|0;Ja(c[62646]|0,f|0,178315,n|0);Gc=o;return}}if(!d){Gc=o;return}g=b+164|0;a:do if(c[g>>2]|0){h=b+136|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=Ld(c[f>>2]|0,178367,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+140>>2]=Md(c[f>>2]|0,178351,l)|0;break}else break a}while(0);Nd(b+112|0,m,e);Gc=o;return}while(0);Kd(b+52|0,e);Gc=o;return}function Gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Gc;Gc=Gc+32|0;h=i;a[b+145>>0]=0;j=H(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=FW(j)|0;c[h>>2]=178256;c[h+4>>2]=j;gb(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[250536]|0)==0?gY(250536)|0:0)c[62649]=Ma(5,16)|0;j=c[62649]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Ja(j|0,b|0,178246,h|0);Gc=i;return}function Hd(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;p=Gc;Gc=Gc+112|0;o=p+8|0;n=p;m=p+24|0;k=e+4|0;g=c[k>>2]|0;j=g+11|0;if((a[j>>0]|0)<0)h=c[g>>2]|0;else h=g;l=e+8|0;i=c[l>>2]|0;q=a[h+i>>0]|0;i=i+1|0;c[l>>2]=i;e=e+12|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;if(!(q<<24>>24)){h=b+20|0;g=zS(c[h>>2]|0)|0;a[g>>0]=2;AS(c[h>>2]|0,g)|0;g=c[k>>2]|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;n=b+12|0;q=b+16|0;FS(c[h>>2]|0,g+(c[l>>2]|0)|0,4,n,q)|0;b=c[n>>2]|0;q=d[q>>0]|0;c[o>>2]=178216;c[o+4>>2]=b;c[o+8>>2]=q;gb(0,o|0);q=0;Gc=p;return q|0}if((a[j>>0]|0)<0)g=c[g>>2]|0;g=RS(c[b+20>>2]|0,m,g+i|0,h)|0;h=a[m+9>>0]|0;if(!(h<<24>>24)){q=c[m+4>>2]<<1;BY(f|0,g|0,q|0)|0;Gc=p;return q|0}else{q=wS(h)|0;c[n>>2]=178210;c[n+4>>2]=q;gb(1,n|0);q=0;Gc=p;return q|0}return 0}function Id(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=58676;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){$W(b);return}if((a[d+11>>0]|0)<0)$W(c[d>>2]|0);$W(d);$W(b);return}function Jd(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=58676;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){$W(b);return}if((a[d+11>>0]|0)<0)$W(c[d>>2]|0);$W(d);$W(b);return}function Kd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+16|0;j=k;e=c[d+4>>2]|0;g=(a[e+11>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;h=d+8|0;i=c[h>>2]|0;if((a[f+i>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(i+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+i>>0]|0;c[h>>2]=i+5;i=d+12|0;c[i>>2]=(c[i>>2]|0)+-5;switch(e&15){case 7:{Vc[c[(c[b>>2]|0)+12>>2]&255](b,d);Gc=k;return}case 12:{Vc[c[(c[b>>2]|0)+16>>2]&255](b,d);Gc=k;return}default:{c[j>>2]=178329;c[j+4>>2]=e&15;gb(0,j|0);Gc=k;return}}}}c[h>>2]=i+5;j=d+12|0;c[j>>2]=(c[j>>2]|0)+-5;Vc[c[(c[b>>2]|0)+24>>2]&255](b,d);Gc=k;return}function Ld(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Gc;Gc=Gc+16|0;f=h;g=h+8|0;if((a[250544]|0)==0?gY(250544)|0:0)c[62650]=Ma(2,58700)|0;j=c[62650]|0;c[f>>2]=c[e>>2];i=+Ia(j|0,b|0,d|0,g|0,f|0);Ua(c[g>>2]|0);Gc=h;return ~~i|0}function Md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Gc;Gc=Gc+16|0;f=h;g=h+8|0;if((a[250552]|0)==0?gY(250552)|0:0)c[62651]=Ma(2,58708)|0;j=c[62651]|0;c[f>>2]=c[e>>2];i=+Ia(j|0,b|0,d|0,g|0,f|0);Ua(c[g>>2]|0);Gc=h;return ~~i|0}function Nd(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;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){Od(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=58692;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)$W(c[f>>2]|0);$W(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function Od(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Gc;Gc=Gc+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{CY(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=aa(8)|0;cX(r,178132);c[r>>2]=175900;fa(r|0,58448,24)}else{h=_W(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){$W(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Gc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=aa(8)|0;cX(r,178132);c[r>>2]=175900;fa(r|0,58448,24)}else{d=_W(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=_W(4080)|0;Rd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Sd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)$W(f);Gc=r;return}if((d|0)!=(b|0)){c[k>>2]=_W(4080)|0;Pd(a,k);Gc=r;return}c[k>>2]=_W(4080)|0;Qd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{CY(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=aa(8)|0;cX(r,178132);c[r>>2]=175900;fa(r|0,58448,24)}else{h=_W(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){$W(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Gc=r;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{CY(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=aa(8)|0;cX(q,178132);c[q>>2]=175900;fa(q|0,58448,24)}else{i=_W(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){$W(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{CY(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=aa(8)|0;cX(q,178132);c[q>>2]=175900;fa(q|0,58448,24)}else{h=_W(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){$W(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{CY(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=aa(8)|0;cX(q,178132);c[q>>2]=175900;fa(q|0,58448,24)}else{i=_W(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){$W(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{CY(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=aa(8)|0;cX(q,178132);c[q>>2]=175900;fa(q|0,58448,24)}else{h=_W(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){$W(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Td(a){a=a|0;var b=0,d=0,e=0,f=0;Wd(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{$W(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;$W(b);return}function Ud(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)GW(d);HR(c[b+44>>2]|0);CR(b+48|0);return}function Vd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{$W(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Xd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){$W(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Xd(a);return}$W(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Xd(a);return}function Wd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=58676;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{$W(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=aa(8)|0;cX(l,178132);c[l>>2]=175900;fa(l|0,58448,24)}else{g=_W(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;$W(b);return}function Yd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;GW(b);return}function Zd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=58676;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;$W(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58592,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Gc=e;return}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58592,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Gc=e;return}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58600,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Gc=e;return}function be(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function ce(a){a=a|0;if(!a)return;Uc[c[(c[a>>2]|0)+4>>2]&63](a);return}function de(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)eX(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=_W(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)BY(b|0,d|0,e|0)|0;a[b+e>>0]=0;Vc[f&255](g,h);if((a[h+11>>0]|0)>=0){Gc=j;return}$W(c[h>>2]|0);Gc=j;return}function ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Gc;Gc=Gc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Vc[e&255](a,f);Ka(c[f>>2]|0);Gc=g;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Uc[e&63](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Uc[e&63](a);return}}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Gc;Gc=Gc+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Vc[d&255](e,a);Oa(c[e>>2]|0);g=c[e>>2]|0;Ka(g|0);Gc=f;return g|0}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Gc;Gc=Gc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Vc[e&255](a,f);Ka(c[f>>2]|0);Gc=g;return}function ie(b,d){b=b|0;d=d|0;var e=0;e=_W(184)|0;te(e,d);a[e+176>>0]=0;c[e+180>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=58788;return e|0}function je(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=qa(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9664,c[e>>2]|0)|0;return}function ke(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function le(a){a=a|0;if(!a)return;Uc[c[(c[a>>2]|0)+4>>2]&63](a);return}function me(a){a=a|0;return a|0}function ne(a){a=a|0;return a|0}function oe(a,b){a=a|0;b=b|0;Uc[c[a>>2]&63](b);return}function pe(b){b=b|0;a[b+176>>0]=1;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Gc;Gc=Gc+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Oc[a&15](f,g)|0;Ka(c[g>>2]|0);Ka(c[f>>2]|0);Gc=e;return d|0}function re(b){b=b|0;var d=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;e=g;c[b>>2]=58804;d=b+180|0;if(!(a[b+176>>0]|0)){f=c[d>>2]|0;Ka(f|0);xe(b);Gc=g;return}f=c[d>>2]|0;if((a[250512]|0)==0?gY(250512)|0:0)c[62646]=Ma(1,58640)|0;Ja(c[62646]|0,f|0,178810,e|0);f=c[d>>2]|0;Ka(f|0);xe(b);Gc=g;return}function se(a){a=a|0;re(a);$W(a);return}function te(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Gc;Gc=Gc+32|0;h=f+24|0;i=f+16|0;k=f;c[d>>2]=58820;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[e>>2]=58676;c[d+20>>2]=0;c[d+24>>2]=0;j=_W(16)|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]=1;c[d+16>>2]=j;c[e>>2]=58692;c[d+32>>2]=0;e=xS()|0;c[d+48>>2]=e;c[i>>2]=178601;c[i+4>>2]=e;gb(0,i|0);c[h>>2]=178614;c[h+4>>2]=d+28;gb(0,h|0);ve(d+52|0);e=d+112|0;c[d+140>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+144>>0]=1;a[d+145>>0]=1;e=d+148|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+160>>2]=12;c[d+56>>2]=g;Gc=f;return}function ue(a){a=a|0;re(a);$W(a);return}function ve(b){b=b|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=58836;c[b+44>>2]=0;c[b+48>>2]=0;c[b+52>>2]=Cg()|0;c[b+56>>2]=KO()|0;c[e>>2]=178629;gb(0,e|0);Gc=d;return}function we(a){a=a|0;var b=0,d=0,e=0;b=Gc;Gc=Gc+16|0;d=b+8|0;e=b;c[e>>2]=178742;gb(0,e|0);JS(c[a+20>>2]|0);GW(c[a+8>>2]|0);c[d>>2]=178765;gb(0,d|0);Gc=b;return}function xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=58820;f=La(178376)|0;c[d>>2]=c[b+140>>2];Ka(Ha(f|0,1,58724,d|0)|0);Ka(f|0);c[g>>2]=178789;gb(0,g|0);g=b+112|0;Wd(g);f=b+116|0;d=c[f>>2]|0;h=b+120|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{$W(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)$W(d);ze(b+52|0);c[i>>2]=178742;gb(0,i|0);JS(c[b+48>>2]|0);GW(c[b+36>>2]|0);c[j>>2]=178765;gb(0,j|0);c[b+12>>2]=58676;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;Ka(b|0);Gc=k;return}if((a[d+11>>0]|0)<0)$W(c[d>>2]|0);$W(d);b=b+4|0;b=c[b>>2]|0;Ka(b|0);Gc=k;return}function ye(a){a=a|0;xe(a);$W(a);return}function ze(b){b=b|0;var d=0,e=0,f=0,g=0;f=Gc;Gc=Gc+16|0;e=f+8|0;g=f;c[b>>2]=58836;c[g>>2]=178688;gb(0,g|0);Uc[c[(c[b>>2]|0)+8>>2]&63](b);Dg(b+52|0);uf(b+56|0);c[b>>2]=58876;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)GW(d);c[e>>2]=178664;gb(0,e|0);Gc=f;return}function Ae(a){a=a|0;ze(a);$W(a);return}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+48|0;if(c[e>>2]|0)Uc[c[(c[b>>2]|0)+8>>2]&63](b);g=IQ(27)|0;h=b+40|0;c[h>>2]=g;c[b+44>>2]=ER(c[g+12>>2]|0)|0;g=KQ(c[h>>2]|0)|0;c[e>>2]=g;f=c[d+12>>2]|0;e=g+72|0;c[e>>2]=f;f=FW(f)|0;c[g+68>>2]=f;b=c[d+4>>2]|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;BY(f|0,b+(c[d+8>>2]|0)|0,c[e>>2]|0)|0;SR(g,c[h>>2]|0,0)|0;return}function Ce(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;p=Gc;Gc=Gc+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=58692;Vc[g&255](b,h);c[h>>2]=58676;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)$W(c[i>>2]|0);$W(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=58692;Vc[q&255](b,k);c[k>>2]=58676;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)$W(c[g>>2]|0);$W(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=58692;Vc[q&255](b,o);c[o>>2]=58676;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Gc=p;return}if((a[h>>0]|0)<0)$W(c[g>>2]|0);$W(g);Gc=p;return}function De(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Gc;Gc=Gc+16|0;g=e;h=c[(c[b>>2]|0)+28>>2]|0;c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];d=c[d+4>>2]|0;f=g+4|0;c[f>>2]=d;d=d+12|0;c[d>>2]=(c[d>>2]|0)+1;c[g>>2]=58692;Vc[h&255](b,g);c[g>>2]=58676;b=c[f>>2]|0;f=b+12|0;d=(c[f>>2]|0)+-1|0;c[f>>2]=d;if((b|0)==0|(d|0)!=0){Gc=e;return}if((a[b+11>>0]|0)<0)$W(c[b>>2]|0);$W(b);Gc=e;return}function Ee(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;x=Gc;Gc=Gc+32|0;i=x+24|0;u=x;v=b+48|0;h=b+56|0;f=c[h>>2]|0;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;e=GR(c[b+44>>2]|0,c[v>>2]|0,f+24|0,f+28|0,e+(c[d+8>>2]|0)|0,c[d+12>>2]|0,0,-2147483648,0,-2147483648,0,0)|0;if((e|0)>-1?(g=c[h>>2]|0,c[g+28>>2]|0):0){if((rR(c[v>>2]|0,g)|0)<=-1){Gc=x;return}l=b+52|0;m=b+20|0;n=b+24|0;o=b+28|0;p=b+12|0;q=b+16|0;r=b+36|0;s=b+20|0;t=b+8|0;f=b+4|0;g=m>>2;h=u+8|0;i=u+16|0;b=u+8|0;j=u+16|0;a:while(1){k=AR(c[v>>2]|0,c[l>>2]|0)|0;if((k|0)<-11)switch(k|0){case -541478725:{w=28;break a}default:{}}else switch(k|0){case -11:{w=28;break a}default:{}}e=c[l>>2]|0;c[m>>2]=c[e>>2];c[n>>2]=c[e+4>>2];c[o>>2]=c[e+8>>2];d=c[e+68>>2]|0;if((c[p>>2]|0)==(d|0)){e=c[e+72>>2]|0;if((c[q>>2]|0)!=(e|0))w=12}else{e=c[e+72>>2]|0;w=12}do if((w|0)==12){w=0;c[p>>2]=d;c[q>>2]=e;if(!(a[r>>0]|0)){e=(H(e<<2,e)|0)+33554432|0;e=FW((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[t>>2]=e;d=c[c[f>>2]>>2]|0;if((a[250568]|0)==0?gY(250568)|0:0)c[62653]=Ma(4,48)|0;y=c[62653]|0;c[u>>2]=c[p>>2];c[h>>2]=c[q>>2];c[i>>2]=e;Ja(y|0,d|0,178724,u|0);break}else{c[t>>2]=m;e=c[c[f>>2]>>2]|0;if((a[250568]|0)==0?gY(250568)|0:0)c[62653]=Ma(4,48)|0;y=c[62653]|0;c[u>>2]=c[p>>2];c[b>>2]=c[q>>2];c[j>>2]=g;Ja(y|0,e|0,178724,u|0);break}}while(0);if(!(a[r>>0]|0))Je(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[p>>2]|0,c[q>>2]|0);e=c[c[f>>2]>>2]|0;if((a[250512]|0)==0?gY(250512)|0:0)c[62646]=Ma(1,58640)|0;Ja(c[62646]|0,e|0,178737,u|0);if((k|0)<=-1){w=28;break}}if((w|0)==28){Gc=x;return}}c[i>>2]=178703;c[i+4>>2]=e;gb(0,i|0);Gc=x;return}function Fe(b){b=b|0;var d=0,e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;c[b>>2]=58876;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)GW(d);c[e>>2]=178664;gb(0,e|0);Gc=f;return}function Ge(a){a=a|0;sb()}function He(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=Gc;Gc=Gc+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=58692;Vc[g&255](b,j);c[j>>2]=58676;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)$W(c[l>>2]|0);$W(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Gc=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=58692;Vc[q&255](b,o);c[o>>2]=58676;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)$W(c[e>>2]|0);$W(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Gc=p;return}if((a[i>>0]|0)<0)$W(c[h>>2]|0);$W(h);Gc=p;return}function Ie(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;u=Gc;Gc=Gc+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Gc=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=58692;Vc[d&255](b,q);c[q>>2]=58676;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)$W(c[d>>2]|0);$W(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)$W(c[g>>2]|0);$W(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Gc=u;return}function Je(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0;E=g<<2;F=f+(H(E,h)|0)|0;if(!h)return;A=(g|0)==0;D=(g+-1|0)>>>1;B=(D<<3)+8|0;C=g+1&-2;D=D+1|0;j=0;z=0;k=0;i=0;l=0;while(1){if(!A){x=B+j|0;y=D+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;q=(G*1634|0)+J>>10;G=(H(m,-400)|0)+J+(H(G,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(G|0)>0?G:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((G&255|0)==(G|0)?G:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;J=(G*1634|0)+p>>10;G=(H(m,-400)|0)+p+(H(G,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+E)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;G=t+-128|0;K=s+-128|0;J=m+(G*1634|0)>>10;G=(H(G,-832)|0)+(H(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(H(I,-832)|0)+(H(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;G=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(G|0)<255?G:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+E)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=C+l|0;j=x;k=D+k|0;i=y}z=z+2|0;if(z>>>0>=h>>>0)break;else{j=j+E|0;l=l+g|0}}return}function Ke(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=Gc;Gc=Gc+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)eX(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=_W(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)BY(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Wc[b&1023](h,j,k);Oa(c[h>>2]|0);d=c[h>>2]|0;Ka(d|0);Ka(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Gc=l;return d|0}$W(c[j>>2]|0);Gc=l;return d|0}function Le(){hd(0);return}function Me(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=1;return 0}function Ne(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=Gc;Gc=Gc+16|0;q=u+8|0;r=u;o=u+4|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g){if(!(c[l>>2]|0)){t=5;break}}else g=0;while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=xY(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=Rc[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=h+g|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==5)c[p>>2]=0;if((Re(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+16>>2]=h;if(i){if((c[b+16>>2]|0)!=86018){c[b+344>>2]=c[s+56>>2];c[b+348>>2]=c[s+52>>2];t=s+72|0;v=c[t+4>>2]|0;w=b+376|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[a+304>>2]=c[s+64>>2];c[b+392>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+40|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}Gc=u;return g|0}function Oe(a){a=a|0;Pe(c[a>>2]|0);return}function Pe(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;Qe(c);return}function Qe(a){a=a|0;GW(a);return}function Re(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Gc;Gc=Gc+32|0;l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=Se(c[b>>2]|0,b+12|0,(c[g>>2]|0)+64+h|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+64+(c[o>>2]|0);Te(0,16,179333,j);e=-12;h=0}else{c[b>>2]=e;BY(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=179375;c[i+4>>2]=179399;c[i+8>>2]=356;Te(0,0,222432,i);Za()}h=h+e|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+64|0;h=Se(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);Te(0,16,179333,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-64){BY(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=xY(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);Gc=p;return e|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)>>>0<d>>>0){f=2147483647+-32|0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;e=f>>>0>e>>>0?e:f;if(f>>>0<d>>>0){e=0;a=0}else{a=_e(a,e)|0;e=(a|0)==0?0:e}c[b>>2]=e}return a|0}function Te(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=Gc;Gc=Gc+16|0;f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;Ue(a,b,d,f);Gc=i;return}function Ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(4)Ve(a,b,c,d);return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Gc;Gc=Gc+5168|0;n=p+24|0;m=p+16|0;h=p;o=p+40|0;k=p+4136|0;l=p+32|0;i=(d|0)>-1;j=i?d&255:d;i=i?d>>>8&255:0;if((j|0)<=32){OW(250616)|0;We(b,j,e,f,o,58968,l);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;$V(k,1024,179419,h)|0;d=c[62661]|0;if(!d){b=(EW(2)|0)!=0;b=b?1:-1;c[62661]=b}else b=d;if((!((c[14742]|0)==0|0==0)?(q=(WU(k,325664)|0)!=0,!(q|(a[k>>0]|0)==0)):0)?(a[k+((SV(k)|0)+-1)>>0]|0)!=13:0){d=(c[62662]|0)+1|0;c[62662]=d;if((b|0)==1){q=c[43883]|0;c[m>>2]=d;tW(q,179428,m)|0}}else{d=c[62662]|0;if((d|0)>0){q=c[43883]|0;c[n>>2]=d;tW(q,179464,n)|0;c[62662]=0}aW(325664,k)|0;Xe(c[o>>2]|0);Ye(c[l>>2]|0,0,c[o>>2]|0);Xe(c[e>>2]|0);Ye(c[l+4>>2]|0,0,c[e>>2]|0);Xe(c[f>>2]|0);q=j>>3;q=(q|0)>0?((q|0)<7?q:7):0;Ye(q,i,c[f>>2]|0);Xe(c[g>>2]|0);Ye(q,i,c[g>>2]|0)}Ze(o+3072|0,0)|0;PW(250616)|0}Gc=p;return}function We(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Gc;Gc=Gc+32|0;r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;bf(g,0,1);p=g+1024|0;bf(p,0,1);j=g+2048|0;bf(j,0,1);v=g+3072|0;bf(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){c[q>>2]=Mc[c[o+4>>2]&31](n)|0;c[q+4>>2]=n;cf(g,179655,q);if(k){c[i>>2]=df(n)|0;u=11;break}else{c[t>>2]=Mc[c[l+4>>2]&31](b)|0;c[t+4>>2]=b;cf(p,179655,t);break}}else u=11;while(0);if((u|0)==11?(c[s>>2]=Mc[c[l+4>>2]&31](b)|0,c[s+4>>2]=b,cf(p,179655,s),k):0)c[i+4>>2]=df(b)|0;if(0){c[r>>2]=ef(d)|0;cf(j,179666,r)}}ff(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}Gc=w;return}function Xe(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function Ye(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=Gc;Gc=Gc+48|0;j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[14743]|0;if((f|0)<0){af();f=c[14743]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[43883]|0;b=c[58976+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;tW(j,179500,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[43883]|0;c[i>>2]=(c[58976+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;tW(j,179516,i)|0;break}f=c[43883]|0;if((g|0)==256){b=c[58976+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;tW(f,179543,j)|0;break}else{hW(e,f)|0;break}}while(0);Gc=k;return}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){Pe(a);d=0}else d=0;else{if(!d){e=$e(f)|0;if(!e){d=-12;e=0}else{BY(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=_e(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function _e(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0<b>>>0)a=0;else a=HW(a,((b|0)==0&1)+b|0)|0;return a|0}function $e(a){a=a|0;var b=0,d=0;d=Gc;Gc=Gc+16|0;b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=$e(1)|0;c[b>>2]=a;break}if(!(MW(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);Gc=d;return a|0}function af(){var a=0,b=0,d=0;a=mb(179570)|0;do if((mb(179575)|0)==0?(mb(179584)|0)==0:0){if(a|0?EW(2)|0:0){b=1;break}b=(mb(179605)|0)!=0&1}else b=0;while(0);c[14743]=b;if(!(mb(179624)|0)){if(a|0?uW(a,179646)|0:0)d=9}else d=9;if((d|0)==9)c[14743]=b<<8;return}function bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0<d>>>0)gf(b,d+-1|0)|0;return}function cf(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=Gc;Gc=Gc+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=_U(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(gf(a,e)|0){j=7;break}}if((j|0)==7)hf(a,e);Gc=k;return}function df(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(Mc[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function ef(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=179711;break}case 7:{a=227453;break}case 6:{a=179703;break}case 5:{a=179698;break}case 4:{a=179690;break}case 3:{a=179684;break}case 2:{a=179678;break}case 1:{a=179672;break}default:a=330272}return a|0}function ff(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=Gc;Gc=Gc+16|0;g=k;h=a+8|0;i=a+4|0;while(1){f=c[h>>2]|0;e=c[i>>2]|0;f=f-(e>>>0>f>>>0?f:e)|0;if(!f)e=0;else e=(c[a>>2]|0)+e|0;c[g>>2]=c[d>>2];e=_U(e,f,b,g)|0;if((e|0)<1)break;if(e>>>0<f>>>0){j=7;break}if(gf(a,e)|0){j=7;break}}if((j|0)==7)hf(a,e);Gc=k;return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(jf(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;h=i+1+(h>>>0>b>>>0?b:h)|0;b=d>>>0>e>>>1>>>0?e:d<<1;b=b>>>0<h>>>0?(e>>>0>h>>>0?h:e):b;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;e=_e(d,b)|0;if(!e)b=-12;else{if(!d)BY(e|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=e;c[f>>2]=b;b=0}}else b=-1094995529;else b=-5;return b|0}function hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0<d>>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function jf(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function kf(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=Gc;Gc=Gc+112|0;j=i+92|0;h=i+72|0;k=i;l=lf(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;mf(j,k+1|0);a=nf(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[179717+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}Gc=i;return a|0}function lf(a,b){a=a|0;b=b|0;a=zY(a|0)|0;b=zY(b|0)|0;L(a|0);return b|0}function mf(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function nf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((of(b,12)|0)==4095){pf(b);qf(b,2);g=rf(b)|0;h=of(b,2)|0;i=of(b,4)|0;j=c[59224+(i<<2)>>2]|0;if(j){pf(b);f=of(b,3)|0;pf(b);pf(b);pf(b);pf(b);e=of(b,13)|0;if((e|0)<7)e=-67308554;else{qf(b,11);b=of(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;c[d+8>>2]=((H(e<<3,j)|0)>>>0)/(i>>>0)|0}}else e=-50531338}else e=-16976906;return e|0}function of(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function pf(a){a=a|0;qf(a,1);return}function qf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function rf(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){Uc[e&63](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)tf(f);tf(g);f=g+8|0;uf(c[f>>2]|0);Pe(f);Pe(b);vf(g+16|0);vf(g+20|0);Pe(a)}return}function tf(a){a=a|0;var b=0;b=0;a:while(1){b=Cf(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{Pe(a+(c[b+8>>2]|0)|0);continue a}case 8:{Df(a+(c[b+8>>2]|0)|0);continue a}default:continue a}}return}function uf(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){xf(b);Pe(a)}return}function vf(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){wf(b);Pe(a)}return}function wf(a){a=a|0;var b=0,d=0;Pe(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function xf(a){a=a|0;yf(a);zf(a);Af(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function yf(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;Pe((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}Pe(b);c[d>>2]=0;return}function zf(a){a=a|0;if(a|0?c[a>>2]|0:0)Bf(a,0);return}function Af(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)Pe(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];Pe(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;Vc[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);Pe(d)}Gc=g;return}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function Df(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;Pe((c[d>>2]|0)+(e<<3)|0);Pe((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}Pe(d)}Pe(a);return}function Ef(a,b){a=a|0;b=b|0;return Oc[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){Te(a,16,179725,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){Gf(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}Gc=g;return a|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Af(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;wf(a);BY(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=Lf((c[b>>2]|0)+64|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;BY(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function If(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Gc;Gc=Gc+32|0;k=n+24|0;j=n+16|0;i=n;l=a+4|0;e=c[(c[l>>2]|0)+4>>2]|0;g=a+16|0;a:do if(!e)m=13;else{f=c[(c[g>>2]|0)+4>>2]|0;b=0;while(1){d=c[e+(b<<2)>>2]|0;if(!d)break;if((f|0)==(d|0)){m=13;break a}else b=b+1|0}b=Jf(f)|0;if(!b)b=229481;else b=c[b+8>>2]|0;h=c[(c[g>>2]|0)+4>>2]|0;d=c[c[l>>2]>>2]|0;c[i>>2]=b;c[i+4>>2]=h;c[i+8>>2]=d;Te(a,16,179763,i);d=0;while(1){b=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=Jf(b)|0;if(!b)b=229481;else b=c[b+8>>2]|0;i=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[j>>2]=b;c[j+4>>2]=i;Te(a,16,179849,j);d=d+1|0}Te(a,16,191320,k);b=-22}while(0);do if((m|0)==13){b=Hf(c[a+20>>2]|0,c[g>>2]|0)|0;if((b|0)>=0){k=a+24|0;m=c[k+4>>2]|0;b=a+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=m;b=c[(c[l>>2]|0)+16>>2]|0;if(b|0?(h=Mc[b&31](a)|0,(h|0)<0):0){b=h;break}b=0}}while(0);Gc=n;return b|0}function Jf(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+16|0;d=b;c[d>>2]=a;a=DW(d,59288,436,28,7)|0;Gc=b;return a|0}function Kf(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Lf(a){a=a|0;var b=0;b=$e(a)|0;if(b|0)DY(b|0,0,a|0)|0;return b|0}function Mf(a){a=a|0;var b=0;b=c[a+24>>2]|0;if(c[c[a+28>>2]>>2]|0){DY(b|0,0,46324)|0;a=MM(a,b)|0;if((a|0)>=0){c[b+25692>>2]=0;a=0}}else a=0;return a|0}function Nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+16|0;l=s;q=c[a+24>>2]|0;r=c[b+24>>2]|0;k=q+25692|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25668>>2]|0)==(c[r+25668>>2]|0)?(c[q+25672>>2]|0)==(c[r+25672>>2]|0):0)?(c[q+27012>>2]|0)==(c[r+27012>>2]|0):0)?(c[q+27008>>2]|0)==(c[r+27008>>2]|0):0)?(d=c[q+28216>>2]|0,d|0):0)?(e=c[r+28216>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25976|0;i=r+25976|0;BY(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32){a=0;break}b=q+27052+(a<<2)|0;zf(b);d=c[r+27052+(a<<2)>>2]|0;if(d|0?(n=Bg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}while(1){if(a>>>0>=256)break;b=q+27180+(a<<2)|0;zf(b);d=c[r+27180+(a<<2)>>2]|0;if(d|0?(n=Bg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28204|0;zf(b);e=q+28208|0;zf(e);d=q+28212|0;c[d>>2]=0;f=q+28216|0;c[f>>2]=0;a=c[r+28204>>2]|0;if(a|0){a=Bg(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28208>>2]|0;if(a|0){a=Bg(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25668>>2]=c[r+25668>>2];c[q+25672>>2]=c[r+25672>>2];c[q+27008>>2]=c[r+27008>>2];c[q+27012>>2]=c[r+27012>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27016>>2]=c[r+27016>>2];c[q+26368>>2]=c[r+26368>>2];if((c[k>>2]|0)==0?(c[r+25692>>2]|0)==0:0)a=0;else{a=Gm(q)|0;if((a|0)<0){Te(c[q+4>>2]|0,16,213347,l);break}}BY(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+104>>2]=c[n+104>>2];c[f+100>>2]=c[n+100>>2];c[f+92>>2]=c[n+92>>2];c[f+96>>2]=c[n+96>>2];c[q+29664>>2]=c[r+29664>>2];c[q+29668>>2]=c[r+29668>>2];c[q+25688>>2]=c[r+25688>>2];c[q+26384>>2]=c[r+26384>>2];c[q+26380>>2]=c[r+26380>>2];c[q+26376>>2]=c[r+26376>>2];f=r+25684|0;n=q+25684|0;c[n>>2]=c[f>>2];b=0;while(1){if((b|0)>=36)break;d=q+696+(b*656|0)|0;Uf(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=ih(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;Uf(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=ih(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29672>>2]=c[r+29672>>2];c[q+25700>>2]=c[r+25700>>2];c[q+25704>>2]=c[r+25704>>2];c[n>>2]=c[f>>2];c[q+27036>>2]=c[r+27036>>2];c[q+27040>>2]=c[r+27040>>2];b=q+28224|0;j=b;k=r+28224|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28348|0;e=r+28348|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28476|0;g=r+28476|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28604|0;i=r+28604|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28676|0;k=r+28676|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28740>>2]=c[r+28740>>2];c[q+28744>>2]=c[r+28744>>2];BY(q+28748|0,r+28748|0,792)|0;c[q+29540>>2]=c[r+29540>>2];c[q+29544>>2]=c[r+29544>>2];c[q+29548>>2]=c[r+29548>>2];c[q+29552>>2]=c[r+29552>>2];c[q+29556>>2]=c[r+29556>>2];TM(d,e,32,q,r);TM(f,g,32,q,r);TM(h,i,18,q,r);c[q+29576>>2]=c[r+29576>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=xh(q)|0;c[q+28248>>2]=c[q+28228>>2];c[q+28252>>2]=c[b>>2]}c[q+28260>>2]=c[q+28256>>2];c[q+28264>>2]=c[q+28244>>2];c[q+29572>>2]=c[r+29572>>2]}else a=0}else a=0;while(0);Gc=s;return a|0}function Of(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=Gc;Gc=Gc+16|0;l=m+8|0;d=m;i=c[a+24>>2]|0;b=MM(a,i)|0;do if((b|0)>=0){if(UW(251332,3)|0){Te(a,16,211463,d);b=-1313558101;break}f=a+84|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+80|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+76|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+72>>2]|0;if(((b|0)>0?(g=c[a+68>>2]|0,g|0):0)?(h=qh(g,b,i+27052|0,i+27036|0,i+27040|0,c[a+580>>2]|0,a)|0,(h|0)<0):0){Qf(a)|0;b=h;break}b=c[i+28216>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+140|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+28>>2]|0)+4>>2]=1;Sf(i);b=i+29672|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+696>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+696>>2]&2))b=0;else{Te(a,24,211488,l);b=0}}while(0);Gc=m;return b|0}function Pf(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=Gc;Gc=Gc+48|0;t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+24>>2]|0;c[q+25696>>2]=c[b+60>>2];c[q+29588>>2]=0;c[q+25636>>2]=0;r=q+24972|0;Uf(q,r);a:do if(h){i=q+27036|0;if((c[i>>2]|0?oh(g,1,0)|0:0)?(j=oh(g,1,l)|0,k=c[l>>2]|0,ph(j,k)|0):0)qh(j,k,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?ph(m,h)|0:0){h=qh(m,h,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;break}j=rh(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27028>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=189853;c[n+4>>2]=189875;c[n+8>>2]=998;Te(0,0,222432,n);Za()}else{h=nh(q,e,f,j)|0;break}do if(c[b+64>>2]&32768){o=c[q+27008>>2]|0;if(!((o|0)==0?1:(c[q+27004>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27032>>2]|0:0){p=30;break}if((c[b+732>>2]|0)>7)break a;if((h|0)>3?(XU(213564,m,4)|0)==0:0)break a;Te(b,16,189896,o);h=-1094995529;break a}while(0);if((p|0)==30){i=sh(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28740>>2]|0;if(i|0?(s=th(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=189907;c[t+4>>2]=189875;c[t+8>>2]=1023;Te(0,0,222432,t);Za()}Uf(q,r);h=uh(j,h)|0}}else h=nh(q,e,f,0)|0;while(0);Gc=u;return h|0}function Qf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;gh(d);Vf(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;Uf(d,b);Dg(b);a=a+1|0}a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;Pe(d+25628|0);c[d+25632>>2]=0;Tf(d+29676|0);lh(d+27052|0);mh(d+25640|0);b=d+24316|0;Uf(d,b);Dg(b);b=d+24972|0;Uf(d,b);Dg(b);return 0}function Rf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Sf(d);Tf(d+29676|0);a=0;while(1){if((a|0)==36)break;Uf(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;Uf(d,d+24316|0);c[d+27004>>2]=0;Vf(d);c[d+25692>>2]=0;return}function Sf(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28744>>2]=-2147483648;c[a+29564>>2]=1;fh(a);c[a+28264>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28604+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28604+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28604+(b<<2)>>2]=0}Uf(a,a+24972|0);c[a+26384>>2]=0;c[a+29572>>2]=-1;c[a+29576>>2]=0;c[a+29560>>2]=0;c[a+29544>>2]=1;return}function Tf(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+208>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;Pe(a+32|0);return}function Uf(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){Yf(c[a+4>>2]|0,b+4|0);zf(b+52|0);d=b+20|0;zf(d);zf(b+44|0);a=0;while(1){if((a|0)==2)break;zf(b+28+(a<<2)|0);zf(b+60+(a<<2)|0);a=a+1|0}DY(d|0,0,636)|0}return}function Vf(a){a=a|0;var b=0,d=0,e=0;Pe(a+25732|0);Pe(a+26396|0);Pe(a+26392|0);Pe(a+26400|0);Pe(a+26404|0);Pe(a+26408|0);Pe(a+25972|0);Pe(a+28220|0);c[a+26372>>2]=0;Pe(a+26388|0);Pe(a+26360|0);Pe(a+26364|0);Wf(a+29924|0);Wf(a+29928|0);Wf(a+29932|0);Wf(a+29936|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;Pe(e+(a*34768|0)+27784|0);Pe(e+(a*34768|0)+572|0);Pe(e+(a*34768|0)+604|0);Pe(e+(a*34768|0)+608|0);Pe(e+(a*34768|0)+27788|0);Pe(e+(a*34768|0)+27792|0);Pe(e+(a*34768|0)+27796|0);Pe(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function Wf(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)Xf(b);return}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g+4|0;e=g;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];Vc[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);Pe(e);a=c[f>>2]|0}QW(a)|0;b=c[a+52>>2]|0;if(b|0)Uc[b&63](c[a+40>>2]|0);Pe(f);Gc=g;return}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=Gc;Gc=Gc+16|0;e=i;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)d=(c[a+400>>2]|0)==10;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+576>>2]&32768|0){c[e>>2]=b;Te(a,48,187306,e)}zf(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){_f(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;OW(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5263439?(f=h+304|0,g=Se(c[f>>2]|0,h+312|0,e*408|0)|0,g|0):0){c[f>>2]=g;$f(g+((c[d>>2]|0)*408|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}PW(a)|0}while(0);Gc=i;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+860>>2]|0;a:do if(!d){d=eg(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=fg(a,b)|0;break a}case 1:{d=gg(a,b)|0;break a}default:{d=-1;break a}}}else{d=dg(d,b,0)|0;c[b+68>>2]=c[a+100>>2];c[b+72>>2]=c[a+104>>2]}while(0);return d|0}function _f(a){a=a|0;var b=0,d=0,e=0;if(a|0){bg(a);b=0;while(1){if((b|0)==8)break;zf(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;zf((c[e>>2]|0)+(b<<2)|0);b=b+1|0}Pe(e);Df(a+344|0);zf(a+372|0);zf(a+376|0);zf(a+380|0);zf(a+400|0);ag(a)}return}function $f(a,b){a=a|0;b=b|0;BY(a|0,b|0,408)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;DY(b|0,0,408)|0;ag(b);return}function ag(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))Pe(b);DY(a|0,0,408)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function bg(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;cg((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;Pe(b);return}function cg(a){a=a|0;var b=0;b=c[a>>2]|0;zf(b+16|0);Df(b+12|0);Pe(a);return}function dg(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=Gc;Gc=Gc+16|0;h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=Bg(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=Oc[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)zf(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=Bg(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=Cg()|0,c[f>>2]=e,(e|0)!=0):0){d=dg(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)<0){Dg(f);break}d=Eg(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){Dg(f);d=0;break}else{c[h>>2]=d;Te(i,16,189381,h);Dg(f);break}}else d=-12;while(0)}Gc=j;return d|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Gc;Gc=Gc+80|0;e=r;j=r+56|0;n=r+40|0;o=r+24|0;g=r+16|0;h=r+12|0;q=c[(c[a+28>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){qg(a,g,h,q+28|0);f=a+112|0;a=c[g>>2]|0;do{d=rg(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=sg(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if((d|0)>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if((d|0)>=4){p=20;break}e=q+(d<<2)|0;Wf(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=ug(a+23|0,17)|0,c[e>>2]=p,(p|0)==0):0){p=22;break}d=d+1|0}if((p|0)==20){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==22){d=-12;p=31;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(vg(c[g>>2]|0)|0)!=0;h=h?f:1;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}Wf(q);a=q+60|0;e=b+76|0;d=wg(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=ug(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=31}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=31;break}default:{c[e>>2]=228437;c[e+4>>2]=187374;c[e+8>>2]=1524;Te(0,0,222432,e);Za()}}while(0);if((p|0)==31){e=0;while(1){if((e|0)==4)break;Wf(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}Gc=r;return d|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+32|0;j=l+16|0;e=l+8|0;d=l;f=c[(c[a+28>>2]|0)+16>>2]|0;h=b+80|0;i=ng(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){c[e>>2]=og(c[h>>2]|0)|0;Te(a,16,187482,e);d=-22;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if((d|0)>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=ig(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=19;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==19){_f(b);d=-12;break}while(1){if((d|0)>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))pg(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+576>>2]&32768))d=0;else{c[j>>2]=b;Te(a,48,187535,j);d=0}}else k=5;while(0);if((k|0)==5){Te(a,16,187432,d);d=-1}Gc=l;return d|0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+32|0;l=m+16|0;f=m;k=c[(c[a+28>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){d=b+64|0;c[d>>2]=hg(h,4)|0;i=h+-8|0;c[b+284>>2]=i;i=hg(i,4)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){Pe(d);Pe(e);d=-12}else{i=d;j=5}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=5}else{c[f>>2]=187346;c[f+4>>2]=187374;c[f+8>>2]=1556;Te(0,0,222432,f);Za()}}a:do if((j|0)==5){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=8;break}f=ig(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==8){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=ig(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+576>>2]&32768)){d=0;break a}c[l>>2]=b;Te(a,48,187394,l);d=0;break a}while(0);_f(b);d=-12}while(0);Gc=m;return d|0}function hg(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Lf(H(b,a)|0)|0;else a=0;return a|0}function ig(a){a=a|0;var b=0,d=0,e=0,f=0;OW(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=lg(a)|0;PW(a)|0;if(!b)b=0;else f=6}else{b=kg(c[e>>2]|0,c[a+36>>2]|0,23,e,0)|0;if(!b){PW(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;PW(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function jg(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;OW(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;PW(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)Xf(b);return}function kg(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=Gc;Gc=Gc+16|0;h=j;g=Lf(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=d|0?d:24;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=Lf(12)|0;if(!d){Pe(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);Gc=j;return d|0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=Gc;Gc=Gc+16|0;e=f;b=c[a+48>>2]|0;if(!b)b=Mc[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=Oc[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=Lf(20)|0;if(!d){zf(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=23;break}}else b=0;while(0);Gc=f;return b|0}function mg(a,b){a=a|0;b=b|0;Qe(b);return}function ng(a){a=a|0;return (a>>>0>182?0:9736+(a*152|0)|0)|0}function og(a){a=a|0;if(a>>>0<183)a=c[9736+(a*152|0)>>2]|0;else a=0;return a|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if((g|0)>=256){d=0;break}switch(b|0){case 20:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>5)*36|0;break}case 17:{d=(g>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 22:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>3)*255|0;break}case 19:{d=(g>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function qg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+112|0;g=ng(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}a:do switch(c[i>>2]|0){case 114:case 115:case 163:case 164:case 78:case 79:case 138:case 139:case 136:case 137:case 76:case 77:case 74:case 75:case 98:case 99:case 92:case 93:case 86:case 87:case 52:case 51:case 134:case 135:case 132:case 133:case 69:case 70:case 67:case 68:case 157:case 156:case 155:case 154:case 96:case 97:case 90:case 91:case 84:case 85:case 50:case 49:case 130:case 131:case 128:case 129:case 65:case 66:case 71:case 72:case 94:case 95:case 88:case 89:case 82:case 83:case 48:case 47:case 126:case 127:case 124:case 125:case 63:case 64:case 61:case 62:case 81:case 80:case 33:case 14:case 32:case 13:case 12:case 30:case 29:case 8:case 113:case 73:case 5:case 31:case 4:case 15:case 110:case 1:case 0:{h=32;g=16;break}case 16:case 140:case 7:{h=32;g=32;break}case 6:{i=(c[a+16>>2]|0)==22;h=i?64:h;g=i?64:g;break}case 39:{j=c[a+16>>2]|0;i=(j|0)==42;j=(j|0)==39;h=j?8:i?4:h;g=j?8:i?4:g;break}case 20:case 17:case 11:{i=c[a+16>>2]|0;switch(i|0){case 43:case 49:{h=4;g=4;break}default:{}}switch(i|0){case 39:case 148:break;default:break a}h=8;g=8;break}case 3:{j=((c[a+16>>2]|0)+-53|0)>>>0<2;h=j?4:h;g=j?4:g;break}case 2:{j=(c[a+16>>2]|0)==43;h=j?4:h;g=j?4:g;break}default:{}}while(0);j=c[a+16>>2]|0;g=(j|0)==136?((g|0)>8?g:8):g;c[b>>2]=(c[b>>2]|0)+-1+g&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((j|0)!=27?(c[a+680>>2]|0)==0:0)g=0;else{c[e>>2]=g+2;g=c[b>>2]|0;c[b>>2]=(g|0)>32?g:32;g=0}while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+32|0;g=i+16|0;h=i;f=ng(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){zg(g,h,f);e=0;while(1){if((e|0)>=4){b=0;break a}b=Ag(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);Gc=i;return b|0}function sg(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Gc;Gc=Gc+16|0;m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=ng(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if((i&66|0)==0&0==0)b=0;else{c[a+4>>2]=f+h;b=h+1024|0;break}while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if((e|0)>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<<i)>>i;o=c[g+(e<<2)>>2]|0;h=H(f,o)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);Gc=n;return b|0}function tg(a){a=a|0;var b=0;b=yg(a)|0;if(!b)b=0;else DY(c[b+4>>2]|0,0,a|0)|0;return b|0}function ug(a,b){a=a|0;b=b|0;var d=0;d=Lf(56)|0;if(!d)d=0;else{NW(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=b|0?b:18;c[d+32>>2]=1}return d|0}function vg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71820+(a*20|0)+12>>2]|0;return a|0}function wg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=xg(e)|0;g=vg(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=sY(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;e=e+-1+(H(H(f?1:b,h)|0,d)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function xg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71820+(a*20|0)+8>>2]>>3;return a|0}function yg(a){a=a|0;var b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;b=$e(a)|0;c[d>>2]=b;if(b){a=kg(b,a,24,0,0)|0;if(!a){Pe(d);a=0}}else a=0;Gc=e;return a|0}function zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;e=0}else e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Ag(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<<e)>>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Bg(a){a=a|0;var b=0;b=Lf(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function Cg(){var a=0;a=Lf(408)|0;if(!a)a=0;else{c[a+64>>2]=0;ag(a)}return a|0}function Dg(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){_f(b);Pe(a)}return}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+16|0;l=q;h=c[b+376>>2]|0;i=a+376|0;a:do if(h){f=c[i>>2]|0;do if(f|0){k=c[h+4>>2]|0;f=c[f+4>>2]|0;if(!(((k|0)==(f|0)?(c[b+80>>2]|0)==(c[k+40>>2]|0):0)?(c[a+80>>2]|0)==(c[k+36>>2]|0):0)){g=c[(c[k+4>>2]|0)+12>>2]|0;if(!g)break;if((c[g+4>>2]|0)!=(f|0))break}e=c[b+248>>2]|0;if(!e){Te(k,16,189434,l);e=-22;break a}else{e=c[e+4>>2]|0;_f(a);e=Fg(a,c[e>>2]|0)|0;break a}}while(0);f=c[h+4>>2]|0;if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=Qc[j&3](f,a,b,d)|0,(e|0)!=-38):0))p=14}else p=14;while(0);do if((p|0)==14){e=c[i>>2]|0;if(((e|0?(m=c[e+4>>2]|0,(c[m+36>>2]|0)==(c[a+80>>2]|0)):0)?(n=c[(c[c[m+4>>2]>>2]|0)+76>>2]|0,n|0):0)?(o=Qc[n&3](m,a,b,d)|0,(o|0)!=-38):0){e=o;break}e=-38}while(0);Gc=q;return e|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Gg(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=Hg(a,32)|0;if((d|0)<0)break;d=Ig(a,b)|0;if((d|0)>=0)break;_f(a);break}else d=0;while(1){if(d>>>0>=8){f=10;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=Bg(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==10){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=hg(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=Bg(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=Bg(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=Jg(4,d)|0;c[a+64>>2]=e;if(!e){d=-12;break}BY(e|0,c[f>>2]|0,d<<2|0)|0};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);_f(a)}while(0);return d|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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Gc;Gc=Gc+16|0;o=r;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];Yg(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=b+292|0;j=b+288|0;k=b+68|0;l=a+68|0;m=b+72|0;n=a+72|0;d=(d|0)==0;g=0;while(1){if((g|0)>=(c[i>>2]|0)){p=15;break}h=c[(c[j>>2]|0)+(g<<2)>>2]|0;e=c[h>>2]|0;if(!e){if((c[k>>2]|0)==(c[l>>2]|0)?(c[m>>2]|0)==(c[n>>2]|0):0)p=6}else p=6;if((p|0)==6){p=0;if(d){e=Bg(c[h+16>>2]|0)|0;c[o>>2]=e;e=_g(a,c[h>>2]|0,e)|0;if(!e){p=12;break}}else{f=h+8|0;e=Zg(a,e,c[f>>2]|0)|0;if(!e){p=8;break}BY(c[e+4>>2]|0,c[h+4>>2]|0,c[f>>2]|0)|0}Yg(e+12|0,c[h+12>>2]|0,0)|0}g=g+1|0}do if((p|0)==8){bg(a);e=-12}else if((p|0)==12){zf(o);bg(a);e=-12}else if((p|0)==15){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;zf(d);h=c[b+372>>2]|0;if(h|0?(q=Bg(h)|0,c[d>>2]=q,q|0):0){c[e>>2]=c[q+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;zf(f);g=a+400|0;zf(g);e=c[b+380>>2]|0;if(e|0?(a=Bg(e)|0,c[f>>2]=a,(a|0)==0):0){e=-12;break}e=c[b+400>>2]|0;if(e|0?(b=Bg(e)|0,c[g>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);Gc=r;return e|0}function Hg(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Sg(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=Tg(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function Ig(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Kg(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=Lg(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function Jg(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=$e(H(b,a)|0)|0;else a=0;return a|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=Ng(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];Og(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);Gc=j;return d|0}function Lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=vg(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=h|0?g:1;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}Mg(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function Mg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(vg(h)|0)!=0;j=k?g:1;i=xg(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;d=c[a>>2]|0;f=c[b>>2]|0;e=d>>>0<f>>>0;a:do if(((e?f:d)-(c[(e?a:b)>>2]|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;CY((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;BY((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function Ng(a){a=a|0;var b=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g;b=ng(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0)){a=0;b=0;break}c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);Gc=g;return a|0}function Og(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+32|0;j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}Qg(a,j,d,k,f,g,h,4);Gc=l;return}function Pg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+32|0;l=m+16|0;k=m;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[k>>2]=189510;c[k+4>>2]=189541;c[k+8>>2]=314;Te(0,0,222432,k);Za()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[l>>2]=189562;c[l+4>>2]=189541;c[l+8>>2]=315;Te(0,0,222432,l);Za()}else{h=g;i=a;j=d}while(1){if((h|0)<=0)break a;BY(i|0,j|0,f|0)|0;h=h+-1|0;i=i+b|0;j=j+e|0}}while(0);Gc=m;return}function Qg(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Gc;Gc=Gc+16|0;q=r;m=ng(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){Zc[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);BY(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=Rg(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;Zc[j&63](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}Te(0,16,189480,q)}while(0);Gc=r;return}function Rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Gc;Gc=Gc+32|0;e=g+16|0;f=g;a=ng(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){zg(e,f,a);a=Ag(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;Gc=g;return a|0}function Sg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=ng(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=Vg(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){b=(b|0)<1?32:b;j=b+-1|0;f=1;while(1){if((f|0)>(b|0))break;e=rg(g,c[h>>2]|0,f+-1+(c[i>>2]|0)&0-f)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else f=f<<1}b=0-b|0;e=0;while(1){if((e|0)>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if((f|0)>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=yg((H(b,e)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;zf(m);e=yg(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);_f(a);e=-12}}else e=-22;while(0);return e|0}function Tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=vg(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=Ug(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=g|0?f:1;j=a+32|0;if(!((c[j>>2]|0)==0?(d=wg(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){d=a+64|0;c[d>>2]=hg(i,4)|0;e=i+-8|0;h=hg(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){Pe(d);Pe(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=yg(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=14;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==14){_f(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=yg(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}_f(a);d=-12}while(0);return d|0}function Ug(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=wY(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function Vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wg(a,b,-1,2147483647,-1,c,d)|0}function Wg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=Gc;Gc=Gc+48|0;k=l+8|0;j=l;i=l+24|0;c[i>>2]=72060;c[i+4>>2]=g;c[i+8>>2]=h;g=Rg(f,a,0)|0;m=(g|0)<1;f=xY(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=mY(f|0,g|0,1024,0)|0,m=sY(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=sY(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;Te(i,16,189624,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;Te(i,16,189593,j);f=-22}Gc=l;return f|0}function Xg(a){a=a|0;return c[c[a>>2]>>2]|0}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=$g(b,330272,f,2)|0;if(!f){e=0;break}e=ah(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function Zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;d=yg(d)|0;c[e>>2]=d;a=_g(a,b,d)|0;if(!a)zf(e);Gc=f;return a|0}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((((d|0)!=0?(g=a+292|0,h=c[g>>2]|0,h>>>0<=536870910):0)?(i=a+288|0,f=_e(c[i>>2]|0,(h<<2)+4|0)|0,(f|0)!=0):0)?(c[i>>2]=f,e=Lf(20)|0,(e|0)!=0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;h=c[i>>2]|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=e}else e=0;return e|0}function $g(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=eh(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(eh(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Gc;Gc=Gc+16|0;l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=$g(g,b,0,e)|0;else i=0;if(!(e&4))h=bh(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=bh(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=Lf(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=_e(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){Qe(h);Qe(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))Qe(g);else c[l>>2]=g;Qe(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=SV(h)|0;g=g+1+(SV(f)|0)|0;b=Lf(g)|0;if(!b)break;ch(b,h,g)|0;Pe(l);ch(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;Pe(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){Pe(o);f=c[n>>2]|0}if(f|0){f=0;break a}Pe(n+4|0);Pe(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){Pe(n+4|0);Pe(a);k=32}else k=32}while(0);if((k|0)==32){Qe(c[o>>2]|0);Qe(f);f=-12}Gc=p;return f|0}function bh(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(SV(a)|0)+1|0,b=_e(0,c)|0,(b|0)!=0):0)BY(b|0,a|0,c|0)|0;else b=0;return b|0}function ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=SV(a)|0;if((d+1|0)>>>0<c>>>0)a=dh(a+d|0,b,c-d|0)|0;else a=SV(b)|0;return a+d|0}function dh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0<d>>>0)a[b>>0]=0;return (SV(c)|0)+g|0}function eh(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function fh(a){a=a|0;var b=0;gh(a);c[a+28260>>2]=0;c[a+28264>>2]=0;c[a+28248>>2]=65536;c[a+28252>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}return}function gh(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;hh(a,b,0);b=b+1|0}d=a+29556|0;if((c[d>>2]|0)!=0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){Uf(a,e);ih(a,e,c[a+28348>>2]|0)|0;b=0}else b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28348+(b<<2)|0;jh(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28268|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28476+(b<<2)|0;e=c[b>>2]|0;if(e|0?jh(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29552|0;c[d>>2]=(c[d>>2]|0)+-1}return}function ih(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=Gc;Gc=Gc+48|0;i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=189742;c[e+4>>2]=189758;c[e+8>>2]=70;Te(0,0,222432,e);Za()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=189784;c[g+4>>2]=189758;c[g+8>>2]=71;Te(0,0,222432,g);Za()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=189799;c[i+4>>2]=189758;c[i+8>>2]=72;Te(0,0,222432,i);Za()}i=b+4|0;c[i>>2]=h;e=kh(i,e)|0;a:do if((e|0)>=0){i=b+20|0;c[i>>2]=Bg(c[d+20>>2]|0)|0;h=Bg(c[d+44>>2]|0)|0;c[b+44>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19}else{c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];e=0;while(1){if((e|0)>=2)break;i=b+28+(e<<2)|0;c[i>>2]=Bg(c[d+28+(e<<2)>>2]|0)|0;h=Bg(c[d+60+(e<<2)>>2]|0)|0;c[b+60+(e<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19;break a}c[b+36+(e<<2)>>2]=c[d+36+(e<<2)>>2];c[b+68+(e<<2)>>2]=c[d+68+(e<<2)>>2];e=e+1|0}if(!(c[d+56>>2]|0))e=0;else{e=Bg(c[d+52>>2]|0)|0;c[b+52>>2]=e;if(!e){e=-12;j=19;break}c[b+56>>2]=c[e+4>>2];e=0}while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}BY(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}}else j=19;while(0);if((j|0)==19)Uf(a,b);Gc=k;return e|0}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28604+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Fg(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=189819;c[f+4>>2]=189834;c[f+8>>2]=1792;Te(0,0,222432,f);Za()}d=c[b+12>>2]|0;if((d|0)!=0?(f=Bg(d)|0,c[e>>2]=f,(f|0)==0):0){Yf(c[g>>2]|0,a);d=-12}else d=0}Gc=h;return d|0}function lh(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32){b=0;break}zf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==256)break;zf(a+128+(b<<2)|0);b=b+1|0}zf(a+1156|0);zf(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function mh(a){a=a|0;var b=0,d=0;d=a+20|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Pe((c[a>>2]|0)+(b*68|0)+60|0);b=b+1|0}Pe(a);c[d>>2]=0;Pe(a+4|0);c[a+12>>2]=0;c[a+8>>2]=0;return}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28604>>2]|0;c[a+24312>>2]=0;c[a+26384>>2]=0;h=0;f=1;while(1){g=c[a+28604+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28604+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28604+(k<<2)>>2]|0;c[a+28604+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=th(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function ph(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=5;break}c=((yY(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24==7){e=e+-1|0;b=b+c|0}else{c=0;break}}a:do if((f|0)==5){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((yY(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24==8){e=e+-1|0;c=c+b|0}else{c=0;break}}}}while(0);return c|0}function qh(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+32|0;r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;Te(j,16,211317,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if((g|0)>=(k|0))break;l=((yY(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=KM(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;Te(j,16,211336,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if((l|0)>=(m|0)){p=17;break}k=((yY(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=KM(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;Te(j,16,211370,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=LM(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);Gc=s;return e|0}function rh(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;W=Gc;Gc=Gc+80|0;N=W+48|0;R=W+40|0;Q=W+32|0;P=W+24|0;O=W+16|0;M=W+8|0;j=W;J=W+52|0;S=b+4|0;K=c[S>>2]|0;V=b+27032|0;c[V>>2]=0;L=b+27028|0;c[L>>2]=0;i=K+64|0;if(!(c[i>>2]&32768)){c[b+29560>>2]=0;if(!(c[b+26384>>2]|0))c[b+24312>>2]=0;Tf(b+29676|0)}h=c[b+27040>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){U=e+5|0;if((zY(d[U>>0]|d[U+1>>0]<<8|d[U+2>>0]<<16|d[U+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27036>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}U=zY(g|0)|0;if(!(U>>>0<2|U>>>0>f>>>0))c[b+27036>>2]=1}while(0);D=b+25640|0;g=Gh(D,e,f,K,c[b+27036>>2]|0,h,c[K+16>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)Te(K,16,190877,j);else{A=K+696|0;if(c[A>>2]&1){g=Hh(b)|0;if((g|0)<0)break}else g=0;n=b+25656|0;o=K+732|0;p=b+27024|0;B=b+29560|0;q=b+29580|0;r=b+29588|0;U=b+24312|0;s=K+592|0;t=b+25632|0;u=b+25636|0;C=b+25628|0;v=b+29676|0;w=b+27052|0;x=b+29716|0;y=K+576|0;z=b+29900|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){T=71;break}k=c[D>>2]|0;j=k+(m*68|0)|0;i=c[k+(m*68|0)+64>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*68|0)+44>>2]|0)==6){i=0;T=22}}else T=22;b:do if((T|0)==22){T=0;c[p>>2]=i;i=c[k+(m*68|0)+44>>2]|0;c[L>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*68|0)+8>>2]|0)+1>>0]&-4)<<24>>24==-104){T=24;break a}if(!h){if(c[B>>2]|0?c[A>>2]&2|0:0){T=28;break a}fh(b)}c[q>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{Lh(K,191028,P);break b}case 6:{l=Mh(v,k+(m*68|0)+24|0,w,K)|0;if(!(c[q>>2]|0))i=(c[x>>2]|0)!=-1;else i=1;c[q>>2]=i&1;if(c[y>>2]&8388608|0)Nh(z,c[S>>2]|0);if((l|0)>=0)break b;if(!(c[(c[S>>2]|0)+580>>2]&8))break b;else break a}case 7:{i=k+(m*68|0)+24|0;c[J>>2]=c[i>>2];c[J+4>>2]=c[i+4>>2];c[J+8>>2]=c[i+8>>2];c[J+12>>2]=c[i+12>>2];c[J+16>>2]=c[i+16>>2];j=c[s>>2]|0;if((j|0?(F=c[j+28>>2]|0,F|0):0)?(G=Qc[F&3](K,7,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(G|0)<0):0){T=61;break a}if((Oh(J,K,w,0)|0)<=-1?(Te(c[S>>2]|0,48,191046,Q),Ph(J,(c[k+(m*68|0)+20>>2]|0)+1|0,(c[k+(m*68|0)+16>>2]|0)+-1|0)|0,(Oh(J,K,w,0)|0)<=-1):0)Oh(i,K,w,1)|0;break b}case 8:{i=c[s>>2]|0;if((i|0?(H=c[i+28>>2]|0,H|0):0)?(I=Qc[H&3](K,8,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(I|0)<0):0){l=I;break a}l=Qh(k+(m*68|0)+24|0,K,w,c[k+(m*68|0)+12>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[S>>2]|0)+580>>2]&8))break b;else break a}default:{l=c[k+(m*68|0)+12>>2]|0;c[R>>2]=i;c[R+4>>2]=l;Te(K,48,191104,R);break b}}c[V>>2]=1;i=Ih(b,j)|0;if(i|0){k=c[C>>2]|0;l=c[u>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;Te(c[S>>2]|0,16,191136,N);break}if((c[B>>2]|0)==1){if((!((m|0)<(g|0)|(c[A>>2]&1|0)==0)?(c[r>>2]|0)==0:0)?c[U>>2]|0:0){Jh(K);c[r>>2]=1}i=c[S>>2]|0;j=c[i+592>>2]|0;if(j|0?(E=Pc[c[j+24>>2]&15](i,e,f)|0,(E|0)<0):0){l=E;break a}}i=c[s>>2]|0;if(!i)j=c[t>>2]|0;else j=1;if((c[u>>2]|0)==(j|0)){if(!(c[(c[S>>2]|0)+592>>2]|0))l=Kh(b)|0;else{l=Pc[c[i+32>>2]&15](K,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0;c[u>>2]=0}if((l|0)<0?(c[(c[S>>2]|0)+580>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((T|0)==24){Te(c[S>>2]|0,16,190920,M);c[b+28744>>2]=-2147483648;l=-1}else if((T|0)==28){Te(b,16,190945,O);l=-1094995529}else if((T|0)==61)l=G;else if((T|0)==71){g=Kh(b)|0;if((g|0)<0?c[(c[S>>2]|0)+580>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26380|0;if((((c[k>>2]|0)==3?c[B>>2]|0:0)?(c[b+28216>>2]|0)==(c[(c[b+27052+(c[c[b+28212>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29672>>2]|0:0){h=c[C>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;Rh(h+696|0,c[U>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){Rh(g,0);break}else{Rh(g,c[h+23452>>2]|0);break}}else{Rh(h+728|0,g);T=h+23416|0;c[h+23452>>2]=g;S=c[g>>2]|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];T=h+23428|0;S=(c[g>>2]|0)+32|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)Rh(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];Sh(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[U>>2]|0;if((g|0?(c[b+25684>>2]|0)==0:0)?c[V>>2]|0:0)yh(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);Gc=W;return g|0}function sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;g=h;e=c[a+4>>2]|0;c[a+27004>>2]=0;f=(d|0)!=0;if(!f?(c[e+696>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25684>>2]|0)){b=xh(a)|0;c[a+28248>>2]=c[a+28228>>2];c[a+28252>>2]=c[a+28224>>2]}else b=0;c[a+28260>>2]=c[a+28256>>2];c[a+28264>>2]=c[a+28244>>2]}d=c[e+592>>2]|0;if(d){b=Mc[c[d+36>>2]&31](e)|0;if((b|0)<0)Te(e,16,190155,g)}if(!f?(c[a+25684>>2]|0)==0:0)yh((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[a+29560>>2]=0;Gc=h;return b|0}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Gc;Gc=Gc+64|0;g=m;j=m+40|0;k=m+24|0;l=m+8|0;f=c[a+4>>2]|0;if(((c[f+60>>2]&8|0)==0?(c[f+64>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+592>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;Te(f,48,189935,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}Og(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=vh(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}Gc=m;return f|0}function uh(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Fg(b,c[d>>2]|0)|0;if((e|0)>=0){ah(b+344|0,189973,wh(a+29852|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}return e|0}function wh(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?189985:190001;break a}case 1:{a=(c[a+20>>2]|0)==2?190017:190036;break a}case 2:{a=(c[a+20>>2]|0)==2?190055:190074;break a}case 3:{a=(c[a+20>>2]|0)==2?190093:190104;break a}case 4:{a=(c[a+20>>2]|0)==2?190115:190126;break a}case 5:{a=(c[a+20>>2]|0)==2?190137:190146;break a}default:{a=218674;break a}}case 1:{a=218674;break}default:a=0}while(0);return a|0}function xh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Gc;Gc=Gc+144|0;C=L+112|0;B=L+104|0;A=L+96|0;u=L+80|0;t=L+72|0;s=L+64|0;r=L+56|0;x=L+48|0;w=L+40|0;v=L+24|0;e=L+16|0;n=L+128|0;J=L;p=L+124|0;E=J;c[E>>2]=0;c[E+4>>2]=0;E=a+28216|0;do if(c[E>>2]|0){if(!(c[a+29548>>2]|0))zh(a);o=c[a+29540>>2]|0;b=a+4|0;d=c[b>>2]|0;if((o|0)==0?(c[d+576>>2]&2048|0)!=0:0)Te(d,48,190241,e);H=a+29556|0;F=a+29552|0;z=a+28348|0;I=a+24312|0;G=a+26380|0;l=a+28244|0;m=a+29544|0;k=0;j=0;f=0;g=0;d=0;a:while(1){if((k|0)>=(o|0))break;e=c[b>>2]|0;if(!(c[e+576>>2]&2048))h=a+28748+(k*12|0)|0;else{h=a+28748+(k*12|0)|0;M=c[a+28748+(k*12|0)+4>>2]|0;i=c[a+28748+(k*12|0)+8>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=M;c[v+8>>2]=i;Te(e,48,190255,v)}e=c[h>>2]|0;b:do switch(e|0){case 3:case 1:{f=Ah(a,c[a+28748+(k*12|0)+4>>2]|0,p)|0;g=Bh(a,f,n)|0;e=c[h>>2]|0;if(!g){if(((e|0)==3?(q=c[a+28476+(c[a+28748+(k*12|0)+8>>2]<<2)>>2]|0,q|0):0)?(c[q+88>>2]|0)==(f|0):0){h=j;e=0;break b}Te(c[b>>2]|0,c[H>>2]|0?16:48,190270,w);h=j;d=-1094995529;e=0}else{i=f;y=18}break}default:{i=f;y=18}}while(0);c:do if((y|0)==18){y=0;switch(e|0){case 1:{e=c[b>>2]|0;if(c[e+576>>2]&2048|0){M=c[H>>2]|0;c[x>>2]=c[a+28748+(k*12|0)+4>>2];c[x+4>>2]=M;Te(e,48,190297,x)}Ch(a,i,c[p>>2]^3)|0;h=j;f=i;e=g;break c}case 3:{e=a+28748+(k*12|0)+8|0;f=c[e>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(g|0))hh(a,f,0);Dh(a,c[n>>2]|0);c[a+28476+(c[e>>2]<<2)>>2]=g;e=c[a+28476+(c[e>>2]<<2)>>2]|0;if(!e){h=j;f=i;e=g;break c}c[e+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;h=j;f=i;e=g;break c}case 2:{e=Ah(a,c[a+28748+(k*12|0)+8>>2]|0,p)|0;c[n>>2]=e;g=c[a+28476+(e<<2)>>2]|0;if(g|0){hh(a,e,c[p>>2]^3);h=j;f=i;e=g;break c}e=c[b>>2]|0;if(!(c[e+576>>2]&2048)){h=j;f=i;e=0;break c}Te(e,48,190328,r);h=j;f=i;e=0;break c}case 6:{e=c[I>>2]|0;if((c[z>>2]|0)==(e|0)){Te(c[b>>2]|0,16,190354,s);Dh(a,0);e=c[I>>2]|0}h=a+28748+(k*12|0)+8|0;if(c[e+100>>2]|0){e=0;while(1){if((e|0)==32)break;if((c[a+28476+(e<<2)>>2]|0)==(c[I>>2]|0)){if((e|0)!=(c[h>>2]|0))Te(c[b>>2]|0,16,190426,t);hh(a,e,0)}e=e+1|0}c[n>>2]=32;e=c[I>>2]|0}f=c[h>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(e|0)){if(c[e+100>>2]|0){y=42;break a}hh(a,f,0);c[a+28476+(c[h>>2]<<2)>>2]=c[I>>2];c[(c[a+28476+(c[h>>2]<<2)>>2]|0)+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;e=c[I>>2]|0}h=e+640|0;c[h>>2]=c[h>>2]|c[G>>2];h=1;f=i;e=g;break c}case 4:{e=c[a+28748+(k*12|0)+8>>2]|0;while(1){if((e|0)>=16)break;hh(a,e,0);e=e+1|0}c[n>>2]=e;h=j;f=i;e=g;break c}case 5:{while(1){if(!(c[H>>2]|0)){e=0;break}Ch(a,c[(c[z>>2]|0)+88>>2]|0,0)|0}while(1){if((e|0)==16)break;hh(a,e,0);e=e+1|0}c[n>>2]=16;e=c[I>>2]|0;c[e+88>>2]=0;c[l>>2]=0;c[m>>2]=1;c[e+92>>2]=1;e=0;while(1){if((e|0)==16)break;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}c[n>>2]=16;h=j;f=i;e=g;break c}default:{h=j;f=i;e=g;break c}}}while(0);k=k+1|0;j=h;g=e}if((y|0)==42){c[u>>2]=190489;c[u+4>>2]=190515;c[u+8>>2]=702;Te(0,0,222432,u);Za()}do if(!j){if(c[H>>2]|0){f=c[z>>2]|0;e=c[I>>2]|0;if((f|0)==(e|0)){M=f+640|0;c[M>>2]=c[M>>2]|c[G>>2];break}}else e=c[I>>2]|0;if(c[e+100>>2]|0){Te(c[b>>2]|0,16,190538,A);d=-1094995529;break}if(Ch(a,c[e+88>>2]|0,0)|0){Te(c[b>>2]|0,16,190651,B);d=-1094995529}e=c[H>>2]|0;if(!e)e=1;else{CY(a+28352|0,z|0,e<<2|0)|0;e=(c[H>>2]|0)+1|0}M=c[I>>2]|0;c[a+28348>>2]=M;c[H>>2]=e;M=M+640|0;c[M>>2]=c[M>>2]|c[G>>2]}while(0);e=c[F>>2]|0;f=c[H>>2]|0;g=c[(c[E>>2]|0)+48>>2]|0;do if((f+e|0)>(((g|0)>1?g:1)|0)){d=c[b>>2]|0;c[C>>2]=e;c[C+4>>2]=f;c[C+8>>2]=g;Te(d,16,190693,C);d=c[H>>2]|0;if((c[F>>2]|0)!=0&(d|0)==0)d=0;else{Ch(a,c[(c[a+28348+(d+-1<<2)>>2]|0)+88>>2]|0,0)|0;d=-1094995529;break}while(1){if((d|0)>=16)break;if(c[a+28476+(d<<2)>>2]|0)break;d=d+1|0}hh(a,d,0);d=-1094995529}while(0);e=0;while(1){if((e|0)>=(c[H>>2]|0))break;f=c[a+28348+(e<<2)>>2]|0;if(c[f+648>>2]|0?(D=c[f+88>>2]|0,M=c[E>>2]|0,((1<<c[M+20>>2])+-1&(c[(c[I>>2]|0)+88>>2]|0)-D|0)>(c[M+48>>2]|0)):0)Ch(a,D,0)|0;e=e+1|0}Eh(a);Fh(a);h=J+4|0;g=0;i=0;f=0;while(1){if((g|0)==256)break;e=c[a+27180+(g<<2)>>2]|0;if(!e)e=i;else{E=c[e+4>>2]|0;M=E+20|0;e=c[(i>>>0>(c[M>>2]|0)>>>0?J:M)>>2]|0;c[J>>2]=e;f=c[(f>>>0>(c[E+24>>2]|0)>>>0?J:M)+4>>2]|0;c[h>>2]=f}g=g+1|0;i=e}if((d|0)>-1?(c[F>>2]|0)==0:0){e=c[G>>2]|0;if((c[H>>2]|0)>=3?!((i|0)<=(((e|0)!=3?2:1)|0)&(f|0)<2):0)break;if(((i|0)<=((((c[a+29580>>2]|0)==0&1)<<1)+((e|0)!=3?3:2)|0)?(K=c[I>>2]|0,(c[(c[K>>2]|0)+88>>2]|0)==1):0)?(M=K+644|0,c[M>>2]=c[M>>2]|1,(c[(c[b>>2]|0)+140>>2]|0)==0):0){M=a+29576|0;c[M>>2]=c[M>>2]|2}}}else{b=a+4|0;Te(c[b>>2]|0,16,190227,L+8|0);d=-1094995529}while(0);Gc=L;return (c[(c[b>>2]|0)+580>>2]&8|0?d:0)|0}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;Te(a,48,190202,h)}h=e+184|0;OW(h)|0;c[g>>2]=b;EY(e+60|0)|0;PW(h)|0}Gc=i;return}function zh(a){a=a|0;var b=0,d=0,e=0;b=c[a+29556>>2]|0;do if((b|0)!=0?((c[a+29552>>2]|0)+b|0)>=(c[(c[a+28216>>2]|0)+48>>2]|0):0){e=(c[a+26380>>2]|0)==3;if((!e?(c[a+26384>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28748>>2]=1;d=c[(c[a+28348+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28752|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28760>>2]=1;c[a+28764>>2]=d|1;b=2}}else b=0;while(0);c[a+29540>>2]=b;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26380|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Gc;Gc=Gc+16|0;j=l;h=a+29556|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28348+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+576>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;Te(f,48,190867,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;Gc=l;return e|0}function Ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Gc;Gc=Gc+16|0;f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+576>>2]&2048|0){i=c[a+29556>>2]|0;c[f>>2]=b;c[f+4>>2]=i;Te(e,48,190841,f)}b=Bh(a,b,g)|0;if(b|0?jh(a,b,d)|0:0)Dh(a,c[g>>2]|0);Gc=h;return b|0}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28348+(b<<2)|0;c[d>>2]=0;f=a+29556|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)CY(d|0,a+28348+(b+1<<2)|0,e-b<<2|0)|0;return}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Gc;Gc=Gc+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){Te(b,48,190823,g);d=a+29556|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28348+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;Te(h,48,190803,f);b=b+1|0}}while(0);Gc=g;return}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gc;Gc=Gc+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){Te(b,48,190786,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28476+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;Te(h,48,190803,f)}b=b+1|0}}while(0);Gc=g;return}function Gh(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=Gc;Gc=Gc+48|0;x=C+40|0;A=C+32|0;z=C+24|0;y=C+16|0;k=C;w=C+44|0;v=(g|0)!=0;if((e|0)<=-1){c[k>>2]=217960;c[k+4>>2]=217974;c[k+8>>2]=137;Te(0,0,222432,k);Za()}q=b;r=b+e|0;s=a+4|0;uM(s,a+8|0,(j|0?0:262144)+e|0);a:do if(c[s>>2]|0){c[a+12>>2]=0;t=a+16|0;c[t>>2]=0;u=a+20|0;p=(i|0)==173;l=v?0:e;g=q;b:while(1){e=b+l|0;while(1){i=r-g|0;if(i>>>0<=3){g=0;break a}k=g-q|0;if((k|0)==(l|0)){B=8;break}if((k|0)>(l|0))Te(f,24,210769,y);k=wM(g,e)|0;i=g+(i>>>0>k>>>0?k:i)|0;k=i;g=r-k|0;if(!g)break b;o=k-q|0;n=l-o|0;g=g>>>0>n>>>0?n:g;if((l|0)>(o|0)){o=g;break}else g=i+g|0}if((B|0)==8){B=0;c[w>>2]=0;k=g;g=vM(h,k,i,w,f)|0;k=k+(i>>>0>h>>>0?h:i)|0;if((g|0)<0)break a;else{o=g;l=k-q+g|0}}g=c[u>>2]|0;i=c[t>>2]|0;if((g|0)<=(i|0)){g=g+1|0;i=xM(c[a>>2]|0,g,68)|0;if(!i){g=-12;break a}c[a>>2]=i;e=c[u>>2]|0;DY(i+(e*68|0)|0,0,(g-e|0)*68|0)|0;e=c[a>>2]|0;m=c[t>>2]|0;c[e+(m*68|0)+56>>2]=1024;n=Jg(1024,4)|0;c[e+(m*68|0)+60>>2]=n;if(!n){g=-12;break a}c[u>>2]=g;i=c[t>>2]|0}n=c[a>>2]|0;m=n+(i*68|0)|0;e=k;g=yM(e,o,s,m,j)|0;if((g|0)<0)break a;if(v?(o|0)!=0&(o|0)!=(g|0):0){c[A>>2]=g;c[A+4>>2]=o;Te(f,48,210837,A)}c[t>>2]=(c[t>>2]|0)+1;k=r-k|0;g=e+(k>>>0>g>>>0?g:k)|0;e=g;k=r-e|0;if(k>>>0>3){if((k|0)<4)g=0;else g=zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;g=(g|0)!=480&1}else g=1;g=zM(m,g)|0;c[n+(i*68|0)+12>>2]=g;g=AM(n+(i*68|0)+24|0,c[n+(i*68|0)+8>>2]|0,g)|0;if((g|0)<0)break a;if(p)g=BM(m,f)|0;else g=CM(m,f)|0;if((g|0)<1){if((g|0)<0){c[x>>2]=c[n+(i*68|0)+44>>2];Te(f,16,210882,x)}}else if((c[n+(i*68|0)+4>>2]|0)>=1){g=e;continue}c[t>>2]=(c[t>>2]|0)+-1;g=e}if((c[t>>2]|0)>0)g=0;else{Te(f,16,210812,z);g=-1094995529}}else g=-12;while(0);Gc=C;return g|0}function Hh(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=Gc;Gc=Gc+32|0;k=m;h=m+4|0;i=a+25656|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*68|0)+44|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=Ph(h,(c[d+(f*68|0)+8>>2]|0)+1|0,(c[d+(f*68|0)+4>>2]|0)+-1|0)|0;if((d|0)<0){Te(c[g>>2]|0,16,210736,k);if(!(c[(c[g>>2]|0)+580>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(pM(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;Gc=m;return a|0}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Gc;Gc=Gc+34832|0;t=v+34824|0;s=v+34816|0;r=v+34808|0;q=v+34800|0;o=v+34784|0;j=v+34776|0;h=v+34768|0;i=v;m=a+25628|0;e=c[m>>2]|0;u=a+25636|0;g=c[u>>2]|0;f=e+(g*34768|0)|0;if(!g)l=(c[a+29560>>2]|0)==0;else l=0;p=l&1;d=e+(g*34768|0)+4|0;w=b+24|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];c[d+16>>2]=c[w+16>>2];d=Sk(a,f,b)|0;a:do if((d|0)>=0){if((c[e+(g*34768|0)+21836>>2]|0)>0){c[e+(g*34768|0)+23408>>2]=0;c[e+(g*34768|0)+23404>>2]=0;d=0;break}d=(c[e+(g*34768|0)+21808>>2]|0)==0;if(!d?(c[a+29560>>2]|0)!=0:0)k=11;else{if(c[a+29588>>2]|0){Te(c[a+4>>2]|0,16,207036,h);d=-1094995529;break}if(d){h=a+29560|0;do if(c[h>>2]|0){if(c[u>>2]|0){d=Kh(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+580>>2]&8|0:0)break a;w=c[m>>2]|0;BY(i|0,w|0,34768)|0;BY(w|0,f|0,34768)|0;BY(f|0,i|0,34768)|0;f=c[m>>2]|0}e=a+24312|0;if(!(c[e>>2]|0)){d=-1094995529;break a}g=a+26384|0;d=(c[g>>2]|0)==0;if((c[a+26380>>2]|0)!=3){if(d){d=-1094995529;break a}d=sh(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27028>>2]|0)!=5){d=-1094995529;break a}Te(a,24,207053,j);d=sh(a,c[m>>2]|0,1)|0;yh((c[e>>2]|0)+4|0,2147483647,0);yh((c[e>>2]|0)+4|0,2147483647,1);c[e>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26384|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;e=c[d>>2]|0;if(e|0?(c[a+25684>>2]|0)==0:0)yh(e+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[d>>2]=0;g=f;d=h}else{g=f;d=h}}else k=11}if((k|0)==11){g=f;d=a+29560|0}f=c[d>>2]|0;e=(f|0)==0;do if(e){if((g|0)!=(c[m>>2]|0)){c[o>>2]=207079;c[o+4>>2]=196236;c[o+8>>2]=2090;Te(0,0,222432,o);Za()}if((c[a+26384>>2]|0)==0?(n=c[(c[a+4>>2]|0)+732>>2]|0,(n|0)>7):0){if(!(c[a+27024>>2]|0)){d=0;break a}if((n|0)>15){if((c[g+840>>2]|0)==3){d=0;break a}if((n|0)>23){if((c[g+840>>2]|0)!=1){d=0;break a}if((n|0)>31)if((c[a+27028>>2]|0)==5)if((n|0)>47){d=0;break a}else break;else if((c[a+29716>>2]|0)<0|(n|0)>47){d=0;break a}else break}}}}while(0);do if(!l){w=c[(c[a+27180+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;o=c[a+28212>>2]|0;d=c[o>>2]|0;if((d|0)==(c[w>>2]|0)?(c[o+64>>2]|0)==(c[w+64>>2]|0):0){if((c[a+28216>>2]|0)==(c[(c[a+27052+(d<<2)>>2]|0)+4>>2]|0))break;Te(c[a+4>>2]|0,16,207126,r);d=-1094995529;break a}Te(c[a+4>>2]|0,16,207098,q);d=-1094995529;break a}while(0);do if(e){d=Tk(a,g,b,p)|0;if((d|0)<0)break a}else{d=c[a+26380>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25684>>2]|0)==((c[b+64>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[t>>2]=f+1;Te(d,16,207228,t);d=-1094995529;break a}w=c[a+4>>2]|0;c[s>>2]=d;c[s+4>>2]=e;Te(w,16,207166,s);d=-1094995529;break a}while(0);d=Uk(a,g,b)|0;if((d|0)>=0){c[u>>2]=(c[u>>2]|0)+1;d=0}}while(0);Gc=v;return d|0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;g=h;f=c[(c[a+28>>2]|0)+20>>2]|0;if(c[a+696>>2]&1|0){e=a+592|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){OW((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;Rk(c[f>>2]|0)}}while(0);b=f+184|0;OW(b)|0;d=f+300|0;if((c[d>>2]|0)==4)Te(a,24,206995,g);c[d>>2]=4;EY(f+60|0)|0;PW(b)|0}Gc=h;return}function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Gc;Gc=Gc+32|0;e=u+16|0;d=u;i=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;b=j+21812|0;c[b>>2]=2147483647;if((r|0)<1|(c[i+592>>2]|0)!=0)b=0;else{k=r+-1|0;q=a+27008|0;h=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(h|0)){c[d>>2]=196167;c[d+4>>2]=196236;c[d+8>>2]=2746;Te(0,0,222432,d);Za()}a:do if((r|0)!=1){if((r|0)<=0){c[e>>2]=196260;c[e+4>>2]=196236;c[e+8>>2]=2758;Te(0,0,222432,e);Za()}p=a+27012|0;b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(h,f)|0;c[j+(b*34768|0)+596>>2]=0;g=H(f,c[j+(b*34768|0)+21792>>2]|0)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(f,c[j+(d*34768|0)+21792>>2]|0)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}Sc[c[i+704>>2]&7](i,8,j,0,r,34768)|0;e=c[s>>2]|0;c[a+27004>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25708|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26376|0;h=a+26380|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;l=c[q>>2]|0;k=(m|0)<(l|0)?m+1|0:l;l=c[((m|0)>=(l|0)?p:o+(f*34768|0)+21788|0)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;fj(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{c[b>>2]=H(c[a+27012>>2]|0,h)|0;c[a+25708>>2]=0;b=ej(i,j)|0;c[a+27004>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}Gc=u;return b|0}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d;ri(1,a,b,f);Gc=e;return}function Mh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Gc;Gc=Gc+32|0;s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+208|0;q=a+224|0;k=a+240|0;i=0;a:while(1){if((Hi(b)|0)<=16){f=i;break}if(!(Ii(b,16)|0)){f=i;break}else h=0;while(1){if((Hi(b)|0)<8){f=-1094995529;break a}h=(Ii(b,8)|0)+h|0;if((Ji(b,8)|0)!=255){g=0;break}}do{if((Hi(b)|0)<8){f=-1094995529;break a}g=(Ii(b,8)|0)+g|0}while((Ji(b,8)|0)==255);f=Hi(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=9;break}j=(Ki(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=Li(a,b,d,e)|0;t=21;break}case 4:{f=Mi(a,b,g)|0;t=21;break}case 5:{f=Ni(l,b,g)|0;t=21;break}case 6:{Oi(m,b);f=i;break}case 0:{f=Pi(n,b,d,e)|0;t=21;break}case 45:{Qi(o,b);f=i;break}case 47:{Ri(p,b);f=i;break}case 56:{Si(q,b);f=i;break}case 147:{Ti(k,b);f=i;break}default:{c[s>>2]=h;Te(e,48,195985,s);f=i}}while(0);if((t|0)==21){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}Ui(b,j-(Ki(b)|0)|0);Vi(b);i=f}if((t|0)==9){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;Te(e,16,195948,r);f=-1094995529}Gc=u;return f|0}function Nh(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=Gc;Gc=Gc+96|0;j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;Te(f,48,195693,n);c[o>>2]=d[b>>0];Te(f,48,195726,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];Te(f,48,195753,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];Te(f,48,195787,l);break}case 3:{c[m>>2]=e[b+4>>1];Te(f,48,195821,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;Te(f,48,195856,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];Te(f,48,195901,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;Te(f,48,195924,j)}break}default:{}}Gc=n;return}function Oh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=Gc;Gc=Gc+240|0;K=P+152|0;G=P+144|0;F=P+120|0;D=P+104|0;B=P+96|0;y=P+88|0;x=P+80|0;u=P+72|0;w=P+64|0;v=P+56|0;t=P+48|0;r=P+40|0;s=P+32|0;q=P+24|0;p=P+16|0;o=P+8|0;j=P;L=P+228|0;M=tg(5300)|0;c[L>>2]=M;N=M;a:do if(!M)g=-12;else{O=M+4|0;J=c[O>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){Te(d,48,194834,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}BY(J+1200|0,h|0,g|0)|0;n=gi(a,8)|0;g=fi(a)|0;h=fi(a)|0;i=fi(a)|0;j=fi(a)|0;k=fi(a)|0;l=fi(a)|0;ti(a);m=gi(a,8)|0;I=di(a)|0;b:do if(I>>>0>31){c[o>>2]=I;Te(d,16,193921,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;DY(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=di(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;Lh(d,194867,p);break b}if((g|0)==3?(z=fi(a)|0,c[J+1192>>2]=z,z|0):0){Te(d,16,194888,q);break b}z=J+1184|0;c[z>>2]=(ci(a)|0)+8;g=ci(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){Lh(d,194929,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;Te(d,16,194965,r);break b}c[J+16>>2]=fi(a)|0;g=ki(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=ci(a)|0;if(g>>>0>12){c[t>>2]=g;Te(d,16,194999,t);break}c[J+20>>2]=g+4;g=di(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=ci(a)|0;if(g>>>0>12){c[v>>2]=g;Te(d,16,195050,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{c[J+32>>2]=fi(a)|0;c[J+36>>2]=hi(a)|0;c[J+40>>2]=hi(a)|0;g=ci(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;Te(d,16,195089,w);break b}else h=0;while(1){if((h|0)>=(g|0))break c;b[J+148+(h<<1)>>1]=hi(a)|0;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;Te(d,16,195119,u);break b}}while(0);g=di(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+20>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;Te(d,16,195140,x);break}c[J+52>>2]=fi(a)|0;q=J+56|0;c[q>>2]=(ci(a)|0)+1;s=J+60|0;c[s>>2]=(ci(a)|0)+1;g=fi(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){Te(d,16,195170,y);break}c[s>>2]=H(h,2-g|0)|0;if(!g)g=fi(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(Vg(g<<4,A<<4,0,d)|0)==0:0){o=J+72|0;c[o>>2]=fi(a)|0;B=fi(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=ci(a)|0;j=ci(a)|0;k=ci(a)|0;l=ci(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+64>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;Te(d,48,195213,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<<g>>>0<m>>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<<g;c[J+84>>2]=j<<g;c[J+88>>2]=H(h,k)|0;c[J+92>>2]=H(h,l)|0;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;Te(d,16,195279,F);break b}while(0);F=fi(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(ui(a,d,J)|0)<0:0)break;g=vi(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=c[i>>2]|0?195320:211063,c[G+4>>2]=0-g,Te(d,f?24:16,195324,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+568>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[72120+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[72120+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+576>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=c[p>>2]|0?195348:195355;else r=195363;m=c[o>>2]|0?195367:330272;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=c[i>>2]|0?195320:330272;i=195371+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;Te(d,48,195391,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(XU(c[h+4>>2]|0,c[O>>2]|0,c[M+8>>2]|0)|0)break;zf(L);g=0;break a}while(0);wi(e,I);c[g>>2]=N;g=0;break a}Te(d,16,195187,B)}while(0);zf(L);g=-1094995529}while(0);Gc=P;return g|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return si(a,b,c>>>0>268435455?-8:c<<3)|0}function Qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Gc;Gc=Gc+128|0;C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=ci(a)|0;a:do if(B>>>0<=255){f=tg(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;Te(b,48,193876,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}BY(z+728|0,g|0,f|0)|0;f=di(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;Te(b,16,193945,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;ei(b,193972,l);f=-1163346256;break b}default:{}}t=z+4|0;c[t>>2]=fi(a)|0;c[z+8>>2]=fi(a)|0;s=ci(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){c[z+16>>2]=ci(a)|0;Te(b,16,194004,n)}r=z+20|0;c[r>>2]=(ci(a)|0)+1;q=ci(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){Te(b,16,194023,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;k=z+28|0;c[k>>2]=fi(a)|0;c[z+32>>2]=gi(a,2)|0;q=q+-22|0;l=z+36|0;c[l>>2]=q+(hi(a)|0);m=z+40|0;c[m>>2]=q+(hi(a)|0);q=hi(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{n=z+52|0;c[n>>2]=fi(a)|0;o=z+56|0;c[o>>2]=fi(a)|0;p=z+60|0;c[p>>2]=fi(a)|0;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;BY(f|0,v+768|0,384)|0;if((ii(a)|0)<(e|0)?(ji(v,b)|0)!=0:0){c[q>>2]=fi(a)|0;f=ki(a,v,z,0,i,f)|0;if((f|0)<0)break;a=hi(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}li(z,0,f,c[w>>2]|0);li(z,1,c[h>>2]|0,c[w>>2]|0);mi(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+576>>2]&1|0){h=c[z>>2]|0;i=c[t>>2]|0?194049:194055;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=c[k>>2]|0?194061:330272;w=c[l>>2]|0;e=c[m>>2]|0;a=c[n>>2]|0?194070:330272;x=c[o>>2]|0?194075:330272;y=c[p>>2]|0?194082:330272;z=c[q>>2]|0?194087:330272;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;Te(b,48,194094,C)}ni(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;Te(b,16,193921,k);f=-1094995529}zf(x)}}else{c[f>>2]=B;Te(b,16,213569,f);f=-1094995529}while(0);Gc=D;return f|0}function Rh(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return} |
| | | function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function RN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function SN(a,b){a=a|0;b=b|0;var d=0,e=0;aO(b)|0;d=(dO(b)|0)==0;c[a>>2]=d&1;if(d){d=a+4|0;c[d>>2]=MN(b,7)|0;e=a+12|0;c[e>>2]=dO(b)|0;c[a+8>>2]=MN(b,6)|0;RN(b,3);c[a+16>>2]=dO(b)|0;RN(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)RN(b,16);RN(b,8);cO(b)}cO(b);return}function TN(a,b){a=a|0;b=b|0;var d=0;d=(dO(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=dO(b)|0;c[a+12>>2]=dO(b)|0;c[a+4>>2]=MN(b,16)|0;cO(b)}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=Gc;Gc=Gc+16|0;h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=MN(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{Te(e,48,214331,g);d=2;i=6;break}case 1:case 9:case 11:{Te(e,48,214345,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;MN(b,2)|0;MN(b,1)|0;cO(b);f=f+-1|0}QN(b,f<<3);f=0}Gc=j;return f|0}function VN(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(MN(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;b[a+4+(e<<2)+2>>1]=MN(d,16)|0;e=e+1|0}b[a+16>>1]=f;b[a+18>>1]=MN(d,16)|0;c[a+20>>2]=_N(d,32)|0;c[a+24>>2]=_N(d,32)|0;c[a>>2]=2;return}function WN(a,d){a=a|0;d=d|0;b[a+4>>1]=_N(d,16)|0;b[a+6>>1]=_N(d,16)|0;c[a>>2]=2;return}function XN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;f=h+8|0;e=h;MN(b,4)|0;MN(b,1)|0;MN(b,1)|0;g=aO(b)|0;a:do if(g>>>0>15){c[e>>2]=g;Te(d,16,214264,e);e=-1094995529}else{e=aO(b)|0;if(e>>>0>15){c[f>>2]=e;Te(d,16,214295,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}aO(b)|0;e=e+1|0}}while(0);Gc=h;return e|0}function YN(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((MN(b,8)|0)==255){RN(b,8);c=c+-8|0}else c=c+-7|0;RN(b,8);RN(b,8);if((_N(b,32)|0)==1195456820){c=$N(a+92|0,b,c)|0;break}else{QN(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function ZN(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=MN(b,8)|0;return}function _N(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=MN(a,b)|0;break}else{b=b+-16|0;c=(MN(a,16)|0)<<b;a=c|(MN(a,b)|0);break}else a=0;while(0);return a|0}function $N(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((MN(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}RN(d,8);e=e+1|0}}RN(d,1);if(((MN(d,1)|0)!=0?(RN(d,1),g=MN(d,5)|0,RN(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=sY(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=mY(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=dj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(MN(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(MN(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(MN(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}RN(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function aO(a){a=a|0;var b=0,c=0,e=0;e=bO(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;QN(a,b);return (_N(a,b+1|0)|0)+-1|0}function bO(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=_N(d,32)|0;Gc=b;return a|0}function cO(a){a=a|0;RN(a,1);return}function dO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function eO(a,b){a=a|0;b=b|0;var d=0;a=Gc;Gc=Gc+16|0;d=a;c[d>>2]=b;Pe(b+1648|0);Pe(b+1652|0);Pe(b+1656|0);Pe(b+1660|0);Pe(b+1664|0);Pe(b+1668|0);Pe(b+1672|0);Pe(b+1680|0);Pe(b+1676|0);Pe(b+1688|0);Pe(d);Gc=a;return}function fO(a){a=a|0;var b=0,c=0,e=0;e=rO(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;sO(a,b);return (tO(a,b+1|0)|0)+-1|0}function gO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function hO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function iO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[184790+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[185814+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[178821+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function jO(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=215015;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=215079;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function kO(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=Gc;Gc=Gc+16|0;t=u;m=0;a:while(1){if((m|0)>=4){i=20;break}q=(m|0)==3?3:1;r=(m|0)>0?64:16;s=(m|0)>1;o=m+-2|0;l=1<<(m<<1)+4;l=(l|0)<64?l:64;p=(m|0)==0;n=0;while(1){if((n|0)>=6)break;b:do if(!(((gO(b)|0)&255)<<24>>24)){h=fO(b)|0;if(h|0){h=H(h,q)|0;if(n>>>0<h>>>0){i=8;break a}h=n-h|0;BY(f+(m*384|0)+(n<<6)|0,f+(m*384|0)+(h<<6)|0,r|0)|0;if(s)a[f+1536+(o*6|0)+n>>0]=a[f+1536+(o*6|0)+h>>0]|0}}else{if(s){i=(iO(b)|0)+8|0;a[f+1536+(o*6|0)+n>>0]=i;h=0}else{h=0;i=8}while(1){if((h|0)>=(l|0))break b;if(p){j=(d[213943+h>>0]|0)<<2;k=213927+h|0}else{j=(d[214023+h>>0]|0)<<3;k=213959+h|0}j=j+(d[k>>0]|0)|0;k=(iO(b)|0)+i|0;a[f+(m*384|0)+(n<<6)+j>>0]=k;h=h+1|0;i=k&255}}while(0);n=n+q|0}m=m+1|0}if((i|0)==8){c[t>>2]=h;Te(e,16,214974,t);h=-1094995529}else if((i|0)==20)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;Gc=u;return h|0}function lO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Gc;Gc=Gc+32|0;n=o+16|0;m=o+8|0;i=o;if(a[f+21>>0]|0)a[f+1629>>0]=(fO(b)|0)+2;a[f+1630>>0]=gO(b)|0;k=(gO(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=12;else{a[f+1632>>0]=fO(b)|0;p=fO(b)|0;h=p&255;k=f+1633|0;a[k>>0]=h;if((p&254)>>>0>5){Te(e,16,214875,i);break}else i=0;while(1){if((i|0)>(h&255|0)){j=12;break a}p=(qO(b)|0)&255;a[f+1634+i>>0]=p;if(p<<24>>24)Te(e,24,214939,m);p=(qO(b)|0)&255;a[f+1640+i>>0]=p;if(p<<24>>24)Te(e,24,214939,n);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==12?(p=f+1646|0,a[p>>0]=fO(b)|0,l=fO(b)|0,a[f+1647>>0]=l,n=c[g+44>>2]|0,(((n|0)>10?n+-10|0:0)|0)>=(d[p>>0]|0)):0){p=c[g+48>>2]|0;Gc=o;return ((((p|0)>10?p+-10|0:0)|0)<(l&255|0)?-1094995529:0)|0}Gc=o;return -1094995529}function mO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;x=b+1656|0;c[x>>2]=Jg((c[w>>2]|0)+1|0,4)|0;y=b+48|0;v=b+1660|0;c[v>>2]=Jg((c[y>>2]|0)+1|0,4)|0;z=d+13384|0;t=Jg(c[z>>2]|0,4)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){c[q>>2]=Jg(c[w>>2]|0,4)|0;f=Jg(c[y>>2]|0,4)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}else g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;c[e+(g<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,g)|0)/(h|0)|0);g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;c[f+(e<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,e)|0)/(h|0)|0);e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0)){f=0;g=0;break}t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=H(c[d+13388>>2]|0,h)|0;s=b+1668|0;c[s>>2]=Jg(m,4)|0;e=b+1672|0;c[e>>2]=Jg(m,4)|0;f=b+1676|0;c[f>>2]=Jg(m,4)|0;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=Jg(H(g,g)|0,4)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0)){e=0;l=0;break}j=c[z>>2]|0;k=(i|0)%(j|0)|0;l=(i|0)/(j|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(k>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(l>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)>=(e|0)){g=0;break}f=(H(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}while(1){if((g|0)>=(h|0))break;f=(H(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}l=H(c[(c[q>>2]|0)+(e<<2)>>2]|0,l-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+k+l-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}b:while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0)){l=m;continue b}g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;c[u+(c[o+((H(c[z>>2]|0,g)|0)+f<<2)>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}}g=Jg(e,4)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)<(c[y>>2]|0))e=0;else break;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;u=H(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;c[g+((H(h,f)|0)+e<<2)>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+u;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;c[g+((H(f,e)|0)<<2)>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>l;h=0;while(1){if((h|0)>(e|0))break;f=(H(c[z>>2]|0,i)|0)+(h>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<<m;g=0;while(1){if((g|0)>=(l|0))break;b=1<<g;f=((b&k|0)==0?0:b<<1<<g)+f+((b&h|0)==0?0:b<<g)|0;g=g+1|0}c[n+((H(e+2|0,k)|0)+h<<2)>>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function nO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(pO(a)|0)|0}function oO(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+128+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+392|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;zf(b);return}function pO(a){a=a|0;return c[a+8>>2]|0}function qO(a){a=a|0;a=fO(a)|0;return ((a&1)+-1^a>>>1)+1|0}function rO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Gc;Gc=Gc+32|0;d=e;if((b|0)<26)a=uO(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=tO(d,b)|0}Gc=e;return a|0}function sO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function tO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=hO(a,b)|0;break}else{b=b+-16|0;c=(hO(a,16)|0)<<b;a=c|(hO(a,b)|0);break}else a=0;while(0);return a|0}function uO(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function vO(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=Gc;Gc=Gc+272|0;W=X+256|0;V=X+248|0;U=X+240|0;T=X+232|0;S=X+224|0;R=X+216|0;Q=X+208|0;P=X+200|0;N=X+192|0;M=X+176|0;L=X+168|0;K=X+160|0;J=X+152|0;F=X+144|0;D=X+136|0;C=X+120|0;B=X+112|0;A=X+104|0;z=X+96|0;y=X+88|0;v=X+80|0;u=X+72|0;s=X+64|0;r=X+56|0;p=X+40|0;o=X+32|0;n=X+24|0;m=X+16|0;l=X+8|0;k=X;j=hO(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[l>>2]=j;Te(i,16,215383,l);h=-1094995529;break}h=(hO(e,3)|0)+1|0;t=d+68|0;c[t>>2]=h;if((h|0)>7){c[m>>2]=h;Te(i,16,215406,m);h=-1094995529;break}a[d+156>>0]=hO(e,1)|0;h=xO(e,i,d+300|0,c[t>>2]|0)|0;if((h|0)>=0){h=fO(e)|0;c[f>>2]=h;if(h>>>0>15){c[n>>2]=h;Te(i,16,214440,n);h=-1094995529;break}h=fO(e)|0;m=d+4|0;c[m>>2]=h;if(h>>>0>3){c[o>>2]=h;Te(i,16,215443,o);h=-1094995529;break}if((h|0)==3){h=(gO(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[m>>2]=0;G=d+13376|0;c[G>>2]=fO(e)|0;h=fO(e)|0;I=d+13380|0;c[I>>2]=h;h=Vg(c[G>>2]|0,h,0,i)|0;if((h|0)>=0){if(gO(e)|0){k=c[m>>2]|0;l=(k|0)<2?2:1;k=(k|0)<3?2:1;h=d+28|0;c[h>>2]=H(k,fO(e)|0)|0;j=d+32|0;c[j>>2]=H(fO(e)|0,k)|0;k=d+36|0;c[k>>2]=H(fO(e)|0,l)|0;l=H(fO(e)|0,l)|0;c[d+40>>2]=l;if(c[i+64>>2]&65536|0){x=c[j>>2]|0;E=c[k>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=x;c[p+8>>2]=E;c[p+12>>2]=l;Te(i,48,215476,p);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}E=d+12|0;c[E>>2]=c[h>>2];c[E+4>>2]=c[h+4>>2];c[E+8>>2]=c[h+8>>2];c[E+12>>2]=c[h+12>>2]}E=d+44|0;c[E>>2]=(fO(e)|0)+8;h=(fO(e)|0)+8|0;if(c[m>>2]|0?(q=c[E>>2]|0,(h|0)!=(q|0)):0){c[r>>2]=q;c[r+4>>2]=h;Te(i,16,215552,r);h=-1094995529;break}c[d+48>>2]=h;h=yO(i,d)|0;if((h|0)>=0){h=fO(e)|0;x=h+4|0;w=d+60|0;c[w>>2]=x;if(x>>>0>16){c[s>>2]=h;Te(i,16,215635,s);h=-1094995529;break}m=(gO(e)|0)!=0;if(m)n=0;else n=(c[t>>2]|0)+-1|0;x=i+580|0;l=n;while(1){if((l|0)>=(c[t>>2]|0))break;f=d+72+(l*12|0)|0;c[f>>2]=(fO(e)|0)+1;j=d+72+(l*12|0)+4|0;c[j>>2]=fO(e)|0;c[d+72+(l*12|0)+8>>2]=(fO(e)|0)+-1;k=c[f>>2]|0;if(k>>>0>16){O=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[v>>2]=h;Te(i,24,215735,v);if(c[x>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}l=l+1|0}if((O|0)==34){c[u>>2]=k+-1;Te(i,16,215684,u);h=-1094995529;break}b:do if(!m){j=d+72+(n*12|0)|0;k=d+72+(n*12|0)+4|0;l=d+72+(n*12|0)+8|0;h=0;while(1){if((h|0)>=(n|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[l>>2];h=h+1|0}}while(0);p=d+13320|0;c[p>>2]=(fO(e)|0)+3;q=d+13324|0;c[q>>2]=fO(e)|0;r=d+13328|0;c[r>>2]=(fO(e)|0)+2;j=fO(e)|0;k=c[r>>2]|0;s=d+13332|0;c[s>>2]=k+j;l=c[p>>2]|0;if((l+-3|0)>>>0>27){c[y>>2]=l;Te(i,16,215778,y);h=-1094995529;break}h=c[q>>2]|0;if(h>>>0>30){c[z>>2]=h;Te(i,16,215816,z);h=-1094995529;break}if(k>>>0>=l>>>0|k>>>0<2){Te(i,16,215873,A);h=-1094995529;break}if(j>>>0>30){c[B>>2]=j;Te(i,16,215908,B);h=-1094995529;break}n=d+13344|0;c[n>>2]=fO(e)|0;o=d+13348|0;c[o>>2]=fO(e)|0;B=(gO(e)|0)&255;a[d+634>>0]=B;do if(B<<24>>24){h=d+635|0;jO(h);if(!(gO(e)|0))break;h=kO(e,i,h,d)|0;if((h|0)<0)break a}while(0);a[d+13196>>0]=gO(e)|0;a[d+13197>>0]=gO(e)|0;B=gO(e)|0;c[d+64>>2]=B;do if(B|0){h=d+13300|0;a[h>>0]=(hO(e,4)|0)+1;j=d+13301|0;a[j>>0]=(hO(e,4)|0)+1;k=(fO(e)|0)+3|0;c[d+13304>>2]=k;c[d+13308>>2]=(fO(e)|0)+k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[E>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[C>>2]=h&255;c[C+4>>2]=j&255;c[C+8>>2]=k;Te(i,16,215968,C);h=-1094995529;break a}else{a[d+13312>>0]=gO(e)|0;break}}while(0);h=fO(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[D>>2]=h;Te(i,16,216030,D);h=-1094995529;break}else j=0;while(1){if(j>>>0>=h>>>0)break;h=zO(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}D=(gO(e)|0)&255;a[d+13198>>0]=D;c:do if(D<<24>>24){j=fO(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>32){c[F>>2]=j;Te(i,16,216060,F);h=-1094995529;break a}else j=0;while(1){if((j|0)>=(h&255|0))break c;b[d+13200+(j<<1)>>1]=hO(e,c[w>>2]|0)|0;a[d+13264+j>>0]=gO(e)|0;j=j+1|0;h=a[k>>0]|0}}while(0);a[d+13316>>0]=gO(e)|0;a[d+13317>>0]=gO(e)|0;c[d+160>>2]=0;c[d+164>>2]=1;if(gO(e)|0)AO(e,i,g,d);do if(gO(e)|0){h=0;j=0;while(1){if((h|0)==1)break;h=h+1|0;j=gO(e)|0}BO(e,7);if(!j)break;c[d+13352>>2]=gO(e)|0;c[d+13356>>2]=gO(e)|0;c[d+13360>>2]=gO(e)|0;c[d+13364>>2]=gO(e)|0;if(gO(e)|0)Te(i,24,216094,J);c[d+13368>>2]=gO(e)|0;if(gO(e)|0)Te(i,24,216150,K);c[d+13372>>2]=gO(e)|0;if(!(gO(e)|0))break;Te(i,24,216207,L)}while(0);if(!g){l=d+12|0;k=d+16|0;h=l;j=k;k=c[k>>2]|0;l=c[l>>2]|0}else{j=d+12|0;l=(c[j>>2]|0)+(c[d+224>>2]|0)|0;c[j>>2]=l;j=d+16|0;k=(c[j>>2]|0)+(c[d+228>>2]|0)|0;c[j>>2]=k;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}m=c[d+20>>2]|0;f=c[d+24>>2]|0;do if(l>>>0<(2147483647-k|0)>>>0&m>>>0<(2147483647-f|0)>>>0){if((k+l|0)>>>0>=(c[G>>2]|0)>>>0){O=87;break}if((f+m|0)>>>0>=(c[I>>2]|0)>>>0)O=87}else O=87;while(0);if((O|0)==87){O=c[j>>2]|0;c[M>>2]=l;c[M+4>>2]=O;c[M+8>>2]=m;c[M+12>>2]=f;Te(i,24,216264,M);if(c[x>>2]&8|0){h=-1094995529;break}Te(i,24,216303,N);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;O=d+28|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0}k=c[p>>2]|0;l=(c[q>>2]|0)+k|0;h=d+13336|0;c[h>>2]=l;j=k+-1|0;c[d+13340>>2]=j;if(l>>>0>6){c[P>>2]=l;Te(i,16,216340,P);h=-1094995529;break}if(l>>>0<4){c[Q>>2]=l;Te(i,16,216369,Q);c[R>>2]=c[h>>2];Lh(i,216432,R);h=-1094995529;break}Q=c[G>>2]|0;O=1<<l;P=O+-1+Q>>l;c[d+13384>>2]=P;R=c[I>>2]|0;O=R+-1+O>>l;c[d+13388>>2]=O;c[d+13392>>2]=H(O,P)|0;c[d+13396>>2]=Q>>k;c[d+13400>>2]=R>>k;P=c[r>>2]|0;c[d+13404>>2]=Q>>P;c[d+13408>>2]=R>>P;c[d+13412>>2]=Q>>j;c[d+13416>>2]=R>>j;j=l-P|0;c[d+13420>>2]=(1<<j)+-1;c[d+13448>>2]=((c[E>>2]|0)*6|0)+-48;if((1<<k)+-1&(Q|R)|0){Te(i,16,216449,S);h=-1094995529;break}h=c[n>>2]|0;if(h>>>0>j>>>0){c[T>>2]=h;Te(i,16,216482,T);h=-1094995529;break}h=c[o>>2]|0;if(h>>>0>j>>>0){c[U>>2]=h;Te(i,16,216536,U);h=-1094995529;break}h=c[s>>2]|0;if(h>>>0>(l>>>0<5?l:5)>>>0){c[V>>2]=h;Te(i,16,216590,V);h=-1094995529;break}h=nO(e)|0;if((h|0)>=0){h=0;break}c[W>>2]=0-h;Te(i,16,216633,W);h=-1094995529}}}}else{c[k>>2]=j;Te(i,16,215358,k);h=-1094995529}while(0);Gc=X;return h|0}function wO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=Gc;Gc=Gc+16|0;g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+388|0;if((c[f>>2]|0)==(c[d+4>>2]|0)){c[f>>2]=0;d=0}else d=0;while(1){if((d|0)==64)break;i=c[a+128+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)oO(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=215273;c[g+4>>2]=215337;c[g+8>>2]=92;Te(0,0,222432,g);Za()}}zf(e);Gc=h;return}function xO(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=Gc;Gc=Gc+32|0;k=m+16|0;j=m+8|0;g=m;a:do if((FO(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(nO(b)|0)>=((h&1)<<4|8|0)):0){a[e+35>>0]=hO(b,8)|0;f=0;while(1){if((f|0)>=(i|0))break;a[e+320+f>>0]=gO(b)|0;a[e+327+f>>0]=gO(b)|0;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8){f=0;break b}BO(b,2);f=f+1|0}}else f=0;while(0);while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(FO(b,d,e+40+(f*40|0)|0)|0)<0:0){l=13;break}if(a[e+327+f>>0]|0){if((nO(b)|0)<8){l=16;break}a[e+40+(f*40|0)+35>>0]=hO(b,8)|0}f=f+1|0}if((l|0)==13){c[j>>2]=f;Te(d,16,217358,j);f=-1;break}else if((l|0)==16){c[k>>2]=f;Te(d,16,217401,k);f=-1;break}}else l=3;while(0);if((l|0)==3){Te(d,16,217331,g);f=-1}Gc=m;return f|0}function yO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;f=i;h=b+44|0;e=c[h>>2]|0;a:do switch(e|0){case 8:{switch(c[b+4>>2]|0){case 0:{a=8;break}case 1:{a=0;break}case 2:{c[b+56>>2]=4;g=23;break a}case 3:{c[b+56>>2]=5;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 9:{switch(c[b+4>>2]|0){case 0:{a=30;break}case 1:{a=62;break}case 2:{c[b+56>>2]=72;g=23;break a}case 3:{c[b+56>>2]=68;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 10:{switch(c[b+4>>2]|0){case 0:{a=171;break}case 1:{a=64;break}case 2:{c[b+56>>2]=66;g=23;break a}case 3:{c[b+56>>2]=70;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 12:{switch(c[b+4>>2]|0){case 0:{a=169;break}case 1:{a=125;break}case 2:{c[b+56>>2]=129;g=23;break a}case 3:{c[b+56>>2]=133;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;Te(a,16,217221,f);a=-1094995529}}while(0);if((g|0)==23){a=ng(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;g=d[a+5>>0]|0;c[b+13428>>2]=g;c[b+13432>>2]=g;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[h>>2]|0)>8&1;a=0}}Gc=i;return a|0}function zO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+48|0;n=q+40|0;m=q+32|0;k=q+24|0;o=q+16|0;l=q+8|0;j=q;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((gO(b)|0)&255)<<24>>24!=0:0){do if(g){h=(fO(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0<h>>>0){c[j>>2]=h;c[j+4>>2]=g;Te(d,16,217031,j);g=-1094995529;break a}else{m=g-h|0;c[e+8>>2]=c[f+2188+(m*172|0)+4>>2];break}}else m=((e-h|0)/172|0)+-1|0;while(0);g=gO(b)|0;n=fO(b)|0;h=n+1|0;if(n>>>0>32767){c[l>>2]=h;Te(d,16,217089,l);g=-1094995529;break}k=H(1-(g<<1&510)|0,h)|0;l=f+2188+(m*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[l>>2]|0))break;n=gO(b)|0;a[e+140+g>>0]=n;if(!((n&255|0)==0?((gO(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[l>>2]|0))i=(c[f+2188+(m*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[o>>2]=g;Te(d,16,217125,o);g=-1094995529;break}n=e+4|0;c[n>>2]=g;c[e>>2]=h;if(g){m=1;while(1){if((m|0)>=(g|0))break;i=c[e+12+(m<<2)>>2]|0;j=a[e+140+m>>0]|0;h=m;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;l=c[k>>2]|0;if((i|0)>=(l|0)){h=g;continue}c[e+12+(h<<2)>>2]=l;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j;h=g}m=m+1|0;g=c[n>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;o=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=o;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else p=32;while(0);b:do if((p|0)==32){c[e>>2]=fO(b)|0;j=fO(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){Te(d,16,217153,k);g=-1094995529;break}o=g+j|0;c[e+4>>2]=o;if(!o)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0){h=0;i=0;break}o=fO(b)|0;g=o+1|0;if(o>>>0>32767){p=37;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;a[e+140+i>>0]=gO(b)|0;h=g;i=i+1|0;g=c[e>>2]|0}if((p|0)==37){c[m>>2]=g;Te(d,16,217189,m);g=-1094995529;break}while(1){if(i>>>0>=j>>>0){g=0;break b}p=fO(b)|0;g=p+1|0;if(p>>>0>32767)break;p=g+h|0;c[e+12+((c[e>>2]|0)+i<<2)>>2]=p;o=(gO(b)|0)&255;a[(c[e>>2]|0)+i+(e+140)>>0]=o;h=p;i=i+1|0}c[n>>2]=g;Te(d,16,217189,n);g=-1094995529}}while(0);Gc=q;return g|0}function AO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=Gc;Gc=Gc+240|0;F=G+64|0;E=G+56|0;D=G+48|0;C=G+40|0;p=G+24|0;k=G+16|0;i=G+8|0;z=G+88|0;A=G+68|0;B=g+160|0;Te(e,48,216658,G);do if(gO(b)|0){h=(hO(b,8)|0)&255;if(h>>>0<17){w=75084+(h<<3)|0;x=c[w+4>>2]|0;y=B;c[y>>2]=c[w>>2];c[y+4>>2]=x;break}if((h|0)==255){c[B>>2]=hO(b,16)|0;c[g+164>>2]=hO(b,16)|0;break}else{c[i>>2]=h;Te(e,24,216672,i);break}}while(0);y=gO(b)|0;c[g+168>>2]=y;if(y|0)c[g+172>>2]=gO(b)|0;y=gO(b)|0;c[g+176>>2]=y;a:do if(y|0){c[g+180>>2]=hO(b,3)|0;y=g+184|0;c[y>>2]=gO(b)|0;h=gO(b)|0;c[g+188>>2]=h;if(c[y>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){h=g+192|0;a[h>>0]=hO(b,8)|0;i=g+193|0;a[i>>0]=hO(b,8)|0;j=g+194|0;a[j>>0]=hO(b,8)|0;if(!(xi(d[h>>0]|0)|0))a[h>>0]=2;if(!(yi(d[i>>0]|0)|0))a[i>>0]=2;if(!(zi(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){i=g+56|0;switch(c[i>>2]|0){case 5:{h=73;break}case 70:{h=77;break}case 133:{h=137;break}default:break a}c[i>>2]=h}}}while(0);y=gO(b)|0;c[g+196>>2]=y;if(y|0){c[g+200>>2]=fO(b)|0;c[g+204>>2]=fO(b)|0}c[g+208>>2]=gO(b)|0;c[g+212>>2]=gO(b)|0;c[g+216>>2]=gO(b)|0;c[A>>2]=c[b>>2];c[A+4>>2]=c[b+4>>2];c[A+8>>2]=c[b+8>>2];c[A+12>>2]=c[b+12>>2];c[A+16>>2]=c[b+16>>2];BY(z|0,B|0,140)|0;if((nO(b)|0)>67?(rO(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;Te(e,24,216696,k);h=c[h>>2]|0}else{h=gO(b)|0;c[g+220>>2]=h}if((h|0?(n=c[g+4>>2]|0,o=(n|0)<2?2:1,n=(n|0)<3?2:1,l=g+224|0,c[l>>2]=H(n,fO(b)|0)|0,m=g+228|0,c[m>>2]=H(fO(b)|0,n)|0,n=g+232|0,c[n>>2]=H(fO(b)|0,o)|0,o=H(fO(b)|0,o)|0,c[g+236>>2]=o,f|0):0)?c[e+64>>2]&65536|0:0){x=c[m>>2]|0;y=c[n>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=x;c[p+8>>2]=y;c[p+12>>2]=o;Te(e,48,216728,p);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}l=g+240|0;m=g+264|0;n=g+268|0;o=g+272|0;f=g+276|0;p=g+280|0;q=g+284|0;r=g+288|0;s=g+292|0;t=g+296|0;u=g+244|0;v=g+248|0;w=g+252|0;x=g+260|0;y=g+68|0;i=g+256|0;h=0;b:while(1){g=gO(b)|0;c[l>>2]=g;if(g|0){j=(h|0)!=0;if(!(j|(nO(b)|0)>65)){Te(e,24,216808,C);BY(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue}c[u>>2]=tO(b,32)|0;k=tO(b,32)|0;c[v>>2]=k;if(j){g=c[u>>2]|0;c[D>>2]=k;c[D+4>>2]=g;Te(e,32,216853,D)}g=gO(b)|0;c[w>>2]=g;if(g|0)c[i>>2]=fO(b)|0;g=gO(b)|0;c[x>>2]=g;if(g|0)CO(b,1,c[y>>2]|0)}g=gO(b)|0;c[m>>2]=g;do if(g|0)if((h|0)!=0|(nO(b)|0)>7){c[n>>2]=gO(b)|0;c[o>>2]=gO(b)|0;c[f>>2]=gO(b)|0;c[p>>2]=fO(b)|0;c[q>>2]=fO(b)|0;c[r>>2]=fO(b)|0;c[s>>2]=fO(b)|0;c[t>>2]=fO(b)|0;break}else{Te(e,24,216874,E);BY(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue b}while(0);if((h|0)!=0|(nO(b)|0)>0)break;Te(e,24,216958,F);BY(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1}Gc=G;return}function BO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function CO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Gc;Gc=Gc+16|0;i=k;if(b){b=gO(a)|0;f=gO(a)|0;if(!(f|b))e=0;else{e=gO(a)|0;if(!e){BO(a,4);BO(a,4)}else{BO(a,8);BO(a,5);BO(a,1);BO(a,5);BO(a,4);BO(a,4);BO(a,4)}BO(a,5);BO(a,5);BO(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((gO(a)|0)==0?(gO(a)|0)==0:0)if(!(gO(a)|0))j=13;else b=1;else{fO(a)|0;j=13}if((j|0)==13){j=0;l=fO(a)|0;b=l+1|0;if(l>>>0>31){j=14;break}}if(!h)DO(a,b,e);if(!g)DO(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;Te(0,16,217012,i)}Gc=k;return}function DO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;fO(a)|0;fO(a)|0;if(!d){fO(a)|0;fO(a)|0}EO(a);c=c+1|0}return}function EO(a){a=a|0;BO(a,1);return}function FO(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=Gc;Gc=Gc+48|0;h=j+32|0;g=j+24|0;if((nO(b)|0)<88)d=-1;else{a[e>>0]=hO(b,2)|0;a[e+1>>0]=gO(b)|0;f=hO(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{Te(d,48,217444,j);d=0;break}case 2:{Te(d,48,217468,j+8|0);d=0;break}case 3:{Te(d,48,217495,j+16|0);d=0;break}default:if((f|0)==4){Te(d,48,217533,g);d=0;break a}else{c[h>>2]=f;Te(d,24,217568,h);d=0;break a}}while(0);while(1){f=gO(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)<1|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;a[e+37>>0]=gO(b)|0;a[e+38>>0]=gO(b)|0;a[e+39>>0]=gO(b)|0;BO(b,16);BO(b,16);BO(b,12);d=0}Gc=j;return d|0}function GO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+384|0;if((c[e>>2]|0)==(c[d+4>>2]|0)){c[e>>2]=0;d=0}else d=0;while(1){if((d|0)==16)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)wO(a,d);d=d+1|0}}while(0);zf(f);return}function HO(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=Gc;Gc=Gc+32|0;l=n;m=n+8|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;a=Gh(m,a,b,j,f,g,173,1)|0;a:do if((a|0)>=0){k=m+16|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[m>>2]|0;f=c[b+(g*68|0)+44>>2]|0;switch(f|0){case 32:{a=xN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=yN(b+(g*68|0)+24|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=zN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=AN(b+(g*68|0)+24|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[l>>2]=f;Te(j,40,218077,l)}}g=g+1|0}}while(0);mh(m);Gc=n;return ((h&8|0)==0?0:a)|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;a=JO(a,d)|0;if((a|0)>=0){Gf(b,c[d>>2]|0);uf(d);a=0}Gc=e;return a|0}function JO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=KO()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function KO(){var a=0;a=Lf(72)|0;if(a|0)xf(a);return a|0}function LO(){var a=0,b=0;b=Gc;Gc=Gc+16|0;a=b;do if((MO(a,218112)|0)!=4)if((MO(a,218125)|0)==4){a=c[a>>2]|0;break}else{a=NO()|0;break}else a=c[a>>2]|0;while(0);Gc=b;return a|0}function MO(a,b){a=a|0;b=b|0;var c=0;c=Gc;Gc=Gc+16|0;b=UO(b,0,c)|0;if((b|0)==-1)b=-1;else{a=gW(b,a,4)|0;xV(b)|0;b=a}Gc=c;return b|0}function NO(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Gc;Gc=Gc+160|0;a=l+120|0;h=l;i=l+132|0;k=250576;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[14730]|0)>>>0>=121){c[a>>2]=218137;c[a+4>>2]=218164;c[a+8>>2]=77;Te(0,0,222432,a);Za()}e=(j|0)==0&(k|0)==0;a=0;b=0;d=0;a:while(1){f=bb()|0;g=f-a|0;do if(((b<<1|1)+a|0)<(f|0)){a=250576;a=mY(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=250576;c[m>>2]=a;c[m+4>>2]=b;m=251340+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249){a=nY(a|0,b|0,j|0,k|0)|0;b=M()|0;if(e)if(b>>>0>0|(b|0)==0&a>>>0>64)break a;else break;else if(b>>>0>0|(b|0)==0&a>>>0>4)break a;else break}}else{m=251340+((c[62644]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}while(0);a=f;b=g;d=(d|0)==0?f:d}OO(h,160)|0;PO(h,251340,2048);QO(h,i);m=zY(c[i>>2]|0)|0;m=(zY(c[i+16>>2]|0)|0)+m|0;Gc=l;return m|0}function OO(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=209;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=210;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=210;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function PO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;k=i;f=c[k>>2]|0;k=mY(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){Vc[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function QO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=Gc;Gc=Gc+16|0;f=h;g=b+8|0;k=g;k=xY(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=RO(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;PO(b,218188,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;PO(b,330272,1)}PO(b,f,8);f=0;while(1){if((f|0)>=(d[b>>0]|0|0))break;j=zY(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}Gc=h;return}function RO(a,b){a=a|0;b=b|0;a=zY(a|0)|0;b=zY(b|0)|0;L(a|0);return b|0}function SO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=Gc;Gc=Gc+256|0;w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=zY(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[75248+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=x+k;c[y>>2]=z+j;c[A>>2]=B+i;c[C>>2]=D+h;c[o>>2]=p+g;c[q>>2]=r+f;c[s>>2]=t+m;c[u>>2]=v+l;Gc=E;return}function TO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=Gc;Gc=Gc+320|0;n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=zY(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40)if(k>>>0<20){e=((g^h)&i^g)+1518500249|0;break}else{e=(h^i^g)+1859775393|0;break}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(h^i^g)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+g;c[l>>2]=m+f;Gc=v;return}function UO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=Gc;Gc=Gc+48|0;h=i+16|0;g=i+8|0;f=i;e=i+24|0;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=zV(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(yV(e,2,g)|0)==-1):0)Te(0,48,218190,h);Gc=i;return e|0}function VO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=$e((SV(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(zW(f,218219)|0)|0;k=e;f=e;a:while(1){b:while(1){h=a[g>>0]|0;if(!(h<<24>>24))break a;if(zW(g,d)|0)break a;i=g+1|0;switch(h<<24>>24){case 39:break b;case 92:{j=a[i>>0]|0;if(j<<24>>24){l=8;break b}break}default:{}}a[f>>0]=h;g=i;f=f+1|0}if((l|0)==8){l=0;i=f+1|0;a[f>>0]=j;g=g+2|0;k=i;f=i;continue}while(1){g=a[i>>0]|0;j=g<<24>>24==0;h=i+1|0;if(!(j^g<<24>>24!=39))break;a[f>>0]=g;i=h;f=f+1|0}g=j?i:h;k=j?k:f}do{a[f>>0]=0;f=f+-1|0;if(f>>>0<k>>>0)break}while((zW(f,218219)|0)!=0);c[b>>2]=g}return e|0}function WO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=XO(a[e>>0]|0)|0;b=XO(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function XO(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function YO(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=XO(a[e>>0]|0)|0;e=e+1|0;b=XO(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function ZO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=SV(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=TV(c,44)|0;if(!d)d=c+(SV(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!(YO(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(YU(218224,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function _O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}else h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;else g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=TV(h,i)|0;h=k+((k|0)!=0&1)|0}k=TV(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function $O(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function aP(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function bP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?aP(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=_e(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;bP(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;BY(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Bf(a,h);d=0}}}else{d=_e(0,b)|0;c[h>>2]=d;do if(d){d=kg(d,b,24,0,0)|0;if(!d){Pe(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);Gc=i;return d|0}function cP(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(SV(b)|0)|0;g=0;c=0;while(1){if(b>>>0<h>>>0)d=b;else{b=g;break}a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=dP(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function dP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+16|0;j=k;f=0;while(1){if(f>>>0>=28){e=0;i=7;break}e=c[37792+(f<<4)>>2]|0;if((SV(e)|0)==(d|0)?(XU(e,b,d)|0)==0:0){i=5;break}f=f+1|0}do if((i|0)==5){e=37792+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}else if((i|0)==7){while(1){i=0;if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[75504+(e<<3)>>2]|0,(SV(g)|0)==(d|0)):0)?(XU(g,b,d)|0)==0:0){i=11;break}e=e+1|0;i=7}if((i|0)==11){e=xY(1,0,e|0)|0;f=M()|0;break}c[(CU()|0)>>2]=0;e=NU(b,j,10)|0;if(((c[(CU()|0)>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=eP(e)|0;f=M()|0;break}c[(CU()|0)>>2]=0;g=LU(b,j,0)|0;e=M()|0;if(!(c[(CU()|0)>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}while(0);L(f|0);Gc=k;return e|0}function eP(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[37792+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=37792+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function fP(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=Gc;Gc=Gc+48|0;k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=Ug(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[37792+(f<<4)+4>>2]|0)?(g=37792+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[37792+(f<<4)>>2];cf(a,218886,h)}else if((g|0)==9?(c[i>>2]=b,cf(a,218889,i),!((d|0)==0&(e|0)==0)):0){cf(a,218901,j);b=0;g=0;while(1){if((g|0)==64)break;j=xY(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=gP(g)|0;if(f|0){if((b|0)>0)cf(a,218904,l);c[m>>2]=f;cf(a,218886,m)}b=b+1|0}g=g+1|0}cf(a,218906,k)}Gc=n;return}function gP(a){a=a|0;if(a>>>0>35)a=0;else a=c[75504+(a<<3)>>2]|0;return a|0}function hP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Gc;Gc=Gc+1024|0;g=f;$O(g,a,b);fP(g,c,d,e);Gc=f;return}function iP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=Gc;Gc=Gc+1072|0;J=K+792|0;H=K+784|0;F=K+528|0;j=K+1060|0;k=K+1056|0;D=K+520|0;E=K+512|0;B=K;C=K+800|0;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1064;if(!((lW(f,218908,F)|0)==2?(i=c[j>>2]|0,i=jP(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){v=e+12|0;w=e+44|0;x=e+16|0;y=e+32|0;z=e+24|0;A=e+16|0;i=0;while(1){s=E;c[s>>2]=1;c[s+4>>2]=0;if(!(c[v>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;p=q?F:j;k=kP(d,p,c[w>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==10:0){s=k+16|0;g[D>>3]=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0);s=30}else s=15;do if((s|0)==15){s=0;o=c[w>>2]|0;b:do if(!o){k=0;s=24}else{k=0;f=0;while(1){while(1){f=Cf(d,f)|0;if(!f){s=24;break b}if((c[f+12>>2]|0)!=10)continue;n=c[f+44>>2]|0;if(!n)continue;if(!(WU(n,o)|0))break}if((k+6|0)>>>0>63)break;c[C+(k<<2)>>2]=c[f>>2];n=f+16|0;g[B+(k<<3)>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);k=k+1|0}c[H>>2]=o;Te(b,16,218922,H);i=-1163346256}while(0);if((s|0)==24){s=0;c[C+(k<<2)>>2]=230232;switch(c[v>>2]|0){case 1:case 0:case 10:case 9:case 2:{o=A;m=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0);break}default:m=+g[x>>3]}n=k+1|0;g[B+(k<<3)>>3]=m;c[C+(n<<2)>>2]=219222;o=k+2|0;g[B+(n<<3)>>3]=+g[y>>3];c[C+(o<<2)>>2]=219226;n=k+3|0;g[B+(o<<3)>>3]=+g[z>>3];c[C+(n<<2)>>2]=230210;o=k+4|0;g[B+(n<<3)>>3]=0.0;c[C+(o<<2)>>2]=230426;k=k+5|0;g[B+(o<<3)>>3]=-1.0;c[C+(k<<2)>>2]=0;g[B+(k<<3)>>3]=0.0;k=lP(D,p,C,B,0,0,0,0,0,0,b)|0;if((k|0)>=0){s=30;break}c[J>>2]=j;Te(b,16,218959,J);i=k}f=1}while(0);if((s|0)==30){c:do if(!(c[v>>2]|0)){mP(e,h,0,0,E)|0;switch(l|0){case 43:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[s+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}case 45:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[s+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}default:break c}}while(0);k=jP(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){s=(a[j>>0]|0)==0;f=s&1;i=s?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}Gc=K;return i|0}function jP(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,t=0,u=0;u=Gc;Gc=Gc+64|0;k=u+40|0;q=u+8|0;p=u;l=c[b+12>>2]|0;a:do if(!l){m=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);if(!(m<-1.5|m>4294967295.5)?(q=dW(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}d=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=d;Te(a,16,219477,k);k=-34}else{if(!h){n=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;m=+g[b+32>>3]}else{m=+g[b+32>>3];n=+(h|0);o=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(m*n<o)?!(+g[b+24>>3]*n>o):0)switch(l|0){case 1:case 18:{t=14;break a}case 12:{k=sY(dW(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 13:{k=sY(dW(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 6:case 14:{m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break a}else{JP(p,m/+(h|0),16777216);i=p;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break a}}case 2:case 17:case 15:{m=e/+(h|0);if((i|0)==1&(j|0)==0&m==9223372036854775808.0){k=-1;l=2147483647}else{k=dW(m)|0;k=sY(k|0,M()|0,i|0,j|0)|0;l=M()|0}c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 9:{m=e/+(h|0);do if(!((i|0)==1&(j|0)==0&m==18446744073709551616.0))if(m>9223372036854775808.0){k=dW(m+-9223372036854775808.0)|0;k=sY(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;l=M()|0;break}else{k=dW(m)|0;k=sY(k|0,M()|0,i|0,j|0)|0;l=M()|0;break}else{k=-1;l=-1}while(0);c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 4:{f[d>>2]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}case 3:{g[d>>3]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}default:{k=-22;break a}}n=o/n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=n;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=m;Te(a,16,219425,q);k=-34}while(0);if((t|0)==14){k=dW(e/+(h|0))|0;k=sY(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}Gc=u;return k|0}function kP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return GP(a,b,c,d,e,0)|0}function lP(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=Gc;Gc=Gc+16|0;n=o;c[n>>2]=0;b=nP(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;g[a>>3]=+oP(b,e,k);pP(b);b=qP(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}Gc=o;return b|0}function mP(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;switch(c[a+12>>2]|0){case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break}case 12:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 13:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 1:case 18:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 9:case 2:case 15:case 17:{d=b;e=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=e;a=0;break}case 4:{g[d>>3]=+f[b>>2];a=0;break}case 3:{g[d>>3]=+g[b>>3];a=0;break}case 6:{d=c[b>>2]|0;a=h;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break}case 10:{g[d>>3]=+g[a+16>>3];a=0;break}default:a=-22}return a|0}function nP(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+64|0;q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=$e((SV(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((sP(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=75792;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=tP(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;Te(p,16,218998,q);l=-22;break}m=c[r>>2]|0;if(uP(m)|0){q=Lf(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);pP(c[r>>2]|0);Qe(o)}Gc=s;return l|0}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=Gc;Gc=Gc+64|0;e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+rP(e,a);Gc=g;return +i}function pP(a){a=a|0;var b=0,d=0;d=Gc;Gc=Gc+16|0;b=d;c[b>>2]=a;if(a|0){pP(c[a+20>>2]|0);pP(c[a+24>>2]|0);pP(c[a+28>>2]|0);Pe(a+32|0);Pe(b)}Gc=d;return}function qP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function rP(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;q=Gc;Gc=Gc+16|0;i=q;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=+rP(a,c[b+20>>2]|0);p=o*+Jc[m&15](p);Gc=q;return +p}case 3:{o=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;p=+rP(a,c[b+20>>2]|0);p=o*+Kc[l&0](m,p);Gc=q;return +p}case 4:{n=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;o=+rP(a,c[b+20>>2]|0);p=+rP(a,c[b+24>>2]|0);p=n*+Lc[l&0](m,o,p);Gc=q;return +p}case 5:{p=1.0/(+E(+(+rP(a,c[b+20>>2]|0)*4.0))+1.0);Gc=q;return +p}case 6:{p=+rP(a,c[b+20>>2]|0);p=+E(+(p*p*-.5))/2.5066282746310002;Gc=q;return +p}case 7:{p=+g[b+8>>3];m=c[a+48>>2]|0;a=~~+rP(a,c[b+20>>2]|0);Gc=q;return +(p*+g[m+(((a|0)>0?((a|0)<9?a:9):0)<<3)>>3])}case 8:{p=+g[b+8>>3];a=qP(+rP(a,c[b+20>>2]|0))|0;b=(M()|0)&2147483647;Gc=q;return +(p*+((b>>>0>2146435072|(b|0)==2146435072&a>>>0>0)&1))}case 9:{p=+g[b+8>>3]*+((qP(+rP(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);Gc=q;return +p}case 27:{p=+g[b+8>>3]*+t(+(+rP(a,c[b+20>>2]|0)));Gc=q;return +p}case 28:{p=+g[b+8>>3]*+G(+(+rP(a,c[b+20>>2]|0)));Gc=q;return +p}case 29:{p=+g[b+8>>3]*+tb(+(+rP(a,c[b+20>>2]|0)));Gc=q;return +p}case 30:{p=+g[b+8>>3]*+AY(+(+rP(a,c[b+20>>2]|0)));Gc=q;return +p}case 31:{p=+g[b+8>>3]*+v(+(+rP(a,c[b+20>>2]|0)));Gc=q;return +p}case 32:{p=+g[b+8>>3]*+(+rP(a,c[b+20>>2]|0)==0.0&1);Gc=q;return +p}case 36:{h=+g[b+8>>3];if(!(+rP(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else m=22}else{f=c[b+24>>2]|0;m=22}if((m|0)==22)e=+rP(a,f);e=h*e;break}case 37:{h=+g[b+8>>3];if(+rP(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else m=27}else{f=c[b+24>>2]|0;m=27}if((m|0)==27)e=+rP(a,f);e=h*e;break}case 42:{f=b+20|0;e=+rP(a,c[f>>2]|0);h=+rP(a,c[b+24>>2]|0);j=+rP(a,c[b+28>>2]|0);m=qP(h)|0;l=(M()|0)&2147483647;if((!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)?(m=qP(j)|0,l=(M()|0)&2147483647,!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)):0)?(m=qP(e)|0,l=(M()|0)&2147483647,!(h>j|(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0))):0){o=+g[b+8>>3];p=+rP(a,c[f>>2]|0);Gc=q;return +(o*(p<h?h:p>j?j:p))}else e=r;break}case 41:{e=+rP(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+rP(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+rP(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{p=+rP(a,c[b+20>>2]|0);p=p+(+rP(a,c[b+24>>2]|0)-p)*+rP(a,c[b+28>>2]|0);Gc=q;return +p}case 38:{e=+rP(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+rP(a,f);g[i>>3]=e;Te(a,f,218994,i);break}case 33:{m=~~+rP(a,c[b+20>>2]|0);a=(c[a+48>>2]|0)+(((m|0)>0?((m|0)<9?m:9):0)<<3)|0;p=+g[a>>3];m=qP(p)|0;l=(M()|0)&2147483647;p=+((mY(sY(~~p>>>0|0,(+u(p)>=1.0?(p>0.0?~~+I(+t(p/4294967296.0),4294967295.0)>>>0:~~+G((p-+(~~p>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);p=l>>>0>2146435072|(l|0)==2146435072&m>>>0>0?1013904223.0:p;g[a>>3]=p;Gc=q;return +(+g[b+8>>3]*(p*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+rP(a,c[i>>2]|0)!=0.0))break a;e=+rP(a,c[f>>2]|0)}}case 25:{k=+rP(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+rP(a,f);m=(m|0)>0?((m|0)<9?m:9):0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if((f|0)>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);p=+rP(a,c[i>>2]|0);j=e+h*p;if(p!=0.0&e==j){e=j;break}b=f+1|0;h=h*(k/+(b|0));e=j;f=b}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{l=a+48|0;p=+g[c[l>>2]>>3];o=+rP(a,c[b+24>>2]|0);i=b+20|0;k=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;f=-1;while(1){if((f|0)>=1024)break;if((f|0)<255)g[c[l>>2]>>3]=o*+(d[179077+(f&255)>>0]|0)/255.0;else{n=o*+w(.9,+(+(f+-255|0)));g[c[l>>2]>>3]=(f&2|0?e:h)+((f&1|0)==0?n:-n)}n=+rP(a,c[i>>2]|0);if(n<=0.0&n>j){j=n;e=+g[c[l>>2]>>3]}if(n>=0.0&n<k){k=n;h=+g[c[l>>2]>>3]}if(e>=0.0&h>=0.0){f=0;m=60;break}else f=f+1|0}b:do if((m|0)==60)while(1){if((f|0)>=1e3)break b;o=(e+h)*.5;g[c[l>>2]>>3]=o;if(e==o|h==o)break b;n=+rP(a,c[i>>2]|0);if(n<=0.0)e=+g[c[l>>2]>>3];if(n>=0.0)h=+g[c[l>>2]>>3];b=qP(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else{f=f+1|0;m=60}}while(0);g[c[l>>2]>>3]=p;e=k>-j?e:h;break}default:{e=+rP(a,c[b+20>>2]|0);h=+rP(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((LL(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e<h?e:h)*+g[b+8>>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e<h?1.0:0.0)*+g[b+8>>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{p=+g[b+8>>3];b=~~e;g[(c[a+48>>2]|0)+(((b|0)>0?((b|0)<9?b:9):0)<<3)>>3]=h;e=h*p;break a}case 34:{e=+g[b+8>>3]*+OU(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=qP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=qP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=qP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=qP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);Gc=q;return +e}function sP(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function 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;l=Gc;Gc=Gc+16|0;j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=vP(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=vP(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=wP(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;pP(h);break}else if((f|0)==8){c[j>>2]=0;pP(h);pP(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);Gc=l;return e|0}function uP(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(uP(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(uP(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(uP(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(uP(c[a+20>>2]|0)|0)){a=0;break a}if(!(uP(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(uP(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(uP(c[a+20>>2]|0)|0)){a=0;break a}if(!(uP(c[a+24>>2]|0)|0)){a=0;break a}a=(uP(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(uP(c[a+20>>2]|0)|0)){a=0;break a}if(!(uP(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function vP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+16|0;j=k+4|0;i=k;e=xP(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=xP(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=wP(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;pP(h);break}else if((f|0)==7){c[j>>2]=0;pP(h);pP(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);Gc=k;return e|0}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Lf(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function 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;l=Gc;Gc=Gc+16|0;k=l+4|0;j=l;e=yP(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=yP(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=wP(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;pP(i);break}else if((f|0)==7){c[k>>2]=0;pP(i);pP(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);Gc=l;return e|0}function yP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Gc;Gc=Gc+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=zP(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=10;break}c[i>>2]=e+1;e=zP(m,d,j)|0;if((e|0)<0){f=5;break}f=wP(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(!e){h=f;continue}h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0);h=f}if((f|0)==5){pP(h);break}else if((f|0)==7){pP(h);pP(c[m>>2]|0);e=-12;break}else if((f|0)==10){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);Gc=n;return e|0}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;j=Gc;Gc=Gc+16|0;f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+BW(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=AP(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=BP(b,d,e)|0;Gc=j;return b|0}function AP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Gc;Gc=Gc+48|0;s=v+24|0;p=v+16|0;o=v+8|0;n=v;u=v+32|0;q=v+28|0;m=Lf(40)|0;c[u>>2]=m;r=d+8|0;t=c[r>>2]|0;c[q>>2]=t;a:do if(!m)e=-12;else{j=m+8|0;g[j>>3]=+CP(t,q);l=c[q>>2]|0;i=m;if((l|0)!=(c[r>>2]|0)){c[m>>2]=0;c[r>>2]=l;c[b>>2]=i;e=0;break}g[j>>3]=1.0;f=c[d+16>>2]|0;b:do if(!f)e=0;else{e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=0;break b}if(DP(l,h)|0)break;e=e+1|0}c[r>>2]=l+(SV(h)|0);c[m>>2]=1;c[m+16>>2]=e;c[b>>2]=i;e=0;break a}while(0);while(1){if(e>>>0>=4)break;f=c[38240+(e<<4)>>2]|0;if(DP(l,f)|0){k=11;break}e=e+1|0}if((k|0)==11){c[r>>2]=l+(SV(f)|0);c[m>>2]=0;g[j>>3]=+g[38240+(e<<4)+8>>3];c[b>>2]=i;e=0;break}e=TV(l,40)|0;c[r>>2]=e;if(!e){c[n>>2]=t;Te(d,16,219048,n);c[r>>2]=c[q>>2];pP(c[u>>2]|0);e=-22;break}c[r>>2]=e+1;if((a[l>>0]|0)==40){Pe(u);e=tP(u,d)|0;if((e|0)<0)break;e=c[r>>2]|0;if((a[e>>0]|0)==41){c[r>>2]=e+1;c[b>>2]=c[u>>2];e=0;break}else{c[o>>2]=t;Te(d,16,219091,o);pP(c[u>>2]|0);e=-22;break}}e=tP(m+20|0,d)|0;if((e|0)<0){pP(c[u>>2]|0);break}f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;tP((c[u>>2]|0)+24|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;tP((c[u>>2]|0)+28|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[p>>2]=t;Te(d,16,219112,p);pP(c[u>>2]|0);e=-22;break}c[r>>2]=f+1;k=c[u>>2]|0;c[k>>2]=2;i=c[q>>2]|0;j=k;do if(!(DP(i,219150)|0)){if(DP(i,219155)|0){c[k+16>>2]=2;break}if(DP(i,219160)|0){c[k+16>>2]=3;break}if(DP(i,219165)|0){c[k+16>>2]=4;break}if(DP(i,219169)|0){c[k+16>>2]=5;break}if(DP(i,219173)|0){c[k+16>>2]=6;break}if(DP(i,219177)|0){c[k+16>>2]=7;break}if(DP(i,219182)|0){c[k+16>>2]=8;break}if(DP(i,219187)|0){c[k+16>>2]=9;break}if(DP(i,219192)|0){c[k+16>>2]=10;break}if(DP(i,231662)|0){c[k+16>>2]=11;break}if(DP(i,219196)|0){c[k+16>>2]=12;break}if(DP(i,219200)|0){c[k+16>>2]=13;break}if(DP(i,219205)|0){c[k>>2]=5;break}if(DP(i,219212)|0){c[k>>2]=6;break}if(DP(i,219218)|0){c[k>>2]=10;break}if(DP(i,219222)|0){c[k>>2]=11;break}if(DP(i,219226)|0){c[k>>2]=12;break}if(DP(i,219230)|0){c[k>>2]=13;break}if(DP(i,219233)|0){c[k>>2]=15;break}if(DP(i,219237)|0){c[k>>2]=14;break}if(DP(i,219240)|0){c[k>>2]=16;break}if(DP(i,219244)|0){c[k>>2]=17;break}if(DP(i,219247)|0){c[k>>2]=7;break}if(DP(i,219250)|0){c[k>>2]=8;break}if(DP(i,219256)|0){c[k>>2]=9;break}if(DP(i,219262)|0){c[k>>2]=23;break}if(DP(i,219265)|0){c[k>>2]=24;break}if(DP(i,219271)|0){c[k>>2]=25;break}if(DP(i,219278)|0){c[k>>2]=26;break}if(DP(i,219283)|0){c[k>>2]=27;break}if(DP(i,219289)|0){c[k>>2]=28;break}if(DP(i,225368)|0){c[k>>2]=29;break}if(DP(i,219294)|0){c[k>>2]=30;break}if(DP(i,219300)|0){c[k>>2]=31;break}if(DP(i,219305)|0){c[k>>2]=32;break}if(DP(i,219309)|0){c[k>>2]=18;break}if(DP(i,219313)|0){c[k>>2]=38;break}if(DP(i,219776)|0){c[k>>2]=33;break}if(DP(i,219319)|0){c[k>>2]=34;break}if(DP(i,219325)|0){c[k>>2]=35;break}if(DP(i,219329)|0){c[k>>2]=36;break}if(DP(i,219332)|0){c[k>>2]=37;break}if(DP(i,219338)|0){c[k>>2]=39;break}if(DP(i,219345)|0){c[k>>2]=40;break}if(DP(i,219351)|0){c[k>>2]=41;break}if(DP(i,219359)|0){c[k>>2]=42;break}if(DP(i,219364)|0){c[k>>2]=43;break}if(DP(i,219370)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(DP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(DP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[s>>2]=t;Te(d,16,219375,s);pP(c[u>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);Gc=v;return e|0}function BP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return AP(b,d)|0}function CP(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+16|0;k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32|0)==120:0)f=+((MU(b,k,16)|0)>>>0);else f=+BW(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+cW(f/20.0*3.321928094887362);b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[38304+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[38304+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[38304+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;Gc=l;return +f}function DP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function EP(a){a=+a;var b=0;b=FP()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function FP(){var a=0,b=0,d=0,e=0;b=Gc;Gc=Gc+16|0;a=b;nb(a|0,0)|0;e=c[a>>2]|0;e=sY(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;a=c[a+4>>2]|0;a=mY(e|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;L(M()|0);Gc=b;return a|0}function GP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+16|0;i=k;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=IP(a,i)|0;if(!i)break b;h=GP(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=HP(j,h)|0;c[i>>2]=h;if(!h){i=7;break}h=GP(i,b,d,e,f,0)|0;if(h|0){i=10;break}h=c[i>>2]|0}if((i|0)==7)break;else if((i|0)==10)break a}while(0);j=(d|0)==0;h=0;while(1){h=Cf(a,h)|0;if(!h){h=0;break a}if(WU(c[h>>2]|0,b)|0)continue;if((c[h+40>>2]&e|0)!=(e|0))continue;i=(c[h+12>>2]|0)==10;if(j)if(i)continue;else break;if(!i)continue;i=c[h+44>>2]|0;if(!i)continue;if(!(WU(i,d)|0))break}if(g)c[g>>2]=(f&2|0)==0?a:0}else h=0;while(0);Gc=k;return h|0}function HP(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=Mc[a&31](b)|0;return a|0}function IP(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=Oc[d&15](a,b)|0;return a|0}function JP(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=Gc;Gc=Gc+16|0;j=l;e=l+8|0;i=KP(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+vV(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=xY(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;Jm(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)Jm(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);Gc=l;return}function KP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function LP(){var a=0,b=0,d=0;d=Gc;Gc=Gc+16|0;b=d;a=Eb(84)|0;if(!(c[63347]|0)){c[b>>2]=a;Te(0,48,219548,b);c[63347]=1}Gc=d;return a|0}function MP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Gc;Gc=Gc+16|0;m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0<h>>>0&((f+e|0)>>>0<g>>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=ng(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}NP(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else b=d[219575+((H(h&0-h,125613361)|0)>>>27)>>0]|0;f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else e=d[219575+((H(e&0-e,125613361)|0)>>>27)>>0]|0;f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=h&-1<<b+5-f;NP(m,a,i);e=0}else e=0}else e=0;while(1){f=a+(e<<2)|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);Gc=q;return e|0}function NP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=10;break}i=d[n>>0]|0;g=0;while(1){if((g|0)>=(i|0))break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;c[a+(f<<2)>>2]=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j;f=f+1|0}if((q|0)==10)c[a+4>>2]=0;return}function OP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=sY(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=sY(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=zm(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Gc;Gc=Gc+16|0;g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=OP(a,b,h,g,5)|0;L(M()|0);Gc=f;return e|0}function QP(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Lf(H(b,a)|0)|0;else a=0;return a|0}function RP(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=Gc;Gc=Gc+48|0;g=l+16|0;k=l+8|0;i=l;j=l+32|0;h=l+24|0;f=GP(a,b,0,0,e,j)|0;e=c[j>>2]|0;a:do if((f|0)!=0&(e|0)!=0){b=(d|0)!=0;if(!b)switch(c[f+12>>2]|0){case 18:case 17:case 16:case 15:case 14:case 11:case 13:case 12:case 5:break;default:{b=-22;break a}}if(!(c[f+40>>2]&128)){j=e+(c[f+8>>2]|0)|0;do switch(c[f+12>>2]|0){case 18:{b=SP(a,f,d,j)|0;break a}case 5:{b=TP(d,j)|0;break a}case 7:{b=UP(d,j)|0;break a}case 6:case 3:case 4:case 9:case 2:case 1:case 0:{b=iP(a,e,f,d,j)|0;break a}case 11:{b=VP(a,d,j)|0;break a}case 14:{b=WP(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=jP(a,f,j,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}case 12:{b=XP(a,f,d,j)|0;break a}case 13:{b=YP(a,f,d,j)|0;break a}case 15:{if(!b){b=j;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=ZP(j,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;Te(a,16,219607,i);break a}case 16:{b=_P(a,d,j)|0;break a}case 17:{if(b?WU(d,230210)|0:0){e=cP(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[k>>2]=d;Te(a,16,219654,k);b=-22}else b=0;a=j;c[a>>2]=e;c[a+4>>2]=f;break a}d=j;c[d>>2]=0;c[d+4>>2]=0;break}default:{}}while(0);Te(a,16,219707,g);b=-22}else b=-22}else b=-1414549496;while(0);Gc=l;return b|0}function SP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=Gc;Gc=Gc+16|0;k=m;j=m+4|0;do if(!d)f=0;else{if(WU(d,226647)|0)if(!(ZO(d,222023)|0))if(!(ZO(d,222052)|0)){c[j>>2]=0;h=NU(d,j,10)|0;n=d+(SV(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]<i):0){c[e>>2]=f;f=0;break}c[k>>2]=d;Te(a,16,222084,k);f=-22}while(0);Gc=m;return f|0}function TP(a,b){a=a|0;b=b|0;Pe(b);a=bh(a)|0;c[b>>2]=a;return (a|0?0:-12)|0}function UP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;Pe(d);c[j>>2]=0;do if((b|0)!=0?(e=SV(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=$e(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=9;break}e=oQ(e)|0;f=oQ(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){Qe(i);e=-22;break}else if((b|0)==9){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;if((b|0)!=0?(WU(b,230210)|0)!=0:0){d=nQ(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;Te(a,16,221718,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}Gc=f;return d|0}function WP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;e=g;if(b){d=lQ(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;Te(a,16,221620,e)}Gc=g;return d|0}function XP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return iQ(a,b,c,d,183,20,221581)|0}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return iQ(a,b,c,d,12,21,221464)|0}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,l=0,m=0,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+144|0;m=q+132|0;n=q+88|0;o=q+44|0;p=q;f=n;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j=b;c[j>>2]=0;c[j+4>>2]=-2147483648;j=(e|0)!=0;a:do if(j){g=(a[d>>0]|0)==45;d=g?d+1|0:d;g=g&1;f=bQ(d,221313,n)|0;if(!f){f=bQ(d,221322,n)|0;e=n+8|0;c[e>>2]=0;if(!f){c[n>>2]=NU(d,p,10)|0;f=c[p>>2]|0;if((f|0)==(d|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=g;d=0;k=18;break}}else{l=g;h=0;k=19}}else{l=g;h=0;k=19}}else{e=FP()|0;f=M()|0;l=qY(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(WO(d,221309)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}else f=0;while(1){if(f>>>0>=2){e=0;break}e=bQ(d,c[76956+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}h=(e|0)==0;g=h?d:e;h=h&1;e=a[g>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{d=g+1|0;break}default:{d=g;while(1){f=d+1|0;if(!(cQ(e<<24>>24)|0))break b;d=f;e=a[f>>0]|0}}}while(0);e=0;f=g;while(1){if(e>>>0>=2){e=0;d=h;k=18;break a}f=bQ(d,c[76964+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=19;break}}}while(0);if((k|0)==18)if(!f)e=-22;else{l=e;h=d;k=19}c:do if((k|0)==19){e=a[f>>0]|0;if(e<<24>>24==46){g=1e5;d=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(dQ(e)|0))break;i=(H(e+-48|0,g)|0)+d|0;g=(g>>>0)/10|0;d=i}while(1){e=a[f>>0]|0;if(!(dQ(e<<24>>24)|0)){i=f;g=e;break}else f=f+1|0}}else{d=0;i=f;g=e}d:do if(j){j=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=((j|0)<0)<<31>>31;switch(g<<24>>24){case 109:{if((a[i+1>>0]|0)==115){i=i+2|0;d=(d|0)/1e3|0;g=1e3;h=0;f=j;break d}else k=28;break}case 117:{f=i+1|0;if((a[f>>0]|0)==115){i=i+2|0;d=0;g=1;h=0;f=j;break d}break}default:k=28}if((k|0)==28)f=i+1|0;i=g<<24>>24==115?f:i;g=1e6;h=0;f=j}else{j=(g|32)<<24>>24==122;e=j&1;i=i+e|0;h=(h|0)!=0;e:do if(h|j){f=0;g=0}else{switch(a[i>>0]|0){case 45:case 43:break;default:{f=0;g=0;break e}}f=p;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=(a[i>>0]|0)==43;f=i+1|0;i=f;e=0;while(1){if(e>>>0>=3){k=37;break}i=bQ(f,c[76972+(e<<2)>>2]|0,p)|0;if(!i){i=0;e=e+1|0}else break}if((k|0)==37)if(!i){e=-22;break c}g=H(g?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;e=1;f=g;g=((g|0)<0)<<31>>31}while(0);if(h){if(!e){o=(ub(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(ob(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(e|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=eQ(n)|0;else e=wb(n|0)|0;f=mY(f|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;g=1e6;h=0;e=M()|0}while(0);p=(a[i>>0]|0)==0;e=sY(g|0,h|0,f|0,e|0)|0;e=mY(e|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;f=M()|0;if(p){o=(l|0)!=0;n=nY(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?n:e;c[b+4>>2]=o?p:f;e=0}else e=-22}while(0);Gc=q;return e|0}function _P(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;if(b){d=$P(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;Te(a,16,219729,e)}}else d=0;Gc=f;return d|0}function $P(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+160|0;r=s+16|0;n=s+8|0;m=s;q=s+28|0;o=s+32|0;l=s+24|0;if((a[d>>0]|0)==35)i=1;else{i=(YU(d,219773,2)|0)==0;i=i?2:0}if((e|0)<0)e=SV(d)|0;e=e-i+1|0;dh(o,d+i|0,e>>>0<128?e:128)|0;e=TV(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=SV(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((WO(o,219776)|0)!=0?(WO(o,219783)|0)!=0:0){if((i|0)==0?(zW(o,219792)|0)!=(h|0):0){e=DW(o,75836,140,8,11)|0;if(!e){c[n>>2]=o;Te(f,16,219856,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=MU(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;Te(f,16,219815,m);e=-22}else p=9;while(0);if((p|0)==9){o=LO()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(YU(k,219773,2)|0))g=+((MU(k,q,16)|0)>>>0);else{g=+BW(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;Te(f,16,219880,r);e=-22}while(0);Gc=s;return e|0}function aQ(a,b){a=a|0;b=b|0;return WO(a,c[b>>2]|0)|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,k=0,l=0,m=0,n=0,o=0;o=Gc;Gc=Gc+16|0;m=o;c[m>>2]=b;h=e+8|0;i=e+4|0;j=e+20|0;k=e+16|0;l=e+12|0;a:while(1){g=d+1|0;f=a[d>>0]|0;switch(f<<24>>24){case 0:{n=27;break a}case 37:break;default:{d=(cQ(f<<24>>24)|0)==0;b=c[m>>2]|0;if(d){if((a[b>>0]|0)!=f<<24>>24){b=0;break a}c[m>>2]=b+1;d=g;continue a}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(cQ(d<<24>>24)|0))break;b=b+1|0}c[m>>2]=b;d=g;continue a}}d=d+2|0;b=a[g>>0]|0;switch(b<<24>>24|0){case 74:case 72:{b=fQ(m,0,b<<24>>24==72?23:2147483647,2)|0;if((b|0)==-1){b=0;break a}c[h>>2]=b;continue a}case 77:{b=fQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[i>>2]=b;continue a}case 83:{b=fQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[e>>2]=b;continue a}case 89:{b=fQ(m,0,9999,4)|0;if((b|0)==-1){b=0;break a}c[j>>2]=b+-1900;continue a}case 109:{b=fQ(m,1,12,2)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b+-1;continue a}case 100:{b=fQ(m,1,31,2)|0;if((b|0)==-1){b=0;break a}c[l>>2]=b;continue a}case 84:{g=bQ(c[m>>2]|0,221342,e)|0;c[m>>2]=g;if(!g){b=0;break a}else continue a}case 104:case 66:case 98:{b=gQ(m)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b;continue a}case 37:{g=c[m>>2]|0;c[m>>2]=g+1;if((a[g>>0]|0)==37)continue a;else{b=0;break a}}default:{b=0;break a}}}if((n|0)==27)b=c[m>>2]|0;Gc=o;return b|0}function cQ(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function dQ(a){a=a|0;return (a+-48|0)>>>0<10|0}function eQ(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function fQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(dQ(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function gQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if((b|0)>=12){b=-1;break}d=c[76984+(b<<2)>>2]|0;if(!(YO(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=SV(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?(YO(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function hQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=12){b=-1;break}if(!(WU(71820+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function iQ(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=Gc;Gc=Gc+32|0;o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(WU(e,230210)|0)!=0:0){k=Mc[i&31](e)|0;if((k|0)==-1){k=NU(e,l,0)|0;if(k>>>0<h>>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;Te(b,16,221478,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;Te(b,16,221519,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);Gc=p;return i|0}function jQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=Gc;Gc=Gc+48|0;e=f;d=f+8|0;if(!(WU(a,221594)|0))b=187768;else{b=(WU(a,221600)|0)==0;b=b?187758:a}a=kQ(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=221611;$V(d,32,221606,e)|0;a=kQ(d)|0;if((a|0)==-1){e=(WU(b,221614)|0)==0;Gc=f;return (e?46:-1)|0}}Gc=f;return a|0}function kQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=183){b=-1;break}if(!(WU(c[9736+(b*152|0)>>2]|0,a)|0))break;if(ZO(a,c[9736+(b*152|0)+144>>2]|0)|0)break;b=b+1|0}return b|0}function lQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=8){e=6;break}if(!(WU(c[77032+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=77032+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=mQ(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function mQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+32|0;j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((lW(b,221669,j)|0)!=2){b=lP(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{JP(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;Jm(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);Gc=k;return b|0}function nQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;h=j;g=0;while(1){if((g|0)>=53){i=6;break}if(!(WU(c[77128+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[77128+(g*12|0)+8>>2]|0;e=c[77128+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=NU(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=NU(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}Gc=j;return e|0}function oQ(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function pQ(a){a=a|0;return (a>>>0>11?0:71820+(a*20|0)|0)|0}function qQ(a){a=a|0;rQ(a,0,0);return}function rQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+16|0;k=l;j=l+8|0;i=j+4|0;e=0;a:while(1){e=Cf(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;f=c[e+40>>2]|0;if(!((f&b|0)==(d|0)&(f&128|0)==0))continue;f=c[e+12>>2]|0;switch(f|0){case 8:case 10:continue a;case 13:case 12:case 17:case 15:case 9:case 2:case 1:case 0:case 18:{f=e+16|0;jP(a,e,h,1.0,1,c[f>>2]|0,c[f+4>>2]|0)|0;continue a}case 4:case 3:{jP(a,e,h,+g[e+16>>3],1,1,0)|0;continue a}case 6:{JP(j,+g[e+16>>3],2147483647);f=c[j>>2]|0;jP(a,e,h,1.0,c[i>>2]|0,f,((f|0)<0)<<31>>31)|0;continue a}case 16:{_P(a,c[e+16>>2]|0,h)|0;continue a}case 5:{TP(c[e+16>>2]|0,h)|0;continue a}case 11:{VP(a,c[e+16>>2]|0,h)|0;continue a}case 14:{WP(a,c[e+16>>2]|0,h)|0;continue a}case 7:{UP(c[e+16>>2]|0,h)|0;continue a}default:{h=c[e>>2]|0;c[k>>2]=f;c[k+4>>2]=h;Te(a,48,222130,k);continue a}}}Gc=l;return}function sQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=$g(c[b>>2]|0,330272,f,2)|0;if(!f){d=7;break}h=f+4|0;e=RP(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=ah(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=6;break}}if((d|0)==6){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;Te(a,16,222181,i);Df(g);break}else if((d|0)==7){Df(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);Gc=j;return e|0}function tQ(a,b){a=a|0;b=b|0;return sQ(a,b,0)|0}function uQ(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[71820+(a*20|0)+16>>2]|0}else a=-1;return a|0}function vQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Gc;Gc=Gc+16|0;g=m;if((f|0)<=-1){c[g>>2]=222219;c[g+4>>2]=222235;c[g+8>>2]=102;Te(0,0,222432,g);Za()}if(!f){f=LP()|0;f=(f|0)>1?f+1|0:1}k=(e|0)==0;j=f+(k<<31>>31)|0;l=Lf(120)|0;c[a>>2]=l;a:do if(!l)f=-12;else{if(j|0?(i=QP(j,88)|0,c[l>>2]=i,(i|0)==0):0){Pe(a);f=-12;break}c[l+108>>2]=b;c[l+112>>2]=d;c[l+116>>2]=e;b=l+4|0;c[b>>2]=f;g=l+8|0;c[l+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;NW(l+24|0,0)|0;yb(l+52|0,0)|0;c[l+100>>2]=0;g=0;while(1){if((g|0)>=(j|0))break a;n=c[l>>2]|0;i=n+(g*88|0)|0;c[i>>2]=l;d=n+(g*88|0)+4|0;NW(d,0)|0;e=n+(g*88|0)+32|0;yb(e|0,0)|0;OW(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=Bb(n+(g*88|0)+80|0,0,22,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;Ab(e|0,d|0)|0}PW(d)|0;g=g+1|0}c[b>>2]=g+(k&1);PW(d)|0;xb(e|0)|0;QW(d)|0;xQ(a);f=0-i|0}while(0);Gc=m;return f|0}function wQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;OW(h)|0;i=a+32|0;zb(i|0)|0;j=g+104|0;a=a+84|0;b=g+24|0;d=g+100|0;e=g+52|0;while(1){c[a>>2]=1;f=1;while(1){if(!f)break;Ab(i|0,h|0)|0;f=c[a>>2]|0}if(c[j>>2]|0)break;if(!(yQ(g)|0))continue;OW(b)|0;c[d>>2]=1;zb(e|0)|0;PW(b)|0}PW(h)|0;return 0}function xQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(e=c[a>>2]|0,e|0):0){d=(c[e+4>>2]|0)+(((c[e+116>>2]|0)==0)<<31>>31)|0;c[e+104>>2]=1;b=0;while(1){if((b|0)>=(d|0)){b=0;break}g=c[e>>2]|0;f=g+(b*88|0)+4|0;OW(f)|0;c[g+(b*88|0)+84>>2]=0;zb(g+(b*88|0)+32|0)|0;PW(f)|0;b=b+1|0}while(1){if((b|0)>=(d|0))break;g=c[e>>2]|0;Cb(c[g+(b*88|0)+80>>2]|0,0)|0;xb(g+(b*88|0)+32|0)|0;QW(g+(b*88|0)+4|0)|0;b=b+1|0}xb(e+52|0)|0;QW(e+24|0)|0;Pe(e);Pe(a)}return}function yQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{Yc[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0<d>>>0);return (a|0)==(d+-1+e|0)|0}function zQ(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=Gc;Gc=Gc+16|0;e=h;if((b|0)<=0){c[e>>2]=222259;c[e+4>>2]=222235;c[e+8>>2]=168;Te(0,0,222432,e);Za()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;OW(i)|0;c[j+(e*88|0)+84>>2]=0;zb(j+(e*88|0)+32|0)|0;PW(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(yQ(a)|0))g=9}else{Uc[b&63](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;OW(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;Ab(b|0,e|0)|0}c[d>>2]=0;PW(e)|0}Gc=h;return}function AQ(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77764+(d<<2)>>2]|0;UW(253392,4)|0;if(!d)c[a>>2]=1;return b|0}function BQ(){var a=0,b=0;a=0;while(1){b=c[77764+(a<<2)>>2]|0;if(a|0)break;a=c[b+76>>2]|0;if(!a){a=1;continue}Uc[a&63](b);a=1}return}function CQ(){var a=0,b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;b=e;c[b>>2]=0;a=0;while(1){d=AQ(b)|0;if(!d)break;if(!a){a=d;continue}c[a+60>>2]=d;a=d}Gc=e;return}function DQ(a){a=a|0;UW(253396,5)|0;if(!a)a=71648;else a=c[a+60>>2]|0;return a|0}function EQ(a){a=a|0;return GQ(a,23)|0}function FQ(a){a=a|0;if(a)if((c[a+84>>2]|0)==0?(c[a+88>>2]|0)==0:0)a=(c[a+100>>2]|0)!=0&1;else a=1;else a=0;return a|0}function GQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g;c[f>>2]=0;d=HQ(a)|0;a=0;a:while(1){while(1){e=AQ(f)|0;if(!e)break a;if(!(Mc[b&31](e)|0))continue;if((c[e+12>>2]|0)==(d|0))break}if(a|0?1:(c[e+16>>2]&512|0)==0){a=e;break}else a=e}Gc=g;return a|0}function HQ(a){a=a|0;return a|0}function IQ(a){a=a|0;return GQ(a,24)|0}function JQ(a){a=a|0;if(a)if(!(c[a+92>>2]|0))a=(c[a+108>>2]|0)!=0&1;else a=1;else a=0;return a|0}function KQ(a){a=a|0;var b=0;b=$e(896)|0;if(b){if((VQ(b,a)|0)<0){Qe(b);b=0}}else b=0;return b|0}function LQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(MQ(a)|0){f=a+28|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)NQ(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+96>>2]|0,d|0):0)Mc[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;Pe(b+44|0);Dg((c[f>>2]|0)+12|0);Dg((c[f>>2]|0)+100|0);Dg((c[f>>2]|0)+76|0);uf((c[f>>2]|0)+68|0);uf((c[f>>2]|0)+40|0);uf((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;Wf(e+(b<<2)|0);b=b+1|0}Pe((c[f>>2]|0)+16|0);b=c[a+592>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)Mc[g&31](a)|0;Pe((c[f>>2]|0)+60|0);OQ(a);Pe(f)}d=a+856|0;e=a+852|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Pe((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}Pe(e);c[d>>2]=0;zf(a+860|0);zf(a+880|0);d=a+24|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)tf(e);tf(a);Pe(d);if(FQ(c[b>>2]|0)|0){Pe(a+68|0);Dg(a+684|0)}c[b>>2]=0;c[a+696>>2]=0}return 0}function MQ(a){a=a|0;return (c[a+28>>2]|0)!=0|0}function NQ(a){a=a|0;if(!(c[a+696>>2]&1))QQ(a);else PQ(a,c[a+688>>2]|0);return}function OQ(a){a=a|0;var b=0,d=0;d=c[a+28>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;sf((c[d>>2]|0)+(a<<2)|0);a=a+1|0}Pe(d);c[b>>2]=0;return}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,k=0,l=0,m=0,n=0,o=0,p=0;p=Gc;Gc=Gc+16|0;h=p;k=a+28|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;RQ(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?(SQ(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){Te(a,16,222271,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+28>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+28>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+96|0;e=0;while(1){if((e|0)>=(b|0)){d=0;break}g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;OW(d)|0;c[g+(e*352|0)+332>>2]=1;zb(g+(e*352|0)+12|0)|0;PW(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Cb(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)Mc[d&31](i)|0;TQ(h);Dg(g+(e*352|0)+288|0);e=e+1|0}while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;QW(e+(d*352|0)+156|0)|0;QW(e+(d*352|0)+184|0)|0;xb(e+(d*352|0)+12|0)|0;xb(e+(d*352|0)+60|0)|0;xb(e+(d*352|0)+108|0)|0;xf(e+(d*352|0)+216|0);Pe(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){Pe(f+24|0);Pe((c[e>>2]|0)+184|0);m=17}}else m=17;if((m|0)==17?(m=0,j=c[e>>2]|0,j|0):0){Pe(j+28|0);zf((c[e>>2]|0)+860|0)}Pe(e);d=d+1|0}Pe(l);QW(l+8|0)|0;QW(l+36|0)|0;QW(l+64|0)|0;xb(l+92|0)|0;Pe((c[k>>2]|0)+20|0);d=c[a+24>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)tf(d);c[n>>2]=0;Gc=p;return}function QQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[(c[b>>2]|0)+20>>2]|0;xQ(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;QW((c[f>>2]|0)+(a*28|0)|0)|0;xb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}Pe(d+28|0);Pe(f);Pe(g);Pe((c[b>>2]|0)+20|0);return}function RQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;UQ(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;OW(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Ab(h|0,g|0)|0}PW(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}Rk(a);return}function SQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?c[(c[b+780>>2]|0)+16>>2]&1|0:0){k=12;break}e=b+76|0;f=c[e+4>>2]|0;g=a+76|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+760|0;f=c[g+4>>2]|0;e=a+760|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+92>>2]=c[b+92>>2];c[a+96>>2]=c[b+96>>2];c[a+112>>2]=c[b+112>>2];c[a+768>>2]=c[b+768>>2];c[a+100>>2]=c[b+100>>2];c[a+104>>2]=c[b+104>>2];c[a+140>>2]=c[b+140>>2];c[a+668>>2]=c[b+668>>2];c[a+672>>2]=c[b+672>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+188|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+716>>2]=c[b+716>>2];c[a+720>>2]=c[b+720>>2];c[a+676>>2]=c[b+676>>2];c[a+84>>2]=c[b+84>>2];c[a+316>>2]=c[b+316>>2];c[a+320>>2]=c[b+320>>2];c[a+324>>2]=c[b+324>>2];c[a+328>>2]=c[b+328>>2];c[a+332>>2]=c[b+332>>2];c[a+592>>2]=c[b+592>>2];c[a+596>>2]=c[b+596>>2];c[a+348>>2]=c[b+348>>2];c[a+344>>2]=c[b+344>>2];c[a+352>>2]=c[b+352>>2];g=b+376|0;f=c[g+4>>2]|0;e=a+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+28>>2]|0)+60>>2]=c[(c[b+28>>2]|0)+60>>2];e=a+860|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+860|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(zf(e),j=c[h>>2]|0,j|0):0)?(j=Bg(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+884>>2]=c[b+884>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+88>>2]=(c[b+688>>2]|0)+-1;c[a+684>>2]=c[b+684>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+68>>2]|0;if(!e)e=0;else e=Oc[e&15](a,b)|0}return e|0}function TQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Gc;Gc=Gc+16|0;f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}OW(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*408|0)|0;c[j+(i*408|0)+64>>2]=h;_f(h);PW(d)|0}if((a|0)==4){c[f>>2]=222299;c[f+4>>2]=222388;c[f+8>>2]=371;Te(0,0,222432,f);Za()}else if((a|0)==6){Gc=g;return}}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;b=a+64|0;OW(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=222415;c[e+4>>2]=222388;c[e+8>>2]=155;Te(0,0,222432,e);Za()}else{c[d>>2]=0;EY(a+92|0)|0;PW(b)|0;Gc=f;return}}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;DY(a|0,0,896)|0;c[a>>2]=77772;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+16>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;rQ(a,d,d);c[a+76>>2]=0;c[a+80>>2]=1;c[a+760>>2]=0;c[a+764>>2]=1;c[a+772>>2]=0;c[a+776>>2]=1;c[a+400>>2]=10;c[a+120>>2]=10;c[a+704>>2]=4;c[a+708>>2]=41;c[a+188>>2]=0;c[a+192>>2]=1;c[a+112>>2]=-1;c[a+768>>2]=-1;c[a+352>>2]=-1;f=a+584|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+56>>2]|0;if(e|0){f=a+24|0;d=c[f>>2]|0;if(!d){d=Lf(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;qQ(c[f>>2]|0)}}d=c[b+72>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((RP(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=222462;c[h+4>>2]=222471;c[h+8>>2]=142;Te(0,0,222432,h);Za()}else g=0}else g=0;while(0);Gc=i;return g|0}function WQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=Oc[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function XQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=Qc[b&3](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function YQ(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=233583;return b|0}function ZQ(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+24>>2]|0,(d|0)!=0):0))d=0;return d|0}function _Q(a){a=a|0;var b=0;a:do if(!a)a=0;else{b=0;while(1){b=DQ(b)|0;if(!b){a=0;break a}if((c[b+44>>2]|0)==(a|0)){a=b;break}}}while(0);do{a=DQ(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function $Q(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+92>>2]|0)!=0:0)a=6;else a=5;return a|0}function aR(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483582){e=bP(b,d+64|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function bR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;Qe(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=24){a=_e(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function cR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g;if(d>>>0<=2147483583?(e=Lf(d+64|0)|0,c[f>>2]=e,(e|0)!=0):0){if((bR(a,b,e,d)|0)<0){Pe(f);e=0}}else e=0;Gc=g;return e|0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];c[a+40>>2]=0;c[a+44>>2]=0;h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=cR(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}BY(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){yf(a);b=-12}return b|0}function eR(a,b){a=a|0;b=b|0;var d=0,e=0;d=dR(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=aR(a,c[e>>2]|0)|0;if((d|0)<0)b=10;else{d=c[e>>2]|0;if(d|0)BY(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;d=(c[a>>2]|0)+4|0;b=9}}else{e=Bg(d)|0;c[a>>2]=e;if(!e){d=-12;b=10}else{e=b+28|0;d=b+24|0;b=9}}if((b|0)==9){c[a+24>>2]=c[d>>2];c[a+28>>2]=c[e>>2];d=0;break}else if((b|0)==10){yf(a);break}}while(0);return d|0}function fR(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77816+(d<<2)>>2]|0;if(!d)c[a>>2]=1;return b|0}function gR(a){a=a|0;var b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;c[d>>2]=0;do{b=fR(d)|0;if(!b){b=0;break}}while((WU(c[b>>2]|0,a)|0)!=0);Gc=e;return b|0}function hR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Gc;Gc=Gc+16|0;h=j;e=Lf(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=77824;c[e+4>>2]=a;f=e+16|0;c[f>>2]=jR()|0;k=jR()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=Lf(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=KO()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){qQ(g);d=c[a+12>>2]|0;if(d|0){f=Lf(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;qQ(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);sf(h);d=-12}while(0);Gc=j;return d|0}function iR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;wf(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];g=b+40|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+672>>2];c[a+36>>2]=c[b+676>>2];c[a+40>>2]=c[b+716>>2];c[a+44>>2]=c[b+720>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+112>>2];c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];c[a+64>>2]=c[b+340>>2];c[a+68>>2]=c[b+328>>2];c[a+72>>2]=c[b+316>>2];c[a+76>>2]=c[b+320>>2];c[a+80>>2]=c[b+324>>2];c[a+84>>2]=c[b+332>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+140>>2];break}case 1:{c[a+20>>2]=c[b+352>>2];e=b+376|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+348>>2];c[a+108>>2]=c[b+344>>2];c[a+112>>2]=c[b+364>>2];c[a+116>>2]=c[b+356>>2];c[a+120>>2]=c[b+756>>2];c[a+124>>2]=c[b+868>>2];c[a+128>>2]=c[b+828>>2];break}case 3:{c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];break}default:{}}e=b+68|0;if(c[e>>2]|0){b=b+72|0;d=Lf((c[b>>2]|0)+64|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;BY(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function jR(){var a=0;a=Lf(136)|0;if(!a)a=0;else wf(a);return a|0}function kR(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function lR(a){a=a|0;var b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;c[d>>2]=0;a:do if(a|0)do{b=fR(d)|0;if(!b)break a}while((c[b+8>>2]|0)!=(a|0));while(0);do{a=fR(d)|0;if(!a){a=0;break}a=c[a+8>>2]|0}while(!(a|0));Gc=e;return a|0}function mR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+28|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=nR(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=oR(c[e>>2]|0,b)|0;if((d|0)>=0){d=pR(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+108>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}xf(b)}}else d=-541478725;while(0);return d|0}function nR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+16|0;i=k;h=c[a+28>>2]|0;g=h+36|0;h=h+32|0;f=(c[g>>2]|0)+-1|0;while(1){if((f|0)<=-1){d=-11;break}d=Ef(c[(c[h>>2]|0)+(f<<2)>>2]|0,b)|0;if((d|0)==-11){f=f+-1|0;continue}e=(d|0)<0;if(e&(d|0)!=-541478725)break;if((f|0)==((c[g>>2]|0)+-1|0))break;f=f+1|0;d=Ff(c[(c[h>>2]|0)+(f<<2)>>2]|0,e?0:b)|0;if((d|0)<0){j=8;break}}if((j|0)==8){Te(a,16,233806,i);xf(b)}Gc=k;return d|0}function oR(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;xf(c[d>>2]|0);if(b){a=dR(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function pR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Gc;Gc=Gc+48|0;m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=oh(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){Te(a,16,233601,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){Te(a,16,233694,h);b=-1094995529;e=a;break b}else{c[a+348>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+376|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){Te(a,16,233716,j);b=-1094995529;e=a;break b}else{c[a+344>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+92>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+96>>2]=l;c[k>>2]=b+-8;b=qR(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);Te(a,16,233736,l);b=-1094995529;e=a}while(0);Te(e,16,233771,m);b=(c[a+580>>2]&8|0)==0?0:b}while(0);Gc=n;return b|0}function qR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+872|0;e=Wg(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+100>>2]=b;c[a+104>>2]=f;d=c[a+680>>2]|0;c[a+92>>2]=0-(0-b>>d);c[a+96>>2]=0-(0-f>>d);return e|0}function rR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+28|0;g=c[d>>2]|0;a:do if((MQ(a)|0)!=0?(JQ(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=sR(a)|0;if((d|0)>=0){f=g+68|0;xf(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=eR(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=Ff(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){xf(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=tR(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function sR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+16|0;k=m;h=m+8|0;i=m+4|0;d=c[b+28>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+120>>2]|0;f=(f|0)==0?234376:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=VO(h,234381)|0;c[i>>2]=d;if(!d){d=-12;break}d=gR(d)|0;if(!d){l=8;break}Pe(i);e=xM(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=hR(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=iR(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=Hf(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=If(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==8){c[k>>2]=c[i>>2];Te(b,16,234383,k);Pe(i);d=-558323010}OQ(b)}else d=0;while(0);Gc=m;return d|0}function tR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+32|0;g=i+16|0;d=i;e=c[a+28>>2]|0;if(c[b+248>>2]|0){c[d>>2]=233853;c[d+4>>2]=187374;c[d+8>>2]=607;Te(0,0,222432,d);Za()}f=a+12|0;d=c[(c[f>>2]|0)+108>>2]|0;if(!d)d=uR(a,b)|0;else d=Oc[d&15](a,b)|0;a:do if((d|0)>=0){switch(d|0){case 0:break;default:{h=16;break a}}d=c[b+400>>2]|0;e=(d|0)==0;if(!(!e?(c[d+8>>2]|0)==20:0))h=10;do if((h|0)==10)if(!(c[(c[f>>2]|0)+16>>2]&2))if(e){d=0;h=16;break a}else break;else{c[g>>2]=233868;c[g+4>>2]=187374;c[g+8>>2]=621;Te(0,0,222432,g);Za()}while(0);d=c[c[d+4>>2]>>2]|0;if(d){d=Oc[d&15](a,b)|0;if((d|0)<0)_f(b);else h=16}else{d=0;h=16}}else{switch(d|0){case -541478725:break;default:{h=16;break a}}c[e+80>>2]=1;d=-541478725;h=16}while(0);if((h|0)==16)zf(b+400|0);Gc=i;return d|0}function uR(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=vR(a,b)|0}while((d|0)>=0);return d|0}function vR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=Gc;Gc=Gc+144|0;K=W+128|0;J=W+120|0;V=W+64|0;Q=W+56|0;G=W+48|0;E=W+40|0;B=W+32|0;x=W+24|0;r=W+16|0;o=W+8|0;j=W;T=W+96|0;i=W+76|0;q=W+112|0;A=W+104|0;N=W+88|0;O=W+80|0;P=b+28|0;U=c[P>>2]|0;R=c[U+24>>2]|0;S=R+24|0;if(!(((c[S>>2]|0)==0?(c[U+64>>2]|0)==0:0)?(xf(R),f=mR(b,R)|0,(f|0)<0&(f|0)!=-541478725):0))k=4;do if((k|0)==4){L=U+80|0;if(!(c[L>>2]|0)){if(((c[S>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+696>>2]&1|0)==0:0){f=-541478725;break}c[T>>2]=0;I=b+696|0;if(!(c[I>>2]&1)){h=b+12|0;f=Qc[c[(c[h>>2]|0)+92>>2]&3](b,e,T,R)|0;g=c[h>>2]|0;if(!(c[g+116>>2]&4)){u=R+16|0;v=c[u+4>>2]|0;w=e+120|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+8>>2]|0)){if(!(c[b+140>>2]|0)){u=R+56|0;v=c[u+4>>2]|0;w=e+328|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){u=b+188|0;v=c[u+4>>2]|0;w=g;c[w>>2]=c[u>>2];c[w+4>>2]=v}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+92>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+96>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+112>>2];v=h}else v=h}else v=h}else v=h}else{f=wR(b,e,T,R)|0;v=b+12|0}w=c[T>>2]|0;a:do switch(c[(c[v>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[T>>2]=0;break a}if(w|0){D=e+104|0;C=e+120|0;C=xR(b,c[D>>2]|0,c[D+4>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0;D=M()|0;E=e+320|0;c[E>>2]=C;c[E+4>>2]=D}break}case 1:{if((f|0)>-1&(w|0)!=0){u=e+104|0;t=e+120|0;t=xR(b,c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=M()|0;g=e+320|0;c[g>>2]=t;c[g+4>>2]=u;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+352>>2];g=e+240|0;u=g;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0){s=b+376|0;t=c[s+4>>2]|0;u=g;c[u>>2]=c[s>>2];c[u+4>>2]=t}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+348>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+344>>2]}g=oh(c[U+40>>2]|0,11,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){t=c[P>>2]|0;u=H(c[t+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[t+56>>2]=u;t=g+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;c[j>>2]=u;c[j+4>>2]=t;Te(b,48,233988,j);u=a[g+8>>0]|0;s=a[g+9>>0]|0}else{t=0;u=0;s=0}g=c[T>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+64>>2]&536870912|0)==0:0){l=(c[P>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[T>>2]=0}else k=43;do if(((k|0)==43?(m=(c[P>>2]|0)+56|0,n=c[m>>2]|0,(n|0)>0&(g|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(n|0)){c[T>>2]=0;x=n-g|0;c[m>>2]=x;c[o>>2]=x;Te(b,48,234035,o);break}o=c[e+64>>2]|0;Mg(o,o,0,n,g-n|0,c[b+348>>2]|0,c[e+80>>2]|0)|0;g=b+772|0;if((c[g>>2]|0)!=0?(p=c[b+344>>2]|0,(p|0)!=0):0){j=c[(c[P>>2]|0)+56>>2]|0;c[q>>2]=1;c[q+4>>2]=p;c[J>>2]=c[q>>2];c[J+4>>2]=c[q+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];j=PP(j,((j|0)<0)<<31>>31,J,K)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=mY(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=mY(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=mY(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(k|0)|(i|0)==(k|0)&h>>>0<j>>>0)){p=nY(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}}else Te(b,24,234068,r);r=c[l>>2]|0;c[x>>2]=c[(c[P>>2]|0)+56>>2];c[x+4>>2]=r;Te(b,48,234118,x);x=(c[P>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[x>>2]|0);c[x>>2]=0}while(0);do if((t|0?(C=e+76|0,y=c[C>>2]|0,y>>>0>=t>>>0&(c[T>>2]|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){if((y|0)==(t|0)){c[T>>2]=0;break}g=b+772|0;if((c[g>>2]|0)!=0?(z=c[b+344>>2]|0,(z|0)!=0):0){c[A>>2]=1;c[A+4>>2]=z;c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];A=PP(y-t|0,0,J,K)|0;B=M()|0;g=e+336|0;c[g>>2]=A;c[g+4>>2]=B;g=b}else{Te(b,24,234138,B);g=b}B=c[C>>2]|0;c[E>>2]=t;c[E+4>>2]=B;Te(g,48,234190,E);c[C>>2]=(c[C>>2]|0)-t}while(0);if((c[T>>2]|0?(c[b+64>>2]&536870912|0)!=0:0)?(D=Zg(e,9,10)|0,D|0):0){C=c[(c[P>>2]|0)+56>>2]|0;E=D+4|0;D=c[E>>2]|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;D=(c[E>>2]|0)+4|0;a[D>>0]=t;a[D+1>>0]=t>>8;a[D+2>>0]=t>>16;a[D+3>>0]=t>>24;a[(c[E>>2]|0)+8>>0]=u;a[(c[E>>2]|0)+9>>0]=s;c[(c[P>>2]|0)+56>>2]=0}break}default:{}}while(0);g=c[v>>2]|0;if((((c[g+8>>2]|0)==1?(F=U+104|0,(f|0)>-1&(c[F>>2]|0)==0):0)?(f|0)!=(c[R+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){Te(b,24,234213,G);c[F>>2]=1}if(!(c[T>>2]|0))_f(e);if(((f|0)>-1?(c[(c[v>>2]|0)+8>>2]|0)==0:0)?(c[b+60>>2]&65536|0)==0:0)f=c[R+28>>2]|0;g=b+760|0;if((c[g>>2]|0)>0?(c[b+764>>2]|0)>0:0){c[O>>2]=c[b+84>>2];c[O+4>>2]=1;c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[K>>2]=c[O>>2];c[K+4>>2]=c[O+4>>2];$M(N,J,K);K=c[N>>2]|0;O=b+76|0;c[O>>2]=c[N+4>>2];c[O+4>>2]=K}do if(!(w|0?1:(c[(c[P>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[L>>2]=1;break}if(!(c[I>>2]&1))g=21;else g=(c[b+688>>2]|0)+20|0;O=U+112|0;P=c[O>>2]|0;c[O>>2]=P+1;if((P|0)>=(g|0)){Te(b,16,234243,Q);c[L>>2]=1;f=-558323010}}while(0);g=U+92|0;c[g>>2]=(c[g>>2]|0)+f;g=R+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))xf(R);else{c[S>>2]=(c[S>>2]|0)+f;c[g>>2]=h-f;U=c[U+40>>2]|0;S=U+28|0;c[S>>2]=(c[S>>2]|0)-f;S=R+8|0;c[S>>2]=0;c[S+4>>2]=-2147483648;S=R+16|0;c[S>>2]=0;c[S+4>>2]=-2147483648;S=U+8|0;c[S>>2]=0;c[S+4>>2]=-2147483648;U=U+16|0;c[U>>2]=0;c[U+4>>2]=-2147483648}if(c[T>>2]|0?(c[e+248>>2]|0)==0:0){c[V>>2]=234319;c[V+4>>2]=187374;c[V+8>>2]=584;Te(0,0,222432,V);Za()}f=i?f:0}else f=-541478725}while(0);Gc=W;return f|0}function wR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+28>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;UQ(p);n=p+144|0;f=yR((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+688|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+16>>2]|0)==33)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;OW(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;Ab(h|0,g|0)|0}PW(g)|0}$f(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}SQ(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);Rk(p);return f|0}function xR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(e|0)==0&(f|0)==-2147483648;if(k)if((b|0)==0&(d|0)==-2147483648)g=0;else{l=a+808|0;c[l>>2]=b;c[l+4>>2]=d;l=6}else{l=a+808|0;h=l;i=c[h+4>>2]|0;j=a+792|0;g=j;h=mY(c[g>>2]|0,c[g+4>>2]|0,((i|0)>(f|0)|((i|0)==(f|0)?(c[h>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;i=M()|0;c[j>>2]=h;c[j+4>>2]=i;c[l>>2]=e;c[l+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){h=a+800|0;g=0;i=e;j=f;l=7}else l=6}if((l|0)==6){h=a+800|0;j=h;i=c[j+4>>2]|0;g=a+784|0;m=g;j=mY(c[m>>2]|0,c[m+4>>2]|0,((i|0)>(d|0)|((i|0)==(d|0)?(c[j>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;i=M()|0;c[g>>2]=j;c[g+4>>2]=i;g=1;i=b;j=d;l=7}if((l|0)==7){m=h;c[m>>2]=i;c[m+4>>2]=j}l=a+784|0;j=c[l+4>>2]|0;m=a+792|0;a=c[m+4>>2]|0;m=g&(k|((j|0)<(a|0)|((j|0)==(a|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function yR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Gc;Gc=Gc+16|0;h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;OW(i)|0;b=zR(c[m>>2]|0,b)|0;if(b|0){PW(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+576>>2]|0)>>>16&1;TQ(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;OW(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;Ab(f|0,e|0)|0}PW(e)|0}b=SQ(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){PW(i)|0;break}}b=a+216|0;xf(b);b=eR(b,d)|0;if((b|0)<0){PW(i)|0;Te(c[m>>2]|0,16,234333,h);break}j=a+300|0;c[j>>2]=1;zb(a+12|0)|0;PW(i)|0;b=c[m>>2]|0;a:do if(!(c[b+700>>2]|0)){if((c[b+120>>2]|0)==10?(c[b+400>>2]|0)==10:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;OW(b)|0;while(1){if((c[j>>2]|0)!=1)break;Ab(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{c[d>>2]=rm(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;n=27;break}case 3:{c[i>>2]=OL(c[m>>2]|0,c[h>>2]|0)|0;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;zb(e|0)|0}PW(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);Gc=o;return b|0}function zR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+60>>2]=c[b+60>>2];c[a+116>>2]=c[b+116>>2];c[a+400>>2]=c[b+400>>2];c[a+32>>2]=c[b+32>>2];c[a+576>>2]=c[b+576>>2];c[a+832>>2]=c[b+832>>2];c[a+240>>2]=c[b+240>>2];c[a+64>>2]=c[b+64>>2];f=a+724|0;d=b+724|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+360>>2]=c[b+360>>2];f=b+584|0;d=c[f+4>>2]|0;g=a+584|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+700>>2]=c[b+700>>2];g=b+176|0;d=c[g>>2]|0;do if(d){e=b+184|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+184|0;if((c[a+176>>2]|0)<(d|0)){d=GM(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}BY(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+176>>2]=d;d=0}return d|0}function AR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+28>>2]|0;_f(b);do if((MQ(a)|0)!=0?(JQ(c[a+12>>2]|0)|0)!=0:0){d=sR(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=tR(a,b)|0;if((d|0)<0)break}else $f(b,d);if((c[a+8>>2]|0)==0?(f=BR(a,b)|0,(f|0)<0):0){_f(b);d=f;break}d=a+360|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function 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;m=Gc;Gc=Gc+32|0;l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+888>>2]|0))a=0;else a=MP(b,c[a+60>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;Te(a,24,234476,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}Gc=m;return a|0}function CR(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){LQ(b)|0;Pe(b+68|0);Pe(b+736|0);Pe(b+248|0);Pe(b+252|0);Pe(b+436|0);Pe(a)}return}function DR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=c[77868+(b<<2)>>2]|0;if((b|0)!=3)c[a>>2]=b+1;return d|0}function ER(a){a=a|0;var b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;b=e;c[b>>2]=0;a:do if(!a)a=0;else{do{d=DR(b)|0;if(!d){a=0;break a}if((c[d>>2]|0)==(a|0))break;if((c[d+4>>2]|0)==(a|0))break;if((c[d+8>>2]|0)==(a|0))break;if((c[d+12>>2]|0)==(a|0))break}while((c[d+16>>2]|0)!=(a|0));a=Lf(344)|0;if(a|0){c[a+4>>2]=d;b=Lf(c[d+20>>2]|0)|0;c[a>>2]=b;do if(b|0){c[a+72>>2]=1;c[a+32>>2]=1;b=c[d+24>>2]|0;if(b|0?Mc[b&31](a)|0:0)break;c[a+224>>2]=-1;d=a+232|0;c[d>>2]=0;c[d+4>>2]=0;c[a+240>>2]=-2147483648;c[a+244>>2]=-2147483648;c[a+248>>2]=-2147483648;c[a+336>>2]=-1;break a}while(0);Pe(a)}Qe(a);a=0}while(0);Gc=e;return a|0}function FR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=(e|0)!=0;if(u){n=a+48|0;o=a+40|0;p=a+288|0;q=a+184|0}else{o=a+40|0;n=o;c[n>>2]=0;c[n+4>>2]=-2147483648;n=a+48|0;p=n;c[p>>2]=0;c[p+4>>2]=-2147483648;p=a+288|0;q=p;c[q>>2]=-1;c[q+4>>2]=-1;q=a+184|0;t=q;c[t>>2]=0;c[t+4>>2]=0}r=a+16|0;s=((b|0)<0)<<31>>31;t=a+8|0;l=(d|0)==0;m=a+24|0;k=0;a:while(1){if((k|0)>=4)break;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0;i=mY(d|0,e|0,b|0,s|0)|0;h=M()|0;j=a+80+(k<<3)|0;g=j;f=c[g>>2]|0;g=c[g+4>>2]|0;do if(!((h|0)<(g|0)|(h|0)==(g|0)&i>>>0<f>>>0)){i=t;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(g|0)|(i|0)==(g|0)&h>>>0<f>>>0)){if(!((h|0)==0&(i|0)==0))break;i=m;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0))break}h=a+192+(k<<3)|0;i=h;if(!((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)){g=a+144+(k<<3)|0;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(u&((f|0)==0&(g|0)==-2147483648))){i=n;c[i>>2]=f;c[i+4>>2]=g;g=a+112+(k<<3)|0;f=c[g+4>>2]|0;i=o;c[i>>2]=c[g>>2];c[i+4>>2]=f;i=a+256+(k<<3)|0;f=c[i+4>>2]|0;g=p;c[g>>2]=c[i>>2];c[g+4>>2]=f;g=m;f=j;f=nY(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=M()|0;i=q;c[i>>2]=f;c[i+4>>2]=g}if(!l){e=j;c[e>>2]=-1;c[e+4>>2]=2147483647;e=r;d=c[e>>2]|0;e=c[e+4>>2]|0}i=mY(d|0,e|0,b|0,s|0)|0;g=M()|0;j=h;h=c[j+4>>2]|0;if((g|0)<(h|0)|((g|0)==(h|0)?i>>>0<(c[j>>2]|0)>>>0:0))break a}}while(0);k=k+1|0}return}function GR(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=Gc;Gc=Gc+80|0;w=x;o=x+16|0;p=b+176|0;q=c[p>>2]|0;if(!(q&4)){t=b+16|0;c[t>>2]=m;c[t+4>>2]=n;t=b+24|0;c[t>>2]=m;c[t+4>>2]=n;c[p>>2]=q|4}if(h){p=b+16|0;o=c[p>>2]|0;p=c[p+4>>2]|0;q=mY(o|0,p|0,h|0,((h|0)<0)<<31>>31|0)|0;r=M()|0;s=b+76|0;t=c[s>>2]|0;y=b+192+(t<<3)|0;if((q|0)==(c[y>>2]|0)?(r|0)==(c[y+4>>2]|0):0)o=g;else{y=t+1&3;c[s>>2]=y;t=b+80+(y<<3)|0;c[t>>2]=o;c[t+4>>2]=p;o=b+192+(y<<3)|0;c[o>>2]=q;c[o+4>>2]=r;o=b+112+(y<<3)|0;c[o>>2]=i;c[o+4>>2]=j;o=b+144+(y<<3)|0;c[o>>2]=k;c[o+4>>2]=l;o=b+256+(y<<3)|0;c[o>>2]=m;c[o+4>>2]=n;o=g}}else{p=o;q=p+64|0;do{a[p>>0]=0;p=p+1|0}while((p|0)<(q|0))}p=b+72|0;if(c[p>>2]|0){c[p>>2]=0;k=b+40|0;l=c[k+4>>2]|0;y=b+56|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;y=b+48|0;l=c[y+4>>2]|0;k=b+64|0;c[k>>2]=c[y>>2];c[k+4>>2]=l;k=b+288|0;l=c[k+4>>2]|0;y=b+296|0;c[y>>2]=c[k>>2];c[y+4>>2]=l;FR(b,0,0,0)}r=Sc[c[(c[b+4>>2]|0)+28>>2]&7](b,d,e,f,o,h)|0;if((r|0)<=-536870912){c[w>>2]=234592;c[w+4>>2]=179399;c[w+8>>2]=253;Te(0,0,222432,w);Za()}if(((c[d+8>>2]|0)==0?(u=c[b+308>>2]|0,u|0):0)?(v=d+340|0,(c[v>>2]|0)==0):0)c[v>>2]=u;if(!(c[f>>2]|0)){o=b+16|0;q=o;p=c[q>>2]|0;q=c[q+4>>2]|0}else{w=b+24|0;y=w;q=c[y+4>>2]|0;o=b+8|0;c[o>>2]=c[y>>2];c[o+4>>2]=q;o=b+16|0;q=o;y=c[q>>2]|0;q=c[q+4>>2]|0;v=mY(y|0,q|0,r|0,((r|0)<0)<<31>>31|0)|0;f=M()|0;c[w>>2]=v;c[w+4>>2]=f;c[p>>2]=1;p=y}y=(r|0)>0?r:0;v=mY(p|0,q|0,y|0,0)|0;f=M()|0;w=o;c[w>>2]=v;c[w+4>>2]=f;Gc=x;return y|0}function HR(a){a=a|0;var b=0;if(a|0){b=c[(c[a+4>>2]|0)+32>>2]|0;if(b|0)Uc[b&63](a);Pe(a);Qe(a)}return}function IR(a){a=a|0;var b=0;JR(a);b=c[a+696>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=LR(a)|0;else a=KR(a)|0;return a|0}function JR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;g=i;f=c[(c[a+12>>2]|0)+16>>2]|0;if((f&4096|0)!=0?(c[a+60>>2]&589824|0)==0:0)e=(c[a+64>>2]&32768|0)==0;else e=0;d=a+688|0;b=c[d>>2]|0;do if((b|0)!=1){if(e?c[a+692>>2]&1|0:0){d=1;h=11;break}if(f&8192|0?c[a+692>>2]&2|0:0){d=2;h=11;break}if(!(f&32768)){c[d>>2]=1;d=0;b=1;h=11}}else{d=0;b=1;h=11}while(0);if((h|0)==11)c[a+696>>2]=d;if((b|0)>16){c[g>>2]=b;c[g+4>>2]=16;Te(a,24,234730,g)}Gc=i;return}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+688|0;b=c[i>>2]|0;h=a+12|0;if(((FQ(c[h>>2]|0)|0)!=0?(c[a+16>>2]|0)==1:0)?(c[a+96>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=LP()|0;d=c[a+96>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=Lf(48)|0;g=a+28|0;b=c[g>>2]|0;c[b+20>>2]=f;d=c[(c[h>>2]|0)+116>>2]&32|0?35:0;c[63350]=d;do if(f){b=vQ(f,a,79,d,e)|0;if((b|0)<2){xQ(f);b=c[g>>2]|0;break}else{c[i>>2]=b;c[a+704>>2]=5;c[a+708>>2]=42;break a}}while(0);Pe(b+20|0);c[i>>2]=1;c[a+696>>2]=0}}while(0);if((j|0)==10)c[a+696>>2]=0;return 0}function LR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Gc;Gc=Gc+16|0;r=t;b=a+688|0;d=c[b>>2]|0;e=c[a+12>>2]|0;if(!d){q=LP()|0;d=q+1|0;d=(q|0)>1?((d|0)<16?d:16):1;c[b>>2]=d}a:do if((d|0)>=2){q=Lf(156)|0;b=a+28|0;c[(c[b>>2]|0)+20>>2]=q;if(!q)b=-12;else{p=hg(d,352)|0;c[q>>2]=p;if(!p){Pe((c[b>>2]|0)+20|0);b=-12;break}NW(q+8|0,0)|0;NW(q+36|0,0)|0;NW(q+64|0,0)|0;yb(q+92|0,0)|0;c[q+140>>2]=1;c[q+152>>2]=1;n=e+80|0;o=e+56|0;l=e+64|0;b=0;p=0;f=a;while(1){if((p|0)>=(d|0)){b=0;break a}c[r>>2]=$e(896)|0;m=c[q>>2]|0;j=m+(p*352|0)|0;NW(m+(p*352|0)+156|0,0)|0;NW(m+(p*352|0)+184|0,0)|0;yb(m+(p*352|0)+12|0,0)|0;yb(m+(p*352|0)+60|0,0)|0;yb(m+(p*352|0)+108|0,0)|0;k=Cg()|0;c[m+(p*352|0)+288>>2]=k;if(!k){s=11;break}c[j>>2]=q;e=c[r>>2]|0;c[m+(p*352|0)+212>>2]=e;k=e;if(!e){b=-12;s=23;break}BY(e|0,f|0,896)|0;e=$e(116)|0;i=k+28|0;c[i>>2]=e;if(!e){s=14;break}g=c[f+28>>2]|0;h=e+116|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[i>>2]|0;c[h+20>>2]=j;c[h+40>>2]=m+(p*352|0)+216;if(p){e=$e(c[o>>2]|0)|0;c[k+24>>2]=e;if(!e){b=-12;s=23;break}BY(e|0,c[f+24>>2]|0,c[o>>2]|0)|0;c[c[i>>2]>>2]=1;e=c[l>>2]|0;if(e)b=Mc[e&31](k)|0}else{e=c[n>>2]|0;if(e)b=Mc[e&31](k)|0;SQ(a,k,1)|0;f=k}if(b|0){s=23;break}c[m+(p*352|0)+344>>2]=(c[k+576>>2]|0)>>>16&1;k=Bb(m+(p*352|0)+4|0,0,25,j|0)|0;b=0-k|0;k=(k|0)==0;c[m+(p*352|0)+8>>2]=k&1;if(!k)break;p=p+1|0}if((s|0)==11){Pe(r);b=-12;s=23}else if((s|0)==14){c[k+24>>2]=0;b=-12;s=23}PQ(a,p+1|0)}}else{c[a+696>>2]=0;b=0}while(0);Gc=t;return b|0}function MR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Gc;Gc=Gc+32|0;z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;OW(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+68|0;d=n+700|0;e=n+400|0;f=a+336|0;g=n+592|0;h=a+288|0;i=a+292|0;j=j+92|0;k=a+216|0;l=a+296|0;m=n+28|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;a:while(1){while(1){b=(c[u>>2]|0)==0;if(c[v>>2]|0)break;if(!b){A=28;break a}Ab(w|0,t|0)|0}if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[e>>2]|0)!=10:0)break;Jh(n)}while(0);if(c[f>>2]|0){A=12;break}if(c[g>>2]|0){OW((c[a>>2]|0)+36|0)|0;c[f>>2]=1}_f(c[h>>2]|0);c[i>>2]=0;b=Qc[c[j>>2]&3](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{Te(n,16,234636,z);b=c[h>>2]|0}_f(b)}if((c[v>>2]|0)==1)Jh(n);if(c[f>>2]|0){c[f>>2]=0;PW((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;UQ(c[a>>2]|0)}OW(p)|0;c[v>>2]=0;EY(q|0)|0;zb(r|0)|0;PW(p)|0}if((A|0)==12){c[y>>2]=234612;c[y+4>>2]=222388;c[y+8>>2]=190;Te(0,0,222432,y);Za()}else if((A|0)==28){PW(t)|0;Gc=B;return 0}return 0}function NR(a){a=a|0;Mc[c[(c[(c[a+28>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function OR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+28>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=Qc[c[g+8>>2]&3](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=Oc[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function PR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&2|0)!=0?(c[a+688>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;zQ(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=WQ(a,b,d,e,f,g)|0;return a|0}function QR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+28>>2]|0)+20>>2]|0)+8>>2]=b;return PR(a,0,d,e,f,0)|0}function RR(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)PW(253404)|0;return} |
| | | function aT(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;v=f&255;w=e+610+v|0;x=a[w>>0]|0;y=e+614+v|0;z=a[y>>0]|0;A=e+53451+v|0;B=a[A>>0]|0;u=b+8|0;h=c[u>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>30;t=b+20|0;do if(!(a[t>>0]|0))if(h>>>0>2){c[u>>2]=h+-2;break}else{aS(b,2);break}while(0);g=g&255;a[A>>0]=g;switch(g<<24>>24){case 0:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;i=c[b>>2]|0;h=(i&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else{i=c[b>>2]|0;h=i<<32-g>>>30}do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;h=1<<(h&255);h=((h|0)<5?h:5)&255;j=18;break}else{aS(b,2);g=c[u>>2]|0;j=16;break}else j=16;while(0);do if((j|0)==16){h=1<<(h&255);h=((h|0)<5?h:5)&255;if(g|0){i=c[b>>2]|0;j=18;break}g=(c[b+4>>2]|0)>>>31;if(!(a[t>>0]|0))aS(b,1)}while(0);if((j|0)==18){g=g+-1|0;c[u>>2]=g;g=i>>>g&1}if(h<<24>>24)DY(e+((v*6|0)+634)|0,g&255|0,(h+-1&255)+1|0)|0;a[e+602+v>>0]=0;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=(h&255)+255;g=0;j=173;break}case 1:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{aS(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{aS(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;p=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{aS(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((p|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,q=d[246535+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<q>>>0){g=q-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-q|0);if(!(a[t>>0]|0))if(i>>>0>q>>>0){c[u>>2]=i-q;break}else{aS(b,q);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))aS(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[p-k+(e+634+(v*6|0))>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=0;a[e+604+v>>0]=o;a[e+606+v>>0]=0;g=p&255;j=173;break}case 2:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{aS(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{aS(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;o=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{aS(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((o|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,r=d[246535+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<r>>>0){g=r-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-r|0);if(!(a[t>>0]|0))if(i>>>0>r>>>0){c[u>>2]=i-r;break}else{aS(b,r);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))aS(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+k>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=p;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=o;g=0;j=173;break}case 3:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{aS(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{aS(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{aS(b,2);break}while(0);n=e+53513+v|0;a[n>>0]=h;g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{aS(b,2);break}while(0);g=h&255;m=e+53515+v|0;a[m>>0]=g;r=a[n>>0]|0;h=(h&255)+(r&255)|0;h=h>>>0>4?5:h+1&255;if(!(r<<24>>24))j=0;else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{aS(b,2);break}while(0);a[e+53471+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;j=a[n>>0]|0}while((k&255)<(j&255));g=a[m>>0]|0}if(!(g<<24>>24)){i=0;g=j}else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{aS(b,2);break}while(0);a[e+53489+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;i=a[m>>0]|0}while((k&255)<(i&255));g=a[n>>0]|0}g=(i&255)+2+(g&255)|0;do if((g&255)<10?(r=g<<24>>24,s=d[246535+r>>0]|0,r>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<s>>>0){g=s-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-s|0);if(!(a[t>>0]|0))if(i>>>0>s>>>0){c[u>>2]=i-s;break}else{aS(b,s);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(h<<24>>24){i=b+4|0;k=h&255;j=0;do{g=c[u>>2]|0;if(!g){g=(c[i>>2]|0)>>>31;if(!(a[t>>0]|0))aS(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+j>>0]=g;j=j+1|0}while((j|0)!=(k|0))}a[e+602+v>>0]=p;a[e+604+v>>0]=o;a[e+606+v>>0]=a[n>>0]|0;g=a[m>>0]|0;j=173;break}default:h=0}if((j|0)==173){a[e+608+v>>0]=g;g=a[A>>0]|0}v=h&255;g=g<<24>>24==3?5:4;g=g>>>0>v>>>0?v:g;a[w>>0]=g;if(!g){B=1;return B|0}a[y>>0]=(g|0)!=1?2:1;g=lT(e,f)|0;if(!(g<<24>>24)){mT(e,f);B=0;return B|0}else{a[A>>0]=B;a[w>>0]=x;a[y>>0]=z;B=g;return B|0}return 0}function bT(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=f&255;i=e+610+m|0;if(a[i>>0]|0){j=b+8|0;k=b+4|0;l=b+20|0;g=0;do{h=g&255;f=c[j>>2]|0;if(!f){f=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(b,1)}else{f=f+-1|0;c[j>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53517+(m*9|0)+h>>0]=f;g=g+1<<24>>24}while((g&255)<(d[i>>0]|0))}h=e+614+m|0;if(!(a[h>>0]|0))return;i=b+8|0;j=b+4|0;k=b+20|0;g=0;do{l=g&255;f=c[i>>2]|0;if(!f){f=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(b,1)}else{f=f+-1|0;c[i>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53535+(m*3|0)+l>>0]=f;g=g+1<<24>>24}while((g&255)<(d[h>>0]|0));return}function cT(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=g&255;x=f+610+w|0;i=a[x>>0]|0;if(i<<24>>24==1?(a[f+53451+w>>0]|0)==0:0)h=0;else h=a[f+53431>>0]|0;t=f+11+w|0;a[t>>0]=h;u=f+53450|0;v=g<<24>>24==1;j=v&(a[u>>0]|0)!=0;r=h<<24>>24==0;s=j?(r?245691:245787):r?245931:246171;r=j?(r?245835:245519):r?246295:245567;if(!(i<<24>>24)){kT(f,g);return}o=e+8|0;p=e+4|0;q=e+20|0;n=j&1;m=0;l=0;while(1){if(!(a[f+53517+(w*9|0)+l>>0]|0)){i=(a[t>>0]|0)==0;i=v&(a[u>>0]|0)==1?(i?6:5):i?7:6;j=c[o>>2]|0;if(j>>>0<i>>>0){h=i-j|0;h=(c[e>>2]&(1<<j)+-1)<<h|(c[p>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-j>>>(32-i|0);do if(!(a[q>>0]|0))if(j>>>0>i>>>0){c[o>>2]=j-i;break}else{aS(e,i);break}while(0);b[f+730+(w*640|0)+(l<<1)>>1]=h<<n;k=f+634+(w*6|0)+l|0;if((d[(d[k>>0]|0)+(f+24)>>0]|0)>1){j=1;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))aS(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[r+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}else{k=f+634+(w*6|0)+l|0;if(a[(d[k>>0]|0)+(f+24)>>0]|0){j=0;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))aS(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[s+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}h=m+1<<24>>24;if((h&255)<(d[x>>0]|0)){m=h;l=h&255}else break}kT(f,g);return}function dT(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;g=f<<24>>24==1&(a[e+53450>>0]|0)==1;o=g?245347:245395;n=g?245519:245567;s=f&255;t=e+614+s|0;if(!(a[t>>0]|0)){jT(e,f);return}p=b+8|0;q=b+4|0;r=b+20|0;l=g&1;m=e+19|0;k=0;j=0;while(1){if(!(a[e+53535+(s*3|0)+j>>0]|0)){h=c[p>>2]|0;if(h>>>0<5){g=5-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[q>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>27;do if(!(a[r>>0]|0))if(h>>>0>5){c[p>>2]=h+-5;break}else{aS(b,5);break}while(0);c[e+7388+(s<<9)+(j<<2)>>2]=g<<l;if((d[m>>0]|0)>1){h=1;do{i=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))aS(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[n+(i<<1)+g>>0]|0;i=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((h&255)<<3)+(j<<2)>>2]=i+64<<l;h=h+1<<24>>24}while((h&255)<(d[m>>0]|0))}}else if(a[m>>0]|0){i=0;do{h=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))aS(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[o+(h<<1)+g>>0]|0;h=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((i&255)<<3)+(j<<2)>>2]=h+64<<l;i=i+1<<24>>24}while((i&255)<(d[m>>0]|0))}g=k+1<<24>>24;if((g&255)<(d[t>>0]|0)){k=g;j=g&255}else break}jT(e,f);return}function eT(e,g){e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=e+53450|0;if(a[t>>0]|0)return;u=g&255;h=(a[e+11+u>>0]|0)==0;p=a[e+610+u>>0]|0;a:do if(p<<24>>24){q=h&1;if(h){o=0;m=0}else{n=0;l=0;while(1){m=(d[e+634+(u*6|0)+l>>0]|0)+(e+24)|0;if(a[m>>0]|0){k=0;i=0;while(1){h=b[e+730+(u*640|0)+(i*10|0)+(l<<1)>>1]>>q;if(h>>>0>63)j=0.0;else j=+f[117092+(h<<2)>>2];f[e+2268+(u*1280|0)+(i*20|0)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(d[m>>0]|0)){k=h;i=h&255}else break}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;l=h&255}else break a}}while(1){n=(d[e+634+(u*6|0)+m>>0]|0)+(e+24)|0;if(a[n>>0]|0){l=0;i=0;while(1){k=b[e+730+(u*640|0)+(i*10|0)+(m<<1)>>1]|0;h=k<<16>>16>>q;if(h>>>0<=63){j=+f[117092+(h<<2)>>2];h=e+2268+(u*1280|0)+(i*20|0)+(m<<2)|0;f[h>>2]=j;if(k&1)f[h>>2]=j*1.4142135381698608}else f[e+2268+(u*1280|0)+(i*20|0)+(m<<2)>>2]=0.0;h=l+1<<24>>24;if((h&255)<(d[n>>0]|0)){l=h;i=h&255}else break}}h=o+1<<24>>24;if((h&255)<(p&255)){o=h;m=h&255}else break}}while(0);p=a[e+614+u>>0]|0;if(!(p<<24>>24))return;o=g<<24>>24==0;n=a[e+19>>0]|0;m=0;h=n;l=0;while(1){if(h<<24>>24)if(o){k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[119060+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(v=c[e+7900+(i<<3)+(l<<2)>>2]|0,v>>>0<=24):0)j=+f[117448+(h*52|0)+(v>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[122408+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(w=c[e+7900+(i<<3)+(l<<2)>>2]|0,w>>>0<=24):0)j=+f[120796+(h*52|0)+(w>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else{k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[119060+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(r=c[e+7900+(i<<3)+(l<<2)>>2]|0,r>>>0<=24):0)j=+f[119184+(h*52|0)+(r>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[122408+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(s=c[e+7900+(i<<3)+(l<<2)>>2]|0,s>>>0<=24):0)j=+f[122532+(h*52|0)+(s>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else h=0;i=m+1<<24>>24;if((i&255)<(p&255)){m=i;l=i&255}else break}return}function fT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;i=j;if(e<<24>>24!=2){f=b+8|0;g=c[f>>2]|0;if(g>>>0<6){e=6-g|0;e=(c[b>>2]&(1<<g)+-1)<<e|(c[b+4>>2]|0)>>>(32-e|0)}else e=c[b>>2]<<32-g>>>26;do if(!(a[b+20>>0]|0))if(g>>>0>6){c[f>>2]=g+-6;break}else{aS(b,6);break}while(0);a[d+53449>>0]=e;d=6;Gc=j;return d|0}f=d+53420|0;e=c[f>>2]|0;if(!e){e=qS(c[d>>2]|0)|0;e=hT(e,a[d+53416>>0]|0)|0;c[f>>2]=e}h=d+53425|0;if(a[h>>0]|0)a[e+719>>0]=0;g=iT(e,b,i)|0;f=d+53424|0;e=(a[i>>0]|0)==1;if(!((a[f>>0]|0)==0&e)){if(!e){d=g;Gc=j;return d|0}}else a[f>>0]=1;a[h>>0]=0;d=g;Gc=j;return d|0}function gT(e){e=e|0;var g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=(a[e+11>>0]|0)==0;s=a[e+610>>0]|0;if(s<<24>>24){p=r&1;q=(a[e+12>>0]|0)==0&1;o=0;m=0;while(1){n=(d[e+634+m>>0]|0)+(e+24)|0;if(a[n>>0]|0)if(r){l=0;k=0;while(1){g=b[e+730+(k*10|0)+(m<<1)>>1]|0;h=b[e+1370+(k*10|0)+(m<<1)>>1]>>q;j=(g>>p<<16)+65536|0;if(h>>>0>24|j>>>0>4128768){f[e+3548+(k*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[117092+(j>>16<<2)>>2];i=(g&1|0)==0?i:i*1.4142135381698608;f[e+2268+(k*20|0)+(m<<2)>>2]=+f[117348+(h<<2)>>2]*i;i=i*+f[117348+(24-h<<2)>>2];g=1}f[e+2268+(g*1280|0)+(k*20|0)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(d[n>>0]|0)){l=g;k=g&255}else break}}else{k=0;j=0;while(1){g=b[e+1370+(j*10|0)+(m<<1)>>1]>>q;h=(b[e+730+(j*10|0)+(m<<1)>>1]>>p<<16)+65536|0;if(g>>>0>24|h>>>0>4128768){f[e+3548+(j*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[117092+(h>>16<<2)>>2];f[e+2268+(j*20|0)+(m<<2)>>2]=+f[117348+(g<<2)>>2]*i;i=i*+f[117348+(24-g<<2)>>2];g=1}f[e+2268+(g*1280|0)+(j*20|0)+(m<<2)>>2]=i;g=k+1<<24>>24;if((g&255)<(d[n>>0]|0)){k=g;j=g&255}else break}}g=o+1<<24>>24;if((g&255)<(s&255)){o=g;m=g&255}else break}}p=a[e+614>>0]|0;if(!(p<<24>>24))return;q=e+53450|0;o=a[e+19>>0]|0;n=0;g=o;m=0;while(1){if(!(g<<24>>24))g=0;else{l=0;k=0;while(1){j=c[e+7388+(k<<3)+(m<<2)>>2]|0;h=j>>>0>30;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[119060+(j<<2)>>2];else if(!h?(t=c[e+7900+(k<<3)+(m<<2)>>2]|0,t>>>0<=24):0)i=+f[117448+(j*52|0)+(t>>>1<<2)>>2];else i=0.0;f[e+8412+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[119060+(g<<2)>>2]}else if(!h?(u=c[e+7900+(k<<3)+(m<<2)>>2]|0,u>>>0<=24):0)i=+f[119184+(j*52|0)+(u>>>1<<2)>>2];else i=0.0;f[e+8924+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[122408+(j<<2)>>2];else if(!h?(v=c[e+7900+(k<<3)+(m<<2)>>2]|0,v>>>0<=24):0)i=+f[120796+(j*52|0)+(v>>>1<<2)>>2];else i=0.0;f[e+9436+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[122408+(g<<2)>>2]}else if(!h?(w=c[e+7900+(k<<3)+(m<<2)>>2]|0,w>>>0<=24):0)i=+f[122532+(j*52|0)+(w>>>1<<2)>>2];else i=0.0;f[e+9948+(k<<3)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(o&255)){l=g;k=g&255}else{g=o;break}}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;m=h&255}else break}return}function hT(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0;i=dS(22736)|0;DY(i|0,0,22736)|0;g=dS(24)|0;a[g+4>>0]=12;a[g+5>>0]=8;a[g+6>>0]=4;a[g+7>>0]=4;a[g+8>>0]=4;a[g+1>>0]=8;a[g+2>>0]=2;a[g+3>>0]=2;a[g>>0]=e;h=dS(((e&255)<<3)+96|0)|0;c[g+12>>2]=h;DY(h|0,0,(d[g>>0]<<3)+96|0)|0;h=g+16|0;c[h>>2]=dS(20)|0;b=dS(d[g>>0]<<3)|0;c[c[h>>2]>>2]=b;DY(c[c[h>>2]>>2]|0,0,d[g>>0]<<3|0)|0;b=dS(d[g>>0]<<3)|0;c[(c[h>>2]|0)+4>>2]=b;DY(c[(c[h>>2]|0)+4>>2]|0,0,d[g>>0]<<3|0)|0;b=dS(d[g>>0]<<3)|0;c[(c[h>>2]|0)+8>>2]=b;DY(c[(c[h>>2]|0)+8>>2]|0,0,d[g>>0]<<3|0)|0;b=dS(d[g>>0]<<3)|0;c[(c[h>>2]|0)+12>>2]=b;DY(c[(c[h>>2]|0)+12>>2]|0,0,d[g>>0]<<3|0)|0;b=dS(d[g>>0]<<3)|0;c[(c[h>>2]|0)+16>>2]=b;DY(c[(c[h>>2]|0)+16>>2]|0,0,d[g>>0]<<3|0)|0;h=g+20|0;c[h>>2]=dS(d[g>>0]<<2)|0;if(a[g>>0]|0){b=0;do{j=dS(96)|0;c[(c[h>>2]|0)+((b&255)<<2)>>2]=j;b=b+1<<24>>24}while((b&255)<(d[g>>0]|0))}c[i+720>>2]=g;a[i+725>>0]=e;a[i+718>>0]=0;a[i+740>>0]=0;b=i+811|0;g=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(g|0));a[i+741>>0]=0;a[i+744>>0]=3;a[i+742>>0]=0;a[i+745>>0]=4;a[i+743>>0]=0;a[i+746>>0]=5;a[i+729>>0]=22;f[i+20076>>2]=.765928328037262;f[i+20080>>2]=.25;b=i+747|0;g=b+35|0;do{a[b>>0]=14;b=b+1|0}while((b|0)<(g|0));b=i+782|0;g=b+29|0;do{a[b>>0]=1;b=b+1|0}while((b|0)<(g|0));f[i+20492>>2]=1.0;f[i+20896>>2]=1.0;f[i+20500>>2]=1.0;f[i+20904>>2]=1.0;f[i+20508>>2]=1.0;f[i+20912>>2]=1.0;f[i+20516>>2]=1.0;f[i+20920>>2]=1.0;f[i+20524>>2]=1.0;f[i+20928>>2]=1.0;f[i+20532>>2]=1.0;f[i+20936>>2]=1.0;f[i+20540>>2]=1.0;f[i+20944>>2]=1.0;f[i+20548>>2]=1.0;f[i+20952>>2]=1.0;f[i+20556>>2]=1.0;f[i+20960>>2]=1.0;f[i+20564>>2]=1.0;f[i+20968>>2]=1.0;f[i+20572>>2]=1.0;f[i+20976>>2]=1.0;f[i+20580>>2]=1.0;f[i+20984>>2]=1.0;f[i+20588>>2]=1.0;f[i+20992>>2]=1.0;f[i+20596>>2]=1.0;f[i+21e3>>2]=1.0;f[i+20604>>2]=1.0;f[i+21008>>2]=1.0;f[i+20612>>2]=1.0;f[i+21016>>2]=1.0;f[i+20620>>2]=1.0;f[i+21024>>2]=1.0;f[i+20628>>2]=1.0;f[i+21032>>2]=1.0;f[i+20636>>2]=1.0;f[i+21040>>2]=1.0;f[i+20644>>2]=1.0;f[i+21048>>2]=1.0;f[i+20652>>2]=1.0;f[i+21056>>2]=1.0;f[i+20660>>2]=1.0;f[i+21064>>2]=1.0;f[i+20668>>2]=1.0;f[i+21072>>2]=1.0;f[i+20676>>2]=1.0;f[i+21080>>2]=1.0;f[i+20684>>2]=1.0;f[i+21088>>2]=1.0;f[i+20692>>2]=1.0;f[i+21096>>2]=1.0;f[i+20700>>2]=1.0;f[i+21104>>2]=1.0;f[i+20708>>2]=1.0;f[i+21112>>2]=1.0;f[i+20716>>2]=1.0;f[i+21120>>2]=1.0;f[i+20724>>2]=1.0;f[i+21128>>2]=1.0;f[i+20732>>2]=1.0;f[i+21136>>2]=1.0;f[i+20740>>2]=1.0;f[i+21144>>2]=1.0;f[i+20748>>2]=1.0;f[i+21152>>2]=1.0;f[i+20756>>2]=1.0;f[i+21160>>2]=1.0;f[i+20764>>2]=1.0;f[i+21168>>2]=1.0;f[i+20772>>2]=1.0;f[i+21176>>2]=1.0;f[i+20780>>2]=1.0;f[i+21184>>2]=1.0;f[i+20788>>2]=1.0;f[i+21192>>2]=1.0;f[i+20796>>2]=1.0;f[i+21200>>2]=1.0;f[i+20804>>2]=1.0;f[i+21208>>2]=1.0;f[i+20812>>2]=1.0;f[i+21216>>2]=1.0;f[i+20820>>2]=1.0;f[i+21224>>2]=1.0;f[i+20828>>2]=1.0;f[i+21232>>2]=1.0;f[i+20836>>2]=1.0;f[i+21240>>2]=1.0;f[i+20844>>2]=1.0;f[i+21248>>2]=1.0;f[i+20852>>2]=1.0;f[i+21256>>2]=1.0;f[i+20860>>2]=1.0;f[i+21264>>2]=1.0;f[i+20868>>2]=1.0;f[i+21272>>2]=1.0;f[i+20876>>2]=1.0;f[i+21280>>2]=1.0;f[i+20884>>2]=1.0;f[i+21288>>2]=1.0;a[i+22092>>0]=0;e=i+22416|0;j=i+22096|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22112|0;j=i+22432|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22128|0;e=i+22448|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22144|0;j=i+22464|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22160|0;e=i+22480|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22176|0;j=i+22496|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22192|0;e=i+22512|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22208|0;j=i+22528|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22224|0;e=i+22544|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22240|0;j=i+22560|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22256|0;e=i+22576|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22272|0;j=i+22592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22288|0;e=i+22608|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22304|0;j=i+22624|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22320|0;e=i+22640|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22336|0;j=i+22656|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22352|0;e=i+22672|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22368|0;j=i+22688|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22384|0;e=i+22704|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22400|0;j=i+22720|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;return i|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,s=0,t=0,u=0;s=_R(e)|0;a[f>>0]=0;t=e+8|0;g=c[t>>2]|0;if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}if(!g)g=b+719|0;else{a[f>>0]=1;g=b+719|0;a[g>>0]=1;i=b+724|0;a[i>>0]=0;f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b>>0]=r;if(r<<24>>24){f=c[t>>2]|0;if(f>>>0<3){h=3-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>29;do if(!(a[e+20>>0]|0))if(f>>>0>3){c[t>>2]=f+-3;break}else{aS(e,3);break}while(0);f=h&255;a[b+3>>0]=f;r=h&255;a[b+5>>0]=a[244859+r>>0]|0;a[b+6>>0]=a[244867+r>>0]|0;switch(f<<24>>24){case 5:case 2:{a[i>>0]=1;break}default:{}}a[b+27>>0]=f}f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b+1>>0]=r;a:do if(r<<24>>24){h=c[t>>2]|0;if(h>>>0<3){f=3-h|0;f=(c[e>>2]&(1<<h)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-h>>>29;do if(!(a[e+20>>0]|0))if(h>>>0>3){c[t>>2]=h+-3;break}else{aS(e,3);break}while(0);r=f&255;a[b+4>>0]=r;a[b+7>>0]=a[244859+(f&255)>>0]|0;switch(r<<24>>24){case 5:case 2:break;default:break a}a[i>>0]=1}while(0);f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+2>>0]=f}if(!(a[g>>0]|0)){u=1;s=0;t=b+718|0;a[t>>0]=s;return u|0}g=c[t>>2]|0;do if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){aS(e,1);h=c[t>>2]|0;i=47;break}else{g=g&255;f=b+8|0;a[f>>0]=g;h=0;i=49;break}}else{h=g+-1|0;c[t>>2]=h;g=(c[e>>2]|0)>>>h&1;i=47}while(0);if((i|0)==47){g=g&255;f=b+8|0;a[f>>0]=g;if(h>>>0<2)i=49;else j=c[e>>2]<<32-h>>>30}if((i|0)==49){j=2-h|0;j=(c[e>>2]&(1<<h)+-1)<<j|(c[e+4>>2]|0)>>>(32-j|0)}r=e+20|0;do if(!(a[r>>0]|0))if(h>>>0>2){c[t>>2]=h+-2;f=g;break}else{aS(e,2);f=a[f>>0]|0;break}else f=g;while(0);g=a[(j&255)+(244875+((f&255)<<2))>>0]|0;q=b+9|0;a[q>>0]=g;if(f<<24>>24)if(!(g<<24>>24))g=0;else{k=e+4|0;j=1;do{i=j&255;f=c[t>>2]|0;if(f>>>0<5){h=5-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>27;do if(!(a[r>>0]|0))if(f>>>0>5){c[t>>2]=f+-5;break}else{aS(e,5);g=a[q>>0]|0;break}while(0);a[b+10+i>>0]=h+1;j=j+1<<24>>24}while((g&255)>=(j&255))}if(a[b>>0]|0)if(!(g<<24>>24))g=0;else{l=e+4|0;m=b+3|0;n=b+5|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}g=g&255;a[b+16+j>>0]=g;h=a[n>>0]|0;i=b+140+(j*34|0)|0;g=g<<24>>24==0;b:do if((d[m>>0]|0)<3){if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[244883+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[244939+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[244939+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else{if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[244995+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[245115+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[245115+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}while(0);f=k+1<<24>>24;g=a[q>>0]|0;if((f&255)<(g&255)){k=f;j=f&255}else break}}if(!((a[b+1>>0]|0)==0|g<<24>>24==0)){l=e+4|0;m=b+7|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=g&255;a[b+21+j>>0]=p;h=a[m>>0]|0;i=b+310+(j*34|0)|0;if(!(p<<24>>24)){f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[245263+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[245263+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else if(h<<24>>24){i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[245235+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}do if(a[b+2>>0]|0){f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[r>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{aS(e,4);break}while(0);if((g&65535|0)==15){f=c[t>>2]|0;if(f>>>0<8){g=8-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>24;do if(!(a[r>>0]|0))if(f>>>0>8){c[t>>2]=f+-8;break}else{aS(e,8);break}while(0);g=(g&65535)+15|0}f=g<<3;g=f&65528;if(g>>>0>7){n=e+4|0;o=b+26|0;p=b+6|0;do{g=c[t>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[n>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>30;do if(!(a[r>>0]|0))if(g>>>0>2){c[t>>2]=g+-2;break}else{aS(e,2);break}while(0);l=f+65534|0;m=_R(e)|0;do if(!((h&255)<<24>>24)){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);k=g&255;a[o>>0]=k;do if(k<<24>>24){if(!(a[q>>0]|0))break;else{k=0;j=0}while(1){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+28+j>>0]=f;h=a[p>>0]|0;i=b+480+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245305+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245305+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245291+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+33+j>>0]=f;h=a[p>>0]|0;i=b+565+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245333+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245333+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;aS(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[245319+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}while(0);g=c[t>>2]|0;if(g|0){c[t>>2]=g+-1;break}if(a[r>>0]|0)break;aS(e,1)}while(0);f=(l&65535)-((_R(e)|0)-m&65535)|0;g=f&65535}while(g>>>0>7)}if(g|0?(u=c[t>>2]|0,(a[r>>0]|0)==0):0)if(u>>>0>g>>>0){c[t>>2]=u-g;break}else{aS(e,g);break}}while(0);u=(_R(e)|0)-s&65535;s=1;t=b+718|0;a[t>>0]=s;return u|0}function jT(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;k=e&255;l=b+614+k|0;if(!(a[l>>0]|0))return;m=b+19|0;j=0;i=0;while(1){a:do if(!(a[b+53535+(k*3|0)+i>>0]|0)){e=a[m>>0]|0;if((e&255)>1){e=e&255;f=c[b+7388+(k<<9)+(i<<2)>>2]|0;g=1;do{h=b+7388+(k<<9)+(g<<3)+(i<<2)|0;f=f+(c[h>>2]|0)|0;c[h>>2]=f;g=g+1|0}while(g>>>0<e>>>0)}}else{h=a[m>>0]|0;e=h<<24>>24==0;if(!(j<<24>>24)){if(e)break;else{f=0;e=0}while(1){c[b+7388+(k<<9)+(e<<3)+(i<<2)>>2]=(c[b+7388+(k<<9)+(e<<3)>>2]|0)+(c[b+10460+(k<<8)+(e<<2)>>2]|0);e=f+1<<24>>24;if((e&255)<(h&255)){f=e;e=e&255}else break a}}if(!e){g=i+-1|0;e=h&255;f=0;do{h=b+7388+(k<<9)+(f<<3)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[b+7388+(k<<9)+(f<<3)+(g<<2)>>2]|0);f=f+1|0}while(f>>>0<e>>>0)}}while(0);e=j+1<<24>>24;if((e&255)<(d[l>>0]|0)){j=e;i=e&255}else break}return}function kT(c,f){c=c|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;q=f&255;r=a[c+610+q>>0]|0;if(!(r<<24>>24))return;s=c+646+q|0;t=c+17|0;u=c+18|0;v=c+24|0;p=c+25|0;o=0;n=0;while(1){a:do if(!(a[c+53517+(q*9|0)+n>>0]|0)){h=(d[c+634+(q*6|0)+n>>0]|0)+(c+24)|0;if((d[h>>0]|0)>1){g=1;f=1;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;f=(e[m>>1]|0)+(e[c+730+(q*640|0)+((f+-1|0)*10|0)+(n<<1)>>1]|0)|0;b[m>>1]=(f&32768|0)==0?f&65535:0;f=g+1<<24>>24;if((f&255)<(d[h>>0]|0)){g=f;f=f&255}else break}}}else{h=o<<24>>24==0;m=n+-1|0;f=a[(h?s:c+634+(q*6|0)+m|0)>>0]|0;g=a[c+634+(q*6|0)+n>>0]|0;if(g<<24>>24==f<<24>>24){i=(f&255)+(c+24)|0;if(!(a[i>>0]|0))break;if(h){g=0;f=0;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[m>>1]=(e[m>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}else{g=0;f=0;while(1){l=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[l>>1]=(e[l>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}}if(f<<24>>24==1&g<<24>>24==0){l=a[v>>0]|0;if(!(l<<24>>24))break;k=a[t>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}}if(f<<24>>24==0&g<<24>>24==1?(w=a[p>>0]|0,w<<24>>24):0){k=a[u>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}}}while(0);f=o+1<<24>>24;if((f&255)<(r&255)){o=f;n=f&255}else break}return}function lT(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Gc;Gc=Gc+16|0;n=p;o=n+1|0;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=0;a[o+4>>0]=0;o=d[b+8>>0]|0;m=c&255;f=a[b+602+m>>0]|0;a[n>>0]=H(f&255,o)|0;c=a[b+604+m>>0]|0;l=(H(c&255,o)|0)&255;g=a[b+610+m>>0]|0;e=g&255;a[n+e>>0]=l;a:do switch(a[b+53451+m>>0]|0){case 0:switch(g<<24>>24){case 4:{k=(d[b+53417>>0]|0)>>>2;l=k&255;a[n+3>>0]=H(o*3|0,l)|0;a[n+2>>0]=H(k<<1&255,o)|0;a[n+1>>0]=H(o,l)|0;break a}case 2:{a[n+1>>0]=H((d[b+53417>>0]|0)>>>1&255,o)|0;break a}default:break a}case 1:{if((g&255)>1){h=e+-1|0;f=0;e=0;while(1){e=a[b+53453+(m*9|0)+e>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=H(c&255,o)|0;f=f+1<<24>>24;e=f&255;if((h|0)<=(e|0))break a;else c=c&255}Gc=p;return c|0}break}case 2:{if((g&255)>1){j=d[b+53419>>0]|0;k=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=e+-1|0;h=1;c=f;g=0;e=0;while(1){f=(d[b+53453+(m*9|0)+e>>0]|0)+(c&255)|0;c=H(f&255,o)|0;if((c+j|0)>>>0>k>>>0){c=1;break}a[n+(h<<24>>24)>>0]=c;g=g+1<<24>>24;e=g&255;if((i|0)<=(e|0))break a;else{h=h+1<<24>>24;c=f&255}}Gc=p;return c|0}break}case 3:{k=a[b+53513+m>>0]|0;b:do if(k<<24>>24){l=d[b+53419>>0]|0;j=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=1;e=f;h=0;while(1){e=(d[(h&255)+(b+53471+(m*9|0))>>0]|0)+(e&255)|0;f=H(e&255,o)|0;if((f+l|0)>>>0>j>>>0){c=1;break}a[n+(i<<24>>24)>>0]=f;h=h+1<<24>>24;if((h&255)>=(k&255))break b;else{i=i+1<<24>>24;e=e&255}}Gc=p;return c|0}while(0);h=a[b+53515+m>>0]|0;if(h<<24>>24){f=0;while(1){e=a[(f&255)+(b+53489+(m*9|0))>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=H(c&255,o)|0;f=f+1<<24>>24;if((f&255)>=(h&255))break a;else c=c&255}Gc=p;return c|0}break}default:{}}while(0);o=b+((m*6|0)+616)|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;a[o+4>>0]=a[n+4>>0]|0;a[o+5>>0]=a[n+5>>0]|0;o=0;Gc=p;return o|0}function mT(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=c&255;a[b+628+(e*3|0)>>0]=a[b+616+(e*6|0)>>0]|0;f=a[b+610+e>>0]|0;if(f<<24>>24==1){a[b+628+(e*3|0)+1>>0]=a[b+616+(e*6|0)+1>>0]|0;f=0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}a:do switch(a[b+53451+e>>0]|0){case 0:{c=(f&255)>>>1&255;break}case 2:{c=a[b+53507+e>>0]|0;switch(c<<24>>24){case 0:{c=1;break a}case 1:{c=(f&255)+-1|0;break a}default:{c=(c&255)+-1|0;break a}}}case 3:case 1:{c=a[b+53507+e>>0]|0;d=f&255;if((c&255)>1){c=1-(c&255)+d|0;break a}else{c=d+255|0;break a}}default:c=0}while(0);d=c<<24>>24;a[b+628+(e*3|0)+1>>0]=a[(((d|0)>0?d:0)&255)+(b+616+(e*6|0))>>0]|0;f=a[(f&255)+(b+616+(e*6|0))>>0]|0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}function nT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=a[246728+((qS(e)|0)&255)>>0]|0;e=qS(e)|0;f=f&255;if(!(c<<24>>24)){c=d[246848+(b&255)>>0]|0;c=c+f|0;c=c&255;return c|0}else{c=a[(b&255)+(246752+(d[246740+(e&255)>>0]<<4))>>0]|0;c=c+f|0;c=c&255;return c|0}return 0}function oT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;switch(b<<24>>24){case 15:{c=(e&255)*3|0;c=(c>>>0<64?c:64)&255;return c|0}case 14:{if((e&255)>32){c=64;return c|0}c=(e&255)<<1&255;return c|0}default:{e=d[246548+((qS(c)|0)&255)>>0]|0;g=(qS(c)|0)&255;b=f>>>0<13?f:13;if(((a[246560+(g*14|0)+b>>0]|0)+e|0)>64){g=64;return g|0}g=(d[246560+(((qS(c)|0)&255)*14|0)+b>>0]|0)+e&255;return g|0}}return 0}function pT(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;l=Gc;Gc=Gc+256|0;k=l;DY(k|0,0,256)|0;if((f&255)<=(e&255)){a[b+16>>0]=0;k=1;Gc=l;return k|0}h=(f&255)-(e&255)|0;if(!(g<<24>>24))f=h&-2;else f=h+2>>2<<1;j=f>>>0<63?f:63;if(!j){k=1;Gc=l;return k|0}i=g<<24>>24?2:1;h=h-(H(j,i)|0)|0;f=0;g=0;do{c[k+(g<<2)>>2]=i;f=f+1<<24>>24;g=f&255}while(j>>>0>g>>>0);if(h|0){f=(h|0)>0;g=f?-1:1;f=f?j+255|0:0;while(1){f=f&255;i=k+(f<<2)|0;c[i>>2]=(c[i>>2]|0)-g;h=h+g|0;if(!h)break;else f=f+g|0}}a[b+26>>0]=e;f=1;h=1;do{e=h+-1|0;a[b+26+h>>0]=(c[k+(e<<2)>>2]|0)+(d[b+26+e>>0]|0);f=f+1<<24>>24;h=f&255}while(j>>>0>=h>>>0);a[b+16>>0]=(j|0)<64?j:64;k=0;Gc=l;return k|0}function qT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;y=Gc;Gc=Gc+1024|0;s=y+768|0;t=y+512|0;u=y+256|0;x=y;DY(s|0,0,256)|0;DY(t|0,0,256)|0;DY(u|0,0,256)|0;DY(x|0,0,256)|0;m=e&255;if((f&255)<=(e&255)){a[b+16>>0]=0;b=1;Gc=y;return b|0}p=+(f&255);l=+(e&255);o=p/l>2.2449;r=o?m<<1&255:f;n=+(d[246545+((g&255)+-1)>>0]|0);i=+(r&255);j=i/l;v=~~(+F(+j)*n/.6931471824645996+.5)<<1&254;v=v>>>0<63?v:63;if((v|0)<1){b=1;Gc=y;return b|0}k=+w(+j,+(1.0/+(v&255)));e=0;f=~~(l+.5);j=l;h=0;do{j=j*k;g=f;f=~~(j+.5);c[s+(h<<2)>>2]=f-g;e=e+1<<24>>24;h=e&255}while((v|0)>=(h|0));AV(s,v,4,12);c[u>>2]=m;h=1;e=1;do{g=e+-1|0;m=c[s+(g<<2)>>2]|0;c[u+(e<<2)>>2]=m+(c[u+(g<<2)>>2]|0);h=h+1<<24>>24;if(!m){h=1;q=26;break}e=h&255}while((v|0)>=(e|0));if((q|0)==26){Gc=y;return h|0}if(!o){h=0;e=0;do{a[b+26+e>>0]=c[u+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((v|0)>=(e|0));a[b+16>>0]=(v|0)<64?v:64;b=0;Gc=y;return b|0}j=p/i;m=~~(+F(+j)*n/.9010912775993347+.5)<<1&254;m=m>>>0<63?m:63;j=+w(+j,+(1.0/+(m&255)));g=m+-1|0;if((m|0)>0){f=~~(i+.5);h=0;e=0;do{i=i*j;q=f;f=~~(i+.5);c[t+(e<<2)>>2]=f-q;h=h+1<<24>>24;e=h&255}while((m|0)>(e|0));e=t;f=c[t>>2]|0}else{e=t;f=0}h=s+(v+-1<<2)|0;if((f|0)<(c[h>>2]|0)){AV(t,m+1|0,4,12);q=c[h>>2]|0;o=c[e>>2]|0;c[e>>2]=q;s=t+(g<<2)|0;c[s>>2]=o-q+(c[s>>2]|0)}AV(t,m,4,12);c[x>>2]=r&255;a:do if((m|0)>=1){h=1;e=1;while(1){r=e+-1|0;s=c[t+(r<<2)>>2]|0;c[x+(e<<2)>>2]=s+(c[x+(r<<2)>>2]|0);h=h+1<<24>>24;if(!s){h=1;break}e=h&255;if((m|0)<(e|0))break a}Gc=y;return h|0}while(0);f=m+v|0;f=(f>>>0<64?f:64)&255;a[b+16>>0]=f;h=0;e=0;do{a[b+26+e>>0]=c[u+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((v|0)>=(e|0));e=v+1|0;h=e&255;if((f&255)<(h&255)){b=0;Gc=y;return b|0}while(1){a[b+26+e>>0]=c[x+(e-v<<2)>>2];e=h+1<<24>>24;if((e&255)>(f&255)){h=0;break}else{h=e;e=e&255}}Gc=y;return h|0}function rT(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b+16>>0]|0;h=c&255;if((f&255)<=(c&255)){b=1;return b|0}i=(f&255)-h|0;g=i&255;a[b+17>>0]=g;l=(i>>>1&127)+(i&1)|0;k=l&255;a[b+18>>0]=k;a[b+24>>0]=k;a[b+25>>0]=g;f=0;c=0;while(1){a[b+154+c>>0]=a[c+h+(b+26)>>0]|0;c=f+1<<24>>24;if((c&255)>(g&255))break;else{f=c;c=c&255}}h=a[b+154>>0]|0;c=h&255;f=(d[(i&255)+(b+154)>>0]|0)-c|0;a[b+15>>0]=f;a[b+14>>0]=h;if((h&255)>32){b=1;return b|0}if(((f&255)+c|0)>>>0>64){b=1;return b|0}g=i&1;f=0;c=0;while(1){j=f<<24>>24==0?0:(c<<1)-g&255;a[b+90+c>>0]=a[(j&255)+(b+154)>>0]|0;c=f+1<<24>>24;if((c&255)>(k&255))break;else{f=c;c=c&255}}k=b+19|0;a[k>>0]=0;c=a[b+53437>>0]|0;if(!(c<<24>>24))h=1;else{h=~~(+F(+(+(e&255)/+(h&255)))*+(c&255)/.6931471824645996+.5);h=((h|0)>1?h:1)&255;a[k>>0]=h;h=(h&255)<5?h:5}a[k>>0]=h;i=h&255;g=0;c=j;f=0;while(1){if(!(g<<24>>24))c=0;else{c=c&255;c=((l-c|0)/(1-f+i|0)|0)+c&255}a[b+218+f>>0]=a[(c&255)+(b+90)>>0]|0;f=g+1<<24>>24;if((f&255)>(h&255)){c=0;break}else{g=f;f=f&255}}while(1){a:do if(h<<24>>24){g=0;f=0;while(1){if(c>>>0>=(d[b+218+f>>0]|0)>>>0?c>>>0<(d[f+1+(b+218)>>0]|0)>>>0:0)break;f=g+1<<24>>24;if((f&255)<(h&255)){g=f;f=f&255}else break a}a[b+538+c>>0]=g}while(0);c=c+1|0;if((c|0)==64){c=0;break}h=a[k>>0]|0}return c|0}function sT(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function tT(d){d=d|0;var e=0,f=0,g=0;e=dS(8)|0;f=(d&255)*80|0;g=dS(f)|0;c[e>>2]=g;DY(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function uT(d){d=d|0;var e=0,f=0,g=0;e=dS(8)|0;f=(d&255)*160|0;g=dS(f)|0;c[e>>2]=g;DY(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function vT(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;p=f+8|0;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[f+20>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}if(h|0){f=32;return f|0}h=c[p>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>30;o=f+20|0;do if(!(a[o>>0]|0))if(h>>>0>2){h=h+-2|0;c[p>>2]=h;i=i&255;j=e+4|0;a[j>>0]=i;l=14;break}else{aS(f,2);h=c[p>>2]|0;l=13;break}else l=13;while(0);if((l|0)==13){i=i&255;j=e+4|0;a[j>>0]=i;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0)){aS(f,1);k=j;i=a[j>>0]|0}else k=j}else l=14}if((l|0)==14){h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1;k=j}a[e+13>>0]=h;m=b+4|0;if((a[m>>0]|0)==23)if(!(i<<24>>24))l=35;else{f=32;return f|0}else if(i<<24>>24==2){h=c[p>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>28;do if(!(a[o>>0]|0))if(h>>>0>4){j=h+-4|0;c[p>>2]=j;break}else{aS(f,4);j=c[p>>2]|0;break}else j=h;while(0);a[e>>0]=i;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[o>>0]|0))if(j>>>0>7){c[p>>2]=j+-7;break}else{aS(f,7);break}while(0);a[e+14>>0]=h}else l=35;if((l|0)==35){i=c[p>>2]|0;if(i>>>0<6){h=6-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>26;do if(!(a[o>>0]|0))if(i>>>0>6){c[p>>2]=i+-6;break}else{aS(f,6);break}while(0);a[e>>0]=h}h=pU(b,e)|0;if(h<<24>>24){f=h;return f|0}if((d[e>>0]|0)>(d[e+1>>0]|0)){f=16;return f|0}if((a[k>>0]|0)==2){f=0;return f|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+9042>>0]=l;if(!(l<<24>>24)){f=0;return f|0}h=a[m>>0]|0;if(h<<24>>24==1){g=a[e>>0]|0;h=b+3|0;if((g&255)<((sS(a[h>>0]|0)|0)&255))j=a[e>>0]|0;else j=sS(a[h>>0]|0)|0;a[e+10221>>0]=j;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}b=h&255;a[e+10222>>0]=b;if(b<<24>>24){i=c[p>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>27;do if(!(a[o>>0]|0))if(i>>>0>5){c[p>>2]=i+-5;break}else{aS(f,5);break}while(0);a[e+10223>>0]=h}if(!(j<<24>>24)){f=0;return f|0}k=f+4|0;j=j&255;i=0;do{h=c[p>>2]|0;if(!h){h=(c[k>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}a[e+10224+i>>0]=h;i=i+1|0}while((i|0)!=(j|0));h=0;return h|0}do if((h&255)>=17){if(g<<24>>24){f=0;return f|0}}else{h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+10277>>0]=l;if(l<<24>>24?(n=wT(b,e,e+10276|0,f)|0,n<<24>>24):0){f=n;return f|0}if(!(g<<24>>24)){if((d[m>>0]|0)>16)break;else h=0;return h|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10359>>0]=p;if(!(p<<24>>24)){f=0;return f|0}f=wT(b,e,e+10358|0,f)|0;return f|0}while(0);h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))aS(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10277>>0]=p;if(!(p<<24>>24)){f=0;return f|0}wT(b,e,e+10276|0,f)|0;f=0;return f|0}function wT(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=h+2|0;b[n>>1]=0;o=i+8|0;if((a[f+4>>0]|0)==23){k=c[o>>2]|0;if(!k)j=c[i+4>>2]|0;else j=c[i>>2]<<32-k;j=j>>>31;do if(!(a[i+20>>0]|0))if(k>>>0>1){c[o>>2]=k+-1;break}else{aS(i,1);break}while(0);p=j&255;a[h+4>>0]=p;if(!(p<<24>>24))j=b[n>>1]|0;else{l=10;m=11}}else{l=11;m=11}if((m|0)==11){k=c[o>>2]|0;if(k>>>0<l>>>0){j=l-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>(32-l|0);do if(!(a[i+20>>0]|0))if(k>>>0>l>>>0){c[o>>2]=k-l;break}else{aS(i,l);break}while(0);j=j&65535;b[n>>1]=j}if(e[f+10>>1]<<1>>>0<(j&65535)>>>0){i=18;return i|0}f=i+8|0;k=c[f>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>29;p=i+20|0;do if(!(a[p>>0]|0))if(k>>>0>3){c[f>>2]=k+-3;break}else{aS(i,3);break}while(0);a[h+5>>0]=j;if((a[g+4>>0]|0)!=2){j=a[g>>0]|0;j=(j&255)<40?j:40;a[h>>0]=j;if(!(j<<24>>24)){i=0;return i|0}n=i+4|0;m=0;do{l=m&255;k=c[f>>2]|0;if(!k){k=(c[n>>2]|0)>>>31;if(!(a[p>>0]|0)){aS(i,1);j=a[h>>0]|0}}else{k=k+-1|0;c[f>>2]=k;k=(c[i>>2]|0)>>>k&1}a[h+6+l>>0]=k;m=m+1<<24>>24}while((m&255)<(j&255));j=0;return j|0}n=g+3|0;if(!(a[n>>0]|0)){i=0;return i|0}o=i+4|0;m=0;l=0;while(1){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))aS(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+57+l>>0]=g;if(g<<24>>24){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))aS(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+65+l>>0]=g;if(g<<24>>24){k=c[f>>2]|0;if(k>>>0<4){j=4-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>28;do if(!(a[p>>0]|0))if(k>>>0>4){c[f>>2]=k+-4;break}else{aS(i,4);break}while(0);a[h+73+l>>0]=j}}j=m+1<<24>>24;if((j&255)<(d[n>>0]|0)){m=j;l=j&255}else{j=0;break}}return j|0}function xT(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=h+8|0;k=c[E>>2]|0;if(k>>>0<8){l=8-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>24;C=h+20|0;do if(!(a[C>>0]|0))if(k>>>0>8){c[E>>2]=k+-8;break}else{aS(h,8);break}while(0);A=i+7810|0;a[A>>0]=l;if((a[g+5>>0]|0)==0?(m=vT(f,i,h,0)|0,m<<24>>24):0){j=m;return j|0}G=i+4|0;s=(a[G>>0]|0)==2?3:5;F=i+2|0;k=a[F>>0]|0;a:do if(k<<24>>24){u=f+6|0;v=h+4|0;w=i+9038|0;x=32-s|0;y=(1<<s)+255&255;z=i+9037|0;t=0;l=a[i>>0]|0;r=0;b:while(1){if(!(l<<24>>24)){a[i+7802+r>>0]=0;l=0}else{q=0;l=0;o=0;while(1){if(a[C>>0]|0){k=14;B=168;break b}g=(a[u>>0]|0)==0?4:5;m=c[E>>2]|0;if(m>>>0<g>>>0){k=g-m|0;k=(c[h>>2]&(1<<m)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-m>>>(32-g|0);if(m>>>0>g>>>0)c[E>>2]=m-g;else aS(h,g);k=k&255;n=q&255;p=i+2042+(r*120|0)+n|0;a[p>>0]=k;switch(k<<24>>24){case 12:{k=32;B=168;break b}case 13:{a[z>>0]=1;k=a[p>>0]|0;break}default:{}}if((k&-2)<<24>>24==14)a[w>>0]=1;if((a[u>>0]|0)!=0?(m=a[p>>0]|0,m<<24>>24==11|(m+-16&255)<17):0)k=1;else B=28;do if((B|0)==28){B=0;g=c[E>>2]|0;if(g>>>0<s>>>0){k=s-g|0;k=(c[h>>2]&(1<<g)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-g>>>x;if(!(a[C>>0]|0))if(g>>>0>s>>>0){c[E>>2]=g-s;break}else{aS(h,s);break}}while(0);k=k&255;if((k|0)==(y|0)){k=y;do{m=c[E>>2]|0;if(m>>>0<s>>>0){g=s-m|0;g=(c[h>>2]&(1<<m)+-1)<<g|(c[v>>2]|0)>>>(32-g|0)}else g=c[h>>2]<<32-m>>>x;do if(!(a[C>>0]|0))if(m>>>0>s>>>0){c[E>>2]=m-s;break}else{aS(h,s);break}while(0);m=g&255;k=m+(k&65535)|0}while((m|0)==(y|0))}b[i+3002+(r*240|0)+(n<<1)>>1]=l&255;g=(k&65535)+o|0;b[i+4922+(r*240|0)+(n<<1)>>1]=g;if((a[G>>0]|0)==2){if((q&255)>119|g>>>0>120){k=15;B=168;break b}}else if((q&255)>50|g>>>0>51){k=15;B=168;break b}k=l&255;if(g>>>0>k>>>0)do{a[i+6842+(r*120|0)+k>>0]=a[p>>0]|0;l=l+1<<24>>24;k=l&255}while(g>>>0>k>>>0);l=g&255;q=q+1<<24>>24;k=a[i>>0]|0;if((k&255)<=(l&255))break;else o=g&255}a[i+7802+r>>0]=q;if(k<<24>>24!=l<<24>>24){k=32;B=168;break}k=a[F>>0]|0}g=t+1<<24>>24;if((g&255)<(k&255)){t=g;r=g&255}else{l=k;break a}}if((B|0)==168)return k|0}else l=0;while(0);u=f+7|0;c:do if(!(a[u>>0]|0)){k=a[A>>0]|0;if(l<<24>>24){t=h+4|0;p=0;m=k&255;g=1;s=0;n=(k&255)+65446&65535;k=a[i>>0]|0;r=0;d:while(1){if(!(k<<24>>24))k=0;else{q=0;o=0;while(1){switch(a[i+6842+(r*120|0)+o>>0]|0){case 0:{k=0;break}case 14:case 15:{k=(p&65535)+65476+((bU(h)|0)<<24>>24)&65535;p=k;break}case 13:{if(!(g<<24>>24))k=((bU(h)|0)<<24>>24)+65476|0;else{l=c[E>>2]|0;if(l>>>0<9){k=9-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[t>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>23;do if(!(a[C>>0]|0))if(l>>>0>9){c[E>>2]=l+-9;break}else{aS(h,9);break}while(0);k=(k<<16>>16)+-256|0}k=k+(n&65535)&65535;n=k;g=0;break}default:{b[i+7812+(r*102|0)+(o<<1)>>1]=0;B=(m&65535)+65476+((bU(h)|0)<<24>>24)|0;k=B&65535;if(B<<16>>>0>16711680){k=4;break d}else m=k}}b[i+7812+(r*102|0)+(o<<1)>>1]=k;l=q+1<<24>>24;k=a[i>>0]|0;if((l&255)<(k&255)){q=l;o=l&255}else break}l=a[F>>0]|0}o=s+1<<24>>24;if((o&255)<(l&255)){s=o;r=o&255}else break c}return k|0}}else{k=cU(i,h)|0;if(k<<24>>24){j=k;return j|0}}while(0);k=c[E>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[C>>0]|0))aS(h,1)}else{k=k+-1|0;c[E>>2]=k;k=(c[h>>2]|0)>>>k&1}B=k&255;w=i+9039|0;a[w>>0]=B;if(B<<24>>24){k=c[E>>2]|0;if(k>>>0<2){l=2-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>30;do if(!(a[C>>0]|0))if(k>>>0>2){k=k+-2|0;c[E>>2]=k;break}else{aS(h,2);k=c[E>>2]|0;break}while(0);o=i+9043|0;a[o>>0]=l;if(k>>>0<6){l=6-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>26;do if(!(a[C>>0]|0))if(k>>>0>6){c[E>>2]=k+-6;break}else{aS(h,6);break}while(0);a[i+9044>>0]=l;if((l&255)>>>0>(d[i+1>>0]|0)>>>0){j=16;return j|0}n=h+4|0;m=0;g=0;while(1){l=c[E>>2]|0;if(l>>>0<5){k=5-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>27;do if(!(a[C>>0]|0))if(l>>>0>5){c[E>>2]=l+-5;break}else{aS(h,5);break}while(0);a[i+9045+g>>0]=k;l=c[E>>2]|0;if(l>>>0<4){k=4-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>28;do if(!(a[C>>0]|0))if(l>>>0>4){c[E>>2]=l+-4;break}else{aS(h,4);break}while(0);a[i+9049+g>>0]=k;k=m+1<<24>>24;if((d[o>>0]|0)<(k&255))break;else{m=k;g=k&255}}}k=c[E>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[C>>0]|0))aS(h,1)}else{k=k+-1|0;c[E>>2]=k;k=(c[h>>2]|0)>>>k&1}B=k&255;n=i+9040|0;a[n>>0]=B;if(B<<24>>24?(d[f+4>>0]|0)<17:0)dU(i,i+9053|0,h);k=c[E>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[C>>0]|0))aS(h,1)}else{k=k+-1|0;c[E>>2]=k;k=(c[h>>2]|0)>>>k&1}B=k&255;a[i+9041>>0]=B;if(B<<24>>24){j=1;return j|0}m=f+8|0;if(a[m>>0]|0){k=c[E>>2]|0;if(k>>>0<14){l=14-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>18;do if(!(a[C>>0]|0))if(k>>>0>14){c[E>>2]=k+-14;break}else{aS(h,14);break}while(0);g=i+10440|0;b[g>>1]=l;k=l&65535;if((a[f+5>>0]|0)==2){if(k>>>0>6144)b[g>>1]=6144}else if(k>>>0>12288)b[g>>1]=12288;l=c[E>>2]|0;if(l>>>0<6){k=6-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[h+4>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>26;do if(!(a[C>>0]|0))if(l>>>0>6){c[E>>2]=l+-6;break}else{aS(h,6);break}while(0);a[i+10442>>0]=(k&255)>>>0>48?49:k&255}if(a[u>>0]|0?(D=eU(i,h)|0,D<<24>>24):0){j=D;return j|0}if((d[f+4>>0]|0)>16?a[n>>0]|0:0)dU(i,i+9053|0,h);e:do if(!(a[m>>0]|0)){k=a[F>>0]|0;if(k<<24>>24){u=(e[f+10>>1]|0)>>>3&65535;t=0;g=0;v=0;f:while(1){s=g&255;r=i+7802+v|0;l=a[r>>0]|0;if(l<<24>>24){q=0;k=(H(s,u)|0)&65535;g=0;do{p=a[i+2042+(v*120|0)+g>>0]|0;g:do switch(p<<24>>24){case 14:case 15:case 13:case 0:{k=(e[i+16+(v*240|0)+(e[i+4922+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)+(k&65535)-(e[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)&65535;break}default:{m=b[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0;o=i+4922+(v*240|0)+(g<<1)|0;if((m&65535)>=(e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0))break g;n=(p&255)>4?2:4;g=m&65535;while(1){l=k&65535;k=gU(p,h,j+(l<<1)|0)|0;if(k<<24>>24)break f;k=n+l&65535;l=g+n|0;if((e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0)<=(l&65535))break;else g=l&65535}l=a[r>>0]|0}}while(0);q=q+1<<24>>24;g=q<<24>>24}while((g|0)<(l&255|0));k=a[F>>0]|0}l=t+1<<24>>24;if((l&255)<(k&255)){t=l;g=s+(d[i+5+v>>0]|0)|0;v=l&255}else break e}return k|0}}else{k=fU(f,i,h,j)|0;if(k<<24>>24){j=k;return j|0}}while(0);if(a[w>>0]|0){if((a[G>>0]|0)==2){j=2;return j|0}k=hU(i,j,b[f+10>>1]|0)|0;if(k<<24>>24){j=k;return j|0}}j=0;return j|0}function yT(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Gc;Gc=Gc+8192|0;r=u+4096|0;s=u;t=f+25|0;if(!(a[(d[t>>0]|0)+(f+74)>>0]|0)){n=b[i+2>>1]|0;m=f+4|0;o=d[i>>0]|0;if((a[m>>0]|0)==1){l=f+1136+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=dS((e[q>>1]|0)*12|0)|0;c[l>>2]=p;zT(p,b[q>>1]|0)}l=f+1136+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=dS((e[q>>1]|0)*12|0)|0;c[l>>2]=p;zT(p,b[q>>1]|0)}}if((AT(a[m>>0]|0)|0)<<24>>24){l=f+1392+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=dS(e[q>>1]<<3)|0;c[l>>2]=p;DY(p|0,0,e[q>>1]<<3|0)|0}l=f+1392+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=dS(e[q>>1]<<3)|0;c[l>>2]=p;DY(p|0,0,e[q>>1]<<3|0)|0}}m=f+328+(o<<2)|0;if(!(c[m>>2]|0)){l=(d[t>>0]|0)+(f+843)|0;a[l>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=1;else{a[l>>0]=1;l=2}q=f+10|0;p=l<<2;v=dS(H(p,e[q>>1]|0)|0)|0;c[m>>2]=v;DY(v|0,0,H(p,e[q>>1]|0)|0)|0}else l=1;n=n&255;m=f+328+(n<<2)|0;if(!(c[m>>2]|0)){v=f+10|0;q=l<<2;p=dS(H(q,e[v>>1]|0)|0)|0;c[m>>2]=p;DY(p|0,0,H(q,e[v>>1]|0)|0)|0}l=f+584+(o<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=dS(e[v>>1]<<2)|0;c[l>>2]=q;DY(q|0,0,e[v>>1]<<2|0)|0}l=f+584+(n<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=dS(e[v>>1]<<2)|0;c[l>>2]=q;DY(q|0,0,e[v>>1]<<2|0)|0}a[(d[t>>0]|0)+(f+74)>>0]=1}q=f+10|0;l=BT(g,j,r)|0;if(l<<24>>24){v=l;Gc=u;return v|0}l=BT(h,k,s)|0;if(l<<24>>24){v=l;Gc=u;return v|0}l=b[q>>1]|0;k=f+4|0;m=a[k>>0]|0;n=f+1648|0;o=f+1652|0;if(!(a[g+8628>>0]|0)){CT(g,0,r,0,l,0,m,n,o);CT(h,0,s,0,b[q>>1]|0,0,a[k>>0]|0,n,o)}else CT(g,h,r,s,l,1,m,n,o);DT(g,h,r,s,b[q>>1]|0);ET(g,h,r,s,b[q>>1]|0);l=a[k>>0]|0;if(l<<24>>24==1){v=f+3|0;FT(g,r,c[f+1136+(d[i>>0]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);l=i+2|0;FT(h,s,c[f+1136+(b[l>>1]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);GT(g,c[f+1136+(d[i>>0]<<2)>>2]|0);GT(h,c[f+1136+(b[l>>1]<<2)>>2]|0);l=a[k>>0]|0}if(!((AT(l)|0)<<24>>24))p=f+3|0;else{o=g+10276|0;j=a[i+5>>0]|0?h+10358|0:h+10276|0;l=a[k>>0]|0;if(l<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[i>>0]<<1)>>1]=b[g+10278>>1]|0;m=a[i>>0]|0;b[g+10278>>1]=b[f+192+((m&255)<<1)>>1]|0;if((a[j+1>>0]|0)!=0?(a[j+4>>0]|0)!=0:0){b[f+192+(b[i+2>>1]<<1)>>1]=b[j+2>>1]|0;l=a[k>>0]|0}else l=23;n=i+2|0;b[j+2>>1]=b[f+192+(b[n>>1]<<1)>>1]|0}else{n=i+2|0;m=a[i>>0]|0}v=m&255;m=f+320|0;p=f+3|0;HT(g,o,r,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[g+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,l,b[q>>1]|0);v=b[n>>1]|0;HT(h,j,s,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[h+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,a[k>>0]|0,b[q>>1]|0)}IT(g,g+9053|0,a[p>>0]|0,a[k>>0]|0,r,b[q>>1]|0);IT(h,h+9053|0,a[p>>0]|0,a[k>>0]|0,s,b[q>>1]|0);l=f+324|0;m=c[l>>2]|0;do if(!(a[m>>0]|0))m=i+2|0;else{if(!((a[(d[i>>0]|0)+(m+56)>>0]|0)!=0?(a[m+3>>0]|0)!=0:0)){JT(m,r);m=c[l>>2]|0}l=i+2|0;if(a[(b[l>>1]|0)+(m+56)>>0]|0?a[m+3>>0]|0:0){m=l;break}JT(m,s);m=l}while(0);o=f+320|0;j=g+13|0;v=d[i>>0]|0;KT(c[o>>2]|0,a[g+4>>0]|0,a[j>>0]|0,a[f+128+v>>0]|0,r,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);v=h+13|0;r=b[m>>1]|0;KT(c[o>>2]|0,a[h+4>>0]|0,a[v>>0]|0,a[f+128+r>>0]|0,s,c[f+328+(r<<2)>>2]|0,c[f+584+(r<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);a[(d[i>>0]|0)+(f+128)>>0]=a[j>>0]|0;a[(b[m>>1]|0)+(f+128)>>0]=a[v>>0]|0;if((AT(a[k>>0]|0)|0)<<24>>24){v=d[i>>0]|0;LT(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0);v=b[m>>1]|0;LT(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0)}l=(a[f+840>>0]|0)==1;if(!l?(a[f+841>>0]|0)!=1:0)k=61;else k=55;do if((k|0)==55){n=d[t>>0]|0;if(!(a[f+843+n>>0]|0))if(l){k=62;break}else{k=61;break}j=d[i>>0]|0;o=b[m>>1]|0;m=f+892+(n<<2)|0;l=c[m>>2]|0;if(!l){r=b[q>>1]|0;s=a[f+2128+n>>0]|0;l=(rS(a[p>>0]|0)|0)<<1;v=f+842|0;l=ZS(r,s,l,a[v>>0]|0)|0;c[m>>2]=l;m=v}else m=f+842|0;s=a[i+6>>0]|0;s=b[i+1942+(((s&255)>1?(s&255)+-1|0:0)<<1)>>1]|0;v=b[i+2046>>1]|0;v=((s&65535)<(v&65535)?s:v)&65535;c[l+4>>2]=(a[i+10>>0]|0)==2?v<<3:v;l=MT(l,c[f+328+(j<<2)>>2]|0,c[f+328+(o<<2)>>2]|0,a[f+12>>0]|0,a[m>>0]|0)|0;if(l<<24>>24){v=l;Gc=u;return v|0}}while(0);if((k|0)==61?(a[f+841>>0]|0)==1:0)k=62;if((k|0)==62?(a[(d[t>>0]|0)+(f+843)>>0]|0)==0:0){v=23;Gc=u;return v|0}v=0;Gc=u;return v|0}function zT(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;if(!(c<<16>>16))return;d=c&65535;c=0;do{e=a+(c*12|0)|0;f=e;b[f>>1]=0;b[f+2>>1]=0>>>16;e=e+4|0;b[e>>1]=0;b[e+2>>1]=0>>>16;b[a+(c*12|0)+8>>1]=16256;b[a+(c*12|0)+10>>1]=16256;c=c+1|0}while((c|0)!=(d|0));return}function AT(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 4:{a=1;break}default:a=0}return a|0}function BT(c,d,g){c=c|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=a[c+2>>0]|0;if(!(C<<24>>24)){D=0;return D|0}B=a[c+1>>0]|0;D=c+1936+((B&255)<<1)|0;j=0;l=0;h=0;A=0;z=0;i=B;while(1){if(!(i<<24>>24)){m=0;j=j&65535;i=0}else{j=j&65535;x=c+5+z|0;y=e[D>>1]|0;k=a[x>>0]|0;m=0;q=0;w=0;p=k;i=0;while(1){o=(e[c+1936+(i+1<<1)>>1]|0)-(e[c+1936+(i<<1)>>1]|0)|0;s=b[c+7812+(z*102|0)+(i<<1)>>1]|0;t=s<<16>>16;s=(s&65535)>255;v=q&65535;u=+f[133292+((s?0:t>>2)<<2)>>2]*+f[133548+((s?0:t&3)<<2)>>2];if(!(k<<24>>24)){i=o&65535;k=0}else{i=o&65535;t=(i|0)==0;s=0;r=q+j|0;while(1){if(t)k=p;else{k=0;q=0;do{o=k+r|0;p=l&65535;k=b[d+(p<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[133564+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[133564+(l<<2)>>2];else{n=0.0;h=17}o=o&65535;f[g+(o<<2)>>2]=u*n;k=b[d+(p+1<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[133564+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[133564+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+1<<2)>>2]=u*n;k=b[d+(p+2<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[133564+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[133564+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+2<<2)>>2]=u*n;k=b[d+(p+3<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[133564+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[133564+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+3<<2)>>2]=u*n;m=(m&65535)+4&65535;l=p+4&65535;k=q+4|0;q=k&65535}while(q>>>0<i>>>0);k=a[x>>0]|0}s=s+1<<24>>24;if((s&255)>=(k&255)){p=k;break}else{r=(r&65535)+y|0;p=k}}}o=w+1<<24>>24;if((o&255)<(B&255)){q=i+v|0;w=o;i=o&255}else{i=B;break}}}k=A+1<<24>>24;if((k&255)<(C&255)){j=j+(m&65535)&65535;A=k;z=k&255}else break}return h|0}function CT(g,h,i,j,k,l,m,n,o){g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0.0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0.0;J=g+2|0;if(!(a[J>>0]|0))return;I=g+2040|0;G=(k&65535)>>>3&65535;D=l<<24>>24==0;E=g+8628|0;F=h+2040|0;C=0;m=0;B=0;while(1){A=g+5+B|0;k=a[A>>0]|0;if(k<<24>>24){z=0;l=a[g>>0]|0;do{if(!(l<<24>>24))l=0;else{y=H(m&255,G)|0;x=0;w=0;while(1){if((a[g+6842+(B*120|0)+w>>0]|0)==13){a[g+10282+w>>0]=0;a[g+10364+w>>0]=0;a[g+10224+w>>0]=0;t=b[g+1936+(w+1<<1)>>1]|0;r=b[I>>1]|0;u=e[g+1936+(w<<1)>>1]|0;r=(((t&65535)<(r&65535)?t:r)&65535)-u|0;t=r&65535;u=i+(y+u<<2)|0;p=b[g+7812+(B*102|0)+(w<<1)>>1]|0;s=1.0/+(t&65535);t=t<<16>>16==0;if(t)q=0.0;else{l=r&65535;q=0.0;k=0;do{L=s*+(vS(n,o)|0);f[u+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+v(+q);q=q*+rb(+(+(p<<16>>16)*.25));if(!t){l=r&65535;k=0;do{t=u+(k<<2)|0;f[t>>2]=q*+f[t>>2];k=k+1|0}while((k|0)!=(l|0))}}a:do if(!D?(a[h+6842+(B*120|0)+w>>0]|0)==13:0){switch(a[E>>0]|0){case 1:{if(a[g+8629+(B*51|0)+w>>0]|0)K=18;break}case 2:{K=18;break}default:{}}if((K|0)==18){K=0;u=b[h+1936+(w+1<<1)>>1]|0;r=b[F>>1]|0;k=e[h+1936+(w<<1)>>1]|0;r=(((u&65535)<(r&65535)?u:r)&65535)-k&65535;if(!r)break;l=y+k|0;k=0;p=0;while(1){w=l+p|0;c[j+(w<<2)>>2]=c[i+(w<<2)>>2];k=k+1<<16>>16;p=k&65535;if(r>>>0<=p>>>0)break a}}a[h+10282+w>>0]=0;a[h+10364+w>>0]=0;a[h+10224+w>>0]=0;r=b[h+1936+(w+1<<1)>>1]|0;t=b[F>>1]|0;u=e[h+1936+(w<<1)>>1]|0;t=(((r&65535)<(t&65535)?r:t)&65535)-u|0;r=t&65535;u=j+(y+u<<2)|0;p=b[h+7812+(B*102|0)+(w<<1)>>1]|0;s=1.0/+(r&65535);r=r<<16>>16==0;if(r)q=0.0;else{l=t&65535;q=0.0;k=0;do{L=s*+(vS(n,o)|0);f[u+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+v(+q);q=q*+rb(+(+(p<<16>>16)*.25));if(!r){l=t&65535;k=0;do{w=u+(k<<2)|0;f[w>>2]=q*+f[w>>2];k=k+1|0}while((k|0)!=(l|0))}}while(0);k=x+1<<24>>24;l=a[g>>0]|0;if((k&255)<(l&255)){x=k;w=k&255}else break}k=a[A>>0]|0}m=m+1<<24>>24;z=z+1<<24>>24}while((z&255)<(k&255))}k=C+1<<24>>24;if((k&255)<(d[J>>0]|0)){C=k;B=k&255}else break}return}function DT(c,d,e,g,h){c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;i=a[c+8628>>0]|0;if(!(i<<24>>24))return;v=a[c+2>>0]|0;if(!(v<<24>>24))return;s=c+2040|0;r=(h&65535)>>>3&65535;j=0;q=0;p=0;while(1){o=c+5+p|0;h=a[o>>0]|0;if(h<<24>>24){n=a[c>>0]|0;m=0;k=n;do{if(!(k<<24>>24))k=0;else{l=H(j&255,r)|0;k=0;h=0;while(1){if(!(a[c+8629+(p*51|0)+h>>0]|0)){if(i<<24>>24==2){i=2;w=10}}else w=10;if((w|0)==10){w=0;if(((a[d+6842+(p*120|0)+h>>0]|1)<<24>>24!=15?(a[c+6842+(p*120|0)+h>>0]|0)!=13:0)?(t=b[c+1936+(h<<1)>>1]|0,u=c+1936+(h+1<<1)|0,x=b[u>>1]|0,h=b[s>>1]|0,(t&65535)<(((x&65535)<(h&65535)?x:h)&65535)):0){h=t;do{y=l+(h&65535)&65535;x=e+(y<<2)|0;A=+f[x>>2];y=g+(y<<2)|0;z=+f[y>>2];f[x>>2]=A+z;f[y>>2]=A-z;h=h+1<<16>>16;y=b[u>>1]|0;x=b[s>>1]|0}while((h&65535)<(((y&65535)<(x&65535)?y:x)&65535))}}h=k+1<<24>>24;if((h&255)<(n&255)){k=h;h=h&255}else break}h=a[o>>0]|0;k=n}j=j+1<<24>>24;m=m+1<<24>>24}while((m&255)<(h&255))}h=q+1<<24>>24;if((h&255)<(v&255)){q=h;p=h&255}else break}return}function ET(c,e,g,h,i){c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0;D=e+2|0;j=a[D>>0]|0;if(!(j<<24>>24))return;E=c+2040|0;z=(i&65535)>>>3&65535;y=c+8628|0;x=0;i=0;v=0;while(1){u=e+5+v|0;l=a[u>>0]|0;if(l<<24>>24){t=0;k=a[e>>0]|0;j=l;do{if(!(k<<24>>24))k=0;else{s=H(i&255,z)|0;r=0;j=0;while(1){q=e+6842+(v*120|0)+j|0;if((a[q>>0]|1)<<24>>24==15?(a[c+10224+j>>0]=0,a[e+10224+j>>0]=0,A=+w(.5,+(+(b[e+7812+(v*102|0)+(j<<1)>>1]|0)*.25)),B=b[e+1936+(j<<1)>>1]|0,C=e+1936+(j+1<<1)|0,o=b[C>>1]|0,p=b[E>>1]|0,(B&65535)<(((o&65535)<(p&65535)?o:p)&65535)):0){l=c+8629+(v*51|0)+j|0;m=(a[y>>0]|0)==1;k=B;do{o=s+(k&65535)|0;n=+f[g+(o<<2)>>2]*A;o=h+(o<<2)|0;f[o>>2]=n;p=a[q>>0]|0;if(m)j=1-(d[l>>0]<<1)&255;else j=1;if((p<<24>>24==15?1:(p<<24>>24==14)<<31>>31)<<24>>24!=j<<24>>24)f[o>>2]=-n;k=k+1<<16>>16;o=b[C>>1]|0;p=b[E>>1]|0}while((k&65535)<(((o&65535)<(p&65535)?o:p)&65535))}j=r+1<<24>>24;k=a[e>>0]|0;if((j&255)<(k&255)){r=j;j=j&255}else break}j=a[u>>0]|0}i=i+1<<24>>24;t=t+1<<24>>24}while((t&255)<(j&255));j=a[D>>0]|0}k=x+1<<24>>24;if((k&255)<(j&255)){x=k;v=k&255}else break}return}function FT(g,i,j,k,l){g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;if((a[g+4>>0]|0)==2){if(!(k<<16>>16))return;n=k&65535;m=0;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+1|0}while((m|0)!=(n|0));return}if(!((sS(l)|0)<<24>>24))m=g+9042|0;else{M=g+2040|0;m=g+9042|0;L=0;n=0;while(1){p=b[g+1936+(n<<1)>>1]|0;K=b[g+1936+(n+1<<1)>>1]|0;o=b[M>>1]|0;o=(K&65535)<(o&65535)?K:o;if((p&65535)<(o&65535)){K=g+10224+n|0;I=o&65535;J=(a[m>>0]|0)==0;H=p&65535;do{t=i+(H<<2)|0;q=+f[t>>2];if(J)o=0;else o=(a[K>>0]|0)!=0;v=j+(H*12|0)|0;w=(c[h>>2]=e[v>>1]<<16,+f[h>>2]);x=j+(H*12|0)+2|0;y=(c[h>>2]=e[x>>1]<<16,+f[h>>2]);z=j+(H*12|0)+4|0;A=(c[h>>2]=e[z>>1]<<16,+f[h>>2]);B=j+(H*12|0)+6|0;C=(c[h>>2]=e[B>>1]<<16,+f[h>>2]);D=j+(H*12|0)+8|0;n=b[D>>1]|0;E=(c[h>>2]=(n&65535)<<16,+f[h>>2]);F=j+(H*12|0)+10|0;p=b[F>>1]|0;G=(c[h>>2]=(p&65535)<<16,+f[h>>2]);if((n&65535)>16383)u=+f[132268+((((n&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*A*+f[132780+((n&127)<<2)>>2];else u=0.0;if(o){if((p&65535)>16383)s=+f[132268+((((p&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*C*+f[132780+((p&127)<<2)>>2];else s=0.0;r=u*w;o=(f[h>>2]=r+s*y,c[h>>2]|0);n=o&-65536;if(o&32768){p=o&-8388608;s=(c[h>>2]=n,+f[h>>2]);s=s+(c[h>>2]=p|65536,+f[h>>2]);n=(f[h>>2]=s-(c[h>>2]=p,+f[h>>2]),c[h>>2]|0)}q=q+(c[h>>2]=n,+f[h>>2]);f[t>>2]=q}else r=u*w;s=q-r;b[v>>1]=(f[h>>2]=q*.953125,c[h>>2]|0)>>>16;b[x>>1]=(f[h>>2]=(w-u*q)*.953125,c[h>>2]|0)>>>16;b[z>>1]=(f[h>>2]=A*.90625+q*w,c[h>>2]|0)>>>16;b[B>>1]=(f[h>>2]=C*.90625+s*y,c[h>>2]|0)>>>16;b[D>>1]=(f[h>>2]=E*.90625+(w*w+q*q)*.5,c[h>>2]|0)>>>16;b[F>>1]=(f[h>>2]=G*.90625+(y*y+s*s)*.5,c[h>>2]|0)>>>16;H=H+1|0}while(H>>>0<I>>>0)}n=L+1<<24>>24;if((n&255)<((sS(l)|0)&255)){L=n;n=n&255}else break}}if(!(a[m>>0]|0))return;if(!(a[g+10222>>0]|0))return;m=(d[g+10223>>0]|0)+65535&65535;n=k&65535;if(m>>>0>=n>>>0)return;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+30&65535}while(m>>>0<n>>>0);return}function GT(c,d){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,o=0,p=0,q=0;if((a[c+4>>0]|0)==2)return;o=c+2|0;e=a[o>>0]|0;if(!(e<<24>>24))return;p=c+2040|0;l=0;k=0;while(1){j=c+5+k|0;f=a[j>>0]|0;if(!(f<<24>>24))f=e;else{g=a[c>>0]|0;i=0;e=g;while(1){if(!(e<<24>>24)){h=g;e=0}else{h=0;f=0;e=g;while(1){if((a[c+6842+(k*120|0)+f>>0]|0)==13?(m=b[c+1936+(f<<1)>>1]|0,g=b[c+1936+(f+1<<1)>>1]|0,n=b[p>>1]|0,n=(g&65535)<(n&65535)?g:n,(m&65535)<(n&65535)):0){e=n&65535;f=m&65535;do{g=d+(f*12|0)|0;q=g;b[q>>1]=0;b[q+2>>1]=0>>>16;g=g+4|0;b[g>>1]=0;b[g+2>>1]=0>>>16;b[d+(f*12|0)+8>>1]=16256;b[d+(f*12|0)+10>>1]=16256;f=f+1|0}while(f>>>0<e>>>0);g=a[c>>0]|0}else g=e;e=h+1<<24>>24;if((e&255)<(g&255)){h=e;f=e&255;e=g}else break}f=a[j>>0]|0;h=g;e=g}i=i+1<<24>>24;if((i&255)>=(f&255))break;else g=h}f=a[o>>0]|0}e=l+1<<24>>24;if((e&255)<(f&255)){l=e;k=e&255;e=f}else break}return}function HT(c,g,h,i,j,k,l,m,n,o){c=c|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0;z=Gc;Gc=Gc+16384|0;q=z+8192|0;w=z;r=a[c+4>>0]|0;if(r<<24>>24==2){Gc=z;return}if(!(a[g+1>>0]|0)){Gc=z;return}s=(o&65535)<<1&65534;if(s|0){t=e[g+2>>1]|0;u=+f[132236+(d[g+5>>0]<<2)>>2];p=0;v=0;do{f[q+(v<<2)>>2]=u*+(b[i+(v+s-t<<1)>>1]|0);p=p+1<<16>>16;v=p&65535}while(s>>>0>v>>>0)}_T(j,r,k,l,q,w,n,o);$T(c,c+9053|0,m,n,w,o);s=a[g>>0]|0;if(!(s<<24>>24)){Gc=z;return}t=c+2040|0;r=0;p=0;while(1){if(a[g+6+p>>0]|0?(x=b[c+1936+(p<<1)>>1]|0,o=b[c+1936+(p+1<<1)>>1]|0,y=b[t>>1]|0,y=(o&65535)<(y&65535)?o:y,(x&65535)<(y&65535)):0){p=y&65535;q=x&65535;do{o=h+(q<<2)|0;f[o>>2]=+f[w+(q<<2)>>2]+ +f[o>>2];q=q+1|0}while(q>>>0<p>>>0)}p=r+1<<24>>24;if((p&255)<(s&255)){r=p;p=p&255}else break}Gc=z;return}function IT(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=Gc;Gc=Gc+336|0;I=N+168|0;J=N+84|0;K=N;if(!(a[e+9040>>0]|0)){Gc=N;return}C=e+3|0;if(!(a[C>>0]|0)){Gc=N;return}E=e+1|0;L=K+4|0;M=J+4|0;F=e+4|0;G=e+2040|0;B=(k&65535)>>>3&65535;A=0;x=0;while(1){w=g+x|0;if(a[w>>0]|0){y=g+8+x|0;z=H(x,B)|0;u=0;v=d[E>>0]|0;r=0;while(1){k=v&65535;l=k-(d[g+16+(x<<2)+r>>0]|0)|0;v=(l|0)>0?l:0;l=a[g+48+(x<<2)+r>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[y>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(x<<2)+r>>0]|0)==0?(m?132108:132172):m?131980:132044;t=l&255;l=0;do{c[I+(l<<2)>>2]=c[m+(d[g+144+(x<<7)+(r<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(t|0));f[K>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=I+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[J+(p<<2)>>2]=+f[K+(p<<2)>>2]+n*+f[K+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));BY(L|0,M|0,l|0)|0}c[K+(q<<2)>>2]=c[m>>2];if(q>>>0<t>>>0){o=o+1|0;q=q+1|0}else break}l=v&65535;if(l>>>0>=((tS(h,i,(a[F>>0]|0)==2&1)|0)&255)>>>0)l=(tS(h,i,(a[F>>0]|0)==2&1)|0)&255;s=d[e>>0]|0;s=b[e+1936+(((l>>>0<s>>>0?l:s)&65535)<<1)>>1]|0;l=b[G>>1]|0;l=(s&65535)<(l&65535)?s:l;if(k>>>0>=((tS(h,i,(a[F>>0]|0)==2&1)|0)&255)>>>0)k=(tS(h,i,(a[F>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[G>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;s=q&65535;if((q<<16|0)>=65536?(D=(a[g+80+(x<<2)+r>>0]|0)==0,DY(I|0,0,160)|0,s<<16>>16):0){q=D?1:-1;r=t+255&255;p=0;k=j+(z+((D?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){m=l<<24>>24;n=+f[k>>2];o=0;do{O=o;o=o+1|0;n=n-+f[I+(O+m<<2)>>2]*+f[K+(o<<2)>>2]}while((o|0)!=(t|0));O=l+-1<<24>>24;l=O<<24>>24<0?r:O;O=l<<24>>24;f[I+(O+t<<2)>>2]=n;f[I+(O<<2)>>2]=n;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(s&65535))break;else k=k+(q<<2)|0}}}k=u+1<<24>>24;if((k&255)>=(d[w>>0]|0))break;else{u=k;r=k&255}}}k=A+1<<24>>24;if((k&255)<(d[C>>0]|0)){A=k;x=k&255}else break}Gc=N;return}function JT(b,c){b=b|0;c=c|0;var e=0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a[b+1>>0]|0;switch(e<<24>>24){case 1:{a[b+4>>0]=-1;break}case 0:return;default:{}}l=b+188|0;m=b+21|0;n=b+184|0;k=e&255;i=0;h=0;e=0;do{j=(d[b+4+e>>0]<<2)+4|0;if(!(a[b+22+e>>0]|0))g=+f[l>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0);else g=-(+f[n>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0));g=+rb(+(g/24.0));e=h&65535;if(j>>>0>e>>>0)do{o=c+(e<<2)|0;f[o>>2]=+f[o>>2]*g;h=h+1<<16>>16;e=h&65535}while(j>>>0>e>>>0);h=j&65535;i=i+1<<16>>16;e=i&65535}while(e>>>0<k>>>0);return}function KT(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Gc;Gc=Gc+8192|0;E=F;DY(E|0,0,8192)|0;D=k&65535;o=(k&65535)>>>3;C=o&65535;s=(k&65535)>>>4;m=(D-C|0)/2|0;d=d&255;if(j<<24>>24==23){j=a+16+(d<<2)|0;e=a+16+((e&255)<<2)|0;B=0;t=0}else{t=e&255;j=a+(d<<2)|0;e=a+(t<<2)|0;B=c[a+8+(d<<2)>>2]|0;t=c[a+8+(t<<2)>>2]|0}n=c[j>>2]|0;e=c[e>>2]|0;switch(b<<24>>24){case 0:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=8;break}case 960:case 1024:{d=a+28|0;l=8;break}default:d=0}if((l|0)==8)d=c[d>>2]|0;ZT(d,g,E);d=k<<16>>16==0;if(d){Gc=F;return}else j=0;do{f[h+(j<<2)>>2]=+f[i+(j<<2)>>2]+ +f[E+(j<<2)>>2]*+f[e+(j<<2)>>2];C=j+1|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+2|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+3|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];j=(j<<16)+262144>>16}while((j|0)<(D|0));if(d){Gc=F;return}e=D+-1|0;a=D+-2|0;b=D+-3|0;l=D+-4|0;j=0;d=0;while(1){C=d+D|0;f[i+(d<<2)>>2]=+f[E+(C<<2)>>2]*+f[n+(e+j<<2)>>2];f[i+(d+1<<2)>>2]=+f[E+(C+1<<2)>>2]*+f[n+(a+j<<2)>>2];f[i+(d+2<<2)>>2]=+f[E+(C+2<<2)>>2]*+f[n+(b+j<<2)>>2];f[i+(d+3<<2)>>2]=+f[E+(C+3<<2)>>2]*+f[n+(l+j<<2)>>2];d=(d<<16)+262144>>16;if((d|0)<(D|0))j=0-d|0;else break}Gc=F;return}case 1:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=17;break}case 960:case 1024:{d=a+28|0;l=17;break}default:d=0}if((l|0)==17)d=c[d>>2]|0;ZT(d,g,E);if(k<<16>>16){d=0;do{f[h+(d<<2)>>2]=+f[i+(d<<2)>>2]+ +f[E+(d<<2)>>2]*+f[e+(d<<2)>>2];A=d+1|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+2|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+3|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];d=(d<<16)+262144>>16}while((d|0)<(D|0))}l=m&65535;b=(l|0)==0;if(!b){d=0;j=0;do{c[i+(j<<2)>>2]=c[E+(j+D<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((l|0)>(j|0))}if(o<<16>>16){j=l+D|0;e=C+-1|0;d=0;a=0;do{f[i+(a+l<<2)>>2]=+f[E+(j+a<<2)>>2]*+f[B+(e-a<<2)>>2];d=d+1<<16>>16;a=d<<16>>16}while((C|0)>(a|0))}if(b){Gc=F;return}j=l+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0));Gc=F;return}case 2:{A=a+24|0;p=o<<1&65535;ZT(c[A>>2]|0,g,E);ZT(c[A>>2]|0,g+(C<<2)|0,E+(p<<2)|0);w=o<<2&65535;ZT(c[A>>2]|0,g+(p<<2)|0,E+(w<<2)|0);q=C*3|0;ZT(c[A>>2]|0,g+(q<<2)|0,E+(p*3<<2)|0);y=k&-8&65535;ZT(c[A>>2]|0,g+(w<<2)|0,E+(y<<2)|0);r=C*5|0;ZT(c[A>>2]|0,g+(r<<2)|0,E+(p*5<<2)|0);v=C*6|0;ZT(c[A>>2]|0,g+(v<<2)|0,E+(p*6<<2)|0);z=C*7|0;ZT(c[A>>2]|0,g+(z<<2)|0,E+(p*7<<2)|0);A=m&65535;x=(A|0)==0;if(!x){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((A|0)>(j|0))}j=o<<16>>16==0;if(!j){e=A+C|0;a=C+-1|0;b=A+p|0;l=A+q|0;m=s&65535;g=A+w|0;d=0;k=0;do{u=k+A|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k<<2)>>2]*+f[t+(k<<2)>>2];u=e+k|0;n=B+(a-k<<2)|0;o=B+(k<<2)|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+C<<2)>>2]*+f[n>>2]+ +f[E+(k+p<<2)>>2]*+f[o>>2];u=b+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+q<<2)>>2]*+f[n>>2]+ +f[E+(k+w<<2)>>2]*+f[o>>2];u=l+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+r<<2)>>2]*+f[n>>2]+ +f[E+(k+v<<2)>>2]*+f[o>>2];if((k|0)<(m|0)){u=g+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+z<<2)>>2]*+f[n>>2]+ +f[E+(k+y<<2)>>2]*+f[o>>2]}d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(C|0));if(!j){s=s&65535;t=C*9|0;h=C+-1|0;u=C*10|0;p=r-D+A|0;q=C*11|0;r=C*12|0;l=v-D+A|0;m=C*13|0;g=C*14|0;k=z-D+A|0;n=C*15|0;o=y-D+A|0;b=w-D+A|0;a=0;j=0;d=0;while(1){if((d|0)<(s|0)){j=B+(h+j<<2)|0;e=B+(d<<2)|0}else{j=B+(h+j<<2)|0;e=B+(d<<2)|0;f[i+(b+d<<2)>>2]=+f[E+(d+z<<2)>>2]*+f[j>>2]+ +f[E+(d+y<<2)>>2]*+f[e>>2]}f[i+(p+d<<2)>>2]=+f[E+(d+t<<2)>>2]*+f[j>>2]+ +f[E+(d+u<<2)>>2]*+f[e>>2];f[i+(l+d<<2)>>2]=+f[E+(d+q<<2)>>2]*+f[j>>2]+ +f[E+(d+r<<2)>>2]*+f[e>>2];f[i+(k+d<<2)>>2]=+f[E+(d+m<<2)>>2]*+f[j>>2]+ +f[E+(d+g<<2)>>2]*+f[e>>2];f[i+(o+d<<2)>>2]=+f[E+(d+n<<2)>>2]*+f[j>>2];a=a+1<<16>>16;d=a<<16>>16;if((d|0)>=(C|0))break;else j=0-d|0}}}if(x){Gc=F;return}j=A+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((A|0)>(e|0));Gc=F;return}case 3:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=47;break}case 960:case 1024:{d=a+28|0;l=47;break}default:d=0}if((l|0)==47)d=c[d>>2]|0;ZT(d,g,E);a=m&65535;e=(a|0)==0;if(!e){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((a|0)>(j|0))}if(o<<16>>16){d=0;j=0;do{B=j+a|0;f[h+(B<<2)>>2]=+f[i+(B<<2)>>2]+ +f[E+(B<<2)>>2]*+f[t+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((j|0)<(C|0))}if(!e){j=a+C|0;d=0;e=0;do{C=j+e|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((a|0)>(e|0))}if(!(k<<16>>16)){Gc=F;return}j=D+-1|0;d=0;e=0;do{f[i+(e<<2)>>2]=+f[E+(e+D<<2)>>2]*+f[n+(j-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(D|0));Gc=F;return}default:{Gc=F;return}}}function LT(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0,m=0;l=e&65535;e=e<<16>>16!=0;if(g<<24>>24==23){if(!e)return;j=l<<1;i=l*3|0;k=0;do{e=a+(k+l<<1)|0;b[a+(k<<1)>>1]=b[e>>1]|0;g=a+(k+j<<1)|0;b[e>>1]=b[g>>1]|0;h=+f[c+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=9;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=9;else e=32767}if((m|0)==9){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=13;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=13;else e=32767}if((m|0)==13){m=0;e=~~h&65535}b[a+(k+i<<1)>>1]=e;k=k+1|0}while((k|0)!=(l|0));return}else{if(!e)return;i=l<<1;j=0;do{g=a+(j+l<<1)|0;b[a+(j<<1)>>1]=b[g>>1]|0;h=+f[c+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=18;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=18;else e=32767}if((m|0)==18){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=22;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=22;else e=32767}if((m|0)==22){m=0;e=~~h&65535}b[a+(j+i<<1)>>1]=e;j=j+1|0}while((j|0)!=(l|0));return}}function MT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+16384|0;l=m;if(!b){b=20;Gc=m;return b|0}if((a[b+12436>>0]|0)!=1){b=21;Gc=m;return b|0}j=b+10|0;if(a[j>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;k=b+9|0;a[k>>0]=g<<24>>24!=0&1;g=(NT(b,e,l,0,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;h=h<<24>>24!=0;g=c[b+12448>>2]|0;if(h)OT(b,g,l,e);else PT(b,g,l,e);g=(NT(b,f,l,1,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;g=c[b+12452>>2]|0;if(h)OT(b,g,l,f);else PT(b,g,l,f);if(a[b+53426>>0]|0)a[k>>0]=0;if(c[b+12432>>2]|0?(a[j>>0]|0)==0:0){g=QT(b,0)|0;if(g<<24>>24){b=g;Gc=m;return b|0}g=QT(b,1)|0;if(g<<24>>24){b=g;Gc=m;return b|0}}f=b+53418|0;if(a[f>>0]|0){e=b+53416|0;h=0;g=0;while(1){CY(b+12456+(g<<9)|0,b+12456+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=23;else j=25}else{g=0;j=23}if((j|0)==23){DY(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;if(!(a[f>>0]|0)){g=0;j=27}else{e=b+53416|0;j=25}}if((j|0)==25){h=0;g=0;while(1){CY(b+32936+(g<<9)|0,b+32936+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=27}if((j|0)==27)DY(b+(((g&255)<<9)+32936)|0,0,((39-g&255)<<9)+512|0)|0;b=b+12428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;Gc=m;return b|0}function NT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=b+12421|0;a[B>>0]=0;C=g&255;k=c[b+12440+(C<<2)>>2]|0;i=b+12456+(C*20480|0)|0;j=a[b+53418>>0]|0;if(!(h<<24>>24)){A=b+14|0;UT(b,k,e,i,j,a[A>>0]|0);VT(b,i,i,g);h=WT(b,i,g)|0;if(!((h|a[b+9>>0])<<24>>24)){t=b+53416|0;e=a[t>>0]|0;if(!(e<<24>>24)){C=h;return C|0}u=b+616+(C*6|0)|0;v=b+12420|0;w=b+12423|0;x=b+12422|0;y=b+15|0;z=b+53419|0;s=0;r=0;do{q=s<<16>>16;p=(r|0)<(d[u>>0]|0);l=a[(p?x:B)>>0]|0;m=a[(p?w:y)>>0]|0;p=a[(p?v:A)>>0]|0;o=p&255;n=o+(l&255)|0;if(n|0){j=r+(d[z>>0]|0)|0;i=0;g=0;do{c[f+(r<<9)+(g<<3)>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)>>2];c[f+(r<<9)+(g<<3)+4>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)+4>>2];i=i+1<<16>>16;g=i<<16>>16}while((n|0)>(g|0))}j=o+(m&255)|0;if(j>>>0>n>>>0){g=r+(d[z>>0]|0)|0;i=n&65535;k=n;do{c[f+(r<<9)+(k<<3)>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)>>2];c[f+(r<<9)+(k<<3)+4>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)+4>>2];i=i+1<<16>>16;k=i<<16>>16}while((j|0)>(k|0))}j=n>>>0>j>>>0?l:m;i=(j&255)+o|0;if((i&65535)<<16>>16<64){DY(f+(q<<9)+(i<<3)|0,0,(63-(j&255)-(p&255)<<3&524280)+8|0)|0;e=a[t>>0]|0}s=s+1<<16>>16;r=s<<16>>16}while((r|0)<(e&255|0));return h|0}}else{UT(b,k,e,i,j,32);h=0}i=b+53416|0;if(!(a[i>>0]|0)){C=h;return C|0}j=b+53419|0;e=0;g=0;do{B=g+(d[j>>0]|0)|0;c[f+(g<<9)>>2]=c[b+12456+(C*20480|0)+(B<<9)>>2];c[f+(g<<9)+4>>2]=c[b+12456+(C*20480|0)+(B<<9)+4>>2];c[f+(g<<9)+8>>2]=c[b+12456+(C*20480|0)+(B<<9)+8>>2];c[f+(g<<9)+12>>2]=c[b+12456+(C*20480|0)+(B<<9)+12>>2];c[f+(g<<9)+16>>2]=c[b+12456+(C*20480|0)+(B<<9)+16>>2];c[f+(g<<9)+20>>2]=c[b+12456+(C*20480|0)+(B<<9)+20>>2];c[f+(g<<9)+24>>2]=c[b+12456+(C*20480|0)+(B<<9)+24>>2];c[f+(g<<9)+28>>2]=c[b+12456+(C*20480|0)+(B<<9)+28>>2];c[f+(g<<9)+32>>2]=c[b+12456+(C*20480|0)+(B<<9)+32>>2];c[f+(g<<9)+36>>2]=c[b+12456+(C*20480|0)+(B<<9)+36>>2];c[f+(g<<9)+40>>2]=c[b+12456+(C*20480|0)+(B<<9)+40>>2];c[f+(g<<9)+44>>2]=c[b+12456+(C*20480|0)+(B<<9)+44>>2];c[f+(g<<9)+48>>2]=c[b+12456+(C*20480|0)+(B<<9)+48>>2];c[f+(g<<9)+52>>2]=c[b+12456+(C*20480|0)+(B<<9)+52>>2];c[f+(g<<9)+56>>2]=c[b+12456+(C*20480|0)+(B<<9)+56>>2];c[f+(g<<9)+60>>2]=c[b+12456+(C*20480|0)+(B<<9)+60>>2];c[f+(g<<9)+64>>2]=c[b+12456+(C*20480|0)+(B<<9)+64>>2];c[f+(g<<9)+68>>2]=c[b+12456+(C*20480|0)+(B<<9)+68>>2];c[f+(g<<9)+72>>2]=c[b+12456+(C*20480|0)+(B<<9)+72>>2];c[f+(g<<9)+76>>2]=c[b+12456+(C*20480|0)+(B<<9)+76>>2];c[f+(g<<9)+80>>2]=c[b+12456+(C*20480|0)+(B<<9)+80>>2];c[f+(g<<9)+84>>2]=c[b+12456+(C*20480|0)+(B<<9)+84>>2];c[f+(g<<9)+88>>2]=c[b+12456+(C*20480|0)+(B<<9)+88>>2];c[f+(g<<9)+92>>2]=c[b+12456+(C*20480|0)+(B<<9)+92>>2];c[f+(g<<9)+96>>2]=c[b+12456+(C*20480|0)+(B<<9)+96>>2];c[f+(g<<9)+100>>2]=c[b+12456+(C*20480|0)+(B<<9)+100>>2];c[f+(g<<9)+104>>2]=c[b+12456+(C*20480|0)+(B<<9)+104>>2];c[f+(g<<9)+108>>2]=c[b+12456+(C*20480|0)+(B<<9)+108>>2];c[f+(g<<9)+112>>2]=c[b+12456+(C*20480|0)+(B<<9)+112>>2];c[f+(g<<9)+116>>2]=c[b+12456+(C*20480|0)+(B<<9)+116>>2];c[f+(g<<9)+120>>2]=c[b+12456+(C*20480|0)+(B<<9)+120>>2];c[f+(g<<9)+124>>2]=c[b+12456+(C*20480|0)+(B<<9)+124>>2];c[f+(g<<9)+128>>2]=c[b+12456+(C*20480|0)+(B<<9)+128>>2];c[f+(g<<9)+132>>2]=c[b+12456+(C*20480|0)+(B<<9)+132>>2];c[f+(g<<9)+136>>2]=c[b+12456+(C*20480|0)+(B<<9)+136>>2];c[f+(g<<9)+140>>2]=c[b+12456+(C*20480|0)+(B<<9)+140>>2];c[f+(g<<9)+144>>2]=c[b+12456+(C*20480|0)+(B<<9)+144>>2];c[f+(g<<9)+148>>2]=c[b+12456+(C*20480|0)+(B<<9)+148>>2];c[f+(g<<9)+152>>2]=c[b+12456+(C*20480|0)+(B<<9)+152>>2];c[f+(g<<9)+156>>2]=c[b+12456+(C*20480|0)+(B<<9)+156>>2];c[f+(g<<9)+160>>2]=c[b+12456+(C*20480|0)+(B<<9)+160>>2];c[f+(g<<9)+164>>2]=c[b+12456+(C*20480|0)+(B<<9)+164>>2];c[f+(g<<9)+168>>2]=c[b+12456+(C*20480|0)+(B<<9)+168>>2];c[f+(g<<9)+172>>2]=c[b+12456+(C*20480|0)+(B<<9)+172>>2];c[f+(g<<9)+176>>2]=c[b+12456+(C*20480|0)+(B<<9)+176>>2];c[f+(g<<9)+180>>2]=c[b+12456+(C*20480|0)+(B<<9)+180>>2];c[f+(g<<9)+184>>2]=c[b+12456+(C*20480|0)+(B<<9)+184>>2];c[f+(g<<9)+188>>2]=c[b+12456+(C*20480|0)+(B<<9)+188>>2];c[f+(g<<9)+192>>2]=c[b+12456+(C*20480|0)+(B<<9)+192>>2];c[f+(g<<9)+196>>2]=c[b+12456+(C*20480|0)+(B<<9)+196>>2];c[f+(g<<9)+200>>2]=c[b+12456+(C*20480|0)+(B<<9)+200>>2];c[f+(g<<9)+204>>2]=c[b+12456+(C*20480|0)+(B<<9)+204>>2];c[f+(g<<9)+208>>2]=c[b+12456+(C*20480|0)+(B<<9)+208>>2];c[f+(g<<9)+212>>2]=c[b+12456+(C*20480|0)+(B<<9)+212>>2];c[f+(g<<9)+216>>2]=c[b+12456+(C*20480|0)+(B<<9)+216>>2];c[f+(g<<9)+220>>2]=c[b+12456+(C*20480|0)+(B<<9)+220>>2];c[f+(g<<9)+224>>2]=c[b+12456+(C*20480|0)+(B<<9)+224>>2];c[f+(g<<9)+228>>2]=c[b+12456+(C*20480|0)+(B<<9)+228>>2];c[f+(g<<9)+232>>2]=c[b+12456+(C*20480|0)+(B<<9)+232>>2];c[f+(g<<9)+236>>2]=c[b+12456+(C*20480|0)+(B<<9)+236>>2];c[f+(g<<9)+240>>2]=c[b+12456+(C*20480|0)+(B<<9)+240>>2];c[f+(g<<9)+244>>2]=c[b+12456+(C*20480|0)+(B<<9)+244>>2];c[f+(g<<9)+248>>2]=c[b+12456+(C*20480|0)+(B<<9)+248>>2];c[f+(g<<9)+252>>2]=c[b+12456+(C*20480|0)+(B<<9)+252>>2];DY(f+256+(e<<16>>16<<7<<2)|0,0,256)|0;e=e+1<<16>>16;g=e<<16>>16}while((g|0)<(d[i>>0]|0));return h|0}function OT(e,g,h,i){e=e|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.0,w=0.0,x=0.0,y=0.0,z=0;u=Gc;Gc=Gc+256|0;s=u+128|0;t=u;q=e+53416|0;if(!(a[q>>0]|0)){Gc=u;return}r=g+4|0;o=0;p=0;j=0;while(1){e=0;do{w=+f[h+(j<<9)+(e<<3)>>2];x=+f[127600+(e<<3)>>2];y=+f[h+(j<<9)+(e<<3)+4>>2];v=+f[127600+(e<<3)+4>>2];f[s+(e<<2)>>2]=(w*x-y*v)*.015625;f[t+(e<<2)>>2]=(y*x+w*v)*.015625;e=e+1|0}while((e|0)!=32);ST(s,s);TT(t,t);l=c[g>>2]|0;m=b[r>>1]|0;n=m<<16>>16;e=0;j=0;while(1){z=s+(j<<2)|0;k=t+(j<<2)|0;y=+f[k>>2]-+f[z>>2];f[l+(j+640+n<<2)>>2]=y;f[l+(j+n<<2)>>2]=y;y=+f[z>>2]+ +f[k>>2];f[l+(e+703+n<<2)>>2]=y;f[l+(e+63+n<<2)>>2]=y;k=j+1|0;if((k|0)==32){e=p;j=0;break}else{e=~j;j=k}}while(1){z=j<<1;f[i+(e<<2)>>2]=+f[l+(j+n<<2)>>2]*+f[124144+(z<<2)>>2]+ +f[l+(j+96+n<<2)>>2]*+f[124144+(z+64<<2)>>2]+ +f[l+(j+128+n<<2)>>2]*+f[124144+(z+128<<2)>>2]+ +f[l+(j+224+n<<2)>>2]*+f[124144+(z+192<<2)>>2]+ +f[l+(j+256+n<<2)>>2]*+f[124144+(z+256<<2)>>2]+ +f[l+(j+352+n<<2)>>2]*+f[124144+(z+320<<2)>>2]+ +f[l+(j+384+n<<2)>>2]*+f[124144+(z+384<<2)>>2]+ +f[l+(j+480+n<<2)>>2]*+f[124144+(z+448<<2)>>2]+ +f[l+(j+512+n<<2)>>2]*+f[124144+(z+512<<2)>>2]+ +f[l+(j+608+n<<2)>>2]*+f[124144+(z+576<<2)>>2];j=j+1|0;if((j|0)==32)break;else e=e+1|0}b[r>>1]=m+-64<<16>>16<<16>>16<0?576:(m&65535)+65472&65535;e=o+1<<24>>24;if((e&255)<(d[q>>0]|0)){o=e;p=p+32|0;j=e&255}else break}Gc=u;return}function PT(e,g,h,i){e=e|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.0,F=0,G=0,H=0;C=Gc;Gc=Gc+1024|0;w=C+896|0;x=C+768|0;y=C+640|0;z=C+512|0;A=C+384|0;B=C+256|0;u=C+128|0;v=C;o=e+53416|0;if(!(a[o>>0]|0)){Gc=C;return}p=x+124|0;q=B+124|0;r=w+124|0;s=A+124|0;t=g+4|0;m=0;n=0;while(1){j=n&255;f[p>>2]=+f[h+(j<<9)+8>>2]*.015625;f[w>>2]=+f[h+(j<<9)>>2]*.015625;f[q>>2]=+f[h+(j<<9)+500>>2]*.015625;f[A>>2]=+f[h+(j<<9)+508>>2]*.015625;e=1;do{l=e<<1;D=l|1;k=31-e|0;f[x+(k<<2)>>2]=+f[h+(j<<9)+(D<<3)>>2]*.015625;f[w+(e<<2)>>2]=+f[h+(j<<9)+(l<<3)>>2]*.015625;f[B+(k<<2)>>2]=+f[h+(j<<9)+(63-D<<3)+4>>2]*.015625;f[A+(e<<2)>>2]=+f[h+(j<<9)+(63-l<<3)+4>>2]*.015625;e=e+1|0}while((e|0)!=31);f[x>>2]=+f[h+(j<<9)+504>>2]*.015625;f[r>>2]=+f[h+(j<<9)+496>>2]*.015625;f[B>>2]=+f[h+(j<<9)+4>>2]*.015625;f[s>>2]=+f[h+(j<<9)+12>>2]*.015625;RT(w,x,y,z);RT(A,B,u,v);k=b[t>>1]|0;l=(c[g>>2]|0)+(k<<16>>16<<2)|0;j=l+5120|0;e=0;do{G=u+(e<<2)|0;F=y+(e<<2)|0;E=+f[G>>2]-+f[F>>2];D=e<<1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]+ +f[F>>2];F=127-D|0;f[j+(F<<2)>>2]=E;f[l+(F<<2)>>2]=E;F=31-e|0;G=v+(F<<2)|0;F=z+(F<<2)|0;E=+f[G>>2]+ +f[F>>2];D=D|1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]-+f[F>>2];D=127-D|0;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;e=e+1|0}while((e|0)!=32);e=0;j=m;while(1){H=e+192|0;D=e+256|0;F=e+448|0;G=e+512|0;f[i+(j<<2)>>2]=+f[l+(e<<2)>>2]*+f[124144+(e<<2)>>2]+ +f[l+(H<<2)>>2]*+f[124144+(e+64<<2)>>2]+ +f[l+(D<<2)>>2]*+f[124144+(e+128<<2)>>2]+ +f[l+(F<<2)>>2]*+f[124144+(H<<2)>>2]+ +f[l+(G<<2)>>2]*+f[124144+(D<<2)>>2]+ +f[l+(e+704<<2)>>2]*+f[124144+(e+320<<2)>>2]+ +f[l+(e+768<<2)>>2]*+f[124144+(e+384<<2)>>2]+ +f[l+(e+960<<2)>>2]*+f[124144+(F<<2)>>2]+ +f[l+(e+1024<<2)>>2]*+f[124144+(G<<2)>>2]+ +f[l+(e+1216<<2)>>2]*+f[124144+(e+576<<2)>>2];e=e+1|0;if((e|0)==64)break;else j=j+1|0}b[t>>1]=k+-128<<16>>16<<16>>16<0?1152:(k&65535)+65408&65535;n=n+1<<24>>24;if((n&255)>=(d[o>>0]|0))break;else m=m+64|0}Gc=C;return}function QT(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;a[e+12420>>0]=a[e+14>>0]|0;a[e+12423>>0]=a[e+15>>0]|0;a[e+12422>>0]=a[e+12421>>0]|0;g=f&255;h=e+610+g|0;f=a[h>>0]|0;a[e+612+g>>0]=f;if(!(f<<24>>24)){e=19;return e|0}a[e+646+g>>0]=a[(f&255)+-1+(e+634+(g*6|0))>>0]|0;i=e+614+g|0;b[e+2010+(g<<7)>>1]=b[e+730+(g*640|0)+((f&255)+-1<<1)>>1]|0;c[e+10460+(g<<8)>>2]=c[e+7388+(g<<9)+((d[i>>0]|0)+-1<<2)>>2];f=1;do{b[e+2010+(g<<7)+(f<<1)>>1]=b[e+730+(g*640|0)+(f*10|0)+((d[h>>0]|0)+-1<<1)>>1]|0;c[e+10460+(g<<8)+(f<<2)>>2]=c[e+7388+(g<<9)+(f<<3)+((d[i>>0]|0)+-1<<2)>>2];f=f+1|0}while((f|0)!=49);a[e+12277+(g<<6)>>0]=a[e+12149+(g<<6)>>0]|0;a[e+12277+(g<<6)+1>>0]=a[e+12149+(g<<6)+1>>0]|0;a[e+12277+(g<<6)+2>>0]=a[e+12149+(g<<6)+2>>0]|0;a[e+12277+(g<<6)+3>>0]=a[e+12149+(g<<6)+3>>0]|0;a[e+12277+(g<<6)+4>>0]=a[e+12149+(g<<6)+4>>0]|0;a[e+12277+(g<<6)+5>>0]=a[e+12149+(g<<6)+5>>0]|0;a[e+12277+(g<<6)+6>>0]=a[e+12149+(g<<6)+6>>0]|0;a[e+12277+(g<<6)+7>>0]=a[e+12149+(g<<6)+7>>0]|0;a[e+12277+(g<<6)+8>>0]=a[e+12149+(g<<6)+8>>0]|0;a[e+12277+(g<<6)+9>>0]=a[e+12149+(g<<6)+9>>0]|0;a[e+12277+(g<<6)+10>>0]=a[e+12149+(g<<6)+10>>0]|0;a[e+12277+(g<<6)+11>>0]=a[e+12149+(g<<6)+11>>0]|0;a[e+12277+(g<<6)+12>>0]=a[e+12149+(g<<6)+12>>0]|0;a[e+12277+(g<<6)+13>>0]=a[e+12149+(g<<6)+13>>0]|0;a[e+12277+(g<<6)+14>>0]=a[e+12149+(g<<6)+14>>0]|0;a[e+12277+(g<<6)+15>>0]=a[e+12149+(g<<6)+15>>0]|0;a[e+12277+(g<<6)+16>>0]=a[e+12149+(g<<6)+16>>0]|0;a[e+12277+(g<<6)+17>>0]=a[e+12149+(g<<6)+17>>0]|0;a[e+12277+(g<<6)+18>>0]=a[e+12149+(g<<6)+18>>0]|0;a[e+12277+(g<<6)+19>>0]=a[e+12149+(g<<6)+19>>0]|0;a[e+12277+(g<<6)+20>>0]=a[e+12149+(g<<6)+20>>0]|0;a[e+12277+(g<<6)+21>>0]=a[e+12149+(g<<6)+21>>0]|0;a[e+12277+(g<<6)+22>>0]=a[e+12149+(g<<6)+22>>0]|0;a[e+12277+(g<<6)+23>>0]=a[e+12149+(g<<6)+23>>0]|0;a[e+12277+(g<<6)+24>>0]=a[e+12149+(g<<6)+24>>0]|0;a[e+12277+(g<<6)+25>>0]=a[e+12149+(g<<6)+25>>0]|0;a[e+12277+(g<<6)+26>>0]=a[e+12149+(g<<6)+26>>0]|0;a[e+12277+(g<<6)+27>>0]=a[e+12149+(g<<6)+27>>0]|0;a[e+12277+(g<<6)+28>>0]=a[e+12149+(g<<6)+28>>0]|0;a[e+12277+(g<<6)+29>>0]=a[e+12149+(g<<6)+29>>0]|0;a[e+12277+(g<<6)+30>>0]=a[e+12149+(g<<6)+30>>0]|0;a[e+12277+(g<<6)+31>>0]=a[e+12149+(g<<6)+31>>0]|0;a[e+12277+(g<<6)+32>>0]=a[e+12149+(g<<6)+32>>0]|0;a[e+12277+(g<<6)+33>>0]=a[e+12149+(g<<6)+33>>0]|0;a[e+12277+(g<<6)+34>>0]=a[e+12149+(g<<6)+34>>0]|0;a[e+12277+(g<<6)+35>>0]=a[e+12149+(g<<6)+35>>0]|0;a[e+12277+(g<<6)+36>>0]=a[e+12149+(g<<6)+36>>0]|0;a[e+12277+(g<<6)+37>>0]=a[e+12149+(g<<6)+37>>0]|0;a[e+12277+(g<<6)+38>>0]=a[e+12149+(g<<6)+38>>0]|0;a[e+12277+(g<<6)+39>>0]=a[e+12149+(g<<6)+39>>0]|0;a[e+12277+(g<<6)+40>>0]=a[e+12149+(g<<6)+40>>0]|0;a[e+12277+(g<<6)+41>>0]=a[e+12149+(g<<6)+41>>0]|0;a[e+12277+(g<<6)+42>>0]=a[e+12149+(g<<6)+42>>0]|0;a[e+12277+(g<<6)+43>>0]=a[e+12149+(g<<6)+43>>0]|0;a[e+12277+(g<<6)+44>>0]=a[e+12149+(g<<6)+44>>0]|0;a[e+12277+(g<<6)+45>>0]=a[e+12149+(g<<6)+45>>0]|0;a[e+12277+(g<<6)+46>>0]=a[e+12149+(g<<6)+46>>0]|0;a[e+12277+(g<<6)+47>>0]=a[e+12149+(g<<6)+47>>0]|0;a[e+12277+(g<<6)+48>>0]=a[e+12149+(g<<6)+48>>0]|0;a[e+53445+g>>0]=a[e+53443+g>>0]|0;a[e+12418+g>>0]=((a[e+10972+g>>0]|0)!=(d[h>>0]|0))<<31>>31;e=0;return e|0}function RT(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;g=0;do{h=a+(g<<2)|0;j=+f[h>>2];i=b+(g<<2)|0;l=+f[i>>2];k=(j+l)*+f[126704+(g<<2)>>2];f[h>>2]=k+l*+f[126704+(g+64<<2)>>2];f[i>>2]=k+j*+f[126704+(g+32<<2)>>2];g=g+1|0}while((g|0)!=32);g=0;do{p=a+(g<<2)|0;r=+f[p>>2];n=b+(g<<2)|0;i=g+16|0;h=a+(i<<2)|0;q=+f[h>>2];i=b+(i<<2)|0;o=+f[i>>2];j=+f[127472+(g<<2)>>2];l=+f[127536+(g<<2)>>2];k=r-q;m=+f[n>>2]-o;f[p>>2]=r+q;f[n>>2]=o+ +f[n>>2];f[h>>2]=k*j-m*l;f[i>>2]=m*j+k*l;g=g+1|0}while((g|0)!=16);g=0;h=0;while(1){q=+f[127472+(h<<2)>>2];m=+f[127536+(h<<2)>>2];n=a+(g<<2)|0;r=+f[n>>2];p=b+(g<<2)|0;i=g+8|0;s=a+(i<<2)|0;o=+f[s>>2];i=b+(i<<2)|0;l=+f[i>>2];k=r-o;j=+f[p>>2]-l;f[n>>2]=r+o;f[p>>2]=l+ +f[p>>2];f[s>>2]=q*k-m*j;f[i>>2]=m*k+q*j;i=g+16|0;s=a+(i<<2)|0;j=+f[s>>2];i=b+(i<<2)|0;p=g+24|0;n=a+(p<<2)|0;k=+f[n>>2];p=b+(p<<2)|0;l=+f[p>>2];o=j-k;r=+f[i>>2]-l;f[s>>2]=j+k;f[i>>2]=l+ +f[i>>2];f[n>>2]=q*o-m*r;f[p>>2]=m*o+q*r;g=g+1|0;if((g|0)==8)break;else h=h+2|0}r=+f[a>>2];q=+f[b>>2];sa=a+16|0;o=+f[sa>>2];ra=b+16|0;m=+f[ra>>2];f[a>>2]=r+o;f[b>>2]=m+ +f[b>>2];f[sa>>2]=r-o;f[ra>>2]=q-m;oa=a+32|0;m=+f[oa>>2];na=b+32|0;q=+f[na>>2];ka=a+48|0;o=+f[ka>>2];ja=b+48|0;r=+f[ja>>2];f[oa>>2]=m+o;f[na>>2]=r+ +f[na>>2];f[ka>>2]=m-o;f[ja>>2]=q-r;ga=a+64|0;r=+f[ga>>2];fa=b+64|0;q=+f[fa>>2];ca=a+80|0;o=+f[ca>>2];ba=b+80|0;m=+f[ba>>2];f[ga>>2]=r+o;f[fa>>2]=m+ +f[fa>>2];f[ca>>2]=r-o;f[ba>>2]=q-m;_=a+96|0;m=+f[_>>2];Z=b+96|0;q=+f[Z>>2];W=a+112|0;o=+f[W>>2];V=b+112|0;r=+f[V>>2];f[_>>2]=m+o;f[Z>>2]=r+ +f[Z>>2];f[W>>2]=m-o;f[V>>2]=q-r;h=a+4|0;r=+f[h>>2];i=b+4|0;Q=a+20|0;q=+f[Q>>2];P=b+20|0;o=+f[P>>2];m=r-q;l=+f[i>>2]-o;f[h>>2]=r+q;f[i>>2]=o+ +f[i>>2];f[Q>>2]=(m+l)*.7071067690849304;f[P>>2]=(l-m)*.7071067690849304;M=a+36|0;m=+f[M>>2];L=b+36|0;I=a+52|0;l=+f[I>>2];H=b+52|0;o=+f[H>>2];q=m-l;r=+f[L>>2]-o;f[M>>2]=m+l;f[L>>2]=o+ +f[L>>2];f[I>>2]=(q+r)*.7071067690849304;f[H>>2]=(r-q)*.7071067690849304;E=a+68|0;q=+f[E>>2];D=b+68|0;A=a+84|0;r=+f[A>>2];z=b+84|0;o=+f[z>>2];l=q-r;m=+f[D>>2]-o;f[E>>2]=q+r;f[D>>2]=o+ +f[D>>2];f[A>>2]=(l+m)*.7071067690849304;f[z>>2]=(m-l)*.7071067690849304;w=a+100|0;l=+f[w>>2];v=b+100|0;n=a+116|0;m=+f[n>>2];p=b+116|0;o=+f[p>>2];r=l-m;q=+f[v>>2]-o;f[w>>2]=l+m;f[v>>2]=o+ +f[v>>2];f[n>>2]=(r+q)*.7071067690849304;f[p>>2]=(q-r)*.7071067690849304;ua=a+8|0;r=+f[ua>>2];ta=b+8|0;q=+f[ta>>2];qa=a+24|0;o=+f[qa>>2];pa=b+24|0;m=+f[pa>>2];f[ua>>2]=r+o;f[ta>>2]=m+ +f[ta>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;ma=a+40|0;r=+f[ma>>2];la=b+40|0;o=+f[la>>2];ia=a+56|0;m=+f[ia>>2];ha=b+56|0;q=+f[ha>>2];f[ma>>2]=r+m;f[la>>2]=q+ +f[la>>2];f[ia>>2]=o-q;f[ha>>2]=m-r;ea=a+72|0;r=+f[ea>>2];da=b+72|0;m=+f[da>>2];aa=a+88|0;q=+f[aa>>2];$=b+88|0;o=+f[$>>2];f[ea>>2]=r+q;f[da>>2]=o+ +f[da>>2];f[aa>>2]=m-o;f[$>>2]=q-r;Y=a+104|0;r=+f[Y>>2];X=b+104|0;q=+f[X>>2];U=a+120|0;o=+f[U>>2];T=b+120|0;m=+f[T>>2];f[Y>>2]=r+o;f[X>>2]=m+ +f[X>>2];f[U>>2]=q-m;f[T>>2]=o-r;S=a+12|0;r=+f[S>>2];R=b+12|0;O=a+28|0;o=+f[O>>2];N=b+28|0;m=+f[N>>2];q=r-o;l=+f[R>>2]-m;f[S>>2]=r+o;f[R>>2]=m+ +f[R>>2];f[O>>2]=(q-l)*-.7071068286895752;f[N>>2]=(q+l)*-.7071068286895752;K=a+44|0;l=+f[K>>2];J=b+44|0;G=a+60|0;q=+f[G>>2];F=b+60|0;m=+f[F>>2];o=l-q;r=+f[J>>2]-m;f[K>>2]=l+q;f[J>>2]=m+ +f[J>>2];f[G>>2]=(o-r)*-.7071068286895752;f[F>>2]=(o+r)*-.7071068286895752;C=a+76|0;r=+f[C>>2];B=b+76|0;y=a+92|0;o=+f[y>>2];x=b+92|0;m=+f[x>>2];q=r-o;l=+f[B>>2]-m;f[C>>2]=r+o;f[B>>2]=m+ +f[B>>2];f[y>>2]=(q-l)*-.7071068286895752;f[x>>2]=(q+l)*-.7071068286895752;u=a+108|0;l=+f[u>>2];t=b+108|0;s=a+124|0;q=+f[s>>2];g=b+124|0;m=+f[g>>2];o=l-q;r=+f[t>>2]-m;f[u>>2]=l+q;f[t>>2]=m+ +f[t>>2];f[s>>2]=(o-r)*-.7071068286895752;f[g>>2]=(o+r)*-.7071068286895752;r=+f[a>>2];o=+f[b>>2];m=+f[ua>>2];q=+f[ta>>2];f[a>>2]=r+m;f[b>>2]=q+ +f[b>>2];f[ua>>2]=r-m;f[ta>>2]=o-q;q=+f[sa>>2];o=+f[ra>>2];m=+f[qa>>2];r=+f[pa>>2];f[sa>>2]=q+m;f[ra>>2]=r+ +f[ra>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;r=+f[oa>>2];o=+f[na>>2];m=+f[ma>>2];q=+f[la>>2];f[oa>>2]=r+m;f[na>>2]=q+ +f[na>>2];f[ma>>2]=r-m;f[la>>2]=o-q;q=+f[ka>>2];o=+f[ja>>2];m=+f[ia>>2];r=+f[ha>>2];f[ka>>2]=q+m;f[ja>>2]=r+ +f[ja>>2];f[ia>>2]=q-m;f[ha>>2]=o-r;r=+f[ga>>2];o=+f[fa>>2];m=+f[ea>>2];q=+f[da>>2];f[ga>>2]=r+m;f[fa>>2]=q+ +f[fa>>2];f[ea>>2]=r-m;f[da>>2]=o-q;q=+f[ca>>2];o=+f[ba>>2];m=+f[aa>>2];r=+f[$>>2];f[ca>>2]=q+m;f[ba>>2]=r+ +f[ba>>2];f[aa>>2]=q-m;f[$>>2]=o-r;r=+f[_>>2];o=+f[Z>>2];m=+f[Y>>2];q=+f[X>>2];f[_>>2]=r+m;f[Z>>2]=q+ +f[Z>>2];f[Y>>2]=r-m;f[X>>2]=o-q;q=+f[W>>2];o=+f[V>>2];m=+f[U>>2];r=+f[T>>2];f[W>>2]=q+m;f[V>>2]=r+ +f[V>>2];f[U>>2]=q-m;f[T>>2]=o-r;r=+f[h>>2];o=+f[i>>2];m=+f[S>>2];q=+f[R>>2];f[h>>2]=r+m;f[i>>2]=q+ +f[i>>2];f[S>>2]=o-q;f[R>>2]=m-r;r=+f[Q>>2];m=+f[P>>2];q=+f[O>>2];o=+f[N>>2];f[Q>>2]=r+q;f[P>>2]=o+ +f[P>>2];f[O>>2]=m-o;f[N>>2]=q-r;r=+f[M>>2];q=+f[L>>2];o=+f[K>>2];m=+f[J>>2];f[M>>2]=r+o;f[L>>2]=m+ +f[L>>2];f[K>>2]=q-m;f[J>>2]=o-r;r=+f[I>>2];o=+f[H>>2];m=+f[G>>2];q=+f[F>>2];f[I>>2]=r+m;f[H>>2]=q+ +f[H>>2];f[G>>2]=o-q;f[F>>2]=m-r;r=+f[E>>2];m=+f[D>>2];q=+f[C>>2];o=+f[B>>2];f[E>>2]=r+q;f[D>>2]=o+ +f[D>>2];f[C>>2]=m-o;f[B>>2]=q-r;r=+f[A>>2];q=+f[z>>2];o=+f[y>>2];m=+f[x>>2];f[A>>2]=r+o;f[z>>2]=m+ +f[z>>2];f[y>>2]=q-m;f[x>>2]=o-r;r=+f[w>>2];o=+f[v>>2];m=+f[u>>2];q=+f[t>>2];f[w>>2]=r+m;f[v>>2]=q+ +f[v>>2];f[u>>2]=o-q;f[t>>2]=m-r;r=+f[n>>2];m=+f[p>>2];q=+f[s>>2];o=+f[g>>2];f[n>>2]=r+q;f[p>>2]=o+ +f[p>>2];f[s>>2]=m-o;f[g>>2]=q-r;g=0;do{ua=g|1;ra=a+(g<<2)|0;m=+f[ra>>2];sa=b+(g<<2)|0;q=+f[sa>>2];ta=a+(ua<<2)|0;o=+f[ta>>2];ua=b+(ua<<2)|0;r=+f[ua>>2];f[ra>>2]=m+o;f[sa>>2]=r+ +f[sa>>2];f[ta>>2]=m-o;f[ua>>2]=q-r;g=g+2|0}while(g>>>0<32);g=0;do{ua=d[246864+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[126704+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[126704+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[126704+(g+128<<2)>>2];g=g+1|0}while((g|0)!=16);f[e+64>>2]=(+f[i>>2]-+f[h>>2])*.7071067690849304;f[c+64>>2]=(+f[h>>2]+ +f[i>>2])*.7071067690849304;g=17;do{ua=d[246864+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[126704+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[126704+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[126704+(g+128<<2)>>2];g=g+1|0}while((g|0)!=32);return}function ST(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;e=+f[b+60>>2];h=+f[b+64>>2];c=(e+h)*.7071067690849304;h=(e-h)*.7071067690849304;e=+f[b+32>>2];p=+f[b+92>>2];i=(e+p)*.7071067690849304;p=(e-p)*.7071067690849304;e=+f[b+48>>2];r=+f[b+76>>2];I=(e+r)*.7071067690849304;r=(e-r)*.7071067690849304;e=+f[b+44>>2];s=+f[b+80>>2];o=(e+s)*.7071067690849304;s=(e-s)*.7071067690849304;e=+f[b+56>>2];v=+f[b+68>>2];u=(e+v)*.7071067690849304;v=(e-v)*.7071067690849304;e=+f[b+36>>2];D=+f[b+88>>2];A=(e+D)*.7071067690849304;D=(e-D)*.7071067690849304;e=+f[b+52>>2];F=+f[b+72>>2];l=(e+F)*.7071067690849304;F=(e-F)*.7071067690849304;e=+f[b+40>>2];j=+f[b+84>>2];G=(e+j)*.7071067690849304;j=(e-j)*.7071067690849304;e=+f[b>>2];z=e-c;e=c+e;c=+f[b+124>>2];k=c-h;c=h+c;h=+f[b+28>>2];t=h-i;h=i+h;i=+f[b+96>>2];g=i-p;i=p+i;p=+f[b+12>>2];n=p-I;p=I+p;I=+f[b+112>>2];w=I-r;I=r+I;r=+f[b+16>>2];x=r-o;r=o+r;o=+f[b+108>>2];m=o-s;o=s+o;s=+f[b+4>>2];J=s-u;s=u+s;u=+f[b+120>>2];C=u-v;u=v+u;v=+f[b+24>>2];H=v-A;v=A+v;A=+f[b+100>>2];y=A-D;A=D+A;D=+f[b+8>>2];B=D-l;D=l+D;l=+f[b+116>>2];q=l-F;l=F+l;F=+f[b+20>>2];d=F-G;F=G+F;G=+f[b+104>>2];E=G-j;G=j+G;j=(h+i)*.9238795042037964;i=j-i*.5411961078643799;j=h*1.3065630197525024-j;h=(t+g)*-.3826834261417389;g=g*1.3065630197525024+h;h=t*.5411961078643799-h;t=(r+o)*.9238795042037964;o=t-o*.5411961078643799;t=r*1.3065630197525024-t;r=(x+m)*-.3826834261417389;m=m*1.3065630197525024+r;r=x*.5411961078643799-r;x=(v+A)*.9238795042037964;A=x-A*.5411961078643799;x=v*1.3065630197525024-x;v=(H+y)*-.3826834261417389;y=y*1.3065630197525024+v;v=H*.5411961078643799-v;H=(F+G)*.9238795042037964;G=H-G*.5411961078643799;H=F*1.3065630197525024-H;F=(d+E)*-.3826834261417389;E=E*1.3065630197525024+F;F=d*.5411961078643799-F;d=e-i;i=e+i;e=c-j;j=c+j;c=z-g;g=z+g;z=k-h;h=k+h;k=p-o;o=p+o;p=I-t;t=I+t;I=n-m;m=n+m;n=w-r;r=w+r;w=s-A;A=s+A;s=u-x;x=u+x;u=J-y;y=J+y;J=C-v;v=C+v;C=D-G;G=D+G;D=l-H;H=l+H;l=B-E;E=B+E;B=q-F;F=q+F;q=(t+o)*.9807852506637573;t=q-t*.78569495677948;q=o*1.1758755445480347-q;o=(r+m)*.5555702447891235;r=r*.27589938044548035+o;o=m*1.3870398998260498-o;m=(p+k)*-.19509032368659973;p=p*1.1758755445480347+m;m=k*.78569495677948-m;k=(n+I)*-.8314695954322815;n=n*1.3870398998260498+k;k=I*-.27589938044548035-k;I=(H+G)*.9807852506637573;H=I-H*.78569495677948;I=G*1.1758755445480347-I;G=(F+E)*.5555702447891235;F=F*.27589938044548035+G;G=E*1.3870398998260498-G;E=(D+C)*-.19509032368659973;D=D*1.1758755445480347+E;E=C*.78569495677948-E;C=(B+l)*-.8314695954322815;B=B*1.3870398998260498+C;C=l*-.27589938044548035-C;l=i-t;t=i+t;i=j-q;q=j+q;j=g-r;r=g+r;g=h-o;o=h+o;h=d-p;p=d+p;d=e-m;m=e+m;e=c-n;n=c+n;c=z-k;k=z+k;z=A-H;H=A+H;A=x-I;I=x+I;x=y-F;F=y+F;y=v-G;G=v+G;v=w-D;D=w+D;w=s-E;E=s+E;s=u-B;B=u+B;u=J-C;C=J+C;J=(I+H)*.9951847195625305;I=J-I*.8971675634384155;J=H*1.0932018756866455-J;H=(G+F)*.8819212913513184;G=H-G*.41052451729774475;H=F*1.3533179759979248-H;F=(E+D)*.6343932747840881;E=E*.13861717283725739+F;F=D*1.4074037075042725-F;D=(C+B)*.290284663438797;C=C*.6666556596755981+D;D=B*1.247225046157837-D;B=(A+z)*-.0980171412229538;A=A*1.0932018756866455+B;B=z*.8971675634384155-B;z=(y+x)*-.4713967442512512;y=y*1.3533179759979248+z;z=x*.41052451729774475-z;x=(w+v)*-.7730104327201843;w=w*1.4074037075042725+x;x=v*-.13861717283725739-x;v=(u+s)*-.9569403529167175;u=u*1.247225046157837+v;v=s*-.6666556596755981-v;s=t-I;I=t+I;t=q-J;J=q+J;q=r-G;G=r+G;r=o-H;H=o+H;o=p-E;E=p+E;p=m-F;F=m+F;m=n-C;C=n+C;n=k-D;D=k+D;k=l-A;A=l+A;l=i-B;B=i+B;i=j-y;y=j+y;j=g-z;z=g+z;g=h-w;w=h+w;h=d-x;x=d+x;d=e-u;u=e+u;e=c-v;v=c+v;c=(J+I)*.99969881772995;f[a>>2]=c-J*.975157618522644;f[a+124>>2]=I*1.0242400169372559-c;c=(H+G)*.9924795627593994;f[a+8>>2]=c-H*.8700688481330872;f[a+116>>2]=G*1.114890217781067-c;c=(F+E)*.9757021069526672;f[a+16>>2]=c-F*.7566009163856506;f[a+108>>2]=E*1.1948033571243286-c;c=(D+C)*.949528157711029;f[a+24>>2]=c-D*.6358464360237122;f[a+100>>2]=C*1.2632099390029907-c;c=(B+A)*.91420978307724;f[a+32>>2]=c-B*.5089684128761292;f[a+92>>2]=A*1.319451093673706-c;c=(z+y)*.8700869679450989;f[a+40>>2]=c-z*.3771888017654419;f[a+84>>2]=y*1.3629851341247559-c;c=(x+w)*.8175848126411438;f[a+48>>2]=c-x*.24177661538124084;f[a+76>>2]=w*1.3933930397033691-c;c=(v+u)*.7572088241577148;f[a+56>>2]=c-v*.10403600335121155;f[a+68>>2]=u*1.4103816747665405-c;c=(t+s)*.6895405650138855;f[a+64>>2]=t*.034706536680459976+c;f[a+60>>2]=s*1.413787603378296-c;c=(r+q)*.6152315735816956;f[a+72>>2]=r*.1731148362159729+c;f[a+52>>2]=q*1.4035780429840088-c;c=(p+o)*.5349976420402527;f[a+80>>2]=p*.30985593795776367+c;f[a+44>>2]=o*1.379851222038269-c;c=(n+m)*.4496113359928131;f[a+88>>2]=n*.4436129629611969+c;f[a+36>>2]=m*1.3428356647491455-c;c=(l+k)*.3598950505256653;f[a+96>>2]=l*.5730977654457092+c;f[a+28>>2]=k*1.292887806892395-c;c=(j+i)*.2667127549648285;f[a+104>>2]=j*.6970633268356323+c;f[a+20>>2]=i*1.2304887771606445-c;c=(h+g)*.1709618866443634;f[a+112>>2]=h*.8143157362937927+c;f[a+12>>2]=g*1.1562395095825195-c;c=(e+d)*.0735645666718483;f[a+120>>2]=e*.9237259030342102+c;f[a+4>>2]=d*1.0708550214767456-c;return}function TT(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;u=+f[b>>2];q=+f[b+4>>2];H=u-q;F=+f[b+8>>2];q=F-q;K=+f[b+12>>2];F=F-K;D=+f[b+16>>2];K=D-K;s=+f[b+20>>2];D=D-s;r=+f[b+24>>2];s=r-s;w=+f[b+28>>2];r=r-w;J=+f[b+32>>2];w=J-w;o=+f[b+36>>2];J=J-o;l=+f[b+40>>2];o=l-o;E=+f[b+44>>2];l=l-E;e=+f[b+48>>2];E=e-E;g=+f[b+52>>2];e=e-g;n=+f[b+56>>2];g=n-g;y=+f[b+60>>2];n=n-y;C=+f[b+64>>2];i=+f[b+68>>2];j=C-i;z=+f[b+72>>2];i=z-i;A=+f[b+76>>2];z=z-A;t=+f[b+80>>2];A=t-A;m=+f[b+84>>2];t=t-m;B=+f[b+88>>2];m=B-m;k=+f[b+92>>2];B=B-k;x=+f[b+96>>2];k=x-k;I=+f[b+100>>2];x=x-I;p=+f[b+104>>2];I=p-I;G=+f[b+108>>2];p=p-G;v=+f[b+112>>2];G=v-G;d=+f[b+116>>2];v=v-d;h=+f[b+120>>2];d=h-d;h=h-+f[b+124>>2];y=(C-y)*.7071067690849304;C=u-y;y=u+y;u=(w+k)*-.9238795042037964;w=w*1.3065630197525024+u;u=k*-.5411961078643799-u;k=y-u;u=y+u;y=C-w;w=C+w;C=(E+A)*.7071067690849304;c=K-C;C=K+C;A=(E-A)*.7071067690849304;E=A-G;G=A+G;A=(C+G)*.9807852506637573;G=A-G*.78569495677948;A=C*1.1758755445480347-A;C=(c+E)*.8314695954322815;E=C-E*.27589938044548035;C=c*1.3870398998260498-C;c=u-G;G=u+G;u=w-E;E=w+E;w=y-C;C=y+C;y=k-A;A=k+A;k=s-o;o=s+o;s=m-I;I=m+I;m=(g+i)*.7071067690849304;K=q-m;m=q+m;q=(o+I)*-.9238795042037964;o=o*1.3065630197525024+q;q=I*-.5411961078643799-q;I=m-q;q=m+q;m=K-o;o=K+o;i=(g-i)*.7071067690849304;g=d-i;d=i+d;i=(k+s)*-.9238795042037964;s=s*1.3065630197525024+i;i=k*-.5411961078643799-i;k=d-i;d=i+d;i=g-s;g=s+g;s=(q+d)*.9951847195625305;d=s-d*.8971675634384155;s=q*1.0932018756866455-s;q=(o-g)*.9569403529167175;g=g*.6666556596755981+q;q=o*1.247225046157837-q;o=(m+i)*.8819212913513184;i=o-i*.41052451729774475;o=m*1.3533179759979248-o;m=(I-k)*.7730104327201843;k=k*.13861717283725739+m;m=I*1.4074037075042725-m;I=G-d;d=G+d;G=E-g;g=E+g;E=C-i;i=C+i;C=A-k;k=A+k;A=y-m;m=y+m;y=w-o;o=w+o;w=u-q;q=u+q;u=c-s;s=c+s;c=(H+h)*-.9987954497337341;H=H*1.0478631258010864+c;c=h*-.9497277736663818-c;h=(D+p)*-.9700312614440918;D=D*1.213011384010315+h;h=p*-.7270510792732239-h;p=(J+B)*-.903989315032959;J=J*1.3315443992614746+p;p=B*-.47643420100212097-p;B=(e+z)*-.803207516670227;e=e*1.3989068269729614+B;B=z*-.20750822126865387-B;z=(n+j)*-.6715589761734009;j=j*1.4125100374221802+z;z=n*.06939216703176498-z;n=(l+t)*-.5141027569770813;t=t*1.3718312978744507+n;n=l*.34362587332725525-n;l=(r+x)*-.3368898630142212;x=x*1.278433918952942+l;l=r*.6046541929244995-l;r=(F+v)*-.1467304676771164;v=v*1.1359069347381592+r;r=F*.8424460291862488-r;F=c-z;c=z+c;z=H-j;H=j+H;j=h-n;h=n+h;n=D-t;D=t+D;t=p-l;l=p+l;p=J-x;x=J+x;J=B-r;r=B+r;B=e-v;v=e+v;e=(F+z)*-.9807852506637573;F=F*1.1758755445480347+e;e=z*-.78569495677948-e;z=(j+n)*-.5555702447891235;j=j*1.3870398998260498+z;z=n*.27589938044548035-z;n=(t+p)*.19509032368659973;t=t*.78569495677948+n;n=p*1.1758755445480347-n;p=(J+B)*.8314695954322815;J=p-J*.27589938044548035;p=B*1.3870398998260498-p;B=c-l;c=l+c;l=H-x;H=x+H;x=h-r;r=h+r;h=D-v;v=D+v;D=e-n;e=n+e;n=F-t;F=t+F;t=z-p;p=z+p;z=j-J;J=j+J;j=(B+l)*-.9238795042037964;B=B*1.3065630197525024+j;j=l*-.5411961078643799-j;l=(x+h)*.3826834261417389;x=x*.5411961078643799+l;l=h*1.3065630197525024-l;h=(D+n)*-.9238795042037964;D=D*1.3065630197525024+h;h=n*-.5411961078643799-h;n=(t+z)*.3826834261417389;t=t*.5411961078643799+n;n=z*1.3065630197525024-n;z=c-r;c=r+c;r=H-v;H=v+H;v=j-l;j=l+j;l=B-x;B=x+B;x=e-p;e=p+e;p=F-J;F=J+F;J=h-n;h=n+h;n=D-t;D=t+D;t=(z-r)*.7071067690849304;r=(z+r)*.7071067690849304;z=(v-l)*.7071067690849304;l=(v+l)*.7071067690849304;v=(x-p)*.7071067690849304;p=(x+p)*.7071067690849304;x=(J-n)*.7071067690849304;n=(J+n)*.7071067690849304;f[a+124>>2]=(d+c)*.5001506209373474;f[a+120>>2]=(g+e)*.5013584494590759;f[a+116>>2]=(i+h)*.5037887096405029;f[a+112>>2]=(k+j)*.5074711441993713;f[a+108>>2]=(m+l)*.5124514698982239;f[a+104>>2]=(o+n)*.5187926888465881;f[a+100>>2]=(q+p)*.5265772938728333;f[a+96>>2]=(s+r)*.5359098315238953;f[a+92>>2]=(u+t)*.5469204187393188;f[a+88>>2]=(w+v)*.5597698092460632;f[a+84>>2]=(y+x)*.5746551752090454;f[a+80>>2]=(A+z)*.5918185114860535;f[a+76>>2]=(C+B)*.6115573644638062;f[a+72>>2]=(E+D)*.6342389583587646;f[a+68>>2]=(G+F)*.6603198051452637;f[a+64>>2]=(I+H)*.690372109413147;f[a+60>>2]=(I-H)*.7251205444335938;f[a+56>>2]=(G-F)*.765494167804718;f[a+52>>2]=(E-D)*.8127021193504333;f[a+48>>2]=(C-B)*.8683447241783142;f[a+44>>2]=(A-z)*.9345836043357849;f[a+40>>2]=(y-x)*1.0144082307815552;f[a+36>>2]=(w-v)*1.1120716333389282;f[a+32>>2]=(u-t)*1.2338327169418335;f[a+28>>2]=(s-r)*1.389293909072876;f[a+24>>2]=(q-p)*1.5939723253250122;f[a+20>>2]=(o-n)*1.874675989151001;f[a+16>>2]=(m-l)*2.282050132751465;f[a+12>>2]=(k-j)*2.924628496170044;f[a+8>>2]=(i-h)*4.084610939025879;f[a+4>>2]=(g-e)*6.796750545501709;f[a>>2]=(d-c)*20.373878479003906;return}function UT(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,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;G=Gc;Gc=Gc+768|0;C=G+512|0;D=G+384|0;E=G+256|0;F=G+128|0;B=G;u=e+53416|0;if(!(a[u>>0]|0)){Gc=G;return}v=g+4|0;w=C+4|0;x=E+124|0;y=C+128|0;z=C+132|0;A=D+124|0;t=k&255;r=j&255;p=0;q=0;o=0;s=32;while(1){j=c[g>>2]|0;m=b[v>>1]|0;n=m<<16>>16;e=q;k=31;while(1){H=c[h+(e<<2)>>2]|0;e=e+1|0;c[j+(k+320+n<<2)>>2]=H;c[j+(k+n<<2)>>2]=H;if(s<<16>>16==(e&65535)<<16>>16){e=0;break}else k=k+-1|0}do{k=e+n|0;H=e<<1;f[C+(e<<2)>>2]=+f[j+(k<<2)>>2]*+f[124144+(H<<2)>>2]+ +f[j+(k+64<<2)>>2]*+f[124144+(H+128<<2)>>2]+ +f[j+(k+128<<2)>>2]*+f[124144+(H+256<<2)>>2]+ +f[j+(k+192<<2)>>2]*+f[124144+(H+384<<2)>>2]+ +f[j+(k+256<<2)>>2]*+f[124144+(H+512<<2)>>2];e=e+1|0}while((e|0)!=64);b[v>>1]=m+-32<<16>>16<<16>>16<0?288:(m&65535)+65504&65535;c[x>>2]=c[w>>2];c[D>>2]=c[C>>2];e=1;do{H=e;e=e+1|0;c[E+(31-H<<2)>>2]=c[C+(e<<2)>>2];f[D+(H<<2)>>2]=-+f[C+(64-H<<2)>>2]}while((e|0)!=31);c[E>>2]=c[y>>2];f[A>>2]=-+f[z>>2];RT(D,E,F,B);k=o+r|0;m=0;do{e=m<<1;j=e|1;if((j|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;f[i+(k<<9)+(e<<3)+4>>2]=+f[B+(m<<2)>>2]*2.0;H=31-m|0;f[i+(k<<9)+(j<<3)>>2]=+f[B+(H<<2)>>2]*-2.0;l=+f[F+(H<<2)>>2]*-2.0}else{if((e|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;l=+f[B+(m<<2)>>2]*2.0}else{f[i+(k<<9)+(e<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(e<<3)+4>>2]=l;f[i+(k<<9)+(j<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(j<<3)+4>>2]=l;m=m+1|0}while((m|0)!=16);e=p+1<<24>>24;if((e&255)<(d[u>>0]|0)){p=e;q=q+32|0;o=e&255;s=s+32<<16>>16}else break}Gc=G;return}function VT(b,e,g,i){b=b|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=Gc;Gc=Gc+512|0;X=_;Y=b+53419|0;J=a[Y>>0]|0;Z=i&255;K=a[b+616+(Z*6|0)>>0]|0;N=a[(d[b+610+Z>>0]|0)+(b+616+(Z*6|0))>>0]|0;j=a[b+19>>0]|0;a:do if(j<<24>>24){q=j&255;p=0;while(1){n=a[b+10976+(Z*5|0)+p>>0]|0;o=b+10986+(Z*5|0)+p|0;j=a[o>>0]|0;switch(n<<24>>24){case 1:{l=j<<24>>24==0?.6000000238418579:.75;break}case 2:{l=.8999999761581421;break}case 3:{l=.9800000190734863;break}default:l=j<<24>>24==1?.6000000238418579:0.0}k=b+10996+(Z<<8)+(p<<2)|0;m=b+11508+(Z<<8)+(p<<2)|0;R=+f[m>>2];W=l<R;l=l*(W?.75:.90625)+R*(W?.25:.09375);f[k>>2]=l;if(!(l<.015625))if(!(l>=.99609375))j=(f[h>>2]=l,c[h>>2]|0);else{j=1065287680;r=9}else{j=0;r=9}if((r|0)==9){r=0;c[k>>2]=j}c[m>>2]=j;a[o>>0]=n;p=p+1|0;if((p|0)==(q|0))break a}}while(0);do if(i<<24>>24==0?a[b+12426>>0]|0:0){o=b+13|0;q=a[o>>0]|0;D=b+14|0;p=a[D>>0]|0;k=a[246904+((qS(c[b>>2]|0)|0)&255)>>0]|0;G=b+12020|0;a[G>>0]=0;D=a[D>>0]|0;E=(d[b+15>>0]|0)+(D&255)|0;if(E>>>0>(k&255)>>>0)if((d[b+26>>0]|0)<(k&255)){j=0;n=0;while(1){j=j+1<<24>>24;m=j&255;if((d[b+26+m>>0]|0)>=(k&255))break;else n=m}j=n+1&255}else j=0;else j=a[b+16>>0]|0;y=a[b+16>>0]|0;if(!(y<<24>>24)){a[G>>0]=0;a[b+12021>>0]=0;a[b+12085>>0]=0;break}s=d[o>>0]|0;t=s+-2|0;u=s+-1|0;k=q;q=j;o=0;while(1){i=q&255;k=u+(k&255)|0;j=i+1&255;do{j=j+-1<<24>>24;n=a[(j&255)+(b+26)>>0]|0;r=n&255;m=(t+r|0)%2|0}while((k-(m&255)|0)<(r|0));V=r-(p&255)|0;V=(V|0)>0?V:0;W=V&255;j=o&255;a[b+12021+j>>0]=W;a[b+12085+j>>0]=s-m-V;j=o+1<<24>>24;if(!(W<<24>>24)){k=D;j=o}else{a[G>>0]=j;p=n;k=n}if((E|0)==(r|0))break;else{q=((d[b+26+i>>0]|0)-r|0)<3?y:q;o=j}}k=j+-1<<24>>24;if((j&255)>1?(d[(j&255)+-1+(b+12021)>>0]|0)<3:0){a[G>>0]=k;j=k}a[G>>0]=(j&255)<5?j:5}while(0);U=a[b+12020>>0]|0;if(U<<24>>24){V=b+14|0;T=b+53416|0;W=K&255;G=J&255;J=G+-2+W|0;S=G+-1+W|0;D=(K&255)<(N&255);E=N&255;y=N&255;k=0;j=0;while(1){t=b+12021+k|0;if(a[t>>0]|0){u=j<<24>>24==0;i=b+12085+k|0;r=d[V>>0]|0;s=j&255;q=0;n=0;while(1){k=n+r|0;if(!u){m=0;do{k=(k&255)+(d[b+12021+m>>0]|0)|0;m=m+1|0}while((m|0)!=(s|0))}m=n+(d[i>>0]|0)|0;p=k&255;Q=+f[b+10996+(Z<<8)+(d[b+538+p>>0]<<2)>>2];R=Q*Q;if(R>0.0){k=a[Y>>0]|0;n=k&255;N=n+-2|0;o=m&255;O=+f[e+(N<<9)+(o<<3)>>2];P=+f[e+(N<<9)+(o<<3)+4>>2];m=n+-1|0;L=+f[e+(m<<9)+(o<<3)>>2];M=+f[e+(m<<9)+(o<<3)+4>>2];m=k<<24>>24;n=((a[T>>0]|0)+6&255)+n|0;if((n|0)>(m|0)){H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;z=O;v=M;x=L;F=P;while(1){l=+f[e+(m<<9)+(o<<3)>>2];w=+f[e+(m<<9)+(o<<3)+4>>2];H=H+(x*l+v*w);I=I+(x*w-v*l);A=A+(z*l+F*w);B=B+(z*w-F*l);C=C+(v*v+x*x);k=k+1<<24>>24;m=k<<24>>24;if((n|0)<=(m|0))break;else{F=v;z=x;v=w;x=l}}}else{H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;x=O;w=M;l=L;v=P}z=O*L+P*M+(H-(v*w+l*x));w=O*M-P*L+(I-(w*x-v*l));l=C*(O*O+P*P+(C-(v*v+x*x)))-(w*w+z*z)*.9999990463256836;if(l==0.0){v=0.0;x=0.0}else{x=1.0/l;v=(H*z-I*w-C*A)*x;x=(H*w+I*z-C*B)*x}if(C==0.0){m=X+(o<<3)|0;f[m>>2]=0.0;w=0.0;l=0.0}else{P=1.0/C;l=-(P*(w*x+(H+z*v)));m=X+(o<<3)|0;f[m>>2]=l;w=-(P*(I+z*x-w*v))}k=X+(o<<3)+4|0;f[k>>2]=w;if(!(!(l*l+w*w>=16.0)?!(v*v+x*x>=16.0):0)){f[m>>2]=0.0;f[k>>2]=0.0;l=+f[X+(o<<3)>>2];v=0.0;w=0.0;x=0.0}H=Q*l;F=R*v;C=Q*w;z=R*x;if(D){l=+f[e+(J<<9)+(o<<3)+4>>2];v=+f[e+(S<<9)+(o<<3)>>2];w=+f[e+(J<<9)+(o<<3)>>2];x=+f[e+(S<<9)+(o<<3)+4>>2];k=W;while(1){N=k+G|0;A=+f[e+(N<<9)+(o<<3)>>2];B=+f[e+(N<<9)+(o<<3)+4>>2];f[g+(N<<9)+(p<<3)>>2]=F*w+(H*v-C*x)-z*l+A;f[g+(N<<9)+(p<<3)+4>>2]=F*l+(z*w+(C*v+H*x))+B;k=k+1|0;if((k|0)==(E|0))break;else{w=v;l=x;v=A;x=B}}}}else if(D){k=m&255;m=W;do{N=m+G|0;c[g+(N<<9)+(p<<3)>>2]=c[e+(N<<9)+(k<<3)>>2];c[g+(N<<9)+(p<<3)+4>>2]=c[e+(N<<9)+(k<<3)+4>>2];m=m+1|0}while((m|0)!=(y|0))}k=q+1<<24>>24;if((k&255)<(d[t>>0]|0)){q=k;n=k&255}else break}}j=j+1<<24>>24;if((j&255)<(U&255))k=j&255;else break}}if(!(a[b+12426>>0]|0)){Gc=_;return}YT(b);Gc=_;return}function WT(e,g,h){e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.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.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,I=0.0,J=0,K=0,L=0,M=0,N=0,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,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=Gc;Gc=Gc+3536|0;aa=ia+3332|0;ba=ia+3136|0;ca=ia+2940|0;ga=ia;DY(ga|0,0,2940)|0;ha=h&255;k=a[e+53451+ha>>0]|0;do if(k<<24>>24){i=a[e+53507+ha>>0]|0;j=i&255;if(k<<24>>24==2){if((i&255)<=1){i=-1;break}i=j+255&255;break}else{if(!(i<<24>>24)){i=-1;break}i=1-j+(d[e+610+ha>>0]|0)&255;break}}else i=-1;while(0);fa=e+10972+ha|0;a[fa>>0]=i;ea=e+610+ha|0;j=a[ea>>0]|0;i=j<<24>>24!=0;if((a[e+53440>>0]|0)==1)if(i){w=e+53419|0;x=e+14|0;u=a[e+15>>0]|0;y=u&255;t=j&255;i=u;s=0;do{r=s;s=s+1|0;p=d[e+616+(ha*6|0)+s>>0]|0;q=d[e+616+(ha*6|0)+r>>0]|0;Z=p-q|0;o=(Z|0)==0?1.0:+(Z|0);if(!(i<<24>>24))i=0;else{n=0;do{k=d[w>>0]|0;i=k+q|0;j=i&255;k=k+p|0;if(k>>>0>j>>>0){m=n+(d[x>>0]|0)|0;i=i&255;l=0.0;do{_=+f[g+(j<<9)+(m<<3)>>2];$=+f[g+(j<<9)+(m<<3)+4>>2];l=l+(_*_+$*$);i=i+1<<24>>24;j=i&255}while(k>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+(n*20|0)+(r<<2)>>2]=l/o;n=n+1|0}while(n>>>0<y>>>0);i=u}}while((s|0)!=(t|0));Z=a[ea>>0]|0}else Z=0;else if(i){z=e+53419|0;A=e+14|0;y=0;i=j;x=0;while(1){w=e+634+(ha*6|0)+x|0;j=a[w>>0]|0;k=j&255;if(a[e+24+k>>0]|0){t=e+616+(ha*6|0)+x|0;u=x+1+(e+616+(ha*6|0))|0;s=0;i=j;j=0;while(1){m=a[e+90+(k<<6)+j>>0]|0;j=a[j+1+(e+90+(k<<6))>>0]|0;if((m&255)<(j&255)){r=j&255;n=m&255;p=r-n|0;q=n;do{m=d[u>>0]|0;i=d[t>>0]|0;Z=H(m-i|0,p)|0;o=(Z|0)==0?1.0:+(Z|0);Z=d[z>>0]|0;i=Z+i|0;j=i&255;m=Z+m|0;if(m>>>0>j>>>0){k=i&255;l=0.0;do{i=n;do{_=+f[g+(j<<9)+(i<<3)>>2];$=+f[g+(j<<9)+(i<<3)+4>>2];l=l+(_*_+$*$);i=i+1|0}while((i|0)!=(r|0));k=k+1<<24>>24;j=k&255}while(m>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+((q-(d[A>>0]|0)|0)*20|0)+(x<<2)>>2]=l/o;q=q+1|0}while((q|0)!=(r|0));i=a[w>>0]|0}j=s+1<<24>>24;k=i&255;if((j&255)>=(d[e+24+k>>0]|0))break;else{s=j;j=j&255}}i=a[ea>>0]|0}j=y+1<<24>>24;if((j&255)<(i&255)){y=j;x=j&255}else{Z=i;break}}}else Z=0;if(Z<<24>>24){R=e+53439|0;S=e+14|0;T=e+53445+ha|0;U=e+12418+ha|0;V=a[fa>>0]|0;W=d[e+53438>>0]|0;X=a[e+20+W>>0]|0;Y=X<<24>>24==0;P=0;Q=0;O=0;j=Z;while(1){N=(O|0)==(V|0);if(N)i=1;else i=(O|0)==(a[U>>0]|0);M=i^1;Q=Q+((d[O+1+(e+616+(ha*6|0))>>0]|0)>(d[(Q&255)+1+(e+628+(ha*3|0))>>0]|0)&1)<<24>>24;if(!Y){q=XT(e,h,P,0)|0;J=e+634+(ha*6|0)+O|0;K=Q&255;$=+f[127856+(d[R>>0]<<2)>>2];L=(O|0)<(V|0);G=0;r=0;s=0;t=0;j=0;i=0;while(1){y=a[e+282+(W<<6)+i>>0]|0;z=a[i+1+(e+282+(W<<6))>>0]|0;A=(y&255)<(z&255);i=y&255;if(A){m=d[S>>0]|0;n=d[J>>0]|0;p=z&255;o=0.0;l=0.0;k=i;do{j=j+((k+m|0)==(d[(j&255)+1+(e+90+(n<<6))>>0]|0)&1)<<24>>24;l=l+ +f[e+2268+(ha*1280|0)+((j&255)*20|0)+(O<<2)>>2];o=o+ +f[e+4828+(ha*1280|0)+(k*20|0)+(O<<2)>>2];k=k+1|0}while((k|0)!=(p|0));y=j}else{o=0.0;l=0.0;y=j}_=l+1.0e-12;I=_/(o+1.0e-12)*$;I=I<1.0e10?I:1.0e10;if(A){u=d[S>>0]|0;w=d[J>>0]|0;x=z&255;l=0.0;p=q;j=r;m=s;k=t;r=i;while(1){q=r+u|0;n=j+((q|0)==(d[(j&255)+1+(e+218)>>0]|0)&1)<<24>>24;j=k+1<<24>>24;if((q|0)==(d[(k&255)+1+(e+90+(w<<6))>>0]|0)){p=XT(e,h,P,j)|0;k=j}m=m+((q|0)==(d[(m&255)+1+(e+154)>>0]|0)&1)<<24>>24;j=m&255;if(L)if((a[e+12277+(ha<<6)+j>>0]|0)!=0?(a[T>>0]|0)!=0:0)da=49;else j=0;else da=49;if((da|0)==49){da=0;if((q|0)==(((d[e+154+j>>0]|0)+(d[j+1+(e+154)>>0]|0)|0)>>>1|0))j=a[e+12149+(ha<<6)+j>>0]|0;else j=0}t=n&255;B=+f[e+8412+(ha<<9)+(t<<3)+(K<<2)>>2];C=+f[e+9436+(ha<<9)+(t<<3)+(K<<2)>>2];o=+f[e+2268+(ha*1280|0)+((k&255)*20|0)+(O<<2)>>2];F=C*o;j=j<<24>>24==0;D=B*o;f[ca+(r<<2)>>2]=j?0.0:D;E=+f[e+4828+(ha*1280|0)+(r*20|0)+(O<<2)>>2];o=o/(E+1.0);if(p<<24>>24==0&M)o=B*o;else o=p<<24>>24==1?C*o:o;t=o<I;F=t?F:F*I/o;C=t?o:I;f[aa+(r<<2)>>2]=F;f[ba+(r<<2)>>2]=C;l=(j?l:l+D)+E*C;l=j?(N?l:F+l):l;r=r+1|0;if((r|0)==(x|0))break;else j=n}}else{l=0.0;p=q;n=r;m=s;k=t}o=_/(l+1.0e-12);o=o<2.51188643?o:2.51188643;if(A){j=z&255;do{f[ga+(O*196|0)+(i<<2)>>2]=+v(+(+f[ba+(i<<2)>>2]*o));f[ga+980+(O*196|0)+(i<<2)>>2]=+v(+(+f[aa+(i<<2)>>2]*o));l=+f[ca+(i<<2)>>2];if(l!=0.0)l=+v(+(l*o));else l=0.0;f[ga+1960+(O*196|0)+(i<<2)>>2]=l;i=i+1|0}while((i|0)!=(j|0))}i=G+1<<24>>24;if((i&255)<(X&255)){G=i;q=p;r=n;s=m;t=k;j=y;i=i&255}else{j=Z;break}}}i=P+1<<24>>24;if((i&255)>=(j&255))break;else{P=i;O=i&255}}}if((a[e+12426>>0]|0)==1){i=0;k=1}else{i=b[e+12406+(ha<<1)>>1]|0;k=0}h=e+12410+ha|0;j=a[h>>0]|0;if(!(Z<<24>>24)){ga=j;g=i;ha=e+12406+(ha<<1)|0;b[ha>>1]=g;a[h>>0]=ga;Gc=ia;return 0}K=e+53441|0;L=e+728+ha|0;M=e+15|0;N=e+53419|0;O=e+14|0;P=e+53448|0;Q=e+53449|0;R=e+12418+ha|0;S=e+648+(ha*20|0)|0;T=e+688+(ha*20|0)|0;U=e+648+(ha*20|0)+4|0;V=e+688+(ha*20|0)+4|0;W=e+648+(ha*20|0)+8|0;X=e+688+(ha*20|0)+8|0;Y=e+648+(ha*20|0)+12|0;Z=e+688+(ha*20|0)+12|0;J=0;z=0;while(1){if((z|0)==(a[fa>>0]|0))G=1;else G=(z|0)==(a[R>>0]|0);A=G|(a[K>>0]|0)==1;if(k<<24>>24){ca=ga+(z*196|0)|0;da=ga+980+(z*196|0)|0;BY(c[S>>2]|0,ca|0,d[M>>0]<<2|0)|0;BY(c[T>>2]|0,da|0,d[M>>0]<<2|0)|0;BY(c[U>>2]|0,ca|0,d[M>>0]<<2|0)|0;BY(c[V>>2]|0,da|0,d[M>>0]<<2|0)|0;BY(c[W>>2]|0,ca|0,d[M>>0]<<2|0)|0;BY(c[X>>2]|0,da|0,d[M>>0]<<2|0)|0;BY(c[Y>>2]|0,ca|0,d[M>>0]<<2|0)|0;BY(c[Z>>2]|0,da|0,d[M>>0]<<2|0)|0;a[L>>0]=4}k=a[e+616+(ha*6|0)+z>>0]|0;w=z+1+(e+616+(ha*6|0))|0;if((k&255)<(d[w>>0]|0)){x=ga+(z*196|0)|0;y=ga+980+(z*196|0)|0;u=k;n=a[L>>0]|0;m=a[M>>0]|0;t=k&255;while(1){BY(c[e+648+(ha*20|0)+(n<<24>>24<<2)>>2]|0,x|0,(m&255)<<2|0)|0;BY(c[e+688+(ha*20|0)+(a[L>>0]<<2)>>2]|0,y|0,d[M>>0]<<2|0)|0;m=a[M>>0]|0;if(!(m<<24>>24))m=0;else{s=j&255;D=+(a[246896+s>>0]|0);E=+(a[246900+s>>0]|0);s=m&255;r=0;do{k=a[L>>0]|0;if(A){da=k<<24>>24;l=+f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2];B=+f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]}else{da=k+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;q=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;aa=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ba=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ca=da&255;da=da+1<<24>>24;da=((da&255)>4?(da&255)+251&255:da)&255;l=+f[(c[e+688+(ha*20|0)+(q<<2)>>2]|0)+(r<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+688+(ha*20|0)+(aa<<2)>>2]|0)+(r<<2)>>2]*.11516383290290833+ +f[(c[e+688+(ha*20|0)+(ba<<2)>>2]|0)+(r<<2)>>2]*.21816949546337128+ +f[(c[e+688+(ha*20|0)+(ca<<2)>>2]|0)+(r<<2)>>2]*.3015028238296509+ +f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]*.3333333432674408;B=+f[(c[e+648+(ha*20|0)+(q<<2)>>2]|0)+(r<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+648+(ha*20|0)+(aa<<2)>>2]|0)+(r<<2)>>2]*.11516383290290833+ +f[(c[e+648+(ha*20|0)+(ba<<2)>>2]|0)+(r<<2)>>2]*.21816949546337128+ +f[(c[e+648+(ha*20|0)+(ca<<2)>>2]|0)+(r<<2)>>2]*.3015028238296509+ +f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]*.3333333432674408}C=+f[ga+1960+(z*196|0)+(r<<2)>>2];o=G|C!=0.0?0.0:l;i=i+1&511;k=t+(d[N>>0]|0)|0;n=r+(d[O>>0]|0)|0;p=g+(k<<9)+(n<<3)|0;q=i&65535;l=B*+f[p>>2]+o*+f[127872+(q<<3)>>2];f[p>>2]=l;if((a[P>>0]|0)==3?(a[Q>>0]|0)==42:0){f[p>>2]=16428320.0;l=16428320.0}da=g+(k<<9)+(n<<3)+4|0;$=B*+f[da>>2]+o*+f[127872+(q<<3)+4>>2];f[p>>2]=l+C*D;f[da>>2]=$+C*+((n<<25&33554432^33554432)+-16777216>>24|0)*E;r=r+1|0}while((r|0)!=(s|0))}j=j+1&3;n=(a[L>>0]|0)+1<<24>>24;n=n<<24>>24>4?0:n;a[L>>0]=n;k=u+1<<24>>24;if((k&255)>=(d[w>>0]|0))break;else{u=k;t=k&255}}}m=J+1<<24>>24;if((m&255)<(d[ea>>0]|0)){J=m;k=0;z=m&255}else break}ha=e+12406+(ha<<1)|0;b[ha>>1]=i;a[h>>0]=j;Gc=ia;return 0}function XT(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;i=c&255;f=d&255;if((a[b+634+(i*6|0)+f>>0]|0)==1){c=e&255;if((f|0)<(a[b+10972+i>>0]|0)){if(!(a[b+12277+(i<<6)+c>>0]|0)){b=0;return b|0}if(!(a[b+53445+i>>0]|0)){b=0;return b|0}}b=a[b+12149+(i<<6)+c>>0]|0;return b|0}g=(e&255)<<1;e=a[b+17>>0]&1;c=g-e|0;d=c&255;c=c&255;e=g+2-e&255;if(e>>>0<=c>>>0){b=0;return b|0}g=b+53445+i|0;if((f|0)>=(a[b+10972+i>>0]|0)){while(1){if((a[b+12149+(i<<6)+c>>0]|0)==1){c=1;d=14;break}d=d+1<<24>>24;c=d&255;if(e>>>0<=c>>>0){c=0;d=14;break}}if((d|0)==14)return c|0}else{h=d;j=c}while(1){if((a[b+12277+(i<<6)+j>>0]|0?a[g>>0]|0:0)?(a[b+12149+(i<<6)+j>>0]|0)==1:0){c=1;d=14;break}h=h+1<<24>>24;j=h&255;if(e>>>0<=j>>>0){c=0;d=14;break}}if((d|0)==14)return c|0;return 0} |
| | | function kK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function lK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<4;q=g<<4;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;s=l-s|0;b[g>>1]=s>>>0<4096?s:0-s>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function mK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function nK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function oK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function pK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function qK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function rK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function tK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}DY(d|0,0,256)|0;return}function uK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function vK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function wK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else uK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;sK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function xK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else vK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function yK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function zK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[209023+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function AK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[209023+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)uK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else sK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function BK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Gc;Gc=Gc+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[209019+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Gc=h;return}function CK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function DK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Gc;Gc=Gc+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[209017+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Gc=g;return}function EK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function FK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function GK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function HK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function IK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function JK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function KK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function NK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function OK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function PK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function QK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function RK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function SK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function TK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function UK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function VK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<6;q=g<<6;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;s=l-s|0;b[g>>1]=s>>>0<16384?s:0-s>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function WK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function YK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ZK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function _K(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $K(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function bL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}l=g<<1;m=g*3|0;n=g<<2;i=g*5|0;j=g*6|0;k=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+l)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+m)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+n)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+i)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+j)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+k)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function cL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;else e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function dL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;else e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function eL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[209023+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else cL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;aL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function fL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)>=16)break;switch(a[i+(d[209023+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else dL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;bL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function gL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[209023+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)cL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else aL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function hL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3){j=1;break}k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[209023+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)cL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else aL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if((k|0)>=(l|0))break;n=k+4|0;if(!(a[i+(d[209023+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)cL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else aL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function iL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[209023+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)cL(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else aL(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function jL(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=Gc;Gc=Gc+64|0;h=i;g=0;while(1){if((g|0)==4){g=0;break}q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}while(1){if((g|0)==4)break;r=d[209019+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;b[a+(r<<1)>>1]=((H(q+p|0,f)|0)+128|0)>>>8;b[a+(r+16<<1)>>1]=((H(o+n|0,f)|0)+128|0)>>>8;b[a+(r+64<<1)>>1]=((H(n-o|0,f)|0)+128|0)>>>8;b[a+(r+80<<1)>>1]=((H(p-q|0,f)|0)+128|0)>>>8;g=g+1|0}Gc=i;return}function kL(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;b[a>>1]=(H(h+i|0,c)|0)>>>7;b[j>>1]=(H(e+f|0,c)|0)>>>7;b[g>>1]=(H(i-h|0,c)|0)>>>7;b[d>>1]=(H(f-e|0,c)|0)>>>7;return}function lL(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Gc;Gc=Gc+32|0;g=h;f=0;while(1){if((f|0)==4){f=0;break}j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}while(1){if((f|0)==2)break;k=d[209017+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;b[a+(k<<1)>>1]=((H(j+i|0,e)|0)+128|0)>>>8;b[a+(k+32<<1)>>1]=((H(l+m|0,e)|0)+128|0)>>>8;b[a+(k+64<<1)>>1]=((H(m-l|0,e)|0)+128|0)>>>8;b[a+(k+96<<1)>>1]=((H(i-j|0,e)|0)+128|0)>>>8;f=f+1|0}Gc=h;return}function mL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function nL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function oL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function pL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function qL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function rL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function sL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function tL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function uL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function vL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function wL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function xL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;l=d[g>>0]|0;h=b+x|0;n=d[h>>0]|0;i=b+y|0;o=d[i>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[i>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){B=d[b+u>>0]|0;a[i>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[h>>0]=(l+2+n+o+p|0)>>>2;i=g;h=3;j=4;k=p;g=(l*3|0)+n+(B<<1)|0}else{h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function yL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function zL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function AL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function BL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function DL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0;while(1){if((h|0)==4)break;q=a[g+h>>0]|0;p=q<<24>>24;a:do if(q<<24>>24>=1){q=0-p|0;i=0;j=b;while(1){if((i|0)==1)break a;k=j+-1|0;l=d[k>>0]|0;m=d[j+-2>>0]|0;n=d[j>>0]|0;o=d[j+1>>0]|0;r=l-n|0;if(((((r|0)>-1?r:0-r|0)|0)<(e|0)?(r=m-l|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0)?(r=o-n|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0){r=m+4-o+(n-l<<2)>>3;r=(r|0)<(q|0)?q:(r|0)>(p|0)?p:r;o=r+l|0;a[k>>0]=o>>>0>255?(o^-2147483648)>>31:o;r=n-r|0;a[j>>0]=r>>>0>255?(r^-2147483648)>>31:r}i=i+1|0;j=j+c|0}}while(0);b=b+c|0;h=h+1|0}return}function EL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function FL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function GL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function HL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function IL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function JL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function KL(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function LL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=nY(0,0,b|0,c|0)|0;o=sY(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=wY(o|0,M()|0,58)|0;M()|0;o=a[209286+o>>0]|0;g=o&255;j=nY(0,0,e|0,f|0)|0;j=sY(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=wY(j|0,M()|0,58)|0;M()|0;j=a[209286+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=vY(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=nY(0,0,o|0,m|0)|0;l=M()|0;f=vY(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=nY(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=nY((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=nY(0,0,k|0,l|0)|0;n=sY(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=wY(n|0,M()|0,58)|0;M()|0;n=vY(k|0,l|0,d[209286+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=xY(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;d=h;f=c[(c[a+28>>2]|0)+20>>2]|0;do if(((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)?(c[a+120>>2]|0)!=10:0){e=f+300|0;if((c[e>>2]|0)!=1){Te(a,16,209488,d);a=-1;break}d=f+184|0;OW(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;EY(a|0)|0;while(1){if((c[e>>2]|0)==1)break;Ab(a|0,d|0)|0}a=c[f+328>>2]|0;PW(d)|0}else g=4;while(0);if((g|0)==4)a=OL(a,b)|0;Gc=h;return a|0}function NL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[a+880>>2]|0;a:do if((d|0)!=0?(i=c[(c[a+12>>2]|0)+124>>2]|0,(i|0)!=0):0){g=(c[d+4>>2]|0)+8|0;f=0;while(1){h=c[i+(f<<2)>>2]|0;if(!h){d=0;j=11;break a}b:do if(c[h+4>>2]&1|0?(c[g>>2]|0)==(c[h+8>>2]|0):0){e=0;while(1){d=c[b+(e<<2)>>2]|0;if((d|0)==-1)break b;if((c[h>>2]|0)==(d|0))break a;else e=e+1|0}}while(0);f=f+1|0}}else{d=0;j=11}while(0);c:do if((j|0)==11){while(1)if((c[b+(d<<2)>>2]|0)==-1)break;else{d=d+1|0;j=11}d=b+(d+-1<<2)|0;j=c[(ng(c[d>>2]|0)|0)+8>>2]|0;if((j&8|0)==0&0==0){d=c[d>>2]|0;break}g=a+12|0;f=0;d:while(1){h=b+(f<<2)|0;if((c[h>>2]|0)==-1){d=-1;break c}else e=0;while(1){i=RL(c[g>>2]|0,e)|0;if(!i)break d;d=c[i>>2]|0;if((d|0)==(c[h>>2]|0))break;else e=e+1|0}if(!(c[i+4>>2]&4))f=f+1|0;else break c}d=c[h>>2]|0}while(0);return d|0}function 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,n=0,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=Gc;Gc=Gc+80|0;t=z+72|0;s=z+64|0;r=z+56|0;q=z+48|0;p=z+40|0;w=z+32|0;v=z+24|0;u=z+16|0;d=z;x=z+76|0;f=0;while(1){e=f+1|0;if((c[b+(f<<2)>>2]|0)==-1)break;else f=e}if((f|0)<=0){c[d>>2]=209550;c[d+4>>2]=187374;c[d+8>>2]=1310;Te(0,0,222432,d);Za()}d=b+(f+-1<<2)|0;m=c[(ng(c[d>>2]|0)|0)+8>>2]|0;if((m&8|0)==0&0==0)c[a+768>>2]=c[d>>2];d=Jg(e,4)|0;c[x>>2]=d;if(!d)d=-1;else{BY(d|0,b|0,e<<2|0)|0;j=a+120|0;k=a+12|0;l=a+880|0;m=a+860|0;i=d;a:while(1){PL(a);d=Oc[c[j>>2]&15](a,i)|0;if((d|0)==-1){d=-1;break}h=ng(d)|0;if(!h){y=11;break}c[v>>2]=c[h>>2];Te(a,48,209608,v);b=0;while(1){if((b|0)>=(f|0))break;if((c[i+(b<<2)>>2]|0)==(d|0))break;b=b+1|0}if((b|0)==(f|0)){y=17;break}e=c[(c[k>>2]|0)+124>>2]|0;if(!e)break;else b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break a;if((c[g>>2]|0)==(d|0))break;else b=b+1|0}b=c[g+4>>2]|0;if((b&2|0)!=0?(n=c[m>>2]|0,(n|0)!=0):0)if((c[(c[n+4>>2]|0)+36>>2]|0)==(d|0))y=31;else{c[p>>2]=c[h>>2];Te(a,16,209703,p)}else y=25;do if((y|0)==25){y=0;if(b&1|0?(o=c[l>>2]|0,o|0):0){if((c[(c[o+4>>2]|0)+8>>2]|0)==(c[g+8>>2]|0)){y=31;break}c[q>>2]=c[h>>2];Te(a,16,209791,q);break}if(!(b&12)){c[r>>2]=c[h>>2];Te(a,16,209877,r)}else y=31}while(0);if((y|0)==31){y=0;if(!(c[g+12>>2]|0))break;c[s>>2]=c[h>>2];Te(a,48,209930,s);if((QL(a,g)|0)>=0)break}c[t>>2]=c[h>>2];Te(a,48,209974,t);b=0;while(1){if((b|0)>=(f|0)){d=b;break}if((c[i+(b<<2)>>2]|0)==(d|0)){d=b;break}b=b+1|0}while(1){b=d+1|0;if((b|0)>=(f|0))break;i=c[x>>2]|0;c[i+(d<<2)>>2]=c[i+(b<<2)>>2];d=b}f=f+-1|0;i=c[x>>2]|0}if((y|0)==11){Te(a,16,209557,u);d=-1}else if((y|0)==17){c[w>>2]=c[h>>2];Te(a,16,209643,w);d=0}Pe(x)}Gc=z;return d|0}function PL(a){a=a|0;var b=0,d=0,e=0;b=a+592|0;d=c[b>>2]|0;if(d|0?(e=c[d+52>>2]|0,e|0):0)Mc[e&31](a)|0;Pe((c[a+28>>2]|0)+60|0);c[b>>2]=0;zf(a+860|0);return}function QL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i+8|0;e=i;g=c[b+12>>2]|0;if((c[g+16>>2]&512|0)!=0?(c[a+568>>2]|0)>-2:0){c[e>>2]=c[g>>2];Te(a,24,210031,e);d=-1163346256}else f=4;do if((f|0)==4){e=c[g+56>>2]|0;if(e|0?(f=Lf(e)|0,c[(c[a+28>>2]|0)+60>>2]=f,(f|0)==0):0){d=-12;break}f=a+592|0;c[f>>2]=g;e=c[g+48>>2]|0;if((e|0)!=0?(d=Mc[e&31](a)|0,(d|0)<0):0){c[h>>2]=og(c[b>>2]|0)|0;Te(a,16,210066,h);Pe((c[a+28>>2]|0)+60|0);c[f>>2]=0}else d=0}while(0);Gc=i;return d|0}function RL(a,b){a=a|0;b=b|0;var d=0;d=c[a+124>>2]|0;a:do if((b|0)<0|(d|0)==0)a=0;else{a=0;while(1){if((a|0)>(b|0))break;if(!(c[d+(a<<2)>>2]|0)){a=0;break a}else a=a+1|0}a=c[d+(b<<2)>>2]|0}while(0);return a|0}function SL(a){a=a|0;var b=0,c=0,e=0;e=mM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;nM(a,b);return (oM(a,b+1|0)|0)+-1|0}function TL(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[184790+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[185302+a>>0]|0|0}function UL(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Gc;Gc=Gc+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[178821+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Te(0,16,214180,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[184790+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[185302+a>>0]|0}while(0);Gc=i;return a|0}function VL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function WL(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function XL(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[184790+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[185814+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[178821+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function YL(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+16|0;k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(kM(d)|0){c[b>>2]=(jM(d)|0)+1;if((f|0)==3)e=(jM(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=c[j>>2]|0;if(g>>>0>i>>>0|(e+-1|0)>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e+-1;c[k+12>>2]=i;Te(h,16,210697,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}Gc=m;return e|0}function ZL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Gc;Gc=Gc+16|0;m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(bM(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=cM(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}c[b+27256+(f<<8)+(e<<3)+4>>2]=dM(k)|0;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){Te(d,16,210630,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;Te(d,16,210656,m);e=-1094995529}Gc=o;return e|0}function _L(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Gc;Gc=Gc+32|0;x=z+16|0;l=z+8|0;k=z;c[f>>2]=0;w=f+4|0;c[w>>2]=0;i=jM(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;Te(h,16,210521,k);c[j>>2]=0;i=0}t=1<<i;s=b+12|0;if(!(c[s>>2]|0))r=0;else{i=jM(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;Te(h,16,210564,l);c[j>>2]=0;i=0}r=1<<i}q=(g|0)==3;m=(e|0)==3;g=0;a:while(1){if((g|0)>=2){y=35;break}n=f+16+(g<<2)|0;c[n>>2]=0;o=f+24+(g<<2)|0;c[o>>2]=0;p=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[p>>2]|0))break;if(kM(a)|0){j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=lM(a)|0;i=lM(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){y=38;break a}if((i<<24>>24|0)!=(i|0)){y=38;break a}if(!((i|0)==0&(j|0)==(t|0))){c[f>>2]=1;i=1;j=n;y=17}}else{c[f+32+(e<<4)+(g<<3)>>2]=t;i=0;j=f+32+(e<<4)+(g<<3)+4|0;y=17}if((y|0)==17){y=0;c[j>>2]=i}b:do if(c[s>>2]|0){if(!(kM(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=r;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}else i=0;while(1){if((i|0)>=2)break b;j=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[j>>2]=lM(a)|0;k=lM(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[b>>2]=k;l=c[j>>2]|0;if((l<<24>>24|0)!=(l|0)){y=26;break a}if((k<<24>>24|0)!=(k|0)){y=26;break a}if(!((k|0)==0&(l|0)==(r|0))){c[w>>2]=1;c[o>>2]=1}i=i+1|0}}while(0);c:do if(q?(l=c[f+32+(e<<4)+(g<<3)>>2]|0,v=e<<1,u=v+16|0,v=v+17|0,c[f+32+(v<<4)+(g<<3)>>2]=l,c[f+32+(u<<4)+(g<<3)>>2]=l,l=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(v<<4)+(g<<3)+4>>2]=l,c[f+32+(u<<4)+(g<<3)+4>>2]=l,c[s>>2]|0):0){i=0;while(1){if((i|0)==2)break c;l=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)>>2]=l;l=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)+4>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)+4>>2]=l;i=i+1|0}}while(0);e=e+1|0}if(m)g=g+1|0;else{y=35;break}}if((y|0)==26){c[j>>2]=r;c[b>>2]=0;y=38}else if((y|0)==35){if(!(c[f>>2]|0))i=(c[w>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((y|0)==38){Lh(h,210609,x);i=-1094995529}Gc=z;return i|0}function $L(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=Gc;Gc=Gc+16|0;l=n+8|0;m=n;a:do if((c[d+44>>2]|0)!=5){k=bM(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if((d|0)>=66){f=21;break a}k=cM(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(dM(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=j&(c[g>>2]|0)+-1}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=cM(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;Te(e,16,210461,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;Te(e,16,213770,l);d=-1;break}}else{d=0;f=21}}else{aM(b);if(!(bM(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}Gc=n;return d|0}function aM(a){a=a|0;iM(a);return}function bM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function cM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[184790+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[185302+a>>0]|0|0}function dM(a){a=a|0;var b=0,c=0,e=0;e=eM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;fM(a,b);return (gM(a,b+1|0)|0)+-1|0}function eM(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=gM(d,32)|0;Gc=b;return a|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function gM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=hM(a,b)|0;break}else{b=b+-16|0;c=(hM(a,16)|0)<<b;a=c|(hM(a,b)|0);break}else a=0;while(0);return a|0}function hM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function iM(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function jM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Gc;Gc=Gc+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[178821+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Te(0,16,214180,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[184790+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[185302+a>>0]|0}while(0);Gc=i;return a|0}function kM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function lM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[184790+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[185814+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[178821+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function mM(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=oM(d,32)|0;Gc=b;return a|0}function nM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function oM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=VL(a,b)|0;break}else{b=b+-16|0;c=(VL(a,16)|0)<<b;a=c|(VL(a,b)|0);break}else a=0;while(0);return a|0}function pM(a){a=a|0;var b=0,c=0,e=0;e=qM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;rM(a,b);return (sM(a,b+1|0)|0)+-1|0}function qM(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=sM(d,32)|0;Gc=b;return a|0}function rM(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function sM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=tM(a,b)|0;break}else{b=b+-16|0;c=(tM(a,16)|0)<<b;a=c|(tM(a,b)|0);break}else a=0;while(0);return a|0}function tM(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function uM(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967231){if(!(JM(b,d,e+64|0)|0)){b=(c[b>>2]|0)+e|0;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{Pe(b);c[d>>2]=0}return}function vM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Gc;Gc=Gc+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;Te(g,16,213818,k);h=-1094995529}}else h=-11;Gc=l;return h|0}function wM(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if((b+3|0)>>>0<c>>>0){d=0;while(1){f=b+d|0;if((f+3|0)>>>0>=c>>>0)break;e=d+1|0;if(a[f>>0]|0){d=e;continue}if(a[b+e>>0]|0){d=e;continue}if((a[b+(d+2)>>0]|0)==1)break;else d=e}d=d+3|0}else d=c-b|0;return d|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=_e(a,H(c,b)|0)|0;else a=0;return a|0}function yM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Gc;Gc=Gc+16|0;r=v;q=f+52|0;c[q>>2]=0;h=0;while(1){if((h+1|0)>=(d|0))break;if(!(a[b+h>>0]|0)){i=h+-1|0;if((h|0)>0)h=(a[b+i>>0]|0)==0?i:h;i=h+2|0;if(((i|0)<(d|0)?(a[b+(h+1)>>0]|0)==0:0)?(j=a[b+i>>0]|0,(j&255)<4):0){t=9;break}}h=h+2|0}a:do if((t|0)==9){switch(j<<24>>24){case 0:case 3:break a;default:{}}d=h}while(0);b:do if((g|0)!=0&(h|0)>=(d+-1|0)){c[f+20>>2]=b;c[f+8>>2]=b;c[f+16>>2]=d;c[f+4>>2]=d}else{i=(h|0)>(d|0)?d:h;p=e+8|0;o=(c[e>>2]|0)+(c[p>>2]|0)|0;c[f>>2]=o;BY(o|0,b|0,i|0)|0;m=f+60|0;n=f+56|0;h=i;while(1){j=i+2|0;if((j|0)>=(d|0)){t=30;break}e=b+j|0;g=a[e>>0]|0;if((g&255)<=3){j=a[b+i>>0]|0;if(!(j<<24>>24))if(g<<24>>24==0?1:(a[b+(i+1)>>0]|0)!=0)j=0;else{if(g<<24>>24!=3){u=h;s=i;break}l=h+1|0;a[o+h>>0]=0;h=h+2|0;a[o+l>>0]=0;i=i+3|0;j=c[m>>2]|0;if(!j)continue;k=c[q>>2]|0;g=k+1|0;c[q>>2]=g;e=c[n>>2]|0;if((e|0)<=(k|0)){j=e<<1;c[n>>2]=j;if((j|0)<=(k|0)){t=24;break}GM(m,j,4)|0;j=c[m>>2]|0;if(!j){t=27;break}g=c[q>>2]|0}c[j+(g+-1<<2)>>2]=l;continue}}else{a[o+h>>0]=a[b+i>>0]|0;a[o+(h+1)>>0]=a[b+(i+1)>>0]|0;h=h+2|0;i=j;j=a[e>>0]|0}a[o+h>>0]=j;h=h+1|0;i=i+1|0}c:do if((t|0)==24){c[r>>2]=211198;c[r+4>>2]=211248;c[r+8>>2]=114;Te(0,0,222432,r);Za()}else if((t|0)==27){c[n>>2]=0;d=-12;break b}else if((t|0)==30)while(1){if((i|0)>=(d|0)){u=h;s=i;break c}a[o+h>>0]=a[b+i>>0]|0;h=h+1|0;i=i+1|0;t=30}while(0);d=o+u|0;h=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));c[f+8>>2]=o;c[f+4>>2]=u;c[f+20>>2]=b;c[f+16>>2]=s;c[p>>2]=(c[p>>2]|0)+s;d=s}while(0);Gc=v;return d|0}function zM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+8|0;h=c[b+4>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24)e=e+-1-(d[219575+((H(0-b&b,125613361)|0)>>>27)>>0]|0)|0}else e=-34}return e|0}function AM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function BM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;d=a+24|0;if((DM(d)|0)==0?(e=a+44|0,c[e>>2]=EM(d,6)|0,f=EM(d,6)|0,g=(EM(d,3)|0)+-1|0,c[a+48>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=FM(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;Te(b,48,210950,h);a=(f|0)==0&1}else a=-1094995529;Gc=i;return a|0}function CM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Gc;Gc=Gc+16|0;e=f;d=a+24|0;if(!(DM(d)|0)){g=a+64|0;c[g>>2]=EM(d,2)|0;d=EM(d,5)|0;c[a+44>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;Te(b,48,210914,e);a=1}else a=-1094995529;Gc=f;return a|0}function DM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function EM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function FM(a){a=a|0;do switch(a|0){case 0:{a=211190;break}case 1:{a=211182;break}case 2:{a=211176;break}case 3:{a=211170;break}case 4:{a=211163;break}case 5:{a=211156;break}case 6:{a=211149;break}case 7:{a=211142;break}case 8:{a=211135;break}case 9:{a=211128;break}case 16:{a=211119;break}case 17:{a=211108;break}case 18:{a=211099;break}case 19:{a=211088;break}case 20:{a=211079;break}case 21:{a=211071;break}case 32:{a=211067;break}case 33:{a=211063;break}case 34:{a=211059;break}case 35:{a=211055;break}case 36:{a=211047;break}case 37:{a=211039;break}case 38:{a=211032;break}case 39:{a=211021;break}case 40:{a=211010;break}default:a=211008}while(0);return a|0}function GM(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=HM(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function HM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g;if(!((IM(d,b,f)|0)==0?(e=_e(a,c[f>>2]|0)|0,(e|0)!=0):0)){Qe(a);e=0}Gc=g;return e|0}function IM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function JM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=211273;c[h+4>>2]=211290;c[h+8>>2]=33;Te(0,0,222432,h);Za()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;Pe(b);h=Lf(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}Gc=i;return g|0}function KM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+48|0;l=s+24|0;j=s+8|0;q=s+36|0;do if((g&8|0)==0&(LM(b,e,f,1,h)|0)<0){Te(h,24,211404,s);if((e|0)<=21801){i=e*3|0;k=((i|0)/2|0)+64|0;g=Lf(k)|0;c[q>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=217960;c[j+4>>2]=217974;c[j+8>>2]=137;Te(0,0,222432,j);Za()}o=b+e|0;if((i|0)<=-130){c[l>>2]=217960;c[l+4>>2]=217974;c[l+8>>2]=147;Te(0,0,222432,l);Za()}n=g;m=g+k|0;g=n;i=b;e=0;a:while(1){k=m-g|0;l=(k|0)<1;while(1){j=o-i|0;if(!j)break a;b=i;if(j>>>0>2){if((j|0)<3)break;i=b+1|0;if(((d[i>>0]|0)<<8|(d[b>>0]|0)<<16|(d[b+2>>0]|0))>>>0<4)break}else i=b+1|0;if(!((e|0)!=0|l)){r=20;break}else e=1}if((r|0)==20){r=0;e=g;a[e>>0]=a[b>>0]|0;g=e+1|0;e=0;continue}if((e|0)==0?(p=g,(k|0)>2):0){a[p+2>>0]=3;a[p+1>>0]=0;a[p>>0]=0;g=p+3|0;e=0}else e=1;i=b+2|0}g=g-n|0;p=yY(g+65534&65535|0)|0;r=c[q>>2]|0;a[r>>0]=p;a[r+1>>0]=p>>8;LM(c[q>>2]|0,g,f,1,h)|0;Pe(q);g=0;break}}else g=-34}else g=0;while(0);Gc=s;return g|0}function LM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+32|0;i=k;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;a=Gh(j,a,b,f,e,2,27,1)|0;a:do if((a|0)<0)a=0;else{h=j+16|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*68|0)+44>>2]|0;switch(e|0){case 7:{a=Oh(b+(g*68|0)+24|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=Qh(b+(g*68|0)+24|0,f,d,c[b+(g*68|0)+12>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;Te(f,40,218077,i)}}g=g+1|0}}while(0);mh(j);Gc=k;return a|0}function MM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29592>>2]=-1;c[b+29664>>2]=c[a+92>>2];c[b+29668>>2]=c[a+96>>2];c[b+26380>>2]=3;c[b+25700>>2]=c[a+564>>2];c[b+25696>>2]=c[a+60>>2];c[b+28248>>2]=65536;c[b+29572>>2]=-1;c[b+29576>>2]=0;c[b+28264>>2]=-1;c[b+29860>>2]=-1;c[b+29712>>2]=-1;c[b+28744>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28676+(d<<2)>>2]=-2147483648;d=d+1|0}Tf(b+29676|0);c[a+332>>2]=1;if(!(c[a+696>>2]&2))d=1;else d=c[a+688>>2]|0;e=b+25632|0;c[e>>2]=d;a=hg(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=Cg()|0;if((d|0)>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=Cg()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function NM(){var a=0,b=0,d=0;if(!(c[62834]|0)){c[62834]=1;c[62665]=254032;c[62667]=256;OM(250656,8,20,211605,1,1,211625,1,1,0,0,0,4)|0;c[62669]=255056;c[62671]=8192;OM(250672,13,36,211645,1,1,211681,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4){a=0;break}c[250688+(b<<4)+4>>2]=287824+(a<<2);d=c[74980+(b<<2)>>2]|0;c[250688+(b<<4)+12>>2]=d;OM(250688+(b<<4)|0,8,68,211717+(b*68|0)|0,1,1,211989+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}while(1){if((a|0)==3){a=0;break}d=a+1|0;c[250752+(d<<4)+4>>2]=293376+(a<<5);c[250752+(d<<4)+12>>2]=8;OM(250752+(d<<4)|0,3,4,212261+(a<<2)|0,1,1,212273+(a<<2)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==7){a=0;break}d=a+1|0;c[250816+(d<<4)+4>>2]=293472+(a<<7);c[250816+(d<<4)+12>>2]=32;OM(250816+(d<<4)|0,5,8,212285+(a<<3)|0,1,1,212341+(a<<3)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==15){a=0;break}d=a+1|0;c[250944+(d<<4)+4>>2]=294368+(a<<11);c[250944+(d<<4)+12>>2]=512;OM(250944+(d<<4)|0,9,16,212397+(a<<4)|0,1,1,212653+(a<<4)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==6)break;d=a+1|0;c[251200+(d<<4)+4>>2]=325088+(a<<5);c[251200+(d<<4)+12>>2]=8;OM(251200+(d<<4)|0,3,7,212909+(a<<4)|0,1,1,213021+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[62829]=325280;c[62831]=96;OM(251312,6,16,213005,1,1,213117,1,1,0,0,0,4)|0;PM()}return}function OM(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;T=Gc;Gc=Gc+12624|0;S=T+72|0;R=T+64|0;N=T+56|0;L=T+48|0;z=T+40|0;A=T+32|0;v=T+16|0;t=T;s=T+616|0;u=T+600|0;F=T+88|0;c[f>>2]=g;P=(r&4|0)!=0;do if(P)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;O=6;break}else{c[t>>2]=213133;c[t+4>>2]=213192;c[t+8>>2]=282;Te(0,0,222432,t);Za()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=Jg(h+1|0,8)|0;if(!s)Q=-12;else{K=f;O=6}}while(0);do if((O|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=213215;c[v+4>>2]=213192;c[v+8>>2]=298;Te(0,0,222432,v);Za()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){O=41;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;O=15;break}case 2:{u=b[u>>1]&255;O=15;break}case 4:{u=c[u>>2]&255;O=15;break}default:u=a[s+(t<<3)>>0]|0}if((O|0)==15){O=0;a[s+(t<<3)>>0]=u}x=u&255;if((x|0)>(g|0)){if((u&255)>32|(G|0)<(x|0)){O=18;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;O=25;break}case 2:{v=e[v>>1]|0;O=25;break}case 4:{v=c[v>>2]|0;O=25;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((O|0)==25){O=0;w=s+(t<<3)+4|0;c[w>>2]=v}E=xY(1,0,u&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>v>>>0)){O=27;break}if(I)u=v<<32-x;else u=(d[179077+(v>>>8&255)>>0]|0)<<16|(d[179077+(v&255)>>0]|0)<<24|(d[179077+(v>>>16&255)>>0]|0)<<8|(d[179077+(v>>>24)>>0]|0);c[w>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=38;break a}case 2:{u=b[u>>1]|0;O=38;break a}case 4:{u=c[u>>2]&65535;O=38;break a}default:break a}}else{u=y&65535;O=38}while(0);if((O|0)==38){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==18){c[A>>2]=x;Te(0,16,213245,A);if(P){Q=-1;break}Qe(s);Q=-1;break}else if((O|0)==27){c[z>>2]=v;c[z+4>>2]=y;Te(0,16,213276,z);if(P){Q=-1;break}Qe(s);Q=-1;break}else if((O|0)==41){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;b:while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)continue b;z=E+-8|0;if(v>>>0>=z>>>0)break;w=E+-16|0;y=v+8|0;C=E;D=v;A=v+(C-D>>4<<3)|0;do if((QM(v,E)|0)>0)if((QM(E,A)|0)>0){B=A;U=c[B>>2]|0;B=c[B+4>>2]|0;W=v;V=c[W+4>>2]|0;x=A;c[x>>2]=c[W>>2];c[x+4>>2]=V;x=v;c[x>>2]=U;c[x+4>>2]=B;x=0;break}else{W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;B=v;U=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0;break}else if((QM(v,A)|0)>0){W=A;V=c[W>>2]|0;W=c[W+4>>2]|0;B=v;U=c[B+4>>2]|0;x=A;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0}else x=1;while(0);if((QM(A,E)|0)>0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;B=A;U=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=A;c[x>>2]=V;c[x+4>>2]=W;x=0}if((v|0)==(w|0))continue b;W=A;V=c[W>>2]|0;W=c[W+4>>2]|0;X=z;U=c[X+4>>2]|0;B=A;c[B>>2]=c[X>>2];c[B+4>>2]=U;B=z;c[B>>2]=V;c[B+4>>2]=W;B=y;c:while(1){if(B>>>0>w>>>0)break;else y=B;while(1){if(y>>>0>w>>>0)break;if((QM(y,z)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0){B=y;continue c}if((QM(w,z)|0)<=0)break;w=w+-8|0}X=w;W=c[X>>2]|0;X=c[X+4>>2]|0;U=y;V=c[U+4>>2]|0;B=w;c[B>>2]=c[U>>2];c[B+4>>2]=V;B=y;c[B>>2]=W;c[B+4>>2]=X;B=y+8|0;w=w+-8|0}W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;y=z;U=c[y+4>>2]|0;X=B;c[X>>2]=c[y>>2];c[X+4>>2]=U;X=z;c[X>>2]=V;c[X+4>>2]=W;if(x|0?(A|0)==(B|0)|(A|0)==(B+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((QM(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))continue b}X=B;if((C-X|0)<(X-D|0)){x=E;y=B+8|0}else{x=w;y=v;w=E;v=B+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((QM(v,E)|0)<=0)continue;W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;D=v;U=c[D+4>>2]|0;X=E;c[X>>2]=c[D>>2];c[X+4>>2]=U;X=v;c[X>>2]=V;c[X+4>>2]=W}y=0;while(1){if((y|0)>=(h|0)){O=109;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;O=83;break}case 2:{u=b[u>>1]&255;O=83;break}case 4:{u=c[u>>2]&255;O=83;break}default:u=a[s+(t<<3)>>0]|0}if((O|0)==83){O=0;a[s+(t<<3)>>0]=u}x=u&255;if(!(u<<24>>24==0|(x|0)>(g|0))){if((u&255)>32|(G|0)<(x|0)){O=86;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;O=93;break}case 2:{v=e[v>>1]|0;O=93;break}case 4:{v=c[v>>2]|0;O=93;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((O|0)==93){O=0;w=s+(t<<3)+4|0;c[w>>2]=v}X=xY(1,0,u&255|0)|0;W=M()|0;if(!((W|0)>0|(W|0)==0&X>>>0>v>>>0)){O=95;break}if(I)u=v<<32-x;else u=(d[179077+(v>>>8&255)>>0]|0)<<16|(d[179077+(v&255)>>0]|0)<<24|(d[179077+(v>>>16&255)>>0]|0)<<8|(d[179077+(v>>>24)>>0]|0);c[w>>2]=u;d:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=106;break d}case 2:{u=b[u>>1]|0;O=106;break d}case 4:{u=c[u>>2]&65535;O=106;break d}default:break d}}else{u=y&65535;O=106}while(0);if((O|0)==106){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==86){c[L>>2]=x;Te(0,16,213245,L);if(P){Q=-1;break}Qe(s);Q=-1;break}else if((O|0)==95){c[N>>2]=v;c[N+4>>2]=y;Te(0,16,213276,N);if(P){Q=-1;break}Qe(s);Q=-1;break}else if((O|0)==109){u=RM(K,g,t,s,r)|0;if(!P){Qe(s);if((u|0)>=0){Q=0;break}Pe(K+4|0);Q=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[R>>2]=s;c[R+4>>2]=t;Te(0,16,213312,R)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];Q=0;break}else{c[S>>2]=222462;c[S+4>>2]=213192;c[S+8>>2]=341;Te(0,0,222432,S);Za()}}}}while(0);Gc=T;return Q|0}function PM(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<<g;h=0;while(1){if((h|0)==256)break;e=h<<1;f=(e&65280|0)==0;e=(f?0:8)+(d[178821+(f?e:h>>>7&16777215)>>0]|0)|0;f=8-e|0;b=f+1|0;c=b+g|0;do if((c|0)>=9)if(!e){a[326688+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[326688+(g<<9)+(h<<1)>>0]=f+100;b=b&255;break}else{b=(h&65280|0)==0;f=(f<<g)+i+(h>>>((b?0:8)-g+(d[178821+(b?h:h>>>8)>>0]|0)|0))|0;b=f&1;a[326688+(g<<9)+(h<<1)>>0]=((f+2|0)>>>1^0-b)+b;b=c&255}while(0);a[326688+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function QM(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function RM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Gc;Gc=Gc+16|0;w=B;x=B+4|0;y=1<<f;a:do if((f|0)<=30){z=SM(e,y,i&4)|0;if((z|0)<0)j=z;else{t=e+4|0;c[x>>2]=(c[t>>2]|0)+(z<<2);u=32-f|0;v=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0)){j=0;break}s=h+(j<<3)|0;m=a[s>>0]|0;q=m&255;l=h+(j<<3)+4|0;n=c[l>>2]|0;r=b[h+(j<<3)+2>>1]|0;c:do if((q|0)>(f|0)){r=q-f|0;k=n>>>u;a[s>>0]=r;c[l>>2]=n<<f;l=r;r=j;while(1){q=r+1|0;if((q|0)>=(g|0))break;m=h+(q<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(q<<3)+4|0;p=c[o>>2]|0;if((p>>>u|0)!=(k|0))break;a[m>>0]=n;c[o>>2]=p<<f;l=(l|0)>(n|0)?l:n;r=q}l=(l|0)>(f|0)?f:l;if(!v)k=(d[179077+(k>>>8&255)>>0]<<16|d[179077+(k&255)>>0]<<24|d[179077+(k>>>16&255)>>0]<<8|d[179077+(k>>>24)>>0])>>>u;b[(c[x>>2]|0)+(k<<2)+2>>1]=0-l;j=RM(e,l,q-j|0,s,i)|0;if((j|0)<0)break a;c[x>>2]=(c[t>>2]|0)+(z<<2);b[(c[x>>2]|0)+(k<<2)>>1]=j;j=r}else{p=1<<f-q;if(v){o=1;k=n>>>u}else{o=1<<q;k=d[179077+(n>>>8&255)>>0]<<16|d[179077+(n&255)>>0]<<24|d[179077+(n>>>16&255)>>0]<<8|d[179077+(n>>>24)>>0]}m=m&255;l=0;while(1){if((l|0)>=(p|0))break c;s=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(s<<16>>16==0|(s<<16>>16|0)==(q|0))){A=11;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=r;l=l+1|0;k=k+o|0}}while(0);j=j+1|0}if((A|0)==11){Te(0,16,213330,w);j=-1094995529;break}while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);Gc=B;return j|0}function SM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)Za();b=(1<<c[a>>2])+b|0;c[f>>2]=b;h=a+4|0;b=HM(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;DY(b+(c[f>>2]<<2)+(-1<<h<<2)|0,0,4<<h|0)|0;break}}while(0);return e|0}function TM(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=f+696|0;h=f+24312|0;i=j;g=0;while(1){if((g|0)>=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0<h>>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function UM(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1672|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1680>>2]=2147483647;Mm(a+1208|0,8,1);return 0}function VM(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=Gc;Gc=Gc+48|0;k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1644|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+72>>2]|0,i|0):0)qh(c[b+68>>2]|0,i,o+40|0,o+1636|0,o+1640|0,c[b+580>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=ZM(o,f,g,b)|0;if((Re(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){ZM(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){_M(a,b,c[s>>2]|0,c[t>>2]|0);h=b+760|0;if(c[h>>2]|0){c[m>>2]=c[b+84>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];$M(l,j,k);n=c[l>>2]|0;p=b+76|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+80>>2]|0,r=c[b+772>>2]|0,q=sY(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+76>>2]|0;m=c[b+776>>2]|0;l=sY(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1672|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=aN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=mY(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=aN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=nY(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1672|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=aN(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=mY(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}Gc=v;return g|0}function WM(a){a=a|0;a=c[a>>2]|0;Pe(a);Tf(a+1388|0);lh(a+40|0);return}function XM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+16|0;k=m;c[k>>2]=-1;j=d+e|0;b=0;e=d;i=0;a:while(1)b:while(1){h=(b|0)!=0;while(1){if(e>>>0>=j>>>0){b=0;break a}e=YM(e,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}f=g&31;switch(g&31){case 8:{i=1;continue a}case 7:{b=1;continue b}default:{}}if(h&((f|0)!=15&((f|4|0)!=13&(i|(f|0)!=6)))){l=8;break a}}}if((l|0)==8){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;l=8}else break}b=b-d|0}Gc=m;return b|0}function YM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Gc;Gc=Gc+16|0;g=i;if(b>>>0>e>>>0){c[g>>2]=213555;c[g+4>>2]=189834;c[g+8>>2]=1892;Te(0,0,222432,g);Za()}a:do if(b>>>0<e>>>0){h=0;while(1){if((h|0)>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}while(1){if(b>>>0>=e>>>0)break;g=a[b+-1>>0]|0;if((g&255)>1){b=b+3|0;continue}if(!(a[b+-2>>0]|0)){h=b+1|0;if(!((g&255)+-1|d[b+-3>>0])){b=h;break}else{b=h;continue}}else{b=b+2|0;continue}}e=b>>>0>e>>>0?e:b;j=e+-4|0;c[f>>2]=zY(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0}while(0);Gc=i;return e|0}function ZM(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Gc;Gc=Gc+48|0;s=x+8|0;h=x;r=x+16|0;v=b+1636|0;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1640|0;if(c[v>>2]|0)if(!(c[q>>2]|0)){Te(g,16,213852,h);i=0}else i=0;else i=f;m=b+1340|0;n=b+1660|0;o=b+1664|0;p=b+1652|0;u=b+20|0;h=0;a:while(1){if((h|0)>=(f|0)){t=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(Oc[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){l=c[n>>2]|0;c[n>>2]=l+1;a[b+1652+l>>0]=k;k=c[n>>2]|0;if((k|0)>5){l=c[o>>2]|0;oN(r,p,k<<3)|0;c[n>>2]=0;k=gN(r)|0;c[o>>2]=k;if(c[u>>2]|0){if(k>>>0<=l>>>0){t=29;break a}}else c[u>>2]=1;l=i;j=7}else l=i}else{l=i;i=k;t=20}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;l=i+k|0;j=5;i=a[e+i>>0]|0;t=20}while(0);c:do if((t|0)==20){t=0;if(((i&31)+-6&255)<4){k=(c[u>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=l;f=j;t=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;Te(g,16,213889,s);t=33}else if((t|0)==29){f=j;t=32}else if((t|0)==31){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=33}if((t|0)==32){c[w>>2]=7;c[u>>2]=0;Gc=x;return ((c[v>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((t|0)==33){Gc=x;return f|0}return 0}function _M(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Gc;Gc=Gc+128|0;u=J+24|0;z=J+16|0;w=J+8|0;v=J;I=J+112|0;s=J+44|0;t=J+40|0;F=J+32|0;H=c[b>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;h=s;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)n=(XU(213564,f,4)|0)==0;else n=0;x=b+32|0;c[x>>2]=1;y=b+224|0;c[y>>2]=0;E=b+312|0;c[E>>2]=0;D=H+1388|0;Tf(D);c[H+1572>>2]=-1;a:do if(g|0?(uM(I,I+4|0,g),c[I>>2]|0):0){c[t>>2]=0;A=s+24|0;m=s+8|0;o=s+4|0;C=s+64|0;B=s+44|0;p=H+40|0;q=s+12|0;r=H+1640|0;i=c[H+1636>>2]|0?0:g;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=8;break}h=cN(f,g,h,i)|0;if((h|0)>=(g|0)){G=103;break b}if((h|0)<(i|0)){G=12;break}}if((G|0)==8){G=0;c[t>>2]=h;h=bN(c[r>>2]|0,f,g,t,e)|0;if((h|0)<0){G=104;break}k=c[t>>2]|0;l=k+h|0;h=k}else if((G|0)==12){G=0;c[t>>2]=h;l=i}i=l-h|0;k=f+h|0;K=a[k>>0]|0;j=K&255;c:do switch(K&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=yM(k,i,I,s,1)|0;if((i|0)<0){G=104;break}h=h+i|0;c[t>>2]=h;if((dN(A,c[m>>2]|0,c[o>>2]|0)|0)<0)break;eN(A)|0;c[C>>2]=fN(A,2)|0;K=fN(A,5)|0;c[B>>2]=K;switch(K|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{Oh(A,e,p,0)|0;i=l;continue b}case 8:{Qh(A,e,p,c[q>>2]|0)|0;i=l;continue b}case 6:{Mh(D,A,p,e)|0;i=l;continue b}default:{i=l;continue b}}}if((G|0)==23){c[y>>2]=1;c[H+1384>>2]=0;c[H+1380>>2]=0;c[H+1372>>2]=0;c[H+1368>>2]=0;G=24}else if((G|0)==103){c[t>>2]=h;G=104}d:do if((G|0)==24){gN(A)|0;c[x>>2]=d[186326+(((hN(A)|0)>>>0)%5|0)>>0];if((c[H+1428>>2]|0)>-1)c[y>>2]=1;h=iN(A)|0;if(h>>>0>255){c[v>>2]=h;Te(e,16,213569,v);break}i=H+168+(h<<2)|0;if(!(c[i>>2]|0)){c[w>>2]=h;Te(e,16,213593,w);break}K=H+1192|0;zf(K);j=H+1196|0;zf(j);o=H+1200|0;c[o>>2]=0;k=H+1204|0;c[k>>2]=0;h=Bg(c[i>>2]|0)|0;c[K>>2]=h;if(h|0){h=c[h+4>>2]|0;c[o>>2]=h;h=c[h>>2]|0;i=c[H+40+(h<<2)>>2]|0;if(!i){c[z>>2]=h;Te(e,16,213625,z);break}h=Bg(i)|0;c[j>>2]=h;if(h|0){m=c[h+4>>2]|0;c[k>>2]=m;if(((c[m+48>>2]|0)<2?(c[(c[o>>2]|0)+20>>2]|0)>>>0<2:0)?(c[x>>2]|0)==1:0)c[y>>2]=1;l=H+1344|0;n=H+1364|0;c[n>>2]=fN(A,c[m+20>>2]|0)|0;h=c[m+56>>2]<<4;c[b+328>>2]=h;i=c[m+60>>2]<<4;c[b+332>>2]=i;K=h-(c[m+84>>2]|0)-(c[m+80>>2]|0)|0;j=b+320|0;c[j>>2]=K;z=i-(c[m+88>>2]|0)-(c[m+92>>2]|0)|0;k=b+324|0;c[k>>2]=z;if((z|0)<1|(K|0)<1){c[j>>2]=h;c[k>>2]=i}e:do switch(c[m+1184>>2]|0){case 9:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=68;break e}else{c[b+336>>2]=(h|0)==2?72:62;break e}}case 10:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=70;break e}else{c[b+336>>2]=(h|0)==2?66:64;break e}}case 8:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break e}else{c[b+336>>2]=(h|0)==2?4:0;break e}}default:c[b+336>>2]=-1}while(0);c[e+716>>2]=Em(m)|0;c[e+720>>2]=c[m+8>>2];if((c[m+64>>2]|0)==0?(eN(A)|0)!=0:0)h=(eN(A)|0)+1|0;else h=3;k=H+1648|0;c[k>>2]=h;if((c[B>>2]|0)==5)gN(A)|0;i=m+24|0;h=c[i>>2]|0;if(!h){c[l>>2]=fN(A,c[m+28>>2]|0)|0;if((c[(c[o>>2]|0)+8>>2]|0)==1?(c[k>>2]|0)==3:0)c[H+1352>>2]=jN(A)|0;h=c[i>>2]|0}do if(((h|0)==1?(c[m+32>>2]|0)==0:0)?(c[H+1356>>2]=jN(A)|0,(c[(c[o>>2]|0)+8>>2]|0)==1):0){if((c[k>>2]|0)!=3)break;c[H+1360>>2]=jN(A)|0}while(0);j=F+4|0;c[j>>2]=2147483647;c[F>>2]=2147483647;if((ll(F,b+316|0,m,l,c[k>>2]|0,c[C>>2]|0)|0)>=0){do if((c[C>>2]|0)==0|(c[B>>2]|0)==5)G=70;else{h=kN(b,A,e)|0;if((h|0)<0)break d;if(!h){G=70;break}c[H+1384>>2]=0;h=0;i=1}while(0);if((G|0)==70){c[H+1384>>2]=c[n>>2];h=c[H+1376>>2]|0;i=0}c[H+1380>>2]=h;if(c[C>>2]|0){if(i){i=0;h=(c[k>>2]|0)==2?0:c[F>>2]|0}else{i=c[H+1348>>2]|0;h=c[l>>2]|0}c[H+1368>>2]=i;c[H+1372>>2]=h}i=(c[m+1160>>2]|0)==0;f:do if(i)G=85;else{if(!(c[D>>2]|0)){G=85;break}switch(c[H+1392>>2]|0){case 2:case 1:{h=0;break f}case 4:case 3:case 0:{h=1;break f}case 6:case 5:{h=2;break f}case 7:{h=3;break f}case 8:{h=5;break f}default:{h=(c[k>>2]|0)==3&1;break f}}}while(0);if((G|0)==85)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;g:do if((h|0)==3){c[E>>2]=3;do if(!i){if(!(c[D>>2]|0))break;switch(c[H+1392>>2]|0){case 5:case 3:{h=2;break}case 6:case 4:{h=3;break}default:h=1}c[b+308>>2]=h;break g}while(0);i=c[F>>2]|0;h=c[j>>2]|0;if((i|0)<(h|0)){c[b+308>>2]=2;break}else{c[b+308>>2]=(i|0)>(h|0)?3:1;break}}else{l=(h|0)==1?1:2;c[E>>2]=l;j=c[n>>2]|0;k=H+1680|0;h=H+1684|0;h:do if((j|0)==(c[k>>2]|0)){i=c[h>>2]|0;switch(i|0){case 3:case 0:{G=100;break h}default:{}}if((i|0)==(l|0)){G=100;break}c[b+308>>2]=(i|0)==1?2:3}else G=100;while(0);if((G|0)==100)c[b+308>>2]=0;c[h>>2]=l;c[k>>2]=j}while(0);Pe(I);break a}}}}else if((G|0)==104)if(n){Pe(I);break a}else{c[u>>2]=g;Te(e,16,213657,u);break}while(0);Pe(I)}while(0);Gc=J;return}function $M(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=sY(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=sY(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;Jm(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function aN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=zm(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function bN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Gc;Gc=Gc+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;Te(g,16,213818,k);h=-1094995529}}else h=-11;Gc=l;return h|0}function cN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Gc;Gc=Gc+16|0;g=f;c[g>>2]=-1;e=(YM(a+d|0,a+e+1|0,g)|0)-a+-1|0;Gc=f;return ((e|0)>(b|0)?b:e)|0}function dN(a,b,c){a=a|0;b=b|0;c=c|0;return oN(a,b,c>>>0>268435455?-8:c<<3)|0}function eN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function fN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function gN(a){a=a|0;var b=0,c=0,e=0;e=lN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;mN(a,b);return (nN(a,b+1|0)|0)+-1|0}function hN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[184790+a>>0]|0);return d[185302+a>>0]|0|0}function iN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Gc;Gc=Gc+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[178821+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){Te(0,16,214180,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[184790+a>>0]|0);a=d[185302+a>>0]|0}while(0);Gc=h;return a|0}function jN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(zY(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[184790+b>>0]|0);b=a[185814+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[178821+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function kN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+20816|0;r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)iN(b)|0;l=(q|0)==3;if(l)eN(b)|0;m=n+1648|0;a:do if((YL(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(eN(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=hN(b)|0;if(a>>>0<3){gN(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;Te(d,16,213741,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;Te(d,16,213702,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)f=22;else f=21}else{a=c[g>>2]|0;f=21}if((f|0)==21?l&(c[a+32>>2]|0)==1:0)f=22;if((f|0)==22)_L(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(eN(b)|0){a=0;d:while(1){if((a|0)>=66){f=33;break}e=hN(b)|0;if(e>>>0>6){f=26;break}switch(e|0){case 5:{a=1;break a}case 0:{f=33;break d}default:{}}if((e|2|0)==3)gN(b)|0;switch(e|0){case 2:case 3:case 4:case 6:{hN(b)|0;break}default:{}}a=a+1|0}if((f|0)==26){c[r>>2]=e;Te(d,16,213770,r);a=-1094995529;break}else if((f|0)==33){a=0;break}}else a=0}else a=-1094995529;while(0);Gc=s;return a|0}function lN(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=nN(d,32)|0;Gc=b;return a|0}function mN(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function nN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=fN(a,b)|0;break}else{b=b+-16|0;c=(fN(a,16)|0)<<b;a=c|(fN(a,b)|0);break}else a=0;while(0);return a|0}function oN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function pN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Gc;Gc=Gc+16|0;k=n+4|0;l=n;c[k>>2]=f;c[l>>2]=g;j=c[a>>2]|0;h=c[b+68>>2]|0;if(h|0?(i=j+1708|0,(c[i>>2]|0)==0):0){uN(h,c[b+72>>2]|0,j+64|0,j+460|0,j+1700|0,j+1704|0,c[b+580>>2]|0,1,b)|0;c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=vN(a,f,g)|0;if((Re(j,h,k,l)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[l>>2]|0;break}else{f=c[k>>2]|0;i=c[l>>2]|0;m=8;break}}else{h=g;i=g;m=8}while(0);if((m|0)==8){wN(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[l>>2]}Gc=n;return h|0}function qN(a){a=a|0;a=c[a>>2]|0;sN(a+64|0);mh(a+40|0);tN(a+460|0);Pe(a);return}function rN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Gc;Gc=Gc+16|0;l=n;k=d+e|0;c[l>>2]=-1;b=0;f=0;j=0;e=d;a:while(1)b:while(1){i=j&(f|0)!=0;c:while(1){h=(b|0)!=0;while(1){if(e>>>0>=k>>>0){b=0;break a}e=YM(e,k,l)|0;g=c[l>>2]|0;if((g&-256|0)!=256){b=0;break a}o=g>>>1;g=o&63;switch(o&63){case 32:{j=1;continue a}case 33:{f=1;continue b}case 34:{b=1;continue c}default:{}}if((g|0)!=35&(h|(g|0)!=39)&i){m=9;break a}}}}if((m|0)==9){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;m=9}else break}b=b-d|0}Gc=n;return b|0}function sN(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16){b=0;break}zf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==16){b=0;break}zf(a+64+(b<<2)|0);b=b+1|0}while(1){if((b|0)==64)break;zf(a+128+(b<<2)|0);b=b+1|0}c[a+388>>2]=0;c[a+392>>2]=0;c[a+384>>2]=0;return}function tN(a){a=a|0;c[a+92>>2]=0;Pe(a+96|0);return}function uN(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Gc;Gc=Gc+32|0;w=x+24|0;v=x+16|0;m=x;if((e|0)<=-1){c[m>>2]=217960;c[m+4>>2]=217974;c[m+8>>2]=137;Te(0,0,222432,m);Za()}u=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){n=28;break}c[h>>2]=1;t=e>>>0<21?e:21;m=b+t|0;if((e-t|0)<1){t=1;m=u}else{t=(a[m>>0]&3)+1&255;m=m+1|0}b=m;if((u-m|0)<1){r=0;b=u}else{r=d[b>>0]|0;b=b+1|0}c[i>>2]=2;m=0;s=0;a:while(1){if((s|0)>=(r|0)){n=27;break}e=b;if((u-b|0)<1){q=0;b=u}else{q=a[e>>0]&63;b=e+1|0}if((u-b|0)<2){p=0;b=u}else{p=b;p=(yY(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535;b=b+2|0}o=0;while(1){if((o|0)>=(p|0))break;e=b;n=u-b|0;if((n|0)<2)m=0;else{m=b;m=(yY(d[m>>0]|d[m+1>>0]<<8|0)|0)&65535}b=m+2|0;if(n>>>0<b>>>0){n=22;break a}m=HO(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,l)|0;if((m|0)<0){n=24;break a}o=o+1|0;b=e+(n>>>0>b>>>0?b:n)|0}s=s+1|0}if((n|0)==22){Te(l,16,217998,v);m=-1094995529;break}else if((n|0)==24){c[w>>2]=q;c[w+4>>2]=s;Te(l,16,218035,w);break}else if((n|0)==27){c[i>>2]=t;break}}else n=28;while(0);if((n|0)==28){c[h>>2]=0;m=HO(b,e,f,g,0,c[i>>2]|0,j,k,l)|0}Gc=x;return m|0}function vN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;o=xY(g|0,b|0,8)|0;n=M()|0;i=e+h|0;m=j;c[m>>2]=o|d[i>>0];c[m+4>>2]=n;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=wY(g|0,b|0,9)|0;M()|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function wN(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=Gc;Gc=Gc+16|0;l=m;f=c[a>>2]|0;j=f+64|0;k=f+460|0;c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;tN(k);i=f+40|0;a:do if((Gh(i,b,d,e,c[f+1700>>2]|0,c[f+1704>>2]|0,173,1)|0)>=0){d=f+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*68|0)+24|0;h=c[f+(b*68|0)+44>>2]|0;switch(h|0){case 32:{xN(g,e,j)|0;break}case 33:{yN(g,e,j,1)|0;break}case 34:{zN(g,e,j)|0;break}case 40:case 39:{AN(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(BN(a,f+(b*68|0)|0,e)|0)break a;break}default:{}}b=b+1|0}Te(e,16,214087,l)}while(0);Gc=m;return}function xN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Gc;Gc=Gc+96|0;v=A+80|0;t=A+72|0;q=A+64|0;o=A+56|0;n=A+48|0;m=A+40|0;l=A+32|0;k=A+24|0;j=A+16|0;i=A+8|0;y=A+84|0;w=tg(4568)|0;c[y>>2]=w;z=w;a:do if(!w)f=-12;else{x=w+4|0;s=c[x>>2]|0;Te(d,48,217594,A);f=c[b>>2]|0;g=(c[b+4>>2]|0)-f|0;if(g>>>0>4096){c[i>>2]=g;c[i+4>>2]=4096;Te(d,24,217608,i);g=4096;f=c[b>>2]|0}c[s+4564>>2]=g;BY(s+468|0,f|0,g|0)|0;u=hO(b,4)|0;b:do if((u|0)<=15){if((hO(b,2)|0)!=3){Te(d,16,217653,k);break}c[s+4>>2]=(hO(b,6)|0)+1;r=s+8|0;c[r>>2]=(hO(b,3)|0)+1;a[s>>0]=gO(b)|0;if((hO(b,16)|0)!=65535){Te(d,16,217692,l);break}f=c[r>>2]|0;if((f|0)>7){c[m>>2]=f;Te(d,16,217732,m);break}if((xO(b,d,s+12|0,f)|0)>=0){m=gO(b)|0;c[s+348>>2]=m;if(!m)f=(c[r>>2]|0)+-1|0;else f=0;j=d+580|0;while(1){if((f|0)>=(c[r>>2]|0))break;i=s+352+(f<<2)|0;c[i>>2]=(fO(b)|0)+1;g=s+380+(f<<2)|0;c[g>>2]=fO(b)|0;c[s+408+(f<<2)>>2]=(fO(b)|0)+-1;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){p=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[o>>2]=g,Te(d,24,217820,o),c[j>>2]&8|0):0)break b;f=f+1|0}if((p|0)==18){c[n>>2]=i;Te(d,16,217769,n);break}j=s+436|0;c[j>>2]=hO(b,6)|0;p=fO(b)|0;f=p+1|0;k=s+440|0;c[k>>2]=f;if(p>>>0<=1023?(m=mY(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,o=M()|0,h=c[j>>2]|0,p=mY(h|0,((h|0)<0)<<31>>31|0,1,0)|0,o=sY(p|0,M()|0,m|0,o|0)|0,m=M()|0,p=nO(b)|0,n=((p|0)<0)<<31>>31,!((m|0)>(n|0)|(m|0)==(n|0)&o>>>0>p>>>0)):0){i=1;while(1){if((i|0)<(f|0)){g=0;f=h}else break;while(1){if((g|0)>(f|0))break;BO(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}q=(gO(b)|0)&255;a[s+444>>0]=q;c:do if(q<<24>>24){c[s+448>>2]=tO(b,32)|0;c[s+452>>2]=tO(b,32)|0;q=(gO(b)|0)&255;a[s+456>>0]=q;if(q<<24>>24)c[s+460>>2]=(fO(b)|0)+1;f=fO(b)|0;h=s+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[t>>2]=f;Te(d,16,217897,t);break b}else g=0;while(1){if((g|0)>=(f|0))break c;fO(b)|0;if(!g)f=1;else f=gO(b)|0;CO(b,f,c[r>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);gO(b)|0;f=nO(b)|0;if((f|0)<0){c[v>>2]=0-f;Te(d,16,217935,v);f=e+(u<<2)|0;if(c[f>>2]|0)break}else{f=e+(u<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(XU(c[g+4>>2]|0,c[x>>2]|0,c[w+8>>2]|0)|0)==0:0){zf(y);f=0;break a}}GO(e,u);c[f>>2]=z;f=0;break a}Te(d,16,217863,q)}}else{c[j>>2]=u;Te(d,16,215358,j)}while(0);zf(y);f=-1094995529}while(0);Gc=A;return f|0}function yN(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=Gc;Gc=Gc+48|0;k=p+16|0;h=p+8|0;l=p+44|0;i=p+40|0;m=tg(17552)|0;c[l>>2]=m;n=m;do if(!m)f=-12;else{o=m+4|0;j=c[o>>2]|0;Te(b,48,215143,p);f=c[a>>2]|0;g=(c[a+4>>2]|0)-f|0;if(g>>>0>4096){c[h>>2]=g;c[h+4>>2]=4096;Te(b,24,215157,h);g=4096;f=c[a>>2]|0}c[j+17548>>2]=g;BY(j+13452|0,f|0,g|0)|0;f=vO(j,a,i,e,d,b)|0;if((f|0)<0){zf(l);break}h=c[i>>2]|0;if(c[b+576>>2]&4|0){g=c[j+13376>>2]|0;a=c[j+13380>>2]|0;e=g-(c[j+12>>2]|0)-(c[j+16>>2]|0)|0;i=a-(c[j+20>>2]|0)-(c[j+24>>2]|0)|0;j=og(c[j+56>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=g;c[k+8>>2]=a;c[k+12>>2]=e;c[k+16>>2]=i;c[k+20>>2]=j;Te(b,48,215202,k)}f=d+64+(h<<2)|0;g=c[f>>2]|0;if(g|0?(XU(c[g+4>>2]|0,c[o>>2]|0,c[m+8>>2]|0)|0)==0:0){zf(l);f=0;break}wO(d,h);c[f>>2]=n;f=0}while(0);Gc=p;return f|0}function zN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Gc;Gc=Gc+144|0;F=H+120|0;D=H+112|0;B=H+104|0;A=H+96|0;y=H+88|0;w=H+80|0;u=H+72|0;t=H+64|0;r=H+56|0;q=H+48|0;p=H+40|0;m=H+32|0;l=H+24|0;k=H+16|0;j=H+8|0;h=H;G=H+128|0;v=H+124|0;g=Lf(5792)|0;c[v>>2]=g;a:do if(!g)f=-12;else{z=kg(g,5792,208,0,0)|0;c[G>>2]=z;E=z;if(!z){Pe(v);f=-12;break}Te(d,48,214356,h);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;if(i>>>0>4096){c[j>>2]=i;c[j+4>>2]=4096;Te(d,24,214370,j);i=4096;h=c[b>>2]|0}c[g+5788>>2]=i;BY(g+1692|0,h|0,i|0)|0;a[g+53>>0]=1;s=g+44|0;c[s>>2]=1;n=g+48|0;c[n>>2]=1;o=g+52|0;a[o>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;z=fO(b)|0;b:do if(z>>>0<=63){i=fO(b)|0;c[g>>2]=i;if(i>>>0>15){c[l>>2]=i;Te(d,16,214440,l);f=-1094995529;break}h=c[e+64+(i<<2)>>2]|0;if(!h){c[m>>2]=i;Te(d,16,214465,m);f=-1094995529;break}x=c[h+4>>2]|0;a[g+41>>0]=gO(b)|0;a[g+39>>0]=gO(b)|0;c[g+1624>>2]=hO(b,3)|0;a[g+4>>0]=gO(b)|0;a[g+5>>0]=gO(b)|0;c[g+8>>2]=(fO(b)|0)+1;c[g+12>>2]=(fO(b)|0)+1;c[g+16>>2]=iO(b)|0;a[g+20>>0]=gO(b)|0;a[g+21>>0]=gO(b)|0;m=(gO(b)|0)&255;a[g+22>>0]=m;h=g+24|0;c[h>>2]=0;do if(m<<24>>24){i=fO(b)|0;c[h>>2]=i;if((i|0)>=0?i>>>0<=(c[x+13324>>2]|0)>>>0:0)break;c[p>>2]=i;Te(d,16,214489,p);f=-1094995529;break b}while(0);h=iO(b)|0;c[g+28>>2]=h;if((h+12|0)>>>0>24){c[q>>2]=h;Te(d,16,214527,q);f=-1094995529;break}h=iO(b)|0;c[g+32>>2]=h;if((h+12|0)>>>0>24){c[r>>2]=h;Te(d,16,214562,r);f=-1094995529;break}a[g+36>>0]=gO(b)|0;a[g+37>>0]=gO(b)|0;a[g+38>>0]=gO(b)|0;a[g+40>>0]=gO(b)|0;r=g+42|0;a[r>>0]=gO(b)|0;a[g+43>>0]=gO(b)|0;do if(a[r>>0]|0){c[s>>2]=(fO(b)|0)+1;h=fO(b)|0;i=h+1|0;c[n>>2]=i;j=c[s>>2]|0;if((j|0)>=1?(j|0)<(c[x+13376>>2]|0):0){if((i|0)>=1?(i|0)<(c[x+13380>>2]|0):0){l=g+1648|0;c[l>>2]=Jg(j,4)|0;u=Jg(c[n>>2]|0,4)|0;c[g+1652>>2]=u;if((c[l>>2]|0)==0|(u|0)==0){f=-12;break b}u=(gO(b)|0)&255;a[o>>0]=u;do if(!(u<<24>>24)){g=0;j=0;k=0;while(1){i=(c[s>>2]|0)+-1|0;if((g|0)>=(i|0))break;u=(fO(b)|0)+1|0;c[(c[l>>2]|0)+(g<<2)>>2]=u;u=mY(j|0,k|0,u|0,0)|0;g=g+1|0;j=u;k=M()|0}g=c[x+13384>>2]|0;h=((g|0)<0)<<31>>31;if(!(k>>>0<h>>>0|(k|0)==(h|0)&j>>>0<g>>>0)){Te(d,16,214678,w);f=-1094995529;break b}g=nY(g|0,h|0,j|0,k|0)|0;M()|0;c[(c[l>>2]|0)+(i<<2)>>2]=g;g=c[v>>2]|0;i=g+48|0;j=g+1652|0;h=0;l=0;m=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;w=(fO(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=w;w=mY(l|0,m|0,w|0,0)|0;h=h+1|0;l=w;m=M()|0}h=c[x+13388>>2]|0;i=((h|0)<0)<<31>>31;if(m>>>0<i>>>0|(m|0)==(i|0)&l>>>0<h>>>0){y=nY(h|0,i|0,l|0,m|0)|0;M()|0;c[(c[j>>2]|0)+(k<<2)>>2]=y;break}else{Te(d,16,214700,y);f=-1094995529;break b}}while(0);a[g+53>>0]=gO(b)|0;break}c[u>>2]=h;Te(d,16,214639,u);f=-1094995529;break b}c[t>>2]=j+-1;Te(d,16,214597,t);f=-1094995529;break b}while(0);a[g+54>>0]=gO(b)|0;y=(gO(b)|0)&255;a[g+55>>0]=y;do if(y<<24>>24?(a[g+56>>0]=gO(b)|0,y=(gO(b)|0)&255,a[g+57>>0]=y,y<<24>>24==0):0){h=iO(b)|0;i=iO(b)|0;if((h+6|0)>>>0>12){c[A>>2]=h;Te(d,16,214723,A);f=-1094995529;break b}if((i+6|0)>>>0>12){c[B>>2]=i;Te(d,16,214762,B);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);B=(gO(b)|0)&255;a[g+68>>0]=B;if(B<<24>>24?(jO(g+69|0),f=kO(b,d,g+69|0,x)|0,(f|0)<0):0)break;a[g+1617>>0]=gO(b)|0;f=fO(b)|0;if(f>>>0>(c[x+13336>>2]|0)>>>0){c[D>>2]=f;Te(d,16,214799,D);f=-1094995529;break}c[g+1620>>2]=f+2;a[g+1628>>0]=gO(b)|0;if((gO(b)|0?(D=gO(b)|0,hO(b,7)|0,(D|0)!=0&(a[x+302>>0]|0)==4):0)?(C=lO(b,d,g,x)|0,(C|0)<0):0){f=C;break}f=mO(g,x)|0;if((f|0)>=0){g=nO(b)|0;if((g|0)<0){c[F>>2]=0-g;Te(d,16,214850,F);break}else{oO(e,z);c[e+128+(z<<2)>>2]=E;f=0;break a}}}else{c[k>>2]=z;Te(d,16,214415,k);f=-1094995529}while(0);zf(G)}while(0);Gc=H;return f|0}function AN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=HN(a,b,c,d,e)|0;if((f|0)<0)break;if(!(IN(a)|0)){f=1;break}}return f|0}function BN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Gc;Gc=Gc+32|0;u=y+24|0;s=y+16|0;j=y+8|0;i=y;w=c[b>>2]|0;t=e+24|0;o=w+628|0;a[o>>0]=CN(t)|0;v=c[w+548>>2]|0;c[b+312>>2]=v;c[b+308>>2]=v;v=e+44|0;if((c[v>>2]&-8|0)==16){c[b+224>>2]=1;a[w+1242>>0]=CN(t)|0}g=DN(t)|0;c[w+608>>2]=g;a:do if(g>>>0<=63?(h=c[w+192+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;r=w+456|0;c[r>>2]=g;g=c[g>>2]|0;if(g>>>0<=15?(k=c[w+128+(g<<2)>>2]|0,k|0):0){q=w+452|0;h=c[q>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[w+448>>2]|0}else{c[q>>2]=g;h=c[(c[w+64+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[w+448>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+716>>2]=d[g+302>>0];c[f+720>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){m=g+244|0;n=g+248|0;x=16}}else{m=h+448|0;n=h+452|0;x=16}if((x|0)==16?(l=c[m>>2]|0,p=c[n>>2]|0,(l|0)!=0&(p|0)!=0):0)Jm(f+764|0,f+760|0,l,((l|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[o>>0]|0)){if(!(a[(c[r>>2]|0)+41>>0]|0))g=0;else g=(CN(t)|0)&255;k=w+629|0;a[k>>0]=g;h=c[q>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(H(i<<1,h)|0)+-2|0;o=g>>>0>65535;g=o?g>>>16:g;o=o?16:0;p=(g&65280|0)==0;g=(p?o:o|8)+(d[178821+(p?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=EN(t,g)|0;g=c[q>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[w+612>>2]=j;if(j>>>0<(H(h,g)|0)>>>0)if(!(a[k>>0]|0)){g=0;break}else{g=0;break a}else{c[s>>2]=j;Te(f,16,214119,s);g=-1094995529;break a}}else{a[w+629>>0]=0;g=0}while(0);while(1){if((g|0)>=(c[(c[r>>2]|0)+1624>>2]|0))break;FN(t);g=g+1|0}g=DN(t)|0;c[w+620>>2]=g;if(g>>>0>=3){c[u>>2]=g;Te(f,16,214155,u);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[r>>2]|0)+39>>0]|0)a[w+630>>0]=CN(t)|0;if(a[(c[q>>2]|0)+8>>0]|0)a[w+631>>0]=EN(t,2)|0;if(((c[v>>2]|0)+-19|0)>>>0<2)g=0;else{g=EN(t,c[(c[q>>2]|0)+60>>2]|0)|0;c[w+624>>2]=g;g=GN(c[q>>2]|0,c[w+1716>>2]|0,g,c[v>>2]|0)|0}c[w+1712>>2]=g;c[b+316>>2]=g;if(c[e+48>>2]|0){g=1;break}switch(c[v>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[w+1716>>2]=g;g=1;break}c[j>>2]=g;Te(f,16,214440,j);g=-1094995529}else x=5;while(0);if((x|0)==5){c[i>>2]=g;Te(f,16,214415,i);g=-1094995529}Gc=y;return g|0}function CN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function DN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Gc;Gc=Gc+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[178821+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Te(0,16,214180,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[184790+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[185302+a>>0]|0}while(0);Gc=i;return a|0}function EN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function FN(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function GN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<<c[a+60>>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function HN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=Gc;Gc=Gc+16|0;Te(b,48,214204,j);f=255;h=0;while(1){if((f|0)!=255){f=0;g=255;i=5;break}if((h|0)>2147483392|(JN(a)|0)<16){f=-1094995529;break}g=MN(a,8)|0;f=g;h=g+h|0}a:do if((i|0)==5){while(1){if((g|0)!=255)break;i=JN(a)|0;k=((i|0)<0)<<31>>31;g=xY(f|0,((f|0)<0)<<31>>31|0,3)|0;g=mY(g|0,M()|0,8,0)|0;l=M()|0;if((l|0)>(k|0)|(l|0)==(k|0)&g>>>0>i>>>0){f=-1094995529;break a}g=MN(a,8)|0;f=g+f|0;i=5}if((e|0)==39){f=NN(a,b,c,d,h,f)|0;break}else{ON(a,b,c,h,f);f=0;break}}while(0);Gc=j;return f|0}function IN(a){a=a|0;if((JN(a)|0)>0)a=(KN(a)|0)!=128&1;else a=0;return a|0}function JN(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(LN(a)|0)|0}function KN(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function LN(a){a=a|0;return c[a+8>>2]|0}function MN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function NN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;do switch(f|0){case 256:{PN(d,a);a=0;break}case 45:{SN(d+52|0,a);a=0;break}case 47:{TN(d+72|0,a);a=0;break}case 1:{a=UN(d,a,e,b,g)|0;break}case 137:{VN(d+100|0,a);a=0;break}case 144:{WN(d+128|0,a);a=0;break}case 129:{a=XN(d,a,b)|0;break}case 4:{a=YN(d,a,g)|0;break}case 147:{ZN(d+140|0,a);a=0;break}default:{c[h>>2]=f;Te(b,48,214241,h);QN(a,g<<3);a=0}}while(0);Gc=i;return a|0}function ON(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=Gc;Gc=Gc+16|0;g=h;if((e|0)==132)PN(d,a);else{c[g>>2]=e;Te(b,48,214218,g);QN(a,f<<3)}Gc=h;return}function PN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=(MN(c,8)|0)&255;f=b+48|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;a[b+(d<<4)+e>>0]=MN(c,8)|0;e=e+1|0}}case 1:{RN(c,16);break}case 2:{RN(c,32);break}default:{}}while(0);d=d+1|0}return} |
| | | function qk(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=198610;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?198706:198674;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=198642;h=i}else d=198706;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function rk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[183959+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[184599+f>>0]|0;h=c[g>>2]|0;e=d[183447+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Jk(b);return f&1|0}function sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(rk(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(rk(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(Kk(e)|0)){b=(rk(e,f+1|0)|0)*12|1;if(rk(e,f+2|0)|0)b=b+4+((rk(e,f+(d+2)|0)|0)<<2)|0;b=((rk(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(rk(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function tk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ga=Gc;Gc=Gc+16|0;wa=Ga+8|0;xa=Ga;ya=c[g+21748>>2]|0;Ea=c[g+21708>>2]|0;na=c[g+21712>>2]|0;oa=c[g+21716>>2]|0;pa=c[g+21720>>2]|0;c[wa>>2]=pa;qa=c[g+21724>>2]|0;c[wa+4>>2]=qa;ra=c[g+21728>>2]|0;sa=c[g+21732>>2]|0;ta=c[g+21736>>2]|0;ua=c[g+21740>>2]|0;c[xa>>2]=ua;va=c[g+21744>>2]|0;c[xa+4>>2]=va;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=c[(c[f+28212>>2]|0)+56>>2]|0?7:-1;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&sa|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(ua&128|0)){if(!(ua&p)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((ua&p|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27016>>2]|0)+pa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(ua&p)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(va&p)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&ra))c[m>>2]=i&32767;if(!(p&ta))c[n>>2]=l;if(h&1|0){if(!(sa&1)){DY(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26364|0}else{l=g+21704|0;m=f+26364|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(na<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[xa+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{ma=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[wa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[ma+(6-(d[ya+i>>0]|0))>>0]|0;i=a[ma+(6-(d[ya+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(sa|0)!=0;if(s){r=f+25972|0;i=c[r>>2]|0;c[g+27828>>2]=c[i+(na*48|0)+12>>2];ma=(c[f+25680>>2]|0)==0;c[g+27868>>2]=c[(ma?28:20)+(i+(na*48|0))>>2];i=c[(ma?44:36)+(i+(na*48|0))>>2]|0}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;r=f+25972|0}c[g+27908>>2]=i;p=t?64:0;q=f+28216|0;o=0;while(1){if((o|0)==2)break;if(!(c[xa+(o<<2)>>2]|0)){j=o<<4;a[j+99+(g+27824)>>0]=p;a[j+91+(g+27824)>>0]=p;a[j+59+(g+27824)>>0]=p;a[j+51+(g+27824)>>0]=p;a[j+19+(g+27824)>>0]=p;j=j|11;i=p}else{m=c[r>>2]|0;n=c[wa+(o<<2)>>2]|0;i=o<<1;k=ya+(i+8)|0;j=o<<4;a[(j|11)+(g+27824)>>0]=a[(d[k>>0]|0)+(m+(n*48|0))>>0]|0;l=ya+(i+9)|0;a[j+19+(g+27824)>>0]=a[(d[l>>0]|0)+(m+(n*48|0))>>0]|0;switch(c[(c[q>>2]|0)+12>>2]|0){case 3:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+32+(m+(n*48|0))>>0]|0;l=(d[l>>0]|0)+32|0;i=j+99|0;break}case 2:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+30+(m+(n*48|0))>>0]|0;i=(d[l>>0]|0)+30|0;k=99;u=39;break}default:{j=o<<3;a[j+51+(g+27824)>>0]=a[(d[ya+(i+12)>>0]|0)+(m+(n*48|0))>>0]|0;i=d[ya+(i+13)>>0]|0;k=91;u=39}}if((u|0)==39){u=0;l=i;i=k+j|0}j=i;i=a[m+(n*48|0)+l>>0]|0}a[g+27824+j>>0]=i;o=o+1|0}if(s)i=e[(c[f+26392>>2]|0)+(na<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!ua)i=t?1999:15;else{i=c[f+26392>>2]|0;ma=e[i+(pa<<1)>>1]|0;i=ma>>>(a[ya>>0]&-2&255)&2|ma&2032|(e[i+(qa<<1)>>1]|0)>>>(a[ya+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;b:do if((u|0)==53){w=c[f+26368>>2]|0;x=g+23412|0;y=f+26360|0;z=w*3|0;B=na<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=ua|0?-1:-2;E=pa<<2|1;F=ta|0?-1:-2;G=ra|0?-1:-2;I=g+21752|0;J=w<<1;K=w+3|0;L=Ea<<2;M=(h&2304|0)==0;N=f+26364|0;O=g+840|0;P=g+28524|0;Q=f+26408|0;R=g+28532|0;S=g+28548|0;T=g+28540|0;U=(sa&256|0)==0;V=(sa&64|0)==0;W=g+28516|0;X=g+28518|0;Y=g+28523|0;Z=qa<<2|1;_=ya+2|0;$=g+28539|0;aa=ya+3|0;ba=ya+1|0;ca=f+26376|0;da=g+21828|0;ea=(ra&128|0)!=0;fa=(sa&128|0)==0;ga=(ta&128|0)==0;ha=(ua&128|0)==0;ia=(va&128|0)==0;ja=oa<<2|2;ka=sa|0?-1:-16843010;la=(ua&320|0)==64;u=ua&256|0?-128:4;ma=(va&320|0)==64;v=va&256|0?-128:4;t=0;while(1){if(t>>>0>=(c[x>>2]|0)>>>0)break b;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&sa|0)!=0;if(r){k=(c[(c[y>>2]|0)+(na<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=ka}c:do if(C){if(!(ua&s)){c[g+27952+(t*160|0)+44>>2]=0;i=D}else{c[g+27952+(t*160|0)+44>>2]=c[q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+3+(H(w,d[ya>>0]|0)|0)<<2)>>2];i=a[p+(E+(a[ya>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break c;j=m<<1;k=m<<4;i=k+-1|0;l=c[xa+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=l|0?-1:-2;a[n+k>>0]=j}else{Ha=c[wa+(m<<2)>>2]|0;Ja=(c[(c[y>>2]|0)+(Ha<<2)>>2]|0)+3|0;Ha=Ha<<2|1;Ia=ya+j|0;c[o+(i<<2)>>2]=c[q+((H(w,d[Ia>>0]|0)|0)+Ja<<2)>>2];j=ya+(j|1)|0;l=k|7;c[o+(l<<2)>>2]=c[q+((H(w,d[j>>0]|0)|0)+Ja<<2)>>2];a[n+i>>0]=a[p+(Ha+(a[Ia>>0]&-2&255))>>0]|0;j=a[p+(Ha+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ta)){c[g+27952+(t*160|0)+32>>2]=0;i=F}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z<<2)>>2];i=a[p+ja>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&ra)){c[g+27952+(t*160|0)+12>>2]=0;i=G}else{i=c[I>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(K+(c[(c[y>>2]|0)+(Ea<<2)>>2]|0)+(i&J)<<2)>>2];i=a[p+(L|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(M){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[N>>2]|0)+(na<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ja=g+28352+(t*80|0)+8|0;c[Ja>>2]=i;c[Ja+4>>2]=j;if(!(ua&s)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[N>>2]|0)+(pa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[ya>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ba>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(va&s)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[N>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[_>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[aa>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[O>>2]|0)==3){j=c[Q>>2]|0;c[P>>2]=67372036;c[R>>2]=67372036;c[T>>2]=67372036;c[S>>2]=67372036;do if(U)if(V){c[W>>2]=67372036;break}else{a[W>>0]=a[j+A>>0]|0;a[X>>0]=a[j+B>>0]|0;break}else c[W>>2]=-2139062144;while(0);if(la)i=a[j+(E+(a[ya>>0]&-2&255))>>0]|0;else i=u;a[Y>>0]=i;if(ma)i=a[j+(Z+(a[_>>0]&-2&255))>>0]|0;else i=v;a[$>>0]=i}if(!(c[ca>>2]|0))break}else if(!(c[ca>>2]|0))break;if(!(c[da>>2]|0)){if(ea?(Ca=g+28272+(t*40|0)+3|0,Da=a[Ca>>0]|0,Da<<24>>24>-1):0){a[Ca>>0]=(Da&255)>>>1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!fa){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=d[Ja>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=(i&255)>>>1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(!ga?(Fa=a[m>>0]|0,Fa<<24>>24>-1):0){a[m>>0]=(Fa&255)>>>1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!ha){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=d[Ja>>0]<<1;break}else{if(!ea?(za=g+28272+(t*40|0)+3|0,Aa=a[za>>0]|0,Aa<<24>>24>-1):0){a[za>>0]=Aa<<24>>24<<1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(fa){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(ga?(Ba=a[m>>0]|0,Ba<<24>>24>-1):0){a[m>>0]=Ba<<24>>24<<1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(ha){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(!ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(ua>>>24&1)+(sa>>>24&1);Gc=Ga;return}function uk(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Dk(c,a+32972|0)|0)){a=a+32973|0;d=Dk(c,a)|0;d=((Dk(c,a)|0)<<1)+d|0;c=d+((Dk(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function vk(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26396>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26396>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(rk(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(rk(b,e)|0))e=1;else{e=(rk(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function wk(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Dk(d,a+32940|0)|0))a=0;else{do if(!(Dk(d,a+32941|0)|0)){b=Dk(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Dk(d,a+32942|0)|0)if(!(Dk(d,c)|0))a=7;else{b=Dk(d,c)|0;a=11;break}else a=3;b=((Dk(d,c)|0)<<1)+a|0;a=Dk(d,c)|0}while(0);a=b+a|0}return a|0}function xk(a){a=a|0;var b=0;b=a+32856|0;if(!(Dk(b,a+32925|0)|0))if(!(Dk(b,a+32926|0)|0))a=1;else{a=(Dk(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function yk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[209023+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Dk(g,e+54+(b+32904)|0)|0))break;if((f|0)>30){f=-1;break}else{f=f+1|0;e=(e>>2)+4|0}}return f|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Ak(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;g=j;i=a+32856|0;do if(!(Dk(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if((f|0)>=9){d=3;h=7;break}if(!(Dk(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+((f|0)<4&1)|0;f=f+1|0;d=b}if((h|0)==7){while(1){h=0;if(!(Ik(i)|0)){b=d;break}f=(1<<d)+f|0;if((d|0)>23){h=12;break}else{d=d+1|0;h=7}}if((h|0)==12){Te(c[(c[a>>2]|0)+4>>2]|0,16,198577,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((Ik(i)|0)<<d)+f|0}b=f;d=(f|0)<70?f:70}c[e>>2]=d;d=c[i>>2]<<1;c[i>>2]=d;if(!(d&65534)){Hk(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);Gc=j;return d|0}function Bk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=rk(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((rk(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((rk(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((rk(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a+21864>>2]|0)>>>4&3;e=(c[a+21860>>2]|0)>>>4&3;f=(b|0)!=0&1;d=a+32856|0;f=(rk(d,((e|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;b=(b|0)==2?5:4;if(f)b=0;else b=(rk(d,((e|0)==2?b|2:b)+77+(a+32904)|0)|0)+1|0;return b|0}function Dk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[183959+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[184599+f>>0]|0;h=c[g>>2]|0;e=d[183447+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Jk(b);return f&1|0}function Ek(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Gc;Gc=Gc+304|0;t=A+48|0;u=A;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[72588+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[72700+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[72812+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(Dk(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(Dk(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[209023+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25664>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Dk(u,s+(d[198411+l>>0]|0)|0)|0)){m=d[198419+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Hk(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[198435+l>>0]|0)|0;p=d[198427+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=34;break}if(!(Dk(u,m)|0))break;l=l+1|0}if((v|0)==34){while(1){v=0;if((l|0)<23&(Ik(u)|0)!=0){l=l+1|0;v=34}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(Ik(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){Hk(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Dk(u,s+(d[198411+l>>0]|0)|0)|0)){m=d[198419+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Hk(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[198435+l>>0]|0)|0;p=d[198427+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=18;break}if(!(Dk(u,m)|0))break;l=l+1|0}if((v|0)==18){while(1){v=0;if((l|0)<23&(Ik(u)|0)!=0){l=l+1|0;v=18}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(Ik(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){Hk(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];Gc=A;return}function Fk(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Gc;Gc=Gc+304|0;t=A+48|0;u=A;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[72588+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[72700+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[72812+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if((m|0)>=63)break;if(Dk(u,o+(d[198451+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[184727+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Dk(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(Dk(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Dk(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[209023+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[209023+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25664>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Dk(u,r+(d[198411+h>>0]|0)|0)|0)){l=d[198419+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){Hk(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[198435+h>>0]|0)|0;n=d[198427+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=44;break}if(!(Dk(u,l)|0))break;h=h+1|0}if((v|0)==44){while(1){v=0;if((h|0)<23&(Ik(u)|0)!=0){h=h+1|0;v=44}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(Ik(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Hk(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Dk(u,r+(d[198411+h>>0]|0)|0)|0)){l=d[198419+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){Hk(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[198435+h>>0]|0)|0;n=d[198427+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=28;break}if(!(Dk(u,l)|0))break;h=h+1|0}if((v|0)==28){while(1){v=0;if((h|0)<23&(Ik(u)|0)!=0){h=h+1|0;v=28}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(Ik(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Hk(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];Gc=A;return}function Gk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Gc;Gc=Gc+304|0;q=y+48|0;r=y;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[72588+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[72700+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if((m|0)>=7){t=6;break}j=d[198404+m>>0]|0;if(Dk(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(Dk(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<<i+-49|(e[o>>1]|0);a[(d[209023+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25664>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[186431+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Dk(r,p+(d[198411+j>>0]|0)|0)|0)){k=d[198419+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){Hk(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[198443+j>>0]|0)|0;n=d[198427+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=34;break}if(!(Dk(r,k)|0))break;j=j+1|0}if((t|0)==34){while(1){t=0;if((j|0)<23&(Ik(r)|0)!=0){j=j+1|0;t=34}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Ik(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){Hk(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[186431+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Dk(r,p+(d[198411+j>>0]|0)|0)|0)){k=d[198419+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){Hk(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[198443+j>>0]|0)|0;n=d[198427+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=18;break}if(!(Dk(r,k)|0))break;j=j+1|0}if((t|0)==18){while(1){t=0;if((j|0)<23&(Ik(r)|0)!=0){j=j+1|0;t=18}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Ik(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){Hk(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];Gc=y;return}function Hk(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function Ik(a){a=a|0;var b=0,d=0;b=c[a>>2]<<1;c[a>>2]=b;if(!(b&65534)){Hk(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function Jk(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[183447+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function Kk(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){Lk(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function Lk(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))Hk(a);return}function Mk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+16|0;j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+592>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){Te(e,16,198738,j);break}if(c[e+572>>2]|0){if(!(i&18))e=-2;else{e=b+572|0;c[e>>2]=(c[e>>2]|0)+(o+~h);e=-20}if(i&36){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-38}if(i&72){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-73}if(i&14|0){c[b+576>>2]=1;c[b+572>>2]=2147483647}g=b+580|0;a:do if((e|0)==-128)DY((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))c[b+572>>2]=2147483647;else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+696>>2]&2|0)==0):0)?Th(b)|0:0)?(H(c[q>>2]|0,c[r+268>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;c[b+572>>2]=2147483647}}}while(0);Gc=s;return}function Nk(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;Qk(a,b,c,0);return}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;Qk(a,b,c,1);return}function Qk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Gc;Gc=Gc+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=211273;c[h+4>>2]=206970;c[h+8>>2]=33;Te(0,0,222432,h);Za()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;Pe(b);if(!g)f=$e(h)|0;else f=Lf(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}Gc=i;return}function Rk(a){a=a|0;var b=0,d=0;b=a+64|0;OW(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;Ab(a|0,b|0)|0}c[d>>2]=1;PW(b)|0;return}function Sk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Gc;Gc=Gc+112|0;C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29560>>2]|0)==0:0)if(!(c[b+29588>>2]|0))n=1;else{c[g>>2]=210134;c[g+4>>2]=196236;c[g+8>>2]=1681;Te(0,0,222432,g);Za()}else n=0;A=e+4|0;g=e+21808|0;c[g>>2]=SL(A)|0;h=TL(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[186326+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+44|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){Te(c[b+4>>2]|0,16,210184,j);g=-1094995529;break}h=UL(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;Te(g,16,213569,k);g=-1094995529;break}g=c[b+27180+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;Te(g,16,213593,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27052+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;Te(C,16,213625,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=VL(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28244>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;Te(C,16,210223,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){Te(c[b+4>>2]|0,16,210255,q);g=-1;break}if(WL(A)|0)l=(WL(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<<h;if((c[r>>2]|0)==5)SL(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){c[e+34736>>2]=VL(A,c[m+28>>2]|0)|0;if(i&(c[u+8>>2]|0)==1)c[e+34740>>2]=XL(A)|0;g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(c[e+34744>>2]=XL(A)|0,i&(c[u+8>>2]|0)==1):0)c[e+34748>>2]=XL(A)|0;g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0)c[g>>2]=UL(A)|0;g=c[s>>2]|0;if((g|0)==3){c[e+21844>>2]=WL(A)|0;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=YL(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=ZL(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=_L(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+64>>2]|0){if(($L(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+580>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=TL(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;Te(C,16,210325,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=(XL(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;Te(C,16,210353,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){WL(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)XL(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=TL(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;Te(C,16,210373,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=XL(A)|0;g=XL(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;Te(B,16,210412,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;Te(C,16,210153,i);g=-1094995529}while(0);Gc=D;return g|0}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Gc;Gc=Gc+96|0;x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=il(a,b,e)|0;a:do if((e|0)>=0){z=a+28216|0;q=c[z>>2]|0;m=a+25684|0;n=c[m>>2]|0;D=a+26380|0;v=c[D>>2]|0;B=d+64|0;c[m>>2]=(c[B>>2]|0)==0&1;e=c[b+21824>>2]|0;c[D>>2]=e;f=c[b+34732>>2]|0;y=a+28224|0;C=a+28244|0;c[C>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28232>>2]=c[b+34740>>2];c[a+28236>>2]=c[b+34744>>2];c[a+28240>>2]=c[b+34748>>2];r=a+28264|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<<c[q+20>>2],A=c[q+48>>2]|0,i=f-A|0,(f-g+((f|0)<(g|0)?h:0)|0)>(A|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);A=a+26384|0;do if(c[A>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=207934;c[k+4>>2]=196236;c[k+8>>2]=1446;Te(0,0,222432,k);Za()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=207949;c[l+4>>2]=196236;c[l+8>>2]=1447;Te(0,0,222432,l);Za()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){yh(g+4|0,2147483647,f);e=c[D>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}yh((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[C>>2]|0)){if((v|0)==3){n=j;break}yh(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;Te(a,16,207975,p);c[D>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{Lh(c[h>>2]|0,208013,o);c[D>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29556|0;g=q+52|0;m=a+29548|0;j=a+28348|0;while(1){i=c[C>>2]|0;e=c[r>>2]|0;f=(c[A>>2]|0)==0;if((i|0)==(e|0)){g=45;break}if(!f){g=46;break}if((i|0)==((e+1|0)%(1<<c[k>>2]|0)|0|0)){g=57;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;Te(q,48,208079,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=jl(a)|0;if((e|0)<0){g=33;break}q=((c[r>>2]|0)+1|0)%(1<<c[k>>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;yh(e+4|0,2147483647,0);yh((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=xh(a)|0;if((e|0)<0?c[(c[h>>2]|0)+580>>2]&8|0:0)break a;if(!(c[l>>2]|0))continue;e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;Wh(e,2147483647,0);if(c[f+636>>2]|0)Wh(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;Og(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}if((g|0)==33){c[A>>2]=0;break}else if((g|0)==45)if(f)g=57;else g=46;do if((g|0)==46){g=c[n>>2]|0;if(!g){c[w>>2]=207934;c[w+4>>2]=196236;c[w+8>>2]=1553;Te(0,0,222432,w);Za()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=207949;c[x+4>>2]=196236;c[x+8>>2]=1554;Te(0,0,222432,x);Za()}e=c[D>>2]|0;f=a+29584|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[A>>2]=f;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){yh(g+4|0,2147483647,(e|0)==2&1);c[A>>2]=1;c[n>>2]=0;e=c[D>>2]|0;f=1;break}if(!(c[g+640>>2]&4)){c[A>>2]=0;f=0;break}else{c[A>>2]=1;c[n>>2]=0;f=1;break}}else if((g|0)==57){e=c[D>>2]|0;f=(e|0)!=3&1;c[A>>2]=f}while(0);if(!((e|0)!=3&(f|0)==0)){if((jl(a)|0)<0){c[A>>2]=0;e=-1094995529;break}}else{kl(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[D>>2]|0;c:do if((e|0)==3)DY(c[a+26372>>2]|0,-1,(H(c[a+27008>>2]<<1,c[a+27016>>2]|0)|0)+-2|0)|0;else{g=a+27008|0;h=a+26372|0;i=a+27016|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;DY((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);e=c[n>>2]|0;e=ll(e+76|0,e+84|0,c[z>>2]|0,y,c[D>>2]|0,c[B>>2]|0)|0;if((e|0)>=0){k=b+34724|0;BY(a+28748|0,b+33932|0,(c[k>>2]|0)*12|0)|0;c[a+29540>>2]=c[k>>2];c[m>>2]=c[b+34728>>2];k=(c[d+44>>2]|0)==5;j=k&1;c[a+25712>>2]=j;h=c[a+29716>>2]|0;do if((h|0)>-1){i=c[C>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29568>>2]=1;g=a+29572|0;f=c[g>>2]|0;if((f|0)>=0){e=c[(c[z>>2]|0)+20>>2]|0;if(((1<<e)+-1&f-i)>>>0<=h>>>0)break}else e=c[(c[z>>2]|0)+20>>2]|0;z=(1<<e)+-1&i+h;c[g>>2]=z;c[g>>2]=(c[a+29568>>2]|0)==0?i:z}while(0);f=c[n>>2]|0;e=(c[f>>2]|0)+84|0;c[e>>2]=c[e>>2]|j;e=a+29572|0;if(k){c[e>>2]=-1;c[f+644>>2]=1;C=a+29576|0;e=c[C>>2]|1;c[C>>2]=e}else{if((c[e>>2]|0)==(c[C>>2]|0)?c[B>>2]|0:0){c[e>>2]=-1;c[f+644>>2]=1}e=c[a+29576>>2]|0}C=f+644|0;c[C>>2]=c[C>>2]|e;if(((c[D>>2]|0)!=3?c[A>>2]|0:0)?(c[a+29584>>2]|0)<=1:0){e=0;break}ml(a);nl(a);e=0}}while(0);Gc=E;return e|0}function Uk(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Gc;Gc=Gc+160|0;D=E+24|0;m=E+16|0;g=E+8|0;f=E;v=E+96|0;if((c[a+25712>>2]|0)!=0?(c[e+44>>2]|0)!=5:0){Te(c[a+4>>2]|0,16,207259,f);f=-1094995529}else w=4;do if((w|0)==4){h=c[d+21808>>2]|0;j=a+26376|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26380>>2]|0)!=3;else f=1;C=c[a+27020>>2]|0;if(!(h<<(f&1)>>>0<C>>>0&h>>>0<C>>>0)){Te(c[a+4>>2]|0,16,207298,g);f=-1094995529;break}y=a+27012|0;f=c[y>>2]|0;u=(h>>>0)%(f>>>0)|0;z=d+21788|0;c[z>>2]=u;c[d+21800>>2]=u;u=a+26380|0;C=c[u>>2]|0;f=((h>>>0)/(f>>>0)|0)<<(((C|0)!=3|i^1)&1);t=d+21792|0;c[t>>2]=f;l=d+21804|0;c[l>>2]=f;if((C|0)==2){C=f+1|0;c[t>>2]=C;c[l>>2]=C}f=Vk(a,d)|0;if((f|0)>=0){h=a+28212|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){Wk(a,d,-1);if(!(c[j>>2]|0))w=15;else{Wk(a,d,0);Wk(a,d,1);w=15}}}else w=15;if(((w|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)Xk(a,d);if(!(c[a+29588>>2]|0))Yk(a,d);s=a+4|0;k=c[s>>2]|0;f=c[k+724>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27028>>2]|0)==5)w=24;else{w=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){w=29;break a}else break;else if((f|0)>7)break;else break a;else w=24;while(0);if((w|0)==24?(c[g>>2]|0)!=1:0){w=29;break}if(!(c[e+64>>2]|0))w=29}else w=29;while(0);if((w|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[k+64>>2]&1)){c[a+25708>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;i=c[B>>2]|0;C=d+876|0;j=c[C>>2]|0;g=c[h>>2]|0;f=g+44|0;h=c[f>>2]|0;x=(h|0)<0;g=g+48|0;h=((x?0:h)|0)<=(c[g>>2]|0);if(h|x^1)f=c[(h?g:f)>>2]|0;else f=0;c[d+860>>2]=-33-((i|0)>(j|0)?j:i)-f+((c[(c[a+28216>>2]|0)+1184>>2]|0)*6|0);r=a+29560|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[l>>2]|0;else{f=c[l>>2]|0;b[a+29600+((g&31)<<1)>>1]=f}x=b[a+29600+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(x|0)&(x+3|0)>=(f|0))){c[m>>2]=h;c[m+4>>2]=32;Te(k,24,207326,m)}n=d+23412|0;o=a+29556|0;p=a+29552|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;k=d+23404+(m<<2)|0;j=0;while(1){if((j|0)==16)break;l=v+(j<<2)|0;c[l>>2]=60;b:do if(m>>>0<(c[n>>2]|0)>>>0?j>>>0<(c[k>>2]|0)>>>0:0){f=c[(c[c[d+23416+(m*1920|0)+(j*40|0)+36>>2]>>2]|0)+248>>2]|0;if(!f)break;h=c[f>>2]|0;i=c[o>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;if((c[c[(c[c[a+28348+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(h|0)){w=53;break}f=f+1|0}if((w|0)==53){w=0;c[l>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;x=c[a+28476+(f<<2)>>2]|0;if(x|0?(c[c[(c[x>>2]|0)+248>>2]>>2]|0)==(h|0):0)break;f=f+1|0}c[l>>2]=i+f}while(0);j=j+1|0}c[a+29940+(q<<9)+(m<<8)+4>>2]=-1;c[a+29940+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29940+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f<<2)>>2]<<2;f=f+1|0}c[a+29940+(q<<9)+(m<<8)+76>>2]=-1;c[a+29940+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29940+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+576>>2]&1))f=0;else{w=c[r>>2]|0;v=c[u>>2]|0;s=H(c[y>>2]|0,c[t>>2]|0)|0;s=s+(c[z>>2]|0)|0;f=d+836|0;t=(Uh(c[f>>2]|0)|0)<<24>>24;u=c[d+844>>2]|0?207427:330272;q=(c[e+44>>2]|0)==5?207432:330272;r=c[a+28244>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=c[d+884>>2]|0?207437:330272;else i=330272;if((c[f>>2]|0)==3)f=c[d+21844>>2]|0?207439:207444;else f=330272;c[D>>2]=w;c[D+4>>2]=(v|0)==3?207425:(v|0)==1?207421:207423;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;Te(x,48,207449,D);f=0}}}while(0);Gc=E;return f|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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Gc;Gc=Gc+64|0;G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Eh(b);Fh(b);$k(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;y=b+29556|0;E=b+4|0;F=b+26380|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){n=0;p=29;break}q=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;n=0;e=c[v>>2]|0;while(1){if((n|0)>=(c[q>>2]|0))break;f=a[d+27256+(s<<8)+(n<<3)>>0]|0;i=c[d+27256+(s<<8)+(n<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){p=11;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;g=Ah(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){p=f;f=f+-1|0;if((p|0)<=0){p=18;break b}h=c[b+28348+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(g|0))continue;if(i&c[h+640>>2]|0){m=e;p=15;break}}break}case 2:{f=Ah(b,i,u)|0;if(f>>>0>31){p=16;break a}f=c[b+28476+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){m=e;h=f;e=i;i=w;p=15}else p=18;break}default:{p=17;break a}}while(0);if((p|0)==15){c[h+96>>2]=e;f=h+96|0;g=c[r>>2]|0;j=h+100|0;e=n;while(1){k=e+1|0;if(k>>>0>=g>>>0)break;l=c[d+23416+(s*1920|0)+(e*40|0)+36>>2]|0;if(!l){e=k;continue}if((c[j>>2]|0)!=(c[l+100>>2]|0)){e=k;continue}if((c[f>>2]|0)==(c[d+23416+(s*1920|0)+(e*40|0)+32>>2]|0))break;else e=k}while(1){if((e|0)<=(n|0))break;g=e+-1|0;f=d+23416+(s*1920|0)+(e*40|0)|0;e=d+23416+(s*1920|0)+(g*40|0)|0;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=g}e=d+23416+(s*1920|0)+(n*40|0)|0;al(e,h);if((c[F>>2]|0)==3)e=m;else{bl(e,i);e=m}}else if((p|0)==18){Te(c[E>>2]|0,16,207717,C);f=d+23416+(s*1920|0)+(n*40|0)|0;o=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(o|0))}n=n+1|0}s=s+1|0}c:do if((p|0)==11){Te(c[E>>2]|0,16,207662,z);t=-1094995529}else if((p|0)==16){Te(c[E>>2]|0,16,207689,A);t=-1094995529}else if((p|0)==17){c[B>>2]=228437;c[B+4>>2]=190515;c[B+8>>2]=373;Te(0,0,222432,B);Za()}else if((p|0)==29){d:while(1){p=0;if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28268+(n*40|0)|0;k=b+28268+(n*40|0)+28|0;l=b+28268+(n*40|0)+36|0;m=b+28268+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)p=35}else p=35;if((p|0)==35){p=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];Te(e,16,207759,H);e=0;while(1){if((e|0)==16)break;c[b+28676+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}e=j;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=c[g>>2]|0}if((cl(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{p=43;break d}}n=n+1|0;e=c[D>>2]|0;p=29}if((p|0)==43){c[G>>2]=207801;c[G+4>>2]=190515;c[G+8>>2]=411;Te(0,0,222432,G);Za()}if(!(c[b+26376>>2]|0))t=0;else{dl(d);t=0}}while(0);Gc=I;return t|0}function Wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26380>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26376>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=mY(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(p=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,p=(p+128|0)>>>0>255?p>>31^127:p,o=p&255,p=p<<24>>24,o<<24>>24!=0):0){i=(H((((o<<24>>24>-1?p:0-p|0)>>1)+16384|0)/(p|0)|0,l)|0)+32>>8;i=(i+64|0)>>>0<193?64-i|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function 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;j=c[a+26380>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26376>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;c[b+21996+(e<<7)+((a^e)<<2)>>2]=_k(b,g,h,a+16|0)|0;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;c[b+21868+(a<<2)>>2]=_k(b,j,k,a)|0;a=a+1|0}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,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+32|0;p=q+16|0;j=q;m=a+24312|0;h=c[m>>2]|0;l=a+26380|0;o=c[l>>2]&1^1;n=b+25360|0;f=c[n>>2]&1;k=b+23412|0;d=0;while(1){if(d>>>0>=(c[k>>2]|0)>>>0)break;g=b+23404+(d<<2)|0;c[h+616+(o<<3)+(d<<2)>>2]=c[g>>2];e=0;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break;c[h+104+(o<<8)+(d<<7)+(e<<2)>>2]=c[b+23416+(d*1920|0)+(e*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(e*40|0)+36>>2]|0)+88>>2]<<2;e=e+1|0}d=d+1|0}i=f^1;if((c[l>>2]|0)==3){e=h+616|0;f=c[e+4>>2]|0;g=h+624|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;BY(h+360|0,h+104|0,256)|0}if(c[a+29560>>2]|0){if((c[h+632>>2]|0)!=(c[a+26376>>2]|0)){c[j>>2]=207539;c[j+4>>2]=207571;c[j+8>>2]=144;Te(0,0,222432,j);Za()}}else c[h+632>>2]=c[a+26376>>2];f=b+21852|0;c[f>>2]=0;a:do if((c[k>>2]|0)==2?c[b+23408>>2]|0:0){e=c[l>>2]|0;if((e|0)!=3){d=c[n>>2]|0;if((d&e|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0){c[f>>2]=(d<<1)+-3;d=o}else d=o}else{d=c[(c[m>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){Te(c[a+4>>2]|0,16,207596,p);d=1}else{p=e-d|0;d=f-d|0;d=(((p|0)>-1?p:0-p|0)|0)>=(((d|0)>-1?d:0-d|0)|0)&1}c[b+21848>>2]=d;i=d}if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26376|0;f=0;while(1){if((f|0)==2)break a;Zk(a,b,g,f,d,i,0);b:do if(c[h>>2]|0){e=0;while(1){if((e|0)==2)break b;Zk(a,b,b+22636+(e*384|0)|0,f,e,e,1);e=e+1|0}}while(0);f=f+1|0}}}while(0);Gc=q;return}function Zk(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26380>>2]|0)!=3;DY(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;a:while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0)){h=m;continue a}h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=13;break}h=h+1|0}if((t|0)==13){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}}return}function _k(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=Gc;Gc=Gc+16|0;j=k+8|0;h=c[a+23416+(e*40|0)+28>>2]|0;i=((h|0)<0)<<31>>31;d=nY(d|0,((d|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;g=(d+128|0)>>>0>255?d>>31^127:d;f=g&255;g=g<<24>>24;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))Lh(c[(c[a>>2]|0)+4>>2]|0,207625,k);if(f<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=nY(b|0,((b|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))Te(c[(c[a>>2]|0)+4>>2]|0,48,207643,j);l=(H((((f<<24>>24>-1?g:0-g|0)>>1)+16384|0)/(g|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;Gc=k;return d|0}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,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+240|0;r=s+48|0;d=s+32|0;n=s+16|0;m=s;l=s+104|0;o=s+96|0;p=s+56|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26380|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28348|0;i=a+29556|0;j=a+28476|0;f=0;while(1){if((f|0)>=2){d=11;break}d=el(l,h,c[i>>2]|0,g,f^1)|0;d=(el(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=fl(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(fl(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)DY(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=207874;c[m+4>>2]=190515;c[m+8>>2]=153;Te(0,0,222432,m);Za()}else if((d|0)==7){c[n>>2]=207874;c[n+4>>2]=190515;c[n+8>>2]=160;Te(0,0,222432,n);Za()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26380|0;e=fl(b+23416|0,48,a+28348|0,c[a+29556>>2]|0,0,c[p>>2]|0)|0;e=(fl(b+23416+(e*40|0)|0,48-e|0,a+28476|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=207874;c[d+4>>2]=190515;c[d+8>>2]=181;Te(0,0,222432,d);Za()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)DY(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if((f|0)>=(((c[q>>2]|0)==3?2:1)|0))break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;e=b+23416+(f*1920|0)+(g*40|0)|0;d=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(d|0?gl(a,d)|0:0){Te(c[h>>2]|0,16,207884,r);j=e;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28268+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}Gc=s;return}function al(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function cl(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+23412|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;k=a+23404+(g<<2)|0;h=0;while(1){if(h>>>0>=(c[k>>2]|0)>>>0)break;f=(h<<1)+16|0;j=a+23416+(g*1920|0)+(f*40|0)|0;b=j;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=j+40|0;d=j;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=j+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[j+64>>2]=2;c[j+68>>2]=c[(c[j+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function el(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f|0?-2147483648:2147483647;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function fl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+32|0;p=q+16|0;o=q;n=g^3;m=(f|0)==0;j=0;f=0;h=0;while(1){if(!((f|0)<(e|0)|(h|0)<(e|0))){f=24;break}while(1){if((f|0)>=(e|0)){i=0;break}l=c[d+(f<<2)>>2]|0;if(l|0?c[l+640>>2]&g|0:0){i=1;break}f=f+1|0}l=h;while(1){if((l|0)>=(e|0)){k=0;break}k=c[d+(l<<2)>>2]|0;if(k|0?c[k+640>>2]&n|0:0){k=1;break}l=l+1|0}if(i){if((j|0)>=(b|0)){f=14;break}i=c[d+(f<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=f;c[i+96>>2]=h;hl(a+(j*40|0)|0,i,g,1);j=j+1|0;f=f+1|0}if(!k){h=l;continue}if((j|0)>=(b|0)){f=20;break}i=c[d+(l<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=l;c[i+96>>2]=h;hl(a+(j*40|0)|0,i,n,0);j=j+1|0;h=l+1|0}if((f|0)==14){c[o>>2]=207918;c[o+4>>2]=190515;c[o+8>>2]=90;Te(0,0,222432,o);Za()}else if((f|0)==20){c[p>>2]=207918;c[p+4>>2]=190515;c[p+8>>2]=95;Te(0,0,222432,p);Za()}else if((f|0)==24){Gc=q;return j|0}return 0}function gl(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(al(a,b),(d|0)!=3):0){bl(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function il(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=Gc;Gc=Gc+64|0;m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28204|0;zf(i);f=a+28212|0;c[f>>2]=0;d=Bg(c[a+27180+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28212|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28216|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27052+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28208|0;zf(i);c[h>>2]=0;d=Bg(c[a+27052+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+27012>>2]|0)==(c[g+56>>2]|0)?(c[a+27008>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29596>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27044>>2]|0)==(e|0)?(c[a+27048>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25692|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+100>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+104>>2]|0)):0)?(c[a+29596>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)?(c[a+27012>>2]|0)==(f|0):0)f=(c[a+27008>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+112>>2]|0;if(!((e|0)!=-1?(j=Bm(e)|0,(j|0)==(Bm(Cm(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+188|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(Dm(l,m)|0)==0;f=m?f:1}if(((c[a+29588>>2]|0)==0?(m=Em(g)|0,l=c[h>>2]|0,c[l+716>>2]=m,c[l+720>>2]=c[g+8>>2],c[l+300>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+27012>>2]=l,m=c[g+60>>2]|0,c[a+27008>>2]=m,c[a+27020>>2]=H(m,l)|0,c[a+27016>>2]=l+1,c[a+26368>>2]=l<<2,c[a+25680>>2]=(c[g+12>>2]|0)<2&1,c[a+25668>>2]=l<<4,c[a+25672>>2]=m<<4,Fm(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+328>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+324|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+316>>2]=c[g+120>>2];c[n+320>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+100>>2]|0;b=c[a+25672>>2]|0;p=c[d+104>>2]|0;q=(c[a+29560>>2]|0)+1|0;c[o>>2]=c[a+25668>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;Te(d,16,208668,o);d=-1094995529;break}if(!e)Sf(a);d=Cm(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+112>>2]=d;n=c[a+25668>>2]|0;b=c[a+25672>>2]|0;d=og(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;Te(o,40,208723,p);d=Gm(a)|0;if((d|0)<0)Te(c[h>>2]|0,16,208761,q);else d=0}}else d=0}while(0);Gc=r;return d|0}function jl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Gc;Gc=Gc+32|0;e=n+8|0;f=n+16|0;l=c[b+25664>>2]|0;m=b+28216|0;g=c[m>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(rl(c[g>>2]|0)|0){kl(b,1);k=b+24312|0;c[k>>2]=0;d=sl(b)|0;if((d|0)<0){Te(c[g>>2]|0,16,208228,e);break}i=b+696+(d*656|0)|0;j=b+26380|0;h=c[j>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25684>>2]|0)==0?h:0;e=b+25688|0;o=c[e>>2]|0;c[e>>2]=o+1;e=c[i>>2]|0;c[e+128>>2]=o;c[b+696+(d*656|0)+636>>2]=(h|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28244>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29716>>2];h=b+25628|0;c[e+88>>2]=c[(c[h>>2]|0)+836>>2];c[e+392>>2]=c[b+25716>>2];c[e+396>>2]=c[b+25720>>2];c[e+384>>2]=c[b+25724>>2];c[e+388>>2]=c[b+25728>>2];d=tl(b,i)|0;if((d|0)>=0){if((c[b+29576>>2]|0)==0?(c[(c[g>>2]|0)+592>>2]|0)==0:0)ul(c[i>>2]|0,f);c[k>>2]=i;d=b+24316|0;Uf(b,d);Rh((c[h>>2]|0)+696|0,0);d=ih(b,d,c[k>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;g=c[c[k>>2]>>2]|0;o=c[h>>2]|0;c[o+(d*34768|0)+21772>>2]=c[g+32>>2];c[o+(d*34768|0)+21776>>2]=c[g+36>>2];d=d+1|0}if(!(c[b+29672>>2]|0))d=0;else{vl((c[h>>2]|0)+24|0);Rh((c[h>>2]|0)+728|0,0);Rh((c[h>>2]|0)+760|0,0);d=0}while(1){if((d|0)==16){d=0;break}o=a[209023+d>>0]|0;h=((o<<2&255)+16&28)<<l;o=(o&255)+-12>>3;c[b+25976+(d<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<2,o)|0);c[b+25976+(d+48<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<3,o)|0);d=d+1|0}while(1){if((d|0)==16)break;o=a[209023+d>>0]|0;h=((o<<2&255)+16&28)<<l;o=(o&255)+-12>>3;g=h+(H(c[(c[i>>2]|0)+36>>2]<<2,o)|0)|0;c[b+25976+(d+32<<2)>>2]=g;c[b+25976+(d+16<<2)>>2]=g;o=h+(H(c[(c[i>>2]|0)+36>>2]<<3,o)|0)|0;c[b+25976+(d+80<<2)>>2]=o;c[b+25976+(d+64<<2)>>2]=o;d=d+1|0}o=c[k>>2]|0;c[o+640>>2]=0;c[o+80>>2]=2147483647;c[o+76>>2]=2147483647;c[b+28740>>2]=0;c[b+25708>>2]=0;if(!(c[(c[m>>2]|0)+68>>2]|0))d=0;else d=(c[j>>2]|0)==3&1;c[b+26376>>2]=d;d=c[b+29712>>2]|0;if((d|0)>-1){c[b+25704>>2]=d;d=0}else d=0}}}else{Te(c[g>>2]|0,16,208182,n);d=-1}while(0);Gc=n;return d|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;Uf(a,f)}while(0);b=b+1|0}return}function ll(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<<k)|0;c[j>>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<<c[e+28>>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=k+i|0;l=((j|0)<0)<<31>>31;if((g|0)==3){k=c[f+8>>2]|0;k=mY(k|0,((k|0)<0)<<31>>31|0,j|0,l|0)|0;i=j;h=l;j=M()|0}else{i=j;h=l;k=j;j=l}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:l+i|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){i=i+-1|0;k=(i|0)%(m|0)|0;i=H((i|0)/(m|0)|0,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;i=(c[f+12>>2]|0)+i|0;l=((i|0)<0)<<31>>31;k=c[e+40>>2]|0;k=mY(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;j=M()|0;if((g|0)==3){h=c[f+16>>2]|0;k=mY(k|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=l;j=M()|0}else h=l;break}default:{k=(l+i<<1)+(((h|0)==0)<<31>>31)|0;j=((k|0)<0)<<31>>31;i=k;h=j}}if((i|0)==(i|0)&(h|0)==(((i|0)<0)<<31>>31|0)?(k|0)==(k|0)&(j|0)==(((k|0)<0)<<31>>31|0):0){if((g|0)!=2?(c[a>>2]=i,(g|0)==1):0)j=a+4|0;else{j=a+4|0;c[j>>2]=k;i=c[a>>2]|0}c[d>>2]=c[a+(((i|0)>(c[j>>2]|0)&1)<<2)>>2];i=0}else i=-1094995529;return i|0}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28216>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;g=j+212|0;c[g>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29676>>2]|0)!=0:0){f=c[b+29680>>2]|0;switch(f|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[g>>2]=1;d=1;break}case 4:case 3:{if((c[b+26376>>2]|0)==0?(c[b+26380>>2]|0)==3:0)d=c[b+29564>>2]|0;else d=1;c[g>>2]=d;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}e=c[b+29684>>2]|0;if((e&3|0)!=0&f>>>0<5){d=e>>>1&1;h=17}}else{if(!(c[b+26376>>2]|0))d=(c[b+26380>>2]|0)!=3;else d=1;d=d&1;h=17}if((h|0)==17)c[g>>2]=d;c[b+29564>>2]=d;e=c[q+76>>2]|0;f=c[q+80>>2]|0;do if((e|0)==(f|0)){if(!i?c[b+29676>>2]|0:0){switch(c[b+29680>>2]|0){case 5:case 3:{d=1;break}default:d=0}c[j+216>>2]=d;break}c[j+216>>2]=(d|0)!=0&1}else c[j+216>>2]=(e|0)<(f|0)&1;while(0);if(((c[b+29852>>2]|0?(k=b+29864|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29872|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=ol(j)|0,m|0):0){switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:{c[m>>2]=c[b+29876>>2]|0?5:1;break}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}if((c[l>>2]|0)==2)c[m+4>>2]=1;if((c[k>>2]|0)==5)c[m+8>>2]=c[b+29880>>2]|0?1:2}do if(c[b+29884>>2]|0){d=c[b+29888>>2]|0;if(((d|0)==0?(c[b+29892>>2]|0)==0:0)?(c[b+29896>>2]|0)==0:0)break;e=Zg(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;pl(c[m>>2]|0,+(d*360|0)*.0000152587890625);ql(c[m>>2]|0,c[b+29892>>2]|0,c[b+29896>>2]|0)}}while(0);d=b+29696|0;if(c[d>>2]|0?(n=Zg(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29700>>0]|0;c[d>>2]=0}d=b+29708|0;if(c[d>>2]|0){e=b+29704|0;f=Zg(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)BY(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;Pe(d);c[e>>2]=0;n=(c[b+4>>2]|0)+848|0;c[n>>2]=c[n>>2]|2}if((c[b+29916>>2]|0?(o=b+29920|0,yi(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+320>>2]=p}return}function nl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Gc;Gc=Gc+48|0;p=q+32|0;m=q+16|0;k=q+8|0;h=q;d=c[a+28216>>2]|0;l=c[a+24312>>2]|0;j=a+29544|0;i=l+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=d+660|0;b=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[b+568>>2]|0)<=0:0)){n=b+140|0;f=c[n>>2]|0;g=c[d+664>>2]|0;c[n>>2]=(f|0)>(g|0)?f:g}g=l+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;n=8;break}d=c[a+28676+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){n=7;break}if(!e)c[a+28676+(b+-1<<2)>>2]=d;b=b+1|0}if((n|0)==7)if(e)b=0;else n=8;if((n|0)==8)c[a+28676+(b+-1<<2)>>2]=f;e=16-b|0;if((c[(c[l>>2]|0)+88>>2]|0)==3)if((e|0)>1)n=17;else n=16;else{n=c[a+28732>>2]|0;if((n|0)!=-2147483648?!((e|0)>1?1:((c[a+28736>>2]|0)-n|0)<3):0)n=16;else n=17}if((n|0)==16){b=a+4|0;e=1;d=c[b>>2]|0;n=22}else if((n|0)==17){f=a+4|0;d=c[f>>2]|0;if(!b){e=a+28676|0;b=c[e>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;Te(d,40,208100,h);b=1;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}c[e>>2]=c[g>>2];c[i>>2]=1;h=f}else{b=f;n=22}}if((n|0)==22)if((c[d+140>>2]|0)<(e|0)?(c[j>>2]|0)==0:0){h=(c[d+360>>2]|0)>1?24:40;c[k>>2]=e;Te(d,h,208119,k);c[(c[b>>2]|0)+140>>2]=e;h=b}else h=b;k=0;while(1){b=a+28604+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if((k|0)>=17){c[m>>2]=208152;c[m+4>>2]=196236;c[m+8>>2]=1337;Te(0,0,222432,m);Za()}c[b>>2]=l;b=l+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28604|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28604+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;n=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=n?d:l;i=n?b:i;b=b+1|0}b=c[h>>2]|0;e=c[b+140>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28744>>2]=-2147483648}while(0);d=c[l+84>>2]|0;g=a+28744|0;f=(d|0)<(c[g>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28604+(i<<2)>>2]|0;while(1){if(!e)break;n=b+1|0;e=c[a+28604+(n<<2)>>2]|0;c[a+28604+(b<<2)>>2]=e;b=n}if(f){b=c[h>>2]|0;n=61;break}else{e=c[h>>2]|0;b=e;e=c[e+140>>2]|0;n=47;break}}else n=47;while(0);do if((n|0)==47){if((k|0)<(e|0)){n=61;break}h=a+28740|0;c[h>>2]=l;if((i|0)==0?(o=c[j>>2]|0,(o|0)!=0):0)if((c[(c[o>>2]|0)+84>>2]|0)==0?(c[o+92>>2]|0)==0:0)n=53;else d=-2147483648;else n=53;c[g>>2]=d;f=l+644|0;g=c[f>>2]|0;e=a+29576|0;d=c[e>>2]|0;if(g){d=d|2;c[e>>2]=d}a=d>>>1&1|g;c[f>>2]=a;if(!a){if((c[b+60>>2]&8|0)==0?(c[b+64>>2]&4194304|0)==0:0){c[h>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((n|0)==61){c[p>>2]=f?208163:330272;Te(b,48,208167,p)}Gc=q;return}function ol(b){b=b|0;var d=0,e=0;b=Zg(b,2,12)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+12|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function pl(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;c[d>>2]=H(c[d>>2]|0,c[e+(((b|0)%3|0)<<2)>>2]|0)|0;b=b+1|0}}while(0);Gc=f;return}function rl(a){a=a|0;var b=0;if((c[a+696>>2]&1|0)!=0?(c[(c[(c[a+28>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+68>>2]|0))if((c[a+700>>2]|0)==0?(c[a+400>>2]|0)!=10:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function sl(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+32|0;g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=208278;c[e+4>>2]=196236;c[e+8>>2]=192;Te(0,0,222432,e);Za()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=om(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+592>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=208295;c[g+4>>2]=196236;c[g+8>>2]=202;Te(0,0,222432,g);Za()}e=c[e+40>>2]|0;if(e|0){e=tg(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29924|0;e=c[f>>2]|0;if(!e){d=pm(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}f=b+20|0;c[f>>2]=ig(e)|0;e=ig(c[a+29928>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27016>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29932|0;g=a+29936|0;e=0;while(1){if((e|0)>=2){d=0;break a}i=b+28+(e<<2)|0;c[i>>2]=ig(c[f>>2]|0)|0;h=ig(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){Uf(a,b);d=(d|0)<0?d:-12}Gc=k;return d|0}function ul(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Gc;Gc=Gc+16|0;f=t;g=ng(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=208255;c[f+4>>2]=189834;c[f+8>>2]=410;Te(0,0,222432,f);Za()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if((l|0)>=(d[o>>0]|0|0))break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=a+32+(l<<2)|0;k=e+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[k>>2];h=h+1|0}}else DY(i|0,c[k>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[j>>2]|0)|0}l=l+1|0}Gc=t;return}function vl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+572>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){wl(a+4|0,b);c[d>>2]=1}DY(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function wl(a,b){a=a|0;b=b|0;c[a>>2]=19;c[a+484>>2]=2;c[a+488>>2]=3;c[a+492>>2]=4;c[a+496>>2]=5;c[a+500>>2]=6;c[a+504>>2]=7;c[a+508>>2]=8;c[a+512>>2]=9;c[a+52>>2]=10;c[a+56>>2]=11;c[a+68>>2]=12;c[a+72>>2]=13;c[a+76>>2]=14;c[a+80>>2]=15;c[a+292>>2]=16;c[a+296>>2]=17;c[a+316>>2]=18;c[a+320>>2]=19;c[a+4>>2]=2;c[a+8>>2]=6;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function xl(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=0;while(1){if((c|0)==64)break;f=b[a+(c<<1)>>1]|0;e=f<<16>>16;c=c+1|0;d=(f<<16>>16>-1?e:0-e|0)+d|0}return d|0}function yl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function zl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=d[a+1>>0]|0;w=(d[b>>0]|0)-(((d[a>>0]|0)+1+v|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+1+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Al(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Bl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;y=d[a+1>>0]|0;w=d[c+1>>0]|0;x=(d[b>>0]|0)-(((d[a>>0]|0)+2+y+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+2+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Cl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Dl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=d[a+1>>0]|0;o=(d[b>>0]|0)-(((d[a>>0]|0)+1+n|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function El(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Fl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;q=d[a+1>>0]|0;o=d[c+1>>0]|0;p=(d[b>>0]|0)-(((d[a>>0]|0)+2+q+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+2+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Gl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Hl(a,b,c,d,8)|0;f=(Hl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Hl(a,g,b,d,8)|0)+f|0;f=f+(Hl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Hl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=Gc;Gc=Gc+256|0;h=i;a=0;while(1){if((a|0)==8){a=0;g=0;break}j=H(a,f)|0;p=j+1|0;r=d[e+p>>0]|0;p=d[b+p>>0]|0;k=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;o=k+r-p|0;g=a<<3;p=k-r+p|0;r=j+2|0;k=j+3|0;q=d[e+k>>0]|0;k=d[b+k>>0]|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;m=r+q-k|0;k=r-q+k|0;q=j+4|0;r=j+5|0;s=d[e+r>>0]|0;r=d[b+r>>0]|0;q=(d[e+q>>0]|0)-(d[b+q>>0]|0)|0;n=q+s-r|0;r=q-s+r|0;s=j+6|0;j=j+7|0;q=d[e+j>>0]|0;j=d[b+j>>0]|0;s=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;l=s+q-j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}while(1){if((g|0)==8)break;w=h+(g<<2)|0;q=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+q|0;t=q-t|0;q=h+(g+16<<2)|0;b=c[q>>2]|0;l=h+(g+24<<2)|0;k=c[l>>2]|0;s=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;n=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+n|0;j=n-j|0;n=h+(g+48<<2)|0;o=c[n>>2]|0;m=h+(g+56<<2)|0;r=c[m>>2]|0;p=r+o|0;r=o-r|0;o=s+v|0;c[w>>2]=o;s=v-s|0;c[q>>2]=s;q=k+t|0;c[u>>2]=q;k=t-k|0;c[l>>2]=k;l=p+e|0;c[b>>2]=l;p=e-p|0;c[n>>2]=p;n=r+j|0;c[f>>2]=n;r=j-r|0;c[m>>2]=r;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=k+r|0;r=k-r|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}Gc=i;return a|0}function Il(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Jl(a,b,c,d,8)|0;f=(Jl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Jl(a,g,b,d,8)|0)+f|0;f=f+(Jl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Jl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=Gc;Gc=Gc+256|0;g=h;a=0;while(1){if((a|0)==8){a=0;e=0;break}i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}while(1){if((e|0)==8)break;w=g+(e<<2)|0;o=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=g+(e+16<<2)|0;s=c[o>>2]|0;j=g+(e+24<<2)|0;i=c[j>>2]|0;q=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;l=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+l|0;f=l-f|0;l=g+(e+48<<2)|0;m=c[l>>2]|0;k=g+(e+56<<2)|0;p=c[k>>2]|0;n=p+m|0;p=m-p|0;m=q+v|0;c[w>>2]=m;q=v-q|0;c[o>>2]=q;o=i+t|0;c[u>>2]=o;i=t-i|0;c[j>>2]=i;j=n+r|0;c[s>>2]=j;n=r-n|0;c[l>>2]=n;l=p+f|0;c[b>>2]=l;p=f-p|0;c[k>>2]=p;k=j+m|0;j=m-j|0;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=i+p|0;p=i-p|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;Gc=h;return a-((w|0)>-1?w:0-w|0)|0}function Kl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ll(a,b,c,d,8)|0;f=(Ll(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ll(a,g,b,d,8)|0)+f|0;f=f+(Ll(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=Gc;Gc=Gc+128|0;f=g;Xc[c[a+2964>>2]&255](f,b,d,e);Uc[c[a+2032>>2]&63](f);f=Mc[c[a+2372>>2]&31](f)|0;Gc=g;return f|0}function Ml(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Nl(a,b,c,d,8)|0;f=(Nl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Nl(a,g,b,d,8)|0)+f|0;f=f+(Nl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Nl(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Gc;Gc=Gc+128|0;h=i;Xc[c[a+2964>>2]&255](h,d,e,f);Uc[c[a+2032>>2]&63](h);g=0;a=0;while(1){if((g|0)==64)break;e=b[h+(g<<1)>>1]|0;f=e<<16>>16;f=e<<16>>16>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}Gc=i;return a|0}function Ol(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Pl(a,b,c,d,8)|0;f=(Pl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Pl(a,g,b,d,8)|0)+f|0;f=f+(Pl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Pl(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Gc;Gc=Gc+128|0;h=i;Xc[c[a+2964>>2]&255](h,d,e,f);g=0;while(1){if((g|0)==8){g=0;a=0;break}u=h+(g<<4)|0;y=b[u>>1]|0;f=h+(g<<4)+14|0;n=b[f>>1]|0;A=n+y|0;t=h+(g<<4)+2|0;x=b[t>>1]|0;a=h+(g<<4)+12|0;w=b[a>>1]|0;z=w+x|0;s=h+(g<<4)+4|0;m=b[s>>1]|0;l=h+(g<<4)+10|0;v=b[l>>1]|0;j=v+m|0;r=h+(g<<4)+6|0;d=b[r>>1]|0;o=h+(g<<4)+8|0;e=b[o>>1]|0;k=e+d|0;q=k+A|0;p=j+z|0;k=A-k|0;j=z-j|0;n=y-n|0;w=x-w|0;v=m-v|0;e=d-e|0;d=(n>>1)+n+w+v|0;m=n-e-((v>>1)+v)|0;n=n-w-(w>>1)+e|0;e=e+(w-v)+(e>>1)|0;b[u>>1]=q+p;b[t>>1]=(e>>>2)+d;b[s>>1]=k+(j>>>1);b[r>>1]=m+(n>>>2);b[o>>1]=q-p;b[l>>1]=n-(m>>>2);b[a>>1]=(k>>>1)-j;b[f>>1]=(d>>>2)-e;g=g+1|0}while(1){if((a|0)==8)break;w=b[h+(a<<1)>>1]|0;q=b[h+112+(a<<1)>>1]|0;n=q+w|0;u=b[h+16+(a<<1)>>1]|0;A=b[h+96+(a<<1)>>1]|0;o=A+u|0;y=b[h+32+(a<<1)>>1]|0;t=b[h+80+(a<<1)>>1]|0;x=t+y|0;s=b[h+48+(a<<1)>>1]|0;z=b[h+64+(a<<1)>>1]|0;r=z+s|0;p=r+n|0;v=x+o|0;r=n-r|0;x=o-x|0;q=w-q|0;A=u-A|0;t=y-t|0;z=s-z|0;s=(q>>1)+q+A+t|0;y=q-z-((t>>1)+t)|0;q=q-A-(A>>1)+z|0;z=z+(A-t)+(z>>1)|0;t=p+v|0;A=(z>>2)+s|0;u=r+(x>>1)|0;w=y+(q>>2)|0;v=p-v|0;y=q-(y>>2)|0;x=(r>>1)-x|0;z=(s>>2)-z|0;g=((t|0)>-1?t:0-t|0)+g+((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)+((w|0)>-1?w:0-w|0)+((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)+((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)|0;a=a+1|0}Gc=i;return g|0}function Ql(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73892+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73892+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Rl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73892+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73892+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Sl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73892+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73892+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73892+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Tl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ul(a,b,c,d,8)|0;f=(Ul(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ul(a,g,b,d,8)|0)+f|0;f=f+(Ul(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ul(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Gc;Gc=Gc+272|0;i=k;h=k+256|0;j=i+128|0;c[a+4304>>2]=0;Xc[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;c[a+16>>2]=Rc[c[a+6244>>2]&63](a,i,0,c[g>>2]|0,h)|0;Xc[c[a+6236>>2]&255](a,i,0,c[g>>2]|0);lm(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}Gc=k;return g|0}function Vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Wl(a,b,c,d,8)|0;f=(Wl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Wl(a,g,b,d,8)|0)+f|0;f=f+(Wl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Wl(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+272|0;p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4908>>2]|0;km(q,e,g);km(r,f,g);Xc[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=Rc[c[a+6244>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4304>>2]|0)==0;if(m){g=0;e=a+4932|0;f=a+4928|0;h=0}else{g=1;e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)>=(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){Xc[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}else{Xc[c[a+6232>>2]&255](a,p,0,c[k>>2]|0);break}while(0);Wc[c[a+2300>>2]&1023](r,8,p);a=Rc[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;Gc=s;return a|0}function Xl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Yl(a,b,c,d,8)|0;f=(Yl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Yl(a,g,b,d,8)|0)+f|0;f=f+(Yl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Yl(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Gc;Gc=Gc+144|0;l=o;m=o+128|0;n=c[a+4908>>2]|0;Xc[c[a+2964>>2]&255](l,e,f,g);k=Rc[c[a+6244>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4304>>2]|0)){e=a+4932|0;f=a+4928|0;h=0;g=0}else{e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)>=(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);Gc=o;return h|0}function Zl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function _l(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function $l(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function am(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function bm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function cm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function dm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function em(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function fm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function gm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function hm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(jm(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function im(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(jm(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function km(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function lm(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8){b=0;break}mm(a+(b<<3<<1)|0);b=b+1|0}while(1){if((b|0)==8)break;nm(a+(b<<1)|0);b=b+1|0}return}function mm(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function nm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;j=b[s>>1]|0;d=n+(H(j,-8867)|0)|0;r=n+(H(j,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;i=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(j*21407|0)+h|0;i=m?0:i;j=n+(j*8867|0)+i|0;i=d+i|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=i;g=l}else{g=f<<16>>16;h=(H(g,-8867)|0)+h|0;k=(g*21407|0)+i|0;j=(H(g,-21407)|0)+j|0;g=(g*8867|0)+l|0}i=a+112|0;f=b[i>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+j>>20;b[s>>1]=d+k>>20;b[p>>1]=c+h>>20;b[q>>1]=h-c>>20;b[r>>1]=k-d>>20;b[n>>1]=j-e>>20;b[i>>1]=g-f>>20;return}function om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Gc;Gc=Gc+16|0;b=qm(a,b,c)|0;if((b|0)<0)Te(a,16,208325,d);Gc=d;return b|0}function pm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+27016|0;g=c[i>>2]|0;f=c[a+27008>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+27012>>2]<<2|1)|0;b=a+29924|0;c[b>>2]=ug(e+g|0,17)|0;d=a+29928|0;c[d>>2]=ug((c[i>>2]|0)+e<<2,17)|0;e=a+29932|0;c[e>>2]=ug(h+16|0,17)|0;f=ug(H(g<<2,f)|0,17)|0;a=a+29936|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{Wf(b);Wf(d);Wf(e);Wf(a);a=-12}return a|0}function qm(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=Gc;Gc=Gc+16|0;f=j;e=a+28|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;a:do if(!(c[a+696>>2]&1))e=rm(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+68>>2]|0)){if(c[a+700>>2]|0)break;if((c[a+400>>2]|0)==10)break}Te(a,16,208353,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=yg(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}OW((c[i>>2]|0)+8|0)|0;g=a+700|0;if((c[g>>2]|0)==0?(c[a+400>>2]|0)!=10:0){f=i+184|0;OW(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;EY(e|0)|0;while(1){if((c[h>>2]|0)==1)break;Ab(e|0,f|0)|0}e=c[i+296>>2]|0;PW(f)|0}else e=rm(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+400>>2]|0)!=10:0)?(c[(c[a+12>>2]|0)+68>>2]|0)==0:0)Jh(a);if(e|0)zf(b+12|0);PW((c[i>>2]|0)+8|0)|0}while(0);Gc=j;return e|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Gc;Gc=Gc+16|0;d=sm(a,b,d)|0;if((d|0)<0){Te(a,16,208415,e);c[b+72>>2]=0;c[b+68>>2]=0}Gc=e;return d|0}function sm(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=Gc;Gc=Gc+16|0;i=m+8|0;e=m;j=c[a+592>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+92|0;g=a+96|0;f=a+872|0;if((Wg(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+112>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+680>>2]|0;n=0-(0-(c[a+100>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+104>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}Te(a,16,208480,i);e=-22;break}Te(a,16,208436,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=tm(a,b)|0;if((e|0)>=0){if(j){e=c[j+20>>2]|0;if(!e)l=18;else e=Oc[e&15](a,b)|0}else{c[a+768>>2]=c[a+112>>2];l=18}if((l|0)==18){e=Pc[c[a+400>>2]&15](a,b,d)|0;if((e|0)>=0){um(a,b);e=vm(b)|0}}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+116>>2]&16|0)==0:0){c[b+68>>2]=c[a+92>>2];c[b+72>>2]=c[a+96>>2]}if((e|0)<0)_f(b)}}Gc=m;return e|0}function tm(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=Gc;Gc=Gc+32|0;h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+28>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=oh(g,c[74916+(d<<3)>>2]|0,h)|0;if(e|0){f=Zg(b,c[74916+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}BY(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){xm(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+584|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+316>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+320>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+324>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+328>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+332>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+112>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+188|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a};c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((ym(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;Te(a,24,235012,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+344>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+352>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+376|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+348>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;Te(a,16,208644,k);d=-38;break a}d=Ug(d,e)|0;if((d|0)==(c[a+348>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{Te(a,16,208607,j);d=-22;break a}}else d=c[a+348>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);Gc=l;return d|0}function um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+32|0;i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=Ng(c[d>>2]|0)|0;d=ng(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=208523;c[g+4>>2]=187374;c[g+8>>2]=1782;Te(0,0,222432,g);Za()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)Te(a,16,208538,i);c[f>>2]=0;d=d+1|0}}while(0);Gc=j;return}function vm(a){a=a|0;var b=0,d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;b=a+400|0;zf(b);a=Lf(20)|0;c[d>>2]=a;do if(a){a=kg(a,20,25,0,1)|0;if(!a){Pe(d);a=-12;break}else{c[b>>2]=a;a=0;break}}else a=-12;while(0);Gc=e;return a|0}function wm(a,b){a=a|0;b=b|0;var d=0,e=0;e=Gc;Gc=Gc+16|0;d=e;c[d>>2]=b;a=c[b+8>>2]|0;if(a|0)Uc[a&63](c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0)Uc[a&63](c[b+12>>2]|0);Pe(d);Gc=e;return}function xm(a,b){a=a|0;b=b|0;var d=0,e=0;d=Gc;Gc=Gc+16|0;e=d;a=oh(a,13,e)|0;Am(a,c[e>>2]|0,b+344|0)|0;Gc=d;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0){d=(f|0)<(e|0);if((f|0)==0|(f|0)==(e|0))d=0;else{g=d?e:f;f=d?f:e;d=zm(d?a:b,0,f,((f|0)<0)<<31>>31,g,((g|0)<0)<<31>>31,0)|0;f=M()|0;d=(f|0)>0|(f|0)==0&d>>>0>0?0:-22}}else d=-22;return d|0}function zm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=mY(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=nY(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=zm(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=nY(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=qY(e|0,f|0,2,0)|0;h=M()|0}else{j=(g&1|0)==0;g=mY(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){l=vY(c|0,d|0,32)|0;k=M()|0;j=sY(l|0,k|0,a|0,0)|0;d=M()|0;i=sY(c|0,0,b|0,0)|0;i=mY(j|0,d|0,i|0,M()|0)|0;d=M()|0;c=sY(c|0,0,a|0,0)|0;c=mY(0,i|0,c|0,M()|0)|0;j=M()|0;a=sY(l|0,k|0,b|0,0)|0;a=mY(d|0,0,a|0,M()|0)|0;a=mY(a|0,M()|0,(j>>>0<i>>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=mY(g|0,h|0,c|0,j|0)|0;c=M()|0;b=mY(a|0,b|0,(c>>>0<h>>>0|(c|0)==(h|0)&j>>>0<g>>>0)&1|0,0)|0;a=63;g=M()|0;h=d;while(1){if((a|0)<=-1)break;d=wY(j|0,c|0,a|0)|0;M()|0;n=xY(b|0,g|0,1)|0;m=M()|0;n=d&1|n;d=xY(i|0,h|0,1)|0;l=M()|0;k=m>>>0<f>>>0|(m|0)==(f|0)&n>>>0<e>>>0;m=nY(n|0,m|0,(k?0:e)|0,(k?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=d|(k^1)&1;h=l}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=sY(c|0,d|0,a|0,b|0)|0;a=mY(g|0,h|0,a|0,M()|0)|0;a=qY(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=qY(a|0,b|0,e|0,f|0)|0;j=M()|0;a=tY(a|0,b|0,e|0,f|0)|0;a=sY(a|0,M()|0,c|0,d|0)|0;a=mY(a|0,M()|0,g|0,h|0)|0;a=qY(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=nY(-1,2147483647,a|0,b|0)|0,n=qY(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=sY(i|0,j|0,c|0,d|0)|0;a=mY(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function Am(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(SV(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=ah(d,e,c,0)|0;if((b|0)<0)break a;e=c+(SV(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Bm(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;f=j;h=j+8|0;d=c[a+28216>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?75:68;g=23;break a}else{e=h+4|0;d=(d|0)==2?72:62;g=23;break a}}case 10:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?77:70;g=23;break a}else{e=h+4|0;d=(d|0)==2?66:64;g=23;break a}}case 12:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?137:133;g=23;break a}else{e=h+4|0;d=(d|0)==2?129:125;g=23;break a}}case 14:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?139:135;g=23;break a}else{e=h+4|0;d=(d|0)==2?131:127;g=23;break a}}case 8:{e=c[d+12>>2]|0;if((e|0)==3){d=c[a+4>>2]|0;if(!(c[d+324>>2]|0)){e=h+4|0;d=73;g=23;break a}else{e=h+4|0;d=(c[d+328>>2]|0)==2?14:5;g=23;break a}}d=a+4|0;f=c[d>>2]|0;if((e|0)==2){e=h+4|0;d=(c[f+328>>2]|0)==2?13:4;g=23;break a}e=c[(c[f+12>>2]|0)+24>>2]|0;if(!e){e=h+4|0;d=(c[f+328>>2]|0)==2?12:0;g=23}else{i=e;e=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;Te(d,16,208821,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=d;i=h;d=a+4|0;g=24}b:do if((g|0)==24){c[e>>2]=-1;g=c[d>>2]|0;h=g+112|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=ML(g,i)|0}while(0);Gc=j;return d|0}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=sY(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=sY(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=nY(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=vY(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function Em(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function Fm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Gc;Gc=Gc+32|0;i=o+16|0;h=o;f=c[a+28216>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25668>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25672>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=209379;c[h+4>>2]=196236;c[h+8>>2]=878;Te(0,0,222432,h);Za()}if(n>>>0<=g>>>0){c[i>>2]=209433;c[i+4>>2]=196236;c[i+8>>2]=879;Te(0,0,222432,i);Za()}g=a+29664|0;i=c[g>>2]|0;h=a+29668|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+100>>2]=m;c[p+104>>2]=n;c[p+92>>2]=g;c[p+96>>2]=h;c[a+25720>>2]=b;c[a+25716>>2]=d;c[a+25724>>2]=e;c[a+25728>>2]=f;Gc=o;return}function Gm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=Gc;Gc=Gc+48|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=c[a+28216>>2]|0;l=a+4|0;i=c[l>>2]|0;h=e+100|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];Hm(i,j)|0;Im(c[(c[l>>2]|0)+112>>2]|0,a+25676|0,a+25680|0)|0;if(c[e+132>>2]|0){i=xY(c[e+140>>2]|0,0,(c[a+25704>>2]|0)>>>0<44|0)|0;j=M()|0;h=c[l>>2]|0;Jm(h+764|0,h+760|0,H(c[h+84>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}Vf(a);c[a+26384>>2]=0;c[a+29564>>2]=1;Km(a);b=Lm(a)|0;a:do if((b|0)<0){Te(c[l>>2]|0,16,208794,n);m=15}else{b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[(c[l>>2]|0)+676>>2]=d;c[a+29596>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29592>>2]=i;c[a+25664>>2]=(d|0)>8&1;c[a+27048>>2]=i;c[a+27044>>2]=d;Mm(a+16|0,d,i);Nm(a+152|0,c[e+1188>>2]|0);Om(a+184|0,c[b>>2]|0);Pm(a+25736|0,c[(c[l>>2]|0)+16>>2]|0,c[b>>2]|0,c[j>>2]|0);Qm(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+696>>2]&2)){b=Rm(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}Te(c[l>>2]|0,16,208847,g);m=15;break a}e=a+25632|0;f=a+25628|0;g=a+25732|0;h=a+27016|0;i=a+26400|0;j=a+26404|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=Rm(a,b)|0;if((b|0)<0)break;else d=d+1|0}Te(c[l>>2]|0,16,208847,k);m=15;break a}while(0);b=c[l>>2]|0;c[f>>2]=d;Te(b,16,208821,f);b=-1094995529;m=15}while(0);if((m|0)==15){Vf(a);d=0}c[a+25692>>2]=d;Gc=n;return b|0}function Hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Gc;Gc=Gc+16|0;d=f+8|0;e=f;h=c[a+92>>2]|0;g=c[a+96>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=ym(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;Te(a,24,209350,e);c[a+188>>2]=0;c[a+192>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+188|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}Gc=f;return d|0}function Im(a,b,e){a=a|0;b=b|0;e=e|0;a=ng(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function Jm(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=nY(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=nY(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=LL(j,k,l,m)|0;o=M()|0;if(!((n|0)==0&(o|0)==0)){d=qY(j|0,k|0,n|0,o|0)|0;e=M()|0;f=qY(l|0,m|0,n|0,o|0)|0;g=M()|0}w=(e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0;v=(g|0)>(i|0)|(g|0)==(i|0)&f>>>0>h>>>0;j=v|w;k=j?1:d;j=j?0:f;a:do if(!((f|0)==0&(g|0)==0|(v|w)^1)){w=0;v=1;while(1){m=qY(d|0,e|0,f|0,g|0)|0;l=M()|0;n=sY(m|0,l|0,f|0,g|0)|0;n=nY(d|0,e|0,n|0,M()|0)|0;o=M()|0;r=((k|0)<0)<<31>>31;p=sY(m|0,l|0,k|0,r|0)|0;s=((w|0)<0)<<31>>31;p=mY(p|0,M()|0,w|0,s|0)|0;z=M()|0;t=((j|0)<0)<<31>>31;q=sY(m|0,l|0,j|0,t|0)|0;u=((v|0)<0)<<31>>31;q=mY(q|0,M()|0,v|0,u|0)|0;y=M()|0;if((z|0)>(i|0)|(z|0)==(i|0)&p>>>0>h>>>0|((y|0)>(i|0)|(y|0)==(i|0)&q>>>0>h>>>0))break;if((n|0)==0&(o|0)==0){k=p;j=q;f=0;g=0;break a}else{e=g;d=f;v=j;w=k;k=p;j=q;f=n;g=o}}if(k){m=nY(h|0,i|0,w|0,s|0)|0;m=qY(m|0,M()|0,k|0,r|0)|0;l=M()|0}if(j){i=nY(h|0,i|0,v|0,u|0)|0;i=qY(i|0,M()|0,j|0,t|0)|0;z=M()|0;y=l>>>0>z>>>0|(l|0)==(z|0)&m>>>0>i>>>0;m=y?i:m;l=y?z:l}y=xY(j|0,t|0,1)|0;y=sY(y|0,M()|0,m|0,l|0)|0;y=mY(y|0,M()|0,v|0,u|0)|0;y=sY(y|0,M()|0,f|0,g|0)|0;h=M()|0;z=sY(d|0,e|0,j|0,t|0)|0;i=M()|0;if(h>>>0>i>>>0|(h|0)==(i|0)&y>>>0>z>>>0){j=sY(m|0,l|0,j|0,t|0)|0;j=mY(j|0,M()|0,v|0,u|0)|0;M()|0;k=sY(m|0,l|0,k|0,r|0)|0;k=mY(k|0,M()|0,w|0,s|0)|0;M()|0}}else{f=0;g=0}while(0);c[a>>2]=(x|0)<0?0-k|0:k;c[b>>2]=j;return (f|0)==0&(g|0)==0&1|0}function Km(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16){e=0;break}g=d[194328+e>>0]|0;a[b+26428+e>>0]=g<<2&12|g>>>2;g=d[209074+e>>0]|0;a[b+26572+e>>0]=g<<2&12|g>>>2;e=e+1|0}while(1){if((e|0)==64)break;g=d[194345+e>>0]|0;a[b+26444+e>>0]=g<<3&56|g>>>3;g=d[209091+e>>0]|0;a[b+26508+e>>0]=g<<3&56|g>>>3;g=d[209156+e>>0]|0;a[b+26588+e>>0]=g<<3&56|g>>>3;g=d[209221+e>>0]|0;a[b+26652+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26716|0;if(!(c[(c[b+28216>>2]|0)+16>>2]|0)){f=b+26428|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26732|0;f=b+26444|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26796|0;f=b+26508|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26860|0;f=b+26572|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26876|0;f=b+26588|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26940|0;f=b+26652|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{f=194328;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26732|0;f=194345;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26796|0;f=209091;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26860|0;f=209074;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26876|0;f=209156;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26940|0;f=209221;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}return}function Lm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Gc;Gc=Gc+96|0;r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27016|0;h=c[s>>2]|0;t=a+27008|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=hg(h,8)|0;c[a+25732>>2]=b;a:do if(!b){Te(c[a+4>>2]|0,16,208871,v);u=29}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=Lf(n*48|0)|0;c[a+25972>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){Te(c[a+4>>2]|0,16,208871,d);u=29;break}d=Lf((c[s>>2]|0)+n<<1)|0;k=a+28220|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){Te(c[a+4>>2]|0,16,208871,e);u=29;break}d=n<<1;e=Lf(d)|0;c[a+26392>>2]=e;if(!((d|0)==0|(e|0)!=0)){Te(c[a+4>>2]|0,16,208871,f);u=29;break}f=Lf(n)|0;c[a+26396>>2]=f;if(!(m|(f|0)!=0)){Te(c[a+4>>2]|0,16,208871,g);u=29;break}g=hg(h,16)|0;d=a+26400|0;c[d>>2]=g;if(!g){Te(c[a+4>>2]|0,16,208871,i);u=29;break}i=hg(h,16)|0;b=a+26404|0;c[b>>2]=i;if(!i){Te(c[a+4>>2]|0,16,208871,l);u=29;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=Lf(b)|0;c[a+26408>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){Te(c[a+4>>2]|0,16,208871,o);u=29;break}o=Lf(n)|0;c[a+26388>>2]=o;if(!(m|(o|0)!=0)){Te(c[a+4>>2]|0,16,208871,p);u=29;break}DY(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26372>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=Lf(b)|0;h=a+26360|0;c[h>>2]=p;if(!(d|(p|0)!=0)){Te(c[a+4>>2]|0,16,208871,q);u=29;break}g=Lf(b)|0;c[a+26364>>2]=g;if(!(d|(g|0)!=0)){Te(c[a+4>>2]|0,16,208871,r);u=29;break}f=a+27012|0;e=a+26368|0;d=0;while(1){if((d|0)<(c[t>>2]|0))b=0;else{b=0;break a}while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==29){Vf(a);b=-12}Gc=v;return b|0} |
| | | function gp(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+p>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function hp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=sY(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=sY(k|0,l|0,65537,65537)|0;h=M()|0;d=sY(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function ip(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=sY(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=sY(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function jp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function kp(a,b){a=a|0;b=b|0;jp(a,b);Fo(a,0,b);return}function lp(a,b){a=a|0;b=b|0;hp(a,b);Po(a,0,b);return}function mp(a,b){a=a|0;b=b|0;ip(a,b);a=a+(b<<2)|0;Qo(a,0,b);Qo(a+8|0,0,b);return}function np(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=sY(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=sY(m|0,n|0,65537,65537)|0;q=M()|0;m=sY(f|0,o|0,65537,65537)|0;n=M()|0;k=sY(r|0,s|0,65537,65537)|0;l=M()|0;i=sY(g|0,t|0,65537,65537)|0;j=M()|0;g=sY(u|0,v|0,65537,65537)|0;h=M()|0;d=sY(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function op(a,b){a=a|0;b=b|0;ip(a,b);ip(a+(b<<3)|0,b);return}function pp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function qp(a,b){a=a|0;b=b|0;pp(a,b);Fo(a,0,b);return}function rp(a,b){a=a|0;b=b|0;np(a,b);Po(a,0,b);return}function sp(a,b){a=a|0;b=b|0;op(a,b);a=a+(b<<2)|0;Qo(a,0,b);Qo(a+8|0,0,b);return}function tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function vp(a,b){a=a|0;b=b|0;op(a,b);Qo(a,0,b);Qo(a+8|0,0,b);return}function wp(a,b){a=a|0;b=b|0;ip(a,b);Qo(a,0,b);Qo(a+8|0,0,b);return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function yp(a,b){a=a|0;b=b|0;xp(a,b);xp(a+(b<<3)|0,b);return}function zp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Bp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Cp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function Dp(a,b){a=a|0;b=b|0;Wt(a,b);return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function Fp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Gp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Hp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function Ip(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Jp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Kp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}DY(d|0,0,256)|0;return}function Lp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}DY(d|0,0,256)|0;return}function Mp(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Gc;Gc=Gc+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}DY(d|0,0,256)|0;Gc=q;return}function Np(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Gc;Gc=Gc+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}DY(d|0,0,256)|0;Gc=k;return}function Op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ip(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Ip(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Ip(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Jp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Jp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Jp(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Tp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Vp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Wp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Xp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Yp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Zp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function _p(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function $p(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=sY(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function aq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;d=a+(d*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function bq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;d=a+(d*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function dq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;d=a+(d*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function eq(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function fq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=sY((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=sY((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=sY((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=sY((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=sY((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=sY((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=sY((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=sY((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function gq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function hq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function iq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function jq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function kq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function lq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function mq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function nq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=sY(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function oq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function sq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function tq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function uq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function vq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+p>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function wq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=sY(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=sY(k|0,l|0,65537,65537)|0;h=M()|0;d=sY(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function xq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=sY(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=sY(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function yq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function zq(a,b){a=a|0;b=b|0;yq(a,b);Up(a,0,b);return}function Aq(a,b){a=a|0;b=b|0;wq(a,b);cq(a,0,b);return}function Bq(a,b){a=a|0;b=b|0;xq(a,b);a=a+(b<<2)|0;dq(a,0,b);dq(a+8|0,0,b);return}function Cq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=sY(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=sY(m|0,n|0,65537,65537)|0;q=M()|0;m=sY(f|0,o|0,65537,65537)|0;n=M()|0;k=sY(r|0,s|0,65537,65537)|0;l=M()|0;i=sY(g|0,t|0,65537,65537)|0;j=M()|0;g=sY(u|0,v|0,65537,65537)|0;h=M()|0;d=sY(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Dq(a,b){a=a|0;b=b|0;xq(a,b);xq(a+(b<<3)|0,b);return}function Eq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Fq(a,b){a=a|0;b=b|0;Eq(a,b);Up(a,0,b);return}function Gq(a,b){a=a|0;b=b|0;Cq(a,b);cq(a,0,b);return}function Hq(a,b){a=a|0;b=b|0;Dq(a,b);a=a+(b<<2)|0;dq(a,0,b);dq(a+8|0,0,b);return}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function Kq(a,b){a=a|0;b=b|0;Dq(a,b);dq(a,0,b);dq(a+8|0,0,b);return}function Lq(a,b){a=a|0;b=b|0;xq(a,b);dq(a,0,b);dq(a+8|0,0,b);return}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function Nq(a,b){a=a|0;b=b|0;Mq(a,b);Mq(a+(b<<3)|0,b);return}function Oq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Qq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function Sq(a,b){a=a|0;b=b|0;Vt(a,b);return}function Tq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function Uq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Vq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function Xq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Yq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Zq(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}DY(d|0,0,256)|0;return}function _q(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}DY(d|0,0,256)|0;return}function $q(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Gc;Gc=Gc+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}DY(d|0,0,256)|0;Gc=q;return}function ar(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Gc;Gc=Gc+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}DY(d|0,0,256)|0;Gc=k;return}function br(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Xq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Xq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Xq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function dr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Yq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Yq(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Yq(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function gr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function hr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function ir(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function jr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function kr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function lr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function mr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function nr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function or(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=sY(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function pr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;d=a+(d*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function qr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;d=a+(d*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function sr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;d=a+(d*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function tr(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function ur(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=sY((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=sY((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=sY((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=sY((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=sY((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=sY((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=sY((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=sY((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function vr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function wr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function xr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function yr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function zr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Ar(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Br(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Cr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=sY(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Dr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Hr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Ir(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Jr(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Kr(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+p>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Lr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=sY(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=sY(k|0,l|0,65537,65537)|0;h=M()|0;d=sY(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Mr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=sY(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=sY(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Nr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Or(a,b){a=a|0;b=b|0;Nr(a,b);hr(a,0,b);return}function Pr(a,b){a=a|0;b=b|0;Lr(a,b);rr(a,0,b);return}function Qr(a,b){a=a|0;b=b|0;Mr(a,b);a=a+(b<<2)|0;sr(a,0,b);sr(a+8|0,0,b);return}function Rr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=sY(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=sY(m|0,n|0,65537,65537)|0;q=M()|0;m=sY(f|0,o|0,65537,65537)|0;n=M()|0;k=sY(r|0,s|0,65537,65537)|0;l=M()|0;i=sY(g|0,t|0,65537,65537)|0;j=M()|0;g=sY(u|0,v|0,65537,65537)|0;h=M()|0;d=sY(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Sr(a,b){a=a|0;b=b|0;Mr(a,b);Mr(a+(b<<3)|0,b);return}function Tr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Ur(a,b){a=a|0;b=b|0;Tr(a,b);hr(a,0,b);return}function Vr(a,b){a=a|0;b=b|0;Rr(a,b);rr(a,0,b);return}function Wr(a,b){a=a|0;b=b|0;Sr(a,b);a=a+(b<<2)|0;sr(a,0,b);sr(a+8|0,0,b);return}function Xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function Yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function Zr(a,b){a=a|0;b=b|0;Sr(a,b);sr(a,0,b);sr(a+8|0,0,b);return}function _r(a,b){a=a|0;b=b|0;Mr(a,b);sr(a,0,b);sr(a+8|0,0,b);return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function as(a,b){a=a|0;b=b|0;$r(a,b);$r(a+(b<<3)|0,b);return}function bs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function ds(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function es(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function fs(a,b){a=a|0;b=b|0;Ut(a,b);return}function gs(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function hs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function is(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function js(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function ks(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function ls(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function ms(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}DY(d|0,0,256)|0;return}function ns(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}DY(d|0,0,256)|0;return}function os(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Gc;Gc=Gc+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}DY(d|0,0,256)|0;Gc=q;return}function ps(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Gc;Gc=Gc+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}DY(d|0,0,256)|0;Gc=k;return}function qs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;ks(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function rs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}ks(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;ks(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ss(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}ls(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;ls(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function us(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function vs(a,b,e){a=a|0;b=b|0;e=e|0;c[a>>2]=H(d[a+-1>>0]|0,16843009)|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;b=e<<1;c[a+b>>2]=H(d[a+(b+-1)>>0]|0,16843009)|0;e=e*3|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;return}function ws(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function xs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[b+(1-e)>>0]|0;h=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+2+h+(l<<1)|0)>>>2;c=(l+2+k+(h<<1)|0)>>>2&255;a[b+e>>0]=c;a[b+1>>0]=c;c=(h+2+j+(k<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+2+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function ys(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=d[b+~e>>0]|0;h=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;k=d[b+-1>>0]|0;n=d[b+(e+-1)>>0]|0;j=e<<1;i=d[b+(j+-1)>>0]|0;l=e*3|0;a[b+l>>0]=(n+2+(d[b+(l+-1)>>0]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&255;a[b+(l+1)>>0]=i;a[b+j>>0]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&255;a[b+(l+2)>>0]=n;a[b+(j|1)>>0]=n;a[b+e>>0]=n;k=((m<<1)+2+h+k|0)>>>2&255;a[b+(l+3)>>0]=k;a[b+(j+2)>>0]=k;a[b+(e+1)>>0]=k;a[b>>0]=k;i=(i+(h<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+2+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function zs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;o=(j+1+n|0)>>>1&255;a[b+(i|1)>>0]=o;a[b>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(i+2)>>0]=o;a[b+1>>0]=o;o=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=o;a[b+2>>0]=o;a[b+3>>0]=(l+1+k|0)>>>1;o=((j<<1)+2+n+h|0)>>>2&255;a[b+(c+1)>>0]=o;a[b+e>>0]=o;j=j+2|0;o=(j+(n<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+2+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function As(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;o=(k+1+j|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=((k<<1)+2+n+j|0)>>>2&255;a[b+(e+3)>>0]=o;a[b+1>>0]=o;k=k+2|0;a[b+2>>0]=(k+(n<<1)+m|0)>>>2;a[b+3>>0]=(n+2+(m<<1)+l|0)>>>2;l=(j+1+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Bs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d[b+(0-e)>>0]|0;k=d[b+(1-e)>>0]|0;j=d[b+(2-e)>>0]|0;i=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;a[b>>0]=(l+1+k|0)>>>1;m=(k+1+j|0)>>>1&255;c=e<<1;a[b+c>>0]=m;a[b+1>>0]=m;m=(j+1+i|0)>>>1&255;a[b+(c|1)>>0]=m;a[b+2>>0]=m;m=(i+1+h|0)>>>1&255;a[b+(c+2)>>0]=m;a[b+3>>0]=m;a[b+(c+3)>>0]=(h+1+g|0)>>>1;a[b+e>>0]=(l+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(e+1)>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Cs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d[b+-1>>0]|0;j=d[b+(e+-1)>>0]|0;c=e<<1;i=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;a[b>>0]=(k+1+j|0)>>>1;a[b+1>>0]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&255;a[b+e>>0]=k;a[b+2>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=(i+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+2+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function Ds(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Es(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function Fs(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function Gs(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Hs(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function Is(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=d[b+(0-g)>>0]|0;n=d[b+(1-g)>>0]|0;h=d[b+(2-g)>>0]|0;m=d[b+(3-g)>>0]|0;l=d[b+(4-g)>>0]|0;k=d[b+(5-g)>>0]|0;j=d[b+(6-g)>>0]|0;i=d[b+(7-g)>>0]|0;f=(j+2+(d[b+((f|0?8:7)-g)>>0]|0)+(i<<1)|0)>>>2;a[b>>0]=((d[b+((((e|0)!=0)<<31>>31)-g)>>0]|0)+2+(o<<1)+n|0)>>>2;a[b+1>>0]=(o+2+(n<<1)+h|0)>>>2;a[b+2>>0]=(n+2+(h<<1)+m|0)>>>2;a[b+3>>0]=(h+2+(m<<1)+l|0)>>>2;h=b+4|0;a[h>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+5>>0]=(l+2+(k<<1)+j|0)>>>2;a[b+6>>0]=(k+2+(j<<1)+i|0)>>>2;a[b+7>>0]=f;f=c[b>>2]|0;h=c[h>>2]|0;e=1;while(1){if((e|0)==8)break;o=b+(H(e,g)|0)|0;c[o>>2]=f;c[o+4>>2]=h;e=e+1|0}return}function Js(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;r=d[a+-1>>0]|0;p=d[a+(f+-1)>>0]|0;q=f<<1;n=d[a+(q+-1)>>0]|0;o=f*3|0;l=d[a+(o+-1)>>0]|0;m=f<<2;j=d[a+(m+-1)>>0]|0;k=f*5|0;h=d[a+(k+-1)>>0]|0;i=f*6|0;g=d[a+(i+-1)>>0]|0;b=f*7|0;e=d[a+(b+-1)>>0]|0;s=H((s+2+(r<<1)+p|0)>>>2,16843009)|0;c[a>>2]=s;c[a+4>>2]=s;r=H((r+2+(p<<1)+n|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=r;c[f+4>>2]=r;p=H((p+2+(n<<1)+l|0)>>>2,16843009)|0;f=a+q|0;c[f>>2]=p;c[f+4>>2]=p;n=H((n+2+(l<<1)+j|0)>>>2,16843009)|0;f=a+o|0;c[f>>2]=n;c[f+4>>2]=n;l=H((l+2+(j<<1)+h|0)>>>2,16843009)|0;f=a+m|0;c[f>>2]=l;c[f+4>>2]=l;j=H((j+2+(h<<1)+g|0)>>>2,16843009)|0;f=a+k|0;c[f>>2]=j;c[f+4>>2]=j;h=H((h+2+(g<<1)+e|0)>>>2,16843009)|0;f=a+i|0;c[f>>2]=h;c[f+4>>2]=h;e=H((g+2+(e*3|0)|0)>>>2,16843009)|0;f=a+b|0;c[f>>2]=e;c[f+4>>2]=e;return} |
| | | function UE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;s=b[g+-16>>1]|0;q=b[g>>1]|0;r=q+10230|0;f=b[g+16>>1]|0;p=f+10230|0;n=(b[g+32>>1]|0)+10230|0;l=(b[g+48>>1]|0)+10230|0;k=(b[g+64>>1]|0)+10230|0;m=(b[g+80>>1]|0)+10230|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(i<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(d<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(j<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function VE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function WE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function XE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function YE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function ZE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function _E(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function $E(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function aF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function bF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function cF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function dF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function eF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function fF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=vE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function gF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=AE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;f=f+1|0;a=a+e|0;b=b+e|0}return}function hF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=vE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function iF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=vE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function jF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=vE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function kF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function lF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function mF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<512?L:0-L>>31&511;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;f=f+2|0;d=d+2|0}return}function nF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=vE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=vE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=vE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function oF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function pF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function qF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;K=d[c+t>>0]|0;J=d[c>>0]|0;I=d[c+f>>0]|0;G=d[c+u>>0]|0;F=d[c+v>>0]|0;E=d[c+w>>0]|0;D=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;L=(d[c+s>>0]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[b>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[b+e>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[b+m>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+16+y+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;a[b+n>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+16+A+((D+E|0)*20|0)+(H(y+F|0,-5)|0)>>5;a[b+o>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+16+B+((y+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;a[b+p>>0]=F>>>0>255?(F^-2147483648)>>31:F;E=E+16+z+((A+y|0)*20|0)+(H(B+D|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+16+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function rF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;c[n>>2]=AE(q,AE(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;c[k>>2]=AE(n,AE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;j=j+1|0}return}function sF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function tF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function uF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<1024?L:0-L>>31&1023;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<1024?K:0-K>>31&1023;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<1024?F:0-F>>31&1023;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;f=f+2|0;d=d+2|0}return}function vF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=vE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=vE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=vE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function wF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function xF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function yF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;f=f+2|0;d=d+2|0}return}function zF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=vE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=vE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=vE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function AF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function BF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function CF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;f=f+2|0;d=d+2|0}return}function DF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=vE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=vE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=vE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=vE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function EF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;K=b[h+(f<<1)>>1]|0;J=b[h>>1]|0;I=b[h+(g<<1)>>1]|0;G=b[h+(l<<1)>>1]|0;F=b[h+(m<<1)>>1]|0;E=b[h+(n<<1)>>1]|0;D=b[h+(o<<1)>>1]|0;c=b[h+(p<<1)>>1]|0;a=b[h+(q<<1)>>1]|0;B=b[h+(r<<1)>>1]|0;A=b[h+(s<<1)>>1]|0;C=b[h+(t<<1)>>1]|0;L=(b[h+(k<<1)>>1]|0)+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[j>>1]=L>>>0<512?L:0-L>>31&511;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[j+(d<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+512+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[j+(u<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+512+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[j+(v<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+512+a+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;b[j+(w<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+512+B+((c+D|0)*20|0)+(H(a+E|0,-5)|0)>>10;b[j+(x<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+512+A+((a+c|0)*20|0)+(H(B+D|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+512+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+2|0;h=h+2|0;i=i+1|0}return}function FF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;L=b[f+(l<<1)>>1]|0;K=b[f>>1]|0;J=b[f+(h<<1)>>1]|0;I=b[f+(m<<1)>>1]|0;G=b[f+(n<<1)>>1]|0;F=b[f+(o<<1)>>1]|0;E=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;M=(b[f+(i<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[k>>0]=M>>>0>255?(M^-2147483648)>>31:M;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[k+g>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[k+v>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+512+B+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;a[k+w>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+512+c+((E+F|0)*20|0)+(H(B+G|0,-5)|0)>>10;a[k+x>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+512+C+((B+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;a[k+y>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+512+e+((c+B|0)*20|0)+(H(C+E|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+512+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function GF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;Q=b[h+(f<<1)>>1]|0;O=b[h>>1]|0;P=O+10230|0;M=b[h+(g<<1)>>1]|0;N=M+10230|0;K=b[h+(l<<1)>>1]|0;L=K+10230|0;I=b[h+(m<<1)>>1]|0;J=I+10230|0;F=b[h+(n<<1)>>1]|0;G=F+10230|0;D=b[h+(o<<1)>>1]|0;E=D+10230|0;c=(b[h+(p<<1)>>1]|0)+10230|0;a=(b[h+(q<<1)>>1]|0)+10230|0;B=(b[h+(r<<1)>>1]|0)+10230|0;A=(b[h+(s<<1)>>1]|0)+10230|0;C=b[h+(t<<1)>>1]|0;R=(b[h+(k<<1)>>1]|0)+10742+J+((N+P|0)*20|0)+(H(L+(Q+10230)|0,-5)|0)>>10;b[j>>1]=R>>>0<1024?R:0-R>>31&1023;P=Q+10742+G+((L+N|0)*20|0)+(H(J+P|0,-5)|0)>>10;b[j+(d<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;N=O+10742+E+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[j+(u<<1)>>1]=N>>>0<1024?N:0-N>>31&1023;L=M+10742+c+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[j+(v<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>10;b[j+(w<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+10742+B+((c+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[j+(x<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+10742+A+((a+c|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+20972+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+2|0;h=h+2|0;i=i+1|0}return}function HF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<4096?M:0-M>>31&4095;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;k=k+2|0;i=i+4|0;j=j+1|0}return}function IF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<16384?M:0-M>>31&16383;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;k=k+2|0;i=i+4|0;j=j+1|0}return}function JF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;L=b[h+(f<<1)>>1]|0;K=b[h>>1]|0;J=b[h+(g<<1)>>1]|0;I=b[h+(l<<1)>>1]|0;G=b[h+(m<<1)>>1]|0;F=b[h+(n<<1)>>1]|0;E=b[h+(o<<1)>>1]|0;A=b[h+(p<<1)>>1]|0;B=b[h+(q<<1)>>1]|0;C=b[h+(r<<1)>>1]|0;a=b[h+(s<<1)>>1]|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=j+(d<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(u<<1)|0;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;J=J+512+A+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;I=I+512+B+((E+F|0)*20|0)+(H(A+G|0,-5)|0)>>10;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;G=G+512+C+((A+E|0)*20|0)+(H(B+F|0,-5)|0)>>10;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=F+512+a+((B+A|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+512+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function KF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;M=b[f+(l<<1)>>1]|0;L=b[f>>1]|0;K=b[f+(h<<1)>>1]|0;J=b[f+(m<<1)>>1]|0;I=b[f+(n<<1)>>1]|0;G=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;B=(b[f+(i<<1)>>1]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[B>>0]=((d[B>>0]|0)+1+((M>>>0>255?(M^-2147483648)>>31:M)&255)|0)>>>1;B=k+v|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?(L^-2147483648)>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;K=K+512+e+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[B>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;J=J+512+C+((F+G|0)*20|0)+(H(e+I|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;I=I+512+D+((e+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;a[B>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=G+512+c+((C+e|0)*20|0)+(H(D+F|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+512+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function LF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;R=b[h+(f<<1)>>1]|0;P=b[h>>1]|0;Q=P+10230|0;N=b[h+(g<<1)>>1]|0;O=N+10230|0;L=b[h+(l<<1)>>1]|0;M=L+10230|0;J=b[h+(m<<1)>>1]|0;K=J+10230|0;G=b[h+(n<<1)>>1]|0;I=G+10230|0;E=b[h+(o<<1)>>1]|0;F=E+10230|0;A=(b[h+(p<<1)>>1]|0)+10230|0;B=(b[h+(q<<1)>>1]|0)+10230|0;C=(b[h+(r<<1)>>1]|0)+10230|0;a=(b[h+(s<<1)>>1]|0)+10230|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+10742+K+((O+Q|0)*20|0)+(H(M+(R+10230)|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=j+(d<<1)|0;Q=R+10742+I+((M+O|0)*20|0)+(H(K+Q|0,-5)|0)>>10;b[c>>1]=((e[c>>1]|0)+1+(Q>>>0<1024?Q:0-Q>>31&1023)|0)>>>1;c=j+(u<<1)|0;O=P+10742+F+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[c>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;M=N+10742+A+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[c>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(A+K|0,-5)|0)>>10;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;I=J+10742+C+((A+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=G+10742+a+((B+A|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+20972+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<1024?A:0-A>>31&1023)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function MF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<4096?M:0-M>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function NF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<16384?M:0-M>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function OF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function PF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;L=d[c+t>>0]|0;K=d[c>>0]|0;J=d[c+f>>0]|0;I=d[c+u>>0]|0;G=d[c+v>>0]|0;F=d[c+w>>0]|0;E=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;y=(d[c+s>>0]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[y>>0]=((d[y>>0]|0)+1+((L>>>0>255?(L^-2147483648)>>31:L)&255)|0)>>>1;y=b+m|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;J=J+16+z+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[y>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;I=I+16+B+((E+F|0)*20|0)+(H(z+G|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;G=G+16+C+((z+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;a[y>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=F+16+A+((B+z|0)*20|0)+(H(C+E|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+16+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function QF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<1024?L:0-L>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<1024?G:0-G>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function RF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function SF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function TF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function UF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function VF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function WF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function XF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function YF(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=vE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=vE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function ZF(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=AE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;h=a+4|0;i=b+4|0;c[h>>2]=AE(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;g=g+1|0;a=a+e|0;b=b+e|0}return}function _F(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=vE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=vE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function $F(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=vE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=vE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function aG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=vE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=vE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;kF(a,b,c,d);kF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;kF(a,b,c,d);kF(a+16|0,b+16|0,c,d);return}function cG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function dG(a,b,c){a=a|0;b=b|0;c=c|0;mF(a,b,c,32);mF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;mF(a,b+256|0,c,32);mF(a+16|0,b+272|0,c,32);return}function eG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;nF(a,b,c,d,e,32,16);nF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;oF(a,b,c,d);oF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;oF(a,b,c,d);oF(a+8|0,b+8|0,c,d);return}function gG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function hG(a,b,c){a=a|0;b=b|0;c=c|0;qF(a,b,c,16);qF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;qF(a,b+128|0,c,16);qF(a+8|0,b+136|0,c,16);return}function iG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;rF(a,b,c,d,e,16,16);rF(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function jG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;sF(a,b,c,d);sF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;sF(a,b,c,d);sF(a+16|0,b+16|0,c,d);return}function kG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function lG(a,b,c){a=a|0;b=b|0;c=c|0;uF(a,b,c,32);uF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;uF(a,b+256|0,c,32);uF(a+16|0,b+272|0,c,32);return}function mG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vF(a,b,c,d,e,32,16);vF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function nG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wF(a,b,c,d);wF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;wF(a,b,c,d);wF(a+16|0,b+16|0,c,d);return}function oG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function pG(a,b,c){a=a|0;b=b|0;c=c|0;yF(a,b,c,32);yF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;yF(a,b+256|0,c,32);yF(a+16|0,b+272|0,c,32);return}function qG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zF(a,b,c,d,e,32,16);zF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function rG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;AF(a,b,c,d);AF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;AF(a,b,c,d);AF(a+16|0,b+16|0,c,d);return}function sG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function tG(a,b,c){a=a|0;b=b|0;c=c|0;CF(a,b,c,32);CF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;CF(a,b+256|0,c,32);CF(a+16|0,b+272|0,c,32);return}function uG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;DF(a,b,c,d,e,32,16);DF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function vG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;EF(a,b,c,d,32,e);f=b+16|0;EF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;EF(a,b,c,d,32,e);EF(a+16|0,f,c+16|0,d,32,e);return}function wG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;FF(a,b,c,d,16,e);f=b+16|0;FF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;FF(a,b,c,d,16,e);FF(a+8|0,f,c+8|0,d,16,e);return}function xG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;GF(a,b,c,d,32,e);f=b+16|0;GF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;GF(a,b,c,d,32,e);GF(a+16|0,f,c+16|0,d,32,e);return}function yG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;HF(a,b,c,d,32,e);f=b+32|0;HF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;HF(a,b,c,d,32,e);HF(a+16|0,f,c+16|0,d,32,e);return}function zG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;IF(a,b,c,d,32,e);f=b+32|0;IF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;IF(a,b,c,d,32,e);IF(a+16|0,f,c+16|0,d,32,e);return}function AG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;JF(a,b,c,d,32,e);f=b+16|0;JF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;JF(a,b,c,d,32,e);JF(a+16|0,f,c+16|0,d,32,e);return}function BG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;KF(a,b,c,d,16,e);f=b+16|0;KF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;KF(a,b,c,d,16,e);KF(a+8|0,f,c+8|0,d,16,e);return}function CG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;LF(a,b,c,d,32,e);f=b+16|0;LF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;LF(a,b,c,d,32,e);LF(a+16|0,f,c+16|0,d,32,e);return}function DG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;MF(a,b,c,d,32,e);f=b+32|0;MF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;MF(a,b,c,d,32,e);MF(a+16|0,f,c+16|0,d,32,e);return}function EG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;NF(a,b,c,d,32,e);f=b+32|0;NF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;NF(a,b,c,d,32,e);NF(a+16|0,f,c+16|0,d,32,e);return}function FG(a,b,c){a=a|0;b=b|0;c=c|0;OF(a,b,c,32);OF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;OF(a,b+256|0,c,32);OF(a+16|0,b+272|0,c,32);return}function GG(a,b,c){a=a|0;b=b|0;c=c|0;PF(a,b,c,16);PF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;PF(a,b+128|0,c,16);PF(a+8|0,b+136|0,c,16);return}function HG(a,b,c){a=a|0;b=b|0;c=c|0;QF(a,b,c,32);QF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;QF(a,b+256|0,c,32);QF(a+16|0,b+272|0,c,32);return}function IG(a,b,c){a=a|0;b=b|0;c=c|0;RF(a,b,c,32);RF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;RF(a,b+256|0,c,32);RF(a+16|0,b+272|0,c,32);return}function JG(a,b,c){a=a|0;b=b|0;c=c|0;SF(a,b,c,32);SF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;SF(a,b+256|0,c,32);SF(a+16|0,b+272|0,c,32);return}function KG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;TF(a,b,c,d);TF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;TF(a,b,c,d);TF(a+16|0,b+16|0,c,d);return}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;UF(a,b,c,d);UF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;UF(a,b,c,d);UF(a+8|0,b+8|0,c,d);return}function MG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;VF(a,b,c,d);VF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;VF(a,b,c,d);VF(a+16|0,b+16|0,c,d);return}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;WF(a,b,c,d);WF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;WF(a,b,c,d);WF(a+16|0,b+16|0,c,d);return}function OG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;XF(a,b,c,d);XF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;XF(a,b,c,d);XF(a+16|0,b+16|0,c,d);return}function PG(a,b,c){a=a|0;b=b|0;c=c|0;YF(a,b,c,16);YF(a+16|0,b+16|0,c,16);return}function QG(a,b,c){a=a|0;b=b|0;c=c|0;ZF(a,b,c,16);ZF(a+8|0,b+8|0,c,16);return}function RG(a,b,c){a=a|0;b=b|0;c=c|0;_F(a,b,c,16);_F(a+16|0,b+16|0,c,16);return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;$F(a,b,c,16);$F(a+16|0,b+16|0,c,16);return}function TG(a,b,c){a=a|0;b=b|0;c=c|0;aG(a,b,c,16);aG(a+16|0,b+16|0,c,16);return}function UG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function VG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function WG(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function XG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=vE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function YG(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function ZG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return}function _G(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function $G(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=c+(H(h,g)|0)|0;i=e+(h<<1)|0;b[a+(H(h,f)|0)>>1]=AE((d[j>>0]|d[j+1>>0]<<8)&65535,(d[i>>0]|d[i+1>>0]<<8)&65535)|0;h=h+1|0}return}function aH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function bH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function cH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function dH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=vE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function eH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function fH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function gH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function hH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=vE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function iH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function jH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function kH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function lH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=vE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function mH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=b[g>>1]|0;l=b[g+8>>1]|0;k=b[g+16>>1]|0;m=b[g+24>>1]|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[a>>1]=j>>>0<512?j:0-j>>31&511;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function nH(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function oH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=(b[g>>1]|0)+10230|0;l=(b[g+8>>1]|0)+10230|0;k=(b[g+16>>1]|0)+10230|0;m=(b[g+24>>1]|0)+10230|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(f+10230)|0,-5)|0)>>10;b[a>>1]=j>>>0<1024?j:0-j>>31&1023;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function pH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<4096?g:0-g>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function qH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<16384?g:0-g>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function rH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function sH(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function tH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function uH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function vH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function wH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=vE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function xH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;c[a+(H(h,f)|0)>>2]=AE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=h+1|0}return}function yH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=vE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function zH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=vE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function AH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=vE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function BH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function CH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function DH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function EH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function FH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function GH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function HH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;o=b+m|0;l=H(j,h)|0;n=e+l|0;k=H(j,f)|0;c[a+k>>2]=AE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;m=b+(m+4)|0;l=e+(l+4)|0;c[a+(k+4)>>2]=AE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;j=j+1|0}return}function IH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return} |
| | | function YT(b){b=b|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,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=Gc;Gc=Gc+464|0;t=A;v=A+400|0;y=b+14|0;i=a[y>>0]|0;w=i&255;a[b+282>>0]=(d[b+90>>0]|0)-w;u=b+18|0;a[b+283>>0]=(d[(d[u>>0]|0)+(b+90)>>0]|0)-w;a[b+20>>0]=1;w=b+12020|0;x=v+1|0;e=1;while(1){DY(t|0,0,400)|0;g=x;h=g+63|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));a[v>>0]=i;k=a[w>>0]|0;if(k<<24>>24){h=1;g=1;while(1){s=g+-1|0;a[v+g>>0]=(d[b+12021+s>>0]|0)+(d[v+s>>0]|0);g=h+1<<24>>24;if((g&255)>(k&255))break;else{h=g;g=g&255}}}i=a[u>>0]|0;h=0;g=0;while(1){c[t+(g<<2)>>2]=d[b+90+g>>0];g=h+1<<24>>24;if((g&255)>(i&255))break;else{h=g;g=g&255}}if((k&255)>1){i=i&255;g=k&255;h=1;do{c[t+(h+i<<2)>>2]=d[v+h>>0];h=h+1|0}while(h>>>0<g>>>0);h=i}else{h=i&255;g=k&255}AV(t,h+g|0,4,12);g=(d[w>>0]|0)+255+(d[u>>0]|0)|0;h=g&255;if(g&128|0)break;g=g<<24;a:do if((g|0)<16777216)i=g>>24;else{s=131968+(e+-1<<2)|0;q=1;r=1;do{n=t+(r+-1<<2)|0;o=t+(r<<2)|0;p=t+((q&255)<<2)|0;while(1){m=c[n>>2]|0;if(!m)j=0.0;else j=+(c[o>>2]|0)/+(m|0);if(!(j<+f[s>>2]))break;k=c[o>>2]|0;if((k|0)!=(m|0)){l=a[w>>0]|0;g=0;i=0;do{g=(k|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24){g=0;i=0;do{g=(m|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24)break;m=d[u>>0]|0;c[n>>2]=d[b+90+m>>0];AV(t,m+(l&255)|0,4,12)}else z=24}else z=24;if((z|0)==24){z=0;c[p>>2]=d[(d[u>>0]|0)+(b+90)>>0];AV(t,h<<24>>24,4,12)}h=h+-1<<24>>24;i=h<<24>>24;if((r|0)>(i|0))break a}q=q+1<<24>>24;r=q&255;i=h<<24>>24}while((r|0)<=(i|0))}while(0);a[b+20+e>>0]=h;if((i|0)>=0){g=0;h=0;do{a[b+282+(e<<6)+h>>0]=(c[t+(h<<2)>>2]|0)-(d[y>>0]|0);g=g+1<<24>>24;h=g&255}while((i|0)>=(h|0))}e=e+1|0;if(e>>>0>=4){z=32;break}i=a[y>>0]|0}if((z|0)==32){Gc=A;return}Gc=A;return}function ZT(a,d,e){a=a|0;d=d|0;e=e|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.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=Gc;Gc=Gc+4096|0;y=z;j=c[a+8>>2]|0;k=b[a>>1]|0;l=(k&65535)>>>1;g=(k&65535)>>>2;k=(k&65535)>>>3;x=g&65535;g=g<<16>>16==0;if(!g){h=(l&65535)+-1|0;i=0;do{w=i<<1;B=+f[d+(w<<2)>>2];D=+f[d+(h-w<<2)>>2];C=+f[j+(i<<3)>>2];A=+f[j+(i<<3)+4>>2];f[y+(i<<3)+4>>2]=B*C+D*A;f[y+(i<<3)>>2]=D*C-B*A;i=i+1|0}while(i>>>0<x>>>0);kS(c[a+4>>2]|0,y);if(!g){a=0;do{w=y+(a<<3)|0;A=+f[w>>2];v=y+(a<<3)+4|0;C=+f[v>>2];B=+f[j+(a<<3)>>2];D=+f[j+(a<<3)+4>>2];f[v>>2]=C*B+A*D;f[w>>2]=A*B-C*D;a=a+1|0}while(a>>>0<x>>>0)}}else kS(c[a+4>>2]|0,y);w=k&65535;if(!(k<<16>>16)){Gc=z;return}o=w+1|0;p=w+-1|0;q=w+-2|0;r=x+2|0;s=x+-1|0;t=x+1|0;u=x+-2|0;v=x+3|0;g=l&65535;h=g+2|0;i=g+1|0;j=g+3|0;k=g+x|0;l=k+2|0;m=k+1|0;n=k+3|0;d=0;a=0;while(1){K=a+w|0;E=a<<1;c[e+(E<<2)>>2]=c[y+(K<<3)+4>>2];J=o+a|0;c[e+(E+2<<2)>>2]=c[y+(J<<3)+4>>2];I=p+d|0;f[e+((E|1)<<2)>>2]=-+f[y+(I<<3)>>2];H=q+d|0;f[e+(E+3<<2)>>2]=-+f[y+(H<<3)>>2];c[e+(E+x<<2)>>2]=c[y+(a<<3)>>2];G=a+1|0;c[e+(r+E<<2)>>2]=c[y+(G<<3)>>2];F=s+d|0;f[e+(t+E<<2)>>2]=-+f[y+(F<<3)+4>>2];d=u+d|0;f[e+(v+E<<2)>>2]=-+f[y+(d<<3)+4>>2];c[e+(E+g<<2)>>2]=c[y+(K<<3)>>2];c[e+(h+E<<2)>>2]=c[y+(J<<3)>>2];f[e+(i+E<<2)>>2]=-+f[y+(I<<3)+4>>2];f[e+(j+E<<2)>>2]=-+f[y+(H<<3)+4>>2];f[e+(E+k<<2)>>2]=-+f[y+(a<<3)+4>>2];f[e+(l+E<<2)>>2]=-+f[y+(G<<3)+4>>2];c[e+(m+E<<2)>>2]=c[y+(F<<3)>>2];c[e+(n+E<<2)>>2]=c[y+(d<<3)>>2];a=a+2&65535;if(a>>>0<w>>>0)d=0-a|0;else break}Gc=z;return}function _T(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Gc;Gc=Gc+8192|0;s=u;DY(s|0,0,8192)|0;r=j&65535;o=(j&65535)>>>3;q=o&65535;l=(r-q|0)/2|0;if(b<<24>>24==2)_(246916,246956,353,246967);k=d&255;if(i<<24>>24==23){d=a+16+(k<<2)|0;i=a+16+((e&255)<<2)|0;m=0;n=0}else{m=e&255;d=a+(k<<2)|0;i=a+(m<<2)|0;m=c[a+8+(m<<2)>>2]|0;n=c[a+8+(k<<2)>>2]|0}p=c[d>>2]|0;k=c[i>>2]|0;switch(b<<24>>24){case 0:{e=r+-1|0;d=e&65535;if(d<<16>>16>-1){i=e<<16>>16;while(1){f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];q=i+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(e-i<<2)>>2];i=d+-1<<16>>16;if(i<<16>>16>-1){d=i;i=i<<16>>16}else break}}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=16;break}case 240:case 256:{d=a+24|0;t=16;break}case 960:case 1024:{d=a+28|0;t=16;break}default:d=0}if((t|0)==16)d=c[d>>2]|0;aU(d,s,h);Gc=u;return}case 1:{if(j<<16>>16){d=0;i=0;do{f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(r|0))}l=l&65535;b=(l|0)==0;if(!b){d=0;i=0;do{p=i+r|0;c[s+(p<<2)>>2]=c[g+(p<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((l|0)>(i|0))}if(o<<16>>16){i=l+r|0;e=q+-1|0;d=0;k=0;do{p=i+k|0;f[s+(p<<2)>>2]=+f[g+(p<<2)>>2]*+f[n+(e-k<<2)>>2];d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(q|0))}if(!b){i=q+r+l|0;d=0;e=0;do{f[s+(i+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=31;break}case 240:case 256:{d=a+24|0;t=31;break}case 960:case 1024:{d=a+28|0;t=31;break}default:d=0}if((t|0)==31)d=c[d>>2]|0;aU(d,s,h);Gc=u;return}case 3:{k=l&65535;e=(k|0)==0;if(!e){d=0;i=0;do{f[s+(i<<2)>>2]=0.0;d=d+1<<16>>16;i=d<<16>>16}while((k|0)>(i|0))}if(o<<16>>16){d=0;i=0;do{o=i+k|0;f[s+(o<<2)>>2]=+f[g+(o<<2)>>2]*+f[m+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(q|0))}if(!e){i=k+q|0;d=0;e=0;do{q=i+e|0;c[s+(q<<2)>>2]=c[g+(q<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((k|0)>(e|0))}if(j<<16>>16){i=r+-1|0;d=0;e=0;do{q=e+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(i-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(r|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=46;break}case 240:case 256:{d=a+24|0;t=46;break}case 960:case 1024:{d=a+28|0;t=46;break}default:d=0}if((t|0)==46)d=c[d>>2]|0;aU(d,s,h);Gc=u;return}default:{Gc=u;return}}}function $T(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=Gc;Gc=Gc+336|0;J=O+168|0;K=O+84|0;L=O;if(!(a[e+9040>>0]|0)){Gc=O;return}D=e+3|0;if(!(a[D>>0]|0)){Gc=O;return}F=e+1|0;M=L+4|0;N=K+4|0;G=e+4|0;I=e+2040|0;C=(k&65535)>>>3&65535;B=0;y=0;while(1){x=g+y|0;if(a[x>>0]|0){z=g+8+y|0;A=H(y,C)|0;v=0;w=d[F>>0]|0;s=0;while(1){k=w&65535;l=k-(d[g+16+(y<<2)+s>>0]|0)|0;w=(l|0)>0?l:0;l=a[g+48+(y<<2)+s>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[z>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(y<<2)+s>>0]|0)==0?(m?132108:132172):m?131980:132044;u=l&255;l=0;do{c[J+(l<<2)>>2]=c[m+(d[g+144+(y<<7)+(s<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(u|0));f[L>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=J+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[K+(p<<2)>>2]=+f[L+(p<<2)>>2]+n*+f[L+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));BY(M|0,N|0,l|0)|0}c[L+(q<<2)>>2]=c[m>>2];if(q>>>0<u>>>0){o=o+1|0;q=q+1|0}else break}l=w&65535;if(l>>>0>=((tS(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)l=(tS(h,i,(a[G>>0]|0)==2&1)|0)&255;t=d[e>>0]|0;t=b[e+1936+(((l>>>0<t>>>0?l:t)&65535)<<1)>>1]|0;l=b[I>>1]|0;l=(t&65535)<(l&65535)?t:l;if(k>>>0>=((tS(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)k=(tS(h,i,(a[G>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[I>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;t=q&65535;if((q<<16|0)>=65536?(E=(a[g+80+(y<<2)+s>>0]|0)==0,DY(J|0,0,160)|0,t<<16>>16):0){q=E?1:-1;s=u+255&255;p=0;k=j+(A+((E?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){r=+f[k>>2];m=l<<24>>24;n=r;o=0;do{P=o;o=o+1|0;n=n+ +f[J+(P+m<<2)>>2]*+f[L+(o<<2)>>2]}while((o|0)!=(u|0));P=l+-1<<24>>24;l=P<<24>>24<0?s:P;P=l<<24>>24;f[J+(P+u<<2)>>2]=r;f[J+(P<<2)>>2]=r;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(t&65535))break;else k=k+(q<<2)|0}}}k=v+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{v=k;s=k&255}}}k=B+1<<24>>24;if((k&255)<(d[D>>0]|0)){B=k;y=k&255}else break}Gc=O;return}function aU(a,d,e){a=a|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;v=Gc;Gc=Gc+4096|0;t=v;u=c[a+8>>2]|0;o=b[a>>1]|0;r=o&65535;q=(o&65535)>>>1;s=(o&65535)>>>2;g=(o&65535)>>>3;p=+(o&65535);if(g<<16>>16){g=g&65535;h=s&65535;i=r-h|0;j=i+-1|0;k=h+-1|0;l=q&65535;m=l+-1|0;n=r+-1|0;o=0;do{w=o<<1;A=+f[d+(j-w<<2)>>2]+ +f[d+(w+i<<2)>>2];x=+f[d+(w+h<<2)>>2]-+f[d+(k-w<<2)>>2];z=+f[u+(o<<3)>>2];y=+f[u+(o<<3)+4>>2];f[t+(o<<3)>>2]=(A*z+x*y)*p;f[t+(o<<3)+4>>2]=(x*z-A*y)*p;y=+f[d+(m-w<<2)>>2]-+f[d+(w<<2)>>2];A=+f[d+(w+l<<2)>>2]+ +f[d+(n-w<<2)>>2];w=o+g|0;z=+f[u+(w<<3)>>2];x=+f[u+(w<<3)+4>>2];f[t+(w<<3)>>2]=(y*z+A*x)*p;f[t+(w<<3)+4>>2]=(A*z-y*x)*p;o=o+1|0}while(o>>>0<g>>>0)}fS(c[a+4>>2]|0,t);if(!(s<<16>>16)){Gc=v;return}j=q&65535;k=j+-1|0;i=r+-1|0;g=s&65535;h=0;do{w=h<<1;y=+f[t+(h<<3)>>2];p=+f[t+(h<<3)+4>>2];x=+f[u+(h<<3)>>2];z=+f[u+(h<<3)+4>>2];A=y*x+p*z;z=p*x-y*z;f[e+(w<<2)>>2]=-A;f[e+(k-w<<2)>>2]=z;f[e+(w+j<<2)>>2]=-z;f[e+(i-w<<2)>>2]=A;h=h+1|0}while(h>>>0<g>>>0);Gc=v;return}function bU(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+8|0;h=b+4|0;i=b+20|0;e=0;while(1){f=e&65535;if(!(a[247848+(f<<1)+1>>0]|0))break;e=c[g>>2]|0;if(!e){e=(c[h>>2]|0)>>>31;if(!(a[i>>0]|0))aS(b,1)}else{e=e+-1|0;c[g>>2]=e;e=(c[b>>2]|0)>>>e&1}e=f+(d[247848+(f<<1)+e>>0]|0)|0;if((e&65535)>>>0>=241){e=-1;j=9;break}}if((j|0)==9)return e|0;j=a[247848+(f<<1)>>0]|0;return j|0}function cU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=e+8|0;f=c[l>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){aS(e,1);g=c[l>>2]|0;h=6;break}else{a[d+10443>>0]=f;f=0;h=8;break}}else{g=f+-1|0;c[l>>2]=g;f=(c[e>>2]|0)>>>g&1;h=6}while(0);if((h|0)==6){a[d+10443>>0]=f;if(g>>>0<8){f=g;h=8}else{i=c[e>>2]<<32-g>>>24;f=g}}if((h|0)==8){i=8-f|0;i=(c[e>>2]&(1<<f)+-1)<<i|(c[e+4>>2]|0)>>>(32-i|0)}k=e+20|0;do if(!(a[k>>0]|0))if(f>>>0>8){f=f+-8|0;c[l>>2]=f;break}else{aS(e,8);f=c[l>>2]|0;break}while(0);a[d+10444>>0]=i;g=(a[d+4>>0]|0)==2?11:9;if(f>>>0<g>>>0){h=g-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>(32-g|0);do if(!(a[k>>0]|0))if(f>>>0>g>>>0){c[l>>2]=f-g;break}else{aS(e,g);break}while(0);f=h&65535;i=d+10446|0;b[i>>1]=f;j=d+9037|0;if(a[j>>0]|0){g=c[l>>2]|0;if(g>>>0<9){h=9-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{aS(e,9);f=b[i>>1]|0;break}while(0);b[d+10448>>1]=h;b[i>>1]=(f&65535)+65527}f=c[l>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[k>>0]|0))aS(e,1)}else{f=f+-1|0;c[l>>2]=f;f=(c[e>>2]|0)>>>f&1}i=f&255;a[d+10450>>0]=i;if(i<<24>>24){g=c[l>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[k>>0]|0))if(g>>>0>8){c[l>>2]=g+-8;break}else{aS(e,8);break}while(0);a[d+10451>>0]=f}if(!(a[j>>0]|0))return 0;g=c[l>>2]|0;if(g>>>0<9){f=9-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{aS(e,9);break}while(0);b[d+10452>>1]=f;return 0}function dU(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;B=(a[b+4>>0]|0)==2;z=B?1:2;A=B?4:6;B=B?3:5;x=b+3|0;if(!(a[x>>0]|0))return;y=f+8|0;s=f+4|0;t=f+20|0;u=32-B|0;v=32-A|0;w=32-z|0;r=0;q=0;while(1){g=c[y>>2]|0;if(g>>>0<z>>>0){b=z-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>w;do if(!(a[t>>0]|0))if(g>>>0>z>>>0){c[y>>2]=g-z;break}else{aS(f,z);break}while(0);o=b&255;p=e+q|0;a[p>>0]=o;if(o<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))aS(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}b=b&255;a[e+8+q>>0]=b;if(a[p>>0]|0){o=b<<24>>24==0?3:4;n=0;m=0;while(1){g=c[y>>2]|0;if(g>>>0<A>>>0){b=A-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>v;do if(!(a[t>>0]|0))if(g>>>0>A>>>0){c[y>>2]=g-A;break}else{aS(f,A);break}while(0);a[e+16+(q<<2)+m>>0]=b;g=c[y>>2]|0;if(g>>>0<B>>>0){b=B-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>u;do if(!(a[t>>0]|0))if(g>>>0>B>>>0){c[y>>2]=g-B;break}else{aS(f,B);break}while(0);k=b&255;l=e+48+(q<<2)+m|0;a[l>>0]=k;a:do if(k<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))aS(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+80+(q<<2)+m>>0]=b;b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))aS(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+112+(q<<2)+m>>0]=b;g=a[l>>0]|0;if(g<<24>>24){j=o-b&255;k=32-j|0;if(!j){b=0;while(1){a[(b&255)+(e+144+(q<<7)+(m<<5))>>0]=0;b=b+1<<24>>24;if((b&255)>=(g&255))break a}}else g=0;do{h=g&255;i=c[y>>2]|0;if(i>>>0<j>>>0){b=j-i|0;b=(c[f>>2]&(1<<i)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-i>>>k;do if(!(a[t>>0]|0))if(i>>>0>j>>>0){c[y>>2]=i-j;break}else{aS(f,j);break}while(0);a[e+144+(q<<7)+(m<<5)+h>>0]=b;g=g+1<<24>>24}while((g&255)<(d[l>>0]|0))}}while(0);b=n+1<<24>>24;if((b&255)<(d[p>>0]|0)){n=b;m=b&255}else break}}}b=r+1<<24>>24;if((b&255)<(d[x>>0]|0)){r=b;q=b&255}else break}return}function eU(c,f){c=c|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=Gc;Gc=Gc+80|0;v=y+36|0;w=y;x=c+10446|0;g=b[x>>1]|0;if(!(g<<16>>16))t=0;else{t=cS(f,g&65535)|0;YR(v,t,((e[x>>1]|0)+7|0)>>>3)}u=c+10450|0;if(!(a[u>>0]|0))s=0;else{r=c+10451|0;s=cS(f,d[r>>0]|0)|0;YR(w,s,((d[r>>0]|0)+7|0)>>>3)}g=a[c+7810>>0]|0;q=c+2|0;f=a[q>>0]|0;a:do if(!(f<<24>>24))g=0;else{r=c+10448|0;m=(g&255)+65190&65535;j=0;k=g&255;l=1;i=0;h=0;o=0;g=a[c>>0]|0;p=0;while(1){if(!(g<<24>>24))g=0;else{n=0;g=i;f=h;h=m;m=0;while(1){if(!(g<<24>>24)){switch(a[c+6842+(p*120|0)+m>>0]|0){case 0:{g=0;break}case 14:case 15:{f=oU(v,w)|0;g=(f<<24>>24)+(j&65535)&65535;j=g;break}case 13:{if(!(l<<24>>24)){f=oU(v,w)|0;g=(f<<24>>24)+(h&65535)|0}else g=(b[r>>1]|0)+(h<<16>>16)|0;g=g&65535;h=g;l=0;break}default:{f=oU(v,w)|0;k=(f<<24>>24)+(k&65535)|0;g=k&65535;if(!(k&32768))k=g;else{g=4;break a}}}b[c+7812+(p*102|0)+(m<<1)>>1]=g;i=f<<24>>24==99&1}else{b[c+7812+(p*102|0)+(m<<1)>>1]=0;i=g}n=n+1<<24>>24;m=n<<24>>24;g=a[c>>0]|0;if((m|0)>=(g&255|0))break;else g=i}m=h;h=f;f=a[q>>0]|0}o=o+1<<24>>24;p=o<<24>>24;if((p|0)>=(f&255|0)){g=0;break}}}while(0);if(s|0)pS(s);if(t|0)pS(t);if(!(a[u>>0]|0)){Gc=y;return g|0}Gc=y;return g|0}function fU(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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;ya=Gc;Gc=Gc+14352|0;ta=ya+6144|0;xa=ya;pa=ya+14336|0;j=(e[f+10>>1]|0)>>>3;la=b[g+10440>>1]|0;ma=la&65535;if(!(la<<16>>16)){xa=0;Gc=ya;return xa|0}na=g+10442|0;oa=a[na>>0]|0;if(oa<<24>>24==0|ma>>>0<(oa&255)>>>0){xa=10;Gc=ya;return xa|0}b[pa>>1]=0;oa=g+2|0;n=a[oa>>0]|0;if((n&255)>1){k=j&65535;l=n&255;j=1;m=1;do{ka=m+-1|0;b[pa+(m<<1)>>1]=(H(d[g+5+ka>>0]|0,k)|0)+(e[pa+(ka<<1)>>1]|0);j=j+1<<16>>16;m=j&65535}while(m>>>0<l>>>0)}da=(a[f+6>>0]|0)==0;ba=da?6:22;da=da?247788:247794;ea=g+2040|0;fa=h+8|0;ga=h+4|0;ha=h+20|0;ia=ta+2|0;ja=ta+1|0;ka=ta+12|0;m=0;o=0;f=0;ca=0;k=0;j=n;l=0;while(1){_=a[da+l>>0]|0;if(!(a[g>>0]|0))B=o;else{$=(_&255)<11;aa=(_&255)+1|0;Z=0;W=0;while(1){V=W+1|0;X=g+1936+(V<<1)|0;T=b[X>>1]|0;U=b[ea>>1]|0;Y=g+1936+(W<<1)|0;if((((T&65535)<(U&65535)?T:U)&65535)>(e[Y>>1]|0)){U=0;T=0;do{if(!(j<<24>>24))j=0;else{S=0;R=0;do{M=g+7802+R|0;j=a[M>>0]|0;if(j<<24>>24){N=g+16+(R*240|0)+(V<<1)|0;O=g+16+(R*240|0)+(W<<1)|0;P=g+5+R|0;Q=pa+(R<<1)|0;L=0;l=0;do{do if((W>>>0>=(e[g+3002+(R*240|0)+(l<<1)>>1]|0)>>>0?W>>>0<(e[g+4922+(R*240|0)+(l<<1)>>1]|0)>>>0:0)?(qa=a[g+2042+(R*120|0)+l>>0]|0,ra=qa&255,(qa+-1&255)<11|(qa&-16)<<24>>24==16):0){if(!(qa<<24>>24==_<<24>>24|$&(aa|0)==(ra|0)))break;K=(qa&255)<5;J=K?4:2;K=d[P>>0]<<2>>>(K?2:1);G=a[247816+ra>>0]|0;F=a[na>>0]|0;F=(G&255)<(F&255)?G:F;G=F&255;I=H(K,T)|0;if((K|0)<=0)break;y=(e[N>>1]|0)-(e[O>>1]|0)&65535;z=(F&255)>32;A=G+-32|0;B=(A|0)==0;C=64-G|0;D=F<<24>>24==0;E=32-G|0;x=0;j=0;do{j=j+I|0;if(j>>>0>=y>>>0)break;n=(H(j,J)|0)+(e[Q>>1]|0)+(e[O>>1]|0)|0;w=n&65535;do if(!(m<<16>>16)){j=k&65535;p=j+G|0;if(p>>>0<=ma>>>0){l=o&65535;m=xa+(l*12|0)|0;a[xa+(l*12|0)+8>>0]=F;if(z){do if(!B){k=c[fa>>2]|0;if(k>>>0<A>>>0){j=A-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>C;if(a[ha>>0]|0){sa=31;break}if(k>>>0>A>>>0){k=k-A|0;c[fa>>2]=k;break}else{aS(h,A);sa=31;break}}else{j=0;sa=31}while(0);if((sa|0)==31){sa=0;k=c[fa>>2]|0}c[xa+(l*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{aS(h,32);break}while(0);c[m>>2]=j}else{do if(!D){k=c[fa>>2]|0;if(k>>>0<G>>>0){j=G-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>E;if(a[ha>>0]|0)break;if(k>>>0>G>>>0){c[fa>>2]=k-G;break}else{aS(h,G);break}}else j=0;while(0);c[m>>2]=j;c[xa+(l*12|0)+4>>2]=0}mU(qa,m,i+((n&65535)<<1)|0)|0;nU(m);m=0;o=o+1<<16>>16;k=p&65535;break}if((la&65535)>(k&65535)){v=ma-j|0;t=v&255;p=o&65535;u=xa+(p*12|0)|0;n=xa+(p*12|0)+8|0;a[n>>0]=t;m=v&255;if((t&255)>32){k=m+-32|0;do if(k){l=c[fa>>2]|0;if(l>>>0<k>>>0){j=k-l|0;j=(c[h>>2]&(1<<l)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-l>>>(64-m|0);if(a[ha>>0]|0){sa=60;break}if(l>>>0>k>>>0){k=l-k|0;c[fa>>2]=k;break}else{aS(h,k);sa=60;break}}else{j=0;sa=60}while(0);if((sa|0)==60){sa=0;k=c[fa>>2]|0}c[xa+(p*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{aS(h,32);break}while(0);c[u>>2]=j}else{do if(m){k=c[fa>>2]|0;if(k>>>0<m>>>0){j=m-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>(32-m|0);if(a[ha>>0]|0)break;if(k>>>0>m>>>0){c[fa>>2]=k-m;break}else{aS(h,m);break}}else j=0;while(0);c[u>>2]=j;c[xa+(p*12|0)+4>>2]=0}s=p+-1|0;k=xa+(s*12|0)|0;t=xa+(s*12|0)+8|0;a[n>>0]=(d[n>>0]|0)+(d[t>>0]|0);nU(u);r=a[t>>0]|0;if(r<<24>>24>32){j=r&255;p=c[xa+(p*12|0)+4>>2]|0;l=r+-32&255;q=r<<24>>24;do if((j+224&255)<<24>>24){m=q-l|0;n=c[xa+(s*12|0)+4>>2]|0;if((m|0)<32){l=(c[k>>2]|0)>>>m|(n&-1>>>(64-q|0))<<l+32-q;break}else{l=n>>>(m+-32|0)&-1>>>(32-l|0);break}}else l=0;while(0);l=l+p|0;c[xa+(s*12|0)+4>>2]=l;if(r<<24>>24<64){s=64-q|0;l=(c[k>>2]|0)>>>(q+-32|0)|(l&-1>>>s)<<s}else l=l>>>(q+-64|0);c[k>>2]=l+(c[u>>2]|0)}else{n=c[u>>2]|0;j=r&255;do if(r<<24>>24){l=r<<24>>24;m=c[k>>2]|0;if((l|0)<(j|0)){l=m<<j-l&-1>>>(32-j|0);break}else{l=m>>>(l-j|0)&-1>>>(32-j|0);break}}else l=0;while(0);c[k>>2]=l+n;c[xa+(s*12|0)+4>>2]=c[xa+(p*12|0)+4>>2]}a[t>>0]=v+j}b[ia>>1]=w;a[ta>>0]=qa;a[ja>>0]=0;a[ka>>0]=0;m=1;k=la}else{v=(f&65535)-(o&65535)&65535;b[ta+(v<<4)+2>>1]=w;a[ta+(v<<4)>>0]=qa;a[ta+(v<<4)+1>>0]=0;a[ta+(v<<4)+12>>0]=0}while(0);f=f+1<<16>>16;x=x+1<<16>>16;j=x&65535}while((K|0)>(j|0));j=a[M>>0]|0}while(0);L=L+1<<16>>16;l=L&65535}while(l>>>0<(j&255)>>>0)}S=S+1<<16>>16;R=S&65535;j=a[oa>>0]|0}while(R>>>0<(j&255)>>>0)}U=U+1<<24>>24;T=U&255;R=b[X>>1]|0;S=b[ea>>1]|0}while((T<<2|0)<((((R&65535)<(S&65535)?R:S)&65535)-(e[Y>>1]|0)|0))}l=Z+1<<24>>24;if((l&255)<(d[g>>0]|0)){Z=l;W=l&255}else{B=o;break}}}ca=ca+1<<16>>16;l=ca&65535;if(ba>>>0<=l>>>0)break;else o=B}z=B&65535;if(!(B<<16>>16)){xa=10;Gc=ya;return xa|0}A=(f&65535)/(B&65535)|0;if((B&65535)>(f&65535)){xa=0;Gc=ya;return xa|0}y=(f&65535)-z|0;x=1;j=1;while(1){v=(H(j,z)|0)-z|0;w=0;do{u=0;j=0;while(1){o=((j+w|0)>>>0)%(z>>>0)|0;q=v+j&65535;if((q|0)>=(y|0))break;r=ta+(q<<4)+1|0;do if((a[r>>0]|0)==0?(ua=xa+(o*12|0)|0,va=xa+(o*12|0)+8|0,wa=a[va>>0]|0,wa<<24>>24>0):0){s=ta+(q<<4)+4|0;t=ta+(q<<4)+12|0;p=a[t>>0]|0;if(!(p<<24>>24))j=wa;else{j=c[s>>2]|0;l=wa<<24>>24;k=c[ua>>2]|0;if(wa<<24>>24>32){sa=xa+(o*12|0)+4|0;f=l+-32|0;n=j<<f;m=0;f=c[sa>>2]&(1<<f)+-1;j=sa}else{n=c[ta+(q<<4)+8>>2]<<l|j>>>(32-l|0);m=j<<l;f=0;k=(1<<l)+-1&k;j=xa+(o*12|0)+4|0}c[ua>>2]=m|k;c[j>>2]=n|f;j=(wa&255)+(p&255)&255;a[va>>0]=j}if((mU(a[ta+(q<<4)>>0]|0,ua,i+(e[ta+(q<<4)+2>>1]<<1)|0)|0)<<24>>24>-1){a[r>>0]=1;break}else{c[s>>2]=c[ua>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];a[t>>0]=j;break}}while(0);j=u+1<<16>>16;if((j&65535)<(B&65535)){u=j;j=j&65535}else break}w=w+1|0}while((w|0)!=(z|0));j=0;do{nU(xa+(j*12|0)|0);j=j+1|0}while((j|0)!=(z|0));j=x+1<<16>>16;if((j&65535)>(A&65535)){j=0;break}else{x=j;j=j&65535}}Gc=ya;return j|0}function gU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do switch(d<<24>>24){case 2:case 1:{f=iU(d,f,g)|0;return f|0}case 3:{j=f+8|0;k=f+4|0;l=f+20|0;h=0;do{d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}h=h+(a[246983+(h*5|0)+1+d>>0]|0)&65535}while(!(a[246983+(h*5|0)>>0]|0));if((h|0)>161){i=10;d=b[g>>1]|0}else{d=a[246983+(h*5|0)+1>>0]|0;b[g>>1]=d;b[g+2>>1]=a[246983+(h*5|0)+2>>0]|0;b[g+4>>1]=a[246983+(h*5|0)+3>>0]|0;b[g+6>>1]=a[246983+(h*5|0)+4>>0]|0;i=0}if(d<<16>>16){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=i;return f|0}d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))aS(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=i;return f|0}b[h>>1]=0-(e[h>>1]|0);f=i;return f|0}case 4:{l=iU(4,f,g)|0;i=f+8|0;j=f+4|0;k=f+20|0;if(b[g>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 5:{if(!(a[242559]|0)){j=f+8|0;k=f+4|0;l=f+20|0;h=0;d=242559;do{i=c[j>>2]|0;if(!i){i=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0)){aS(f,1);d=242559}}else{i=i+-1|0;c[j>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else{h=0;d=242559}if((h|0)>161){f=10;return f|0}b[g>>1]=a[d+(h*3|0)+1>>0]|0;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;f=0;return f|0}case 6:{f=jU(6,f,g)|0;return f|0}case 9:case 7:{n=d&255;j=78164+(n<<2)|0;d=c[j>>2]|0;if(!(a[d>>0]|0)){k=f+8|0;l=f+4|0;m=f+20|0;h=0;do{i=c[k>>2]|0;if(!i){i=(c[l>>2]|0)>>>31;if(!(a[m>>0]|0)){aS(f,1);d=c[j>>2]|0}}else{i=i+-1|0;c[k>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else h=0;if((h|0)>(c[78308+(n<<2)>>2]|0)){l=10;d=b[g>>1]|0}else{n=a[d+(h*3|0)+1>>0]|0;b[g>>1]=n;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;l=0;d=n}i=f+8|0;j=f+4|0;k=f+20|0;if(d<<16>>16){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))aS(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 10:case 8:{f=kU(d,f,g)|0;return f|0}case 12:{f=jU(11,f,g)|0;b[g>>1]=250;b[g+2>>1]=-21216;return f|0}case 11:{n=kU(11,f,g)|0;b[g>>1]=lU(f,b[g>>1]|0)|0;g=g+2|0;b[g>>1]=lU(f,b[g>>1]|0)|0;f=n;return f|0}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{i=kU(11,f,g)|0;b[g>>1]=lU(f,b[g>>1]|0)|0;j=g+2|0;h=lU(f,b[j>>1]|0)|0;b[j>>1]=h;if((d&-16)<<24>>24!=16){f=i;return f|0}n=b[g>>1]|0;f=n<<16>>16;d=e[176324+((d&255)+-16<<1)>>1]|0;if(((n<<16>>16>-1?f:0-f|0)|0)<=(d|0)?(f=h<<16>>16,((h<<16>>16>-1?f:0-f|0)|0)<=(d|0)):0){f=i;return f|0}b[g>>1]=0;b[j>>1]=0;f=i;return f|0}default:{f=11;return f|0}}while(0);return 0}function hU(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b[a+1936+((d[a+9044>>0]|0)<<1)>>1]|0;h=b[a+2040>>1]|0;j=a+9043|0;i=e&65535;e=(f&65535)<(h&65535)?f:h;h=0;f=0;while(1){g=(d[a+9045+f>>0]|0)+(e&65535)|0;e=g&65535;if(e>>>0>=i>>>0){e=15;f=4;break}e=c+(e<<1)|0;k=b[e>>1]|0;f=d[a+9049+f>>0]|0;b[e>>1]=(k<<16>>16>0?f:0-f|0)+(k&65535);f=h+1<<24>>24;if((f&255)>(d[j>>0]|0)){e=0;f=4;break}else{e=g&65535;h=f;f=f&255}}if((f|0)==4)return e|0;return 0}function iU(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=244434+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[78020+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[78068+(n<<2)>>2]|0)+(e*5|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{aS(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{aS(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[78068+(n<<2)>>2]|0)+((e&65535)*5|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{aS(f,h);break}}while(0);e=e&65535;if((c[78212+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[78068+(n<<2)>>2]|0;b[g>>1]=a[n+(e*5|0)+1>>0]|0;b[g+2>>1]=a[n+(e*5|0)+2>>0]|0;b[g+4>>1]=a[n+(e*5|0)+3>>0]|0;b[g+6>>1]=a[n+(e*5|0)+4>>0]|0;g=0;return g|0}function jU(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=244434+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[78020+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[78116+(n<<2)>>2]|0)+(e*3|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{aS(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{aS(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[78116+(n<<2)>>2]|0)+((e&65535)*3|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{aS(f,h);break}}while(0);e=e&65535;if((c[78260+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[78116+(n<<2)>>2]|0;b[g>>1]=a[n+(e*3|0)+1>>0]|0;b[g+2>>1]=a[n+(e*3|0)+2>>0]|0;g=0;return g|0}function kU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=jU(d,f,g)|0;h=f+8|0;i=f+4|0;j=f+20|0;if(b[g>>1]|0){d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))aS(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}g=g+2|0;if(!(b[g>>1]|0))return k|0;d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))aS(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d)return k|0;b[g>>1]=0-(e[g>>1]|0);return k|0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d<<16>>16<0)if(d<<16>>16==-16)j=1;else{b=d;return b|0}else if(d<<16>>16==16)j=0;else{b=d;return b|0}h=b+8|0;g=b+4|0;i=b+20|0;e=4;while(1){d=c[h>>2]|0;if(!d){d=(c[g>>2]|0)>>>31;if(!(a[i>>0]|0))aS(b,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[b>>2]|0)>>>d&1}if(!d)break;else e=e+1<<24>>24}f=e&255;do if(e<<24>>24){e=c[h>>2]|0;if(e>>>0<f>>>0){d=f-e|0;d=(c[b>>2]&(1<<e)+-1)<<d|(c[g>>2]|0)>>>(32-d|0)}else d=c[b>>2]<<32-e>>>(32-f|0);if(!(a[i>>0]|0))if(e>>>0>f>>>0){c[h>>2]=e-f;break}else{aS(b,f);break}}else d=0;while(0);b=d&65535|1<<f;b=(j<<24>>24==0?b:0-b|0)&65535;return b|0}function mU(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f&255;a:do switch(f<<24>>24){case 4:case 2:case 1:{p=244434+q|0;r=a[p>>0]|0;l=r&255;do if(r<<24>>24){r=a[g+8>>0]|0;k=r<<24>>24;if(r<<24>>24<33){i=c[g>>2]|0;if((k|0)<(l|0)){i=i<<l-k&-1>>>(32-l|0);break}else{i=i>>>(k-l|0)&-1>>>(32-l|0);break}}else{i=k-l|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-k|0))<<l+32-k;break}else{i=j>>>(i+-32|0)&-1>>>(32-l|0);break}}}else i=0;while(0);r=c[78020+(q<<2)>>2]|0;n=a[r+(i<<1)>>0]|0;i=a[r+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=n&255;i=78068+(q<<2)|0;q=g+8|0;p=(d[q>>0]|0)-(d[(c[i>>2]|0)+(j*5|0)>>0]|0)|0;r=(p&128|0)==0;a[q>>0]=r?p&255:0;if(!r){h=-1;return h|0}}else{o=g+8|0;m=(d[o>>0]|0)-l|0;r=(m&128|0)==0;m=r?m&255:0;a[o>>0]=m;if(!r){h=-1;return h|0}k=i&255;l=m<<24>>24;do if(m<<24>>24<33){i=c[g>>2]|0;if((l|0)<(k|0)){i=i<<k-l&-1>>>(32-k|0);break}else{i=i>>>(l-k|0)&-1>>>(32-k|0);break}}else{i=l-k|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-l|0))<<k+32-l;break}else{i=j>>>(i+-32|0)&-1>>>(32-k|0);break}}while(0);j=i+(n&255)|0;i=78068+(q<<2)|0;q=(m&255)-((d[(c[i>>2]|0)+((j&65535)*5|0)>>0]|0)-(d[p>>0]|0)&255)|0;r=(q&128|0)==0;a[o>>0]=r?q&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*5|0)+1>>0]|0;b[h+2>>1]=a[r+(i*5|0)+2>>0]|0;b[h+4>>1]=a[r+(i*5|0)+3>>0]|0;k=f;l=0;i=r+(i*5|0)+4|0;j=3;r=61;break}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 11:case 10:case 8:case 6:{k=(f&255)>15;l=k?f:0;k=k?11:f;f=k&255;r=244434+f|0;q=a[r>>0]|0;n=q&255;do if(q<<24>>24){q=a[g+8>>0]|0;m=q<<24>>24;if(q<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);q=c[78020+(f<<2)>>2]|0;p=a[q+(i<<1)>>0]|0;i=a[q+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=p&255;i=78116+(f<<2)|0;f=g+8|0;q=(d[f>>0]|0)-(d[(c[i>>2]|0)+(j*3|0)>>0]|0)|0;r=(q&128|0)==0;a[f>>0]=r?q&255:0;if(!r){h=-1;return h|0}}else{q=g+8|0;o=(d[q>>0]|0)-n|0;n=(o&128|0)==0;o=n?o&255:0;a[q>>0]=o;if(!n){h=-1;return h|0}m=i&255;n=o<<24>>24;do if(o<<24>>24<33){i=c[g>>2]|0;if((n|0)<(m|0)){i=i<<m-n&-1>>>(32-m|0);break}else{i=i>>>(n-m|0)&-1>>>(32-m|0);break}}else{i=n-m|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-n|0))<<m+32-n;break}else{i=j>>>(i+-32|0)&-1>>>(32-m|0);break}}while(0);j=i+(p&255)|0;i=78116+(f<<2)|0;f=(o&255)-((d[(c[i>>2]|0)+((j&65535)*3|0)>>0]|0)-(d[r>>0]|0)&255)|0;r=(f&128|0)==0;a[q>>0]=r?f&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*3|0)+1>>0]|0;i=r+(i*3|0)+2|0;j=1;r=61;break}case 3:{k=g+8|0;m=g+4|0;l=a[k>>0]|0;n=0;while(1){i=l<<24>>24;do if(l<<24>>24<33){j=c[g>>2]|0;if(l<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[m>>2]|0)>>>(i+-33|0);while(0);r=l+-1<<24>>24<<24>>24>-1;l=(l&255)+255&255;a[k>>0]=r?l:0;if(!r){i=-1;r=100;break}n=n+(a[(i&1)+(246983+(n*5|0)+1)>>0]|0)&65535;if(a[246983+(n*5|0)>>0]|0){r=52;break}}if((r|0)==52){b[h>>1]=a[246983+(n*5|0)+1>>0]|0;b[h+2>>1]=a[246983+(n*5|0)+2>>0]|0;b[h+4>>1]=a[246983+(n*5|0)+3>>0]|0;k=3;l=0;i=246983+(n*5|0)+4|0;j=3;r=61;break a}else if((r|0)==100)return i|0;break}case 9:case 7:case 5:{o=78164+(q<<2)|0;i=c[o>>2]|0;b:do if(!(a[i>>0]|0)){l=g+8|0;n=g+4|0;m=a[l>>0]|0;j=0;while(1){i=m<<24>>24;do if(m<<24>>24<33){k=c[g>>2]|0;if(m<<24>>24<1){k=k<<1-i;break}else{k=k>>>(i+-1|0);break}}else k=(c[n>>2]|0)>>>(i+-33|0);while(0);r=m+-1<<24>>24<<24>>24>-1;m=(m&255)+255&255;a[l>>0]=r?m:0;if(!r){i=-1;break}i=c[o>>2]|0;j=j+(a[(k&1)+(i+(j*3|0)+1)>>0]|0)&65535;if(a[i+(j*3|0)>>0]|0)break b}return i|0}else j=0;while(0);b[h>>1]=a[i+(j*3|0)+1>>0]|0;k=f;l=0;i=i+(j*3|0)+2|0;j=1;r=61;break}default:{k=f;l=0}}while(0);if((r|0)==61)b[h+(j<<1)>>1]=a[i>>0]|0;c:do if(a[244446+(k&255)>>0]|0){q=(k&255)<5?4:2;p=g+8|0;f=g+4|0;o=0;i=0;while(1){n=h+(i<<1)|0;if(b[n>>1]|0){m=a[p>>0]|0;i=m<<24>>24;do if(m<<24>>24<33){j=c[g>>2]|0;if(m<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[f>>2]|0)>>>(i+-33|0);while(0);j=m+-1<<24>>24<<24>>24>-1;a[p>>0]=j?(m&255)+255&255:0;if(!j){i=-1;break}if(i&1|0)b[n>>1]=0-(e[n>>1]|0)}o=o+1<<24>>24;i=o&255;if(q>>>0<=i>>>0)break c}return i|0}while(0);f=g+8|0;do if(k<<24>>24==11|(k&255)>15){q=g+4|0;o=b[h>>1]|0;d:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;e:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);p=k+-1<<24>>24<<24>>24>-1;k=p?(k&255)+255&255:0;i=p?((i&1|0)==0?13:0):1;switch(i&15){case 13:break e;case 0:break;default:{r=94;break e}}m=m+1<<24>>24}if((r|0)==94){a[f>>0]=k;if(!i)break d;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[q>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);m=(k&255)-n|0;p=(m&128|0)==0;a[f>>0]=p?m&255:0;i=i+(1<<n)|0;if(p){b[h>>1]=o<<16>>16<0?0-i|0:i;break d}else{h=-1;return h|0}}default:{}}while(0);p=h+2|0;o=b[p>>1]|0;f:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;g:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);n=k+-1<<24>>24<<24>>24>-1;k=n?(k&255)+255&255:0;i=n?((i&1|0)==0?13:0):1;switch(i&15){case 13:break g;case 0:break;default:{r=119;break g}}m=m+1<<24>>24}if((r|0)==119){a[f>>0]=k;if(!i)break f;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{j=m-n|0;i=c[q>>2]|0;if((j|0)<32){i=(c[g>>2]|0)>>>j|(i&-1>>>(64-m|0))<<n+32-m;break}else{i=i>>>(j+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);r=(k&255)-n|0;g=(r&128|0)==0;a[f>>0]=g?r&255:0;i=i+(1<<n)|0;if(g){b[p>>1]=o<<16>>16<0?0-i|0:i;break f}else{h=-1;return h|0}}default:{}}while(0);if(l<<24>>24!=0&(l&-16)<<24>>24==16){r=b[h>>1]|0;g=r<<16>>16;i=e[176324+((l&255)+-16<<1)>>1]|0;if(((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)?(r=b[p>>1]|0,g=r<<16>>16,((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)):0)break;b[h>>1]=0;b[p>>1]=0}}while(0);h=a[f>>0]|0;return h|0}function nU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b+8>>0]|0;if(!(d<<24>>24))return;f=b+4|0;e=d&255;if((d&255)<33){c[f>>2]=0;d=c[b>>2]|0;d=d>>>1&1431655765|d<<1&-1431655766;d=d>>>2&858993459|d<<2&-858993460;d=d>>>4&252645135|d<<4&-252645136;d=d>>>8&16711935|d<<8&-16711936;d=(d>>>16|d<<16)>>>(32-e|0)}else{h=c[f>>2]|0;g=c[b>>2]|0;g=g>>>1&1431655765|g<<1&-1431655766;h=h>>>1&1431655765|h<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;h=h>>>2&858993459|h<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;h=h>>>4&252645135|h<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;h=h>>>8&16711935|h<<8&-16711936;g=g>>>16|g<<16;d=64-e|0;c[b>>2]=g<<e+-32|(h>>>16|h<<16)>>>d;d=g>>>d;b=f}c[b>>2]=d;return}function oU(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=b+8|0;f=c[n>>2]|0;if(!f)e=c[b+4>>2]|0;else e=c[b>>2]<<32-f;m=b+20|0;do if(!(a[m>>0]|0))if(f>>>0>1){c[n>>2]=f+-1;break}else{aS(b,1);break}while(0);if((e|0)>-1)e=166332;else{l=b+4|0;j=1;k=166332;f=1;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[n>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[b>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[b>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[n>>2]=g-h;break}else{aS(b,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<10?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;n=e&255;do if(e<<24>>24==7){b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{aS(d,2);break}while(0);if(!f)e=166524;else{l=d+4|0;j=2;k=166524;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{aS(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}else{e=(e&255)+n&255;break}}while(0);n=e&255;if(e<<24>>24!=-7){d=e;return d|0}b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{aS(d,2);break}while(0);if(!f)e=166524;else{l=d+4|0;j=2;k=166524;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{aS(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}d=n-(e&255)&255;return d|0}function pU(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=a[f+3>>0]|0;switch(a[g+4>>0]|0){case 3:case 1:case 0:{a[g+3>>0]=1;a[g+2>>0]=1;a[g+5>>0]=1;j=(a[f+4>>0]|0)==23;l=f+10|0;h=b[l>>1]|0;do if(j){i=k&255;if(h<<16>>16==512){i=248330+i|0;break}else{i=248342+i|0;break}}else{i=k&255;if(h<<16>>16==1024){i=248354+i|0;break}else{i=248366+i|0;break}}while(0);f=a[i>>0]|0;a[g+1>>0]=f;if((d[g>>0]|0)>(f&255)){g=32;return g|0}if(j){i=f<<24>>24!=0;if(h<<16>>16==512){if(i){j=c[167060+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}}else if(i){j=c[167012+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}h=f&255;b[g+16+(h<<1)>>1]=b[l>>1]|0}else{if(!(f<<24>>24))i=0;else{j=c[166964+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}i=f;h=b[l>>1]|0}b[g+16+((i&255)<<1)>>1]=h;h=f&255}b[g+1936+(h<<1)>>1]=b[l>>1]|0;b[g+2040>>1]=b[l>>1]|0;g=0;return g|0}case 2:{a[g+3>>0]=8;l=g+2|0;a[l>>0]=1;a[g+5>>0]=1;k=k&255;s=a[248378+k>>0]|0;a[g+1>>0]=s;if((d[g>>0]|0)>(s&255)){g=32;return g|0}j=c[167108+(k<<2)>>2]|0;i=0;h=0;while(1){b[g+1936+(h<<1)>>1]=b[j+(h<<1)>>1]|0;h=i+1<<24>>24;if((h&255)<(s&255)){i=h;h=h&255}else break}r=f+10|0;b[g+1936+((s&255)<<1)>>1]=(e[r>>1]|0)>>>3;b[g+2040>>1]=(e[r>>1]|0)>>>3;j=g+14|0;if(!(a[j>>0]&64)){a[l>>0]=2;a[g+6>>0]=1;i=2}else{i=g+5|0;a[i>>0]=(d[i>>0]|0)+1;i=1}h=i&255;if(!(a[j>>0]&32)){q=h+1&255;a[l>>0]=q;a[(i&255)+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&16)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&8)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&4)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&2)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&1)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}if(!(i<<24>>24)){g=0;return g|0}p=167108+(k<<2)|0;q=s&255;o=0;j=s;n=0;while(1){if(!(j<<24>>24)){f=0;h=0;j=0}else{m=g+5+n|0;if(j<<24>>24==1){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+2>>1]|0}f=H(h-(e[j>>1]|0)&65535,d[m>>0]|0)|0;b[g+16+(n*240|0)>>1]=0;l=1;f=f&65535;k=1;while(1){h=k+1|0;if((h|0)==(q|0)){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+(h<<1)>>1]|0}k=H(h-(e[j+(k<<1)>>1]|0)&65535,d[m>>0]|0)|0;h=l+1<<24>>24;b[g+16+(n*240|0)+((l&255)<<1)>>1]=f;f=k+(f&65535)&65535;if((h&255)<(s&255)){l=h;k=h&255}else{j=s;break}}}b[g+16+(n*240|0)+((h&255)<<1)>>1]=f;h=o+1<<24>>24;if((h&255)<(i&255)){o=h;n=h&255}else{h=0;break}}return h|0}default:{g=32;return g|0}}return 0}function qU(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Gc;Gc=Gc+4096|0;q=s;r=f+25|0;m=d[r>>0]|0;p=(a[f+1084+m>>0]|0)==0;j=p?1:2;k=f+26+m|0;l=a[k>>0]|0;if(l<<24>>24){if((j|0)!=(l&255|0)){a[f+74+m>>0]=0;o=4}}else o=4;if((o|0)==4)a[k>>0]=j;if(!(a[f+74+m>>0]|0)){l=f+4|0;j=a[l>>0]|0;n=d[h>>0]|0;if(j<<24>>24==1){j=f+1136+(n<<2)|0;k=c[j>>2]|0;if(k|0){pS(k);c[j>>2]=0}o=f+10|0;m=dS((e[o>>1]|0)*12|0)|0;c[j>>2]=m;zT(m,b[o>>1]|0);j=a[l>>0]|0}if((AT(j)|0)<<24>>24){j=f+1392+(n<<2)|0;k=c[j>>2]|0;if(k|0){pS(k);c[j>>2]=0}o=f+10|0;m=dS(e[o>>1]<<3)|0;c[j>>2]=m;DY(m|0,0,e[o>>1]<<3|0)|0}k=f+328+(n<<2)|0;j=c[k>>2]|0;if(j|0){pS(j);c[k>>2]=0}j=(d[r>>0]|0)+(f+843)|0;a[j>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=4;else{a[j>>0]=1;l=8}m=f+10|0;o=dS(H(l,e[m>>1]|0)|0)|0;c[k>>2]=o;DY(o|0,0,H(l,e[m>>1]|0)|0)|0;if(!p){j=f+328+(n+1<<2)|0;k=c[j>>2]|0;if(k|0){pS(k);c[j>>2]=0}p=dS(H(l,e[m>>1]|0)|0)|0;c[j>>2]=p;DY(p|0,0,H(l,e[m>>1]|0)|0)|0}j=f+584+(n<<2)|0;k=c[j>>2]|0;if(k|0){pS(k);c[j>>2]=0}p=dS(e[m>>1]<<2)|0;c[j>>2]=p;DY(p|0,0,e[m>>1]<<2|0)|0;a[(d[r>>0]|0)+(f+74)>>0]=1;p=m}else p=f+10|0;j=BT(g,i,q)|0;if(j<<24>>24){h=j;Gc=s;return h|0}l=f+4|0;CT(g,0,q,0,b[p>>1]|0,0,a[l>>0]|0,f+1648|0,f+1652|0);j=a[l>>0]|0;do if(j<<24>>24==1){j=c[f+1136+(d[h>>0]<<2)>>2]|0;if(!j){h=33;Gc=s;return h|0}else{FT(g,q,j,b[p>>1]|0,a[f+3>>0]|0);GT(g,c[f+1136+(d[h>>0]<<2)>>2]|0);j=a[l>>0]|0;break}}while(0);if(!((AT(j)|0)<<24>>24))n=f+3|0;else{j=a[l>>0]|0;if(j<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[h>>0]<<1)>>1]=b[g+10278>>1]|0;k=a[h>>0]|0;b[g+10278>>1]=b[f+192+((k&255)<<1)>>1]|0}else k=a[h>>0]|0;i=k&255;n=f+3|0;HT(g,g+10276|0,q,c[f+1392+(i<<2)>>2]|0,c[f+320>>2]|0,a[g+13>>0]|0,a[f+128+i>>0]|0,a[n>>0]|0,j,b[p>>1]|0)}IT(g,g+9053|0,a[n>>0]|0,a[l>>0]|0,q,b[p>>1]|0);j=c[f+324>>2]|0;do if(a[j>>0]|0){if(a[(d[h>>0]|0)+(j+56)>>0]|0?a[j+3>>0]|0:0)break;JT(j,q)}while(0);i=g+13|0;o=d[h>>0]|0;KT(c[f+320>>2]|0,a[g+4>>0]|0,a[i>>0]|0,a[f+128+o>>0]|0,q,c[f+328+(o<<2)>>2]|0,c[f+584+(o<<2)>>2]|0,a[l>>0]|0,b[p>>1]|0);a[(d[h>>0]|0)+(f+128)>>0]=a[i>>0]|0;if((AT(a[l>>0]|0)|0)<<24>>24){q=d[h>>0]|0;LT(c[f+1392+(q<<2)>>2]|0,c[f+328+(q<<2)>>2]|0,c[f+584+(q<<2)>>2]|0,b[p>>1]|0,a[l>>0]|0)}j=(a[f+840>>0]|0)==1;if(!j?(a[f+841>>0]|0)!=1:0)o=56;else o=48;do if((o|0)==48){m=d[r>>0]|0;if(!(a[f+843+m>>0]|0))if(j){o=57;break}else{o=56;break}l=d[h>>0]|0;k=f+892+(m<<2)|0;j=c[k>>2]|0;if(!j){g=b[p>>1]|0;q=a[f+2128+m>>0]|0;j=(rS(a[n>>0]|0)|0)<<1;j=ZS(g,q,j,a[f+842>>0]|0)|0;c[k>>2]=j}q=a[h+6>>0]|0;q=b[h+1942+(((q&255)>1?(q&255)+-1|0:0)<<1)>>1]|0;k=b[h+2046>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;c[j+4>>2]=(a[h+10>>0]|0)==2?k<<3:k;k=c[f+328+(l<<2)>>2]|0;if(!(a[f+1084+m>>0]|0))j=rU(j,k,a[f+12>>0]|0,a[f+842>>0]|0)|0;else j=sU(j,k,c[f+328+(l+1<<2)>>2]|0,a[f+12>>0]|0,a[f+842>>0]|0)|0;if(j<<24>>24){h=j;Gc=s;return h|0}}while(0);if((o|0)==56?(a[f+841>>0]|0)==1:0)o=57;if((o|0)==57?(a[(d[r>>0]|0)+(f+843)>>0]|0)==0:0){h=23;Gc=s;return h|0}j=d[r>>0]|0;if(a[f+1084+j>>0]|0){h=0;Gc=s;return h|0}if((a[f+26+j>>0]|0)!=2){h=0;Gc=s;return h|0}r=d[h>>0]|0;h=H(e[p>>1]<<2,a[f+843+j>>0]|0?2:1)|0;BY(c[f+328+(r+1<<2)>>2]|0,c[f+328+(r<<2)>>2]|0,h|0)|0;h=0;Gc=s;return h|0}function rU(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;n=Gc;Gc=Gc+16384|0;k=n;if(!b){m=20;Gc=n;return m|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{m=21;Gc=n;return m|0}}l=b+10|0;if(a[l>>0]|0)if(!(a[b+12426>>0]|0))h=1;else{a[b+12412>>0]=-1;h=1}else h=(c[b+12432>>2]|0)==0&1;i=b+9|0;a[i>>0]=f<<24>>24!=0&1;h=(NT(b,e,k,0,h)|0)&255;a[l>>0]=(d[l>>0]|0)+h;h=c[b+12448>>2]|0;if(!(g<<24>>24))PT(b,h,k,e);else OT(b,h,k,e);if(a[b+53426>>0]|0)a[i>>0]=0;if((c[b+12432>>2]|0?(a[l>>0]|0)==0:0)?(j=QT(b,0)|0,j<<24>>24):0){m=j;Gc=n;return m|0}i=b+53418|0;if(a[i>>0]|0){g=b+53416|0;f=0;h=0;while(1){CY(b+12456+(h<<9)|0,b+12456+(h+(d[g>>0]|0)<<9)|0,512)|0;e=f+1<<24>>24;h=a[i>>0]|0;if((e&255)<(h&255)){f=e;h=e&255}else break}if((h&255)<40)m=18}else{h=0;m=18}if((m|0)==18)DY(b+(((h&255)<<9)+12456)|0,0,((39-h&255)<<9)+512|0)|0;m=b+12428|0;c[m>>2]=(c[m>>2]|0)+1;m=0;Gc=n;return m|0}function sU(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=Gc;Gc=Gc+38912|0;o=t+19456|0;p=t;DY(o|0,0,19456)|0;DY(p|0,0,19456)|0;if(!b){s=20;Gc=t;return s|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{s=21;Gc=t;return s|0}}m=b+10|0;if(a[m>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;n=b+9|0;a[n>>0]=g<<24>>24!=0&1;l=b+12452|0;if(!(c[l>>2]|0))c[l>>2]=uT(h<<24>>24?32:64)|0;r=(NT(b,e,o,0,i)|0)&255;a[m>>0]=(d[m>>0]|0)+r;r=b+53416|0;g=a[r>>0]|0;k=g&255;i=k+6|0;j=d[b+53419>>0]|0;do{u=k+j|0;c[o+(k<<9)>>2]=c[b+12456+(u<<9)>>2];c[o+(k<<9)+4>>2]=c[b+12456+(u<<9)+4>>2];c[o+(k<<9)+8>>2]=c[b+12456+(u<<9)+8>>2];c[o+(k<<9)+12>>2]=c[b+12456+(u<<9)+12>>2];c[o+(k<<9)+16>>2]=c[b+12456+(u<<9)+16>>2];c[o+(k<<9)+20>>2]=c[b+12456+(u<<9)+20>>2];c[o+(k<<9)+24>>2]=c[b+12456+(u<<9)+24>>2];c[o+(k<<9)+28>>2]=c[b+12456+(u<<9)+28>>2];c[o+(k<<9)+32>>2]=c[b+12456+(u<<9)+32>>2];c[o+(k<<9)+36>>2]=c[b+12456+(u<<9)+36>>2];g=g+1<<24>>24;k=g&255}while(i>>>0>k>>>0);tU(c[b+53420>>2]|0,o,p)|0;g=c[b+12448>>2]|0;if(!(h<<24>>24)){PT(b,g,o,e);PT(b,c[l>>2]|0,p,f)}else{OT(b,g,o,e);OT(b,c[l>>2]|0,p,f)}if(a[b+53426>>0]|0)a[n>>0]=0;if((c[b+12432>>2]|0?(a[m>>0]|0)==0:0)?(q=QT(b,0)|0,q<<24>>24):0){u=q;Gc=t;return u|0}k=b+53418|0;if(a[k>>0]|0){i=0;g=0;while(1){CY(b+12456+(g<<9)|0,b+12456+(g+(d[r>>0]|0)<<9)|0,512)|0;j=i+1<<24>>24;g=a[k>>0]|0;if((j&255)<(g&255)){i=j;g=j&255}else break}if((g&255)<40)s=21}else{g=0;s=21}if((s|0)==21)DY(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;u=b+12428|0;c[u>>2]=(c[u>>2]|0)+1;u=0;Gc=t;return u|0}function tU(e,g,i){e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0;Na=Gc;Gc=Gc+25088|0;ga=Na+20736|0;Ea=Na+16384|0;La=Na+8192|0;Ma=Na;DY(La|0,0,8192)|0;DY(Ma|0,0,8192)|0;P=e+718|0;Ka=e+9|0;if(a[P>>0]|0)if(a[Ka>>0]|0){u=e+3|0;w=e+38|0;y=e+72|0;j=e+106|0;k=e+123|0;z=e+5|0;A=e+1|0;B=e+7|0;G=e+4|0;I=e+26|0;J=e+6|0;t=0;s=0;while(1){Ia=a[u>>0]|0;l=(Ia&255)<3?7:15;Ja=t<<24>>24==0;m=s+-1|0;q=Ja?j:e+480+(m*17|0)|0;r=Ja?k:e+565+(m*17|0)|0;uU(a[e>>0]|0,e+140+(s*34|0)|0,Ja?w:e+140+(m*34|0)|0,a[e+16+s>>0]|0,a[z>>0]|0,Ia<<24>>24==0|Ia<<24>>24==3?2:1,0-(l&255)&255,l);l=a[G>>0]|0;uU(a[A>>0]|0,e+310+(s*34|0)|0,Ja?y:e+310+(m*34|0)|0,a[e+21+s>>0]|0,a[B>>0]|0,l<<24>>24==0|l<<24>>24==3?2:1,0,7);l=e+480+(s*17|0)|0;m=a[J>>0]|0;do if((a[I>>0]|0)==1)if(!(a[e+28+s>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else{ea=13;break}do{Ja=e+480+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+480+(s*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(!(m<<24>>24)){ea=13;break}else{l=0;m=0}do{Ja=e+480+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[q+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(m<<24>>24){l=0;m=0;do{a[e+480+(s*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}}while(0);a:do if((ea|0)==13){ea=0;m=a[J>>0]|0;l=e+565+(s*17|0)|0;if((a[I>>0]|0)!=1){n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}while(1){a[e+565+(s*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24;if((m|0)>=(n|0))break a}}if(!(a[e+33+s>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else break;do{Ja=e+565+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+565+(s*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}else{n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}do{Ja=e+565+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[r+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}}while(0);m=t+1<<24>>24;l=a[Ka>>0]|0;if((m&255)<(l&255)){t=m;s=m&255}else break}if(!(l<<24>>24))ea=24}else ea=24;else{a[Ka>>0]=0;ea=24}do if((ea|0)==24){a[Ka>>0]=1;if(!(a[e>>0]|0)){n=e+140|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+140>>0]=a[e+38>>0]|0;a[e+141>>0]=a[e+39>>0]|0;a[e+142>>0]=a[e+40>>0]|0;a[e+143>>0]=a[e+41>>0]|0;a[e+144>>0]=a[e+42>>0]|0;a[e+145>>0]=a[e+43>>0]|0;a[e+146>>0]=a[e+44>>0]|0;a[e+147>>0]=a[e+45>>0]|0;a[e+148>>0]=a[e+46>>0]|0;a[e+149>>0]=a[e+47>>0]|0;a[e+150>>0]=a[e+48>>0]|0;a[e+151>>0]=a[e+49>>0]|0;a[e+152>>0]=a[e+50>>0]|0;a[e+153>>0]=a[e+51>>0]|0;a[e+154>>0]=a[e+52>>0]|0;a[e+155>>0]=a[e+53>>0]|0;a[e+156>>0]=a[e+54>>0]|0;a[e+157>>0]=a[e+55>>0]|0;a[e+158>>0]=a[e+56>>0]|0;a[e+159>>0]=a[e+57>>0]|0;a[e+160>>0]=a[e+58>>0]|0;a[e+161>>0]=a[e+59>>0]|0;a[e+162>>0]=a[e+60>>0]|0;a[e+163>>0]=a[e+61>>0]|0;a[e+164>>0]=a[e+62>>0]|0;a[e+165>>0]=a[e+63>>0]|0;a[e+166>>0]=a[e+64>>0]|0;a[e+167>>0]=a[e+65>>0]|0;a[e+168>>0]=a[e+66>>0]|0;a[e+169>>0]=a[e+67>>0]|0;a[e+170>>0]=a[e+68>>0]|0;a[e+171>>0]=a[e+69>>0]|0;a[e+172>>0]=a[e+70>>0]|0;a[e+173>>0]=a[e+71>>0]|0}if(!(a[e+1>>0]|0)){n=e+310|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+310>>0]=a[e+72>>0]|0;a[e+311>>0]=a[e+73>>0]|0;a[e+312>>0]=a[e+74>>0]|0;a[e+313>>0]=a[e+75>>0]|0;a[e+314>>0]=a[e+76>>0]|0;a[e+315>>0]=a[e+77>>0]|0;a[e+316>>0]=a[e+78>>0]|0;a[e+317>>0]=a[e+79>>0]|0;a[e+318>>0]=a[e+80>>0]|0;a[e+319>>0]=a[e+81>>0]|0;a[e+320>>0]=a[e+82>>0]|0;a[e+321>>0]=a[e+83>>0]|0;a[e+322>>0]=a[e+84>>0]|0;a[e+323>>0]=a[e+85>>0]|0;a[e+324>>0]=a[e+86>>0]|0;a[e+325>>0]=a[e+87>>0]|0;a[e+326>>0]=a[e+88>>0]|0;a[e+327>>0]=a[e+89>>0]|0;a[e+328>>0]=a[e+90>>0]|0;a[e+329>>0]=a[e+91>>0]|0;a[e+330>>0]=a[e+92>>0]|0;a[e+331>>0]=a[e+93>>0]|0;a[e+332>>0]=a[e+94>>0]|0;a[e+333>>0]=a[e+95>>0]|0;a[e+334>>0]=a[e+96>>0]|0;a[e+335>>0]=a[e+97>>0]|0;a[e+336>>0]=a[e+98>>0]|0;a[e+337>>0]=a[e+99>>0]|0;a[e+338>>0]=a[e+100>>0]|0;a[e+339>>0]=a[e+101>>0]|0;a[e+340>>0]=a[e+102>>0]|0;a[e+341>>0]=a[e+103>>0]|0;a[e+342>>0]=a[e+104>>0]|0;a[e+343>>0]=a[e+105>>0]|0}if(!(a[e+26>>0]|0)){j=e+565|0;n=e+480|0;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));n=j;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));k=e+123|0;j=e+106|0;break}else{j=e+106|0;a[e+480>>0]=a[j>>0]|0;k=e+123|0;a[e+565>>0]=a[k>>0]|0;a[e+481>>0]=a[e+107>>0]|0;a[e+566>>0]=a[e+124>>0]|0;a[e+482>>0]=a[e+108>>0]|0;a[e+567>>0]=a[e+125>>0]|0;a[e+483>>0]=a[e+109>>0]|0;a[e+568>>0]=a[e+126>>0]|0;a[e+484>>0]=a[e+110>>0]|0;a[e+569>>0]=a[e+127>>0]|0;a[e+485>>0]=a[e+111>>0]|0;a[e+570>>0]=a[e+128>>0]|0;a[e+486>>0]=a[e+112>>0]|0;a[e+571>>0]=a[e+129>>0]|0;a[e+487>>0]=a[e+113>>0]|0;a[e+572>>0]=a[e+130>>0]|0;a[e+488>>0]=a[e+114>>0]|0;a[e+573>>0]=a[e+131>>0]|0;a[e+489>>0]=a[e+115>>0]|0;a[e+574>>0]=a[e+132>>0]|0;a[e+490>>0]=a[e+116>>0]|0;a[e+575>>0]=a[e+133>>0]|0;a[e+491>>0]=a[e+117>>0]|0;a[e+576>>0]=a[e+134>>0]|0;a[e+492>>0]=a[e+118>>0]|0;a[e+577>>0]=a[e+135>>0]|0;a[e+493>>0]=a[e+119>>0]|0;a[e+578>>0]=a[e+136>>0]|0;a[e+494>>0]=a[e+120>>0]|0;a[e+579>>0]=a[e+137>>0]|0;a[e+495>>0]=a[e+121>>0]|0;a[e+580>>0]=a[e+138>>0]|0;a[e+496>>0]=a[e+122>>0]|0;a[e+581>>0]=a[e+139>>0]|0;break}}while(0);Ja=(d[Ka>>0]|0)+-1|0;a[e+38>>0]=a[e+140+(Ja*34|0)>>0]|0;a[e+39>>0]=a[e+140+(Ja*34|0)+1>>0]|0;a[e+40>>0]=a[e+140+(Ja*34|0)+2>>0]|0;a[e+41>>0]=a[e+140+(Ja*34|0)+3>>0]|0;a[e+42>>0]=a[e+140+(Ja*34|0)+4>>0]|0;a[e+43>>0]=a[e+140+(Ja*34|0)+5>>0]|0;a[e+44>>0]=a[e+140+(Ja*34|0)+6>>0]|0;a[e+45>>0]=a[e+140+(Ja*34|0)+7>>0]|0;a[e+46>>0]=a[e+140+(Ja*34|0)+8>>0]|0;a[e+47>>0]=a[e+140+(Ja*34|0)+9>>0]|0;a[e+48>>0]=a[e+140+(Ja*34|0)+10>>0]|0;a[e+49>>0]=a[e+140+(Ja*34|0)+11>>0]|0;a[e+50>>0]=a[e+140+(Ja*34|0)+12>>0]|0;a[e+51>>0]=a[e+140+(Ja*34|0)+13>>0]|0;a[e+52>>0]=a[e+140+(Ja*34|0)+14>>0]|0;a[e+53>>0]=a[e+140+(Ja*34|0)+15>>0]|0;a[e+54>>0]=a[e+140+(Ja*34|0)+16>>0]|0;a[e+55>>0]=a[e+140+(Ja*34|0)+17>>0]|0;a[e+56>>0]=a[e+140+(Ja*34|0)+18>>0]|0;a[e+57>>0]=a[e+140+(Ja*34|0)+19>>0]|0;a[e+58>>0]=a[e+140+(Ja*34|0)+20>>0]|0;a[e+59>>0]=a[e+140+(Ja*34|0)+21>>0]|0;a[e+60>>0]=a[e+140+(Ja*34|0)+22>>0]|0;a[e+61>>0]=a[e+140+(Ja*34|0)+23>>0]|0;a[e+62>>0]=a[e+140+(Ja*34|0)+24>>0]|0;a[e+63>>0]=a[e+140+(Ja*34|0)+25>>0]|0;a[e+64>>0]=a[e+140+(Ja*34|0)+26>>0]|0;a[e+65>>0]=a[e+140+(Ja*34|0)+27>>0]|0;a[e+66>>0]=a[e+140+(Ja*34|0)+28>>0]|0;a[e+67>>0]=a[e+140+(Ja*34|0)+29>>0]|0;a[e+68>>0]=a[e+140+(Ja*34|0)+30>>0]|0;a[e+69>>0]=a[e+140+(Ja*34|0)+31>>0]|0;a[e+70>>0]=a[e+140+(Ja*34|0)+32>>0]|0;a[e+71>>0]=a[e+140+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[e+72>>0]=a[e+310+(Ja*34|0)>>0]|0;a[e+73>>0]=a[e+310+(Ja*34|0)+1>>0]|0;a[e+74>>0]=a[e+310+(Ja*34|0)+2>>0]|0;a[e+75>>0]=a[e+310+(Ja*34|0)+3>>0]|0;a[e+76>>0]=a[e+310+(Ja*34|0)+4>>0]|0;a[e+77>>0]=a[e+310+(Ja*34|0)+5>>0]|0;a[e+78>>0]=a[e+310+(Ja*34|0)+6>>0]|0;a[e+79>>0]=a[e+310+(Ja*34|0)+7>>0]|0;a[e+80>>0]=a[e+310+(Ja*34|0)+8>>0]|0;a[e+81>>0]=a[e+310+(Ja*34|0)+9>>0]|0;a[e+82>>0]=a[e+310+(Ja*34|0)+10>>0]|0;a[e+83>>0]=a[e+310+(Ja*34|0)+11>>0]|0;a[e+84>>0]=a[e+310+(Ja*34|0)+12>>0]|0;a[e+85>>0]=a[e+310+(Ja*34|0)+13>>0]|0;a[e+86>>0]=a[e+310+(Ja*34|0)+14>>0]|0;a[e+87>>0]=a[e+310+(Ja*34|0)+15>>0]|0;a[e+88>>0]=a[e+310+(Ja*34|0)+16>>0]|0;a[e+89>>0]=a[e+310+(Ja*34|0)+17>>0]|0;a[e+90>>0]=a[e+310+(Ja*34|0)+18>>0]|0;a[e+91>>0]=a[e+310+(Ja*34|0)+19>>0]|0;a[e+92>>0]=a[e+310+(Ja*34|0)+20>>0]|0;a[e+93>>0]=a[e+310+(Ja*34|0)+21>>0]|0;a[e+94>>0]=a[e+310+(Ja*34|0)+22>>0]|0;a[e+95>>0]=a[e+310+(Ja*34|0)+23>>0]|0;a[e+96>>0]=a[e+310+(Ja*34|0)+24>>0]|0;a[e+97>>0]=a[e+310+(Ja*34|0)+25>>0]|0;a[e+98>>0]=a[e+310+(Ja*34|0)+26>>0]|0;a[e+99>>0]=a[e+310+(Ja*34|0)+27>>0]|0;a[e+100>>0]=a[e+310+(Ja*34|0)+28>>0]|0;a[e+101>>0]=a[e+310+(Ja*34|0)+29>>0]|0;a[e+102>>0]=a[e+310+(Ja*34|0)+30>>0]|0;a[e+103>>0]=a[e+310+(Ja*34|0)+31>>0]|0;a[e+104>>0]=a[e+310+(Ja*34|0)+32>>0]|0;a[e+105>>0]=a[e+310+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[j>>0]=a[e+480+(Ja*17|0)>>0]|0;a[k>>0]=a[e+565+(Ja*17|0)>>0]|0;a[e+107>>0]=a[e+480+(Ja*17|0)+1>>0]|0;a[e+124>>0]=a[e+565+(Ja*17|0)+1>>0]|0;a[e+108>>0]=a[e+480+(Ja*17|0)+2>>0]|0;a[e+125>>0]=a[e+565+(Ja*17|0)+2>>0]|0;a[e+109>>0]=a[e+480+(Ja*17|0)+3>>0]|0;a[e+126>>0]=a[e+565+(Ja*17|0)+3>>0]|0;a[e+110>>0]=a[e+480+(Ja*17|0)+4>>0]|0;a[e+127>>0]=a[e+565+(Ja*17|0)+4>>0]|0;a[e+111>>0]=a[e+480+(Ja*17|0)+5>>0]|0;a[e+128>>0]=a[e+565+(Ja*17|0)+5>>0]|0;a[e+112>>0]=a[e+480+(Ja*17|0)+6>>0]|0;a[e+129>>0]=a[e+565+(Ja*17|0)+6>>0]|0;a[e+113>>0]=a[e+480+(Ja*17|0)+7>>0]|0;a[e+130>>0]=a[e+565+(Ja*17|0)+7>>0]|0;a[e+114>>0]=a[e+480+(Ja*17|0)+8>>0]|0;a[e+131>>0]=a[e+565+(Ja*17|0)+8>>0]|0;a[e+115>>0]=a[e+480+(Ja*17|0)+9>>0]|0;a[e+132>>0]=a[e+565+(Ja*17|0)+9>>0]|0;a[e+116>>0]=a[e+480+(Ja*17|0)+10>>0]|0;a[e+133>>0]=a[e+565+(Ja*17|0)+10>>0]|0;a[e+117>>0]=a[e+480+(Ja*17|0)+11>>0]|0;a[e+134>>0]=a[e+565+(Ja*17|0)+11>>0]|0;a[e+118>>0]=a[e+480+(Ja*17|0)+12>>0]|0;a[e+135>>0]=a[e+565+(Ja*17|0)+12>>0]|0;a[e+119>>0]=a[e+480+(Ja*17|0)+13>>0]|0;a[e+136>>0]=a[e+565+(Ja*17|0)+13>>0]|0;a[e+120>>0]=a[e+480+(Ja*17|0)+14>>0]|0;a[e+137>>0]=a[e+565+(Ja*17|0)+14>>0]|0;a[e+121>>0]=a[e+480+(Ja*17|0)+15>>0]|0;a[e+138>>0]=a[e+565+(Ja*17|0)+15>>0]|0;a[e+122>>0]=a[e+480+(Ja*17|0)+16>>0]|0;a[e+139>>0]=a[e+565+(Ja*17|0)+16>>0]|0;a[P>>0]=0;Ja=(a[e+8>>0]|0)==0;Ca=e+10|0;a[Ca>>0]=0;k=a[Ka>>0]|0;m=k&255;if(!Ja){q=e+725|0;if((d[e+10+m>>0]|0)<(d[q>>0]|0)){j=m+-1|0;k=0;do{a[e+140+(m*34|0)+k>>0]=a[e+140+(j*34|0)+k>>0]|0;a[e+310+(m*34|0)+k>>0]=a[e+310+(j*34|0)+k>>0]|0;k=k+1|0}while((k|0)!=34);j=a[Ka>>0]|0;Ja=j&255;Ia=Ja+-1|0;a[e+480+(Ja*17|0)>>0]=a[e+480+(Ia*17|0)>>0]|0;a[e+565+(Ja*17|0)>>0]=a[e+565+(Ia*17|0)>>0]|0;a[e+480+(Ja*17|0)+1>>0]=a[e+480+(Ia*17|0)+1>>0]|0;a[e+565+(Ja*17|0)+1>>0]=a[e+565+(Ia*17|0)+1>>0]|0;a[e+480+(Ja*17|0)+2>>0]=a[e+480+(Ia*17|0)+2>>0]|0;a[e+565+(Ja*17|0)+2>>0]=a[e+565+(Ia*17|0)+2>>0]|0;a[e+480+(Ja*17|0)+3>>0]=a[e+480+(Ia*17|0)+3>>0]|0;a[e+565+(Ja*17|0)+3>>0]=a[e+565+(Ia*17|0)+3>>0]|0;a[e+480+(Ja*17|0)+4>>0]=a[e+480+(Ia*17|0)+4>>0]|0;a[e+565+(Ja*17|0)+4>>0]=a[e+565+(Ia*17|0)+4>>0]|0;a[e+480+(Ja*17|0)+5>>0]=a[e+480+(Ia*17|0)+5>>0]|0;a[e+565+(Ja*17|0)+5>>0]=a[e+565+(Ia*17|0)+5>>0]|0;a[e+480+(Ja*17|0)+6>>0]=a[e+480+(Ia*17|0)+6>>0]|0;a[e+565+(Ja*17|0)+6>>0]=a[e+565+(Ia*17|0)+6>>0]|0;a[e+480+(Ja*17|0)+7>>0]=a[e+480+(Ia*17|0)+7>>0]|0;a[e+565+(Ja*17|0)+7>>0]=a[e+565+(Ia*17|0)+7>>0]|0;a[e+480+(Ja*17|0)+8>>0]=a[e+480+(Ia*17|0)+8>>0]|0;a[e+565+(Ja*17|0)+8>>0]=a[e+565+(Ia*17|0)+8>>0]|0;a[e+480+(Ja*17|0)+9>>0]=a[e+480+(Ia*17|0)+9>>0]|0;a[e+565+(Ja*17|0)+9>>0]=a[e+565+(Ia*17|0)+9>>0]|0;a[e+480+(Ja*17|0)+10>>0]=a[e+480+(Ia*17|0)+10>>0]|0;a[e+565+(Ja*17|0)+10>>0]=a[e+565+(Ia*17|0)+10>>0]|0;a[e+480+(Ja*17|0)+11>>0]=a[e+480+(Ia*17|0)+11>>0]|0;a[e+565+(Ja*17|0)+11>>0]=a[e+565+(Ia*17|0)+11>>0]|0;a[e+480+(Ja*17|0)+12>>0]=a[e+480+(Ia*17|0)+12>>0]|0;a[e+565+(Ja*17|0)+12>>0]=a[e+565+(Ia*17|0)+12>>0]|0;a[e+480+(Ja*17|0)+13>>0]=a[e+480+(Ia*17|0)+13>>0]|0;a[e+565+(Ja*17|0)+13>>0]=a[e+565+(Ia*17|0)+13>>0]|0;a[e+480+(Ja*17|0)+14>>0]=a[e+480+(Ia*17|0)+14>>0]|0;a[e+565+(Ja*17|0)+14>>0]=a[e+565+(Ia*17|0)+14>>0]|0;a[e+480+(Ja*17|0)+15>>0]=a[e+480+(Ia*17|0)+15>>0]|0;a[e+565+(Ja*17|0)+15>>0]=a[e+565+(Ia*17|0)+15>>0]|0;a[e+480+(Ja*17|0)+16>>0]=a[e+480+(Ia*17|0)+16>>0]|0;a[e+565+(Ja*17|0)+16>>0]=a[e+565+(Ia*17|0)+16>>0]|0;j=j+1<<24>>24;a[Ka>>0]=j;a[(j&255)+(e+10)>>0]=a[q>>0]|0}else j=k;if((j&255)>1){l=j&255;n=1;do{j=n-l+(d[q>>0]|0)|0;m=e+10+n|0;k=d[m>>0]|0;if((j<<24>>24|0)>=(k|0)){j=(d[n+-1+(e+10)>>0]|0)+1|0;if((j<<24>>24|0)>(k|0))ea=45}else ea=45;if((ea|0)==45){ea=0;a[m>>0]=j}n=n+1|0}while((n|0)!=(l|0))}}else{l=e+725|0;j=a[l>>0]|0;if((k&255)>1?(a[e+11>>0]=(j&255)/(k&255)|0,k<<24>>24!=2):0){k=2;do{a[e+10+k>>0]=((H(k,j&255)|0)>>>0)/(m>>>0)|0;k=k+1|0;j=a[l>>0]|0}while(k>>>0<m>>>0)}a[e+10+m>>0]=j}Ja=e+724|0;j=a[Ja>>0]|0;do if(!(j<<24>>24)){s=3;r=20;q=10;n=22;m=177708;l=248441;k=e+732|0;j=0}else{k=a[Ka>>0]|0;if(k<<24>>24){m=e+4|0;n=e+27|0;l=a[e+3>>0]|0;k=k&255;b:do if(l<<24>>24==2){j=0;while(1){switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}else{j=0;while(1){switch(l<<24>>24){case 5:case 2:break;default:{Ia=e+140+(j*34|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+140+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;DY(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}while(0);j=a[Ja>>0]|0;k=e+732|0;if(!(j<<24>>24)){s=3;r=20;q=10;n=22;m=177708;l=248441;j=0;break}}else k=e+732|0;s=5;r=34;q=32;n=50;m=177608;l=248390}while(0);c[k>>2]=l;Ia=e+736|0;c[Ia>>2]=m;Ha=e+726|0;a[Ha>>0]=n;Ga=e+727|0;a[Ga>>0]=q;fa=e+728|0;a[fa>>0]=r;Ba=e+730|0;a[Ba>>0]=s;Fa=e+720|0;y=c[Fa>>2]|0;z=a[e+725>>0]|0;P=j<<24>>24!=0;A=P?y+4|0:y+1|0;B=P?5:3;G=y+12|0;I=y+16|0;J=y+20|0;P=P?167156:167184;_=P+24|0;$=P+20|0;aa=P+16|0;ba=P+4|0;ca=P+12|0;da=P+8|0;s=0;w=0;r=0;while(1){n=c[G>>2]|0;l=c[(c[I>>2]|0)+(r<<2)>>2]|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));l=a[y>>0]|0;q=c[G>>2]|0;if(!(l<<24>>24))l=0;else{m=l&255;n=0;do{va=n+6|0;Aa=n+12|0;c[q+(Aa<<3)>>2]=c[g+(va<<9)+(r<<3)>>2];c[q+(Aa<<3)+4>>2]=c[g+(va<<9)+(r<<3)+4>>2];n=n+1|0}while((n|0)!=(m|0))}n=c[(c[I>>2]|0)+(r<<2)>>2]|0;l=q+((l&255)<<3)|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));u=A+r|0;l=a[u>>0]|0;Aa=(l&255)+-2|0;switch(Aa>>>1|Aa<<31|0){case 0:{m=a[y>>0]|0;n=c[G>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ja=l+12|0;T=(+f[n+(l<<3)>>2]+ +f[n+(ja<<3)>>2])*0.0;Aa=l;l=l+1|0;ka=Aa+11|0;U=(+f[n+(l<<3)>>2]+ +f[n+(ka<<3)>>2])*.018994875252246857;la=Aa+2|0;ma=Aa+10|0;V=(+f[n+(la<<3)>>2]+ +f[n+(ma<<3)>>2])*0.0;pa=Aa+3|0;qa=Aa+9|0;W=(+f[n+(pa<<3)>>2]+ +f[n+(qa<<3)>>2])*-.07293139398097992;ra=Aa+4|0;sa=Aa+8|0;X=(+f[n+(ra<<3)>>2]+ +f[n+(sa<<3)>>2])*0.0;ta=Aa+5|0;ua=Aa+7|0;Y=(+f[n+(ta<<3)>>2]+ +f[n+(ua<<3)>>2])*.305966317653656;va=Aa+6|0;S=+f[n+(va<<3)>>2]*.5;na=(+f[n+(Aa<<3)+4>>2]+ +f[n+(ja<<3)+4>>2])*0.0;oa=(+f[n+(l<<3)+4>>2]+ +f[n+(ka<<3)+4>>2])*.018994875252246857;wa=(+f[n+(la<<3)+4>>2]+ +f[n+(ma<<3)+4>>2])*0.0;xa=(+f[n+(pa<<3)+4>>2]+ +f[n+(qa<<3)+4>>2])*-.07293139398097992;ya=(+f[n+(ra<<3)+4>>2]+ +f[n+(sa<<3)+4>>2])*0.0;za=(+f[n+(ta<<3)+4>>2]+ +f[n+(ua<<3)+4>>2])*.305966317653656;Z=+f[n+(va<<3)+4>>2]*.5;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=S+(T+U+V+W+X+Y);f[Aa+4>>2]=Z+(na+oa+wa+xa+ya+za);f[Aa+8>>2]=S+(T-U+V-W+X-Y);f[Aa+12>>2]=Z+(na-oa+wa-xa+ya-za)}while((l|0)!=(m|0));ea=83}break}case 1:{m=a[y>>0]|0;n=c[G>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ua=l+2|0;va=l+10|0;ta=l+6|0;X=+f[n+(ta<<3)>>2]*.25-(+f[n+(ua<<3)>>2]+ +f[n+(va<<3)>>2])*0.0;Aa=l;l=l+1|0;O=+f[n+(l<<3)>>2];ja=Aa+11|0;Q=+f[n+(ja<<3)>>2];ka=Aa+3|0;R=+f[n+(ka<<3)>>2];la=Aa+9|0;S=+f[n+(la<<3)>>2];ma=Aa+5|0;za=+f[n+(ma<<3)>>2];pa=Aa+7|0;xa=+f[n+(pa<<3)>>2];Y=((R+S)*.07778724282979965-(O+Q)*.04871498420834541-(za+xa)*.23279856145381927)*-.7071067690849304;qa=Aa+12|0;ra=Aa+4|0;sa=Aa+8|0;na=(+f[n+(Aa<<3)+4>>2]-+f[n+(qa<<3)+4>>2])*-.059082113206386566-(+f[n+(ra<<3)+4>>2]-+f[n+(sa<<3)+4>>2])*.16486303508281708;V=+f[n+(l<<3)+4>>2];W=+f[n+(ja<<3)+4>>2];T=+f[n+(ka<<3)+4>>2];U=+f[n+(la<<3)+4>>2];Z=+f[n+(ma<<3)+4>>2];wa=+f[n+(pa<<3)+4>>2];oa=((V-W)*-.04871498420834541-(T-U)*.07778724282979965-(Z-wa)*.23279856145381927)*.7071067690849304;ya=(+f[n+(Aa<<3)>>2]-+f[n+(qa<<3)>>2])*-.059082113206386566-(+f[n+(ra<<3)>>2]-+f[n+(sa<<3)>>2])*.16486303508281708;xa=((O-Q)*-.04871498420834541-(R-S)*.07778724282979965-(za-xa)*.23279856145381927)*.7071067690849304;za=+f[n+(ta<<3)+4>>2]*.25-(+f[n+(ua<<3)+4>>2]+ +f[n+(va<<3)+4>>2])*0.0;wa=((T+U)*.07778724282979965-(V+W)*.04871498420834541-(Z+wa)*.23279856145381927)*-.7071067690849304;Z=X+Y;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=Z+na+oa;f[Aa+4>>2]=wa+(-ya-xa+za);Y=X-Y;f[Aa+8>>2]=Y-na+oa;f[Aa+12>>2]=ya-xa+za-wa;f[Aa+16>>2]=Y+na-oa;f[Aa+20>>2]=xa-ya+za-wa;f[Aa+24>>2]=Z-na-oa;f[Aa+28>>2]=wa+(xa+ya+za)}while((l|0)!=(m|0));ea=83}break}case 3:{m=a[y>>0]|0;n=c[G>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;o=+f[_>>2];p=+f[$>>2];x=+f[P>>2];C=+f[aa>>2];D=+f[ba>>2];E=+f[ca>>2];F=+f[da>>2];l=0;do{Ua=l+6|0;ya=o*+f[n+(Ua<<3)>>2];Ta=l+5|0;ja=n+(Ta<<3)|0;Sa=l+7|0;ia=n+(Sa<<3)|0;xa=p*(+f[ja>>2]+ +f[ia>>2]);la=n+(l<<3)|0;Oa=l+12|0;ka=n+(Oa<<3)|0;Ra=l+4|0;pa=n+(Ra<<3)|0;Qa=l+8|0;ma=n+(Qa<<3)|0;na=C*(+f[pa>>2]+ +f[ma>>2])-x*(+f[la>>2]+ +f[ka>>2]);Aa=l;l=l+1|0;ra=n+(l<<3)|0;ha=Aa+11|0;qa=n+(ha<<3)|0;r=Aa+3|0;ta=n+(r<<3)|0;t=Aa+9|0;sa=n+(t<<3)|0;za=E*(+f[ta>>2]+ +f[sa>>2])-D*(+f[ra>>2]+ +f[qa>>2]);Sa=n+(Sa<<3)+4|0;Ta=n+(Ta<<3)+4|0;oa=p*(+f[Sa>>2]-+f[Ta>>2]);Oa=n+(Oa<<3)+4|0;Pa=n+(Aa<<3)+4|0;Qa=n+(Qa<<3)+4|0;Ra=n+(Ra<<3)+4|0;Y=x*(+f[Oa>>2]-+f[Pa>>2])+C*(+f[Qa>>2]-+f[Ra>>2]);ha=n+(ha<<3)+4|0;ea=n+(l<<3)+4|0;t=n+(t<<3)+4|0;r=n+(r<<3)+4|0;wa=D*(+f[ha>>2]-+f[ea>>2])+E*(+f[t>>2]-+f[r>>2]);ua=Aa+10|0;va=Aa+2|0;Z=F*(+f[n+(ua<<3)+4>>2]-+f[n+(va<<3)+4>>2]);V=ya-Z;U=xa-wa;W=za-oa;T=(na-Y)*.7071067690849304;X=V-T;V=T+V;T=(W+U)*-.9238795042037964;U=U*1.3065630197525024+T;T=W*-.5411961078643799-T;Aa=q+(Aa<<2)|0;Va=c[Aa>>2]|0;f[Va+56>>2]=V+T;f[Va+40>>2]=X-U;f[Va+24>>2]=V-T;f[Va+8>>2]=X+U;Z=ya+Z;wa=xa+wa;oa=za+oa;Y=(na+Y)*.7071067690849304;na=Z-Y;Z=Y+Z;Y=(oa+wa)*-.9238795042037964;wa=wa*1.3065630197525024+Y;Y=oa*-.5411961078643799-Y;f[Va+48>>2]=na+wa;f[Va+32>>2]=Z-Y;f[Va+16>>2]=na-wa;f[Va>>2]=Z+Y;Y=o*+f[n+(Ua<<3)+4>>2];Z=p*(+f[Ta>>2]+ +f[Sa>>2]);wa=C*(+f[Ra>>2]+ +f[Qa>>2])-x*(+f[Pa>>2]+ +f[Oa>>2]);na=E*(+f[r>>2]+ +f[t>>2])-D*(+f[ea>>2]+ +f[ha>>2]);oa=p*(+f[ia>>2]-+f[ja>>2]);za=x*(+f[ka>>2]-+f[la>>2])+C*(+f[ma>>2]-+f[pa>>2]);xa=D*(+f[qa>>2]-+f[ra>>2])+E*(+f[sa>>2]-+f[ta>>2]);ya=F*(+f[n+(ua<<3)>>2]-+f[n+(va<<3)>>2]);U=Y+ya;X=Z+xa;T=na+oa;V=(wa+za)*.7071067690849304;W=U-V;U=V+U;V=(T+X)*-.9238795042037964;X=X*1.3065630197525024+V;V=T*-.5411961078643799-V;Aa=c[Aa>>2]|0;f[Aa+60>>2]=U+V;f[Aa+44>>2]=W-X;f[Aa+28>>2]=U-V;f[Aa+12>>2]=W+X;ya=Y-ya;xa=Z-xa;oa=na-oa;za=(wa-za)*.7071067690849304;wa=ya-za;ya=za+ya;za=(oa+xa)*-.9238795042037964;xa=xa*1.3065630197525024+za;za=oa*-.5411961078643799-za;f[Aa+52>>2]=wa+xa;f[Aa+36>>2]=ya-za;f[Aa+20>>2]=wa-xa;f[Aa+4>>2]=ya+za}while((l|0)!=(m|0));ea=83}break}case 5:{m=a[y>>0]|0;n=c[G>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{Ua=l+6|0;N=+f[n+(Ua<<3)>>2]*.0833333358168602;Va=l+12|0;V=+f[n+(Ua<<3)+4>>2]*.0833333358168602;p=(+f[n+(l<<3)>>2]-+f[n+(Va<<3)>>2])*.040811799466609955;X=(+f[n+(l<<3)+4>>2]-+f[n+(Va<<3)+4>>2])*.040811799466609955;Va=l;l=l+1|0;x=+f[n+(l<<3)>>2];Ua=Va+11|0;Wa=+f[n+(Ua<<3)>>2];W=(x+Wa)*.03812811151146889;S=+f[n+(l<<3)+4>>2];Ya=+f[n+(Ua<<3)+4>>2];_a=(S+Ya)*.03812811151146889;Wa=(x-Wa)*.03812811151146889;Ya=(S-Ya)*.03812811151146889;Ua=Va+2|0;S=+f[n+(Ua<<3)>>2];Ta=Va+10|0;x=+f[n+(Ta<<3)>>2];wa=(S+x)*.05144908279180527;R=+f[n+(Ua<<3)+4>>2];F=+f[n+(Ta<<3)+4>>2];ya=(R+F)*.05144908279180527;Ta=Va+3|0;o=+f[n+(Ta<<3)>>2];Ua=Va+9|0;C=+f[n+(Ua<<3)>>2];Xa=+f[n+(Ta<<3)+4>>2];O=+f[n+(Ua<<3)+4>>2];Ua=Va+4|0;Q=+f[n+(Ua<<3)>>2];Ta=Va+8|0;Za=+f[n+(Ta<<3)>>2];T=+f[n+(Ua<<3)+4>>2];E=+f[n+(Ta<<3)+4>>2];za=(Q-Za)*.07428313791751862;xa=(T-E)*.07428313791751862;Ta=Va+5|0;K=+f[n+(Ta<<3)>>2];Ua=Va+7|0;na=+f[n+(Ua<<3)>>2];Y=(K+na)*.08100347965955734;M=+f[n+(Ta<<3)+4>>2];Z=+f[n+(Ua<<3)+4>>2];oa=(M+Z)*.08100347965955734;na=(K-na)*.08100347965955734;Z=(M-Z)*.08100347965955734;M=(o+C)*.06399831175804138*.7071067690849304;K=N+M;M=N-M;N=(Y-W)*.7071067690849304;Za=wa*.5+(Q+Za)*.07428313791751862*.8660253882408142;Q=Za-wa;Y=W*.258819043636322+Y*.9659258127212524;W=Y-N;L=Za+(K+Y);D=M+N-wa;U=M+W-Q;Q=K-W-Q;wa=K-N-wa;Y=Za+(M-Y);M=(Xa+O)*.06399831175804138*.7071067690849304;Za=V+M;M=V-M;V=(oa-_a)*.7071067690849304;E=ya*.5+(T+E)*.07428313791751862*.8660253882408142;T=E-ya;oa=_a*.258819043636322+oa*.9659258127212524;_a=oa-V;N=E+(Za+oa);K=M+V-ya;W=M+_a-T;T=Za-_a-T;ya=Za-V-ya;oa=E+(M-oa);O=(Xa-O)*.06399831175804138*.7071067690849304;Xa=X+O;O=X-O;X=(Ya-Z)*.7071067690849304;F=(R-F)*.05144908279180527*.8660253882408142+xa*.5;R=F-xa;Z=Ya*.9659258127212524+Z*.258819043636322;Ya=Z-X;M=F+(Xa+Z);E=O+X-xa;V=O+Ya-R;R=Xa-Ya-R;xa=Xa-X-xa;Z=F+(O-Z);C=(o-C)*.06399831175804138*.7071067690849304;o=p+C;C=p-C;p=(Wa-na)*.7071067690849304;x=(S-x)*.05144908279180527*.8660253882408142+za*.5;S=x-za;na=Wa*.9659258127212524+na*.258819043636322;Wa=na-p;O=x+(o+na);F=C+p-za;X=C+Wa-S;S=o-Wa-S;za=o-p-za;na=x+(C-na);Va=c[q+(Va<<2)>>2]|0;f[Va>>2]=L-M;f[Va+4>>2]=O+N;f[Va+8>>2]=D+E;f[Va+12>>2]=K-F;f[Va+80>>2]=D-E;f[Va+84>>2]=F+K;f[Va+88>>2]=L+M;f[Va+92>>2]=N-O;f[Va+16>>2]=U-V;f[Va+20>>2]=X+W;f[Va+24>>2]=Q+R;f[Va+28>>2]=T-S;f[Va+64>>2]=Q-R;f[Va+68>>2]=S+T;f[Va+72>>2]=U+V;f[Va+76>>2]=W-X;f[Va+32>>2]=wa-xa;f[Va+36>>2]=za+ya;f[Va+40>>2]=Y+Z;f[Va+44>>2]=oa-na;f[Va+48>>2]=Y-Z;f[Va+52>>2]=na+oa;f[Va+56>>2]=wa+xa;f[Va+60>>2]=ya-za}while((l|0)!=(m|0));ea=83}break}default:ea=83}do if((ea|0)==83){ea=0;l=a[y>>0]|0;if(!(l<<24>>24)){l=a[u>>0]|0;ea=85;break}m=s&255;s=a[u>>0]|0;t=l&255;n=s;l=s;s=0;do{if(!(n<<24>>24))n=0;else{q=c[(c[J>>2]|0)+(s<<2)>>2]|0;r=a[u>>0]|0;n=0;l=0;while(1){Va=l+m|0;c[La+(s<<8)+(Va<<3)>>2]=c[q+(l<<3)>>2];c[La+(s<<8)+(Va<<3)+4>>2]=c[q+(l<<3)+4>>2];l=n+1<<24>>24;if((l&255)<(r&255)){n=l;l=l&255}else{l=r;n=r;break}}}s=s+1|0}while((s|0)!=(t|0))}while(0);if((ea|0)==85)m=s&255;w=w+1<<24>>24;r=w&255;if(B>>>0<=r>>>0)break;else s=m+(l&255)&255}if(j<<24>>24==0&z<<24>>24!=0){l=z&255;j=0;do{Va=La+(j<<8)+32|0;Ua=La+(j<<8)+24|0;f[Ua>>2]=+f[Va>>2]+ +f[Ua>>2];Ua=La+(j<<8)+36|0;Ta=La+(j<<8)+28|0;f[Ta>>2]=+f[Ua>>2]+ +f[Ta>>2];f[Va>>2]=0.0;f[Ua>>2]=0.0;Ua=La+(j<<8)+40|0;Va=La+(j<<8)+16|0;f[Va>>2]=+f[Ua>>2]+ +f[Va>>2];Va=La+(j<<8)+44|0;Ta=La+(j<<8)+20|0;f[Ta>>2]=+f[Va>>2]+ +f[Ta>>2];f[Ua>>2]=0.0;f[Va>>2]=0.0;j=j+1|0}while((j|0)!=(l|0))}DY(Ea|0,0,4352)|0;Aa=(a[Ja>>0]|0)==0;DY(ga|0,0,4352)|0;Aa=Aa?167212:167308;y=a[Ha>>0]|0;G=y<<24>>24==0;if(!G){u=c[Ia>>2]|0;w=c[k>>2]|0;z=d[Ga>>0]|0;A=y&255;B=0;do{m=B>>>0<z>>>0;if(m){l=a[w+B>>0]|0;j=l;l=(l&255)+1|0}else{j=a[w+B>>0]|0;l=d[w+(B+1)>>0]|0}n=j&255;t=l&255;c:do if(t>>>0>n>>>0){Va=a[Ca>>0]|0;r=Va&255;l=a[(d[Ka>>0]|0)+(e+10)>>0]|0;s=b[u+(B<<1)>>1]&255;if((Va&255)>=(l&255))while(1){j=j+1<<24>>24;if(t>>>0<=(j&255)>>>0)break c}q=l&255;if(m){l=n;do{m=r;do{Za=+f[La+(m<<8)+(l<<3)>>2];_a=+f[La+(m<<8)+(l<<3)+4>>2];Va=ga+(m*136|0)+(s<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(t>>>0>l>>>0)}else{l=n;do{m=r;do{Za=+f[g+(m<<9)+(l<<3)>>2];_a=+f[g+(m<<9)+(l<<3)+4>>2];Va=ga+(m*136|0)+(s<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(t>>>0>l>>>0)}}while(0);B=B+1|0}while((B|0)!=(A|0))}j=a[fa>>0]|0;if(j<<24>>24){z=e+20076|0;A=e+20080|0;w=a[Ca>>0]|0;u=(d[Ka>>0]|0)+(e+10)|0;B=w&255;t=j&255;j=a[u>>0]|0;s=0;do{if((w&255)<(j&255)){n=e+20084+(s<<2)|0;q=e+20356+(s<<2)|0;r=e+20220+(s<<2)|0;x=+f[z>>2];m=w;o=+f[n>>2];j=B;while(1){o=x*o;f[n>>2]=o;p=+f[ga+(j*136|0)+(s<<2)>>2];if(o<p){f[n>>2]=p;o=p}_a=+f[q>>2];Ya=+f[A>>2];_a=_a+Ya*(o-p-_a);f[q>>2]=_a;Za=+f[r>>2];Za=Za+Ya*(p-Za);f[r>>2]=Za;_a=_a*1.5;f[Ea+(j*136|0)+(s<<2)>>2]=!(_a<=Za)?Za/_a:1.0;l=m+1<<24>>24;j=a[u>>0]|0;if((l&255)<(j&255)){m=l;j=l&255}else break}}s=s+1|0}while((s|0)!=(t|0))}va=e+740|0;if(G){s=0;r=0;q=e+742|0;n=0;m=e+743|0;l=0;j=e+741|0}else{ra=e+729|0;j=e+741|0;sa=e+744|0;ta=e+745|0;ua=e+746|0;q=e+742|0;m=e+743|0;s=0;qa=0;r=0;n=0;l=0;pa=0;while(1){w=a[Ga>>0]|0;t=c[k>>2]|0;if((qa&255)<(w&255)){t=a[t+pa>>0]|0;u=(t&255)+1&255}else{u=a[t+(pa+1)>>0]|0;t=a[t+pa>>0]|0}if((t&255)<(u&255)){ma=u&255;t=t&255;while(1){if((qa&255)>=(w&255)?(Da=d[Ba>>0]|0,t>>>0>Da>>>0):0){Va=Da-t<<24;o=(Va|0)<-318767104?0.0:+(Va>>24|0)*.05000000074505806+1.0}else o=1.0;K=o*.6514390707015991;L=o*.5647181272506714;F=o*.4895416498184204;s=a[va>>0]|0;r=a[j>>0]|0;n=a[q>>0]|0;l=a[m>>0]|0;u=a[Ca>>0]|0;d:do if((u&255)<(d[(d[Ka>>0]|0)+(e+10)>>0]|0)){J=Aa+(t<<3)|0;P=167564+(t*24|0)|0;_=167852+(t*24|0)|0;$=168620+(t*24|0)|0;aa=170156+(t<<3)|0;ba=e+811+t|0;ca=e+747+t|0;da=167564+(t*24|0)|0;ea=167852+(t*24|0)|0;fa=167564+(t*24|0)+8|0;ga=167852+(t*24|0)+8|0;ha=167564+(t*24|0)+16|0;ia=167852+(t*24|0)+16|0;ja=168620+(t*24|0)+16|0;ka=168620+(t*24|0)+8|0;la=168620+(t*24|0)|0;I=u;G=u&255;while(1){w=(qa&255)<(w&255);y=w?La+(G<<8)+(t<<3)|0:g+(G<<9)+(t<<3)|0;u=c[y>>2]|0;y=c[y+4>>2]|0;if(w|t>>>0<=(d[ra>>0]|0)>>>0){Va=s&255;B=w?e+8044+(Va<<8)+(t<<3)+4|0:e+876+(Va<<9)+(t<<3)+4|0;Va=w?e+8044+(Va<<8)+(t<<3)|0:e+876+(Va<<9)+(t<<3)|0;A=w?J:aa;_a=+f[Va>>2];Ya=+f[B>>2];c[Va>>2]=u;c[B>>2]=y;Za=+f[A>>2];p=+f[A+4>>2];o=_a*Za+Ya*p;p=Ya*Za-_a*p;A=(qa&255)<(d[Ga>>0]|0);B=r&255;if(A){w=(a[Ja>>0]|0)==0;u=w?P:_;w=w?da:ea;y=e+16236+(B<<8)+(t<<3)|0;z=e+16236+(B<<8)+(t<<3)+4|0}else{u=$;w=la;y=e+8556+(B<<9)+(t<<3)|0;z=e+8556+(B<<9)+(t<<3)+4|0}_a=+f[y>>2];Ya=+f[z>>2];Za=+f[w>>2];D=+f[u+4>>2];x=_a*Za+Ya*D-K*o;D=Ya*Za-_a*D-K*p;o=o+K*x;if(A){f[e+16236+(B<<8)+(t<<3)>>2]=o;u=e+16236+(B<<8)+(t<<3)|0}else{f[e+8556+(B<<9)+(t<<3)>>2]=o;u=e+8556+(B<<9)+(t<<3)|0}f[u+4>>2]=p+K*D;A=(qa&255)<(d[Ga>>0]|0);B=n&255;if(A){w=(a[Ja>>0]|0)==0;u=w?P:_;w=w?fa:ga;y=e+17516+(B<<8)+(t<<3)|0;z=e+17516+(B<<8)+(t<<3)+4|0}else{u=$;w=ka;y=e+11116+(B<<9)+(t<<3)|0;z=e+11116+(B<<9)+(t<<3)+4|0}o=+f[y>>2];Za=+f[z>>2];_a=+f[w>>2];E=+f[u+12>>2];C=o*_a+Za*E-L*x;E=Za*_a-o*E-L*D;o=x+L*C;if(A){f[e+17516+(B<<8)+(t<<3)>>2]=o;u=e+17516+(B<<8)+(t<<3)|0}else{f[e+11116+(B<<9)+(t<<3)>>2]=o;u=e+11116+(B<<9)+(t<<3)|0}f[u+4>>2]=D+L*E;A=(qa&255)<(d[Ga>>0]|0);B=l&255;if(A){w=(a[Ja>>0]|0)==0;u=w?P:_;w=w?ha:ia;y=e+18796+(B<<8)+(t<<3)|0;z=e+18796+(B<<8)+(t<<3)+4|0}else{u=$;w=ja;y=e+13676+(B<<9)+(t<<3)|0;z=e+13676+(B<<9)+(t<<3)+4|0}x=+f[y>>2];Za=+f[z>>2];_a=+f[w>>2];o=+f[u+20>>2];p=x*_a+Za*o-F*C;o=Za*_a-x*o-F*E;x=C+F*p;if(A){f[e+18796+(B<<8)+(t<<3)>>2]=x;u=e+18796+(B<<8)+(t<<3)|0}else{f[e+13676+(B<<9)+(t<<3)>>2]=x;u=e+13676+(B<<9)+(t<<3)|0}f[u+4>>2]=E+F*o}else{Ua=d[ba>>0]|0;p=+f[e+876+(Ua<<9)+(t<<3)>>2];Va=e+876+(Ua<<9)+(t<<3)+4|0;o=+f[Va>>2];c[e+876+(Ua<<9)+(t<<3)>>2]=u;c[Va>>2]=y}_a=+f[Ea+(G*136|0)+((b[(c[Ia>>2]|0)+(pa<<1)>>1]&255)<<2)>>2];Va=(qa&255)<(d[Ga>>0]|0);Ua=Va?Ma+(G<<8)+(t<<3)|0:i+(G<<9)+(t<<3)|0;f[Ua>>2]=p*_a;f[Ua+4>>2]=o*_a;s=s+1<<24>>24;s=(s&255)>1?0:s;if(!(Va|t>>>0<=(d[ra>>0]|0)>>>0)){Va=(a[ba>>0]|0)+1<<24>>24;a[ba>>0]=(Va&255)<(d[ca>>0]|0)?Va:0}r=r+1<<24>>24;r=(r&255)<(d[sa>>0]|0)?r:0;n=n+1<<24>>24;n=(n&255)<(d[ta>>0]|0)?n:0;l=l+1<<24>>24;l=(l&255)<(d[ua>>0]|0)?l:0;u=I+1<<24>>24;if((u&255)>=(d[(d[Ka>>0]|0)+(e+10)>>0]|0))break d;I=u;w=a[Ga>>0]|0;G=u&255}}while(0);t=t+1|0;if((t|0)==(ma|0))break;w=a[Ga>>0]|0}u=a[Ha>>0]|0}else u=y;t=qa+1<<24>>24;if((t&255)<(u&255)){qa=t;pa=t&255;y=u}else break}}a[va>>0]=s;a[j>>0]=r;a[q>>0]=n;a[m>>0]=l;ja=e+3|0;j=(d[ja>>0]|0)>2;ia=j?170668:170792;switch(a[e+27>>0]|0){case 3:case 0:{l=11;break}default:l=a[e+6>>0]|0}if(a[Ha>>0]|0){ka=e+4|0;fa=j?15:7;ga=e+26|0;ha=e+22092|0;ea=l&255;da=c[k>>2]|0;ca=0;O=0.0;N=0.0;M=0.0;L=0.0;K=0.0;F=0.0;E=0.0;D=0.0;C=0.0;x=0.0;p=0.0;o=0.0;J=0;while(1){if((ca&255)<(d[Ga>>0]|0))j=(d[da+J>>0]|0)+1|0;else j=d[da+(J+1)>>0]|0;if(a[Ka>>0]|0){P=b[(c[Ia>>2]|0)+(J<<1)>>1]&255;_=e+20492+(J<<3)|0;$=e+20892+(J<<3)|0;aa=e+21292+(J<<3)|0;ba=e+21692+(J<<3)|0;w=j&255;y=P>>>0<ea>>>0;z=e+20492+(J<<3)+4|0;A=e+20892+(J<<3)+4|0;B=e+21292+(J<<3)+4|0;G=e+21692+(J<<3)+4|0;I=da+J|0;u=0;na=O;r=0;while(1){if((d[ka>>0]|0)<3){j=a[e+140+(r*34|0)+P>>0]|0;k=j<<24>>24;S=+f[ia+(fa+k<<2)>>2];T=+f[ia+(fa-k<<2)>>2];l=a[e+310+(r*34|0)+P>>0]|0;Q=+f[170852+(l<<2)>>2];R=+f[170884+(l<<2)>>2];j=j<<24>>24<0;do if((d[ja>>0]|0)>2)if(j){j=0-k|0;O=-+f[171428+(j<<5)+(l<<2)>>2];j=170916+(j<<5)+(l<<2)|0;break}else{O=+f[171428+(k<<5)+(l<<2)>>2];j=170916+(k<<5)+(l<<2)|0;break}else if(j){j=0-k|0;O=-+f[172196+(j<<5)+(l<<2)>>2];j=171940+(j<<5)+(l<<2)|0;break}else{O=+f[172196+(k<<5)+(l<<2)>>2];j=171940+(k<<5)+(l<<2)|0;break}while(0);V=+f[j>>2];Za=Q*V;_a=R*O;W=Q*O;V=R*V;U=S*(W-V);V=T*(W+V);W=S*(_a+Za);T=T*(Za-_a)}else{j=a[e+140+(r*34|0)+P>>0]|0;n=j<<24>>24;j=j<<24>>24>-1?n:0-n|0;n=fa+n|0;q=a[e+310+(r*34|0)+P>>0]|0;if((d[ja>>0]|0)>2){l=j&255;k=173956+(l<<5)+(q<<2)|0;l=173444+(l<<5)+(q<<2)|0;m=172452+(n<<5)+(q<<2)|0;j=172452+(30-n<<5)+(q<<2)|0}else{l=j&255;k=175204+(l<<5)+(q<<2)|0;l=174948+(l<<5)+(q<<2)|0;m=174468+(n<<5)+(q<<2)|0;j=174468+(14-n<<5)+(q<<2)|0}V=+f[k>>2];_a=+f[l>>2];T=+f[m>>2];W=+f[j>>2];U=V*W*1.4142135381698608;V=V*T*-1.4142135381698608;W=_a*W*1.4142135381698608;T=_a*T*1.4142135381698608}j=a[ga>>0]|0;if(j<<24>>24)if(y){Va=a[ha>>0]|0;Qa=Va<<24>>24;Sa=e+22096+(P<<4)+(Qa<<3)|0;x=+f[Sa>>2]*.25;Pa=e+22096+(P<<4)+(Qa<<3)+4|0;C=+f[Pa>>2]*.25;Ua=e+22416+(P<<4)+(Qa<<3)|0;O=+f[Ua>>2]*.25;Qa=e+22416+(P<<4)+(Qa<<3)+4|0;Q=+f[Qa>>2]*.25;Oa=e+480+(r*17|0)+P|0;Ta=a[Oa>>0]|0;Ra=Ta<<24>>24;Ra=c[175460+((Ta<<24>>24>-1?Ra:0-Ra|0)<<2)>>2]|0;c[Sa>>2]=Ra;Oa=a[Oa>>0]|0;Sa=Oa<<24>>24;Sa=c[175496+((Oa<<24>>24>-1?Sa:0-Sa|0)<<2)>>2]|0;c[Pa>>2]=Sa;Pa=e+565+(r*17|0)+P|0;Oa=a[Pa>>0]|0;Ta=Oa<<24>>24;Ta=c[175460+((Oa<<24>>24>-1?Ta:0-Ta|0)<<2)>>2]|0;c[Ua>>2]=Ta;Pa=a[Pa>>0]|0;Ua=Pa<<24>>24;Ua=c[175496+((Pa<<24>>24>-1?Ua:0-Ua|0)<<2)>>2]|0;c[Qa>>2]=Ua;x=x+(c[h>>2]=Ra,+f[h>>2]);C=C+(c[h>>2]=Sa,+f[h>>2]);O=O+(c[h>>2]=Ta,+f[h>>2]);Va=Va<<24>>24==0?1:Va+-1<<24>>24<<24>>24;x=x+ +f[e+22096+(P<<4)+(Va<<3)>>2]*.5;C=C+ +f[e+22096+(P<<4)+(Va<<3)+4>>2]*.5;O=O+ +f[e+22416+(P<<4)+(Va<<3)>>2]*.5;Q=Q+(c[h>>2]=Ua,+f[h>>2])+ +f[e+22416+(P<<4)+(Va<<3)+4>>2]*.5;o=+v(+(O*O+Q*Q));p=+v(+(x*x+C*C));if(o!=0.0){S=Q/o;R=O/o}else{S=0.0;R=0.0}o=o*p;if(o!=0.0){p=(x*O+C*Q)/o;o=(x*Q-C*O)/o}else{p=0.0;o=0.0}Y=U*p;Z=V*R;X=W*p;Q=T*R;C=U*o;x=V*S;p=W*o;o=T*S;j=a[ga>>0]|0}else{Y=U;Z=V;X=W;Q=T}else{Y=U;Z=V;X=W;Q=T;j=0}t=r+1+(e+10)|0;k=e+10+r|0;O=+((d[t>>0]|0)-(d[k>>0]|0)|0);U=+f[_>>2];wa=(Q-U)/O;T=+f[$>>2];xa=(X-T)/O;S=+f[aa>>2];ya=(Z-S)/O;R=+f[ba>>2];za=(Y-R)/O;f[_>>2]=Q;f[$>>2]=X;f[aa>>2]=Z;f[ba>>2]=Y;s=j<<24>>24==0;if(!s?y:0){D=+f[z>>2];L=(o-D)/O;E=+f[A>>2];M=(p-E)/O;F=+f[B>>2];N=(x-F)/O;K=+f[G>>2];O=(C-K)/O;if(b[(c[Ia>>2]|0)+(J<<1)>>1]&4096){O=-O;N=-N;M=-M;L=-L;K=-K;F=-F;E=-E;D=-D}f[z>>2]=o;f[A>>2]=p;f[B>>2]=x;f[G>>2]=C}else O=na;j=a[k>>0]|0;if((j&255)<(d[t>>0]|0)){r=j;oa=R;na=S;Z=T;Y=U;q=j&255;while(1){Y=wa+Y;Z=xa+Z;na=ya+na;oa=za+oa;if(!s){K=y?O+K:K;F=y?N+F:F;E=y?M+E:E;D=y?L+D:D}j=a[I>>0]|0;k=j&255;e:do if(w>>>0>k>>>0)if((ca&255)<(d[Ga>>0]|0)){if(s)while(1){Sa=La+(q<<8)+(k<<3)|0;Ta=La+(q<<8)+(k<<3)+4|0;Ua=Ma+(q<<8)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=Ma+(q<<8)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(w>>>0<=k>>>0)break e}do{m=La+(q<<8)+(k<<3)|0;n=La+(q<<8)+(k<<3)+4|0;l=Ma+(q<<8)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=Ma+(q<<8)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(y){T=T-(E*V+K*U);S=S-(D*V+F*U);R=F*W+D*X+R;Q=K*W+E*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(w>>>0>k>>>0)}else{if(s)while(1){Sa=g+(q<<9)+(k<<3)|0;Ta=g+(q<<9)+(k<<3)+4|0;Ua=i+(q<<9)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=i+(q<<9)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(w>>>0<=k>>>0)break e}do{m=g+(q<<9)+(k<<3)|0;n=g+(q<<9)+(k<<3)+4|0;l=i+(q<<9)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=i+(q<<9)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(y){T=T-(E*V+K*U);S=S-(D*V+F*U);R=F*W+D*X+R;Q=K*W+E*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(w>>>0>k>>>0)}while(0);j=r+1<<24>>24;if((j&255)>=(d[t>>0]|0))break;else{r=j;q=j&255}}}j=(a[ha>>0]|0)+1<<24>>24;a[ha>>0]=j<<24>>24==2?0:j;j=u+1<<24>>24;if((j&255)<(d[Ka>>0]|0)){u=j;na=O;r=j&255}else break}}j=ca+1<<24>>24;if((j&255)<(d[Ha>>0]|0)){ca=j;J=j&255}else break}}u=c[Fa>>2]|0;y=(a[Ja>>0]|0)!=0;w=y?u+4|0:u+1|0;y=y?5:3;u=a[u>>0]|0;z=u&255;k=0;s=0;j=u;t=0;while(1){r=w+t|0;if(!(j<<24>>24)){l=k&255;k=a[r>>0]|0;j=0}else{l=k&255;q=0;do{m=g+(q<<9)+(t<<3)|0;f[m>>2]=0.0;n=g+(q<<9)+(t<<3)+4|0;f[n>>2]=0.0;if(!(a[r>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[La+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[La+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[r>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<z>>>0);j=u}s=s+1<<24>>24;t=s&255;if(y>>>0<=t>>>0){k=0;s=0;j=u;t=0;break}else k=l+(k&255)&255}while(1){r=w+t|0;if(!(j<<24>>24)){l=k&255;k=a[r>>0]|0;j=0}else{l=k&255;q=0;do{m=i+(q<<9)+(t<<3)|0;f[m>>2]=0.0;n=i+(q<<9)+(t<<3)+4|0;f[n>>2]=0.0;if(!(a[r>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[Ma+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[Ma+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[r>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<z>>>0);j=u}s=s+1<<24>>24;t=s&255;if(y>>>0<=t>>>0)break;else k=l+(k&255)&255}Gc=Na;return 0}function uU(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;a:do if(b<<24>>24==1){if(!(f<<24>>24)){f=a[c>>0]|0;a[c>>0]=f<<24>>24<i<<24>>24?i:f<<24>>24>j<<24>>24?j:f;f=g&255;if((g&255)>1){b=1;k=1}else break;while(1){e=c+k|0;l=(d[e>>0]|0)+(d[c+(k+-1)>>0]|0)&255;a[e>>0]=l<<24>>24<i<<24>>24?i:l<<24>>24>j<<24>>24?j:l;b=b+1<<24>>24;k=b<<24>>24;if((k|0)>=(f|0))break a}}f=g&255;if(g<<24>>24){k=h&255;b=0;l=0;do{n=d[e+(H(l,k)|0)>>0]|0;m=c+l|0;n=(d[m>>0]|0)+n&255;a[m>>0]=n<<24>>24<i<<24>>24?i:n<<24>>24>j<<24>>24?j:n;b=b+1<<24>>24;l=b<<24>>24}while((l|0)<(f|0))}}else{k=g&255;if(g<<24>>24){b=0;f=0;do{a[c+f>>0]=0;b=b+1<<24>>24;f=b<<24>>24}while((f|0)<(k|0))}}while(0);if(h<<24>>24!=2)return;f=((g&255)<<1)+255|0;b=f&255;if(b<<24>>24<=0)return;f=f<<24>>24;while(1){a[c+f>>0]=a[c+(f>>1)>>0]|0;f=b+-1<<24>>24;if(f<<24>>24>0){b=f;f=f<<24>>24}else break}return}function vU(){wU(0);return}function wU(a){a=a|0;Ca(58512,248464);ra(58528,248469,1,1,0);ya(58536,248474,1,-128,127);ya(58552,248479,1,-128,127);ya(58544,248491,1,0,255);ya(58560,248505,2,-32768,32767);ya(58568,248511,2,0,65535);ya(58576,248526,4,-2147483648,2147483647);ya(58584,248530,4,0,-1);ya(58592,248543,4,-2147483648,2147483647);ya(58600,248548,4,0,-1);xa(58608,248562,4);xa(58616,248568,8);Aa(9528,248575);Aa(57936,248587);Ba(57960,4,248620);wa(9552,248633);za(57984,0,248649);za(57992,0,248679);za(58e3,1,248716);za(58008,2,248755);za(58016,3,248786);za(58024,4,248826);za(58032,5,248855);za(58040,4,248893);za(58048,5,248923);za(57992,0,248962);za(58e3,1,248994);za(58008,2,249027);za(58016,3,249060);za(58024,4,249094);za(58032,5,249127);za(58056,6,249161);za(58064,7,249192);za(58072,7,249224);return}function xU(a){a=a|0;return kW(c[a+4>>2]|0)|0}function yU(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+16|0;d=b;c[d>>2]=DU(c[a+60>>2]|0)|0;a=BU(pa(6,d|0)|0)|0;Gc=b;return a|0}function zU(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=Gc;Gc=Gc+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=BU(ka(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=BU(ka(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Gc=m;return d|0}function AU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Gc;Gc=Gc+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((BU(ja(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);Gc=g;return b|0}function BU(a){a=a|0;if(a>>>0>4294963200){c[(CU()|0)>>2]=0-a;a=-1}return a|0}function CU(){return 253496}function DU(a){a=a|0;return a|0}function EU(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=Gc;Gc=Gc+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;FU(h,0,0);d=GU(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);Gc=j;return 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;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function GU(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(CU()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=HU(b)|0}while((IU(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=HU(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=HU(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=HU(b)|0;if((d[273+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){FU(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[273+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;FU(b,0,0);c[(CU()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=HU(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=sY(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=mY(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=HU(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[249759+((o*23|0)>>>5&7)>>0]|0;f=a[273+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=HU(b)|0;f=a[273+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=wY(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=xY(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=HU(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[273+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=HU(b)|0;e=a[273+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=uY(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=sY(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=mY(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=HU(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[273+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=HU(b)|0}while(f>>>0>(d[273+i>>0]|0)>>>0);c[(CU()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(CU()|0)>>2]=34;g=mY(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(CU()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=nY(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function HU(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=JU(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=nY(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=mY(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function IU(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function JU(a){a=a|0;var b=0,e=0;e=Gc;Gc=Gc+16|0;b=e;if((KU(a)|0)==0?(Pc[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;Gc=e;return a|0}function KU(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Pc[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function LU(a,b,c){a=a|0;b=b|0;c=c|0;c=EU(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function MU(a,b,c){a=a|0;b=b|0;c=c|0;c=EU(a,b,c,-1,0)|0;M()|0;return c|0}function NU(a,b,c){a=a|0;b=b|0;c=c|0;c=EU(a,b,c,-2147483648,0)|0;M()|0;return c|0}function OU(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=Gc;Gc=Gc+32|0;l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0<f>>>0|(i|0)==(f|0)&s>>>0<e>>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=wY(r|0,q|0,52)|0;M()|0;j=wY(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}PU(l,m,b);PU(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);Gc=p;return +a}function PU(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function QU(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 RU(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+TU(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+UU(a);break}while(0);return +a}function SU(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+TU(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+UU(b);while(0);return +a}function TU(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=wY(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=VU(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=xY(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=xY(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function UU(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function VU(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function WU(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function XU(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 YU(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function ZU(a){a=a|0;return (a+-48|0)>>>0<10|0}function _U(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=Gc;Gc=Gc+160|0;g=j+144|0;i=j;BY(i|0,58224,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(CU()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=$U(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Gc=j;return d|0}function $U(a,b,c){a=a|0;b=b|0;c=c|0;return cV(a,b,c,1,211)|0}function aV(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Gc;Gc=Gc+560|0;l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;uV(e)|0;j=M()|0;if((j|0)<0){e=-e;uV(e)|0;B=1;A=249785;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?249786:249791):249788}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;nV(b,32,f,j,h&-65537);gV(b,A,B);gV(b,e!=e|0.0!=0.0?(E?249827:249812):E?249804:249808,3);nV(b,32,f,j,h^8192)}else{q=+vV(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=lV(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[1008+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;nV(b,32,f,C,h);gV(b,r,p);nV(b,48,f,C,h^65536);D=m-D|0;gV(b,E,D);E=k-l|0;nV(b,48,j-(D+E)|0,0,0);gV(b,n,E);nV(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=xY(c[j>>2]|0,0,n|0)|0;s=mY(s|0,M()|0,m|0,0)|0;v=M()|0;m=uY(s|0,v|0,1e9,0)|0;w=sY(m|0,M()|0,1e9,0)|0;w=nY(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=lV(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;nV(b,32,f,j,h);gV(b,A,B);nV(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=lV(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){DY(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}gV(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))gV(b,249816,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=lV(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){DY(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}gV(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}nV(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=lV(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;gV(b,l,1);if(s&(k|0)<1){l=m;break}gV(b,249816,1);l=m}else{if(l>>>0<=E>>>0)break;DY(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;gV(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}nV(b,48,k+18|0,18,0);gV(b,v,C-v|0)}nV(b,32,f,j,h^8192)}while(0);Gc=F;return ((j|0)<(f|0)?f:j)|0}function bV(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function cV(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=Gc;Gc=Gc+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((dV(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=eV(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=dV(b,d,p,r,q,f,g)|0;if(j){Pc[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=dV(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)fV(b);e=(h&32|0)==0?e:-1}Gc=t;return e|0}function dV(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Gc;Gc=Gc+64|0;F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(CU()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)gV(d,r,l)}while((l|0)!=0);v=(ZU(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((ZU(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=hV(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=hV(F)|0;m=c[F>>2]|0;break}if(ZU(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(544+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}iV(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=kV(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=249768;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=nY(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=249768;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?249768:249770):249769;w=72;break e}}case 117:{n=H;o=0;p=249768;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=249768;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?249778:s;t=mV(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=249768;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){nV(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Nc[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=249768;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=jV(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?249768:249768+(m>>>4)|0;w=73}else if((w|0)==72){q=lV(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=oV(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}nV(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=oV(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}gV(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;nV(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;nV(d,32,l,J,m);gV(d,p,o);nV(d,48,l,J,m^65536);nV(d,48,s,t,0);gV(d,r,t);nV(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;iV(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Gc=I;return e|0}function eV(a){a=a|0;return 1}function fV(a){a=a|0;return}function gV(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))sV(b,d,a)|0;return}function hV(b){b=b|0;var d=0,e=0;if(!(ZU(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((ZU(a[e>>0]|0)|0)!=0)}return d|0}function iV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Vc[e&255](a,d);break a}default:break a}while(0);while(0);return} |
| | | function Mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Gc;Gc=Gc+16|0;f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?6:5;c[a+124>>2]=h?8:7;a:do switch(b|0){case 9:{c[a+84>>2]=9;c[a+88>>2]=10;c[a+92>>2]=11;c[a+96>>2]=12;c[a+100>>2]=4;c[a+104>>2]=5;e=(d|0)<2;c[a+108>>2]=e?7:6;c[a+112>>2]=8;c[a+116>>2]=13;c[a+120>>2]=e?27:26;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=9;c[a+36>>2]=10;c[a+40>>2]=11;c[a+44>>2]=5;c[a+48>>2]=6;c[a+52>>2]=7;c[a+56>>2]=12;c[a+60>>2]=e?14:13;c[a+64>>2]=e?16:15;c[a+68>>2]=8;c[a+72>>2]=e?10:9;e=e?12:11;break}case 10:{c[a+84>>2]=14;c[a+88>>2]=15;c[a+92>>2]=16;c[a+96>>2]=17;c[a+100>>2]=17;c[a+104>>2]=18;e=(d|0)<2;c[a+108>>2]=e?20:19;c[a+112>>2]=21;c[a+116>>2]=18;c[a+120>>2]=e?29:28;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=22;c[a+36>>2]=23;c[a+40>>2]=24;c[a+44>>2]=13;c[a+48>>2]=14;c[a+52>>2]=15;c[a+56>>2]=25;c[a+60>>2]=e?27:26;c[a+64>>2]=e?29:28;c[a+68>>2]=16;c[a+72>>2]=e?18:17;e=e?20:19;break}case 12:{c[a+84>>2]=19;c[a+88>>2]=20;c[a+92>>2]=21;c[a+96>>2]=22;c[a+100>>2]=30;c[a+104>>2]=31;e=(d|0)<2;c[a+108>>2]=e?33:32;c[a+112>>2]=34;c[a+116>>2]=23;c[a+120>>2]=e?31:30;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=35;c[a+36>>2]=36;c[a+40>>2]=37;c[a+44>>2]=21;c[a+48>>2]=22;c[a+52>>2]=23;c[a+56>>2]=38;c[a+60>>2]=e?40:39;c[a+64>>2]=e?42:41;c[a+68>>2]=24;c[a+72>>2]=e?26:25;e=e?28:27;break}case 14:{c[a+84>>2]=24;c[a+88>>2]=25;c[a+92>>2]=26;c[a+96>>2]=27;c[a+100>>2]=43;c[a+104>>2]=44;e=(d|0)<2;c[a+108>>2]=e?46:45;c[a+112>>2]=47;c[a+116>>2]=28;c[a+120>>2]=e?33:32;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=48;c[a+36>>2]=49;c[a+40>>2]=50;c[a+44>>2]=29;c[a+48>>2]=30;c[a+52>>2]=31;c[a+56>>2]=51;c[a+60>>2]=e?53:52;c[a+64>>2]=e?55:54;c[a+68>>2]=32;c[a+72>>2]=e?34:33;e=e?36:35;break}default:if((b|0)<9){c[a+84>>2]=29;c[a+88>>2]=30;c[a+92>>2]=31;c[a+96>>2]=32;c[a+100>>2]=56;c[a+104>>2]=57;e=(d|0)<2;c[a+108>>2]=e?59:58;c[a+112>>2]=60;c[a+116>>2]=33;c[a+120>>2]=e?35:34;c[a>>2]=21;c[a+4>>2]=22;c[a+8>>2]=23;c[a+12>>2]=24;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=61;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=37;c[a+48>>2]=38;c[a+52>>2]=39;c[a+56>>2]=64;c[a+60>>2]=e?66:65;c[a+64>>2]=e?68:67;c[a+68>>2]=40;c[a+72>>2]=e?42:41;e=e?44:43;break a}else{c[f>>2]=208983;c[f+4>>2]=208996;c[f+8>>2]=150;Te(0,0,222432,f);Za()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=9;Gc=g;return}function Nm(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?26:25;c[a+4>>2]=b?28:27;c[a+8>>2]=b?30:29;c[a+12>>2]=b?32:31;c[a+16>>2]=b?34:33;c[a+20>>2]=b?36:35;c[a+24>>2]=b?38:37;c[a+28>>2]=b?40:39;return}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;switch(b|0){case 9:{b=98;d=102;e=106;f=110;g=99;h=103;i=107;j=111;k=100;l=104;m=108;n=112;o=101;p=105;q=109;r=113;s=130;t=134;u=138;v=142;w=131;x=135;y=139;z=143;A=132;B=136;C=140;D=144;E=133;F=137;G=141;H=145;I=114;J=118;K=122;L=126;M=115;N=119;O=123;P=127;Q=116;R=120;S=124;T=128;U=117;V=121;W=125;X=129;Y=34;Z=38;_=42;$=46;aa=35;ba=39;ca=43;da=47;ea=36;fa=40;ga=44;ha=48;ia=37;ja=41;ka=45;la=49;ma=82;na=86;oa=90;pa=94;qa=83;ra=87;sa=91;ta=95;ua=84;va=88;wa=92;xa=96;ya=85;za=89;Aa=93;Ba=97;Ca=66;Da=70;Ea=74;Fa=78;Ga=67;Ha=71;Ia=75;Ja=79;Ka=68;La=72;Ma=76;Na=80;Oa=69;Pa=73;Qa=77;Ra=81;Sa=50;Ta=54;Ua=58;Va=62;Wa=51;Xa=55;Ya=59;Za=63;_a=52;$a=56;ab=60;bb=64;cb=53;db=57;eb=61;fb=65;break}case 10:{b=322;d=326;e=330;f=334;g=323;h=327;i=331;j=335;k=324;l=328;m=332;n=336;o=325;p=329;q=333;r=337;s=354;t=358;u=362;v=366;w=355;x=359;y=363;z=367;A=356;B=360;C=364;D=368;E=357;F=361;G=365;H=369;I=338;J=342;K=346;L=350;M=339;N=343;O=347;P=351;Q=340;R=344;S=348;T=352;U=341;V=345;W=349;X=353;Y=258;Z=262;_=266;$=270;aa=259;ba=263;ca=267;da=271;ea=260;fa=264;ga=268;ha=272;ia=261;ja=265;ka=269;la=273;ma=306;na=310;oa=314;pa=318;qa=307;ra=311;sa=315;ta=319;ua=308;va=312;wa=316;xa=320;ya=309;za=313;Aa=317;Ba=321;Ca=290;Da=294;Ea=298;Fa=302;Ga=291;Ha=295;Ia=299;Ja=303;Ka=292;La=296;Ma=300;Na=304;Oa=293;Pa=297;Qa=301;Ra=305;Sa=274;Ta=278;Ua=282;Va=286;Wa=275;Xa=279;Ya=283;Za=287;_a=276;$a=280;ab=284;bb=288;cb=277;db=281;eb=285;fb=289;break}case 12:{b=434;d=438;e=442;f=446;g=435;h=439;i=443;j=447;k=436;l=440;m=444;n=448;o=437;p=441;q=445;r=449;s=466;t=470;u=474;v=478;w=467;x=471;y=475;z=479;A=468;B=472;C=476;D=480;E=469;F=473;G=477;H=481;I=450;J=454;K=458;L=462;M=451;N=455;O=459;P=463;Q=452;R=456;S=460;T=464;U=453;V=457;W=461;X=465;Y=370;Z=374;_=378;$=382;aa=371;ba=375;ca=379;da=383;ea=372;fa=376;ga=380;ha=384;ia=373;ja=377;ka=381;la=385;ma=418;na=422;oa=426;pa=430;qa=419;ra=423;sa=427;ta=431;ua=420;va=424;wa=428;xa=432;ya=421;za=425;Aa=429;Ba=433;Ca=402;Da=406;Ea=410;Fa=414;Ga=403;Ha=407;Ia=411;Ja=415;Ka=404;La=408;Ma=412;Na=416;Oa=405;Pa=409;Qa=413;Ra=417;Sa=386;Ta=390;Ua=394;Va=398;Wa=387;Xa=391;Ya=395;Za=399;_a=388;$a=392;ab=396;bb=400;cb=389;db=393;eb=397;fb=401;break}case 14:{b=546;d=550;e=554;f=558;g=547;h=551;i=555;j=559;k=548;l=552;m=556;n=560;o=549;p=553;q=557;r=561;s=578;t=582;u=586;v=590;w=579;x=583;y=587;z=591;A=580;B=584;C=588;D=592;E=581;F=585;G=589;H=593;I=562;J=566;K=570;L=574;M=563;N=567;O=571;P=575;Q=564;R=568;S=572;T=576;U=565;V=569;W=573;X=577;Y=482;Z=486;_=490;$=494;aa=483;ba=487;ca=491;da=495;ea=484;fa=488;ga=492;ha=496;ia=485;ja=489;ka=493;la=497;ma=530;na=534;oa=538;pa=542;qa=531;ra=535;sa=539;ta=543;ua=532;va=536;wa=540;xa=544;ya=533;za=537;Aa=541;Ba=545;Ca=514;Da=518;Ea=522;Fa=526;Ga=515;Ha=519;Ia=523;Ja=527;Ka=516;La=520;Ma=524;Na=528;Oa=517;Pa=521;Qa=525;Ra=529;Sa=498;Ta=502;Ua=506;Va=510;Wa=499;Xa=503;Ya=507;Za=511;_a=500;$a=504;ab=508;bb=512;cb=501;db=505;eb=509;fb=513;break}default:{b=210;d=214;e=218;f=222;g=211;h=215;i=219;j=223;k=212;l=216;m=220;n=224;o=213;p=217;q=221;r=225;s=242;t=246;u=250;v=254;w=243;x=247;y=251;z=255;A=244;B=248;C=252;D=256;E=245;F=249;G=253;H=257;I=226;J=230;K=234;L=238;M=227;N=231;O=235;P=239;Q=228;R=232;S=236;T=240;U=229;V=233;W=237;X=241;Y=146;Z=150;_=154;$=158;aa=147;ba=151;ca=155;da=159;ea=148;fa=152;ga=156;ha=160;ia=149;ja=153;ka=157;la=161;ma=194;na=198;oa=202;pa=206;qa=195;ra=199;sa=203;ta=207;ua=196;va=200;wa=204;xa=208;ya=197;za=201;Aa=205;Ba=209;Ca=178;Da=182;Ea=186;Fa=190;Ga=179;Ha=183;Ia=187;Ja=191;Ka=180;La=184;Ma=188;Na=192;Oa=181;Pa=185;Qa=189;Ra=193;Sa=162;Ta=166;Ua=170;Va=174;Wa=163;Xa=167;Ya=171;Za=175;_a=164;$a=168;ab=172;bb=176;cb=165;db=169;eb=173;fb=177}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function Pm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;f=j;switch(d|0){case 9:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=608;g=607}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=594;c[a+12>>2]=(b|0)==23?596:595;c[a+16>>2]=597;c[a+20>>2]=598;c[a+24>>2]=599;c[a+28>>2]=d?601:600;c[a+32>>2]=602;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=605;c[a+52>>2]=606;c[a+40>>2]=607;d=14;f=608;break}default:{c[d>>2]=603;d=10;f=612}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=613;i=10}}else{c[a>>2]=607;c[a+4>>2]=608;c[a+8>>2]=594;c[a+12>>2]=609;c[a+16>>2]=597;c[a+20>>2]=598;c[a+24>>2]=599;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=603;c[a+40>>2]=612;c[a+44>>2]=613;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=10}if((i|0)==10)c[a+(d<<2)>>2]=f;c[a+60>>2]=45;c[a+64>>2]=46;c[a+68>>2]=47;c[a+72>>2]=48;c[a+76>>2]=49;c[a+80>>2]=50;c[a+84>>2]=51;c[a+88>>2]=52;c[a+92>>2]=53;c[a+96>>2]=54;c[a+100>>2]=55;c[a+104>>2]=56;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?37:36;c[a+112>>2]=e?39:38;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?41:40}a:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break a}c[a+136>>2]=58;d=8;f=183;i=20;break}default:if(e){c[d>>2]=43;c[a+124>>2]=44;c[a+128>>2]=45;c[a+136>>2]=46;c[a+140>>2]=47;c[a+144>>2]=48;d=10;f=181;i=20;break a}else{c[d>>2]=49;c[a+124>>2]=50;c[a+128>>2]=51;c[a+136>>2]=52;c[a+140>>2]=53;c[a+144>>2]=54;d=10;f=182;i=20;break a}}while(0);if((i|0)==20)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?60:59;c[a+152>>2]=61;c[a+160>>2]=62;c[a+156>>2]=63;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=65;d=8;f=186;break}default:{d=3;f=187}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=66;c[a+172>>2]=67;c[a+176>>2]=68;c[a+188>>2]=616;c[a+192>>2]=617;c[a+196>>2]=618;c[a+200>>2]=619;c[a+204>>2]=69;c[a+208>>2]=70;f=126;g=125;h=e?60:59;d=e?58:57;break}case 10:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=631;g=630}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=620;c[a+12>>2]=(b|0)==23?596:621;c[a+16>>2]=622;c[a+20>>2]=623;c[a+24>>2]=624;c[a+28>>2]=d?601:625;c[a+32>>2]=626;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=628;c[a+52>>2]=629;c[a+40>>2]=630;d=14;f=631;break}default:{c[d>>2]=627;d=10;f=632}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=633;i=34}}else{c[a>>2]=630;c[a+4>>2]=631;c[a+8>>2]=620;c[a+12>>2]=609;c[a+16>>2]=622;c[a+20>>2]=623;c[a+24>>2]=624;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=627;c[a+40>>2]=632;c[a+44>>2]=633;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=34}if((i|0)==34)c[a+(d<<2)>>2]=f;c[a+60>>2]=61;c[a+64>>2]=62;c[a+68>>2]=63;c[a+72>>2]=64;c[a+76>>2]=65;c[a+80>>2]=66;c[a+84>>2]=67;c[a+88>>2]=68;c[a+92>>2]=69;c[a+96>>2]=70;c[a+100>>2]=71;c[a+104>>2]=72;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?70:69;c[a+112>>2]=e?72:71;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?74:73}b:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break b}c[a+136>>2]=87;d=8;f=190;i=44;break}default:if(e){c[d>>2]=75;c[a+124>>2]=76;c[a+128>>2]=77;c[a+136>>2]=78;c[a+140>>2]=79;c[a+144>>2]=80;d=10;f=188;i=44;break b}else{c[d>>2]=81;c[a+124>>2]=82;c[a+128>>2]=83;c[a+136>>2]=84;c[a+140>>2]=85;c[a+144>>2]=86;d=10;f=189;i=44;break b}}while(0);if((i|0)==44)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?89:88;c[a+152>>2]=90;c[a+160>>2]=91;c[a+156>>2]=92;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=93;d=8;f=191;break}default:{d=3;f=192}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=94;c[a+172>>2]=95;c[a+176>>2]=96;c[a+188>>2]=634;c[a+192>>2]=635;c[a+196>>2]=636;c[a+200>>2]=637;c[a+204>>2]=71;c[a+208>>2]=72;f=128;g=127;h=e?76:75;d=e?74:73;break}case 12:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=649;g=648}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=638;c[a+12>>2]=(b|0)==23?596:639;c[a+16>>2]=640;c[a+20>>2]=641;c[a+24>>2]=642;c[a+28>>2]=d?601:643;c[a+32>>2]=644;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=646;c[a+52>>2]=647;c[a+40>>2]=648;d=14;f=649;break}default:{c[d>>2]=645;d=10;f=650}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=651;i=58}}else{c[a>>2]=648;c[a+4>>2]=649;c[a+8>>2]=638;c[a+12>>2]=609;c[a+16>>2]=640;c[a+20>>2]=641;c[a+24>>2]=642;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=645;c[a+40>>2]=650;c[a+44>>2]=651;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=58}if((i|0)==58)c[a+(d<<2)>>2]=f;c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?98:97;c[a+112>>2]=e?100:99;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?102:101}c:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break c}c[a+136>>2]=115;d=8;f=195;i=68;break}default:if(e){c[d>>2]=103;c[a+124>>2]=104;c[a+128>>2]=105;c[a+136>>2]=106;c[a+140>>2]=107;c[a+144>>2]=108;d=10;f=193;i=68;break c}else{c[d>>2]=109;c[a+124>>2]=110;c[a+128>>2]=111;c[a+136>>2]=112;c[a+140>>2]=113;c[a+144>>2]=114;d=10;f=194;i=68;break c}}while(0);if((i|0)==68)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?117:116;c[a+152>>2]=118;c[a+160>>2]=119;c[a+156>>2]=120;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=121;d=8;f=196;break}default:{d=3;f=197}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=122;c[a+172>>2]=123;c[a+176>>2]=124;c[a+188>>2]=652;c[a+192>>2]=653;c[a+196>>2]=654;c[a+200>>2]=655;c[a+204>>2]=73;c[a+208>>2]=74;f=130;g=129;h=e?92:91;d=e?90:89;break}case 14:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=667;g=666}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=656;c[a+12>>2]=(b|0)==23?596:657;c[a+16>>2]=658;c[a+20>>2]=659;c[a+24>>2]=660;c[a+28>>2]=d?601:661;c[a+32>>2]=662;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=664;c[a+52>>2]=665;c[a+40>>2]=666;d=14;f=667;break}default:{c[d>>2]=663;d=10;f=668}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=669;i=82}}else{c[a>>2]=666;c[a+4>>2]=667;c[a+8>>2]=656;c[a+12>>2]=609;c[a+16>>2]=658;c[a+20>>2]=659;c[a+24>>2]=660;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=663;c[a+40>>2]=668;c[a+44>>2]=669;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=82}if((i|0)==82)c[a+(d<<2)>>2]=f;c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?126:125;c[a+112>>2]=e?128:127;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?130:129}d:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break d}c[a+136>>2]=143;d=8;f=200;i=92;break}default:if(e){c[d>>2]=131;c[a+124>>2]=132;c[a+128>>2]=133;c[a+136>>2]=134;c[a+140>>2]=135;c[a+144>>2]=136;d=10;f=198;i=92;break d}else{c[d>>2]=137;c[a+124>>2]=138;c[a+128>>2]=139;c[a+136>>2]=140;c[a+140>>2]=141;c[a+144>>2]=142;d=10;f=199;i=92;break d}}while(0);if((i|0)==92)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?145:144;c[a+152>>2]=146;c[a+160>>2]=147;c[a+156>>2]=148;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=149;d=8;f=201;break}default:{d=3;f=202}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=150;c[a+172>>2]=151;c[a+176>>2]=152;c[a+188>>2]=670;c[a+192>>2]=671;c[a+196>>2]=672;c[a+200>>2]=673;c[a+204>>2]=75;c[a+208>>2]=76;f=132;g=131;h=e?108:107;d=e?106:105;break}default:{if((d|0)>=9){c[f>>2]=208983;c[f+4>>2]=208961;c[f+8>>2]=590;Te(0,0,222432,f);Za()}if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=685;g=684}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=674;c[a+12>>2]=(b|0)==23?596:675;c[a+16>>2]=676;c[a+20>>2]=677;c[a+24>>2]=678;c[a+28>>2]=d?601:679;c[a+32>>2]=680;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=682;c[a+52>>2]=683;c[a+40>>2]=684;d=14;f=685;break}default:{c[d>>2]=681;d=10;f=686}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=687;i=108}}else{c[a>>2]=684;c[a+4>>2]=685;c[a+8>>2]=674;c[a+12>>2]=609;c[a+16>>2]=676;c[a+20>>2]=677;c[a+24>>2]=678;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=681;c[a+40>>2]=686;c[a+44>>2]=687;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=108}if((i|0)==108)c[a+(d<<2)>>2]=f;c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?154:153;c[a+112>>2]=e?156:155;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?158:157}e:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break e}c[a+136>>2]=171;d=8;f=205;i=118;break}default:if(e){c[d>>2]=159;c[a+124>>2]=160;c[a+128>>2]=161;c[a+136>>2]=162;c[a+140>>2]=163;c[a+144>>2]=164;d=10;f=203;i=118;break e}else{c[d>>2]=165;c[a+124>>2]=166;c[a+128>>2]=167;c[a+136>>2]=168;c[a+140>>2]=169;c[a+144>>2]=170;d=10;f=204;i=118;break e}}while(0);if((i|0)==118)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?173:172;c[a+152>>2]=174;c[a+160>>2]=175;c[a+156>>2]=176;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=177;d=8;f=206;break}default:{d=3;f=207}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=178;c[a+172>>2]=179;c[a+176>>2]=180;c[a+188>>2]=688;c[a+192>>2]=689;c[a+196>>2]=690;c[a+200>>2]=691;c[a+204>>2]=77;c[a+208>>2]=78;f=134;g=133;h=e?124:123;d=e?122:121}}c[a+220>>2]=d;c[a+216>>2]=h;c[a+232>>2]=g;c[a+228>>2]=f;Gc=j;return}function Qm(a,b){a=a|0;b=b|0;c[a+4>>2]=695;c[a>>2]=(b|0)<9?2:1;return}function Rm(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=Gc;Gc=Gc+32|0;t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+27008|0;p=c[k>>2]|0;r=d+27016|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+27012|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27020|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=Lf((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){Te(c[q>>2]|0,16,208871,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;c[j+(i+f<<2)>>2]=(H(c[r>>2]|0,d)|0)+f;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;c[j+((H(i,g)|0)<<2)>>2]=h+i;j=Lf(l)|0;c[e+604>>2]=j;if(!((l|0)==0|(j|0)!=0)){Te(c[q>>2]|0,16,208871,m);d=-12;break}m=$e(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=m;if((m|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){Te(c[q>>2]|0,16,208871,n);d=-12;break}n=u<<1;f=Lf(n)|0;c[e+27784>>2]=f;if(!((n|0)==0|(f|0)!=0)){Te(c[q>>2]|0,16,208871,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{DY(f|0,0,808)|0;d=0}while(0);Gc=v;return d|0}function Sm(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=Gc;Gc=Gc+16|0;n=o+8|0;j=o;m=a+25628|0;k=c[m>>2]|0;c[k+21788>>2]=h;c[k+21792>>2]=i;l=k+21796|0;c[l>>2]=(H(c[a+27016>>2]|0,i)|0)+h;e=k+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[k+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[k+23416+(e*40|0)>>2]|0)){Te(c[a+4>>2]|0,48,208896,j);e=0}if((c[k+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[l>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[k+28284>>2]=d;c[k+28292>>2]=d;c[k+28300>>2]=d;c[k+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[k+28e3>>2]=g;c[k+28004>>2]=g;c[k+28008>>2]=g;c[k+28012>>2]=g;c[k+28032>>2]=g;c[k+28036>>2]=g;c[k+28040>>2]=g;c[k+28044>>2]=g;c[k+28064>>2]=g;c[k+28068>>2]=g;c[k+28072>>2]=g;c[k+28076>>2]=g;c[k+28096>>2]=g;c[k+28100>>2]=g;c[k+28104>>2]=g;c[k+28108>>2]=g;c[k+21828>>2]=0;c[k+21832>>2]=0;sj(a,c[m>>2]|0)}else Te(c[a+4>>2]|0,48,208942,n);Gc=o;return}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;return}function Um(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if((l|0)>=(c|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if((c|0)>=(p|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Vm(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if((l|0)>=(c|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;BY(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if((c|0)>=(q|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Xm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[a+(0-e)>>0]|0;h=d[a+(1-e)>>0]|0;g=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;b=(i+2+(h<<1)+g|0)>>>2<<8|((d[a+~e>>0]|0)+2+(i<<1)+h|0)>>>2|(h+2+(g<<1)+f|0)>>>2<<16|(g+2+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Ym(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Zm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=d[a+-1>>0]|0;i=d[a+(e+-1)>>0]|0;h=e<<1;g=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;c[a>>2]=H(((d[a+~e>>0]|0)+2+(j<<1)+i|0)>>>2,16843009)|0;c[a+e>>2]=H((j+2+(i<<1)+g|0)>>>2,16843009)|0;c[a+h>>2]=H((i+2+(g<<1)+f|0)>>>2,16843009)|0;c[a+b>>2]=H((g+2+f+(f<<1)|0)>>>2,16843009)|0;return}function _m(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function $m(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function an(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function bn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function cn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function dn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function en(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=(n+1+m|0)>>>1;c=(m+1+l|0)>>>1&255;i=e<<1;a[b+i>>0]=c;a[b+1>>0]=c;c=(l+1+k|0)>>>1&255;a[b+(i|1)>>0]=c;a[b+2>>0]=c;c=(k+1+j|0)>>>1&255;a[b+(i+2)>>0]=c;a[b+3>>0]=c;a[b+e>>0]=(n+2+(m<<1)+l|0)>>>2;m=(m+2+(l<<1)+k|0)>>>2&255;c=e*3|0;a[b+c>>0]=m;a[b+(e+1)>>0]=m;l=(l+2+(k<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+2+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function fn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function gn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=sY(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function jn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=192466+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function kn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;d=a+(d*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function ln(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;d=a+(d*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function nn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;r=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;n=d[c>>0]|0;l=d[c+1>>0]|0;i=d[c+2>>0]|0;h=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;j=e<<1;q=d[b+(j+-1)>>0]|0;c=e*3|0;o=d[b+(c+-1)>>0]|0;m=d[b+((e<<2)+-1)>>0]|0;k=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+r+(d[b+-1>>0]|0)+q+(s+t<<1)|0)>>>3;s=(t+4+p+s+o+(q+r<<1)|0)>>>3&255;a[b+e>>0]=s;a[b+1>>0]=s;q=(r+4+n+q+m+(o+p<<1)|0)>>>3&255;a[b+j>>0]=q;a[b+(e+1)>>0]=q;a[b+2>>0]=q;o=(p+4+l+o+k+(m+n<<1)|0)>>>3&255;a[b+c>>0]=o;a[b+(j|1)>>0]=o;a[b+(e+2)>>0]=o;a[b+3>>0]=o;m=(n+4+i+m+g+(k+l<<1)|0)>>>3&255;a[b+(c+1)>>0]=m;a[b+(j+2)>>0]=m;a[b+(e+3)>>0]=m;e=(l+4+h+k+f+(g+i<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(j+3)>>0]=e;a[b+(c+3)>>0]=(i+2+h+g+f|0)>>>2;return}function on(a,b,c){a=a|0;b=b|0;c=c|0;Yt(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function pn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;t=q<<1;s=t+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+u<<1)|0)>>>3;a[b+1>>0]=(u+4+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;p=(q+4+o+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+4+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function qn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;d=a+(d*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function rn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;m=d[b+(3-e)>>0]|0;l=d[c>>0]|0;k=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;j=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+n+(d[b+-1>>0]|0)+j+(o+p<<1)|0)>>>3;o=(p+4+m+o+f+(j+n<<1)|0)>>>3&255;a[b+e>>0]=o;a[b+1>>0]=o;j=(n+4+l+(m<<1)+j+(f*3|0)|0)>>>3&255;a[b+i>>0]=j;a[b+(e+1)>>0]=j;a[b+2>>0]=j;j=f<<2;m=(m+4+k+(l<<1)+j|0)>>>3&255;a[b+c>>0]=m;a[b+(i|1)>>0]=m;a[b+(e+2)>>0]=m;a[b+3>>0]=m;l=(l+4+h+(k<<1)+j|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(i+2)>>0]=l;a[b+(e+3)>>0]=l;e=(k+4+g+(h<<1)+j|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function sn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;r=o<<1;q=r+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+s<<1)|0)>>>3;a[b+1>>0]=(s+4+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;j=(o+4+n+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+4+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+2+i+c|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function tn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;Yt(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function un(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function vn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=sY((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=sY((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=sY((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=sY((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=sY((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=sY((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=sY((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=sY((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function wn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function xn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function yn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function zn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function An(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Bn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Cn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Dn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=sY(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function En(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function In(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Jn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Kn(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Ln(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+p>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Mn(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=192466+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Nn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=sY(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=sY(k|0,l|0,65537,65537)|0;h=M()|0;d=sY(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function On(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=sY(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=sY(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Pn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Qn(a,b){a=a|0;b=b|0;Pn(a,b);_m(a,0,b);return}function Rn(a,b){a=a|0;b=b|0;Nn(a,b);mn(a,0,b);return}function Sn(a,b){a=a|0;b=b|0;On(a,b);a=a+(b<<2)|0;qn(a,0,b);qn(a+8|0,0,b);return}function Tn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=sY(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=sY(m|0,n|0,65537,65537)|0;q=M()|0;m=sY(f|0,o|0,65537,65537)|0;n=M()|0;k=sY(r|0,s|0,65537,65537)|0;l=M()|0;i=sY(g|0,t|0,65537,65537)|0;j=M()|0;g=sY(u|0,v|0,65537,65537)|0;h=M()|0;d=sY(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Un(a,b){a=a|0;b=b|0;On(a,b);On(a+(b<<3)|0,b);return}function Vn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=sY(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Wn(a,b){a=a|0;b=b|0;Vn(a,b);_m(a,0,b);return}function Xn(a,b){a=a|0;b=b|0;Tn(a,b);mn(a,0,b);return}function Yn(a,b){a=a|0;b=b|0;Un(a,b);a=a+(b<<2)|0;qn(a,0,b);qn(a+8|0,0,b);return}function Zn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;while(1){if((f|0)==4)break;h=d[a+((H(f,b)|0)+-1)>>0]|0;g=f+4|0;e=e+h+(d[a+(f-b)>>0]|0)+(d[a+(g-b)>>0]|0)+(d[a+((H(g,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}return}function _n(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function $n(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function co(a,b){a=a|0;b=b|0;Un(a,b);qn(a,0,b);qn(a+8|0,0,b);return}function eo(a,b){a=a|0;b=b|0;On(a,b);qn(a,0,b);qn(a+8|0,0,b);return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function go(a,b){a=a|0;b=b|0;fo(a,b);fo(a+(b<<3)|0,b);return}function ho(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function jo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ko(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=192466+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function mo(a,b){a=a|0;b=b|0;Xt(a,b);return}function no(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function oo(a,b){a=a|0;b=b|0;Tt(a,b,0,1);return}function po(a,b){a=a|0;b=b|0;Tt(a,b,1,0);return}function qo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ro(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function so(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function to(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function uo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function vo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}DY(d|0,0,256)|0;return}function wo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}DY(d|0,0,256)|0;return}function xo(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Gc;Gc=Gc+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}DY(d|0,0,256)|0;Gc=q;return}function yo(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Gc;Gc=Gc+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}DY(d|0,0,256)|0;Gc=k;return}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;to(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}to(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;to(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;uo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}uo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;uo(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Do(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=sY(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Fo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=sY(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Go(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Ho(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Io(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Jo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Ko(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Lo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Mo(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=sY(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function No(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;d=a+(d*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;d=a+(d*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function Po(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=sY(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Qo(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;d=a+(d*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function Ro(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function So(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=sY((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=sY((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=sY((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=sY((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=sY((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=sY((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=sY((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=sY((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function To(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Uo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Vo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Wo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Xo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Yo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Zo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function _o(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=sY(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function $o(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=sY(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function ap(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function dp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ep(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=sY(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function fp(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return} |
| | | function SR(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=Gc;Gc=Gc+848|0;Y=ga+336|0;X=ga+328|0;aa=ga+288|0;W=ga+280|0;V=ga+272|0;U=ga+264|0;T=ga+248|0;Q=ga+240|0;P=ga+232|0;O=ga+224|0;L=ga+208|0;K=ga+192|0;J=ga+184|0;I=ga+176|0;H=ga+168|0;G=ga+152|0;E=ga+144|0;C=ga+136|0;A=ga+128|0;z=ga+120|0;y=ga+112|0;x=ga+104|0;w=ga+96|0;v=ga+88|0;r=ga+80|0;q=ga+72|0;p=ga+64|0;o=ga+48|0;$=ga+40|0;n=ga+32|0;m=ga+24|0;l=ga+16|0;j=ga+8|0;i=ga;fa=ga+312|0;Z=ga+320|0;_=ga+304|0;c[fa>>2]=0;do if(!(MQ(a)|0)){ea=a+12|0;g=c[ea>>2]|0;h=(g|0)==0;if(!b)if(h){Te(a,16,234826,i);f=-22;break}else ca=g;else if(h|(g|0)==(b|0))ca=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;Te(a,16,234864,j);f=-22;break}if((c[a+72>>2]|0)>>>0<=268435391){da=(e|0)!=0;if(da)Yg(fa,c[e>>2]|0,0)|0;TR(ca);S=Lf(116)|0;ba=a+28|0;c[ba>>2]=S;a:do if(!S)f=-12;else{S=Lf(88)|0;c[(c[ba>>2]|0)+16>>2]=S;b:do if(((((((S|0)!=0?(S=Cg()|0,c[(c[ba>>2]|0)+12>>2]=S,(S|0)!=0):0)?(S=Cg()|0,c[(c[ba>>2]|0)+100>>2]=S,(S|0)!=0):0)?(S=Cg()|0,c[(c[ba>>2]|0)+76>>2]=S,(S|0)!=0):0)?(S=KO()|0,c[(c[ba>>2]|0)+68>>2]=S,(S|0)!=0):0)?(S=KO()|0,c[(c[ba>>2]|0)+24>>2]=S,(S|0)!=0):0)?(S=KO()|0,k=c[ba>>2]|0,c[k+40>>2]=S,(S|0)!=0):0){c[k+108>>2]=1;R=ca+56|0;b=c[R>>2]|0;S=a+24|0;do if((b|0)>0){if(!(c[S>>2]|0)){g=Lf(b)|0;c[S>>2]=g;if(!g){f=-12;break a}b=ca+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;qQ(g)}else b=ca+44|0;if(c[b>>2]|0?(f=tQ(c[S>>2]|0,fa)|0,(f|0)<0):0)break b}else c[S>>2]=0;while(0);f=tQ(a,fa)|0;if((f|0)>=0){b=a+844|0;g=c[b>>2]|0;if(g|0?(_O(c[ca>>2]|0,g,44)|0)<1:0){f=c[b>>2]|0;c[l>>2]=c[ca>>2];c[l+4>>2]=f;Te(a,16,234940,l);f=-22;break}i=a+100|0;b=c[i>>2]|0;c:do if(!b)N=37;else{g=c[a+104>>2]|0;if(!g){N=37;break}do if(c[a+92>>2]|0){if(!(c[a+96>>2]|0))break;switch(c[a+16>>2]|0){case 189:case 92:case 27:{N=43;break c}default:{}}}while(0);f=qR(a,b,g)|0;N=40}while(0);do if((N|0)==37){g=c[a+92>>2]|0;if(!g){N=42;break}h=c[a+96>>2]|0;if(!h){N=42;break}f=qR(a,g,h)|0;N=40}while(0);if((N|0)==40){if((f|0)<0)break;b=c[i>>2]|0;N=42}do if((N|0)==42){if(b|0){N=43;break}g=c[a+104>>2]|0;if(g|0){b=0;N=47;break}b=a+92|0;if(c[b>>2]|0){b=0;g=0;N=47;break}if(!(c[a+96>>2]|0))s=b;else{b=0;g=0;N=47}}while(0);if((N|0)==43){g=c[a+104>>2]|0;N=47}do if((N|0)==47){h=a+872|0;F=h;i=a+92|0;if((Wg(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(Wg(c[i>>2]|0,c[a+96>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){s=i;break}Te(a,24,234974,m);qR(a,0,0)|0;s=i}while(0);b=c[s>>2]|0;do if((b|0)>0){g=c[a+96>>2]|0;if((g|0)<=0)break;h=a+188|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];if((ym(b,g,Y)|0)>=0)break;F=a+192|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;Te(a,24,235012,n);c[a+188>>2]=0;c[F>>2]=1}while(0);if(JQ(ca)|0)Pe(a+736|0);D=a+348|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[ea>>2]=ca;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)N=60;else{if((h|0)==(c[ca+8>>2]|0)){N=60;break}g=a+16|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((N|0)==60){b=a+16|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}B=c[ca+8>>2]|0;c[F>>2]=B;g=c[ca+12>>2]|0;c[b>>2]=g;l=b;b=B}while(0);h=ca+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[ca+8>>2]|0)))break;c[a+360>>2]=0;B=a+780|0;c[B>>2]=Jf(g)|0;b=c[ea>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+568>>2]|0)<=-2)break;b=(FQ(ca)|0)!=0;b=b?235070:235078;aa=c[ca>>2]|0;c[o>>2]=b;c[o+4>>2]=aa;c[o+8>>2]=-2;Te(a,16,235086,o);aa=(FQ(ca)|0)==0;f=c[h>>2]|0;if(aa)f=IQ(f)|0;else f=EQ(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;Te(a,16,235196,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+76|0;g=a+80|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+344>>2]}while(0);if(!((c[(c[ba>>2]|0)+52>>2]|0)!=0?(c[a+696>>2]&1|0)!=0:0)){f=IR(a)|0;if((f|0)<0)break b;b=c[ea>>2]|0}g=d[b+40>>0]|0;h=a+680|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;Te(a,24,235245,q);b=c[ea>>2]|0;c[h>>2]=d[b+40>>0]}d:do if(FQ(b)|0){q=Cg()|0;c[a+684>>2]=q;if(!q){f=-12;break b}m=a+76|0;do if((c[m>>2]|0)>=1){n=a+80|0;if((c[n>>2]|0)<1)break;g=c[ea>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+352|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){r=uQ(i)|0;r=(r|0)==(uQ(c[(c[(c[ea>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);t=c[ea>>2]|0;u=c[t+32>>2]|0;if(r){N=94;break}else{g=t;b=u}}j=j+1|0}if((N|0)==94?(u=u+(j<<2)|0,c[k>>2]=c[u>>2],(c[u>>2]|0)!=-1):0){j=t;break}c[v>>2]=c[k>>2];$V(Y,128,235340,v)|0;c[w>>2]=UR(pQ(c[k>>2]|0)|0,Y)|0;Te(a,16,235343,w);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+112|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){N=103;break}else b=b+1|0}if((N|0)==103){switch(i|0){case 14:case 32:case 13:case 140:case 12:break;default:break f}c[a+328>>2]=2;break}switch(c[l>>2]|0){case 9:case 7:{if((c[a+568>>2]|0)<0)break f;break}default:{}}c[x>>2]=c[h>>2];$V(Y,128,235340,x)|0;c[y>>2]=UR(og(c[h>>2]|0)|0,Y)|0;Te(a,16,235399,y);f=-22;break b}while(0);h=c[j+28>>2]|0;b=c[a+344>>2]|0;g:do if(h){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break;if((b|0)==(i|0))break g;else g=g+1|0}c[z>>2]=b;Te(a,16,235454,z);f=-22;break b}while(0);if((b|0)<0){c[A>>2]=b;Te(a,16,235454,A);f=-22;break b}i=c[j+36>>2]|0;l=a+376|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){Te(a,24,235497,C);break}else b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}hP(Y,512,-1,j,k);c[E>>2]=Y;Te(a,16,235527,E);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=Ug(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;hP(Y,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[G>>2]=Y;c[G+4>>2]=g;c[G+8>>2]=f;Te(a,16,235575,G);f=-22;break b}while(0);if((b|0)<0){c[H>>2]=b;Te(a,16,235660,H);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=ng(c[a+112>>2]|0)|0;h=a+676|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)N=129}else{g=b+32|0;b=g;g=c[g>>2]|0;N=129}while(0);if((N|0)==129){c[I>>2]=i;c[I+4>>2]=g;Te(a,24,235710,I);c[h>>2]=c[b>>2]}do if((c[s>>2]|0)>=1){if((c[a+96>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);Te(a,16,235789,J);f=-22;break b}while(0);do if(b>>>0<2){g=a+40|0;b=c[g>>2]|0;g=c[g+4>>2]|0;J=mY(b|0,g|0,-1,-1)|0;I=M()|0;if(!(I>>>0<0|(I|0)==0&J>>>0<999))break;J=K;c[J>>2]=b;c[J+4>>2]=g;J=K+8|0;c[J>>2]=b;c[J+4>>2]=g;Te(a,24,235809,K)}while(0);b=a+464|0;if(!(c[b>>2]|0)){K=c[a+428>>2]|0;K=sY(K|0,((K|0)<0)<<31>>31|0,3,0)|0;K=qY(K|0,M()|0,4,0)|0;M()|0;c[b>>2]=K}g=c[a+84>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;aa=c[n>>2]|0;c[L>>2]=g;c[L+4>>2]=b;c[L+8>>2]=aa;Te(a,16,235862,L);break b}while(0);f=c[a+860>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+112>>2]|0)){Te(a,16,235915,O);f=-22;break b}h=a+768|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}aa=og(g)|0;f=og(c[b>>2]|0)|0;c[P>>2]=aa;c[P+4>>2]=f;Te(a,16,235980,P);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);Te(a,16,235306,r);f=-22;break b}while(0);P=a+784|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;P=a+808|0;c[P>>2]=0;c[P+4>>2]=-2147483648;P=a+800|0;c[P>>2]=0;c[P+4>>2]=-2147483648;do if(c[a+60>>2]&8192|0){if(c[(c[B>>2]|0)+4>>2]|0)break;Te(a,24,236061,Q)}while(0);f=c[ea>>2]|0;b=c[f+80>>2]|0;do if(b){if(c[a+696>>2]&1|0?(c[(c[ba>>2]|0)+52>>2]|0)==0:0)break;f=Mc[b&31](a)|0;if((f|0)<0)break b;f=c[ea>>2]|0}while(0);do if(JQ(f)|0){f=a+40|0;Q=f;if((c[Q>>2]|0)==0&(c[Q+4>>2]|0)==0){O=VR(a)|0;P=M()|0;Q=f;c[Q>>2]=O;c[Q+4>>2]=P}g=a+376|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)N=166;else{f=Ug(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;N=g;hP(Y,512,-1,c[N>>2]|0,c[N+4>>2]|0);N=c[D>>2]|0;c[T>>2]=Y;c[T+4>>2]=f;c[T+8>>2]=N;Te(a,24,236124,T);N=g;c[N>>2]=0;c[N+4>>2]=0;N=166}while(0);if((N|0)==166)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+816|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){Te(a,16,236244,U);f=-22;break b}f=c[B>>2]|0;if(c[f+16>>2]&65536|0){c[V>>2]=c[f+8>>2];Te(a,24,236304,V);c[a+820>>2]=-1;break}f=a+820|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((VV(236378,g)|0)==(-1|0)){f=0-(c[(CU()|0)>>2]|0)|0;c[W>>2]=c[b>>2];Te(a,16,236384,W);break b}else break}while(0);f=a+760|0;if((c[f>>2]|0)<=0)break;if((c[a+764>>2]|0)<=0)break;c[_>>2]=c[a+84>>2];c[_+4>>2]=1;c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[Y>>2]=c[_>>2];c[Y+4>>2]=c[_+4>>2];$M(Z,X,Y);Y=c[Z>>2]|0;_=a+76|0;c[_>>2]=c[Z+4>>2];c[_+4>>2]=Y}while(0);if((c[R>>2]|0)<=0){f=0;break a}f=c[S>>2]|0;if(!f){f=0;break a}b=c[ca+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[aa>>2]=236449;c[aa+4>>2]=189834;c[aa+8>>2]=995;Te(0,0,222432,aa);Za()}while(0);Te(a,16,235041,$);f=-22}}else f=-12;while(0);b=c[ea>>2]|0;if(b|0?c[b+116>>2]&2|0:0)Mc[c[b+96>>2]&31](a)|0;if(c[ca+44>>2]|0?c[ca+56>>2]|0:0)tf(c[a+24>>2]|0);tf(a);Dg(a+684|0);Df(fa);Pe(a+24|0);b=c[ba>>2]|0;if(b|0){Dg(b+12|0);Dg((c[ba>>2]|0)+100|0);Dg((c[ba>>2]|0)+76|0);uf((c[ba>>2]|0)+68|0);uf((c[ba>>2]|0)+40|0);uf((c[ba>>2]|0)+24|0);Pe((c[ba>>2]|0)+16|0)}Pe(ba);c[ea>>2]=0}while(0);RR(ca);if(da){Df(e);c[e>>2]=c[fa>>2]}}else f=-22}else f=0;while(0);Gc=ga;return f|0}function TR(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)OW(253404)|0;return}function UR(a,b){a=a|0;b=b|0;return (a|0?a:b)|0}function VR(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=WR(c[a+16>>2]|0)|0;if(!b){b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+344>>2]|0;a=c[a+348>>2]|0;b=sY(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=sY(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function WR(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=XR(a)|0}return a|0}function XR(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86070)switch(a|0){case 86071:case 86070:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function YR(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;if(!b)return;if((e|0)==0|(f|0)==0)f=1;else{c[b+32>>2]=e;c[b+12>>2]=f;k=b+16|0;c[k>>2]=f;j=e;a:do if(f>>>0>3){i=(d[e+2>>0]|0)<<8|(d[e+3>>0]|0)|(d[e+1>>0]|0)<<16|(d[e>>0]|0)<<24;h=f+-4|0;c[k>>2]=h;c[b>>2]=i;i=e+4|0;if(h>>>0>3){g=(d[e+6>>0]|0)<<8|(d[e+7>>0]|0)|(d[e+5>>0]|0)<<16|(d[i>>0]|0)<<24;f=f+-8|0;break}switch(f|0){case 7:{f=a[e+6>>0]|0;l=13;break}case 6:{f=0;l=13;break}case 5:{f=0;g=0;break}default:{f=0;h=0;g=0;l=15;break a}}if((l|0)==13)g=a[e+5>>0]|0;h=g;g=a[i>>0]|0;l=15}else{switch(f|0){case 3:{f=a[e+2>>0]|0;l=6;break}case 2:{f=0;l=6;break}case 1:{f=0;g=0;l=7;break}default:{f=0;g=0;h=0}}if((l|0)==6){g=a[e+1>>0]|0;l=7}if((l|0)==7)h=a[e>>0]|0;c[k>>2]=0;c[b>>2]=(g&255)<<16|(h&255)<<24|(f&255)<<8;f=0;h=0;g=0;l=15}while(0);if((l|0)==15){g=(h&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[k>>2]=f;c[b+4>>2]=g;c[b+28>>2]=j;c[b+24>>2]=e+8;c[b+8>>2]=32;f=0}a[b+20>>0]=f;return}function ZR(a){a=a|0;return}function _R(a){a=a|0;return -32-(c[a+8>>2]|0)+((c[a+24>>2]|0)-(c[a+28>>2]|0)<<3)|0}function $R(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b+8|0;e=c[n>>2]|0;f=0-e&7;if(!f){n=0;return n|0}m=8-f|0;if(!(a[b+20>>0]|0)){if(e>>>0<=m>>>0){k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;f=c[l>>2]|0;h=b+24|0;i=c[h>>2]|0;if(f>>>0>3){b=d[i+2>>0]<<8|d[i+3>>0]|d[i+1>>0]<<16|d[i>>0]<<24;f=f+-4|0}else{switch(f|0){case 3:{f=a[i+2>>0]|0;j=8;break}case 2:{f=0;j=8;break}case 1:{f=0;b=0;j=9;break}default:{f=0;b=0;g=0}}if((j|0)==8){b=a[i+1>>0]|0;j=9}if((j|0)==9)g=a[i>>0]|0;b=(b&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[l>>2]=f;c[k>>2]=b;c[h>>2]=i+4;e=e+32|0}c[n>>2]=e-m}n=m&255;return n|0}function aS(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;i=b+4|0;c[b>>2]=c[i>>2];j=b+16|0;f=c[j>>2]|0;k=b+24|0;l=c[k>>2]|0;if(f>>>0>3){m=(d[l+2>>0]|0)<<8|(d[l+3>>0]|0)|(d[l+1>>0]|0)<<16|(d[l>>0]|0)<<24;h=f+-4|0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}switch(f|0){case 3:{f=a[l+2>>0]|0;m=5;break}case 2:{f=0;m=5;break}case 1:{f=0;g=0;m=6;break}default:{f=0;g=0;h=0}}if((m|0)==5){g=a[l+1>>0]|0;m=6}if((m|0)==6)h=a[l>>0]|0;m=(g&255)<<16|(h&255)<<24|(f&255)<<8;h=0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}function bS(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;m=e>>5;k=e&31;e=(c[b+12>>2]|0)-(m<<2)|0;l=b+16|0;c[l>>2]=e;j=c[b+28>>2]|0;h=j+(m<<2)|0;a:do if(e>>>0>3){f=(d[h+2>>0]|0)<<8|(d[h+3>>0]|0)|(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24;h=e+-4|0;c[l>>2]=h;c[b>>2]=f;f=j+(m+1<<2)|0;if(h>>>0>3){i=(d[f+2>>0]|0)<<8|(d[f+3>>0]|0)|(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24;h=e+-8|0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}switch(e|0){case 7:{e=a[f+2>>0]|0;i=11;break}case 6:{e=0;i=11;break}case 5:{e=0;g=0;break}default:{e=0;g=0;f=0;break a}}if((i|0)==11)g=a[f+1>>0]|0;f=a[f>>0]|0}else{switch(e|0){case 3:{e=a[h+2>>0]|0;i=4;break}case 2:{e=0;i=4;break}case 1:{e=0;f=0;i=5;break}default:{e=0;g=0;f=0}}if((i|0)==4){f=a[h+1>>0]|0;i=5}if((i|0)==5){g=f;f=a[h>>0]|0}c[l>>2]=0;c[b>>2]=(g&255)<<16|(f&255)<<24|(e&255)<<8;e=0;g=0;f=0}while(0);i=(g&255)<<16|(f&255)<<24|(e&255)<<8;h=0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}function cS(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>>3;d=c&7;e=dS(f+1|0)|0;if(f|0){c=0;do{a[e+c>>0]=eS(b,8)|0;c=c+1|0}while((c|0)!=(f|0))}if(!d)return e|0;a[e+f>>0]=(eS(b,d)|0)<<8-d;return e|0}function dS(a){a=a|0;return FW(a)|0}function eS(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;if(!e){o=0;return o|0}o=b+8|0;m=c[o>>2]|0;if(m>>>0<e>>>0){n=e-m|0;n=(c[b>>2]&(1<<m)+-1)<<n|(c[b+4>>2]|0)>>>(32-n|0)}else n=c[b>>2]<<32-m>>>(32-e|0);if(a[b+20>>0]|0){o=n;return o|0}if(m>>>0>e>>>0)b=m-e|0;else{k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;g=c[l>>2]|0;i=b+24|0;j=c[i>>2]|0;if(g>>>0>3){f=d[j+2>>0]<<8|d[j+3>>0]|d[j+1>>0]<<16|d[j>>0]<<24;b=g+-4|0}else{switch(g|0){case 3:{b=a[j+2>>0]|0;h=12;break}case 2:{b=0;h=12;break}case 1:{b=0;f=0;h=13;break}default:{b=0;f=0;g=0}}if((h|0)==12){f=a[j+1>>0]|0;h=13}if((h|0)==13)g=a[j>>0]|0;f=(f&255)<<16|(g&255)<<24|(b&255)<<8;b=0}c[l>>2]=b;c[k>>2]=f;c[i>>2]=j+4;b=32-e+m|0}c[o>>2]=b;o=n;return o|0}function fS(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=H(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))gS(k,q,d,v,g,h,i);else gS(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))hS(k,q,d,v,g);else hS(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))iS(k,q,d,v,g,h,-1);else iS(k,q,v,d,g,h,-1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))jS(k,q,d,v,g,h,i,j,-1);else jS(k,q,v,d,g,h,i,j,-1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(H(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function gS(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;B=+f[c+(r<<3)>>2];h=r|2;w=+f[c+(h<<3)>>2];A=B+w;w=B-w;B=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];y=B+u;u=B-u;h=r|1;B=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];z=B+t;t=B-t;B=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];x=B+v;v=B-v;f[d+(i<<3)>>2]=A+z;h=i+b|0;f[d+(h<<3)>>2]=A-z;f[d+(i<<3)+4>>2]=y+x;f[d+(h<<3)+4>>2]=y-x;h=i+s|0;f[d+(h<<3)>>2]=w-v;r=i+a|0;f[d+(r<<3)>>2]=w+v;f[d+(h<<3)+4>>2]=u-t;f[d+(r<<3)+4>>2]=u+t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=H(s,r)|0;k=H(a,s)|0;l=H(i,s)|0;p=0;do{if(!b){m=(H(q,p)|0)&65532;n=(H(p,r)|0)&65535;o=0;do{D=o+m|0;z=+f[c+(D<<3)>>2];C=D+a|0;u=+f[c+(C<<3)>>2];x=z+u;u=z-u;z=+f[c+(D<<3)+4>>2];t=+f[c+(C<<3)+4>>2];v=z+t;t=z-t;C=D+r|0;z=+f[c+(C<<3)>>2];D=D+i|0;y=+f[c+(D<<3)>>2];B=z+y;y=z-y;z=+f[c+(D<<3)+4>>2];A=+f[c+(C<<3)+4>>2];w=z+A;A=z-A;z=u-A;A=u+A;u=t-y;y=t+y;C=o+n|0;f[d+(C<<3)>>2]=x+B;B=x-B;f[d+(C<<3)+4>>2]=v+w;w=v-w;D=C+j|0;v=+f[e+(o<<3)>>2];x=+f[e+(o<<3)+4>>2];f[d+(D<<3)>>2]=z*v+u*x;f[d+(D<<3)+4>>2]=u*v-z*x;D=C+k|0;x=+f[g+(o<<3)>>2];z=+f[g+(o<<3)+4>>2];f[d+(D<<3)>>2]=B*x+w*z;f[d+(D<<3)+4>>2]=w*x-B*z;C=C+l|0;z=+f[h+(o<<3)>>2];B=+f[h+(o<<3)+4>>2];f[d+(C<<3)>>2]=A*z+y*B;f[d+(C<<3)+4>>2]=y*z-A*B;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function hS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=H(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(H(k,h)|0)&65534;g=(H(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];o=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];q=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)>>2]=o*p+q*n;f[d+(m<<3)+4>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function iS(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0;l=a&65535;i=h<<24>>24==1;m=b&65535;h=b<<16>>16!=0;if(a<<16>>16==1)if(i){if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;r=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;n=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];q=p-r*.5;j=c+(j<<3)+4|0;o=+f[j>>2]-n*.5;f[d+(b<<3)>>2]=r+p;f[d+(b<<3)+4>>2]=n+ +f[j>>2];n=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=q-p;f[d+(l<<3)+4>>2]=o+n;l=b+h|0;f[d+(l<<3)>>2]=q+p;f[d+(l<<3)+4>>2]=o-n;b=b+1|0}while((b|0)!=(m|0));return}else{if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;n=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;r=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];o=p-n*.5;j=c+(j<<3)+4|0;q=+f[j>>2]-r*.5;f[d+(b<<3)>>2]=n+p;f[d+(b<<3)+4>>2]=r+ +f[j>>2];r=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=o+p;f[d+(l<<3)+4>>2]=q-r;l=b+h|0;f[d+(l<<3)>>2]=o-p;f[d+(l<<3)+4>>2]=q+r;b=b+1|0}while((b|0)!=(m|0));return}if(i){if(!h)return;j=H(m,l)|0;k=H(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=H((a*3|0)+1|0,l)|0;b=H(a,l)|0;i=0;do{v=i+h&65535;x=c+(v<<3)|0;t=v+l|0;w=c+(t<<3)|0;o=+f[x>>2]+ +f[w>>2];y=v-l|0;n=+f[c+(y<<3)>>2];p=n-o*.5;v=c+(v<<3)+4|0;t=c+(t<<3)+4|0;r=+f[v>>2]+ +f[t>>2];y=c+(y<<3)+4|0;u=+f[y>>2]-r*.5;s=i+b&65535;f[d+(s<<3)>>2]=n+o;f[d+(s<<3)+4>>2]=r+ +f[y>>2];r=(+f[x>>2]-+f[w>>2])*.8660253882408142;o=(+f[v>>2]-+f[t>>2])*.8660253882408142;n=p-o;q=u-r;o=p+o;r=u+r;t=s+j|0;u=+f[e+(i<<3)>>2];p=+f[e+(i<<3)+4>>2];f[d+(t<<3)+4>>2]=r*u+p*n;f[d+(t<<3)>>2]=u*n-r*p;s=s+k|0;p=+f[g+(i<<3)>>2];r=+f[g+(i<<3)+4>>2];f[d+(s<<3)+4>>2]=q*p+o*r;f[d+(s<<3)>>2]=o*p-q*r;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}else{if(!h)return;j=H(m,l)|0;k=H(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=H((a*3|0)+1|0,l)|0;b=H(a,l)|0;i=0;do{w=i+h&65535;t=c+(w<<3)|0;x=w+l|0;v=c+(x<<3)|0;r=+f[t>>2]+ +f[v>>2];s=w-l|0;q=+f[c+(s<<3)>>2];u=q-r*.5;w=c+(w<<3)+4|0;x=c+(x<<3)+4|0;n=+f[w>>2]+ +f[x>>2];s=c+(s<<3)+4|0;o=+f[s>>2]-n*.5;y=i+b&65535;f[d+(y<<3)>>2]=q+r;f[d+(y<<3)+4>>2]=n+ +f[s>>2];n=(+f[t>>2]-+f[v>>2])*.8660253882408142;r=(+f[w>>2]-+f[x>>2])*.8660253882408142;q=u+r;p=o+n;r=u-r;n=o-n;x=y+j|0;o=+f[e+(i<<3)>>2];u=+f[e+(i<<3)+4>>2];f[d+(x<<3)>>2]=n*u+o*q;f[d+(x<<3)+4>>2]=n*o-u*q;y=y+k|0;q=+f[g+(i<<3)>>2];u=+f[g+(i<<3)+4>>2];f[d+(y<<3)>>2]=r*q+p*u;f[d+(y<<3)+4>>2]=p*q-r*u;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}}function jS(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,I=0,J=0;s=a&65535;k=j<<24>>24==1;t=b&65535;j=b<<16>>16!=0;if(a<<16>>16==1)if(k){if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;w=+f[c+(s<<3)>>2];h=s+3|0;x=+f[c+(h<<3)>>2];A=w+x;E=+f[c+(s<<3)+4>>2];C=+f[c+(h<<3)+4>>2];z=E+C;h=s+1|0;v=+f[c+(h<<3)>>2];i=s+2|0;y=+f[c+(i<<3)>>2];F=v+y;u=+f[c+(h<<3)+4>>2];B=+f[c+(i<<3)+4>>2];D=u+B;y=v-y;B=u-B;x=w-x;C=E-C;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=F+(A+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=D+(z+ +f[s>>2]);E=+f[i>>2];w=A*.30901700258255005+E-F*.80901700258255;u=+f[s>>2];v=z*.30901700258255005+u-D*.80901700258255;A=F*.30901700258255005+(E-A*.80901700258255);z=D*.30901700258255005+(u-z*.80901700258255);u=x*.9510565400123596+y*.5877852439880371;y=x*.5877852439880371-y*.9510565400123596;x=C*.9510565400123596+B*.5877852439880371;B=C*.5877852439880371-B*.9510565400123596;s=a+t|0;f[d+(s<<3)>>2]=w-x;f[d+(s<<3)+4>>2]=u+v;s=a+j|0;f[d+(s<<3)>>2]=A-B;f[d+(s<<3)+4>>2]=y+z;s=a+b|0;f[d+(s<<3)>>2]=B+A;f[d+(s<<3)+4>>2]=z-y;s=a+k|0;f[d+(s<<3)>>2]=x+w;f[d+(s<<3)+4>>2]=v-u;a=a+1|0}while((a|0)!=(t|0));return}else{if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;C=+f[c+(s<<3)>>2];h=s+3|0;z=+f[c+(h<<3)>>2];y=C+z;v=+f[c+(s<<3)+4>>2];x=+f[c+(h<<3)+4>>2];B=v+x;h=s+1|0;F=+f[c+(h<<3)>>2];i=s+2|0;E=+f[c+(i<<3)>>2];u=F+E;A=+f[c+(h<<3)+4>>2];D=+f[c+(i<<3)+4>>2];w=A+D;E=F-E;D=A-D;z=C-z;x=v-x;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=u+(y+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=w+(B+ +f[s>>2]);v=+f[i>>2];C=y*.30901700258255005+v-u*.80901700258255;A=+f[s>>2];F=B*.30901700258255005+A-w*.80901700258255;y=u*.30901700258255005+(v-y*.80901700258255);B=w*.30901700258255005+(A-B*.80901700258255);A=z*.5877852439880371+E*.9510565400123596;E=z*.9510565400123596-E*.5877852439880371;z=x*.5877852439880371+D*.9510565400123596;D=x*.9510565400123596-D*.5877852439880371;s=a+t|0;f[d+(s<<3)>>2]=D+C;f[d+(s<<3)+4>>2]=F-E;s=a+j|0;f[d+(s<<3)>>2]=z+y;f[d+(s<<3)+4>>2]=B-A;s=a+b|0;f[d+(s<<3)>>2]=y-z;f[d+(s<<3)+4>>2]=A+B;s=a+k|0;f[d+(s<<3)>>2]=C-D;f[d+(s<<3)+4>>2]=E+F;a=a+1|0}while((a|0)!=(t|0));return}if(k){if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=H(t,s)|0;l=H(k,t)|0;m=H(b,t)|0;n=H(s<<2,t)|0;r=0;do{if(!j){o=H((r*5|0)+1|0,s)|0;p=H(r,s)|0;q=0;do{I=q+o&65535;u=+f[c+(I<<3)>>2];G=I+b|0;x=+f[c+(G<<3)>>2];B=u+x;A=+f[c+(I<<3)+4>>2];z=+f[c+(G<<3)+4>>2];w=A+z;G=I+s|0;v=+f[c+(G<<3)>>2];J=I+k|0;F=+f[c+(J<<3)>>2];C=v+F;E=+f[c+(G<<3)+4>>2];y=+f[c+(J<<3)+4>>2];D=E+y;F=v-F;y=E-y;x=u-x;z=A-z;I=I-s|0;J=c+(I<<3)|0;G=q+p&65535;f[d+(G<<3)>>2]=C+(B+ +f[J>>2]);I=c+(I<<3)+4|0;f[d+(G<<3)+4>>2]=D+(w+ +f[I>>2]);A=+f[J>>2];u=B*.30901700258255005+A-C*.80901700258255;E=+f[I>>2];v=w*.30901700258255005+E-D*.80901700258255;B=C*.30901700258255005+(A-B*.80901700258255);w=D*.30901700258255005+(E-w*.80901700258255);E=x*.9510565400123596+F*.5877852439880371;F=x*.5877852439880371-F*.9510565400123596;x=z*.9510565400123596+y*.5877852439880371;y=z*.5877852439880371-y*.9510565400123596;z=E+v;D=F+w;A=y+B;C=x+u;x=u-x;E=v-E;y=B-y;F=w-F;I=G+a|0;w=+f[e+(q<<3)>>2];B=+f[e+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=x*B+w*z;f[d+(I<<3)>>2]=w*x-B*z;I=G+l|0;z=+f[g+(q<<3)>>2];B=+f[g+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=D*z+y*B;f[d+(I<<3)>>2]=y*z-D*B;I=G+m|0;B=+f[h+(q<<3)>>2];D=+f[h+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=F*B+A*D;f[d+(I<<3)>>2]=A*B-F*D;G=G+n|0;D=+f[i+(q<<3)>>2];F=+f[i+(q<<3)+4>>2];f[d+(G<<3)+4>>2]=E*D+C*F;f[d+(G<<3)>>2]=C*D-E*F;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}else{if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=H(t,s)|0;l=H(k,t)|0;m=H(b,t)|0;n=H(s<<2,t)|0;r=0;do{if(!j){o=H((r*5|0)+1|0,s)|0;p=H(r,s)|0;q=0;do{I=q+o&65535;B=+f[c+(I<<3)>>2];J=I+b|0;z=+f[c+(J<<3)>>2];D=B+z;F=+f[c+(I<<3)+4>>2];x=+f[c+(J<<3)+4>>2];A=F+x;J=I+s|0;C=+f[c+(J<<3)>>2];G=I+k|0;v=+f[c+(G<<3)>>2];E=C+v;w=+f[c+(J<<3)+4>>2];u=+f[c+(G<<3)+4>>2];y=w+u;v=C-v;u=w-u;z=B-z;x=F-x;I=I-s|0;G=c+(I<<3)|0;J=q+p&65535;f[d+(J<<3)>>2]=E+(D+ +f[G>>2]);I=c+(I<<3)+4|0;f[d+(J<<3)+4>>2]=y+(A+ +f[I>>2]);F=+f[G>>2];B=D*.30901700258255005+F-E*.80901700258255;w=+f[I>>2];C=A*.30901700258255005+w-y*.80901700258255;D=E*.30901700258255005+(F-D*.80901700258255);A=y*.30901700258255005+(w-A*.80901700258255);w=z*.5877852439880371+v*.9510565400123596;v=z*.9510565400123596-v*.5877852439880371;z=x*.5877852439880371+u*.9510565400123596;u=x*.9510565400123596-u*.5877852439880371;x=C-v;y=A-w;F=D-z;E=B-u;B=u+B;C=v+C;D=z+D;A=w+A;I=J+a|0;w=+f[e+(q<<3)>>2];z=+f[e+(q<<3)+4>>2];f[d+(I<<3)>>2]=w*B+z*x;f[d+(I<<3)+4>>2]=w*x-B*z;I=J+l|0;z=+f[g+(q<<3)>>2];B=+f[g+(q<<3)+4>>2];f[d+(I<<3)>>2]=D*z+y*B;f[d+(I<<3)+4>>2]=y*z-D*B;I=J+m|0;B=+f[h+(q<<3)>>2];D=+f[h+(q<<3)+4>>2];f[d+(I<<3)>>2]=F*B+A*D;f[d+(I<<3)+4>>2]=A*B-F*D;J=J+n|0;D=+f[i+(q<<3)>>2];F=+f[i+(q<<3)+4>>2];f[d+(J<<3)>>2]=E*D+C*F;f[d+(J<<3)+4>>2]=C*D-E*F;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}}function kS(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=H(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))lS(k,q,d,v,g,h,i);else lS(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))mS(k,q,d,v,g);else mS(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))iS(k,q,d,v,g,h,1);else iS(k,q,v,d,g,h,1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))jS(k,q,d,v,g,h,i,j,1);else jS(k,q,v,d,g,h,i,j,1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(H(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function lS(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;B=+f[c+(r<<3)>>2];h=r|2;w=+f[c+(h<<3)>>2];A=B+w;w=B-w;B=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];y=B+u;u=B-u;h=r|1;B=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];z=B+t;t=B-t;B=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];x=B+v;v=B-v;f[d+(i<<3)>>2]=A+z;h=i+b|0;f[d+(h<<3)>>2]=A-z;f[d+(i<<3)+4>>2]=y+x;f[d+(h<<3)+4>>2]=y-x;h=i+s|0;f[d+(h<<3)>>2]=w+v;r=i+a|0;f[d+(r<<3)>>2]=w-v;f[d+(h<<3)+4>>2]=u+t;f[d+(r<<3)+4>>2]=u-t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=H(s,r)|0;k=H(a,s)|0;l=H(i,s)|0;p=0;do{if(!b){m=(H(q,p)|0)&65532;n=(H(p,r)|0)&65535;o=0;do{D=o+m|0;u=+f[c+(D<<3)>>2];C=D+a|0;z=+f[c+(C<<3)>>2];x=u+z;z=u-z;u=+f[c+(D<<3)+4>>2];t=+f[c+(C<<3)+4>>2];v=u+t;t=u-t;C=D+r|0;u=+f[c+(C<<3)>>2];D=D+i|0;A=+f[c+(D<<3)>>2];w=u+A;A=u-A;u=+f[c+(D<<3)+4>>2];y=+f[c+(C<<3)+4>>2];B=u+y;y=u-y;u=z+y;y=z-y;z=t+A;A=t-A;C=o+n|0;f[d+(C<<3)>>2]=x+w;w=x-w;f[d+(C<<3)+4>>2]=v+B;B=v-B;D=C+j|0;v=+f[e+(o<<3)>>2];x=+f[e+(o<<3)+4>>2];f[d+(D<<3)+4>>2]=z*v+u*x;f[d+(D<<3)>>2]=u*v-z*x;D=C+k|0;x=+f[g+(o<<3)>>2];z=+f[g+(o<<3)+4>>2];f[d+(D<<3)+4>>2]=B*x+w*z;f[d+(D<<3)>>2]=w*x-B*z;C=C+l|0;z=+f[h+(o<<3)>>2];B=+f[h+(o<<3)+4>>2];f[d+(C<<3)+4>>2]=A*z+y*B;f[d+(C<<3)>>2]=y*z-A*B;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function mS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=H(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(H(k,h)|0)&65534;g=(H(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];q=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];o=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)+4>>2]=o*p+q*n;f[d+(m<<3)>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function nS(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,z=0,A=0;u=dS(40)|0;b[u>>1]=a;v=a&65535;w=v<<3;c[u+32>>2]=dS(w)|0;w=dS(w)|0;c[u+36>>2]=w;z=u+2|0;p=u+6|0;h=a;g=0;d=0;e=0;a:while(1){d=d+1<<16>>16;if((d&65535)<5)e=b[176316+((d&65535)+-1<<1)>>1]|0;else e=(e&65535)+2&65535;n=e&65535;if(e<<16>>16==2)j=h;else while(1){i=h;h=(h&65535)/(e&65535)|0;if((i&65535)-(H(h&65535,n)|0)&65535|0){h=i;continue a}g=g+1<<16>>16;b[z+((g&65535)+1<<1)>>1]=e;if(h<<16>>16==1)break a}while(1){h=j;j=(j&65535)>>>1;if((h&65535)-(H(j&65535,n)|0)&65535|0)continue a;i=g+1<<16>>16;h=i&65535;b[z+(h+1<<1)>>1]=2;if(g<<16>>16){if((i&65535)>=2){h=h+2|0;g=2;do{s=h-(g&65535)&65535;b[z+(s+1<<1)>>1]=b[z+(s<<1)>>1]|0;g=g+1<<16>>16}while((i&65535)>=(g&65535))}b[p>>1]=2}if(j<<16>>16==1){g=i;break a}else g=i}}b[z>>1]=a;b[u+4>>1]=g;t=6.2831854820251465/+(a&65535);if(!(g<<16>>16))return u|0;else{r=1;s=1;d=0}do{e=b[z+((r&65535)+1<<1)>>1]|0;p=s&65535;s=H(p,e&65535)|0;h=s&65535;a=(v>>>0)/(h>>>0)|0;q=e+-1<<16>>16;do if(q<<16>>16){i=(e&65535)>5;if(h>>>0>v>>>0){h=d&65535;e=w+(h<<3)|0;h=w+(h<<3)+4|0;if(i){c[e>>2]=1065353216;c[h>>2]=0;break}else{f[e>>2]=1.0;f[h>>2]=0.0;break}}if(i){j=0;n=0;do{i=d&65535;h=w+(i<<3)|0;f[h>>2]=1.0;i=w+(i<<3)+4|0;f[i>>2]=0.0;j=(j&65535)+p|0;o=t*+(j&65535|0);e=0;m=0.0;do{d=d+1<<16>>16;m=m+1.0;l=o*m;k=+x(+l);A=d&65535;f[w+(A<<3)>>2]=k;l=+y(+l);f[w+(A<<3)+4>>2]=l;e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);f[h>>2]=k;f[i>>2]=l;n=n+1<<16>>16}while((n&65535)<(q&65535))}else{h=0;i=0;do{e=d&65535;f[w+(e<<3)>>2]=1.0;f[w+(e<<3)+4>>2]=0.0;h=(h&65535)+p|0;l=t*+(h&65535|0);e=0;k=0.0;do{d=d+1<<16>>16;k=k+1.0;o=l*k;A=d&65535;f[w+(A<<3)>>2]=+x(+o);f[w+(A<<3)+4>>2]=+y(+o);e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);i=i+1<<16>>16}while((i&65535)<(q&65535))}}while(0);r=r+1<<16>>16}while((r&65535)<=(g&65535));return u|0}function oS(a){a=a|0;var b=0;b=c[a+32>>2]|0;if(b|0)pS(b);b=c[a+36>>2]|0;if(!b){pS(a);return}pS(b);pS(a);return}function pS(a){a=a|0;GW(a);return}function qS(a){a=a|0;if(a>>>0<=92016)if(a>>>0<=75131)if(a>>>0<=55425)if(a>>>0<=46008)if(a>>>0<=37565)if(a>>>0<=27712)if(a>>>0<=23003)if(a>>>0<=18782)if(a>>>0>13855)a=8;else return (a>>>0>11501?9:a>>>0>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function rS(a){a=a|0;if((a&255)>=12){a=0;return a|0}a=c[78356+((a&255)<<2)>>2]|0;return a|0}function sS(b){b=b|0;if((b&255)>=12){b=0;return b|0}b=a[244478+(b&255)>>0]|0;return b|0}function tS(b,c,d){b=b|0;c=c|0;d=d|0;d=d<<24>>24!=0&1;return a[((c<<24>>24==3?d|2:d)&255)+(244490+((b&255)<<2))>>0]|0}function uS(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 17:case 4:case 1:case 2:{a=0;break}case 3:{a=-1;break}default:a=-1}return a|0}function vS(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=c[a>>2]|0;g=c[b>>2]|0;f=d[244554+(g>>>25&99)>>0]|0;e=(d[244554+(e&245)>>0]|0)<<31|e>>>1;c[a>>2]=e;a=g<<1|f;c[b>>2]=a;return e^a|0}function wS(a){a=a|0;if((a&255)>33){a=0;return a|0}a=c[77884+((a&255)<<2)>>2]|0;return a|0}function xS(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=dS(2388)|0;if(!d){k=0;return k|0}DY(d|0,0,2384)|0;c[d+2384>>2]=236506;a[d+2264>>0]=1;a[d+2256>>0]=1;c[d+2260>>2]=44100;a[d+2265>>0]=0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+6>>0]=0;a[d+7>>0]=0;a[d+8>>0]=0;b[d+10>>1]=1024;c[d+16>>2]=0;c[d+124>>2]=0;c[d+1648>>2]=1;c[d+1652>>2]=1;e=d+128|0;f=d+328|0;g=d+584|0;h=d+1136|0;i=d+192|0;j=d+1392|0;k=0;do{a[e+k>>0]=0;c[f+(k<<2)>>2]=0;c[g+(k<<2)>>2]=0;c[h+(k<<2)>>2]=0;b[i+(k<<1)>>1]=0;c[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)!=64);DY(d+892|0,0,192)|0;c[d+324>>2]=yS(1.0,1.0)|0;k=d;return k|0}function yS(b,c){b=+b;c=+c;var d=0;d=dS(192)|0;DY(d|0,0,184)|0;f[d+184>>2]=b;f[d+188>>2]=c;a[d+1>>0]=1;a[d+4>>0]=-1;a[d+22>>0]=1;a[d+39>>0]=0;return d|0}function zS(a){a=a|0;return ((a|0)==0?0:a+2256|0)|0}function AS(b,d){b=b|0;d=d|0;var e=0;if(!((b|0)!=0&(d|0)!=0)){b=0;return b|0}if((uS(a[d>>0]|0)|0)<<24>>24<0){b=0;return b|0}a[b+2256>>0]=a[d>>0]|0;e=c[d+4>>2]|0;if(!e){b=0;return b|0}c[b+2260>>2]=e;e=a[d+8>>0]|0;if((e+-1&255)>4){b=0;return b|0}a[b+2264>>0]=e;e=a[d+9>>0]|0;if((e&255)>1){b=0;return b|0}a[b+2265>>0]=e;b=1;return b|0}function BS(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;n=e+8|0;m=e+4|0;o=e+20|0;i=0;while(1){f=c[n>>2]|0;if(f>>>0<12){h=12-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>20}b[d>>1]=h;j=(a[o>>0]|0)==0;if((h&65535|0)==4095)break;do if(j)if(f>>>0>8){c[n>>2]=f+-8;break}else{aS(e,8);break}while(0);i=i+1<<16>>16;if((i&65535)>=768){f=5;l=125;break}}if((l|0)==125)return f|0;do if(j)if(f>>>0>12){f=f+-12|0;c[n>>2]=f;l=17;break}else{aS(e,12);f=c[n>>2]|0;l=15;break}else l=15;while(0);do if((l|0)==15){if(f|0){g=c[e>>2]|0;l=17;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){aS(e,1);i=c[n>>2]|0;l=21;break}else{h=d+2|0;a[h>>0]=f;f=0;l=24;break}}while(0);if((l|0)==17){i=f+-1|0;c[n>>2]=i;f=g>>>i&1;l=21}do if((l|0)==21){g=d+2|0;a[g>>0]=f;if(i>>>0<2){h=g;f=i;g=c[m>>2]|0;l=24;break}else{f=c[e>>2]|0;j=f<<32-i>>>30;k=g;g=f;f=i;break}}while(0);if((l|0)==24){j=2-f|0;l=c[e>>2]|0;j=((1<<f)+-1&l)<<j|g>>>(32-j|0);k=h;g=l}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;a[d+3>>0]=j;l=31;break}else{aS(e,2);f=c[n>>2]|0;l=29;break}else l=29;while(0);do if((l|0)==29){a[d+3>>0]=j;if(f|0){g=c[e>>2]|0;l=31;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){aS(e,1);g=c[n>>2]|0;l=35;break}else{a[d+4>>0]=f;f=0;l=38;break}}while(0);if((l|0)==31){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=35}do if((l|0)==35){a[d+4>>0]=f;if(g>>>0<2){f=g;g=c[m>>2]|0;l=38;break}else{h=c[e>>2]<<32-g>>>30;f=g;break}}while(0);if((l|0)==38){h=2-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;break}else{aS(e,2);f=c[n>>2]|0;break}while(0);a[d+5>>0]=h;if(f>>>0<4){h=4-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>28}do if(!(a[o>>0]|0))if(f>>>0>4){f=f+-4|0;c[n>>2]=f;a[d+6>>0]=h;l=52;break}else{aS(e,4);f=c[n>>2]|0;l=50;break}else l=50;while(0);do if((l|0)==50){a[d+6>>0]=h;if(f|0){g=c[e>>2]|0;l=52;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){aS(e,1);g=c[n>>2]|0;l=56;break}else{a[d+7>>0]=f;f=0;l=59;break}}while(0);if((l|0)==52){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=56}do if((l|0)==56){a[d+7>>0]=f;if(g>>>0<3){f=g;g=c[m>>2]|0;l=59;break}else{j=c[e>>2]|0;h=j<<32-g>>>29;f=g;g=j;break}}while(0);if((l|0)==59){h=3-f|0;l=c[e>>2]|0;h=((1<<f)+-1&l)<<h|g>>>(32-h|0);g=l}do if(!(a[o>>0]|0))if(f>>>0>3){f=f+-3|0;c[n>>2]=f;a[d+8>>0]=h;l=66;break}else{aS(e,3);f=c[n>>2]|0;l=64;break}else l=64;while(0);do if((l|0)==64){a[d+8>>0]=h;if(f|0){g=c[e>>2]|0;l=66;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){aS(e,1);g=c[n>>2]|0;l=70;break}else{a[d+9>>0]=f;f=g>>>31;break}}while(0);if((l|0)==66){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=70}do if((l|0)==70){a[d+9>>0]=f;if(g|0){f=g+-1|0;c[n>>2]=f;f=(c[e>>2]|0)>>>f&1;break}f=(c[m>>2]|0)>>>31;if(!(a[o>>0]|0))aS(e,1)}while(0);a[d+10>>0]=f;if((a[d+22>>0]|0)==1?(a[k>>0]|0)==0:0){g=c[n>>2]|0;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{aS(e,2);break}while(0);a[d+11>>0]=f}f=c[n>>2]|0;do if(!f){g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){aS(e,1);g=c[n>>2]|0;l=89;break}else{a[d+12>>0]=f;f=g>>>31;l=92;break}}else{g=f+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1;l=89}while(0);do if((l|0)==89){a[d+12>>0]=f;if(!g){g=c[m>>2]|0;f=g>>>31;if(a[o>>0]|0){l=92;break}aS(e,1);g=c[n>>2]|0}else{g=g+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1}a[d+13>>0]=f;if(g>>>0<13){f=g;g=c[m>>2]|0;l=97;break}else{h=c[e>>2]<<32-g>>>19;f=g;break}}while(0);if((l|0)==92){a[d+13>>0]=f;f=0;l=97}if((l|0)==97){h=13-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>13){g=f+-13|0;c[n>>2]=g;break}else{aS(e,13);g=c[n>>2]|0;break}else g=f;while(0);b[d+14>>1]=h;if(g>>>0<11){f=11-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>21;do if(!(a[o>>0]|0))if(g>>>0>11){g=g+-11|0;c[n>>2]=g;break}else{aS(e,11);g=c[n>>2]|0;break}while(0);b[d+16>>1]=f;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{aS(e,2);break}while(0);a[d+18>>0]=f;if(a[d+4>>0]|0){o=0;return o|0}g=c[n>>2]|0;if(g>>>0<16){f=16-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>16;do if(!(a[o>>0]|0))if(g>>>0>16){c[n>>2]=g+-16;break}else{aS(e,16);break}while(0);b[d+20>>1]=f;o=0;return o|0}function CS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a&65535;d=(a&65535)>>>3;e=a&-2;h=dS(36)|0;f=h;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+24>>2]=DS(d<<1&65535)|0;c[h+32>>2]=DS(b<<1&65535)|0;c[h+28>>2]=DS(e)|0;if(a<<16>>16==1024){a=100228;b=96260;d=95268;e=87332;f=86340;g=78404}else{a=102276;b=98308;d=95780;e=91428;f=86852;g=82500}c[h>>2]=g;c[h+8>>2]=f;c[h+4>>2]=e;c[h+12>>2]=d;c[h+16>>2]=b;c[h+20>>2]=a;return h|0}function DS(a){a=a|0;var d=0,e=0,f=0;e=dS(12)|0;if(a&7)_(244810,244821,66,244828);b[e>>1]=a;switch(a<<16>>16){case 2048:{d=112996;f=9;break}case 256:{d=112484;f=9;break}case 1024:{d=110436;f=9;break}case 1920:{d=106596;f=9;break}case 240:{d=106116;f=9;break}case 960:{d=104196;f=9;break}default:{}}if((f|0)==9)c[e+8>>2]=d;c[e+4>>2]=nS((a&65535)>>>2)|0;return e|0}function ES(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;u=b+176|0;t=e+8|0;DY(b|0,0,471)|0;f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;s=e+20|0;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{aS(e,4);f=c[t>>2]|0;break}while(0);a[b>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{aS(e,2);f=c[t>>2]|0;break}while(0);a[b+1>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{aS(e,4);f=c[t>>2]|0;break}while(0);a[b+2>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{aS(e,4);f=c[t>>2]|0;break}while(0);m=b+3|0;a[m>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{aS(e,4);f=c[t>>2]|0;break}while(0);n=b+4|0;a[n>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{aS(e,4);f=c[t>>2]|0;break}while(0);o=b+5|0;a[o>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{aS(e,2);f=c[t>>2]|0;break}while(0);p=b+6|0;a[p>>0]=g;if(f>>>0<3){g=3-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>29;do if(!(a[s>>0]|0))if(f>>>0>3){f=f+-3|0;c[t>>2]=f;break}else{aS(e,3);f=c[t>>2]|0;break}while(0);q=b+7|0;a[q>>0]=g;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;g=b+8|0;a[g>>0]=h;i=65;break}else{aS(e,4);f=c[t>>2]|0;i=64;break}else i=64;while(0);do if((i|0)==64){g=b+8|0;a[g>>0]=h;if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0){r=g;break}aS(e,1);r=g}else i=65}while(0);if((i|0)==65){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1;r=g}l=f&255;a[b+9>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{aS(e,4);break}while(0);a[b+10>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+11>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{aS(e,4);break}while(0);a[b+12>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+13>>0]=l;if(l<<24>>24==1){f=c[t>>2]|0;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;a[b+15>>0]=g;i=103;break}else{aS(e,2);f=c[t>>2]|0;i=102;break}else i=102;while(0);do if((i|0)==102){a[b+15>>0]=g;if(f|0){i=103;break}f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}while(0);if((i|0)==103){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+14>>0]=f}if(a[m>>0]|0){k=e+4|0;l=b+435|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+16+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{aS(e,4);break}while(0);a[b+32+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[m>>0]|0)){j=f;g=f&255}else break}}if(a[n>>0]|0){k=e+4|0;l=b+436|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+48+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{aS(e,4);break}while(0);a[b+64+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[n>>0]|0)){j=f;g=f&255}else break}}if(a[o>>0]|0){k=e+4|0;l=b+437|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+80+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{aS(e,4);break}while(0);a[b+96+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=g+1<<24>>24}else{a[b+455+f>>0]=g;a[u>>0]=(g&255)+2;a[l>>0]=(d[l>>0]|0)+2}f=j+1<<24>>24;if((f&255)<(d[o>>0]|0)){j=f;g=f&255}else break}}f=a[p>>0]|0;if(f<<24>>24){k=e+4|0;l=b+438|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{aS(e,4);f=a[p>>0]|0;break}while(0);a[b+112+i>>0]=h;o=a[u>>0]|0;a[(h&255)+(b+439)>>0]=o;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=o+1<<24>>24;j=j+1<<24>>24}while((j&255)<(f&255))}f=a[q>>0]|0;if(f<<24>>24){k=e+4|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{aS(e,4);f=a[q>>0]|0;break}while(0);a[b+128+i>>0]=h;j=j+1<<24>>24}while((j&255)<(f&255))}if(a[r>>0]|0){j=e+4|0;i=0;h=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[j>>2]|0)>>>31;if(a[s>>0]|0)break;aS(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);a[b+144+h>>0]=f;g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[j>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{aS(e,4);break}while(0);a[b+160+h>>0]=f;f=i+1<<24>>24;if((f&255)<(d[r>>0]|0)){i=f;h=f&255}else break}}$R(e)|0;g=c[t>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[s>>0]|0))if(g>>>0>8){c[t>>2]=g+-8;break}else{aS(e,8);break}while(0);g=f&255;k=b+177|0;a[k>>0]=g;if(!(g<<24>>24)){t=0;b=b+178+t|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}l=e+4|0;j=0;f=0;do{h=c[t>>2]|0;if(h>>>0<8){i=8-h|0;i=(c[e>>2]&(1<<h)+-1)<<i|(c[l>>2]|0)>>>(32-i|0)}else i=c[e>>2]<<32-h>>>24;do if(!(a[s>>0]|0))if(h>>>0>8){c[t>>2]=h+-8;break}else{aS(e,8);g=a[k>>0]|0;break}while(0);a[b+178+f>>0]=i;j=j+1<<24>>24;f=j&255}while((j&255)<(g&255));b=b+178+f|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}function FS(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=Gc;Gc=Gc+32|0;l=m;if((d|0)==0|(f|0)==0|g>>>0<2|(h|0)==0|(i|0)==0){d=-1;Gc=m;return d|0}a[d+1>>0]=0;a[d>>0]=0;j=GS(f,g,l,d+1657|0,a[d+2>>0]|0)|0;k=c[l+4>>2]|0;c[h>>2]=k;g=l+8|0;f=a[g>>0]|0;if(!(f<<24>>24)){a[i>>0]=a[d+1833>>0]|0;a[d+1656>>0]=1;f=a[i>>0]|0}else a[i>>0]=f;if(f<<24>>24==1)a[i>>0]=2;f=d+3|0;a[f>>0]=a[l+1>>0]|0;h=d+4|0;a[h>>0]=a[l>>0]|0;a[d+6>>0]=a[l+15>>0]|0;a[d+7>>0]=a[l+16>>0]|0;a[d+8>>0]=a[l+17>>0]|0;o=a[l+19>>0]|0;a[d+840>>0]=o;n=a[l+21>>0]|0;a[d+842>>0]=n;i=(a[d+2267>>0]|0)==0?a[l+20>>0]|0:0;a[d+841>>0]=i;if(o<<24>>24==1&n<<24>>24==0|i<<24>>24==1)a[f>>0]=qS(k>>>1)|0;if(j<<24>>24){o=j;Gc=m;return o|0}a[d+5>>0]=a[g>>0]|0;g=d+10|0;if(!(a[l+9>>0]|0))f=b[g>>1]|0;else{b[g>>1]=960;f=960}c[d+320>>2]=CS(f)|0;if((a[h>>0]|0)!=23){o=0;Gc=m;return o|0}b[g>>1]=(e[g>>1]|0)>>>1;o=0;Gc=m;return o|0}function GS(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Gc;Gc=Gc+48|0;g=f;YR(g,a,b);$R(g)|0;e=HS(g,c,d,b,e)|0;Gc=f;return e|0}function HS(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;k=_R(b)|0;if(!d){d=-8;return d|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;q=b+8|0;h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;p=b+20|0;do if(!(a[p>>0]|0))if(h>>>0>5){h=h+-5|0;c[q>>2]=h;break}else{aS(b,5);h=c[q>>2]|0;break}while(0);a[d>>0]=i;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{aS(b,4);break}while(0);m=d+1|0;a[m>>0]=i;do if((i&255|0)==15?(j=c[q>>2]|0,(a[p>>0]|0)==0):0)if(j>>>0>24){h=j+-24|0;c[q>>2]=h;break}else{aS(b,24);o=21;break}else o=21;while(0);if((o|0)==21)h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{aS(b,4);break}while(0);j=d+8|0;a[j>>0]=i;i=rS(a[m>>0]|0)|0;n=d+4|0;c[n>>2]=i;h=a[d>>0]|0;if(-9044023>>>(h&255)&1|0){d=-1;return d|0}if(!i){d=-2;return d|0}i=a[j>>0]|0;if((i&255)>7){d=-3;return d|0}if(i<<24>>24==1)a[j>>0]=2;l=d+19|0;a[l>>0]=-1;if(h<<24>>24==5){a[l>>0]=1;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{aS(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{aS(b,24);break}}else h=rS(h)|0;while(0);c[n>>2]=h;i=c[q>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>27;do if(!(a[p>>0]|0))if(i>>>0>5){c[q>>2]=i+-5;break}else{aS(b,5);break}while(0);h=h&255;a[d>>0]=h}switch(h<<24>>24){case 7:case 6:case 4:case 3:case 2:case 1:{e=IS(b,d,e)|0;break}default:if((h&255)>16){i=IS(b,d,e)|0;j=c[q>>2]|0;if(j>>>0<2){h=2-j|0;h=(c[b>>2]&(1<<j)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-j>>>30;do if(!(a[p>>0]|0))if(j>>>0>2){c[q>>2]=j+-2;break}else{aS(b,2);break}while(0);a[d+18>>0]=h;e=(h&255|0)==0?i:-5}else e=-4}do if(g<<24>>24==0?(k=(f<<3)-k+(_R(b)|0)<<24,(a[d>>0]|0)!=5&(k|0)>251658240):0){i=c[q>>2]|0;if(i>>>0<11){h=11-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>21;do if(!(a[p>>0]|0))if(i>>>0>11){c[q>>2]=i+-11;break}else{aS(b,11);break}while(0);if((h&65535|0)==695){h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;do if(!(a[p>>0]|0))if(h>>>0>5){c[q>>2]=h+-5;break}else{aS(b,5);break}while(0);j=i&255;if((i&255|0)!=5){o=114;break}h=c[q>>2]|0;do if(!h){h=(c[b+4>>2]|0)>>>31;if(a[p>>0]|0)break;aS(b,1)}else{h=h+-1|0;c[q>>2]=h;h=(c[b>>2]|0)>>>h&1}while(0);k=h&255;a[l>>0]=k;if(!(k<<24>>24))break;a[d>>0]=j;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{aS(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{aS(b,24);break}}else h=rS(h)|0;while(0);c[n>>2]=h;o=114}else o=114}else o=114;while(0);do if((o|0)==114?(a[l>>0]|0)==-1:0){h=c[n>>2]|0;if(h>>>0<24001){c[n>>2]=h<<1;a[d+20>>0]=1;break}else{a[d+21>>0]=1;break}}while(0);d=e;return d|0}function IS(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+480|0;k=m;l=e+8|0;h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){aS(e,1);i=c[l>>2]|0;j=6;break}else{a[f+9>>0]=h;j=8;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=6}while(0);if((j|0)==6){a[f+9>>0]=h;if(!i)j=8;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==8){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}j=h&255;a[f+10>>0]=j;if(j<<24>>24==1){i=c[l>>2]|0;if(i>>>0<14){h=14-i|0;h=(c[e>>2]&(1<<i)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-i>>>18;do if(!(a[e+20>>0]|0))if(i>>>0>14){c[l>>2]=i+-14;break}else{aS(e,14);break}while(0);b[f+12>>1]=h}h=c[l>>2]|0;if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}else{h=h+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}h=h&255;i=f+14|0;a[i>>0]=h;if(!(a[f+8>>0]|0)){if((ES(k,e)|0)<<24>>24){l=-3;Gc=m;return l|0}if(g|0)BY(g|0,k|0,471)|0;h=a[i>>0]|0}if(h<<24>>24!=1){l=0;Gc=m;return l|0}if((d[f>>0]|0)>16){h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){aS(e,1);i=c[l>>2]|0;j=35;break}else{a[f+15>>0]=h;j=37;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=35}while(0);if((j|0)==35){a[f+15>>0]=h;if(!i)j=37;else{i=i+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=40}}do if((j|0)==37){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){aS(e,1);i=c[l>>2]|0;j=40;break}else{a[f+16>>0]=h;j=42;break}}while(0);if((j|0)==40){a[f+16>>0]=h;if(!i)j=42;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==42){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))aS(e,1)}a[f+17>>0]=h}h=c[l>>2]|0;if(a[e+20>>0]|0){l=0;Gc=m;return l|0}if(h>>>0>1){c[l>>2]=h+-1;l=0;Gc=m;return l|0}else{aS(e,1);l=0;Gc=m;return l|0}return 0}function JS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;d=a+328|0;e=a+584|0;f=a+1136|0;g=a+1392|0;h=0;do{b=c[d+(h<<2)>>2]|0;if(b|0)pS(b);b=c[e+(h<<2)>>2]|0;if(b|0)pS(b);b=c[f+(h<<2)>>2]|0;if(b|0)pS(b);b=c[g+(h<<2)>>2]|0;if(b|0)pS(b);h=h+1|0}while((h|0)!=64);KS(c[a+320>>2]|0);LS(c[a+324>>2]|0);b=c[a+124>>2]|0;if(b|0)pS(b);b=a+892|0;e=0;do{d=c[b+(e<<2)>>2]|0;if(d|0)MS(d);e=e+1|0}while((e|0)!=48);pS(a);return}function KS(a){a=a|0;if(!a)return;QS(c[a+24>>2]|0);QS(c[a+32>>2]|0);QS(c[a+28>>2]|0);pS(a);return}function LS(a){a=a|0;if(!a)return;pS(a);return}function MS(a){a=a|0;var b=0;if(!a)return;NS(c[a+12440>>2]|0);OS(c[a+12448>>2]|0);b=a+12452|0;if(c[b>>2]|0){NS(c[a+12444>>2]|0);OS(c[b>>2]|0)}b=c[a+648>>2]|0;if(b|0)pS(b);b=c[a+688>>2]|0;if(b|0)pS(b);b=c[a+668>>2]|0;if(b|0)pS(b);b=c[a+708>>2]|0;if(b|0)pS(b);b=c[a+652>>2]|0;if(b|0)pS(b);b=c[a+692>>2]|0;if(b|0)pS(b);b=c[a+672>>2]|0;if(b|0)pS(b);b=c[a+712>>2]|0;if(b|0)pS(b);b=c[a+656>>2]|0;if(b|0)pS(b);b=c[a+696>>2]|0;if(b|0)pS(b);b=c[a+676>>2]|0;if(b|0)pS(b);b=c[a+716>>2]|0;if(b|0)pS(b);b=c[a+660>>2]|0;if(b|0)pS(b);b=c[a+700>>2]|0;if(b|0)pS(b);b=c[a+680>>2]|0;if(b|0)pS(b);b=c[a+720>>2]|0;if(b|0)pS(b);b=c[a+664>>2]|0;if(b|0)pS(b);b=c[a+704>>2]|0;if(b|0)pS(b);b=c[a+684>>2]|0;if(b|0)pS(b);b=c[a+724>>2]|0;if(b|0)pS(b);b=c[a+53420>>2]|0;if(b|0)PS(b);pS(a);return}function NS(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)pS(b);pS(a);return}function OS(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)pS(b);pS(a);return}function PS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[b+720>>2]|0;if(!i){pS(b);return}d=c[i+12>>2]|0;if(d|0)pS(d);f=i+16|0;d=c[f>>2]|0;e=c[d>>2]|0;if(e){pS(e);d=c[f>>2]|0}e=c[d+4>>2]|0;if(e){pS(e);d=c[f>>2]|0}e=c[d+8>>2]|0;if(e){pS(e);d=c[f>>2]|0}e=c[d+12>>2]|0;if(e){pS(e);d=c[f>>2]|0}e=c[d+16>>2]|0;if(e){pS(e);d=c[f>>2]|0}if(d|0)pS(d);e=a[i>>0]|0;h=i+20|0;d=c[h>>2]|0;if(e<<24>>24){g=0;do{f=c[d+((g&255)<<2)>>2]|0;if(f){pS(f);e=a[i>>0]|0;d=c[h>>2]|0}g=g+1<<24>>24}while((g&255)<(e&255))}if(d|0)pS(d);pS(i);pS(b);return}function QS(a){a=a|0;if(!a)return;oS(c[a+4>>2]|0);pS(a);return}function RS(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return SS(a,b,c,d,0,0)|0}function SS(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Gc;Gc=Gc+64|0;n=A;m=A+40|0;o=n;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if((f|0)==0|(g|0)==0|(h|0)==0){f=0;Gc=A;return f|0}z=f+10|0;l=b[z>>1]|0;o=g;p=o+88|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f+2192|0;p=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(i>>>0>127?(XU(h,244843,3)|0)==0:0){c[g>>2]=128;f=0;Gc=A;return f|0}YR(n,h,i);if(a[f>>0]|0){a[m+22>>0]=a[f+2266>>0]|0;x=BS(m,n)|0;h=g+9|0;a[h>>0]=x;if(!(x<<24>>24))y=8;else h=0}else{h=g+9|0;y=8}a:do if((y|0)==8){TS(f,g,n,f+1657|0,c[f+324>>2]|0);u=f+24|0;i=a[u>>0]|0;if(!(a[h>>0]|0)){if((i+-1&255)>63){a[h>>0]=12;h=0;break}c[g>>2]=((_R(n)|0)+7|0)>>>3;if(a[n+20>>0]|0){a[h>>0]=14;h=0;break}b:do if((a[f>>0]|0)==0?(a[f+1>>0]|0)==0:0){m=f+5|0;n=i<<24>>24==8;if(n|(a[m>>0]|0)==0)a[m>>0]=n?7:i;switch(i<<24>>24){case 6:case 5:{y=20;break b}case 7:break;default:break b}a[m>>0]=0;i=7}else y=19;while(0);if((y|0)==19)if((i+-5&255)<2)y=20;if((y|0)==20)if(a[f+2265>>0]|0){a[f+20>>0]=1;i=2}q=i<<24>>24==1;x=q?2:i;a[f+21>>0]=q&1;q=g+19|0;n=g+20|0;s=g+21|0;v=g+22|0;t=g+23|0;i=f+20|0;o=q;p=o+68|0;do{a[o>>0]=0;o=o+1|0}while((o|0)<(p|0));c:do if(!(a[i>>0]|0)){if(a[f+1656>>0]|0){m=a[f+2092>>0]|0;a[q>>0]=m;p=a[f+2093>>0]|0;a[n>>0]=p;r=a[f+2094>>0]|0;a[s>>0]=r;a[v>>0]=a[f+2095>>0]|0;o=m&255;if(!(o&1))i=0;else{a[t>>0]=2;a[g+24>>0]=3;i=2}if(m<<24>>24){n=0;while(1){a[(i&255)+(g+23)>>0]=2;m=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=3;n=n+2&255;if(n>>>0>=o>>>0){i=m;break}else i=m}}if(p<<24>>24){o=p&255;m=0;while(1){a[(i&255)+(g+23)>>0]=4;n=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=5;m=m+2&255;if(m>>>0>=o>>>0){i=n;break}else i=n}}q=(r&1)==0;w=r+((q^1)<<31>>31)<<24>>24;p=w&255;m=i|1;n=(i&255)+(g+23)|0;if(w<<24>>24){o=0;do{a[n>>0]=6;i=i+2<<24>>24;a[(m&255)+(g+23)>>0]=7;o=o+2&255;m=i|1;n=(i&255)+(g+23)|0}while(o>>>0<p>>>0)}if(!q){a[n>>0]=8;i=m}n=a[v>>0]|0;if(!(n<<24>>24))break;else m=0;while(1){a[(i&255)+(g+23)>>0]=9;m=m+1<<24>>24;if((m&255)>=(n&255))break c;else i=i+1<<24>>24}}switch(a[f+5>>0]|0){case 1:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 2:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 3:{a[q>>0]=3;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;break c}case 4:{a[q>>0]=3;a[s>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=8;break c}case 5:{a[q>>0]=3;a[s>>0]=2;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;break c}case 6:{a[q>>0]=3;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;a[g+28>>0]=9;break c}case 7:{a[q>>0]=3;a[n>>0]=2;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=4;a[g+27>>0]=5;a[g+28>>0]=6;a[g+29>>0]=7;a[g+30>>0]=9;break c}default:{r=f+23|0;w=(d[u>>0]|0)-(d[r>>0]|0)|0;i=w&255;p=w&255;d:do if(!(w&1)){m=p>>>1;w=m&255;a[q>>0]=w;a[s>>0]=w;if(!(m&1)){if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[t>>0]=1;if(m|0){n=1;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<=m>>>0)}m=m+1|0;n=p+-1|0;if((m|0)<(n|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(n|0));a[g+23+n>>0]=8}else{o=p+-1|0;n=(o|0)/2|0;m=n&255;if(!(a[f+22>>0]|0)){o=n&255;n=n+1|0;a[q>>0]=n;a[s>>0]=m;a[t>>0]=1;if(o|0){m=1;do{a[g+23+m>>0]=2;a[m+1+(g+23)>>0]=3;m=m+2&255}while(m>>>0<=o>>>0)}m=n&255;if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[q>>0]=m;m=n&255;a[s>>0]=n+1;if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if((m|0)<(o|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(o|0));a[g+23+o>>0]=8}while(0);a[v>>0]=a[r>>0]|0;if((d[u>>0]|0)<=(i&255))break c;do{a[(i&255)+(g+23)>>0]=9;i=i+1<<24>>24}while((i&255)<(d[u>>0]|0))}}}else{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3}while(0);r=l&65535;p=H(x&255,r)|0;v=g+4|0;c[v>>2]=p;a[g+8>>0]=x;s=g+12|0;c[s>>2]=rS(a[f+3>>0]|0)|0;w=f+4|0;t=g+17|0;a[t>>0]=a[w>>0]|0;u=g+16|0;a[u>>0]=0;q=g+18|0;a[q>>0]=0;n=(a[f+1>>0]|0)!=0&1;a[q>>0]=n;a[q>>0]=(a[f>>0]|0)==0?n:2;a[g+87>>0]=a[f+1132>>0]|0;q=f+124|0;n=c[q>>2]|0;o=(n|0)==0;if(!o?(a[f+122>>0]|0)==x<<24>>24:0)i=f+840|0;else{m=a[244847+((d[f+2264>>0]|0)+-1)>>0]|0;i=f+840|0;if((a[i>>0]|0)==1?(a[f+842>>0]|0)==0:0)y=75;else if((a[f+841>>0]|0)==1)y=75;if((y|0)==75)m=(m&255)<<1&255;if(k){if((H(p,m&255)|0)>>>0>k>>>0){a[h>>0]=27;f=0;Gc=A;return f|0}}else{if(!o)pS(n);c[q>>2]=0;c[q>>2]=dS(H(p,m&255)|0)|0}a[f+122>>0]=x}p=c[((k|0)==0?q:j)>>2]|0;n=(a[i>>0]|0)==1;if(!(!n?(a[f+841>>0]|0)!=1:0)){o=(a[f+842>>0]|0)==0;if(o){c[v>>2]=c[v>>2]<<1;c[s>>2]=c[s>>2]<<1;l=r<<1&65535}m=a[f+25>>0]|0;e:do if(m<<24>>24){i=0;while(1){if(!(c[f+892+((i&255)<<2)>>2]|0))break;i=i+1<<24>>24;if((i&255)>=(m&255))break e}a[h>>0]=25;h=0;break a}while(0);if(n){a[t>>0]=5;h=1}else h=3;a[u>>0]=o?h:2}US(f,f+328|0,p,x,l,a[f+2264>>0]|0)|0;a[f+12>>0]=0;f=f+16|0;l=(c[f>>2]|0)+1|0;c[f>>2]=l;if((a[w>>0]|0)==23){if(l|0){f=p;Gc=A;return f|0}c[v>>2]=0;f=p;Gc=A;return f|0}else{if(l>>>0>=2){f=p;Gc=A;return f|0}c[v>>2]=0;f=p;Gc=A;return f|0}}else h=0}while(0);do{l=c[f+584+(h<<2)>>2]|0;if(l|0)DY(l|0,0,e[z>>1]<<2|0)|0;h=h+1|0}while((h|0)!=64);h=0;do{l=c[f+892+(h<<2)>>2]|0;if(l|0)VS(l);h=h+1|0}while((h|0)!=48);f=0;Gc=A;return f|0}function TS(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a[b+24>>0]=0;a[b+25>>0]=0;t=b+22|0;a[t>>0]=25;u=b+23|0;a[u>>0]=0;a:do if((d[b+4>>0]|0)<17){p=f+8|0;q=f+4|0;r=f+20|0;s=e+9|0;i=0;b:while(1){k=c[p>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[f>>2]&(1<<k)+-1)<<j|(c[q>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-k>>>29;do if(!(a[r>>0]|0))if(k>>>0>3){c[p>>2]=k+-3;break}else{aS(f,3);break}while(0);if((j&255|0)==7)break a;switch((j&255)<<24>>24){case 2:{n=19;break b}case 0:{if((a[t>>0]|0)==25)a[t>>0]=0;WS(b,e,f,0);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 1:{if((a[t>>0]|0)==25)a[t>>0]=1;XS(b,e,f,1);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 3:{a[u>>0]=(a[u>>0]|0)+1<<24>>24;WS(b,e,f,3);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 4:{o=i+1<<24>>24;i=c[p>>2]|0;do if(!(a[r>>0]|0))if(i>>>0>4){i=i+-4|0;c[p>>2]=i;n=25;break}else{aS(f,4);i=c[p>>2]|0;n=24;break}else n=24;while(0);if((n|0)==24)if(!i){k=c[q>>2]|0;i=k>>>31;if(!(a[r>>0]|0)){aS(f,1);j=i;k=c[p>>2]|0;n=28}else{j=i;l=0;n=31}}else n=25;if((n|0)==25){k=i+-1|0;c[p>>2]=k;j=(c[f>>2]|0)>>>k&1;n=28}do if((n|0)==28){n=0;if(k>>>0<8){l=k;k=c[q>>2]|0;n=31;break}else{i=c[f>>2]<<32-k>>>24;m=j;j=k;break}}while(0);if((n|0)==31){i=8-l|0;i=((1<<l)+-1&c[f>>2])<<i|k>>>(32-i|0);m=j;j=l}do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{aS(f,8);break}while(0);if((i&65535|0)==255){j=c[p>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[q>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{aS(f,8);break}while(0);i=(i&65535)+255|0}if(m|0)$R(f)|0;k=i&65535;if(!k){i=o;continue b}else i=0;while(1){j=c[p>>2]|0;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{aS(f,8);break}while(0);i=i+1<<16>>16;if(k>>>0<=(i&65535)>>>0){i=o;continue b}}}case 5:{if(i<<24>>24){n=54;break b}ES(g,f)|0;i=1;continue b}case 6:{o=YS(b,f,h,-1)|0;a[s>>0]=o;if(!(o<<24>>24)){i=i+1<<24>>24;continue b}else{n=67;break b}}default:continue b}}if((n|0)==19){a[s>>0]=6;return}else if((n|0)==54){a[s>>0]=31;return}else if((n|0)==67)return}else switch(a[b+5>>0]|0){case 1:{WS(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 2:{XS(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 3:{WS(b,e,f,0);XS(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 4:{WS(b,e,f,0);XS(b,e,f,1);WS(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 5:{WS(b,e,f,0);XS(b,e,f,1);XS(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 6:{WS(b,e,f,0);XS(b,e,f,1);XS(b,e,f,1);WS(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}case 7:{WS(b,e,f,0);XS(b,e,f,1);XS(b,e,f,1);XS(b,e,f,1);WS(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}default:{a[e+9>>0]=7;return}}while(0);$R(f)|0;return}function US(e,h,i,j,k,l){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(l<<24>>24){case 1:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+(l<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}e=~~m&65535;h=l<<1;b[i+(h<<1)>>1]=e;b[i+((h|1)<<1)>>1]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2];q=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(!(m<=-32768.0))p=m;else p=-32768.0}else{m=m+.5;if(!(m>=32767.0))p=m;else p=32767.0}if(!(q>=0.0)){m=q+-.5;if(m<=-32768.0)m=-32768.0}else{m=q+.5;if(m>=32767.0)m=32767.0}h=l<<1;b[i+(h<<1)>>1]=~~p;b[i+((h|1)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((H(l,y)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((H(l,y)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((H(l,y)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((H(l,y)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 2:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*256.0;q=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-8388608.0))p=m;else p=-8388608.0}else{m=m+.5;if(!(m>=8388607.0))p=m;else p=8388607.0}if(!(q>=0.0)){m=q+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=q+.5;if(m>=8388607.0)m=8388607.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((H(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((H(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((H(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((H(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 3:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*65536.0;q=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-2147483648.0))p=m;else p=-2147483648.0}else{m=m+.5;if(!(m>=2147483648.0))p=m;else p=2147483648.0}if(!(q>=0.0)){m=q+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=q+.5;if(m>=2147483648.0)m=2147483648.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((H(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((H(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((H(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((H(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 4:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{f[i+(l<<2)>>2]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;f[i+(h<<2)>>2]=+f[o+(l<<2)>>2]*.000030517578125;f[i+((h|1)<<2)>>2]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;f[i+(h<<2)>>2]=q;f[i+((h|1)<<2)>>2]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{f[i+((H(l,y)|0)<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((H(l,y)|0)<<2)>>2]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{f[i+((H(l,y)|0)+n<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((H(l,y)|0)+n<<2)>>2]=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 5:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{g[i+(l<<3)>>3]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;g[i+(h<<3)>>3]=+f[o+(l<<2)>>2]*.000030517578125;g[i+((h|1)<<3)>>3]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;g[i+(h<<3)>>3]=q;g[i+((h|1)<<3)>>3]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{g[i+((H(l,y)|0)<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((H(l,y)|0)<<3)>>3]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{g[i+((H(l,y)|0)+n<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((H(l,y)|0)+n<<3)>>3]=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}default:return i|0}return 0}function VS(e){e=e|0;var f=0,g=0;f=c[e+12440>>2]|0;if(f|0)DY(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12444>>2]|0;if(f|0)DY(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12448>>2]|0;if(f|0)DY(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+12452>>2]|0;if(f|0)DY(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+648>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+668>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+688>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+708>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+652>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+672>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+692>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+712>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+656>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+676>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+696>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+716>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+660>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+680>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+700>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+720>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+664>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+684>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+704>>2]|0;if(f|0)DY(f|0,0,256)|0;f=c[e+724>>2]|0;if(f|0)DY(f|0,0,256)|0;f=e+53416|0;g=e+53418|0;DY(e+12456|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;DY(e+32936|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;a[e+728>>0]=0;a[e+729>>0]=0;c[e+12432>>2]=0;a[e+12426>>0]=1;a[e+612>>0]=0;a[e+613>>0]=0;a[e+53435>>0]=2;a[e+53436>>0]=1;a[e+53437>>0]=2;a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;a[e+53441>>0]=1;a[e+53432>>0]=5;a[e+53431>>0]=1;a[e+53442>>0]=1;a[e+12418>>0]=-1;a[e+12419>>0]=-1;a[e+12421>>0]=0;a[e+12422>>0]=0;a[e+12423>>0]=0;a[e+12412>>0]=-1;a[e+646>>0]=0;a[e+647>>0]=0;f=0;do{b[e+2010+(f<<1)>>1]=0;c[e+10460+(f<<2)>>2]=0;b[e+2138+(f<<1)>>1]=0;c[e+10716+(f<<2)>>2]=0;a[e+12277+f>>0]=0;a[e+12341+f>>0]=0;f=f+1|0}while((f|0)!=49);a[e+53445>>0]=0;a[e+53446>>0]=0;return}function WS(e,f,g,h){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;u=Gc;Gc=Gc+22976|0;n=u+2048|0;o=u;t=e+24|0;r=a[t>>0]|0;p=r&255;q=p+1|0;if((r&255)>63){a[f+9>>0]=12;Gc=u;return}s=e+25|0;i=a[s>>0]|0;if((i&255)>47){a[f+9>>0]=13;Gc=u;return}a[(i&255)+(e+2128)>>0]=h;DY(n|0,0,20914)|0;l=n+6|0;DY(o|0,0,2048)|0;j=g+8|0;i=c[j>>2]|0;if(i>>>0<4){m=4-i|0;m=(c[g>>2]&(1<<i)+-1)<<m|(c[g+4>>2]|0)>>>(32-m|0)}else m=c[g>>2]<<32-i>>>28;k=g+20|0;do if(!(a[k>>0]|0))if(i>>>0>4){c[j>>2]=i+-4;break}else{aS(g,4);break}while(0);a[n+4>>0]=m;a[n>>0]=r;b[n+2>>1]=-1;i=xT(e,n,g,l,o)|0;do if(!(i<<24>>24))if(!(a[n+9044>>0]|0)){h=c[j>>2]|0;if(h>>>0<3){i=3-h|0;i=(c[g>>2]&(1<<h)+-1)<<i|(c[g+4>>2]|0)>>>(32-i|0)}else i=c[g>>2]<<32-h>>>29;if((i|0)==6){do if(!(a[k>>0]|0))if(h>>>0>3){c[j>>2]=h+-3;break}else{aS(g,3);break}while(0);i=YS(e,g,c[e+324>>2]|0,a[s>>0]|0)|0;if(i<<24>>24)break}i=qU(e,l,n,o)|0}else i=32;while(0);a[f+9>>0]=i;if((a[(d[s>>0]|0)+(e+26)>>0]|0)==2){a[e+2192+p>>0]=r;h=q;i=q&255}else{if(!(a[e+1656>>0]|0))i=r;else i=a[(m&255)+(e+2096)>>0]|0;h=i&255;i=r}a[e+2192+h>>0]=i;r=a[s>>0]|0;a[t>>0]=(d[t>>0]|0)+(d[(r&255)+(e+26)>>0]|0);a[s>>0]=r+1<<24>>24;Gc=u;return}function XS(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=Gc;Gc=Gc+25024|0;A=G+22968|0;B=G+20920|0;C=G;F=e+24|0;i=a[F>>0]|0;D=i&255;if((D+2|0)>>>0>64){a[f+9>>0]=12;Gc=G;return}E=e+25|0;k=a[E>>0]|0;if((k&255)>47){a[f+9>>0]=13;Gc=G;return}k=k&255;l=e+26+k|0;switch(a[l>>0]|0){case 0:{a[l>>0]=2;break}case 2:break;default:{a[f+9>>0]=21;Gc=G;return}}a[e+2128+k>>0]=h;DY(A|0,0,2048)|0;DY(B|0,0,2048)|0;DY(C|0,0,20914)|0;w=C+6|0;x=C+10460|0;a[C>>0]=i;z=D+1|0;b[C+2>>1]=z;t=g+8|0;k=c[t>>2]|0;if(k>>>0<4){y=4-k|0;l=c[g>>2]|0;y=(l&(1<<k)+-1)<<y|(c[g+4>>2]|0)>>>(32-y|0)}else{l=c[g>>2]|0;y=l<<32-k>>>28}u=g+20|0;do if(!(a[u>>0]|0))if(k>>>0>4){k=k+-4|0;c[t>>2]=k;a[C+4>>0]=y;s=17;break}else{aS(g,4);k=c[t>>2]|0;s=15;break}else s=15;while(0);do if((s|0)==15){a[C+4>>0]=y;if(k|0){l=c[g>>2]|0;s=17;break}k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))aS(g,1)}while(0);if((s|0)==17){k=k+-1|0;c[t>>2]=k;k=l>>>k&1}k=k&255;r=C+5|0;a[r>>0]=k;a:do if(k<<24>>24){k=vT(e,w,g,k)|0;if(!(k<<24>>24)){l=c[t>>2]|0;if(l>>>0<2){k=2-l|0;k=(c[g>>2]&(1<<l)+-1)<<k|(c[g+4>>2]|0)>>>(32-k|0)}else k=c[g>>2]<<32-l>>>30;do if(!(a[u>>0]|0))if(l>>>0>2){c[t>>2]=l+-2;break}else{aS(g,2);break}while(0);q=k&255;a[C+8634>>0]=q;switch(q<<24>>24){case 3:{j=32;break a}case 1:{p=C+8|0;k=a[p>>0]|0;if(k<<24>>24){q=g+4|0;l=a[w>>0]|0;o=0;n=0;h=l;while(1){if(!(l<<24>>24))m=0;else{m=0;l=h;do{h=m&255;k=c[t>>2]|0;if(!k){k=(c[q>>2]|0)>>>31;if(!(a[u>>0]|0)){aS(g,1);l=a[w>>0]|0}}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}a[C+8635+(n*51|0)+h>>0]=k;m=m+1<<24>>24}while((m&255)<(l&255));k=a[p>>0]|0;h=l;m=l}l=o+1<<24>>24;if((l&255)<(k&255)){o=l;n=l&255;l=m}else break}}break}default:{}}if((d[e+4>>0]|0)>16?a[C+9048>>0]|0:0){k=c[t>>2]|0;if(!k){k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))aS(g,1)}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}q=k&255;a[C+10283>>0]=q;if(q<<24>>24?(j=wT(e,w,C+10282|0,g)|0,j<<24>>24):0)break}BY(x|0,w|0,10454)|0;s=50}else j=k}else{a[C+8634>>0]=0;s=50}while(0);do if((s|0)==50){j=xT(e,C,g,w,A)|0;if(!(j<<24>>24)){if((a[r>>0]|0?(d[e+4>>0]|0)>16:0)?a[C+9048>>0]|0:0){j=c[t>>2]|0;if(!j){j=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))aS(g,1)}else{j=j+-1|0;c[t>>2]=j;j=(c[g>>2]|0)>>>j&1}s=j&255;a[C+10365>>0]=s;if(s<<24>>24?(v=wT(e,w,C+10364|0,g)|0,v<<24>>24):0){j=v;break}}j=xT(e,C,g,x,B)|0;if(!(j<<24>>24)){k=c[t>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[g>>2]&(1<<k)+-1)<<j|(c[g+4>>2]|0)>>>(32-j|0)}else j=c[g>>2]<<32-k>>>29;if((j|0)==6){do if(!(a[u>>0]|0))if(k>>>0>3){c[t>>2]=k+-3;break}else{aS(g,3);break}while(0);j=YS(e,g,c[e+324>>2]|0,a[E>>0]|0)|0;if(j<<24>>24)break}j=yT(e,w,x,C,A,B)|0}}}while(0);a[f+9>>0]=j;if(!(a[e+1656>>0]|0))a[e+2192+D>>0]=i;else{D=(y&255)+(e+2112)|0;a[(d[D>>0]|0)+(e+2192)>>0]=i;i=a[D>>0]|0}a[(i&255)+1+(e+2192)>>0]=z;a[F>>0]=(d[F>>0]|0)+2;a[E>>0]=(a[E>>0]|0)+1<<24>>24;Gc=G;return}function YS(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=f+8|0;j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;A=f+20|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{aS(f,4);break}while(0);if((i&65535|0)==15){j=c[B>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[A>>0]|0))if(j>>>0>8){c[B>>2]=j+-8;break}else{aS(f,8);break}while(0);i=(i&65535)+14|0}k=i&65535;if(!(i&65535)){f=0;return f|0}j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;if(((i&255)+-13|0)>>>0<2){j=h&255;if(h<<24>>24==-1){f=24;return f|0}i=e+892+(j<<2)|0;if(!(c[i>>2]|0)){g=b[e+10>>1]|0;A=a[e+2128+j>>0]|0;B=(rS(a[e+3>>0]|0)|0)<<1;c[i>>2]=ZS(g,A,B,a[e+842>>0]|0)|0}a[e+840>>0]=1;B=_S(f,c[i>>2]|0,k,a[e+12>>0]|0)|0;f=c[i>>2]|0;a[f+10>>0]=B;if(!(a[f+53424>>0]|0)){f=0;return f|0}a[e+1084+j>>0]=1;a[e+1132>>0]=1;f=0;return f|0}if(!(k<<16>>16)){f=0;return f|0}o=f+4|0;p=g+1|0;q=g+3|0;r=g+56|0;s=g+57|0;t=g+58|0;u=g+59|0;v=g+60|0;w=g+61|0;x=g+62|0;y=g+21|0;z=g+2|0;i=k;h=j;while(1){m=i&65535;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{aS(f,4);break}while(0);a:do switch((j&255)<<24>>24){case 11:{a[g>>0]=1;a[p>>0]=1;i=c[B>>2]|0;if(!i){i=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{i=i+-1|0;c[B>>2]=i;i=(c[f>>2]|0)>>>i&1}do if(i){i=c[B>>2]|0;if(i>>>0<4){j=4-i|0;j=(c[f>>2]&(1<<i)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-i>>>28;if(a[A>>0]|0){a[z>>0]=j;i=2;n=53;break}if(i>>>0<=4){aS(f,4);i=c[B>>2]|0;n=a[A>>0]|0;a[z>>0]=j;if(n<<24>>24){i=2;n=53;break}}else{i=i+-4|0;c[B>>2]=i;a[z>>0]=j}if(i>>>0>4){j=i+-4|0;c[B>>2]=j;i=2;n=54;break}else{aS(f,4);i=2;n=53;break}}else{i=1;n=53}while(0);if((n|0)==53){n=0;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else n=54}if((n|0)==54){n=0;j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}l=j&255;a[q>>0]=l;if(l<<24>>24==1){j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[r>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[s>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[t>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[u>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[v>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[w>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[x>>0]=j;h=7;l=1;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);k=j&255;j=l&255;a[j+-1+(g+120)>>0]=k;if(k<<24>>24!=1)break;e=h&255;k=e+7|0;do{j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+56+e>>0]=j;h=h+1<<24>>24;e=h&255}while(k>>>0>e>>>0);h=k&255;l=l+1<<24>>24}i=j+(i&255)&255}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<4){h=4-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>28;do if(!(a[A>>0]|0)){if(j>>>0<=4){aS(f,4);if(!(a[A>>0]|0))j=c[B>>2]|0;else break}else{j=j+-4|0;c[B>>2]=j}if(j>>>0>4){c[B>>2]=j+-4;break}else{aS(f,4);break}}while(0);j=h+(d[p>>0]|0)&255;a[p>>0]=j;i=i+1<<24>>24;if(j<<24>>24){l=0;do{k=l&255;h=c[B>>2]|0;if(h>>>0<8){e=8-h|0;e=(c[f>>2]&(1<<h)+-1)<<e|(c[o>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{aS(f,8);j=a[p>>0]|0;break}while(0);a[g+4+k>>0]=e;l=l+1<<24>>24;i=i+1<<24>>24}while((l&255)<(j&255))}}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[A>>0]|0))if(j>>>0>7){j=j+-7|0;c[B>>2]=j;a[y>>0]=h;n=137;break}else{aS(f,7);j=c[B>>2]|0;n=136;break}else n=136;while(0);do if((n|0)==136){n=0;a[y>>0]=h;if(j|0){n=137;break}if(a[A>>0]|0)break;aS(f,1)}while(0);if((n|0)==137){n=0;c[B>>2]=j+-1}i=i+1<<24>>24}if(a[p>>0]|0){k=0;e=0;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;aS(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+22+e>>0]=j;h=c[B>>2]|0;if(h>>>0<7){j=7-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>25;do if(!(a[A>>0]|0))if(h>>>0>7){c[B>>2]=h+-7;break}else{aS(f,7);break}while(0);a[g+39+e>>0]=j;i=i+1<<24>>24;j=k+1<<24>>24;if((j&255)<(d[p>>0]|0)){k=j;e=j&255}else break}}i=i&255;break}case 1:{j=c[B>>2]|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{aS(f,4);break}while(0);h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{aS(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}else i=1;break}case 2:{h=c[B>>2]|0;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{aS(f,4);break}while(0);if(!(j&255)){e=0;k=0;do{h=c[B>>2]|0;if(h>>>0<8){j=8-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{aS(f,8);break}while(0);l=j&255;k=l+(k&65535)|0;e=e+1<<24>>24}while((l|0)==255);if(k&65535){i=c[B>>2]|0;do if(!(a[A>>0]|0))if(i>>>0>8){c[B>>2]=i+-8;break}else{aS(f,8);break}while(0);i=(e&255)+1+k&65535}else n=191}else n=191;break}default:{j=c[B>>2]|0;if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;n=191;break a}else{aS(f,4);n=191;break a}else n=191}}while(0);if((n|0)==191){n=0;h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{aS(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}}i=m-(i&65535)&65535;if(!(i<<16>>16)){i=0;break}h=c[B>>2]|0}return i|0}function ZS(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=dS(53544)|0;DY(j+4|0,0,53540)|0;a[j+12436>>0]=f;c[j>>2]=g;a[j+53435>>0]=2;a[j+53436>>0]=1;a[j+53437>>0]=2;a[j+53438>>0]=2;a[j+53439>>0]=2;a[j+53440>>0]=1;a[j+53441>>0]=1;a[j+53432>>0]=5;a[j+53431>>0]=1;a[j+53442>>0]=1;a[j+12418>>0]=-1;a[j+12419>>0]=-1;c[j+12432>>2]=0;a[j+12426>>0]=1;i=j+53418|0;a[i>>0]=8;a[j+53419>>0]=2;a[j+12421>>0]=0;a[j+12422>>0]=0;a[j+12423>>0]=0;b[j+12424>>1]=e;a[j+12412>>0]=-1;e=e<<16>>16==960;g=j+53416|0;a[g>>0]=e?30:32;a[j+53417>>0]=e?15:16;a[j+728>>0]=0;a[j+729>>0]=0;c[j+12440>>2]=tT(32)|0;if(f<<24>>24==1){c[j+12444>>2]=tT(32)|0;h=h<<24>>24?32:64;c[j+12448>>2]=uT(h)|0;c[j+12452>>2]=uT(h)|0;c[j+648>>2]=dS(256)|0;c[j+668>>2]=dS(256)|0;c[j+688>>2]=dS(256)|0;c[j+708>>2]=dS(256)|0;c[j+652>>2]=dS(256)|0;c[j+672>>2]=dS(256)|0;c[j+692>>2]=dS(256)|0;c[j+712>>2]=dS(256)|0;c[j+656>>2]=dS(256)|0;c[j+676>>2]=dS(256)|0;c[j+696>>2]=dS(256)|0;c[j+716>>2]=dS(256)|0;c[j+660>>2]=dS(256)|0;c[j+680>>2]=dS(256)|0;c[j+700>>2]=dS(256)|0;c[j+720>>2]=dS(256)|0;c[j+664>>2]=dS(256)|0;c[j+684>>2]=dS(256)|0;c[j+704>>2]=dS(256)|0;c[j+724>>2]=dS(256)|0;DY(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;DY(j+32936|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}else{c[j+12448>>2]=uT(h<<24>>24?32:64)|0;c[j+12452>>2]=0;c[j+648>>2]=dS(256)|0;c[j+688>>2]=dS(256)|0;c[j+652>>2]=dS(256)|0;c[j+692>>2]=dS(256)|0;c[j+656>>2]=dS(256)|0;c[j+696>>2]=dS(256)|0;c[j+660>>2]=dS(256)|0;c[j+700>>2]=dS(256)|0;c[j+664>>2]=dS(256)|0;c[j+704>>2]=dS(256)|0;DY(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}return 0}function _S(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Gc;Gc=Gc+16|0;t=I+4|0;u=I;F=_R(d)|0;if(g<<24>>24)a[e+53425>>0]=g;H=d+8|0;h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;G=d+20|0;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{aS(d,4);break}while(0);if((g&255|0)==14){h=c[H>>2]|0;if(h>>>0<10){g=10-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>22;do if(!(a[G>>0]|0))if(h>>>0>10){c[H>>2]=h+-10;break}else{aS(d,10);break}while(0);b[e+53428>>1]=g}k=e+53432|0;z=a[k>>0]|0;r=e+53442|0;A=a[r>>0]|0;n=e+53433|0;B=a[n>>0]|0;o=e+53435|0;C=a[o>>0]|0;p=e+53436|0;D=a[p>>0]|0;q=e+53434|0;E=a[q>>0]|0;g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}x=g&255;y=e+53426|0;a[y>>0]=x;if(x<<24>>24){g=e+12432|0;c[g>>2]=(c[g>>2]|0)+1;g=c[H>>2]|0;do if(!g){h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){aS(d,1);h=g;g=c[H>>2]|0;m=29;break}else{a[e+53431>>0]=g;g=0;m=32;break}}else{g=g+-1|0;c[H>>2]=g;h=(c[d>>2]|0)>>>g&1;m=29}while(0);do if((m|0)==29){a[e+53431>>0]=h;if(g>>>0<4){h=c[d+4>>2]|0;m=32;break}else{h=c[d>>2]<<32-g>>>28;break}}while(0);if((m|0)==32){x=4-g|0;h=((1<<g)+-1&c[d>>2])<<x|h>>>(32-x|0)}do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{aS(d,4);g=c[H>>2]|0;break}while(0);a[k>>0]=h;if(g>>>0<4){h=4-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>28;do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{aS(d,4);g=c[H>>2]|0;break}while(0);a[n>>0]=h;if(g>>>0<3){h=3-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>29;do if(!(a[G>>0]|0)){if(g>>>0<=3){aS(d,3);g=c[H>>2]|0;x=a[G>>0]|0;a[q>>0]=h;if(x<<24>>24){m=55;break}}else{g=g+-3|0;c[H>>2]=g;a[q>>0]=h}if(g>>>0>2){g=g+-2|0;c[H>>2]=g;m=56;break}else{aS(d,2);g=c[H>>2]|0;m=55;break}}else{a[q>>0]=h;m=55}while(0);if((m|0)==55)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){aS(d,1);h=c[H>>2]|0;m=59}else{i=g;h=g}}else m=56;if((m|0)==56){h=g+-1|0;c[H>>2]=h;g=(c[d>>2]|0)>>>h&1;m=59}do if((m|0)==59){if(h|0){h=h+-1|0;c[H>>2]=h;i=g;h=(c[d>>2]|0)>>>h&1;break}h=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){aS(d,1);i=g}else i=g}while(0);if(!i){a[o>>0]=2;a[p>>0]=1;g=2}else{g=c[H>>2]|0;if(g>>>0<2){j=2-g|0;i=c[d>>2]|0;j=(i&(1<<g)+-1)<<j|(c[d+4>>2]|0)>>>(32-j|0)}else{i=c[d>>2]|0;j=i<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[o>>0]=j;m=73;break}else{aS(d,2);g=c[H>>2]|0;m=71;break}else m=71;while(0);do if((m|0)==71){a[o>>0]=j;if(g|0){i=c[d>>2]|0;m=73;break}i=c[d+4>>2]|0;g=i>>>31;if(!(a[G>>0]|0)){aS(d,1);i=c[H>>2]|0;m=77;break}else{a[p>>0]=g;g=0;m=80;break}}while(0);if((m|0)==73){x=g+-1|0;c[H>>2]=x;g=i>>>x&1;i=x;m=77}do if((m|0)==77){a[p>>0]=g;if(i>>>0<2){g=i;i=c[d+4>>2]|0;m=80;break}else{j=c[d>>2]<<32-i>>>30;g=i;break}}while(0);if((m|0)==80){j=2-g|0;j=((1<<g)+-1&c[d>>2])<<j|i>>>(32-j|0)}do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{aS(d,2);break}while(0);g=j&255}a[e+53437>>0]=g;if(!h){a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;g=1}else{g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;break}else{aS(d,2);g=c[H>>2]|0;break}while(0);a[e+53438>>0]=h;if(g>>>0<2){i=2-g|0;h=c[d>>2]|0;i=(h&(1<<g)+-1)<<i|(c[d+4>>2]|0)>>>(32-i|0)}else{h=c[d>>2]|0;i=h<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[e+53439>>0]=i;m=104;break}else{aS(d,2);g=c[H>>2]|0;m=102;break}else m=102;while(0);do if((m|0)==102){a[e+53439>>0]=i;if(g|0){h=c[d>>2]|0;m=104;break}h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){aS(d,1);h=c[H>>2]|0;m=108;break}else{a[e+53440>>0]=g;g=h>>>31;break}}while(0);if((m|0)==104){x=g+-1|0;c[H>>2]=x;g=h>>>x&1;h=x;m=108}do if((m|0)==108){a[e+53440>>0]=g;if(h|0){g=h+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1;break}g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1)}while(0);g=g&255}a[e+53441>>0]=g}l=a[k>>0]|0;h=e+12412|0;j=a[n>>0]|0;g=e+12413|0;if((((l<<24>>24==(a[h>>0]|0)?j<<24>>24==(a[g>>0]|0):0)?(a[o>>0]|0)==(a[e+12415>>0]|0):0)?(a[p>>0]|0)==(a[e+12416>>0]|0):0)?(a[q>>0]|0)==(a[e+12414>>0]|0):0)k=(a[e+53437>>0]|0)!=(a[e+12417>>0]|0)&1;else k=1;x=e+12426|0;a[x>>0]=k;a[h>>0]=l;a[g>>0]=j;i=a[o>>0]|0;a[e+12415>>0]=i;h=a[p>>0]|0;a[e+12416>>0]=h;g=a[q>>0]|0;a[e+12414>>0]=g;a[e+12417>>0]=a[e+53437>>0]|0;a:do if(!(c[e+12432>>2]|0))i=1;else{if(!(k<<24>>24)){if(a[y>>0]|0?a[e+9>>0]|0:0)m=125}else m=125;if((m|0)==125?($S(e,l,j,a[r>>0]|0,i,h,g)|0)<<24>>24:0)$S(e,z,B,A,C,D,E)|0;a[e+8>>0]=a[r>>0]|0?2:1;b:do switch(a[e+12436>>0]|0){case 0:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g|0?(s=c[H>>2]|0,(a[G>>0]|0)==0):0)if(s>>>0>4){c[H>>2]=s+-4;break}else{aS(d,4);break}while(0);g=aT(d,e,0)|0;if(!(g<<24>>24)){bT(d,e,0);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{aS(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}cT(d,e,0);dT(d,e,0);eT(e,0);g=e+12149|0;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}u=g&255;a[e+53443>>0]=u;if(u<<24>>24?(w=e+17|0,v=a[w>>0]|0,v<<24>>24):0){k=d+4|0;j=0;h=v;do{i=j&255;g=c[H>>2]|0;do if(!g){g=(c[k>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1);h=a[w>>0]|0}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);a[e+12149+i>>0]=g;j=j+1<<24>>24}while((j&255)<(h&255))}g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{aS(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{aS(d,8);break}while(0);g=(g&65535)+15|0}l=d+4|0;m=e+53448|0;i=0;g=g<<3;while(1){j=g&65535;k=g&65535;if((j&65535)<=7)break;g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[l>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{aS(d,2);break}while(0);g=h&255;a[m>>0]=g;do if((h&255|0)==2){if(!(i<<24>>24)){h=1;break}a[m>>0]=3;h=i;g=3}else h=i;while(0);g=(fT(d,e,g)|0)+2<<16>>16;if((g&65535)>(j&65535)){g=1;break b}else{i=h;g=k-(g&65535)|0}}if(j<<16>>16==0|(k|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>k>>>0){c[H>>2]=g-k;i=0;break a}else{aS(d,k);i=0;break a}}break}case 1:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g){g=c[H>>2]|0;if(!(a[G>>0]|0)){if(g>>>0<=4){aS(d,4);g=c[H>>2]|0;if(a[G>>0]|0){m=212;break}}else{g=g+-4|0;c[H>>2]=g}if(g>>>0>4){g=g+-4|0;c[H>>2]=g;m=213;break}else{aS(d,4);m=211;break}}else m=212}else m=211;while(0);if((m|0)==211){g=c[H>>2]|0;m=212}if((m|0)==212)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else m=213;if((m|0)==213){g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;n=e+53450|0;a[n>>0]=w;c:do if(!(w<<24>>24)){a[t>>0]=0;a[t+1>>0]=0;a[t+2>>0]=0;a[t+3>>0]=0;a[t+4>>0]=0;a[t+5>>0]=0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;h=e+610|0;i=a[h>>0]|0;j=e+614|0;k=a[j>>0]|0;l=e+53451|0;m=a[l>>0]|0;if(i<<24>>24)BY(t|0,e+616|0,(i+-1&255)+1|0)|0;if(k<<24>>24)BY(u|0,e+628|0,(k+-1&255)+1|0)|0;g=aT(d,e,0)|0;do if(!(g<<24>>24)){g=aT(d,e,1)|0;if(g<<24>>24){a[l>>0]=m;a[h>>0]=i;a[j>>0]=k;w=e+616|0;a[w>>0]=a[t>>0]|0;a[w+1>>0]=a[t+1>>0]|0;a[w+2>>0]=a[t+2>>0]|0;a[w+3>>0]=a[t+3>>0]|0;a[w+4>>0]=a[t+4>>0]|0;a[w+5>>0]=a[t+5>>0]|0;w=e+628|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;a[w+2>>0]=a[u+2>>0]|0;break}bT(d,e,0);bT(d,e,1);l=e+19|0;g=a[l>>0]|0;do if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{aS(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(!(g<<24>>24))break;else k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{aS(d,2);g=a[l>>0]|0;break}while(0);a[e+10981+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}while(0);cT(d,e,0);cT(d,e,1);dT(d,e,0);dT(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);break c}while(0);break b}else{g=aT(d,e,0)|0;if(g<<24>>24)break b;a[e+53452>>0]=a[e+53451>>0]|0;i=a[e+610>>0]|0;a[e+611>>0]=i;j=a[e+614>>0]|0;a[e+615>>0]=j;a[e+53508>>0]=a[e+53507>>0]|0;h=0;g=0;while(1){a[e+622+g>>0]=a[e+616+g>>0]|0;a[e+640+g>>0]=a[e+634+g>>0]|0;g=h+1<<24>>24;if((g&255)>(i&255)){h=0;g=0;break}else{h=g;g=g&255}}while(1){a[e+631+g>>0]=a[e+628+g>>0]|0;g=h+1<<24>>24;if((g&255)>(j&255))break;else{h=g;g=g&255}}bT(d,e,0);bT(d,e,1);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{aS(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(g<<24>>24){g=g&255;h=0;do{a[e+10981+h>>0]=a[e+10976+h>>0]|0;h=h+1|0}while((h|0)!=(g|0))}}cT(d,e,0);dT(d,e,0);cT(d,e,1);dT(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;if(!(w<<24>>24))break;k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;aS(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);eT(e,0);eT(e,1);if(a[n>>0]|0)gT(e);g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))aS(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{aS(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{aS(d,8);break}while(0);g=(g&65535)+15|0}k=d+4|0;l=e+53448|0;g=g<<3;while(1){i=g&65535;j=g&65535;if((i&65535)<=7)break;h=c[H>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[k>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{aS(d,2);break}while(0);g=g&255;a[l>>0]=g;g=(fT(d,e,g)|0)+2<<16>>16;if((g&65535)>(i&65535)){g=1;break b}else g=j-(g&65535)|0}if(i<<16>>16==0|(j|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>j>>>0){c[H>>2]=g-j;i=0;break a}else{aS(d,j);i=0;break a}}default:{i=0;break a}}while(0);if(!(a[x>>0]|0)){if(!(a[y>>0]|0)){i=g;break}if(!(a[e+9>>0]|0)){i=g;break}}$S(e,z,B,A,C,D,E)|0;i=g}while(0);h=(_R(d)|0)-F|0;g=(f&65535)<<3;if(g>>>0<(h&65535)>>>0){bS(d,(F&65535)+g|0);a[e+53424>>0]=0;d=1;Gc=I;return d|0}g=g-h&65535;if(g>>>0>7)do{h=c[H>>2]|0;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{aS(d,8);break}while(0);g=g+65528&65535}while(g>>>0>7);if(!g){d=i;Gc=I;return d|0}h=c[H>>2]|0;if(a[G>>0]|0){d=i;Gc=I;return d|0}if(h>>>0>g>>>0){c[H>>2]=h-g;d=i;Gc=I;return d|0}else{aS(d,g);d=i;Gc=I;return d|0}return 0}function $S(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;j=nT(d,f,c[b>>2]|0)|0;d=b+13|0;a[d>>0]=j;j=oT(e,c[b>>2]|0,j)|0;e=c[b>>2]|0;do if(e>>>0<=47999){d=a[d>>0]|0;f=(j&255)-(d&255)|0;if(e>>>0<32001){f=(f|0)>48;break}else{f=(f|0)>45;break}}else{d=a[d>>0]|0;f=((j&255)-(d&255)|0)>32}while(0);if(!(g<<24>>24))d=pT(b,d,j,h)|0;else d=qT(b,d,j,g,h)|0;return ((d&255)+(f&1)+((rT(b,i,j)|0)&255)&255|0)!=0|0} |
| | | function JH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function KH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=vE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function LH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function MH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function NH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function OH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function PH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function QH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;GH(a,b,c,d,e,32,16);GH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function RH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;HH(a,b,c,d,e,16,16);HH(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function SH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;IH(a,b,c,d,e,32,16);IH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function TH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;JH(a,b,c,d,e,32,16);JH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function UH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;KH(a,b,c,d,e,32,16);KH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function VH(a,b,c){a=a|0;b=b|0;c=c|0;LH(a,b,c,16);LH(a+16|0,b+16|0,c,16);return}function WH(a,b,c){a=a|0;b=b|0;c=c|0;MH(a,b,c,16);MH(a+8|0,b+8|0,c,16);return}function XH(a,b,c){a=a|0;b=b|0;c=c|0;NH(a,b,c,16);NH(a+16|0,b+16|0,c,16);return}function YH(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c,16);OH(a+16|0,b+16|0,c,16);return}function ZH(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c,16);PH(a+16|0,b+16|0,c,16);return}function _H(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(s,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6;b[a+8>>1]=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6;b[a+10>>1]=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6;b[a+12>>1]=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6;b[a+14>>1]=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+2>>1]|0)|0;b[a+2>>1]=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+4>>1]|0)|0;b[a+4>>1]=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+6>>1]|0)|0;b[a+6>>1]=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+8>>1]|0)|0;b[a+8>>1]=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+10>>1]|0)|0;b[a+10>>1]=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+12>>1]|0)|0;b[a+12>>1]=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+14>>1]|0)|0;b[a+14>>1]=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;b[a>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;b[a+2>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;b[a+4>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;b[a+6>>1]=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;b[a+8>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;b[a+10>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;b[a+12>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;b[a+14>>1]=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function $H(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(s,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6;a[b+4>>0]=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6;a[b+5>>0]=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6;a[b+6>>0]=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6;a[b+7>>0]=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6;r=H(s,d[c+1>>0]|0)|0;a[b+1>>0]=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6;r=H(s,d[c+2>>0]|0)|0;a[b+2>>0]=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6;r=H(s,d[c+3>>0]|0)|0;a[b+3>>0]=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6;r=H(s,d[c+4>>0]|0)|0;a[b+4>>0]=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6;r=H(s,d[c+5>>0]|0)|0;a[b+5>>0]=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6;r=H(s,d[c+6>>0]|0)|0;a[b+6>>0]=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6;r=H(s,d[c+7>>0]|0)|0;a[b+7>>0]=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;a[b>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;a[b+1>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;a[b+2>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;a[b+3>>0]=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;a[b+4>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;a[b+5>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;a[b+6>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;a[b+7>>0]=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=t}}while(0);return}function aI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(o,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+2>>1]|0)|0;b[a+2>>1]=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+4>>1]|0)|0;b[a+4>>1]=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+6>>1]|0)|0;b[a+6>>1]=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;b[a>>1]=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;b[a+2>>1]=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;b[a+4>>1]=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;b[a+6>>1]=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function bI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(o,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6;n=H(o,d[c+1>>0]|0)|0;a[b+1>>0]=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6;n=H(o,d[c+2>>0]|0)|0;a[b+2>>0]=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6;n=H(o,d[c+3>>0]|0)|0;a[b+3>>0]=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;a[b>>0]=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;a[b+1>>0]=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;a[b+2>>0]=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;a[b+3>>0]=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=p}}while(0);return}function cI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;k=H(m,e[c+2>>1]|0)|0;b[a+2>>1]=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;b[a>>1]=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;b[a+2>>1]=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function dI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(m,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6;b=b+e|0;c=c+e|0;g=g+1|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6;l=H(m,d[c+1>>0]|0)|0;a[b+1>>0]=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;a[b>>0]=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;a[b+1>>0]=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=n}}while(0);return}function eI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function fI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(l,d[c>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=m}}while(0);return}function gI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+2|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+4|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+6|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+8|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+10|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+12|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+14|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function hI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+1|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+2|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+3|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+4|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+5|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+6|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+7|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;a[u>>0]=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=t}}while(0);return}function iI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+2|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+4|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+6|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function jI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+1|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+2|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+3|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;a[q>>0]=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;a[q>>0]=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;a[q>>0]=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=p}}while(0);return}function kI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;k=a+2|0;b[k>>1]=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;b[k>>1]=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;b[o>>1]=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function lI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;l=b+1|0;a[l>>0]=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;a[l>>0]=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;a[o>>0]=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=n}}while(0);return}function mI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function nI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=m}}while(0);return}function oI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function pI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function qI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}DY(d|0,0,256)|0;return}function rI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function sI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function tI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}DY(d|0,0,256)|0;return}function uI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function vI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function wI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else uI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;sI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function xI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else vI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;tI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function yI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function zI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[209023+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)uI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else sI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function AI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[209023+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)uI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else sI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function BI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Gc;Gc=Gc+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[209019+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Gc=h;return}function CI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function DI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Gc;Gc=Gc+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[209017+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Gc=g;return}function EI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function FI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function GI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function HI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function II(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function JI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function KI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function LI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function NI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function OI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function PI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function QI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function RI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function SI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function TI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function UI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function VI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<1;q=g<<1;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;s=l-s|0;b[g>>1]=s>>>0<512?s:0-s>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function WI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function YI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function ZI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function _I(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function $I(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function bJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}DY(d|0,0,256)|0;return}function cJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function dJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function eJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else cJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;aJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function fJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else dJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;bJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function gJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function hJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[209023+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)cJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else aJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function iJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[209023+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)cJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else aJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function jJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Gc;Gc=Gc+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[209019+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Gc=h;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;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function lJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Gc;Gc=Gc+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[209017+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Gc=g;return}function mJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function nJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function oJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function pJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function qJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function rJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function sJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function tJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function uJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function vJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function wJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function xJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function yJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function zJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function AJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function BJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function CJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function DJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<2;q=g<<2;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;s=l-s|0;b[g>>1]=s>>>0<1024?s:0-s>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function EJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function FJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function GJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function HJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function IJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function JJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function KJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function LJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}DY(d|0,0,256)|0;return}function MJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function NJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function OJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else MJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;KJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function PJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[209023+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else NJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;LJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function QJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function RJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[209023+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[209023+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)MJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else KJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function SJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[209023+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)MJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else KJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function TJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Gc;Gc=Gc+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[209019+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Gc=h;return}function UJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function VJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Gc;Gc=Gc+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[209017+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Gc=g;return}function WJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function XJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function YJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function ZJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function _J(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function $J(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function aK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function bK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function dK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function eK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function fK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function gK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function hK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function iK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function jK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return} |
| | | function Fj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ha=Gc;Gc=Gc+16|0;Z=ha+8|0;_=ha;ea=c[f+21748>>2]|0;ga=c[f+21708>>2]|0;S=c[f+21712>>2]|0;T=c[f+21716>>2]|0;U=c[f+21720>>2]|0;c[Z>>2]=U;c[Z+4>>2]=c[f+21724>>2];V=c[f+21728>>2]|0;W=c[f+21732>>2]|0;X=c[f+21736>>2]|0;Y=c[f+21740>>2]|0;c[_>>2]=Y;r=c[f+21744>>2]|0;c[_+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=c[(c[e+28212>>2]|0)+56>>2]|0?7:-1;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&W|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Y&128|0)){if(!(Y&o)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((Y&o|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27016>>2]|0)+U<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(Y&o)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(r&o)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&V))c[l>>2]=h&32767;if(!(o&X))c[m>>2]=k;if(g&1|0){if(!(W&1)){DY(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26364|0}else{k=f+21704|0;l=e+26364|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(S<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[_+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{R=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[Z+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[R+(6-(d[ea+h>>0]|0))>>0]|0;h=a[R+(6-(d[ea+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);if(!W){c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;p=e+25972|0;h=1077952576}else{p=e+25972|0;h=c[p>>2]|0;c[f+27828>>2]=c[h+(S*48|0)+12>>2];R=(c[e+25680>>2]|0)==0;c[f+27868>>2]=c[(R?28:20)+(h+(S*48|0))>>2];h=c[(R?44:36)+(h+(S*48|0))>>2]|0}c[f+27908>>2]=h;o=e+28216|0;n=0;while(1){if((n|0)==2)break a;if(!(c[_+(n<<2)>>2]|0)){i=n<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;i=i|11;h=64}else{l=c[p>>2]|0;m=c[Z+(n<<2)>>2]|0;h=n<<1;j=ea+(h+8)|0;i=n<<4;a[(i|11)+(f+27824)>>0]=a[(d[j>>0]|0)+(l+(m*48|0))>>0]|0;k=ea+(h+9)|0;a[i+19+(f+27824)>>0]=a[(d[k>>0]|0)+(l+(m*48|0))>>0]|0;switch(c[(c[o>>2]|0)+12>>2]|0){case 3:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+32+(l+(m*48|0))>>0]|0;k=(d[k>>0]|0)+32|0;h=i+99|0;break}case 2:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+30+(l+(m*48|0))>>0]|0;h=(d[k>>0]|0)+30|0;j=99;q=39;break}default:{i=n<<3;a[i+51+(f+27824)>>0]=a[(d[ea+(h+12)>>0]|0)+(l+(m*48|0))>>0]|0;h=d[ea+(h+13)>>0]|0;j=91;q=39}}if((q|0)==39){q=0;k=h;h=j+i|0}i=h;h=a[l+(m*48|0)+k>>0]|0}a[f+27824+i>>0]=h;n=n+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;c:do if((q|0)==46){x=c[e+26368>>2]|0;y=f+23412|0;z=W|0?-1:-16843010;A=(g&80|0)==0;B=Y|0?-1:-2;C=e+26360|0;D=U<<2|1;E=X|0?-1:-2;F=V|0?-1:-2;G=f+21752|0;I=x<<1;J=x+3|0;K=ga<<2;L=(g&2304|0)==0;M=e+26376|0;N=f+21828|0;O=(V&128|0)!=0;P=(W&128|0)==0;Q=(X&128|0)==0;R=(Y&128|0)==0;s=(r&128|0)==0;t=x*3|0;u=T<<2|2;w=S<<2;v=w|2;w=w|3;r=0;while(1){if(r>>>0>=(c[y>>2]|0)>>>0)break c;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&W)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=z}else{j=(c[(c[C>>2]|0)+(S<<2)>>2]|0)+t|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+v>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+w>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}d:do if(A){if(!(Y&q)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{c[f+27952+(r*160|0)+44>>2]=c[p+((c[(c[C>>2]|0)+(U<<2)>>2]|0)+3+(H(x,d[ea>>0]|0)|0)<<2)>>2];h=a[o+(D+(a[ea>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break d;i=l<<1;j=l<<4;h=j+-1|0;k=c[_+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=k|0?-1:-2;a[m+j>>0]=i}else{ia=c[Z+(l<<2)>>2]|0;ka=(c[(c[C>>2]|0)+(ia<<2)>>2]|0)+3|0;ia=ia<<2|1;ja=ea+i|0;c[n+(h<<2)>>2]=c[p+((H(x,d[ja>>0]|0)|0)+ka<<2)>>2];i=ea+(i|1)|0;k=j|7;c[n+(k<<2)>>2]=c[p+((H(x,d[i>>0]|0)|0)+ka<<2)>>2];a[m+h>>0]=a[o+(ia+(a[ja>>0]&-2&255))>>0]|0;i=a[o+(ia+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&X)){c[f+27952+(r*160|0)+32>>2]=0;h=E}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[C>>2]|0)+(T<<2)>>2]|0)+t<<2)>>2];h=a[o+u>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&V)){c[f+27952+(r*160|0)+12>>2]=0;h=F}else{h=c[G>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(J+(c[(c[C>>2]|0)+(ga<<2)>>2]|0)+(h&I)<<2)>>2];h=a[o+(K|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(L){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[N>>2]|0)){if(O?(ca=f+28272+(r*40|0)+3|0,da=a[ca>>0]|0,da<<24>>24>-1):0){a[ca>>0]=(da&255)>>>1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=d[ka>>0]<<1}do if(!P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=d[ka>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=(h&255)>>>1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(!Q?(fa=a[k>>0]|0,fa<<24>>24>-1):0){a[k>>0]=(fa&255)>>>1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=d[ka>>0]<<1}do if(!R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=d[ka>>0]<<1;break}else{if(!O?($=f+28272+(r*40|0)+3|0,aa=a[$>>0]|0,aa<<24>>24>-1):0){a[$>>0]=aa<<24>>24<<1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(Q?(ba=a[k>>0]|0,ba<<24>>24>-1):0){a[k>>0]=ba<<24>>24<<1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(!s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=(d[ka>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Y>>>24&1)+(W>>>24&1);Gc=ha;return}function Gj(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function Hj(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=Gc;Gc=Gc+16|0;l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if((e|0)>=4){k=8;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[198052+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;Te(d,16,198064,j);e=-1094995529}else k=8;while(0);b:do if((k|0)==8)if((f&34952|0)==34952)e=0;else{e=0;while(1){if((e|0)>=4){e=0;break b}if(!(c[72572+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[198115+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;Te(d,16,198127,l);e=-1094995529}while(0);Gc=m;return e|0}function Ij(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Gc;Gc=Gc+32|0;h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[197946+e>>0]|0;if((e|1|0)==3){Te(b,16,197950,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){Te(b,16,197998,h);c=-1094995529;break}else{Gc=i;return ((e|0)==0|(f|0)==0?a[198047+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{Te(b,16,197909,i);c=-1094995529}while(0);Gc=i;return c|0}function Jj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[184790+a>>0]|0);return d[185302+a>>0]|0|0}function Kj(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))Tj(a,b,d);else Sj(a,b,d);return}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Mj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(zY(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[184790+b>>0]|0);b=a[185814+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[178821+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Nj(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Gc;Gc=Gc+112|0;y=z+32|0;v=z+24|0;t=z+16|0;s=z;x=z+40|0;u=(l|0)<9;do if(!u)if((i|0)>47){r=c[250688+(c[72476+((Oj(f,(i<<4)+-768|0)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(zY(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((zY(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=c[250688+(c[72476+((Oj(f,i)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(zY(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((zY(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{o=(l|0)==4;w=o?c[62665]|0:c[62669]|0;m=g+8|0;r=c[m>>2]|0;n=(c[g>>2]|0)+(r>>>3)|0;n=(zY(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0)<<(r&7);o=n>>>(o?24:19);n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0}while(0);c[m>>2]=o;w=n>>2;a[(d[209023+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;Te(m,16,197801,s);m=-1;break}o=n&3;s=Pj(g,3)|0;Qj(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(w|0)>10&p;q=n&1;r=Pj(g,8)|0;s=a[326688+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;Qj(g,a[326688+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Rj(g)|0)+8|0;do if((m|0)<14){if(n)m=(yj(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(yj(g)|0)+28|0;break}else{m=(Gj(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){Te(c[e+4>>2]|0,16,197846,t);m=-1;break a}else{n=m+-3|0;m=(1<<n)+-4066|0;break}else{m=30;n=12}while(0);m=(Gj(g,n)|0)+m|0}while(0);t=p?m+2|0:m;m=t&1;n=2;m=(t+2>>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=Pj(g,8)|0;t=a[326688+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;Qj(g,a[326688+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Rj(g)|0)+8|0;if((m|0)>=15){p=15<<n;if((m|0)==15){m=p;p=12}else{if((m|0)>28)break;t=m+-3|0;m=p+-4096+(1<<t)|0;p=t}}else{m=m<<n;p=n}t=(Gj(g,p)|0)+m|0;m=t&1;m=(t+2>>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[72544+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}Te(c[e+4>>2]|0,16,197846,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){m=29;n=250752+(w<<4)+4|0;break}else{m=27;n=250816+(w<<4)+4|0;break}else{m=23;n=250944+(w<<4)+4|0}while(0);l=c[n>>2]|0;v=g+8|0;t=c[v>>2]|0;u=(c[g>>2]|0)+(t>>>3)|0;u=(zY(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(t&7)>>>m;m=b[l+(u<<2)>>1]|0;c[v>>2]=t+(b[l+(u<<2)+2>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25664>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[251200+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(zY(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[62829]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(zY(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((zY(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;b[h+(l<<1)>>1]=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[251200+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(zY(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[62829]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(zY(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((zY(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;b[h+(j<<1)>>1]=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;b[h+(i<<1)>>1]=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[251200+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(zY(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[62829]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(zY(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((zY(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;c[h+(l<<2)>>2]=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[251200+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(zY(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[62829]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(zY(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((zY(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;c[h+(j<<2)>>2]=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;c[h+(i<<2)>>2]=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;Te(m,16,197868,y);m=-1}else m=0}else m=0;while(0);Gc=z;return m|0}function Oj(a,b){a=a|0;b=b|0;b=d[209023+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function Pj(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Qj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Rj(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[178821+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function Sj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=Gc;Gc=Gc+32|0;C=T+16|0;B=T+8|0;w=T;y=c[f+26368>>2]|0;k=c[g+21796>>2]|0;A=g+21792|0;p=c[A>>2]|0;S=c[h>>2]|0;R=S&64;z=g+25336|0;Uj(f,z,(S>>>7&1)+p|0);S=(R|0)==0;i=61440;u=0;while(1){if((u|0)==2)break;m=a[g+28272+(u*40|0)+11>>0]|0;s=a[g+28272+(u*40|0)+4>>0]|0;j=a[g+28272+(u*40|0)+8>>0]|0;if(j<<24>>24==-2){q=a[g+28272+(u*40|0)+3>>0]|0;r=g+27952+(u*160|0)+12|0}else{q=j<<24>>24;r=g+27952+(u*160|0)+32|0}t=m>>>0>s>>>0?s:m;j=t>>>0>q>>>0?q:t;l=B+(u<<2)|0;c[l>>2]=j;if((j|0)>-1){n=g+27952+(u*160|0)+44|0;o=g+27952+(u*160|0)+16|0;l=(j|0)==(m|0);j=(j|0)==(s|0);do if(((j&1)+(q>>>0<=t>>>0&1)+(l&1)|0)>>>0<=1){if(l){j=c[n>>2]|0;break}if(j){j=c[o>>2]|0;break}else{j=c[r>>2]|0;break}}else{j=Vj(b[n>>1]|0,b[o>>1]|0,b[r>>1]|0)|0;j=(Vj(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[r+2>>1]|0)|0)<<16|j&65535}while(0);c[w+(u<<2)>>2]=j}else{j=~(12288<<(u<<1));c[w+(u<<2)>>2]=0;c[l>>2]=-1;if(S)c[h>>2]=c[h>>2]&j;i=i&j}u=u+1|0}j=c[B>>2]|0;if((j|0)<0?(v=B+4|0,(c[v>>2]|0)<0):0){c[v>>2]=0;c[B>>2]=0;if(S)c[h>>2]=c[h>>2]|61440;s=i|61440;u=0}else{s=i;u=j}i=c[w>>2]|0;j=c[w+4>>2]|0;do if(i|R|j){Q=g+25372|0;r=c[(c[Q>>2]|0)+48>>2]|0;o=c[r+(k<<2)>>2]|0;t=c[h>>2]|0;l=(t&128|0)!=0;do if(!(o&128))if(l){q=c[A>>2]&-2;n=c[f+27016>>2]|0;k=H(q,n)|0;k=k+(c[g+21788>>2]|0)|0;o=c[r+(k<<2)>>2]|0;c[C>>2]=o;l=c[r+(n+k<<2)>>2]|0;m=C+4|0;c[m>>2]=l;n=n<<2|2;p=y*6|0;if((o^l)&128){o=o&-129;c[C>>2]=o;l=l&-129;c[m>>2]=l}m=s|264;if(o&15|0?!((R|0)!=0|(l&15|0)==0):0){O=p;p=q;r=m;l=272;break}O=p;p=q;r=m;l=64}else{n=2;P=36}else{if(l){m=c[g+21852>>2]|0;n=2;o=m+p|0;l=c[f+27016>>2]|0}else{l=(c[A>>2]&-2)+(c[g+21848>>2]|0)|0;n=0;o=l;k=c[g+21788>>2]|0;m=c[f+27016>>2]|0}P=k+(H(l,m)|0)|0;k=P;p=o;o=c[r+(P<<2)>>2]|0;P=36}while(0);do if((P|0)==36){c[C+4>>2]=o;c[C>>2]=o;m=s|264;l=(R|0)!=0;if(l|(o&15|0)==0){if(!l?(x=o&48,x|0):0){O=y;r=m;l=x|256;break}O=y;r=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?m+56|0:m;l=64}else{O=y;r=m;l=264}}while(0);c[h>>2]=t|l;Uj(f,z,p);q=c[Q>>2]|0;m=c[(c[f+26360>>2]|0)+(k<<2)>>2]|0;l=(c[q+36>>2]|0)+(m<<2)|0;m=(c[q+40>>2]|0)+(m<<2)|0;p=k<<2;k=(c[q+68>>2]|0)+p|0;p=(c[q+72>>2]|0)+p|0;if(!n){L=(c[A>>2]&1|0)==0;M=O<<1;N=L?l:l+(M<<2)|0;m=L?m:m+(M<<2)|0;M=L?k:k+2|0;p=L?p:p+2|0}else{N=l;M=k}k=c[h>>2]|0;if((o^k)&128|0){x=r&65535;y=(u&255)*257&65535;t=c[B+4>>2]|0;w=(t&255)*257&65535;v=(u|0)>0?i:0;t=(t|0)>0?j:0;k=0;u=0;while(1){if((u|0)==4)break;r=u&1;o=u>>1;q=(H(o,n)|0)+r|0;r=(0-r&3)+(H(o,O)|0)|0;l=g+28552+(u<<1)|0;if(!(!S?(b[l>>1]&256)==0:0)){b[l>>1]=x;s=d[209023+(u<<2)>>0]|0;P=g+28272+s|0;b[P>>1]=y;b[P+8>>1]=y;P=g+28312+s|0;b[P>>1]=w;b[P+8>>1]=w;do if((c[C+(o<<2)>>2]&7|0)==0?(c[(c[Q>>2]|0)+100>>2]|0)==0:0){l=a[M+q>>0]|0;if(!(l<<24>>24)){L=b[N+(r<<2)>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}L=b[N+(r<<2)+2>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[p+q>>0]|0){l=j;o=i;break}L=b[m+(r<<2)>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}L=b[m+(r<<2)+2>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}}l=t;o=v;k=k+1|0}else{l=j;o=i}while(0);P=g+27952+(s<<2)|0;c[P>>2]=o;c[P+4>>2]=o;c[P+32>>2]=o;c[P+36>>2]=o;P=g+28112+(s<<2)|0;c[P>>2]=l;c[P+4>>2]=l;c[P+32>>2]=l;c[P+36>>2]=l}u=u+1|0}if(k&3|R|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[B+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((o&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[M>>0]|0;if(!(k<<24>>24)){S=b[N>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;S=b[N+2>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[p>>0]|0)break;S=b[m>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;S=b[m+2>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;if((c[f+25704>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}K=r&65535;L=(u&255)*257&65535;E=c[B+4>>2]|0;J=(E&255)*257&65535;I=(o&7|0)==0;F=(r&8|0)==0;G=O*3|0;D=(u|0)==0;E=(E|0)==0;C=f+25704|0;k=0;f=0;while(1){if((f|0)==4)break;o=f&1;q=f>>1;A=g+28552+(f<<1)|0;if(!(!S?(b[A>>1]&256)==0:0))P=79;do if((P|0)==79){P=0;b[A>>1]=K;B=f<<2;z=d[209023+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;n=g+28272+z|0;b[n>>1]=L;b[n+8>>1]=L;z=g+28312+z|0;b[z>>1]=J;b[z+8>>1]=J;if(I?(c[(c[Q>>2]|0)+100>>2]|0)==0:0){l=a[M+f>>0]|0;n=l<<24>>24==0;if(!n){if(l<<24>>24>=0)break;if(a[p+f>>0]|0)break;if((c[C>>2]|0)>>>0<=33)break}z=n?N:m;if(!F){l=(H(G,q)|0)+(0-o&3)|0;A=b[z+(l<<2)>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;A=b[z+(l<<2)+2>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}r=o<<1;q=q<<1;l=0;o=0;while(1){if((o|0)==4)break;n=(H((o>>1)+q|0,O)|0)+(o&1|r)|0;x=b[z+(n<<2)>>1]|0;y=x<<16>>16;if(((x<<16>>16>-1?y:0-y|0)|0)<2?(x=b[z+(n<<2)+2>>1]|0,y=x<<16>>16,((x<<16>>16>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[209023+(o+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[209023+(o+B)>>0]<<2)>>2]=0;l=l+1|0}o=o+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);f=f+1|0}if(!(k&15|R))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[B+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;N=g+28032|0;O=g+28064|0;P=g+28096|0;Q=g+28160|0;R=g+28192|0;S=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);Gc=T;return}function Tj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;F=Gc;Gc=Gc+16|0;C=F;q=c[f+26368>>2]|0;i=c[g+21796>>2]|0;u=g+21792|0;m=c[u>>2]|0;s=c[h>>2]|0;v=s&64;r=g+25336|0;Uj(f,r,(s>>>7&1)+m|0);s=g+25372|0;p=c[(c[s>>2]|0)+48>>2]|0;k=c[p+(i<<2)>>2]|0;t=c[h>>2]|0;j=(t&128|0)!=0;do if(!(k&128))if(j){o=c[u>>2]&-2;l=c[f+27016>>2]|0;n=(H(l,o)|0)+(c[g+21788>>2]|0)|0;k=c[p+(n<<2)>>2]|0;c[C>>2]=k;i=c[p+(l+n<<2)>>2]|0;j=C+4|0;c[j>>2]=i;l=l<<2|2;m=q*6|0;if((k^i)&128){k=k&-129;c[C>>2]=k;i=i&-129;c[j>>2]=i}if(k&15|0?!((v|0)!=0|(i&15|0)==0):0){E=m;i=n;m=o;p=20744;j=61712;o=k;break}E=m;i=n;m=o;p=20744;j=61504;o=k}else{l=2;D=12}else{if(j){k=c[g+21852>>2]|0;l=2;m=k+m|0;j=c[f+27016>>2]|0}else{j=(c[u>>2]&-2)+(c[g+21848>>2]|0)|0;l=0;m=j;i=c[g+21788>>2]|0;k=c[f+27016>>2]|0}k=i+(H(j,k)|0)|0;i=k;k=c[p+(k<<2)>>2]|0;D=12}while(0);do if((D|0)==12){c[C+4>>2]=k;c[C>>2]=k;j=(v|0)!=0;if(j|(k&15|0)==0){if(!j?(n=k&48,n|0):0){E=q;p=20744;j=n|61696;o=k;break}E=q;p=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?20800:20744;j=61504;o=k}else{E=q;p=20744;j=20744;o=k}}while(0);c[h>>2]=t|j;Uj(f,r,m);n=c[s>>2]|0;k=c[(c[f+26360>>2]|0)+(i<<2)>>2]|0;j=(c[n+36>>2]|0)+(k<<2)|0;k=(c[n+40>>2]|0)+(k<<2)|0;m=i<<2;i=(c[n+68>>2]|0)+m|0;m=(c[n+72>>2]|0)+m|0;if(!l){z=(c[u>>2]&1|0)==0;A=E<<1;B=z?j:j+(A<<2)|0;A=z?k:k+(A<<2)|0;y=z?i:i+2|0;m=z?m:m+2|0}else{B=j;A=k;y=i}k=c[h>>2]|0;if((c[f+26376>>2]|0)==0|(k&128|0)==0){z=g+21868|0;j=g+22252|0;w=g+22444|0}else{w=c[u>>2]&1;z=g+21996+(w<<7)|0;j=g+22636+(w*384|0)|0;w=g+22636+(w*384|0)+192|0}x=o>>3&c[n+632>>2]<<4;i=k&128;a:do if((i|0)==(o&128|0)){if(k&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(o&7)){i=a[y>>0]|0;k=i<<24>>24>-1;if(!k){j=w;i=a[m>>0]|0}E=c[j+(x+(i<<24>>24)<<2)>>2]|0;C=c[z+(E<<2)>>2]|0;D=k?B:A;i=b[D>>1]|0;j=(H(C,i)|0)+128>>8;D=b[D+2>>1]|0;k=(H(C,D)|0)+128>>8;i=k-D<<16|j-i&65535;j=k<<16|j&65535;k=H(E,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}u=(v|0)==0;v=p&65535;h=(p&8|0)==0;f=E*3|0;t=(o&7|0)==0;s=0;while(1){if((s|0)==4)break a;o=s&1;p=s>>1;i=g+28552+(s<<1)|0;if(!(!u?!(b[i>>1]&256):0))D=43;b:do if((D|0)==43){D=0;b[i>>1]=v;r=s<<2;l=d[209023+r>>0]|0;C=g+28312+l|0;b[C>>1]=0;b[C+8>>1]=0;if(!t){C=g+28272+l|0;b[C>>1]=0;b[C+8>>1]=0;C=g+27952+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;C=g+28112+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;break}i=a[y+s>>0]|0;if(i<<24>>24>-1){q=B;k=j}else{q=A;i=a[m+s>>0]|0;k=w}k=c[k+(x+(i<<24>>24)<<2)>>2]|0;n=c[z+(k<<2)>>2]|0;C=g+28272+l|0;k=k*257&65535;b[C>>1]=k;b[C+8>>1]=k;if(!h){o=(H(f,p)|0)+(0-o&3)|0;r=b[q+(o<<2)>>1]|0;p=(H(n,r<<16>>16)|0)+128>>8;q=b[q+(o<<2)+2>>1]|0;o=(H(n,q<<16>>16)|0)+128>>8;C=g+27952+(l<<2)|0;n=o<<16|p&65535;c[C>>2]=n;c[C+4>>2]=n;c[C+32>>2]=n;c[C+36>>2]=n;C=g+28112+(l<<2)|0;r=o-(q&65535)<<16|p-(r&65535)&65535;c[C>>2]=r;c[C+4>>2]=r;c[C+32>>2]=r;c[C+36>>2]=r;break}l=o<<1;k=p<<1;i=0;while(1){if((i|0)==4)break b;G=(H((i>>1)+k|0,E)|0)+(i&1|l)|0;p=q+(G<<2)|0;C=d[209023+(i+r)>>0]|0;o=((H(n,b[p>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)>>1]=o;G=q+(G<<2)+2|0;I=((H(n,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)+2>>1]=I;c[g+28112+(C<<2)>>2]=I-(e[G>>1]|0)<<16|o-(e[p>>1]|0)&65535;i=i+1|0}}while(0);s=s+1|0}}else{h=i>>>6^2;t=(v|0)==0;s=p&65535;r=0;while(1){if((r|0)==4)break a;o=r&1;p=r>>1;i=g+28552+(r<<1)|0;if(!(!t?!(b[i>>1]&256):0)){b[i>>1]=s;q=d[209023+(r<<2)>>0]|0;I=g+28312+q|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[C+(p<<2)>>2]&7)){k=(H(p,l)|0)+o|0;i=a[y+k>>0]|0;if(i<<24>>24>-1){n=B;k=j}else{n=A;i=a[m+k>>0]|0;k=w}i=c[k+(x+(i<<24>>24)<<2)>>2]|0;I=c[z+(i<<2)>>2]|0;G=g+28272+q|0;i=i*257&65535;b[G>>1]=i;b[G+8>>1]=i;G=(0-o&3)+(H(p,E)|0)|0;i=(b[n+(G<<2)+2>>1]<<h|0)/2|0;G=b[n+(G<<2)>>1]|0;D=(H(I,G<<16>>16)|0)+128>>8;I=(H(i,I)|0)+128>>8;v=g+27952+(q<<2)|0;u=I<<16|D&65535;c[v>>2]=u;c[v+4>>2]=u;c[v+32>>2]=u;c[v+36>>2]=u;i=D-(G&65535)&65535|I-i<<16}else{i=g+28272+q|0;b[i>>1]=0;b[i+8>>1]=0;i=g+27952+(q<<2)|0;c[i>>2]=0;c[i+4>>2]=0;c[i+32>>2]=0;c[i+36>>2]=0;i=0}I=g+28112+(q<<2)|0;c[I>>2]=i;c[I+4>>2]=i;c[I+32>>2]=i;c[I+36>>2]=i}r=r+1|0}}while(0);Gc=F;return}function Uj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+696>>2]&1|0){a=c[a+27008>>2]<<4>>f;d=d<<4>>f;Wh(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Wj(a){a=a|0;return c[a+8>>2]|0}function Xj(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Yj(d,32)|0;Gc=b;return a|0}function Yj(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Gj(a,b)|0;break}else{b=b+-16|0;c=(Gj(a,16)|0)<<b;a=c|(Gj(a,b)|0);break}else a=0;while(0);return a|0}function Zj(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=Gc;Gc=Gc+32|0;h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=d[(ng(c[i+112>>2]|0)|0)+6>>0]|0;g=c[a+26380>>2]|0;n=(g|0)!=3;p=n&1;o=f<<p;f=e<<p;e=(c[i+96>>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26384>>2]|0)!=0:0)?!(c[i+240>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+116>>2]|0,m|0):0){c[h>>2]=H(c[j+32>>2]|0,f)|0;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}Zc[m&63](i,j,h,f,g,e)}Gc=l;return}function _j(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))$j(a);return}function $j(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return}function ak(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ha=Gc;Gc=Gc+48|0;X=ha+20|0;V=ha;ga=ha+8|0;$=g+21788|0;k=c[$>>2]|0;Z=g+21792|0;o=c[Z>>2]|0;Y=g+21796|0;l=c[Y>>2]|0;aa=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25976|0;U=g+848|0;if(!(c[U>>2]|0))ea=(c[(c[f+28216>>2]|0)+16>>2]|0)!=0;else ea=0;i=f+24316|0;fa=f+25664|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;W=c[fa>>2]|0;ca=c[m>>2]|0;T=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(ca,o)|0)+(k<<W)<<4)|0;c[ga+(h<<2)>>2]=T;W=T+(H(c[$>>2]<<2&12,ca)|0)+(64<<W)|0;Wc[c[j>>2]&1023](W,ca,4);h=h+1|0}p=g+23412|0;a[(c[f+26388>>2]|0)+l>>0]=c[p>>2];W=g+21828|0;h=c[m>>2]|0;a:do if(c[W>>2]|0){m=h<<1;c[g+21784>>2]=m;c[g+21780>>2]=m;n=f+26168|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;ca=ga+(h<<2)|0;c[ca>>2]=(c[ca>>2]|0)+i;h=h+1|0}}while(0);if(!(c[f+26376>>2]|0))ca=m;else{j=(aa&8|0)==0;i=0;while(1){if(i>>>0>=(c[p>>2]|0)>>>0){ca=m;break a}c:do if(12288<<(i<<1)&aa|0){if(j)h=0;else{T=g+28272+(i*40|0)+12|0;ca=H((a[T>>0]|0)+16^c[Z>>2]&1,16843009)|0;c[T>>2]=ca;c[g+28272+(i*40|0)+20>>2]=ca;c[g+28272+(i*40|0)+28>>2]=ca;c[g+28272+(i*40|0)+36>>2]=ca;break}while(1){if((h|0)>=16)break c;k=(d[209023+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){ca=(c[Z>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=ca;b[k+8>>1]=ca}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;ca=h}while(0);d:do if(!(aa&4)){e:do if(aa&7){T=g+868|0;i=c[T>>2]|0;f:do if(i|0){j=c[ga>>2]|0;k=c[ga+4>>2]|0;l=c[ga+8>>2]|0;y=c[fa>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[Z>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Y>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[$>>2]|0}else{u=c[$>>2]|0;s=(u|0)>0;i=(c[Z>>2]|0)>((c[W>>2]|0)!=0|0)&1}w=0-(ca+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<<y)+(t+(r*96|0))|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=q+(-7<<y)|0;O=i;P=c[O+4>>2]|0;S=h;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=i;c[S>>2]=Q;c[S+4>>2]=R;if(l){h=k;i=q+1|0;o=0;j=c[h>>2]|0;h=c[h+4>>2]|0;l=1;break}else{R=h+8|0;l=R;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;S=h;ba=c[S+4>>2]|0;i=R;c[i>>2]=c[S>>2];c[i+4>>2]=ba;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<y;i=q+l|0;j=c[h>>2]|0;h=c[h+4>>2]|0;ba=56;break}}else{h=k;j=c[h>>2]|0;h=c[h+4>>2]|0;m=1<<y;i=q+m|0;if(l){o=0;l=m}else{l=m;ba=56}}while(0);if((ba|0)==56){ba=i;o=c[ba+4>>2]|0;c[k>>2]=c[ba>>2];c[k+4>>2]=o;k=i;c[k>>2]=j;c[k+4>>2]=h;k=t+(u*96|0)+8|0;h=k;i=q+l+8|0;o=1;j=c[h>>2]|0;h=c[h+4>>2]|0}m=i;R=c[m+4>>2]|0;S=k;c[S>>2]=c[m>>2];c[S+4>>2]=R;S=i;c[S>>2]=j;c[S+4>>2]=h;h=(8<<y)+(t+(u*96|0))|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;m=9<<y;i=q+m|0;P=i;Q=c[P+4>>2]|0;ba=h;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=i;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=h+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=i+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}h=(c[$>>2]|0)+1|0;p=f+27012|0;if((h|0)<(c[p>>2]|0)?(ba=(c[x>>2]|0)+(h*96|0)|0,S=ba,R=c[S>>2]|0,S=c[S+4>>2]|0,z=q+(17<<y)|0,P=z,Q=c[P+4>>2]|0,ba,c[ba>>2]=c[P>>2],c[ba+4>>2]=Q,ba=z,c[ba>>2]=R,c[ba+4>>2]=S,o):0){Q=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=z+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}if(s){h=(24<<y)+(t+(r*96|0))|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;j=-7<<y;i=v+j|0;P=i;Q=c[P+4>>2]|0;ba=h;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=i;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=h+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=i+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}i=(40<<y)+(t+(r*96|0))|0;S=i;R=c[S>>2]|0;S=c[S+4>>2]|0;h=w+j|0;P=h;Q=c[P+4>>2]|0;ba=i;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=h;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=h+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S;ba=68}else ba=69}else if(o)ba=68;else ba=69;if((ba|0)==68){i=(16<<y)+(t+(u*96|0))|0;S=i;R=c[S>>2]|0;S=c[S+4>>2]|0;h=v+l|0;P=h;Q=c[P+4>>2]|0;k=i;c[k>>2]=c[P>>2];c[k+4>>2]=Q;k=h;c[k>>2]=R;c[k+4>>2]=S;h=h+8|0;i=i+8|0;k=1}else if((ba|0)==69){h=v+l|0;i=(16<<y)+(t+(u*96|0))|0;k=0}R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;P=h;O=c[P+4>>2]|0;c[i>>2]=c[P>>2];c[i+4>>2]=O;c[h>>2]=Q;c[h+4>>2]=R;h=(24<<y)+(t+(u*96|0))|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=v+m|0;O=i;P=c[O+4>>2]|0;S=h;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=i;c[S>>2]=Q;c[S+4>>2]=R;if(k){h=h+8|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=i+8|0;P=i;O=c[P+4>>2]|0;c[h>>2]=c[P>>2];c[h+4>>2]=O;c[i>>2]=Q;c[i+4>>2]=R;i=(32<<y)+(t+(u*96|0))|0;R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+l|0;O=h;P=c[O+4>>2]|0;S=i;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;h=h+8|0;i=i+8|0}else{h=w+l|0;i=(32<<y)+(t+(u*96|0))|0}R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;P=h;O=c[P+4>>2]|0;c[i>>2]=c[P>>2];c[i+4>>2]=O;i=h;c[i>>2]=Q;c[i+4>>2]=R;i=(40<<y)+(t+(u*96|0))|0;R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+m|0;O=h;P=c[O+4>>2]|0;S=i;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}h=(c[$>>2]|0)+1|0;if((h|0)<(c[p>>2]|0)){i=16<<y;S=(c[x>>2]|0)+(h*96|0)+i|0;R=S;Q=c[R>>2]|0;R=c[R+4>>2]|0;j=17<<y;h=v+j|0;O=h;P=c[O+4>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}i=32<<y;S=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i|0;R=S;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+j|0;O=h;P=c[O+4>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}}}}while(0);h=aa&1;x=(h|0)==0;C=g+21660|0;y=f+132|0;z=f+28212|0;R=aa&16777216;A=(R|0)==0;E=f+144|0;D=f+28216|0;F=g+21764|0;G=3-ca|0;I=3-((ca|0)/2|0)|0;J=0-ca|0;B=g+28560|0;K=f+108|0;L=f+100|0;S=f+140|0;N=f+25704|0;O=g+21756|0;P=f+112|0;Q=f+104|0;w=0;while(1){if((w|0)==3)break;v=c[fa>>2]|0;s=c[ga+(w<<2)>>2]|0;i=c[((w|0)==0?U:g+852+(w+-1<<2)|0)>>2]|0;t=w<<4;u=n+(t<<2)|0;g:do if(x){Vc[c[f+25888+(c[C>>2]<<2)>>2]&255](s,ca);if(a[(d[209023+(w+48)>>0]|0)+(g+27824)>>0]|0){if(!ea){Wc[c[y>>2]&1023](g+28560+(w<<8<<v<<1)|0,g+31632+(w<<6)|0,c[(c[(c[z>>2]|0)+173788+(w<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(w<<8<<v<<1)|0;j=(v|0)==0;k=g+31632+(w<<6)|0;i=0;while(1){if((i|0)==16)break g;l=d[198310+i>>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(w<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!A){if(ea){l=c[S>>2]|0;k=l}else{k=c[Q>>2]|0;l=c[P>>2]|0}o=w<<8;p=(v|0)==0;m=0;while(1){if((m|0)>=16)break g;q=s+(c[u+(m<<2)>>2]|0)|0;r=a[(d[209023+m>>0]|0)+(g+21664)>>0]|0;i=r<<24>>24;do if(ea?(r<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)if((c[N>>2]|0)>>>0<151){Wc[c[f+25932+(i<<2)>>2]&1023](q,g+28560+((m<<4)+o<<v<<1)|0,ca);break}else{Yc[c[f+25940+(i<<2)>>2]&127](q,g+28560+((m<<4)+o<<v<<1)|0,c[O>>2]<<m&32768,c[F>>2]<<m&16384,ca);break}else ba=94;while(0);h:do if((ba|0)==94){ba=0;r=a[(d[209023+(m+t)>>0]|0)+(g+27824)>>0]|0;Xc[c[f+25796+(i<<2)>>2]&255](q,c[O>>2]<<m&32768,c[F>>2]<<m&16384,ca);i:do switch(r<<24>>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j)break i;Wc[l&1023](q,g+28560+(i<<v<<1)|0,ca);break h}default:i=(m<<4)+o|0}while(0);Wc[k&1023](q,g+28560+(i<<v<<1)|0,ca)}while(0);m=m+4|0}}if(ea){l=c[E>>2]|0;k=l}else{k=c[L>>2]|0;l=c[K>>2]|0}o=w<<8;p=(v|0)==0;q=4<<v;m=0;while(1){if((m|0)==16)break g;r=s+(c[u+(m<<2)>>2]|0)|0;i=a[(d[209023+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(ea?(i<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)Wc[c[f+25924+(j<<2)>>2]&1023](r,g+28560+((m<<4)+o<<v<<1)|0,ca);else{do if((i|4)<<24>>24==7){if(c[F>>2]&32768>>>m|0){i=r+q+J|0;break}if(p){c[X>>2]=H(d[r+G>>0]|0,16843009)|0;i=X;break}else{ja=sY(e[r+(I<<1)>>1]|0,0,65537,65537)|0;ia=M()|0;i=V;c[i>>2]=ja;c[i+4>>2]=ia;i=V;break}}else i=0;while(0);Wc[c[f+25736+(j<<2)>>2]&1023](r,i,ca);j:do switch(a[(d[209023+(m+t)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j){ba=124;break j}Wc[l&1023](r,g+28560+(i<<v<<1)|0,ca);break}default:{i=(m<<4)+o|0;ba=124}}while(0);if((ba|0)==124){ba=0;Wc[k&1023](r,g+28560+(i<<v<<1)|0,ca)}}m=m+1|0}}while(0);w=w+1|0}j=c[T>>2]|0;if(j){k=c[ga>>2]|0;l=c[ga+4>>2]|0;o=c[ga+8>>2]|0;y=c[fa>>2]|0;do if(c[f+26376>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[Z>>2]&1)if(i){m=1;break}else{j=R;i=S;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Y>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[$>>2]|0}else{u=c[$>>2]|0;s=(u|0)>0;i=(c[Z>>2]|0)>((c[W>>2]|0)!=0|0)&1}w=0-(ca+1+y)|0;q=k+w|0;v=l+w|0;w=o+w|0;x=g+27796+(m<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i){l=(y|0)==0;do if(s){i=(8<<y)+(t+(r*96|0))|0;ia=i;Z=c[ia>>2]|0;ia=c[ia+4>>2]|0;j=q+(-7<<y)|0;X=j;Y=c[X+4>>2]|0;ja=i;c[ja>>2]=c[X>>2];c[ja+4>>2]=Y;ja=j;c[ja>>2]=Z;c[ja+4>>2]=ia;if(l){i=k;j=q+1|0;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1;l=0;break}else{Z=i+8|0;m=Z;ba=c[m>>2]|0;m=c[m+4>>2]|0;i=j+8|0;ia=i;ja=c[ia+4>>2]|0;j=Z;c[j>>2]=c[ia>>2];c[j+4>>2]=ja;c[i>>2]=ba;c[i+4>>2]=m;i=k;m=1<<y;j=q+m|0;k=c[i>>2]|0;i=c[i+4>>2]|0;ba=151;break}}else{i=k;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1<<y;j=q+m|0;if(l)l=0;else ba=151}while(0);if((ba|0)==151){c[j>>2]=k;c[j+4>>2]=i;i=t+(u*96|0)+8|0;j=q+m+8|0;k=c[i>>2]|0;i=c[i+4>>2]|0;l=1}ia=j;c[ia>>2]=k;c[ia+4>>2]=i;i=(8<<y)+(t+(u*96|0))|0;ia=i;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;o=9<<y;j=q+o|0;Y=j;Z=c[Y+4>>2]|0;ja=i;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=j;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){Z=i+8|0;ia=Z;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=j+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=ba;c[ja+4>>2]=ia}i=(c[$>>2]|0)+1|0;p=f+27012|0;if((i|0)<(c[p>>2]|0)?(ja=(c[x>>2]|0)+(i*96|0)|0,ia=ja,ba=c[ia>>2]|0,ia=c[ia+4>>2]|0,_=q+(17<<y)|0,Y=_,Z=c[Y+4>>2]|0,ja,c[ja>>2]=c[Y>>2],c[ja+4>>2]=Z,ja=_,c[ja>>2]=ba,c[ja+4>>2]=ia,l):0){X=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+8|0;ia=X;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=_+8|0;Y=ja;Z=c[Y+4>>2]|0;_=X;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ja>>2]=ba;c[ja+4>>2]=ia}if(s){i=(24<<y)+(t+(r*96|0))|0;ia=i;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;k=-7<<y;j=v+k|0;Z=j;_=c[Z+4>>2]|0;ja=i;c[ja>>2]=c[Z>>2];c[ja+4>>2]=_;ja=j;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){_=i+8|0;ia=_;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=j+8|0;Y=ja;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ja>>2]=ba;c[ja+4>>2]=ia}j=(40<<y)+(t+(r*96|0))|0;ia=j;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+k|0;Z=i;_=c[Z+4>>2]|0;ja=j;c[ja>>2]=c[Z>>2];c[ja+4>>2]=_;ja=i;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){_=j+8|0;ja=_;ia=c[ja>>2]|0;ja=c[ja+4>>2]|0;ba=i+8|0;Y=ba;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ba>>2]=ia;c[ba+4>>2]=ja;ba=163}else ba=164}else if(l)ba=163;else ba=164;if((ba|0)==163){j=(16<<y)+(t+(u*96|0))|0;ia=j;ja=c[ia+4>>2]|0;i=v+m|0;l=i;c[l>>2]=c[ia>>2];c[l+4>>2]=ja;i=i+8|0;j=j+8|0;l=1}else if((ba|0)==164){i=v+m|0;j=(16<<y)+(t+(u*96|0))|0;l=0}_=j;ia=c[_+4>>2]|0;c[i>>2]=c[_>>2];c[i+4>>2]=ia;i=(24<<y)+(t+(u*96|0))|0;ia=i;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;j=v+o|0;Y=j;Z=c[Y+4>>2]|0;ja=i;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=j;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){i=i+8|0;_=i;ia=c[_>>2]|0;_=c[_+4>>2]|0;j=j+8|0;Z=j;ja=c[Z+4>>2]|0;c[i>>2]=c[Z>>2];c[i+4>>2]=ja;c[j>>2]=ia;c[j+4>>2]=_;j=(32<<y)+(t+(u*96|0))|0;_=j;ia=c[_+4>>2]|0;i=w+m|0;ja=i;c[ja>>2]=c[_>>2];c[ja+4>>2]=ia;i=i+8|0;j=j+8|0}else{i=w+m|0;j=(32<<y)+(t+(u*96|0))|0}_=j;ia=c[_+4>>2]|0;j=i;c[j>>2]=c[_>>2];c[j+4>>2]=ia;j=(40<<y)+(t+(u*96|0))|0;ia=j;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+o|0;Y=i;Z=c[Y+4>>2]|0;ja=j;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=j+8|0;ia=Z;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=i+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=_;c[ja+4>>2]=ia}i=(c[$>>2]|0)+1|0;if((i|0)<(c[p>>2]|0)){j=16<<y;ja=(c[x>>2]|0)+(i*96|0)+j|0;ia=ja;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;k=17<<y;i=v+k|0;Y=i;Z=c[Y+4>>2]|0;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j+8|0;ia=Z;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=i+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=_;c[ja+4>>2]=ia}j=32<<y;ja=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j|0;ia=ja;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+k|0;Y=i;Z=c[Y+4>>2]|0;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j+8|0;ja=Z;ia=c[ja>>2]|0;ja=c[ja+4>>2]|0;j=i+8|0;_=j;$=c[_+4>>2]|0;i=Z;c[i>>2]=c[_>>2];c[i+4>>2]=$;c[j>>2]=ia;c[j+4>>2]=ja;j=R;i=S}else{j=R;i=S}}else{j=R;i=S}}else{j=R;i=S}}else{j=R;i=S}}else{lk(f,g,c[ga>>2]|0,c[ga+4>>2]|0,c[ga+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=aa&16777216;E=f+144|0;i=f+140|0;D=f+28216|0;C=g+21660|0;B=g+28560|0;h=aa&1}while(0);A=(h|0)==0;x=(aa&2|0)==0;y=g+21856|0;w=(j|0)!=0;z=w?4:1;w=w?i:E;o=(j|0)==0;p=f+116|0;q=f+120|0;r=f+128|0;m=0;while(1){if((m|0)==3)break d;s=c[fa>>2]|0;t=c[ga+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(A){if(x){if(!(c[y>>2]&15))break;if(!ea)if(o){Yc[c[p>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}else{Yc[c[q>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}i=c[w>>2]|0;j=m<<8;h=0;while(1){if((h|0)>=16)break k;if(a[(d[209023+(h+u)>>0]|0)+(g+27824)>>0]|0)Wc[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<<s<<1)|0,ca);h=h+z|0}}if(!ea){Yc[c[r>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}if((c[(c[D>>2]|0)+4>>2]|0)==244?(da=c[C>>2]|0,(da+-1|0)>>>0<2):0){Xc[c[f+25960+(da<<2)>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,ca);break}j=m<<8;k=(s|0)==0;h=0;while(1){if((h|0)==16)break k;l=(h<<4)+j|0;if(!(a[(d[209023+(h+u)>>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[B+(l<<2)>>2]|0;if(i|0)ba=191}else ba=191;if((ba|0)==191){ba=0;Wc[c[E>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<<s<<1)|0,ca)}h=h+1|0}}while(0);m=m+1|0}}else{if(!(c[fa>>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ga+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,ca)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28216>>2]|0)+1184>>2]|0;ck(X,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ga+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,ca)|0)|0;h=0;while(1){if((h|0)==16)break;b[l+(h<<1)>>1]=dk(X,m)|0;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);Gc=ha;return}function bk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,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;Y=Gc;Gc=Gc+32|0;X=Y+8|0;A=Y;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;S=f+28216|0;h=c[S>>2]|0;if(!(c[y>>2]|0))P=(c[h+16>>2]|0)!=0;else P=0;t=16>>>(c[f+25680>>2]|0);T=(c[h+12>>2]|0)==2;Q=c[f+24316>>2]|0;V=f+25664|0;R=c[V>>2]|0;B=i<<R;W=g+21772|0;r=c[W>>2]|0;l=(c[Q>>2]|0)+((H(r,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;m=H(H(t,k)|0,c[h>>2]|0)|0;o=(c[Q+4>>2]|0)+B+m|0;m=(c[Q+8>>2]|0)+B+m|0;B=f+12|0;i=l+(H(i<<2&12,r)|0)+(64<<R)|0;Wc[c[B>>2]&1023](i,r,4);r=o+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;Wc[c[B>>2]&1023](r+(64<<c[V>>2])|0,m-o|0,2);r=g+23412|0;a[(c[f+26388>>2]|0)+j>>0]=c[r>>2];B=g+21828|0;i=c[W>>2]|0;a:do if(c[B>>2]|0){p=i<<1;c[g+21780>>2]=p;h=c[h>>2]|0;q=h<<1;c[g+21784>>2]=q;s=f+26168|0;if(!(k&1))n=l;else{W=H(1-t|0,h)|0;n=l+(H(i,-15)|0)|0;o=o+W|0;m=m+W|0}if(!(c[f+26376>>2]|0)){L=p;W=q;Q=s;K=n;R=m}else{j=(I&8|0)==0;i=0;while(1){if(i>>>0>=(c[r>>2]|0)>>>0){L=p;W=q;Q=s;K=n;R=m;break a}b:do if(12288<<(i<<1)&I|0){if(j)h=0;else{R=g+28272+(i*40|0)+12|0;W=H((a[R>>0]|0)+16^c[D>>2]&1,16843009)|0;c[R>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}while(1){if((h|0)>=16)break b;k=(d[209023+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;W=c[h>>2]|0;c[g+21784>>2]=W;L=i;Q=f+25976|0;K=l;R=m}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[V>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(W+1+w)|0;s=o+v|0;v=R+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;l=t+(u*96|0)|0;if(i|0){j=(w|0)==0;do if(q){h=(8<<w)+(t+(r*96|0))|0;k=h;Z=c[k>>2]|0;k=c[k+4>>2]|0;i=p+(-7<<w)|0;$=i;_=c[$+4>>2]|0;m=h;c[m>>2]=c[$>>2];c[m+4>>2]=_;m=i;c[m>>2]=Z;c[m+4>>2]=k;if(j){h=l;i=p+1|0;j=0;k=c[h>>2]|0;h=c[h+4>>2]|0;break}else{_=h+8|0;m=_;j=c[m>>2]|0;m=c[m+4>>2]|0;h=i+8|0;$=h;U=c[$+4>>2]|0;i=_;c[i>>2]=c[$>>2];c[i+4>>2]=U;c[h>>2]=j;c[h+4>>2]=m;h=l;m=1<<w;i=p+m|0;j=c[h>>2]|0;h=c[h+4>>2]|0;U=69;break}}else{h=l;k=c[h>>2]|0;h=c[h+4>>2]|0;m=1<<w;i=p+m|0;if(j)j=0;else{j=k;U=69}}while(0);if((U|0)==69){$=i;k=c[$+4>>2]|0;c[l>>2]=c[$>>2];c[l+4>>2]=k;l=i;c[l>>2]=j;c[l+4>>2]=h;l=t+(u*96|0)+8|0;h=l;i=p+m+8|0;j=1;k=c[h>>2]|0;h=c[h+4>>2]|0}m=i;Z=c[m+4>>2]|0;_=l;c[_>>2]=c[m>>2];c[_+4>>2]=Z;_=i;c[_>>2]=k;c[_+4>>2]=h;h=(8<<w)+(t+(u*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=p+(9<<w)|0;l=i;m=c[l+4>>2]|0;$=h;c[$>>2]=c[l>>2];c[$+4>>2]=m;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){m=h+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;k=$;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[$>>2]=Z;c[$+4>>2]=_}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?($=(c[n>>2]|0)+(h*96|0)|0,_=$,Z=c[_>>2]|0,_=c[_+4>>2]|0,x=p+(17<<w)|0,m=x,p=c[m+4>>2]|0,$,c[$>>2]=c[m>>2],c[$+4>>2]=p,$=x,c[$>>2]=Z,c[$+4>>2]=_,j):0){m=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=x+8|0;n=$;p=c[n+4>>2]|0;x=m;c[x>>2]=c[n>>2];c[x+4>>2]=p;c[$>>2]=Z;c[$+4>>2]=_}l=16<<w;if(q){h=t+(r*96|0)+l|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;k=-7<<w;i=s+k|0;q=i;x=c[q+4>>2]|0;$=h;c[$>>2]=c[q>>2];c[$+4>>2]=x;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=h+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;p=$;q=c[p+4>>2]|0;c[x>>2]=c[p>>2];c[x+4>>2]=q;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<w)+(t+(r*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=v+k|0;r=h;x=c[r+4>>2]|0;$=i;c[$>>2]=c[r>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){Z=i+8|0;$=Z;_=c[$>>2]|0;$=c[$+4>>2]|0;j=h+8|0;r=j;x=c[r+4>>2]|0;c[Z>>2]=c[r>>2];c[Z+4>>2]=x;c[j>>2]=_;c[j+4>>2]=$;j=1}else j=0}i=t+(u*96|0)+l|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=s+1+w|0;s=h;x=c[s+4>>2]|0;$=i;c[$>>2]=c[s>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;r=$;s=c[r+4>>2]|0;c[x>>2]=c[r>>2];c[x+4>>2]=s;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<w)+(t+(u*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=v+1+w|0;w=h;x=c[w+4>>2]|0;$=i;c[$>>2]=c[w>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;v=$;w=c[v+4>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[$>>2]=Z;c[$+4>>2]=_}}}while(0);w=g+21656|0;Vc[c[f+25844+(c[w>>2]<<2)>>2]&255](o,W);Vc[c[f+25844+(c[w>>2]<<2)>>2]&255](R,W);w=c[V>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){Vc[c[f+25888+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!P){Wc[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28212>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[198310+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(P){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=f+25704|0;n=g+21756|0;p=g+21764|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if((l|0)>=16)break f;s=K+(c[Q+(l<<2)>>2]|0)|0;h=d[209023+l>>0]|0;$=a[g+21664+h>>0]|0;i=$<<24>>24;do if(P?($<<24>>24<2?(c[(c[S>>2]|0)+4>>2]|0)==244:0):0)if((c[m>>2]|0)>>>0<151){Wc[c[f+25932+(i<<2)>>2]&1023](s,g+28560+(l<<4<<w<<1)|0,L);break}else{Yc[c[f+25940+(i<<2)>>2]&127](s,g+28560+(l<<4<<w<<1)|0,c[n>>2]<<l&32768,c[p>>2]<<l&16384,L);break}else U=96;while(0);g:do if((U|0)==96){U=0;$=a[g+27824+h>>0]|0;Xc[c[f+25796+(i<<2)>>2]&255](s,c[n>>2]<<l&32768,c[p>>2]<<l&16384,L);switch($<<24>>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){Wc[k&1023](s,g+28560+(h<<w<<1)|0,L);break g}break}default:h=l<<4}Wc[j&1023](s,g+28560+(h<<w<<1)|0,L)}while(0);l=l+4|0}}if(P){l=c[f+144>>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=3-L|0;r=3-((L|0)/2|0)|0;s=4<<w;t=0-L|0;u=g+28560|0;m=0;while(1){if((m|0)==16)break f;v=K+(c[Q+(m<<2)>>2]|0)|0;i=d[209023+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(P?(h<<24>>24<2?(c[(c[S>>2]|0)+4>>2]|0)==244:0):0)Wc[c[f+25924+(j<<2)>>2]&1023](v,g+28560+(m<<4<<w<<1)|0,L);else{do if((h|4)<<24>>24==7){if(c[n>>2]&32768>>>m|0){h=v+s+t|0;break}if(p){c[X>>2]=H(d[v+q>>0]|0,16843009)|0;h=X;break}else{_=sY(e[v+(r<<1)>>1]|0,0,65537,65537)|0;$=M()|0;h=A;c[h>>2]=_;c[h+4>>2]=$;h=A;break}}else h=0;while(0);Wc[c[f+25736+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)U=126;else Wc[l&1023](v,g+28560+(h<<w<<1)|0,L);break}default:{h=m<<4;U=126}}if((U|0)==126){U=0;Wc[k&1023](v,g+28560+(h<<w<<1)|0,L)}}m=m+1|0}}while(0);i=c[z>>2]|0;if(i|0){v=c[V>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(W+1+v)|0;r=o+u|0;u=R+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<<v)+(s+(q*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=n+(-7<<v)|0;C=i;D=c[C+4>>2]|0;$=h;c[$>>2]=c[C>>2];c[$+4>>2]=D;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(l){h=j;k=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=0;break}else{U=h+8|0;k=U;h=c[k>>2]|0;k=c[k+4>>2]|0;i=i+8|0;_=i;$=c[_+4>>2]|0;c[U>>2]=c[_>>2];c[U+4>>2]=$;c[i>>2]=h;c[i+4>>2]=k;i=j;k=1<<v;j=n+k|0;h=c[i+4>>2]|0;i=c[i>>2]|0;U=152;break}}else{h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;k=1<<v;j=n+k|0;if(l){k=j;j=0}else U=152}while(0);if((U|0)==152){c[j>>2]=i;c[j+4>>2]=h;h=s+(t*96|0)+8|0;k=n+k+8|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1}_=k;c[_>>2]=i;c[_+4>>2]=h;h=(8<<v)+(s+(t*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=n+(9<<v)|0;C=i;D=c[C+4>>2]|0;$=h;c[$>>2]=c[C>>2];c[$+4>>2]=D;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){D=h+8|0;_=D;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;B=$;C=c[B+4>>2]|0;c[D>>2]=c[B>>2];c[D+4>>2]=C;c[$>>2]=Z;c[$+4>>2]=_}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?($=(c[m>>2]|0)+(h*96|0)|0,_=$,Z=c[_>>2]|0,_=c[_+4>>2]|0,E=n+(17<<v)|0,C=E,D=c[C+4>>2]|0,$,c[$>>2]=c[C>>2],c[$+4>>2]=D,$=E,c[$>>2]=Z,c[$+4>>2]=_,j):0){F=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=E+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}l=16<<v;if(p){h=s+(q*96|0)+l|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;k=-7<<v;i=r+k|0;E=i;F=c[E+4>>2]|0;$=h;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=h+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<v)+(s+(q*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=u+k|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){Z=i+8|0;$=Z;_=c[$>>2]|0;$=c[$+4>>2]|0;j=h+8|0;E=j;F=c[E+4>>2]|0;c[Z>>2]=c[E>>2];c[Z+4>>2]=F;c[j>>2]=_;c[j+4>>2]=$;j=1}else j=0}i=s+(t*96|0)+l|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=r+1+v|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<v)+(s+(t*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=u+1+v|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(T){ek(f,g,K,o,R,h,i,j,k,l,m);break}else{fk(f,g,K,o,R,h,i,j,k,l,m);break}}while(0);n=c[V>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!P)if(!h){Yc[c[f+116>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}else{Yc[c[f+120>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if((h|0)>=16)break h;if(a[(d[209023+h>>0]|0)+(g+27824)>>0]|0)Wc[j&1023](K+(c[Q+(h<<2)>>2]|0)|0,g+28560+(h<<4<<n<<1)|0,L);h=h+i|0}}if(!P){Yc[c[f+128>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}if((c[(c[S>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){Xc[c[f+25960+(J<<2)>>2]&255](K,Q,g+28560|0,L);break}j=(n|0)==0;k=g+28560|0;l=f+144|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[209023+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[k+(m<<2)>>2]|0;if(h|0)U=183}else U=183;if((U|0)==183){U=0;Wc[c[l>>2]&1023](K+(c[Q+(i<<2)>>2]|0)|0,g+28560+(m<<n<<1)|0,L)}i=i+1|0}}while(0);if(c[g+21856>>2]&48|0){c[X>>2]=o;h=X+4|0;c[h>>2]=R;i:do if(P){if((G?(c[(c[S>>2]|0)+4>>2]|0)==244:0)?(N=g+21656|0,O=c[N>>2]|0,(O+-1|0)>>>0<2):0){Xc[c[f+25948+(O<<2)>>2]&255](o,Q+64|0,g+28560+(256<<c[V>>2]<<1)|0,W);Xc[c[f+25948+(c[N>>2]<<2)>>2]&255](c[h>>2]|0,Q+128|0,g+28560+(512<<c[V>>2]<<1)|0,W);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=X+(o+-1<<2)|0;i=j;while(1){if((i|0)>=(m|0))break;k=c[V>>2]|0;l=i<<4;if(!(a[(d[209023+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)U=211}else U=211;if((U|0)==211){U=0;Wc[p&1023]((c[r>>2]|0)+(c[Q+(i<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}j:do if(T){n=j|8;i=m;while(1){if((i|0)>=(n|0))break j;j=i+4|0;k=c[V>>2]|0;l=i<<4;if(!(a[(d[209023+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)U=221}else U=221;if((U|0)==221){U=0;Wc[p&1023]((c[r>>2]|0)+(c[Q+(j<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}}while(0);o=o+1|0}}else{h=c[g+852>>2]|0;if(T){i=(c[g+856>>2]|0)+3|0;h=h+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)Vc[c[f+136>>2]&255](g+28560+(256<<c[V>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)Vc[c[f+136>>2]&255](g+28560+(512<<c[V>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);Yc[c[f+124>>2]&127](X,Q,g+28560|0,W,g+27824|0)}while(0)}}else{h=c[S>>2]|0;m=c[h+1184>>2]|0;if(!(c[V>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[S>>2]|0)+12>>2]|0)){i=1<<m+-1&255;h=0;while(1){if((h|0)==8)break c;$=H(h,W)|0;DY(o+$|0,i|0,8)|0;DY(R+$|0,i|0,8)|0;h=h+1|0}}else{i=(c[i>>2]|0)+256|0;j=i+(t<<3)|0;h=0;while(1){if((h|0)>=(t|0))break c;$=H(h,W)|0;_=h<<3;Z=i+_|0;V=Z;V=d[V>>0]|d[V+1>>0]<<8|d[V+2>>0]<<16|d[V+3>>0]<<24;Z=Z+4|0;Z=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;X=o+$|0;g=X;a[g>>0]=V;a[g+1>>0]=V>>8;a[g+2>>0]=V>>16;a[g+3>>0]=V>>24;X=X+4|0;a[X>>0]=Z;a[X+1>>0]=Z>>8;a[X+2>>0]=Z>>16;a[X+3>>0]=Z>>24;_=j+_|0;X=_;X=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;_=_+4|0;_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;$=R+$|0;Z=$;a[Z>>0]=X;a[Z+1>>0]=X>>8;a[Z+2>>0]=X>>16;a[Z+3>>0]=X>>24;$=$+4|0;a[$>>0]=_;a[$+1>>0]=_>>8;a[$+2>>0]=_>>16;a[$+3>>0]=_>>24;h=h+1|0}}}ck(X,c[g+27780>>2]|0,H(m,e[176292+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;b[j+(h<<1)>>1]=dk(X,m)|0;h=h+1|0}i=i+1|0}k:do if(!(c[(c[S>>2]|0)+12>>2]|0)){j=1<<m+-1&65535;i=0;while(1){if((i|0)>=(t|0))break k;l=H(i,W)|0;k=o+l|0;l=R+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(t|0)){i=0;break}j=o+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=dk(X,m)|0;h=h+1|0}i=i+1|0}while(1){if((i|0)>=(t|0))break k;j=R+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=dk(X,m)|0;h=h+1|0}i=i+1|0}}while(0)}while(0);Gc=Y;return}function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function dk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function ek(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Wc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Wc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;kk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);kk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;kk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);kk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;kk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);kk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;kk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);kk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;kk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else kk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else kk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Wc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Wc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function fk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Wc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Wc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;hk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);hk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;hk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);hk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;hk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);hk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;hk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);hk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;hk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else hk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else hk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Wc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Wc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function gk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Gc;Gc=Gc+208|0;s=u+8|0;t=u;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;DY(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){ik(a,d,s,0,8,0,f&4096,f&16384,t);ik(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){ik(a,d,s,0,16,0,f&4096,f&16384,t);ik(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;ik(a,d,s,h,4,i,q,r,t);ik(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(!(f&32))f=0;else{ik(a,d,s,h,8,i,j,k,t);ik(a,d,s,h|1,8,i,j,k,t);break}while(1){if((f|0)==4)break b;ik(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else ik(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else ik(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+27008|0;r=d+21832|0;p=a+26380|0;f=c[d+23412>>2]|0;c:while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if((m|0)>=48)continue c;h=c[n>>2]|0;if(!h)continue c;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<<c[r>>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;Wh(j+4|0,(a|0)<(l|0)?a:o,1);Wh((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;Wh(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){Wh(h,g,0);break}else{Wh(h,g,o);break}}while(0);m=m+1|0}}Gc=u;return}function hk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;N=f+880|0;x=c[N>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){V=d[209023+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+V>>0]|0)*384|0)+(a[f+28312+V>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=44;else{P=x;x=5}}else if((x|0)==1){y=f+21792|0;P=y;y=c[y>>2]|0;x=5}else x=44;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;L=c[u>>2]|0;K=c[u+4>>2]|0;O=c[e+25664>>2]|0;V=f+21780|0;s=c[V>>2]|0;S=k+((H(o<<1,s)|0)+(n<<1<<O))|0;T=i>>1;U=f+21784|0;x=c[U>>2]|0;Q=(H(x,o)|0)+(n<<O)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;M=f+21828|0;n=c[M>>2]|0;y=(y>>n<<3)+o|0;if(!(z&A)){B=A&1;z=d[209023+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;k=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;v=z<<2&12|k&3;x=k>>2;y=z>>2;t=(H(y,s)|0)+(x<<O)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;u=m<<4;A=c[e+27008>>2]<<4>>n;n=k&7;N=(n|0)==0?0:-3;g=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(y|0)<(0-g|0))?(x+16|0)<=(N+u|0):0)?(y+16|0)<=(A+g|0):0){l=0;y=s}else{g=f+27792|0;l=2<<O;ad[c[e+8>>2]&3](c[g>>2]|0,t+(0-l)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+l+(y<<1)|0;l=1}x=p+(v<<2)|0;Wc[c[x>>2]&1023](S,t,y);if(!h)Wc[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){z=(1-(c[f+23416+(B*1920|0)+(o*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(A>>1|0)}k=k>>3;v=k<<O;y=z>>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+v+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+v+x|0;v=f+27792|0;if(!l){y=z&7;Zc[q&63](R,u,t,T,n,y)}else{j=A>>1;h=m<<3;O=e+8|0;ad[c[O>>2]&3](c[v>>2]|0,u,t,t,9,9,k,y,h,j);e=z&7;Zc[q&63](R,c[v>>2]|0,c[U>>2]|0,T,n,e);P=c[U>>2]|0;ad[c[O>>2]&3](c[v>>2]|0,x,P,P,9,9,k,y,h,j);x=c[v>>2]|0;y=e}Zc[q&63](Q,x,c[U>>2]|0,T,n,y);Zc[D&63](S,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;Zc[C&63](R,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Zc[C&63](Q,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}I=c[f+27788>>2]|0;J=I+(16<<O)|0;G=I+(x<<4)|0;C=d[209023+g>>0]|0;w=a[f+28272+C>>0]|0;F=a[f+28312+C>>0]|0;o=t<<3;z=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;l=B+(b[f+27952+(C<<2)+2>>1]|0)|0;v=l<<2&12|z&3;x=z>>2;y=l>>2;t=(H(y,s)|0)+(x<<O)|0;t=(c[f+23416+(w*40|0)>>2]|0)+t|0;E=e+27012|0;m=c[E>>2]|0;u=m<<4;r=e+27008|0;A=c[r>>2]<<4>>n;n=z&7;D=(n|0)==0?0:-3;g=(l&7|0)==0?0:-3;if((!((x|0)<(0-D|0)|(y|0)<(0-g|0))?(x+16|0)<=(D+u|0):0)?(y+16|0)<=(A+g|0):0){k=0;y=s}else{g=f+27792|0;k=2<<O;ad[c[e+8>>2]&3](c[g>>2]|0,t+(0-k)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Wc[c[x>>2]&1023](S,t,y);D=(h|0)!=0;if(!D)Wc[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+23416+(w*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;h=l>>3;k=h>>>31|k|(h+8|0)>=(A>>1|0)}y=z>>3;s=y<<O;t=l>>3;u=c[U>>2]|0;x=H(u,t)|0;v=(c[f+23416+(w*40|0)+4>>2]|0)+s+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+s+x|0;s=f+27792|0;if(!k){y=l&7;Zc[q&63](R,v,u,T,n,y)}else{g=A>>1;m=m<<3;z=e+8|0;ad[c[z>>2]&3](c[s>>2]|0,v,u,u,9,9,y,t,m,g);h=l&7;Zc[q&63](R,c[s>>2]|0,c[U>>2]|0,T,n,h);A=c[U>>2]|0;ad[c[z>>2]&3](c[s>>2]|0,x,A,A,9,9,y,t,m,g);x=c[s>>2]|0;y=h}Zc[q&63](Q,x,c[U>>2]|0,T,n,y);A=o+(b[f+28112+(C<<2)>>1]|0)|0;l=B+(b[f+28112+(C<<2)+2>>1]|0)|0;z=l<<2&12|A&3;u=A>>2;v=l>>2;y=c[V>>2]|0;t=(H(v,y)|0)+(u<<O)|0;t=(c[f+25336+(F*40|0)>>2]|0)+t|0;n=c[E>>2]|0;x=n<<4;m=c[r>>2]<<4>>c[M>>2];o=A&7;g=(o|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(v|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(v+16|0)<=(m+h|0):0)k=0;else{k=2<<O;ad[c[e+8>>2]&3](c[s>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,x,m);y=c[V>>2]|0;t=(c[s>>2]|0)+k+(y<<1)|0;k=1}x=p+(z<<2)|0;Wc[c[x>>2]&1023](G,t,y);if(!D)Wc[c[x>>2]&1023](G+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+25336+(F*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;j=l>>3;k=j>>>31|k|(j+8|0)>=(m>>1|0)}v=A>>3;j=v<<O;y=l>>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+25336+(F*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(F*40|0)+8>>2]|0)+j+x|0;if(!k){y=l&7;Zc[q&63](I,u,t,T,o,y)}else{j=m>>1;h=n<<3;g=e+8|0;ad[c[g>>2]&3](c[s>>2]|0,u,t,t,9,9,v,y,h,j);e=l&7;Zc[q&63](I,c[s>>2]|0,c[U>>2]|0,T,o,e);O=c[U>>2]|0;ad[c[g>>2]&3](c[s>>2]|0,x,O,O,9,9,v,y,h,j);x=c[s>>2]|0;y=e}Zc[q&63](J,x,c[U>>2]|0,T,o,y);if((c[N>>2]|0)==2){e=c[f+3216+(w*384|0)+(F<<3)+((c[P>>2]&1)<<2)>>2]|0;f=64-e|0;_c[L&31](S,G,c[V>>2]|0,i,5,e,f,0);_c[K&31](R,I,c[U>>2]|0,T,5,e,f,0);_c[K&31](Q,J,c[U>>2]|0,T,5,e,f,0);break}else{_c[L&31](S,G,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(F<<4)+8>>2]|0,(c[f+912+(F<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);i=f+892|0;_c[K&31](R,I,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(F<<5)+16>>2]|0,(c[f+1680+(F<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);_c[K&31](Q,J,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(F<<5)+24>>2]|0,(c[f+1680+(F<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==44){K=c[e+25664>>2]|0;J=f+21780|0;y=c[J>>2]|0;I=k+((H(o<<1,y)|0)+(n<<1<<K))|0;N=f+21784|0;M=(H(c[N>>2]|0,o)|0)+(n<<K)|0;L=l+M|0;M=m+M|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21792|0;G=f+21828|0;x=c[G>>2]|0;E=(c[F>>2]>>x<<3)+o|0;if(v){z=d[209023+g>>0]|0;n=a[f+28272+z>>0]|0;m=(D<<3)+(b[f+27952+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+27952+(z<<2)+2>>1]|0)|0;A=z<<2&12|m&3;u=m>>2;v=z>>2;t=(H(v,y)|0)+(u<<K)|0;t=(c[f+23416+(n*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;k=B<<4;o=c[e+27008>>2]<<4>>x;C=m&7;U=(C|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((u|0)<(0-U|0)|(v|0)<(0-V|0))?(u+16|0)<=(U+k|0):0)?(v+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<K;ad[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,k,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(A<<2)|0;Wc[c[x>>2]&1023](I,t,y);if(!h)Wc[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+23416+(n*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;V=z>>3;l=V>>>31|l|(V+8|0)>=(o>>1|0)}t=m>>3;y=t<<K;u=z>>3;v=c[N>>2]|0;x=H(v,u)|0;k=(c[f+23416+(n*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(n*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Zc[q&63](L,k,v,y,C,t)}else{T=o>>1;S=B<<3;Q=e+8|0;ad[c[Q>>2]&3](c[y>>2]|0,k,v,v,9,9,t,u,S,T);U=i>>1;V=z&7;Zc[q&63](L,c[y>>2]|0,c[N>>2]|0,U,C,V);R=c[N>>2]|0;ad[c[Q>>2]&3](c[y>>2]|0,x,R,R,9,9,t,u,S,T);x=c[y>>2]|0;y=U;t=V}Zc[q&63](M,x,c[N>>2]|0,y,C,t);q=s;p=r}if(w|0){z=d[209023+g>>0]|0;m=a[f+28312+z>>0]|0;A=(D<<3)+(b[f+28112+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+28112+(z<<2)+2>>1]|0)|0;k=z<<2&12|A&3;x=A>>2;u=z>>2;y=c[J>>2]|0;t=(H(u,y)|0)+(x<<K)|0;t=(c[f+25336+(m*40|0)>>2]|0)+t|0;n=c[e+27012>>2]|0;v=n<<4;o=c[e+27008>>2]<<4>>c[G>>2];B=A&7;U=(B|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((x|0)<(0-U|0)|(u|0)<(0-V|0))?(x+16|0)<=(v+U|0):0)?(u+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<K;ad[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,x+-2|0,u+-2|0,v,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(k<<2)|0;Wc[c[x>>2]&1023](I,t,y);if(!h)Wc[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+25336+(m*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(o>>1|0)}k=A>>3;y=k<<K;t=z>>3;u=c[N>>2]|0;x=H(u,t)|0;v=(c[f+25336+(m*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(m*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Zc[q&63](L,v,u,y,B,t)}else{j=o>>1;h=n<<3;V=e+8|0;ad[c[V>>2]&3](c[y>>2]|0,v,u,u,9,9,k,t,h,j);f=i>>1;i=z&7;Zc[q&63](L,c[y>>2]|0,c[N>>2]|0,f,B,i);e=c[N>>2]|0;ad[c[V>>2]&3](c[y>>2]|0,x,e,e,9,9,k,t,h,j);x=c[y>>2]|0;y=f;t=i}Zc[q&63](M,x,c[N>>2]|0,y,B,t)}}while(0);return}function ik(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[209023+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=jk(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[209023+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=jk(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function jk(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[209023+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+(g&3|0?3:0)|0;return ((g|0)>0?g:0)|0}function kk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;x=c[O>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){U=d[209023+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=38;else{N=x;x=5}}else if((x|0)==1){y=f+21792|0;N=y;y=c[y>>2]|0;x=5}else x=38;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25664>>2]|0;Q=o<<1;U=f+21780|0;E=c[U>>2]|0;S=k+((H(E,Q)|0)+(n<<1<<P))|0;T=f+21784|0;x=c[T>>2]|0;Q=(H(x,Q)|0)+(n<<P)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;r=f+21828|0;l=c[r>>2]|0;y=(y>>l<<3)+o|0;if(!(z&A)){B=A&1;z=d[209023+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;v=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;u=z<<2&12|v&3;x=v>>2;A=z>>2;t=(H(A,E)|0)+(x<<P)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;y=m<<4;l=c[e+27008>>2]<<4>>l;n=v&7;N=(n|0)==0?0:-3;O=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(A|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(A+16|0)<=(l+O|0):0){k=0;y=E}else{O=f+27792|0;k=2<<P;ad[c[e+8>>2]&3](c[O>>2]|0,t+(0-k)+(0-(E<<1))|0,E,E,21,21,x+-2|0,A+-2|0,y,l);y=c[U>>2]|0;t=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;Wc[c[x>>2]&1023](S,t,y);if(!h)Wc[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);v=v>>3;u=v<<P;y=c[T>>2]|0;x=H(y,A)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+u+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+u+x|0;u=f+27792|0;if(!k){e=z<<1&6;Zc[q&63](R,t,y,i,n,e);y=e}else{j=m<<3;h=e+8|0;ad[c[h>>2]&3](c[u>>2]|0,t,y,y,9,17,v,A,j,l);y=z<<1&6;Zc[q&63](R,c[u>>2]|0,c[T>>2]|0,i,n,y);e=c[T>>2]|0;ad[c[h>>2]&3](c[u>>2]|0,x,e,e,9,17,v,A,j,l);x=c[u>>2]|0}Zc[q&63](Q,x,c[T>>2]|0,i,n,y);Zc[D&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;Zc[C&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Zc[C&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;C=d[209023+g>>0]|0;w=a[f+28272+C>>0]|0;G=a[f+28312+C>>0]|0;o=t<<3;k=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;m=B+(b[f+27952+(C<<2)+2>>1]|0)|0;u=m<<2&12|k&3;x=k>>2;z=m>>2;y=(H(z,E)|0)+(x<<P)|0;y=(c[f+23416+(w*40|0)>>2]|0)+y|0;D=e+27012|0;A=c[D>>2]|0;t=A<<4;s=e+27008|0;l=c[s>>2]<<4>>l;n=k&7;F=(n|0)==0?0:-3;g=(m&7|0)==0?0:-3;if((!((x|0)<(0-F|0)|(z|0)<(0-g|0))?(x+16|0)<=(F+t|0):0)?(z+16|0)<=(l+g|0):0){t=y;v=0;y=E}else{g=f+27792|0;v=2<<P;ad[c[e+8>>2]&3](c[g>>2]|0,y+(0-v)+(0-(E<<1))|0,E,E,21,21,x+-2|0,z+-2|0,t,l);y=c[U>>2]|0;t=(c[g>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;Wc[c[x>>2]&1023](S,t,y);E=(h|0)!=0;if(!E)Wc[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);y=k>>3;F=y<<P;t=c[T>>2]|0;x=H(t,z)|0;u=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!v){y=m<<1&6;Zc[q&63](R,u,t,i,n,y)}else{g=A<<3;A=e+8|0;ad[c[A>>2]&3](c[F>>2]|0,u,t,t,9,17,y,z,g,l);h=m<<1&6;Zc[q&63](R,c[F>>2]|0,c[T>>2]|0,i,n,h);m=c[T>>2]|0;ad[c[A>>2]&3](c[F>>2]|0,x,m,m,9,17,y,z,g,l);x=c[F>>2]|0;y=h}Zc[q&63](Q,x,c[T>>2]|0,i,n,y);z=o+(b[f+28112+(C<<2)>>1]|0)|0;n=B+(b[f+28112+(C<<2)+2>>1]|0)|0;k=n<<2&12|z&3;u=z>>2;o=n>>2;y=c[U>>2]|0;t=(H(o,y)|0)+(u<<P)|0;t=(c[f+25336+(G*40|0)>>2]|0)+t|0;A=c[D>>2]|0;x=A<<4;l=c[s>>2]<<4>>c[r>>2];m=z&7;g=(m|0)==0?0:-3;h=(n&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(o|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(o+16|0)<=(l+h|0):0)v=0;else{v=2<<P;ad[c[e+8>>2]&3](c[F>>2]|0,t+(0-v)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,x,l);y=c[U>>2]|0;t=(c[F>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;Wc[c[x>>2]&1023](I,t,y);if(!E)Wc[c[x>>2]&1023](I+j|0,t+j|0,c[U>>2]|0);u=z>>3;j=u<<P;y=c[T>>2]|0;x=H(y,o)|0;t=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=n<<1&6;Zc[q&63](J,t,y,i,m,e);y=e}else{j=A<<3;h=e+8|0;ad[c[h>>2]&3](c[F>>2]|0,t,y,y,9,17,u,o,j,l);y=n<<1&6;Zc[q&63](J,c[F>>2]|0,c[T>>2]|0,i,m,y);e=c[T>>2]|0;ad[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,u,o,j,l);x=c[F>>2]|0}Zc[q&63](K,x,c[T>>2]|0,i,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;_c[M&31](S,I,c[U>>2]|0,i,5,e,f,0);_c[L&31](R,J,c[T>>2]|0,i,5,e,f,0);_c[L&31](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{_c[M&31](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;_c[L&31](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);_c[L&31](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==38){J=c[e+25664>>2]|0;L=o<<1;I=f+21780|0;y=c[I>>2]|0;G=k+((H(y,L)|0)+(n<<1<<J))|0;M=f+21784|0;L=(H(c[M>>2]|0,L)|0)+(n<<J)|0;K=l+L|0;L=m+L|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;x=c[F>>2]|0;E=(c[f+21792>>2]>>x<<3)+o|0;if(v){n=d[209023+g>>0]|0;A=a[f+28272+n>>0]|0;l=(D<<3)+(b[f+27952+(n<<2)>>1]|0)|0;n=(E<<3)+(b[f+27952+(n<<2)+2>>1]|0)|0;k=n<<2&12|l&3;u=l>>2;o=n>>2;t=(H(o,y)|0)+(u<<J)|0;t=(c[f+23416+(A*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;v=B<<4;m=c[e+27008>>2]<<4>>x;C=l&7;T=(C|0)==0?0:-3;U=(n&7|0)==0?0:-3;if((!((u|0)<(0-T|0)|(o|0)<(0-U|0))?(u+16|0)<=(T+v|0):0)?(o+16|0)<=(m+U|0):0)z=0;else{U=f+27792|0;z=2<<J;ad[c[e+8>>2]&3](c[U>>2]|0,t+(0-z)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,v,m);y=c[I>>2]|0;t=(c[U>>2]|0)+z+(y<<1)|0;z=1}x=p+(k<<2)|0;Wc[c[x>>2]&1023](G,t,y);if(!h)Wc[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);t=l>>3;y=t<<J;u=c[M>>2]|0;x=H(u,o)|0;v=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!z){y=n<<1&6;Zc[q&63](K,v,u,i,C,y)}else{T=B<<3;R=e+8|0;ad[c[R>>2]&3](c[y>>2]|0,v,u,u,9,17,t,o,T,m);U=n<<1&6;Zc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,C,U);S=c[M>>2]|0;ad[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,t,o,T,m);x=c[y>>2]|0;y=U}Zc[q&63](L,x,c[M>>2]|0,i,C,y);q=s;p=r}if(w|0){m=d[209023+g>>0]|0;A=a[f+28312+m>>0]|0;l=(D<<3)+(b[f+28112+(m<<2)>>1]|0)|0;m=(E<<3)+(b[f+28112+(m<<2)+2>>1]|0)|0;v=m<<2&12|l&3;x=l>>2;n=m>>2;y=c[I>>2]|0;t=(H(n,y)|0)+(x<<J)|0;t=(c[f+25336+(A*40|0)>>2]|0)+t|0;o=c[e+27012>>2]|0;u=o<<4;z=c[e+27008>>2]<<4>>c[F>>2];B=l&7;T=(B|0)==0?0:-3;U=(m&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(n|0)<(0-U|0))?(x+16|0)<=(u+T|0):0)?(n+16|0)<=(z+U|0):0)k=0;else{U=f+27792|0;k=2<<J;ad[c[e+8>>2]&3](c[U>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,n+-2|0,u,z);y=c[I>>2]|0;t=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Wc[c[x>>2]&1023](G,t,y);if(!h)Wc[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);v=l>>3;y=v<<J;t=c[M>>2]|0;x=H(t,n)|0;u=(c[f+25336+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=m<<1&6;Zc[q&63](K,u,t,i,B,y)}else{j=o<<3;h=e+8|0;ad[c[h>>2]&3](c[y>>2]|0,u,t,t,9,17,v,n,j,z);f=m<<1&6;Zc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,B,f);e=c[M>>2]|0;ad[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,v,n,j,z);x=c[y>>2]|0;y=f}Zc[q&63](L,x,c[M>>2]|0,i,B,y)}}while(0);return}function lk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)gk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<<p)+(64<<p)+(H((c[f+21792>>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;Wc[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);Wc[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);Wc[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;mk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);mk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}A=f+21780|0;if(D&32|0){w=j+64|0;x=k+4|0;y=l+64|0;z=m+4|0;B=n+4|0;C=o+4|0;mk(d,f,0,0,16,c[A>>2]<<3,g,h,i,0,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&4096,D&16384);mk(d,f,4,0,16,c[A>>2]<<3,g,h,i,4,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&8192,D&32768);break}B=j+128|0;C=k+8|0;w=l+128|0;x=m+8|0;y=n+8|0;z=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;mk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);mk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;mk(d,f,n,0,8,c[A>>2]<<2,g,h,i,o,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);mk(d,f,n|1,0,8,c[A>>2]<<2,g,h,i,o|2,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;mk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,l,q);p=p+1|0}}else mk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else mk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<<E)+(64<<E)+(H((c[f+21792>>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;Wc[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);Wc[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);Wc[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function mk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;q=c[L>>2]|0;x=(v|0)!=0;y=(w|0)!=0;if(y&(x&(q|0)==2)){Q=d[209023+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=59;else{K=q;q=5}}else if((q|0)==1){s=f+21792|0;K=s;s=c[s>>2]|0;q=5}else q=59;do if((q|0)==5){z=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25664>>2]|0;Q=f+21780|0;w=c[Q>>2]|0;N=(H(o<<1,w)|0)+(n<<1<<M)|0;P=k+N|0;O=l+N|0;N=m+N|0;t=(c[f+21788>>2]<<3)+n|0;B=f+21828|0;u=c[B>>2]|0;q=(s>>u<<3)+o|0;if(!(x&y)){o=y&1;L=d[209023+g>>0]|0;n=a[f+28272+(o*40|0)+L>>0]|0;K=(t<<3)+(b[f+27952+(o*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(o*160|0)+(L<<2)+2>>1]|0)|0;t=L<<2&12|K&3;y=K>>2;l=L>>2;v=(H(l,w)|0)+(y<<M)|0;q=(c[f+23416+(o*1920|0)+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>u;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(l|0)<(0-L|0))?(y+16|0)<=(K+m|0):0)?(l+16|0)<=(k+L|0):0){u=0;s=w}else{L=f+27792|0;u=2<<M;ad[c[e+8>>2]&3](c[L>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Wc[c[x>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)Wc[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[x>>2]&1023](O,q,s);if(!p)Wc[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+8>>2]|0)+v|0;if(t){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[x>>2]&1023](N,q,s);if(!p)Wc[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);Zc[z&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(n<<4)+(o<<3)>>2]|0,c[f+912+(n<<4)+(o<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;Zc[z&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)>>2]|0,c[f+1680+(n<<5)+(o<<4)+4>>2]|0);Zc[z&63](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)+8>>2]|0,c[f+1680+(n<<5)+(o<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<<M)|0;G=f+21784|0;I=E+(c[G>>2]<<4)|0;z=d[209023+g>>0]|0;C=a[f+28272+z>>0]|0;D=a[f+28312+z>>0]|0;o=t<<3;x=o+(b[f+27952+(z<<2)>>1]|0)|0;n=q<<3;g=n+(b[f+27952+(z<<2)+2>>1]|0)|0;t=g<<2&12|x&3;l=x>>2;m=g>>2;k=(H(m,w)|0)+(l<<M)|0;q=(c[f+23416+(C*40|0)>>2]|0)+k|0;A=e+27012|0;y=c[A>>2]<<4;r=e+27008|0;v=c[r>>2]<<4>>u;x=(x&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((l|0)<(0-x|0)|(m|0)<(0-g|0))?(l+16|0)<=(x+y|0):0)?(m+16|0)<=(v+g|0):0){u=0;s=w}else{g=f+27792|0;u=2<<M;ad[c[e+8>>2]&3](c[g>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Wc[c[x>>2]&1023](P,q,s);w=(h|0)!=0;if(!w)Wc[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[x>>2]&1023](O,q,s);if(!w)Wc[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+8>>2]|0)+k|0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[x>>2]&1023](N,q,s);if(!w)Wc[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=o+(b[f+28112+(z<<2)>>1]|0)|0;h=n+(b[f+28112+(z<<2)+2>>1]|0)|0;u=h<<2&12|g&3;y=g>>2;l=h>>2;q=c[Q>>2]|0;v=(H(l,q)|0)+(y<<M)|0;s=(c[f+25336+(D*40|0)>>2]|0)+v|0;k=c[A>>2]<<4;x=c[r>>2]<<4>>c[B>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(l|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(l+16|0)<=(x+h|0):0)t=0;else{h=f+27792|0;t=2<<M;ad[c[e+8>>2]&3](c[h>>2]|0,s+(0-t)+(0-(q<<1))|0,q,q,21,21,y+-2|0,l+-2|0,k,x);q=c[Q>>2]|0;s=(c[h>>2]|0)+t+(q<<1)|0;t=1}u=p+(u<<2)|0;Wc[c[u>>2]&1023](I,s,q);if(!w)Wc[c[u>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;t=(t|0)!=0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[u>>2]&1023](E,q,s);if(!w)Wc[c[u>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;ad[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Wc[c[u>>2]&1023](F,q,s);if(!w)Wc[c[u>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(C*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;_c[J&31](P,I,c[Q>>2]|0,i,5,f,j,0);_c[J&31](O,E,c[G>>2]|0,i,5,f,j,0);_c[J&31](N,F,c[G>>2]|0,i,5,f,j,0);break}else{_c[J&31](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(C<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(C<<4)+4>>2]|0)|0);j=f+892|0;_c[J&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(C<<5)+4>>2]|0)|0);_c[J&31](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(C<<5)+12>>2]|0)|0);break}}else if((q|0)==59){E=c[e+25664>>2]|0;F=f+21780|0;x=c[F>>2]|0;D=(H(o<<1,x)|0)+(n<<1<<E)|0;B=k+D|0;C=l+D|0;D=m+D|0;z=(c[f+21788>>2]<<3)+n|0;A=f+21828|0;s=c[A>>2]|0;o=(c[f+21792>>2]>>s<<3)+o|0;if(v){i=d[209023+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(z<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;l=Q>>2;m=i>>2;k=(H(m,x)|0)+(l<<E)|0;q=(c[f+23416+(v*40|0)>>2]|0)+k|0;n=c[e+27012>>2]<<4;y=c[e+27008>>2]<<4>>s;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((l|0)<(0-Q|0)|(m|0)<(0-i|0))?(l+16|0)<=(Q+n|0):0)?(m+16|0)<=(y+i|0):0){u=0;s=x}else{i=f+27792|0;u=2<<E;ad[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(x<<1))|0,x,x,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Wc[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Wc[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;ad[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Wc[c[x>>2]&1023](C,q,s);if(!p)Wc[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;ad[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Wc[c[x>>2]&1023](D,q,s);if(p)p=r;else{Wc[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0);p=r}}if(w|0){i=d[209023+g>>0]|0;n=a[f+28312+i>>0]|0;Q=(z<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;y=Q>>2;l=i>>2;s=c[F>>2]|0;v=(H(l,s)|0)+(y<<E)|0;q=(c[f+25336+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>c[A>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(l|0)<(0-i|0))?(y+16|0)<=(m+Q|0):0)?(l+16|0)<=(k+i|0):0)u=0;else{i=f+27792|0;u=2<<E;ad[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Wc[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Wc[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){i=f+27792|0;h=2<<E;s=c[F>>2]|0;ad[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[F>>2]|0;Wc[c[x>>2]&1023](C,q,s);if(!p)Wc[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+8>>2]|0)+v|0;if(t){h=f+27792|0;f=2<<E;s=c[F>>2]|0;ad[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[F>>2]|0;Wc[c[x>>2]&1023](D,q,s);if(!p)Wc[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0)}}while(0);return}function nk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26376>>2]|0){j=c[a+27016>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27016>>2]<<((c[a+26380>>2]|0)!=3&1))|0}while(0);i=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return rk(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function ok(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27016>>2]<<1)|0;return rk(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function pk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Gc;Gc=Gc+16|0;w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25972>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));v=g+21828|0;if(!(c[v>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){qk(f,g,h);tk(f,g,h)}Kj(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26368|0}else{k=h|14344;c[y>>2]=k;qk(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26368|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)i=0;else{u=251328;s=-1;m=16}else{i=c[g+21720>>2]|0;u=d[c[g+21748>>2]>>0]|0;j=a[p+((u&254)+(i<<2|1))>>0]|0;i=q+((H(r,u)|0)+3+(c[(c[f+26360>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))i=0;else{u=i;s=j;m=16}}do if((m|0)==16){l=c[g+21732>>2]|0;if(!(l&12288))if(!l){i=0;break}else{n=-1;o=251328}else{j=c[g+21712>>2]|0;i=a[p+(j<<2|2)>>0]|0;j=q+((c[(c[f+26360>>2]|0)+(j<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[j>>2]|i)){i=0;break}else{n=i;o=j}}j=c[g+21736>>2]|0;do if(!(j&12288))if((j|0)==0?(t=c[g+21728>>2]|0,(t&12288|0)!=0):0){l=c[g+21708>>2]|0;m=c[g+21752>>2]|0;i=a[p+(l<<2|m&2|1)>>0]|0;l=q+(r+3+(m&r<<1)+(c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[f+26376>>2]|0){j=(t&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}else{m=251328;i=-1}else{l=c[g+21716>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26376>>2]|0){j=(j&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}while(0);l=(n|0)!=0;j=(s|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=zk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=zk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[u+2>>1]|0;i=b[u>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=zk(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=zk(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);i=j<<16|i&65535}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26408>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26372>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;Gc=B;return} |
| | | function ij(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;sa=Gc;Gc=Gc+80|0;qa=sa+64|0;ma=sa;o=c[e+96>>2]|0;do if((o|0)!=0?(n=c[e+28212>>2]|0,(c[n+724>>2]|0)==0):0){da=c[e+25664>>2]|0;pa=c[e+28216>>2]|0;u=c[pa+12>>2]|0;ja=(u|0)!=0;la=(u|0)==3;u=(u|0)==2;V=c[f+21796>>2]|0;h=c[f+21740>>2]|0;ha=c[f+21732>>2]|0;pa=(H(c[pa+1184>>2]|0,-6)|0)+48|0;oa=(c[f+872>>2]|0)+52+pa|0;pa=(c[f+876>>2]|0)+52+pa|0;r=c[(c[e+24364>>2]|0)+(V<<2)>>2]|0;ia=c[e+24340>>2]|0;ka=a[ia+V>>0]|0;V=a[ia+(V+-1)>>0]|0;ia=a[ia+(c[f+21712>>2]|0)>>0]|0;na=d[n+548+ka>>0]|0;ga=ka+1|0;t=ga+V>>1;ga=ga+ia>>1;g=na+1|0;V=(g+(d[n+548+V>>0]|0)|0)>>>1;ia=(g+(d[n+548+ia>>0]|0)|0)>>>1;if(r&7|0){I=(c[e+26380>>2]|0)!=3?176300:176308;q=(h|0)!=0;if(q?(p=t+oa|0,s=t+pa|0,!(p>>>0<68|s>>>0<68)):0)Xc[c[e+64>>2]&255](i,l,d[196434+p>>0]|0,d[196278+s>>0]|0);f=(r&16777216|0)!=0;o=oa+ka|0;p=196434+o|0;n=pa+ka|0;h=196278+n|0;n=o>>>0<68|n>>>0<68;if(f){if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;DY(qa|0,a[196590+(o<<2)+3>>0]|0,4)|0;Yc[c[e+52>>2]&127](i+(8<<da)|0,l,ka,ma,qa)}do if(ha|0?(v=ga+oa|0,w=d[196434+v>>0]|0,ma=ga+pa|0,x=d[196278+ma>>0]|0,!(v>>>0<68|ma>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){Xc[c[e+60>>2]&255](i,l,w,x);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(v<<2))>>0]|0;a[qa+1>>0]=a[(b[I+2>>1]|0)+(196590+(v<<2))>>0]|0;a[qa+2>>0]=a[(b[I+4>>1]|0)+(196590+(v<<2))>>0]|0;a[qa+3>>0]=a[(b[I+6>>1]|0)+(196590+(v<<2))>>0]|0;Yc[c[e+48>>2]&127](i,l,w,x,qa);break}}while(0);if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;DY(qa|0,a[196590+(o<<2)+3>>0]|0,4)|0;Yc[c[e+48>>2]&127](i+(l<<3)|0,l,ka,ma,qa)}}else{if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;ea=a[196590+(o<<2)+3>>0]|0;fa=e+52|0;DY(qa|0,ea|0,4)|0;Yc[c[fa>>2]&127](i+(4<<da)|0,l,ka,ma,qa);DY(qa|0,ea|0,4)|0;Yc[c[fa>>2]&127](i+(8<<da)|0,l,ka,ma,qa);DY(qa|0,ea|0,4)|0;Yc[c[fa>>2]&127](i+(12<<da)|0,l,ka,ma,qa)}do if(ha|0?(y=ga+oa|0,z=d[196434+y>>0]|0,ma=ga+pa|0,A=d[196278+ma>>0]|0,!(y>>>0<68|ma>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){Xc[c[e+60>>2]&255](i,l,z,A);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(y<<2))>>0]|0;a[qa+1>>0]=a[(b[I+2>>1]|0)+(196590+(y<<2))>>0]|0;a[qa+2>>0]=a[(b[I+4>>1]|0)+(196590+(y<<2))>>0]|0;a[qa+3>>0]=a[(b[I+6>>1]|0)+(196590+(y<<2))>>0]|0;Yc[c[e+48>>2]&127](i,l,z,A,qa);break}}while(0);if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;fa=a[196590+(o<<2)+3>>0]|0;ga=e+48|0;DY(qa|0,fa|0,4)|0;Yc[c[ga>>2]&127](i+(l<<2)|0,l,ka,ma,qa);DY(qa|0,fa|0,4)|0;Yc[c[ga>>2]&127](i+(l<<3)|0,l,ka,ma,qa);DY(qa|0,fa|0,4)|0;Yc[c[ga>>2]&127](i+(l*12|0)|0,l,ka,ma,qa)}}if(!ja)break;if(la){if(q?(B=V+oa|0,C=V+pa|0,!(B>>>0<68|C>>>0<68)):0){m=d[196278+C>>0]|0;ma=d[196434+B>>0]|0;la=e+64|0;Xc[c[la>>2]&255](j,l,ma,m);Xc[c[la>>2]&255](k,l,ma,m)}if(f){g=8<<da;f=oa+na|0;o=196434+f|0;n=pa+na|0;h=196278+n|0;n=f>>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;na=d[o>>0]|0;la=a[196590+(f<<2)+3>>0]|0;ma=e+52|0;DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](j+g|0,l,na,m,qa);DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](k+g|0,l,na,m,qa)}do if(ha|0?(J=ia+oa|0,K=d[196434+J>>0]|0,pa=ia+pa|0,L=d[196278+pa>>0]|0,!(J>>>0<68|pa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){pa=e+60|0;Xc[c[pa>>2]&255](j,l,K,L);Xc[c[pa>>2]&255](k,l,K,L);break}else{ka=a[(g<<16>>16)+(196590+(J<<2))>>0]|0;a[qa>>0]=ka;i=a[(b[I+2>>1]|0)+(196590+(J<<2))>>0]|0;la=qa+1|0;a[la>>0]=i;ma=a[(b[I+4>>1]|0)+(196590+(J<<2))>>0]|0;na=qa+2|0;a[na>>0]=ma;m=a[(b[I+6>>1]|0)+(196590+(J<<2))>>0]|0;oa=qa+3|0;a[oa>>0]=m;pa=e+48|0;Yc[c[pa>>2]&127](j,l,K,L,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[oa>>0]=m;Yc[c[pa>>2]&127](k,l,K,L,qa);break}}while(0);g=l<<3;if(n)break;pa=d[h>>0]|0;oa=d[o>>0]|0;m=a[196590+(f<<2)+3>>0]|0;e=e+48|0;DY(qa|0,m|0,4)|0;Yc[c[e>>2]&127](j+g|0,l,oa,pa,qa);DY(qa|0,m|0,4)|0;Yc[c[e>>2]&127](k+g|0,l,oa,pa,qa);break}else{g=4<<da;f=oa+na|0;o=196434+f|0;n=pa+na|0;h=196278+n|0;n=f>>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;na=d[o>>0]|0;i=a[196590+(f<<2)+3>>0]|0;la=e+52|0;DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](j+g|0,l,na,m,qa);DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](k+g|0,l,na,m,qa);ma=8<<da;DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](j+ma|0,l,na,m,qa);DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](k+ma|0,l,na,m,qa);ma=12<<da;DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](j+ma|0,l,na,m,qa);DY(qa|0,i|0,4)|0;Yc[c[la>>2]&127](k+ma|0,l,na,m,qa)}do if(ha|0?(M=ia+oa|0,N=d[196434+M>>0]|0,pa=ia+pa|0,O=d[196278+pa>>0]|0,!(M>>>0<68|pa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){pa=e+60|0;Xc[c[pa>>2]&255](j,l,N,O);Xc[c[pa>>2]&255](k,l,N,O);break}else{ka=a[(g<<16>>16)+(196590+(M<<2))>>0]|0;a[qa>>0]=ka;i=a[(b[I+2>>1]|0)+(196590+(M<<2))>>0]|0;la=qa+1|0;a[la>>0]=i;ma=a[(b[I+4>>1]|0)+(196590+(M<<2))>>0]|0;na=qa+2|0;a[na>>0]=ma;m=a[(b[I+6>>1]|0)+(196590+(M<<2))>>0]|0;oa=qa+3|0;a[oa>>0]=m;pa=e+48|0;Yc[c[pa>>2]&127](j,l,N,O,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[oa>>0]=m;Yc[c[pa>>2]&127](k,l,N,O,qa);break}}while(0);g=l<<2;if(n)break;pa=d[h>>0]|0;oa=d[o>>0]|0;na=a[196590+(f<<2)+3>>0]|0;m=e+48|0;DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](j+g|0,l,oa,pa,qa);DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](k+g|0,l,oa,pa,qa);e=l<<3;DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](j+e|0,l,oa,pa,qa);DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](k+e|0,l,oa,pa,qa);e=l*12|0;DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](j+e|0,l,oa,pa,qa);DY(qa|0,na|0,4)|0;Yc[c[m>>2]&127](k+e|0,l,oa,pa,qa);break}}if(u){if(q?(D=V+oa|0,E=V+pa|0,!(D>>>0<68|E>>>0<68)):0){l=d[196278+E>>0]|0;ma=d[196434+D>>0]|0;la=e+88|0;Xc[c[la>>2]&255](j,m,ma,l);Xc[c[la>>2]&255](k,m,ma,l)}g=4<<da;f=oa+na|0;o=196434+f|0;n=pa+na|0;h=196278+n|0;n=f>>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;na=d[o>>0]|0;la=(d[196590+(f<<2)+3>>0]|0)+1&255;ma=e+76|0;DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](j+g|0,m,na,l,qa);DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](k+g|0,m,na,l,qa)}do if(ha|0?(P=ia+oa|0,Q=d[196434+P>>0]|0,l=ia+pa|0,R=d[196278+l>>0]|0,!(P>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;Xc[c[l>>2]&255](j,m,Q,R);Xc[c[l>>2]&255](k,m,Q,R);break}else{ka=(d[(g<<16>>16)+(196590+(P<<2))>>0]|0)+1&255;a[qa>>0]=ka;i=(d[(b[I+2>>1]|0)+(196590+(P<<2))>>0]|0)+1&255;la=qa+1|0;a[la>>0]=i;ma=(d[(b[I+4>>1]|0)+(196590+(P<<2))>>0]|0)+1&255;na=qa+2|0;a[na>>0]=ma;oa=(d[(b[I+6>>1]|0)+(196590+(P<<2))>>0]|0)+1&255;pa=qa+3|0;a[pa>>0]=oa;l=e+72|0;Yc[c[l>>2]&127](j,m,Q,R,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[pa>>0]=oa;Yc[c[l>>2]&127](k,m,Q,R,qa);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;pa=d[o>>0]|0;na=(d[196590+(f<<2)+3>>0]|0)+1&255;oa=e+72|0;DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](j+g|0,m,pa,l,qa);DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](k+g|0,m,pa,l,qa);e=m<<3;DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](j+e|0,m,pa,l,qa);DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](k+e|0,m,pa,l,qa);e=m*12|0;DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](j+e|0,m,pa,l,qa);DY(qa|0,na|0,4)|0;Yc[c[oa>>2]&127](k+e|0,m,pa,l,qa);break}else{if(q?(F=V+oa|0,G=V+pa|0,!(F>>>0<68|G>>>0<68)):0){l=d[196278+G>>0]|0;ma=d[196434+F>>0]|0;la=e+88|0;Xc[c[la>>2]&255](j,m,ma,l);Xc[c[la>>2]&255](k,m,ma,l)}g=4<<da;f=oa+na|0;o=196434+f|0;n=pa+na|0;h=196278+n|0;n=f>>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;na=d[o>>0]|0;la=(d[196590+(f<<2)+3>>0]|0)+1&255;ma=e+76|0;DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](j+g|0,m,na,l,qa);DY(qa|0,la|0,4)|0;Yc[c[ma>>2]&127](k+g|0,m,na,l,qa)}do if(ha|0?(S=ia+oa|0,T=d[196434+S>>0]|0,l=ia+pa|0,U=d[196278+l>>0]|0,!(S>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;Xc[c[l>>2]&255](j,m,T,U);Xc[c[l>>2]&255](k,m,T,U);break}else{ka=(d[(g<<16>>16)+(196590+(S<<2))>>0]|0)+1&255;a[qa>>0]=ka;i=(d[(b[I+2>>1]|0)+(196590+(S<<2))>>0]|0)+1&255;la=qa+1|0;a[la>>0]=i;ma=(d[(b[I+4>>1]|0)+(196590+(S<<2))>>0]|0)+1&255;na=qa+2|0;a[na>>0]=ma;oa=(d[(b[I+6>>1]|0)+(196590+(S<<2))>>0]|0)+1&255;pa=qa+3|0;a[pa>>0]=oa;l=e+72|0;Yc[c[l>>2]&127](j,m,T,U,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[pa>>0]=oa;Yc[c[l>>2]&127](k,m,T,U,qa);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;pa=d[o>>0]|0;oa=(d[196590+(f<<2)+3>>0]|0)+1&255;e=e+72|0;DY(qa|0,oa|0,4)|0;Yc[c[e>>2]&127](j+g|0,m,pa,l,qa);DY(qa|0,oa|0,4)|0;Yc[c[e>>2]&127](k+g|0,m,pa,l,qa);break}}p=(r&16777216|0)!=0;g=c[f+21856>>2]|0;if(p?!(la|(g&7|0)!=7):0){o=ma;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+16|0;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+32|0;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+48|0;c[o>>2]=131074;c[o+4>>2]=131074;o=4}else{T=0-((r*5|0)>>>5&1)&3|r>>4;U=4-(0-(r>>>3&(g&15|0)==0)&3)|0;ad[o&3](ma,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,U,(r>>24)+1|0,0-((h*5|0)>>>5&1&T>>>1)&3,T,(c[e+26380>>2]|0)!=3&1);o=U}if(h&7|0){U=ma;c[U>>2]=262148;c[U+4>>2]=262148}if(ha&7|0){T=(c[e+26380>>2]|0)!=3;U=ma+32|0;c[U>>2]=T?196611:262148;c[U+4>>2]=T?196611:262148}do if(h|0?(U=ma,T=c[U>>2]|0,q=T&65535,!((T|0)==0&(c[U+4>>2]|0)==0)):0){h=t+oa|0;n=d[196434+h>>0]|0;U=t+pa|0;g=d[196278+U>>0]|0;do if(!(h>>>0<68|U>>>0<68))if(q<<16>>16>3){Xc[c[e+64>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(q<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+52>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=V+oa|0;f=d[196434+n>>0]|0;g=V+pa|0;h=d[196278+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[ma>>1]|0;if(g<<16>>16>3)Xc[c[e+64>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+52>>2]&127](j,l,f,h,qa)}g=b[ma>>1]|0;if(g<<16>>16>3){Xc[c[e+64>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+52>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[ma>>1]|0;if(g<<16>>16>3)Xc[c[e+88>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+2>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+4>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+6>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+76>>2]&127](j,m,f,h,qa)}g=b[ma>>1]|0;if(g<<16>>16>3){Xc[c[e+88>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+2>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+4>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+6>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+76>>2]&127](k,m,f,h,qa);break}}}}while(0);do if((o|0)==1){if(ha|0?(Y=ma+32|0,na=Y,ka=c[na>>2]|0,I=ka&65535,!((ka|0)==0&(c[na+4>>2]|0)==0)):0){h=ga+oa|0;n=d[196434+h>>0]|0;na=ga+pa|0;g=d[196278+na>>0]|0;do if(!(h>>>0<68|na>>>0<68))if(I<<16>>16>3){Xc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(I<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[196434+n>>0]|0;g=ia+pa|0;h=d[196278+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[Y>>1]|0;if(g<<16>>16>3)Xc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[Y>>1]|0;if(g<<16>>16>3){Xc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[Y>>1]|0;if(g<<16>>16>3)Xc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[Y>>1]|0;if(g<<16>>16>3){Xc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}}else{if(p){p=ma+16|0;fa=p;f=c[fa>>2]|0;do if(!((f|0)==0&(c[fa+4>>2]|0)==0)){g=1<<da;o=g<<3;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){fa=d[196278+n>>0]|0;ea=d[196434+h>>0]|0;a[qa>>0]=a[(f<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+18>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+20>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+22>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+52>>2]&127](i+o|0,l,ea,fa,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;fa=d[196278+h>>0]|0;ea=d[196434+g>>0]|0;a[qa>>0]=a[(b[p>>1]|0)+(196590+(g<<2))>>0]|0;X=ma+18|0;Y=qa+1|0;a[Y>>0]=a[(b[X>>1]|0)+(196590+(g<<2))>>0]|0;$=ma+20|0;aa=qa+2|0;a[aa>>0]=a[(b[$>>1]|0)+(196590+(g<<2))>>0]|0;ba=ma+22|0;ca=qa+3|0;a[ca>>0]=a[(b[ba>>1]|0)+(196590+(g<<2))>>0]|0;da=e+52|0;Yc[c[da>>2]&127](j+o|0,l,ea,fa,qa);a[qa>>0]=a[(b[p>>1]|0)+(196590+(g<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(196590+(g<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(196590+(g<<2))>>0]|0;a[ca>>0]=a[(b[ba>>1]|0)+(196590+(g<<2))>>0]|0;Yc[c[da>>2]&127](k+o|0,l,ea,fa,qa);break}else{g=g<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;fa=d[196278+n>>0]|0;ea=d[196434+h>>0]|0;a[qa>>0]=(d[(b[p>>1]|0)+(196590+(h<<2))>>0]|0)+1;X=ma+18|0;Y=qa+1|0;a[Y>>0]=(d[(b[X>>1]|0)+(196590+(h<<2))>>0]|0)+1;$=ma+20|0;aa=qa+2|0;a[aa>>0]=(d[(b[$>>1]|0)+(196590+(h<<2))>>0]|0)+1;ba=ma+22|0;ca=qa+3|0;a[ca>>0]=(d[(b[ba>>1]|0)+(196590+(h<<2))>>0]|0)+1;da=e+76|0;Yc[c[da>>2]&127](j+g|0,m,ea,fa,qa);a[qa>>0]=(d[(b[p>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[Y>>0]=(d[(b[X>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[aa>>0]=(d[(b[$>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[ca>>0]=(d[(b[ba>>1]|0)+(196590+(h<<2))>>0]|0)+1;Yc[c[da>>2]&127](k+g|0,m,ea,fa,qa);break}}while(0);do if(ha|0?(_=ma+32|0,ha=_,fa=c[ha>>2]|0,Z=fa&65535,!((fa|0)==0&(c[ha+4>>2]|0)==0)):0){h=ga+oa|0;n=d[196434+h>>0]|0;ha=ga+pa|0;g=d[196278+ha>>0]|0;do if(!(h>>>0<68|ha>>>0<68))if(Z<<16>>16>3){Xc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(Z<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[196434+n>>0]|0;g=ia+pa|0;h=d[196278+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)Xc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[_>>1]|0;if(g<<16>>16>3){Xc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)Xc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[_>>1]|0;if(g<<16>>16>3){Xc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}while(0);o=ma+48|0;ia=o;h=c[ia>>2]|0;if((h|0)==0&(c[ia+4>>2]|0)==0)break;f=l<<3;n=oa+ka|0;g=pa+ka|0;if(!(n>>>0<68|g>>>0<68)){ka=d[196278+g>>0]|0;ia=d[196434+n>>0]|0;a[qa>>0]=a[(h<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+50>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+52>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+54>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](i+f|0,l,ia,ka,qa)}if(!ja)break;if(la){h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;pa=d[196278+g>>0]|0;oa=d[196434+h>>0]|0;a[qa>>0]=a[(b[o>>1]|0)+(196590+(h<<2))>>0]|0;ja=ma+50|0;ka=qa+1|0;a[ka>>0]=a[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0;i=ma+52|0;la=qa+2|0;a[la>>0]=a[(b[i>>1]|0)+(196590+(h<<2))>>0]|0;na=ma+54|0;m=qa+3|0;a[m>>0]=a[(b[na>>1]|0)+(196590+(h<<2))>>0]|0;e=e+48|0;Yc[c[e>>2]&127](j+f|0,l,oa,pa,qa);a[qa>>0]=a[(b[o>>1]|0)+(196590+(h<<2))>>0]|0;a[ka>>0]=a[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0;a[la>>0]=a[(b[i>>1]|0)+(196590+(h<<2))>>0]|0;a[m>>0]=a[(b[na>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e>>2]&127](k+f|0,l,oa,pa,qa);break}else{n=m<<2;h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;l=d[196278+g>>0]|0;pa=d[196434+h>>0]|0;a[qa>>0]=(d[(b[o>>1]|0)+(196590+(h<<2))>>0]|0)+1;ja=ma+50|0;ka=qa+1|0;a[ka>>0]=(d[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0)+1;i=ma+52|0;la=qa+2|0;a[la>>0]=(d[(b[i>>1]|0)+(196590+(h<<2))>>0]|0)+1;na=ma+54|0;oa=qa+3|0;a[oa>>0]=(d[(b[na>>1]|0)+(196590+(h<<2))>>0]|0)+1;e=e+72|0;Yc[c[e>>2]&127](j+n|0,m,pa,l,qa);a[qa>>0]=(d[(b[o>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[ka>>0]=(d[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[la>>0]=(d[(b[i>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[oa>>0]=(d[(b[na>>1]|0)+(196590+(h<<2))>>0]|0)+1;Yc[c[e>>2]&127](k+n|0,m,pa,l,qa);break}}g=ma+8|0;_=g;h=c[_>>2]|0;if(!((h|0)==0&(c[_+4>>2]|0)==0)){n=4<<da;f=oa+ka|0;o=pa+ka|0;if(!(f>>>0<68|o>>>0<68)){_=d[196278+o>>0]|0;Z=d[196434+f>>0]|0;a[qa>>0]=a[(h<<16>>16)+(196590+(f<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+10>>1]|0)+(196590+(f<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+12>>1]|0)+(196590+(f<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+14>>1]|0)+(196590+(f<<2))>>0]|0;Yc[c[e+52>>2]&127](i+n|0,l,Z,_,qa)}if(la?(W=oa+na|0,X=pa+na|0,!(W>>>0<68|X>>>0<68)):0){_=d[196278+X>>0]|0;Z=d[196434+W>>0]|0;a[qa>>0]=a[(b[g>>1]|0)+(196590+(W<<2))>>0]|0;R=ma+10|0;S=qa+1|0;a[S>>0]=a[(b[R>>1]|0)+(196590+(W<<2))>>0]|0;T=ma+12|0;U=qa+2|0;a[U>>0]=a[(b[T>>1]|0)+(196590+(W<<2))>>0]|0;V=ma+14|0;X=qa+3|0;a[X>>0]=a[(b[V>>1]|0)+(196590+(W<<2))>>0]|0;Y=e+52|0;Yc[c[Y>>2]&127](j+n|0,l,Z,_,qa);a[qa>>0]=a[(b[g>>1]|0)+(196590+(W<<2))>>0]|0;a[S>>0]=a[(b[R>>1]|0)+(196590+(W<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(196590+(W<<2))>>0]|0;a[X>>0]=a[(b[V>>1]|0)+(196590+(W<<2))>>0]|0;Yc[c[Y>>2]&127](k+n|0,l,Z,_,qa)}}p=ma+16|0;_=p;g=c[_>>2]|0;do if(!((g|0)==0&(c[_+4>>2]|0)==0)){h=1<<da;o=h<<3;n=oa+ka|0;f=pa+ka|0;if(!(n>>>0<68|f>>>0<68)){_=d[196278+f>>0]|0;Z=d[196434+n>>0]|0;a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+18>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+20>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+22>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+52>>2]&127](i+o|0,l,Z,_,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;_=d[196278+h>>0]|0;Z=d[196434+g>>0]|0;a[qa>>0]=a[(b[p>>1]|0)+(196590+(g<<2))>>0]|0;S=ma+18|0;T=qa+1|0;a[T>>0]=a[(b[S>>1]|0)+(196590+(g<<2))>>0]|0;U=ma+20|0;V=qa+2|0;a[V>>0]=a[(b[U>>1]|0)+(196590+(g<<2))>>0]|0;W=ma+22|0;X=qa+3|0;a[X>>0]=a[(b[W>>1]|0)+(196590+(g<<2))>>0]|0;Y=e+52|0;Yc[c[Y>>2]&127](j+o|0,l,Z,_,qa);a[qa>>0]=a[(b[p>>1]|0)+(196590+(g<<2))>>0]|0;a[T>>0]=a[(b[S>>1]|0)+(196590+(g<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(196590+(g<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(196590+(g<<2))>>0]|0;Yc[c[Y>>2]&127](k+o|0,l,Z,_,qa);break}else{g=h<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;_=d[196278+n>>0]|0;Z=d[196434+h>>0]|0;a[qa>>0]=(d[(b[p>>1]|0)+(196590+(h<<2))>>0]|0)+1;S=ma+18|0;T=qa+1|0;a[T>>0]=(d[(b[S>>1]|0)+(196590+(h<<2))>>0]|0)+1;U=ma+20|0;V=qa+2|0;a[V>>0]=(d[(b[U>>1]|0)+(196590+(h<<2))>>0]|0)+1;W=ma+22|0;X=qa+3|0;a[X>>0]=(d[(b[W>>1]|0)+(196590+(h<<2))>>0]|0)+1;Y=e+76|0;Yc[c[Y>>2]&127](j+g|0,m,Z,_,qa);a[qa>>0]=(d[(b[p>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[T>>0]=(d[(b[S>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[V>>0]=(d[(b[U>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[X>>0]=(d[(b[W>>1]|0)+(196590+(h<<2))>>0]|0)+1;Yc[c[Y>>2]&127](k+g|0,m,Z,_,qa);break}}while(0);f=ma+24|0;_=f;o=c[_>>2]|0;if(!((o|0)==0&(c[_+4>>2]|0)==0)){g=12<<da;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){da=d[196278+n>>0]|0;_=d[196434+h>>0]|0;a[qa>>0]=a[(o<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+26>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+28>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+30>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+52>>2]&127](i+g|0,l,_,da,qa)}if(la?($=oa+na|0,aa=pa+na|0,!($>>>0<68|aa>>>0<68)):0){da=d[196278+aa>>0]|0;aa=d[196434+$>>0]|0;a[qa>>0]=a[(b[f>>1]|0)+(196590+($<<2))>>0]|0;U=ma+26|0;V=qa+1|0;a[V>>0]=a[(b[U>>1]|0)+(196590+($<<2))>>0]|0;W=ma+28|0;X=qa+2|0;a[X>>0]=a[(b[W>>1]|0)+(196590+($<<2))>>0]|0;Y=ma+30|0;Z=qa+3|0;a[Z>>0]=a[(b[Y>>1]|0)+(196590+($<<2))>>0]|0;_=e+52|0;Yc[c[_>>2]&127](j+g|0,l,aa,da,qa);a[qa>>0]=a[(b[f>>1]|0)+(196590+($<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(196590+($<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(196590+($<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(196590+($<<2))>>0]|0;Yc[c[_>>2]&127](k+g|0,l,aa,da,qa)}}do if(ha|0?(ca=ma+32|0,ha=ca,da=c[ha>>2]|0,ba=da&65535,!((da|0)==0&(c[ha+4>>2]|0)==0)):0){h=ga+oa|0;n=d[196434+h>>0]|0;ha=ga+pa|0;g=d[196278+ha>>0]|0;do if(!(h>>>0<68|ha>>>0<68))if(ba<<16>>16>3){Xc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(ba<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[196434+n>>0]|0;g=ia+pa|0;h=d[196278+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[ca>>1]|0;if(g<<16>>16>3)Xc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[ca>>1]|0;if(g<<16>>16>3){Xc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[ca>>1]|0;if(g<<16>>16>3)Xc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[ca>>1]|0;if(g<<16>>16>3){Xc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(196590+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(196590+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(196590+(n<<2))>>0]|0)+1;Yc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}while(0);g=ma+40|0;ia=g;h=c[ia>>2]|0;if(!((h|0)==0&(c[ia+4>>2]|0)==0)){n=l<<2;f=oa+ka|0;o=pa+ka|0;if(!(f>>>0<68|o>>>0<68)){ia=d[196278+o>>0]|0;ha=d[196434+f>>0]|0;a[qa>>0]=a[(h<<16>>16)+(196590+(f<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+42>>1]|0)+(196590+(f<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+44>>1]|0)+(196590+(f<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+46>>1]|0)+(196590+(f<<2))>>0]|0;Yc[c[e+48>>2]&127](i+n|0,l,ha,ia,qa)}if(la?(ea=oa+na|0,fa=pa+na|0,!(ea>>>0<68|fa>>>0<68)):0){ia=d[196278+fa>>0]|0;ha=d[196434+ea>>0]|0;a[qa>>0]=a[(b[g>>1]|0)+(196590+(ea<<2))>>0]|0;$=ma+42|0;aa=qa+1|0;a[aa>>0]=a[(b[$>>1]|0)+(196590+(ea<<2))>>0]|0;ba=ma+44|0;ca=qa+2|0;a[ca>>0]=a[(b[ba>>1]|0)+(196590+(ea<<2))>>0]|0;da=ma+46|0;fa=qa+3|0;a[fa>>0]=a[(b[da>>1]|0)+(196590+(ea<<2))>>0]|0;ga=e+48|0;Yc[c[ga>>2]&127](j+n|0,l,ha,ia,qa);a[qa>>0]=a[(b[g>>1]|0)+(196590+(ea<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(196590+(ea<<2))>>0]|0;a[ca>>0]=a[(b[ba>>1]|0)+(196590+(ea<<2))>>0]|0;a[fa>>0]=a[(b[da>>1]|0)+(196590+(ea<<2))>>0]|0;Yc[c[ga>>2]&127](k+n|0,l,ha,ia,qa)}}o=ma+48|0;ia=o;g=c[ia>>2]|0;do if(!((g|0)==0&(c[ia+4>>2]|0)==0)){f=l<<3;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){ia=d[196278+n>>0]|0;ha=d[196434+h>>0]|0;a[qa>>0]=a[(g<<16>>16)+(196590+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+50>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+52>>1]|0)+(196590+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+54>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e+48>>2]&127](i+f|0,l,ha,ia,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;m=d[196278+h>>0]|0;ja=d[196434+g>>0]|0;a[qa>>0]=a[(b[o>>1]|0)+(196590+(g<<2))>>0]|0;ca=ma+50|0;da=qa+1|0;a[da>>0]=a[(b[ca>>1]|0)+(196590+(g<<2))>>0]|0;ea=ma+52|0;fa=qa+2|0;a[fa>>0]=a[(b[ea>>1]|0)+(196590+(g<<2))>>0]|0;ga=ma+54|0;ha=qa+3|0;a[ha>>0]=a[(b[ga>>1]|0)+(196590+(g<<2))>>0]|0;ia=e+48|0;Yc[c[ia>>2]&127](j+f|0,l,ja,m,qa);a[qa>>0]=a[(b[o>>1]|0)+(196590+(g<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(196590+(g<<2))>>0]|0;a[fa>>0]=a[(b[ea>>1]|0)+(196590+(g<<2))>>0]|0;a[ha>>0]=a[(b[ga>>1]|0)+(196590+(g<<2))>>0]|0;Yc[c[ia>>2]&127](k+f|0,l,ja,m,qa);break}else{g=m<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;ja=d[196278+n>>0]|0;ia=d[196434+h>>0]|0;a[qa>>0]=(d[(b[o>>1]|0)+(196590+(h<<2))>>0]|0)+1;ba=ma+50|0;ca=qa+1|0;a[ca>>0]=(d[(b[ba>>1]|0)+(196590+(h<<2))>>0]|0)+1;da=ma+52|0;ea=qa+2|0;a[ea>>0]=(d[(b[da>>1]|0)+(196590+(h<<2))>>0]|0)+1;fa=ma+54|0;ga=qa+3|0;a[ga>>0]=(d[(b[fa>>1]|0)+(196590+(h<<2))>>0]|0)+1;ha=e+72|0;Yc[c[ha>>2]&127](j+g|0,m,ia,ja,qa);a[qa>>0]=(d[(b[o>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[ca>>0]=(d[(b[ba>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[ea>>0]=(d[(b[da>>1]|0)+(196590+(h<<2))>>0]|0)+1;a[ga>>0]=(d[(b[fa>>1]|0)+(196590+(h<<2))>>0]|0)+1;Yc[c[ha>>2]&127](k+g|0,m,ia,ja,qa);break}}while(0);f=ma+56|0;m=f;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){o=l*12|0;n=oa+ka|0;g=pa+ka|0;if(!(n>>>0<68|g>>>0<68)){m=d[196278+g>>0]|0;ka=d[196434+n>>0]|0;a[qa>>0]=a[(h<<16>>16)+(196590+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+58>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+60>>1]|0)+(196590+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+62>>1]|0)+(196590+(n<<2))>>0]|0;Yc[c[e+48>>2]&127](i+o|0,l,ka,m,qa)}if(la){h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;pa=d[196278+g>>0]|0;oa=d[196434+h>>0]|0;a[qa>>0]=a[(b[f>>1]|0)+(196590+(h<<2))>>0]|0;ja=ma+58|0;ka=qa+1|0;a[ka>>0]=a[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0;i=ma+60|0;la=qa+2|0;a[la>>0]=a[(b[i>>1]|0)+(196590+(h<<2))>>0]|0;na=ma+62|0;m=qa+3|0;a[m>>0]=a[(b[na>>1]|0)+(196590+(h<<2))>>0]|0;e=e+48|0;Yc[c[e>>2]&127](j+o|0,l,oa,pa,qa);a[qa>>0]=a[(b[f>>1]|0)+(196590+(h<<2))>>0]|0;a[ka>>0]=a[(b[ja>>1]|0)+(196590+(h<<2))>>0]|0;a[la>>0]=a[(b[i>>1]|0)+(196590+(h<<2))>>0]|0;a[m>>0]=a[(b[na>>1]|0)+(196590+(h<<2))>>0]|0;Yc[c[e>>2]&127](k+o|0,l,oa,pa,qa)}}}while(0)}else ra=3;while(0);if((ra|0)==3)hj(e,f,g,h,i,j,k,l,m);Gc=sa;return}function jj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;Ok(f,g,d*96|0);b=a+27792|0;Ok(b,a+27808|0,d*42|0);d=a+27796|0;h=h+27012|0;Pk(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;Pk(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{Pe(f);Pe(b);Pe(d);Pe(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function lj(a){a=a|0;var b=0;b=0-(mj(a)|0)&7;if(b|0)Nk(a,b);return}function mj(a){a=a|0;return c[a+8>>2]|0}function nj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(mj(a)|0)|0}function oj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=f+e|0;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28216>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)>0?((b|0)<51?b:51):0;if((c[d+840>>2]|0)==1)f=204922;else f=198778+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function qj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29672>>2]|0)Mk((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return}function rj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Gc;Gc=Gc+80|0;fa=na+40|0;aa=na+32|0;q=na+24|0;r=na+16|0;n=na+8|0;s=na;ia=na+72|0;Z=na+56|0;_=na+52|0;U=na+48|0;ha=f+28216|0;ca=c[ha>>2]|0;ja=f+28212|0;m=c[(c[ja>>2]|0)+64>>2]|0;k=ca+12|0;ba=((c[k>>2]|0)+-1|0)>>>0<2;ka=c[f+25664>>2]|0;da=g+21788|0;h=c[da>>2]|0;ea=g+21792|0;i=c[ea>>2]|0;X=f+27016|0;ma=(H(c[X>>2]|0,i)|0)+h|0;la=g+21796|0;c[la>>2]=ma;$=g+840|0;W=f+26376|0;if((c[$>>2]|0)!=1){if(!((c[W>>2]|0)==0|(i&1|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=nk(f,g,h,i)|0;if(h){if((c[W>>2]|0?(c[ea>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(ma<<2)>>2]=2048,la=nk(f,g,c[da>>2]|0,(c[ea>>2]|0)+1|0)|0,c[g+21652>>2]=la,(la|0)==0):0){la=ok(f,g)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}pk(f,g);b[(c[f+26392>>2]|0)+(ma<<1)>>1]=0;a[(c[f+26396>>2]|0)+ma>>0]=0;c[g+864>>2]=0;h=0}else ga=12}else ga=12;a:do if((ga|0)==12){if(c[W>>2]|0?(c[ea>>2]&1|0)==0:0){Y=ok(f,g)|0;c[g+21828>>2]=Y;c[g+21832>>2]=Y}c[g+21648>>2]=0;V=g+21828|0;qk(f,g,0-(c[V>>2]|0)|0);b:do switch(c[$>>2]|0){case 3:{j=g+32856|0;c:do if(!(rk(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ia>>2]=0;h=0}else{if(!(rk(j,g+32934|0)|0)){h=(rk(j,g+32936|0)|0)+1|0;c[ia>>2]=h;break}i=(rk(j,g+32935|0)|0)<<3;h=g+32936|0;i=((rk(j,h)|0)<<2)+i|0;i=i+((rk(j,h)|0)<<1)|0;i=i+(rk(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ia>>2]=h;break}switch(i|0){case 13:{h=sk(g,32,0)|0;c[ia>>2]=h;ga=36;break b}case 14:{c[ia>>2]=11;h=11;break c}case 15:{c[ia>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(rk(j,h)|0)|0;c[ia>>2]=h;break c}}}while(0);i=a[176148+(h<<2)+2>>0]|0;h=e[176148+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}case 2:{h=g+32856|0;if(rk(h,g+32918|0)|0){h=sk(g,17,0)|0;c[ia>>2]=h;ga=36;break b}if(!(rk(h,g+32919|0)|0))h=(rk(h,g+32920|0)|0)*3|0;else h=2-(rk(h,g+32921|0)|0)|0;i=a[176112+(h<<2)+2>>0]|0;h=e[176112+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}default:{h=sk(g,3,1)|0;c[ia>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ia>>2]=h;ga=36}else ga=36}}while(0);if((ga|0)==36){Y=d[176008+(h<<2)+3>>0]|0;c[g+21660>>2]=d[176008+(h<<2)+2>>0];h=e[176008+(h<<2)>>1]|0;c[ia>>2]=h;i=0}if(c[V>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26372>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[ca+1184>>2]|0,e[176292+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=oj(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26392>>2]|0)+(ma<<1)>>1]=-2065;a[(c[f+26396>>2]|0)+ma>>0]=0;a[(c[f+24340>>2]|0)+ma>>0]=0;j=(c[f+25972>>2]|0)+(ma*48|0)|0;k=j+48|0;do{a[j>>0]=16;j=j+1|0}while((j|0)<(k|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ia>>2];c[g+864>>2]=0;h=0;break}tk(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[$>>2]|0)==3){h=0;while(1){if((h|0)==4)break;T=wk(g)|0;c[Z+(h<<2)>>2]=d[176240+((T&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[176240+((T&65535)<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){Kj(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;T=(d[209023+(h<<2)>>0]|0)+(g+28512)|0;S=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[T>>1]=S;b[T+8>>1]=S;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;T=xk(g)|0;c[Z+(h<<2)>>2]=d[176132+((T&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[176132+((T&65535)<<2)>>1]|0;h=h+1|0}}while(0);T=g+23412|0;p=g+21832|0;o=0;f:while(1){h=c[T>>2]|0;if(o>>>0>=h>>>0){ga=80;break}l=4096<<(o<<1);n=g+23404+(o<<2)|0;k=0;while(1){if((k|0)>=4)break;h=e[g+28552+(k<<1)>>1]|0;if(!(h&256)){if(l&h){i=c[n>>2]<<c[p>>2];if(i>>>0>1){j=k<<2;h=yk(g,o,j)|0;if(h>>>0>=i>>>0){ga=75;break f}}else{h=0;ga=76}}else{h=-1;ga=76}if((ga|0)==76){ga=0;j=k<<2}R=h&255;S=d[209023+j>>0]|0;a[S+9+(g+28272+(o*40|0))>>0]=R;a[S+8+(g+28272+(o*40|0))>>0]=R;a[S+1+(g+28272+(o*40|0))>>0]=R}k=k+1|0}o=o+1|0}do if((ga|0)==75){g=c[f+4>>2]|0;c[s>>2]=h;c[s+4>>2]=i;Te(g,16,198326,s);h=-1}else if((ga|0)==80){if(!m)m=0;else{S=(c[(c[ha>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((S?24117616:7340144)&c[m>>2]|0)==0?((S?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;N=0;g:while(1){if(N>>>0>=h>>>0){ga=129;break}K=N<<1;G=4096<<K;I=g+28272+(N*40|0)+11|0;J=g+27952+(N*160|0)+40|0;K=12288<<K;L=g+27952+(N*160|0)+42|0;F=0;while(1){if((F|0)>=4)break;M=F<<2;h=d[209023+M>>0]|0;a[g+28272+(N*40|0)+h>>0]=a[h+1+(g+28272+(N*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(N*160|0)+(h<<2)>>2]=0;c[g+27952+(N*160|0)+(h<<2)+4>>2]=0;c[g+27952+(N*160|0)+(h<<2)+32>>2]=0;c[g+27952+(N*160|0)+(h<<2)+36>>2]=0;ga=125;break}B=i&24|0?2:1;C=c[Z+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=a[209023+((H(w,B)|0)+M)>>0]|0;y=h&255;z=g+27952+(N*160|0)+(y<<2)|0;A=g+28352+(N*80|0)+(y<<1)|0;o=a[g+28272+(N*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(N*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(N*40|0)+v>>0]|0;q=g+27952+(N*160|0)+(v<<2)|0;t=g+27952+(N*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(N*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[I>>0]|0)==-2){ga=99;break}n=c[(c[O>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[P>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ga=99;break}l=c[X>>2]|0;h=l+(c[Q>>2]|0)|0;i=(c[ea>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,l)|0)+h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ga=99;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ga=99;while(0);do if((ga|0)==99){ga=0;if(j){k=y+-9|0;l=g+27952+(N*160|0)+(k<<2)|0;k=a[g+28272+(N*40|0)+k>>0]|0;break}else{l=g+27952+(N*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}else{h=zk(h,b[t>>1]|0,b[l>>1]|0)|0;i=zk(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){h=b[q>>1]|0;i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}if(j){h=b[t>>1]|0;i=b[g+27952+(N*160|0)+(u<<2)+2>>1]|0;break}else{h=b[l>>1]|0;i=b[l+2>>1]|0;break}}else{h=zk(b[q>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=zk(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);n=(d[g+28352+(N*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)+1>>0]|0)|0;u=Ak(g,40,(d[g+28352+(N*80|0)+(u<<1)>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)>>0]|0)|0,_)|0;v=Ak(g,47,n,U)|0;n=u+h|0;l=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ga=123;break g}do if(D){if(!E){b[z+4>>1]=n;b[z+6>>1]=l;i=c[_>>2]|0;a[A+2>>0]=i;h=c[U>>2]|0;j=h&255;k=1;ga=121;break}if(x){i=c[_>>2]|0;h=c[U>>2]|0;break}else{b[z+32>>1]=n;b[z+34>>1]=l;i=c[_>>2]|0;a[A+16>>0]=i;h=c[U>>2]|0;j=h&255;k=8;ga=121;break}}else{i=n&65535;b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;i=l&65535;b[z+38>>1]=i;b[z+34>>1]=i;b[z+6>>1]=i;i=c[_>>2]|0;h=i&255;a[A+18>>0]=h;a[A+16>>0]=h;a[A+2>>0]=h;h=c[U>>2]|0;j=h&255;a[A+19>>0]=j;a[A+17>>0]=j;k=1;ga=121}while(0);if((ga|0)==121){ga=0;a[A+(k<<1)+1>>0]=j}b[z>>1]=n;b[g+27952+(N*160|0)+(y<<2)+2>>1]=l;a[A>>0]=i;a[g+28352+(N*80|0)+(y<<1)+1>>0]=h;w=w+1|0}}else ga=125;while(0);if((ga|0)==125){ga=0;c[g+28352+(N*80|0)+(h<<1)>>2]=0;c[g+28352+(N*80|0)+(h<<1)+16>>2]=0}F=F+1|0}N=N+1|0;h=c[T>>2]|0}if((ga|0)==123){h=-1094995529;break}else if((ga|0)==129)break d}while(0);break a}if(h&256|0){Kj(f,g,ia);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[ca+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ia>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[l>>2];if(i>>>0>1){h=yk(g,j,0)|0;if(h>>>0>=i>>>0){ga=140;break}}else h=0;X=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=X;c[g+28272+(j*40|0)+20>>2]=X;c[g+28272+(j*40|0)+28>>2]=X;c[g+28272+(j*40|0)+36>>2]=X}j=j+1|0}if((ga|0)==140){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;Te(g,16,198326,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ia>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;o=a[g+28272+(s*40|0)+4>>0]|0;p=a[g+28272+(s*40|0)+11>>0]|0;n=g+27952+(s*160|0)+44|0;q=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){r=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{r=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=o<<24>>24==i<<24>>24;k=p<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){k=b[n>>1]|0;if(p<<24>>24!=-2&(o<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(s*160|0)+46>>1]|0;break}else{k=zk(k,b[q>>1]|0,b[r>>1]|0)|0;h=zk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0;break}}if(k){k=b[n>>1]|0;h=b[g+27952+(s*160|0)+46>>1]|0;break}if(j){k=b[q>>1]|0;h=b[g+27952+(s*160|0)+18>>1]|0;break}else{k=b[r>>1]|0;h=b[r+2>>1]|0;break}}else{k=zk(b[n>>1]|0,b[q>>1]|0,b[r>>1]|0)|0;h=zk(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=Ak(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,Z)|0;j=Ak(g,47,j,_)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;X=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=X;c[g+28352+(s*80|0)+28>>2]=X;c[g+28352+(s*80|0)+40>>2]=X;c[g+28352+(s*80|0)+44>>2]=X;c[g+28352+(s*80|0)+56>>2]=X;c[g+28352+(s*80|0)+60>>2]=X;c[g+28352+(s*80|0)+72>>2]=X;c[g+28352+(s*80|0)+76>>2]=X;h=j+h<<16|i+k&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}S=g+23412|0;o=c[ia>>2]|0;p=g+21832|0;if(!(h&16))n=0;else{n=0;i:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=yk(g,n,j<<3)|0;if(h>>>0>=i>>>0){ga=171;break i}}else h=0;h=H(h,16843009)|0}U=(j<<4|12)+(g+28272+(n*40|0))|0;c[U>>2]=h;c[U+8>>2]=h;j=j+1|0}n=n+1|0}if((ga|0)==171){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;Te(g,16,198326,r);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+27952+(M*160|0)+16|0;C=g+27952+(M*160|0)+18|0;D=g+28272+(M*40|0)+11|0;E=g+27952+(M*160|0)+40|0;F=12288<<z;G=g+27952+(M*160|0)+42|0;I=g+28272+(M*40|0)+27|0;J=g+27952+(M*160|0)+108|0;K=g+27952+(M*160|0)+110|0;y=0;while(1){if((y|0)>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=y<<4|12;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+4>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+20>>2]=0;T=g+27952+(M*160|0)+(U<<2)|0;U=g+27952+(M*160|0)+(U<<2)+32|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ga=183;break}k=b[B>>1]|0;j=b[C>>1]|0}else{if((a[I>>0]|0)!=p<<24>>24){ga=183;break}k=b[J>>1]|0;j=b[K>>1]|0}while(0);do if((ga|0)==183){ga=0;k=a[209023+x>>0]|0;n=k&255;w=n+-8|0;u=a[g+28272+(M*40|0)+w>>0]|0;v=n+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;r=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(w<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;l=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((k&255)>19&(i&(c[W>>2]|0)!=0))){if((a[D>>0]|0)==-2){ga=192;break}o=c[(c[N>>2]|0)+48>>2]|0;c[E>>2]=0;j=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(j){ga=192;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,U)|0)+i<<2)>>2]&F)){n=E;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[E>>1]=b[U+(n<<2)>>1]|0;b[G>>1]=b[U+(n<<2)+2>>1]<<1;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ga=192;break}i=c[g+21720+(((k&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&F)){n=E;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[E>>1]=b[U+(n<<2)>>1]|0;b[G>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ga=192;while(0);do if((ga|0)==192){ga=0;if(i){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=u<<24>>24==p<<24>>24;i=s<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((l|0)==(q|0)&1)|0;if(h>>>0>1){k=zk(b[r>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=zk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[r>>1]|0;if(s<<24>>24!=-2&(u<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=zk(k,b[t>>1]|0,b[n>>1]|0)|0;j=zk(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[r>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);U=d[209023+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Ak(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=Ak(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+4>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+20>>2]=U;U=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+8>>2]=U;c[g+27952+(M*160|0)+(L<<2)+12>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+40>>2]=U;c[g+27952+(M*160|0)+(L<<2)+44>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}k:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=yk(g,n,j<<2)|0;if(h>>>0>=i>>>0){ga=220;break k}}else h=0;h=h*257&65535}U=(j<<1)+12+(g+28272+(n*40|0))|0;b[U>>1]=h;b[U+8>>1]=h;b[U+16>>1]=h;b[U+24>>1]=h;j=j+1|0}n=n+1|0}if((ga|0)==220){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;Te(g,16,198326,q);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+27952+(M*160|0)+44|0;C=g+27952+(M*160|0)+46|0;D=g+27952+(M*160|0)+40|0;E=12288<<z;F=g+27952+(M*160|0)+42|0;G=g+28272+(M*40|0)+8|0;I=g+27952+(M*160|0)+20|0;J=g+28272+(M*40|0)+5|0;K=g+27952+(M*160|0)+32|0;y=0;while(1){if((y|0)>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=(y<<1)+12|0;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+32>>2]=0;c[g+28352+(M*80|0)+(U<<1)+48>>2]=0;c[g+27952+(M*160|0)+(U<<2)>>2]=0;c[g+27952+(M*160|0)+(U<<2)+4>>2]=0;c[g+27952+(M*160|0)+(U<<2)+32>>2]=0;c[g+27952+(M*160|0)+(U<<2)+36>>2]=0;c[g+27952+(M*160|0)+(U<<2)+64>>2]=0;c[g+27952+(M*160|0)+(U<<2)+68>>2]=0;c[g+27952+(M*160|0)+(U<<2)+96>>2]=0;c[g+27952+(M*160|0)+(U<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;q=a[g+28272+(M*40|0)+L>>0]|0;u=q<<24>>24;do if(!y)if((a[A>>0]|0)==q<<24>>24){k=b[B>>1]|0;j=b[C>>1]|0}else ga=234;else{h=a[G>>0]|0;if(h<<24>>24==-2){i=I;h=a[J>>0]|0}else i=K;if(h<<24>>24!=q<<24>>24){ga=234;break}k=b[i>>1]|0;j=b[i+2>>1]|0}while(0);do if((ga|0)==234){ga=0;h=a[209023+x>>0]|0;n=h&255;v=n+-8|0;r=a[g+28272+(M*40|0)+v>>0]|0;w=n+-1|0;s=a[g+28272+(M*40|0)+w>>0]|0;p=g+27952+(M*160|0)+(w<<2)|0;t=g+27952+(M*160|0)+(v<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;l=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[A>>0]|0)==-2){ga=243;break}o=c[(c[N>>2]|0)+48>>2]|0;c[D>>2]=0;k=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(k){ga=243;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,U)|0)+i<<2)>>2]&E)){n=D;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[D>>1]=b[U+(n<<2)>>1]|0;b[F>>1]=b[U+(n<<2)+2>>1]<<1;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!k){ga=243;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&E)){n=D;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[D>>1]=b[U+(n<<2)>>1]|0;b[F>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ga=243;while(0);do if((ga|0)==243){ga=0;if(j){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==q<<24>>24;i=s<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((l|0)==(u|0)&1)|0;if(h>>>0>1){k=zk(b[p>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=zk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[p>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=zk(k,b[t>>1]|0,b[n>>1]|0)|0;j=zk(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[p>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);U=d[209023+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Ak(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=Ak(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+32>>2]=U;c[g+28352+(M*80|0)+(L<<1)+48>>2]=U;U=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+64>>2]=U;c[g+27952+(M*160|0)+(L<<2)+68>>2]=U;c[g+27952+(M*160|0)+(L<<2)+96>>2]=U;c[g+27952+(M*160|0)+(L<<2)+100>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}else{if(!(h&1)){Z=g+21660|0;_=Ij(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Z>>2]|0,0)|0;c[Z>>2]=_;if((_|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(rk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ia>>2]=h|16777216;h=0;while(1){if((h|0)>=16)break m;_=d[209023+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;_=g+21664+_|0;Z=(uk(g,(Z|0)<0?2:Z)|0)*257&65535;b[_>>1]=Z;b[_+8>>1]=Z;h=h+4|0}}else{h=0;ga=50}while(0);n:do if((ga|0)==50)while(1){ga=0;if((h|0)==16)break n;ga=d[209023+h>>0]|0;_=a[ga+-1+(g+21664)>>0]|0;Z=a[ga+-8+(g+21664)>>0]|0;_=(_|0)>(Z|0)?Z:_;a[g+21664+ga>>0]=uk(g,(_|0)<0?2:_)|0;h=h+1|0;ga=50}while(0);_=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[_>>2]=c[g+21700>>2];a[_+4>>0]=a[g+21695>>0]|0;a[_+5>>0]=a[g+21687>>0]|0;a[_+6>>0]=a[g+21679>>0]|0;if((Hj(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(ba){h=vk(f,g)|0;a[(c[f+26396>>2]|0)+ma>>0]=h;h=Ij(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h}while(0);if(c[ia>>2]&120|0){a[(c[f+26396>>2]|0)+ma>>0]=0;k=c[ia>>2]|0;h=c[f+26368>>2]|0;i=(H(h<<2,c[ea>>2]|0)|0)+(c[da>>2]<<2)|0;l=c[la>>2]<<2;if(!(k&12288)){_=(c[f+24384>>2]|0)+l|0;b[_>>1]=-1;b[_+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;Z=g+28e3|0;_=c[Z+4>>2]|0;W=j;c[W>>2]=c[Z>>2];c[W+4>>2]=_;W=g+28008|0;_=c[W+4>>2]|0;Z=j+8|0;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28032|0;_=c[Z+4>>2]|0;W=j+(h<<2)|0;X=W;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28040|0;_=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=_;W=g+28064|0;_=c[W+4>>2]|0;X=j+(h<<1<<2)|0;Z=X;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28072|0;_=c[Z+4>>2]|0;X=X+8|0;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28096|0;_=c[X+4>>2]|0;j=j+(h*3<<2)|0;Z=j;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28104|0;_=c[Z+4>>2]|0;j=j+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28424|0;Z=c[X+4>>2]|0;_=j;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=j+6|0;b[_+6>>1]=b[g+28382>>1]|0;b[_+4>>1]=b[g+28398>>1]|0;b[_+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}_=(c[f+24384>>2]|0)+l|0;a[_>>0]=a[g+28284>>0]|0;a[_+1>>0]=a[g+28286>>0]|0;a[_+2>>0]=a[g+28300>>0]|0;a[_+3>>0]=a[g+28302>>0]|0}if(k&49152|0){Z=(c[f+24356>>2]|0)+(i<<2)|0;W=g+28160|0;_=c[W+4>>2]|0;V=Z;c[V>>2]=c[W>>2];c[V+4>>2]=_;V=g+28168|0;_=c[V+4>>2]|0;W=Z+8|0;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28192|0;_=c[W+4>>2]|0;V=Z+(h<<2)|0;X=V;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28200|0;_=c[X+4>>2]|0;V=V+8|0;c[V>>2]=c[X>>2];c[V+4>>2]=_;V=g+28224|0;_=c[V+4>>2]|0;X=Z+(h<<1<<2)|0;W=X;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28232|0;_=c[W+4>>2]|0;X=X+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28256|0;_=c[X+4>>2]|0;h=Z+(h*3<<2)|0;Z=h;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28264|0;_=c[Z+4>>2]|0;h=h+8|0;c[h>>2]=c[Z>>2];c[h+4>>2]=_;h=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28504|0;Z=c[X+4>>2]|0;_=h;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=h+6|0;b[_+6>>1]=b[g+28462>>1]|0;b[_+4>>1]=b[g+28478>>1]|0;b[_+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}_=(c[f+24388>>2]|0)+l|0;a[_>>0]=a[g+28324>>0]|0;a[_+1>>0]=a[g+28326>>0]|0;a[_+2>>0]=a[g+28340>>0]|0;a[_+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[$>>2]|0)!=3)){$=(c[f+26408>>2]|0)+(c[la>>2]<<2)|0;a[$+1>>0]=(e[g+28554>>1]|0)>>>1;a[$+2>>0]=(e[g+28556>>1]|0)>>>1;a[$+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ia>>2]&2)){h=Bk(g)|0;if(ba)u=(Ck(g)|0)<<4|h;else u=h}else if(Y>>>0>15&(ba^1)){Te(c[f+4>>2]|0,16,198346,aa);h=-1094995529;break}else u=Y;c[g+21856>>2]=u;b[(c[f+26392>>2]|0)+(ma<<1)>>1]=u;s=(u&15|0)==0;if(!((m|0)==0|s)?(c[ia>>2]&7|0)==0:0){ba=(rk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ia>>2]=c[ia>>2]|ba}k=c[ia>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ha>>2]|0)+12>>2]|0)!=3)){if((c[f+25704>>2]|0)>>>0>=151){h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){aa=i<<4&64;ba=h<<4;a[ba+99+(g+27824)>>0]=aa;a[ba+91+(g+27824)>>0]=aa;a[ba+59+(g+27824)>>0]=aa;a[ba+51+(g+27824)>>0]=aa;a[ba+19+(g+27824)>>0]=aa;a[(ba|11)+(g+27824)>>0]=aa}h=h+1|0}ba=c[g+21732>>2]|0;h=(ba&4|0)==0?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}i=k&7;j=i|0?64:0;h=0;while(1){if((h|0)==2)break;ba=c[g+21740+(h<<2)>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=h<<4;a[ba+99+(g+27824)>>0]=j;a[ba+91+(g+27824)>>0]=j;a[ba+59+(g+27824)>>0]=j;a[ba+51+(g+27824)>>0]=j;a[ba+19+(g+27824)>>0]=j;a[(ba|11)+(g+27824)>>0]=j}h=h+1|0}ba=c[g+21732>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=(i|0)==0?0:1077952576;c[g+27828>>2]=ba;c[g+27868>>2]=ba;c[g+27908>>2]=ba}}while(0);c[(c[f+24364>>2]|0)+(ma<<2)>>2]=k;if((u|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ga=302;o:do if((ga|0)==302){v=g+32856|0;m=g+864|0;do if(rk(v,(c[m>>2]|0?61:60)+(g+32904)|0)|0){k=(c[ca+1184>>2]|0)*6|0;l=k+3|0;i=l<<1;h=62;j=1;while(1){if(!(rk(v,g+32904+h|0)|0)){ga=306;break}if((j|0)<(i|0)){h=63;j=j+1|0}else{ga=429;break}}if((ga|0)==306){q=j+1>>1;q=(j&1|0)==0?0-q|0:q;c[m>>2]=q;h=g+848|0;q=(c[h>>2]|0)+q|0;q=(q>>>0>l>>>0?((q|0)<0?k+4|0:-4-k|0):0)+q|0;c[h>>2]=q;ga=c[ja>>2]|0;c[g+852>>2]=d[ga+548+q>>0];c[g+856>>2]=d[ga+636+q>>0];break}else if((ga|0)==429){h=c[f+4>>2]|0;g=c[ea>>2]|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=g;Te(h,16,198359,fa);h=-1;break a}}else{c[m>>2]=0;q=g+848|0;h=q;q=c[q>>2]|0}while(0);i=c[ia>>2]|0;ga=(i&128|0)==0;r=(q|0)!=0;t=ga?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;r=ga?(r?f+26444|0:f+26732|0):r?f+26588|0:f+26876|0;p:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break p;q:do if(!(1<<n&u)){ga=(d[209023+(n<<2)>>0]|0)+(g+27824)|0;b[ga>>1]=0;b[ga+8>>1]=0}else{if(!o){i=n<<2;j=g+28560+(n<<6<<ka<<1)|0;k=(c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0)+(q<<8)|0;do if((c[(c[ha>>2]|0)+12>>2]|0)==3){l=d[209023+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(Dk(v,((a[l+-8+(g+27824)>>0]|0?ga|2:ga)|1012)+(g+32904)|0)|0)break;ga=g+27824+l|0;b[ga>>1]=0;b[ga+8>>1]=0;break q}while(0);Fk(f,g,j,5,i,r,k,64);break}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=n<<2;i=0;while(1){if((i|0)==4)break q;l=i+k|0;m=d[209023+l>>0]|0;ga=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,(a[m+-8+(g+27824)>>0]|0?ga|2:ga)+93+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Fk(f,g,g+28560+(l<<4<<ka<<1)|0,2,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31632|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dk(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else Ek(f,g,i,0,48,t,16);if(s){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ja>>2]|0)+173788>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break p;l=d[209023+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,(a[l+-8+(g+27824)>>0]|0?ga|2:ga)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Fk(f,g,g+28560+(i<<4<<ka<<1)|0,1,i,k,j,15);i=i+1|0}}while(0);j=c[(c[ha>>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ga=1<<i+6;ha=(c[j>>2]&ga|0)!=0&1;if(!(Dk(v,(c[k>>2]&ga|0?ha|2:ha)+97+(g+32904)|0)|0))a[(d[209023+l>>0]|0)+(g+27824)>>0]=0;else Ek(f,g,g+28560+((i<<8)+256<<ka<<1)|0,3,l,186427,4);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=t+1|0;i=0;s:while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ja>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4){i=n;continue s}k=j+i|0;l=d[209023+k>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,(a[l+-8+(g+27824)>>0]|0?ha|2:ha)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Fk(f,g,g+28560+(k<<4<<ka<<1)|0,4,k,m,o,15);i=i+1|0}}}t:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break t;l=i+49|0;ga=1<<i+6;ha=(c[j>>2]&ga|0)!=0&1;if(!(Dk(v,(c[k>>2]&ga|0?ha|2:ha)+97+(g+32904)|0)|0))a[(d[209023+l>>0]|0)+(g+27824)>>0]=0;else Gk(f,g,g+28560+((i<<8)+256<<ka<<1)|0,l);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<<ka;q=t+1|0;r=u<<2;i=0;u:while(1){if((i|0)==2)break o;s=(i<<4)+16|0;t=i+1|0;m=(c[(c[ja>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<<ka<<1)|0;j=0;while(1){if((j|0)==2){i=t;continue u}n=(j<<3)+s|0;k=0;l=i;while(1){if((k|0)==4)break;o=n+k|0;p=d[209023+o>>0]|0;ha=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,(a[p+-8+(g+27824)>>0]|0?ha|2:ha)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else Fk(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}}}i=c[ia>>2]|0;q=c[g+852>>2]|0;v:do if(!(i&2)){p=i&7|0?1:4;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break v;w:do if(!(1<<n&u)){ha=(d[209023+((n<<2)+16)>>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[209023+i>>0]|0;ha=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[k+-8+(g+27824)>>0]|0?ha|2:ha)|1016)+(g+32904)|0)|0)){ha=g+27824+k|0;b[ha>>1]=0;b[ha+8>>1]=0;break}else{Fk(f,g,g+28560+(i<<4<<ka<<1)|0,9,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break w;l=k+i|0;m=d[209023+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[m+-8+(g+27824)>>0]|0?ha|2:ha)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Fk(f,g,g+28560+(l<<4<<ka<<1)|0,8,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31696|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dk(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else Ek(f,g,i,6,49,t,16);if(s){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ja>>2]|0)+173792>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break v;l=i+16|0;m=d[209023+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[m+-8+(g+27824)>>0]|0?ha|2:ha)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Fk(f,g,g+28560+(l<<4<<ka<<1)|0,7,l,k,j,15);i=i+1|0}}while(0);i=c[ia>>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Dk(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else Ek(f,g,i,10,50,t,16);if(s){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ja>>2]|0)+173796>>2]|0)+(q<<6)|0;j=t+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[209023+k>>0]|0;ja=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[l+-8+(g+27824)>>0]|0?ja|2:ja)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Fk(f,g,g+28560+(k<<4<<ka<<1)|0,11,k,j,m,15);i=i+1|0}}p=i&7|0?2:5;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break o;x:do if(!(1<<n&u)){ia=(d[209023+((n<<2)+32)>>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[209023+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[k+-8+(g+27824)>>0]|0?ia|2:ia)|1020)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{Fk(f,g,g+28560+(i<<4<<ka<<1)|0,13,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break x;l=k+i|0;m=d[209023+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Dk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Fk(f,g,g+28560+(l<<4<<ka<<1)|0,12,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Gc=na;return h|0}function sj(a,b){a=a|0;b=b|0;if((c[(c[a+28216>>2]|0)+12>>2]|0)==3)ak(a,b);else bk(a,b);return}function tj(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){_j(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+26380|0;h=(c[i>>2]|0)!=3&1;k=c[b+21792>>2]>>h<<4;h=c[a+27008>>2]<<4>>h;g=c[a+26376>>2]|0;d=16<<g;g=20<<g;j=(c[b+868>>2]|0)==0;d=(j|(k+d|0)<(h|0)?0:g)+d|0;g=k-(j?0:g)|0;if((!((h|0)<=(g|0)|(d+g|0)<0)?(f=h-g|0,e=(g|0)<0,f=((d|0)>(f|0)?f:d)+(e?g:0)|0,e=e?0:g,Zj(a,b,e,f),(c[a+25684>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)yh((c[a+24312>>2]|0)+4|0,e+-1+f|0,(c[i>>2]|0)==2&1);return}function vj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27016>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26372>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function wj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Gc;Gc=Gc+208|0;fa=na+128|0;_=na+120|0;ba=na+104|0;aa=na+88|0;r=na+80|0;q=na+72|0;p=na+64|0;s=na+56|0;n=na+40|0;o=na+24|0;m=na+16|0;k=na;ha=na+192|0;T=na+176|0;U=na+144|0;ka=f+28212|0;V=c[(c[ka>>2]|0)+64>>2]|0;ga=f+28216|0;$=((c[(c[ga>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ja=c[f+25664>>2]|0;da=g+21788|0;ea=g+21792|0;Y=f+27016|0;ma=(H(c[Y>>2]|0,c[ea>>2]|0)|0)+(c[da>>2]|0)|0;la=g+21796|0;c[la>>2]=ma;l=g+840|0;if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=xj(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26376>>2]|0?(c[ea>>2]&1|i|0)==0:0){ma=yj(g+4|0)|0;c[g+21828>>2]=ma;c[g+21832>>2]=ma}zj(f,g);h=0}else ca=9}else ca=9;a:do if((ca|0)==9){X=f+26376|0;if(c[X>>2]|0?(c[ea>>2]&1|0)==0:0){ia=yj(g+4|0)|0;c[g+21828>>2]=ia;c[g+21832>>2]=ia}c[g+21648>>2]=0;ia=g+4|0;i=Aj(ia)|0;c[ha>>2]=i;b:do switch(c[l>>2]|0){case 3:if(i>>>0<23){Z=a[176148+(i<<2)+2>>0]|0;h=e[176148+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-23|0;c[ha>>2]=h;ca=21;break b}case 2:if(i>>>0<5){Z=a[176112+(i<<2)+2>>0]|0;h=e[176112+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-5|0;c[ha>>2]=h;ca=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ha>>2]=h;ca=21}else{h=i;ca=21}}}while(0);do if((ca|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;la=(Uh(c[g+836>>2]|0)|0)<<24>>24;ma=c[da>>2]|0;g=c[ea>>2]|0;c[k>>2]=h;c[k+4>>2]=la;c[k+8>>2]=ma;c[k+12>>2]=g;Te(f,16,197524,k);h=-1;break a}else{Z=d[176008+(h<<2)+3>>0]|0;c[g+21660>>2]=d[176008+(h<<2)+2>>0];h=e[176008+(h<<2)>>1]|0;c[ha>>2]=h;i=0;break}while(0);W=g+21828|0;if(c[W>>2]|0){h=h|128;c[ha>>2]=h}b[(c[f+26372>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ga>>2]|0;h=H(c[h+1184>>2]|0,e[176292+(c[h+12>>2]<<1)>>1]|0)|0;c[g+27780>>2]=Bj(ia)|0;if((Cj(ia)|0)<(h|0)){Te(c[f+4>>2]|0,16,197567,m);h=-1094995529;break}else{Dj(ia,h);a[(c[f+24340>>2]|0)+ma>>0]=0;k=(c[f+25972>>2]|0)+(ma*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ha>>2];h=0;break}}Ej(f,g,h);Fj(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[l>>2]|0)==3){h=0;while(1){if((h|0)>=4)break;i=Jj(ia)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>12){ca=52;break}c[T+(h<<2)>>2]=d[176240+(k<<2)+2>>0];b[j>>1]=b[176240+((i&65535)<<2)>>1]|0;h=h+1|0}if((ca|0)==52){g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[o>>2]=k;c[o+4>>2]=ma;c[o+8>>2]=f;Te(g,16,197608,o);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))ca=56;else{Kj(f,g,ha);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;ca=56}}else{h=0;while(1){if((h|0)>=4){ca=56;break d}i=Jj(ia)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>3)break;c[T+(h<<2)>>2]=d[176132+(k<<2)+2>>0];b[j>>1]=b[176132+((i&65535)<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[n>>2]=k;c[n+4>>2]=ma;c[n+8>>2]=f;Te(g,16,197648,n)}while(0);do if((ca|0)==56){S=g+23412|0;m=g+21832|0;l=0;e:while(1){h=c[S>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ha>>2]&512))k=c[g+23404+(l<<2)>>2]<<c[m>>2];else k=1;j=4096<<(l<<1);i=0;while(1){if((i|0)>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(yj(ia)|0)^1;break f}default:{h=Jj(ia)|0;if(h>>>0<k>>>0)break f;else{ca=73;break e}}}while(0);c[U+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((ca|0)==73){g=c[f+4>>2]|0;c[s>>2]=h;Te(g,16,197688,s);break}if(!V)l=0;else{V=(c[(c[ga>>2]|0)+72>>2]|0)==0;l=g+28552|0;l=(((V?24117616:7340144)&c[l>>2]|0)==0?((V?24117616:7340144)&c[l+4>>2]|0)==0:0)&1}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<<J;G=g+28272+(M*40|0)+11|0;I=g+27952+(M*160|0)+40|0;J=12288<<J;K=g+27952+(M*160|0)+42|0;E=0;while(1){if((E|0)==4)break;h=g+28552+(E<<1)|0;g:do if(!(b[h>>1]&256)){V=c[U+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[209023+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=V;a[i+8+(g+28272+(M*40|0))>>0]=V;a[i+1+(g+28272+(M*40|0))>>0]=V;a[g+28272+(M*40|0)+i>>0]=V;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=h&24|0?2:1;B=c[T+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break g;h=a[209023+((H(w,A)|0)+L)>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(M*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;q=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(u<<2)|0;i=u+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[G>>0]|0)==-2){ca=95;break}n=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;m=(c[O>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=95;break}V=c[Y>>2]|0;h=V+(c[P>>2]|0)|0;i=(c[ea>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,V)|0)+h<<2)>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=b[V+(m<<2)+2>>1]<<1;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!m){ca=95;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i&3)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ca=95;while(0);do if((ca|0)==95){ca=0;if(j){k=y+-9|0;m=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{m=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{i=Lj(i,b[t>>1]|0,b[m>>1]|0)|0;h=Lj(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(i){i=b[q>>1]|0;h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){i=b[t>>1]|0;h=b[g+27952+(M*160|0)+(u<<2)+2>>1]|0;break}else{i=b[m>>1]|0;h=b[m+2>>1]|0;break}}else{i=Lj(b[q>>1]|0,b[t>>1]|0,b[m>>1]|0)|0;h=Lj(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0}while(0);k=(Mj(ia)|0)+i|0;i=(Mj(ia)|0)+h|0;do if(C){if(!D){b[z+4>>1]=k;h=i&65535;j=1;ca=115;break}if(x)break;b[z+32>>1]=k;h=i&65535;j=8;ca=115}else{h=k&65535;b[z+36>>1]=h;b[z+32>>1]=h;b[z+4>>1]=h;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;j=1;ca=115}while(0);if((ca|0)==115){ca=0;b[z+(j<<2)+2>>1]=h}b[z>>1]=k;b[g+27952+(M*160|0)+(y<<2)+2>>1]=i;w=w+1|0}}else{V=d[209023+(E<<2)>>0]|0;a[g+28272+(M*40|0)+V>>0]=a[V+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[S>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){Kj(f,g,ha);l=c[(c[ga>>2]|0)+72>>2]&V;break}if(h&8|0){s=g+23412|0;t=c[ha>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[s>>2]|0;if(j>>>0>=h>>>0){r=0;break}if(t&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[k>>2];switch(i|0){case 1:{h=0;break}case 2:{h=(yj(ia)|0)^1;break}default:{h=Jj(ia)|0;if(h>>>0>=i>>>0){ca=132;break h}}}Y=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Y;c[g+28272+(j*40|0)+20>>2]=Y;c[g+28272+(j*40|0)+28>>2]=Y;c[g+28272+(j*40|0)+36>>2]=Y}j=j+1|0}if((ca|0)==132){g=c[f+4>>2]|0;c[p>>2]=h;Te(g,16,197688,p);h=-1;break a}while(1){if(r>>>0>=h>>>0){l=V;break c}if(t&4096<<(r<<1)){i=a[g+28272+(r*40|0)+12>>0]|0;n=a[g+28272+(r*40|0)+4>>0]|0;o=a[g+28272+(r*40|0)+11>>0]|0;m=g+27952+(r*160|0)+44|0;p=g+27952+(r*160|0)+16|0;h=a[g+28272+(r*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(r*160|0)+12|0;l=a[g+28272+(r*40|0)+3>>0]|0}else{q=g+27952+(r*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[m>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(r*160|0)+46>>1]|0;break}else{i=Lj(i,b[p>>1]|0,b[q>>1]|0)|0;h=Lj(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){i=b[m>>1]|0;h=b[g+27952+(r*160|0)+46>>1]|0;break}if(j){i=b[p>>1]|0;h=b[g+27952+(r*160|0)+18>>1]|0;break}else{i=b[q>>1]|0;h=b[q+2>>1]|0;break}}else{i=Lj(b[m>>1]|0,b[p>>1]|0,b[q>>1]|0)|0;h=Lj(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);Y=(Mj(ia)|0)+i|0;h=(Mj(ia)|0)+h<<16|Y&65535;c[g+27952+(r*160|0)+48>>2]=h;c[g+27952+(r*160|0)+52>>2]=h;c[g+27952+(r*160|0)+56>>2]=h;c[g+27952+(r*160|0)+60>>2]=h;c[g+27952+(r*160|0)+80>>2]=h;c[g+27952+(r*160|0)+84>>2]=h;c[g+27952+(r*160|0)+88>>2]=h;c[g+27952+(r*160|0)+92>>2]=h;c[g+27952+(r*160|0)+112>>2]=h;c[g+27952+(r*160|0)+116>>2]=h;c[g+27952+(r*160|0)+120>>2]=h;c[g+27952+(r*160|0)+124>>2]=h;c[g+27952+(r*160|0)+144>>2]=h;c[g+27952+(r*160|0)+148>>2]=h;c[g+27952+(r*160|0)+152>>2]=h;c[g+27952+(r*160|0)+156>>2]=h;h=c[s>>2]|0}r=r+1|0}}Q=g+23412|0;R=c[ha>>2]|0;n=g+21832|0;if(!(h&16))m=0;else{m=0;i:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;j:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(yj(ia)|0)^1;break j}default:{h=Jj(ia)|0;if(h>>>0<i>>>0)break j;else{ca=161;break i}}}}while(0);U=(j<<4|12)+(g+28272+(m*40|0))|0;T=H(h,16843009)|0;c[U>>2]=T;c[U+8>>2]=T;j=j+1|0}m=m+1|0}if((ca|0)==161){g=c[f+4>>2]|0;c[q>>2]=h;Te(g,16,197688,q);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26360|0;P=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+4|0;A=g+27952+(K*160|0)+16|0;B=g+27952+(K*160|0)+18|0;C=g+28272+(K*40|0)+11|0;D=g+27952+(K*160|0)+40|0;E=12288<<y;F=g+27952+(K*160|0)+42|0;G=g+28272+(K*40|0)+27|0;I=g+27952+(K*160|0)+108|0;J=g+27952+(K*160|0)+110|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=x<<4|12}else{i=x<<3;h=x<<4|12;p=a[g+28272+(K*40|0)+h>>0]|0;q=p<<24>>24;do if(!x){if((a[z>>0]|0)!=p<<24>>24){ca=174;break}j=b[A>>1]|0;i=b[B>>1]|0}else{if((a[G>>0]|0)!=p<<24>>24){ca=174;break}j=b[I>>1]|0;i=b[J>>1]|0}while(0);do if((ca|0)==174){ca=0;i=a[209023+i>>0]|0;n=i&255;v=n+-8|0;s=a[g+28272+(K*40|0)+v>>0]|0;w=n+-1|0;t=a[g+28272+(K*40|0)+w>>0]|0;r=g+27952+(K*160|0)+(w<<2)|0;u=g+27952+(K*160|0)+(v<<2)|0;j=n+-4|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[C>>0]|0)==-2){ca=183;break}o=c[(c[L>>2]|0)+48>>2]|0;c[D>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=183;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,U)|0)+j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[D>>1]=b[U+(m<<2)>>1]|0;b[F>>1]=b[U+(m<<2)+2>>1]<<1;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=183;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[D>>1]=b[U+(m<<2)>>1]|0;b[F>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=183;while(0);do if((ca|0)==183){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==p<<24>>24;j=t<<24>>24==p<<24>>24;i=(j&1)+(k&1)+((l|0)==(q|0)&1)|0;if(i>>>0>1){j=Lj(b[r>>1]|0,b[u>>1]|0,b[m>>1]|0)|0;i=Lj(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[r>>1]|0;if(t<<24>>24!=-2&(s<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}else{j=Lj(j,b[u>>1]|0,b[m>>1]|0)|0;i=Lj(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[r>>1]|0;i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}if(k){j=b[u>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);U=(Mj(ia)|0)+j|0;i=(Mj(ia)|0)+i<<16|U&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+8>>2]=i;c[g+27952+(K*160|0)+(h<<2)+12>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+40>>2]=i;c[g+27952+(K*160|0)+(h<<2)+44>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}k:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;l:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(yj(ia)|0)^1;break l}default:{h=Jj(ia)|0;if(h>>>0<i>>>0)break l;else{ca=208;break k}}}}while(0);U=(j<<1)+12+(g+28272+(m*40|0))|0;T=h*257&65535;b[U>>1]=T;b[U+8>>1]=T;b[U+16>>1]=T;b[U+24>>1]=T;j=j+1|0}m=m+1|0}if((ca|0)==208){g=c[f+4>>2]|0;c[r>>2]=h;Te(g,16,197688,r);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26360|0;P=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+11|0;A=g+27952+(K*160|0)+44|0;B=g+27952+(K*160|0)+46|0;C=g+27952+(K*160|0)+40|0;D=12288<<y;E=g+27952+(K*160|0)+42|0;F=g+28272+(K*40|0)+8|0;G=g+27952+(K*160|0)+20|0;I=g+28272+(K*40|0)+5|0;J=g+27952+(K*160|0)+32|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=(x<<1)+12|0}else{j=x<<2;h=(x<<1)+12|0;t=a[g+28272+(K*40|0)+h>>0]|0;w=t<<24>>24;do if(!x)if((a[z>>0]|0)==t<<24>>24){j=b[A>>1]|0;i=b[B>>1]|0}else ca=223;else{i=a[F>>0]|0;if(i<<24>>24==-2){k=G;i=a[I>>0]|0}else k=J;if(i<<24>>24!=t<<24>>24){ca=223;break}j=b[k>>1]|0;i=b[k+2>>1]|0}while(0);do if((ca|0)==223){ca=0;i=a[209023+j>>0]|0;n=i&255;u=n+-8|0;q=a[g+28272+(K*40|0)+u>>0]|0;v=n+-1|0;r=a[g+28272+(K*40|0)+v>>0]|0;p=g+27952+(K*160|0)+(v<<2)|0;s=g+27952+(K*160|0)+(u<<2)|0;j=n+-6|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[z>>0]|0)==-2){ca=232;break}o=c[(c[L>>2]|0)+48>>2]|0;c[C>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=232;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,U)|0)+j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[C>>1]=b[U+(m<<2)>>1]|0;b[E>>1]=b[U+(m<<2)+2>>1]<<1;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=232;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[C>>1]=b[U+(m<<2)>>1]|0;b[E>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=232;while(0);do if((ca|0)==232){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=q<<24>>24==t<<24>>24;j=r<<24>>24==t<<24>>24;i=(j&1)+(k&1)+((l|0)==(w|0)&1)|0;if(i>>>0>1){j=Lj(b[p>>1]|0,b[s>>1]|0,b[m>>1]|0)|0;i=Lj(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[p>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=Lj(j,b[s>>1]|0,b[m>>1]|0)|0;i=Lj(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[p>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}if(k){j=b[s>>1]|0;i=b[g+27952+(K*160|0)+(u<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);U=(Mj(ia)|0)+j|0;i=(Mj(ia)|0)+i<<16|U&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+64>>2]=i;c[g+27952+(K*160|0)+(h<<2)+68>>2]=i;c[g+27952+(K*160|0)+(h<<2)+96>>2]=i;c[g+27952+(K*160|0)+(h<<2)+100>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}else{if(!(h&1)){X=g+21660|0;Y=Ij(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[X>>2]|0,0)|0;c[X>>2]=Y;if((Y|0)<0){h=-1;break a}}else{if((V|0)!=0?(yj(ia)|0)!=0:0){c[ha>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if((i|0)>=16)break;l=d[209023+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;Y=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(Y|0)?Y:h;h=(h|0)<0?2:h;if(!(yj(ia)|0)){Y=Gj(ia,3)|0;h=Y+((Y|0)>=(h|0)&1)|0}if(k){Y=g+21664+l|0;X=h*257&65535;b[Y>>1]=X;b[Y+8>>1]=X}else a[g+21664+l>>0]=h;i=i+j|0}Y=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[Y>>2]=c[g+21700>>2];a[Y+4>>0]=a[g+21695>>0]|0;a[Y+5>>0]=a[g+21687>>0]|0;a[Y+6>>0]=a[g+21679>>0]|0;if((Hj(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if($){X=c[f+4>>2]|0;Y=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=Ij(X,Y,h,Jj(ia)|0,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h;l=V}while(0);h=c[ha>>2]|0;if(h&120|0){i=c[f+26368>>2]|0;j=(H(i<<2,c[ea>>2]|0)|0)+(c[da>>2]<<2)|0;k=c[la>>2]<<2;if(!(h&12288)){Y=(c[f+24384>>2]|0)+k|0;b[Y>>1]=-1;b[Y+2>>1]=-1}else{Y=(c[f+24352>>2]|0)+(j<<2)|0;W=g+28e3|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28008|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28032|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28040|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28064|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28072|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28096|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28104|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24384>>2]|0)+k|0;a[Y>>0]=a[g+28284>>0]|0;a[Y+1>>0]=a[g+28286>>0]|0;a[Y+2>>0]=a[g+28300>>0]|0;a[Y+3>>0]=a[g+28302>>0]|0}if(h&49152|0){Y=(c[f+24356>>2]|0)+(j<<2)|0;W=g+28160|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28168|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28192|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28200|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28224|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28232|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28256|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28264|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24388>>2]|0)+k|0;a[Y>>0]=a[g+28324>>0]|0;a[Y+1>>0]=a[g+28326>>0]|0;a[Y+2>>0]=a[g+28340>>0]|0;a[Y+3>>0]=a[g+28342>>0]|0}}h=c[ha>>2]|0;if(h&2)if(Z>>>0>15&($^1)){Te(c[f+4>>2]|0,16,198346,_);h=-1094995529;break}else w=Z;else{i=Aj(ia)|0;do if($){if(i>>>0>47){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[aa>>2]=i;c[aa+4>>2]=f;c[aa+8>>2]=g;Te(h,16,197705,aa);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=186379+i|0;break}else{i=186331+i|0;break}}else{if(i>>>0>15){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[ba>>2]=i;c[ba+4>>2]=f;c[ba+8>>2]=g;Te(h,16,197705,ba);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=197750+i|0;break}else{i=197734+i|0;break}}while(0);w=d[i>>0]|0}u=(w&15|0)==0;if((h&7|0)==0&(((l|0)==0|u)^1)){h=(yj(ia)|0)<<24;h=c[ha>>2]|h;c[ha>>2]=h}r=f+26392|0;b[(c[r>>2]|0)+(ma<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(ma<<2)>>2]=h;if((w|0)==0?(c[ha>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else ca=274;m:do if((ca|0)==274){i=(c[(c[ga>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=Mj(ia)|0;h=g+848|0;j=(c[h>>2]|0)+l|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[fa>>2]=l;c[fa+4>>2]=ma;c[fa+8>>2]=f;Te(g,16,197766,fa);c[h>>2]=k;h=-1;break a}else j=i}i=c[ka>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ha>>2]|0;fa=(i&128|0)==0;t=(j|0)!=0;v=fa?(t?f+26428|0:f+26716|0):t?f+26572|0:f+26860|0;t=fa?(t?f+26508|0:f+26796|0):t?f+26652|0:f+26940|0;n:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;i=0;n=0;while(1){if((n|0)>=4)break;o:do if(1<<n&w)if(o){m=n<<2;l=0;while(1){if((l|0)>=4)break o;k=l+m|0;if((Nj(f,g,ia,g+28560+(k<<4<<ja<<1)|0,k,v,(c[(c[ka>>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}l=l+1|0;i=d[(d[209023+k>>0]|0)+(g+27824)>>0]<<n|i}}else{l=g+28560+(n<<6<<ja<<1)|0;m=n<<2;k=0;while(1){if((k|0)>=4)break;if((Nj(f,g,ia,l,k+m|0,t+(k<<4)|0,(c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}ea=(d[209023+m>>0]|0)+(g+27824)|0;fa=(d[ea+8>>0]|0)+(d[ea+1>>0]|0)+(d[ea+9>>0]|0)+(d[ea>>0]|0)&255;a[ea>>0]=fa;i=(fa<<24>>24!=0&1)<<n|i;break}else{fa=(d[209023+(n<<2)>>0]|0)+(g+27824)|0;a[fa+9>>0]=0;a[fa+8>>0]=0;a[fa+1>>0]=0;a[fa>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Nj(f,g,ia,i,48,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if((k|0)>=4){i=15;break n}m=k<<2;i=0;while(1){if((i|0)>=4)break;fa=i+m|0;if((Nj(f,g,ia,g+28560+(fa<<4<<ja<<1)|0,fa,l,(c[(c[ka>>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(ma<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[ga>>2]|0)+12>>2]|0;if((r|0)!=3){p:do if(w&48|0){j=r<<2;i=0;while(1){if((i|0)>=2)break p;if((Nj(f,g,ia,g+28560+((i<<8)+256<<ja<<1)|0,i+49|0,(c[(c[ga>>2]|0)+12>>2]|0)==2?186431:186427,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}n=v+1|0;o=16<<ja;i=0;q:while(1){if((i|0)>=2)break m;p=i+1|0;q=(c[(c[ka>>2]|0)+173788+((c[ha>>2]&7|0?0:3)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;l=(i<<4)+16|0;i=g+28560+(l<<4<<ja<<1)|0;j=0;while(1){if((j|0)>=(r|0)){i=p;continue q}m=(j<<3)+l|0;k=0;while(1){if((k|0)>=4)break;if((Nj(f,g,ia,i,m+k|0,n,q,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(o<<1)|0}j=j+1|0}}}i=c[ha>>2]|0;p=c[q>>2]|0;r:do if(!(i&2)){o=i&7|0?1:4;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;s:do if(1<<m&w)if(n){l=(m<<2)+16|0;k=0;while(1){if((k|0)>=4)break s;j=l+k|0;if((Nj(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[209023+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+256<<ja<<1)|0;l=(m<<2)+16|0;j=0;while(1){if((j|0)>=4)break;if((Nj(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}fa=(d[209023+l>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;i=(ga<<24>>24!=0&1)<<m|i;break}else{ga=(d[209023+((m<<2)+16)>>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Nj(f,g,ia,i,49,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break r;l=(j<<2)+16|0;i=0;while(1){if((i|0)>=4)break;ga=l+i|0;if((Nj(f,g,ia,g+28560+(ga<<4<<ja<<1)|0,ga,k,(c[(c[ka>>2]|0)+173792>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ha>>2]|0;p=c[s>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Nj(f,g,ia,i,50,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break m;l=(j<<2)+32|0;i=0;while(1){if((i|0)>=4)break;ha=l+i|0;if((Nj(f,g,ia,g+28560+(ha<<4<<ja<<1)|0,ha,k,(c[(c[ka>>2]|0)+173796>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}o=i&7|0?2:5;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;t:do if(1<<m&w)if(n){l=(m<<2)+32|0;k=0;while(1){if((k|0)>=4)break t;j=l+k|0;if((Nj(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[209023+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+512<<ja<<1)|0;l=(m<<2)+32|0;j=0;while(1){if((j|0)>=4)break;if((Nj(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ga=(d[209023+l>>0]|0)+(g+27824)|0;ha=(d[ga+8>>0]|0)+(d[ga+1>>0]|0)+(d[ga+9>>0]|0)+(d[ga>>0]|0)&255;a[ga>>0]=ha;i=(ha<<24>>24!=0&1)<<m|i;break}else{ha=(d[209023+((m<<2)+32)>>0]|0)+(g+27824)|0;a[ha+9>>0]=0;a[ha+8>>0]=0;a[ha+1>>0]=0;a[ha>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Gc=na;return h|0}function xj(a){a=a|0;var b=0,c=0,e=0;e=Xj(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Dj(a,b);return (Yj(a,b+1|0)|0)+-1|0}function yj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function zj(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Gc;Gc=Gc+16|0;v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25972>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));u=f+21828|0;if(!(c[u>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){Ej(e,f,g);Fj(e,f,g)}Kj(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26368|0}else{j=g|14344;c[x>>2]=j;Ej(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26368|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)h=0;else{t=251328;r=-1;l=16}else{h=c[f+21720>>2]|0;t=d[c[f+21748>>2]>>0]|0;i=a[o+((t&254)+(h<<2|1))>>0]|0;h=p+((H(q,t)|0)+3+(c[(c[e+26360>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))h=0;else{t=h;r=i;l=16}}do if((l|0)==16){k=c[f+21732>>2]|0;if(!(k&12288))if(!k){h=0;break}else{m=-1;n=251328}else{i=c[f+21712>>2]|0;h=a[o+(i<<2|2)>>0]|0;i=p+((c[(c[e+26360>>2]|0)+(i<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[i>>2]|h)){h=0;break}else{m=h;n=i}}i=c[f+21736>>2]|0;do if(!(i&12288))if((i|0)==0?(s=c[f+21728>>2]|0,(s&12288|0)!=0):0){k=c[f+21708>>2]|0;l=c[f+21752>>2]|0;h=a[o+(k<<2|l&2|1)>>0]|0;k=p+(q+3+(l&q<<1)+(c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)<<2)|0;if(c[e+26376>>2]|0){i=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}else{l=251328;h=-1}else{k=c[f+21716>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26376>>2]|0){i=(i&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}while(0);k=(m|0)!=0;i=(r|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=Lj(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=Lj(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[t+2>>1]|0;h=b[t>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=Lj(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=Lj(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);h=i<<16|h&65535}while(0);c[f+28e3>>2]=h;c[f+28004>>2]=h;c[f+28008>>2]=h;c[f+28012>>2]=h;c[f+28032>>2]=h;c[f+28036>>2]=h;c[f+28040>>2]=h;c[f+28044>>2]=h;c[f+28064>>2]=h;c[f+28068>>2]=h;c[f+28072>>2]=h;c[f+28076>>2]=h;c[f+28096>>2]=h;c[f+28100>>2]=h;c[f+28104>>2]=h;c[f+28108>>2]=h}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26372>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;Gc=z;return}function Aj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Gc;Gc=Gc+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[178821+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){Te(0,16,214180,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[184790+a>>0]|0);a=d[185302+a>>0]|0}while(0);Gc=h;return a|0}function Bj(a){a=a|0;var b=0;b=0-(Wj(a)|0)&7;if(b|0)Qj(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function Cj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Wj(a)|0)|0}function Dj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Ej(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=198182;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?198278:198246;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=198214;h=i}else d=198278;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return} |
| | | function jV(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[1008+(b&15)>>0]|0|f;b=wY(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function kV(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=wY(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function lV(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=uY(b|0,c|0,10,0)|0;f=c;c=M()|0;g=sY(b|0,c|0,10,0)|0;g=nY(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function mV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function nV(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=Gc;Gc=Gc+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;DY(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{gV(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}gV(a,f,e)}Gc=g;return}function oV(a,b){a=a|0;b=b|0;if(!a)a=0;else a=pV(a,b,0)|0;return a|0}function pV(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(qV()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(CU()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(CU()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function qV(){return rV()|0}function rV(){return 175536}function sV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(tV(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Pc[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Pc[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);BY(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function tV(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function uV(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function vV(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=wY(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+vV(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 wV(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;BY(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function xV(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+16|0;d=b;c[d>>2]=DU(a)|0;a=pa(6,d|0)|0;a=BU((a|0)==-4?0:a)|0;Gc=b;return a|0}function yV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=Gc;Gc=Gc+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=BU(la(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=la(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=la(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=BU(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=la(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;la(221,k|0)|0}d=BU(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=la(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=la(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;la(221,q|0)|0}d=BU(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;pa(6,o|0)|0}d=BU(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=BU(la(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=BU(la(221,i|0)|0)|0}}while(0);Gc=r;return d|0}function zV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Gc;Gc=Gc+48|0;g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=na(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;la(221,g|0)|0}i=BU(e)|0;Gc=h;return i|0}function AV(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;m=Gc;Gc=Gc+208|0;j=m;k=m+192|0;h=H(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)BV(a,d,e,f,j);else DV(a,d,e,k,f,0,j);if((f|0)==1){EV(k,1);f=0;break}else{EV(k,b);f=1;break}}else{BV(a,d,e,f,j);CV(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}DV(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{EV(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;CV(k,1);DV(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);EV(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;DV(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=FV(k)|0;CV(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);Gc=m;return}function BV(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=Gc;Gc=Gc+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Oc[d&15](h,a)|0)>-1?(Oc[d&15](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Oc[d&15](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);HV(b,l,e);Gc=m;return}function CV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function DV(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;o=Gc;Gc=Gc+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Oc[d&15](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Oc[d&15](g,j)|0)>-1){i=10;break a}if((Oc[d&15](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=FV(m)|0;CV(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Oc[d&15](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){HV(b,n,e);BV(a,b,d,f,h)}Gc=o;return}function EV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function FV(a){a=a|0;var b=0;b=GV((c[a>>2]|0)+-1|0)|0;if(!b){b=GV(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function GV(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function HV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Gc;Gc=Gc+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;BY(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;BY(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);Gc=h;return}function IV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=HU(b)|0}while((IU(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=HU(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[249818+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=HU(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[249827+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=HU(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=HU(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=HU(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(CU()|0)>>2]=22;FU(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=HU(b)|0;if((e|32|0)==120){g=+JV(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+KV(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(CU()|0)>>2]=22;FU(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function JV(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=HU(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=HU(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=HU(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=HU(a)|0;l=mY(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=mY(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=HU(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else FU(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=mY(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=LV(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){FU(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=xY(p|0,o|0,2)|0;l=mY(l|0,M()|0,-32,-1)|0;l=mY(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(CU()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(CU()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=mY(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=nY(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=mY(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+NV(+MV(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(CU()|0)>>2]=34;h=+PV(h,l)}while(0);return +h}function KV(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0.0;G=Gc;Gc=Gc+512|0;D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=HU(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=HU(a)|0;if((b|0)==48){j=0;b=0;while(1){j=mY(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=HU(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=mY(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=HU(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=LV(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){FU(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=mY(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(CU()|0)>>2]=22;FU(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){c[(CU()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0<a>>>0){c[(CU()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[1024+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[1024+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[1024+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=xY(c[o>>2]|0,0,29)|0;l=mY(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=uY(l|0,n|0,1e9,0)|0;a=sY(s|0,M()|0,1e9,0)|0;l=nY(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[175780+(o<<2)>>2]|0;if(m>>>0<n>>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<<v)+-1|0;s=1e9>>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+NV(+MV(1.0,105-m|0),k);q=+OV(k,+MV(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+OV(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;c[(CU()|0)>>2]=34}while(0);i=+PV(i,b)}while(0);Gc=G;return +i}function LV(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=HU(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=HU(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=HU(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=sY(f|0,h|0,10,0)|0;b=M()|0;e=mY(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=mY(e|0,M()|0,l|0,b|0)|0;h=M()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=HU(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=HU(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=nY(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function MV(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=xY(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function NV(a,b){a=+a;b=+b;return +(+QU(a,b))}function OV(a,b){a=+a;b=+b;return +(+QV(a,b))}function PV(a,b){a=+a;b=b|0;return +(+MV(a,b))}function QV(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=wY(j|0,l|0,52)|0;M()|0;e=e&2047;m=wY(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=xY(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=RV(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=xY(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=xY(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=xY(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=xY(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=xY(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=xY(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=xY(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=nY(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=xY(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=nY(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=xY(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=mY(f|0,d|0,0,-1048576)|0;d=M()|0;e=xY(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=wY(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function RV(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function SV(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function TV(b,c){b=b|0;c=c|0;b=UV(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function UV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(SV(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function VV(a,b){a=a|0;b=b|0;var e=0;a=WV(a)|0;if(((a|0)!=-1?(e=WV(b)|0,(e|0)!=-1):0)?(d[1056+a>>0]|0)<=207:0)a=e<<16|a;else{c[(CU()|0)>>2]=22;a=-1}return a|0}function WV(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?1056:b;b=1056;while(1){if(!(XV(d,b)|0)){e=3;break}b=b+((SV(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((SV(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-1056|0}return b|0}function XV(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function YV(a){a=a|0;return 0}function ZV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Gc;Gc=Gc+16|0;h=l;j=(g|0)==0?253500:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(_V()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[64+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(CU()|0)>>2]=84;g=-1}Gc=l;return g|0}function _V(){return rV()|0}function $V(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Gc;Gc=Gc+16|0;g=f;c[g>>2]=e;e=_U(a,b,d,g)|0;Gc=f;return e|0}function aW(a,b){a=a|0;b=b|0;bW(a,b)|0;return a|0}function bW(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cW(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[h>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){i=a+26388279066624.0;g[h>>3]=i;e=(c[h>>2]|0)+128|0;d=e<<1&510;f=+g[5424+(d<<3)>>3];a=a-(i+-26388279066624.0)-+g[5424+((d|1)<<3)>>3];a=+MV(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function dW(a){a=+a;a=+eW(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function eW(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function fW(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+TU(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+TU(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+TU(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function gW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=BU(ma(3,f|0)|0)|0;Gc=e;return d|0}function hW(a,b){a=a|0;b=b|0;var c=0;c=SV(a)|0;return ((iW(a,1,c,b)|0)!=(c|0))<<31>>31|0}function iW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(eV(e)|0)==0;a=sV(a,f,e)|0;if(!g)fV(e)}else a=sV(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function jW(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Gc;Gc=Gc+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(tV(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Pc[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Gc=l;return f|0}function kW(a){a=a|0;var b=0,c=0;b=(SV(a)|0)+1|0;c=FW(b)|0;if(!c)a=0;else a=BY(c|0,a|0,b|0)|0;return a|0}function lW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d;d=mW(a,b,f)|0;Gc=e;return d|0}function mW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+144|0;f=e;DY(f|0,0,144)|0;c[f+32>>2]=11;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=oW(f,b,d)|0;Gc=e;return d|0}function nW(a,b,c){a=a|0;b=b|0;c=c|0;return sW(a,b,c)|0}function oW(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0;Q=Gc;Gc=Gc+288|0;J=Q+264|0;K=Q;L=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=eV(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(IU(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(ZU(o&255)|0?(a[m+2>>0]|0)==36:0){z=pW(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(ZU(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((ZU(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{qW(z,t,u,v);n=u;o=v;break c}default:{FU(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=HU(e)|0}while((IU(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=mY(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=mY(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;FU(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0<n>>>0)c[B>>2]=o+1;else{if((HU(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){DY(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;DY(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FW(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=HU(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[N>>0]=o;switch(ZV(L,N,1,J)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=HW(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(rW(J)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FW(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=HU(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=HW(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=HU(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=HU(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=mY(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+IV(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=nY(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=GU(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=nY(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{qW(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=mY(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=mY(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;FU(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=HU(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=mY(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(IU(d[l>>0]|0)|0))break;else m=l}FU(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=HU(e)|0}while((IU(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=mY(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=mY(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GW(k);GW(j)}}else h=0;while(0);if(P|0)fV(e);Gc=Q;return h|0}function pW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Gc;Gc=Gc+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}Gc=e;return a|0}function qW(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function rW(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;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;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=mV(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;BY(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function tW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d;d=$U(a,b,f)|0;Gc=e;return d|0}function uW(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=TV(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=vW(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=wW(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=xW(b,c)|0;break}else{b=yW(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function vW(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function wW(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function xW(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function yW(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Gc;Gc=Gc+1056|0;u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(XU(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<t>>>0){i=mV(g,0,n)|0;if(i)if((i-h|0)>>>0<t>>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0<l>>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);Gc=w;return f|0}function zW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=Gc;Gc=Gc+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);Gc=g;return d|0}function AW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(eV(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=jW(d,b)|0;fV(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=jW(d,b)|0}while(0);return e|0}function BW(a,b){a=a|0;b=b|0;return +(+CW(a,b,1))}function CW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=Gc;Gc=Gc+144|0;e=g;DY(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;FU(e,0,0);f=+IV(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=mY(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;Gc=g;return +f}function DW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=Oc[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function EW(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(BU(oa(54,d|0)|0)|0)==0&1;Gc=b;return a|0}function FW(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=Gc;Gc=Gc+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[63376]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=253544+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[63376]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Gc=w;return v|0}l=c[63378]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=253544+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[63376]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[63381]|0;b=l>>>3;d=253544+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[63376]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[63378]=h;c[63381]=f;v=i;Gc=w;return v|0}g=c[63377]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[253808+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=253808+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[63377]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[63381]|0;b=l>>>3;d=253544+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[63376]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[63378]=j;c[63381]=h}v=i+8|0;Gc=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[63377]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[253808+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[253808+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[63378]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=253808+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[63377]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=253544+(b<<1<<2)|0;a=c[63376]|0;b=1<<b;if(!(a&b)){c[63376]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=253808+(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[63377]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Gc=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[63378]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[63381]|0;if(b>>>0>15){v=a+m|0;c[63381]=v;c[63378]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[63378]=0;c[63381]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Gc=w;return v|0}h=c[63379]|0;if(h>>>0>m>>>0){t=h-m|0;c[63379]=t;v=c[63382]|0;u=v+m|0;c[63382]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Gc=w;return v|0}if(!(c[63494]|0)){c[63496]=4096;c[63495]=4096;c[63497]=-1;c[63498]=-1;c[63499]=0;c[63487]=0;c[63494]=n&-16^1431655768;a=4096}else a=c[63496]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Gc=w;return v|0}a=c[63486]|0;if(a|0?(l=c[63484]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Gc=w;return v|0}d:do if(!(c[63487]&4)){d=c[63382]|0;e:do if(d){e=253952;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=FY(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=FY(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[63495]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[63484]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[63486]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=FY(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[63496]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((FY(a|0)|0)==(-1|0)){FY(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[63487]=c[63487]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=FY(k|0)|0,p=FY(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[63484]|0)+h|0;c[63484]=b;if(b>>>0>(c[63485]|0)>>>0)c[63485]=b;j=c[63382]|0;f:do if(j){b=253952;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[63379]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[63382]=u;c[63379]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[63383]=c[63498];break}if(g>>>0<(c[63380]|0)>>>0)c[63380]=g;d=g+h|0;b=253952;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[63379]|0)+i|0;c[63379]=v;c[63382]=k;c[k+4>>2]=v|1}else{if((c[63381]|0)==(b|0)){v=(c[63378]|0)+i|0;c[63378]=v;c[63381]=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[63376]=c[63376]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=253808+(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[63377]=c[63377]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=253544+(b<<1<<2)|0;a=c[63376]|0;b=1<<b;if(!(a&b)){c[63376]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=253808+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[63377]|0;d=1<<e;if(!(a&d)){c[63377]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Gc=w;return v|0}b=253952;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[63382]=u;c[63379]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[63383]=c[63498];d=a+4|0;c[d>>2]=27;c[b>>2]=c[63488];c[b+4>>2]=c[63489];c[b+8>>2]=c[63490];c[b+12>>2]=c[63491];c[63488]=g;c[63489]=h;c[63491]=0;c[63490]=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=253544+(b<<1<<2)|0;a=c[63376]|0;b=1<<b;if(!(a&b)){c[63376]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=253808+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[63377]|0;a=1<<e;if(!(b&a)){c[63377]=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[63380]|0;if((v|0)==0|g>>>0<v>>>0)c[63380]=g;c[63488]=g;c[63489]=h;c[63491]=0;c[63385]=c[63494];c[63384]=-1;c[63389]=253544;c[63388]=253544;c[63391]=253552;c[63390]=253552;c[63393]=253560;c[63392]=253560;c[63395]=253568;c[63394]=253568;c[63397]=253576;c[63396]=253576;c[63399]=253584;c[63398]=253584;c[63401]=253592;c[63400]=253592;c[63403]=253600;c[63402]=253600;c[63405]=253608;c[63404]=253608;c[63407]=253616;c[63406]=253616;c[63409]=253624;c[63408]=253624;c[63411]=253632;c[63410]=253632;c[63413]=253640;c[63412]=253640;c[63415]=253648;c[63414]=253648;c[63417]=253656;c[63416]=253656;c[63419]=253664;c[63418]=253664;c[63421]=253672;c[63420]=253672;c[63423]=253680;c[63422]=253680;c[63425]=253688;c[63424]=253688;c[63427]=253696;c[63426]=253696;c[63429]=253704;c[63428]=253704;c[63431]=253712;c[63430]=253712;c[63433]=253720;c[63432]=253720;c[63435]=253728;c[63434]=253728;c[63437]=253736;c[63436]=253736;c[63439]=253744;c[63438]=253744;c[63441]=253752;c[63440]=253752;c[63443]=253760;c[63442]=253760;c[63445]=253768;c[63444]=253768;c[63447]=253776;c[63446]=253776;c[63449]=253784;c[63448]=253784;c[63451]=253792;c[63450]=253792;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[63382]=u;c[63379]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[63383]=c[63498]}while(0);b=c[63379]|0;if(b>>>0>m>>>0){t=b-m|0;c[63379]=t;v=c[63382]|0;u=v+m|0;c[63382]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Gc=w;return v|0}}c[(CU()|0)>>2]=12;v=0;Gc=w;return v|0}function GW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[63380]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[63381]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[63378]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[63376]=c[63376]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=253808+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[63377]=c[63377]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[63382]|0)==(j|0)){j=(c[63379]|0)+b|0;c[63379]=j;c[63382]=i;c[i+4>>2]=j|1;if((i|0)!=(c[63381]|0))return;c[63381]=0;c[63378]=0;return}if((c[63381]|0)==(j|0)){j=(c[63378]|0)+b|0;c[63378]=j;c[63381]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[63376]=c[63376]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=253808+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[63377]=c[63377]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[63381]|0)){c[63378]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=253544+(a<<1<<2)|0;b=c[63376]|0;a=1<<a;if(!(b&a)){c[63376]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=253808+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[63377]|0;d=1<<e;a:do if(!(b&d)){c[63377]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[63384]|0)+-1|0;c[63384]=j;if(j|0)return;a=253960;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[63384]=-1;return}function HW(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FW(b)|0;return b|0}if(b>>>0>4294967231){c[(CU()|0)>>2]=12;b=0;return b|0}d=IW(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FW(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;BY(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;GW(a);b=d;return b|0}function IW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[63496]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;JW(k,d);return a|0}if((c[63382]|0)==(i|0)){k=(c[63379]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[63382]=e;c[63379]=d;return a|0}if((c[63381]|0)==(i|0)){e=(c[63378]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[63378]=d;c[63381]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[63376]=c[63376]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=253808+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[63377]=c[63377]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;JW(i,k);return a|0}return 0}function JW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[63381]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[63378]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[63376]=c[63376]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=253808+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[63377]=c[63377]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[63382]|0)==(i|0)){i=(c[63379]|0)+b|0;c[63379]=i;c[63382]=h;c[h+4>>2]=i|1;if((h|0)!=(c[63381]|0))return;c[63381]=0;c[63378]=0;return}if((c[63381]|0)==(i|0)){i=(c[63378]|0)+b|0;c[63378]=i;c[63381]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[63376]=c[63376]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=253808+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[63377]=c[63377]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[63381]|0)){c[63378]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=253544+(b<<1<<2)|0;a=c[63376]|0;b=1<<b;if(!(a&b)){c[63376]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=253808+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[63377]|0;d=1<<e;if(!(a&d)){c[63377]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function KW(a,b){a=a|0;b=b|0;if(a>>>0<9){b=FW(b)|0;return b|0}else{b=LW(a,b)|0;return b|0}return 0}function LW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(CU()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=FW(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;JW(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;JW(f,i)}i=b+8|0;return i|0}function MW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0<d>>>0){a=12;return a|0}else{b=LW(b>>>0>16?b:16,d)|0;break}}else b=FW(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function NW(a,b){a=a|0;b=b|0;return 0}function OW(a){a=a|0;return 0}function PW(a){a=a|0;return 0}function QW(a){a=a|0;return 0}function RW(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=FW(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function SW(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function TW(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function UW(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Tc[b&7]();c[a>>2]=324508639;return 0}function VW(){$(254016);return}function WW(){return 254e3}function XW(){return 254008}function YW(){return 254012}function ZW(){return 254016}function _W(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FW(b)|0;if(a|0)break;a=jY()|0;if(!a){a=0;break}Tc[a&7]()}return a|0}function $W(a){a=a|0;GW(a);return}function aX(a,b){a=a|0;b=b|0;var d=0,e=0;e=SV(b)|0;d=_W(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=bX(d)|0;BY(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function bX(a){a=a|0;return a+12|0}function cX(a,b){a=a|0;b=b|0;c[a>>2]=175880;aX(a+4|0,b);return}function dX(a){a=a|0;return 1}function eX(a){a=a|0;Za()}function fX(a){a=a|0;Za()}function gX(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)BY(a|0,b|0,c|0)|0;return a|0}function hX(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function iX(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)DY(a|0,(jX(c)|0)&255|0,b|0)|0;return a|0}function jX(a){a=a|0;return a&255|0}function kX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;hX(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;hX(b+d|0,g);a[h>>0]=d;break}else lX(b,d-f|0,e)|0;while(0);Gc=j;return}function lX(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=Gc;Gc=Gc+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){mX(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iX(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;hX(g+f|0,i)}Gc=k;return b|0}function mX(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)eX(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=_W(j)|0;if(g|0)gX(k,l,g)|0;e=f-h-g|0;if(e|0)gX(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)$W(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function nX(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)fX(b);if(f)b=c[b>>2]|0;return b+d|0}function oX(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Gc;Gc=Gc+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=pX()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=249967;qX(249917,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Pc[c[(c[14592]|0)+16>>2]&15](58368,e,f)|0){i=c[f>>2]|0;i=Mc[c[(c[i>>2]|0)+8>>2]&31](i)|0;c[g>>2]=249967;c[g+4>>2]=a;c[g+8>>2]=i;qX(249831,g)}else{c[i>>2]=249967;c[i+4>>2]=a;qX(249876,i)}}qX(249955,h)}function pX(){var a=0,b=0;a=Gc;Gc=Gc+16|0;if(!(UW(254020,6)|0)){b=SW(c[63506]|0)|0;Gc=a;return b|0}else qX(250106,a);return 0}function qX(a,b){a=a|0;b=b|0;var d=0;d=Gc;Gc=Gc+16|0;c[d>>2]=b;b=c[43883]|0;$U(b,a,d)|0;AW(10,b)|0;Za()}function rX(a){a=a|0;return}function sX(a){a=a|0;rX(a);$W(a);return}function tX(a){a=a|0;return}function uX(a){a=a|0;return}function vX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+64|0;f=h;if(!(zX(a,b,0)|0))if((b|0)!=0?(g=DX(b,58392,58376,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Xc[c[(c[g>>2]|0)+28>>2]&255](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Gc=h;return b|0}function wX(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(zX(a,c[b+8>>2]|0,g)|0)CX(0,b,d,e,f);return}function xX(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(!(zX(b,c[d+8>>2]|0,g)|0)){if(zX(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else BX(0,d,e,f);while(0);return}function yX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(zX(a,c[b+8>>2]|0,0)|0)AX(0,b,d,e);return}function zX(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function AX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function BX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function CX(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function DX(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Gc;Gc=Gc+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(zX(m,f,0)|0){c[n+48>>2]=1;Zc[c[(c[m>>2]|0)+20>>2]&63](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yc[c[(c[m>>2]|0)+24>>2]&127](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Gc=p;return d|0}function EX(a){a=a|0;rX(a);$W(a);return}function FX(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(zX(a,c[b+8>>2]|0,g)|0)CX(0,b,d,e,f);else{a=c[a+8>>2]|0;Zc[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g)}return}function GX(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(!(zX(b,c[d+8>>2]|0,g)|0)){if(!(zX(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yc[c[(c[i>>2]|0)+24>>2]&127](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zc[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else BX(0,d,e,f);while(0);return}function HX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(zX(a,c[b+8>>2]|0,0)|0)AX(0,b,d,e);else{a=c[a+8>>2]|0;Xc[c[(c[a>>2]|0)+28>>2]&255](a,b,d,e)}return}function IX(a){a=a|0;return}function JX(){var a=0;a=Gc;Gc=Gc+16|0;if(!(RW(254024,36)|0)){Gc=a;return}else qX(250155,a)}function KX(a){a=a|0;var b=0;b=Gc;Gc=Gc+16|0;GW(a);if(!(TW(c[63506]|0,0)|0)){Gc=b;return}else qX(250205,b)}function LX(){var a=0,b=0;a=pX()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)MX(c[b+12>>2]|0);MX(NX()|0)}function MX(a){a=a|0;var b=0;b=Gc;Gc=Gc+16|0;Tc[a&7]();qX(250258,b)}function NX(){var a=0;a=c[43947]|0;c[43947]=a+0;return a|0}function OX(a){a=a|0;return}function PX(a){a=a|0;c[a>>2]=175880;TX(a+4|0);return}function QX(a){a=a|0;PX(a);$W(a);return}function RX(a){a=a|0;return SX(a+4|0)|0}function SX(a){a=a|0;return c[a>>2]|0}function TX(a){a=a|0;var b=0,d=0;if(dX(a)|0?(b=UX(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)$W(b);return}function UX(a){a=a|0;return a+-12|0}function VX(a){a=a|0;PX(a);$W(a);return}function WX(a){a=a|0;rX(a);$W(a);return}function XX(a,b,c){a=a|0;b=b|0;c=c|0;return zX(a,b,0)|0}function YX(a){a=a|0;rX(a);$W(a);return}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=Gc;Gc=Gc+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(_X(a,b,0)|0))if(((b|0)!=0?(e=DX(b,58392,58480,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(zX(c[a>>2]|0,c[b>>2]|0,0)|0)?!(zX(c[a>>2]|0,58512,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=DX(a,58392,58376,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=DX(f,58392,58376,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Xc[c[(c[i>>2]|0)+28>>2]&255](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Gc=j;return a|0}function _X(a,b,c){a=a|0;b=b|0;c=c|0;if(zX(a,b,0)|0)a=1;else a=zX(b,58520,0)|0;return a|0}function $X(a){a=a|0;rX(a);$W(a);return}function aY(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(zX(b,c[d+8>>2]|0,h)|0)CX(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;eY(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;eY(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function bY(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(!(zX(b,c[d+8>>2]|0,g)|0)){if(!(zX(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;fY(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;fY(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;fY(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;fY(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;eY(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else BX(0,d,e,f);while(0);return}function cY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(zX(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;dY(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{dY(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else AX(0,d,e,f);while(0);return}function dY(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;Xc[c[(c[a>>2]|0)+28>>2]&255](a,b,d+f|0,(g&2|0)==0?2:e);return}function eY(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;Zc[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function fY(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;Yc[c[(c[a>>2]|0)+24>>2]&127](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function gY(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function hY(a){a=a|0;return}function iY(a){a=a|0;return}function jY(){var a=0;a=c[63507]|0;c[63507]=a+0;return a|0}function kY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Gc;Gc=Gc+16|0;e=f;c[e>>2]=c[d>>2];a=Pc[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Gc=f;return a&1|0}function lY(a){a=a|0;if(!a)a=0;else a=(DX(a,58392,58480,0)|0)!=0&1;return a|0}function mY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function nY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L(d|0),a-c>>>0|0)|0}function oY(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|0}function pY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (L(o|0),p)|0}else{p=oY(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((oY(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (L(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=mY(m|0,l|0,-1,-1)|0;d=M()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;nY(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=nY(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function qY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=nY(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return nY((pY(h,g,nY(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function rY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function sY(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=rY(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function tY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Gc;Gc=Gc+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=nY(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;pY(a,b,nY(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=nY(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;Gc=f;return (L(d|0),e)|0}function uY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pY(a,b,c,d,0)|0}function vY(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(((b|0)<0?-1:0)|0);return b>>c-32|0}function wY(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(0);return b>>>c-32|0}function xY(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}L(a<<c-32|0);return 0}function yY(a){a=a|0;return (a&255)<<8|a>>8&255|0}function zY(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function AY(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function BY(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ib(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 CY(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 BY(b,c,d)|0;return b|0}function DY(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 EY(a){a=a|0;return 0}function FY(a){a=a|0;var b=0,d=0,e=0;e=fb()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Hb(b|0)|0;ia(12);return -1}if((b|0)>(e|0))if(!(jb(b|0)|0)){ia(12);return -1}c[i>>2]=b;return d|0}function GY(a,b){a=a|0;b=+b;return +Jc[a&15](+b)}function HY(a,b,c){a=a|0;b=b|0;c=+c;return +Kc[a&0](b|0,+c)}function IY(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Lc[a&0](b|0,+c,+d)}function JY(a,b){a=a|0;b=b|0;return Mc[a&31](b|0)|0}function KY(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Nc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function LY(a,b,c){a=a|0;b=b|0;c=c|0;return Oc[a&15](b|0,c|0)|0}function MY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pc[a&15](b|0,c|0,d|0)|0}function NY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Qc[a&3](b|0,c|0,d|0,e|0)|0}function OY(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 Rc[a&63](b|0,c|0,d|0,e|0,f|0)|0}function PY(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 Sc[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function QY(a){a=a|0;Tc[a&7]()}function RY(a,b){a=a|0;b=b|0;Uc[a&63](b|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;Vc[a&255](b|0,c|0)}function TY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wc[a&1023](b|0,c|0,d|0)}function UY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xc[a&255](b|0,c|0,d|0,e|0)}function VY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yc[a&127](b|0,c|0,d|0,e|0,f|0)}function WY(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;Zc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function XY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;_c[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function YY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;$c[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ZY(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ad[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function _Y(a){a=+a;K(0);return 0.0}function $Y(a){a=+a;return +Db(+a)}function aZ(a){a=+a;return +cb(+a)}function bZ(a){a=+a;return +Fb(+a)}function cZ(a){a=+a;return +ab(+a)}function dZ(a){a=+a;return +$a(+a)}function eZ(a){a=+a;return +_a(+a)}function fZ(a){a=+a;return +kb(+a)}function gZ(a){a=+a;return +vb(+a)}function hZ(a){a=+a;return +lb(+a)}function iZ(a,b){a=a|0;b=+b;K(1);return 0.0}function jZ(a,b,c){a=a|0;b=+b;c=+c;K(2);return 0.0}function kZ(a){a=a|0;K(3);return 0}function lZ(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;K(4);return 0}function mZ(a,b){a=a|0;b=b|0;K(5);return 0}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;K(6);return 0}function oZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(7);return 0}function pZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(8);return 0}function qZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(9);return 0}function rZ(){K(10)}function sZ(){ea()}function tZ(a){a=a|0;K(11)}function uZ(a,b){a=a|0;b=b|0;K(12)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;K(13)}function wZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(14)}function xZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(15)}function yZ(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(16)}function zZ(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;K(17)}function AZ(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;K(18)}function BZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;K(19)} |
| | | function Sh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=Gc;Gc=Gc+80|0;B=Y+64|0;t=Y+48|0;s=Y+40|0;r=Y+32|0;q=Y+24|0;p=Y+16|0;m=Y+8|0;l=Y;Q=f+568|0;n=c[Q>>2]|0;T=f+560|0;o=c[T>>2]|0;a:do if((((c[(c[f>>2]|0)+572>>2]|0?(k=f+572|0,c[k>>2]|0):0)?(c[(c[f>>2]|0)+680>>2]|0)==0:0)?Th(f)|0:0)?(S=f+556|0,j=c[S>>2]|0,h=c[f>>2]|0,(c[k>>2]|0)!=(H(j*3|0,(c[h+272>>2]|0)+(c[h+268>>2]|0)|0)|0)):0){g=f+672|0;C=c[g>>2]|0;U=C+32|0;X=f+580|0;V=f+564|0;i=0;while(1){if((i|0)>=(j|0))break;if((a[(c[X>>2]|0)+((H((c[T>>2]|0)+-1|0,c[V>>2]|0)|0)+i)>>0]|0)!=127)break;i=i+1|0}if(((i|0)==(j|0)?(c[h+16>>2]|0)==2:0)?((c[h+96>>2]|0)+15&16|0)!=0:0){h=c[f>>2]|0;if((c[k>>2]|0)==(H((c[S>>2]|0)*3|0,(c[h+268>>2]|0)+1+(c[h+272>>2]|0)|0)|0)){Te(h,48,191163,l);break}}A=f+704|0;i=c[A>>2]|0;do if(i|0){O=c[g>>2]|0;if(((c[i+68>>2]|0)==(c[O+68>>2]|0)?(c[i+72>>2]|0)==(c[O+72>>2]|0):0)?(c[i+80>>2]|0)==(c[O+80>>2]|0):0)break;Te(h,24,191192,m);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){O=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[O+68>>2]|0)?(c[h+72>>2]|0)==(c[O+72>>2]|0):0)?(c[h+80>>2]|0)==(c[O+80>>2]|0):0)break;Te(c[f>>2]|0,24,191242,p);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))R=27;b:do if((R|0)==27){Te(c[f>>2]|0,16,191288,q);i=(H(n<<3,o)|0)+16|0;h=0;while(1){if((h|0)>=2)break b;k=f+768+(h<<2)|0;c[k>>2]=tg(H(c[V>>2]<<2,c[T>>2]|0)|0)|0;j=tg(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0){g=0;break}c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}while(1){if((g|0)==2)break a;zf(f+768+(g<<2)|0);zf(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+576>>2]&1024|0){h=0;while(1){if((h|0)<(c[T>>2]|0))i=0;else break c;while(1){if((i|0)>=(c[S>>2]|0))break;N=d[(c[X>>2]|0)+((H(c[V>>2]|0,h)|0)+i)>>0]|0;O=c[f>>2]|0;c[r>>2]=N;Te(O,48,191315,r);i=i+1|0}Te(c[f>>2]|0,48,191320,s);h=h+1|0}}while(0);N=f+552|0;O=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<<l;o=1<<l;i=0;h=c[N>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[X>>2]|0)+(c[(c[O>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}M=f+792|0;d:do if(c[M>>2]|0){i=0;h=c[N>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[X>>2]|0)+(c[(c[O>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+580>>2]&8|0){h=1;l=(c[N>>2]|0)+-2|0;while(1){if((l|0)<((c[S>>2]|0)+100|0))break e;L=c[O>>2]|0;K=c[X>>2]|0;i=K+(c[L+(l<<2)>>2]|0)|0;j=a[i>>0]|0;k=j&255;h=(k&1|0)==0?h:1;if(j<<24>>24!=127?(a[K+(c[L+(l+1<<2)>>2]|0)>>0]|0)==127:0){if((k&112|0)!=0|(h|0)==0)R=60}else if(!h)R=60;if((R|0)==60){R=0;a[i>>0]=j|14;h=0}l=l+-1|0}}while(0);L=f+600|0;h=9999999;l=1;while(1){if((l|0)==4){h=0;l=0;break}m=1<<l;n=72104+(l+-1<<2)|0;i=c[N>>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;K=c[(c[O>>2]|0)+(k<<2)>>2]|0;i=(c[X>>2]|0)+K|0;j=d[i>>0]|0;J=c[L>>2]|0;if(!((J|0)!=0?(a[J+K>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[M>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}while(1){j=c[N>>2]|0;if((l|0)>=(j|0))break;i=(c[X>>2]|0)+(c[(c[O>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[M>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[X>>2]|0)+(c[(c[O>>2]|0)+(i<<2)>>2]|0)|0;K=d[h>>0]|0;a[h>>0]=(K&14|0)==0?K:K|14;i=i+1|0;h=c[N>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;K=d[(c[X>>2]|0)+(c[(c[O>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(K>>>2&1)+i|0;j=(K>>>3&1)+j|0;k=(K>>>1&1)+k|0;l=l+1|0}K=c[f>>2]|0;J=(Uh(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=J;Te(K,32,191322,t);j=(Vh(f)|0)!=0;j=j?1:12296;K=f+696|0;i=0;while(1){h=c[N>>2]|0;if((i|0)>=(h|0))break;h=c[(c[O>>2]|0)+(i<<2)>>2]|0;if((a[(c[X>>2]|0)+h>>0]&12)==12)c[(c[K>>2]|0)+(h<<2)>>2]=j;i=i+1|0}J=c[A>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))R=92;g:do if((R|0)==92){J=c[z>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)break;else j=0;while(1){if((j|0)>=(h|0))break g;i=(c[K>>2]|0)+(c[(c[O>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[N>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;p=0;while(1){h=c[T>>2]|0;if((p|0)>=(h|0))break;o=p<<1;n=0;while(1){if((n|0)>=(c[S>>2]|0))break;i=(H(c[V>>2]|0,p)|0)+n|0;j=c[(c[K>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h)h=0;else h=(c[h>>2]|0)!=0;k=(h^1)&1;m=h?1:2;J=d[(c[X>>2]|0)+i>>0]|0;if(!((J&2|0)==0|(J&8|j&7|0)!=0)){h:do if(!(j&64)){J=f+680+(k<<2)|0;h=(H(c[Q>>2]|0,o)|0)+(n<<1)|0;c[u>>2]=b[(c[J>>2]|0)+(h<<2)>>1];c[v>>2]=b[(c[J>>2]|0)+(h<<2)+2>>1];h=0}else{j=c[Q>>2]|0;l=(H(j,p)|0)+n<<1;i=f+680+(k<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}I=h&1|l;G=h>>1;c[f+608+(h<<3)>>2]=b[(c[i>>2]|0)+((H(j,G)|0)+I<<2)>>1];J=c[Q>>2]|0;c[f+608+(h<<3)+4>>2]=b[(c[i>>2]|0)+((H(J,G)|0)+I<<2)+2>>1];h=h+1|0;j=J}}while(0);$c[c[w>>2]&1](c[x>>2]|0,0,m,h,y,n,p,0,0)}n=n+1|0}p=p+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){P=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[S>>2]|0))break;k=(H(m,c[Q>>2]|0)|0)+(l<<1)|0;J=(H(c[V>>2]|0,n)|0)+l|0;if(!((a[(c[X>>2]|0)+J>>0]&10)!=10?1:(c[(c[K>>2]|0)+(J<<2)>>2]&7|0)!=0)){J=c[A>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)h=3;else h=2;J=c[z>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+16>>2]|0)==27)break j;Wh(c[s>>2]|0,n,0);J=c[t>>2]|0;G=b[J+(k<<2)>>1]|0;c[u>>2]=(H(G,j)|0)/(i|0)|0;J=b[J+(k<<2)+2>>1]|0;c[v>>2]=(H(J,j)|0)/(i|0)|0;I=j-i|0;c[p>>2]=(H(I,G)|0)/(i|0)|0;i=(H(I,J)|0)/(i|0)|0}c[q>>2]=i;$c[c[w>>2]&1](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[T>>2]|0}c[B>>2]=191373;c[B+4>>2]=191412;c[B+8>>2]=1212;Te(0,0,222432,B);Za()}else{Xh(f);P=c[T>>2]|0}while(0);J=C+36|0;I=C+40|0;z=f+588|0;A=f+592|0;B=f+596|0;x=0;while(1){if((x|0)>=(P|0))break;C=x<<4;D=x<<3;y=0;while(1){if((y|0)>=(c[S>>2]|0))break;E=(H(c[V>>2]|0,x)|0)+y|0;if(!((c[(c[K>>2]|0)+(E<<2)>>2]&7|0)!=0?(c[M>>2]|0)!=0:0))R=140;do if((R|0)==140){R=0;w=c[g>>2]|0;l=c[U>>2]|0;m=(c[w>>2]|0)+(y<<4)+(H(C,l)|0)|0;n=c[w+4>>2]|0;u=y<<3;F=c[J>>2]|0;o=H(F,D)|0;w=c[w+8>>2]|0;G=c[I>>2]|0;v=H(G,D)|0;p=c[Q>>2]|0;q=(c[z>>2]|0)+((H(p,x)|0)+y<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1<<3;k=0;h=0;while(1){if((k|0)==8)break;t=H(l,k+s|0)|0;i=0;while(1){if((i|0)==8)break;Z=h+(d[m+(i+r+t)>>0]|0)|0;i=i+1|0;h=Z}k=k+1|0}b[q+((H(p,j>>1)|0)+(j&1)<<1)>>1]=(h+4|0)>>>3;j=j+1|0}o=n+u+o|0;n=w+u+v|0;if(!w)break;else{h=0;i=0;k=0}while(1){if((k|0)==8)break;l=H(F,k)|0;m=H(G,k)|0;j=0;while(1){if((j|0)==8)break;Z=i+(d[o+(l+j)>>0]|0)|0;w=h+(d[n+(m+j)>>0]|0)|0;j=j+1|0;h=w;i=Z}k=k+1|0}b[(c[A>>2]|0)+(E<<1)>>1]=(i+4|0)>>>3;b[(c[B>>2]|0)+(E<<1)>>1]=(h+4|0)>>>3}while(0);y=y+1|0}x=x+1|0}Yh(f,c[z>>2]|0,c[S>>2]<<1,P<<1,c[Q>>2]|0,1);Yh(f,c[A>>2]|0,c[S>>2]|0,c[T>>2]|0,c[V>>2]|0,0);Yh(f,c[B>>2]|0,c[S>>2]|0,c[T>>2]|0,c[V>>2]|0,0);Zh(c[z>>2]|0,c[S>>2]<<1,c[T>>2]<<1,c[Q>>2]|0);l=0;while(1){h=c[T>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[S>>2]|0))break;k=(H(c[V>>2]|0,l)|0)+h|0;do if(!(c[(c[K>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[X>>2]|0)+k>>0]&2))break;R=c[g>>2]|0;P=(c[R>>2]|0)+(h<<4)+(H(i,c[U>>2]|0)|0)|0;Z=h<<3;Q=(c[R+4>>2]|0)+Z+(H(c[J>>2]|0,j)|0)|0;R=c[R+8>>2]|0;Z=R+Z+(H(c[I>>2]|0,j)|0)|0;R=(R|0)==0;_h(f,P,R?0:Q,R?0:Z,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+572>>2]&2|0?($h(f,c[c[g>>2]>>2]|0,c[S>>2]<<1,h<<1,c[U>>2]|0,1),ai(f,c[c[g>>2]>>2]|0,c[S>>2]<<1,c[T>>2]<<1,c[U>>2]|0,1),W=c[g>>2]|0,c[W+8>>2]|0):0){$h(f,c[W+4>>2]|0,c[S>>2]|0,c[T>>2]|0,c[J>>2]|0,0);$h(f,c[(c[g>>2]|0)+8>>2]|0,c[S>>2]|0,c[T>>2]|0,c[I>>2]|0,0);ai(f,c[(c[g>>2]|0)+4>>2]|0,c[S>>2]|0,c[T>>2]|0,c[J>>2]|0,0);ai(f,c[(c[g>>2]|0)+8>>2]|0,c[S>>2]|0,c[T>>2]|0,c[I>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[N>>2]|0)){h=0;break}k=c[(c[O>>2]|0)+(i<<2)>>2]|0;h=c[L>>2]|0;do if(h|0){if((a[(c[X>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}while(1){if((h|0)==2)break;zf(f+768+(h<<2)|0);zf(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);Gc=Y;return}function Th(a){a=a|0;var b=0,d=0;d=c[(c[a>>2]|0)+592>>2]|0;if(!((d|0)!=0?(c[d+32>>2]|0)!=0:0))b=3;if((b|0)==3?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function Uh(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function Vh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+572>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if((e|0)>=5){l=(e|0)>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+8|0;r=b+708|0;s=b+696|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[s>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+16>>2]|0)!=27){Wh(c[r>>2]|0,k,0);f=c[h>>2]|0}w=(Rc[c[q>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(Rc[c[q>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function Wh(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=Gc;Gc=Gc+16|0;h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;Te(e,48,193839,h)}e=f+184|0;OW(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;Ab(a|0,e|0)|0}PW(e)|0}Gc=j;return}function Xh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Gc;Gc=Gc+128|0;fa=ja;W=ja+116|0;X=ja+112|0;Z=ja+48|0;_=ja+16|0;ia=e+564|0;da=c[ia>>2]|0;r=e+556|0;ea=c[r>>2]|0;h=c[e+560>>2]|0;q=e+704|0;f=c[q>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ha=(c[g+72>>2]|0)+15>>4;ha=(f|0)>(ha|0)?ha:f}else ha=f;v=c[e+584>>2]|0;S=H(h,da)|0;w=v+(S<<3)|0;S=w+(S<<3)|0;bi(e,W,X);i=e+712|0;if(c[i>>2]|0)Wh(c[e+708>>2]|0,ha+-1|0,0);T=H(ha,ea)|0;j=e+548|0;o=e+580|0;p=e+696|0;k=c[X>>2]|0;l=c[W>>2]|0;U=e+680|0;m=e+720|0;V=e+688|0;h=0;f=0;while(1){if((h|0)>=(T|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;R=(a[(c[o>>2]|0)+g>>0]&8)==0?8:(c[(c[p>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[S+g>>0]=R;if((R|0)!=8){if((c[c[q>>2]>>2]|0)!=0?(n=c[i>>2]|0,(n|0)!=0):0){R=c[ia>>2]|0;R=H((H(k,(g|0)/(R|0)|0)|0)+((g|0)%(R|0)|0)|0,l)|0;Q=c[U>>2]|0;b[Q+(R<<2)>>1]=b[n+(R<<2)>>1]|0;b[Q+(R<<2)+2>>1]=b[n+(R<<2)+2>>1]|0;R=g<<2;a[(c[V>>2]|0)+R>>0]=a[(c[m>>2]|0)+R>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((ea|0)/2|0|0)?(c[(c[e>>2]|0)+572>>2]&1|0)!=0:0){f=0;j=0;b:while(1){if((j|0)>=(ha|0))break;k=H(j,da)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ha|0);o=j+-1|0;g=0;while(1){while(1){if((g|0)>=(ea|0)){j=m;continue b}h=g+k|0;if((a[S+h>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(s=S+(h+-1)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(t=S+(h-da)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}i=g+1|0;if((i|0)<(ea|0)?(u=S+(h+1)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=i;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!n){g=i;continue}h=S+(h+da)|0;if(a[h>>0]|0){g=i;continue}a[h>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;g=i;f=f+1|0}}N=Z+4|0;O=e+672|0;P=e+608|0;Q=e+612|0;R=e+800|0;M=e+804|0;L=f;while(1){f=1;K=0;g=1;while(1){if(!((K|0)<10&((K|0)<2|(f|0)!=0)))break;J=(K|0)>1;I=0;f=0;while(1){if((I|0)>=(L|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,da)|0)+E|0;c:do if(!((E^K^F)&1)){z=(E|0)>0;if(z)h=d[S+(G+-1)>>0]|0;else h=0;A=(E+1|0)<(ea|0);if(A)h=h|d[S+(G+1)>>0];y=(F|0)>0;if(y)h=h|d[S+(G-da)>>0];x=(F+1|0)<(ha|0);if(x)h=h|d[S+(G+da)>>0];if(!(J&(h&4|0)==0)){B=c[X>>2]|0;D=(H(B,F)|0)+E|0;C=c[W>>2]|0;D=H(D,C)|0;if(z?(Y=G+-1|0,(d[S+Y>>0]|0)>1):0){e=c[U>>2]|0;g=D-C|0;c[Z>>2]=b[e+(g<<2)>>1];c[N>>2]=b[e+(g<<2)+2>>1];c[_>>2]=a[(c[V>>2]|0)+(Y<<2)>>0];g=1}else g=0;do if(A){h=G+1|0;if((d[S+h>>0]|0)<=1)break;u=c[U>>2]|0;e=C+D|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(y){if((d[S+(G-da)>>0]|0)<=1)break;u=c[U>>2]|0;e=D-(H(C,B)|0)|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+(G-(c[ia>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(x){if((d[S+(G+da)>>0]|0)<=1){ga=73;break}u=c[U>>2]|0;e=(H(C,B)|0)+D|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+((c[ia>>2]|0)+G<<2)>>0];g=g+1|0}else ga=73;while(0);if((ga|0)==73){ga=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[Z+(k<<3)>>2]|0)+j|0;i=(c[Z+(k<<3)+4>>2]|0)+i|0;e=c[_+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[_+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[Z+(g<<3)>>2]=(j|0)/(k|0)|0;c[Z+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[_+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[Z+(m<<3)>>2]|0;u=c[Z+(m<<3)+4>>2]|0;t=c[_+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=Z+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=Z+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=_+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[_+(g<<2)>>2]=0;c[Z+(g<<3)+4>>2]=0;c[Z+(g<<3)>>2]=0;m=g+1|0;e=c[U>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[V>>2]|0)+(G<<2)>>0]|0;c[Z+(m<<3)>>2]=u;c[Z+(m<<3)+4>>2]=e;c[_+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=S+(G+-1)|0;q=S+(G+1)|0;r=S+(G-da)|0;s=S+(G+da)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[O>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[Z+(l<<3)>>2]|0;c[P>>2]=i;h=c[U>>2]|0;b[h+(D<<2)>>1]=i;i=c[Z+(l<<3)+4>>2]|0;c[Q>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[_+(l<<2)>>2]|0;if((h|0)<0)h=t;else{$c[c[R>>2]&1](c[M>>2]|0,h,1,0,P,E,F,0,0);e:do if(z){if((d[p>>0]|0)>1){h=0;i=0}else{i=0;break}while(1){if((h|0)==16)break e;ka=H(c[j>>2]|0,h)|0;ka=(d[k+(ka+-1)>>0]|0)-(d[k+ka>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}else i=0;while(0);f:do if(A){if((d[q>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break f;ka=H(c[j>>2]|0,h)|0;ka=(d[k+(ka+15)>>0]|0)-(d[k+(ka+16)>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);g:do if(y){if((d[r>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break g;ka=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);h:do if(x){if((d[s>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break h;ka=c[j>>2]|0;ka=(d[k+((ka*15|0)+h)>>0]|0)-(d[k+((ka<<4)+h)>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);ka=(i|0)>(g|0);h=ka?t:l;g=ka?g:i}t=h;l=l+1|0}i=c[Z+(t<<3)>>2]|0;c[P>>2]=i;j=c[Z+(t<<3)+4>>2]|0;c[Q>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(C|0))break;k=g+D|0;h=0;while(1){if((h|0)==(C|0))break;A=c[U>>2]|0;ka=(H(B,h)|0)+k|0;b[A+(ka<<2)>>1]=i;b[A+(ka<<2)+2>>1]=j;h=h+1|0}g=g+1|0}$c[c[R>>2]&1](c[M>>2]|0,c[_+(t<<2)>>2]|0,1,0,P,E,F,0,0);do if((c[P>>2]|0)==(u|0)){if((c[Q>>2]|0)!=(e|0))break;a[S+G>>0]=2;g=0;break c}while(0);a[S+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(!g){f=0;k=0}else break a;while(1){if((k|0)>=(L|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,da)|0)+i|0;g=S+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?($=S+(j+-1)|0,(a[$>>0]|0)==0):0){a[$>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(aa=S+(j-da)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(ea|0)?(ba=S+(j+1)|0,(a[ba>>0]|0)==0):0){a[ba>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ha|0)?(ca=S+(j+da)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(T|0))break;else{ka=w;L=f;w=v;v=ka}}c[fa>>2]=193793;c[fa+4>>2]=191412;c[fa+8>>2]=716;Te(0,0,222432,fa);Za()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)<(ha|0))g=0;else break a;while(1){if((g|0)>=(c[r>>2]|0))break;j=(H(c[ia>>2]|0,h)|0)+g|0;f=c[q>>2]|0;if(!f)f=2;else f=c[f>>2]|0?1:2;if((c[(c[p>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[o>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;$c[c[m>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);Gc=ja;return}function Yh(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Gc;Gc=Gc+16|0;j=z;x=z+8|0;y=z+4|0;w=Jg(h,g<<3)|0;c[x>>2]=w;v=Jg(h,g<<4)|0;c[y>>2]=v;a:do if((v|0)!=0&(w|0)!=0){v=d+564|0;w=d+696|0;u=d+580|0;n=0;while(1){if((n|0)>=(g|0)){n=0;break}o=n>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0)){k=f;j=1024;d=-1;break}t=(H(c[v>>2]|0,o)|0)+(l>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+2>>1]=j;c[(c[y>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,o)|0)+(m>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)>>1]=l;c[(c[y>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((n|0)>=(f|0)){k=0;break}o=n>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0)){k=g;j=1024;d=-1;break}t=(H(c[v>>2]|0,l>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+6>>1]=j;c[(c[y>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,m>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)+4>>1]=l;c[(c[y>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((k|0)>=(g|0))break a;l=k>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;t=(H(c[v>>2]|0,l)|0)+(d>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&120|0)==0?a[(c[u>>2]|0)+t>>0]&4:0){n=c[y>>2]|0;o=d+m|0;p=c[x>>2]|0;j=0;q=0;r=0;s=0;t=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[p+(o<<3)+(j<<1)>>1]|0;C=sY(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=mY(C|0,M()|0,q|0,r|0)|0;B=M()|0;A=mY(s|0,t|0,A|0,0)|0;j=j+1|0;q=C;r=B;s=A;t=M()|0}C=qY(s|0,t|0,2,0)|0;C=mY(C|0,M()|0,q|0,r|0)|0;C=qY(C|0,M()|0,s|0,t|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else Te(c[d>>2]|0,16,193764,j);while(0);Pe(x);Pe(y);Gc=z;return}function Zh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0)){c=1;break}g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((H(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;b[j>>1]=((((k<<3)-d-(b[a+((H(l,e)|0)+c<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function _h(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>1;p=b[(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)>>1]|0;p=p<<16>>16>0?((p<<16>>16<2040?p:2040)&65535)>>>3&255:0;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;a[e+(j+q+(H(c[t>>2]|0,s)|0))>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;a:do if(g|0){m=j<<16>>16>0?((j<<16>>16<2040?j:2040)&65535)>>>3&255:0;n=v+36|0;e=k<<16>>16>0?((k<<16>>16<2040?k:2040)&65535)>>>3&255:0;l=v+40|0;k=0;while(1){if((k|0)==8)break a;else j=0;while(1){if((j|0)==8)break;a[f+((H(c[n>>2]|0,k)|0)+j)>>0]=m;a[g+((H(c[l>>2]|0,k)|0)+j)>>0]=e;j=j+1|0}k=k+1|0}}while(0);return}function $h(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;O=Gc;Gc=Gc+16|0;M=O+4|0;I=O;bi(e,M,I);N=c[M>>2]>>j;c[M>>2]=N;M=H(c[I>>2]|0,N)|0;c[I>>2]=M;I=g+-1|0;J=e+580|0;K=e+564|0;L=e+696|0;C=e+680|0;B=0;while(1){if((B|0)>=(h|0))break;D=B>>j;E=H(B,i)|0;F=H(M,B)|0;g=0;a:while(1){if((g|0)>=(I|0))break;x=c[J>>2]|0;l=H(c[K>>2]|0,D)|0;k=l+(g>>j)|0;y=a[x+k>>0]|0;G=g+1|0;l=l+(G>>j)|0;x=a[x+l>>0]|0;m=c[L>>2]|0;o=g+E<<3;n=c[C>>2]|0;g=(H(N,g)|0)+F|0;e=(H(N,G)|0)+F|0;z=(y&14)!=0;A=(x&14)!=0;if(!((x|y)&14)){g=G;continue}if(((c[m+(k<<2)>>2]|c[m+(l<<2)>>2])&7|0)==0?(y=(b[n+(g<<2)>>1]|0)-(b[n+(e<<2)>>1]|0)|0,x=(b[n+(e<<2)+2>>1]|0)+(b[n+(g<<2)+2>>1]|0)|0,(((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)|0)<2):0){g=G;continue}r=o|7;s=o|6;t=o+8|0;u=o+9|0;y=z&A;v=o|5;w=o|4;x=o+10|0;l=o+11|0;e=0;while(1){if((e|0)==8){g=G;continue a}m=H(e,i)|0;n=f+(m+r)|0;o=d[n>>0]|0;p=f+(m+s)|0;Q=o-(d[p>>0]|0)|0;q=f+(t+m)|0;g=d[q>>0]|0;P=g-o|0;k=f+(u+m)|0;g=(d[k>>0]|0)-g|0;g=((P|0)>-1?P:0-P|0)-(((Q|0)>-1?Q:0-Q|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(P|0)<0?0-g|0:g;if(g|0){g=y?g:(g<<4|0)/9|0;if(z){a[n>>0]=a[192466+((g*7>>4)+o)>>0]|0;a[p>>0]=a[192466+((g*5>>4)+(d[p>>0]|0))>>0]|0;Q=f+(m+v)|0;a[Q>>0]=a[192466+((g*3>>4)+(d[Q>>0]|0))>>0]|0;Q=f+(m+w)|0;a[Q>>0]=a[192466+((g>>4)+(d[Q>>0]|0))>>0]|0}if(A){a[q>>0]=a[192466+((d[q>>0]|0)-(g*7>>4))>>0]|0;a[k>>0]=a[192466+((d[k>>0]|0)-(g*5>>4))>>0]|0;Q=f+(x+m)|0;a[Q>>0]=a[192466+((d[Q>>0]|0)-(g*3>>4))>>0]|0;Q=f+(l+m)|0;a[Q>>0]=a[192466+((d[Q>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}B=B+1|0}Gc=O;return}function ai(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=Gc;Gc=Gc+16|0;P=R+4|0;L=R;bi(e,P,L);Q=c[P>>2]>>j;c[P>>2]=Q;P=H(c[L>>2]|0,Q)|0;c[L>>2]=P;L=h+-1|0;M=e+580|0;N=e+564|0;O=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;a:while(1){if((h|0)>=(L|0))break;G=h>>j;I=h+1|0;J=I>>j;K=H(h,i)|0;s=H(P,h)|0;t=H(P,I)|0;r=0;while(1){if((r|0)>=(g|0)){h=I;continue a}S=c[M>>2]|0;e=r>>j;k=c[N>>2]|0;h=(H(k,G)|0)+e|0;q=a[S+h>>0]|0;e=(H(k,J)|0)+e|0;S=a[S+e>>0]|0;k=c[O>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(Q,r)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(S&14)!=0;b:do if((S|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(S=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((S|0)>-1?S:0-S|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break b;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;T=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;S=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((S|0)>-1?S:0-S|0)-(((T|0)>-1?T:0-T|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(S|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[192466+((h*7>>4)+n)>>0]|0;a[o>>0]=a[192466+((h*5>>4)+(d[o>>0]|0))>>0]|0;T=f+(l+C)|0;a[T>>0]=a[192466+((h*3>>4)+(d[T>>0]|0))>>0]|0;T=f+(l+D)|0;a[T>>0]=a[192466+((h>>4)+(d[T>>0]|0))>>0]|0}if(w){a[p>>0]=a[192466+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[192466+((d[k>>0]|0)-(h*5>>4))>>0]|0;T=f+(l+E)|0;a[T>>0]=a[192466+((d[T>>0]|0)-(h*3>>4))>>0]|0;T=f+(l+F)|0;a[T>>0]=a[192466+((d[T>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}}Gc=R;return}function bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Gc;Gc=Gc+16|0;f=g;do if((c[(c[a>>2]|0)+16>>2]|0)==27)if(!(c[a+788>>2]|0)){c[f>>2]=193746;c[f+4>>2]=191412;c[f+8>>2]=47;Te(0,0,222432,f);Za()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;Gc=g;return}function ci(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Gc;Gc=Gc+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[178821+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){Te(0,16,214180,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[184790+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[185302+a>>0]|0}while(0);Gc=i;return a|0}function di(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[184790+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[185302+a>>0]|0|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Gc;Gc=Gc+16|0;f=e;c[f>>2]=d;ri(0,a,b,f);Gc=e;return}function fi(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function gi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function hi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(zY(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[184790+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[185814+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[178821+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(zY(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function ii(a){a=a|0;return c[a+8>>2]|0}function ji(a,b){a=a|0;b=b|0;var d=0;d=Gc;Gc=Gc+16|0;switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{Te(b,40,194436,d);a=0}break}default:a=1}Gc=d;return a|0}function ki(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(j)h=0;else h=(c[b+668>>2]|0)!=0;i=h?b+768|0:194168;k=h?b+960|0:194232;if(!(fi(a)|0))return 0;l=qi(a,f,16,194296,h?b+672|0:194296)|0;m=f+16|0;l=qi(a,m,16,194296,f)|0|l;m=l|(qi(a,f+32|0,16,194296,m)|0);l=f+48|0;m=m|(qi(a,l,16,194312,h?b+720|0:194312)|0);h=f+64|0;l=m|(qi(a,h,16,194312,l)|0);h=l|(qi(a,f+80|0,16,194312,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=qi(a,g,64,194168,i)|0|h;f=g+192|0;h=h|(qi(a,f,64,194232,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=qi(a,m,64,194168,g)|0|h;h=g+256|0;l=l|(qi(a,h,64,194232,f)|0);m=l|(qi(a,g+128|0,64,194168,m)|0);h=m|(qi(a,g+320|0,64,194232,h)|0)}}return ((h|0)==0?e:h)|0}function li(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(186685+(f*88|0))>>0]|0;e=e+1|0}return}function mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;oi(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)pi(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function ni(a,b){a=a|0;b=b|0;zf(a+128+(b<<2)|0);return}function oi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(XU(a+68+(e<<4)|0,b,16)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+4828+(e*5632|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=(d[186597+g>>0]|0)+2|0;f=d[186509+g>>0]|0;b=0;while(1){if((b|0)==16)break;j=b>>2;c[a+4828+(h*5632|0)+(g<<6)+((b<<2&12|j)<<2)>>2]=(H(d[a+68+(h<<4)+b>>0]|0,d[(j&1)+(b&1)+(186439+(f*3|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function pi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(XU(a+164+(e<<6)|0,b,64)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+38620+(e*22528|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=d[186597+g>>0]|0;f=d[186509+g>>0]|0;b=0;while(1){if((b|0)==64)break;c[a+38620+(h*22528|0)+(g<<8)+((b<<3&56|b>>3)<<2)>>2]=(H(d[a+164+(h<<6)+b>>0]|0,d[(d[186457+(b>>>1&12|b&3)>>0]|0)+(186473+(f*6|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function qi(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=Gc;Gc=Gc+16|0;l=m;k=(f|0)==16?194328:194345;a:do if(fi(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=hi(b)|0;if((h+128|0)>>>0>255){i=7;break}h=h+j&255}if(!(h|i)){i=9;break}n=h|0?h:j;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==7){c[l>>2]=h;Te(0,16,194409,l);h=-1094995529;break}else if((i|0)==9){BY(e|0,g|0,f|0)|0;h=0;break}}else{BY(e|0,h|0,f|0)|0;h=0}while(0);Gc=m;return h|0}function ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Gc;Gc=Gc+16|0;Ue(b,24,c,d);Te(b,24,194501,e);if(a|0)Te(b,24,194677,e+8|0);Gc=e;return}function si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function ti(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function ui(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=Gc;Gc=Gc+32|0;k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(fi(a)|0){e=gi(a,8)|0;if((e|0)==255){c[d+100>>2]=gi(a,16)|0;c[d+104>>2]=gi(a,16)|0;g=8;break}if(e>>>0<17){e=75084+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{Te(b,16,195479,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(fi(a)|0)fi(a)|0;g=fi(a)|0;c[d+108>>2]=g;if(g|0?(gi(a,3)|0,c[d+112>>2]=fi(a)|0,g=fi(a)|0,c[d+116>>2]=g,g|0):0){e=d+120|0;c[e>>2]=gi(a,8)|0;f=d+124|0;c[f>>2]=gi(a,8)|0;g=d+128|0;c[g>>2]=gi(a,8)|0;if(!(xi(c[e>>2]|0)|0))c[e>>2]=2;if(!(yi(c[f>>2]|0)|0))c[f>>2]=2;if(!(zi(c[g>>2]|0)|0))c[g>>2]=2}if(fi(a)|0){c[b+332>>2]=(ci(a)|0)+1;ci(a)|0}if(Ai(a)|0?(vi(a)|0)<10:0){Te(b,24,195501,h);e=0;break}h=fi(a)|0;e=d+132|0;c[e>>2]=h;if(h|0){f=Bi(a,32)|0;g=Bi(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;Te(b,16,195516,i);c[e>>2]=0}c[d+144>>2]=fi(a)|0}i=fi(a)|0;e=d+1152|0;c[e>>2]=i;if(i|0?(Ci(a,b,d)|0)<0:0){e=-1094995529;break}i=fi(a)|0;f=d+1156|0;c[f>>2]=i;if(i|0?(Ci(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))fi(a)|0;c[d+1160>>2]=fi(a)|0;if((vi(a)|0)!=0?(i=fi(a)|0,j=d+660|0,c[j>>2]=i,(i|0)!=0):0){fi(a)|0;ci(a)|0;ci(a)|0;ci(a)|0;ci(a)|0;f=d+664|0;c[f>>2]=ci(a)|0;ci(a)|0;if((vi(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;Te(b,16,195577,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);Gc=l;return e|0}function vi(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(ii(a)|0)|0}function wi(a,b){a=a|0;b=b|0;zf(a+(b<<2)|0);return}function xi(a){a=a|0;if(a>>>0<23)a=c[72384+(a<<2)>>2]|0;else a=0;return a|0}function yi(a){a=a|0;if(a>>>0<19)a=c[72308+(a<<2)>>2]|0;else a=0;return a|0}function zi(a){a=a|0;if(a>>>0<15)a=c[72248+(a<<2)>>2]|0;else a=0;return a|0}function Ai(a){a=a|0;return Gi(a)|0}function Bi(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=gi(a,b)|0;break}else{b=b+-16|0;c=(gi(a,16)|0)<<b;a=c|(gi(a,b)|0);break}else a=0;while(0);return a|0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Gc;Gc=Gc+16|0;e=h;f=di(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;Te(b,16,195617,e);b=-1094995529}else{gi(a,4)|0;gi(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;Di(a);Di(a);fi(a)|0;b=b+1|0}c[d+1172>>2]=(gi(a,5)|0)+1;c[d+1176>>2]=(gi(a,5)|0)+1;c[d+1180>>2]=(gi(a,5)|0)+1;c[d+1164>>2]=gi(a,5)|0;c[d+1168>>2]=g;b=0}Gc=h;return b|0}function Di(a){a=a|0;var b=0,c=0,e=0;e=Ei(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Fi(a,b);Bi(a,b+1|0)|0;return}function Ei(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Bi(d,32)|0;Gc=b;return a|0}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Gi(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function Hi(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Ki(a)|0)|0}function Ii(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Ji(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Ki(a){a=a|0;return c[a+8>>2]|0}function Li(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Gc;Gc=Gc+16|0;l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){c[a+16>>2]=$i(b,c[g+1176>>2]|0)|0;c[a+12>>2]=$i(b,c[g+1180>>2]|0)|0}if(c[g+1160>>2]|0){h=Ji(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[196132+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(Ji(b,1)|0){i=1<<(Ji(b,2)|0);c[k>>2]=c[k>>2]|i;Wi(b,1);Wi(b,5);i=Ji(b,1)|0;Wi(b,1);Wi(b,1);Wi(b,8);if(!i){if((Ji(b,1)|0?(Wi(b,6),Ji(b,1)|0):0)?(Wi(b,6),Ji(b,1)|0):0)Wi(b,5)}else{Wi(b,6);Wi(b,6);Wi(b,5)}i=c[h>>2]|0;if((i|0)>0)Wi(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;Te(f,48,196141,l)}c[a>>2]=1;g=0}else{Te(f,16,196090,j);g=-1397768184}while(0);Gc=m;return g|0}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((Ji(b,8)|0)==255){Wi(b,8);c=c+-8|0}else c=c+-7|0;Wi(b,8);Wi(b,8);d=$i(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=bj(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=cj(a+28|0,b,c)|0;break a}while(0);Wi(b,c<<3);c=0}while(0);return c|0}function Ni(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;g=j;h=j+4|0;if((e+-16|0)>>>0<=2147483614){f=e+16|0;i=$e(e+17|0)|0;if(!i)e=-12;else{e=0;while(1){if((e|0)>=(f|0))break;a[i+e>>0]=Ji(d,8)|0;e=e+1|0}a[i+e>>0]=0;f=i+16|0;c[g>>2]=h;d=(lW(f,196058,g)|0)==1;e=c[h>>2]|0;if(d&(e|0)>0)c[b>>2]=e;if(d&(e|0)==1?(YU(f,196073,16)|0)==0:0)c[b>>2]=67;Qe(i);e=0}}else e=-1094995529;Gc=j;return e|0}function Oi(a,b){a=a|0;b=b|0;c[a>>2]=Yi(b)|0;Wi(b,4);return}function Pi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Gc;Gc=Gc+16|0;i=j;f=aj(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;c[a+4+(d<<2)>>2]=$i(b,c[f>>2]|0)|0;Wi(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;c[a+4+(d<<2)>>2]=$i(b,c[e>>2]|0)|0;Wi(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;Te(e,16,196006,i);d=g?-1094995529:-1397768184}Gc=j;return d|0}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=Yi(b)|0;d=Xi(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){d=a+12|0;c[d>>2]=Ji(b,7)|0;e=a+24|0;c[e>>2]=Xi(b)|0;c[a+20>>2]=Ji(b,6)|0;Wi(b,3);c[a+28>>2]=Xi(b)|0;Wi(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)Wi(b,16);Wi(b,8);c[a+16>>2]=Yi(b)|0}Zi(b);return}function Ri(a,b){a=a|0;b=b|0;var d=0;d=(Xi(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=Xi(b)|0;c[a+12>>2]=Xi(b)|0;c[a+4>>2]=Ji(b,16)|0;Yi(b)|0;Zi(b)}return}function Si(c,d){c=c|0;d=d|0;var e=0;e=(Ji(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(Ji(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{b[c+2>>1]=Ji(d,16)|0;break}case 3:{b[c+4>>1]=Ji(d,16)|0;break}default:{}}a[c+6>>0]=Ji(d,8)|0;a[c+7>>0]=Ji(d,8)|0;a[c+8>>0]=Ji(d,8)|0;a[c+9>>0]=Ji(d,8)|0;break}case 1:{a[c+10>>0]=Ji(d,8)|0;b[c+12>>1]=Ji(d,16)|0;break}default:{}}return}function Ti(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=Ji(b,8)|0;return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Vi(a){a=a|0;var b=0;b=0-(Ki(a)|0)&7;if(b|0)Wi(a,b);return}function Wi(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Xi(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function Yi(a){a=a|0;var b=0,c=0,e=0;e=_i(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[178821+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Ui(a,b);return ($i(a,b+1|0)|0)+-1|0}function Zi(a){a=a|0;Wi(a,1);return}function _i(a){a=a|0;var b=0,d=0;b=Gc;Gc=Gc+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=$i(d,32)|0;Gc=b;return a|0}function $i(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Ji(a,b)|0;break}else{b=b+-16|0;c=(Ji(a,16)|0)<<b;a=c|(Ji(a,b)|0);break}else a=0;while(0);return a|0}function aj(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(zY(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[184790+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[185302+a>>0]|0|0}function bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){Wi(d,1);f=Ji(d,1)|0;Wi(d,6);if(f)if((e|0)<2)b=-1094995529;else{Wi(d,4);a[b+4>>0]=Ji(d,4)|0;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|0}function cj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((Ji(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}Wi(d,8);e=e+1|0}}Wi(d,1);if(((Ji(d,1)|0)!=0?(Wi(d,1),g=Ji(d,5)|0,Wi(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=sY(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=mY(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=dj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(Ji(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(Ji(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(Ji(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}Wi(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function dj(b,c){b=b|0;c=c|0;do if(c){c=_e(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){Pe(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{Pe(b);c=0}while(0);return c|0}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;B=Gc;Gc=Gc+64|0;p=B+56|0;o=B+48|0;u=B+32|0;s=B+24|0;t=B+16|0;f=B;x=c[d>>2]|0;A=d+21788|0;r=c[A>>2]|0;y=d+868|0;z=c[y>>2]|0;w=c[c[x+24312>>2]>>2]|0;b=c[w+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[w+36>>2];b=kj(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[x+26036>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<<c[x+25664>>2])|0)){c[f>>2]=197262;c[f+4>>2]=196236;c[f+8>>2]=2536;Te(0,0,222432,f);Za()}if(c[x+25708>>2]|0)c[y>>2]=0;v=x+26376|0;if(!(c[v>>2]|0))b=(c[x+26380>>2]|0)!=3;else b=1;c[d+21820>>2]=b&1;w=x+4|0;if(((((c[(c[w>>2]|0)+696>>2]&2|0)==0?(c[x+26380>>2]|0)==3:0)?(h=c[x+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(q=(H(c[x+27012>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[x+27020>>2]|0)+-1|0,g=(q|0)>(g|0)?g:q,!((q|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[x+28212>>2]|0)+4>>2]|0)){m=d+21792|0;f=x+27012|0;i=d+21812|0;l=d+4|0;j=x+26380|0;k=x+27008|0;e=r;while(1){u=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[A>>2]|0)|0;b=c[i>>2]|0;if((u|0)>=(b|0)){f=46;break}b=wj(x,d)|0;if((b|0)<=-1){f=52;break}sj(x,d);if(c[v>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=wj(x,d)|0;if((b|0)<=-1){f=50;break}sj(x,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[A>>2]|0)+1|0;c[A>>2]=b;if((b|0)>=(c[f>>2]|0)){fj(x,d,e,b);c[A>>2]=0;uj(x,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[v>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){vj(x,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=nj(l)|0;if((g|0)>=1){e=h;continue}if((c[n>>2]|0)<1){f=68;break}else e=h}if((f|0)==46){z=c[w>>2]|0;c[o>>2]=b;Te(z,16,197389,o);qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=nj(l)|0;do if(b|0){if((b|0)>0?(c[(c[w>>2]|0)+580>>2]&262144|0)==0:0)break;qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,e,112);b=-1094995529;break a}while(0);qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,e,112);break}else if((f|0)==68){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[A>>2]|0;if(g|0){qj(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}qj(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[A>>2]|0;if((b|0)<=(h|0))break;fj(x,d,h,b);break}z=c[w>>2]|0;c[p>>2]=c[A>>2];c[p+4>>2]=e;Te(z,16,197493,p);qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;lj(b);o=d+32856|0;q=c[b>>2]|0;q=q+((mj(b)|0)/8|0)|0;b=oj(o,q,((nj(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;pj(x,d);q=d+21792|0;i=x+27012|0;j=d+21812|0;k=x+25700|0;p=d+32872|0;n=d+32876|0;l=x+27008|0;m=x+26380|0;h=r;b=c[q>>2]|0;while(1){r=(H(c[i>>2]|0,b)|0)+(c[A>>2]|0)|0;b=c[j>>2]|0;if((r|0)>=(b|0)){f=19;break}b=rj(x,d)|0;if((b|0)>-1?(sj(x,d),(c[v>>2]|0)!=0):0){c[q>>2]=(c[q>>2]|0)+1;b=rj(x,d)|0;if((b|0)>-1)sj(x,d);c[q>>2]=(c[q>>2]|0)+-1}g=tj(o)|0;e=c[p>>2]|0;f=c[n>>2]|0;if((c[k>>2]&16384|0)!=0&e>>>0>(f+2|0)>>>0){f=26;break}if(e>>>0>(f+2|0)>>>0){r=c[w>>2]|0;c[s>>2]=f-e;Te(r,48,197421,s)}if((b|0)<0){f=31;break}b=c[p>>2]|0;e=c[n>>2]|0;if(b>>>0>(e+4|0)>>>0){f=33;break}b=(c[A>>2]|0)+1|0;c[A>>2]=b;do if((b|0)>=(c[i>>2]|0)){fj(x,d,h,b);c[A>>2]=0;uj(x,d);b=c[q>>2]|0;c[q>>2]=b+1;if(!(c[v>>2]|0)){if((c[m>>2]|0)==3){e=0;break}c[q>>2]=b+2;e=0;break}else{r=b+2|0;c[q>>2]=r;if((r|0)>=(c[l>>2]|0)){e=0;break}vj(x,d);e=0;break}}else e=h;while(0);b=c[q>>2]|0;if(g|0){f=43;break}if((b|0)>=(c[l>>2]|0)){f=43;break}else h=e}if((f|0)==19){z=c[w>>2]|0;c[t>>2]=b;Te(z,16,197389,t);qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}else if((f|0)==26){qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,c[q>>2]|0,112);b=c[A>>2]|0;if((b|0)<(h|0))break;fj(x,d,h,b+1|0);break}else if((f|0)==31){e=c[n>>2]|0;b=c[p>>2]|0}else if((f|0)!=33)if((f|0)==43){qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,b,112);b=c[A>>2]|0;if((b|0)<=(e|0))break;fj(x,d,e,b);break}z=c[w>>2]|0;y=c[q>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=y;c[u+8>>2]=e-b;Te(z,16,197446,u);qj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}while(0);c[y>>2]=z;b=0}while(0);Gc=B;return b|0}function fj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26376|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25664|0;Y=c[X>>2]|0;Z=16>>>(c[b+25680>>2]|0);if(!(c[b+25708>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28212|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27016|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28216|0;P=e+21776|0;Q=e+21828|0;R=e+21780|0;S=e+21784|0;l=b+28212|0;T=b+24340|0;k=e+852|0;j=e+856|0;U=e+21832|0;V=e+27796|0;W=1-Z|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<<Y;E=ba-h|0;while(1){if((E|0)>(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;t=(c[_>>2]|0)==0;h=G>>>7&1;if(t)h=c[Q>>2]|0;else{c[Q>>2]=h;c[U>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;s=c[(c[O>>2]|0)+12>>2]|0;z=(s|0)==3;D=H(8<<(z&1),I)|0;r=c[P>>2]|0;o=H(H(E,Z)|0,r)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(h){h=p<<1;c[R>>2]=h;q=r<<1;c[S>>2]=q;if(!(E&1)){D=n;C=o;p=h}else{C=H(W,r)|0;m=m+(H(p,-15)|0)|0;D=n+C|0;C=o+C|0;p=h}}else{c[R>>2]=p;c[S>>2]=r;D=n;C=o;q=r}w=c[X>>2]|0;x=(s|0)==2;v=m+(0-p)|0;B=0-q|0;y=D+B|0;B=C+B|0;do if(!t){h=(c[U>>2]|0)!=0;if(!(E&1))if(h){h=0;u=f;A=33;break}else break;if(!h){t=c[V>>2]|0;h=v+(p*15|0)|0;s=h;A=c[s+4>>2]|0;u=t+(f*96|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;s=t+(f*96|0)+8|0;c[s>>2]=c[u>>2];c[s+4>>2]=A;s=(w|0)!=0;h=h+16|0;if(s){A=h;u=c[A+4>>2]|0;r=t+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=t+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}do if(z){h=q*15|0;n=y+h|0;r=n;o=c[r>>2]|0;r=c[r+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=o;c[A+4>>2]=r;A=n+8|0;u=c[A+4>>2]|0;s=t+(f*96|0)+40|0;c[s>>2]=c[A>>2];c[s+4>>2]=u;n=n+16|0;s=n;u=c[s+4>>2]|0;A=t+(f*96|0)+48|0;c[A>>2]=c[s>>2];c[A+4>>2]=u;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+56|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+64|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=h+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+72|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=h+16|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+80|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=88;h=h+8|0;break}else{A=t+(f*96|0)+16|0;c[A>>2]=o;c[A+4>>2]=r;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+24|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+32|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=40;h=h+8|0;break}}else if(x){r=q*15|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q*7|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);A=h;u=c[A+4>>2]|0;h=t+(f*96|0)+n|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=1;u=c[i>>2]|0;A=33}else{h=1;u=f;A=33}}else{h=1;u=f;A=33}while(0);if((A|0)==33){A=0;t=c[e+27796+(h<<2)>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;o=t+(u*96|0)|0;c[o>>2]=c[s>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[o>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;o=t+(u*96|0)+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[o>>2];c[w+4>>2]=v}do if(z){h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;z=h+8|0;y=c[z+4>>2]|0;n=t+(u*96|0)+40|0;c[n>>2]=c[z>>2];c[n+4>>2]=y;n=h+16|0;y=n;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;n=n+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+64|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=h+8|0;B=c[n+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[n>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+80|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=88;h=h+8|0;break}else{z=t+(u*96|0)+16|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+32|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=40;h=h+8|0;break}}else if(x){r=q<<4;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q<<3;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+n|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(gj(b,e,G)|0)){G=c[l>>2]|0;F=(c[T>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){ij(b,e,f,E,m,D,C,p,q);break}else{hj(b,e,f,E,m,D,C,p,q);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function gj(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27016|0;m=c[o>>2]|0;h=u-(m<<c[f+21828>>2])|0;j=u+-1|0;n=d+26376|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=j+((k|0)==(l|0)?0:m)|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26372|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26368|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29940+((n&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29940+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25972|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26392|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28212>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function hj(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;Pa=Gc;Gc=Gc+32|0;Na=Pa+16|0;Ja=Pa;Ka=f+27016|0;Aa=(H(c[Ka>>2]|0,i)|0)+h|0;Ba=f+24364|0;Ca=c[(c[Ba>>2]|0)+(Aa<<2)>>2]|0;Da=(Ca>>>6&2^2)+2|0;Ea=f+28216|0;Ha=c[Ea>>2]|0;Fa=(c[Ha+12>>2]|0)!=0;Ha=(H(c[Ha+1184>>2]|0,-6)|0)+48|0;Ga=(c[g+872>>2]|0)+52+Ha|0;Ha=(c[g+876>>2]|0)+52+Ha|0;Ia=f+26376|0;za=g+21740|0;if((c[Ia>>2]|0)!=0?(ya=c[za>>2]|0,!((ya|0)==0|((ya^Ca)&128|0)==0)):0){a:do if(!(Ca&7)){v=c[g+21828>>2]|0;r=i&1;h=f+28212|0;s=f+25972|0;t=f+26392|0;u=(v|0)!=0;q=0;while(1){if((q|0)==8){o=v;break a}p=u?q>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[197214+(v<<4)+(r<<3)+q>>0]|0)+((c[s>>2]|0)+(o*48|0))>>0]|0;else o=((u?q&2:r)|0?32768:8192)&e[(c[t>>2]|0)+(o<<1)>>1];o=o|d[(q>>>1<<3)+12+(g+27824)>>0]|0?2:1}else o=4;b[Ja+(q<<1)>>1]=o;q=q+1|0}}else{h=Ja;c[h>>2]=262148;c[h+4>>2]=262148;h=Ja+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28212|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;xa=a[y+Aa>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=xa+1|0;ya=c[h>>2]|0;w=(d[ya+548+xa>>0]|0)+1|0;xa=(d[ya+636+xa>>0]|0)+1|0;h=t+x>>1;u=(w+(d[ya+548+x>>0]|0)|0)>>>1;x=(xa+(d[ya+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[ya+548+y>>0]|0)|0)>>>1;y=(xa+(d[ya+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ga|0;q=d[196434+p>>0]|0;ya=h+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](j,s,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](j,s,q,h,Na);break}}while(0);p=j+m|0;v=Ja+2|0;q=t+Ga|0;r=d[196434+q>>0]|0;ya=t+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](p,s,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,s,r,h,Na);break}}while(0);if(Fa){s=n<<1;p=u+Ga|0;q=d[196434+p>>0]|0;h=u+Ha|0;o=d[196278+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Ea>>2]|0)+12>>2]|0)==3){do if(!h){h=b[Ja>>1]|0;if(h<<16>>16>3){Xc[c[f+68>>2]&255](k,s,q,o);break}else{a[Na>>0]=a[(h<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](k,s,q,o,Na);break}}while(0);p=k+n|0;q=w+Ga|0;r=d[196434+q>>0]|0;ya=w+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](p,s,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,s,r,h,Na);break}}while(0);p=x+Ga|0;q=d[196434+p>>0]|0;ya=x+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](l,s,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](l,s,q,h,Na);break}}while(0);p=l+n|0;q=y+Ga|0;r=d[196434+q>>0]|0;ya=y+Ha|0;o=d[196278+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Xc[c[f+68>>2]&255](p,s,r,o);break}else{a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,s,r,o,Na);break}}else{do if(!h){h=b[Ja>>1]|0;if(h<<16>>16>3){Xc[c[f+92>>2]&255](k,s,q,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(196590+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+8>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+12>>1]|0)+(196590+(p<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](k,s,q,o,Na);break}}while(0);p=k+n|0;q=w+Ga|0;r=d[196434+q>>0]|0;ya=w+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](p,s,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,s,r,h,Na);break}}while(0);p=x+Ga|0;q=d[196434+p>>0]|0;ya=x+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](l,s,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+8>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+12>>1]|0)+(196590+(p<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](l,s,q,h,Na);break}}while(0);p=l+n|0;q=y+Ga|0;r=d[196434+q>>0]|0;ya=y+Ha|0;o=d[196278+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Xc[c[f+92>>2]&255](p,s,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,s,r,o,Na);break}}}}else{p=h+Ga|0;q=d[196434+p>>0]|0;ya=h+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](j,m,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](j,m,q,h,Na);break}}while(0);p=j+(m<<3)|0;v=Ja+8|0;q=t+Ga|0;r=d[196434+q>>0]|0;ya=t+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](p,m,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,m,r,h,Na);break}}while(0);if(Fa){h=c[(c[Ea>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ga|0;q=d[196434+p>>0]|0;ya=u+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](k,n,q,h,Na);break}}while(0);s=n<<3;p=k+s|0;q=w+Ga|0;r=d[196434+q>>0]|0;ya=w+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](p,n,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[196434+p>>0]|0;ya=x+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+68>>2]&255](l,n,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(196590+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(196590+(p<<2))>>0]|0;Yc[c[f+56>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[196434+q>>0]|0;ya=y+Ha|0;o=d[196278+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Xc[c[f+68>>2]&255](p,n,r,o);break}else{a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[f+56>>2]&127](p,n,r,o,Na);break}}p=(h|0)==2;q=u+Ga|0;r=d[196434+q>>0]|0;ya=u+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](k,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](k,n,r,h,Na);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ga|0;r=d[196434+q>>0]|0;ya=w+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](p,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[196434+p>>0]|0;ya=x+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](l,n,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(196590+(p<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[196434+q>>0]|0;ya=y+Ha|0;o=d[196278+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Xc[c[f+92>>2]&255](p,n,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,n,r,o,Na);break}}else{s=n<<2;p=k+s|0;q=w+Ga|0;r=d[196434+q>>0]|0;ya=w+Ha|0;h=d[196278+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](p,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[196434+p>>0]|0;ya=x+Ha|0;h=d[196278+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Xc[c[f+92>>2]&255](l,n,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(196590+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(196590+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(196590+(p<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[196434+q>>0]|0;ya=y+Ha|0;o=d[196278+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Xc[c[f+92>>2]&255](p,n,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[f+80>>2]&127](p,n,r,o,Na);break}}}}while(0);da=1}else da=0;ea=Aa+-1|0;fa=g+21732|0;ga=Ca>>>3&7;ha=g+21856|0;ia=Ca&16777216;ja=(Ca&7|0)==0;ka=Ja+6|0;la=Ja+4|0;ma=Ja+2|0;na=f+24340|0;oa=f+25664|0;pa=g+852|0;qa=g+856|0;ra=Na+1|0;sa=Na+2|0;ta=Na+3|0;ua=f+52|0;va=f+76|0;wa=m<<2;xa=f+48|0;ya=f+72|0;G=(i&1|0)==0;I=Ca&128^128;J=m<<1;K=n<<1;L=f+28212|0;M=f+25972|0;N=f+26392|0;O=g+27836|0;P=g+27837|0;Q=Ja+2|0;R=Ja+4|0;S=Ja+6|0;T=g+27839|0;U=g+27838|0;V=Ja+2|0;W=Ja+4|0;X=Ja+6|0;Y=Ja+6|0;Z=Ja+4|0;_=Ja+2|0;$=f+64|0;aa=f+88|0;ba=f+60|0;ca=f+84|0;z=f+26380|0;A=g+21712|0;f=0;while(1){if((f|0)==2)break;i=(f|0)!=0;C=c[(c[Ea>>2]|0)+12>>2]|0;B=(C|0)==3;C=(C|0)==2;D=(f|0)==0;if(D)s=ea;else s=c[A>>2]|0;h=c[(D?za:fa)>>2]|0;F=a[197246+(f<<3)+ga>>0]|0;E=F&255;if(F<<24>>24==3)F=(c[ha>>2]&15|0)==0?1:4;else F=4;o=32>>>f|8;y=o&Ca;r=i^1;b:do if(!(da&r|(h|0)==0)){p=c[Ia>>2]|0;if(!((h&I|0)==0|G&((f|0)==1&(p|0)!=0)^1)){u=Aa-(c[Ka>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Ba>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Ca)&7)){if((h&16777216|0)==0?1:(c[(c[L>>2]|0)+4>>2]|0)!=0){o=(c[M>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[Ja+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24?2:1;h=h+1|0}}h=b[(c[N>>2]|0)+(u<<1)>>1]|0;if(!(h&16384)){b[Ja>>1]=(a[O>>0]|0)==0?1:2;if(!(a[P>>0]|0))o=1;else Oa=128}else{b[Ja>>1]=2;Oa=128}if((Oa|0)==128){Oa=0;o=2}b[Q>>1]=o;if(h<<16>>16>=0){b[R>>1]=(a[U>>0]|0)==0?1:2;if(!(a[T>>0]|0))h=1;else Oa=132}else{b[R>>1]=2;Oa=132}if((Oa|0)==132){Oa=0;h=2}b[S>>1]=h}else{x=Ja;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[na>>2]|0;h=a[p+u>>0]|0;p=(a[p+Aa>>0]|0)+1+(h<<24>>24)>>1;o=p+Ga|0;p=p+Ha|0;if(!(o>>>0<68|p>>>0<68)){h=d[196278+p>>0]|0;x=d[196434+o>>0]|0;w=j+(H(v,m)|0)|0;a[Na>>0]=a[(b[Ja>>1]|0)+(196590+(o<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(196590+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(196590+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(196590+(o<<2))>>0]|0;Yc[c[xa>>2]&127](w,J,x,h,Na);h=a[(c[na>>2]|0)+u>>0]|0}x=c[L>>2]|0;s=h<<24>>24;h=(c[pa>>2]|0)+1+(d[x+548+s>>0]|0)>>1;s=(c[qa>>2]|0)+1+(d[x+636+s>>0]|0)>>1;do if(Fa){t=H(v,n)|0;p=k+t|0;q=h+Ga|0;r=d[196434+q>>0]|0;o=h+Ha|0;h=d[196278+o>>0]|0;o=q>>>0<68|o>>>0<68;if(B){if(!o){a[Na>>0]=a[(b[Ja>>1]|0)+(196590+(q<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(196590+(q<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(196590+(q<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(196590+(q<<2))>>0]|0;Yc[c[xa>>2]&127](p,K,r,h,Na)}o=s+Ga|0;h=s+Ha|0;if(o>>>0<68|h>>>0<68)break;x=d[196278+h>>0]|0;w=d[196434+o>>0]|0;a[Na>>0]=a[(b[Ja>>1]|0)+(196590+(o<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(196590+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(196590+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(196590+(o<<2))>>0]|0;Yc[c[xa>>2]&127](l+t|0,K,w,x,Na);break}else{if(!o){a[Na>>0]=(d[(b[Ja>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(b[V>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(196590+(q<<2))>>0]|0)+1;Yc[c[ya>>2]&127](p,K,r,h,Na)}o=s+Ga|0;h=s+Ha|0;if(o>>>0<68|h>>>0<68)break;x=d[196278+h>>0]|0;w=d[196434+o>>0]|0;a[Na>>0]=(d[(b[Ja>>1]|0)+(196590+(o<<2))>>0]|0)+1;a[ra>>0]=(d[(b[V>>1]|0)+(196590+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(196590+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(196590+(o<<2))>>0]|0)+1;Yc[c[ya>>2]&127](l+t|0,K,w,x,Na);break}}while(0);u=(c[Ka>>2]|0)+u|0;v=v+1|0}}q=h|Ca;d:do if(!(q&7)){if(!((p|0)==0|r)?((h^Ca)&128|0)!=0:0){q=Ja;c[q>>2]=65537;c[q+4>>2]=65537;q=0}else if((y|0)==0|(h&o|0)==0)q=1;else{q=(jj(g,12,i?4:11,Da)|0)&65535;b[Y>>1]=q;b[Z>>1]=q;b[_>>1]=q;b[Ja>>1]=q;q=0}r=i?8:1;p=0;while(1){if((p|0)==4)break;h=(D?p<<3:p)+12|0;o=h-r|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(q){h=(jj(g,h,o,Da)|0)&65535;Oa=166}}else{h=2;Oa=166}if((Oa|0)==166){Oa=0;b[Ja+(p<<1)>>1]=h}p=p+1|0}x=b[Ja>>1]|0;h=b[_>>1]|0;o=b[Z>>1]|0;p=b[Y>>1]|0}else{x=Ja;c[x>>2]=196611;c[x+4>>2]=196611;do if(q&128|0)if(!p)if(D&(c[z>>2]|0)!=3)break;else{x=3;h=3;o=3;p=3;break d}else if(D)break;else{x=3;h=3;o=3;p=3;break d}while(0);x=Ja;c[x>>2]=262148;c[x+4>>2]=262148;x=4;h=4;o=4;p=4}while(0);w=x<<16>>16;v=h<<16>>16;u=o<<16>>16;t=p<<16>>16;do if((v+u+w|0)!=(0-t|0)){q=c[na>>2]|0;s=a[q+s>>0]|0;q=(a[q+Aa>>0]|0)+1+s>>1;h=c[L>>2]|0;r=(c[pa>>2]|0)+1+(d[h+548+s>>0]|0)>>1;s=(c[qa>>2]|0)+1+(d[h+636+s>>0]|0)>>1;h=q+Ga|0;o=d[196434+h>>0]|0;q=q+Ha|0;p=d[196278+q>>0]|0;q=h>>>0<68|q>>>0<68;if(D){do if(!q)if(x<<16>>16>3){Xc[c[$>>2]&255](j,m,o,p);break}else{a[Na>>0]=a[196590+(h<<2)+w>>0]|0;a[ra>>0]=a[196590+(h<<2)+v>>0]|0;a[sa>>0]=a[196590+(h<<2)+u>>0]|0;a[ta>>0]=a[196590+(h<<2)+t>>0]|0;Yc[c[ua>>2]&127](j,m,o,p,Na);break}while(0);if(!Fa)break;p=r+Ga|0;q=d[196434+p>>0]|0;o=r+Ha|0;h=d[196278+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){Xc[c[$>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[196590+(p<<2)+w>>0]|0;a[ra>>0]=a[196590+(p<<2)+v>>0]|0;a[sa>>0]=a[196590+(p<<2)+u>>0]|0;a[ta>>0]=a[196590+(p<<2)+t>>0]|0;Yc[c[ua>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[196434+o>>0]|0;s=s+Ha|0;h=d[196278+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Xc[c[$>>2]&255](l,n,p,h);break}else{a[Na>>0]=a[196590+(o<<2)+w>>0]|0;a[ra>>0]=a[196590+(o<<2)+v>>0]|0;a[sa>>0]=a[196590+(o<<2)+u>>0]|0;a[ta>>0]=a[196590+(o<<2)+t>>0]|0;Yc[c[ua>>2]&127](l,n,p,h,Na);break}}else{do if(!o)if(x<<16>>16>3){Xc[c[aa>>2]&255](k,n,q,h);break}else{a[Na>>0]=(d[196590+(p<<2)+w>>0]|0)+1;a[ra>>0]=(d[196590+(p<<2)+v>>0]|0)+1;a[sa>>0]=(d[196590+(p<<2)+u>>0]|0)+1;a[ta>>0]=(d[196590+(p<<2)+t>>0]|0)+1;Yc[c[va>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[196434+o>>0]|0;s=s+Ha|0;h=d[196278+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Xc[c[aa>>2]&255](l,n,p,h);break}else{a[Na>>0]=(d[196590+(o<<2)+w>>0]|0)+1;a[ra>>0]=(d[196590+(o<<2)+v>>0]|0)+1;a[sa>>0]=(d[196590+(o<<2)+u>>0]|0)+1;a[ta>>0]=(d[196590+(o<<2)+t>>0]|0)+1;Yc[c[va>>2]&127](l,n,p,h,Na);break}}}else{do if(!q)if(x<<16>>16>3){Xc[c[ba>>2]&255](j,m,o,p);break}else{a[Na>>0]=a[196590+(h<<2)+w>>0]|0;a[ra>>0]=a[196590+(h<<2)+v>>0]|0;a[sa>>0]=a[196590+(h<<2)+u>>0]|0;a[ta>>0]=a[196590+(h<<2)+t>>0]|0;Yc[c[xa>>2]&127](j,m,o,p,Na);break}while(0);if(!Fa)break;p=r+Ga|0;q=d[196434+p>>0]|0;o=r+Ha|0;h=d[196278+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){Xc[c[ba>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[196590+(p<<2)+w>>0]|0;a[ra>>0]=a[196590+(p<<2)+v>>0]|0;a[sa>>0]=a[196590+(p<<2)+u>>0]|0;a[ta>>0]=a[196590+(p<<2)+t>>0]|0;Yc[c[xa>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[196434+o>>0]|0;s=s+Ha|0;h=d[196278+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Xc[c[ba>>2]&255](l,n,p,h);break}else{a[Na>>0]=a[196590+(o<<2)+w>>0]|0;a[ra>>0]=a[196590+(o<<2)+v>>0]|0;a[sa>>0]=a[196590+(o<<2)+u>>0]|0;a[ta>>0]=a[196590+(o<<2)+t>>0]|0;Yc[c[xa>>2]&127](l,n,p,h,Na);break}}else{do if(!o)if(x<<16>>16>3){Xc[c[ca>>2]&255](k,n,q,h);break}else{a[Na>>0]=(d[196590+(p<<2)+w>>0]|0)+1;a[ra>>0]=(d[196590+(p<<2)+v>>0]|0)+1;a[sa>>0]=(d[196590+(p<<2)+u>>0]|0)+1;a[ta>>0]=(d[196590+(p<<2)+t>>0]|0)+1;Yc[c[ya>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[196434+o>>0]|0;s=s+Ha|0;h=d[196278+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Xc[c[ca>>2]&255](l,n,p,h);break}else{a[Na>>0]=(d[196590+(o<<2)+w>>0]|0)+1;a[ra>>0]=(d[196590+(o<<2)+v>>0]|0)+1;a[sa>>0]=(d[196590+(o<<2)+u>>0]|0)+1;a[ta>>0]=(d[196590+(o<<2)+t>>0]|0)+1;Yc[c[ya>>2]&127](l,n,p,h,Na);break}}}}while(0)}while(0);x=D|C^1;w=(y|0)==0;v=i?8:1;u=1;while(1){if((u|0)>=(F|0))break;r=(ia&u<<24|0)==0;do if(!(x&(r^1))){if(ja){if(!(u&E))if(w)p=1;else{p=(H(u,v)|0)+12|0;p=(jj(g,p,p-v|0,Da)|0)&65535;b[ka>>1]=p;b[la>>1]=p;b[ma>>1]=p;b[Ja>>1]=p;p=0}else{p=Ja;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(D?u:q)+12+((D?q:u)<<3)|0;o=h-v|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(jj(g,h,o,Da)|0)&65535;Oa=230}}else{h=2;Oa=230}if((Oa|0)==230){Oa=0;b[Ja+(q<<1)>>1]=h}q=q+1|0}h=b[Ja>>1]|0;o=b[ma>>1]|0;p=b[la>>1]|0;q=b[ka>>1]|0;if(((o<<16>>16)+(h<<16>>16)+(p<<16>>16)|0)==(0-(q<<16>>16)|0))break;else t=q}else{h=Ja;c[h>>2]=196611;c[h+4>>2]=196611;h=3;o=3;p=3;t=3}q=a[(c[na>>2]|0)+Aa>>0]|0;if(D){s=u<<2;r=Ga+q|0;q=Ha+q|0;if(!(r>>>0<68|q>>>0<68)){i=d[196278+q>>0]|0;y=d[196434+r>>0]|0;q=j+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(196590+(r<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(r<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(r<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(r<<2))>>0]|0;Yc[c[ua>>2]&127](q,m,y,i,Na)}if(!Fa)break;if(B){r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;r=k+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(q<<2))>>0]|0;Yc[c[ua>>2]&127](r,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;s=l+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(q<<2))>>0]|0;Yc[c[ua>>2]&127](s,n,y,i,Na);break}if(u&1|0)break;s=u<<1;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;r=k+(s<<c[oa>>2])|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[va>>2]&127](r,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;s=l+(s<<c[oa>>2])|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[va>>2]&127](s,n,y,i,Na);break}if(C){if(r?(La=Ga+q|0,Ma=Ha+q|0,!(La>>>0<68|Ma>>>0<68)):0){i=d[196278+Ma>>0]|0;y=d[196434+La>>0]|0;s=j+(H(wa,u)|0)|0;a[Na>>0]=a[(h<<16>>16)+(196590+(La<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(La<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(La<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(La<<2))>>0]|0;Yc[c[xa>>2]&127](s,m,y,i,Na)}if(!Fa)break;s=H(u<<2,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[ya>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[ya>>2]&127](l+s|0,n,y,i,Na);break}r=u<<2;s=Ga+q|0;q=Ha+q|0;if(!(s>>>0<68|q>>>0<68)){i=d[196278+q>>0]|0;y=d[196434+s>>0]|0;q=j+(H(r,m)|0)|0;a[Na>>0]=a[(h<<16>>16)+(196590+(s<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(s<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(s<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(s<<2))>>0]|0;Yc[c[xa>>2]&127](q,m,y,i,Na)}if(Fa){if(B){s=H(r,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(q<<2))>>0]|0;Yc[c[xa>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=a[(h<<16>>16)+(196590+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(196590+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(196590+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(196590+(q<<2))>>0]|0;Yc[c[xa>>2]&127](l+s|0,n,y,i,Na);break}if(!(u&1)){s=H(u<<1,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[ya>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[196278+r>>0]|0;y=d[196434+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(196590+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(196590+(q<<2))>>0]|0)+1;Yc[c[ya>>2]&127](l+s|0,n,y,i,Na)}}}}while(0);u=u+1|0}f=f+1|0}Gc=Pa;return} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Jc=[_Y,SU,RU,fW,$Y,aZ,bZ,cZ,dZ,eZ,fZ,gZ,hZ,EP,_Y,_Y];var Kc=[iZ];var Lc=[jZ];var Mc=[kZ,Me,Mf,Of,Qf,Xg,UM,YQ,_Q,$Q,lR,yU,RX,be,ke,me,ne,tg,yg,xl,jQ,hQ,wQ,FQ,JQ,MR,kZ,kZ,kZ,kZ,kZ,kZ];var Nc=[lZ,aV];var Oc=[mZ,Nf,IO,ZQ,kR,ge,ie,Kf,ej,KL,NL,aQ,sT,mZ,mZ,mZ];var Pc=[nZ,XM,rN,zU,wV,vX,XX,ZX,qe,Ke,Zf,nW,nZ,nZ,nZ,nZ];var Qc=[oZ,Pf,AU,oZ];var Rc=[pZ,kf,yl,zl,Al,Bl,Cl,Dl,El,Fl,Gl,Hl,Il,Jl,Kl,Ll,Ml,Nl,Ol,Pl,Ql,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,XQ,QR,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ,pZ];var Sc=[qZ,Ne,VM,pN,WQ,PR,qZ,qZ];var Tc=[rZ,sZ,oX,NM,BQ,CQ,JX,rZ];var Uc=[tZ,Ed,Id,Jd,re,se,ue,xe,ye,ze,Ae,Ud,Fe,Ge,Yd,Oe,Rf,WM,qN,rX,sX,tX,uX,EX,PX,QX,VX,WX,YX,$X,ce,kd,ld,le,pe,NR,KX,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ,tZ];var Vc=[uZ,Be,Ce,Kd,De,Ee,He,Ie,id,jd,fe,md,nd,od,pd,qd,rd,sd,td,ud,vd,wd,oe,jg,mg,wm,DI,CI,lJ,kJ,VJ,UJ,DK,CK,lL,kL,Hn,Gn,Jn,In,Ln,Kn,Mn,Nn,On,Pn,Qn,Rn,Sn,Tn,Un,Vn,Wn,Xn,Yn,Zn,_n,$n,ao,go,fo,ho,io,jo,ko,lo,qo,ro,so,cp,bp,ep,dp,gp,fp,hp,ip,jp,kp,lp,mp,np,op,pp,qp,rp,sp,tp,yp,xp,zp,Ap,Bp,Cp,Fp,Gp,Hp,rq,qq,tq,sq,vq,uq,wq,xq,yq,zq,Aq,Bq,Cq,Dq,Eq,Fq,Gq,Hq,Iq,Nq,Mq,Oq,Pq,Qq,Rq,Uq,Vq,Wq,Gr,Fr,Ir,Hr,Kr,Jr,Lr,Mr,Nr,Or,Pr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,as,$r,bs,cs,ds,es,hs,is,js,Vs,Us,Xs,Ws,Zs,Ys,_s,$s,at,bt,ct,dt,et,ft,gt,ht,it,jt,kt,pt,ot,qt,rt,st,tt,wt,xt,yt,eo,co,bo,po,oo,no,mo,wp,vp,up,Ep,Dp,Lq,Kq,Jq,Tq,Sq,_r,Zr,Yr,gs,fs,nt,mt,lt,vt,ut,eO,TO,SO,bV,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ,uZ];var Wc=[vZ,de,ee,he,je,pI,oI,rI,qI,sI,tI,uI,vI,BI,aJ,bJ,cJ,dJ,jJ,KJ,LJ,MJ,NJ,TJ,sK,tK,uK,vK,BK,aL,bL,cL,dL,jL,bu,gu,lu,qu,vu,Au,Fu,Ku,Pu,Uu,Zu,cv,hv,mv,rv,wv,Bv,Gv,Lv,Qv,Vv,_v,dw,iw,nw,sw,xw,Cw,Hw,Mw,Rw,Ww,$w,ex,jx,ox,tx,yx,Dx,Ix,Nx,Sx,Xx,ay,fy,ky,py,uy,zy,Ey,Jy,Oy,Ty,Yy,bz,gz,lz,qz,vz,Az,Fz,Kz,Pz,Uz,Zz,cA,hA,mA,rA,wA,BA,GA,LA,QA,VA,_A,dB,iB,nB,sB,xB,CB,HB,MB,RB,WB,$B,eC,jC,oC,tC,yC,DC,IC,NC,SC,XC,aD,fD,kD,pD,uD,zD,ED,JD,OD,TD,YD,bE,gE,lE,qE,au,fu,ku,pu,uu,zu,Eu,Ju,Ou,Tu,Yu,bv,gv,lv,qv,vv,Av,Fv,Kv,Pv,Uv,Zv,cw,hw,mw,rw,ww,Bw,Gw,Lw,Qw,Vw,_w,dx,ix,nx,sx,xx,Cx,Hx,Mx,Rx,Wx,$x,ey,jy,oy,ty,yy,Dy,Iy,Ny,Sy,Xy,az,fz,kz,pz,uz,zz,Ez,Jz,Oz,Tz,Yz,bA,gA,lA,qA,vA,AA,FA,KA,PA,UA,ZA,cB,hB,mB,rB,wB,BB,GB,LB,QB,VB,_B,dC,iC,nC,sC,xC,CC,HC,MC,RC,WC,$C,eD,jD,oD,tD,yD,DD,ID,ND,SD,XD,aE,fE,kE,pE,$t,eu,ju,ou,tu,yu,Du,Iu,Nu,Su,Xu,av,fv,kv,pv,uv,zv,Ev,Jv,Ov,Tv,Yv,bw,gw,lw,qw,vw,Aw,Fw,Kw,Pw,Uw,Zw,cx,hx,mx,rx,wx,Bx,Gx,Lx,Qx,Vx,_x,dy,iy,ny,sy,xy,Cy,Hy,My,Ry,Wy,$y,ez,jz,oz,tz,yz,Dz,Iz,Nz,Sz,Xz,aA,fA,kA,pA,uA,zA,EA,JA,OA,TA,YA,bB,gB,lB,qB,vB,AB,FB,KB,PB,UB,ZB,cC,hC,mC,rC,wC,BC,GC,LC,QC,VC,_C,dD,iD,nD,sD,xD,CD,HD,MD,RD,WD,$D,eE,jE,oE,_t,du,iu,nu,su,xu,Cu,Hu,Mu,Ru,Wu,$u,ev,jv,ov,tv,yv,Dv,Iv,Nv,Sv,Xv,aw,fw,kw,pw,uw,zw,Ew,Jw,Ow,Tw,Yw,bx,gx,lx,qx,vx,Ax,Fx,Kx,Px,Ux,Zx,cy,hy,my,ry,wy,By,Gy,Ly,Qy,Vy,_y,dz,iz,nz,sz,xz,Cz,Hz,Mz,Rz,Wz,$z,eA,jA,oA,tA,yA,DA,IA,NA,SA,XA,aB,fB,kB,pB,uB,zB,EB,JB,OB,TB,YB,bC,gC,lC,qC,vC,AC,FC,KC,PC,UC,ZC,cD,hD,mD,rD,wD,BD,GD,LD,QD,VD,_D,dE,iE,nE,Zt,cu,hu,mu,ru,wu,Bu,Gu,Lu,Qu,Vu,_u,dv,iv,nv,sv,xv,Cv,Hv,Mv,Rv,Wv,$v,ew,jw,ow,tw,yw,Dw,Iw,Nw,Sw,Xw,ax,fx,kx,px,ux,zx,Ex,Jx,Ox,Tx,Yx,by,gy,ly,qy,vy,Ay,Fy,Ky,Py,Uy,Zy,cz,hz,mz,rz,wz,Bz,Gz,Lz,Qz,Vz,_z,dA,iA,nA,sA,xA,CA,HA,MA,RA,WA,$A,eB,jB,oB,tB,yB,DB,IB,NB,SB,XB,aC,fC,kC,pC,uC,zC,EC,JC,OC,TC,YC,bD,gD,lD,qD,vD,AD,FD,KD,PD,UD,ZD,cE,hE,mE,_m,an,$m,bn,cn,dn,fn,en,gn,hn,jn,kn,ln,Wm,Ym,nn,on,pn,mn,qn,rn,sn,to,uo,vo,wo,Fo,Go,Ho,Io,Jo,Ko,Lo,Mo,No,Oo,Do,Eo,Po,Qo,Ip,Jp,Kp,Lp,Up,Vp,Wp,Xp,Yp,Zp,_p,$p,aq,bq,Sp,Tp,cq,dq,Xq,Yq,Zq,_q,hr,ir,jr,kr,lr,mr,nr,or,pr,qr,fr,gr,rr,sr,ks,ls,ms,ns,ws,xs,ys,zs,As,Bs,Cs,Ds,Es,Fs,us,vs,Gs,Hs,zt,At,Bt,Ct,Xm,Zm,tn,Tm,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ,vZ];var Xc=[wZ,yX,HX,cY,Ve,PI,QI,RI,XI,ZI,YI,$I,_I,xJ,yJ,zJ,FJ,HJ,GJ,JJ,IJ,fK,gK,hK,nK,pK,oK,rK,qK,PK,QK,RK,XK,ZK,YK,$K,_K,xL,yL,zL,FL,HL,GL,JL,IL,un,vn,wn,xn,yn,zn,An,Bn,Cn,Dn,En,Fn,Ao,zo,Co,Bo,Ro,So,To,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,Pp,Op,Rp,Qp,eq,fq,gq,hq,iq,jq,kq,lq,mq,nq,oq,pq,cr,br,er,dr,tr,ur,vr,wr,xr,yr,zr,Ar,Br,Cr,Dr,Er,rs,qs,ts,ss,Is,Js,Ks,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Gt,Ft,It,Ht,Nt,St,Mt,Rt,Lt,Qt,Kt,Pt,Jt,Ot,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ,wZ];var Yc=[xZ,xX,GX,bY,wI,xI,zI,yI,AI,MI,NI,OI,SI,UI,TI,WI,VI,eJ,fJ,hJ,gJ,iJ,uJ,vJ,wJ,AJ,CJ,BJ,EJ,DJ,OJ,PJ,RJ,QJ,SJ,cK,dK,eK,iK,kK,jK,mK,lK,wK,xK,zK,yK,AK,MK,NK,OK,SK,UK,TK,WK,VK,eL,fL,hL,gL,iL,uL,vL,wL,AL,CL,BL,EL,DL,xo,yo,Mp,Np,$q,ar,os,ps,Dt,Et,OR,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ,xZ];var Zc=[yZ,wX,FX,aY,Pg,EI,FI,GI,HI,mJ,nJ,oJ,pJ,WJ,XJ,YJ,ZJ,EK,FK,GK,HK,mL,nL,oL,pL,$H,_H,bI,aI,dI,cI,fI,eI,hI,gI,jI,iI,lI,kI,nI,mI,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ,yZ];var _c=[zZ,II,JI,KI,LI,qJ,rJ,sJ,tJ,_J,$J,aK,bK,IK,JK,KK,LK,qL,rL,sL,tL,zZ,zZ,zZ,zZ,zZ,zZ,zZ,zZ,zZ,zZ,zZ];var $c=[AZ,Sm];var ad=[BZ,Vm,Um,BZ];return{___cxa_can_catch:kY,___cxa_is_pointer_type:lY,___divdi3:qY,___errno_location:CU,___getTypeName:xU,___muldi3:sY,___remdi3:tY,___udivdi3:uY,__get_daylight:XW,__get_environ:ZW,__get_timezone:YW,__get_tzname:WW,_bitshift64Ashr:vY,_bitshift64Lshr:wY,_bitshift64Shl:xY,_free:GW,_i64Add:mY,_i64Subtract:nY,_llvm_bswap_i16:yY,_llvm_bswap_i32:zY,_llvm_round_f64:AY,_main:gd,_malloc:FW,_memalign:KW,_memcpy:BY,_memmove:CY,_memset:DY,_pthread_cond_broadcast:EY,_sbrk:FY,_strlen:SV,dynCall_dd:GY,dynCall_did:HY,dynCall_didd:IY,dynCall_ii:JY,dynCall_iidiiii:KY,dynCall_iii:LY,dynCall_iiii:MY,dynCall_iiiii:NY,dynCall_iiiiii:OY,dynCall_iiiiiii:PY,dynCall_v:QY,dynCall_vi:RY,dynCall_vii:SY,dynCall_viii:TY,dynCall_viiii:UY,dynCall_viiiii:VY,dynCall_viiiiii:WY,dynCall_viiiiiiii:XY,dynCall_viiiiiiiii:YY,dynCall_viiiiiiiiii:ZY,establishStackSpace:fd,globalCtors:bd,stackAlloc:cd,stackRestore:ed,stackSave:dd}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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 allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte 0x"+u0.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");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;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=334176,STACK_MAX=5577056,DYNAMIC_BASE=5577056,DYNAMICTOP_PTR=334144;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===INITIAL_TOTAL_MEMORY,"provided buffer should be "+INITIAL_TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){assert(INITIAL_TOTAL_MEMORY%WASM_PAGE_SIZE===0);wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}assert(buffer.byteLength===INITIAL_TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff_aac_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var trueModule=Module;function receiveInstantiatedSource(output){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":2e3,"maximum":2e3,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);assert(exports,"binaryen setup failed (no wasm support?)");return exports};__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=334160;assert(tempDoublePtr%8==0);function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<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}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}};this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true});if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("Cannot enlarge memory arrays to size "+requestedSize+" bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+HEAP8.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var _fabs=Math_abs;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 _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",334048,4),334048);function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;if(!croppingParams){gl.viewport(0,0,width,height)}else{gl.viewport(0,0,croppingParams.width,croppingParams.height);var tTop=croppingParams.top/height;var tLeft=croppingParams.left/width;var tBottom=croppingParams.height/height;var tRight=croppingParams.width/width;var texturePosValues=new Float32Array([tRight,tTop,tLeft,tTop,tRight,tBottom,tLeft,tBottom]);gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,texturePosValues,gl.DYNAMIC_DRAW)}gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){this.webGLCanvas.canvasElement.width=w;this.webGLCanvas.canvasElement.height=h;if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-65536;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function nullFunc_dd(x){err("Invalid function pointer called with signature 'dd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_did(x){err("Invalid function pointer called with signature 'did'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_didd(x){err("Invalid function pointer called with signature 'didd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iidiiii(x){err("Invalid function pointer called with signature 'iidiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){err("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiii(x){err("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiii(x){err("Invalid function pointer called with signature 'iiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ijiii(x){err("Invalid function pointer called with signature 'ijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_jiji(x){err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}var asmGlobalArg={};var asmLibraryArg={"R":setTempRet0,"b":abortStackOverflow,"ya":nullFunc_dd,"qa":nullFunc_did,"ka":nullFunc_didd,"ha":nullFunc_ii,"ea":nullFunc_iidiiii,"aa":nullFunc_iii,"U":nullFunc_iiii,"Q":nullFunc_iiiii,"Ia":nullFunc_iiiiii,"Ha":nullFunc_iiiiiii,"Ga":nullFunc_ijiii,"Fa":nullFunc_jiji,"Ea":nullFunc_v,"Da":nullFunc_vi,"Ca":nullFunc_vii,"Ba":nullFunc_viii,"Aa":nullFunc_viiii,"za":nullFunc_viiiii,"xa":nullFunc_viiiiii,"wa":nullFunc_viiiiiiii,"va":nullFunc_viiiiiiiii,"ua":nullFunc_viiiiiiiiii,"P":___assert_fail,"ta":___buildEnvironment,"u":___cxa_allocate_exception,"sa":___cxa_pure_virtual,"t":___cxa_throw,"ra":___lock,"O":___setErrNo,"pa":___syscall140,"N":___syscall146,"M":___syscall221,"oa":___syscall3,"na":___syscall5,"L":___syscall54,"K":___syscall6,"ma":___unlock,"la":__embind_create_inheriting_constructor,"ja":__embind_register_bool,"J":__embind_register_class,"I":__embind_register_class_class_function,"w":__embind_register_class_function,"s":__embind_register_class_property,"ia":__embind_register_emval,"H":__embind_register_float,"k":__embind_register_integer,"f":__embind_register_memory_view,"G":__embind_register_std_string,"ga":__embind_register_std_wstring,"fa":__embind_register_void,"r":__emval_as,"F":__emval_call,"y":__emval_call_method,"o":__emval_call_void_method,"d":__emval_decref,"C":__emval_get_global,"h":__emval_get_method_caller,"B":__emval_get_property,"x":__emval_incref,"da":__emval_new,"j":__emval_new_cstring,"ca":__emval_new_object,"i":__emval_run_destructors,"q":__emval_set_property,"n":__emval_take_value,"c":_abort,"A":_clock,"ba":_emscripten_get_heap_size,"e":_emscripten_log,"$":_emscripten_memcpy_big,"_":_emscripten_resize_heap,"Z":_fabs,"v":_getenv,"Y":_gettimeofday,"X":_init,"z":_llvm_exp2_f64,"W":_llvm_trap,"V":_llvm_trunc_f64,"m":_pthread_cond_destroy,"p":_pthread_cond_init,"l":_pthread_cond_signal,"g":_pthread_cond_wait,"E":_pthread_create,"D":_pthread_join,"T":_sysconf,"S":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);var real____cxa_can_catch=asm["Ja"];asm["Ja"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)};var real____cxa_is_pointer_type=asm["Ka"];asm["Ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)};var real____errno_location=asm["La"];asm["La"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)};var real____getTypeName=asm["Ma"];asm["Ma"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)};var real___get_daylight=asm["Na"];asm["Na"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_daylight.apply(null,arguments)};var real___get_environ=asm["Oa"];asm["Oa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_environ.apply(null,arguments)};var real___get_timezone=asm["Pa"];asm["Pa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_timezone.apply(null,arguments)};var real___get_tzname=asm["Qa"];asm["Qa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_tzname.apply(null,arguments)};var real__fflush=asm["Ra"];asm["Ra"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)};var real__free=asm["Sa"];asm["Sa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)};var real__llvm_bswap_i16=asm["Ta"];asm["Ta"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i16.apply(null,arguments)};var real__llvm_bswap_i32=asm["Ua"];asm["Ua"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)};var real__llvm_round_f64=asm["Va"];asm["Va"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_round_f64.apply(null,arguments)};var real__main=asm["Wa"];asm["Wa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)};var real__malloc=asm["Xa"];asm["Xa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)};var real__memalign=asm["Ya"];asm["Ya"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memalign.apply(null,arguments)};var real__memmove=asm["Za"];asm["Za"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)};var real__pthread_cond_broadcast=asm["_a"];asm["_a"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_cond_broadcast.apply(null,arguments)};var real__sbrk=asm["$a"];asm["$a"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)};var real__strlen=asm["ab"];asm["ab"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)};var real_establishStackSpace=asm["xb"];asm["xb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)};var real_globalCtors=asm["yb"];asm["yb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_globalCtors.apply(null,arguments)};var real_stackAlloc=asm["zb"];asm["zb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)};var real_stackRestore=asm["Ab"];asm["Ab"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)};var real_stackSave=asm["Bb"];asm["Bb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)};Module["asm"]=asm;var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ja"].apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ka"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["La"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ma"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Na"].apply(null,arguments)};var __get_environ=Module["__get_environ"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Oa"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Pa"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Qa"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ra"].apply(null,arguments)};var _free=Module["_free"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Sa"].apply(null,arguments)};var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ta"].apply(null,arguments)};var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ua"].apply(null,arguments)};var _llvm_round_f64=Module["_llvm_round_f64"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Va"].apply(null,arguments)};var _main=Module["_main"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Wa"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Xa"].apply(null,arguments)};var _memalign=Module["_memalign"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ya"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Za"].apply(null,arguments)};var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["_a"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["$a"].apply(null,arguments)};var _strlen=Module["_strlen"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ab"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["xb"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["yb"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["zb"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ab"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Bb"].apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["bb"].apply(null,arguments)};var dynCall_did=Module["dynCall_did"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["cb"].apply(null,arguments)};var dynCall_didd=Module["dynCall_didd"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["db"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["eb"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["fb"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["gb"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["hb"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ib"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["jb"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["kb"].apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["lb"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["mb"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["nb"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ob"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["pb"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["qb"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["rb"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["sb"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["tb"].apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ub"].apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["vb"].apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["wb"].apply(null,arguments)};Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayToString"])Module["intArrayToString"]=function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ccall"])Module["ccall"]=function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["cwrap"])Module["cwrap"]=function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setValue"])Module["setValue"]=function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getValue"])Module["getValue"]=function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocate"])Module["allocate"]=function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getMemory"])Module["getMemory"]=function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["AsciiToString"])Module["AsciiToString"]=function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToAscii"])Module["stringToAscii"]=function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ToString"])Module["UTF8ToString"]=function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8"])Module["stringToUTF8"]=function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF16ToString"])Module["UTF16ToString"]=function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF16"])Module["stringToUTF16"]=function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF32ToString"])Module["UTF32ToString"]=function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF32"])Module["stringToUTF32"]=function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocateUTF8"])Module["allocateUTF8"]=function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackTrace"])Module["stackTrace"]=function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreRun"])Module["addOnPreRun"]=function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnInit"])Module["addOnInit"]=function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreMain"])Module["addOnPreMain"]=function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnExit"])Module["addOnExit"]=function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPostRun"])Module["addOnPostRun"]=function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addRunDependency"])Module["addRunDependency"]=function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["removeRunDependency"])Module["removeRunDependency"]=function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["ENV"])Module["ENV"]=function(){abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS"])Module["FS"]=function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS_createFolder"])Module["FS_createFolder"]=function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPath"])Module["FS_createPath"]=function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLink"])Module["FS_createLink"]=function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDevice"])Module["FS_createDevice"]=function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_unlink"])Module["FS_unlink"]=function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["GL"])Module["GL"]=function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["warnOnce"])Module["warnOnce"]=function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getLEB"])Module["getLEB"]=function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFunctionTables"])Module["getFunctionTables"]=function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["registerFunctions"])Module["registerFunctions"]=function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addFunction"])Module["addFunction"]=function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["removeFunction"])Module["removeFunction"]=function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["prettyPrint"])Module["prettyPrint"]=function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["makeBigInt"])Module["makeBigInt"]=function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynCall"])Module["dynCall"]=function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackSave"])Module["stackSave"]=function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackRestore"])Module["stackRestore"]=function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackAlloc"])Module["stackAlloc"]=function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["establishStackSpace"])Module["establishStackSpace"]=function(){abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["print"])Module["print"]=function(){abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["printErr"])Module["printErr"]=function(){abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getTempRet0"])Module["getTempRet0"]=function(){abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setTempRet0"])Module["setTempRet0"]=function(){abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=out;var printErr=err;var has=false;out=err=function(x){has=true};try{var flush=Module["_fflush"];if(flush)flush(0);["stdout","stderr"].forEach(function(name){var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty&&tty.output&&tty.output.length){has=true}})}catch(e){}out=print;err=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){err("exit("+status+") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| | | <title>H5LiveClient 1.0</title> |
| | | <meta charset="utf-8" /> |
| | | <style> |
| | | .btn { |
| | | display: inline-block; |
| | | line-height: 1; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | -webkit-appearance: none; |
| | | text-align: center; |
| | | box-sizing: border-box; |
| | | outline: none; |
| | | margin: 0; |
| | | transition: .1s; |
| | | font-weight: 500; |
| | | -moz-user-select: none; |
| | | -webkit-user-select: none; |
| | | -ms-user-select: none; |
| | | padding: 12px 20px; |
| | | font-size: 14px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | background-color: #409eff; |
| | | border-color: #409eff; |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-danger { |
| | | color: #fff; |
| | | background-color: #f56c6c; |
| | | border-color: #f56c6c; |
| | | } |
| | | |
| | | .btn-success { |
| | | color: #fff; |
| | | background-color: #67c23a; |
| | | border-color: #67c23a; |
| | | } |
| | | |
| | | .player-wrapper { |
| | | width: 900px; |
| | | height: 500px; |
| | | /*overflow-y: auto;*/ |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | } |
| | | |
| | | .btn-wrapper { |
| | | width: 900px; |
| | | height: 50px; |
| | | margin: 0 auto; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | /* |
| | | .player-wrapper canvas { |
| | | width: 100%; |
| | | height: 100%; |
| | | } */ |
| | | |
| | | .logs { |
| | | border: 1px solid #333; |
| | | width: 900px; |
| | | height: 300px; |
| | | margin: 0 auto; |
| | | overflow-y: auto; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="player-wrapper"> |
| | | <canvas id="canvas" style="background-color: #0D0E1B" width="900" height="500"></canvas> |
| | | </div> |
| | | <div class="btn-wrapper"> |
| | | <div id="playDom"> |
| | | <button class="btn" id="play">播放</button> |
| | | </div> |
| | | <div id="stopDom" style="display: none"> |
| | | <button class="btn btn-danger" id="stop">结束</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="logout" class="logs"> |
| | | </div> |
| | | |
| | | <script src="./ajax.js"></script> |
| | | <script> |
| | | onerror = handleErr; |
| | | var txt = ""; |
| | | var h5lc = null; |
| | | var $play = document.getElementById('play'); |
| | | var $stop = document.getElementById('stop'); |
| | | var $playDom = document.getElementById('playDom'); |
| | | var $stopDom = document.getElementById('stopDom'); |
| | | var canvas = document.getElementById("canvas"); |
| | | var isPlaying = false; |
| | | disabledMouseWheel(canvas); |
| | | |
| | | $play.addEventListener('click', function () { |
| | | if (isPlaying) { |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | play(); |
| | | $playDom.style.display = 'none'; |
| | | $stopDom.style.display = 'block'; |
| | | }); |
| | | |
| | | $stop.addEventListener('click', function () { |
| | | if (!isPlaying) { |
| | | return; |
| | | } |
| | | |
| | | isPlaying = false; |
| | | stop(); |
| | | |
| | | $playDom.style.display = 'block'; |
| | | $stopDom.style.display = 'none'; |
| | | }); |
| | | |
| | | function play() { |
| | | h5lc.play("ws://3.1.39.135:8080/live/345.flv", canvas) |
| | | // h5lc.play("ws://localhost:8080/live/user1", canvas) |
| | | // h5lc.play("ws://119.9.118.39:8080/live/user1", canvas) |
| | | // h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas) |
| | | } |
| | | |
| | | function stop() { |
| | | h5lc.close() |
| | | } |
| | | |
| | | function disabledMouseWheel(ele) { |
| | | if (ele.addEventListener) { |
| | | ele.addEventListener('DOMMouseScroll', scrollFunc, false); |
| | | } //W3C |
| | | ele.onmousewheel = scrollFunc; //IE/Opera/Chrome |
| | | } |
| | | |
| | | function scrollFunc(evt) { |
| | | evt = evt || window.event; |
| | | if (evt.preventDefault) { |
| | | // Firefox |
| | | evt.preventDefault(); |
| | | evt.stopPropagation(); |
| | | } else { |
| | | // IE |
| | | evt.cancelBubble = true; |
| | | evt.returnValue = false; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function handleErr(msg, url, l) { |
| | | txt = "There was an error on this page.\n\n"; |
| | | txt += "Error: " + msg + "\n"; |
| | | txt += "URL: " + url + "\n"; |
| | | txt += "Line: " + l + "\n\n"; |
| | | document.getElementById("logout").innerHTML += txt + "<br>"; |
| | | return true; |
| | | } |
| | | |
| | | var Module = { |
| | | print: (function () { |
| | | return function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | // These replacements are necessary if you render to raw HTML |
| | | //text = text.replace(/&/g, "&"); |
| | | //text = text.replace(/</g, "<"); |
| | | //text = text.replace(/>/g, ">"); |
| | | //text = text.replace('\n', '<br>', 'g'); |
| | | console.log(text); |
| | | }; |
| | | })(), |
| | | printErr: function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | if (0) { // XXX disabled for safety typeof dump == 'function') { |
| | | dump(text + '\n'); // fast, straight to the real console |
| | | } else { |
| | | console.error(text); |
| | | } |
| | | }, |
| | | postRun: function () { |
| | | h5lc = new H5LiveClient(); |
| | | h5lc.videoBuffer = 1; |
| | | } |
| | | }; |
| | | </script> |
| | | <script src="./ff_mp3.js"></script> |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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 stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=261104,DYNAMIC_BASE=5503984,DYNAMICTOP_PTR=261072;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_exp=Math.exp;var Math_log=Math.log;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACQ5AAA0OQAANDkAADQ5AAA0OQAAAAAAAAAAAAAAAAAAJDkAADY5AAA2OQAANDkAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuvgBAAMAAAAgAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAMAAAABAAAAAAAAAAgAAAACAAAABwAAAAIAAAAAAAAAAwAAAAIAAAAAAAAACAAAAAIAAAAHAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA+AEAAwAAACAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAgAAAACAAAABwAAAAMAAAAAAAAAAwAAAAEAAAAAAAAACAAAAAIAAAAHAAAAAgAAAAAAAAADAAAAAAAAAAAAAAAIAAAAAgAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMb4AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzvgBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW+AEAAwICABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN74AQADAgAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAioMCAAEAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5vgBAAAAAADv+AEAAQAAAAQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPX4AQABAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+/gBAAEAAAACAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+QEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn5AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEvkBAAMAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QEAAwEAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP5AQADAgAAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAGAAAAAAAAAAAAAAAIAAAABQAAAAcAAAABAAAAAAAAAAYAAAADAAAAAAAAAAgAAAAFAAAABwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALfkBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy+QEAAwAAACQAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAEAAAADAAAAAAAAAAQAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf5AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQfkBAAMAAABgAAAAAAAAAAAAAAABAAAAAAAAAAYAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG+QEAAwAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAEAAAAAAAAABAAAAAEAAAAAAAAAAgAAAAMAAAABAAAAAgAAAAAAAAAEAAAAAwAAAAAAAAABAAAAAwAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEv5AQADAAAAYAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVfkBAAMBAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABa+QEAAwEBABAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAgAAAAEAAAAAAAAACAAAAAEAAAAHAAAAAgAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/5AQAEAAAAoAAAAAAAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAgAAAAAAAAAIAAAAAwAAAAcAAAADAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAAAAAAZPkBAAQAAACgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAABp+QEABAAAAKAAAAAAAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAAAAAAAG75AQAEAAAAoAAAAAAAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAADAAAABwAAAAEAAAAAAAAABAAAAAMAAAAAAAAACAAAAAMAAAAHAAAABAAAAAAAAAAAAAAAc/kBAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfPkBAAAAAACC+QEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACL+QEAAAAAAJH5AQADAAEAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmfkBAAMAAQAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi+QEABAEBAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAKv5AQADAAAAIQAAAAAAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAGAAAAAgAAAAAAAAAQAAAABQAAAA8AAAADAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs/kBAAMAAAAgAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAQAAAAAAAAAEAAAAAUAAAAPAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7+QEAAwAAACEAAAAAAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAgAAAAAAAAAFAAAABgAAAAEAAAAFAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMT5AQADAAAAIAAAAAAAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzfkBAAMAAAAhAAAAAAAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAIAAAAAAAAABQAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW+QEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN/5AQADAAAAIQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAGAAAAAQAAAAUAAAABAAAAAAAAAAIAAAD/////AwAAAAUAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PkBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAAAAAAABQAAAAYAAAABAAAABQAAAAEAAAAAAAAAAgAAAAEAAAADAAAABQAAAAEAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx+QEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAUAAAABAAAABAAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAA/////wIAAAAFAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr5AQADAAAAIAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAABQAAAAEAAAAEAAAAAQAAAAAAAAACAAAAAAAAAAUAAAAFAAAAAQAAAAQAAAABAAAAAAAAAAIAAAABAAAAAgAAAAUAAAABAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/oBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO+gEAAAEBAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABn6AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI/oBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv+gEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv6AQADAQAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR/oBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABT+gEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/6AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa/oBAAABAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1+gEAAwAAACAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAQAAAABAAAAAwAAAAIAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH76AQADAAAAIQAAAAAAAAAAAAAAAgAAAP////8AAAAABAAAAAEAAAADAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh/oBAAMAAAAgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAABAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAEAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ+gEAAwAAACEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAEAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAA/////wAAAAAEAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJn6AQACAAAAgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAQAAAAAAAAAIAAAAAQAAAAcAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ36AQAAAAAApPoBAAMAAAAhAAAAAAAAAAAAAAAGAAAABAAAAAAAAAAQAAAABQAAAA8AAAAFAAAAAAAAAAYAAAACAAAAAAAAABAAAAAFAAAADwAAAAMAAAAAAAAABgAAAAAAAAAAAAAAEAAAAAUAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs+gEAAwAAACAAAAAAAAAAAAAAAAYAAAAEAAAAAAAAABAAAAAFAAAADwAAAAUAAAAAAAAABgAAAAIAAAAAAAAAEAAAAAUAAAAPAAAAAwAAAAAAAAAGAAAAAAAAAAAAAAAQAAAABQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALT6AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/oBAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADK+gEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANb6AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4voBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu+gEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPr6AQADAAAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfsBAAMAAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ+wEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABz7AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKPsBAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz+wEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD77AQADAAAAMAAAAAAAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ/sBAAMAAAAxAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABL+wEAAwAAADAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFP7AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXPsBAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl+wEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG77AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd/sBAAQBAACQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAACA+wEABAAAAJAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAAAAAAAAAAAAIn7AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAlfsBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAACh+wEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAAK37AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAADAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAufsBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAACAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAADF+wEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAABAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAkAAAABAAAACAAAAAEAAAAAAAAAAAAAANH7AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAA3vsBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAADr+wEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAPj7AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAABfwBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAS/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAB/8AQAEAQEAkQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAALPwBAAQBAQCQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAAA5/AEABAEAAJEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAEb8AQAEAQAAkAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAAU/wBAAQAAACRAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAAAAAAAAAABg/AEABAAAAJAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAABAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAG38AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc/wBAAMAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAQAAAAMAAAABQAAAAsAAAABAAAAAAAAAAYAAAACAAAABAAAAAwAAAAFAAAACwAAAAMAAAAAAAAABgAAAAQAAAAEAAAADAAAAAUAAAALAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7/AEAAwAAAAEAAAAAAAAAAAAAAAYAAAAAAAAABAAAAAwAAAAFAAAACwAAAAEAAAAAAAAABgAAAAIAAAAEAAAADAAAAAUAAAALAAAAAwAAAAAAAAAGAAAABAAAAAQAAAAMAAAABQAAAAsAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIP8AQADAQAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAQAAAAIAAAABAAAAAAAAAAgAAAABAAAABwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiPwBAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAAAAAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAAAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP/AEAAwEAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAAAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAAAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJb8AQAEAAAAoQAAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAcAAAAPAAAAAQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAn/wBAAQAAACgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAAAAACo/AEABAAAAKEAAAAAAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAIAAAAAAAAAEAAAAAcAAAAPAAAAAwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAgAAAAGAAAAAAAAABAAAAAHAAAADwAAAAcAAAAAAAAAAAAAALH8AQAEAAAAoAAAAAAAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAAAAAAuvwBAAMBAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAQAAAADAAAAAAAAAAgAAAADAAAABwAAAAQAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/AEAAgAAAIEAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAAAAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMn8AQACAAAAgAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAMAAAAPAAAAAQAAAAAAAAAEAAAAAgAAAAAAAAAQAAAAAwAAAA8AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0PwBAAQAAACwAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAABAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAAAAAAAAAADW/AEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAwAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAAAAAAAAAAAAOD8AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAIAAAAAAAAAAAAAABAAAAABAAAADwAAAAEAAAADAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAAAAAAAAAAA6vwBAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADu/AEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPP8AQAAAQEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//wBAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE/QEAAwAAACAAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAgAAAADAAAABwAAAAIAAAAAAAAABAAAAAIAAAAAAAAACAAAAAMAAAAHAAAAAwAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn9AQADAAAAIAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAMAAAAHAAAAAQAAAAAAAAAEAAAAAQAAAAAAAAAIAAAAAwAAAAcAAAACAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv0BAAMAAAAgAAAAAAAAAAAAAAAEAAAAAwAAAAAAAAAIAAAAAwAAAAcAAAAEAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT/QEAAwAAACAAAAAAAAAAAAAAAAQAAAACAAAAAAAAAAgAAAADAAAABwAAAAMAAAAAAAAABAAAAAEAAAAAAAAACAAAAAMAAAAHAAAAAgAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAwAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj9AQADAQEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJP0BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw/QEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADz9AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASP0BAAMBAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABU/QEAAwEAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGD9AQADAQAAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbP0BAAMBAAAQAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4/QEAAwAAABEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIT9AQADAAAAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkP0BAAMAAAARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc/QEAAwAAABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAABAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKj9AQADAAAAMQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsf0BAAMAAAAwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6/QEAAwAAADEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP9AQADAAAAMAAAAAAAAAACAAAAAgAAAAAAAAAAAAAADgAAAAEAAAANAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAOAAAAAQAAAA0AAAABAAAAAQAAAAIAAAAAAAAAAAAAAA4AAAABAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzP0BAAMCAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAAAAAAcAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAgAAAAAAAAABwAAAAEAAAACAAAAAQAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADV/QEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOH9AQADAAAAIAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAEAAAAAAAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7f0BAAMAAAAgAQAAAAAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAQAAAAAAAAAAwAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD5/QEAAwAAACABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAABAAAAAAAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX+AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFP4BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj/gEAAwAAACABAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADL+AQADAAAAIQEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQf4BAAMAAAAgAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ/gEAAwAAACEBAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACAAAAAEAAAAHAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF/+AQADAAAAIAEAAAAAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAIAAAAAQAAAAcAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbv4BAAMAAAAhAQAAAAAAAAAAAAACAAAAAAAAAAAAAAAEAAAAAQAAAAMAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAgAAAABAAAABwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAEAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9/gEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIL+AQADAAEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjv4BAAMAAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACa/gEAAwABABAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKb+AQADAAEAEQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAgAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsv4BAAQAAACAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAQAAAABwAAAA8AAAADAAAAAAAAAAgAAAAEAAAAAAAAABAAAAAHAAAADwAAAAUAAAAAAAAACAAAAAYAAAAAAAAAEAAAAAcAAAAPAAAABwAAAAAAAAAIAAAAAAAAAAAAAAAQAAAABwAAAA8AAAABAAAAAAAAAAAAAAC7/gEABAAAAIEAAAAAAAAAAAAAAAgAAAACAAAAAAAAABAAAAAHAAAADwAAAAMAAAAAAAAACAAAAAQAAAAAAAAAEAAAAAcAAAAPAAAABQAAAAAAAAAIAAAABgAAAAAAAAAQAAAABwAAAA8AAAAHAAAAAAAAAAgAAAAAAAAAAAAAABAAAAAHAAAADwAAAAEAAAAAAAAAAAAAAMT+AQAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1f4BAAMBAQAQAAAAAAAAAAAAAAACAAAAAAAAAAYAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAQAAAAAAAAABgAAAAoAAAADAAAACQAAAAEAAAABAAAABAAAAAIAAAAGAAAACgAAAAMAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc/gEAAwEBABEAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAoAAAABAAAACQAAAAEAAAABAAAABAAAAAAAAAAGAAAACgAAAAMAAAAJAAAAAQAAAAEAAAAEAAAAAgAAAAYAAAAKAAAAAwAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOP+AQAEAAAAsQAAAAAAAAACAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAADAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAA7f4BAAQAAACwAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAABAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAMAAAACAAAAAAAAAAAAAAAMAAAAAQAAAAsAAAABAAAAAAAAAAAAAAD3/gEABAAAALEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAwAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAH/AQAEAAAAsAAAAAAAAAACAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAQAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAADAAAAAgAAAAAAAAAAAAAACgAAAAEAAAAJAAAAAQAAAAAAAAAAAAAAC/8BAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW/wEAAQAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAwAAAABAAAACwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/wEAAAAAACX/AQABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAADAAAAAEAAAALAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7/AQAAAAAANP8BAAEAAAABAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKAAAAAQAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPf8BAAAAAABD/wEAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAoAAAABAAAACQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM/wEAAAAAAFL/AQADAQEAEAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAEAAAAAEAAAAPAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAQAAAAAwAAAA8AAAABAAAAAQAAAAQAAAACAAAAAAAAABAAAAADAAAADwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWf8BAAMBAQARAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAQAAAAAQAAAA8AAAABAAAAAQAAAAQAAAAAAAAAAAAAABAAAAADAAAADwAAAAEAAAABAAAABAAAAAIAAAAAAAAAEAAAAAMAAAAPAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABg/wEAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGb/AQABAAAAAQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAACQAAAAEAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG7/AQAAAAAAc/8BAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAJAAAAAQAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe/8BAAAAAACA/wEAAwAAADECAAAAAAAAAgAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIr/AQADAAAAMAIAAAAAAAACAAAABAAAAAAAAAAAAAAAIAAAAAMAAAAfAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAAwAAAB8AAAABAAAAAQAAAAQAAAAAAAAAAAAAACAAAAADAAAAHwAAAAEAAAAAAAAA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KAAAAAIAAABADQMAAAAAAAAAAAAAAAAAAAAAAAAA4EMZAAAAAAAAADuBAgAjgQIAKAAAAAIAAAAA9AEAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAD6BAgBBgQIAMAAAAAEAAAAACT0AAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAFWCAgAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70E7AAAAVYICAFuCAgBlggIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAVYICAJCCAgCUggIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAMSCAgDJggIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAOmCAgDuggIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAP6CAgAFgwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAVYICABaDAgAcgwIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30EAAAAAVYICAFCDAgBWgwIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30EAAAAAVYICAIqDAgCPgwIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ETAAAAVYICAKyDAgCxgwIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAOCDAgDqgwIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAVYICABaEAgAchAIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAC+EAgA5hAIAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAODBAADA////30ETAAAAVYICAEmEAgBXhAIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30EZAAAAVYICAJOEAgCchAIAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30E7AAAAVYICAMiEAgDMhAIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30ERAAAAVYICAP+EAgAEhQIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ERAAAAVYICACGFAgAmhQIAAAAAAAoAAAAAAACAAAAAAAAAAAAAAODBAADA////30ERAAAAVYICADGFAgBAhQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAVYICAGmFAgBuhQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAloUCAJ2FAgCjhQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAloUCALuFAgDGhQIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30ESAAAAloUCAOuFAgD4hQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAloUCADeGAgA+hgIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAloUCAG2GAgB1hgIAAAAAAAoAAAAAAEAAAAAAAAAAAAAAAODBAADA////30ESAAAAloUCAJ+GAgCqhgIAAAAAAAoAAAAAAAAQAAAAAAAAAAAAAODBAADA////30ESAAAAloUCANiGAgDkhgIAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAODBAADA////30ESAAAAloUCACeHAgA5hwIAAAAAAAoAAAAAAABAAAAAAAAAAAAAAODBAADA////30EiAAAAloUCAGOHAgAAAAAATAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAG2HAgBvhwIAbAAAAAEAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJOHAgCWhwIAWAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAALaHAgC5hwIAXAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ELAAAAAAAAANaHAgDdhwIAcAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAAAAAAPKHAgAAAAAAZAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EJAAAAAAAAAP2HAgAAAAAAaAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAqIAgAAAAAAWAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABCIAgAWiAIAmAEAAAQAAAAAAAAAAADgPwAAAOD//+/HAAAA4P//70cRAAAAAAAAAI6IAgCUiAIAnAEAAAQAAAAAAAAAAADgPwAAAAAAAPC/AAAA4P//70cRAAAAAAAAALWIAgC6iAIAoAEAAAEAAAACAAAAAAAAAAAAAAAAAPC/AAAAAABAUUARAAAAAAAAAN6IAgDjiAIApAEAAAEAAAAfAAAAAAAAAAAAAAAAAPC/AAAAAAAAkEARAAAAAAAAAAeJAgANiQIAqAEAAAEAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAEOJAgBGiQIAfAAAAAEAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30ERAAAAAAAAAHqJAgCEiQIAgAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAKaJAgCxiQIAhAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANmJAgDciQIABAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPaJAgAAAAAACAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAP6JAgAAAAAADAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAAqKAgAAAAAAEAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAABWKAgAAAAAAFAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAACCKAgAAAAAAGAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAACiKAgAAAAAAHAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADCKAgAAAAAAIAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAADuKAgAAAAAAJAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAEWKAgAAAAAAKAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFCKAgAAAAAAFAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFqKAgBeigIANAIAAAAAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAIiKAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAJOKAgCeigIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCANSKAgDZigIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAPqKAgAFiwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCACCLAgAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCACSLAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCADCLAgA5iwIAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAG2LAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAHqLAgCLiwIAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAMeLAgDMiwIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAP+LAgAAAAAAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAAuMAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCABOMAgAWjAIAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAE6MAgBUjAIAAAAAAAoAAAAAQAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAGWMAgAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAWooCAGuMAgByjAIAOAIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAa4wCAJeMAgCcjAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAa4wCAGuMAgDujAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAa4wCAD2NAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EbAAAAa4wCAESNAgBPjQIAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EbAAAAa4wCAGuNAgB4jQIAAAAAAAoAAAD+/////////wAAAAAAAODBAADA////30EbAAAAa4wCAKONAgCtjQIAiAAAAAQAAAAAAAAAAAD0PwAAAOD//+/HAAAA4P//70cRAAAAAAAAAM+NAgDajQIARAIAAAAAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAPSNAgD9jQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CABKOAgAcjgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAEaOAgBNjgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAG6OAgB2jgIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAJ6OAgCpjgIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CALeOAgC/jgIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CACWPAgAvjwIAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAFyPAgBnjwIAAAAAAAoAAAAAAAQAAAAAAAAAAAAAAODBAADA////30EaAAAAz40CAKWPAgAAAAAAjAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAALKPAgAAAAAAbAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAL6PAgDJjwIAkAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAO6PAgAAAAAAsAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAACQAgAIkAIAuAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EZAAAAAAAAAEmQAgBRkAIAwAEAAAIAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAALWQAgC9kAIArAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAOOQAgDtkAIAlAAAAAQAAACamZmZmZnpvwAAAOD//+/HAAAA4P//70cRAAAAAAAAAA+RAgAZkQIAmAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAADuRAgA/kQIAmAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAO5ECAE2RAgBSkQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECAGiRAgBwkQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECAJe7AgB9kQIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECAI6RAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECAJKRAgAAAAAAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECAJqRAgCfkQIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAO5ECALaRAgDAkQIAnAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAPKRAgD9kQIAoAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAABmSAgAkkgIApAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAD+SAgBGkgIAqAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAFSSAgBekgIArAAAAAQAAAAAAAAAAAAAAAAAAOD//+/HAAAA4P//70cRAAAAAAAAAI6SAgCTkgIAnAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAjpICAE2RAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAJe7AgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAK6SAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICALWSAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAL+SAgAAAAAAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAJKRAgAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAMOSAgAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAM2SAgAAAAAAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICANuSAgAAAAAAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAOeSAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAPKSAgAAAAAAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAPeSAgD/kgIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICACKTAgAokwIAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAECTAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAjpICAEuTAgAAAAAAsAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFeTAgBakwIAPAIAAAAAAAADAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAV5MCAHmTAgCDkwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAV5MCAK6TAgC2kwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAV5MCAOCTAgDskwIAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAV5MCABWUAgAAAAAAoAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAACuUAgAwlAIAtAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAK5QCAEKUAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAK5QCAEeUAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAK5QCAE2UAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAK5QCAFSUAgBblAIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAG+UAgBblAIAvAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAHOUAgB5lAIAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30E7AAAAc5QCAJOUAgCYlAIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAKWUAgColAIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAc5QCABKOAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCALWUAgC9lAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCANKUAgDVlAIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAPuUAgAAAAAAAAAAAAoAAABAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAAWVAgAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCABSVAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCABmVAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCACOVAgAmlQIAAAAAAAoAAAAABAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCADiVAgA9lQIAAAAAAAoAAAAACAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAGqVAgAAAAAAAAAAAAoAAAAAEAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAG+VAgB3lQIAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAODBAADA////30ESAAAAc5QCAJKVAgCdlQIAAAAAAAoAAAAAAAEAAAAAAAAAAAAAAODBAADA////30EaAAAAc5QCALKVAgC3lQIAAAAAAAoAAAAAAAABAAAAAAAAAAAAAODBAADA////30EaAAAAc5QCANCVAgDUlQIAxAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAPqVAgABlgIAyAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAB2WAgAjlgIAzAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAD+WAgBIlgIA0AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAGiWAgBxlgIA1AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJuWAgCllgIA2AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANmWAgDflgIA3AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPWWAgD8lgIA4AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCACOXAgAnlwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAEmXAgBNlwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAGOXAgBolwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCADuRAgCZlwIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAKyDAgDFlwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAP2XAgABmAIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCACWYAgAomAIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAEaYAgBLmAIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAE2YAgBSmAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAHeYAgB8mAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAKCYAgClmAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCANGYAgAAAAAAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCANiYAgAAAAAAAAAAAAoAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAN+YAgDkmAIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCABKZAgAfmQIA5AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAFKZAgBXmQIA6AAAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAHmZAgCCmQIA7AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALSZAgAAAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAMOZAgAAAAAA1AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAw5kCAMmZAgDNmQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAw5kCALaHAgDzmQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAw5kCAASaAgAImgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAw5kCABqaAgAemgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAw5kCAC+aAgA3mgIA2AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAEWaAgAAAAAA8AAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAFGaAgBVmgIA9AAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEARAAAAUZoCAK6SAgCHmgIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUZoCAJGaAgCWmgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUZoCACWYAgCmmgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAUZoCAL+aAgDMmgIAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAOOaAgDmmgIABAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAPaaAgAImwIA0AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJaFAgAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg////70EbAAAAloUCAFibAgBgmwIAsAIAAAEAAAABAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAWJsCAE2RAgB6mwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAWJsCAKmbAgCsmwIACAEAAAEAAAAAAAAAAAAAAAAAAAAAACDAAAAAAAAAMEARAAAAAAAAAL+bAgDFmwIAyAIAAAEAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANGbAgDamwIADAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAABGcAgAdnAIAEAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAAAAAAFecAgAAAAAAzAIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAV5wCAF+cAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAV5wCAGecAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAHCcAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAHicAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAICcAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAIicAgAAAAAAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAI+cAgAAAAAAAAAAAAoAAAAcAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAJmcAgAAAAAAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAKCcAgAAAAAAAAAAAAoAAAAmAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAKicAgAAAAAAAAAAAAoAAACAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCALacAgAAAAAAAAAAAAoAAACDAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAMOcAgAAAAAAAAAAAAoAAAAUAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAMecAgAAAAAAAAAAAAoAAAAeAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAM6cAgAAAAAAAAAAAAoAAAAoAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCANicAgAAAAAAAAAAAAoAAAAyAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAOOcAgAAAAAAAAAAAAoAAAA8AAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCAO2cAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAV5wCAPacAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAV5wCAAGdAgAAAAAAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAV5wCAAydAgAAAAAAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAV5wCABadAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAV5wCAB2dAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV5wCACKdAgAAAAAA0AIAAAEAAACd/////////wAAAAAAAODBAADA////30EZAAAAIp0CAF+cAgAAAAAAAAAAAAoAAACd/////////wAAAAAAAODBAADA////30EZAAAAIp0CACidAgAvnQIAqAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EaAAAAAAAAAFqdAgBpnQIA3AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAH6dAgCKnQIA4AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAJydAgClnQIA5AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAALmdAgDBnQIA6AEAAAEAAAANAAAAAAAAAAAAAAAAAODBAADA////30ERAAAA8ZUCAN2dAgDknQIAFAEAAAEAAADsAAAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAA2eAgAUngIAGAEAAAEAAABKDgAAAAAAAAAAAAAAAPA/AAAAAMD/30ARAAAAAAAAAD2eAgBCngIAHAEAAAEAAAAAAQAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAH2eAgCOngIA1AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CAMyeAgDWngIA2AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CAAefAgASnwIA3AIAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CADifAgA9nwIAAAAAAAoAAADw/////////wAAAAAAAODBAADA////30ESAAAAwp4CAE6fAgBWnwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CAG2fAgBznwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CAJSfAgCanwIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CALufAgDBnwIAAAAAAAoAAAAgAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CAOWfAgDtnwIAAAAAAAoAAAAYAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CABCgAgAUoAIAAAAAAAoAAAAwAAAAAAAAAAAAAAAAAODBAADA////30ESAAAAwp4CACegAgA0oAIAIAEAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEARAAAAAAAAAHSgAgB+oAIAJAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEARAAAAAAAAAKygAgC3oAIAKAEAAAEAAAAZAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAANugAgDgoAIALAEAAAEAAAABAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAABWhAgAioQIAMAEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ERAAAAAAAAAD2hAgBFoQIA7AEAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EZAAAAAAAAAGqhAgAAAAAANAEAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAAHihAgCGoQIAOAEAAAEAAAAoAAAAAAAAAAAAAAAAAPA/AADA////30ERAAAAAAAAAK+hAgAAAAAAOAAAAAEAAAD//////////wAAAAAAAODBAADA////30EZAAAAAAAAAMGhAgAAAAAA8AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAANahAgAAAAAA9AEAAAEAAAD//////////wAAAAAAAODBAADA////30EJAAAAAAAAAOuhAgAAogIA+AEAAAIAAAD//////////wAAAAAAAPC/AAAAAAAA4EMRAAAAAAAAADqiAgAAAAAApAIAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAE6iAgAAAAAAeAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMLAAAATqICAF2iAgAAAAAAgAEAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8EMKAAAAXaICAHSiAgAAAAAAyAEAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAIOiAgAAAAAAzAEAAAQAAAAAAAAAAAAIQAAAAAAAAAAAAAAA4P//70cRAAAAAAAAAJKiAgAAAAAAVAAAAAEAAAABAAAAAAAAAAAAAAAAAPA/AADA////30EbAAAAAAAAAKKiAgCyogIAPAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAAwqICANeiAgDdogIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAF+cAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAPCiAgD3ogIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAACjAgAIowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICABKjAgAcowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICACijAgAyowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAD6jAgBDowIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAEijAgBPowIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAFejAgBgowIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAGyjAgBgowIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAHejAgCAowIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAIyjAgCVowIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAKGjAgCrowIAAAAAAAoAAAAWAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICALWjAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAwqICAMGjAgDLowIAQAEAAAEAAAACAAAAAAAAAAAAAAAAAPA/AADA////30ETAAAA6qMCANeiAgDdogIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAF+cAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAPmjAgD3ogIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAAGkAgAIowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCABKjAgAcowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCACijAgAyowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAAmkAgAQpAIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCABekAgAepAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCACKkAgAppAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCADmkAgBGpAIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAFSkAgBcpAIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAGSkAgBxpAIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAH+kAgCJpAIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAJqkAgCkpAIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCALWkAgC/pAIAAAAAAAoAAAAQAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAFejAgBgowIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAMqkAgDXpAIAAAAAAAoAAAASAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCALWjAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAOSkAgAepAIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAOikAgAppAIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAPGkAgBGpAIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAP6kAgBcpAIAAAAAAAoAAAAMAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAAWlAgBxpAIAAAAAAAoAAAANAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCABKlAgCJpAIAAAAAAAoAAAAOAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAB+lAgCkpAIAAAAAAAoAAAAPAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCAGyjAgBgowIAAAAAAAoAAAARAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA6qMCACylAgA3pQIARAEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAAQ6UCAFOlAgBXpQIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCANeiAgDdogIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAF+cAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAFulAgBfpQIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAACjAgAIowIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCABKjAgAcowIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCACijAgAyowIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAGOlAgBppQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAG+lAgB4pQIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAISlAgCMpQIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAJelAgChpQIAAAAAAAoAAAALAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCALWjAgDkogIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAKylAgBppQIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCALKlAgB4pQIAAAAAAAoAAAAJAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAL2lAgCMpQIAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAQ6UCAMelAgDTpQIASAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAA36UCAF+cAgDkogIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCAPClAgDzpQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCAAamAgAJpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCALWjAgDkogIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCABamAgDzpQIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCABumAgAJpgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAA36UCACCmAgA3pgIATAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ETAAAATqYCAF+cAgDkogIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAEKUAgBqpgIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAG+mAgB2pgIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAH2mAgCFpgIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAI6mAgCSpgIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAJamAgChpgIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCAK2mAgC0pgIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCALWjAgDkogIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30ETAAAATqYCALumAgDMpgIABAAAAAEAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EAAAAAAAAAAOWmAgDspgIAUAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30ERAAAAAAAAACSnAgAwpwIAtAIAAAAAAAADAAAAAAAAAAAAAAAAAAAAAADA////30EbAAAAJKcCAEunAgAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAJKcCAFGnAgAAAAAAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30ETAAAAJKcCAFenAgBqpwIAiAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAJAAAAV6cCAH2nAgCApwIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAJOnAgCWpwIAAAAAAAoAAAABAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAJ6nAgChpwIAAAAAAAoAAAACAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCALOnAgC2pwIAAAAAAAoAAAADAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAMenAgDKpwIAAAAAAAoAAAAEAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCANOnAgDWpwIAAAAAAAoAAAAFAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAOGnAgDkpwIAAAAAAAoAAAAGAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAO6nAgDxpwIAAAAAAAoAAAAHAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAPynAgD/pwIAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAODBAADA////30EJAAAAV6cCAAeoAgAaqAIAjAEAAA0AAAD//////////wAAAAAAAPC/AADA////30EKAAAAB6gCAEWoAgAAAAAABAMAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAADA////30EAAAAAAAAAAFKoAgBeqAIAMAMAAAUAAAAAAAAAAAAAAAAAAAAAAGDAAAAAAADAX0AiAAAAAAAAAIqoAgCbqAIANAMAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AADA////30EiAAAAiqgCAMyoAgAAAAAAAAAAAAoAAAD//////////wAAAAAAAODBAADA////30EiAAAAiqgCAE2RAgAAAAAAAAAAAAoAAAAAAAAA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0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAACduAIAs7gCANq4AgAAuQIAFrkCAD25AgBjuQIAebkCAKC5AgDGuQIA3LkCAAO6AgAnugIAPboCAGS6AgAnugIAiLoCAK+6AgAnugIAiLoCAK+6AgAnugIAiLoCAK+6AgDTugIA6boCABC7AgAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxUu/WBVAP+l1TXIK5U9l3EVCS12lQkJvFUvLAHVbFUHlXLETVV1OdLVZTWYlXY3XlVbP2QVRw1qFW4hL9VDuzWVe9q7lUrAQZWlq4dVgJzNVZDTk1WLUBlVpZIfVZTZ5VWPZytVivnxVb0R95Wc772VoBKD1f36ydXsqJAV41uWVdkT3JXFEWLV3pPpFd1br1X4qHWV6Hp71fJogRcyloRXMQcHlyn6CpcZb43XO6dRFwzh1FcJnpeXLl2a1zcfHhcg4yFXJ+lklwkyJ9cAvSsXC4pulyaZ8dcOq/UXAAA4lzgWe9czrz8XL4oCl2knRddcxslXSCiMl2gMUBd58lNXelqW12cFGld9cZ2XemBhF1tRZJddhGgXfrlrV3vwrtd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eQa1ArUCtQK1AhULFQu1AbUBBwu3AJcGRwo3CqcDVwmXBSUKJQqlAqUCFQoVCqUBpQEHCmcIpQClAIcGRwmVA5UDNwlXCIcFZwclCSUJlQKVAlcHdwU1CDUIhQOFA2cGRwd3BFcGZwV3AxMJkwEFCZUARQiFBHUCdQJHBmcEIwgjCCMIIwiDAhMINQclBxMHEwdzAXMBVQUFB3UANQZlA0UFVQQlBmUCNQUDCIMAEwZjAQMGYwBVA0UEIwUjBVMCAwUzBEMDUwAjBEMCMwNGGPkP6Q/ZD+kOyQ/ZDrkP+QvJDtkMwhjnDOcM1w3XDfkKyQ23DrcO5wvnC5cPlw/3CfcJ5wrnCrcNtw3XC9cLhw+HD/cI9wjHDMcMqQ6ZDocOhw55D3kO9Qf1B/UH9QfVCtUKpw23DMcL9wZlD2UP5QhVD5UN1Qn1BeUHpQy1C0UPRQ/1BPUExwrnBvUD9QMzDzMPhQ3VCCMP8wJlDpUMAw8DD8UJVQ6jC6MLdQ3VB0MOQw7FCNUGMw4zDrMJswmVC6UKswrjBeMEgwxjDeMDIw4DDuMAUw3TBXMMwwdDDYMLswjTBJMKowljDNMDcwtTDMMFkwlzCqMHkwf3DvcM9Q31DeMN4w3jDeMNow/jCQgBCAIIAwgECAUGBoYGBAdCB2IHFwEXAQkBGQAHAAcAiAeICIgJiAqIC4YMBg2IDYYOBg+GDwYQhBDGEEYRxBEEEkQShBLEEgQTRBOEE8QTAhQiFEIUZBSiFMIU5BQiFUIVYhWZAYIVohXCFeIVAhYpCIkCGQiJASIWQhZiFoIWKQd5AmkEGQdZBXkBohY5BmkDSQVZBCkGaQIZBsIWOQVnAWcBWQNJBCcFJwVXAlcCFwUXBVcBVwEJBVkANwQ3BEcDJwRHAjcDRQFFARcEBwQlAyUDNQI1AkcABwMVAxUDNQE1ACMCIwITAiMBAwIjAOIWAhfpDiIXQhdiF/kLghfZDakP+Qq5DukLyQ3ZDJkP+QnpCrkN2QuJD/kIyQyZDukJeQ/5B6kN2Qq5DGkPohfHC8cL9wb3BokO6QhZD5kN9wX3BXcOdw7nB+cHpwynDMcKxwq3C7cL2QmJDUcPRw/3BPcENw83D/cD9wPXCNcI5wbnBicPJw/3AvcCaQ75ABcPFw/3AfcBlwyXDMcJxwlXDqcLtwrnBXcN1wdHDucEhwzHCDcOZw3XBucDlwu3CScOJw6nCqcK5wLnAhcOFw7nAecBCQ7pAFcNVw3XBdcFdwzHB0cNhwvVBNUEtwiXCqcJZwzHBjcN1QPVA9UC1QInDQcNFQ0VDXULdQu1B7UH1QHVAVcM1wDFBcUFhQqFCqUIRQzFBGULtQa1BpcJBww1DDUMxQPFA3UKdQqlB6UHpQalBscABwvDAsMCJQxVC7UFFQyFCZUIxQFFC7UEZQo1C3UJswOzA5UHhQglC1UKswKzAqUFFQuzAbMBtQBlCZUGRQqlBHUIhQc1CqMDowNTCZMFIwqjAhMKowEFCqUAYwhjCIMGQwmTBDMJkwOTA3UHBQlTCIMFIwljB3MGkwITCZMAQwiDBFMHcwUzCIMDYwZDB3MEAwiDAFMGYwUzB3MDQwYDB3MAAwZjAPMP4w/zDtMP8w3DD/MM0w7jDbMPww7jDKMOAw8IAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEYExgREBfkPhAXCBegF+QLiBhkP+QEIBwgICAkICggLCAwGDYYNBg6GDgYPhg8GEIQQxBACESQRZBGiEVkBwhHiEQISIhIZBEkBQhIpAzkCFwMXAzcBNwEJAzkAJwInAhUCJQEFAiUA5w/3DtcP9w3HD/cMtw/3C6UPpQ/3CpcP9wn3CIUPhQ91D/UHZQ/1BlUP9QVDD0MP8wTzA/MA8wDzAPMA8wDzAPMA8wA1DzUPNQ81D2gSZhPmE2YUIw8DD+QUJBVkFaIVxBUEFkIWZBakFuQWJBfpA2IXgheiF8IX4hcCGCIYCQ1CGGIYghg5DKIYGQzJAMIY5wLnAikOGQ7ZAykN2QLZATkL4hgXDRcNyQRpC8kDqQcnDCcMyQK5BckBCQxJC7kEaQqpBrcDtwNZCqkFJwsnC7cCtwIXCxcLtwG3AQkLuQBpCZkGSQqpBHkIiQenA6cDOQpZCScKJwqZBWkIpwGnAYkGeQeXBJcESQlZB2cHZwelAqUCpQKlAhUKFQoHCqcANwmXA1cIhwUlCSUJlQKVAncGBwkVCRUJlQGVAZcARwiHBHcFNwiHA2cGJwiFAoUCRwd3BBUIFQiFAYUBhQCFAAcIVwY1BzUHdQN1A2cFRwYlByUHdQJ1AmcEVwUFBwUHEwcTBxMHEwdzAXMBdQA1BmUDRQVVBCUGYwITBmMBYwEFBmUAUwNTAzUFRQQjBVMCEwUDBTMEQwNTACMEQwIzAwMEQwDJDgIZ1w7XDucJ5wnpCtkJ5Q7lDuUO5Q7nDecN5wvnC7UOtQ7FDcUN1wzXC6UOpQ7FDMUMpw3XCncOpwzFCsUKxwl3DVUOVQ6zDbMNsw2zDZMOkw61DMULhQ7lCJUN5Qe1C4UN1QhlDuMGkwylC7UK5QXVB0MOQw7lBIUMwwgzDmMNYw3VBpULtQmlCuMB4wHTBNMEtQilCXMLcwu1B9UAAw7jAFMN0wVzDMMHQw2DC5MKYwzDBjMNUwzDBYMKowiTCUMMswZzClMLgwmTCHMJkweDCOMM0w0IAQgCCAP5DwgECAUIBggHCAgICQYKhAoZAQkBGQAJAOkP+Q7ZD/kNyQ/5DLkP+Qv3CvcKqQ+ZD/cJ9wn3CPcIiQ95D/cH9wdnD2cP9wb3BlcPVw/3BfcFRw9HD/cE9wQ3DzcP9wP3AycPJw/3AvcC9wH3ARkP+QDGCkYLxgtGDMgMxg1GDsYORA+ED8QPBBBEEIQQxBAEEUQRhhEEEkQShBLGEkQThhMCFCQUZBSiFMQUAhUiFUIVYhWCFaIVwhXiFQIWIhZCFmIWghaiFsIW4hYCFyQXYheEF3kDwhd5AkkGaQRZBXkBOQZpA0kFWQQpBmkCGQZpAeIXOQVZA0kEKQVZAhkFAhhXAVcBOQRJAycEJwRHAkcCNwM3AxcEFwRHAUcBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCEwITAhMCEwIjASMBBQIlAAMPAw8DDwMP5w7XDucNxw7nDNcNtw7nC8cN1wynDucKtw3XC8cMlw7nCacN1wq3DMcLhw7nCJcN1wl3DucHpwzHCscKtwu3C4cNhw3XCNcICQ7pAAcNBw3lBuUG5QblBmcOlwzFCcUJVQ5VDrUKtQrlBeUFpwt3DdUH1QflBOUEhQyFDMUIxQhHDicONQ41DmUN1QblA5ULtQmlCuUCFQ7lAVUN1QV1DMUHRQ2FC7UI1QSVCqUJZQzFBjUN1QMlDdUCFQ11C7UH1QFVDMUFhQqlCJUJRQzFBGULZQu1BrUG1wAHDDUMNQzFA3UKpQclDMUCVQu1BRUMhQmVCMUBRQvHAAcLNQs1C7cABwoVChUKswSzBGUKpQZ1CXUJlQeVB6cABwmVAJUAswODCCULVQqzArMCpQUVC7UBZQmTBqMERQp1CIMHgwczCqMDUwmTBSMKowKjAWMIgwZzB0MJkwQzCZMDUwiDBSMJYwdzBpMCEwmTAUMIgwRTB3MFMwiDA2MGIwiDAhMIQwdzBIMBgwEFCIUAUwZjBRMHEwcFB3UAMwcjBwMGYwADBVMAAAAFgA+ACgAbgB4AFAARgDOANgA8ADmAKAAtgCeAIgBjgGYAbABpgHgAfYB3gHIAUABVgF+AWgBLgE4ARABBgMOAxgDMAMmA2ADdgNeA0gDwAPWA/4D6AOuA7gDkAOGAoAClgK+AqgC7gL4AtACxgJOAlgCcAJmAiACNgIeAggCDgYYBjAGJgZgBnYGXgZIBsAG1gb+BugGrga4BpAGhgeAB5YHvgeoB+4H+AfQB8YHTgdYB3AHZgcgBzYHHgcIBQAFFgU+BSgFbgV4BVAFRgXOBdgF8AXmBaAFtgWeBYgEjgSYBLAEpgTgBPYE3gTIBEAEVgR+BGgELgQ4BBAEBgQODBgMMAwmDGAMdgxeDEgMwAzWDP4M6AyuDLgMkAyGDYANlg2+DagN7g34DdANxg1ODVgNcA1mDSANNg0eDQgPAA8WDz4PKA9uD3gPUA9GD84P2A/wD+YPoA+2D54PiA6ODpgOsA6mDuAO9g7eDsgOQA5WDn4OaA4uDjgOEA4GDgAKFgo+CigKbgp4ClAKRgrOCtgK8ArmCqAKtgqeCogLjguYC7ALpgvgC/YL3gvIC0ALVgt+C2gLLgs4CxALBgkOCRgJMAkmCWAJdgleCUgJwAnWCf4J6AmuCbgJkAmGCIAIlgi+CKgI7gj4CNAIxghOCFgIcAhmCCAINggeCAgJKZXNzaWNhACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASmVzc2lidWNhAGNsb3NlAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAOElPQnVmZmVyADVTbGljZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgbm90IHN1cHBvcnQ6ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADdKZXNzaWNhAFA3SmVzc2ljYQBQSzdKZXNzaWNhAGlpAHYAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAA5SmVzc2lidWNhAE4xMGVtc2NyaXB0ZW43d3JhcHBlckk3SmVzc2ljYUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQOUplc3NpYnVjYQBQSzlKZXNzaWJ1Y2EAaWlpaQBhdWRpbyBpbml0ISAlZABtcDMgaW5pdCEARkZNcGVnIGluaXQANkZGbXBlZwAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBGRk1wZWcgZGVzdG9yeQBzZXRWaWRlb1NpemUAZHJhdwBhdWRpbyBkZWNvZGVyIHJlbGVhc2UKAGF1ZGlvIGRlY29kZXIgcmVsZWFzZSEKAEZsdkRlY29kZXIgcmVsZWFzZSEKAF9fZGVzdHJ1Y3QAAAABAQICAgIDAwMDAwMDAwQEBAQEBAQEBAQEBAQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwCAQMAgoGDgEJBQ0DCwcPAIiEjIKKho6BiYWNg4uHj4BIRExCSkZOQUlFTUNLR09AyMTMwsrGzsHJxc3Dy8fPwCgkLCIqJi4hKSUtIysnLyCopKyiqqauoamlraOrp6+gaGRsYmpmbmFpZW1ja2dvYOjk7OLq5u7h6eXt4+vn7+AYFBwSGhYeERkVHRMbFx8QmJSckpqWnpGZlZ2Tm5efkFhUXFJaVl5RWVVdU1tXX1DY1NzS2tbe0dnV3dPb19/QODQ8Mjo2PjE5NT0zOzc/MLi0vLK6tr6xubW9s7u3v7B4dHxyenZ+cXl1fXN7d39w+PT88vr2/vH59f3z+/f/9GYWlsZWQgdG8gcmVhbGxvY2F0ZSBwYXJzZXIgYnVmZmVyIHRvICVkCgBuZXh0ID49IDAgfHwgcGMtPmJ1ZmZlcgBsaWJhdmNvZGVjL3BhcnNlci5jACVzJXMlcyVzACAgICBMYXN0IG1lc3NhZ2UgcmVwZWF0ZWQgJWQgdGltZXMNACAgICBMYXN0IG1lc3NhZ2UgcmVwZWF0ZWQgJWQgdGltZXMKABtbJXU7MyV1bSVzG1swbQAbWzQ4OzU7JXVtG1szODs1OyVkbSVzG1swbQAbWzQ4OzU7JXVtG1szODs1OyV1bSVzG1swbQBURVJNAE5PX0NPTE9SAEFWX0xPR19GT1JDRV9OT0NPTE9SAEFWX0xPR19GT1JDRV9DT0xPUgBBVl9MT0dfRk9SQ0VfMjU2Q09MT1IAMjU2Y29sb3IAWyVzIEAgJXBdIABbJXNdIABwYW5pYwBmYXRhbABlcnJvcgB3YXJuaW5nAGluZm8AdmVyYm9zZQBxdWlldAAAAQIDBAUGCEEgbm9uLU5VTEwgcGFja2V0IHNlbnQgYWZ0ZXIgYW4gRU9GLgoAQ29kZWMgJyVzJyAoJWQpIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGJpdHN0cmVhbSBmaWx0ZXIgJyVzJy4gU3VwcG9ydGVkIGNvZGVjcyBhcmU6IAAlcyAoJWQpIABtcGVnMXZpZGVvAG1wZWcydmlkZW8AaDI2MQBoMjYzAHJ2MTAAcnYyMABtanBlZwBtanBlZ2IAbGpwZWcAc3A1eABqcGVnbHMAbXBlZzQAcmF3dmlkZW8AbXNtcGVnNHYxAG1zbXBlZzR2MgBtc21wZWc0djMAd212MQB3bXYyAGgyNjNwAGgyNjNpAGZsdjEAc3ZxMQBzdnEzAGR2dmlkZW8AaHVmZnl1dgBjeXV2AGluZGVvMwB2cDMAdGhlb3JhAGFzdjEAYXN2MgBmZnYxADR4bQB2Y3IxAGNsanIAbWRlYwByb3EAaW50ZXJwbGF5dmlkZW8AeGFuX3djMwB4YW5fd2M0AHJwemEAY2luZXBhawB3c192cWEAbXNybGUAbXN2aWRlbzEAaWRjaW4AOGJwcwBzbWMAZmxpYwB0cnVlbW90aW9uMQB2bWR2aWRlbwBtc3poAHpsaWIAcXRybGUAdHNjYwB1bHRpAHFkcmF3AHZpeGwAcXBlZwBwbmcAcHBtAHBibQBwZ20AcGdteXV2AHBhbQBmZnZodWZmAHJ2MzAAcnY0MAB2YzEAd212MwBsb2NvAHdudjEAYWFzYwBpbmRlbzIAZnJhcHMAdHJ1ZW1vdGlvbjIAYm1wAGNzY2QAbW12aWRlbwB6bWJ2AGF2cwBzbWFja3ZpZGVvAG51dgBrbXZjAGZsYXNoc3YAY2F2cwBqcGVnMjAwMAB2bW5jAHZwNQB2cDYAdnA2ZgB0YXJnYQBkc2ljaW52aWRlbwB0aWVydGV4c2VxdmlkZW8AdGlmZgBnaWYAZHhhAGRueGhkAHRocABzZ2kAYzkzAGJldGhzb2Z0dmlkAHB0eAB0eGQAdnA2YQB2YgBwY3gAc3VucmFzdABpbmRlbzQAaW5kZW81AG1pbWljAHJsMgBlc2NhcGUxMjQAZGlyYWMAYmZpAGNtdgBtb3Rpb25waXhlbHMAdGd2AHRncQB0cWkAYXVyYQBhdXJhMgB2MjEweAB0bXYAdjIxMABkcHgAbWFkAGZyd3UAZmxhc2hzdjIAY2RncmFwaGljcwByMjEwAGFubQBiaW5rdmlkZW8AaWZmX2lsYm0Aa2d2MQB5b3AAdnA4AHBpY3RvcgBhbnNpAGE2NF9tdWx0aQBhNjRfbXVsdGk1AHIxMGsAbXhwZWcAbGFnYXJpdGgAcHJvcmVzAGp2AGRmYQB3bXYzaW1hZ2UAdmMxaW1hZ2UAdXR2aWRlbwBibXZfdmlkZW8AdmJsZQBkeHRvcnkAdjQxMAB4d2QAY2R4bAB4Ym0AemVyb2NvZGVjAG1zczEAbXNhMQB0c2NjMgBtdHMyAGNsbGMAbXNzMgB2cDkAZXNjYXBlMTMwAGcybQB3ZWJwAGhubTR2aWRlbwBoZXZjAGZpYwBhbGlhc19waXgAYnJlbmRlcl9waXgAcGFmX3ZpZGVvAGV4cgB2cDcAc2FubQBzZ2lybGUAbXZjMQBtdmMyAGhxeAB0ZHNjAGhxX2hxYQBoYXAAZGRzAGR4dgBzY3JlZW5wcmVzc28AcnNjYwB5NDFwAGF2cnAAMDEydgBhdnVpAGF5dXYAdGFyZ2FfeTIxNgB2MzA4AHY0MDgAeXV2NABhdnJuAGNwaWEAeGZhY2UAc25vdwBzbXZqcGVnAGFwbmcAZGFhbGEAY2ZoZAB0cnVlbW90aW9uMnJ0AG0xMDEAbWFnaWN5dXYAc2hlZXJ2aWRlbwB5bGMAcHNkAHBpeGxldABzcGVlZGhxAGZtdmMAc2NwcgBjbGVhcnZpZGVvAHhwbQBhdjEAYml0cGFja2VkAG1zY2MAc3JnYwBzdmcAZ2R2AGZpdHMAcGNtX3MxNmxlAHBjbV9zMTZiZQBwY21fdTE2bGUAcGNtX3UxNmJlAHBjbV9zOABwY21fdTgAcGNtX211bGF3AHBjbV9hbGF3AHBjbV9zMzJsZQBwY21fczMyYmUAcGNtX3UzMmxlAHBjbV91MzJiZQBwY21fczI0bGUAcGNtX3MyNGJlAHBjbV91MjRsZQBwY21fdTI0YmUAcGNtX3MyNGRhdWQAcGNtX3pvcmsAcGNtX3MxNmxlX3BsYW5hcgBwY21fZHZkAHBjbV9mMzJiZQBwY21fZjMybGUAcGNtX2Y2NGJlAHBjbV9mNjRsZQBwY21fYmx1cmF5AHBjbV9seGYAczMwMm0AcGNtX3M4X3BsYW5hcgBwY21fczI0bGVfcGxhbmFyAHBjbV9zMzJsZV9wbGFuYXIAcGNtX3MxNmJlX3BsYW5hcgBwY21fczY0bGUAcGNtX3M2NGJlAHBjbV9mMTZsZQBwY21fZjI0bGUAYWRwY21faW1hX3F0AGFkcGNtX2ltYV93YXYAYWRwY21faW1hX2RrMwBhZHBjbV9pbWFfZGs0AGFkcGNtX2ltYV93cwBhZHBjbV9pbWFfc21qcGVnAGFkcGNtX21zAGFkcGNtXzR4bQBhZHBjbV94YQBhZHBjbV9hZHgAYWRwY21fZWEAYWRwY21fZzcyNgBhZHBjbV9jdABhZHBjbV9zd2YAYWRwY21feWFtYWhhAGFkcGNtX3NicHJvXzQAYWRwY21fc2Jwcm9fMwBhZHBjbV9zYnByb18yAGFkcGNtX3RocABhZHBjbV9pbWFfYW12AGFkcGNtX2VhX3IxAGFkcGNtX2VhX3IzAGFkcGNtX2VhX3IyAGFkcGNtX2ltYV9lYV9zZWFkAGFkcGNtX2ltYV9lYV9lYWNzAGFkcGNtX2VhX3hhcwBhZHBjbV9lYV9tYXhpc194YQBhZHBjbV9pbWFfaXNzAGFkcGNtX2c3MjIAYWRwY21faW1hX2FwYwBhZHBjbV92aW1hAGFkcGNtX2FmYwBhZHBjbV9pbWFfb2tpAGFkcGNtX2R0awBhZHBjbV9pbWFfcmFkAGFkcGNtX2c3MjZsZQBhZHBjbV90aHBfbGUAYWRwY21fcHN4AGFkcGNtX2FpY2EAYWRwY21faW1hX2RhdDQAYWRwY21fbXRhZgBhbXJfbmIAYW1yX3diAHJhXzE0NAByYV8yODgAcm9xX2RwY20AaW50ZXJwbGF5X2RwY20AeGFuX2RwY20Ac29sX2RwY20Ac2R4Ml9kcGNtAGdyZW1saW5fZHBjbQBtcDIAbXAzAGFhYwBhYzMAdm9yYmlzAGR2YXVkaW8Ad21hdjEAd21hdjIAbWFjZTMAbWFjZTYAdm1kYXVkaW8AZmxhYwBtcDNhZHUAbXAzb240AHNob3J0ZW4AYWxhYwB3ZXN0d29vZF9zbmQxAGdzbQBxZG0yAGNvb2sAdHJ1ZXNwZWVjaAB0dGEAc21hY2thdWRpbwBxY2VscAB3YXZwYWNrAGRzaWNpbmF1ZGlvAGltYwBtdXNlcGFjazcAbWxwAGdzbV9tcwBhdHJhYzMAYXBlAG5lbGx5bW9zZXIAbXVzZXBhY2s4AHNwZWV4AHdtYXZvaWNlAHdtYXBybwB3bWFsb3NzbGVzcwBhdHJhYzNwAGVhYzMAc2lwcgBtcDEAdHdpbnZxAHRydWVoZABtcDRhbHMAYXRyYWMxAGJpbmthdWRpb19yZGZ0AGJpbmthdWRpb19kY3QAYWFjX2xhdG0AcWRtYwBjZWx0AGc3MjNfMQBnNzI5ADhzdnhfZXhwADhzdnhfZmliAGJtdl9hdWRpbwByYWxmAGlhYwBpbGJjAG9wdXMAY29tZm9ydG5vaXNlAHRhawBtZXRhc291bmQAcGFmX2F1ZGlvAGF2YwBkc3Nfc3AAY29kZWMyAHdhdmVzeW50aABzb25pYwBzb25pY2xzAGV2cmMAc212AGRzZF9sc2JmAGRzZF9tc2JmAGRzZF9sc2JmX3BsYW5hcgBkc2RfbXNiZl9wbGFuYXIANGd2AGludGVycGxheWFjbQB4bWExAHhtYTIAZHN0AGF0cmFjM2FsAGF0cmFjM3BhbABkb2xieV9lAGFwdHgAYXB0eF9oZABzYmMAZHZkX3N1YnRpdGxlAGR2Yl9zdWJ0aXRsZQB0ZXh0AHhzdWIAc3NhAG1vdl90ZXh0AGhkbXZfcGdzX3N1YnRpdGxlAGR2Yl90ZWxldGV4dABzcnQAbWljcm9kdmQAZWlhXzYwOABqYWNvc3ViAHNhbWkAcmVhbHRleHQAc3RsAHN1YnZpZXdlcjEAc3Vidmlld2VyAHN1YnJpcAB3ZWJ2dHQAbXBsMgB2cGxheWVyAHBqcwBoZG12X3RleHRfc3VidGl0bGUAdHRmAHNjdGVfMzUAYmludGV4dAB4YmluAGlkZgBvdGYAa2x2AGR2ZF9uYXZfcGFja2V0AHRpbWVkX2lkMwBiaW5fZGF0YQB3cmFwcGVkX2F2ZnJhbWUAYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtAGFwcGxpY2F0aW9uL3ZuZC5tcy1vcGVudHlwZQBhcHBsaWNhdGlvbi94LXRydWV0eXBlLWZvbnQAYXBwbGljYXRpb24veC1mb250AGltYWdlL3N2Zyt4bWwAaW1hZ2UveC14cGl4bWFwAGltYWdlL3BuZwBpbWFnZS93ZWJwAGltYWdlL3gteGJpdG1hcABpbWFnZS94LXh3aW5kb3dkdW1wAGltYWdlL3gtcGN4AGltYWdlL2dpZgBpbWFnZS90aWZmAGltYWdlL3gtdGFyZ2EAaW1hZ2UveC10Z2EAaW1hZ2UvanAyAGltYWdlL3gtbXMtYm1wAGltYWdlL3gtcG9ydGFibGUtcGl4bWFwAGltYWdlL2pwZWcACQgHBwYGBgYFBQUFBQUFBQQEBAQEBAQEBAQEBAQEBAQDAwMDAwMD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AQEBAQEBAQEBAQEBAQEBASAgICAgICAgHyAgICAgICAPEBESExQVFhcYGRobHB0eBwcHBwgICAgJCQkJCgoKCgsLCwsMDAwMDQ0NDQ4ODg4DAwMDAwMDAwMDAwMDAwMDBAQEBAQEBAQEBAQEBAQEBAUFBQUFBQUFBQUFBQUFBQUGBgYGBgYGBgYGBgYGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREREREREQEREREREREQj4CfcK9gv1DPQN8w7yD/EEBAQE/Pz8/AUFBQX7+/v7BgYGBvr6+voHBwcH+fn5+QICAgICAgICAgICAgICAgL+/v7+/v7+/v7+/v7+/v7+AwMDAwMDAwMDAwMDAwMDA/39/f39/f39/f39/f39/f0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEGBS8fDwAXGx0eBwsNDicrLS4QAwUKDBMVGhwjJSosAQIECBESFBgGCRYZICEiJCgmKQAQAQIECCADBQoMDy8HCw0OBgkfIyUqLCEiJCgnKy0uERIUGBMVGhwXGx0eFhkmKQAQIDAAIBBAYDBQcAoNEAsOEg0QFA4SFxAUGRIXHQADBAMDAQUBBAUCBQMBBQEUEiATGRgWEyMVHBoaFyoYIR8cGS0aIyEgHDMeKCYkIDoiLisAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAAAAAAAAAQEBAQEBAgICAgICAwMDAwMDBAQEBAQEBQUFBQUFBgYGBgYGBwcHBwcHCAgICAgICQkJCQkJCgoKCgoKCwsLCwsLDAwMDAwMDQ0NDQ0NDg4ODgABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR0eHyAgISIiIyMkJCUlJSYmJicnJycAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMjJCUmJicoKCkpKiorKyssLCwtLS0tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKSorLCwtLi4vLzAwMTExMjIyMzMzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLy8wMTIyMzQ0NTU2Njc3Nzg4ODk5OTkAAAAAAAAAAAAAAAAAAAAAAAAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU1Njc4ODk6Ojs7PDw9PT0+Pj4/Pz8/AAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7Ozw9Pj4/QEBBQUJCQ0NDRERERUVFRQAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUFCQ0RERUZGR0dISElJSUpKSktLS0toMjY0AHRocmVhZF9yZWxlYXNlX2J1ZmZlciBjYWxsZWQgb24gcGljICVwCgBmcmFtZS0+bmJfZXh0ZW5kZWRfYnVmID09IDAAbGliYXZjb2RlYy9kZWNvZGUuYwBkZWZhdWx0X2dldF9idWZmZXIgY2FsbGVkIG9uIGZyYW1lICVwAHBpYy0+ZGF0YVsqXSE9TlVMTCBpbiBhdmNvZGVjX2RlZmF1bHRfZ2V0X2J1ZmZlcgoAVW5hYmxlIHRvIGdldCBwaXhlbCBmb3JtYXQgZGVzY3JpcHRvciBmb3IgZm9ybWF0ICVzCgBkZWZhdWx0X2dldF9idWZmZXIgY2FsbGVkIG9uIHBpYyAlcAoAeXV2NDIwcAB5dXl2NDIyAHJnYjI0AGJncjI0AHl1djQyMnAAeXV2NDQ0cAB5dXY0MTBwAHl1djQxMXAAZ3JheTgseTgAbW9ub3cAbW9ub2IAcGFsOAB5dXZqNDIwcAB5dXZqNDIycAB5dXZqNDQ0cAB1eXZ5NDIyAHV5eXZ5eTQxMQBiZ3I4AGJncjQAYmdyNF9ieXRlAHJnYjgAcmdiNAByZ2I0X2J5dGUAbnYxMgBudjIxAGFyZ2IAcmdiYQBhYmdyAGJncmEAZ3JheTE2YmUAeTE2YmUAZ3JheTE2bGUAeTE2bGUAeXV2NDQwcAB5dXZqNDQwcAB5dXZhNDIwcAByZ2I0OGJlAHJnYjQ4bGUAcmdiNTY1YmUAcmdiNTY1bGUAcmdiNTU1YmUAcmdiNTU1bGUAYmdyNTY1YmUAYmdyNTY1bGUAYmdyNTU1YmUAYmdyNTU1bGUAdmFhcGlfbW9jbwB2YWFwaV9pZGN0AHZhYXBpX3ZsZAB5dXY0MjBwMTZsZQB5dXY0MjBwMTZiZQB5dXY0MjJwMTZsZQB5dXY0MjJwMTZiZQB5dXY0NDRwMTZsZQB5dXY0NDRwMTZiZQBkeHZhMl92bGQAcmdiNDQ0bGUAcmdiNDQ0YmUAYmdyNDQ0bGUAYmdyNDQ0YmUAeWE4AGdyYXk4YQBiZ3I0OGJlAGJncjQ4bGUAeXV2NDIwcDliZQB5dXY0MjBwOWxlAHl1djQyMHAxMGJlAHl1djQyMHAxMGxlAHl1djQyMnAxMGJlAHl1djQyMnAxMGxlAHl1djQ0NHA5YmUAeXV2NDQ0cDlsZQB5dXY0NDRwMTBiZQB5dXY0NDRwMTBsZQB5dXY0MjJwOWJlAHl1djQyMnA5bGUAZ2JycABnYnJwOWJlAGdicnA5bGUAZ2JycDEwYmUAZ2JycDEwbGUAZ2JycDE2YmUAZ2JycDE2bGUAeXV2YTQyMnAAeXV2YTQ0NHAAeXV2YTQyMHA5YmUAeXV2YTQyMHA5bGUAeXV2YTQyMnA5YmUAeXV2YTQyMnA5bGUAeXV2YTQ0NHA5YmUAeXV2YTQ0NHA5bGUAeXV2YTQyMHAxMGJlAHl1dmE0MjBwMTBsZQB5dXZhNDIycDEwYmUAeXV2YTQyMnAxMGxlAHl1dmE0NDRwMTBiZQB5dXZhNDQ0cDEwbGUAeXV2YTQyMHAxNmJlAHl1dmE0MjBwMTZsZQB5dXZhNDIycDE2YmUAeXV2YTQyMnAxNmxlAHl1dmE0NDRwMTZiZQB5dXZhNDQ0cDE2bGUAdmRwYXUAeHl6MTJsZQB4eXoxMmJlAG52MTYAbnYyMGxlAG52MjBiZQByZ2JhNjRiZQByZ2JhNjRsZQBiZ3JhNjRiZQBiZ3JhNjRsZQB5dnl1NDIyAHlhMTZiZQB5YTE2bGUAZ2JyYXAAZ2JyYXAxNmJlAGdicmFwMTZsZQBxc3YAbW1hbABkM2QxMXZhX3ZsZABjdWRhADByZ2IAcmdiMAAwYmdyAGJncjAAeXV2NDIwcDEyYmUAeXV2NDIwcDEybGUAeXV2NDIwcDE0YmUAeXV2NDIwcDE0bGUAeXV2NDIycDEyYmUAeXV2NDIycDEybGUAeXV2NDIycDE0YmUAeXV2NDIycDE0bGUAeXV2NDQ0cDEyYmUAeXV2NDQ0cDEybGUAeXV2NDQ0cDE0YmUAeXV2NDQ0cDE0bGUAZ2JycDEyYmUAZ2JycDEybGUAZ2JycDE0YmUAZ2JycDE0bGUAeXV2ajQxMXAAYmF5ZXJfYmdncjgAYmF5ZXJfcmdnYjgAYmF5ZXJfZ2JyZzgAYmF5ZXJfZ3JiZzgAYmF5ZXJfYmdncjE2bGUAYmF5ZXJfYmdncjE2YmUAYmF5ZXJfcmdnYjE2bGUAYmF5ZXJfcmdnYjE2YmUAYmF5ZXJfZ2JyZzE2bGUAYmF5ZXJfZ2JyZzE2YmUAYmF5ZXJfZ3JiZzE2bGUAYmF5ZXJfZ3JiZzE2YmUAeHZtYwB5dXY0NDBwMTBsZQB5dXY0NDBwMTBiZQB5dXY0NDBwMTJsZQB5dXY0NDBwMTJiZQBheXV2NjRsZQBheXV2NjRiZQB2aWRlb3Rvb2xib3hfdmxkAHAwMTBsZQBwMDEwYmUAZ2JyYXAxMmJlAGdicmFwMTJsZQBnYnJhcDEwYmUAZ2JyYXAxMGxlAG1lZGlhY29kZWMAZ3JheTEyYmUAeTEyYmUAZ3JheTEybGUAeTEybGUAZ3JheTEwYmUAeTEwYmUAZ3JheTEwbGUAeTEwbGUAcDAxNmxlAHAwMTZiZQBkM2QxMQBncmF5OWJlAHk5YmUAZ3JheTlsZQB5OWxlAGdicnBmMzJiZQBnYnJwZjMybGUAZ2JyYXBmMzJiZQBnYnJhcGYzMmxlAGRybV9wcmltZQBvcGVuY2wARmFpbGVkIHRvIG1hcCBmcmFtZSBpbnRvIGRlcml2ZWQgZnJhbWUgY29udGV4dDogJWQuCgBJbnZhbGlkIG1hcHBpbmcgZm91bmQgd2hlbiBhdHRlbXB0aW5nIHVubWFwLgoAYXZfaW1hZ2VfZ2V0X2xpbmVzaXplIGZhaWxlZAoAYWJzKHNyY19saW5lc2l6ZSkgPj0gYnl0ZXdpZHRoAGxpYmF2dXRpbC9pbWd1dGlscy5jAGFicyhkc3RfbGluZXNpemUpID49IGJ5dGV3aWR0aABQaWN0dXJlIHNpemUgJXV4JXUgaXMgaW52YWxpZAoAUGljdHVyZSBzaXplICV1eCV1IGV4Y2VlZHMgc3BlY2lmaWVkIG1heCBwaXhlbCBjb3VudCAlbGxkLCBzZWUgdGhlIGRvY3VtZW50YXRpb24gaWYgeW91IHdpc2ggdG8gaW5jcmVhc2UgaXQKAElNR1VUSUxTACFkc3QtPmYtPmJ1ZlswXQBsaWJhdmNvZGVjL2gyNjRfcGljdHVyZS5jAHNyYy0+Zi0+YnVmWzBdAHNyYy0+dGYuZiA9PSBzcmMtPmYAIWRzdC0+cHJvZ3Jlc3MAbGliYXZjb2RlYy91dGlscy5jAGJ1Zl9pbmRleCA8PSBidWZfc2l6ZQBsaWJhdmNvZGVjL2gyNjRkZWMuYwBubyBmcmFtZSEKAHBpY3QtPmJ1ZlswXSB8fCAhKmdvdF9mcmFtZQBEdXBsaWNhdGluZyBmaWVsZCAlZCB0byBmaWxsIG1pc3NpbmcKAHN0ZXJlb19tb2RlAGNoZWNrZXJib2FyZF9ybABjaGVja2VyYm9hcmRfbHIAY29sX2ludGVybGVhdmVkX3JsAGNvbF9pbnRlcmxlYXZlZF9scgByb3dfaW50ZXJsZWF2ZWRfcmwAcm93X2ludGVybGVhdmVkX2xyAHJpZ2h0X2xlZnQAbGVmdF9yaWdodABib3R0b21fdG9wAHRvcF9ib3R0b20AYmxvY2tfcmwAYmxvY2tfbHIAaGFyZHdhcmUgYWNjZWxlcmF0b3IgZmFpbGVkIHRvIGRlY29kZSBwaWN0dXJlCgAlcCBmaW5pc2hlZCAlZCBmaWVsZCAlZAoAU1BTIGlzIHVuc2V0CgBubyBtbWNvIGhlcmUKAG1tY286JWQgJWQgJWQKAG1tY286IHVucmVmIHNob3J0IGZhaWx1cmUKAG1tY286IHVucmVmIHNob3J0ICVkIGNvdW50ICVkCgBtbWNvOiB1bnJlZiBsb25nIGZhaWx1cmUKAG1tY286IGNhbm5vdCBhc3NpZ24gY3VycmVudCBwaWN0dXJlIHRvIHNob3J0IGFuZCBsb25nIGF0IHRoZSBzYW1lIHRpbWUKAG1tY286IGNhbm5vdCBhc3NpZ24gY3VycmVudCBwaWN0dXJlIHRvIDIgbG9uZyB0ZXJtIHJlZmVyZW5jZXMKACFoLT5jdXJfcGljX3B0ci0+bG9uZ19yZWYAbGliYXZjb2RlYy9oMjY0X3JlZnMuYwBpbGxlZ2FsIHNob3J0IHRlcm0gcmVmZXJlbmNlIGFzc2lnbm1lbnQgZm9yIHNlY29uZCBmaWVsZCBpbiBjb21wbGVtZW50YXJ5IGZpZWxkIHBhaXIgKGZpcnN0IGZpZWxkIGlzIGxvbmcgdGVybSkKAGlsbGVnYWwgc2hvcnQgdGVybSBidWZmZXIgc3RhdGUgZGV0ZWN0ZWQKAG51bWJlciBvZiByZWZlcmVuY2UgZnJhbWVzICglZCslZCkgZXhjZWVkcyBtYXggKCVkOyBwcm9iYWJseSBjb3JydXB0IGlucHV0KSwgZGlzY2FyZGluZyBvbmUKAGxvbmcgdGVybSBsaXN0OgoAJXUgZm46JWQgcG9jOiVkICVwCgBzaG9ydCB0ZXJtIGxpc3Q6CgByZW1vdmUgc2hvcnQgJWQgY291bnQgJWQKACVkICVkICVwCgBFcnJvciBzcGxpdHRpbmcgdGhlIGlucHV0IGludG8gTkFMIHVuaXRzLgoASW52YWxpZCBpbnRlciBJRFIgZnJhbWUKAGludmFsaWQgbWl4ZWQgSURSIC8gbm9uIElEUiBmcmFtZXMgY2Fubm90IGJlIGRlY29kZWQgaW4gc2xpY2UgbXVsdGl0aHJlYWRpbmcgbW9kZQoAZGF0YSBwYXJ0aXRpb25pbmcAU1BTIGRlY29kaW5nIGZhaWx1cmUsIHRyeWluZyBhZ2FpbiB3aXRoIHRoZSBjb21wbGV0ZSBOQUwKAFVua25vd24gTkFMIGNvZGU6ICVkICglZCBiaXRzKQoAZGVjb2RlX3NsaWNlX2hlYWRlciBlcnJvcgoAaWdub3JpbmcgbGFzdCBtaXNzaW5nIHNsaWNlCgBDYW5ub3QgdXNlIHByZXZpb3VzIHBpY3R1cmUgaW4gZXJyb3IgY29uY2VhbG1lbnQKAENhbm5vdCB1c2UgbmV4dCBwaWN0dXJlIGluIGVycm9yIGNvbmNlYWxtZW50CgBXYXJuaW5nIE1WcyBub3QgYXZhaWxhYmxlCgAlMlggAAoAY29uY2VhbGluZyAlZCBEQywgJWQgQUMsICVkIE1WIGVycm9ycyBpbiAlYyBmcmFtZQoAcy0+YXZjdHgtPmNvZGVjX2lkICE9IEFWX0NPREVDX0lEX0gyNjQAbGliYXZjb2RlYy9lcnJvcl9yZXNpbGllbmNlLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////cy0+cXVhcnRlcl9zYW1wbGUAZ3Vlc3NfZGMoKSBpcyBvdXQgb2YgbWVtb3J5CgBuZXh0X2Jsb2NrbGlzdF9sZW5ndGggPD0gbWJfaGVpZ2h0ICogbWJfd2lkdGgAdGhyZWFkIGF3YWl0aW5nICVkIGZpZWxkICVkIGZyb20gJXAKAFRydW5jYXRpbmcgbGlrZWx5IG92ZXJzaXplZCBQUFMgKCV6dSA+ICV6dSkKAHNwc19pZCAldSBvdXQgb2YgcmFuZ2UKAEludmFsaWQgbHVtYSBiaXQgZGVwdGg9JWQKAFVuaW1wbGVtZW50ZWQgbHVtYSBiaXQgZGVwdGg9JWQARk1PIG5vdCBzdXBwb3J0ZWQKAHJlZmVyZW5jZSBvdmVyZmxvdyAocHBzKQoAQ0FCQUMAQ0FWTEMAd2VpZ2h0ZWQATFBBUgBDT05TVFIAUkVEVQA4eDhEQ1QAcHBzOiV1IHNwczoldSAlcyBzbGljZV9ncm91cHM6JWQgcmVmOiV1LyV1ICVzIHFwOiVkLyVkLyVkLyVkICVzICVzICVzICVzCgAGCg0QEhcZGwoLEBIXGRsdDRASFxkbHR8QEhcZGx0fIRIXGRsdHyEkFxkbHR8hJCYZGx0fISQmKBsdHyEkJigqCQ0PERMVFhgNDRETFRYYGQ8RExUWGBkbERMVFhgZGxwTFRYYGRscHhUWGBkbHB4gFhgZGxweICEYGRscHiAhIwYNFBwNFBwgFBwgJRwgJSoKDhQYDhQYGxQYGx4YGx4iAAEECAUCAwYJDA0KBwsODwAAAQgQCQIDChEYIBkSCwQFDBMaISgwKSIbFA0GBw4VHCMqMTg5MiskHRYPFx4lLDM6OzQtJh8nLjU8PTYvNz4/ZGVsdGEgc2NhbGUgJWQgaXMgaW52YWxpZAoAQ3VycmVudCBwcm9maWxlIGRvZXNuJ3QgcHJvdmlkZSBtb3JlIFJCU1AgZGF0YSBpbiBQUFMsIHNraXBwaW5nCgAgaXMgbm90IGltcGxlbWVudGVkLiBVcGRhdGUgeW91ciBGRm1wZWcgdmVyc2lvbiB0byB0aGUgbmV3ZXN0IG9uZSBmcm9tIEdpdC4gSWYgdGhlIHByb2JsZW0gc3RpbGwgb2NjdXJzLCBpdCBtZWFucyB0aGF0IHlvdXIgZmlsZSBoYXMgYSBmZWF0dXJlIHdoaWNoIGhhcyBub3QgYmVlbiBpbXBsZW1lbnRlZC4KAElmIHlvdSB3YW50IHRvIGhlbHAsIHVwbG9hZCBhIHNhbXBsZSBvZiB0aGlzIGZpbGUgdG8gZnRwOi8vdXBsb2FkLmZmbXBlZy5vcmcvaW5jb21pbmcvIGFuZCBjb250YWN0IHRoZSBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0LiAoZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcpCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgU1BTCgBjaHJvbWFfZm9ybWF0X2lkYyAldQBzZXBhcmF0ZSBjb2xvciBwbGFuZXMgYXJlIG5vdCBzdXBwb3J0ZWQKAERpZmZlcmVudCBjaHJvbWEgYW5kIGx1bWEgYml0IGRlcHRoAGlsbGVnYWwgYml0IGRlcHRoIHZhbHVlICglZCwgJWQpCgBsb2cyX21heF9mcmFtZV9udW1fbWludXM0IG91dCBvZiByYW5nZSAoMC0xMik6ICVkCgBsb2cyX21heF9wb2NfbHNiICglZCkgaXMgb3V0IG9mIHJhbmdlCgBwb2NfY3ljbGVfbGVuZ3RoIG92ZXJmbG93ICVkCgBpbGxlZ2FsIFBPQyB0eXBlICVkCgB0b28gbWFueSByZWZlcmVuY2UgZnJhbWVzICVkCgBoZWlnaHQgb3ZlcmZsb3cKAG1iX3dpZHRoL2hlaWdodCBvdmVyZmxvdwoAZGlzY2FyZGluZyBzcHMgY3JvcHBpbmcsIG9yaWdpbmFsIHZhbHVlcyBhcmUgbDolZCByOiVkIHQ6JWQgYjolZAoAY3JvcCB2YWx1ZXMgaW52YWxpZCAlZCAlZCAlZCAlZCAvICVkICVkCgBWVUkAT3ZlcnJlYWQgJXMgYnkgJWQgYml0cwoATUItQUZGAFBJQy1BRkYARlJNADhCOABHcmF5ADQyMAAANDIyAAA0NDQAAHNwczoldSBwcm9maWxlOiVkLyVkIHBvYzolZCByZWY6JWQgJWR4JWQgJXMgJXMgY3JvcDoldS8ldS8ldS8ldSAlcyAlcyAlZC8lZCBiJWQgcmVvOiVkCgBpbGxlZ2FsIGFzcGVjdCByYXRpbwoAVHJ1bmNhdGVkIFZVSQoAdGltZV9zY2FsZS9udW1fdW5pdHNfaW5fdGljayBpbnZhbGlkIG9yIHVuc3VwcG9ydGVkICgldS8ldSkKAENsaXBwaW5nIGlsbGVnYWwgbnVtX3Jlb3JkZXJfZnJhbWVzICVkCgBjcGJfY291bnQgJWQgaW52YWxpZAoAZ2JyAHJlc2VydmVkAGNocm9tYS1kZXJpdmVkLW5jAGNocm9tYS1kZXJpdmVkLWMAaWN0Y3AAR3JlZW4gTWV0YWRhdGEgSW5mbyBTRUkgbWVzc2FnZQoAICBncmVlbl9tZXRhZGF0YV90eXBlOiAlZAoAICBncmVlbl9tZXRhZGF0YV9wZXJpb2RfdHlwZTogJWQKACAgZ3JlZW5fbWV0YWRhdGFfbnVtX3NlY29uZHM6ICVkCgAgIGdyZWVuX21ldGFkYXRhX251bV9waWN0dXJlczogJWQKACAgU0VJIEdSRUVOIENvbXBsZXhpdHkgTWV0cmljczogJWYgJWYgJWYgJWYKACAgeHNkX21ldHJpY190eXBlOiAlZAoAICB4c2RfbWV0cmljX3ZhbHVlOiAlZgoAU0VJIHR5cGUgJWQgc2l6ZSAlZCB0cnVuY2F0ZWQgYXQgJWQKAHVua25vd24gU0VJIHR5cGUgJWQKAG5vbi1leGlzdGluZyBTUFMgJWQgcmVmZXJlbmNlZCBpbiBidWZmZXJpbmcgcGVyaW9kCgB4MjY0IC0gY29yZSAlZAB4MjY0IC0gY29yZSAw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/Uf6Kvsy/Tb+PgA6AT/+SP9K91v7Q/sb/Sf+LAAu8ED4RPZO+k32VvRc8Tf2PPo+/EH0SfhM+VD3WO9u/Ub4XfZa4n/9Rvhd9lrif/1G+F32WuJ/bGliYXZ1dGlsL21lbV9pbnRlcm5hbC5oAE11bHRpcGxlIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKSBjYWxscwoAVG9vIG1hbnkgZmllbGRzCgBCcm9rZW4gZnJhbWUgcGFja2V0aXppbmcKAHNsID09IGgtPnNsaWNlX2N0eABQUFMgY2hhbmdlZCBiZXR3ZWVuIHNsaWNlcwoAU1BTIGNoYW5nZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZnJhbWUKAENoYW5naW5nIGZpZWxkIG1vZGUgKCVkIC0+ICVkKSBiZXR3ZWVuIHNsaWNlcyBpcyBub3QgYWxsb3dlZAoAdW5zZXQgY3VyX3BpY19wdHIgb24gc2xpY2UgJWQKAEludmFsaWQgbWl4IG9mIElEUiBhbmQgbm9uLUlEUiBzbGljZXMKAGZpcnN0X21iX2luX3NsaWNlIG92ZXJmbG93CgBQb3NzaWJseSB0b28gbWFueSBzbGljZXMgKCVkID49ICVkKSwgaW5jcmVhc2UgTUFYX1NMSUNFUyBhbmQgcmVjb21waWxlIGlmIHRoZXJlIGFyZSBhcnRpZmFjdHMKAFQAQgBGACBmaXgAIElEUgBjAFNQQVQAVEVNUABzbGljZTolZCAlcyBtYjolZCAlYyVzJXMgZnJhbWU6JWQgcG9jOiVkLyVkIHJlZjolZC8lZCBxcDolZCBsb29wOiVkOiVkOiVkIHdlaWdodDolZCVzICVzCgBjdXItPm1iYWZmID09IChoKS0+bWJfYWZmX2ZyYW1lAGxpYmF2Y29kZWMvaDI2NF9kaXJlY3QuYwBjbyBsb2NhdGVkIFBPQ3MgdW5hdmFpbGFibGUKAHBvY2RpZmYgb3ZlcmZsb3cKAHBvY2RpZmYwIG92ZXJmbG93CgBhYnNfZGlmZl9waWNfbnVtIG92ZXJmbG93CgBsb25nX3Rlcm1fcGljX2lkeCBvdmVyZmxvdwoAcmVmZXJlbmNlIHBpY3R1cmUgbWlzc2luZyBkdXJpbmcgcmVvcmRlcgoATWlzc2luZyByZWZlcmVuY2UgcGljdHVyZSwgZGVmYXVsdCBpcyAlZAoAYXZfYnVmZmVyX2dldF9yZWZfY291bnQoc2wtPnJlZl9saXN0W2xpc3RdW2luZGV4XS5wYXJlbnQtPmYtPmJ1ZlswXSkgPiAwAGxlbiA8PSAzMgBEaXNjYXJkaW5nIG1pc21hdGNoaW5nIHJlZmVyZW5jZQoAaW5kZXggPCBkZWZfbGVuAGgtPmN1cl9waWNfcHRyAGgtPmN1cl9waWNfcHRyLT5mLT5idWZbMF0ASW52YWxpZCBmaWVsZCBtb2RlIGNvbWJpbmF0aW9uICVkLyVkCgBGb3VuZCByZWZlcmVuY2UgYW5kIG5vbi1yZWZlcmVuY2UgZmllbGRzIGluIHRoZSBzYW1lIGZyYW1lLCB3aGljaABGcmFtZSBudW0gZ2FwICVkICVkCgBJbnZhbGlkIFBPQyAlZDwlZAoASW5jcmVhc2luZyByZW9yZGVyIGJ1ZmZlciB0byAlZAoAcGljcyA8PSAxNgBvb28Abm8gcGljdHVyZSAlcwoAQXR0ZW1wdCB0byBzdGFydCBhIGZyYW1lIG91dHNpZGUgU0VUVVAgc3RhdGUKAG5vIGZyYW1lIGJ1ZmZlciBhdmFpbGFibGUKAGRlc2MtPmZsYWdzICYgKDEgPDwgNCkAIXBpYy0+Zi0+ZGF0YVswXQAhcGljLT5od2FjY2VsX3BpY3R1cmVfcHJpdmF0ZQB0aHJlYWRfZ2V0X2J1ZmZlcigpIGZhaWxlZAoAZ2V0X2J1ZmZlcigpIGNhbm5vdCBiZSBjYWxsZWQgYWZ0ZXIgZmZfdGhyZWFkX2ZpbmlzaF9zZXR1cCgpCgBnZXRfYnVmZmVyKCkgZmFpbGVkCgB2aWRlb19nZXRfYnVmZmVyOiBpbWFnZSBwYXJhbWV0ZXJzIGludmFsaWQKAHBpYy0+ZGF0YVsqXSE9TlVMTCBpbiBnZXRfYnVmZmVyX2ludGVybmFsCgBmcmFtZS0+ZGF0YVtpXQBCdWZmZXIgcmV0dXJuZWQgYnkgZ2V0X2J1ZmZlcjIoKSBkaWQgbm90IHplcm8gdW51c2VkIHBsYW5lIHBvaW50ZXJzCgBJbmNvbnNpc3RlbnQgY2hhbm5lbCBjb25maWd1cmF0aW9uLgoAVG9vIG1hbnkgY2hhbm5lbHM6ICVkLgoAY2hhbmdpbmcgd2lkdGggJWQgLT4gJWQgLyBoZWlnaHQgJWQgLT4gJWQgb24gc2xpY2UgJWQKAFJlaW5pdCBjb250ZXh0IHRvICVkeCVkLCBwaXhfZm10OiAlcwoAaDI2NF9zbGljZV9oZWFkZXJfaW5pdCgpIGZhaWxlZAoAQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeQoAVW5zdXBwb3J0ZWQgYml0IGRlcHRoICVkCgBjb250ZXh0X2luaXQoKSBmYWlsZWQuCgBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5LgoAUmVmZXJlbmNlIG5vdCBhdmFpbGFibGUgZm9yIGVycm9yIGNvbmNlYWxpbmcKAFJlZmVyZW5jZSBpbnZhbGlkCgBsaWJhdmNvZGVjL2gyNjRwcmVkLmMAYml0X2RlcHRoPD04AGxpYmF2Y29kZWMvaDI2NGRzcC5jAAAQACCAoAwNFBUODxYXHB0kJR4fJic0NTw9Njc+P0RFTE1GR05PXF1kZV5fZmdsbXR1bm92dwAoUAAEAQgMBQkNAgYKDgMHCw8AAAkREgwoGwcjOR0eOiY1LwECGAsTMBQOKjIWJTsfPDcIAyAEGikNFTErDyw0Jz0+EAoZBSEiBhw4JBczLS42PwAACBABCRggEQIZKDA4IQoDEikxORoLBBMiKjI6GwwFFCMrMzscDQYVJCw0PB0OFiUtNT0eBw8mLjY+Fx8nLzc/AAAJAjgSGiIbIxwkHS0HNicIGBkhKQsqDCsNLA41Dz4vECAoCjEEMgUzBjQWPSYXNwERMAM5EzoUOxU8JR4uHz8AAAECNQMHNhsEJikIIjcwHD4FJy4sKhYJGCM7ODESHQs/NAYaJSghLz0tKxUXOhEKMxkkIDwUORAyHxMPHg4NDGlnbm9yaW5nIGludmFsaWQgU0FSOiAlZC8lZAoAc3BzLT5jcm9wX3JpZ2h0ICsgc3BzLT5jcm9wX2xlZnQgPCAodW5zaWduZWQpaC0+d2lkdGgAc3BzLT5jcm9wX3RvcCArIHNwcy0+Y3JvcF9ib3R0b20gPCAodW5zaWduZWQpaC0+aGVpZ2h0AGdldF9mb3JtYXQoKSBjYW5ub3QgYmUgY2FsbGVkIGFmdGVyIGZmX3RocmVhZF9maW5pc2hfc2V0dXAoKQoAbiA+PSAxAEludmFsaWQgZm9ybWF0IHJldHVybmVkIGJ5IGdldF9mb3JtYXQoKSBjYWxsYmFjay4KAEZvcm1hdCAlcyBjaG9zZW4gYnkgZ2V0X2Zvcm1hdCgpLgoASW52YWxpZCByZXR1cm4gZnJvbSBnZXRfZm9ybWF0KCk6ICVzIG5vdCBpbiBwb3NzaWJsZSBsaXN0LgoASW52YWxpZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBkb2VzIG5vdCBtYXRjaCB0aGUgZm9ybWF0IG9mIHRoZSBwcm92aWRlZCBmcmFtZXMgY29udGV4dC4KAEludmFsaWQgc2V0dXAgZm9yIGZvcm1hdCAlczogZG9lcyBub3QgbWF0Y2ggdGhlIHR5cGUgb2YgdGhlIHByb3ZpZGVkIGRldmljZSBjb250ZXh0LgoASW52YWxpZCBzZXR1cCBmb3IgZm9ybWF0ICVzOiBtaXNzaW5nIGNvbmZpZ3VyYXRpb24uCgBGb3JtYXQgJXMgcmVxdWlyZXMgaHdhY2NlbCBpbml0aWFsaXNhdGlvbi4KAEZvcm1hdCAlcyBub3QgdXNhYmxlLCByZXRyeWluZyBnZXRfZm9ybWF0KCkgd2l0aG91dCBpdC4KAElnbm9yaW5nIGV4cGVyaW1lbnRhbCBod2FjY2VsOiAlcwoARmFpbGVkIHNldHVwIGZvciBmb3JtYXQgJXM6IGh3YWNjZWwgaW5pdGlhbGlzYXRpb24gcmV0dXJuZWQgZXJyb3IuCgAhaC0+c2V0dXBfZmluaXNoZWQAc2xpY2UgdHlwZSAlZCB0b28gbGFyZ2UgYXQgJWQKAEEgbm9uLWludHJhIHNsaWNlIGluIGFuIElEUiBOQUwgdW5pdC4KAEZyYW1lIG51bSBjaGFuZ2UgZnJvbSAlZCB0byAlZAoAVGhpcyBzdHJlYW0gd2FzIGdlbmVyYXRlZCBieSBhIGJyb2tlbiBlbmNvZGVyLCBpbnZhbGlkIDh4OCBpbmZlcmVuY2UKAGNhYmFjX2luaXRfaWRjICV1IG92ZXJmbG93CgBRUCAldSBvdXQgb2YgcmFuZ2UKAGRlYmxvY2tpbmdfZmlsdGVyX2lkYyAldSBvdXQgb2YgcmFuZ2UKAGRlYmxvY2tpbmcgZmlsdGVyIHBhcmFtZXRlcnMgJWQgJWQgb3V0IG9mIHJhbmdlCgBpbGxlZ2FsIGxvbmcgcmVmIGluIG1lbW9yeSBtYW5hZ2VtZW50IGNvbnRyb2wgb3BlcmF0aW9uICVkCgBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tICVkIGlzIG91dCBvZiByYW5nZQoAY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tICVkIGlzIG91dCBvZiByYW5nZQoAT3V0IG9mIHJhbmdlIHdlaWdodAoAcmVmZXJlbmNlIGNvdW50IG92ZXJmbG93CgBpbGxlZ2FsIG1vZGlmaWNhdGlvbl9vZl9waWNfbnVtc19pZGMgJXUKAHJlZmVyZW5jZSBvdmVyZmxvdyAldSA+ICV1IG9yICV1ID4gJXUKAEludmFsaWQgemVyby1zaXplZCBWQ0wgTkFMIHVuaXQKAEV4Y2VlZGVkIG5leHQgTkFMRkYgcG9zaXRpb24sIHJlLXN5bmNpbmcuCgBObyBzdGFydCBjb2RlIGlzIGZvdW5kLgoATkFMRkY6IENvbnN1bWVkIG9ubHkgJWQgYnl0ZXMgaW5zdGVhZCBvZiAlZAoASW52YWxpZCBOQUwgdW5pdCAlZCwgc2tpcHBpbmcuCgBuYWxfdW5pdF90eXBlOiAlZCwgbmFsX3JlZl9pZGM6ICVkCgBuYWxfdW5pdF90eXBlOiAlZCglcyksIG51aF9sYXllcl9pZDogJWQsIHRlbXBvcmFsX2lkOiAlZAoAPwBTRUlfU1VGRklYAFNFSV9QUkVGSVgARkRfTlVUAEVPQl9OVVQARU9TX05VVABBVUQAUFBTAFNQUwBWUFMAQ1JBX05VVABJRFJfTl9MUABJRFJfV19SQURMAEJMQV9OX0xQAEJMQV9XX1JBREwAQkxBX1dfTFAAUkFTTF9SAFJBU0xfTgBSQURMX1IAUkFETF9OAFNUU0FfUgBTVFNBX04AVFNBX1IAVFNBX04AVFJBSUxfUgBUUkFJTF9OAG5hbC0+c2tpcHBlZF9ieXRlc19wb3Nfc2l6ZSA+PSBuYWwtPnNraXBwZWRfYnl0ZXMAbGliYXZjb2RlYy9oMjY0NV9wYXJzZS5jAHZhbCB8fCAhbWluX3NpemUALi9saWJhdnV0aWwvbWVtX2ludGVybmFsLmgAYXZjQyAlZCB0b28gc2hvcnQKAERlY29kaW5nIHNwcyAlZCBmcm9tIGF2Y0MgZmFpbGVkCgBEZWNvZGluZyBwcHMgJWQg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WzBdKSkAbGliYXZjb2RlYy9iaXRzdHJlYW0uYwBzeW1ib2xzX3NpemUgPD0gMiB8fCAhc3ltYm9scwBUb28gbG9uZyBWTEMgKCVkKSBpbiBpbml0X3ZsYwoASW52YWxpZCBjb2RlICV4IGZvciAlZCBpbiBpbml0X3ZsYwoAbmVlZGVkICVkIGhhZCAlZAoAaW5jb3JyZWN0IGNvZGVzCgBoMjY0X3NsaWNlX2hlYWRlcl9pbml0KCkgZmFpbGVkAEgyNjQgRGVjb2RlcgBpc19hdmMAaXMgYXZjAG5hbF9sZW5ndGhfc2l6ZQBlbmFibGVfZXIARW5hYmxlIGVycm9yIHJlc2lsaWVuY2Ugb24gZGFtYWdlZCBmcmFtZXMgKHVuc2FmZSkAeDI2NF9idWlsZABBc3N1bWUgdGhpcyB4MjY0IHZlcnNpb24gaWYgbm8geDI2NCB2ZXJzaW9uIGZvdW5kIGluIGFueSBTRUkAcCA8PSBlbmQAUTI2NABwcHNfaWQgJXUgb3V0IG9mIHJhbmdlCgBub24tZXhpc3RpbmcgUFBTICV1IHJlZmVyZW5jZWQKAG5vbi1leGlzdGluZyBTUFMgJXUgcmVmZXJlbmNlZAoAbWlzc2luZyBwaWN0dXJlIGluIGFjY2VzcyB1bml0IHdpdGggc2l6ZSAlZAoAaWxsZWdhbCByZW9yZGVyaW5nX29mX3BpY19udW1zX2lkYyAlZAoAcmVmZXJlbmNlIGNvdW50ICVkIG92ZXJmbG93CgBpbGxlZ2FsIG1lbW9yeSBtYW5hZ2VtZW50IGNvbnRyb2wgb3BlcmF0aW9uICVkCgBJbnZhbGlkIE5BTCB1bml0IHNpemUgKCVkID4gJWQpLgoAQVZDLXBhcnNlcjogbmFsIGxlbmd0aCBzaXplIGludmFsaWQKAEFWQy1wYXJzZXI6IG5hbCBzaXplICVkIHJlbWFpbmluZyAlZAoAAAABAAECAAECAwECAwIDAwABAAIBAAMCAQADAgEDAgMAAAEAAQIAAQIDAAECAwQAAQIDBAUAAQIDBAUGAAECAwQFBgcBAgMEBQYHAgMEBQYHAwQFBgcEBQYHBQYHBgcHAAEAAgEAAwIBAAQDAgEABQQDAgEABgUEAwIBAAcGBQQDAgEABwYFBAMCAQcGBQQDAgcGBQQDBwYFBAcGBQcGB21pc3NpbmcgcGljdHVyZSBpbiBhY2Nlc3MgdW5pdAoASW52YWxpZCBzbGljZSBzZWdtZW50IGFkZHJlc3M6ICV1LgoAVW5rbm93biBzbGljZSB0eXBlOiAlZC4KAEludmFsaWQgVUUgZ29sb21iIGNvZGUKAERlY29kaW5nIFNFSQoAU2tpcHBlZCBTVUZGSVggU0VJICVkCgBTa2lwcGVkIFBSRUZJWCBTRUkgJWQKAG51bV9zcHNfaWRzX21pbnVzMSAlZCBpbnZhbGlkCgBhY3RpdmVfcGFyYW1ldGVyX3NldF9pZCAlZCBpbnZhbGlkCgBCT1RUT00gRmllbGQKAFRPUCBGaWVsZAoARGVjb2RpbmcgUFBTCgBUcnVuY2F0aW5nIGxpa2VseSBvdmVyc2l6ZWQgUFBTICgldGQgPiAlenUpCgBQUFMgaWQgb3V0IG9mIHJhbmdlOiAlZAoAU1BTIGlkIG91dCBvZiByYW5nZTogJWQKAFNQUyAldSBkb2VzIG5vdCBleGlzdC4KAGRpZmZfY3VfcXBfZGVsdGFfZGVwdGggJWQgaXMgaW52YWxpZAoAcHBzX2NiX3FwX29mZnNldCBvdXQgb2YgcmFuZ2U6ICVkCgBwcHNfY3JfcXBfb2Zmc2V0IG91dCBvZiByYW5nZTogJWQKAG51bV90aWxlX2NvbHVtbnNfbWludXMxIG91dCBvZiByYW5nZTogJWQKAG51bV90aWxlX3Jvd3NfbWludXMxIG91dCBvZiByYW5nZTogJWQKAEludmFsaWQgdGlsZSB3aWR0aHMuCgBJbnZhbGlkIHRpbGUgaGVpZ2h0cy4KAHBwc19iZXRhX29mZnNldF9kaXYyIG91dCBvZiByYW5nZTogJWQKAHBwc190Y19vZmZzZXRfZGl2MiBvdXQgb2YgcmFuZ2U6ICVkCgBsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsX21pbnVzMiBvdXQgb2YgcmFuZ2U6ICVkCgBPdmVycmVhZCBQUFMgYnkgJWQgYml0cwoAY2hyb21hX3FwX29mZnNldF9saXN0X2xlbl9taW51czEgc2hhbGwgYmUgaW4gdGhlIHJhbmdlIFswLCA1XS4KAGNiX3FwX29mZnNldF9saXN0IG5vdCB0ZXN0ZWQgeWV0LgoASW52YWxpZCBkZWx0YSBpbiBzY2FsaW5nIGxpc3QgZGF0YTogJWQuCgAQEBAQERIVGBAQEBARExYZEBAREhQWGR0QEBIVGBsfJBERFBgeIykvEhMWGyMsNkEVFhkfKTZGWBgZHSQvQVhzEBAQEBESFBgQEBAREhQYGRAQERIUGBkcEBESFBgZHCEREhQYGRwhKRIUGBkcISk2FBgZHCEpNkcYGRwhKTZHW0RlY29kaW5nIFNQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFNQUyAoJXRkID4gJXp1KQoAUGFyc2VkIFNQUzogaWQgJWQ7IGNvZGVkIHd4aDogJWR4JWQ7IGNyb3BwZWQgd3hoOiAlZHglZDsgcGl4X2ZtdDogJXMuCgAhKHMtPnNwc19saXN0W2lkXSAmJiBzLT5zcHMgPT0gKEhFVkNTUFMqKXMtPnNwc19saXN0W2lkXS0+ZGF0YSkAbGliYXZjb2RlYy9oZXZjX3BzLmMAVlBTIGlkIG91dCBvZiByYW5nZTogJWQKAFZQUyAlZCBkb2VzIG5vdCBleGlzdAoAc3BzX21heF9zdWJfbGF5ZXJzIG91dCBvZiByYW5nZTogJWQKAGNocm9tYV9mb3JtYXRfaWRjICVkIGlzIGludmFsaWQKAGRpc2NhcmRpbmcgc3BzIGNvbmZvcm1hbmNlIHdpbmRvdywgb3JpZ2luYWwgdmFsdWVzIGFyZSBsOiV1IHI6JXUgdDoldSBiOiV1CgBMdW1hIGJpdCBkZXB0aCAoJWQpIGlzIGRpZmZlcmVudCBmcm9tIGNocm9tYSBiaXQgZGVwdGggKCVkKSwgdGhpcyBpcyB1bnN1cHBvcnRlZC4KAGxvZzJfbWF4X3BpY19vcmRlcl9jbnRfbHNiX21pbnVzNCBvdXQgcmFuZ2U6ICVkCgBzcHNfbWF4X2RlY19waWNfYnVmZmVyaW5nX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgBzcHNfbWF4X251bV9yZW9yZGVyX3BpY3Mgb3V0IG9mIHJhbmdlOiAlZAoASW52YWxpZCB2YWx1ZSAlZCBmb3IgbG9nMl9taW5fY2Jfc2l6ZQBJbnZhbGlkIHZhbHVlICVkIGZvciBsb2cyX2RpZmZfbWF4X21pbl9jb2RpbmdfYmxvY2tfc2l6ZQBJbnZhbGlkIHZhbHVlIGZvciBsb2cyX21pbl90Yl9zaXplAEludmFsaWQgdmFsdWUgJWQgZm9yIGxvZzJfZGlmZl9tYXhfbWluX3RyYW5zZm9ybV9ibG9ja19zaXplAFBDTSBiaXQgZGVwdGggKCVkLCAlZCkgaXMgZ3JlYXRlciB0aGFuIG5vcm1hbCBiaXQgZGVwdGggKCVkKQoAVG9vIG1hbnkgc2hvcnQgdGVybSBSUFM6ICVkLgoAVG9vIG1hbnkgbG9uZyB0ZXJtIHJlZiBwaWNzOiAlZC4KAGV4dGVuZGVkX3ByZWNpc2lvbl9wcm9jZXNzaW5nX2ZsYWcgbm90IHlldCBpbXBsZW1lbnRlZAoAaGlnaF9wcmVjaXNpb25fb2Zmc2V0c19lbmFibGVkX2ZsYWcgbm90IHlldCBpbXBsZW1lbnRlZAoAY2FiYWNfYnlwYXNzX2FsaWdubWVudF9lbmFibGVkX2ZsYWcgbm90IHlldCBpbXBsZW1lbnRlZAoASW52YWxpZCBjcm9wcGluZyBvZmZzZXRzOiAldS8ldS8ldS8ldQoARGlzcGxheWluZyB0aGUgd2hvbGUgdmlkZW8gc3VyZmFjZS4KAENUQiBzaXplIG91dCBvZiByYW5nZTogMl4lZAoAbG9nMl9jdGJfc2l6ZSAlZCBkaWZmZXJzIGZyb20gdGhlIGJvdW5kcyBvZiBhbnkga25vd24gcHJvZmlsZQoAbG9nMl9jdGJfc2l6ZSAlZABJbnZhbGlkIGNvZGVkIGZyYW1lIGRpbWVuc2lvbnMuCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciBvdXQgb2YgcmFuZ2U6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRyYSBvdXQgb2YgcmFuZ2U6ICVkCgBtYXggdHJhbnNmb3JtIGJsb2NrIHNpemUgb3V0IG9mIHJhbmdlOiAlZAoAT3ZlcnJlYWQgU1BTIGJ5ICVkIGJpdHMKAERlY29kaW5nIFZVSQoAVW5rbm93biBTQVIgaW5kZXg6ICV1LgoASW52YWxpZCBkZWZhdWx0IGRpc3BsYXkgd2luZG93CgBkaXNjYXJkaW5nIHZ1aSBkZWZhdWx0IGRpc3BsYXkgd2luZG93LCBvcmlnaW5hbCB2YWx1ZXMgYXJlIGw6JXUgcjoldSB0OiV1IGI6JXUKAFN0cmFuZ2UgVlVJIHRpbWluZyBpbmZvcm1hdGlvbiwgcmV0cnlpbmcuLi4KAFJldHJ5IGdvdCAldS8ldSBmcHMKAFN0cmFuZ2UgVlVJIGJpdHN0cmVhbSByZXN0cmljdGlvbiBpbmZvcm1hdGlvbiwgcmV0cnlpbmcgZnJvbSB0aW1pbmcgaW5mb3JtYXRpb24uLi4KAE92ZXJyZWFkIGluIFZVSSwgcmV0cnlpbmcgZnJvbSB0aW1pbmcgaW5mb3JtYXRpb24uLi4KAG5iX2NwYiAlZCBpbnZhbGlkCgBJbnZhbGlkIHZhbHVlIG9mIGRlbHRhX2lkeCBpbiBzbGljZSBoZWFkZXIgUlBTOiAlZCA+ICVkLgoASW52YWxpZCB2YWx1ZSBvZiBhYnNfZGVsdGFfcnBzOiAlZAoASW52YWxpZCBudW1fZGVsdGFfcG9jczogJWQKAFRvbyBtYW55IHJlZnMgaW4gYSBzaG9ydCB0ZXJtIFJQUy4KAEludmFsaWQgdmFsdWUgb2YgZGVsdGFfcG9jOiAlZAoAVGhlIGZvbGxvd2luZyBiaXQtZGVwdGhzIGFyZSBjdXJyZW50bHkgc3BlY2lmaWVkOiA4LCA5LCAxMCBhbmQgMTIgYml0cywgY2hyb21hX2Zvcm1hdF9pZGMgaXMgJWQsIGRlcHRoIGlzICVkCgBQVEwgaW5mb3JtYXRpb24gdG9vIHNob3J0CgBQVEwgaW5mb3JtYXRpb24gZm9yIHN1YmxheWVyICVpIHRvbyBzaG9ydAoATm90IGVub3VnaCBkYXRhIGZvciBzdWJsYXllciAlaSBsZXZlbF9pZGMKAE1haW4gcHJvZmlsZSBiaXRzdHJlYW0KAE1haW4gMTAgcHJvZmlsZSBiaXRzdHJlYW0KAE1haW4gU3RpbGwgUGljdHVyZSBwcm9maWxlIGJpdHN0cmVhbQoAUmFuZ2UgRXh0ZW5zaW9uIHByb2ZpbGUgYml0c3RyZWFtCgBVbmtub3duIEhFVkMgcHJvZmlsZTogJWQKAERlY29kaW5nIFZQUwoAVHJ1bmNhdGluZyBsaWtlbHkgb3ZlcnNpemVkIFZQUyAoJXRkID4gJXp1KQoAdnBzX3Jlc2VydmVkX3RocmVlXzJiaXRzIGlzIG5vdCB0aHJlZQoAdnBzX3Jlc2VydmVkX2ZmZmZfMTZiaXRzIGlzIG5vdCAweGZmZmYKAHZwc19tYXhfc3ViX2xheWVycyBvdXQgb2YgcmFuZ2U6ICVkCgB2cHNfbWF4X2RlY19waWNfYnVmZmVyaW5nX21pbnVzMSBvdXQgb2YgcmFuZ2U6ICVkCgB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3Mgb3V0IG9mIHJhbmdlOiAlZAoAdG9vIG1hbnkgbGF5ZXJfaWRfaW5jbHVkZWRfZmxhZ3MKAHZwc19udW1faHJkX3BhcmFtZXRlcnMgJWQgaXMgaW52YWxpZAoAT3ZlcnJlYWQgVlBTIGJ5ICVkIGJpdHMKAGJ1Zl9zaXplID49IDAAbGliYXZjb2RlYy9ieXRlc3RyZWFtLmgASW52YWxpZCBOQUwgdW5pdCBzaXplIGluIGV4dHJhZGF0YS4KAERlY29kaW5nIG5hbCB1bml0ICVkICVkIGZyb20gaHZjQyBmYWlsZWQKAElnbm9yaW5nIE5BTCB0eXBlICVkIGluIGV4dHJhZGF0YQoAL2Rldi91cmFuZG9tAC9kZXYvcmFuZG9tAHNpemVvZih0bXApID49IGF2X3NoYV9zaXplAGxpYmF2dXRpbC9yYW5kb21fc2VlZC5jAIAARmFpbGVkIHRvIHNldCBjbG9zZSBvbiBleGVjCgAgCgkNAEFMTABGTABmcm9udCBsZWZ0AEZSAGZyb250IHJpZ2h0AEZDAGZyb250IGNlbnRlcgBMRkUAbG93IGZyZXF1ZW5jeQBCTABiYWNrIGxlZnQAQlIAYmFjayByaWdodABGTEMAZnJvbnQgbGVmdC1vZi1jZW50ZXIARlJDAGZyb250IHJpZ2h0LW9mLWNlbnRlcgBCQwBiYWNrIGNlbnRlcgBTTABzaWRlIGxlZnQAU1IAc2lkZSByaWdodABUQwB0b3AgY2VudGVyAFRGTAB0b3AgZnJvbnQgbGVmdABURkMAdG9wIGZyb250IGNlbnRlcgBURlIAdG9wIGZyb250IHJpZ2h0AFRCTAB0b3AgYmFjayBsZWZ0AFRCQwB0b3AgYmFjayBjZW50ZXIAVEJSAHRvcCBiYWNrIHJpZ2h0AERMAGRvd25taXggbGVmdABEUgBkb3dubWl4IHJpZ2h0AFdMAHdpZGUgbGVmdABXUgB3aWRlIHJpZ2h0AFNETABzdXJyb3VuZCBkaXJlY3QgbGVmdABTRFIAc3Vycm91bmQgZGlyZWN0IHJpZ2h0AExGRTIAbG93IGZyZXF1ZW5jeSAyAG1vbm8Ac3RlcmVvADIuMQAzLjAAMy4wKGJhY2spADQuMABxdWFkAHF1YWQoc2lkZSkAMy4xADUuMAA1LjAoc2lkZSkANC4xADUuMQA1LjEoc2lkZSkANi4wADYuMChmcm9udCkAaGV4YWdvbmFsADYuMQA2LjEoYmFjaykANi4xKGZyb250KQA3LjAANy4wKGZyb250KQA3LjEANy4xKHdpZGUpADcuMSh3aWRlLXNpZGUpAG9jdGFnb25hbABoZXhhZGVjYWdvbmFsAGRvd25taXgAJXMAJWQgY2hhbm5lbHMAICgAKwApACVkJSoxWzovXSVkJWMAY29uc3RfdmFsdWVzIGFycmF5IHRvbyBzbWFsbCBmb3IgJXMKAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIgoAJWYKAEludmFsaWQgY2hhcnMgJyVzJyBhdCB0aGUgZW5kIG9mIGV4cHJlc3Npb24gJyVzJwoAVW5kZWZpbmVkIGNvbnN0YW50IG9yIG1pc3NpbmcgJygnIGluICclcycKAE1pc3NpbmcgJyknIGluICclcycKAE1pc3NpbmcgJyknIG9yIHRvbyBtYW55IGFyZ3MgaW4gJyVzJwoAc2luaABjb3NoAHRhbmgAc2luAGNvcwB0YW4AYXRhbgBhc2luAGFjb3MAZXhwAGFicwB0aW1lAHNxdWlzaABnYXVzcwBtb2QAbWF4AG1pbgBlcQBndGUAZ3QAbHRlAGx0AGxkAGlzbmFuAGlzaW5mAHN0AHdoaWxlAHRheWxvcgByb290AGZsb29yAGNlaWwAcm91bmQAc3FydABub3QAcG93AHByaW50AGh5cG90AGdjZABpZgBpZm5vdABiaXRhbmQAYml0b3IAYmV0d2VlbgBjbGlwAGF0YW4yAGxlcnAAVW5rbm93biBmdW5jdGlvbiBpbiAnJXMnCgBFAFBJAFBISQBRUDJMQU1CREEARXZhbABWYWx1ZSAlZiBmb3IgcGFyYW1ldGVyICclcycgb3V0IG9mIHJhbmdlIFslZyAtICVnXQoAVmFsdWUgJWYgZm9yIHBhcmFtZXRlciAnJXMnIGlzIG5vdCBhIHZhbGlkIHNldCBvZiAzMmJpdCBpbnRlZ2VyIGZsYWdzCgBkZXRlY3RlZCAlZCBsb2dpY2FsIGNvcmVzCgAAARwCHQ4YAx4WFA8ZEQQIHxsNFxUTEAcaDBIGCwUKCVVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyBkdXJhdGlvbgoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGNoYW5uZWwgbGF5b3V0CgBJbnZhbGlkIG9wdGlvbiB0eXBlLgoAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGNvbG9yCgAweAByYW5kb20AYmlrZXNoZWQAMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZgBJbnZhbGlkIDB4UlJHR0JCW0FBXSBjb2xvciBzdHJpbmc6ICclcycKAENhbm5vdCBmaW5kIGNvbG9yICclcycKAEludmFsaWQgYWxwaGEgdmFsdWUgc3BlY2lmaWVyICclcycgaW4gJyVzJwoAQWxpY2VCbHVlAEFudGlxdWVXaGl0ZQBBcXVhAEFxdWFtYXJpbmUAQXp1cmUAQmVpZ2UAQmlzcXVlAEJsYWNrAEJsYW5jaGVkQWxtb25kAEJsdWUAQmx1ZVZpb2xldABCcm93bgBCdXJseVdvb2QAQ2FkZXRCbHVlAENoYXJ0cmV1c2UAQ2hvY29sYXRlAENvcmFsAENvcm5mbG93ZXJCbHVlAENvcm5zaWxrAENyaW1zb24AQ3lhbgBEYXJrQmx1ZQBEYXJrQ3lhbgBEYXJrR29sZGVuUm9kAERhcmtHcmF5AERhcmtHcmVlbgBEYXJrS2hha2kARGFya01hZ2VudGEARGFya09saXZlR3JlZW4ARGFya29yYW5nZQBEYXJrT3JjaGlkAERhcmtSZWQARGFya1NhbG1vbgBEYXJrU2VhR3JlZW4ARGFya1NsYXRlQmx1ZQBEYXJrU2xhdGVHcmF5AERhcmtUdXJxdW9pc2UARGFya1Zpb2xldABEZWVwUGluawBEZWVwU2t5Qmx1ZQBEaW1HcmF5AERvZGdlckJsdWUARmlyZUJyaWNrAEZsb3JhbFdoaXRlAEZvcmVzdEdyZWVuAEZ1Y2hzaWEAR2FpbnNib3JvAEdob3N0V2hpdGUAR29sZABHb2xkZW5Sb2QAR3JheQBHcmVlbgBHcmVlblllbGxvdwBIb25leURldwBIb3RQaW5rAEluZGlhblJlZABJbmRpZ28ASXZvcnkAS2hha2kATGF2ZW5kZXIATGF2ZW5kZXJCbHVzaABMYXduR3JlZW4ATGVtb25DaGlmZm9uAExpZ2h0Qmx1ZQBMaWdodENvcmFsAExpZ2h0Q3lhbgBMaWdodEdvbGRlblJvZFllbGxvdwBMaWdodEdyZWVuAExpZ2h0R3JleQBMaWdodFBpbmsATGlnaHRTYWxtb24ATGlnaHRTZWFHcmVlbgBMaWdodFNreUJsdWUATGlnaHRTbGF0ZUdyYXkATGlnaHRTdGVlbEJsdWUATGlnaHRZZWxsb3cATGltZQBMaW1lR3JlZW4ATGluZW4ATWFnZW50YQBNYXJvb24ATWVkaXVtQXF1YU1hcmluZQBNZWRpdW1CbHVlAE1lZGl1bU9yY2hpZABNZWRpdW1QdXJwbGUATWVkaXVtU2VhR3JlZW4ATWVkaXVtU2xhdGVCbHVlAE1lZGl1bVNwcmluZ0dyZWVuAE1lZGl1bVR1cnF1b2lzZQBNZWRpdW1WaW9sZXRSZWQATWlkbmlnaHRCbHVlAE1pbnRDcmVhbQBNaXN0eVJvc2UATW9jY2FzaW4ATmF2YWpvV2hpdGUATmF2eQBPbGRMYWNlAE9saXZlAE9saXZlRHJhYgBPcmFuZ2UAT3JhbmdlUmVkAE9yY2hpZABQYWxlR29sZGVuUm9kAFBhbGVHcmVlbgBQYWxlVHVycXVvaXNlAFBhbGVWaW9sZXRSZWQAUGFwYXlhV2hpcABQZWFjaFB1ZmYAUGVydQBQaW5rAFBsdW0AUG93ZGVyQmx1ZQBQdXJwbGUAUmVkAFJvc3lCcm93bgBSb3lhbEJsdWUAU2FkZGxlQnJvd24AU2FsbW9uAFNhbmR5QnJvd24AU2VhR3JlZW4AU2VhU2hlbGwAU2llbm5hAFNpbHZlcgBTa3lCbHVlAFNsYXRlQmx1ZQBTbGF0ZUdyYXkAU25vdwBTcHJpbmdHcmVlbgBTdGVlbEJsdWUAVGFuAFRlYWwAVGhpc3RsZQBUb21hdG8AVHVycXVvaXNlAFZpb2xldABXaGVhdABXaGl0ZQBXaGl0ZVNtb2tlAFllbGxvdwBZZWxsb3dHcmVlbgBub3cAJUo6JU06JVMAJU06JVMAJUg6JU0AJUglTQAlSAAlSDolTTolUwAlSCVNJVMAamFudWFyeQBmZWJydWFyeQBtYXJjaABhcHJpbABtYXkAanVuZQBqdWx5AGF1Z3VzdABzZXB0ZW1iZXIAb2N0b2JlcgBub3ZlbWJlcgBkZWNlbWJlcgAlWSAtICVtIC0gJWQAJVklbSVkAHNhbXBsZSBmb3JtYXQAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzICVzCgBWYWx1ZSAlZCBmb3IgcGFyYW1ldGVyICclcycgb3V0IG9mICVzIGZvcm1hdCByYW5nZSBbJWQgLSAlZF0KAHBpeGVsIGZvcm1hdAByZ2IzMgBiZ3IzMgAlcyVzAGxlAHZhYXBpAFVuYWJsZSB0byBwYXJzZSBvcHRpb24gdmFsdWUgIiVzIiBhcyB2aWRlbyByYXRlCgAlZDolZCVjAG50c2MAcGFsAHFudHNjAHFwYWwAc250c2MAc3BhbABudHNjLWZpbG0AVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGltYWdlIHNpemUKAHNxY2lmAHFjaWYAY2lmADRjaWYAMTZjaWYAcXF2Z2EAcXZnYQB2Z2EAc3ZnYQB4Z2EAdXhnYQBxeGdhAHN4Z2EAcXN4Z2EAaHN4Z2EAd3ZnYQB3eGdhAHdzeGdhAHd1eGdhAHdveGdhAHdxc3hnYQB3cXV4Z2EAd2hzeGdhAHdodXhnYQBjZ2EAZWdhAGhkNDgwAGhkNzIwAGhkMTA4MAAyawAya2RjaQAya2ZsYXQAMmtzY29wZQA0awA0a2RjaQA0a2ZsYXQANGtzY29wZQBuaGQAaHF2Z2EAd3F2Z2EAZndxdmdhAGh2Z2EAcWhkAHVoZDIxNjAAdWhkNDMyMAB0cnVlLHkseWVzLGVuYWJsZSxlbmFibGVkLG9uAGZhbHNlLG4sbm8sZGlzYWJsZSxkaXNhYmxlZCxvZmYAVW5hYmxlIHRvIHBhcnNlIG9wdGlvbiB2YWx1ZSAiJXMiIGFzIGJvb2xlYW4KAEFWT3B0aW9uIHR5cGUgJWQgb2Ygb3B0aW9uICVzIG5vdCBpbXBsZW1lbnRlZCB5ZXQKAEVycm9yIHNldHRpbmcgb3B0aW9uICVzIHRvIHZhbHVlICVzLgoAbmJfdGhyZWFkcyA+PSAwAGxpYmF2dXRpbC9zbGljZXRocmVhZC5jAG5iX2pvYnMgPiAwAEZpbmFsIHRocmVhZCB1cGRhdGUgZmFpbGVkCgBwLT5hdmN0eC0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8gfHwgcC0+YXZjdHgtPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPAGxpYmF2Y29kZWMvcHRocmVhZF9mcmFtZS5jAGZjdHgtPmFzeW5jX2xvY2sAQXNzZXJ0aW9uICVzIGZhaWxlZCBhdCAlczolZAoAcmV0ID49IDAAbGliYXZjb2RlYy9vcHRpb25zLmMAQVZDb2RlY0NvbnRleHQAYgBzZXQgYml0cmF0ZSAoaW4gYml0cy9zKQBhYgBidABTZXQgdmlkZW8gYml0cmF0ZSB0b2xlcmFuY2UgKGluIGJpdHMvcykuIEluIDEtcGFzcyBtb2RlLCBiaXRyYXRlIHRvbGVyYW5jZSBzcGVjaWZpZXMgaG93IGZhciByYXRlY29udHJvbCBpcyB3aWxsaW5nIHRvIGRldmlhdGUgZnJvbSB0aGUgdGFyZ2V0IGF2ZXJhZ2UgYml0cmF0ZSB2YWx1ZS4gVGhpcyBpcyBub3QgcmVsYXRlZCB0byBtaW5pbXVtL21heGltdW0gYml0cmF0ZS4gTG93ZXJpbmcgdG9sZXJhbmNlIHRvbyBtdWNoIGhhcyBhbiBhZHZlcnNlIGVmZmVjdCBvbiBxdWFsaXR5LgBmbGFncwB1bmFsaWduZWQAYWxsb3cgZGVjb2RlcnMgdG8gcHJvZHVjZSB1bmFsaWduZWQgb3V0cHV0AG12NAB1c2UgZm91ciBtb3Rpb24gdmVjdG9ycyBwZXIgbWFjcm9ibG9jayAoTVBFRy00KQBxcGVsAHVzZSAxLzQtcGVsIG1vdGlvbiBjb21wZW5zYXRpb24AbG9vcAB1c2UgbG9vcCBmaWx0ZXIAcXNjYWxlAHVzZSBmaXhlZCBxc2NhbGUAcGFzczEAdXNlIGludGVybmFsIDItcGFzcyByYXRlY29udHJvbCBpbiBmaXJzdCAgcGFzcyBtb2RlAHBhc3MyAHVzZSBpbnRlcm5hbCAyLXBhc3MgcmF0ZWNvbnRyb2wgaW4gc2Vjb25kIHBhc3MgbW9kZQBncmF5AG9ubHkgZGVjb2RlL2VuY29kZSBncmF5c2NhbGUAcHNucgBlcnJvcls/XSB2YXJpYWJsZXMgd2lsbCBiZSBzZXQgZHVyaW5nIGVuY29kaW5nAHRydW5jYXRlZABJbnB1dCBiaXRzdHJlYW0gbWlnaHQgYmUgcmFuZG9tbHkgdHJ1bmNhdGVkAGlsZGN0AHVzZSBpbnRlcmxhY2VkIERDVABsb3dfZGVsYXkAZm9yY2UgbG93IGRlbGF5AGdsb2JhbF9oZWFkZXIAcGxhY2UgZ2xvYmFsIGhlYWRlcnMgaW4gZXh0cmFkYXRhIGluc3RlYWQgb2YgZXZlcnkga2V5ZnJhbWUAYml0ZXhhY3QAdXNlIG9ubHkgYml0ZXhhY3QgZnVuY3Rpb25zIChleGNlcHQgKEkpRENUKQBhaWMASC4yNjMgYWR2YW5jZWQgaW50cmEgY29kaW5nIC8gTVBFRy00IEFDIHByZWRpY3Rpb24AaWxtZQBpbnRlcmxhY2VkIG1vdGlvbiBlc3RpbWF0aW9uAGNnb3AAY2xvc2VkIEdPUABvdXRwdXRfY29ycnVwdABPdXRwdXQgZXZlbiBwb3RlbnRpYWxseSBjb3JydXB0ZWQgZnJhbWVzAGZhc3QAYWxsb3cgbm9uLXNwZWMtY29tcGxpYW50IHNwZWVkdXAgdHJpY2tzAGZsYWdzMgBub291dABza2lwIGJpdHN0cmVhbSBlbmNvZGluZwBpZ25vcmVjcm9wAGlnbm9yZSBjcm9wcGluZyBpbmZvcm1hdGlvbiBmcm9tIHNwcwBsb2NhbF9oZWFkZXIAcGxhY2UgZ2xvYmFsIGhlYWRlcnMgYXQgZXZlcnkga2V5ZnJhbWUgaW5zdGVhZCBvZiBpbiBleHRyYWRhdGEAY2h1bmtzAEZyYW1lIGRhdGEgbWlnaHQgYmUgc3BsaXQgaW50byBtdWx0aXBsZSBjaHVua3MAc2hvd2FsbABTaG93IGFsbCBmcmFtZXMgYmVmb3JlIHRoZSBmaXJzdCBrZXlmcmFtZQBleHBvcnRfbXZzAGV4cG9ydCBtb3Rpb24gdmVjdG9ycyB0aHJvdWdoIGZyYW1lIHNpZGUgZGF0YQBza2lwX21hbnVhbABkbyBub3Qgc2tpcCBzYW1wbGVzIGFuZCBleHBvcnQgc2tpcCBpbmZvcm1hdGlvbiBhcyBmcmFtZSBzaWRlIGRhdGEAYXNzX3JvX2ZsdXNoX25vb3AAZG8gbm90IHJlc2V0IEFTUyBSZWFkT3JkZXIgZmllbGQgb24gZmx1c2gAdGltZV9iYXNlAGcAc2V0IHRoZSBncm91cCBvZiBwaWN0dXJlIChHT1ApIHNpemUAYXIAc2V0IGF1ZGlvIHNhbXBsaW5nIHJhdGUgKGluIEh6KQBhYwBzZXQgbnVtYmVyIG9mIGF1ZGlvIGNoYW5uZWxzAGN1dG9mZgBzZXQgY3V0b2ZmIGJhbmR3aWR0aABmcmFtZV9zaXplAGZyYW1lX251bWJlcgBkZWxheQBxY29tcAB2aWRlbyBxdWFudGl6ZXIgc2NhbGUgY29tcHJlc3Npb24gKFZCUikuIENvbnN0YW50IG9mIHJhdGVjb250cm9sIGVxdWF0aW9uLiBSZWNvbW1lbmRlZCByYW5nZSBmb3IgZGVmYXVsdCByY19lcTogMC4wLTEuMABxYmx1cgB2aWRlbyBxdWFudGl6ZXIgc2NhbGUgYmx1ciAoVkJSKQBxbWluAG1pbmltdW0gdmlkZW8gcXVhbnRpemVyIHNjYWxlIChWQlIpAHFtYXgAbWF4aW11bSB2aWRlbyBxdWFudGl6ZXIgc2NhbGUgKFZCUikAcWRpZmYAbWF4aW11bSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHF1YW50aXplciBzY2FsZXMgKFZCUikAYmYAc2V0IG1heGltdW0gbnVtYmVyIG9mIEItZnJhbWVzIGJldHdlZW4gbm9uLUItZnJhbWVzAGJfcWZhY3RvcgBRUCBmYWN0b3IgYmV0d2VlbiBQLSBhbmQgQi1mcmFtZXMAYl9zdHJhdGVneQBzdHJhdGVneSB0byBjaG9vc2UgYmV0d2VlbiBJL1AvQi1mcmFtZXMAcHMAUlRQIHBheWxvYWQgc2l6ZSBpbiBieXRlcwBtdl9iaXRzAGhlYWRlcl9iaXRzAGlfdGV4X2JpdHMAcF90ZXhfYml0cwBpX2NvdW50AHBfY291bnQAc2tpcF9jb3VudABtaXNjX2JpdHMAZnJhbWVfYml0cwBjb2RlY190YWcAYnVnAHdvcmsgYXJvdW5kIG5vdCBhdXRvZGV0ZWN0ZWQgZW5jb2RlciBidWdzAGF1dG9kZXRlY3QAeHZpZF9pbGFjZQBYdmlkIGludGVybGFjaW5nIGJ1ZyAoYXV0b2RldGVjdGVkIGlmIEZPVVJDQyA9PSBYVklYKQB1bXA0AChhdXRvZGV0ZWN0ZWQgaWYgRk9VUkNDID09IFVNUDQpAG5vX3BhZGRpbmcAcGFkZGluZyBidWcgKGF1dG9kZXRlY3RlZCkAYW12AHFwZWxfY2hyb21hAHN0ZF9xcGVsAG9sZCBzdGFuZGFyZCBxcGVsIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBxcGVsX2Nocm9tYTIAZGlyZWN0X2Jsb2Nrc2l6ZQBkaXJlY3QtcXBlbC1ibG9ja3NpemUgYnVnIChhdXRvZGV0ZWN0ZWQgcGVyIEZPVVJDQy92ZXJzaW9uKQBlZGdlAGVkZ2UgcGFkZGluZyBidWcgKGF1dG9kZXRlY3RlZCBwZXIgRk9VUkNDL3ZlcnNpb24pAGhwZWxfY2hyb21hAGRjX2NsaXAAbXMAd29yayBhcm91bmQgdmFyaW91cyBidWdzIGluIE1pY3Jvc29mdCdzIGJyb2tlbiBkZWNvZGVycwB0cnVuYwB0cnVuY2F0ZWQgZnJhbWVzAGllZGdlAHN0cmljdABob3cgc3RyaWN0bHkgdG8gZm9sbG93IHRoZSBzdGFuZGFyZHMAdmVyeQBzdHJpY3RseSBjb25mb3JtIHRvIGEgb2xkZXIgbW9yZSBzdHJpY3QgdmVyc2lvbiBvZiB0aGUgc3BlYyBvciByZWZlcmVuY2Ugc29mdHdhcmUAc3RyaWN0bHkgY29uZm9ybSB0byBhbGwgdGhlIHRoaW5ncyBpbiB0aGUgc3BlYyBubyBtYXR0ZXIgd2hhdCB0aGUgY29uc2VxdWVuY2VzAG5vcm1hbAB1bm9mZmljaWFsAGFsbG93IHVub2ZmaWNpYWwgZXh0ZW5zaW9ucwBleHBlcmltZW50YWwAYWxsb3cgbm9uLXN0YW5kYXJkaXplZCBleHBlcmltZW50YWwgdGhpbmdzAGJfcW9mZnNldABRUCBvZmZzZXQgYmV0d2VlbiBQLSBhbmQgQi1mcmFtZXMAZXJyX2RldGVjdABzZXQgZXJyb3IgZGV0ZWN0aW9uIGZsYWdzAGNyY2NoZWNrAHZlcmlmeSBlbWJlZGRlZCBDUkNzAGJpdHN0cmVhbQBkZXRlY3QgYml0c3RyZWFtIHNwZWNpZmljYXRpb24gZGV2aWF0aW9ucwBidWZmZXIAZGV0ZWN0IGltcHJvcGVyIGJpdHN0cmVhbSBsZW5ndGgAZXhwbG9kZQBhYm9ydCBkZWNvZGluZyBvbiBtaW5vciBlcnJvciBkZXRlY3Rpb24AaWdub3JlX2VycgBpZ25vcmUgZXJyb3JzAGNhcmVmdWwAY29uc2lkZXIgdGhpbmdzIHRoYXQgdmlvbGF0ZSB0aGUgc3BlYywgYXJlIGZhc3QgdG8gY2hlY2sgYW5kIGhhdmUgbm90IGJlZW4gc2VlbiBpbiB0aGUgd2lsZCBhcyBlcnJvcnMAY29tcGxpYW50AGNvbnNpZGVyIGFsbCBzcGVjIG5vbiBjb21wbGlhbmNpZXMgYXMgZXJyb3JzAGFnZ3Jlc3NpdmUAY29uc2lkZXIgdGhpbmdzIHRoYXQgYSBzYW5lIGVuY29kZXIgc2hvdWxkIG5vdCBkbyBhcyBhbiBlcnJvcgBoYXNfYl9mcmFtZXMAYmxvY2tfYWxpZ24AbXBlZ19xdWFudAB1c2UgTVBFRyBxdWFudGl6ZXJzIGluc3RlYWQgb2YgSC4yNjMAcmNfb3ZlcnJpZGVfY291bnQAbWF4cmF0ZQBtYXhpbXVtIGJpdHJhdGUgKGluIGJpdHMvcykuIFVzZWQgZm9yIFZCViB0b2dldGhlciB3aXRoIGJ1ZnNpemUuAG1pbnJhdGUAbWluaW11bSBiaXRyYXRlIChpbiBiaXRzL3MpLiBNb3N0IHVzZWZ1bCBpbiBzZXR0aW5nIHVwIGEgQ0JSIGVuY29kZS4gSXQgaXMgb2YgbGl0dGxlIHVzZSBvdGhlcndpc2UuAGJ1ZnNpemUAc2V0IHJhdGVjb250cm9sIGJ1ZmZlciBzaXplIChpbiBiaXRzKQBpX3FmYWN0b3IAUVAgZmFjdG9yIGJldHdlZW4gUC0gYW5kIEktZnJhbWVzAGlfcW9mZnNldABRUCBvZmZzZXQgYmV0d2VlbiBQLSBhbmQgSS1mcmFtZXMAZGN0AERDVCBhbGdvcml0aG0AYXV0bwBhdXRvc2VsZWN0IGEgZ29vZCBvbmUAZmFzdGludABmYXN0IGludGVnZXIAYWNjdXJhdGUgaW50ZWdlcgBtbXgAYWx0aXZlYwBmYWFuAGZsb2F0aW5nIHBvaW50IEFBTiBEQ1QAbHVtaV9tYXNrAGNvbXByZXNzZXMgYnJpZ2h0IGFyZWFzIHN0cm9uZ2VyIHRoYW4gbWVkaXVtIG9uZXMAdGNwbHhfbWFzawB0ZW1wb3JhbCBjb21wbGV4aXR5IG1hc2tpbmcAc2NwbHhfbWFzawBzcGF0aWFsIGNvbXBsZXhpdHkgbWFza2luZwBwX21hc2sAaW50ZXIgbWFza2luZwBkYXJrX21hc2sAY29tcHJlc3NlcyBkYXJrIGFyZWFzIHN0cm9uZ2VyIHRoYW4gbWVkaXVtIG9uZXMAaWRjdABzZWxlY3QgSURDVCBpbXBsZW1lbnRhdGlvbgBzaW1wbGUAc2ltcGxlbW14AGFybQBzaW1wbGVhcm0Ac2ltcGxlYXJtdjV0ZQBzaW1wbGVhcm12NgBzaW1wbGVuZW9uAHh2aWQAeHZpZG1teABkZXByZWNhdGVkLCBmb3IgY29tcGF0aWJpbGl0eSBvbmx5AGZhYW5pAGZsb2F0aW5nIHBvaW50IEFBTiBJRENUAHNpbXBsZWF1dG8Ac2xpY2VfY291bnQAZWMAc2V0IGVycm9yIGNvbmNlYWxtZW50IHN0cmF0ZWd5AGd1ZXNzX212cwBpdGVyYXRpdmUgbW90aW9uIHZlY3RvciAoTVYpIHNlYXJjaCAoc2xvdykAZGVibG9jawB1c2Ugc3Ryb25nIGRlYmxvY2sgZmlsdGVyIGZvciBkYW1hZ2VkIE1CcwBmYXZvcl9pbnRlcgBmYXZvciBwcmVkaWN0aW5nIGZyb20gdGhlIHByZXZpb3VzIGZyYW1lAGJpdHNfcGVyX2NvZGVkX3NhbXBsZQBwcmVkAHByZWRpY3Rpb24gbWV0aG9kAGxlZnQAcGxhbmUAbWVkaWFuAGFzcGVjdABzYW1wbGUgYXNwZWN0IHJhdGlvAHNhcgBkZWJ1ZwBwcmludCBzcGVjaWZpYyBkZWJ1ZyBpbmZvAHBpY3QAcGljdHVyZSBpbmZvAHJjAHJhdGUgY29udHJvbABtYl90eXBlAG1hY3JvYmxvY2sgKE1CKSB0eXBlAHFwAHBlci1ibG9jayBxdWFudGl6YXRpb24gcGFyYW1ldGVyIChRUCkAZGN0X2NvZWZmAGdyZWVuX21ldGFkYXRhAHNraXAAc3RhcnRjb2RlAGVyAGVycm9yIHJlY29nbml0aW9uAG1tY28AbWVtb3J5IG1hbmFnZW1lbnQgY29udHJvbCBvcGVyYXRpb25zIChILjI2NCkAYnVncwBidWZmZXJzAHBpY3R1cmUgYnVmZmVyIGFsbG9jYXRpb25zAHRocmVhZF9vcHMAdGhyZWFkaW5nIG9wZXJhdGlvbnMAbm9tYwBza2lwIG1vdGlvbiBjb21wZW5zYXRpb24AY21wAGZ1bGwtcGVsIE1FIGNvbXBhcmUgZnVuY3Rpb24AY21wX2Z1bmMAc3ViY21wAHN1Yi1wZWwgTUUgY29tcGFyZSBmdW5jdGlvbgBtYmNtcABtYWNyb2Jsb2NrIGNvbXBhcmUgZnVuY3Rpb24AaWxkY3RjbXAAaW50ZXJsYWNlZCBEQ1QgY29tcGFyZSBmdW5jdGlvbgBkaWFfc2l6ZQBkaWFtb25kIHR5cGUgJiBzaXplIGZvciBtb3Rpb24gZXN0aW1hdGlvbgBsYXN0X3ByZWQAYW1vdW50IG9mIG1vdGlvbiBwcmVkaWN0b3JzIGZyb20gdGhlIHByZXZpb3VzIGZyYW1lAHByZW1lAHByZSBtb3Rpb24gZXN0aW1hdGlvbgBwcmVjbXAAcHJlIG1vdGlvbiBlc3RpbWF0aW9uIGNvbXBhcmUgZnVuY3Rpb24Ac2FkAHN1bSBvZiBhYnNvbHV0ZSBkaWZmZXJlbmNlcywgZmFzdABzc2UAc3VtIG9mIHNxdWFyZWQgZXJyb3JzAHNhdGQAc3VtIG9mIGFic29sdXRlIEhhZGFtYXJkIHRyYW5zZm9ybWVkIGRpZmZlcmVuY2VzAHN1bSBvZiBhYnNvbHV0ZSBEQ1QgdHJhbnNmb3JtZWQgZGlmZmVyZW5jZXMAc3VtIG9mIHNxdWFyZWQgcXVhbnRpemF0aW9uIGVycm9ycyAoYXZvaWQsIGxvdyBxdWFsaXR5KQBiaXQAbnVtYmVyIG9mIGJpdHMgbmVlZGVkIGZvciB0aGUgYmxvY2sAcmQAcmF0ZSBkaXN0b3J0aW9uIG9wdGltYWwsIHNsb3cAemVybwAwAHZzYWQAc3VtIG9mIGFic29sdXRlIHZlcnRpY2FsIGRpZmZlcmVuY2VzAHZzc2UAc3VtIG9mIHNxdWFyZWQgdmVydGljYWwgZGlmZmVyZW5jZXMAbnNzZQBub2lzZSBwcmVzZXJ2aW5nIHN1bSBvZiBzcXVhcmVkIGRpZmZlcmVuY2VzAGRjdG1heABjaHJvbWEAbXNhZABzdW0gb2YgYWJzb2x1dGUgZGlmZmVyZW5jZXMsIG1lZGlhbiBwcmVkaWN0ZWQAcHJlX2RpYV9zaXplAGRpYW1vbmQgdHlwZSAmIHNpemUgZm9yIG1vdGlvbiBlc3RpbWF0aW9uIHByZS1wYXNzAHN1YnEAc3ViLXBlbCBtb3Rpb24gZXN0aW1hdGlvbiBxdWFsaXR5AG1lX3JhbmdlAGxpbWl0IG1vdGlvbiB2ZWN0b3JzIHJhbmdlICgxMDIzIGZvciBEaXZYIHBsYXllcikAZ2xvYmFsX3F1YWxpdHkAY29kZXIAdmxjAHZhcmlhYmxlIGxlbmd0aCBjb2RlciAvIEh1ZmZtYW4gY29kZXIAYXJpdGhtZXRpYyBjb2RlcgByYXcAcmF3IChubyBlbmNvZGluZykAcmxlAHJ1bi1sZW5ndGggY29kZXIAY29udGV4dABjb250ZXh0IG1vZGVsAHNsaWNlX2ZsYWdzAG1iZABtYWNyb2Jsb2NrIGRlY2lzaW9uIGFsZ29yaXRobSAoaGlnaCBxdWFsaXR5IG1vZGUpAHVzZSBtYmNtcABiaXRzAHVzZSBmZXdlc3QgYml0cwB1c2UgYmVzdCByYXRlIGRpc3RvcnRpb24Ac2NfdGhyZXNob2xkAHNjZW5lIGNoYW5nZSB0aHJlc2hvbGQAbnIAbm9pc2UgcmVkdWN0aW9uAHJjX2luaXRfb2NjdXBhbmN5AG51bWJlciBvZiBiaXRzIHdoaWNoIHNob3VsZCBiZSBsb2FkZWQgaW50byB0aGUgcmMgYnVmZmVyIGJlZm9yZSBkZWNvZGluZyBzdGFydHMAdGhyZWFkcwBzZXQgdGhlIG51bWJlciBvZiB0aHJlYWRzAGF1dG9kZXRlY3QgYSBzdWl0YWJsZSBudW1iZXIgb2YgdGhyZWFkcyB0byB1c2UAZGMAaW50cmFfZGNfcHJlY2lzaW9uAG5zc2V3AG5zc2Ugd2VpZ2h0AHNraXBfdG9wAG51bWJlciBvZiBtYWNyb2Jsb2NrIHJvd3MgYXQgdGhlIHRvcCB3aGljaCBhcmUgc2tpcHBlZABza2lwX2JvdHRvbQBudW1iZXIgb2YgbWFjcm9ibG9jayByb3dzIGF0IHRoZSBib3R0b20gd2hpY2ggYXJlIHNraXBwZWQAcHJvZmlsZQB1bmtub3duAGFhY19tYWluAGFhY19sb3cAYWFjX3NzcgBhYWNfbHRwAGFhY19oZQBhYWNfaGVfdjIAYWFjX2xkAGFhY19lbGQAbXBlZzJfYWFjX2xvdwBtcGVnMl9hYWNfaGUAZHRzAGR0c19lcwBkdHNfOTZfMjQAZHRzX2hkX2hyYQBkdHNfaGRfbWEAbXBlZzRfc3AAbXBlZzRfY29yZQBtcGVnNF9tYWluAG1wZWc0X2FzcABtYWluMTAAbXNiYwBsZXZlbABsb3dyZXMAZGVjb2RlIGF0IDE9IDEvMiwgMj0xLzQsIDM9MS84IHJlc29sdXRpb25zAHNraXBfdGhyZXNob2xkAGZyYW1lIHNraXAgdGhyZXNob2xkAHNraXBfZmFjdG9yAGZyYW1lIHNraXAgZmFjdG9yAHNraXBfZXhwAGZyYW1lIHNraXAgZXhwb25lbnQAc2tpcGNtcABmcmFtZSBza2lwIGNvbXBhcmUgZnVuY3Rpb24AbWJsbWluAG1pbmltdW0gbWFjcm9ibG9jayBMYWdyYW5nZSBmYWN0b3IgKFZCUikAbWJsbWF4AG1heGltdW0gbWFjcm9ibG9jayBMYWdyYW5nZSBmYWN0b3IgKFZCUikAbWVwYwBtb3Rpb24gZXN0aW1hdGlvbiBiaXRyYXRlIHBlbmFsdHkgY29tcGVuc2F0aW9uICgxLjAgPSAyNTYpAHNraXBfbG9vcF9maWx0ZXIAc2tpcCBsb29wIGZpbHRlcmluZyBwcm9jZXNzIGZvciB0aGUgc2VsZWN0ZWQgZnJhbWVzAGF2ZGlzY2FyZABza2lwX2lkY3QAc2tpcCBJRENUL2RlcXVhbnRpemF0aW9uIGZvciB0aGUgc2VsZWN0ZWQgZnJhbWVzAHNraXBfZnJhbWUAc2tpcCBkZWNvZGluZyBmb3IgdGhlIHNlbGVjdGVkIGZyYW1lcwBub25lAGRpc2NhcmQgbm8gZnJhbWUAZGVmYXVsdABkaXNjYXJkIHVzZWxlc3MgZnJhbWVzAG5vcmVmAGRpc2NhcmQgYWxsIG5vbi1yZWZlcmVuY2UgZnJhbWVzAGJpZGlyAGRpc2NhcmQgYWxsIGJpZGlyZWN0aW9uYWwgZnJhbWVzAG5va2V5AGRpc2NhcmQgYWxsIGZyYW1lcyBleGNlcHQga2V5ZnJhbWVzAG5vaW50cmEAZGlzY2FyZCBhbGwgZnJhbWVzIGV4Y2VwdCBJIGZyYW1lcwBhbGwAZGlzY2FyZCBhbGwgZnJhbWVzAGJpZGlyX3JlZmluZQByZWZpbmUgdGhlIHR3byBtb3Rpb24gdmVjdG9ycyB1c2VkIGluIGJpZGlyZWN0aW9uYWwgbWFjcm9ibG9ja3MAYnJkX3NjYWxlAGRvd25zY2FsZSBmcmFtZXMgZm9yIGR5bmFtaWMgQi1mcmFtZSBkZWNpc2lvbgBrZXlpbnRfbWluAG1pbmltdW0gaW50ZXJ2YWwgYmV0d2VlbiBJRFItZnJhbWVzAHJlZnMAcmVmZXJlbmNlIGZyYW1lcyB0byBjb25zaWRlciBmb3IgbW90aW9uIGNvbXBlbnNhdGlvbgBjaHJvbWFvZmZzZXQAY2hyb21hIFFQIG9mZnNldCBmcm9tIGx1bWEAdHJlbGxpcwByYXRlLWRpc3RvcnRpb24gb3B0aW1hbCBxdWFudGl6YXRpb24AbXYwX3RocmVzaG9sZABiX3NlbnNpdGl2aXR5AGFkanVzdCBzZW5zaXRpdml0eSBvZiBiX2ZyYW1lX3N0cmF0ZWd5IDEAY29tcHJlc3Npb25fbGV2ZWwAbWluX3ByZWRpY3Rpb25fb3JkZXIAbWF4X3ByZWRpY3Rpb25fb3JkZXIAdGltZWNvZGVfZnJhbWVfc3RhcnQAR09QIHRpbWVjb2RlIGZyYW1lIHN0YXJ0IG51bWJlciwgaW4gbm9uLWRyb3AtZnJhbWUgZm9ybWF0AGJpdHNfcGVyX3Jhd19zYW1wbGUAY2hhbm5lbF9sYXlvdXQAcmVxdWVzdF9jaGFubmVsX2xheW91dAByY19tYXhfdmJ2X3VzZQByY19taW5fdmJ2X3VzZQB0aWNrc19wZXJfZnJhbWUAY29sb3JfcHJpbWFyaWVzAGNvbG9yIHByaW1hcmllcwBjb2xvcl9wcmltYXJpZXNfdHlwZQBidDcwOQBCVC43MDkAVW5zcGVjaWZpZWQAYnQ0NzBtAEJULjQ3MCBNAGJ0NDcwYmcAQlQuNDcwIEJHAHNtcHRlMTcwbQBTTVBURSAxNzAgTQBzbXB0ZTI0MG0AU01QVEUgMjQwIE0AZmlsbQBGaWxtAGJ0MjAyMABCVC4yMDIwAHNtcHRlNDI4AFNNUFRFIDQyOC0xAHNtcHRlNDI4XzEAc21wdGU0MzEAU01QVEUgNDMxLTIAc21wdGU0MzIAU01QVEUgNDIyLTEAamVkZWMtcDIyAEpFREVDIFAyMgB1bnNwZWNpZmllZABjb2xvcl90cmMAY29sb3IgdHJhbnNmZXIgY2hhcmFjdGVyaXN0aWNzAGNvbG9yX3RyY190eXBlAGdhbW1hMjIAZ2FtbWEyOABsaW5lYXIATGluZWFyAGxvZzEwMABMb2cAbG9nMzE2AExvZyBzcXVhcmUgcm9vdABpZWM2MTk2Ni0yLTQASUVDIDYxOTY2LTItNABidDEzNjFlAEJULjEzNjEAaWVjNjE5NjYtMi0xAElFQyA2MTk2Ni0yLTEAYnQyMDIwLTEwAEJULjIwMjAgLSAxMCBiaXQAYnQyMDIwLTEyAEJULjIwMjAgLSAxMiBiaXQAc21wdGUyMDg0AFNNUFRFIDIwODQAYXJpYi1zdGQtYjY3AEFSSUIgU1RELUI2NwBsb2cAbG9nX3NxcnQAaWVjNjE5NjZfMl80AGJ0MTM2MQBpZWM2MTk2Nl8yXzEAYnQyMDIwXzEwYml0AGJ0MjAyMF8xMmJpdABjb2xvcnNwYWNlAGNvbG9yIHNwYWNlAGNvbG9yc3BhY2VfdHlwZQByZ2IAUkdCAGZjYwBGQ0MAeWNnY28AWUNHQ08AYnQyMDIwbmMAQlQuMjAyMCBOQ0wAYnQyMDIwYwBCVC4yMDIwIENMAHNtcHRlMjA4NQBTTVBURSAyMDg1AHljb2NnAGJ0MjAyMF9uY2wAYnQyMDIwX2NsAGNvbG9yX3JhbmdlAGNvbG9yIHJhbmdlAGNvbG9yX3JhbmdlX3R5cGUAdHYATVBFRyAoMjE5KjJeKG4tOCkpAHBjAEpQRUcgKDJebi0xKQBtcGVnAGpwZWcAY2hyb21hX3NhbXBsZV9sb2NhdGlvbgBjaHJvbWEgc2FtcGxlIGxvY2F0aW9uAGNocm9tYV9zYW1wbGVfbG9jYXRpb25fdHlwZQBMZWZ0AGNlbnRlcgBDZW50ZXIAdG9wbGVmdABUb3AtbGVmdAB0b3AAVG9wAGJvdHRvbWxlZnQAQm90dG9tLWxlZnQAYm90dG9tAEJvdHRvbQBsb2dfbGV2ZWxfb2Zmc2V0AHNldCB0aGUgbG9nIGxldmVsIG9mZnNldABzbGljZXMAc2V0IHRoZSBudW1iZXIgb2Ygc2xpY2VzLCB1c2VkIGluIHBhcmFsbGVsaXplZCBlbmNvZGluZwB0aHJlYWRfdHlwZQBzZWxlY3QgbXVsdGl0aHJlYWRpbmcgdHlwZQBzbGljZQBmcmFtZQBhdWRpb19zZXJ2aWNlX3R5cGUAYXVkaW8gc2VydmljZSB0eXBlAG1hAE1haW4gQXVkaW8gU2VydmljZQBlZgBFZmZlY3RzAHZpAFZpc3VhbGx5IEltcGFpcmVkAGhpAEhlYXJpbmcgSW1wYWlyZWQAZGkARGlhbG9ndWUAY28AQ29tbWVudGFyeQBlbQBFbWVyZ2VuY3kAdm8AVm9pY2UgT3ZlcgBrYQBLYXJhb2tlAHJlcXVlc3Rfc2FtcGxlX2ZtdABzYW1wbGUgZm9ybWF0IGF1ZGlvIGRlY29kZXJzIHNob3VsZCBwcmVmZXIAcGt0X3RpbWViYXNlAHN1Yl9jaGFyZW5jAHNldCBpbnB1dCB0ZXh0IHN1YnRpdGxlcyBjaGFyYWN0ZXIgZW5jb2RpbmcAc3ViX2NoYXJlbmNfbW9kZQBzZXQgaW5wdXQgdGV4dCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIG1vZGUAZG9fbm90aGluZwBwcmVfZGVjb2RlcgBzdWJfdGV4dF9mb3JtYXQAc2V0IGRlY29kZWQgdGV4dCBzdWJ0aXRsZSBmb3JtYXQAYXNzAGFzc193aXRoX3RpbWluZ3MAcmVmY291bnRlZF9mcmFtZXMAc2lkZV9kYXRhX29ubHlfcGFja2V0cwBhcHBseV9jcm9wcGluZwBza2lwX2FscGhhAFNraXAgcHJvY2Vzc2luZyBhbHBoYQBmaWVsZF9vcmRlcgBGaWVsZCBvcmRlcgBwcm9ncmVzc2l2ZQB0dABiYgB0YgBkdW1wX3NlcGFyYXRvcgBzZXQgaW5mb3JtYXRpb24gZHVtcCBmaWVsZCBzZXBhcmF0b3IAY29kZWNfd2hpdGVsaXN0AExpc3Qgb2YgZGVjb2RlcnMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSB1c2VkAHBpeGVsX2Zvcm1hdABzZXQgcGl4ZWwgZm9ybWF0AHZpZGVvX3NpemUAc2V0IHZpZGVvIHNpemUAbWF4X3BpeGVscwBNYXhpbXVtIG51bWJlciBvZiBwaXhlbHMAaHdhY2NlbF9mbGFncwBpZ25vcmVfbGV2ZWwAaWdub3JlIGxldmVsIGV2ZW4gaWYgdGhlIGNvZGVjIGxldmVsIHVzZWQgaXMgdW5rbm93biBvciBoaWdoZXIgdGhhbiB0aGUgbWF4aW11bSBzdXBwb3J0ZWQgbGV2ZWwgcmVwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlIGRyaXZlcgBhbGxvd19oaWdoX2RlcHRoAGFsbG93IHRvIG91dHB1dCBZVVYgcGl4ZWwgZm9ybWF0cyB3aXRoIGEgZGlmZmVyZW50IGNocm9tYSBzYW1wbGluZyB0aGFuIDQ6MjowIGFuZC9vciBvdGhlciB0aGFuIDggYml0cyBwZXIgY29tcG9uZW50AGFsbG93X3Byb2ZpbGVfbWlzbWF0Y2gAYXR0ZW1wdCB0byBkZWNvZGUgYW55d2F5IGlmIEhXIGFjY2VsZXJhdGVkIGRlY29kZXIncyBzdXBwb3J0ZWQgcHJvZmlsZXMgZG8gbm90IGV4YWN0bHkgbWF0Y2ggdGhlIHN0cmVhbQBleHRyYV9od19mcmFtZXMATnVtYmVyIG9mIGV4dHJhIGhhcmR3YXJlIGZyYW1lcyB0byBhbGxvY2F0ZSBmb3IgdGhlIHVzZXIATlVMTABBVkJTRkNvbnRleHQAVGhpcyBkZWNvZGVyIGRvZXMgbm90IHN1cHBvcnQgcGFyYW1ldGVyIGNoYW5nZXMsIGJ1dCBQQVJBTV9DSEFOR0Ugc2lkZSBkYXRhIHdhcyBzZW50IHRvIGl0LgoASW52YWxpZCBjaGFubmVsIGNvdW50AEludmFsaWQgc2FtcGxlIHJhdGUAUEFSQU1fQ0hBTkdFIHNpZGUgZGF0YSB0b28gc21hbGwuCgBFcnJvciBhcHBseWluZyBwYXJhbWV0ZXIgY2hhbmdlcy4KAEVycm9yIHByZS1wcm9jZXNzaW5nIGEgcGFja2V0IGJlZm9yZSBkZWNvZGluZwoAIWZyYW1lLT5idWZbMF0AKGZyYW1lLT5wcml2YXRlX3JlZiAmJiBmcmFtZS0+cHJpdmF0ZV9yZWYtPnNpemUgPT0gc2l6ZW9mKEZyYW1lRGVjb2RlRGF0YSkpIHx8ICEoYXZjdHgtPmNvZGVjLT5jYXBhYmlsaXRpZXMgJiAoMSA8PCAxKSkAc2tpcCAlZCAvIGRpc2NhcmQgJWQgc2FtcGxlcyBkdWUgdG8gc2lkZSBkYXRhCgBza2lwIHdob2xlIGZyYW1lLCBza2lwIGxlZnQ6ICVkCgBDb3VsZCBub3QgdXBkYXRlIHRpbWVzdGFtcHMgZm9yIHNraXBwZWQgc2FtcGxlcy4KAHNraXAgJWQvJWQgc2FtcGxlcwoAQ291bGQgbm90IHVwZGF0ZSB0aW1lc3RhbXBzIGZvciBkaXNjYXJkZWQgc2FtcGxlcy4KAGRpc2NhcmQgJWQvJWQgc2FtcGxlcwoATXVsdGlwbGUgZnJhbWVzIGluIGEgcGFja2V0LgoAVG9vIG1hbnkgZXJyb3JzIHdoZW4gZHJhaW5pbmcsIHRoaXMgaXMgYSBidWcuIFN0b3AgZHJhaW5pbmcgYW5kIGZvcmNlIEVPRi4KAGZyYW1lLT5idWZbMF0AYXZfcGFja2V0X3JlZigpIGZhaWxlZCBpbiBzdWJtaXRfcGFja2V0KCkKAG51bGwALABBIG5vbi1leGlzdGluZyBiaXRzdHJlYW0gZmlsdGVyICVzIHJlcXVlc3RlZCBieSBhIGRlY29kZXIuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBJbnZhbGlkIGNyb3BwaW5nIGluZm9ybWF0aW9uIHNldCBieSBhIGRlY29kZXI6ICV6dS8lenUvJXp1LyV6dSAoZnJhbWUgc2l6ZSAlZHglZCkuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQKACFwLT5od2FjY2VsX3NlcmlhbGl6aW5nAEEgZnJhbWUgdGhyZWFkZWQgZGVjb2RlciBkaWQgbm90IGZyZWUgdGhlIGZyYW1lIG9uIGZhaWx1cmUuIFRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQuCgBBcHBsaWNhdGlvbiBoYXMgcmVxdWVzdGVkICVkIHRocmVhZHMuIFVzaW5nIGEgdGhyZWFkIGNvdW50IGdyZWF0ZXIgdGhhbiAlZCBpcyBub3QgcmVjb21tZW5kZWQuCgBObyBjb2RlYyBwcm92aWRlZCB0byBhdmNvZGVjX29wZW4yKCkKAFRoaXMgQVZDb2RlY0NvbnRleHQgd2FzIGFsbG9jYXRlZCBmb3IgJXMsIGJ1dCAlcyBwYXNzZWQgdG8gYXZjb2RlY19vcGVuMigpCgBDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgJyVzJwoASWdub3JpbmcgaW52YWxpZCB3aWR0aC9oZWlnaHQgdmFsdWVzCgBpZ25vcmluZyBpbnZhbGlkIFNBUjogJXUvJXUKAENvZGVjIHR5cGUgb3IgaWQgbWlzbWF0Y2hlcwoAZW5jb2RlcgBkZWNvZGVyAFRoZSAlcyAnJXMnIGlzIGV4cGVyaW1lbnRhbCBidXQgZXhwZXJpbWVudGFsIGNvZGVjcyBhcmUgbm90IGVuYWJsZWQsIGFkZCAnLXN0cmljdCAlZCcgaWYgeW91IHdhbnQgdG8gdXNlIGl0LgoAQWx0ZXJuYXRpdmVseSB1c2UgdGhlIG5vbiBleHBlcmltZW50YWwgJXMgJyVzJy4KAFRoZSBtYXhpbXVtIHZhbHVlIGZvciBsb3dyZXMgc3VwcG9ydGVkIGJ5IHRoZSBkZWNvZGVyIGlzICVkCgBUaGUgZW5jb2RlciB0aW1lYmFzZSBpcyBub3Qgc2V0LgoAJWQAU3BlY2lmaWVkIHNhbXBsZSBmb3JtYXQgJXMgaXMgaW52YWxpZCBvciBub3Qgc3VwcG9ydGVkCgBTcGVjaWZpZWQgcGl4ZWwgZm9ybWF0ICVzIGlzIGludmFsaWQgb3Igbm90IHN1cHBvcnRlZAoAU3BlY2lmaWVkIHNhbXBsZSByYXRlICVkIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0IG5vdCBzcGVjaWZpZWQKAFNwZWNpZmllZCBjaGFubmVsIGxheW91dCAnJXMnIGlzIG5vdCBzdXBwb3J0ZWQKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBudW1iZXIgb2Ygc3BlY2lmaWVkIGNoYW5uZWxzICVkCgBTcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkIGlzIG5vdCBzdXBwb3J0ZWQKAFNwZWNpZmllZCBiaXQgZGVwdGggJWQgbm90IHBvc3NpYmxlIHdpdGggdGhlIHNwZWNpZmllZCBwaXhlbCBmb3JtYXRzIGRlcHRoICVkCgBkaW1lbnNpb25zIG5vdCBzZXQKAEJpdHJhdGUgJWxsZCBpcyBleHRyZW1lbHkgbG93LCBtYXliZSB5b3UgbWVhbiAlbGxkawoAdGlja3NfcGVyX2ZyYW1lICVkIHRvbyBsYXJnZSBmb3IgdGhlIHRpbWViYXNlICVkLyVkLgBNaXNtYXRjaGluZyBBVkNvZGVjQ29udGV4dC5waXhfZm10IGFuZCBBVkhXRnJhbWVzQ29udGV4dC5mb3JtYXQKAE1pc21hdGNoaW5nIEFWQ29kZWNDb250ZXh0LnN3X3BpeF9mbXQgKCVzKSBhbmQgQVZIV0ZyYW1lc0NvbnRleHQuc3dfZm9ybWF0ICglcykKAGdyYXkgZGVjb2RpbmcgcmVxdWVzdGVkIGJ1dCBub3QgZW5hYmxlZCBhdCBjb25maWd1cmF0aW9uIHRpbWUKAENoYW5uZWwgbGF5b3V0ICclcycgd2l0aCAlZCBjaGFubmVscyBkb2VzIG5vdCBtYXRjaCBzcGVjaWZpZWQgbnVtYmVyIG9mIGNoYW5uZWxzICVkOiBpZ25vcmluZyBzcGVjaWZpZWQgY2hhbm5lbCBsYXlvdXQKAENoYXJhY3RlciBlbmNvZGluZyBpcyBvbmx5IHN1cHBvcnRlZCB3aXRoIHN1YnRpdGxlcyBjb2RlY3MKAENvZGVjICclcycgaXMgYml0bWFwLWJhc2VkLCBzdWJ0aXRsZXMgY2hhcmFjdGVyIGVuY29kaW5nIHdpbGwgYmUgaWdub3JlZAoAVVRGLTgAVW5hYmxlIHRvIG9wZW4gaWNvbnYgY29udGV4dCB3aXRoIGlucHV0IGNoYXJhY3RlciBlbmNvZGluZyAiJXMiCgAqKGNvbnN0IEFWQ2xhc3MgKiopYXZjdHgtPnByaXZfZGF0YSA9PSBjb2RlYy0+cHJpdl9jbGFzcwBsYXllcjMuYwAGBQUFCQkJCQYJCQkGBQcDCQkMBgYJDAYLCgAAEhIAAA8SAAAHBwcADAwMAAYPDAAGBgYDDAkJBgYMCQYICAUADwwJAAYSCQAAAAABAAIAAwMAAQEBAgEDAgECAgIDAwEDAgMDBAIEAwAAAAAAAAAAAAAAAQEBAQICAwMDAgByZXF1YW50aXplIG92ZXJmbG93ICglZiAqIDJeJWQpCgAtYml0c19sZWZ0IDw9IE1BRF9CVUZGRVJfR1VBUkQgKiBDSEFSX0JJVABJSUlfaHVmZmRlY29kZQAEBAQEBAQGBgYICgwQEhYcIiguNjbABAQEBAQEBAQEBAQEBgYGBgYGCgoKDAwMDg4OEBAQFBQUGhoaQkJCBAQEBAQEBgYEBAQGBgYGBgYKCgoMDAwODg4QEBAUFBQaGhpCQkIEBAQEBAQGBggICgwQFBgcIioyNkyeBAQEBAQEBAQEBAQEBgYGCAgICgoKDAwMDg4OEhISFhYWHh4eODg4BAQEBAQEBgYEBAQGBgYICAgKCgoMDAwODg4SEhIWFhYeHh44ODgEBAQEBAQGBggKDBAUGB4mLjhEVGYaBAQEBAQEBAQEBAQEBgYGCAgIDAwMEBAQFBQUGhoaIiIiKioqDAwMBAQEBAQEBgYEBAQGBgYICAgMDAwQEBAUFBQaGhoiIiIqKioMDAwGBgYGBgYICgwOEBIWGiAmLjY+RkwkBAQEBAQEBAQEBgYGCAgICgoKDAwMDg4OEhISGBgYICAgLCwsDAwMBgYGBgYGBgYGCAgICgoKDAwMDg4OEhISGBgYICAgLCwsDAwMBgYGBgYGCAoMDhAUGBwgJi40PEQ6NgQEBAQEBAQEBAYGBgYGBggICAoKCg4ODhISEhoaGiAgICoqKhISEgYGBgYGBgYGBgYGBggICAoKCg4ODhISEhoaGiAgICoqKhISEgQEBAQEBAQEBAYGBggICAoKCgwMDA4ODhISEhgYGB4eHigoKBISEgYGBgYGBgYGBggICAoKCgwMDA4ODhISEhgYGB4eHigoKBISEgwMDAwMDBAUGBwgKDA4QExaAgICAgIICAgICAgICAgMDAwQEBAUFBQYGBgcHBwkJCQCAgICAgICAgIaGhoMDAwEBAQICAgMDAwQEBAUFBQYGBgcHBwkJCQCAgICAgICAgIaGhpkZW5vbSAhPSAwAHRpbWVyLmMAc2NhbGVfcmF0aW9uYWwAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQBOU3QzX18yMTJiYXNpY19zdHJpbmdJaE5TXzExY2hhcl90cmFpdHNJaEVFTlNfOWFsbG9jYXRvckloRUVFRQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAuAGluZmluaXR5AG5hbgB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=261088;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<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}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _acos=Math_acos;var _asin=Math_asin;var _atan=Math_atan;function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}var _cos=Math_cos;function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var _exp=Math_exp;var _fabs=Math_abs;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 _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",260976,4),260976);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(compositionTime){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray,compositionTime:compositionTime},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}var _log=Math_log;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(2e3,6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}var _sin=Math_sin;function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-16777216;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}var _tan=Math_tan;FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}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":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___buildEnvironment,"s":___cxa_allocate_exception,"t":___cxa_begin_catch,"u":___cxa_find_matching_catch,"v":___cxa_free_exception,"w":___cxa_pure_virtual,"x":___cxa_throw,"y":___gxx_personality_v0,"z":___resumeException,"A":___setErrNo,"B":___syscall140,"C":___syscall146,"D":___syscall221,"E":___syscall3,"F":___syscall5,"G":___syscall54,"H":___syscall6,"I":__embind_create_inheriting_constructor,"J":__embind_register_bool,"K":__embind_register_class,"L":__embind_register_class_class_function,"M":__embind_register_class_function,"N":__embind_register_class_property,"O":__embind_register_emval,"P":__embind_register_float,"Q":__embind_register_integer,"R":__embind_register_memory_view,"S":__embind_register_std_string,"T":__embind_register_std_wstring,"U":__embind_register_void,"V":__emscripten_traverse_stack,"W":__emval_addMethodCaller,"X":__emval_allocateDestructors,"Y":__emval_as,"Z":__emval_call,"_":__emval_call_method,"$":__emval_call_void_method,"aa":__emval_decref,"ab":__emval_get_global,"ac":__emval_get_method_caller,"ad":__emval_get_property,"ae":__emval_incref,"af":__emval_lookupTypes,"ag":__emval_new,"ah":__emval_new_cstring,"ai":__emval_new_object,"aj":__emval_register,"ak":__emval_run_destructors,"al":__emval_set_property,"am":__emval_take_value,"an":__formatString,"ao":__reallyNegative,"ap":_abort,"aq":_acos,"ar":_asin,"as":_atan,"at":_clock,"au":_cos,"av":_embind_repr,"aw":_emscripten_get_callstack_js,"ax":_emscripten_get_heap_size,"ay":_emscripten_log,"az":_emscripten_log_js,"aA":_emscripten_memcpy_big,"aB":_emscripten_resize_heap,"aC":_exp,"aD":_fabs,"aE":_getenv,"aF":_gettimeofday,"aG":_gmtime_r,"aH":_init,"aI":_llvm_trap,"aJ":_llvm_trunc_f64,"aK":_localtime_r,"aL":_log,"aM":_mktime,"aN":_pthread_cond_destroy,"aO":_pthread_cond_init,"aP":_pthread_cond_signal,"aQ":_pthread_cond_wait,"aR":_pthread_create,"aS":_pthread_join,"aT":_sin,"aU":_sysconf,"aV":_tan,"aW":_tzset,"aX":abortOnCannotGrowMemory,"aY":constNoSmartPtrRawPointerToWireType,"aZ":count_emval_handles,"a_":craftEmvalAllocator,"a$":craftInvokerFunction,"ba":createNamedFunction,"bb":downcastPointer,"bc":embind__requireFunction,"bd":embind_init_charCodes,"be":emval_get_global,"bf":ensureOverloadTable,"bg":exposePublicSymbol,"bh":extendError,"bi":floatReadValueFromPointer,"bj":flushPendingDeletes,"bk":genericPointerToWireType,"bl":getBasestPointer,"bm":getInheritedInstance,"bn":getInheritedInstanceCount,"bo":getLiveInheritedInstances,"bp":getShiftFromSize,"bq":getStringOrSymbol,"br":getTypeName,"bs":get_first_emval,"bt":heap32VectorToArray,"bu":init_ClassHandle,"bv":init_RegisteredPointer,"bw":init_embind,"bx":init_emval,"by":integerReadValueFromPointer,"bz":makeClassHandle,"bA":makeLegalFunctionName,"bB":new_,"bC":nonConstNoSmartPtrRawPointerToWireType,"bD":readLatin1String,"bE":registerInheritedInstance,"bF":registerType,"bG":replacePublicSymbol,"bH":requireHandle,"bI":requireRegisteredType,"bJ":runDestructor,"bK":runDestructors,"bL":setDelayFunction,"bM":shallowCopyInternalPointer,"bN":simpleReadValueFromPointer,"bO":throwBindingError,"bP":throwInstanceAlreadyDeleted,"bQ":throwInternalError,"bR":throwUnboundTypeError,"bS":unregisterInheritedInstance,"bT":upcastPointer,"bU":validateThis,"bV":whenDependentTypesAreResolved,"bW":tempDoublePtr,"bX":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bW|0,i=env.bX|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.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.pow,x=global.Math.cos,y=global.Math.sin,z=global.Math.tan,A=global.Math.acos,B=global.Math.asin,C=global.Math.atan,D=global.Math.atan2,E=global.Math.exp,F=global.Math.log,G=global.Math.ceil,H=global.Math.imul,I=global.Math.min,J=global.Math.clz32,K=env.a,L=env.b,M=env.c,N=env.d,O=env.e,P=env.f,Q=env.g,R=env.h,S=env.i,T=env.j,U=env.k,V=env.l,W=env.m,X=env.n,Y=env.o,Z=env.p,_=env.q,$=env.r,aa=env.s,ba=env.t,ca=env.u,da=env.v,ea=env.w,fa=env.x,ga=env.y,ha=env.z,ia=env.A,ja=env.B,ka=env.C,la=env.D,ma=env.E,na=env.F,oa=env.G,pa=env.H,qa=env.I,ra=env.J,sa=env.K,ta=env.L,ua=env.M,va=env.N,wa=env.O,xa=env.P,ya=env.Q,za=env.R,Aa=env.S,Ba=env.T,Ca=env.U,Da=env.V,Ea=env.W,Fa=env.X,Ga=env.Y,Ha=env.Z,Ia=env._,Ja=env.$,Ka=env.aa,La=env.ab,Ma=env.ac,Na=env.ad,Oa=env.ae,Pa=env.af,Qa=env.ag,Ra=env.ah,Sa=env.ai,Ta=env.aj,Ua=env.ak,Va=env.al,Wa=env.am,Xa=env.an,Ya=env.ao,Za=env.ap,_a=env.aq,$a=env.ar,ab=env.as,bb=env.at,cb=env.au,db=env.av,eb=env.aw,fb=env.ax,gb=env.ay,hb=env.az,ib=env.aA,jb=env.aB,kb=env.aC,lb=env.aD,mb=env.aE,nb=env.aF,ob=env.aG,pb=env.aH,qb=env.aI,rb=env.aJ,sb=env.aK,tb=env.aL,ub=env.aM,vb=env.aN,wb=env.aO,xb=env.aP,yb=env.aQ,zb=env.aR,Ab=env.aS,Bb=env.aT,Cb=env.aU,Db=env.aV,Eb=env.aW,Fb=env.aX,Gb=env.aY,Hb=env.aZ,Ib=env.a_,Jb=env.a$,Kb=env.ba,Lb=env.bb,Mb=env.bc,Nb=env.bd,Ob=env.be,Pb=env.bf,Qb=env.bg,Rb=env.bh,Sb=env.bi,Tb=env.bj,Ub=env.bk,Vb=env.bl,Wb=env.bm,Xb=env.bn,Yb=env.bo,Zb=env.bp,_b=env.bq,$b=env.br,ac=env.bs,bc=env.bt,cc=env.bu,dc=env.bv,ec=env.bw,fc=env.bx,gc=env.by,hc=env.bz,ic=env.bA,jc=env.bB,kc=env.bC,lc=env.bD,mc=env.bE,nc=env.bF,oc=env.bG,pc=env.bH,qc=env.bI,rc=env.bJ,sc=env.bK,tc=env.bL,uc=env.bM,vc=env.bN,wc=env.bO,xc=env.bP,yc=env.bQ,zc=env.bR,Ac=env.bS,Bc=env.bT,Cc=env.bU,Dc=env.bV,Ec=261104,Fc=5503984,Gc=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Ns(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;n=((b|0)!=0)<<31>>31;w=d[a+((H(n,f)|0)+-1)>>0]|0;v=d[a+-1>>0]|0;u=d[a+(f+-1)>>0]|0;t=d[a+((f<<1)+-1)>>0]|0;s=d[a+((f*3|0)+-1)>>0]|0;r=d[a+((f<<2)+-1)>>0]|0;q=d[a+((f*5|0)+-1)>>0]|0;p=d[a+((f*6|0)+-1)>>0]|0;o=d[a+((f*7|0)+-1)>>0]|0;m=d[a+(0-f)>>0]|0;l=d[a+(1-f)>>0]|0;k=d[a+(2-f)>>0]|0;j=d[a+(3-f)>>0]|0;i=d[a+(4-f)>>0]|0;h=d[a+(5-f)>>0]|0;g=d[a+(6-f)>>0]|0;b=d[a+(7-f)>>0]|0;e=H(((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((d[a+(n-f)>>0]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(d[a+((e|0?8:7)-f)>>0]|0)+(b<<1)|0)>>>2)>>4,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Os(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=d[b+(0-f)>>0]|0;q=d[b+(1-f)>>0]|0;t=d[b+(2-f)>>0]|0;r=(p+2+(q<<1)+t|0)>>>2;u=d[b+(3-f)>>0]|0;s=(q+2+(t<<1)+u|0)>>>2;v=d[b+(4-f)>>0]|0;t=(t+2+(u<<1)+v|0)>>>2;w=d[b+(5-f)>>0]|0;u=(u+2+(v<<1)+w|0)>>>2;o=d[b+(6-f)>>0]|0;v=(v+2+(w<<1)+o|0)>>>2;n=d[b+(7-f)>>0]|0;w=(w+2+(o<<1)+n|0)>>>2;m=(e|0)!=0;o=(o+2+(d[b+((m?8:7)-f)>>0]|0)+(n<<1)|0)>>>2;if(m){x=d[b+(8-f)>>0]|0;e=d[b+(9-f)>>0]|0;m=d[b+(10-f)>>0]|0;l=d[b+(11-f)>>0]|0;k=d[b+(12-f)>>0]|0;j=d[b+(13-f)>>0]|0;i=d[b+(14-f)>>0]|0;h=d[b+(15-f)>>0]|0;g=(i+2+(h*3|0)|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(m+2+(l<<1)+k|0)>>>2;l=(e+2+(m<<1)+l|0)>>>2;m=(x+2+(e<<1)+m|0)>>>2;e=(n+2+(x<<1)+e|0)>>>2}else{g=n;h=n;i=n;j=n;k=n;l=n;m=n;e=n}a[b>>0]=((((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(p<<1)+q|0)>>>2)+2+(r<<1)+s|0)>>>2;r=(r+2+(s<<1)+t|0)>>>2&255;a[b+1>>0]=r;a[b+f>>0]=r;s=(s+2+(t<<1)+u|0)>>>2&255;a[b+2>>0]=s;a[b+(f+1)>>0]=s;r=f<<1;a[b+r>>0]=s;t=(t+2+(u<<1)+v|0)>>>2&255;a[b+3>>0]=t;a[b+(f+2)>>0]=t;a[b+(r|1)>>0]=t;s=f*3|0;a[b+s>>0]=t;u=(u+2+(v<<1)+w|0)>>>2&255;a[b+4>>0]=u;a[b+(f+3)>>0]=u;a[b+(r+2)>>0]=u;a[b+(s+1)>>0]=u;t=f<<2;a[b+t>>0]=u;v=(v+2+(w<<1)+o|0)>>>2&255;a[b+5>>0]=v;a[b+(f+4)>>0]=v;a[b+(r+3)>>0]=v;a[b+(s+2)>>0]=v;a[b+(t|1)>>0]=v;u=f*5|0;a[b+u>>0]=v;w=(w+2+(o<<1)+e|0)>>>2&255;a[b+6>>0]=w;a[b+(f+5)>>0]=w;a[b+(r+4)>>0]=w;a[b+(s+3)>>0]=w;a[b+(t|2)>>0]=w;a[b+(u+1)>>0]=w;v=f*6|0;a[b+v>>0]=w;w=(o+2+(e<<1)+m|0)>>>2&255;a[b+7>>0]=w;a[b+(f+6)>>0]=w;a[b+(r+5)>>0]=w;a[b+(s+4)>>0]=w;a[b+(t|3)>>0]=w;a[b+(u+2)>>0]=w;a[b+(v|1)>>0]=w;x=f*7|0;a[b+x>>0]=w;w=(e+2+(m<<1)+l|0)>>>2&255;a[b+(f+7)>>0]=w;a[b+(r+6)>>0]=w;a[b+(s+5)>>0]=w;a[b+(t+4)>>0]=w;a[b+(u+3)>>0]=w;a[b+(v+2)>>0]=w;a[b+(x+1)>>0]=w;w=(m+2+(l<<1)+k|0)>>>2&255;a[b+(r+7)>>0]=w;a[b+(s+6)>>0]=w;a[b+(t+5)>>0]=w;a[b+(u+4)>>0]=w;a[b+(v+3)>>0]=w;a[b+(x+2)>>0]=w;w=(l+2+(k<<1)+j|0)>>>2&255;a[b+(s+7)>>0]=w;a[b+(t+6)>>0]=w;a[b+(u+5)>>0]=w;a[b+(v+4)>>0]=w;a[b+(x+3)>>0]=w;w=(k+2+(j<<1)+i|0)>>>2&255;a[b+(t+7)>>0]=w;a[b+(u+6)>>0]=w;a[b+(v+5)>>0]=w;a[b+(x+4)>>0]=w;w=(j+2+(i<<1)+h|0)>>>2&255;a[b+(u+7)>>0]=w;a[b+(v+6)>>0]=w;a[b+(x+5)>>0]=w;w=(i+2+(h<<1)+g|0)>>>2&255;a[b+(v+7)>>0]=w;a[b+(x+6)>>0]=w;a[b+(x+7)>>0]=(h+2+(g*3|0)|0)>>>2;return}function Ps(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;t=((c|0)!=0)<<31>>31;C=d[b+(0-f)>>0]|0;k=d[b+(1-f)>>0]|0;s=((d[b+(t-f)>>0]|0)+2+(C<<1)+k|0)>>>2;i=d[b+(2-f)>>0]|0;C=C+2|0;m=(C+(k<<1)+i|0)>>>2;h=d[b+(3-f)>>0]|0;k=(k+2+(i<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;v=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+v|0)>>>2;q=d[b+(7-f)>>0]|0;c=(c+2+(v<<1)+q|0)>>>2;e=(v+2+(d[b+((e|0?8:7)-f)>>0]|0)+(q<<1)|0)>>>2;t=d[b+((H(t,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;v=d[b+(f+-1)>>0]|0;t=(t+2+(q<<1)+v|0)>>>2;j=f<<1;w=d[b+(j+-1)>>0]|0;o=(q+2+(v<<1)+w|0)>>>2;l=f*3|0;x=d[b+(l+-1)>>0]|0;v=(v+2+(w<<1)+x|0)>>>2;n=f<<2;y=d[b+(n+-1)>>0]|0;w=(w+2+(x<<1)+y|0)>>>2;p=f*5|0;z=d[b+(p+-1)>>0]|0;x=(x+2+(y<<1)+z|0)>>>2;r=f*6|0;B=d[b+(r+-1)>>0]|0;y=(y+2+(z<<1)+B|0)>>>2;u=f*7|0;A=d[b+(u+-1)>>0]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+u>>0]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&255;a[b+(u+1)>>0]=z;a[b+r>>0]=z;y=(w+2+(x<<1)+y|0)>>>2&255;a[b+(u+2)>>0]=y;a[b+(r|1)>>0]=y;a[b+p>>0]=y;x=(v+2+(w<<1)+x|0)>>>2&255;a[b+(u+3)>>0]=x;a[b+(r+2)>>0]=x;a[b+(p+1)>>0]=x;a[b+n>>0]=x;w=(o+2+(v<<1)+w|0)>>>2&255;a[b+(u+4)>>0]=w;a[b+(r+3)>>0]=w;a[b+(p+2)>>0]=w;a[b+(n|1)>>0]=w;a[b+l>>0]=w;v=(t+2+(o<<1)+v|0)>>>2&255;a[b+(u+5)>>0]=v;a[b+(r+4)>>0]=v;a[b+(p+3)>>0]=v;a[b+(n|2)>>0]=v;a[b+(l+1)>>0]=v;a[b+j>>0]=v;o=((t<<1)+2+o+q|0)>>>2&255;a[b+(u+6)>>0]=o;a[b+(r+5)>>0]=o;a[b+(p+4)>>0]=o;a[b+(n|3)>>0]=o;a[b+(l+2)>>0]=o;a[b+(j|1)>>0]=o;a[b+f>>0]=o;o=s+2|0;t=(o+t+(q<<1)|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(r+6)>>0]=t;a[b+(p+5)>>0]=t;a[b+(n+4)>>0]=t;a[b+(l+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;a[b>>0]=t;q=((s<<1)+2+m+q|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+6)>>0]=q;a[b+(n+5)>>0]=q;a[b+(l+4)>>0]=q;a[b+(j+3)>>0]=q;a[b+(f+2)>>0]=q;a[b+1>>0]=q;o=(o+(m<<1)+k|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(n+6)>>0]=o;a[b+(l+5)>>0]=o;a[b+(j+4)>>0]=o;a[b+(f+3)>>0]=o;a[b+2>>0]=o;m=(m+2+(k<<1)+i|0)>>>2&255;a[b+(n+7)>>0]=m;a[b+(l+6)>>0]=m;a[b+(j+5)>>0]=m;a[b+(f+4)>>0]=m;a[b+3>>0]=m;k=(k+2+(i<<1)+h|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;a[b+4>>0]=k;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(j+7)>>0]=i;a[b+(f+6)>>0]=i;a[b+5>>0]=i;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(f+7)>>0]=h;a[b+6>>0]=h;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Qs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;n=d[b+(1-f)>>0]|0;u=((d[b+(s-f)>>0]|0)+2+(A<<1)+n|0)>>>2;k=d[b+(2-f)>>0]|0;A=A+2|0;q=(A+(n<<1)+k|0)>>>2;h=d[b+(3-f)>>0]|0;n=(n+2+(k<<1)+h|0)>>>2;g=d[b+(4-f)>>0]|0;k=(k+2+(h<<1)+g|0)>>>2;c=d[b+(5-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;r=d[b+(6-f)>>0]|0;g=(g+2+(c<<1)+r|0)>>>2;t=d[b+(7-f)>>0]|0;c=(c+2+(r<<1)+t|0)>>>2;e=(r+2+(d[b+((e|0?8:7)-f)>>0]|0)+(t<<1)|0)>>>2;s=d[b+((H(s,f)|0)+-1)>>0]|0;t=d[b+-1>>0]|0;r=d[b+(f+-1)>>0]|0;s=(s+2+(t<<1)+r|0)>>>2;i=f<<1;x=d[b+(i+-1)>>0]|0;v=(t+2+(r<<1)+x|0)>>>2;j=f*3|0;w=d[b+(j+-1)>>0]|0;r=(r+2+(x<<1)+w|0)>>>2;l=f<<2;z=d[b+(l+-1)>>0]|0;x=(x+2+(w<<1)+z|0)>>>2;m=f*5|0;B=d[b+(m+-1)>>0]|0;w=(w+2+(z<<1)+B|0)>>>2;o=f*6|0;y=d[b+(o+-1)>>0]|0;z=(z+2+(B<<1)+y|0)>>>2;p=f*7|0;y=(B+2+(y<<1)+(d[b+(p+-1)>>0]|0)|0)>>>2;t=(A+t+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+o>>0]=(x+2+(w<<1)+z|0)>>>2;a[b+p>>0]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(r<<1)+x|0)>>>2&255;a[b+(o|1)>>0]=y;a[b+l>>0]=y;w=(r+2+(x<<1)+w|0)>>>2&255;a[b+(p+1)>>0]=w;a[b+m>>0]=w;w=((s<<1)+2+v+t|0)>>>2&255;a[b+(o+2)>>0]=w;a[b+(l|1)>>0]=w;a[b+i>>0]=w;r=(s+2+(v<<1)+r|0)>>>2&255;a[b+(p+2)>>0]=r;a[b+(m+1)>>0]=r;a[b+j>>0]=r;r=u+2|0;s=(r+s+(t<<1)|0)>>>2&255;a[b+(p+3)>>0]=s;a[b+(m+2)>>0]=s;a[b+(j+1)>>0]=s;a[b+f>>0]=s;s=u+1|0;v=(s+t|0)>>>1&255;a[b+(o+3)>>0]=v;a[b+(l|2)>>0]=v;a[b+(i|1)>>0]=v;a[b>>0]=v;t=((u<<1)+2+q+t|0)>>>2&255;a[b+(p+4)>>0]=t;a[b+(m+3)>>0]=t;a[b+(j+2)>>0]=t;a[b+(f+1)>>0]=t;s=(s+q|0)>>>1&255;a[b+(o+4)>>0]=s;a[b+(l|3)>>0]=s;a[b+(i+2)>>0]=s;a[b+1>>0]=s;r=(r+(q<<1)+n|0)>>>2&255;a[b+(p+5)>>0]=r;a[b+(m+4)>>0]=r;a[b+(j+3)>>0]=r;a[b+(f+2)>>0]=r;r=(q+1+n|0)>>>1&255;a[b+(o+5)>>0]=r;a[b+(l+4)>>0]=r;a[b+(i+3)>>0]=r;a[b+2>>0]=r;q=(q+2+(n<<1)+k|0)>>>2&255;a[b+(p+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(j+4)>>0]=q;a[b+(f+3)>>0]=q;q=(n+1+k|0)>>>1&255;a[b+(o+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(i+4)>>0]=q;a[b+3>>0]=q;n=(n+2+(k<<1)+h|0)>>>2&255;a[b+(p+7)>>0]=n;a[b+(m+6)>>0]=n;a[b+(j+5)>>0]=n;a[b+(f+4)>>0]=n;n=(k+1+h|0)>>>1&255;a[b+(o+7)>>0]=n;a[b+(l+6)>>0]=n;a[b+(i+5)>>0]=n;a[b+4>>0]=n;k=(k+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=k;a[b+(j+6)>>0]=k;a[b+(f+5)>>0]=k;k=(h+1+g|0)>>>1&255;a[b+(l+7)>>0]=k;a[b+(i+6)>>0]=k;a[b+5>>0]=k;h=(h+2+(g<<1)+c|0)>>>2&255;a[b+(j+7)>>0]=h;a[b+(f+6)>>0]=h;h=(g+1+c|0)>>>1&255;a[b+(i+7)>>0]=h;a[b+6>>0]=h;a[b+(f+7)>>0]=(g+2+(c<<1)+e|0)>>>2;a[b+7>>0]=(c+1+e|0)>>>1;return}function Rs(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=((c|0)!=0)<<31>>31;A=d[b+(0-f)>>0]|0;i=d[b+(1-f)>>0]|0;n=((d[b+(o-f)>>0]|0)+2+(A<<1)+i|0)>>>2;h=d[b+(2-f)>>0]|0;A=A+2|0;j=(A+(i<<1)+h|0)>>>2;g=d[b+(3-f)>>0]|0;i=(i+2+(h<<1)+g|0)>>>2;c=d[b+(4-f)>>0]|0;h=(h+2+(g<<1)+c|0)>>>2;m=d[b+(5-f)>>0]|0;g=(g+2+(c<<1)+m|0)>>>2;e=d[b+(6-f)>>0]|0;c=(c+2+(m<<1)+e|0)>>>2;e=(m+2+(e<<1)+(d[b+(7-f)>>0]|0)|0)>>>2;o=d[b+((H(o,f)|0)+-1)>>0]|0;m=d[b+-1>>0]|0;k=d[b+(f+-1)>>0]|0;o=(o+2+(m<<1)+k|0)>>>2;l=f<<1;t=d[b+(l+-1)>>0]|0;q=(m+2+(k<<1)+t|0)>>>2;p=f*3|0;v=d[b+(p+-1)>>0]|0;k=(k+2+(t<<1)+v|0)>>>2;r=f<<2;x=d[b+(r+-1)>>0]|0;t=(t+2+(v<<1)+x|0)>>>2;s=f*5|0;y=d[b+(s+-1)>>0]|0;v=(v+2+(x<<1)+y|0)>>>2;u=f*6|0;B=d[b+(u+-1)>>0]|0;x=(x+2+(y<<1)+B|0)>>>2;w=f*7|0;z=d[b+(w+-1)>>0]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((d[b+~f>>0]|0)<<1)|0)>>>2;a[b+w>>0]=(z+1+y|0)>>>1;a[b+(w+1)>>0]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&255;a[b+(w+2)>>0]=z;a[b+u>>0]=z;y=(v+2+(x<<1)+y|0)>>>2&255;a[b+(w+3)>>0]=y;a[b+(u|1)>>0]=y;y=(v+1+x|0)>>>1&255;a[b+(w+4)>>0]=y;a[b+(u+2)>>0]=y;a[b+s>>0]=y;x=(t+2+(v<<1)+x|0)>>>2&255;a[b+(w+5)>>0]=x;a[b+(u+3)>>0]=x;a[b+(s+1)>>0]=x;x=(t+1+v|0)>>>1&255;a[b+(w+6)>>0]=x;a[b+(u+4)>>0]=x;a[b+(s+2)>>0]=x;a[b+r>>0]=x;v=(k+2+(t<<1)+v|0)>>>2&255;a[b+(w+7)>>0]=v;a[b+(u+5)>>0]=v;a[b+(s+3)>>0]=v;a[b+(r|1)>>0]=v;v=(k+1+t|0)>>>1&255;a[b+(u+6)>>0]=v;a[b+(s+4)>>0]=v;a[b+(r|2)>>0]=v;a[b+p>>0]=v;t=(q+2+(k<<1)+t|0)>>>2&255;a[b+(u+7)>>0]=t;a[b+(s+5)>>0]=t;a[b+(r|3)>>0]=t;a[b+(p+1)>>0]=t;t=(q+1+k|0)>>>1&255;a[b+(s+6)>>0]=t;a[b+(r+4)>>0]=t;a[b+(p+2)>>0]=t;a[b+l>>0]=t;k=(o+2+(q<<1)+k|0)>>>2&255;a[b+(s+7)>>0]=k;a[b+(r+5)>>0]=k;a[b+(p+3)>>0]=k;a[b+(l|1)>>0]=k;k=o+1|0;s=(k+q|0)>>>1&255;a[b+(r+6)>>0]=s;a[b+(p+4)>>0]=s;a[b+(l+2)>>0]=s;a[b+f>>0]=s;q=((o<<1)+2+q+m|0)>>>2&255;a[b+(r+7)>>0]=q;a[b+(p+5)>>0]=q;a[b+(l+3)>>0]=q;a[b+(f+1)>>0]=q;k=(k+m|0)>>>1&255;a[b+(p+6)>>0]=k;a[b+(l+4)>>0]=k;a[b+(f+2)>>0]=k;a[b>>0]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&255;a[b+(p+7)>>0]=o;a[b+(l+5)>>0]=o;a[b+(f+3)>>0]=o;a[b+1>>0]=o;m=((n<<1)+2+j+m|0)>>>2&255;a[b+(l+6)>>0]=m;a[b+(f+4)>>0]=m;a[b+2>>0]=m;k=(k+(j<<1)+i|0)>>>2&255;a[b+(l+7)>>0]=k;a[b+(f+5)>>0]=k;a[b+3>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(f+6)>>0]=j;a[b+4>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(f+7)>>0]=i;a[b+5>>0]=i;a[b+6>>0]=(h+2+(g<<1)+c|0)>>>2;a[b+7>>0]=(g+2+(c<<1)+e|0)>>>2;return}function Ss(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=d[b+(0-f)>>0]|0;m=d[b+(1-f)>>0]|0;k=((d[b+((((c|0)!=0)<<31>>31)-f)>>0]|0)+2+(l<<1)+m|0)>>>2;n=d[b+(2-f)>>0]|0;l=(l+2+(m<<1)+n|0)>>>2;o=d[b+(3-f)>>0]|0;m=(m+2+(n<<1)+o|0)>>>2;p=d[b+(4-f)>>0]|0;n=(n+2+(o<<1)+p|0)>>>2;q=d[b+(5-f)>>0]|0;o=(o+2+(p<<1)+q|0)>>>2;j=d[b+(6-f)>>0]|0;p=(p+2+(q<<1)+j|0)>>>2;c=d[b+(7-f)>>0]|0;q=(q+2+(j<<1)+c|0)>>>2;i=(e|0)!=0;j=(j+2+(d[b+((i?8:7)-f)>>0]|0)+(c<<1)|0)>>>2;if(i){s=d[b+(8-f)>>0]|0;r=d[b+(9-f)>>0]|0;i=d[b+(10-f)>>0]|0;h=d[b+(11-f)>>0]|0;g=d[b+(12-f)>>0]|0;e=(h+2+(g<<1)+(d[b+(13-f)>>0]|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(r+2+(i<<1)+h|0)>>>2;i=(s+2+(r<<1)+i|0)>>>2;c=(c+2+(s<<1)+r|0)>>>2}else{e=c;g=c;h=c;i=c}a[b>>0]=(k+1+l|0)>>>1;a[b+f>>0]=(k+2+(l<<1)+m|0)>>>2;s=(l+1+m|0)>>>1&255;a[b+1>>0]=s;t=f<<1;a[b+t>>0]=s;s=(l+2+(m<<1)+n|0)>>>2&255;a[b+(f+1)>>0]=s;k=f*3|0;a[b+k>>0]=s;s=(m+1+n|0)>>>1&255;a[b+2>>0]=s;a[b+(t|1)>>0]=s;l=f<<2;a[b+l>>0]=s;s=(m+2+(n<<1)+o|0)>>>2&255;a[b+(f+2)>>0]=s;a[b+(k+1)>>0]=s;m=f*5|0;a[b+m>>0]=s;s=(n+1+o|0)>>>1&255;a[b+3>>0]=s;a[b+(t+2)>>0]=s;a[b+(l|1)>>0]=s;r=f*6|0;a[b+r>>0]=s;n=(n+2+(o<<1)+p|0)>>>2&255;a[b+(f+3)>>0]=n;a[b+(k+2)>>0]=n;a[b+(m+1)>>0]=n;s=f*7|0;a[b+s>>0]=n;n=(o+1+p|0)>>>1&255;a[b+4>>0]=n;a[b+(t+3)>>0]=n;a[b+(l|2)>>0]=n;a[b+(r|1)>>0]=n;o=(o+2+(p<<1)+q|0)>>>2&255;a[b+(f+4)>>0]=o;a[b+(k+3)>>0]=o;a[b+(m+2)>>0]=o;a[b+(s+1)>>0]=o;o=(p+1+q|0)>>>1&255;a[b+5>>0]=o;a[b+(t+4)>>0]=o;a[b+(l|3)>>0]=o;a[b+(r+2)>>0]=o;p=(p+2+(q<<1)+j|0)>>>2&255;a[b+(f+5)>>0]=p;a[b+(k+4)>>0]=p;a[b+(m+3)>>0]=p;a[b+(s+2)>>0]=p;p=(q+1+j|0)>>>1&255;a[b+6>>0]=p;a[b+(t+5)>>0]=p;a[b+(l+4)>>0]=p;a[b+(r+3)>>0]=p;q=(q+2+(j<<1)+c|0)>>>2&255;a[b+(f+6)>>0]=q;a[b+(k+5)>>0]=q;a[b+(m+4)>>0]=q;a[b+(s+3)>>0]=q;q=(j+1+c|0)>>>1&255;a[b+7>>0]=q;a[b+(t+6)>>0]=q;a[b+(l+5)>>0]=q;a[b+(r+4)>>0]=q;q=(j+2+(c<<1)+i|0)>>>2&255;a[b+(f+7)>>0]=q;a[b+(k+6)>>0]=q;a[b+(m+5)>>0]=q;a[b+(s+4)>>0]=q;f=(c+1+i|0)>>>1&255;a[b+(t+7)>>0]=f;a[b+(l+6)>>0]=f;a[b+(r+5)>>0]=f;f=(c+2+(i<<1)+h|0)>>>2&255;a[b+(k+7)>>0]=f;a[b+(m+6)>>0]=f;a[b+(s+5)>>0]=f;f=(i+1+h|0)>>>1&255;a[b+(l+7)>>0]=f;a[b+(r+6)>>0]=f;f=(i+2+(h<<1)+g|0)>>>2&255;a[b+(m+7)>>0]=f;a[b+(s+6)>>0]=f;a[b+(r+7)>>0]=(h+1+g|0)>>>1;a[b+(s+7)>>0]=(h+2+(g<<1)+e|0)>>>2;return}function Ts(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d[b+((H(((c|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;q=d[b+-1>>0]|0;p=d[b+(f+-1)>>0]|0;r=(r+2+(q<<1)+p|0)>>>2;l=f<<1;o=d[b+(l+-1)>>0]|0;q=(q+2+(p<<1)+o|0)>>>2;j=f*3|0;n=d[b+(j+-1)>>0]|0;p=(p+2+(o<<1)+n|0)>>>2;h=f<<2;m=d[b+(h+-1)>>0]|0;o=(o+2+(n<<1)+m|0)>>>2;g=f*5|0;k=d[b+(g+-1)>>0]|0;n=(n+2+(m<<1)+k|0)>>>2;c=f*6|0;s=d[b+(c+-1)>>0]|0;m=(m+2+(k<<1)+s|0)>>>2;e=f*7|0;i=d[b+(e+-1)>>0]|0;k=(k+2+(s<<1)+i|0)>>>2;i=(s+2+(i*3|0)|0)>>>2;a[b>>0]=(r+1+q|0)>>>1;a[b+1>>0]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&255;a[b+2>>0]=r;a[b+f>>0]=r;q=(q+2+(p<<1)+o|0)>>>2&255;a[b+3>>0]=q;a[b+(f+1)>>0]=q;q=(p+1+o|0)>>>1&255;a[b+4>>0]=q;a[b+(f+2)>>0]=q;a[b+l>>0]=q;p=(p+2+(o<<1)+n|0)>>>2&255;a[b+5>>0]=p;a[b+(f+3)>>0]=p;a[b+(l|1)>>0]=p;p=(o+1+n|0)>>>1&255;a[b+6>>0]=p;a[b+(f+4)>>0]=p;a[b+(l+2)>>0]=p;a[b+j>>0]=p;o=(o+2+(n<<1)+m|0)>>>2&255;a[b+7>>0]=o;a[b+(f+5)>>0]=o;a[b+(l+3)>>0]=o;a[b+(j+1)>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(f+6)>>0]=o;a[b+(l+4)>>0]=o;a[b+(j+2)>>0]=o;a[b+h>>0]=o;n=(n+2+(m<<1)+k|0)>>>2&255;a[b+(f+7)>>0]=n;a[b+(l+5)>>0]=n;a[b+(j+3)>>0]=n;a[b+(h|1)>>0]=n;f=(m+1+k|0)>>>1&255;a[b+(l+6)>>0]=f;a[b+(j+4)>>0]=f;a[b+(h|2)>>0]=f;a[b+g>>0]=f;f=(m+2+i+(k<<1)|0)>>>2&255;a[b+(l+7)>>0]=f;a[b+(j+5)>>0]=f;a[b+(h|3)>>0]=f;a[b+(g+1)>>0]=f;f=(i+1+k|0)>>>1&255;a[b+(j+6)>>0]=f;a[b+(h+4)>>0]=f;a[b+(g+2)>>0]=f;a[b+c>>0]=f;f=(k+2+(i*3|0)|0)>>>2&255;a[b+(j+7)>>0]=f;a[b+(h+5)>>0]=f;a[b+(g+3)>>0]=f;a[b+(c|1)>>0]=f;f=i&255;a[b+(e+7)>>0]=f;a[b+(c+7)>>0]=f;a[b+(g+7)>>0]=f;a[b+(h+7)>>0]=f;a[b+(e+6)>>0]=f;a[b+(c+6)>>0]=f;a[b+(g+6)>>0]=f;a[b+(h+6)>>0]=f;a[b+(e+5)>>0]=f;a[b+(c+5)>>0]=f;a[b+(g+5)>>0]=f;a[b+(e+4)>>0]=f;a[b+(c+4)>>0]=f;a[b+(g+4)>>0]=f;a[b+(e+3)>>0]=f;a[b+(c+3)>>0]=f;a[b+(e+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+(e+1)>>0]=f;a[b+e>>0]=f;return}function Us(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;l=d[a+-1>>0]|0;k=d[a+(f+-1)>>0]|0;j=d[a+((f<<1)+-1)>>0]|0;i=d[a+((f*3|0)+-1)>>0]|0;h=d[a+((f<<2)+-1)>>0]|0;g=d[a+((f*5|0)+-1)>>0]|0;b=d[a+((f*6|0)+-1)>>0]|0;e=d[a+((f*7|0)+-1)>>0]|0;e=H(((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(g<<1)+b|0)>>>2)+((g+2+(b<<1)+e|0)>>>2)+((b+2+(e*3|0)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Vs(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[a+(0-f)>>0]|0;m=d[a+(1-f)>>0]|0;l=d[a+(2-f)>>0]|0;k=d[a+(3-f)>>0]|0;j=d[a+(4-f)>>0]|0;i=d[a+(5-f)>>0]|0;h=d[a+(6-f)>>0]|0;g=d[a+(7-f)>>0]|0;e=H((((d[a+((((b|0)!=0)<<31>>31)-f)>>0]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+h|0)>>>2)+((i+2+(h<<1)+g|0)>>>2)+((h+2+(d[a+((e|0?8:7)-f)>>0]|0)+(g<<1)|0)>>>2)>>3,16843009)|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=e;c[a+4>>2]=e;b=b+1|0;a=a+f|0}return}function Ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=0;while(1){if((b|0)==8)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;b=b+1|0;a=a+e|0}return}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==8)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+(0-b)|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=0;while(1){if((d|0)==16)break;g=a+(H(d,b)|0)|0;c[g>>2]=e;c[g+4>>2]=f;d=d+1|0}return}function Zs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==8)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function _s(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;e=e+1|0}return}function $s(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0-c|0;j=b+3+i|0;g=b+(c<<2)+-1|0;f=g+(0-(c<<1))|0;p=(c*7|0)+-1|0;q=~c;k=(d[g>>0]|0)-(d[f>>0]|0)|0;e=(d[j+1>>0]|0)-(d[j+-1>>0]|0)|0;h=2;while(1){if((h|0)==5)break;o=g+c|0;n=f+i|0;m=(H((d[j+h>>0]|0)-(d[j+(0-h)>>0]|0)|0,h)|0)+e|0;k=(H((d[o>>0]|0)-(d[n>>0]|0)|0,h)|0)+k|0;e=m;f=n;g=o;h=h+1|0}o=(e*17|0)+16>>5;h=(k*17|0)+16>>5;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=8;f=(H(h+o|0,-3)|0)+16+((d[b+q+8>>0]|0)+(d[b+p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function at(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=0-c|0;i=b+3+m|0;h=b+(c<<3)+-1|0;g=h+(0-(c<<1))|0;k=(c*11|0)+-1|0;j=(c*3|0)+-1|0;e=2;f=(d[h>>0]|0)-(d[g>>0]|0)|0;l=(d[i+1>>0]|0)-(d[i+-1>>0]|0)|0;while(1){if((e|0)==5)break;q=h+c|0;p=g+m|0;o=(H((d[i+e>>0]|0)-(d[i+(0-e)>>0]|0)|0,e)|0)+l|0;n=(H((d[q>>0]|0)-(d[p>>0]|0)|0,e)|0)+f|0;e=e+1|0;f=n;l=o;g=p;h=q}e=5;q=b+j|0;p=b+k|0;while(1){if((e|0)>=9)break;o=p+c|0;n=q+m|0;f=(H((d[o>>0]|0)-(d[n>>0]|0)|0,e)|0)+f|0;e=e+1|0;q=n;p=o}o=(l*17|0)+16>>5;h=(f*5|0)+32>>6;i=o*3|0;j=o<<1;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=16;f=16-i+(H(h,-7)|0)+((d[q+8>>0]|0)+(d[p>>0]|0)<<4)|0;e=b;while(1){if((g|0)<=0)break;b=f>>5;a[e>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+o>>5;a[e+1>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+j>>5;a[e+2>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+i>>5;a[e+3>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+k>>5;a[e+4>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+l>>5;a[e+5>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+m>>5;a[e+6>>0]=b>>>0>255?(b^-2147483648)>>31:b;b=f+n>>5;a[e+7>>0]=b>>>0>255?(b^-2147483648)>>31:b;g=g+-1|0;f=f+h|0;e=e+c|0}return}function bt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=0;f=0;g=0;h=0;while(1){if((e|0)==4)break;j=d[a+((H(e,b)|0)+-1)>>0]|0;j=f+j+(d[a+(e-b)>>0]|0)|0;k=e+4|0;e=e+1|0;f=j;g=g+(d[a+(k-b)>>0]|0)|0;h=h+(d[a+((H(k,b)|0)+-1)>>0]|0)|0}i=H(f+4>>3,16843009)|0;j=H(g+2>>2,16843009)|0;k=h+2>>2;f=h+4+g>>3;e=0;while(1){if((e|0)==4)break;h=a+(H(e,b)|0)|0;c[h>>2]=i;c[h+4>>2]=j;e=e+1|0}g=H(k,16843009)|0;f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;k=a+(H(e,b)|0)|0;c[k>>2]=g;c[k+4>>2]=f;e=e+1|0}return}function ct(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;g=0;while(1){if((e|0)==4)break;i=f+(d[a+((H(e,b)|0)+-1)>>0]|0)|0;h=g+(d[a+((H(e+4|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=i;g=h}h=H(f+2>>2,16843009)|0;f=g+2>>2;e=0;while(1){if((e|0)==4)break;i=a+(H(e,b)|0)|0;c[i>>2]=h;c[i+4>>2]=h;e=e+1|0}f=H(f,16843009)|0;e=4;while(1){if((e|0)==8)break;i=a+(H(e,b)|0)|0;c[i>>2]=f;c[i+4>>2]=f;e=e+1|0}return}function dt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function et(a,b){a=a|0;b=b|0;dt(a,b);zs(a,0,b);return}function ft(a,b){a=a|0;b=b|0;bt(a,b);Js(a,0,b);return}function gt(a,b){a=a|0;b=b|0;ct(a,b);a=a+(b<<2)|0;Ks(a,0,b);Ks(a+4|0,0,b);return}function ht(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=0;f=0;i=0;g=0;h=0;j=0;while(1){if((e|0)==4)break;k=d[a+((H(e,b)|0)+-1)>>0]|0;k=f+k+(d[a+(e-b)>>0]|0)|0;l=e+4|0;m=g+(d[a+((H(l,b)|0)+-1)>>0]|0)|0;n=h+(d[a+((H(e+8|0,b)|0)+-1)>>0]|0)|0;o=j+(d[a+((H(e+12|0,b)|0)+-1)>>0]|0)|0;e=e+1|0;f=k;i=i+(d[a+(l-b)>>0]|0)|0;g=m;h=n;j=o}f=H(f+4>>3,16843009)|0;k=H(i+2>>2,16843009)|0;l=g+2>>2;g=g+4+i>>3;m=h+2>>2;h=h+4+i>>3;o=j+2>>2;n=j+4+i>>3;e=0;while(1){if((e|0)==4)break;j=a+(H(e,b)|0)|0;c[j>>2]=f;c[j+4>>2]=k;e=e+1|0}k=H(l,16843009)|0;i=H(g,16843009)|0;j=H(m,16843009)|0;g=H(h,16843009)|0;h=H(o,16843009)|0;f=H(n,16843009)|0;e=4;while(1){if((e|0)==8){e=8;break}o=a+(H(e,b)|0)|0;c[o>>2]=k;c[o+4>>2]=i;e=e+1|0}while(1){if((e|0)==12){e=12;break}o=a+(H(e,b)|0)|0;c[o>>2]=j;c[o+4>>2]=g;e=e+1|0}while(1){if((e|0)==16)break;o=a+(H(e,b)|0)|0;c[o>>2]=h;c[o+4>>2]=f;e=e+1|0}return}function it(a,b){a=a|0;b=b|0;ct(a,b);ct(a+(b<<3)|0,b);return}function jt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=4-b|0;e=0;f=0;h=0;while(1){if((e|0)==4)break;j=f+(d[a+(e-b)>>0]|0)|0;i=h+(d[a+(g+e)>>0]|0)|0;e=e+1|0;f=j;h=i}g=H(f+2>>2,16843009)|0;f=H(h+2>>2,16843009)|0;e=0;while(1){if((e|0)==16)break;j=a+(H(e,b)|0)|0;c[j>>2]=g;c[j+4>>2]=f;e=e+1|0}return}function kt(a,b){a=a|0;b=b|0;jt(a,b);zs(a,0,b);return}function lt(a,b){a=a|0;b=b|0;ht(a,b);Js(a,0,b);return}function mt(a,b){a=a|0;b=b|0;it(a,b);a=a+(b<<2)|0;Ks(a,0,b);Ks(a+4|0,0,b);return}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=2139062143;c[e+4>>2]=2139062143;d=d+1|0}return}function ot(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2122219135;c[e+4>>2]=-2122219135;d=d+1|0}return}function pt(a,b){a=a|0;b=b|0;it(a,b);Ks(a,0,b);Ks(a+4|0,0,b);return}function qt(a,b){a=a|0;b=b|0;ct(a,b);Ks(a,0,b);Ks(a+4|0,0,b);return}function rt(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)==8)break;e=a+(H(d,b)|0)|0;c[e>>2]=-2139062144;c[e+4>>2]=-2139062144;d=d+1|0}return}function st(a,b){a=a|0;b=b|0;rt(a,b);rt(a+(b<<3)|0,b);return}function tt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16){f=0;break}e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+16>>5,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+(0-b)|0;f=c[e>>2]|0;g=c[e+4>>2]|0;h=c[e+8>>2]|0;e=c[e+12>>2]|0;d=0;while(1){if((d|0)==16)break;i=a+(H(d,b)|0)|0;c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=h;c[i+12>>2]=e;d=d+1|0}return}function vt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16)break;f=H(e,b)|0;g=H(d[a+(f+-1)>>0]|0,16843009)|0;f=a+f|0;c[f>>2]=g;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=g;e=e+1|0}return}function wt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=2139062143;c[a+4>>2]=2139062143;c[a+8>>2]=2139062143;c[a+12>>2]=2139062143;a=a+b|0;d=d+1|0}return}function xt(a,b){a=a|0;b=b|0;Wt(a,b,0,0);return}function yt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2122219135;c[a+4>>2]=-2122219135;c[a+8>>2]=-2122219135;c[a+12>>2]=-2122219135;a=a+b|0;d=d+1|0}return}function zt(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function At(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;f=0;while(1){if((f|0)==16)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H(e+8>>4,16843009)|0;e=0;while(1){if((e|0)==16)break;c[a>>2]=f;c[a+4>>2]=f;c[a+8>>2]=f;c[a+12>>2]=f;a=a+b|0;e=e+1|0}return}function Bt(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)==16)break;c[a>>2]=-2139062144;c[a+4>>2]=-2139062144;c[a+8>>2]=-2139062144;c[a+12>>2]=-2139062144;a=a+b|0;d=d+1|0}return}function Ct(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=g<<1;k=g*3|0;l=g<<2;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==4)break;m=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=m;m=m+(e[i+8>>1]|0)|0;a[c+j>>0]=m;m=m+(e[i+16>>1]|0)|0;a[c+k>>0]=m;a[c+l>>0]=m+(e[i+24>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Dt(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;a[c+3>>0]=j+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Et(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;j=g*7|0;k=g<<3;i=f;c=c+(0-g)|0;h=0;while(1){if((h|0)==8)break;q=(e[i>>1]|0)+(d[c>>0]|0)|0;a[c+g>>0]=q;q=q+(e[i+16>>1]|0)|0;a[c+l>>0]=q;q=q+(e[i+32>>1]|0)|0;a[c+m>>0]=q;q=q+(e[i+48>>1]|0)|0;a[c+n>>0]=q;q=q+(e[i+64>>1]|0)|0;a[c+o>>0]=q;q=q+(e[i+80>>1]|0)|0;a[c+p>>0]=q;q=q+(e[i+96>>1]|0)|0;a[c+j>>0]=q;a[c+k>>0]=q+(e[i+112>>1]|0);i=i+2|0;c=c+1|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Ft(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;j=(e[i>>1]|0)+(d[c+-1>>0]|0)|0;a[c>>0]=j;j=j+(e[i+2>>1]|0)|0;a[c+1>>0]=j;j=j+(e[i+4>>1]|0)|0;a[c+2>>0]=j;j=j+(e[i+6>>1]|0)|0;a[c+3>>0]=j;j=j+(e[i+8>>1]|0)|0;a[c+4>>0]=j;j=j+(e[i+10>>1]|0)|0;a[c+5>>0]=j;j=j+(e[i+12>>1]|0)|0;a[c+6>>0]=j;a[c+7>>0]=j+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function Gt(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Ec;Ec=Ec+16|0;q=r;t=d[c+(0-i)>>0]|0;s=d[c+(1-i)>>0]|0;j=d[c+(2-i)>>0]|0;p=d[c+(3-i)>>0]|0;o=d[c+(4-i)>>0]|0;n=d[c+(5-i)>>0]|0;m=d[c+(6-i)>>0]|0;l=d[c+(7-i)>>0]|0;k=(m+2+(d[c+((h|0?8:7)-i)>>0]|0)+(l<<1)|0)>>>2;a[q>>0]=((d[c+((((g|0)!=0)<<31>>31)-i)>>0]|0)+2+(t<<1)+s|0)>>>2;a[q+1>>0]=(t+2+(s<<1)+j|0)>>>2;a[q+2>>0]=(s+2+(j<<1)+p|0)>>>2;a[q+3>>0]=(j+2+(p<<1)+o|0)>>>2;a[q+4>>0]=(p+2+(o<<1)+n|0)>>>2;a[q+5>>0]=(o+2+(n<<1)+m|0)>>>2;a[q+6>>0]=(n+2+(m<<1)+l|0)>>>2;a[q+7>>0]=k;k=i<<1;l=i*3|0;m=i<<2;n=i*5|0;o=i*6|0;p=i*7|0;j=0;g=c;h=f;while(1){if((j|0)==8)break;t=(e[h>>1]|0)+(d[q+j>>0]|0)|0;a[g>>0]=t;t=t+(e[h+16>>1]|0)|0;a[g+i>>0]=t;t=t+(e[h+32>>1]|0)|0;a[g+k>>0]=t;t=t+(e[h+48>>1]|0)|0;a[g+l>>0]=t;t=t+(e[h+64>>1]|0)|0;a[g+m>>0]=t;t=t+(e[h+80>>1]|0)|0;a[g+n>>0]=t;t=t+(e[h+96>>1]|0)|0;a[g+o>>0]=t;a[g+p>>0]=t+(e[h+112>>1]|0);j=j+1|0;g=g+1|0;h=h+2|0}g=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(g|0));Ec=r;return}function Ht(c,f,g,h,i){c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=Ec;Ec=Ec+16|0;k=l;r=d[c+((H(((g|0)!=0)<<31>>31,i)|0)+-1)>>0]|0;q=d[c+-1>>0]|0;p=d[c+(i+-1)>>0]|0;o=d[c+((i<<1)+-1)>>0]|0;n=d[c+((i*3|0)+-1)>>0]|0;m=d[c+((i<<2)+-1)>>0]|0;g=d[c+((i*5|0)+-1)>>0]|0;h=d[c+((i*6|0)+-1)>>0]|0;j=d[c+((i*7|0)+-1)>>0]|0;a[k>>0]=(r+2+(q<<1)+p|0)>>>2;a[k+1>>0]=(q+2+(p<<1)+o|0)>>>2;a[k+2>>0]=(p+2+(o<<1)+n|0)>>>2;a[k+3>>0]=(o+2+(n<<1)+m|0)>>>2;a[k+4>>0]=(n+2+(m<<1)+g|0)>>>2;a[k+5>>0]=(m+2+(g<<1)+h|0)>>>2;a[k+6>>0]=(g+2+(h<<1)+j|0)>>>2;a[k+7>>0]=(h+2+(j*3|0)|0)>>>2;j=0;h=c;g=f;while(1){if((j|0)==8)break;r=(e[g>>1]|0)+(d[k+j>>0]|0)|0;a[h>>0]=r;r=r+(e[g+2>>1]|0)|0;a[h+1>>0]=r;r=r+(e[g+4>>1]|0)|0;a[h+2>>0]=r;r=r+(e[g+6>>1]|0)|0;a[h+3>>0]=r;r=r+(e[g+8>>1]|0)|0;a[h+4>>0]=r;r=r+(e[g+10>>1]|0)|0;a[h+5>>0]=r;r=r+(e[g+12>>1]|0)|0;a[h+6>>0]=r;a[h+7>>0]=r+(e[g+14>>1]|0);j=j+1|0;h=h+i|0;g=g+16|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));Ec=l;return}function It(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Ct(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Ct(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Ct(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Dt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Dt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Dt(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Ct(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function Nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;ns(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ot(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;_q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Pt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Lp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;wo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Dt(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<4<<1)|0,e);f=f+1|0}return}function St(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;os(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Tt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;$q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Ut(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;Mp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==16)break;xo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Wt(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=0-c|0;l=b+7+k|0;i=b+(c<<3)+-1|0;h=i+(0-(c<<1))|0;j=(c*15|0)+-1|0;m=~c;g=2;n=(d[i>>0]|0)-(d[h>>0]|0)|0;o=(d[l+1>>0]|0)-(d[l+-1>>0]|0)|0;while(1){if((g|0)==9)break;p=i+c|0;q=h+k|0;r=(H((d[l+g>>0]|0)-(d[l+(0-g)>>0]|0)|0,g)|0)+o|0;s=(H((d[p>>0]|0)-(d[q>>0]|0)|0,g)|0)+n|0;g=g+1|0;n=s;o=r;h=q;i=p}h=b+j|0;g=b+m|0;do if(!e)if(!f){f=(n*5|0)+32>>6;k=(o*5|0)+32>>6;break}else{f=(n>>2)+n>>4;k=(o>>2)+o>>4;break}else{f=(((o|0)/4|0)*5|0)/16|0;k=(((n|0)/4|0)*5|0)/16|0}while(0);l=k<<1;m=k*3|0;e=k<<2;i=(H(f+k|0,-7)|0)+16+((d[g+16>>0]|0)+(d[h>>0]|0)<<4)|0;j=16;while(1){if((j|0)>0){g=i;h=-16}else break;while(1){if((h|0)>=0)break;s=g>>5;a[b+(h+16)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+k>>5;a[b+(h+17)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+l>>5;a[b+(h+18)>>0]=s>>>0>255?(s^-2147483648)>>31:s;s=g+m>>5;a[b+(h+19)>>0]=s>>>0>255?(s^-2147483648)>>31:s;g=g+e|0;h=h+4|0}i=i+f|0;j=j+-1|0;b=b+c|0}return}function Xt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Yt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function Zt(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function _t(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c>>1;h=0-p|0;i=a+14+(h<<1)|0;g=a+(p<<3<<1)+-2|0;o=p<<1;f=g+(0-o<<1)|0;n=a+((p*30|0)+-2)|0;o=a+(-2-o)|0;c=2;j=(e[g>>1]|0)-(e[f>>1]|0)|0;d=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;while(1){if((c|0)==9)break;m=g+(p<<1)|0;l=f+(h<<1)|0;k=(H((e[i+(c<<1)>>1]|0)-(e[i+(0-c<<1)>>1]|0)|0,c)|0)+d|0;q=(H((e[m>>1]|0)-(e[l>>1]|0)|0,c)|0)+j|0;c=c+1|0;j=q;d=k;f=l;g=m}m=(d*5|0)+32>>6;i=(j*5|0)+32>>6;j=m<<1;k=m*3|0;l=m<<2;g=(H(i+m|0,-7)|0)+16+((e[o+32>>1]|0)+(e[n>>1]|0)<<4)|0;h=16;f=a;while(1){if((h|0)>0){c=g;d=-16}else break;while(1){if((d|0)>=0)break;q=c>>5;b[f+(d+16<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+m>>5;b[f+(d+17<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+j>>5;b[f+(d+18<<1)>>1]=q>>>0<512?q:0-q>>31&511;q=c+k>>5;b[f+(d+19<<1)>>1]=q>>>0<512?q:0-q>>31&511;c=c+l|0;d=d+4|0}g=g+i|0;h=h+-1|0;f=f+(p<<1)|0}return}function $t(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=d[b+(0-e)>>0]|0;n=d[b+(1-e)>>0]|0;m=d[b+(2-e)>>0]|0;l=d[b+(3-e)>>0]|0;k=d[c>>0]|0;j=d[c+1>>0]|0;c=d[c+2>>0]|0;o=n<<1;a[b>>0]=(f+4+h+o+(p+g<<1)|0)>>>3;q=(n+1+m|0)>>>1&255;f=e<<1;a[b+f>>0]=q;a[b+1>>0]=q;q=(m+1+l|0)>>>1&255;a[b+(f|1)>>0]=q;a[b+2>>0]=q;q=(l+1+k|0)>>>1&255;a[b+(f+2)>>0]=q;a[b+3>>0]=q;a[b+(f+3)>>0]=(k+1+j|0)>>>1;a[b+e>>0]=(g+4+(h<<1)+i+p+o+m|0)>>>3;h=(n+2+(m<<1)+l|0)>>>2&255;i=e*3|0;a[b+i>>0]=h;a[b+(e+1)>>0]=h;h=(m+2+(l<<1)+k|0)>>>2&255;a[b+(i+1)>>0]=h;a[b+(e+2)>>0]=h;h=(l+2+(k<<1)+j|0)>>>2&255;a[b+(i+2)>>0]=h;a[b+(e+3)>>0]=h;a[b+(i+3)>>0]=(k+2+(j<<1)+c|0)>>>2;return}function au(a,b,c){a=a|0;b=b|0;c=c|0;aI(a,b,c);return}function bu(a,b,c){a=a|0;b=b|0;c=c|0;$H(a,b,c);return}function cu(a,b,c){a=a|0;b=b|0;c=c|0;_H(a,b,c);return}function du(a,b,c){a=a|0;b=b|0;c=c|0;ZH(a,b,c);return}function eu(a,b,c){a=a|0;b=b|0;c=c|0;YH(a,b,c);return}function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;uG(e,b,32,c);XH(a,b,e,c,c);Ec=d;return}function gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;qG(e,b,32,c);WH(a,b,e,c,c);Ec=d;return}function hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;mG(e,b,32,c);VH(a,b,e,c,c);Ec=d;return}function iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+256|0;e=d;iG(e,b,16,c);UH(a,b,e,c,c);Ec=d;return}function ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;eG(e,b,32,c);TH(a,b,e,c,c);Ec=d;return}function ku(a,b,c){a=a|0;b=b|0;c=c|0;uG(a,b,c,c);return}function lu(a,b,c){a=a|0;b=b|0;c=c|0;qG(a,b,c,c);return}function mu(a,b,c){a=a|0;b=b|0;c=c|0;mG(a,b,c,c);return}function nu(a,b,c){a=a|0;b=b|0;c=c|0;iG(a,b,c,c);return}function ou(a,b,c){a=a|0;b=b|0;c=c|0;eG(a,b,c,c);return}function pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;uG(e,b,32,c);XH(a,b+2|0,e,c,c);Ec=d;return}function qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;qG(e,b,32,c);WH(a,b+2|0,e,c,c);Ec=d;return}function ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;mG(e,b,32,c);VH(a,b+2|0,e,c,c);Ec=d;return}function su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+256|0;e=d;iG(e,b,16,c);UH(a,b+1|0,e,c,c);Ec=d;return}function tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;eG(e,b,32,c);TH(a,b+2|0,e,c,c);Ec=d;return}function uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;vG(g,b+(0-(c<<1))|0,c);wG(e,f,32);XH(a,f,e,c,32);Ec=d;return}function vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;rG(g,b+(0-(c<<1))|0,c);sG(e,f,32);WH(a,f,e,c,32);Ec=d;return}function wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;nG(g,b+(0-(c<<1))|0,c);oG(e,f,32);VH(a,f,e,c,32);Ec=d;return}function xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+592|0;g=d+256|0;e=d;f=g+32|0;jG(g,b+(0-(c<<1))|0,c);kG(e,f,16);UH(a,f,e,c,16);Ec=d;return}function yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;fG(g,b+(0-(c<<1))|0,c);gG(e,f,32);TH(a,f,e,c,32);Ec=d;return}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);XH(a,f,e,c,32);Ec=d;return}function Au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b,32,c);rG(g,b+(0-(c<<1))|0,c);sG(e,g+64|0,32);WH(a,f,e,c,32);Ec=d;return}function Bu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b,32,c);nG(g,b+(0-(c<<1))|0,c);oG(e,g+64|0,32);VH(a,f,e,c,32);Ec=d;return}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b,16,c);jG(g,b+(0-(c<<1))|0,c);kG(e,g+32|0,16);UH(a,f,e,c,16);Ec=d;return}function Du(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b,32,c);fG(g,b+(0-(c<<1))|0,c);gG(e,g+64|0,32);TH(a,f,e,c,32);Ec=d;return}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;uG(f,b,32,c);CG(e,d,b,32,c);XH(a,f,e,c,32);Ec=d;return}function Fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;qG(f,b,32,c);BG(e,d,b,32,c);WH(a,f,e,c,32);Ec=d;return}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;mG(f,b,32,c);AG(e,d,b,32,c);VH(a,f,e,c,32);Ec=d;return}function Hu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+928|0;e=d+672|0;iG(f,b,16,c);zG(e,d,b,16,c);UH(a,f,e,c,16);Ec=d;return}function Iu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;eG(f,b,32,c);yG(e,d,b,32,c);TH(a,f,e,c,32);Ec=d;return}function Ju(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);XH(a,f,e,c,32);Ec=d;return}function Ku(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b,32,c);rG(g,b+(0-(c<<1))+2|0,c);sG(e,g+64|0,32);WH(a,f,e,c,32);Ec=d;return}function Lu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b,32,c);nG(g,b+(0-(c<<1))+2|0,c);oG(e,g+64|0,32);VH(a,f,e,c,32);Ec=d;return}function Mu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b,16,c);jG(g,b+(0-(c<<1))+1|0,c);kG(e,g+32|0,16);UH(a,f,e,c,16);Ec=d;return}function Nu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b,32,c);fG(g,b+(0-(c<<1))+2|0,c);gG(e,g+64|0,32);TH(a,f,e,c,32);Ec=d;return}function Ou(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;vG(e,b+(0-(c<<1))|0,c);wG(a,e+64|0,c);Ec=d;return}function Pu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;rG(e,b+(0-(c<<1))|0,c);sG(a,e+64|0,c);Ec=d;return}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;nG(e,b+(0-(c<<1))|0,c);oG(a,e+64|0,c);Ec=d;return}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+336|0;e=d;jG(e,b+(0-(c<<1))|0,c);kG(a,e+32|0,c);Ec=d;return}function Su(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;fG(e,b+(0-(c<<1))|0,c);gG(a,e+64|0,c);Ec=d;return}function Tu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;vG(g,b+(0-(c<<1))|0,c);wG(f,g+64|0,32);CG(e,d,b,32,c);XH(a,f,e,c,32);Ec=d;return}function Uu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;rG(g,b+(0-(c<<1))|0,c);sG(f,g+64|0,32);BG(e,d,b,32,c);WH(a,f,e,c,32);Ec=d;return}function Vu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;nG(g,b+(0-(c<<1))|0,c);oG(f,g+64|0,32);AG(e,d,b,32,c);VH(a,f,e,c,32);Ec=d;return}function Wu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;jG(g,b+(0-(c<<1))|0,c);kG(f,g+32|0,16);zG(e,d,b,16,c);UH(a,f,e,c,16);Ec=d;return}function Xu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;fG(g,b+(0-(c<<1))|0,c);gG(f,g+64|0,32);yG(e,d,b,32,c);TH(a,f,e,c,32);Ec=d;return}function Yu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+2688|0;CG(a,d,b,c,c);Ec=d;return}function Zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+2688|0;BG(a,d,b,c,c);Ec=d;return}function _u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+1344|0;AG(a,d,b,c,c);Ec=d;return}function $u(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+672|0;zG(a,d,b,c,c);Ec=d;return}function av(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+1344|0;yG(a,d,b,c,c);Ec=d;return}function bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;vG(g,b+(0-(c<<1))+2|0,c);wG(f,g+64|0,32);CG(e,d,b,32,c);XH(a,f,e,c,32);Ec=d;return}function cv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;rG(g,b+(0-(c<<1))+2|0,c);sG(f,g+64|0,32);BG(e,d,b,32,c);WH(a,f,e,c,32);Ec=d;return}function dv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;nG(g,b+(0-(c<<1))+2|0,c);oG(f,g+64|0,32);AG(e,d,b,32,c);VH(a,f,e,c,32);Ec=d;return}function ev(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;jG(g,b+(0-(c<<1))+1|0,c);kG(f,g+32|0,16);zG(e,d,b,16,c);UH(a,f,e,c,16);Ec=d;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;fG(g,b+(0-(c<<1))+2|0,c);gG(f,g+64|0,32);yG(e,d,b,32,c);TH(a,f,e,c,32);Ec=d;return}function gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;vG(f,b+(0-(c<<1))|0,c);wG(e,f+64|0,32);XH(a,f+96|0,e,c,32);Ec=d;return}function hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;rG(f,b+(0-(c<<1))|0,c);sG(e,f+64|0,32);WH(a,f+96|0,e,c,32);Ec=d;return}function iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;nG(f,b+(0-(c<<1))|0,c);oG(e,f+64|0,32);VH(a,f+96|0,e,c,32);Ec=d;return}function jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+592|0;f=d+256|0;e=d;jG(f,b+(0-(c<<1))|0,c);kG(e,f+32|0,16);UH(a,f+48|0,e,c,16);Ec=d;return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;fG(f,b+(0-(c<<1))|0,c);gG(e,f+64|0,32);TH(a,f+96|0,e,c,32);Ec=d;return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);XH(a,f,e,c,32);Ec=d;return}function mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b+c|0,32,c);rG(g,b+(0-(c<<1))|0,c);sG(e,g+64|0,32);WH(a,f,e,c,32);Ec=d;return}function nv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b+c|0,32,c);nG(g,b+(0-(c<<1))|0,c);oG(e,g+64|0,32);VH(a,f,e,c,32);Ec=d;return}function ov(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b+c|0,16,c);jG(g,b+(0-(c<<1))|0,c);kG(e,g+32|0,16);UH(a,f,e,c,16);Ec=d;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b+c|0,32,c);fG(g,b+(0-(c<<1))|0,c);gG(e,g+64|0,32);TH(a,f,e,c,32);Ec=d;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;uG(f,b+c|0,32,c);CG(e,d,b,32,c);XH(a,f,e,c,32);Ec=d;return}function rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;qG(f,b+c|0,32,c);BG(e,d,b,32,c);WH(a,f,e,c,32);Ec=d;return}function sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;mG(f,b+c|0,32,c);AG(e,d,b,32,c);VH(a,f,e,c,32);Ec=d;return}function tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+928|0;e=d+672|0;iG(f,b+c|0,16,c);zG(e,d,b,16,c);UH(a,f,e,c,16);Ec=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;eG(f,b+c|0,32,c);yG(e,d,b,32,c);TH(a,f,e,c,32);Ec=d;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);XH(a,f,e,c,32);Ec=d;return}function wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b+c|0,32,c);rG(g,b+(0-(c<<1))+2|0,c);sG(e,g+64|0,32);WH(a,f,e,c,32);Ec=d;return}function xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b+c|0,32,c);nG(g,b+(0-(c<<1))+2|0,c);oG(e,g+64|0,32);VH(a,f,e,c,32);Ec=d;return}function yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b+c|0,16,c);jG(g,b+(0-(c<<1))+1|0,c);kG(e,g+32|0,16);UH(a,f,e,c,16);Ec=d;return}function zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b+c|0,32,c);fG(g,b+(0-(c<<1))+2|0,c);gG(e,g+64|0,32);TH(a,f,e,c,32);Ec=d;return}function Av(a,b,c){a=a|0;b=b|0;c=c|0;SH(a,b,c,8);return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;RH(a,b,c,8);return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;QH(a,b,c,8);return}function Dv(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c,8);return}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c,8);return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;DF(e,b,16,c);NH(a,b,e,c,c,16,8);Ec=d;return}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;zF(e,b,16,c);MH(a,b,e,c,c,16,8);Ec=d;return}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;vF(e,b,16,c);LH(a,b,e,c,c,16,8);Ec=d;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+64|0;e=d;rF(e,b,8,c);KH(a,b,e,c,c,8,8);Ec=d;return}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;nF(e,b,16,c);JH(a,b,e,c,c,16,8);Ec=d;return}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;DF(a,b,c,c);return}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;zF(a,b,c,c);return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;vF(a,b,c,c);return}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;rF(a,b,c,c);return}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;nF(a,b,c,c);return}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;DF(e,b,16,c);NH(a,b+2|0,e,c,c,16,8);Ec=d;return}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;zF(e,b,16,c);MH(a,b+2|0,e,c,c,16,8);Ec=d;return}function Rv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;vF(e,b,16,c);LH(a,b+2|0,e,c,c,16,8);Ec=d;return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+64|0;e=d;rF(e,b,8,c);KH(a,b+1|0,e,c,c,8,8);Ec=d;return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;nF(e,b,16,c);JH(a,b+2|0,e,c,c,16,8);Ec=d;return}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;EF(g,b+(0-(c<<1))|0,c);FF(e,f,16,16);NH(a,f,e,c,16,16,8);Ec=d;return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;AF(g,b+(0-(c<<1))|0,c);BF(e,f,16,16);MH(a,f,e,c,16,16,8);Ec=d;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;wF(g,b+(0-(c<<1))|0,c);xF(e,f,16,16);LH(a,f,e,c,16,16,8);Ec=d;return}function Xv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+176|0;g=d+64|0;e=d;f=g+16|0;sF(g,b+(0-(c<<1))|0,c);tF(e,f,8,8);KH(a,f,e,c,8,8,8);Ec=d;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;oF(g,b+(0-(c<<1))|0,c);pF(e,f,16,16);JH(a,f,e,c,16,16,8);Ec=d;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);NH(a,f,e,c,16,16,8);Ec=d;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b,16,c);AF(g,b+(0-(c<<1))|0,c);BF(e,g+32|0,16,16);MH(a,f,e,c,16,16,8);Ec=d;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b,16,c);wF(g,b+(0-(c<<1))|0,c);xF(e,g+32|0,16,16);LH(a,f,e,c,16,16,8);Ec=d;return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8,8);KH(a,f,e,c,8,8,8);Ec=d;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b,16,c);oF(g,b+(0-(c<<1))|0,c);pF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Ec=d;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;DF(f,b,16,c);LF(e,d,b,16,16,c);NH(a,f,e,c,16,16,8);Ec=d;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;zF(f,b,16,c);KF(e,d,b,16,16,c);MH(a,f,e,c,16,16,8);Ec=d;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;vF(f,b,16,c);JF(e,d,b,16,16,c);LH(a,f,e,c,16,16,8);Ec=d;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+272|0;e=d+208|0;rF(f,b,8,c);IF(e,d,b,8,8,c);KH(a,f,e,c,8,8,8);Ec=d;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;nF(f,b,16,c);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Ec=d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);NH(a,f,e,c,16,16,8);Ec=d;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b,16,c);AF(g,b+(0-(c<<1))+2|0,c);BF(e,g+32|0,16,16);MH(a,f,e,c,16,16,8);Ec=d;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b,16,c);wF(g,b+(0-(c<<1))+2|0,c);xF(e,g+32|0,16,16);LH(a,f,e,c,16,16,8);Ec=d;return}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))+1|0,c);tF(e,g+16|0,8,8);KH(a,f,e,c,8,8,8);Ec=d;return}function lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b,16,c);oF(g,b+(0-(c<<1))+2|0,c);pF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Ec=d;return}function mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;EF(e,b+(0-(c<<1))|0,c);FF(a,e+32|0,c,16);Ec=d;return}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;AF(e,b+(0-(c<<1))|0,c);BF(a,e+32|0,c,16);Ec=d;return}function ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;wF(e,b+(0-(c<<1))|0,c);xF(a,e+32|0,c,16);Ec=d;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+112|0;e=d;sF(e,b+(0-(c<<1))|0,c);tF(a,e+16|0,c,8);Ec=d;return}function qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;oF(e,b+(0-(c<<1))|0,c);pF(a,e+32|0,c,16);Ec=d;return}function rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;EF(g,b+(0-(c<<1))|0,c);FF(f,g+32|0,16,16);LF(e,d,b,16,16,c);NH(a,f,e,c,16,16,8);Ec=d;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;AF(g,b+(0-(c<<1))|0,c);BF(f,g+32|0,16,16);KF(e,d,b,16,16,c);MH(a,f,e,c,16,16,8);Ec=d;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;wF(g,b+(0-(c<<1))|0,c);xF(f,g+32|0,16,16);JF(e,d,b,16,16,c);LH(a,f,e,c,16,16,8);Ec=d;return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+448|0;g=d+336|0;f=d+272|0;e=d+208|0;sF(g,b+(0-(c<<1))|0,c);tF(f,g+16|0,8,8);IF(e,d,b,8,8,c);KH(a,f,e,c,8,8,8);Ec=d;return}function vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;oF(g,b+(0-(c<<1))|0,c);pF(f,g+32|0,16,16);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Ec=d;return}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+832|0;LF(a,d,b,c,16,c);Ec=d;return}function xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+832|0;KF(a,d,b,c,16,c);Ec=d;return}function yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+416|0;JF(a,d,b,c,16,c);Ec=d;return}function zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+208|0;IF(a,d,b,c,8,c);Ec=d;return}function Aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+416|0;HF(a,d,b,c,16,c);Ec=d;return}function Bw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;EF(g,b+(0-(c<<1))+2|0,c);FF(f,g+32|0,16,16);LF(e,d,b,16,16,c);NH(a,f,e,c,16,16,8);Ec=d;return}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;AF(g,b+(0-(c<<1))+2|0,c);BF(f,g+32|0,16,16);KF(e,d,b,16,16,c);MH(a,f,e,c,16,16,8);Ec=d;return}function Dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;wF(g,b+(0-(c<<1))+2|0,c);xF(f,g+32|0,16,16);JF(e,d,b,16,16,c);LH(a,f,e,c,16,16,8);Ec=d;return}function Ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+448|0;g=d+336|0;f=d+272|0;e=d+208|0;sF(g,b+(0-(c<<1))+1|0,c);tF(f,g+16|0,8,8);IF(e,d,b,8,8,c);KH(a,f,e,c,8,8,8);Ec=d;return}function Fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;oF(g,b+(0-(c<<1))+2|0,c);pF(f,g+32|0,16,16);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Ec=d;return}function Gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;EF(f,b+(0-(c<<1))|0,c);FF(e,f+32|0,16,16);NH(a,f+48|0,e,c,16,16,8);Ec=d;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;AF(f,b+(0-(c<<1))|0,c);BF(e,f+32|0,16,16);MH(a,f+48|0,e,c,16,16,8);Ec=d;return}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;wF(f,b+(0-(c<<1))|0,c);xF(e,f+32|0,16,16);LH(a,f+48|0,e,c,16,16,8);Ec=d;return}function Jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+176|0;f=d+64|0;e=d;sF(f,b+(0-(c<<1))|0,c);tF(e,f+16|0,8,8);KH(a,f+24|0,e,c,8,8,8);Ec=d;return}function Kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;oF(f,b+(0-(c<<1))|0,c);pF(e,f+32|0,16,16);JH(a,f+48|0,e,c,16,16,8);Ec=d;return}function Lw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);NH(a,f,e,c,16,16,8);Ec=d;return}function Mw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b+c|0,16,c);AF(g,b+(0-(c<<1))|0,c);BF(e,g+32|0,16,16);MH(a,f,e,c,16,16,8);Ec=d;return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b+c|0,16,c);wF(g,b+(0-(c<<1))|0,c);xF(e,g+32|0,16,16);LH(a,f,e,c,16,16,8);Ec=d;return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8,8);KH(a,f,e,c,8,8,8);Ec=d;return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b+c|0,16,c);oF(g,b+(0-(c<<1))|0,c);pF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Ec=d;return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;DF(f,b+c|0,16,c);LF(e,d,b,16,16,c);NH(a,f,e,c,16,16,8);Ec=d;return}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;zF(f,b+c|0,16,c);KF(e,d,b,16,16,c);MH(a,f,e,c,16,16,8);Ec=d;return}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;vF(f,b+c|0,16,c);JF(e,d,b,16,16,c);LH(a,f,e,c,16,16,8);Ec=d;return}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+272|0;e=d+208|0;rF(f,b+c|0,8,c);IF(e,d,b,8,8,c);KH(a,f,e,c,8,8,8);Ec=d;return}function Uw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;nF(f,b+c|0,16,c);HF(e,d,b,16,16,c);JH(a,f,e,c,16,16,8);Ec=d;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);NH(a,f,e,c,16,16,8);Ec=d;return}function Ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b+c|0,16,c);AF(g,b+(0-(c<<1))+2|0,c);BF(e,g+32|0,16,16);MH(a,f,e,c,16,16,8);Ec=d;return}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b+c|0,16,c);wF(g,b+(0-(c<<1))+2|0,c);xF(e,g+32|0,16,16);LH(a,f,e,c,16,16,8);Ec=d;return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))+1|0,c);tF(e,g+16|0,8,8);KH(a,f,e,c,8,8,8);Ec=d;return}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b+c|0,16,c);oF(g,b+(0-(c<<1))+2|0,c);pF(e,g+32|0,16,16);JH(a,f,e,c,16,16,8);Ec=d;return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;IH(a,b,c);return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;HH(a,b,c);return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;GH(a,b,c);return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;FH(a,b,c);return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;EH(a,b,c);return}function dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;ME(e,b,8,c);DH(a,b,e,c,c);Ec=d;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;IE(e,b,8,c);CH(a,b,e,c,c);Ec=d;return}function fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;EE(e,b,8,c);BH(a,b,e,c,c);Ec=d;return}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;zE(e,b,4,c);AH(a,b,e,c,c);Ec=d;return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;uE(e,b,8,c);zH(a,b,e,c,c);Ec=d;return}function ix(a,b,c){a=a|0;b=b|0;c=c|0;ME(a,b,c,c);return}function jx(a,b,c){a=a|0;b=b|0;c=c|0;IE(a,b,c,c);return}function kx(a,b,c){a=a|0;b=b|0;c=c|0;EE(a,b,c,c);return}function lx(a,b,c){a=a|0;b=b|0;c=c|0;zE(a,b,c,c);return}function mx(a,b,c){a=a|0;b=b|0;c=c|0;uE(a,b,c,c);return}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;ME(e,b,8,c);DH(a,b+2|0,e,c,c);Ec=d;return}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;IE(e,b,8,c);CH(a,b+2|0,e,c,c);Ec=d;return}function px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;EE(e,b,8,c);BH(a,b+2|0,e,c,c);Ec=d;return}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;zE(e,b,4,c);AH(a,b+1|0,e,c,c);Ec=d;return}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;uE(e,b,8,c);zH(a,b+2|0,e,c,c);Ec=d;return}function sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;NE(g,b+(0-(c<<1))|0,c);OE(e,f,8);DH(a,f,e,c,8);Ec=d;return}function tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;JE(g,b+(0-(c<<1))|0,c);KE(e,f,8);CH(a,f,e,c,8);Ec=d;return}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;FE(g,b+(0-(c<<1))|0,c);GE(e,f,8);BH(a,f,e,c,8);Ec=d;return}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+64|0;g=d+16|0;e=d;f=g+8|0;AE(g,b+(0-(c<<1))|0,c);BE(e,f,4);AH(a,f,e,c,4);Ec=d;return}function wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;vE(g,b+(0-(c<<1))|0,c);wE(e,f,8);zH(a,f,e,c,8);Ec=d;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b,8,c);NE(g,b+(0-(c<<1))|0,c);OE(e,g+16|0,8);DH(a,f,e,c,8);Ec=d;return}function yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b,8,c);JE(g,b+(0-(c<<1))|0,c);KE(e,g+16|0,8);CH(a,f,e,c,8);Ec=d;return}function zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b,8,c);FE(g,b+(0-(c<<1))|0,c);GE(e,g+16|0,8);BH(a,f,e,c,8);Ec=d;return}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b,4,c);AE(g,b+(0-(c<<1))|0,c);BE(e,g+8|0,4);AH(a,f,e,c,4);Ec=d;return}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b,8,c);vE(g,b+(0-(c<<1))|0,c);wE(e,g+16|0,8);zH(a,f,e,c,8);Ec=d;return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;ME(f,b,8,c);UE(e,d,b,8,c);DH(a,f,e,c,8);Ec=d;return}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;IE(f,b,8,c);TE(e,d,b,8,c);CH(a,f,e,c,8);Ec=d;return}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;EE(f,b,8,c);SE(e,d,b,8,c);BH(a,f,e,c,8);Ec=d;return}function Fx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+88|0;e=d+72|0;zE(f,b,4,c);RE(e,d,b,4,c);AH(a,f,e,c,4);Ec=d;return}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;uE(f,b,8,c);QE(e,d,b,8,c);zH(a,f,e,c,8);Ec=d;return}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b,8,c);NE(g,b+(0-(c<<1))+2|0,c);OE(e,g+16|0,8);DH(a,f,e,c,8);Ec=d;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b,8,c);JE(g,b+(0-(c<<1))+2|0,c);KE(e,g+16|0,8);CH(a,f,e,c,8);Ec=d;return}function Jx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b,8,c);FE(g,b+(0-(c<<1))+2|0,c);GE(e,g+16|0,8);BH(a,f,e,c,8);Ec=d;return}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b,4,c);AE(g,b+(0-(c<<1))+1|0,c);BE(e,g+8|0,4);AH(a,f,e,c,4);Ec=d;return}function Lx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b,8,c);vE(g,b+(0-(c<<1))+2|0,c);wE(e,g+16|0,8);zH(a,f,e,c,8);Ec=d;return}function Mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;NE(e,b+(0-(c<<1))|0,c);OE(a,e+16|0,c);Ec=d;return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;JE(e,b+(0-(c<<1))|0,c);KE(a,e+16|0,c);Ec=d;return}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;FE(e,b+(0-(c<<1))|0,c);GE(a,e+16|0,c);Ec=d;return}function Px(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+48|0;e=d;AE(e,b+(0-(c<<1))|0,c);BE(a,e+8|0,c);Ec=d;return}function Qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;vE(e,b+(0-(c<<1))|0,c);wE(a,e+16|0,c);Ec=d;return}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;NE(g,b+(0-(c<<1))|0,c);OE(f,g+16|0,8);UE(e,d,b,8,c);DH(a,f,e,c,8);Ec=d;return}function Sx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;JE(g,b+(0-(c<<1))|0,c);KE(f,g+16|0,8);TE(e,d,b,8,c);CH(a,f,e,c,8);Ec=d;return}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;FE(g,b+(0-(c<<1))|0,c);GE(f,g+16|0,8);SE(e,d,b,8,c);BH(a,f,e,c,8);Ec=d;return}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+104|0;f=d+88|0;e=d+72|0;AE(g,b+(0-(c<<1))|0,c);BE(f,g+8|0,4);RE(e,d,b,4,c);AH(a,f,e,c,4);Ec=d;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;vE(g,b+(0-(c<<1))|0,c);wE(f,g+16|0,8);QE(e,d,b,8,c);zH(a,f,e,c,8);Ec=d;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+288|0;UE(a,d,b,c,c);Ec=d;return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+288|0;TE(a,d,b,c,c);Ec=d;return}function Yx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+144|0;SE(a,d,b,c,c);Ec=d;return}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+80|0;RE(a,d,b,c,c);Ec=d;return}function _x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+144|0;QE(a,d,b,c,c);Ec=d;return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;NE(g,b+(0-(c<<1))+2|0,c);OE(f,g+16|0,8);UE(e,d,b,8,c);DH(a,f,e,c,8);Ec=d;return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;JE(g,b+(0-(c<<1))+2|0,c);KE(f,g+16|0,8);TE(e,d,b,8,c);CH(a,f,e,c,8);Ec=d;return}function by(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;FE(g,b+(0-(c<<1))+2|0,c);GE(f,g+16|0,8);SE(e,d,b,8,c);BH(a,f,e,c,8);Ec=d;return}function cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+104|0;f=d+88|0;e=d+72|0;AE(g,b+(0-(c<<1))+1|0,c);BE(f,g+8|0,4);RE(e,d,b,4,c);AH(a,f,e,c,4);Ec=d;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;vE(g,b+(0-(c<<1))+2|0,c);wE(f,g+16|0,8);QE(e,d,b,8,c);zH(a,f,e,c,8);Ec=d;return}function ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;NE(f,b+(0-(c<<1))|0,c);OE(e,f+16|0,8);DH(a,f+24|0,e,c,8);Ec=d;return}function fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;JE(f,b+(0-(c<<1))|0,c);KE(e,f+16|0,8);CH(a,f+24|0,e,c,8);Ec=d;return}function gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;FE(f,b+(0-(c<<1))|0,c);GE(e,f+16|0,8);BH(a,f+24|0,e,c,8);Ec=d;return}function hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+64|0;f=d+16|0;e=d;AE(f,b+(0-(c<<1))|0,c);BE(e,f+8|0,4);AH(a,f+12|0,e,c,4);Ec=d;return}function iy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;vE(f,b+(0-(c<<1))|0,c);wE(e,f+16|0,8);zH(a,f+24|0,e,c,8);Ec=d;return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b+c|0,8,c);NE(g,b+(0-(c<<1))|0,c);OE(e,g+16|0,8);DH(a,f,e,c,8);Ec=d;return}function ky(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b+c|0,8,c);JE(g,b+(0-(c<<1))|0,c);KE(e,g+16|0,8);CH(a,f,e,c,8);Ec=d;return}function ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b+c|0,8,c);FE(g,b+(0-(c<<1))|0,c);GE(e,g+16|0,8);BH(a,f,e,c,8);Ec=d;return}function my(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b+c|0,4,c);AE(g,b+(0-(c<<1))|0,c);BE(e,g+8|0,4);AH(a,f,e,c,4);Ec=d;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b+c|0,8,c);vE(g,b+(0-(c<<1))|0,c);wE(e,g+16|0,8);zH(a,f,e,c,8);Ec=d;return}function oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;ME(f,b+c|0,8,c);UE(e,d,b,8,c);DH(a,f,e,c,8);Ec=d;return}function py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;IE(f,b+c|0,8,c);TE(e,d,b,8,c);CH(a,f,e,c,8);Ec=d;return}function qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;EE(f,b+c|0,8,c);SE(e,d,b,8,c);BH(a,f,e,c,8);Ec=d;return}function ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+88|0;e=d+72|0;zE(f,b+c|0,4,c);RE(e,d,b,4,c);AH(a,f,e,c,4);Ec=d;return}function sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;uE(f,b+c|0,8,c);QE(e,d,b,8,c);zH(a,f,e,c,8);Ec=d;return}function ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b+c|0,8,c);NE(g,b+(0-(c<<1))+2|0,c);OE(e,g+16|0,8);DH(a,f,e,c,8);Ec=d;return}function uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b+c|0,8,c);JE(g,b+(0-(c<<1))+2|0,c);KE(e,g+16|0,8);CH(a,f,e,c,8);Ec=d;return}function vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b+c|0,8,c);FE(g,b+(0-(c<<1))+2|0,c);GE(e,g+16|0,8);BH(a,f,e,c,8);Ec=d;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b+c|0,4,c);AE(g,b+(0-(c<<1))+1|0,c);BE(e,g+8|0,4);AH(a,f,e,c,4);Ec=d;return}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b+c|0,8,c);vE(g,b+(0-(c<<1))+2|0,c);wE(e,g+16|0,8);zH(a,f,e,c,8);Ec=d;return}function yy(a,b,c){a=a|0;b=b|0;c=c|0;yH(a,b,c);return}function zy(a,b,c){a=a|0;b=b|0;c=c|0;xH(a,b,c);return}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;wH(a,b,c);return}function By(a,b,c){a=a|0;b=b|0;c=c|0;vH(a,b,c);return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;uH(a,b,c);return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;lH(e,b,4,c);oH(a,b,e,c,c);Ec=d;return}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;hH(e,b,4,c);kH(a,b,e,c,c);Ec=d;return}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;dH(e,b,4,c);gH(a,b,e,c,c);Ec=d;return}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;$G(e,b,2,c);cH(a,b,e,c,c);Ec=d;return}function Hy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;XG(e,b,4,c);_G(a,b,e,c,c);Ec=d;return}function Iy(a,b,c){a=a|0;b=b|0;c=c|0;lH(a,b,c,c);return}function Jy(a,b,c){a=a|0;b=b|0;c=c|0;hH(a,b,c,c);return}function Ky(a,b,c){a=a|0;b=b|0;c=c|0;dH(a,b,c,c);return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;$G(a,b,c,c);return}function My(a,b,c){a=a|0;b=b|0;c=c|0;XG(a,b,c,c);return}function Ny(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;lH(e,b,4,c);oH(a,b+2|0,e,c,c);Ec=d;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;hH(e,b,4,c);kH(a,b+2|0,e,c,c);Ec=d;return}function Py(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;dH(e,b,4,c);gH(a,b+2|0,e,c,c);Ec=d;return}function Qy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;$G(e,b,2,c);cH(a,b+1|0,e,c,c);Ec=d;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;XG(e,b,4,c);_G(a,b+2|0,e,c,c);Ec=d;return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+8|0;e=d;f=g+8|0;mH(g,b+(0-(c<<1))|0,c);nH(e,f,4);oH(a,f,e,c,4);Ec=d;return}function Ty(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+8|0;e=d;f=g+8|0;iH(g,b+(0-(c<<1))|0,c);jH(e,f,4);kH(a,f,e,c,4);Ec=d;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+8|0;e=d;f=g+8|0;eH(g,b+(0-(c<<1))|0,c);fH(e,f,4);gH(a,f,e,c,4);Ec=d;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+32|0;g=d+4|0;e=d;f=g+4|0;aH(g,b+(0-(c<<1))|0,c);bH(e,f,2);cH(a,f,e,c,2);Ec=d;return}function Wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+8|0;e=d;f=g+8|0;YG(g,b+(0-(c<<1))|0,c);ZG(e,f,4);_G(a,f,e,c,4);Ec=d;return}function Xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;lH(f,b,4,c);mH(g,b+(0-(c<<1))|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);Ec=d;return}function Yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;hH(f,b,4,c);iH(g,b+(0-(c<<1))|0,c);jH(e,g+8|0,4);kH(a,f,e,c,4);Ec=d;return}function Zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;dH(f,b,4,c);eH(g,b+(0-(c<<1))|0,c);fH(e,g+8|0,4);gH(a,f,e,c,4);Ec=d;return}function _y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+32|0;g=d+8|0;f=d+4|0;e=d;$G(f,b,2,c);aH(g,b+(0-(c<<1))|0,c);bH(e,g+4|0,2);cH(a,f,e,c,2);Ec=d;return}function $y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;XG(f,b,4,c);YG(g,b+(0-(c<<1))|0,c);ZG(e,g+8|0,4);_G(a,f,e,c,4);Ec=d;return}function az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+128|0;f=d+120|0;e=d+112|0;lH(f,b,4,c);tH(e,d,b,4,c);oH(a,f,e,c,4);Ec=d;return}function bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+128|0;f=d+120|0;e=d+112|0;hH(f,b,4,c);sH(e,d,b,4,c);kH(a,f,e,c,4);Ec=d;return}function cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+80|0;f=d+64|0;e=d+56|0;dH(f,b,4,c);rH(e,d,b,4,c);gH(a,f,e,c,4);Ec=d;return}function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+32|0;e=d+28|0;$G(f,b,2,c);qH(e,d,b,2,c);cH(a,f,e,c,2);Ec=d;return}function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+80|0;f=d+64|0;e=d+56|0;XG(f,b,4,c);pH(e,d,b,4,c);_G(a,f,e,c,4);Ec=d;return}function fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;lH(f,b,4,c);mH(g,b+(0-(c<<1))+2|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);Ec=d;return}function gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;hH(f,b,4,c);iH(g,b+(0-(c<<1))+2|0,c);jH(e,g+8|0,4);kH(a,f,e,c,4);Ec=d;return}function hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;dH(f,b,4,c);eH(g,b+(0-(c<<1))+2|0,c);fH(e,g+8|0,4);gH(a,f,e,c,4);Ec=d;return}function iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+32|0;g=d+8|0;f=d+4|0;e=d;$G(f,b,2,c);aH(g,b+(0-(c<<1))+1|0,c);bH(e,g+4|0,2);cH(a,f,e,c,2);Ec=d;return}function jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;XG(f,b,4,c);YG(g,b+(0-(c<<1))+2|0,c);ZG(e,g+8|0,4);_G(a,f,e,c,4);Ec=d;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;mH(e,b+(0-(c<<1))|0,c);nH(a,e+8|0,c);Ec=d;return}function lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;iH(e,b+(0-(c<<1))|0,c);jH(a,e+8|0,c);Ec=d;return}function mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;eH(e,b+(0-(c<<1))|0,c);fH(a,e+8|0,c);Ec=d;return}function nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;aH(e,b+(0-(c<<1))|0,c);bH(a,e+4|0,c);Ec=d;return}function oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;YG(e,b+(0-(c<<1))|0,c);ZG(a,e+8|0,c);Ec=d;return}function pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+160|0;g=d+128|0;f=d+120|0;e=d+112|0;mH(g,b+(0-(c<<1))|0,c);nH(f,g+8|0,4);tH(e,d,b,4,c);oH(a,f,e,c,4);Ec=d;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+160|0;g=d+128|0;f=d+120|0;e=d+112|0;iH(g,b+(0-(c<<1))|0,c);jH(f,g+8|0,4);sH(e,d,b,4,c);kH(a,f,e,c,4);Ec=d;return}function rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+72|0;f=d+64|0;e=d+56|0;eH(g,b+(0-(c<<1))|0,c);fH(f,g+8|0,4);rH(e,d,b,4,c);gH(a,f,e,c,4);Ec=d;return}function sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+64|0;g=d+36|0;f=d+32|0;e=d+28|0;aH(g,b+(0-(c<<1))|0,c);bH(f,g+4|0,2);qH(e,d,b,2,c);cH(a,f,e,c,2);Ec=d;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+72|0;f=d+64|0;e=d+56|0;YG(g,b+(0-(c<<1))|0,c);ZG(f,g+8|0,4);pH(e,d,b,4,c);_G(a,f,e,c,4);Ec=d;return}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+112|0;tH(a,d,b,c,c);Ec=d;return}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+112|0;sH(a,d,b,c,c);Ec=d;return}function wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+64|0;rH(a,d,b,c,c);Ec=d;return}function xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+32|0;qH(a,d,b,c,c);Ec=d;return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+64|0;pH(a,d,b,c,c);Ec=d;return}function zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+160|0;g=d+128|0;f=d+120|0;e=d+112|0;mH(g,b+(0-(c<<1))+2|0,c);nH(f,g+8|0,4);tH(e,d,b,4,c);oH(a,f,e,c,4);Ec=d;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+160|0;g=d+128|0;f=d+120|0;e=d+112|0;iH(g,b+(0-(c<<1))+2|0,c);jH(f,g+8|0,4);sH(e,d,b,4,c);kH(a,f,e,c,4);Ec=d;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+72|0;f=d+64|0;e=d+56|0;eH(g,b+(0-(c<<1))+2|0,c);fH(f,g+8|0,4);rH(e,d,b,4,c);gH(a,f,e,c,4);Ec=d;return}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+64|0;g=d+36|0;f=d+32|0;e=d+28|0;aH(g,b+(0-(c<<1))+1|0,c);bH(f,g+4|0,2);qH(e,d,b,2,c);cH(a,f,e,c,2);Ec=d;return}function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+72|0;f=d+64|0;e=d+56|0;YG(g,b+(0-(c<<1))+2|0,c);ZG(f,g+8|0,4);pH(e,d,b,4,c);_G(a,f,e,c,4);Ec=d;return}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+8|0;e=d;mH(f,b+(0-(c<<1))|0,c);nH(e,f+8|0,4);oH(a,f+12|0,e,c,4);Ec=d;return}function Fz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+8|0;e=d;iH(f,b+(0-(c<<1))|0,c);jH(e,f+8|0,4);kH(a,f+12|0,e,c,4);Ec=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+8|0;e=d;eH(f,b+(0-(c<<1))|0,c);fH(e,f+8|0,4);gH(a,f+12|0,e,c,4);Ec=d;return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+32|0;f=d+4|0;e=d;aH(f,b+(0-(c<<1))|0,c);bH(e,f+4|0,2);cH(a,f+6|0,e,c,2);Ec=d;return}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+8|0;e=d;YG(f,b+(0-(c<<1))|0,c);ZG(e,f+8|0,4);_G(a,f+12|0,e,c,4);Ec=d;return}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;lH(f,b+c|0,4,c);mH(g,b+(0-(c<<1))|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);Ec=d;return}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;hH(f,b+c|0,4,c);iH(g,b+(0-(c<<1))|0,c);jH(e,g+8|0,4);kH(a,f,e,c,4);Ec=d;return}function Lz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;dH(f,b+c|0,4,c);eH(g,b+(0-(c<<1))|0,c);fH(e,g+8|0,4);gH(a,f,e,c,4);Ec=d;return}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+32|0;g=d+8|0;f=d+4|0;e=d;$G(f,b+c|0,2,c);aH(g,b+(0-(c<<1))|0,c);bH(e,g+4|0,2);cH(a,f,e,c,2);Ec=d;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;XG(f,b+c|0,4,c);YG(g,b+(0-(c<<1))|0,c);ZG(e,g+8|0,4);_G(a,f,e,c,4);Ec=d;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+128|0;f=d+120|0;e=d+112|0;lH(f,b+c|0,4,c);tH(e,d,b,4,c);oH(a,f,e,c,4);Ec=d;return}function Pz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+128|0;f=d+120|0;e=d+112|0;hH(f,b+c|0,4,c);sH(e,d,b,4,c);kH(a,f,e,c,4);Ec=d;return}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+80|0;f=d+64|0;e=d+56|0;dH(f,b+c|0,4,c);rH(e,d,b,4,c);gH(a,f,e,c,4);Ec=d;return}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+48|0;f=d+32|0;e=d+28|0;$G(f,b+c|0,2,c);qH(e,d,b,2,c);cH(a,f,e,c,2);Ec=d;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+80|0;f=d+64|0;e=d+56|0;XG(f,b+c|0,4,c);pH(e,d,b,4,c);_G(a,f,e,c,4);Ec=d;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;lH(f,b+c|0,4,c);mH(g,b+(0-(c<<1))+2|0,c);nH(e,g+8|0,4);oH(a,f,e,c,4);Ec=d;return}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;hH(f,b+c|0,4,c);iH(g,b+(0-(c<<1))+2|0,c);jH(e,g+8|0,4);kH(a,f,e,c,4);Ec=d;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;dH(f,b+c|0,4,c);eH(g,b+(0-(c<<1))+2|0,c);fH(e,g+8|0,4);gH(a,f,e,c,4);Ec=d;return}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+32|0;g=d+8|0;f=d+4|0;e=d;$G(f,b+c|0,2,c);aH(g,b+(0-(c<<1))+1|0,c);bH(e,g+4|0,2);cH(a,f,e,c,2);Ec=d;return}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+48|0;g=d+16|0;f=d+8|0;e=d;XG(f,b+c|0,4,c);YG(g,b+(0-(c<<1))+2|0,c);ZG(e,g+8|0,4);_G(a,f,e,c,4);Ec=d;return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;WG(a,b,c);return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;VG(a,b,c);return}function _z(a,b,c){a=a|0;b=b|0;c=c|0;UG(a,b,c);return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;TG(a,b,c);return}function aA(a,b,c){a=a|0;b=b|0;c=c|0;SG(a,b,c);return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;uG(e,b,32,c);xG(a,b,e,c,c);Ec=d;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;qG(e,b,32,c);tG(a,b,e,c,c);Ec=d;return}function dA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;mG(e,b,32,c);pG(a,b,e,c,c);Ec=d;return}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+256|0;e=d;iG(e,b,16,c);lG(a,b,e,c,c);Ec=d;return}function fA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;eG(e,b,32,c);hG(a,b,e,c,c);Ec=d;return}function gA(a,b,c){a=a|0;b=b|0;c=c|0;RG(a,b,c,c);return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;QG(a,b,c,c);return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;PG(a,b,c,c);return}function jA(a,b,c){a=a|0;b=b|0;c=c|0;OG(a,b,c,c);return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;NG(a,b,c,c);return}function lA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;uG(e,b,32,c);xG(a,b+2|0,e,c,c);Ec=d;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;qG(e,b,32,c);tG(a,b+2|0,e,c,c);Ec=d;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;mG(e,b,32,c);pG(a,b+2|0,e,c,c);Ec=d;return}function oA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+256|0;e=d;iG(e,b,16,c);lG(a,b+1|0,e,c,c);Ec=d;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+512|0;e=d;eG(e,b,32,c);hG(a,b+2|0,e,c,c);Ec=d;return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;vG(g,b+(0-(c<<1))|0,c);wG(e,f,32);xG(a,f,e,c,32);Ec=d;return}function rA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;rG(g,b+(0-(c<<1))|0,c);sG(e,f,32);tG(a,f,e,c,32);Ec=d;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;nG(g,b+(0-(c<<1))|0,c);oG(e,f,32);pG(a,f,e,c,32);Ec=d;return}function tA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+592|0;g=d+256|0;e=d;f=g+32|0;jG(g,b+(0-(c<<1))|0,c);kG(e,f,16);lG(a,f,e,c,16);Ec=d;return}function uA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1184|0;g=d+512|0;e=d;f=g+64|0;fG(g,b+(0-(c<<1))|0,c);gG(e,f,32);hG(a,f,e,c,32);Ec=d;return}function vA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);Ec=d;return}function wA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b,32,c);rG(g,b+(0-(c<<1))|0,c);sG(e,g+64|0,32);tG(a,f,e,c,32);Ec=d;return}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b,32,c);nG(g,b+(0-(c<<1))|0,c);oG(e,g+64|0,32);pG(a,f,e,c,32);Ec=d;return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b,16,c);jG(g,b+(0-(c<<1))|0,c);kG(e,g+32|0,16);lG(a,f,e,c,16);Ec=d;return}function zA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b,32,c);fG(g,b+(0-(c<<1))|0,c);gG(e,g+64|0,32);hG(a,f,e,c,32);Ec=d;return}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;uG(f,b,32,c);CG(e,d,b,32,c);xG(a,f,e,c,32);Ec=d;return}function BA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;qG(f,b,32,c);BG(e,d,b,32,c);tG(a,f,e,c,32);Ec=d;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;mG(f,b,32,c);AG(e,d,b,32,c);pG(a,f,e,c,32);Ec=d;return}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+928|0;e=d+672|0;iG(f,b,16,c);zG(e,d,b,16,c);lG(a,f,e,c,16);Ec=d;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;eG(f,b,32,c);yG(e,d,b,32,c);hG(a,f,e,c,32);Ec=d;return}function FA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);Ec=d;return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b,32,c);rG(g,b+(0-(c<<1))+2|0,c);sG(e,g+64|0,32);tG(a,f,e,c,32);Ec=d;return}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b,32,c);nG(g,b+(0-(c<<1))+2|0,c);oG(e,g+64|0,32);pG(a,f,e,c,32);Ec=d;return}function IA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b,16,c);jG(g,b+(0-(c<<1))+1|0,c);kG(e,g+32|0,16);lG(a,f,e,c,16);Ec=d;return}function JA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b,32,c);fG(g,b+(0-(c<<1))+2|0,c);gG(e,g+64|0,32);hG(a,f,e,c,32);Ec=d;return}function KA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;vG(e,b+(0-(c<<1))|0,c);MG(a,e+64|0,c);Ec=d;return}function LA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;rG(e,b+(0-(c<<1))|0,c);LG(a,e+64|0,c);Ec=d;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;nG(e,b+(0-(c<<1))|0,c);KG(a,e+64|0,c);Ec=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+336|0;e=d;jG(e,b+(0-(c<<1))|0,c);JG(a,e+32|0,c);Ec=d;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+672|0;e=d;fG(e,b+(0-(c<<1))|0,c);IG(a,e+64|0,c);Ec=d;return}function PA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;vG(g,b+(0-(c<<1))|0,c);wG(f,g+64|0,32);CG(e,d,b,32,c);xG(a,f,e,c,32);Ec=d;return}function QA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;rG(g,b+(0-(c<<1))|0,c);sG(f,g+64|0,32);BG(e,d,b,32,c);tG(a,f,e,c,32);Ec=d;return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;nG(g,b+(0-(c<<1))|0,c);oG(f,g+64|0,32);AG(e,d,b,32,c);pG(a,f,e,c,32);Ec=d;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;jG(g,b+(0-(c<<1))|0,c);kG(f,g+32|0,16);zG(e,d,b,16,c);lG(a,f,e,c,16);Ec=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;fG(g,b+(0-(c<<1))|0,c);gG(f,g+64|0,32);yG(e,d,b,32,c);hG(a,f,e,c,32);Ec=d;return}function UA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+2688|0;HG(a,d,b,c,c);Ec=d;return}function VA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+2688|0;GG(a,d,b,c,c);Ec=d;return}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+1344|0;FG(a,d,b,c,c);Ec=d;return}function XA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+672|0;EG(a,d,b,c,c);Ec=d;return}function YA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+1344|0;DG(a,d,b,c,c);Ec=d;return}function ZA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;vG(g,b+(0-(c<<1))+2|0,c);wG(f,g+64|0,32);CG(e,d,b,32,c);xG(a,f,e,c,32);Ec=d;return}function _A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+4384|0;g=d+3712|0;f=d+3200|0;e=d+2688|0;rG(g,b+(0-(c<<1))+2|0,c);sG(f,g+64|0,32);BG(e,d,b,32,c);tG(a,f,e,c,32);Ec=d;return}function $A(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;nG(g,b+(0-(c<<1))+2|0,c);oG(f,g+64|0,32);AG(e,d,b,32,c);pG(a,f,e,c,32);Ec=d;return}function aB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1520|0;g=d+1184|0;f=d+928|0;e=d+672|0;jG(g,b+(0-(c<<1))+1|0,c);kG(f,g+32|0,16);zG(e,d,b,16,c);lG(a,f,e,c,16);Ec=d;return}function bB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+3040|0;g=d+2368|0;f=d+1856|0;e=d+1344|0;fG(g,b+(0-(c<<1))+2|0,c);gG(f,g+64|0,32);yG(e,d,b,32,c);hG(a,f,e,c,32);Ec=d;return}function cB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;vG(f,b+(0-(c<<1))|0,c);wG(e,f+64|0,32);xG(a,f+96|0,e,c,32);Ec=d;return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;rG(f,b+(0-(c<<1))|0,c);sG(e,f+64|0,32);tG(a,f+96|0,e,c,32);Ec=d;return}function eB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;nG(f,b+(0-(c<<1))|0,c);oG(e,f+64|0,32);pG(a,f+96|0,e,c,32);Ec=d;return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+592|0;f=d+256|0;e=d;jG(f,b+(0-(c<<1))|0,c);kG(e,f+32|0,16);lG(a,f+48|0,e,c,16);Ec=d;return}function gB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+512|0;e=d;fG(f,b+(0-(c<<1))|0,c);gG(e,f+64|0,32);hG(a,f+96|0,e,c,32);Ec=d;return}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);Ec=d;return}function iB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b+c|0,32,c);rG(g,b+(0-(c<<1))|0,c);sG(e,g+64|0,32);tG(a,f,e,c,32);Ec=d;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b+c|0,32,c);nG(g,b+(0-(c<<1))|0,c);oG(e,g+64|0,32);pG(a,f,e,c,32);Ec=d;return}function kB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b+c|0,16,c);jG(g,b+(0-(c<<1))|0,c);kG(e,g+32|0,16);lG(a,f,e,c,16);Ec=d;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b+c|0,32,c);fG(g,b+(0-(c<<1))|0,c);gG(e,g+64|0,32);hG(a,f,e,c,32);Ec=d;return}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;uG(f,b+c|0,32,c);CG(e,d,b,32,c);xG(a,f,e,c,32);Ec=d;return}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+3712|0;f=d+3200|0;e=d+2688|0;qG(f,b+c|0,32,c);BG(e,d,b,32,c);tG(a,f,e,c,32);Ec=d;return}function oB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;mG(f,b+c|0,32,c);AG(e,d,b,32,c);pG(a,f,e,c,32);Ec=d;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1184|0;f=d+928|0;e=d+672|0;iG(f,b+c|0,16,c);zG(e,d,b,16,c);lG(a,f,e,c,16);Ec=d;return}function qB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+2368|0;f=d+1856|0;e=d+1344|0;eG(f,b+c|0,32,c);yG(e,d,b,32,c);hG(a,f,e,c,32);Ec=d;return}function rB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;uG(f,b+c|0,32,c);vG(g,b+(0-(c<<1))+2|0,c);wG(e,g+64|0,32);xG(a,f,e,c,32);Ec=d;return}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;qG(f,b+c|0,32,c);rG(g,b+(0-(c<<1))+2|0,c);sG(e,g+64|0,32);tG(a,f,e,c,32);Ec=d;return}function tB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;mG(f,b+c|0,32,c);nG(g,b+(0-(c<<1))+2|0,c);oG(e,g+64|0,32);pG(a,f,e,c,32);Ec=d;return}function uB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+848|0;g=d+512|0;f=d+256|0;e=d;iG(f,b+c|0,16,c);jG(g,b+(0-(c<<1))+1|0,c);kG(e,g+32|0,16);lG(a,f,e,c,16);Ec=d;return}function vB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1696|0;g=d+1024|0;f=d+512|0;e=d;eG(f,b+c|0,32,c);fG(g,b+(0-(c<<1))+2|0,c);gG(e,g+64|0,32);hG(a,f,e,c,32);Ec=d;return}function wB(a,b,c){a=a|0;b=b|0;c=c|0;dG(a,b,c,8);return}function xB(a,b,c){a=a|0;b=b|0;c=c|0;cG(a,b,c,8);return}function yB(a,b,c){a=a|0;b=b|0;c=c|0;bG(a,b,c,8);return}function zB(a,b,c){a=a|0;b=b|0;c=c|0;aG(a,b,c,8);return}function AB(a,b,c){a=a|0;b=b|0;c=c|0;$F(a,b,c,8);return}function BB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;DF(e,b,16,c);GF(a,b,e,c,c,16,8);Ec=d;return}function CB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;zF(e,b,16,c);CF(a,b,e,c,c,16,8);Ec=d;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;vF(e,b,16,c);yF(a,b,e,c,c,16,8);Ec=d;return}function EB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+64|0;e=d;rF(e,b,8,c);uF(a,b,e,c,c,8,8);Ec=d;return}function FB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;nF(e,b,16,c);qF(a,b,e,c,c,16,8);Ec=d;return}function GB(a,b,c){a=a|0;b=b|0;c=c|0;_F(a,b,c,c);return}function HB(a,b,c){a=a|0;b=b|0;c=c|0;ZF(a,b,c,c);return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;YF(a,b,c,c);return}function JB(a,b,c){a=a|0;b=b|0;c=c|0;XF(a,b,c,c);return}function KB(a,b,c){a=a|0;b=b|0;c=c|0;WF(a,b,c,c);return}function LB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;DF(e,b,16,c);GF(a,b+2|0,e,c,c,16,8);Ec=d;return}function MB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;zF(e,b,16,c);CF(a,b+2|0,e,c,c,16,8);Ec=d;return}function NB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;vF(e,b,16,c);yF(a,b+2|0,e,c,c,16,8);Ec=d;return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+64|0;e=d;rF(e,b,8,c);uF(a,b+1|0,e,c,c,8,8);Ec=d;return}function PB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+128|0;e=d;nF(e,b,16,c);qF(a,b+2|0,e,c,c,16,8);Ec=d;return}function QB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;EF(g,b+(0-(c<<1))|0,c);FF(e,f,16,16);GF(a,f,e,c,16,16,8);Ec=d;return}function RB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;AF(g,b+(0-(c<<1))|0,c);BF(e,f,16,16);CF(a,f,e,c,16,16,8);Ec=d;return}function SB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;wF(g,b+(0-(c<<1))|0,c);xF(e,f,16,16);yF(a,f,e,c,16,16,8);Ec=d;return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+176|0;g=d+64|0;e=d;f=g+16|0;sF(g,b+(0-(c<<1))|0,c);tF(e,f,8,8);uF(a,f,e,c,8,8,8);Ec=d;return}function UB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+336|0;g=d+128|0;e=d;f=g+32|0;oF(g,b+(0-(c<<1))|0,c);pF(e,f,16,16);qF(a,f,e,c,16,16,8);Ec=d;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);Ec=d;return}function WB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b,16,c);AF(g,b+(0-(c<<1))|0,c);BF(e,g+32|0,16,16);CF(a,f,e,c,16,16,8);Ec=d;return}function XB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b,16,c);wF(g,b+(0-(c<<1))|0,c);xF(e,g+32|0,16,16);yF(a,f,e,c,16,16,8);Ec=d;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8,8);uF(a,f,e,c,8,8,8);Ec=d;return}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b,16,c);oF(g,b+(0-(c<<1))|0,c);pF(e,g+32|0,16,16);qF(a,f,e,c,16,16,8);Ec=d;return}function _B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;DF(f,b,16,c);LF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);Ec=d;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;zF(f,b,16,c);KF(e,d,b,16,16,c);CF(a,f,e,c,16,16,8);Ec=d;return}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;vF(f,b,16,c);JF(e,d,b,16,16,c);yF(a,f,e,c,16,16,8);Ec=d;return}function bC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+272|0;e=d+208|0;rF(f,b,8,c);IF(e,d,b,8,8,c);uF(a,f,e,c,8,8,8);Ec=d;return}function cC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;nF(f,b,16,c);HF(e,d,b,16,16,c);qF(a,f,e,c,16,16,8);Ec=d;return}function dC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);Ec=d;return}function eC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b,16,c);AF(g,b+(0-(c<<1))+2|0,c);BF(e,g+32|0,16,16);CF(a,f,e,c,16,16,8);Ec=d;return}function fC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b,16,c);wF(g,b+(0-(c<<1))+2|0,c);xF(e,g+32|0,16,16);yF(a,f,e,c,16,16,8);Ec=d;return}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b,8,c);sF(g,b+(0-(c<<1))+1|0,c);tF(e,g+16|0,8,8);uF(a,f,e,c,8,8,8);Ec=d;return}function hC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b,16,c);oF(g,b+(0-(c<<1))+2|0,c);pF(e,g+32|0,16,16);qF(a,f,e,c,16,16,8);Ec=d;return}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;EF(e,b+(0-(c<<1))|0,c);VF(a,e+32|0,c,16);Ec=d;return}function jC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;AF(e,b+(0-(c<<1))|0,c);UF(a,e+32|0,c,16);Ec=d;return}function kC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;wF(e,b+(0-(c<<1))|0,c);TF(a,e+32|0,c,16);Ec=d;return}function lC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+112|0;e=d;sF(e,b+(0-(c<<1))|0,c);SF(a,e+16|0,c,8);Ec=d;return}function mC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+208|0;e=d;oF(e,b+(0-(c<<1))|0,c);RF(a,e+32|0,c,16);Ec=d;return}function nC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;EF(g,b+(0-(c<<1))|0,c);FF(f,g+32|0,16,16);LF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);Ec=d;return}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;AF(g,b+(0-(c<<1))|0,c);BF(f,g+32|0,16,16);KF(e,d,b,16,16,c);CF(a,f,e,c,16,16,8);Ec=d;return}function pC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;wF(g,b+(0-(c<<1))|0,c);xF(f,g+32|0,16,16);JF(e,d,b,16,16,c);yF(a,f,e,c,16,16,8);Ec=d;return}function qC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+448|0;g=d+336|0;f=d+272|0;e=d+208|0;sF(g,b+(0-(c<<1))|0,c);tF(f,g+16|0,8,8);IF(e,d,b,8,8,c);uF(a,f,e,c,8,8,8);Ec=d;return}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;oF(g,b+(0-(c<<1))|0,c);pF(f,g+32|0,16,16);HF(e,d,b,16,16,c);qF(a,f,e,c,16,16,8);Ec=d;return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+832|0;QF(a,d,b,c,16,c);Ec=d;return}function tC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+832|0;PF(a,d,b,c,16,c);Ec=d;return}function uC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+416|0;OF(a,d,b,c,16,c);Ec=d;return}function vC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+208|0;NF(a,d,b,c,8,c);Ec=d;return}function wC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+416|0;MF(a,d,b,c,16,c);Ec=d;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;EF(g,b+(0-(c<<1))+2|0,c);FF(f,g+32|0,16,16);LF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);Ec=d;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+1296|0;g=d+1088|0;f=d+960|0;e=d+832|0;AF(g,b+(0-(c<<1))+2|0,c);BF(f,g+32|0,16,16);KF(e,d,b,16,16,c);CF(a,f,e,c,16,16,8);Ec=d;return}function zC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;wF(g,b+(0-(c<<1))+2|0,c);xF(f,g+32|0,16,16);JF(e,d,b,16,16,c);yF(a,f,e,c,16,16,8);Ec=d;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+448|0;g=d+336|0;f=d+272|0;e=d+208|0;sF(g,b+(0-(c<<1))+1|0,c);tF(f,g+16|0,8,8);IF(e,d,b,8,8,c);uF(a,f,e,c,8,8,8);Ec=d;return}function BC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+880|0;g=d+672|0;f=d+544|0;e=d+416|0;oF(g,b+(0-(c<<1))+2|0,c);pF(f,g+32|0,16,16);HF(e,d,b,16,16,c);qF(a,f,e,c,16,16,8);Ec=d;return}function CC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;EF(f,b+(0-(c<<1))|0,c);FF(e,f+32|0,16,16);GF(a,f+48|0,e,c,16,16,8);Ec=d;return}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;AF(f,b+(0-(c<<1))|0,c);BF(e,f+32|0,16,16);CF(a,f+48|0,e,c,16,16,8);Ec=d;return}function EC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;wF(f,b+(0-(c<<1))|0,c);xF(e,f+32|0,16,16);yF(a,f+48|0,e,c,16,16,8);Ec=d;return}function FC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+176|0;f=d+64|0;e=d;sF(f,b+(0-(c<<1))|0,c);tF(e,f+16|0,8,8);uF(a,f+24|0,e,c,8,8,8);Ec=d;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+128|0;e=d;oF(f,b+(0-(c<<1))|0,c);pF(e,f+32|0,16,16);qF(a,f+48|0,e,c,16,16,8);Ec=d;return}function HC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);Ec=d;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b+c|0,16,c);AF(g,b+(0-(c<<1))|0,c);BF(e,g+32|0,16,16);CF(a,f,e,c,16,16,8);Ec=d;return}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b+c|0,16,c);wF(g,b+(0-(c<<1))|0,c);xF(e,g+32|0,16,16);yF(a,f,e,c,16,16,8);Ec=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))|0,c);tF(e,g+16|0,8,8);uF(a,f,e,c,8,8,8);Ec=d;return}function LC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b+c|0,16,c);oF(g,b+(0-(c<<1))|0,c);pF(e,g+32|0,16,16);qF(a,f,e,c,16,16,8);Ec=d;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;DF(f,b+c|0,16,c);LF(e,d,b,16,16,c);GF(a,f,e,c,16,16,8);Ec=d;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+1088|0;f=d+960|0;e=d+832|0;zF(f,b+c|0,16,c);KF(e,d,b,16,16,c);CF(a,f,e,c,16,16,8);Ec=d;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;vF(f,b+c|0,16,c);JF(e,d,b,16,16,c);yF(a,f,e,c,16,16,8);Ec=d;return}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+336|0;f=d+272|0;e=d+208|0;rF(f,b+c|0,8,c);IF(e,d,b,8,8,c);uF(a,f,e,c,8,8,8);Ec=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+672|0;f=d+544|0;e=d+416|0;nF(f,b+c|0,16,c);HF(e,d,b,16,16,c);qF(a,f,e,c,16,16,8);Ec=d;return}function RC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;DF(f,b+c|0,16,c);EF(g,b+(0-(c<<1))+2|0,c);FF(e,g+32|0,16,16);GF(a,f,e,c,16,16,8);Ec=d;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;zF(f,b+c|0,16,c);AF(g,b+(0-(c<<1))+2|0,c);BF(e,g+32|0,16,16);CF(a,f,e,c,16,16,8);Ec=d;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;vF(f,b+c|0,16,c);wF(g,b+(0-(c<<1))+2|0,c);xF(e,g+32|0,16,16);yF(a,f,e,c,16,16,8);Ec=d;return}function UC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+240|0;g=d+128|0;f=d+64|0;e=d;rF(f,b+c|0,8,c);sF(g,b+(0-(c<<1))+1|0,c);tF(e,g+16|0,8,8);uF(a,f,e,c,8,8,8);Ec=d;return}function VC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+464|0;g=d+256|0;f=d+128|0;e=d;nF(f,b+c|0,16,c);oF(g,b+(0-(c<<1))+2|0,c);pF(e,g+32|0,16,16);qF(a,f,e,c,16,16,8);Ec=d;return}function WC(a,b,c){a=a|0;b=b|0;c=c|0;mF(a,b,c);return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;lF(a,b,c);return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;kF(a,b,c);return}function ZC(a,b,c){a=a|0;b=b|0;c=c|0;jF(a,b,c);return}function _C(a,b,c){a=a|0;b=b|0;c=c|0;iF(a,b,c);return}function $C(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;ME(e,b,8,c);PE(a,b,e,c,c);Ec=d;return}function aD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;IE(e,b,8,c);LE(a,b,e,c,c);Ec=d;return}function bD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;EE(e,b,8,c);HE(a,b,e,c,c);Ec=d;return}function cD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;zE(e,b,4,c);CE(a,b,e,c,c);Ec=d;return}function dD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;uE(e,b,8,c);xE(a,b,e,c,c);Ec=d;return}function eD(a,b,c){a=a|0;b=b|0;c=c|0;hF(a,b,c,c);return}function fD(a,b,c){a=a|0;b=b|0;c=c|0;gF(a,b,c,c);return}function gD(a,b,c){a=a|0;b=b|0;c=c|0;fF(a,b,c,c);return}function hD(a,b,c){a=a|0;b=b|0;c=c|0;eF(a,b,c,c);return}function iD(a,b,c){a=a|0;b=b|0;c=c|0;dF(a,b,c,c);return}function jD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;ME(e,b,8,c);PE(a,b+2|0,e,c,c);Ec=d;return}function kD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;IE(e,b,8,c);LE(a,b+2|0,e,c,c);Ec=d;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;EE(e,b,8,c);HE(a,b+2|0,e,c,c);Ec=d;return}function mD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;zE(e,b,4,c);CE(a,b+1|0,e,c,c);Ec=d;return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+32|0;e=d;uE(e,b,8,c);xE(a,b+2|0,e,c,c);Ec=d;return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;NE(g,b+(0-(c<<1))|0,c);OE(e,f,8);PE(a,f,e,c,8);Ec=d;return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;JE(g,b+(0-(c<<1))|0,c);KE(e,f,8);LE(a,f,e,c,8);Ec=d;return}function qD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;FE(g,b+(0-(c<<1))|0,c);GE(e,f,8);HE(a,f,e,c,8);Ec=d;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+64|0;g=d+16|0;e=d;f=g+8|0;AE(g,b+(0-(c<<1))|0,c);BE(e,f,4);CE(a,f,e,c,4);Ec=d;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+112|0;g=d+32|0;e=d;f=g+16|0;vE(g,b+(0-(c<<1))|0,c);wE(e,f,8);xE(a,f,e,c,8);Ec=d;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b,8,c);NE(g,b+(0-(c<<1))|0,c);OE(e,g+16|0,8);PE(a,f,e,c,8);Ec=d;return}function uD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b,8,c);JE(g,b+(0-(c<<1))|0,c);KE(e,g+16|0,8);LE(a,f,e,c,8);Ec=d;return}function vD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b,8,c);FE(g,b+(0-(c<<1))|0,c);GE(e,g+16|0,8);HE(a,f,e,c,8);Ec=d;return}function wD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b,4,c);AE(g,b+(0-(c<<1))|0,c);BE(e,g+8|0,4);CE(a,f,e,c,4);Ec=d;return}function xD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b,8,c);vE(g,b+(0-(c<<1))|0,c);wE(e,g+16|0,8);xE(a,f,e,c,8);Ec=d;return}function yD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;ME(f,b,8,c);UE(e,d,b,8,c);PE(a,f,e,c,8);Ec=d;return}function zD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;IE(f,b,8,c);TE(e,d,b,8,c);LE(a,f,e,c,8);Ec=d;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;EE(f,b,8,c);SE(e,d,b,8,c);HE(a,f,e,c,8);Ec=d;return}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+88|0;e=d+72|0;zE(f,b,4,c);RE(e,d,b,4,c);CE(a,f,e,c,4);Ec=d;return}function CD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;uE(f,b,8,c);QE(e,d,b,8,c);xE(a,f,e,c,8);Ec=d;return}function DD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b,8,c);NE(g,b+(0-(c<<1))+2|0,c);OE(e,g+16|0,8);PE(a,f,e,c,8);Ec=d;return}function ED(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b,8,c);JE(g,b+(0-(c<<1))+2|0,c);KE(e,g+16|0,8);LE(a,f,e,c,8);Ec=d;return}function FD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b,8,c);FE(g,b+(0-(c<<1))+2|0,c);GE(e,g+16|0,8);HE(a,f,e,c,8);Ec=d;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b,4,c);AE(g,b+(0-(c<<1))+1|0,c);BE(e,g+8|0,4);CE(a,f,e,c,4);Ec=d;return}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b,8,c);vE(g,b+(0-(c<<1))+2|0,c);wE(e,g+16|0,8);xE(a,f,e,c,8);Ec=d;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;NE(e,b+(0-(c<<1))|0,c);cF(a,e+16|0,c);Ec=d;return}function JD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;JE(e,b+(0-(c<<1))|0,c);bF(a,e+16|0,c);Ec=d;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;FE(e,b+(0-(c<<1))|0,c);aF(a,e+16|0,c);Ec=d;return}function LD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+48|0;e=d;AE(e,b+(0-(c<<1))|0,c);$E(a,e+8|0,c);Ec=d;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ec;Ec=Ec+80|0;e=d;vE(e,b+(0-(c<<1))|0,c);_E(a,e+16|0,c);Ec=d;return}function ND(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;NE(g,b+(0-(c<<1))|0,c);OE(f,g+16|0,8);UE(e,d,b,8,c);PE(a,f,e,c,8);Ec=d;return}function OD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;JE(g,b+(0-(c<<1))|0,c);KE(f,g+16|0,8);TE(e,d,b,8,c);LE(a,f,e,c,8);Ec=d;return}function PD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;FE(g,b+(0-(c<<1))|0,c);GE(f,g+16|0,8);SE(e,d,b,8,c);HE(a,f,e,c,8);Ec=d;return}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+104|0;f=d+88|0;e=d+72|0;AE(g,b+(0-(c<<1))|0,c);BE(f,g+8|0,4);RE(e,d,b,4,c);CE(a,f,e,c,4);Ec=d;return}function RD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;vE(g,b+(0-(c<<1))|0,c);wE(f,g+16|0,8);QE(e,d,b,8,c);xE(a,f,e,c,8);Ec=d;return}function SD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+288|0;ZE(a,d,b,c,c);Ec=d;return}function TD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+288|0;YE(a,d,b,c,c);Ec=d;return}function UD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+144|0;XE(a,d,b,c,c);Ec=d;return}function VD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+80|0;WE(a,d,b,c,c);Ec=d;return}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+144|0;VE(a,d,b,c,c);Ec=d;return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;NE(g,b+(0-(c<<1))+2|0,c);OE(f,g+16|0,8);UE(e,d,b,8,c);PE(a,f,e,c,8);Ec=d;return}function YD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+432|0;g=d+352|0;f=d+320|0;e=d+288|0;JE(g,b+(0-(c<<1))+2|0,c);KE(f,g+16|0,8);TE(e,d,b,8,c);LE(a,f,e,c,8);Ec=d;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;FE(g,b+(0-(c<<1))+2|0,c);GE(f,g+16|0,8);SE(e,d,b,8,c);HE(a,f,e,c,8);Ec=d;return}function _D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+104|0;f=d+88|0;e=d+72|0;AE(g,b+(0-(c<<1))+1|0,c);BE(f,g+8|0,4);RE(e,d,b,4,c);CE(a,f,e,c,4);Ec=d;return}function $D(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+288|0;g=d+208|0;f=d+176|0;e=d+144|0;vE(g,b+(0-(c<<1))+2|0,c);wE(f,g+16|0,8);QE(e,d,b,8,c);xE(a,f,e,c,8);Ec=d;return}function aE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;NE(f,b+(0-(c<<1))|0,c);OE(e,f+16|0,8);PE(a,f+24|0,e,c,8);Ec=d;return}function bE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;JE(f,b+(0-(c<<1))|0,c);KE(e,f+16|0,8);LE(a,f+24|0,e,c,8);Ec=d;return}function cE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;FE(f,b+(0-(c<<1))|0,c);GE(e,f+16|0,8);HE(a,f+24|0,e,c,8);Ec=d;return}function dE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+64|0;f=d+16|0;e=d;AE(f,b+(0-(c<<1))|0,c);BE(e,f+8|0,4);CE(a,f+12|0,e,c,4);Ec=d;return}function eE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+32|0;e=d;vE(f,b+(0-(c<<1))|0,c);wE(e,f+16|0,8);xE(a,f+24|0,e,c,8);Ec=d;return}function fE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b+c|0,8,c);NE(g,b+(0-(c<<1))|0,c);OE(e,g+16|0,8);PE(a,f,e,c,8);Ec=d;return}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b+c|0,8,c);JE(g,b+(0-(c<<1))|0,c);KE(e,g+16|0,8);LE(a,f,e,c,8);Ec=d;return}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b+c|0,8,c);FE(g,b+(0-(c<<1))|0,c);GE(e,g+16|0,8);HE(a,f,e,c,8);Ec=d;return}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b+c|0,4,c);AE(g,b+(0-(c<<1))|0,c);BE(e,g+8|0,4);CE(a,f,e,c,4);Ec=d;return}function jE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b+c|0,8,c);vE(g,b+(0-(c<<1))|0,c);wE(e,g+16|0,8);xE(a,f,e,c,8);Ec=d;return}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;ME(f,b+c|0,8,c);UE(e,d,b,8,c);PE(a,f,e,c,8);Ec=d;return}function lE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+352|0;f=d+320|0;e=d+288|0;IE(f,b+c|0,8,c);TE(e,d,b,8,c);LE(a,f,e,c,8);Ec=d;return}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;EE(f,b+c|0,8,c);SE(e,d,b,8,c);HE(a,f,e,c,8);Ec=d;return}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+112|0;f=d+88|0;e=d+72|0;zE(f,b+c|0,4,c);RE(e,d,b,4,c);CE(a,f,e,c,4);Ec=d;return}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=Ec;Ec=Ec+208|0;f=d+176|0;e=d+144|0;uE(f,b+c|0,8,c);QE(e,d,b,8,c);xE(a,f,e,c,8);Ec=d;return}function pE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;ME(f,b+c|0,8,c);NE(g,b+(0-(c<<1))+2|0,c);OE(e,g+16|0,8);PE(a,f,e,c,8);Ec=d;return}function qE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;IE(f,b+c|0,8,c);JE(g,b+(0-(c<<1))+2|0,c);KE(e,g+16|0,8);LE(a,f,e,c,8);Ec=d;return}function rE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;EE(f,b+c|0,8,c);FE(g,b+(0-(c<<1))+2|0,c);GE(e,g+16|0,8);HE(a,f,e,c,8);Ec=d;return}function sE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+80|0;g=d+32|0;f=d+16|0;e=d;zE(f,b+c|0,4,c);AE(g,b+(0-(c<<1))+1|0,c);BE(e,g+8|0,4);CE(a,f,e,c,4);Ec=d;return}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ec;Ec=Ec+144|0;g=d+64|0;f=d+32|0;e=d;uE(f,b+c|0,8,c);vE(g,b+(0-(c<<1))+2|0,c);wE(e,g+16|0,8);xE(a,f,e,c,8);Ec=d;return}function uE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function vE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function wE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<512?p:0-p>>31&511;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<512?o:0-o>>31&511;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function xE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=yE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function yE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=rW(c^a|0,d^b|0,1)|0;d=iW(c|a|0,d|b|0,e&2147450879|0,(M()|0)&2147450879|0)|0;L(M()|0);return d|0}function zE(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=0;while(1){if((g|0)==4)break;i=c+1|0;l=c+-1|0;h=c+2|0;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+3|0;m=(((d[i>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[j>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[c>>0]|0)|0,-5)|0;k=c+4|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+5|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[l>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+6>>0]|0)>>5;a[b+3>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function AE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==9)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function BE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;p=d[c+-4>>0]|0;o=d[c>>0]|0;n=d[c+4>>0]|0;i=d[c+8>>0]|0;k=d[c+12>>0]|0;l=d[c+16>>0]|0;j=d[c+20>>0]|0;m=d[c+24>>0]|0;q=(d[c+-8>>0]|0)+16+k+((n+o|0)*20|0)+(H(i+p|0,-5)|0)>>5;a[b>>0]=q>>>0>255?(q^-2147483648)>>31:q;p=p+16+l+((i+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;a[b+e>>0]=p>>>0>255?(p^-2147483648)>>31:p;o=o+16+j+((k+i|0)*20|0)+(H(l+n|0,-5)|0)>>5;a[b+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;i=n+16+m+((l+k|0)*20|0)+(H(j+i|0,-5)|0)>>5;a[b+h>>0]=i>>>0>255?(i^-2147483648)>>31:i;f=f+1|0;b=b+1|0;c=c+1|0}return}function CE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;k=b+(H(h,g)|0)|0;j=e+(h<<2)|0;i=a+(H(h,f)|0)|0;l=c[i>>2]|0;c[i>>2]=DE(l,DE(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0)|0;h=h+1|0}return}function DE(a,b){a=a|0;b=b|0;return (b|a)-((b^a)>>>1&2139062143)|0}function EE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function FE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function GE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<1024?q:0-q>>31&1023;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<1024?p:0-p>>31&1023;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function HE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=yE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function IE(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function JE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function KE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<4096?q:0-q>>31&4095;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<4096?o:0-o>>31&4095;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function LE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=yE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function ME(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;i=c+2|0;l=c+-2|0;a=c+4|0;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+6|0;m=(((e[i>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[j>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[c>>1]|0)|0,-5)|0;k=c+8|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+10|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[l>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+12>>1]|0)>>5;b[d+6>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function NE(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==9)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function OE(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;p=e[d+-8>>1]|0;o=e[d>>1]|0;n=e[d+8>>1]|0;c=e[d+16>>1]|0;k=e[d+24>>1]|0;l=e[d+32>>1]|0;j=e[d+40>>1]|0;m=e[d+48>>1]|0;q=(e[d+-16>>1]|0)+16+k+((n+o|0)*20|0)+(H(c+p|0,-5)|0)>>5;b[a>>1]=q>>>0<16384?q:0-q>>31&16383;p=p+16+l+((c+n|0)*20|0)+(H(k+o|0,-5)|0)>>5;b[a+(g<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;o=o+16+j+((k+c|0)*20|0)+(H(l+n|0,-5)|0)>>5;b[a+(h<<1)>>1]=o>>>0<16384?o:0-o>>31&16383;c=n+16+m+((l+k|0)*20|0)+(H(j+c|0,-5)|0)>>5;b[a+(i<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function PE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=0;while(1){if((h|0)==4)break;n=b+(H(h,g)|0)|0;o=n;n=n+4|0;k=e+(h<<3)|0;m=k;k=k+4|0;i=a+(H(h,f)|0)|0;j=i;l=c[j>>2]|0;j=c[j+4>>2]|0;k=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;k=yE(l,j,k,M()|0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function QE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;p=b[g+-16>>1]|0;f=b[g>>1]|0;c=b[g+16>>1]|0;o=b[g+32>>1]|0;m=b[g+48>>1]|0;l=b[g+64>>1]|0;n=b[g+80>>1]|0;k=b[g+96>>1]|0;q=(b[g+-32>>1]|0)+512+m+((c+f|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a>>1]=q>>>0<512?q:0-q>>31&511;p=p+512+l+((o+c|0)*20|0)+(H(m+f|0,-5)|0)>>10;b[a+(i<<1)>>1]=p>>>0<512?p:0-p>>31&511;f=f+512+n+((m+o|0)*20|0)+(H(l+c|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<512?f:0-f>>31&511;o=c+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<512?o:0-o>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function RE(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;q=b[f+-8>>1]|0;e=b[f>>1]|0;k=b[f+8>>1]|0;p=b[f+16>>1]|0;n=b[f+24>>1]|0;m=b[f+32>>1]|0;o=b[f+40>>1]|0;l=b[f+48>>1]|0;r=(b[f+-16>>1]|0)+512+n+((k+e|0)*20|0)+(H(p+q|0,-5)|0)>>10;a[c>>0]=r>>>0>255?(r^-2147483648)>>31:r;q=q+512+m+((p+k|0)*20|0)+(H(n+e|0,-5)|0)>>10;a[c+g>>0]=q>>>0>255?(q^-2147483648)>>31:q;e=e+512+o+((n+p|0)*20|0)+(H(m+k|0,-5)|0)>>10;a[c+j>>0]=e>>>0>255?(e^-2147483648)>>31:e;p=k+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;a[c+h>>0]=p>>>0>255?(p^-2147483648)>>31:p;c=c+1|0;f=f+2|0;i=i+1|0}return}function SE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;r=b[g+-16>>1]|0;p=b[g>>1]|0;q=p+10230|0;c=b[g+16>>1]|0;f=c+10230|0;o=(b[g+32>>1]|0)+10230|0;m=(b[g+48>>1]|0)+10230|0;l=(b[g+64>>1]|0)+10230|0;n=(b[g+80>>1]|0)+10230|0;k=b[g+96>>1]|0;s=(b[g+-32>>1]|0)+10742+m+((f+q|0)*20|0)+(H(o+(r+10230)|0,-5)|0)>>10;b[a>>1]=s>>>0<1024?s:0-s>>31&1023;q=r+10742+l+((o+f|0)*20|0)+(H(m+q|0,-5)|0)>>10;b[a+(i<<1)>>1]=q>>>0<1024?q:0-q>>31&1023;f=p+10742+n+((m+o|0)*20|0)+(H(l+f|0,-5)|0)>>10;b[a+(d<<1)>>1]=f>>>0<1024?f:0-f>>31&1023;o=c+20972+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;b[a+(j<<1)>>1]=o>>>0<1024?o:0-o>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function TE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<4096?r:0-r>>31&4095;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<4096?g:0-g>>31&4095;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<4096?q:0-q>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function UE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;g=c[h+-32>>2]|0;d=c[h>>2]|0;l=c[h+32>>2]|0;q=c[h+64>>2]|0;o=c[h+96>>2]|0;n=c[h+128>>2]|0;p=c[h+160>>2]|0;m=c[h+192>>2]|0;r=(c[h+-64>>2]|0)+512+o+((l+d|0)*20|0)+(H(q+g|0,-5)|0)>>10;b[a>>1]=r>>>0<16384?r:0-r>>31&16383;g=g+512+n+((q+l|0)*20|0)+(H(o+d|0,-5)|0)>>10;b[a+(j<<1)>>1]=g>>>0<16384?g:0-g>>31&16383;d=d+512+p+((o+q|0)*20|0)+(H(n+l|0,-5)|0)>>10;b[a+(f<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;q=l+512+m+((n+o|0)*20|0)+(H(p+q|0,-5)|0)>>10;b[a+(k<<1)>>1]=q>>>0<16384?q:0-q>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function VE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;q=b[g+-16>>1]|0;p=b[g>>1]|0;f=b[g+16>>1]|0;n=b[g+32>>1]|0;l=b[g+48>>1]|0;k=b[g+64>>1]|0;m=b[g+80>>1]|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+512+l+((f+p|0)*20|0)+(H(n+q|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<512?o:0-o>>31&511)|0)>>>1;o=a+(i<<1)|0;q=q+512+k+((n+f|0)*20|0)+(H(l+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;o=a+(d<<1)|0;p=p+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;o=a+(j<<1)|0;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function WE(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==9)break;l=f+1|0;o=f+-1|0;k=f+2|0;p=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;m=f+3|0;b[i>>1]=(((d[l>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+p+(d[m>>0]|0);p=H((d[m>>0]|0)+(d[f>>0]|0)|0,-5)|0;n=f+4|0;b[i+2>>1]=(((d[k>>0]|0)+(d[l>>0]|0)|0)*20|0)+(d[o>>0]|0)+p+(d[n>>0]|0);p=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;o=f+5|0;b[i+4>>1]=(((d[m>>0]|0)+(d[k>>0]|0)|0)*20|0)+(d[f>>0]|0)+p+(d[o>>0]|0);k=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;b[i+6>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+6>>0]|0);i=i+8|0;j=j+1|0;f=f+h|0}j=g<<1;h=g*3|0;f=e+16|0;i=0;while(1){if((i|0)==4)break;r=b[f+-8>>1]|0;q=b[f>>1]|0;e=b[f+8>>1]|0;o=b[f+16>>1]|0;m=b[f+24>>1]|0;l=b[f+32>>1]|0;n=b[f+40>>1]|0;k=b[f+48>>1]|0;p=(b[f+-16>>1]|0)+512+m+((e+q|0)*20|0)+(H(o+r|0,-5)|0)>>10;a[c>>0]=((d[c>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;p=c+g|0;r=r+512+l+((o+e|0)*20|0)+(H(m+q|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((r>>>0>255?(r^-2147483648)>>31:r)&255)|0)>>>1;p=c+j|0;q=q+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;p=c+h|0;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[p>>0]=((d[p>>0]|0)+1+((o>>>0>255?(o^-2147483648)>>31:o)&255)|0)>>>1;c=c+1|0;f=f+2|0;i=i+1|0}return} |
| | | function $c(){Oe();xS();QU()}function ad(a){a=a|0;var b=0;b=Ec;Ec=Ec+a|0;Ec=Ec+15&-16;return b|0}function bd(){return Ec|0}function cd(a){a=a|0;Ec=a}function dd(a,b){a=a|0;b=b|0;Ec=a;Fc=b}function ed(){pb();return 0}function fd(a){a=a|0;var b=0;sa(9584,9592,9608,0,120081,13,120084,0,120084,0,119434,173982,30);b=VU(8)|0;c[b>>2]=8;c[b+4>>2]=0;ua(9584,119442,3,58728,120086,1,b|0,0);b=VU(8)|0;c[b>>2]=9;c[b+4>>2]=0;ua(9584,119448,3,58740,120086,2,b|0,0);b=VU(8)|0;c[b>>2]=31;c[b+4>>2]=0;ua(9584,119455,2,58752,120091,10,b|0,0);b=VU(8)|0;c[b>>2]=32;c[b+4>>2]=0;ua(9584,119462,2,58752,120091,10,b|0,0);b=VU(8)|0;c[b>>2]=11;c[b+4>>2]=0;a=VU(8)|0;c[a>>2]=12;c[a+4>>2]=0;va(9584,119480,9552,120095,5,b|0,9552,120086,3,a|0);a=VU(8)|0;c[a>>2]=13;c[a+4>>2]=0;b=VU(8)|0;c[b>>2]=14;c[b+4>>2]=0;va(9584,119490,9552,120095,5,a|0,9552,120086,3,b|0);b=VU(8)|0;c[b>>2]=15;c[b+4>>2]=0;a=VU(8)|0;c[a>>2]=16;c[a+4>>2]=0;va(9584,119498,9552,120095,5,b|0,9552,120086,3,a|0);a=VU(8)|0;c[a>>2]=17;c[a+4>>2]=0;b=VU(8)|0;c[b>>2]=18;c[b+4>>2]=0;va(9584,119510,9552,120095,5,a|0,9552,120086,3,b|0);b=VU(8)|0;c[b>>2]=19;c[b+4>>2]=0;a=VU(8)|0;c[a>>2]=20;c[a+4>>2]=0;va(9584,119522,9552,120095,5,b|0,9552,120086,3,a|0);a=VU(8)|0;c[a>>2]=21;c[a+4>>2]=0;va(9584,119526,9552,120095,5,a|0,0,0,0,0);sa(9664,9680,9696,9584,120081,14,120081,15,120081,16,119537,173982,33);a=VU(4)|0;c[a>>2]=34;ua(9664,120099,2,58760,120091,22,a|0,0);ta(9584,120119,3,58768,120242,8,6);ta(9584,120129,3,58916,120242,9,4);return}function gd(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.0;o=Ec;Ec=Ec+16|0;n=o+8|0;m=o;e=b+22844|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[181088]|0)==0?bW(181088)|0:0)c[45292]=Ma(1,58640)|0;Ja(c[45292]|0,f|0,119547,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Ra(119553)|0;g=Na(g|0,j|0)|0;Ka(j|0);p=+Ga(g|0,58528,m|0);Ua(c[m>>2]|0);j=p!=0.0;Ka(g|0);c[n>>2]=119561;c[n+4>>2]=j?119570:119575;gb(0,n|0);a[b+22772>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=oT(f,46,g)|0;if(!f){g=h;break a}if(!(ZS(f,119581,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22845>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=La(119586)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=zU(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=zU(f+4|0)|0;c[g>>2]=f;e=d}wW(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Qa(h|0,1,58644,n|0)|0;Ka(h|0);wd(m,119596,119607);xd(n,b,119448);k=c[m>>2]|0;d=Ra(119619)|0;Va(k|0,d|0,c[n>>2]|0);Ka(d|0);Ka(c[n>>2]|0);c[b+22836>>2]=bb()|0;b=c[l>>2]|0;n=Ra(119629)|0;Va(b|0,n|0,c[m>>2]|0);Ka(n|0);Ka(c[m>>2]|0);Ec=o;return}function hd(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Ec;Ec=Ec+112|0;j=H+24|0;D=H+16|0;E=H;G=H+96|0;B=H+80|0;C=H+64|0;l=H+48|0;m=H+32|0;f=c[e>>2]|0;F=Ra(119757)|0;c[E>>2]=Na(f|0,F|0)|0;Ka(F|0);Ad(G,E);Ka(c[E>>2]|0);F=G+11|0;f=a[F>>0]|0;k=G+4|0;e=b+22840|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=bb()|0;h=b+22836|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22856>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22845>>0]|0))switch(a[(iV(G,0)|0)>>0]|0){case 1:{h=a[F>>0]|0;e=c[k>>2]|0;i=VU(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[l+8>>2]=5;c[l+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=l+4|0;c[e>>2]=i;c[j>>2]=2;c[l>>2]=58664;Cd(b,E,l);c[l>>2]=58680;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)WU(c[i>>2]|0);WU(i);break a}case 2:{h=a[F>>0]|0;e=c[k>>2]|0;i=VU(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=58664;Dd(b,E,m);c[m>>2]=58680;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)WU(c[i>>2]|0);WU(i);break a}case 10:{e=c[b+4>>2]|0;f=Ra(119629)|0;e=Na(e|0,f|0)|0;Ka(f|0);f=Ra(119783)|0;h=f;if((a[181136]|0)==0?bW(181136)|0:0)c[45298]=Ma(2,58716)|0;b=c[45298]|0;Oa(f|0);c[E>>2]=h;Ja(b|0,e|0,119778,E|0);Ka(f|0);Ka(e|0);break a}default:{b=a[(iV(G,0)|0)>>0]|0;c[j>>2]=119799;c[j+4>>2]=b;gb(1,j|0);break a}}else{l=a[F>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;y=b+16|0;e=c[y>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;z=b+20|0;j=c[z>>2]|0;A=b+24|0;k=c[A>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}fV(e,j+l+k+f+h|0,0);e=c[y>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;wW(e+(c[z>>2]|0)+(c[A>>2]|0)|0,((a[F>>0]|0)<0?c[G>>2]|0:G)|0,l|0)|0;f=(c[A>>2]|0)+l|0;c[A>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[z>>2]=(c[z>>2]|0)+13;c[A>>2]=f+-13;break}b:do if((f|0)>3){s=B+8|0;t=B+12|0;u=B+4|0;v=C+8|0;w=C+12|0;x=C+4|0;while(1){q=c[y>>2]|0;r=q+11|0;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;i=c[z>>2]|0;p=a[e+i>>0]|0;e=i+1|0;c[z>>2]=e;c[A>>2]=f+-1;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;o=h+e+2|0;m=a[o>>0]|0;l=a[o+-1>>0]|0;o=a[o+-2>>0]|0;e=i+4|0;c[z>>2]=e;n=f+-4|0;c[A>>2]=n;o=(l&255)<<8|m&255|(o&255)<<16;if(n>>>0<(o+11|0)>>>0)break;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;k=h+e+2|0;k=d[k+-1>>0]<<8|d[k>>0]|d[k+-2>>0]<<16;j=i+11|0;c[z>>2]=j;c[A>>2]=f+-11;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;l=VU(16)|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];m=l+12|0;c[m>>2]=1;i=q+12|0;c[i>>2]=(c[i>>2]|0)+1;n=l+11|0;e=a[n>>0]|0;f=e<<24>>24<0;if(f)h=(c[l+8>>2]&2147483647)+-1|0;else h=10;if(o>>>0>h>>>0){if(f){f=c[l+8>>2]&2147483647;e=1-f|0;f=f+-1|0}else{e=-10;f=10}fV(l,e+o+f|0,0);e=a[n>>0]|0}if(e<<24>>24<0)f=c[l>>2]|0;else f=l;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;wW(f|0,e+j|0,o|0)|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(!j){if((a[r>>0]|0)<0)WU(c[q>>2]|0);WU(q)}c:do switch(p<<24>>24){case 8:{c[s>>2]=0;c[t>>2]=o;c[u>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[B>>2]=58664;Cd(b,k,B);c[B>>2]=58680;e=c[u>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e);break}case 9:{c[v>>2]=0;c[w>>2]=o;c[x>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[C>>2]=58664;Dd(b,k,C);c[C>>2]=58680;e=c[x>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e);break}default:{c[D>>2]=119762;c[D+4>>2]=p&255;gb(0,D|0)}}while(0);f=(c[A>>2]|0)-o|0;c[z>>2]=(c[z>>2]|0)+o+4;f=f+-4|0;c[A>>2]=f;r=(c[m>>2]|0)+-1|0;c[m>>2]=r;if(!r){if((a[n>>0]|0)<0)WU(c[l>>2]|0);WU(l);f=c[A>>2]|0}if((f|0)<=3)break b}c[z>>2]=i;c[A>>2]=f}while(0);e=c[y>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;xW(e|0,e+(c[z>>2]|0)|0,f|0)|0;fV(c[y>>2]|0,c[A>>2]|0,0);c[z>>2]=0}while(0);if((a[F>>0]|0)>=0){Ec=H;return}WU(c[G>>2]|0);Ec=H;return}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+32|0;i=l;g=La(120022)|0;j=b+22828|0;c[i>>2]=c[j>>2];Ka(Ha(g|0,1,58724,i|0)|0);Ka(g|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;g=b+22800|0;Xd(g);Wd(g);e=c[b+22804>>2]|0;f=b+22808|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);Yd(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+22816>>2]=0;c[b+22820>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;Xd(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{WU(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)WU(d);c[b+22748>>2]=0;c[b+22752>>2]=0;if((a[b+22772>>0]|0)==0?(k=c[b+22744>>2]|0,k|0):0)AU(k);IR(c[b+22784>>2]|0);FR(b+22788|0);c[j>>2]=0;a[b+22832>>0]=1;a[b+22833>>0]=1;a[b+22824>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Ec=l;return}function jd(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;p=Ec;Ec=Ec+16|0;e=p+4|0;j=p;k=b+22820|0;a:do if(c[k>>2]|0){l=b+22804|0;m=b+22816|0;n=b+4|0;o=b+22852|0;f=b+22736|0;g=b+22800|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=Md(c[n>>2]|0,120013,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;Ld(f,h+(i*20|0)+4|0);_d(g);if(!(c[k>>2]|0))break a;else d=1}a[b+22824>>0]=1;c[b+22828>>2]=Nd(c[n>>2]|0,119997,j)|0;Ec=p;return}while(0);a[b+22824>>0]=0;Ec=p;return}function kd(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d[b+22844>>0];c[a>>2]=Wa(58528,f|0)|0;Ec=e;return}function ld(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ec;Ec=Ec+16|0;g=e;f=+Ga(c[d>>2]|0,58528,g|0);Ua(c[g>>2]|0);a[b+22844>>0]=f!=0.0&1;Ec=e;return}function md(a,b){a=a|0;b=b|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d[b+22845>>0];c[a>>2]=Wa(58528,f|0)|0;Ec=e;return}function nd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ec;Ec=Ec+16|0;g=e;f=+Ga(c[d>>2]|0,58528,g|0);Ua(c[g>>2]|0);a[b+22845>>0]=f!=0.0&1;Ec=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;c[e>>2]=c[b+22848>>2];c[a>>2]=Wa(58576,e|0)|0;Ec=d;return}function pd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ec;Ec=Ec+16|0;f=d;e=+Ga(c[b>>2]|0,58576,f|0);Ua(c[f>>2]|0);c[a+22848>>2]=~~e;Ec=d;return}function qd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;c[e>>2]=c[b+22852>>2];c[a>>2]=Wa(58576,e|0)|0;Ec=d;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ec;Ec=Ec+16|0;f=d;e=+Ga(c[b>>2]|0,58576,f|0);Ua(c[f>>2]|0);c[a+22852>>2]=~~e;Ec=d;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;g[e>>3]=+g[b+22856>>3];c[a>>2]=Wa(58616,e|0)|0;Ec=d;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Ec;Ec=Ec+16|0;f=d;e=+Ga(c[b>>2]|0,58616,f|0);Ua(c[f>>2]|0);g[a+22856>>3]=e;Ec=d;return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ec;Ec=Ec+16|0;e=d+4|0;f=d;c[e>>2]=Sa()|0;i=b+22804|0;h=b+22816|0;j=c[h>>2]|0;g=(j>>>0)/204|0;$d(e,120035,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22820|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ae(e,120041,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];be(e,120046,f);b=c[e>>2]|0;c[a>>2]=b;Oa(b|0);Ka(c[e>>2]|0);Ec=d;return}function vd(a){a=a|0;Ka(c[a>>2]|0);return}function wd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Ra(b|0)|0;d=Ra(d|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);return}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Ra(d|0)|0;d=Na(f|0,e|0)|0;Ka(e|0);zd(a,d,119733,b);Ka(d|0);return}function yd(a){a=a|0;ba(a|0)|0;GV()}function zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Ec;Ec=Ec+16|0;g=i;h=i+8|0;if((a[181096]|0)==0?bW(181096)|0:0)c[45293]=Ma(2,58648)|0;k=c[45293]|0;Oa(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ia(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Ua(h|0);Ec=i;return}function Ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Ec;Ec=Ec+16|0;e=h;i=+Ga(c[d>>2]|0,9528,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)$U(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Ua(e|0);Ec=h;return}else d=b}else{j=g+16&-16;d=VU(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}wW(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Ua(e|0);Ec=h;return}function Bd(b){b=b|0;var d=0,e=0;c[b>>2]=58680;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)WU(c[b>>2]|0);WU(b);return}function Cd(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;n=Ec;Ec=Ec+16|0;m=n;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[181104]|0)==0?bW(181104)|0:0)c[45294]=Ma(3,58688)|0;b=c[45294]|0;c[m>>2]=h;c[m+8>>2]=c[g>>2];Ja(b|0,e|0,119899,m|0);Ec=n;return}}if(h)e=c[e>>2]|0;e=a[e+j>>0]|0;c[i>>2]=j+1;i=f+12|0;c[i>>2]=(c[i>>2]|0)+-1;e=e&255;i=e>>>4;g=b+22833|0;if(a[g>>0]|0){h=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch(i&15){case 10:{e=b+28|0;if((i|0)==2?(l=c[b+36>>2]|0,k=b+32|0,l=Hd(e,f,l+(c[k>>2]|0)|0,l+(c[e>>2]|0)|0)|0,l|0):0){m=(c[k>>2]|0)+l|0;c[k>>2]=(m|0)==(c[e>>2]|0)?0:m}Gd(b,c[b+22848>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Ec=n;return}case 11:{Gd(b,16e3,16e3,h);break}case 2:{Gd(b,(c[b+22848>>2]|0)*576|0,e,h);break}default:{}}if(a[g>>0]|0){Ec=n;return}}h=b+28|0;if((i|0)!=2){Ec=n;return}e=c[b+36>>2]|0;g=b+32|0;e=Hd(h,f,e+(c[g>>2]|0)|0,e+(c[h>>2]|0)|0)|0;if(!e){Ec=n;return}l=(c[g>>2]|0)+e|0;f=(l|0)==(c[h>>2]|0);c[g>>2]=f?0:l;if(!f){Ec=n;return}e=c[b+4>>2]|0;if((a[181088]|0)==0?bW(181088)|0:0)c[45292]=Ma(1,58640)|0;Ja(c[45292]|0,e|0,119899,m|0);Ec=n;return}function Dd(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=Ec;Ec=Ec+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+22832|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Ec=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Ec=o;return}Ld(b+22736|0,e);a[j>>0]=0;c[k>>2]=119945;gb(0,k|0);Ec=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[181088]|0)==0?bW(181088)|0:0)c[45292]=Ma(1,58640)|0;Ja(c[45292]|0,f|0,119961,n|0);Ec=o;return}}if(!d){Ec=o;return}g=b+22852|0;a:do if(c[g>>2]|0){h=b+22824|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=Md(c[f>>2]|0,120013,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+22828>>2]=Nd(c[f>>2]|0,119997,l)|0;break}else break a}while(0);Od(b+22800|0,m,e);Ec=o;return}while(0);Ld(b+22736|0,e);Ec=o;return}function Ed(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=58680;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){WU(b);return}if((a[d+11>>0]|0)<0)WU(c[d>>2]|0);WU(d);WU(b);return}function Fd(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=58680;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){WU(b);return}if((a[d+11>>0]|0)<0)WU(c[d>>2]|0);WU(d);WU(b);return}function Gd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Ec;Ec=Ec+32|0;h=i;a[b+22833>>0]=0;j=H(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=zU(j)|0;c[h>>2]=119919;c[h+4>>2]=j;gb(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[181112]|0)==0?bW(181112)|0:0)c[45295]=Ma(5,16)|0;j=c[45295]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Ja(j|0,b|0,119909,h|0);Ec=i;return}function Hd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+20|0;q=c[e+12>>2]|0;n=d+22680|0;h=c[n>>2]|0;i=a[h+11>>0]|0;j=i<<24>>24<0;if(j)k=(c[h+8>>2]&2147483647)+-1|0;else k=10;o=d+22684|0;l=c[o>>2]|0;p=d+22688|0;m=c[p>>2]|0;if(q>>>0>(k-l-m|0)>>>0){if(j){j=c[h+8>>2]&2147483647;i=1-j|0;j=j+-1|0}else{i=-10;j=10}fV(h,l+q+m+i+j|0,0);h=c[n>>2]|0;i=a[h+11>>0]|0}if(i<<24>>24<0)h=c[h>>2]|0;i=c[e+4>>2]|0;if((a[i+11>>0]|0)<0)i=c[i>>2]|0;wW(h+(c[o>>2]|0)+(c[p>>2]|0)|0,i+(c[e+8>>2]|0)|0,q|0)|0;c[p>>2]=(c[p>>2]|0)+q;if((Id(r)|0)==-1){r=0;return r|0}e=d+13456|0;o=d+13458|0;p=d+13460|0;n=d+18068|0;h=0;while(1){j=b[e>>1]|0;d=b[o>>1]|0;k=d&65535;h=(H((j&65535)<<1,k)|0)+h|0;i=k+-1|0;do if(d<<16>>16)if(j<<16>>16==2){m=k<<2;j=n;k=p;l=f;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=k<<1;j=p;k=f;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=25;break}if((Id(r)|0)==-1){f=25;break}}if((f|0)==25)return h|0;return 0}function Id(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;t=Ec;Ec=Ec+272|0;s=t+256|0;r=t;k=t+248|0;l=t+244|0;q=d+22660|0;e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;p=d+22664|0;i=e+(c[p>>2]|0)|0;j=Jd(d,i)|0;if((j|0)==-1){s=-1;Ec=t;return s|0}e=c[p>>2]|0;c[p>>2]=e+j;o=d+22668|0;f=c[o>>2]|0;n=f-j|0;c[o>>2]=n;if(!n){c[p>>2]=e;c[o>>2]=f;s=-1;Ec=t;return s|0}e=d+9328|0;if((c[e>>2]|0)==0?(n=BU(1152,4)|0,c[e>>2]=n,(n|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(u=d+28|0,n=c[u+4>>2]|0,m=r,c[m>>2]=c[u>>2],c[m+4>>2]=n,m=d+88|0,n=b[m>>1]|0,c[s>>2]=c[r>>2],c[s+4>>2]=c[r+4>>2],n=cS(s,(h&4096|0)==0?(f?136:256):f?72:136,n)|0,b[m>>1]=n,n<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}n=d+64|0;m=(c[e>>2]|0)==0?1:2;f=d+28|0;lS(f,m,c[g>>2]&4096,r,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[r+4>>2];g=$R(f)|0;f=j+i-g|0;e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;ZR(s,e+(c[p>>2]|0)|0);e=bS(s,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))aS(s,16);i=bS(s,e>>>19&1|8)|0}else i=0;l=d+22684|0;h=c[l>>2]|0;Kd(s,d+22672|0,g,f);e=c[s+4>>2]|0;j=d+22676|0;c[j>>2]=e;g=e+12|0;u=c[g>>2]|0;k=d+22680|0;c[k>>2]=c[s+8>>2];c[l>>2]=c[s+12>>2];c[s>>2]=58680;c[g>>2]=u;if(!((e|0)==0|(u|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;xW(e|0,e+(c[p>>2]|0)|0,c[o>>2]|0)|0;fV(c[q>>2]|0,c[o>>2]|0,0);c[p>>2]=0;f=c[l>>2]|0;e=c[r>>2]|0;if(f>>>0<i>>>0|h>>>0<e>>>0)e=-1;else{g=h-e|0;c[k>>2]=g;f=f-i-g|0;e=c[j>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;ZR(s,e+g|0);mS(s,n,r,m)|0;gS(d+9332|0,n);g=(c[k>>2]|0)+f|0;c[k>>2]=g;f=(c[l>>2]|0)-f|0;c[l>>2]=f;e=c[j>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;xW(e|0,e+g|0,f|0)|0;fV(c[j>>2]|0,c[l>>2]|0,0);c[k>>2]=0;e=0}u=e;Ec=t;return u|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;ZR(a+28|0,b);c[a+20>>2]=b;sS(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;tS(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((uS(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=H(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function Kd(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=Ec;Ec=Ec+16|0;m=o;k=d+4|0;g=c[k>>2]|0;i=(a[g+11>>0]|0)<0;if(i)h=(c[g+8>>2]&2147483647)+-1|0;else h=10;n=d+8|0;j=c[n>>2]|0;l=d+12|0;d=c[l>>2]|0;if((h-j-d|0)>>>0<f>>>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;fV(m,j+f+d|0,0);d=m+11|0;g=c[k>>2]|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;wW(((a[d>>0]|0)<0?c[m>>2]|0:m)|0,g|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0;wW(((a[d>>0]|0)<0?c[m>>2]|0:m)+(c[n>>2]|0)+(c[l>>2]|0)|0,e|0,f|0)|0;c[b>>2]=58680;c[b+8>>2]=0;f=a[d>>0]|0;c[b+12>>2]=f<<24>>24<0?c[m+4>>2]|0:f&255;f=VU(16)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=1;c[b+4>>2]=f;Ec=o;return}else{if(i)g=c[g>>2]|0;wW(g+j+d|0,e|0,f|0)|0;f=(c[l>>2]|0)+f|0;c[b>>2]=58680;e=c[k>>2]|0;c[b+4>>2]=e;e=e+12|0;c[e>>2]=(c[e>>2]|0)+1;c[b+8>>2]=c[n>>2];c[b+12>>2]=f;Ec=o;return}}function Ld(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=Ec;Ec=Ec+16|0;h=l;e=c[d+4>>2]|0;i=e+11|0;g=(a[i>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;j=d+8|0;k=c[j>>2]|0;if((a[f+k>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(k+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+k>>0]|0;c[j>>2]=k+5;k=d+12|0;c[k>>2]=(c[k>>2]|0)+-5;switch(e&15){case 7:{Tc[c[(c[b>>2]|0)+12>>2]&255](b,d);Ec=l;return}case 12:{Tc[c[(c[b>>2]|0)+16>>2]&255](b,d);Ec=l;return}default:{c[h>>2]=119975;c[h+4>>2]=e&15;gb(0,h|0);Ec=l;return}}}}f=k+2|0;c[j>>2]=f;g=d+12|0;h=c[g>>2]|0;c[g>>2]=h+-2;if((a[i>>0]|0)<0)e=c[e>>2]|0;i=e+f+2|0;f=a[i>>0]|0;e=a[i+-1>>0]|0;i=a[i+-2>>0]|0;c[j>>2]=k+5;c[g>>2]=h+-5;c[b+40>>2]=(e&255)<<8|f&255|(i&255)<<16;Tc[c[(c[b>>2]|0)+24>>2]&255](b,d);Ec=l;return}function Md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ec;Ec=Ec+16|0;f=h;g=h+8|0;if((a[181120]|0)==0?bW(181120)|0:0)c[45296]=Ma(2,58700)|0;j=c[45296]|0;c[f>>2]=c[e>>2];i=+Ia(j|0,b|0,d|0,g|0,f|0);Ua(c[g>>2]|0);Ec=h;return ~~i|0}function Nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Ec;Ec=Ec+16|0;f=h;g=h+8|0;if((a[181128]|0)==0?bW(181128)|0:0)c[45297]=Ma(2,58708)|0;j=c[45297]|0;c[f>>2]=c[e>>2];i=+Ia(j|0,b|0,d|0,g|0,f|0);Ua(c[g>>2]|0);Ec=h;return ~~i|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){Pd(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=58664;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)WU(c[f>>2]|0);WU(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function Pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Ec;Ec=Ec+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{xW(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=aa(8)|0;ZU(r,119814);c[r>>2]=114124;fa(r|0,58448,24)}else{h=VU(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){WU(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Ec=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=aa(8)|0;ZU(r,119814);c[r>>2]=114124;fa(r|0,58448,24)}else{d=VU(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=VU(4080)|0;Sd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Td(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)WU(f);Ec=r;return}if((d|0)!=(b|0)){c[k>>2]=VU(4080)|0;Qd(a,k);Ec=r;return}c[k>>2]=VU(4080)|0;Rd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{xW(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=aa(8)|0;ZU(r,119814);c[r>>2]=114124;fa(r|0,58448,24)}else{h=VU(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){WU(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Ec=r;return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{xW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=aa(8)|0;ZU(q,119814);c[q>>2]=114124;fa(q|0,58448,24)}else{i=VU(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){WU(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{xW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=aa(8)|0;ZU(q,119814);c[q>>2]=114124;fa(q|0,58448,24)}else{h=VU(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){WU(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{xW(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=aa(8)|0;ZU(q,119814);c[q>>2]=114124;fa(q|0,58448,24)}else{i=VU(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){WU(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{xW(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=aa(8)|0;ZU(q,119814);c[q>>2]=114124;fa(q|0,58448,24)}else{h=VU(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){WU(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Ud(a){a=a|0;var b=0,d=0,e=0,f=0;Xd(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{WU(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;WU(b);return}function Vd(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)AU(d);IR(c[b+48>>2]|0);FR(b+52|0);return}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{WU(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Yd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){WU(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Yd(a);return}WU(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Yd(a);return}function Xd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=58680;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{WU(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=aa(8)|0;ZU(l,119814);c[l>>2]=114124;fa(l|0,58448,24)}else{g=VU(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;WU(b);return}function Zd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;AU(b);return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=58680;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;WU(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58592,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Ec=e;return}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58592,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Ec=e;return}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;a=c[a>>2]|0;b=Ra(b|0)|0;c[f>>2]=c[d>>2];d=Wa(58600,f|0)|0;Va(a|0,b|0,d|0);Ka(d|0);Ka(b|0);Ec=e;return}function ce(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function de(a){a=a|0;if(!a)return;Sc[c[(c[a>>2]|0)+4>>2]&63](a);return}function ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)$U(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=VU(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)wW(b|0,d|0,e|0)|0;a[b+e>>0]=0;Tc[f&255](g,h);if((a[h+11>>0]|0)>=0){Ec=j;return}WU(c[h>>2]|0);Ec=j;return}function fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ec;Ec=Ec+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Tc[e&255](a,f);Ka(c[f>>2]|0);Ec=g;return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Sc[e&63](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Sc[e&63](a);return}}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ec;Ec=Ec+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Tc[d&255](e,a);Oa(c[e>>2]|0);g=c[e>>2]|0;Ka(g|0);Ec=f;return g|0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ec;Ec=Ec+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Tc[e&255](a,f);Ka(c[f>>2]|0);Ec=g;return}function je(b,d){b=b|0;d=d|0;var e=0;e=VU(22872)|0;ue(e,d);a[e+22864>>0]=0;c[e+22868>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=58788;return e|0}function ke(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=qa(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9664,c[e>>2]|0)|0;return}function le(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function me(a){a=a|0;if(!a)return;Sc[c[(c[a>>2]|0)+4>>2]&63](a);return}function ne(a){a=a|0;return a|0}function oe(a){a=a|0;return a|0}function pe(a,b){a=a|0;b=b|0;Sc[c[a>>2]&63](b);return}function qe(b){b=b|0;a[b+22864>>0]=1;return}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ec;Ec=Ec+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Mc[a&15](f,g)|0;Ka(c[g>>2]|0);Ka(c[f>>2]|0);Ec=e;return d|0}function se(b){b=b|0;var d=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;e=g;c[b>>2]=58804;d=b+22868|0;if(!(a[b+22864>>0]|0)){f=c[d>>2]|0;Ka(f|0);ye(b);Ec=g;return}f=c[d>>2]|0;if((a[181088]|0)==0?bW(181088)|0:0)c[45292]=Ma(1,58640)|0;Ja(c[45292]|0,f|0,120432,e|0);f=c[d>>2]|0;Ka(f|0);ye(b);Ec=g;return}function te(a){a=a|0;se(a);WU(a);return}function ue(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ec;Ec=Ec+32|0;h=f+16|0;j=f;c[d>>2]=58820;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[e>>2]=58680;c[d+20>>2]=0;c[d+24>>2]=0;i=VU(16)|0;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]=1;c[d+16>>2]=i;c[e>>2]=58664;c[d+32>>2]=0;Ae(d+48|0);c[h>>2]=120247;c[h+4>>2]=d+28;gb(0,h|0);we(d+22736|0);e=d+22800|0;c[d+22828>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22832>>0]=1;a[d+22833>>0]=1;e=d+22836|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22848>>2]=12;c[d+22740>>2]=g;Ec=f;return}function ve(a){a=a|0;se(a);WU(a);return}function we(b){b=b|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=58836;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=Fg()|0;c[b+60>>2]=NO()|0;c[e>>2]=120272;gb(0,e|0);Ec=d;return}function xe(a){a=a|0;var b=0,d=0,e=0;b=Ec;Ec=Ec+16|0;d=b+8|0;e=b;c[e>>2]=120364;gb(0,e|0);AU(c[a+8>>2]|0);c[d>>2]=120387;gb(0,d|0);Be(a+20|0);Ec=b;return}function ye(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=58820;f=La(120022)|0;c[d>>2]=c[b+22828>>2];Ka(Ha(f|0,1,58724,d|0)|0);Ka(f|0);c[g>>2]=120411;gb(0,g|0);g=b+22800|0;Xd(g);f=b+22804|0;d=c[f>>2]|0;h=b+22808|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{WU(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)WU(d);Ce(b+22736|0);c[i>>2]=120364;gb(0,i|0);AU(c[b+36>>2]|0);c[j>>2]=120387;gb(0,j|0);Be(b+48|0);c[b+12>>2]=58680;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;Ka(b|0);Ec=k;return}if((a[d+11>>0]|0)<0)WU(c[d>>2]|0);WU(d);b=b+4|0;b=c[b>>2]|0;Ka(b|0);Ec=k;return}function ze(a){a=a|0;ye(a);WU(a);return}function Ae(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ec;Ec=Ec+32|0;d=b+16|0;g=b;e=a+22656|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[e>>2]=58680;c[a+22664>>2]=0;c[a+22668>>2]=0;f=VU(16)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=1;c[a+22660>>2]=f;c[e>>2]=58664;e=a+22672|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[e>>2]=58680;c[a+22680>>2]=0;c[a+22684>>2]=0;f=VU(16)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=1;c[a+22676>>2]=f;c[e>>2]=58664;dS(a);eS(a+64|0);fS(a+9332|0);c[d>>2]=120262;gb(0,d|0);Ec=b;return}function Be(b){b=b|0;var d=0,e=0,f=0;hS(b+64|0);c[b+22672>>2]=58680;d=c[b+22676>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(!((d|0)==0|(e|0)!=0)){if((a[d+11>>0]|0)<0)WU(c[d>>2]|0);WU(d)}c[b+22656>>2]=58680;b=c[b+22660>>2]|0;e=b+12|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if((b|0)==0|(f|0)!=0)return;if((a[b+11>>0]|0)<0)WU(c[b>>2]|0);WU(b);return}function Ce(b){b=b|0;var d=0,e=0,f=0,g=0;f=Ec;Ec=Ec+16|0;e=f+8|0;g=f;c[b>>2]=58836;c[g>>2]=120331;gb(0,g|0);Sc[c[(c[b>>2]|0)+8>>2]&63](b);Gg(b+56|0);xf(b+60|0);c[b>>2]=58876;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)AU(d);c[e>>2]=120307;gb(0,e|0);Ec=f;return}function De(a){a=a|0;Ce(a);WU(a);return}function Ee(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+52|0;if(c[e>>2]|0)Sc[c[(c[b>>2]|0)+8>>2]&63](b);g=LQ(27)|0;h=b+44|0;c[h>>2]=g;c[b+48>>2]=HR(c[g+12>>2]|0)|0;g=NQ(c[h>>2]|0)|0;c[e>>2]=g;f=c[d+12>>2]|0;e=g+72|0;c[e>>2]=f;f=zU(f)|0;c[g+68>>2]=f;b=c[d+4>>2]|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;wW(f|0,b+(c[d+8>>2]|0)|0,c[e>>2]|0)|0;TR(g,c[h>>2]|0,0)|0;return}function Fe(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;p=Ec;Ec=Ec+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=58664;Tc[g&255](b,h);c[h>>2]=58680;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)WU(c[i>>2]|0);WU(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=58664;Tc[q&255](b,k);c[k>>2]=58680;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)WU(c[g>>2]|0);WU(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=58664;Tc[q&255](b,o);c[o>>2]=58680;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Ec=p;return}if((a[h>>0]|0)<0)WU(c[g>>2]|0);WU(g);Ec=p;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ec;Ec=Ec+16|0;g=e;h=c[(c[b>>2]|0)+28>>2]|0;c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];d=c[d+4>>2]|0;f=g+4|0;c[f>>2]=d;d=d+12|0;c[d>>2]=(c[d>>2]|0)+1;c[g>>2]=58664;Tc[h&255](b,g);c[g>>2]=58680;b=c[f>>2]|0;f=b+12|0;d=(c[f>>2]|0)+-1|0;c[f>>2]=d;if((b|0)==0|(d|0)!=0){Ec=e;return}if((a[b+11>>0]|0)<0)WU(c[b>>2]|0);WU(b);Ec=e;return}function He(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;y=Ec;Ec=Ec+32|0;w=y;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;v=c[b+60>>2]|0;c[v+24>>2]=e+(c[d+8>>2]|0);c[v+28>>2]=c[d+12>>2];l=b+52|0;if((uR(c[l>>2]|0,v)|0)<=-1){Ec=y;return}m=b+56|0;n=b+20|0;o=b+24|0;p=b+28|0;q=b+12|0;r=b+16|0;s=b+36|0;t=b+20|0;u=b+8|0;v=b+4|0;b=b+40|0;f=n>>2;g=w+8|0;h=w+16|0;i=w+8|0;j=w+16|0;a:while(1){k=DR(c[l>>2]|0,c[m>>2]|0)|0;if((k|0)<-11)switch(k|0){case -541478725:{x=25;break a}default:{}}else switch(k|0){case -11:{x=25;break a}default:{}}e=c[m>>2]|0;c[n>>2]=c[e>>2];c[o>>2]=c[e+4>>2];c[p>>2]=c[e+8>>2];d=c[e+68>>2]|0;if((c[q>>2]|0)==(d|0)){e=c[e+72>>2]|0;if((c[r>>2]|0)!=(e|0))x=10}else{e=c[e+72>>2]|0;x=10}do if((x|0)==10){x=0;c[q>>2]=d;c[r>>2]=e;if(!(a[s>>0]|0)){e=(H(e<<2,e)|0)+33554432|0;e=zU((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[u>>2]=e;d=c[c[v>>2]>>2]|0;if((a[181144]|0)==0?bW(181144)|0:0)c[45299]=Ma(4,48)|0;z=c[45299]|0;c[w>>2]=c[q>>2];c[g>>2]=c[r>>2];c[h>>2]=e;Ja(z|0,d|0,120346,w|0);break}else{c[u>>2]=n;e=c[c[v>>2]>>2]|0;if((a[181144]|0)==0?bW(181144)|0:0)c[45299]=Ma(4,48)|0;z=c[45299]|0;c[w>>2]=c[q>>2];c[i>>2]=c[r>>2];c[j>>2]=f;Ja(z|0,e|0,120346,w|0);break}}while(0);if(!(a[s>>0]|0))Me(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0);e=c[c[v>>2]>>2]|0;if((a[181152]|0)==0?bW(181152)|0:0)c[45300]=Ma(2,58908)|0;z=c[45300]|0;c[w>>2]=c[b>>2];Ja(z|0,e|0,120359,w|0);if((k|0)<=-1){x=25;break}}if((x|0)==25){Ec=y;return}}function Ie(b){b=b|0;var d=0,e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;c[b>>2]=58876;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)AU(d);c[e>>2]=120307;gb(0,e|0);Ec=f;return}function Je(a){a=a|0;qb()}function Ke(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=Ec;Ec=Ec+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=58664;Tc[g&255](b,j);c[j>>2]=58680;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)WU(c[l>>2]|0);WU(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Ec=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=58664;Tc[q&255](b,o);c[o>>2]=58680;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)WU(c[e>>2]|0);WU(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Ec=p;return}if((a[i>>0]|0)<0)WU(c[h>>2]|0);WU(h);Ec=p;return}function Le(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;u=Ec;Ec=Ec+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Ec=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=58664;Tc[d&255](b,q);c[q>>2]=58680;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)WU(c[d>>2]|0);WU(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)WU(c[g>>2]|0);WU(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Ec=u;return}function Me(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0;E=g<<2;F=f+(H(E,h)|0)|0;if(!h)return;A=(g|0)==0;D=(g+-1|0)>>>1;B=(D<<3)+8|0;C=g+1&-2;D=D+1|0;j=0;z=0;k=0;i=0;l=0;while(1){if(!A){x=B+j|0;y=D+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;q=(G*1634|0)+J>>10;G=(H(m,-400)|0)+J+(H(G,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(G|0)>0?G:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((G&255|0)==(G|0)?G:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;G=t+-128|0;m=s+-128|0;J=(G*1634|0)+p>>10;G=(H(m,-400)|0)+p+(H(G,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+E)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=F+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;G=t+-128|0;K=s+-128|0;J=m+(G*1634|0)>>10;G=(H(G,-832)|0)+(H(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(G|0)>0?G:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((G&255|0)==(G|0)?G:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=F+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(H(I,-832)|0)+(H(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;G=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(G|0)<255?G:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+E)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=C+l|0;j=x;k=D+k|0;i=y}z=z+2|0;if(z>>>0>=h>>>0)break;else{j=j+E|0;l=l+g|0}}return}function Ne(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=Ec;Ec=Ec+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)$U(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=VU(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)wW(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Uc[b&1023](h,j,k);Oa(c[h>>2]|0);d=c[h>>2]|0;Ka(d|0);Ka(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Ec=l;return d|0}WU(c[j>>2]|0);Ec=l;return d|0}function Oe(){fd(0);return}function Pe(a){a=a|0;a=c[a>>2]|0;c[a+44>>2]=7;c[a+48>>2]=1;return 0}function Qe(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=Ec;Ec=Ec+16|0;q=u+8|0;r=u;o=u+4|0;c[q>>2]=g;c[r>>2]=h;s=c[a>>2]|0;p=s+84|0;j=s+88|0;k=s+48|0;l=s+96|0;m=s+44|0;n=s+4|0;i=0;g=c[p>>2]|0;a:while(1){if((g|0)>(h|0)){g=-100;break}if(g){if(!(c[l>>2]|0)){t=5;break}}else g=0;while(1){if((g|0)>=(h|0)){g=-100;break a}v=j;v=sW(c[v>>2]|0,c[v+4>>2]|0,8)|0;h=M()|0;v=v|(d[(c[q>>2]|0)+g>>0]|0);w=j;c[w>>2]=v;c[w+4>>2]=h;h=Pc[c[k>>2]&63](v,h,s,l,o)|0;if(h|0)break;g=g+1|0;h=c[r>>2]|0}if((h|0)<1){g=-100;break}w=j;c[w>>2]=0;c[w+4>>2]=0;g=g+1-(c[m>>2]|0)|0;c[p>>2]=h;if(c[o>>2]|0?((c[n>>2]|0)+g|0)>=1:0){i=1;break}g=h+g|0;c[p>>2]=g;i=1;h=c[r>>2]|0}if((t|0)==5)c[p>>2]=0;if((Ue(s,g,q,r)|0)>=0){c[e>>2]=c[q>>2];c[f>>2]=c[r>>2];h=c[s+100>>2]|0;if(h|0)c[b+16>>2]=h;if(i){if((c[b+16>>2]|0)!=86018){c[b+344>>2]=c[s+56>>2];c[b+348>>2]=c[s+52>>2];t=s+72|0;v=c[t+4>>2]|0;w=b+376|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[a+304>>2]=c[s+64>>2];c[b+392>>2]=c[s+80>>2]}v=c[s+60>>2]|0;w=b+40|0;c[w>>2]=v;c[w+4>>2]=((v|0)<0)<<31>>31}}else{w=c[p>>2]|0;g=c[r>>2]|0;c[p>>2]=w-((w|0)>(g|0)?g:w);c[e>>2]=0;c[f>>2]=0}Ec=u;return g|0}function Re(a){a=a|0;Se(c[a>>2]|0);return}function Se(b){b=b|0;var c=0;c=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;Te(c);return}function Te(a){a=a|0;AU(a);return}function Ue(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Ec;Ec=Ec+32|0;l=p+24|0;i=p+8|0;j=p;n=b+24|0;k=b+28|0;o=b+4|0;h=c[n>>2]|0;while(1){if((h|0)<=0)break;m=c[b>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[m+q>>0]|0;h=c[o>>2]|0;c[o>>2]=h+1;a[m+h>>0]=q;h=(c[n>>2]|0)+-1|0;c[n>>2]=h}e=(e|0)==-100&(c[g>>2]|0)==0?0:e;h=c[o>>2]|0;m=b+8|0;c[m>>2]=h;a:do if((e|0)==-100){e=Ve(c[b>>2]|0,b+12|0,(c[g>>2]|0)+64+h|0)|0;if(!e){c[j>>2]=(c[g>>2]|0)+64+(c[o>>2]|0);We(0,16,120955,j);e=-12;h=0}else{c[b>>2]=e;wW(e+(c[o>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;e=-1;h=(c[o>>2]|0)+(c[g>>2]|0)|0}c[o>>2]=h}else{if((e|0)<=-1?(c[b>>2]|0)==0:0){c[i>>2]=120997;c[i+4>>2]=121021;c[i+8>>2]=356;We(0,0,164054,i);Za()}h=h+e|0;c[k>>2]=h;c[g>>2]=h;h=c[o>>2]|0;if(h|0){i=e+64|0;h=Ve(c[b>>2]|0,b+12|0,i+h|0)|0;if(!h){c[l>>2]=i+(c[o>>2]|0);We(0,16,120955,l);c[o>>2]=0;c[k>>2]=0;e=-12;break}c[b>>2]=h;if((e|0)>-64){wW(h+(c[o>>2]|0)|0,c[f>>2]|0,i|0)|0;h=c[b>>2]|0}c[o>>2]=0;c[f>>2]=h}h=b+16|0;i=b+32|0;while(1){if((e|0)>=0){e=0;break a}f=(c[b>>2]|0)+((c[m>>2]|0)+e)|0;c[h>>2]=c[h>>2]<<8|(d[f>>0]|0);l=i;l=sW(c[l>>2]|0,c[l+4>>2]|0,8)|0;o=M()|0;q=i;c[q>>2]=l|(d[f>>0]|0);c[q+4>>2]=o;c[n>>2]=(c[n>>2]|0)+1;e=e+1|0}}while(0);Ec=p;return e|0}function Ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)>>>0<d>>>0){f=2147483647+-32|0;e=d+32+(d>>>4)|0;e=e>>>0>d>>>0?e:d;e=f>>>0>e>>>0?e:f;if(f>>>0<d>>>0){e=0;a=0}else{a=bf(a,e)|0;e=(a|0)==0?0:e}c[b>>2]=e}return a|0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;f=i;if(a){h=c[a>>2]|0;c[f>>2]=e;if(((h|0)!=0?(c[h+12>>2]|0)>3280641:0)?(g=c[h+16>>2]|0,(b|0)>7&(g|0)!=0):0)b=(c[a+g>>2]|0)+b|0}else c[f>>2]=e;Xe(a,b,d,f);Ec=i;return}function Xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(4)Ye(a,b,c,d);return}function Ye(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Ec;Ec=Ec+5168|0;n=p+24|0;m=p+16|0;h=p;o=p+40|0;k=p+4136|0;l=p+32|0;i=(d|0)>-1;j=i?d&255:d;i=i?d>>>8&255:0;if((j|0)<=32){JU(181204)|0;Ze(b,j,e,f,o,58976,l);e=o+1024|0;q=c[e>>2]|0;f=o+2048|0;b=c[f>>2]|0;g=o+3072|0;d=c[g>>2]|0;c[h>>2]=c[o>>2];c[h+4>>2]=q;c[h+8>>2]=b;c[h+12>>2]=d;VT(k,1024,121041,h)|0;d=c[45308]|0;if(!d){b=(yU(2)|0)!=0;b=b?1:-1;c[45308]=b}else b=d;if((!((c[14744]|0)==0|0==0)?(q=(YS(k,256260)|0)!=0,!(q|(a[k>>0]|0)==0)):0)?(a[k+((MT(k)|0)+-1)>>0]|0)!=13:0){d=(c[45309]|0)+1|0;c[45309]=d;if((b|0)==1){q=c[28439]|0;c[m>>2]=d;nU(q,121050,m)|0}}else{d=c[45309]|0;if((d|0)>0){q=c[28439]|0;c[n>>2]=d;nU(q,121086,n)|0;c[45309]=0}WT(256260,k)|0;_e(c[o>>2]|0);$e(c[l>>2]|0,0,c[o>>2]|0);_e(c[e>>2]|0);$e(c[l+4>>2]|0,0,c[e>>2]|0);_e(c[f>>2]|0);q=j>>3;q=(q|0)>0?((q|0)<7?q:7):0;$e(q,i,c[f>>2]|0);_e(c[g>>2]|0);$e(q,i,c[g>>2]|0)}af(o+3072|0,0)|0;KU(181204)|0}Ec=p;return}function Ze(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Ec;Ec=Ec+32|0;r=w+24|0;t=w+16|0;s=w+8|0;q=w;if(!b)l=0;else l=c[b>>2]|0;ef(g,0,1);p=g+1024|0;ef(p,0,1);j=g+2048|0;ef(j,0,1);v=g+3072|0;ef(v,0,65536);k=(i|0)!=0;if(k){c[i+4>>2]=16;c[i>>2]=16}if((l|0)!=0&(c[h>>2]|0)!=0){m=c[l+20>>2]|0;do if(((m|0)!=0?(n=c[b+m>>2]|0,(n|0)!=0):0)?(o=c[n>>2]|0,(o|0)!=0):0){c[q>>2]=Kc[c[o+4>>2]&31](n)|0;c[q+4>>2]=n;ff(g,121277,q);if(k){c[i>>2]=gf(n)|0;u=11;break}else{c[t>>2]=Kc[c[l+4>>2]&31](b)|0;c[t+4>>2]=b;ff(p,121277,t);break}}else u=11;while(0);if((u|0)==11?(c[s>>2]=Kc[c[l+4>>2]&31](b)|0,c[s+4>>2]=b,ff(p,121277,s),k):0)c[i+4>>2]=gf(b)|0;if(0){c[r>>2]=hf(d)|0;ff(j,121288,r)}}jf(v,e,f);if(!((((a[c[g>>2]>>0]|0)==0?(a[c[p>>2]>>0]|0)==0:0)?(a[c[j>>2]>>0]|0)==0:0)?!(a[c[v>>2]>>0]|0):0)){b=c[g+3076>>2]|0;if((b|0)!=0?b>>>0<=(c[g+3080>>2]|0)>>>0:0)b=a[(c[v>>2]|0)+(b+-1)>>0]|0;else b=0;c[h>>2]=(b<<24>>24==10|b<<24>>24==13)&1}Ec=w;return}function _e(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24))break;if((c&255)<8|(c+-14&255)<18)a[b>>0]=63;b=b+1|0}return}function $e(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+48|0;j=k+32|0;i=k+16|0;h=k;do if(a[e>>0]|0){f=c[14745]|0;if((f|0)<0){df();f=c[14745]|0}g=(b|0)==4?0:f;if((g|0)==1){j=c[28439]|0;b=c[58984+(b<<2)>>2]|0;c[h>>2]=b>>>4&15;c[h+4>>2]=b&15;c[h+8>>2]=e;nU(j,121122,h)|0;break}if((d|0)!=0&(f|0)==256){j=c[28439]|0;c[i>>2]=(c[58984+(b<<2)>>2]|0)>>>16&255;c[i+4>>2]=d;c[i+8>>2]=e;nU(j,121138,i)|0;break}f=c[28439]|0;if((g|0)==256){b=c[58984+(b<<2)>>2]|0;c[j>>2]=b>>>16&255;c[j+4>>2]=b>>>8&255;c[j+8>>2]=e;nU(f,121165,j)|0;break}else{bU(e,f)|0;break}}while(0);Ec=k;return}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=(c[a+4>>2]|0)+1|0;g=a+8|0;e=c[g>>2]|0;f=f>>>0>e>>>0?e:f;e=c[a>>2]|0;d=(e|0)!=(a+16|0);if(!b)if(d){Se(a);d=0}else d=0;else{if(!d){e=cf(f)|0;if(!e){d=-12;e=0}else{wW(e|0,c[a>>2]|0,f|0)|0;d=0}}else{e=bf(e,f)|0;if(!e)e=c[a>>2]|0;c[a>>2]=0;d=0}c[b>>2]=e}c[g>>2]=f;return d|0}function bf(a,b){a=a|0;b=b|0;if((2147483647+-32|0)>>>0<b>>>0)a=0;else a=CU(a,((b|0)==0&1)+b|0)|0;return a|0}function cf(a){a=a|0;var b=0,d=0;d=Ec;Ec=Ec+16|0;b=d;c[b>>2]=0;do if((2147483647+-32|0)>>>0>=a>>>0){if(!a){a=cf(1)|0;c[b>>2]=a;break}if(!(HU(b,16,a)|0)){a=c[b>>2]|0;break}else{c[b>>2]=0;a=0;break}}else a=0;while(0);Ec=d;return a|0}function df(){var a=0,b=0,d=0;a=mb(121192)|0;do if((mb(121197)|0)==0?(mb(121206)|0)==0:0){if(a|0?yU(2)|0:0){b=1;break}b=(mb(121227)|0)!=0&1}else b=0;while(0);c[14745]=b;if(!(mb(121246)|0)){if(a|0?oU(a,121268)|0:0)d=9}else d=9;if((d|0)==9)c[14745]=b<<8;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+16|0;g=(e|0)==1?1008:e;c[b>>2]=f;c[b+4>>2]=0;e=g>>>0<1008?g:1008;c[b+8>>2]=e;c[b+12>>2]=g;a[f>>0]=0;if(e>>>0<d>>>0)kf(b,d+-1|0)|0;return}function ff(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=Ec;Ec=Ec+16|0;f=k;g=a+8|0;h=a+4|0;while(1){i=c[g>>2]|0;e=c[h>>2]|0;i=i-(e>>>0>i>>>0?i:e)|0;if(!i)e=0;else e=(c[a>>2]|0)+e|0;c[f>>2]=d;e=aT(e,i,b,f)|0;if((e|0)<1)break;if(e>>>0<i>>>0){j=7;break}if(kf(a,e)|0){j=7;break}}if((j|0)==7)lf(a,e);Ec=k;return}function gf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;do if(((b|0)!=0?(e=c[b+12>>2]|0,!((e|0)<3357440|(e&252)>>>0<100)):0)?(d=c[b+32>>2]|0,d>>>0<=45):0){b=c[b+36>>2]|0;if(!b){b=d+16|0;break}else{b=(Kc[b&31](a)|0)+16|0;break}}else b=16;while(0);return b|0}function hf(a){a=a|0;a=a+8|0;switch(a>>>3|a<<29|0){case 0:{a=121333;break}case 7:{a=169075;break}case 6:{a=121325;break}case 5:{a=121320;break}case 4:{a=121312;break}case 3:{a=121306;break}case 2:{a=121300;break}case 1:{a=121294;break}default:a=260868}return a|0}function jf(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=Ec;Ec=Ec+16|0;g=k;h=a+8|0;i=a+4|0;while(1){f=c[h>>2]|0;e=c[i>>2]|0;f=f-(e>>>0>f>>>0?f:e)|0;if(!f)e=0;else e=(c[a>>2]|0)+e|0;c[g>>2]=c[d>>2];e=aT(e,f,b,g)|0;if((e|0)<1)break;if(e>>>0<f>>>0){j=7;break}if(kf(a,e)|0){j=7;break}}if((j|0)==7)lf(a,e);Ec=k;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+8|0;d=c[f>>2]|0;e=c[a+12>>2]|0;if((d|0)!=(e|0))if(mf(a)|0){g=a+4|0;i=c[g>>2]|0;h=-2-i|0;h=i+1+(h>>>0>b>>>0?b:h)|0;b=d>>>0>e>>>1>>>0?e:d<<1;b=b>>>0<h>>>0?(e>>>0>h>>>0?h:e):b;d=c[a>>2]|0;d=(d|0)==(a+16|0)?0:d;e=bf(d,b)|0;if(!e)b=-12;else{if(!d)wW(e|0,c[a>>2]|0,(c[g>>2]|0)+1|0)|0;c[a>>2]=e;c[f>>2]=b;b=0}}else b=-1094995529;else b=-5;return b|0}function lf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;e=c[f>>2]|0;g=-6-e|0;e=(g>>>0<d>>>0?g:d)+e|0;c[f>>2]=e;f=c[b+8>>2]|0;d=f+-1|0;if(f|0)a[(c[b>>2]|0)+(e>>>0>d>>>0?d:e)>>0]=0;return}function mf(a){a=a|0;return (c[a+4>>2]|0)>>>0<(c[a+8>>2]|0)>>>0|0}function nf(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=Ec;Ec=Ec+112|0;j=i+92|0;h=i+72|0;k=i;l=of(a,b)|0;b=M()|0;a=k;c[a>>2]=l;c[a+4>>2]=b;pf(j,k+1|0);a=qf(j,h)|0;if((a|0)<0)a=0;else{c[f>>2]=0;c[g>>2]=1;c[e+56>>2]=c[h>>2];c[e+52>>2]=d[121339+(d[h+15>>0]|0)>>0];c[e+64>>2]=c[h+4>>2];c[e+60>>2]=c[h+8>>2]}Ec=i;return a|0}function of(a,b){a=a|0;b=b|0;a=uW(a|0)|0;b=uW(b|0)|0;L(a|0);return b|0}function pf(a,b){a=a|0;b=b|0;var d=0;d=(b|0)==0?0:56;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d>>>3);c[a+8>>2]=0;return}function qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((rf(b,12)|0)==4095){sf(b);tf(b,2);g=uf(b)|0;h=rf(b,2)|0;i=rf(b,4)|0;j=c[59232+(i<<2)>>2]|0;if(j){sf(b);f=rf(b,3)|0;sf(b);sf(b);sf(b);sf(b);e=rf(b,13)|0;if((e|0)<7)e=-67308554;else{tf(b,11);b=rf(b,2)|0;a[d+13>>0]=h+1;a[d+15>>0]=f;a[d+12>>0]=g;h=b+1|0;a[d+16>>0]=h;a[d+14>>0]=i;c[d>>2]=j;i=h<<10;c[d+4>>2]=i;c[d+8>>2]=((H(e<<3,j)|0)>>>0)/(i>>>0)|0}}else e=-50531338}else e=-16976906;return e|0}function rf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function sf(a){a=a|0;tf(a,1);return}function tf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function uf(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function vf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(g=c[a>>2]|0,g|0):0){b=g+4|0;d=c[b>>2]|0;e=c[d+24>>2]|0;if(e){Sc[e&63](g);d=c[b>>2]|0}b=g+12|0;if(c[d+8>>2]|0?(f=c[b>>2]|0,f|0):0)wf(f);wf(g);f=g+8|0;xf(c[f>>2]|0);Se(f);Se(b);yf(g+16|0);yf(g+20|0);Se(a)}return}function wf(a){a=a|0;var b=0;b=0;a:while(1){b=Ff(a,b)|0;if(!b)break;switch(c[b+12>>2]|0){case 7:case 5:{Se(a+(c[b+8>>2]|0)|0);continue a}case 8:{Gf(a+(c[b+8>>2]|0)|0);continue a}default:continue a}}return}function xf(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){Af(b);Se(a)}return}function yf(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){zf(b);Se(a)}return}function zf(a){a=a|0;var b=0,d=0;Se(a+12|0);b=a+8|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=-1;c[a+4>>2]=0;c[a+20>>2]=-1;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=2;c[a+76>>2]=2;c[a+80>>2]=2;c[a+84>>2]=0;c[a+56>>2]=0;c[a+60>>2]=1;c[a+40>>2]=-99;c[a+44>>2]=-99;return}function Af(a){a=a|0;Bf(a);Cf(a);Df(a);c[a+24>>2]=0;c[a+28>>2]=0;return}function Bf(a){a=a|0;var b=0,d=0;d=a+44|0;b=a+40|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;Se((c[b>>2]|0)+(a*12|0)|0);a=a+1|0}Se(b);c[d>>2]=0;return}function Cf(a){a=a|0;if(a|0?c[a>>2]|0:0)Ef(a,0);return}function Df(a){a=a|0;var b=0;b=a+8|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+16|0;c[b>>2]=0;c[b+4>>2]=-2147483648;b=a+56|0;c[b>>2]=-1;c[b+4>>2]=-1;b=a+64|0;c[b>>2]=0;c[b+4>>2]=0;b=a+32|0;c[a>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;d=g;e=c[a>>2]|0;f=c[e>>2]|0;c[d>>2]=f;if(!b)Se(a);else{a=c[b>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];Se(b)}e=f+8|0;f=c[e>>2]|0;c[e>>2]=f+-1;if((f|0)==1){f=c[d>>2]|0;Tc[c[f+12>>2]&255](c[f+16>>2]|0,c[f>>2]|0);Se(d)}Ec=g;return}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;do if(!a)d=0;else{a=c[a>>2]|0;e=(b|0)==0;if((e&(a|0)!=0?(f=c[a+8>>2]|0,f|0):0)?c[f>>2]|0:0){d=f;break}if(!e?(d=b+48|0,c[d>>2]|0):0)break;d=0}while(0);return d|0}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(b|0){d=b+4|0;while(1){f=c[b>>2]|0;e=f+-1|0;c[b>>2]=e;if(!f)break;Se((c[d>>2]|0)+(e<<3)|0);Se((c[d>>2]|0)+(c[b>>2]<<3)+4|0)}Se(d)}Se(a);return}function Hf(a,b){a=a|0;b=b|0;return Mc[c[(c[a+4>>2]|0)+20>>2]&15](a,b)|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;e=g;do if(b){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0){f=4;break}d=c[a+8>>2]|0;if(c[d+4>>2]|0){We(a,16,121347,e);a=-22;break}a=c[d>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){Jf(a,b);a=0}else a=-11}else f=4;while(0);if((f|0)==4){c[(c[a+8>>2]|0)+4>>2]=1;a=0}Ec=g;return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=b;e=a+72|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Df(b);c[b+24>>2]=0;c[b+28>>2]=0;return}function Kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;zf(a);wW(a|0,b|0,136)|0;f=a+12|0;c[f>>2]=0;d=a+16|0;c[d>>2]=0;e=b+12|0;if(c[e>>2]|0){b=b+16|0;a=Of((c[b>>2]|0)+64|0)|0;c[f>>2]=a;if(!a)a=-12;else{f=c[b>>2]|0;wW(a|0,c[e>>2]|0,f|0)|0;c[d>>2]=f;a=0}}else a=0;return a|0}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ec;Ec=Ec+32|0;k=n+24|0;j=n+16|0;i=n;l=a+4|0;e=c[(c[l>>2]|0)+4>>2]|0;g=a+16|0;a:do if(!e)m=13;else{f=c[(c[g>>2]|0)+4>>2]|0;b=0;while(1){d=c[e+(b<<2)>>2]|0;if(!d)break;if((f|0)==(d|0)){m=13;break a}else b=b+1|0}b=Mf(f)|0;if(!b)b=171103;else b=c[b+8>>2]|0;h=c[(c[g>>2]|0)+4>>2]|0;d=c[c[l>>2]>>2]|0;c[i>>2]=b;c[i+4>>2]=h;c[i+8>>2]=d;We(a,16,121385,i);d=0;while(1){b=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;if(!b)break;b=Mf(b)|0;if(!b)b=171103;else b=c[b+8>>2]|0;i=c[(c[(c[l>>2]|0)+4>>2]|0)+(d<<2)>>2]|0;c[j>>2]=b;c[j+4>>2]=i;We(a,16,121471,j);d=d+1|0}We(a,16,132942,k);b=-22}while(0);do if((m|0)==13){b=Kf(c[a+20>>2]|0,c[g>>2]|0)|0;if((b|0)>=0){k=a+24|0;m=c[k+4>>2]|0;b=a+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=m;b=c[(c[l>>2]|0)+16>>2]|0;if(b|0?(h=Kc[b&31](a)|0,(h|0)<0):0){b=h;break}b=0}}while(0);Ec=n;return b|0}function Mf(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+16|0;d=b;c[d>>2]=a;a=xU(d,59296,436,28,7)|0;Ec=b;return a|0}function Nf(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Of(a){a=a|0;var b=0;b=cf(a)|0;if(b|0)yW(b|0,0,a|0)|0;return b|0}function Pf(a){a=a|0;var b=0;b=c[a+24>>2]|0;if(c[c[a+28>>2]>>2]|0){yW(b|0,0,46324)|0;a=PM(a,b)|0;if((a|0)>=0){c[b+25692>>2]=0;a=0}}else a=0;return a|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+16|0;l=s;q=c[a+24>>2]|0;r=c[b+24>>2]|0;k=q+25692|0;a:do if((a|0)!=(b|0)){j=(c[k>>2]|0)!=0;do if(j){if((((((((c[q+25668>>2]|0)==(c[r+25668>>2]|0)?(c[q+25672>>2]|0)==(c[r+25672>>2]|0):0)?(c[q+27012>>2]|0)==(c[r+27012>>2]|0):0)?(c[q+27008>>2]|0)==(c[r+27008>>2]|0):0)?(d=c[q+28216>>2]|0,d|0):0)?(e=c[r+28216>>2]|0,(c[d+1184>>2]|0)==(c[e+1184>>2]|0)):0)?(c[d+12>>2]|0)==(c[e+12>>2]|0):0)?(c[d+128>>2]|0)==(c[e+128>>2]|0):0){g=0;break}g=1}else g=0;while(0);h=q+25976|0;i=r+25976|0;wW(h|0,i|0,384)|0;a=0;while(1){if(a>>>0>=32){a=0;break}b=q+27052+(a<<2)|0;Cf(b);d=c[r+27052+(a<<2)>>2]|0;if(d|0?(n=Eg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}while(1){if(a>>>0>=256)break;b=q+27180+(a<<2)|0;Cf(b);d=c[r+27180+(a<<2)>>2]|0;if(d|0?(n=Eg(d)|0,c[b>>2]=n,(n|0)==0):0){a=-12;break a}a=a+1|0}b=q+28204|0;Cf(b);e=q+28208|0;Cf(e);d=q+28212|0;c[d>>2]=0;f=q+28216|0;c[f>>2]=0;a=c[r+28204>>2]|0;if(a|0){a=Eg(a)|0;c[b>>2]=a;if(!a){a=-12;break}c[d>>2]=c[a+4>>2]}a=c[r+28208>>2]|0;if(a|0){a=Eg(a)|0;c[e>>2]=a;if(!a){a=-12;break}c[f>>2]=c[a+4>>2]}if(j&(g|0)==0)a=0;else{c[q+25668>>2]=c[r+25668>>2];c[q+25672>>2]=c[r+25672>>2];c[q+27008>>2]=c[r+27008>>2];c[q+27012>>2]=c[r+27012>>2];c[q+27020>>2]=c[r+27020>>2];c[q+27016>>2]=c[r+27016>>2];c[q+26368>>2]=c[r+26368>>2];if((c[k>>2]|0)==0?(c[r+25692>>2]|0)==0:0)a=0;else{a=Jm(q)|0;if((a|0)<0){We(c[q+4>>2]|0,16,154969,l);break}}wW(h|0,i|0,384)|0}n=c[r+4>>2]|0;f=c[q+4>>2]|0;c[f+104>>2]=c[n+104>>2];c[f+100>>2]=c[n+100>>2];c[f+92>>2]=c[n+92>>2];c[f+96>>2]=c[n+96>>2];c[q+29664>>2]=c[r+29664>>2];c[q+29668>>2]=c[r+29668>>2];c[q+25688>>2]=c[r+25688>>2];c[q+26384>>2]=c[r+26384>>2];c[q+26380>>2]=c[r+26380>>2];c[q+26376>>2]=c[r+26376>>2];f=r+25684|0;n=q+25684|0;c[n>>2]=c[f>>2];b=0;while(1){if((b|0)>=36)break;d=q+696+(b*656|0)|0;Xf(q,d);e=r+696+(b*656|0)|0;if(c[(c[e>>2]|0)+248>>2]|0?(m=lh(q,d,e)|0,(m|0)<0):0){a=m;break a}b=b+1|0}b=c[r+24312>>2]|0;if((b|0)!=0?(o=r+696|0,b>>>0>=o>>>0&b>>>0<(r+24312|0)>>>0):0)b=q+696+(((b-o|0)/656|0)*656|0)|0;else b=0;m=q+24312|0;c[m>>2]=b;b=q+24316|0;Xf(q,b);d=r+24316|0;if(c[(c[d>>2]|0)+248>>2]|0?(p=lh(q,b,d)|0,(p|0)<0):0){a=p;break}c[q+29672>>2]=c[r+29672>>2];c[q+25700>>2]=c[r+25700>>2];c[q+25704>>2]=c[r+25704>>2];c[n>>2]=c[f>>2];c[q+27036>>2]=c[r+27036>>2];c[q+27040>>2]=c[r+27040>>2];b=q+28224|0;j=b;k=r+28224|0;l=j+44|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));d=q+28348|0;e=r+28348|0;j=d;k=e;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));f=q+28476|0;g=r+28476|0;j=f;k=g;l=j+128|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));h=q+28604|0;i=r+28604|0;j=h;k=i;l=j+72|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=q+28676|0;k=r+28676|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));c[q+28740>>2]=c[r+28740>>2];c[q+28744>>2]=c[r+28744>>2];wW(q+28748|0,r+28748|0,792)|0;c[q+29540>>2]=c[r+29540>>2];c[q+29544>>2]=c[r+29544>>2];c[q+29548>>2]=c[r+29548>>2];c[q+29552>>2]=c[r+29552>>2];c[q+29556>>2]=c[r+29556>>2];WM(d,e,32,q,r);WM(f,g,32,q,r);WM(h,i,18,q,r);c[q+29576>>2]=c[r+29576>>2];if(c[m>>2]|0){if(!(c[n>>2]|0)){a=Ah(q)|0;c[q+28248>>2]=c[q+28228>>2];c[q+28252>>2]=c[b>>2]}c[q+28260>>2]=c[q+28256>>2];c[q+28264>>2]=c[q+28244>>2];c[q+29572>>2]=c[r+29572>>2]}else a=0}else a=0;while(0);Ec=s;return a|0}function Rf(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=Ec;Ec=Ec+16|0;l=m+8|0;d=m;i=c[a+24>>2]|0;b=PM(a,i)|0;do if((b|0)>=0){if(PU(181920,3)|0){We(a,16,153085,d);b=-1313558101;break}f=a+84|0;do if((c[f>>2]|0)==1){b=c[i+4>>2]|0;d=b+80|0;e=c[d>>2]|0;if((e|0)<1073741823){c[d>>2]=e<<1;break}else{e=b+76|0;c[e>>2]=(c[e>>2]|0)/2|0;break}}while(0);c[f>>2]=2;b=c[a+72>>2]|0;if(((b|0)>0?(g=c[a+68>>2]|0,g|0):0)?(h=th(g,b,i+27052|0,i+27036|0,i+27040|0,c[a+580>>2]|0,a)|0,(h|0)<0):0){Tf(a)|0;b=h;break}b=c[i+28216>>2]|0;if((b|0?c[b+660>>2]|0:0)?(j=(c[i+4>>2]|0)+140|0,k=c[b+664>>2]|0,(c[j>>2]|0)<(k|0)):0)c[j>>2]=k;c[(c[a+28>>2]|0)+4>>2]=1;Vf(i);b=i+29672|0;d=c[b>>2]|0;if((d|0)<0){if(c[a+696>>2]&2|0){c[b>>2]=0;b=0;break}}else if(!d){b=0;break}if(!(c[a+696>>2]&2))b=0;else{We(a,24,153110,l);b=0}}while(0);Ec=m;return b|0}function Sf(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=Ec;Ec=Ec+48|0;t=u+24|0;o=u+16|0;n=u;l=u+36|0;m=c[g+24>>2]|0;h=c[g+28>>2]|0;q=c[b+24>>2]|0;c[q+25696>>2]=c[b+60>>2];c[q+29588>>2]=0;c[q+25636>>2]=0;r=q+24972|0;Xf(q,r);a:do if(h){i=q+27036|0;if((c[i>>2]|0?rh(g,1,0)|0:0)?(j=rh(g,1,l)|0,k=c[l>>2]|0,sh(j,k)|0):0)th(j,k,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;if(((((((h|0)>8&(c[i>>2]|0)!=0?(a[m>>0]|0)==1:0)?(a[m+2>>0]|0)==0:0)?(d[m+4>>0]|0)>251:0)?a[m+5>>0]&31:0)?(a[m+8>>0]|0)==103:0)?sh(m,h)|0:0){h=th(m,h,q+27052|0,i,q+27040|0,c[b+580>>2]|0,b)|0;break}j=uh(q,m,h)|0;if((j|0)<0)h=-1094995529;else{i=(c[q+24312>>2]|0)==0;if(i?(c[q+27028>>2]|0)==10:0)if((j|0)>(h|0)){c[n>>2]=131475;c[n+4>>2]=131497;c[n+8>>2]=998;We(0,0,164054,n);Za()}else{h=qh(q,e,f,j)|0;break}do if(c[b+64>>2]&32768){o=c[q+27008>>2]|0;if(!((o|0)==0?1:(c[q+27004>>2]|0)<(o|0)))p=30}else{if(!i?c[q+27032>>2]|0:0){p=30;break}if((c[b+732>>2]|0)>7)break a;if((h|0)>3?(ZS(155186,m,4)|0)==0:0)break a;We(b,16,131518,o);h=-1094995529;break a}while(0);if((p|0)==30){i=vh(q,c[q+25628>>2]|0,0)|0;if((i|0)<0){h=i;break}i=c[q+28740>>2]|0;if(i|0?(s=wh(q,e,i,f)|0,(s|0)<0):0){h=s;break}}if((c[e+248>>2]|0)==0?c[f>>2]|0:0){c[t>>2]=131529;c[t+4>>2]=131497;c[t+8>>2]=1023;We(0,0,164054,t);Za()}Xf(q,r);h=xh(j,h)|0}}else h=qh(q,e,f,0)|0;while(0);Ec=u;return h|0}function Tf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;jh(d);Yf(d);a=0;while(1){if((a|0)==36)break;b=d+696+(a*656|0)|0;Xf(d,b);Gg(b);a=a+1|0}a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[d+24312>>2]=0;Se(d+25628|0);c[d+25632>>2]=0;Wf(d+29676|0);oh(d+27052|0);ph(d+25640|0);b=d+24316|0;Xf(d,b);Gg(b);b=d+24972|0;Xf(d,b);Gg(b);return 0}function Uf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;a=d+28604|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Vf(d);Wf(d+29676|0);a=0;while(1){if((a|0)==36)break;Xf(d,d+696+(a*656|0)|0);a=a+1|0}c[d+24312>>2]=0;Xf(d,d+24316|0);c[d+27004>>2]=0;Yf(d);c[d+25692>>2]=0;return}function Vf(a){a=a|0;var b=0,d=0,e=0,f=0;c[a+28744>>2]=-2147483648;c[a+29564>>2]=1;ih(a);c[a+28264>>2]=-1;f=a+24312|0;b=c[f>>2]|0;if(b|0){c[b+640>>2]=0;b=0;e=0;while(1){d=c[a+28604+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[f>>2]|0)){c[a+28604+(b<<2)>>2]=d;b=b+1|0}e=e+1|0}c[a+28604+(b<<2)>>2]=0}Xf(a,a+24972|0);c[a+26384>>2]=0;c[a+29572>>2]=-1;c[a+29576>>2]=0;c[a+29560>>2]=0;c[a+29544>>2]=1;return}function Wf(a){a=a|0;c[a+40>>2]=-1;c[a+12>>2]=0;c[a+16>>2]=-1;c[a>>2]=0;c[a+44>>2]=0;c[a+176>>2]=0;c[a+208>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;Se(a+32|0);return}function Xf(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(d|0?c[d+248>>2]|0:0){$f(c[a+4>>2]|0,b+4|0);Cf(b+52|0);d=b+20|0;Cf(d);Cf(b+44|0);a=0;while(1){if((a|0)==2)break;Cf(b+28+(a<<2)|0);Cf(b+60+(a<<2)|0);a=a+1|0}yW(d|0,0,636)|0}return}function Yf(a){a=a|0;var b=0,d=0,e=0;Se(a+25732|0);Se(a+26396|0);Se(a+26392|0);Se(a+26400|0);Se(a+26404|0);Se(a+26408|0);Se(a+25972|0);Se(a+28220|0);c[a+26372>>2]=0;Se(a+26388|0);Se(a+26360|0);Se(a+26364|0);Zf(a+29924|0);Zf(a+29928|0);Zf(a+29932|0);Zf(a+29936|0);d=a+25632|0;b=a+25628|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=c[b>>2]|0;Se(e+(a*34768|0)+27784|0);Se(e+(a*34768|0)+572|0);Se(e+(a*34768|0)+604|0);Se(e+(a*34768|0)+608|0);Se(e+(a*34768|0)+27788|0);Se(e+(a*34768|0)+27792|0);Se(e+(a*34768|0)+27796|0);Se(e+(a*34768|0)+27800|0);e=e+(a*34768|0)+27804|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a=a+1|0}return}function Zf(a){a=a|0;var b=0,d=0;if((a|0?(b=c[a>>2]|0,b|0):0)?(c[a>>2]=0,d=b+32|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)==1):0)_f(b);return}function _f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g+4|0;e=g;c[f>>2]=a;while(1){b=a+28|0;d=c[b>>2]|0;if(!d)break;c[e>>2]=d;c[b>>2]=c[d+16>>2];Tc[c[d+8>>2]&255](c[d+4>>2]|0,c[d>>2]|0);Se(e);a=c[f>>2]|0}LU(a)|0;b=c[a+52>>2]|0;if(b|0)Sc[b&63](c[a+40>>2]|0);Se(f);Ec=g;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=Ec;Ec=Ec+16|0;e=i;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)d=(c[a+400>>2]|0)==10;else d=1;j=c[b>>2]|0;do if(j|0?c[j+248>>2]|0:0){if(c[a+576>>2]&32768|0){c[e>>2]=b;We(a,48,128928,e)}Cf(b+12|0);c[b+8>>2]=0;c[b+4>>2]=0;if(d){bg(c[b>>2]|0);break}a=(c[h>>2]|0)+8|0;JU(a)|0;d=h+308|0;e=(c[d>>2]|0)+1|0;if(e>>>0<=5263439?(f=h+304|0,g=Ve(c[f>>2]|0,h+312|0,e*408|0)|0,g|0):0){c[f>>2]=g;cg(g+((c[d>>2]|0)*408|0)|0,c[b>>2]|0);c[d>>2]=(c[d>>2]|0)+1}KU(a)|0}while(0);Ec=i;return}function ag(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a+860>>2]|0;a:do if(!d){d=hg(a,b)|0;if((d|0)>=0)switch(c[a+8>>2]|0){case 0:{d=ig(a,b)|0;break a}case 1:{d=jg(a,b)|0;break a}default:{d=-1;break a}}}else{d=gg(d,b,0)|0;c[b+68>>2]=c[a+100>>2];c[b+72>>2]=c[a+104>>2]}while(0);return d|0}function bg(a){a=a|0;var b=0,d=0,e=0;if(a|0){eg(a);b=0;while(1){if((b|0)==8)break;Cf(a+248+(b<<2)|0);b=b+1|0}d=a+284|0;e=a+280|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Cf((c[e>>2]|0)+(b<<2)|0);b=b+1|0}Se(e);Gf(a+344|0);Cf(a+372|0);Cf(a+376|0);Cf(a+380|0);Cf(a+400|0);dg(a)}return}function cg(a,b){a=a|0;b=b|0;wW(a|0,b|0,408)|0;if((c[b+64>>2]|0)==(b|0))c[a+64>>2]=a;yW(b|0,0,408)|0;dg(b);return}function dg(a){a=a|0;var b=0,d=0;b=a+64|0;if((c[b>>2]|0)!=(a|0))Se(b);yW(a|0,0,408)|0;d=a+120|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+104|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+112|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+320|0;c[d>>2]=0;c[d+4>>2]=-2147483648;d=a+336|0;c[d>>2]=0;c[d+4>>2]=0;d=a+328|0;c[d>>2]=-1;c[d+4>>2]=-1;c[a+356>>2]=-1;c[a+84>>2]=1;c[a+92>>2]=0;c[a+96>>2]=1;c[a+80>>2]=-1;c[b>>2]=a;c[a+304>>2]=2;c[a+308>>2]=2;c[a+312>>2]=2;c[a+300>>2]=0;c[a+316>>2]=0;c[a+296>>2]=0;return}function eg(a){a=a|0;var b=0,d=0;d=a+292|0;b=a+288|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;fg((c[b>>2]|0)+(a<<2)|0);a=a+1|0}c[d>>2]=0;Se(b);return}function fg(a){a=a|0;var b=0;b=c[a>>2]|0;Cf(b+16|0);Gf(b+12|0);Se(a);return}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;j=Ec;Ec=Ec+16|0;h=j;f=j+4|0;i=c[a+4>>2]|0;g=i+4|0;d=c[g>>2]|0;if(!(c[d+12>>2]|0))if(c[(c[d>>2]|0)+60>>2]|0)if(c[i+28>>2]|0){h=Eg(a)|0;a=b+376|0;c[a>>2]=h;if(h){d=Mc[c[(c[c[g>>2]>>2]|0)+60>>2]&15](i,b)|0;if((d|0)<0)Cf(a);else d=0}else d=-12}else d=-22;else d=-38;else{c[b+80>>2]=c[i+36>>2];a=Eg(a)|0;c[b+376>>2]=a;do if((a|0)!=0?(e=Fg()|0,c[f>>2]=e,(e|0)!=0):0){d=gg(c[(c[g>>2]|0)+12>>2]|0,e,0)|0;if((d|0)<0){Gg(f);break}d=Hg(b,e,c[(c[g>>2]|0)+16>>2]|0)|0;if(!d){Gg(f);d=0;break}else{c[h>>2]=d;We(i,16,131003,h);Gg(f);break}}else d=-12;while(0)}Ec=j;return d|0}function hg(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=Ec;Ec=Ec+80|0;e=r;j=r+56|0;n=r+40|0;o=r+24|0;g=r+16|0;h=r+12|0;q=c[(c[a+28>>2]|0)+16>>2]|0;a:do switch(c[a+8>>2]|0){case 0:{c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;k=b+68|0;e=c[k>>2]|0;c[g>>2]=e;l=b+72|0;f=c[l>>2]|0;c[h>>2]=f;m=q+16|0;i=b+80|0;if(((c[m>>2]|0)==(c[i>>2]|0)?(c[q+20>>2]|0)==(e|0):0)?(c[q+24>>2]|0)==(f|0):0)d=0;else p=5;b:do if((p|0)==5){tg(a,g,h,q+28|0);f=a+112|0;a=c[g>>2]|0;do{d=ug(n,c[f>>2]|0,a)|0;if((d|0)<0)break b;a=c[g>>2]|0;a=(a&0-a)+a|0;c[g>>2]=a;d=0;e=0;while(1){if((d|0)==4)break;b=(c[n+(d<<2)>>2]|0)%(c[q+28+(d<<2)>>2]|0)|0|e;d=d+1|0;e=b}}while((e|0)!=0);f=vg(j,c[f>>2]|0,c[h>>2]|0,0,n)|0;if((f|0)>=0){d=0;while(1){if((d|0)>=3)break;e=d+1|0;a=c[j+(e<<2)>>2]|0;if(!a)break;c[o+(d<<2)>>2]=a-(c[j+(d<<2)>>2]|0);d=e}c[o+(d<<2)>>2]=f-(c[j+(d<<2)>>2]|0)+(c[j>>2]|0);d=0;while(1){if((d|0)>=4){p=20;break}e=q+(d<<2)|0;Zf(e);c[q+60+(d<<2)>>2]=c[n+(d<<2)>>2];a=c[o+(d<<2)>>2]|0;if(a|0?(p=xg(a+23|0,17)|0,c[e>>2]=p,(p|0)==0):0){p=22;break}d=d+1|0}if((p|0)==20){c[m>>2]=c[i>>2];c[q+20>>2]=c[k>>2];c[q+24>>2]=c[l>>2];d=0;break a}else if((p|0)==22){d=-12;p=31;break a}}else d=-1}while(0);break}case 1:{f=c[b+352>>2]|0;g=b+80|0;h=(yg(c[g>>2]|0)|0)!=0;h=h?f:1;i=q+16|0;if((((c[i>>2]|0)==(c[g>>2]|0)?(c[q+76>>2]|0)==(h|0):0)?(c[q+80>>2]|0)==(f|0):0)?(c[b+76>>2]|0)==(c[q+84>>2]|0):0){d=0;break a}Zf(q);a=q+60|0;e=b+76|0;d=zg(a,f,c[e>>2]|0,c[g>>2]|0,0)|0;if((d|0)>=0){o=xg(c[a>>2]|0,0)|0;c[q>>2]=o;if(!o){d=-12;p=31}else{c[i>>2]=c[g>>2];c[q+76>>2]=h;c[q+80>>2]=f;c[q+84>>2]=c[e>>2];d=0}}else p=31;break}default:{c[e>>2]=170059;c[e+4>>2]=128996;c[e+8>>2]=1524;We(0,0,164054,e);Za()}}while(0);if((p|0)==31){e=0;while(1){if((e|0)==4)break;Zf(q+(e<<2)|0);e=e+1|0}c[q+16>>2]=-1;c[q+84>>2]=0;c[q+80>>2]=0;c[q+76>>2]=0;c[q+24>>2]=0;c[q+20>>2]=0}Ec=r;return d|0}function ig(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=Ec;Ec=Ec+32|0;j=l+16|0;e=l+8|0;d=l;f=c[(c[a+28>>2]|0)+16>>2]|0;h=b+80|0;i=qg(c[h>>2]|0)|0;do if((((c[b>>2]|0)==0?(g=b+4|0,(c[g>>2]|0)==0):0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){if(!i){c[e>>2]=rg(c[h>>2]|0)|0;We(a,16,129104,e);d=-22;break};c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+64>>2]=b;d=0;while(1){if((d|0)>=4)break;e=c[f+(d<<2)>>2]|0;if(!e)break;c[b+32+(d<<2)>>2]=c[f+60+(d<<2)>>2];e=lg(e)|0;c[b+248+(d<<2)>>2]=e;if(!e){k=19;break}c[b+(d<<2)>>2]=c[e+4>>2];d=d+1|0}if((k|0)==19){bg(b);d=-12;break}while(1){if((d|0)>=8)break;c[b+(d<<2)>>2]=0;c[b+32+(d<<2)>>2]=0;d=d+1|0}if(!(0==0?(c[i+8>>2]&66|0)==0:0))sg(c[g>>2]|0,c[h>>2]|0)|0;if(!(c[a+576>>2]&32768))d=0;else{c[j>>2]=b;We(a,48,129157,j);d=0}}else k=5;while(0);if((k|0)==5){We(a,16,129054,d);d=-1}Ec=l;return d|0}function jg(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=Ec;Ec=Ec+32|0;l=m+16|0;f=m;k=c[(c[a+28>>2]|0)+16>>2]|0;h=c[k+76>>2]|0;c[b+32>>2]=c[k+60>>2];g=(h|0)>8;if(g){d=b+64|0;c[d>>2]=kg(h,4)|0;i=h+-8|0;c[b+284>>2]=i;i=kg(i,4)|0;e=b+280|0;c[e>>2]=i;if((i|0)==0|(c[d>>2]|0)==0){Se(d);Se(e);d=-12}else{i=d;j=5}}else{e=b+64|0;c[e>>2]=b;if(!(c[b+284>>2]|0)){i=e;j=5}else{c[f>>2]=128968;c[f+4>>2]=128996;c[f+8>>2]=1556;We(0,0,164054,f);Za()}}a:do if((j|0)==5){e=g?8:h;d=0;while(1){if((d|0)>=(e|0)){j=8;break}f=lg(c[k>>2]|0)|0;c[b+248+(d<<2)>>2]=f;if(!f)break;h=c[f+4>>2]|0;c[b+(d<<2)>>2]=h;c[(c[i>>2]|0)+(d<<2)>>2]=h;d=d+1|0}b:do if((j|0)==8){e=b+284|0;f=b+280|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break;g=lg(c[k>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break b;c[(c[i>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}if(!(c[a+576>>2]&32768)){d=0;break a}c[l>>2]=b;We(a,48,129016,l);d=0;break a}while(0);bg(b);d=-12}while(0);Ec=m;return d|0}function kg(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Of(H(b,a)|0)|0;else a=0;return a|0}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;JU(a)|0;d=a+28|0;e=c[d>>2]|0;do if(!e){b=og(a)|0;KU(a)|0;if(!b)b=0;else f=6}else{b=ng(c[e>>2]|0,c[a+36>>2]|0,23,e,0)|0;if(!b){KU(a)|0;b=0;break}else{f=e+16|0;c[d>>2]=c[f>>2];c[f>>2]=0;KU(a)|0;f=6;break}}while(0);if((f|0)==6){f=a+32|0;c[f>>2]=(c[f>>2]|0)+1}return b|0}function mg(a,b){a=a|0;b=b|0;var d=0;b=c[a+12>>2]|0;JU(b)|0;d=b+28|0;c[a+16>>2]=c[d>>2];c[d>>2]=a;KU(b)|0;d=b+32|0;a=c[d>>2]|0;c[d>>2]=a+-1;if((a|0)==1)_f(b);return}function ng(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=Ec;Ec=Ec+16|0;h=j;g=Of(24)|0;c[h>>2]=g;i=g;do if(g){c[g>>2]=a;c[g+4>>2]=b;c[g+12>>2]=d|0?d:24;c[g+16>>2]=e;c[g+8>>2]=1;if(f&1|0){g=g+20|0;c[g>>2]=c[g>>2]|1}d=Of(12)|0;if(!d){Se(h);d=0;break}else{c[d>>2]=i;c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);Ec=j;return d|0}function og(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=Ec;Ec=Ec+16|0;e=f;b=c[a+48>>2]|0;if(!b)b=Kc[c[a+44>>2]&31](c[a+36>>2]|0)|0;else b=Mc[b&15](c[a+40>>2]|0,c[a+36>>2]|0)|0;c[e>>2]=b;do if(b){d=Of(20)|0;if(!d){Cf(e);b=0;break}else{e=c[b>>2]|0;c[d>>2]=c[e>>2];g=e+16|0;c[d+4>>2]=c[g>>2];e=e+12|0;c[d+8>>2]=c[e>>2];c[d+12>>2]=a;c[g>>2]=d;c[e>>2]=23;break}}else b=0;while(0);Ec=f;return b|0}function pg(a,b){a=a|0;b=b|0;Te(b);return}function qg(a){a=a|0;return (a>>>0>182?0:9736+(a*152|0)|0)|0}function rg(a){a=a|0;if(a>>>0<183)a=c[9736+(a*152|0)>>2]|0;else a=0;return a|0}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=0;a:while(1){if((g|0)>=256){d=0;break}switch(b|0){case 20:{d=(g&3)*85|0;e=(g>>>2&7)*36|0;f=(g>>5)*36|0;break}case 17:{d=(g>>6)*85|0;e=(g>>>3&7)*36|0;f=(g&7)*36|0;break}case 22:{d=0-(g&1)&255;e=(g>>>1&3)*85|0;f=(g>>3)*255|0;break}case 19:{d=(g>>3)*255|0;e=(g>>>1&3)*85|0;f=0-(g&1)&255;break}case 8:{d=g;e=g;f=g;break}default:{d=-22;break a}}c[a+(g<<2)>>2]=(f<<16)+-16777216+(e<<8)+d;g=g+1|0}return d|0}function tg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a+112|0;g=qg(c[i>>2]|0)|0;if(!g){h=1;g=1}else{h=1<<(d[g+6>>0]|0);g=1<<(d[g+5>>0]|0)}a:do switch(c[i>>2]|0){case 114:case 115:case 163:case 164:case 78:case 79:case 138:case 139:case 136:case 137:case 76:case 77:case 74:case 75:case 98:case 99:case 92:case 93:case 86:case 87:case 52:case 51:case 134:case 135:case 132:case 133:case 69:case 70:case 67:case 68:case 157:case 156:case 155:case 154:case 96:case 97:case 90:case 91:case 84:case 85:case 50:case 49:case 130:case 131:case 128:case 129:case 65:case 66:case 71:case 72:case 94:case 95:case 88:case 89:case 82:case 83:case 48:case 47:case 126:case 127:case 124:case 125:case 63:case 64:case 61:case 62:case 81:case 80:case 33:case 14:case 32:case 13:case 12:case 30:case 29:case 8:case 113:case 73:case 5:case 31:case 4:case 15:case 110:case 1:case 0:{h=32;g=16;break}case 16:case 140:case 7:{h=32;g=32;break}case 6:{i=(c[a+16>>2]|0)==22;h=i?64:h;g=i?64:g;break}case 39:{j=c[a+16>>2]|0;i=(j|0)==42;j=(j|0)==39;h=j?8:i?4:h;g=j?8:i?4:g;break}case 20:case 17:case 11:{i=c[a+16>>2]|0;switch(i|0){case 43:case 49:{h=4;g=4;break}default:{}}switch(i|0){case 39:case 148:break;default:break a}h=8;g=8;break}case 3:{j=((c[a+16>>2]|0)+-53|0)>>>0<2;h=j?4:h;g=j?4:g;break}case 2:{j=(c[a+16>>2]|0)==43;h=j?4:h;g=j?4:g;break}default:{}}while(0);j=c[a+16>>2]|0;g=(j|0)==136?((g|0)>8?g:8):g;c[b>>2]=(c[b>>2]|0)+-1+g&0-g;g=h+-1+(c[e>>2]|0)&0-h;c[e>>2]=g;if((j|0)!=27?(c[a+680>>2]|0)==0:0)g=0;else{c[e>>2]=g+2;g=c[b>>2]|0;c[b>>2]=(g|0)>32?g:32;g=0}while(1){if((g|0)==4)break;c[f+(g<<2)>>2]=8;g=g+1|0}return}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+32|0;g=i+16|0;h=i;f=qg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if((f|0)!=0?(0==0?(c[f+8>>2]&8|0)==0:0):0){Cg(g,h,f);e=0;while(1){if((e|0)>=4){b=0;break a}b=Dg(d,c[g+(e<<2)>>2]|0,c[h+(e<<2)>>2]|0,f)|0;if((b|0)<0)break a;c[a+(e<<2)>>2]=b;e=e+1|0}}else b=-22;while(0);Ec=i;return b|0}function vg(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Ec;Ec=Ec+16|0;m=n;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;j=qg(b)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;a:do if(((j|0)!=0?(i=c[j+8>>2]|0,(i&8|0)==0&0==0):0)?(c[a>>2]=f,h=c[g>>2]|0,(h|0)<=(2147482623/(e|0)|0|0)):0){h=H(h,e)|0;if((i&66|0)==0&0==0)b=0;else{c[a+4>>2]=f+h;b=h+1024|0;break}while(1){if((b|0)==4)break;c[m+(c[j+16+(b<<5)>>2]<<2)>>2]=1;b=b+1|0}l=j+6|0;k=e+-1|0;b=h;e=1;j=f;while(1){if((e|0)>=4)break a;if(!(c[m+(e<<2)>>2]|0))break a;if((e+-1|0)>>>0<2)i=d[l>>0]|0;else i=0;j=j+h|0;c[a+(e<<2)>>2]=j;f=k+(1<<i)>>i;o=c[g+(e<<2)>>2]|0;h=H(f,o)|0;i=(b|0)>(2147483647-h|0);if((o|0)>(2147483647/(f|0)|0|0)){b=-22;break a}if(i){b=-22;break}else{b=(i?0:h)+b|0;e=e+1|0}}}else b=-22;while(0);Ec=n;return b|0}function wg(a){a=a|0;var b=0;b=Bg(a)|0;if(!b)b=0;else yW(c[b+4>>2]|0,0,a|0)|0;return b|0}function xg(a,b){a=a|0;b=b|0;var d=0;d=Of(56)|0;if(!d)d=0;else{IU(d,0)|0;c[d+36>>2]=a;c[d+44>>2]=b|0?b:18;c[d+32>>2]=1}return d|0}function yg(a){a=a|0;if(a>>>0>11)a=0;else a=c[71828+(a*20|0)+12>>2]|0;return a|0}function zg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=Ag(e)|0;g=yg(e)|0;do if(!((b|0)<1|((d|0)<1|(h|0)==0))){if(!f){if((d|0)>2147483616){e=-22;break}d=d+31&-32;e=1}else e=f;if((2147483647/(e|0)|0|0)>=(b|0)?(i=nW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,k=M()|0,f=(2147483647-(H(e,b)|0)|0)/(h|0)|0,j=((f|0)<0)<<31>>31,!((k|0)>(j|0)|(k|0)==(j|0)&i>>>0>f>>>0)):0){f=(g|0)!=0;e=e+-1+(H(H(f?1:b,h)|0,d)|0)&0-e;if(a|0)c[a>>2]=e;e=H(e,f?b:1)|0}else e=-22}else e=-22;while(0);return e|0}function Ag(a){a=a|0;if(a>>>0>11)a=0;else a=c[71828+(a*20|0)+8>>2]>>3;return a|0}function Bg(a){a=a|0;var b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;b=cf(a)|0;c[d>>2]=b;if(b){a=ng(b,a,24,0,0)|0;if(!a){Se(d);a=0}}else a=0;Ec=e;return a|0}function Cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=(b|0)!=0;if(f){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;e=0}else e=0;while(1){if((e|0)==4)break;g=c[d+16+(e<<5)+4>>2]|0;h=d+16+(e<<5)|0;i=a+(c[h>>2]<<2)|0;if((g|0)>(c[i>>2]|0)?(c[i>>2]=g,f):0)c[b+(c[h>>2]<<2)>>2]=e;e=e+1|0}return}function Dg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;do if((a|0)<0|(f|0)==0)e=-22;else{if((e+-1|0)>>>0<2)e=d[f+5>>0]|0;else e=0;e=a+-1+(1<<e)>>e;if(e|0?(2147483647/(e|0)|0|0)<(b|0):0){e=-22;break}e=H(e,b)|0;e=(0==0?(c[f+8>>2]&4|0)==0:0)?e:e+7>>3}while(0);return e|0}function Eg(a){a=a|0;var b=0;b=Of(12)|0;if(!b)b=0;else{c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];a=(c[a>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+1}return b|0}function Fg(){var a=0;a=Of(408)|0;if(!a)a=0;else{c[a+64>>2]=0;dg(a)}return a|0}function Gg(a){a=a|0;var b=0;if(a|0?(b=c[a>>2]|0,b|0):0){bg(b);Se(a)}return}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Ec;Ec=Ec+16|0;l=q;h=c[b+376>>2]|0;i=a+376|0;a:do if(h){f=c[i>>2]|0;do if(f|0){k=c[h+4>>2]|0;f=c[f+4>>2]|0;if(!(((k|0)==(f|0)?(c[b+80>>2]|0)==(c[k+40>>2]|0):0)?(c[a+80>>2]|0)==(c[k+36>>2]|0):0)){g=c[(c[k+4>>2]|0)+12>>2]|0;if(!g)break;if((c[g+4>>2]|0)!=(f|0))break}e=c[b+248>>2]|0;if(!e){We(k,16,131056,l);e=-22;break a}else{e=c[e+4>>2]|0;bg(a);e=Ig(a,c[e>>2]|0)|0;break a}}while(0);f=c[h+4>>2]|0;if(!(((c[f+36>>2]|0)==(c[b+80>>2]|0)?(j=c[(c[c[f+4>>2]>>2]|0)+80>>2]|0,(j|0)!=0):0)?(e=Oc[j&3](f,a,b,d)|0,(e|0)!=-38):0))p=14}else p=14;while(0);do if((p|0)==14){e=c[i>>2]|0;if(((e|0?(m=c[e+4>>2]|0,(c[m+36>>2]|0)==(c[a+80>>2]|0)):0)?(n=c[(c[c[m+4>>2]>>2]|0)+76>>2]|0,n|0):0)?(o=Oc[n&3](m,a,b,d)|0,(o|0)!=-38):0){e=o;break}e=-38}while(0);Ec=q;return e|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[a+80>>2]=c[b+80>>2];c[a+68>>2]=c[b+68>>2];c[a+72>>2]=c[b+72>>2];h=b+352|0;c[a+352>>2]=c[h>>2];e=b+240|0;g=c[e+4>>2]|0;d=a+240|0;c[d>>2]=c[e>>2];c[d+4>>2]=g;c[a+76>>2]=c[b+76>>2];d=Jg(a,b,0)|0;a:do if((d|0)>=0){if(!(c[b+248>>2]|0)){d=Kg(a,32)|0;if((d|0)<0)break;d=Lg(a,b)|0;if((d|0)>=0)break;bg(a);break}else d=0;while(1){if(d>>>0>=8){f=10;break}e=c[b+248+(d<<2)>>2]|0;if(e|0?(g=Eg(e)|0,c[a+248+(d<<2)>>2]=g,(g|0)==0):0){d=-12;break}d=d+1|0}b:do if((f|0)==10){e=b+280|0;c:do if(c[e>>2]|0){f=b+284|0;d=kg(4,c[f>>2]|0)|0;g=a+280|0;c[g>>2]=d;if(!d){d=-12;break b}c[a+284>>2]=c[f>>2];d=0;while(1){if((d|0)>=(c[f>>2]|0))break c;i=Eg(c[(c[e>>2]|0)+(d<<2)>>2]|0)|0;c[(c[g>>2]|0)+(d<<2)>>2]=i;if(!(c[(c[g>>2]|0)+(d<<2)>>2]|0)){d=-12;break b}else d=d+1|0}}while(0);d=c[b+376>>2]|0;if(d|0?(i=Eg(d)|0,c[a+376>>2]=i,(i|0)==0):0){d=-12;break}f=b+64|0;if((c[f>>2]|0)==(b|0))c[a+64>>2]=a;else{d=c[h>>2]|0;if(!d){d=-22;break}e=Mg(4,d)|0;c[a+64>>2]=e;if(!e){d=-12;break}wW(e|0,c[f>>2]|0,d<<2|0)|0};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];d=a+32|0;i=b+32|0;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2];c[d+16>>2]=c[i+16>>2];c[d+20>>2]=c[i+20>>2];c[d+24>>2]=c[i+24>>2];c[d+28>>2]=c[i+28>>2];d=0;break a}while(0);bg(a)}while(0);return d|0}function Jg(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=Ec;Ec=Ec+16|0;o=r;c[a+84>>2]=c[b+84>>2];c[a+88>>2]=c[b+88>>2];e=b+92|0;f=c[e+4>>2]|0;g=a+92|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+384>>2]=c[b+384>>2];c[a+388>>2]=c[b+388>>2];c[a+392>>2]=c[b+392>>2];c[a+396>>2]=c[b+396>>2];g=b+104|0;f=c[g+4>>2]|0;e=a+104|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+208>>2]=c[b+208>>2];c[a+212>>2]=c[b+212>>2];c[a+216>>2]=c[b+216>>2];c[a+220>>2]=c[b+220>>2];c[a+232>>2]=c[b+232>>2];c[a+140>>2]=c[b+140>>2];e=b+112|0;f=c[e+4>>2]|0;g=a+112|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+120|0;f=c[g+4>>2]|0;e=a+120|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+328|0;f=c[e+4>>2]|0;g=a+328|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+356>>2]=c[b+356>>2];g=b+336|0;f=c[g+4>>2]|0;e=a+336|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+224|0;f=c[e+4>>2]|0;g=a+224|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+136>>2]=c[b+136>>2];g=b+320|0;f=c[g+4>>2]|0;e=a+320|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+128>>2]=c[b+128>>2];c[a+132>>2]=c[b+132>>2];c[a+296>>2]=c[b+296>>2];c[a+348>>2]=c[b+348>>2];c[a+304>>2]=c[b+304>>2];c[a+308>>2]=c[b+308>>2];c[a+312>>2]=c[b+312>>2];c[a+300>>2]=c[b+300>>2];c[a+316>>2]=c[b+316>>2];$g(a+344|0,c[b+344>>2]|0,0)|0;e=a+144|0;f=b+144|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));i=b+292|0;j=b+288|0;k=b+68|0;l=a+68|0;m=b+72|0;n=a+72|0;d=(d|0)==0;g=0;while(1){if((g|0)>=(c[i>>2]|0)){p=15;break}h=c[(c[j>>2]|0)+(g<<2)>>2]|0;e=c[h>>2]|0;if(!e){if((c[k>>2]|0)==(c[l>>2]|0)?(c[m>>2]|0)==(c[n>>2]|0):0)p=6}else p=6;if((p|0)==6){p=0;if(d){e=Eg(c[h+16>>2]|0)|0;c[o>>2]=e;e=bh(a,c[h>>2]|0,e)|0;if(!e){p=12;break}}else{f=h+8|0;e=ah(a,e,c[f>>2]|0)|0;if(!e){p=8;break}wW(c[e+4>>2]|0,c[h+4>>2]|0,c[f>>2]|0)|0}$g(e+12|0,c[h+12>>2]|0,0)|0}g=g+1|0}do if((p|0)==8){eg(a);e=-12}else if((p|0)==12){Cf(o);eg(a);e=-12}else if((p|0)==15){e=a+360|0;c[e>>2]=0;f=a+364|0;c[f>>2]=0;g=a+368|0;c[g>>2]=0;d=a+372|0;Cf(d);h=c[b+372>>2]|0;if(h|0?(q=Eg(h)|0,c[d>>2]=q,q|0):0){c[e>>2]=c[q+4>>2];c[f>>2]=c[b+364>>2];c[g>>2]=c[b+368>>2]}f=a+380|0;Cf(f);g=a+400|0;Cf(g);e=c[b+380>>2]|0;if(e|0?(a=Eg(e)|0,c[f>>2]=a,(a|0)==0):0){e=-12;break}e=c[b+400>>2]|0;if(e|0?(b=Eg(e)|0,c[g>>2]=b,(b|0)==0):0){e=-12;break}e=0}while(0);Ec=r;return e|0}function Kg(a,b){a=a|0;b=b|0;var d=0;do if((c[a+80>>2]|0)>=0){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Vg(a,b)|0;break}if((c[a+76>>2]|0)>0){d=a+240|0;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0?(c[a+352>>2]|0)<=0:0){a=-22;break}a=Wg(a,b)|0}else a=-22}else a=-22;while(0);return a|0}function Lg(a,b){a=a|0;b=b|0;var d=0;d=c[a+80>>2]|0;do if(!((d|0)<0?1:(d|0)!=(c[b+80>>2]|0))){if((c[a+68>>2]|0)>0?(c[a+72>>2]|0)>0:0){a=Ng(a,b)|0;break}if((c[a+76>>2]|0)>0?(c[a+352>>2]|0)>0:0)a=Og(a,b)|0;else a=-22}else a=-22;while(0);return a|0}function Mg(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=cf(H(b,a)|0)|0;else a=0;return a|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;h=j;i=b+68|0;a:do if((c[a+68>>2]|0)>=(c[i>>2]|0)?(e=b+72|0,(c[a+72>>2]|0)>=(c[e>>2]|0)):0){f=a+80|0;g=Qg(c[f>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break;if(!(c[a+(d<<2)>>2]|0)){d=-22;break a}if(!(c[b+(d<<2)>>2]|0)){d=-22;break a}else d=d+1|0}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];Rg(a,a+32|0,h,b+32|0,c[f>>2]|0,c[i>>2]|0,c[e>>2]|0);d=0}else d=-22;while(0);Ec=j;return d|0}function Og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+80|0;h=yg(c[f>>2]|0)|0;g=c[a+352>>2]|0;h=h|0?g:1;e=c[a+76>>2]|0;a:do if(((e|0)==(c[b+76>>2]|0)?(g|0)==(c[b+352>>2]|0):0)?(i=a+240|0,d=b+240|0,(c[i>>2]|0)==(c[d>>2]|0)?(c[i+4>>2]|0)==(c[d+4>>2]|0):0):0){d=c[a+64>>2]|0;b=b+64|0;a=0;while(1){if((a|0)>=(h|0))break;if(!(c[d+(a<<2)>>2]|0)){a=-22;break a}if(!(c[(c[b>>2]|0)+(a<<2)>>2]|0)){a=-22;break a}else a=a+1|0}Pg(d,c[b>>2]|0,0,0,e,g,c[f>>2]|0)|0;a=0}else a=-22;while(0);return a|0}function Pg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=(yg(h)|0)!=0;j=k?g:1;i=Ag(h)|0;g=H(k?1:g,i)|0;i=H(g,f)|0;h=H(g,d)|0;g=H(g,e)|0;d=c[a>>2]|0;f=c[b>>2]|0;e=d>>>0<f>>>0;a:do if(((e?f:d)-(c[(e?a:b)>>2]|0)|0)<(i|0)){f=0;while(1){if((f|0)>=(j|0))break a;xW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}else{f=0;while(1){if((f|0)>=(j|0))break a;wW((c[a+(f<<2)>>2]|0)+h|0,(c[b+(f<<2)>>2]|0)+g|0,i|0)|0;f=f+1|0}}while(0);return 0}function Qg(a){a=a|0;var b=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g;b=qg(a)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a:do if(!b)a=-22;else{e=d[b+4>>0]|0;a=0;while(1){if((a|0)==(e|0)){a=0;b=0;break}c[f+(c[b+16+(a<<5)>>2]<<2)>>2]=1;a=a+1|0}while(1){if((b|0)==4)break a;a=(c[f+(b<<2)>>2]|0)+a|0;b=b+1|0}}while(0);Ec=g;return a|0}function Rg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+32|0;j=l+16|0;k=l;i=0;while(1){if((i|0)==4)break;c[j+(i<<2)>>2]=c[b+(i<<2)>>2];c[k+(i<<2)>>2]=c[e+(i<<2)>>2];i=i+1|0}Tg(a,j,d,k,f,g,h,4);Ec=l;return}function Sg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Ec;Ec=Ec+32|0;l=m+16|0;k=m;a:do if((a|0)!=0&(d|0)!=0){if((((e|0)>-1?e:0-e|0)|0)<(f|0)){c[k>>2]=131132;c[k+4>>2]=131163;c[k+8>>2]=314;We(0,0,164054,k);Za()}if((((b|0)>-1?b:0-b|0)|0)<(f|0)){c[l>>2]=131184;c[l+4>>2]=131163;c[l+8>>2]=315;We(0,0,164054,l);Za()}else{h=g;i=a;j=d}while(1){if((h|0)<=0)break a;wW(i|0,j|0,f|0)|0;h=h+-1|0;i=i+b|0;j=j+e|0}}while(0);Ec=m;return}function Tg(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Ec;Ec=Ec+16|0;q=r;m=qg(g)|0;a:do if(m|0?(k=c[m+8>>2]|0,(k&8|0)==0&0==0):0){if(!((k&66|0)==0&0==0)){Xc[j&63](c[a>>2]|0,c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,h,i);wW(c[a+4>>2]|0,c[e+4>>2]|0,1024)|0;break}l=d[m+4>>0]|0;p=0;k=0;while(1){if((k|0)==(l|0))break;o=(c[m+16+(k<<5)>>2]|0)+1|0;p=(p|0)>(o|0)?p:o;k=k+1|0}m=m+6|0;n=0-i|0;l=0;while(1){if((l|0)>=(p|0))break a;o=Ug(g,h,l)|0;if((o|0)<0)break;if((l+-1|0)>>>0<2)k=0-(n>>(d[m>>0]|0))|0;else k=i;Xc[j&63](c[a+(l<<2)>>2]|0,c[b+(l<<2)>>2]|0,c[e+(l<<2)>>2]|0,c[f+(l<<2)>>2]|0,o,k);l=l+1|0}We(0,16,131102,q)}while(0);Ec=r;return}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ec;Ec=Ec+32|0;e=g+16|0;f=g;a=qg(a)|0;if((a|0)!=0?(0==0?(c[a+8>>2]&8|0)==0:0):0){Cg(e,f,a);a=Dg(b,c[e+(d<<2)>>2]|0,c[f+(d<<2)>>2]|0,a)|0}else a=-22;Ec=g;return a|0}function Vg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+80|0;k=qg(c[h>>2]|0)|0;a:do if(k){i=a+68|0;l=a+72|0;e=Yg(c[i>>2]|0,c[l>>2]|0,0,0)|0;if((e|0)>=0){g=a+32|0;b:do if(!(c[g>>2]|0)){b=(b|0)<1?32:b;j=b+-1|0;f=1;while(1){if((f|0)>(b|0))break;e=ug(g,c[h>>2]|0,f+-1+(c[i>>2]|0)&0-f)|0;if((e|0)<0)break a;if(!(c[g>>2]&j))break;else f=f<<1}b=0-b|0;e=0;while(1){if((e|0)>=4)break b;f=a+32+(e<<2)|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=j+g&b;e=e+1|0}}while(0);g=k+6|0;f=0;while(1){if((f|0)>=4){m=19;break}b=c[a+32+(f<<2)>>2]|0;if(!b){m=19;break}e=(c[l>>2]|0)+31&-32;if((f+-1|0)>>>0<2)e=0-(0-e>>(d[g>>0]|0))|0;e=Bg((H(b,e)|0)+31|0)|0;c[a+248+(f<<2)>>2]=e;if(!e)break;c[a+(f<<2)>>2]=c[e+4>>2];f=f+1|0}do if((m|0)==19){if(!(0==0?(c[k+8>>2]&66|0)==0:0)){m=a+252|0;Cf(m);e=Bg(1024)|0;c[m>>2]=e;if(!e)break;c[a+4>>2]=c[e+4>>2]}c[a+64>>2]=a;e=0;break a}while(0);bg(a);e=-12}}else e=-22;while(0);return e|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+80|0;g=yg(c[h>>2]|0)|0;e=a+352|0;f=c[e>>2]|0;if(!f){f=a+240|0;f=Xg(c[f>>2]|0,c[f+4>>2]|0)|0;c[e>>2]=f}i=g|0?f:1;j=a+32|0;if(!((c[j>>2]|0)==0?(d=zg(j,f,c[a+76>>2]|0,c[h>>2]|0,b)|0,(d|0)<0):0))k=5;a:do if((k|0)==5){g=(i|0)>8;do if(g){d=a+64|0;c[d>>2]=kg(i,4)|0;e=i+-8|0;h=kg(e,4)|0;f=a+280|0;c[f>>2]=h;if((h|0)==0|(c[d>>2]|0)==0){Se(d);Se(f);d=-12;break a}else{c[a+284>>2]=e;b=d;break}}else{b=a+64|0;c[b>>2]=a}while(0);e=g?8:i;d=0;while(1){if((d|0)>=(e|0))break;f=Bg(c[j>>2]|0)|0;c[a+248+(d<<2)>>2]=f;if(!f){k=14;break}h=c[f+4>>2]|0;c[a+(d<<2)>>2]=h;c[(c[b>>2]|0)+(d<<2)>>2]=h;d=d+1|0}if((k|0)==14){bg(a);d=-12;break}e=i+-8|0;f=a+280|0;d=0;while(1){if((d|0)>=(e|0)){d=0;break a}g=Bg(c[j>>2]|0)|0;c[(c[f>>2]|0)+(d<<2)>>2]=g;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;if(!g)break;c[(c[b>>2]|0)+(d+8<<2)>>2]=c[g+4>>2];d=d+1|0}bg(a);d=-12}while(0);return d|0}function Xg(a,b){a=a|0;b=b|0;var c=0;c=a-(a>>>1&1431655765)|0;c=(c>>>2&858993459)+(c&858993459)|0;c=(c>>>4)+c&252645135;c=(c>>>8)+c|0;a=rW(a|0,b|0,33)|0;M()|0;b=b-(a&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;b=(b>>>4)+b&252645135;b=(b>>>8)+b|0;return ((c>>>16)+c&63)+((b>>>16)+b&63)|0}function Yg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zg(a,b,-1,2147483647,-1,c,d)|0}function Zg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=Ec;Ec=Ec+48|0;k=l+8|0;j=l;i=l+24|0;c[i>>2]=72068;c[i+4>>2]=g;c[i+8>>2]=h;g=Ug(f,a,0)|0;m=(g|0)<1;f=sW(a|0,0,3)|0;h=M()|0;f=m?f:g;g=m?h:((g|0)<0)<<31>>31;if(!((a|0)<1|(b|0)<1|((g|0)>0|(g|0)==0&f>>>0>2147482622))?(m=hW(f|0,g|0,1024,0)|0,m=nW(m|0,M()|0,b+128|0,0)|0,h=M()|0,!(h>>>0>0|(h|0)==0&m>>>0>2147483646)):0)if(!((d|0)==-1&(e|0)==2147483647)?(m=nW(b|0,0,a|0,0)|0,j=M()|0,(j|0)>(e|0)|(j|0)==(e|0)&m>>>0>d>>>0):0){c[k>>2]=a;c[k+4>>2]=b;f=k+8|0;c[f>>2]=d;c[f+4>>2]=e;We(i,16,131246,k);f=-22}else f=0;else{c[j>>2]=a;c[j+4>>2]=b;We(i,16,131215,j);f=-22}Ec=l;return f|0}function _g(a){a=a|0;return c[c[a>>2]>>2]|0}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=0;do{f=ch(b,260868,f,2)|0;if(!f){e=0;break}e=dh(a,c[f>>2]|0,c[f+4>>2]|0,d)|0}while((e|0)>=0);return e|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;d=Bg(d)|0;c[e>>2]=d;a=bh(a,b,d)|0;if(!a)Cf(e);Ec=f;return a|0}function bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((((d|0)!=0?(g=a+292|0,h=c[g>>2]|0,h>>>0<=536870910):0)?(i=a+288|0,f=bf(c[i>>2]|0,(h<<2)+4|0)|0,(f|0)!=0):0)?(c[i>>2]=f,e=Of(20)|0,(e|0)!=0):0){c[e+16>>2]=d;c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e>>2]=b;h=c[i>>2]|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=e}else e=0;return e|0}function ch(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!b)e=0;else{m=b+4|0;if(!e)e=0;else e=(e-(c[m>>2]|0)>>3)+1|0;k=c[b>>2]|0;l=(f&1|0)==0;j=(f&2|0)==0;while(1){if(e>>>0>=k>>>0){e=0;break a}i=c[m>>2]|0;h=c[i+(e<<3)>>2]|0;if(l){f=0;while(1){b=a[h+f>>0]|0;n=hh(b<<24>>24)|0;g=a[d+f>>0]|0;if(g<<24>>24==0|(n|0)!=(hh(g<<24>>24)|0))break;else f=f+1|0}}else{f=0;while(1){b=a[h+f>>0]|0;g=a[d+f>>0]|0;if(g<<24>>24==0?1:b<<24>>24!=g<<24>>24)break;else f=f+1|0}}if(!(g<<24>>24!=0|j&b<<24>>24!=0))break;e=e+1|0}e=i+(e<<3)|0}while(0);return e|0}function dh(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=Ec;Ec=Ec+16|0;l=p+8|0;o=p+4|0;m=p;g=c[a>>2]|0;c[l>>2]=0;c[o>>2]=0;c[m>>2]=0;if(!(e&64))i=ch(g,b,0,e)|0;else i=0;if(!(e&4))h=eh(b)|0;else h=b;c[o>>2]=h;j=h;if(!(e&8))if(!h)f=0;else{f=eh(d)|0;c[m>>2]=f}else{c[m>>2]=d;f=d}if(!g){g=Of(8)|0;c[a>>2]=g;if(!g)k=32;else{n=g;k=11}}else{n=g;k=11}a:do if((k|0)==11){do if((b|0)==0|(h|0)!=0){g=(f|0)!=0;if((d|0)==0|g){if(!i)if(g){g=n+4|0;b=bf(c[g>>2]|0,(c[n>>2]<<3)+8|0)|0;if(!b)break;c[g>>2]=b;k=23}else k=27;else{if(e&16|0){Te(h);Te(f);f=0;break a}g=c[i+4>>2]|0;if(!(e&32))Te(g);else c[l>>2]=g;Te(c[i>>2]|0);d=c[n+4>>2]|0;h=(c[n>>2]|0)+-1|0;c[n>>2]=h;h=d+(h<<3)|0;d=c[h+4>>2]|0;k=i;c[k>>2]=c[h>>2];c[k+4>>2]=d;if(!f)k=27;else k=23}if((k|0)==23){d=n+4|0;h=c[d>>2]|0;g=c[n>>2]|0;c[h+(g<<3)>>2]=j;f=c[m>>2]|0;c[h+(g<<3)+4>>2]=f;h=c[l>>2]|0;if((e&32|0)==0|(h|0)==0)f=g;else{g=MT(h)|0;g=g+1+(MT(f)|0)|0;b=Of(g)|0;if(!b)break;fh(b,h,g)|0;Se(l);fh(b,f,g)|0;c[(c[d>>2]|0)+(c[n>>2]<<3)+4>>2]=b;Se(m);f=c[n>>2]|0}f=f+1|0;c[n>>2]=f}else if((k|0)==27){Se(o);f=c[n>>2]|0}if(f|0){f=0;break a}Se(n+4|0);Se(a);f=0;break a}else f=0}while(0);if(!(c[n>>2]|0)){Se(n+4|0);Se(a);k=32}else k=32}while(0);if((k|0)==32){Te(c[o>>2]|0);Te(f);f=-12}Ec=p;return f|0}function eh(a){a=a|0;var b=0,c=0;if((a|0)!=0?(c=(MT(a)|0)+1|0,b=bf(0,c)|0,(b|0)!=0):0)wW(b|0,a|0,c|0)|0;else b=0;return b|0}function fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=MT(a)|0;if((d+1|0)>>>0<c>>>0)a=gh(a+d|0,b,c-d|0)|0;else a=MT(b)|0;return a+d|0}function gh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=0;while(1){e=g+1|0;if(e>>>0>=d>>>0)break;f=a[c>>0]|0;if(!(f<<24>>24))break;a[b>>0]=f;g=e;b=b+1|0;c=c+1|0}if(g>>>0<d>>>0)a[b>>0]=0;return (MT(c)|0)+g|0}function hh(a){a=a|0;return ((a+-97|0)>>>0<26?a^32:a)|0}function ih(a){a=a|0;var b=0;jh(a);c[a+28260>>2]=0;c[a+28264>>2]=0;c[a+28248>>2]=65536;c[a+28252>>2]=0;b=0;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}return}function jh(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==16)break;kh(a,b,0);b=b+1|0}d=a+29556|0;if((c[d>>2]|0)!=0?(e=a+24972|0,(c[c[e>>2]>>2]|0)==0):0){Xf(a,e);lh(a,e,c[a+28348>>2]|0)|0;b=0}else b=0;while(1){if((b|0)>=(c[d>>2]|0))break;e=a+28348+(b<<2)|0;mh(a,c[e>>2]|0,0)|0;c[e>>2]=0;b=b+1|0}c[d>>2]=0;b=a+28268|0;d=b+80|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function kh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=a+28476+(b<<2)|0;e=c[b>>2]|0;if(e|0?mh(a,e,d)|0:0){c[(c[b>>2]|0)+100>>2]=0;c[b>>2]=0;d=a+29552|0;c[d>>2]=(c[d>>2]|0)+-1}return}function lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+48|0;i=k+32|0;g=k+16|0;e=k;h=c[b>>2]|0;if(c[h+248>>2]|0){c[e>>2]=131364;c[e+4>>2]=131380;c[e+8>>2]=70;We(0,0,164054,e);Za()}f=c[d>>2]|0;if(!(c[f+248>>2]|0)){c[g>>2]=131406;c[g+4>>2]=131380;c[g+8>>2]=71;We(0,0,164054,g);Za()}e=d+4|0;if((c[e>>2]|0)!=(f|0)){c[i>>2]=131421;c[i+4>>2]=131380;c[i+8>>2]=72;We(0,0,164054,i);Za()}i=b+4|0;c[i>>2]=h;e=nh(i,e)|0;a:do if((e|0)>=0){i=b+20|0;c[i>>2]=Eg(c[d+20>>2]|0)|0;h=Eg(c[d+44>>2]|0)|0;c[b+44>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19}else{c[b+24>>2]=c[d+24>>2];c[b+48>>2]=c[d+48>>2];e=0;while(1){if((e|0)>=2)break;i=b+28+(e<<2)|0;c[i>>2]=Eg(c[d+28+(e<<2)>>2]|0)|0;h=Eg(c[d+60+(e<<2)>>2]|0)|0;c[b+60+(e<<2)>>2]=h;if((h|0)==0|(c[i>>2]|0)==0){e=-12;j=19;break a}c[b+36+(e<<2)>>2]=c[d+36+(e<<2)>>2];c[b+68+(e<<2)>>2]=c[d+68+(e<<2)>>2];e=e+1|0}if(!(c[d+56>>2]|0))e=0;else{e=Eg(c[d+52>>2]|0)|0;c[b+52>>2]=e;if(!e){e=-12;j=19;break}c[b+56>>2]=c[e+4>>2];e=0}while(1){if((e|0)==2)break;c[b+76+(e<<2)>>2]=c[d+76+(e<<2)>>2];e=e+1|0}wW(b+104|0,d+104|0,512)|0;e=b+616|0;a=d+616|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[b+84>>2]=c[d+84>>2];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];c[b+100>>2]=c[d+100>>2];c[b+632>>2]=c[d+632>>2];c[b+636>>2]=c[d+636>>2];c[b+640>>2]=c[d+640>>2];c[b+644>>2]=c[d+644>>2];c[b+648>>2]=c[d+648>>2];c[b+652>>2]=c[d+652>>2];e=0}}else j=19;while(0);if((j|0)==19)Xf(a,b);Ec=k;return e|0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=b+640|0;e=c[f>>2]&d;c[f>>2]=e;a:do if(!e){d=0;while(1){e=c[a+28604+(d<<2)>>2]|0;if(!e){d=1;break a}if((e|0)==(b|0))break;else d=d+1|0}c[f>>2]=4;d=1}else d=0;while(0);return d|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;f=h;g=a+4|0;c[g>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];d=Ig(c[a>>2]|0,c[b>>2]|0)|0;if((d|0)>=0){e=a+12|0;if(c[e>>2]|0){c[f>>2]=131441;c[f+4>>2]=131456;c[f+8>>2]=1792;We(0,0,164054,f);Za()}d=c[b+12>>2]|0;if((d|0)!=0?(f=Eg(d)|0,c[e>>2]=f,(f|0)==0):0){$f(c[g>>2]|0,a);d=-12}else d=0}Ec=h;return d|0}function oh(a){a=a|0;var b=0;b=0;while(1){if((b|0)==32){b=0;break}Cf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==256)break;Cf(a+128+(b<<2)|0);b=b+1|0}Cf(a+1156|0);Cf(a+1152|0);c[a+1160>>2]=0;c[a+1164>>2]=0;return}function ph(a){a=a|0;var b=0,d=0;d=a+20|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Se((c[a>>2]|0)+(b*68|0)+60|0);b=b+1|0}Se(a);c[d>>2]=0;Se(a+4|0);c[a+12>>2]=0;c[a+8>>2]=0;return}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28604>>2]|0;c[a+24312>>2]=0;c[a+26384>>2]=0;h=0;f=1;while(1){g=c[a+28604+(f<<2)>>2]|0;if(!g)break;if(c[(c[g>>2]|0)+84>>2]|0)break;if(c[g+92>>2]|0)break;k=(c[g+84>>2]|0)<(c[i+84>>2]|0);i=k?g:i;h=k?f:h;f=f+1|0}g=h;f=c[a+28604+(h<<2)>>2]|0;while(1){if(!f)break;k=g+1|0;f=c[a+28604+(k<<2)>>2]|0;c[a+28604+(g<<2)>>2]=f;g=k}if((i|0)!=0?(j=i+640|0,c[j>>2]=c[j>>2]&-5,j=wh(a,b,i,d)|0,(j|0)<0):0)e=j;return e|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+44>>2]|0;a=a+40|0;e=0;while(1){if((e|0)>=(f|0)){b=8;break}g=c[a>>2]|0;if((c[g+(e*12|0)+8>>2]|0)==(b|0)){b=4;break}e=e+1|0}if((b|0)==4){if(d|0)c[d>>2]=c[g+(e*12|0)+4>>2];a=c[g+(e*12|0)>>2]|0}else if((b|0)==8)if(!d)a=0;else{c[d>>2]=0;a=0}return a|0}function sh(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+c|0;e=a[b+5>>0]&31;b=b+6|0;while(1){if(!e){f=5;break}c=((tW(d[b>>0]|d[b+1>>0]<<8|0)|0)&65535)+2|0;if((c|0)>(g-b|0)){c=0;break}if((a[b+2>>0]&-97)<<24>>24==7){e=e+-1|0;b=b+c|0}else{c=0;break}}a:do if((f|0)==5){c=a[b>>0]|0;if(!(c<<24>>24))c=0;else{e=c&255;c=b+1|0;while(1){if(!e){c=1;break a}b=((tW(d[c>>0]|d[c+1>>0]<<8|0)|0)&65535)+2|0;if((b|0)>(g-c|0)){c=0;break a}if((a[c+2>>0]&-97)<<24>>24==8){e=e+-1|0;c=c+b|0}else{c=0;break}}}}while(0);return c|0}function th(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+32|0;r=s+16|0;o=s+8|0;k=s;a:do if((b|0)==0|(e|0)<1)e=-1;else do if((a[b>>0]|0)==1){c[g>>2]=1;if((e|0)<7){c[k>>2]=e;We(j,16,152939,k);e=-1094995529;break a}k=a[b+5>>0]&31;q=b+e|0;n=b+6|0;g=0;while(1){if((g|0)>=(k|0))break;l=((tW(d[n>>0]|d[n+1>>0]<<8|0)|0)&65535)+2|0;if((l|0)>(q-n|0)){e=-1094995529;break a}m=NM(n,l,f,i,j)|0;if((m|0)<0){p=9;break}n=n+l|0;g=g+1|0}if((p|0)==9){c[o>>2]=g;We(j,16,152958,o);e=m;break a}m=d[n>>0]|0;g=n+1|0;l=0;while(1){if((l|0)>=(m|0)){p=17;break}k=((tW(d[g>>0]|d[g+1>>0]<<8|0)|0)&65535)+2|0;if((k|0)>(q-g|0)){e=-1094995529;break a}n=NM(g,k,f,i,j)|0;if((n|0)<0){p=15;break}g=g+k|0;l=l+1|0}if((p|0)==15){c[r>>2]=l;We(j,16,152992,r);e=n;break a}else if((p|0)==17){c[h>>2]=(a[b+4>>0]&3)+1&255;break}}else{c[g>>2]=0;g=OM(b,e,f,0,j)|0;if((g|0)<0){e=g;break a}}while(0);while(0);Ec=s;return e|0}function uh(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;W=Ec;Ec=Ec+80|0;N=W+48|0;R=W+40|0;Q=W+32|0;P=W+24|0;O=W+16|0;M=W+8|0;j=W;J=W+52|0;S=b+4|0;K=c[S>>2]|0;V=b+27032|0;c[V>>2]=0;L=b+27028|0;c[L>>2]=0;i=K+64|0;if(!(c[i>>2]&32768)){c[b+29560>>2]=0;if(!(c[b+26384>>2]|0))c[b+24312>>2]=0;Wf(b+29676|0)}h=c[b+27040>>2]|0;do if((h|0)==4){if((f|0)>8){g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((g|0)==16777216){U=e+5|0;if((uW(d[U>>0]|d[U+1>>0]<<8|d[U+2>>0]<<16|d[U+3>>0]<<24|0)|0)>>>0>f>>>0){c[b+27036>>2]=0;break}else g=16777216}}else{if((f|0)<=3)break;g=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24}U=uW(g|0)|0;if(!(U>>>0<2|U>>>0>f>>>0))c[b+27036>>2]=1}while(0);D=b+25640|0;g=Jh(D,e,f,K,c[b+27036>>2]|0,h,c[K+16>>2]|0,c[i>>2]&1)|0;do if((g|0)<0)We(K,16,132499,j);else{A=K+696|0;if(c[A>>2]&1){g=Kh(b)|0;if((g|0)<0)break}else g=0;n=b+25656|0;o=K+732|0;p=b+27024|0;B=b+29560|0;q=b+29580|0;r=b+29588|0;U=b+24312|0;s=K+592|0;t=b+25632|0;u=b+25636|0;C=b+25628|0;v=b+29676|0;w=b+27052|0;x=b+29716|0;y=K+576|0;z=b+29900|0;h=0;m=0;a:while(1){if((m|0)>=(c[n>>2]|0)){T=71;break}k=c[D>>2]|0;j=k+(m*68|0)|0;i=c[k+(m*68|0)+64>>2]|0;if((c[o>>2]|0)>7&(i|0)==0){if((c[k+(m*68|0)+44>>2]|0)==6){i=0;T=22}}else T=22;b:do if((T|0)==22){T=0;c[p>>2]=i;i=c[k+(m*68|0)+44>>2]|0;c[L>>2]=i;switch(i|0){case 19:case 13:case 12:case 11:case 10:case 9:break b;case 5:{if((a[(c[k+(m*68|0)+8>>2]|0)+1>>0]&-4)<<24>>24==-104){T=24;break a}if(!h){if(c[B>>2]|0?c[A>>2]&2|0:0){T=28;break a}ih(b)}c[q>>2]=1;h=1;break}case 1:break;case 4:case 3:case 2:{Oh(K,132650,P);break b}case 6:{l=Ph(v,k+(m*68|0)+24|0,w,K)|0;if(!(c[q>>2]|0))i=(c[x>>2]|0)!=-1;else i=1;c[q>>2]=i&1;if(c[y>>2]&8388608|0)Qh(z,c[S>>2]|0);if((l|0)>=0)break b;if(!(c[(c[S>>2]|0)+580>>2]&8))break b;else break a}case 7:{i=k+(m*68|0)+24|0;c[J>>2]=c[i>>2];c[J+4>>2]=c[i+4>>2];c[J+8>>2]=c[i+8>>2];c[J+12>>2]=c[i+12>>2];c[J+16>>2]=c[i+16>>2];j=c[s>>2]|0;if((j|0?(F=c[j+28>>2]|0,F|0):0)?(G=Oc[F&3](K,7,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(G|0)<0):0){T=61;break a}if((Rh(J,K,w,0)|0)<=-1?(We(c[S>>2]|0,48,132668,Q),Sh(J,(c[k+(m*68|0)+20>>2]|0)+1|0,(c[k+(m*68|0)+16>>2]|0)+-1|0)|0,(Rh(J,K,w,0)|0)<=-1):0)Rh(i,K,w,1)|0;break b}case 8:{i=c[s>>2]|0;if((i|0?(H=c[i+28>>2]|0,H|0):0)?(I=Oc[H&3](K,8,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0,(I|0)<0):0){l=I;break a}l=Th(k+(m*68|0)+24|0,K,w,c[k+(m*68|0)+12>>2]|0)|0;if((l|0)>=0)break b;if(!(c[(c[S>>2]|0)+580>>2]&8))break b;else break a}default:{l=c[k+(m*68|0)+12>>2]|0;c[R>>2]=i;c[R+4>>2]=l;We(K,48,132726,R);break b}}c[V>>2]=1;i=Lh(b,j)|0;if(i|0){k=c[C>>2]|0;l=c[u>>2]|0;c[k+(l*34768|0)+23408>>2]=0;c[k+(l*34768|0)+23404>>2]=0;if((i|0)>=0)break;We(c[S>>2]|0,16,132758,N);break}if((c[B>>2]|0)==1){if((!((m|0)<(g|0)|(c[A>>2]&1|0)==0)?(c[r>>2]|0)==0:0)?c[U>>2]|0:0){Mh(K);c[r>>2]=1}i=c[S>>2]|0;j=c[i+592>>2]|0;if(j|0?(E=Nc[c[j+24>>2]&15](i,e,f)|0,(E|0)<0):0){l=E;break a}}i=c[s>>2]|0;if(!i)j=c[t>>2]|0;else j=1;if((c[u>>2]|0)==(j|0)){if(!(c[(c[S>>2]|0)+592>>2]|0))l=Nh(b)|0;else{l=Nc[c[i+32>>2]&15](K,c[k+(m*68|0)+20>>2]|0,c[k+(m*68|0)+16>>2]|0)|0;c[u>>2]=0}if((l|0)<0?(c[(c[S>>2]|0)+580>>2]&8|0)!=0:0)break a}}while(0);m=m+1|0}do if((T|0)==24){We(c[S>>2]|0,16,132542,M);c[b+28744>>2]=-2147483648;l=-1}else if((T|0)==28){We(b,16,132567,O);l=-1094995529}else if((T|0)==61)l=G;else if((T|0)==71){g=Nh(b)|0;if((g|0)<0?c[(c[S>>2]|0)+580>>2]&8|0:0){l=g;break}l=0}while(0);k=b+26380|0;if((((c[k>>2]|0)==3?c[B>>2]|0:0)?(c[b+28216>>2]|0)==(c[(c[b+27052+(c[c[b+28212>>2]>>2]<<2)>>2]|0)+4>>2]|0):0)?c[b+29672>>2]|0:0){h=c[C>>2]|0;g=b+24972|0;if(!(c[(c[g>>2]|0)+248>>2]|0))j=0;else j=(c[h+23404>>2]|0)==0;i=h+24|0;Uh(h+696|0,c[U>>2]|0);do if(!j){g=h+728|0;if(!(c[h+23404>>2]|0)){Uh(g,0);break}else{Uh(g,c[h+23452>>2]|0);break}}else{Uh(h+728|0,g);T=h+23416|0;c[h+23452>>2]=g;S=c[g>>2]|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];T=h+23428|0;S=(c[g>>2]|0)+32|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[h+23440>>2]=c[b+25612>>2]}while(0);if(c[h+23408>>2]|0)Uh(h+760|0,c[h+25372>>2]|0);c[h+820>>2]=c[h+23404>>2];Vh(i);if(j){g=h+23416|0;h=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}}g=c[U>>2]|0;if((g|0?(c[b+25684>>2]|0)==0:0)?c[V>>2]|0:0)Bh(g+4|0,2147483647,(c[k>>2]|0)==2&1);g=(l|0)<0?l:f}while(0);Ec=W;return g|0}function vh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;g=h;e=c[a+4>>2]|0;c[a+27004>>2]=0;f=(d|0)!=0;if(!f?(c[e+696>>2]&1|0)!=0:0)b=0;else{if(!(c[a+25684>>2]|0)){b=Ah(a)|0;c[a+28248>>2]=c[a+28228>>2];c[a+28252>>2]=c[a+28224>>2]}else b=0;c[a+28260>>2]=c[a+28256>>2];c[a+28264>>2]=c[a+28244>>2]}d=c[e+592>>2]|0;if(d){b=Kc[c[d+36>>2]&31](e)|0;if((b|0)<0)We(e,16,131777,g)}if(!f?(c[a+25684>>2]|0)==0:0)Bh((c[a+24312>>2]|0)+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[a+29560>>2]=0;Ec=h;return b|0}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=Ec;Ec=Ec+64|0;g=m;j=m+40|0;k=m+24|0;l=m+8|0;f=c[a+4>>2]|0;if(((c[f+60>>2]&8|0)==0?(c[f+64>>2]&4194304|0)==0:0)?(c[d+644>>2]|0)==0:0)f=0;else{do if(!(c[f+592>>2]|0)){h=(c[d+76>>2]|0)==2147483647;if(!h?(c[d+80>>2]|0)!=2147483647:0)break;i=c[d>>2]|0;n=h&1;c[g>>2]=n;We(f,48,131557,g);g=0-(n^1)|0;f=0;while(1){if((f|0)==4)break;o=i+(f<<2)|0;n=c[i+32+(f<<2)>>2]|0;c[j+(f<<2)>>2]=(c[o>>2]|0)+(n&g);c[l+(f<<2)>>2]=(c[o>>2]|0)+(h?n:0);c[k+(f<<2)>>2]=n<<1;f=f+1|0}Rg(j,k,l,k,c[i+80>>2]|0,c[i+68>>2]|0,c[i+72>>2]>>1)}while(0);f=yh(a,b,d)|0;if((f|0)>=0){c[e>>2]=1;f=0}}Ec=m;return f|0}function xh(a,b){a=a|0;b=b|0;a=(a|0)==0?1:a;return ((a+10|0)>(b|0)?b:a)|0}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ig(b,c[d>>2]|0)|0;if((e|0)>=0){dh(b+344|0,131595,zh(a+29852|0)|0,0)|0;if(!(c[d+652>>2]|0)){c[b+84>>2]=1;e=0}else e=0}return e|0}function zh(a){a=a|0;a:do switch(c[a+8>>2]|0){case 0:switch(c[a+12>>2]|0){case 0:{a=(c[a+20>>2]|0)==2?131607:131623;break a}case 1:{a=(c[a+20>>2]|0)==2?131639:131658;break a}case 2:{a=(c[a+20>>2]|0)==2?131677:131696;break a}case 3:{a=(c[a+20>>2]|0)==2?131715:131726;break a}case 4:{a=(c[a+20>>2]|0)==2?131737:131748;break a}case 5:{a=(c[a+20>>2]|0)==2?131759:131768;break a}default:{a=160296;break a}}case 1:{a=160296;break}default:a=0}while(0);return a|0}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Ec;Ec=Ec+144|0;C=L+112|0;B=L+104|0;A=L+96|0;u=L+80|0;t=L+72|0;s=L+64|0;r=L+56|0;x=L+48|0;w=L+40|0;v=L+24|0;e=L+16|0;n=L+128|0;J=L;p=L+124|0;E=J;c[E>>2]=0;c[E+4>>2]=0;E=a+28216|0;do if(c[E>>2]|0){if(!(c[a+29548>>2]|0))Ch(a);o=c[a+29540>>2]|0;b=a+4|0;d=c[b>>2]|0;if((o|0)==0?(c[d+576>>2]&2048|0)!=0:0)We(d,48,131863,e);H=a+29556|0;F=a+29552|0;z=a+28348|0;I=a+24312|0;G=a+26380|0;l=a+28244|0;m=a+29544|0;k=0;j=0;f=0;g=0;d=0;a:while(1){if((k|0)>=(o|0))break;e=c[b>>2]|0;if(!(c[e+576>>2]&2048))h=a+28748+(k*12|0)|0;else{h=a+28748+(k*12|0)|0;M=c[a+28748+(k*12|0)+4>>2]|0;i=c[a+28748+(k*12|0)+8>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=M;c[v+8>>2]=i;We(e,48,131877,v)}e=c[h>>2]|0;b:do switch(e|0){case 3:case 1:{f=Dh(a,c[a+28748+(k*12|0)+4>>2]|0,p)|0;g=Eh(a,f,n)|0;e=c[h>>2]|0;if(!g){if(((e|0)==3?(q=c[a+28476+(c[a+28748+(k*12|0)+8>>2]<<2)>>2]|0,q|0):0)?(c[q+88>>2]|0)==(f|0):0){h=j;e=0;break b}We(c[b>>2]|0,c[H>>2]|0?16:48,131892,w);h=j;d=-1094995529;e=0}else{i=f;y=18}break}default:{i=f;y=18}}while(0);c:do if((y|0)==18){y=0;switch(e|0){case 1:{e=c[b>>2]|0;if(c[e+576>>2]&2048|0){M=c[H>>2]|0;c[x>>2]=c[a+28748+(k*12|0)+4>>2];c[x+4>>2]=M;We(e,48,131919,x)}Fh(a,i,c[p>>2]^3)|0;h=j;f=i;e=g;break c}case 3:{e=a+28748+(k*12|0)+8|0;f=c[e>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(g|0))kh(a,f,0);Gh(a,c[n>>2]|0);c[a+28476+(c[e>>2]<<2)>>2]=g;e=c[a+28476+(c[e>>2]<<2)>>2]|0;if(!e){h=j;f=i;e=g;break c}c[e+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;h=j;f=i;e=g;break c}case 2:{e=Dh(a,c[a+28748+(k*12|0)+8>>2]|0,p)|0;c[n>>2]=e;g=c[a+28476+(e<<2)>>2]|0;if(g|0){kh(a,e,c[p>>2]^3);h=j;f=i;e=g;break c}e=c[b>>2]|0;if(!(c[e+576>>2]&2048)){h=j;f=i;e=0;break c}We(e,48,131950,r);h=j;f=i;e=0;break c}case 6:{e=c[I>>2]|0;if((c[z>>2]|0)==(e|0)){We(c[b>>2]|0,16,131976,s);Gh(a,0);e=c[I>>2]|0}h=a+28748+(k*12|0)+8|0;if(c[e+100>>2]|0){e=0;while(1){if((e|0)==32)break;if((c[a+28476+(e<<2)>>2]|0)==(c[I>>2]|0)){if((e|0)!=(c[h>>2]|0))We(c[b>>2]|0,16,132048,t);kh(a,e,0)}e=e+1|0}c[n>>2]=32;e=c[I>>2]|0}f=c[h>>2]|0;if((c[a+28476+(f<<2)>>2]|0)!=(e|0)){if(c[e+100>>2]|0){y=42;break a}kh(a,f,0);c[a+28476+(c[h>>2]<<2)>>2]=c[I>>2];c[(c[a+28476+(c[h>>2]<<2)>>2]|0)+100>>2]=1;c[F>>2]=(c[F>>2]|0)+1;e=c[I>>2]|0}h=e+640|0;c[h>>2]=c[h>>2]|c[G>>2];h=1;f=i;e=g;break c}case 4:{e=c[a+28748+(k*12|0)+8>>2]|0;while(1){if((e|0)>=16)break;kh(a,e,0);e=e+1|0}c[n>>2]=e;h=j;f=i;e=g;break c}case 5:{while(1){if(!(c[H>>2]|0)){e=0;break}Fh(a,c[(c[z>>2]|0)+88>>2]|0,0)|0}while(1){if((e|0)==16)break;kh(a,e,0);e=e+1|0}c[n>>2]=16;e=c[I>>2]|0;c[e+88>>2]=0;c[l>>2]=0;c[m>>2]=1;c[e+92>>2]=1;e=0;while(1){if((e|0)==16)break;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}c[n>>2]=16;h=j;f=i;e=g;break c}default:{h=j;f=i;e=g;break c}}}while(0);k=k+1|0;j=h;g=e}if((y|0)==42){c[u>>2]=132111;c[u+4>>2]=132137;c[u+8>>2]=702;We(0,0,164054,u);Za()}do if(!j){if(c[H>>2]|0){f=c[z>>2]|0;e=c[I>>2]|0;if((f|0)==(e|0)){M=f+640|0;c[M>>2]=c[M>>2]|c[G>>2];break}}else e=c[I>>2]|0;if(c[e+100>>2]|0){We(c[b>>2]|0,16,132160,A);d=-1094995529;break}if(Fh(a,c[e+88>>2]|0,0)|0){We(c[b>>2]|0,16,132273,B);d=-1094995529}e=c[H>>2]|0;if(!e)e=1;else{xW(a+28352|0,z|0,e<<2|0)|0;e=(c[H>>2]|0)+1|0}M=c[I>>2]|0;c[a+28348>>2]=M;c[H>>2]=e;M=M+640|0;c[M>>2]=c[M>>2]|c[G>>2]}while(0);e=c[F>>2]|0;f=c[H>>2]|0;g=c[(c[E>>2]|0)+48>>2]|0;do if((f+e|0)>(((g|0)>1?g:1)|0)){d=c[b>>2]|0;c[C>>2]=e;c[C+4>>2]=f;c[C+8>>2]=g;We(d,16,132315,C);d=c[H>>2]|0;if((c[F>>2]|0)!=0&(d|0)==0)d=0;else{Fh(a,c[(c[a+28348+(d+-1<<2)>>2]|0)+88>>2]|0,0)|0;d=-1094995529;break}while(1){if((d|0)>=16)break;if(c[a+28476+(d<<2)>>2]|0)break;d=d+1|0}kh(a,d,0);d=-1094995529}while(0);e=0;while(1){if((e|0)>=(c[H>>2]|0))break;f=c[a+28348+(e<<2)>>2]|0;if(c[f+648>>2]|0?(D=c[f+88>>2]|0,M=c[E>>2]|0,((1<<c[M+20>>2])+-1&(c[(c[I>>2]|0)+88>>2]|0)-D|0)>(c[M+48>>2]|0)):0)Fh(a,D,0)|0;e=e+1|0}Hh(a);Ih(a);h=J+4|0;g=0;i=0;f=0;while(1){if((g|0)==256)break;e=c[a+27180+(g<<2)>>2]|0;if(!e)e=i;else{E=c[e+4>>2]|0;M=E+20|0;e=c[(i>>>0>(c[M>>2]|0)>>>0?J:M)>>2]|0;c[J>>2]=e;f=c[(f>>>0>(c[E+24>>2]|0)>>>0?J:M)+4>>2]|0;c[h>>2]=f}g=g+1|0;i=e}if((d|0)>-1?(c[F>>2]|0)==0:0){e=c[G>>2]|0;if((c[H>>2]|0)>=3?!((i|0)<=(((e|0)!=3?2:1)|0)&(f|0)<2):0)break;if(((i|0)<=((((c[a+29580>>2]|0)==0&1)<<1)+((e|0)!=3?3:2)|0)?(K=c[I>>2]|0,(c[(c[K>>2]|0)+88>>2]|0)==1):0)?(M=K+644|0,c[M>>2]=c[M>>2]|1,(c[(c[b>>2]|0)+140>>2]|0)==0):0){M=a+29576|0;c[M>>2]=c[M>>2]|2}}}else{b=a+4|0;We(c[b>>2]|0,16,131849,L+8|0);d=-1094995529}while(0);Ec=L;return (c[(c[b>>2]|0)+580>>2]&8|0?d:0)|0}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;e=c[a+12>>2]|0;if((e|0?(f=c[e+4>>2]|0,f|0):0)?(g=f+(d<<2)|0,(c[g>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;e=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[e+344>>2]|0){a=c[a>>2]|0;c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;We(a,48,131824,h)}h=e+184|0;JU(h)|0;c[g>>2]=b;zW(e+60|0)|0;KU(h)|0}Ec=i;return}function Ch(a){a=a|0;var b=0,d=0,e=0;b=c[a+29556>>2]|0;do if((b|0)!=0?((c[a+29552>>2]|0)+b|0)>=(c[(c[a+28216>>2]|0)+48>>2]|0):0){e=(c[a+26380>>2]|0)==3;if((!e?(c[a+26384>>2]|0)==0:0)?c[(c[a+24312>>2]|0)+640>>2]|0:0){b=0;break}c[a+28748>>2]=1;d=c[(c[a+28348+(b+-1<<2)>>2]|0)+88>>2]|0;b=a+28752|0;c[b>>2]=d;d=d<<1;if(e)b=1;else{c[b>>2]=d;c[a+28760>>2]=1;c[a+28764>>2]=d|1;b=2}}else b=0;while(0);c[a+29540>>2]=b;return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+26380|0;a=c[e>>2]|0;c[d>>2]=a;if((c[e>>2]|0)!=3){if(!(b&1))c[d>>2]=a^3;b=b>>1}return b|0}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=Ec;Ec=Ec+16|0;j=l;h=a+29556|0;i=a+4|0;g=0;while(1){if((g|0)>=(c[h>>2]|0)){e=0;break}e=c[a+28348+(g<<2)>>2]|0;f=c[i>>2]|0;if(!(c[f+576>>2]&2048))f=e+88|0;else{m=e+88|0;n=c[m>>2]|0;c[j>>2]=g;c[j+4>>2]=n;c[j+8>>2]=e;We(f,48,132489,j);f=m}if((c[f>>2]|0)==(b|0)){k=7;break}g=g+1|0}if((k|0)==7)c[d>>2]=g;Ec=l;return e|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Ec;Ec=Ec+16|0;f=h;g=h+8|0;e=c[a+4>>2]|0;if(c[e+576>>2]&2048|0){i=c[a+29556>>2]|0;c[f>>2]=b;c[f+4>>2]=i;We(e,48,132463,f)}b=Eh(a,b,g)|0;if(b|0?mh(a,b,d)|0:0)Gh(a,c[g>>2]|0);Ec=h;return b|0}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+28348+(b<<2)|0;c[d>>2]=0;f=a+29556|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(e|0)xW(d|0,a+28348+(b+1<<2)|0,e-b<<2|0)|0;return}function Hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=Ec;Ec=Ec+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){We(b,48,132445,g);d=a+29556|0;b=0;while(1){if(b>>>0>=(c[d>>2]|0)>>>0)break a;i=c[a+28348+(b<<2)>>2]|0;h=c[e>>2]|0;k=c[i+88>>2]|0;j=c[i+84>>2]|0;i=c[c[i>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=i;We(h,48,132425,f);b=b+1|0}}while(0);Ec=g;return}function Ih(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ec;Ec=Ec+32|0;f=g+8|0;e=a+4|0;b=c[e>>2]|0;a:do if(c[b+576>>2]&2048|0){We(b,48,132408,g);b=0;while(1){if((b|0)==16)break a;d=c[a+28476+(b<<2)>>2]|0;if(d|0){h=c[e>>2]|0;j=c[d+88>>2]|0;i=c[d+84>>2]|0;d=c[c[d>>2]>>2]|0;c[f>>2]=b;c[f+4>>2]=j;c[f+8>>2]=i;c[f+12>>2]=d;We(h,48,132425,f)}b=b+1|0}}while(0);Ec=g;return}function Jh(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=Ec;Ec=Ec+48|0;x=C+40|0;A=C+32|0;z=C+24|0;y=C+16|0;k=C;w=C+44|0;v=(g|0)!=0;if((e|0)<=-1){c[k>>2]=159582;c[k+4>>2]=159596;c[k+8>>2]=137;We(0,0,164054,k);Za()}q=b;r=b+e|0;s=a+4|0;xM(s,a+8|0,(j|0?0:262144)+e|0);a:do if(c[s>>2]|0){c[a+12>>2]=0;t=a+16|0;c[t>>2]=0;u=a+20|0;p=(i|0)==173;l=v?0:e;g=q;b:while(1){e=b+l|0;while(1){i=r-g|0;if(i>>>0<=3){g=0;break a}k=g-q|0;if((k|0)==(l|0)){B=8;break}if((k|0)>(l|0))We(f,24,152391,y);k=zM(g,e)|0;i=g+(i>>>0>k>>>0?k:i)|0;k=i;g=r-k|0;if(!g)break b;o=k-q|0;n=l-o|0;g=g>>>0>n>>>0?n:g;if((l|0)>(o|0)){o=g;break}else g=i+g|0}if((B|0)==8){B=0;c[w>>2]=0;k=g;g=yM(h,k,i,w,f)|0;k=k+(i>>>0>h>>>0?h:i)|0;if((g|0)<0)break a;else{o=g;l=k-q+g|0}}g=c[u>>2]|0;i=c[t>>2]|0;if((g|0)<=(i|0)){g=g+1|0;i=AM(c[a>>2]|0,g,68)|0;if(!i){g=-12;break a}c[a>>2]=i;e=c[u>>2]|0;yW(i+(e*68|0)|0,0,(g-e|0)*68|0)|0;e=c[a>>2]|0;m=c[t>>2]|0;c[e+(m*68|0)+56>>2]=1024;n=Mg(1024,4)|0;c[e+(m*68|0)+60>>2]=n;if(!n){g=-12;break a}c[u>>2]=g;i=c[t>>2]|0}n=c[a>>2]|0;m=n+(i*68|0)|0;e=k;g=BM(e,o,s,m,j)|0;if((g|0)<0)break a;if(v?(o|0)!=0&(o|0)!=(g|0):0){c[A>>2]=g;c[A+4>>2]=o;We(f,48,152459,A)}c[t>>2]=(c[t>>2]|0)+1;k=r-k|0;g=e+(k>>>0>g>>>0?g:k)|0;e=g;k=r-e|0;if(k>>>0>3){if((k|0)<4)g=0;else g=uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0;g=(g|0)!=480&1}else g=1;g=CM(m,g)|0;c[n+(i*68|0)+12>>2]=g;g=DM(n+(i*68|0)+24|0,c[n+(i*68|0)+8>>2]|0,g)|0;if((g|0)<0)break a;if(p)g=EM(m,f)|0;else g=FM(m,f)|0;if((g|0)<1){if((g|0)<0){c[x>>2]=c[n+(i*68|0)+44>>2];We(f,16,152504,x)}}else if((c[n+(i*68|0)+4>>2]|0)>=1){g=e;continue}c[t>>2]=(c[t>>2]|0)+-1;g=e}if((c[t>>2]|0)>0)g=0;else{We(f,16,152434,z);g=-1094995529}}else g=-12;while(0);Ec=C;return g|0}function Kh(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=Ec;Ec=Ec+32|0;k=m;h=m+4|0;i=a+25656|0;j=a+25640|0;g=a+4|0;a=0;f=0;b=0;a:while(1){if((f|0)>=(c[i>>2]|0))break;d=c[j>>2]|0;e=d+(f*68|0)+44|0;b:do switch(c[e>>2]|0){case 8:case 7:{a=f;break}case 1:case 5:case 2:{d=Sh(h,(c[d+(f*68|0)+8>>2]|0)+1|0,(c[d+(f*68|0)+4>>2]|0)+-1|0)|0;if((d|0)<0){We(c[g>>2]|0,16,152358,k);if(!(c[(c[g>>2]|0)+580>>2]&8))break b;else{l=12;break a}}d=(b|0)!=0;if(!(d&(sM(h)|0)!=0?(b|0)==(c[e>>2]|0):0))a=f;if(!d)b=c[e>>2]|0;break}default:{}}while(0);f=f+1|0}if((l|0)==12)a=d;Ec=m;return a|0}function Lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=Ec;Ec=Ec+34832|0;t=v+34824|0;s=v+34816|0;r=v+34808|0;q=v+34800|0;o=v+34784|0;j=v+34776|0;h=v+34768|0;i=v;m=a+25628|0;e=c[m>>2]|0;u=a+25636|0;g=c[u>>2]|0;f=e+(g*34768|0)|0;if(!g)l=(c[a+29560>>2]|0)==0;else l=0;p=l&1;d=e+(g*34768|0)+4|0;w=b+24|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];c[d+16>>2]=c[w+16>>2];d=Vk(a,f,b)|0;a:do if((d|0)>=0){if((c[e+(g*34768|0)+21836>>2]|0)>0){c[e+(g*34768|0)+23408>>2]=0;c[e+(g*34768|0)+23404>>2]=0;d=0;break}d=(c[e+(g*34768|0)+21808>>2]|0)==0;if(!d?(c[a+29560>>2]|0)!=0:0)k=11;else{if(c[a+29588>>2]|0){We(c[a+4>>2]|0,16,148658,h);d=-1094995529;break}if(d){h=a+29560|0;do if(c[h>>2]|0){if(c[u>>2]|0){d=Nh(a)|0;if((d|0)<0?c[(c[a+4>>2]|0)+580>>2]&8|0:0)break a;w=c[m>>2]|0;wW(i|0,w|0,34768)|0;wW(w|0,f|0,34768)|0;wW(f|0,i|0,34768)|0;f=c[m>>2]|0}e=a+24312|0;if(!(c[e>>2]|0)){d=-1094995529;break a}g=a+26384|0;d=(c[g>>2]|0)==0;if((c[a+26380>>2]|0)!=3){if(d){d=-1094995529;break a}d=vh(a,c[m>>2]|0,1)|0;if((d|0)<0)break a;else{d=g;break}}if(!d){d=-1094995529;break a}if((c[a+27028>>2]|0)!=5){d=-1094995529;break a}We(a,24,148675,j);d=vh(a,c[m>>2]|0,1)|0;Bh((c[e>>2]|0)+4|0,2147483647,0);Bh((c[e>>2]|0)+4|0,2147483647,1);c[e>>2]=0;if((d|0)<0)break a;else d=g}else d=a+26384|0;while(0);if(!(c[d>>2]|0)){d=a+24312|0;e=c[d>>2]|0;if(e|0?(c[a+25684>>2]|0)==0:0)Bh(e+4|0,2147483647,(c[a+26380>>2]|0)==2&1);c[d>>2]=0;g=f;d=h}else{g=f;d=h}}else k=11}if((k|0)==11){g=f;d=a+29560|0}f=c[d>>2]|0;e=(f|0)==0;do if(e){if((g|0)!=(c[m>>2]|0)){c[o>>2]=148701;c[o+4>>2]=137858;c[o+8>>2]=2090;We(0,0,164054,o);Za()}if((c[a+26384>>2]|0)==0?(n=c[(c[a+4>>2]|0)+732>>2]|0,(n|0)>7):0){if(!(c[a+27024>>2]|0)){d=0;break a}if((n|0)>15){if((c[g+840>>2]|0)==3){d=0;break a}if((n|0)>23){if((c[g+840>>2]|0)!=1){d=0;break a}if((n|0)>31)if((c[a+27028>>2]|0)==5)if((n|0)>47){d=0;break a}else break;else if((c[a+29716>>2]|0)<0|(n|0)>47){d=0;break a}else break}}}}while(0);do if(!l){w=c[(c[a+27180+(c[g+27776>>2]<<2)>>2]|0)+4>>2]|0;o=c[a+28212>>2]|0;d=c[o>>2]|0;if((d|0)==(c[w>>2]|0)?(c[o+64>>2]|0)==(c[w+64>>2]|0):0){if((c[a+28216>>2]|0)==(c[(c[a+27052+(d<<2)>>2]|0)+4>>2]|0))break;We(c[a+4>>2]|0,16,148748,r);d=-1094995529;break a}We(c[a+4>>2]|0,16,148720,q);d=-1094995529;break a}while(0);do if(e){d=Wk(a,g,b,p)|0;if((d|0)<0)break a}else{d=c[a+26380>>2]|0;e=c[g+21824>>2]|0;if((d|0)==(e|0)?(c[a+25684>>2]|0)==((c[b+64>>2]|0)==0|0):0){if(c[a+24312>>2]|0)break;d=c[a+4>>2]|0;c[t>>2]=f+1;We(d,16,148850,t);d=-1094995529;break a}w=c[a+4>>2]|0;c[s>>2]=d;c[s+4>>2]=e;We(w,16,148788,s);d=-1094995529;break a}while(0);d=Xk(a,g,b)|0;if((d|0)>=0){c[u>>2]=(c[u>>2]|0)+1;d=0}}while(0);Ec=v;return d|0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;g=h;f=c[(c[a+28>>2]|0)+20>>2]|0;if(c[a+696>>2]&1|0){e=a+592|0;b=c[e>>2]|0;do if(b|0){d=f+336|0;if(!(c[d>>2]|0)){JU((c[f>>2]|0)+36|0)|0;c[d>>2]=1;b=c[e>>2]|0;if(!b)break}if(!(c[b+60>>2]&1)){c[f+340>>2]=1;Uk(c[f>>2]|0)}}while(0);b=f+184|0;JU(b)|0;d=f+300|0;if((c[d>>2]|0)==4)We(a,24,148617,g);c[d>>2]=4;zW(f+60|0)|0;KU(b)|0}Ec=h;return}function Nh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Ec;Ec=Ec+32|0;e=u+16|0;d=u;i=c[a+4>>2]|0;t=a+25636|0;r=c[t>>2]|0;s=a+25628|0;j=c[s>>2]|0;b=j+21812|0;c[b>>2]=2147483647;if((r|0)<1|(c[i+592>>2]|0)!=0)b=0;else{k=r+-1|0;q=a+27008|0;h=c[q>>2]|0;if((c[j+(k*34768|0)+21792>>2]|0)>=(h|0)){c[d>>2]=137789;c[d+4>>2]=137858;c[d+8>>2]=2746;We(0,0,164054,d);Za()}a:do if((r|0)!=1){if((r|0)<=0){c[e>>2]=137882;c[e+4>>2]=137858;c[e+8>>2]=2758;We(0,0,164054,e);Za()}p=a+27012|0;b=0;while(1){if((b|0)==(r|0))break;f=c[p>>2]|0;e=H(h,f)|0;c[j+(b*34768|0)+596>>2]=0;g=H(f,c[j+(b*34768|0)+21792>>2]|0)|0;g=g+(c[j+(b*34768|0)+21788>>2]|0)|0;d=0;while(1){if((d|0)==(r|0))break;o=H(f,c[j+(d*34768|0)+21792>>2]|0)|0;o=o+(c[j+(d*34768|0)+21788>>2]|0)|0;o=(b|0)==(d|0)|(o|0)<(g|0)?e:(e|0)>(o|0)?o:e;d=d+1|0;e=o}c[j+(b*34768|0)+21812>>2]=e;b=b+1|0}Qc[c[i+704>>2]&7](i,8,j,0,r,34768)|0;e=c[s>>2]|0;c[a+27004>>2]=c[e+(k*34768|0)+21792>>2];d=e+596|0;b=1;while(1){if((b|0)==(r|0))break;c[d>>2]=(c[d>>2]|0)+(c[e+(b*34768|0)+596>>2]|0);b=b+1|0}b=a+25708|0;if(!(c[b>>2]|0))b=0;else{c[b>>2]=0;g=a+26376|0;h=a+26380|0;f=0;while(1){if((f|0)==(r|0)){b=0;break a}o=c[s>>2]|0;i=o+(f*34768|0)|0;j=o+(f*34768|0)+21792|0;m=c[j>>2]|0;l=c[q>>2]|0;k=(m|0)<(l|0)?m+1|0:l;l=c[((m|0)>=(l|0)?p:o+(f*34768|0)+21788|0)>>2]|0;m=o+(f*34768|0)+21804|0;n=k+-1|0;o=o+(f*34768|0)+21800|0;e=c[m>>2]|0;while(1){if((e|0)>=(k|0))break;c[j>>2]=e;if((e|0)>(c[m>>2]|0))b=0;else b=c[o>>2]|0;if((e|0)==(n|0))d=l;else d=c[p>>2]|0;ij(a,i,b,d);if((c[g>>2]|0)==0?(c[h>>2]|0)==3:0)b=1;else b=2;e=b+e|0}f=f+1|0}}}else{c[b>>2]=H(c[a+27012>>2]|0,h)|0;c[a+25708>>2]=0;b=hj(i,j)|0;c[a+27004>>2]=c[(c[s>>2]|0)+21792>>2]}while(0);c[t>>2]=0}Ec=u;return b|0}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d;ui(1,a,b,f);Ec=e;return}function Ph(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Ec;Ec=Ec+32|0;s=u+16|0;r=u;l=a+36|0;m=a+40|0;n=a+44|0;o=a+176|0;p=a+208|0;q=a+224|0;k=a+240|0;i=0;a:while(1){if((Ki(b)|0)<=16){f=i;break}if(!(Li(b,16)|0)){f=i;break}else h=0;while(1){if((Ki(b)|0)<8){f=-1094995529;break a}h=(Li(b,8)|0)+h|0;if((Mi(b,8)|0)!=255){g=0;break}}do{if((Ki(b)|0)<8){f=-1094995529;break a}g=(Li(b,8)|0)+g|0}while((Mi(b,8)|0)==255);f=Ki(b)|0;if(g>>>0>((f|0)/8|0)>>>0){t=9;break}j=(Ni(b)|0)+(g<<3)|0;do switch(h|0){case 1:{f=Oi(a,b,d,e)|0;t=21;break}case 4:{f=Pi(a,b,g)|0;t=21;break}case 5:{f=Qi(l,b,g)|0;t=21;break}case 6:{Ri(m,b);f=i;break}case 0:{f=Si(n,b,d,e)|0;t=21;break}case 45:{Ti(o,b);f=i;break}case 47:{Ui(p,b);f=i;break}case 56:{Vi(q,b);f=i;break}case 147:{Wi(k,b);f=i;break}default:{c[s>>2]=h;We(e,48,137607,s);f=i}}while(0);if((t|0)==21){t=0;g=(f|0)<0;if(g&(f|0)!=-1397768184)break;else f=g?f:i}Xi(b,j-(Ni(b)|0)|0);Yi(b);i=f}if((t|0)==9){c[r>>2]=h;c[r+4>>2]=g<<3;c[r+8>>2]=f;We(e,16,137570,r);f=-1094995529}Ec=u;return f|0}function Qh(b,f){b=b|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;n=Ec;Ec=Ec+96|0;j=n+80|0;i=n+72|0;h=n+40|0;m=n+32|0;l=n+24|0;k=n+16|0;o=n+8|0;We(f,48,137315,n);c[o>>2]=d[b>>0];We(f,48,137348,o);switch(a[b>>0]|0){case 0:{o=b+1|0;c[k>>2]=d[o>>0];We(f,48,137375,k);switch(a[o>>0]|0){case 2:{c[l>>2]=e[b+2>>1];We(f,48,137409,l);break}case 3:{c[m>>2]=e[b+4>>1];We(f,48,137443,m);break}default:{}}r=+(d[b+7>>0]|0)/255.0;q=+(d[b+8>>0]|0)/255.0;p=+(d[b+9>>0]|0)/255.0;g[h>>3]=+(d[b+6>>0]|0)/255.0;g[h+8>>3]=r;g[h+16>>3]=q;g[h+24>>3]=p;We(f,48,137478,h);break}case 1:{o=b+10|0;c[i>>2]=d[o>>0];We(f,48,137523,i);if(!(a[o>>0]|0)){g[j>>3]=+(e[b+12>>1]|0)/100.0;We(f,48,137546,j)}break}default:{}}Ec=n;return} |
| | | function TN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function UN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function VN(a,b){a=a|0;b=b|0;var d=0,e=0;dO(b)|0;d=(gO(b)|0)==0;c[a>>2]=d&1;if(d){d=a+4|0;c[d>>2]=PN(b,7)|0;e=a+12|0;c[e>>2]=gO(b)|0;c[a+8>>2]=PN(b,6)|0;UN(b,3);c[a+16>>2]=gO(b)|0;UN(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)UN(b,16);UN(b,8);fO(b)}fO(b);return}function WN(a,b){a=a|0;b=b|0;var d=0;d=(gO(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=gO(b)|0;c[a+12>>2]=gO(b)|0;c[a+4>>2]=PN(b,16)|0;fO(b)}return}function XN(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=Ec;Ec=Ec+16|0;h=j+8|0;g=j;d=c[d+64+(c[a+136>>2]<<2)>>2]|0;if(!d)f=-12;else{if(c[(c[d+4>>2]|0)+216>>2]|0){d=PN(b,4)|0;a=a+88|0;c[a>>2]=0;switch(d|0){case 2:case 10:case 12:{We(e,48,155953,g);d=2;i=6;break}case 1:case 9:case 11:{We(e,48,155967,h);d=1;i=6;break}default:{}}if((i|0)==6)c[a>>2]=d;PN(b,2)|0;PN(b,1)|0;fO(b);f=f+-1|0}TN(b,f<<3);f=0}Ec=j;return f|0}function YN(a,d){a=a|0;d=d|0;var e=0,f=0;e=0;while(1){f=(PN(d,16)|0)&65535;if((e|0)==3)break;b[a+4+(e<<2)>>1]=f;b[a+4+(e<<2)+2>>1]=PN(d,16)|0;e=e+1|0}b[a+16>>1]=f;b[a+18>>1]=PN(d,16)|0;c[a+20>>2]=bO(d,32)|0;c[a+24>>2]=bO(d,32)|0;c[a>>2]=2;return}function ZN(a,d){a=a|0;d=d|0;b[a+4>>1]=bO(d,16)|0;b[a+6>>1]=bO(d,16)|0;c[a>>2]=2;return}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;f=h+8|0;e=h;PN(b,4)|0;PN(b,1)|0;PN(b,1)|0;g=dO(b)|0;a:do if(g>>>0>15){c[e>>2]=g;We(d,16,155886,e);e=-1094995529}else{e=dO(b)|0;if(e>>>0>15){c[f>>2]=e;We(d,16,155917,f);e=-1094995529;break}c[a+136>>2]=e;e=1;while(1){if((e|0)>(g|0)){e=0;break a}dO(b)|0;e=e+1|0}}while(0);Ec=h;return e|0}function $N(a,b,c){a=a|0;b=b|0;c=c|0;do if((c|0)>=7){if((PN(b,8)|0)==255){UN(b,8);c=c+-8|0}else c=c+-7|0;UN(b,8);UN(b,8);if((bO(b,32)|0)==1195456820){c=cO(a+92|0,b,c)|0;break}else{TN(b,c<<3);c=0;break}}else c=-22;while(0);return c|0}function aO(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=PN(b,8)|0;return}function bO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=PN(a,b)|0;break}else{b=b+-16|0;c=(PN(a,16)|0)<<b;a=c|(PN(a,b)|0);break}else a=0;while(0);return a|0}function cO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;a:do if((e|0)>=3){if((PN(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}UN(d,8);e=e+1|0}}UN(d,1);if(((PN(d,1)|0)!=0?(UN(d,1),g=PN(d,5)|0,UN(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=nW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=hW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=gj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(PN(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(PN(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(PN(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}UN(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function dO(a){a=a|0;var b=0,c=0,e=0;e=eO(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;TN(a,b);return (bO(a,b+1|0)|0)+-1|0}function eO(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=bO(d,32)|0;Ec=b;return a|0}function fO(a){a=a|0;UN(a,1);return}function gO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function hO(a,b){a=a|0;b=b|0;var d=0;a=Ec;Ec=Ec+16|0;d=a;c[d>>2]=b;Se(b+1648|0);Se(b+1652|0);Se(b+1656|0);Se(b+1660|0);Se(b+1664|0);Se(b+1668|0);Se(b+1672|0);Se(b+1680|0);Se(b+1676|0);Se(b+1688|0);Se(d);Ec=a;return}function iO(a){a=a|0;var b=0,c=0,e=0;e=uO(a,32)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;vO(a,b);return (wO(a,b+1|0)|0)+-1|0}function jO(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function kO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function lO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126412+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127436+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120443+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function mO(b){b=b|0;var c=0,d=0,e=0;c=0;while(1){if((c|0)==6)break;d=b+(c<<6)|0;e=d+16|0;do{a[d>>0]=16;d=d+1|0}while((d|0)<(e|0));a[b+1536+c>>0]=16;a[b+1542+c>>0]=16;c=c+1|0}d=b+384|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+448|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+512|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+576|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+640|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+704|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+768|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+832|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+896|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+960|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1024|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1088|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1152|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1216|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1280|0;c=156637;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1344|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1408|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));d=b+1472|0;c=156701;e=d+64|0;do{a[d>>0]=a[c>>0]|0;d=d+1|0;c=c+1|0}while((d|0)<(e|0));return}function nO(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=Ec;Ec=Ec+16|0;t=u;m=0;a:while(1){if((m|0)>=4){i=20;break}q=(m|0)==3?3:1;r=(m|0)>0?64:16;s=(m|0)>1;o=m+-2|0;l=1<<(m<<1)+4;l=(l|0)<64?l:64;p=(m|0)==0;n=0;while(1){if((n|0)>=6)break;b:do if(!(((jO(b)|0)&255)<<24>>24)){h=iO(b)|0;if(h|0){h=H(h,q)|0;if(n>>>0<h>>>0){i=8;break a}h=n-h|0;wW(f+(m*384|0)+(n<<6)|0,f+(m*384|0)+(h<<6)|0,r|0)|0;if(s)a[f+1536+(o*6|0)+n>>0]=a[f+1536+(o*6|0)+h>>0]|0}}else{if(s){i=(lO(b)|0)+8|0;a[f+1536+(o*6|0)+n>>0]=i;h=0}else{h=0;i=8}while(1){if((h|0)>=(l|0))break b;if(p){j=(d[155565+h>>0]|0)<<2;k=155549+h|0}else{j=(d[155645+h>>0]|0)<<3;k=155581+h|0}j=j+(d[k>>0]|0)|0;k=(lO(b)|0)+i|0;a[f+(m*384|0)+(n<<6)+j>>0]=k;h=h+1|0;i=k&255}}while(0);n=n+q|0}m=m+1|0}if((i|0)==8){c[t>>2]=h;We(e,16,156596,t);h=-1094995529}else if((i|0)==20)if((c[g+4>>2]|0)==3){h=0;while(1){if((h|0)==64)break;a[f+1216+h>>0]=a[f+832+h>>0]|0;a[f+1280+h>>0]=a[f+896+h>>0]|0;a[f+1408+h>>0]=a[f+1024+h>>0]|0;a[f+1472+h>>0]=a[f+1088+h>>0]|0;h=h+1|0}a[f+1543>>0]=a[f+1537>>0]|0;a[f+1544>>0]=a[f+1538>>0]|0;a[f+1546>>0]=a[f+1540>>0]|0;a[f+1547>>0]=a[f+1541>>0]|0;h=0}else h=0;Ec=u;return h|0}function oO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Ec;Ec=Ec+32|0;n=o+16|0;m=o+8|0;i=o;if(a[f+21>>0]|0)a[f+1629>>0]=(iO(b)|0)+2;a[f+1630>>0]=jO(b)|0;k=(jO(b)|0)&255;a[f+1631>>0]=k;a:do if(!(k<<24>>24))j=12;else{a[f+1632>>0]=iO(b)|0;p=iO(b)|0;h=p&255;k=f+1633|0;a[k>>0]=h;if((p&254)>>>0>5){We(e,16,156497,i);break}else i=0;while(1){if((i|0)>(h&255|0)){j=12;break a}p=(tO(b)|0)&255;a[f+1634+i>>0]=p;if(p<<24>>24)We(e,24,156561,m);p=(tO(b)|0)&255;a[f+1640+i>>0]=p;if(p<<24>>24)We(e,24,156561,n);i=i+1|0;h=a[k>>0]|0}}while(0);if((j|0)==12?(p=f+1646|0,a[p>>0]=iO(b)|0,l=iO(b)|0,a[f+1647>>0]=l,n=c[g+44>>2]|0,(((n|0)>10?n+-10|0:0)|0)>=(d[p>>0]|0)):0){p=c[g+48>>2]|0;Ec=o;return ((((p|0)>10?p+-10|0:0)|0)<(l&255|0)?-1094995529:0)|0}Ec=o;return -1094995529}function pO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=b+44|0;x=b+1656|0;c[x>>2]=Mg((c[w>>2]|0)+1|0,4)|0;y=b+48|0;v=b+1660|0;c[v>>2]=Mg((c[y>>2]|0)+1|0,4)|0;z=d+13384|0;t=Mg(c[z>>2]|0,4)|0;i=b+1664|0;c[i>>2]=t;e=c[x>>2]|0;a:do if((e|0)!=0?!((t|0)==0|(c[v>>2]|0)==0):0){q=b+1648|0;if(a[b+52>>0]|0){e=c[q>>2]|0;if(!e){c[q>>2]=Mg(c[w>>2]|0,4)|0;f=Mg(c[y>>2]|0,4)|0;c[b+1652>>2]=f;e=c[q>>2]|0;if(!e){e=-12;break}}else f=c[b+1652>>2]|0;if(!f){e=-12;break}else g=0;while(1){h=c[w>>2]|0;if((g|0)>=(h|0))break;t=g+1|0;s=c[z>>2]|0;c[e+(g<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,g)|0)/(h|0)|0);g=t}g=d+13388|0;e=0;while(1){h=c[y>>2]|0;if((e|0)>=(h|0))break;t=e+1|0;s=c[g>>2]|0;c[f+(e<<2)>>2]=((H(s,t)|0)/(h|0)|0)-((H(s,e)|0)/(h|0)|0);e=t}e=c[x>>2]|0}c[e>>2]=0;f=0;g=0;while(1){if((f|0)>=(c[w>>2]|0))break;t=(c[(c[q>>2]|0)+(f<<2)>>2]|0)+g|0;s=f+1|0;c[e+(s<<2)>>2]=t;f=s;g=t}g=c[v>>2]|0;c[g>>2]=0;n=b+1652|0;f=0;h=0;while(1){if((f|0)>=(c[y>>2]|0)){f=0;g=0;break}t=(c[(c[n>>2]|0)+(f<<2)>>2]|0)+h|0;s=f+1|0;c[g+(s<<2)>>2]=t;f=s;h=t}while(1){h=c[z>>2]|0;if((g|0)>=(h|0))break;t=f+(g>>>0>(c[e+(f<<2)>>2]|0)>>>0&1)|0;c[(c[i>>2]|0)+(g<<2)>>2]=t;f=t;g=g+1|0}m=H(c[d+13388>>2]|0,h)|0;s=b+1668|0;c[s>>2]=Mg(m,4)|0;e=b+1672|0;c[e>>2]=Mg(m,4)|0;f=b+1676|0;c[f>>2]=Mg(m,4)|0;t=d+13420|0;g=(c[t>>2]|0)+2|0;g=Mg(H(g,g)|0,4)|0;p=b+1688|0;c[p>>2]=g;o=c[s>>2]|0;if(((o|0)!=0?(r=c[e>>2]|0,(r|0)!=0):0)?(u=c[f>>2]|0,!((g|0)==0|(u|0)==0)):0){i=0;while(1){if((i|0)>=(m|0)){e=0;l=0;break}j=c[z>>2]|0;k=(i|0)%(j|0)|0;l=(i|0)/(j|0)|0;f=c[w>>2]|0;e=0;while(1){if((e|0)>=(f|0)){e=0;break}g=e+1|0;if(k>>>0<(c[(c[x>>2]|0)+(g<<2)>>2]|0)>>>0)break;else e=g}g=c[y>>2]|0;f=0;while(1){if((f|0)>=(g|0)){h=0;break}h=f+1|0;if(l>>>0<(c[(c[v>>2]|0)+(h<<2)>>2]|0)>>>0){h=f;break}else f=h}f=0;g=0;while(1){if((g|0)>=(e|0)){g=0;break}f=(H(c[(c[q>>2]|0)+(g<<2)>>2]|0,c[(c[n>>2]|0)+(h<<2)>>2]|0)|0)+f|0;g=g+1|0}while(1){if((g|0)>=(h|0))break;f=(H(c[(c[n>>2]|0)+(g<<2)>>2]|0,j)|0)+f|0;g=g+1|0}l=H(c[(c[q>>2]|0)+(e<<2)>>2]|0,l-(c[(c[v>>2]|0)+(h<<2)>>2]|0)|0)|0;l=f+k+l-(c[(c[x>>2]|0)+(e<<2)>>2]|0)|0;c[o+(i<<2)>>2]=l;c[r+(l<<2)>>2]=i;i=i+1|0}b:while(1){if((l|0)>=(c[y>>2]|0))break;m=l+1|0;h=0;while(1){if((h|0)>=(c[w>>2]|0)){l=m;continue b}g=c[v>>2]|0;i=g+(m<<2)|0;j=h+1|0;g=c[g+(l<<2)>>2]|0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;f=c[x>>2]|0;k=f+(j<<2)|0;f=c[f+(h<<2)>>2]|0;while(1){if(f>>>0>=(c[k>>2]|0)>>>0)break;c[u+(c[o+((H(c[z>>2]|0,g)|0)+f<<2)>>2]<<2)>>2]=e;f=f+1|0}g=g+1|0}e=e+1|0;h=j}}g=Mg(e,4)|0;c[b+1680>>2]=g;if(g){f=0;while(1){if((f|0)<(c[y>>2]|0))e=0;else break;while(1){h=c[w>>2]|0;if((e|0)>=(h|0))break;u=H(c[z>>2]|0,c[(c[v>>2]|0)+(f<<2)>>2]|0)|0;c[g+((H(h,f)|0)+e<<2)>>2]=(c[(c[x>>2]|0)+(e<<2)>>2]|0)+u;e=e+1|0}f=f+1|0}i=c[d+13336>>2]|0;h=c[d+13328>>2]|0;g=c[p>>2]|0;j=c[t>>2]|0;n=g+(j+3<<2)|0;c[b+1684>>2]=n;e=0;while(1){f=j+2|0;if((e|0)>=(f|0))break;c[g+((H(f,e)|0)<<2)>>2]=-1;c[g+(e<<2)>>2]=-1;e=e+1|0;j=c[t>>2]|0}l=i-h|0;m=l<<1;k=0;e=j;while(1){if((k|0)>(e|0)){e=0;break a}i=k>>l;h=0;while(1){if((h|0)>(e|0))break;f=(H(c[z>>2]|0,i)|0)+(h>>l)|0;f=c[(c[s>>2]|0)+(f<<2)>>2]<<m;g=0;while(1){if((g|0)>=(l|0))break;b=1<<g;f=((b&k|0)==0?0:b<<1<<g)+f+((b&h|0)==0?0:b<<g)|0;g=g+1|0}c[n+((H(e+2|0,k)|0)+h<<2)>>2]=f;h=h+1|0;e=c[t>>2]|0}k=k+1|0}}else e=-12}else e=-12}else e=-12;while(0);return e|0}function qO(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(sO(a)|0)|0}function rO(a,b){a=a|0;b=b|0;var d=0,e=0;b=a+128+(b<<2)|0;d=c[b>>2]|0;if(d|0?(e=a+392|0,(c[e>>2]|0)==(c[d+4>>2]|0)):0)c[e>>2]=0;Cf(b);return}function sO(a){a=a|0;return c[a+8>>2]|0}function tO(a){a=a|0;a=iO(a)|0;return ((a&1)+-1^a>>>1)+1|0}function uO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ec;Ec=Ec+32|0;d=e;if((b|0)<26)a=xO(a,b)|0;else{c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=wO(d,b)|0}Ec=e;return a|0}function vO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function wO(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=kO(a,b)|0;break}else{b=b+-16|0;c=(kO(a,16)|0)<<b;a=c|(kO(a,b)|0);break}else a=0;while(0);return a|0}function xO(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function yO(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=Ec;Ec=Ec+272|0;W=X+256|0;V=X+248|0;U=X+240|0;T=X+232|0;S=X+224|0;R=X+216|0;Q=X+208|0;P=X+200|0;N=X+192|0;M=X+176|0;L=X+168|0;K=X+160|0;J=X+152|0;F=X+144|0;D=X+136|0;C=X+120|0;B=X+112|0;A=X+104|0;z=X+96|0;y=X+88|0;v=X+80|0;u=X+72|0;s=X+64|0;r=X+56|0;p=X+40|0;o=X+32|0;n=X+24|0;m=X+16|0;l=X+8|0;k=X;j=kO(e,4)|0;c[d>>2]=j;a:do if(j>>>0<=15){if(h|0?(c[h+(j<<2)>>2]|0)==0:0){c[l>>2]=j;We(i,16,157005,l);h=-1094995529;break}h=(kO(e,3)|0)+1|0;t=d+68|0;c[t>>2]=h;if((h|0)>7){c[m>>2]=h;We(i,16,157028,m);h=-1094995529;break}a[d+156>>0]=kO(e,1)|0;h=AO(e,i,d+300|0,c[t>>2]|0)|0;if((h|0)>=0){h=iO(e)|0;c[f>>2]=h;if(h>>>0>15){c[n>>2]=h;We(i,16,156062,n);h=-1094995529;break}h=iO(e)|0;m=d+4|0;c[m>>2]=h;if(h>>>0>3){c[o>>2]=h;We(i,16,157065,o);h=-1094995529;break}if((h|0)==3){h=(jO(e)|0)&255;a[d+8>>0]=h}else h=a[d+8>>0]|0;if(h<<24>>24)c[m>>2]=0;G=d+13376|0;c[G>>2]=iO(e)|0;h=iO(e)|0;I=d+13380|0;c[I>>2]=h;h=Yg(c[G>>2]|0,h,0,i)|0;if((h|0)>=0){if(jO(e)|0){k=c[m>>2]|0;l=(k|0)<2?2:1;k=(k|0)<3?2:1;h=d+28|0;c[h>>2]=H(k,iO(e)|0)|0;j=d+32|0;c[j>>2]=H(iO(e)|0,k)|0;k=d+36|0;c[k>>2]=H(iO(e)|0,l)|0;l=H(iO(e)|0,l)|0;c[d+40>>2]=l;if(c[i+64>>2]&65536|0){x=c[j>>2]|0;E=c[k>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=x;c[p+8>>2]=E;c[p+12>>2]=l;We(i,48,157098,p);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}E=d+12|0;c[E>>2]=c[h>>2];c[E+4>>2]=c[h+4>>2];c[E+8>>2]=c[h+8>>2];c[E+12>>2]=c[h+12>>2]}E=d+44|0;c[E>>2]=(iO(e)|0)+8;h=(iO(e)|0)+8|0;if(c[m>>2]|0?(q=c[E>>2]|0,(h|0)!=(q|0)):0){c[r>>2]=q;c[r+4>>2]=h;We(i,16,157174,r);h=-1094995529;break}c[d+48>>2]=h;h=BO(i,d)|0;if((h|0)>=0){h=iO(e)|0;x=h+4|0;w=d+60|0;c[w>>2]=x;if(x>>>0>16){c[s>>2]=h;We(i,16,157257,s);h=-1094995529;break}m=(jO(e)|0)!=0;if(m)n=0;else n=(c[t>>2]|0)+-1|0;x=i+580|0;l=n;while(1){if((l|0)>=(c[t>>2]|0))break;f=d+72+(l*12|0)|0;c[f>>2]=(iO(e)|0)+1;j=d+72+(l*12|0)+4|0;c[j>>2]=iO(e)|0;c[d+72+(l*12|0)+8>>2]=(iO(e)|0)+-1;k=c[f>>2]|0;if(k>>>0>16){O=34;break}h=c[j>>2]|0;if((h|0)>=(k|0)){c[v>>2]=h;We(i,24,157357,v);if(c[x>>2]&8|0){h=-1094995529;break a}h=c[j>>2]|0;if((h|0)>15){h=-1094995529;break a}c[f>>2]=h+1}l=l+1|0}if((O|0)==34){c[u>>2]=k+-1;We(i,16,157306,u);h=-1094995529;break}b:do if(!m){j=d+72+(n*12|0)|0;k=d+72+(n*12|0)+4|0;l=d+72+(n*12|0)+8|0;h=0;while(1){if((h|0)>=(n|0))break b;c[d+72+(h*12|0)>>2]=c[j>>2];c[d+72+(h*12|0)+4>>2]=c[k>>2];c[d+72+(h*12|0)+8>>2]=c[l>>2];h=h+1|0}}while(0);p=d+13320|0;c[p>>2]=(iO(e)|0)+3;q=d+13324|0;c[q>>2]=iO(e)|0;r=d+13328|0;c[r>>2]=(iO(e)|0)+2;j=iO(e)|0;k=c[r>>2]|0;s=d+13332|0;c[s>>2]=k+j;l=c[p>>2]|0;if((l+-3|0)>>>0>27){c[y>>2]=l;We(i,16,157400,y);h=-1094995529;break}h=c[q>>2]|0;if(h>>>0>30){c[z>>2]=h;We(i,16,157438,z);h=-1094995529;break}if(k>>>0>=l>>>0|k>>>0<2){We(i,16,157495,A);h=-1094995529;break}if(j>>>0>30){c[B>>2]=j;We(i,16,157530,B);h=-1094995529;break}n=d+13344|0;c[n>>2]=iO(e)|0;o=d+13348|0;c[o>>2]=iO(e)|0;B=(jO(e)|0)&255;a[d+634>>0]=B;do if(B<<24>>24){h=d+635|0;mO(h);if(!(jO(e)|0))break;h=nO(e,i,h,d)|0;if((h|0)<0)break a}while(0);a[d+13196>>0]=jO(e)|0;a[d+13197>>0]=jO(e)|0;B=jO(e)|0;c[d+64>>2]=B;do if(B|0){h=d+13300|0;a[h>>0]=(kO(e,4)|0)+1;j=d+13301|0;a[j>>0]=(kO(e,4)|0)+1;k=(iO(e)|0)+3|0;c[d+13304>>2]=k;c[d+13308>>2]=(iO(e)|0)+k;h=a[h>>0]|0;j=a[j>>0]|0;k=c[E>>2]|0;if((k|0)<(((h&255)>(j&255)?h:j)&255|0)){c[C>>2]=h&255;c[C+4>>2]=j&255;c[C+8>>2]=k;We(i,16,157590,C);h=-1094995529;break a}else{a[d+13312>>0]=jO(e)|0;break}}while(0);h=iO(e)|0;k=d+2184|0;c[k>>2]=h;if(h>>>0>64){c[D>>2]=h;We(i,16,157652,D);h=-1094995529;break}else j=0;while(1){if(j>>>0>=h>>>0)break;h=CO(e,i,d+2188+(j*172|0)|0,d,0)|0;if((h|0)<0)break a;j=j+1|0;h=c[k>>2]|0}D=(jO(e)|0)&255;a[d+13198>>0]=D;c:do if(D<<24>>24){j=iO(e)|0;h=j&255;k=d+13296|0;a[k>>0]=h;j=j&255;if(j>>>0>32){c[F>>2]=j;We(i,16,157682,F);h=-1094995529;break a}else j=0;while(1){if((j|0)>=(h&255|0))break c;b[d+13200+(j<<1)>>1]=kO(e,c[w>>2]|0)|0;a[d+13264+j>>0]=jO(e)|0;j=j+1|0;h=a[k>>0]|0}}while(0);a[d+13316>>0]=jO(e)|0;a[d+13317>>0]=jO(e)|0;c[d+160>>2]=0;c[d+164>>2]=1;if(jO(e)|0)DO(e,i,g,d);do if(jO(e)|0){h=0;j=0;while(1){if((h|0)==1)break;h=h+1|0;j=jO(e)|0}EO(e,7);if(!j)break;c[d+13352>>2]=jO(e)|0;c[d+13356>>2]=jO(e)|0;c[d+13360>>2]=jO(e)|0;c[d+13364>>2]=jO(e)|0;if(jO(e)|0)We(i,24,157716,J);c[d+13368>>2]=jO(e)|0;if(jO(e)|0)We(i,24,157772,K);c[d+13372>>2]=jO(e)|0;if(!(jO(e)|0))break;We(i,24,157829,L)}while(0);if(!g){l=d+12|0;k=d+16|0;h=l;j=k;k=c[k>>2]|0;l=c[l>>2]|0}else{j=d+12|0;l=(c[j>>2]|0)+(c[d+224>>2]|0)|0;c[j>>2]=l;j=d+16|0;k=(c[j>>2]|0)+(c[d+228>>2]|0)|0;c[j>>2]=k;h=d+20|0;c[h>>2]=(c[h>>2]|0)+(c[d+232>>2]|0);h=d+24|0;c[h>>2]=(c[h>>2]|0)+(c[d+236>>2]|0);h=d+12|0}m=c[d+20>>2]|0;f=c[d+24>>2]|0;do if(l>>>0<(2147483647-k|0)>>>0&m>>>0<(2147483647-f|0)>>>0){if((k+l|0)>>>0>=(c[G>>2]|0)>>>0){O=87;break}if((f+m|0)>>>0>=(c[I>>2]|0)>>>0)O=87}else O=87;while(0);if((O|0)==87){O=c[j>>2]|0;c[M>>2]=l;c[M+4>>2]=O;c[M+8>>2]=m;c[M+12>>2]=f;We(i,24,157886,M);if(c[x>>2]&8|0){h=-1094995529;break}We(i,24,157925,N);c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;O=d+28|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0}k=c[p>>2]|0;l=(c[q>>2]|0)+k|0;h=d+13336|0;c[h>>2]=l;j=k+-1|0;c[d+13340>>2]=j;if(l>>>0>6){c[P>>2]=l;We(i,16,157962,P);h=-1094995529;break}if(l>>>0<4){c[Q>>2]=l;We(i,16,157991,Q);c[R>>2]=c[h>>2];Oh(i,158054,R);h=-1094995529;break}Q=c[G>>2]|0;O=1<<l;P=O+-1+Q>>l;c[d+13384>>2]=P;R=c[I>>2]|0;O=R+-1+O>>l;c[d+13388>>2]=O;c[d+13392>>2]=H(O,P)|0;c[d+13396>>2]=Q>>k;c[d+13400>>2]=R>>k;P=c[r>>2]|0;c[d+13404>>2]=Q>>P;c[d+13408>>2]=R>>P;c[d+13412>>2]=Q>>j;c[d+13416>>2]=R>>j;j=l-P|0;c[d+13420>>2]=(1<<j)+-1;c[d+13448>>2]=((c[E>>2]|0)*6|0)+-48;if((1<<k)+-1&(Q|R)|0){We(i,16,158071,S);h=-1094995529;break}h=c[n>>2]|0;if(h>>>0>j>>>0){c[T>>2]=h;We(i,16,158104,T);h=-1094995529;break}h=c[o>>2]|0;if(h>>>0>j>>>0){c[U>>2]=h;We(i,16,158158,U);h=-1094995529;break}h=c[s>>2]|0;if(h>>>0>(l>>>0<5?l:5)>>>0){c[V>>2]=h;We(i,16,158212,V);h=-1094995529;break}h=qO(e)|0;if((h|0)>=0){h=0;break}c[W>>2]=0-h;We(i,16,158255,W);h=-1094995529}}}}else{c[k>>2]=j;We(i,16,156980,k);h=-1094995529}while(0);Ec=X;return h|0}function zO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=Ec;Ec=Ec+16|0;g=h;e=a+64+(b<<2)|0;d=c[e>>2]|0;if(d|0){f=a+388|0;if((c[f>>2]|0)==(c[d+4>>2]|0)){c[f>>2]=0;d=0}else d=0;while(1){if((d|0)==64)break;i=c[a+128+(d<<2)>>2]|0;if(i|0?(c[c[i+4>>2]>>2]|0)==(b|0):0)rO(a,d);d=d+1|0}i=c[e>>2]|0;if(i|0?(c[f>>2]|0)==(c[i+4>>2]|0):0){c[g>>2]=156895;c[g+4>>2]=156959;c[g+8>>2]=92;We(0,0,164054,g);Za()}}Cf(e);Ec=h;return}function AO(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=Ec;Ec=Ec+32|0;k=m+16|0;j=m+8|0;g=m;a:do if((IO(b,d,e)|0)>=0?(i=f+-1|0,h=(f|0)>1,(qO(b)|0)>=((h&1)<<4|8|0)):0){a[e+35>>0]=kO(b,8)|0;f=0;while(1){if((f|0)>=(i|0))break;a[e+320+f>>0]=jO(b)|0;a[e+327+f>>0]=jO(b)|0;f=f+1|0}b:do if(h){f=i;while(1){if((f|0)>=8){f=0;break b}EO(b,2);f=f+1|0}}else f=0;while(0);while(1){if((f|0)>=(i|0)){f=0;break a}if(a[e+320+f>>0]|0?(IO(b,d,e+40+(f*40|0)|0)|0)<0:0){l=13;break}if(a[e+327+f>>0]|0){if((qO(b)|0)<8){l=16;break}a[e+40+(f*40|0)+35>>0]=kO(b,8)|0}f=f+1|0}if((l|0)==13){c[j>>2]=f;We(d,16,158980,j);f=-1;break}else if((l|0)==16){c[k>>2]=f;We(d,16,159023,k);f=-1;break}}else l=3;while(0);if((l|0)==3){We(d,16,158953,g);f=-1}Ec=m;return f|0}function BO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;f=i;h=b+44|0;e=c[h>>2]|0;a:do switch(e|0){case 8:{switch(c[b+4>>2]|0){case 0:{a=8;break}case 1:{a=0;break}case 2:{c[b+56>>2]=4;g=23;break a}case 3:{c[b+56>>2]=5;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 9:{switch(c[b+4>>2]|0){case 0:{a=30;break}case 1:{a=62;break}case 2:{c[b+56>>2]=72;g=23;break a}case 3:{c[b+56>>2]=68;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 10:{switch(c[b+4>>2]|0){case 0:{a=171;break}case 1:{a=64;break}case 2:{c[b+56>>2]=66;g=23;break a}case 3:{c[b+56>>2]=70;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}case 12:{switch(c[b+4>>2]|0){case 0:{a=169;break}case 1:{a=125;break}case 2:{c[b+56>>2]=129;g=23;break a}case 3:{c[b+56>>2]=133;g=23;break a}default:{g=23;break a}}c[b+56>>2]=a;g=23;break}default:{c[f>>2]=c[b+4>>2];c[f+4>>2]=e;We(a,16,158843,f);a=-1094995529}}while(0);if((g|0)==23){a=qg(c[b+56>>2]|0)|0;if(!a)a=-22;else{c[b+13436>>2]=0;c[b+13424>>2]=0;g=d[a+5>>0]|0;c[b+13428>>2]=g;c[b+13432>>2]=g;a=d[a+6>>0]|0;c[b+13440>>2]=a;c[b+13444>>2]=a;c[b+52>>2]=(c[h>>2]|0)>8&1;a=0}}Ec=i;return a|0}function CO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Ec;Ec=Ec+48|0;n=q+40|0;m=q+32|0;k=q+24|0;o=q+16|0;l=q+8|0;j=q;h=f+2188|0;a:do if(((h|0)!=(e|0)?(i=f+2184|0,(c[i>>2]|0)!=0):0)?((jO(b)|0)&255)<<24>>24!=0:0){do if(g){h=(iO(b)|0)+1|0;g=c[i>>2]|0;if(g>>>0<h>>>0){c[j>>2]=h;c[j+4>>2]=g;We(d,16,158653,j);g=-1094995529;break a}else{m=g-h|0;c[e+8>>2]=c[f+2188+(m*172|0)+4>>2];break}}else m=((e-h|0)/172|0)+-1|0;while(0);g=jO(b)|0;n=iO(b)|0;h=n+1|0;if(n>>>0>32767){c[l>>2]=h;We(d,16,158711,l);g=-1094995529;break}k=H(1-(g<<1&510)|0,h)|0;l=f+2188+(m*172|0)+4|0;h=0;g=0;j=0;while(1){if((j|0)>(c[l>>2]|0))break;n=jO(b)|0;a[e+140+g>>0]=n;if(!((n&255|0)==0?((jO(b)|0)&255)<<24>>24==0:0)){if((j|0)<(c[l>>2]|0))i=(c[f+2188+(m*172|0)+12+(j<<2)>>2]|0)+k|0;else i=k;c[e+12+(g<<2)>>2]=i;g=g+1|0;h=(i>>>31)+h|0}j=j+1|0}if(g>>>0>31){c[o>>2]=g;We(d,16,158747,o);g=-1094995529;break}n=e+4|0;c[n>>2]=g;c[e>>2]=h;if(g){m=1;while(1){if((m|0)>=(g|0))break;i=c[e+12+(m<<2)>>2]|0;j=a[e+140+m>>0]|0;h=m;while(1){g=h+-1|0;if((h|0)<=0)break;k=e+12+(g<<2)|0;l=c[k>>2]|0;if((i|0)>=(l|0)){h=g;continue}c[e+12+(h<<2)>>2]=l;d=e+140+g|0;a[e+140+h>>0]=a[d>>0]|0;c[k>>2]=i;a[d>>0]=j;h=g}m=m+1|0;g=c[n>>2]|0}h=c[e>>2]|0}if(h>>>0>1){i=0;g=h;while(1){g=g+-1|0;if(i>>>0>=h>>>1>>>0){g=0;break a}h=e+12+(i<<2)|0;o=c[h>>2]|0;f=e+140+i|0;d=a[f>>0]|0;b=e+12+(g<<2)|0;c[h>>2]=c[b>>2];h=e+140+g|0;a[f>>0]=a[h>>0]|0;c[b>>2]=o;a[h>>0]=d;i=i+1|0;h=c[e>>2]|0}}else g=0}else p=32;while(0);b:do if((p|0)==32){c[e>>2]=iO(b)|0;j=iO(b)|0;g=c[e>>2]|0;if((g|j)>>>0>15){We(d,16,158775,k);g=-1094995529;break}o=g+j|0;c[e+4>>2]=o;if(!o)g=0;else{h=0;i=0;while(1){if(i>>>0>=g>>>0){h=0;i=0;break}o=iO(b)|0;g=o+1|0;if(o>>>0>32767){p=37;break}g=h-g|0;c[e+12+(i<<2)>>2]=g;a[e+140+i>>0]=jO(b)|0;h=g;i=i+1|0;g=c[e>>2]|0}if((p|0)==37){c[m>>2]=g;We(d,16,158811,m);g=-1094995529;break}while(1){if(i>>>0>=j>>>0){g=0;break b}p=iO(b)|0;g=p+1|0;if(p>>>0>32767)break;p=g+h|0;c[e+12+((c[e>>2]|0)+i<<2)>>2]=p;o=(jO(b)|0)&255;a[(c[e>>2]|0)+i+(e+140)>>0]=o;h=p;i=i+1|0}c[n>>2]=g;We(d,16,158811,n);g=-1094995529}}while(0);Ec=q;return g|0}function DO(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=Ec;Ec=Ec+240|0;F=G+64|0;E=G+56|0;D=G+48|0;C=G+40|0;p=G+24|0;k=G+16|0;i=G+8|0;z=G+88|0;A=G+68|0;B=g+160|0;We(e,48,158280,G);do if(jO(b)|0){h=(kO(b,8)|0)&255;if(h>>>0<17){w=75092+(h<<3)|0;x=c[w+4>>2]|0;y=B;c[y>>2]=c[w>>2];c[y+4>>2]=x;break}if((h|0)==255){c[B>>2]=kO(b,16)|0;c[g+164>>2]=kO(b,16)|0;break}else{c[i>>2]=h;We(e,24,158294,i);break}}while(0);y=jO(b)|0;c[g+168>>2]=y;if(y|0)c[g+172>>2]=jO(b)|0;y=jO(b)|0;c[g+176>>2]=y;a:do if(y|0){c[g+180>>2]=kO(b,3)|0;y=g+184|0;c[y>>2]=jO(b)|0;h=jO(b)|0;c[g+188>>2]=h;if(c[y>>2]|0?(j=g+56|0,(c[j>>2]|0)==0):0)c[j>>2]=12;if(h|0){h=g+192|0;a[h>>0]=kO(b,8)|0;i=g+193|0;a[i>>0]=kO(b,8)|0;j=g+194|0;a[j>>0]=kO(b,8)|0;if(!(Ai(d[h>>0]|0)|0))a[h>>0]=2;if(!(Bi(d[i>>0]|0)|0))a[i>>0]=2;if(!(Ci(d[j>>0]|0)|0)){a[j>>0]=2;break}if(!(a[j>>0]|0)){i=g+56|0;switch(c[i>>2]|0){case 5:{h=73;break}case 70:{h=77;break}case 133:{h=137;break}default:break a}c[i>>2]=h}}}while(0);y=jO(b)|0;c[g+196>>2]=y;if(y|0){c[g+200>>2]=iO(b)|0;c[g+204>>2]=iO(b)|0}c[g+208>>2]=jO(b)|0;c[g+212>>2]=jO(b)|0;c[g+216>>2]=jO(b)|0;c[A>>2]=c[b>>2];c[A+4>>2]=c[b+4>>2];c[A+8>>2]=c[b+8>>2];c[A+12>>2]=c[b+12>>2];c[A+16>>2]=c[b+16>>2];wW(z|0,B|0,140)|0;if((qO(b)|0)>67?(uO(b,21)|0)==1048576:0){h=g+220|0;c[h>>2]=0;We(e,24,158318,k);h=c[h>>2]|0}else{h=jO(b)|0;c[g+220>>2]=h}if((h|0?(n=c[g+4>>2]|0,o=(n|0)<2?2:1,n=(n|0)<3?2:1,l=g+224|0,c[l>>2]=H(n,iO(b)|0)|0,m=g+228|0,c[m>>2]=H(iO(b)|0,n)|0,n=g+232|0,c[n>>2]=H(iO(b)|0,o)|0,o=H(iO(b)|0,o)|0,c[g+236>>2]=o,f|0):0)?c[e+64>>2]&65536|0:0){x=c[m>>2]|0;y=c[n>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=x;c[p+8>>2]=y;c[p+12>>2]=o;We(e,48,158350,p);c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}l=g+240|0;m=g+264|0;n=g+268|0;o=g+272|0;f=g+276|0;p=g+280|0;q=g+284|0;r=g+288|0;s=g+292|0;t=g+296|0;u=g+244|0;v=g+248|0;w=g+252|0;x=g+260|0;y=g+68|0;i=g+256|0;h=0;b:while(1){g=jO(b)|0;c[l>>2]=g;if(g|0){j=(h|0)!=0;if(!(j|(qO(b)|0)>65)){We(e,24,158430,C);wW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue}c[u>>2]=wO(b,32)|0;k=wO(b,32)|0;c[v>>2]=k;if(j){g=c[u>>2]|0;c[D>>2]=k;c[D+4>>2]=g;We(e,32,158475,D)}g=jO(b)|0;c[w>>2]=g;if(g|0)c[i>>2]=iO(b)|0;g=jO(b)|0;c[x>>2]=g;if(g|0)FO(b,1,c[y>>2]|0)}g=jO(b)|0;c[m>>2]=g;do if(g|0)if((h|0)!=0|(qO(b)|0)>7){c[n>>2]=jO(b)|0;c[o>>2]=jO(b)|0;c[f>>2]=jO(b)|0;c[p>>2]=iO(b)|0;c[q>>2]=iO(b)|0;c[r>>2]=iO(b)|0;c[s>>2]=iO(b)|0;c[t>>2]=iO(b)|0;break}else{We(e,24,158496,E);wW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1;continue b}while(0);if((h|0)!=0|(qO(b)|0)>0)break;We(e,24,158580,F);wW(B|0,z|0,140)|0;c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];h=1}Ec=G;return}function EO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Ec;Ec=Ec+16|0;i=k;if(b){b=jO(a)|0;f=jO(a)|0;if(!(f|b))e=0;else{e=jO(a)|0;if(!e){EO(a,4);EO(a,4)}else{EO(a,8);EO(a,5);EO(a,1);EO(a,5);EO(a,4);EO(a,4);EO(a,4)}EO(a,5);EO(a,5);EO(a,5)}}else{e=0;f=0;b=0}h=(b|0)==0;g=(f|0)==0;f=0;while(1){if((f|0)>=(d|0))break;if((jO(a)|0)==0?(jO(a)|0)==0:0)if(!(jO(a)|0))j=13;else b=1;else{iO(a)|0;j=13}if((j|0)==13){j=0;l=iO(a)|0;b=l+1|0;if(l>>>0>31){j=14;break}}if(!h)GO(a,b,e);if(!g)GO(a,b,e);f=f+1|0}if((j|0)==14){c[i>>2]=b;We(0,16,158634,i)}Ec=k;return}function GO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(c|0)==0;c=0;while(1){if((c|0)==(b|0))break;iO(a)|0;iO(a)|0;if(!d){iO(a)|0;iO(a)|0}HO(a);c=c+1|0}return}function HO(a){a=a|0;EO(a,1);return}function IO(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=Ec;Ec=Ec+48|0;h=j+32|0;g=j+24|0;if((qO(b)|0)<88)d=-1;else{a[e>>0]=kO(b,2)|0;a[e+1>>0]=jO(b)|0;f=kO(b,5)|0;k=f&255;i=e+2|0;a[i>>0]=k;f=f&255;a:do switch(k<<24>>24){case 1:{We(d,48,159066,j);d=0;break}case 2:{We(d,48,159090,j+8|0);d=0;break}case 3:{We(d,48,159117,j+16|0);d=0;break}default:if((f|0)==4){We(d,48,159155,g);d=0;break a}else{c[h>>2]=f;We(d,24,159190,h);d=0;break a}}while(0);while(1){f=jO(b)|0;g=f&255;if((d|0)==32)break;a[e+3+d>>0]=g;if(!((f&255|0)==0|((d|0)<1|(a[i>>0]|0)!=0)))a[i>>0]=d;d=d+1|0}a[e+36>>0]=g;a[e+37>>0]=jO(b)|0;a[e+38>>0]=jO(b)|0;a[e+39>>0]=jO(b)|0;EO(b,16);EO(b,16);EO(b,12);d=0}Ec=j;return d|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+(b<<2)|0;d=c[f>>2]|0;a:do if(d|0){e=a+384|0;if((c[e>>2]|0)==(c[d+4>>2]|0)){c[e>>2]=0;d=0}else d=0;while(1){if((d|0)==16)break a;e=c[a+64+(d<<2)>>2]|0;if(e|0?(c[c[e+4>>2]>>2]|0)==(b|0):0)zO(a,d);d=d+1|0}}while(0);Cf(f);return}function KO(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=Ec;Ec=Ec+32|0;l=n;m=n+8|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;a=Jh(m,a,b,j,f,g,173,1)|0;a:do if((a|0)>=0){k=m+16|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break a;b=c[m>>2]|0;f=c[b+(g*68|0)+44>>2]|0;switch(f|0){case 32:{a=AN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 33:{a=BN(b+(g*68|0)+24|0,j,d,i)|0;if((a|0)<0)break a;break}case 34:{a=CN(b+(g*68|0)+24|0,j,d)|0;if((a|0)<0)break a;break}case 40:case 39:{a=DN(b+(g*68|0)+24|0,j,e,d,f)|0;if((a|0)<0)break a;break}default:{c[l>>2]=f;We(j,40,159699,l)}}g=g+1|0}}while(0);ph(m);Ec=n;return ((h&8|0)==0?0:a)|0}function LO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;a=MO(a,d)|0;if((a|0)>=0){Jf(b,c[d>>2]|0);xf(d);a=0}Ec=e;return a|0}function MO(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;do if(!(c[a+4>>2]|0)){a=c[a>>2]|0;if((c[a+24>>2]|0)==0?(c[a+44>>2]|0)==0:0){a=-11;break}a=NO()|0;if(!a)a=-12;else{c[b>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=a;a=0}}else a=-541478725;while(0);return a|0}function NO(){var a=0;a=Of(72)|0;if(a|0)Af(a);return a|0}function OO(){var a=0,b=0;b=Ec;Ec=Ec+16|0;a=b;do if((PO(a,159734)|0)!=4)if((PO(a,159747)|0)==4){a=c[a>>2]|0;break}else{a=QO()|0;break}else a=c[a>>2]|0;while(0);Ec=b;return a|0}function PO(a,b){a=a|0;b=b|0;var c=0;c=Ec;Ec=Ec+16|0;b=XO(b,0,c)|0;if((b|0)==-1)b=-1;else{a=aU(b,a,4)|0;zT(b)|0;b=a}Ec=c;return b|0}function QO(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=Ec;Ec=Ec+160|0;a=l+120|0;h=l;i=l+132|0;k=181160;j=c[k>>2]|0;k=c[k+4>>2]|0;if((c[14732]|0)>>>0>=121){c[a>>2]=159759;c[a+4>>2]=159786;c[a+8>>2]=77;We(0,0,164054,a);Za()}e=(j|0)==0&(k|0)==0;a=0;b=0;d=0;a:while(1){f=bb()|0;g=f-a|0;do if(((b<<1|1)+a|0)<(f|0)){a=181160;a=hW(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;b=M()|0;m=181160;c[m>>2]=a;c[m+4>>2]=b;m=181928+((a&511)<<2)|0;c[m>>2]=(c[m>>2]|0)+(g>>>0<3294638521?g:g+1000328775|0);if((f-d|0)>31249){a=iW(a|0,b|0,j|0,k|0)|0;b=M()|0;if(e)if(b>>>0>0|(b|0)==0&a>>>0>64)break a;else break;else if(b>>>0>0|(b|0)==0&a>>>0>4)break a;else break}}else{m=181928+((c[45290]&511)<<2)|0;b=H(c[m>>2]|0,1664525)|0;c[m>>2]=(g>>>0<3294638521?g:g+1000328775|0)+1013904223+b}while(0);a=f;b=g;d=(d|0)==0?f:d}RO(h,160)|0;SO(h,181928,2048);TO(h,i);m=uW(c[i>>2]|0)|0;m=(uW(c[i+16>>2]|0)|0)+m|0;Ec=l;return m|0}function RO(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=d>>>5;switch(d|0){case 160:{c[b+80>>2]=1732584193;c[b+84>>2]=-271733879;c[b+88>>2]=-1732584194;c[b+92>>2]=271733878;c[b+96>>2]=-1009589776;d=209;e=5;break}case 224:{c[b+80>>2]=-1056596264;c[b+84>>2]=914150663;c[b+88>>2]=812702999;c[b+92>>2]=-150054599;c[b+96>>2]=-4191439;c[b+100>>2]=1750603025;c[b+104>>2]=1694076839;c[b+108>>2]=-1090891868;d=210;e=5;break}case 256:{c[b+80>>2]=1779033703;c[b+84>>2]=-1150833019;c[b+88>>2]=1013904242;c[b+92>>2]=-1521486534;c[b+96>>2]=1359893119;c[b+100>>2]=-1694144372;c[b+104>>2]=528734635;c[b+108>>2]=1541459225;d=210;e=5;break}default:d=-22}if((e|0)==5){c[b+112>>2]=d;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;d=0}return d|0}function SO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+8|0;k=i;f=c[k>>2]|0;k=hW(f|0,c[k+4>>2]|0,e|0,0)|0;j=M()|0;c[i>>2]=k;c[i+4>>2]=j;i=b+112|0;j=b+80|0;k=b+16|0;f=f&63;h=0;while(1){if((h|0)==(e|0))break;g=f+1|0;a[b+16+f>>0]=a[d+h>>0]|0;if((g|0)==64){Tc[c[i>>2]&255](j,k);f=0}else f=g;h=h+1|0}return}function TO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=Ec;Ec=Ec+16|0;f=h;g=b+8|0;k=g;k=sW(c[k>>2]|0,c[k+4>>2]|0,3)|0;k=UO(k,M()|0)|0;j=M()|0;i=f;c[i>>2]=k;c[i+4>>2]=j;SO(b,159810,1);while(1){if(0==0?(c[g>>2]&63|0)==56:0)break;SO(b,260868,1)}SO(b,f,8);f=0;while(1){if((f|0)>=(d[b>>0]|0|0))break;j=uW(c[b+80+(f<<2)>>2]|0)|0;k=e+(f<<2)|0;a[k>>0]=j;a[k+1>>0]=j>>8;a[k+2>>0]=j>>16;a[k+3>>0]=j>>24;f=f+1|0}Ec=h;return}function UO(a,b){a=a|0;b=b|0;a=uW(a|0)|0;b=uW(b|0)|0;L(a|0);return b|0}function VO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;E=Ec;Ec=Ec+256|0;w=E;x=c[a>>2]|0;y=a+4|0;z=c[y>>2]|0;A=a+8|0;B=c[A>>2]|0;C=a+12|0;D=c[C>>2]|0;o=a+16|0;p=c[o>>2]|0;q=a+20|0;r=c[q>>2]|0;s=a+24|0;t=c[s>>2]|0;u=a+28|0;v=c[u>>2]|0;e=0;f=r;g=p;h=D;i=B;j=z;k=x;l=v;m=t;while(1){if((e|0)==64)break;if(e>>>0<16){n=b+(e<<2)|0;n=uW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0}else{F=c[w+(e+-15<<2)>>2]|0;n=c[w+(e+-2<<2)>>2]|0;n=(c[w+(e+-7<<2)>>2]|0)+(c[w+(e+-16<<2)>>2]|0)+((F<<14|F>>>18)^F>>>3^(F<<25|F>>>7))+((n<<13|n>>>19)^n>>>10^(n<<15|n>>>17))|0}c[w+(e<<2)>>2]=n;J=((g<<26|g>>>6)^(g<<21|g>>>11)^(g<<7|g>>>25))+l+((m^f)&g^m)+n+(c[75256+(e<<2)>>2]|0)|0;I=m;H=k;G=j;n=i;F=g;e=e+1|0;g=J+h|0;k=((i|j)&k|i&j)+((k<<30|k>>>2)^(k<<19|k>>>13)^(k<<10|k>>>22))+J|0;m=f;l=I;j=H;i=G;h=n;f=F}c[a>>2]=x+k;c[y>>2]=z+j;c[A>>2]=B+i;c[C>>2]=D+h;c[o>>2]=p+g;c[q>>2]=r+f;c[s>>2]=t+m;c[u>>2]=v+l;Ec=E;return}function WO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=Ec;Ec=Ec+320|0;n=v;o=c[a>>2]|0;p=a+4|0;q=c[p>>2]|0;r=a+8|0;s=c[r>>2]|0;t=a+12|0;u=c[t>>2]|0;l=a+16|0;m=c[l>>2]|0;f=m;g=u;h=s;i=q;j=o;k=0;while(1){if((k|0)==80)break;if(k>>>0<16){e=b+(k<<2)|0;e=uW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0}else{e=c[n+(k+-8<<2)>>2]^c[n+(k+-3<<2)>>2]^c[n+(k+-14<<2)>>2]^c[n+(k+-16<<2)>>2];e=e<<1|e>>>31}c[n+(k<<2)>>2]=e;f=f+(j<<5|j>>>27)+e|0;do if(k>>>0<40)if(k>>>0<20){e=((g^h)&i^g)+1518500249|0;break}else{e=(h^i^g)+1859775393|0;break}else if(k>>>0<60){e=((h|i)&g|h&i)+-1894007588|0;break}else{e=(h^i^g)+-899497514|0;break}while(0);y=j;x=h;w=g;h=i<<30|i>>>2;j=f+e|0;k=k+1|0;i=y;g=x;f=w}c[a>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+g;c[l>>2]=m+f;Ec=v;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=Ec;Ec=Ec+48|0;h=i+16|0;g=i+8|0;f=i;e=i+24|0;c[e>>2]=d;if(!(b&64))e=0;else{j=(c[e>>2]|0)+(4-1)&~(4-1);d=c[j>>2]|0;c[e>>2]=j+4;e=d}c[f>>2]=e;e=BT(a,b|524288,f)|0;if((e|0)!=-1?(c[g>>2]=1,(AT(e,2,g)|0)==-1):0)We(0,48,159812,h);Ec=i;return e|0}function YO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=cf((MT(c[b>>2]|0)|0)+1|0)|0;f=c[b>>2]|0;if(!e)e=0;else{g=f+(tU(f,159841)|0)|0;k=e;f=e;a:while(1){b:while(1){h=a[g>>0]|0;if(!(h<<24>>24))break a;if(tU(g,d)|0)break a;i=g+1|0;switch(h<<24>>24){case 39:break b;case 92:{j=a[i>>0]|0;if(j<<24>>24){l=8;break b}break}default:{}}a[f>>0]=h;g=i;f=f+1|0}if((l|0)==8){l=0;i=f+1|0;a[f>>0]=j;g=g+2|0;k=i;f=i;continue}while(1){g=a[i>>0]|0;j=g<<24>>24==0;h=i+1|0;if(!(j^g<<24>>24!=39))break;a[f>>0]=g;i=h;f=f+1|0}g=j?i:h;k=j?k:f}do{a[f>>0]=0;f=f+-1|0;if(f>>>0<k>>>0)break}while((tU(f,159841)|0)!=0);c[b>>2]=g}return e|0}function ZO(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=b;while(1){d=_O(a[e>>0]|0)|0;b=_O(a[c>>0]|0)|0;d=d&255;if(!d){f=3;break}b=b&255;if((d|0)==(b|0)){e=e+1|0;c=c+1|0}else{c=d;break}}if((f|0)==3){c=0;b=b&255}return c-b|0}function _O(a){a=a|0;return ((a+-65|0)>>>0<26?a^32:a)|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=b+d|0;e=b;while(1){d=_O(a[e>>0]|0)|0;e=e+1|0;b=_O(a[c>>0]|0)|0;if(e>>>0>=f>>>0){g=3;break}d=d&255;b=b&255;if(!((d|0)!=0&(d|0)==(b|0)))break;else c=c+1|0}if((g|0)==3){b=b&255;d=d&255}return d-b|0}function aP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:do if((b|0)!=0&(c|0)!=0){g=MT(b)|0;while(1){d=a[c>>0]|0;if(!(d<<24>>24)){c=0;break a}f=d<<24>>24==45;d=NT(c,44)|0;if(!d)d=c+(MT(c)|0)|0;c=c+(f&1)|0;e=d-c|0;if(!($O(b,c,(e|0)>(g|0)?e:g)|0))break;if(!(_S(159846,c,(e|0)>3?e:3)|0))break;c=d+((a[d>>0]|0)==44&1)|0}c=(f^1)&1}else c=0;while(0);return c|0}function bP(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d<<24>>24;a:while(1){if(!b){b=0;break}if(!(a[b>>0]|0)){b=0;break}else h=c;while(1){if(!h)break;e=a[h>>0]|0;if(!(e<<24>>24))break;else g=0;while(1){f=a[b+g>>0]|0;j=f<<24>>24;k=e<<24>>24;if(f<<24>>24!=e<<24>>24?!((H(k,j)|0)==0&(k+j|0)==(i|0)):0)break;if(g|0?(f<<24>>24==0?1:f<<24>>24==d<<24>>24):0){b=1;break a}e=g+1|0;g=e;e=a[h+e>>0]|0}k=NT(h,i)|0;h=k+((k|0)!=0&1)|0}k=NT(b,i)|0;b=k+((k|0)!=0&1)|0}return b|0}function cP(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=e;c[b+12>>2]=e;a[d>>0]=0;return}function dP(a){a=a|0;if(!(c[(c[a>>2]|0)+20>>2]&1))a=(c[(c[a>>2]|0)+8>>2]|0)==1&1;else a=0;return a|0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;g=c[a>>2]|0;do if(g){f=g+8|0;if((c[f>>2]|0)==(b|0))d=0;else{if((c[(c[g>>2]|0)+20>>2]&2|0?dP(g)|0:0)?(e=g+4|0,d=c[e>>2]|0,(d|0)==(c[c[g>>2]>>2]|0)):0){d=bf(d,b)|0;if(!d){d=-12;break}c[e>>2]=d;h=c[g>>2]|0;c[h>>2]=d;c[f>>2]=b;c[h+4>>2]=b;d=0;break}c[h>>2]=0;eP(h,b)|0;d=c[h>>2]|0;if(!d)d=-12;else{f=c[f>>2]|0;wW(c[d+4>>2]|0,c[g+4>>2]|0,((f|0)<(b|0)?f:b)|0)|0;Ef(a,h);d=0}}}else{d=bf(0,b)|0;c[h>>2]=d;do if(d){d=ng(d,b,24,0,0)|0;if(!d){Se(h);d=-12;break}else{h=(c[d>>2]|0)+20|0;c[h>>2]=c[h>>2]|2;c[a>>2]=d;d=0;break}}else d=-12;while(0)}while(0);Ec=i;return d|0}function fP(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b+(MT(b)|0)|0;g=0;c=0;while(1){if(b>>>0<h>>>0)d=b;else{b=g;break}a:while(1){if(d>>>0>=h>>>0)break;switch(a[d>>0]|0){case 124:case 43:break a;default:{}}d=d+1|0}e=gP(b,d-b|0)|0;f=M()|0;if((e|0)==0&(f|0)==0){c=0;b=0;break}b=d+1|0;g=e|g;c=f|c}L(c|0);return b|0}function gP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+16|0;j=k;f=0;while(1){if(f>>>0>=28){e=0;i=7;break}e=c[37792+(f<<4)>>2]|0;if((MT(e)|0)==(d|0)?(ZS(e,b,d)|0)==0:0){i=5;break}f=f+1|0}do if((i|0)==5){e=37792+(f<<4)+8|0;f=c[e+4>>2]|0;e=c[e>>2]|0}else if((i|0)==7){while(1){i=0;if(e>>>0>=36)break;if(((e+-18|0)>>>0>10?(g=c[75512+(e<<3)>>2]|0,(MT(g)|0)==(d|0)):0)?(ZS(g,b,d)|0)==0:0){i=11;break}e=e+1|0;i=7}if((i|0)==11){e=sW(1,0,e|0)|0;f=M()|0;break}c[(ES()|0)>>2]=0;e=PS(b,j,10)|0;if(((c[(ES()|0)>>2]|0)==0?(h=c[j>>2]|0,(h+1-b|0)==(d|0)):0)?(a[h>>0]|0)==99:0){e=hP(e)|0;f=M()|0;break}c[(ES()|0)>>2]=0;g=NS(b,j,0)|0;e=M()|0;if(!(c[(ES()|0)>>2]|0)){j=((e|0)>0|(e|0)==0&g>>>0>0)&((c[j>>2]|0)-b|0)==(d|0);f=j?e:0;e=j?g:0}else{f=0;e=0}}while(0);L(f|0);Ec=k;return e|0}function hP(a){a=a|0;var b=0,d=0;b=0;while(1){if(b>>>0>=28){b=0;a=0;break}if((c[37792+(b<<4)+4>>2]|0)==(a|0)){d=4;break}b=b+1|0}if((d|0)==4){a=37792+(b<<4)+8|0;b=c[a+4>>2]|0;a=c[a>>2]|0}L(b|0);return a|0}function iP(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=Ec;Ec=Ec+48|0;k=n+40|0;m=n+32|0;l=n+24|0;j=n+16|0;i=n+8|0;h=n;if((b|0)<1)b=Xg(d,e)|0;f=0;while(1){if(f>>>0>=28){g=9;break}if((b|0)==(c[37792+(f<<4)+4>>2]|0)?(g=37792+(f<<4)+8|0,(c[g>>2]|0)==(d|0)?(c[g+4>>2]|0)==(e|0):0):0){g=7;break}f=f+1|0}if((g|0)==7){c[h>>2]=c[37792+(f<<4)>>2];ff(a,160508,h)}else if((g|0)==9?(c[i>>2]=b,ff(a,160511,i),!((d|0)==0&(e|0)==0)):0){ff(a,160523,j);b=0;g=0;while(1){if((g|0)==64)break;j=sW(1,0,g|0)|0;if(!((j&d|0)==0&((M()|0)&e|0)==0)){f=jP(g)|0;if(f|0){if((b|0)>0)ff(a,160526,l);c[m>>2]=f;ff(a,160508,m)}b=b+1|0}g=g+1|0}ff(a,160528,k)}Ec=n;return}function jP(a){a=a|0;if(a>>>0>35)a=0;else a=c[75512+(a<<3)>>2]|0;return a|0}function kP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Ec;Ec=Ec+1024|0;g=f;cP(g,a,b);iP(g,c,d,e);Ec=f;return}function lP(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,J=0,K=0;K=Ec;Ec=Ec+1072|0;J=K+792|0;H=K+784|0;F=K+528|0;j=K+1060|0;k=K+1056|0;D=K+520|0;E=K+512|0;B=K;C=K+800|0;c[F>>2]=j;c[F+4>>2]=k;c[F+8>>2]=K+1064;if(!((fU(f,160530,F)|0)==2?(i=c[j>>2]|0,i=mP(b,e,h,1.0,c[k>>2]|0,i,((i|0)<0)<<31>>31)|0,(i|0)>-1):0)){v=e+12|0;w=e+44|0;x=e+16|0;y=e+32|0;z=e+24|0;A=e+16|0;i=0;while(1){s=E;c[s>>2]=1;c[s+4>>2]=0;if(!(c[v>>2]|0)){j=a[f>>0]|0;switch(j<<24>>24){case 45:case 43:{l=j<<24>>24;j=f+1|0;break}default:{l=0;j=f}}f=0;a:while(1){if(f>>>0>=255)break;k=a[j+f>>0]|0;switch(k<<24>>24){case 45:case 43:case 0:break a;default:{}}a[F+f>>0]=k;f=f+1|0}a[F+f>>0]=0;r=f}else{l=0;r=0;j=f}q=(r|0)!=0;p=q?F:j;k=nP(d,p,c[w>>2]|0,0,0)|0;if((k|0)!=0?(c[k+12>>2]|0)==10:0){s=k+16|0;g[D>>3]=+((c[s>>2]|0)>>>0)+4294967296.0*+(c[s+4>>2]|0);s=30}else s=15;do if((s|0)==15){s=0;o=c[w>>2]|0;b:do if(!o){k=0;s=24}else{k=0;f=0;while(1){while(1){f=Ff(d,f)|0;if(!f){s=24;break b}if((c[f+12>>2]|0)!=10)continue;n=c[f+44>>2]|0;if(!n)continue;if(!(YS(n,o)|0))break}if((k+6|0)>>>0>63)break;c[C+(k<<2)>>2]=c[f>>2];n=f+16|0;g[B+(k<<3)>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);k=k+1|0}c[H>>2]=o;We(b,16,160544,H);i=-1163346256}while(0);if((s|0)==24){s=0;c[C+(k<<2)>>2]=171854;switch(c[v>>2]|0){case 1:case 0:case 10:case 9:case 2:{o=A;m=+((c[o>>2]|0)>>>0)+4294967296.0*+(c[o+4>>2]|0);break}default:m=+g[x>>3]}n=k+1|0;g[B+(k<<3)>>3]=m;c[C+(n<<2)>>2]=160844;o=k+2|0;g[B+(n<<3)>>3]=+g[y>>3];c[C+(o<<2)>>2]=160848;n=k+3|0;g[B+(o<<3)>>3]=+g[z>>3];c[C+(n<<2)>>2]=171832;o=k+4|0;g[B+(n<<3)>>3]=0.0;c[C+(o<<2)>>2]=172048;k=k+5|0;g[B+(o<<3)>>3]=-1.0;c[C+(k<<2)>>2]=0;g[B+(k<<3)>>3]=0.0;k=oP(D,p,C,B,0,0,0,0,0,0,b)|0;if((k|0)>=0){s=30;break}c[J>>2]=j;We(b,16,160581,J);i=k}f=1}while(0);if((s|0)==30){c:do if(!(c[v>>2]|0)){pP(e,h,0,0,E)|0;switch(l|0){case 43:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]|~~m>>>0)>>>0)+4294967296.0*+(c[s+4>>2]|(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}case 45:{s=E;m=+g[D>>3];g[D>>3]=+((c[s>>2]&~(~~m>>>0))>>>0)+4294967296.0*+(c[s+4>>2]&~(+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);break c}default:break c}}while(0);k=mP(b,e,h,+g[D>>3],1,1,0)|0;if((k|0)>=0){j=j+r|0;if(q){s=(a[j>>0]|0)==0;f=s&1;i=s?0:i}else{f=1;i=0}}else{f=1;i=k}}if(!f)f=j;else break}}Ec=K;return i|0}function mP(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,t=0,u=0;u=Ec;Ec=Ec+64|0;k=u+40|0;q=u+8|0;p=u;l=c[b+12>>2]|0;a:do if(!l){m=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);if(!(m<-1.5|m>4294967295.5)?(q=ZT(m*256.0)|0,M()|0,(q&255|0)==0&0==0):0){t=14;break}d=c[b>>2]|0;g[k>>3]=m;c[k+8>>2]=d;We(a,16,161099,k);k=-34}else{if(!h){n=e!=0.0&((i|0)!=0|(j|0)!=0)?s:r;m=+g[b+32>>3]}else{m=+g[b+32>>3];n=+(h|0);o=(+(i>>>0)+4294967296.0*+(j|0))*e;if(!(m*n<o)?!(+g[b+24>>3]*n>o):0)switch(l|0){case 1:case 18:{t=14;break a}case 12:{k=nW(ZT(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 13:{k=nW(ZT(e/+(h|0))|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0;break a}case 6:case 14:{m=(+(i>>>0)+4294967296.0*+(j|0))*e;if(+(~~e|0)==e){c[d>>2]=~~m;c[d+4>>2]=h;k=0;break a}else{MP(p,m/+(h|0),16777216);i=p;j=c[i+4>>2]|0;k=d;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=0;break a}}case 2:case 17:case 15:{m=e/+(h|0);if((i|0)==1&(j|0)==0&m==9223372036854775808.0){k=-1;l=2147483647}else{k=ZT(m)|0;k=nW(k|0,M()|0,i|0,j|0)|0;l=M()|0}c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 9:{m=e/+(h|0);do if(!((i|0)==1&(j|0)==0&m==18446744073709551616.0))if(m>9223372036854775808.0){k=ZT(m+-9223372036854775808.0)|0;k=nW(k|0,(M()|0)^-2147483648|0,i|0,j|0)|0;l=M()|0;break}else{k=ZT(m)|0;k=nW(k|0,M()|0,i|0,j|0)|0;l=M()|0;break}else{k=-1;l=-1}while(0);c[d>>2]=k;c[d+4>>2]=l;k=0;break a}case 4:{f[d>>2]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}case 3:{g[d>>3]=(+(i>>>0)+4294967296.0*+(j|0))*e/+(h|0);k=0;break a}default:{k=-22;break a}}n=o/n}k=c[b>>2]|0;e=+g[b+24>>3];g[q>>3]=n;c[q+8>>2]=k;g[q+16>>3]=e;g[q+24>>3]=m;We(a,16,161047,q);k=-34}while(0);if((t|0)==14){k=ZT(e/+(h|0))|0;k=nW(k|0,M()|0,i|0,j|0)|0;M()|0;c[d>>2]=k;k=0}Ec=u;return k|0}function nP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return JP(a,b,c,d,e,0)|0}function oP(a,b,d,e,f,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=Ec;Ec=Ec+16|0;n=o;c[n>>2]=0;b=qP(n,b,d,f,h,i,j,l,m)|0;if((b|0)<0)g[a>>3]=r;else{b=c[n>>2]|0;g[a>>3]=+rP(b,e,k);sP(b);b=tP(+g[a>>3])|0;k=(M()|0)&2147483647;b=k>>>0>2146435072|(k|0)==2146435072&b>>>0>0?-22:0}Ec=o;return b|0}function pP(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;switch(c[a+12>>2]|0){case 0:{a=h;c[a>>2]=c[b>>2];c[a+4>>2]=0;a=0;break}case 12:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 13:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 1:case 18:{e=c[b>>2]|0;a=h;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;a=0;break}case 9:case 2:case 15:case 17:{d=b;e=c[d+4>>2]|0;a=h;c[a>>2]=c[d>>2];c[a+4>>2]=e;a=0;break}case 4:{g[d>>3]=+f[b>>2];a=0;break}case 3:{g[d>>3]=+g[b>>3];a=0;break}case 6:{d=c[b>>2]|0;a=h;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[e>>2]=c[b+4>>2];a=0;break}case 10:{g[d>>3]=+g[a+16>>3];a=0;break}default:a=-22}return a|0}function qP(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+64|0;q=s;p=s+12|0;r=s+8|0;l=p;m=l+52|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[r>>2]=0;o=cf((MT(d)|0)+1|0)|0;if(!o)l=-12;else{n=o;l=d;a:while(1){do{m=a[l>>0]|0;if(!(m<<24>>24))break a;l=l+1|0}while((vP(m<<24>>24)|0)!=0);a[n>>0]=m;n=n+1|0}a[n>>0]=0;c[p>>2]=75800;c[p+4>>2]=100;m=p+8|0;c[m>>2]=o;c[p+16>>2]=e;c[p+20>>2]=g;c[p+24>>2]=f;c[p+28>>2]=i;c[p+32>>2]=h;c[p+40>>2]=j;c[p+44>>2]=k;l=wP(r,p)|0;do if((l|0)>=0){m=c[m>>2]|0;if(a[m>>0]|0){c[q>>2]=m;c[q+4>>2]=d;We(p,16,160620,q);l=-22;break}m=c[r>>2]|0;if(xP(m)|0){q=Of(80)|0;c[m+32>>2]=q;if(!q)l=-12;else{c[b>>2]=m;c[r>>2]=0}}else l=-22}while(0);sP(c[r>>2]|0);Te(o)}Ec=s;return l|0}function rP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;g=Ec;Ec=Ec+64|0;e=g;f=e;h=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+48>>2]=c[a+32>>2];c[e+12>>2]=b;c[e+36>>2]=d;i=+uP(e,a);Ec=g;return +i}function sP(a){a=a|0;var b=0,d=0;d=Ec;Ec=Ec+16|0;b=d;c[b>>2]=a;if(a|0){sP(c[a+20>>2]|0);sP(c[a+24>>2]|0);sP(c[a+28>>2]|0);Se(a+32|0);Se(b)}Ec=d;return}function tP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function uP(a,b){a=a|0;b=b|0;var e=0.0,f=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;q=Ec;Ec=Ec+16|0;i=q;a:do switch(c[b>>2]|0){case 0:{e=+g[b+8>>3];break}case 1:{e=+g[b+8>>3]*+g[(c[a+12>>2]|0)+(c[b+16>>2]<<3)>>3];break}case 2:{o=+g[b+8>>3];m=c[b+16>>2]|0;p=+uP(a,c[b+20>>2]|0);p=o*+Hc[m&15](p);Ec=q;return +p}case 3:{o=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;p=+uP(a,c[b+20>>2]|0);p=o*+Ic[l&0](m,p);Ec=q;return +p}case 4:{n=+g[b+8>>3];l=c[b+16>>2]|0;m=c[a+36>>2]|0;o=+uP(a,c[b+20>>2]|0);p=+uP(a,c[b+24>>2]|0);p=n*+Jc[l&0](m,o,p);Ec=q;return +p}case 5:{p=1.0/(+E(+(+uP(a,c[b+20>>2]|0)*4.0))+1.0);Ec=q;return +p}case 6:{p=+uP(a,c[b+20>>2]|0);p=+E(+(p*p*-.5))/2.5066282746310002;Ec=q;return +p}case 7:{p=+g[b+8>>3];m=c[a+48>>2]|0;a=~~+uP(a,c[b+20>>2]|0);Ec=q;return +(p*+g[m+(((a|0)>0?((a|0)<9?a:9):0)<<3)>>3])}case 8:{p=+g[b+8>>3];a=tP(+uP(a,c[b+20>>2]|0))|0;b=(M()|0)&2147483647;Ec=q;return +(p*+((b>>>0>2146435072|(b|0)==2146435072&a>>>0>0)&1))}case 9:{p=+g[b+8>>3]*+((tP(+uP(a,c[b+20>>2]|0))|0)==0&((M()|0)&2147483647|0)==2146435072&1);Ec=q;return +p}case 27:{p=+g[b+8>>3]*+t(+(+uP(a,c[b+20>>2]|0)));Ec=q;return +p}case 28:{p=+g[b+8>>3]*+G(+(+uP(a,c[b+20>>2]|0)));Ec=q;return +p}case 29:{p=+g[b+8>>3]*+rb(+(+uP(a,c[b+20>>2]|0)));Ec=q;return +p}case 30:{p=+g[b+8>>3]*+vW(+(+uP(a,c[b+20>>2]|0)));Ec=q;return +p}case 31:{p=+g[b+8>>3]*+v(+(+uP(a,c[b+20>>2]|0)));Ec=q;return +p}case 32:{p=+g[b+8>>3]*+(+uP(a,c[b+20>>2]|0)==0.0&1);Ec=q;return +p}case 36:{h=+g[b+8>>3];if(!(+uP(a,c[b+20>>2]|0)!=0.0)){f=c[b+28>>2]|0;if(!f)e=0.0;else m=22}else{f=c[b+24>>2]|0;m=22}if((m|0)==22)e=+uP(a,f);e=h*e;break}case 37:{h=+g[b+8>>3];if(+uP(a,c[b+20>>2]|0)!=0.0){f=c[b+28>>2]|0;if(!f)e=0.0;else m=27}else{f=c[b+24>>2]|0;m=27}if((m|0)==27)e=+uP(a,f);e=h*e;break}case 42:{f=b+20|0;e=+uP(a,c[f>>2]|0);h=+uP(a,c[b+24>>2]|0);j=+uP(a,c[b+28>>2]|0);m=tP(h)|0;l=(M()|0)&2147483647;if((!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)?(m=tP(j)|0,l=(M()|0)&2147483647,!(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0)):0)?(m=tP(e)|0,l=(M()|0)&2147483647,!(h>j|(l>>>0>2146435072|(l|0)==2146435072&m>>>0>0))):0){o=+g[b+8>>3];p=+uP(a,c[f>>2]|0);Ec=q;return +(o*(p<h?h:p>j?j:p))}else e=r;break}case 41:{e=+uP(a,c[b+20>>2]|0);h=+g[b+8>>3];if(!(e>=+uP(a,c[b+24>>2]|0)))e=0.0;else e=+(e<=+uP(a,c[b+28>>2]|0)&1);e=h*e;break}case 44:{p=+uP(a,c[b+20>>2]|0);p=p+(+uP(a,c[b+24>>2]|0)-p)*+uP(a,c[b+28>>2]|0);Ec=q;return +p}case 38:{e=+uP(a,c[b+20>>2]|0);f=c[b+24>>2]|0;if(!f)f=32;else f=~~+uP(a,f);g[i>>3]=e;We(a,f,160616,i);break}case 33:{m=~~+uP(a,c[b+20>>2]|0);a=(c[a+48>>2]|0)+(((m|0)>0?((m|0)<9?m:9):0)<<3)|0;p=+g[a>>3];m=tP(p)|0;l=(M()|0)&2147483647;p=+((hW(nW(~~p>>>0|0,(+u(p)>=1.0?(p>0.0?~~+I(+t(p/4294967296.0),4294967295.0)>>>0:~~+G((p-+(~~p>>>0))/4294967296.0)>>>0):0)|0,1664525,0)|0,M()|0,1013904223,0)|0)>>>0)+4294967296.0*+((M()|0)>>>0);p=l>>>0>2146435072|(l|0)==2146435072&m>>>0>0?1013904223.0:p;g[a>>3]=p;Ec=q;return +(+g[b+8>>3]*(p*5.421010862427522e-20))}case 24:{i=b+20|0;f=b+24|0;e=r;while(1){if(!(+uP(a,c[i>>2]|0)!=0.0))break a;e=+uP(a,c[f>>2]|0)}}case 25:{k=+uP(a,c[b+24>>2]|0);f=c[b+28>>2]|0;if(!f)m=0;else{m=~~+uP(a,f);m=(m|0)>0?((m|0)<9?m:9):0}l=a+48|0;n=+g[(c[l>>2]|0)+(m<<3)>>3];i=b+20|0;h=1.0;e=0.0;f=0;while(1){if((f|0)>=1e3)break;g[(c[l>>2]|0)+(m<<3)>>3]=+(f|0);p=+uP(a,c[i>>2]|0);j=e+h*p;if(p!=0.0&e==j){e=j;break}b=f+1|0;h=h*(k/+(b|0));e=j;f=b}g[(c[l>>2]|0)+(m<<3)>>3]=n;break}case 26:{l=a+48|0;p=+g[c[l>>2]>>3];o=+uP(a,c[b+24>>2]|0);i=b+20|0;k=1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;h=-1.0;e=-1.0;f=-1;while(1){if((f|0)>=1024)break;if((f|0)<255)g[c[l>>2]>>3]=o*+(d[120699+(f&255)>>0]|0)/255.0;else{n=o*+w(.9,+(+(f+-255|0)));g[c[l>>2]>>3]=(f&2|0?e:h)+((f&1|0)==0?n:-n)}n=+uP(a,c[i>>2]|0);if(n<=0.0&n>j){j=n;e=+g[c[l>>2]>>3]}if(n>=0.0&n<k){k=n;h=+g[c[l>>2]>>3]}if(e>=0.0&h>=0.0){f=0;m=60;break}else f=f+1|0}b:do if((m|0)==60)while(1){if((f|0)>=1e3)break b;o=(e+h)*.5;g[c[l>>2]>>3]=o;if(e==o|h==o)break b;n=+uP(a,c[i>>2]|0);if(n<=0.0)e=+g[c[l>>2]>>3];if(n>=0.0)h=+g[c[l>>2]>>3];b=tP(n)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&b>>>0>0){h=n;e=n;break}else{f=f+1|0;m=60}}while(0);g[c[l>>2]>>3]=p;e=k>-j?e:h;break}default:{e=+uP(a,c[b+20>>2]|0);h=+uP(a,c[b+24>>2]|0);do switch(c[b>>2]|0){case 10:{e=(e-h*+t(+(e/h)))*+g[b+8>>3];break a}case 35:{e=+g[b+8>>3]*(+((OL(~~e>>>0,+u(e)>=1.0?(e>0.0?~~+I(+t(e/4294967296.0),4294967295.0)>>>0:~~+G((e-+(~~e>>>0))/4294967296.0)>>>0):0,~~h>>>0,+u(h)>=1.0?(h>0.0?~~+I(+t(h/4294967296.0),4294967295.0)>>>0:~~+G((h-+(~~h>>>0))/4294967296.0)>>>0):0)|0)>>>0)+4294967296.0*+(M()|0));break a}case 11:{e=(e>h?e:h)*+g[b+8>>3];break a}case 12:{e=(e<h?e:h)*+g[b+8>>3];break a}case 13:{e=(e==h?1.0:0.0)*+g[b+8>>3];break a}case 14:{e=(e>h?1.0:0.0)*+g[b+8>>3];break a}case 15:{e=(e>=h?1.0:0.0)*+g[b+8>>3];break a}case 17:{e=(e<h?1.0:0.0)*+g[b+8>>3];break a}case 16:{e=(e<=h?1.0:0.0)*+g[b+8>>3];break a}case 18:{e=+w(+e,+h)*+g[b+8>>3];break a}case 19:{e=e*h*+g[b+8>>3];break a}case 20:{e=e/h*+g[b+8>>3];break a}case 21:{e=(e+h)*+g[b+8>>3];break a}case 22:{e=h*+g[b+8>>3];break a}case 23:{p=+g[b+8>>3];b=~~e;g[(c[a+48>>2]|0)+(((b|0)>0?((b|0)<9?b:9):0)<<3)>>3]=h;e=h*p;break a}case 34:{e=+g[b+8>>3]*+QS(e,h);break a}case 43:{e=+g[b+8>>3]*+D(+e,+h);break a}case 39:{a=tP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=tP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h&~~e|0);break a}case 40:{a=tP(e)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}a=tP(h)|0;m=(M()|0)&2147483647;if(m>>>0>2146435072|(m|0)==2146435072&a>>>0>0){e=r;break a}e=+g[b+8>>3]*+(~~h|~~e|0);break a}default:{e=r;break a}}while(0)}}while(0);Ec=q;return +e}function vP(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function 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;l=Ec;Ec=Ec+16|0;j=l+4|0;i=l;k=d+4|0;e=c[k>>2]|0;do if((e|0)>=1){c[k>>2]=e+-1;e=yP(j,d)|0;if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;while(1){e=c[f>>2]|0;if((a[e>>0]|0)!=59){f=9;break}c[f>>2]=e+1;e=yP(i,d)|0;if((e|0)<0){f=6;break}g=c[i>>2]|0;e=zP(22,h,g)|0;if(!e){f=8;break}else h=e}if((f|0)==6){c[j>>2]=h;sP(h);break}else if((f|0)==8){c[j>>2]=0;sP(h);sP(g);e=-12;break}else if((f|0)==9){c[j>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[b>>2]=h;e=0;break}}}else e=-22;while(0);Ec=l;return e|0}function xP(a){a=a|0;a:do if(!a)a=0;else switch(c[a>>2]|0){case 1:case 0:{a=1;break a}case 33:case 32:case 31:case 30:case 29:case 28:case 27:case 9:case 8:case 6:case 7:case 5:case 3:case 2:{if(!(xP(c[a+20>>2]|0)|0)){a=0;break a}a=(c[a+24>>2]|0)==0;break a}case 38:{if(!(xP(c[a+20>>2]|0)|0)){a=0;break a}a=c[a+24>>2]|0;if(!a){a=1;break a}a=(xP(a)|0)!=0;break a}case 25:case 37:case 36:{if(!(xP(c[a+20>>2]|0)|0)){a=0;break a}if(!(xP(c[a+24>>2]|0)|0)){a=0;break a}a=c[a+28>>2]|0;if(!a){a=1;break a}a=(xP(a)|0)!=0;break a}case 44:case 42:case 41:{if(!(xP(c[a+20>>2]|0)|0)){a=0;break a}if(!(xP(c[a+24>>2]|0)|0)){a=0;break a}a=(xP(c[a+28>>2]|0)|0)!=0;break a}default:{if(!(xP(c[a+20>>2]|0)|0)){a=0;break a}if(!(xP(c[a+24>>2]|0)|0)){a=0;break a}a=(c[a+28>>2]|0)==0;break a}}while(0);return a&1|0}function yP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+16|0;j=k+4|0;i=k;e=AP(j,d)|0;do if((e|0)>=0){f=d+8|0;h=c[j>>2]|0;a:while(1){switch(a[c[f>>2]>>0]|0){case 43:case 45:break;default:{f=8;break a}}e=AP(i,d)|0;if((e|0)<0){f=5;break}g=c[i>>2]|0;e=zP(21,h,g)|0;if(!e){f=7;break}else h=e}if((f|0)==5){c[j>>2]=h;sP(h);break}else if((f|0)==7){c[j>>2]=0;sP(h);sP(g);e=-12;break}else if((f|0)==8){c[j>>2]=h;c[b>>2]=h;e=0;break}}while(0);Ec=k;return e|0}function zP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Of(40)|0;if(!e)e=0;else{c[e>>2]=a;g[e+8>>3]=1.0;c[e+20>>2]=b;c[e+24>>2]=d}return e|0}function 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;l=Ec;Ec=Ec+16|0;k=l+4|0;j=l;e=BP(k,d)|0;do if((e|0)>=0){h=d+8|0;i=c[k>>2]|0;a:while(1){e=c[h>>2]|0;switch(a[e>>0]|0){case 47:case 42:break;default:{f=8;break a}}c[h>>2]=e+1;f=a[e>>0]|0;e=BP(j,d)|0;if((e|0)<0){f=5;break}g=c[j>>2]|0;e=zP(f<<24>>24==42?19:20,i,g)|0;if(!e){f=7;break}else i=e}if((f|0)==5){c[k>>2]=i;sP(i);break}else if((f|0)==7){c[k>>2]=0;sP(i);sP(g);e=-12;break}else if((f|0)==8){c[k>>2]=i;c[b>>2]=i;e=0;break}}while(0);Ec=l;return e|0}function BP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ec;Ec=Ec+16|0;l=n+12|0;j=n+8|0;k=n+4|0;m=n;e=CP(k,d,l)|0;do if((e|0)>=0){i=d+8|0;h=c[k>>2]|0;while(1){e=c[i>>2]|0;if((a[e>>0]|0)!=94){f=10;break}c[i>>2]=e+1;e=CP(m,d,j)|0;if((e|0)<0){f=5;break}f=zP(18,h,c[m>>2]|0)|0;c[k>>2]=f;if(!f){f=7;break}e=c[f+24>>2]|0;if(!e){h=f;continue}h=e+8|0;g[h>>3]=+g[h>>3]*+(c[j>>2]|1|0);h=f}if((f|0)==5){sP(h);break}else if((f|0)==7){sP(h);sP(c[m>>2]|0);e=-12;break}else if((f|0)==10){if(h|0){m=h+8|0;g[m>>3]=+g[m>>3]*+(c[l>>2]|1|0)}c[b>>2]=h;e=0;break}}while(0);Ec=n;return e|0}function CP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;f=j;g=d+8|0;h=c[g>>2]|0;do if((a[h>>0]|0)==45){+vU(h,f);h=c[f>>2]|0;if(((h|0)!=(c[g>>2]|0)?(a[h>>0]|0)==100:0)?(a[h+1>>0]|0)==66:0){c[e>>2]=0;b=DP(b,d)|0;break}i=7}else i=7;while(0);if((i|0)==7)b=EP(b,d,e)|0;Ec=j;return b|0}function DP(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Ec;Ec=Ec+48|0;s=v+24|0;p=v+16|0;o=v+8|0;n=v;u=v+32|0;q=v+28|0;m=Of(40)|0;c[u>>2]=m;r=d+8|0;t=c[r>>2]|0;c[q>>2]=t;a:do if(!m)e=-12;else{j=m+8|0;g[j>>3]=+FP(t,q);l=c[q>>2]|0;i=m;if((l|0)!=(c[r>>2]|0)){c[m>>2]=0;c[r>>2]=l;c[b>>2]=i;e=0;break}g[j>>3]=1.0;f=c[d+16>>2]|0;b:do if(!f)e=0;else{e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=0;break b}if(GP(l,h)|0)break;e=e+1|0}c[r>>2]=l+(MT(h)|0);c[m>>2]=1;c[m+16>>2]=e;c[b>>2]=i;e=0;break a}while(0);while(1){if(e>>>0>=4)break;f=c[38240+(e<<4)>>2]|0;if(GP(l,f)|0){k=11;break}e=e+1|0}if((k|0)==11){c[r>>2]=l+(MT(f)|0);c[m>>2]=0;g[j>>3]=+g[38240+(e<<4)+8>>3];c[b>>2]=i;e=0;break}e=NT(l,40)|0;c[r>>2]=e;if(!e){c[n>>2]=t;We(d,16,160670,n);c[r>>2]=c[q>>2];sP(c[u>>2]|0);e=-22;break}c[r>>2]=e+1;if((a[l>>0]|0)==40){Se(u);e=wP(u,d)|0;if((e|0)<0)break;e=c[r>>2]|0;if((a[e>>0]|0)==41){c[r>>2]=e+1;c[b>>2]=c[u>>2];e=0;break}else{c[o>>2]=t;We(d,16,160713,o);sP(c[u>>2]|0);e=-22;break}}e=wP(m+20|0,d)|0;if((e|0)<0){sP(c[u>>2]|0);break}f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;wP((c[u>>2]|0)+24|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0;if(e<<24>>24==44){c[r>>2]=f+1;wP((c[u>>2]|0)+28|0,d)|0;f=c[r>>2]|0;e=a[f>>0]|0}}if(e<<24>>24!=41){c[p>>2]=t;We(d,16,160734,p);sP(c[u>>2]|0);e=-22;break}c[r>>2]=f+1;k=c[u>>2]|0;c[k>>2]=2;i=c[q>>2]|0;j=k;do if(!(GP(i,160772)|0)){if(GP(i,160777)|0){c[k+16>>2]=2;break}if(GP(i,160782)|0){c[k+16>>2]=3;break}if(GP(i,160787)|0){c[k+16>>2]=4;break}if(GP(i,160791)|0){c[k+16>>2]=5;break}if(GP(i,160795)|0){c[k+16>>2]=6;break}if(GP(i,160799)|0){c[k+16>>2]=7;break}if(GP(i,160804)|0){c[k+16>>2]=8;break}if(GP(i,160809)|0){c[k+16>>2]=9;break}if(GP(i,160814)|0){c[k+16>>2]=10;break}if(GP(i,173284)|0){c[k+16>>2]=11;break}if(GP(i,160818)|0){c[k+16>>2]=12;break}if(GP(i,160822)|0){c[k+16>>2]=13;break}if(GP(i,160827)|0){c[k>>2]=5;break}if(GP(i,160834)|0){c[k>>2]=6;break}if(GP(i,160840)|0){c[k>>2]=10;break}if(GP(i,160844)|0){c[k>>2]=11;break}if(GP(i,160848)|0){c[k>>2]=12;break}if(GP(i,160852)|0){c[k>>2]=13;break}if(GP(i,160855)|0){c[k>>2]=15;break}if(GP(i,160859)|0){c[k>>2]=14;break}if(GP(i,160862)|0){c[k>>2]=16;break}if(GP(i,160866)|0){c[k>>2]=17;break}if(GP(i,160869)|0){c[k>>2]=7;break}if(GP(i,160872)|0){c[k>>2]=8;break}if(GP(i,160878)|0){c[k>>2]=9;break}if(GP(i,160884)|0){c[k>>2]=23;break}if(GP(i,160887)|0){c[k>>2]=24;break}if(GP(i,160893)|0){c[k>>2]=25;break}if(GP(i,160900)|0){c[k>>2]=26;break}if(GP(i,160905)|0){c[k>>2]=27;break}if(GP(i,160911)|0){c[k>>2]=28;break}if(GP(i,166990)|0){c[k>>2]=29;break}if(GP(i,160916)|0){c[k>>2]=30;break}if(GP(i,160922)|0){c[k>>2]=31;break}if(GP(i,160927)|0){c[k>>2]=32;break}if(GP(i,160931)|0){c[k>>2]=18;break}if(GP(i,160935)|0){c[k>>2]=38;break}if(GP(i,161398)|0){c[k>>2]=33;break}if(GP(i,160941)|0){c[k>>2]=34;break}if(GP(i,160947)|0){c[k>>2]=35;break}if(GP(i,160951)|0){c[k>>2]=36;break}if(GP(i,160954)|0){c[k>>2]=37;break}if(GP(i,160960)|0){c[k>>2]=39;break}if(GP(i,160967)|0){c[k>>2]=40;break}if(GP(i,160973)|0){c[k>>2]=41;break}if(GP(i,160981)|0){c[k>>2]=42;break}if(GP(i,160986)|0){c[k>>2]=43;break}if(GP(i,160992)|0){c[k>>2]=44;break}f=c[d+24>>2]|0;c:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break c;if(GP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+20>>2]|0)+(e<<2)>>2];c[k>>2]=3;c[b>>2]=j;e=0;break a}while(0);f=c[d+32>>2]|0;d:do if(f|0){e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h)break d;if(GP(i,h)|0)break;e=e+1|0}c[k+16>>2]=c[(c[d+28>>2]|0)+(e<<2)>>2];c[k>>2]=4;c[b>>2]=j;e=0;break a}while(0);c[s>>2]=t;We(d,16,160997,s);sP(c[u>>2]|0);e=-22;break a}else c[k+16>>2]=1;while(0);c[b>>2]=j;e=0}while(0);Ec=v;return e|0}function EP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=d+8|0;h=c[f>>2]|0;g=a[h>>0]|0;g=(g<<24>>24==43&1)-(g<<24>>24==45&1)|0;c[e>>2]=g;c[f>>2]=h+(g&1);return DP(b,d)|0}function FP(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+16|0;k=l;if((a[b>>0]|0)==48?(a[b+1>>0]|32|0)==120:0)f=+((OS(b,k,16)|0)>>>0);else f=+vU(b,k);i=c[k>>2]|0;e=i;if((i|0)!=(b|0)){b=a[i>>0]|0;if(b<<24>>24==100)if((a[i+1>>0]|0)==66){f=+YT(f/20.0*3.321928094887362);b=i+2|0;c[k>>2]=b;e=b;j=14}else j=10;else if((b+-69&255)<54)j=10;else{h=b;b=i}do if((j|0)==10){b=(b<<24>>24)+-69|0;if(a[38304+(b*24|0)+16>>0]|0){h=i+1|0;if((a[h>>0]|0)==105){f=f*+g[38304+(b*24|0)>>3];b=i+2|0;c[k>>2]=b;e=b;j=14;break}else{f=f*+g[38304+(b*24|0)+8>>3];c[k>>2]=h;e=h;b=h;j=14;break}}else{b=i;j=14}}while(0);if((j|0)==14)h=a[b>>0]|0;if(h<<24>>24==66){e=b+1|0;c[k>>2]=e;f=f*8.0}}if(d|0)c[d>>2]=e;Ec=l;return +f}function GP(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=0;while(1){e=a[c+d>>0]|0;f=a[b+d>>0]|0;if(!(e<<24>>24)){g=4;break}if(e<<24>>24==f<<24>>24)d=d+1|0;else{d=0;break}}if((g|0)==4){d=f<<24>>24;d=f<<24>>24!=95&((d+-48|0)>>>0>9&((d&-33)+-65|0)>>>0>25)&1}return d|0}function HP(a){a=+a;var b=0;b=IP()|0;return +((+(b>>>0)+4294967296.0*+(M()|0))*1.0e-06)}function IP(){var a=0,b=0,d=0,e=0;b=Ec;Ec=Ec+16|0;a=b;nb(a|0,0)|0;e=c[a>>2]|0;e=nW(e|0,((e|0)<0)<<31>>31|0,1e6,0)|0;d=M()|0;a=c[a+4>>2]|0;a=hW(e|0,d|0,a|0,((a|0)<0)<<31>>31|0)|0;L(M()|0);Ec=b;return a|0}function JP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+16|0;i=k;a:do if((a|0)!=0?(j=c[a>>2]|0,(j|0)!=0):0){b:do if(f&1|0){if(!(f&2)){i=0;while(1){i=LP(a,i)|0;if(!i)break b;h=JP(i,b,d,e,f,g)|0;if(h|0)break a}}c[i>>2]=0;h=0;while(1){h=KP(j,h)|0;c[i>>2]=h;if(!h){i=7;break}h=JP(i,b,d,e,f,0)|0;if(h|0){i=10;break}h=c[i>>2]|0}if((i|0)==7)break;else if((i|0)==10)break a}while(0);j=(d|0)==0;h=0;while(1){h=Ff(a,h)|0;if(!h){h=0;break a}if(YS(c[h>>2]|0,b)|0)continue;if((c[h+40>>2]&e|0)!=(e|0))continue;i=(c[h+12>>2]|0)==10;if(j)if(i)continue;else break;if(!i)continue;i=c[h+44>>2]|0;if(!i)continue;if(!(YS(i,d)|0))break}if(g)c[g>>2]=(f&2|0)==0?a:0}else h=0;while(0);Ec=k;return h|0}function KP(a,b){a=a|0;b=b|0;a=c[a+28>>2]|0;if(!a)a=0;else a=Kc[a&31](b)|0;return a|0}function LP(a,b){a=a|0;b=b|0;var d=0;d=c[(c[a>>2]|0)+24>>2]|0;if(!d)a=0;else a=Mc[d&15](a,b)|0;return a|0}function MP(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0;l=Ec;Ec=Ec+16|0;j=l;e=l+8|0;i=NP(b)|0;h=(M()|0)&2147483647;do if(h>>>0>2146435072|(h|0)==2146435072&i>>>0>0){c[a>>2]=0;c[a+4>>2]=0}else{if(+u(+b)>2147483650.0){c[a>>2]=b<0.0?-1:1;c[a+4>>2]=0;break}+xT(b,e);f=(c[e>>2]|0)+-1|0;f=(f|0)>0?f:0;c[e>>2]=f;e=sW(1,0,61-f|0)|0;f=M()|0;g=j+4|0;m=+t(+((+(e>>>0)+4294967296.0*+(f|0))*b+.5));h=~~m>>>0;i=+u(m)>=1.0?(m>0.0?~~+I(+t(m/4294967296.0),4294967295.0)>>>0:~~+G((m-+(~~m>>>0))/4294967296.0)>>>0):0;Mm(j,g,h,i,e,f,d,((d|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){if((d|0)!=2147483647&(b!=0.0&(d|0)>0))k=8}else if((d|0)!=2147483647&((d|0)>0&(b!=0.0&(c[g>>2]|0)==0)))k=8;if((k|0)==8)Mm(j,g,h,i,e,f,2147483647,0)|0;d=j;j=c[d+4>>2]|0;k=a;c[k>>2]=c[d>>2];c[k+4>>2]=j}while(0);Ec=l;return}function NP(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function OP(){var a=0,b=0,d=0;d=Ec;Ec=Ec+16|0;b=d;a=Cb(84)|0;if(!(c[45994]|0)){c[b>>2]=a;We(0,48,161170,b);c[45994]=1}Ec=d;return a|0}function PP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Ec;Ec=Ec+16|0;m=q;n=a+68|0;g=c[n>>2]|0;do if((g|0)>0?(o=a+72|0,h=c[o>>2]|0,(h|0)>0):0){p=a+392|0;e=c[p>>2]|0;j=a+396|0;f=c[j>>2]|0;if(e>>>0<(2147483647-f|0)>>>0?(k=a+384|0,r=c[k>>2]|0,l=a+388|0,i=c[l>>2]|0,(i+r|0)>>>0<h>>>0&((f+e|0)>>>0<g>>>0&r>>>0<(2147483647-i|0)>>>0)):0){i=qg(c[a+80>>2]|0)|0;if(!i)e=-558323010;else{if(!(0==0?(c[i+8>>2]&12|0)==0:0)){c[n>>2]=(c[n>>2]|0)-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)-(c[l>>2]|0);c[j>>2]=0;c[l>>2]=0;e=0;break}QP(m,a,i);if(!(b&1)){h=c[p>>2]|0;if(!h)b=2147483647;else b=d[161197+((H(h&0-h,125613361)|0)>>>27)>>0]|0;f=2147483647;g=0;while(1){if(!(c[a+(g<<2)>>2]|0))break;e=c[m+(g<<2)>>2]|0;if(!e)e=2147483647;else e=d[161197+((H(e&0-e,125613361)|0)>>>27)>>0]|0;f=(e|0)>(f|0)?f:e;g=g+1|0}if((b|0)<(f|0)){e=-558323010;break}if((f|0)<5){c[p>>2]=h&-1<<b+5-f;QP(m,a,i);e=0}else e=0}else e=0;while(1){f=a+(e<<2)|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=g+(c[m+(e<<2)>>2]|0);e=e+1|0}c[n>>2]=(c[n>>2]|0)-((c[j>>2]|0)+(c[p>>2]|0));c[o>>2]=(c[o>>2]|0)-((c[l>>2]|0)+(c[k>>2]|0));c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;e=0}}else e=-34}else e=-22;while(0);Ec=q;return e|0}function QP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=e+5|0;k=e+6|0;m=e+8|0;n=e+4|0;o=b+384|0;p=b+392|0;f=0;a:while(1){if(!(c[b+(f<<2)>>2]|0))break;if((f+-1|0)>>>0<2){j=d[k>>0]|0;l=d[h>>0]|0}else{j=0;l=0}if((f|0)==1&((c[m>>2]&66|0)!=0|0!=0)){q=10;break}i=d[n>>0]|0;g=0;while(1){if((g|0)>=(i|0))break a;if((c[e+16+(g<<5)>>2]|0)==(f|0))break;g=g+1|0}j=H((c[o>>2]|0)>>>j,c[b+32+(f<<2)>>2]|0)|0;c[a+(f<<2)>>2]=(H((c[p>>2]|0)>>>l,c[e+16+(g<<5)+4>>2]|0)|0)+j;f=f+1|0}if((q|0)==10)c[a+4>>2]=0;return}function RP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[d>>2]|0;g=c[e+4>>2]|0;h=nW(g|0,((g|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;g=M()|0;e=c[e>>2]|0;d=c[d+4>>2]|0;e=nW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;f=Cm(a,b,h,g,e,M()|0,f)|0;L(M()|0);return f|0}function SP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ec;Ec=Ec+16|0;g=f+8|0;h=f;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];e=RP(a,b,h,g,5)|0;L(M()|0);Ec=f;return e|0}function TP(a,b){a=a|0;b=b|0;if((b|0)!=0?(2147483647/(b>>>0)|0)>>>0>a>>>0:0)a=Of(H(b,a)|0)|0;else a=0;return a|0}function UP(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=Ec;Ec=Ec+48|0;g=l+16|0;k=l+8|0;i=l;j=l+32|0;h=l+24|0;f=JP(a,b,0,0,e,j)|0;e=c[j>>2]|0;a:do if((f|0)!=0&(e|0)!=0){b=(d|0)!=0;if(!b)switch(c[f+12>>2]|0){case 18:case 17:case 16:case 15:case 14:case 11:case 13:case 12:case 5:break;default:{b=-22;break a}}if(!(c[f+40>>2]&128)){j=e+(c[f+8>>2]|0)|0;do switch(c[f+12>>2]|0){case 18:{b=VP(a,f,d,j)|0;break a}case 5:{b=WP(d,j)|0;break a}case 7:{b=XP(d,j)|0;break a}case 6:case 3:case 4:case 9:case 2:case 1:case 0:{b=lP(a,e,f,d,j)|0;break a}case 11:{b=YP(a,d,j)|0;break a}case 14:{b=ZP(a,d,h)|0;if((b|0)>=0){b=c[h>>2]|0;b=mP(a,f,j,1.0,c[h+4>>2]|0,b,((b|0)<0)<<31>>31)|0}break a}case 12:{b=_P(a,f,d,j)|0;break a}case 13:{b=$P(a,f,d,j)|0;break a}case 15:{if(!b){b=j;c[b>>2]=0;c[b+4>>2]=0;b=0;break a}b=aQ(j,d,1)|0;if((b|0)>=0)break a;c[i>>2]=d;We(a,16,161229,i);break a}case 16:{b=bQ(a,d,j)|0;break a}case 17:{if(b?YS(d,171832)|0:0){e=fP(d)|0;f=M()|0;if((e|0)==0&(f|0)==0){c[k>>2]=d;We(a,16,161276,k);b=-22}else b=0;a=j;c[a>>2]=e;c[a+4>>2]=f;break a}d=j;c[d>>2]=0;c[d+4>>2]=0;break}default:{}}while(0);We(a,16,161329,g);b=-22}else b=-22}else b=-1414549496;while(0);Ec=l;return b|0}function VP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0;m=Ec;Ec=Ec+16|0;k=m;j=m+4|0;do if(!d)f=0;else{if(YS(d,168269)|0)if(!(aP(d,163645)|0))if(!(aP(d,163674)|0)){c[j>>2]=0;h=PS(d,j,10)|0;n=d+(MT(d)|0)|0;if((n|0)==(c[j>>2]|0)){f=h;l=6}}else{f=0;l=6}else{f=1;l=6}else{f=-1;l=6}if(((l|0)==6?(i=+(f|0),!(+g[b+24>>3]>i)):0)?!(+g[b+32>>3]<i):0){c[e>>2]=f;f=0;break}c[k>>2]=d;We(a,16,163706,k);f=-22}while(0);Ec=m;return f|0}function WP(a,b){a=a|0;b=b|0;Se(b);a=eh(a)|0;c[b>>2]=a;return (a|0?0:-12)|0}function XP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=d+4|0;Se(d);c[j>>2]=0;do if((b|0)!=0?(e=MT(b)|0,(e|0)!=0):0)if(!(e&1)){h=(e|0)/2|0;i=cf(h)|0;if(i){g=i;while(1){e=a[b>>0]|0;if(!(e<<24>>24)){b=9;break}e=rQ(e)|0;f=rQ(a[b+1>>0]|0)|0;if((f|e|0)<0){b=8;break}a[g>>0]=f|e<<4;b=b+2|0;g=g+1|0}if((b|0)==8){Te(i);e=-22;break}else if((b|0)==9){c[d>>2]=i;c[j>>2]=h;e=0;break}}else e=-12}else e=-22;else e=0;while(0);return e|0}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;if((b|0)!=0?(YS(b,171832)|0)!=0:0){d=qQ(d,d+4|0,b)|0;if((d|0)<0){c[e>>2]=b;We(a,16,163340,e)}}else{c[d+4>>2]=0;c[d>>2]=0;d=0}Ec=f;return d|0}function ZP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;e=g;if(b){d=oQ(d,b)|0;if((d|0)<0)f=3}else{d=-22;f=3}if((f|0)==3){c[e>>2]=b;We(a,16,163242,e)}Ec=g;return d|0}function _P(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lQ(a,b,c,d,183,20,163203)|0}function $P(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lQ(a,b,c,d,12,21,163086)|0}function aQ(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=Ec;Ec=Ec+144|0;m=q+132|0;n=q+88|0;o=q+44|0;p=q;f=n;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));j=b;c[j>>2]=0;c[j+4>>2]=-2147483648;j=(e|0)!=0;a:do if(j){g=(a[d>>0]|0)==45;d=g?d+1|0:d;g=g&1;f=eQ(d,162935,n)|0;if(!f){f=eQ(d,162944,n)|0;e=n+8|0;c[e>>2]=0;if(!f){c[n>>2]=PS(d,p,10)|0;f=c[p>>2]|0;if((f|0)==(d|0)){e=-22;break}else{c[n+4>>2]=0;c[e>>2]=0;e=g;d=0;k=18;break}}else{l=g;h=0;k=19}}else{l=g;h=0;k=19}}else{e=IP()|0;f=M()|0;l=lW(e|0,f|0,1e6,0)|0;M()|0;c[m>>2]=l;if(!(ZO(d,162931)|0)){c[b>>2]=e;c[b+4>>2]=f;e=0;break}else f=0;while(1){if(f>>>0>=2){e=0;break}e=eQ(d,c[76964+(f<<2)>>2]|0,n)|0;if(!e)f=f+1|0;else break}h=(e|0)==0;g=h?d:e;h=h&1;e=a[g>>0]|0;b:do switch(e<<24>>24){case 116:case 84:{d=g+1|0;break}default:{d=g;while(1){f=d+1|0;if(!(fQ(e<<24>>24)|0))break b;d=f;e=a[f>>0]|0}}}while(0);e=0;f=g;while(1){if(e>>>0>=2){e=0;d=h;k=18;break a}f=eQ(d,c[76972+(e<<2)>>2]|0,n)|0;if(!f){e=e+1|0;f=0}else{l=0;k=19;break}}}while(0);if((k|0)==18)if(!f)e=-22;else{l=e;h=d;k=19}c:do if((k|0)==19){e=a[f>>0]|0;if(e<<24>>24==46){g=1e5;d=0;while(1){f=f+1|0;if(!g)break;e=a[f>>0]|0;if(!(gQ(e)|0))break;i=(H(e+-48|0,g)|0)+d|0;g=(g>>>0)/10|0;d=i}while(1){e=a[f>>0]|0;if(!(gQ(e<<24>>24)|0)){i=f;g=e;break}else f=f+1|0}}else{d=0;i=f;g=e}d:do if(j){j=((c[n+4>>2]|0)*60|0)+((c[n+8>>2]|0)*3600|0)+(c[n>>2]|0)|0;e=((j|0)<0)<<31>>31;switch(g<<24>>24){case 109:{if((a[i+1>>0]|0)==115){i=i+2|0;d=(d|0)/1e3|0;g=1e3;h=0;f=j;break d}else k=28;break}case 117:{f=i+1|0;if((a[f>>0]|0)==115){i=i+2|0;d=0;g=1;h=0;f=j;break d}break}default:k=28}if((k|0)==28)f=i+1|0;i=g<<24>>24==115?f:i;g=1e6;h=0;f=j}else{j=(g|32)<<24>>24==122;e=j&1;i=i+e|0;h=(h|0)!=0;e:do if(h|j){f=0;g=0}else{switch(a[i>>0]|0){case 45:case 43:break;default:{f=0;g=0;break e}}f=p;g=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));g=(a[i>>0]|0)==43;f=i+1|0;i=f;e=0;while(1){if(e>>>0>=3){k=37;break}i=eQ(f,c[76980+(e<<2)>>2]|0,p)|0;if(!i){i=0;e=e+1|0}else break}if((k|0)==37)if(!i){e=-22;break c}g=H(g?-60:60,((c[p+8>>2]|0)*60|0)+(c[p+4>>2]|0)|0)|0;e=1;f=g;g=((g|0)<0)<<31>>31}while(0);if(h){if(!e){o=(sb(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}else{o=(ob(m|0,o|0)|0)+12|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];c[p+16>>2]=c[o+16>>2];c[p+20>>2]=c[o+20>>2];c[p+24>>2]=c[o+24>>2];c[p+28>>2]=c[o+28>>2]}o=n+12|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2]}p=(e|0)!=0;c[n+32>>2]=(p^1)<<31>>31;if(p)e=hQ(n)|0;else e=ub(n|0)|0;f=hW(f|0,g|0,e|0,((e|0)<0)<<31>>31|0)|0;g=1e6;h=0;e=M()|0}while(0);p=(a[i>>0]|0)==0;e=nW(g|0,h|0,f|0,e|0)|0;e=hW(e|0,M()|0,d|0,((d|0)<0)<<31>>31|0)|0;f=M()|0;if(p){o=(l|0)!=0;n=iW(0,0,e|0,f|0)|0;p=M()|0;c[b>>2]=o?n:e;c[b+4>>2]=o?p:f;e=0}else e=-22}while(0);Ec=q;return e|0}function bQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;if(b){d=cQ(d,b,-1,a)|0;if((d|0)<0){c[e>>2]=b;We(a,16,161351,e)}}else d=0;Ec=f;return d|0}function cQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+160|0;r=s+16|0;n=s+8|0;m=s;q=s+28|0;o=s+32|0;l=s+24|0;if((a[d>>0]|0)==35)i=1;else{i=(_S(d,161395,2)|0)==0;i=i?2:0}if((e|0)<0)e=MT(d)|0;e=e-i+1|0;gh(o,d+i|0,e>>>0<128?e:128)|0;e=NT(o,64)|0;c[q>>2]=e;if(!e)k=0;else{k=e+1|0;c[q>>2]=k;a[e>>0]=0}h=MT(o)|0;j=b+3|0;a[j>>0]=-1;a:do if((ZO(o,161398)|0)!=0?(ZO(o,161405)|0)!=0:0){if((i|0)==0?(tU(o,161414)|0)!=(h|0):0){e=xU(o,75844,140,8,11)|0;if(!e){c[n>>2]=o;We(f,16,161478,n);e=-22;break}else{p=e+4|0;a[b>>0]=a[p>>0]|0;a[b+1>>0]=a[p+1>>0]|0;a[b+2>>0]=a[p+2>>0]|0;p=20;break}}e=OS(o,l,16)|0;b:do if(!(a[c[l>>2]>>0]|0)){switch(h|0){case 8:{a[j>>0]=e;e=e>>>8;break}case 6:break;default:break b}a[b>>0]=e>>>16;a[b+1>>0]=e>>>8;a[b+2>>0]=e;p=20;break a}while(0);c[m>>2]=o;We(f,16,161437,m);e=-22}else p=9;while(0);if((p|0)==9){o=OO()|0;a[b>>0]=o>>>24;a[b+1>>0]=o>>>16;a[b+2>>0]=o>>>8;a[j>>0]=o;p=20}do if((p|0)==20)if(!k)e=0;else{if(!(_S(k,161395,2)|0))g=+((OS(k,q,16)|0)>>>0);else{g=+vU(k,q);g=g<0.0|g>1.0?256.0:g*255.0}q=c[q>>2]|0;if((q|0)!=(k|0)?!(g<0.0|(g>255.0|(a[q>>0]|0)!=0)):0){a[j>>0]=~~g;e=0;break}c[r>>2]=k;c[r+4>>2]=d;We(f,16,161502,r);e=-22}while(0);Ec=s;return e|0}function dQ(a,b){a=a|0;b=b|0;return ZO(a,c[b>>2]|0)|0}function eQ(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=Ec;Ec=Ec+16|0;m=o;c[m>>2]=b;h=e+8|0;i=e+4|0;j=e+20|0;k=e+16|0;l=e+12|0;a:while(1){g=d+1|0;f=a[d>>0]|0;switch(f<<24>>24){case 0:{n=27;break a}case 37:break;default:{d=(fQ(f<<24>>24)|0)==0;b=c[m>>2]|0;if(d){if((a[b>>0]|0)!=f<<24>>24){b=0;break a}c[m>>2]=b+1;d=g;continue a}while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;if(!(fQ(d<<24>>24)|0))break;b=b+1|0}c[m>>2]=b;d=g;continue a}}d=d+2|0;b=a[g>>0]|0;switch(b<<24>>24|0){case 74:case 72:{b=iQ(m,0,b<<24>>24==72?23:2147483647,2)|0;if((b|0)==-1){b=0;break a}c[h>>2]=b;continue a}case 77:{b=iQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[i>>2]=b;continue a}case 83:{b=iQ(m,0,59,2)|0;if((b|0)==-1){b=0;break a}c[e>>2]=b;continue a}case 89:{b=iQ(m,0,9999,4)|0;if((b|0)==-1){b=0;break a}c[j>>2]=b+-1900;continue a}case 109:{b=iQ(m,1,12,2)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b+-1;continue a}case 100:{b=iQ(m,1,31,2)|0;if((b|0)==-1){b=0;break a}c[l>>2]=b;continue a}case 84:{g=eQ(c[m>>2]|0,162964,e)|0;c[m>>2]=g;if(!g){b=0;break a}else continue a}case 104:case 66:case 98:{b=jQ(m)|0;if((b|0)==-1){b=0;break a}c[k>>2]=b;continue a}case 37:{g=c[m>>2]|0;c[m>>2]=g+1;if((a[g>>0]|0)==37)continue a;else{b=0;break a}}default:{b=0;break a}}}if((n|0)==27)b=c[m>>2]|0;Ec=o;return b|0}function fQ(a){a=a|0;switch(a|0){case 9:case 10:case 12:case 13:case 32:{a=1;break}default:a=(a|0)==11&1}return a|0}function gQ(a){a=a|0;return (a+-48|0)>>>0<10|0}function hQ(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;d=(b|0)<2;e=(d?1899:1900)+(c[a+20>>2]|0)|0;return ((c[a+8>>2]|0)*3600|0)+-2032579456+((c[a+4>>2]|0)*60|0)+(c[a>>2]|0)+(((e*365|0)+(c[a+12>>2]|0)+((e|0)/4|0)+((e|0)/-100|0)+((e|0)/400|0)+(((((d?13:1)+b|0)*153|0)+-457|0)/5|0)|0)*86400|0)|0}function iQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;h=j;g=0;i=0;while(1){if((i|0)>=(f|0))break;k=a[h>>0]|0;if(!(gQ(k)|0))break;h=h+1|0;g=(g*10|0)+-48+k|0;i=i+1|0}if((h|0)!=(j|0)?!((g|0)<(d|0)|(g|0)>(e|0)):0)c[b>>2]=h;else g=-1;return g|0}function jQ(a){a=a|0;var b=0,d=0,e=0,f=0;b=0;while(1){if((b|0)>=12){b=-1;break}d=c[76992+(b<<2)>>2]|0;if(!($O(c[a>>2]|0,d,3)|0)){e=4;break}b=b+1|0}if((e|0)==4){e=d+3|0;f=MT(e)|0;d=(c[a>>2]|0)+3|0;c[a>>2]=d;if((f|0)>0?($O(d,e,f)|0)==0:0)c[a>>2]=(c[a>>2]|0)+f}return b|0}function kQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=12){b=-1;break}if(!(YS(71828+(b*20|0)|0,a)|0))break;b=b+1|0}return b|0}function lQ(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=Ec;Ec=Ec+32|0;o=p+8|0;m=p;l=p+28|0;do if((e|0)!=0?(YS(e,171832)|0)!=0:0){k=Kc[i&31](e)|0;if((k|0)==-1){k=PS(e,l,0)|0;if(k>>>0<h>>>0?(a[c[l>>2]>>0]|0)==0:0){n=7;break}else{c[m>>2]=e;c[m+4>>2]=j;We(b,16,163100,m);i=-22;break}}else n=7}else{k=-1;n=7}while(0);do if((n|0)==7){q=+g[d+24>>3];e=~~(q>-1.0?q:-1.0);q=+g[d+32>>3];n=h+-1|0;r=+(n|0);i=~~(q>r?r:q);h=(i|e|0)==0;e=h?-1:e;i=h?n:i;if((k|0)<(e|0)|(k|0)>(i|0)){f=c[d>>2]|0;c[o>>2]=k;c[o+4>>2]=f;c[o+8>>2]=j;c[o+12>>2]=e;c[o+16>>2]=i;We(b,16,163141,o);i=-34;break}else{c[f>>2]=k;i=0;break}}while(0);Ec=p;return i|0}function mQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=Ec;Ec=Ec+48|0;e=f;d=f+8|0;if(!(YS(a,163216)|0))b=129390;else{b=(YS(a,163222)|0)==0;b=b?129380:a}a=nQ(b)|0;if((a|0)==-1){c[e>>2]=b;c[e+4>>2]=163233;VT(d,32,163228,e)|0;a=nQ(d)|0;if((a|0)==-1){e=(YS(b,163236)|0)==0;Ec=f;return (e?46:-1)|0}}Ec=f;return a|0}function nQ(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=183){b=-1;break}if(!(YS(c[9736+(b*152|0)>>2]|0,a)|0))break;if(aP(a,c[9736+(b*152|0)+144>>2]|0)|0)break;b=b+1|0}return b|0}function oQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=0;while(1){if((d|0)>=8){e=6;break}if(!(YS(c[77040+(d*12|0)>>2]|0,b)|0)){e=4;break}d=d+1|0}if((e|0)==4){b=77040+(d*12|0)+4|0;e=c[b+4>>2]|0;d=a;c[d>>2]=c[b>>2];c[d+4>>2]=e;d=0}else if((e|0)==6){d=pQ(a,b,1001e3,64,0)|0;if((d|0)>=0)if((c[a>>2]|0)<1)d=-22;else return ((c[a+4>>2]|0)<1?-22:0)|0}return d|0}function pQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+32|0;j=k+8|0;i=k;h=a+4|0;c[j>>2]=a;c[j+4>>2]=h;c[j+8>>2]=k+20;do if((fU(b,163291,j)|0)!=2){b=oP(j,b,0,0,0,0,0,0,0,e,f)|0;if((b|0)<0)break;else{MP(i,+g[j>>3],d);j=c[i+4>>2]|0;b=a;c[b>>2]=c[i>>2];c[b+4>>2]=j;b=0;break}}else{j=c[a>>2]|0;b=c[h>>2]|0;Mm(a,h,j,((j|0)<0)<<31>>31,b,((b|0)<0)<<31>>31,d,((d|0)<0)<<31>>31)|0;b=0}while(0);Ec=k;return b|0}function qQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;h=j;g=0;while(1){if((g|0)>=53){i=6;break}if(!(YS(c[77136+(g*12|0)>>2]|0,e)|0)){i=4;break}g=g+1|0}if((i|0)==4){f=c[77136+(g*12|0)+8>>2]|0;e=c[77136+(g*12|0)+4>>2]|0;i=10}else if((i|0)==6)if((g|0)==53){e=PS(e,h,10)|0;f=c[h>>2]|0;if(a[f>>0]|0){f=f+1|0;c[h>>2]=f}f=PS(f,h,10)|0;if(!(a[c[h>>2]>>0]|0))i=10;else e=-22}else e=-22;if((i|0)==10)if((e|0)<1|(f|0)<1)e=-22;else{c[b>>2]=e;c[d>>2]=f;e=0}Ec=j;return e|0}function rQ(a){a=a|0;var b=0;b=a<<24>>24;if((a+-48&255)>=10)if((a+-97&255)<6)a=-87;else return ((a+-65&255)<6?b+-55|0:-1)|0;else a=-48;return a+b|0}function sQ(a){a=a|0;return (a>>>0>11?0:71828+(a*20|0)|0)|0}function tQ(a){a=a|0;uQ(a,0,0);return}function uQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+16|0;k=l;j=l+8|0;i=j+4|0;e=0;a:while(1){e=Ff(a,e)|0;if(!e)break;h=a+(c[e+8>>2]|0)|0;f=c[e+40>>2]|0;if(!((f&b|0)==(d|0)&(f&128|0)==0))continue;f=c[e+12>>2]|0;switch(f|0){case 8:case 10:continue a;case 13:case 12:case 17:case 15:case 9:case 2:case 1:case 0:case 18:{f=e+16|0;mP(a,e,h,1.0,1,c[f>>2]|0,c[f+4>>2]|0)|0;continue a}case 4:case 3:{mP(a,e,h,+g[e+16>>3],1,1,0)|0;continue a}case 6:{MP(j,+g[e+16>>3],2147483647);f=c[j>>2]|0;mP(a,e,h,1.0,c[i>>2]|0,f,((f|0)<0)<<31>>31)|0;continue a}case 16:{bQ(a,c[e+16>>2]|0,h)|0;continue a}case 5:{WP(c[e+16>>2]|0,h)|0;continue a}case 11:{YP(a,c[e+16>>2]|0,h)|0;continue a}case 14:{ZP(a,c[e+16>>2]|0,h)|0;continue a}case 7:{XP(c[e+16>>2]|0,h)|0;continue a}default:{h=c[e>>2]|0;c[k>>2]=f;c[k+4>>2]=h;We(a,48,163752,k);continue a}}}Ec=l;return}function vQ(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=Ec;Ec=Ec+16|0;i=j;g=j+8|0;c[g>>2]=0;do if(b){f=0;while(1){f=ch(c[b>>2]|0,260868,f,2)|0;if(!f){d=7;break}h=f+4|0;e=UP(a,c[f>>2]|0,c[h>>2]|0,d)|0;if((e|0)==-1414549496)e=dh(g,c[f>>2]|0,c[h>>2]|0,0)|0;if((e|0)<0){d=6;break}}if((d|0)==6){h=c[h>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=h;We(a,16,163803,i);Gf(g);break}else if((d|0)==7){Gf(b);c[b>>2]=c[g>>2];e=0;break}}else e=0;while(0);Ec=j;return e|0}function wQ(a,b){a=a|0;b=b|0;return vQ(a,b,0)|0}function xQ(a){a=a|0;if(a>>>0<=11){if(!(3040>>>a&1))a=c[71828+(a*20|0)+16>>2]|0}else a=-1;return a|0}function yQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=Ec;Ec=Ec+16|0;g=m;if((f|0)<=-1){c[g>>2]=163841;c[g+4>>2]=163857;c[g+8>>2]=102;We(0,0,164054,g);Za()}if(!f){f=OP()|0;f=(f|0)>1?f+1|0:1}k=(e|0)==0;j=f+(k<<31>>31)|0;l=Of(120)|0;c[a>>2]=l;a:do if(!l)f=-12;else{if(j|0?(i=TP(j,88)|0,c[l>>2]=i,(i|0)==0):0){Se(a);f=-12;break}c[l+108>>2]=b;c[l+112>>2]=d;c[l+116>>2]=e;b=l+4|0;c[b>>2]=f;g=l+8|0;c[l+104>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;IU(l+24|0,0)|0;wb(l+52|0,0)|0;c[l+100>>2]=0;g=0;while(1){if((g|0)>=(j|0))break a;n=c[l>>2]|0;i=n+(g*88|0)|0;c[i>>2]=l;d=n+(g*88|0)+4|0;IU(d,0)|0;e=n+(g*88|0)+32|0;wb(e|0,0)|0;JU(d)|0;h=n+(g*88|0)+84|0;c[h>>2]=0;i=zb(n+(g*88|0)+80|0,0,22,i|0)|0;if(i|0)break;while(1){if(c[h>>2]|0)break;yb(e|0,d|0)|0}KU(d)|0;g=g+1|0}c[b>>2]=g+(k&1);KU(d)|0;vb(e|0)|0;LU(d)|0;AQ(a);f=0-i|0}while(0);Ec=m;return f|0}function zQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a>>2]|0;h=a+4|0;JU(h)|0;i=a+32|0;xb(i|0)|0;j=g+104|0;a=a+84|0;b=g+24|0;d=g+100|0;e=g+52|0;while(1){c[a>>2]=1;f=1;while(1){if(!f)break;yb(i|0,h|0)|0;f=c[a>>2]|0}if(c[j>>2]|0)break;if(!(BQ(g)|0))continue;JU(b)|0;c[d>>2]=1;xb(e|0)|0;KU(b)|0}KU(h)|0;return 0}function AQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0?(e=c[a>>2]|0,e|0):0){d=(c[e+4>>2]|0)+(((c[e+116>>2]|0)==0)<<31>>31)|0;c[e+104>>2]=1;b=0;while(1){if((b|0)>=(d|0)){b=0;break}g=c[e>>2]|0;f=g+(b*88|0)+4|0;JU(f)|0;c[g+(b*88|0)+84>>2]=0;xb(g+(b*88|0)+32|0)|0;KU(f)|0;b=b+1|0}while(1){if((b|0)>=(d|0))break;g=c[e>>2]|0;Ab(c[g+(b*88|0)+80>>2]|0,0)|0;vb(g+(b*88|0)+32|0)|0;LU(g+(b*88|0)+4|0)|0;b=b+1|0}vb(e+52|0)|0;LU(e+24|0)|0;Se(e);Se(a)}return}function BQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[a+12>>2]|0;e=c[a+8>>2]|0;g=a+16|0;f=c[g>>2]|0;c[g>>2]=f+1;g=a+112|0;h=a+108|0;b=a+20|0;a=f;do{Wc[c[g>>2]&127](c[h>>2]|0,a,f,d,e);a=c[b>>2]|0;c[b>>2]=a+1}while(a>>>0<d>>>0);return (a|0)==(d+-1+e|0)|0}function CQ(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=Ec;Ec=Ec+16|0;e=h;if((b|0)<=0){c[e>>2]=163881;c[e+4>>2]=163857;c[e+8>>2]=168;We(0,0,164054,e);Za()}c[a+12>>2]=b;f=c[a+4>>2]|0;e=a+8|0;c[e>>2]=(f|0)<(b|0)?f:b;c[a+16>>2]=0;c[a+20>>2]=c[e>>2];f=a+116|0;d=(d|0)!=0;b=(c[e>>2]|0)+((d&(c[f>>2]|0)!=0^1)<<31>>31)|0;e=0;while(1){if((e|0)>=(b|0))break;j=c[a>>2]|0;i=j+(e*88|0)+4|0;JU(i)|0;c[j+(e*88|0)+84>>2]=0;xb(j+(e*88|0)+32|0)|0;KU(i)|0;e=e+1|0}b=c[f>>2]|0;if(!(d&(b|0)!=0)){if(!(BQ(a)|0))g=9}else{Sc[b&63](c[a+108>>2]|0);g=9}if((g|0)==9){e=a+24|0;JU(e)|0;d=a+100|0;b=a+52|0;while(1){if(c[d>>2]|0)break;yb(b|0,e|0)|0}c[d>>2]=0;KU(e)|0}Ec=h;return}function DQ(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77772+(d<<2)>>2]|0;PU(183980,4)|0;if(!d)c[a>>2]=1;return b|0}function EQ(){var a=0,b=0;a=0;while(1){b=c[77772+(a<<2)>>2]|0;if(a|0)break;a=c[b+76>>2]|0;if(!a){a=1;continue}Sc[a&63](b);a=1}return}function FQ(){var a=0,b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;b=e;c[b>>2]=0;a=0;while(1){d=DQ(b)|0;if(!d)break;if(!a){a=d;continue}c[a+60>>2]=d;a=d}Ec=e;return}function GQ(a){a=a|0;PU(183984,5)|0;if(!a)a=71656;else a=c[a+60>>2]|0;return a|0}function HQ(a){a=a|0;return JQ(a,23)|0}function IQ(a){a=a|0;if(a)if((c[a+84>>2]|0)==0?(c[a+88>>2]|0)==0:0)a=(c[a+100>>2]|0)!=0&1;else a=1;else a=0;return a|0}function JQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g;c[f>>2]=0;d=KQ(a)|0;a=0;a:while(1){while(1){e=DQ(f)|0;if(!e)break a;if(!(Kc[b&31](e)|0))continue;if((c[e+12>>2]|0)==(d|0))break}if(a|0?1:(c[e+16>>2]&512|0)==0){a=e;break}else a=e}Ec=g;return a|0}function KQ(a){a=a|0;return a|0}function LQ(a){a=a|0;return JQ(a,24)|0}function MQ(a){a=a|0;if(a)if(!(c[a+92>>2]|0))a=(c[a+108>>2]|0)!=0&1;else a=1;else a=0;return a|0}function NQ(a){a=a|0;var b=0;b=cf(896)|0;if(b){if((YQ(b,a)|0)<0){Te(b);b=0}}else b=0;return b|0}function OQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(a|0){if(PQ(a)|0){f=a+28|0;b=c[f>>2]|0;e=c[b+16>>2]|0;if(c[b+20>>2]|0)QQ(a);b=c[a+12>>2]|0;if(b|0?(d=c[b+96>>2]|0,d|0):0)Kc[d&31](a)|0;b=c[f>>2]|0;c[b+48>>2]=0;Se(b+44|0);Gg((c[f>>2]|0)+12|0);Gg((c[f>>2]|0)+100|0);Gg((c[f>>2]|0)+76|0);xf((c[f>>2]|0)+68|0);xf((c[f>>2]|0)+40|0);xf((c[f>>2]|0)+24|0);b=0;while(1){if((b|0)==4)break;Zf(e+(b<<2)|0);b=b+1|0}Se((c[f>>2]|0)+16|0);b=c[a+592>>2]|0;if(b|0?(g=c[b+52>>2]|0,g|0):0)Kc[g&31](a)|0;Se((c[f>>2]|0)+60|0);RQ(a);Se(f)}d=a+856|0;e=a+852|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;Se((c[e>>2]|0)+(b*12|0)|0);b=b+1|0}Se(e);c[d>>2]=0;Cf(a+860|0);Cf(a+880|0);d=a+24|0;e=c[d>>2]|0;b=a+12|0;if((e|0?(h=c[b>>2]|0,h|0):0)?c[h+44>>2]|0:0)wf(e);wf(a);Se(d);if(IQ(c[b>>2]|0)|0){Se(a+68|0);Gg(a+684|0)}c[b>>2]=0;c[a+696>>2]=0}return 0}function PQ(a){a=a|0;return (c[a+28>>2]|0)!=0|0}function QQ(a){a=a|0;if(!(c[a+696>>2]&1))TQ(a);else SQ(a,c[a+688>>2]|0);return}function RQ(a){a=a|0;var b=0,d=0;d=c[a+28>>2]|0;b=d+36|0;d=d+32|0;a=0;while(1){if((a|0)>=(c[b>>2]|0))break;vf((c[d>>2]|0)+(a<<2)|0);a=a+1|0}Se(d);c[b>>2]=0;return}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,n=0,o=0,p=0;p=Ec;Ec=Ec+16|0;h=p;k=a+28|0;l=c[(c[k>>2]|0)+20>>2]|0;n=a+12|0;e=c[n>>2]|0;UQ(l,b);f=l+4|0;g=c[f>>2]|0;if((g|0?(d=c[l>>2]|0,(g|0)!=(d|0)):0)?(VQ(c[d+212>>2]|0,c[g+212>>2]|0,0)|0)<0:0){We(a,16,163893,h);h=c[(c[(c[l>>2]|0)+212>>2]|0)+28>>2]|0;c[c[(c[(c[f>>2]|0)+212>>2]|0)+28>>2]>>2]=c[h>>2];c[h>>2]=1}f=e+96|0;e=0;while(1){if((e|0)>=(b|0)){d=0;break}g=c[l>>2]|0;h=g+(e*352|0)|0;d=g+(e*352|0)+156|0;JU(d)|0;c[g+(e*352|0)+332>>2]=1;xb(g+(e*352|0)+12|0)|0;KU(d)|0;d=g+(e*352|0)+8|0;if(c[d>>2]|0)Ab(c[g+(e*352|0)+4>>2]|0,0)|0;c[d>>2]=0;d=c[f>>2]|0;if(d|0?(i=c[g+(e*352|0)+212>>2]|0,i|0):0)Kc[d&31](i)|0;WQ(h);Gg(g+(e*352|0)+288|0);e=e+1|0}while(1){if((d|0)>=(b|0))break;e=c[l>>2]|0;LU(e+(d*352|0)+156|0)|0;LU(e+(d*352|0)+184|0)|0;vb(e+(d*352|0)+12|0)|0;vb(e+(d*352|0)+60|0)|0;vb(e+(d*352|0)+108|0)|0;Af(e+(d*352|0)+216|0);Se(e+(d*352|0)+304|0);e=e+(d*352|0)+212|0;if(d){f=c[e>>2]|0;if(f|0){Se(f+24|0);Se((c[e>>2]|0)+184|0);m=17}}else m=17;if((m|0)==17?(m=0,j=c[e>>2]|0,j|0):0){Se(j+28|0);Cf((c[e>>2]|0)+860|0)}Se(e);d=d+1|0}Se(l);LU(l+8|0)|0;LU(l+36|0)|0;LU(l+64|0)|0;vb(l+92|0)|0;Se((c[k>>2]|0)+20|0);d=c[a+24>>2]|0;if((d|0?(o=c[n>>2]|0,o|0):0)?c[o+44>>2]|0:0)wf(d);c[n>>2]=0;Ec=p;return}function TQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[(c[b>>2]|0)+20>>2]|0;AQ(d);e=d+36|0;f=d+44|0;g=d+40|0;a=0;while(1){if((a|0)>=(c[e>>2]|0))break;LU((c[f>>2]|0)+(a*28|0)|0)|0;vb((c[g>>2]|0)+(a*48|0)|0)|0;a=a+1|0}Se(d+28|0);Se(f);Se(g);Se((c[b>>2]|0)+20|0);return}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;XQ(a);d=0;while(1){if((d|0)>=(b|0))break;e=c[a>>2]|0;f=e+(d*352|0)+300|0;if(c[f>>2]|0){g=e+(d*352|0)+184|0;JU(g)|0;h=e+(d*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}KU(g)|0}c[e+(d*352|0)+292>>2]=0;d=d+1|0}Uk(a);return}function VQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if((a|0)==(b|0))k=10;else{if((d|0)==0?c[(c[b+780>>2]|0)+16>>2]&1|0:0){k=12;break}e=b+76|0;f=c[e+4>>2]|0;g=a+76|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=b+760|0;f=c[g+4>>2]|0;e=a+760|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[a+92>>2]=c[b+92>>2];c[a+96>>2]=c[b+96>>2];c[a+112>>2]=c[b+112>>2];c[a+768>>2]=c[b+768>>2];c[a+100>>2]=c[b+100>>2];c[a+104>>2]=c[b+104>>2];c[a+140>>2]=c[b+140>>2];c[a+668>>2]=c[b+668>>2];c[a+672>>2]=c[b+672>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+188|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+716>>2]=c[b+716>>2];c[a+720>>2]=c[b+720>>2];c[a+676>>2]=c[b+676>>2];c[a+84>>2]=c[b+84>>2];c[a+316>>2]=c[b+316>>2];c[a+320>>2]=c[b+320>>2];c[a+324>>2]=c[b+324>>2];c[a+328>>2]=c[b+328>>2];c[a+332>>2]=c[b+332>>2];c[a+592>>2]=c[b+592>>2];c[a+596>>2]=c[b+596>>2];c[a+348>>2]=c[b+348>>2];c[a+344>>2]=c[b+344>>2];c[a+352>>2]=c[b+352>>2];g=b+376|0;f=c[g+4>>2]|0;e=a+376|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[(c[a+28>>2]|0)+60>>2]=c[(c[b+28>>2]|0)+60>>2];e=a+860|0;f=c[e>>2]|0;g=(f|0)!=0;h=b+860|0;i=c[h>>2]|0;if(!(g^(i|0)!=0)){if(g?(c[f+4>>2]|0)!=(c[i+4>>2]|0):0)k=7}else k=7;if(((k|0)==7?(Cf(e),j=c[h>>2]|0,j|0):0)?(j=Eg(j)|0,c[e>>2]=j,(j|0)==0):0){e=-12;break}c[a+884>>2]=c[b+884>>2];k=10}while(0);if((k|0)==10)if(!d)k=12;else{c[a+88>>2]=(c[b+688>>2]|0)+-1;c[a+684>>2]=c[b+684>>2];e=0}if((k|0)==12){e=c[(c[a+12>>2]|0)+68>>2]|0;if(!e)e=0;else e=Mc[e&15](a,b)|0}return e|0}function WQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ec;Ec=Ec+16|0;f=g;b=a+308|0;d=(c[a>>2]|0)+8|0;e=a+212|0;a=a+304|0;while(1){if((c[b>>2]|0)<=0){a=6;break}JU(d)|0;if((c[(c[e>>2]|0)+8>>2]|0)>>>0>=2){a=4;break}j=c[a>>2]|0;i=(c[b>>2]|0)+-1|0;c[b>>2]=i;h=j+(i*408|0)|0;c[j+(i*408|0)+64>>2]=h;bg(h);KU(d)|0}if((a|0)==4){c[f>>2]=163921;c[f+4>>2]=164010;c[f+8>>2]=371;We(0,0,164054,f);Za()}else if((a|0)==6){Ec=g;return}}function XQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;b=a+64|0;JU(b)|0;d=a+140|0;if(!(c[d>>2]|0)){c[e>>2]=164037;c[e+4>>2]=164010;c[e+8>>2]=155;We(0,0,164054,e);Za()}else{c[d>>2]=0;zW(a+92|0)|0;KU(b)|0;Ec=f;return}}function YQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;yW(a|0,0,896)|0;c[a>>2]=77780;e=(b|0)!=0;a:do if(e){d=c[b+8>>2]|0;c[a+8>>2]=d;c[a+12>>2]=b;c[a+16>>2]=c[b+12>>2];switch(d|0){case 1:{d=8;break a}case 0:{d=16;break a}case 3:{d=32;break a}default:{f=6;break a}}}else{c[a+8>>2]=-1;f=6}while(0);if((f|0)==6)d=0;uQ(a,d,d);c[a+76>>2]=0;c[a+80>>2]=1;c[a+760>>2]=0;c[a+764>>2]=1;c[a+772>>2]=0;c[a+776>>2]=1;c[a+400>>2]=10;c[a+120>>2]=10;c[a+704>>2]=4;c[a+708>>2]=41;c[a+188>>2]=0;c[a+192>>2]=1;c[a+112>>2]=-1;c[a+768>>2]=-1;c[a+352>>2]=-1;f=a+584|0;c[f>>2]=0;c[f+4>>2]=-2147483648;b:do if(e){e=c[b+56>>2]|0;if(e|0){f=a+24|0;d=c[f>>2]|0;if(!d){d=Of(e)|0;c[f>>2]=d;if(!d){g=-12;break}}e=c[b+44>>2]|0;if(e|0){c[d>>2]=e;tQ(c[f>>2]|0)}}d=c[b+72>>2]|0;if(d){while(1){e=c[d>>2]|0;if(!e){g=0;break b}if((UP(a,e,c[d+4>>2]|0,0)|0)>-1)d=d+8|0;else break}c[h>>2]=164084;c[h+4>>2]=164093;c[h+8>>2]=142;We(0,0,164054,h);Za()}else g=0}else g=0;while(0);Ec=i;return g|0}function ZQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=(e|0)==0;h=0;while(1){if((h|0)>=(f|0))break;i=d+(H(h,g)|0)|0;i=Mc[b&15](a,i)|0;if(!j)c[e+(h<<2)>>2]=i;h=h+1|0}return 0}function _Q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(e|0)==0;g=0;while(1){if((g|0)>=(f|0))break;i=Oc[b&3](a,d,g,0)|0;if(!h)c[e+(g<<2)>>2]=i;g=g+1|0}return 0}function $Q(a){a=a|0;var b=0,d=0;if(!(((a|0)!=0?(d=c[a+12>>2]|0,(d|0)!=0):0)?(b=c[d>>2]|0,(b|0)!=0):0))b=175205;return b|0}function aR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!((((b|0)==0?(e=c[a+12>>2]|0,(e|0)!=0):0)?(c[e+44>>2]|0)!=0:0)?(d=c[a+24>>2]|0,(d|0)!=0):0))d=0;return d|0}function bR(a){a=a|0;var b=0;a:do if(!a)a=0;else{b=0;while(1){b=GQ(b)|0;if(!b){a=0;break a}if((c[b+44>>2]|0)==(a|0)){a=b;break}}}while(0);do{a=GQ(a)|0;if(!a){b=0;break}b=c[a+44>>2]|0}while(!(b|0));return b|0}function cR(a){a=a|0;a=c[a+12>>2]|0;if((a|0)!=0?(c[a+92>>2]|0)!=0:0)a=6;else a=5;return a|0}function dR(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<=2147483582){e=eP(b,d+64|0)|0;if((e|0)>=0){e=(c[(c[b>>2]|0)+4>>2]|0)+d|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=0}}else e=-22;return e|0}function eR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+44|0;j=c[i>>2]|0;h=a+40|0;a=0;while(1){if((a|0)>=(j|0)){g=6;break}f=c[h>>2]|0;if((c[f+(a*12|0)+8>>2]|0)==(b|0)){g=4;break}a=a+1|0}if((g|0)==4){j=f+(a*12|0)|0;Te(c[j>>2]|0);c[j>>2]=d;c[f+(a*12|0)+4>>2]=e;a=0}else if((g|0)==6){a=j+1|0;if(a>>>0<=24){a=bf(c[h>>2]|0,a*12|0)|0;if(!a)a=-12;else{c[h>>2]=a;c[a+(j*12|0)>>2]=d;c[a+(j*12|0)+4>>2]=e;c[a+(j*12|0)+8>>2]=b;c[i>>2]=(c[i>>2]|0)+1;a=0}}else a=-34}return a|0}function fR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g;if(d>>>0<=2147483583?(e=Of(d+64|0)|0,c[f>>2]=e,(e|0)!=0):0){if((eR(a,b,e,d)|0)<0){Se(f);e=0}}else e=0;Ec=g;return e|0}function gR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=b+8|0;d=c[g+4>>2]|0;h=a+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+16|0;d=c[h+4>>2]|0;g=a+16|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+56|0;d=c[g+4>>2]|0;h=a+56|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=b+48|0;d=c[h+4>>2]|0;g=a+48|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=b+64|0;d=c[g+4>>2]|0;h=a+64|0;c[h>>2]=c[g>>2];c[h+4>>2]=d;c[a+36>>2]=c[b+36>>2];c[a+32>>2]=c[b+32>>2];c[a+40>>2]=0;c[a+44>>2]=0;h=b+44|0;d=b+40|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}g=c[d>>2]|0;e=c[g+(b*12|0)+4>>2]|0;f=c[g+(b*12|0)>>2]|0;g=fR(a,c[g+(b*12|0)+8>>2]|0,e)|0;if(!g){i=4;break}wW(g|0,f|0,e|0)|0;b=b+1|0}if((i|0)==4){Bf(a);b=-12}return b|0}function hR(a,b){a=a|0;b=b|0;var d=0,e=0;d=gR(a,b)|0;do if((d|0)>=0){d=c[b>>2]|0;if(!d){e=b+28|0;d=dR(a,c[e>>2]|0)|0;if((d|0)<0)b=10;else{d=c[e>>2]|0;if(d|0)wW(c[(c[a>>2]|0)+4>>2]|0,c[b+24>>2]|0,d|0)|0;d=(c[a>>2]|0)+4|0;b=9}}else{e=Eg(d)|0;c[a>>2]=e;if(!e){d=-12;b=10}else{e=b+28|0;d=b+24|0;b=9}}if((b|0)==9){c[a+24>>2]=c[d>>2];c[a+28>>2]=c[e>>2];d=0;break}else if((b|0)==10){Bf(a);break}}while(0);return d|0}function iR(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=c[77824+(d<<2)>>2]|0;if(!d)c[a>>2]=1;return b|0}function jR(a){a=a|0;var b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;c[d>>2]=0;do{b=iR(d)|0;if(!b){b=0;break}}while((YS(c[b>>2]|0,a)|0)!=0);Ec=e;return b|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;j=Ec;Ec=Ec+16|0;h=j;e=Of(40)|0;c[h>>2]=e;a:do if(!e)d=-12;else{c[e>>2]=77832;c[e+4>>2]=a;f=e+16|0;c[f>>2]=mR()|0;k=mR()|0;c[e+20>>2]=k;do if((!((k|0)==0|(c[f>>2]|0)==0)?(k=Of(8)|0,d=e+8|0,c[d>>2]=k,k|0):0)?(g=NO()|0,c[c[d>>2]>>2]=g,g=c[h>>2]|0,i=g,c[c[g+8>>2]>>2]|0):0){tQ(g);d=c[a+12>>2]|0;if(d|0){f=Of(d)|0;e=g+12|0;c[e>>2]=f;if(!f)break;d=c[a+8>>2]|0;if(d|0){c[f>>2]=d;tQ(c[e>>2]|0)}}c[b>>2]=i;d=0;break a}while(0);vf(h);d=-12}while(0);Ec=j;return d|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;zf(a);e=c[b+8>>2]|0;c[a>>2]=e;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];g=b+40|0;f=c[g+4>>2]|0;d=a+24|0;c[d>>2]=c[g>>2];c[d+4>>2]=f;c[a+32>>2]=c[b+672>>2];c[a+36>>2]=c[b+676>>2];c[a+40>>2]=c[b+716>>2];c[a+44>>2]=c[b+720>>2];switch(e|0){case 0:{c[a+20>>2]=c[b+112>>2];c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];c[a+64>>2]=c[b+340>>2];c[a+68>>2]=c[b+328>>2];c[a+72>>2]=c[b+316>>2];c[a+76>>2]=c[b+320>>2];c[a+80>>2]=c[b+324>>2];c[a+84>>2]=c[b+332>>2];e=b+188|0;f=c[e+4>>2]|0;g=a+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+88>>2]=c[b+140>>2];break}case 1:{c[a+20>>2]=c[b+352>>2];e=b+376|0;f=c[e+4>>2]|0;g=a+96|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[a+104>>2]=c[b+348>>2];c[a+108>>2]=c[b+344>>2];c[a+112>>2]=c[b+364>>2];c[a+116>>2]=c[b+356>>2];c[a+120>>2]=c[b+756>>2];c[a+124>>2]=c[b+868>>2];c[a+128>>2]=c[b+828>>2];break}case 3:{c[a+48>>2]=c[b+92>>2];c[a+52>>2]=c[b+96>>2];break}default:{}}e=b+68|0;if(c[e>>2]|0){b=b+72|0;d=Of((c[b>>2]|0)+64|0)|0;c[a+12>>2]=d;if(!d)b=-12;else{b=c[b>>2]|0;wW(d|0,c[e>>2]|0,b|0)|0;c[a+16>>2]=b;b=0}}else b=0;return b|0}function mR(){var a=0;a=Of(136)|0;if(!a)a=0;else zf(a);return a|0}function nR(a,b){a=a|0;b=b|0;if((b|0)==0?(c[(c[a+4>>2]|0)+8>>2]|0)!=0:0)a=c[a+12>>2]|0;else a=0;return a|0}function oR(a){a=a|0;var b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;c[d>>2]=0;a:do if(a|0)do{b=iR(d)|0;if(!b)break a}while((c[b+8>>2]|0)!=(a|0));while(0);do{a=iR(d)|0;if(!a){a=0;break}a=c[a+8>>2]|0}while(!(a|0));Ec=e;return a|0}function pR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+28|0;g=c[e>>2]|0;f=g+64|0;do if(!(c[f>>2]|0)){d=qR(a,b)|0;if((d|0)==-541478725){c[f>>2]=1;d=-541478725;break}if((d|0)>=0){d=rR(c[e>>2]|0,b)|0;if((d|0)>=0){d=sR(a,b)|0;if((d|0)>=0){if(!(c[(c[a+12>>2]|0)+108>>2]|0)){d=0;break}d=g+92|0;c[d>>2]=(c[d>>2]|0)+(c[b+28>>2]|0);d=0;break}}Af(b)}}else d=-541478725;while(0);return d|0}function qR(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=Ec;Ec=Ec+16|0;i=k;h=c[a+28>>2]|0;g=h+36|0;h=h+32|0;f=(c[g>>2]|0)+-1|0;while(1){if((f|0)<=-1){d=-11;break}d=Hf(c[(c[h>>2]|0)+(f<<2)>>2]|0,b)|0;if((d|0)==-11){f=f+-1|0;continue}e=(d|0)<0;if(e&(d|0)!=-541478725)break;if((f|0)==((c[g>>2]|0)+-1|0))break;f=f+1|0;d=If(c[(c[h>>2]|0)+(f<<2)>>2]|0,e?0:b)|0;if((d|0)<0){j=8;break}}if((j|0)==8){We(a,16,175428,i);Af(b)}Ec=k;return d|0}function rR(a,b){a=a|0;b=b|0;var d=0;d=a+40|0;Af(c[d>>2]|0);if(b){a=gR(c[d>>2]|0,b)|0;if(!a){c[(c[d>>2]|0)+28>>2]=c[b+28>>2];a=0}}else a=0;return a|0}function sR(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ec;Ec=Ec+48|0;m=n+32|0;l=n+24|0;j=n+16|0;h=n+8|0;e=n;k=n+36|0;c[k>>2]=0;g=rh(b,2,k)|0;a:do if(!g)b=0;else{b:do if(!(c[(c[a+12>>2]|0)+16>>2]&16384)){We(a,16,175223,e);b=-22;e=a}else{f=c[k>>2]|0;c:do if((f|0)>=4){e=g+4|0;i=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;b=f+-4|0;c[k>>2]=b;do if(i&1){if((f|0)<8)break c;b=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((b|0)<1){We(a,16,175316,h);b=-1094995529;e=a;break b}else{c[a+348>>2]=b;b=f+-8|0;c[k>>2]=b;e=g+8|0;break}}while(0);if(i&2){if((b|0)<8)break;g=e;f=g;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=a+376|0;c[h>>2]=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;c[h+4>>2]=g;b=b+-8|0;c[k>>2]=b;e=e+8|0}do if(i&4){if((b|0)<4)break c;f=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;if((f|0)<1){We(a,16,175338,j);b=-1094995529;e=a;break b}else{c[a+344>>2]=f;b=b+-4|0;c[k>>2]=b;e=e+4|0;break}}while(0);if(!(i&8)){b=0;break a}if((b|0)>=8){l=e+4|0;j=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;c[a+92>>2]=j;l=d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24;c[a+96>>2]=l;c[k>>2]=b+-8;b=tR(a,j,l)|0;if((b|0)>=0){b=0;break a}e=a;break b}}while(0);We(a,16,175358,l);b=-1094995529;e=a}while(0);We(e,16,175393,m);b=(c[a+580>>2]&8|0)==0?0:b}while(0);Ec=n;return b|0}function tR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+872|0;e=Zg(b,d,c[e>>2]|0,c[e+4>>2]|0,-1,0,a)|0;g=(e|0)<0;f=g?0:d;b=g?0:b;c[a+100>>2]=b;c[a+104>>2]=f;d=c[a+680>>2]|0;c[a+92>>2]=0-(0-b>>d);c[a+96>>2]=0-(0-f>>d);return e|0}function uR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+28|0;g=c[d>>2]|0;a:do if((PQ(a)|0)!=0?(MQ(c[a+12>>2]|0)|0)!=0:0)if(!(c[(c[d>>2]|0)+64>>2]|0)){e=(b|0)!=0;if((e?(c[b+28>>2]|0)==0:0)?c[b+24>>2]|0:0){d=-22;break}d=vR(a)|0;if((d|0)>=0){f=g+68|0;Af(c[f>>2]|0);do if(e){if((c[b+24>>2]|0)==0?(c[b+44>>2]|0)==0:0)break;d=hR(c[f>>2]|0,b)|0;if((d|0)<0)break a}while(0);d=If(c[c[g+32>>2]>>2]|0,c[f>>2]|0)|0;if((d|0)<0){Af(c[f>>2]|0);break}d=c[g+76>>2]|0;b:do if((c[d+248>>2]|0)==0?(h=wR(a,d)|0,(h|0)<0):0)if((h|0)<-11)switch(h|0){case -541478725:break b;default:{d=h;break a}}else switch(h|0){case -11:break b;default:{d=h;break a}}while(0);d=0}}else d=-541478725;else d=-22;while(0);return d|0}function vR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ec;Ec=Ec+16|0;k=m;h=m+8|0;i=m+4|0;d=c[b+28>>2]|0;j=d+36|0;a:do if(!(c[j>>2]|0)){f=c[(c[b+12>>2]|0)+120>>2]|0;f=(f|0)==0?175998:f;c[h>>2]=f;g=d+32|0;d=f;while(1){if(!d){d=0;break a}if(!(a[d>>0]|0)){d=0;break a}d=YO(h,176003)|0;c[i>>2]=d;if(!d){d=-12;break}d=jR(d)|0;if(!d){l=8;break}Se(i);e=AM(c[g>>2]|0,(c[j>>2]|0)+1|0,4)|0;if(!e){d=-12;break}c[g>>2]=e;f=c[j>>2]|0;c[j>>2]=f+1;d=kR(d,e+(f<<2)|0)|0;if((d|0)<0)break;d=c[j>>2]|0;e=c[g>>2]|0;f=c[e+(d+-1<<2)>>2]|0;if((d|0)==1){c[f+24>>2]=1;c[f+28>>2]=9e4;d=lR(c[(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)+16>>2]|0,b)|0}else{e=(c[e+(d+-2<<2)>>2]|0)+32|0;d=c[e+4>>2]|0;f=f+24|0;c[f>>2]=c[e>>2];c[f+4>>2]=d;f=c[g>>2]|0;d=c[j>>2]|0;d=Kf(c[(c[f+(d+-1<<2)>>2]|0)+16>>2]|0,c[(c[f+(d+-2<<2)>>2]|0)+20>>2]|0)|0}if((d|0)<0)break;d=Lf(c[(c[g>>2]|0)+((c[j>>2]|0)+-1<<2)>>2]|0)|0;if((d|0)<0)break;d=c[h>>2]|0}if((l|0)==8){c[k>>2]=c[i>>2];We(b,16,176005,k);Se(i);d=-558323010}RQ(b)}else d=0;while(0);Ec=m;return d|0}function wR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+32|0;g=i+16|0;d=i;e=c[a+28>>2]|0;if(c[b+248>>2]|0){c[d>>2]=175475;c[d+4>>2]=128996;c[d+8>>2]=607;We(0,0,164054,d);Za()}f=a+12|0;d=c[(c[f>>2]|0)+108>>2]|0;if(!d)d=xR(a,b)|0;else d=Mc[d&15](a,b)|0;a:do if((d|0)>=0){switch(d|0){case 0:break;default:{h=16;break a}}d=c[b+400>>2]|0;e=(d|0)==0;if(!(!e?(c[d+8>>2]|0)==20:0))h=10;do if((h|0)==10)if(!(c[(c[f>>2]|0)+16>>2]&2))if(e){d=0;h=16;break a}else break;else{c[g>>2]=175490;c[g+4>>2]=128996;c[g+8>>2]=621;We(0,0,164054,g);Za()}while(0);d=c[c[d+4>>2]>>2]|0;if(d){d=Mc[d&15](a,b)|0;if((d|0)<0)bg(b);else h=16}else{d=0;h=16}}else{switch(d|0){case -541478725:break;default:{h=16;break a}}c[e+80>>2]=1;d=-541478725;h=16}while(0);if((h|0)==16)Cf(b+400|0);Ec=i;return d|0}function xR(a,b){a=a|0;b=b|0;var d=0,e=0;e=b+248|0;do{if(c[e>>2]|0){d=0;break}d=yR(a,b)|0}while((d|0)>=0);return d|0}function yR(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=Ec;Ec=Ec+144|0;K=W+128|0;J=W+120|0;V=W+64|0;Q=W+56|0;G=W+48|0;E=W+40|0;B=W+32|0;x=W+24|0;r=W+16|0;o=W+8|0;j=W;T=W+96|0;i=W+76|0;q=W+112|0;A=W+104|0;N=W+88|0;O=W+80|0;P=b+28|0;U=c[P>>2]|0;R=c[U+24>>2]|0;S=R+24|0;if(!(((c[S>>2]|0)==0?(c[U+64>>2]|0)==0:0)?(Af(R),f=pR(b,R)|0,(f|0)<0&(f|0)!=-541478725):0))k=4;do if((k|0)==4){L=U+80|0;if(!(c[L>>2]|0)){if(((c[S>>2]|0)==0?(c[(c[b+12>>2]|0)+16>>2]&32|0)==0:0)?(c[b+696>>2]&1|0)==0:0){f=-541478725;break}c[T>>2]=0;I=b+696|0;if(!(c[I>>2]&1)){h=b+12|0;f=Oc[c[(c[h>>2]|0)+92>>2]&3](b,e,T,R)|0;g=c[h>>2]|0;if(!(c[g+116>>2]&4)){u=R+16|0;v=c[u+4>>2]|0;w=e+120|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+8>>2]|0)){if(!(c[b+140>>2]|0)){u=R+56|0;v=c[u+4>>2]|0;w=e+328|0;c[w>>2]=c[u>>2];c[w+4>>2]=v}if(!(c[g+16>>2]&2)){g=e+92|0;if(!(c[g>>2]|0)){u=b+188|0;v=c[u+4>>2]|0;w=g;c[w>>2]=c[u>>2];c[w+4>>2]=v}g=e+68|0;if(!(c[g>>2]|0))c[g>>2]=c[b+92>>2];g=e+72|0;if(!(c[g>>2]|0))c[g>>2]=c[b+96>>2];g=e+80|0;if((c[g>>2]|0)==-1){c[g>>2]=c[b+112>>2];v=h}else v=h}else v=h}else v=h}else{f=zR(b,e,T,R)|0;v=b+12|0}w=c[T>>2]|0;a:do switch(c[(c[v>>2]|0)+8>>2]|0){case 0:{if(c[e+296>>2]&4|0){c[T>>2]=0;break a}if(w|0){D=e+104|0;C=e+120|0;C=AR(b,c[D>>2]|0,c[D+4>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0;D=M()|0;E=e+320|0;c[E>>2]=C;c[E+4>>2]=D}break}case 1:{if((f|0)>-1&(w|0)!=0){u=e+104|0;t=e+120|0;t=AR(b,c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=M()|0;g=e+320|0;c[g>>2]=t;c[g+4>>2]=u;g=e+80|0;if((c[g>>2]|0)==-1)c[g>>2]=c[b+352>>2];g=e+240|0;u=g;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0){s=b+376|0;t=c[s+4>>2]|0;u=g;c[u>>2]=c[s>>2];c[u+4>>2]=t}g=e+352|0;if(!(c[g>>2]|0))c[g>>2]=c[b+348>>2];g=e+232|0;if(!(c[g>>2]|0))c[g>>2]=c[b+344>>2]}g=rh(c[U+40>>2]|0,11,i)|0;if((g|0)!=0&(c[i>>2]|0)>9){t=c[P>>2]|0;u=H(c[t+108>>2]|0,d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24)|0;c[t+56>>2]=u;t=g+4|0;t=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;c[j>>2]=u;c[j+4>>2]=t;We(b,48,175610,j);u=a[g+8>>0]|0;s=a[g+9>>0]|0}else{t=0;u=0;s=0}g=c[T>>2]|0;if((g|0?(c[e+296>>2]&4|0)!=0:0)?(c[b+64>>2]&536870912|0)==0:0){l=(c[P>>2]|0)+56|0;j=(c[l>>2]|0)-(c[e+76>>2]|0)|0;c[l>>2]=(j|0)>0?j:0;c[T>>2]=0}else k=43;do if(((k|0)==43?(m=(c[P>>2]|0)+56|0,n=c[m>>2]|0,(n|0)>0&(g|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){l=e+76|0;g=c[l>>2]|0;if((g|0)<=(n|0)){c[T>>2]=0;x=n-g|0;c[m>>2]=x;c[o>>2]=x;We(b,48,175657,o);break}o=c[e+64>>2]|0;Pg(o,o,0,n,g-n|0,c[b+348>>2]|0,c[e+80>>2]|0)|0;g=b+772|0;if((c[g>>2]|0)!=0?(p=c[b+344>>2]|0,(p|0)!=0):0){j=c[(c[P>>2]|0)+56>>2]|0;c[q>>2]=1;c[q+4>>2]=p;c[J>>2]=c[q>>2];c[J+4>>2]=c[q+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];j=SP(j,((j|0)<0)<<31>>31,J,K)|0;k=M()|0;g=e+104|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=hW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+112|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=hW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+120|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((h|0)==0&(i|0)==-2147483648)){p=hW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}g=e+336|0;i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;if(!((i|0)<(k|0)|(i|0)==(k|0)&h>>>0<j>>>0)){p=iW(h|0,i|0,j|0,k|0)|0;q=M()|0;r=g;c[r>>2]=p;c[r+4>>2]=q}}else We(b,24,175690,r);r=c[l>>2]|0;c[x>>2]=c[(c[P>>2]|0)+56>>2];c[x+4>>2]=r;We(b,48,175740,x);x=(c[P>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)-(c[x>>2]|0);c[x>>2]=0}while(0);do if((t|0?(C=e+76|0,y=c[C>>2]|0,y>>>0>=t>>>0&(c[T>>2]|0)!=0):0)?(c[b+64>>2]&536870912|0)==0:0){if((y|0)==(t|0)){c[T>>2]=0;break}g=b+772|0;if((c[g>>2]|0)!=0?(z=c[b+344>>2]|0,(z|0)!=0):0){c[A>>2]=1;c[A+4>>2]=z;c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[K>>2]=c[g>>2];c[K+4>>2]=c[g+4>>2];A=SP(y-t|0,0,J,K)|0;B=M()|0;g=e+336|0;c[g>>2]=A;c[g+4>>2]=B;g=b}else{We(b,24,175760,B);g=b}B=c[C>>2]|0;c[E>>2]=t;c[E+4>>2]=B;We(g,48,175812,E);c[C>>2]=(c[C>>2]|0)-t}while(0);if((c[T>>2]|0?(c[b+64>>2]&536870912|0)!=0:0)?(D=ah(e,9,10)|0,D|0):0){C=c[(c[P>>2]|0)+56>>2]|0;E=D+4|0;D=c[E>>2]|0;a[D>>0]=C;a[D+1>>0]=C>>8;a[D+2>>0]=C>>16;a[D+3>>0]=C>>24;D=(c[E>>2]|0)+4|0;a[D>>0]=t;a[D+1>>0]=t>>8;a[D+2>>0]=t>>16;a[D+3>>0]=t>>24;a[(c[E>>2]|0)+8>>0]=u;a[(c[E>>2]|0)+9>>0]=s;c[(c[P>>2]|0)+56>>2]=0}break}default:{}}while(0);g=c[v>>2]|0;if((((c[g+8>>2]|0)==1?(F=U+104|0,(f|0)>-1&(c[F>>2]|0)==0):0)?(f|0)!=(c[R+28>>2]|0):0)?(c[g+16>>2]&256|0)==0:0){We(b,24,175835,G);c[F>>2]=1}if(!(c[T>>2]|0))bg(e);if(((f|0)>-1?(c[(c[v>>2]|0)+8>>2]|0)==0:0)?(c[b+60>>2]&65536|0)==0:0)f=c[R+28>>2]|0;g=b+760|0;if((c[g>>2]|0)>0?(c[b+764>>2]|0)>0:0){c[O>>2]=c[b+84>>2];c[O+4>>2]=1;c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[K>>2]=c[O>>2];c[K+4>>2]=c[O+4>>2];cN(N,J,K);K=c[N>>2]|0;O=b+76|0;c[O>>2]=c[N+4>>2];c[O+4>>2]=K}do if(!(w|0?1:(c[(c[P>>2]|0)+64>>2]|0)==0)){if((f|0)>=0){c[L>>2]=1;break}if(!(c[I>>2]&1))g=21;else g=(c[b+688>>2]|0)+20|0;O=U+112|0;P=c[O>>2]|0;c[O>>2]=P+1;if((P|0)>=(g|0)){We(b,16,175865,Q);c[L>>2]=1;f=-558323010}}while(0);g=U+92|0;c[g>>2]=(c[g>>2]|0)+f;g=R+28|0;h=c[g>>2]|0;i=(f|0)<0;if(i|(h|0)<=(f|0))Af(R);else{c[S>>2]=(c[S>>2]|0)+f;c[g>>2]=h-f;U=c[U+40>>2]|0;S=U+28|0;c[S>>2]=(c[S>>2]|0)-f;S=R+8|0;c[S>>2]=0;c[S+4>>2]=-2147483648;S=R+16|0;c[S>>2]=0;c[S+4>>2]=-2147483648;S=U+8|0;c[S>>2]=0;c[S+4>>2]=-2147483648;U=U+16|0;c[U>>2]=0;c[U+4>>2]=-2147483648}if(c[T>>2]|0?(c[e+248>>2]|0)==0:0){c[V>>2]=175941;c[V+4>>2]=128996;c[V+8>>2]=584;We(0,0,164054,V);Za()}f=i?f:0}else f=-541478725}while(0);Ec=W;return f|0}function zR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=c[(c[a+28>>2]|0)+20>>2]|0;o=p+148|0;h=c[o>>2]|0;XQ(p);n=p+144|0;f=BR((c[p>>2]|0)+((c[n>>2]|0)*352|0)|0,a,e)|0;do if(!f){m=a+688|0;f=p+152|0;if((c[n>>2]|0)<=((c[m>>2]|0)+-1+(((c[a+16>>2]|0)==33)<<31>>31)|0))if(c[f>>2]|0){c[d>>2]=0;e=e+28|0;f=c[e>>2]|0;if(f)break}else g=5;else{c[f>>2]=0;g=5}if((g|0)==5)e=e+28|0;l=b+120|0;j=h;while(1){k=c[p>>2]|0;i=j+1|0;f=k+(j*352|0)+300|0;if(c[f>>2]|0){g=k+(j*352|0)+184|0;JU(g)|0;h=k+(j*352|0)+108|0;while(1){if(!(c[f>>2]|0))break;yb(h|0,g|0)|0}KU(g)|0}cg(b,c[k+(j*352|0)+288>>2]|0);h=k+(j*352|0)+292|0;c[d>>2]=c[h>>2];q=k+(j*352|0)+232|0;f=c[q+4>>2]|0;g=l;c[g>>2]=c[q>>2];c[g+4>>2]=f;g=k+(j*352|0)+296|0;f=c[g>>2]|0;c[h>>2]=0;c[g>>2]=0;g=(i|0)<(c[m>>2]|0)?i:0;if(c[e>>2]|0)break;if(!((f|0)>-1&(c[d>>2]|0)==0))break;if((g|0)==(c[o>>2]|0))break;else j=g}VQ(a,c[k+(j*352|0)+212>>2]|0,1)|0;if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=0;c[o>>2]=g;if((f|0)>-1)f=c[e>>2]|0}while(0);Uk(p);return f|0}function AR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(e|0)==0&(f|0)==-2147483648;if(k)if((b|0)==0&(d|0)==-2147483648)g=0;else{l=a+808|0;c[l>>2]=b;c[l+4>>2]=d;l=6}else{l=a+808|0;h=l;i=c[h+4>>2]|0;j=a+792|0;g=j;h=hW(c[g>>2]|0,c[g+4>>2]|0,((i|0)>(f|0)|((i|0)==(f|0)?(c[h>>2]|0)>>>0>=e>>>0:0))&1|0,0)|0;i=M()|0;c[j>>2]=h;c[j+4>>2]=i;c[l>>2]=e;c[l+4>>2]=f;if((b|0)==0&(d|0)==-2147483648){h=a+800|0;g=0;i=e;j=f;l=7}else l=6}if((l|0)==6){h=a+800|0;j=h;i=c[j+4>>2]|0;g=a+784|0;m=g;j=hW(c[m>>2]|0,c[m+4>>2]|0,((i|0)>(d|0)|((i|0)==(d|0)?(c[j>>2]|0)>>>0>=b>>>0:0))&1|0,0)|0;i=M()|0;c[g>>2]=j;c[g+4>>2]=i;g=1;i=b;j=d;l=7}if((l|0)==7){m=h;c[m>>2]=i;c[m+4>>2]=j}l=a+784|0;j=c[l+4>>2]|0;m=a+792|0;a=c[m+4>>2]|0;m=g&(k|((j|0)<(a|0)|((j|0)==(a|0)?(c[l>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0)));L((m?d:f)|0);return (m?b:e)|0}function BR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ec;Ec=Ec+16|0;h=o;k=c[a>>2]|0;l=k+4|0;g=c[l>>2]|0;m=a+212|0;if((c[d+28>>2]|0)==0?(c[(c[(c[m>>2]|0)+12>>2]|0)+16>>2]&32|0)==0:0)b=0;else n=3;do if((n|0)==3){i=a+156|0;JU(i)|0;b=CR(c[m>>2]|0,b)|0;if(b|0){KU(i)|0;break}c[a+344>>2]=(c[(c[m>>2]|0)+576>>2]|0)>>>16&1;WQ(a);if(g|0){b=g+300|0;if((c[b>>2]|0)==1){e=g+184|0;JU(e)|0;f=g+60|0;while(1){if((c[b>>2]|0)!=1)break;yb(f|0,e|0)|0}KU(e)|0}b=VQ(c[m>>2]|0,c[g+212>>2]|0,0)|0;if(b|0){KU(i)|0;break}}b=a+216|0;Af(b);b=hR(b,d)|0;if((b|0)<0){KU(i)|0;We(c[m>>2]|0,16,175955,h);break}j=a+300|0;c[j>>2]=1;xb(a+12|0)|0;KU(i)|0;b=c[m>>2]|0;a:do if(!(c[b+700>>2]|0)){if((c[b+120>>2]|0)==10?(c[b+400>>2]|0)==10:0)break;b=a+184|0;e=a+60|0;f=a+316|0;g=a+320|0;d=a+296|0;h=a+324|0;i=a+328|0;while(1){if((c[j>>2]|0)==4)break a;if(!(c[j>>2]|0))break a;JU(b)|0;while(1){if((c[j>>2]|0)!=1)break;yb(e|0,b|0)|0}switch(c[j>>2]|0){case 2:{c[d>>2]=um(c[m>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;n=27;break}case 3:{c[i>>2]=RL(c[m>>2]|0,c[h>>2]|0)|0;n=27;break}default:{}}if((n|0)==27){n=0;c[j>>2]=1;xb(e|0)|0}KU(b)|0}}while(0);c[l>>2]=a;b=k+144|0;c[b>>2]=(c[b>>2]|0)+1;b=0}while(0);Ec=o;return b|0}function CR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;c[a+60>>2]=c[b+60>>2];c[a+116>>2]=c[b+116>>2];c[a+400>>2]=c[b+400>>2];c[a+32>>2]=c[b+32>>2];c[a+576>>2]=c[b+576>>2];c[a+832>>2]=c[b+832>>2];c[a+240>>2]=c[b+240>>2];c[a+64>>2]=c[b+64>>2];f=a+724|0;d=b+724|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[a+360>>2]=c[b+360>>2];f=b+584|0;d=c[f+4>>2]|0;g=a+584|0;c[g>>2]=c[f>>2];c[g+4>>2]=d;c[a+700>>2]=c[b+700>>2];g=b+176|0;d=c[g>>2]|0;do if(d){e=b+184|0;b=c[e>>2]|0;if(!b)h=7;else{f=a+184|0;if((c[a+176>>2]|0)<(d|0)){d=JM(f,d,4)|0;if((d|0)<=-1)break;d=c[g>>2]|0;b=c[e>>2]|0}wW(c[f>>2]|0,b|0,d<<2|0)|0;d=c[g>>2]|0;h=7}}else{d=0;h=7}while(0);if((h|0)==7){c[a+176>>2]=d;d=0}return d|0}function DR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[a+28>>2]|0;bg(b);do if((PQ(a)|0)!=0?(MQ(c[a+12>>2]|0)|0)!=0:0){d=vR(a)|0;if((d|0)>=0){d=c[e+76>>2]|0;if(!(c[d+248>>2]|0)){d=wR(a,b)|0;if((d|0)<0)break}else cg(b,d);if((c[a+8>>2]|0)==0?(f=ER(a,b)|0,(f|0)<0):0){bg(b);d=f;break}d=a+360|0;c[d>>2]=(c[d>>2]|0)+1;d=0}}else d=-22;while(0);return d|0}function 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,m=0,n=0;m=Ec;Ec=Ec+32|0;l=m;f=b+392|0;g=c[f>>2]|0;h=b+396|0;i=c[h>>2]|0;j=b+384|0;k=c[j>>2]|0;d=b+388|0;e=c[d>>2]|0;if((g>>>0<(2147483647-i|0)>>>0&k>>>0<(2147483647-e|0)>>>0?(i+g|0)>>>0<(c[b+68>>2]|0)>>>0:0)?(e+k|0)>>>0<(c[b+72>>2]|0)>>>0:0)if(!(c[a+888>>2]|0))a=0;else a=PP(b,c[a+60>>2]&1)|0;else{n=c[b+68>>2]|0;b=c[b+72>>2]|0;c[l>>2]=g;c[l+4>>2]=i;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=n;c[l+20>>2]=b;We(a,24,176098,l);c[f>>2]=0;c[h>>2]=0;c[j>>2]=0;c[d>>2]=0;a=0}Ec=m;return a|0}function FR(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0){OQ(b)|0;Se(b+68|0);Se(b+736|0);Se(b+248|0);Se(b+252|0);Se(b+436|0);Se(a)}return}function GR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=c[77876+(b<<2)>>2]|0;if((b|0)!=3)c[a>>2]=b+1;return d|0}function HR(a){a=a|0;var b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;b=e;c[b>>2]=0;a:do if(!a)a=0;else{do{d=GR(b)|0;if(!d){a=0;break a}if((c[d>>2]|0)==(a|0))break;if((c[d+4>>2]|0)==(a|0))break;if((c[d+8>>2]|0)==(a|0))break;if((c[d+12>>2]|0)==(a|0))break}while((c[d+16>>2]|0)!=(a|0));a=Of(344)|0;if(a|0){c[a+4>>2]=d;b=Of(c[d+20>>2]|0)|0;c[a>>2]=b;do if(b|0){c[a+72>>2]=1;c[a+32>>2]=1;b=c[d+24>>2]|0;if(b|0?Kc[b&31](a)|0:0)break;c[a+224>>2]=-1;d=a+232|0;c[d>>2]=0;c[d+4>>2]=0;c[a+240>>2]=-2147483648;c[a+244>>2]=-2147483648;c[a+248>>2]=-2147483648;c[a+336>>2]=-1;break a}while(0);Se(a)}Te(a);a=0}while(0);Ec=e;return a|0}function IR(a){a=a|0;var b=0;if(a|0){b=c[(c[a+4>>2]|0)+32>>2]|0;if(b|0)Sc[b&63](a);Se(a);Te(a)}return}function JR(a){a=a|0;var b=0;KR(a);b=c[a+696>>2]|0;if(!(b&2))if(!(b&1))a=0;else a=MR(a)|0;else a=LR(a)|0;return a|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;g=i;f=c[(c[a+12>>2]|0)+16>>2]|0;if((f&4096|0)!=0?(c[a+60>>2]&589824|0)==0:0)e=(c[a+64>>2]&32768|0)==0;else e=0;d=a+688|0;b=c[d>>2]|0;do if((b|0)!=1){if(e?c[a+692>>2]&1|0:0){d=1;h=11;break}if(f&8192|0?c[a+692>>2]&2|0:0){d=2;h=11;break}if(!(f&32768)){c[d>>2]=1;d=0;b=1;h=11}}else{d=0;b=1;h=11}while(0);if((h|0)==11)c[a+696>>2]=d;if((b|0)>16){c[g>>2]=b;c[g+4>>2]=16;We(a,24,176332,g)}Ec=i;return}function LR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+688|0;b=c[i>>2]|0;h=a+12|0;if(((IQ(c[h>>2]|0)|0)!=0?(c[a+16>>2]|0)==1:0)?(c[a+96>>2]|0)>2800:0){c[i>>2]=1;j=10}else j=5;a:do if((j|0)==5){if(!b){b=OP()|0;d=c[a+96>>2]|0;if(d){g=(d+15|0)/16|0;b=(b|0)>(g|0)?g:b}e=b+1|0;e=(b|0)>1?((e|0)<16?e:16):1;c[i>>2]=e}else e=b;if((e|0)<2)j=10;else{f=Of(48)|0;g=a+28|0;b=c[g>>2]|0;c[b+20>>2]=f;d=c[(c[h>>2]|0)+116>>2]&32|0?35:0;c[45997]=d;do if(f){b=yQ(f,a,79,d,e)|0;if((b|0)<2){AQ(f);b=c[g>>2]|0;break}else{c[i>>2]=b;c[a+704>>2]=5;c[a+708>>2]=42;break a}}while(0);Se(b+20|0);c[i>>2]=1;c[a+696>>2]=0}}while(0);if((j|0)==10)c[a+696>>2]=0;return 0}function MR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Ec;Ec=Ec+16|0;r=t;b=a+688|0;d=c[b>>2]|0;e=c[a+12>>2]|0;if(!d){q=OP()|0;d=q+1|0;d=(q|0)>1?((d|0)<16?d:16):1;c[b>>2]=d}a:do if((d|0)>=2){q=Of(156)|0;b=a+28|0;c[(c[b>>2]|0)+20>>2]=q;if(!q)b=-12;else{p=kg(d,352)|0;c[q>>2]=p;if(!p){Se((c[b>>2]|0)+20|0);b=-12;break}IU(q+8|0,0)|0;IU(q+36|0,0)|0;IU(q+64|0,0)|0;wb(q+92|0,0)|0;c[q+140>>2]=1;c[q+152>>2]=1;n=e+80|0;o=e+56|0;l=e+64|0;b=0;p=0;f=a;while(1){if((p|0)>=(d|0)){b=0;break a}c[r>>2]=cf(896)|0;m=c[q>>2]|0;j=m+(p*352|0)|0;IU(m+(p*352|0)+156|0,0)|0;IU(m+(p*352|0)+184|0,0)|0;wb(m+(p*352|0)+12|0,0)|0;wb(m+(p*352|0)+60|0,0)|0;wb(m+(p*352|0)+108|0,0)|0;k=Fg()|0;c[m+(p*352|0)+288>>2]=k;if(!k){s=11;break}c[j>>2]=q;e=c[r>>2]|0;c[m+(p*352|0)+212>>2]=e;k=e;if(!e){b=-12;s=23;break}wW(e|0,f|0,896)|0;e=cf(116)|0;i=k+28|0;c[i>>2]=e;if(!e){s=14;break}g=c[f+28>>2]|0;h=e+116|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[i>>2]|0;c[h+20>>2]=j;c[h+40>>2]=m+(p*352|0)+216;if(p){e=cf(c[o>>2]|0)|0;c[k+24>>2]=e;if(!e){b=-12;s=23;break}wW(e|0,c[f+24>>2]|0,c[o>>2]|0)|0;c[c[i>>2]>>2]=1;e=c[l>>2]|0;if(e)b=Kc[e&31](k)|0}else{e=c[n>>2]|0;if(e)b=Kc[e&31](k)|0;VQ(a,k,1)|0;f=k}if(b|0){s=23;break}c[m+(p*352|0)+344>>2]=(c[k+576>>2]|0)>>>16&1;k=zb(m+(p*352|0)+4|0,0,25,j|0)|0;b=0-k|0;k=(k|0)==0;c[m+(p*352|0)+8>>2]=k&1;if(!k)break;p=p+1|0}if((s|0)==11){Se(r);b=-12;s=23}else if((s|0)==14){c[k+24>>2]=0;b=-12;s=23}SQ(a,p+1|0)}}else{c[a+696>>2]=0;b=0}while(0);Ec=t;return b|0}function NR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Ec;Ec=Ec+32|0;z=B+16|0;y=B;n=c[a+212>>2]|0;j=c[n+12>>2]|0;t=a+156|0;JU(t)|0;u=a+332|0;v=a+300|0;w=a+12|0;x=j+68|0;d=n+700|0;e=n+400|0;f=a+336|0;g=n+592|0;h=a+288|0;i=a+292|0;j=j+92|0;k=a+216|0;l=a+296|0;m=n+28|0;o=a+340|0;p=a+184|0;q=a+60|0;r=a+108|0;a:while(1){while(1){b=(c[u>>2]|0)==0;if(c[v>>2]|0)break;if(!b){A=28;break a}yb(w|0,t|0)|0}if(!b){A=28;break}do if(!(c[x>>2]|0)){if((c[d>>2]|0)==0?(c[e>>2]|0)!=10:0)break;Mh(n)}while(0);if(c[f>>2]|0){A=12;break}if(c[g>>2]|0){JU((c[a>>2]|0)+36|0)|0;c[f>>2]=1}bg(c[h>>2]|0);c[i>>2]=0;b=Oc[c[j>>2]&3](n,c[h>>2]|0,i,k)|0;c[l>>2]=b;if(!((b|0)>=0?(c[i>>2]|0)!=0:0))A=17;if((A|0)==17?(A=0,s=c[h>>2]|0,c[s+248>>2]|0):0){if(!(c[(c[m>>2]|0)+4>>2]|0))b=s;else{We(n,16,176238,z);b=c[h>>2]|0}bg(b)}if((c[v>>2]|0)==1)Mh(n);if(c[f>>2]|0){c[f>>2]=0;KU((c[a>>2]|0)+36|0)|0}if(c[o>>2]|0){c[o>>2]=0;XQ(c[a>>2]|0)}JU(p)|0;c[v>>2]=0;zW(q|0)|0;xb(r|0)|0;KU(p)|0}if((A|0)==12){c[y>>2]=176214;c[y+4>>2]=164010;c[y+8>>2]=190;We(0,0,164054,y);Za()}else if((A|0)==28){KU(t)|0;Ec=B;return 0}return 0}function OR(a){a=a|0;Kc[c[(c[(c[a+28>>2]|0)+20>>2]|0)+12>>2]&31](a)|0;return}function PR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[(c[a+28>>2]|0)+20>>2]|0;e=c[g+4>>2]|0;if(!e)f=Oc[c[g+8>>2]&3](a,c[g+16>>2]|0,b,d)|0;else{f=(c[g+16>>2]|0)+(H(c[g+24>>2]|0,b)|0)|0;f=Mc[e&15](a,f)|0}e=c[g+20>>2]|0;if(e|0)c[e+(b<<2)>>2]=f;return}function QR(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[(c[a+28>>2]|0)+20>>2]|0;if((c[a+696>>2]&2|0)!=0?(c[a+688>>2]|0)>=2:0)if((f|0)<1)a=0;else{c[h+24>>2]=g;c[h+16>>2]=d;c[h+4>>2]=b;c[h+20>>2]=e;CQ(c[h>>2]|0,f,(c[h+12>>2]|0)!=0&1);a=0}else a=ZQ(a,b,d,e,f,g)|0;return a|0}function RR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[(c[(c[a+28>>2]|0)+20>>2]|0)+8>>2]=b;return QR(a,0,d,e,f,0)|0}function SR(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)KU(183992)|0;return}function TR(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=Ec;Ec=Ec+848|0;Y=ga+336|0;X=ga+328|0;aa=ga+288|0;W=ga+280|0;V=ga+272|0;U=ga+264|0;T=ga+248|0;Q=ga+240|0;P=ga+232|0;O=ga+224|0;L=ga+208|0;K=ga+192|0;J=ga+184|0;I=ga+176|0;H=ga+168|0;G=ga+152|0;E=ga+144|0;C=ga+136|0;A=ga+128|0;z=ga+120|0;y=ga+112|0;x=ga+104|0;w=ga+96|0;v=ga+88|0;r=ga+80|0;q=ga+72|0;p=ga+64|0;o=ga+48|0;$=ga+40|0;n=ga+32|0;m=ga+24|0;l=ga+16|0;j=ga+8|0;i=ga;fa=ga+312|0;Z=ga+320|0;_=ga+304|0;c[fa>>2]=0;do if(!(PQ(a)|0)){ea=a+12|0;g=c[ea>>2]|0;h=(g|0)==0;if(!b)if(h){We(a,16,176428,i);f=-22;break}else ca=g;else if(h|(g|0)==(b|0))ca=b;else{f=c[b>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=f;We(a,16,176466,j);f=-22;break}if((c[a+72>>2]|0)>>>0<=268435391){da=(e|0)!=0;if(da)$g(fa,c[e>>2]|0,0)|0;UR(ca);S=Of(116)|0;ba=a+28|0;c[ba>>2]=S;a:do if(!S)f=-12;else{S=Of(88)|0;c[(c[ba>>2]|0)+16>>2]=S;b:do if(((((((S|0)!=0?(S=Fg()|0,c[(c[ba>>2]|0)+12>>2]=S,(S|0)!=0):0)?(S=Fg()|0,c[(c[ba>>2]|0)+100>>2]=S,(S|0)!=0):0)?(S=Fg()|0,c[(c[ba>>2]|0)+76>>2]=S,(S|0)!=0):0)?(S=NO()|0,c[(c[ba>>2]|0)+68>>2]=S,(S|0)!=0):0)?(S=NO()|0,c[(c[ba>>2]|0)+24>>2]=S,(S|0)!=0):0)?(S=NO()|0,k=c[ba>>2]|0,c[k+40>>2]=S,(S|0)!=0):0){c[k+108>>2]=1;R=ca+56|0;b=c[R>>2]|0;S=a+24|0;do if((b|0)>0){if(!(c[S>>2]|0)){g=Of(b)|0;c[S>>2]=g;if(!g){f=-12;break a}b=ca+44|0;h=c[b>>2]|0;if(!h)break;c[g>>2]=h;tQ(g)}else b=ca+44|0;if(c[b>>2]|0?(f=wQ(c[S>>2]|0,fa)|0,(f|0)<0):0)break b}else c[S>>2]=0;while(0);f=wQ(a,fa)|0;if((f|0)>=0){b=a+844|0;g=c[b>>2]|0;if(g|0?(bP(c[ca>>2]|0,g,44)|0)<1:0){f=c[b>>2]|0;c[l>>2]=c[ca>>2];c[l+4>>2]=f;We(a,16,176542,l);f=-22;break}i=a+100|0;b=c[i>>2]|0;c:do if(!b)N=37;else{g=c[a+104>>2]|0;if(!g){N=37;break}do if(c[a+92>>2]|0){if(!(c[a+96>>2]|0))break;switch(c[a+16>>2]|0){case 189:case 92:case 27:{N=43;break c}default:{}}}while(0);f=tR(a,b,g)|0;N=40}while(0);do if((N|0)==37){g=c[a+92>>2]|0;if(!g){N=42;break}h=c[a+96>>2]|0;if(!h){N=42;break}f=tR(a,g,h)|0;N=40}while(0);if((N|0)==40){if((f|0)<0)break;b=c[i>>2]|0;N=42}do if((N|0)==42){if(b|0){N=43;break}g=c[a+104>>2]|0;if(g|0){b=0;N=47;break}b=a+92|0;if(c[b>>2]|0){b=0;g=0;N=47;break}if(!(c[a+96>>2]|0))s=b;else{b=0;g=0;N=47}}while(0);if((N|0)==43){g=c[a+104>>2]|0;N=47}do if((N|0)==47){h=a+872|0;F=h;i=a+92|0;if((Zg(b,g,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0?(F=h,(Zg(c[i>>2]|0,c[a+96>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,0,a)|0)>=0):0){s=i;break}We(a,24,176576,m);tR(a,0,0)|0;s=i}while(0);b=c[s>>2]|0;do if((b|0)>0){g=c[a+96>>2]|0;if((g|0)<=0)break;h=a+188|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];if((Bm(b,g,Y)|0)>=0)break;F=a+192|0;D=c[F>>2]|0;c[n>>2]=c[h>>2];c[n+4>>2]=D;We(a,24,176614,n);c[a+188>>2]=0;c[F>>2]=1}while(0);if(MQ(ca)|0)Se(a+736|0);D=a+348|0;if((c[D>>2]|0)>>>0>64){f=-22;break}c[ea>>2]=ca;F=a+8|0;h=c[F>>2]|0;do if((h|0)==-1)N=60;else{if((h|0)==(c[ca+8>>2]|0)){N=60;break}g=a+16|0;l=g;g=c[g>>2]|0;b=h}while(0);do if((N|0)==60){b=a+16|0;g=c[b>>2]|0;if(g|0){l=b;b=h;break}B=c[ca+8>>2]|0;c[F>>2]=B;g=c[ca+12>>2]|0;c[b>>2]=g;l=b;b=B}while(0);h=ca+12|0;do if((g|0)==(c[h>>2]|0)){if(!((b|0)==4?1:(b|0)==(c[ca+8>>2]|0)))break;c[a+360>>2]=0;B=a+780|0;c[B>>2]=Mf(g)|0;b=c[ea>>2]|0;do if(c[b+16>>2]&512|0){if((c[a+568>>2]|0)<=-2)break;b=(IQ(ca)|0)!=0;b=b?176672:176680;aa=c[ca>>2]|0;c[o>>2]=b;c[o+4>>2]=aa;c[o+8>>2]=-2;We(a,16,176688,o);aa=(IQ(ca)|0)==0;f=c[h>>2]|0;if(aa)f=LQ(f)|0;else f=HQ(f)|0;if(c[f+16>>2]&512|0){f=-733130664;break b}f=c[f>>2]|0;c[p>>2]=b;c[p+4>>2]=f;We(a,16,176798,p);f=-733130664;break b}while(0);do if((c[F>>2]|0)==1){h=a+76|0;g=a+80|0;if(c[h>>2]|0?c[g>>2]|0:0)break;c[h>>2]=1;c[g>>2]=c[a+344>>2]}while(0);if(!((c[(c[ba>>2]|0)+52>>2]|0)!=0?(c[a+696>>2]&1|0)!=0:0)){f=JR(a)|0;if((f|0)<0)break b;b=c[ea>>2]|0}g=d[b+40>>0]|0;h=a+680|0;if((c[h>>2]|0)>>>0>g>>>0){c[q>>2]=g;We(a,24,176847,q);b=c[ea>>2]|0;c[h>>2]=d[b+40>>0]}d:do if(IQ(b)|0){q=Fg()|0;c[a+684>>2]=q;if(!q){f=-12;break b}m=a+76|0;do if((c[m>>2]|0)>=1){n=a+80|0;if((c[n>>2]|0)<1)break;g=c[ea>>2]|0;b=c[g+32>>2]|0;e:do if(!b)j=g;else{k=a+352|0;j=0;while(1){h=c[b+(j<<2)>>2]|0;if((h|0)==-1)break;i=c[k>>2]|0;if((i|0)==(h|0)){j=g;break e}if((c[D>>2]|0)==1){r=xQ(i)|0;r=(r|0)==(xQ(c[(c[(c[ea>>2]|0)+32>>2]|0)+(j<<2)>>2]|0)|0);t=c[ea>>2]|0;u=c[t+32>>2]|0;if(r){N=94;break}else{g=t;b=u}}j=j+1|0}if((N|0)==94?(u=u+(j<<2)|0,c[k>>2]=c[u>>2],(c[u>>2]|0)!=-1):0){j=t;break}c[v>>2]=c[k>>2];VT(Y,128,176942,v)|0;c[w>>2]=VR(sQ(c[k>>2]|0)|0,Y)|0;We(a,16,176945,w);f=-22;break b}while(0);g=c[j+24>>2]|0;f:do if(g|0){h=a+112|0;b=0;while(1){i=c[g+(b<<2)>>2]|0;if((i|0)==-1)break;if((c[h>>2]|0)==(i|0)){N=103;break}else b=b+1|0}if((N|0)==103){switch(i|0){case 14:case 32:case 13:case 140:case 12:break;default:break f}c[a+328>>2]=2;break}switch(c[l>>2]|0){case 9:case 7:{if((c[a+568>>2]|0)<0)break f;break}default:{}}c[x>>2]=c[h>>2];VT(Y,128,176942,x)|0;c[y>>2]=VR(rg(c[h>>2]|0)|0,Y)|0;We(a,16,177001,y);f=-22;break b}while(0);h=c[j+28>>2]|0;b=c[a+344>>2]|0;g:do if(h){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break;if((b|0)==(i|0))break g;else g=g+1|0}c[z>>2]=b;We(a,16,177056,z);f=-22;break b}while(0);if((b|0)<0){c[A>>2]=b;We(a,16,177056,A);f=-22;break b}i=c[j+36>>2]|0;l=a+376|0;h:do if(i|0){k=l;j=c[k>>2]|0;k=c[k+4>>2]|0;if((j|0)==0&(k|0)==0){We(a,24,177099,C);break}else b=0;while(1){h=i+(b<<3)|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==0&(h|0)==0)break;if((j|0)==(g|0)&(k|0)==(h|0))break h;else b=b+1|0}kP(Y,512,-1,j,k);c[E>>2]=Y;We(a,16,177129,E);f=-22;break b}while(0);h=l;g=c[h>>2]|0;h=c[h+4>>2]|0;b=c[D>>2]|0;do if(!((g|0)==0&(h|0)==0)){g=Xg(g,h)|0;if(!b){c[D>>2]=g;b=g;break}if((g|0)==(c[D>>2]|0)){b=g;break}f=l;kP(Y,512,-1,c[f>>2]|0,c[f+4>>2]|0);f=c[D>>2]|0;c[G>>2]=Y;c[G+4>>2]=g;c[G+8>>2]=f;We(a,16,177177,G);f=-22;break b}while(0);if((b|0)<0){c[H>>2]=b;We(a,16,177262,H);f=-22;break b}b=c[F>>2]|0;i:do if(!b){b=qg(c[a+112>>2]|0)|0;h=a+676|0;i=c[h>>2]|0;do if((i|0)>=0){if((i|0)<=8)break;b=b+32|0;g=c[b>>2]|0;if((g|0)<9)N=129}else{g=b+32|0;b=g;g=c[g>>2]|0;N=129}while(0);if((N|0)==129){c[I>>2]=i;c[I+4>>2]=g;We(a,24,177312,I);c[h>>2]=c[b>>2]}do if((c[s>>2]|0)>=1){if((c[a+96>>2]|0)<1)break;b=c[F>>2]|0;break i}while(0);We(a,16,177391,J);f=-22;break b}while(0);do if(b>>>0<2){g=a+40|0;b=c[g>>2]|0;g=c[g+4>>2]|0;J=hW(b|0,g|0,-1,-1)|0;I=M()|0;if(!(I>>>0<0|(I|0)==0&J>>>0<999))break;J=K;c[J>>2]=b;c[J+4>>2]=g;J=K+8|0;c[J>>2]=b;c[J+4>>2]=g;We(a,24,177411,K)}while(0);b=a+464|0;if(!(c[b>>2]|0)){K=c[a+428>>2]|0;K=nW(K|0,((K|0)<0)<<31>>31|0,3,0)|0;K=lW(K|0,M()|0,4,0)|0;M()|0;c[b>>2]=K}g=c[a+84>>2]|0;do if(g|0){b=c[m>>2]|0;if(!b)break;if((g|0)<=(2147483647/(b|0)|0|0))break;aa=c[n>>2]|0;c[L>>2]=g;c[L+4>>2]=b;c[L+8>>2]=aa;We(a,16,177464,L);break b}while(0);f=c[a+860>>2]|0;if(!f)break d;f=c[f+4>>2]|0;if((c[f+36>>2]|0)!=(c[a+112>>2]|0)){We(a,16,177517,O);f=-22;break b}h=a+768|0;g=c[h>>2]|0;b=f+40|0;f=c[b>>2]|0;do if((g|0)!=-1){if((g|0)==(f|0)){f=g;break}aa=rg(g)|0;f=rg(c[b>>2]|0)|0;c[P>>2]=aa;c[P+4>>2]=f;We(a,16,177582,P);f=-22;break b}while(0);c[h>>2]=f;break d}while(0);We(a,16,176908,r);f=-22;break b}while(0);P=a+784|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;P=a+808|0;c[P>>2]=0;c[P+4>>2]=-2147483648;P=a+800|0;c[P>>2]=0;c[P+4>>2]=-2147483648;do if(c[a+60>>2]&8192|0){if(c[(c[B>>2]|0)+4>>2]|0)break;We(a,24,177663,Q)}while(0);f=c[ea>>2]|0;b=c[f+80>>2]|0;do if(b){if(c[a+696>>2]&1|0?(c[(c[ba>>2]|0)+52>>2]|0)==0:0)break;f=Kc[b&31](a)|0;if((f|0)<0)break b;f=c[ea>>2]|0}while(0);do if(MQ(f)|0){f=a+40|0;Q=f;if((c[Q>>2]|0)==0&(c[Q+4>>2]|0)==0){O=WR(a)|0;P=M()|0;Q=f;c[Q>>2]=O;c[Q+4>>2]=P}g=a+376|0;b=g;f=c[b>>2]|0;b=c[b+4>>2]|0;do if((f|0)==0&(b|0)==0)N=166;else{f=Xg(f,b)|0;b=c[D>>2]|0;if(!b){c[D>>2]=f;break}if((f|0)==(b|0))break;N=g;kP(Y,512,-1,c[N>>2]|0,c[N+4>>2]|0);N=c[D>>2]|0;c[T>>2]=Y;c[T+4>>2]=f;c[T+8>>2]=N;We(a,24,177726,T);N=g;c[N>>2]=0;c[N+4>>2]=0;N=166}while(0);if((N|0)==166)f=c[D>>2]|0;if(f>>>0>64){f=-22;break b}b=a+816|0;g=c[b>>2]|0;j:do if(g|0){if((c[F>>2]|0)!=3){We(a,16,177846,U);f=-22;break b}f=c[B>>2]|0;if(c[f+16>>2]&65536|0){c[V>>2]=c[f+8>>2];We(a,24,177906,V);c[a+820>>2]=-1;break}f=a+820|0;switch(c[f>>2]|0){case 0:{c[f>>2]=1;break}case 1:break;default:break j}if((PT(177980,g)|0)==(-1|0)){f=0-(c[(ES()|0)>>2]|0)|0;c[W>>2]=c[b>>2];We(a,16,177986,W);break b}else break}while(0);f=a+760|0;if((c[f>>2]|0)<=0)break;if((c[a+764>>2]|0)<=0)break;c[_>>2]=c[a+84>>2];c[_+4>>2]=1;c[X>>2]=c[f>>2];c[X+4>>2]=c[f+4>>2];c[Y>>2]=c[_>>2];c[Y+4>>2]=c[_+4>>2];cN(Z,X,Y);Y=c[Z>>2]|0;_=a+76|0;c[_>>2]=c[Z+4>>2];c[_+4>>2]=Y}while(0);if((c[R>>2]|0)<=0){f=0;break a}f=c[S>>2]|0;if(!f){f=0;break a}b=c[ca+44>>2]|0;if(!b){f=0;break a}if((c[f>>2]|0)==(b|0)){f=0;break a}c[aa>>2]=178051;c[aa+4>>2]=131456;c[aa+8>>2]=995;We(0,0,164054,aa);Za()}while(0);We(a,16,176643,$);f=-22}}else f=-12;while(0);b=c[ea>>2]|0;if(b|0?c[b+116>>2]&2|0:0)Kc[c[b+96>>2]&31](a)|0;if(c[ca+44>>2]|0?c[ca+56>>2]|0:0)wf(c[a+24>>2]|0);wf(a);Gg(a+684|0);Gf(fa);Se(a+24|0);b=c[ba>>2]|0;if(b|0){Gg(b+12|0);Gg((c[ba>>2]|0)+100|0);Gg((c[ba>>2]|0)+76|0);xf((c[ba>>2]|0)+68|0);xf((c[ba>>2]|0)+40|0);xf((c[ba>>2]|0)+24|0);Se((c[ba>>2]|0)+16|0)}Se(ba);c[ea>>2]=0}while(0);SR(ca);if(da){Gf(e);c[e>>2]=c[fa>>2]}}else f=-22}else f=0;while(0);Ec=ga;return f|0}function UR(a){a=a|0;if((c[a+116>>2]&1|0)==0?c[a+80>>2]|0:0)JU(183992)|0;return}function VR(a,b){a=a|0;b=b|0;return (a|0?a:b)|0} |
| | | function nK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function oK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<4;q=g<<4;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;s=l-s|0;b[g>>1]=s>>>0<4096?s:0-s>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function pK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function qK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<4;j=f<<4;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function rK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function sK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function tK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function uK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<4;j=f<<4;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function vK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<16384?k:0-k>>31&16383;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<16384?m:0-m>>31&16383;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<16384?o:0-o>>31&16383;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function wK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<16384?p:0-p>>31&16383;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<16384?r:0-r>>31&16383;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<16384?t:0-t>>31&16383;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<16384?v:0-v>>31&16383;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<16384?x:0-x>>31&16383;g=g+1|0}yW(d|0,0,256)|0;return}function xK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function yK(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<16384?j:0-j>>31&16383;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function zK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else xK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;vK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function AK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else yK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;wK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function BK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function CK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vK((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150645+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vK((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function DK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150645+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)xK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else vK(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function EK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Ec;Ec=Ec+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150641+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Ec=h;return}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;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function GK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ec;Ec=Ec+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150639+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Ec=g;return}function HK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function IK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function JK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function KK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+6)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<16384?k:0-k>>31&16383;c=c+(j<<1)|0;h=h+1|0}return}function LK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function NK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<16384?a:0-a>>31&16383;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function OK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<6|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function PK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<6;y=g<<6;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function QK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function RK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<6;w=g<<6;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<6;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<16384?r:0-r>>31&16383;t=s-t|0;b[l>>1]=t>>>0<16384?t:0-t>>31&16383}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function SK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<6;v=f<<6;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function TK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function UK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<6;r=f<<6;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function VK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<6;s=g<<6;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;u=l-u|0;b[g>>1]=u>>>0<16384?u:0-u>>31&16383}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function WK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function YK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<6;q=g<<6;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;s=l-s|0;b[g>>1]=s>>>0<16384?s:0-s>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function ZK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<6;r=g<<6;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<6;o=f+-63|0;a:do if(m<<24>>24>=1){d=63-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<16384?m:0-m>>31&16383;t=l-t|0;b[g>>1]=t>>>0<16384?t:0-t>>31&16383}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function _K(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<6;j=f<<6;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function $K(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function bL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function cL(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<6;j=f<<6;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function dL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==4)break;p=f+(h<<1)|0;o=b[p>>1]|0;l=f+(h+8<<1)|0;n=b[l>>1]|0;k=n+o|0;n=o-n|0;o=f+(h+4<<1)|0;i=b[o>>1]|0;j=f+(h+12<<1)|0;q=b[j>>1]|0;m=(i>>1)-q|0;i=(q>>1)+i|0;b[p>>1]=i+k;b[o>>1]=m+n;b[l>>1]=n-m;b[j>>1]=k-i;h=h+1|0}i=g<<1;j=g*3|0;h=0;while(1){if((h|0)==4)break;q=h<<2;p=b[f+(q<<1)>>1]|0;m=b[f+((q|2)<<1)>>1]|0;o=m+p|0;m=p-m|0;p=b[f+((q|1)<<1)>>1]|0;q=b[f+((q|3)<<1)>>1]|0;n=(p>>1)-q|0;p=(q>>1)+p|0;q=c+h|0;l=(p+o>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+g)|0;l=(n+m>>6)+(d[q>>0]|0)|0;a[q>>0]=l>>>0>255?(l^-2147483648)>>31:l;q=c+(h+i)|0;n=(m-n>>6)+(d[q>>0]|0)|0;a[q>>0]=n>>>0>255?(n^-2147483648)>>31:n;q=c+(h+j)|0;p=(o-p>>6)+(d[q>>0]|0)|0;a[q>>0]=p>>>0>255?(p^-2147483648)>>31:p;h=h+1|0}h=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function eL(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b[f>>1]=(e[f>>1]|0)+32;h=0;while(1){if((h|0)==8)break;x=f+(h<<1)|0;p=b[x>>1]|0;n=f+(h+32<<1)|0;m=b[n>>1]|0;k=m+p|0;m=p-m|0;p=f+(h+16<<1)|0;l=b[p>>1]|0;q=f+(h+48<<1)|0;w=b[q>>1]|0;o=(l>>1)-w|0;l=(w>>1)+l|0;w=l+k|0;s=o+m|0;o=m-o|0;l=k-l|0;k=f+(h+24<<1)|0;m=b[k>>1]|0;j=f+(h+40<<1)|0;i=b[j>>1]|0;u=f+(h+56<<1)|0;r=b[u>>1]|0;v=i-m-r-(r>>1)|0;t=f+(h+8<<1)|0;y=b[t>>1]|0;z=r-((m>>1)+m)+y|0;r=r+i+(i>>1)-y|0;y=i+m+y+(y>>1)|0;m=(y>>2)+v|0;i=(r>>2)+z|0;r=(z>>2)-r|0;v=y-(v>>2)|0;b[x>>1]=v+w;b[u>>1]=w-v;b[t>>1]=r+s;b[q>>1]=s-r;b[p>>1]=i+o;b[j>>1]=o-i;b[k>>1]=m+l;b[n>>1]=l-m;h=h+1|0}l=g<<1;m=g*3|0;n=g<<2;i=g*5|0;j=g*6|0;k=g*7|0;h=0;while(1){if((h|0)==8)break;z=h<<3;r=b[f+(z<<1)>>1]|0;u=b[f+((z|4)<<1)>>1]|0;s=u+r|0;u=r-u|0;r=b[f+((z|2)<<1)>>1]|0;x=b[f+((z|6)<<1)>>1]|0;t=(r>>1)-x|0;r=(x>>1)+r|0;x=r+s|0;v=t+u|0;t=u-t|0;r=s-r|0;s=b[f+((z|3)<<1)>>1]|0;u=b[f+((z|5)<<1)>>1]|0;w=b[f+((z|7)<<1)>>1]|0;y=u-s-w-(w>>1)|0;z=b[f+((z|1)<<1)>>1]|0;q=w-((s>>1)+s)+z|0;w=w+u+(u>>1)-z|0;z=u+s+z+(z>>1)|0;s=(z>>2)+y|0;u=(w>>2)+q|0;w=(q>>2)-w|0;y=z-(y>>2)|0;z=c+h|0;q=(y+x>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+g)|0;q=(w+v>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+l)|0;q=(u+t>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+m)|0;q=(s+r>>6)+(d[z>>0]|0)|0;a[z>>0]=q>>>0>255?(q^-2147483648)>>31:q;z=c+(h+n)|0;s=(r-s>>6)+(d[z>>0]|0)|0;a[z>>0]=s>>>0>255?(s^-2147483648)>>31:s;z=c+(h+i)|0;u=(t-u>>6)+(d[z>>0]|0)|0;a[z>>0]=u>>>0>255?(u^-2147483648)>>31:u;z=c+(h+j)|0;w=(v-w>>6)+(d[z>>0]|0)|0;a[z>>0]=w>>>0>255?(w^-2147483648)>>31:w;z=c+(h+k)|0;y=(x-y>>6)+(d[z>>0]|0)|0;a[z>>0]=y>>>0>255?(y^-2147483648)>>31:y;h=h+1|0}h=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(h|0));return}function fL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==4)break;else e=0;while(1){if((e|0)==4)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function gL(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=(b[e>>1]|0)+32>>6;b[e>>1]=0;g=0;while(1){if((g|0)==8)break;else e=0;while(1){if((e|0)==8)break;i=c+e|0;j=h+(d[i>>0]|0)|0;a[i>>0]=j>>>0>255?(j^-2147483648)>>31:j;e=e+1|0}c=c+f|0;g=g+1|0}return}function hL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)==16)break;switch(a[i+(d[150645+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else fL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;dL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+1|0}return}function iL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;k=0;while(1){if((k|0)>=16)break;switch(a[i+(d[150645+k>>0]|0)>>0]|0){case 0:break;case 1:{j=g+(k<<4<<1)|0;if(!(b[j>>1]|0))l=7;else gL(e+(c[f+(k<<2)>>2]|0)|0,j,h);break}default:{j=g+(k<<4<<1)|0;l=7}}if((l|0)==7){l=0;eL(e+(c[f+(k<<2)>>2]|0)|0,j,h)}k=k+4|0}return}function jL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;j=1;while(1){if((j|0)==3)break;k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150645+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)fL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else dL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function kL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=1;while(1){if((j|0)==3){j=1;break}k=j<<4;m=k|4;n=e+(j+-1<<2)|0;while(1){if((k|0)>=(m|0))break;if(!(a[i+(d[150645+k>>0]|0)>>0]|0)){l=g+(k<<4<<1)|0;if(b[l>>1]|0)fL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,l,h)}else dL((c[n>>2]|0)+(c[f+(k<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}while(1){if((j|0)==3)break;k=j<<4;l=k|8;m=e+(j+-1<<2)|0;k=k|4;while(1){if((k|0)>=(l|0))break;n=k+4|0;if(!(a[i+(d[150645+n>>0]|0)>>0]|0)){o=g+(k<<4<<1)|0;if(b[o>>1]|0)fL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,o,h)}else dL((c[m>>2]|0)+(c[f+(n<<2)>>2]|0)|0,g+(k<<4<<1)|0,h);k=k+1|0}j=j+1|0}return}function lL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=0;while(1){if((j|0)==16)break;if(!(a[i+(d[150645+j>>0]|0)>>0]|0)){k=g+(j<<4<<1)|0;if(b[k>>1]|0)fL(e+(c[f+(j<<2)>>2]|0)|0,k,h)}else dL(e+(c[f+(j<<2)>>2]|0)|0,g+(j<<4<<1)|0,h);j=j+1|0}return}function mL(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=Ec;Ec=Ec+64|0;h=i;g=0;while(1){if((g|0)==4){g=0;break}q=g<<2;m=b[e+(q<<1)>>1]|0;n=q|1;k=b[e+(n<<1)>>1]|0;p=k+m|0;k=m-k|0;m=q|2;o=b[e+(m<<1)>>1]|0;j=q|3;r=b[e+(j<<1)>>1]|0;l=o-r|0;o=r+o|0;c[h+(q<<2)>>2]=o+p;c[h+(n<<2)>>2]=p-o;c[h+(m<<2)>>2]=k-l;c[h+(j<<2)>>2]=l+k;g=g+1|0}while(1){if((g|0)==4)break;r=d[150641+g>>0]|0;q=c[h+(g<<2)>>2]|0;n=c[h+(g+8<<2)>>2]|0;p=n+q|0;n=q-n|0;q=c[h+(g+4<<2)>>2]|0;m=c[h+(g+12<<2)>>2]|0;o=q-m|0;q=m+q|0;b[a+(r<<1)>>1]=((H(q+p|0,f)|0)+128|0)>>>8;b[a+(r+16<<1)>>1]=((H(o+n|0,f)|0)+128|0)>>>8;b[a+(r+64<<1)>>1]=((H(n-o|0,f)|0)+128|0)>>>8;b[a+(r+80<<1)>>1]=((H(p-q|0,f)|0)+128|0)>>>8;g=g+1|0}Ec=i;return}function nL(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b[a>>1]|0;j=a+32|0;e=b[j>>1]|0;g=a+64|0;h=b[g>>1]|0;d=a+96|0;k=b[d>>1]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;b[a>>1]=(H(h+i|0,c)|0)>>>7;b[j>>1]=(H(e+f|0,c)|0)>>>7;b[g>>1]=(H(i-h|0,c)|0)>>>7;b[d>>1]=(H(f-e|0,c)|0)>>>7;return}function oL(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=Ec;Ec=Ec+32|0;g=h;f=0;while(1){if((f|0)==4){f=0;break}j=f<<5;k=b[a+(j<<1)>>1]|0;j=b[a+((j|16)<<1)>>1]|0;i=f<<1;c[g+(i<<2)>>2]=j+k;c[g+((i|1)<<2)>>2]=k-j;f=f+1|0}while(1){if((f|0)==2)break;k=d[150639+f>>0]|0;j=c[g+(f<<2)>>2]|0;m=c[g+(f+4<<2)>>2]|0;i=m+j|0;m=j-m|0;j=c[g+(f+2<<2)>>2]|0;n=c[g+(f+6<<2)>>2]|0;l=j-n|0;j=n+j|0;b[a+(k<<1)>>1]=((H(j+i|0,e)|0)+128|0)>>>8;b[a+(k+32<<1)>>1]=((H(l+m|0,e)|0)+128|0)>>>8;b[a+(k+64<<1)>>1]=((H(m-l|0,e)|0)+128|0)>>>8;b[a+(k+96<<1)>>1]=((H(i-j|0,e)|0)+128|0)>>>8;f=f+1|0}Ec=h;return}function pL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+8|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+9|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+10|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+11|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+12|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+13|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+14|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+15|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function qL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+4|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+5|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+6|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+7|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function rL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+2|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;j=h+3|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function sL(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=(h<<f)+((f|0)==0?0:1<<f+-1)|0;h=b;b=0;while(1){if((b|0)>=(e|0))break;j=(H(d[h>>0]|0,g)|0)+i>>f;a[h>>0]=j>>>0>255?(j^-2147483648)>>31:j;j=h+1|0;k=(H(d[j>>0]|0,g)|0)+i>>f;a[j>>0]=k>>>0>255?(k^-2147483648)>>31:k;h=h+c|0;b=b+1|0}return}function tL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+8>>0]|0,i)|0;m=j+8|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+9>>0]|0,i)|0;b=j+9|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+10>>0]|0,i)|0;m=j+10|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+11>>0]|0,i)|0;b=j+11|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+12>>0]|0,i)|0;m=j+12|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+13>>0]|0,i)|0;b=j+13|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+14>>0]|0,i)|0;m=j+14|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+15>>0]|0,i)|0;b=j+15|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function uL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+4>>0]|0,i)|0;m=j+4|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+5>>0]|0,i)|0;b=j+5|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+6>>0]|0,i)|0;m=j+6|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+7>>0]|0,i)|0;b=j+7|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function vL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;b=H(d[c+2>>0]|0,i)|0;m=j+2|0;b=b+l+(H(d[m>>0]|0,h)|0)>>k;a[m>>0]=b>>>0>255?(b^-2147483648)>>31:b;m=H(d[c+3>>0]|0,i)|0;b=j+3|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function wL(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=(j+1|1)<<g;k=g+1|0;j=b;g=0;while(1){if((g|0)>=(f|0))break;m=H(d[c>>0]|0,i)|0;m=m+l+(H(d[j>>0]|0,h)|0)>>k;a[j>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H(d[c+1>>0]|0,i)|0;b=j+1|0;m=m+l+(H(d[b>>0]|0,h)|0)>>k;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;c=c+e|0;j=j+e|0;g=g+1|0}return}function xL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=0-c|0;z=H(c,-2)|0;A=H(c,-3)|0;B=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+y|0;s=d[r>>0]|0;h=n+z|0;t=d[h>>0]|0;i=d[n+A>>0]|0;u=d[n>>0]|0;k=n+c|0;v=d[k>>0]|0;l=d[n+B>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+1|0}}while(0);b=b+4|0;w=w+1|0}return}function yL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<2;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==4)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function zL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=c<<1;w=0;while(1){if((w|0)==4)break;h=a[g+w>>0]|0;x=h<<24>>24;a:do if(h<<24>>24>=0){o=h<<24>>24==0;p=x+1|0;q=0-x|0;m=0;n=b;while(1){if((m|0)==2)break a;r=n+-1|0;s=d[r>>0]|0;h=n+-2|0;t=d[h>>0]|0;i=d[n+-3>>0]|0;u=d[n>>0]|0;k=n+1|0;v=d[k>>0]|0;l=d[n+2>>0]|0;j=s-u|0;if(((((j|0)>-1?j:0-j|0)|0)<(e|0)?(j=t-s|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0)?(j=v-u|0,(((j|0)>-1?j:0-j|0)|0)<(f|0)):0){j=i-s|0;j=(((j|0)>-1?j:0-j|0)|0)>=(f|0);if(o|j)h=j?x:p;else{j=((((s+1+u|0)>>>1)+i|0)>>>1)-t|0;a[h>>0]=((j|0)<(q|0)?q:(j|0)>(x|0)?x:j)+t;h=p}j=l-u|0;if((((j|0)>-1?j:0-j|0)|0)<(f|0)){if(!o){l=((((s+1+u|0)>>>1)+l|0)>>>1)-v|0;a[k>>0]=((l|0)<(q|0)?q:(l|0)>(x|0)?x:l)+v}h=h+1|0}v=t+4-v+(u-s<<2)>>3;t=0-h|0;v=(v|0)<(t|0)?t:(v|0)>(h|0)?h:v;t=v+s|0;a[r>>0]=t>>>0>255?(t^-2147483648)>>31:t;v=u-v|0;a[n>>0]=v>>>0>255?(v^-2147483648)>>31:v}m=m+1|0;n=n+c|0}}while(0);b=b+y|0;w=w+1|0}return}function AL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;w=H(c,-3)|0;x=H(c,-2)|0;y=0-c|0;z=c<<1;A=(e>>2)+2|0;u=H(c,-4)|0;v=c*3|0;m=0;while(1){if((m|0)==16)break;g=b+w|0;l=d[g>>0]|0;h=b+x|0;n=d[h>>0]|0;i=b+y|0;o=d[i>>0]|0;p=d[b>>0]|0;q=b+c|0;r=d[q>>0]|0;s=b+z|0;t=d[s>>0]|0;j=o-p|0;j=(j|0)>-1?j:0-j|0;do if(((j|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((j|0)>=(A|0)){a[i>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){B=d[b+u>>0]|0;a[i>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[h>>0]=(l+2+n+o+p|0)>>>2;i=g;h=3;j=4;k=p;g=(l*3|0)+n+(B<<1)|0}else{h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;B=t-p|0;if((((B|0)>-1?B:0-B|0)|0)<(f|0)){B=d[b+v>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(B<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+1|0;m=m+1|0}return}function BL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==16)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function CL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=(e>>2)+2|0;m=0;while(1){if((m|0)==8)break;i=b+-3|0;l=d[i>>0]|0;j=b+-2|0;n=d[j>>0]|0;g=b+-1|0;o=d[g>>0]|0;p=d[b>>0]|0;q=b+1|0;r=d[q>>0]|0;s=b+2|0;t=d[s>>0]|0;h=o-p|0;h=(h|0)>-1?h:0-h|0;do if(((h|0)<(e|0)?(k=n-o|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0)?(k=r-p|0,(((k|0)>-1?k:0-k|0)|0)<(f|0)):0){if((h|0)>=(u|0)){a[g>>0]=(o+2+(n<<1)+r|0)>>>2;a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}k=l-o|0;if((((k|0)>-1?k:0-k|0)|0)<(f|0)){v=d[b+-4>>0]|0;a[g>>0]=(l+4+r+(o+n+p<<1)|0)>>>3;a[j>>0]=(l+2+n+o+p|0)>>>2;h=3;j=4;k=p;g=(l*3|0)+n+(v<<1)|0}else{i=g;h=2;j=2;k=r;g=n<<1}a[i>>0]=(g+o+k+j|0)>>>h;v=t-p|0;if((((v|0)>-1?v:0-v|0)|0)<(f|0)){v=d[b+3>>0]|0;a[b>>0]=(n+4+t+(p+o+r<<1)|0)>>>3;a[q>>0]=(o+2+p+r+t|0)>>>2;a[s>>0]=(o+4+p+r+(t*3|0)+(v<<1)|0)>>>3;break}else{a[b>>0]=(n+2+p+(r<<1)|0)>>>2;break}}while(0);b=b+c|0;m=m+1|0}return}function DL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=0-c|0;s=H(c,-2)|0;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+r|0;m=d[l>>0]|0;n=d[j+s>>0]|0;o=d[j>>0]|0;p=d[j+c>>0]|0;t=m-o|0;if(((((t|0)>-1?t:0-t|0)|0)<(e|0)?(t=n-m|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0)?(t=p-o|0,(((t|0)>-1?t:0-t|0)|0)<(f|0)):0){t=n+4-p+(o-m<<2)>>3;t=(t|0)<(k|0)?k:(t|0)>(q|0)?q:t;p=t+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;t=o-t|0;a[j>>0]=t>>>0>255?(t^-2147483648)>>31:t}i=i+1|0;j=j+1|0}}while(0);b=b+2|0;h=h+1|0}return}function EL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function FL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<2;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==4)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function GL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=0;while(1){if((h|0)==4)break;q=a[g+h>>0]|0;p=q<<24>>24;a:do if(q<<24>>24>=1){q=0-p|0;i=0;j=b;while(1){if((i|0)==1)break a;k=j+-1|0;l=d[k>>0]|0;m=d[j+-2>>0]|0;n=d[j>>0]|0;o=d[j+1>>0]|0;r=l-n|0;if(((((r|0)>-1?r:0-r|0)|0)<(e|0)?(r=m-l|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0)?(r=o-n|0,(((r|0)>-1?r:0-r|0)|0)<(f|0)):0){r=m+4-o+(n-l<<2)>>3;r=(r|0)<(q|0)?q:(r|0)>(p|0)?p:r;o=r+l|0;a[k>>0]=o>>>0>255?(o^-2147483648)>>31:o;r=n-r|0;a[j>>0]=r>>>0>255?(r^-2147483648)>>31:r}i=i+1|0;j=j+c|0}}while(0);b=b+c|0;h=h+1|0}return}function HL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c<<1;h=0;while(1){if((h|0)==4)break;p=a[g+h>>0]|0;q=p<<24>>24;a:do if(p<<24>>24>=1){k=0-q|0;i=0;j=b;while(1){if((i|0)==2)break a;l=j+-1|0;m=d[l>>0]|0;n=d[j+-2>>0]|0;o=d[j>>0]|0;p=d[j+1>>0]|0;s=m-o|0;if(((((s|0)>-1?s:0-s|0)|0)<(e|0)?(s=n-m|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0)?(s=p-o|0,(((s|0)>-1?s:0-s|0)|0)<(f|0)):0){s=n+4-p+(o-m<<2)>>3;s=(s|0)<(k|0)?k:(s|0)>(q|0)?q:s;p=s+m|0;a[l>>0]=p>>>0>255?(p^-2147483648)>>31:p;s=o-s|0;a[j>>0]=s>>>0>255?(s^-2147483648)>>31:s}i=i+1|0;j=j+c|0}}while(0);b=b+r|0;h=h+1|0}return}function IL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=0-c|0;n=H(c,-2)|0;l=0;while(1){if((l|0)==8)break;j=b+m|0;k=d[j>>0]|0;g=d[b+n>>0]|0;h=d[b>>0]|0;i=d[b+c>>0]|0;o=k-h|0;if(((((o|0)>-1?o:0-o|0)|0)<(e|0)?(o=g-k|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0)?(o=i-h|0,(((o|0)>-1?o:0-o|0)|0)<(f|0)):0){a[j>>0]=(k+2+(g<<1)+i|0)>>>2;a[b>>0]=(g+2+h+(i<<1)|0)>>>2}l=l+1|0;b=b+1|0}return}function JL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function KL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==16)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function LL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==4)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function ML(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=0;while(1){if((l|0)==8)break;i=b+-1|0;j=d[i>>0]|0;k=d[b+-2>>0]|0;g=d[b>>0]|0;h=d[b+1>>0]|0;m=j-g|0;if(((((m|0)>-1?m:0-m|0)|0)<(e|0)?(m=k-j|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0)?(m=h-g|0,(((m|0)>-1?m:0-m|0)|0)<(f|0)):0){a[i>>0]=(j+2+(k<<1)+h|0)>>>2;a[b>>0]=(k+2+g+(h<<1)|0)>>>2}l=l+1|0;b=b+c|0}return}function NL(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(c|0))break;if(!(a[b+d>>0]|0))break;d=d+1|0}return d|0}function OL(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!((b|0)==0&(c|0)==0)){if(!((e|0)==0&(f|0)==0)){o=iW(0,0,b|0,c|0)|0;o=nW(o&b|0,(M()|0)&c|0,-862635923,36691299)|0;o=rW(o|0,M()|0,58)|0;M()|0;o=a[150908+o>>0]|0;g=o&255;j=iW(0,0,e|0,f|0)|0;j=nW(j&e|0,(M()|0)&f|0,-862635923,36691299)|0;j=rW(j|0,M()|0,58)|0;M()|0;j=a[150908+j>>0]|0;h=j&255;i=g>>>0>h>>>0;o=qW(b|0,c|0,o&255|0)|0;m=M()|0;n=(m|0)>-1|(m|0)==-1&o>>>0>4294967295;b=iW(0,0,o|0,m|0)|0;l=M()|0;f=qW(e|0,f|0,j&255|0)|0;j=M()|0;k=(j|0)>-1|(j|0)==-1&f>>>0>4294967295;c=iW(0,0,f|0,j|0)|0;e=M()|0;b=n?o:b;c=k?f:c;f=n?m:l;e=k?j:e;while(1){if((b|0)==(c|0)&(f|0)==(e|0))break;k=(f|0)>(e|0)|(f|0)==(e|0)&b>>>0>c>>>0;m=k?c:b;o=k?e:f;k=iW((k?b:c)|0,(k?f:e)|0,m|0,o|0)|0;l=M()|0;n=iW(0,0,k|0,l|0)|0;n=nW(k&n|0,l&(M()|0)|0,-862635923,36691299)|0;n=rW(n|0,M()|0,58)|0;M()|0;n=qW(k|0,l|0,d[150908+n>>0]|0|0)|0;b=m;c=n;f=o;e=M()|0}b=sW(b|0,f|0,(i?h:g)|0)|0;c=M()|0}}else{c=f;b=e}L(c|0);return b|0}function PL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;d=h;f=c[(c[a+28>>2]|0)+20>>2]|0;do if(((c[a+696>>2]&1|0)!=0?(c[a+700>>2]|0)==0:0)?(c[a+120>>2]|0)!=10:0){e=f+300|0;if((c[e>>2]|0)!=1){We(a,16,151110,d);a=-1;break}d=f+184|0;JU(d)|0;c[f+324>>2]=b;c[e>>2]=3;a=f+60|0;zW(a|0)|0;while(1){if((c[e>>2]|0)==1)break;yb(a|0,d|0)|0}a=c[f+328>>2]|0;KU(d)|0}else g=4;while(0);if((g|0)==4)a=RL(a,b)|0;Ec=h;return a|0}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;d=c[a+880>>2]|0;a:do if((d|0)!=0?(i=c[(c[a+12>>2]|0)+124>>2]|0,(i|0)!=0):0){g=(c[d+4>>2]|0)+8|0;f=0;while(1){h=c[i+(f<<2)>>2]|0;if(!h){d=0;j=11;break a}b:do if(c[h+4>>2]&1|0?(c[g>>2]|0)==(c[h+8>>2]|0):0){e=0;while(1){d=c[b+(e<<2)>>2]|0;if((d|0)==-1)break b;if((c[h>>2]|0)==(d|0))break a;else e=e+1|0}}while(0);f=f+1|0}}else{d=0;j=11}while(0);c:do if((j|0)==11){while(1)if((c[b+(d<<2)>>2]|0)==-1)break;else{d=d+1|0;j=11}d=b+(d+-1<<2)|0;j=c[(qg(c[d>>2]|0)|0)+8>>2]|0;if((j&8|0)==0&0==0){d=c[d>>2]|0;break}g=a+12|0;f=0;d:while(1){h=b+(f<<2)|0;if((c[h>>2]|0)==-1){d=-1;break c}else e=0;while(1){i=UL(c[g>>2]|0,e)|0;if(!i)break d;d=c[i>>2]|0;if((d|0)==(c[h>>2]|0))break;else e=e+1|0}if(!(c[i+4>>2]&4))f=f+1|0;else break c}d=c[h>>2]|0}while(0);return d|0}function 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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Ec;Ec=Ec+80|0;t=z+72|0;s=z+64|0;r=z+56|0;q=z+48|0;p=z+40|0;w=z+32|0;v=z+24|0;u=z+16|0;d=z;x=z+76|0;f=0;while(1){e=f+1|0;if((c[b+(f<<2)>>2]|0)==-1)break;else f=e}if((f|0)<=0){c[d>>2]=151172;c[d+4>>2]=128996;c[d+8>>2]=1310;We(0,0,164054,d);Za()}d=b+(f+-1<<2)|0;m=c[(qg(c[d>>2]|0)|0)+8>>2]|0;if((m&8|0)==0&0==0)c[a+768>>2]=c[d>>2];d=Mg(e,4)|0;c[x>>2]=d;if(!d)d=-1;else{wW(d|0,b|0,e<<2|0)|0;j=a+120|0;k=a+12|0;l=a+880|0;m=a+860|0;i=d;a:while(1){SL(a);d=Mc[c[j>>2]&15](a,i)|0;if((d|0)==-1){d=-1;break}h=qg(d)|0;if(!h){y=11;break}c[v>>2]=c[h>>2];We(a,48,151230,v);b=0;while(1){if((b|0)>=(f|0))break;if((c[i+(b<<2)>>2]|0)==(d|0))break;b=b+1|0}if((b|0)==(f|0)){y=17;break}e=c[(c[k>>2]|0)+124>>2]|0;if(!e)break;else b=0;while(1){g=c[e+(b<<2)>>2]|0;if(!g)break a;if((c[g>>2]|0)==(d|0))break;else b=b+1|0}b=c[g+4>>2]|0;if((b&2|0)!=0?(n=c[m>>2]|0,(n|0)!=0):0)if((c[(c[n+4>>2]|0)+36>>2]|0)==(d|0))y=31;else{c[p>>2]=c[h>>2];We(a,16,151325,p)}else y=25;do if((y|0)==25){y=0;if(b&1|0?(o=c[l>>2]|0,o|0):0){if((c[(c[o+4>>2]|0)+8>>2]|0)==(c[g+8>>2]|0)){y=31;break}c[q>>2]=c[h>>2];We(a,16,151413,q);break}if(!(b&12)){c[r>>2]=c[h>>2];We(a,16,151499,r)}else y=31}while(0);if((y|0)==31){y=0;if(!(c[g+12>>2]|0))break;c[s>>2]=c[h>>2];We(a,48,151552,s);if((TL(a,g)|0)>=0)break}c[t>>2]=c[h>>2];We(a,48,151596,t);b=0;while(1){if((b|0)>=(f|0)){d=b;break}if((c[i+(b<<2)>>2]|0)==(d|0)){d=b;break}b=b+1|0}while(1){b=d+1|0;if((b|0)>=(f|0))break;i=c[x>>2]|0;c[i+(d<<2)>>2]=c[i+(b<<2)>>2];d=b}f=f+-1|0;i=c[x>>2]|0}if((y|0)==11){We(a,16,151179,u);d=-1}else if((y|0)==17){c[w>>2]=c[h>>2];We(a,16,151265,w);d=0}Se(x)}Ec=z;return d|0}function SL(a){a=a|0;var b=0,d=0,e=0;b=a+592|0;d=c[b>>2]|0;if(d|0?(e=c[d+52>>2]|0,e|0):0)Kc[e&31](a)|0;Se((c[a+28>>2]|0)+60|0);c[b>>2]=0;Cf(a+860|0);return}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i+8|0;e=i;g=c[b+12>>2]|0;if((c[g+16>>2]&512|0)!=0?(c[a+568>>2]|0)>-2:0){c[e>>2]=c[g>>2];We(a,24,151653,e);d=-1163346256}else f=4;do if((f|0)==4){e=c[g+56>>2]|0;if(e|0?(f=Of(e)|0,c[(c[a+28>>2]|0)+60>>2]=f,(f|0)==0):0){d=-12;break}f=a+592|0;c[f>>2]=g;e=c[g+48>>2]|0;if((e|0)!=0?(d=Kc[e&31](a)|0,(d|0)<0):0){c[h>>2]=rg(c[b>>2]|0)|0;We(a,16,151688,h);Se((c[a+28>>2]|0)+60|0);c[f>>2]=0}else d=0}while(0);Ec=i;return d|0}function UL(a,b){a=a|0;b=b|0;var d=0;d=c[a+124>>2]|0;a:do if((b|0)<0|(d|0)==0)a=0;else{a=0;while(1){if((a|0)>(b|0))break;if(!(c[d+(a<<2)>>2]|0)){a=0;break a}else a=a+1|0}a=c[d+(b<<2)>>2]|0}while(0);return a|0}function VL(a){a=a|0;var b=0,c=0,e=0;e=pM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;qM(a,b);return (rM(a,b+1|0)|0)+-1|0}function WL(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126412+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[126924+a>>0]|0|0}function XL(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ec;Ec=Ec+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120443+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){We(0,16,155802,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126412+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[126924+a>>0]|0}while(0);Ec=i;return a|0}function YL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function ZL(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function _L(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126412+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127436+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120443+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function $L(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Ec;Ec=Ec+16|0;k=m;c[b>>2]=c[e+20>>2];j=b+4|0;c[j>>2]=c[e+24>>2];do if((f|0)!=1){i=(g|0)==3?15:31;if(nM(d)|0){c[b>>2]=(mM(d)|0)+1;if((f|0)==3)e=(mM(d)|0)+1|0;else e=1;c[j>>2]=e}g=(c[b>>2]|0)+-1|0;e=c[j>>2]|0;if(g>>>0>i>>>0|(e+-1|0)>>>0>i>>>0){c[k>>2]=g;c[k+4>>2]=i;c[k+8>>2]=e+-1;c[k+12>>2]=i;We(h,16,152319,k);c[a>>2]=0;c[b>>2]=0;c[j>>2]=0;e=-1094995529;break}else{e=(f|0)==3?2:1;l=9;break}}else{c[j>>2]=0;c[b>>2]=0;e=0;l=9}while(0);if((l|0)==9){c[a>>2]=e;e=0}Ec=m;return e|0}function aM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ec;Ec=Ec+16|0;m=o+8|0;l=o;c[b+27768>>2]=0;c[b+27772>>2]=0;j=b+23412|0;k=b+4|0;f=0;a:while(1){if(f>>>0>=(c[j>>2]|0)>>>0){e=0;break}b:do if(eM(k)|0){g=b+23404+(f<<2)|0;h=b+27768+(f<<2)|0;e=0;while(1){i=fM(k)|0;if((i|0)==3)break b;if(e>>>0>=(c[g>>2]|0)>>>0){n=7;break a}if(i>>>0>2){n=9;break a}c[b+27256+(f<<8)+(e<<3)+4>>2]=gM(k)|0;a[b+27256+(f<<8)+(e<<3)>>0]=i;c[h>>2]=(c[h>>2]|0)+1;e=e+1|0}}while(0);f=f+1|0}if((n|0)==7){We(d,16,152252,l);e=-1094995529}else if((n|0)==9){c[m>>2]=i;We(d,16,152278,m);e=-1094995529}Ec=o;return e|0}function bM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Ec;Ec=Ec+32|0;x=z+16|0;l=z+8|0;k=z;c[f>>2]=0;w=f+4|0;c[w>>2]=0;i=mM(a)|0;j=f+8|0;c[j>>2]=i;if(i>>>0>7){c[k>>2]=i;We(h,16,152143,k);c[j>>2]=0;i=0}t=1<<i;s=b+12|0;if(!(c[s>>2]|0))r=0;else{i=mM(a)|0;j=f+12|0;c[j>>2]=i;if(i>>>0>7){c[l>>2]=i;We(h,16,152186,l);c[j>>2]=0;i=0}r=1<<i}q=(g|0)==3;m=(e|0)==3;g=0;a:while(1){if((g|0)>=2){y=35;break}n=f+16+(g<<2)|0;c[n>>2]=0;o=f+24+(g<<2)|0;c[o>>2]=0;p=d+(g<<2)|0;e=0;while(1){if((e|0)>=(c[p>>2]|0))break;if(nM(a)|0){j=f+32+(e<<4)+(g<<3)|0;c[j>>2]=oM(a)|0;i=oM(a)|0;c[f+32+(e<<4)+(g<<3)+4>>2]=i;j=c[j>>2]|0;if((j<<24>>24|0)!=(j|0)){y=38;break a}if((i<<24>>24|0)!=(i|0)){y=38;break a}if(!((i|0)==0&(j|0)==(t|0))){c[f>>2]=1;i=1;j=n;y=17}}else{c[f+32+(e<<4)+(g<<3)>>2]=t;i=0;j=f+32+(e<<4)+(g<<3)+4|0;y=17}if((y|0)==17){y=0;c[j>>2]=i}b:do if(c[s>>2]|0){if(!(nM(a)|0)){i=0;while(1){if((i|0)==2)break b;c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]=r;c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]=0;i=i+1|0}}else i=0;while(1){if((i|0)>=2)break b;j=f+800+(e<<5)+(g<<4)+(i<<3)|0;c[j>>2]=oM(a)|0;k=oM(a)|0;b=f+800+(e<<5)+(g<<4)+(i<<3)+4|0;c[b>>2]=k;l=c[j>>2]|0;if((l<<24>>24|0)!=(l|0)){y=26;break a}if((k<<24>>24|0)!=(k|0)){y=26;break a}if(!((k|0)==0&(l|0)==(r|0))){c[w>>2]=1;c[o>>2]=1}i=i+1|0}}while(0);c:do if(q?(l=c[f+32+(e<<4)+(g<<3)>>2]|0,v=e<<1,u=v+16|0,v=v+17|0,c[f+32+(v<<4)+(g<<3)>>2]=l,c[f+32+(u<<4)+(g<<3)>>2]=l,l=c[f+32+(e<<4)+(g<<3)+4>>2]|0,c[f+32+(v<<4)+(g<<3)+4>>2]=l,c[f+32+(u<<4)+(g<<3)+4>>2]=l,c[s>>2]|0):0){i=0;while(1){if((i|0)==2)break c;l=c[f+800+(e<<5)+(g<<4)+(i<<3)>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)>>2]=l;l=c[f+800+(e<<5)+(g<<4)+(i<<3)+4>>2]|0;c[f+800+(v<<5)+(g<<4)+(i<<3)+4>>2]=l;c[f+800+(u<<5)+(g<<4)+(i<<3)+4>>2]=l;i=i+1|0}}while(0);e=e+1|0}if(m)g=g+1|0;else{y=35;break}}if((y|0)==26){c[j>>2]=r;c[b>>2]=0;y=38}else if((y|0)==35){if(!(c[f>>2]|0))i=(c[w>>2]|0)!=0&1;else i=1;c[f>>2]=i;i=0}if((y|0)==38){Oh(h,152231,x);i=-1094995529}Ec=z;return i|0}function cM(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=Ec;Ec=Ec+16|0;l=n+8|0;m=n;a:do if((c[d+44>>2]|0)!=5){k=eM(b)|0;c[a+34728>>2]=k;if(k){f=a+34752|0;g=a+34756|0;h=a+21824|0;d=0;b:while(1){if((d|0)>=66){f=21;break a}k=fM(b)|0;c[a+33932+(d*12|0)>>2]=k;if((k|2|0)==3){j=c[f>>2]|0;j=j+-1-(gM(b)|0)|0;c[a+33932+(d*12|0)+4>>2]=j&(c[g>>2]|0)+-1}i=(k|0)==2;switch(k|0){case 2:case 3:case 4:case 6:{j=fM(b)|0;if(j>>>0>31){d=k;f=16;break b}if(!(j>>>0<16|(k|0)==4&(j|0)==16)){if(!i){d=k;f=16;break b}if((c[h>>2]|0)==3){d=2;f=16;break b}}c[a+33932+(d*12|0)+8>>2]=j;break}default:{if(k>>>0>6){f=18;break b}if(!k){f=21;break a}}}d=d+1|0}if((f|0)==16){c[m>>2]=d;We(e,16,152083,m);d=-1;break}else if((f|0)==18){c[l>>2]=k;We(e,16,155392,l);d=-1;break}}else{d=0;f=21}}else{dM(b);if(!(eM(b)|0))d=0;else{c[a+33932>>2]=6;c[a+33940>>2]=0;d=1}c[a+34728>>2]=1;f=21}while(0);if((f|0)==21){c[a+34724>>2]=d;d=0}Ec=n;return d|0}function dM(a){a=a|0;lM(a);return}function eM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function fM(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126412+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[126924+a>>0]|0|0}function gM(a){a=a|0;var b=0,c=0,e=0;e=hM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;iM(a,b);return (jM(a,b+1|0)|0)+-1|0}function hM(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=jM(d,32)|0;Ec=b;return a|0}function iM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function jM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=kM(a,b)|0;break}else{b=b+-16|0;c=(kM(a,16)|0)<<b;a=c|(kM(a,b)|0);break}else a=0;while(0);return a|0}function kM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function lM(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function mM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ec;Ec=Ec+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120443+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){We(0,16,155802,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126412+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[126924+a>>0]|0}while(0);Ec=i;return a|0}function nM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function oM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126412+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127436+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120443+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function pM(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=rM(d,32)|0;Ec=b;return a|0}function qM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function rM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=YL(a,b)|0;break}else{b=b+-16|0;c=(YL(a,16)|0)<<b;a=c|(YL(a,b)|0);break}else a=0;while(0);return a|0}function sM(a){a=a|0;var b=0,c=0,e=0;e=tM(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;uM(a,b);return (vM(a,b+1|0)|0)+-1|0}function tM(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=vM(d,32)|0;Ec=b;return a|0}function uM(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function vM(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=wM(a,b)|0;break}else{b=b+-16|0;c=(wM(a,16)|0)<<b;a=c|(wM(a,b)|0);break}else a=0;while(0);return a|0}function wM(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function xM(b,d,e){b=b|0;d=d|0;e=e|0;if(e>>>0<=4294967231){if(!(MM(b,d,e+64|0)|0)){b=(c[b>>2]|0)+e|0;d=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}}else{Se(b);c[d>>2]=0}return}function yM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Ec;Ec=Ec+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;We(g,16,155440,k);h=-1094995529}}else h=-11;Ec=l;return h|0}function zM(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if((b+3|0)>>>0<c>>>0){d=0;while(1){f=b+d|0;if((f+3|0)>>>0>=c>>>0)break;e=d+1|0;if(a[f>>0]|0){d=e;continue}if(a[b+e>>0]|0){d=e;continue}if((a[b+(d+2)>>0]|0)==1)break;else d=e}d=d+3|0}else d=c-b|0;return d|0}function AM(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(2147483647/(c>>>0)|0)>>>0>b>>>0:0)a=bf(a,H(c,b)|0)|0;else a=0;return a|0}function BM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Ec;Ec=Ec+16|0;r=v;q=f+52|0;c[q>>2]=0;h=0;while(1){if((h+1|0)>=(d|0))break;if(!(a[b+h>>0]|0)){i=h+-1|0;if((h|0)>0)h=(a[b+i>>0]|0)==0?i:h;i=h+2|0;if(((i|0)<(d|0)?(a[b+(h+1)>>0]|0)==0:0)?(j=a[b+i>>0]|0,(j&255)<4):0){t=9;break}}h=h+2|0}a:do if((t|0)==9){switch(j<<24>>24){case 0:case 3:break a;default:{}}d=h}while(0);b:do if((g|0)!=0&(h|0)>=(d+-1|0)){c[f+20>>2]=b;c[f+8>>2]=b;c[f+16>>2]=d;c[f+4>>2]=d}else{i=(h|0)>(d|0)?d:h;p=e+8|0;o=(c[e>>2]|0)+(c[p>>2]|0)|0;c[f>>2]=o;wW(o|0,b|0,i|0)|0;m=f+60|0;n=f+56|0;h=i;while(1){j=i+2|0;if((j|0)>=(d|0)){t=30;break}e=b+j|0;g=a[e>>0]|0;if((g&255)<=3){j=a[b+i>>0]|0;if(!(j<<24>>24))if(g<<24>>24==0?1:(a[b+(i+1)>>0]|0)!=0)j=0;else{if(g<<24>>24!=3){u=h;s=i;break}l=h+1|0;a[o+h>>0]=0;h=h+2|0;a[o+l>>0]=0;i=i+3|0;j=c[m>>2]|0;if(!j)continue;k=c[q>>2]|0;g=k+1|0;c[q>>2]=g;e=c[n>>2]|0;if((e|0)<=(k|0)){j=e<<1;c[n>>2]=j;if((j|0)<=(k|0)){t=24;break}JM(m,j,4)|0;j=c[m>>2]|0;if(!j){t=27;break}g=c[q>>2]|0}c[j+(g+-1<<2)>>2]=l;continue}}else{a[o+h>>0]=a[b+i>>0]|0;a[o+(h+1)>>0]=a[b+(i+1)>>0]|0;h=h+2|0;i=j;j=a[e>>0]|0}a[o+h>>0]=j;h=h+1|0;i=i+1|0}c:do if((t|0)==24){c[r>>2]=152820;c[r+4>>2]=152870;c[r+8>>2]=114;We(0,0,164054,r);Za()}else if((t|0)==27){c[n>>2]=0;d=-12;break b}else if((t|0)==30)while(1){if((i|0)>=(d|0)){u=h;s=i;break c}a[o+h>>0]=a[b+i>>0]|0;h=h+1|0;i=i+1|0;t=30}while(0);d=o+u|0;h=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(h|0));c[f+8>>2]=o;c[f+4>>2]=u;c[f+20>>2]=b;c[f+16>>2]=s;c[p>>2]=(c[p>>2]|0)+s;d=s}while(0);Ec=v;return d|0}function CM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=(e|0)!=0;g=b+8|0;h=c[b+4>>2]|0;while(1){if(!(f&(h|0)>0)){b=4;break}b=h+-1|0;e=a[(c[g>>2]|0)+b>>0]|0;if(!(e<<24>>24))h=b;else{f=e;b=6;break}}if((b|0)==4)if(!h)e=0;else{f=a[(c[g>>2]|0)+(h+-1)>>0]|0;b=6}if((b|0)==6){b=f&255;if((h|0)<=268435455){e=h<<3;if(f<<24>>24)e=e+-1-(d[161197+((H(0-b&b,125613361)|0)>>>27)>>0]|0)|0}else e=-34}return e|0}function DM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function EM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;d=a+24|0;if((GM(d)|0)==0?(e=a+44|0,c[e>>2]=HM(d,6)|0,f=HM(d,6)|0,g=(HM(d,3)|0)+-1|0,c[a+48>>2]=g,(g|0)>=0):0){e=c[e>>2]|0;a=IM(e)|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=f;c[h+12>>2]=g;We(b,48,152572,h);a=(f|0)==0&1}else a=-1094995529;Ec=i;return a|0}function FM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ec;Ec=Ec+16|0;e=f;d=a+24|0;if(!(GM(d)|0)){g=a+64|0;c[g>>2]=HM(d,2)|0;d=HM(d,5)|0;c[a+44>>2]=d;a=c[g>>2]|0;c[e>>2]=d;c[e+4>>2]=a;We(b,48,152536,e);a=1}else a=-1094995529;Ec=f;return a|0}function GM(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function HM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function IM(a){a=a|0;do switch(a|0){case 0:{a=152812;break}case 1:{a=152804;break}case 2:{a=152798;break}case 3:{a=152792;break}case 4:{a=152785;break}case 5:{a=152778;break}case 6:{a=152771;break}case 7:{a=152764;break}case 8:{a=152757;break}case 9:{a=152750;break}case 16:{a=152741;break}case 17:{a=152730;break}case 18:{a=152721;break}case 19:{a=152710;break}case 20:{a=152701;break}case 21:{a=152693;break}case 32:{a=152689;break}case 33:{a=152685;break}case 34:{a=152681;break}case 35:{a=152677;break}case 36:{a=152669;break}case 37:{a=152661;break}case 38:{a=152654;break}case 39:{a=152643;break}case 40:{a=152632;break}default:a=152630}while(0);return a|0}function JM(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=KM(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c,e)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;return ((e|0)!=0&((c|0)!=0&(f|0)==0)?-12:0)|0}function KM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g;if(!((LM(d,b,f)|0)==0?(e=bf(a,c[f>>2]|0)|0,(e|0)!=0):0)){Te(a);e=0}Ec=g;return e|0}function LM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=H(b,a)|0;if((a|0)!=0&(b|a)>>>0>65535?((e>>>0)/(a>>>0)|0|0)!=(b|0):0)a=-22;else{c[d>>2]=e;a=0}return a|0}function MM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0)if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=152895;c[h+4>>2]=152912;c[h+8>>2]=33;We(0,0,164054,h);Za()}else g=0;else{g=f+32+(f>>>4)|0;g=g>>>0>f>>>0?g:f;Se(b);h=Of(g)|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;c[e>>2]=(h|0)==0?0:g;g=1}Ec=i;return g|0}function NM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+48|0;l=s+24|0;j=s+8|0;q=s+36|0;do if((g&8|0)==0&(OM(b,e,f,1,h)|0)<0){We(h,24,153026,s);if((e|0)<=21801){i=e*3|0;k=((i|0)/2|0)+64|0;g=Of(k)|0;c[q>>2]=g;if(!g)g=-12;else{if((e|0)<=-1){c[j>>2]=159582;c[j+4>>2]=159596;c[j+8>>2]=137;We(0,0,164054,j);Za()}o=b+e|0;if((i|0)<=-130){c[l>>2]=159582;c[l+4>>2]=159596;c[l+8>>2]=147;We(0,0,164054,l);Za()}n=g;m=g+k|0;g=n;i=b;e=0;a:while(1){k=m-g|0;l=(k|0)<1;while(1){j=o-i|0;if(!j)break a;b=i;if(j>>>0>2){if((j|0)<3)break;i=b+1|0;if(((d[i>>0]|0)<<8|(d[b>>0]|0)<<16|(d[b+2>>0]|0))>>>0<4)break}else i=b+1|0;if(!((e|0)!=0|l)){r=20;break}else e=1}if((r|0)==20){r=0;e=g;a[e>>0]=a[b>>0]|0;g=e+1|0;e=0;continue}if((e|0)==0?(p=g,(k|0)>2):0){a[p+2>>0]=3;a[p+1>>0]=0;a[p>>0]=0;g=p+3|0;e=0}else e=1;i=b+2|0}g=g-n|0;p=tW(g+65534&65535|0)|0;r=c[q>>2]|0;a[r>>0]=p;a[r+1>>0]=p>>8;OM(c[q>>2]|0,g,f,1,h)|0;Se(q);g=0;break}}else g=-34}else g=0;while(0);Ec=s;return g|0}function OM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+32|0;i=k;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;a=Jh(j,a,b,f,e,2,27,1)|0;a:do if((a|0)<0)a=0;else{h=j+16|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break a;b=c[j>>2]|0;e=c[b+(g*68|0)+44>>2]|0;switch(e|0){case 7:{a=Rh(b+(g*68|0)+24|0,f,d,0)|0;if((a|0)<0)break a;break}case 8:{a=Th(b+(g*68|0)+24|0,f,d,c[b+(g*68|0)+12>>2]|0)|0;if((a|0)<0)break a;break}default:{c[i>>2]=e;We(f,40,159699,i)}}g=g+1|0}}while(0);ph(j);Ec=k;return a|0}function PM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[b+4>>2]=a;c[b+29592>>2]=-1;c[b+29664>>2]=c[a+92>>2];c[b+29668>>2]=c[a+96>>2];c[b+26380>>2]=3;c[b+25700>>2]=c[a+564>>2];c[b+25696>>2]=c[a+60>>2];c[b+28248>>2]=65536;c[b+29572>>2]=-1;c[b+29576>>2]=0;c[b+28264>>2]=-1;c[b+29860>>2]=-1;c[b+29712>>2]=-1;c[b+28744>>2]=-2147483648;d=0;while(1){if((d|0)==16)break;c[b+28676+(d<<2)>>2]=-2147483648;d=d+1|0}Wf(b+29676|0);c[a+332>>2]=1;if(!(c[a+696>>2]&2))d=1;else d=c[a+688>>2]|0;e=b+25632|0;c[e>>2]=d;a=kg(d,34768)|0;f=b+25628|0;c[f>>2]=a;a:do if(a){d=0;while(1){a=Fg()|0;if((d|0)>=36)break;c[b+696+(d*656|0)>>2]=a;if(!a){d=-12;break a}else d=d+1|0}c[b+24316>>2]=a;if((a|0)!=0?(a=Fg()|0,c[b+24972>>2]=a,(a|0)!=0):0){a=c[e>>2]|0;d=0;while(1){if((d|0)>=(a|0)){d=0;break a}c[(c[f>>2]|0)+(d*34768|0)>>2]=b;d=d+1|0}}else d=-12}else{c[e>>2]=0;d=-12}while(0);return d|0}function QM(){var a=0,b=0,d=0;if(!(c[45481]|0)){c[45481]=1;c[45312]=184628;c[45314]=256;RM(181244,8,20,153227,1,1,153247,1,1,0,0,0,4)|0;c[45316]=185652;c[45318]=8192;RM(181260,13,36,153267,1,1,153303,1,1,0,0,0,4)|0;a=0;b=0;while(1){if((b|0)==4){a=0;break}c[181276+(b<<4)+4>>2]=218420+(a<<2);d=c[74988+(b<<2)>>2]|0;c[181276+(b<<4)+12>>2]=d;RM(181276+(b<<4)|0,8,68,153339+(b*68|0)|0,1,1,153611+(b*68|0)|0,1,1,0,0,0,4)|0;a=d+a|0;b=b+1|0}while(1){if((a|0)==3){a=0;break}d=a+1|0;c[181340+(d<<4)+4>>2]=223972+(a<<5);c[181340+(d<<4)+12>>2]=8;RM(181340+(d<<4)|0,3,4,153883+(a<<2)|0,1,1,153895+(a<<2)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==7){a=0;break}d=a+1|0;c[181404+(d<<4)+4>>2]=224068+(a<<7);c[181404+(d<<4)+12>>2]=32;RM(181404+(d<<4)|0,5,8,153907+(a<<3)|0,1,1,153963+(a<<3)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==15){a=0;break}d=a+1|0;c[181532+(d<<4)+4>>2]=224964+(a<<11);c[181532+(d<<4)+12>>2]=512;RM(181532+(d<<4)|0,9,16,154019+(a<<4)|0,1,1,154275+(a<<4)|0,1,1,0,0,0,4)|0;a=d}while(1){if((a|0)==6)break;d=a+1|0;c[181788+(d<<4)+4>>2]=255684+(a<<5);c[181788+(d<<4)+12>>2]=8;RM(181788+(d<<4)|0,3,7,154531+(a<<4)|0,1,1,154643+(a<<4)|0,1,1,0,0,0,4)|0;a=d}c[45476]=255876;c[45478]=96;RM(181900,6,16,154627,1,1,154739,1,1,0,0,0,4)|0;SM()}return}function RM(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;T=Ec;Ec=Ec+12624|0;S=T+72|0;R=T+64|0;N=T+56|0;L=T+48|0;z=T+40|0;A=T+32|0;v=T+16|0;t=T;s=T+616|0;u=T+600|0;F=T+88|0;c[f>>2]=g;P=(r&4|0)!=0;do if(P)if((h+1|0)>>>0<1501){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+8>>2]=0;K=u;O=6;break}else{c[t>>2]=154755;c[t+4>>2]=154814;c[t+8>>2]=282;We(0,0,164054,t);Za()}else{c[f+4>>2]=0;c[f+12>>2]=0;c[f+8>>2]=0;s=Mg(h+1|0,8)|0;if(!s)Q=-12;else{K=f;O=6}}while(0);do if((O|0)==6){J=(o|0)!=0;if(J&(q|0)>2){c[v>>2]=154837;c[v+4>>2]=154814;c[v+8>>2]=298;We(0,0,164054,v);Za()}G=g*3|0;I=(r&2|0)==0;y=0;t=0;while(1){if((y|0)>=(h|0)){O=41;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;O=15;break}case 2:{u=b[u>>1]&255;O=15;break}case 4:{u=c[u>>2]&255;O=15;break}default:u=a[s+(t<<3)>>0]|0}if((O|0)==15){O=0;a[s+(t<<3)>>0]=u}x=u&255;if((x|0)>(g|0)){if((u&255)>32|(G|0)<(x|0)){O=18;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;O=25;break}case 2:{v=e[v>>1]|0;O=25;break}case 4:{v=c[v>>2]|0;O=25;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((O|0)==25){O=0;w=s+(t<<3)+4|0;c[w>>2]=v}E=sW(1,0,u&255|0)|0;D=M()|0;if(!((D|0)>0|(D|0)==0&E>>>0>v>>>0)){O=27;break}if(I)u=v<<32-x;else u=(d[120699+(v>>>8&255)>>0]|0)<<16|(d[120699+(v&255)>>0]|0)<<24|(d[120699+(v>>>16&255)>>0]|0)<<8|(d[120699+(v>>>24)>>0]|0);c[w>>2]=u;a:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=38;break a}case 2:{u=b[u>>1]|0;O=38;break a}case 4:{u=c[u>>2]&65535;O=38;break a}default:break a}}else{u=y&65535;O=38}while(0);if((O|0)==38){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==18){c[A>>2]=x;We(0,16,154867,A);if(P){Q=-1;break}Te(s);Q=-1;break}else if((O|0)==27){c[z>>2]=v;c[z+4>>2]=y;We(0,16,154898,z);if(P){Q=-1;break}Te(s);Q=-1;break}else if((O|0)==41){c[F>>2]=s;c[F+4>>2]=s+(t<<3)+-8;u=1;b:while(1){if(!u)break;u=u+-1|0;E=c[F+(u<<3)+4>>2]|0;v=c[F+(u<<3)>>2]|0;while(1){if(v>>>0>=E>>>0)continue b;z=E+-8|0;if(v>>>0>=z>>>0)break;w=E+-16|0;y=v+8|0;C=E;D=v;A=v+(C-D>>4<<3)|0;do if((TM(v,E)|0)>0)if((TM(E,A)|0)>0){B=A;U=c[B>>2]|0;B=c[B+4>>2]|0;W=v;V=c[W+4>>2]|0;x=A;c[x>>2]=c[W>>2];c[x+4>>2]=V;x=v;c[x>>2]=U;c[x+4>>2]=B;x=0;break}else{W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;B=v;U=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0;break}else if((TM(v,A)|0)>0){W=A;V=c[W>>2]|0;W=c[W+4>>2]|0;B=v;U=c[B+4>>2]|0;x=A;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=v;c[x>>2]=V;c[x+4>>2]=W;x=0}else x=1;while(0);if((TM(A,E)|0)>0){W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;B=A;U=c[B+4>>2]|0;x=E;c[x>>2]=c[B>>2];c[x+4>>2]=U;x=A;c[x>>2]=V;c[x+4>>2]=W;x=0}if((v|0)==(w|0))continue b;W=A;V=c[W>>2]|0;W=c[W+4>>2]|0;X=z;U=c[X+4>>2]|0;B=A;c[B>>2]=c[X>>2];c[B+4>>2]=U;B=z;c[B>>2]=V;c[B+4>>2]=W;B=y;c:while(1){if(B>>>0>w>>>0)break;else y=B;while(1){if(y>>>0>w>>>0)break;if((TM(y,z)|0)>=0)break;y=y+8|0}while(1){if(y>>>0>w>>>0){B=y;continue c}if((TM(w,z)|0)<=0)break;w=w+-8|0}X=w;W=c[X>>2]|0;X=c[X+4>>2]|0;U=y;V=c[U+4>>2]|0;B=w;c[B>>2]=c[U>>2];c[B+4>>2]=V;B=y;c[B>>2]=W;c[B+4>>2]=X;B=y+8|0;w=w+-8|0}W=B;V=c[W>>2]|0;W=c[W+4>>2]|0;y=z;U=c[y+4>>2]|0;X=B;c[X>>2]=c[y>>2];c[X+4>>2]=U;X=z;c[X>>2]=V;c[X+4>>2]=W;if(x|0?(A|0)==(B|0)|(A|0)==(B+-8|0):0){x=v;while(1){if(x>>>0>=E>>>0)break;if((TM(x,x+8|0)|0)>=1)break;x=x+8|0}if((x|0)==(E|0))continue b}X=B;if((C-X|0)<(X-D|0)){x=E;y=B+8|0}else{x=w;y=v;w=E;v=B+8|0}c[F+(u<<3)>>2]=v;c[F+(u<<3)+4>>2]=w;E=x;v=y;u=u+1|0}if((TM(v,E)|0)<=0)continue;W=E;V=c[W>>2]|0;W=c[W+4>>2]|0;D=v;U=c[D+4>>2]|0;X=E;c[X>>2]=c[D>>2];c[X+4>>2]=U;X=v;c[X>>2]=V;c[X+4>>2]=W}y=0;while(1){if((y|0)>=(h|0)){O=109;break}u=i+(H(y,j)|0)|0;switch(k|0){case 1:{u=a[u>>0]|0;O=83;break}case 2:{u=b[u>>1]&255;O=83;break}case 4:{u=c[u>>2]&255;O=83;break}default:u=a[s+(t<<3)>>0]|0}if((O|0)==83){O=0;a[s+(t<<3)>>0]=u}x=u&255;if(!(u<<24>>24==0|(x|0)>(g|0))){if((u&255)>32|(G|0)<(x|0)){O=86;break}v=l+(H(y,m)|0)|0;switch(n|0){case 1:{v=d[v>>0]|0;O=93;break}case 2:{v=e[v>>1]|0;O=93;break}case 4:{v=c[v>>2]|0;O=93;break}default:{v=s+(t<<3)+4|0;w=v;v=c[v>>2]|0}}if((O|0)==93){O=0;w=s+(t<<3)+4|0;c[w>>2]=v}X=sW(1,0,u&255|0)|0;W=M()|0;if(!((W|0)>0|(W|0)==0&X>>>0>v>>>0)){O=95;break}if(I)u=v<<32-x;else u=(d[120699+(v>>>8&255)>>0]|0)<<16|(d[120699+(v&255)>>0]|0)<<24|(d[120699+(v>>>16&255)>>0]|0)<<8|(d[120699+(v>>>24)>>0]|0);c[w>>2]=u;d:do if(J){u=o+(H(y,p)|0)|0;switch(q|0){case 1:{u=d[u>>0]|0;O=106;break d}case 2:{u=b[u>>1]|0;O=106;break d}case 4:{u=c[u>>2]&65535;O=106;break d}default:break d}}else{u=y&65535;O=106}while(0);if((O|0)==106){O=0;b[s+(t<<3)+2>>1]=u}t=t+1|0}y=y+1|0}if((O|0)==86){c[L>>2]=x;We(0,16,154867,L);if(P){Q=-1;break}Te(s);Q=-1;break}else if((O|0)==95){c[N>>2]=v;c[N+4>>2]=y;We(0,16,154898,N);if(P){Q=-1;break}Te(s);Q=-1;break}else if((O|0)==109){u=UM(K,g,t,s,r)|0;if(!P){Te(s);if((u|0)>=0){Q=0;break}Se(K+4|0);Q=u;break}s=c[K+8>>2]|0;t=c[K+12>>2]|0;if((s|0)!=(t|0)){c[R>>2]=s;c[R+4>>2]=t;We(0,16,154934,R)}if((u|0)>-1){c[f>>2]=c[K>>2];c[f+4>>2]=c[K+4>>2];c[f+8>>2]=c[K+8>>2];c[f+12>>2]=c[K+12>>2];Q=0;break}else{c[S>>2]=164084;c[S+4>>2]=154814;c[S+8>>2]=341;We(0,0,164054,S);Za()}}}}while(0);Ec=T;return Q|0}function SM(){var b=0,c=0,e=0,f=0,g=0,h=0,i=0;g=0;while(1){if((g|0)==7)break;i=-1<<g;h=0;while(1){if((h|0)==256)break;e=h<<1;f=(e&65280|0)==0;e=(f?0:8)+(d[120443+(f?e:h>>>7&16777215)>>0]|0)|0;f=8-e|0;b=f+1|0;c=b+g|0;do if((c|0)>=9)if(!e){a[257284+(g<<9)+(h<<1)>>0]=108;b=8;break}else{a[257284+(g<<9)+(h<<1)>>0]=f+100;b=b&255;break}else{b=(h&65280|0)==0;f=(f<<g)+i+(h>>>((b?0:8)-g+(d[120443+(b?h:h>>>8)>>0]|0)|0))|0;b=f&1;a[257284+(g<<9)+(h<<1)>>0]=((f+2|0)>>>1^0-b)+b;b=c&255}while(0);a[257284+(g<<9)+(h<<1)+1>>0]=b;h=h+1|0}g=g+1|0}return}function TM(a,b){a=a|0;b=b|0;return ((c[a+4>>2]|0)>>>1)-((c[b+4>>2]|0)>>>1)|0}function UM(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Ec;Ec=Ec+16|0;w=B;x=B+4|0;y=1<<f;a:do if((f|0)<=30){z=VM(e,y,i&4)|0;if((z|0)<0)j=z;else{t=e+4|0;c[x>>2]=(c[t>>2]|0)+(z<<2);u=32-f|0;v=(i&2|0)==0;j=0;b:while(1){if((j|0)>=(g|0)){j=0;break}s=h+(j<<3)|0;m=a[s>>0]|0;q=m&255;l=h+(j<<3)+4|0;n=c[l>>2]|0;r=b[h+(j<<3)+2>>1]|0;c:do if((q|0)>(f|0)){r=q-f|0;k=n>>>u;a[s>>0]=r;c[l>>2]=n<<f;l=r;r=j;while(1){q=r+1|0;if((q|0)>=(g|0))break;m=h+(q<<3)|0;n=(d[m>>0]|0)-f|0;if((n|0)<1)break;o=h+(q<<3)+4|0;p=c[o>>2]|0;if((p>>>u|0)!=(k|0))break;a[m>>0]=n;c[o>>2]=p<<f;l=(l|0)>(n|0)?l:n;r=q}l=(l|0)>(f|0)?f:l;if(!v)k=(d[120699+(k>>>8&255)>>0]<<16|d[120699+(k&255)>>0]<<24|d[120699+(k>>>16&255)>>0]<<8|d[120699+(k>>>24)>>0])>>>u;b[(c[x>>2]|0)+(k<<2)+2>>1]=0-l;j=UM(e,l,q-j|0,s,i)|0;if((j|0)<0)break a;c[x>>2]=(c[t>>2]|0)+(z<<2);b[(c[x>>2]|0)+(k<<2)>>1]=j;j=r}else{p=1<<f-q;if(v){o=1;k=n>>>u}else{o=1<<q;k=d[120699+(n>>>8&255)>>0]<<16|d[120699+(n&255)>>0]<<24|d[120699+(n>>>16&255)>>0]<<8|d[120699+(n>>>24)>>0]}m=m&255;l=0;while(1){if((l|0)>=(p|0))break c;s=b[(c[x>>2]|0)+(k<<2)+2>>1]|0;if(!(s<<16>>16==0|(s<<16>>16|0)==(q|0))){A=11;break b}b[(c[x>>2]|0)+(k<<2)+2>>1]=m;b[(c[x>>2]|0)+(k<<2)>>1]=r;l=l+1|0;k=k+o|0}}while(0);j=j+1|0}if((A|0)==11){We(0,16,154952,w);j=-1094995529;break}while(1){if((j|0)>=(y|0)){j=z;break a}if(!(b[(c[x>>2]|0)+(j<<2)+2>>1]|0))b[(c[x>>2]|0)+(j<<2)>>1]=-1;j=j+1|0}}}else j=-1;while(0);Ec=B;return j|0}function VM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+8|0;e=c[g>>2]|0;h=e+b|0;c[g>>2]=h;f=a+12|0;b=c[f>>2]|0;do if((h|0)>(b|0)){if(d|0)Za();b=(1<<c[a>>2])+b|0;c[f>>2]=b;h=a+4|0;b=KM(c[h>>2]|0,b,4)|0;c[h>>2]=b;if(!b){c[f>>2]=0;c[g>>2]=0;e=-12;break}else{h=c[a>>2]|0;yW(b+(c[f>>2]<<2)+(-1<<h<<2)|0,0,4<<h|0)|0;break}}while(0);return e|0}function WM(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=f+696|0;h=f+24312|0;i=j;g=0;while(1){if((g|0)>=(d|0))break;f=c[b+(g<<2)>>2]|0;if((f|0)!=0?f>>>0>=j>>>0&f>>>0<h>>>0:0)f=e+696+(((f-i|0)/656|0)*656|0)|0;else f=0;c[a+(g<<2)>>2]=f;g=g+1|0}return}function XM(a){a=a|0;var b=0;a=c[a>>2]|0;b=a+1672|0;c[b>>2]=0;c[b+4>>2]=-2147483648;c[a+1680>>2]=2147483647;Pm(a+1208|0,8,1);return 0}function YM(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=Ec;Ec=Ec+48|0;k=v+32|0;j=v+24|0;s=v+20|0;t=v+16|0;l=v+8|0;m=v;c[s>>2]=f;c[t>>2]=g;o=c[a>>2]|0;h=o+1644|0;if((c[h>>2]|0)==0?(c[h>>2]=1,i=c[b+72>>2]|0,i|0):0)th(c[b+68>>2]|0,i,o+40|0,o+1636|0,o+1640|0,c[b+580>>2]|0,b)|0;i=a+176|0;do if(!(c[i>>2]&1)){g=aN(o,f,g,b)|0;if((Ue(o,g,s,t)|0)<0){c[d>>2]=0;c[e>>2]=0;g=c[t>>2]|0;break}if((g|0)<0&(g|0)!=-100){aN(o,(c[o>>2]|0)+((c[o+8>>2]|0)+g)|0,0-g|0,b)|0;u=9}else u=9}else u=9;while(0);if((u|0)==9){bN(a,b,c[s>>2]|0,c[t>>2]|0);h=b+760|0;if(c[h>>2]|0){c[m>>2]=c[b+84>>2];c[m+4>>2]=1;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];cN(l,j,k);n=c[l>>2]|0;p=b+76|0;c[p>>2]=c[l+4>>2];c[p+4>>2]=n}h=c[o+1404>>2]|0;if((h|0)>-1){p=c[o+1432>>2]|0;k=h;n=c[o+1400>>2]|0}else{p=-2147483648;k=-2147483648;n=-2147483648}c[a+240>>2]=p;c[a+244>>2]=k;c[a+248>>2]=n;h=c[i>>2]|0;if(h&2|0)c[i>>2]=h&1;if((p|0)>-1?(q=c[b+80>>2]|0,r=c[b+772>>2]|0,q=nW(r|0,((r|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0,r=M()|0,(r|0)>0|(r|0)==0&q>>>0>0):0){l=c[b+76>>2]|0;m=c[b+776>>2]|0;l=nW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;m=M()|0;j=a+48|0;h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;if((i|0)==0&(h|0)==-2147483648){f=o+1672|0;i=f;h=c[i>>2]|0;i=c[i+4>>2]|0;if((h|0)==0&(i|0)==-2147483648){i=0;h=-2147483648}else{u=dN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;i=hW(u|0,M()|0,h|0,i|0)|0;h=M()|0;u=j;c[u>>2]=i;c[u+4>>2]=h;u=21}}else{k=dN(k,((k|0)<0)<<31>>31,l,m,q,r)|0;k=iW(i|0,h|0,k|0,M()|0)|0;b=M()|0;f=o+1672|0;o=f;c[o>>2]=k;c[o+4>>2]=b;if(!((k|0)==0&(b|0)==-2147483648))u=21}if((u|0)==21){j=a+40|0;u=j;if((c[u>>2]|0)==0?(c[u+4>>2]|0)==-2147483648:0){q=dN(n,((n|0)<0)<<31>>31,l,m,q,r)|0;q=hW(q|0,M()|0,i|0,h|0)|0;r=M()|0;u=j;c[u>>2]=q;c[u+4>>2]=r}}if((p|0)>0){u=f;c[u>>2]=i;c[u+4>>2]=h}}c[d>>2]=c[s>>2];c[e>>2]=c[t>>2]}Ec=v;return g|0}function ZM(a){a=a|0;a=c[a>>2]|0;Se(a);Wf(a+1388|0);oh(a+40|0);return}function _M(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ec;Ec=Ec+16|0;k=m;c[k>>2]=-1;j=d+e|0;b=0;e=d;i=0;a:while(1)b:while(1){h=(b|0)!=0;while(1){if(e>>>0>=j>>>0){b=0;break a}e=$M(e,j,k)|0;g=c[k>>2]|0;if((g&-256|0)!=256){b=0;break a}f=g&31;switch(g&31){case 8:{i=1;continue a}case 7:{b=1;continue b}default:{}}if(h&((f|0)!=15&((f|4|0)!=13&(i|(f|0)!=6)))){l=8;break a}}}if((l|0)==8){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;l=8}else break}b=b-d|0}Ec=m;return b|0}function $M(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Ec;Ec=Ec+16|0;g=i;if(b>>>0>e>>>0){c[g>>2]=155177;c[g+4>>2]=131456;c[g+8>>2]=1892;We(0,0,164054,g);Za()}a:do if(b>>>0<e>>>0){h=0;while(1){if((h|0)>=3)break;j=c[f>>2]<<8;g=b+1|0;c[f>>2]=j|d[b>>0];if((g|0)==(e|0)|(j|0)==256){e=g;break a}else{h=h+1|0;b=g}}while(1){if(b>>>0>=e>>>0)break;g=a[b+-1>>0]|0;if((g&255)>1){b=b+3|0;continue}if(!(a[b+-2>>0]|0)){h=b+1|0;if(!((g&255)+-1|d[b+-3>>0])){b=h;break}else{b=h;continue}}else{b=b+2|0;continue}}e=b>>>0>e>>>0?e:b;j=e+-4|0;c[f>>2]=uW(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24|0)|0}while(0);Ec=i;return e|0}function aN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Ec;Ec=Ec+48|0;s=x+8|0;h=x;r=x+16|0;v=b+1636|0;w=b+16|0;j=c[w>>2]|0;j=j>>>0>13?7:j;q=b+1640|0;if(c[v>>2]|0)if(!(c[q>>2]|0)){We(g,16,155474,h);i=0}else i=0;else i=f;m=b+1340|0;n=b+1660|0;o=b+1664|0;p=b+1652|0;u=b+20|0;h=0;a:while(1){if((h|0)>=(f|0)){t=31;break}b:do if((i|0)>(h|0)){if((j|0)==7){j=(Mc[c[m>>2]&15](e+h|0,i-h|0)|0)+h|0;l=i;h=j;j=(j|0)<(i|0)?2:7;break}if(j>>>0<3)switch(a[e+h>>0]|0){case 1:{l=i;j=j^5;break b}case 0:{l=i;j=j>>>1;break b}default:{l=i;j=7;break b}}k=a[e+h>>0]|0;if(j>>>0>=6){l=c[n>>2]|0;c[n>>2]=l+1;a[b+1652+l>>0]=k;k=c[n>>2]|0;if((k|0)>5){l=c[o>>2]|0;rN(r,p,k<<3)|0;c[n>>2]=0;k=jN(r)|0;c[o>>2]=k;if(c[u>>2]|0){if(k>>>0<=l>>>0){t=29;break a}}else c[u>>2]=1;l=i;j=7}else l=i}else{l=i;i=k;t=20}}else{j=c[q>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;h=h+1|0;k=k<<8|d[e+i>>0];i=i+1|0}h=f-i|0;if((k|0)<1|(k|0)>(h|0)){t=12;break a}h=i;l=i+k|0;j=5;i=a[e+i>>0]|0;t=20}while(0);c:do if((t|0)==20){t=0;if(((i&31)+-6&255)<4){k=(c[u>>2]|0)==0;h=h+((k^1)&1)|0;if(k){j=7;break}else{i=l;f=j;t=32;break a}}switch(i&31){case 1:case 2:case 5:break;default:{j=7;break c}}j=j+8|0}while(0);h=h+1|0;i=l}if((t|0)==12){c[s>>2]=k;c[s+4>>2]=h;We(g,16,155511,s);t=33}else if((t|0)==29){f=j;t=32}else if((t|0)==31){c[w>>2]=j;f=(c[v>>2]|0)==0?-100:i;t=33}if((t|0)==32){c[w>>2]=7;c[u>>2]=0;Ec=x;return ((c[v>>2]|0)==0?h-(f&5)+(f>>>0>7?-5:0)|0:i)|0}else if((t|0)==33){Ec=x;return f|0}return 0}function bN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Ec;Ec=Ec+128|0;u=J+24|0;z=J+16|0;w=J+8|0;v=J;I=J+112|0;s=J+44|0;t=J+40|0;F=J+32|0;H=c[b>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;h=s;i=h+68|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if((g|0)>3)n=(ZS(155186,f,4)|0)==0;else n=0;x=b+32|0;c[x>>2]=1;y=b+224|0;c[y>>2]=0;E=b+312|0;c[E>>2]=0;D=H+1388|0;Wf(D);c[H+1572>>2]=-1;a:do if(g|0?(xM(I,I+4|0,g),c[I>>2]|0):0){c[t>>2]=0;A=s+24|0;m=s+8|0;o=s+4|0;C=s+64|0;B=s+44|0;p=H+40|0;q=s+12|0;r=H+1640|0;i=c[H+1636>>2]|0?0:g;h=0;b:while(1){while(1){if((h|0)>=(i|0)){G=8;break}h=fN(f,g,h,i)|0;if((h|0)>=(g|0)){G=103;break b}if((h|0)<(i|0)){G=12;break}}if((G|0)==8){G=0;c[t>>2]=h;h=eN(c[r>>2]|0,f,g,t,e)|0;if((h|0)<0){G=104;break}k=c[t>>2]|0;l=k+h|0;h=k}else if((G|0)==12){G=0;c[t>>2]=h;l=i}i=l-h|0;k=f+h|0;K=a[k>>0]|0;j=K&255;c:do switch(K&31){case 5:case 1:if((j&31|0)==5|(j&96|0)==0){i=(i|0)<60?i:60;break c}else{i=(i|0)<1e3?i:1e3;break c}default:{}}while(0);i=BM(k,i,I,s,1)|0;if((i|0)<0){G=104;break}h=h+i|0;c[t>>2]=h;if((gN(A,c[m>>2]|0,c[o>>2]|0)|0)<0)break;hN(A)|0;c[C>>2]=iN(A,2)|0;K=iN(A,5)|0;c[B>>2]=K;switch(K|0){case 5:{G=23;break b}case 1:{G=24;break b}case 7:{Rh(A,e,p,0)|0;i=l;continue b}case 8:{Th(A,e,p,c[q>>2]|0)|0;i=l;continue b}case 6:{Ph(D,A,p,e)|0;i=l;continue b}default:{i=l;continue b}}}if((G|0)==23){c[y>>2]=1;c[H+1384>>2]=0;c[H+1380>>2]=0;c[H+1372>>2]=0;c[H+1368>>2]=0;G=24}else if((G|0)==103){c[t>>2]=h;G=104}d:do if((G|0)==24){jN(A)|0;c[x>>2]=d[127948+(((kN(A)|0)>>>0)%5|0)>>0];if((c[H+1428>>2]|0)>-1)c[y>>2]=1;h=lN(A)|0;if(h>>>0>255){c[v>>2]=h;We(e,16,155191,v);break}i=H+168+(h<<2)|0;if(!(c[i>>2]|0)){c[w>>2]=h;We(e,16,155215,w);break}K=H+1192|0;Cf(K);j=H+1196|0;Cf(j);o=H+1200|0;c[o>>2]=0;k=H+1204|0;c[k>>2]=0;h=Eg(c[i>>2]|0)|0;c[K>>2]=h;if(h|0){h=c[h+4>>2]|0;c[o>>2]=h;h=c[h>>2]|0;i=c[H+40+(h<<2)>>2]|0;if(!i){c[z>>2]=h;We(e,16,155247,z);break}h=Eg(i)|0;c[j>>2]=h;if(h|0){m=c[h+4>>2]|0;c[k>>2]=m;if(((c[m+48>>2]|0)<2?(c[(c[o>>2]|0)+20>>2]|0)>>>0<2:0)?(c[x>>2]|0)==1:0)c[y>>2]=1;l=H+1344|0;n=H+1364|0;c[n>>2]=iN(A,c[m+20>>2]|0)|0;h=c[m+56>>2]<<4;c[b+328>>2]=h;i=c[m+60>>2]<<4;c[b+332>>2]=i;K=h-(c[m+84>>2]|0)-(c[m+80>>2]|0)|0;j=b+320|0;c[j>>2]=K;z=i-(c[m+88>>2]|0)-(c[m+92>>2]|0)|0;k=b+324|0;c[k>>2]=z;if((z|0)<1|(K|0)<1){c[j>>2]=h;c[k>>2]=i}e:do switch(c[m+1184>>2]|0){case 9:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=68;break e}else{c[b+336>>2]=(h|0)==2?72:62;break e}}case 10:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=70;break e}else{c[b+336>>2]=(h|0)==2?66:64;break e}}case 8:{h=c[m+12>>2]|0;if((h|0)==3){c[b+336>>2]=5;break e}else{c[b+336>>2]=(h|0)==2?4:0;break e}}default:c[b+336>>2]=-1}while(0);c[e+716>>2]=Hm(m)|0;c[e+720>>2]=c[m+8>>2];if((c[m+64>>2]|0)==0?(hN(A)|0)!=0:0)h=(hN(A)|0)+1|0;else h=3;k=H+1648|0;c[k>>2]=h;if((c[B>>2]|0)==5)jN(A)|0;i=m+24|0;h=c[i>>2]|0;if(!h){c[l>>2]=iN(A,c[m+28>>2]|0)|0;if((c[(c[o>>2]|0)+8>>2]|0)==1?(c[k>>2]|0)==3:0)c[H+1352>>2]=mN(A)|0;h=c[i>>2]|0}do if(((h|0)==1?(c[m+32>>2]|0)==0:0)?(c[H+1356>>2]=mN(A)|0,(c[(c[o>>2]|0)+8>>2]|0)==1):0){if((c[k>>2]|0)!=3)break;c[H+1360>>2]=mN(A)|0}while(0);j=F+4|0;c[j>>2]=2147483647;c[F>>2]=2147483647;if((ol(F,b+316|0,m,l,c[k>>2]|0,c[C>>2]|0)|0)>=0){do if((c[C>>2]|0)==0|(c[B>>2]|0)==5)G=70;else{h=nN(b,A,e)|0;if((h|0)<0)break d;if(!h){G=70;break}c[H+1384>>2]=0;h=0;i=1}while(0);if((G|0)==70){c[H+1384>>2]=c[n>>2];h=c[H+1376>>2]|0;i=0}c[H+1380>>2]=h;if(c[C>>2]|0){if(i){i=0;h=(c[k>>2]|0)==2?0:c[F>>2]|0}else{i=c[H+1348>>2]|0;h=c[l>>2]|0}c[H+1368>>2]=i;c[H+1372>>2]=h}i=(c[m+1160>>2]|0)==0;f:do if(i)G=85;else{if(!(c[D>>2]|0)){G=85;break}switch(c[H+1392>>2]|0){case 2:case 1:{h=0;break f}case 4:case 3:case 0:{h=1;break f}case 6:case 5:{h=2;break f}case 7:{h=3;break f}case 8:{h=5;break f}default:{h=(c[k>>2]|0)==3&1;break f}}}while(0);if((G|0)==85)h=(c[k>>2]|0)==3&1;c[b+36>>2]=h;h=c[k>>2]|0;g:do if((h|0)==3){c[E>>2]=3;do if(!i){if(!(c[D>>2]|0))break;switch(c[H+1392>>2]|0){case 5:case 3:{h=2;break}case 6:case 4:{h=3;break}default:h=1}c[b+308>>2]=h;break g}while(0);i=c[F>>2]|0;h=c[j>>2]|0;if((i|0)<(h|0)){c[b+308>>2]=2;break}else{c[b+308>>2]=(i|0)>(h|0)?3:1;break}}else{l=(h|0)==1?1:2;c[E>>2]=l;j=c[n>>2]|0;k=H+1680|0;h=H+1684|0;h:do if((j|0)==(c[k>>2]|0)){i=c[h>>2]|0;switch(i|0){case 3:case 0:{G=100;break h}default:{}}if((i|0)==(l|0)){G=100;break}c[b+308>>2]=(i|0)==1?2:3}else G=100;while(0);if((G|0)==100)c[b+308>>2]=0;c[h>>2]=l;c[k>>2]=j}while(0);Se(I);break a}}}}else if((G|0)==104)if(n){Se(I);break a}else{c[u>>2]=g;We(e,16,155279,u);break}while(0);Se(I)}while(0);Ec=J;return}function cN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=b+4|0;g=c[b>>2]|0;f=c[d>>2]|0;g=nW(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=M()|0;e=c[h>>2]|0;d=c[d+4>>2]|0;e=nW(d|0,((d|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;Mm(b,h,g,f,e,M()|0,2147483647,0)|0;e=b;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function dN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=Cm(a,b,c,d,e,f,5)|0;L(M()|0);return f|0}function eN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Ec;Ec=Ec+16|0;k=l;i=c[f>>2]|0;if((i|0)<(e-a|0)){h=0;j=0;while(1){if((j|0)>=(a|0))break;m=i+1|0;c[f>>2]=m;h=h<<8|(d[b+i>>0]|0);j=j+1|0;i=m}i=e-i|0;if((h|0)<1|(h|0)>(i|0)){c[k>>2]=h;c[k+4>>2]=i;We(g,16,155440,k);h=-1094995529}}else h=-11;Ec=l;return h|0}function fN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ec;Ec=Ec+16|0;g=f;c[g>>2]=-1;e=($M(a+d|0,a+e+1|0,g)|0)-a+-1|0;Ec=f;return ((e|0)>(b|0)?b:e)|0}function gN(a,b,c){a=a|0;b=b|0;c=c|0;return rN(a,b,c>>>0>268435455?-8:c<<3)|0}function hN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function iN(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function jN(a){a=a|0;var b=0,c=0,e=0;e=oN(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;pN(a,b);return (qN(a,b+1|0)|0)+-1|0}function kN(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126412+a>>0]|0);return d[126924+a>>0]|0|0}function lN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Ec;Ec=Ec+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120443+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){We(0,16,155802,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126412+a>>0]|0);a=d[126924+a>>0]|0}while(0);Ec=h;return a|0}function mN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(uW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126412+b>>0]|0);b=a[127436+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120443+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function nN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+20816|0;r=s+16|0;k=s+8|0;j=s;o=s+40|0;i=s+32|0;p=s+24|0;q=c[a+32>>2]&3;n=c[a>>2]|0;g=n+1200|0;if(c[(c[g>>2]|0)+60>>2]|0)lN(b)|0;l=(q|0)==3;if(l)hN(b)|0;m=n+1648|0;a:do if(($L(i,p,b,c[g>>2]|0,q,c[m>>2]|0,d)|0)>=0){if((q|0)!=1){f=0;while(1){if((f|0)>=(c[i>>2]|0))break;b:do if(hN(b)|0){h=p+(f<<2)|0;e=0;c:while(1){a=kN(b)|0;if(a>>>0<3){jN(b)|0;if((e|0)<(c[h>>2]|0))a=0;else{c[k>>2]=e;We(d,16,155363,k);a=1}}else if((a|0)==3)a=5;else{c[j>>2]=a;We(d,16,155324,j);a=1}switch(a&7){case 5:break b;case 0:break;default:break c}e=e+1|0}if(a|0){a=-1094995529;break a}}while(0);f=f+1|0}a=c[g>>2]|0;if((q|0)==2&(c[a+28>>2]|0)!=0)f=22;else f=21}else{a=c[g>>2]|0;f=21}if((f|0)==21?l&(c[a+32>>2]|0)==1:0)f=22;if((f|0)==22)bM(b,c[n+1204>>2]|0,p,q,o,c[m>>2]|0,d)|0;if(hN(b)|0){a=0;d:while(1){if((a|0)>=66){f=33;break}e=kN(b)|0;if(e>>>0>6){f=26;break}switch(e|0){case 5:{a=1;break a}case 0:{f=33;break d}default:{}}if((e|2|0)==3)jN(b)|0;switch(e|0){case 2:case 3:case 4:case 6:{kN(b)|0;break}default:{}}a=a+1|0}if((f|0)==26){c[r>>2]=e;We(d,16,155392,r);a=-1094995529;break}else if((f|0)==33){a=0;break}}else a=0}else a=-1094995529;while(0);Ec=s;return a|0}function oN(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=qN(d,32)|0;Ec=b;return a|0}function pN(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function qN(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=iN(a,b)|0;break}else{b=b+-16|0;c=(iN(a,16)|0)<<b;a=c|(iN(a,b)|0);break}else a=0;while(0);return a|0}function rN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function sN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ec;Ec=Ec+16|0;k=n+4|0;l=n;c[k>>2]=f;c[l>>2]=g;j=c[a>>2]|0;h=c[b+68>>2]|0;if(h|0?(i=j+1708|0,(c[i>>2]|0)==0):0){xN(h,c[b+72>>2]|0,j+64|0,j+460|0,j+1700|0,j+1704|0,c[b+580>>2]|0,1,b)|0;c[i>>2]=1}do if(!(c[a+176>>2]&1)){h=yN(a,f,g)|0;if((Ue(j,h,k,l)|0)<0){c[d>>2]=0;c[e>>2]=0;h=c[l>>2]|0;break}else{f=c[k>>2]|0;i=c[l>>2]|0;m=8;break}}else{h=g;i=g;m=8}while(0);if((m|0)==8){zN(a,f,i,b);c[d>>2]=c[k>>2];c[e>>2]=c[l>>2]}Ec=n;return h|0}function tN(a){a=a|0;a=c[a>>2]|0;vN(a+64|0);ph(a+40|0);wN(a+460|0);Se(a);return}function uN(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=Ec;Ec=Ec+16|0;l=n;k=d+e|0;c[l>>2]=-1;b=0;f=0;j=0;e=d;a:while(1)b:while(1){i=j&(f|0)!=0;c:while(1){h=(b|0)!=0;while(1){if(e>>>0>=k>>>0){b=0;break a}e=$M(e,k,l)|0;g=c[l>>2]|0;if((g&-256|0)!=256){b=0;break a}o=g>>>1;g=o&63;switch(o&63){case 32:{j=1;continue a}case 33:{f=1;continue b}case 34:{b=1;continue c}default:{}}if((g|0)!=35&(h|(g|0)!=39)&i){m=9;break a}}}}if((m|0)==9){while(1){b=e+-4|0;if(b>>>0<=d>>>0)break;if(!(a[e+-5>>0]|0)){e=e+-1|0;m=9}else break}b=b-d|0}Ec=n;return b|0}function vN(a){a=a|0;var b=0;b=0;while(1){if((b|0)==16){b=0;break}Cf(a+(b<<2)|0);b=b+1|0}while(1){if((b|0)==16){b=0;break}Cf(a+64+(b<<2)|0);b=b+1|0}while(1){if((b|0)==64)break;Cf(a+128+(b<<2)|0);b=b+1|0}c[a+388>>2]=0;c[a+392>>2]=0;c[a+384>>2]=0;return}function wN(a){a=a|0;c[a+92>>2]=0;Se(a+96|0);return}function xN(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=Ec;Ec=Ec+32|0;w=x+24|0;v=x+16|0;m=x;if((e|0)<=-1){c[m>>2]=159582;c[m+4>>2]=159596;c[m+8>>2]=137;We(0,0,164054,m);Za()}u=b+e|0;do if((e|0)>3){if(((a[b>>0]|0)==0?(a[b+1>>0]|0)==0:0)?(d[b+2>>0]|0)<=1:0){n=28;break}c[h>>2]=1;t=e>>>0<21?e:21;m=b+t|0;if((e-t|0)<1){t=1;m=u}else{t=(a[m>>0]&3)+1&255;m=m+1|0}b=m;if((u-m|0)<1){r=0;b=u}else{r=d[b>>0]|0;b=b+1|0}c[i>>2]=2;m=0;s=0;a:while(1){if((s|0)>=(r|0)){n=27;break}e=b;if((u-b|0)<1){q=0;b=u}else{q=a[e>>0]&63;b=e+1|0}if((u-b|0)<2){p=0;b=u}else{p=b;p=(tW(d[p>>0]|d[p+1>>0]<<8|0)|0)&65535;b=b+2|0}o=0;while(1){if((o|0)>=(p|0))break;e=b;n=u-b|0;if((n|0)<2)m=0;else{m=b;m=(tW(d[m>>0]|d[m+1>>0]<<8|0)|0)&65535}b=m+2|0;if(n>>>0<b>>>0){n=22;break a}m=KO(e,b,f,g,c[h>>2]|0,c[i>>2]|0,j,k,l)|0;if((m|0)<0){n=24;break a}o=o+1|0;b=e+(n>>>0>b>>>0?b:n)|0}s=s+1|0}if((n|0)==22){We(l,16,159620,v);m=-1094995529;break}else if((n|0)==24){c[w>>2]=q;c[w+4>>2]=s;We(l,16,159657,w);break}else if((n|0)==27){c[i>>2]=t;break}}else n=28;while(0);if((n|0)==28){c[h>>2]=0;m=KO(b,e,f,g,0,c[i>>2]|0,j,k,l)|0}Ec=x;return m|0}function yN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=c[b>>2]|0;j=k+32|0;k=k+20|0;h=0;a:while(1){if((h|0)>=(f|0)){b=-100;break}b=j;g=c[b>>2]|0;b=c[b+4>>2]|0;o=sW(g|0,b|0,8)|0;n=M()|0;i=e+h|0;m=j;c[m>>2]=o|d[i>>0];c[m+4>>2]=n;b:do if((g&-65536|0)==65536&(b&255|0)==0){b=rW(g|0,b|0,9)|0;M()|0;g=b&63;switch(b&63){case 32:case 33:case 34:case 35:case 36:case 37:case 39:break;default:if(!((b&56|0)==48|(g+-41|0)>>>0<4)){if(!(g>>>0<10|(g+-16|0)>>>0<6))break b;if((a[i>>0]|0)>=0)break b;if(c[k>>2]|0){l=12;break a}c[k>>2]=1;break b}}if(c[k>>2]|0){l=12;break a}}while(0);h=h+1|0}if((l|0)==12){c[k>>2]=0;b=h+-5|0}return b|0}function zN(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=Ec;Ec=Ec+16|0;l=m;f=c[a>>2]|0;j=f+64|0;k=f+460|0;c[a+32>>2]=1;c[a+224>>2]=0;c[a+312>>2]=0;wN(k);i=f+40|0;a:do if((Jh(i,b,d,e,c[f+1700>>2]|0,c[f+1704>>2]|0,173,1)|0)>=0){d=f+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;f=c[i>>2]|0;g=f+(b*68|0)+24|0;h=c[f+(b*68|0)+44>>2]|0;switch(h|0){case 32:{AN(g,e,j)|0;break}case 33:{BN(g,e,j,1)|0;break}case 34:{CN(g,e,j)|0;break}case 40:case 39:{DN(g,e,k,j,h)|0;break}case 9:case 8:case 7:case 6:case 21:case 20:case 19:case 18:case 17:case 16:case 5:case 4:case 3:case 2:case 1:case 0:{if(EN(a,f+(b*68|0)|0,e)|0)break a;break}default:{}}b=b+1|0}We(e,16,155709,l)}while(0);Ec=m;return}function AN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Ec;Ec=Ec+96|0;v=A+80|0;t=A+72|0;q=A+64|0;o=A+56|0;n=A+48|0;m=A+40|0;l=A+32|0;k=A+24|0;j=A+16|0;i=A+8|0;y=A+84|0;w=wg(4568)|0;c[y>>2]=w;z=w;a:do if(!w)f=-12;else{x=w+4|0;s=c[x>>2]|0;We(d,48,159216,A);f=c[b>>2]|0;g=(c[b+4>>2]|0)-f|0;if(g>>>0>4096){c[i>>2]=g;c[i+4>>2]=4096;We(d,24,159230,i);g=4096;f=c[b>>2]|0}c[s+4564>>2]=g;wW(s+468|0,f|0,g|0)|0;u=kO(b,4)|0;b:do if((u|0)<=15){if((kO(b,2)|0)!=3){We(d,16,159275,k);break}c[s+4>>2]=(kO(b,6)|0)+1;r=s+8|0;c[r>>2]=(kO(b,3)|0)+1;a[s>>0]=jO(b)|0;if((kO(b,16)|0)!=65535){We(d,16,159314,l);break}f=c[r>>2]|0;if((f|0)>7){c[m>>2]=f;We(d,16,159354,m);break}if((AO(b,d,s+12|0,f)|0)>=0){m=jO(b)|0;c[s+348>>2]=m;if(!m)f=(c[r>>2]|0)+-1|0;else f=0;j=d+580|0;while(1){if((f|0)>=(c[r>>2]|0))break;i=s+352+(f<<2)|0;c[i>>2]=(iO(b)|0)+1;g=s+380+(f<<2)|0;c[g>>2]=iO(b)|0;c[s+408+(f<<2)>>2]=(iO(b)|0)+-1;i=(c[i>>2]|0)+-1|0;if(i>>>0>15){p=18;break}g=c[g>>2]|0;if(g>>>0>i>>>0?(c[o>>2]=g,We(d,24,159442,o),c[j>>2]&8|0):0)break b;f=f+1|0}if((p|0)==18){c[n>>2]=i;We(d,16,159391,n);break}j=s+436|0;c[j>>2]=kO(b,6)|0;p=iO(b)|0;f=p+1|0;k=s+440|0;c[k>>2]=f;if(p>>>0<=1023?(m=hW(f|0,((f|0)<0)<<31>>31|0,-1,-1)|0,o=M()|0,h=c[j>>2]|0,p=hW(h|0,((h|0)<0)<<31>>31|0,1,0)|0,o=nW(p|0,M()|0,m|0,o|0)|0,m=M()|0,p=qO(b)|0,n=((p|0)<0)<<31>>31,!((m|0)>(n|0)|(m|0)==(n|0)&o>>>0>p>>>0)):0){i=1;while(1){if((i|0)<(f|0)){g=0;f=h}else break;while(1){if((g|0)>(f|0))break;EO(b,1);g=g+1|0;f=c[j>>2]|0}i=i+1|0;h=f;f=c[k>>2]|0}q=(jO(b)|0)&255;a[s+444>>0]=q;c:do if(q<<24>>24){c[s+448>>2]=wO(b,32)|0;c[s+452>>2]=wO(b,32)|0;q=(jO(b)|0)&255;a[s+456>>0]=q;if(q<<24>>24)c[s+460>>2]=(iO(b)|0)+1;f=iO(b)|0;h=s+464|0;c[h>>2]=f;if(f>>>0>(c[k>>2]|0)>>>0){c[t>>2]=f;We(d,16,159519,t);break b}else g=0;while(1){if((g|0)>=(f|0))break c;iO(b)|0;if(!g)f=1;else f=jO(b)|0;FO(b,f,c[r>>2]|0);g=g+1|0;f=c[h>>2]|0}}while(0);jO(b)|0;f=qO(b)|0;if((f|0)<0){c[v>>2]=0-f;We(d,16,159557,v);f=e+(u<<2)|0;if(c[f>>2]|0)break}else{f=e+(u<<2)|0;g=c[f>>2]|0;if((g|0)!=0?(ZS(c[g+4>>2]|0,c[x>>2]|0,c[w+8>>2]|0)|0)==0:0){Cf(y);f=0;break a}}JO(e,u);c[f>>2]=z;f=0;break a}We(d,16,159485,q)}}else{c[j>>2]=u;We(d,16,156980,j)}while(0);Cf(y);f=-1094995529}while(0);Ec=A;return f|0}function BN(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=Ec;Ec=Ec+48|0;k=p+16|0;h=p+8|0;l=p+44|0;i=p+40|0;m=wg(17552)|0;c[l>>2]=m;n=m;do if(!m)f=-12;else{o=m+4|0;j=c[o>>2]|0;We(b,48,156765,p);f=c[a>>2]|0;g=(c[a+4>>2]|0)-f|0;if(g>>>0>4096){c[h>>2]=g;c[h+4>>2]=4096;We(b,24,156779,h);g=4096;f=c[a>>2]|0}c[j+17548>>2]=g;wW(j+13452|0,f|0,g|0)|0;f=yO(j,a,i,e,d,b)|0;if((f|0)<0){Cf(l);break}h=c[i>>2]|0;if(c[b+576>>2]&4|0){g=c[j+13376>>2]|0;a=c[j+13380>>2]|0;e=g-(c[j+12>>2]|0)-(c[j+16>>2]|0)|0;i=a-(c[j+20>>2]|0)-(c[j+24>>2]|0)|0;j=rg(c[j+56>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=g;c[k+8>>2]=a;c[k+12>>2]=e;c[k+16>>2]=i;c[k+20>>2]=j;We(b,48,156824,k)}f=d+64+(h<<2)|0;g=c[f>>2]|0;if(g|0?(ZS(c[g+4>>2]|0,c[o>>2]|0,c[m+8>>2]|0)|0)==0:0){Cf(l);f=0;break}zO(d,h);c[f>>2]=n;f=0}while(0);Ec=p;return f|0}function CN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Ec;Ec=Ec+144|0;F=H+120|0;D=H+112|0;B=H+104|0;A=H+96|0;y=H+88|0;w=H+80|0;u=H+72|0;t=H+64|0;r=H+56|0;q=H+48|0;p=H+40|0;m=H+32|0;l=H+24|0;k=H+16|0;j=H+8|0;h=H;G=H+128|0;v=H+124|0;g=Of(5792)|0;c[v>>2]=g;a:do if(!g)f=-12;else{z=ng(g,5792,208,0,0)|0;c[G>>2]=z;E=z;if(!z){Se(v);f=-12;break}We(d,48,155978,h);h=c[b>>2]|0;i=(c[b+4>>2]|0)-h|0;if(i>>>0>4096){c[j>>2]=i;c[j+4>>2]=4096;We(d,24,155992,j);i=4096;h=c[b>>2]|0}c[g+5788>>2]=i;wW(g+1692|0,h|0,i|0)|0;a[g+53>>0]=1;s=g+44|0;c[s>>2]=1;n=g+48|0;c[n>>2]=1;o=g+52|0;a[o>>0]=1;a[g+57>>0]=0;c[g+60>>2]=0;c[g+64>>2]=0;a[g+1629>>0]=2;z=iO(b)|0;b:do if(z>>>0<=63){i=iO(b)|0;c[g>>2]=i;if(i>>>0>15){c[l>>2]=i;We(d,16,156062,l);f=-1094995529;break}h=c[e+64+(i<<2)>>2]|0;if(!h){c[m>>2]=i;We(d,16,156087,m);f=-1094995529;break}x=c[h+4>>2]|0;a[g+41>>0]=jO(b)|0;a[g+39>>0]=jO(b)|0;c[g+1624>>2]=kO(b,3)|0;a[g+4>>0]=jO(b)|0;a[g+5>>0]=jO(b)|0;c[g+8>>2]=(iO(b)|0)+1;c[g+12>>2]=(iO(b)|0)+1;c[g+16>>2]=lO(b)|0;a[g+20>>0]=jO(b)|0;a[g+21>>0]=jO(b)|0;m=(jO(b)|0)&255;a[g+22>>0]=m;h=g+24|0;c[h>>2]=0;do if(m<<24>>24){i=iO(b)|0;c[h>>2]=i;if((i|0)>=0?i>>>0<=(c[x+13324>>2]|0)>>>0:0)break;c[p>>2]=i;We(d,16,156111,p);f=-1094995529;break b}while(0);h=lO(b)|0;c[g+28>>2]=h;if((h+12|0)>>>0>24){c[q>>2]=h;We(d,16,156149,q);f=-1094995529;break}h=lO(b)|0;c[g+32>>2]=h;if((h+12|0)>>>0>24){c[r>>2]=h;We(d,16,156184,r);f=-1094995529;break}a[g+36>>0]=jO(b)|0;a[g+37>>0]=jO(b)|0;a[g+38>>0]=jO(b)|0;a[g+40>>0]=jO(b)|0;r=g+42|0;a[r>>0]=jO(b)|0;a[g+43>>0]=jO(b)|0;do if(a[r>>0]|0){c[s>>2]=(iO(b)|0)+1;h=iO(b)|0;i=h+1|0;c[n>>2]=i;j=c[s>>2]|0;if((j|0)>=1?(j|0)<(c[x+13376>>2]|0):0){if((i|0)>=1?(i|0)<(c[x+13380>>2]|0):0){l=g+1648|0;c[l>>2]=Mg(j,4)|0;u=Mg(c[n>>2]|0,4)|0;c[g+1652>>2]=u;if((c[l>>2]|0)==0|(u|0)==0){f=-12;break b}u=(jO(b)|0)&255;a[o>>0]=u;do if(!(u<<24>>24)){g=0;j=0;k=0;while(1){i=(c[s>>2]|0)+-1|0;if((g|0)>=(i|0))break;u=(iO(b)|0)+1|0;c[(c[l>>2]|0)+(g<<2)>>2]=u;u=hW(j|0,k|0,u|0,0)|0;g=g+1|0;j=u;k=M()|0}g=c[x+13384>>2]|0;h=((g|0)<0)<<31>>31;if(!(k>>>0<h>>>0|(k|0)==(h|0)&j>>>0<g>>>0)){We(d,16,156300,w);f=-1094995529;break b}g=iW(g|0,h|0,j|0,k|0)|0;M()|0;c[(c[l>>2]|0)+(i<<2)>>2]=g;g=c[v>>2]|0;i=g+48|0;j=g+1652|0;h=0;l=0;m=0;while(1){k=(c[i>>2]|0)+-1|0;if((h|0)>=(k|0))break;w=(iO(b)|0)+1|0;c[(c[j>>2]|0)+(h<<2)>>2]=w;w=hW(l|0,m|0,w|0,0)|0;h=h+1|0;l=w;m=M()|0}h=c[x+13388>>2]|0;i=((h|0)<0)<<31>>31;if(m>>>0<i>>>0|(m|0)==(i|0)&l>>>0<h>>>0){y=iW(h|0,i|0,l|0,m|0)|0;M()|0;c[(c[j>>2]|0)+(k<<2)>>2]=y;break}else{We(d,16,156322,y);f=-1094995529;break b}}while(0);a[g+53>>0]=jO(b)|0;break}c[u>>2]=h;We(d,16,156261,u);f=-1094995529;break b}c[t>>2]=j+-1;We(d,16,156219,t);f=-1094995529;break b}while(0);a[g+54>>0]=jO(b)|0;y=(jO(b)|0)&255;a[g+55>>0]=y;do if(y<<24>>24?(a[g+56>>0]=jO(b)|0,y=(jO(b)|0)&255,a[g+57>>0]=y,y<<24>>24==0):0){h=lO(b)|0;i=lO(b)|0;if((h+6|0)>>>0>12){c[A>>2]=h;We(d,16,156345,A);f=-1094995529;break b}if((i+6|0)>>>0>12){c[B>>2]=i;We(d,16,156384,B);f=-1094995529;break b}else{c[g+60>>2]=h<<1;c[g+64>>2]=i<<1;break}}while(0);B=(jO(b)|0)&255;a[g+68>>0]=B;if(B<<24>>24?(mO(g+69|0),f=nO(b,d,g+69|0,x)|0,(f|0)<0):0)break;a[g+1617>>0]=jO(b)|0;f=iO(b)|0;if(f>>>0>(c[x+13336>>2]|0)>>>0){c[D>>2]=f;We(d,16,156421,D);f=-1094995529;break}c[g+1620>>2]=f+2;a[g+1628>>0]=jO(b)|0;if((jO(b)|0?(D=jO(b)|0,kO(b,7)|0,(D|0)!=0&(a[x+302>>0]|0)==4):0)?(C=oO(b,d,g,x)|0,(C|0)<0):0){f=C;break}f=pO(g,x)|0;if((f|0)>=0){g=qO(b)|0;if((g|0)<0){c[F>>2]=0-g;We(d,16,156472,F);break}else{rO(e,z);c[e+128+(z<<2)>>2]=E;f=0;break a}}}else{c[k>>2]=z;We(d,16,156037,k);f=-1094995529}while(0);Cf(G)}while(0);Ec=H;return f|0}function DN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;while(1){f=KN(a,b,c,d,e)|0;if((f|0)<0)break;if(!(LN(a)|0)){f=1;break}}return f|0}function EN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Ec;Ec=Ec+32|0;u=y+24|0;s=y+16|0;j=y+8|0;i=y;w=c[b>>2]|0;t=e+24|0;o=w+628|0;a[o>>0]=FN(t)|0;v=c[w+548>>2]|0;c[b+312>>2]=v;c[b+308>>2]=v;v=e+44|0;if((c[v>>2]&-8|0)==16){c[b+224>>2]=1;a[w+1242>>0]=FN(t)|0}g=GN(t)|0;c[w+608>>2]=g;a:do if(g>>>0<=63?(h=c[w+192+(g<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;r=w+456|0;c[r>>2]=g;g=c[g>>2]|0;if(g>>>0<=15?(k=c[w+128+(g<<2)>>2]|0,k|0):0){q=w+452|0;h=c[q>>2]|0;g=c[k+4>>2]|0;if((h|0)==(g|0)){g=h;h=c[w+448>>2]|0}else{c[q>>2]=g;h=c[(c[w+64+(c[g>>2]<<2)>>2]|0)+4>>2]|0;c[w+448>>2]=h}j=c[g+13376>>2]|0;c[b+328>>2]=j;k=c[g+13380>>2]|0;c[b+332>>2]=k;c[b+320>>2]=j-(c[g+12>>2]|0)-(c[g+16>>2]|0);c[b+324>>2]=k-(c[g+20>>2]|0)-(c[g+24>>2]|0);c[b+336>>2]=c[g+56>>2];c[f+716>>2]=d[g+302>>0];c[f+720>>2]=d[g+335>>0];if(!(a[h+444>>0]|0)){if(c[g+240>>2]|0){m=g+244|0;n=g+248|0;x=16}}else{m=h+448|0;n=h+452|0;x=16}if((x|0)==16?(l=c[m>>2]|0,p=c[n>>2]|0,(l|0)!=0&(p|0)!=0):0)Mm(f+764|0,f+760|0,l,((l|0)<0)<<31>>31,p,((p|0)<0)<<31>>31,1073741824,0)|0;do if(!(a[o>>0]|0)){if(!(a[(c[r>>2]|0)+41>>0]|0))g=0;else g=(FN(t)|0)&255;k=w+629|0;a[k>>0]=g;h=c[q>>2]|0;i=c[h+13384>>2]|0;h=c[h+13388>>2]|0;g=(H(i<<1,h)|0)+-2|0;o=g>>>0>65535;g=o?g>>>16:g;o=o?16:0;p=(g&65280|0)==0;g=(p?o:o|8)+(d[120443+(p?g:g>>>8)>>0]|0)|0;if(!g){j=0;g=i}else{j=HN(t,g)|0;g=c[q>>2]|0;h=c[g+13388>>2]|0;g=c[g+13384>>2]|0}c[w+612>>2]=j;if(j>>>0<(H(h,g)|0)>>>0)if(!(a[k>>0]|0)){g=0;break}else{g=0;break a}else{c[s>>2]=j;We(f,16,155741,s);g=-1094995529;break a}}else{a[w+629>>0]=0;g=0}while(0);while(1){if((g|0)>=(c[(c[r>>2]|0)+1624>>2]|0))break;IN(t);g=g+1|0}g=GN(t)|0;c[w+620>>2]=g;if(g>>>0>=3){c[u>>2]=g;We(f,16,155777,u);g=-1094995529;break}c[b+32>>2]=(g|0)==0?3:(g|0)==1?2:1;if(a[(c[r>>2]|0)+39>>0]|0)a[w+630>>0]=FN(t)|0;if(a[(c[q>>2]|0)+8>>0]|0)a[w+631>>0]=HN(t,2)|0;if(((c[v>>2]|0)+-19|0)>>>0<2)g=0;else{g=HN(t,c[(c[q>>2]|0)+60>>2]|0)|0;c[w+624>>2]=g;g=JN(c[q>>2]|0,c[w+1716>>2]|0,g,c[v>>2]|0)|0}c[w+1712>>2]=g;c[b+316>>2]=g;if(c[e+48>>2]|0){g=1;break}switch(c[v>>2]|0){case 9:case 7:case 8:case 6:case 4:case 2:case 0:{g=1;break a}default:{}}c[w+1716>>2]=g;g=1;break}c[j>>2]=g;We(f,16,156062,j);g=-1094995529}else x=5;while(0);if((x|0)==5){c[i>>2]=g;We(f,16,156037,i);g=-1094995529}Ec=y;return g|0}function FN(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function GN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ec;Ec=Ec+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120443+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){We(0,16,155802,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126412+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[126924+a>>0]|0}while(0);Ec=i;return a|0}function HN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function IN(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function JN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=1<<c[a+60>>2];g=(b|0)%(f|0)|0;a=b-g|0;if((g|0)>(d|0)?(g-d|0)>=((f|0)/2|0|0):0)a=a+f|0;else if((g|0)<(d|0))a=a-((d-g|0)>((f|0)/2|0|0)?f:0)|0;return ((e+-16|0)>>>0<3?0:a)+d|0}function KN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=Ec;Ec=Ec+16|0;We(b,48,155826,j);f=255;h=0;while(1){if((f|0)!=255){f=0;g=255;i=5;break}if((h|0)>2147483392|(MN(a)|0)<16){f=-1094995529;break}g=PN(a,8)|0;f=g;h=g+h|0}a:do if((i|0)==5){while(1){if((g|0)!=255)break;i=MN(a)|0;k=((i|0)<0)<<31>>31;g=sW(f|0,((f|0)<0)<<31>>31|0,3)|0;g=hW(g|0,M()|0,8,0)|0;l=M()|0;if((l|0)>(k|0)|(l|0)==(k|0)&g>>>0>i>>>0){f=-1094995529;break a}g=PN(a,8)|0;f=g+f|0;i=5}if((e|0)==39){f=QN(a,b,c,d,h,f)|0;break}else{RN(a,b,c,h,f);f=0;break}}while(0);Ec=j;return f|0}function LN(a){a=a|0;if((MN(a)|0)>0)a=(NN(a)|0)!=128&1;else a=0;return a|0}function MN(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(ON(a)|0)|0}function NN(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>24|0}function ON(a){a=a|0;return c[a+8>>2]|0}function PN(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function QN(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=Ec;Ec=Ec+16|0;h=i;do switch(f|0){case 256:{SN(d,a);a=0;break}case 45:{VN(d+52|0,a);a=0;break}case 47:{WN(d+72|0,a);a=0;break}case 1:{a=XN(d,a,e,b,g)|0;break}case 137:{YN(d+100|0,a);a=0;break}case 144:{ZN(d+128|0,a);a=0;break}case 129:{a=_N(d,a,b)|0;break}case 4:{a=$N(d,a,g)|0;break}case 147:{aO(d+140|0,a);a=0;break}default:{c[h>>2]=f;We(b,48,155863,h);TN(a,g<<3);a=0}}while(0);Ec=i;return a|0}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;h=Ec;Ec=Ec+16|0;g=h;if((e|0)==132)SN(d,a);else{c[g>>2]=e;We(b,48,155840,g);TN(a,f<<3)}Ec=h;return}function SN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=(PN(c,8)|0)&255;f=b+48|0;d=0;while(1){if((d|0)==3)break;a:do switch(g<<24>>24){case 0:{a[f>>0]=1;e=0;while(1){if((e|0)==16)break a;a[b+(d<<4)+e>>0]=PN(c,8)|0;e=e+1|0}}case 1:{UN(c,16);break}case 2:{UN(c,32);break}default:{}}while(0);d=d+1|0}return} |
| | | function tk(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=140232;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?140328:140296;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=140264;h=i}else d=140328;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return}function uk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125581+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126221+f>>0]|0;h=c[g>>2]|0;e=d[125069+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Mk(b);return f&1|0}function vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+32904+b|0;if(!d){b=a+32856|0;if(!(uk(b,f)|0))b=0;else{e=b;g=4}}else{b=(c[a+21740>>2]&6|0)!=0;e=a+32856|0;if(!(uk(e,f+((c[a+21732>>2]&6|0)==0?b&1:b?2:1)|0)|0))b=0;else{f=f+2|0;g=4}}if((g|0)==4)if(!(Nk(e)|0)){b=(uk(e,f+1|0)|0)*12|1;if(uk(e,f+2|0)|0)b=b+4+((uk(e,f+(d+2)|0)|0)<<2)|0;b=((uk(e,f+(d+3)|0)|0)<<1)+b|0;b=b+(uk(e,f+((d<<1)+3)|0)|0)|0}else b=25;return b|0}function wk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;Ga=Ec;Ec=Ec+16|0;wa=Ga+8|0;xa=Ga;ya=c[g+21748>>2]|0;Ea=c[g+21708>>2]|0;na=c[g+21712>>2]|0;oa=c[g+21716>>2]|0;pa=c[g+21720>>2]|0;c[wa>>2]=pa;qa=c[g+21724>>2]|0;c[wa+4>>2]=qa;ra=c[g+21728>>2]|0;sa=c[g+21732>>2]|0;ta=c[g+21736>>2]|0;ua=c[g+21740>>2]|0;c[xa>>2]=ua;va=c[g+21744>>2]|0;c[xa+4>>2]=va;if(!(h&2048)){t=(h&7|0)!=0;a:do if(t){p=c[(c[f+28212>>2]|0)+56>>2]|0?7:-1;k=g+21768|0;c[k>>2]=65535;i=g+21760|0;c[i>>2]=65535;m=g+21756|0;c[m>>2]=65535;n=g+21764|0;c[n>>2]=61162;o=(p&sa|0)!=0;if(o){i=65535;l=60138}else{c[m>>2]=46079;c[i>>2]=13311;c[n>>2]=9962;i=46079;l=8938}j=h&128;do if((j|0)==(ua&128|0)){if(!(ua&p)){i=i&57183;c[m>>2]=i;c[k>>2]=24415}}else{if(!j){if(!((ua&p|0)==0?1:(c[(c[f+24364>>2]|0)+((c[f+27016>>2]|0)+pa<<2)>>2]&p|0)==0))break;i=i&57183;c[m>>2]=i;c[k>>2]=24415;break}if(!(ua&p)){i=i&57343;c[m>>2]=i;c[k>>2]=24575;j=24415}else j=65375;if(!(va&p)){i=i&65375;c[m>>2]=i;c[k>>2]=j}}while(0);if(!(p&ra))c[m>>2]=i&32767;if(!(p&ta))c[n>>2]=l;if(h&1|0){if(!(sa&1)){yW(g+21668|0,(o?2:-1)|0,4)|0;l=g+21704|0;m=f+26364|0}else{l=g+21704|0;m=f+26364|0;c[g+21668>>2]=c[(c[l>>2]|0)+(c[(c[m>>2]|0)+(na<<2)>>2]|0)>>2]}k=0;while(1){if((k|0)==2)break a;i=c[xa+(k<<2)>>2]|0;if(!(i&1)){i=(i&p|0)==0?-1:2;j=k<<4;a[j+19+(g+21664)>>0]=i;j=j|11}else{ma=(c[l>>2]|0)+(c[(c[m>>2]|0)+(c[wa+(k<<2)>>2]<<2)>>2]|0)|0;i=k<<1;j=k<<4;a[(j|11)+(g+21664)>>0]=a[ma+(6-(d[ya+i>>0]|0))>>0]|0;i=a[ma+(6-(d[ya+(i|1)>>0]|0))>>0]|0;j=j+19|0}a[g+21664+j>>0]=i;k=k+1|0}}}while(0);s=(sa|0)!=0;if(s){r=f+25972|0;i=c[r>>2]|0;c[g+27828>>2]=c[i+(na*48|0)+12>>2];ma=(c[f+25680>>2]|0)==0;c[g+27868>>2]=c[(ma?28:20)+(i+(na*48|0))>>2];i=c[(ma?44:36)+(i+(na*48|0))>>2]|0}else{i=t?1077952576:0;c[g+27828>>2]=i;c[g+27868>>2]=i;r=f+25972|0}c[g+27908>>2]=i;p=t?64:0;q=f+28216|0;o=0;while(1){if((o|0)==2)break;if(!(c[xa+(o<<2)>>2]|0)){j=o<<4;a[j+99+(g+27824)>>0]=p;a[j+91+(g+27824)>>0]=p;a[j+59+(g+27824)>>0]=p;a[j+51+(g+27824)>>0]=p;a[j+19+(g+27824)>>0]=p;j=j|11;i=p}else{m=c[r>>2]|0;n=c[wa+(o<<2)>>2]|0;i=o<<1;k=ya+(i+8)|0;j=o<<4;a[(j|11)+(g+27824)>>0]=a[(d[k>>0]|0)+(m+(n*48|0))>>0]|0;l=ya+(i+9)|0;a[j+19+(g+27824)>>0]=a[(d[l>>0]|0)+(m+(n*48|0))>>0]|0;switch(c[(c[q>>2]|0)+12>>2]|0){case 3:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+16+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+32+(m+(n*48|0))>>0]|0;l=(d[l>>0]|0)+32|0;i=j+99|0;break}case 2:{a[j+51+(g+27824)>>0]=a[(d[k>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+59+(g+27824)>>0]=a[(d[l>>0]|0)+14+(m+(n*48|0))>>0]|0;a[j+91+(g+27824)>>0]=a[(d[k>>0]|0)+30+(m+(n*48|0))>>0]|0;i=(d[l>>0]|0)+30|0;k=99;u=39;break}default:{j=o<<3;a[j+51+(g+27824)>>0]=a[(d[ya+(i+12)>>0]|0)+(m+(n*48|0))>>0]|0;i=d[ya+(i+13)>>0]|0;k=91;u=39}}if((u|0)==39){u=0;l=i;i=k+j|0}j=i;i=a[m+(n*48|0)+l>>0]|0}a[g+27824+j>>0]=i;o=o+1|0}if(s)i=e[(c[f+26392>>2]|0)+(na<<1)>>1]|0;else i=t?1999:15;c[g+21860>>2]=i;if(!ua)i=t?1999:15;else{i=c[f+26392>>2]|0;ma=e[i+(pa<<1)>>1]|0;i=ma>>>(a[ya>>0]&-2&255)&2|ma&2032|(e[i+(qa<<1)>>1]|0)>>>(a[ya+2>>0]&-2&255)<<2&8}c[g+21864>>2]=i}if(!(h&120)){if(h&256|0?c[g+21844>>2]|0:0)u=53}else u=53;b:do if((u|0)==53){w=c[f+26368>>2]|0;x=g+23412|0;y=f+26360|0;z=w*3|0;B=na<<2;A=B|2;B=B|3;C=(h&80|0)==0;D=ua|0?-1:-2;E=pa<<2|1;F=ta|0?-1:-2;G=ra|0?-1:-2;I=g+21752|0;J=w<<1;K=w+3|0;L=Ea<<2;M=(h&2304|0)==0;N=f+26364|0;O=g+840|0;P=g+28524|0;Q=f+26408|0;R=g+28532|0;S=g+28548|0;T=g+28540|0;U=(sa&256|0)==0;V=(sa&64|0)==0;W=g+28516|0;X=g+28518|0;Y=g+28523|0;Z=qa<<2|1;_=ya+2|0;$=g+28539|0;aa=ya+3|0;ba=ya+1|0;ca=f+26376|0;da=g+21828|0;ea=(ra&128|0)!=0;fa=(sa&128|0)==0;ga=(ta&128|0)==0;ha=(ua&128|0)==0;ia=(va&128|0)==0;ja=oa<<2|2;ka=sa|0?-1:-16843010;la=(ua&320|0)==64;u=ua&256|0?-128:4;ma=(va&320|0)==64;v=va&256|0?-128:4;t=0;while(1){if(t>>>0>=(c[x>>2]|0)>>>0)break b;n=g+28272+(t*40|0)+12|0;p=c[f+24384+(t<<2)>>2]|0;o=g+27952+(t*160|0)+48|0;q=c[f+24352+(t<<2)>>2]|0;s=12288<<(t<<1);do if(s&h|0){r=(s&sa|0)!=0;if(r){k=(c[(c[y>>2]|0)+(na<<2)>>2]|0)+z|0;j=q+(k<<2)|0;m=c[j+4>>2]|0;l=g+27952+(t*160|0)+16|0;c[l>>2]=c[j>>2];c[l+4>>2]=m;k=q+(k<<2)+8|0;l=c[k+4>>2]|0;m=g+27952+(t*160|0)+24|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=a[p+A>>0]|0;a[g+28272+(t*40|0)+5>>0]=m;a[g+28272+(t*40|0)+4>>0]=m;m=a[p+B>>0]|0;a[g+28272+(t*40|0)+7>>0]=m;a[g+28272+(t*40|0)+6>>0]=m}else{m=g+27952+(t*160|0)+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[g+28272+(t*40|0)+4>>2]=ka}c:do if(C){if(!(ua&s)){c[g+27952+(t*160|0)+44>>2]=0;i=D}else{c[g+27952+(t*160|0)+44>>2]=c[q+((c[(c[y>>2]|0)+(pa<<2)>>2]|0)+3+(H(w,d[ya>>0]|0)|0)<<2)>>2];i=a[p+(E+(a[ya>>0]&-2&255))>>0]|0}a[g+28272+(t*40|0)+11>>0]=i}else{m=0;while(1){if((m|0)==2)break c;j=m<<1;k=m<<4;i=k+-1|0;l=c[xa+(m<<2)>>2]|0;if(!(l&s)){c[o+(i<<2)>>2]=0;k=k|7;c[o+(k<<2)>>2]=0;j=l|0?-1:-2;a[n+k>>0]=j}else{Ha=c[wa+(m<<2)>>2]|0;Ja=(c[(c[y>>2]|0)+(Ha<<2)>>2]|0)+3|0;Ha=Ha<<2|1;Ia=ya+j|0;c[o+(i<<2)>>2]=c[q+((H(w,d[Ia>>0]|0)|0)+Ja<<2)>>2];j=ya+(j|1)|0;l=k|7;c[o+(l<<2)>>2]=c[q+((H(w,d[j>>0]|0)|0)+Ja<<2)>>2];a[n+i>>0]=a[p+(Ha+(a[Ia>>0]&-2&255))>>0]|0;j=a[p+(Ha+(a[j>>0]&-2&255))>>0]|0;i=l}a[n+i>>0]=j;m=m+1|0}}while(0);if(!(s&ta)){c[g+27952+(t*160|0)+32>>2]=0;i=F}else{c[g+27952+(t*160|0)+32>>2]=c[q+((c[(c[y>>2]|0)+(oa<<2)>>2]|0)+z<<2)>>2];i=a[p+ja>>0]|0}m=g+28272+(t*40|0)+8|0;a[m>>0]=i;l=g+28272+(t*40|0)+6|0;if((a[l>>0]|i)<<24>>24<0){if(!(s&ra)){c[g+27952+(t*160|0)+12>>2]=0;i=G}else{i=c[I>>2]|0;c[g+27952+(t*160|0)+12>>2]=c[q+(K+(c[(c[y>>2]|0)+(Ea<<2)>>2]|0)+(i&J)<<2)>>2];i=a[p+(L|i&2|1)>>0]|0}a[g+28272+(t*40|0)+3>>0]=i}if(M){k=c[g+32848+(t<<2)>>2]|0;a[g+28272+(t*40|0)+30>>0]=-2;a[g+28272+(t*40|0)+14>>0]=-2;c[g+27952+(t*160|0)+56>>2]=0;c[g+27952+(t*160|0)+120>>2]=0;if(r){j=k+(c[(c[N>>2]|0)+(na<<2)>>2]<<1)|0;i=c[j>>2]|0;j=c[j+4>>2]|0}else{i=0;j=0}Ja=g+28352+(t*80|0)+8|0;c[Ja>>2]=i;c[Ja+4>>2]=j;if(!(ua&s)){b[g+28352+(t*80|0)+22>>1]=0;i=0}else{i=(c[(c[N>>2]|0)+(pa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+22>>1]=b[k+(i-(d[ya>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[ba>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+38>>1]=i;if(!(va&s)){b[g+28352+(t*80|0)+54>>1]=0;i=0}else{i=(c[(c[N>>2]|0)+(qa<<2)>>2]|0)+6|0;b[g+28352+(t*80|0)+54>>1]=b[k+(i-(d[_>>0]|0)<<1)>>1]|0;i=b[k+(i-(d[aa>>0]|0)<<1)>>1]|0}b[g+28352+(t*80|0)+70>>1]=i;b[g+28352+(t*80|0)+28>>1]=0;b[g+28352+(t*80|0)+60>>1]=0;if((c[O>>2]|0)==3){j=c[Q>>2]|0;c[P>>2]=67372036;c[R>>2]=67372036;c[T>>2]=67372036;c[S>>2]=67372036;do if(U)if(V){c[W>>2]=67372036;break}else{a[W>>0]=a[j+A>>0]|0;a[X>>0]=a[j+B>>0]|0;break}else c[W>>2]=-2139062144;while(0);if(la)i=a[j+(E+(a[ya>>0]&-2&255))>>0]|0;else i=u;a[Y>>0]=i;if(ma)i=a[j+(Z+(a[_>>0]&-2&255))>>0]|0;else i=v;a[$>>0]=i}if(!(c[ca>>2]|0))break}else if(!(c[ca>>2]|0))break;if(!(c[da>>2]|0)){if(ea?(Ca=g+28272+(t*40|0)+3|0,Da=a[Ca>>0]|0,Da<<24>>24>-1):0){a[Ca>>0]=(Da&255)>>>1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!fa){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=d[Ja>>0]<<1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=(i&255)>>>1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(!ga?(Fa=a[m>>0]|0,Fa<<24>>24>-1):0){a[m>>0]=(Fa&255)>>>1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=d[Ja>>0]<<1}do if(!ha){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=d[Ja>>0]<<1}while(0);if(ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=d[Ja>>0]<<1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=(j&255)>>>1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=b[Ja>>1]<<1;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=d[Ja>>0]<<1;break}else{if(!ea?(za=g+28272+(t*40|0)+3|0,Aa=a[za>>0]|0,Aa<<24>>24>-1):0){a[za>>0]=Aa<<24>>24<<1;Ja=g+27952+(t*160|0)+14|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+7|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(fa){i=g+28272+(t*40|0)+4|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+18|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+9|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+5|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+22|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+11|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=a[l>>0]|0;if(i<<24>>24>-1){a[l>>0]=i<<24>>24<<1;Ja=g+27952+(t*160|0)+26|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+13|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+7|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+30|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+15|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(ga?(Ba=a[m>>0]|0,Ba<<24>>24>-1):0){a[m>>0]=Ba<<24>>24<<1;Ja=g+27952+(t*160|0)+34|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+17|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}do if(ha){i=g+28272+(t*40|0)+11|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+46|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+23|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+19|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+78|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+39|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}while(0);if(!ia)break;i=g+28272+(t*40|0)+27|0;j=a[i>>0]|0;if(j<<24>>24>-1){a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+110|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+55|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1}i=g+28272+(t*40|0)+35|0;j=a[i>>0]|0;if(j<<24>>24<=-1)break;a[i>>0]=j<<24>>24<<1;Ja=g+27952+(t*160|0)+142|0;b[Ja>>1]=(b[Ja>>1]|0)/2|0;Ja=g+28352+(t*80|0)+71|0;a[Ja>>0]=(d[Ja>>0]|0)>>>1;break}}while(0);t=t+1|0}}while(0);c[g+21840>>2]=(ua>>>24&1)+(sa>>>24&1);Ec=Ga;return}function xk(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32856|0;if(!(Gk(c,a+32972|0)|0)){a=a+32973|0;d=Gk(c,a)|0;d=((Gk(c,a)|0)<<1)+d|0;c=d+((Gk(c,a)|0)<<2)|0;b=c+((c|0)>=(b|0)&1)|0}return b|0}function yk(b,d){b=b|0;d=d|0;var e=0;if(!(c[d+21740>>2]|0))e=0;else e=(a[(c[b+26396>>2]|0)+(c[d+21720>>2]|0)>>0]|0)!=0&1;if(c[d+21732>>2]|0)e=e+((a[(c[b+26396>>2]|0)+(c[d+21712>>2]|0)>>0]|0)!=0&1)|0;b=d+32856|0;if(uk(b,e+64+(d+32904)|0)|0){e=d+32971|0;if(!(uk(b,e)|0))e=1;else{e=(uk(b,e)|0)==0;e=e?2:3}}else e=0;return e|0}function zk(a){a=a|0;var b=0,c=0,d=0;d=a+32856|0;if(!(Gk(d,a+32940|0)|0))a=0;else{do if(!(Gk(d,a+32941|0)|0)){b=Gk(d,a+32943|0)|0;a=1}else{c=a+32943|0;if(Gk(d,a+32942|0)|0)if(!(Gk(d,c)|0))a=7;else{b=Gk(d,c)|0;a=11;break}else a=3;b=((Gk(d,c)|0)<<1)+a|0;a=Gk(d,c)|0}while(0);a=b+a|0}return a|0}function Ak(a){a=a|0;var b=0;b=a+32856|0;if(!(Gk(b,a+32925|0)|0))if(!(Gk(b,a+32926|0)|0))a=1;else{a=(Gk(b,a+32927|0)|0)==0;a=a?3:2}else a=0;return a|0}function Bk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=d[150645+f>>0]|0;g=i+-1|0;i=i+-8|0;h=a[b+28272+(e*40|0)+i>>0]|0;f=(a[b+28272+(e*40|0)+g>>0]|0)>0;if((c[b+840>>2]|0)==3){if(f)f=((d[b+28512+g>>0]|0)>>>7^1)&255;else f=0;if(h<<24>>24>0)e=(a[b+28512+i>>0]|0)<0?f:f|2;else e=f}else{e=f&1;e=h<<24>>24>0?e|2:e}g=b+32856|0;f=0;while(1){if(!(Gk(g,e+54+(b+32904)|0)|0))break;if((f|0)>30){f=-1;break}else{f=f+1|0;e=(e>>2)+4|0}}return f|0}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;g=j;i=a+32856|0;do if(!(Gk(i,b+2+(d+-3>>31)+(d+-33>>31)+(a+32904)|0)|0)){c[e>>2]=0;d=0}else{f=1;d=b+3|0;while(1){if((f|0)>=9){d=3;h=7;break}if(!(Gk(i,a+32904+d|0)|0)){b=f;d=f;break}b=d+((f|0)<4&1)|0;f=f+1|0;d=b}if((h|0)==7){while(1){h=0;if(!(Lk(i)|0)){b=d;break}f=(1<<d)+f|0;if((d|0)>23){h=12;break}else{d=d+1|0;h=7}}if((h|0)==12){We(c[(c[a>>2]|0)+4>>2]|0,16,140199,g);d=-2147483648;break}while(1){d=b+-1|0;if(!b)break;b=d;f=((Lk(i)|0)<<d)+f|0}b=f;d=(f|0)<70?f:70}c[e>>2]=d;d=c[i>>2]<<1;c[i>>2]=d;if(!(d&65534)){Kk(i);d=c[i>>2]|0}e=c[a+32860>>2]<<17;a=d-e|0;d=a>>31;c[i>>2]=(d&e)+a;d=(d^0-b)-d|0}while(0);Ec=j;return d|0}function Ek(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+21864>>2]|0;f=c[a+21860>>2]|0;d=a+32856|0;e=uk(d,76-(f>>>1&2|b>>>1&1)+(a+32904)|0)|0;e=((uk(d,76-(f>>>2&2|e&1)+(a+32904)|0)|0)<<1)+e|0;b=e+((uk(d,76-(e<<1&2|b>>>3&1)+(a+32904)|0)|0)<<2)|0;return b+((uk(d,76-(b>>>2&1|b&2)+(a+32904)|0)|0)<<3)|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a+21864>>2]|0)>>>4&3;e=(c[a+21860>>2]|0)>>>4&3;f=(b|0)!=0&1;d=a+32856|0;f=(uk(d,((e|0)==0?f:f|2)+77+(a+32904)|0)|0)==0;b=(b|0)==2?5:4;if(f)b=0;else b=(uk(d,((e|0)==2?b|2:b)+77+(a+32904)|0)|0)+1|0;return b|0}function Gk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d[e>>0]|0;g=b+4|0;i=c[g>>2]|0;j=d[125581+((i<<1&384)+f)>>0]|0;i=i-j|0;k=i<<17;l=c[b>>2]|0;h=k-l>>31;c[b>>2]=l-(h&k);c[g>>2]=(h&j-i)+i;f=h^f;a[e>>0]=a[126221+f>>0]|0;h=c[g>>2]|0;e=d[125069+h>>0]|0;c[g>>2]=h<<e;e=c[b>>2]<<e;c[b>>2]=e;if(!(e&65535))Mk(b);return f&1|0}function Hk(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Ec;Ec=Ec+304|0;t=A+48|0;u=A;z=g+32860|0;r=u+4|0;c[r>>2]=c[z>>2];w=g+32856|0;c[u>>2]=c[w>>2];x=g+32872|0;y=u+16|0;c[y>>2]=c[x>>2];q=c[g+21828>>2]|0;p=(c[72596+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;q=(c[72708+(q*56|0)+(i<<2)>>2]|0)+(g+32904)|0;s=(c[72820+(i<<2)>>2]|0)+(g+32904)|0;o=l+-1|0;n=0;m=0;while(1){if((n|0)>=(o|0)){v=6;break}if(Gk(u,p+n|0)|0){l=m+1|0;c[t+(m<<2)>>2]=n;if(!(Gk(u,q+n|0)|0))m=l;else{m=l;break}}n=n+1|0}if((v|0)==6)if((n|0)==(o|0)){c[t+(m<<2)>>2]=o;m=m+1|0}q=(i|0)==3;i=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[i>>1]=(q?64:256)<<(q?-49:-48)+j|(e[i>>1]|0);a[(d[150645+j>>0]|0)+(g+27824)>>0]=m;if(!(c[f+25664>>2]|0)){q=m;l=0;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Gk(u,s+(d[140033+l>>0]|0)|0)|0)){m=d[140041+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Kk(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140057+l>>0]|0)|0;p=d[140049+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=34;break}if(!(Gk(u,m)|0))break;l=l+1|0}if((v|0)==34){while(1){v=0;if((l|0)<23&(Lk(u)|0)!=0){l=l+1|0;v=34}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(Lk(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){Kk(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}b[h+(f<<1)>>1]=n-o;if(!q)break;else l=p}}else{l=0;q=m;while(1){q=q+-1|0;f=d[k+(c[t+(q<<2)>>2]|0)>>0]|0;if(!(Gk(u,s+(d[140033+l>>0]|0)|0)|0)){m=d[140041+l>>0]|0;l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Kk(u);l=c[u>>2]|0}j=c[r>>2]|0;p=j<<17;l=l-p|0;o=l>>31;l=(o&p)+l|0;c[u>>2]=l;p=m;n=~o;m=j}else{m=s+(d[140057+l>>0]|0)|0;p=d[140049+l>>0]|0;l=2;while(1){if(l>>>0>=15){l=0;v=18;break}if(!(Gk(u,m)|0))break;l=l+1|0}if((v|0)==18){while(1){v=0;if((l|0)<23&(Lk(u)|0)!=0){l=l+1|0;v=18}else{m=1;break}}while(1){if(!l)break;l=l+-1|0;m=(Lk(u)|0)+(m<<1)|0}l=m+14|0}m=c[u>>2]<<1;c[u>>2]=m;if(!(m&65534)){Kk(u);m=c[u>>2]|0}j=c[r>>2]|0;n=j<<17;m=m-n|0;o=m>>31;m=(o&n)+m|0;c[u>>2]=m;n=o^0-l;l=m;m=j}c[h+(f<<2)>>2]=n-o;if(!q)break;else l=p}}c[z>>2]=m;c[w>>2]=l;c[x>>2]=c[y>>2];Ec=A;return}function Ik(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=Ec;Ec=Ec+304|0;t=A+48|0;u=A;w=f+32860|0;s=u+4|0;c[s>>2]=c[w>>2];x=f+32856|0;c[u>>2]=c[x>>2];y=f+32872|0;z=u+16|0;c[z>>2]=c[y>>2];n=c[f+21828>>2]|0;o=(c[72596+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;p=(c[72708+(n*56|0)+(h<<2)>>2]|0)+(f+32904)|0;r=(c[72820+(h<<2)>>2]|0)+(f+32904)|0;q=(l|0)==64;a:do if(q){m=0;l=0;while(1){if((m|0)>=63)break;if(Gk(u,o+(d[140073+(n*63|0)+m>>0]|0)|0)|0){B=p+(d[126349+m>>0]|0)|0;h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Gk(u,B)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==63){c[t+(l<<2)>>2]=63;l=l+1|0}}else{n=l+-1|0;m=0;l=0;while(1){if((m|0)>=(n|0))break;if(Gk(u,o+m|0)|0){h=l+1|0;c[t+(l<<2)>>2]=m;if(!(Gk(u,p+m|0)|0))l=h;else{l=h;break a}}m=m+1|0}if((m|0)==(n|0)){c[t+(l<<2)>>2]=n;l=l+1|0}}while(0);if(q){B=(d[150645+i>>0]|0)+(f+27824)|0;i=l*257&65535;b[B>>1]=i;b[B+8>>1]=i}else a[(d[150645+i>>0]|0)+(f+27824)>>0]=l;if(!(c[e+25664>>2]|0)){o=l;h=0;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Gk(u,r+(d[140033+h>>0]|0)|0)|0)){l=d[140041+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){Kk(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140057+h>>0]|0)|0;n=d[140049+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=44;break}if(!(Gk(u,l)|0))break;h=h+1|0}if((v|0)==44){while(1){v=0;if((h|0)<23&(Lk(u)|0)!=0){h=h+1|0;v=44}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(Lk(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Kk(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}b[g+(p<<1)>>1]=m>>>6;if(!o)break;else h=n}}else{h=0;o=l;while(1){o=o+-1|0;p=d[j+(c[t+(o<<2)>>2]|0)>>0]|0;if(!(Gk(u,r+(d[140033+h>>0]|0)|0)|0)){l=d[140041+h>>0]|0;m=0-(c[k+(p<<2)>>2]|0)|0;h=c[u>>2]<<1;c[u>>2]=h;if(!(h&65534)){Kk(u);h=c[u>>2]|0}B=c[s>>2]|0;n=B<<17;f=h-n|0;i=f>>31;h=(i&n)+f|0;c[u>>2]=h;n=l;m=(f>>>31|32)+(i^m)|0;l=B}else{l=r+(d[140057+h>>0]|0)|0;n=d[140049+h>>0]|0;h=2;while(1){if(h>>>0>=15){h=0;v=28;break}if(!(Gk(u,l)|0))break;h=h+1|0}if((v|0)==28){while(1){v=0;if((h|0)<23&(Lk(u)|0)!=0){h=h+1|0;v=28}else{l=1;break}}while(1){if(!h)break;h=h+-1|0;l=(Lk(u)|0)+(l<<1)|0}h=l+14|0}l=c[u>>2]<<1;c[u>>2]=l;if(!(l&65534)){Kk(u);l=c[u>>2]|0}B=c[s>>2]|0;i=B<<17;l=l-i|0;m=l>>31;l=(m&i)+l|0;c[u>>2]=l;m=(H((m^0-h)-m|0,c[k+(p<<2)>>2]|0)|0)+32|0;h=l;l=B}c[g+(p<<2)>>2]=m>>6;if(!o)break;else h=n}}c[w>>2]=l;c[x>>2]=h;c[y>>2]=c[z>>2];Ec=A;return}function Jk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Ec;Ec=Ec+304|0;q=y+48|0;r=y;w=g+32860|0;s=r+4|0;c[s>>2]=c[w>>2];x=g+32856|0;c[r>>2]=c[x>>2];u=g+32872|0;v=r+16|0;c[v>>2]=c[u>>2];o=c[g+21828>>2]|0;n=(c[72596+(o*56|0)+12>>2]|0)+(g+32904)|0;o=(c[72708+(o*56|0)+12>>2]|0)+(g+32904)|0;p=g+33161|0;m=0;k=0;while(1){if((m|0)>=7){t=6;break}j=d[140026+m>>0]|0;if(Gk(r,n+j|0)|0){l=k+1|0;c[q+(k<<2)>>2]=m;if(!(Gk(r,o+j|0)|0))k=l;else{k=l;break}}m=m+1|0}if((t|0)==6)if((m|0)==7){c[q+(k<<2)>>2]=7;k=k+1|0}o=(c[f+26392>>2]|0)+(c[g+21796>>2]<<1)|0;b[o>>1]=64<<i+-49|(e[o>>1]|0);a[(d[150645+i>>0]|0)+(g+27824)>>0]=k;if(!(c[f+25664>>2]|0)){o=k;j=0;while(1){o=o+-1|0;f=d[128053+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Gk(r,p+(d[140033+j>>0]|0)|0)|0)){k=d[140041+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){Kk(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140065+j>>0]|0)|0;n=d[140049+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=34;break}if(!(Gk(r,k)|0))break;j=j+1|0}if((t|0)==34){while(1){t=0;if((j|0)<23&(Lk(r)|0)!=0){j=j+1|0;t=34}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Lk(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){Kk(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}b[h+(f<<1)>>1]=l-m;if(!o)break;else j=n}}else{j=0;o=k;while(1){o=o+-1|0;f=d[128053+(c[q+(o<<2)>>2]|0)>>0]|0;if(!(Gk(r,p+(d[140033+j>>0]|0)|0)|0)){k=d[140041+j>>0]|0;j=c[r>>2]<<1;c[r>>2]=j;if(!(j&65534)){Kk(r);j=c[r>>2]|0}i=c[s>>2]|0;n=i<<17;j=j-n|0;m=j>>31;j=(m&n)+j|0;c[r>>2]=j;n=k;l=~m;k=i}else{k=p+(d[140065+j>>0]|0)|0;n=d[140049+j>>0]|0;j=2;while(1){if(j>>>0>=15){j=0;t=18;break}if(!(Gk(r,k)|0))break;j=j+1|0}if((t|0)==18){while(1){t=0;if((j|0)<23&(Lk(r)|0)!=0){j=j+1|0;t=18}else{k=1;break}}while(1){if(!j)break;j=j+-1|0;k=(Lk(r)|0)+(k<<1)|0}j=k+14|0}k=c[r>>2]<<1;c[r>>2]=k;if(!(k&65534)){Kk(r);k=c[r>>2]|0}i=c[s>>2]|0;l=i<<17;k=k-l|0;m=k>>31;k=(m&l)+k|0;c[r>>2]=k;l=m^0-j;j=k;k=i}c[h+(f<<2)>>2]=l-m;if(!o)break;else j=n}}c[w>>2]=k;c[x>>2]=j;c[u>>2]=c[v>>2];Ec=y;return}function Kk(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);c[b>>2]=e+2;return}function Lk(a){a=a|0;var b=0,d=0;b=c[a>>2]<<1;c[a>>2]=b;if(!(b&65534)){Kk(a);b=c[a>>2]|0}d=c[a+4>>2]<<17;if((b|0)<(d|0))b=0;else{c[a>>2]=b-d;b=1}return b|0}function Mk(a){a=a|0;var b=0,e=0,f=0;f=c[a>>2]|0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9)+-65535<<7-(d[125069+((f+-1^f)>>>15)>>0]|0))+f;c[b>>2]=e+2;return}function Nk(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){Ok(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function Ok(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))Kk(a);return}function Pk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+16|0;j=s;q=b+556|0;n=c[q>>2]|0;o=(H(n,f)|0)+e|0;p=b+552|0;l=c[p>>2]|0;m=l+-1|0;o=(o|0)<0?0:(o|0)>(m|0)?m:o;h=(H(n,h)|0)+g|0;h=(h|0)<0?0:(h|0)>(l|0)?l:h;l=b+548|0;n=c[l>>2]|0;m=c[n+(o<<2)>>2]|0;n=c[n+(h<<2)>>2]|0;e=c[b>>2]|0;g=c[e+592>>2]|0;if(!((g|0)!=0?(c[g+32>>2]|0)!=0:0))k=3;do if((k|0)==3){if((n|0)<(m|0)|(o|0)>(h|0)){We(e,16,140360,j);break}if(c[e+572>>2]|0){if(!(i&18))e=-2;else{e=b+572|0;c[e>>2]=(c[e>>2]|0)+(o+~h);e=-20}if(i&36){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-38}if(i&72){k=b+572|0;c[k>>2]=(c[k>>2]|0)+(o+~h);e=e&-73}if(i&14|0){c[b+576>>2]=1;c[b+572>>2]=2147483647}g=b+580|0;a:do if((e|0)==-128)yW((c[g>>2]|0)+m|0,0,n-m|0)|0;else{f=m;while(1){if((f|0)>=(n|0))break a;k=(c[g>>2]|0)+f|0;a[k>>0]=e&(d[k>>0]|0);f=f+1|0}}while(0);if((h|0)==(c[p>>2]|0))c[b+572>>2]=2147483647;else{p=(c[g>>2]|0)+n|0;a[p>>0]=e&(d[p>>0]|0);p=(c[g>>2]|0)+n|0;a[p>>0]=d[p>>0]|0|i}i=(c[g>>2]|0)+m|0;a[i>>0]=a[i>>0]|1;if(((((m|0)>0?(r=c[b>>2]|0,(c[r+696>>2]&2|0)==0):0)?Wh(b)|0:0)?(H(c[q>>2]|0,c[r+268>>2]|0)|0)<(o|0):0)?(a[(c[g>>2]|0)+(c[(c[l>>2]|0)+(o+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0){c[b+576>>2]=1;c[b+572>>2]=2147483647}}}while(0);Ec=s;return}function Qk(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;Tk(a,b,c,0);return}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;Tk(a,b,c,1);return}function Tk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Ec;Ec=Ec+16|0;h=i;if((c[e>>2]|0)>>>0>=f>>>0){if(f|0?(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)==0:0){c[h>>2]=152895;c[h+4>>2]=148592;c[h+8>>2]=33;We(0,0,164054,h);Za()}}else{h=f+32+(f>>>4)|0;h=h>>>0>f>>>0?h:f;Se(b);if(!g)f=cf(h)|0;else f=Of(h)|0;a[b>>0]=f;a[b+1>>0]=f>>8;a[b+2>>0]=f>>16;a[b+3>>0]=f>>24;c[e>>2]=(f|0)==0?0:h}Ec=i;return}function Uk(a){a=a|0;var b=0,d=0;b=a+64|0;JU(b)|0;d=a+140|0;a=a+92|0;while(1){if(!(c[d>>2]|0))break;yb(a|0,b|0)|0}c[d>>2]=1;KU(b)|0;return}function Vk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=Ec;Ec=Ec+112|0;C=D+96|0;B=D+88|0;z=D+80|0;y=D+72|0;q=D+64|0;p=D+56|0;m=D+48|0;l=D+40|0;k=D+32|0;j=D+24|0;i=D+16|0;g=D;if((c[b+25628>>2]|0)==(e|0)?(c[b+29560>>2]|0)==0:0)if(!(c[b+29588>>2]|0))n=1;else{c[g>>2]=151756;c[g+4>>2]=137858;c[g+8>>2]=1681;We(0,0,164054,g);Za()}else n=0;A=e+4|0;g=e+21808|0;c[g>>2]=VL(A)|0;h=WL(A)|0;a:do if(h>>>0<=9){i=h>>>0>4;c[e+844>>2]=i&1;i=a[127948+(i?h+-5|0:h)>>0]|0;u=i&255;v=e+836|0;c[v>>2]=u;u=u&3;s=e+840|0;c[s>>2]=u;r=f+44|0;if(!((u|0)==1|(c[r>>2]|0)!=5)){We(c[b+4>>2]|0,16,151806,j);g=-1094995529;break}h=XL(A)|0;c[e+27776>>2]=h;if(h>>>0>255){g=c[b+4>>2]|0;c[k>>2]=h;We(g,16,155191,k);g=-1094995529;break}g=c[b+27180+(h<<2)>>2]|0;if(!g){g=c[b+4>>2]|0;c[l>>2]=h;We(g,16,155215,l);g=-1094995529;break}u=c[g+4>>2]|0;g=c[u>>2]|0;h=c[b+27052+(g<<2)>>2]|0;if(!h){C=c[b+4>>2]|0;c[m>>2]=g;We(C,16,155247,m);g=-1094995529;break}m=c[h+4>>2]|0;j=m+20|0;g=YL(A,c[j>>2]|0)|0;h=e+34732|0;c[h>>2]=g;if(!n?(o=c[b+28244>>2]|0,(o|0)!=(g|0)):0){C=c[b+4>>2]|0;c[p>>2]=o;c[p+4>>2]=g;We(C,16,151845,p);g=-1094995529;break}c[e+21832>>2]=0;if(!(c[m+64>>2]|0)){if(i<<24>>24==3&(c[m+72>>2]|0)==0){We(c[b+4>>2]|0,16,151877,q);g=-1;break}if(ZL(A)|0)l=(ZL(A)|0)+1|0;else l=3}else l=3;c[e+21824>>2]=l;c[e+21828>>2]=(l|0)!=3&1;i=(l|0)==3;g=c[h>>2]|0;if(i)h=c[j>>2]|0;else{h=(c[j>>2]|0)+1|0;g=g<<1|1}c[e+34752>>2]=g;c[e+34756>>2]=1<<h;if((c[r>>2]|0)==5)VL(A)|0;h=m+24|0;g=c[h>>2]|0;if(!g){c[e+34736>>2]=YL(A,c[m+28>>2]|0)|0;if(i&(c[u+8>>2]|0)==1)c[e+34740>>2]=_L(A)|0;g=c[h>>2]|0}if(((g|0)==1?(c[m+32>>2]|0)==0:0)?(c[e+34744>>2]=_L(A)|0,i&(c[u+8>>2]|0)==1):0)c[e+34748>>2]=_L(A)|0;g=e+21836|0;c[g>>2]=0;if(c[u+60>>2]|0)c[g>>2]=XL(A)|0;g=c[s>>2]|0;if((g|0)==3){c[e+21844>>2]=ZL(A)|0;g=c[s>>2]|0}i=e+23404|0;k=b+4|0;g=$L(e+23412|0,i,A,u,g,l,c[k>>2]|0)|0;if((g|0)>=0){if((c[s>>2]|0)!=1?(t=aM(e,c[k>>2]|0)|0,(t|0)<0):0){c[i>>2]=0;c[e+23408>>2]=0;g=t;break}h=e+880|0;c[h>>2]=0;g=0;while(1){if((g|0)==2)break;c[e+896+(g<<2)>>2]=0;c[e+904+(g<<2)>>2]=0;g=g+1|0}if((c[u+28>>2]|0)!=0?(c[s>>2]|0)==2:0){w=2;g=51}else g=49;if(((g|0)==49?(c[u+32>>2]|0)==1:0)?(c[s>>2]|0)==3:0){w=3;g=51}if((g|0)==51?(x=bM(A,m,i,w,h,l,c[k>>2]|0)|0,(x|0)<0):0){g=x;break}c[e+34728>>2]=0;do if(c[f+64>>2]|0){if((cM(e,A,f,c[k>>2]|0)|0)>=0)break;if(c[(c[k>>2]|0)+580>>2]&8|0){g=-1094995529;break a}}while(0);do if((c[s>>2]|0)!=1){if(!(c[u+4>>2]|0))break;g=WL(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[y>>2]=g;We(C,16,151947,y);g=-1094995529;break a}else{c[e+33928>>2]=g;break}}while(0);c[e+864>>2]=0;g=c[u+36>>2]|0;g=(_L(A)|0)+g|0;if(g>>>0>(((c[m+1184>>2]|0)*6|0)+3|0)>>>0){C=c[k>>2]|0;c[z>>2]=g;We(C,16,151975,z);g=-1094995529;break}c[e+848>>2]=g;c[e+852>>2]=d[u+548+g>>0];c[e+856>>2]=d[u+636+g>>0];g=c[v>>2]|0;if((g|0)==6){ZL(A)|0;g=c[v>>2]|0}if((g+-5|0)>>>0<2)_L(A)|0;h=e+868|0;c[h>>2]=1;j=e+872|0;c[j>>2]=0;i=e+876|0;c[i>>2]=0;if(!(c[u+52>>2]|0)){g=0;break}g=WL(A)|0;if(g>>>0>2){C=c[k>>2]|0;c[B>>2]=g;We(C,16,151995,B);g=-1094995529;break}B=(g|0)==2?2:g^1;c[h>>2]=B;if(!B){g=0;break}h=_L(A)|0;g=_L(A)|0;if((h+6|0)>>>0>12|(g+6|0)>>>0>12){B=c[k>>2]|0;c[C>>2]=h;c[C+4>>2]=g;We(B,16,152034,C);g=-1094995529;break}else{c[j>>2]=h<<1;c[i>>2]=g<<1;g=0;break}}}else{C=c[b+4>>2]|0;g=c[g>>2]|0;c[i>>2]=h;c[i+4>>2]=g;We(C,16,151775,i);g=-1094995529}while(0);Ec=D;return g|0}function Wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Ec;Ec=Ec+96|0;x=E+72|0;w=E+56|0;u=E+48|0;o=E+40|0;p=E+32|0;l=E+16|0;k=E;e=ll(a,b,e)|0;a:do if((e|0)>=0){z=a+28216|0;q=c[z>>2]|0;m=a+25684|0;n=c[m>>2]|0;D=a+26380|0;v=c[D>>2]|0;B=d+64|0;c[m>>2]=(c[B>>2]|0)==0&1;e=c[b+21824>>2]|0;c[D>>2]=e;f=c[b+34732>>2]|0;y=a+28224|0;C=a+28244|0;c[C>>2]=f;c[y>>2]=c[b+34736>>2];c[a+28232>>2]=c[b+34740>>2];c[a+28236>>2]=c[b+34744>>2];c[a+28240>>2]=c[b+34748>>2];r=a+28264|0;g=c[r>>2]|0;if((f|0)!=(g|0)?(h=1<<c[q+20>>2],A=c[q+48>>2]|0,i=f-A|0,(f-g+((f|0)<(g|0)?h:0)|0)>(A|0)):0)c[r>>2]=i+-1+((i|0)<1?h:0);A=a+26384|0;do if(c[A>>2]|0){i=(v|0)==2;f=i&1;j=a+24312|0;g=c[j>>2]|0;if(!g){c[k>>2]=149556;c[k+4>>2]=137858;c[k+8>>2]=1446;We(0,0,164054,k);Za()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[l>>2]=149571;c[l+4>>2]=137858;c[l+8>>2]=1447;We(0,0,164054,l);Za()}h=a+4|0;if((c[g+8+(f<<2)>>2]|0)==(c[h>>2]|0)){Bh(g+4|0,2147483647,f);e=c[D>>2]|0}if((e|0)==3|(e|0)==(v|0)){if((v|0)==3){n=j;break}Bh((c[j>>2]|0)+4|0,2147483647,(v|0)==1&1);n=j;break}f=c[j>>2]|0;if((c[f+88>>2]|0)!=(c[C>>2]|0)){if((v|0)==3){n=j;break}Bh(f+4|0,2147483647,(v|0)==1&1);n=j;break}if(!((v|0)==1&(e|0)==2|i&(e|0)==1)){a=c[h>>2]|0;c[p>>2]=v;c[p+4>>2]=e;We(a,16,149597,p);c[D>>2]=v;c[m>>2]=n;e=-1094995529;break a}if((n|0)==(c[m>>2]|0))n=j;else{Oh(c[h>>2]|0,149635,o);c[D>>2]=v;c[m>>2]=n;e=-1163346256;break a}}else{h=a+4|0;n=a+24312|0}while(0);k=q+20|0;l=a+29556|0;g=q+52|0;m=a+29548|0;j=a+28348|0;while(1){i=c[C>>2]|0;e=c[r>>2]|0;f=(c[A>>2]|0)==0;if((i|0)==(e|0)){g=45;break}if(!f){g=46;break}if((i|0)==((e+1|0)%(1<<c[k>>2]|0)|0|0)){g=57;break}if(!(c[l>>2]|0))f=0;else f=c[j>>2]|0;q=c[h>>2]|0;c[u>>2]=i;c[u+4>>2]=e;We(q,48,149701,u);b:do if(!(c[g>>2]|0)){e=0;while(1){if((e|0)==16)break b;c[a+28676+(e<<2)>>2]=-2147483648;e=e+1|0}}while(0);e=ml(a)|0;if((e|0)<0){g=33;break}q=((c[r>>2]|0)+1|0)%(1<<c[k>>2]|0)|0;c[r>>2]=q;e=c[n>>2]|0;c[e+88>>2]=q;c[e+648>>2]=(c[g>>2]|0)==0&1;Bh(e+4|0,2147483647,0);Bh((c[n>>2]|0)+4|0,2147483647,1);c[m>>2]=0;e=Ah(a)|0;if((e|0)<0?c[(c[h>>2]|0)+580>>2]&8|0:0)break a;if(!(c[l>>2]|0))continue;e=c[j>>2]|0;if((((f|0)!=0?(s=c[e>>2]|0,t=c[f>>2]|0,(c[s+68>>2]|0)==(c[t+68>>2]|0)):0)?(c[s+72>>2]|0)==(c[t+72>>2]|0):0)?(c[s+80>>2]|0)==(c[t+80>>2]|0):0){e=f+4|0;Zh(e,2147483647,0);if(c[f+636>>2]|0)Zh(e,2147483647,1);q=c[c[j>>2]>>2]|0;e=c[f>>2]|0;Rg(q,q+32|0,e,e+32|0,c[e+80>>2]|0,c[e+68>>2]|0,c[e+72>>2]|0);e=c[j>>2]|0;c[e+84>>2]=(c[f+84>>2]|0)+2}c[e+88>>2]=c[r>>2]}if((g|0)==33){c[A>>2]=0;break}else if((g|0)==45)if(f)g=57;else g=46;do if((g|0)==46){g=c[n>>2]|0;if(!g){c[w>>2]=149556;c[w+4>>2]=137858;c[w+8>>2]=1553;We(0,0,164054,w);Za()}if(!(c[(c[g>>2]|0)+248>>2]|0)){c[x>>2]=149571;c[x+4>>2]=137858;c[x+8>>2]=1554;We(0,0,164054,x);Za()}e=c[D>>2]|0;f=a+29584|0;if((e|0)==3|(e|0)==(v|0)){c[f>>2]=(c[f>>2]|0)+1;c[n>>2]=0;f=(e|0)!=3&1;c[A>>2]=f;break}c[f>>2]=0;if((c[g+88>>2]|0)!=(i|0)){Bh(g+4|0,2147483647,(e|0)==2&1);c[A>>2]=1;c[n>>2]=0;e=c[D>>2]|0;f=1;break}if(!(c[g+640>>2]&4)){c[A>>2]=0;f=0;break}else{c[A>>2]=1;c[n>>2]=0;f=1;break}}else if((g|0)==57){e=c[D>>2]|0;f=(e|0)!=3&1;c[A>>2]=f}while(0);if(!((e|0)!=3&(f|0)==0)){if((ml(a)|0)<0){c[A>>2]=0;e=-1094995529;break}}else{nl(a,0);c[(c[n>>2]|0)+8+(((e|0)==2&1)<<2)>>2]=c[h>>2]}e=c[D>>2]|0;c:do if((e|0)==3)yW(c[a+26372>>2]|0,-1,(H(c[a+27008>>2]<<1,c[a+27016>>2]|0)|0)+-2|0)|0;else{g=a+27008|0;h=a+26372|0;i=a+27016|0;e=(e|0)==2&1;while(1){f=c[g>>2]|0;if((e|0)>=(f|0))break c;w=c[i>>2]|0;x=e+1|0;yW((c[h>>2]|0)+((H(w,e)|0)<<1)|0,-1,w-((x|0)==(f|0)&1)<<1|0)|0;e=x}}while(0);e=c[n>>2]|0;e=ol(e+76|0,e+84|0,c[z>>2]|0,y,c[D>>2]|0,c[B>>2]|0)|0;if((e|0)>=0){k=b+34724|0;wW(a+28748|0,b+33932|0,(c[k>>2]|0)*12|0)|0;c[a+29540>>2]=c[k>>2];c[m>>2]=c[b+34728>>2];k=(c[d+44>>2]|0)==5;j=k&1;c[a+25712>>2]=j;h=c[a+29716>>2]|0;do if((h|0)>-1){i=c[C>>2]|0;if(!((i|0)==(h|0)?(c[b+840>>2]|0)==1:0))c[a+29568>>2]=1;g=a+29572|0;f=c[g>>2]|0;if((f|0)>=0){e=c[(c[z>>2]|0)+20>>2]|0;if(((1<<e)+-1&f-i)>>>0<=h>>>0)break}else e=c[(c[z>>2]|0)+20>>2]|0;z=(1<<e)+-1&i+h;c[g>>2]=z;c[g>>2]=(c[a+29568>>2]|0)==0?i:z}while(0);f=c[n>>2]|0;e=(c[f>>2]|0)+84|0;c[e>>2]=c[e>>2]|j;e=a+29572|0;if(k){c[e>>2]=-1;c[f+644>>2]=1;C=a+29576|0;e=c[C>>2]|1;c[C>>2]=e}else{if((c[e>>2]|0)==(c[C>>2]|0)?c[B>>2]|0:0){c[e>>2]=-1;c[f+644>>2]=1}e=c[a+29576>>2]|0}C=f+644|0;c[C>>2]=c[C>>2]|e;if(((c[D>>2]|0)!=3?c[A>>2]|0:0)?(c[a+29584>>2]|0)<=1:0){e=0;break}pl(a);ql(a);e=0}}while(0);Ec=E;return e|0}function Xk(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=Ec;Ec=Ec+160|0;D=E+24|0;m=E+16|0;g=E+8|0;f=E;v=E+96|0;if((c[a+25712>>2]|0)!=0?(c[e+44>>2]|0)!=5:0){We(c[a+4>>2]|0,16,148881,f);f=-1094995529}else w=4;do if((w|0)==4){h=c[d+21808>>2]|0;j=a+26376|0;i=(c[j>>2]|0)==0;if(i)f=(c[a+26380>>2]|0)!=3;else f=1;C=c[a+27020>>2]|0;if(!(h<<(f&1)>>>0<C>>>0&h>>>0<C>>>0)){We(c[a+4>>2]|0,16,148920,g);f=-1094995529;break}y=a+27012|0;f=c[y>>2]|0;u=(h>>>0)%(f>>>0)|0;z=d+21788|0;c[z>>2]=u;c[d+21800>>2]=u;u=a+26380|0;C=c[u>>2]|0;f=((h>>>0)/(f>>>0)|0)<<(((C|0)!=3|i^1)&1);t=d+21792|0;c[t>>2]=f;l=d+21804|0;c[l>>2]=f;if((C|0)==2){C=f+1|0;c[t>>2]=C;c[l>>2]=C}f=Yk(a,d)|0;if((f|0)>=0){h=a+28212|0;g=d+840|0;if((c[(c[h>>2]|0)+32>>2]|0)==2){if((c[g>>2]|0)==3){Zk(a,d,-1);if(!(c[j>>2]|0))w=15;else{Zk(a,d,0);Zk(a,d,1);w=15}}}else w=15;if(((w|0)==15?(c[g>>2]|0)==3:0)?(c[d+21844>>2]|0)==0:0)_k(a,d);if(!(c[a+29588>>2]|0))$k(a,d);s=a+4|0;k=c[s>>2]|0;f=c[k+724>>2]|0;a:do if((f|0)<=47){do if((f|0)>31)if((c[a+27028>>2]|0)==5)w=24;else{w=29;break a}else if((f|0)<=23)if((f|0)>15)if((c[g>>2]|0)==3){w=29;break a}else break;else if((f|0)>7)break;else break a;else w=24;while(0);if((w|0)==24?(c[g>>2]|0)!=1:0){w=29;break}if(!(c[e+64>>2]|0))w=29}else w=29;while(0);if((w|0)==29)c[d+868>>2]=0;A=d+868|0;do if((c[A>>2]|0)==1?(c[a+25632>>2]|0)>1:0)if(!(c[k+64>>2]&1)){c[a+25708>>2]=1;break}else{c[A>>2]=2;break}while(0);B=d+872|0;i=c[B>>2]|0;C=d+876|0;j=c[C>>2]|0;g=c[h>>2]|0;f=g+44|0;h=c[f>>2]|0;x=(h|0)<0;g=g+48|0;h=((x?0:h)|0)<=(c[g>>2]|0);if(h|x^1)f=c[(h?g:f)>>2]|0;else f=0;c[d+860>>2]=-33-((i|0)>(j|0)?j:i)-f+((c[(c[a+28216>>2]|0)+1184>>2]|0)*6|0);r=a+29560|0;g=c[r>>2]|0;h=g+1|0;c[r>>2]=h;r=d+832|0;c[r>>2]=h;if(!h)f=c[l>>2]|0;else{f=c[l>>2]|0;b[a+29600+((g&31)<<1)>>1]=f}x=b[a+29600+((h&31)<<1)>>1]|0;if((g|0)>30&((f|0)>=(x|0)&(x+3|0)>=(f|0))){c[m>>2]=h;c[m+4>>2]=32;We(k,24,148948,m)}n=d+23412|0;o=a+29556|0;p=a+29552|0;m=0;while(1){if((m|0)==2)break;q=c[r>>2]&31;k=d+23404+(m<<2)|0;j=0;while(1){if((j|0)==16)break;l=v+(j<<2)|0;c[l>>2]=60;b:do if(m>>>0<(c[n>>2]|0)>>>0?j>>>0<(c[k>>2]|0)>>>0:0){f=c[(c[c[d+23416+(m*1920|0)+(j*40|0)+36>>2]>>2]|0)+248>>2]|0;if(!f)break;h=c[f>>2]|0;i=c[o>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;if((c[c[(c[c[a+28348+(f<<2)>>2]>>2]|0)+248>>2]>>2]|0)==(h|0)){w=53;break}f=f+1|0}if((w|0)==53){w=0;c[l>>2]=f}g=c[p>>2]|0;f=0;while(1){if((f|0)>=(g|0))break b;x=c[a+28476+(f<<2)>>2]|0;if(x|0?(c[c[(c[x>>2]|0)+248>>2]>>2]|0)==(h|0):0)break;f=f+1|0}c[l>>2]=i+f}while(0);j=j+1|0}c[a+29940+(q<<9)+(m<<8)+4>>2]=-1;c[a+29940+(q<<9)+(m<<8)>>2]=-1;f=0;while(1){if((f|0)==16)break;c[a+29940+(q<<9)+(m<<8)+(f+2<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f<<2)>>2]<<2;f=f+1|0}c[a+29940+(q<<9)+(m<<8)+76>>2]=-1;c[a+29940+(q<<9)+(m<<8)+72>>2]=-1;f=16;while(1){if((f|0)==48)break;c[a+29940+(q<<9)+(m<<8)+(f+4<<2)>>2]=c[d+23416+(m*1920|0)+(f*40|0)+24>>2]&3|c[v+(f+-16>>1<<2)>>2]<<2;f=f+1|0}m=m+1|0}x=c[s>>2]|0;if(!(c[x+576>>2]&1))f=0;else{w=c[r>>2]|0;v=c[u>>2]|0;s=H(c[y>>2]|0,c[t>>2]|0)|0;s=s+(c[z>>2]|0)|0;f=d+836|0;t=(Xh(c[f>>2]|0)|0)<<24>>24;u=c[d+844>>2]|0?149049:260868;q=(c[e+44>>2]|0)==5?149054:260868;r=c[a+28244>>2]|0;m=c[a+24312>>2]|0;l=c[m+76>>2]|0;m=c[m+80>>2]|0;n=c[d+23404>>2]|0;o=c[d+23408>>2]|0;p=c[d+848>>2]|0;k=c[A>>2]|0;j=c[B>>2]|0;g=c[C>>2]|0;h=c[d+880>>2]|0;if((h|0)==1)i=c[d+884>>2]|0?149059:260868;else i=260868;if((c[f>>2]|0)==3)f=c[d+21844>>2]|0?149061:149066;else f=260868;c[D>>2]=w;c[D+4>>2]=(v|0)==3?149047:(v|0)==1?149043:149045;c[D+8>>2]=s;c[D+12>>2]=t;c[D+16>>2]=u;c[D+20>>2]=q;c[D+24>>2]=r;c[D+28>>2]=l;c[D+32>>2]=m;c[D+36>>2]=n;c[D+40>>2]=o;c[D+44>>2]=p;c[D+48>>2]=k;c[D+52>>2]=j;c[D+56>>2]=g;c[D+60>>2]=h;c[D+64>>2]=i;c[D+68>>2]=f;We(x,48,149071,D);f=0}}}while(0);Ec=E;return f|0}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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Ec;Ec=Ec+64|0;G=I+48|0;H=I+40|0;C=I+32|0;B=I+16|0;A=I+8|0;z=I;u=I+60|0;Hh(b);Ih(b);cl(b,d);D=d+23412|0;v=d+34752|0;x=d+34756|0;y=b+29556|0;E=b+4|0;F=b+26380|0;s=0;a:while(1){e=c[D>>2]|0;if(s>>>0>=e>>>0){n=0;p=29;break}q=d+27768+(s<<2)|0;r=d+23404+(s<<2)|0;n=0;e=c[v>>2]|0;while(1){if((n|0)>=(c[q>>2]|0))break;f=a[d+27256+(s<<8)+(n<<3)>>0]|0;i=c[d+27256+(s<<8)+(n<<3)+4>>2]|0;b:do switch(f<<24>>24){case 1:case 0:{g=i+1|0;h=c[x>>2]|0;if(g>>>0>h>>>0){p=11;break a}e=h+-1&(f<<24>>24==0?~i:g)+e;g=Dh(b,e,u)|0;i=c[u>>2]|0;f=c[y>>2]|0;while(1){p=f;f=f+-1|0;if((p|0)<=0){p=18;break b}h=c[b+28348+(f<<2)>>2]|0;if((c[h+88>>2]|0)!=(g|0))continue;if(i&c[h+640>>2]|0){m=e;p=15;break}}break}case 2:{f=Dh(b,i,u)|0;if(f>>>0>31){p=16;break a}f=c[b+28476+(f<<2)>>2]|0;if((f|0)!=0?(w=c[u>>2]|0,(w&c[f+640>>2]|0)!=0):0){m=e;h=f;e=i;i=w;p=15}else p=18;break}default:{p=17;break a}}while(0);if((p|0)==15){c[h+96>>2]=e;f=h+96|0;g=c[r>>2]|0;j=h+100|0;e=n;while(1){k=e+1|0;if(k>>>0>=g>>>0)break;l=c[d+23416+(s*1920|0)+(e*40|0)+36>>2]|0;if(!l){e=k;continue}if((c[j>>2]|0)!=(c[l+100>>2]|0)){e=k;continue}if((c[f>>2]|0)==(c[d+23416+(s*1920|0)+(e*40|0)+32>>2]|0))break;else e=k}while(1){if((e|0)<=(n|0))break;g=e+-1|0;f=d+23416+(s*1920|0)+(e*40|0)|0;e=d+23416+(s*1920|0)+(g*40|0)|0;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=g}e=d+23416+(s*1920|0)+(n*40|0)|0;dl(e,h);if((c[F>>2]|0)==3)e=m;else{el(e,i);e=m}}else if((p|0)==18){We(c[E>>2]|0,16,149339,C);f=d+23416+(s*1920|0)+(n*40|0)|0;o=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(o|0))}n=n+1|0}s=s+1|0}c:do if((p|0)==11){We(c[E>>2]|0,16,149284,z);t=-1094995529}else if((p|0)==16){We(c[E>>2]|0,16,149311,A);t=-1094995529}else if((p|0)==17){c[B>>2]=170059;c[B+4>>2]=132137;c[B+8>>2]=373;We(0,0,164054,B);Za()}else if((p|0)==29){d:while(1){p=0;if(n>>>0>=e>>>0)break;i=d+23404+(n<<2)|0;j=b+28268+(n*40|0)|0;k=b+28268+(n*40|0)+28|0;l=b+28268+(n*40|0)+36|0;m=b+28268+(n*40|0)+24|0;h=0;while(1){if(h>>>0>=(c[i>>2]|0)>>>0)break;f=d+23416+(n*1920|0)+(h*40|0)|0;g=d+23416+(n*1920|0)+(h*40|0)+36|0;e=c[g>>2]|0;if(e){if((c[F>>2]|0)==3?(c[d+23416+(n*1920|0)+(h*40|0)+24>>2]&3|0)!=3:0)p=35}else p=35;if((p|0)==35){p=0;e=c[E>>2]|0;c[H>>2]=c[k>>2];We(e,16,149381,H);e=0;while(1){if((e|0)==16)break;c[b+28676+(e<<2)>>2]=-2147483648;e=e+1|0}if(!(c[l>>2]|0)){t=-1;break c}if((c[F>>2]|0)==3?(c[m>>2]&3|0)!=3:0){t=-1;break c}e=j;o=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(o|0));e=c[g>>2]|0}if((fl(c[(c[e>>2]|0)+248>>2]|0)|0)>0)h=h+1|0;else{p=43;break d}}n=n+1|0;e=c[D>>2]|0;p=29}if((p|0)==43){c[G>>2]=149423;c[G+4>>2]=132137;c[G+8>>2]=411;We(0,0,164054,G);Za()}if(!(c[b+26376>>2]|0))t=0;else{gl(d);t=0}}while(0);Ec=I;return t|0}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=0;while(1){if((e|0)==2)break;c[b+896+(e<<2)>>2]=0;c[b+904+(e<<2)>>2]=0;e=e+1|0}n=(d|0)<0;if(n){g=c[a+26380>>2]|0;e=c[a+24312>>2]|0;g=c[((g|0)==3?e+84|0:e+76+(g+-1<<2)|0)>>2]|0;e=c[b+23404>>2]|0;f=c[b+23408>>2]|0;if((e|0)==1)if((f|0)==1)if((c[a+26376>>2]|0)==0?(l=c[b+23444>>2]|0,m=c[b+25364>>2]|0,l=hW(m|0,((m|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0,m=g<<1,(l|0)==(m|0)&(M()|0)==(((m|0)<0)<<31>>31|0)):0){c[b+880>>2]=0;c[b+884>>2]=0}else{m=0;e=1;f=1;h=11}else{m=0;e=1;h=11}else{m=0;h=11}}else{m=16;e=(c[b+23404>>2]<<1)+16|0;f=(c[b+23408>>2]<<1)+16|0;g=c[(c[a+24312>>2]|0)+76+(d<<2)>>2]|0;h=11}a:do if((h|0)==11){c[b+880>>2]=2;c[b+884>>2]=2;c[b+888>>2]=5;c[b+892>>2]=5;a=m;while(1){if((a|0)>=(e|0))break a;j=c[b+23416+(a*40|0)+28>>2]|0;k=b+23416+(a*40|0)+36|0;l=g-j|0;l=((l+128|0)>>>0>255?l>>31^127:l)<<24>>24;h=m;while(1){if((h|0)>=(f|0))break;if(((c[(c[k>>2]|0)+100>>2]|0)==0?(c[(c[b+25336+(h*40|0)+36>>2]|0)+100>>2]|0)==0:0)?(p=(c[b+25336+(h*40|0)+28>>2]|0)-j|0,p=(p+128|0)>>>0>255?p>>31^127:p,o=p&255,p=p<<24>>24,o<<24>>24!=0):0){i=(H((((o<<24>>24>-1?p:0-p|0)>>1)+16384|0)/(p|0)|0,l)|0)+32>>8;i=(i+64|0)>>>0<193?64-i|0:32}else i=32;if(n){c[b+3216+(a*384|0)+(h<<3)+4>>2]=i;c[b+3216+(a*384|0)+(h<<3)>>2]=i}else c[b+3216+(a*384|0)+(h<<3)+(d<<2)>>2]=i;h=h+1|0}a=a+1|0}}while(0);return}function _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;j=c[a+26380>>2]|0;i=a+24312|0;k=c[i>>2]|0;j=c[((j|0)==3?k+84|0:k+76+(((j|0)==2&1)<<2)|0)>>2]|0;k=c[b+25364>>2]|0;a:do if(!(c[a+26376>>2]|0))d=b+23404|0;else{f=b+25372|0;d=b+23404|0;e=0;while(1){if((e|0)==2)break a;g=c[(c[i>>2]|0)+76+(e<<2)>>2]|0;h=c[(c[f>>2]|0)+76+(e<<2)>>2]|0;a=0;while(1){if(a>>>0>=c[d>>2]<<1>>>0)break;c[b+21996+(e<<7)+((a^e)<<2)>>2]=bl(b,g,h,a+16|0)|0;a=a+1|0}e=e+1|0}}while(0);a=0;while(1){if(a>>>0>=(c[d>>2]|0)>>>0)break;c[b+21868+(a<<2)>>2]=bl(b,j,k,a)|0;a=a+1|0}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,n=0,o=0,p=0,q=0;q=Ec;Ec=Ec+32|0;p=q+16|0;j=q;m=a+24312|0;h=c[m>>2]|0;l=a+26380|0;o=c[l>>2]&1^1;n=b+25360|0;f=c[n>>2]&1;k=b+23412|0;d=0;while(1){if(d>>>0>=(c[k>>2]|0)>>>0)break;g=b+23404+(d<<2)|0;c[h+616+(o<<3)+(d<<2)>>2]=c[g>>2];e=0;while(1){if(e>>>0>=(c[g>>2]|0)>>>0)break;c[h+104+(o<<8)+(d<<7)+(e<<2)>>2]=c[b+23416+(d*1920|0)+(e*40|0)+24>>2]&3|c[(c[b+23416+(d*1920|0)+(e*40|0)+36>>2]|0)+88>>2]<<2;e=e+1|0}d=d+1|0}i=f^1;if((c[l>>2]|0)==3){e=h+616|0;f=c[e+4>>2]|0;g=h+624|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;wW(h+360|0,h+104|0,256)|0}if(c[a+29560>>2]|0){if((c[h+632>>2]|0)!=(c[a+26376>>2]|0)){c[j>>2]=149161;c[j+4>>2]=149193;c[j+8>>2]=144;We(0,0,164054,j);Za()}}else c[h+632>>2]=c[a+26376>>2];f=b+21852|0;c[f>>2]=0;a:do if((c[k>>2]|0)==2?c[b+23408>>2]|0:0){e=c[l>>2]|0;if((e|0)!=3){d=c[n>>2]|0;if((d&e|0)==0?(c[(c[b+25372>>2]|0)+632>>2]|0)==0:0){c[f>>2]=(d<<1)+-3;d=o}else d=o}else{d=c[(c[m>>2]|0)+84>>2]|0;f=c[b+25372>>2]|0;e=c[f+76>>2]|0;f=c[f+80>>2]|0;if((e|0)==2147483647&(f|0)==2147483647){We(c[a+4>>2]|0,16,149218,p);d=1}else{p=e-d|0;d=f-d|0;d=(((p|0)>-1?p:0-p|0)|0)>=(((d|0)>-1?d:0-d|0)|0)&1}c[b+21848>>2]=d;i=d}if((c[b+840>>2]|0)==3?(c[b+21844>>2]|0)==0:0){g=b+22252|0;h=a+26376|0;f=0;while(1){if((f|0)==2)break a;al(a,b,g,f,d,i,0);b:do if(c[h>>2]|0){e=0;while(1){if((e|0)==2)break b;al(a,b,b+22636+(e*384|0)|0,f,e,e,1);e=e+1|0}}while(0);f=f+1|0}}}while(0);Ec=q;return}function al(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[b+25372>>2]|0;r=(h|0)!=0;p=r?16:0;q=c[b+23404>>2]|0;q=r?(q<<1)+16|0:q;if(r)n=1;else n=(c[a+26380>>2]|0)!=3;yW(d+(e*192|0)|0,0,192)|0;k=s+616+(g<<3)+(e<<2)|0;l=s+632|0;h=0;a:while(1){if((h|0)==2)break;m=h+1|0;o=n&(h|0)!=(f|0);j=(h^f)+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0)){h=m;continue a}h=c[s+104+(g<<8)+(e<<7)+(i<<2)>>2]|0;if(n)a=(h&3|0)==3?m+(h&-4)|0:h;else a=h|3;h=p;while(1){if((h|0)>=(q|0))break;if((c[b+23416+(h*40|0)+24>>2]&3|c[(c[b+23416+(h*40|0)+36>>2]|0)+88>>2]<<2|0)==(a|0)){t=13;break}h=h+1|0}if((t|0)==13){t=0;h=r?h+-16^f:h;if(c[l>>2]|0)c[d+(e*192|0)+(j+(i<<1)<<2)>>2]=h;if(!o)c[d+(e*192|0)+(i<<2)>>2]=h}i=i+1|0}}return}function bl(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=Ec;Ec=Ec+16|0;j=k+8|0;h=c[a+23416+(e*40|0)+28>>2]|0;i=((h|0)<0)<<31>>31;d=iW(d|0,((d|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;g=(d+128|0)>>>0>255?d>>31^127:d;f=g&255;g=g<<24>>24;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))Oh(c[(c[a>>2]|0)+4>>2]|0,149247,k);if(f<<24>>24!=0?(c[(c[a+23416+(e*40|0)+36>>2]|0)+100>>2]|0)==0:0){d=iW(b|0,((b|0)<0)<<31>>31|0,h|0,i|0)|0;l=M()|0;if(!((d|0)==(d|0)&(l|0)==(((d|0)<0)<<31>>31|0)))We(c[(c[a>>2]|0)+4>>2]|0,48,149265,j);l=(H((((f<<24>>24>-1?g:0-g|0)>>1)+16384|0)/(g|0)|0,((d+128|0)>>>0>255?d>>31^127:d)<<24>>24)|0)+32|0;d=l>>6;d=(d+1024|0)>>>0>2047?l>>31^1023:d}else d=256;Ec=k;return d|0}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,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+240|0;r=s+48|0;d=s+32|0;n=s+16|0;m=s;l=s+104|0;o=s+96|0;p=s+56|0;q=b+840|0;do if((c[q>>2]|0)==3){k=a+26380|0;g=c[k>>2]|0;h=c[a+24312>>2]|0;g=c[((g|0)==3?h+84|0:h+76+(((g|0)==2&1)<<2)|0)>>2]|0;h=a+28348|0;i=a+29556|0;j=a+28476|0;f=0;while(1){if((f|0)>=2){d=11;break}d=hl(l,h,c[i>>2]|0,g,f^1)|0;d=(hl(l+(d<<2)|0,h,c[i>>2]|0,g,f)|0)+d|0;if((d|0)>=33){d=5;break}d=il(b+23416+(f*1920|0)|0,48,l,d,0,c[k>>2]|0)|0;d=(il(b+23416+(f*1920|0)+(d*40|0)|0,48-d|0,j,16,1,c[k>>2]|0)|0)+d|0;if((d|0)>=33){d=7;break}e=c[b+23404+(f<<2)>>2]|0;if(e>>>0>d>>>0)yW(b+23416+(f*1920|0)+(d*40|0)|0,0,(e-d|0)*40|0)|0;c[o+(f<<2)>>2]=d;f=f+1|0}if((d|0)==5){c[m>>2]=149496;c[m+4>>2]=132137;c[m+8>>2]=153;We(0,0,164054,m);Za()}else if((d|0)==7){c[n>>2]=149496;c[n+4>>2]=132137;c[n+8>>2]=160;We(0,0,164054,n);Za()}else if((d|0)==11){e=c[o>>2]|0;o=c[o+4>>2]|0;if((e|0)==(o|0)&(o|0)>1){d=0;while(1){if((d|0)>=(e|0))break;if((c[c[(c[c[b+23416+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0)!=(c[c[(c[c[b+25336+(d*40|0)+36>>2]>>2]|0)+248>>2]>>2]|0))break;d=d+1|0}if((d|0)==(e|0)){d=b+25376|0;j=p;f=d;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));e=b+25336|0;j=d;f=e;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));j=e;f=p;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0))}}break}}else{p=a+26380|0;e=il(b+23416|0,48,a+28348|0,c[a+29556>>2]|0,0,c[p>>2]|0)|0;e=(il(b+23416+(e*40|0)|0,48-e|0,a+28476|0,16,1,c[p>>2]|0)|0)+e|0;if((e|0)>=33){c[d>>2]=149496;c[d+4>>2]=132137;c[d+8>>2]=181;We(0,0,164054,d);Za()}d=c[b+23404>>2]|0;if(d>>>0>e>>>0)yW(b+23416+(e*40|0)|0,0,(d-e|0)*40|0)|0}while(0);h=a+4|0;f=0;while(1){if((f|0)>=(((c[q>>2]|0)==3?2:1)|0))break;i=b+23404+(f<<2)|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;e=b+23416+(f*1920|0)+(g*40|0)|0;d=c[b+23416+(f*1920|0)+(g*40|0)+36>>2]|0;if(d|0?jl(a,d)|0:0){We(c[h>>2]|0,16,149506,r);j=e;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}g=g+1|0}f=f+1|0}e=b+23412|0;d=0;while(1){if(d>>>0>=(c[e>>2]|0)>>>0)break;j=a+28268+(d*40|0)|0;f=b+23416+(d*1920|0)|0;k=j+40|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(k|0));d=d+1|0}Ec=s;return}function dl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];d=a+12|0;e=(c[b>>2]|0)+32|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[a+24>>2]=c[b+640>>2];c[a+28>>2]=c[b+84>>2];c[a+32>>2]=c[b+96>>2];c[a+36>>2]=b;return}function el(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=(b|0)==2;f=a+24|0;d=0;while(1){if((d|0)==3)break;g=a+(d<<2)|0;h=a+12+(d<<2)|0;if(e)c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[f>>2]=b;c[h>>2]=c[h>>2]<<1;d=d+1|0}c[a+28>>2]=c[(c[a+36>>2]|0)+76+((e&1)<<2)>>2];return}function fl(a){a=a|0;return c[(c[a>>2]|0)+8>>2]|0}function gl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+23412|0;g=0;while(1){if(g>>>0>=(c[i>>2]|0)>>>0)break;k=a+23404+(g<<2)|0;h=0;while(1){if(h>>>0>=(c[k>>2]|0)>>>0)break;f=(h<<1)+16|0;j=a+23416+(g*1920|0)+(f*40|0)|0;b=j;d=a+23416+(g*1920|0)+(h*40|0)|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=0;while(1){if((b|0)==3)break;e=a+23416+(g*1920|0)+(f*40|0)+12+(b<<2)|0;c[e>>2]=c[e>>2]<<1;b=b+1|0}c[a+23416+(g*1920|0)+(f*40|0)+24>>2]=1;c[a+23416+(g*1920|0)+(f*40|0)+28>>2]=c[(c[a+23416+(g*1920|0)+(f*40|0)+36>>2]|0)+76>>2];b=j+40|0;d=j;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));d=a+23416+(g*1920|0)+(h*40|0)+36|0;b=0;while(1){if((b|0)==3)break;f=j+40+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[c[d>>2]>>2]|0)+32+(b<<2)>>2]|0);b=b+1|0}c[j+64>>2]=2;c[j+68>>2]=c[(c[j+76>>2]|0)+80>>2];h=h+1|0}g=g+1|0}return}function hl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=f|0?-2147483648:2147483647;j=0;while(1){l=a+(j<<2)|0;g=m;k=0;while(1){if((k|0)>=(d|0))break;h=c[b+(k<<2)>>2]|0;i=c[h+84>>2]|0;if(((i|0)>(e|0)|0)!=(f|0)?((i|0)<(g|0)|0)!=(f|0):0){c[l>>2]=h;g=i}k=k+1|0}if((g|0)==(m|0))break;e=(c[(c[l>>2]|0)+84>>2]|0)-f|0;j=j+1|0}return j|0}function il(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Ec;Ec=Ec+32|0;p=q+16|0;o=q;n=g^3;m=(f|0)==0;j=0;f=0;h=0;while(1){if(!((f|0)<(e|0)|(h|0)<(e|0))){f=24;break}while(1){if((f|0)>=(e|0)){i=0;break}l=c[d+(f<<2)>>2]|0;if(l|0?c[l+640>>2]&g|0:0){i=1;break}f=f+1|0}l=h;while(1){if((l|0)>=(e|0)){k=0;break}k=c[d+(l<<2)>>2]|0;if(k|0?c[k+640>>2]&n|0:0){k=1;break}l=l+1|0}if(i){if((j|0)>=(b|0)){f=14;break}i=c[d+(f<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=f;c[i+96>>2]=h;kl(a+(j*40|0)|0,i,g,1);j=j+1|0;f=f+1|0}if(!k){h=l;continue}if((j|0)>=(b|0)){f=20;break}i=c[d+(l<<2)>>2]|0;if(m)h=c[i+88>>2]|0;else h=l;c[i+96>>2]=h;kl(a+(j*40|0)|0,i,n,0);j=j+1|0;h=l+1|0}if((f|0)==14){c[o>>2]=149540;c[o+4>>2]=132137;c[o+8>>2]=90;We(0,0,164054,o);Za()}else if((f|0)==20){c[p>>2]=149540;c[p+4>>2]=132137;c[p+8>>2]=95;We(0,0,164054,p);Za()}else if((f|0)==24){Ec=q;return j|0}return 0}function jl(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;b=c[c[a+24312>>2]>>2]|0;if((c[b+68>>2]|0)==(c[d+68>>2]|0)?(c[b+72>>2]|0)==(c[d+72>>2]|0):0)b=(c[b+80>>2]|0)!=(c[d+80>>2]|0)&1;else b=1;return b|0}function kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(c[b+640>>2]&d|0?(dl(a,b),(d|0)!=3):0){el(a,d);d=a+32|0;c[d>>2]=(c[d>>2]<<1)+e}return}function ll(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=Ec;Ec=Ec+64|0;m=r+56|0;l=r+48|0;q=r+40|0;p=r+24|0;o=r;k=(d|0)!=0;if(k){i=a+28204|0;Cf(i);f=a+28212|0;c[f>>2]=0;d=Eg(c[a+27180+(c[b+27776>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d)d=-12;else{d=c[d+4>>2]|0;c[f>>2]=d;g=5}}else{d=a+28212|0;f=d;d=c[d>>2]|0;g=5}a:do if((g|0)==5){h=a+28216|0;g=c[h>>2]|0;do if((g|0)==(c[(c[a+27052+(c[d>>2]<<2)>>2]|0)+4>>2]|0))d=0;else{i=a+28208|0;Cf(i);c[h>>2]=0;d=Eg(c[a+27052+(c[c[f>>2]>>2]<<2)>>2]|0)|0;c[i>>2]=d;if(!d){d=-12;break a}g=c[d+4>>2]|0;c[h>>2]=g;if((((c[a+27012>>2]|0)==(c[g+56>>2]|0)?(c[a+27008>>2]|0)==(c[g+60>>2]|0):0)?(e=c[a+29596>>2]|0,(e|0)==(c[g+1184>>2]|0)):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)d=0;else{d=1;e=c[g+1184>>2]|0}if((c[a+27044>>2]|0)==(e|0)?(c[a+27048>>2]|0)==(c[g+12>>2]|0):0)break;d=1}while(0);i=a+25692|0;if(c[i>>2]|0){f=c[g+56>>2]|0;h=a+4|0;e=c[h>>2]|0;if(((((f<<4|0)==(c[e+100>>2]|0)?(j=c[g+60>>2]|0,(j<<4|0)==(c[e+104>>2]|0)):0)?(c[a+29596>>2]|0)==(c[g+1184>>2]|0):0)?(c[a+29592>>2]|0)==(c[g+12>>2]|0):0)?(c[a+27012>>2]|0)==(f|0):0)f=(c[a+27008>>2]|0)!=(j|0)&1;else f=1}else{e=a+4|0;h=e;f=0;e=c[e>>2]|0}e=c[e+112>>2]|0;if(!((e|0)!=-1?(j=Em(e)|0,(j|0)==(Em(Fm(a,0)|0)|0)):0))f=1;if(k){j=g+100|0;k=(c[h>>2]|0)+188|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=(Gm(l,m)|0)==0;f=m?f:1}if(((c[a+29588>>2]|0)==0?(m=Hm(g)|0,l=c[h>>2]|0,c[l+716>>2]=m,c[l+720>>2]=c[g+8>>2],c[l+300>>2]=c[g+48>>2],l=c[g+56>>2]|0,c[a+27012>>2]=l,m=c[g+60>>2]|0,c[a+27008>>2]=m,c[a+27020>>2]=H(m,l)|0,c[a+27016>>2]=l+1,c[a+26368>>2]=l<<2,c[a+25680>>2]=(c[g+12>>2]|0)<2&1,c[a+25668>>2]=l<<4,c[a+25672>>2]=m<<4,Im(a),(c[g+108>>2]|0)!=0):0)?(n=c[h>>2]|0,c[n+328>>2]=(c[g+112>>2]|0)>0?2:1,(c[g+116>>2]|0)!=0):0){m=n+324|0;l=c[g+128>>2]|0;d=(c[m>>2]|0)==(l|0)?d:1;c[n+316>>2]=c[g+120>>2];c[n+320>>2]=c[g+124>>2];c[m>>2]=l}e=(c[i>>2]|0)==0;if((d|f|0)!=0|e){c[i>>2]=0;if((c[a+25628>>2]|0)!=(b|0)){d=c[h>>2]|0;n=c[d+100>>2]|0;b=c[a+25672>>2]|0;p=c[d+104>>2]|0;q=(c[a+29560>>2]|0)+1|0;c[o>>2]=c[a+25668>>2];c[o+4>>2]=n;c[o+8>>2]=b;c[o+12>>2]=p;c[o+16>>2]=q;We(d,16,150290,o);d=-1094995529;break}if(!e)Vf(a);d=Fm(a,1)|0;if((d|0)>=0){o=c[h>>2]|0;c[o+112>>2]=d;n=c[a+25668>>2]|0;b=c[a+25672>>2]|0;d=rg(d)|0;c[p>>2]=n;c[p+4>>2]=b;c[p+8>>2]=d;We(o,40,150345,p);d=Jm(a)|0;if((d|0)<0)We(c[h>>2]|0,16,150383,q);else d=0}}else d=0}while(0);Ec=r;return d|0}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=Ec;Ec=Ec+32|0;e=n+8|0;f=n+16|0;l=c[b+25664>>2]|0;m=b+28216|0;g=c[m>>2]|0;c[f>>2]=1<<(c[g+1184>>2]|0)+-1;g=1<<(c[g+1188>>2]|0)+-1;c[f+4>>2]=g;c[f+8>>2]=g;c[f+12>>2]=-1;g=b+4|0;do if(ul(c[g>>2]|0)|0){nl(b,1);k=b+24312|0;c[k>>2]=0;d=vl(b)|0;if((d|0)<0){We(c[g>>2]|0,16,149850,e);break}i=b+696+(d*656|0)|0;j=b+26380|0;h=c[j>>2]|0;c[b+696+(d*656|0)+640>>2]=(c[b+25684>>2]|0)==0?h:0;e=b+25688|0;o=c[e>>2]|0;c[e>>2]=o+1;e=c[i>>2]|0;c[e+128>>2]=o;c[b+696+(d*656|0)+636>>2]=(h|0)!=3&1;c[b+696+(d*656|0)+88>>2]=c[b+28244>>2];c[e+84>>2]=0;c[b+696+(d*656|0)+92>>2]=0;c[b+696+(d*656|0)+644>>2]=0;c[b+696+(d*656|0)+648>>2]=0;c[b+696+(d*656|0)+652>>2]=c[b+29716>>2];h=b+25628|0;c[e+88>>2]=c[(c[h>>2]|0)+836>>2];c[e+392>>2]=c[b+25716>>2];c[e+396>>2]=c[b+25720>>2];c[e+384>>2]=c[b+25724>>2];c[e+388>>2]=c[b+25728>>2];d=wl(b,i)|0;if((d|0)>=0){if((c[b+29576>>2]|0)==0?(c[(c[g>>2]|0)+592>>2]|0)==0:0)xl(c[i>>2]|0,f);c[k>>2]=i;d=b+24316|0;Xf(b,d);Uh((c[h>>2]|0)+696|0,0);d=lh(b,d,c[k>>2]|0)|0;if((d|0)>=0){e=c[b+25632>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;g=c[c[k>>2]>>2]|0;o=c[h>>2]|0;c[o+(d*34768|0)+21772>>2]=c[g+32>>2];c[o+(d*34768|0)+21776>>2]=c[g+36>>2];d=d+1|0}if(!(c[b+29672>>2]|0))d=0;else{yl((c[h>>2]|0)+24|0);Uh((c[h>>2]|0)+728|0,0);Uh((c[h>>2]|0)+760|0,0);d=0}while(1){if((d|0)==16){d=0;break}o=a[150645+d>>0]|0;h=((o<<2&255)+16&28)<<l;o=(o&255)+-12>>3;c[b+25976+(d<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<2,o)|0);c[b+25976+(d+48<<2)>>2]=h+(H(c[(c[i>>2]|0)+32>>2]<<3,o)|0);d=d+1|0}while(1){if((d|0)==16)break;o=a[150645+d>>0]|0;h=((o<<2&255)+16&28)<<l;o=(o&255)+-12>>3;g=h+(H(c[(c[i>>2]|0)+36>>2]<<2,o)|0)|0;c[b+25976+(d+32<<2)>>2]=g;c[b+25976+(d+16<<2)>>2]=g;o=h+(H(c[(c[i>>2]|0)+36>>2]<<3,o)|0)|0;c[b+25976+(d+80<<2)>>2]=o;c[b+25976+(d+64<<2)>>2]=o;d=d+1|0}o=c[k>>2]|0;c[o+640>>2]=0;c[o+80>>2]=2147483647;c[o+76>>2]=2147483647;c[b+28740>>2]=0;c[b+25708>>2]=0;if(!(c[(c[m>>2]|0)+68>>2]|0))d=0;else d=(c[j>>2]|0)==3&1;c[b+26376>>2]=d;d=c[b+29712>>2]|0;if((d|0)>-1){c[b+25704>>2]=d;d=0}else d=0}}}else{We(c[g>>2]|0,16,149804,n);d=-1}while(0);Ec=n;return d|0}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(b|0)==0;e=a+24312|0;b=0;while(1){if((b|0)==36)break;f=a+696+(b*656|0)|0;do if(c[(c[f>>2]|0)+248>>2]|0?(c[a+696+(b*656|0)+640>>2]|0)==0:0){if(d?(f|0)==(c[e>>2]|0):0)break;Xf(a,f)}while(0);b=b+1|0}return}function ol(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;k=c[e+20>>2]|0;i=c[f+36>>2]|0;j=f+32|0;c[j>>2]=i;l=c[f+20>>2]|0;if((l|0)<(c[f+40>>2]|0)){i=i+(1<<k)|0;c[j>>2]=i}switch(c[e+24>>2]|0){case 0:{i=1<<c[e+28>>2];k=c[f>>2]|0;j=c[f+28>>2]|0;if((j|0)>(k|0)?(j-k|0)>=((i|0)/2|0|0):0)i=(c[f+24>>2]|0)+i|0;else m=7;do if((m|0)==7){if((j|0)<(k|0)?(j-k|0)<((i|0)/-2|0|0):0){i=(c[f+24>>2]|0)-i|0;break}i=c[f+24>>2]|0}while(0);c[f+4>>2]=i;j=k+i|0;l=((j|0)<0)<<31>>31;if((g|0)==3){k=c[f+8>>2]|0;k=hW(k|0,((k|0)<0)<<31>>31|0,j|0,l|0)|0;i=j;h=l;j=M()|0}else{i=j;h=l;k=j;j=l}break}case 1:{m=c[e+44>>2]|0;k=(m|0)==0?0:l+i|0;h=(h|0)==0;j=(h&(k|0)>0)<<31>>31;i=0;l=0;while(1){if((i|0)>=(m|0))break;n=l+(b[e+148+(i<<1)>>1]|0)|0;i=i+1|0;l=n}i=k+j|0;a:do if((i|0)>0){i=i+-1|0;k=(i|0)%(m|0)|0;i=H((i|0)/(m|0)|0,l)|0;j=0;while(1){if((j|0)>(k|0))break a;i=i+(b[e+148+(j<<1)>>1]|0)|0;j=j+1|0}}else i=0;while(0);if(h)i=(c[e+36>>2]|0)+i|0;i=(c[f+12>>2]|0)+i|0;l=((i|0)<0)<<31>>31;k=c[e+40>>2]|0;k=hW(i|0,l|0,k|0,((k|0)<0)<<31>>31|0)|0;j=M()|0;if((g|0)==3){h=c[f+16>>2]|0;k=hW(k|0,j|0,h|0,((h|0)<0)<<31>>31|0)|0;h=l;j=M()|0}else h=l;break}default:{k=(l+i<<1)+(((h|0)==0)<<31>>31)|0;j=((k|0)<0)<<31>>31;i=k;h=j}}if((i|0)==(i|0)&(h|0)==(((i|0)<0)<<31>>31|0)?(k|0)==(k|0)&(j|0)==(((k|0)<0)<<31>>31|0):0){if((g|0)!=2?(c[a>>2]=i,(g|0)==1):0)j=a+4|0;else{j=a+4|0;c[j>>2]=k;i=c[a>>2]|0}c[d>>2]=c[a+(((i|0)>(c[j>>2]|0)&1)<<2)>>2];i=0}else i=-1094995529;return i|0}function pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+28216>>2]|0;q=c[b+24312>>2]|0;j=c[q>>2]|0;g=j+212|0;c[g>>2]=0;d=j+208|0;c[d>>2]=0;i=(c[i+1160>>2]|0)==0;if(!i?(c[b+29676>>2]|0)!=0:0){f=c[b+29680>>2]|0;switch(f|0){case 8:{c[d>>2]=4;d=0;break}case 2:case 1:{c[g>>2]=1;d=1;break}case 4:case 3:{if((c[b+26376>>2]|0)==0?(c[b+26380>>2]|0)==3:0)d=c[b+29564>>2]|0;else d=1;c[g>>2]=d;break}case 6:case 5:{c[d>>2]=1;d=0;break}case 7:{c[d>>2]=2;d=0;break}default:d=0}e=c[b+29684>>2]|0;if((e&3|0)!=0&f>>>0<5){d=e>>>1&1;h=17}}else{if(!(c[b+26376>>2]|0))d=(c[b+26380>>2]|0)!=3;else d=1;d=d&1;h=17}if((h|0)==17)c[g>>2]=d;c[b+29564>>2]=d;e=c[q+76>>2]|0;f=c[q+80>>2]|0;do if((e|0)==(f|0)){if(!i?c[b+29676>>2]|0:0){switch(c[b+29680>>2]|0){case 5:case 3:{d=1;break}default:d=0}c[j+216>>2]=d;break}c[j+216>>2]=(d|0)!=0&1}else c[j+216>>2]=(e|0)<(f|0)&1;while(0);if(((c[b+29852>>2]|0?(k=b+29864|0,(c[k>>2]|0)>>>0<7):0)?(l=b+29872|0,((c[l>>2]|0)+-1|0)>>>0<2):0)?(m=rl(j)|0,m|0):0){switch(c[k>>2]|0){case 0:{c[m>>2]=4;break}case 1:{c[m>>2]=7;break}case 2:{c[m>>2]=6;break}case 3:{c[m>>2]=c[b+29876>>2]|0?5:1;break}case 4:{c[m>>2]=2;break}case 5:{c[m>>2]=3;break}case 6:{c[m>>2]=0;break}default:{}}if((c[l>>2]|0)==2)c[m+4>>2]=1;if((c[k>>2]|0)==5)c[m+8>>2]=c[b+29880>>2]|0?1:2}do if(c[b+29884>>2]|0){d=c[b+29888>>2]|0;if(((d|0)==0?(c[b+29892>>2]|0)==0:0)?(c[b+29896>>2]|0)==0:0)break;e=ah(c[q>>2]|0,6,36)|0;if(e|0){m=e+4|0;sl(c[m>>2]|0,+(d*360|0)*.0000152587890625);tl(c[m>>2]|0,c[b+29892>>2]|0,c[b+29896>>2]|0)}}while(0);d=b+29696|0;if(c[d>>2]|0?(n=ah(c[q>>2]|0,7,1)|0,n|0):0){a[c[n+4>>2]>>0]=a[b+29700>>0]|0;c[d>>2]=0}d=b+29708|0;if(c[d>>2]|0){e=b+29704|0;f=ah(c[q>>2]|0,1,c[e>>2]|0)|0;if(f|0)wW(c[f+4>>2]|0,c[d>>2]|0,c[e>>2]|0)|0;Se(d);c[e>>2]=0;n=(c[b+4>>2]|0)+848|0;c[n>>2]=c[n>>2]|2}if((c[b+29916>>2]|0?(o=b+29920|0,Bi(c[o>>2]|0)|0):0)?(p=c[o>>2]|0,(p|0)!=2):0){c[(c[q>>2]|0)+308>>2]=p;c[(c[b+4>>2]|0)+320>>2]=p}return}function ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=Ec;Ec=Ec+48|0;p=q+32|0;m=q+16|0;k=q+8|0;h=q;d=c[a+28216>>2]|0;l=c[a+24312>>2]|0;j=a+29544|0;i=l+92|0;c[i>>2]=c[j>>2];c[j>>2]=0;j=d+660|0;b=c[a+4>>2]|0;if(!((c[j>>2]|0)==0?(c[b+568>>2]|0)<=0:0)){n=b+140|0;f=c[n>>2]|0;g=c[d+664>>2]|0;c[n>>2]=(f|0)>(g|0)?f:g}g=l+84|0;b=0;while(1){f=c[g>>2]|0;if((b|0)==16){b=16;n=8;break}d=c[a+28676+(b<<2)>>2]|0;e=(b|0)==0;if((f|0)<(d|0)){n=7;break}if(!e)c[a+28676+(b+-1<<2)>>2]=d;b=b+1|0}if((n|0)==7)if(e)b=0;else n=8;if((n|0)==8)c[a+28676+(b+-1<<2)>>2]=f;e=16-b|0;if((c[(c[l>>2]|0)+88>>2]|0)==3)if((e|0)>1)n=17;else n=16;else{n=c[a+28732>>2]|0;if((n|0)!=-2147483648?!((e|0)>1?1:((c[a+28736>>2]|0)-n|0)<3):0)n=16;else n=17}if((n|0)==16){b=a+4|0;e=1;d=c[b>>2]|0;n=22}else if((n|0)==17){f=a+4|0;d=c[f>>2]|0;if(!b){e=a+28676|0;b=c[e>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=b;We(d,40,149722,h);b=1;while(1){if((b|0)==16)break;c[a+28676+(b<<2)>>2]=-2147483648;b=b+1|0}c[e>>2]=c[g>>2];c[i>>2]=1;h=f}else{b=f;n=22}}if((n|0)==22)if((c[d+140>>2]|0)<(e|0)?(c[j>>2]|0)==0:0){h=(c[d+360>>2]|0)>1?24:40;c[k>>2]=e;We(d,h,149741,k);c[(c[b>>2]|0)+140>>2]=e;h=b}else h=b;k=0;while(1){b=a+28604+(k<<2)|0;if(!(c[b>>2]|0))break;else k=k+1|0}if((k|0)>=17){c[m>>2]=149774;c[m+4>>2]=137858;c[m+8>>2]=1337;We(0,0,164054,m);Za()}c[b>>2]=l;b=l+640|0;if(!(c[b>>2]|0))c[b>>2]=4;j=a+28604|0;f=c[j>>2]|0;l=f;i=0;b=1;while(1){d=c[a+28604+(b<<2)>>2]|0;if(!d)break;if(c[(c[d>>2]|0)+84>>2]|0)break;if(c[d+92>>2]|0)break;n=(c[d+84>>2]|0)<(c[l+84>>2]|0);l=n?d:l;i=n?b:i;b=b+1|0}b=c[h>>2]|0;e=c[b+140>>2]|0;do if(!e){if((c[(c[f>>2]|0)+84>>2]|0)==0?(c[f+92>>2]|0)==0:0)break;c[a+28744>>2]=-2147483648}while(0);d=c[l+84>>2]|0;g=a+28744|0;f=(d|0)<(c[g>>2]|0);do if(!((k|0)<(e|0)&(f^1))){b=l+640|0;c[b>>2]=c[b>>2]&-5;b=i;e=c[a+28604+(i<<2)>>2]|0;while(1){if(!e)break;n=b+1|0;e=c[a+28604+(n<<2)>>2]|0;c[a+28604+(b<<2)>>2]=e;b=n}if(f){b=c[h>>2]|0;n=61;break}else{e=c[h>>2]|0;b=e;e=c[e+140>>2]|0;n=47;break}}else n=47;while(0);do if((n|0)==47){if((k|0)<(e|0)){n=61;break}h=a+28740|0;c[h>>2]=l;if((i|0)==0?(o=c[j>>2]|0,(o|0)!=0):0)if((c[(c[o>>2]|0)+84>>2]|0)==0?(c[o+92>>2]|0)==0:0)n=53;else d=-2147483648;else n=53;c[g>>2]=d;f=l+644|0;g=c[f>>2]|0;e=a+29576|0;d=c[e>>2]|0;if(g){d=d|2;c[e>>2]=d}a=d>>>1&1|g;c[f>>2]=a;if(!a){if((c[b+60>>2]&8|0)==0?(c[b+64>>2]&4194304|0)==0:0){c[h>>2]=0;break}a=(c[l>>2]|0)+296|0;c[a>>2]=c[a>>2]|1}}while(0);if((n|0)==61){c[p>>2]=f?149785:260868;We(b,48,149789,p)}Ec=q;return}function rl(b){b=b|0;var d=0,e=0;b=ah(b,2,12)|0;if(!b)b=0;else{b=b+4|0;d=c[b>>2]|0;e=d+12|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));b=c[b>>2]|0}return b|0}function sl(a,b){a=a|0;b=+b;var d=0,e=0.0;b=b*-3.141592653589793/180.0;e=+x(+b);b=+y(+b);d=a+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;d=~~(e*65536.0);c[a>>2]=d;c[a+4>>2]=~~(b*-65536.0);c[a+12>>2]=~~(b*65536.0);c[a+16>>2]=d;c[a+32>>2]=1073741824;return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;c[e>>2]=1-(((b|0)!=0&1)<<1);c[e+4>>2]=1-(((d|0)!=0&1)<<1);c[e+8>>2]=1;a:do if(d|b|0){b=0;while(1){if((b|0)==9)break a;d=a+(b<<2)|0;c[d>>2]=H(c[d>>2]|0,c[e+(((b|0)%3|0)<<2)>>2]|0)|0;b=b+1|0}}while(0);Ec=f;return}function ul(a){a=a|0;var b=0;if((c[a+696>>2]&1|0)!=0?(c[(c[(c[a+28>>2]|0)+20>>2]|0)+300>>2]|0)!=1:0)if(!(c[(c[a+12>>2]|0)+68>>2]|0))if((c[a+700>>2]|0)==0?(c[a+400>>2]|0)!=10:0)a=0;else b=6;else a=0;else b=6;if((b|0)==6)a=1;return a|0}function vl(a){a=a|0;var b=0;b=0;while(1){if((b|0)>=36){b=-1094995529;break}if(!(c[(c[a+696+(b*656|0)>>2]|0)+248>>2]|0))break;b=b+1|0}return b|0}function wl(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=Ec;Ec=Ec+32|0;g=k+16|0;e=k;d=c[b>>2]|0;if(c[d>>2]|0){c[e>>2]=149900;c[e+4>>2]=137858;c[e+8>>2]=192;We(0,0,164054,e);Za()}i=b+4|0;c[i>>2]=d;e=a+4|0;d=rm(c[e>>2]|0,i,(c[b+640>>2]|0)!=0&1)|0;a:do if((d|0)>=0){e=c[(c[e>>2]|0)+592>>2]|0;if(e|0){f=b+56|0;if(c[f>>2]|0){c[g>>2]=149917;c[g+4>>2]=137858;c[g+8>>2]=202;We(0,0,164054,g);Za()}e=c[e+40>>2]|0;if(e|0){e=wg(e)|0;c[b+52>>2]=e;if(!e){d=-12;break}c[f>>2]=c[e+4>>2]}}f=a+29924|0;e=c[f>>2]|0;if(!e){d=sm(a)|0;if((d|0)<0){j=18;break}e=c[f>>2]|0}f=b+20|0;c[f>>2]=lg(e)|0;e=lg(c[a+29928>>2]|0)|0;c[b+44>>2]=e;f=c[f>>2]|0;if((e|0)==0|(f|0)==0)j=18;else{g=c[a+27016>>2]<<1;c[b+48>>2]=(c[e+4>>2]|0)+(g<<2)+4;c[b+24>>2]=(c[f+4>>2]|0)+g+1;f=a+29932|0;g=a+29936|0;e=0;while(1){if((e|0)>=2){d=0;break a}i=b+28+(e<<2)|0;c[i>>2]=lg(c[f>>2]|0)|0;h=lg(c[g>>2]|0)|0;c[b+60+(e<<2)>>2]=h;i=c[i>>2]|0;if((h|0)==0|(i|0)==0){j=18;break a}c[b+36+(e<<2)>>2]=(c[i+4>>2]|0)+16;c[b+68+(e<<2)>>2]=c[h+4>>2];e=e+1|0}}}else j=18;while(0);if((j|0)==18){Xf(a,b);d=(d|0)<0?d:-12}Ec=k;return d|0}function xl(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Ec;Ec=Ec+16|0;f=t;g=qg(c[a+80>>2]|0)|0;if(0==0?(c[g+8>>2]&16|0)==0:0){c[f>>2]=149877;c[f+4>>2]=131456;c[f+8>>2]=410;We(0,0,164054,f);Za()}o=g+4|0;p=a+68|0;q=g+5|0;r=a+72|0;s=g+6|0;m=g+32|0;l=0;while(1){if((l|0)>=(d[o>>0]|0|0))break;f=c[p>>2]|0;if((l+-1|0)>>>0<2){n=0-(0-(c[r>>2]|0)>>(d[s>>0]|0))|0;f=0-(0-f>>(d[q>>0]|0))|0}else n=c[r>>2]|0;j=a+32+(l<<2)|0;k=e+(l<<2)|0;g=0;i=c[a+(l<<2)>>2]|0;while(1){if((g|0)>=(n|0))break;a:do if((c[m>>2]|0)>8){h=0;while(1){if((h|0)>=(f|0))break a;b[i+(h<<1)>>1]=c[k>>2];h=h+1|0}}else yW(i|0,c[k>>2]&255|0,f|0)|0;while(0);g=g+1|0;i=i+(c[j>>2]|0)|0}l=l+1|0}Ec=t;return}function yl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(c[b+572>>2]|0){d=a+544|0;if(!(c[d>>2]|0)){zl(a+4|0,b);c[d>>2]=1}yW(c[a+580>>2]|0,127,H(c[a+560>>2]|0,c[a+564>>2]|0)|0)|0;c[a+572>>2]=(c[a+552>>2]|0)*3;c[a+576>>2]=0}return}function zl(a,b){a=a|0;b=b|0;c[a>>2]=19;c[a+484>>2]=2;c[a+488>>2]=3;c[a+492>>2]=4;c[a+496>>2]=5;c[a+500>>2]=6;c[a+504>>2]=7;c[a+508>>2]=8;c[a+512>>2]=9;c[a+52>>2]=10;c[a+56>>2]=11;c[a+68>>2]=12;c[a+72>>2]=13;c[a+76>>2]=14;c[a+80>>2]=15;c[a+292>>2]=16;c[a+296>>2]=17;c[a+316>>2]=18;c[a+320>>2]=19;c[a+4>>2]=2;c[a+8>>2]=6;c[a+28>>2]=20;c[a+32>>2]=21;c[a+36>>2]=22;c[a+100>>2]=23;c[a+104>>2]=24;c[a+148>>2]=25;c[a+152>>2]=26;c[a+124>>2]=27;c[a+128>>2]=28;c[a+172>>2]=29;c[a+176>>2]=30;c[a+188>>2]=31;c[a+192>>2]=32;c[a+196>>2]=33;c[a+200>>2]=34;c[a+212>>2]=35;c[a+216>>2]=36;c[a+220>>2]=37;c[a+224>>2]=38;c[a+516>>2]=39;c[a+520>>2]=40;return}function Al(a){a=a|0;var c=0,d=0,e=0,f=0;c=0;d=0;while(1){if((c|0)==64)break;f=b[a+(c<<1)>>1]|0;e=f<<16>>16;c=c+1|0;d=(f<<16>>16>-1?e:0-e|0)+d|0}return d|0}function Bl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;w=(d[b>>0]|0)-(d[a>>0]|0)|0;v=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;u=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;t=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;s=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;r=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;q=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;p=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;o=(d[b+8>>0]|0)-(d[a+8>>0]|0)|0;n=(d[b+9>>0]|0)-(d[a+9>>0]|0)|0;m=(d[b+10>>0]|0)-(d[a+10>>0]|0)|0;l=(d[b+11>>0]|0)-(d[a+11>>0]|0)|0;k=(d[b+12>>0]|0)-(d[a+12>>0]|0)|0;j=(d[b+13>>0]|0)-(d[a+13>>0]|0)|0;i=(d[b+14>>0]|0)-(d[a+14>>0]|0)|0;c=(d[b+15>>0]|0)-(d[a+15>>0]|0)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Cl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;v=d[a+1>>0]|0;w=(d[b>>0]|0)-(((d[a>>0]|0)+1+v|0)>>>1)|0;u=d[a+2>>0]|0;v=(d[b+1>>0]|0)-((v+1+u|0)>>>1)|0;t=d[a+3>>0]|0;u=(d[b+2>>0]|0)-((u+1+t|0)>>>1)|0;s=d[a+4>>0]|0;t=(d[b+3>>0]|0)-((t+1+s|0)>>>1)|0;r=d[a+5>>0]|0;s=(d[b+4>>0]|0)-((s+1+r|0)>>>1)|0;q=d[a+6>>0]|0;r=(d[b+5>>0]|0)-((r+1+q|0)>>>1)|0;p=d[a+7>>0]|0;q=(d[b+6>>0]|0)-((q+1+p|0)>>>1)|0;o=d[a+8>>0]|0;p=(d[b+7>>0]|0)-((p+1+o|0)>>>1)|0;n=d[a+9>>0]|0;o=(d[b+8>>0]|0)-((o+1+n|0)>>>1)|0;m=d[a+10>>0]|0;n=(d[b+9>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+11>>0]|0;m=(d[b+10>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+12>>0]|0;l=(d[b+11>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+13>>0]|0;k=(d[b+12>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+14>>0]|0;j=(d[b+13>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+15>>0]|0;i=(d[b+14>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+15>>0]|0)-((c+1+(d[a+16>>0]|0)|0)>>>1)|0;g=g+1|0;h=((w|0)>-1?w:0-w|0)+h+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Dl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;x=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;w=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;v=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;u=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;t=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;s=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;r=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;q=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;p=(d[b+8>>0]|0)-(((d[a+8>>0]|0)+1+(d[c+8>>0]|0)|0)>>>1)|0;o=(d[b+9>>0]|0)-(((d[a+9>>0]|0)+1+(d[c+9>>0]|0)|0)>>>1)|0;n=(d[b+10>>0]|0)-(((d[a+10>>0]|0)+1+(d[c+10>>0]|0)|0)>>>1)|0;m=(d[b+11>>0]|0)-(((d[a+11>>0]|0)+1+(d[c+11>>0]|0)|0)>>>1)|0;l=(d[b+12>>0]|0)-(((d[a+12>>0]|0)+1+(d[c+12>>0]|0)|0)>>>1)|0;k=(d[b+13>>0]|0)-(((d[a+13>>0]|0)+1+(d[c+13>>0]|0)|0)>>>1)|0;j=(d[b+14>>0]|0)-(((d[a+14>>0]|0)+1+(d[c+14>>0]|0)|0)>>>1)|0;i=(d[b+15>>0]|0)-(((d[a+15>>0]|0)+1+(d[c+15>>0]|0)|0)>>>1)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function El(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;y=d[a+1>>0]|0;w=d[c+1>>0]|0;x=(d[b>>0]|0)-(((d[a>>0]|0)+2+y+(d[c>>0]|0)+w|0)>>>2)|0;z=d[a+2>>0]|0;v=d[c+2>>0]|0;w=(d[b+1>>0]|0)-((y+2+w+z+v|0)>>>2)|0;y=d[a+3>>0]|0;u=d[c+3>>0]|0;v=(d[b+2>>0]|0)-((z+2+v+y+u|0)>>>2)|0;z=d[a+4>>0]|0;t=d[c+4>>0]|0;u=(d[b+3>>0]|0)-((y+2+u+z+t|0)>>>2)|0;y=d[a+5>>0]|0;s=d[c+5>>0]|0;t=(d[b+4>>0]|0)-((z+2+t+y+s|0)>>>2)|0;z=d[a+6>>0]|0;r=d[c+6>>0]|0;s=(d[b+5>>0]|0)-((y+2+s+z+r|0)>>>2)|0;y=d[a+7>>0]|0;q=d[c+7>>0]|0;r=(d[b+6>>0]|0)-((z+2+r+y+q|0)>>>2)|0;z=d[a+8>>0]|0;p=d[c+8>>0]|0;q=(d[b+7>>0]|0)-((y+2+q+z+p|0)>>>2)|0;y=d[a+9>>0]|0;o=d[c+9>>0]|0;p=(d[b+8>>0]|0)-((z+2+p+y+o|0)>>>2)|0;z=d[a+10>>0]|0;n=d[c+10>>0]|0;o=(d[b+9>>0]|0)-((y+2+o+z+n|0)>>>2)|0;y=d[a+11>>0]|0;m=d[c+11>>0]|0;n=(d[b+10>>0]|0)-((z+2+n+y+m|0)>>>2)|0;z=d[a+12>>0]|0;l=d[c+12>>0]|0;m=(d[b+11>>0]|0)-((y+2+m+z+l|0)>>>2)|0;y=d[a+13>>0]|0;k=d[c+13>>0]|0;l=(d[b+12>>0]|0)-((z+2+l+y+k|0)>>>2)|0;z=d[a+14>>0]|0;j=d[c+14>>0]|0;k=(d[b+13>>0]|0)-((y+2+k+z+j|0)>>>2)|0;y=d[a+15>>0]|0;i=d[c+15>>0]|0;j=(d[b+14>>0]|0)-((z+2+j+y+i|0)>>>2)|0;i=(d[b+15>>0]|0)-((y+2+i+(d[a+16>>0]|0)+(d[c+16>>0]|0)|0)>>>2)|0;g=g+1|0;h=((x|0)>-1?x:0-x|0)+h+((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Fl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;o=(d[b>>0]|0)-(d[a>>0]|0)|0;n=(d[b+1>>0]|0)-(d[a+1>>0]|0)|0;m=(d[b+2>>0]|0)-(d[a+2>>0]|0)|0;l=(d[b+3>>0]|0)-(d[a+3>>0]|0)|0;k=(d[b+4>>0]|0)-(d[a+4>>0]|0)|0;j=(d[b+5>>0]|0)-(d[a+5>>0]|0)|0;i=(d[b+6>>0]|0)-(d[a+6>>0]|0)|0;c=(d[b+7>>0]|0)-(d[a+7>>0]|0)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Gl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;h=0;a=c;while(1){if((g|0)>=(f|0))break;n=d[a+1>>0]|0;o=(d[b>>0]|0)-(((d[a>>0]|0)+1+n|0)>>>1)|0;m=d[a+2>>0]|0;n=(d[b+1>>0]|0)-((n+1+m|0)>>>1)|0;l=d[a+3>>0]|0;m=(d[b+2>>0]|0)-((m+1+l|0)>>>1)|0;k=d[a+4>>0]|0;l=(d[b+3>>0]|0)-((l+1+k|0)>>>1)|0;j=d[a+5>>0]|0;k=(d[b+4>>0]|0)-((k+1+j|0)>>>1)|0;i=d[a+6>>0]|0;j=(d[b+5>>0]|0)-((j+1+i|0)>>>1)|0;c=d[a+7>>0]|0;i=(d[b+6>>0]|0)-((i+1+c|0)>>>1)|0;c=(d[b+7>>0]|0)-((c+1+(d[a+8>>0]|0)|0)>>>1)|0;g=g+1|0;h=((o|0)>-1?o:0-o|0)+h+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((c|0)>-1?c:0-c|0)|0;b=b+e|0;a=a+e|0}return h|0}function Hl(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;p=(d[b>>0]|0)-(((d[a>>0]|0)+1+(d[c>>0]|0)|0)>>>1)|0;o=(d[b+1>>0]|0)-(((d[a+1>>0]|0)+1+(d[c+1>>0]|0)|0)>>>1)|0;n=(d[b+2>>0]|0)-(((d[a+2>>0]|0)+1+(d[c+2>>0]|0)|0)>>>1)|0;m=(d[b+3>>0]|0)-(((d[a+3>>0]|0)+1+(d[c+3>>0]|0)|0)>>>1)|0;l=(d[b+4>>0]|0)-(((d[a+4>>0]|0)+1+(d[c+4>>0]|0)|0)>>>1)|0;k=(d[b+5>>0]|0)-(((d[a+5>>0]|0)+1+(d[c+5>>0]|0)|0)>>>1)|0;j=(d[b+6>>0]|0)-(((d[a+6>>0]|0)+1+(d[c+6>>0]|0)|0)>>>1)|0;i=(d[b+7>>0]|0)-(((d[a+7>>0]|0)+1+(d[c+7>>0]|0)|0)>>>1)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Il(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=0;h=0;a=c;while(1){c=a+e|0;if((g|0)>=(f|0))break;q=d[a+1>>0]|0;o=d[c+1>>0]|0;p=(d[b>>0]|0)-(((d[a>>0]|0)+2+q+(d[c>>0]|0)+o|0)>>>2)|0;r=d[a+2>>0]|0;n=d[c+2>>0]|0;o=(d[b+1>>0]|0)-((q+2+o+r+n|0)>>>2)|0;q=d[a+3>>0]|0;m=d[c+3>>0]|0;n=(d[b+2>>0]|0)-((r+2+n+q+m|0)>>>2)|0;r=d[a+4>>0]|0;l=d[c+4>>0]|0;m=(d[b+3>>0]|0)-((q+2+m+r+l|0)>>>2)|0;q=d[a+5>>0]|0;k=d[c+5>>0]|0;l=(d[b+4>>0]|0)-((r+2+l+q+k|0)>>>2)|0;r=d[a+6>>0]|0;j=d[c+6>>0]|0;k=(d[b+5>>0]|0)-((q+2+k+r+j|0)>>>2)|0;q=d[a+7>>0]|0;i=d[c+7>>0]|0;j=(d[b+6>>0]|0)-((r+2+j+q+i|0)>>>2)|0;i=(d[b+7>>0]|0)-((q+2+i+(d[a+8>>0]|0)+(d[c+8>>0]|0)|0)>>>2)|0;g=g+1|0;h=((p|0)>-1?p:0-p|0)+h+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)+((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)|0;b=b+e|0;a=c}return h|0}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Kl(a,b,c,d,8)|0;f=(Kl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Kl(a,g,b,d,8)|0)+f|0;f=f+(Kl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Kl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=Ec;Ec=Ec+256|0;h=i;a=0;while(1){if((a|0)==8){a=0;g=0;break}j=H(a,f)|0;p=j+1|0;r=d[e+p>>0]|0;p=d[b+p>>0]|0;k=(d[e+j>>0]|0)-(d[b+j>>0]|0)|0;o=k+r-p|0;g=a<<3;p=k-r+p|0;r=j+2|0;k=j+3|0;q=d[e+k>>0]|0;k=d[b+k>>0]|0;r=(d[e+r>>0]|0)-(d[b+r>>0]|0)|0;m=r+q-k|0;k=r-q+k|0;q=j+4|0;r=j+5|0;s=d[e+r>>0]|0;r=d[b+r>>0]|0;q=(d[e+q>>0]|0)-(d[b+q>>0]|0)|0;n=q+s-r|0;r=q-s+r|0;s=j+6|0;j=j+7|0;q=d[e+j>>0]|0;j=d[b+j>>0]|0;s=(d[e+s>>0]|0)-(d[b+s>>0]|0)|0;l=s+q-j|0;j=s-q+j|0;q=m+o|0;m=o-m|0;o=k+p|0;k=p-k|0;p=l+n|0;l=n-l|0;n=j+r|0;j=r-j|0;c[h+(g<<2)>>2]=p+q;c[h+((g|4)<<2)>>2]=q-p;c[h+((g|1)<<2)>>2]=n+o;c[h+((g|5)<<2)>>2]=o-n;c[h+((g|2)<<2)>>2]=l+m;c[h+((g|6)<<2)>>2]=m-l;c[h+((g|3)<<2)>>2]=j+k;c[h+((g|7)<<2)>>2]=k-j;a=a+1|0}while(1){if((g|0)==8)break;w=h+(g<<2)|0;q=c[w>>2]|0;u=h+(g+8<<2)|0;t=c[u>>2]|0;v=t+q|0;t=q-t|0;q=h+(g+16<<2)|0;b=c[q>>2]|0;l=h+(g+24<<2)|0;k=c[l>>2]|0;s=k+b|0;k=b-k|0;b=h+(g+32<<2)|0;n=c[b>>2]|0;f=h+(g+40<<2)|0;j=c[f>>2]|0;e=j+n|0;j=n-j|0;n=h+(g+48<<2)|0;o=c[n>>2]|0;m=h+(g+56<<2)|0;r=c[m>>2]|0;p=r+o|0;r=o-r|0;o=s+v|0;c[w>>2]=o;s=v-s|0;c[q>>2]=s;q=k+t|0;c[u>>2]=q;k=t-k|0;c[l>>2]=k;l=p+e|0;c[b>>2]=l;p=e-p|0;c[n>>2]=p;n=r+j|0;c[f>>2]=n;r=j-r|0;c[m>>2]=r;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=p+s|0;p=s-p|0;s=k+r|0;r=k-r|0;a=((l|0)>-1?l:0-l|0)+a+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)+((r|0)>-1?r:0-r|0)+((s|0)>-1?s:0-s|0)|0;g=g+1|0}Ec=i;return a|0}function Ll(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ml(a,b,c,d,8)|0;f=(Ml(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ml(a,g,b,d,8)|0)+f|0;f=f+(Ml(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ml(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=Ec;Ec=Ec+256|0;g=h;a=0;while(1){if((a|0)==8){a=0;e=0;break}i=H(a,f)|0;p=d[b+i>>0]|0;o=d[b+(i+1)>>0]|0;n=o+p|0;e=a<<3;o=p-o|0;p=d[b+(i+2)>>0]|0;j=d[b+(i+3)>>0]|0;l=j+p|0;j=p-j|0;p=d[b+(i+4)>>0]|0;q=d[b+(i+5)>>0]|0;m=q+p|0;q=p-q|0;p=d[b+(i+6)>>0]|0;i=d[b+(i+7)>>0]|0;k=i+p|0;i=p-i|0;p=l+n|0;l=n-l|0;n=j+o|0;j=o-j|0;o=k+m|0;k=m-k|0;m=i+q|0;i=q-i|0;c[g+(e<<2)>>2]=o+p;c[g+((e|4)<<2)>>2]=p-o;c[g+((e|1)<<2)>>2]=m+n;c[g+((e|5)<<2)>>2]=n-m;c[g+((e|2)<<2)>>2]=k+l;c[g+((e|6)<<2)>>2]=l-k;c[g+((e|3)<<2)>>2]=i+j;c[g+((e|7)<<2)>>2]=j-i;a=a+1|0}while(1){if((e|0)==8)break;w=g+(e<<2)|0;o=c[w>>2]|0;u=g+(e+8<<2)|0;t=c[u>>2]|0;v=t+o|0;t=o-t|0;o=g+(e+16<<2)|0;s=c[o>>2]|0;j=g+(e+24<<2)|0;i=c[j>>2]|0;q=i+s|0;i=s-i|0;s=g+(e+32<<2)|0;l=c[s>>2]|0;b=g+(e+40<<2)|0;f=c[b>>2]|0;r=f+l|0;f=l-f|0;l=g+(e+48<<2)|0;m=c[l>>2]|0;k=g+(e+56<<2)|0;p=c[k>>2]|0;n=p+m|0;p=m-p|0;m=q+v|0;c[w>>2]=m;q=v-q|0;c[o>>2]=q;o=i+t|0;c[u>>2]=o;i=t-i|0;c[j>>2]=i;j=n+r|0;c[s>>2]=j;n=r-n|0;c[l>>2]=n;l=p+f|0;c[b>>2]=l;p=f-p|0;c[k>>2]=p;k=j+m|0;j=m-j|0;m=l+o|0;l=o-l|0;o=n+q|0;n=q-n|0;q=i+p|0;p=i-p|0;a=((j|0)>-1?j:0-j|0)+a+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((o|0)>-1?o:0-o|0)+((p|0)>-1?p:0-p|0)+((q|0)>-1?q:0-q|0)|0;e=e+1|0}w=(c[g+128>>2]|0)+(c[g>>2]|0)|0;Ec=h;return a-((w|0)>-1?w:0-w|0)|0}function Nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ol(a,b,c,d,8)|0;f=(Ol(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ol(a,g,b,d,8)|0)+f|0;f=f+(Ol(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ol(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=Ec;Ec=Ec+128|0;f=g;Vc[c[a+2964>>2]&255](f,b,d,e);Sc[c[a+2032>>2]&63](f);f=Kc[c[a+2372>>2]&31](f)|0;Ec=g;return f|0}function Pl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ql(a,b,c,d,8)|0;f=(Ql(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Ql(a,g,b,d,8)|0)+f|0;f=f+(Ql(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Ql(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=Ec;Ec=Ec+128|0;h=i;Vc[c[a+2964>>2]&255](h,d,e,f);Sc[c[a+2032>>2]&63](h);g=0;a=0;while(1){if((g|0)==64)break;e=b[h+(g<<1)>>1]|0;f=e<<16>>16;f=e<<16>>16>-1?f:0-f|0;g=g+1|0;a=(a|0)>(f|0)?a:f}Ec=i;return a|0}function Rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Sl(a,b,c,d,8)|0;f=(Sl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Sl(a,g,b,d,8)|0)+f|0;f=f+(Sl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Sl(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ec;Ec=Ec+128|0;h=i;Vc[c[a+2964>>2]&255](h,d,e,f);g=0;while(1){if((g|0)==8){g=0;a=0;break}u=h+(g<<4)|0;y=b[u>>1]|0;f=h+(g<<4)+14|0;n=b[f>>1]|0;A=n+y|0;t=h+(g<<4)+2|0;x=b[t>>1]|0;a=h+(g<<4)+12|0;w=b[a>>1]|0;z=w+x|0;s=h+(g<<4)+4|0;m=b[s>>1]|0;l=h+(g<<4)+10|0;v=b[l>>1]|0;j=v+m|0;r=h+(g<<4)+6|0;d=b[r>>1]|0;o=h+(g<<4)+8|0;e=b[o>>1]|0;k=e+d|0;q=k+A|0;p=j+z|0;k=A-k|0;j=z-j|0;n=y-n|0;w=x-w|0;v=m-v|0;e=d-e|0;d=(n>>1)+n+w+v|0;m=n-e-((v>>1)+v)|0;n=n-w-(w>>1)+e|0;e=e+(w-v)+(e>>1)|0;b[u>>1]=q+p;b[t>>1]=(e>>>2)+d;b[s>>1]=k+(j>>>1);b[r>>1]=m+(n>>>2);b[o>>1]=q-p;b[l>>1]=n-(m>>>2);b[a>>1]=(k>>>1)-j;b[f>>1]=(d>>>2)-e;g=g+1|0}while(1){if((a|0)==8)break;w=b[h+(a<<1)>>1]|0;q=b[h+112+(a<<1)>>1]|0;n=q+w|0;u=b[h+16+(a<<1)>>1]|0;A=b[h+96+(a<<1)>>1]|0;o=A+u|0;y=b[h+32+(a<<1)>>1]|0;t=b[h+80+(a<<1)>>1]|0;x=t+y|0;s=b[h+48+(a<<1)>>1]|0;z=b[h+64+(a<<1)>>1]|0;r=z+s|0;p=r+n|0;v=x+o|0;r=n-r|0;x=o-x|0;q=w-q|0;A=u-A|0;t=y-t|0;z=s-z|0;s=(q>>1)+q+A+t|0;y=q-z-((t>>1)+t)|0;q=q-A-(A>>1)+z|0;z=z+(A-t)+(z>>1)|0;t=p+v|0;A=(z>>2)+s|0;u=r+(x>>1)|0;w=y+(q>>2)|0;v=p-v|0;y=q-(y>>2)|0;x=(r>>1)-x|0;z=(s>>2)-z|0;g=((t|0)>-1?t:0-t|0)+g+((u|0)>-1?u:0-u|0)+((v|0)>-1?v:0-v|0)+((w|0)>-1?w:0-w|0)+((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)+((z|0)>-1?z:0-z|0)+((A|0)>-1?A:0-A|0)|0;a=a+1|0}Ec=i;return g|0}function Tl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73900+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73900+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+8>>0]|0)-(d[a+8>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+9>>0]|0)-(d[a+9>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+10>>0]|0)-(d[a+10>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+11>>0]|0)-(d[a+11>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+12>>0]|0)-(d[a+12>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+13>>0]|0)-(d[a+13>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+14>>0]|0)-(d[a+14>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+15>>0]|0)-(d[a+15>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Ul(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73900+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73900+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+4>>0]|0)-(d[a+4>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+5>>0]|0)-(d[a+5>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+6>>0]|0)-(d[a+6>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+7>>0]|0)-(d[a+7>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Vl(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=0;i=0;a=e;while(1){if((h|0)>=(g|0))break;e=(c[73900+((d[b>>0]|0)-(d[a>>0]|0)<<2)>>2]|0)+i+(c[73900+((d[b+1>>0]|0)-(d[a+1>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+2>>0]|0)-(d[a+2>>0]|0)<<2)>>2]|0)+(c[73900+((d[b+3>>0]|0)-(d[a+3>>0]|0)<<2)>>2]|0)|0;b=b+f|0;h=h+1|0;i=e;a=a+f|0}return i|0}function Wl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Xl(a,b,c,d,8)|0;f=(Xl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Xl(a,g,b,d,8)|0)+f|0;f=f+(Xl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Xl(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+272|0;i=k;h=k+256|0;j=i+128|0;c[a+4304>>2]=0;Vc[c[a+2964>>2]&255](i,d,e,f);g=j;d=i;e=g+128|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0));g=a+1920|0;c[a+16>>2]=Pc[c[a+6244>>2]&63](a,i,0,c[g>>2]|0,h)|0;Vc[c[a+6236>>2]&255](a,i,0,c[g>>2]|0);om(i);g=0;d=0;while(1){if((d|0)==64)break;a=(b[i+(d<<1)>>1]|0)-(b[j+(d<<1)>>1]|0)|0;g=(H(a,a)|0)+g|0;d=d+1|0}Ec=k;return g|0}function Yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Zl(a,b,c,d,8)|0;f=(Zl(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=(Zl(a,g,b,d,8)|0)+f|0;f=f+(Zl(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function Zl(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ec;Ec=Ec+272|0;p=s+128|0;q=s+64|0;r=s;n=s+256|0;o=c[a+4908>>2]|0;nm(q,e,g);nm(r,f,g);Vc[c[a+2960>>2]&255](p,q,r,8);k=a+1920|0;l=Pc[c[a+6244>>2]&63](a,p,0,c[k>>2]|0,n)|0;c[a+16>>2]=l;m=(c[a+4304>>2]|0)==0;if(m){g=0;e=a+4932|0;f=a+4928|0;h=0}else{g=1;e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[p>>1]|0)+256)>>0]|0}j=c[e>>2]|0;i=c[f>>2]|0;do if((l|0)>=(g|0)){f=0;while(1){c[n>>2]=g;if((g|0)>=(l|0))break;e=b[p+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=o;f=0;h=e+h|0}g=g+1|0}e=d[a+204+l>>0]|0;c[n>>2]=e;e=(b[p+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+o|0;break}}while(0);do if((l|0)>-1)if(m){Vc[c[a+6236>>2]&255](a,p,0,c[k>>2]|0);break}else{Vc[c[a+6232>>2]&255](a,p,0,c[k>>2]|0);break}while(0);Uc[c[a+2300>>2]&1023](r,8,p);a=Pc[c[a+2404>>2]&63](0,r,q,8,8)|0;r=c[k>>2]|0;a=((H(H(h*109|0,r)|0,r)|0)+64>>7)+a|0;Ec=s;return a|0}function _l(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=$l(a,b,c,d,8)|0;f=($l(a,b+8|0,c+8|0,d,8)|0)+f|0;h=d<<3;g=b+h|0;b=c+h|0;if((e|0)==16){f=($l(a,g,b,d,8)|0)+f|0;f=f+($l(a,g+8|0,b+8|0,d,8)|0)|0}return f|0}function $l(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ec;Ec=Ec+144|0;l=o;m=o+128|0;n=c[a+4908>>2]|0;Vc[c[a+2964>>2]&255](l,e,f,g);k=Pc[c[a+6244>>2]&63](a,l,0,c[a+1920>>2]|0,m)|0;c[a+16>>2]=k;if(!(c[a+4304>>2]|0)){e=a+4932|0;f=a+4928|0;h=0;g=0}else{e=a+4916|0;f=a+4912|0;h=d[(c[a+4936>>2]|0)+((b[l>>1]|0)+256)>>0]|0;g=1}j=c[e>>2]|0;i=c[f>>2]|0;do if((k|0)>=(g|0)){f=0;while(1){c[m>>2]=g;if((g|0)>=(k|0))break;e=b[l+(d[a+204+g>>0]<<1)>>1]|0;if(!(e<<16>>16))f=f+1|0;else{e=(e<<16>>16)+64|0;if(e>>>0<128)e=d[i+(e+(f<<7))>>0]|0;else e=n;f=0;h=e+h|0}g=g+1|0}e=d[a+204+k>>0]|0;c[m>>2]=e;e=(b[l+(e<<1)>>1]|0)+64|0;if(e>>>0<128){h=h+(d[j+(e+(f<<7))>>0]|0)|0;break}else{h=h+n|0;break}}while(0);Ec=o;return h|0}function am(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function bm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=((i|0)>-1?i:0-i|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function cm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function dm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;j=c+e|0;k=(d[b+c>>0]|0)-(d[b+j>>0]|0)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(j+1)>>0]|0)|0;i=c|2;i=(d[b+i>>0]|0)-(d[b+(i+e)>>0]|0)|0;h=c|3;h=(d[b+h>>0]|0)-(d[b+(h+e)>>0]|0)|0;c=c+4|0;a=((k|0)>-1?k:0-k|0)+a+((j|0)>-1?j:0-j|0)+((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0}g=g+1|0;b=b+e|0}return a|0}function em(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==16)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function fm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=1;a=0;while(1){if((h|0)<(f|0))g=0;else break;while(1){if((g|0)==8)break;i=g+e|0;i=(d[b+g>>0]|0)-(d[c+g>>0]|0)-(d[b+i>>0]|0)+(d[c+i>>0]|0)|0;g=g+1|0;a=(H(i,i)|0)+a|0}h=h+1|0;b=b+e|0;c=c+e|0}return a|0}function gm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=16)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function hm(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=1;a=0;while(1){if((g|0)<(f|0))c=0;else break;while(1){if((c|0)>=8)break;h=c+e|0;k=(d[b+c>>0]|0)-(d[b+h>>0]|0)|0;k=H(k,k)|0;j=(d[b+(c|1)>>0]|0)-(d[b+(h+1)>>0]|0)|0;j=H(j,j)|0;i=(d[b+(c|2)>>0]|0)-(d[b+(h+2)>>0]|0)|0;i=H(i,i)|0;h=(d[b+(c|3)>>0]|0)-(d[b+(h+3)>>0]|0)|0;c=c+4|0;a=k+a+j+i+(H(h,h)|0)|0}g=g+1|0;b=b+e|0}return a|0}function im(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==16)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==15)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function jm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=0;h=0;k=0;while(1){if((j|0)<(g|0))i=0;else break;while(1){if((i|0)==8)break;l=(d[b+i>>0]|0)-(d[e+i>>0]|0)|0;i=i+1|0;k=(H(l,l)|0)+k|0}j=j+1|0;a:do if((j|0)<(g|0)){i=0;while(1){if((i|0)==7)break a;o=i+f|0;n=i+1|0;l=o+1|0;m=(d[b+i>>0]|0)-(d[b+o>>0]|0)-(d[b+n>>0]|0)+(d[b+l>>0]|0)|0;l=(d[e+i>>0]|0)-(d[e+o>>0]|0)-(d[e+n>>0]|0)+(d[e+l>>0]|0)|0;i=n;h=((m|0)>-1?m:0-m|0)+h-((l|0)>-1?l:0-l|0)|0}}while(0);b=b+f|0;e=e+f|0}b=(h|0)>-1?h:0-h|0;if(!a)b=b<<3;else b=H(c[(c[a+596>>2]|0)+712>>2]|0,b)|0;return b+k|0}function km(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=(d[c>>0]|0)-(d[e>>0]|0)|0;u=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;w=u-v|0;t=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;u=t-u|0;s=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;t=s-t|0;r=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;s=r-s|0;q=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;r=q-r|0;p=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;q=p-q|0;o=(d[c+7>>0]|0)-(d[e+7>>0]|0)|0;p=o-p|0;n=(d[c+8>>0]|0)-(d[e+8>>0]|0)|0;o=n-o|0;h=(d[c+9>>0]|0)-(d[e+9>>0]|0)|0;n=h-n|0;i=(d[c+10>>0]|0)-(d[e+10>>0]|0)|0;h=i-h|0;j=(d[c+11>>0]|0)-(d[e+11>>0]|0)|0;i=j-i|0;k=(d[c+12>>0]|0)-(d[e+12>>0]|0)|0;j=k-j|0;l=(d[c+13>>0]|0)-(d[e+13>>0]|0)|0;k=l-k|0;b=(d[c+14>>0]|0)-(d[e+14>>0]|0)|0;l=b-l|0;b=(d[c+15>>0]|0)-(d[e+15>>0]|0)-b|0;m=1;b=((w|0)>-1?w:0-w|0)+((v|0)>-1?v:0-v|0)+((u|0)>-1?u:0-u|0)+((t|0)>-1?t:0-t|0)+((s|0)>-1?s:0-s|0)+((r|0)>-1?r:0-r|0)+((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)+((n|0)>-1?n:0-n|0)+((h|0)>-1?h:0-h|0)+((i|0)>-1?i:0-i|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((b|0)>-1?b:0-b|0)|0;while(1){k=c+f|0;l=e+f|0;if((m|0)>=(g|0))break;h=a[k>>0]|0;i=a[l>>0]|0;w=(d[e>>0]|0)-(d[c>>0]|0)+((h&255)-(i&255))|0;j=1;b=((w|0)>-1?w:0-w|0)+b|0;while(1){if((j|0)==16)break;v=a[k+j>>0]|0;w=a[l+j>>0]|0;t=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;s=(h&255)-(i&255)|0;u=j-f+-1|0;u=(v&255)-(w&255)-(mm(t,s,s+t-(d[k+u>>0]|0)+(d[l+u>>0]|0)|0)|0)|0;j=j+1|0;b=((u|0)>-1?u:0-u|0)+b|0;h=v;i=w}m=m+1|0;e=l;c=k}return b|0}function lm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=a[c>>0]|0;h=a[e>>0]|0;p=(b&255)-(h&255)|0;j=(d[c+1>>0]|0)-(d[e+1>>0]|0)|0;q=j-p|0;k=(d[c+2>>0]|0)-(d[e+2>>0]|0)|0;j=k-j|0;l=(d[c+3>>0]|0)-(d[e+3>>0]|0)|0;k=l-k|0;m=(d[c+4>>0]|0)-(d[e+4>>0]|0)|0;l=m-l|0;n=(d[c+5>>0]|0)-(d[e+5>>0]|0)|0;m=n-m|0;i=(d[c+6>>0]|0)-(d[e+6>>0]|0)|0;n=i-n|0;i=(d[c+7>>0]|0)-(d[e+7>>0]|0)-i|0;o=1;i=((q|0)>-1?q:0-q|0)+((p|0)>-1?p:0-p|0)+((j|0)>-1?j:0-j|0)+((k|0)>-1?k:0-k|0)+((l|0)>-1?l:0-l|0)+((m|0)>-1?m:0-m|0)+((n|0)>-1?n:0-n|0)+((i|0)>-1?i:0-i|0)|0;while(1){k=c+f|0;l=e+f|0;if((o|0)>=(g|0))break;m=a[k>>0]|0;n=a[l>>0]|0;b=(h&255)-(b&255)+((m&255)-(n&255))|0;j=1;b=((b|0)>-1?b:0-b|0)+i|0;h=m;i=n;while(1){if((j|0)==8)break;p=a[k+j>>0]|0;q=a[l+j>>0]|0;s=(d[c+j>>0]|0)-(d[e+j>>0]|0)|0;t=(h&255)-(i&255)|0;r=j-f+-1|0;r=(p&255)-(q&255)-(mm(s,t,t+s-(d[k+r>>0]|0)+(d[l+r>>0]|0)|0)|0)|0;j=j+1|0;b=((r|0)>-1?r:0-r|0)+b|0;h=p;i=q}o=o+1|0;i=b;e=l;c=k;b=m;h=n}return i|0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function nm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==8)break;h=c;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;c=c+e|0;b=b+8|0}return}function om(a){a=a|0;var b=0;b=0;while(1){if((b|0)==8){b=0;break}pm(a+(b<<3<<1)|0);b=b+1|0}while(1){if((b|0)==8)break;qm(a+(b<<1)|0);b=b+1|0}return}function pm(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;p=a+4|0;e=c[p>>2]|0;q=a+8|0;r=a+12|0;l=c[r>>2]|0;s=a+2|0;f=b[s>>1]|0;d=b[a>>1]|0;if(!(c[q>>2]|e|l|f)){s=d<<3&65528|d<<19;c[a>>2]=s;c[p>>2]=s;c[q>>2]=s;c[r>>2]=s}else{o=(d*16383|0)+1024|0;h=e<<16>>16;j=h*21407|0;d=j+o|0;h=h*8867|0;g=h+o|0;h=o-h|0;j=o-j|0;o=a+6|0;e=b[o>>1]|0;m=(e*19266|0)+(f*22725|0)|0;k=(H(e,-4520)|0)+(f*19266|0)|0;i=(H(e,-22725)|0)+(f*12873|0)|0;e=(H(e,-12873)|0)+(f*4520|0)|0;n=q;f=c[n>>2]|0;if((f|0)==0&(c[n+4>>2]|0)==0){n=e;l=m;e=a+10|0;f=a+14|0}else{x=f<<16>>16;v=x*16383|0;w=l<<16>>16;u=w*8867|0;x=H(x,-16383)|0;w=w*21407|0;t=a+10|0;y=b[t>>1]|0;f=a+14|0;l=b[f>>1]|0;n=(y*19266|0)+e+(H(l,-22725)|0)|0;i=(y*4520|0)+i+(l*19266|0)|0;k=(H(y,-22725)|0)+k+(H(l,-12873)|0)|0;l=(y*12873|0)+m+(l*4520|0)|0;j=v+j-u|0;h=x+h+w|0;g=x+g-w|0;d=v+d+u|0;e=t}b[a>>1]=(l+d|0)>>>11;b[f>>1]=(d-l|0)>>>11;b[s>>1]=(k+g|0)>>>11;b[r>>1]=(g-k|0)>>>11;b[p>>1]=(i+h|0)>>>11;b[e>>1]=(h-i|0)>>>11;b[o>>1]=(n+j|0)>>>11;b[q>>1]=(j-n|0)>>>11}return}function qm(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=((b[a>>1]|0)*16383|0)+524256|0;s=a+32|0;j=b[s>>1]|0;d=n+(H(j,-8867)|0)|0;r=n+(H(j,-21407)|0)|0;o=a+16|0;c=b[o>>1]|0;p=a+48|0;q=b[p>>1]|0;f=(q*19266|0)+(c*22725|0)|0;e=(H(q,-4520)|0)+(c*19266|0)|0;g=(H(q,-22725)|0)+(c*12873|0)|0;c=(H(q,-12873)|0)+(c*4520|0)|0;q=a+64|0;h=b[q>>1]|0;m=h<<16>>16==0;h=h<<16>>16;i=H(h,-16383)|0;h=m?0:h*16383|0;l=n+(j*21407|0)+h|0;i=m?0:i;j=n+(j*8867|0)+i|0;i=d+i|0;h=r+h|0;r=a+80|0;d=b[r>>1]|0;if(!(d<<16>>16)){m=f;d=g}else{d=d<<16>>16;c=(d*19266|0)+c|0;e=(H(d,-22725)|0)+e|0;m=(d*12873|0)+f|0;d=(d*4520|0)+g|0}n=a+96|0;f=b[n>>1]|0;if(!(f<<16>>16)){k=i;g=l}else{g=f<<16>>16;h=(H(g,-8867)|0)+h|0;k=(g*21407|0)+i|0;j=(H(g,-21407)|0)+j|0;g=(g*8867|0)+l|0}i=a+112|0;f=b[i>>1]|0;if(!(f<<16>>16))f=m;else{l=f<<16>>16;c=(H(l,-22725)|0)+c|0;e=(H(l,-12873)|0)+e|0;f=(l*4520|0)+m|0;d=(l*19266|0)+d|0}b[a>>1]=f+g>>20;b[o>>1]=e+j>>20;b[s>>1]=d+k>>20;b[p>>1]=c+h>>20;b[q>>1]=h-c>>20;b[r>>1]=k-d>>20;b[n>>1]=j-e>>20;b[i>>1]=g-f>>20;return}function rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ec;Ec=Ec+16|0;b=tm(a,b,c)|0;if((b|0)<0)We(a,16,149947,d);Ec=d;return b|0}function sm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+27016|0;g=c[i>>2]|0;f=c[a+27008>>2]|0;e=(H(f+1|0,g)|0)+1|0;h=H(f<<4,c[a+27012>>2]<<2|1)|0;b=a+29924|0;c[b>>2]=xg(e+g|0,17)|0;d=a+29928|0;c[d>>2]=xg((c[i>>2]|0)+e<<2,17)|0;e=a+29932|0;c[e>>2]=xg(h+16|0,17)|0;f=xg(H(g<<2,f)|0,17)|0;a=a+29936|0;c[a>>2]=f;if(((c[b>>2]|0)!=0?(c[d>>2]|0)!=0:0)?!((f|0)==0|(c[e>>2]|0)==0):0)a=0;else{Zf(b);Zf(d);Zf(e);Zf(a);a=-12}return a|0}function tm(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=Ec;Ec=Ec+16|0;f=j;e=a+28|0;i=c[(c[e>>2]|0)+20>>2]|0;c[b+8>>2]=a;c[b+4>>2]=a;a:do if(!(c[a+696>>2]&1))e=um(a,c[b>>2]|0,d)|0;else{h=i+300|0;do if((c[h>>2]|0)!=1){if(!(c[(c[a+12>>2]|0)+68>>2]|0)){if(c[a+700>>2]|0)break;if((c[a+400>>2]|0)==10)break}We(a,16,149975,f);e=-1;break a}while(0);if(c[(c[e>>2]|0)+4>>2]|0){e=Bg(8)|0;c[b+12>>2]=e;if(!e){e=-12;break}g=c[e+4>>2]|0;c[g>>2]=-1;c[g+4>>2]=-1}JU((c[i>>2]|0)+8|0)|0;g=a+700|0;if((c[g>>2]|0)==0?(c[a+400>>2]|0)!=10:0){f=i+184|0;JU(f)|0;c[i+316>>2]=c[b>>2];c[i+320>>2]=d;c[h>>2]=2;e=i+60|0;zW(e|0)|0;while(1){if((c[h>>2]|0)==1)break;yb(e|0,f|0)|0}e=c[i+296>>2]|0;KU(f)|0}else e=um(a,c[b>>2]|0,d)|0;if(((c[g>>2]|0)==0?(c[a+400>>2]|0)!=10:0)?(c[(c[a+12>>2]|0)+68>>2]|0)==0:0)Mh(a);if(e|0)Cf(b+12|0);KU((c[i>>2]|0)+8|0)|0}while(0);Ec=j;return e|0}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ec;Ec=Ec+16|0;d=vm(a,b,d)|0;if((d|0)<0){We(a,16,150037,e);c[b+72>>2]=0;c[b+68>>2]=0}Ec=e;return d|0}function vm(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=Ec;Ec=Ec+16|0;i=m+8|0;e=m;j=c[a+592>>2]|0;k=a+8|0;do if(!(c[k>>2]|0)){h=a+92|0;g=a+96|0;f=a+872|0;if((Zg(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,-1,0,a)|0)>=0?(c[a+112>>2]|0)>=0:0){f=b+68|0;e=b+72|0;if((c[f>>2]|0)>=1?(c[e>>2]|0)>=1:0)e=1;else{o=c[h>>2]|0;h=c[a+680>>2]|0;n=0-(0-(c[a+100>>2]|0)>>h)|0;c[f>>2]=(o|0)>(n|0)?o:n;g=c[g>>2]|0;h=0-(0-(c[a+104>>2]|0)>>h)|0;c[e>>2]=(g|0)>(h|0)?g:h;e=0}if((((c[b>>2]|0)==0?(c[b+4>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)?(c[b+12>>2]|0)==0:0){f=e;l=13;break}We(a,16,150102,i);e=-22;break}We(a,16,150058,e);e=-22}else{f=1;l=13}while(0);if((l|0)==13){e=wm(a,b)|0;if((e|0)>=0){if(j){e=c[j+20>>2]|0;if(!e)l=18;else e=Mc[e&15](a,b)|0}else{c[a+768>>2]=c[a+112>>2];l=18}if((l|0)==18){e=Nc[c[a+400>>2]&15](a,b,d)|0;if((e|0)>=0){xm(a,b);e=ym(b)|0}}if((c[k>>2]|f|0)==0?(c[(c[a+12>>2]|0)+116>>2]&16|0)==0:0){c[b+68>>2]=c[a+92>>2];c[b+72>>2]=c[a+96>>2]}if((e|0)<0)bg(b)}}Ec=m;return e|0}function wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+32|0;h=l+24|0;k=l+16|0;j=l+8|0;i=l;g=c[(c[a+28>>2]|0)+40>>2]|0;do if(g){f=g+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;d=b+104|0;c[d>>2]=e;c[d+4>>2]=f;d=b+112|0;c[d>>2]=e;c[d+4>>2]=f;d=g+56|0;f=c[d+4>>2]|0;e=b+328|0;c[e>>2]=c[d>>2];c[e+4>>2]=f;e=g+48|0;f=c[e+4>>2]|0;d=b+336|0;c[d>>2]=c[e>>2];c[d+4>>2]=f;c[b+356>>2]=c[g+28>>2];d=0;while(1){if(d>>>0>=8){e=9;break}e=rh(g,c[74924+(d<<3)>>2]|0,h)|0;if(e|0){f=ah(b,c[74924+(d<<3)+4>>2]|0,c[h>>2]|0)|0;if(!f){e=7;break}wW(c[f+4>>2]|0,e|0,c[h>>2]|0)|0}d=d+1|0}if((e|0)==7){d=-12;break}else if((e|0)==9){Am(g,b);f=b+296|0;d=c[f>>2]|0;c[f>>2]=(c[g+36>>2]&4|0)==0?d&-5:d|4;e=10;break}}else e=10;while(0);a:do if((e|0)==10){f=a+584|0;g=c[f+4>>2]|0;d=b+224|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;d=b+304|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+316>>2];d=b+308|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+320>>2];d=b+312|0;if((c[d>>2]|0)==2)c[d>>2]=c[a+324>>2];d=b+300|0;if(!(c[d>>2]|0))c[d>>2]=c[a+328>>2];d=b+316|0;if(!(c[d>>2]|0))c[d>>2]=c[a+332>>2];switch(c[(c[a+12>>2]|0)+8>>2]|0){case 0:{c[b+80>>2]=c[a+112>>2];d=b+92|0;if(!(c[d>>2]|0)){g=a+188|0;j=c[g+4>>2]|0;k=d;c[k>>2]=c[g>>2];c[k+4>>2]=j}e=c[b+68>>2]|0;if(!e){d=0;break a}f=c[b+72>>2]|0;if(!f){d=0;break a};c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];if((Bm(e,f,h)|0)>=0){d=0;break a}k=b+96|0;j=c[k>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=j;We(a,24,176614,i);c[b+92>>2]=0;c[k>>2]=1;d=0;break a}case 1:break;default:{d=0;break a}}d=b+232|0;if(!(c[d>>2]|0))c[d>>2]=c[a+344>>2];d=b+80|0;if((c[d>>2]|0)<0)c[d>>2]=c[a+352>>2];f=b+240|0;i=f;do if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0){g=a+376|0;e=g;d=c[e>>2]|0;e=c[e+4>>2]|0;if((d|0)==0&(e|0)==0){d=c[a+348>>2]|0;if(d>>>0<=64)break;c[k>>2]=d;We(a,16,150266,k);d=-38;break a}d=Xg(d,e)|0;if((d|0)==(c[a+348>>2]|0)){j=g;k=c[j+4>>2]|0;a=f;c[a>>2]=c[j>>2];c[a+4>>2]=k;break}else{We(a,16,150229,j);d=-22;break a}}else d=c[a+348>>2]|0;while(0);c[b+352>>2]=d;d=0}while(0);Ec=l;return d|0}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+32|0;i=j+16|0;g=j;a:do if(!(c[a+8>>2]|0)){d=b+80|0;e=Qg(c[d>>2]|0)|0;d=qg(c[d>>2]|0)|0;if(!d)f=0;else f=c[d+8>>2]|0;e=(e|0)!=1|(f&2|0)==0?e:2;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[b+(d<<2)>>2]|0)){h=7;break}else d=d+1|0}if((h|0)==7){c[g>>2]=150145;c[g+4>>2]=128996;c[g+8>>2]=1782;We(0,0,164054,g);Za()}d=(f&64|0)==0|(e|0)!=1?e:2;e=(d|0)>0;while(1){if(!(e&d>>>0<8))break a;f=b+(d<<2)|0;if(c[f>>2]|0)We(a,16,150160,i);c[f>>2]=0;d=d+1|0}}while(0);Ec=j;return}function ym(a){a=a|0;var b=0,d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;b=a+400|0;Cf(b);a=Of(20)|0;c[d>>2]=a;do if(a){a=ng(a,20,25,0,1)|0;if(!a){Se(d);a=-12;break}else{c[b>>2]=a;a=0;break}}else a=-12;while(0);Ec=e;return a|0}function zm(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ec;Ec=Ec+16|0;d=e;c[d>>2]=b;a=c[b+8>>2]|0;if(a|0)Sc[a&63](c[b+4>>2]|0);a=c[b+16>>2]|0;if(a|0)Sc[a&63](c[b+12>>2]|0);Se(d);Ec=e;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ec;Ec=Ec+16|0;e=d;a=rh(a,13,e)|0;Dm(a,c[e>>2]|0,b+344|0)|0;Ec=d;return}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if((e|0)>=1?(f=c[d>>2]|0,(f|0)>=0):0){d=(f|0)<(e|0);if((f|0)==0|(f|0)==(e|0))d=0;else{g=d?e:f;f=d?f:e;d=Cm(d?a:b,0,f,((f|0)<0)<<31>>31,g,((g|0)<0)<<31>>31,0)|0;f=M()|0;d=(f|0)>0|(f|0)==0&d>>>0>0?0:-22}}else d=-22;return d|0}function Cm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(!((d|0)<0|((f|0)<0|(f|0)==0&e>>>0<1))?(j=g&-8193,!(j>>>0>5|(j|0)==4)):0){if(g&8192){j=hW(a|0,b|0,1,-2147483648)|0;i=M()|0;if(i>>>0<0|(i|0)==0&j>>>0<2)break;g=g+-8192|0}if((b|0)<0){j=(b|0)>-2147483648|(b|0)==-2147483648&a>>>0>1;j=iW(0,0,(j?a:1)|0,(j?b:-2147483648)|0)|0;f=Cm(j,M()|0,c,d,e,f,g>>>1&1^g)|0;f=iW(0,0,f|0,M()|0)|0;L(M()|0);return f|0}if((g|0)==5){g=lW(e|0,f|0,2,0)|0;h=M()|0}else{j=(g&1|0)==0;g=hW(e|0,f|0,-1,-1)|0;h=M()|0;g=j?0:g;h=j?0:h}if(!(((d|0)<0|(d|0)==0&c>>>0<2147483648)&((f|0)<0|(f|0)==0&e>>>0<2147483648))){l=qW(c|0,d|0,32)|0;k=M()|0;j=nW(l|0,k|0,a|0,0)|0;d=M()|0;i=nW(c|0,0,b|0,0)|0;i=hW(j|0,d|0,i|0,M()|0)|0;d=M()|0;c=nW(c|0,0,a|0,0)|0;c=hW(0,i|0,c|0,M()|0)|0;j=M()|0;a=nW(l|0,k|0,b|0,0)|0;a=hW(d|0,0,a|0,M()|0)|0;a=hW(a|0,M()|0,(j>>>0<i>>>0|(j|0)==(i|0)&c>>>0<0)&1|0,0)|0;b=M()|0;j=hW(g|0,h|0,c|0,j|0)|0;c=M()|0;b=hW(a|0,b|0,(c>>>0<h>>>0|(c|0)==(h|0)&j>>>0<g>>>0)&1|0,0)|0;a=63;g=M()|0;h=d;while(1){if((a|0)<=-1)break;d=rW(j|0,c|0,a|0)|0;M()|0;n=sW(b|0,g|0,1)|0;m=M()|0;n=d&1|n;d=sW(i|0,h|0,1)|0;l=M()|0;k=m>>>0<f>>>0|(m|0)==(f|0)&n>>>0<e>>>0;m=iW(n|0,m|0,(k?0:e)|0,(k?0:f)|0)|0;a=a+-1|0;b=m;g=M()|0;i=d|(k^1)&1;h=l}a=(h|0)<0;b=a?-2147483648:h;a=a?0:i;break}if((b|0)<0|(b|0)==0&a>>>0<2147483648){a=nW(c|0,d|0,a|0,b|0)|0;a=hW(g|0,h|0,a|0,M()|0)|0;a=lW(a|0,M()|0,e|0,f|0)|0;b=M()|0;break}i=lW(a|0,b|0,e|0,f|0)|0;j=M()|0;a=oW(a|0,b|0,e|0,f|0)|0;a=nW(a|0,M()|0,c|0,d|0)|0;a=hW(a|0,M()|0,g|0,h|0)|0;a=lW(a|0,M()|0,e|0,f|0)|0;b=M()|0;if(((c|0)!=0|(d|0)!=0)&((j|0)>0|(j|0)==0&i>>>0>2147483646)?(n=iW(-1,2147483647,a|0,b|0)|0,n=lW(n|0,M()|0,c|0,d|0)|0,m=M()|0,(j|0)>(m|0)|(j|0)==(m|0)&i>>>0>n>>>0):0){b=-2147483648;a=0;break}n=nW(i|0,j|0,c|0,d|0)|0;a=hW(a|0,b|0,n|0,M()|0)|0;b=M()|0}else{b=-2147483648;a=0}while(0);L(b|0);return a|0}function Dm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b+c|0;a:do if((c|0)!=0&((b|0)!=0&(d|0)!=0))if(!(a[f+-1>>0]|0)){e=b;b=0;while(1){if(e>>>0>=f>>>0)break a;c=e+(MT(e)|0)+1|0;if(c>>>0>=f>>>0){b=-1094995529;break a}if(!(a[e>>0]|0)){b=-1094995529;break a}b=dh(d,e,c,0)|0;if((b|0)<0)break a;e=c+(MT(c)|0)+1|0}}else b=-1094995529;else b=0;while(0);return b|0}function Em(a){a=a|0;switch(a|0){case 12:{a=0;break}case 13:{a=4;break}case 14:{a=5;break}default:{}}return a|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;f=j;h=j+8|0;d=c[a+28216>>2]|0;e=c[d+1184>>2]|0;a:do switch(e|0){case 9:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?75:68;g=23;break a}else{e=h+4|0;d=(d|0)==2?72:62;g=23;break a}}case 10:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?77:70;g=23;break a}else{e=h+4|0;d=(d|0)==2?66:64;g=23;break a}}case 12:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?137:133;g=23;break a}else{e=h+4|0;d=(d|0)==2?129:125;g=23;break a}}case 14:{d=c[d+12>>2]|0;if((d|0)==3){e=h+4|0;d=(c[(c[a+4>>2]|0)+324>>2]|0)==0?139:135;g=23;break a}else{e=h+4|0;d=(d|0)==2?131:127;g=23;break a}}case 8:{e=c[d+12>>2]|0;if((e|0)==3){d=c[a+4>>2]|0;if(!(c[d+324>>2]|0)){e=h+4|0;d=73;g=23;break a}else{e=h+4|0;d=(c[d+328>>2]|0)==2?14:5;g=23;break a}}d=a+4|0;f=c[d>>2]|0;if((e|0)==2){e=h+4|0;d=(c[f+328>>2]|0)==2?13:4;g=23;break a}e=c[(c[f+12>>2]|0)+24>>2]|0;if(!e){e=h+4|0;d=(c[f+328>>2]|0)==2?12:0;g=23}else{i=e;e=h;g=24}break}default:{d=c[a+4>>2]|0;c[f>>2]=e;We(d,16,150443,f);d=-1094995529}}while(0);if((g|0)==23){c[h>>2]=d;i=h;d=a+4|0;g=24}b:do if((g|0)==24){c[e>>2]=-1;g=c[d>>2]|0;h=g+112|0;f=(b|0)!=0;e=0;while(1){d=c[i+(e<<2)>>2]|0;if((d|0)==-1)break;if(f|(d|0)!=(c[h>>2]|0))e=e+1|0;else break b}d=PL(g,i)|0}while(0);Ec=j;return d|0}function Gm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a>>2]|0;g=c[b+4>>2]|0;h=nW(g|0,((g|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;d=M()|0;e=c[b>>2]|0;b=c[a+4>>2]|0;a=nW(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=iW(h|0,d|0,a|0,M()|0)|0;d=M()|0;if((a|0)==0&(d|0)==0)if((g|0)==0|(b|0)==0)if(!f)b=-2147483648;else return ((e|0)==0?-2147483648:(f>>31)-(e>>31)|0)|0;else b=0;else{b=b^g;b=qW(a^b|0,d^((b|0)<0)<<31>>31|0,63)|0;M()|0;b=b|1}return b|0}function Hm(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;switch(b|0){case 66:{d=512;e=3;break}case 244:case 122:case 110:{d=2048;e=3;break}default:{}}if((e|0)==3)b=c[a+1196>>2]<<8&d|b;return b|0}function Im(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=Ec;Ec=Ec+32|0;i=o+16|0;h=o;f=c[a+28216>>2]|0;b=c[f+84>>2]|0;d=c[f+80>>2]|0;e=c[f+88>>2]|0;f=c[f+92>>2]|0;m=c[a+25668>>2]|0;p=d+b|0;k=m-p|0;n=c[a+25672>>2]|0;g=f+e|0;j=n-g|0;if(m>>>0<=p>>>0){c[h>>2]=151001;c[h+4>>2]=137858;c[h+8>>2]=878;We(0,0,164054,h);Za()}if(n>>>0<=g>>>0){c[i>>2]=151055;c[i+4>>2]=137858;c[i+8>>2]=879;We(0,0,164054,i);Za()}g=a+29664|0;i=c[g>>2]|0;h=a+29668|0;if((((i|0)>0?(l=c[h>>2]|0,(e|d|0)==0&(l|0)>0):0)?(i+15^k+15)>>>0<16:0)?!((l|0)>(j|0)|((i|0)>(k|0)|(l+15^j+15)>>>0>15)):0){h=l;g=i;f=n-l|0;e=0;d=0;b=m-i|0}else{c[g>>2]=0;c[h>>2]=0;h=j;g=k}p=c[a+4>>2]|0;c[p+100>>2]=m;c[p+104>>2]=n;c[p+92>>2]=g;c[p+96>>2]=h;c[a+25720>>2]=b;c[a+25716>>2]=d;c[a+25724>>2]=e;c[a+25728>>2]=f;Ec=o;return}function Jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=Ec;Ec=Ec+48|0;j=n+32|0;k=n+24|0;g=n+16|0;f=n+8|0;e=c[a+28216>>2]|0;l=a+4|0;i=c[l>>2]|0;h=e+100|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];Km(i,j)|0;Lm(c[(c[l>>2]|0)+112>>2]|0,a+25676|0,a+25680|0)|0;if(c[e+132>>2]|0){i=sW(c[e+140>>2]|0,0,(c[a+25704>>2]|0)>>>0<44|0)|0;j=M()|0;h=c[l>>2]|0;Mm(h+764|0,h+760|0,H(c[h+84>>2]|0,c[e+136>>2]|0)|0,0,i,j,1073741824,0)|0}Yf(a);c[a+26384>>2]=0;c[a+29564>>2]=1;Nm(a);b=Om(a)|0;a:do if((b|0)<0){We(c[l>>2]|0,16,150416,n);m=15}else{b=e+1184|0;d=c[b>>2]|0;b:do if((d+-8|0)>>>0<=6){switch(d|0){case 11:case 13:break b;default:{}}c[(c[l>>2]|0)+676>>2]=d;c[a+29596>>2]=d;j=e+12|0;i=c[j>>2]|0;c[a+29592>>2]=i;c[a+25664>>2]=(d|0)>8&1;c[a+27048>>2]=i;c[a+27044>>2]=d;Pm(a+16|0,d,i);Qm(a+152|0,c[e+1188>>2]|0);Rm(a+184|0,c[b>>2]|0);Sm(a+25736|0,c[(c[l>>2]|0)+16>>2]|0,c[b>>2]|0,c[j>>2]|0);Tm(a+8|0,c[b>>2]|0);if(!(c[(c[l>>2]|0)+696>>2]&2)){b=Um(a,c[a+25628>>2]|0)|0;if((b|0)>=0){b=0;d=1;break a}We(c[l>>2]|0,16,150469,g);m=15;break a}e=a+25632|0;f=a+25628|0;g=a+25732|0;h=a+27016|0;i=a+26400|0;j=a+26404|0;d=0;while(1){if((d|0)>=(c[e>>2]|0)){b=0;d=1;break a}o=c[f>>2]|0;b=o+(d*34768|0)|0;c[b>>2]=a;p=H(c[h>>2]|0,d<<4)|0;c[o+(d*34768|0)+21704>>2]=(c[g>>2]|0)+p;c[o+(d*34768|0)+32848>>2]=(c[i>>2]|0)+(p<<1);c[o+(d*34768|0)+32852>>2]=(c[j>>2]|0)+(p<<1);b=Um(a,b)|0;if((b|0)<0)break;else d=d+1|0}We(c[l>>2]|0,16,150469,k);m=15;break a}while(0);b=c[l>>2]|0;c[f>>2]=d;We(b,16,150443,f);b=-1094995529;m=15}while(0);if((m|0)==15){Yf(a);d=0}c[a+25692>>2]=d;Ec=n;return b|0}function Km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=Ec;Ec=Ec+16|0;d=f+8|0;e=f;h=c[a+92>>2]|0;g=c[a+96>>2]|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=Bm(h,g,d)|0;if((d|0)<0){h=c[b+4>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=h;We(a,24,150972,e);c[a+188>>2]=0;c[a+192>>2]=1}else{g=b;h=c[g+4>>2]|0;d=a+188|0;c[d>>2]=c[g>>2];c[d+4>>2]=h;d=0}Ec=f;return d|0}function Lm(a,b,e){a=a|0;b=b|0;e=e|0;a=qg(a)|0;if(!a)a=-38;else{c[b>>2]=d[a+5>>0];c[e>>2]=d[a+6>>0];a=0}return a|0}function Mm(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=g^e;n=(e|0)>-1|(e|0)==-1&d>>>0>4294967295;j=iW(0,0,d|0,e|0)|0;k=M()|0;j=n?d:j;k=n?e:k;n=(g|0)>-1|(g|0)==-1&f>>>0>4294967295;l=iW(0,0,f|0,g|0)|0;m=M()|0;l=n?f:l;m=n?g:m;n=OL(j,k,l,m)|0;o=M()|0;if(!((n|0)==0&(o|0)==0)){d=lW(j|0,k|0,n|0,o|0)|0;e=M()|0;f=lW(l|0,m|0,n|0,o|0)|0;g=M()|0}w=(e|0)>(i|0)|(e|0)==(i|0)&d>>>0>h>>>0;v=(g|0)>(i|0)|(g|0)==(i|0)&f>>>0>h>>>0;j=v|w;k=j?1:d;j=j?0:f;a:do if(!((f|0)==0&(g|0)==0|(v|w)^1)){w=0;v=1;while(1){m=lW(d|0,e|0,f|0,g|0)|0;l=M()|0;n=nW(m|0,l|0,f|0,g|0)|0;n=iW(d|0,e|0,n|0,M()|0)|0;o=M()|0;r=((k|0)<0)<<31>>31;p=nW(m|0,l|0,k|0,r|0)|0;s=((w|0)<0)<<31>>31;p=hW(p|0,M()|0,w|0,s|0)|0;z=M()|0;t=((j|0)<0)<<31>>31;q=nW(m|0,l|0,j|0,t|0)|0;u=((v|0)<0)<<31>>31;q=hW(q|0,M()|0,v|0,u|0)|0;y=M()|0;if((z|0)>(i|0)|(z|0)==(i|0)&p>>>0>h>>>0|((y|0)>(i|0)|(y|0)==(i|0)&q>>>0>h>>>0))break;if((n|0)==0&(o|0)==0){k=p;j=q;f=0;g=0;break a}else{e=g;d=f;v=j;w=k;k=p;j=q;f=n;g=o}}if(k){m=iW(h|0,i|0,w|0,s|0)|0;m=lW(m|0,M()|0,k|0,r|0)|0;l=M()|0}if(j){i=iW(h|0,i|0,v|0,u|0)|0;i=lW(i|0,M()|0,j|0,t|0)|0;z=M()|0;y=l>>>0>z>>>0|(l|0)==(z|0)&m>>>0>i>>>0;m=y?i:m;l=y?z:l}y=sW(j|0,t|0,1)|0;y=nW(y|0,M()|0,m|0,l|0)|0;y=hW(y|0,M()|0,v|0,u|0)|0;y=nW(y|0,M()|0,f|0,g|0)|0;h=M()|0;z=nW(d|0,e|0,j|0,t|0)|0;i=M()|0;if(h>>>0>i>>>0|(h|0)==(i|0)&y>>>0>z>>>0){j=nW(m|0,l|0,j|0,t|0)|0;j=hW(j|0,M()|0,v|0,u|0)|0;M()|0;k=nW(m|0,l|0,k|0,r|0)|0;k=hW(k|0,M()|0,w|0,s|0)|0;M()|0}}else{f=0;g=0}while(0);c[a>>2]=(x|0)<0?0-k|0:k;c[b>>2]=j;return (f|0)==0&(g|0)==0&1|0}function Nm(b){b=b|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)==16){e=0;break}g=d[135950+e>>0]|0;a[b+26428+e>>0]=g<<2&12|g>>>2;g=d[150696+e>>0]|0;a[b+26572+e>>0]=g<<2&12|g>>>2;e=e+1|0}while(1){if((e|0)==64)break;g=d[135967+e>>0]|0;a[b+26444+e>>0]=g<<3&56|g>>>3;g=d[150713+e>>0]|0;a[b+26508+e>>0]=g<<3&56|g>>>3;g=d[150778+e>>0]|0;a[b+26588+e>>0]=g<<3&56|g>>>3;g=d[150843+e>>0]|0;a[b+26652+e>>0]=g<<3&56|g>>>3;e=e+1|0}e=b+26716|0;if(!(c[(c[b+28216>>2]|0)+16>>2]|0)){f=b+26428|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26732|0;f=b+26444|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26796|0;f=b+26508|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26860|0;f=b+26572|0;c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];e=b+26876|0;f=b+26588|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=b+26940|0;f=b+26652|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0))}else{f=135950;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26732|0;f=135967;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26796|0;f=150713;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26860|0;f=150696;g=e+16|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26876|0;f=150778;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0));e=b+26940|0;f=150843;g=e+64|0;do{a[e>>0]=a[f>>0]|0;e=e+1|0;f=f+1|0}while((e|0)<(g|0))}return}function Om(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Ec;Ec=Ec+96|0;r=v+80|0;q=v+72|0;p=v+64|0;o=v+56|0;l=v+48|0;i=v+40|0;g=v+32|0;f=v+24|0;e=v+16|0;d=v+8|0;s=a+27016|0;h=c[s>>2]|0;t=a+27008|0;n=H((c[t>>2]|0)+1|0,h)|0;b=c[a+25632>>2]|0;h=H((b|0)>1?b:1,h<<1)|0;b=kg(h,8)|0;c[a+25732>>2]=b;a:do if(!b){We(c[a+4>>2]|0,16,150493,v);u=29}else{j=a+25628|0;c[(c[j>>2]|0)+21704>>2]=b;k=Of(n*48|0)|0;c[a+25972>>2]=k;m=(n|0)==0;if(!(m|(k|0)!=0)){We(c[a+4>>2]|0,16,150493,d);u=29;break}d=Of((c[s>>2]|0)+n<<1)|0;k=a+28220|0;c[k>>2]=d;if((d|0)==0?(c[s>>2]|0)+n&2147483647|0:0){We(c[a+4>>2]|0,16,150493,e);u=29;break}d=n<<1;e=Of(d)|0;c[a+26392>>2]=e;if(!((d|0)==0|(e|0)!=0)){We(c[a+4>>2]|0,16,150493,f);u=29;break}f=Of(n)|0;c[a+26396>>2]=f;if(!(m|(f|0)!=0)){We(c[a+4>>2]|0,16,150493,g);u=29;break}g=kg(h,16)|0;d=a+26400|0;c[d>>2]=g;if(!g){We(c[a+4>>2]|0,16,150493,i);u=29;break}i=kg(h,16)|0;b=a+26404|0;c[b>>2]=i;if(!i){We(c[a+4>>2]|0,16,150493,l);u=29;break}c[(c[j>>2]|0)+32848>>2]=c[d>>2];c[(c[j>>2]|0)+32852>>2]=c[b>>2];b=n<<2;l=Of(b)|0;c[a+26408>>2]=l;d=(b|0)==0;if(!(d|(l|0)!=0)){We(c[a+4>>2]|0,16,150493,o);u=29;break}o=Of(n)|0;c[a+26388>>2]=o;if(!(m|(o|0)!=0)){We(c[a+4>>2]|0,16,150493,p);u=29;break}yW(c[k>>2]|0,-1,(c[s>>2]|0)+n<<1|0)|0;c[a+26372>>2]=(c[k>>2]|0)+(c[s>>2]<<1<<1)+2;p=Of(b)|0;h=a+26360|0;c[h>>2]=p;if(!(d|(p|0)!=0)){We(c[a+4>>2]|0,16,150493,q);u=29;break}g=Of(b)|0;c[a+26364>>2]=g;if(!(d|(g|0)!=0)){We(c[a+4>>2]|0,16,150493,r);u=29;break}f=a+27012|0;e=a+26368|0;d=0;while(1){if((d|0)<(c[t>>2]|0))b=0;else{b=0;break a}while(1){if((b|0)>=(c[f>>2]|0))break;a=(H(c[s>>2]|0,d)|0)+b|0;r=(H(c[e>>2]|0,d)|0)+b<<2;c[(c[h>>2]|0)+(a<<2)>>2]=r;c[g+(a<<2)>>2]=((a|0)%(c[s>>2]<<1|0)|0)<<3;b=b+1|0}d=d+1|0}}while(0);if((u|0)==29){Yf(a);b=-12}Ec=v;return b|0} |
| | | function jp(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+p>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+o>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function kp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=nW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=nW(k|0,l|0,65537,65537)|0;h=M()|0;d=nW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function lp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=nW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=nW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function mp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function np(a,b){a=a|0;b=b|0;mp(a,b);Io(a,0,b);return}function op(a,b){a=a|0;b=b|0;kp(a,b);So(a,0,b);return}function pp(a,b){a=a|0;b=b|0;lp(a,b);a=a+(b<<2)|0;To(a,0,b);To(a+8|0,0,b);return}function qp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=nW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=nW(m|0,n|0,65537,65537)|0;q=M()|0;m=nW(f|0,o|0,65537,65537)|0;n=M()|0;k=nW(r|0,s|0,65537,65537)|0;l=M()|0;i=nW(g|0,t|0,65537,65537)|0;j=M()|0;g=nW(u|0,v|0,65537,65537)|0;h=M()|0;d=nW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function rp(a,b){a=a|0;b=b|0;lp(a,b);lp(a+(b<<3)|0,b);return}function sp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function tp(a,b){a=a|0;b=b|0;sp(a,b);Io(a,0,b);return}function up(a,b){a=a|0;b=b|0;qp(a,b);So(a,0,b);return}function vp(a,b){a=a|0;b=b|0;rp(a,b);a=a+(b<<2)|0;To(a,0,b);To(a+8|0,0,b);return}function wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33489407;c[f+4>>2]=33489407;e=e+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+1|0}return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33620481;c[f+4>>2]=33620481;e=e+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+1|0}return}function yp(a,b){a=a|0;b=b|0;rp(a,b);To(a,0,b);To(a+8|0,0,b);return}function zp(a,b){a=a|0;b=b|0;lp(a,b);To(a,0,b);To(a+8|0,0,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=33554944;c[f+4>>2]=33554944;e=e+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0}return}function Bp(a,b){a=a|0;b=b|0;Ap(a,b);Ap(a+(b<<3)|0,b);return}function Cp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Ep(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Fp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+8|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+16|0;c[e>>2]=33489407;c[e+4>>2]=33489407;e=b+24|0;c[e>>2]=33489407;c[e+4>>2]=33489407;b=b+(d<<1)|0;a=a+1|0}return}function Gp(a,b){a=a|0;b=b|0;Zt(a,b);return}function Hp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+8|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+16|0;c[e>>2]=33620481;c[e+4>>2]=33620481;e=b+24|0;c[e>>2]=33620481;c[e+4>>2]=33620481;b=b+(d<<1)|0;a=a+1|0}return}function Ip(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Jp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Kp(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+16|0;c[e>>2]=33554944;c[e+4>>2]=33554944;e=b+24|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+(d<<1)|0;a=a+1|0}return}function Lp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Mp(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function Np(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}yW(d|0,0,256)|0;return}function Op(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}yW(d|0,0,256)|0;return}function Pp(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Ec;Ec=Ec+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}yW(d|0,0,256)|0;Ec=q;return}function Qp(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Ec;Ec=Ec+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}yW(d|0,0,256)|0;Ec=k;return}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Lp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Lp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Lp(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;Mp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}Mp(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;Mp(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Xp(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Yp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Zp(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function _p(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function $p(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function aq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function bq(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=nW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function dq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;b=a+(d<<1<<1)|0;c[b>>2]=134154239;c[b+4>>2]=134154239;d=a+(d*3<<1)|0;c[d>>2]=134154239;c[d+4>>2]=134154239;return}function eq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;b=a+(d<<1<<1)|0;c[b>>2]=134285313;c[b+4>>2]=134285313;d=a+(d*3<<1)|0;c[d>>2]=134285313;c[d+4>>2]=134285313;return}function fq(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function gq(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;b=a+(d<<1<<1)|0;c[b>>2]=134219776;c[b+4>>2]=134219776;d=a+(d*3<<1)|0;c[d>>2]=134219776;c[d+4>>2]=134219776;return}function hq(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function iq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=nW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=nW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=nW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=nW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=nW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=nW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=nW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=nW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function jq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function kq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function lq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function mq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function nq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function oq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function pq(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function qq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=nW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function rq(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function sq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=134219776;c[e+4>>2]=134219776;e=a+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0;a=a+(d<<1)|0}return}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function vq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function wq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function xq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+i>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+j>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function yq(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+p>>5;b[c+2>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+k>>5;b[c+4>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+h>>5;b[c+6>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+l>>5;b[c+8>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+m>>5;b[c+10>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+n>>5;b[c+12>>1]=a>>>0<4096?a:0-a>>31&4095;a=d+o>>5;b[c+14>>1]=a>>>0<4096?a:0-a>>31&4095;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function zq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=nW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=nW(k|0,l|0,65537,65537)|0;h=M()|0;d=nW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Aq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=nW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=nW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Bq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Cq(a,b){a=a|0;b=b|0;Bq(a,b);Xp(a,0,b);return}function Dq(a,b){a=a|0;b=b|0;zq(a,b);fq(a,0,b);return}function Eq(a,b){a=a|0;b=b|0;Aq(a,b);a=a+(b<<2)|0;gq(a,0,b);gq(a+8|0,0,b);return}function Fq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=nW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=nW(m|0,n|0,65537,65537)|0;q=M()|0;m=nW(f|0,o|0,65537,65537)|0;n=M()|0;k=nW(r|0,s|0,65537,65537)|0;l=M()|0;i=nW(g|0,t|0,65537,65537)|0;j=M()|0;g=nW(u|0,v|0,65537,65537)|0;h=M()|0;d=nW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Gq(a,b){a=a|0;b=b|0;Aq(a,b);Aq(a+(b<<3)|0,b);return}function Hq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Iq(a,b){a=a|0;b=b|0;Hq(a,b);Xp(a,0,b);return}function Jq(a,b){a=a|0;b=b|0;Fq(a,b);fq(a,0,b);return}function Kq(a,b){a=a|0;b=b|0;Gq(a,b);a=a+(b<<2)|0;gq(a,0,b);gq(a+8|0,0,b);return}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134154239;c[f+4>>2]=134154239;e=e+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+1|0}return}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134285313;c[f+4>>2]=134285313;e=e+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+1|0}return}function Nq(a,b){a=a|0;b=b|0;Gq(a,b);gq(a,0,b);gq(a+8|0,0,b);return}function Oq(a,b){a=a|0;b=b|0;Aq(a,b);gq(a,0,b);gq(a+8|0,0,b);return}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=134219776;c[f+4>>2]=134219776;e=e+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+1|0}return}function Qq(a,b){a=a|0;b=b|0;Pq(a,b);Pq(a+(b<<3)|0,b);return}function Rq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function 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,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function Tq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+8|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+16|0;c[e>>2]=134154239;c[e+4>>2]=134154239;e=b+24|0;c[e>>2]=134154239;c[e+4>>2]=134154239;b=b+(d<<1)|0;a=a+1|0}return}function Vq(a,b){a=a|0;b=b|0;Yt(a,b);return}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+8|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+16|0;c[e>>2]=134285313;c[e+4>>2]=134285313;e=b+24|0;c[e>>2]=134285313;c[e+4>>2]=134285313;b=b+(d<<1)|0;a=a+1|0}return}function Xq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Yq(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function Zq(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+8|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+16|0;c[e>>2]=134219776;c[e+4>>2]=134219776;e=b+24|0;c[e>>2]=134219776;c[e+4>>2]=134219776;b=b+(d<<1)|0;a=a+1|0}return}function _q(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function $q(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function ar(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}yW(d|0,0,256)|0;return}function br(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}yW(d|0,0,256)|0;return}function cr(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Ec;Ec=Ec+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}yW(d|0,0,256)|0;Ec=q;return}function dr(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Ec;Ec=Ec+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}yW(d|0,0,256)|0;Ec=k;return}function er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;_q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function fr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}_q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;_q(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function gr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;$q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}$q(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;$q(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function jr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function kr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function lr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function mr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function nr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function or(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function pr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function qr(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=nW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function sr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;b=a+(d<<1<<1)|0;c[b>>2]=536813567;c[b+4>>2]=536813567;d=a+(d*3<<1)|0;c[d>>2]=536813567;c[d+4>>2]=536813567;return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;b=a+(d<<1<<1)|0;c[b>>2]=536944641;c[b+4>>2]=536944641;d=a+(d*3<<1)|0;c[d>>2]=536944641;c[d+4>>2]=536944641;return}function ur(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function vr(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;b=a+(d<<1<<1)|0;c[b>>2]=536879104;c[b+4>>2]=536879104;d=a+(d*3<<1)|0;c[d>>2]=536879104;c[d+4>>2]=536879104;return}function wr(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function xr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=nW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=nW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=nW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=nW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=nW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=nW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=nW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=nW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function yr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function zr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Ar(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Br(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Cr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function Dr(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Er(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Fr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=nW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Gr(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=536879104;c[e+4>>2]=536879104;e=a+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0;a=a+(d<<1)|0}return}function Ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Kr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Lr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Mr(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+i>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+j>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Nr(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+p>>5;b[c+2>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+k>>5;b[c+4>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+h>>5;b[c+6>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+l>>5;b[c+8>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+m>>5;b[c+10>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+n>>5;b[c+12>>1]=a>>>0<16384?a:0-a>>31&16383;a=d+o>>5;b[c+14>>1]=a>>>0<16384?a:0-a>>31&16383;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Or(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=nW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=nW(k|0,l|0,65537,65537)|0;h=M()|0;d=nW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Pr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=nW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=nW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Qr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Rr(a,b){a=a|0;b=b|0;Qr(a,b);kr(a,0,b);return}function Sr(a,b){a=a|0;b=b|0;Or(a,b);ur(a,0,b);return}function Tr(a,b){a=a|0;b=b|0;Pr(a,b);a=a+(b<<2)|0;vr(a,0,b);vr(a+8|0,0,b);return}function Ur(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=nW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=nW(m|0,n|0,65537,65537)|0;q=M()|0;m=nW(f|0,o|0,65537,65537)|0;n=M()|0;k=nW(r|0,s|0,65537,65537)|0;l=M()|0;i=nW(g|0,t|0,65537,65537)|0;j=M()|0;g=nW(u|0,v|0,65537,65537)|0;h=M()|0;d=nW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Vr(a,b){a=a|0;b=b|0;Pr(a,b);Pr(a+(b<<3)|0,b);return}function Wr(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Xr(a,b){a=a|0;b=b|0;Wr(a,b);kr(a,0,b);return}function Yr(a,b){a=a|0;b=b|0;Ur(a,b);ur(a,0,b);return}function Zr(a,b){a=a|0;b=b|0;Vr(a,b);a=a+(b<<2)|0;vr(a,0,b);vr(a+8|0,0,b);return}function _r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536813567;c[f+4>>2]=536813567;e=e+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+1|0}return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536944641;c[f+4>>2]=536944641;e=e+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+1|0}return}function as(a,b){a=a|0;b=b|0;Vr(a,b);vr(a,0,b);vr(a+8|0,0,b);return}function bs(a,b){a=a|0;b=b|0;Pr(a,b);vr(a,0,b);vr(a+8|0,0,b);return}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=536879104;c[f+4>>2]=536879104;e=e+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+1|0}return}function ds(a,b){a=a|0;b=b|0;cs(a,b);cs(a+(b<<3)|0,b);return}function es(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function fs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function gs(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function hs(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+8|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+16|0;c[e>>2]=536813567;c[e+4>>2]=536813567;e=b+24|0;c[e>>2]=536813567;c[e+4>>2]=536813567;b=b+(d<<1)|0;a=a+1|0}return}function is(a,b){a=a|0;b=b|0;Xt(a,b);return}function js(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+8|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+16|0;c[e>>2]=536944641;c[e+4>>2]=536944641;e=b+24|0;c[e>>2]=536944641;c[e+4>>2]=536944641;b=b+(d<<1)|0;a=a+1|0}return}function ks(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ls(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function ms(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+8|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+16|0;c[e>>2]=536879104;c[e+4>>2]=536879104;e=b+24|0;c[e>>2]=536879104;c[e+4>>2]=536879104;b=b+(d<<1)|0;a=a+1|0}return}function ns(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function os(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function ps(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}yW(d|0,0,256)|0;return}function qs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}yW(d|0,0,256)|0;return}function rs(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Ec;Ec=Ec+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}yW(d|0,0,256)|0;Ec=q;return}function ss(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Ec;Ec=Ec+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}yW(d|0,0,256)|0;Ec=k;return}function ts(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;ns(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function us(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}ns(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;ns(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;os(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}os(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;os(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function xs(a,b,d){a=a|0;b=b|0;d=d|0;b=c[a+(0-d)>>2]|0;c[a>>2]=b;c[a+d>>2]=b;c[a+(d<<1)>>2]=b;c[a+(d*3|0)>>2]=b;return}function ys(a,b,e){a=a|0;b=b|0;e=e|0;c[a>>2]=H(d[a+-1>>0]|0,16843009)|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;b=e<<1;c[a+b>>2]=H(d[a+(b+-1)>>0]|0,16843009)|0;e=e*3|0;c[a+e>>2]=H(d[a+(e+-1)>>0]|0,16843009)|0;return}function zs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H((d[a+(0-e)>>0]|0)+4+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)+(d[a+-1>>0]|0)+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)>>3,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function As(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d[b+(1-e)>>0]|0;h=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;i=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+2+h+(l<<1)|0)>>>2;c=(l+2+k+(h<<1)|0)>>>2&255;a[b+e>>0]=c;a[b+1>>0]=c;c=(h+2+j+(k<<1)|0)>>>2&255;h=e<<1;a[b+h>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;k=(k+2+i+(j<<1)|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(h|1)>>0]=k;a[b+(e+2)>>0]=k;a[b+3>>0]=k;j=(j+2+g+(i<<1)|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(h+2)>>0]=j;a[b+(e+3)>>0]=j;e=(i+2+f+(g<<1)|0)>>>2&255;a[b+(c+2)>>0]=e;a[b+(h+3)>>0]=e;a[b+(c+3)>>0]=(g+2+(f*3|0)|0)>>>2;return}function Bs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=d[b+~e>>0]|0;h=d[b+(0-e)>>0]|0;g=d[b+(1-e)>>0]|0;f=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;k=d[b+-1>>0]|0;n=d[b+(e+-1)>>0]|0;j=e<<1;i=d[b+(j+-1)>>0]|0;l=e*3|0;a[b+l>>0]=(n+2+(d[b+(l+-1)>>0]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&255;a[b+(l+1)>>0]=i;a[b+j>>0]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&255;a[b+(l+2)>>0]=n;a[b+(j|1)>>0]=n;a[b+e>>0]=n;k=((m<<1)+2+h+k|0)>>>2&255;a[b+(l+3)>>0]=k;a[b+(j+2)>>0]=k;a[b+(e+1)>>0]=k;a[b>>0]=k;i=(i+(h<<1)+g|0)>>>2&255;a[b+(j+3)>>0]=i;a[b+(e+2)>>0]=i;a[b+1>>0]=i;h=(h+2+(g<<1)+f|0)>>>2&255;a[b+(e+3)>>0]=h;a[b+2>>0]=h;a[b+3>>0]=(g+2+(f<<1)+c|0)>>>2;return}function Cs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;h=d[b+-1>>0]|0;g=d[b+(e+-1)>>0]|0;i=e<<1;f=d[b+(i+-1)>>0]|0;c=e*3|0;o=(j+1+n|0)>>>1&255;a[b+(i|1)>>0]=o;a[b>>0]=o;o=(n+1+m|0)>>>1&255;a[b+(i+2)>>0]=o;a[b+1>>0]=o;o=(m+1+l|0)>>>1&255;a[b+(i+3)>>0]=o;a[b+2>>0]=o;a[b+3>>0]=(l+1+k|0)>>>1;o=((j<<1)+2+n+h|0)>>>2&255;a[b+(c+1)>>0]=o;a[b+e>>0]=o;j=j+2|0;o=(j+(n<<1)+m|0)>>>2&255;a[b+(c+2)>>0]=o;a[b+(e+1)>>0]=o;n=(n+2+(m<<1)+l|0)>>>2&255;a[b+(c+3)>>0]=n;a[b+(e+2)>>0]=n;a[b+(e+3)>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+i>>0]=(j+(h<<1)+g|0)>>>2;a[b+c>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Ds(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=d[b+~e>>0]|0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;j=d[b+-1>>0]|0;h=d[b+(e+-1)>>0]|0;i=e<<1;g=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;o=(k+1+j|0)>>>1&255;a[b+(e+2)>>0]=o;a[b>>0]=o;o=((k<<1)+2+n+j|0)>>>2&255;a[b+(e+3)>>0]=o;a[b+1>>0]=o;k=k+2|0;a[b+2>>0]=(k+(n<<1)+m|0)>>>2;a[b+3>>0]=(n+2+(m<<1)+l|0)>>>2;l=(j+1+h|0)>>>1&255;a[b+(i+2)>>0]=l;a[b+e>>0]=l;k=(k+(j<<1)+h|0)>>>2&255;a[b+(i+3)>>0]=k;a[b+(e+1)>>0]=k;e=(h+1+g|0)>>>1&255;a[b+(c+2)>>0]=e;a[b+i>>0]=e;e=(j+2+(h<<1)+g|0)>>>2&255;a[b+(c+3)>>0]=e;a[b+(i|1)>>0]=e;a[b+c>>0]=(g+1+f|0)>>>1;a[b+(c+1)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Es(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d[b+(0-e)>>0]|0;k=d[b+(1-e)>>0]|0;j=d[b+(2-e)>>0]|0;i=d[b+(3-e)>>0]|0;h=d[c>>0]|0;g=d[c+1>>0]|0;f=d[c+2>>0]|0;a[b>>0]=(l+1+k|0)>>>1;m=(k+1+j|0)>>>1&255;c=e<<1;a[b+c>>0]=m;a[b+1>>0]=m;m=(j+1+i|0)>>>1&255;a[b+(c|1)>>0]=m;a[b+2>>0]=m;m=(i+1+h|0)>>>1&255;a[b+(c+2)>>0]=m;a[b+3>>0]=m;a[b+(c+3)>>0]=(h+1+g|0)>>>1;a[b+e>>0]=(l+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&255;c=e*3|0;a[b+c>>0]=k;a[b+(e+1)>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(c+1)>>0]=j;a[b+(e+2)>>0]=j;i=(i+2+(h<<1)+g|0)>>>2&255;a[b+(c+2)>>0]=i;a[b+(e+3)>>0]=i;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function Fs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d[b+-1>>0]|0;j=d[b+(e+-1)>>0]|0;c=e<<1;i=d[b+(c+-1)>>0]|0;g=e*3|0;f=a[b+(g+-1)>>0]|0;h=f&255;a[b>>0]=(k+1+j|0)>>>1;a[b+1>>0]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&255;a[b+e>>0]=k;a[b+2>>0]=k;j=(j+2+(i<<1)+h|0)>>>2&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=(i+1+h|0)>>>1&255;a[b+c>>0]=j;a[b+(e+2)>>0]=j;h=(i+2+h+(h<<1)|0)>>>2&255;a[b+(c|1)>>0]=h;a[b+(e+3)>>0]=h;a[b+(g+3)>>0]=f;a[b+(g+2)>>0]=f;a[b+(c+2)>>0]=f;a[b+g>>0]=f;a[b+(g+1)>>0]=f;a[b+(c+3)>>0]=f;return}function Gs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;g=e<<1;b=e*3|0;f=H(((d[a+-1>>0]|0)+2+(d[a+(e+-1)>>0]|0)+(d[a+(g+-1)>>0]|0)+(d[a+(b+-1)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=f;c[a+e>>2]=f;c[a+g>>2]=f;c[a+b>>2]=f;return}function Hs(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=2139062143;c[a+d>>2]=2139062143;c[a+(d<<1)>>2]=2139062143;c[a+(d*3|0)>>2]=2139062143;return}function Is(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2122219135;c[a+d>>2]=-2122219135;c[a+(d<<1)>>2]=-2122219135;c[a+(d*3|0)>>2]=-2122219135;return}function Js(a,b,e){a=a|0;b=b|0;e=e|0;b=H(((d[a+(0-e)>>0]|0)+2+(d[a+(1-e)>>0]|0)+(d[a+(2-e)>>0]|0)+(d[a+(3-e)>>0]|0)|0)>>>2,16843009)|0;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function Ks(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=-2139062144;c[a+d>>2]=-2139062144;c[a+(d<<1)>>2]=-2139062144;c[a+(d*3|0)>>2]=-2139062144;return}function Ls(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=d[b+(0-g)>>0]|0;n=d[b+(1-g)>>0]|0;h=d[b+(2-g)>>0]|0;m=d[b+(3-g)>>0]|0;l=d[b+(4-g)>>0]|0;k=d[b+(5-g)>>0]|0;j=d[b+(6-g)>>0]|0;i=d[b+(7-g)>>0]|0;f=(j+2+(d[b+((f|0?8:7)-g)>>0]|0)+(i<<1)|0)>>>2;a[b>>0]=((d[b+((((e|0)!=0)<<31>>31)-g)>>0]|0)+2+(o<<1)+n|0)>>>2;a[b+1>>0]=(o+2+(n<<1)+h|0)>>>2;a[b+2>>0]=(n+2+(h<<1)+m|0)>>>2;a[b+3>>0]=(h+2+(m<<1)+l|0)>>>2;h=b+4|0;a[h>>0]=(m+2+(l<<1)+k|0)>>>2;a[b+5>>0]=(l+2+(k<<1)+j|0)>>>2;a[b+6>>0]=(k+2+(j<<1)+i|0)>>>2;a[b+7>>0]=f;f=c[b>>2]|0;h=c[h>>2]|0;e=1;while(1){if((e|0)==8)break;o=b+(H(e,g)|0)|0;c[o>>2]=f;c[o+4>>2]=h;e=e+1|0}return}function Ms(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[a+((H(((b|0)!=0)<<31>>31,f)|0)+-1)>>0]|0;r=d[a+-1>>0]|0;p=d[a+(f+-1)>>0]|0;q=f<<1;n=d[a+(q+-1)>>0]|0;o=f*3|0;l=d[a+(o+-1)>>0]|0;m=f<<2;j=d[a+(m+-1)>>0]|0;k=f*5|0;h=d[a+(k+-1)>>0]|0;i=f*6|0;g=d[a+(i+-1)>>0]|0;b=f*7|0;e=d[a+(b+-1)>>0]|0;s=H((s+2+(r<<1)+p|0)>>>2,16843009)|0;c[a>>2]=s;c[a+4>>2]=s;r=H((r+2+(p<<1)+n|0)>>>2,16843009)|0;f=a+f|0;c[f>>2]=r;c[f+4>>2]=r;p=H((p+2+(n<<1)+l|0)>>>2,16843009)|0;f=a+q|0;c[f>>2]=p;c[f+4>>2]=p;n=H((n+2+(l<<1)+j|0)>>>2,16843009)|0;f=a+o|0;c[f>>2]=n;c[f+4>>2]=n;l=H((l+2+(j<<1)+h|0)>>>2,16843009)|0;f=a+m|0;c[f>>2]=l;c[f+4>>2]=l;j=H((j+2+(h<<1)+g|0)>>>2,16843009)|0;f=a+k|0;c[f>>2]=j;c[f+4>>2]=j;h=H((h+2+(g<<1)+e|0)>>>2,16843009)|0;f=a+i|0;c[f>>2]=h;c[f+4>>2]=h;e=H((g+2+(e*3|0)|0)>>>2,16843009)|0;f=a+b|0;c[f>>2]=e;c[f+4>>2]=e;return} |
| | | function XE(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==9)break;k=g+2|0;n=g+-2|0;d=g+4|0;o=H((e[d>>1]|0)+(e[n>>1]|0)|0,-5)|0;l=g+6|0;b[h>>1]=(((e[k>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+o+(e[l>>1]|0);o=H((e[l>>1]|0)+(e[g>>1]|0)|0,-5)|0;m=g+8|0;b[h+2>>1]=(((e[d>>1]|0)+(e[k>>1]|0)|0)*20|0)+55306+(e[n>>1]|0)+o+(e[m>>1]|0);o=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;n=g+10|0;b[h+4>>1]=(((e[l>>1]|0)+(e[d>>1]|0)|0)*20|0)+55306+(e[g>>1]|0)+o+(e[n>>1]|0);d=H((e[n>>1]|0)+(e[d>>1]|0)|0,-5)|0;b[h+6>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+12>>1]|0);h=h+16|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;d=i<<1;j=i*3|0;g=c+32|0;h=0;while(1){if((h|0)==4)break;s=b[g+-16>>1]|0;q=b[g>>1]|0;r=q+10230|0;f=b[g+16>>1]|0;p=f+10230|0;n=(b[g+32>>1]|0)+10230|0;l=(b[g+48>>1]|0)+10230|0;k=(b[g+64>>1]|0)+10230|0;m=(b[g+80>>1]|0)+10230|0;c=b[g+96>>1]|0;o=(b[g+-32>>1]|0)+10742+l+((p+r|0)*20|0)+(H(n+(s+10230)|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(o>>>0<1024?o:0-o>>31&1023)|0)>>>1;o=a+(i<<1)|0;r=s+10742+k+((n+p|0)*20|0)+(H(l+r|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(r>>>0<1024?r:0-r>>31&1023)|0)>>>1;o=a+(d<<1)|0;p=q+10742+m+((l+n|0)*20|0)+(H(k+p|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;o=a+(j<<1)|0;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[o>>1]=((e[o>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=a+2|0;g=g+2|0;h=h+1|0}return}function YE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<4096?r:0-r>>31&4095)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<4096?g:0-g>>31&4095)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function ZE(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==9)break;q=e[h>>1]|0;l=e[h+2>>1]|0;o=e[h+-2>>1]|0;f=e[h+4>>1]|0;p=H(f+o|0,-5)|0;m=e[h+6>>1]|0;c[i>>2]=((l+q|0)*20|0)+(e[h+-4>>1]|0)+p+m;p=H(m+q|0,-5)|0;n=e[h+8>>1]|0;c[i+4>>2]=((f+l|0)*20|0)+o+p+n;p=H(n+l|0,-5)|0;o=e[h+10>>1]|0;c[i+8>>2]=((m+f|0)*20|0)+q+p+o;f=H(o+f|0,-5)|0;c[i+12>>2]=((n+m|0)*20|0)+l+f+(e[h+12>>1]|0);i=i+32|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;f=j<<1;k=j*3|0;h=d+64|0;i=0;while(1){if((i|0)==4)break;r=c[h+-32>>2]|0;g=c[h>>2]|0;d=c[h+32>>2]|0;p=c[h+64>>2]|0;n=c[h+96>>2]|0;m=c[h+128>>2]|0;o=c[h+160>>2]|0;l=c[h+192>>2]|0;q=(c[h+-64>>2]|0)+512+n+((d+g|0)*20|0)+(H(p+r|0,-5)|0)>>10;b[a>>1]=((e[a>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;q=a+(j<<1)|0;r=r+512+m+((p+d|0)*20|0)+(H(n+g|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(r>>>0<16384?r:0-r>>31&16383)|0)>>>1;q=a+(f<<1)|0;g=g+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(g>>>0<16384?g:0-g>>31&16383)|0)>>>1;q=a+(k<<1)|0;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[q>>1]=((e[q>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;a=a+2|0;h=h+4|0;i=i+1|0}return}function _E(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<512?q:0-q>>31&511)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<512?p:0-p>>31&511)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<512?j:0-j>>31&511)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function $E(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=e<<1;h=e*3|0;f=0;while(1){if((f|0)==4)break;q=d[c+-4>>0]|0;p=d[c>>0]|0;o=d[c+4>>0]|0;j=d[c+8>>0]|0;l=d[c+12>>0]|0;m=d[c+16>>0]|0;k=d[c+20>>0]|0;n=d[c+24>>0]|0;i=(d[c+-8>>0]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;i=b+e|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((q>>>0>255?(q^-2147483648)>>31:q)&255)|0)>>>1;i=b+g|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((p>>>0>255?(p^-2147483648)>>31:p)&255)|0)>>>1;i=b+h|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;a[i>>0]=((d[i>>0]|0)+1+((j>>>0>255?(j^-2147483648)>>31:j)&255)|0)>>>1;f=f+1|0;b=b+1|0;c=c+1|0}return}function aF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<1024?q:0-q>>31&1023)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<1024?p:0-p>>31&1023)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<1024?j:0-j>>31&1023)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function bF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<4096?q:0-q>>31&4095)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<4096?p:0-p>>31&4095)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<4096?j:0-j>>31&4095)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function cF(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=d>>1;h=g<<1;i=g*3|0;f=0;d=c;while(1){if((f|0)==4)break;q=e[d+-8>>1]|0;p=e[d>>1]|0;o=e[d+8>>1]|0;j=e[d+16>>1]|0;l=e[d+24>>1]|0;m=e[d+32>>1]|0;k=e[d+40>>1]|0;n=e[d+48>>1]|0;c=(e[d+-16>>1]|0)+16+l+((o+p|0)*20|0)+(H(j+q|0,-5)|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=a+(g<<1)|0;q=q+16+m+((j+o|0)*20|0)+(H(l+p|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(q>>>0<16384?q:0-q>>31&16383)|0)>>>1;c=a+(h<<1)|0;p=p+16+k+((l+j|0)*20|0)+(H(m+o|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(p>>>0<16384?p:0-p>>31&16383)|0)>>>1;c=a+(i<<1)|0;j=o+16+n+((m+l|0)*20|0)+(H(k+j|0,-5)|0)>>5;b[c>>1]=((e[c>>1]|0)+1+(j>>>0<16384?j:0-j>>31&16383)|0)>>>1;f=f+1|0;a=a+2|0;d=d+2|0}return}function dF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function eF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==4)break;j=c+1|0;m=c+-1|0;i=c+2|0;h=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+3|0;h=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[k>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[k>>0]|0)+(d[c>>0]|0)|0,-5)|0;l=c+4|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+5|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+6>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function fF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function gF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function hF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==4)break;j=c+2|0;m=c+-2|0;i=c+4|0;a=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+6|0;a=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[k>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[k>>1]|0)+(e[c>>1]|0)|0,-5)|0;l=c+8|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+10|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+12>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function iF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=yE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function jF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=DE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;f=f+1|0;a=a+e|0;b=b+e|0}return}function kF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=yE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function lF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=yE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function mF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;g=a;i=b;h=i;i=i+4|0;i=yE(c[g>>2]|0,c[g+4>>2]|0,d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=M()|0;g=a;c[g>>2]=i;c[g+4>>2]=h;f=f+1|0;a=a+e|0;b=b+e|0}return}function nF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<512?m:0-m>>31&511;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<512?m:0-m>>31&511;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function oF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function pF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<512?L:0-L>>31&511;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<512?c:0-c>>31&511;g=g+1|0;f=f+2|0;d=d+2|0}return}function qF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=yE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=yE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=yE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=yE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function rF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=0;while(1){if((g|0)==8)break;j=c+1|0;i=c+-1|0;k=c+2|0;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+3|0;m=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+m+(d[l>>0]|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[l>>0]|0)+(d[c>>0]|0)|0,-5)|0;n=c+4|0;m=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+m+(d[n>>0]|0)>>5;a[b+1>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[n>>0]|0)+(d[j>>0]|0)|0,-5)|0;i=c+5|0;m=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+m+(d[i>>0]|0)>>5;a[b+2>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[i>>0]|0)+(d[k>>0]|0)|0,-5)|0;h=c+6|0;m=(((d[n>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+m+(d[h>>0]|0)>>5;a[b+3>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[h>>0]|0)+(d[l>>0]|0)|0,-5)|0;j=c+7|0;m=(((d[i>>0]|0)+(d[n>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+m+(d[j>>0]|0)>>5;a[b+4>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[j>>0]|0)+(d[n>>0]|0)|0,-5)|0;k=c+8|0;m=(((d[h>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+m+(d[k>>0]|0)>>5;a[b+5>>0]=m>>>0>255?(m^-2147483648)>>31:m;m=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;l=c+9|0;m=(((d[j>>0]|0)+(d[h>>0]|0)|0)*20|0)+16+(d[n>>0]|0)+m+(d[l>>0]|0)>>5;a[b+6>>0]=m>>>0>255?(m^-2147483648)>>31:m;h=H((d[l>>0]|0)+(d[h>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+10>>0]|0)>>5;a[b+7>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function sF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==13)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+8|0;c=c+e|0}return}function tF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;K=d[c+t>>0]|0;J=d[c>>0]|0;I=d[c+f>>0]|0;G=d[c+u>>0]|0;F=d[c+v>>0]|0;E=d[c+w>>0]|0;D=d[c+x>>0]|0;y=d[c+h>>0]|0;A=d[c+i>>0]|0;B=d[c+j>>0]|0;z=d[c+k>>0]|0;C=d[c+l>>0]|0;L=(d[c+s>>0]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[b>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[b+e>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[b+m>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+16+y+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;a[b+n>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+16+A+((D+E|0)*20|0)+(H(y+F|0,-5)|0)>>5;a[b+o>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+16+B+((y+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;a[b+p>>0]=F>>>0>255?(F^-2147483648)>>31:F;E=E+16+z+((A+y|0)*20|0)+(H(B+D|0,-5)|0)>>5;a[b+q>>0]=E>>>0>255?(E^-2147483648)>>31:E;y=D+16+C+((B+A|0)*20|0)+(H(z+y|0,-5)|0)>>5;a[b+r>>0]=y>>>0>255?(y^-2147483648)>>31:y;g=g+1|0;b=b+1|0;c=c+1|0}return}function uF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;p=b+m|0;l=H(j,h)|0;o=e+l|0;k=H(j,f)|0;n=a+k|0;q=c[n>>2]|0;c[n>>2]=DE(q,DE(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24)|0)|0;m=b+(m+4)|0;l=e+(l+4)|0;k=a+(k+4)|0;n=c[k>>2]|0;c[k>>2]=DE(n,DE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0)|0;j=j+1|0}return}function vF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<1024?m:0-m>>31&1023;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<1024?m:0-m>>31&1023;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function wF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function xF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<1024?L:0-L>>31&1023;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<1024?K:0-K>>31&1023;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<1024?I:0-I>>31&1023;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<1024?F:0-F>>31&1023;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;g=g+1|0;f=f+2|0;d=d+2|0}return}function yF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=yE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=yE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=yE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=yE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function zF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<4096?m:0-m>>31&4095;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<4096?m:0-m>>31&4095;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function AF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function BF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<4096?E:0-E>>31&4095;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;g=g+1|0;f=f+2|0;d=d+2|0}return}function CF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=yE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=yE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=yE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=yE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function DF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;j=c+2|0;i=c+-2|0;k=c+4|0;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+6|0;m=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+m+(e[l>>1]|0)>>5;b[d>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[l>>1]|0)+(e[c>>1]|0)|0,-5)|0;n=c+8|0;m=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+m+(e[n>>1]|0)>>5;b[d+2>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[n>>1]|0)+(e[j>>1]|0)|0,-5)|0;i=c+10|0;m=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+m+(e[i>>1]|0)>>5;b[d+4>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[i>>1]|0)+(e[k>>1]|0)|0,-5)|0;a=c+12|0;m=(((e[n>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+m+(e[a>>1]|0)>>5;b[d+6>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[a>>1]|0)+(e[l>>1]|0)|0,-5)|0;j=c+14|0;m=(((e[i>>1]|0)+(e[n>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+m+(e[j>>1]|0)>>5;b[d+8>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[j>>1]|0)+(e[n>>1]|0)|0,-5)|0;k=c+16|0;m=(((e[a>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+m+(e[k>>1]|0)>>5;b[d+10>>1]=m>>>0<16384?m:0-m>>31&16383;m=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;l=c+18|0;m=(((e[j>>1]|0)+(e[a>>1]|0)|0)*20|0)+16+(e[n>>1]|0)+m+(e[l>>1]|0)>>5;b[d+12>>1]=m>>>0<16384?m:0-m>>31&16383;a=H((e[l>>1]|0)+(e[a>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+20>>1]|0)>>5;b[d+14>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function EF(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==13)break;j=c;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+8|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+8|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function FF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;K=e[d+(w<<1)>>1]|0;J=e[d>>1]|0;I=e[d+(u<<1)>>1]|0;G=e[d+(x<<1)>>1]|0;F=e[d+(y<<1)>>1]|0;E=e[d+(h<<1)>>1]|0;D=e[d+(i<<1)>>1]|0;c=e[d+(j<<1)>>1]|0;A=e[d+(k<<1)>>1]|0;B=e[d+(l<<1)>>1]|0;a=e[d+(m<<1)>>1]|0;C=e[d+(n<<1)>>1]|0;L=(e[d+(v<<1)>>1]|0)+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[f>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[f+(z<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+16+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[f+(o<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+16+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>5;b[f+(p<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+16+A+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>5;b[f+(q<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+16+B+((c+D|0)*20|0)+(H(A+E|0,-5)|0)>>5;b[f+(r<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;E=E+16+a+((A+c|0)*20|0)+(H(B+D|0,-5)|0)>>5;b[f+(s<<1)>>1]=E>>>0<16384?E:0-E>>31&16383;c=D+16+C+((B+A|0)*20|0)+(H(a+c|0,-5)|0)>>5;b[f+(t<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;g=g+1|0;f=f+2|0;d=d+2|0}return}function GF(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=0;while(1){if((j|0)>=(i|0))break;p=H(j,g)|0;s=b+p|0;t=s;s=s+4|0;m=H(j,h)|0;l=e+m|0;r=l;l=l+4|0;k=H(j,f)|0;q=a+k|0;o=q;n=c[o>>2]|0;o=c[o+4>>2]|0;l=yE(d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24,d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24,d[r>>0]|d[r+1>>0]<<8|d[r+2>>0]<<16|d[r+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;l=yE(n,o,l,M()|0)|0;o=M()|0;c[q>>2]=l;c[q+4>>2]=o;p=b+(p+8)|0;q=p;p=p+4|0;m=e+(m+8)|0;o=m;m=m+4|0;k=a+(k+8)|0;l=k;n=c[l>>2]|0;l=c[l+4>>2]|0;m=yE(d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24,d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;m=yE(n,l,m,M()|0)|0;l=M()|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function HF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;K=b[h+(f<<1)>>1]|0;J=b[h>>1]|0;I=b[h+(g<<1)>>1]|0;G=b[h+(l<<1)>>1]|0;F=b[h+(m<<1)>>1]|0;E=b[h+(n<<1)>>1]|0;D=b[h+(o<<1)>>1]|0;c=b[h+(p<<1)>>1]|0;a=b[h+(q<<1)>>1]|0;B=b[h+(r<<1)>>1]|0;A=b[h+(s<<1)>>1]|0;C=b[h+(t<<1)>>1]|0;L=(b[h+(k<<1)>>1]|0)+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[j>>1]=L>>>0<512?L:0-L>>31&511;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[j+(d<<1)>>1]=K>>>0<512?K:0-K>>31&511;J=J+512+D+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[j+(u<<1)>>1]=J>>>0<512?J:0-J>>31&511;I=I+512+c+((E+F|0)*20|0)+(H(D+G|0,-5)|0)>>10;b[j+(v<<1)>>1]=I>>>0<512?I:0-I>>31&511;G=G+512+a+((D+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;b[j+(w<<1)>>1]=G>>>0<512?G:0-G>>31&511;F=F+512+B+((c+D|0)*20|0)+(H(a+E|0,-5)|0)>>10;b[j+(x<<1)>>1]=F>>>0<512?F:0-F>>31&511;E=E+512+A+((a+c|0)*20|0)+(H(B+D|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<512?E:0-E>>31&511;c=D+512+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<512?c:0-c>>31&511;j=j+2|0;h=h+2|0;i=i+1|0}return}function IF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;L=b[f+(l<<1)>>1]|0;K=b[f>>1]|0;J=b[f+(h<<1)>>1]|0;I=b[f+(m<<1)>>1]|0;G=b[f+(n<<1)>>1]|0;F=b[f+(o<<1)>>1]|0;E=b[f+(p<<1)>>1]|0;B=b[f+(q<<1)>>1]|0;c=b[f+(r<<1)>>1]|0;C=b[f+(s<<1)>>1]|0;e=b[f+(t<<1)>>1]|0;D=b[f+(u<<1)>>1]|0;M=(b[f+(i<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[k>>0]=M>>>0>255?(M^-2147483648)>>31:M;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[k+g>>0]=L>>>0>255?(L^-2147483648)>>31:L;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[k+v>>0]=K>>>0>255?(K^-2147483648)>>31:K;J=J+512+B+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;a[k+w>>0]=J>>>0>255?(J^-2147483648)>>31:J;I=I+512+c+((E+F|0)*20|0)+(H(B+G|0,-5)|0)>>10;a[k+x>>0]=I>>>0>255?(I^-2147483648)>>31:I;G=G+512+C+((B+E|0)*20|0)+(H(c+F|0,-5)|0)>>10;a[k+y>>0]=G>>>0>255?(G^-2147483648)>>31:G;F=F+512+e+((c+B|0)*20|0)+(H(C+E|0,-5)|0)>>10;a[k+z>>0]=F>>>0>255?(F^-2147483648)>>31:F;B=E+512+D+((C+c|0)*20|0)+(H(e+B|0,-5)|0)>>10;a[k+A>>0]=B>>>0>255?(B^-2147483648)>>31:B;k=k+1|0;f=f+2|0;j=j+1|0}return}function JF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;Q=b[h+(f<<1)>>1]|0;O=b[h>>1]|0;P=O+10230|0;M=b[h+(g<<1)>>1]|0;N=M+10230|0;K=b[h+(l<<1)>>1]|0;L=K+10230|0;I=b[h+(m<<1)>>1]|0;J=I+10230|0;F=b[h+(n<<1)>>1]|0;G=F+10230|0;D=b[h+(o<<1)>>1]|0;E=D+10230|0;c=(b[h+(p<<1)>>1]|0)+10230|0;a=(b[h+(q<<1)>>1]|0)+10230|0;B=(b[h+(r<<1)>>1]|0)+10230|0;A=(b[h+(s<<1)>>1]|0)+10230|0;C=b[h+(t<<1)>>1]|0;R=(b[h+(k<<1)>>1]|0)+10742+J+((N+P|0)*20|0)+(H(L+(Q+10230)|0,-5)|0)>>10;b[j>>1]=R>>>0<1024?R:0-R>>31&1023;P=Q+10742+G+((L+N|0)*20|0)+(H(J+P|0,-5)|0)>>10;b[j+(d<<1)>>1]=P>>>0<1024?P:0-P>>31&1023;N=O+10742+E+((J+L|0)*20|0)+(H(G+N|0,-5)|0)>>10;b[j+(u<<1)>>1]=N>>>0<1024?N:0-N>>31&1023;L=M+10742+c+((G+J|0)*20|0)+(H(E+L|0,-5)|0)>>10;b[j+(v<<1)>>1]=L>>>0<1024?L:0-L>>31&1023;J=K+10742+a+((E+G|0)*20|0)+(H(c+J|0,-5)|0)>>10;b[j+(w<<1)>>1]=J>>>0<1024?J:0-J>>31&1023;G=I+10742+B+((c+E|0)*20|0)+(H(a+G|0,-5)|0)>>10;b[j+(x<<1)>>1]=G>>>0<1024?G:0-G>>31&1023;E=F+10742+A+((a+c|0)*20|0)+(H(B+E|0,-5)|0)>>10;b[j+(y<<1)>>1]=E>>>0<1024?E:0-E>>31&1023;c=D+20972+C+((B+a|0)*20|0)+(H(A+c|0,-5)|0)>>10;b[j+(z<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;j=j+2|0;h=h+2|0;i=i+1|0}return}function KF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<4096?M:0-M>>31&4095;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<4096?L:0-L>>31&4095;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<4096?K:0-K>>31&4095;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<4096?J:0-J>>31&4095;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<4096?I:0-I>>31&4095;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<4096?G:0-G>>31&4095;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<4096?F:0-F>>31&4095;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<4096?d:0-d>>31&4095;k=k+2|0;i=i+4|0;j=j+1|0}return}function LF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;L=c[i+(g<<2)>>2]|0;K=c[i>>2]|0;J=c[i+(h<<2)>>2]|0;I=c[i+(m<<2)>>2]|0;G=c[i+(n<<2)>>2]|0;F=c[i+(o<<2)>>2]|0;E=c[i+(p<<2)>>2]|0;d=c[i+(q<<2)>>2]|0;a=c[i+(r<<2)>>2]|0;C=c[i+(s<<2)>>2]|0;B=c[i+(t<<2)>>2]|0;D=c[i+(u<<2)>>2]|0;M=(c[i+(l<<2)>>2]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[k>>1]=M>>>0<16384?M:0-M>>31&16383;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[k+(f<<1)>>1]=L>>>0<16384?L:0-L>>31&16383;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[k+(v<<1)>>1]=K>>>0<16384?K:0-K>>31&16383;J=J+512+d+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[k+(w<<1)>>1]=J>>>0<16384?J:0-J>>31&16383;I=I+512+a+((E+F|0)*20|0)+(H(d+G|0,-5)|0)>>10;b[k+(x<<1)>>1]=I>>>0<16384?I:0-I>>31&16383;G=G+512+C+((d+E|0)*20|0)+(H(a+F|0,-5)|0)>>10;b[k+(y<<1)>>1]=G>>>0<16384?G:0-G>>31&16383;F=F+512+B+((a+d|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[k+(z<<1)>>1]=F>>>0<16384?F:0-F>>31&16383;d=E+512+D+((C+a|0)*20|0)+(H(B+d|0,-5)|0)>>10;b[k+(A<<1)>>1]=d>>>0<16384?d:0-d>>31&16383;k=k+2|0;i=i+4|0;j=j+1|0}return}function MF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;L=b[h+(f<<1)>>1]|0;K=b[h>>1]|0;J=b[h+(g<<1)>>1]|0;I=b[h+(l<<1)>>1]|0;G=b[h+(m<<1)>>1]|0;F=b[h+(n<<1)>>1]|0;E=b[h+(o<<1)>>1]|0;A=b[h+(p<<1)>>1]|0;B=b[h+(q<<1)>>1]|0;C=b[h+(r<<1)>>1]|0;a=b[h+(s<<1)>>1]|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=j+(d<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(u<<1)|0;K=K+512+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;J=J+512+A+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>10;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;I=I+512+B+((E+F|0)*20|0)+(H(A+G|0,-5)|0)>>10;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;G=G+512+C+((A+E|0)*20|0)+(H(B+F|0,-5)|0)>>10;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=F+512+a+((B+A|0)*20|0)+(H(C+E|0,-5)|0)>>10;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+512+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<512?A:0-A>>31&511)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function NF(c,e,f,g,h,i){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;B=h*13|0;j=e;k=0;f=f+(0-(i<<1))|0;while(1){if((k|0)==13)break;y=f+1|0;z=f+-1|0;x=f+2|0;v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+3|0;b[j>>1]=(((d[y>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+v+(d[w>>0]|0);v=H((d[w>>0]|0)+(d[f>>0]|0)|0,-5)|0;u=f+4|0;b[j+2>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+v+(d[u>>0]|0);v=H((d[u>>0]|0)+(d[y>>0]|0)|0,-5)|0;z=f+5|0;b[j+4>>1]=(((d[w>>0]|0)+(d[x>>0]|0)|0)*20|0)+(d[f>>0]|0)+v+(d[z>>0]|0);v=H((d[z>>0]|0)+(d[x>>0]|0)|0,-5)|0;A=f+6|0;b[j+6>>1]=(((d[u>>0]|0)+(d[w>>0]|0)|0)*20|0)+(d[y>>0]|0)+v+(d[A>>0]|0);v=H((d[A>>0]|0)+(d[w>>0]|0)|0,-5)|0;y=f+7|0;b[j+8>>1]=(((d[z>>0]|0)+(d[u>>0]|0)|0)*20|0)+(d[x>>0]|0)+v+(d[y>>0]|0);v=H((d[y>>0]|0)+(d[u>>0]|0)|0,-5)|0;x=f+8|0;b[j+10>>1]=(((d[A>>0]|0)+(d[z>>0]|0)|0)*20|0)+(d[w>>0]|0)+v+(d[x>>0]|0);v=H((d[x>>0]|0)+(d[z>>0]|0)|0,-5)|0;w=f+9|0;b[j+12>>1]=(((d[y>>0]|0)+(d[A>>0]|0)|0)*20|0)+(d[u>>0]|0)+v+(d[w>>0]|0);A=H((d[w>>0]|0)+(d[A>>0]|0)|0,-5)|0;b[j+14>>1]=(((d[x>>0]|0)+(d[y>>0]|0)|0)*20|0)+(d[z>>0]|0)+A+(d[f+10>>0]|0);j=j+(h<<1)|0;k=k+1|0;f=f+i|0}i=H(h,-2)|0;l=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=g<<1;w=g*3|0;x=g<<2;y=g*5|0;z=g*6|0;A=g*7|0;k=c;f=e+(B<<1)+((H(h,-11)|0)<<1)|0;j=0;while(1){if((j|0)==8)break;M=b[f+(l<<1)>>1]|0;L=b[f>>1]|0;K=b[f+(h<<1)>>1]|0;J=b[f+(m<<1)>>1]|0;I=b[f+(n<<1)>>1]|0;G=b[f+(o<<1)>>1]|0;F=b[f+(p<<1)>>1]|0;e=b[f+(q<<1)>>1]|0;C=b[f+(r<<1)>>1]|0;D=b[f+(s<<1)>>1]|0;c=b[f+(t<<1)>>1]|0;E=b[f+(u<<1)>>1]|0;B=(b[f+(i<<1)>>1]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;a[k>>0]=((d[k>>0]|0)+1+((B>>>0>255?(B^-2147483648)>>31:B)&255)|0)>>>1;B=k+g|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;a[B>>0]=((d[B>>0]|0)+1+((M>>>0>255?(M^-2147483648)>>31:M)&255)|0)>>>1;B=k+v|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;a[B>>0]=(((L>>>0>255?(L^-2147483648)>>31:L)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+w|0;K=K+512+e+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;a[B>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+x|0;J=J+512+C+((F+G|0)*20|0)+(H(e+I|0,-5)|0)>>10;a[B>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+y|0;I=I+512+D+((e+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;a[B>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+z|0;G=G+512+c+((C+e|0)*20|0)+(H(D+F|0,-5)|0)>>10;a[B>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[B>>0]|0)|0)>>>1;B=k+A|0;e=F+512+E+((D+C|0)*20|0)+(H(c+e|0,-5)|0)>>10;a[B>>0]=(((e>>>0>255?(e^-2147483648)>>31:e)&255)+1+(d[B>>0]|0)|0)>>>1;k=k+1|0;f=f+2|0;j=j+1|0}return}function OF(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;k=h>>1;A=g*13|0;i=c;j=0;h=d+(0-(k<<1)<<1)|0;while(1){if((j|0)==13)break;x=h+2|0;y=h+-2|0;w=h+4|0;u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+6|0;b[i>>1]=(((e[x>>1]|0)+(e[h>>1]|0)|0)*20|0)+55306+(e[h+-4>>1]|0)+u+(e[v>>1]|0);u=H((e[v>>1]|0)+(e[h>>1]|0)|0,-5)|0;t=h+8|0;b[i+2>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+u+(e[t>>1]|0);u=H((e[t>>1]|0)+(e[x>>1]|0)|0,-5)|0;y=h+10|0;b[i+4>>1]=(((e[v>>1]|0)+(e[w>>1]|0)|0)*20|0)+55306+(e[h>>1]|0)+u+(e[y>>1]|0);u=H((e[y>>1]|0)+(e[w>>1]|0)|0,-5)|0;z=h+12|0;b[i+6>>1]=(((e[t>>1]|0)+(e[v>>1]|0)|0)*20|0)+55306+(e[x>>1]|0)+u+(e[z>>1]|0);u=H((e[z>>1]|0)+(e[v>>1]|0)|0,-5)|0;x=h+14|0;b[i+8>>1]=(((e[y>>1]|0)+(e[t>>1]|0)|0)*20|0)+55306+(e[w>>1]|0)+u+(e[x>>1]|0);u=H((e[x>>1]|0)+(e[t>>1]|0)|0,-5)|0;w=h+16|0;b[i+10>>1]=(((e[z>>1]|0)+(e[y>>1]|0)|0)*20|0)+55306+(e[v>>1]|0)+u+(e[w>>1]|0);u=H((e[w>>1]|0)+(e[y>>1]|0)|0,-5)|0;v=h+18|0;b[i+12>>1]=(((e[x>>1]|0)+(e[z>>1]|0)|0)*20|0)+55306+(e[t>>1]|0)+u+(e[v>>1]|0);z=H((e[v>>1]|0)+(e[z>>1]|0)|0,-5)|0;b[i+14>>1]=(((e[w>>1]|0)+(e[x>>1]|0)|0)*20|0)+55306+(e[y>>1]|0)+z+(e[h+20>>1]|0);i=i+(g<<1)|0;j=j+1|0;h=h+(k<<1)|0}d=f>>1;k=H(g,-2)|0;f=0-g|0;l=g<<1;m=g*3|0;n=g<<2;o=g*5|0;p=g*6|0;q=g*7|0;r=g<<3;s=g*9|0;t=g*10|0;u=d<<1;v=d*3|0;w=d<<2;x=d*5|0;y=d*6|0;z=d*7|0;j=a;h=c+(A<<1)+((H(g,-11)|0)<<1)|0;i=0;while(1){if((i|0)==8)break;R=b[h+(f<<1)>>1]|0;P=b[h>>1]|0;Q=P+10230|0;N=b[h+(g<<1)>>1]|0;O=N+10230|0;L=b[h+(l<<1)>>1]|0;M=L+10230|0;J=b[h+(m<<1)>>1]|0;K=J+10230|0;G=b[h+(n<<1)>>1]|0;I=G+10230|0;E=b[h+(o<<1)>>1]|0;F=E+10230|0;A=(b[h+(p<<1)>>1]|0)+10230|0;B=(b[h+(q<<1)>>1]|0)+10230|0;C=(b[h+(r<<1)>>1]|0)+10230|0;a=(b[h+(s<<1)>>1]|0)+10230|0;D=b[h+(t<<1)>>1]|0;c=(b[h+(k<<1)>>1]|0)+10742+K+((O+Q|0)*20|0)+(H(M+(R+10230)|0,-5)|0)>>10;b[j>>1]=((e[j>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=j+(d<<1)|0;Q=R+10742+I+((M+O|0)*20|0)+(H(K+Q|0,-5)|0)>>10;b[c>>1]=((e[c>>1]|0)+1+(Q>>>0<1024?Q:0-Q>>31&1023)|0)>>>1;c=j+(u<<1)|0;O=P+10742+F+((K+M|0)*20|0)+(H(I+O|0,-5)|0)>>10;b[c>>1]=((O>>>0<1024?O:0-O>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(v<<1)|0;M=N+10742+A+((I+K|0)*20|0)+(H(F+M|0,-5)|0)>>10;b[c>>1]=((M>>>0<1024?M:0-M>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(w<<1)|0;K=L+10742+B+((F+I|0)*20|0)+(H(A+K|0,-5)|0)>>10;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(x<<1)|0;I=J+10742+C+((A+F|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(y<<1)|0;F=G+10742+a+((B+A|0)*20|0)+(H(C+F|0,-5)|0)>>10;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=j+(z<<1)|0;A=E+20972+D+((C+B|0)*20|0)+(H(a+A|0,-5)|0)>>10;b[c>>1]=((A>>>0<1024?A:0-A>>31&1023)+1+(e[c>>1]|0)|0)>>>1;j=j+2|0;h=h+2|0;i=i+1|0}return}function PF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<4096?d:0-d>>31&4095)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<4096?M:0-M>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<4096?B:0-B>>31&4095)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function QF(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0;l=i>>1;B=h*13|0;j=d;k=0;i=f+(0-(l<<1)<<1)|0;while(1){if((k|0)==13)break;A=e[i>>1]|0;y=e[i+2>>1]|0;z=e[i+-2>>1]|0;x=e[i+4>>1]|0;v=H(x+z|0,-5)|0;w=e[i+6>>1]|0;c[j>>2]=((y+A|0)*20|0)+(e[i+-4>>1]|0)+v+w;v=H(w+A|0,-5)|0;u=e[i+8>>1]|0;c[j+4>>2]=((x+y|0)*20|0)+z+v+u;v=H(u+y|0,-5)|0;z=e[i+10>>1]|0;c[j+8>>2]=((w+x|0)*20|0)+A+v+z;v=H(z+x|0,-5)|0;A=e[i+12>>1]|0;c[j+12>>2]=((u+w|0)*20|0)+y+v+A;v=H(A+w|0,-5)|0;y=e[i+14>>1]|0;c[j+16>>2]=((z+u|0)*20|0)+x+v+y;v=H(y+u|0,-5)|0;x=e[i+16>>1]|0;c[j+20>>2]=((A+z|0)*20|0)+w+v+x;v=H(x+z|0,-5)|0;w=e[i+18>>1]|0;c[j+24>>2]=((y+A|0)*20|0)+u+v+w;A=H(w+A|0,-5)|0;c[j+28>>2]=((x+y|0)*20|0)+z+A+(e[i+20>>1]|0);j=j+(h<<2)|0;k=k+1|0;i=i+(l<<1)|0}f=g>>1;l=H(h,-2)|0;g=0-h|0;m=h<<1;n=h*3|0;o=h<<2;p=h*5|0;q=h*6|0;r=h*7|0;s=h<<3;t=h*9|0;u=h*10|0;v=f<<1;w=f*3|0;x=f<<2;y=f*5|0;z=f*6|0;A=f*7|0;k=a;i=d+(B<<2)+((H(h,-11)|0)<<2)|0;j=0;while(1){if((j|0)==8)break;M=c[i+(g<<2)>>2]|0;L=c[i>>2]|0;K=c[i+(h<<2)>>2]|0;J=c[i+(m<<2)>>2]|0;I=c[i+(n<<2)>>2]|0;G=c[i+(o<<2)>>2]|0;F=c[i+(p<<2)>>2]|0;B=c[i+(q<<2)>>2]|0;C=c[i+(r<<2)>>2]|0;D=c[i+(s<<2)>>2]|0;a=c[i+(t<<2)>>2]|0;E=c[i+(u<<2)>>2]|0;d=(c[i+(l<<2)>>2]|0)+512+I+((K+L|0)*20|0)+(H(J+M|0,-5)|0)>>10;b[k>>1]=((d>>>0<16384?d:0-d>>31&16383)+1+(e[k>>1]|0)|0)>>>1;d=k+(f<<1)|0;M=M+512+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>10;b[d>>1]=((M>>>0<16384?M:0-M>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(v<<1)|0;L=L+512+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>10;b[d>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(w<<1)|0;K=K+512+B+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>10;b[d>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(x<<1)|0;J=J+512+C+((F+G|0)*20|0)+(H(B+I|0,-5)|0)>>10;b[d>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(y<<1)|0;I=I+512+D+((B+F|0)*20|0)+(H(C+G|0,-5)|0)>>10;b[d>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(z<<1)|0;G=G+512+a+((C+B|0)*20|0)+(H(D+F|0,-5)|0)>>10;b[d>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[d>>1]|0)|0)>>>1;d=k+(A<<1)|0;B=F+512+E+((D+C|0)*20|0)+(H(a+B|0,-5)|0)>>10;b[d>>1]=((B>>>0<16384?B:0-B>>31&16383)+1+(e[d>>1]|0)|0)>>>1;k=k+2|0;i=i+4|0;j=j+1|0}return}function RF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<512?c:0-c>>31&511)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<512?L:0-L>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<512?K:0-K>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<512?J:0-J>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<512?I:0-I>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<512?G:0-G>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<512?F:0-F>>31&511)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<512?a:0-a>>31&511)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function SF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;s=H(f,-2)|0;t=0-f|0;u=f<<1;v=f*3|0;w=f<<2;x=f*5|0;h=f*6|0;i=f*7|0;j=f<<3;k=f*9|0;l=f*10|0;m=e<<1;n=e*3|0;o=e<<2;p=e*5|0;q=e*6|0;r=e*7|0;g=0;while(1){if((g|0)==8)break;L=d[c+t>>0]|0;K=d[c>>0]|0;J=d[c+f>>0]|0;I=d[c+u>>0]|0;G=d[c+v>>0]|0;F=d[c+w>>0]|0;E=d[c+x>>0]|0;z=d[c+h>>0]|0;B=d[c+i>>0]|0;C=d[c+j>>0]|0;A=d[c+k>>0]|0;D=d[c+l>>0]|0;y=(d[c+s>>0]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((y>>>0>255?(y^-2147483648)>>31:y)&255)|0)>>>1;y=b+e|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;a[y>>0]=((d[y>>0]|0)+1+((L>>>0>255?(L^-2147483648)>>31:L)&255)|0)>>>1;y=b+m|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;a[y>>0]=(((K>>>0>255?(K^-2147483648)>>31:K)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+n|0;J=J+16+z+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;a[y>>0]=(((J>>>0>255?(J^-2147483648)>>31:J)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+o|0;I=I+16+B+((E+F|0)*20|0)+(H(z+G|0,-5)|0)>>5;a[y>>0]=(((I>>>0>255?(I^-2147483648)>>31:I)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+p|0;G=G+16+C+((z+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;a[y>>0]=(((G>>>0>255?(G^-2147483648)>>31:G)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+q|0;F=F+16+A+((B+z|0)*20|0)+(H(C+E|0,-5)|0)>>5;a[y>>0]=(((F>>>0>255?(F^-2147483648)>>31:F)&255)+1+(d[y>>0]|0)|0)>>>1;y=b+r|0;z=E+16+D+((C+B|0)*20|0)+(H(A+z|0,-5)|0)>>5;a[y>>0]=(((z>>>0>255?(z^-2147483648)>>31:z)&255)+1+(d[y>>0]|0)|0)>>>1;g=g+1|0;b=b+1|0;c=c+1|0}return}function TF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<1024?c:0-c>>31&1023)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<1024?L:0-L>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<1024?K:0-K>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<1024?J:0-J>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<1024?I:0-I>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<1024?G:0-G>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<1024?F:0-F>>31&1023)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<1024?a:0-a>>31&1023)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function UF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<4096?c:0-c>>31&4095)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<4096?L:0-L>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<4096?K:0-K>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<4096?J:0-J>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<4096?I:0-I>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<4096?G:0-G>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<4096?F:0-F>>31&4095)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<4096?a:0-a>>31&4095)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function VF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0;z=d>>1;u=f>>1;v=H(u,-2)|0;w=0-u|0;x=u<<1;y=u*3|0;h=u<<2;i=u*5|0;j=u*6|0;k=u*7|0;l=u<<3;m=u*9|0;n=u*10|0;o=z<<1;p=z*3|0;q=z<<2;r=z*5|0;s=z*6|0;t=z*7|0;g=0;f=a;d=c;while(1){if((g|0)==8)break;L=e[d+(w<<1)>>1]|0;K=e[d>>1]|0;J=e[d+(u<<1)>>1]|0;I=e[d+(x<<1)>>1]|0;G=e[d+(y<<1)>>1]|0;F=e[d+(h<<1)>>1]|0;E=e[d+(i<<1)>>1]|0;a=e[d+(j<<1)>>1]|0;B=e[d+(k<<1)>>1]|0;C=e[d+(l<<1)>>1]|0;A=e[d+(m<<1)>>1]|0;D=e[d+(n<<1)>>1]|0;c=(e[d+(v<<1)>>1]|0)+16+G+((J+K|0)*20|0)+(H(I+L|0,-5)|0)>>5;b[f>>1]=((e[f>>1]|0)+1+(c>>>0<16384?c:0-c>>31&16383)|0)>>>1;c=f+(z<<1)|0;L=L+16+F+((I+J|0)*20|0)+(H(G+K|0,-5)|0)>>5;b[c>>1]=((L>>>0<16384?L:0-L>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(o<<1)|0;K=K+16+E+((G+I|0)*20|0)+(H(F+J|0,-5)|0)>>5;b[c>>1]=((K>>>0<16384?K:0-K>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(p<<1)|0;J=J+16+a+((F+G|0)*20|0)+(H(E+I|0,-5)|0)>>5;b[c>>1]=((J>>>0<16384?J:0-J>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(q<<1)|0;I=I+16+B+((E+F|0)*20|0)+(H(a+G|0,-5)|0)>>5;b[c>>1]=((I>>>0<16384?I:0-I>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(r<<1)|0;G=G+16+C+((a+E|0)*20|0)+(H(B+F|0,-5)|0)>>5;b[c>>1]=((G>>>0<16384?G:0-G>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(s<<1)|0;F=F+16+A+((B+a|0)*20|0)+(H(C+E|0,-5)|0)>>5;b[c>>1]=((F>>>0<16384?F:0-F>>31&16383)+1+(e[c>>1]|0)|0)>>>1;c=f+(t<<1)|0;a=E+16+D+((C+B|0)*20|0)+(H(A+a|0,-5)|0)>>5;b[c>>1]=((a>>>0<16384?a:0-a>>31&16383)+1+(e[c>>1]|0)|0)>>>1;g=g+1|0;f=f+2|0;d=d+2|0}return}function WF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<512?a:0-a>>31&511)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<512?n:0-n>>31&511)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<512?i:0-i>>31&511)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function XF(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=0;while(1){if((g|0)==8)break;k=c+1|0;j=c+-1|0;l=c+2|0;h=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+3|0;h=(((d[k>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+h+(d[m>>0]|0)>>5;a[b>>0]=((d[b>>0]|0)+1+((h>>>0>255?(h^-2147483648)>>31:h)&255)|0)>>>1;h=b+1|0;n=H((d[m>>0]|0)+(d[c>>0]|0)|0,-5)|0;o=c+4|0;n=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+n+(d[o>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+2|0;n=H((d[o>>0]|0)+(d[k>>0]|0)|0,-5)|0;j=c+5|0;n=(((d[m>>0]|0)+(d[l>>0]|0)|0)*20|0)+16+(d[c>>0]|0)+n+(d[j>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+3|0;n=H((d[j>>0]|0)+(d[l>>0]|0)|0,-5)|0;i=c+6|0;n=(((d[o>>0]|0)+(d[m>>0]|0)|0)*20|0)+16+(d[k>>0]|0)+n+(d[i>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+4|0;n=H((d[i>>0]|0)+(d[m>>0]|0)|0,-5)|0;k=c+7|0;n=(((d[j>>0]|0)+(d[o>>0]|0)|0)*20|0)+16+(d[l>>0]|0)+n+(d[k>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+5|0;n=H((d[k>>0]|0)+(d[o>>0]|0)|0,-5)|0;l=c+8|0;n=(((d[i>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[m>>0]|0)+n+(d[l>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+6|0;n=H((d[l>>0]|0)+(d[j>>0]|0)|0,-5)|0;m=c+9|0;n=(((d[k>>0]|0)+(d[i>>0]|0)|0)*20|0)+16+(d[o>>0]|0)+n+(d[m>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((n>>>0>255?(n^-2147483648)>>31:n)&255)|0)>>>1;h=b+7|0;i=H((d[m>>0]|0)+(d[i>>0]|0)|0,-5)|0;i=(((d[l>>0]|0)+(d[k>>0]|0)|0)*20|0)+16+(d[j>>0]|0)+i+(d[c+10>>0]|0)>>5;a[h>>0]=((d[h>>0]|0)+1+((i>>>0>255?(i^-2147483648)>>31:i)&255)|0)>>>1;c=c+f|0;b=b+e|0;g=g+1|0}return}function YF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<1024?a:0-a>>31&1023)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<1024?n:0-n>>31&1023)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<1024?i:0-i>>31&1023)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function ZF(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<4096?a:0-a>>31&4095)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<4096?n:0-n>>31&4095)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<4096?i:0-i>>31&4095)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function _F(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==8)break;k=c+2|0;j=c+-2|0;l=c+4|0;a=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+6|0;a=(((e[k>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+a+(e[m>>1]|0)>>5;b[d>>1]=((e[d>>1]|0)+1+(a>>>0<16384?a:0-a>>31&16383)|0)>>>1;a=d+2|0;n=H((e[m>>1]|0)+(e[c>>1]|0)|0,-5)|0;o=c+8|0;n=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+n+(e[o>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+4|0;n=H((e[o>>1]|0)+(e[k>>1]|0)|0,-5)|0;j=c+10|0;n=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+16+(e[c>>1]|0)+n+(e[j>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+6|0;n=H((e[j>>1]|0)+(e[l>>1]|0)|0,-5)|0;i=c+12|0;n=(((e[o>>1]|0)+(e[m>>1]|0)|0)*20|0)+16+(e[k>>1]|0)+n+(e[i>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+8|0;n=H((e[i>>1]|0)+(e[m>>1]|0)|0,-5)|0;k=c+14|0;n=(((e[j>>1]|0)+(e[o>>1]|0)|0)*20|0)+16+(e[l>>1]|0)+n+(e[k>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+10|0;n=H((e[k>>1]|0)+(e[o>>1]|0)|0,-5)|0;l=c+16|0;n=(((e[i>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[m>>1]|0)+n+(e[l>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+12|0;n=H((e[l>>1]|0)+(e[j>>1]|0)|0,-5)|0;m=c+18|0;n=(((e[k>>1]|0)+(e[i>>1]|0)|0)*20|0)+16+(e[o>>1]|0)+n+(e[m>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(n>>>0<16384?n:0-n>>31&16383)|0)>>>1;a=d+14|0;i=H((e[m>>1]|0)+(e[i>>1]|0)|0,-5)|0;i=(((e[l>>1]|0)+(e[k>>1]|0)|0)*20|0)+16+(e[j>>1]|0)+i+(e[c+20>>1]|0)>>5;b[a>>1]=((e[a>>1]|0)+1+(i>>>0<16384?i:0-i>>31&16383)|0)>>>1;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function $F(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=yE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=yE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function aG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=DE(c[a>>2]|0,d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24)|0;h=a+4|0;i=b+4|0;c[h>>2]=DE(c[h>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;g=g+1|0;a=a+e|0;b=b+e|0}return}function bG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=yE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=yE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function cG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=yE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=yE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function dG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=0;while(1){if((g|0)>=(f|0))break;h=a;j=b;k=j;j=j+4|0;j=yE(c[h>>2]|0,c[h+4>>2]|0,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;k=M()|0;h=a;c[h>>2]=j;c[h+4>>2]=k;h=a+8|0;k=h;j=b+8|0;i=j;j=j+4|0;j=yE(c[k>>2]|0,c[k+4>>2]|0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;i=M()|0;c[h>>2]=j;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function eG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nF(a,b,c,d);nF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;nF(a,b,c,d);nF(a+16|0,b+16|0,c,d);return}function fG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function gG(a,b,c){a=a|0;b=b|0;c=c|0;pF(a,b,c,32);pF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;pF(a,b+256|0,c,32);pF(a+16|0,b+272|0,c,32);return}function hG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qF(a,b,c,d,e,32,16);qF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function iG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rF(a,b,c,d);rF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;rF(a,b,c,d);rF(a+8|0,b+8|0,c,d);return}function jG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;f=0;while(1){if((f|0)==21)break;h=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;h=c+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;g=c+8|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=b+8|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;h=c+12|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+12|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+16|0;c=c+e|0}return}function kG(a,b,c){a=a|0;b=b|0;c=c|0;tF(a,b,c,16);tF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;tF(a,b+128|0,c,16);tF(a+8|0,b+136|0,c,16);return}function lG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;uF(a,b,c,d,e,16,16);uF(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function mG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vF(a,b,c,d);vF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;vF(a,b,c,d);vF(a+16|0,b+16|0,c,d);return}function nG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function oG(a,b,c){a=a|0;b=b|0;c=c|0;xF(a,b,c,32);xF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;xF(a,b+256|0,c,32);xF(a+16|0,b+272|0,c,32);return}function pG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;yF(a,b,c,d,e,32,16);yF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zF(a,b,c,d);zF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;zF(a,b,c,d);zF(a+16|0,b+16|0,c,d);return}function rG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function sG(a,b,c){a=a|0;b=b|0;c=c|0;BF(a,b,c,32);BF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;BF(a,b+256|0,c,32);BF(a+16|0,b+272|0,c,32);return}function tG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;CF(a,b,c,d,e,32,16);CF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function uG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;DF(a,b,c,d);DF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;DF(a,b,c,d);DF(a+16|0,b+16|0,c,d);return}function vG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((f|0)==21)break;g=c;h=g;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+4|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=b;j=i;a[j>>0]=h;a[j+1>>0]=h>>8;a[j+2>>0]=h>>16;a[j+3>>0]=h>>24;i=i+4|0;a[i>>0]=g;a[i+1>>0]=g>>8;a[i+2>>0]=g>>16;a[i+3>>0]=g>>24;i=c+8|0;g=i;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=b+8|0;h=j;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;j=j+4|0;a[j>>0]=i;a[j+1>>0]=i>>8;a[j+2>>0]=i>>16;a[j+3>>0]=i>>24;j=c+16|0;i=j;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=b+16|0;g=h;a[g>>0]=i;a[g+1>>0]=i>>8;a[g+2>>0]=i>>16;a[g+3>>0]=i>>24;h=h+4|0;a[h>>0]=j;a[h+1>>0]=j>>8;a[h+2>>0]=j>>16;a[h+3>>0]=j>>24;h=c+24|0;j=h;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=b+24|0;i=g;a[i>>0]=j;a[i+1>>0]=j>>8;a[i+2>>0]=j>>16;a[i+3>>0]=j>>24;g=g+4|0;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;f=f+1|0;b=b+32|0;c=c+e|0}return}function wG(a,b,c){a=a|0;b=b|0;c=c|0;FF(a,b,c,32);FF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;FF(a,b+256|0,c,32);FF(a+16|0,b+272|0,c,32);return}function xG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;GF(a,b,c,d,e,32,16);GF(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function yG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;HF(a,b,c,d,32,e);f=b+16|0;HF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;HF(a,b,c,d,32,e);HF(a+16|0,f,c+16|0,d,32,e);return}function zG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;IF(a,b,c,d,16,e);f=b+16|0;IF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;IF(a,b,c,d,16,e);IF(a+8|0,f,c+8|0,d,16,e);return}function AG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;JF(a,b,c,d,32,e);f=b+16|0;JF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;JF(a,b,c,d,32,e);JF(a+16|0,f,c+16|0,d,32,e);return}function BG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;KF(a,b,c,d,32,e);f=b+32|0;KF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;KF(a,b,c,d,32,e);KF(a+16|0,f,c+16|0,d,32,e);return}function CG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;LF(a,b,c,d,32,e);f=b+32|0;LF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;LF(a,b,c,d,32,e);LF(a+16|0,f,c+16|0,d,32,e);return}function DG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;MF(a,b,c,d,32,e);f=b+16|0;MF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;MF(a,b,c,d,32,e);MF(a+16|0,f,c+16|0,d,32,e);return}function EG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;NF(a,b,c,d,16,e);f=b+16|0;NF(a+8|0,f,c+8|0,d,16,e);c=c+(e<<3)|0;a=a+(d<<3)|0;NF(a,b,c,d,16,e);NF(a+8|0,f,c+8|0,d,16,e);return}function FG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;OF(a,b,c,d,32,e);f=b+16|0;OF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;OF(a,b,c,d,32,e);OF(a+16|0,f,c+16|0,d,32,e);return}function GG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;PF(a,b,c,d,32,e);f=b+32|0;PF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;PF(a,b,c,d,32,e);PF(a+16|0,f,c+16|0,d,32,e);return}function HG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;QF(a,b,c,d,32,e);f=b+32|0;QF(a+16|0,f,c+16|0,d,32,e);c=c+(e<<3)|0;a=a+(d<<3)|0;QF(a,b,c,d,32,e);QF(a+16|0,f,c+16|0,d,32,e);return}function IG(a,b,c){a=a|0;b=b|0;c=c|0;RF(a,b,c,32);RF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;RF(a,b+256|0,c,32);RF(a+16|0,b+272|0,c,32);return}function JG(a,b,c){a=a|0;b=b|0;c=c|0;SF(a,b,c,16);SF(a+8|0,b+8|0,c,16);a=a+(c<<3)|0;SF(a,b+128|0,c,16);SF(a+8|0,b+136|0,c,16);return}function KG(a,b,c){a=a|0;b=b|0;c=c|0;TF(a,b,c,32);TF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;TF(a,b+256|0,c,32);TF(a+16|0,b+272|0,c,32);return}function LG(a,b,c){a=a|0;b=b|0;c=c|0;UF(a,b,c,32);UF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;UF(a,b+256|0,c,32);UF(a+16|0,b+272|0,c,32);return}function MG(a,b,c){a=a|0;b=b|0;c=c|0;VF(a,b,c,32);VF(a+16|0,b+16|0,c,32);a=a+(c<<3)|0;VF(a,b+256|0,c,32);VF(a+16|0,b+272|0,c,32);return}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;WF(a,b,c,d);WF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;WF(a,b,c,d);WF(a+16|0,b+16|0,c,d);return}function OG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;XF(a,b,c,d);XF(a+8|0,b+8|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;XF(a,b,c,d);XF(a+8|0,b+8|0,c,d);return}function PG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;YF(a,b,c,d);YF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;YF(a,b,c,d);YF(a+16|0,b+16|0,c,d);return}function QG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ZF(a,b,c,d);ZF(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;ZF(a,b,c,d);ZF(a+16|0,b+16|0,c,d);return}function RG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;_F(a,b,c,d);_F(a+16|0,b+16|0,c,d);b=b+(d<<3)|0;a=a+(c<<3)|0;_F(a,b,c,d);_F(a+16|0,b+16|0,c,d);return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;$F(a,b,c,16);$F(a+16|0,b+16|0,c,16);return}function TG(a,b,c){a=a|0;b=b|0;c=c|0;aG(a,b,c,16);aG(a+8|0,b+8|0,c,16);return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;bG(a,b,c,16);bG(a+16|0,b+16|0,c,16);return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;cG(a,b,c,16);cG(a+16|0,b+16|0,c,16);return}function WG(a,b,c){a=a|0;b=b|0;c=c|0;dG(a,b,c,16);dG(a+16|0,b+16|0,c,16);return}function XG(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<512?l:0-l>>31&511;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<512?a:0-a>>31&511;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function YG(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function ZG(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<512?c:0-c>>31&511;f=f+1|0;a=a+2|0;d=d+2|0}return}function _G(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=yE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function $G(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=0;while(1){if((g|0)==2)break;j=c+1|0;i=c+-1|0;k=c+2|0;l=H((d[k>>0]|0)+(d[i>>0]|0)|0,-5)|0;h=c+3|0;l=(((d[j>>0]|0)+(d[c>>0]|0)|0)*20|0)+16+(d[c+-2>>0]|0)+l+(d[h>>0]|0)>>5;a[b>>0]=l>>>0>255?(l^-2147483648)>>31:l;h=H((d[h>>0]|0)+(d[c>>0]|0)|0,-5)|0;h=(((d[k>>0]|0)+(d[j>>0]|0)|0)*20|0)+16+(d[i>>0]|0)+h+(d[c+4>>0]|0)>>5;a[b+1>>0]=h>>>0>255?(h^-2147483648)>>31:h;c=c+f|0;b=b+e|0;g=g+1|0}return}function aH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8;a[b>>0]=g;a[b+1>>0]=g>>8;f=f+1|0;c=c+e|0;b=b+2|0}return}function bH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=0;while(1){if((f|0)==2)break;l=d[c+-2>>0]|0;g=d[c>>0]|0;i=d[c+2>>0]|0;j=d[c+4>>0]|0;h=d[c+6>>0]|0;k=d[c+8>>0]|0;m=(d[c+-4>>0]|0)+16+h+((i+g|0)*20|0)+(H(j+l|0,-5)|0)>>5;a[b>>0]=m>>>0>255?(m^-2147483648)>>31:m;g=l+16+k+((j+i|0)*20|0)+(H(h+g|0,-5)|0)>>5;a[b+e>>0]=g>>>0>255?(g^-2147483648)>>31:g;f=f+1|0;b=b+1|0;c=c+1|0}return}function cH(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=c+(H(h,g)|0)|0;i=e+(h<<1)|0;b[a+(H(h,f)|0)>>1]=DE((d[j>>0]|d[j+1>>0]<<8)&65535,(d[i>>0]|d[i+1>>0]<<8)&65535)|0;h=h+1|0}return}function dH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<1024?l:0-l>>31&1023;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<1024?a:0-a>>31&1023;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function eH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function fH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<1024?c:0-c>>31&1023;f=f+1|0;a=a+2|0;d=d+2|0}return}function gH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=yE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function hH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<4096?l:0-l>>31&4095;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<4096?a:0-a>>31&4095;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function iH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function jH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<4096?c:0-c>>31&4095;f=f+1|0;a=a+2|0;d=d+2|0}return}function kH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=yE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function lH(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=d>>1;g=f>>1;d=a;f=0;while(1){if((f|0)==2)break;j=c+2|0;i=c+-2|0;k=c+4|0;l=H((e[k>>1]|0)+(e[i>>1]|0)|0,-5)|0;a=c+6|0;l=(((e[j>>1]|0)+(e[c>>1]|0)|0)*20|0)+16+(e[c+-4>>1]|0)+l+(e[a>>1]|0)>>5;b[d>>1]=l>>>0<16384?l:0-l>>31&16383;a=H((e[a>>1]|0)+(e[c>>1]|0)|0,-5)|0;a=(((e[k>>1]|0)+(e[j>>1]|0)|0)*20|0)+16+(e[i>>1]|0)+a+(e[c+8>>1]|0)>>5;b[d+2>>1]=a>>>0<16384?a:0-a>>31&16383;c=c+(g<<1)|0;d=d+(h<<1)|0;f=f+1|0}return}function mH(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=0;while(1){if((f|0)==7)break;g=d[c>>0]|d[c+1>>0]<<8|d[c+2>>0]<<16|d[c+3>>0]<<24;a[b>>0]=g;a[b+1>>0]=g>>8;a[b+2>>0]=g>>16;a[b+3>>0]=g>>24;f=f+1|0;c=c+e|0;b=b+4|0}return}function nH(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=d>>1;f=0;d=c;while(1){if((f|0)==2)break;l=e[d+-4>>1]|0;c=e[d>>1]|0;i=e[d+4>>1]|0;j=e[d+8>>1]|0;h=e[d+12>>1]|0;k=e[d+16>>1]|0;m=(e[d+-8>>1]|0)+16+h+((i+c|0)*20|0)+(H(j+l|0,-5)|0)>>5;b[a>>1]=m>>>0<16384?m:0-m>>31&16383;c=l+16+k+((j+i|0)*20|0)+(H(h+c|0,-5)|0)>>5;b[a+(g<<1)>>1]=c>>>0<16384?c:0-c>>31&16383;f=f+1|0;a=a+2|0;d=d+2|0}return}function oH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==2)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;i=yE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,0,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,0)|0;M()|0;c[a+(H(h,f)|0)>>2]=i;h=h+1|0}return}function pH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=b[g>>1]|0;l=b[g+8>>1]|0;k=b[g+16>>1]|0;m=b[g+24>>1]|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+512+m+((l+n|0)*20|0)+(H(k+f|0,-5)|0)>>10;b[a>>1]=j>>>0<512?j:0-j>>31&511;n=f+512+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<512?n:0-n>>31&511;a=a+2|0;g=g+2|0;h=h+1|0}return}function qH(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=e;j=0;f=f+(0-(h<<1))|0;while(1){if((j|0)==7)break;m=f+1|0;l=f+-1|0;n=f+2|0;o=H((d[n>>0]|0)+(d[l>>0]|0)|0,-5)|0;k=f+3|0;b[i>>1]=(((d[m>>0]|0)+(d[f>>0]|0)|0)*20|0)+(d[f+-2>>0]|0)+o+(d[k>>0]|0);k=H((d[k>>0]|0)+(d[f>>0]|0)|0,-5)|0;b[i+2>>1]=(((d[n>>0]|0)+(d[m>>0]|0)|0)*20|0)+(d[l>>0]|0)+k+(d[f+4>>0]|0);i=i+4|0;j=j+1|0;f=f+h|0}f=e+8|0;i=0;while(1){if((i|0)==2)break;e=b[f+-4>>1]|0;o=b[f>>1]|0;m=b[f+4>>1]|0;l=b[f+8>>1]|0;n=b[f+12>>1]|0;k=b[f+16>>1]|0;h=(b[f+-8>>1]|0)+512+n+((m+o|0)*20|0)+(H(l+e|0,-5)|0)>>10;a[c>>0]=h>>>0>255?(h^-2147483648)>>31:h;o=e+512+k+((l+m|0)*20|0)+(H(n+o|0,-5)|0)>>10;a[c+g>>0]=o>>>0>255?(o^-2147483648)>>31:o;c=c+1|0;f=f+2|0;i=i+1|0}return}function rH(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=g>>1;h=c;i=0;g=d+(0-(j<<1)<<1)|0;while(1){if((i|0)==7)break;l=g+2|0;k=g+-2|0;m=g+4|0;n=H((e[m>>1]|0)+(e[k>>1]|0)|0,-5)|0;d=g+6|0;b[h>>1]=(((e[l>>1]|0)+(e[g>>1]|0)|0)*20|0)+55306+(e[g+-4>>1]|0)+n+(e[d>>1]|0);d=H((e[d>>1]|0)+(e[g>>1]|0)|0,-5)|0;b[h+2>>1]=(((e[m>>1]|0)+(e[l>>1]|0)|0)*20|0)+55306+(e[k>>1]|0)+d+(e[g+8>>1]|0);h=h+8|0;i=i+1|0;g=g+(j<<1)|0}i=f>>1;g=c+16|0;h=0;while(1){if((h|0)==2)break;f=b[g+-8>>1]|0;n=(b[g>>1]|0)+10230|0;l=(b[g+8>>1]|0)+10230|0;k=(b[g+16>>1]|0)+10230|0;m=(b[g+24>>1]|0)+10230|0;c=b[g+32>>1]|0;j=(b[g+-16>>1]|0)+10742+m+((l+n|0)*20|0)+(H(k+(f+10230)|0,-5)|0)>>10;b[a>>1]=j>>>0<1024?j:0-j>>31&1023;n=f+20972+c+((k+l|0)*20|0)+(H(m+n|0,-5)|0)>>10;b[a+(i<<1)>>1]=n>>>0<1024?n:0-n>>31&1023;a=a+2|0;g=g+2|0;h=h+1|0}return}function sH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<4096?g:0-g>>31&4095;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<4096?p:0-p>>31&4095;a=a+2|0;h=h+4|0;i=i+1|0}return}function tH(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=h>>1;i=d;j=0;h=f+(0-(k<<1)<<1)|0;while(1){if((j|0)==7)break;f=e[h>>1]|0;m=e[h+2>>1]|0;l=e[h+-2>>1]|0;n=e[h+4>>1]|0;p=H(n+l|0,-5)|0;o=e[h+6>>1]|0;c[i>>2]=((m+f|0)*20|0)+(e[h+-4>>1]|0)+p+o;f=H(o+f|0,-5)|0;c[i+4>>2]=((n+m|0)*20|0)+l+f+(e[h+8>>1]|0);i=i+16|0;j=j+1|0;h=h+(k<<1)|0}j=g>>1;h=d+32|0;i=0;while(1){if((i|0)==2)break;d=c[h+-16>>2]|0;p=c[h>>2]|0;n=c[h+16>>2]|0;m=c[h+32>>2]|0;o=c[h+48>>2]|0;l=c[h+64>>2]|0;g=(c[h+-32>>2]|0)+512+o+((n+p|0)*20|0)+(H(m+d|0,-5)|0)>>10;b[a>>1]=g>>>0<16384?g:0-g>>31&16383;p=d+512+l+((m+n|0)*20|0)+(H(o+p|0,-5)|0)>>10;b[a+(j<<1)>>1]=p>>>0<16384?p:0-p>>31&16383;a=a+2|0;h=h+4|0;i=i+1|0}return}function uH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function vH(a,c,e){a=a|0;c=c|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;b[a>>1]=d[c>>0]|d[c+1>>0]<<8;f=f+1|0;c=c+e|0;a=a+e|0}return}function wH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function xH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function yH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==2)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function zH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=yE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function AH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=0;while(1){if((h|0)==4)break;j=b+(H(h,g)|0)|0;i=e+(h<<2)|0;c[a+(H(h,f)|0)>>2]=DE(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24)|0;h=h+1|0}return}function BH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=yE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function CH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=yE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function DH(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=0;while(1){if((h|0)==4)break;i=b+(H(h,g)|0)|0;l=i;i=i+4|0;k=e+(h<<3)|0;j=k;k=k+4|0;k=yE(d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24)|0;j=M()|0;i=a+(H(h,f)|0)|0;c[i>>2]=k;c[i+4>>2]=j;h=h+1|0}return}function EH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function FH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;f=f+1|0;b=b+e|0;a=a+e|0}return}function GH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function HH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function IH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)==4)break;h=b;i=h;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=a;c[g>>2]=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;c[g+4>>2]=h;f=f+1|0;b=b+e|0;a=a+e|0}return}function JH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function KH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=0;while(1){if((j|0)>=(i|0))break;m=H(j,g)|0;o=b+m|0;l=H(j,h)|0;n=e+l|0;k=H(j,f)|0;c[a+k>>2]=DE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0;m=b+(m+4)|0;l=e+(l+4)|0;c[a+(k+4)>>2]=DE(d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24)|0;j=j+1|0}return}function LH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return} |
| | | function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Ec;Ec=Ec+16|0;f=g;h=(b+-9|0)>>>0<8;c[a+128>>2]=h?6:5;c[a+124>>2]=h?8:7;a:do switch(b|0){case 9:{c[a+84>>2]=9;c[a+88>>2]=10;c[a+92>>2]=11;c[a+96>>2]=12;c[a+100>>2]=4;c[a+104>>2]=5;e=(d|0)<2;c[a+108>>2]=e?7:6;c[a+112>>2]=8;c[a+116>>2]=13;c[a+120>>2]=e?27:26;c[a>>2]=5;c[a+4>>2]=6;c[a+8>>2]=7;c[a+12>>2]=8;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=3;c[a+28>>2]=4;c[a+32>>2]=9;c[a+36>>2]=10;c[a+40>>2]=11;c[a+44>>2]=5;c[a+48>>2]=6;c[a+52>>2]=7;c[a+56>>2]=12;c[a+60>>2]=e?14:13;c[a+64>>2]=e?16:15;c[a+68>>2]=8;c[a+72>>2]=e?10:9;e=e?12:11;break}case 10:{c[a+84>>2]=14;c[a+88>>2]=15;c[a+92>>2]=16;c[a+96>>2]=17;c[a+100>>2]=17;c[a+104>>2]=18;e=(d|0)<2;c[a+108>>2]=e?20:19;c[a+112>>2]=21;c[a+116>>2]=18;c[a+120>>2]=e?29:28;c[a>>2]=9;c[a+4>>2]=10;c[a+8>>2]=11;c[a+12>>2]=12;c[a+16>>2]=5;c[a+20>>2]=6;c[a+24>>2]=7;c[a+28>>2]=8;c[a+32>>2]=22;c[a+36>>2]=23;c[a+40>>2]=24;c[a+44>>2]=13;c[a+48>>2]=14;c[a+52>>2]=15;c[a+56>>2]=25;c[a+60>>2]=e?27:26;c[a+64>>2]=e?29:28;c[a+68>>2]=16;c[a+72>>2]=e?18:17;e=e?20:19;break}case 12:{c[a+84>>2]=19;c[a+88>>2]=20;c[a+92>>2]=21;c[a+96>>2]=22;c[a+100>>2]=30;c[a+104>>2]=31;e=(d|0)<2;c[a+108>>2]=e?33:32;c[a+112>>2]=34;c[a+116>>2]=23;c[a+120>>2]=e?31:30;c[a>>2]=13;c[a+4>>2]=14;c[a+8>>2]=15;c[a+12>>2]=16;c[a+16>>2]=9;c[a+20>>2]=10;c[a+24>>2]=11;c[a+28>>2]=12;c[a+32>>2]=35;c[a+36>>2]=36;c[a+40>>2]=37;c[a+44>>2]=21;c[a+48>>2]=22;c[a+52>>2]=23;c[a+56>>2]=38;c[a+60>>2]=e?40:39;c[a+64>>2]=e?42:41;c[a+68>>2]=24;c[a+72>>2]=e?26:25;e=e?28:27;break}case 14:{c[a+84>>2]=24;c[a+88>>2]=25;c[a+92>>2]=26;c[a+96>>2]=27;c[a+100>>2]=43;c[a+104>>2]=44;e=(d|0)<2;c[a+108>>2]=e?46:45;c[a+112>>2]=47;c[a+116>>2]=28;c[a+120>>2]=e?33:32;c[a>>2]=17;c[a+4>>2]=18;c[a+8>>2]=19;c[a+12>>2]=20;c[a+16>>2]=13;c[a+20>>2]=14;c[a+24>>2]=15;c[a+28>>2]=16;c[a+32>>2]=48;c[a+36>>2]=49;c[a+40>>2]=50;c[a+44>>2]=29;c[a+48>>2]=30;c[a+52>>2]=31;c[a+56>>2]=51;c[a+60>>2]=e?53:52;c[a+64>>2]=e?55:54;c[a+68>>2]=32;c[a+72>>2]=e?34:33;e=e?36:35;break}default:if((b|0)<9){c[a+84>>2]=29;c[a+88>>2]=30;c[a+92>>2]=31;c[a+96>>2]=32;c[a+100>>2]=56;c[a+104>>2]=57;e=(d|0)<2;c[a+108>>2]=e?59:58;c[a+112>>2]=60;c[a+116>>2]=33;c[a+120>>2]=e?35:34;c[a>>2]=21;c[a+4>>2]=22;c[a+8>>2]=23;c[a+12>>2]=24;c[a+16>>2]=17;c[a+20>>2]=18;c[a+24>>2]=19;c[a+28>>2]=20;c[a+32>>2]=61;c[a+36>>2]=62;c[a+40>>2]=63;c[a+44>>2]=37;c[a+48>>2]=38;c[a+52>>2]=39;c[a+56>>2]=64;c[a+60>>2]=e?66:65;c[a+64>>2]=e?68:67;c[a+68>>2]=40;c[a+72>>2]=e?42:41;e=e?44:43;break a}else{c[f>>2]=150605;c[f+4>>2]=150618;c[f+8>>2]=150;We(0,0,164054,f);Za()}}while(0);c[a+76>>2]=e;c[a+80>>2]=0;c[a+132>>2]=9;Ec=g;return}function Qm(a,b){a=a|0;b=b|0;b=(b+-9|0)>>>0<8;c[a>>2]=b?26:25;c[a+4>>2]=b?28:27;c[a+8>>2]=b?30:29;c[a+12>>2]=b?32:31;c[a+16>>2]=b?34:33;c[a+20>>2]=b?36:35;c[a+24>>2]=b?38:37;c[a+28>>2]=b?40:39;return}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0;switch(b|0){case 9:{b=98;d=102;e=106;f=110;g=99;h=103;i=107;j=111;k=100;l=104;m=108;n=112;o=101;p=105;q=109;r=113;s=130;t=134;u=138;v=142;w=131;x=135;y=139;z=143;A=132;B=136;C=140;D=144;E=133;F=137;G=141;H=145;I=114;J=118;K=122;L=126;M=115;N=119;O=123;P=127;Q=116;R=120;S=124;T=128;U=117;V=121;W=125;X=129;Y=34;Z=38;_=42;$=46;aa=35;ba=39;ca=43;da=47;ea=36;fa=40;ga=44;ha=48;ia=37;ja=41;ka=45;la=49;ma=82;na=86;oa=90;pa=94;qa=83;ra=87;sa=91;ta=95;ua=84;va=88;wa=92;xa=96;ya=85;za=89;Aa=93;Ba=97;Ca=66;Da=70;Ea=74;Fa=78;Ga=67;Ha=71;Ia=75;Ja=79;Ka=68;La=72;Ma=76;Na=80;Oa=69;Pa=73;Qa=77;Ra=81;Sa=50;Ta=54;Ua=58;Va=62;Wa=51;Xa=55;Ya=59;Za=63;_a=52;$a=56;ab=60;bb=64;cb=53;db=57;eb=61;fb=65;break}case 10:{b=322;d=326;e=330;f=334;g=323;h=327;i=331;j=335;k=324;l=328;m=332;n=336;o=325;p=329;q=333;r=337;s=354;t=358;u=362;v=366;w=355;x=359;y=363;z=367;A=356;B=360;C=364;D=368;E=357;F=361;G=365;H=369;I=338;J=342;K=346;L=350;M=339;N=343;O=347;P=351;Q=340;R=344;S=348;T=352;U=341;V=345;W=349;X=353;Y=258;Z=262;_=266;$=270;aa=259;ba=263;ca=267;da=271;ea=260;fa=264;ga=268;ha=272;ia=261;ja=265;ka=269;la=273;ma=306;na=310;oa=314;pa=318;qa=307;ra=311;sa=315;ta=319;ua=308;va=312;wa=316;xa=320;ya=309;za=313;Aa=317;Ba=321;Ca=290;Da=294;Ea=298;Fa=302;Ga=291;Ha=295;Ia=299;Ja=303;Ka=292;La=296;Ma=300;Na=304;Oa=293;Pa=297;Qa=301;Ra=305;Sa=274;Ta=278;Ua=282;Va=286;Wa=275;Xa=279;Ya=283;Za=287;_a=276;$a=280;ab=284;bb=288;cb=277;db=281;eb=285;fb=289;break}case 12:{b=434;d=438;e=442;f=446;g=435;h=439;i=443;j=447;k=436;l=440;m=444;n=448;o=437;p=441;q=445;r=449;s=466;t=470;u=474;v=478;w=467;x=471;y=475;z=479;A=468;B=472;C=476;D=480;E=469;F=473;G=477;H=481;I=450;J=454;K=458;L=462;M=451;N=455;O=459;P=463;Q=452;R=456;S=460;T=464;U=453;V=457;W=461;X=465;Y=370;Z=374;_=378;$=382;aa=371;ba=375;ca=379;da=383;ea=372;fa=376;ga=380;ha=384;ia=373;ja=377;ka=381;la=385;ma=418;na=422;oa=426;pa=430;qa=419;ra=423;sa=427;ta=431;ua=420;va=424;wa=428;xa=432;ya=421;za=425;Aa=429;Ba=433;Ca=402;Da=406;Ea=410;Fa=414;Ga=403;Ha=407;Ia=411;Ja=415;Ka=404;La=408;Ma=412;Na=416;Oa=405;Pa=409;Qa=413;Ra=417;Sa=386;Ta=390;Ua=394;Va=398;Wa=387;Xa=391;Ya=395;Za=399;_a=388;$a=392;ab=396;bb=400;cb=389;db=393;eb=397;fb=401;break}case 14:{b=546;d=550;e=554;f=558;g=547;h=551;i=555;j=559;k=548;l=552;m=556;n=560;o=549;p=553;q=557;r=561;s=578;t=582;u=586;v=590;w=579;x=583;y=587;z=591;A=580;B=584;C=588;D=592;E=581;F=585;G=589;H=593;I=562;J=566;K=570;L=574;M=563;N=567;O=571;P=575;Q=564;R=568;S=572;T=576;U=565;V=569;W=573;X=577;Y=482;Z=486;_=490;$=494;aa=483;ba=487;ca=491;da=495;ea=484;fa=488;ga=492;ha=496;ia=485;ja=489;ka=493;la=497;ma=530;na=534;oa=538;pa=542;qa=531;ra=535;sa=539;ta=543;ua=532;va=536;wa=540;xa=544;ya=533;za=537;Aa=541;Ba=545;Ca=514;Da=518;Ea=522;Fa=526;Ga=515;Ha=519;Ia=523;Ja=527;Ka=516;La=520;Ma=524;Na=528;Oa=517;Pa=521;Qa=525;Ra=529;Sa=498;Ta=502;Ua=506;Va=510;Wa=499;Xa=503;Ya=507;Za=511;_a=500;$a=504;ab=508;bb=512;cb=501;db=505;eb=509;fb=513;break}default:{b=210;d=214;e=218;f=222;g=211;h=215;i=219;j=223;k=212;l=216;m=220;n=224;o=213;p=217;q=221;r=225;s=242;t=246;u=250;v=254;w=243;x=247;y=251;z=255;A=244;B=248;C=252;D=256;E=245;F=249;G=253;H=257;I=226;J=230;K=234;L=238;M=227;N=231;O=235;P=239;Q=228;R=232;S=236;T=240;U=229;V=233;W=237;X=241;Y=146;Z=150;_=154;$=158;aa=147;ba=151;ca=155;da=159;ea=148;fa=152;ga=156;ha=160;ia=149;ja=153;ka=157;la=161;ma=194;na=198;oa=202;pa=206;qa=195;ra=199;sa=203;ta=207;ua=196;va=200;wa=204;xa=208;ya=197;za=201;Aa=205;Ba=209;Ca=178;Da=182;Ea=186;Fa=190;Ga=179;Ha=183;Ia=187;Ja=191;Ka=180;La=184;Ma=188;Na=192;Oa=181;Pa=185;Qa=189;Ra=193;Sa=162;Ta=166;Ua=170;Va=174;Wa=163;Xa=167;Ya=171;Za=175;_a=164;$a=168;ab=172;bb=176;cb=165;db=169;eb=173;fb=177}}c[a>>2]=Y;c[a+4>>2]=aa;c[a+8>>2]=ea;c[a+12>>2]=ia;c[a+16>>2]=Z;c[a+20>>2]=ba;c[a+24>>2]=fa;c[a+28>>2]=ja;c[a+32>>2]=_;c[a+36>>2]=ca;c[a+40>>2]=ga;c[a+44>>2]=ka;c[a+48>>2]=$;c[a+52>>2]=da;c[a+56>>2]=ha;c[a+60>>2]=la;c[a+64>>2]=Sa;c[a+68>>2]=Wa;c[a+72>>2]=_a;c[a+76>>2]=cb;c[a+80>>2]=Ta;c[a+84>>2]=Xa;c[a+88>>2]=$a;c[a+92>>2]=db;c[a+96>>2]=Ua;c[a+100>>2]=Ya;c[a+104>>2]=ab;c[a+108>>2]=eb;c[a+112>>2]=Va;c[a+116>>2]=Za;c[a+120>>2]=bb;c[a+124>>2]=fb;c[a+128>>2]=Ca;c[a+132>>2]=Ga;c[a+136>>2]=Ka;c[a+140>>2]=Oa;c[a+144>>2]=Da;c[a+148>>2]=Ha;c[a+152>>2]=La;c[a+156>>2]=Pa;c[a+160>>2]=Ea;c[a+164>>2]=Ia;c[a+168>>2]=Ma;c[a+172>>2]=Qa;c[a+176>>2]=Fa;c[a+180>>2]=Ja;c[a+184>>2]=Na;c[a+188>>2]=Ra;c[a+192>>2]=ma;c[a+196>>2]=qa;c[a+200>>2]=ua;c[a+204>>2]=ya;c[a+208>>2]=na;c[a+212>>2]=ra;c[a+216>>2]=va;c[a+220>>2]=za;c[a+224>>2]=oa;c[a+228>>2]=sa;c[a+232>>2]=wa;c[a+236>>2]=Aa;c[a+240>>2]=pa;c[a+244>>2]=ta;c[a+248>>2]=xa;c[a+252>>2]=Ba;c[a+256>>2]=b;c[a+260>>2]=g;c[a+264>>2]=k;c[a+268>>2]=o;c[a+272>>2]=d;c[a+276>>2]=h;c[a+280>>2]=l;c[a+284>>2]=p;c[a+288>>2]=e;c[a+292>>2]=i;c[a+296>>2]=m;c[a+300>>2]=q;c[a+304>>2]=f;c[a+308>>2]=j;c[a+312>>2]=n;c[a+316>>2]=r;c[a+320>>2]=I;c[a+324>>2]=M;c[a+328>>2]=Q;c[a+332>>2]=U;c[a+336>>2]=J;c[a+340>>2]=N;c[a+344>>2]=R;c[a+348>>2]=V;c[a+352>>2]=K;c[a+356>>2]=O;c[a+360>>2]=S;c[a+364>>2]=W;c[a+368>>2]=L;c[a+372>>2]=P;c[a+376>>2]=T;c[a+380>>2]=X;c[a+384>>2]=s;c[a+388>>2]=w;c[a+392>>2]=A;c[a+396>>2]=E;c[a+400>>2]=t;c[a+404>>2]=x;c[a+408>>2]=B;c[a+412>>2]=F;c[a+416>>2]=u;c[a+420>>2]=y;c[a+424>>2]=C;c[a+428>>2]=G;c[a+432>>2]=v;c[a+436>>2]=z;c[a+440>>2]=D;c[a+444>>2]=H;return}function Sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;f=j;switch(d|0){case 9:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=608;g=607}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=594;c[a+12>>2]=(b|0)==23?596:595;c[a+16>>2]=597;c[a+20>>2]=598;c[a+24>>2]=599;c[a+28>>2]=d?601:600;c[a+32>>2]=602;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=605;c[a+52>>2]=606;c[a+40>>2]=607;d=14;f=608;break}default:{c[d>>2]=603;d=10;f=612}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=613;i=10}}else{c[a>>2]=607;c[a+4>>2]=608;c[a+8>>2]=594;c[a+12>>2]=609;c[a+16>>2]=597;c[a+20>>2]=598;c[a+24>>2]=599;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=603;c[a+40>>2]=612;c[a+44>>2]=613;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=10}if((i|0)==10)c[a+(d<<2)>>2]=f;c[a+60>>2]=45;c[a+64>>2]=46;c[a+68>>2]=47;c[a+72>>2]=48;c[a+76>>2]=49;c[a+80>>2]=50;c[a+84>>2]=51;c[a+88>>2]=52;c[a+92>>2]=53;c[a+96>>2]=54;c[a+100>>2]=55;c[a+104>>2]=56;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?37:36;c[a+112>>2]=e?39:38;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?41:40}a:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break a}c[a+136>>2]=58;d=8;f=183;i=20;break}default:if(e){c[d>>2]=43;c[a+124>>2]=44;c[a+128>>2]=45;c[a+136>>2]=46;c[a+140>>2]=47;c[a+144>>2]=48;d=10;f=181;i=20;break a}else{c[d>>2]=49;c[a+124>>2]=50;c[a+128>>2]=51;c[a+136>>2]=52;c[a+140>>2]=53;c[a+144>>2]=54;d=10;f=182;i=20;break a}}while(0);if((i|0)==20)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?60:59;c[a+152>>2]=61;c[a+160>>2]=62;c[a+156>>2]=63;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=65;d=8;f=186;break}default:{d=3;f=187}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=66;c[a+172>>2]=67;c[a+176>>2]=68;c[a+188>>2]=616;c[a+192>>2]=617;c[a+196>>2]=618;c[a+200>>2]=619;c[a+204>>2]=69;c[a+208>>2]=70;f=126;g=125;h=e?60:59;d=e?58:57;break}case 10:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=631;g=630}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=620;c[a+12>>2]=(b|0)==23?596:621;c[a+16>>2]=622;c[a+20>>2]=623;c[a+24>>2]=624;c[a+28>>2]=d?601:625;c[a+32>>2]=626;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=628;c[a+52>>2]=629;c[a+40>>2]=630;d=14;f=631;break}default:{c[d>>2]=627;d=10;f=632}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=633;i=34}}else{c[a>>2]=630;c[a+4>>2]=631;c[a+8>>2]=620;c[a+12>>2]=609;c[a+16>>2]=622;c[a+20>>2]=623;c[a+24>>2]=624;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=627;c[a+40>>2]=632;c[a+44>>2]=633;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=34}if((i|0)==34)c[a+(d<<2)>>2]=f;c[a+60>>2]=61;c[a+64>>2]=62;c[a+68>>2]=63;c[a+72>>2]=64;c[a+76>>2]=65;c[a+80>>2]=66;c[a+84>>2]=67;c[a+88>>2]=68;c[a+92>>2]=69;c[a+96>>2]=70;c[a+100>>2]=71;c[a+104>>2]=72;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?70:69;c[a+112>>2]=e?72:71;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?74:73}b:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break b}c[a+136>>2]=87;d=8;f=190;i=44;break}default:if(e){c[d>>2]=75;c[a+124>>2]=76;c[a+128>>2]=77;c[a+136>>2]=78;c[a+140>>2]=79;c[a+144>>2]=80;d=10;f=188;i=44;break b}else{c[d>>2]=81;c[a+124>>2]=82;c[a+128>>2]=83;c[a+136>>2]=84;c[a+140>>2]=85;c[a+144>>2]=86;d=10;f=189;i=44;break b}}while(0);if((i|0)==44)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?89:88;c[a+152>>2]=90;c[a+160>>2]=91;c[a+156>>2]=92;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=93;d=8;f=191;break}default:{d=3;f=192}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=94;c[a+172>>2]=95;c[a+176>>2]=96;c[a+188>>2]=634;c[a+192>>2]=635;c[a+196>>2]=636;c[a+200>>2]=637;c[a+204>>2]=71;c[a+208>>2]=72;f=128;g=127;h=e?76:75;d=e?74:73;break}case 12:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=649;g=648}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=638;c[a+12>>2]=(b|0)==23?596:639;c[a+16>>2]=640;c[a+20>>2]=641;c[a+24>>2]=642;c[a+28>>2]=d?601:643;c[a+32>>2]=644;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=646;c[a+52>>2]=647;c[a+40>>2]=648;d=14;f=649;break}default:{c[d>>2]=645;d=10;f=650}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=651;i=58}}else{c[a>>2]=648;c[a+4>>2]=649;c[a+8>>2]=638;c[a+12>>2]=609;c[a+16>>2]=640;c[a+20>>2]=641;c[a+24>>2]=642;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=645;c[a+40>>2]=650;c[a+44>>2]=651;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=58}if((i|0)==58)c[a+(d<<2)>>2]=f;c[a+60>>2]=77;c[a+64>>2]=78;c[a+68>>2]=79;c[a+72>>2]=80;c[a+76>>2]=81;c[a+80>>2]=82;c[a+84>>2]=83;c[a+88>>2]=84;c[a+92>>2]=85;c[a+96>>2]=86;c[a+100>>2]=87;c[a+104>>2]=88;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?98:97;c[a+112>>2]=e?100:99;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?102:101}c:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break c}c[a+136>>2]=115;d=8;f=195;i=68;break}default:if(e){c[d>>2]=103;c[a+124>>2]=104;c[a+128>>2]=105;c[a+136>>2]=106;c[a+140>>2]=107;c[a+144>>2]=108;d=10;f=193;i=68;break c}else{c[d>>2]=109;c[a+124>>2]=110;c[a+128>>2]=111;c[a+136>>2]=112;c[a+140>>2]=113;c[a+144>>2]=114;d=10;f=194;i=68;break c}}while(0);if((i|0)==68)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?117:116;c[a+152>>2]=118;c[a+160>>2]=119;c[a+156>>2]=120;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=121;d=8;f=196;break}default:{d=3;f=197}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=122;c[a+172>>2]=123;c[a+176>>2]=124;c[a+188>>2]=652;c[a+192>>2]=653;c[a+196>>2]=654;c[a+200>>2]=655;c[a+204>>2]=73;c[a+208>>2]=74;f=130;g=129;h=e?92:91;d=e?90:89;break}case 14:{if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=667;g=666}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=656;c[a+12>>2]=(b|0)==23?596:657;c[a+16>>2]=658;c[a+20>>2]=659;c[a+24>>2]=660;c[a+28>>2]=d?601:661;c[a+32>>2]=662;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=664;c[a+52>>2]=665;c[a+40>>2]=666;d=14;f=667;break}default:{c[d>>2]=663;d=10;f=668}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=669;i=82}}else{c[a>>2]=666;c[a+4>>2]=667;c[a+8>>2]=656;c[a+12>>2]=609;c[a+16>>2]=658;c[a+20>>2]=659;c[a+24>>2]=660;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=663;c[a+40>>2]=668;c[a+44>>2]=669;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=82}if((i|0)==82)c[a+(d<<2)>>2]=f;c[a+60>>2]=93;c[a+64>>2]=94;c[a+68>>2]=95;c[a+72>>2]=96;c[a+76>>2]=97;c[a+80>>2]=98;c[a+84>>2]=99;c[a+88>>2]=100;c[a+92>>2]=101;c[a+96>>2]=102;c[a+100>>2]=103;c[a+104>>2]=104;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?126:125;c[a+112>>2]=e?128:127;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?130:129}d:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break d}c[a+136>>2]=143;d=8;f=200;i=92;break}default:if(e){c[d>>2]=131;c[a+124>>2]=132;c[a+128>>2]=133;c[a+136>>2]=134;c[a+140>>2]=135;c[a+144>>2]=136;d=10;f=198;i=92;break d}else{c[d>>2]=137;c[a+124>>2]=138;c[a+128>>2]=139;c[a+136>>2]=140;c[a+140>>2]=141;c[a+144>>2]=142;d=10;f=199;i=92;break d}}while(0);if((i|0)==92)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?145:144;c[a+152>>2]=146;c[a+160>>2]=147;c[a+156>>2]=148;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=149;d=8;f=201;break}default:{d=3;f=202}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=150;c[a+172>>2]=151;c[a+176>>2]=152;c[a+188>>2]=670;c[a+192>>2]=671;c[a+196>>2]=672;c[a+200>>2]=673;c[a+204>>2]=75;c[a+208>>2]=76;f=132;g=131;h=e?108:107;d=e?106:105;break}default:{if((d|0)>=9){c[f>>2]=150605;c[f+4>>2]=150583;c[f+8>>2]=590;We(0,0,164054,f);Za()}if((b|0)!=69){h=(b|0)==139;d=(b|0)==179|h;switch(b|0){case 139:case 179:{f=693;g=692;break}default:{f=685;g=684}}c[a>>2]=g;c[a+4>>2]=f;c[a+8>>2]=674;c[a+12>>2]=(b|0)==23?596:675;c[a+16>>2]=676;c[a+20>>2]=677;c[a+24>>2]=678;c[a+28>>2]=d?601:679;c[a+32>>2]=680;d=a+36|0;switch(b|0){case 139:case 179:{c[d>>2]=604;c[a+48>>2]=682;c[a+52>>2]=683;c[a+40>>2]=684;d=14;f=685;break}default:{c[d>>2]=681;d=10;f=686}}c[a+(d<<2)>>2]=f;if(!h){d=11;f=687;i=108}}else{c[a>>2]=684;c[a+4>>2]=685;c[a+8>>2]=674;c[a+12>>2]=609;c[a+16>>2]=676;c[a+20>>2]=677;c[a+24>>2]=678;c[a+28>>2]=610;c[a+32>>2]=611;c[a+36>>2]=681;c[a+40>>2]=686;c[a+44>>2]=687;c[a+48>>2]=614;c[a+52>>2]=615;d=14;f=694;i=108}if((i|0)==108)c[a+(d<<2)>>2]=f;c[a+60>>2]=109;c[a+64>>2]=110;c[a+68>>2]=111;c[a+72>>2]=112;c[a+76>>2]=113;c[a+80>>2]=114;c[a+84>>2]=115;c[a+88>>2]=116;c[a+92>>2]=117;c[a+96>>2]=118;c[a+100>>2]=119;c[a+104>>2]=120;e=(e|0)<2;d=a+108|0;c[a+116>>2]=e?154:153;c[a+112>>2]=e?156:155;switch(b|0){case 139:case 179:{c[a+120>>2]=42;break}default:c[a+120>>2]=e?158:157}e:do switch(b|0){case 69:case 139:case 179:{c[d>>2]=55;c[a+124>>2]=56;c[a+128>>2]=57;switch(b|0){case 139:case 179:break;default:break e}c[a+136>>2]=171;d=8;f=205;i=118;break}default:if(e){c[d>>2]=159;c[a+124>>2]=160;c[a+128>>2]=161;c[a+136>>2]=162;c[a+140>>2]=163;c[a+144>>2]=164;d=10;f=203;i=118;break e}else{c[d>>2]=165;c[a+124>>2]=166;c[a+128>>2]=167;c[a+136>>2]=168;c[a+140>>2]=169;c[a+144>>2]=170;d=10;f=204;i=118;break e}}while(0);if((i|0)==118)c[a+108+(d<<2)>>2]=f;c[a+132>>2]=e?173:172;c[a+152>>2]=174;c[a+160>>2]=175;c[a+156>>2]=176;switch(b|0){case 23:{d=3;f=184;break}case 69:{d=3;f=185;break}case 139:case 179:{c[a+164>>2]=64;c[a+180>>2]=177;d=8;f=206;break}default:{d=3;f=207}}c[a+152+(d<<2)>>2]=f;c[a+168>>2]=178;c[a+172>>2]=179;c[a+176>>2]=180;c[a+188>>2]=688;c[a+192>>2]=689;c[a+196>>2]=690;c[a+200>>2]=691;c[a+204>>2]=77;c[a+208>>2]=78;f=134;g=133;h=e?124:123;d=e?122:121}}c[a+220>>2]=d;c[a+216>>2]=h;c[a+232>>2]=g;c[a+228>>2]=f;Ec=j;return}function Tm(a,b){a=a|0;b=b|0;c[a+4>>2]=695;c[a>>2]=(b|0)<9?2:1;return}function Um(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=Ec;Ec=Ec+32|0;t=v+24|0;n=v+16|0;m=v+8|0;g=v;f=e+24|0;k=d+27008|0;p=c[k>>2]|0;r=d+27016|0;u=c[r>>2]|0;l=H(u,p)|0;s=d+27012|0;o=H(c[s>>2]<<1|1,p<<1|1)|0;p=H(u,p+1|0)|0;u=o+(p<<1)|0;a[e+28344>>0]=-2;a[e+28336>>0]=-2;a[e+28328>>0]=-2;a[e+28304>>0]=-2;a[e+28296>>0]=-2;a[e+28288>>0]=-2;a:do if((c[d+25628>>2]|0)==(e|0)){q=d+4|0;c[f>>2]=c[q>>2];c[e+824>>2]=1;c[e+828>>2]=d;c[e+812>>2]=1;i=d+27020|0;j=c[i>>2]|0;c[e+576>>2]=j;h=c[s>>2]|0;c[e+580>>2]=h;c[e+584>>2]=c[k>>2];c[e+588>>2]=c[r>>2];c[e+592>>2]=h<<1|1;j=Of((j<<2)+4|0)|0;c[e+572>>2]=j;if((j|0)==0?(c[i>>2]&1073741823|0)!=1073741823:0){We(c[q>>2]|0,16,150493,g);d=-12;break}g=c[k>>2]|0;d=0;while(1){if((d|0)>=(g|0))break;h=c[s>>2]|0;i=H(h,d)|0;f=0;while(1){if((f|0)>=(h|0))break;c[j+(i+f<<2)>>2]=(H(c[r>>2]|0,d)|0)+f;f=f+1|0}d=d+1|0}h=H(c[r>>2]|0,g+-1|0)|0;i=c[s>>2]|0;c[j+((H(i,g)|0)<<2)>>2]=h+i;j=Of(l)|0;c[e+604>>2]=j;if(!((l|0)==0|(j|0)!=0)){We(c[q>>2]|0,16,150493,m);d=-12;break}m=cf(H((c[k>>2]|0)*17|0,c[r>>2]|0)|0)|0;c[e+608>>2]=m;if((m|0)==0?H((c[k>>2]|0)*17|0,c[r>>2]|0)|0:0){We(c[q>>2]|0,16,150493,n);d=-12;break}n=u<<1;f=Of(n)|0;c[e+27784>>2]=f;if(!((n|0)==0|(f|0)!=0)){We(c[q>>2]|0,16,150493,t);d=-12;break}c[e+612>>2]=f+(c[s>>2]<<1<<1)+4;d=f+(o<<1)+(c[r>>2]<<1)+2|0;c[e+616>>2]=d;c[e+620>>2]=d+(p<<1);d=0;while(1){if((d|0)>=(u|0)){d=0;break a}b[f+(d<<1)>>1]=1024;d=d+1|0}}else{yW(f|0,0,808)|0;d=0}while(0);Ec=v;return d|0}function Vm(a,d,e,f,g,h,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;o=Ec;Ec=Ec+16|0;n=o+8|0;j=o;m=a+25628|0;k=c[m>>2]|0;c[k+21788>>2]=h;c[k+21792>>2]=i;l=k+21796|0;c[l>>2]=(H(c[a+27016>>2]|0,i)|0)+h;e=k+27824|0;f=e+120|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=(c[k+23404>>2]|0)>>>0>d>>>0?d:0;if(!(c[k+23416+(e*40|0)>>2]|0)){We(c[a+4>>2]|0,48,150518,j);e=0}if((c[k+23416+(e*40|0)+24>>2]&3|0)==3){d=(c[a+24384>>2]|0)+(c[l>>2]<<2)|0;n=e*257&65535;b[d>>1]=n;b[d+2>>1]=n;d=H(e,16843009)|0;c[k+28284>>2]=d;c[k+28292>>2]=d;c[k+28300>>2]=d;c[k+28308>>2]=d;g=c[g+4>>2]<<16|c[g>>2]&65535;c[k+28e3>>2]=g;c[k+28004>>2]=g;c[k+28008>>2]=g;c[k+28012>>2]=g;c[k+28032>>2]=g;c[k+28036>>2]=g;c[k+28040>>2]=g;c[k+28044>>2]=g;c[k+28064>>2]=g;c[k+28068>>2]=g;c[k+28072>>2]=g;c[k+28076>>2]=g;c[k+28096>>2]=g;c[k+28100>>2]=g;c[k+28104>>2]=g;c[k+28108>>2]=g;c[k+21828>>2]=0;c[k+21832>>2]=0;vj(a,c[m>>2]|0)}else We(c[a+4>>2]|0,48,150564,n);Ec=o;return}function Wm(a,b,c){a=a|0;b=b|0;c=c|0;return}function Xm(b,c,d,e,f,g,h,i,j,k){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){o=(0-g|0)<(i|0);p=1-g|0;n=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;c=o?c:n;i=o?i:p}else{p=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(p,e)|0)|0;i=p}if((h|0)<(j|0)){o=(0-f|0)<(h|0);p=1-f|0;l=o?h:p;h=o?c:c+(p-h)|0}else{p=j+-1|0;l=p;h=c+(p-h)|0}c=0-i|0;c=(c|0)>0?c:0;p=0-l|0;p=(p|0)>0?p:0;m=k-i|0;n=(m|0)<(g|0);o=j-l|0;o=(o|0)<(f|0)?o:f;j=o-p|0;i=h+(p+(H(c,e)|0))|0;k=p+(H(c,d)|0)|0;h=b+p|0;l=0;while(1){if((l|0)>=(c|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=b+k|0;while(1){if((c|0)>=(l|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=o+-1|0;c=g;h=h+(0-((H(g,d)|0)+p))|0;while(1){l=c+-1|0;if(!c)break a;i=h+p|0;c=0;while(1){if((c|0)>=(p|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}i=h+k|0;c=o;while(1){if((c|0)>=(f|0))break;a[h+c>>0]=a[i>>0]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Ym(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;a:do if((j|0)!=0&(k|0)!=0){if((i|0)<(k|0)){p=(0-g|0)<(i|0);q=1-g|0;o=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;c=p?c:o;i=p?i:q}else{q=k+-1|0;c=c+(H(0-e|0,i)|0)+(H(q,e)|0)|0;i=q}if((h|0)<(j|0)){p=(0-f|0)<(h|0);q=1-f|0;l=p?h:q;h=p?c:c+(q-h<<1)|0}else{q=j+-1|0;l=q;h=c+(q-h<<1)|0}c=0-i|0;c=(c|0)>0?c:0;q=0-l|0;q=(q|0)>0?q:0;m=k-i|0;n=(m|0)<(g|0);p=j-l|0;p=(p|0)<(f|0)?p:f;o=q<<1;i=h+(o+(H(c,e)|0))|0;j=p-q<<1;k=(H(c,d)|0)+o|0;h=a+o|0;l=0;while(1){if((l|0)>=(c|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;l=l+1|0}l=n?m:g;h=a+k|0;while(1){if((c|0)>=(l|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0;i=i+e|0}i=i+(0-e)|0;while(1){if((c|0)>=(g|0))break;wW(h|0,i|0,j|0)|0;h=h+d|0;c=c+1|0}k=p+-1|0;c=g;h=h+(0-((H(g,d)|0)+o))|0;while(1){l=c+-1|0;if(!c)break a;i=h+(q<<1)|0;c=0;while(1){if((c|0)>=(q|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}i=h+(k<<1)|0;c=p;while(1){if((c|0)>=(f|0))break;b[h+(c<<1)>>1]=b[i>>1]|0;c=c+1|0}c=l;h=h+d|0}}while(0);return}function Zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function _m(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=d[a+(0-e)>>0]|0;h=d[a+(1-e)>>0]|0;g=d[a+(2-e)>>0]|0;f=d[a+(3-e)>>0]|0;b=(i+2+(h<<1)+g|0)>>>2<<8|((d[a+~e>>0]|0)+2+(i<<1)+h|0)>>>2|(h+2+(g<<1)+f|0)>>>2<<16|(g+2+(f<<1)+(d[b>>0]|0)|0)>>>2<<24;c[a>>2]=b;c[a+e>>2]=b;c[a+(e<<1)>>2]=b;c[a+(e*3|0)>>2]=b;return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function an(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=d[a+-1>>0]|0;i=d[a+(e+-1)>>0]|0;h=e<<1;g=d[a+(h+-1)>>0]|0;b=e*3|0;f=d[a+(b+-1)>>0]|0;c[a>>2]=H(((d[a+~e>>0]|0)+2+(j<<1)+i|0)>>>2,16843009)|0;c[a+e>>2]=H((j+2+(i<<1)+g|0)>>>2,16843009)|0;c[a+h>>2]=H((i+2+(g<<1)+f|0)>>>2,16843009)|0;c[a+b>>2]=H((g+2+f+(f<<1)|0)>>>2,16843009)|0;return}function bn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function cn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=d[b+(2-e)>>0]|0;c=d[b+(3-e)>>0]|0;f=e<<1;j=d[b+(f+-1)>>0]|0;g=e*3|0;h=d[b+(g+-1)>>0]|0;a[b>>0]=((d[b+(e+-1)>>0]|0)+(d[b+(1-e)>>0]|0)|0)>>>1;i=(j+i|0)>>>1&255;a[b+e>>0]=i;a[b+1>>0]=i;c=(h+c|0)>>>1&255;a[b+(g+3)>>0]=c;a[b+(g+2)>>0]=c;a[b+(f+3)>>0]=c;a[b+(g+1)>>0]=c;a[b+(f+2)>>0]=c;a[b+(e+3)>>0]=c;a[b+g>>0]=c;a[b+(f|1)>>0]=c;a[b+(e+2)>>0]=c;a[b+3>>0]=c;a[b+f>>0]=c;a[b+(e+1)>>0]=c;a[b+2>>0]=c;return}function dn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function en(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function fn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function gn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function hn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=d[b+(0-e)>>0]|0;m=d[b+(1-e)>>0]|0;l=d[b+(2-e)>>0]|0;k=d[b+(3-e)>>0]|0;j=d[c>>0]|0;h=d[c+1>>0]|0;g=d[c+2>>0]|0;f=d[c+3>>0]|0;a[b>>0]=(n+1+m|0)>>>1;c=(m+1+l|0)>>>1&255;i=e<<1;a[b+i>>0]=c;a[b+1>>0]=c;c=(l+1+k|0)>>>1&255;a[b+(i|1)>>0]=c;a[b+2>>0]=c;c=(k+1+j|0)>>>1&255;a[b+(i+2)>>0]=c;a[b+3>>0]=c;a[b+e>>0]=(n+2+(m<<1)+l|0)>>>2;m=(m+2+(l<<1)+k|0)>>>2&255;c=e*3|0;a[b+c>>0]=m;a[b+(e+1)>>0]=m;l=(l+2+(k<<1)+j|0)>>>2&255;a[b+(c+1)>>0]=l;a[b+(e+2)>>0]=l;k=(k+2+(j<<1)+h|0)>>>2&255;a[b+(c+2)>>0]=k;a[b+(e+3)>>0]=k;a[b+(i+3)>>0]=(j+2+(h<<1)+g|0)>>>2;a[b+(c+3)>>0]=(h+2+(g<<1)+f|0)>>>2;return}function jn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function kn(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function ln(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=nW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function mn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=134088+(0-(d[b+~e>>0]|0))|0;f=b+(0-e)|0;g=f+1|0;h=f+2|0;i=f+3|0;c=b;b=0;while(1){if((b|0)==4)break;k=j+(d[c+-1>>0]|0)|0;a[c>>0]=a[k+(d[f>>0]|0)>>0]|0;a[c+1>>0]=a[k+(d[g>>0]|0)>>0]|0;a[c+2>>0]=a[k+(d[h>>0]|0)>>0]|0;a[c+3>>0]=a[k+(d[i>>0]|0)>>0]|0;c=c+e|0;b=b+1|0}return}function nn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;b=a+(d<<1<<1)|0;c[b>>2]=16711935;c[b+4>>2]=16711935;d=a+(d*3<<1)|0;c[d>>2]=16711935;c[d+4>>2]=16711935;return}function on(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;b=a+(d<<1<<1)|0;c[b>>2]=16843009;c[b+4>>2]=16843009;d=a+(d*3<<1)|0;c[d>>2]=16843009;c[d+4>>2]=16843009;return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function qn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=d[b+(1-e)>>0]|0;r=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;n=d[c>>0]|0;l=d[c+1>>0]|0;i=d[c+2>>0]|0;h=d[c+3>>0]|0;s=d[b+(e+-1)>>0]|0;j=e<<1;q=d[b+(j+-1)>>0]|0;c=e*3|0;o=d[b+(c+-1)>>0]|0;m=d[b+((e<<2)+-1)>>0]|0;k=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;f=d[b+((e*7|0)+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+r+(d[b+-1>>0]|0)+q+(s+t<<1)|0)>>>3;s=(t+4+p+s+o+(q+r<<1)|0)>>>3&255;a[b+e>>0]=s;a[b+1>>0]=s;q=(r+4+n+q+m+(o+p<<1)|0)>>>3&255;a[b+j>>0]=q;a[b+(e+1)>>0]=q;a[b+2>>0]=q;o=(p+4+l+o+k+(m+n<<1)|0)>>>3&255;a[b+c>>0]=o;a[b+(j|1)>>0]=o;a[b+(e+2)>>0]=o;a[b+3>>0]=o;m=(n+4+i+m+g+(k+l<<1)|0)>>>3&255;a[b+(c+1)>>0]=m;a[b+(j+2)>>0]=m;a[b+(e+3)>>0]=m;e=(l+4+h+k+f+(g+i<<1)|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(j+3)>>0]=e;a[b+(c+3)>>0]=(i+2+h+g+f|0)>>>2;return}function rn(a,b,c){a=a|0;b=b|0;c=c|0;$t(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,d[a+((c*3|0)+-1)>>0]|0,d[a+((c<<2)+-1)>>0]|0);return}function sn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=d[b+-1>>0]|0;q=d[b+(e+-1)>>0]|0;j=e<<1;m=d[b+(j+-1)>>0]|0;f=e*3|0;l=d[b+(f+-1)>>0]|0;i=d[b+((e<<2)+-1)>>0]|0;h=d[b+((e*5|0)+-1)>>0]|0;g=d[b+((e*6|0)+-1)>>0]|0;o=d[b+(2-e)>>0]|0;r=d[b+(3-e)>>0]|0;p=d[c>>0]|0;n=d[c+1>>0]|0;k=d[c+2>>0]|0;c=d[c+3>>0]|0;t=q<<1;s=t+4|0;a[b>>0]=(s+(d[b+(1-e)>>0]|0)+r+(o+u<<1)|0)>>>3;a[b+1>>0]=(u+4+t+m+o+(r<<1)+p|0)>>>3;o=m<<1;r=(s+o+r+(p<<1)+n|0)>>>3&255;a[b+e>>0]=r;a[b+2>>0]=r;p=(q+4+o+l+p+(n<<1)+k|0)>>>3&255;a[b+(e+1)>>0]=p;a[b+3>>0]=p;n=(o+4+n+c+(k+l<<1)|0)>>>3&255;a[b+j>>0]=n;a[b+(e+2)>>0]=n;m=(m+4+k+((c+l|0)*3|0)|0)>>>3&255;a[b+(j|1)>>0]=m;a[b+(e+3)>>0]=m;e=l+2|0;l=(e+(i<<1)+h|0)>>>2&255;a[b+(f+1)>>0]=l;a[b+(j+3)>>0]=l;e=(e+i+k+c|0)>>>2&255;a[b+(j+2)>>0]=e;a[b+f>>0]=e;a[b+(f+2)>>0]=(i+1+h|0)>>>1;a[b+(f+3)>>0]=(i+2+(h<<1)+g|0)>>>2;return}function tn(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;b=a+(d<<1<<1)|0;c[b>>2]=16777472;c[b+4>>2]=16777472;d=a+(d*3<<1)|0;c[d>>2]=16777472;c[d+4>>2]=16777472;return}function un(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d[b+(1-e)>>0]|0;n=d[b+(2-e)>>0]|0;m=d[b+(3-e)>>0]|0;l=d[c>>0]|0;k=d[c+1>>0]|0;h=d[c+2>>0]|0;g=d[c+3>>0]|0;o=d[b+(e+-1)>>0]|0;i=e<<1;j=d[b+(i+-1)>>0]|0;c=e*3|0;f=d[b+(c+-1)>>0]|0;a[b>>0]=((d[b+(0-e)>>0]|0)+4+n+(d[b+-1>>0]|0)+j+(o+p<<1)|0)>>>3;o=(p+4+m+o+f+(j+n<<1)|0)>>>3&255;a[b+e>>0]=o;a[b+1>>0]=o;j=(n+4+l+(m<<1)+j+(f*3|0)|0)>>>3&255;a[b+i>>0]=j;a[b+(e+1)>>0]=j;a[b+2>>0]=j;j=f<<2;m=(m+4+k+(l<<1)+j|0)>>>3&255;a[b+c>>0]=m;a[b+(i|1)>>0]=m;a[b+(e+2)>>0]=m;a[b+3>>0]=m;l=(l+4+h+(k<<1)+j|0)>>>3&255;a[b+(c+1)>>0]=l;a[b+(i+2)>>0]=l;a[b+(e+3)>>0]=l;e=(k+4+g+(h<<1)+j|0)>>>3&255;a[b+(c+2)>>0]=e;a[b+(i+3)>>0]=e;a[b+(c+3)>>0]=(h+2+g+(f<<1)|0)>>>2;return}function vn(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=d[b+-1>>0]|0;o=d[b+(e+-1)>>0]|0;h=e<<1;l=d[b+(h+-1)>>0]|0;f=e*3|0;g=a[b+(f+-1)>>0]|0;k=g&255;n=d[b+(2-e)>>0]|0;p=d[b+(3-e)>>0]|0;j=d[c>>0]|0;m=d[c+1>>0]|0;i=d[c+2>>0]|0;c=d[c+3>>0]|0;r=o<<1;q=r+4|0;a[b>>0]=(q+(d[b+(1-e)>>0]|0)+p+(n+s<<1)|0)>>>3;a[b+1>>0]=(s+4+r+l+n+(p<<1)+j|0)>>>3;n=l<<1;p=(q+n+p+(j<<1)+m|0)>>>3&255;a[b+e>>0]=p;a[b+2>>0]=p;j=(o+4+n+k+j+(m<<1)+i|0)>>>3&255;a[b+(e+1)>>0]=j;a[b+3>>0]=j;j=k<<1;m=(n+4+j+m+(i<<1)+c|0)>>>3&255;a[b+h>>0]=m;a[b+(e+2)>>0]=m;k=(l+4+i+((c+k|0)*3|0)|0)>>>3&255;a[b+(h|1)>>0]=k;a[b+(e+3)>>0]=k;a[b+(f+1)>>0]=g;a[b+(h+3)>>0]=g;e=(j+2+i+c|0)>>>2&255;a[b+(h+2)>>0]=e;a[b+f>>0]=e;a[b+(f+3)>>0]=g;a[b+(f+2)>>0]=g;return}function wn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=d[a+((c*3|0)+-1)>>0]|0;$t(a,b,c,d[a+(c+-1)>>0]|0,d[a+((c<<1)+-1)>>0]|0,e,e);return}function xn(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function yn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=nW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=nW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=nW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=nW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=nW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=nW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=nW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=nW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function zn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function An(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Bn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Cn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function Dn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function En(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function Fn(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function Gn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=nW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function Hn(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=16777472;c[e+4>>2]=16777472;e=a+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0;a=a+(d<<1)|0}return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function Ln(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Mn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function Nn(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+i>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+j>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function On(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;l=0-q|0;h=a+6+(l<<1)|0;g=a+(q<<3<<1)+-2|0;f=g+(0-(q<<1)<<1)|0;j=a+((q*22|0)+-2)|0;i=a+((q*6|0)+-2)|0;c=2;d=(e[g>>1]|0)-(e[f>>1]|0)|0;k=(e[h+2>>1]|0)-(e[h+-2>>1]|0)|0;while(1){if((c|0)==5)break;p=g+(q<<1)|0;o=f+(l<<1)|0;n=(H((e[h+(c<<1)>>1]|0)-(e[h+(0-c<<1)>>1]|0)|0,c)|0)+k|0;m=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;d=m;k=n;f=o;g=p}c=5;while(1){if((c|0)>=9)break;p=j+(q<<1)|0;o=i+(l<<1)|0;d=(H((e[p>>1]|0)-(e[o>>1]|0)|0,c)|0)+d|0;c=c+1|0;i=o;j=p}p=(k*17|0)+16>>5;g=(d*5|0)+32>>6;h=p*3|0;k=p<<1;l=p<<2;m=p*5|0;n=p*6|0;o=p*7|0;f=16;d=16-h+(H(g,-7)|0)+((e[i+16>>1]|0)+(e[j>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=d+p>>5;b[c+2>>1]=a>>>0<512?a:0-a>>31&511;a=d+k>>5;b[c+4>>1]=a>>>0<512?a:0-a>>31&511;a=d+h>>5;b[c+6>>1]=a>>>0<512?a:0-a>>31&511;a=d+l>>5;b[c+8>>1]=a>>>0<512?a:0-a>>31&511;a=d+m>>5;b[c+10>>1]=a>>>0<512?a:0-a>>31&511;a=d+n>>5;b[c+12>>1]=a>>>0<512?a:0-a>>31&511;a=d+o>>5;b[c+14>>1]=a>>>0<512?a:0-a>>31&511;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return}function Pn(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=134088+(0-(d[b+~c>>0]|0))|0;n=b+(0-c)|0;f=n+1|0;g=n+2|0;h=n+3|0;i=n+4|0;j=n+5|0;k=n+6|0;l=n+7|0;e=0;while(1){if((e|0)==8)break;o=m+(d[b+-1>>0]|0)|0;a[b>>0]=a[o+(d[n>>0]|0)>>0]|0;a[b+1>>0]=a[o+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[o+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[o+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[o+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[o+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[o+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[o+(d[l>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function Qn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b>>1;b=0;d=0;f=0;g=0;while(1){if((b|0)==4)break;l=e[a+((H(b,n)|0)+-1<<1)>>1]|0;l=d+l+(e[a+(b-n<<1)>>1]|0)|0;m=b+4|0;b=b+1|0;d=l;f=f+(e[a+(m-n<<1)>>1]|0)|0;g=g+(e[a+((H(m,n)|0)+-1<<1)>>1]|0)|0}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;i=f+2>>2;i=nW(i|0,((i|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=g+2>>2;l=((k|0)<0)<<31>>31;f=g+4+f>>3;m=((f|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;g=a+((H(b,n)|0)<<1)|0;o=g;c[o>>2]=d;c[o+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=j;b=b+1|0}g=nW(k|0,l|0,65537,65537)|0;h=M()|0;d=nW(f|0,m|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;o=a+((H(b,n)|0)<<1)|0;m=o;c[m>>2]=g;c[m+4>>2]=h;o=o+8|0;c[o>>2]=d;c[o+4>>2]=f;b=b+1|0}return}function Rn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b>>1;b=0;d=0;f=0;while(1){if((b|0)==4)break;g=d+(e[a+((H(b,i)|0)+-1<<1)>>1]|0)|0;h=f+(e[a+((H(b+4|0,i)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=g;f=h}g=d+2>>2;g=nW(g|0,((g|0)<0)<<31>>31|0,65537,65537)|0;h=M()|0;d=f+2>>2;f=((d|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;j=a+((H(b,i)|0)<<1)|0;k=j;c[k>>2]=g;c[k+4>>2]=h;j=j+8|0;c[j>>2]=g;c[j+4>>2]=h;b=b+1|0}d=nW(d|0,f|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8)break;k=a+((H(b,i)|0)<<1)|0;j=k;c[j>>2]=d;c[j+4>>2]=f;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Sn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==4){b=4;break}g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}while(1){if((b|0)==8)break;k=a+((H(b,j)|0)<<1)|0;g=k;c[g>>2]=h;c[g+4>>2]=i;k=k+8|0;c[k>>2]=d;c[k+4>>2]=f;b=b+1|0}return}function Tn(a,b){a=a|0;b=b|0;Sn(a,b);bn(a,0,b);return}function Un(a,b){a=a|0;b=b|0;Qn(a,b);pn(a,0,b);return}function Vn(a,b){a=a|0;b=b|0;Rn(a,b);a=a+(b<<2)|0;tn(a,0,b);tn(a+8|0,0,b);return}function Wn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=b>>1;b=0;d=0;h=0;f=0;g=0;i=0;while(1){if((b|0)==4)break;t=e[a+((H(b,y)|0)+-1<<1)>>1]|0;t=d+t+(e[a+(b-y<<1)>>1]|0)|0;u=b+4|0;v=f+(e[a+((H(u,y)|0)+-1<<1)>>1]|0)|0;w=g+(e[a+((H(b+8|0,y)|0)+-1<<1)>>1]|0)|0;x=i+(e[a+((H(b+12|0,y)|0)+-1<<1)>>1]|0)|0;b=b+1|0;d=t;h=h+(e[a+(u-y<<1)>>1]|0)|0;f=v;g=w;i=x}d=d+4>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;j=M()|0;k=h+2>>2;k=nW(k|0,((k|0)<0)<<31>>31|0,65537,65537)|0;l=M()|0;m=f+2>>2;n=((m|0)<0)<<31>>31;f=f+4+h>>3;o=((f|0)<0)<<31>>31;r=g+2>>2;s=((r|0)<0)<<31>>31;g=g+4+h>>3;t=((g|0)<0)<<31>>31;u=i+2>>2;v=((u|0)<0)<<31>>31;w=i+4+h>>3;x=((w|0)<0)<<31>>31;b=0;while(1){if((b|0)==4)break;q=a+((H(b,y)|0)<<1)|0;p=q;c[p>>2]=d;c[p+4>>2]=j;q=q+8|0;c[q>>2]=k;c[q+4>>2]=l;b=b+1|0}p=nW(m|0,n|0,65537,65537)|0;q=M()|0;m=nW(f|0,o|0,65537,65537)|0;n=M()|0;k=nW(r|0,s|0,65537,65537)|0;l=M()|0;i=nW(g|0,t|0,65537,65537)|0;j=M()|0;g=nW(u|0,v|0,65537,65537)|0;h=M()|0;d=nW(w|0,x|0,65537,65537)|0;f=M()|0;b=4;while(1){if((b|0)==8){b=8;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=p;c[w+4>>2]=q;x=x+8|0;c[x>>2]=m;c[x+4>>2]=n;b=b+1|0}while(1){if((b|0)==12){b=12;break}x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=k;c[w+4>>2]=l;x=x+8|0;c[x>>2]=i;c[x+4>>2]=j;b=b+1|0}while(1){if((b|0)==16)break;x=a+((H(b,y)|0)<<1)|0;w=x;c[w>>2]=g;c[w+4>>2]=h;x=x+8|0;c[x>>2]=d;c[x+4>>2]=f;b=b+1|0}return}function Xn(a,b){a=a|0;b=b|0;Rn(a,b);Rn(a+(b<<3)|0,b);return}function Yn(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b>>1;f=4-j|0;b=0;d=0;g=0;while(1){if((b|0)==4)break;h=d+(e[a+(b-j<<1)>>1]|0)|0;i=g+(e[a+(f+b<<1)>>1]|0)|0;b=b+1|0;d=h;g=i}h=d+2>>2;h=nW(h|0,((h|0)<0)<<31>>31|0,65537,65537)|0;i=M()|0;d=g+2>>2;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;f=M()|0;b=0;while(1){if((b|0)==16)break;g=a+((H(b,j)|0)<<1)|0;k=g;c[k>>2]=h;c[k+4>>2]=i;g=g+8|0;c[g>>2]=d;c[g+4>>2]=f;b=b+1|0}return}function Zn(a,b){a=a|0;b=b|0;Yn(a,b);bn(a,0,b);return}function _n(a,b){a=a|0;b=b|0;Wn(a,b);pn(a,0,b);return}function $n(a,b){a=a|0;b=b|0;Xn(a,b);a=a+(b<<2)|0;tn(a,0,b);tn(a+8|0,0,b);return}function ao(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=0;f=0;while(1){if((f|0)==4)break;h=d[a+((H(f,b)|0)+-1)>>0]|0;g=f+4|0;e=e+h+(d[a+(f-b)>>0]|0)+(d[a+(g-b)>>0]|0)+(d[a+((H(g,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+8|0)>>>4,16843009)|0;e=0;while(1){if((e|0)==4){e=4;break}h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}while(1){if((e|0)==8)break;h=a+(H(e,b)|0)|0;c[h>>2]=f;c[h+4>>2]=f;e=e+1|0}return}function bo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+((H(f,b)|0)+-1)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function co(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=0;f=0;while(1){if((f|0)==8)break;e=e+(d[a+(f-b)>>0]|0)|0;f=f+1|0}f=H((e+4|0)>>>3,16843009)|0;e=0;while(1){if((e|0)==8)break;g=a+(H(e,b)|0)|0;c[g+4>>2]=f;c[g>>2]=f;e=e+1|0}return}function eo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16711935;c[f+4>>2]=16711935;e=e+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+1|0}return}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16843009;c[f+4>>2]=16843009;e=e+8|0;c[e>>2]=16843009;c[e+4>>2]=16843009;b=b+1|0}return}function go(a,b){a=a|0;b=b|0;Xn(a,b);tn(a,0,b);tn(a+8|0,0,b);return}function ho(a,b){a=a|0;b=b|0;Rn(a,b);tn(a,0,b);tn(a+8|0,0,b);return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b>>1;b=0;while(1){if((b|0)==8)break;e=a+((H(b,d)|0)<<1)|0;f=e;c[f>>2]=16777472;c[f+4>>2]=16777472;e=e+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+1|0}return}function jo(a,b){a=a|0;b=b|0;io(a,b);io(a+(b<<3)|0,b);return}function ko(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16){d=0;break}b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+16>>5;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function lo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=b>>1;k=a+(0-g<<1)|0;d=k;l=c[d>>2]|0;d=c[d+4>>2]|0;f=k+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;i=k+16|0;h=c[i>>2]|0;i=c[i+4>>2]|0;k=k+24|0;j=c[k>>2]|0;k=c[k+4>>2]|0;b=0;while(1){if((b|0)==16)break;m=a+((H(b,g)|0)<<1)|0;n=m;c[n>>2]=l;c[n+4>>2]=d;n=m+8|0;c[n>>2]=e;c[n+4>>2]=f;n=m+16|0;c[n>>2]=h;c[n+4>>2]=i;m=m+24|0;c[m>>2]=j;c[m+4>>2]=k;b=b+1|0}return}function mo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;i=f+8|0;c[i>>2]=h;c[i+4>>2]=g;i=f+16|0;c[i>>2]=h;c[i+4>>2]=g;f=f+24|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function no(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=134088+(0-(d[b+~c>>0]|0))|0;v=b+(0-c)|0;f=v+1|0;g=v+2|0;h=v+3|0;i=v+4|0;j=v+5|0;k=v+6|0;l=v+7|0;m=v+8|0;n=v+9|0;o=v+10|0;p=v+11|0;q=v+12|0;r=v+13|0;s=v+14|0;t=v+15|0;e=0;while(1){if((e|0)==16)break;w=u+(d[b+-1>>0]|0)|0;a[b>>0]=a[w+(d[v>>0]|0)>>0]|0;a[b+1>>0]=a[w+(d[f>>0]|0)>>0]|0;a[b+2>>0]=a[w+(d[g>>0]|0)>>0]|0;a[b+3>>0]=a[w+(d[h>>0]|0)>>0]|0;a[b+4>>0]=a[w+(d[i>>0]|0)>>0]|0;a[b+5>>0]=a[w+(d[j>>0]|0)>>0]|0;a[b+6>>0]=a[w+(d[k>>0]|0)>>0]|0;a[b+7>>0]=a[w+(d[l>>0]|0)>>0]|0;a[b+8>>0]=a[w+(d[m>>0]|0)>>0]|0;a[b+9>>0]=a[w+(d[n>>0]|0)>>0]|0;a[b+10>>0]=a[w+(d[o>>0]|0)>>0]|0;a[b+11>>0]=a[w+(d[p>>0]|0)>>0]|0;a[b+12>>0]=a[w+(d[q>>0]|0)>>0]|0;a[b+13>>0]=a[w+(d[r>>0]|0)>>0]|0;a[b+14>>0]=a[w+(d[s>>0]|0)>>0]|0;a[b+15>>0]=a[w+(d[t>>0]|0)>>0]|0;b=b+c|0;e=e+1|0}return}function oo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+8|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+16|0;c[e>>2]=16711935;c[e+4>>2]=16711935;e=b+24|0;c[e>>2]=16711935;c[e+4>>2]=16711935;b=b+(d<<1)|0;a=a+1|0}return}function po(a,b){a=a|0;b=b|0;_t(a,b);return}function qo(a,b){a=a|0;b=b|0;var d=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;c[b>>2]=16843009;c[b+4>>2]=16843009;c[b+8>>2]=16843009;c[b+12>>2]=16843009;c[b+16>>2]=16843009;c[b+20>>2]=16843009;c[b+24>>2]=16843009;c[b+28>>2]=16843009;b=b+(d<<1)|0;a=a+1|0}return}function ro(a,b){a=a|0;b=b|0;Wt(a,b,0,1);return}function so(a,b){a=a|0;b=b|0;Wt(a,b,1,0);return}function to(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+((H(d,h)|0)+-1<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function uo(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=b>>1;b=0;d=0;while(1){if((d|0)==16)break;b=b+(e[a+(d-h<<1)>>1]|0)|0;d=d+1|0}f=b+8>>4;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=a;d=0;while(1){if((d|0)==16)break;a=b;c[a>>2]=f;c[a+4>>2]=g;a=b+8|0;c[a>>2]=f;c[a+4>>2]=g;a=b+16|0;c[a>>2]=f;c[a+4>>2]=g;a=b+24|0;c[a>>2]=f;c[a+4>>2]=g;b=b+(h<<1)|0;d=d+1|0}return}function vo(a,b){a=a|0;b=b|0;var d=0,e=0;d=b>>1;b=a;a=0;while(1){if((a|0)==16)break;e=b;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+8|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+16|0;c[e>>2]=16777472;c[e+4>>2]=16777472;e=b+24|0;c[e>>2]=16777472;c[e+4>>2]=16777472;b=b+(d<<1)|0;a=a+1|0}return}function wo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=f>>1;i=h<<1;j=h*3|0;k=h<<2;g=d;f=a+(0-h<<1)|0;a=0;while(1){if((a|0)==4)break;l=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(h<<1)>>1]=l;l=(c[g+16>>2]|0)+l|0;b[f+(i<<1)>>1]=l;l=(c[g+32>>2]|0)+l|0;b[f+(j<<1)>>1]=l;b[f+(k<<1)>>1]=(c[g+48>>2]|0)+l;g=g+4|0;f=f+2|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function xo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;b[f+6>>1]=(c[g+12>>2]|0)+i;g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function yo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f>>1;l=k<<1;m=k*3|0;n=k<<2;o=k*5|0;h=k*6|0;i=k*7|0;j=k<<3;g=d;f=a+(0-k<<1)|0;a=0;while(1){if((a|0)==8)break;p=(c[g>>2]|0)+(e[f>>1]|0)|0;b[f+(k<<1)>>1]=p;p=(c[g+32>>2]|0)+p|0;b[f+(l<<1)>>1]=p;p=(c[g+64>>2]|0)+p|0;b[f+(m<<1)>>1]=p;p=(c[g+96>>2]|0)+p|0;b[f+(n<<1)>>1]=p;p=(c[g+128>>2]|0)+p|0;b[f+(o<<1)>>1]=p;p=(c[g+160>>2]|0)+p|0;b[f+(h<<1)>>1]=p;p=(c[g+192>>2]|0)+p|0;b[f+(i<<1)>>1]=p;b[f+(j<<1)>>1]=(c[g+224>>2]|0)+p;g=g+4|0;f=f+2|0;a=a+1|0}yW(d|0,0,256)|0;return}function zo(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;i=(c[g>>2]|0)+(e[f+-2>>1]|0)|0;b[f>>1]=i;i=(c[g+4>>2]|0)+i|0;b[f+2>>1]=i;i=(c[g+8>>2]|0)+i|0;b[f+4>>1]=i;i=(c[g+12>>2]|0)+i|0;b[f+6>>1]=i;i=(c[g+16>>2]|0)+i|0;b[f+8>>1]=i;i=(c[g+20>>2]|0)+i|0;b[f+10>>1]=i;i=(c[g+24>>2]|0)+i|0;b[f+12>>1]=i;b[f+14>>1]=(c[g+28>>2]|0)+i;g=g+32|0;f=f+(h<<1)|0;a=a+1|0}yW(d|0,0,256)|0;return}function Ao(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Ec;Ec=Ec+16|0;p=q;o=h>>1;s=e[a+(0-o<<1)>>1]|0;r=e[a+(1-o<<1)>>1]|0;h=e[a+(2-o<<1)>>1]|0;n=e[a+(3-o<<1)>>1]|0;m=e[a+(4-o<<1)>>1]|0;l=e[a+(5-o<<1)>>1]|0;k=e[a+(6-o<<1)>>1]|0;j=e[a+(7-o<<1)>>1]|0;i=(k+2+(e[a+((g|0?8:7)-o<<1)>>1]|0)+(j<<1)|0)>>>2;b[p>>1]=((e[a+((((f|0)!=0)<<31>>31)-o<<1)>>1]|0)+2+(s<<1)+r|0)>>>2;b[p+2>>1]=(s+2+(r<<1)+h|0)>>>2;b[p+4>>1]=(r+2+(h<<1)+n|0)>>>2;b[p+6>>1]=(h+2+(n<<1)+m|0)>>>2;b[p+8>>1]=(n+2+(m<<1)+l|0)>>>2;b[p+10>>1]=(m+2+(l<<1)+k|0)>>>2;b[p+12>>1]=(l+2+(k<<1)+j|0)>>>2;b[p+14>>1]=i;i=o<<1;j=o*3|0;k=o<<2;l=o*5|0;m=o*6|0;n=o*7|0;g=0;h=a;f=d;while(1){if((g|0)==8)break;s=(c[f>>2]|0)+(e[p+(g<<1)>>1]|0)|0;b[h>>1]=s;s=(c[f+32>>2]|0)+s|0;b[h+(o<<1)>>1]=s;s=(c[f+64>>2]|0)+s|0;b[h+(i<<1)>>1]=s;s=(c[f+96>>2]|0)+s|0;b[h+(j<<1)>>1]=s;s=(c[f+128>>2]|0)+s|0;b[h+(k<<1)>>1]=s;s=(c[f+160>>2]|0)+s|0;b[h+(l<<1)>>1]=s;s=(c[f+192>>2]|0)+s|0;b[h+(m<<1)>>1]=s;b[h+(n<<1)>>1]=(c[f+224>>2]|0)+s;g=g+1|0;h=h+2|0;f=f+4|0}yW(d|0,0,256)|0;Ec=q;return}function Bo(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Ec;Ec=Ec+16|0;j=k;i=h>>1;q=e[a+((H(i,((f|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;p=e[a+-2>>1]|0;o=e[a+(i+-1<<1)>>1]|0;n=e[a+((i<<1)+-1<<1)>>1]|0;m=e[a+((i*3|0)+-1<<1)>>1]|0;l=e[a+((i<<2)+-1<<1)>>1]|0;h=e[a+((i*5|0)+-1<<1)>>1]|0;g=e[a+((i*6|0)+-1<<1)>>1]|0;f=e[a+((i*7|0)+-1<<1)>>1]|0;b[j>>1]=(q+2+(p<<1)+o|0)>>>2;b[j+2>>1]=(p+2+(o<<1)+n|0)>>>2;b[j+4>>1]=(o+2+(n<<1)+m|0)>>>2;b[j+6>>1]=(n+2+(m<<1)+l|0)>>>2;b[j+8>>1]=(m+2+(l<<1)+h|0)>>>2;b[j+10>>1]=(l+2+(h<<1)+g|0)>>>2;b[j+12>>1]=(h+2+(g<<1)+f|0)>>>2;b[j+14>>1]=(g+2+(f*3|0)|0)>>>2;f=0;g=a;h=d;while(1){if((f|0)==8)break;q=(c[h>>2]|0)+(e[j+(f<<1)>>1]|0)|0;b[g>>1]=q;q=(c[h+4>>2]|0)+q|0;b[g+2>>1]=q;q=(c[h+8>>2]|0)+q|0;b[g+4>>1]=q;q=(c[h+12>>2]|0)+q|0;b[g+6>>1]=q;q=(c[h+16>>2]|0)+q|0;b[g+8>>1]=q;q=(c[h+20>>2]|0)+q|0;b[g+10>>1]=q;q=(c[h+24>>2]|0)+q|0;b[g+12>>1]=q;b[g+14>>1]=(c[h+28>>2]|0)+q;f=f+1|0;g=g+(i<<1)|0;h=h+32|0}yW(d|0,0,256)|0;Ec=k;return}function Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;wo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}wo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;wo(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4)break;xo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=0;while(1){if((f|0)==4){f=4;break}xo(a+(c[b+(f<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}while(1){if((f|0)==8)break;xo(a+(c[b+(f+4<<2)>>2]|0)|0,d+(f<<5<<1)|0,e);f=f+1|0}return}function Go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d>>1;b=a+(0-d<<1)|0;e=c[b>>2]|0;b=c[b+4>>2]|0;f=a;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1)|0;c[f>>2]=e;c[f+4>>2]=b;f=a+(d<<1<<1)|0;c[f>>2]=e;c[f+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=e;c[d+4>>2]=b;return}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(e[a+-2>>1]|0|0,0,65537,65537)|0;g=M()|0;b=a;c[b>>2]=f;c[b+4>>2]=g;b=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(d<<1)|0;c[f>>2]=b;c[f+4>>2]=g;f=d<<1;g=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;f=a+(f<<1)|0;c[f>>2]=g;c[f+4>>2]=b;d=d*3|0;f=nW(e[a+(d+-1<<1)>>1]|0|0,0,65537,65537)|0;b=M()|0;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=(e[a+(0-h<<1)>>1]|0)+4+(e[a+(1-h<<1)>>1]|0)+(e[a+(2-h<<1)>>1]|0)+(e[a+(3-h<<1)>>1]|0)+(e[a+-2>>1]|0)+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)>>3;f=nW(f|0,((f|0)<0)<<31>>31|0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Jo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=d>>1;g=e[a+(1-i<<1)>>1]|0;d=e[a+(2-i<<1)>>1]|0;k=e[a+(3-i<<1)>>1]|0;j=e[c>>1]|0;h=e[c+2>>1]|0;f=e[c+4>>1]|0;c=e[c+6>>1]|0;b[a>>1]=((e[a+(0-i<<1)>>1]|0)+2+d+(g<<1)|0)>>>2;g=(g+2+k+(d<<1)|0)>>>2&65535;b[a+(i<<1)>>1]=g;b[a+2>>1]=g;d=(d+2+j+(k<<1)|0)>>>2&65535;g=i<<1;b[a+(g<<1)>>1]=d;b[a+(i+1<<1)>>1]=d;b[a+4>>1]=d;k=(k+2+h+(j<<1)|0)>>>2&65535;d=i*3|0;b[a+(d<<1)>>1]=k;b[a+((g|1)<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+f+(h<<1)|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;b[a+(i+3<<1)>>1]=j;h=(h+2+c+(f<<1)|0)>>>2&65535;b[a+(d+2<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(d+3<<1)>>1]=(f+2+(c*3|0)|0)>>>2;return}function Ko(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=d>>1;m=e[a+(~h<<1)>>1]|0;g=e[a+(0-h<<1)>>1]|0;f=e[a+(1-h<<1)>>1]|0;c=e[a+(2-h<<1)>>1]|0;d=e[a+(3-h<<1)>>1]|0;k=e[a+-2>>1]|0;n=e[a+(h+-1<<1)>>1]|0;j=h<<1;i=e[a+(j+-1<<1)>>1]|0;l=h*3|0;b[a+(l<<1)>>1]=(n+2+(e[a+(l+-1<<1)>>1]|0)+(i<<1)|0)>>>2;i=(k+2+i+(n<<1)|0)>>>2&65535;b[a+(l+1<<1)>>1]=i;b[a+(j<<1)>>1]=i;i=m+2|0;n=(i+n+(k<<1)|0)>>>2&65535;b[a+(l+2<<1)>>1]=n;b[a+((j|1)<<1)>>1]=n;b[a+(h<<1)>>1]=n;k=((m<<1)+2+g+k|0)>>>2&65535;b[a+(l+3<<1)>>1]=k;b[a+(j+2<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;b[a>>1]=k;i=(i+(g<<1)+f|0)>>>2&65535;b[a+(j+3<<1)>>1]=i;b[a+(h+2<<1)>>1]=i;b[a+2>>1]=i;g=(g+2+(f<<1)+c|0)>>>2&65535;b[a+(h+3<<1)>>1]=g;b[a+4>>1]=g;b[a+6>>1]=(f+2+(c<<1)+d|0)>>>2;return}function Lo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;i=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;k=e[a+(3-j<<1)>>1]|0;g=e[a+-2>>1]|0;f=e[a+(j+-1<<1)>>1]|0;h=j<<1;c=e[a+(h+-1<<1)>>1]|0;d=j*3|0;o=(i+1+n|0)>>>1&65535;b[a+((h|1)<<1)>>1]=o;b[a>>1]=o;o=(n+1+m|0)>>>1&65535;b[a+(h+2<<1)>>1]=o;b[a+2>>1]=o;o=(m+1+l|0)>>>1&65535;b[a+(h+3<<1)>>1]=o;b[a+4>>1]=o;b[a+6>>1]=(l+1+k|0)>>>1;o=((i<<1)+2+n+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=o;b[a+(j<<1)>>1]=o;i=i+2|0;o=(i+(n<<1)+m|0)>>>2&65535;b[a+(d+2<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;n=(n+2+(m<<1)+l|0)>>>2&65535;b[a+(d+3<<1)>>1]=n;b[a+(j+2<<1)>>1]=n;b[a+(j+3<<1)>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+(h<<1)>>1]=(i+(g<<1)+f|0)>>>2;b[a+(d<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Mo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d>>1;k=e[a+(~j<<1)>>1]|0;n=e[a+(0-j<<1)>>1]|0;m=e[a+(1-j<<1)>>1]|0;l=e[a+(2-j<<1)>>1]|0;i=e[a+-2>>1]|0;g=e[a+(j+-1<<1)>>1]|0;h=j<<1;f=e[a+(h+-1<<1)>>1]|0;d=j*3|0;c=e[a+(d+-1<<1)>>1]|0;o=(k+1+i|0)>>>1&65535;b[a+(j+2<<1)>>1]=o;b[a>>1]=o;o=((k<<1)+2+n+i|0)>>>2&65535;b[a+(j+3<<1)>>1]=o;b[a+2>>1]=o;k=k+2|0;b[a+4>>1]=(k+(n<<1)+m|0)>>>2;b[a+6>>1]=(n+2+(m<<1)+l|0)>>>2;l=(i+1+g|0)>>>1&65535;b[a+(h+2<<1)>>1]=l;b[a+(j<<1)>>1]=l;k=(k+(i<<1)+g|0)>>>2&65535;b[a+(h+3<<1)>>1]=k;b[a+(j+1<<1)>>1]=k;j=(g+1+f|0)>>>1&65535;b[a+(d+2<<1)>>1]=j;b[a+(h<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+3<<1)>>1]=i;b[a+((h|1)<<1)>>1]=i;b[a+(d<<1)>>1]=(f+1+c|0)>>>1;b[a+(d+1<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function No(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d>>1;d=e[a+(0-h<<1)>>1]|0;k=e[a+(1-h<<1)>>1]|0;j=e[a+(2-h<<1)>>1]|0;i=e[a+(3-h<<1)>>1]|0;g=e[c>>1]|0;f=e[c+2>>1]|0;c=e[c+4>>1]|0;b[a>>1]=(d+1+k|0)>>>1;m=(k+1+j|0)>>>1&65535;l=h<<1;b[a+(l<<1)>>1]=m;b[a+2>>1]=m;m=(j+1+i|0)>>>1&65535;b[a+((l|1)<<1)>>1]=m;b[a+4>>1]=m;m=(i+1+g|0)>>>1&65535;b[a+(l+2<<1)>>1]=m;b[a+6>>1]=m;b[a+(l+3<<1)>>1]=(g+1+f|0)>>>1;b[a+(h<<1)>>1]=(d+2+(k<<1)+j|0)>>>2;k=(k+2+(j<<1)+i|0)>>>2&65535;d=h*3|0;b[a+(d<<1)>>1]=k;b[a+(h+1<<1)>>1]=k;j=(j+2+(i<<1)+g|0)>>>2&65535;b[a+(d+1<<1)>>1]=j;b[a+(h+2<<1)>>1]=j;i=(i+2+(g<<1)+f|0)>>>2&65535;b[a+(d+2<<1)>>1]=i;b[a+(h+3<<1)>>1]=i;b[a+(d+3<<1)>>1]=(g+2+(f<<1)+c|0)>>>2;return}function Oo(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=d>>1;k=e[a+-2>>1]|0;j=e[a+(g+-1<<1)>>1]|0;d=g<<1;i=e[a+(d+-1<<1)>>1]|0;f=g*3|0;c=b[a+(f+-1<<1)>>1]|0;h=c&65535;b[a>>1]=(k+1+j|0)>>>1;b[a+2>>1]=(k+2+(j<<1)+i|0)>>>2;k=(j+1+i|0)>>>1&65535;b[a+(g<<1)>>1]=k;b[a+4>>1]=k;j=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(g+1<<1)>>1]=j;b[a+6>>1]=j;j=(i+1+h|0)>>>1&65535;b[a+(d<<1)>>1]=j;b[a+(g+2<<1)>>1]=j;h=(i+2+h+(h<<1)|0)>>>2&65535;b[a+((d|1)<<1)>>1]=h;b[a+(g+3<<1)>>1]=h;b[a+(f+3<<1)>>1]=c;b[a+(f+2<<1)>>1]=c;b[a+(d+2<<1)>>1]=c;b[a+(f<<1)>>1]=c;b[a+(f+1<<1)>>1]=c;b[a+(d+3<<1)>>1]=c;return}function Po(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0;h=d>>1;g=h<<1;d=h*3|0;f=nW(((e[a+-2>>1]|0)+2+(e[a+(h+-1<<1)>>1]|0)+(e[a+(g+-1<<1)>>1]|0)+(e[a+(d+-1<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;i=a;c[i>>2]=f;c[i+4>>2]=b;h=a+(h<<1)|0;c[h>>2]=f;c[h+4>>2]=b;g=a+(g<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function Qo(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;b=a+(d<<1<<1)|0;c[b>>2]=33489407;c[b+4>>2]=33489407;d=a+(d*3<<1)|0;c[d>>2]=33489407;c[d+4>>2]=33489407;return}function Ro(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;b=a+(d<<1<<1)|0;c[b>>2]=33620481;c[b+4>>2]=33620481;d=a+(d*3<<1)|0;c[d>>2]=33620481;c[d+4>>2]=33620481;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0;d=d>>1;f=nW(((e[a+(0-d<<1)>>1]|0)+2+(e[a+(1-d<<1)>>1]|0)+(e[a+(2-d<<1)>>1]|0)+(e[a+(3-d<<1)>>1]|0)|0)>>>2|0,0,65537,65537)|0;b=M()|0;g=a;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1)|0;c[g>>2]=f;c[g+4>>2]=b;g=a+(d<<1<<1)|0;c[g>>2]=f;c[g+4>>2]=b;d=a+(d*3<<1)|0;c[d>>2]=f;c[d+4>>2]=b;return}function To(a,b,d){a=a|0;b=b|0;d=d|0;d=d>>1;b=a;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;b=a+(d<<1<<1)|0;c[b>>2]=33554944;c[b+4>>2]=33554944;d=a+(d*3<<1)|0;c[d>>2]=33554944;c[d+4>>2]=33554944;return}function Uo(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=g>>1;o=e[a+(0-j<<1)>>1]|0;n=e[a+(1-j<<1)>>1]|0;i=e[a+(2-j<<1)>>1]|0;m=e[a+(3-j<<1)>>1]|0;l=e[a+(4-j<<1)>>1]|0;k=e[a+(5-j<<1)>>1]|0;g=e[a+(6-j<<1)>>1]|0;h=e[a+(7-j<<1)>>1]|0;f=(g+2+(e[a+((f|0?8:7)-j<<1)>>1]|0)+(h<<1)|0)>>>2;b[a>>1]=((e[a+((((d|0)!=0)<<31>>31)-j<<1)>>1]|0)+2+(o<<1)+n|0)>>>2;b[a+2>>1]=(o+2+(n<<1)+i|0)>>>2;b[a+4>>1]=(n+2+(i<<1)+m|0)>>>2;b[a+6>>1]=(i+2+(m<<1)+l|0)>>>2;i=a+8|0;b[i>>1]=(m+2+(l<<1)+k|0)>>>2;b[a+10>>1]=(l+2+(k<<1)+g|0)>>>2;b[a+12>>1]=(k+2+(g<<1)+h|0)>>>2;b[a+14>>1]=f;f=a;d=c[f>>2]|0;f=c[f+4>>2]|0;h=c[i>>2]|0;i=c[i+4>>2]|0;g=1;while(1){if((g|0)==8)break;o=a+((H(g,j)|0)<<1)|0;n=o;c[n>>2]=d;c[n+4>>2]=f;o=o+8|0;c[o>>2]=h;c[o+4>>2]=i;g=g+1|0}return}function Vo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=f>>1;u=e[a+((H(p,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;s=e[a+-2>>1]|0;q=e[a+(p+-1<<1)>>1]|0;n=p<<1;o=e[a+(n+-1<<1)>>1]|0;l=p*3|0;m=e[a+(l+-1<<1)>>1]|0;j=p<<2;k=e[a+(j+-1<<1)>>1]|0;h=p*5|0;i=e[a+(h+-1<<1)>>1]|0;g=p*6|0;d=e[a+(g+-1<<1)>>1]|0;f=p*7|0;b=e[a+(f+-1<<1)>>1]|0;u=nW((u+2+(s<<1)+q|0)>>>2|0,0,65537,65537)|0;t=M()|0;r=a;c[r>>2]=u;c[r+4>>2]=t;r=a+8|0;c[r>>2]=u;c[r+4>>2]=t;s=nW((s+2+(q<<1)+o|0)>>>2|0,0,65537,65537)|0;r=M()|0;p=a+(p<<1)|0;t=p;c[t>>2]=s;c[t+4>>2]=r;p=p+8|0;c[p>>2]=s;c[p+4>>2]=r;q=nW((q+2+(o<<1)+m|0)>>>2|0,0,65537,65537)|0;p=M()|0;n=a+(n<<1)|0;r=n;c[r>>2]=q;c[r+4>>2]=p;n=n+8|0;c[n>>2]=q;c[n+4>>2]=p;o=nW((o+2+(m<<1)+k|0)>>>2|0,0,65537,65537)|0;n=M()|0;l=a+(l<<1)|0;p=l;c[p>>2]=o;c[p+4>>2]=n;l=l+8|0;c[l>>2]=o;c[l+4>>2]=n;m=nW((m+2+(k<<1)+i|0)>>>2|0,0,65537,65537)|0;l=M()|0;j=a+(j<<1)|0;n=j;c[n>>2]=m;c[n+4>>2]=l;j=j+8|0;c[j>>2]=m;c[j+4>>2]=l;k=nW((k+2+(i<<1)+d|0)>>>2|0,0,65537,65537)|0;j=M()|0;h=a+(h<<1)|0;l=h;c[l>>2]=k;c[l+4>>2]=j;h=h+8|0;c[h>>2]=k;c[h+4>>2]=j;i=nW((i+2+(d<<1)+b|0)>>>2|0,0,65537,65537)|0;h=M()|0;g=a+(g<<1)|0;j=g;c[j>>2]=i;c[j+4>>2]=h;g=g+8|0;c[g>>2]=i;c[g+4>>2]=h;b=nW((d+2+(b*3|0)|0)>>>2|0,0,65537,65537)|0;d=M()|0;f=a+(f<<1)|0;a=f;c[a>>2]=b;c[a+4>>2]=d;f=f+8|0;c[f>>2]=b;c[f+4>>2]=d;return}function Wo(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=f>>1;n=((b|0)!=0)<<31>>31;w=e[a+((H(h,n)|0)+-1<<1)>>1]|0;v=e[a+-2>>1]|0;u=e[a+(h+-1<<1)>>1]|0;t=e[a+((h<<1)+-1<<1)>>1]|0;s=e[a+((h*3|0)+-1<<1)>>1]|0;r=e[a+((h<<2)+-1<<1)>>1]|0;q=e[a+((h*5|0)+-1<<1)>>1]|0;p=e[a+((h*6|0)+-1<<1)>>1]|0;o=e[a+((h*7|0)+-1<<1)>>1]|0;m=e[a+(0-h<<1)>>1]|0;l=e[a+(1-h<<1)>>1]|0;k=e[a+(2-h<<1)>>1]|0;j=e[a+(3-h<<1)>>1]|0;i=e[a+(4-h<<1)>>1]|0;f=e[a+(5-h<<1)>>1]|0;b=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=((w+2+(v<<1)+u|0)>>>2)+8+((v+2+(u<<1)+t|0)>>>2)+((u+2+(t<<1)+s|0)>>>2)+((t+2+(s<<1)+r|0)>>>2)+((s+2+(r<<1)+q|0)>>>2)+((r+2+(q<<1)+p|0)>>>2)+((q+2+(p<<1)+o|0)>>>2)+((p+2+(o*3|0)|0)>>>2)+(((e[a+(n-h<<1)>>1]|0)+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+b|0)>>>2)+((f+2+(b<<1)+g|0)>>>2)+((b+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>4;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;w=f;c[w>>2]=d;c[w+4>>2]=g;w=f+8|0;c[w>>2]=d;c[w+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function Xo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;q=f>>1;n=e[a+(0-q<<1)>>1]|0;o=e[a+(1-q<<1)>>1]|0;s=e[a+(2-q<<1)>>1]|0;p=(n+2+(o<<1)+s|0)>>>2;t=e[a+(3-q<<1)>>1]|0;r=(o+2+(s<<1)+t|0)>>>2;u=e[a+(4-q<<1)>>1]|0;s=(s+2+(t<<1)+u|0)>>>2;v=e[a+(5-q<<1)>>1]|0;t=(t+2+(u<<1)+v|0)>>>2;m=e[a+(6-q<<1)>>1]|0;u=(u+2+(v<<1)+m|0)>>>2;f=e[a+(7-q<<1)>>1]|0;v=(v+2+(m<<1)+f|0)>>>2;l=(d|0)!=0;m=(m+2+(e[a+((l?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(l){x=e[a+(8-q<<1)>>1]|0;w=e[a+(9-q<<1)>>1]|0;l=e[a+(10-q<<1)>>1]|0;k=e[a+(11-q<<1)>>1]|0;j=e[a+(12-q<<1)>>1]|0;i=e[a+(13-q<<1)>>1]|0;h=e[a+(14-q<<1)>>1]|0;g=e[a+(15-q<<1)>>1]|0;d=(h+2+(g*3|0)|0)>>>2;g=(i+2+(h<<1)+g|0)>>>2;h=(j+2+(i<<1)+h|0)>>>2;i=(k+2+(j<<1)+i|0)>>>2;j=(l+2+(k<<1)+j|0)>>>2;k=(w+2+(l<<1)+k|0)>>>2;l=(x+2+(w<<1)+l|0)>>>2;f=(f+2+(x<<1)+w|0)>>>2}else{d=f;g=f;h=f;i=f;j=f;k=f;l=f}b[a>>1]=((((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(n<<1)+o|0)>>>2)+2+(p<<1)+r|0)>>>2;w=(p+2+(r<<1)+s|0)>>>2&65535;b[a+2>>1]=w;b[a+(q<<1)>>1]=w;w=(r+2+(s<<1)+t|0)>>>2&65535;b[a+4>>1]=w;b[a+(q+1<<1)>>1]=w;r=q<<1;b[a+(r<<1)>>1]=w;w=(s+2+(t<<1)+u|0)>>>2&65535;b[a+6>>1]=w;b[a+(q+2<<1)>>1]=w;b[a+((r|1)<<1)>>1]=w;s=q*3|0;b[a+(s<<1)>>1]=w;w=(t+2+(u<<1)+v|0)>>>2&65535;b[a+8>>1]=w;b[a+(q+3<<1)>>1]=w;b[a+(r+2<<1)>>1]=w;b[a+(s+1<<1)>>1]=w;t=q<<2;b[a+(t<<1)>>1]=w;w=(u+2+(v<<1)+m|0)>>>2&65535;b[a+10>>1]=w;b[a+(q+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(s+2<<1)>>1]=w;b[a+((t|1)<<1)>>1]=w;u=q*5|0;b[a+(u<<1)>>1]=w;w=(v+2+(m<<1)+f|0)>>>2&65535;b[a+12>>1]=w;b[a+(q+5<<1)>>1]=w;b[a+(r+4<<1)>>1]=w;b[a+(s+3<<1)>>1]=w;b[a+((t|2)<<1)>>1]=w;b[a+(u+1<<1)>>1]=w;c=q*6|0;b[a+(c<<1)>>1]=w;w=(m+2+(f<<1)+l|0)>>>2&65535;b[a+14>>1]=w;b[a+(q+6<<1)>>1]=w;b[a+(r+5<<1)>>1]=w;b[a+(s+4<<1)>>1]=w;b[a+((t|3)<<1)>>1]=w;b[a+(u+2<<1)>>1]=w;b[a+((c|1)<<1)>>1]=w;x=q*7|0;b[a+(x<<1)>>1]=w;w=(f+2+(l<<1)+k|0)>>>2&65535;b[a+(q+7<<1)>>1]=w;b[a+(r+6<<1)>>1]=w;b[a+(s+5<<1)>>1]=w;b[a+(t+4<<1)>>1]=w;b[a+(u+3<<1)>>1]=w;b[a+(c+2<<1)>>1]=w;b[a+(x+1<<1)>>1]=w;w=(l+2+(k<<1)+j|0)>>>2&65535;b[a+(r+7<<1)>>1]=w;b[a+(s+6<<1)>>1]=w;b[a+(t+5<<1)>>1]=w;b[a+(u+4<<1)>>1]=w;b[a+(c+3<<1)>>1]=w;b[a+(x+2<<1)>>1]=w;w=(k+2+(j<<1)+i|0)>>>2&65535;b[a+(s+7<<1)>>1]=w;b[a+(t+6<<1)>>1]=w;b[a+(u+5<<1)>>1]=w;b[a+(c+4<<1)>>1]=w;b[a+(x+3<<1)>>1]=w;w=(j+2+(i<<1)+h|0)>>>2&65535;b[a+(t+7<<1)>>1]=w;b[a+(u+6<<1)>>1]=w;b[a+(c+5<<1)>>1]=w;b[a+(x+4<<1)>>1]=w;w=(i+2+(h<<1)+g|0)>>>2&65535;b[a+(u+7<<1)>>1]=w;b[a+(c+6<<1)>>1]=w;b[a+(x+5<<1)>>1]=w;w=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(c+7<<1)>>1]=w;b[a+(x+6<<1)>>1]=w;b[a+(x+7<<1)>>1]=(g+2+(d*3|0)|0)>>>2;return}function Yo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=f>>1;t=((c|0)!=0)<<31>>31;C=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;s=((e[a+(t-h<<1)>>1]|0)+2+(C<<1)+m|0)>>>2;k=e[a+(2-h<<1)>>1]|0;C=C+2|0;o=(C+(m<<1)+k|0)>>>2;i=e[a+(3-h<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;g=e[a+(4-h<<1)>>1]|0;k=(k+2+(i<<1)+g|0)>>>2;c=e[a+(5-h<<1)>>1]|0;i=(i+2+(g<<1)+c|0)>>>2;q=e[a+(6-h<<1)>>1]|0;g=(g+2+(c<<1)+q|0)>>>2;f=e[a+(7-h<<1)>>1]|0;c=(c+2+(q<<1)+f|0)>>>2;f=(q+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(f<<1)|0)>>>2;t=e[a+((H(h,t)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;v=e[a+(h+-1<<1)>>1]|0;t=(t+2+(q<<1)+v|0)>>>2;j=h<<1;w=e[a+(j+-1<<1)>>1]|0;d=(q+2+(v<<1)+w|0)>>>2;l=h*3|0;x=e[a+(l+-1<<1)>>1]|0;v=(v+2+(w<<1)+x|0)>>>2;n=h<<2;y=e[a+(n+-1<<1)>>1]|0;w=(w+2+(x<<1)+y|0)>>>2;p=h*5|0;z=e[a+(p+-1<<1)>>1]|0;x=(x+2+(y<<1)+z|0)>>>2;r=h*6|0;B=e[a+(r+-1<<1)>>1]|0;y=(y+2+(z<<1)+B|0)>>>2;u=h*7|0;A=e[a+(u+-1<<1)>>1]|0;z=(z+2+(B<<1)+A|0)>>>2;q=(C+q+((e[a+(~h<<1)>>1]|0)<<1)|0)>>>2;b[a+(u<<1)>>1]=(y+2+((B+2+(A*3|0)|0)>>>2)+(z<<1)|0)>>>2;z=(x+2+(y<<1)+z|0)>>>2&65535;b[a+(u+1<<1)>>1]=z;b[a+(r<<1)>>1]=z;y=(w+2+(x<<1)+y|0)>>>2&65535;b[a+(u+2<<1)>>1]=y;b[a+((r|1)<<1)>>1]=y;b[a+(p<<1)>>1]=y;x=(v+2+(w<<1)+x|0)>>>2&65535;b[a+(u+3<<1)>>1]=x;b[a+(r+2<<1)>>1]=x;b[a+(p+1<<1)>>1]=x;b[a+(n<<1)>>1]=x;w=(d+2+(v<<1)+w|0)>>>2&65535;b[a+(u+4<<1)>>1]=w;b[a+(r+3<<1)>>1]=w;b[a+(p+2<<1)>>1]=w;b[a+((n|1)<<1)>>1]=w;b[a+(l<<1)>>1]=w;v=(t+2+(d<<1)+v|0)>>>2&65535;b[a+(u+5<<1)>>1]=v;b[a+(r+4<<1)>>1]=v;b[a+(p+3<<1)>>1]=v;b[a+((n|2)<<1)>>1]=v;b[a+(l+1<<1)>>1]=v;b[a+(j<<1)>>1]=v;d=((t<<1)+2+d+q|0)>>>2&65535;b[a+(u+6<<1)>>1]=d;b[a+(r+5<<1)>>1]=d;b[a+(p+4<<1)>>1]=d;b[a+((n|3)<<1)>>1]=d;b[a+(l+2<<1)>>1]=d;b[a+((j|1)<<1)>>1]=d;b[a+(h<<1)>>1]=d;d=s+2|0;t=(d+t+(q<<1)|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(r+6<<1)>>1]=t;b[a+(p+5<<1)>>1]=t;b[a+(n+4<<1)>>1]=t;b[a+(l+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(h+1<<1)>>1]=t;b[a>>1]=t;q=((s<<1)+2+o+q|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+6<<1)>>1]=q;b[a+(n+5<<1)>>1]=q;b[a+(l+4<<1)>>1]=q;b[a+(j+3<<1)>>1]=q;b[a+(h+2<<1)>>1]=q;b[a+2>>1]=q;d=(d+(o<<1)+m|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(n+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(h+3<<1)>>1]=d;b[a+4>>1]=d;d=(o+2+(m<<1)+k|0)>>>2&65535;b[a+(n+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(h+4<<1)>>1]=d;b[a+6>>1]=d;d=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(l+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(h+5<<1)>>1]=d;b[a+8>>1]=d;d=(k+2+(i<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+10>>1]=d;d=(i+2+(g<<1)+c|0)>>>2&65535;b[a+(h+7<<1)>>1]=d;b[a+12>>1]=d;b[a+14>>1]=(g+2+(c<<1)+f|0)>>>2;return}function Zo(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=f>>1;s=((c|0)!=0)<<31>>31;A=e[a+(0-g<<1)>>1]|0;q=e[a+(1-g<<1)>>1]|0;u=((e[a+(s-g<<1)>>1]|0)+2+(A<<1)+q|0)>>>2;n=e[a+(2-g<<1)>>1]|0;A=A+2|0;r=(A+(q<<1)+n|0)>>>2;k=e[a+(3-g<<1)>>1]|0;q=(q+2+(n<<1)+k|0)>>>2;h=e[a+(4-g<<1)>>1]|0;n=(n+2+(k<<1)+h|0)>>>2;c=e[a+(5-g<<1)>>1]|0;k=(k+2+(h<<1)+c|0)>>>2;t=e[a+(6-g<<1)>>1]|0;h=(h+2+(c<<1)+t|0)>>>2;f=e[a+(7-g<<1)>>1]|0;c=(c+2+(t<<1)+f|0)>>>2;f=(t+2+(e[a+((d|0?8:7)-g<<1)>>1]|0)+(f<<1)|0)>>>2;s=e[a+((H(g,s)|0)+-1<<1)>>1]|0;t=e[a+-2>>1]|0;d=e[a+(g+-1<<1)>>1]|0;s=(s+2+(t<<1)+d|0)>>>2;i=g<<1;x=e[a+(i+-1<<1)>>1]|0;v=(t+2+(d<<1)+x|0)>>>2;j=g*3|0;w=e[a+(j+-1<<1)>>1]|0;d=(d+2+(x<<1)+w|0)>>>2;l=g<<2;z=e[a+(l+-1<<1)>>1]|0;x=(x+2+(w<<1)+z|0)>>>2;m=g*5|0;B=e[a+(m+-1<<1)>>1]|0;w=(w+2+(z<<1)+B|0)>>>2;o=g*6|0;y=e[a+(o+-1<<1)>>1]|0;z=(z+2+(B<<1)+y|0)>>>2;p=g*7|0;y=(B+2+(y<<1)+(e[a+(p+-1<<1)>>1]|0)|0)>>>2;t=(A+t+((e[a+(~g<<1)>>1]|0)<<1)|0)>>>2;b[a+(o<<1)>>1]=(x+2+(w<<1)+z|0)>>>2;b[a+(p<<1)>>1]=(w+2+(z<<1)+y|0)>>>2;y=(v+2+(d<<1)+x|0)>>>2&65535;b[a+((o|1)<<1)>>1]=y;b[a+(l<<1)>>1]=y;w=(d+2+(x<<1)+w|0)>>>2&65535;b[a+(p+1<<1)>>1]=w;b[a+(m<<1)>>1]=w;w=((s<<1)+2+v+t|0)>>>2&65535;b[a+(o+2<<1)>>1]=w;b[a+((l|1)<<1)>>1]=w;b[a+(i<<1)>>1]=w;d=(s+2+(v<<1)+d|0)>>>2&65535;b[a+(p+2<<1)>>1]=d;b[a+(m+1<<1)>>1]=d;b[a+(j<<1)>>1]=d;d=u+2|0;s=(d+s+(t<<1)|0)>>>2&65535;b[a+(p+3<<1)>>1]=s;b[a+(m+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;b[a+(g<<1)>>1]=s;s=u+1|0;v=(s+t|0)>>>1&65535;b[a+(o+3<<1)>>1]=v;b[a+((l|2)<<1)>>1]=v;b[a+((i|1)<<1)>>1]=v;b[a>>1]=v;t=((u<<1)+2+r+t|0)>>>2&65535;b[a+(p+4<<1)>>1]=t;b[a+(m+3<<1)>>1]=t;b[a+(j+2<<1)>>1]=t;b[a+(g+1<<1)>>1]=t;s=(s+r|0)>>>1&65535;b[a+(o+4<<1)>>1]=s;b[a+((l|3)<<1)>>1]=s;b[a+(i+2<<1)>>1]=s;b[a+2>>1]=s;d=(d+(r<<1)+q|0)>>>2&65535;b[a+(p+5<<1)>>1]=d;b[a+(m+4<<1)>>1]=d;b[a+(j+3<<1)>>1]=d;b[a+(g+2<<1)>>1]=d;d=(r+1+q|0)>>>1&65535;b[a+(o+5<<1)>>1]=d;b[a+(l+4<<1)>>1]=d;b[a+(i+3<<1)>>1]=d;b[a+4>>1]=d;d=(r+2+(q<<1)+n|0)>>>2&65535;b[a+(p+6<<1)>>1]=d;b[a+(m+5<<1)>>1]=d;b[a+(j+4<<1)>>1]=d;b[a+(g+3<<1)>>1]=d;d=(q+1+n|0)>>>1&65535;b[a+(o+6<<1)>>1]=d;b[a+(l+5<<1)>>1]=d;b[a+(i+4<<1)>>1]=d;b[a+6>>1]=d;d=(q+2+(n<<1)+k|0)>>>2&65535;b[a+(p+7<<1)>>1]=d;b[a+(m+6<<1)>>1]=d;b[a+(j+5<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;d=(n+1+k|0)>>>1&65535;b[a+(o+7<<1)>>1]=d;b[a+(l+6<<1)>>1]=d;b[a+(i+5<<1)>>1]=d;b[a+8>>1]=d;d=(n+2+(k<<1)+h|0)>>>2&65535;b[a+(m+7<<1)>>1]=d;b[a+(j+6<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;d=(k+1+h|0)>>>1&65535;b[a+(l+7<<1)>>1]=d;b[a+(i+6<<1)>>1]=d;b[a+10>>1]=d;d=(k+2+(h<<1)+c|0)>>>2&65535;b[a+(j+7<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;d=(h+1+c|0)>>>1&65535;b[a+(i+7<<1)>>1]=d;b[a+12>>1]=d;b[a+(g+7<<1)>>1]=(h+2+(c<<1)+f|0)>>>2;b[a+14>>1]=(c+1+f|0)>>>1;return}function _o(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;i=f>>1;o=((c|0)!=0)<<31>>31;A=e[a+(0-i<<1)>>1]|0;h=e[a+(1-i<<1)>>1]|0;n=((e[a+(o-i<<1)>>1]|0)+2+(A<<1)+h|0)>>>2;g=e[a+(2-i<<1)>>1]|0;A=A+2|0;j=(A+(h<<1)+g|0)>>>2;c=e[a+(3-i<<1)>>1]|0;h=(h+2+(g<<1)+c|0)>>>2;d=e[a+(4-i<<1)>>1]|0;g=(g+2+(c<<1)+d|0)>>>2;m=e[a+(5-i<<1)>>1]|0;c=(c+2+(d<<1)+m|0)>>>2;f=e[a+(6-i<<1)>>1]|0;d=(d+2+(m<<1)+f|0)>>>2;f=(m+2+(f<<1)+(e[a+(7-i<<1)>>1]|0)|0)>>>2;o=e[a+((H(i,o)|0)+-1<<1)>>1]|0;m=e[a+-2>>1]|0;k=e[a+(i+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;l=i<<1;t=e[a+(l+-1<<1)>>1]|0;q=(m+2+(k<<1)+t|0)>>>2;p=i*3|0;v=e[a+(p+-1<<1)>>1]|0;k=(k+2+(t<<1)+v|0)>>>2;r=i<<2;x=e[a+(r+-1<<1)>>1]|0;t=(t+2+(v<<1)+x|0)>>>2;s=i*5|0;y=e[a+(s+-1<<1)>>1]|0;v=(v+2+(x<<1)+y|0)>>>2;u=i*6|0;B=e[a+(u+-1<<1)>>1]|0;x=(x+2+(y<<1)+B|0)>>>2;w=i*7|0;z=e[a+(w+-1<<1)>>1]|0;y=(y+2+(B<<1)+z|0)>>>2;z=(B+2+(z*3|0)|0)>>>2;m=(A+m+((e[a+(~i<<1)>>1]|0)<<1)|0)>>>2;b[a+(w<<1)>>1]=(z+1+y|0)>>>1;b[a+(w+1<<1)>>1]=(x+2+z+(y<<1)|0)>>>2;z=(x+1+y|0)>>>1&65535;b[a+(w+2<<1)>>1]=z;b[a+(u<<1)>>1]=z;y=(v+2+(x<<1)+y|0)>>>2&65535;b[a+(w+3<<1)>>1]=y;b[a+((u|1)<<1)>>1]=y;y=(v+1+x|0)>>>1&65535;b[a+(w+4<<1)>>1]=y;b[a+(u+2<<1)>>1]=y;b[a+(s<<1)>>1]=y;x=(t+2+(v<<1)+x|0)>>>2&65535;b[a+(w+5<<1)>>1]=x;b[a+(u+3<<1)>>1]=x;b[a+(s+1<<1)>>1]=x;x=(t+1+v|0)>>>1&65535;b[a+(w+6<<1)>>1]=x;b[a+(u+4<<1)>>1]=x;b[a+(s+2<<1)>>1]=x;b[a+(r<<1)>>1]=x;v=(k+2+(t<<1)+v|0)>>>2&65535;b[a+(w+7<<1)>>1]=v;b[a+(u+5<<1)>>1]=v;b[a+(s+3<<1)>>1]=v;b[a+((r|1)<<1)>>1]=v;v=(k+1+t|0)>>>1&65535;b[a+(u+6<<1)>>1]=v;b[a+(s+4<<1)>>1]=v;b[a+((r|2)<<1)>>1]=v;b[a+(p<<1)>>1]=v;t=(q+2+(k<<1)+t|0)>>>2&65535;b[a+(u+7<<1)>>1]=t;b[a+(s+5<<1)>>1]=t;b[a+((r|3)<<1)>>1]=t;b[a+(p+1<<1)>>1]=t;t=(q+1+k|0)>>>1&65535;b[a+(s+6<<1)>>1]=t;b[a+(r+4<<1)>>1]=t;b[a+(p+2<<1)>>1]=t;b[a+(l<<1)>>1]=t;k=(o+2+(q<<1)+k|0)>>>2&65535;b[a+(s+7<<1)>>1]=k;b[a+(r+5<<1)>>1]=k;b[a+(p+3<<1)>>1]=k;b[a+((l|1)<<1)>>1]=k;k=o+1|0;s=(k+q|0)>>>1&65535;b[a+(r+6<<1)>>1]=s;b[a+(p+4<<1)>>1]=s;b[a+(l+2<<1)>>1]=s;b[a+(i<<1)>>1]=s;q=((o<<1)+2+q+m|0)>>>2&65535;b[a+(r+7<<1)>>1]=q;b[a+(p+5<<1)>>1]=q;b[a+(l+3<<1)>>1]=q;b[a+(i+1<<1)>>1]=q;k=(k+m|0)>>>1&65535;b[a+(p+6<<1)>>1]=k;b[a+(l+4<<1)>>1]=k;b[a+(i+2<<1)>>1]=k;b[a>>1]=k;k=n+2|0;o=(k+o+(m<<1)|0)>>>2&65535;b[a+(p+7<<1)>>1]=o;b[a+(l+5<<1)>>1]=o;b[a+(i+3<<1)>>1]=o;b[a+2>>1]=o;m=((n<<1)+2+j+m|0)>>>2&65535;b[a+(l+6<<1)>>1]=m;b[a+(i+4<<1)>>1]=m;b[a+4>>1]=m;k=(k+(j<<1)+h|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(i+5<<1)>>1]=k;b[a+6>>1]=k;j=(j+2+(h<<1)+g|0)>>>2&65535;b[a+(i+6<<1)>>1]=j;b[a+8>>1]=j;h=(h+2+(g<<1)+c|0)>>>2&65535;b[a+(i+7<<1)>>1]=h;b[a+10>>1]=h;b[a+12>>1]=(g+2+(c<<1)+d|0)>>>2;b[a+14>>1]=(c+2+(d<<1)+f|0)>>>2;return}function $o(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=f>>1;k=e[a+(0-q<<1)>>1]|0;l=e[a+(1-q<<1)>>1]|0;j=((e[a+((((c|0)!=0)<<31>>31)-q<<1)>>1]|0)+2+(k<<1)+l|0)>>>2;m=e[a+(2-q<<1)>>1]|0;k=(k+2+(l<<1)+m|0)>>>2;n=e[a+(3-q<<1)>>1]|0;l=(l+2+(m<<1)+n|0)>>>2;o=e[a+(4-q<<1)>>1]|0;m=(m+2+(n<<1)+o|0)>>>2;p=e[a+(5-q<<1)>>1]|0;n=(n+2+(o<<1)+p|0)>>>2;i=e[a+(6-q<<1)>>1]|0;o=(o+2+(p<<1)+i|0)>>>2;f=e[a+(7-q<<1)>>1]|0;p=(p+2+(i<<1)+f|0)>>>2;h=(d|0)!=0;i=(i+2+(e[a+((h?8:7)-q<<1)>>1]|0)+(f<<1)|0)>>>2;if(h){s=e[a+(8-q<<1)>>1]|0;r=e[a+(9-q<<1)>>1]|0;h=e[a+(10-q<<1)>>1]|0;g=e[a+(11-q<<1)>>1]|0;d=e[a+(12-q<<1)>>1]|0;c=(g+2+(d<<1)+(e[a+(13-q<<1)>>1]|0)|0)>>>2;d=(h+2+(g<<1)+d|0)>>>2;g=(r+2+(h<<1)+g|0)>>>2;h=(s+2+(r<<1)+h|0)>>>2;f=(f+2+(s<<1)+r|0)>>>2}else{c=f;d=f;g=f;h=f}b[a>>1]=(j+1+k|0)>>>1;b[a+(q<<1)>>1]=(j+2+(k<<1)+l|0)>>>2;s=(k+1+l|0)>>>1&65535;b[a+2>>1]=s;t=q<<1;b[a+(t<<1)>>1]=s;s=(k+2+(l<<1)+m|0)>>>2&65535;b[a+(q+1<<1)>>1]=s;j=q*3|0;b[a+(j<<1)>>1]=s;s=(l+1+m|0)>>>1&65535;b[a+4>>1]=s;b[a+((t|1)<<1)>>1]=s;k=q<<2;b[a+(k<<1)>>1]=s;s=(l+2+(m<<1)+n|0)>>>2&65535;b[a+(q+2<<1)>>1]=s;b[a+(j+1<<1)>>1]=s;l=q*5|0;b[a+(l<<1)>>1]=s;s=(m+1+n|0)>>>1&65535;b[a+6>>1]=s;b[a+(t+2<<1)>>1]=s;b[a+((k|1)<<1)>>1]=s;r=q*6|0;b[a+(r<<1)>>1]=s;m=(m+2+(n<<1)+o|0)>>>2&65535;b[a+(q+3<<1)>>1]=m;b[a+(j+2<<1)>>1]=m;b[a+(l+1<<1)>>1]=m;s=q*7|0;b[a+(s<<1)>>1]=m;m=(n+1+o|0)>>>1&65535;b[a+8>>1]=m;b[a+(t+3<<1)>>1]=m;b[a+((k|2)<<1)>>1]=m;b[a+((r|1)<<1)>>1]=m;n=(n+2+(o<<1)+p|0)>>>2&65535;b[a+(q+4<<1)>>1]=n;b[a+(j+3<<1)>>1]=n;b[a+(l+2<<1)>>1]=n;b[a+(s+1<<1)>>1]=n;n=(o+1+p|0)>>>1&65535;b[a+10>>1]=n;b[a+(t+4<<1)>>1]=n;b[a+((k|3)<<1)>>1]=n;b[a+(r+2<<1)>>1]=n;o=(o+2+(p<<1)+i|0)>>>2&65535;b[a+(q+5<<1)>>1]=o;b[a+(j+4<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(s+2<<1)>>1]=o;o=(p+1+i|0)>>>1&65535;b[a+12>>1]=o;b[a+(t+5<<1)>>1]=o;b[a+(k+4<<1)>>1]=o;b[a+(r+3<<1)>>1]=o;p=(p+2+(i<<1)+f|0)>>>2&65535;b[a+(q+6<<1)>>1]=p;b[a+(j+5<<1)>>1]=p;b[a+(l+4<<1)>>1]=p;b[a+(s+3<<1)>>1]=p;p=(i+1+f|0)>>>1&65535;b[a+14>>1]=p;b[a+(t+6<<1)>>1]=p;b[a+(k+5<<1)>>1]=p;b[a+(r+4<<1)>>1]=p;p=(i+2+(f<<1)+h|0)>>>2&65535;b[a+(q+7<<1)>>1]=p;b[a+(j+6<<1)>>1]=p;b[a+(l+5<<1)>>1]=p;b[a+(s+4<<1)>>1]=p;q=(f+1+h|0)>>>1&65535;b[a+(t+7<<1)>>1]=q;b[a+(k+6<<1)>>1]=q;b[a+(r+5<<1)>>1]=q;q=(f+2+(h<<1)+g|0)>>>2&65535;b[a+(j+7<<1)>>1]=q;b[a+(l+6<<1)>>1]=q;b[a+(s+5<<1)>>1]=q;q=(h+1+g|0)>>>1&65535;b[a+(k+7<<1)>>1]=q;b[a+(r+6<<1)>>1]=q;q=(h+2+(g<<1)+d|0)>>>2&65535;b[a+(l+7<<1)>>1]=q;b[a+(s+6<<1)>>1]=q;b[a+(r+7<<1)>>1]=(g+1+d|0)>>>1;b[a+(s+7<<1)>>1]=(g+2+(d<<1)+c|0)>>>2;return}function ap(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=f>>1;r=e[a+((H(n,((c|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;q=e[a+-2>>1]|0;p=e[a+(n+-1<<1)>>1]|0;r=(r+2+(q<<1)+p|0)>>>2;l=n<<1;o=e[a+(l+-1<<1)>>1]|0;q=(q+2+(p<<1)+o|0)>>>2;j=n*3|0;m=e[a+(j+-1<<1)>>1]|0;p=(p+2+(o<<1)+m|0)>>>2;h=n<<2;k=e[a+(h+-1<<1)>>1]|0;o=(o+2+(m<<1)+k|0)>>>2;g=n*5|0;i=e[a+(g+-1<<1)>>1]|0;m=(m+2+(k<<1)+i|0)>>>2;c=n*6|0;s=e[a+(c+-1<<1)>>1]|0;k=(k+2+(i<<1)+s|0)>>>2;f=n*7|0;d=e[a+(f+-1<<1)>>1]|0;i=(i+2+(s<<1)+d|0)>>>2;d=(s+2+(d*3|0)|0)>>>2;b[a>>1]=(r+1+q|0)>>>1;b[a+2>>1]=(r+2+(q<<1)+p|0)>>>2;r=(q+1+p|0)>>>1&65535;b[a+4>>1]=r;b[a+(n<<1)>>1]=r;q=(q+2+(p<<1)+o|0)>>>2&65535;b[a+6>>1]=q;b[a+(n+1<<1)>>1]=q;q=(p+1+o|0)>>>1&65535;b[a+8>>1]=q;b[a+(n+2<<1)>>1]=q;b[a+(l<<1)>>1]=q;p=(p+2+(o<<1)+m|0)>>>2&65535;b[a+10>>1]=p;b[a+(n+3<<1)>>1]=p;b[a+((l|1)<<1)>>1]=p;p=(o+1+m|0)>>>1&65535;b[a+12>>1]=p;b[a+(n+4<<1)>>1]=p;b[a+(l+2<<1)>>1]=p;b[a+(j<<1)>>1]=p;o=(o+2+(m<<1)+k|0)>>>2&65535;b[a+14>>1]=o;b[a+(n+5<<1)>>1]=o;b[a+(l+3<<1)>>1]=o;b[a+(j+1<<1)>>1]=o;o=(m+1+k|0)>>>1&65535;b[a+(n+6<<1)>>1]=o;b[a+(l+4<<1)>>1]=o;b[a+(j+2<<1)>>1]=o;b[a+(h<<1)>>1]=o;m=(m+2+(k<<1)+i|0)>>>2&65535;b[a+(n+7<<1)>>1]=m;b[a+(l+5<<1)>>1]=m;b[a+(j+3<<1)>>1]=m;b[a+((h|1)<<1)>>1]=m;m=(k+1+i|0)>>>1&65535;b[a+(l+6<<1)>>1]=m;b[a+(j+4<<1)>>1]=m;b[a+((h|2)<<1)>>1]=m;b[a+(g<<1)>>1]=m;k=(k+2+d+(i<<1)|0)>>>2&65535;b[a+(l+7<<1)>>1]=k;b[a+(j+5<<1)>>1]=k;b[a+((h|3)<<1)>>1]=k;b[a+(g+1<<1)>>1]=k;k=(d+1+i|0)>>>1&65535;b[a+(j+6<<1)>>1]=k;b[a+(h+4<<1)>>1]=k;b[a+(g+2<<1)>>1]=k;b[a+(c<<1)>>1]=k;i=(i+2+(d*3|0)|0)>>>2&65535;b[a+(j+7<<1)>>1]=i;b[a+(h+5<<1)>>1]=i;b[a+(g+3<<1)>>1]=i;b[a+((c|1)<<1)>>1]=i;d=d&65535;b[a+(f+7<<1)>>1]=d;b[a+(c+7<<1)>>1]=d;b[a+(g+7<<1)>>1]=d;b[a+(h+7<<1)>>1]=d;b[a+(f+6<<1)>>1]=d;b[a+(c+6<<1)>>1]=d;b[a+(g+6<<1)>>1]=d;b[a+(h+6<<1)>>1]=d;b[a+(f+5<<1)>>1]=d;b[a+(c+5<<1)>>1]=d;b[a+(g+5<<1)>>1]=d;b[a+(f+4<<1)>>1]=d;b[a+(c+4<<1)>>1]=d;b[a+(g+4<<1)>>1]=d;b[a+(f+3<<1)>>1]=d;b[a+(c+3<<1)>>1]=d;b[a+(f+2<<1)>>1]=d;b[a+(c+2<<1)>>1]=d;b[a+(f+1<<1)>>1]=d;b[a+(f<<1)>>1]=d;return}function bp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f>>1;m=e[a+((H(h,((b|0)!=0)<<31>>31)|0)+-1<<1)>>1]|0;l=e[a+-2>>1]|0;k=e[a+(h+-1<<1)>>1]|0;j=e[a+((h<<1)+-1<<1)>>1]|0;i=e[a+((h*3|0)+-1<<1)>>1]|0;d=e[a+((h<<2)+-1<<1)>>1]|0;f=e[a+((h*5|0)+-1<<1)>>1]|0;g=e[a+((h*6|0)+-1<<1)>>1]|0;b=e[a+((h*7|0)+-1<<1)>>1]|0;b=((m+2+(l<<1)+k|0)>>>2)+4+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+d|0)>>>2)+((i+2+(d<<1)+f|0)>>>2)+((d+2+(f<<1)+g|0)>>>2)+((f+2+(g<<1)+b|0)>>>2)+((g+2+(b*3|0)|0)>>>2)>>3;b=nW(b|0,((b|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;f=0;d=a;while(1){if((f|0)==8)break;m=d;c[m>>2]=b;c[m+4>>2]=g;m=d+8|0;c[m>>2]=b;c[m+4>>2]=g;f=f+1|0;d=d+(h<<1)|0}return}function cp(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=f>>1;n=e[a+(0-h<<1)>>1]|0;m=e[a+(1-h<<1)>>1]|0;l=e[a+(2-h<<1)>>1]|0;k=e[a+(3-h<<1)>>1]|0;j=e[a+(4-h<<1)>>1]|0;i=e[a+(5-h<<1)>>1]|0;f=e[a+(6-h<<1)>>1]|0;g=e[a+(7-h<<1)>>1]|0;d=(((e[a+((((b|0)!=0)<<31>>31)-h<<1)>>1]|0)+2+(n<<1)+m|0)>>>2)+4+((n+2+(m<<1)+l|0)>>>2)+((m+2+(l<<1)+k|0)>>>2)+((l+2+(k<<1)+j|0)>>>2)+((k+2+(j<<1)+i|0)>>>2)+((j+2+(i<<1)+f|0)>>>2)+((i+2+(f<<1)+g|0)>>>2)+((f+2+(e[a+((d|0?8:7)-h<<1)>>1]|0)+(g<<1)|0)>>>2)>>3;d=nW(d|0,((d|0)<0)<<31>>31|0,65537,65537)|0;g=M()|0;b=0;f=a;while(1){if((b|0)==8)break;n=f;c[n>>2]=d;c[n+4>>2]=g;n=f+8|0;c[n>>2]=d;c[n+4>>2]=g;b=b+1|0;f=f+(h<<1)|0}return}function dp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=e>>1;b=0;while(1){if((b|0)==8)break;e=a;c[e>>2]=33554944;c[e+4>>2]=33554944;e=a+8|0;c[e>>2]=33554944;c[e+4>>2]=33554944;b=b+1|0;a=a+(d<<1)|0}return}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==8)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function fp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=b>>1;f=a+(0-g<<1)|0;d=f;h=c[d>>2]|0;d=c[d+4>>2]|0;f=f+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;b=0;while(1){if((b|0)==16)break;i=a+((H(b,g)|0)<<1)|0;j=i;c[j>>2]=h;c[j+4>>2]=d;i=i+8|0;c[i>>2]=e;c[i+4>>2]=f;b=b+1|0}return}function gp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==8)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function hp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0;d=b>>1;b=0;while(1){if((b|0)==16)break;f=H(b,d)|0;h=nW(e[a+(f+-1<<1)>>1]|0|0,0,65537,65537)|0;g=M()|0;f=a+(f<<1)|0;i=f;c[i>>2]=h;c[i+4>>2]=g;f=f+8|0;c[f>>2]=h;c[f+4>>2]=g;b=b+1|0}return}function ip(a,c){a=a|0;c=c|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c>>1;h=0-q|0;i=a+6+(h<<1)|0;f=a+(q<<2<<1)+-2|0;p=q<<1;d=f+(0-p<<1)|0;o=a+((q*14|0)+-2)|0;p=a+(-2-p)|0;j=(e[f>>1]|0)-(e[d>>1]|0)|0;c=(e[i+2>>1]|0)-(e[i+-2>>1]|0)|0;g=2;while(1){if((g|0)==5)break;n=f+(q<<1)|0;m=d+(h<<1)|0;l=(H((e[i+(g<<1)>>1]|0)-(e[i+(0-g<<1)>>1]|0)|0,g)|0)+c|0;j=(H((e[n>>1]|0)-(e[m>>1]|0)|0,g)|0)+j|0;c=l;d=m;f=n;g=g+1|0}n=(c*17|0)+16>>5;g=(j*17|0)+16>>5;h=n<<1;i=n*3|0;j=n<<2;k=n*5|0;l=n*6|0;m=n*7|0;f=8;d=(H(g+n|0,-3)|0)+16+((e[p+16>>1]|0)+(e[o>>1]|0)<<4)|0;c=a;while(1){if((f|0)<=0)break;a=d>>5;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+n>>5;b[c+2>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+h>>5;b[c+4>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+i>>5;b[c+6>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+j>>5;b[c+8>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+k>>5;b[c+10>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+l>>5;b[c+12>>1]=a>>>0<1024?a:0-a>>31&1023;a=d+m>>5;b[c+14>>1]=a>>>0<1024?a:0-a>>31&1023;f=f+-1|0;d=d+g|0;c=c+(q<<1)|0}return} |
| | | function MH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function NH(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=0;while(1){if((j|0)>=(i|0))break;n=H(j,g)|0;k=b+n|0;o=k;k=k+4|0;m=H(j,h)|0;p=e+m|0;l=p;p=p+4|0;p=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24)|0;l=M()|0;k=H(j,f)|0;o=a+k|0;c[o>>2]=p;c[o+4>>2]=l;n=b+(n+8)|0;o=n;n=n+4|0;m=e+(m+8)|0;l=m;m=m+4|0;m=yE(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24,d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24,d[l>>0]|d[l+1>>0]<<8|d[l+2>>0]<<16|d[l+3>>0]<<24,d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24)|0;l=M()|0;k=a+(k+8)|0;c[k>>2]=m;c[k+4>>2]=l;j=j+1|0}return}function OH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function PH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(f|0))break;c[a>>2]=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;h=b+4|0;c[a+4>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;g=g+1|0;a=a+e|0;b=b+e|0}return}function QH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function RH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function SH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){if((g|0)>=(f|0))break;j=b;h=j;j=j+4|0;j=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;i=a;c[i>>2]=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[i+4>>2]=j;i=b+8|0;j=i;i=i+4|0;i=d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24;h=a+8|0;c[h>>2]=d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24;c[h+4>>2]=i;g=g+1|0;a=a+e|0;b=b+e|0}return}function TH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;JH(a,b,c,d,e,32,16);JH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function UH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;KH(a,b,c,d,e,16,16);KH(a+8|0,b+8|0,c+8|0,d,e,16,16);return}function VH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;LH(a,b,c,d,e,32,16);LH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;MH(a,b,c,d,e,32,16);MH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function XH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;NH(a,b,c,d,e,32,16);NH(a+16|0,b+16|0,c+16|0,d,e,32,16);return}function YH(a,b,c){a=a|0;b=b|0;c=c|0;OH(a,b,c,16);OH(a+16|0,b+16|0,c,16);return}function ZH(a,b,c){a=a|0;b=b|0;c=c|0;PH(a,b,c,16);PH(a+8|0,b+8|0,c,16);return}function _H(a,b,c){a=a|0;b=b|0;c=c|0;QH(a,b,c,16);QH(a+16|0,b+16|0,c,16);return}function $H(a,b,c){a=a|0;b=b|0;c=c|0;RH(a,b,c,16);RH(a+16|0,b+16|0,c,16);return}function aI(a,b,c){a=a|0;b=b|0;c=c|0;SH(a,b,c,16);SH(a+16|0,b+16|0,c,16);return}function bI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(s,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(s,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(s,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(s,e[c+6>>1]|0)|0)+32|0)>>>6;b[a+8>>1]=((H(s,e[c+8>>1]|0)|0)+32|0)>>>6;b[a+10>>1]=((H(s,e[c+10>>1]|0)|0)+32|0)>>>6;b[a+12>>1]=((H(s,e[c+12>>1]|0)|0)+32|0)>>>6;b[a+14>>1]=((H(s,e[c+14>>1]|0)|0)+32|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=(q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+2>>1]|0)|0;b[a+2>>1]=(q+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+4>>1]|0)|0;b[a+4>>1]=(q+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+6>>1]|0)|0;b[a+6>>1]=(q+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+8>>1]|0)|0;b[a+8>>1]=(q+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+10>>1]|0)|0;b[a+10>>1]=(q+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+12>>1]|0)|0;b[a+12>>1]=(q+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6;q=H(s,e[c+14>>1]|0)|0;b[a+14>>1]=(q+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,e[c>>1]|0)|0;u=c+2|0;x=H(p,e[u>>1]|0)|0;t=c+(r<<1)|0;y=H(q,e[t>>1]|0)|0;w=c+(h<<1)|0;b[a>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+4|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(d<<1)|0;b[a+2>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+6|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(i<<1)|0;b[a+4>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=c+8|0;x=H(p,e[v>>1]|0)|0;u=H(q,e[u>>1]|0)|0;y=c+(j<<1)|0;b[a+6>>1]=(w+32+x+u+(H(o,e[y>>1]|0)|0)|0)>>>6;v=H(s,e[v>>1]|0)|0;u=c+10|0;x=H(p,e[u>>1]|0)|0;y=H(q,e[y>>1]|0)|0;w=c+(k<<1)|0;b[a+8>>1]=(v+32+x+y+(H(o,e[w>>1]|0)|0)|0)>>>6;u=H(s,e[u>>1]|0)|0;y=c+12|0;x=H(p,e[y>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(l<<1)|0;b[a+10>>1]=(u+32+x+w+(H(o,e[v>>1]|0)|0)|0)>>>6;y=H(s,e[y>>1]|0)|0;w=c+14|0;x=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;u=c+(m<<1)|0;b[a+12>>1]=(y+32+x+v+(H(o,e[u>>1]|0)|0)|0)>>>6;w=H(s,e[w>>1]|0)|0;v=H(p,e[c+16>>1]|0)|0;u=H(q,e[u>>1]|0)|0;b[a+14>>1]=(w+32+v+u+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function cI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(s,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(s,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(s,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(s,d[c+3>>0]|0)|0)+32|0)>>>6;a[b+4>>0]=((H(s,d[c+4>>0]|0)|0)+32|0)>>>6;a[b+5>>0]=((H(s,d[c+5>>0]|0)|0)+32|0)>>>6;a[b+6>>0]=((H(s,d[c+6>>0]|0)|0)+32|0)>>>6;a[b+7>>0]=((H(s,d[c+7>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=(r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6;r=H(s,d[c+1>>0]|0)|0;a[b+1>>0]=(r+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6;r=H(s,d[c+2>>0]|0)|0;a[b+2>>0]=(r+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6;r=H(s,d[c+3>>0]|0)|0;a[b+3>>0]=(r+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6;r=H(s,d[c+4>>0]|0)|0;a[b+4>>0]=(r+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6;r=H(s,d[c+5>>0]|0)|0;a[b+5>>0]=(r+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6;r=H(s,d[c+6>>0]|0)|0;a[b+6>>0]=(r+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6;r=H(s,d[c+7>>0]|0)|0;a[b+7>>0]=(r+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;v=H(s,d[c>>0]|0)|0;u=c+1|0;x=H(q,d[u>>0]|0)|0;t=c+e|0;y=H(r,d[t>>0]|0)|0;w=c+i|0;a[b>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+2|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+j|0;a[b+1>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+3|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+k|0;a[b+2>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=c+4|0;x=H(q,d[v>>0]|0)|0;u=H(r,d[u>>0]|0)|0;y=c+l|0;a[b+3>>0]=(w+32+x+u+(H(h,d[y>>0]|0)|0)|0)>>>6;v=H(s,d[v>>0]|0)|0;u=c+5|0;x=H(q,d[u>>0]|0)|0;y=H(r,d[y>>0]|0)|0;w=c+m|0;a[b+4>>0]=(v+32+x+y+(H(h,d[w>>0]|0)|0)|0)>>>6;u=H(s,d[u>>0]|0)|0;y=c+6|0;x=H(q,d[y>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+n|0;a[b+5>>0]=(u+32+x+w+(H(h,d[v>>0]|0)|0)|0)>>>6;y=H(s,d[y>>0]|0)|0;w=c+7|0;x=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;u=c+o|0;a[b+6>>0]=(y+32+x+v+(H(h,d[u>>0]|0)|0)|0)>>>6;w=H(s,d[w>>0]|0)|0;v=H(q,d[c+8>>0]|0)|0;u=H(r,d[u>>0]|0)|0;a[b+7>>0]=(w+32+v+u+(H(h,d[c+p>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=t}}while(0);return}function dI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(o,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(o,e[c+2>>1]|0)|0)+32|0)>>>6;b[a+4>>1]=((H(o,e[c+4>>1]|0)|0)+32|0)>>>6;b[a+6>>1]=((H(o,e[c+6>>1]|0)|0)+32|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=(m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+2>>1]|0)|0;b[a+2>>1]=(m+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+4>>1]|0)|0;b[a+4>>1]=(m+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6;m=H(o,e[c+6>>1]|0)|0;b[a+6>>1]=(m+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,e[c>>1]|0)|0;q=c+2|0;t=H(l,e[q>>1]|0)|0;p=c+(n<<1)|0;u=H(m,e[p>>1]|0)|0;s=c+(h<<1)|0;b[a>>1]=(r+32+t+u+(H(k,e[s>>1]|0)|0)|0)>>>6;q=H(o,e[q>>1]|0)|0;u=c+4|0;t=H(l,e[u>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(d<<1)|0;b[a+2>>1]=(q+32+t+s+(H(k,e[r>>1]|0)|0)|0)>>>6;u=H(o,e[u>>1]|0)|0;s=c+6|0;t=H(l,e[s>>1]|0)|0;r=H(m,e[r>>1]|0)|0;q=c+(i<<1)|0;b[a+4>>1]=(u+32+t+r+(H(k,e[q>>1]|0)|0)|0)>>>6;s=H(o,e[s>>1]|0)|0;r=H(l,e[c+8>>1]|0)|0;q=H(m,e[q>>1]|0)|0;b[a+6>>1]=(s+32+r+q+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function eI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(o,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(o,d[c+1>>0]|0)|0)+32|0)>>>6;a[b+2>>0]=((H(o,d[c+2>>0]|0)|0)+32|0)>>>6;a[b+3>>0]=((H(o,d[c+3>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=(n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6;n=H(o,d[c+1>>0]|0)|0;a[b+1>>0]=(n+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6;n=H(o,d[c+2>>0]|0)|0;a[b+2>>0]=(n+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6;n=H(o,d[c+3>>0]|0)|0;a[b+3>>0]=(n+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(o,d[c>>0]|0)|0;q=c+1|0;t=H(m,d[q>>0]|0)|0;p=c+e|0;u=H(n,d[p>>0]|0)|0;s=c+i|0;a[b>>0]=(r+32+t+u+(H(h,d[s>>0]|0)|0)|0)>>>6;q=H(o,d[q>>0]|0)|0;u=c+2|0;t=H(m,d[u>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+j|0;a[b+1>>0]=(q+32+t+s+(H(h,d[r>>0]|0)|0)|0)>>>6;u=H(o,d[u>>0]|0)|0;s=c+3|0;t=H(m,d[s>>0]|0)|0;r=H(n,d[r>>0]|0)|0;q=c+k|0;a[b+2>>0]=(u+32+t+r+(H(h,d[q>>0]|0)|0)|0)>>>6;s=H(o,d[s>>0]|0)|0;r=H(m,d[c+4>>0]|0)|0;q=H(n,d[q>>0]|0)|0;a[b+3>>0]=(s+32+r+q+(H(h,d[c+l>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=p}}while(0);return}function fI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;b[a+2>>1]=((H(m,e[c+2>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;c=c+(l<<1)|0;g=g+1|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;k=H(m,e[c+2>>1]|0)|0;b[a+2>>1]=(k+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;q=c+2|0;r=H(j,e[q>>1]|0)|0;n=c+(l<<1)|0;p=H(k,e[n>>1]|0)|0;o=c+(h<<1)|0;b[a>>1]=(s+32+r+p+(H(i,e[o>>1]|0)|0)|0)>>>6;q=H(m,e[q>>1]|0)|0;p=H(j,e[c+4>>1]|0)|0;o=H(k,e[o>>1]|0)|0;b[a+2>>1]=(q+32+p+o+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function gI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(m,d[c>>0]|0)|0)+32|0)>>>6;a[b+1>>0]=((H(m,d[c+1>>0]|0)|0)+32|0)>>>6;b=b+e|0;c=c+e|0;g=g+1|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=(l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6;l=H(m,d[c+1>>0]|0)|0;a[b+1>>0]=(l+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;q=c+1|0;r=H(k,d[q>>0]|0)|0;n=c+e|0;p=H(l,d[n>>0]|0)|0;o=c+i|0;a[b>>0]=(s+32+r+p+(H(h,d[o>>0]|0)|0)|0)>>>6;q=H(m,d[q>>0]|0)|0;p=H(k,d[c+2>>0]|0)|0;o=H(l,d[o>>0]|0)|0;a[b+1>>0]=(q+32+p+o+(H(h,d[c+j>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=n}}while(0);return}function hI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((H(m,e[c>>1]|0)|0)+32|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=(k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=(p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function iI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((H(l,d[c>>0]|0)|0)+32|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=(k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=(p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6;b=b+e|0;g=g+1|0;c=m}}while(0);return}function jI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;q=8-g|0;p=8-h|0;s=H(p,q)|0;p=H(p,g)|0;q=H(q,h)|0;o=H(h,g)|0;r=d>>1;a:do if(!o){o=p+q|0;if(!o){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(s,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+2|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+4|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+6|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+8|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+8>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+10|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+10>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+12|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+12>>1]|0)|0)+32|0)>>>6)|0)>>>1;q=a+14|0;b[q>>1]=((e[q>>1]|0)+1+(((H(s,e[c+14>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}h=q|0?r:1;d=h+1|0;i=h+2|0;j=h+3|0;k=h+4|0;l=h+5|0;m=h+6|0;n=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;q=H(s,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((q+32+(H(o,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;p=H(s,e[c+2>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;p=H(s,e[c+4>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;p=H(s,e[c+6>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+8|0;p=H(s,e[c+8>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(k<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+10|0;p=H(s,e[c+10>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(l<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+12|0;p=H(s,e[c+12>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(m<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+14|0;p=H(s,e[c+14>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((p+32+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=c+(r<<1)|0}}else{h=r+1|0;d=r+2|0;i=r+3|0;j=r+4|0;k=r+5|0;l=r+6|0;m=r+7|0;n=r+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,e[c>>1]|0)|0;v=c+2|0;z=H(p,e[v>>1]|0)|0;t=c+(r<<1)|0;u=H(q,e[t>>1]|0)|0;x=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((y+32+z+u+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+2|0;v=H(s,e[v>>1]|0)|0;z=c+4|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(d<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+4|0;z=H(s,e[z>>1]|0)|0;x=c+6|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(i<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+6|0;x=H(s,e[x>>1]|0)|0;w=c+8|0;y=H(p,e[w>>1]|0)|0;v=H(q,e[v>>1]|0)|0;z=c+(j<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+y+v+(H(o,e[z>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+8|0;w=H(s,e[w>>1]|0)|0;v=c+10|0;y=H(p,e[v>>1]|0)|0;z=H(q,e[z>>1]|0)|0;x=c+(k<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((w+32+y+z+(H(o,e[x>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+10|0;v=H(s,e[v>>1]|0)|0;z=c+12|0;y=H(p,e[z>>1]|0)|0;x=H(q,e[x>>1]|0)|0;w=c+(l<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((v+32+y+x+(H(o,e[w>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+12|0;z=H(s,e[z>>1]|0)|0;x=c+14|0;y=H(p,e[x>>1]|0)|0;w=H(q,e[w>>1]|0)|0;v=c+(m<<1)|0;b[u>>1]=((e[u>>1]|0)+1+((z+32+y+w+(H(o,e[v>>1]|0)|0)|0)>>>6)|0)>>>1;u=a+14|0;x=H(s,e[x>>1]|0)|0;w=H(p,e[c+16>>1]|0)|0;v=H(q,e[v>>1]|0)|0;b[u>>1]=((e[u>>1]|0)+1+((x+32+w+v+(H(o,e[c+(n<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(r<<1)|0;g=g+1|0;c=t}}while(0);return}function kI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;r=8-g|0;q=8-h|0;s=H(q,r)|0;q=H(q,g)|0;r=H(r,h)|0;h=H(h,g)|0;a:do if(!h){p=q+r|0;if(!p){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(s,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+1|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+2|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+3|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+4|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+4>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+5|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+5>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+6|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+6>>0]|0)|0)+32|0)>>>6)|0)>>>1;r=b+7|0;a[r>>0]=((d[r>>0]|0)+1+(((H(s,d[c+7>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=r|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;l=h+4|0;m=h+5|0;n=h+6|0;o=h+7|0;g=0;while(1){if((g|0)>=(f|0))break a;r=H(s,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((r+32+(H(p,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+1|0;q=H(s,d[c+1>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+2|0;q=H(s,d[c+2>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+3|0;q=H(s,d[c+3>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+4|0;q=H(s,d[c+4>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+5|0;q=H(s,d[c+5>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+m>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+6|0;q=H(s,d[c+6>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+n>>0]|0)|0)|0)>>>6)|0)>>>1;r=b+7|0;q=H(s,d[c+7>>0]|0)|0;a[r>>0]=((d[r>>0]|0)+1+((q+32+(H(p,d[c+o>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;m=e+5|0;n=e+6|0;o=e+7|0;p=e+8|0;g=0;while(1){if((g|0)>=(f|0))break a;y=H(s,d[c>>0]|0)|0;v=c+1|0;z=H(q,d[v>>0]|0)|0;t=c+e|0;u=H(r,d[t>>0]|0)|0;x=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((y+32+z+u+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+1|0;v=H(s,d[v>>0]|0)|0;z=c+2|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+j|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+2|0;z=H(s,d[z>>0]|0)|0;x=c+3|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+k|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+3|0;x=H(s,d[x>>0]|0)|0;w=c+4|0;y=H(q,d[w>>0]|0)|0;v=H(r,d[v>>0]|0)|0;z=c+l|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+y+v+(H(h,d[z>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+4|0;w=H(s,d[w>>0]|0)|0;v=c+5|0;y=H(q,d[v>>0]|0)|0;z=H(r,d[z>>0]|0)|0;x=c+m|0;a[u>>0]=((d[u>>0]|0)+1+((w+32+y+z+(H(h,d[x>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+5|0;v=H(s,d[v>>0]|0)|0;z=c+6|0;y=H(q,d[z>>0]|0)|0;x=H(r,d[x>>0]|0)|0;w=c+n|0;a[u>>0]=((d[u>>0]|0)+1+((v+32+y+x+(H(h,d[w>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+6|0;z=H(s,d[z>>0]|0)|0;x=c+7|0;y=H(q,d[x>>0]|0)|0;w=H(r,d[w>>0]|0)|0;v=c+o|0;a[u>>0]=((d[u>>0]|0)+1+((z+32+y+w+(H(h,d[v>>0]|0)|0)|0)>>>6)|0)>>>1;u=b+7|0;x=H(s,d[x>>0]|0)|0;w=H(q,d[c+8>>0]|0)|0;v=H(r,d[v>>0]|0)|0;a[u>>0]=((d[u>>0]|0)+1+((x+32+w+v+(H(h,d[c+p>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=t}}while(0);return}function lI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=8-g|0;l=8-h|0;o=H(l,m)|0;l=H(l,g)|0;m=H(m,h)|0;k=H(h,g)|0;n=d>>1;a:do if(!k){k=l+m|0;if(!k){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(o,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+2|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+4|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+4>>1]|0)|0)+32|0)>>>6)|0)>>>1;m=a+6|0;b[m>>1]=((e[m>>1]|0)+1+(((H(o,e[c+6>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}h=m|0?n:1;d=h+1|0;i=h+2|0;j=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;m=H(o,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((m+32+(H(k,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+2|0;l=H(o,e[c+2>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+4|0;l=H(o,e[c+4>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(i<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;m=a+6|0;l=H(o,e[c+6>>1]|0)|0;b[m>>1]=((e[m>>1]|0)+1+((l+32+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=c+(n<<1)|0}}else{h=n+1|0;d=n+2|0;i=n+3|0;j=n+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,e[c>>1]|0)|0;r=c+2|0;v=H(l,e[r>>1]|0)|0;p=c+(n<<1)|0;q=H(m,e[p>>1]|0)|0;t=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((u+32+v+q+(H(k,e[t>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+2|0;r=H(o,e[r>>1]|0)|0;v=c+4|0;u=H(l,e[v>>1]|0)|0;t=H(m,e[t>>1]|0)|0;s=c+(d<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((r+32+u+t+(H(k,e[s>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+4|0;v=H(o,e[v>>1]|0)|0;t=c+6|0;u=H(l,e[t>>1]|0)|0;s=H(m,e[s>>1]|0)|0;r=c+(i<<1)|0;b[q>>1]=((e[q>>1]|0)+1+((v+32+u+s+(H(k,e[r>>1]|0)|0)|0)>>>6)|0)>>>1;q=a+6|0;t=H(o,e[t>>1]|0)|0;s=H(l,e[c+8>>1]|0)|0;r=H(m,e[r>>1]|0)|0;b[q>>1]=((e[q>>1]|0)+1+((t+32+s+r+(H(k,e[c+(j<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(n<<1)|0;g=g+1|0;c=p}}while(0);return}function mI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=8-g|0;m=8-h|0;o=H(m,n)|0;m=H(m,g)|0;n=H(n,h)|0;h=H(h,g)|0;a:do if(!h){l=m+n|0;if(!l){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(o,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+1|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+2|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+2>>0]|0)|0)+32|0)>>>6)|0)>>>1;n=b+3|0;a[n>>0]=((d[n>>0]|0)+1+(((H(o,d[c+3>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=n|0?e:1;i=h+1|0;j=h+2|0;k=h+3|0;g=0;while(1){if((g|0)>=(f|0))break a;n=H(o,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((n+32+(H(l,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+1|0;m=H(o,d[c+1>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+2|0;m=H(o,d[c+2>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;n=b+3|0;m=H(o,d[c+3>>0]|0)|0;a[n>>0]=((d[n>>0]|0)+1+((m+32+(H(l,d[c+k>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;k=e+3|0;l=e+4|0;g=0;while(1){if((g|0)>=(f|0))break a;u=H(o,d[c>>0]|0)|0;r=c+1|0;v=H(m,d[r>>0]|0)|0;p=c+e|0;q=H(n,d[p>>0]|0)|0;t=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((u+32+v+q+(H(h,d[t>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+1|0;r=H(o,d[r>>0]|0)|0;v=c+2|0;u=H(m,d[v>>0]|0)|0;t=H(n,d[t>>0]|0)|0;s=c+j|0;a[q>>0]=((d[q>>0]|0)+1+((r+32+u+t+(H(h,d[s>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+2|0;v=H(o,d[v>>0]|0)|0;t=c+3|0;u=H(m,d[t>>0]|0)|0;s=H(n,d[s>>0]|0)|0;r=c+k|0;a[q>>0]=((d[q>>0]|0)+1+((v+32+u+s+(H(h,d[r>>0]|0)|0)|0)>>>6)|0)>>>1;q=b+3|0;t=H(o,d[t>>0]|0)|0;s=H(m,d[c+4>>0]|0)|0;r=H(n,d[r>>0]|0)|0;a[q>>0]=((d[q>>0]|0)+1+((t+32+s+r+(H(h,d[c+l>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=p}}while(0);return}function nI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;k=a+2|0;b[k>>1]=((e[k>>1]|0)+1+(((H(m,e[c+2>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;d=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;k=a+2|0;j=H(m,e[c+2>>1]|0)|0;b[k>>1]=((e[k>>1]|0)+1+((j+32+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;d=l+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,e[c>>1]|0)|0;r=c+2|0;q=H(j,e[r>>1]|0)|0;n=c+(l<<1)|0;o=H(k,e[n>>1]|0)|0;p=c+(h<<1)|0;b[a>>1]=((e[a>>1]|0)+1+((s+32+q+o+(H(i,e[p>>1]|0)|0)|0)>>>6)|0)>>>1;o=a+2|0;r=H(m,e[r>>1]|0)|0;q=H(j,e[c+4>>1]|0)|0;p=H(k,e[p>>1]|0)|0;b[o>>1]=((e[o>>1]|0)+1+((r+32+q+p+(H(i,e[c+(d<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=n}}while(0);return}function oI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=8-g|0;k=8-h|0;m=H(k,l)|0;k=H(k,g)|0;l=H(l,h)|0;h=H(h,g)|0;a:do if(!h){j=k+l|0;if(!j){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(m,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;l=b+1|0;a[l>>0]=((d[l>>0]|0)+1+(((H(m,d[c+1>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=l|0?e:1;i=h+1|0;g=0;while(1){if((g|0)>=(f|0))break a;l=H(m,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((l+32+(H(j,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;l=b+1|0;k=H(m,d[c+1>>0]|0)|0;a[l>>0]=((d[l>>0]|0)+1+((k+32+(H(j,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;j=e+2|0;g=0;while(1){if((g|0)>=(f|0))break a;s=H(m,d[c>>0]|0)|0;r=c+1|0;q=H(k,d[r>>0]|0)|0;n=c+e|0;o=H(l,d[n>>0]|0)|0;p=c+i|0;a[b>>0]=((d[b>>0]|0)+1+((s+32+q+o+(H(h,d[p>>0]|0)|0)|0)>>>6)|0)>>>1;o=b+1|0;r=H(m,d[r>>0]|0)|0;q=H(k,d[c+2>>0]|0)|0;p=H(l,d[p>>0]|0)|0;a[o>>0]=((d[o>>0]|0)+1+((r+32+q+p+(H(h,d[c+j>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=n}}while(0);return}function pI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;m=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;i=H(h,g)|0;l=d>>1;a:do if(!i){d=j+k|0;if(!d){g=0;while(1){if((g|0)>=(f|0))break a;b[a>>1]=((e[a>>1]|0)+1+(((H(m,e[c>>1]|0)|0)+32|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}h=k|0?l:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(m,e[c>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((k+32+(H(d,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=c+(l<<1)|0}}else{h=l+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(m,e[c>>1]|0)|0;o=H(j,e[c+2>>1]|0)|0;d=c+(l<<1)|0;n=H(k,e[d>>1]|0)|0;b[a>>1]=((e[a>>1]|0)+1+((p+32+o+n+(H(i,e[c+(h<<1)>>1]|0)|0)|0)>>>6)|0)>>>1;a=a+(l<<1)|0;g=g+1|0;c=d}}while(0);return}function qI(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=8-g|0;j=8-h|0;l=H(j,k)|0;j=H(j,g)|0;k=H(k,h)|0;h=H(h,g)|0;a:do if(!h){i=j+k|0;if(!i){g=0;while(1){if((g|0)>=(f|0))break a;a[b>>0]=((d[b>>0]|0)+1+(((H(l,d[c>>0]|0)|0)+32|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}h=k|0?e:1;g=0;while(1){if((g|0)>=(f|0))break a;k=H(l,d[c>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((k+32+(H(i,d[c+h>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=c+e|0}}else{i=e+1|0;g=0;while(1){if((g|0)>=(f|0))break a;p=H(l,d[c>>0]|0)|0;o=H(j,d[c+1>>0]|0)|0;m=c+e|0;n=H(k,d[m>>0]|0)|0;a[b>>0]=((d[b>>0]|0)+1+((p+32+o+n+(H(h,d[c+i>>0]|0)|0)|0)>>>6)|0)>>>1;b=b+e|0;g=g+1|0;c=m}}while(0);return}function rI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==4)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);g=g+16|0;f=f+(h<<1)|0;a=a+1|0}f=d+64|0;do{b[d>>1]=0;d=d+2|0}while((d|0)<(f|0));return}function sI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==4)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);i=i+8|0;c=c+g|0;h=h+1|0}c=f+32|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function tI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;h=f>>>1;g=d;f=a;a=0;while(1){if((a|0)==8)break;b[f>>1]=(c[g>>2]|0)+(e[f>>1]|0);i=f+2|0;b[i>>1]=(c[g+4>>2]|0)+(e[i>>1]|0);i=f+4|0;b[i>>1]=(c[g+8>>2]|0)+(e[i>>1]|0);i=f+6|0;b[i>>1]=(c[g+12>>2]|0)+(e[i>>1]|0);i=f+8|0;b[i>>1]=(c[g+16>>2]|0)+(e[i>>1]|0);i=f+10|0;b[i>>1]=(c[g+20>>2]|0)+(e[i>>1]|0);i=f+12|0;b[i>>1]=(c[g+24>>2]|0)+(e[i>>1]|0);i=f+14|0;b[i>>1]=(c[g+28>>2]|0)+(e[i>>1]|0);g=g+32|0;f=f+(h<<1)|0;a=a+1|0}yW(d|0,0,256)|0;return}function uI(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f;h=0;while(1){if((h|0)==8)break;a[c>>0]=(d[c>>0]|0)+(e[i>>1]|0);j=c+1|0;a[j>>0]=(d[j>>0]|0)+(e[i+2>>1]|0);j=c+2|0;a[j>>0]=(d[j>>0]|0)+(e[i+4>>1]|0);j=c+3|0;a[j>>0]=(d[j>>0]|0)+(e[i+6>>1]|0);j=c+4|0;a[j>>0]=(d[j>>0]|0)+(e[i+8>>1]|0);j=c+5|0;a[j>>0]=(d[j>>0]|0)+(e[i+10>>1]|0);j=c+6|0;a[j>>0]=(d[j>>0]|0)+(e[i+12>>1]|0);j=c+7|0;a[j>>0]=(d[j>>0]|0)+(e[i+14>>1]|0);i=i+16|0;c=c+g|0;h=h+1|0}c=f+128|0;do{b[f>>1]=0;f=f+2|0}while((f|0)<(c|0));return}function vI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<512?k:0-k>>31&511;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<512?m:0-m>>31&511;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<512?o:0-o>>31&511;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function wI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<512?p:0-p>>31&511;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<512?r:0-r>>31&511;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<512?t:0-t>>31&511;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<512?v:0-v>>31&511;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<512?x:0-x>>31&511;g=g+1|0}yW(d|0,0,256)|0;return}function xI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function yI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<512?j:0-j>>31&511;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function zI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else xI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;vI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function AI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else yI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;wI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function BI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function CI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vI((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150645+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)xI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else vI((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function DI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150645+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)xI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else vI(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function EI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Ec;Ec=Ec+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150641+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Ec=h;return}function FI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function GI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ec;Ec=Ec+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150639+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Ec=g;return}function HI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function II(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function JI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function KI(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+1)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<512?a:0-a>>31&511;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<512?k:0-k>>31&511;c=c+(j<<1)|0;h=h+1|0}return}function LI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function MI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function NI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<512?a:0-a>>31&511;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function OI(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<1|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<512?m:0-m>>31&511;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<512?m:0-m>>31&511;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function PI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<1;y=g<<1;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function QI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function RI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<1;w=g<<1;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<1;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<512?r:0-r>>31&511;t=s-t|0;b[l>>1]=t>>>0<512?t:0-t>>31&511}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function SI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<1;v=f<<1;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function TI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function UI(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<1;r=f<<1;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function VI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<1;s=g<<1;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;u=l-u|0;b[g>>1]=u>>>0<512?u:0-u>>31&511}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function WI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function XI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function YI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<1;q=g<<1;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;s=l-s|0;b[g>>1]=s>>>0<512?s:0-s>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function ZI(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<1;r=g<<1;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<1;o=f+-1|0;a:do if(m<<24>>24>=1){d=1-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<512?m:0-m>>31&511;t=l-t|0;b[g>>1]=t>>>0<512?t:0-t>>31&511}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function _I(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<1;j=f<<1;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function $I(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function aJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function bJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function cJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<1;j=f<<1;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function dJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<1024?k:0-k>>31&1023;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<1024?m:0-m>>31&1023;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<1024?o:0-o>>31&1023;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function eJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<1024?p:0-p>>31&1023;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<1024?r:0-r>>31&1023;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<1024?t:0-t>>31&1023;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<1024?v:0-v>>31&1023;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<1024?x:0-x>>31&1023;g=g+1|0}yW(d|0,0,256)|0;return}function fJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function gJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<1024?j:0-j>>31&1023;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function hJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else fJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;dJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function iJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else gJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;eJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function jJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)fJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else dJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function kJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)fJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else dJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150645+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)fJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else dJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function lJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150645+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)fJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else dJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function mJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Ec;Ec=Ec+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150641+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Ec=h;return}function nJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function oJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ec;Ec=Ec+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150639+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Ec=g;return}function pJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function qJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function rJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function sJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+2)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<1024?a:0-a>>31&1023;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<1024?k:0-k>>31&1023;c=c+(j<<1)|0;h=h+1|0}return}function tJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function uJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function vJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<1024?a:0-a>>31&1023;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function wJ(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<2|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<1024?m:0-m>>31&1023;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<1024?m:0-m>>31&1023;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function xJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<2;y=g<<2;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function yJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function zJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<2;w=g<<2;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<2;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<1024?r:0-r>>31&1023;t=s-t|0;b[l>>1]=t>>>0<1024?t:0-t>>31&1023}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function AJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<2;v=f<<2;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=(z>>2)+2|0;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function BJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function CJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<2;r=f<<2;s=(t>>2)+2|0;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function DJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<2;s=g<<2;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;u=l-u|0;b[g>>1]=u>>>0<1024?u:0-u>>31&1023}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function EJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function FJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<2;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==4)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function GJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f<<2;q=g<<2;p=d>>1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==1)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;s=j-l|0;if(((((s|0)>-1?s:0-s|0)|0)<(r|0)?(s=k-j|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0)?(s=m-l|0,(((s|0)>-1?s:0-s|0)|0)<(q|0)):0){s=k+4-m+(l-j<<2)>>3;s=(s|0)<(d|0)?d:(s|0)>(o|0)?o:s;m=s+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;s=l-s|0;b[g>>1]=s>>>0<1024?s:0-s>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(p<<1)|0;n=n+1|0}return}function HJ(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<2;r=g<<2;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<2;o=f+-3|0;a:do if(m<<24>>24>=1){d=3-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<1024?m:0-m>>31&1023;t=l-t|0;b[g>>1]=t>>>0<1024?t:0-t>>31&1023}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return}function IJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c>>1;m=d<<2;j=f<<2;k=0-n|0;l=H(n,-2)|0;i=0;while(1){if((i|0)==8)break;h=a+(k<<1)|0;c=e[h>>1]|0;d=e[a+(l<<1)>>1]|0;f=e[a>>1]|0;g=e[a+(n<<1)>>1]|0;o=c-f|0;if(((((o|0)>-1?o:0-o|0)|0)<(m|0)?(o=d-c|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0)?(o=g-f|0,(((o|0)>-1?o:0-o|0)|0)<(j|0)):0){b[h>>1]=(c+2+(d<<1)+g|0)>>>2;b[a>>1]=(d+2+f+(g<<1)|0)>>>2}i=i+1|0;a=a+2|0}return}function JJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function KJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==16)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function LJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==4)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function MJ(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c>>1;k=d<<2;j=f<<2;i=0;while(1){if((i|0)==8)break;g=a+-2|0;h=e[g>>1]|0;c=e[a+-4>>1]|0;d=e[a>>1]|0;f=e[a+2>>1]|0;m=h-d|0;if(((((m|0)>-1?m:0-m|0)|0)<(k|0)?(m=c-h|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0)?(m=f-d|0,(((m|0)>-1?m:0-m|0)|0)<(j|0)):0){b[g>>1]=(h+2+(c<<1)+f|0)>>>2;b[a>>1]=(c+2+d+(f<<1)|0)>>>2}i=i+1|0;a=a+(l<<1)|0}return}function NJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==4)break;o=d+(g<<2)|0;n=c[o>>2]|0;k=d+(g+8<<2)|0;m=c[k>>2]|0;j=m+n|0;m=n-m|0;n=d+(g+4<<2)|0;h=c[n>>2]|0;i=d+(g+12<<2)|0;p=c[i>>2]|0;l=(h>>1)-p|0;h=(p>>1)+h|0;c[o>>2]=h+j;c[n>>2]=l+m;c[k>>2]=m-l;c[i>>2]=j-h;g=g+1|0}f=f>>1;h=f<<1;i=f*3|0;g=0;while(1){if((g|0)==4)break;p=g<<2;o=c[d+(p<<2)>>2]|0;l=c[d+((p|2)<<2)>>2]|0;n=l+o|0;l=o-l|0;o=c[d+((p|1)<<2)>>2]|0;p=c[d+((p|3)<<2)>>2]|0;m=(o>>1)-p|0;o=(p>>1)+o|0;p=a+(g<<1)|0;k=(o+n>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+f<<1)|0;k=(m+l>>6)+(e[p>>1]|0)|0;b[p>>1]=k>>>0<4096?k:0-k>>31&4095;p=a+(g+h<<1)|0;m=(l-m>>6)+(e[p>>1]|0)|0;b[p>>1]=m>>>0<4096?m:0-m>>31&4095;p=a+(g+i<<1)|0;o=(n-o>>6)+(e[p>>1]|0)|0;b[p>>1]=o>>>0<4096?o:0-o>>31&4095;g=g+1|0}g=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));return}function OJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c[d>>2]=(c[d>>2]|0)+32;g=0;while(1){if((g|0)==8)break;w=d+(g<<2)|0;o=c[w>>2]|0;m=d+(g+32<<2)|0;l=c[m>>2]|0;j=l+o|0;l=o-l|0;o=d+(g+16<<2)|0;k=c[o>>2]|0;p=d+(g+48<<2)|0;v=c[p>>2]|0;n=(k>>1)-v|0;k=(v>>1)+k|0;v=k+j|0;r=n+l|0;n=l-n|0;k=j-k|0;j=d+(g+24<<2)|0;l=c[j>>2]|0;i=d+(g+40<<2)|0;h=c[i>>2]|0;t=d+(g+56<<2)|0;q=c[t>>2]|0;u=h-l-q-(q>>1)|0;s=d+(g+8<<2)|0;x=c[s>>2]|0;y=q-((l>>1)+l)+x|0;q=q+h+(h>>1)-x|0;x=h+l+x+(x>>1)|0;l=(x>>2)+u|0;h=(q>>2)+y|0;q=(y>>2)-q|0;u=x-(u>>2)|0;c[w>>2]=u+v;c[t>>2]=v-u;c[s>>2]=q+r;c[p>>2]=r-q;c[o>>2]=h+n;c[i>>2]=n-h;c[j>>2]=l+k;c[m>>2]=k-l;g=g+1|0}i=f>>1;j=i<<1;k=i*3|0;l=i<<2;m=i*5|0;f=i*6|0;h=i*7|0;g=0;while(1){if((g|0)==8)break;y=g<<3;q=c[d+(y<<2)>>2]|0;t=c[d+((y|4)<<2)>>2]|0;r=t+q|0;t=q-t|0;q=c[d+((y|2)<<2)>>2]|0;w=c[d+((y|6)<<2)>>2]|0;s=(q>>1)-w|0;q=(w>>1)+q|0;w=q+r|0;u=s+t|0;s=t-s|0;q=r-q|0;r=c[d+((y|3)<<2)>>2]|0;t=c[d+((y|5)<<2)>>2]|0;v=c[d+((y|7)<<2)>>2]|0;x=t-r-v-(v>>1)|0;y=c[d+((y|1)<<2)>>2]|0;p=v-((r>>1)+r)+y|0;v=v+t+(t>>1)-y|0;y=t+r+y+(y>>1)|0;r=(y>>2)+x|0;t=(v>>2)+p|0;v=(p>>2)-v|0;x=y-(x>>2)|0;y=a+(g<<1)|0;p=(x+w>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+i<<1)|0;p=(v+u>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+j<<1)|0;p=(t+s>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+k<<1)|0;p=(r+q>>6)+(e[y>>1]|0)|0;b[y>>1]=p>>>0<4096?p:0-p>>31&4095;y=a+(g+l<<1)|0;r=(q-r>>6)+(e[y>>1]|0)|0;b[y>>1]=r>>>0<4096?r:0-r>>31&4095;y=a+(g+m<<1)|0;t=(s-t>>6)+(e[y>>1]|0)|0;b[y>>1]=t>>>0<4096?t:0-t>>31&4095;y=a+(g+f<<1)|0;v=(u-v>>6)+(e[y>>1]|0)|0;b[y>>1]=v>>>0<4096?v:0-v>>31&4095;y=a+(g+h<<1)|0;x=(w-x>>6)+(e[y>>1]|0)|0;b[y>>1]=x>>>0<4096?x:0-x>>31&4095;g=g+1|0}yW(d|0,0,256)|0;return}function PJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;g=f>>>1;c[d>>2]=0;d=0;while(1){if((d|0)==4)break;else f=0;while(1){if((f|0)==4)break;i=a+(f<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;f=f+1|0}a=a+(g<<1)|0;d=d+1|0}return}function QJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;h=(c[d>>2]|0)+32>>6;c[d>>2]=0;g=f>>>1;f=a;a=0;while(1){if((a|0)==8)break;else d=0;while(1){if((d|0)==8)break;i=f+(d<<1)|0;j=h+(e[i>>1]|0)|0;b[i>>1]=j>>>0<4096?j:0-j>>31&4095;d=d+1|0}f=f+(g<<1)|0;a=a+1|0}return}function RJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)==16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else PJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;NJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+1|0}return}function SJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=0;while(1){if((i|0)>=16)break;switch(a[h+(d[150645+i>>0]|0)>>0]|0){case 0:break;case 1:{if(!(c[f+(i<<4<<2)>>2]|0))j=6;else QJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);break}default:j=6}if((j|0)==6){j=0;OJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}i=i+4|0}return}function TJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;i=1;while(1){if((i|0)==3)break;j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)PJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else NJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function UJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=1;while(1){if((i|0)==3){i=1;break}j=i<<4;k=j|4;l=b+(i+-1<<2)|0;while(1){if((j|0)>=(k|0))break;if(!(a[h+(d[150645+j>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)PJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else NJ((c[l>>2]|0)+(c[e+(j<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}while(1){if((i|0)==3)break;j=i<<4;k=j|8;l=b+(i+-1<<2)|0;j=j|4;while(1){if((j|0)>=(k|0))break;m=j+4|0;if(!(a[h+(d[150645+m>>0]|0)>>0]|0)){if(c[f+(j<<4<<2)>>2]|0)PJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g)}else NJ((c[l>>2]|0)+(c[e+(m<<2)>>2]|0)|0,f+(j<<5<<1)|0,g);j=j+1|0}i=i+1|0}return}function VJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=0;while(1){if((i|0)==16)break;if(!(a[h+(d[150645+i>>0]|0)>>0]|0)){if(c[f+(i<<4<<2)>>2]|0)PJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g)}else NJ(b+(c[e+(i<<2)>>2]|0)|0,f+(i<<5<<1)|0,g);i=i+1|0}return}function WJ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Ec;Ec=Ec+64|0;g=h;f=0;while(1){if((f|0)==4)break;p=f<<2;l=c[b+(p<<2)>>2]|0;m=p|1;j=c[b+(m<<2)>>2]|0;o=j+l|0;j=l-j|0;l=p|2;n=c[b+(l<<2)>>2]|0;i=p|3;q=c[b+(i<<2)>>2]|0;k=n-q|0;n=q+n|0;c[g+(p<<2)>>2]=n+o;c[g+(m<<2)>>2]=o-n;c[g+(l<<2)>>2]=j-k;c[g+(i<<2)>>2]=k+j;f=f+1|0}f=0;while(1){if((f|0)==4)break;q=d[150641+f>>0]|0;p=c[g+(f<<2)>>2]|0;m=c[g+(f+8<<2)>>2]|0;o=m+p|0;m=p-m|0;p=c[g+(f+4<<2)>>2]|0;l=c[g+(f+12<<2)>>2]|0;n=p-l|0;p=l+p|0;c[a+(q<<2)>>2]=(H(p+o|0,e)|0)+128>>8;c[a+(q+16<<2)>>2]=(H(n+m|0,e)|0)+128>>8;c[a+(q+64<<2)>>2]=(H(m-n|0,e)|0)+128>>8;c[a+(q+80<<2)>>2]=(H(o-p|0,e)|0)+128>>8;f=f+1|0}Ec=h;return}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a>>2]|0;j=a+64|0;e=c[j>>2]|0;g=a+128|0;h=c[g>>2]|0;d=a+192|0;k=c[d>>2]|0;f=i-e|0;i=e+i|0;e=h-k|0;h=k+h|0;c[a>>2]=(H(h+i|0,b)|0)>>7;c[j>>2]=(H(e+f|0,b)|0)>>7;c[g>>2]=(H(i-h|0,b)|0)>>7;c[d>>2]=(H(f-e|0,b)|0)>>7;return}function YJ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ec;Ec=Ec+32|0;f=g;e=0;while(1){if((e|0)==4){e=0;break}i=e<<5;j=c[a+(i<<2)>>2]|0;i=c[a+((i|16)<<2)>>2]|0;h=e<<1;c[f+(h<<2)>>2]=i+j;c[f+((h|1)<<2)>>2]=j-i;e=e+1|0}while(1){if((e|0)==2)break;j=d[150639+e>>0]|0;i=c[f+(e<<2)>>2]|0;l=c[f+(e+4<<2)>>2]|0;h=l+i|0;l=i-l|0;i=c[f+(e+2<<2)>>2]|0;m=c[f+(e+6<<2)>>2]|0;k=i-m|0;i=m+i|0;c[a+(j<<2)>>2]=(H(i+h|0,b)|0)+128>>8;c[a+(j+32<<2)>>2]=(H(k+l|0,b)|0)+128>>8;c[a+(j+64<<2)>>2]=(H(l-k|0,b)|0)+128>>8;c[a+(j+96<<2)>>2]=(H(h-i|0,b)|0)+128>>8;e=e+1|0}Ec=g;return}function ZJ(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+16|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+18|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+20|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+22|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+24|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+26|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+28|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+30|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function _J(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+8|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+10|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+12|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+14|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function $J(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+4|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;a=c+6|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function aK(a,c,d,f,g,h){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c>>1;i=(h<<f+4)+((f|0)==0?0:1<<f+-1)|0;c=a;h=0;while(1){if((h|0)>=(d|0))break;a=(H(e[c>>1]|0,g)|0)+i>>f;b[c>>1]=a>>>0<4096?a:0-a>>31&4095;a=c+2|0;k=(H(e[a>>1]|0,g)|0)+i>>f;b[a>>1]=k>>>0<4096?k:0-k>>31&4095;c=c+(j<<1)|0;h=h+1|0}return}function bK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+16>>1]|0,i)|0;m=d+16|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+18>>1]|0,i)|0;a=d+18|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+20>>1]|0,i)|0;m=d+20|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+22>>1]|0,i)|0;a=d+22|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+24>>1]|0,i)|0;m=d+24|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+26>>1]|0,i)|0;a=d+26|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+28>>1]|0,i)|0;m=d+28|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+30>>1]|0,i)|0;a=d+30|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function cK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+8>>1]|0,i)|0;m=d+8|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+10>>1]|0,i)|0;a=d+10|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+12>>1]|0,i)|0;m=d+12|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+14>>1]|0,i)|0;a=d+14|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function dK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;a=H(e[c+4>>1]|0,i)|0;m=d+4|0;a=a+k+(H(e[m>>1]|0,h)|0)>>g;b[m>>1]=a>>>0<4096?a:0-a>>31&4095;m=H(e[c+6>>1]|0,i)|0;a=d+6|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function eK(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;l=d>>1;k=(j<<4|1)<<g;g=g+1|0;d=a;j=0;while(1){if((j|0)>=(f|0))break;m=H(e[c>>1]|0,i)|0;m=m+k+(H(e[d>>1]|0,h)|0)>>g;b[d>>1]=m>>>0<4096?m:0-m>>31&4095;m=H(e[c+2>>1]|0,i)|0;a=d+2|0;m=m+k+(H(e[a>>1]|0,h)|0)>>g;b[a>>1]=m>>>0<4096?m:0-m>>31&4095;c=c+(l<<1)|0;d=d+(l<<1)|0;j=j+1|0}return}function fK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=d>>1;B=f<<4;y=g<<4;z=0-C|0;A=H(C,-2)|0;w=H(C,-3)|0;x=C<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+(z<<1)|0;q=e[p>>1]|0;d=l+(A<<1)|0;r=e[d>>1]|0;f=e[l+(w<<1)>>1]|0;s=e[l>>1]|0;i=l+(C<<1)|0;t=e[i>>1]|0;j=e[l+(x<<1)>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(B|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(y|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(y|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(y|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+2|0}}while(0);c=c+8|0;u=u+1|0}return}function gK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<2;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==4)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function hK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=d>>1;y=f<<4;w=g<<4;x=z<<1;u=0;while(1){if((u|0)==4)break;d=a[h+u>>0]|0;v=d<<24>>24<<4;a:do if(d<<24>>24>=0){m=d<<24>>24==0;n=v|1;o=0-v|0;k=0;l=c;while(1){if((k|0)==2)break a;p=l+-2|0;q=e[p>>1]|0;d=l+-4|0;r=e[d>>1]|0;f=e[l+-6>>1]|0;s=e[l>>1]|0;i=l+2|0;t=e[i>>1]|0;j=e[l+4>>1]|0;g=q-s|0;if(((((g|0)>-1?g:0-g|0)|0)<(y|0)?(g=r-q|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0)?(g=t-s|0,(((g|0)>-1?g:0-g|0)|0)<(w|0)):0){g=f-q|0;g=(((g|0)>-1?g:0-g|0)|0)>=(w|0);if(m|g)d=g?v:n;else{g=((((q+1+s|0)>>>1)+f|0)>>>1)-r|0;b[d>>1]=((g|0)<(o|0)?o:(g|0)>(v|0)?v:g)+r;d=n}g=j-s|0;if((((g|0)>-1?g:0-g|0)|0)<(w|0)){if(!m){j=((((q+1+s|0)>>>1)+j|0)>>>1)-t|0;b[i>>1]=((j|0)<(o|0)?o:(j|0)>(v|0)?v:j)+t}d=d+1|0}t=r+4-t+(s-q<<2)>>3;r=0-d|0;t=(t|0)<(r|0)?r:(t|0)>(d|0)?d:t;r=t+q|0;b[p>>1]=r>>>0<4096?r:0-r>>31&4095;t=s-t|0;b[l>>1]=t>>>0<4096?t:0-t>>31&4095}k=k+1|0;l=l+(z<<1)|0}}while(0);c=c+(x<<1)|0;u=u+1|0}return}function iK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=c>>1;z=d<<4;v=f<<4;w=H(A,-3)|0;x=H(A,-2)|0;y=0-A|0;r=A<<1;s=z>>2|2;t=H(A,-4)|0;u=A*3|0;j=0;while(1){if((j|0)==16)break;c=a+(w<<1)|0;i=e[c>>1]|0;d=a+(x<<1)|0;k=e[d>>1]|0;f=a+(y<<1)|0;l=e[f>>1]|0;m=e[a>>1]|0;n=a+(A<<1)|0;o=e[n>>1]|0;p=a+(r<<1)|0;q=e[p>>1]|0;g=l-m|0;g=(g|0)>-1?g:0-g|0;do if(((g|0)<(z|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(v|0)):0){if((g|0)>=(s|0)){b[f>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(v|0)){B=e[a+(t<<1)>>1]|0;b[f>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[d>>1]=(i+2+k+l+m|0)>>>2;f=c;d=3;g=4;h=m;c=(i*3|0)+k+(B<<1)|0}else{d=2;g=2;h=o;c=k<<1}b[f>>1]=(c+l+h+g|0)>>>d;B=q-m|0;if((((B|0)>-1?B:0-B|0)|0)<(v|0)){B=e[a+(u<<1)>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(B<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+2|0;j=j+1|0}return}function jK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==16)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function kK(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=c>>1;t=d<<4;r=f<<4;s=t>>2|2;j=0;while(1){if((j|0)==8)break;g=a+-6|0;i=e[g>>1]|0;c=a+-4|0;k=e[c>>1]|0;d=a+-2|0;l=e[d>>1]|0;m=e[a>>1]|0;n=a+2|0;o=e[n>>1]|0;p=a+4|0;q=e[p>>1]|0;f=l-m|0;f=(f|0)>-1?f:0-f|0;do if(((f|0)<(t|0)?(h=k-l|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0)?(h=o-m|0,(((h|0)>-1?h:0-h|0)|0)<(r|0)):0){if((f|0)>=(s|0)){b[d>>1]=(l+2+(k<<1)+o|0)>>>2;b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}h=i-l|0;if((((h|0)>-1?h:0-h|0)|0)<(r|0)){v=e[a+-8>>1]|0;b[d>>1]=(i+4+o+(l+k+m<<1)|0)>>>3;b[c>>1]=(i+2+k+l+m|0)>>>2;d=g;f=3;g=4;h=m;c=(i*3|0)+k+(v<<1)|0}else{f=2;g=2;h=o;c=k<<1}b[d>>1]=(c+l+h+g|0)>>>f;v=q-m|0;if((((v|0)>-1?v:0-v|0)|0)<(r|0)){v=e[a+6>>1]|0;b[a>>1]=(k+4+q+(m+l+o<<1)|0)>>>3;b[n>>1]=(l+2+m+o+q|0)>>>2;b[p>>1]=(l+4+m+o+(q*3|0)+(v<<1)|0)>>>3;break}else{b[a>>1]=(k+2+m+(o<<1)|0)>>>2;break}}while(0);a=a+(u<<1)|0;j=j+1|0}return}function lK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=f<<4;s=g<<4;p=d>>1;q=0-p|0;r=H(p,-2)|0;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+(q<<1)|0;j=e[i>>1]|0;k=e[g+(r<<1)>>1]|0;l=e[g>>1]|0;m=e[g+(p<<1)>>1]|0;u=j-l|0;if(((((u|0)>-1?u:0-u|0)|0)<(t|0)?(u=k-j|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0)?(u=m-l|0,(((u|0)>-1?u:0-u|0)|0)<(s|0)):0){u=k+4-m+(l-j<<2)>>3;u=(u|0)<(d|0)?d:(u|0)>(o|0)?o:u;m=u+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;u=l-u|0;b[g>>1]=u>>>0<4096?u:0-u>>31&4095}f=f+1|0;g=g+2|0}}while(0);c=c+4|0;n=n+1|0}return}function mK(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=f<<4;r=g<<4;p=d>>1;q=p<<1;n=0;while(1){if((n|0)==4)break;m=a[h+n>>0]|0;f=m<<24>>24<<4;o=f+-15|0;a:do if(m<<24>>24>=1){d=15-f|0;f=0;g=c;while(1){if((f|0)==2)break a;i=g+-2|0;j=e[i>>1]|0;k=e[g+-4>>1]|0;l=e[g>>1]|0;m=e[g+2>>1]|0;t=j-l|0;if(((((t|0)>-1?t:0-t|0)|0)<(s|0)?(t=k-j|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0)?(t=m-l|0,(((t|0)>-1?t:0-t|0)|0)<(r|0)):0){t=k+4-m+(l-j<<2)>>3;t=(t|0)<(d|0)?d:(t|0)>(o|0)?o:t;m=t+j|0;b[i>>1]=m>>>0<4096?m:0-m>>31&4095;t=l-t|0;b[g>>1]=t>>>0<4096?t:0-t>>31&4095}f=f+1|0;g=g+(p<<1)|0}}while(0);c=c+(q<<1)|0;n=n+1|0}return} |
| | | function Ij(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ha=Ec;Ec=Ec+16|0;Z=ha+8|0;_=ha;ea=c[f+21748>>2]|0;ga=c[f+21708>>2]|0;S=c[f+21712>>2]|0;T=c[f+21716>>2]|0;U=c[f+21720>>2]|0;c[Z>>2]=U;c[Z+4>>2]=c[f+21724>>2];V=c[f+21728>>2]|0;W=c[f+21732>>2]|0;X=c[f+21736>>2]|0;Y=c[f+21740>>2]|0;c[_>>2]=Y;r=c[f+21744>>2]|0;c[_+4>>2]=r;a:do if(!(g&2048)){b:do if(g&7|0){o=c[(c[e+28212>>2]|0)+56>>2]|0?7:-1;j=f+21768|0;c[j>>2]=65535;h=f+21760|0;c[h>>2]=65535;l=f+21756|0;c[l>>2]=65535;m=f+21764|0;c[m>>2]=61162;n=(o&W|0)!=0;if(n){h=65535;k=60138}else{c[l>>2]=46079;c[h>>2]=13311;c[m>>2]=9962;h=46079;k=8938}i=g&128;do if((i|0)==(Y&128|0)){if(!(Y&o)){h=h&57183;c[l>>2]=h;c[j>>2]=24415}}else{if(!i){if(!((Y&o|0)==0?1:(c[(c[e+24364>>2]|0)+((c[e+27016>>2]|0)+U<<2)>>2]&o|0)==0))break;h=h&57183;c[l>>2]=h;c[j>>2]=24415;break}if(!(Y&o)){h=h&57343;c[l>>2]=h;c[j>>2]=24575;i=24415}else i=65375;if(!(r&o)){h=h&65375;c[l>>2]=h;c[j>>2]=i}}while(0);if(!(o&V))c[l>>2]=h&32767;if(!(o&X))c[m>>2]=k;if(g&1|0){if(!(W&1)){yW(f+21668|0,(n?2:-1)|0,4)|0;k=f+21704|0;l=e+26364|0}else{k=f+21704|0;l=e+26364|0;c[f+21668>>2]=c[(c[k>>2]|0)+(c[(c[l>>2]|0)+(S<<2)>>2]|0)>>2]}j=0;while(1){if((j|0)==2)break b;h=c[_+(j<<2)>>2]|0;if(!(h&1)){h=(h&o|0)==0?-1:2;i=j<<4;a[i+19+(f+21664)>>0]=h;i=i|11}else{R=(c[k>>2]|0)+(c[(c[l>>2]|0)+(c[Z+(j<<2)>>2]<<2)>>2]|0)|0;h=j<<1;i=j<<4;a[(i|11)+(f+21664)>>0]=a[R+(6-(d[ea+h>>0]|0))>>0]|0;h=a[R+(6-(d[ea+(h|1)>>0]|0))>>0]|0;i=i+19|0}a[f+21664+i>>0]=h;j=j+1|0}}}while(0);if(!W){c[f+27828>>2]=1077952576;c[f+27868>>2]=1077952576;p=e+25972|0;h=1077952576}else{p=e+25972|0;h=c[p>>2]|0;c[f+27828>>2]=c[h+(S*48|0)+12>>2];R=(c[e+25680>>2]|0)==0;c[f+27868>>2]=c[(R?28:20)+(h+(S*48|0))>>2];h=c[(R?44:36)+(h+(S*48|0))>>2]|0}c[f+27908>>2]=h;o=e+28216|0;n=0;while(1){if((n|0)==2)break a;if(!(c[_+(n<<2)>>2]|0)){i=n<<4;a[i+99+(f+27824)>>0]=64;a[i+91+(f+27824)>>0]=64;a[i+59+(f+27824)>>0]=64;a[i+51+(f+27824)>>0]=64;a[i+19+(f+27824)>>0]=64;i=i|11;h=64}else{l=c[p>>2]|0;m=c[Z+(n<<2)>>2]|0;h=n<<1;j=ea+(h+8)|0;i=n<<4;a[(i|11)+(f+27824)>>0]=a[(d[j>>0]|0)+(l+(m*48|0))>>0]|0;k=ea+(h+9)|0;a[i+19+(f+27824)>>0]=a[(d[k>>0]|0)+(l+(m*48|0))>>0]|0;switch(c[(c[o>>2]|0)+12>>2]|0){case 3:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+16+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+32+(l+(m*48|0))>>0]|0;k=(d[k>>0]|0)+32|0;h=i+99|0;break}case 2:{a[i+51+(f+27824)>>0]=a[(d[j>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+59+(f+27824)>>0]=a[(d[k>>0]|0)+14+(l+(m*48|0))>>0]|0;a[i+91+(f+27824)>>0]=a[(d[j>>0]|0)+30+(l+(m*48|0))>>0]|0;h=(d[k>>0]|0)+30|0;j=99;q=39;break}default:{i=n<<3;a[i+51+(f+27824)>>0]=a[(d[ea+(h+12)>>0]|0)+(l+(m*48|0))>>0]|0;h=d[ea+(h+13)>>0]|0;j=91;q=39}}if((q|0)==39){q=0;k=h;h=j+i|0}i=h;h=a[l+(m*48|0)+k>>0]|0}a[f+27824+i>>0]=h;n=n+1|0}}while(0);if(!(g&120)){if(g&256|0?c[f+21844>>2]|0:0)q=46}else q=46;c:do if((q|0)==46){x=c[e+26368>>2]|0;y=f+23412|0;z=W|0?-1:-16843010;A=(g&80|0)==0;B=Y|0?-1:-2;C=e+26360|0;D=U<<2|1;E=X|0?-1:-2;F=V|0?-1:-2;G=f+21752|0;I=x<<1;J=x+3|0;K=ga<<2;L=(g&2304|0)==0;M=e+26376|0;N=f+21828|0;O=(V&128|0)!=0;P=(W&128|0)==0;Q=(X&128|0)==0;R=(Y&128|0)==0;s=(r&128|0)==0;t=x*3|0;u=T<<2|2;w=S<<2;v=w|2;w=w|3;r=0;while(1){if(r>>>0>=(c[y>>2]|0)>>>0)break c;m=f+28272+(r*40|0)+12|0;o=c[e+24384+(r<<2)>>2]|0;n=f+27952+(r*160|0)+48|0;p=c[e+24352+(r<<2)>>2]|0;q=12288<<(r<<1);do if(q&g|0){if(!(q&W)){l=f+27952+(r*160|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[f+28272+(r*40|0)+4>>2]=z}else{j=(c[(c[C>>2]|0)+(S<<2)>>2]|0)+t|0;i=p+(j<<2)|0;l=c[i+4>>2]|0;k=f+27952+(r*160|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=l;j=p+(j<<2)+8|0;k=c[j+4>>2]|0;l=f+27952+(r*160|0)+24|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=a[o+v>>0]|0;a[f+28272+(r*40|0)+5>>0]=l;a[f+28272+(r*40|0)+4>>0]=l;l=a[o+w>>0]|0;a[f+28272+(r*40|0)+7>>0]=l;a[f+28272+(r*40|0)+6>>0]=l}d:do if(A){if(!(Y&q)){c[f+27952+(r*160|0)+44>>2]=0;h=B}else{c[f+27952+(r*160|0)+44>>2]=c[p+((c[(c[C>>2]|0)+(U<<2)>>2]|0)+3+(H(x,d[ea>>0]|0)|0)<<2)>>2];h=a[o+(D+(a[ea>>0]&-2&255))>>0]|0}a[f+28272+(r*40|0)+11>>0]=h}else{l=0;while(1){if((l|0)==2)break d;i=l<<1;j=l<<4;h=j+-1|0;k=c[_+(l<<2)>>2]|0;if(!(k&q)){c[n+(h<<2)>>2]=0;j=j|7;c[n+(j<<2)>>2]=0;i=k|0?-1:-2;a[m+j>>0]=i}else{ia=c[Z+(l<<2)>>2]|0;ka=(c[(c[C>>2]|0)+(ia<<2)>>2]|0)+3|0;ia=ia<<2|1;ja=ea+i|0;c[n+(h<<2)>>2]=c[p+((H(x,d[ja>>0]|0)|0)+ka<<2)>>2];i=ea+(i|1)|0;k=j|7;c[n+(k<<2)>>2]=c[p+((H(x,d[i>>0]|0)|0)+ka<<2)>>2];a[m+h>>0]=a[o+(ia+(a[ja>>0]&-2&255))>>0]|0;i=a[o+(ia+(a[i>>0]&-2&255))>>0]|0;h=k}a[m+h>>0]=i;l=l+1|0}}while(0);if(!(q&X)){c[f+27952+(r*160|0)+32>>2]=0;h=E}else{c[f+27952+(r*160|0)+32>>2]=c[p+((c[(c[C>>2]|0)+(T<<2)>>2]|0)+t<<2)>>2];h=a[o+u>>0]|0}k=f+28272+(r*40|0)+8|0;a[k>>0]=h;j=f+28272+(r*40|0)+6|0;if((a[j>>0]|h)<<24>>24<0){if(!(q&V)){c[f+27952+(r*160|0)+12>>2]=0;h=F}else{h=c[G>>2]|0;c[f+27952+(r*160|0)+12>>2]=c[p+(J+(c[(c[C>>2]|0)+(ga<<2)>>2]|0)+(h&I)<<2)>>2];h=a[o+(K|h&2|1)>>0]|0}a[f+28272+(r*40|0)+3>>0]=h}if(L){a[f+28272+(r*40|0)+30>>0]=-2;a[f+28272+(r*40|0)+14>>0]=-2;c[f+27952+(r*160|0)+56>>2]=0;c[f+27952+(r*160|0)+120>>2]=0;if(!(c[M>>2]|0))break}else if(!(c[M>>2]|0))break;if(!(c[N>>2]|0)){if(O?(ca=f+28272+(r*40|0)+3|0,da=a[ca>>0]|0,da<<24>>24>-1):0){a[ca>>0]=(da&255)>>>1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=d[ka>>0]<<1}do if(!P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=d[ka>>0]<<1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=(h&255)>>>1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(!Q?(fa=a[k>>0]|0,fa<<24>>24>-1):0){a[k>>0]=(fa&255)>>>1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=d[ka>>0]<<1}do if(!R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=d[ka>>0]<<1}while(0);if(s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=d[ka>>0]<<1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=(i&255)>>>1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=b[ka>>1]<<1;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=d[ka>>0]<<1;break}else{if(!O?($=f+28272+(r*40|0)+3|0,aa=a[$>>0]|0,aa<<24>>24>-1):0){a[$>>0]=aa<<24>>24<<1;ka=f+27952+(r*160|0)+14|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+7|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(P){h=f+28272+(r*40|0)+4|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+18|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+9|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+5|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+22|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+11|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=a[j>>0]|0;if(h<<24>>24>-1){a[j>>0]=h<<24>>24<<1;ka=f+27952+(r*160|0)+26|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+13|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+7|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+30|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+15|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(Q?(ba=a[k>>0]|0,ba<<24>>24>-1):0){a[k>>0]=ba<<24>>24<<1;ka=f+27952+(r*160|0)+34|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+17|0;a[ka>>0]=(d[ka>>0]|0)>>>1}do if(R){h=f+28272+(r*40|0)+11|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+46|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+23|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+19|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+78|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+39|0;a[ka>>0]=(d[ka>>0]|0)>>>1}while(0);if(!s)break;h=f+28272+(r*40|0)+27|0;i=a[h>>0]|0;if(i<<24>>24>-1){a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+110|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+55|0;a[ka>>0]=(d[ka>>0]|0)>>>1}h=f+28272+(r*40|0)+35|0;i=a[h>>0]|0;if(i<<24>>24<=-1)break;a[h>>0]=i<<24>>24<<1;ka=f+27952+(r*160|0)+142|0;b[ka>>1]=(b[ka>>1]|0)/2|0;ka=f+28352+(r*80|0)+71|0;a[ka>>0]=(d[ka>>0]|0)>>>1;break}}while(0);r=r+1|0}}while(0);c[f+21840>>2]=(Y>>>24&1)+(W>>>24&1);Ec=ha;return}function Jj(a,b){a=a|0;b=b|0;var e=0,f=0;e=a+8|0;f=c[e>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>(32-b|0);c[e>>2]=f+b;return a|0}function Kj(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=Ec;Ec=Ec+16|0;l=m+8|0;j=m;a:do if(!(e&32768)){e=0;while(1){if((e|0)>=4){k=8;break a}i=b+(e+12)|0;g=a[i>>0]|0;h=a[139674+g>>0]|0;if(249>>>g&1|0)break;if(253>>>g&1|0)a[i>>0]=h;e=e+1|0}c[j>>2]=h<<24>>24;We(d,16,139686,j);e=-1094995529}else k=8;while(0);b:do if((k|0)==8)if((f&34952|0)==34952)e=0;else{e=0;while(1){if((e|0)>=4){e=0;break b}if(!(c[72580+(e<<2)>>2]&f)){g=b+((e<<3)+12)|0;h=a[g>>0]|0;i=a[139737+h>>0]|0;if(370>>>h&1|0)break;if(886>>>h&1|0)a[g>>0]=i}e=e+1|0}c[l>>2]=i<<24>>24;We(d,16,139749,l);e=-1094995529}while(0);Ec=m;return e|0}function Lj(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Ec;Ec=Ec+32|0;h=i+16|0;g=i+8|0;do if(e>>>0<=3){if(!(c&32768)){c=a[139568+e>>0]|0;if((e|1|0)==3){We(b,16,139572,g);c=-1094995529;break}}else c=e;e=d&32896;if((e|0)!=32896)if((c|2|0)==3){We(b,16,139620,h);c=-1094995529;break}else{Ec=i;return ((e|0)==0|(f|0)==0?a[139669+c>>0]|0:8-(d>>>15&1)+(((c|0)==4&1)<<1)|0)|0}}else{We(b,16,139531,i);c=-1094995529}while(0);Ec=i;return c|0}function Mj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>23;c[b>>2]=e+(d[126412+a>>0]|0);return d[126924+a>>0]|0|0}function Nj(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[b+21844>>2]|0))Wj(a,b,d);else Vj(a,b,d);return}function Oj(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Pj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;f=b+8|0;g=c[f>>2]|0;b=c[b>>2]|0;e=b+(g>>>3)|0;e=(uW(d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24|0)|0)<<(g&7);if(e>>>0>134217727){b=e>>>23;c[f>>2]=g+(d[126412+b>>0]|0);b=a[127436+b>>0]|0}else{i=e>>>0>65535;h=i?e>>>16:e;i=i?16:0;e=(h&65280|0)==0;h=(e?i:i|8)+(d[120443+(e?h:h>>>8)>>0]|0)|0;e=31-h+g|0;g=b+(e>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7)>>>h;c[f>>2]=32-h+e;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function Qj(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Ec;Ec=Ec+112|0;y=z+32|0;v=z+24|0;t=z+16|0;s=z;x=z+40|0;u=(l|0)<9;do if(!u)if((i|0)>47){r=c[181276+(c[72484+((Rj(f,(i<<4)+-768|0)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(uW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((uW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{r=c[181276+(c[72484+((Rj(f,i)|0)<<2)>>2]<<4)+4>>2]|0;m=g+8|0;q=c[m>>2]|0;o=c[g>>2]|0;w=o+(q>>>3)|0;w=(uW(d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24|0)|0)<<(q&7)>>>24;n=b[r+(w<<2)>>1]|0;w=b[r+(w<<2)+2>>1]|0;p=w<<16>>16;if(w<<16>>16<0){w=q+8|0;o=o+(w>>>3)|0;n=((uW(d[o>>0]|d[o+1>>0]<<8|d[o+2>>0]<<16|d[o+3>>0]<<24|0)|0)<<(w&7)>>>(p+32|0))+n|0;p=b[r+(n<<2)+2>>1]|0;o=w;n=b[r+(n<<2)>>1]|0}else o=q;o=p+o|0;break}else{o=(l|0)==4;w=o?c[45312]|0:c[45316]|0;m=g+8|0;r=c[m>>2]|0;n=(c[g>>2]|0)+(r>>>3)|0;n=(uW(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24|0)|0)<<(r&7);o=n>>>(o?24:19);n=b[w+(o<<2)>>1]|0;o=r+(b[w+(o<<2)+2>>1]|0)|0}while(0);c[m>>2]=o;w=n>>2;a[(d[150645+i>>0]|0)+(f+27824)>>0]=w;a:do if(w){if(w>>>0>l>>>0){m=c[e+4>>2]|0;y=c[f+21792>>2]|0;c[s>>2]=c[f+21788>>2];c[s+4>>2]=y;c[s+8>>2]=w;We(m,16,139423,s);m=-1;break}o=n&3;s=Sj(g,3)|0;Tj(g,o);c[x>>2]=1-(s>>>1&2);c[x+4>>2]=1-(s&2);c[x+8>>2]=1-(s<<1&2);b:do if((o|0)<(w|0)){p=(o|0)!=3;n=(w|0)>10&p;q=n&1;r=Sj(g,8)|0;s=a[257284+(q<<9)+(r<<1)>>0]|0;m=s<<24>>24;Tj(g,a[257284+(q<<9)+(r<<1)+1>>0]|0);if(s<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Uj(g)|0)+8|0;do if((m|0)<14){if(n)m=(Bj(g)|0)+(m<<1)|0}else{if((m|0)==14)if(n){m=(Bj(g)|0)+28|0;break}else{m=(Jj(g,4)|0)+14|0;break}do if((m|0)>15)if((m|0)>28){We(c[e+4>>2]|0,16,139468,t);m=-1;break a}else{n=m+-3|0;m=(1<<n)+-4066|0;break}else{m=30;n=12}while(0);m=(Jj(g,n)|0)+m|0}while(0);t=p?m+2|0:m;m=t&1;n=2;m=(t+2>>1^0-m)+m|0}else{m=(p?m>>31|1:0)+m|0;n=(m+3|0)>>>0>6?2:1}c[x+(o<<2)>>2]=m;while(1){o=o+1|0;if((o|0)>=(w|0))break b;s=Sj(g,8)|0;t=a[257284+(n<<9)+(s<<1)>>0]|0;m=t<<24>>24;Tj(g,a[257284+(n<<9)+(s<<1)+1>>0]|0);if(t<<24>>24>99){m=m+-100|0;if((m|0)==8)m=(Uj(g)|0)+8|0;if((m|0)>=15){p=15<<n;if((m|0)==15){m=p;p=12}else{if((m|0)>28)break;t=m+-3|0;m=p+-4096+(1<<t)|0;p=t}}else{m=m<<n;p=n}t=(Jj(g,p)|0)+m|0;m=t&1;m=(t+2>>1^0-m)+m|0}c[x+(o<<2)>>2]=m;t=c[72552+(n<<2)>>2]|0;n=n+((t+m|0)>>>0>t<<1>>>0&1)|0}We(c[e+4>>2]|0,16,139468,v);m=-1094995529;break a}while(0);if((w|0)==(l|0))m=0;else{do if(u)if((l|0)==4){m=29;n=181340+(w<<4)+4|0;break}else{m=27;n=181404+(w<<4)+4|0;break}else{m=23;n=181532+(w<<4)+4|0}while(0);l=c[n>>2]|0;v=g+8|0;t=c[v>>2]|0;u=(c[g>>2]|0)+(t>>>3)|0;u=(uW(d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24|0)|0)<<(t&7)>>>m;m=b[l+(u<<2)>>1]|0;c[v>>2]=t+(b[l+(u<<2)+2>>1]|0)}o=j+(w+-1+m)|0;n=(i|0)>47;p=c[x>>2]|0;c:do if(!(c[e+25664>>2]|0))if(n){b[h+(d[o>>0]<<1)>>1]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[181788+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(uW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45476]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(uW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((uW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;b[h+(d[k>>0]<<1)>>1]=c[x+(n<<2)>>2];m=m-q|0;o=k;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;b[h+(d[g>>0]<<1)>>1]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;b[h+(l<<1)>>1]=((H(c[k+(l<<2)>>2]|0,p)|0)+32|0)>>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[181788+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(uW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45476]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(uW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((uW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;b[h+(j<<1)>>1]=((H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;m=m-q|0;o=i;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;b[h+(i<<1)>>1]=((H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32|0)>>>6;o=g;n=n+1|0}}else if(n){c[h+(d[o>>0]<<2)>>2]=p;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){k=c[181788+(m<<4)+4>>2]|0;i=c[l>>2]|0;p=(c[g>>2]|0)+(i>>>3)|0;p=(uW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(i&7)>>>29;q=b[k+(p<<2)>>1]|0;p=i+(b[k+(p<<2)+2>>1]|0)|0}else{t=c[45476]|0;s=c[l>>2]|0;q=c[g>>2]|0;k=q+(s>>>3)|0;k=(uW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(k<<2)>>1]|0;k=b[t+(k<<2)+2>>1]|0;r=k<<16>>16;if(k<<16>>16<0){s=s+6|0;k=q+(s>>>3)|0;p=((uW(d[k>>0]|d[k+1>>0]<<8|d[k+2>>0]<<16|d[k+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;k=o+~q|0;c[h+(d[k>>0]<<2)>>2]=c[x+(n<<2)>>2];o=k;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;c[h+(d[g>>0]<<2)>>2]=c[x+(n<<2)>>2];o=g;n=n+1|0}}else{l=d[o>>0]|0;c[h+(l<<2)>>2]=(H(c[k+(l<<2)>>2]|0,p)|0)+32>>6;l=g+8|0;n=1;while(1){if(!((n|0)<(w|0)&(m|0)>0))break;if((m|0)<7){i=c[181788+(m<<4)+4>>2]|0;j=c[l>>2]|0;p=(c[g>>2]|0)+(j>>>3)|0;p=(uW(d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24|0)|0)<<(j&7)>>>29;q=b[i+(p<<2)>>1]|0;p=j+(b[i+(p<<2)+2>>1]|0)|0}else{t=c[45476]|0;s=c[l>>2]|0;q=c[g>>2]|0;i=q+(s>>>3)|0;i=(uW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>26;p=b[t+(i<<2)>>1]|0;i=b[t+(i<<2)+2>>1]|0;r=i<<16>>16;if(i<<16>>16<0){s=s+6|0;i=q+(s>>>3)|0;p=((uW(d[i>>0]|d[i+1>>0]<<8|d[i+2>>0]<<16|d[i+3>>0]<<24|0)|0)<<(s&7)>>>(r+32|0))+p|0;r=b[t+(p<<2)+2>>1]|0;p=b[t+(p<<2)>>1]|0}q=p;p=r+s|0}c[l>>2]=p;i=o+~q|0;j=d[i>>0]|0;c[h+(j<<2)>>2]=(H(c[k+(j<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=i;m=m-q|0;n=n+1|0}while(1){if((n|0)>=(w|0))break c;g=o+-1|0;i=d[g>>0]|0;c[h+(i<<2)>>2]=(H(c[k+(i<<2)>>2]|0,c[x+(n<<2)>>2]|0)|0)+32>>6;o=g;n=n+1|0}}while(0);if((m|0)<0){m=c[e+4>>2]|0;e=c[f+21792>>2]|0;c[y>>2]=c[f+21788>>2];c[y+4>>2]=e;We(m,16,139490,y);m=-1}else m=0}else m=0;while(0);Ec=z;return m|0}function Rj(a,b){a=a|0;b=b|0;b=d[150645+b>>0]|0;b=(d[b+-8+(a+27824)>>0]|0)+(d[b+-1+(a+27824)>>0]|0)|0;return (b>>>0<64?(b+1|0)>>>1:b)&31|0}function Sj(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Tj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Uj(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+8|0;e=c[b>>2]|0;g=(c[a>>2]|0)+(e>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(e&7);a=g>>>0>65535;g=a?g>>>16:g;a=a?16:0;f=(g&65280|0)==0;a=32-(d[120443+(f?g:g>>>8)>>0]|0)-(f?a:a|8)|0;c[b>>2]=a+e;return a+-1|0}function Vj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=Ec;Ec=Ec+32|0;C=T+16|0;B=T+8|0;w=T;y=c[f+26368>>2]|0;k=c[g+21796>>2]|0;A=g+21792|0;p=c[A>>2]|0;S=c[h>>2]|0;R=S&64;z=g+25336|0;Xj(f,z,(S>>>7&1)+p|0);S=(R|0)==0;i=61440;u=0;while(1){if((u|0)==2)break;m=a[g+28272+(u*40|0)+11>>0]|0;s=a[g+28272+(u*40|0)+4>>0]|0;j=a[g+28272+(u*40|0)+8>>0]|0;if(j<<24>>24==-2){q=a[g+28272+(u*40|0)+3>>0]|0;r=g+27952+(u*160|0)+12|0}else{q=j<<24>>24;r=g+27952+(u*160|0)+32|0}t=m>>>0>s>>>0?s:m;j=t>>>0>q>>>0?q:t;l=B+(u<<2)|0;c[l>>2]=j;if((j|0)>-1){n=g+27952+(u*160|0)+44|0;o=g+27952+(u*160|0)+16|0;l=(j|0)==(m|0);j=(j|0)==(s|0);do if(((j&1)+(q>>>0<=t>>>0&1)+(l&1)|0)>>>0<=1){if(l){j=c[n>>2]|0;break}if(j){j=c[o>>2]|0;break}else{j=c[r>>2]|0;break}}else{j=Yj(b[n>>1]|0,b[o>>1]|0,b[r>>1]|0)|0;j=(Yj(b[g+27952+(u*160|0)+46>>1]|0,b[g+27952+(u*160|0)+18>>1]|0,b[r+2>>1]|0)|0)<<16|j&65535}while(0);c[w+(u<<2)>>2]=j}else{j=~(12288<<(u<<1));c[w+(u<<2)>>2]=0;c[l>>2]=-1;if(S)c[h>>2]=c[h>>2]&j;i=i&j}u=u+1|0}j=c[B>>2]|0;if((j|0)<0?(v=B+4|0,(c[v>>2]|0)<0):0){c[v>>2]=0;c[B>>2]=0;if(S)c[h>>2]=c[h>>2]|61440;s=i|61440;u=0}else{s=i;u=j}i=c[w>>2]|0;j=c[w+4>>2]|0;do if(i|R|j){Q=g+25372|0;r=c[(c[Q>>2]|0)+48>>2]|0;o=c[r+(k<<2)>>2]|0;t=c[h>>2]|0;l=(t&128|0)!=0;do if(!(o&128))if(l){q=c[A>>2]&-2;n=c[f+27016>>2]|0;k=H(q,n)|0;k=k+(c[g+21788>>2]|0)|0;o=c[r+(k<<2)>>2]|0;c[C>>2]=o;l=c[r+(n+k<<2)>>2]|0;m=C+4|0;c[m>>2]=l;n=n<<2|2;p=y*6|0;if((o^l)&128){o=o&-129;c[C>>2]=o;l=l&-129;c[m>>2]=l}m=s|264;if(o&15|0?!((R|0)!=0|(l&15|0)==0):0){O=p;p=q;r=m;l=272;break}O=p;p=q;r=m;l=64}else{n=2;P=36}else{if(l){m=c[g+21852>>2]|0;n=2;o=m+p|0;l=c[f+27016>>2]|0}else{l=(c[A>>2]&-2)+(c[g+21848>>2]|0)|0;n=0;o=l;k=c[g+21788>>2]|0;m=c[f+27016>>2]|0}P=k+(H(l,m)|0)|0;k=P;p=o;o=c[r+(P<<2)>>2]|0;P=36}while(0);do if((P|0)==36){c[C+4>>2]=o;c[C>>2]=o;m=s|264;l=(R|0)!=0;if(l|(o&15|0)==0){if(!l?(x=o&48,x|0):0){O=y;r=m;l=x|256;break}O=y;r=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?m+56|0:m;l=64}else{O=y;r=m;l=264}}while(0);c[h>>2]=t|l;Xj(f,z,p);q=c[Q>>2]|0;m=c[(c[f+26360>>2]|0)+(k<<2)>>2]|0;l=(c[q+36>>2]|0)+(m<<2)|0;m=(c[q+40>>2]|0)+(m<<2)|0;p=k<<2;k=(c[q+68>>2]|0)+p|0;p=(c[q+72>>2]|0)+p|0;if(!n){L=(c[A>>2]&1|0)==0;M=O<<1;N=L?l:l+(M<<2)|0;m=L?m:m+(M<<2)|0;M=L?k:k+2|0;p=L?p:p+2|0}else{N=l;M=k}k=c[h>>2]|0;if((o^k)&128|0){x=r&65535;y=(u&255)*257&65535;t=c[B+4>>2]|0;w=(t&255)*257&65535;v=(u|0)>0?i:0;t=(t|0)>0?j:0;k=0;u=0;while(1){if((u|0)==4)break;r=u&1;o=u>>1;q=(H(o,n)|0)+r|0;r=(0-r&3)+(H(o,O)|0)|0;l=g+28552+(u<<1)|0;if(!(!S?(b[l>>1]&256)==0:0)){b[l>>1]=x;s=d[150645+(u<<2)>>0]|0;P=g+28272+s|0;b[P>>1]=y;b[P+8>>1]=y;P=g+28312+s|0;b[P>>1]=w;b[P+8>>1]=w;do if((c[C+(o<<2)>>2]&7|0)==0?(c[(c[Q>>2]|0)+100>>2]|0)==0:0){l=a[M+q>>0]|0;if(!(l<<24>>24)){L=b[N+(r<<2)>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}L=b[N+(r<<2)+2>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}}else{if(l<<24>>24>=0){l=j;o=i;break}if(a[p+q>>0]|0){l=j;o=i;break}L=b[m+(r<<2)>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}L=b[m+(r<<2)+2>>1]|0;P=L<<16>>16;if(((L<<16>>16>-1?P:0-P|0)|0)>=2){l=j;o=i;break}}l=t;o=v;k=k+1|0}else{l=j;o=i}while(0);P=g+27952+(s<<2)|0;c[P>>2]=o;c[P+4>>2]=o;c[P+32>>2]=o;c[P+36>>2]=o;P=g+28112+(s<<2)|0;c[P>>2]=l;c[P+4>>2]=l;c[P+32>>2]=l;c[P+36>>2]=l}u=u+1|0}if(k&3|R|0)break;c[h>>2]=c[h>>2]&-41337|264;break}if(k&8|0){l=H(u&255,16843009)|0;c[g+28284>>2]=l;c[g+28292>>2]=l;c[g+28300>>2]=l;c[g+28308>>2]=l;l=c[B+4>>2]|0;h=H(l&255,16843009)|0;c[g+28324>>2]=h;c[g+28332>>2]=h;c[g+28340>>2]=h;c[g+28348>>2]=h;do if((o&7|0)==0?(c[q+100>>2]|0)==0:0){k=a[M>>0]|0;if(!(k<<24>>24)){S=b[N>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;S=b[N+2>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break}else{if(k<<24>>24>=0)break;if(a[p>>0]|0)break;S=b[m>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;S=b[m+2>>1]|0;h=S<<16>>16;if(((S<<16>>16>-1?h:0-h|0)|0)>=2)break;if((c[f+25704>>2]|0)>>>0<=33)break}j=(l|0)>0?j:0;i=(u|0)>0?i:0}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i;c[g+28160>>2]=j;c[g+28164>>2]=j;c[g+28168>>2]=j;c[g+28172>>2]=j;c[g+28192>>2]=j;c[g+28196>>2]=j;c[g+28200>>2]=j;c[g+28204>>2]=j;c[g+28224>>2]=j;c[g+28228>>2]=j;c[g+28232>>2]=j;c[g+28236>>2]=j;c[g+28256>>2]=j;c[g+28260>>2]=j;c[g+28264>>2]=j;c[g+28268>>2]=j;break}K=r&65535;L=(u&255)*257&65535;E=c[B+4>>2]|0;J=(E&255)*257&65535;I=(o&7|0)==0;F=(r&8|0)==0;G=O*3|0;D=(u|0)==0;E=(E|0)==0;C=f+25704|0;k=0;f=0;while(1){if((f|0)==4)break;o=f&1;q=f>>1;A=g+28552+(f<<1)|0;if(!(!S?(b[A>>1]&256)==0:0))P=79;do if((P|0)==79){P=0;b[A>>1]=K;B=f<<2;z=d[150645+B>>0]|0;r=g+27952+(z<<2)|0;c[r>>2]=i;s=r+4|0;c[s>>2]=i;t=r+32|0;c[t>>2]=i;u=r+36|0;c[u>>2]=i;v=g+28112+(z<<2)|0;c[v>>2]=j;w=v+4|0;c[w>>2]=j;x=v+32|0;c[x>>2]=j;y=v+36|0;c[y>>2]=j;n=g+28272+z|0;b[n>>1]=L;b[n+8>>1]=L;z=g+28312+z|0;b[z>>1]=J;b[z+8>>1]=J;if(I?(c[(c[Q>>2]|0)+100>>2]|0)==0:0){l=a[M+f>>0]|0;n=l<<24>>24==0;if(!n){if(l<<24>>24>=0)break;if(a[p+f>>0]|0)break;if((c[C>>2]|0)>>>0<=33)break}z=n?N:m;if(!F){l=(H(G,q)|0)+(0-o&3)|0;A=b[z+(l<<2)>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;A=b[z+(l<<2)+2>>1]|0;B=A<<16>>16;if(((A<<16>>16>-1?B:0-B|0)|0)>=2)break;if(D){c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0}if(E){c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0}k=k+4|0;break}r=o<<1;q=q<<1;l=0;o=0;while(1){if((o|0)==4)break;n=(H((o>>1)+q|0,O)|0)+(o&1|r)|0;x=b[z+(n<<2)>>1]|0;y=x<<16>>16;if(((x<<16>>16>-1?y:0-y|0)|0)<2?(x=b[z+(n<<2)+2>>1]|0,y=x<<16>>16,((x<<16>>16>-1?y:0-y|0)|0)<2):0){if(D)c[g+27952+(d[150645+(o+B)>>0]<<2)>>2]=0;if(E)c[g+28112+(d[150645+(o+B)>>0]<<2)>>2]=0;l=l+1|0}o=o+1|0}if(!(l&3))b[A>>1]=(e[A>>1]|0)+65480;k=l+k|0}}while(0);f=f+1|0}if(!(k&15|R))c[h>>2]=c[h>>2]&-41337|264}else{M=H(u&255,16843009)|0;c[g+28284>>2]=M;c[g+28292>>2]=M;c[g+28300>>2]=M;c[g+28308>>2]=M;M=H(c[B+4>>2]&255,16843009)|0;c[g+28324>>2]=M;c[g+28332>>2]=M;c[g+28340>>2]=M;c[g+28348>>2]=M;M=g+28e3|0;N=g+28032|0;O=g+28064|0;P=g+28096|0;Q=g+28160|0;R=g+28192|0;S=g+28224|0;g=g+28256|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[h>>2]=c[h>>2]&-41337|264}while(0);Ec=T;return}function Wj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0;F=Ec;Ec=Ec+16|0;C=F;q=c[f+26368>>2]|0;i=c[g+21796>>2]|0;u=g+21792|0;m=c[u>>2]|0;s=c[h>>2]|0;v=s&64;r=g+25336|0;Xj(f,r,(s>>>7&1)+m|0);s=g+25372|0;p=c[(c[s>>2]|0)+48>>2]|0;k=c[p+(i<<2)>>2]|0;t=c[h>>2]|0;j=(t&128|0)!=0;do if(!(k&128))if(j){o=c[u>>2]&-2;l=c[f+27016>>2]|0;n=(H(l,o)|0)+(c[g+21788>>2]|0)|0;k=c[p+(n<<2)>>2]|0;c[C>>2]=k;i=c[p+(l+n<<2)>>2]|0;j=C+4|0;c[j>>2]=i;l=l<<2|2;m=q*6|0;if((k^i)&128){k=k&-129;c[C>>2]=k;i=i&-129;c[j>>2]=i}if(k&15|0?!((v|0)!=0|(i&15|0)==0):0){E=m;i=n;m=o;p=20744;j=61712;o=k;break}E=m;i=n;m=o;p=20744;j=61504;o=k}else{l=2;D=12}else{if(j){k=c[g+21852>>2]|0;l=2;m=k+m|0;j=c[f+27016>>2]|0}else{j=(c[u>>2]&-2)+(c[g+21848>>2]|0)|0;l=0;m=j;i=c[g+21788>>2]|0;k=c[f+27016>>2]|0}k=i+(H(j,k)|0)|0;i=k;k=c[p+(k<<2)>>2]|0;D=12}while(0);do if((D|0)==12){c[C+4>>2]=k;c[C>>2]=k;j=(v|0)!=0;if(j|(k&15|0)==0){if(!j?(n=k&48,n|0):0){E=q;p=20744;j=n|61696;o=k;break}E=q;p=(c[(c[f+28216>>2]|0)+72>>2]|0)==0?20800:20744;j=61504;o=k}else{E=q;p=20744;j=20744;o=k}}while(0);c[h>>2]=t|j;Xj(f,r,m);n=c[s>>2]|0;k=c[(c[f+26360>>2]|0)+(i<<2)>>2]|0;j=(c[n+36>>2]|0)+(k<<2)|0;k=(c[n+40>>2]|0)+(k<<2)|0;m=i<<2;i=(c[n+68>>2]|0)+m|0;m=(c[n+72>>2]|0)+m|0;if(!l){z=(c[u>>2]&1|0)==0;A=E<<1;B=z?j:j+(A<<2)|0;A=z?k:k+(A<<2)|0;y=z?i:i+2|0;m=z?m:m+2|0}else{B=j;A=k;y=i}k=c[h>>2]|0;if((c[f+26376>>2]|0)==0|(k&128|0)==0){z=g+21868|0;j=g+22252|0;w=g+22444|0}else{w=c[u>>2]&1;z=g+21996+(w<<7)|0;j=g+22636+(w*384|0)|0;w=g+22636+(w*384|0)+192|0}x=o>>3&c[n+632>>2]<<4;i=k&128;a:do if((i|0)==(o&128|0)){if(k&8|0){c[g+28324>>2]=0;c[g+28332>>2]=0;c[g+28340>>2]=0;c[g+28348>>2]=0;if(!(o&7)){i=a[y>>0]|0;k=i<<24>>24>-1;if(!k){j=w;i=a[m>>0]|0}E=c[j+(x+(i<<24>>24)<<2)>>2]|0;C=c[z+(E<<2)>>2]|0;D=k?B:A;i=b[D>>1]|0;j=(H(C,i)|0)+128>>8;D=b[D+2>>1]|0;k=(H(C,D)|0)+128>>8;i=k-D<<16|j-i&65535;j=k<<16|j&65535;k=H(E,16843009)|0}else{i=0;j=0;k=0}c[g+28284>>2]=k;c[g+28292>>2]=k;c[g+28300>>2]=k;c[g+28308>>2]=k;c[g+28e3>>2]=j;c[g+28004>>2]=j;c[g+28008>>2]=j;c[g+28012>>2]=j;c[g+28032>>2]=j;c[g+28036>>2]=j;c[g+28040>>2]=j;c[g+28044>>2]=j;c[g+28064>>2]=j;c[g+28068>>2]=j;c[g+28072>>2]=j;c[g+28076>>2]=j;c[g+28096>>2]=j;c[g+28100>>2]=j;c[g+28104>>2]=j;c[g+28108>>2]=j;c[g+28160>>2]=i;c[g+28164>>2]=i;c[g+28168>>2]=i;c[g+28172>>2]=i;c[g+28192>>2]=i;c[g+28196>>2]=i;c[g+28200>>2]=i;c[g+28204>>2]=i;c[g+28224>>2]=i;c[g+28228>>2]=i;c[g+28232>>2]=i;c[g+28236>>2]=i;c[g+28256>>2]=i;c[g+28260>>2]=i;c[g+28264>>2]=i;c[g+28268>>2]=i;break}u=(v|0)==0;v=p&65535;h=(p&8|0)==0;f=E*3|0;t=(o&7|0)==0;s=0;while(1){if((s|0)==4)break a;o=s&1;p=s>>1;i=g+28552+(s<<1)|0;if(!(!u?!(b[i>>1]&256):0))D=43;b:do if((D|0)==43){D=0;b[i>>1]=v;r=s<<2;l=d[150645+r>>0]|0;C=g+28312+l|0;b[C>>1]=0;b[C+8>>1]=0;if(!t){C=g+28272+l|0;b[C>>1]=0;b[C+8>>1]=0;C=g+27952+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;C=g+28112+(l<<2)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+32>>2]=0;c[C+36>>2]=0;break}i=a[y+s>>0]|0;if(i<<24>>24>-1){q=B;k=j}else{q=A;i=a[m+s>>0]|0;k=w}k=c[k+(x+(i<<24>>24)<<2)>>2]|0;n=c[z+(k<<2)>>2]|0;C=g+28272+l|0;k=k*257&65535;b[C>>1]=k;b[C+8>>1]=k;if(!h){o=(H(f,p)|0)+(0-o&3)|0;r=b[q+(o<<2)>>1]|0;p=(H(n,r<<16>>16)|0)+128>>8;q=b[q+(o<<2)+2>>1]|0;o=(H(n,q<<16>>16)|0)+128>>8;C=g+27952+(l<<2)|0;n=o<<16|p&65535;c[C>>2]=n;c[C+4>>2]=n;c[C+32>>2]=n;c[C+36>>2]=n;C=g+28112+(l<<2)|0;r=o-(q&65535)<<16|p-(r&65535)&65535;c[C>>2]=r;c[C+4>>2]=r;c[C+32>>2]=r;c[C+36>>2]=r;break}l=o<<1;k=p<<1;i=0;while(1){if((i|0)==4)break b;G=(H((i>>1)+k|0,E)|0)+(i&1|l)|0;p=q+(G<<2)|0;C=d[150645+(i+r)>>0]|0;o=((H(n,b[p>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)>>1]=o;G=q+(G<<2)+2|0;I=((H(n,b[G>>1]|0)|0)+128|0)>>>8;b[g+27952+(C<<2)+2>>1]=I;c[g+28112+(C<<2)>>2]=I-(e[G>>1]|0)<<16|o-(e[p>>1]|0)&65535;i=i+1|0}}while(0);s=s+1|0}}else{h=i>>>6^2;t=(v|0)==0;s=p&65535;r=0;while(1){if((r|0)==4)break a;o=r&1;p=r>>1;i=g+28552+(r<<1)|0;if(!(!t?!(b[i>>1]&256):0)){b[i>>1]=s;q=d[150645+(r<<2)>>0]|0;I=g+28312+q|0;b[I>>1]=0;b[I+8>>1]=0;if(!(c[C+(p<<2)>>2]&7)){k=(H(p,l)|0)+o|0;i=a[y+k>>0]|0;if(i<<24>>24>-1){n=B;k=j}else{n=A;i=a[m+k>>0]|0;k=w}i=c[k+(x+(i<<24>>24)<<2)>>2]|0;I=c[z+(i<<2)>>2]|0;G=g+28272+q|0;i=i*257&65535;b[G>>1]=i;b[G+8>>1]=i;G=(0-o&3)+(H(p,E)|0)|0;i=(b[n+(G<<2)+2>>1]<<h|0)/2|0;G=b[n+(G<<2)>>1]|0;D=(H(I,G<<16>>16)|0)+128>>8;I=(H(i,I)|0)+128>>8;v=g+27952+(q<<2)|0;u=I<<16|D&65535;c[v>>2]=u;c[v+4>>2]=u;c[v+32>>2]=u;c[v+36>>2]=u;i=D-(G&65535)&65535|I-i<<16}else{i=g+28272+q|0;b[i>>1]=0;b[i+8>>1]=0;i=g+27952+(q<<2)|0;c[i>>2]=0;c[i+4>>2]=0;c[i+32>>2]=0;c[i+36>>2]=0;i=0}I=g+28112+(q<<2)|0;c[I>>2]=i;c[I+4>>2]=i;c[I+32>>2]=i;c[I+36>>2]=i}r=r+1|0}}while(0);Ec=F;return}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b+36>>2]|0;f=c[e+636>>2]|0;if(c[(c[a+4>>2]|0)+696>>2]&1|0){a=c[a+27008>>2]<<4>>f;d=d<<4>>f;Zh(e+4|0,(d|0)<(a|0)?d:a+-1|0,(f|0?(c[b+24>>2]|0)!=1:0)&1)}return}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)>(b|0))return ((c|0)>(b|0)?((c|0)>(a|0)?a:c):b)|0;else return ((b|0)>(c|0)?((c|0)>(a|0)?c:a):b)|0;return 0}function Zj(a){a=a|0;return c[a+8>>2]|0}function _j(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=$j(d,32)|0;Ec=b;return a|0}function $j(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Jj(a,b)|0;break}else{b=b+-16|0;c=(Jj(a,16)|0)<<b;a=c|(Jj(a,b)|0);break}else a=0;while(0);return a|0}function ak(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=Ec;Ec=Ec+32|0;h=l;i=c[a+4>>2]|0;j=c[a+24316>>2]|0;b=d[(qg(c[i+112>>2]|0)|0)+6>>0]|0;g=c[a+26380>>2]|0;n=(g|0)!=3;p=n&1;o=f<<p;f=e<<p;e=(c[i+96>>2]|0)-f|0;e=(o|0)>(e|0)?e:o;if(!((n?(c[a+26384>>2]|0)!=0:0)?!(c[i+240>>2]&2|0):0))k=4;if((k|0)==4?(m=c[i+116>>2]|0,m|0):0){c[h>>2]=H(c[j+32>>2]|0,f)|0;b=H(c[j+36>>2]|0,f>>b)|0;c[h+8>>2]=b;c[h+4>>2]=b;b=3;while(1){if((b|0)==8)break;c[h+(b<<2)>>2]=0;b=b+1|0}Xc[m&63](i,j,h,f,g,e)}Ec=l;return}function bk(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;e=c[d>>2]|0;b=(e+-256|0)>>>31;c[d>>2]=e<<b;b=c[a>>2]<<b;c[a>>2]=b;if(!(b&65535))ck(a);return}function ck(a){a=a|0;var b=0,e=0;b=a+16|0;e=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-65535+((d[e+1>>0]|0)<<1|(d[e>>0]|0)<<9);if(e>>>0<(c[a+20>>2]|0)>>>0)c[b>>2]=e+2;return}function dk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ha=Ec;Ec=Ec+48|0;X=ha+20|0;V=ha;ga=ha+8|0;$=g+21788|0;k=c[$>>2]|0;Z=g+21792|0;o=c[Z>>2]|0;Y=g+21796|0;l=c[Y>>2]|0;aa=c[(c[f+24364>>2]|0)+(l<<2)>>2]|0;n=f+25976|0;U=g+848|0;if(!(c[U>>2]|0))ea=(c[(c[f+28216>>2]|0)+16>>2]|0)!=0;else ea=0;i=f+24316|0;fa=f+25664|0;m=g+21772|0;j=f+12|0;h=0;while(1){if((h|0)==3)break;W=c[fa>>2]|0;ca=c[m>>2]|0;T=(c[(c[i>>2]|0)+(h<<2)>>2]|0)+((H(ca,o)|0)+(k<<W)<<4)|0;c[ga+(h<<2)>>2]=T;W=T+(H(c[$>>2]<<2&12,ca)|0)+(64<<W)|0;Uc[c[j>>2]&1023](W,ca,4);h=h+1|0}p=g+23412|0;a[(c[f+26388>>2]|0)+l>>0]=c[p>>2];W=g+21828|0;h=c[m>>2]|0;a:do if(c[W>>2]|0){m=h<<1;c[g+21784>>2]=m;c[g+21780>>2]=m;n=f+26168|0;b:do if(o&1|0){i=H(h,-15)|0;h=0;while(1){if((h|0)==3)break b;ca=ga+(h<<2)|0;c[ca>>2]=(c[ca>>2]|0)+i;h=h+1|0}}while(0);if(!(c[f+26376>>2]|0))ca=m;else{j=(aa&8|0)==0;i=0;while(1){if(i>>>0>=(c[p>>2]|0)>>>0){ca=m;break a}c:do if(12288<<(i<<1)&aa|0){if(j)h=0;else{T=g+28272+(i*40|0)+12|0;ca=H((a[T>>0]|0)+16^c[Z>>2]&1,16843009)|0;c[T>>2]=ca;c[g+28272+(i*40|0)+20>>2]=ca;c[g+28272+(i*40|0)+28>>2]=ca;c[g+28272+(i*40|0)+36>>2]=ca;break}while(1){if((h|0)>=16)break c;k=(d[150645+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){ca=(c[Z>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=ca;b[k+8>>1]=ca}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21784>>2]=h;c[g+21780>>2]=h;ca=h}while(0);d:do if(!(aa&4)){e:do if(aa&7){T=g+868|0;i=c[T>>2]|0;f:do if(i|0){j=c[ga>>2]|0;k=c[ga+4>>2]|0;l=c[ga+8>>2]|0;y=c[fa>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[Z>>2]&1)if(h){h=1;break}else break f;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Y>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[$>>2]|0}else{u=c[$>>2]|0;s=(u|0)>0;i=(c[Z>>2]|0)>((c[W>>2]|0)!=0|0)&1}w=0-(ca+1+y)|0;q=j+w|0;v=k+w|0;w=l+w|0;x=g+27796+(h<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i|0){l=(y|0)==0;do if(s){h=(8<<y)+(t+(r*96|0))|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=q+(-7<<y)|0;O=i;P=c[O+4>>2]|0;S=h;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=i;c[S>>2]=Q;c[S+4>>2]=R;if(l){h=k;i=q+1|0;o=0;j=c[h>>2]|0;h=c[h+4>>2]|0;l=1;break}else{R=h+8|0;l=R;j=c[l>>2]|0;l=c[l+4>>2]|0;h=i+8|0;S=h;ba=c[S+4>>2]|0;i=R;c[i>>2]=c[S>>2];c[i+4>>2]=ba;c[h>>2]=j;c[h+4>>2]=l;h=k;l=1<<y;i=q+l|0;j=c[h>>2]|0;h=c[h+4>>2]|0;ba=56;break}}else{h=k;j=c[h>>2]|0;h=c[h+4>>2]|0;m=1<<y;i=q+m|0;if(l){o=0;l=m}else{l=m;ba=56}}while(0);if((ba|0)==56){ba=i;o=c[ba+4>>2]|0;c[k>>2]=c[ba>>2];c[k+4>>2]=o;k=i;c[k>>2]=j;c[k+4>>2]=h;k=t+(u*96|0)+8|0;h=k;i=q+l+8|0;o=1;j=c[h>>2]|0;h=c[h+4>>2]|0}m=i;R=c[m+4>>2]|0;S=k;c[S>>2]=c[m>>2];c[S+4>>2]=R;S=i;c[S>>2]=j;c[S+4>>2]=h;h=(8<<y)+(t+(u*96|0))|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;m=9<<y;i=q+m|0;P=i;Q=c[P+4>>2]|0;ba=h;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=i;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=h+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=i+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}h=(c[$>>2]|0)+1|0;p=f+27012|0;if((h|0)<(c[p>>2]|0)?(ba=(c[x>>2]|0)+(h*96|0)|0,S=ba,R=c[S>>2]|0,S=c[S+4>>2]|0,z=q+(17<<y)|0,P=z,Q=c[P+4>>2]|0,ba,c[ba>>2]=c[P>>2],c[ba+4>>2]=Q,ba=z,c[ba>>2]=R,c[ba+4>>2]=S,o):0){Q=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=z+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}if(s){h=(24<<y)+(t+(r*96|0))|0;S=h;R=c[S>>2]|0;S=c[S+4>>2]|0;j=-7<<y;i=v+j|0;P=i;Q=c[P+4>>2]|0;ba=h;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=i;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=h+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=i+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S}i=(40<<y)+(t+(r*96|0))|0;S=i;R=c[S>>2]|0;S=c[S+4>>2]|0;h=w+j|0;P=h;Q=c[P+4>>2]|0;ba=i;c[ba>>2]=c[P>>2];c[ba+4>>2]=Q;ba=h;c[ba>>2]=R;c[ba+4>>2]=S;if(o){Q=i+8|0;S=Q;R=c[S>>2]|0;S=c[S+4>>2]|0;ba=h+8|0;O=ba;P=c[O+4>>2]|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=P;c[ba>>2]=R;c[ba+4>>2]=S;ba=68}else ba=69}else if(o)ba=68;else ba=69;if((ba|0)==68){i=(16<<y)+(t+(u*96|0))|0;S=i;R=c[S>>2]|0;S=c[S+4>>2]|0;h=v+l|0;P=h;Q=c[P+4>>2]|0;k=i;c[k>>2]=c[P>>2];c[k+4>>2]=Q;k=h;c[k>>2]=R;c[k+4>>2]=S;h=h+8|0;i=i+8|0;k=1}else if((ba|0)==69){h=v+l|0;i=(16<<y)+(t+(u*96|0))|0;k=0}R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;P=h;O=c[P+4>>2]|0;c[i>>2]=c[P>>2];c[i+4>>2]=O;c[h>>2]=Q;c[h+4>>2]=R;h=(24<<y)+(t+(u*96|0))|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=v+m|0;O=i;P=c[O+4>>2]|0;S=h;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=i;c[S>>2]=Q;c[S+4>>2]=R;if(k){h=h+8|0;R=h;Q=c[R>>2]|0;R=c[R+4>>2]|0;i=i+8|0;P=i;O=c[P+4>>2]|0;c[h>>2]=c[P>>2];c[h+4>>2]=O;c[i>>2]=Q;c[i+4>>2]=R;i=(32<<y)+(t+(u*96|0))|0;R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+l|0;O=h;P=c[O+4>>2]|0;S=i;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;h=h+8|0;i=i+8|0}else{h=w+l|0;i=(32<<y)+(t+(u*96|0))|0}R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;P=h;O=c[P+4>>2]|0;c[i>>2]=c[P>>2];c[i+4>>2]=O;i=h;c[i>>2]=Q;c[i+4>>2]=R;i=(40<<y)+(t+(u*96|0))|0;R=i;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+m|0;O=h;P=c[O+4>>2]|0;S=i;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}h=(c[$>>2]|0)+1|0;if((h|0)<(c[p>>2]|0)){i=16<<y;S=(c[x>>2]|0)+(h*96|0)+i|0;R=S;Q=c[R>>2]|0;R=c[R+4>>2]|0;j=17<<y;h=v+j|0;O=h;P=c[O+4>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}i=32<<y;S=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i|0;R=S;Q=c[R>>2]|0;R=c[R+4>>2]|0;h=w+j|0;O=h;P=c[O+4>>2]|0;c[S>>2]=c[O>>2];c[S+4>>2]=P;S=h;c[S>>2]=Q;c[S+4>>2]=R;if(k){P=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+i+8|0;R=P;Q=c[R>>2]|0;R=c[R+4>>2]|0;S=h+8|0;N=S;O=c[N+4>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=O;c[S>>2]=Q;c[S+4>>2]=R}}}}while(0);h=aa&1;x=(h|0)==0;C=g+21660|0;y=f+132|0;z=f+28212|0;R=aa&16777216;A=(R|0)==0;E=f+144|0;D=f+28216|0;F=g+21764|0;G=3-ca|0;I=3-((ca|0)/2|0)|0;J=0-ca|0;B=g+28560|0;K=f+108|0;L=f+100|0;S=f+140|0;N=f+25704|0;O=g+21756|0;P=f+112|0;Q=f+104|0;w=0;while(1){if((w|0)==3)break;v=c[fa>>2]|0;s=c[ga+(w<<2)>>2]|0;i=c[((w|0)==0?U:g+852+(w+-1<<2)|0)>>2]|0;t=w<<4;u=n+(t<<2)|0;g:do if(x){Tc[c[f+25888+(c[C>>2]<<2)>>2]&255](s,ca);if(a[(d[150645+(w+48)>>0]|0)+(g+27824)>>0]|0){if(!ea){Uc[c[y>>2]&1023](g+28560+(w<<8<<v<<1)|0,g+31632+(w<<6)|0,c[(c[(c[z>>2]|0)+173788+(w<<2)>>2]|0)+(i<<6)>>2]|0);break}m=g+28560+(w<<8<<v<<1)|0;j=(v|0)==0;k=g+31632+(w<<6)|0;i=0;while(1){if((i|0)==16)break g;l=d[139932+i>>0]|0;if(j)b[m+(l<<1)>>1]=b[g+31632+(w<<6)+(i<<1)>>1]|0;else c[m+(l<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}}}else{if(!A){if(ea){l=c[S>>2]|0;k=l}else{k=c[Q>>2]|0;l=c[P>>2]|0}o=w<<8;p=(v|0)==0;m=0;while(1){if((m|0)>=16)break g;q=s+(c[u+(m<<2)>>2]|0)|0;r=a[(d[150645+m>>0]|0)+(g+21664)>>0]|0;i=r<<24>>24;do if(ea?(r<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)if((c[N>>2]|0)>>>0<151){Uc[c[f+25932+(i<<2)>>2]&1023](q,g+28560+((m<<4)+o<<v<<1)|0,ca);break}else{Wc[c[f+25940+(i<<2)>>2]&127](q,g+28560+((m<<4)+o<<v<<1)|0,c[O>>2]<<m&32768,c[F>>2]<<m&16384,ca);break}else ba=94;while(0);h:do if((ba|0)==94){ba=0;r=a[(d[150645+(m+t)>>0]|0)+(g+27824)>>0]|0;Vc[c[f+25796+(i<<2)>>2]&255](q,c[O>>2]<<m&32768,c[F>>2]<<m&16384,ca);i:do switch(r<<24>>24){case 0:break h;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j)break i;Uc[l&1023](q,g+28560+(i<<v<<1)|0,ca);break h}default:i=(m<<4)+o|0}while(0);Uc[k&1023](q,g+28560+(i<<v<<1)|0,ca)}while(0);m=m+4|0}}if(ea){l=c[E>>2]|0;k=l}else{k=c[L>>2]|0;l=c[K>>2]|0}o=w<<8;p=(v|0)==0;q=4<<v;m=0;while(1){if((m|0)==16)break g;r=s+(c[u+(m<<2)>>2]|0)|0;i=a[(d[150645+m>>0]|0)+(g+21664)>>0]|0;j=i<<24>>24;if(ea?(i<<24>>24<2?(c[(c[D>>2]|0)+4>>2]|0)==244:0):0)Uc[c[f+25924+(j<<2)>>2]&1023](r,g+28560+((m<<4)+o<<v<<1)|0,ca);else{do if((i|4)<<24>>24==7){if(c[F>>2]&32768>>>m|0){i=r+q+J|0;break}if(p){c[X>>2]=H(d[r+G>>0]|0,16843009)|0;i=X;break}else{ja=nW(e[r+(I<<1)>>1]|0,0,65537,65537)|0;ia=M()|0;i=V;c[i>>2]=ja;c[i+4>>2]=ia;i=V;break}}else i=0;while(0);Uc[c[f+25736+(j<<2)>>2]&1023](r,i,ca);j:do switch(a[(d[150645+(m+t)>>0]|0)+(g+27824)>>0]|0){case 0:break;case 1:{i=(m<<4)+o|0;if(p)j=e[g+28560+(i<<1)>>1]|0;else j=c[B+(i<<2)>>2]|0;if(!j){ba=124;break j}Uc[l&1023](r,g+28560+(i<<v<<1)|0,ca);break}default:{i=(m<<4)+o|0;ba=124}}while(0);if((ba|0)==124){ba=0;Uc[k&1023](r,g+28560+(i<<v<<1)|0,ca)}}m=m+1|0}}while(0);w=w+1|0}j=c[T>>2]|0;if(j){k=c[ga>>2]|0;l=c[ga+4>>2]|0;o=c[ga+8>>2]|0;y=c[fa>>2]|0;do if(c[f+26376>>2]|0){i=(c[g+21832>>2]|0)!=0;if(c[Z>>2]&1)if(i){m=1;break}else{j=R;i=S;break e}else{m=(i^1)&1;break}}else m=1;while(0);if((j|0)==2){s=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[Y>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[$>>2]|0}else{u=c[$>>2]|0;s=(u|0)>0;i=(c[Z>>2]|0)>((c[W>>2]|0)!=0|0)&1}w=0-(ca+1+y)|0;q=k+w|0;v=l+w|0;w=o+w|0;x=g+27796+(m<<2)|0;t=c[x>>2]|0;r=u+-1|0;k=t+(u*96|0)|0;if(i){l=(y|0)==0;do if(s){i=(8<<y)+(t+(r*96|0))|0;ia=i;Z=c[ia>>2]|0;ia=c[ia+4>>2]|0;j=q+(-7<<y)|0;X=j;Y=c[X+4>>2]|0;ja=i;c[ja>>2]=c[X>>2];c[ja+4>>2]=Y;ja=j;c[ja>>2]=Z;c[ja+4>>2]=ia;if(l){i=k;j=q+1|0;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1;l=0;break}else{Z=i+8|0;m=Z;ba=c[m>>2]|0;m=c[m+4>>2]|0;i=j+8|0;ia=i;ja=c[ia+4>>2]|0;j=Z;c[j>>2]=c[ia>>2];c[j+4>>2]=ja;c[i>>2]=ba;c[i+4>>2]=m;i=k;m=1<<y;j=q+m|0;k=c[i>>2]|0;i=c[i+4>>2]|0;ba=151;break}}else{i=k;k=c[i>>2]|0;i=c[i+4>>2]|0;m=1<<y;j=q+m|0;if(l)l=0;else ba=151}while(0);if((ba|0)==151){c[j>>2]=k;c[j+4>>2]=i;i=t+(u*96|0)+8|0;j=q+m+8|0;k=c[i>>2]|0;i=c[i+4>>2]|0;l=1}ia=j;c[ia>>2]=k;c[ia+4>>2]=i;i=(8<<y)+(t+(u*96|0))|0;ia=i;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;o=9<<y;j=q+o|0;Y=j;Z=c[Y+4>>2]|0;ja=i;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=j;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){Z=i+8|0;ia=Z;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=j+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=ba;c[ja+4>>2]=ia}i=(c[$>>2]|0)+1|0;p=f+27012|0;if((i|0)<(c[p>>2]|0)?(ja=(c[x>>2]|0)+(i*96|0)|0,ia=ja,ba=c[ia>>2]|0,ia=c[ia+4>>2]|0,_=q+(17<<y)|0,Y=_,Z=c[Y+4>>2]|0,ja,c[ja>>2]=c[Y>>2],c[ja+4>>2]=Z,ja=_,c[ja>>2]=ba,c[ja+4>>2]=ia,l):0){X=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+8|0;ia=X;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=_+8|0;Y=ja;Z=c[Y+4>>2]|0;_=X;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ja>>2]=ba;c[ja+4>>2]=ia}if(s){i=(24<<y)+(t+(r*96|0))|0;ia=i;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;k=-7<<y;j=v+k|0;Z=j;_=c[Z+4>>2]|0;ja=i;c[ja>>2]=c[Z>>2];c[ja+4>>2]=_;ja=j;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){_=i+8|0;ia=_;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=j+8|0;Y=ja;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ja>>2]=ba;c[ja+4>>2]=ia}j=(40<<y)+(t+(r*96|0))|0;ia=j;ba=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+k|0;Z=i;_=c[Z+4>>2]|0;ja=j;c[ja>>2]=c[Z>>2];c[ja+4>>2]=_;ja=i;c[ja>>2]=ba;c[ja+4>>2]=ia;if(l){_=j+8|0;ja=_;ia=c[ja>>2]|0;ja=c[ja+4>>2]|0;ba=i+8|0;Y=ba;Z=c[Y+4>>2]|0;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;c[ba>>2]=ia;c[ba+4>>2]=ja;ba=163}else ba=164}else if(l)ba=163;else ba=164;if((ba|0)==163){j=(16<<y)+(t+(u*96|0))|0;ia=j;ja=c[ia+4>>2]|0;i=v+m|0;l=i;c[l>>2]=c[ia>>2];c[l+4>>2]=ja;i=i+8|0;j=j+8|0;l=1}else if((ba|0)==164){i=v+m|0;j=(16<<y)+(t+(u*96|0))|0;l=0}_=j;ia=c[_+4>>2]|0;c[i>>2]=c[_>>2];c[i+4>>2]=ia;i=(24<<y)+(t+(u*96|0))|0;ia=i;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;j=v+o|0;Y=j;Z=c[Y+4>>2]|0;ja=i;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=j;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){i=i+8|0;_=i;ia=c[_>>2]|0;_=c[_+4>>2]|0;j=j+8|0;Z=j;ja=c[Z+4>>2]|0;c[i>>2]=c[Z>>2];c[i+4>>2]=ja;c[j>>2]=ia;c[j+4>>2]=_;j=(32<<y)+(t+(u*96|0))|0;_=j;ia=c[_+4>>2]|0;i=w+m|0;ja=i;c[ja>>2]=c[_>>2];c[ja+4>>2]=ia;i=i+8|0;j=j+8|0}else{i=w+m|0;j=(32<<y)+(t+(u*96|0))|0}_=j;ia=c[_+4>>2]|0;j=i;c[j>>2]=c[_>>2];c[j+4>>2]=ia;j=(40<<y)+(t+(u*96|0))|0;ia=j;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+o|0;Y=i;Z=c[Y+4>>2]|0;ja=j;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=j+8|0;ia=Z;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=i+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=_;c[ja+4>>2]=ia}i=(c[$>>2]|0)+1|0;if((i|0)<(c[p>>2]|0)){j=16<<y;ja=(c[x>>2]|0)+(i*96|0)+j|0;ia=ja;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;k=17<<y;i=v+k|0;Y=i;Z=c[Y+4>>2]|0;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j+8|0;ia=Z;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;ja=i+8|0;X=ja;Y=c[X+4>>2]|0;c[Z>>2]=c[X>>2];c[Z+4>>2]=Y;c[ja>>2]=_;c[ja+4>>2]=ia}j=32<<y;ja=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j|0;ia=ja;_=c[ia>>2]|0;ia=c[ia+4>>2]|0;i=w+k|0;Y=i;Z=c[Y+4>>2]|0;c[ja>>2]=c[Y>>2];c[ja+4>>2]=Z;ja=i;c[ja>>2]=_;c[ja+4>>2]=ia;if(l){Z=(c[x>>2]|0)+(((c[$>>2]|0)+1|0)*96|0)+j+8|0;ja=Z;ia=c[ja>>2]|0;ja=c[ja+4>>2]|0;j=i+8|0;_=j;$=c[_+4>>2]|0;i=Z;c[i>>2]=c[_>>2];c[i+4>>2]=$;c[j>>2]=ia;c[j+4>>2]=ja;j=R;i=S}else{j=R;i=S}}else{j=R;i=S}}else{j=R;i=S}}else{j=R;i=S}}else{ok(f,g,c[ga>>2]|0,c[ga+4>>2]|0,c[ga+8>>2]|0,f+184|0,f+152|0,f+440|0,f+168|0,f+16|0,f+32|0);j=aa&16777216;E=f+144|0;i=f+140|0;D=f+28216|0;C=g+21660|0;B=g+28560|0;h=aa&1}while(0);A=(h|0)==0;x=(aa&2|0)==0;y=g+21856|0;w=(j|0)!=0;z=w?4:1;w=w?i:E;o=(j|0)==0;p=f+116|0;q=f+120|0;r=f+128|0;m=0;while(1){if((m|0)==3)break d;s=c[fa>>2]|0;t=c[ga+(m<<2)>>2]|0;u=m<<4;v=n+(u<<2)|0;k:do if(A){if(x){if(!(c[y>>2]&15))break;if(!ea)if(o){Wc[c[p>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}else{Wc[c[q>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}i=c[w>>2]|0;j=m<<8;h=0;while(1){if((h|0)>=16)break k;if(a[(d[150645+(h+u)>>0]|0)+(g+27824)>>0]|0)Uc[i&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+((h<<4)+j<<s<<1)|0,ca);h=h+z|0}}if(!ea){Wc[c[r>>2]&127](t,v,g+28560+(m<<8<<s<<1)|0,ca,(m*40|0)+(g+27824)|0);break}if((c[(c[D>>2]|0)+4>>2]|0)==244?(da=c[C>>2]|0,(da+-1|0)>>>0<2):0){Vc[c[f+25960+(da<<2)>>2]&255](t,v,g+28560+(m<<8<<s<<1)|0,ca);break}j=m<<8;k=(s|0)==0;h=0;while(1){if((h|0)==16)break k;l=(h<<4)+j|0;if(!(a[(d[150645+(h+u)>>0]|0)+(g+27824)>>0]|0)){if(k)i=e[g+28560+(l<<1)>>1]|0;else i=c[B+(l<<2)>>2]|0;if(i|0)ba=191}else ba=191;if((ba|0)==191){ba=0;Uc[c[E>>2]&1023](t+(c[v+(h<<2)>>2]|0)|0,g+28560+(l<<s<<1)|0,ca)}h=h+1|0}}while(0);m=m+1|0}}else{if(!(c[fa>>2]|0)){j=g+27780|0;i=0;while(1){if((i|0)==3)break d;k=ga+(i<<2)|0;l=i<<8;h=0;while(1){if((h|0)==16)break;m=(c[k>>2]|0)+(H(h,ca)|0)|0;n=(c[j>>2]|0)+l+(h<<4)|0;o=m+16|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));h=h+1|0}i=i+1|0}}m=c[(c[f+28216>>2]|0)+1184>>2]|0;fk(X,c[g+27780>>2]|0,m*768|0);j=0;while(1){if((j|0)==3)break;k=ga+(j<<2)|0;i=0;while(1){if((i|0)==16)break;l=(c[k>>2]|0)+(H(i,ca)|0)|0;h=0;while(1){if((h|0)==16)break;b[l+(h<<1)>>1]=gk(X,m)|0;h=h+1|0}i=i+1|0}j=j+1|0}}while(0);Ec=ha;return}function ek(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,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;Y=Ec;Ec=Ec+32|0;X=Y+8|0;A=Y;F=g+21788|0;i=c[F>>2]|0;D=g+21792|0;k=c[D>>2]|0;C=g+21796|0;j=c[C>>2]|0;I=c[(c[f+24364>>2]|0)+(j<<2)>>2]|0;y=g+848|0;S=f+28216|0;h=c[S>>2]|0;if(!(c[y>>2]|0))P=(c[h+16>>2]|0)!=0;else P=0;t=16>>>(c[f+25680>>2]|0);T=(c[h+12>>2]|0)==2;Q=c[f+24316>>2]|0;V=f+25664|0;R=c[V>>2]|0;B=i<<R;W=g+21772|0;r=c[W>>2]|0;l=(c[Q>>2]|0)+((H(r,k)|0)+B<<4)|0;B=B<<3;h=g+21776|0;m=H(H(t,k)|0,c[h>>2]|0)|0;o=(c[Q+4>>2]|0)+B+m|0;m=(c[Q+8>>2]|0)+B+m|0;B=f+12|0;i=l+(H(i<<2&12,r)|0)+(64<<R)|0;Uc[c[B>>2]&1023](i,r,4);r=o+(H(c[F>>2]&7,c[h>>2]|0)|0)|0;Uc[c[B>>2]&1023](r+(64<<c[V>>2])|0,m-o|0,2);r=g+23412|0;a[(c[f+26388>>2]|0)+j>>0]=c[r>>2];B=g+21828|0;i=c[W>>2]|0;a:do if(c[B>>2]|0){p=i<<1;c[g+21780>>2]=p;h=c[h>>2]|0;q=h<<1;c[g+21784>>2]=q;s=f+26168|0;if(!(k&1))n=l;else{W=H(1-t|0,h)|0;n=l+(H(i,-15)|0)|0;o=o+W|0;m=m+W|0}if(!(c[f+26376>>2]|0)){L=p;W=q;Q=s;K=n;R=m}else{j=(I&8|0)==0;i=0;while(1){if(i>>>0>=(c[r>>2]|0)>>>0){L=p;W=q;Q=s;K=n;R=m;break a}b:do if(12288<<(i<<1)&I|0){if(j)h=0;else{R=g+28272+(i*40|0)+12|0;W=H((a[R>>0]|0)+16^c[D>>2]&1,16843009)|0;c[R>>2]=W;c[g+28272+(i*40|0)+20>>2]=W;c[g+28272+(i*40|0)+28>>2]=W;c[g+28272+(i*40|0)+36>>2]=W;break}while(1){if((h|0)>=16)break b;k=(d[150645+h>>0]|0)+(g+28272+(i*40|0))|0;l=a[k>>0]|0;if(l<<24>>24>-1){W=(c[D>>2]&1^(l<<24>>24)+16)*257&65535;b[k>>1]=W;b[k+8>>1]=W}h=h+4|0}}while(0);i=i+1|0}}}else{c[g+21780>>2]=i;W=c[h>>2]|0;c[g+21784>>2]=W;L=i;Q=f+25976|0;K=l;R=m}while(0);c:do if(!(I&4)){G=(I&7|0)!=0;d:do if(G){z=g+868|0;i=c[z>>2]|0;e:do if(i|0){w=c[V>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){h=1;break}else break e;else{h=(h^1)&1;break}}else h=1;while(0);if((i|0)==2){q=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);i=c[g+21732>>2]|0;u=c[F>>2]|0}else{u=c[F>>2]|0;q=(u|0)>0;i=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}p=K+(0-(L+1+w))|0;v=0-(W+1+w)|0;s=o+v|0;v=R+v|0;n=g+27796+(h<<2)|0;t=c[n>>2]|0;r=u+-1|0;l=t+(u*96|0)|0;if(i|0){j=(w|0)==0;do if(q){h=(8<<w)+(t+(r*96|0))|0;k=h;Z=c[k>>2]|0;k=c[k+4>>2]|0;i=p+(-7<<w)|0;$=i;_=c[$+4>>2]|0;m=h;c[m>>2]=c[$>>2];c[m+4>>2]=_;m=i;c[m>>2]=Z;c[m+4>>2]=k;if(j){h=l;i=p+1|0;j=0;k=c[h>>2]|0;h=c[h+4>>2]|0;break}else{_=h+8|0;m=_;j=c[m>>2]|0;m=c[m+4>>2]|0;h=i+8|0;$=h;U=c[$+4>>2]|0;i=_;c[i>>2]=c[$>>2];c[i+4>>2]=U;c[h>>2]=j;c[h+4>>2]=m;h=l;m=1<<w;i=p+m|0;j=c[h>>2]|0;h=c[h+4>>2]|0;U=69;break}}else{h=l;k=c[h>>2]|0;h=c[h+4>>2]|0;m=1<<w;i=p+m|0;if(j)j=0;else{j=k;U=69}}while(0);if((U|0)==69){$=i;k=c[$+4>>2]|0;c[l>>2]=c[$>>2];c[l+4>>2]=k;l=i;c[l>>2]=j;c[l+4>>2]=h;l=t+(u*96|0)+8|0;h=l;i=p+m+8|0;j=1;k=c[h>>2]|0;h=c[h+4>>2]|0}m=i;Z=c[m+4>>2]|0;_=l;c[_>>2]=c[m>>2];c[_+4>>2]=Z;_=i;c[_>>2]=k;c[_+4>>2]=h;h=(8<<w)+(t+(u*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=p+(9<<w)|0;l=i;m=c[l+4>>2]|0;$=h;c[$>>2]=c[l>>2];c[$+4>>2]=m;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){m=h+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;k=$;l=c[k+4>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;c[$>>2]=Z;c[$+4>>2]=_}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?($=(c[n>>2]|0)+(h*96|0)|0,_=$,Z=c[_>>2]|0,_=c[_+4>>2]|0,x=p+(17<<w)|0,m=x,p=c[m+4>>2]|0,$,c[$>>2]=c[m>>2],c[$+4>>2]=p,$=x,c[$>>2]=Z,c[$+4>>2]=_,j):0){m=(c[n>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;_=m;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=x+8|0;n=$;p=c[n+4>>2]|0;x=m;c[x>>2]=c[n>>2];c[x+4>>2]=p;c[$>>2]=Z;c[$+4>>2]=_}l=16<<w;if(q){h=t+(r*96|0)+l|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;k=-7<<w;i=s+k|0;q=i;x=c[q+4>>2]|0;$=h;c[$>>2]=c[q>>2];c[$+4>>2]=x;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=h+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;p=$;q=c[p+4>>2]|0;c[x>>2]=c[p>>2];c[x+4>>2]=q;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<w)+(t+(r*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=v+k|0;r=h;x=c[r+4>>2]|0;$=i;c[$>>2]=c[r>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){Z=i+8|0;$=Z;_=c[$>>2]|0;$=c[$+4>>2]|0;j=h+8|0;r=j;x=c[r+4>>2]|0;c[Z>>2]=c[r>>2];c[Z+4>>2]=x;c[j>>2]=_;c[j+4>>2]=$;j=1}else j=0}i=t+(u*96|0)+l|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=s+1+w|0;s=h;x=c[s+4>>2]|0;$=i;c[$>>2]=c[s>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;r=$;s=c[r+4>>2]|0;c[x>>2]=c[r>>2];c[x+4>>2]=s;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<w)+(t+(u*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=v+1+w|0;w=h;x=c[w+4>>2]|0;$=i;c[$>>2]=c[w>>2];c[$+4>>2]=x;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){x=i+8|0;_=x;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;v=$;w=c[v+4>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[$>>2]=Z;c[$+4>>2]=_}}}while(0);w=g+21656|0;Tc[c[f+25844+(c[w>>2]<<2)>>2]&255](o,W);Tc[c[f+25844+(c[w>>2]<<2)>>2]&255](R,W);w=c[V>>2]|0;h=c[y>>2]|0;f:do if(!(I&1)){Tc[c[f+25888+(c[g+21660>>2]<<2)>>2]&255](K,L);if(a[g+27824>>0]|0){if(!P){Uc[c[f+132>>2]&1023](g+28560|0,g+31632|0,c[(c[(c[f+28212>>2]|0)+173788>>2]|0)+(h<<6)>>2]|0);break}l=g+28560|0;i=(w|0)==0;j=g+31632|0;h=0;while(1){if((h|0)==16)break f;k=d[139932+h>>0]|0;if(i)b[g+28560+(k<<1)>>1]=b[g+31632+(h<<1)>>1]|0;else c[l+(k<<2)>>2]=c[j+(h<<2)>>2];h=h+1|0}}}else{if(I&16777216|0){if(P){k=c[f+140>>2]|0;j=k}else{j=c[f+104>>2]|0;k=c[f+112>>2]|0}m=f+25704|0;n=g+21756|0;p=g+21764|0;q=(w|0)==0;r=g+28560|0;l=0;while(1){if((l|0)>=16)break f;s=K+(c[Q+(l<<2)>>2]|0)|0;h=d[150645+l>>0]|0;$=a[g+21664+h>>0]|0;i=$<<24>>24;do if(P?($<<24>>24<2?(c[(c[S>>2]|0)+4>>2]|0)==244:0):0)if((c[m>>2]|0)>>>0<151){Uc[c[f+25932+(i<<2)>>2]&1023](s,g+28560+(l<<4<<w<<1)|0,L);break}else{Wc[c[f+25940+(i<<2)>>2]&127](s,g+28560+(l<<4<<w<<1)|0,c[n>>2]<<l&32768,c[p>>2]<<l&16384,L);break}else U=96;while(0);g:do if((U|0)==96){U=0;$=a[g+27824+h>>0]|0;Vc[c[f+25796+(i<<2)>>2]&255](s,c[n>>2]<<l&32768,c[p>>2]<<l&16384,L);switch($<<24>>24){case 0:break g;case 1:{h=l<<4;if(q)i=e[g+28560+(h<<1)>>1]|0;else i=c[r+(h<<2)>>2]|0;if(i){Uc[k&1023](s,g+28560+(h<<w<<1)|0,L);break g}break}default:h=l<<4}Uc[j&1023](s,g+28560+(h<<w<<1)|0,L)}while(0);l=l+4|0}}if(P){l=c[f+144>>2]|0;k=l}else{k=c[f+100>>2]|0;l=c[f+108>>2]|0}n=g+21764|0;p=(w|0)==0;q=3-L|0;r=3-((L|0)/2|0)|0;s=4<<w;t=0-L|0;u=g+28560|0;m=0;while(1){if((m|0)==16)break f;v=K+(c[Q+(m<<2)>>2]|0)|0;i=d[150645+m>>0]|0;h=a[g+21664+i>>0]|0;j=h<<24>>24;if(P?(h<<24>>24<2?(c[(c[S>>2]|0)+4>>2]|0)==244:0):0)Uc[c[f+25924+(j<<2)>>2]&1023](v,g+28560+(m<<4<<w<<1)|0,L);else{do if((h|4)<<24>>24==7){if(c[n>>2]&32768>>>m|0){h=v+s+t|0;break}if(p){c[X>>2]=H(d[v+q>>0]|0,16843009)|0;h=X;break}else{_=nW(e[v+(r<<1)>>1]|0,0,65537,65537)|0;$=M()|0;h=A;c[h>>2]=_;c[h+4>>2]=$;h=A;break}}else h=0;while(0);Uc[c[f+25736+(j<<2)>>2]&1023](v,h,L);switch(a[g+27824+i>>0]|0){case 0:break;case 1:{h=m<<4;if(p)i=e[g+28560+(h<<1)>>1]|0;else i=c[u+(h<<2)>>2]|0;if(!i)U=126;else Uc[l&1023](v,g+28560+(h<<w<<1)|0,L);break}default:{h=m<<4;U=126}}if((U|0)==126){U=0;Uc[k&1023](v,g+28560+(h<<w<<1)|0,L)}}m=m+1|0}}while(0);i=c[z>>2]|0;if(i|0){v=c[V>>2]|0;do if(c[f+26376>>2]|0){h=(c[g+21832>>2]|0)!=0;if(c[D>>2]&1)if(h){j=1;break}else break d;else{j=(h^1)&1;break}}else j=1;while(0);if((i|0)==2){p=(c[g+832>>2]|0)==(e[(c[f+26372>>2]|0)+((c[C>>2]|0)+-1-(c[f+27016>>2]|0)<<1)>>1]|0);h=c[g+21732>>2]|0;t=c[F>>2]|0}else{t=c[F>>2]|0;p=(t|0)>0;h=(c[D>>2]|0)>((c[B>>2]|0)!=0|0)&1}n=K+(0-(L+1+v))|0;u=0-(W+1+v)|0;r=o+u|0;u=R+u|0;m=g+27796+(j<<2)|0;s=c[m>>2]|0;q=t+-1|0;j=s+(t*96|0)|0;if(h|0){l=(v|0)==0;do if(p){h=(8<<v)+(s+(q*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=n+(-7<<v)|0;C=i;D=c[C+4>>2]|0;$=h;c[$>>2]=c[C>>2];c[$+4>>2]=D;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(l){h=j;k=n+1|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=0;break}else{U=h+8|0;k=U;h=c[k>>2]|0;k=c[k+4>>2]|0;i=i+8|0;_=i;$=c[_+4>>2]|0;c[U>>2]=c[_>>2];c[U+4>>2]=$;c[i>>2]=h;c[i+4>>2]=k;i=j;k=1<<v;j=n+k|0;h=c[i+4>>2]|0;i=c[i>>2]|0;U=152;break}}else{h=j;i=c[h>>2]|0;h=c[h+4>>2]|0;k=1<<v;j=n+k|0;if(l){k=j;j=0}else U=152}while(0);if((U|0)==152){c[j>>2]=i;c[j+4>>2]=h;h=s+(t*96|0)+8|0;k=n+k+8|0;i=c[h>>2]|0;h=c[h+4>>2]|0;j=1}_=k;c[_>>2]=i;c[_+4>>2]=h;h=(8<<v)+(s+(t*96|0))|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;i=n+(9<<v)|0;C=i;D=c[C+4>>2]|0;$=h;c[$>>2]=c[C>>2];c[$+4>>2]=D;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){D=h+8|0;_=D;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;B=$;C=c[B+4>>2]|0;c[D>>2]=c[B>>2];c[D+4>>2]=C;c[$>>2]=Z;c[$+4>>2]=_}h=(c[F>>2]|0)+1|0;if((h|0)<(c[f+27012>>2]|0)?($=(c[m>>2]|0)+(h*96|0)|0,_=$,Z=c[_>>2]|0,_=c[_+4>>2]|0,E=n+(17<<v)|0,C=E,D=c[C+4>>2]|0,$,c[$>>2]=c[C>>2],c[$+4>>2]=D,$=E,c[$>>2]=Z,c[$+4>>2]=_,j):0){F=(c[m>>2]|0)+(((c[F>>2]|0)+1|0)*96|0)+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=E+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}l=16<<v;if(p){h=s+(q*96|0)+l|0;_=h;Z=c[_>>2]|0;_=c[_+4>>2]|0;k=-7<<v;i=r+k|0;E=i;F=c[E+4>>2]|0;$=h;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=i;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=h+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=i+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<v)+(s+(q*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=u+k|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){Z=i+8|0;$=Z;_=c[$>>2]|0;$=c[$+4>>2]|0;j=h+8|0;E=j;F=c[E+4>>2]|0;c[Z>>2]=c[E>>2];c[Z+4>>2]=F;c[j>>2]=_;c[j+4>>2]=$;j=1}else j=0}i=s+(t*96|0)+l|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=r+1+v|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}i=(24<<v)+(s+(t*96|0))|0;_=i;Z=c[_>>2]|0;_=c[_+4>>2]|0;h=u+1+v|0;E=h;F=c[E+4>>2]|0;$=i;c[$>>2]=c[E>>2];c[$+4>>2]=F;$=h;c[$>>2]=Z;c[$+4>>2]=_;if(j){F=i+8|0;_=F;Z=c[_>>2]|0;_=c[_+4>>2]|0;$=h+8|0;D=$;E=c[D+4>>2]|0;c[F>>2]=c[D>>2];c[F+4>>2]=E;c[$>>2]=Z;c[$+4>>2]=_}}}}else{h=f+184|0;i=f+152|0;j=f+440|0;k=f+168|0;l=f+16|0;m=f+32|0;if(T){hk(f,g,K,o,R,h,i,j,k,l,m);break}else{ik(f,g,K,o,R,h,i,j,k,l,m);break}}while(0);n=c[V>>2]|0;h:do if(!(I&1)){if(!(I&2)){if(!(c[g+21856>>2]&15))break;h=I&16777216;if(!P)if(!h){Wc[c[f+116>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}else{Wc[c[f+120>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}j=(h|0)!=0;i=j?4:1;j=c[(j?f+140|0:f+144|0)>>2]|0;h=0;while(1){if((h|0)>=16)break h;if(a[(d[150645+h>>0]|0)+(g+27824)>>0]|0)Uc[j&1023](K+(c[Q+(h<<2)>>2]|0)|0,g+28560+(h<<4<<n<<1)|0,L);h=h+i|0}}if(!P){Wc[c[f+128>>2]&127](K,Q,g+28560|0,L,g+27824|0);break}if((c[(c[S>>2]|0)+4>>2]|0)==244?(J=c[g+21660>>2]|0,(J+-1|0)>>>0<2):0){Vc[c[f+25960+(J<<2)>>2]&255](K,Q,g+28560|0,L);break}j=(n|0)==0;k=g+28560|0;l=f+144|0;i=0;while(1){if((i|0)==16)break h;m=i<<4;if(!(a[(d[150645+i>>0]|0)+(g+27824)>>0]|0)){if(j)h=e[g+28560+(m<<1)>>1]|0;else h=c[k+(m<<2)>>2]|0;if(h|0)U=183}else U=183;if((U|0)==183){U=0;Uc[c[l>>2]&1023](K+(c[Q+(i<<2)>>2]|0)|0,g+28560+(m<<n<<1)|0,L)}i=i+1|0}}while(0);if(c[g+21856>>2]&48|0){c[X>>2]=o;h=X+4|0;c[h>>2]=R;i:do if(P){if((G?(c[(c[S>>2]|0)+4>>2]|0)==244:0)?(N=g+21656|0,O=c[N>>2]|0,(O+-1|0)>>>0<2):0){Vc[c[f+25948+(O<<2)>>2]&255](o,Q+64|0,g+28560+(256<<c[V>>2]<<1)|0,W);Vc[c[f+25948+(c[N>>2]<<2)>>2]&255](c[h>>2]|0,Q+128|0,g+28560+(512<<c[V>>2]<<1)|0,W);break}p=c[f+144>>2]|0;q=g+28560|0;o=1;while(1){if((o|0)==3)break i;j=o<<4;m=j|4;r=X+(o+-1<<2)|0;i=j;while(1){if((i|0)>=(m|0))break;k=c[V>>2]|0;l=i<<4;if(!(a[(d[150645+i>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)U=211}else U=211;if((U|0)==211){U=0;Uc[p&1023]((c[r>>2]|0)+(c[Q+(i<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}j:do if(T){n=j|8;i=m;while(1){if((i|0)>=(n|0))break j;j=i+4|0;k=c[V>>2]|0;l=i<<4;if(!(a[(d[150645+j>>0]|0)+(g+27824)>>0]|0)){if(!k)h=e[g+28560+(l<<1)>>1]|0;else h=c[q+(l<<2)>>2]|0;if(h|0)U=221}else U=221;if((U|0)==221){U=0;Uc[p&1023]((c[r>>2]|0)+(c[Q+(j<<2)>>2]|0)|0,g+28560+(l<<k<<1)|0,W)}i=i+1|0}}while(0);o=o+1|0}}else{h=c[g+852>>2]|0;if(T){i=(c[g+856>>2]|0)+3|0;h=h+3|0}else i=c[g+856>>2]|0;if(a[g+27864>>0]|0)Tc[c[f+136>>2]&255](g+28560+(256<<c[V>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?1:4)<<2)>>2]|0)+(h<<6)>>2]|0);if(a[g+27904>>0]|0)Tc[c[f+136>>2]&255](g+28560+(512<<c[V>>2]<<1)|0,c[(c[(c[f+28212>>2]|0)+173788+((G?2:5)<<2)>>2]|0)+(i<<6)>>2]|0);Wc[c[f+124>>2]&127](X,Q,g+28560|0,W,g+27824|0)}while(0)}}else{h=c[S>>2]|0;m=c[h+1184>>2]|0;if(!(c[V>>2]|0)){i=g+27780|0;h=0;while(1){if((h|0)==16)break;j=K+(H(h,L)|0)|0;k=(c[i>>2]|0)+(h<<4)|0;l=j+16|0;do{a[j>>0]=a[k>>0]|0;j=j+1|0;k=k+1|0}while((j|0)<(l|0));h=h+1|0}if(!(c[(c[S>>2]|0)+12>>2]|0)){i=1<<m+-1&255;h=0;while(1){if((h|0)==8)break c;$=H(h,W)|0;yW(o+$|0,i|0,8)|0;yW(R+$|0,i|0,8)|0;h=h+1|0}}else{i=(c[i>>2]|0)+256|0;j=i+(t<<3)|0;h=0;while(1){if((h|0)>=(t|0))break c;$=H(h,W)|0;_=h<<3;Z=i+_|0;V=Z;V=d[V>>0]|d[V+1>>0]<<8|d[V+2>>0]<<16|d[V+3>>0]<<24;Z=Z+4|0;Z=d[Z>>0]|d[Z+1>>0]<<8|d[Z+2>>0]<<16|d[Z+3>>0]<<24;X=o+$|0;g=X;a[g>>0]=V;a[g+1>>0]=V>>8;a[g+2>>0]=V>>16;a[g+3>>0]=V>>24;X=X+4|0;a[X>>0]=Z;a[X+1>>0]=Z>>8;a[X+2>>0]=Z>>16;a[X+3>>0]=Z>>24;_=j+_|0;X=_;X=d[X>>0]|d[X+1>>0]<<8|d[X+2>>0]<<16|d[X+3>>0]<<24;_=_+4|0;_=d[_>>0]|d[_+1>>0]<<8|d[_+2>>0]<<16|d[_+3>>0]<<24;$=R+$|0;Z=$;a[Z>>0]=X;a[Z+1>>0]=X>>8;a[Z+2>>0]=X>>16;a[Z+3>>0]=X>>24;$=$+4|0;a[$>>0]=_;a[$+1>>0]=_>>8;a[$+2>>0]=_>>16;a[$+3>>0]=_>>24;h=h+1|0}}}fk(X,c[g+27780>>2]|0,H(m,e[114516+(c[h+12>>2]<<1)>>1]|0)|0);i=0;while(1){if((i|0)==16)break;j=K+(H(i,L)|0)|0;h=0;while(1){if((h|0)==16)break;b[j+(h<<1)>>1]=gk(X,m)|0;h=h+1|0}i=i+1|0}k:do if(!(c[(c[S>>2]|0)+12>>2]|0)){j=1<<m+-1&65535;i=0;while(1){if((i|0)>=(t|0))break k;l=H(i,W)|0;k=o+l|0;l=R+l|0;h=0;while(1){if((h|0)==8)break;b[l+(h<<1)>>1]=j;b[k+(h<<1)>>1]=j;h=h+1|0}i=i+1|0}}else{i=0;while(1){if((i|0)>=(t|0)){i=0;break}j=o+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=gk(X,m)|0;h=h+1|0}i=i+1|0}while(1){if((i|0)>=(t|0))break k;j=R+(H(i,W)|0)|0;h=0;while(1){if((h|0)==8)break;b[j+(h<<1)>>1]=gk(X,m)|0;h=h+1|0}i=i+1|0}}while(0)}while(0);Ec=Y;return}function fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return}function gk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function hk(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)jk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Uc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Uc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;nk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);nk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;nk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);nk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;nk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);nk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;nk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);nk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;nk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else nk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else nk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Uc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Uc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function ik(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)jk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){B=q<<24>>24;y=f+21788|0;x=c[y>>2]|0;A=(x<<4|8)+(b[f+28e3>>1]>>2)|0;C=(b[f+28002>>1]>>2)+(c[f+21792>>2]<<4)|0;x=(A<<p)+(64<<p)+(H(C+(x<<2&12)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;Uc[c[z>>2]&1023]((c[f+23416+(B*40|0)>>2]|0)+x|0,c[f+21772>>2]|0,4);A=(H((c[y>>2]&7)+(C>>1)|0,c[f+21776>>2]|0)|0)+((A>>1)+64<<p)|0;C=c[f+23416+(B*40|0)+4>>2]|0;Uc[c[z>>2]&1023](C+A|0,(c[f+23416+(B*40|0)+8>>2]|0)-C|0,2)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;kk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);kk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}w=f+21780|0;if(D&32|0){x=j+64|0;y=k+4|0;z=l+64|0;A=m+4|0;B=n+4|0;C=o+4|0;kk(d,f,0,0,16,c[w>>2]<<3,g,h,i,0,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&4096,D&16384);kk(d,f,4,0,16,c[w>>2]<<3,g,h,i,4,0,x,c[y>>2]|0,z,c[A>>2]|0,B,C,D&8192,D&32768);break}x=j+128|0;y=k+8|0;z=l+128|0;A=m+8|0;B=n+8|0;C=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;kk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);kk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,x,c[v>>2]|0,z,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;kk(d,f,n,0,8,c[w>>2]<<2,g,h,i,o,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);kk(d,f,n|1,0,8,c[w>>2]<<2,g,h,i,o|2,j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;kk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,x,c[y>>2]|0,z,c[A>>2]|0,B,C,l,q);p=p+1|0}}else kk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else kk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){h=F<<24>>24;F=f+21788|0;D=c[F>>2]|0;G=(D<<4|8)+(b[f+28160>>1]>>2)|0;i=(b[f+28162>>1]>>2)+(c[f+21792>>2]<<4)|0;D=(G<<E)+(64<<E)+(H(i+(D<<2&12)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;Uc[c[g>>2]&1023]((c[f+25336+(h*40|0)>>2]|0)+D|0,c[f+21772>>2]|0,4);G=(H((c[F>>2]&7)+(i>>1)|0,c[f+21776>>2]|0)|0)+((G>>1)+64<<E)|0;i=c[f+25336+(h*40|0)+4>>2]|0;Uc[c[g>>2]&1023](i+G|0,(c[f+25336+(h*40|0)+8>>2]|0)-i|0,2)}return}function jk(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Ec;Ec=Ec+208|0;s=u+8|0;t=u;f=c[(c[a+24364>>2]|0)+(c[d+21796>>2]<<2)>>2]|0;r=t;c[r>>2]=0;c[r+4>>2]=0;yW(s|0,-1,192)|0;a:do if(!(f&8)){if(f&16|0){lk(a,d,s,0,8,0,f&4096,f&16384,t);lk(a,d,s,8,8,8,f&8192,f&32768,t);break}if(f&32|0){lk(a,d,s,0,16,0,f&4096,f&16384,t);lk(a,d,s,4,16,0,f&8192,f&32768,t);break}g=0;while(1){if((g|0)==4)break a;f=e[d+28552+(g<<1)>>1]|0;h=g<<2;i=h&8;b:do if(!(f&8)){if(f&16|0){q=f&4096;r=f&16384;lk(a,d,s,h,4,i,q,r,t);lk(a,d,s,h|2,4,i|4,q,r,t);break}j=f&4096;k=f&16384;if(!(f&32))f=0;else{lk(a,d,s,h,8,i,j,k,t);lk(a,d,s,h|1,8,i,j,k,t);break}while(1){if((f|0)==4)break b;lk(a,d,s,f+h|0,4,f<<1&4|i,j,k,t);f=f+1|0}}else lk(a,d,s,h,8,i,f&4096,f&16384,t);while(0);g=g+1|0}}else lk(a,d,s,0,16,0,f&4096,f&16384,t);while(0);q=a+27008|0;r=d+21832|0;p=a+26380|0;f=c[d+23412>>2]|0;c:while(1){f=f+-1|0;if((f|0)<=-1)break;n=t+(f<<2)|0;m=0;while(1){if((m|0)>=48)continue c;h=c[n>>2]|0;if(!h)continue c;g=b[s+(f*96|0)+(m<<1)>>1]|0;do if(g<<16>>16>-1){o=(c[d+23416+(f*1920|0)+(m*40|0)+24>>2]|0)+-1|0;i=d+23416+(f*1920|0)+(m*40|0)+36|0;j=c[i>>2]|0;v=c[j+636>>2]|0;l=c[q>>2]<<4>>v;k=g<<16>>16<<c[r>>2];c[n>>2]=h+-1;a=(c[p>>2]|0)==3;g=(v|0)!=0;if(g&a){v=k>>1;a=v-(k&1^1)|0;o=l+-1|0;Zh(j+4|0,(a|0)<(l|0)?a:o,1);Zh((c[i>>2]|0)+4|0,(v|0)>(o|0)?o:v,0);break}h=j+4|0;if(!(g|a)){v=(k<<1)+o|0;Zh(h,(v|0)<(l|0)?v:l+-1|0,0);break}g=l+-1|0;g=(k|0)>(g|0)?g:k;if(a){Zh(h,g,0);break}else{Zh(h,g,o);break}}while(0);m=m+1|0}}Ec=u;return}function kk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;N=f+880|0;x=c[N>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){V=d[150645+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+V>>0]|0)*384|0)+(a[f+28312+V>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=44;else{P=x;x=5}}else if((x|0)==1){y=f+21792|0;P=y;y=c[y>>2]|0;x=5}else x=44;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;L=c[u>>2]|0;K=c[u+4>>2]|0;O=c[e+25664>>2]|0;V=f+21780|0;s=c[V>>2]|0;S=k+((H(o<<1,s)|0)+(n<<1<<O))|0;T=i>>1;U=f+21784|0;x=c[U>>2]|0;Q=(H(x,o)|0)+(n<<O)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;M=f+21828|0;n=c[M>>2]|0;y=(y>>n<<3)+o|0;if(!(z&A)){B=A&1;z=d[150645+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;k=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;v=z<<2&12|k&3;x=k>>2;y=z>>2;t=(H(y,s)|0)+(x<<O)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;u=m<<4;A=c[e+27008>>2]<<4>>n;n=k&7;N=(n|0)==0?0:-3;g=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(y|0)<(0-g|0))?(x+16|0)<=(N+u|0):0)?(y+16|0)<=(A+g|0):0){l=0;y=s}else{g=f+27792|0;l=2<<O;_c[c[e+8>>2]&3](c[g>>2]|0,t+(0-l)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+l+(y<<1)|0;l=1}x=p+(v<<2)|0;Uc[c[x>>2]&1023](S,t,y);if(!h)Uc[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){z=(1-(c[f+23416+(B*1920|0)+(o*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(A>>1|0)}k=k>>3;v=k<<O;y=z>>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+v+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+v+x|0;v=f+27792|0;if(!l){y=z&7;Xc[q&63](R,u,t,T,n,y)}else{j=A>>1;h=m<<3;O=e+8|0;_c[c[O>>2]&3](c[v>>2]|0,u,t,t,9,9,k,y,h,j);e=z&7;Xc[q&63](R,c[v>>2]|0,c[U>>2]|0,T,n,e);P=c[U>>2]|0;_c[c[O>>2]&3](c[v>>2]|0,x,P,P,9,9,k,y,h,j);x=c[v>>2]|0;y=e}Xc[q&63](Q,x,c[U>>2]|0,T,n,y);Xc[D&63](S,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;i=f+892|0;Xc[C&63](R,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Xc[C&63](Q,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}I=c[f+27788>>2]|0;J=I+(16<<O)|0;G=I+(x<<4)|0;C=d[150645+g>>0]|0;w=a[f+28272+C>>0]|0;F=a[f+28312+C>>0]|0;o=t<<3;z=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;l=B+(b[f+27952+(C<<2)+2>>1]|0)|0;v=l<<2&12|z&3;x=z>>2;y=l>>2;t=(H(y,s)|0)+(x<<O)|0;t=(c[f+23416+(w*40|0)>>2]|0)+t|0;E=e+27012|0;m=c[E>>2]|0;u=m<<4;r=e+27008|0;A=c[r>>2]<<4>>n;n=z&7;D=(n|0)==0?0:-3;g=(l&7|0)==0?0:-3;if((!((x|0)<(0-D|0)|(y|0)<(0-g|0))?(x+16|0)<=(D+u|0):0)?(y+16|0)<=(A+g|0):0){k=0;y=s}else{g=f+27792|0;k=2<<O;_c[c[e+8>>2]&3](c[g>>2]|0,t+(0-k)+(0-(s<<1))|0,s,s,21,21,x+-2|0,y+-2|0,u,A);y=c[V>>2]|0;t=(c[g>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Uc[c[x>>2]&1023](S,t,y);D=(h|0)!=0;if(!D)Uc[c[x>>2]&1023](S+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+23416+(w*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;h=l>>3;k=h>>>31|k|(h+8|0)>=(A>>1|0)}y=z>>3;s=y<<O;t=l>>3;u=c[U>>2]|0;x=H(u,t)|0;v=(c[f+23416+(w*40|0)+4>>2]|0)+s+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+s+x|0;s=f+27792|0;if(!k){y=l&7;Xc[q&63](R,v,u,T,n,y)}else{g=A>>1;m=m<<3;z=e+8|0;_c[c[z>>2]&3](c[s>>2]|0,v,u,u,9,9,y,t,m,g);h=l&7;Xc[q&63](R,c[s>>2]|0,c[U>>2]|0,T,n,h);A=c[U>>2]|0;_c[c[z>>2]&3](c[s>>2]|0,x,A,A,9,9,y,t,m,g);x=c[s>>2]|0;y=h}Xc[q&63](Q,x,c[U>>2]|0,T,n,y);A=o+(b[f+28112+(C<<2)>>1]|0)|0;l=B+(b[f+28112+(C<<2)+2>>1]|0)|0;z=l<<2&12|A&3;u=A>>2;v=l>>2;y=c[V>>2]|0;t=(H(v,y)|0)+(u<<O)|0;t=(c[f+25336+(F*40|0)>>2]|0)+t|0;n=c[E>>2]|0;x=n<<4;m=c[r>>2]<<4>>c[M>>2];o=A&7;g=(o|0)==0?0:-3;h=(l&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(v|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(v+16|0)<=(m+h|0):0)k=0;else{k=2<<O;_c[c[e+8>>2]&3](c[s>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,x,m);y=c[V>>2]|0;t=(c[s>>2]|0)+k+(y<<1)|0;k=1}x=p+(z<<2)|0;Uc[c[x>>2]&1023](G,t,y);if(!D)Uc[c[x>>2]&1023](G+j|0,t+j|0,c[V>>2]|0);if(c[M>>2]|0){l=(1-(c[f+25336+(F*40|0)+24>>2]|0)+(c[P>>2]&1)<<1)+l|0;j=l>>3;k=j>>>31|k|(j+8|0)>=(m>>1|0)}v=A>>3;j=v<<O;y=l>>3;t=c[U>>2]|0;x=H(t,y)|0;u=(c[f+25336+(F*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(F*40|0)+8>>2]|0)+j+x|0;if(!k){y=l&7;Xc[q&63](I,u,t,T,o,y)}else{j=m>>1;h=n<<3;g=e+8|0;_c[c[g>>2]&3](c[s>>2]|0,u,t,t,9,9,v,y,h,j);e=l&7;Xc[q&63](I,c[s>>2]|0,c[U>>2]|0,T,o,e);O=c[U>>2]|0;_c[c[g>>2]&3](c[s>>2]|0,x,O,O,9,9,v,y,h,j);x=c[s>>2]|0;y=e}Xc[q&63](J,x,c[U>>2]|0,T,o,y);if((c[N>>2]|0)==2){e=c[f+3216+(w*384|0)+(F<<3)+((c[P>>2]&1)<<2)>>2]|0;f=64-e|0;Yc[L&31](S,G,c[V>>2]|0,i,5,e,f,0);Yc[K&31](R,I,c[U>>2]|0,T,5,e,f,0);Yc[K&31](Q,J,c[U>>2]|0,T,5,e,f,0);break}else{Yc[L&31](S,G,c[V>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(F<<4)+8>>2]|0,(c[f+912+(F<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);i=f+892|0;Yc[K&31](R,I,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(F<<5)+16>>2]|0,(c[f+1680+(F<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);Yc[K&31](Q,J,c[U>>2]|0,T,c[i>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(F<<5)+24>>2]|0,(c[f+1680+(F<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==44){K=c[e+25664>>2]|0;J=f+21780|0;y=c[J>>2]|0;I=k+((H(o<<1,y)|0)+(n<<1<<K))|0;N=f+21784|0;M=(H(c[N>>2]|0,o)|0)+(n<<K)|0;L=l+M|0;M=m+M|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21792|0;G=f+21828|0;x=c[G>>2]|0;E=(c[F>>2]>>x<<3)+o|0;if(v){z=d[150645+g>>0]|0;n=a[f+28272+z>>0]|0;m=(D<<3)+(b[f+27952+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+27952+(z<<2)+2>>1]|0)|0;A=z<<2&12|m&3;u=m>>2;v=z>>2;t=(H(v,y)|0)+(u<<K)|0;t=(c[f+23416+(n*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;k=B<<4;o=c[e+27008>>2]<<4>>x;C=m&7;U=(C|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((u|0)<(0-U|0)|(v|0)<(0-V|0))?(u+16|0)<=(U+k|0):0)?(v+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<K;_c[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,u+-2|0,v+-2|0,k,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(A<<2)|0;Uc[c[x>>2]&1023](I,t,y);if(!h)Uc[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+23416+(n*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;V=z>>3;l=V>>>31|l|(V+8|0)>=(o>>1|0)}t=m>>3;y=t<<K;u=z>>3;v=c[N>>2]|0;x=H(v,u)|0;k=(c[f+23416+(n*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(n*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Xc[q&63](L,k,v,y,C,t)}else{T=o>>1;S=B<<3;Q=e+8|0;_c[c[Q>>2]&3](c[y>>2]|0,k,v,v,9,9,t,u,S,T);U=i>>1;V=z&7;Xc[q&63](L,c[y>>2]|0,c[N>>2]|0,U,C,V);R=c[N>>2]|0;_c[c[Q>>2]&3](c[y>>2]|0,x,R,R,9,9,t,u,S,T);x=c[y>>2]|0;y=U;t=V}Xc[q&63](M,x,c[N>>2]|0,y,C,t);q=s;p=r}if(w|0){z=d[150645+g>>0]|0;m=a[f+28312+z>>0]|0;A=(D<<3)+(b[f+28112+(z<<2)>>1]|0)|0;z=(E<<3)+(b[f+28112+(z<<2)+2>>1]|0)|0;k=z<<2&12|A&3;x=A>>2;u=z>>2;y=c[J>>2]|0;t=(H(u,y)|0)+(x<<K)|0;t=(c[f+25336+(m*40|0)>>2]|0)+t|0;n=c[e+27012>>2]|0;v=n<<4;o=c[e+27008>>2]<<4>>c[G>>2];B=A&7;U=(B|0)==0?0:-3;V=(z&7|0)==0?0:-3;if((!((x|0)<(0-U|0)|(u|0)<(0-V|0))?(x+16|0)<=(v+U|0):0)?(u+16|0)<=(o+V|0):0)l=0;else{V=f+27792|0;l=2<<K;_c[c[e+8>>2]&3](c[V>>2]|0,t+(0-l)+(0-(y<<1))|0,y,y,21,21,x+-2|0,u+-2|0,v,o);y=c[J>>2]|0;t=(c[V>>2]|0)+l+(y<<1)|0;l=1}x=p+(k<<2)|0;Uc[c[x>>2]&1023](I,t,y);if(!h)Uc[c[x>>2]&1023](I+j|0,t+j|0,c[J>>2]|0);if(c[G>>2]|0){z=(1-(c[f+25336+(m*40|0)+24>>2]|0)+(c[F>>2]&1)<<1)+z|0;j=z>>3;l=j>>>31|l|(j+8|0)>=(o>>1|0)}k=A>>3;y=k<<K;t=z>>3;u=c[N>>2]|0;x=H(u,t)|0;v=(c[f+25336+(m*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(m*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!l){y=i>>1;t=z&7;Xc[q&63](L,v,u,y,B,t)}else{j=o>>1;h=n<<3;V=e+8|0;_c[c[V>>2]&3](c[y>>2]|0,v,u,u,9,9,k,t,h,j);f=i>>1;i=z&7;Xc[q&63](L,c[y>>2]|0,c[N>>2]|0,f,B,i);e=c[N>>2]|0;_c[c[V>>2]&3](c[y>>2]|0,x,e,e,9,9,k,t,h,j);x=c[y>>2]|0;y=f;t=i}Xc[q&63](M,x,c[N>>2]|0,y,B,t)}}while(0);return}function lk(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0;o=(c[f+21792>>2]>>c[f+21828>>2]<<4)+j|0;do if(k|0){j=a[(d[150645+h>>0]|0)+(f+28272)>>0]|0;if((c[(c[(c[f+23416+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+23416+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=mk(f,h,i,o,0)|0;j=g+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0)c[m>>2]=(c[m>>2]|0)+1;k=k<<16>>16;b[j>>1]=(n|0)<(k|0)?k:n}while(0);do if(l|0){j=a[(d[150645+h>>0]|0)+(f+28312)>>0]|0;if((c[(c[(c[f+25336+(j*40|0)+36>>2]|0)+16>>2]|0)+4>>2]|0)==(c[(c[e+24332>>2]|0)+4>>2]|0)?(c[f+25336+(j*40|0)+24>>2]&3|0)==(c[e+26380>>2]|0):0)break;n=mk(f,h,i,o,1)|0;j=g+96+(j<<1)|0;k=b[j>>1]|0;if(k<<16>>16<0){m=m+4|0;c[m>>2]=(c[m>>2]|0)+1}m=k<<16>>16;b[j>>1]=(n|0)<(m|0)?m:n}while(0);return}function mk(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;g=b[a+27952+(g*160|0)+(d[150645+c>>0]<<2)+2>>1]|0;g=f+e+(g>>2)+(g&3|0?3:0)|0;return ((g|0)>0?g:0)|0}function nk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;O=f+880|0;x=c[O>>2]|0;z=(v|0)!=0;A=(w|0)!=0;if(A&(z&(x|0)==2)){U=d[150645+g>>0]|0;x=f+21792|0;y=c[x>>2]|0;if((c[f+3216+((a[f+28272+U>>0]|0)*384|0)+(a[f+28312+U>>0]<<3)+((y&1)<<2)>>2]|0)==32)x=38;else{N=x;x=5}}else if((x|0)==1){y=f+21792|0;N=y;y=c[y>>2]|0;x=5}else x=38;do if((x|0)==5){D=c[t>>2]|0;C=c[t+4>>2]|0;M=c[u>>2]|0;L=c[u+4>>2]|0;P=c[e+25664>>2]|0;Q=o<<1;U=f+21780|0;E=c[U>>2]|0;S=k+((H(E,Q)|0)+(n<<1<<P))|0;T=f+21784|0;x=c[T>>2]|0;Q=(H(x,Q)|0)+(n<<P)|0;R=l+Q|0;Q=m+Q|0;t=(c[f+21788>>2]<<3)+n|0;r=f+21828|0;l=c[r>>2]|0;y=(y>>l<<3)+o|0;if(!(z&A)){B=A&1;z=d[150645+g>>0]|0;o=a[f+28272+(B*40|0)+z>>0]|0;v=(t<<3)+(b[f+27952+(B*160|0)+(z<<2)>>1]|0)|0;z=(y<<3)+(b[f+27952+(B*160|0)+(z<<2)+2>>1]|0)|0;u=z<<2&12|v&3;x=v>>2;A=z>>2;t=(H(A,E)|0)+(x<<P)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)>>2]|0)+t|0;m=c[e+27012>>2]|0;y=m<<4;l=c[e+27008>>2]<<4>>l;n=v&7;N=(n|0)==0?0:-3;O=(z&7|0)==0?0:-3;if((!((x|0)<(0-N|0)|(A|0)<(0-O|0))?(x+16|0)<=(N+y|0):0)?(A+16|0)<=(l+O|0):0){k=0;y=E}else{O=f+27792|0;k=2<<P;_c[c[e+8>>2]&3](c[O>>2]|0,t+(0-k)+(0-(E<<1))|0,E,E,21,21,x+-2|0,A+-2|0,y,l);y=c[U>>2]|0;t=(c[O>>2]|0)+k+(y<<1)|0;k=1}x=p+(u<<2)|0;Uc[c[x>>2]&1023](S,t,y);if(!h)Uc[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);v=v>>3;u=v<<P;y=c[T>>2]|0;x=H(y,A)|0;t=(c[f+23416+(B*1920|0)+(o*40|0)+4>>2]|0)+u+x|0;x=(c[f+23416+(B*1920|0)+(o*40|0)+8>>2]|0)+u+x|0;u=f+27792|0;if(!k){e=z<<1&6;Xc[q&63](R,t,y,i,n,e);y=e}else{j=m<<3;h=e+8|0;_c[c[h>>2]&3](c[u>>2]|0,t,y,y,9,17,v,A,j,l);y=z<<1&6;Xc[q&63](R,c[u>>2]|0,c[T>>2]|0,i,n,y);e=c[T>>2]|0;_c[c[h>>2]&3](c[u>>2]|0,x,e,e,9,17,v,A,j,l);x=c[u>>2]|0}Xc[q&63](Q,x,c[T>>2]|0,i,n,y);Xc[D&63](S,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(o<<4)+(B<<3)>>2]|0,c[f+912+(o<<4)+(B<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+892|0;Xc[C&63](R,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)>>2]|0,c[f+1680+(o<<5)+(B<<4)+4>>2]|0);Xc[C&63](Q,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(o<<5)+(B<<4)+8>>2]|0,c[f+1680+(o<<5)+(B<<4)+12>>2]|0);break}J=c[f+27788>>2]|0;K=J+(16<<P)|0;I=J+(x<<4)|0;C=d[150645+g>>0]|0;w=a[f+28272+C>>0]|0;G=a[f+28312+C>>0]|0;o=t<<3;k=o+(b[f+27952+(C<<2)>>1]|0)|0;B=y<<3;m=B+(b[f+27952+(C<<2)+2>>1]|0)|0;u=m<<2&12|k&3;x=k>>2;z=m>>2;y=(H(z,E)|0)+(x<<P)|0;y=(c[f+23416+(w*40|0)>>2]|0)+y|0;D=e+27012|0;A=c[D>>2]|0;t=A<<4;s=e+27008|0;l=c[s>>2]<<4>>l;n=k&7;F=(n|0)==0?0:-3;g=(m&7|0)==0?0:-3;if((!((x|0)<(0-F|0)|(z|0)<(0-g|0))?(x+16|0)<=(F+t|0):0)?(z+16|0)<=(l+g|0):0){t=y;v=0;y=E}else{g=f+27792|0;v=2<<P;_c[c[e+8>>2]&3](c[g>>2]|0,y+(0-v)+(0-(E<<1))|0,E,E,21,21,x+-2|0,z+-2|0,t,l);y=c[U>>2]|0;t=(c[g>>2]|0)+v+(y<<1)|0;v=1}x=p+(u<<2)|0;Uc[c[x>>2]&1023](S,t,y);E=(h|0)!=0;if(!E)Uc[c[x>>2]&1023](S+j|0,t+j|0,c[U>>2]|0);y=k>>3;F=y<<P;t=c[T>>2]|0;x=H(t,z)|0;u=(c[f+23416+(w*40|0)+4>>2]|0)+F+x|0;x=(c[f+23416+(w*40|0)+8>>2]|0)+F+x|0;F=f+27792|0;if(!v){y=m<<1&6;Xc[q&63](R,u,t,i,n,y)}else{g=A<<3;A=e+8|0;_c[c[A>>2]&3](c[F>>2]|0,u,t,t,9,17,y,z,g,l);h=m<<1&6;Xc[q&63](R,c[F>>2]|0,c[T>>2]|0,i,n,h);m=c[T>>2]|0;_c[c[A>>2]&3](c[F>>2]|0,x,m,m,9,17,y,z,g,l);x=c[F>>2]|0;y=h}Xc[q&63](Q,x,c[T>>2]|0,i,n,y);z=o+(b[f+28112+(C<<2)>>1]|0)|0;n=B+(b[f+28112+(C<<2)+2>>1]|0)|0;k=n<<2&12|z&3;u=z>>2;o=n>>2;y=c[U>>2]|0;t=(H(o,y)|0)+(u<<P)|0;t=(c[f+25336+(G*40|0)>>2]|0)+t|0;A=c[D>>2]|0;x=A<<4;l=c[s>>2]<<4>>c[r>>2];m=z&7;g=(m|0)==0?0:-3;h=(n&7|0)==0?0:-3;if((!((u|0)<(0-g|0)|(o|0)<(0-h|0))?(u+16|0)<=(x+g|0):0)?(o+16|0)<=(l+h|0):0)v=0;else{v=2<<P;_c[c[e+8>>2]&3](c[F>>2]|0,t+(0-v)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,x,l);y=c[U>>2]|0;t=(c[F>>2]|0)+v+(y<<1)|0;v=1}x=p+(k<<2)|0;Uc[c[x>>2]&1023](I,t,y);if(!E)Uc[c[x>>2]&1023](I+j|0,t+j|0,c[U>>2]|0);u=z>>3;j=u<<P;y=c[T>>2]|0;x=H(y,o)|0;t=(c[f+25336+(G*40|0)+4>>2]|0)+j+x|0;x=(c[f+25336+(G*40|0)+8>>2]|0)+j+x|0;if(!v){e=n<<1&6;Xc[q&63](J,t,y,i,m,e);y=e}else{j=A<<3;h=e+8|0;_c[c[h>>2]&3](c[F>>2]|0,t,y,y,9,17,u,o,j,l);y=n<<1&6;Xc[q&63](J,c[F>>2]|0,c[T>>2]|0,i,m,y);e=c[T>>2]|0;_c[c[h>>2]&3](c[F>>2]|0,x,e,e,9,17,u,o,j,l);x=c[F>>2]|0}Xc[q&63](K,x,c[T>>2]|0,i,m,y);if((c[O>>2]|0)==2){e=c[f+3216+(w*384|0)+(G<<3)+((c[N>>2]&1)<<2)>>2]|0;f=64-e|0;Yc[M&31](S,I,c[U>>2]|0,i,5,e,f,0);Yc[L&31](R,J,c[T>>2]|0,i,5,e,f,0);Yc[L&31](Q,K,c[T>>2]|0,i,5,e,f,0);break}else{Yc[M&31](S,I,c[U>>2]|0,i,c[f+888>>2]|0,c[f+912+(w<<4)>>2]|0,c[f+912+(G<<4)+8>>2]|0,(c[f+912+(G<<4)+12>>2]|0)+(c[f+912+(w<<4)+4>>2]|0)|0);e=f+892|0;Yc[L&31](R,J,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)>>2]|0,c[f+1680+(G<<5)+16>>2]|0,(c[f+1680+(G<<5)+20>>2]|0)+(c[f+1680+(w<<5)+4>>2]|0)|0);Yc[L&31](Q,K,c[T>>2]|0,i,c[e>>2]|0,c[f+1680+(w<<5)+8>>2]|0,c[f+1680+(G<<5)+24>>2]|0,(c[f+1680+(G<<5)+28>>2]|0)+(c[f+1680+(w<<5)+12>>2]|0)|0);break}}else if((x|0)==38){J=c[e+25664>>2]|0;L=o<<1;I=f+21780|0;y=c[I>>2]|0;G=k+((H(y,L)|0)+(n<<1<<J))|0;M=f+21784|0;L=(H(c[M>>2]|0,L)|0)+(n<<J)|0;K=l+L|0;L=m+L|0;D=(c[f+21788>>2]<<3)+n|0;F=f+21828|0;x=c[F>>2]|0;E=(c[f+21792>>2]>>x<<3)+o|0;if(v){n=d[150645+g>>0]|0;A=a[f+28272+n>>0]|0;l=(D<<3)+(b[f+27952+(n<<2)>>1]|0)|0;n=(E<<3)+(b[f+27952+(n<<2)+2>>1]|0)|0;k=n<<2&12|l&3;u=l>>2;o=n>>2;t=(H(o,y)|0)+(u<<J)|0;t=(c[f+23416+(A*40|0)>>2]|0)+t|0;B=c[e+27012>>2]|0;v=B<<4;m=c[e+27008>>2]<<4>>x;C=l&7;T=(C|0)==0?0:-3;U=(n&7|0)==0?0:-3;if((!((u|0)<(0-T|0)|(o|0)<(0-U|0))?(u+16|0)<=(T+v|0):0)?(o+16|0)<=(m+U|0):0)z=0;else{U=f+27792|0;z=2<<J;_c[c[e+8>>2]&3](c[U>>2]|0,t+(0-z)+(0-(y<<1))|0,y,y,21,21,u+-2|0,o+-2|0,v,m);y=c[I>>2]|0;t=(c[U>>2]|0)+z+(y<<1)|0;z=1}x=p+(k<<2)|0;Uc[c[x>>2]&1023](G,t,y);if(!h)Uc[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);t=l>>3;y=t<<J;u=c[M>>2]|0;x=H(u,o)|0;v=(c[f+23416+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+23416+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!z){y=n<<1&6;Xc[q&63](K,v,u,i,C,y)}else{T=B<<3;R=e+8|0;_c[c[R>>2]&3](c[y>>2]|0,v,u,u,9,17,t,o,T,m);U=n<<1&6;Xc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,C,U);S=c[M>>2]|0;_c[c[R>>2]&3](c[y>>2]|0,x,S,S,9,17,t,o,T,m);x=c[y>>2]|0;y=U}Xc[q&63](L,x,c[M>>2]|0,i,C,y);q=s;p=r}if(w|0){m=d[150645+g>>0]|0;A=a[f+28312+m>>0]|0;l=(D<<3)+(b[f+28112+(m<<2)>>1]|0)|0;m=(E<<3)+(b[f+28112+(m<<2)+2>>1]|0)|0;v=m<<2&12|l&3;x=l>>2;n=m>>2;y=c[I>>2]|0;t=(H(n,y)|0)+(x<<J)|0;t=(c[f+25336+(A*40|0)>>2]|0)+t|0;o=c[e+27012>>2]|0;u=o<<4;z=c[e+27008>>2]<<4>>c[F>>2];B=l&7;T=(B|0)==0?0:-3;U=(m&7|0)==0?0:-3;if((!((x|0)<(0-T|0)|(n|0)<(0-U|0))?(x+16|0)<=(u+T|0):0)?(n+16|0)<=(z+U|0):0)k=0;else{U=f+27792|0;k=2<<J;_c[c[e+8>>2]&3](c[U>>2]|0,t+(0-k)+(0-(y<<1))|0,y,y,21,21,x+-2|0,n+-2|0,u,z);y=c[I>>2]|0;t=(c[U>>2]|0)+k+(y<<1)|0;k=1}x=p+(v<<2)|0;Uc[c[x>>2]&1023](G,t,y);if(!h)Uc[c[x>>2]&1023](G+j|0,t+j|0,c[I>>2]|0);v=l>>3;y=v<<J;t=c[M>>2]|0;x=H(t,n)|0;u=(c[f+25336+(A*40|0)+4>>2]|0)+y+x|0;x=(c[f+25336+(A*40|0)+8>>2]|0)+y+x|0;y=f+27792|0;if(!k){y=m<<1&6;Xc[q&63](K,u,t,i,B,y)}else{j=o<<3;h=e+8|0;_c[c[h>>2]&3](c[y>>2]|0,u,t,t,9,17,v,n,j,z);f=m<<1&6;Xc[q&63](K,c[y>>2]|0,c[M>>2]|0,i,B,f);e=c[M>>2]|0;_c[c[h>>2]&3](c[y>>2]|0,x,e,e,9,17,v,n,j,z);x=c[y>>2]|0;y=f}Xc[q&63](L,x,c[M>>2]|0,i,B,y)}}while(0);return}function ok(d,f,g,h,i,j,k,l,m,n,o){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=c[(c[d+24364>>2]|0)+(c[f+21796>>2]<<2)>>2]|0;if(c[(c[d+4>>2]|0)+696>>2]&1|0)jk(d,f);G=d+25664|0;p=c[G>>2]|0;q=a[f+28284>>0]|0;if(q<<24>>24>-1){A=q<<24>>24;B=c[f+21788>>2]|0;B=((B<<4|8)+(b[f+28e3>>1]>>2)<<p)+(64<<p)+(H((c[f+21792>>2]<<4|B<<2&12)+(b[f+28002>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;z=d+12|0;C=f+21772|0;Uc[c[z>>2]&1023]((c[f+23416+(A*40|0)>>2]|0)+B|0,c[C>>2]|0,4);Uc[c[z>>2]&1023]((c[f+23416+(A*40|0)+4>>2]|0)+B|0,c[C>>2]|0,4);Uc[c[z>>2]&1023]((c[f+23416+(A*40|0)+8>>2]|0)+B|0,c[C>>2]|0,4)}a:do if(!(D&8)){if(D&16|0){B=j+64|0;C=l+64|0;pk(d,f,0,0,8,8<<c[G>>2],g,h,i,0,0,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&4096,D&16384);pk(d,f,8,0,8,8<<c[G>>2],g,h,i,0,4,B,c[k>>2]|0,C,c[m>>2]|0,n,o,D&8192,D&32768);break}A=f+21780|0;if(D&32|0){w=j+64|0;x=k+4|0;y=l+64|0;z=m+4|0;B=n+4|0;C=o+4|0;pk(d,f,0,0,16,c[A>>2]<<3,g,h,i,0,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&4096,D&16384);pk(d,f,4,0,16,c[A>>2]<<3,g,h,i,4,0,w,c[x>>2]|0,y,c[z>>2]|0,B,C,D&8192,D&32768);break}B=j+128|0;C=k+8|0;w=l+128|0;x=m+8|0;y=n+8|0;z=o+8|0;v=k+4|0;u=m+4|0;t=n+4|0;s=o+4|0;r=j+64|0;m=l+64|0;k=0;while(1){if((k|0)==4)break a;p=e[f+28552+(k<<1)>>1]|0;n=k<<2;o=n&4;j=k<<1&4;b:do if(!(p&8)){if(p&16|0){q=p&4096;l=p&16384;pk(d,f,n,0,4,4<<c[G>>2],g,h,i,o,j,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);pk(d,f,n|2,0,4,4<<c[G>>2],g,h,i,o,j|2,B,c[v>>2]|0,w,c[u>>2]|0,t,s,q,l);break}if(p&32|0){q=p&4096;l=p&16384;pk(d,f,n,0,8,c[A>>2]<<2,g,h,i,o,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);pk(d,f,n|1,0,8,c[A>>2]<<2,g,h,i,o|2,j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,q,l);break}l=p&4096;q=p&16384;p=0;while(1){if((p|0)==4)break b;pk(d,f,p+n|0,1,4,0,g,h,i,p<<1&2|o,p&2|j,B,c[C>>2]|0,w,c[x>>2]|0,y,z,l,q);p=p+1|0}}else pk(d,f,n,1,8,0,g,h,i,o,j,r,c[v>>2]|0,m,c[u>>2]|0,t,s,p&4096,p&16384);while(0);k=k+1|0}}else pk(d,f,0,1,16,0,g,h,i,0,0,j,c[k>>2]|0,l,c[m>>2]|0,n,o,D&4096,D&16384);while(0);if(D&49152|0?(E=c[G>>2]|0,F=a[f+28324>>0]|0,F<<24>>24>-1):0){G=F<<24>>24;h=c[f+21788>>2]|0;h=((h<<4|8)+(b[f+28160>>1]>>2)<<E)+(64<<E)+(H((c[f+21792>>2]<<4|h<<2&12)+(b[f+28162>>1]>>2)|0,c[f+21780>>2]|0)|0)|0;g=d+12|0;i=f+21772|0;Uc[c[g>>2]&1023]((c[f+25336+(G*40|0)>>2]|0)+h|0,c[i>>2]|0,4);Uc[c[g>>2]&1023]((c[f+25336+(G*40|0)+4>>2]|0)+h|0,c[i>>2]|0,4);Uc[c[g>>2]&1023]((c[f+25336+(G*40|0)+8>>2]|0)+h|0,c[i>>2]|0,4)}return}function pk(e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;var x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;L=f+880|0;q=c[L>>2]|0;x=(v|0)!=0;y=(w|0)!=0;if(y&(x&(q|0)==2)){Q=d[150645+g>>0]|0;q=f+21792|0;s=c[q>>2]|0;if((c[f+3216+((a[f+28272+Q>>0]|0)*384|0)+(a[f+28312+Q>>0]<<3)+((s&1)<<2)>>2]|0)==32)q=59;else{K=q;q=5}}else if((q|0)==1){s=f+21792|0;K=s;s=c[s>>2]|0;q=5}else q=59;do if((q|0)==5){z=c[t>>2]|0;J=c[u>>2]|0;M=c[e+25664>>2]|0;Q=f+21780|0;w=c[Q>>2]|0;N=(H(o<<1,w)|0)+(n<<1<<M)|0;P=k+N|0;O=l+N|0;N=m+N|0;t=(c[f+21788>>2]<<3)+n|0;B=f+21828|0;u=c[B>>2]|0;q=(s>>u<<3)+o|0;if(!(x&y)){o=y&1;L=d[150645+g>>0]|0;n=a[f+28272+(o*40|0)+L>>0]|0;K=(t<<3)+(b[f+27952+(o*160|0)+(L<<2)>>1]|0)|0;L=(q<<3)+(b[f+27952+(o*160|0)+(L<<2)+2>>1]|0)|0;t=L<<2&12|K&3;y=K>>2;l=L>>2;v=(H(l,w)|0)+(y<<M)|0;q=(c[f+23416+(o*1920|0)+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>u;K=(K&7|0)==0?0:-3;L=(L&7|0)==0?0:-3;if((!((y|0)<(0-K|0)|(l|0)<(0-L|0))?(y+16|0)<=(K+m|0):0)?(l+16|0)<=(k+L|0):0){u=0;s=w}else{L=f+27792|0;u=2<<M;_c[c[e+8>>2]&3](c[L>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Uc[c[x>>2]&1023](P,q,s);p=(h|0)!=0;if(!p)Uc[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[x>>2]&1023](O,q,s);if(!p)Uc[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(o*1920|0)+(n*40|0)+8>>2]|0)+v|0;if(t){L=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[L>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[Q>>2]|0;q=(c[L>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[x>>2]&1023](N,q,s);if(!p)Uc[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);Xc[z&63](P,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(n<<4)+(o<<3)>>2]|0,c[f+912+(n<<4)+(o<<3)+4>>2]|0);if(!(c[f+884>>2]|0))break;e=f+21784|0;j=f+892|0;Xc[z&63](O,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)>>2]|0,c[f+1680+(n<<5)+(o<<4)+4>>2]|0);Xc[z&63](N,c[e>>2]|0,i,c[j>>2]|0,c[f+1680+(n<<5)+(o<<4)+8>>2]|0,c[f+1680+(n<<5)+(o<<4)+12>>2]|0);break}E=c[f+27788>>2]|0;F=E+(16<<M)|0;G=f+21784|0;I=E+(c[G>>2]<<4)|0;z=d[150645+g>>0]|0;C=a[f+28272+z>>0]|0;D=a[f+28312+z>>0]|0;o=t<<3;x=o+(b[f+27952+(z<<2)>>1]|0)|0;n=q<<3;g=n+(b[f+27952+(z<<2)+2>>1]|0)|0;t=g<<2&12|x&3;l=x>>2;m=g>>2;k=(H(m,w)|0)+(l<<M)|0;q=(c[f+23416+(C*40|0)>>2]|0)+k|0;A=e+27012|0;y=c[A>>2]<<4;r=e+27008|0;v=c[r>>2]<<4>>u;x=(x&7|0)==0?0:-3;g=(g&7|0)==0?0:-3;if((!((l|0)<(0-x|0)|(m|0)<(0-g|0))?(l+16|0)<=(x+y|0):0)?(m+16|0)<=(v+g|0):0){u=0;s=w}else{g=f+27792|0;u=2<<M;_c[c[e+8>>2]&3](c[g>>2]|0,q+(0-u)+(0-(w<<1))|0,w,w,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Uc[c[x>>2]&1023](P,q,s);w=(h|0)!=0;if(!w)Uc[c[x>>2]&1023](P+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[x>>2]&1023](O,q,s);if(!w)Uc[c[x>>2]&1023](O+j|0,q+j|0,c[Q>>2]|0);q=(c[f+23416+(C*40|0)+8>>2]|0)+k|0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,y,v);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[x>>2]&1023](N,q,s);if(!w)Uc[c[x>>2]&1023](N+j|0,q+j|0,c[Q>>2]|0);g=o+(b[f+28112+(z<<2)>>1]|0)|0;h=n+(b[f+28112+(z<<2)+2>>1]|0)|0;u=h<<2&12|g&3;y=g>>2;l=h>>2;q=c[Q>>2]|0;v=(H(l,q)|0)+(y<<M)|0;s=(c[f+25336+(D*40|0)>>2]|0)+v|0;k=c[A>>2]<<4;x=c[r>>2]<<4>>c[B>>2];g=(g&7|0)==0?0:-3;h=(h&7|0)==0?0:-3;if((!((y|0)<(0-g|0)|(l|0)<(0-h|0))?(y+16|0)<=(k+g|0):0)?(l+16|0)<=(x+h|0):0)t=0;else{h=f+27792|0;t=2<<M;_c[c[e+8>>2]&3](c[h>>2]|0,s+(0-t)+(0-(q<<1))|0,q,q,21,21,y+-2|0,l+-2|0,k,x);q=c[Q>>2]|0;s=(c[h>>2]|0)+t+(q<<1)|0;t=1}u=p+(u<<2)|0;Uc[c[u>>2]&1023](I,s,q);if(!w)Uc[c[u>>2]&1023](I+j|0,s+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+4>>2]|0)+v|0;t=(t|0)!=0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[u>>2]&1023](E,q,s);if(!w)Uc[c[u>>2]&1023](E+j|0,q+j|0,c[Q>>2]|0);q=(c[f+25336+(D*40|0)+8>>2]|0)+v|0;if(t){g=f+27792|0;h=2<<M;s=c[Q>>2]|0;_c[c[e+8>>2]&3](c[g>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,k,x);s=c[Q>>2]|0;q=(c[g>>2]|0)+h+(s<<1)|0}else s=c[Q>>2]|0;Uc[c[u>>2]&1023](F,q,s);if(!w)Uc[c[u>>2]&1023](F+j|0,q+j|0,c[Q>>2]|0);if((c[L>>2]|0)==2){f=c[f+3216+(C*384|0)+(D<<3)+((c[K>>2]&1)<<2)>>2]|0;j=64-f|0;Yc[J&31](P,I,c[Q>>2]|0,i,5,f,j,0);Yc[J&31](O,E,c[G>>2]|0,i,5,f,j,0);Yc[J&31](N,F,c[G>>2]|0,i,5,f,j,0);break}else{Yc[J&31](P,I,c[Q>>2]|0,i,c[f+888>>2]|0,c[f+912+(C<<4)>>2]|0,c[f+912+(D<<4)+8>>2]|0,(c[f+912+(D<<4)+12>>2]|0)+(c[f+912+(C<<4)+4>>2]|0)|0);j=f+892|0;Yc[J&31](O,E,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)>>2]|0,c[f+1680+(D<<5)+16>>2]|0,(c[f+1680+(D<<5)+20>>2]|0)+(c[f+1680+(C<<5)+4>>2]|0)|0);Yc[J&31](N,F,c[G>>2]|0,i,c[j>>2]|0,c[f+1680+(C<<5)+8>>2]|0,c[f+1680+(D<<5)+24>>2]|0,(c[f+1680+(D<<5)+28>>2]|0)+(c[f+1680+(C<<5)+12>>2]|0)|0);break}}else if((q|0)==59){E=c[e+25664>>2]|0;F=f+21780|0;x=c[F>>2]|0;D=(H(o<<1,x)|0)+(n<<1<<E)|0;B=k+D|0;C=l+D|0;D=m+D|0;z=(c[f+21788>>2]<<3)+n|0;A=f+21828|0;s=c[A>>2]|0;o=(c[f+21792>>2]>>s<<3)+o|0;if(v){i=d[150645+g>>0]|0;v=a[f+28272+i>>0]|0;Q=(z<<3)+(b[f+27952+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+27952+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;l=Q>>2;m=i>>2;k=(H(m,x)|0)+(l<<E)|0;q=(c[f+23416+(v*40|0)>>2]|0)+k|0;n=c[e+27012>>2]<<4;y=c[e+27008>>2]<<4>>s;Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((l|0)<(0-Q|0)|(m|0)<(0-i|0))?(l+16|0)<=(Q+n|0):0)?(m+16|0)<=(y+i|0):0){u=0;s=x}else{i=f+27792|0;u=2<<E;_c[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(x<<1))|0,x,x,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Uc[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Uc[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+4>>2]|0)+k|0;t=(u|0)!=0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;_c[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Uc[c[x>>2]&1023](C,q,s);if(!p)Uc[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+23416+(v*40|0)+8>>2]|0)+k|0;if(t){Q=f+27792|0;i=2<<E;s=c[F>>2]|0;_c[c[e+8>>2]&3](c[Q>>2]|0,q+(0-i)+(0-(s<<1))|0,s,s,21,21,l+-2|0,m+-2|0,n,y);s=c[F>>2]|0;q=(c[Q>>2]|0)+i+(s<<1)|0}else s=c[F>>2]|0;Uc[c[x>>2]&1023](D,q,s);if(p)p=r;else{Uc[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0);p=r}}if(w|0){i=d[150645+g>>0]|0;n=a[f+28312+i>>0]|0;Q=(z<<3)+(b[f+28112+(i<<2)>>1]|0)|0;i=(o<<3)+(b[f+28112+(i<<2)+2>>1]|0)|0;t=i<<2&12|Q&3;y=Q>>2;l=i>>2;s=c[F>>2]|0;v=(H(l,s)|0)+(y<<E)|0;q=(c[f+25336+(n*40|0)>>2]|0)+v|0;m=c[e+27012>>2]<<4;k=c[e+27008>>2]<<4>>c[A>>2];Q=(Q&7|0)==0?0:-3;i=(i&7|0)==0?0:-3;if((!((y|0)<(0-Q|0)|(l|0)<(0-i|0))?(y+16|0)<=(m+Q|0):0)?(l+16|0)<=(k+i|0):0)u=0;else{i=f+27792|0;u=2<<E;_c[c[e+8>>2]&3](c[i>>2]|0,q+(0-u)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+u+(s<<1)|0;u=1}x=p+(t<<2)|0;Uc[c[x>>2]&1023](B,q,s);p=(h|0)!=0;if(!p)Uc[c[x>>2]&1023](B+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+4>>2]|0)+v|0;t=(u|0)!=0;if(t){i=f+27792|0;h=2<<E;s=c[F>>2]|0;_c[c[e+8>>2]&3](c[i>>2]|0,q+(0-h)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[i>>2]|0)+h+(s<<1)|0}else s=c[F>>2]|0;Uc[c[x>>2]&1023](C,q,s);if(!p)Uc[c[x>>2]&1023](C+j|0,q+j|0,c[F>>2]|0);q=(c[f+25336+(n*40|0)+8>>2]|0)+v|0;if(t){h=f+27792|0;f=2<<E;s=c[F>>2]|0;_c[c[e+8>>2]&3](c[h>>2]|0,q+(0-f)+(0-(s<<1))|0,s,s,21,21,y+-2|0,l+-2|0,m,k);s=c[F>>2]|0;q=(c[h>>2]|0)+f+(s<<1)|0}else s=c[F>>2]|0;Uc[c[x>>2]&1023](D,q,s);if(!p)Uc[c[x>>2]&1023](D+j|0,q+j|0,c[F>>2]|0)}}while(0);return}function qk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;do if(c[a+26376>>2]|0){j=c[a+27016>>2]|0;h=(H(j,f&-2)|0)+d|0;g=h+-1|0;i=(f&1|0)!=0;if(i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(g<<1)>>1]|0|0):0)g=((c[b+21828>>2]|0)==((c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>7&1|0)?j:0)+g|0;if(!(c[b+21828>>2]|0)){h=(H(j,f+-1|0)|0)+d|0;break}h=h-j|0;if(!i?(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(h<<1)>>1]|0|0):0)h=h-((c[(c[a+24364>>2]|0)+(h<<2)>>2]&128|0)==0?0:j)|0}else{h=c[b+21796>>2]|0;g=h+-1|0;h=h-(c[a+27016>>2]<<((c[a+26380>>2]|0)!=3&1))|0}while(0);i=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)==(e[i+(g<<1)>>1]|0|0))g=(c[(c[a+24364>>2]|0)+(g<<2)>>2]|0)>>>11&1^1;else g=0;if((d|0)==(e[i+(h<<1)>>1]|0|0))g=((c[(c[a+24364>>2]|0)+(h<<2)>>2]|0)>>>11&1^1)+g|0;return uk(b+32856|0,((c[b+840>>2]|0)==3?g+13|0:g)+11+(b+32904)|0)|0}function rk(a,b){a=a|0;b=b|0;var d=0;d=(c[b+21796>>2]|0)-(c[a+27016>>2]<<1)|0;return uk(b+32856|0,b+32974+(((c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&(c[b+832>>2]|0)==(e[(c[a+26372>>2]|0)+(d<<1)>>1]|0|0))+(c[b+21828>>2]&(c[b+21788>>2]|0)!=0))|0)|0}function sk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Ec;Ec=Ec+16|0;w=B+4|0;y=B;z=g+21796|0;A=c[z>>2]|0;c[y>>2]=0;h=(c[f+25972>>2]|0)+(A*48|0)|0;i=h+48|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));v=g+21828|0;if(!(c[v>>2]|0))h=0;else{c[y>>2]=128;h=128}x=g+840|0;if((c[x>>2]|0)==3){h=h|63744;c[y>>2]=h;if(c[g+21844>>2]|0){tk(f,g,h);wk(f,g,h)}Nj(f,g,y);k=c[y>>2]|2048;c[y>>2]=k;h=f+26368|0}else{k=h|14344;c[y>>2]=k;tk(f,g,k);p=c[f+24384>>2]|0;q=c[f+24352>>2]|0;h=f+26368|0;r=c[h>>2]|0;c[g+28284>>2]=0;c[g+28292>>2]=0;c[g+28300>>2]=0;c[g+28308>>2]=0;l=c[g+21740>>2]|0;if(!(l&12288))if(!l)i=0;else{u=181916;s=-1;m=16}else{i=c[g+21720>>2]|0;u=d[c[g+21748>>2]>>0]|0;j=a[p+((u&254)+(i<<2|1))>>0]|0;i=q+((H(r,u)|0)+3+(c[(c[f+26360>>2]|0)+(i<<2)>>2]|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=i>>16<<1;i=w;j=j>>1;break}else{if(l)break;i=c[i>>2]|0;c[w>>2]=i;b[w+2>>1]=((i>>>16&65535)<<16>>16)/2|0;i=w;j=j<<1;break}}while(0);if(!(c[i>>2]|j))i=0;else{u=i;s=j;m=16}}do if((m|0)==16){l=c[g+21732>>2]|0;if(!(l&12288))if(!l){i=0;break}else{n=-1;o=181916}else{j=c[g+21712>>2]|0;i=a[p+(j<<2|2)>>0]|0;j=q+((c[(c[f+26360>>2]|0)+(j<<2)>>2]|0)+(r*3|0)<<2)|0;do if(c[f+26376>>2]|0){l=(l&128|0)!=0;if(!(c[v>>2]|0)){if(!l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=o>>16<<1;i=i>>1;break}else{if(l)break;o=c[j>>2]|0;j=w+4|0;c[j>>2]=o;b[w+6>>1]=((o>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}while(0);if(!(c[j>>2]|i)){i=0;break}else{n=i;o=j}}j=c[g+21736>>2]|0;do if(!(j&12288))if((j|0)==0?(t=c[g+21728>>2]|0,(t&12288|0)!=0):0){l=c[g+21708>>2]|0;m=c[g+21752>>2]|0;i=a[p+(l<<2|m&2|1)>>0]|0;l=q+(r+3+(m&r<<1)+(c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)<<2)|0;if(c[f+26376>>2]|0){j=(t&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}else{m=181916;i=-1}else{l=c[g+21716>>2]|0;i=a[p+(l<<2|2)>>0]|0;l=q+((c[(c[f+26360>>2]|0)+(l<<2)>>2]|0)+(r*3|0)<<2)|0;if(c[f+26376>>2]|0){j=(j&128|0)!=0;if(!(c[v>>2]|0)){if(!j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=v>>16<<1;i=i>>1;break}else{if(j){m=l;break}v=c[l>>2]|0;m=w+8|0;c[m>>2]=v;b[w+10>>1]=((v>>>16&65535)<<16>>16)/2|0;i=i<<1;break}}else m=l}while(0);l=(n|0)!=0;j=(s|0)!=0;i=((l^1)&1)+((j^1)&1)+((i|0)==0&1)|0;do if(i>>>0<=1){if((i|0)!=1){i=Ck(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Ck(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0;break}if(!j){j=b[u+2>>1]|0;i=b[u>>1]|0;break}if(l){j=b[m+2>>1]|0;i=b[m>>1]|0;break}else{j=b[o+2>>1]|0;i=b[o>>1]|0;break}}else{i=Ck(b[u>>1]|0,b[o>>1]|0,b[m>>1]|0)|0;j=Ck(b[u+2>>1]|0,b[o+2>>1]|0,b[m+2>>1]|0)|0}while(0);i=j<<16|i&65535}while(0);c[g+28e3>>2]=i;c[g+28004>>2]=i;c[g+28008>>2]=i;c[g+28012>>2]=i;c[g+28032>>2]=i;c[g+28036>>2]=i;c[g+28040>>2]=i;c[g+28044>>2]=i;c[g+28064>>2]=i;c[g+28068>>2]=i;c[g+28072>>2]=i;c[g+28076>>2]=i;c[g+28096>>2]=i;c[g+28100>>2]=i;c[g+28104>>2]=i;c[g+28108>>2]=i}h=c[h>>2]|0;i=(H(h<<2,c[g+21792>>2]|0)|0)+(c[g+21788>>2]<<2)|0;j=c[z>>2]<<2;if(!(k&12288)){w=(c[f+24384>>2]|0)+j|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[f+24352>>2]|0)+(i<<2)|0;u=g+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24384>>2]|0)+j|0;a[w>>0]=a[g+28284>>0]|0;a[w+1>>0]=a[g+28286>>0]|0;a[w+2>>0]=a[g+28300>>0]|0;a[w+3>>0]=a[g+28302>>0]|0}if(k&49152|0){w=(c[f+24356>>2]|0)+(i<<2)|0;u=g+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=g+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=g+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=g+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=g+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=g+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[z>>2]<<2)>>2]<<1)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;w=(c[f+24388>>2]|0)+j|0;a[w>>0]=a[g+28324>>0]|0;a[w+1>>0]=a[g+28326>>0]|0;a[w+2>>0]=a[g+28340>>0]|0;a[w+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[x>>2]|0)!=3)){z=(c[f+26408>>2]|0)+(c[z>>2]<<2)|0;a[z+1>>0]=(e[g+28554>>1]|0)>>>1;a[z+2>>0]=(e[g+28556>>1]|0)>>>1;a[z+3>>0]=(e[g+28558>>1]|0)>>>1}c[(c[f+24364>>2]|0)+(A<<2)>>2]=c[y>>2];a[(c[f+24340>>2]|0)+A>>0]=c[g+848>>2];b[(c[f+26372>>2]|0)+(A<<1)>>1]=c[g+832>>2];c[g+21648>>2]=1;Ec=B;return} |
| | | function lj(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;sa=Ec;Ec=Ec+80|0;qa=sa+64|0;ma=sa;o=c[e+96>>2]|0;do if((o|0)!=0?(n=c[e+28212>>2]|0,(c[n+724>>2]|0)==0):0){da=c[e+25664>>2]|0;pa=c[e+28216>>2]|0;u=c[pa+12>>2]|0;ja=(u|0)!=0;la=(u|0)==3;u=(u|0)==2;V=c[f+21796>>2]|0;h=c[f+21740>>2]|0;ha=c[f+21732>>2]|0;pa=(H(c[pa+1184>>2]|0,-6)|0)+48|0;oa=(c[f+872>>2]|0)+52+pa|0;pa=(c[f+876>>2]|0)+52+pa|0;r=c[(c[e+24364>>2]|0)+(V<<2)>>2]|0;ia=c[e+24340>>2]|0;ka=a[ia+V>>0]|0;V=a[ia+(V+-1)>>0]|0;ia=a[ia+(c[f+21712>>2]|0)>>0]|0;na=d[n+548+ka>>0]|0;ga=ka+1|0;t=ga+V>>1;ga=ga+ia>>1;g=na+1|0;V=(g+(d[n+548+V>>0]|0)|0)>>>1;ia=(g+(d[n+548+ia>>0]|0)|0)>>>1;if(r&7|0){I=(c[e+26380>>2]|0)!=3?114524:114532;q=(h|0)!=0;if(q?(p=t+oa|0,s=t+pa|0,!(p>>>0<68|s>>>0<68)):0)Vc[c[e+64>>2]&255](i,l,d[138056+p>>0]|0,d[137900+s>>0]|0);f=(r&16777216|0)!=0;o=oa+ka|0;p=138056+o|0;n=pa+ka|0;h=137900+n|0;n=o>>>0<68|n>>>0<68;if(f){if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;yW(qa|0,a[138212+(o<<2)+3>>0]|0,4)|0;Wc[c[e+52>>2]&127](i+(8<<da)|0,l,ka,ma,qa)}do if(ha|0?(v=ga+oa|0,w=d[138056+v>>0]|0,ma=ga+pa|0,x=d[137900+ma>>0]|0,!(v>>>0<68|ma>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){Vc[c[e+60>>2]&255](i,l,w,x);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(v<<2))>>0]|0;a[qa+1>>0]=a[(b[I+2>>1]|0)+(138212+(v<<2))>>0]|0;a[qa+2>>0]=a[(b[I+4>>1]|0)+(138212+(v<<2))>>0]|0;a[qa+3>>0]=a[(b[I+6>>1]|0)+(138212+(v<<2))>>0]|0;Wc[c[e+48>>2]&127](i,l,w,x,qa);break}}while(0);if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;yW(qa|0,a[138212+(o<<2)+3>>0]|0,4)|0;Wc[c[e+48>>2]&127](i+(l<<3)|0,l,ka,ma,qa)}}else{if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;ea=a[138212+(o<<2)+3>>0]|0;fa=e+52|0;yW(qa|0,ea|0,4)|0;Wc[c[fa>>2]&127](i+(4<<da)|0,l,ka,ma,qa);yW(qa|0,ea|0,4)|0;Wc[c[fa>>2]&127](i+(8<<da)|0,l,ka,ma,qa);yW(qa|0,ea|0,4)|0;Wc[c[fa>>2]&127](i+(12<<da)|0,l,ka,ma,qa)}do if(ha|0?(y=ga+oa|0,z=d[138056+y>>0]|0,ma=ga+pa|0,A=d[137900+ma>>0]|0,!(y>>>0<68|ma>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){Vc[c[e+60>>2]&255](i,l,z,A);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(y<<2))>>0]|0;a[qa+1>>0]=a[(b[I+2>>1]|0)+(138212+(y<<2))>>0]|0;a[qa+2>>0]=a[(b[I+4>>1]|0)+(138212+(y<<2))>>0]|0;a[qa+3>>0]=a[(b[I+6>>1]|0)+(138212+(y<<2))>>0]|0;Wc[c[e+48>>2]&127](i,l,z,A,qa);break}}while(0);if(!n){ma=d[h>>0]|0;ka=d[p>>0]|0;fa=a[138212+(o<<2)+3>>0]|0;ga=e+48|0;yW(qa|0,fa|0,4)|0;Wc[c[ga>>2]&127](i+(l<<2)|0,l,ka,ma,qa);yW(qa|0,fa|0,4)|0;Wc[c[ga>>2]&127](i+(l<<3)|0,l,ka,ma,qa);yW(qa|0,fa|0,4)|0;Wc[c[ga>>2]&127](i+(l*12|0)|0,l,ka,ma,qa)}}if(!ja)break;if(la){if(q?(B=V+oa|0,C=V+pa|0,!(B>>>0<68|C>>>0<68)):0){m=d[137900+C>>0]|0;ma=d[138056+B>>0]|0;la=e+64|0;Vc[c[la>>2]&255](j,l,ma,m);Vc[c[la>>2]&255](k,l,ma,m)}if(f){g=8<<da;f=oa+na|0;o=138056+f|0;n=pa+na|0;h=137900+n|0;n=f>>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;na=d[o>>0]|0;la=a[138212+(f<<2)+3>>0]|0;ma=e+52|0;yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](j+g|0,l,na,m,qa);yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](k+g|0,l,na,m,qa)}do if(ha|0?(J=ia+oa|0,K=d[138056+J>>0]|0,pa=ia+pa|0,L=d[137900+pa>>0]|0,!(J>>>0<68|pa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){pa=e+60|0;Vc[c[pa>>2]&255](j,l,K,L);Vc[c[pa>>2]&255](k,l,K,L);break}else{ka=a[(g<<16>>16)+(138212+(J<<2))>>0]|0;a[qa>>0]=ka;i=a[(b[I+2>>1]|0)+(138212+(J<<2))>>0]|0;la=qa+1|0;a[la>>0]=i;ma=a[(b[I+4>>1]|0)+(138212+(J<<2))>>0]|0;na=qa+2|0;a[na>>0]=ma;m=a[(b[I+6>>1]|0)+(138212+(J<<2))>>0]|0;oa=qa+3|0;a[oa>>0]=m;pa=e+48|0;Wc[c[pa>>2]&127](j,l,K,L,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[oa>>0]=m;Wc[c[pa>>2]&127](k,l,K,L,qa);break}}while(0);g=l<<3;if(n)break;pa=d[h>>0]|0;oa=d[o>>0]|0;m=a[138212+(f<<2)+3>>0]|0;e=e+48|0;yW(qa|0,m|0,4)|0;Wc[c[e>>2]&127](j+g|0,l,oa,pa,qa);yW(qa|0,m|0,4)|0;Wc[c[e>>2]&127](k+g|0,l,oa,pa,qa);break}else{g=4<<da;f=oa+na|0;o=138056+f|0;n=pa+na|0;h=137900+n|0;n=f>>>0<68|n>>>0<68;if(!n){m=d[h>>0]|0;na=d[o>>0]|0;i=a[138212+(f<<2)+3>>0]|0;la=e+52|0;yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](j+g|0,l,na,m,qa);yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](k+g|0,l,na,m,qa);ma=8<<da;yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](j+ma|0,l,na,m,qa);yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](k+ma|0,l,na,m,qa);ma=12<<da;yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](j+ma|0,l,na,m,qa);yW(qa|0,i|0,4)|0;Wc[c[la>>2]&127](k+ma|0,l,na,m,qa)}do if(ha|0?(M=ia+oa|0,N=d[138056+M>>0]|0,pa=ia+pa|0,O=d[137900+pa>>0]|0,!(M>>>0<68|pa>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){pa=e+60|0;Vc[c[pa>>2]&255](j,l,N,O);Vc[c[pa>>2]&255](k,l,N,O);break}else{ka=a[(g<<16>>16)+(138212+(M<<2))>>0]|0;a[qa>>0]=ka;i=a[(b[I+2>>1]|0)+(138212+(M<<2))>>0]|0;la=qa+1|0;a[la>>0]=i;ma=a[(b[I+4>>1]|0)+(138212+(M<<2))>>0]|0;na=qa+2|0;a[na>>0]=ma;m=a[(b[I+6>>1]|0)+(138212+(M<<2))>>0]|0;oa=qa+3|0;a[oa>>0]=m;pa=e+48|0;Wc[c[pa>>2]&127](j,l,N,O,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[oa>>0]=m;Wc[c[pa>>2]&127](k,l,N,O,qa);break}}while(0);g=l<<2;if(n)break;pa=d[h>>0]|0;oa=d[o>>0]|0;na=a[138212+(f<<2)+3>>0]|0;m=e+48|0;yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](j+g|0,l,oa,pa,qa);yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](k+g|0,l,oa,pa,qa);e=l<<3;yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](j+e|0,l,oa,pa,qa);yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](k+e|0,l,oa,pa,qa);e=l*12|0;yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](j+e|0,l,oa,pa,qa);yW(qa|0,na|0,4)|0;Wc[c[m>>2]&127](k+e|0,l,oa,pa,qa);break}}if(u){if(q?(D=V+oa|0,E=V+pa|0,!(D>>>0<68|E>>>0<68)):0){l=d[137900+E>>0]|0;ma=d[138056+D>>0]|0;la=e+88|0;Vc[c[la>>2]&255](j,m,ma,l);Vc[c[la>>2]&255](k,m,ma,l)}g=4<<da;f=oa+na|0;o=138056+f|0;n=pa+na|0;h=137900+n|0;n=f>>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;na=d[o>>0]|0;la=(d[138212+(f<<2)+3>>0]|0)+1&255;ma=e+76|0;yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](j+g|0,m,na,l,qa);yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](k+g|0,m,na,l,qa)}do if(ha|0?(P=ia+oa|0,Q=d[138056+P>>0]|0,l=ia+pa|0,R=d[137900+l>>0]|0,!(P>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;Vc[c[l>>2]&255](j,m,Q,R);Vc[c[l>>2]&255](k,m,Q,R);break}else{ka=(d[(g<<16>>16)+(138212+(P<<2))>>0]|0)+1&255;a[qa>>0]=ka;i=(d[(b[I+2>>1]|0)+(138212+(P<<2))>>0]|0)+1&255;la=qa+1|0;a[la>>0]=i;ma=(d[(b[I+4>>1]|0)+(138212+(P<<2))>>0]|0)+1&255;na=qa+2|0;a[na>>0]=ma;oa=(d[(b[I+6>>1]|0)+(138212+(P<<2))>>0]|0)+1&255;pa=qa+3|0;a[pa>>0]=oa;l=e+72|0;Wc[c[l>>2]&127](j,m,Q,R,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[pa>>0]=oa;Wc[c[l>>2]&127](k,m,Q,R,qa);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;pa=d[o>>0]|0;na=(d[138212+(f<<2)+3>>0]|0)+1&255;oa=e+72|0;yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](j+g|0,m,pa,l,qa);yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](k+g|0,m,pa,l,qa);e=m<<3;yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](j+e|0,m,pa,l,qa);yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](k+e|0,m,pa,l,qa);e=m*12|0;yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](j+e|0,m,pa,l,qa);yW(qa|0,na|0,4)|0;Wc[c[oa>>2]&127](k+e|0,m,pa,l,qa);break}else{if(q?(F=V+oa|0,G=V+pa|0,!(F>>>0<68|G>>>0<68)):0){l=d[137900+G>>0]|0;ma=d[138056+F>>0]|0;la=e+88|0;Vc[c[la>>2]&255](j,m,ma,l);Vc[c[la>>2]&255](k,m,ma,l)}g=4<<da;f=oa+na|0;o=138056+f|0;n=pa+na|0;h=137900+n|0;n=f>>>0<68|n>>>0<68;if(!n){l=d[h>>0]|0;na=d[o>>0]|0;la=(d[138212+(f<<2)+3>>0]|0)+1&255;ma=e+76|0;yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](j+g|0,m,na,l,qa);yW(qa|0,la|0,4)|0;Wc[c[ma>>2]&127](k+g|0,m,na,l,qa)}do if(ha|0?(S=ia+oa|0,T=d[138056+S>>0]|0,l=ia+pa|0,U=d[137900+l>>0]|0,!(S>>>0<68|l>>>0<68)):0){g=b[I>>1]|0;if(g<<16>>16>3){l=e+84|0;Vc[c[l>>2]&255](j,m,T,U);Vc[c[l>>2]&255](k,m,T,U);break}else{ka=(d[(g<<16>>16)+(138212+(S<<2))>>0]|0)+1&255;a[qa>>0]=ka;i=(d[(b[I+2>>1]|0)+(138212+(S<<2))>>0]|0)+1&255;la=qa+1|0;a[la>>0]=i;ma=(d[(b[I+4>>1]|0)+(138212+(S<<2))>>0]|0)+1&255;na=qa+2|0;a[na>>0]=ma;oa=(d[(b[I+6>>1]|0)+(138212+(S<<2))>>0]|0)+1&255;pa=qa+3|0;a[pa>>0]=oa;l=e+72|0;Wc[c[l>>2]&127](j,m,T,U,qa);a[qa>>0]=ka;a[la>>0]=i;a[na>>0]=ma;a[pa>>0]=oa;Wc[c[l>>2]&127](k,m,T,U,qa);break}}while(0);g=m<<2;if(n)break;l=d[h>>0]|0;pa=d[o>>0]|0;oa=(d[138212+(f<<2)+3>>0]|0)+1&255;e=e+72|0;yW(qa|0,oa|0,4)|0;Wc[c[e>>2]&127](j+g|0,m,pa,l,qa);yW(qa|0,oa|0,4)|0;Wc[c[e>>2]&127](k+g|0,m,pa,l,qa);break}}p=(r&16777216|0)!=0;g=c[f+21856>>2]|0;if(p?!(la|(g&7|0)!=7):0){o=ma;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+16|0;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+32|0;c[o>>2]=131074;c[o+4>>2]=131074;o=ma+48|0;c[o>>2]=131074;c[o+4>>2]=131074;o=4}else{T=0-((r*5|0)>>>5&1)&3|r>>4;U=4-(0-(r>>>3&(g&15|0)==0)&3)|0;_c[o&3](ma,f+27824|0,f+28272|0,f+27952|0,(c[f+23412>>2]|0)==2&1,U,(r>>24)+1|0,0-((h*5|0)>>>5&1&T>>>1)&3,T,(c[e+26380>>2]|0)!=3&1);o=U}if(h&7|0){U=ma;c[U>>2]=262148;c[U+4>>2]=262148}if(ha&7|0){T=(c[e+26380>>2]|0)!=3;U=ma+32|0;c[U>>2]=T?196611:262148;c[U+4>>2]=T?196611:262148}do if(h|0?(U=ma,T=c[U>>2]|0,q=T&65535,!((T|0)==0&(c[U+4>>2]|0)==0)):0){h=t+oa|0;n=d[138056+h>>0]|0;U=t+pa|0;g=d[137900+U>>0]|0;do if(!(h>>>0<68|U>>>0<68))if(q<<16>>16>3){Vc[c[e+64>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(q<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+52>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=V+oa|0;f=d[138056+n>>0]|0;g=V+pa|0;h=d[137900+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[ma>>1]|0;if(g<<16>>16>3)Vc[c[e+64>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+52>>2]&127](j,l,f,h,qa)}g=b[ma>>1]|0;if(g<<16>>16>3){Vc[c[e+64>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+2>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+4>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+6>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+52>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[ma>>1]|0;if(g<<16>>16>3)Vc[c[e+88>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+2>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+4>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+6>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+76>>2]&127](j,m,f,h,qa)}g=b[ma>>1]|0;if(g<<16>>16>3){Vc[c[e+88>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+2>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+4>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+6>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+76>>2]&127](k,m,f,h,qa);break}}}}while(0);do if((o|0)==1){if(ha|0?(Y=ma+32|0,na=Y,ka=c[na>>2]|0,I=ka&65535,!((ka|0)==0&(c[na+4>>2]|0)==0)):0){h=ga+oa|0;n=d[138056+h>>0]|0;na=ga+pa|0;g=d[137900+na>>0]|0;do if(!(h>>>0<68|na>>>0<68))if(I<<16>>16>3){Vc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(I<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[138056+n>>0]|0;g=ia+pa|0;h=d[137900+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[Y>>1]|0;if(g<<16>>16>3)Vc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[Y>>1]|0;if(g<<16>>16>3){Vc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[Y>>1]|0;if(g<<16>>16>3)Vc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[Y>>1]|0;if(g<<16>>16>3){Vc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}}else{if(p){p=ma+16|0;fa=p;f=c[fa>>2]|0;do if(!((f|0)==0&(c[fa+4>>2]|0)==0)){g=1<<da;o=g<<3;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){fa=d[137900+n>>0]|0;ea=d[138056+h>>0]|0;a[qa>>0]=a[(f<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+18>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+20>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+22>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+52>>2]&127](i+o|0,l,ea,fa,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;fa=d[137900+h>>0]|0;ea=d[138056+g>>0]|0;a[qa>>0]=a[(b[p>>1]|0)+(138212+(g<<2))>>0]|0;X=ma+18|0;Y=qa+1|0;a[Y>>0]=a[(b[X>>1]|0)+(138212+(g<<2))>>0]|0;$=ma+20|0;aa=qa+2|0;a[aa>>0]=a[(b[$>>1]|0)+(138212+(g<<2))>>0]|0;ba=ma+22|0;ca=qa+3|0;a[ca>>0]=a[(b[ba>>1]|0)+(138212+(g<<2))>>0]|0;da=e+52|0;Wc[c[da>>2]&127](j+o|0,l,ea,fa,qa);a[qa>>0]=a[(b[p>>1]|0)+(138212+(g<<2))>>0]|0;a[Y>>0]=a[(b[X>>1]|0)+(138212+(g<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(138212+(g<<2))>>0]|0;a[ca>>0]=a[(b[ba>>1]|0)+(138212+(g<<2))>>0]|0;Wc[c[da>>2]&127](k+o|0,l,ea,fa,qa);break}else{g=g<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;fa=d[137900+n>>0]|0;ea=d[138056+h>>0]|0;a[qa>>0]=(d[(b[p>>1]|0)+(138212+(h<<2))>>0]|0)+1;X=ma+18|0;Y=qa+1|0;a[Y>>0]=(d[(b[X>>1]|0)+(138212+(h<<2))>>0]|0)+1;$=ma+20|0;aa=qa+2|0;a[aa>>0]=(d[(b[$>>1]|0)+(138212+(h<<2))>>0]|0)+1;ba=ma+22|0;ca=qa+3|0;a[ca>>0]=(d[(b[ba>>1]|0)+(138212+(h<<2))>>0]|0)+1;da=e+76|0;Wc[c[da>>2]&127](j+g|0,m,ea,fa,qa);a[qa>>0]=(d[(b[p>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[Y>>0]=(d[(b[X>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[aa>>0]=(d[(b[$>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[ca>>0]=(d[(b[ba>>1]|0)+(138212+(h<<2))>>0]|0)+1;Wc[c[da>>2]&127](k+g|0,m,ea,fa,qa);break}}while(0);do if(ha|0?(_=ma+32|0,ha=_,fa=c[ha>>2]|0,Z=fa&65535,!((fa|0)==0&(c[ha+4>>2]|0)==0)):0){h=ga+oa|0;n=d[138056+h>>0]|0;ha=ga+pa|0;g=d[137900+ha>>0]|0;do if(!(h>>>0<68|ha>>>0<68))if(Z<<16>>16>3){Vc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(Z<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[138056+n>>0]|0;g=ia+pa|0;h=d[137900+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)Vc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[_>>1]|0;if(g<<16>>16>3){Vc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[_>>1]|0;if(g<<16>>16>3)Vc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[_>>1]|0;if(g<<16>>16>3){Vc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}while(0);o=ma+48|0;ia=o;h=c[ia>>2]|0;if((h|0)==0&(c[ia+4>>2]|0)==0)break;f=l<<3;n=oa+ka|0;g=pa+ka|0;if(!(n>>>0<68|g>>>0<68)){ka=d[137900+g>>0]|0;ia=d[138056+n>>0]|0;a[qa>>0]=a[(h<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+50>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+52>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+54>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](i+f|0,l,ia,ka,qa)}if(!ja)break;if(la){h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;pa=d[137900+g>>0]|0;oa=d[138056+h>>0]|0;a[qa>>0]=a[(b[o>>1]|0)+(138212+(h<<2))>>0]|0;ja=ma+50|0;ka=qa+1|0;a[ka>>0]=a[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0;i=ma+52|0;la=qa+2|0;a[la>>0]=a[(b[i>>1]|0)+(138212+(h<<2))>>0]|0;na=ma+54|0;m=qa+3|0;a[m>>0]=a[(b[na>>1]|0)+(138212+(h<<2))>>0]|0;e=e+48|0;Wc[c[e>>2]&127](j+f|0,l,oa,pa,qa);a[qa>>0]=a[(b[o>>1]|0)+(138212+(h<<2))>>0]|0;a[ka>>0]=a[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0;a[la>>0]=a[(b[i>>1]|0)+(138212+(h<<2))>>0]|0;a[m>>0]=a[(b[na>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e>>2]&127](k+f|0,l,oa,pa,qa);break}else{n=m<<2;h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;l=d[137900+g>>0]|0;pa=d[138056+h>>0]|0;a[qa>>0]=(d[(b[o>>1]|0)+(138212+(h<<2))>>0]|0)+1;ja=ma+50|0;ka=qa+1|0;a[ka>>0]=(d[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0)+1;i=ma+52|0;la=qa+2|0;a[la>>0]=(d[(b[i>>1]|0)+(138212+(h<<2))>>0]|0)+1;na=ma+54|0;oa=qa+3|0;a[oa>>0]=(d[(b[na>>1]|0)+(138212+(h<<2))>>0]|0)+1;e=e+72|0;Wc[c[e>>2]&127](j+n|0,m,pa,l,qa);a[qa>>0]=(d[(b[o>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[ka>>0]=(d[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[la>>0]=(d[(b[i>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[oa>>0]=(d[(b[na>>1]|0)+(138212+(h<<2))>>0]|0)+1;Wc[c[e>>2]&127](k+n|0,m,pa,l,qa);break}}g=ma+8|0;_=g;h=c[_>>2]|0;if(!((h|0)==0&(c[_+4>>2]|0)==0)){n=4<<da;f=oa+ka|0;o=pa+ka|0;if(!(f>>>0<68|o>>>0<68)){_=d[137900+o>>0]|0;Z=d[138056+f>>0]|0;a[qa>>0]=a[(h<<16>>16)+(138212+(f<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+10>>1]|0)+(138212+(f<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+12>>1]|0)+(138212+(f<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+14>>1]|0)+(138212+(f<<2))>>0]|0;Wc[c[e+52>>2]&127](i+n|0,l,Z,_,qa)}if(la?(W=oa+na|0,X=pa+na|0,!(W>>>0<68|X>>>0<68)):0){_=d[137900+X>>0]|0;Z=d[138056+W>>0]|0;a[qa>>0]=a[(b[g>>1]|0)+(138212+(W<<2))>>0]|0;R=ma+10|0;S=qa+1|0;a[S>>0]=a[(b[R>>1]|0)+(138212+(W<<2))>>0]|0;T=ma+12|0;U=qa+2|0;a[U>>0]=a[(b[T>>1]|0)+(138212+(W<<2))>>0]|0;V=ma+14|0;X=qa+3|0;a[X>>0]=a[(b[V>>1]|0)+(138212+(W<<2))>>0]|0;Y=e+52|0;Wc[c[Y>>2]&127](j+n|0,l,Z,_,qa);a[qa>>0]=a[(b[g>>1]|0)+(138212+(W<<2))>>0]|0;a[S>>0]=a[(b[R>>1]|0)+(138212+(W<<2))>>0]|0;a[U>>0]=a[(b[T>>1]|0)+(138212+(W<<2))>>0]|0;a[X>>0]=a[(b[V>>1]|0)+(138212+(W<<2))>>0]|0;Wc[c[Y>>2]&127](k+n|0,l,Z,_,qa)}}p=ma+16|0;_=p;g=c[_>>2]|0;do if(!((g|0)==0&(c[_+4>>2]|0)==0)){h=1<<da;o=h<<3;n=oa+ka|0;f=pa+ka|0;if(!(n>>>0<68|f>>>0<68)){_=d[137900+f>>0]|0;Z=d[138056+n>>0]|0;a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+18>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+20>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+22>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+52>>2]&127](i+o|0,l,Z,_,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;_=d[137900+h>>0]|0;Z=d[138056+g>>0]|0;a[qa>>0]=a[(b[p>>1]|0)+(138212+(g<<2))>>0]|0;S=ma+18|0;T=qa+1|0;a[T>>0]=a[(b[S>>1]|0)+(138212+(g<<2))>>0]|0;U=ma+20|0;V=qa+2|0;a[V>>0]=a[(b[U>>1]|0)+(138212+(g<<2))>>0]|0;W=ma+22|0;X=qa+3|0;a[X>>0]=a[(b[W>>1]|0)+(138212+(g<<2))>>0]|0;Y=e+52|0;Wc[c[Y>>2]&127](j+o|0,l,Z,_,qa);a[qa>>0]=a[(b[p>>1]|0)+(138212+(g<<2))>>0]|0;a[T>>0]=a[(b[S>>1]|0)+(138212+(g<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(138212+(g<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(138212+(g<<2))>>0]|0;Wc[c[Y>>2]&127](k+o|0,l,Z,_,qa);break}else{g=h<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;_=d[137900+n>>0]|0;Z=d[138056+h>>0]|0;a[qa>>0]=(d[(b[p>>1]|0)+(138212+(h<<2))>>0]|0)+1;S=ma+18|0;T=qa+1|0;a[T>>0]=(d[(b[S>>1]|0)+(138212+(h<<2))>>0]|0)+1;U=ma+20|0;V=qa+2|0;a[V>>0]=(d[(b[U>>1]|0)+(138212+(h<<2))>>0]|0)+1;W=ma+22|0;X=qa+3|0;a[X>>0]=(d[(b[W>>1]|0)+(138212+(h<<2))>>0]|0)+1;Y=e+76|0;Wc[c[Y>>2]&127](j+g|0,m,Z,_,qa);a[qa>>0]=(d[(b[p>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[T>>0]=(d[(b[S>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[V>>0]=(d[(b[U>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[X>>0]=(d[(b[W>>1]|0)+(138212+(h<<2))>>0]|0)+1;Wc[c[Y>>2]&127](k+g|0,m,Z,_,qa);break}}while(0);f=ma+24|0;_=f;o=c[_>>2]|0;if(!((o|0)==0&(c[_+4>>2]|0)==0)){g=12<<da;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){da=d[137900+n>>0]|0;_=d[138056+h>>0]|0;a[qa>>0]=a[(o<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+26>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+28>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+30>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+52>>2]&127](i+g|0,l,_,da,qa)}if(la?($=oa+na|0,aa=pa+na|0,!($>>>0<68|aa>>>0<68)):0){da=d[137900+aa>>0]|0;aa=d[138056+$>>0]|0;a[qa>>0]=a[(b[f>>1]|0)+(138212+($<<2))>>0]|0;U=ma+26|0;V=qa+1|0;a[V>>0]=a[(b[U>>1]|0)+(138212+($<<2))>>0]|0;W=ma+28|0;X=qa+2|0;a[X>>0]=a[(b[W>>1]|0)+(138212+($<<2))>>0]|0;Y=ma+30|0;Z=qa+3|0;a[Z>>0]=a[(b[Y>>1]|0)+(138212+($<<2))>>0]|0;_=e+52|0;Wc[c[_>>2]&127](j+g|0,l,aa,da,qa);a[qa>>0]=a[(b[f>>1]|0)+(138212+($<<2))>>0]|0;a[V>>0]=a[(b[U>>1]|0)+(138212+($<<2))>>0]|0;a[X>>0]=a[(b[W>>1]|0)+(138212+($<<2))>>0]|0;a[Z>>0]=a[(b[Y>>1]|0)+(138212+($<<2))>>0]|0;Wc[c[_>>2]&127](k+g|0,l,aa,da,qa)}}do if(ha|0?(ca=ma+32|0,ha=ca,da=c[ha>>2]|0,ba=da&65535,!((da|0)==0&(c[ha+4>>2]|0)==0)):0){h=ga+oa|0;n=d[138056+h>>0]|0;ha=ga+pa|0;g=d[137900+ha>>0]|0;do if(!(h>>>0<68|ha>>>0<68))if(ba<<16>>16>3){Vc[c[e+60>>2]&255](i,l,n,g);break}else{a[qa>>0]=a[(ba<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+48>>2]&127](i,l,n,g,qa);break}while(0);if(ja){n=ia+oa|0;f=d[138056+n>>0]|0;g=ia+pa|0;h=d[137900+g>>0]|0;g=n>>>0<68|g>>>0<68;if(la){if(g)break;g=b[ca>>1]|0;if(g<<16>>16>3)Vc[c[e+60>>2]&255](j,l,f,h);else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](j,l,f,h,qa)}g=b[ca>>1]|0;if(g<<16>>16>3){Vc[c[e+60>>2]&255](k,l,f,h);break}else{a[qa>>0]=a[(g<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](k,l,f,h,qa);break}}else{if(g)break;g=b[ca>>1]|0;if(g<<16>>16>3)Vc[c[e+84>>2]&255](j,m,f,h);else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](j,m,f,h,qa)}g=b[ca>>1]|0;if(g<<16>>16>3){Vc[c[e+84>>2]&255](k,m,f,h);break}else{a[qa>>0]=(d[(g<<16>>16)+(138212+(n<<2))>>0]|0)+1;a[qa+1>>0]=(d[(b[ma+34>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+2>>0]=(d[(b[ma+36>>1]|0)+(138212+(n<<2))>>0]|0)+1;a[qa+3>>0]=(d[(b[ma+38>>1]|0)+(138212+(n<<2))>>0]|0)+1;Wc[c[e+72>>2]&127](k,m,f,h,qa);break}}}}while(0);g=ma+40|0;ia=g;h=c[ia>>2]|0;if(!((h|0)==0&(c[ia+4>>2]|0)==0)){n=l<<2;f=oa+ka|0;o=pa+ka|0;if(!(f>>>0<68|o>>>0<68)){ia=d[137900+o>>0]|0;ha=d[138056+f>>0]|0;a[qa>>0]=a[(h<<16>>16)+(138212+(f<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+42>>1]|0)+(138212+(f<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+44>>1]|0)+(138212+(f<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+46>>1]|0)+(138212+(f<<2))>>0]|0;Wc[c[e+48>>2]&127](i+n|0,l,ha,ia,qa)}if(la?(ea=oa+na|0,fa=pa+na|0,!(ea>>>0<68|fa>>>0<68)):0){ia=d[137900+fa>>0]|0;ha=d[138056+ea>>0]|0;a[qa>>0]=a[(b[g>>1]|0)+(138212+(ea<<2))>>0]|0;$=ma+42|0;aa=qa+1|0;a[aa>>0]=a[(b[$>>1]|0)+(138212+(ea<<2))>>0]|0;ba=ma+44|0;ca=qa+2|0;a[ca>>0]=a[(b[ba>>1]|0)+(138212+(ea<<2))>>0]|0;da=ma+46|0;fa=qa+3|0;a[fa>>0]=a[(b[da>>1]|0)+(138212+(ea<<2))>>0]|0;ga=e+48|0;Wc[c[ga>>2]&127](j+n|0,l,ha,ia,qa);a[qa>>0]=a[(b[g>>1]|0)+(138212+(ea<<2))>>0]|0;a[aa>>0]=a[(b[$>>1]|0)+(138212+(ea<<2))>>0]|0;a[ca>>0]=a[(b[ba>>1]|0)+(138212+(ea<<2))>>0]|0;a[fa>>0]=a[(b[da>>1]|0)+(138212+(ea<<2))>>0]|0;Wc[c[ga>>2]&127](k+n|0,l,ha,ia,qa)}}o=ma+48|0;ia=o;g=c[ia>>2]|0;do if(!((g|0)==0&(c[ia+4>>2]|0)==0)){f=l<<3;h=oa+ka|0;n=pa+ka|0;if(!(h>>>0<68|n>>>0<68)){ia=d[137900+n>>0]|0;ha=d[138056+h>>0]|0;a[qa>>0]=a[(g<<16>>16)+(138212+(h<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+50>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+52>>1]|0)+(138212+(h<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+54>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e+48>>2]&127](i+f|0,l,ha,ia,qa)}if(ja)if(la){g=oa+na|0;h=pa+na|0;if(g>>>0<68|h>>>0<68)break;m=d[137900+h>>0]|0;ja=d[138056+g>>0]|0;a[qa>>0]=a[(b[o>>1]|0)+(138212+(g<<2))>>0]|0;ca=ma+50|0;da=qa+1|0;a[da>>0]=a[(b[ca>>1]|0)+(138212+(g<<2))>>0]|0;ea=ma+52|0;fa=qa+2|0;a[fa>>0]=a[(b[ea>>1]|0)+(138212+(g<<2))>>0]|0;ga=ma+54|0;ha=qa+3|0;a[ha>>0]=a[(b[ga>>1]|0)+(138212+(g<<2))>>0]|0;ia=e+48|0;Wc[c[ia>>2]&127](j+f|0,l,ja,m,qa);a[qa>>0]=a[(b[o>>1]|0)+(138212+(g<<2))>>0]|0;a[da>>0]=a[(b[ca>>1]|0)+(138212+(g<<2))>>0]|0;a[fa>>0]=a[(b[ea>>1]|0)+(138212+(g<<2))>>0]|0;a[ha>>0]=a[(b[ga>>1]|0)+(138212+(g<<2))>>0]|0;Wc[c[ia>>2]&127](k+f|0,l,ja,m,qa);break}else{g=m<<2;h=oa+na|0;n=pa+na|0;if(h>>>0<68|n>>>0<68)break;ja=d[137900+n>>0]|0;ia=d[138056+h>>0]|0;a[qa>>0]=(d[(b[o>>1]|0)+(138212+(h<<2))>>0]|0)+1;ba=ma+50|0;ca=qa+1|0;a[ca>>0]=(d[(b[ba>>1]|0)+(138212+(h<<2))>>0]|0)+1;da=ma+52|0;ea=qa+2|0;a[ea>>0]=(d[(b[da>>1]|0)+(138212+(h<<2))>>0]|0)+1;fa=ma+54|0;ga=qa+3|0;a[ga>>0]=(d[(b[fa>>1]|0)+(138212+(h<<2))>>0]|0)+1;ha=e+72|0;Wc[c[ha>>2]&127](j+g|0,m,ia,ja,qa);a[qa>>0]=(d[(b[o>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[ca>>0]=(d[(b[ba>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[ea>>0]=(d[(b[da>>1]|0)+(138212+(h<<2))>>0]|0)+1;a[ga>>0]=(d[(b[fa>>1]|0)+(138212+(h<<2))>>0]|0)+1;Wc[c[ha>>2]&127](k+g|0,m,ia,ja,qa);break}}while(0);f=ma+56|0;m=f;h=c[m>>2]|0;if(!((h|0)==0&(c[m+4>>2]|0)==0)){o=l*12|0;n=oa+ka|0;g=pa+ka|0;if(!(n>>>0<68|g>>>0<68)){m=d[137900+g>>0]|0;ka=d[138056+n>>0]|0;a[qa>>0]=a[(h<<16>>16)+(138212+(n<<2))>>0]|0;a[qa+1>>0]=a[(b[ma+58>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+2>>0]=a[(b[ma+60>>1]|0)+(138212+(n<<2))>>0]|0;a[qa+3>>0]=a[(b[ma+62>>1]|0)+(138212+(n<<2))>>0]|0;Wc[c[e+48>>2]&127](i+o|0,l,ka,m,qa)}if(la){h=oa+na|0;g=pa+na|0;if(h>>>0<68|g>>>0<68)break;pa=d[137900+g>>0]|0;oa=d[138056+h>>0]|0;a[qa>>0]=a[(b[f>>1]|0)+(138212+(h<<2))>>0]|0;ja=ma+58|0;ka=qa+1|0;a[ka>>0]=a[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0;i=ma+60|0;la=qa+2|0;a[la>>0]=a[(b[i>>1]|0)+(138212+(h<<2))>>0]|0;na=ma+62|0;m=qa+3|0;a[m>>0]=a[(b[na>>1]|0)+(138212+(h<<2))>>0]|0;e=e+48|0;Wc[c[e>>2]&127](j+o|0,l,oa,pa,qa);a[qa>>0]=a[(b[f>>1]|0)+(138212+(h<<2))>>0]|0;a[ka>>0]=a[(b[ja>>1]|0)+(138212+(h<<2))>>0]|0;a[la>>0]=a[(b[i>>1]|0)+(138212+(h<<2))>>0]|0;a[m>>0]=a[(b[na>>1]|0)+(138212+(h<<2))>>0]|0;Wc[c[e>>2]&127](k+o|0,l,oa,pa,qa)}}}while(0)}else ra=3;while(0);if((ra|0)==3)kj(e,f,g,h,i,j,k,l,m);Ec=sa;return}function mj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=a[d+28272+e>>0]|0;k=a[d+28272+f>>0]|0;h=j<<24>>24!=k<<24>>24;if(!(j<<24>>24==-1|h)){h=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=(((h|0)>-1?h:0-h|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6}do if((c[d+23412>>2]|0)==2){if(!h){i=a[d+28312+e>>0]|0;h=a[d+28312+f>>0]|0;l=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;if(!((i<<24>>24!=h<<24>>24?1:((b[d+28112+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|(((l|0)>-1?l:0-l|0)|0)>=(g|0))){h=0;break}}else{h=a[d+28312+f>>0]|0;i=a[d+28312+e>>0]|0}if(j<<24>>24!=h<<24>>24?1:i<<24>>24!=k<<24>>24)h=1;else{l=(b[d+27952+(e<<2)+2>>1]|0)-(b[d+28112+(f<<2)+2>>1]|0)|0;h=(b[d+28112+(e<<2)+2>>1]|0)-(b[d+27952+(f<<2)+2>>1]|0)|0;h=((((l|0)>-1?l:0-l|0)|0)>=(g|0)?1:((b[d+27952+(e<<2)>>1]|0)+3-(b[d+28112+(f<<2)>>1]|0)|0)>>>0>6)|((b[d+28112+(e<<2)>>1]|0)+3-(b[d+27952+(f<<2)>>1]|0)|0)>>>0>6|(((h|0)>-1?h:0-h|0)|0)>=(g|0)}}while(0);return h&1|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a>>2]|0;d=((b|0)>-1?b:0-b|0)+63&-32;f=a+27788|0;g=a+27804|0;Rk(f,g,d*96|0);b=a+27792|0;Rk(b,a+27808|0,d*42|0);d=a+27796|0;h=h+27012|0;Sk(d,a+27812|0,(c[h>>2]|0)*96|0);e=a+27800|0;Sk(e,a+27816|0,(c[h>>2]|0)*96|0);if((((c[f>>2]|0)!=0?(c[b>>2]|0)!=0:0)?(c[d>>2]|0)!=0:0)?(c[e>>2]|0)!=0:0)b=0;else{Se(f);Se(b);Se(d);Se(e);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;b=-12}return b|0}function oj(a){a=a|0;var b=0;b=0-(pj(a)|0)&7;if(b|0)Qk(a,b);return}function pj(a){a=a|0;return c[a+8>>2]|0}function qj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(pj(a)|0)|0}function rj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;g=a+16|0;c[a+12>>2]=b;c[a+20>>2]=b+e;h=b+1|0;c[g>>2]=h;f=(d[b>>0]|0)<<18;c[a>>2]=f;e=b+2|0;c[g>>2]=e;f=(d[h>>0]|0)<<10|f;c[a>>2]=f;if(!(e&1))e=512;else{c[g>>2]=b+3;e=(d[e>>0]|0)<<2|2}h=f+e|0;c[a>>2]=h;c[a+4>>2]=510;return ((h|0)>66846720?-1094995529:0)|0}function sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;b=(c[d+848>>2]|0)+48+(H(c[(c[b+28216>>2]|0)+1184>>2]|0,-6)|0)|0;b=(b|0)>0?((b|0)<51?b:51):0;if((c[d+840>>2]|0)==1)f=146544;else f=140400+(c[d+33928>>2]<<11)|0;e=0;while(1){if((e|0)==1024)break;g=(H(b,a[f+(e<<1)>>0]|0)|0)>>4;g=(g+(a[f+(e<<1)+1>>0]|0)<<1)+-127|0;g=g>>31^g;a[d+32904+e>>0]=(g|0)>124?g&1|124:g;e=e+1|0}return}function tj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a=c[a>>2]|0;if(c[a+29672>>2]|0)Pk((c[a+25628>>2]|0)+24|0,b,d,e,f,g);return}function uj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Ec;Ec=Ec+80|0;fa=na+40|0;aa=na+32|0;q=na+24|0;r=na+16|0;n=na+8|0;s=na;ia=na+72|0;Z=na+56|0;_=na+52|0;U=na+48|0;ha=f+28216|0;ca=c[ha>>2]|0;ja=f+28212|0;m=c[(c[ja>>2]|0)+64>>2]|0;k=ca+12|0;ba=((c[k>>2]|0)+-1|0)>>>0<2;ka=c[f+25664>>2]|0;da=g+21788|0;h=c[da>>2]|0;ea=g+21792|0;i=c[ea>>2]|0;X=f+27016|0;ma=(H(c[X>>2]|0,i)|0)+h|0;la=g+21796|0;c[la>>2]=ma;$=g+840|0;W=f+26376|0;if((c[$>>2]|0)!=1){if(!((c[W>>2]|0)==0|(i&1|0)==0)?(c[g+21648>>2]|0)!=0:0)h=c[g+21652>>2]|0;else h=qk(f,g,h,i)|0;if(h){if((c[W>>2]|0?(c[ea>>2]&1|0)==0:0)?(c[(c[f+24364>>2]|0)+(ma<<2)>>2]=2048,la=qk(f,g,c[da>>2]|0,(c[ea>>2]|0)+1|0)|0,c[g+21652>>2]=la,(la|0)==0):0){la=rk(f,g)|0;c[g+21828>>2]=la;c[g+21832>>2]=la}sk(f,g);b[(c[f+26392>>2]|0)+(ma<<1)>>1]=0;a[(c[f+26396>>2]|0)+ma>>0]=0;c[g+864>>2]=0;h=0}else ga=12}else ga=12;a:do if((ga|0)==12){if(c[W>>2]|0?(c[ea>>2]&1|0)==0:0){Y=rk(f,g)|0;c[g+21828>>2]=Y;c[g+21832>>2]=Y}c[g+21648>>2]=0;V=g+21828|0;tk(f,g,0-(c[V>>2]|0)|0);b:do switch(c[$>>2]|0){case 3:{j=g+32856|0;c:do if(!(uk(j,28-(((c[g+21740>>2]|0)+511|0)>>>8&1)+(((c[g+21732>>2]|0)+511|0)>>>8&1^1)+(g+32904)|0)|0)){c[ia>>2]=0;h=0}else{if(!(uk(j,g+32934|0)|0)){h=(uk(j,g+32936|0)|0)+1|0;c[ia>>2]=h;break}i=(uk(j,g+32935|0)|0)<<3;h=g+32936|0;i=((uk(j,h)|0)<<2)+i|0;i=i+((uk(j,h)|0)<<1)|0;i=i+(uk(j,h)|0)|0;if((i|0)<8){h=i+3|0;c[ia>>2]=h;break}switch(i|0){case 13:{h=vk(g,32,0)|0;c[ia>>2]=h;ga=36;break b}case 14:{c[ia>>2]=11;h=11;break c}case 15:{c[ia>>2]=22;h=22;break c}default:{h=(i<<1)+-4+(uk(j,h)|0)|0;c[ia>>2]=h;break c}}}while(0);i=a[114372+(h<<2)+2>>0]|0;h=e[114372+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}case 2:{h=g+32856|0;if(uk(h,g+32918|0)|0){h=vk(g,17,0)|0;c[ia>>2]=h;ga=36;break b}if(!(uk(h,g+32919|0)|0))h=(uk(h,g+32920|0)|0)*3|0;else h=2-(uk(h,g+32921|0)|0)|0;i=a[114336+(h<<2)+2>>0]|0;h=e[114336+(h<<2)>>1]|0;c[ia>>2]=h;Y=0;break}default:{h=vk(g,3,1)|0;c[ia>>2]=h;if(h|0?(c[g+836>>2]|0)==5:0){h=h+-1|0;c[ia>>2]=h;ga=36}else ga=36}}while(0);if((ga|0)==36){Y=d[114232+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114232+(h<<2)+2>>0];h=e[114232+(h<<2)>>1]|0;c[ia>>2]=h;i=0}if(c[V>>2]|0){h=h|128;c[ia>>2]=h}b[(c[f+26372>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){i=(H(c[ca+1184>>2]|0,e[114516+(c[k>>2]<<1)>>1]|0)|0)>>3;j=g+32856|0;h=c[g+32872>>2]|0;k=c[j>>2]|0;h=(k&1|0)==0?h:h+-1|0;h=(k&511|0)==0?h:h+-1|0;k=c[g+32876>>2]|0;if((k-h|0)<(i|0)){h=-1;break}c[g+27780>>2]=h;h=h+i|0;h=rj(j,h,k-h|0)|0;if((h|0)<0)break;b[(c[f+26392>>2]|0)+(ma<<1)>>1]=-2065;a[(c[f+26396>>2]|0)+ma>>0]=0;a[(c[f+24340>>2]|0)+ma>>0]=0;j=(c[f+25972>>2]|0)+(ma*48|0)|0;k=j+48|0;do{a[j>>0]=16;j=j+1|0}while((j|0)<(k|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ia>>2];c[g+864>>2]=0;h=0;break}wk(f,g,h);d:do if(!(h&7)){if(i<<24>>24==4){e:do if((c[$>>2]|0)==3){h=0;while(1){if((h|0)==4)break;T=zk(g)|0;c[Z+(h<<2)>>2]=d[114464+((T&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114464+((T&65535)<<2)>>1]|0;h=h+1|0}if((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256){Nj(f,g,ia);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;h=0;while(1){if((h|0)==4)break e;T=(d[150645+(h<<2)>>0]|0)+(g+28512)|0;S=((e[g+28552+(h<<1)>>1]|0)>>>1&255)*257&65535;b[T>>1]=S;b[T+8>>1]=S;h=h+1|0}}}else{h=0;while(1){if((h|0)==4)break e;T=Ak(g)|0;c[Z+(h<<2)>>2]=d[114356+((T&65535)<<2)+2>>0];b[g+28552+(h<<1)>>1]=b[114356+((T&65535)<<2)>>1]|0;h=h+1|0}}while(0);T=g+23412|0;p=g+21832|0;o=0;f:while(1){h=c[T>>2]|0;if(o>>>0>=h>>>0){ga=80;break}l=4096<<(o<<1);n=g+23404+(o<<2)|0;k=0;while(1){if((k|0)>=4)break;h=e[g+28552+(k<<1)>>1]|0;if(!(h&256)){if(l&h){i=c[n>>2]<<c[p>>2];if(i>>>0>1){j=k<<2;h=Bk(g,o,j)|0;if(h>>>0>=i>>>0){ga=75;break f}}else{h=0;ga=76}}else{h=-1;ga=76}if((ga|0)==76){ga=0;j=k<<2}R=h&255;S=d[150645+j>>0]|0;a[S+9+(g+28272+(o*40|0))>>0]=R;a[S+8+(g+28272+(o*40|0))>>0]=R;a[S+1+(g+28272+(o*40|0))>>0]=R}k=k+1|0}o=o+1|0}do if((ga|0)==75){g=c[f+4>>2]|0;c[s>>2]=h;c[s+4>>2]=i;We(g,16,139948,s);h=-1}else if((ga|0)==80){if(!m)m=0;else{S=(c[(c[ha>>2]|0)+72>>2]|0)==0;m=g+28552|0;m=(((S?24117616:7340144)&c[m>>2]|0)==0?((S?24117616:7340144)&c[m+4>>2]|0)==0:0)&1}O=f+24312|0;P=g+21740|0;Q=g+21720|0;R=f+26360|0;S=f+26368|0;N=0;g:while(1){if(N>>>0>=h>>>0){ga=129;break}K=N<<1;G=4096<<K;I=g+28272+(N*40|0)+11|0;J=g+27952+(N*160|0)+40|0;K=12288<<K;L=g+27952+(N*160|0)+42|0;F=0;while(1){if((F|0)>=4)break;M=F<<2;h=d[150645+M>>0]|0;a[g+28272+(N*40|0)+h>>0]=a[h+1+(g+28272+(N*40|0))>>0]|0;i=e[g+28552+(F<<1)>>1]|0;h:do if(!(i&256)){if(!(G&i)){c[g+27952+(N*160|0)+(h<<2)>>2]=0;c[g+27952+(N*160|0)+(h<<2)+4>>2]=0;c[g+27952+(N*160|0)+(h<<2)+32>>2]=0;c[g+27952+(N*160|0)+(h<<2)+36>>2]=0;ga=125;break}B=i&24|0?2:1;C=c[Z+(F<<2)>>2]|0;D=(i&8|0)==0;E=(i&16|0)==0;x=(i&32|0)==0;w=0;while(1){if((w|0)>=(C|0))break h;h=a[150645+((H(w,B)|0)+M)>>0]|0;y=h&255;z=g+27952+(N*160|0)+(y<<2)|0;A=g+28352+(N*80|0)+(y<<1)|0;o=a[g+28272+(N*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(N*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(N*40|0)+v>>0]|0;q=g+27952+(N*160|0)+(v<<2)|0;t=g+27952+(N*160|0)+(u<<2)|0;i=u+B|0;j=a[g+28272+(N*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[I>>0]|0)==-2){ga=99;break}n=c[(c[O>>2]|0)+48>>2]|0;c[J>>2]=0;l=(c[P>>2]&128|0)==0;if(!(c[V>>2]|0)){if(l){ga=99;break}l=c[X>>2]|0;h=l+(c[Q>>2]|0)|0;i=(c[ea>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,l)|0)+h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=b[n+(l<<2)+2>>1]<<1;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!l){ga=99;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&K)){l=J;k=-1;break}k=c[O>>2]|0;n=c[k+36+(N<<2)>>2]|0;l=(c[(c[R>>2]|0)+(h<<2)>>2]|0)+3+(H(c[S>>2]|0,i&3)|0)|0;b[J>>1]=b[n+(l<<2)>>1]|0;b[L>>1]=(b[n+(l<<2)+2>>1]|0)/2|0;l=J;k=a[(c[k+68+(N<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ga=99;while(0);do if((ga|0)==99){ga=0;if(j){k=y+-9|0;l=g+27952+(N*160|0)+(k<<2)|0;k=a[g+28272+(N*40|0)+k>>0]|0;break}else{l=g+27952+(N*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}else{h=Ck(h,b[t>>1]|0,b[l>>1]|0)|0;i=Ck(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0;break}}if(i){h=b[q>>1]|0;i=b[g+27952+(N*160|0)+(v<<2)+2>>1]|0;break}if(j){h=b[t>>1]|0;i=b[g+27952+(N*160|0)+(u<<2)+2>>1]|0;break}else{h=b[l>>1]|0;i=b[l+2>>1]|0;break}}else{h=Ck(b[q>>1]|0,b[t>>1]|0,b[l>>1]|0)|0;i=Ck(b[g+27952+(N*160|0)+(v<<2)+2>>1]|0,b[g+27952+(N*160|0)+(u<<2)+2>>1]|0,b[l+2>>1]|0)|0}while(0);n=(d[g+28352+(N*80|0)+(u<<1)+1>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)+1>>0]|0)|0;u=Dk(g,40,(d[g+28352+(N*80|0)+(u<<1)>>0]|0)+(d[g+28352+(N*80|0)+(v<<1)>>0]|0)|0,_)|0;v=Dk(g,47,n,U)|0;n=u+h|0;l=v+i|0;if((u|0)==-2147483648|(v|0)==-2147483648){ga=123;break g}do if(D){if(!E){b[z+4>>1]=n;b[z+6>>1]=l;i=c[_>>2]|0;a[A+2>>0]=i;h=c[U>>2]|0;j=h&255;k=1;ga=121;break}if(x){i=c[_>>2]|0;h=c[U>>2]|0;break}else{b[z+32>>1]=n;b[z+34>>1]=l;i=c[_>>2]|0;a[A+16>>0]=i;h=c[U>>2]|0;j=h&255;k=8;ga=121;break}}else{i=n&65535;b[z+36>>1]=i;b[z+32>>1]=i;b[z+4>>1]=i;i=l&65535;b[z+38>>1]=i;b[z+34>>1]=i;b[z+6>>1]=i;i=c[_>>2]|0;h=i&255;a[A+18>>0]=h;a[A+16>>0]=h;a[A+2>>0]=h;h=c[U>>2]|0;j=h&255;a[A+19>>0]=j;a[A+17>>0]=j;k=1;ga=121}while(0);if((ga|0)==121){ga=0;a[A+(k<<1)+1>>0]=j}b[z>>1]=n;b[g+27952+(N*160|0)+(y<<2)+2>>1]=l;a[A>>0]=i;a[g+28352+(N*80|0)+(y<<1)+1>>0]=h;w=w+1|0}}else ga=125;while(0);if((ga|0)==125){ga=0;c[g+28352+(N*80|0)+(h<<1)>>2]=0;c[g+28352+(N*80|0)+(h<<1)+16>>2]=0}F=F+1|0}N=N+1|0;h=c[T>>2]|0}if((ga|0)==123){h=-1094995529;break}else if((ga|0)==129)break d}while(0);break a}if(h&256|0){Nj(f,g,ia);c[g+28376>>2]=0;c[g+28380>>2]=0;c[g+28392>>2]=0;c[g+28396>>2]=0;c[g+28408>>2]=0;c[g+28412>>2]=0;c[g+28424>>2]=0;c[g+28428>>2]=0;c[g+28456>>2]=0;c[g+28460>>2]=0;c[g+28472>>2]=0;c[g+28476>>2]=0;c[g+28488>>2]=0;c[g+28492>>2]=0;c[g+28504>>2]=0;c[g+28508>>2]=0;m=c[ca+72>>2]&m;break}if(h&8|0){t=g+23412|0;k=c[ia>>2]|0;l=g+21832|0;j=0;while(1){h=c[t>>2]|0;if(j>>>0>=h>>>0)break;if(k&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[l>>2];if(i>>>0>1){h=Bk(g,j,0)|0;if(h>>>0>=i>>>0){ga=140;break}}else h=0;X=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=X;c[g+28272+(j*40|0)+20>>2]=X;c[g+28272+(j*40|0)+28>>2]=X;c[g+28272+(j*40|0)+36>>2]=X}j=j+1|0}if((ga|0)==140){g=c[f+4>>2]|0;c[n>>2]=h;c[n+4>>2]=i;We(g,16,139948,n);h=-1;break a}s=0;while(1){if(s>>>0>=h>>>0)break d;if(c[ia>>2]&4096<<(s<<1)){i=a[g+28272+(s*40|0)+12>>0]|0;o=a[g+28272+(s*40|0)+4>>0]|0;p=a[g+28272+(s*40|0)+11>>0]|0;n=g+27952+(s*160|0)+44|0;q=g+27952+(s*160|0)+16|0;h=a[g+28272+(s*40|0)+8>>0]|0;if(h<<24>>24==-2){r=g+27952+(s*160|0)+12|0;l=a[g+28272+(s*40|0)+3>>0]|0}else{r=g+27952+(s*160|0)+32|0;l=h<<24>>24}j=o<<24>>24==i<<24>>24;k=p<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){k=b[n>>1]|0;if(p<<24>>24!=-2&(o<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(s*160|0)+46>>1]|0;break}else{k=Ck(k,b[q>>1]|0,b[r>>1]|0)|0;h=Ck(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0;break}}if(k){k=b[n>>1]|0;h=b[g+27952+(s*160|0)+46>>1]|0;break}if(j){k=b[q>>1]|0;h=b[g+27952+(s*160|0)+18>>1]|0;break}else{k=b[r>>1]|0;h=b[r+2>>1]|0;break}}else{k=Ck(b[n>>1]|0,b[q>>1]|0,b[r>>1]|0)|0;h=Ck(b[g+27952+(s*160|0)+46>>1]|0,b[g+27952+(s*160|0)+18>>1]|0,b[r+2>>1]|0)|0}while(0);j=(d[g+28352+(s*80|0)+9>>0]|0)+(d[g+28352+(s*80|0)+23>>0]|0)|0;i=Dk(g,40,(d[g+28352+(s*80|0)+8>>0]|0)+(d[g+28352+(s*80|0)+22>>0]|0)|0,Z)|0;j=Dk(g,47,j,_)|0;if((i|0)==-2147483648|(j|0)==-2147483648)break;X=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(s*80|0)+24>>2]=X;c[g+28352+(s*80|0)+28>>2]=X;c[g+28352+(s*80|0)+40>>2]=X;c[g+28352+(s*80|0)+44>>2]=X;c[g+28352+(s*80|0)+56>>2]=X;c[g+28352+(s*80|0)+60>>2]=X;c[g+28352+(s*80|0)+72>>2]=X;c[g+28352+(s*80|0)+76>>2]=X;h=j+h<<16|i+k&65535;c[g+27952+(s*160|0)+48>>2]=h;c[g+27952+(s*160|0)+52>>2]=h;c[g+27952+(s*160|0)+56>>2]=h;c[g+27952+(s*160|0)+60>>2]=h;c[g+27952+(s*160|0)+80>>2]=h;c[g+27952+(s*160|0)+84>>2]=h;c[g+27952+(s*160|0)+88>>2]=h;c[g+27952+(s*160|0)+92>>2]=h;c[g+27952+(s*160|0)+112>>2]=h;c[g+27952+(s*160|0)+116>>2]=h;c[g+27952+(s*160|0)+120>>2]=h;c[g+27952+(s*160|0)+124>>2]=h;c[g+27952+(s*160|0)+144>>2]=h;c[g+27952+(s*160|0)+148>>2]=h;c[g+27952+(s*160|0)+152>>2]=h;c[g+27952+(s*160|0)+156>>2]=h;h=c[t>>2]|0}s=s+1|0}h=-1094995529;break a}S=g+23412|0;o=c[ia>>2]|0;p=g+21832|0;if(!(h&16))n=0;else{n=0;i:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=Bk(g,n,j<<3)|0;if(h>>>0>=i>>>0){ga=171;break i}}else h=0;h=H(h,16843009)|0}U=(j<<4|12)+(g+28272+(n*40|0))|0;c[U>>2]=h;c[U+8>>2]=h;j=j+1|0}n=n+1|0}if((ga|0)==171){g=c[f+4>>2]|0;c[r>>2]=h;c[r+4>>2]=i;We(g,16,139948,r);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;j:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+4|0;B=g+27952+(M*160|0)+16|0;C=g+27952+(M*160|0)+18|0;D=g+28272+(M*40|0)+11|0;E=g+27952+(M*160|0)+40|0;F=12288<<z;G=g+27952+(M*160|0)+42|0;I=g+28272+(M*40|0)+27|0;J=g+27952+(M*160|0)+108|0;K=g+27952+(M*160|0)+110|0;y=0;while(1){if((y|0)>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=y<<4|12;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+4>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+20>>2]=0;T=g+27952+(M*160|0)+(U<<2)|0;U=g+27952+(M*160|0)+(U<<2)+32|0;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[T+12>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0}else{x=y<<3;L=y<<4|12;p=a[g+28272+(M*40|0)+L>>0]|0;q=p<<24>>24;do if(!y){if((a[A>>0]|0)!=p<<24>>24){ga=183;break}k=b[B>>1]|0;j=b[C>>1]|0}else{if((a[I>>0]|0)!=p<<24>>24){ga=183;break}k=b[J>>1]|0;j=b[K>>1]|0}while(0);do if((ga|0)==183){ga=0;k=a[150645+x>>0]|0;n=k&255;w=n+-8|0;u=a[g+28272+(M*40|0)+w>>0]|0;v=n+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;r=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(w<<2)|0;h=n+-4|0;i=a[g+28272+(M*40|0)+h>>0]|0;l=i<<24>>24;i=i<<24>>24==-2;do if((n&7|0)==4&((k&255)>19&(i&(c[W>>2]|0)!=0))){if((a[D>>0]|0)==-2){ga=192;break}o=c[(c[N>>2]|0)+48>>2]|0;c[E>>2]=0;j=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(j){ga=192;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,U)|0)+i<<2)>>2]&F)){n=E;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[E>>1]=b[U+(n<<2)>>1]|0;b[G>>1]=b[U+(n<<2)+2>>1]<<1;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!j){ga=192;break}i=c[g+21720+(((k&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&F)){n=E;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[E>>1]=b[U+(n<<2)>>1]|0;b[G>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=E;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ga=192;while(0);do if((ga|0)==192){ga=0;if(i){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(h<<2)|0;break}}while(0);j=u<<24>>24==p<<24>>24;i=s<<24>>24==p<<24>>24;h=(i&1)+(j&1)+((l|0)==(q|0)&1)|0;if(h>>>0>1){k=Ck(b[r>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Ck(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[r>>1]|0;if(s<<24>>24!=-2&(u<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=Ck(k,b[t>>1]|0,b[n>>1]|0)|0;j=Ck(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[r>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);U=d[150645+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Dk(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=Dk(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break j;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+4>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+20>>2]=U;U=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+8>>2]=U;c[g+27952+(M*160|0)+(L<<2)+12>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+40>>2]=U;c[g+27952+(M*160|0)+(L<<2)+44>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}k:while(1){h=c[S>>2]|0;if(n>>>0>=h>>>0)break;k=n<<1;l=g+23404+(n<<2)|0;j=0;while(1){if((j|0)>=2)break;if(!(o&4096<<j+k))h=-1;else{i=c[l>>2]<<c[p>>2];if(i>>>0>1){h=Bk(g,n,j<<2)|0;if(h>>>0>=i>>>0){ga=220;break k}}else h=0;h=h*257&65535}U=(j<<1)+12+(g+28272+(n*40|0))|0;b[U>>1]=h;b[U+8>>1]=h;b[U+16>>1]=h;b[U+24>>1]=h;j=j+1|0}n=n+1|0}if((ga|0)==220){g=c[f+4>>2]|0;c[q>>2]=h;c[q+4>>2]=i;We(g,16,139948,q);h=-1;break a}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;l:while(1){if(M>>>0>=h>>>0)break d;z=M<<1;A=g+28272+(M*40|0)+11|0;B=g+27952+(M*160|0)+44|0;C=g+27952+(M*160|0)+46|0;D=g+27952+(M*160|0)+40|0;E=12288<<z;F=g+27952+(M*160|0)+42|0;G=g+28272+(M*40|0)+8|0;I=g+27952+(M*160|0)+20|0;J=g+28272+(M*40|0)+5|0;K=g+27952+(M*160|0)+32|0;y=0;while(1){if((y|0)>=2)break;if(!(c[ia>>2]&4096<<y+z)){U=(y<<1)+12|0;c[g+28352+(M*80|0)+(U<<1)>>2]=0;c[g+28352+(M*80|0)+(U<<1)+16>>2]=0;c[g+28352+(M*80|0)+(U<<1)+32>>2]=0;c[g+28352+(M*80|0)+(U<<1)+48>>2]=0;c[g+27952+(M*160|0)+(U<<2)>>2]=0;c[g+27952+(M*160|0)+(U<<2)+4>>2]=0;c[g+27952+(M*160|0)+(U<<2)+32>>2]=0;c[g+27952+(M*160|0)+(U<<2)+36>>2]=0;c[g+27952+(M*160|0)+(U<<2)+64>>2]=0;c[g+27952+(M*160|0)+(U<<2)+68>>2]=0;c[g+27952+(M*160|0)+(U<<2)+96>>2]=0;c[g+27952+(M*160|0)+(U<<2)+100>>2]=0}else{x=y<<2;L=(y<<1)+12|0;q=a[g+28272+(M*40|0)+L>>0]|0;u=q<<24>>24;do if(!y)if((a[A>>0]|0)==q<<24>>24){k=b[B>>1]|0;j=b[C>>1]|0}else ga=234;else{h=a[G>>0]|0;if(h<<24>>24==-2){i=I;h=a[J>>0]|0}else i=K;if(h<<24>>24!=q<<24>>24){ga=234;break}k=b[i>>1]|0;j=b[i+2>>1]|0}while(0);do if((ga|0)==234){ga=0;h=a[150645+x>>0]|0;n=h&255;v=n+-8|0;r=a[g+28272+(M*40|0)+v>>0]|0;w=n+-1|0;s=a[g+28272+(M*40|0)+w>>0]|0;p=g+27952+(M*160|0)+(w<<2)|0;t=g+27952+(M*160|0)+(v<<2)|0;i=n+-6|0;j=a[g+28272+(M*40|0)+i>>0]|0;l=j<<24>>24;j=j<<24>>24==-2;do if((n&7|0)==4&((h&255)>19&(j&(c[W>>2]|0)!=0))){if((a[A>>0]|0)==-2){ga=243;break}o=c[(c[N>>2]|0)+48>>2]|0;c[D>>2]=0;k=(c[O>>2]&128|0)==0;if(!(c[V>>2]|0)){if(k){ga=243;break}U=c[X>>2]|0;i=U+(c[P>>2]|0)|0;h=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(h>>>2,U)|0)+i<<2)>>2]&E)){n=D;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h)|0)|0;b[D>>1]=b[U+(n<<2)>>1]|0;b[F>>1]=b[U+(n<<2)+2>>1]<<1;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+((h&14)+(i<<2|1))>>0]>>1;break}else{if(!k){ga=243;break}i=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;h=n>>>2;if(!(c[o+(i<<2)>>2]&E)){n=D;l=-1;break}l=c[N>>2]|0;U=c[l+36+(M<<2)>>2]|0;n=(c[(c[Q>>2]|0)+(i<<2)>>2]|0)+3+(H(c[R>>2]|0,h&3)|0)|0;b[D>>1]=b[U+(n<<2)>>1]|0;b[F>>1]=(b[U+(n<<2)+2>>1]|0)/2|0;n=D;l=a[(c[l+68+(M<<2)>>2]|0)+(h&2|i<<2|1)>>0]<<1;break}}else ga=243;while(0);do if((ga|0)==243){ga=0;if(j){l=n+-9|0;n=g+27952+(M*160|0)+(l<<2)|0;l=a[g+28272+(M*40|0)+l>>0]|0;break}else{n=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==q<<24>>24;i=s<<24>>24==q<<24>>24;h=(i&1)+(j&1)+((l|0)==(u|0)&1)|0;if(h>>>0>1){k=Ck(b[p>>1]|0,b[t>>1]|0,b[n>>1]|0)|0;j=Ck(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}if((h|0)!=1){k=b[p>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(l|0)==-2)){j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}else{k=Ck(k,b[t>>1]|0,b[n>>1]|0)|0;j=Ck(b[g+27952+(M*160|0)+(w<<2)+2>>1]|0,b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[n+2>>1]|0)|0;break}}if(i){k=b[p>>1]|0;j=b[g+27952+(M*160|0)+(w<<2)+2>>1]|0;break}if(j){k=b[t>>1]|0;j=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{k=b[n>>1]|0;j=b[n+2>>1]|0;break}}while(0);U=d[150645+x>>0]|0;h=U+-1|0;U=U+-8|0;i=(d[g+28352+(M*80|0)+(U<<1)+1>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)+1>>0]|0)|0;h=Dk(g,40,(d[g+28352+(M*80|0)+(U<<1)>>0]|0)+(d[g+28352+(M*80|0)+(h<<1)>>0]|0)|0,Z)|0;i=Dk(g,47,i,_)|0;if((h|0)==-2147483648|(i|0)==-2147483648)break l;U=(c[_>>2]<<8&65280|c[Z>>2]&255)*65537|0;c[g+28352+(M*80|0)+(L<<1)>>2]=U;c[g+28352+(M*80|0)+(L<<1)+16>>2]=U;c[g+28352+(M*80|0)+(L<<1)+32>>2]=U;c[g+28352+(M*80|0)+(L<<1)+48>>2]=U;U=i+j<<16|h+k&65535;c[g+27952+(M*160|0)+(L<<2)>>2]=U;c[g+27952+(M*160|0)+(L<<2)+4>>2]=U;c[g+27952+(M*160|0)+(L<<2)+32>>2]=U;c[g+27952+(M*160|0)+(L<<2)+36>>2]=U;c[g+27952+(M*160|0)+(L<<2)+64>>2]=U;c[g+27952+(M*160|0)+(L<<2)+68>>2]=U;c[g+27952+(M*160|0)+(L<<2)+96>>2]=U;c[g+27952+(M*160|0)+(L<<2)+100>>2]=U}y=y+1|0}M=M+1|0;h=c[S>>2]|0}h=-1094995529;break a}else{if(!(h&1)){Z=g+21660|0;_=Lj(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[Z>>2]|0,0)|0;c[Z>>2]=_;if((_|0)<0){h=-1;break a}}else{m:do if((m|0)!=0?(uk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)!=0:0){c[ia>>2]=h|16777216;h=0;while(1){if((h|0)>=16)break m;_=d[150645+h>>0]|0;Z=a[_+-1+(g+21664)>>0]|0;X=a[_+-8+(g+21664)>>0]|0;Z=(Z|0)>(X|0)?X:Z;_=g+21664+_|0;Z=(xk(g,(Z|0)<0?2:Z)|0)*257&65535;b[_>>1]=Z;b[_+8>>1]=Z;h=h+4|0}}else{h=0;ga=50}while(0);n:do if((ga|0)==50)while(1){ga=0;if((h|0)==16)break n;ga=d[150645+h>>0]|0;_=a[ga+-1+(g+21664)>>0]|0;Z=a[ga+-8+(g+21664)>>0]|0;_=(_|0)>(Z|0)?Z:_;a[g+21664+ga>>0]=xk(g,(_|0)<0?2:_)|0;h=h+1|0;ga=50}while(0);_=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[_>>2]=c[g+21700>>2];a[_+4>>0]=a[g+21695>>0]|0;a[_+5>>0]=a[g+21687>>0]|0;a[_+6>>0]=a[g+21679>>0]|0;if((Kj(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<0){h=-1;break a}}if(ba){h=yk(f,g)|0;a[(c[f+26396>>2]|0)+ma>>0]=h;h=Lj(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,h,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h}while(0);if(c[ia>>2]&120|0){a[(c[f+26396>>2]|0)+ma>>0]=0;k=c[ia>>2]|0;h=c[f+26368>>2]|0;i=(H(h<<2,c[ea>>2]|0)|0)+(c[da>>2]<<2)|0;l=c[la>>2]<<2;if(!(k&12288)){_=(c[f+24384>>2]|0)+l|0;b[_>>1]=-1;b[_+2>>1]=-1}else{j=(c[f+24352>>2]|0)+(i<<2)|0;Z=g+28e3|0;_=c[Z+4>>2]|0;W=j;c[W>>2]=c[Z>>2];c[W+4>>2]=_;W=g+28008|0;_=c[W+4>>2]|0;Z=j+8|0;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28032|0;_=c[Z+4>>2]|0;W=j+(h<<2)|0;X=W;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28040|0;_=c[X+4>>2]|0;W=W+8|0;c[W>>2]=c[X>>2];c[W+4>>2]=_;W=g+28064|0;_=c[W+4>>2]|0;X=j+(h<<1<<2)|0;Z=X;c[Z>>2]=c[W>>2];c[Z+4>>2]=_;Z=g+28072|0;_=c[Z+4>>2]|0;X=X+8|0;c[X>>2]=c[Z>>2];c[X+4>>2]=_;X=g+28096|0;_=c[X+4>>2]|0;j=j+(h*3<<2)|0;Z=j;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28104|0;_=c[Z+4>>2]|0;j=j+8|0;c[j>>2]=c[Z>>2];c[j+4>>2]=_;j=(c[g+32848>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28424|0;Z=c[X+4>>2]|0;_=j;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=j+6|0;b[_+6>>1]=b[g+28382>>1]|0;b[_+4>>1]=b[g+28398>>1]|0;b[_+2>>1]=b[g+28414>>1]|0}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}_=(c[f+24384>>2]|0)+l|0;a[_>>0]=a[g+28284>>0]|0;a[_+1>>0]=a[g+28286>>0]|0;a[_+2>>0]=a[g+28300>>0]|0;a[_+3>>0]=a[g+28302>>0]|0}if(k&49152|0){Z=(c[f+24356>>2]|0)+(i<<2)|0;W=g+28160|0;_=c[W+4>>2]|0;V=Z;c[V>>2]=c[W>>2];c[V+4>>2]=_;V=g+28168|0;_=c[V+4>>2]|0;W=Z+8|0;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28192|0;_=c[W+4>>2]|0;V=Z+(h<<2)|0;X=V;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28200|0;_=c[X+4>>2]|0;V=V+8|0;c[V>>2]=c[X>>2];c[V+4>>2]=_;V=g+28224|0;_=c[V+4>>2]|0;X=Z+(h<<1<<2)|0;W=X;c[W>>2]=c[V>>2];c[W+4>>2]=_;W=g+28232|0;_=c[W+4>>2]|0;X=X+8|0;c[X>>2]=c[W>>2];c[X+4>>2]=_;X=g+28256|0;_=c[X+4>>2]|0;h=Z+(h*3<<2)|0;Z=h;c[Z>>2]=c[X>>2];c[Z+4>>2]=_;Z=g+28264|0;_=c[Z+4>>2]|0;h=h+8|0;c[h>>2]=c[Z>>2];c[h+4>>2]=_;h=(c[g+32852>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]<<1)|0;if(!(k&2048)){X=g+28504|0;Z=c[X+4>>2]|0;_=h;c[_>>2]=c[X>>2];c[_+4>>2]=Z;_=h+6|0;b[_+6>>1]=b[g+28462>>1]|0;b[_+4>>1]=b[g+28478>>1]|0;b[_+2>>1]=b[g+28494>>1]|0}else{c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}_=(c[f+24388>>2]|0)+l|0;a[_>>0]=a[g+28324>>0]|0;a[_+1>>0]=a[g+28326>>0]|0;a[_+2>>0]=a[g+28340>>0]|0;a[_+3>>0]=a[g+28342>>0]|0}if(!((k&64|0)==0|(c[$>>2]|0)!=3)){$=(c[f+26408>>2]|0)+(c[la>>2]<<2)|0;a[$+1>>0]=(e[g+28554>>1]|0)>>>1;a[$+2>>0]=(e[g+28556>>1]|0)>>>1;a[$+3>>0]=(e[g+28558>>1]|0)>>>1}}if(!(c[ia>>2]&2)){h=Ek(g)|0;if(ba)u=(Fk(g)|0)<<4|h;else u=h}else if(Y>>>0>15&(ba^1)){We(c[f+4>>2]|0,16,139968,aa);h=-1094995529;break}else u=Y;c[g+21856>>2]=u;b[(c[f+26392>>2]|0)+(ma<<1)>>1]=u;s=(u&15|0)==0;if(!((m|0)==0|s)?(c[ia>>2]&7|0)==0:0){ba=(uk(g+32856|0,(c[g+21840>>2]|0)+399+(g+32904)|0)|0)<<24;c[ia>>2]=c[ia>>2]|ba}k=c[ia>>2]|0;do if(!((k&16777216|0)==0?1:(c[(c[ha>>2]|0)+12>>2]|0)!=3)){if((c[f+25704>>2]|0)>>>0>=151){h=0;while(1){if((h|0)==2)break;i=c[g+21740+(h<<2)>>2]|0;if((i|0)!=0&(i&16777216|0)==0){aa=i<<4&64;ba=h<<4;a[ba+99+(g+27824)>>0]=aa;a[ba+91+(g+27824)>>0]=aa;a[ba+59+(g+27824)>>0]=aa;a[ba+51+(g+27824)>>0]=aa;a[ba+19+(g+27824)>>0]=aa;a[(ba|11)+(g+27824)>>0]=aa}h=h+1|0}ba=c[g+21732>>2]|0;h=(ba&4|0)==0?0:1077952576;if(!((ba|0)!=0&(ba&16777216|0)==0))break;c[g+27828>>2]=h;c[g+27868>>2]=h;c[g+27908>>2]=h;break}i=k&7;j=i|0?64:0;h=0;while(1){if((h|0)==2)break;ba=c[g+21740+(h<<2)>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=h<<4;a[ba+99+(g+27824)>>0]=j;a[ba+91+(g+27824)>>0]=j;a[ba+59+(g+27824)>>0]=j;a[ba+51+(g+27824)>>0]=j;a[ba+19+(g+27824)>>0]=j;a[(ba|11)+(g+27824)>>0]=j}h=h+1|0}ba=c[g+21732>>2]|0;if((ba|0)!=0&(ba&16777216|0)==0){ba=(i|0)==0?0:1077952576;c[g+27828>>2]=ba;c[g+27868>>2]=ba;c[g+27908>>2]=ba}}while(0);c[(c[f+24364>>2]|0)+(ma<<2)>>2]=k;if((u|0)==0?(c[ia>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;c[g+864>>2]=0;h=g+848|0}else ga=302;o:do if((ga|0)==302){v=g+32856|0;m=g+864|0;do if(uk(v,(c[m>>2]|0?61:60)+(g+32904)|0)|0){k=(c[ca+1184>>2]|0)*6|0;l=k+3|0;i=l<<1;h=62;j=1;while(1){if(!(uk(v,g+32904+h|0)|0)){ga=306;break}if((j|0)<(i|0)){h=63;j=j+1|0}else{ga=429;break}}if((ga|0)==306){q=j+1>>1;q=(j&1|0)==0?0-q|0:q;c[m>>2]=q;h=g+848|0;q=(c[h>>2]|0)+q|0;q=(q>>>0>l>>>0?((q|0)<0?k+4|0:-4-k|0):0)+q|0;c[h>>2]=q;ga=c[ja>>2]|0;c[g+852>>2]=d[ga+548+q>>0];c[g+856>>2]=d[ga+636+q>>0];break}else if((ga|0)==429){h=c[f+4>>2]|0;g=c[ea>>2]|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=g;We(h,16,139981,fa);h=-1;break a}}else{c[m>>2]=0;q=g+848|0;h=q;q=c[q>>2]|0}while(0);i=c[ia>>2]|0;ga=(i&128|0)==0;r=(q|0)!=0;t=ga?(r?f+26428|0:f+26716|0):r?f+26572|0:f+26860|0;r=ga?(r?f+26444|0:f+26732|0):r?f+26588|0:f+26876|0;p:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break p;q:do if(!(1<<n&u)){ga=(d[150645+(n<<2)>>0]|0)+(g+27824)|0;b[ga>>1]=0;b[ga+8>>1]=0}else{if(!o){i=n<<2;j=g+28560+(n<<6<<ka<<1)|0;k=(c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0)+(q<<8)|0;do if((c[(c[ha>>2]|0)+12>>2]|0)==3){l=d[150645+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(Gk(v,((a[l+-8+(g+27824)>>0]|0?ga|2:ga)|1012)+(g+32904)|0)|0)break;ga=g+27824+l|0;b[ga>>1]=0;b[ga+8>>1]=0;break q}while(0);Ik(f,g,j,5,i,r,k,64);break}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=n<<2;i=0;while(1){if((i|0)==4)break q;l=i+k|0;m=d[150645+l>>0]|0;ga=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,(a[m+-8+(g+27824)>>0]|0?ga|2:ga)+93+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Ik(f,g,g+28560+(l<<4<<ka<<1)|0,2,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31632|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Gk(v,((c[g+21860>>2]|0)>>>7&2|(c[g+21864>>2]|0)>>>8&1)+85+(g+32904)|0)|0))a[g+27824>>0]=0;else Hk(f,g,i,0,48,t,16);if(s){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;break}j=(c[(c[ja>>2]|0)+173788>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break p;l=d[150645+i>>0]|0;ga=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,(a[l+-8+(g+27824)>>0]|0?ga|2:ga)+89+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Ik(f,g,g+28560+(i<<4<<ka<<1)|0,1,i,k,j,15);i=i+1|0}}while(0);j=c[(c[ha>>2]|0)+12>>2]|0;if((j|0)!=3){i=(u&48|0)!=0;if((j|0)!=2){r:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break r;l=i+49|0;ga=1<<i+6;ha=(c[j>>2]&ga|0)!=0&1;if(!(Gk(v,(c[k>>2]&ga|0?ha|2:ha)+97+(g+32904)|0)|0))a[(d[150645+l>>0]|0)+(g+27824)>>0]=0;else Hk(f,g,g+28560+((i<<8)+256<<ka<<1)|0,3,l,128049,4);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=t+1|0;i=0;s:while(1){if((i|0)==2)break o;n=i+1|0;o=(c[(c[ja>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+n<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;j=(i<<4)+16|0;i=0;while(1){if((i|0)==4){i=n;continue s}k=j+i|0;l=d[150645+k>>0]|0;ha=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,(a[l+-8+(g+27824)>>0]|0?ha|2:ha)+101+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Ik(f,g,g+28560+(k<<4<<ka<<1)|0,4,k,m,o,15);i=i+1|0}}}t:do if(i){j=g+21864|0;k=g+21860|0;i=0;while(1){if((i|0)==2)break t;l=i+49|0;ga=1<<i+6;ha=(c[j>>2]&ga|0)!=0&1;if(!(Gk(v,(c[k>>2]&ga|0?ha|2:ha)+97+(g+32904)|0)|0))a[(d[150645+l>>0]|0)+(g+27824)>>0]=0;else Jk(f,g,g+28560+((i<<8)+256<<ka<<1)|0,l);i=i+1|0}}while(0);if(!(u&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}u=16<<ka;q=t+1|0;r=u<<2;i=0;u:while(1){if((i|0)==2)break o;s=(i<<4)+16|0;t=i+1|0;m=(c[(c[ja>>2]|0)+173788+((c[ia>>2]&7|0?0:3)+t<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;i=g+28560+(s<<4<<ka<<1)|0;j=0;while(1){if((j|0)==2){i=t;continue u}n=(j<<3)+s|0;k=0;l=i;while(1){if((k|0)==4)break;o=n+k|0;p=d[150645+o>>0]|0;ha=(a[p+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,(a[p+-8+(g+27824)>>0]|0?ha|2:ha)+101+(g+32904)|0)|0))a[g+27824+p>>0]=0;else Ik(f,g,l,4,o,q,m,15);k=k+1|0;l=l+(u<<1)|0}i=i+(r<<1)|0;j=j+1|0}}}i=c[ia>>2]|0;q=c[g+852>>2]|0;v:do if(!(i&2)){p=i&7|0?1:4;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break v;w:do if(!(1<<n&u)){ha=(d[150645+((n<<2)+16)>>0]|0)+(g+27824)|0;b[ha>>1]=0;b[ha+8>>1]=0}else{if(!o){i=(n<<2)+16|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[150645+i>>0]|0;ha=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[k+-8+(g+27824)>>0]|0?ha|2:ha)|1016)+(g+32904)|0)|0)){ha=g+27824+k|0;b[ha>>1]=0;b[ha+8>>1]=0;break}else{Ik(f,g,g+28560+(i<<4<<ka<<1)|0,9,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+16|0;i=0;while(1){if((i|0)==4)break w;l=k+i|0;m=d[150645+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[m+-8+(g+27824)>>0]|0?ha|2:ha)|468)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Ik(f,g,g+28560+(l<<4<<ka<<1)|0,8,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}else{i=g+31696|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Gk(v,((c[g+21864>>2]|0)>>>9&1|(c[g+21860>>2]|0)>>>8&2|460)+(g+32904)|0)|0))a[g+27864>>0]=0;else Hk(f,g,i,6,49,t,16);if(s){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}j=(c[(c[ja>>2]|0)+173792>>2]|0)+(q<<6)|0;k=t+1|0;i=0;while(1){if((i|0)==16)break v;l=i+16|0;m=d[150645+l>>0]|0;ha=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[m+-8+(g+27824)>>0]|0?ha|2:ha)|464)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Ik(f,g,g+28560+(l<<4<<ka<<1)|0,7,l,k,j,15);i=i+1|0}}while(0);i=c[ia>>2]|0;q=c[g+856>>2]|0;if(i&2|0){i=g+31760|0;j=i;k=j+64|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));if(!(Gk(v,((c[g+21864>>2]|0)>>>10&1|(c[g+21860>>2]|0)>>>9&2|472)+(g+32904)|0)|0))a[g+27904>>0]=0;else Hk(f,g,i,10,50,t,16);if(s){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}m=(c[(c[ja>>2]|0)+173796>>2]|0)+(q<<6)|0;j=t+1|0;i=0;while(1){if((i|0)==16)break o;k=i+32|0;l=d[150645+k>>0]|0;ja=(a[l+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[l+-8+(g+27824)>>0]|0?ja|2:ja)|476)+(g+32904)|0)|0))a[g+27824+l>>0]=0;else Ik(f,g,g+28560+(k<<4<<ka<<1)|0,11,k,j,m,15);i=i+1|0}}p=i&7|0?2:5;o=(i&16777216|0)==0;n=0;while(1){if((n|0)==4)break o;x:do if(!(1<<n&u)){ia=(d[150645+((n<<2)+32)>>0]|0)+(g+27824)|0;b[ia>>1]=0;b[ia+8>>1]=0}else{if(!o){i=(n<<2)+32|0;j=c[(c[ja>>2]|0)+173812+(p<<2)>>2]|0;k=d[150645+i>>0]|0;ia=(a[k+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[k+-8+(g+27824)>>0]|0?ia|2:ia)|1020)+(g+32904)|0)|0)){ia=g+27824+k|0;b[ia>>1]=0;b[ia+8>>1]=0;break}else{Ik(f,g,g+28560+(i<<4<<ka<<1)|0,13,i,r,j+(q<<8)|0,64);break}}j=(c[(c[ja>>2]|0)+173788+(p<<2)>>2]|0)+(q<<6)|0;k=(n<<2)+32|0;i=0;while(1){if((i|0)==4)break x;l=k+i|0;m=d[150645+l>>0]|0;ia=(a[m+-1+(g+27824)>>0]|0)!=0&1;if(!(Gk(v,((a[m+-8+(g+27824)>>0]|0?ia|2:ia)|480)+(g+32904)|0)|0))a[g+27824+m>>0]=0;else Ik(f,g,g+28560+(l<<4<<ka<<1)|0,12,l,t,j,16);i=i+1|0}}while(0);n=n+1|0}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Ec=na;return h|0}function vj(a,b){a=a|0;b=b|0;if((c[(c[a+28216>>2]|0)+12>>2]|0)==3)dk(a,b);else ek(a,b);return}function wj(a){a=a|0;var b=0,d=0;d=a+4|0;b=(c[d>>2]|0)+-2|0;c[d>>2]=b;if((c[a>>2]|0)<(b<<17|0)){bk(a);a=0}else a=(c[a+16>>2]|0)-(c[a+12>>2]|0)|0;return a|0}function xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+26380|0;h=(c[i>>2]|0)!=3&1;k=c[b+21792>>2]>>h<<4;h=c[a+27008>>2]<<4>>h;g=c[a+26376>>2]|0;d=16<<g;g=20<<g;j=(c[b+868>>2]|0)==0;d=(j|(k+d|0)<(h|0)?0:g)+d|0;g=k-(j?0:g)|0;if((!((h|0)<=(g|0)|(d+g|0)<0)?(f=h-g|0,e=(g|0)<0,f=((d|0)>(f|0)?f:d)+(e?g:0)|0,e=e?0:g,ak(a,b,e,f),(c[a+25684>>2]|0)==0):0)?(c[(c[(c[b>>2]|0)+25628>>2]|0)+600>>2]|0)==0:0)Bh((c[a+24312>>2]|0)+4|0,e+-1+f|0,(c[i>>2]|0)==2&1);return}function yj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;f=c[a+27016>>2]|0;g=(H(f,c[b+21792>>2]|0)|0)+(c[b+21788>>2]|0)|0;h=c[a+26372>>2]|0;d=g+-1|0;i=c[b+832>>2]|0;if((i|0)!=(e[h+(d<<1)>>1]|0|0)){d=g-f|0;if((i|0)==(e[h+(d<<1)>>1]|0|0))j=3;else d=0}else j=3;if((j|0)==3)d=(c[(c[a+24364>>2]|0)+(d<<2)>>2]|0)>>>7&1;c[b+21828>>2]=d;c[b+21832>>2]=d;return}function zj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=Ec;Ec=Ec+208|0;fa=na+128|0;_=na+120|0;ba=na+104|0;aa=na+88|0;r=na+80|0;q=na+72|0;p=na+64|0;s=na+56|0;n=na+40|0;o=na+24|0;m=na+16|0;k=na;ha=na+192|0;T=na+176|0;U=na+144|0;ka=f+28212|0;V=c[(c[ka>>2]|0)+64>>2]|0;ga=f+28216|0;$=((c[(c[ga>>2]|0)+12>>2]|0)+-1|0)>>>0<2;ja=c[f+25664>>2]|0;da=g+21788|0;ea=g+21792|0;Y=f+27016|0;ma=(H(c[Y>>2]|0,c[ea>>2]|0)|0)+(c[da>>2]|0)|0;la=g+21796|0;c[la>>2]=ma;l=g+840|0;if((c[l>>2]|0)!=1){j=g+21816|0;h=c[j>>2]|0;if((h|0)==-1){h=Aj(g+4|0)|0;c[j>>2]=h}i=h+-1|0;c[j>>2]=i;if(h){if(c[f+26376>>2]|0?(c[ea>>2]&1|i|0)==0:0){ma=Bj(g+4|0)|0;c[g+21828>>2]=ma;c[g+21832>>2]=ma}Cj(f,g);h=0}else ca=9}else ca=9;a:do if((ca|0)==9){X=f+26376|0;if(c[X>>2]|0?(c[ea>>2]&1|0)==0:0){ia=Bj(g+4|0)|0;c[g+21828>>2]=ia;c[g+21832>>2]=ia}c[g+21648>>2]=0;ia=g+4|0;i=Dj(ia)|0;c[ha>>2]=i;b:do switch(c[l>>2]|0){case 3:if(i>>>0<23){Z=a[114372+(i<<2)+2>>0]|0;h=e[114372+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-23|0;c[ha>>2]=h;ca=21;break b}case 2:if(i>>>0<5){Z=a[114336+(i<<2)+2>>0]|0;h=e[114336+(i<<2)>>1]|0;c[ha>>2]=h;i=Z;Z=0;break b}else{h=i+-5|0;c[ha>>2]=h;ca=21;break b}default:{h=i+-1|0;if(i|0?(c[g+836>>2]|0)==5:0){c[ha>>2]=h;ca=21}else{h=i;ca=21}}}while(0);do if((ca|0)==21)if(h>>>0>25){f=c[f+4>>2]|0;la=(Xh(c[g+836>>2]|0)|0)<<24>>24;ma=c[da>>2]|0;g=c[ea>>2]|0;c[k>>2]=h;c[k+4>>2]=la;c[k+8>>2]=ma;c[k+12>>2]=g;We(f,16,139146,k);h=-1;break a}else{Z=d[114232+(h<<2)+3>>0]|0;c[g+21660>>2]=d[114232+(h<<2)+2>>0];h=e[114232+(h<<2)>>1]|0;c[ha>>2]=h;i=0;break}while(0);W=g+21828|0;if(c[W>>2]|0){h=h|128;c[ha>>2]=h}b[(c[f+26372>>2]|0)+(ma<<1)>>1]=c[g+832>>2];if(h&4|0){h=c[ga>>2]|0;h=H(c[h+1184>>2]|0,e[114516+(c[h+12>>2]<<1)>>1]|0)|0;c[g+27780>>2]=Ej(ia)|0;if((Fj(ia)|0)<(h|0)){We(c[f+4>>2]|0,16,139189,m);h=-1094995529;break}else{Gj(ia,h);a[(c[f+24340>>2]|0)+ma>>0]=0;k=(c[f+25972>>2]|0)+(ma*48|0)|0;l=k+48|0;do{a[k>>0]=16;k=k+1|0}while((k|0)<(l|0));c[(c[f+24364>>2]|0)+(ma<<2)>>2]=c[ha>>2];h=0;break}}Hj(f,g,h);Ij(f,g,h);c:do if(!(h&7)){if(i<<24>>24==4){d:do if((c[l>>2]|0)==3){h=0;while(1){if((h|0)>=4)break;i=Mj(ia)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>12){ca=52;break}c[T+(h<<2)>>2]=d[114464+(k<<2)+2>>0];b[j>>1]=b[114464+((i&65535)<<2)>>1]|0;h=h+1|0}if((ca|0)==52){g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[o>>2]=k;c[o+4>>2]=ma;c[o+8>>2]=f;We(g,16,139230,o);break}if(!((b[g+28554>>1]|b[g+28552>>1]|b[g+28556>>1]|b[g+28558>>1])&256))ca=56;else{Nj(f,g,ha);a[g+28342>>0]=-2;a[g+28302>>0]=-2;a[g+28326>>0]=-2;a[g+28286>>0]=-2;ca=56}}else{h=0;while(1){if((h|0)>=4){ca=56;break d}i=Mj(ia)|0;j=g+28552+(h<<1)|0;b[j>>1]=i;k=i&65535;if(k>>>0>3)break;c[T+(h<<2)>>2]=d[114356+(k<<2)+2>>0];b[j>>1]=b[114356+((i&65535)<<2)>>1]|0;h=h+1|0}g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[n>>2]=k;c[n+4>>2]=ma;c[n+8>>2]=f;We(g,16,139270,n)}while(0);do if((ca|0)==56){S=g+23412|0;m=g+21832|0;l=0;e:while(1){h=c[S>>2]|0;if(l>>>0>=h>>>0)break;if(!(c[ha>>2]&512))k=c[g+23404+(l<<2)>>2]<<c[m>>2];else k=1;j=4096<<(l<<1);i=0;while(1){if((i|0)>=4)break;h=e[g+28552+(i<<1)>>1]|0;if(!(h&256)){f:do if(!(j&h))h=-1;else switch(k|0){case 1:{h=0;break f}case 2:{h=(Bj(ia)|0)^1;break f}default:{h=Mj(ia)|0;if(h>>>0<k>>>0)break f;else{ca=73;break e}}}while(0);c[U+(l<<4)+(i<<2)>>2]=h}i=i+1|0}l=l+1|0}if((ca|0)==73){g=c[f+4>>2]|0;c[s>>2]=h;We(g,16,139310,s);break}if(!V)l=0;else{V=(c[(c[ga>>2]|0)+72>>2]|0)==0;l=g+28552|0;l=(((V?24117616:7340144)&c[l>>2]|0)==0?((V?24117616:7340144)&c[l+4>>2]|0)==0:0)&1}N=f+24312|0;O=g+21740|0;P=g+21720|0;Q=f+26360|0;R=f+26368|0;M=0;while(1){if(M>>>0>=h>>>0)break;J=M<<1;F=4096<<J;G=g+28272+(M*40|0)+11|0;I=g+27952+(M*160|0)+40|0;J=12288<<J;K=g+27952+(M*160|0)+42|0;E=0;while(1){if((E|0)==4)break;h=g+28552+(E<<1)|0;g:do if(!(b[h>>1]&256)){V=c[U+(M<<4)+(E<<2)>>2]&255;L=E<<2;i=d[150645+L>>0]|0;a[i+9+(g+28272+(M*40|0))>>0]=V;a[i+8+(g+28272+(M*40|0))>>0]=V;a[i+1+(g+28272+(M*40|0))>>0]=V;a[g+28272+(M*40|0)+i>>0]=V;h=e[h>>1]|0;if(!(F&h)){c[g+27952+(M*160|0)+(i<<2)+36>>2]=0;c[g+27952+(M*160|0)+(i<<2)+32>>2]=0;c[g+27952+(M*160|0)+(i<<2)+4>>2]=0;c[g+27952+(M*160|0)+(i<<2)>>2]=0;break}A=h&24|0?2:1;B=c[T+(E<<2)>>2]|0;C=(h&8|0)==0;D=(h&16|0)==0;x=(h&32|0)==0;w=0;while(1){if((w|0)>=(B|0))break g;h=a[150645+((H(w,A)|0)+L)>>0]|0;y=h&255;z=g+27952+(M*160|0)+(y<<2)|0;o=a[g+28272+(M*40|0)+y>>0]|0;p=o<<24>>24;u=y+-8|0;r=a[g+28272+(M*40|0)+u>>0]|0;v=y+-1|0;s=a[g+28272+(M*40|0)+v>>0]|0;q=g+27952+(M*160|0)+(v<<2)|0;t=g+27952+(M*160|0)+(u<<2)|0;i=u+A|0;j=a[g+28272+(M*40|0)+i>>0]|0;k=j<<24>>24;j=j<<24>>24==-2;do if((y&7|0)==4&((h&255)>19&(j&(c[X>>2]|0)!=0))){if((a[G>>0]|0)==-2){ca=95;break}n=c[(c[N>>2]|0)+48>>2]|0;c[I>>2]=0;m=(c[O>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=95;break}V=c[Y>>2]|0;h=V+(c[P>>2]|0)|0;i=(c[ea>>2]<<1&2)+(y>>>5)|0;if(!(c[n+((H(i>>>2,V)|0)+h<<2)>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=b[V+(m<<2)+2>>1]<<1;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+((i&14)+(h<<2|1))>>0]>>1;break}else{if(!m){ca=95;break}h=c[g+21720+(((h&255)>35&1)<<2)>>2]|0;i=y>>>2;if(!(c[n+(h<<2)>>2]&J)){m=I;k=-1;break}k=c[N>>2]|0;V=c[k+36+(M<<2)>>2]|0;m=(c[(c[Q>>2]|0)+(h<<2)>>2]|0)+3+(H(c[R>>2]|0,i&3)|0)|0;b[I>>1]=b[V+(m<<2)>>1]|0;b[K>>1]=(b[V+(m<<2)+2>>1]|0)/2|0;m=I;k=a[(c[k+68+(M<<2)>>2]|0)+(i&2|h<<2|1)>>0]<<1;break}}else ca=95;while(0);do if((ca|0)==95){ca=0;if(j){k=y+-9|0;m=g+27952+(M*160|0)+(k<<2)|0;k=a[g+28272+(M*40|0)+k>>0]|0;break}else{m=g+27952+(M*160|0)+(i<<2)|0;break}}while(0);j=r<<24>>24==o<<24>>24;i=s<<24>>24==o<<24>>24;h=(i&1)+(j&1)+((k|0)==(p|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[q>>1]|0;if(s<<24>>24!=-2&(r<<24>>24==-2&(k|0)==-2)){h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}else{i=Oj(i,b[t>>1]|0,b[m>>1]|0)|0;h=Oj(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(i){i=b[q>>1]|0;h=b[g+27952+(M*160|0)+(v<<2)+2>>1]|0;break}if(j){i=b[t>>1]|0;h=b[g+27952+(M*160|0)+(u<<2)+2>>1]|0;break}else{i=b[m>>1]|0;h=b[m+2>>1]|0;break}}else{i=Oj(b[q>>1]|0,b[t>>1]|0,b[m>>1]|0)|0;h=Oj(b[g+27952+(M*160|0)+(v<<2)+2>>1]|0,b[g+27952+(M*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0}while(0);k=(Pj(ia)|0)+i|0;i=(Pj(ia)|0)+h|0;do if(C){if(!D){b[z+4>>1]=k;h=i&65535;j=1;ca=115;break}if(x)break;b[z+32>>1]=k;h=i&65535;j=8;ca=115}else{h=k&65535;b[z+36>>1]=h;b[z+32>>1]=h;b[z+4>>1]=h;h=i&65535;b[z+38>>1]=h;b[z+34>>1]=h;j=1;ca=115}while(0);if((ca|0)==115){ca=0;b[z+(j<<2)+2>>1]=h}b[z>>1]=k;b[g+27952+(M*160|0)+(y<<2)+2>>1]=i;w=w+1|0}}else{V=d[150645+(E<<2)>>0]|0;a[g+28272+(M*40|0)+V>>0]=a[V+1+(g+28272+(M*40|0))>>0]|0}while(0);E=E+1|0}M=M+1|0;h=c[S>>2]|0}break c}while(0);h=-1;break a}if(h&256|0){Nj(f,g,ha);l=c[(c[ga>>2]|0)+72>>2]&V;break}if(h&8|0){s=g+23412|0;t=c[ha>>2]|0;k=g+21832|0;j=0;h:while(1){h=c[s>>2]|0;if(j>>>0>=h>>>0){r=0;break}if(t&4096<<(j<<1)|0){i=c[g+23404+(j<<2)>>2]<<c[k>>2];switch(i|0){case 1:{h=0;break}case 2:{h=(Bj(ia)|0)^1;break}default:{h=Mj(ia)|0;if(h>>>0>=i>>>0){ca=132;break h}}}Y=H(h,16843009)|0;c[g+28272+(j*40|0)+12>>2]=Y;c[g+28272+(j*40|0)+20>>2]=Y;c[g+28272+(j*40|0)+28>>2]=Y;c[g+28272+(j*40|0)+36>>2]=Y}j=j+1|0}if((ca|0)==132){g=c[f+4>>2]|0;c[p>>2]=h;We(g,16,139310,p);h=-1;break a}while(1){if(r>>>0>=h>>>0){l=V;break c}if(t&4096<<(r<<1)){i=a[g+28272+(r*40|0)+12>>0]|0;n=a[g+28272+(r*40|0)+4>>0]|0;o=a[g+28272+(r*40|0)+11>>0]|0;m=g+27952+(r*160|0)+44|0;p=g+27952+(r*160|0)+16|0;h=a[g+28272+(r*40|0)+8>>0]|0;if(h<<24>>24==-2){q=g+27952+(r*160|0)+12|0;l=a[g+28272+(r*40|0)+3>>0]|0}else{q=g+27952+(r*160|0)+32|0;l=h<<24>>24}j=n<<24>>24==i<<24>>24;k=o<<24>>24==i<<24>>24;h=(k&1)+(j&1)+((l|0)==(i<<24>>24|0)&1)|0;do if(h>>>0<=1){if((h|0)!=1){i=b[m>>1]|0;if(o<<24>>24!=-2&(n<<24>>24==-2&(l|0)==-2)){h=b[g+27952+(r*160|0)+46>>1]|0;break}else{i=Oj(i,b[p>>1]|0,b[q>>1]|0)|0;h=Oj(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0;break}}if(k){i=b[m>>1]|0;h=b[g+27952+(r*160|0)+46>>1]|0;break}if(j){i=b[p>>1]|0;h=b[g+27952+(r*160|0)+18>>1]|0;break}else{i=b[q>>1]|0;h=b[q+2>>1]|0;break}}else{i=Oj(b[m>>1]|0,b[p>>1]|0,b[q>>1]|0)|0;h=Oj(b[g+27952+(r*160|0)+46>>1]|0,b[g+27952+(r*160|0)+18>>1]|0,b[q+2>>1]|0)|0}while(0);Y=(Pj(ia)|0)+i|0;h=(Pj(ia)|0)+h<<16|Y&65535;c[g+27952+(r*160|0)+48>>2]=h;c[g+27952+(r*160|0)+52>>2]=h;c[g+27952+(r*160|0)+56>>2]=h;c[g+27952+(r*160|0)+60>>2]=h;c[g+27952+(r*160|0)+80>>2]=h;c[g+27952+(r*160|0)+84>>2]=h;c[g+27952+(r*160|0)+88>>2]=h;c[g+27952+(r*160|0)+92>>2]=h;c[g+27952+(r*160|0)+112>>2]=h;c[g+27952+(r*160|0)+116>>2]=h;c[g+27952+(r*160|0)+120>>2]=h;c[g+27952+(r*160|0)+124>>2]=h;c[g+27952+(r*160|0)+144>>2]=h;c[g+27952+(r*160|0)+148>>2]=h;c[g+27952+(r*160|0)+152>>2]=h;c[g+27952+(r*160|0)+156>>2]=h;h=c[s>>2]|0}r=r+1|0}}Q=g+23412|0;R=c[ha>>2]|0;n=g+21832|0;if(!(h&16))m=0;else{m=0;i:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;j:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break j}case 2:{h=(Bj(ia)|0)^1;break j}default:{h=Mj(ia)|0;if(h>>>0<i>>>0)break j;else{ca=161;break i}}}}while(0);U=(j<<4|12)+(g+28272+(m*40|0))|0;T=H(h,16843009)|0;c[U>>2]=T;c[U+8>>2]=T;j=j+1|0}m=m+1|0}if((ca|0)==161){g=c[f+4>>2]|0;c[q>>2]=h;We(g,16,139310,q);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26360|0;P=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+4|0;A=g+27952+(K*160|0)+16|0;B=g+27952+(K*160|0)+18|0;C=g+28272+(K*40|0)+11|0;D=g+27952+(K*160|0)+40|0;E=12288<<y;F=g+27952+(K*160|0)+42|0;G=g+28272+(K*40|0)+27|0;I=g+27952+(K*160|0)+108|0;J=g+27952+(K*160|0)+110|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=x<<4|12}else{i=x<<3;h=x<<4|12;p=a[g+28272+(K*40|0)+h>>0]|0;q=p<<24>>24;do if(!x){if((a[z>>0]|0)!=p<<24>>24){ca=174;break}j=b[A>>1]|0;i=b[B>>1]|0}else{if((a[G>>0]|0)!=p<<24>>24){ca=174;break}j=b[I>>1]|0;i=b[J>>1]|0}while(0);do if((ca|0)==174){ca=0;i=a[150645+i>>0]|0;n=i&255;v=n+-8|0;s=a[g+28272+(K*40|0)+v>>0]|0;w=n+-1|0;t=a[g+28272+(K*40|0)+w>>0]|0;r=g+27952+(K*160|0)+(w<<2)|0;u=g+27952+(K*160|0)+(v<<2)|0;j=n+-4|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[C>>0]|0)==-2){ca=183;break}o=c[(c[L>>2]|0)+48>>2]|0;c[D>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=183;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,U)|0)+j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[D>>1]=b[U+(m<<2)>>1]|0;b[F>>1]=b[U+(m<<2)+2>>1]<<1;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=183;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&E)){m=D;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[D>>1]=b[U+(m<<2)>>1]|0;b[F>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=D;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=183;while(0);do if((ca|0)==183){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=s<<24>>24==p<<24>>24;j=t<<24>>24==p<<24>>24;i=(j&1)+(k&1)+((l|0)==(q|0)&1)|0;if(i>>>0>1){j=Oj(b[r>>1]|0,b[u>>1]|0,b[m>>1]|0)|0;i=Oj(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[r>>1]|0;if(t<<24>>24!=-2&(s<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}else{j=Oj(j,b[u>>1]|0,b[m>>1]|0)|0;i=Oj(b[g+27952+(K*160|0)+(w<<2)+2>>1]|0,b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[r>>1]|0;i=b[g+27952+(K*160|0)+(w<<2)+2>>1]|0;break}if(k){j=b[u>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);U=(Pj(ia)|0)+j|0;i=(Pj(ia)|0)+i<<16|U&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+8>>2]=i;c[g+27952+(K*160|0)+(h<<2)+12>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+40>>2]=i;c[g+27952+(K*160|0)+(h<<2)+44>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}k:while(1){h=c[Q>>2]|0;if(m>>>0>=h>>>0)break;k=m<<1;l=g+23404+(m<<2)|0;j=0;while(1){if((j|0)>=2)break;l:do if(!(R&4096<<j+k))h=255;else{i=c[l>>2]<<c[n>>2];switch(i|0){case 1:{h=0;break l}case 2:{h=(Bj(ia)|0)^1;break l}default:{h=Mj(ia)|0;if(h>>>0<i>>>0)break l;else{ca=208;break k}}}}while(0);U=(j<<1)+12+(g+28272+(m*40|0))|0;T=h*257&65535;b[U>>1]=T;b[U+8>>1]=T;b[U+16>>1]=T;b[U+24>>1]=T;j=j+1|0}m=m+1|0}if((ca|0)==208){g=c[f+4>>2]|0;c[r>>2]=h;We(g,16,139310,r);h=-1;break a}L=f+24312|0;M=g+21740|0;N=g+21720|0;O=f+26360|0;P=f+26368|0;K=0;while(1){if(K>>>0>=h>>>0){l=V;break c}y=K<<1;z=g+28272+(K*40|0)+11|0;A=g+27952+(K*160|0)+44|0;B=g+27952+(K*160|0)+46|0;C=g+27952+(K*160|0)+40|0;D=12288<<y;E=g+27952+(K*160|0)+42|0;F=g+28272+(K*40|0)+8|0;G=g+27952+(K*160|0)+20|0;I=g+28272+(K*40|0)+5|0;J=g+27952+(K*160|0)+32|0;x=0;while(1){if((x|0)==2)break;if(!(R&4096<<x+y)){i=0;h=(x<<1)+12|0}else{j=x<<2;h=(x<<1)+12|0;t=a[g+28272+(K*40|0)+h>>0]|0;w=t<<24>>24;do if(!x)if((a[z>>0]|0)==t<<24>>24){j=b[A>>1]|0;i=b[B>>1]|0}else ca=223;else{i=a[F>>0]|0;if(i<<24>>24==-2){k=G;i=a[I>>0]|0}else k=J;if(i<<24>>24!=t<<24>>24){ca=223;break}j=b[k>>1]|0;i=b[k+2>>1]|0}while(0);do if((ca|0)==223){ca=0;i=a[150645+j>>0]|0;n=i&255;u=n+-8|0;q=a[g+28272+(K*40|0)+u>>0]|0;v=n+-1|0;r=a[g+28272+(K*40|0)+v>>0]|0;p=g+27952+(K*160|0)+(v<<2)|0;s=g+27952+(K*160|0)+(u<<2)|0;j=n+-6|0;k=a[g+28272+(K*40|0)+j>>0]|0;l=k<<24>>24;k=k<<24>>24==-2;do if((n&7|0)==4&((i&255)>19&(k&(c[X>>2]|0)!=0))){if((a[z>>0]|0)==-2){ca=232;break}o=c[(c[L>>2]|0)+48>>2]|0;c[C>>2]=0;m=(c[M>>2]&128|0)==0;if(!(c[W>>2]|0)){if(m){ca=232;break}U=c[Y>>2]|0;j=U+(c[N>>2]|0)|0;i=(c[ea>>2]<<1&2)+(n>>>5)|0;if(!(c[o+((H(i>>>2,U)|0)+j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i)|0)|0;b[C>>1]=b[U+(m<<2)>>1]|0;b[E>>1]=b[U+(m<<2)+2>>1]<<1;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+((i&14)+(j<<2|1))>>0]>>1;break}else{if(!m){ca=232;break}j=c[g+21720+(((i&255)>35&1)<<2)>>2]|0;i=n>>>2;if(!(c[o+(j<<2)>>2]&D)){m=C;l=-1;break}l=c[L>>2]|0;U=c[l+36+(K<<2)>>2]|0;m=(c[(c[O>>2]|0)+(j<<2)>>2]|0)+3+(H(c[P>>2]|0,i&3)|0)|0;b[C>>1]=b[U+(m<<2)>>1]|0;b[E>>1]=(b[U+(m<<2)+2>>1]|0)/2|0;m=C;l=a[(c[l+68+(K<<2)>>2]|0)+(i&2|j<<2|1)>>0]<<1;break}}else ca=232;while(0);do if((ca|0)==232){ca=0;if(k){l=n+-9|0;m=g+27952+(K*160|0)+(l<<2)|0;l=a[g+28272+(K*40|0)+l>>0]|0;break}else{m=g+27952+(K*160|0)+(j<<2)|0;break}}while(0);k=q<<24>>24==t<<24>>24;j=r<<24>>24==t<<24>>24;i=(j&1)+(k&1)+((l|0)==(w|0)&1)|0;if(i>>>0>1){j=Oj(b[p>>1]|0,b[s>>1]|0,b[m>>1]|0)|0;i=Oj(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}if((i|0)!=1){j=b[p>>1]|0;if(r<<24>>24!=-2&(q<<24>>24==-2&(l|0)==-2)){i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}else{j=Oj(j,b[s>>1]|0,b[m>>1]|0)|0;i=Oj(b[g+27952+(K*160|0)+(v<<2)+2>>1]|0,b[g+27952+(K*160|0)+(u<<2)+2>>1]|0,b[m+2>>1]|0)|0;break}}if(j){j=b[p>>1]|0;i=b[g+27952+(K*160|0)+(v<<2)+2>>1]|0;break}if(k){j=b[s>>1]|0;i=b[g+27952+(K*160|0)+(u<<2)+2>>1]|0;break}else{j=b[m>>1]|0;i=b[m+2>>1]|0;break}}while(0);U=(Pj(ia)|0)+j|0;i=(Pj(ia)|0)+i<<16|U&65535}c[g+27952+(K*160|0)+(h<<2)>>2]=i;c[g+27952+(K*160|0)+(h<<2)+4>>2]=i;c[g+27952+(K*160|0)+(h<<2)+32>>2]=i;c[g+27952+(K*160|0)+(h<<2)+36>>2]=i;c[g+27952+(K*160|0)+(h<<2)+64>>2]=i;c[g+27952+(K*160|0)+(h<<2)+68>>2]=i;c[g+27952+(K*160|0)+(h<<2)+96>>2]=i;c[g+27952+(K*160|0)+(h<<2)+100>>2]=i;x=x+1|0}K=K+1|0;h=c[Q>>2]|0}}else{if(!(h&1)){X=g+21660|0;Y=Lj(c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0,c[X>>2]|0,0)|0;c[X>>2]=Y;if((Y|0)<0){h=-1;break a}}else{if((V|0)!=0?(Bj(ia)|0)!=0:0){c[ha>>2]=h|16777216;j=4}else j=1;k=(j|0)==4;i=0;while(1){if((i|0)>=16)break;l=d[150645+i>>0]|0;h=a[l+-1+(g+21664)>>0]|0;Y=a[l+-8+(g+21664)>>0]|0;h=(h|0)>(Y|0)?Y:h;h=(h|0)<0?2:h;if(!(Bj(ia)|0)){Y=Jj(ia,3)|0;h=Y+((Y|0)>=(h|0)&1)|0}if(k){Y=g+21664+l|0;X=h*257&65535;b[Y>>1]=X;b[Y+8>>1]=X}else a[g+21664+l>>0]=h;i=i+j|0}Y=(c[g+21704>>2]|0)+(c[(c[f+26364>>2]|0)+(c[la>>2]<<2)>>2]|0)|0;c[Y>>2]=c[g+21700>>2];a[Y+4>>0]=a[g+21695>>0]|0;a[Y+5>>0]=a[g+21687>>0]|0;a[Y+6>>0]=a[g+21679>>0]|0;if((Kj(g+21664|0,c[f+4>>2]|0,c[g+21760>>2]|0,c[g+21768>>2]|0)|0)<=-1){h=-1;break a}}if($){X=c[f+4>>2]|0;Y=c[g+21760>>2]|0;h=c[g+21768>>2]|0;h=Lj(X,Y,h,Mj(ia)|0,1)|0;if((h|0)<0){h=-1;break a}}else h=6;c[g+21656>>2]=h;l=V}while(0);h=c[ha>>2]|0;if(h&120|0){i=c[f+26368>>2]|0;j=(H(i<<2,c[ea>>2]|0)|0)+(c[da>>2]<<2)|0;k=c[la>>2]<<2;if(!(h&12288)){Y=(c[f+24384>>2]|0)+k|0;b[Y>>1]=-1;b[Y+2>>1]=-1}else{Y=(c[f+24352>>2]|0)+(j<<2)|0;W=g+28e3|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28008|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28032|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28040|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28064|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28072|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28096|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28104|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24384>>2]|0)+k|0;a[Y>>0]=a[g+28284>>0]|0;a[Y+1>>0]=a[g+28286>>0]|0;a[Y+2>>0]=a[g+28300>>0]|0;a[Y+3>>0]=a[g+28302>>0]|0}if(h&49152|0){Y=(c[f+24356>>2]|0)+(j<<2)|0;W=g+28160|0;X=c[W+4>>2]|0;U=Y;c[U>>2]=c[W>>2];c[U+4>>2]=X;U=g+28168|0;X=c[U+4>>2]|0;W=Y+8|0;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28192|0;X=c[W+4>>2]|0;U=Y+(i<<2)|0;V=U;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28200|0;X=c[V+4>>2]|0;U=U+8|0;c[U>>2]=c[V>>2];c[U+4>>2]=X;U=g+28224|0;X=c[U+4>>2]|0;V=Y+(i<<1<<2)|0;W=V;c[W>>2]=c[U>>2];c[W+4>>2]=X;W=g+28232|0;X=c[W+4>>2]|0;V=V+8|0;c[V>>2]=c[W>>2];c[V+4>>2]=X;V=g+28256|0;X=c[V+4>>2]|0;Y=Y+(i*3<<2)|0;W=Y;c[W>>2]=c[V>>2];c[W+4>>2]=X;W=g+28264|0;X=c[W+4>>2]|0;Y=Y+8|0;c[Y>>2]=c[W>>2];c[Y+4>>2]=X;Y=(c[f+24388>>2]|0)+k|0;a[Y>>0]=a[g+28324>>0]|0;a[Y+1>>0]=a[g+28326>>0]|0;a[Y+2>>0]=a[g+28340>>0]|0;a[Y+3>>0]=a[g+28342>>0]|0}}h=c[ha>>2]|0;if(h&2)if(Z>>>0>15&($^1)){We(c[f+4>>2]|0,16,139968,_);h=-1094995529;break}else w=Z;else{i=Dj(ia)|0;do if($){if(i>>>0>47){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[aa>>2]=i;c[aa+4>>2]=f;c[aa+8>>2]=g;We(h,16,139327,aa);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=128001+i|0;break}else{i=127953+i|0;break}}else{if(i>>>0>15){h=c[f+4>>2]|0;f=c[da>>2]|0;g=c[ea>>2]|0;c[ba>>2]=i;c[ba+4>>2]=f;c[ba+8>>2]=g;We(h,16,139327,ba);h=-1;break a}h=c[ha>>2]|0;if(!(h&1)){i=139372+i|0;break}else{i=139356+i|0;break}}while(0);w=d[i>>0]|0}u=(w&15|0)==0;if((h&7|0)==0&(((l|0)==0|u)^1)){h=(Bj(ia)|0)<<24;h=c[ha>>2]|h;c[ha>>2]=h}r=f+26392|0;b[(c[r>>2]|0)+(ma<<1)>>1]=w;c[g+21856>>2]=w&65535;c[(c[f+24364>>2]|0)+(ma<<2)>>2]=h;if((w|0)==0?(c[ha>>2]&2|0)==0:0){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;h=g+848|0}else ca=274;m:do if((ca|0)==274){i=(c[(c[ga>>2]|0)+1184>>2]|0)*6|0;k=i+3|0;l=Pj(ia)|0;h=g+848|0;j=(c[h>>2]|0)+l|0;c[h>>2]=j;if(j>>>0>k>>>0){i=((j|0)<0?i+4|0:-4-i|0)+j|0;c[h>>2]=i;if(i>>>0>k>>>0){g=c[f+4>>2]|0;ma=c[da>>2]|0;f=c[ea>>2]|0;c[fa>>2]=l;c[fa+4>>2]=ma;c[fa+8>>2]=f;We(g,16,139388,fa);c[h>>2]=k;h=-1;break a}else j=i}i=c[ka>>2]|0;q=g+852|0;c[q>>2]=d[i+548+j>>0];s=g+856|0;c[s>>2]=d[i+636+j>>0];i=c[ha>>2]|0;fa=(i&128|0)==0;t=(j|0)!=0;v=fa?(t?f+26428|0:f+26716|0):t?f+26572|0:f+26860|0;t=fa?(t?f+26508|0:f+26796|0):t?f+26652|0:f+26940|0;n:do if(!(i&2)){p=i&7|0?0:3;o=(i&16777216|0)==0;i=0;n=0;while(1){if((n|0)>=4)break;o:do if(1<<n&w)if(o){m=n<<2;l=0;while(1){if((l|0)>=4)break o;k=l+m|0;if((Qj(f,g,ia,g+28560+(k<<4<<ja<<1)|0,k,v,(c[(c[ka>>2]|0)+173788+(p<<2)>>2]|0)+(j<<6)|0,16)|0)<0){h=-1;break a}l=l+1|0;i=d[(d[150645+k>>0]|0)+(g+27824)>>0]<<n|i}}else{l=g+28560+(n<<6<<ja<<1)|0;m=n<<2;k=0;while(1){if((k|0)>=4)break;if((Qj(f,g,ia,l,k+m|0,t+(k<<4)|0,(c[(c[ka>>2]|0)+173812+(p<<2)>>2]|0)+(j<<8)|0,16)|0)>-1)k=k+1|0;else{h=-1;break a}}ea=(d[150645+m>>0]|0)+(g+27824)|0;fa=(d[ea+8>>0]|0)+(d[ea+1>>0]|0)+(d[ea+9>>0]|0)+(d[ea>>0]|0)&255;a[ea>>0]=fa;i=(fa<<24>>24!=0&1)<<n|i;break}else{fa=(d[150645+(n<<2)>>0]|0)+(g+27824)|0;a[fa+9>>0]=0;a[fa+8>>0]=0;a[fa+1>>0]=0;a[fa>>0]=0}while(0);n=n+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31632|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Qj(f,g,ia,i,48,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27836>>2]=0;c[g+27844>>2]=0;c[g+27852>>2]=0;c[g+27860>>2]=0;i=0;break}l=v+1|0;k=0;while(1){if((k|0)>=4){i=15;break n}m=k<<2;i=0;while(1){if((i|0)>=4)break;fa=i+m|0;if((Qj(f,g,ia,g+28560+(fa<<4<<ja<<1)|0,fa,l,(c[(c[ka>>2]|0)+173788>>2]|0)+(j<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}k=k+1|0}}while(0);r=(c[r>>2]|0)+(ma<<1)|0;b[r>>1]=i<<12|e[r>>1];r=c[(c[ga>>2]|0)+12>>2]|0;if((r|0)!=3){p:do if(w&48|0){j=r<<2;i=0;while(1){if((i|0)>=2)break p;if((Qj(f,g,ia,g+28560+((i<<8)+256<<ja<<1)|0,i+49|0,(c[(c[ga>>2]|0)+12>>2]|0)==2?128053:128049,0,j)|0)<0){h=-1;break a}else i=i+1|0}}while(0);if(!(w&32)){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}n=v+1|0;o=16<<ja;i=0;q:while(1){if((i|0)>=2)break m;p=i+1|0;q=(c[(c[ka>>2]|0)+173788+((c[ha>>2]&7|0?0:3)+p<<2)>>2]|0)+(c[g+852+(i<<2)>>2]<<6)|0;l=(i<<4)+16|0;i=g+28560+(l<<4<<ja<<1)|0;j=0;while(1){if((j|0)>=(r|0)){i=p;continue q}m=(j<<3)+l|0;k=0;while(1){if((k|0)>=4)break;if((Qj(f,g,ia,i,m+k|0,n,q,15)|0)<=-1){h=-1;break a}k=k+1|0;i=i+(o<<1)|0}j=j+1|0}}}i=c[ha>>2]|0;p=c[q>>2]|0;r:do if(!(i&2)){o=i&7|0?1:4;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;s:do if(1<<m&w)if(n){l=(m<<2)+16|0;k=0;while(1){if((k|0)>=4)break s;j=l+k|0;if((Qj(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150645+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+256<<ja<<1)|0;l=(m<<2)+16|0;j=0;while(1){if((j|0)>=4)break;if((Qj(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}fa=(d[150645+l>>0]|0)+(g+27824)|0;ga=(d[fa+8>>0]|0)+(d[fa+1>>0]|0)+(d[fa+9>>0]|0)+(d[fa>>0]|0)&255;a[fa>>0]=ga;i=(ga<<24>>24!=0&1)<<m|i;break}else{ga=(d[150645+((m<<2)+16)>>0]|0)+(g+27824)|0;a[ga+9>>0]=0;a[ga+8>>0]=0;a[ga+1>>0]=0;a[ga>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}else{i=g+31696|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Qj(f,g,ia,i,49,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27876>>2]=0;c[g+27884>>2]=0;c[g+27892>>2]=0;c[g+27900>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break r;l=(j<<2)+16|0;i=0;while(1){if((i|0)>=4)break;ga=l+i|0;if((Qj(f,g,ia,g+28560+(ga<<4<<ja<<1)|0,ga,k,(c[(c[ka>>2]|0)+173792>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}while(0);i=c[ha>>2]|0;p=c[s>>2]|0;if(i&2|0){i=g+31760|0;k=i;l=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));if((Qj(f,g,ia,i,50,v,0,16)|0)<0){h=-1;break a}if(u){c[g+27916>>2]=0;c[g+27924>>2]=0;c[g+27932>>2]=0;c[g+27940>>2]=0;break}k=v+1|0;j=0;while(1){if((j|0)>=4)break m;l=(j<<2)+32|0;i=0;while(1){if((i|0)>=4)break;ha=l+i|0;if((Qj(f,g,ia,g+28560+(ha<<4<<ja<<1)|0,ha,k,(c[(c[ka>>2]|0)+173796>>2]|0)+(p<<6)|0,15)|0)>-1)i=i+1|0;else{h=-1;break a}}j=j+1|0}}o=i&7|0?2:5;n=(i&16777216|0)==0;i=0;m=0;while(1){if((m|0)>=4)break;t:do if(1<<m&w)if(n){l=(m<<2)+32|0;k=0;while(1){if((k|0)>=4)break t;j=l+k|0;if((Qj(f,g,ia,g+28560+(j<<4<<ja<<1)|0,j,v,(c[(c[ka>>2]|0)+173788+(o<<2)>>2]|0)+(p<<6)|0,16)|0)<0){h=-1;break a}k=k+1|0;i=d[(d[150645+j>>0]|0)+(g+27824)>>0]<<m|i}}else{k=g+28560+((m<<6)+512<<ja<<1)|0;l=(m<<2)+32|0;j=0;while(1){if((j|0)>=4)break;if((Qj(f,g,ia,k,j+l|0,t+(j<<4)|0,(c[(c[ka>>2]|0)+173812+(o<<2)>>2]|0)+(p<<8)|0,16)|0)>-1)j=j+1|0;else{h=-1;break a}}ga=(d[150645+l>>0]|0)+(g+27824)|0;ha=(d[ga+8>>0]|0)+(d[ga+1>>0]|0)+(d[ga+9>>0]|0)+(d[ga>>0]|0)&255;a[ga>>0]=ha;i=(ha<<24>>24!=0&1)<<m|i;break}else{ha=(d[150645+((m<<2)+32)>>0]|0)+(g+27824)|0;a[ha+9>>0]=0;a[ha+8>>0]=0;a[ha+1>>0]=0;a[ha>>0]=0}while(0);m=m+1|0}if((i|0)<0){h=-1;break a}}while(0);a[(c[f+24340>>2]|0)+ma>>0]=c[h>>2];h=c[la>>2]|0;i=c[f+25972>>2]|0;c[i+(h*48|0)>>2]=c[g+27836>>2];c[i+(h*48|0)+4>>2]=c[g+27844>>2];c[i+(h*48|0)+8>>2]=c[g+27852>>2];c[i+(h*48|0)+12>>2]=c[g+27860>>2];c[i+(h*48|0)+16>>2]=c[g+27876>>2];c[i+(h*48|0)+20>>2]=c[g+27884>>2];c[i+(h*48|0)+32>>2]=c[g+27916>>2];c[i+(h*48|0)+36>>2]=c[g+27924>>2];if(!(c[f+25680>>2]|0)){c[i+(h*48|0)+24>>2]=c[g+27892>>2];c[i+(h*48|0)+28>>2]=c[g+27900>>2];c[i+(h*48|0)+40>>2]=c[g+27932>>2];c[i+(h*48|0)+44>>2]=c[g+27940>>2];h=0}else h=0}while(0);Ec=na;return h|0}function Aj(a){a=a|0;var b=0,c=0,e=0;e=_j(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Gj(a,b);return ($j(a,b+1|0)|0)+-1|0}function Bj(a){a=a|0;var b=0,e=0;b=a+8|0;e=c[b>>2]|0;a=(d[(c[a>>2]|0)+(e>>>3)>>0]|0)<<(e&7)>>>7&1;c[b>>2]=e+1;return a|0}function Cj(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=Ec;Ec=Ec+16|0;v=z+4|0;x=z;w=f+21796|0;y=c[w>>2]|0;c[x>>2]=0;g=(c[e+25972>>2]|0)+(y*48|0)|0;h=g+48|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));u=f+21828|0;if(!(c[u>>2]|0))g=0;else{c[x>>2]=128;g=128}if((c[f+840>>2]|0)==3){g=g|63744;c[x>>2]=g;if(c[f+21844>>2]|0){Hj(e,f,g);Ij(e,f,g)}Nj(e,f,x);j=c[x>>2]|2048;c[x>>2]=j;g=e+26368|0}else{j=g|14344;c[x>>2]=j;Hj(e,f,j);o=c[e+24384>>2]|0;p=c[e+24352>>2]|0;g=e+26368|0;q=c[g>>2]|0;c[f+28284>>2]=0;c[f+28292>>2]=0;c[f+28300>>2]=0;c[f+28308>>2]=0;k=c[f+21740>>2]|0;if(!(k&12288))if(!k)h=0;else{t=181916;r=-1;l=16}else{h=c[f+21720>>2]|0;t=d[c[f+21748>>2]>>0]|0;i=a[o+((t&254)+(h<<2|1))>>0]|0;h=p+((H(q,t)|0)+3+(c[(c[e+26360>>2]|0)+(h<<2)>>2]|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=h>>16<<1;h=v;i=i>>1;break}else{if(k)break;h=c[h>>2]|0;c[v>>2]=h;b[v+2>>1]=((h>>>16&65535)<<16>>16)/2|0;h=v;i=i<<1;break}}while(0);if(!(c[h>>2]|i))h=0;else{t=h;r=i;l=16}}do if((l|0)==16){k=c[f+21732>>2]|0;if(!(k&12288))if(!k){h=0;break}else{m=-1;n=181916}else{i=c[f+21712>>2]|0;h=a[o+(i<<2|2)>>0]|0;i=p+((c[(c[e+26360>>2]|0)+(i<<2)>>2]|0)+(q*3|0)<<2)|0;do if(c[e+26376>>2]|0){k=(k&128|0)!=0;if(!(c[u>>2]|0)){if(!k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=n>>16<<1;h=h>>1;break}else{if(k)break;n=c[i>>2]|0;i=v+4|0;c[i>>2]=n;b[v+6>>1]=((n>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}while(0);if(!(c[i>>2]|h)){h=0;break}else{m=h;n=i}}i=c[f+21736>>2]|0;do if(!(i&12288))if((i|0)==0?(s=c[f+21728>>2]|0,(s&12288|0)!=0):0){k=c[f+21708>>2]|0;l=c[f+21752>>2]|0;h=a[o+(k<<2|l&2|1)>>0]|0;k=p+(q+3+(l&q<<1)+(c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)<<2)|0;if(c[e+26376>>2]|0){i=(s&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}else{l=181916;h=-1}else{k=c[f+21716>>2]|0;h=a[o+(k<<2|2)>>0]|0;k=p+((c[(c[e+26360>>2]|0)+(k<<2)>>2]|0)+(q*3|0)<<2)|0;if(c[e+26376>>2]|0){i=(i&128|0)!=0;if(!(c[u>>2]|0)){if(!i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=u>>16<<1;h=h>>1;break}else{if(i){l=k;break}u=c[k>>2]|0;l=v+8|0;c[l>>2]=u;b[v+10>>1]=((u>>>16&65535)<<16>>16)/2|0;h=h<<1;break}}else l=k}while(0);k=(m|0)!=0;i=(r|0)!=0;h=((k^1)&1)+((i^1)&1)+((h|0)==0&1)|0;do if(h>>>0<=1){if((h|0)!=1){h=Oj(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=Oj(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0;break}if(!i){i=b[t+2>>1]|0;h=b[t>>1]|0;break}if(k){i=b[l+2>>1]|0;h=b[l>>1]|0;break}else{i=b[n+2>>1]|0;h=b[n>>1]|0;break}}else{h=Oj(b[t>>1]|0,b[n>>1]|0,b[l>>1]|0)|0;i=Oj(b[t+2>>1]|0,b[n+2>>1]|0,b[l+2>>1]|0)|0}while(0);h=i<<16|h&65535}while(0);c[f+28e3>>2]=h;c[f+28004>>2]=h;c[f+28008>>2]=h;c[f+28012>>2]=h;c[f+28032>>2]=h;c[f+28036>>2]=h;c[f+28040>>2]=h;c[f+28044>>2]=h;c[f+28064>>2]=h;c[f+28068>>2]=h;c[f+28072>>2]=h;c[f+28076>>2]=h;c[f+28096>>2]=h;c[f+28100>>2]=h;c[f+28104>>2]=h;c[f+28108>>2]=h}h=c[g>>2]|0;i=(H(h<<2,c[f+21792>>2]|0)|0)+(c[f+21788>>2]<<2)|0;g=c[w>>2]<<2;if(!(j&12288)){w=(c[e+24384>>2]|0)+g|0;b[w>>1]=-1;b[w+2>>1]=-1}else{w=(c[e+24352>>2]|0)+(i<<2)|0;u=f+28e3|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28008|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28032|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28040|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28064|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28072|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28096|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28104|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24384>>2]|0)+g|0;a[w>>0]=a[f+28284>>0]|0;a[w+1>>0]=a[f+28286>>0]|0;a[w+2>>0]=a[f+28300>>0]|0;a[w+3>>0]=a[f+28302>>0]|0}if(j&49152|0){w=(c[e+24356>>2]|0)+(i<<2)|0;u=f+28160|0;v=c[u+4>>2]|0;s=w;c[s>>2]=c[u>>2];c[s+4>>2]=v;s=f+28168|0;v=c[s+4>>2]|0;u=w+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28192|0;v=c[u+4>>2]|0;s=w+(h<<2)|0;t=s;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28200|0;v=c[t+4>>2]|0;s=s+8|0;c[s>>2]=c[t>>2];c[s+4>>2]=v;s=f+28224|0;v=c[s+4>>2]|0;t=w+(h<<1<<2)|0;u=t;c[u>>2]=c[s>>2];c[u+4>>2]=v;u=f+28232|0;v=c[u+4>>2]|0;t=t+8|0;c[t>>2]=c[u>>2];c[t+4>>2]=v;t=f+28256|0;v=c[t+4>>2]|0;w=w+(h*3<<2)|0;u=w;c[u>>2]=c[t>>2];c[u+4>>2]=v;u=f+28264|0;v=c[u+4>>2]|0;w=w+8|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;w=(c[e+24388>>2]|0)+g|0;a[w>>0]=a[f+28324>>0]|0;a[w+1>>0]=a[f+28326>>0]|0;a[w+2>>0]=a[f+28340>>0]|0;a[w+3>>0]=a[f+28342>>0]|0}c[(c[e+24364>>2]|0)+(y<<2)>>2]=c[x>>2];a[(c[e+24340>>2]|0)+y>>0]=c[f+848>>2];b[(c[e+26372>>2]|0)+(y<<1)>>1]=c[f+832>>2];c[f+21648>>2]=1;Ec=z;return}function Dj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;h=Ec;Ec=Ec+16|0;g=h;e=a+8|0;f=c[e>>2]|0;b=(c[a>>2]|0)+(f>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(f&7);do if(b>>>0<=134217727){j=b>>>0>65535;i=j?b>>>16:b;j=j?16:0;a=(i&65280|0)==0;i=(a?j:j|8)+(d[120443+(a?i:i>>>8)>>0]|0)|0;a=i<<1;c[e>>2]=f+63-a;if(i>>>0<19){We(0,16,155802,g);a=-1094995529;break}else{a=(b>>>(a+-31|0))+-1|0;break}}else{a=b>>>23;c[e>>2]=f+(d[126412+a>>0]|0);a=d[126924+a>>0]|0}while(0);Ec=h;return a|0}function Ej(a){a=a|0;var b=0;b=0-(Zj(a)|0)&7;if(b|0)Tj(a,b);return (c[a>>2]|0)+(c[a+8>>2]>>3)|0}function Fj(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Zj(a)|0)|0}function Gj(a,b){a=a|0;b=b|0;a=a+8|0;c[a>>2]=(c[a>>2]|0)+b;return}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[b+21796>>2]|0;j=b+21752|0;c[j>>2]=-1;o=c[a+27016>>2]|0;m=i-(o<<c[b+21828>>2])|0;f=m+-1|0;g=m+1|0;h=i+-1|0;n=b+21748|0;c[n>>2]=139804;q=c[a+24364>>2]|0;do if(c[a+26376>>2]|0){k=c[q+(h<<2)>>2]&128;l=d&128;if(!(c[b+21792>>2]&1)){i=(l|0)!=0;if(i){d=(((c[q+(m<<2)>>2]|0)>>>7&1)+-1&o)+m|0;g=(((c[q+(g<<2)>>2]|0)>>>7&1)+-1&o)+g|0;f=(((c[q+(f<<2)>>2]|0)>>>7&1)+-1&o)+f|0}else d=m;if((k|0)==(l|0)){p=d;n=f;m=h;d=h;break}c[n>>2]=i?139900:139868;p=d;n=f;m=h;d=h+(i?o:0)|0;break}else{if((k|0)==(l|0)){p=m;n=f;m=h;d=h;break}i=i-o+-1|0;if(!l){c[j>>2]=0;f=o+f|0;d=139836;h=i}else d=139900;c[n>>2]=d;p=m;n=f;m=i;d=h;break}}else{p=m;n=f;m=h;d=h}while(0);c[b+21708>>2]=n;c[b+21712>>2]=p;c[b+21716>>2]=g;c[b+21720>>2]=m;c[b+21724>>2]=d;h=b+21728|0;c[h>>2]=c[q+(n<<2)>>2];i=b+21732|0;c[i>>2]=c[q+(p<<2)>>2];j=b+21736|0;c[j>>2]=c[q+(g<<2)>>2];k=b+21740|0;c[k>>2]=c[q+(m<<2)>>2];l=b+21744|0;c[l>>2]=c[q+(d<<2)>>2];f=c[a+26372>>2]|0;d=c[b+832>>2]|0;if((d|0)!=(e[f+(n<<1)>>1]|0|0)){c[h>>2]=0;if((d|0)!=(e[f+(p<<1)>>1]|0|0))c[i>>2]=0;if((d|0)!=(e[f+(m<<1)>>1]|0|0)){c[l>>2]=0;c[k>>2]=0}}if((d|0)!=(e[f+(g<<1)>>1]|0|0))c[j>>2]=0;return} |
| | | function Rh(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=Ec;Ec=Ec+240|0;K=P+152|0;G=P+144|0;F=P+120|0;D=P+104|0;B=P+96|0;y=P+88|0;x=P+80|0;u=P+72|0;w=P+64|0;v=P+56|0;t=P+48|0;r=P+40|0;s=P+32|0;q=P+24|0;p=P+16|0;o=P+8|0;j=P;L=P+228|0;M=wg(5300)|0;c[L>>2]=M;N=M;a:do if(!M)g=-12;else{O=M+4|0;J=c[O>>2]|0;h=c[a>>2]|0;g=(c[a+4>>2]|0)-h|0;i=J+5296|0;c[i>>2]=g;if(g>>>0>4096){We(d,48,136456,j);c[i>>2]=4096;h=c[a>>2]|0;g=4096}wW(J+1200|0,h|0,g|0)|0;n=ji(a,8)|0;g=ii(a)|0;h=ii(a)|0;i=ii(a)|0;j=ii(a)|0;k=ii(a)|0;l=ii(a)|0;wi(a);m=ji(a,8)|0;I=gi(a)|0;b:do if(I>>>0>31){c[o>>2]=I;We(d,16,135543,o)}else{c[J>>2]=I;c[J+1164>>2]=24;E=J+4|0;c[E>>2]=n;c[J+1196>>2]=h<<1|g|i<<2|j<<3|k<<4|l<<5;C=J+8|0;c[C>>2]=m;c[J+112>>2]=-1;i=J+672|0;j=J+768|0;k=J+668|0;yW(i|0,16,480)|0;c[k>>2]=0;c[J+128>>2]=2;switch(n|0){case 144:case 138:case 128:case 118:case 86:case 83:case 44:case 244:case 122:case 110:case 100:{g=gi(a)|0;c[J+12>>2]=g;if(g>>>0>3){c[p>>2]=g;Oh(d,136489,p);break b}if((g|0)==3?(z=ii(a)|0,c[J+1192>>2]=z,z|0):0){We(d,16,136510,q);break b}z=J+1184|0;c[z>>2]=(fi(a)|0)+8;g=fi(a)|0;h=g+8|0;c[J+1188>>2]=h;if((h|0)!=(c[z>>2]|0)){Oh(d,136551,s);break b}if(g>>>0>6){c[r>>2]=h;c[r+4>>2]=h;We(d,16,136587,r);break b}c[J+16>>2]=ii(a)|0;g=ni(a,J,0,1,i,j)|0;if((g|0)<0)break b;c[k>>2]=c[k>>2]|g;break}default:{c[J+12>>2]=1;c[J+1184>>2]=8;c[J+1188>>2]=8}}g=fi(a)|0;if(g>>>0>12){c[t>>2]=g;We(d,16,136621,t);break}c[J+20>>2]=g+4;g=gi(a)|0;t=J+24|0;c[t>>2]=g;c:do switch(g|0){case 0:{g=fi(a)|0;if(g>>>0>12){c[v>>2]=g;We(d,16,136672,v);break b}else{c[J+28>>2]=g+4;break c}}case 1:{c[J+32>>2]=ii(a)|0;c[J+36>>2]=ki(a)|0;c[J+40>>2]=ki(a)|0;g=fi(a)|0;i=J+44|0;c[i>>2]=g;if(g>>>0>255){c[w>>2]=g;We(d,16,136711,w);break b}else h=0;while(1){if((h|0)>=(g|0))break c;b[J+148+(h<<1)>>1]=ki(a)|0;h=h+1|0;g=c[i>>2]|0}}case 2:break;default:{c[u>>2]=g;We(d,16,136741,u);break b}}while(0);g=gi(a)|0;r=J+48|0;c[r>>2]=g;w=(c[d+20>>2]|0)==844516691;z=(g|0)>2?g:2;c[r>>2]=w?z:g;g=w?z:g;if((g|0)>16){c[x>>2]=g;We(d,16,136762,x);break}c[J+52>>2]=ii(a)|0;q=J+56|0;c[q>>2]=(fi(a)|0)+1;s=J+60|0;c[s>>2]=(fi(a)|0)+1;g=ii(a)|0;z=J+64|0;c[z>>2]=g;h=c[s>>2]|0;if(h>>>0>1073741822){We(d,16,136792,y);break}c[s>>2]=H(h,2-g|0)|0;if(!g)g=ii(a)|0;else g=0;p=J+68|0;c[p>>2]=g;g=c[q>>2]|0;if((g>>>0<=134217726?(A=c[s>>2]|0,A>>>0<=134217726):0)?(Yg(g<<4,A<<4,0,d)|0)==0:0){o=J+72|0;c[o>>2]=ii(a)|0;B=ii(a)|0;g=J+76|0;c[g>>2]=B;d:do if(!B){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0}else{i=fi(a)|0;j=fi(a)|0;k=fi(a)|0;l=fi(a)|0;m=c[q>>2]<<4;n=c[s>>2]<<4;if(c[d+64>>2]&65536|0){c[D>>2]=i;c[D+4>>2]=j;c[D+8>>2]=k;c[D+12>>2]=l;We(d,48,136835,D);F=J+80|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;break}h=c[J+12>>2]|0;g=(h+-1|0)>>>0<2&1;h=2-(c[z>>2]|0)<<((h|0)==1&1);D=536870911>>>g;do if((!(i>>>0>D>>>0|j>>>0>D>>>0)?(D=536870911/(h>>>0)|0,!(k>>>0>D>>>0|l>>>0>D>>>0)):0)?j+i<<g>>>0<m>>>0:0){if((H(h,l+k|0)|0)>>>0>=n>>>0)break;c[J+80>>2]=i<<g;c[J+84>>2]=j<<g;c[J+88>>2]=H(h,k)|0;c[J+92>>2]=H(h,l)|0;break d}while(0);c[F>>2]=i;c[F+4>>2]=j;c[F+8>>2]=k;c[F+12>>2]=l;c[F+16>>2]=m;c[F+20>>2]=n;We(d,16,136901,F);break b}while(0);F=ii(a)|0;i=J+96|0;c[i>>2]=F;if(F|0?(xi(a,d,J)|0)<0:0)break;g=yi(a)|0;if((g|0)<0?(f=(f|0)!=0,c[G>>2]=c[i>>2]|0?136942:152685,c[G+4>>2]=0-g,We(d,f?24:16,136946,G),!f):0)break;y=(c[J+660>>2]|0)==0;e:do if(y){if((c[r>>2]|0)==0?(c[d+568>>2]|0)<=0:0)break;h=J+664|0;c[h>>2]=15;g=0;while(1){if(g>>>0>=16)break e;if((c[72128+(g<<3)>>2]|0)==(c[C>>2]|0))break;g=g+1|0}G=(c[72128+(g<<3)+4>>2]|0)/(H(c[s>>2]|0,c[q>>2]|0)|0)|0;c[h>>2]=(G|0)<15?G:15}while(0);g=J+104|0;if(!(c[g>>2]|0))c[g>>2]=1;if(c[d+576>>2]&1|0){x=c[E>>2]|0;w=c[C>>2]|0;v=c[t>>2]|0;u=c[r>>2]|0;t=c[q>>2]|0;s=c[s>>2]|0;if(!(c[z>>2]|0))r=c[p>>2]|0?136970:136977;else r=136985;m=c[o>>2]|0?136989:260868;n=c[J+80>>2]|0;o=c[J+84>>2]|0;p=c[J+88>>2]|0;q=c[J+92>>2]|0;h=c[i>>2]|0?136942:260868;i=136993+((c[J+12>>2]|0)*5|0)|0;if(!(c[J+132>>2]|0)){k=0;l=0}else{k=c[J+136>>2]|0;l=c[J+140>>2]|0}j=c[J+1184>>2]|0;if(y)g=-1;else g=c[J+664>>2]|0;c[K>>2]=I;c[K+4>>2]=x;c[K+8>>2]=w;c[K+12>>2]=v;c[K+16>>2]=u;c[K+20>>2]=t;c[K+24>>2]=s;c[K+28>>2]=r;c[K+32>>2]=m;c[K+36>>2]=n;c[K+40>>2]=o;c[K+44>>2]=p;c[K+48>>2]=q;c[K+52>>2]=h;c[K+56>>2]=i;c[K+60>>2]=k;c[K+64>>2]=l;c[K+68>>2]=j;c[K+72>>2]=g;We(d,48,137013,K)}g=e+(I<<2)|0;h=c[g>>2]|0;do if(h|0){if(ZS(c[h+4>>2]|0,c[O>>2]|0,c[M+8>>2]|0)|0)break;Cf(L);g=0;break a}while(0);zi(e,I);c[g>>2]=N;g=0;break a}We(d,16,136809,B)}while(0);Cf(L);g=-1094995529}while(0);Ec=P;return g|0}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;return vi(a,b,c>>>0>268435455?-8:c<<3)|0}function Th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,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=Ec;Ec=Ec+128|0;C=D+56|0;o=D+48|0;n=D+40|0;l=D+32|0;m=D+24|0;k=D+16|0;i=D+8|0;f=D;x=D+116|0;B=fi(a)|0;a:do if(B>>>0<=255){f=wg(173836)|0;c[x>>2]=f;A=f;if(!f)f=-12;else{z=c[f+4>>2]|0;g=c[a>>2]|0;f=(c[a+4>>2]|0)-g|0;h=z+4824|0;c[h>>2]=f;if(f>>>0>4096){c[i>>2]=f;c[i+4>>2]=4096;We(b,48,135498,i);c[h>>2]=4096;g=c[a>>2]|0;f=4096}wW(z+728|0,g|0,f|0)|0;f=gi(a)|0;c[z>>2]=f;b:do if(f>>>0<=31?(j=c[d+(f<<2)>>2]|0,(j|0)!=0):0){v=c[j+4>>2]|0;w=v+1184|0;f=c[w>>2]|0;if((f|0)>14){c[m>>2]=f;We(b,16,135567,m);f=-1094995529;break}switch(f|0){case 13:case 11:{c[l>>2]=f;hi(b,135594,l);f=-1163346256;break b}default:{}}t=z+4|0;c[t>>2]=ii(a)|0;c[z+8>>2]=ii(a)|0;s=fi(a)|0;u=z+12|0;c[u>>2]=s+1;if((s|0)>0){c[z+16>>2]=fi(a)|0;We(b,16,135626,n)}r=z+20|0;c[r>>2]=(fi(a)|0)+1;q=fi(a)|0;s=z+24|0;c[s>>2]=q+1;if(((c[r>>2]|0)+-1|q)>>>0>31){We(b,16,135645,o);f=-1094995529;break}q=(c[w>>2]|0)*6|0;k=z+28|0;c[k>>2]=ii(a)|0;c[z+32>>2]=ji(a,2)|0;q=q+-22|0;l=z+36|0;c[l>>2]=q+(ki(a)|0);m=z+40|0;c[m>>2]=q+(ki(a)|0);q=ki(a)|0;j=z+44|0;c[j>>2]=q;if((q+12|0)>>>0>24)f=-1094995529;else{n=z+52|0;c[n>>2]=ii(a)|0;o=z+56|0;c[o>>2]=ii(a)|0;p=z+60|0;c[p>>2]=ii(a)|0;q=z+64|0;c[q>>2]=0;i=z+68|0;f=i;g=v+672|0;h=f+96|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=z+164|0;wW(f|0,v+768|0,384)|0;if((li(a)|0)<(e|0)?(mi(v,b)|0)!=0:0){c[q>>2]=ii(a)|0;f=ni(a,v,z,0,i,f)|0;if((f|0)<0)break;a=ki(a)|0;h=z+48|0;c[h>>2]=a;if((a+12|0)>>>0>24){f=-1094995529;break}f=c[j>>2]|0}else{f=c[j>>2]|0;h=z+48|0;c[h>>2]=f}oi(z,0,f,c[w>>2]|0);oi(z,1,c[h>>2]|0,c[w>>2]|0);pi(z,v);g=c[j>>2]|0;f=c[h>>2]|0;if((g|0)!=(f|0))c[z+724>>2]=1;if(c[b+576>>2]&1|0){h=c[z>>2]|0;i=c[t>>2]|0?135671:135677;j=c[u>>2]|0;t=c[r>>2]|0;u=c[s>>2]|0;v=c[k>>2]|0?135683:260868;w=c[l>>2]|0;e=c[m>>2]|0;a=c[n>>2]|0?135692:260868;x=c[o>>2]|0?135697:260868;y=c[p>>2]|0?135704:260868;z=c[q>>2]|0?135709:260868;c[C>>2]=B;c[C+4>>2]=h;c[C+8>>2]=i;c[C+12>>2]=j;c[C+16>>2]=t;c[C+20>>2]=u;c[C+24>>2]=v;c[C+28>>2]=w;c[C+32>>2]=e;c[C+36>>2]=g;c[C+40>>2]=f;c[C+44>>2]=a;c[C+48>>2]=x;c[C+52>>2]=y;c[C+56>>2]=z;We(b,48,135716,C)}qi(d,B);c[d+128+(B<<2)>>2]=A;f=0;break a}}else y=8;while(0);if((y|0)==8){c[k>>2]=f;We(b,16,135543,k);f=-1094995529}Cf(x)}}else{c[f>>2]=B;We(b,16,155191,f);f=-1094995529}while(0);Ec=D;return f|0}function Uh(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;if(b|0){c[a>>2]=c[b>>2];c[a+4>>2]=b+4;d=0;while(1){if((d|0)==2)break;c[a+8+(d<<2)>>2]=c[b+36+(d<<2)>>2];c[a+16+(d<<2)>>2]=c[b+68+(d<<2)>>2];d=d+1|0}c[a+24>>2]=c[b+48>>2];c[a+28>>2]=c[b+636>>2]}return}function Vh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=Ec;Ec=Ec+80|0;B=Y+64|0;t=Y+48|0;s=Y+40|0;r=Y+32|0;q=Y+24|0;p=Y+16|0;m=Y+8|0;l=Y;Q=f+568|0;n=c[Q>>2]|0;T=f+560|0;o=c[T>>2]|0;a:do if((((c[(c[f>>2]|0)+572>>2]|0?(k=f+572|0,c[k>>2]|0):0)?(c[(c[f>>2]|0)+680>>2]|0)==0:0)?Wh(f)|0:0)?(S=f+556|0,j=c[S>>2]|0,h=c[f>>2]|0,(c[k>>2]|0)!=(H(j*3|0,(c[h+272>>2]|0)+(c[h+268>>2]|0)|0)|0)):0){g=f+672|0;C=c[g>>2]|0;U=C+32|0;X=f+580|0;V=f+564|0;i=0;while(1){if((i|0)>=(j|0))break;if((a[(c[X>>2]|0)+((H((c[T>>2]|0)+-1|0,c[V>>2]|0)|0)+i)>>0]|0)!=127)break;i=i+1|0}if(((i|0)==(j|0)?(c[h+16>>2]|0)==2:0)?((c[h+96>>2]|0)+15&16|0)!=0:0){h=c[f>>2]|0;if((c[k>>2]|0)==(H((c[S>>2]|0)*3|0,(c[h+268>>2]|0)+1+(c[h+272>>2]|0)|0)|0)){We(h,48,132785,l);break}}A=f+704|0;i=c[A>>2]|0;do if(i|0){O=c[g>>2]|0;if(((c[i+68>>2]|0)==(c[O+68>>2]|0)?(c[i+72>>2]|0)==(c[O+72>>2]|0):0)?(c[i+80>>2]|0)==(c[O+80>>2]|0):0)break;We(h,24,132814,m);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0}while(0);z=f+736|0;h=c[z>>2]|0;do if(h|0){O=c[g>>2]|0;if(((c[h+68>>2]|0)==(c[O+68>>2]|0)?(c[h+72>>2]|0)==(c[O+72>>2]|0):0)?(c[h+80>>2]|0)==(c[O+80>>2]|0):0)break;We(c[f>>2]|0,24,132864,p);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0}while(0);if(!((c[f+680>>2]|0)!=0?(c[f+688>>2]|0)!=0:0))R=27;b:do if((R|0)==27){We(c[f>>2]|0,16,132910,q);i=(H(n<<3,o)|0)+16|0;h=0;while(1){if((h|0)>=2)break b;k=f+768+(h<<2)|0;c[k>>2]=wg(H(c[V>>2]<<2,c[T>>2]|0)|0)|0;j=wg(i)|0;c[f+776+(h<<2)>>2]=j;k=c[k>>2]|0;if((j|0)==0|(k|0)==0){g=0;break}c[f+688+(h<<2)>>2]=c[k+4>>2];c[f+680+(h<<2)>>2]=(c[j+4>>2]|0)+16;h=h+1|0}while(1){if((g|0)==2)break a;Cf(f+768+(g<<2)|0);Cf(f+776+(g<<2)|0);c[f+688+(g<<2)>>2]=0;c[f+680+(g<<2)>>2]=0;g=g+1|0}}while(0);c:do if(c[(c[f>>2]|0)+576>>2]&1024|0){h=0;while(1){if((h|0)<(c[T>>2]|0))i=0;else break c;while(1){if((i|0)>=(c[S>>2]|0))break;N=d[(c[X>>2]|0)+((H(c[V>>2]|0,h)|0)+i)>>0]|0;O=c[f>>2]|0;c[r>>2]=N;We(O,48,132937,r);i=i+1|0}We(c[f>>2]|0,48,132942,s);h=h+1|0}}while(0);N=f+552|0;O=f+548|0;l=1;while(1){if((l|0)==4)break;n=9<<l;o=1<<l;i=0;h=c[N>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break;j=(c[X>>2]|0)+(c[(c[O>>2]|0)+(m<<2)>>2]|0)|0;k=d[j>>0]|0;h=(n&k|0)==0?i:1;if(!h)a[j>>0]=o|k;i=(k&1|0)==0?h:0;h=m}l=l+1|0}M=f+792|0;d:do if(c[M>>2]|0){i=0;h=c[N>>2]|0;while(1){m=h+-1|0;if((h|0)<=0)break d;j=(c[X>>2]|0)+(c[(c[O>>2]|0)+(m<<2)>>2]|0)|0;k=a[j>>0]|0;l=k&255;h=(l&98|0)==0?((l&16|0)==0?i:0):1;if(!h)a[j>>0]=k|2;i=(l&1|0)==0?h:0;h=m}}while(0);e:do if(c[(c[f>>2]|0)+580>>2]&8|0){h=1;l=(c[N>>2]|0)+-2|0;while(1){if((l|0)<((c[S>>2]|0)+100|0))break e;L=c[O>>2]|0;K=c[X>>2]|0;i=K+(c[L+(l<<2)>>2]|0)|0;j=a[i>>0]|0;k=j&255;h=(k&1|0)==0?h:1;if(j<<24>>24!=127?(a[K+(c[L+(l+1<<2)>>2]|0)>>0]|0)==127:0){if((k&112|0)!=0|(h|0)==0)R=60}else if(!h)R=60;if((R|0)==60){R=0;a[i>>0]=j|14;h=0}l=l+-1|0}}while(0);L=f+600|0;h=9999999;l=1;while(1){if((l|0)==4){h=0;l=0;break}m=1<<l;n=72112+(l+-1<<2)|0;i=c[N>>2]|0;while(1){k=i+-1|0;if((i|0)<=0)break;K=c[(c[O>>2]|0)+(k<<2)>>2]|0;i=(c[X>>2]|0)+K|0;j=d[i>>0]|0;J=c[L>>2]|0;if(!((J|0)!=0?(a[J+K>>0]|0)!=0:0))h=h+1|0;h=(m&j|0)==0?h:0;do if(!(c[M>>2]|0)){if((h|0)>=50)break;a[i>>0]=m|j}else{if((h|0)>=(c[n>>2]|0))break;a[i>>0]=m|j}while(0);h=(j&1|0)==0?h:9999999;i=k}l=l+1|0}while(1){j=c[N>>2]|0;if((l|0)>=(j|0))break;i=(c[X>>2]|0)+(c[(c[O>>2]|0)+(l<<2)>>2]|0)|0;j=d[i>>0]|0;k=j&14;if(!(j&1)){a[i>>0]=h|j;h=k|h}else h=k;l=l+1|0}f:do if(!(c[M>>2]|0)){i=0;h=j;while(1){if((i|0)>=(h|0))break f;h=(c[X>>2]|0)+(c[(c[O>>2]|0)+(i<<2)>>2]|0)|0;K=d[h>>0]|0;a[h>>0]=(K&14|0)==0?K:K|14;i=i+1|0;h=c[N>>2]|0}}else h=j;while(0);i=0;j=0;k=0;l=0;while(1){if((l|0)>=(h|0))break;K=d[(c[X>>2]|0)+(c[(c[O>>2]|0)+(l<<2)>>2]|0)>>0]|0;i=(K>>>2&1)+i|0;j=(K>>>3&1)+j|0;k=(K>>>1&1)+k|0;l=l+1|0}K=c[f>>2]|0;J=(Xh(c[(c[g>>2]|0)+88>>2]|0)|0)<<24>>24;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=J;We(K,32,132944,t);j=(Yh(f)|0)!=0;j=j?1:12296;K=f+696|0;i=0;while(1){h=c[N>>2]|0;if((i|0)>=(h|0))break;h=c[(c[O>>2]|0)+(i<<2)>>2]|0;if((a[(c[X>>2]|0)+h>>0]&12)==12)c[(c[K>>2]|0)+(h<<2)>>2]=j;i=i+1|0}J=c[A>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))R=92;g:do if((R|0)==92){J=c[z>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)break;else j=0;while(1){if((j|0)>=(h|0))break g;i=(c[K>>2]|0)+(c[(c[O>>2]|0)+(j<<2)>>2]<<2)|0;if(!(c[i>>2]&7)){c[i>>2]=1;h=c[N>>2]|0}j=j+1|0}}while(0);u=f+608|0;v=f+612|0;w=f+800|0;x=f+804|0;y=f+608|0;p=0;while(1){h=c[T>>2]|0;if((p|0)>=(h|0))break;o=p<<1;n=0;while(1){if((n|0)>=(c[S>>2]|0))break;i=(H(c[V>>2]|0,p)|0)+n|0;j=c[(c[K>>2]|0)+(i<<2)>>2]|0;h=c[A>>2]|0;if(!h)h=0;else h=(c[h>>2]|0)!=0;k=(h^1)&1;m=h?1:2;J=d[(c[X>>2]|0)+i>>0]|0;if(!((J&2|0)==0|(J&8|j&7|0)!=0)){h:do if(!(j&64)){J=f+680+(k<<2)|0;h=(H(c[Q>>2]|0,o)|0)+(n<<1)|0;c[u>>2]=b[(c[J>>2]|0)+(h<<2)>>1];c[v>>2]=b[(c[J>>2]|0)+(h<<2)+2>>1];h=0}else{j=c[Q>>2]|0;l=(H(j,p)|0)+n<<1;i=f+680+(k<<2)|0;h=0;while(1){if((h|0)==4){h=1;break h}I=h&1|l;G=h>>1;c[f+608+(h<<3)>>2]=b[(c[i>>2]|0)+((H(j,G)|0)+I<<2)>>1];J=c[Q>>2]|0;c[f+608+(h<<3)+4>>2]=b[(c[i>>2]|0)+((H(J,G)|0)+I<<2)+2>>1];h=h+1|0;j=J}}while(0);Zc[c[w>>2]&1](c[x>>2]|0,0,m,h,y,n,p,0,0)}n=n+1|0}p=p+1|0}i:do if((c[(c[g>>2]|0)+88>>2]|0)==3){o=f+784|0;p=f+640|0;q=f+644|0;r=f+786|0;s=f+740|0;t=f+744|0;n=0;j:while(1){if((n|0)>=(h|0)){P=h;break i}m=n<<1;l=0;while(1){if((l|0)>=(c[S>>2]|0))break;k=(H(m,c[Q>>2]|0)|0)+(l<<1)|0;J=(H(c[V>>2]|0,n)|0)+l|0;if(!((a[(c[X>>2]|0)+J>>0]&10)!=10?1:(c[(c[K>>2]|0)+(J<<2)>>2]&7|0)!=0)){J=c[A>>2]|0;if((J|0)!=0?(c[J>>2]|0)!=0:0)h=3;else h=2;J=c[z>>2]|0;if(!((J|0)!=0?(c[J>>2]|0)!=0:0))h=h&1;i=b[o>>1]|0;if(!(i<<16>>16)){c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;i=0}else{i=i&65535;j=e[r>>1]|0;if((c[(c[f>>2]|0)+16>>2]|0)==27)break j;Zh(c[s>>2]|0,n,0);J=c[t>>2]|0;G=b[J+(k<<2)>>1]|0;c[u>>2]=(H(G,j)|0)/(i|0)|0;J=b[J+(k<<2)+2>>1]|0;c[v>>2]=(H(J,j)|0)/(i|0)|0;I=j-i|0;c[p>>2]=(H(I,G)|0)/(i|0)|0;i=(H(I,J)|0)/(i|0)|0}c[q>>2]=i;Zc[c[w>>2]&1](c[x>>2]|0,0,h,0,y,l,n,0,0)}l=l+1|0}n=n+1|0;h=c[T>>2]|0}c[B>>2]=132995;c[B+4>>2]=133034;c[B+8>>2]=1212;We(0,0,164054,B);Za()}else{_h(f);P=c[T>>2]|0}while(0);J=C+36|0;I=C+40|0;z=f+588|0;A=f+592|0;B=f+596|0;x=0;while(1){if((x|0)>=(P|0))break;C=x<<4;D=x<<3;y=0;while(1){if((y|0)>=(c[S>>2]|0))break;E=(H(c[V>>2]|0,x)|0)+y|0;if(!((c[(c[K>>2]|0)+(E<<2)>>2]&7|0)!=0?(c[M>>2]|0)!=0:0))R=140;do if((R|0)==140){R=0;w=c[g>>2]|0;l=c[U>>2]|0;m=(c[w>>2]|0)+(y<<4)+(H(C,l)|0)|0;n=c[w+4>>2]|0;u=y<<3;F=c[J>>2]|0;o=H(F,D)|0;w=c[w+8>>2]|0;G=c[I>>2]|0;v=H(G,D)|0;p=c[Q>>2]|0;q=(c[z>>2]|0)+((H(p,x)|0)+y<<1<<1)|0;j=0;while(1){if((j|0)==4)break;r=j<<3&8;s=j>>>1<<3;k=0;h=0;while(1){if((k|0)==8)break;t=H(l,k+s|0)|0;i=0;while(1){if((i|0)==8)break;Z=h+(d[m+(i+r+t)>>0]|0)|0;i=i+1|0;h=Z}k=k+1|0}b[q+((H(p,j>>1)|0)+(j&1)<<1)>>1]=(h+4|0)>>>3;j=j+1|0}o=n+u+o|0;n=w+u+v|0;if(!w)break;else{h=0;i=0;k=0}while(1){if((k|0)==8)break;l=H(F,k)|0;m=H(G,k)|0;j=0;while(1){if((j|0)==8)break;Z=i+(d[o+(l+j)>>0]|0)|0;w=h+(d[n+(m+j)>>0]|0)|0;j=j+1|0;h=w;i=Z}k=k+1|0}b[(c[A>>2]|0)+(E<<1)>>1]=(i+4|0)>>>3;b[(c[B>>2]|0)+(E<<1)>>1]=(h+4|0)>>>3}while(0);y=y+1|0}x=x+1|0}$h(f,c[z>>2]|0,c[S>>2]<<1,P<<1,c[Q>>2]|0,1);$h(f,c[A>>2]|0,c[S>>2]|0,c[T>>2]|0,c[V>>2]|0,0);$h(f,c[B>>2]|0,c[S>>2]|0,c[T>>2]|0,c[V>>2]|0,0);ai(c[z>>2]|0,c[S>>2]<<1,c[T>>2]<<1,c[Q>>2]|0);l=0;while(1){h=c[T>>2]|0;if((l|0)>=(h|0))break;i=l<<4;j=l<<3;h=0;while(1){if((h|0)>=(c[S>>2]|0))break;k=(H(c[V>>2]|0,l)|0)+h|0;do if(!(c[(c[K>>2]|0)+(k<<2)>>2]&120)){if(!(a[(c[X>>2]|0)+k>>0]&2))break;R=c[g>>2]|0;P=(c[R>>2]|0)+(h<<4)+(H(i,c[U>>2]|0)|0)|0;Z=h<<3;Q=(c[R+4>>2]|0)+Z+(H(c[J>>2]|0,j)|0)|0;R=c[R+8>>2]|0;Z=R+Z+(H(c[I>>2]|0,j)|0)|0;R=(R|0)==0;bi(f,P,R?0:Q,R?0:Z,h,l)}while(0);h=h+1|0}l=l+1|0}if(c[(c[f>>2]|0)+572>>2]&2|0?(ci(f,c[c[g>>2]>>2]|0,c[S>>2]<<1,h<<1,c[U>>2]|0,1),di(f,c[c[g>>2]>>2]|0,c[S>>2]<<1,c[T>>2]<<1,c[U>>2]|0,1),W=c[g>>2]|0,c[W+8>>2]|0):0){ci(f,c[W+4>>2]|0,c[S>>2]|0,c[T>>2]|0,c[J>>2]|0,0);ci(f,c[(c[g>>2]|0)+8>>2]|0,c[S>>2]|0,c[T>>2]|0,c[I>>2]|0,0);di(f,c[(c[g>>2]|0)+4>>2]|0,c[S>>2]|0,c[T>>2]|0,c[J>>2]|0,0);di(f,c[(c[g>>2]|0)+8>>2]|0,c[S>>2]|0,c[T>>2]|0,c[I>>2]|0,0)}j=f+604|0;i=0;while(1){if((i|0)>=(c[N>>2]|0)){h=0;break}k=c[(c[O>>2]|0)+(i<<2)>>2]|0;h=c[L>>2]|0;do if(h|0){if((a[(c[X>>2]|0)+k>>0]&14)==0?1:(c[(c[g>>2]|0)+88>>2]|0)==3)break;a[h+k>>0]=0}while(0);h=c[j>>2]|0;if(h|0)a[h+k>>0]=1;i=i+1|0}while(1){if((h|0)==2)break;Cf(f+768+(h<<2)|0);Cf(f+776+(h<<2)|0);c[f+688+(h<<2)>>2]=0;c[f+680+(h<<2)>>2]=0;h=h+1|0}h=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0))}while(0);Ec=Y;return}function Wh(a){a=a|0;var b=0,d=0;d=c[(c[a>>2]|0)+592>>2]|0;if(!((d|0)!=0?(c[d+32>>2]|0)!=0:0))b=3;if((b|0)==3?c[a+672>>2]|0:0)return (c[a+700>>2]|0)==0|0;return 0}function Xh(a){a=a|0;switch(a|0){case 1:{a=73;break}case 2:{a=80;break}case 3:{a=66;break}case 4:{a=83;break}case 5:{a=105;break}case 6:{a=112;break}case 7:{a=98;break}default:a=63}return a|0}function Yh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+704|0;v=c[u>>2]|0;if((v|0)!=0?(c[v>>2]|0)!=0:0)if(!(c[(c[b>>2]|0)+572>>2]&256)){f=c[b+552>>2]|0;g=b+548|0;v=b+580|0;d=0;e=0;while(1){if((d|0)>=(f|0))break;t=e+((a[(c[v>>2]|0)+(c[(c[g>>2]|0)+(d<<2)>>2]|0)>>0]&12)!=12&1)|0;d=d+1|0;e=t}if((e|0)>=5){l=(e|0)>99?(e>>>0)/50|0:1;m=b+560|0;n=b+556|0;o=b+564|0;p=b+672|0;q=b+8|0;r=b+708|0;s=b+696|0;d=0;e=0;k=0;while(1){if((k|0)>=((c[m>>2]|0)+-1|0))break;t=k<<4;j=0;while(1){if((j|0)>=(c[n>>2]|0))break;f=(H(c[o>>2]|0,k)|0)+j|0;do if((a[(c[v>>2]|0)+f>>0]&12)!=12){e=e+1|0;if(!((e|0)%(l|0)|0)){g=c[p>>2]|0;if((c[g+88>>2]|0)!=1)if(!(c[(c[s>>2]|0)+(f<<2)>>2]&7)){d=d+-1|0;break}else{d=d+1|0;break}else{h=g+32|0;w=j<<4;f=c[h>>2]|0;i=H(f,t)|0;g=(c[g>>2]|0)+w+i|0;i=(c[c[u>>2]>>2]|0)+w+i|0;if((c[(c[b>>2]|0)+16>>2]|0)!=27){Zh(c[r>>2]|0,k,0);f=c[h>>2]|0}w=(Pc[c[q>>2]&63](0,i,g,f,16)|0)+d|0;d=c[h>>2]|0;d=w-(Pc[c[q>>2]&63](0,i,i+(d<<4)|0,d,16)|0)|0;break}}}while(0);j=j+1|0}k=k+1|0}d=(d|0)>0&1}else d=0}else d=0;else d=1;return d|0}function Zh(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=Ec;Ec=Ec+16|0;h=j;e=c[a+12>>2]|0;if((e|0?(g=c[e+4>>2]|0,g|0):0)?(i=g+(d<<2)|0,(c[i>>2]|0)<(b|0)):0){a=a+4+(d<<2)|0;f=c[(c[(c[a>>2]|0)+28>>2]|0)+20>>2]|0;if(c[f+344>>2]|0){e=c[a>>2]|0;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=g;We(e,48,135461,h)}e=f+184|0;JU(e)|0;a=f+60|0;while(1){if((c[i>>2]|0)>=(b|0))break;yb(a|0,e|0)|0}KU(e)|0}Ec=j;return}function _h(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Ec;Ec=Ec+128|0;fa=ja;W=ja+116|0;X=ja+112|0;Z=ja+48|0;_=ja+16|0;ia=e+564|0;da=c[ia>>2]|0;r=e+556|0;ea=c[r>>2]|0;h=c[e+560>>2]|0;q=e+704|0;f=c[q>>2]|0;if((f|0)!=0?(c[f>>2]|0)!=0:0){f=(c[f+72>>2]|0)+15>>4;f=(h|0)>(f|0)?f:h}else f=h;g=c[e+736>>2]|0;if((g|0)!=0?(c[g>>2]|0)!=0:0){ha=(c[g+72>>2]|0)+15>>4;ha=(f|0)>(ha|0)?ha:f}else ha=f;v=c[e+584>>2]|0;S=H(h,da)|0;w=v+(S<<3)|0;S=w+(S<<3)|0;ei(e,W,X);i=e+712|0;if(c[i>>2]|0)Zh(c[e+708>>2]|0,ha+-1|0,0);T=H(ha,ea)|0;j=e+548|0;o=e+580|0;p=e+696|0;k=c[X>>2]|0;l=c[W>>2]|0;U=e+680|0;m=e+720|0;V=e+688|0;h=0;f=0;while(1){if((h|0)>=(T|0))break;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;R=(a[(c[o>>2]|0)+g>>0]&8)==0?8:(c[(c[p>>2]|0)+(g<<2)>>2]&7|0)==0?0:8;a[S+g>>0]=R;if((R|0)!=8){if((c[c[q>>2]>>2]|0)!=0?(n=c[i>>2]|0,(n|0)!=0):0){R=c[ia>>2]|0;R=H((H(k,(g|0)/(R|0)|0)|0)+((g|0)%(R|0)|0)|0,l)|0;Q=c[U>>2]|0;b[Q+(R<<2)>>1]=b[n+(R<<2)>>1]|0;b[Q+(R<<2)+2>>1]=b[n+(R<<2)+2>>1]|0;R=g<<2;a[(c[V>>2]|0)+R>>0]=a[(c[m>>2]|0)+R>>0]|0}}else f=f+1|0;h=h+1|0}a:do if((f|0)>((ea|0)/2|0|0)?(c[(c[e>>2]|0)+572>>2]&1|0)!=0:0){f=0;j=0;b:while(1){if((j|0)>=(ha|0))break;k=H(j,da)|0;l=(j|0)==0;m=j+1|0;n=(m|0)<(ha|0);o=j+-1|0;g=0;while(1){while(1){if((g|0)>=(ea|0)){j=m;continue b}h=g+k|0;if((a[S+h>>0]|0)==8)break;g=g+1|0}if((g|0)!=0?(s=S+(h+-1)|0,(a[s>>0]|0)==0):0){a[s>>0]=1;c[v+(f<<3)>>2]=g+-1;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!l?(t=S+(h-da)|0,(a[t>>0]|0)==0):0){a[t>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=o;f=f+1|0}i=g+1|0;if((i|0)<(ea|0)?(u=S+(h+1)|0,(a[u>>0]|0)==0):0){a[u>>0]=1;c[v+(f<<3)>>2]=i;c[v+(f<<3)+4>>2]=j;f=f+1|0}if(!n){g=i;continue}h=S+(h+da)|0;if(a[h>>0]|0){g=i;continue}a[h>>0]=1;c[v+(f<<3)>>2]=g;c[v+(f<<3)+4>>2]=m;g=i;f=f+1|0}}N=Z+4|0;O=e+672|0;P=e+608|0;Q=e+612|0;R=e+800|0;M=e+804|0;L=f;while(1){f=1;K=0;g=1;while(1){if(!((K|0)<10&((K|0)<2|(f|0)!=0)))break;J=(K|0)>1;I=0;f=0;while(1){if((I|0)>=(L|0))break;E=c[v+(I<<3)>>2]|0;F=c[v+(I<<3)+4>>2]|0;G=(H(F,da)|0)+E|0;c:do if(!((E^K^F)&1)){z=(E|0)>0;if(z)h=d[S+(G+-1)>>0]|0;else h=0;A=(E+1|0)<(ea|0);if(A)h=h|d[S+(G+1)>>0];y=(F|0)>0;if(y)h=h|d[S+(G-da)>>0];x=(F+1|0)<(ha|0);if(x)h=h|d[S+(G+da)>>0];if(!(J&(h&4|0)==0)){B=c[X>>2]|0;D=(H(B,F)|0)+E|0;C=c[W>>2]|0;D=H(D,C)|0;if(z?(Y=G+-1|0,(d[S+Y>>0]|0)>1):0){e=c[U>>2]|0;g=D-C|0;c[Z>>2]=b[e+(g<<2)>>1];c[N>>2]=b[e+(g<<2)+2>>1];c[_>>2]=a[(c[V>>2]|0)+(Y<<2)>>0];g=1}else g=0;do if(A){h=G+1|0;if((d[S+h>>0]|0)<=1)break;u=c[U>>2]|0;e=C+D|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+(h<<2)>>0];g=g+1|0}while(0);do if(y){if((d[S+(G-da)>>0]|0)<=1)break;u=c[U>>2]|0;e=D-(H(C,B)|0)|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+(G-(c[ia>>2]|0)<<2)>>0];g=g+1|0}while(0);do if(x){if((d[S+(G+da)>>0]|0)<=1){ga=73;break}u=c[U>>2]|0;e=(H(C,B)|0)+D|0;c[Z+(g<<3)>>2]=b[u+(e<<2)>>1];c[Z+(g<<3)+4>>2]=b[u+(e<<2)+2>>1];c[_+(g<<2)>>2]=a[(c[V>>2]|0)+((c[ia>>2]|0)+G<<2)>>0];g=g+1|0}else ga=73;while(0);if((ga|0)==73){ga=0;if(!g){g=0;break}}d:do if((g|0)>1){h=0;i=0;j=0;k=0;while(1){if((k|0)>=(g|0))break;j=(c[Z+(k<<3)>>2]|0)+j|0;i=(c[Z+(k<<3)+4>>2]|0)+i|0;e=c[_+(k<<2)>>2]|0;h=e+h|0;if(k|0?(e|0)!=(c[_+(k+-1<<2)>>2]|0):0)break d;k=k+1|0}c[Z+(g<<3)>>2]=(j|0)/(k|0)|0;c[Z+(g<<3)+4>>2]=(i|0)/(k|0)|0;c[_+(g<<2)>>2]=(h|0)/(k|0)|0;k=(g|0)>2;l=k?-99999:0;k=k?99999:0;p=k;q=l;n=k;o=l;m=0;while(1){if((m|0)==(g|0))break;e=c[Z+(m<<3)>>2]|0;u=c[Z+(m<<3)+4>>2]|0;t=c[_+(m<<2)>>2]|0;p=(p|0)>(t|0)?t:p;q=(q|0)>(t|0)?q:t;n=(n|0)>(u|0)?u:n;k=(k|0)>(e|0)?e:k;o=(o|0)>(u|0)?o:u;l=(l|0)>(e|0)?l:e;m=m+1|0}l=j-l-k|0;e=g+1|0;m=Z+(e<<3)|0;c[m>>2]=l;j=i-o-n|0;k=Z+(e<<3)+4|0;c[k>>2]=j;h=h-q-p|0;i=_+(e<<2)|0;c[i>>2]=h;if((g|0)==4){c[m>>2]=(l|0)/2|0;c[k>>2]=(j|0)/2|0;c[i>>2]=(h|0)/2|0}g=g+2|0}else g=1;while(0);c[_+(g<<2)>>2]=0;c[Z+(g<<3)+4>>2]=0;c[Z+(g<<3)>>2]=0;m=g+1|0;e=c[U>>2]|0;u=b[e+(D<<2)>>1]|0;e=b[e+(D<<2)+2>>1]|0;n=a[(c[V>>2]|0)+(G<<2)>>0]|0;c[Z+(m<<3)>>2]=u;c[Z+(m<<3)+4>>2]=e;c[_+(m<<2)>>2]=n;m=g+2|0;n=E<<4;o=F<<4;p=S+(G+-1)|0;q=S+(G+1)|0;r=S+(G-da)|0;s=S+(G+da)|0;t=0;g=1073741824;l=0;while(1){if((l|0)>=(m|0))break;k=c[O>>2]|0;j=k+32|0;k=(c[k>>2]|0)+n+(H(o,c[j>>2]|0)|0)|0;i=c[Z+(l<<3)>>2]|0;c[P>>2]=i;h=c[U>>2]|0;b[h+(D<<2)>>1]=i;i=c[Z+(l<<3)+4>>2]|0;c[Q>>2]=i;b[h+(D<<2)+2>>1]=i;h=c[_+(l<<2)>>2]|0;if((h|0)<0)h=t;else{Zc[c[R>>2]&1](c[M>>2]|0,h,1,0,P,E,F,0,0);e:do if(z){if((d[p>>0]|0)>1){h=0;i=0}else{i=0;break}while(1){if((h|0)==16)break e;ka=H(c[j>>2]|0,h)|0;ka=(d[k+(ka+-1)>>0]|0)-(d[k+ka>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}else i=0;while(0);f:do if(A){if((d[q>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break f;ka=H(c[j>>2]|0,h)|0;ka=(d[k+(ka+15)>>0]|0)-(d[k+(ka+16)>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);g:do if(y){if((d[r>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break g;ka=(d[k+(h-(c[j>>2]|0))>>0]|0)-(d[k+h>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);h:do if(x){if((d[s>>0]|0)>1)h=0;else break;while(1){if((h|0)==16)break h;ka=c[j>>2]|0;ka=(d[k+((ka*15|0)+h)>>0]|0)-(d[k+((ka<<4)+h)>>0]|0)|0;h=h+1|0;i=((ka|0)>-1?ka:0-ka|0)+i|0}}while(0);ka=(i|0)>(g|0);h=ka?t:l;g=ka?g:i}t=h;l=l+1|0}i=c[Z+(t<<3)>>2]|0;c[P>>2]=i;j=c[Z+(t<<3)+4>>2]|0;c[Q>>2]=j;i=i&65535;j=j&65535;g=0;while(1){if((g|0)>=(C|0))break;k=g+D|0;h=0;while(1){if((h|0)==(C|0))break;A=c[U>>2]|0;ka=(H(B,h)|0)+k|0;b[A+(ka<<2)>>1]=i;b[A+(ka<<2)+2>>1]=j;h=h+1|0}g=g+1|0}Zc[c[R>>2]&1](c[M>>2]|0,c[_+(t<<2)>>2]|0,1,0,P,E,F,0,0);do if((c[P>>2]|0)==(u|0)){if((c[Q>>2]|0)!=(e|0))break;a[S+G>>0]=2;g=0;break c}while(0);a[S+G>>0]=4;g=0;f=f+1|0}}while(0);I=I+1|0}K=K+1|0}if(!g){f=0;k=0}else break a;while(1){if((k|0)>=(L|0))break;i=c[v+(k<<3)>>2]|0;h=c[v+(k<<3)+4>>2]|0;j=(H(h,da)|0)+i|0;g=S+j|0;if(a[g>>0]&14){a[g>>0]=8;if((i|0)>0?($=S+(j+-1)|0,(a[$>>0]|0)==0):0){a[$>>0]=1;c[w+(f<<3)>>2]=i+-1;c[w+(f<<3)+4>>2]=h;f=f+1|0}if((h|0)>0?(aa=S+(j-da)|0,(a[aa>>0]|0)==0):0){a[aa>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=h+-1;f=f+1|0}g=i+1|0;if((g|0)<(ea|0)?(ba=S+(j+1)|0,(a[ba>>0]|0)==0):0){a[ba>>0]=1;c[w+(f<<3)>>2]=g;c[w+(f<<3)+4>>2]=h;f=f+1|0}g=h+1|0;if((g|0)<(ha|0)?(ca=S+(j+da)|0,(a[ca>>0]|0)==0):0){a[ca>>0]=1;c[w+(f<<3)>>2]=i;c[w+(f<<3)+4>>2]=g;f=f+1|0}}k=k+1|0}if((f|0)>(T|0))break;else{ka=w;L=f;w=v;v=ka}}c[fa>>2]=135415;c[fa+4>>2]=133034;c[fa+8>>2]=716;We(0,0,164054,fa);Za()}else{k=e+608|0;l=e+612|0;m=e+800|0;i=e+804|0;h=0;while(1){if((h|0)<(ha|0))g=0;else break a;while(1){if((g|0)>=(c[r>>2]|0))break;j=(H(c[ia>>2]|0,h)|0)+g|0;f=c[q>>2]|0;if(!f)f=2;else f=c[f>>2]|0?1:2;if((c[(c[p>>2]|0)+(j<<2)>>2]&7|0)==0?a[(c[o>>2]|0)+j>>0]&8:0){c[k>>2]=0;c[l>>2]=0;Zc[c[m>>2]&1](c[i>>2]|0,0,f,0,k,g,h,0,0)}g=g+1|0}h=h+1|0}}while(0);Ec=ja;return}function $h(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=Ec;Ec=Ec+16|0;j=z;x=z+8|0;y=z+4|0;w=Mg(h,g<<3)|0;c[x>>2]=w;v=Mg(h,g<<4)|0;c[y>>2]=v;a:do if((v|0)!=0&(w|0)!=0){v=d+564|0;w=d+696|0;u=d+580|0;n=0;while(1){if((n|0)>=(g|0)){n=0;break}o=n>>i;p=H(n,h)|0;l=0;j=1024;d=-1;while(1){if((l|0)>=(f|0)){k=f;j=1024;d=-1;break}t=(H(c[v>>2]|0,o)|0)+(l>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=l+p|0;else{k=l+p|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+2>>1]=j;c[(c[y>>2]|0)+(k<<4)+4>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,o)|0)+(m>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=m+p|0}else{j=m+p|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)>>1]=l;c[(c[y>>2]|0)+(j<<4)>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((n|0)>=(f|0)){k=0;break}o=n>>i;j=1024;d=-1;l=0;while(1){if((l|0)>=(g|0)){k=g;j=1024;d=-1;break}t=(H(c[v>>2]|0,l>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0)k=(H(l,h)|0)+n|0;else{k=(H(l,h)|0)+n|0;j=b[e+(k<<1)>>1]|0;d=l}b[(c[x>>2]|0)+(k<<3)+6>>1]=j;c[(c[y>>2]|0)+(k<<4)+12>>2]=(d|0)>-1?l-d|0:9999;l=l+1|0}while(1){m=k+-1|0;if((k|0)<=0)break;t=(H(c[v>>2]|0,m>>i)|0)+o|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&7|0)!=0?(a[(c[u>>2]|0)+t>>0]&4)!=0:0){l=j;j=(H(m,h)|0)+n|0}else{j=(H(m,h)|0)+n|0;l=b[e+(j<<1)>>1]|0;d=m}b[(c[x>>2]|0)+(j<<3)+4>>1]=l;c[(c[y>>2]|0)+(j<<4)+8>>2]=(d|0)>-1?d-m|0:9999;k=m;j=l}n=n+1|0}while(1){if((k|0)>=(g|0))break a;l=k>>i;m=H(k,h)|0;d=0;while(1){if((d|0)>=(f|0))break;t=(H(c[v>>2]|0,l)|0)+(d>>i)|0;if((c[(c[w>>2]|0)+(t<<2)>>2]&120|0)==0?a[(c[u>>2]|0)+t>>0]&4:0){n=c[y>>2]|0;o=d+m|0;p=c[x>>2]|0;j=0;q=0;r=0;s=0;t=0;while(1){if((j|0)==4)break;A=c[n+(o<<4)+(j<<2)>>2]|0;A=268435456/((A>>>0>1?A:1)>>>0)|0;C=b[p+(o<<3)+(j<<1)>>1]|0;C=nW(C|0,((C|0)<0)<<31>>31|0,A|0,0)|0;C=hW(C|0,M()|0,q|0,r|0)|0;B=M()|0;A=hW(s|0,t|0,A|0,0)|0;j=j+1|0;q=C;r=B;s=A;t=M()|0}C=lW(s|0,t|0,2,0)|0;C=hW(C|0,M()|0,q|0,r|0)|0;C=lW(C|0,M()|0,s|0,t|0)|0;M()|0;b[e+(o<<1)>>1]=C}d=d+1|0}k=k+1|0}}else We(c[d>>2]|0,16,135386,j);while(0);Se(x);Se(y);Ec=z;return}function ai(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+-1|0;h=c+-1|0;c=1;while(1){if((c|0)>=(i|0)){c=1;break}g=H(c,e)|0;d=1;f=b[a+(g<<1)>>1]|0;while(1){if((d|0)>=(h|0))break;l=a+(d+g<<1)|0;j=b[l>>1]|0;k=d+1|0;b[l>>1]=((((j<<3)-f-(b[a+(k+g<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=j}c=c+1|0}while(1){if((c|0)>=(h|0))break;d=b[a+(c<<1)>>1]|0;f=1;while(1){if((f|0)>=(i|0))break;j=a+((H(f,e)|0)+c<<1)|0;k=b[j>>1]|0;l=f+1|0;b[j>>1]=((((k<<3)-d-(b[a+((H(l,e)|0)+c<<1)>>1]|0)|0)*10923|0)+32768|0)>>>16;d=k;f=l}c=c+1|0}return}function bi(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[d+672>>2]|0;t=v+32|0;u=d+588|0;m=h<<1;n=i<<1;o=d+568|0;k=0;while(1){if((k|0)==4)break;q=k&1;r=k>>1;p=b[(c[u>>2]|0)+((H(c[o>>2]|0,r+n|0)|0)+(q|m)<<1)>>1]|0;p=p<<16>>16>0?((p<<16>>16<2040?p:2040)&65535)>>>3&255:0;q=q<<3;r=r<<3;l=0;while(1){if((l|0)==8)break;s=l+r|0;j=0;while(1){if((j|0)==8)break;a[e+(j+q+(H(c[t>>2]|0,s)|0))>>0]=p;j=j+1|0}l=l+1|0}k=k+1|0}k=(H(c[d+564>>2]|0,i)|0)+h|0;j=b[(c[d+592>>2]|0)+(k<<1)>>1]|0;k=b[(c[d+596>>2]|0)+(k<<1)>>1]|0;a:do if(g|0){m=j<<16>>16>0?((j<<16>>16<2040?j:2040)&65535)>>>3&255:0;n=v+36|0;e=k<<16>>16>0?((k<<16>>16<2040?k:2040)&65535)>>>3&255:0;l=v+40|0;k=0;while(1){if((k|0)==8)break a;else j=0;while(1){if((j|0)==8)break;a[f+((H(c[n>>2]|0,k)|0)+j)>>0]=m;a[g+((H(c[l>>2]|0,k)|0)+j)>>0]=e;j=j+1|0}k=k+1|0}}while(0);return}function ci(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;O=Ec;Ec=Ec+16|0;M=O+4|0;I=O;ei(e,M,I);N=c[M>>2]>>j;c[M>>2]=N;M=H(c[I>>2]|0,N)|0;c[I>>2]=M;I=g+-1|0;J=e+580|0;K=e+564|0;L=e+696|0;C=e+680|0;B=0;while(1){if((B|0)>=(h|0))break;D=B>>j;E=H(B,i)|0;F=H(M,B)|0;g=0;a:while(1){if((g|0)>=(I|0))break;x=c[J>>2]|0;l=H(c[K>>2]|0,D)|0;k=l+(g>>j)|0;y=a[x+k>>0]|0;G=g+1|0;l=l+(G>>j)|0;x=a[x+l>>0]|0;m=c[L>>2]|0;o=g+E<<3;n=c[C>>2]|0;g=(H(N,g)|0)+F|0;e=(H(N,G)|0)+F|0;z=(y&14)!=0;A=(x&14)!=0;if(!((x|y)&14)){g=G;continue}if(((c[m+(k<<2)>>2]|c[m+(l<<2)>>2])&7|0)==0?(y=(b[n+(g<<2)>>1]|0)-(b[n+(e<<2)>>1]|0)|0,x=(b[n+(e<<2)+2>>1]|0)+(b[n+(g<<2)+2>>1]|0)|0,(((x|0)>-1?x:0-x|0)+((y|0)>-1?y:0-y|0)|0)<2):0){g=G;continue}r=o|7;s=o|6;t=o+8|0;u=o+9|0;y=z&A;v=o|5;w=o|4;x=o+10|0;l=o+11|0;e=0;while(1){if((e|0)==8){g=G;continue a}m=H(e,i)|0;n=f+(m+r)|0;o=d[n>>0]|0;p=f+(m+s)|0;Q=o-(d[p>>0]|0)|0;q=f+(t+m)|0;g=d[q>>0]|0;P=g-o|0;k=f+(u+m)|0;g=(d[k>>0]|0)-g|0;g=((P|0)>-1?P:0-P|0)-(((Q|0)>-1?Q:0-Q|0)+1+((g|0)>-1?g:0-g|0)>>1)|0;g=(g|0)>0?g:0;g=(P|0)<0?0-g|0:g;if(g|0){g=y?g:(g<<4|0)/9|0;if(z){a[n>>0]=a[134088+((g*7>>4)+o)>>0]|0;a[p>>0]=a[134088+((g*5>>4)+(d[p>>0]|0))>>0]|0;Q=f+(m+v)|0;a[Q>>0]=a[134088+((g*3>>4)+(d[Q>>0]|0))>>0]|0;Q=f+(m+w)|0;a[Q>>0]=a[134088+((g>>4)+(d[Q>>0]|0))>>0]|0}if(A){a[q>>0]=a[134088+((d[q>>0]|0)-(g*7>>4))>>0]|0;a[k>>0]=a[134088+((d[k>>0]|0)-(g*5>>4))>>0]|0;Q=f+(x+m)|0;a[Q>>0]=a[134088+((d[Q>>0]|0)-(g*3>>4))>>0]|0;Q=f+(l+m)|0;a[Q>>0]=a[134088+((d[Q>>0]|0)-(g>>4))>>0]|0}}e=e+1|0}}B=B+1|0}Ec=O;return}function di(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=Ec;Ec=Ec+16|0;P=R+4|0;L=R;ei(e,P,L);Q=c[P>>2]>>j;c[P>>2]=Q;P=H(c[L>>2]|0,Q)|0;c[L>>2]=P;L=h+-1|0;M=e+580|0;N=e+564|0;O=e+696|0;x=e+680|0;y=i*7|0;z=i*6|0;A=i<<3;B=i*9|0;C=i*5|0;D=i<<2;E=i*10|0;F=i*11|0;h=0;a:while(1){if((h|0)>=(L|0))break;G=h>>j;I=h+1|0;J=I>>j;K=H(h,i)|0;s=H(P,h)|0;t=H(P,I)|0;r=0;while(1){if((r|0)>=(g|0)){h=I;continue a}S=c[M>>2]|0;e=r>>j;k=c[N>>2]|0;h=(H(k,G)|0)+e|0;q=a[S+h>>0]|0;e=(H(k,J)|0)+e|0;S=a[S+e>>0]|0;k=c[O>>2]|0;u=r+K<<3;l=c[x>>2]|0;o=H(Q,r)|0;m=o+s|0;n=l+(m<<2)|0;o=o+t|0;p=l+(o<<2)|0;v=(q&14)!=0;w=(S&14)!=0;b:do if((S|q)&14){if(((c[k+(h<<2)>>2]|c[k+(e<<2)>>2])&7|0)==0?(S=(b[n>>1]|0)-(b[p>>1]|0)|0,q=(b[l+(o<<2)+2>>1]|0)+(b[l+(m<<2)+2>>1]|0)|0,(((q|0)>-1?q:0-q|0)+((S|0)>-1?S:0-S|0)|0)<2):0)break;q=v&w;e=0;while(1){if((e|0)==8)break b;l=e+u|0;m=f+(l+y)|0;n=d[m>>0]|0;o=f+(l+z)|0;T=n-(d[o>>0]|0)|0;p=f+(l+A)|0;h=d[p>>0]|0;S=h-n|0;k=f+(l+B)|0;h=(d[k>>0]|0)-h|0;h=((S|0)>-1?S:0-S|0)-(((T|0)>-1?T:0-T|0)+1+((h|0)>-1?h:0-h|0)>>1)|0;h=(h|0)>0?h:0;h=(S|0)<0?0-h|0:h;if(h|0){h=q?h:(h<<4|0)/9|0;if(v){a[m>>0]=a[134088+((h*7>>4)+n)>>0]|0;a[o>>0]=a[134088+((h*5>>4)+(d[o>>0]|0))>>0]|0;T=f+(l+C)|0;a[T>>0]=a[134088+((h*3>>4)+(d[T>>0]|0))>>0]|0;T=f+(l+D)|0;a[T>>0]=a[134088+((h>>4)+(d[T>>0]|0))>>0]|0}if(w){a[p>>0]=a[134088+((d[p>>0]|0)-(h*7>>4))>>0]|0;a[k>>0]=a[134088+((d[k>>0]|0)-(h*5>>4))>>0]|0;T=f+(l+E)|0;a[T>>0]=a[134088+((d[T>>0]|0)-(h*3>>4))>>0]|0;T=f+(l+F)|0;a[T>>0]=a[134088+((d[T>>0]|0)-(h>>4))>>0]|0}}e=e+1|0}}while(0);r=r+1|0}}Ec=R;return}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=Ec;Ec=Ec+16|0;f=g;do if((c[(c[a>>2]|0)+16>>2]|0)==27)if(!(c[a+788>>2]|0)){c[f>>2]=135368;c[f+4>>2]=133034;c[f+8>>2]=47;We(0,0,164054,f);Za()}else{c[b>>2]=4;e=c[a+556>>2]<<2;break}else{c[b>>2]=2;e=c[a+568>>2]|0}while(0);c[d>>2]=e;Ec=g;return}function fi(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ec;Ec=Ec+16|0;h=i;e=a+8|0;f=c[e>>2]|0;g=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7);do if(a>>>0<=134217727){k=a>>>0>65535;j=k?a>>>16:a;k=k?16:0;b=(j&65280|0)==0;j=(b?k:k|8)+(d[120443+(b?j:j>>>8)>>0]|0)|0;b=j<<1;f=63-b+f|0;c[e>>2]=g>>>0>f>>>0?f:g;if(j>>>0<19){We(0,16,155802,h);a=-1094995529;break}else{a=(a>>>(b+-31|0))+-1|0;break}}else{a=a>>>23;k=f+(d[126412+a>>0]|0)|0;c[e>>2]=g>>>0>k>>>0?k:g;a=d[126924+a>>0]|0}while(0);Ec=i;return a|0}function gi(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126412+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[126924+a>>0]|0|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d;ui(0,a,b,f);Ec=e;return}function ii(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function ji(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function ki(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+8|0;g=c[f>>2]|0;h=c[b+16>>2]|0;e=c[b>>2]|0;b=e+(g>>>3)|0;b=(uW(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24|0)|0)<<(g&7);if(b>>>0>134217727){b=b>>>23;g=g+(d[126412+b>>0]|0)|0;c[f>>2]=h>>>0>g>>>0?g:h;b=a[127436+b>>0]|0}else{j=b>>>0>65535;b=j?b>>>16:b;j=j?16:0;i=(b&65280|0)==0;b=(i?j:j|8)+(d[120443+(i?b:b>>>8)>>0]|0)|0;i=31-b+g|0;i=h>>>0>i>>>0?i:h;g=e+(i>>>3)|0;g=(uW(d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24|0)|0)<<(i&7)>>>b;b=i+(32-b)|0;c[f>>2]=h>>>0>b>>>0?b:h;b=g&1;b=(g>>>1^0-b)+b|0}return b|0}function li(a){a=a|0;return c[a+8>>2]|0}function mi(a,b){a=a|0;b=b|0;var d=0;d=Ec;Ec=Ec+16|0;switch(c[a+4>>2]|0){case 66:case 77:case 88:{if(!(c[a+1196>>2]&7))a=1;else{We(b,40,136058,d);a=0}break}default:a=1}Ec=d;return a|0}function ni(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=(e|0)!=0;if(j)h=0;else h=(c[b+668>>2]|0)!=0;i=h?b+768|0:135790;k=h?b+960|0:135854;if(!(ii(a)|0))return 0;l=ti(a,f,16,135918,h?b+672|0:135918)|0;m=f+16|0;l=ti(a,m,16,135918,f)|0|l;m=l|(ti(a,f+32|0,16,135918,m)|0);l=f+48|0;m=m|(ti(a,l,16,135934,h?b+720|0:135934)|0);h=f+64|0;l=m|(ti(a,h,16,135934,l)|0);h=l|(ti(a,f+80|0,16,135934,h)|0);if(!(!j?(c[d+64>>2]|0)==0:0)){h=ti(a,g,64,135790,i)|0|h;f=g+192|0;h=h|(ti(a,f,64,135854,k)|0);if((c[b+12>>2]|0)==3){m=g+64|0;l=ti(a,m,64,135790,g)|0|h;h=g+256|0;l=l|(ti(a,h,64,135854,f)|0);m=l|(ti(a,g+128|0,64,135790,m)|0);h=m|(ti(a,g+320|0,64,135854,h)|0)}}return ((h|0)==0?e:h)|0}function oi(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+-8|0;h=f*6|0;g=h+51|0;h=h+52|0;e=0;while(1){if((e|0)>=(h|0))break;i=e+d|0;a[b+548+(c*88|0)+e>>0]=a[((i|0)<0?0:(i|0)>(g|0)?g:i)+(128307+(f*88|0))>>0]|0;e=e+1|0}return}function pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;ri(a,b);f=a+173812|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=a+64|0;if(c[f>>2]|0)si(a,b);a:do if(c[b+16>>2]|0){d=0;while(1){if((d|0)==6)break;e=a+173788+(d<<2)|0;b=0;while(1){if((b|0)==16)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}if(c[f>>2]|0){d=0;while(1){if((d|0)==6)break a;e=a+173812+(d<<2)|0;b=0;while(1){if((b|0)==64)break;c[(c[e>>2]|0)+(b<<2)>>2]=64;b=b+1|0}d=d+1|0}}}while(0);return}function qi(a,b){a=a|0;b=b|0;Cf(a+128+(b<<2)|0);return}function ri(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173788+(h<<2)|0;c[f>>2]=a+4828+(h*5632|0);b=a+68+(h<<4)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(ZS(a+68+(e<<4)|0,b,16)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+4828+(e*5632|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=(d[128219+g>>0]|0)+2|0;f=d[128131+g>>0]|0;b=0;while(1){if((b|0)==16)break;j=b>>2;c[a+4828+(h*5632|0)+(g<<6)+((b<<2&12|j)<<2)>>2]=(H(d[a+68+(h<<4)+b>>0]|0,d[(j&1)+(b&1)+(128061+(f*3|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function si(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=((c[b+1184>>2]|0)*6|0)+4|0;h=0;while(1){if((h|0)==6)break;f=a+173812+(h<<2)|0;c[f>>2]=a+38620+(h*22528|0);b=a+164+(h<<6)|0;e=0;while(1){if((e|0)>=(h|0)){g=0;b=8;break}if(!(ZS(a+164+(e<<6)|0,b,64)|0)){b=6;break}e=e+1|0}a:do if((b|0)==6)c[f>>2]=a+38620+(e*22528|0);else if((b|0)==8)while(1){if((g|0)>=(i|0))break a;e=d[128219+g>>0]|0;f=d[128131+g>>0]|0;b=0;while(1){if((b|0)==64)break;c[a+38620+(h*22528|0)+(g<<8)+((b<<3&56|b>>3)<<2)>>2]=(H(d[a+164+(h<<6)+b>>0]|0,d[(d[128079+(b>>>1&12|b&3)>>0]|0)+(128095+(f*6|0))>>0]|0)|0)<<e;b=b+1|0}g=g+1|0;b=8}while(0);h=h+1|0}return}function ti(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=Ec;Ec=Ec+16|0;l=m;k=(f|0)==16?135950:135967;a:do if(ii(b)|0){i=0;h=8;j=8;while(1){if((i|0)>=(f|0)){h=0;break a}if(!h)h=0;else{h=ki(b)|0;if((h+128|0)>>>0>255){i=7;break}h=h+j&255}if(!(h|i)){i=9;break}n=h|0?h:j;a[e+(d[k+i>>0]|0)>>0]=n;i=i+1|0;j=n}if((i|0)==7){c[l>>2]=h;We(0,16,136031,l);h=-1094995529;break}else if((i|0)==9){wW(e|0,g|0,f|0)|0;h=0;break}}else{wW(e|0,h|0,f|0)|0;h=0}while(0);Ec=m;return h|0}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ec;Ec=Ec+16|0;Xe(b,24,c,d);We(b,24,136123,e);if(a|0)We(b,24,136299,e+8|0);Ec=e;return}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(b|0)!=0&d>>>0<2147483640;d=e?d:0;b=e?b:0;c[a>>2]=b;c[a+12>>2]=d;c[a+16>>2]=d+8;c[a+4>>2]=b+(d+7>>3);c[a+8>>2]=0;return (e?0:-1094995529)|0}function wi(a){a=a|0;var b=0,d=0;b=a+8|0;a=c[a+16>>2]|0;d=(c[b>>2]|0)+2|0;c[b>>2]=a>>>0>d>>>0?d:a;return}function xi(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=Ec;Ec=Ec+32|0;k=l+24|0;i=l+16|0;h=l+8|0;f=l;do if(ii(a)|0){e=ji(a,8)|0;if((e|0)==255){c[d+100>>2]=ji(a,16)|0;c[d+104>>2]=ji(a,16)|0;g=8;break}if(e>>>0<17){e=75092+(e<<3)|0;f=c[e+4>>2]|0;g=d+100|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=8;break}else{We(b,16,137101,f);e=-1094995529;break}}else{c[d+104>>2]=0;c[d+100>>2]=0;g=8}while(0);do if((g|0)==8){if(ii(a)|0)ii(a)|0;g=ii(a)|0;c[d+108>>2]=g;if(g|0?(ji(a,3)|0,c[d+112>>2]=ii(a)|0,g=ii(a)|0,c[d+116>>2]=g,g|0):0){e=d+120|0;c[e>>2]=ji(a,8)|0;f=d+124|0;c[f>>2]=ji(a,8)|0;g=d+128|0;c[g>>2]=ji(a,8)|0;if(!(Ai(c[e>>2]|0)|0))c[e>>2]=2;if(!(Bi(c[f>>2]|0)|0))c[f>>2]=2;if(!(Ci(c[g>>2]|0)|0))c[g>>2]=2}if(ii(a)|0){c[b+332>>2]=(fi(a)|0)+1;fi(a)|0}if(Di(a)|0?(yi(a)|0)<10:0){We(b,24,137123,h);e=0;break}h=ii(a)|0;e=d+132|0;c[e>>2]=h;if(h|0){f=Ei(a,32)|0;g=Ei(a,32)|0;if((f|0)!=0&(g|0)!=0){c[d+136>>2]=f;c[d+140>>2]=g}else{c[i>>2]=g;c[i+4>>2]=f;We(b,16,137138,i);c[e>>2]=0}c[d+144>>2]=ii(a)|0}i=ii(a)|0;e=d+1152|0;c[e>>2]=i;if(i|0?(Fi(a,b,d)|0)<0:0){e=-1094995529;break}i=ii(a)|0;f=d+1156|0;c[f>>2]=i;if(i|0?(Fi(a,b,d)|0)<0:0){e=-1094995529;break}if(!((c[e>>2]|0)==0?!(c[f>>2]|0):0))ii(a)|0;c[d+1160>>2]=ii(a)|0;if((yi(a)|0)!=0?(i=ii(a)|0,j=d+660|0,c[j>>2]=i,(i|0)!=0):0){ii(a)|0;fi(a)|0;fi(a)|0;fi(a)|0;fi(a)|0;f=d+664|0;c[f>>2]=fi(a)|0;fi(a)|0;if((yi(a)|0)<0){c[f>>2]=0;c[j>>2]=0;e=0;break}e=c[f>>2]|0;if(e>>>0>16){c[k>>2]=e;We(b,16,137199,k);c[f>>2]=16;e=-1094995529}else e=0}else e=0}while(0);Ec=l;return e|0}function yi(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(li(a)|0)|0}function zi(a,b){a=a|0;b=b|0;Cf(a+(b<<2)|0);return}function Ai(a){a=a|0;if(a>>>0<23)a=c[72392+(a<<2)>>2]|0;else a=0;return a|0}function Bi(a){a=a|0;if(a>>>0<19)a=c[72316+(a<<2)>>2]|0;else a=0;return a|0}function Ci(a){a=a|0;if(a>>>0<15)a=c[72256+(a<<2)>>2]|0;else a=0;return a|0}function Di(a){a=a|0;return Ji(a)|0}function Ei(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=ji(a,b)|0;break}else{b=b+-16|0;c=(ji(a,16)|0)<<b;a=c|(ji(a,b)|0);break}else a=0;while(0);return a|0}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+16|0;e=h;f=gi(a)|0;g=f+1|0;if(g>>>0>32){c[e>>2]=g;We(b,16,137239,e);b=-1094995529}else{ji(a,4)|0;ji(a,4)|0;b=0;while(1){if((b|0)>(f|0))break;Gi(a);Gi(a);ii(a)|0;b=b+1|0}c[d+1172>>2]=(ji(a,5)|0)+1;c[d+1176>>2]=(ji(a,5)|0)+1;c[d+1180>>2]=(ji(a,5)|0)+1;c[d+1164>>2]=ji(a,5)|0;c[d+1168>>2]=g;b=0}Ec=h;return b|0}function Gi(a){a=a|0;var b=0,c=0,e=0;e=Hi(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Ii(a,b);Ei(a,b+1|0)|0;return}function Hi(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=Ei(d,32)|0;Ec=b;return a|0}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Ji(a){a=a|0;var b=0;b=c[a+8>>2]|0;a=(c[a>>2]|0)+(b>>>3)|0;return (uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(b&7)>>>31|0}function Ki(a){a=a|0;var b=0;b=c[a+12>>2]|0;return b-(Ni(a)|0)|0}function Li(a,b){a=a|0;b=b|0;var e=0;e=c[a+8>>2]|0;a=(c[a>>2]|0)+(e>>>3)|0;return (uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(e&7)>>>(32-b|0)|0}function Mi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=a+8|0;g=c[e>>2]|0;f=c[a+16>>2]|0;a=(c[a>>2]|0)+(g>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(g&7)>>>(32-b|0);b=g+b|0;c[e>>2]=f>>>0>b>>>0?b:f;return a|0}function Ni(a){a=a|0;return c[a+8>>2]|0}function Oi(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ec;Ec=Ec+16|0;l=m+8|0;j=m;i=0;g=c[e+1164>>2]|0;while(1){h=(g|0)!=0;if((i|0)==32)break;if(!(h?(c[g+20>>2]|0)!=0:0)){h=c[e+(i<<2)>>2]|0;if(h)g=c[h+4>>2]|0}i=i+1|0}do if(h){if(!((c[g+1152>>2]|0)==0?!(c[g+1156>>2]|0):0)){c[a+16>>2]=cj(b,c[g+1176>>2]|0)|0;c[a+12>>2]=cj(b,c[g+1180>>2]|0)|0}if(c[g+1160>>2]|0){h=Mi(b,4)|0;j=a+4|0;c[j>>2]=h;k=a+8|0;c[k>>2]=0;if(h>>>0>8){g=-1094995529;break}e=d[137754+h>>0]|0;h=g+1164|0;g=0;while(1){if((g|0)==(e|0))break;if(Mi(b,1)|0){i=1<<(Mi(b,2)|0);c[k>>2]=c[k>>2]|i;Zi(b,1);Zi(b,5);i=Mi(b,1)|0;Zi(b,1);Zi(b,1);Zi(b,8);if(!i){if((Mi(b,1)|0?(Zi(b,6),Mi(b,1)|0):0)?(Zi(b,6),Mi(b,1)|0):0)Zi(b,5)}else{Zi(b,6);Zi(b,6);Zi(b,5)}i=c[h>>2]|0;if((i|0)>0)Zi(b,i)}g=g+1|0}b=c[j>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=b;We(f,48,137763,l)}c[a>>2]=1;g=0}else{We(f,16,137712,j);g=-1397768184}while(0);Ec=m;return g|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:do if((c|0)<7)c=-1094995529;else{if((Mi(b,8)|0)==255){Zi(b,8);c=c+-8|0}else c=c+-7|0;Zi(b,8);Zi(b,8);d=cj(b,32)|0;b:do if((d|0)<1195456820){switch(d|0){case 1146373937:break;default:break b}c=ej(a+20|0,b,c)|0;break a}else{switch(d|0){case 1195456820:break;default:break b}c=fj(a+28|0,b,c)|0;break a}while(0);Zi(b,c<<3);c=0}while(0);return c|0}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;g=j;h=j+4|0;if((e+-16|0)>>>0<=2147483614){f=e+16|0;i=cf(e+17|0)|0;if(!i)e=-12;else{e=0;while(1){if((e|0)>=(f|0))break;a[i+e>>0]=Mi(d,8)|0;e=e+1|0}a[i+e>>0]=0;f=i+16|0;c[g>>2]=h;d=(fU(f,137680,g)|0)==1;e=c[h>>2]|0;if(d&(e|0)>0)c[b>>2]=e;if(d&(e|0)==1?(_S(f,137695,16)|0)==0:0)c[b>>2]=67;Te(i);e=0}}else e=-1094995529;Ec=j;return e|0}function Ri(a,b){a=a|0;b=b|0;c[a>>2]=$i(b)|0;Zi(b,4);return}function Si(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;i=j;f=dj(b)|0;g=f>>>0>31;if(!g?(h=c[d+(f<<2)>>2]|0,(h|0)!=0):0){g=c[h+4>>2]|0;a:do if(c[g+1152>>2]|0){e=g+1168|0;f=g+1172|0;d=0;while(1){if((d|0)>=(c[e>>2]|0))break a;c[a+4+(d<<2)>>2]=cj(b,c[f>>2]|0)|0;Zi(b,c[f>>2]|0);d=d+1|0}}while(0);b:do if(c[g+1156>>2]|0){f=g+1168|0;e=g+1172|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break b;c[a+4+(d<<2)>>2]=cj(b,c[e>>2]|0)|0;Zi(b,c[e>>2]|0);d=d+1|0}}while(0);c[a>>2]=1;d=0}else{c[i>>2]=f;We(e,16,137628,i);d=g?-1094995529:-1397768184}Ec=j;return d|0}function Ti(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=$i(b)|0;d=_i(b)|0;c[a+8>>2]=d;d=(d|0)==0;c[a>>2]=d&1;if(d){d=a+12|0;c[d>>2]=Mi(b,7)|0;e=a+24|0;c[e>>2]=_i(b)|0;c[a+20>>2]=Mi(b,6)|0;Zi(b,3);c[a+28>>2]=_i(b)|0;Zi(b,2);if((c[e>>2]|0)==0?(c[d>>2]|0)!=5:0)Zi(b,16);Zi(b,8);c[a+16>>2]=$i(b)|0}aj(b);return}function Ui(a,b){a=a|0;b=b|0;var d=0;d=(_i(b)|0)==0;c[a>>2]=d&1;if(d){c[a+8>>2]=_i(b)|0;c[a+12>>2]=_i(b)|0;c[a+4>>2]=Mi(b,16)|0;$i(b)|0;aj(b)}return}function Vi(c,d){c=c|0;d=d|0;var e=0;e=(Mi(d,8)|0)&255;a[c>>0]=e;switch(e<<24>>24){case 0:{e=(Mi(d,8)|0)&255;a[c+1>>0]=e;switch(e<<24>>24){case 2:{b[c+2>>1]=Mi(d,16)|0;break}case 3:{b[c+4>>1]=Mi(d,16)|0;break}default:{}}a[c+6>>0]=Mi(d,8)|0;a[c+7>>0]=Mi(d,8)|0;a[c+8>>0]=Mi(d,8)|0;a[c+9>>0]=Mi(d,8)|0;break}case 1:{a[c+10>>0]=Mi(d,8)|0;b[c+12>>1]=Mi(d,16)|0;break}default:{}}return}function Wi(a,b){a=a|0;b=b|0;c[a>>2]=1;c[a+4>>2]=Mi(b,8)|0;return}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;f=0-e|0;a=(c[a+16>>2]|0)-e|0;c[d>>2]=((f|0)>(b|0)?f:(a|0)<(b|0)?a:b)+e;return}function Yi(a){a=a|0;var b=0;b=0-(Ni(a)|0)&7;if(b|0)Zi(a,b);return}function Zi(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[a+16>>2]|0;b=(c[d>>2]|0)+b|0;c[d>>2]=a>>>0>b>>>0?b:a;return}function _i(a){a=a|0;var b=0,e=0,f=0;e=a+8|0;f=c[e>>2]|0;b=(d[(c[a>>2]|0)+(f>>>3)>>0]|0)<<(f&7)>>>7&1;c[e>>2]=f+((f|0)<(c[a+16>>2]|0)&1);return b|0}function $i(a){a=a|0;var b=0,c=0,e=0;e=bj(a)|0;b=e>>>0>65535;e=b?e>>>16:e;b=b?16:0;c=(e&65280|0)==0;b=31-(d[120443+(c?e:e>>>8)>>0]|0)-(c?b:b|8)|0;Xi(a,b);return (cj(a,b+1|0)|0)+-1|0}function aj(a){a=a|0;Zi(a,1);return}function bj(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];a=cj(d,32)|0;Ec=b;return a|0}function cj(a,b){a=a|0;b=b|0;var c=0;do if(b)if((b|0)<26){a=Mi(a,b)|0;break}else{b=b+-16|0;c=(Mi(a,16)|0)<<b;a=c|(Mi(a,b)|0);break}else a=0;while(0);return a|0}function dj(a){a=a|0;var b=0,e=0,f=0;b=a+8|0;f=c[b>>2]|0;e=c[a+16>>2]|0;a=(c[a>>2]|0)+(f>>>3)|0;a=(uW(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24|0)|0)<<(f&7)>>>23;f=f+(d[126412+a>>0]|0)|0;c[b>>2]=e>>>0>f>>>0?f:e;return d[126924+a>>0]|0|0}function ej(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=1){Zi(d,1);f=Mi(d,1)|0;Zi(d,6);if(f)if((e|0)<2)b=-1094995529;else{Zi(d,4);a[b+4>>0]=Mi(d,4)|0;c[b>>2]=1;b=0}else b=0}else b=-1094995529;return b|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;a:do if((e|0)>=3){if((Mi(d,8)|0)!=3){f=e+-1|0;e=0;while(1){if((e|0)==(f|0)){e=0;break a}Zi(d,8);e=e+1|0}}Zi(d,1);if(((Mi(d,1)|0)!=0?(Zi(d,1),g=Mi(d,5)|0,Zi(d,8),(g|0)!=0):0)?(e+-2|0)>=(g*3|0):0){e=c[b>>2]|0;f=nW(g|0,((g|0)<0)<<31>>31|0,3,0)|0;e=hW(f|0,M()|0,e|0,((e|0)<0)<<31>>31|0)|0;f=M()|0;if(!(f>>>0>0|(f|0)==0&e>>>0>2147483647)){f=b+4|0;e=gj(f,e)|0;if((e|0)>=0){e=0;while(1){if((e|0)>=(g|0))break;j=(Mi(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;h=(Mi(d,8)|0)&255;i=c[f>>2]|0;j=c[b>>2]|0;c[b>>2]=j+1;a[i+j>>0]=h;j=(Mi(d,8)|0)&255;i=c[f>>2]|0;h=c[b>>2]|0;c[b>>2]=h+1;a[i+h>>0]=j;e=e+1|0}Zi(d,8);e=0}}else e=-22}else e=0}else e=-22;while(0);return e|0}function gj(b,c){b=b|0;c=c|0;do if(c){c=bf(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,c)|0;if(!c){Se(b);c=-12;break}else{a[b>>0]=c;a[b+1>>0]=c>>8;a[b+2>>0]=c>>16;a[b+3>>0]=c>>24;c=0;break}}else{Se(b);c=0}while(0);return c|0}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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=Ec;Ec=Ec+64|0;p=B+56|0;o=B+48|0;u=B+32|0;s=B+24|0;t=B+16|0;f=B;x=c[d>>2]|0;A=d+21788|0;r=c[A>>2]|0;y=d+868|0;z=c[y>>2]|0;w=c[c[x+24312>>2]>>2]|0;b=c[w+32>>2]|0;e=d+21772|0;c[e>>2]=b;c[d+21776>>2]=c[w+36>>2];b=nj(d,b)|0;a:do if((b|0)>=0){n=d+21816|0;c[n>>2]=-1;if((c[x+26036>>2]|0)!=(((c[e>>2]|0)*12|0)+(12<<c[x+25664>>2])|0)){c[f>>2]=138884;c[f+4>>2]=137858;c[f+8>>2]=2536;We(0,0,164054,f);Za()}if(c[x+25708>>2]|0)c[y>>2]=0;v=x+26376|0;if(!(c[v>>2]|0))b=(c[x+26380>>2]|0)!=3;else b=1;c[d+21820>>2]=b&1;w=x+4|0;if(((((c[(c[w>>2]|0)+696>>2]&2|0)==0?(c[x+26380>>2]|0)==3:0)?(h=c[x+25628>>2]|0,i=c[h+604>>2]|0,i|0):0)?(q=(H(c[x+27012>>2]|0,c[d+21804>>2]|0)|0)+(c[d+21800>>2]|0)|0,g=(c[x+27020>>2]|0)+-1|0,g=(q|0)>(g|0)?g:q,!((q|0)<0|(g|0)==0)):0)?(a[i+(c[(c[h+572>>2]|0)+(g+-1<<2)>>2]|0)>>0]&-2)<<24>>24!=112:0)c[h+600>>2]=1;do if(!(c[(c[x+28212>>2]|0)+4>>2]|0)){m=d+21792|0;f=x+27012|0;i=d+21812|0;l=d+4|0;j=x+26380|0;k=x+27008|0;e=r;while(1){u=(H(c[f>>2]|0,c[m>>2]|0)|0)+(c[A>>2]|0)|0;b=c[i>>2]|0;if((u|0)>=(b|0)){f=46;break}b=zj(x,d)|0;if((b|0)<=-1){f=52;break}vj(x,d);if(c[v>>2]|0){c[m>>2]=(c[m>>2]|0)+1;b=zj(x,d)|0;if((b|0)<=-1){f=50;break}vj(x,d);c[m>>2]=(c[m>>2]|0)+-1}b=(c[A>>2]|0)+1|0;c[A>>2]=b;if((b|0)>=(c[f>>2]|0)){ij(x,d,e,b);c[A>>2]=0;xj(x,d);b=c[m>>2]|0;e=b+1|0;c[m>>2]=e;if(!(c[v>>2]|0)){if((c[j>>2]|0)!=3){e=b+2|0;c[m>>2]=e}}else{b=b+2|0;c[m>>2]=b;if((b|0)<(c[k>>2]|0)){yj(x,d);e=c[m>>2]|0}else e=b}if((e|0)<(c[k>>2]|0))h=0;else{f=61;break}}else h=e;g=qj(l)|0;if((g|0)>=1){e=h;continue}if((c[n>>2]|0)<1){f=68;break}else e=h}if((f|0)==46){z=c[w>>2]|0;c[o>>2]=b;We(z,16,139011,o);tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);b=-1094995529;break a}else if((f|0)==50){e=(c[m>>2]|0)+-1|0;c[m>>2]=e}else if((f|0)==52)e=c[m>>2]|0;else if((f|0)==61){b=qj(l)|0;do if(b|0){if((b|0)>0?(c[(c[w>>2]|0)+580>>2]&262144|0)==0:0)break;tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,e,112);b=-1094995529;break a}while(0);tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,e,112);break}else if((f|0)==68){b=c[d+21800>>2]|0;e=c[d+21804>>2]|0;f=c[A>>2]|0;if(g|0){tj(d,b,e,f,c[m>>2]|0,14);b=-1094995529;break a}tj(d,b,e,f+-1|0,c[m>>2]|0,112);b=c[A>>2]|0;if((b|0)<=(h|0))break;ij(x,d,h,b);break}z=c[w>>2]|0;c[p>>2]=c[A>>2];c[p+4>>2]=e;We(z,16,139115,p);tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[m>>2]|0,14);break a}else{b=d+4|0;oj(b);o=d+32856|0;q=c[b>>2]|0;q=q+((pj(b)|0)/8|0)|0;b=rj(o,q,((qj(b)|0)+7|0)/8|0)|0;if((b|0)<0)break a;sj(x,d);q=d+21792|0;i=x+27012|0;j=d+21812|0;k=x+25700|0;p=d+32872|0;n=d+32876|0;l=x+27008|0;m=x+26380|0;h=r;b=c[q>>2]|0;while(1){r=(H(c[i>>2]|0,b)|0)+(c[A>>2]|0)|0;b=c[j>>2]|0;if((r|0)>=(b|0)){f=19;break}b=uj(x,d)|0;if((b|0)>-1?(vj(x,d),(c[v>>2]|0)!=0):0){c[q>>2]=(c[q>>2]|0)+1;b=uj(x,d)|0;if((b|0)>-1)vj(x,d);c[q>>2]=(c[q>>2]|0)+-1}g=wj(o)|0;e=c[p>>2]|0;f=c[n>>2]|0;if((c[k>>2]&16384|0)!=0&e>>>0>(f+2|0)>>>0){f=26;break}if(e>>>0>(f+2|0)>>>0){r=c[w>>2]|0;c[s>>2]=f-e;We(r,48,139043,s)}if((b|0)<0){f=31;break}b=c[p>>2]|0;e=c[n>>2]|0;if(b>>>0>(e+4|0)>>>0){f=33;break}b=(c[A>>2]|0)+1|0;c[A>>2]=b;do if((b|0)>=(c[i>>2]|0)){ij(x,d,h,b);c[A>>2]=0;xj(x,d);b=c[q>>2]|0;c[q>>2]=b+1;if(!(c[v>>2]|0)){if((c[m>>2]|0)==3){e=0;break}c[q>>2]=b+2;e=0;break}else{r=b+2|0;c[q>>2]=r;if((r|0)>=(c[l>>2]|0)){e=0;break}yj(x,d);e=0;break}}else e=h;while(0);b=c[q>>2]|0;if(g|0){f=43;break}if((b|0)>=(c[l>>2]|0)){f=43;break}else h=e}if((f|0)==19){z=c[w>>2]|0;c[t>>2]=b;We(z,16,139011,t);tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}else if((f|0)==26){tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,c[q>>2]|0,112);b=c[A>>2]|0;if((b|0)<(h|0))break;ij(x,d,h,b+1|0);break}else if((f|0)==31){e=c[n>>2]|0;b=c[p>>2]|0}else if((f|0)!=33)if((f|0)==43){tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,(c[A>>2]|0)+-1|0,b,112);b=c[A>>2]|0;if((b|0)<=(e|0))break;ij(x,d,e,b);break}z=c[w>>2]|0;y=c[q>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=y;c[u+8>>2]=e-b;We(z,16,139068,u);tj(d,c[d+21800>>2]|0,c[d+21804>>2]|0,c[A>>2]|0,c[q>>2]|0,14);b=-1094995529;break a}while(0);c[y>>2]=z;b=0}while(0);Ec=B;return b|0}function ij(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;aa=e+21792|0;_=b+26376|0;h=c[_>>2]|0;ba=h+(c[aa>>2]|0)|0;ca=e+836|0;$=c[ca>>2]|0;X=b+25664|0;Y=c[X>>2]|0;Z=16>>>(c[b+25680>>2]|0);if(!(c[b+25708>>2]|0)){a:do if(!(c[e+868>>2]|0)){l=b+28212|0;k=e+852|0;j=e+856|0;i=e+21788|0}else{J=b+27016|0;K=e+21796|0;L=b+24364|0;i=e+21788|0;M=b+24316|0;N=e+21772|0;O=b+28216|0;P=e+21776|0;Q=e+21828|0;R=e+21780|0;S=e+21784|0;l=b+28212|0;T=b+24340|0;k=e+852|0;j=e+856|0;U=e+21832|0;V=e+27796|0;W=1-Z|0;while(1){h=c[_>>2]|0;if((f|0)>=(g|0))break a;I=f<<Y;E=ba-h|0;while(1){if((E|0)>(ba|0))break;F=(H(c[J>>2]|0,E)|0)+f|0;c[K>>2]=F;G=c[(c[L>>2]|0)+(F<<2)>>2]|0;t=(c[_>>2]|0)==0;h=G>>>7&1;if(t)h=c[Q>>2]|0;else{c[Q>>2]=h;c[U>>2]=h}c[i>>2]=f;c[aa>>2]=E;C=c[M>>2]|0;p=c[N>>2]|0;m=(c[C>>2]|0)+((H(p,E)|0)+I<<4)|0;s=c[(c[O>>2]|0)+12>>2]|0;z=(s|0)==3;D=H(8<<(z&1),I)|0;r=c[P>>2]|0;o=H(H(E,Z)|0,r)|0;n=(c[C+4>>2]|0)+D+o|0;o=(c[C+8>>2]|0)+D+o|0;if(h){h=p<<1;c[R>>2]=h;q=r<<1;c[S>>2]=q;if(!(E&1)){D=n;C=o;p=h}else{C=H(W,r)|0;m=m+(H(p,-15)|0)|0;D=n+C|0;C=o+C|0;p=h}}else{c[R>>2]=p;c[S>>2]=r;D=n;C=o;q=r}w=c[X>>2]|0;x=(s|0)==2;v=m+(0-p)|0;B=0-q|0;y=D+B|0;B=C+B|0;do if(!t){h=(c[U>>2]|0)!=0;if(!(E&1))if(h){h=0;u=f;A=33;break}else break;if(!h){t=c[V>>2]|0;h=v+(p*15|0)|0;s=h;A=c[s+4>>2]|0;u=t+(f*96|0)|0;c[u>>2]=c[s>>2];c[u+4>>2]=A;u=h+8|0;A=c[u+4>>2]|0;s=t+(f*96|0)+8|0;c[s>>2]=c[u>>2];c[s+4>>2]=A;s=(w|0)!=0;h=h+16|0;if(s){A=h;u=c[A+4>>2]|0;r=t+(f*96|0)+16|0;c[r>>2]=c[A>>2];c[r+4>>2]=u;r=h+8|0;u=c[r+4>>2]|0;A=t+(f*96|0)+24|0;c[A>>2]=c[r>>2];c[A+4>>2]=u}do if(z){h=q*15|0;n=y+h|0;r=n;o=c[r>>2]|0;r=c[r+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=o;c[A+4>>2]=r;A=n+8|0;u=c[A+4>>2]|0;s=t+(f*96|0)+40|0;c[s>>2]=c[A>>2];c[s+4>>2]=u;n=n+16|0;s=n;u=c[s+4>>2]|0;A=t+(f*96|0)+48|0;c[A>>2]=c[s>>2];c[A+4>>2]=u;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+56|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+64|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=h+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+72|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=h+16|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+80|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=88;h=h+8|0;break}else{A=t+(f*96|0)+16|0;c[A>>2]=o;c[A+4>>2]=r;n=n+8|0;A=c[n+4>>2]|0;u=t+(f*96|0)+24|0;c[u>>2]=c[n>>2];c[u+4>>2]=A;h=B+h|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+32|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=40;h=h+8|0;break}}else if(x){r=q*15|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q*7|0;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){A=t+(f*96|0)+32|0;c[A>>2]=n;c[A+4>>2]=o;A=h+8|0;u=c[A+4>>2]|0;h=t+(f*96|0)+40|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=B+r|0;u=h;A=c[u+4>>2]|0;n=t+(f*96|0)+48|0;c[n>>2]=c[u>>2];c[n+4>>2]=A;n=56;h=h+8|0;break}else{h=t+(f*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);A=h;u=c[A+4>>2]|0;h=t+(f*96|0)+n|0;c[h>>2]=c[A>>2];c[h+4>>2]=u;h=1;u=c[i>>2]|0;A=33}else{h=1;u=f;A=33}}else{h=1;u=f;A=33}while(0);if((A|0)==33){A=0;t=c[e+27796+(h<<2)>>2]|0;r=p<<4;h=v+r|0;s=h;v=c[s+4>>2]|0;o=t+(u*96|0)|0;c[o>>2]=c[s>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;s=t+(u*96|0)+8|0;c[s>>2]=c[o>>2];c[s+4>>2]=v;s=(w|0)!=0;h=h+16|0;if(s){w=h;v=c[w+4>>2]|0;o=t+(u*96|0)+16|0;c[o>>2]=c[w>>2];c[o+4>>2]=v;o=h+8|0;v=c[o+4>>2]|0;w=t+(u*96|0)+24|0;c[w>>2]=c[o>>2];c[w+4>>2]=v}do if(z){h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;z=h+8|0;y=c[z+4>>2]|0;n=t+(u*96|0)+40|0;c[n>>2]=c[z>>2];c[n+4>>2]=y;n=h+16|0;y=n;h=c[y+4>>2]|0;z=t+(u*96|0)+48|0;c[z>>2]=c[y>>2];c[z+4>>2]=h;n=n+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+56|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+64|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=h+8|0;B=c[n+4>>2]|0;z=t+(u*96|0)+72|0;c[z>>2]=c[n>>2];c[z+4>>2]=B;h=h+16|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+80|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=88;h=h+8|0;break}else{z=t+(u*96|0)+16|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+24|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+32|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=40;h=h+8|0;break}}else if(x){r=q<<4;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}else{r=q<<3;h=y+r|0;o=h;n=c[o>>2]|0;o=c[o+4>>2]|0;if(s){z=t+(u*96|0)+32|0;c[z>>2]=n;c[z+4>>2]=o;n=h+8|0;z=c[n+4>>2]|0;h=t+(u*96|0)+40|0;c[h>>2]=c[n>>2];c[h+4>>2]=z;h=B+r|0;z=h;B=c[z+4>>2]|0;n=t+(u*96|0)+48|0;c[n>>2]=c[z>>2];c[n+4>>2]=B;n=56;h=h+8|0;break}else{h=t+(u*96|0)+16|0;c[h>>2]=n;c[h+4>>2]=o;n=24;h=B+r|0;break}}while(0);y=h;z=c[y+4>>2]|0;B=t+(u*96|0)+n|0;c[B>>2]=c[y>>2];c[B+4>>2]=z}do if(!(jj(b,e,G)|0)){G=c[l>>2]|0;F=(c[T>>2]|0)+F|0;c[k>>2]=d[(a[F>>0]|0)+(G+548)>>0];c[j>>2]=d[(a[F>>0]|0)+(G+636)>>0];if(!(c[_>>2]|0)){lj(b,e,f,E,m,D,C,p,q);break}else{kj(b,e,f,E,m,D,C,p,q);break}}while(0);E=E+1|0}f=f+1|0}}while(0);c[ca>>2]=$;c[i>>2]=g;c[aa>>2]=ba-h;ba=c[l>>2]|0;ca=c[e+848>>2]|0;c[k>>2]=d[ba+548+ca>>0];c[j>>2]=d[ba+636+ca>>0]}return}function jj(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=c[f+21796>>2]|0;o=d+27016|0;m=c[o>>2]|0;h=u-(m<<c[f+21828>>2])|0;j=u+-1|0;n=d+26376|0;do if(!(c[n>>2]|0)){t=j;s=j}else{i=c[d+24364>>2]|0;k=c[i+(j<<2)>>2]&128;l=g&128;if(c[f+21792>>2]&1|0){t=j-((k|0)==(l|0)?0:m)|0;s=j;break}if(l)h=(((c[i+(h<<2)>>2]|0)>>>7&1)+-1&m)+h|0;t=j;s=j+((k|0)==(l|0)?0:m)|0}while(0);c[f+21712>>2]=h;c[f+21720>>2]=t;c[f+21724>>2]=s;i=c[f+860>>2]|0;j=c[d+24340>>2]|0;k=a[j+u>>0]|0;do if((i|0)>=(k|0)){l=(t|0)<0;if(!l?(k+1+(a[j+t>>0]|0)>>1|0)>(i|0):0){p=17;break}if((h|0)>=0?(k+1+(a[j+h>>0]|0)>>1|0)>(i|0):0){p=17;break}if(c[n>>2]|0){if(!l?(k+1+(a[j+s>>0]|0)>>1|0)>(i|0):0){p=17;break}r=c[o>>2]|0;if((h|0)>=(r|0)?(k+1+(a[j+(h-r)>>0]|0)>>1|0)>(i|0):0)p=17;else h=1}else h=1}else p=17;while(0);if((p|0)==17){l=c[d+24364>>2]|0;i=c[l+(h<<2)>>2]|0;k=c[l+(t<<2)>>2]|0;l=c[l+(s<<2)>>2]|0;o=d+26372|0;j=c[o>>2]|0;n=b[j+(h<<1)>>1]|0;if((c[f+868>>2]|0)==2){r=c[f+832>>2]|0;p=(r|0)==(e[j+(s<<1)>>1]|0);r=(r|0)==(n&65535|0)?i:0;q=p?k:0;p=p?l:0}else{p=(b[j+(s<<1)>>1]|0)==-1;r=n<<16>>16==-1?0:i;q=p?0:k;p=p?0:l}c[f+21732>>2]=r;c[f+21740>>2]=q;c[f+21744>>2]=p;if(!(g&7)){i=d+26368|0;j=c[i>>2]|0;k=f+28e3|0;l=f+28284|0;m=(g&376|0)==0;do if(!m){if(!(r&12288)){n=f+27968|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[f+28276>>2]=-1}else{y=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(j*3|0)|0;v=h<<2;w=d+29940+((n&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;A=(c[x>>2]|0)+(y<<2)|0;z=c[A+4>>2]|0;n=f+27968|0;c[n>>2]=c[A>>2];c[n+4>>2]=z;y=(c[x>>2]|0)+(y<<2)+8|0;x=c[y+4>>2]|0;n=f+27976|0;c[n>>2]=c[y>>2];c[n+4>>2]=x;n=d+24384|0;x=c[w+(a[(c[n>>2]|0)+(v|2)>>0]<<2)>>2]&255;a[f+28277>>0]=x;a[f+28276>>0]=x;n=c[w+(a[(c[n>>2]|0)+(v|3)>>0]<<2)>>2]&255;a[f+28279>>0]=n;a[f+28278>>0]=n}if(!((q^g)&128))if(!(q&12288)){c[f+27996>>2]=0;c[f+28028>>2]=0;c[f+28060>>2]=0;c[f+28092>>2]=0;a[f+28307>>0]=-1;a[f+28299>>0]=-1;a[f+28291>>0]=-1;a[f+28283>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24352|0;c[f+27996>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28028>>2]=c[(c[x>>2]|0)+(z+j<<2)>>2];c[f+28060>>2]=c[(c[x>>2]|0)+(z+(j<<1)<<2)>>2];c[f+28092>>2]=c[(c[x>>2]|0)+(z+(j*3|0)<<2)>>2];z=d+24384|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28291>>0]=x;a[f+28283>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28307>>0]=A;a[f+28299>>0]=A;break}}while(0);if(!(g&12288)){y=f+28032|0;z=f+28064|0;A=f+28096|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[l>>2]=-1;c[f+28292>>2]=-1;c[f+28300>>2]=-1;c[f+28308>>2]=-1}else{y=(c[d+24384>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[l>>2]=x;c[f+28292>>2]=x;c[f+28300>>2]=y;c[f+28308>>2]=y;y=(c[d+24352>>2]|0)+((H(c[f+21792>>2]|0,j)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=k;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28008|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(j<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28032|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28040|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(j<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28064|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28072|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(j*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28096|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28104|0;c[A>>2]=c[y>>2];c[A+4>>2]=z}do if((c[f+23412>>2]|0)==2){i=c[i>>2]|0;j=f+28160|0;k=f+28324|0;do if(!m){if(!(r&49152)){A=f+28128|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[f+28316>>2]=-1}else{w=(c[(c[d+26360>>2]|0)+(h<<2)>>2]|0)+(i*3|0)|0;A=h<<2;y=d+29940+((b[(c[o>>2]|0)+(h<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;n=(c[x>>2]|0)+(w<<2)|0;v=c[n+4>>2]|0;z=f+28128|0;c[z>>2]=c[n>>2];c[z+4>>2]=v;w=(c[x>>2]|0)+(w<<2)+8|0;x=c[w+4>>2]|0;z=f+28136|0;c[z>>2]=c[w>>2];c[z+4>>2]=x;z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|2)>>0]<<2)>>2]&255;a[f+28317>>0]=x;a[f+28316>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28319>>0]=A;a[f+28318>>0]=A}if(!((q^g)&128))if(!(q&49152)){c[f+28156>>2]=0;c[f+28188>>2]=0;c[f+28220>>2]=0;c[f+28252>>2]=0;a[f+28347>>0]=-1;a[f+28339>>0]=-1;a[f+28331>>0]=-1;a[f+28323>>0]=-1;break}else{z=(c[(c[d+26360>>2]|0)+(t<<2)>>2]|0)+3|0;A=t<<2;y=d+29940+((b[(c[o>>2]|0)+(t<<1)>>1]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=d+24356|0;c[f+28156>>2]=c[(c[x>>2]|0)+(z<<2)>>2];c[f+28188>>2]=c[(c[x>>2]|0)+(z+i<<2)>>2];c[f+28220>>2]=c[(c[x>>2]|0)+(z+(i<<1)<<2)>>2];c[f+28252>>2]=c[(c[x>>2]|0)+(z+(i*3|0)<<2)>>2];z=d+24388|0;x=c[y+(a[(c[z>>2]|0)+(A|1)>>0]<<2)>>2]&255;a[f+28331>>0]=x;a[f+28323>>0]=x;A=c[y+(a[(c[z>>2]|0)+(A|3)>>0]<<2)>>2]&255;a[f+28347>>0]=A;a[f+28339>>0]=A;break}}while(0);if(!(g&49152)){y=f+28192|0;z=f+28224|0;A=f+28256|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[k>>2]=-1;c[f+28332>>2]=-1;c[f+28340>>2]=-1;c[f+28348>>2]=-1;break}else{y=(c[d+24388>>2]|0)+(u<<2)|0;A=d+29940+((c[f+832>>2]&31)<<9)+256+((c[f+21832>>2]|0?20:2)<<2)|0;x=(c[A+(a[y+1>>0]<<2)>>2]<<16&16711680|c[A+(a[y>>0]<<2)>>2]&255)*257|0;y=(c[A+(a[y+3>>0]<<2)>>2]<<16&16711680|c[A+(a[y+2>>0]<<2)>>2]&255)*257|0;c[k>>2]=x;c[f+28332>>2]=x;c[f+28340>>2]=y;c[f+28348>>2]=y;y=(c[d+24356>>2]|0)+((H(c[f+21792>>2]|0,i)|0)+(c[f+21788>>2]|0)<<2<<2)|0;x=y;A=c[x+4>>2]|0;z=j;c[z>>2]=c[x>>2];c[z+4>>2]=A;z=y+8|0;A=c[z+4>>2]|0;x=f+28168|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;x=y+(i<<2)|0;A=x;z=c[A+4>>2]|0;w=f+28192|0;c[w>>2]=c[A>>2];c[w+4>>2]=z;x=x+8|0;w=c[x+4>>2]|0;z=f+28200|0;c[z>>2]=c[x>>2];c[z+4>>2]=w;z=y+(i<<1<<2)|0;w=z;x=c[w+4>>2]|0;A=f+28224|0;c[A>>2]=c[w>>2];c[A+4>>2]=x;z=z+8|0;A=c[z+4>>2]|0;x=f+28232|0;c[x>>2]=c[z>>2];c[x+4>>2]=A;y=y+(i*3<<2)|0;x=y;A=c[x+4>>2]|0;z=f+28256|0;c[z>>2]=c[x>>2];c[z+4>>2]=A;y=y+8|0;z=c[y+4>>2]|0;A=f+28264|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;break}}while(0);j=d+25972|0;o=c[j>>2]|0;k=f+27836|0;c[k>>2]=c[o+(u*48|0)>>2];l=f+27844|0;c[l>>2]=c[o+(u*48|0)+4>>2];m=f+27852|0;c[m>>2]=c[o+(u*48|0)+8>>2];n=f+27860|0;c[n>>2]=c[o+(u*48|0)+12>>2];o=d+26392|0;i=e[(c[o>>2]|0)+(u<<1)>>1]|0;c[f+21856>>2]=i;if(r|0)c[f+27828>>2]=c[(c[j>>2]|0)+(h*48|0)+12>>2];if(q|0){A=c[j>>2]|0;a[f+27835>>0]=a[A+(t*48|0)+3>>0]|0;a[f+27843>>0]=a[A+(t*48|0)+7>>0]|0;a[f+27851>>0]=a[A+(t*48|0)+11>>0]|0;a[f+27859>>0]=a[A+(t*48|0)+15>>0]|0}A=c[d+28212>>2]|0;if((c[A+4>>2]|0)==0?(c[A+64>>2]|0)!=0:0){if(r&16777216|0){A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&4;a[f+27829>>0]=A;a[f+27828>>0]=A;A=(e[(c[o>>2]|0)+(h<<1)>>1]|0)>>>12&8;a[f+27831>>0]=A;a[f+27830>>0]=A}if(q&16777216|0){A=(e[(c[o>>2]|0)+(t<<1)>>1]|0)>>>12&2;a[f+27843>>0]=A;a[f+27835>>0]=A}if(p&16777216|0){A=(e[(c[o>>2]|0)+(s<<1)>>1]|0)>>>12&8;a[f+27859>>0]=A;a[f+27851>>0]=A}if(g&16777216){h=i>>>12;A=h&1;a[f+27845>>0]=A;a[l>>0]=A;a[f+27837>>0]=A;a[k>>0]=A;A=h&2;a[f+27847>>0]=A;a[f+27846>>0]=A;a[f+27839>>0]=A;a[f+27838>>0]=A;A=h&4;a[f+27861>>0]=A;a[n>>0]=A;a[f+27853>>0]=A;a[m>>0]=A;h=h&8;a[f+27863>>0]=h;a[f+27862>>0]=h;a[f+27855>>0]=h;a[f+27854>>0]=h;h=0}else h=0}else h=0}else h=0}return h|0}function kj(f,g,h,i,j,k,l,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0;Pa=Ec;Ec=Ec+32|0;Na=Pa+16|0;Ja=Pa;Ka=f+27016|0;Aa=(H(c[Ka>>2]|0,i)|0)+h|0;Ba=f+24364|0;Ca=c[(c[Ba>>2]|0)+(Aa<<2)>>2]|0;Da=(Ca>>>6&2^2)+2|0;Ea=f+28216|0;Ha=c[Ea>>2]|0;Fa=(c[Ha+12>>2]|0)!=0;Ha=(H(c[Ha+1184>>2]|0,-6)|0)+48|0;Ga=(c[g+872>>2]|0)+52+Ha|0;Ha=(c[g+876>>2]|0)+52+Ha|0;Ia=f+26376|0;za=g+21740|0;if((c[Ia>>2]|0)!=0?(ya=c[za>>2]|0,!((ya|0)==0|((ya^Ca)&128|0)==0)):0){a:do if(!(Ca&7)){v=c[g+21828>>2]|0;r=i&1;h=f+28212|0;s=f+25972|0;t=f+26392|0;u=(v|0)!=0;q=0;while(1){if((q|0)==8){o=v;break a}p=u?q>>2:q&1;o=c[g+21720+(p<<2)>>2]|0;p=c[g+21740+(p<<2)>>2]|0;if(!(p&7)){if((p&16777216|0)==0?1:(c[(c[h>>2]|0)+4>>2]|0)!=0)o=d[(d[138836+(v<<4)+(r<<3)+q>>0]|0)+((c[s>>2]|0)+(o*48|0))>>0]|0;else o=((u?q&2:r)|0?32768:8192)&e[(c[t>>2]|0)+(o<<1)>>1];o=o|d[(q>>>1<<3)+12+(g+27824)>>0]|0?2:1}else o=4;b[Ja+(q<<1)>>1]=o;q=q+1|0}}else{h=Ja;c[h>>2]=262148;c[h+4>>2]=262148;h=Ja+8|0;c[h>>2]=262148;c[h+4>>2]=262148;h=f+28212|0;o=c[g+21828>>2]|0}while(0);y=c[f+24340>>2]|0;xa=a[y+Aa>>0]|0;x=a[y+(c[g+21720>>2]|0)>>0]|0;y=a[y+(c[g+21724>>2]|0)>>0]|0;t=xa+1|0;ya=c[h>>2]|0;w=(d[ya+548+xa>>0]|0)+1|0;xa=(d[ya+636+xa>>0]|0)+1|0;h=t+x>>1;u=(w+(d[ya+548+x>>0]|0)|0)>>>1;x=(xa+(d[ya+636+x>>0]|0)|0)>>>1;t=t+y>>1;w=(w+(d[ya+548+y>>0]|0)|0)>>>1;y=(xa+(d[ya+636+y>>0]|0)|0)>>>1;do if(!o){s=m<<1;p=h+Ga|0;q=d[138056+p>>0]|0;ya=h+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](j,s,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](j,s,q,h,Na);break}}while(0);p=j+m|0;v=Ja+2|0;q=t+Ga|0;r=d[138056+q>>0]|0;ya=t+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](p,s,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,s,r,h,Na);break}}while(0);if(Fa){s=n<<1;p=u+Ga|0;q=d[138056+p>>0]|0;h=u+Ha|0;o=d[137900+h>>0]|0;h=p>>>0<68|h>>>0<68;if((c[(c[Ea>>2]|0)+12>>2]|0)==3){do if(!h){h=b[Ja>>1]|0;if(h<<16>>16>3){Vc[c[f+68>>2]&255](k,s,q,o);break}else{a[Na>>0]=a[(h<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](k,s,q,o,Na);break}}while(0);p=k+n|0;q=w+Ga|0;r=d[138056+q>>0]|0;ya=w+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](p,s,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,s,r,h,Na);break}}while(0);p=x+Ga|0;q=d[138056+p>>0]|0;ya=x+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](l,s,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+8>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+12>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](l,s,q,h,Na);break}}while(0);p=l+n|0;q=y+Ga|0;r=d[138056+q>>0]|0;ya=y+Ha|0;o=d[137900+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Vc[c[f+68>>2]&255](p,s,r,o);break}else{a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,s,r,o,Na);break}}else{do if(!h){h=b[Ja>>1]|0;if(h<<16>>16>3){Vc[c[f+92>>2]&255](k,s,q,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(138212+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+8>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+12>>1]|0)+(138212+(p<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](k,s,q,o,Na);break}}while(0);p=k+n|0;q=w+Ga|0;r=d[138056+q>>0]|0;ya=w+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](p,s,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,s,r,h,Na);break}}while(0);p=x+Ga|0;q=d[138056+p>>0]|0;ya=x+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](l,s,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+8>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+12>>1]|0)+(138212+(p<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](l,s,q,h,Na);break}}while(0);p=l+n|0;q=y+Ga|0;r=d[138056+q>>0]|0;ya=y+Ha|0;o=d[137900+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Vc[c[f+92>>2]&255](p,s,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,s,r,o,Na);break}}}}else{p=h+Ga|0;q=d[138056+p>>0]|0;ya=h+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](j,m,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](j,m,q,h,Na);break}}while(0);p=j+(m<<3)|0;v=Ja+8|0;q=t+Ga|0;r=d[138056+q>>0]|0;ya=t+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](p,m,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,m,r,h,Na);break}}while(0);if(Fa){h=c[(c[Ea>>2]|0)+12>>2]|0;if((h|0)==3){p=u+Ga|0;q=d[138056+p>>0]|0;ya=u+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](k,n,q,h,Na);break}}while(0);s=n<<3;p=k+s|0;q=w+Ga|0;r=d[138056+q>>0]|0;ya=w+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](p,n,r,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[138056+p>>0]|0;ya=x+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+68>>2]&255](l,n,q,h);break}else{a[Na>>0]=a[(o<<16>>16)+(138212+(p<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+2>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+6>>1]|0)+(138212+(p<<2))>>0]|0;Wc[c[f+56>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[138056+q>>0]|0;ya=y+Ha|0;o=d[137900+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Vc[c[f+68>>2]&255](p,n,r,o);break}else{a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[Na+1>>0]=a[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+2>>0]=a[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0;a[Na+3>>0]=a[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[f+56>>2]&127](p,n,r,o,Na);break}}p=(h|0)==2;q=u+Ga|0;r=d[138056+q>>0]|0;ya=u+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](k,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](k,n,r,h,Na);break}}while(0);if(p){s=n<<3;p=k+s|0;q=w+Ga|0;r=d[138056+q>>0]|0;ya=w+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](p,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[138056+p>>0]|0;ya=x+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](l,n,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(138212+(p<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[138056+q>>0]|0;ya=y+Ha|0;o=d[137900+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Vc[c[f+92>>2]&255](p,n,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,n,r,o,Na);break}}else{s=n<<2;p=k+s|0;q=w+Ga|0;r=d[138056+q>>0]|0;ya=w+Ha|0;h=d[137900+ya>>0]|0;do if(!(q>>>0<68|ya>>>0<68)){o=b[v>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](p,n,r,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,n,r,h,Na);break}}while(0);p=x+Ga|0;q=d[138056+p>>0]|0;ya=x+Ha|0;h=d[137900+ya>>0]|0;do if(!(p>>>0<68|ya>>>0<68)){o=b[Ja>>1]|0;if(o<<16>>16>3){Vc[c[f+92>>2]&255](l,n,q,h);break}else{a[Na>>0]=(d[(o<<16>>16)+(138212+(p<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+2>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+4>>1]|0)+(138212+(p<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+6>>1]|0)+(138212+(p<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](l,n,q,h,Na);break}}while(0);p=l+s|0;q=y+Ga|0;r=d[138056+q>>0]|0;ya=y+Ha|0;o=d[137900+ya>>0]|0;if(q>>>0<68|ya>>>0<68)break;h=b[v>>1]|0;if(h<<16>>16>3){Vc[c[f+92>>2]&255](p,n,r,o);break}else{a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[Na+1>>0]=(d[(b[Ja+10>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+2>>0]=(d[(b[Ja+12>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[Na+3>>0]=(d[(b[Ja+14>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[f+80>>2]&127](p,n,r,o,Na);break}}}}while(0);da=1}else da=0;ea=Aa+-1|0;fa=g+21732|0;ga=Ca>>>3&7;ha=g+21856|0;ia=Ca&16777216;ja=(Ca&7|0)==0;ka=Ja+6|0;la=Ja+4|0;ma=Ja+2|0;na=f+24340|0;oa=f+25664|0;pa=g+852|0;qa=g+856|0;ra=Na+1|0;sa=Na+2|0;ta=Na+3|0;ua=f+52|0;va=f+76|0;wa=m<<2;xa=f+48|0;ya=f+72|0;G=(i&1|0)==0;I=Ca&128^128;J=m<<1;K=n<<1;L=f+28212|0;M=f+25972|0;N=f+26392|0;O=g+27836|0;P=g+27837|0;Q=Ja+2|0;R=Ja+4|0;S=Ja+6|0;T=g+27839|0;U=g+27838|0;V=Ja+2|0;W=Ja+4|0;X=Ja+6|0;Y=Ja+6|0;Z=Ja+4|0;_=Ja+2|0;$=f+64|0;aa=f+88|0;ba=f+60|0;ca=f+84|0;z=f+26380|0;A=g+21712|0;f=0;while(1){if((f|0)==2)break;i=(f|0)!=0;C=c[(c[Ea>>2]|0)+12>>2]|0;B=(C|0)==3;C=(C|0)==2;D=(f|0)==0;if(D)s=ea;else s=c[A>>2]|0;h=c[(D?za:fa)>>2]|0;F=a[138868+(f<<3)+ga>>0]|0;E=F&255;if(F<<24>>24==3)F=(c[ha>>2]&15|0)==0?1:4;else F=4;o=32>>>f|8;y=o&Ca;r=i^1;b:do if(!(da&r|(h|0)==0)){p=c[Ia>>2]|0;if(!((h&I|0)==0|G&((f|0)==1&(p|0)!=0)^1)){u=Aa-(c[Ka>>2]<<1)|0;v=0;while(1){if((v|0)==2)break b;h=c[(c[Ba>>2]|0)+(u<<2)>>2]|0;c:do if(!((h|Ca)&7)){if((h&16777216|0)==0?1:(c[(c[L>>2]|0)+4>>2]|0)!=0){o=(c[M>>2]|0)+(u*48|0)+12|0;h=0;while(1){if((h|0)==4)break c;b[Ja+(h<<1)>>1]=(a[o+h>>0]|a[h+12+(g+27824)>>0])<<24>>24?2:1;h=h+1|0}}h=b[(c[N>>2]|0)+(u<<1)>>1]|0;if(!(h&16384)){b[Ja>>1]=(a[O>>0]|0)==0?1:2;if(!(a[P>>0]|0))o=1;else Oa=128}else{b[Ja>>1]=2;Oa=128}if((Oa|0)==128){Oa=0;o=2}b[Q>>1]=o;if(h<<16>>16>=0){b[R>>1]=(a[U>>0]|0)==0?1:2;if(!(a[T>>0]|0))h=1;else Oa=132}else{b[R>>1]=2;Oa=132}if((Oa|0)==132){Oa=0;h=2}b[S>>1]=h}else{x=Ja;c[x>>2]=196611;c[x+4>>2]=196611}while(0);p=c[na>>2]|0;h=a[p+u>>0]|0;p=(a[p+Aa>>0]|0)+1+(h<<24>>24)>>1;o=p+Ga|0;p=p+Ha|0;if(!(o>>>0<68|p>>>0<68)){h=d[137900+p>>0]|0;x=d[138056+o>>0]|0;w=j+(H(v,m)|0)|0;a[Na>>0]=a[(b[Ja>>1]|0)+(138212+(o<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(138212+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138212+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138212+(o<<2))>>0]|0;Wc[c[xa>>2]&127](w,J,x,h,Na);h=a[(c[na>>2]|0)+u>>0]|0}x=c[L>>2]|0;s=h<<24>>24;h=(c[pa>>2]|0)+1+(d[x+548+s>>0]|0)>>1;s=(c[qa>>2]|0)+1+(d[x+636+s>>0]|0)>>1;do if(Fa){t=H(v,n)|0;p=k+t|0;q=h+Ga|0;r=d[138056+q>>0]|0;o=h+Ha|0;h=d[137900+o>>0]|0;o=q>>>0<68|o>>>0<68;if(B){if(!o){a[Na>>0]=a[(b[Ja>>1]|0)+(138212+(q<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(138212+(q<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138212+(q<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138212+(q<<2))>>0]|0;Wc[c[xa>>2]&127](p,K,r,h,Na)}o=s+Ga|0;h=s+Ha|0;if(o>>>0<68|h>>>0<68)break;x=d[137900+h>>0]|0;w=d[138056+o>>0]|0;a[Na>>0]=a[(b[Ja>>1]|0)+(138212+(o<<2))>>0]|0;a[ra>>0]=a[(b[V>>1]|0)+(138212+(o<<2))>>0]|0;a[sa>>0]=a[(b[W>>1]|0)+(138212+(o<<2))>>0]|0;a[ta>>0]=a[(b[X>>1]|0)+(138212+(o<<2))>>0]|0;Wc[c[xa>>2]&127](l+t|0,K,w,x,Na);break}else{if(!o){a[Na>>0]=(d[(b[Ja>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(b[V>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138212+(q<<2))>>0]|0)+1;Wc[c[ya>>2]&127](p,K,r,h,Na)}o=s+Ga|0;h=s+Ha|0;if(o>>>0<68|h>>>0<68)break;x=d[137900+h>>0]|0;w=d[138056+o>>0]|0;a[Na>>0]=(d[(b[Ja>>1]|0)+(138212+(o<<2))>>0]|0)+1;a[ra>>0]=(d[(b[V>>1]|0)+(138212+(o<<2))>>0]|0)+1;a[sa>>0]=(d[(b[W>>1]|0)+(138212+(o<<2))>>0]|0)+1;a[ta>>0]=(d[(b[X>>1]|0)+(138212+(o<<2))>>0]|0)+1;Wc[c[ya>>2]&127](l+t|0,K,w,x,Na);break}}while(0);u=(c[Ka>>2]|0)+u|0;v=v+1|0}}q=h|Ca;d:do if(!(q&7)){if(!((p|0)==0|r)?((h^Ca)&128|0)!=0:0){q=Ja;c[q>>2]=65537;c[q+4>>2]=65537;q=0}else if((y|0)==0|(h&o|0)==0)q=1;else{q=(mj(g,12,i?4:11,Da)|0)&65535;b[Y>>1]=q;b[Z>>1]=q;b[_>>1]=q;b[Ja>>1]=q;q=0}r=i?8:1;p=0;while(1){if((p|0)==4)break;h=(D?p<<3:p)+12|0;o=h-r|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(q){h=(mj(g,h,o,Da)|0)&65535;Oa=166}}else{h=2;Oa=166}if((Oa|0)==166){Oa=0;b[Ja+(p<<1)>>1]=h}p=p+1|0}x=b[Ja>>1]|0;h=b[_>>1]|0;o=b[Z>>1]|0;p=b[Y>>1]|0}else{x=Ja;c[x>>2]=196611;c[x+4>>2]=196611;do if(q&128|0)if(!p)if(D&(c[z>>2]|0)!=3)break;else{x=3;h=3;o=3;p=3;break d}else if(D)break;else{x=3;h=3;o=3;p=3;break d}while(0);x=Ja;c[x>>2]=262148;c[x+4>>2]=262148;x=4;h=4;o=4;p=4}while(0);w=x<<16>>16;v=h<<16>>16;u=o<<16>>16;t=p<<16>>16;do if((v+u+w|0)!=(0-t|0)){q=c[na>>2]|0;s=a[q+s>>0]|0;q=(a[q+Aa>>0]|0)+1+s>>1;h=c[L>>2]|0;r=(c[pa>>2]|0)+1+(d[h+548+s>>0]|0)>>1;s=(c[qa>>2]|0)+1+(d[h+636+s>>0]|0)>>1;h=q+Ga|0;o=d[138056+h>>0]|0;q=q+Ha|0;p=d[137900+q>>0]|0;q=h>>>0<68|q>>>0<68;if(D){do if(!q)if(x<<16>>16>3){Vc[c[$>>2]&255](j,m,o,p);break}else{a[Na>>0]=a[138212+(h<<2)+w>>0]|0;a[ra>>0]=a[138212+(h<<2)+v>>0]|0;a[sa>>0]=a[138212+(h<<2)+u>>0]|0;a[ta>>0]=a[138212+(h<<2)+t>>0]|0;Wc[c[ua>>2]&127](j,m,o,p,Na);break}while(0);if(!Fa)break;p=r+Ga|0;q=d[138056+p>>0]|0;o=r+Ha|0;h=d[137900+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){Vc[c[$>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[138212+(p<<2)+w>>0]|0;a[ra>>0]=a[138212+(p<<2)+v>>0]|0;a[sa>>0]=a[138212+(p<<2)+u>>0]|0;a[ta>>0]=a[138212+(p<<2)+t>>0]|0;Wc[c[ua>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[138056+o>>0]|0;s=s+Ha|0;h=d[137900+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Vc[c[$>>2]&255](l,n,p,h);break}else{a[Na>>0]=a[138212+(o<<2)+w>>0]|0;a[ra>>0]=a[138212+(o<<2)+v>>0]|0;a[sa>>0]=a[138212+(o<<2)+u>>0]|0;a[ta>>0]=a[138212+(o<<2)+t>>0]|0;Wc[c[ua>>2]&127](l,n,p,h,Na);break}}else{do if(!o)if(x<<16>>16>3){Vc[c[aa>>2]&255](k,n,q,h);break}else{a[Na>>0]=(d[138212+(p<<2)+w>>0]|0)+1;a[ra>>0]=(d[138212+(p<<2)+v>>0]|0)+1;a[sa>>0]=(d[138212+(p<<2)+u>>0]|0)+1;a[ta>>0]=(d[138212+(p<<2)+t>>0]|0)+1;Wc[c[va>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[138056+o>>0]|0;s=s+Ha|0;h=d[137900+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Vc[c[aa>>2]&255](l,n,p,h);break}else{a[Na>>0]=(d[138212+(o<<2)+w>>0]|0)+1;a[ra>>0]=(d[138212+(o<<2)+v>>0]|0)+1;a[sa>>0]=(d[138212+(o<<2)+u>>0]|0)+1;a[ta>>0]=(d[138212+(o<<2)+t>>0]|0)+1;Wc[c[va>>2]&127](l,n,p,h,Na);break}}}else{do if(!q)if(x<<16>>16>3){Vc[c[ba>>2]&255](j,m,o,p);break}else{a[Na>>0]=a[138212+(h<<2)+w>>0]|0;a[ra>>0]=a[138212+(h<<2)+v>>0]|0;a[sa>>0]=a[138212+(h<<2)+u>>0]|0;a[ta>>0]=a[138212+(h<<2)+t>>0]|0;Wc[c[xa>>2]&127](j,m,o,p,Na);break}while(0);if(!Fa)break;p=r+Ga|0;q=d[138056+p>>0]|0;o=r+Ha|0;h=d[137900+o>>0]|0;o=p>>>0<68|o>>>0<68;if(B){do if(!o)if(x<<16>>16>3){Vc[c[ba>>2]&255](k,n,q,h);break}else{a[Na>>0]=a[138212+(p<<2)+w>>0]|0;a[ra>>0]=a[138212+(p<<2)+v>>0]|0;a[sa>>0]=a[138212+(p<<2)+u>>0]|0;a[ta>>0]=a[138212+(p<<2)+t>>0]|0;Wc[c[xa>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[138056+o>>0]|0;s=s+Ha|0;h=d[137900+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Vc[c[ba>>2]&255](l,n,p,h);break}else{a[Na>>0]=a[138212+(o<<2)+w>>0]|0;a[ra>>0]=a[138212+(o<<2)+v>>0]|0;a[sa>>0]=a[138212+(o<<2)+u>>0]|0;a[ta>>0]=a[138212+(o<<2)+t>>0]|0;Wc[c[xa>>2]&127](l,n,p,h,Na);break}}else{do if(!o)if(x<<16>>16>3){Vc[c[ca>>2]&255](k,n,q,h);break}else{a[Na>>0]=(d[138212+(p<<2)+w>>0]|0)+1;a[ra>>0]=(d[138212+(p<<2)+v>>0]|0)+1;a[sa>>0]=(d[138212+(p<<2)+u>>0]|0)+1;a[ta>>0]=(d[138212+(p<<2)+t>>0]|0)+1;Wc[c[ya>>2]&127](k,n,q,h,Na);break}while(0);o=s+Ga|0;p=d[138056+o>>0]|0;s=s+Ha|0;h=d[137900+s>>0]|0;if(o>>>0<68|s>>>0<68)break;if(x<<16>>16>3){Vc[c[ca>>2]&255](l,n,p,h);break}else{a[Na>>0]=(d[138212+(o<<2)+w>>0]|0)+1;a[ra>>0]=(d[138212+(o<<2)+v>>0]|0)+1;a[sa>>0]=(d[138212+(o<<2)+u>>0]|0)+1;a[ta>>0]=(d[138212+(o<<2)+t>>0]|0)+1;Wc[c[ya>>2]&127](l,n,p,h,Na);break}}}}while(0)}while(0);x=D|C^1;w=(y|0)==0;v=i?8:1;u=1;while(1){if((u|0)>=(F|0))break;r=(ia&u<<24|0)==0;do if(!(x&(r^1))){if(ja){if(!(u&E))if(w)p=1;else{p=(H(u,v)|0)+12|0;p=(mj(g,p,p-v|0,Da)|0)&65535;b[ka>>1]=p;b[la>>1]=p;b[ma>>1]=p;b[Ja>>1]=p;p=0}else{p=Ja;c[p>>2]=0;c[p+4>>2]=0;p=0}q=0;while(1){if((q|0)==4)break;h=(D?u:q)+12+((D?q:u)<<3)|0;o=h-v|0;if(!((a[g+27824+o>>0]|a[g+27824+h>>0])<<24>>24)){if(p){h=(mj(g,h,o,Da)|0)&65535;Oa=230}}else{h=2;Oa=230}if((Oa|0)==230){Oa=0;b[Ja+(q<<1)>>1]=h}q=q+1|0}h=b[Ja>>1]|0;o=b[ma>>1]|0;p=b[la>>1]|0;q=b[ka>>1]|0;if(((o<<16>>16)+(h<<16>>16)+(p<<16>>16)|0)==(0-(q<<16>>16)|0))break;else t=q}else{h=Ja;c[h>>2]=196611;c[h+4>>2]=196611;h=3;o=3;p=3;t=3}q=a[(c[na>>2]|0)+Aa>>0]|0;if(D){s=u<<2;r=Ga+q|0;q=Ha+q|0;if(!(r>>>0<68|q>>>0<68)){i=d[137900+q>>0]|0;y=d[138056+r>>0]|0;q=j+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(138212+(r<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(r<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(r<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(r<<2))>>0]|0;Wc[c[ua>>2]&127](q,m,y,i,Na)}if(!Fa)break;if(B){r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;r=k+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(q<<2))>>0]|0;Wc[c[ua>>2]&127](r,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;s=l+(s<<c[oa>>2])|0;a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(q<<2))>>0]|0;Wc[c[ua>>2]&127](s,n,y,i,Na);break}if(u&1|0)break;s=u<<1;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;r=k+(s<<c[oa>>2])|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[va>>2]&127](r,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;s=l+(s<<c[oa>>2])|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[va>>2]&127](s,n,y,i,Na);break}if(C){if(r?(La=Ga+q|0,Ma=Ha+q|0,!(La>>>0<68|Ma>>>0<68)):0){i=d[137900+Ma>>0]|0;y=d[138056+La>>0]|0;s=j+(H(wa,u)|0)|0;a[Na>>0]=a[(h<<16>>16)+(138212+(La<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(La<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(La<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(La<<2))>>0]|0;Wc[c[xa>>2]&127](s,m,y,i,Na)}if(!Fa)break;s=H(u<<2,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[ya>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[ya>>2]&127](l+s|0,n,y,i,Na);break}r=u<<2;s=Ga+q|0;q=Ha+q|0;if(!(s>>>0<68|q>>>0<68)){i=d[137900+q>>0]|0;y=d[138056+s>>0]|0;q=j+(H(r,m)|0)|0;a[Na>>0]=a[(h<<16>>16)+(138212+(s<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(s<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(s<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(s<<2))>>0]|0;Wc[c[xa>>2]&127](q,m,y,i,Na)}if(Fa){if(B){s=H(r,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(q<<2))>>0]|0;Wc[c[xa>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(q>>>0<68|r>>>0<68)break;i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=a[(h<<16>>16)+(138212+(q<<2))>>0]|0;a[ra>>0]=a[(o<<16>>16)+(138212+(q<<2))>>0]|0;a[sa>>0]=a[(p<<16>>16)+(138212+(q<<2))>>0]|0;a[ta>>0]=a[(t<<16>>16)+(138212+(q<<2))>>0]|0;Wc[c[xa>>2]&127](l+s|0,n,y,i,Na);break}if(!(u&1)){s=H(u<<1,n)|0;r=c[pa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[ya>>2]&127](k+s|0,n,y,i,Na)}r=c[qa>>2]|0;q=r+Ga|0;r=r+Ha|0;if(!(q>>>0<68|r>>>0<68)){i=d[137900+r>>0]|0;y=d[138056+q>>0]|0;a[Na>>0]=(d[(h<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ra>>0]=(d[(o<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[sa>>0]=(d[(p<<16>>16)+(138212+(q<<2))>>0]|0)+1;a[ta>>0]=(d[(t<<16>>16)+(138212+(q<<2))>>0]|0)+1;Wc[c[ya>>2]&127](l+s|0,n,y,i,Na)}}}}while(0);u=u+1|0}f=f+1|0}Ec=Pa;return} |
| | | function WR(a){a=a|0;var b=0,d=0;a:do switch(c[a+8>>2]|0){case 4:case 3:case 2:case 0:{b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break}case 1:{b=XR(c[a+16>>2]|0)|0;if(!b){b=a+40|0;a=c[b+4>>2]|0;b=c[b>>2]|0;break a}else{d=c[a+344>>2]|0;a=c[a+348>>2]|0;b=nW(d|0,((d|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=nW(b|0,M()|0,a|0,((a|0)<0)<<31>>31|0)|0;a=M()|0;break a}}default:{a=0;b=0}}while(0);L(a|0);return b|0}function XR(a){a=a|0;switch(a|0){case 69649:{a=2;break}case 69648:{a=3;break}case 69638:case 69645:case 69632:case 69633:case 69647:{a=4;break}default:a=YR(a)|0}return a|0}function YR(a){a=a|0;var b=0;a:do if((a|0)>=65563){if((a|0)<69655)switch(a|0){case 69646:case 69636:case 69644:{a=4;break a}case 65563:{b=2;break a}case 65566:{b=3;break a}case 65564:{b=4;break a}case 67586:case 67587:case 65565:{b=5;break a}case 67584:case 67585:{b=6;break a}default:{b=7;break a}}if((a|0)>=86070)switch(a|0){case 86071:case 86070:{a=4;break a}case 88072:case 88071:case 88070:case 88069:{b=2;break a}default:{b=7;break a}}if((a|0)<71681)switch(a|0){case 69660:case 69655:case 69661:{a=4;break a}default:{b=7;break a}}if((a|0)<71687)switch(a|0){case 71681:{a=4;break a}default:{b=7;break a}}if((a|0)<83968)switch(a|0){case 71687:{a=4;break a}default:{b=7;break a}}else switch(a|0){case 83968:{b=2;break a}default:{b=7;break a}}}else switch(a|0){case 65553:case 65541:case 65540:case 65542:case 65543:{b=2;break}case 65538:case 65539:case 65554:case 65536:case 65537:{b=3;break}case 65550:case 65551:case 65548:case 65549:case 65552:{b=4;break}case 65557:case 65556:case 65546:case 65547:case 65544:case 65545:{b=5;break}case 65559:case 65558:{b=6;break}default:b=7}while(0);if((b|0)==2)a=8;else if((b|0)==3)a=16;else if((b|0)==4)a=24;else if((b|0)==5)a=32;else if((b|0)==6)a=64;else if((b|0)==7)a=0;return a|0}function ZR(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function _R(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function $R(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function aS(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function bS(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function cS(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[118922+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[118922+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[118922+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[118922+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[118922+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[118922+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[118922+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function dS(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;ZR(a+28|0,0);ZR(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function eS(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=184020;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;wS(a);return}function fS(a){a=a|0;vS(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function gS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=135;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=136}Vc[f&255](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function hS(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;AU(a);c[b>>2]=0;return}function iS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;w=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;v=c[w>>2]|0;x=0;while(1){z=v&1;o=a+(m<<11)+(z<<9)|0;kS(b+48+(m*4608|0)+(x<<7)|0,v>>>1,o,a+(m<<11)+1024+(z<<9)|0);k=v&-2;u=v+15&14|1;l=z^1;q=78156+(u<<2)|0;A=78156+(k<<2)|0;G=H(c[A>>2]|0,c[o>>2]|0)|0;g=H(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=H(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=H(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=H(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=H(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;y=H(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=H(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=H(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(m<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(m<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(m<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(m<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(m<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(m<<11)+(z<<9)+24>>2]|0)|0;c[f>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(m<<11)+(z<<9)+28>>2]|0)|0)-(i+g+h+p+j+y+r+q)>>2;q=0-u|0;r=0-k|0;y=s+(l<<9)|0;j=78156;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){A=j+128+(u<<2)|0;z=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=H(c[W+8>>2]|0,c[I>>2]|0)|0;U=H(c[A>>2]|0,c[p>>2]|0)|0;V=H(c[A+56>>2]|0,c[z>>2]|0)|0;T=H(c[A+48>>2]|0,c[J>>2]|0)|0;S=H(c[A+40>>2]|0,c[K>>2]|0)|0;R=H(c[A+32>>2]|0,c[L>>2]|0)|0;Q=H(c[A+24>>2]|0,c[M>>2]|0)|0;P=H(c[A+16>>2]|0,c[N>>2]|0)|0;A=H(c[A+8>>2]|0,c[O>>2]|0)|0;G=f+56|0;aa=H(c[W+16>>2]|0,c[G>>2]|0)|0;F=f+52|0;_=H(c[W+24>>2]|0,c[F>>2]|0)|0;E=f+48|0;Z=H(c[W+32>>2]|0,c[E>>2]|0)|0;D=f+44|0;Y=H(c[W+40>>2]|0,c[D>>2]|0)|0;C=f+40|0;X=H(c[W+48>>2]|0,c[C>>2]|0)|0;B=f+36|0;f=H(c[W+56>>2]|0,c[B>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(H(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+A)>>2;A=j+128+(q<<2)|0;f=H(c[A+116>>2]|0,c[O>>2]|0)|0;f=(H(c[A+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(H(c[A+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(H(c[A+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(H(c[A+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(H(c[A+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(H(c[A+68>>2]|0,c[z>>2]|0)|0)|0;A=f+(H(c[A+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;A=A+(H(c[f+60>>2]|0,c[o>>2]|0)|0)|0;B=A+(H(c[f+68>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[f+76>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[f+84>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[f+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[f+100>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[f+108>>2]|0,c[G>>2]|0)|0)|0;c[g>>2]=G+(H(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=80204+(u<<2)|0;$=H(c[aa>>2]|0,c[y>>2]|0)|0;$=$+(H(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(H(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(H(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(H(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(H(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(H(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(H(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{f=f+32|0;v=v+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return}function jS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;v=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;u=c[v>>2]|0;w=0;while(1){z=u&1;k=a+(i<<11)+(z<<9)|0;kS(b+48+(i*4608|0)+(w<<7)|0,u>>>1,k,a+(i<<11)+1024+(z<<9)|0);g=u&-2;q=u+15&14|1;h=z^1;m=78156+(q<<2)|0;A=78156+(g<<2)|0;G=H(c[A>>2]|0,c[k>>2]|0)|0;t=H(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;x=H(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=H(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=H(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=H(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;y=H(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=H(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=H(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=H(c[A+56>>2]|0,c[a+(i<<11)+(z<<9)+4>>2]|0)|0;F=H(c[A+48>>2]|0,c[a+(i<<11)+(z<<9)+8>>2]|0)|0;E=H(c[A+40>>2]|0,c[a+(i<<11)+(z<<9)+12>>2]|0)|0;D=H(c[A+32>>2]|0,c[a+(i<<11)+(z<<9)+16>>2]|0)|0;C=H(c[A+24>>2]|0,c[a+(i<<11)+(z<<9)+20>>2]|0)|0;B=H(c[A+16>>2]|0,c[a+(i<<11)+(z<<9)+24>>2]|0)|0;c[r>>2]=I+G+F+E+D+C+B+(H(c[A+8>>2]|0,c[a+(i<<11)+(z<<9)+28>>2]|0)|0)-(x+t+s+l+f+y+n+m)>>2;m=0-g|0;n=0-q|0;y=p+(h<<9)|0;f=78156;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;x=1;while(1){s=s+4|0;I=f+128+(q<<2)|0;G=l+4|0;F=l+8|0;E=l+12|0;D=l+16|0;C=l+20|0;B=l+24|0;A=l+28|0;W=f+128+(g<<2)|0;z=k+60|0;aa=H(c[W+8>>2]|0,c[z>>2]|0)|0;U=H(c[I>>2]|0,c[l>>2]|0)|0;V=H(c[I+56>>2]|0,c[G>>2]|0)|0;T=H(c[I+48>>2]|0,c[F>>2]|0)|0;S=H(c[I+40>>2]|0,c[E>>2]|0)|0;R=H(c[I+32>>2]|0,c[D>>2]|0)|0;Q=H(c[I+24>>2]|0,c[C>>2]|0)|0;O=H(c[I+16>>2]|0,c[B>>2]|0)|0;I=H(c[I+8>>2]|0,c[A>>2]|0)|0;J=k+56|0;ba=H(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=H(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=H(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=H(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=H(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=H(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(H(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=H(c[I+60>>2]|0,c[k>>2]|0)|0;O=(H(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(H(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(H(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(H(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(H(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(H(c[I+108>>2]|0,c[J>>2]|0)|0)|0;z=J+(H(c[I+116>>2]|0,c[z>>2]|0)|0)|0;I=f+128+(n<<2)|0;A=z+(H(c[I+116>>2]|0,c[A>>2]|0)|0)|0;B=A+(H(c[I+108>>2]|0,c[B>>2]|0)|0)|0;C=B+(H(c[I+100>>2]|0,c[C>>2]|0)|0)|0;D=C+(H(c[I+92>>2]|0,c[D>>2]|0)|0)|0;E=D+(H(c[I+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(H(c[I+76>>2]|0,c[F>>2]|0)|0)|0;G=F+(H(c[I+68>>2]|0,c[G>>2]|0)|0)|0;c[t>>2]=G+(H(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;x=x+1|0;if((x|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=80204+(q<<2)|0;aa=H(c[ba>>2]|0,c[y>>2]|0)|0;aa=aa+(H(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(H(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(H(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(H(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(H(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(H(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(H(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;w=w+1|0;if((w|0)==(e|0))break;else{r=r+128|0;u=u+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function lS(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=bS(f,l?8:9)|0;c[i+4>>2]=bS(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=bS(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=bS(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=bS(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=bS(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=bS(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(bS(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=bS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=bS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=bS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=bS(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=bS(f,3)|0}else{u=bS(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(bS(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=bS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=bS(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=bS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=bS(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=bS(f,3)|0}u=bS(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0}function mS(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=Ec;Ec=Ec+7296|0;xb=Ab+2448|0;wb=Ab+2432|0;vb=Ab+2416|0;tb=Ab+2400|0;sb=Ab+2384|0;rb=Ab+2368|0;yb=Ab+2352|0;ub=Ab+2336|0;qb=Ab+2320|0;pb=Ab+16|0;ob=Ab;hb=Ab+7224|0;nb=Ab+7216|0;zb=Ab+2608|0;lb=Ab+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;Ec=Ab;return zb|0}ib=(j|0)==0;gb=80332+(k*12|0)|0;kb=80332+(k*12|0)+8|0;db=80332+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;Q=c[28439]|0;ab=h+4|0;S=hb+4|0;T=hb+8|0;cb=h+9264|0;U=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;V=pb+20|0;W=pb+22|0;X=pb+24|0;Y=pb+26|0;Z=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;R=zb+2304|0;$a=0;a:while(1){O=i+10+($a*116|0)|0;if(!ib){K=c[gb>>2]|0;N=($a|0)==0;L=0;do{w=i+10+($a*116|0)+(L*58|0)|0;k=nb+(L<<2)|0;c[k>>2]=K;x=i+10+($a*116|0)+(L*58|0)+9|0;n=(a[x>>0]|0)==2;if(n){J=c[((a[i+10+($a*116|0)+(L*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=J;k=J}else k=K;if(!(c[jb>>2]&4096)){if(N)m=0;else m=d[i+8+L>>0]|0;J=f;o=c[J+4>>2]|0;p=pb;c[p>>2]=c[J>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(L*58|0)+6>>1]|0;o=d[178189+(p<<1)>>0]|0;p=d[178189+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(L*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(L*58|0)+18+n>>0]=bS(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(L*58|0)+18+l>>0]=bS(f,p)|0;a[l+1+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[l+2+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;I=l|4;a[l+3+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+18+I>>0]=bS(f,p)|0;a[I+1+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[I+2+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[I+3+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[I+4+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[I+5+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[I+6+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;J=l|12;a[I+7+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+18+J>>0]=bS(f,p)|0;a[J+1+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[J+2+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[J+3+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[J+4+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;a[J+5+(i+10+($a*116|0)+(L*58|0)+18)>>0]=bS(f,p)|0;J=w+(l|36)|0;a[J>>0]=0;a[J+1>>0]=0;a[J+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(L*58|0)+18>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+19>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+20>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+21>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+22>>0]=bS(f,o)|0;l=(bS(f,o)|0)&255}else{a[i+10+($a*116|0)+(L*58|0)+18>>0]=a[i+10+(L*58|0)+18>>0]|0;a[i+10+($a*116|0)+(L*58|0)+19>>0]=a[i+10+(L*58|0)+19>>0]|0;a[i+10+($a*116|0)+(L*58|0)+20>>0]=a[i+10+(L*58|0)+20>>0]|0;a[i+10+($a*116|0)+(L*58|0)+21>>0]=a[i+10+(L*58|0)+21>>0]|0;a[i+10+($a*116|0)+(L*58|0)+22>>0]=a[i+10+(L*58|0)+22>>0]|0;l=a[i+10+(L*58|0)+23>>0]|0}a[i+10+($a*116|0)+(L*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(L*58|0)+24>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+25>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+26>>0]=bS(f,o)|0;a[i+10+($a*116|0)+(L*58|0)+27>>0]=bS(f,o)|0;l=(bS(f,o)|0)&255}else{a[i+10+($a*116|0)+(L*58|0)+24>>0]=a[i+10+(L*58|0)+24>>0]|0;a[i+10+($a*116|0)+(L*58|0)+25>>0]=a[i+10+(L*58|0)+25>>0]|0;a[i+10+($a*116|0)+(L*58|0)+26>>0]=a[i+10+(L*58|0)+26>>0]|0;a[i+10+($a*116|0)+(L*58|0)+27>>0]=a[i+10+(L*58|0)+27>>0]|0;l=a[i+10+(L*58|0)+28>>0]|0}a[i+10+($a*116|0)+(L*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(L*58|0)+29>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+30>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+31>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+32>>0]=bS(f,p)|0;l=(bS(f,p)|0)&255}else{a[i+10+($a*116|0)+(L*58|0)+29>>0]=a[i+10+(L*58|0)+29>>0]|0;a[i+10+($a*116|0)+(L*58|0)+30>>0]=a[i+10+(L*58|0)+30>>0]|0;a[i+10+($a*116|0)+(L*58|0)+31>>0]=a[i+10+(L*58|0)+31>>0]|0;a[i+10+($a*116|0)+(L*58|0)+32>>0]=a[i+10+(L*58|0)+32>>0]|0;l=a[i+10+(L*58|0)+33>>0]|0}a[i+10+($a*116|0)+(L*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(L*58|0)+34>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+35>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+36>>0]=bS(f,p)|0;a[i+10+($a*116|0)+(L*58|0)+37>>0]=bS(f,p)|0;l=(bS(f,p)|0)&255}else{a[i+10+($a*116|0)+(L*58|0)+34>>0]=a[i+10+(L*58|0)+34>>0]|0;a[i+10+($a*116|0)+(L*58|0)+35>>0]=a[i+10+(L*58|0)+35>>0]|0;a[i+10+($a*116|0)+(L*58|0)+36>>0]=a[i+10+(L*58|0)+36>>0]|0;a[i+10+($a*116|0)+(L*58|0)+37>>0]=a[i+10+(L*58|0)+37>>0]|0;l=a[i+10+(L*58|0)+38>>0]|0}a[i+10+($a*116|0)+(L*58|0)+38>>0]=l;a[i+10+($a*116|0)+(L*58|0)+39>>0]=0}l=_R(pb,f)|0}else{t=(L|0)==0?0:Fa;l=c[bb>>2]|0;J=f;p=c[J+4>>2]|0;m=pb;c[m>>2]=c[J>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(L*58|0)+6>>1]|0;p=m&65535;if(n)u=((d[i+10+($a*116|0)+(L*58|0)+8>>0]|0)>>>3&1)+1&255;else u=0;if((t|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){r=l+-180|0;s=4;m=r>>>4&3;q=r>>>2&3;r=r&3;break}else{r=l+-244|0;q=(r>>>0)/3|0;s=5;m=q;q=r-(q*3|0)|0;r=0;break}else{J=(l>>>0)%36|0;r=(J>>>0)/6|0;s=3;m=(p>>>0)/72|0;q=r;r=J-(r*6|0)|0}while(0);n=178117+(s*12|0)+(u<<2)|0;p=(1<<m)+-1|0;if(!(a[n>>0]|0))l=0;else{o=0;while(1){J=bS(f,m)|0;a[i+10+($a*116|0)+(L*58|0)+18+o>>0]=J;l=o+1|0;a[t+18+o>>0]=(J|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<<q)+-1|0;n=178117+(s*12|0)+(u<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){J=bS(f,q)|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<<r)+-1|0;n=178117+(s*12|0)+(u<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){J=bS(f,r)|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178117+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){J=bS(f,0)|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=J;l=m+1|0;a[t+18+m>>0]=(J|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(L*58|0)+18+l>>0]=0;a[t+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;s=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;r=m&3;p=0;break}else{r=p+-500|0;q=(r>>>0)/3|0;s=i+10+($a*116|0)+(L*58|0)+8|0;a[s>>0]=a[s>>0]|4;s=2;o=q;q=r-(q*3|0)|0;r=0;p=0;break}else{s=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;r=p>>>2&3;p=p&3}while(0);m=178117+(s*12|0)+(u<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(L*58|0)+18+n>>0]=bS(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=178117+(s*12|0)+(u<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=bS(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178117+(s*12|0)+(u<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=bS(f,r)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=178117+(s*12|0)+(u<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(L*58|0)+18+m>>0]=bS(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)yW(w+(l+18)|0,0,39-l|0)|0}l=_R(pb,f)|0}v=zb+(L*2304|0)|0;m=(e[w>>1]|0)-l|0;if((m|0)<0){mb=566;break a}r=(e[i+10+($a*116|0)+(L*58|0)+4>>1]|0)+-210|0;J=i+10+($a*116|0)+(L*58|0)+8|0;n=d[J>>0]|0;s=(n>>>1&1)+1|0;do if((a[x>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=r-((o&d[178221+n>>0])+(d[i+10+($a*116|0)+(L*58|0)+18+n>>0]|0)<<s);p=n+1|0;l=l+(d[k+n>>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=r-(d[i+10+($a*116|0)+(L*58|0)+13>>0]<<3)|0;q=r-(d[i+10+($a*116|0)+(L*58|0)+14>>0]<<3)|0;o=r-(d[i+10+($a*116|0)+(L*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(L*58|0)+18+n>>0]<<s);I=n+1|0;c[pb+(I<<2)>>2]=q-(d[i+10+($a*116|0)+(L*58|0)+18+I>>0]<<s);I=n+2|0;c[pb+(I<<2)>>2]=o-(d[i+10+($a*116|0)+(L*58|0)+18+I>>0]<<s);l=((d[k+n>>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+18>>0]<<s);c[Ga>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+19>>0]<<s);c[Ra>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+20>>0]<<s);c[Ua>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+21>>0]<<s);c[Va>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+22>>0]<<s);c[Wa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+23>>0]<<s);c[Xa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+24>>0]<<s);c[Ya>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+25>>0]<<s);c[Za>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+26>>0]<<s);c[_a>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+27>>0]<<s);c[Ha>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+28>>0]<<s);l=d[i+10+($a*116|0)+(L*58|0)+29>>0]|0;if(!(n&4)){c[Ia>>2]=r-(l<<s);c[Ja>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+30>>0]<<s);c[Ka>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+31>>0]<<s);c[La>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+32>>0]<<s);c[Ma>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+33>>0]<<s);c[Na>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+34>>0]<<s);c[Oa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+35>>0]<<s);c[Pa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+36>>0]<<s);c[Qa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+37>>0]<<s);c[Sa>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+38>>0]<<s);c[Ta>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+39>>0]<<s);break}else{c[Ia>>2]=r-(l+1<<s);c[Ja>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+30>>0]|0)+1<<s);c[Ka>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+31>>0]|0)+1<<s);c[La>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+32>>0]|0)+1<<s);c[Ma>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+33>>0]|0)+2<<s);c[Na>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+34>>0]|0)+2<<s);c[Oa>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+35>>0]|0)+3<<s);c[Pa>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+36>>0]|0)+3<<s);c[Qa>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+37>>0]|0)+3<<s);c[Sa>>2]=r-((d[i+10+($a*116|0)+(L*58|0)+38>>0]|0)+2<<s);c[Ta>>2]=r-(d[i+10+($a*116|0)+(L*58|0)+39>>0]<<s);break}}while(0);o=f;n=c[o>>2]|0;o=c[o+4>>2]|0;s=ob;c[s>>2]=n;c[s+4>>2]=o;aS(f,m);o=rW(n|0,o|0,48)|0;M()|0;o=(31-o&-8)+o|0;n=bS(ob,o)|0;s=d[i+10+($a*116|0)+(L*58|0)+10>>0]|0;q=c[77900+(s<<3)>>2]|0;if(!q){P=165;break a}r=zb+(L*2304|0)+(d[k>>0]<<2)|0;w=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(L*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){I=i+10+($a*116|0)+(L*58|0)+17|0;G=k&65535;z=p;t=Ga;x=e[77900+(s<<3)+4>>1]|0;u=(d[i+10+($a*116|0)+(L*58|0)+16>>0]|0)+1|0;m=0;y=0;p=e[77900+(s<<3)+6>>1]|0;F=0;D=v;while(1){G=G+-1|0;if((D|0)==(r|0)){v=w+1|0;r=D+(d[w>>0]<<2)|0;k=u+-1|0;if(!k){if(!m)k=(d[I>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(L*58|0)+10+m>>0]|0;q=c[77900+(p<<3)>>2]|0;if(!q){P=165;break a}else{s=e[77900+(p<<3)+4>>1]|0;p=e[77900+(p<<3)+6>>1]|0}}else s=x;w=c[t>>2]|0;E=w;t=t+4|0;x=s;C=k;B=m;s=(z|0)==(w|0)?y:0;w=v;A=p}else{E=z;C=u;B=m;s=y;A=p}k=31-o&-8;if((o|0)<21){n=bS(ob,k)|0|n<<k;l=l-k|0;o=k+o|0}k=n>>>(o-A|0)&(1<<A)+-1;if(!(a[q+(k<<1)>>0]&1)){m=A;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<<m)+-1)+((k&65535)>>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}y=q+(k<<1)|0;m=b[y>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;u=k&65535;b:do if(!x){if(!(k<<16>>16)){m=s;k=0}else{k=1<<u;if(!(k&s)){s=k|s;p=(E|0)%4|0;k=c[80440+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;nU(Q,178243,sb)|0;k=2147483647;break}else{k=m<<k;break}else{z=0-k|0;k=z>>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;m=s}else{m=s;k=c[hb+(u<<2)>>2]|0}z=o+-1|0;o=z;k=(1<<z&n|0)==0?k:0-k|0}c[D>>2]=k;z=(e[y>>1]|0)>>>8&15;u=z&65535;if(!(z<<16>>16)){v=n;k=0;s=m}else{k=1<<u;if(!(k&m)){s=k|m;k=(E|0)/4|0;p=E-(k<<2)|0;z=c[80440+(u<<2)>>2]|0;m=z&134217727;k=(z>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;nU(Q,178243,tb)|0;k=2147483647;break}else{k=m<<k;break}else{z=0-k|0;k=z>>>0>31?0:(1<<~k)+m>>z}while(0);if(p)k=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;m=s}else k=c[hb+(u<<2)>>2]|0;s=o+-1|0;v=n;o=s;k=(1<<s&n|0)==0?k:0-k|0;s=m}}else{c:do switch(m&15){case 0:{v=n;k=0;break}case 15:{if(o>>>0<(x+2|0)>>>0){n=bS(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-x|0;p=(E|0)%4|0;k=c[80440+((n>>>o&(1<<x)+-1)+u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;nU(Q,178243,qb)|0;k=2147483647;break}else{k=m<<k;break}else{P=0-k|0;k=P>>>0>31?0:(1<<~k)+m>>P}while(0);if(!p){P=118;break c}k=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;P=118;break}default:{k=1<<u;if(k&s|0){k=c[hb+(u<<2)>>2]|0;P=118;break c}s=k|s;p=(E|0)%4|0;k=c[80440+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;nU(Q,178243,ub)|0;k=2147483647;break}else{k=m<<k;break}else{P=0-k|0;k=P>>>0>31?0:(1<<~k)+m>>P}while(0);if(p)k=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;P=118}}while(0);if((P|0)==118){P=0;z=o+-1|0;v=n;o=z;k=(1<<z&n|0)==0?k:0-k|0}c[D>>2]=k;z=(e[y>>1]|0)>>>8;u=z&15;d:do switch(z&15){case 0:{k=0;break b}case 15:{if(o>>>0<(x+1|0)>>>0){n=bS(ob,16)|0|v<<16;l=l+-16|0;o=o+16|0}else n=v;o=o-x|0;p=(E|0)%4|0;k=c[80440+((n>>>o&(1<<x)+-1)+u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;nU(Q,178243,yb)|0;k=2147483647;break}else{k=m<<k;break}else{z=0-k|0;k=z>>>0>31?0:(1<<~k)+m>>z}while(0);if(!p)break d;k=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<u;if(k&s|0){n=v;k=c[hb+(u<<2)>>2]|0;break d}s=k|s;n=(E|0)%4|0;k=c[80440+(u<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((E|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;nU(Q,178243,rb)|0;k=2147483647;break}else{k=m<<k;break}else{z=0-k|0;k=z>>>0>31?0:(1<<~k)+m>>z}while(0);if(n)k=H((c[113268+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(u<<2)>>2]=k;n=v}}while(0);z=o+-1|0;v=n;o=z;k=(1<<z&n|0)==0?k:0-k|0}while(0);c[D+4>>2]=k;k=F+2|0;m=o+l|0;if(!((G|0)!=0&(m|0)>0)){u=o;s=E;q=w;break}else{n=v;z=E;u=C;m=B;y=s;p=A;F=k;D=zb+(L*2304|0)+(k<<2)|0}}}else{v=n;u=o;s=p;t=Ga;q=w;k=0}if((m|0)<0){mb=568;break a}z=c[77892+((a[J>>0]&1)<<2)>>2]|0;o=(s|0)/4|0;p=s-(o<<2)|0;n=o+2|0;do if((s|0)>=-11)if((s|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;nU(Q,178243,vb)|0;n=2147483647;break}else{n=67108864<<n;break}else{n=-2-o|0;n=n>>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=v;v=q;while(1){x=zb+(L*2304|0)+(k<<2)|0;if((u|0)<10){y=bS(ob,16)|0|m<<16;l=l+-16|0;m=u+16|0}else{y=m;m=u}q=m+-4|0;o=z+((y>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=z+((y>>>(q-o|0)&(1<<o)+-1)+((p&65535)>>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}w=m-((p&255)>>>1&7)|0;if((x|0)==(r|0)){u=v+1|0;r=r+(d[v>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;nU(Q,178243,wb)|0;n=2147483647;break}else{n=67108864<<m;break}else{J=-2-n|0;n=J>>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;s=m;t=t+4|0;q=u}else q=v;v=(p&16)==0;J=w+-1|0;m=0-n|0;w=v?w:J;c[x>>2]=v?0:(1<<J&y|0)==0?n:m;J=(a[o>>0]&32)==0;v=w+-1|0;w=J?w:v;c[x+4>>2]=J?0:(1<<v&y|0)==0?n:m;v=zb+(L*2304|0)+(k+2<<2)|0;if((v|0)==(r|0)){u=q+1|0;r=r+(d[q>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;nU(Q,178243,xb)|0;n=2147483647;break}else{n=67108864<<m;break}else{J=-2-n|0;n=J>>>0>31?0:(1<<-3-n)+67108864>>J}while(0);if(!p){m=q;break}m=q;n=H((c[113268+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);s=m;t=t+4|0;p=n;q=u;m=0-n|0}else p=n;J=(a[o>>0]&64)==0;I=w+-1|0;u=J?w:I;c[v>>2]=J?0:(1<<I&y|0)==0?p:m;I=(a[o>>0]|0)<0;J=u+-1|0;u=I?J:u;c[v+4>>2]=I?((1<<J&y|0)==0?p:m):0;k=k+4|0;m=u+l|0;if(!(k>>>0<573&(m|0)>0))break;else{m=y;n=p;v=q}}}if((l|0)<=-65){P=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)yW(zb+(L*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;L=L+1|0}while(L>>>0<j>>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){u=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){P=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){P=276;break}N=eb&65535;b[pb>>1]=N;b[U>>1]=N;b[ea>>1]=N;b[pa>>1]=N;b[za>>1]=N;b[Aa>>1]=N;b[Ba>>1]=N;b[Ca>>1]=N;b[Da>>1]=N;b[Ea>>1]=N;b[V>>1]=N;b[W>>1]=N;b[X>>1]=N;b[Y>>1]=N;b[Z>>1]=N;b[$>>1]=N;b[aa>>1]=N;b[ba>>1]=N;b[ca>>1]=N;b[da>>1]=N;b[fa>>1]=N;b[ga>>1]=N;b[ha>>1]=N;b[ia>>1]=N;b[ja>>1]=N;b[ka>>1]=N;b[la>>1]=N;b[ma>>1]=N;b[na>>1]=N;b[oa>>1]=N;b[qa>>1]=N;b[ra>>1]=N;b[sa>>1]=N;b[ta>>1]=N;b[ua>>1]=N;b[va>>1]=N;b[wa>>1]=N;b[xa>>1]=N;b[ya>>1]=N;e:do if(eb&1|0){t=c[jb>>2]|0;c[jb>>2]=t|256;if(k<<24>>24==2){c[T>>2]=0;c[S>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=R;k=0;do{P=k;k=k+1|0;P=a[u+P>>0]|0;n=P&255;f:do if(P<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0<n>>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;P=220}else P=228}else{o=0;l=0;m=R;k=0;P=220}if((P|0)==220){P=0;q=0;r=k;s=0;while(1){N=a[u+r>>0]|0;r=r+1|0;p=N&255;g:do if(!(N<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(s<<2)>>2]=r;n=r}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;s=((s+1|0)>>>0)%3|0}}if(!n)P=228;else{l=k;o=n}}if((P|0)==228){P=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0<o>>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=R;q=0;while(1){N=a[u+q>>0]|0;q=q+1|0;n=N&255;h:do if(!(N<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(t&4096)){p=0;q=0;while(1){k=a[u+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){O=a[i+10+($a*116|0)+76+q>>0]|0;n=O&255;if((O&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[113416+(n<<2)>>2]|0)+32768>>16;l=(c[113416+(6-n<<2)>>2]|0)+32768>>16;k=0;do{O=k+p|0;L=zb+(O<<2)|0;N=(c[L>>2]|0)+2048>>12;c[L>>2]=H(N,m)|0;c[zb+2304+(O<<2)>>2]=H(N,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[u+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[O+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){N=k+p|0;c[zb+2304+(N<<2)>>2]=c[zb+(N<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[113296+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{N=k+p|0;c[zb+2304+(N<<2)>>2]=H((c[zb+(N<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{N=k+p|0;K=zb+(N<<2)|0;L=c[K>>2]|0;c[K>>2]=H(L+2048>>12,m)|0;c[zb+2304+(N<<2)>>2]=L;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){O=a[u+n>>0]|0;k=O&255;if(O<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{O=l+m|0;K=zb+(O<<2)|0;O=zb+2304+(O<<2)|0;N=c[O>>2]|0;L=(c[K>>2]|0)+2048|0;c[K>>2]=(L+N>>12)*2896;c[O>>2]=(L-N>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){y=$a*18|0;x=0;do{w=h+48+(x*4608|0)+(y<<7)|0;v=i+10+($a*116|0)+(x*58|0)+9|0;u=zb+(x*2304|0)|0;if((a[v>>0]|0)==2){k=c[nb+(x<<2)>>2]|0;t=(a[i+10+($a*116|0)+(x*58|0)+8>>0]&8)==0;if(t)s=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){s=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=s;c[S>>2]=s;c[T>>2]=s;r=s*18|0;m=d[k>>0]|0;q=r;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;N=c[zb+(x*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;O=c[o>>2]|0;P=O+1|0;c[o>>2]=P;c[pb+(m*72|0)+(l*24|0)+(O<<2)>>2]=N;if((P|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}wW(zb+(x*2304|0)+(r<<2)|0,pb+(s*72|0)|0,(H(s,-72)|0)+2304|0)|0;if(!t)nS(u,36)}else nS(u,576);k=a[v>>0]|0;l=a[i+10+($a*116|0)+(x*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){qS(u,lb);pS(lb,(c[cb>>2]|0)+(x*2304|0)|0,w,0);qS(zb+(x*2304|0)+72|0,lb);pS(lb,(c[cb>>2]|0)+(x*2304|0)+72|0,w,1)}else{P=l<<24>>24==0?k&255:0;oS(u,lb,P);pS(lb,(c[cb>>2]|0)+(x*2304|0)|0,w,0);oS(zb+(x*2304|0)+72|0,lb,P);pS(lb,(c[cb>>2]|0)+(x*2304|0)+72|0,w,1)}l=w+132|0;O=w+388|0;N=c[O>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=w+644|0;P=c[l>>2]|0;c[O>>2]=0-N;O=w+900|0;N=c[O>>2]|0;c[l>>2]=0-P;l=w+1156|0;P=c[l>>2]|0;c[O>>2]=0-N;O=w+1412|0;N=c[O>>2]|0;c[l>>2]=0-P;l=w+1668|0;P=c[l>>2]|0;c[O>>2]=0-N;O=w+1924|0;N=c[O>>2]|0;c[l>>2]=0-P;l=w+2180|0;P=c[l>>2]|0;c[O>>2]=0-N;c[l>>2]=0-P;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(x*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}t=32-(((576-k|0)>>>0)/18|0)|0;k=a[v>>0]|0;l=t>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){qS(zb+(x*2304|0)+(k<<2)|0,lb);pS(lb,(c[cb>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){P=w+128+(l<<2)|0;N=w+384+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-(c[P>>2]|0);P=w+640+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+896+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+1152+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+1408+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+1664+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+1920+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+2176+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;c[P>>2]=0-O}l=l+1|0;if(l>>>0>=t>>>0){P=311;break}else k=k+18|0}}else P=312;else if(l){m=36;l=2;while(1){oS(zb+(x*2304|0)+(m<<2)|0,lb,k&255);pS(lb,(c[cb>>2]|0)+(x*2304|0)+(l*72|0)|0,w,l);if(l&1|0){P=w+128+(l<<2)|0;N=w+384+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-(c[P>>2]|0);P=w+640+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+896+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+1152+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+1408+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+1664+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;N=w+1920+(l<<2)|0;L=c[N>>2]|0;c[P>>2]=0-O;P=w+2176+(l<<2)|0;O=c[P>>2]|0;c[N>>2]=0-L;c[P>>2]=0-O}l=l+1|0;if(l>>>0>=t>>>0){P=311;break j}k=a[v>>0]|0;m=m+18|0}}else P=312;while(0);if((P|0)==311?(P=0,t>>>0<32):0)P=312;if((P|0)==312){P=0;u=c[cb>>2]|0;do{O=u+(x*2304|0)+(t*72|0)|0;c[h+48+(x*4608|0)+(y<<7)+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+4|0;k=w+128+(t<<2)|0;c[k>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+8|0;c[w+256+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+12|0;p=w+384+(t<<2)|0;c[p>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+16|0;c[w+512+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+20|0;q=w+640+(t<<2)|0;c[q>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+24|0;c[w+768+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+28|0;r=w+896+(t<<2)|0;c[r>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+32|0;c[w+1024+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+36|0;s=w+1152+(t<<2)|0;c[s>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+40|0;c[w+1280+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+44|0;l=w+1408+(t<<2)|0;c[l>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+48|0;c[w+1536+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+52|0;m=w+1664+(t<<2)|0;c[m>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+56|0;c[w+1792+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+60|0;n=w+1920+(t<<2)|0;c[n>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+64|0;c[w+2048+(t<<2)>>2]=c[O>>2];c[O>>2]=0;O=u+(x*2304|0)+(t*72|0)+68|0;o=w+2176+(t<<2)|0;c[o>>2]=c[O>>2];c[O>>2]=0;if(t&1|0){N=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);O=c[q>>2]|0;c[p>>2]=0-N;N=c[r>>2]|0;c[q>>2]=0-O;O=c[s>>2]|0;c[r>>2]=0-N;N=c[l>>2]|0;c[s>>2]=0-O;O=c[m>>2]|0;c[l>>2]=0-N;N=c[n>>2]|0;c[m>>2]=0-O;O=c[o>>2]|0;c[n>>2]=0-N;c[o>>2]=0-O}t=t+1|0}while(t>>>0<32)}x=x+1|0}while((x|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;P=318;break}}if((P|0)==165)mb=567;else if((P|0)==202)_(178276,178108,1253,178318);else if((P|0)==276){zb=569;Ec=Ab;return zb|0}else if((P|0)==318){Ec=Ab;return k|0}zb=mb;Ec=Ab;return zb|0}function nS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(H(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(H(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(H(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(H(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(H(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(H(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(H(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(H(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(H(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(H(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(H(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(H(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(H(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(H(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);return}function oS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;z=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=t+O|0;a=m+Z|0;u=R+X|0;l=z+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=H(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=H(S+U>>12,-2802)|0;Y=H(2048-_+Y>>12,-7094)|0;_=H(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=H($-aa>>12,-1423)|0;a=H($-a>>12,-6275)|0;$=K+u|0;K=(u<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;z=(V+2048-z>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+z|0;z=m-z|0;m=t+f|0;t=f-t|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=t+2048|0;V=H(ca+z>>12,-5266)|0;z=z+2048|0;X=(z-W>>12)*8068|0;ca=H(W+ca>>12,-2802)|0;N=H(2048-P+N>>12,-7094)|0;P=H(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=H(Q-M>>12,-1423)|0;m=H(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(H(z-t+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(H(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;z=b+44|0;c[z>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;u=b+56|0;c[u>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;v=b+68|0;c[v>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;E=0-S|0;w=b+80|0;c[w>>2]=E;B=0-O|0;j=b+84|0;c[j>>2]=B;G=0-ba|0;r=b+88|0;c[r>>2]=G;D=0-Z|0;x=b+92|0;c[x>>2]=D;A=0-V|0;k=b+96|0;c[k>>2]=A;J=0-R|0;s=b+100|0;c[s>>2]=J;F=0-N|0;y=b+104|0;c[y>>2]=F;C=b+108|0;c[C>>2]=F;F=b+112|0;c[F>>2]=J;J=b+116|0;c[J>>2]=A;A=b+120|0;c[A>>2]=D;D=b+124|0;c[D>>2]=G;G=b+128|0;c[G>>2]=B;B=b+132|0;c[B>>2]=E;E=b+136|0;c[E>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[w>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[x>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[y>>2]=((c[y>>2]|0)+2048>>12)*3020;c[C>>2]=((c[C>>2]|0)+2048>>12)*2767;c[F>>2]=((c[F>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[A>>2]=((c[A>>2]|0)+2048>>12)*1891;c[D>>2]=((c[D>>2]|0)+2048>>12)*1567;c[G>>2]=((c[G>>2]|0)+2048>>12)*1232;c[B>>2]=((c[B>>2]|0)+2048>>12)*887;c[E>>2]=((c[E>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[z>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[u>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[v>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-N>>12;c[y>>2]=d*3250;c[C>>2]=d*2493;c[F>>2]=b*1567;c[J>>2]=da*535;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[z>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[w>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[x>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-N>>12;c[y>>2]=Z*3020;c[C>>2]=Z*2767;c[F>>2]=_*2493;c[J>>2]=$*2201;c[A>>2]=aa*1891;c[D>>2]=ba*1567;c[G>>2]=ca*1232;c[B>>2]=d*887;c[E>>2]=b*535;c[I>>2]=da*179;return}default:return}}function pS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function qS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Ec;Ec=Ec+144|0;e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(H(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=H(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(H(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(H(n,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=H(l,-1567)|0;k=k*3784|0;i=l+(H(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(H(n,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=H(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(H(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=H(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(H(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(H(m,-3250)|0)+(h*4061|0)+(j*535|0)+(H(k,-3784)|0)+(H(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(H(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=H(f,-1567)|0;k=k*3784|0;n=f+(H(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(H(j,-3250)|0)+k+(H(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(H(m,-4061)|0)+(H(h,-3250)|0)+(H(j,-2493)|0)+l+(H(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=H(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(H(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=H(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(H(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(H(i,-3250)|0)+(h*4061|0)+(g*535|0)+(H(k,-3784)|0)+(H(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(H(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=H(l,-1567)|0;k=k*3784|0;m=l+(H(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(H(g,-3250)|0)+k+(H(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(H(i,-4061)|0)+(H(h,-3250)|0)+(H(g,-2493)|0)+f+(H(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;Ec=d;return}function rS(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=$R(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}ZR(h,e);h=0;return h|0}function sS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Ec;Ec=Ec+16|0;f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;aS(i,11);if(!(bS(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(bS(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;Ec=j;return k|0}}else c[g>>2]=e|4096;k=bS(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;Ec=j;return k|0}if(!(bS(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=cS(f,16,-1)|0}e=bS(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;Ec=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[113444+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=bS(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;Ec=j;return k|0}e=c[113744+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(bS(i,1)|0)c[g>>2]=c[g>>2]|128;if(bS(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(bS(i,2)|0);c[a+8>>2]=bS(i,2)|0;if(bS(i,1)|0)c[g>>2]=c[g>>2]|32;if(bS(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=bS(i,2)|0;if(!(c[g>>2]&16)){k=0;Ec=j;return k|0}b[a+26>>1]=bS(i,16)|0;k=0;Ec=j;return k|0}function tS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(H(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)_(178999,179010,144,179018);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((H(g-(H(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(H(h,d)|0)|0;break}else{d=((H(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((H(d-(H(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(H(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(H(h,3528e5)|0);return}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=Ec;Ec=Ec+112|0;j=t+48|0;i=t;r=a+28|0;q=r;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(rS(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((sS(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=$R(r)|0;g=(c[b>>2]|0)==1;g=((H(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){s=8;break}}aS(r,8)}while((rS(a)|0)==0);s=r;c[s>>2]=p;c[s+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;s=0;Ec=t;return s|0}}else{s=r;c[s>>2]=p;c[s+4>>2]=q}c[a+60>>2]=257;s=-1;Ec=t;return s|0}function vS(a){a=a|0;var b=0;yW(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);yW(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function wS(a){a=a|0;var b=0;yW(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;yW(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function xS(){yS(0);return}function yS(a){a=a|0;Ca(58512,179033);ra(58528,179038,1,1,0);ya(58536,179043,1,-128,127);ya(58552,179048,1,-128,127);ya(58544,179060,1,0,255);ya(58560,179074,2,-32768,32767);ya(58568,179080,2,0,65535);ya(58576,179095,4,-2147483648,2147483647);ya(58584,179099,4,0,-1);ya(58592,179112,4,-2147483648,2147483647);ya(58600,179117,4,0,-1);xa(58608,179131,4);xa(58616,179137,8);Aa(9528,179144);Aa(57936,179156);Ba(57960,4,179189);wa(9552,179202);za(57984,0,179218);za(57992,0,179248);za(58e3,1,179285);za(58008,2,179324);za(58016,3,179355);za(58024,4,179395);za(58032,5,179424);za(58040,4,179462);za(58048,5,179492);za(57992,0,179531);za(58e3,1,179563);za(58008,2,179596);za(58016,3,179629);za(58024,4,179663);za(58032,5,179696);za(58056,6,179730);za(58064,7,179761);za(58072,7,179793);return}function zS(a){a=a|0;return eU(c[a+4>>2]|0)|0}function AS(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+16|0;d=b;c[d>>2]=FS(c[a+60>>2]|0)|0;a=DS(pa(6,d|0)|0)|0;Ec=b;return a|0}function BS(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=Ec;Ec=Ec+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=DS(ka(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=DS(ka(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Ec=m;return d|0}function CS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ec;Ec=Ec+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((DS(ja(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}L(a|0);Ec=g;return b|0}function DS(a){a=a|0;if(a>>>0>4294963200){c[(ES()|0)>>2]=0-a;a=-1}return a|0}function ES(){return 184092}function FS(a){a=a|0;return a|0}function GS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;HS(h,0,0);d=IS(h,d,1,e,f)|0;e=M()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));L(e|0);Ec=j;return d|0}function HS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function IS(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(ES()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=JS(b)|0}while((KS(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=JS(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=JS(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=JS(b)|0;if((d[273+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){HS(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[273+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;HS(b,0,0);c[(ES()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=JS(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=nW(i|0,m|0,10,0)|0;k=M()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=hW(f|0,k|0,e|0,l|0)|0;m=M()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=JS(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[180328+((o*23|0)>>>5&7)>>0]|0;f=a[273+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=JS(b)|0;f=a[273+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=rW(-1,-1,n|0)|0;m=M()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=sW(i|0,e|0,n|0)|0;e=M()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=JS(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[273+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(H(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=JS(b)|0;e=a[273+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=pW(-1,-1,o|0,0)|0;n=M()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=nW(i|0,e|0,o|0,0)|0;l=M()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=hW(k|0,l|0,f|0,0)|0;e=M()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=JS(b)|0;f=a[273+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[273+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=JS(b)|0}while(f>>>0>(d[273+i>>0]|0)>>>0);c[(ES()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(ES()|0)>>2]=34;g=hW(g|0,h|0,-1,-1)|0;h=M()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(ES()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=iW(i^j|0,e^g|0,j|0,g|0)|0;h=M()|0}while(0);L(h|0);return g|0}function JS(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=LS(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=iW(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=M()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=hW(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=M()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function KS(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function LS(a){a=a|0;var b=0,e=0;e=Ec;Ec=Ec+16|0;b=e;if((MS(a)|0)==0?(Nc[c[a+32>>2]&15](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;Ec=e;return a|0}function MS(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Nc[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;c=GS(a,b,c,0,-2147483648)|0;L(M()|0);return c|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;c=GS(a,b,c,-1,0)|0;M()|0;return c|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;c=GS(a,b,c,-2147483648,0)|0;M()|0;return c|0}function QS(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=Ec;Ec=Ec+32|0;l=p+24|0;m=p+16|0;n=p+8|0;o=p;g[h>>3]=a;s=c[h>>2]|0;i=c[h+4>>2]|0;g[h>>3]=b;e=c[h>>2]|0;i=i&2147483647;f=c[h+4>>2]&2147483647;j=i>>>0<f>>>0|(i|0)==(f|0)&s>>>0<e>>>0;r=j?e:s;q=j?f:i;e=j?s:e;f=j?i:f;i=rW(r|0,q|0,52)|0;M()|0;j=rW(e|0,f|0,52)|0;M()|0;c[h>>2]=r;c[h+4>>2]=q;a=+g[h>>3];c[h>>2]=e;c[h+4>>2]=f;k=+g[h>>3];do if((j|0)!=2047){if(!((e|0)==0&(f|0)==0|(i|0)==2047)){if((i-j|0)>64){a=a+k;break}if((i|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{s=(j|0)<573;d=s?1.90109156629516e-211:1.0;b=s?a*5260135901548373507240989.0e186:a;a=s?k*5260135901548373507240989.0e186:k}RS(l,m,b);RS(n,o,a);a=d*+v(+(+g[o>>3]+ +g[m>>3]+ +g[n>>3]+ +g[l>>3]))}}else a=k;while(0);Ec=p;return +a}function RS(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;g[a>>3]=c;g[b>>3]=d*d+(e*e-c+e*2.0*d);return}function SS(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 TS(a){a=+a;var b=0;g[h>>3]=a;b=c[h+4>>2]&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+VS(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+E(+a);a=(a+1.0/a)*.5;break}else{a=+WS(a);break}while(0);return +a}function US(a){a=+a;var b=0.0,d=0,e=0.0;g[h>>3]=a;d=c[h+4>>2]|0;e=(d|0)<0?-.5:.5;d=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=d;b=+g[h>>3];do if(d>>>0<1082535490){b=+VS(b);if(d>>>0>=1072693248){a=e*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=e*(b*2.0-b*b/(b+1.0))}else a=e*2.0*+WS(b);while(0);return +a}function VS(a){a=+a;var b=0,d=0,e=0.0,f=0.0,i=0.0,j=0,k=0,l=0.0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;d=rW(c[h>>2]|0,d|0,63)|0;M()|0;do if(b>>>0>1078159481){j=XS(a)|0;b=(M()|0)&2147483647;if(!(b>>>0>2146435072|(b|0)==2146435072&j>>>0>0))if(!d)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else k=11;else a=-1.0}else{if(b>>>0<=1071001154)if(b>>>0<1016070144)break;else{i=0.0;j=0;k=14;break}if(b>>>0<1072734898)if(!d){b=1;e=a+-.6931471803691238;f=1.9082149292705877e-10;k=12;break}else{b=-1;e=a+.6931471803691238;f=-1.9082149292705877e-10;k=12;break}else k=11}while(0);if((k|0)==11){b=~~(a*1.4426950408889634+((d|0)==0?.5:-.5));f=+(b|0);e=a-f*.6931471803691238;f=f*1.9082149292705877e-10;k=12}if((k|0)==12){i=e-f;a=i;i=e-i-f;j=b;k=14}a:do if((k|0)==14){f=a*.5;e=a*f;l=e*(e*(e*(e*(4.008217827329362e-06-e*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;f=3.0-f*l;f=e*((l-f)/(6.0-a*f));if(!j){a=a-(a*f-e);break}f=a*(f-i)-i-e;switch(j|0){case -1:{a=(a-f)*.5+-.5;break a}case 1:if(a<-.25){a=(f-(a+.5))*-2.0;break a}else{a=(a-f)*2.0+1.0;break a}default:{d=sW(j+1023|0,0,52)|0;k=M()|0;c[h>>2]=d;c[h+4>>2]=k;i=+g[h>>3];if(j>>>0>56){a=a-f+1.0;a=((j|0)==1024?a*2.0*8988465674311579538646525.0e283:a*i)+-1.0;break a}b=sW(1023-j|0,0,52)|0;d=M()|0;if((j|0)<20){c[h>>2]=b;c[h+4>>2]=d;e=1.0-+g[h>>3];a=a-f}else{c[h>>2]=b;c[h+4>>2]=d;e=a-(f+ +g[h>>3]);a=1.0}a=(e+a)*i;break a}}}while(0);return +a}function WS(a){a=+a;return +(+E(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function XS(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function YS(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function ZS(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 _S(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function $S(a){a=a|0;return (a+-48|0)>>>0<10|0}function aT(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=Ec;Ec=Ec+160|0;g=j+144|0;i=j;wW(i|0,58224,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(ES()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=bT(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Ec=j;return d|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return eT(a,b,c,1,211)|0}function cT(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Ec;Ec=Ec+560|0;l=F+32|0;u=F+536|0;E=F;D=E;m=F+540|0;c[u>>2]=0;C=m+12|0;wT(e)|0;j=M()|0;if((j|0)<0){e=-e;wT(e)|0;B=1;A=180354;j=M()|0}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?180355:180360):180357}do if(0==0&(j&2146435072|0)==2146435072){E=(i&32|0)!=0;j=B+3|0;pT(b,32,f,j,h&-65537);iT(b,A,B);iT(b,e!=e|0.0!=0.0?(E?180396:180381):E?180373:180377,3);pT(b,32,f,j,h^8192)}else{q=+xT(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=nT(j,((j|0)<0)<<31>>31,C)|0;if((j|0)==(C|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=E;do{B=~~e;j=m+1|0;a[m>>0]=o|d[1008+B>>0];e=(e-+(B|0))*16.0;if((j-D|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-D+m|0)<(g|0):0){k=C;l=n;j=g+2+k-l|0}else{k=C;l=n;j=k-D-l+m|0}C=j+p|0;pT(b,32,f,C,h);iT(b,r,p);pT(b,48,f,C,h^65536);D=m-D|0;iT(b,E,D);E=k-l|0;pT(b,48,j-(D+E)|0,0,0);iT(b,n,E);pT(b,32,f,C,h^8192);j=C;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=sW(c[j>>2]|0,0,n|0)|0;s=hW(s|0,M()|0,m|0,0)|0;v=M()|0;m=pW(s|0,v|0,1e9,0)|0;w=nW(m|0,M()|0,1e9,0)|0;w=iW(s|0,v|0,w|0,M()|0)|0;M()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=H(w&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(H(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(B){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=nT(l,((l|0)<0)<<31>>31,C)|0;m=C;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=B+1+k+p+j|0;pT(b,32,f,j,h);iT(b,A,B);pT(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=E+9|0;n=r;o=E+8|0;m=p;do{l=nT(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>E>>>0){yW(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}iT(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))iT(b,180385,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=nT(c[m>>2]|0,0,r)|0;if(l>>>0>E>>>0){yW(E|0,48,l-D|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}iT(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}pT(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=E+9|0;s=(h&8|0)==0;t=g;p=0-D|0;r=E+8|0;o=n;do{l=nT(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;iT(b,l,1);if(s&(k|0)<1){l=m;break}iT(b,180385,1);l=m}else{if(l>>>0<=E>>>0)break;yW(E|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>E>>>0)}while(0);D=t-l|0;iT(b,l,(k|0)>(D|0)?D:k);k=k-D|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}pT(b,48,k+18|0,18,0);iT(b,v,C-v|0)}pT(b,32,f,j,h^8192)}while(0);Ec=F;return ((j|0)<(f|0)?f:j)|0}function dT(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function eT(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=Ec;Ec=Ec+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((fT(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=gT(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=fT(b,d,p,r,q,f,g)|0;if(j){Nc[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=fT(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)hT(b);e=(h&32|0)==0?e:-1}Ec=t;return e|0}function fT(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Ec;Ec=Ec+64|0;F=I+56|0;H=I+40|0;A=I;C=I+48|0;D=I+60|0;c[F>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(ES()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[F>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[F>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[F>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)iT(d,r,l)}while((l|0)!=0);v=($S(a[(c[F>>2]|0)+1>>0]|0)|0)==0;m=c[F>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[F>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if(($S(a[l+1>>0]|0)|0)!=0?(G=c[F>>2]|0,(a[G+2>>0]|0)==36):0){l=G+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=G+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[F>>2]|0)+1|0}c[F>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=jT(F)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[F>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[F>>2]=l;l=jT(F)|0;m=c[F>>2]|0;break}if($S(a[m+2>>0]|0)|0?(E=c[F>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[F>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[F>>2]|0)+2|0;c[F>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[F>>2]=m;n=a[(a[n>>0]|0)+-65+(544+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=H;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}kT(H,p,f,k);m=c[F>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[H>>2]>>2]=e;l=0;break d}case 1:{c[c[H>>2]>>2]=e;l=0;break d}case 2:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[H>>2]>>1]=e;l=0;break d}case 4:{a[c[H>>2]>>0]=e;l=0;break d}case 6:{c[c[H>>2]>>2]=e;l=0;break d}case 7:{l=c[H>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=H;q=mT(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=180337;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=H;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=iW(0,0,m|0,n|0)|0;n=M()|0;o=H;c[o>>2]=m;c[o+4>>2]=n;o=1;p=180337;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?180337:180339):180338;w=72;break e}}case 117:{n=H;o=0;p=180337;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[H>>2];r=A;o=0;p=180337;q=1;m=n;l=z;break}case 115:{s=c[H>>2]|0;s=(s|0)==0?180347:s;t=oT(s,0,l)|0;J=(t|0)==0;r=s;o=0;p=180337;q=J?l:t-s|0;m=n;l=J?s+l|0:t;break}case 67:{c[C>>2]=c[H>>2];c[B>>2]=0;c[H>>2]=C;p=-1;w=79;break}case 83:{if(!l){pT(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Lc[j&1](d,+g[H>>3],u,l,t,m)|0;break d}default:{o=0;p=180337;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=H;q=lT(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=H;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?180337:180337+(m>>>4)|0;w=73}else if((w|0)==72){q=nT(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[H>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=qT(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}pT(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[H>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=qT(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}iT(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=H;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;J=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=J?q:y;q=J?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;pT(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;J=s+o|0;l=(u|0)<(J|0)?J:u;pT(d,32,l,J,m);iT(d,p,o);pT(d,48,l,J,m^65536);pT(d,48,s,t,0);iT(d,r,t);pT(d,32,l,J,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;kT(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Ec=I;return e|0}function gT(a){a=a|0;return 1}function hT(a){a=a|0;return}function iT(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))uT(b,d,a)|0;return}function jT(b){b=b|0;var d=0,e=0;if(!($S(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while(($S(a[e>>0]|0)|0)!=0)}return d|0} |
| | | function kT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Tc[e&255](a,d);break a}default:break a}while(0);while(0);return}function lT(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[1008+(b&15)>>0]|0|f;b=rW(b|0,c|0,4)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return e|0}function mT(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=rW(b|0,c|0,3)|0;c=M()|0}while(!((b|0)==0&(c|0)==0));return d|0}function nT(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=pW(b|0,c|0,10,0)|0;f=c;c=M()|0;g=nW(b|0,c|0,10,0)|0;g=iW(e|0,f|0,g|0,M()|0)|0;M()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function oT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=H(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function pT(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=Ec;Ec=Ec+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;yW(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{iT(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}iT(a,f,e)}Ec=g;return}function qT(a,b){a=a|0;b=b|0;if(!a)a=0;else a=rT(a,b,0)|0;return a|0}function rT(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(sT()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(ES()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(ES()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function sT(){return tT()|0}function tT(){return 113760}function uT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(vT(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Nc[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Nc[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);wW(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function vT(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function wT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function xT(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=rW(d|0,e|0,52)|0;M()|0;switch(f&2047){case 0:{if(a!=0.0){a=+xT(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 yT(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;wW(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function zT(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+16|0;d=b;c[d>>2]=FS(a)|0;a=pa(6,d|0)|0;a=DS((a|0)==-4?0:a)|0;Ec=b;return a|0}function AT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=Ec;Ec=Ec+192|0;i=r+168|0;h=r+152|0;q=r+136|0;p=r+120|0;o=r+112|0;l=r+96|0;k=r+80|0;f=r+64|0;m=r+48|0;g=r+32|0;e=r+16|0;s=r;j=r+184|0;c[s>>2]=d;d=(c[s>>2]|0)+(4-1)&~(4-1);n=c[d>>2]|0;c[s>>2]=d+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=n;d=DS(la(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=la(221,g|0)|0;switch(d|0){case -22:{c[m>>2]=a;c[m+4>>2]=9;c[m+8>>2]=n;d=la(221,m|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=DS(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=n;d=la(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;la(221,k|0)|0}d=DS(d)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;d=la(221,l|0)|0;if((d|0)==-22){c[p>>2]=a;c[p+4>>2]=0;c[p+8>>2]=n;d=la(221,p|0)|0;if((d|0)>-1){c[q>>2]=d;c[q+4>>2]=2;c[q+8>>2]=1;la(221,q|0)|0}d=DS(d)|0;break a}else{if((d|0)>-1){c[o>>2]=d;pa(6,o|0)|0}d=DS(-22)|0;break a}}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=n;d=DS(la(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=n;d=DS(la(221,i|0)|0)|0}}while(0);Ec=r;return d|0}function BT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Ec;Ec=Ec+48|0;g=h+32|0;f=h+16|0;e=h;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=na(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;la(221,g|0)|0}i=DS(e)|0;Ec=h;return i|0}function CT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=JS(b)|0}while((KS(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=JS(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[180387+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=JS(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[180396+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=JS(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=JS(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=JS(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(ES()|0)>>2]=22;HS(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=JS(b)|0;if((e|32|0)==120){g=+DT(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+ET(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(ES()|0)>>2]=22;HS(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function DT(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=JS(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=JS(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=JS(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=JS(a)|0;l=hW(l|0,j|0,-1,-1)|0;j=M()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=hW(m|0,u|0,1,0)|0;q=i;r=1;p=M()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=JS(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else HS(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=hW(m|0,l|0,1,0)|0;v=l;l=M()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=FT(a,g)|0;i=M()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){HS(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=sW(p|0,o|0,2)|0;l=hW(l|0,M()|0,-32,-1)|0;l=hW(l|0,M()|0,j|0,i|0)|0;i=M()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(ES()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(ES()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=hW(l|0,i|0,-1,-1)|0;i=M()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=iW(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=hW(e|0,M()|0,l|0,i|0)|0;e=M()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+HT(+GT(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(ES()|0)>>2]=34;h=+JT(h,l)}while(0);return +h}function ET(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0.0;G=Ec;Ec=Ec+512|0;D=G;E=f+e|0;F=0-E|0;C=a+4|0;B=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=JS(a)|0;j=1}if((z|0)==7){b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=JS(a)|0;if((b|0)==48){j=0;b=0;while(1){j=hW(j|0,b|0,-1,-1)|0;o=M()|0;b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=JS(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[D>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=D+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=hW(p|0,n|0,1,0)|0;n=M()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=D+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[C>>2]|0;if(b>>>0<(c[B>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=JS(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=FT(a,h)|0;b=M()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){HS(a,0,0);i=0.0;break}if(!(c[B>>2]|0)){m=0;b=0}else{c[C>>2]=(c[C>>2]|0)+-1;m=0;b=0}}j=hW(m|0,b|0,j|0,o|0)|0;b=w;o=M()|0;z=43}while(0);if((z|0)==39)if(c[B>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(ES()|0)>>2]=22;HS(a,0,0);i=0.0}else if((z|0)==43){m=c[D>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&j>>>0>a>>>0){c[(ES()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&j>>>0<a>>>0){c[(ES()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=D+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[D>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[D>>2]|0)>>>0)/+(c[1024+(8-j<<2)>>2]|0);break}a=e+27+(H(j,-3)|0)|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[1024+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[1024+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(o>>>0)|0;C=C-(H(a,o)|0)|0;a=a+n|0;c[B>>2]=a;n=H(p,C)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[D+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=D+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=D+(p<<2)|0;l=sW(c[o>>2]|0,0,29)|0;l=hW(l|0,M()|0,n|0,0)|0;n=M()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=pW(l|0,n|0,1e9,0)|0;a=nW(s|0,M()|0,1e9,0)|0;l=iW(l|0,n|0,a|0,M()|0)|0;M()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=D+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[D+(l<<2)>>2];else l=y;c[D+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=D+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[D+(m<<2)>>2]|0;n=c[114004+(o<<2)>>2]|0;if(m>>>0<n>>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<<v)+-1|0;s=1e9>>>v;o=0;m=y;n=y;do{B=D+(n<<2)|0;C=c[B>>2]|0;a=(C>>>v)+o|0;c[B>>2]=a;o=H(C&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[D+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[D+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[D+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);t=+(g|0);k=i*t;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){I=+HT(+GT(1.0,105-m|0),k);q=+IT(k,+GT(1.0,53-m|0));r=I;i=q;q=I+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[D+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(j|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=t*.25+i}while(0);if((53-m|0)>1?!(+IT(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-E|0)){E=!(+u(+i)>=9007199254740992.0);b=b+((E^1)&1)|0;i=E?i:i*.5;if((b+50|0)<=(F|0)?!(k!=0.0&(p&((m|0)!=(o|0)|E))):0)break;c[(ES()|0)>>2]=34}while(0);i=+JT(i,b)}while(0);Ec=G;return +i}function FT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=JS(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=JS(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=JS(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=nW(f|0,h|0,10,0)|0;b=M()|0;e=hW(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=hW(e|0,M()|0,l|0,b|0)|0;h=M()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=JS(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=JS(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=iW(0,0,f|0,e|0)|0;l=M()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}L(e|0);return f|0}function GT(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=sW(b+1023|0,0,52)|0;e=M()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function HT(a,b){a=+a;b=+b;return +(+SS(a,b))}function IT(a,b){a=+a;b=+b;return +(+KT(a,b))}function JT(a,b){a=+a;b=b|0;return +(+GT(a,b))}function KT(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=rW(j|0,l|0,52)|0;M()|0;e=e&2047;m=rW(n|0,o|0,52)|0;M()|0;m=m&2047;p=l&-2147483648;i=sW(n|0,o|0,1)|0;k=M()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=LT(b)|0,d=(M()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=sW(j|0,l|0,1)|0;f=M()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=sW(j|0,l|0,12)|0;f=M()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=sW(d|0,f|0,1)|0;f=M()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=sW(j|0,l|0,1-e|0)|0;i=M()|0}else i=l&1048575|1048576;if(!m){f=sW(n|0,o|0,12)|0;k=M()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=sW(f|0,k|0,1)|0;k=M()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=sW(n|0,o|0,1-d|0)|0;m=d;l=M()|0}else l=o&1048575|1048576;f=iW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=sW(f|0,d|0,1)|0;i=M()|0;e=e+-1|0;f=iW(j|0,i|0,n|0,l|0)|0;d=M()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=sW(f|0,d|0,1)|0;d=M()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=hW(f|0,d|0,0,-1048576)|0;d=M()|0;e=sW(e|0,0,52)|0;d=d|(M()|0);e=o|e}else{e=rW(f|0,d|0,1-e|0)|0;d=M()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function LT(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;L(c[h+4>>2]|0);return b|0}function MT(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function NT(b,c){b=b|0;c=c|0;b=OT(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function OT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(MT(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=H(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function PT(a,b){a=a|0;b=b|0;var e=0;a=QT(a)|0;if(((a|0)!=-1?(e=QT(b)|0,(e|0)!=-1):0)?(d[1056+a>>0]|0)<=207:0)a=e<<16|a;else{c[(ES()|0)>>2]=22;a=-1}return a|0}function QT(b){b=b|0;var c=0,d=0,e=0;d=(a[b>>0]|0)==0?1056:b;b=1056;while(1){if(!(RT(d,b)|0)){e=3;break}b=b+((MT(b)|0)+1)|0;c=a[b>>0]|0;if(!(c<<24>>24)){c=a[b+1>>0]|0;if((c&255)>128)c=2;else c=(((128-(c&255)|0)>>>2)*5|0)+2|0;c=b+c|0;b=c;c=a[c>>0]|0}if(!(c<<24>>24)){b=-1;break}}if((e|0)==3){if(a[b>>0]|0)do b=b+((MT(b)|0)+1)|0;while((a[b>>0]|0)!=0);b=b+1-1056|0}return b|0}function RT(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;a:do if(!(d<<24>>24)){d=0;g=9}else while(1){f=a[c>>0]|0;if(!(f<<24>>24)){g=9;break a}e=d;d=d&255;while(1){if(!((d+-48|0)>>>0>10&((d|32)+-97|0)>>>0>26)){d=e;break}b=b+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;break}else{e=d;d=d&255}}if((d|32)<<24>>24!=f<<24>>24){d=1;break a}b=b+1|0;c=c+1|0;d=a[b>>0]|0;if(!(d<<24>>24)){d=0;g=9;break}}while(0);if((g|0)==9)d=d<<24>>24!=(a[c>>0]|0)&1;return d|0}function ST(a){a=a|0;return 0}function TT(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=Ec;Ec=Ec+16|0;h=l;j=(g|0)==0?184096:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(UT()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[64+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(ES()|0)>>2]=84;g=-1}Ec=l;return g|0}function UT(){return tT()|0}function VT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ec;Ec=Ec+16|0;g=f;c[g>>2]=e;e=aT(a,b,d,g)|0;Ec=f;return e|0}function WT(a,b){a=a|0;b=b|0;XT(a,b)|0;return a|0}function XT(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function YT(a){a=+a;var b=0,d=0,e=0,f=0.0,i=0.0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2147483647;do if(d>>>0>1083174911){b=(b|0)>-1|(b|0)==-1&(c[h>>2]|0)>>>0>4294967295;if(b&d>>>0>1083179007){a=a*8988465674311579538646525.0e283;break}if(d>>>0<=2146435071)if(!(a<=-1075.0)|b){e=9;break}else{a=0.0;break}else{a=-1.0/a;break}}else if(d>>>0<1016070144)a=a+1.0;else e=9;while(0);if((e|0)==9){i=a+26388279066624.0;g[h>>3]=i;e=(c[h>>2]|0)+128|0;d=e<<1&510;f=+g[5424+(d<<3)>>3];a=a-(i+-26388279066624.0)-+g[5424+((d|1)<<3)>>3];a=+GT(f+f*a*(a*(a*(a*(a*1.3333559164630223e-03+.009618129842126066)+.0555041086648214)+.2402265069591)+.6931471805599453),(e&-256|0)/256|0)}return +a}function ZT(a){a=+a;a=+_T(a);L((+u(a)>=1.0?(a>0.0?~~+I(+t(a/4294967296.0),4294967295.0)>>>0:~~+G((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0);return ~~a>>>0|0}function _T(a){a=+a;var b=0,d=0;g[h>>3]=a;b=c[h+4>>2]|0;d=b&2146435072;if(!(d>>>0>1126170624|(d|0)==1126170624&0>0)){b=(b|0)<0;a=b?a+-4503599627370496.0+4503599627370496.0:a+4503599627370496.0+-4503599627370496.0;if(a==0.0)a=b?-0.0:0.0}return +a}function $T(a){a=+a;var b=0,d=0;g[h>>3]=a;d=c[h+4>>2]|0;b=d&2147483647;c[h>>2]=c[h>>2];c[h+4>>2]=b;a=+g[h>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+VS(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+VS(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+VS(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function aU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=DS(ma(3,f|0)|0)|0;Ec=e;return d|0}function bU(a,b){a=a|0;b=b|0;var c=0;c=MT(a)|0;return ((cU(a,1,c,b)|0)!=(c|0))<<31>>31|0}function cU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=H(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(gT(e)|0)==0;a=uT(a,f,e)|0;if(!g)hT(e)}else a=uT(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function dU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ec;Ec=Ec+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(vT(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Nc[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Ec=l;return f|0}function eU(a){a=a|0;var b=0,c=0;b=(MT(a)|0)+1|0;c=zU(b)|0;if(!c)a=0;else a=wW(c|0,a|0,b|0)|0;return a|0}function fU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d;d=gU(a,b,f)|0;Ec=e;return d|0}function gU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+144|0;f=e;yW(f|0,0,144)|0;c[f+32>>2]=11;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=iU(f,b,d)|0;Ec=e;return d|0}function hU(a,b,c){a=a|0;b=b|0;c=c|0;return mU(a,b,c)|0}function iU(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0;Q=Ec;Ec=Ec+288|0;J=Q+264|0;K=Q;L=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=gT(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;F=K+10|0;G=K+33|0;H=K+46|0;I=K+94|0;A=J+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(KS(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if($S(o&255)|0?(a[m+2>>0]|0)==36:0){z=jU(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!($S(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while(($S(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{kU(z,t,u,v);n=u;o=v;break c}default:{HS(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=JS(e)|0}while((KS(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=hW(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=hW(u|0,M()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=M()|0}}x=((y|0)<0)<<31>>31;HS(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0<n>>>0)c[B>>2]=o+1;else{if((JS(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){yW(K|0,-1,257)|0;a[K>>0]=0;if((s|0)==115){a[G>>0]=0;b[F>>1]=0;b[F+2>>1]=0;a[F+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;yW(K|0,n|0,257)|0;a[K>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[H>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[K+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[K+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=zU(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[J>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=JS(e)|0;if(!(a[K+(o+1)>>0]|0))break j;a[N>>0]=o;switch(TT(L,N,1,J)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[L>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=CU(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(lU(J)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=zU(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=JS(e)|0;if(!(a[K+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=CU(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=JS(e)|0;if(!(a[K+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=JS(e)|0;if(!(a[K+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=hW(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+CT(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=iW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=IS(e,n,0,-1,-1)|0;o=M()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=iW(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(M()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{kU(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=hW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=hW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=M()|0;break c}while(0);m=m+(n&1)|0;HS(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=JS(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=hW(u|0,v|0,1,0)|0;o=M()|0}else{while(1){l=m+1|0;if(!(KS(d[l>>0]|0)|0))break;else m=l}HS(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=JS(e)|0}while((KS(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=hW(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=hW(o|0,M()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=M()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){AU(k);AU(j)}}else h=0;while(0);if(P|0)hT(e);Ec=Q;return h|0}function jU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Ec;Ec=Ec+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}Ec=e;return a|0}function kU(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function lU(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function mU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=oT(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;wW(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function nU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ec;Ec=Ec+16|0;f=e;c[f>>2]=d;d=bT(a,b,f)|0;Ec=e;return d|0}function oU(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=NT(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=pU(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=qU(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=rU(b,c)|0;break}else{b=sU(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function pU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;e=a[c>>0]|0;a:do if(!(e<<24>>24))c=0;else{e=(d[b>>0]|0)<<8|e&255;while(1){b=e&65535;if((b|0)==(f|0))break;c=c+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){c=0;break a}else e=b<<8|e&255}c=c+-1|0}while(0);return c|0}function qU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-2|0)|0}function rU(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);e=b+3|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|c&255;c=c<<24>>24==0;if(!((b|0)==(f|0)|c))do{e=e+1|0;c=a[e>>0]|0;b=b<<8|c&255;c=c<<24>>24==0}while(!((b|0)==(f|0)|c));return (c?0:e+-3|0)|0}function sU(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Ec;Ec=Ec+1056|0;u=w+1024|0;v=w;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;f=a[e>>0]|0;a:do if(f<<24>>24){p=0;do{if(!(a[b+p>>0]|0)){f=0;break a}t=f&255;s=u+(t>>>5<<2)|0;c[s>>2]=c[s>>2]|1<<(t&31);p=p+1|0;c[v+(t<<2)>>2]=p;f=a[e+p>>0]|0}while(f<<24>>24!=0);m=p>>>0>1;if(m){k=1;j=1;l=0;i=-1;n=1;while(1){f=a[e+(j+i)>>0]|0;g=a[e+n>>0]|0;do if(f<<24>>24==g<<24>>24)if((j|0)==(k|0)){h=k;f=1;g=k+l|0;break}else{h=k;f=j+1|0;g=l;break}else if((f&255)>(g&255)){h=n-i|0;f=1;g=n;break}else{h=1;f=1;g=l+1|0;i=l;break}while(0);n=f+g|0;if(n>>>0>=p>>>0)break;else{k=h;j=f;l=g}}if(m){m=1;l=1;n=0;g=-1;o=1;while(1){f=a[e+(l+g)>>0]|0;j=a[e+o>>0]|0;do if(f<<24>>24==j<<24>>24)if((l|0)==(m|0)){f=m;j=1;k=m+n|0;break}else{f=m;j=l+1|0;k=n;break}else if((f&255)<(j&255)){f=o-g|0;j=1;k=o;break}else{f=1;j=1;k=n+1|0;g=n;break}while(0);o=j+k|0;if(o>>>0>=p>>>0){t=p;j=25;break}else{m=f;l=j;n=k}}}else{t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=p;f=1;g=-1;j=25}}else{h=1;i=-1;t=0;f=1;g=-1;j=25}while(0);b:do if((j|0)==25){r=(g+1|0)>>>0>(i+1|0)>>>0;f=r?f:h;r=r?g:i;s=r+1|0;if(!(ZS(e,e+f|0,s)|0)){m=t-f|0;q=m;l=f}else{m=t-r+-1|0;m=(r>>>0>m>>>0?r:m)+1|0;q=0;l=m;m=t-m|0}n=t|63;o=t+-1|0;p=(q|0)!=0;f=b;k=0;g=b;while(1){h=f;do if((g-h|0)>>>0<t>>>0){i=oT(g,0,n)|0;if(i)if((i-h|0)>>>0<t>>>0){f=0;break b}else break;else{i=g+n|0;break}}else i=g;while(0);g=d[f+o>>0]|0;c:do if(!(1<<(g&31)&c[u+(g>>>5<<2)>>2])){h=0;g=t}else{g=t-(c[v+(g<<2)>>2]|0)|0;if(g|0){h=0;g=p&(k|0)!=0&g>>>0<l>>>0?m:g;break}j=s>>>0>k>>>0;g=j?s:k;h=a[e+g>>0]|0;d:do if(h<<24>>24){while(1){if(h<<24>>24!=(a[f+g>>0]|0))break;g=g+1|0;h=a[e+g>>0]|0;if(!(h<<24>>24))break d}h=0;g=g-r|0;break c}while(0);if(!j)break b;g=s;while(1){g=g+-1|0;if((a[e+g>>0]|0)!=(a[f+g>>0]|0)){h=q;g=l;break c}if(g>>>0<=k>>>0)break b}}while(0);f=f+g|0;k=h;g=i}}while(0);Ec=w;return f|0}function tU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=Ec;Ec=Ec+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);Ec=g;return d|0}function uU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(gT(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=dU(d,b)|0;hT(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=dU(d,b)|0}while(0);return e|0}function vU(a,b){a=a|0;b=b|0;return +(+wU(a,b,1))}function wU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=Ec;Ec=Ec+144|0;e=g;yW(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;HS(e,0,0);f=+CT(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=hW(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=M()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;Ec=g;return +f}function xU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(H(g,d)|0)|0;f=Mc[e&15](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function yU(a){a=a|0;var b=0,d=0;b=Ec;Ec=Ec+32|0;d=b;c[d>>2]=a;c[d+4>>2]=21523;c[d+8>>2]=b+16;a=(DS(oa(54,d|0)|0)|0)==0&1;Ec=b;return a|0}function zU(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=Ec;Ec=Ec+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[46025]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=184140+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46025]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Ec=w;return v|0}l=c[46027]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=184140+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[46025]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[46030]|0;b=l>>>3;d=184140+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[46025]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46027]=h;c[46030]=f;v=i;Ec=w;return v|0}g=c[46026]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[184404+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=184404+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46026]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[46030]|0;b=l>>>3;d=184140+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[46025]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46027]=j;c[46030]=h}v=i+8|0;Ec=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[46026]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[184404+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[184404+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[46027]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=184404+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[46026]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=184140+(b<<1<<2)|0;a=c[46025]|0;b=1<<b;if(!(a&b)){c[46025]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=184404+(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[46026]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Ec=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[46027]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[46030]|0;if(b>>>0>15){v=a+m|0;c[46030]=v;c[46027]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[46027]=0;c[46030]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Ec=w;return v|0}h=c[46028]|0;if(h>>>0>m>>>0){t=h-m|0;c[46028]=t;v=c[46031]|0;u=v+m|0;c[46031]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ec=w;return v|0}if(!(c[46143]|0)){c[46145]=4096;c[46144]=4096;c[46146]=-1;c[46147]=-1;c[46148]=0;c[46136]=0;c[46143]=n&-16^1431655768;a=4096}else a=c[46145]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Ec=w;return v|0}a=c[46135]|0;if(a|0?(l=c[46133]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Ec=w;return v|0}d:do if(!(c[46136]&4)){d=c[46031]|0;e:do if(d){e=184548;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=AW(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=AW(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[46144]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[46133]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[46135]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=AW(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[46145]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((AW(a|0)|0)==(-1|0)){AW(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[46136]=c[46136]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=AW(k|0)|0,p=AW(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[46133]|0)+h|0;c[46133]=b;if(b>>>0>(c[46134]|0)>>>0)c[46134]=b;j=c[46031]|0;f:do if(j){b=184548;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[46028]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[46031]=u;c[46028]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[46032]=c[46147];break}if(g>>>0<(c[46029]|0)>>>0)c[46029]=g;d=g+h|0;b=184548;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[46028]|0)+i|0;c[46028]=v;c[46031]=k;c[k+4>>2]=v|1}else{if((c[46030]|0)==(b|0)){v=(c[46027]|0)+i|0;c[46027]=v;c[46030]=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[46025]=c[46025]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=184404+(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[46026]=c[46026]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=184140+(b<<1<<2)|0;a=c[46025]|0;b=1<<b;if(!(a&b)){c[46025]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=184404+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46026]|0;d=1<<e;if(!(a&d)){c[46026]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Ec=w;return v|0}b=184548;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[46031]=u;c[46028]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[46032]=c[46147];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46137];c[b+4>>2]=c[46138];c[b+8>>2]=c[46139];c[b+12>>2]=c[46140];c[46137]=g;c[46138]=h;c[46140]=0;c[46139]=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=184140+(b<<1<<2)|0;a=c[46025]|0;b=1<<b;if(!(a&b)){c[46025]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=184404+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[46026]|0;a=1<<e;if(!(b&a)){c[46026]=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[46029]|0;if((v|0)==0|g>>>0<v>>>0)c[46029]=g;c[46137]=g;c[46138]=h;c[46140]=0;c[46034]=c[46143];c[46033]=-1;c[46038]=184140;c[46037]=184140;c[46040]=184148;c[46039]=184148;c[46042]=184156;c[46041]=184156;c[46044]=184164;c[46043]=184164;c[46046]=184172;c[46045]=184172;c[46048]=184180;c[46047]=184180;c[46050]=184188;c[46049]=184188;c[46052]=184196;c[46051]=184196;c[46054]=184204;c[46053]=184204;c[46056]=184212;c[46055]=184212;c[46058]=184220;c[46057]=184220;c[46060]=184228;c[46059]=184228;c[46062]=184236;c[46061]=184236;c[46064]=184244;c[46063]=184244;c[46066]=184252;c[46065]=184252;c[46068]=184260;c[46067]=184260;c[46070]=184268;c[46069]=184268;c[46072]=184276;c[46071]=184276;c[46074]=184284;c[46073]=184284;c[46076]=184292;c[46075]=184292;c[46078]=184300;c[46077]=184300;c[46080]=184308;c[46079]=184308;c[46082]=184316;c[46081]=184316;c[46084]=184324;c[46083]=184324;c[46086]=184332;c[46085]=184332;c[46088]=184340;c[46087]=184340;c[46090]=184348;c[46089]=184348;c[46092]=184356;c[46091]=184356;c[46094]=184364;c[46093]=184364;c[46096]=184372;c[46095]=184372;c[46098]=184380;c[46097]=184380;c[46100]=184388;c[46099]=184388;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[46031]=u;c[46028]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[46032]=c[46147]}while(0);b=c[46028]|0;if(b>>>0>m>>>0){t=b-m|0;c[46028]=t;v=c[46031]|0;u=v+m|0;c[46031]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Ec=w;return v|0}}c[(ES()|0)>>2]=12;v=0;Ec=w;return v|0}function AU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46029]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[46030]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46027]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46025]=c[46025]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=184404+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46026]=c[46026]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46031]|0)==(j|0)){j=(c[46028]|0)+b|0;c[46028]=j;c[46031]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46030]|0))return;c[46030]=0;c[46027]=0;return}if((c[46030]|0)==(j|0)){j=(c[46027]|0)+b|0;c[46027]=j;c[46030]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46025]=c[46025]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=184404+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46026]=c[46026]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46030]|0)){c[46027]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=184140+(a<<1<<2)|0;b=c[46025]|0;a=1<<a;if(!(b&a)){c[46025]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=184404+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46026]|0;d=1<<e;a:do if(!(b&d)){c[46026]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[46033]|0)+-1|0;c[46033]=j;if(j|0)return;a=184556;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46033]=-1;return}function BU(a,b){a=a|0;b=b|0;var d=0;if(a){d=H(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=zU(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;yW(a|0,0,d|0)|0;return a|0}function CU(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=zU(b)|0;return b|0}if(b>>>0>4294967231){c[(ES()|0)>>2]=12;b=0;return b|0}d=DU(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=zU(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;wW(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;AU(a);b=d;return b|0}function DU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46145]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;EU(k,d);return a|0}if((c[46031]|0)==(i|0)){k=(c[46028]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46031]=e;c[46028]=d;return a|0}if((c[46030]|0)==(i|0)){e=(c[46027]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46027]=d;c[46030]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46025]=c[46025]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=184404+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46026]=c[46026]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;EU(i,k);return a|0}return 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=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46030]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46027]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46025]=c[46025]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=184404+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46026]=c[46026]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46031]|0)==(i|0)){i=(c[46028]|0)+b|0;c[46028]=i;c[46031]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46030]|0))return;c[46030]=0;c[46027]=0;return}if((c[46030]|0)==(i|0)){i=(c[46027]|0)+b|0;c[46027]=i;c[46030]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46025]=c[46025]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=184404+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46026]=c[46026]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46030]|0)){c[46027]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=184140+(b<<1<<2)|0;a=c[46025]|0;b=1<<b;if(!(a&b)){c[46025]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=184404+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46026]|0;d=1<<e;if(!(a&d)){c[46026]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function FU(a,b){a=a|0;b=b|0;if(a>>>0<9){b=zU(b)|0;return b|0}else{b=GU(a,b)|0;return b|0}return 0}function GU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(ES()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=zU(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;EU(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;EU(f,i)}i=b+8|0;return i|0}function HU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;do if((b|0)!=8){e=b>>>2;if((b&3|0)!=0|(e|0)==0){a=22;return a|0}if(e+1073741823&e|0){a=22;return a|0}if((-64-b|0)>>>0<d>>>0){a=12;return a|0}else{b=GU(b>>>0>16?b:16,d)|0;break}}else b=zU(d)|0;while(0);if(!b){a=12;return a|0}c[a>>2]=b;a=0;return a|0}function IU(a,b){a=a|0;b=b|0;return 0}function JU(a){a=a|0;return 0}function KU(a){a=a|0;return 0}function LU(a){a=a|0;return 0}function MU(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=zU(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function NU(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function OU(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function PU(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Rc[b&7]();c[a>>2]=324508639;return 0}function QU(){$(184612);return}function RU(){return 184596}function SU(){return 184604}function TU(){return 184608}function UU(){return 184612}function VU(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=zU(b)|0;if(a|0)break;a=eW()|0;if(!a){a=0;break}Rc[a&7]()}return a|0}function WU(a){a=a|0;AU(a);return}function XU(a,b){a=a|0;b=b|0;var d=0,e=0;e=MT(b)|0;d=VU(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=YU(d)|0;wW(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function YU(a){a=a|0;return a+12|0}function ZU(a,b){a=a|0;b=b|0;c[a>>2]=114104;XU(a+4|0,b);return}function _U(a){a=a|0;return 1}function $U(a){a=a|0;Za()}function aV(a){a=a|0;Za()}function bV(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)wW(a|0,b|0,c|0)|0;return a|0}function cV(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function dV(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)yW(a|0,(eV(c)|0)&255|0,b|0)|0;return a|0}function eV(a){a=a|0;return a&255|0}function fV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ec;Ec=Ec+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;cV(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;cV(b+d|0,g);a[h>>0]=d;break}else gV(b,d-f|0,e)|0;while(0);Ec=j;return}function gV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=Ec;Ec=Ec+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){hV(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;dV(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;cV(g+f|0,i)}Ec=k;return b|0}function hV(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)$U(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=VU(j)|0;if(g|0)bV(k,l,g)|0;e=f-h-g|0;if(e|0)bV(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)WU(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function iV(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)aV(b);if(f)b=c[b>>2]|0;return b+d|0}function jV(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Ec;Ec=Ec+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=kV()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=180536;lV(180486,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Nc[c[(c[14592]|0)+16>>2]&15](58368,e,f)|0){i=c[f>>2]|0;i=Kc[c[(c[i>>2]|0)+8>>2]&31](i)|0;c[g>>2]=180536;c[g+4>>2]=a;c[g+8>>2]=i;lV(180400,g)}else{c[i>>2]=180536;c[i+4>>2]=a;lV(180445,i)}}lV(180524,h)}function kV(){var a=0,b=0;a=Ec;Ec=Ec+16|0;if(!(PU(184616,6)|0)){b=NU(c[46155]|0)|0;Ec=a;return b|0}else lV(180675,a);return 0}function lV(a,b){a=a|0;b=b|0;var d=0;d=Ec;Ec=Ec+16|0;c[d>>2]=b;b=c[28439]|0;bT(b,a,d)|0;uU(10,b)|0;Za()}function mV(a){a=a|0;return}function nV(a){a=a|0;mV(a);WU(a);return}function oV(a){a=a|0;return}function pV(a){a=a|0;return}function qV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Ec;Ec=Ec+64|0;f=h;if(!(uV(a,b,0)|0))if((b|0)!=0?(g=yV(b,58392,58376,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Vc[c[(c[g>>2]|0)+28>>2]&255](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Ec=h;return b|0}function rV(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(uV(a,c[b+8>>2]|0,g)|0)xV(0,b,d,e,f);return}function sV(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(!(uV(b,c[d+8>>2]|0,g)|0)){if(uV(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else wV(0,d,e,f);while(0);return}function tV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(uV(a,c[b+8>>2]|0,0)|0)vV(0,b,d,e);return}function uV(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function vV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function wV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function xV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function yV(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Ec;Ec=Ec+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(uV(m,f,0)|0){c[n+48>>2]=1;Xc[c[(c[m>>2]|0)+20>>2]&63](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Wc[c[(c[m>>2]|0)+24>>2]&127](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Ec=p;return d|0}function zV(a){a=a|0;mV(a);WU(a);return}function AV(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(uV(a,c[b+8>>2]|0,g)|0)xV(0,b,d,e,f);else{a=c[a+8>>2]|0;Xc[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g)}return}function BV(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(!(uV(b,c[d+8>>2]|0,g)|0)){if(!(uV(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Wc[c[(c[i>>2]|0)+24>>2]&127](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Xc[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if(a[j>>0]|0)if(!(a[f>>0]|0)){f=1;b=11}else b=15;else{f=0;b=11}do if((b|0)==11){c[h>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(f){b=15;break}else{f=4;break}}if(f)b=15;else f=4}while(0);if((b|0)==15)f=3;c[i>>2]=f;break}if((f|0)==1)c[d+32>>2]=1}else wV(0,d,e,f);while(0);return}function CV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(uV(a,c[b+8>>2]|0,0)|0)vV(0,b,d,e);else{a=c[a+8>>2]|0;Vc[c[(c[a>>2]|0)+28>>2]&255](a,b,d,e)}return}function DV(a){a=a|0;return}function EV(){var a=0;a=Ec;Ec=Ec+16|0;if(!(MU(184620,36)|0)){Ec=a;return}else lV(180724,a)}function FV(a){a=a|0;var b=0;b=Ec;Ec=Ec+16|0;AU(a);if(!(OU(c[46155]|0,0)|0)){Ec=b;return}else lV(180774,b)}function GV(){var a=0,b=0;a=kV()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)HV(c[b+12>>2]|0);HV(IV()|0)}function HV(a){a=a|0;var b=0;b=Ec;Ec=Ec+16|0;Rc[a&7]();lV(180827,b)}function IV(){var a=0;a=c[28503]|0;c[28503]=a+0;return a|0}function JV(a){a=a|0;return}function KV(a){a=a|0;c[a>>2]=114104;OV(a+4|0);return}function LV(a){a=a|0;KV(a);WU(a);return}function MV(a){a=a|0;return NV(a+4|0)|0}function NV(a){a=a|0;return c[a>>2]|0}function OV(a){a=a|0;var b=0,d=0;if(_U(a)|0?(b=PV(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)WU(b);return}function PV(a){a=a|0;return a+-12|0}function QV(a){a=a|0;KV(a);WU(a);return}function RV(a){a=a|0;mV(a);WU(a);return}function SV(a,b,c){a=a|0;b=b|0;c=c|0;return uV(a,b,0)|0}function TV(a){a=a|0;mV(a);WU(a);return}function UV(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=Ec;Ec=Ec+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(VV(a,b,0)|0))if(((b|0)!=0?(e=yV(b,58392,58480,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(uV(c[a>>2]|0,c[b>>2]|0,0)|0)?!(uV(c[a>>2]|0,58512,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=yV(a,58392,58376,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=yV(f,58392,58376,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Vc[c[(c[i>>2]|0)+28>>2]&255](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Ec=j;return a|0}function VV(a,b,c){a=a|0;b=b|0;c=c|0;if(uV(a,b,0)|0)a=1;else a=uV(b,58520,0)|0;return a|0}function WV(a){a=a|0;mV(a);WU(a);return}function XV(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(uV(b,c[d+8>>2]|0,h)|0)xV(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;$V(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;$V(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function YV(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(!(uV(b,c[d+8>>2]|0,g)|0)){if(!(uV(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;aW(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;aW(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;aW(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;aW(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;$V(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else wV(0,d,e,f);while(0);return}function ZV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(uV(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;_V(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{_V(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else vV(0,d,e,f);while(0);return}function _V(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;Vc[c[(c[a>>2]|0)+28>>2]&255](a,b,d+f|0,(g&2|0)==0?2:e);return}function $V(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;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;Xc[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function aW(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;Wc[c[(c[a>>2]|0)+24>>2]&127](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function bW(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function cW(a){a=a|0;return}function dW(a){a=a|0;return}function eW(){var a=0;a=c[46156]|0;c[46156]=a+0;return a|0}function fW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ec;Ec=Ec+16|0;e=f;c[e>>2]=c[d>>2];a=Nc[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Ec=f;return a&1|0}function gW(a){a=a|0;if(!a)a=0;else a=(yV(a,58392,58480,0)|0)!=0&1;return a|0}function hW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function iW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L(d|0),a-c>>>0|0)|0}function jW(a){a=a|0;return (a?31-(J(a^a-1)|0)|0:32)|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,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (L(n|0),f)|0}else{if(!g){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (L(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (L(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (L(n|0),f)|0}g=h-1|0;if(g&h|0){i=(J(h|0)|0)+33-(J(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (L(o|0),p)|0}else{p=jW(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (L(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (L(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (L(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((jW(i|0)|0)>>>0);return (L(o|0),p)|0}g=(J(i|0)|0)-(J(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (L(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (L(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=hW(m|0,l|0,-1,-1)|0;d=M()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;iW(k|0,d|0,e|0,n|0)|0;p=M()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=iW(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (L(o|0),p)|0}function lW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=iW(j^a|0,i^b|0,j|0,i|0)|0;g=M()|0;a=f^j;b=e^i;return iW((kW(h,g,iW(f^c|0,e^d|0,f|0,e|0)|0,M()|0,0)|0)^a|0,(M()|0)^b|0,a|0,b|0)|0}function mW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=H(e,f)|0;d=a>>>16;a=(c>>>16)+(H(e,d)|0)|0;e=b>>>16;b=H(e,f)|0;return (L((a>>>16)+(H(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function nW(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=mW(e,f)|0;a=M()|0;return (L((H(b,f)|0)+(H(d,e)|0)+a|a&0|0),c|0|0)|0}function 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;f=Ec;Ec=Ec+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=iW(h^a|0,g^b|0,h|0,g|0)|0;b=M()|0;kW(a,b,iW(k^d|0,j^e|0,k|0,j|0)|0,M()|0,i)|0;e=iW(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=M()|0;Ec=f;return (L(d|0),e)|0}function pW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kW(a,b,c,d,0)|0}function qW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(((b|0)<0?-1:0)|0);return b>>c-32|0}function rW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}L(0);return b>>>c-32|0}function sW(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}L(a<<c-32|0);return 0}function tW(a){a=a|0;return (a&255)<<8|a>>8&255|0}function uW(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function vW(a){a=+a;return a>=0.0?+t(a+.5):+G(a-.5)}function wW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ib(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 xW(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 wW(b,c,d)|0;return b|0}function yW(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 zW(a){a=a|0;return 0}function AW(a){a=a|0;var b=0,d=0,e=0;e=fb()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Fb(b|0)|0;ia(12);return -1}if((b|0)>(e|0))if(!(jb(b|0)|0)){ia(12);return -1}c[i>>2]=b;return d|0}function BW(a,b){a=a|0;b=+b;return +Hc[a&15](+b)}function CW(a,b,c){a=a|0;b=b|0;c=+c;return +Ic[a&0](b|0,+c)}function DW(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;return +Jc[a&0](b|0,+c,+d)}function EW(a,b){a=a|0;b=b|0;return Kc[a&31](b|0)|0}function FW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Lc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function GW(a,b,c){a=a|0;b=b|0;c=c|0;return Mc[a&15](b|0,c|0)|0}function HW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nc[a&15](b|0,c|0,d|0)|0}function IW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Oc[a&3](b|0,c|0,d|0,e|0)|0}function JW(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 Pc[a&63](b|0,c|0,d|0,e|0,f|0)|0}function KW(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 Qc[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function LW(a){a=a|0;Rc[a&7]()}function MW(a,b){a=a|0;b=b|0;Sc[a&63](b|0)}function NW(a,b,c){a=a|0;b=b|0;c=c|0;Tc[a&255](b|0,c|0)}function OW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Uc[a&1023](b|0,c|0,d|0)}function PW(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vc[a&255](b|0,c|0,d|0,e|0)}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wc[a&127](b|0,c|0,d|0,e|0,f|0)}function RW(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;Xc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function SW(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Yc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function TW(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Zc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function UW(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;_c[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function VW(a){a=+a;K(0);return 0.0}function WW(a){a=+a;return +Bb(+a)}function XW(a){a=+a;return +cb(+a)}function YW(a){a=+a;return +Db(+a)}function ZW(a){a=+a;return +ab(+a)}function _W(a){a=+a;return +$a(+a)}function $W(a){a=+a;return +_a(+a)}function aX(a){a=+a;return +kb(+a)}function bX(a){a=+a;return +tb(+a)}function cX(a){a=+a;return +lb(+a)}function dX(a,b){a=a|0;b=+b;K(1);return 0.0}function eX(a,b,c){a=a|0;b=+b;c=+c;K(2);return 0.0}function fX(a){a=a|0;K(3);return 0}function gX(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;K(4);return 0}function hX(a,b){a=a|0;b=b|0;K(5);return 0}function iX(a,b,c){a=a|0;b=b|0;c=c|0;K(6);return 0}function jX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(7);return 0}function kX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(8);return 0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(9);return 0}function mX(){K(10)}function nX(){ea()}function oX(a){a=a|0;K(11)}function pX(a,b){a=a|0;b=b|0;K(12)}function qX(a,b,c){a=a|0;b=b|0;c=c|0;K(13)}function rX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;K(14)}function sX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;K(15)}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;K(16)}function uX(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;K(17)}function vX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;K(18)}function wX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;K(19)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Hc=[VW,US,TS,$T,WW,XW,YW,ZW,_W,$W,aX,bX,cX,HP,VW,VW];var Ic=[dX];var Jc=[eX];var Kc=[fX,Pe,Pf,Rf,Tf,_g,XM,$Q,bR,cR,oR,AS,MV,ce,le,ne,oe,wg,Bg,Al,mQ,kQ,zQ,IQ,MQ,NR,fX,fX,fX,fX,fX,fX];var Lc=[gX,cT];var Mc=[hX,Qf,LO,aR,nR,he,je,Nf,hj,NL,QL,dQ,hX,hX,hX,hX];var Nc=[iX,_M,uN,BS,yT,qV,SV,UV,re,Ne,ag,hU,iX,iX,iX,iX];var Oc=[jX,Sf,CS,jX];var Pc=[kX,nf,Bl,Cl,Dl,El,Fl,Gl,Hl,Il,Jl,Kl,Ll,Ml,Nl,Ol,Pl,Ql,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,jm,km,lm,_Q,RR,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX,kX];var Qc=[lX,Qe,YM,sN,ZQ,QR,lX,lX];var Rc=[mX,nX,jV,QM,EQ,FQ,EV,mX];var Sc=[oX,Bd,Ed,Fd,se,te,ve,ye,ze,Ce,De,Vd,Ie,Je,Zd,Re,Uf,ZM,tN,mV,nV,oV,pV,zV,KV,LV,QV,RV,TV,WV,de,id,jd,me,qe,OR,FV,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX,oX];var Tc=[pX,Ee,Fe,Ld,Ge,He,Ke,Le,gd,hd,ge,kd,ld,md,nd,od,pd,qd,rd,sd,td,ud,pe,mg,pg,zm,GI,FI,oJ,nJ,YJ,XJ,GK,FK,oL,nL,Kn,Jn,Mn,Ln,On,Nn,Pn,Qn,Rn,Sn,Tn,Un,Vn,Wn,Xn,Yn,Zn,_n,$n,ao,bo,co,eo,jo,io,ko,lo,mo,no,oo,to,uo,vo,fp,ep,hp,gp,jp,ip,kp,lp,mp,np,op,pp,qp,rp,sp,tp,up,vp,wp,Bp,Ap,Cp,Dp,Ep,Fp,Ip,Jp,Kp,uq,tq,wq,vq,yq,xq,zq,Aq,Bq,Cq,Dq,Eq,Fq,Gq,Hq,Iq,Jq,Kq,Lq,Qq,Pq,Rq,Sq,Tq,Uq,Xq,Yq,Zq,Jr,Ir,Lr,Kr,Nr,Mr,Or,Pr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Yr,Zr,_r,ds,cs,es,fs,gs,hs,ks,ls,ms,Ys,Xs,_s,Zs,at,$s,bt,ct,dt,et,ft,gt,ht,it,jt,kt,lt,mt,nt,st,rt,tt,ut,vt,wt,zt,At,Bt,ho,go,fo,so,ro,qo,po,zp,yp,xp,Hp,Gp,Oq,Nq,Mq,Wq,Vq,bs,as,$r,js,is,qt,pt,ot,yt,xt,hO,WO,VO,dT,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX,pX];var Uc=[qX,ee,fe,ie,ke,sI,rI,uI,tI,vI,wI,xI,yI,EI,dJ,eJ,fJ,gJ,mJ,NJ,OJ,PJ,QJ,WJ,vK,wK,xK,yK,EK,dL,eL,fL,gL,mL,eu,ju,ou,tu,yu,Du,Iu,Nu,Su,Xu,av,fv,kv,pv,uv,zv,Ev,Jv,Ov,Tv,Yv,bw,gw,lw,qw,vw,Aw,Fw,Kw,Pw,Uw,Zw,cx,hx,mx,rx,wx,Bx,Gx,Lx,Qx,Vx,_x,dy,iy,ny,sy,xy,Cy,Hy,My,Ry,Wy,$y,ez,jz,oz,tz,yz,Dz,Iz,Nz,Sz,Xz,aA,fA,kA,pA,uA,zA,EA,JA,OA,TA,YA,bB,gB,lB,qB,vB,AB,FB,KB,PB,UB,ZB,cC,hC,mC,rC,wC,BC,GC,LC,QC,VC,_C,dD,iD,nD,sD,xD,CD,HD,MD,RD,WD,$D,eE,jE,oE,tE,du,iu,nu,su,xu,Cu,Hu,Mu,Ru,Wu,$u,ev,jv,ov,tv,yv,Dv,Iv,Nv,Sv,Xv,aw,fw,kw,pw,uw,zw,Ew,Jw,Ow,Tw,Yw,bx,gx,lx,qx,vx,Ax,Fx,Kx,Px,Ux,Zx,cy,hy,my,ry,wy,By,Gy,Ly,Qy,Vy,_y,dz,iz,nz,sz,xz,Cz,Hz,Mz,Rz,Wz,$z,eA,jA,oA,tA,yA,DA,IA,NA,SA,XA,aB,fB,kB,pB,uB,zB,EB,JB,OB,TB,YB,bC,gC,lC,qC,vC,AC,FC,KC,PC,UC,ZC,cD,hD,mD,rD,wD,BD,GD,LD,QD,VD,_D,dE,iE,nE,sE,cu,hu,mu,ru,wu,Bu,Gu,Lu,Qu,Vu,_u,dv,iv,nv,sv,xv,Cv,Hv,Mv,Rv,Wv,$v,ew,jw,ow,tw,yw,Dw,Iw,Nw,Sw,Xw,ax,fx,kx,px,ux,zx,Ex,Jx,Ox,Tx,Yx,by,gy,ly,qy,vy,Ay,Fy,Ky,Py,Uy,Zy,cz,hz,mz,rz,wz,Bz,Gz,Lz,Qz,Vz,_z,dA,iA,nA,sA,xA,CA,HA,MA,RA,WA,$A,eB,jB,oB,tB,yB,DB,IB,NB,SB,XB,aC,fC,kC,pC,uC,zC,EC,JC,OC,TC,YC,bD,gD,lD,qD,vD,AD,FD,KD,PD,UD,ZD,cE,hE,mE,rE,bu,gu,lu,qu,vu,Au,Fu,Ku,Pu,Uu,Zu,cv,hv,mv,rv,wv,Bv,Gv,Lv,Qv,Vv,_v,dw,iw,nw,sw,xw,Cw,Hw,Mw,Rw,Ww,$w,ex,jx,ox,tx,yx,Dx,Ix,Nx,Sx,Xx,ay,fy,ky,py,uy,zy,Ey,Jy,Oy,Ty,Yy,bz,gz,lz,qz,vz,Az,Fz,Kz,Pz,Uz,Zz,cA,hA,mA,rA,wA,BA,GA,LA,QA,VA,_A,dB,iB,nB,sB,xB,CB,HB,MB,RB,WB,$B,eC,jC,oC,tC,yC,DC,IC,NC,SC,XC,aD,fD,kD,pD,uD,zD,ED,JD,OD,TD,YD,bE,gE,lE,qE,au,fu,ku,pu,uu,zu,Eu,Ju,Ou,Tu,Yu,bv,gv,lv,qv,vv,Av,Fv,Kv,Pv,Uv,Zv,cw,hw,mw,rw,ww,Bw,Gw,Lw,Qw,Vw,_w,dx,ix,nx,sx,xx,Cx,Hx,Mx,Rx,Wx,$x,ey,jy,oy,ty,yy,Dy,Iy,Ny,Sy,Xy,az,fz,kz,pz,uz,zz,Ez,Jz,Oz,Tz,Yz,bA,gA,lA,qA,vA,AA,FA,KA,PA,UA,ZA,cB,hB,mB,rB,wB,BB,GB,LB,QB,VB,_B,dC,iC,nC,sC,xC,CC,HC,MC,RC,WC,$C,eD,jD,oD,tD,yD,DD,ID,ND,SD,XD,aE,fE,kE,pE,bn,dn,cn,en,fn,gn,jn,hn,kn,ln,mn,nn,on,Zm,$m,qn,rn,sn,pn,tn,un,vn,wo,xo,yo,zo,Io,Jo,Ko,Lo,Mo,No,Oo,Po,Qo,Ro,Go,Ho,So,To,Lp,Mp,Np,Op,Xp,Yp,Zp,_p,$p,aq,bq,cq,dq,eq,Vp,Wp,fq,gq,_q,$q,ar,br,kr,lr,mr,nr,or,pr,qr,rr,sr,tr,ir,jr,ur,vr,ns,os,ps,qs,zs,As,Bs,Cs,Ds,Es,Fs,Gs,Hs,Is,xs,ys,Js,Ks,Ct,Dt,Et,Ft,_m,an,wn,Wm,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX,qX];var Vc=[rX,tV,CV,ZV,Ye,SI,TI,UI,_I,aJ,$I,cJ,bJ,AJ,BJ,CJ,IJ,KJ,JJ,MJ,LJ,iK,jK,kK,qK,sK,rK,uK,tK,SK,TK,UK,_K,aL,$K,cL,bL,AL,BL,CL,IL,KL,JL,ML,LL,xn,yn,zn,An,Bn,Cn,Dn,En,Fn,Gn,Hn,In,Do,Co,Fo,Eo,Uo,Vo,Wo,Xo,Yo,Zo,_o,$o,ap,bp,cp,dp,Sp,Rp,Up,Tp,hq,iq,jq,kq,lq,mq,nq,oq,pq,qq,rq,sq,fr,er,hr,gr,wr,xr,yr,zr,Ar,Br,Cr,Dr,Er,Fr,Gr,Hr,us,ts,ws,vs,Ls,Ms,Ns,Os,Ps,Qs,Rs,Ss,Ts,Us,Vs,Ws,Jt,It,Lt,Kt,Qt,Vt,Pt,Ut,Ot,Tt,Nt,St,Mt,Rt,jS,iS,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX,rX];var Wc=[sX,sV,BV,YV,zI,AI,CI,BI,DI,PI,QI,RI,VI,XI,WI,ZI,YI,hJ,iJ,kJ,jJ,lJ,xJ,yJ,zJ,DJ,FJ,EJ,HJ,GJ,RJ,SJ,UJ,TJ,VJ,fK,gK,hK,lK,nK,mK,pK,oK,zK,AK,CK,BK,DK,PK,QK,RK,VK,XK,WK,ZK,YK,hL,iL,kL,jL,lL,xL,yL,zL,DL,FL,EL,HL,GL,Ao,Bo,Pp,Qp,cr,dr,rs,ss,Gt,Ht,PR,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX,sX];var Xc=[tX,rV,AV,XV,Sg,HI,II,JI,KI,pJ,qJ,rJ,sJ,ZJ,_J,$J,aK,HK,IK,JK,KK,pL,qL,rL,sL,cI,bI,eI,dI,gI,fI,iI,hI,kI,jI,mI,lI,oI,nI,qI,pI,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX];var Yc=[uX,LI,MI,NI,OI,tJ,uJ,vJ,wJ,bK,cK,dK,eK,LK,MK,NK,OK,tL,uL,vL,wL,uX,uX,uX,uX,uX,uX,uX,uX,uX,uX,uX];var Zc=[vX,Vm];var _c=[wX,Ym,Xm,wX];return{___cxa_can_catch:fW,___cxa_is_pointer_type:gW,___divdi3:lW,___errno_location:ES,___getTypeName:zS,___muldi3:nW,___remdi3:oW,___udivdi3:pW,__get_daylight:SU,__get_environ:UU,__get_timezone:TU,__get_tzname:RU,_bitshift64Ashr:qW,_bitshift64Lshr:rW,_bitshift64Shl:sW,_free:AU,_i64Add:hW,_i64Subtract:iW,_llvm_bswap_i16:tW,_llvm_bswap_i32:uW,_llvm_round_f64:vW,_main:ed,_malloc:zU,_memalign:FU,_memcpy:wW,_memmove:xW,_memset:yW,_pthread_cond_broadcast:zW,_sbrk:AW,_strlen:MT,dynCall_dd:BW,dynCall_did:CW,dynCall_didd:DW,dynCall_ii:EW,dynCall_iidiiii:FW,dynCall_iii:GW,dynCall_iiii:HW,dynCall_iiiii:IW,dynCall_iiiiii:JW,dynCall_iiiiiii:KW,dynCall_v:LW,dynCall_vi:MW,dynCall_vii:NW,dynCall_viii:OW,dynCall_viiii:PW,dynCall_viiiii:QW,dynCall_viiiiii:RW,dynCall_viiiiiiii:SW,dynCall_viiiiiiiii:TW,dynCall_viiiiiiiiii:UW,establishStackSpace:dd,globalCtors:$c,stackAlloc:ad,stackRestore:cd,stackSave:bd}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___remdi3=Module["___remdi3"]=asm["___remdi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_round_f64=Module["_llvm_round_f64"]=asm["_llvm_round_f64"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_dd=Module["dynCall_dd"]=asm["dynCall_dd"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_didd=Module["dynCall_didd"]=asm["dynCall_didd"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{throw new Error("environment detection error")}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;assert(typeof Module["memoryInitializerPrefixURL"]==="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]==="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]==="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]==="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");stackSave=stackRestore=stackAlloc=function(){abort("cannot use the stack before compiled code is ready to run, and has provided stack access")};function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){debugger}};var functionPointers=new Array(0);function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};if(typeof WebAssembly!=="object"){abort("No WebAssembly support found. Build with -s WASM=0 to target JavaScript instead.")}var wasmMemory;var wasmTable;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}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 allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}assert(type,"Must know what type to store in allocate!");if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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{if((u0&248)!=240)warnOnce("Invalid UTF-8 leading byte 0x"+u0.toString(16)+" encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!");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;if(u>=2097152)warnOnce("Invalid Unicode code point 0x"+u.toString(16)+" encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).");outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){assert(str.charCodeAt(i)===str.charCodeAt(i)&255);HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=223072,STACK_MAX=5465952,DYNAMIC_BASE=5465952,DYNAMICTOP_PTR=223040;assert(STACK_BASE%16===0,"stack must start aligned");assert(DYNAMIC_BASE%16===0,"heap must start aligned");var TOTAL_STACK=5242880;if(Module["TOTAL_STACK"])assert(TOTAL_STACK===Module["TOTAL_STACK"],"the stack size can no longer be determined at runtime");var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!==undefined&&Int32Array.prototype.set!==undefined,"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===INITIAL_TOTAL_MEMORY,"provided buffer should be "+INITIAL_TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{if(typeof WebAssembly==="object"&&typeof WebAssembly.Memory==="function"){assert(INITIAL_TOTAL_MEMORY%WASM_PAGE_SIZE===0);wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE});buffer=wasmMemory.buffer}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}assert(buffer.byteLength===INITIAL_TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function writeStackCookie(){assert((STACK_MAX&3)==0);HEAPU32[(STACK_MAX>>2)-1]=34821223;HEAPU32[(STACK_MAX>>2)-2]=2310721022}function checkStackCookie(){if(HEAPU32[(STACK_MAX>>2)-1]!=34821223||HEAPU32[(STACK_MAX>>2)-2]!=2310721022){abort("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x"+HEAPU32[(STACK_MAX>>2)-2].toString(16)+" "+HEAPU32[(STACK_MAX>>2)-1].toString(16))}if(HEAP32[0]!==1668509029)throw"Runtime error: The application has corrupted its heap memory area (address zero)!"}function abortStackOverflow(allocSize){abort("Stack overflow! Attempted to allocate "+allocSize+" bytes on the stack, but stack has only "+(STACK_MAX-stackSave()+allocSize)+" bytes available!")}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){checkStackCookie();if(runtimeInitialized)return;runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){checkStackCookie();FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){checkStackCookie();runtimeExited=true}function postRun(){checkStackCookie();if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval(function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff_mp3_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(Module["wasmBinary"]){return new Uint8Array(Module["wasmBinary"])}if(Module["readBinary"]){return Module["readBinary"](wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!Module["wasmBinary"]&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(env){var info={"env":env,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}var trueModule=Module;function receiveInstantiatedSource(output){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}if(!Module["wasmBinary"]&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){WebAssembly.instantiateStreaming(fetch(wasmBinaryFile,{credentials:"same-origin"}),info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})}else{instantiateArrayBuffer(receiveInstantiatedSource)}return{}}Module["asm"]=function(global,env,providedBuffer){env["memory"]=wasmMemory;env["table"]=wasmTable=new WebAssembly.Table({"initial":2e3,"maximum":2e3,"element":"anyfunc"});env["__memory_base"]=1024;env["__table_base"]=0;var exports=createWasm(env);assert(exports,"binaryen setup failed (no wasm support?)");return exports};__ATINIT__.push({func:function(){globalCtors()}});var tempDoublePtr=223056;assert(tempDoublePtr%8==0);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}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){err("exception during cxa_free_exception: "+e)}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;else err("failed to set errno from JS");return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){assert(position===0,"canOwn must imply no weird position inside the file");node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}};this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true});if(this.stack)this.stack=demangleAll(this.stack)};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("Cannot enlarge memory arrays to size "+requestedSize+" bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+HEAP8.length+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var _fabs=Math_abs;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 _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",222944,4),222944);function _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;if(!croppingParams){gl.viewport(0,0,width,height)}else{gl.viewport(0,0,croppingParams.width,croppingParams.height);var tTop=croppingParams.top/height;var tLeft=croppingParams.left/width;var tBottom=croppingParams.height/height;var tRight=croppingParams.width/width;var texturePosValues=new Float32Array([tRight,tTop,tLeft,tTop,tRight,tBottom,tLeft,tBottom]);gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,texturePosValues,gl.DYNAMIC_DRAW)}gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){this.webGLCanvas.canvasElement.width=w;this.webGLCanvas.canvasElement.height=h;if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_trap(){abort("trap!")}var _llvm_trunc_f64=Math_trunc;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_create(){return 11}function _pthread_join(){}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:var maxHeapSize=2*1024*1024*1024-65536;maxHeapSize=HEAPU8.length;return maxHeapSize/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(22);return-1}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function nullFunc_dd(x){err("Invalid function pointer called with signature 'dd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_did(x){err("Invalid function pointer called with signature 'did'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_didd(x){err("Invalid function pointer called with signature 'didd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ii(x){err("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iidiiii(x){err("Invalid function pointer called with signature 'iidiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iii(x){err("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiii(x){err("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiii(x){err("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiii(x){err("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_iiiiiii(x){err("Invalid function pointer called with signature 'iiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_ijiii(x){err("Invalid function pointer called with signature 'ijiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_jiji(x){err("Invalid function pointer called with signature 'jiji'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_v(x){err("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vi(x){err("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_vii(x){err("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viii(x){err("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiii(x){err("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiii(x){err("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiii(x){err("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}function nullFunc_viiiiiiiiii(x){err("Invalid function pointer called with signature 'viiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");err("Build with ASSERTIONS=2 for more info.");abort(x)}var asmGlobalArg={};var asmLibraryArg={"P":setTempRet0,"b":abortStackOverflow,"wa":nullFunc_dd,"oa":nullFunc_did,"ha":nullFunc_didd,"ea":nullFunc_ii,"ca":nullFunc_iidiiii,"_":nullFunc_iii,"S":nullFunc_iiii,"O":nullFunc_iiiii,"Ga":nullFunc_iiiiii,"Fa":nullFunc_iiiiiii,"Ea":nullFunc_ijiii,"Da":nullFunc_jiji,"Ca":nullFunc_v,"Ba":nullFunc_vi,"Aa":nullFunc_vii,"za":nullFunc_viii,"ya":nullFunc_viiii,"xa":nullFunc_viiiii,"va":nullFunc_viiiiii,"ua":nullFunc_viiiiiiii,"ta":nullFunc_viiiiiiiii,"sa":nullFunc_viiiiiiiiii,"ra":___buildEnvironment,"u":___cxa_allocate_exception,"qa":___cxa_pure_virtual,"t":___cxa_throw,"pa":___lock,"N":___setErrNo,"na":___syscall140,"M":___syscall146,"L":___syscall221,"ma":___syscall3,"la":___syscall5,"K":___syscall54,"J":___syscall6,"ka":___unlock,"ja":__embind_create_inheriting_constructor,"ia":__embind_register_bool,"I":__embind_register_class,"H":__embind_register_class_class_function,"w":__embind_register_class_function,"s":__embind_register_class_property,"ga":__embind_register_emval,"G":__embind_register_float,"k":__embind_register_integer,"f":__embind_register_memory_view,"F":__embind_register_std_string,"fa":__embind_register_std_wstring,"da":__embind_register_void,"r":__emval_as,"E":__emval_call,"y":__emval_call_method,"q":__emval_call_void_method,"d":__emval_decref,"B":__emval_get_global,"i":__emval_get_method_caller,"A":__emval_get_property,"x":__emval_incref,"ba":__emval_new,"j":__emval_new_cstring,"aa":__emval_new_object,"h":__emval_run_destructors,"p":__emval_set_property,"n":__emval_take_value,"c":_abort,"z":_clock,"$":_emscripten_get_heap_size,"e":_emscripten_log,"Z":_emscripten_memcpy_big,"Y":_emscripten_resize_heap,"X":_fabs,"v":_getenv,"W":_gettimeofday,"V":_init,"U":_llvm_trap,"T":_llvm_trunc_f64,"m":_pthread_cond_destroy,"o":_pthread_cond_init,"l":_pthread_cond_signal,"g":_pthread_cond_wait,"D":_pthread_create,"C":_pthread_join,"R":_sysconf,"Q":abortOnCannotGrowMemory,"a":DYNAMICTOP_PTR};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);var real____cxa_can_catch=asm["Ha"];asm["Ha"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_can_catch.apply(null,arguments)};var real____cxa_is_pointer_type=asm["Ia"];asm["Ia"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____cxa_is_pointer_type.apply(null,arguments)};var real____errno_location=asm["Ja"];asm["Ja"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)};var real____getTypeName=asm["Ka"];asm["Ka"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____getTypeName.apply(null,arguments)};var real___get_daylight=asm["La"];asm["La"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_daylight.apply(null,arguments)};var real___get_environ=asm["Ma"];asm["Ma"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_environ.apply(null,arguments)};var real___get_timezone=asm["Na"];asm["Na"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_timezone.apply(null,arguments)};var real___get_tzname=asm["Oa"];asm["Oa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real___get_tzname.apply(null,arguments)};var real__fflush=asm["Pa"];asm["Pa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)};var real__free=asm["Qa"];asm["Qa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)};var real__llvm_bswap_i16=asm["Ra"];asm["Ra"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i16.apply(null,arguments)};var real__llvm_bswap_i32=asm["Sa"];asm["Sa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_bswap_i32.apply(null,arguments)};var real__llvm_round_f64=asm["Ta"];asm["Ta"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__llvm_round_f64.apply(null,arguments)};var real__main=asm["Ua"];asm["Ua"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__main.apply(null,arguments)};var real__malloc=asm["Va"];asm["Va"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)};var real__memalign=asm["Wa"];asm["Wa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memalign.apply(null,arguments)};var real__memmove=asm["Xa"];asm["Xa"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)};var real__pthread_cond_broadcast=asm["Ya"];asm["Ya"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__pthread_cond_broadcast.apply(null,arguments)};var real__sbrk=asm["Za"];asm["Za"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__sbrk.apply(null,arguments)};var real__strlen=asm["_a"];asm["_a"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__strlen.apply(null,arguments)};var real_establishStackSpace=asm["vb"];asm["vb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_establishStackSpace.apply(null,arguments)};var real_globalCtors=asm["wb"];asm["wb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_globalCtors.apply(null,arguments)};var real_stackAlloc=asm["xb"];asm["xb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackAlloc.apply(null,arguments)};var real_stackRestore=asm["yb"];asm["yb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackRestore.apply(null,arguments)};var real_stackSave=asm["zb"];asm["zb"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real_stackSave.apply(null,arguments)};Module["asm"]=asm;var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ha"].apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ia"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ja"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ka"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["La"].apply(null,arguments)};var __get_environ=Module["__get_environ"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ma"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Na"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Oa"].apply(null,arguments)};var _fflush=Module["_fflush"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Pa"].apply(null,arguments)};var _free=Module["_free"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Qa"].apply(null,arguments)};var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ra"].apply(null,arguments)};var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Sa"].apply(null,arguments)};var _llvm_round_f64=Module["_llvm_round_f64"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ta"].apply(null,arguments)};var _main=Module["_main"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ua"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Va"].apply(null,arguments)};var _memalign=Module["_memalign"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Wa"].apply(null,arguments)};var _memmove=Module["_memmove"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Xa"].apply(null,arguments)};var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Ya"].apply(null,arguments)};var _sbrk=Module["_sbrk"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["Za"].apply(null,arguments)};var _strlen=Module["_strlen"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["_a"].apply(null,arguments)};var establishStackSpace=Module["establishStackSpace"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["vb"].apply(null,arguments)};var globalCtors=Module["globalCtors"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["wb"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["xb"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["yb"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["zb"].apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["$a"].apply(null,arguments)};var dynCall_did=Module["dynCall_did"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ab"].apply(null,arguments)};var dynCall_didd=Module["dynCall_didd"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["bb"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["cb"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["db"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["eb"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["fb"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["gb"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["hb"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ib"].apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["jb"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["kb"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["lb"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["mb"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["nb"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ob"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["pb"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["qb"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["rb"].apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["sb"].apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["tb"].apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return Module["asm"]["ub"].apply(null,arguments)};Module["asm"]=asm;if(!Module["intArrayFromString"])Module["intArrayFromString"]=function(){abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["intArrayToString"])Module["intArrayToString"]=function(){abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ccall"])Module["ccall"]=function(){abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["cwrap"])Module["cwrap"]=function(){abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setValue"])Module["setValue"]=function(){abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getValue"])Module["getValue"]=function(){abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocate"])Module["allocate"]=function(){abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getMemory"])Module["getMemory"]=function(){abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["AsciiToString"])Module["AsciiToString"]=function(){abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToAscii"])Module["stringToAscii"]=function(){abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ArrayToString"])Module["UTF8ArrayToString"]=function(){abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF8ToString"])Module["UTF8ToString"]=function(){abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8Array"])Module["stringToUTF8Array"]=function(){abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF8"])Module["stringToUTF8"]=function(){abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF8"])Module["lengthBytesUTF8"]=function(){abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF16ToString"])Module["UTF16ToString"]=function(){abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF16"])Module["stringToUTF16"]=function(){abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF16"])Module["lengthBytesUTF16"]=function(){abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["UTF32ToString"])Module["UTF32ToString"]=function(){abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stringToUTF32"])Module["stringToUTF32"]=function(){abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["lengthBytesUTF32"])Module["lengthBytesUTF32"]=function(){abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["allocateUTF8"])Module["allocateUTF8"]=function(){abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackTrace"])Module["stackTrace"]=function(){abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreRun"])Module["addOnPreRun"]=function(){abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnInit"])Module["addOnInit"]=function(){abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPreMain"])Module["addOnPreMain"]=function(){abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnExit"])Module["addOnExit"]=function(){abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addOnPostRun"])Module["addOnPostRun"]=function(){abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeStringToMemory"])Module["writeStringToMemory"]=function(){abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeArrayToMemory"])Module["writeArrayToMemory"]=function(){abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["writeAsciiToMemory"])Module["writeAsciiToMemory"]=function(){abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addRunDependency"])Module["addRunDependency"]=function(){abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["removeRunDependency"])Module["removeRunDependency"]=function(){abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["ENV"])Module["ENV"]=function(){abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS"])Module["FS"]=function(){abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["FS_createFolder"])Module["FS_createFolder"]=function(){abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPath"])Module["FS_createPath"]=function(){abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDataFile"])Module["FS_createDataFile"]=function(){abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createPreloadedFile"])Module["FS_createPreloadedFile"]=function(){abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLazyFile"])Module["FS_createLazyFile"]=function(){abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createLink"])Module["FS_createLink"]=function(){abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_createDevice"])Module["FS_createDevice"]=function(){abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["FS_unlink"])Module["FS_unlink"]=function(){abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you")};if(!Module["GL"])Module["GL"]=function(){abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynamicAlloc"])Module["dynamicAlloc"]=function(){abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["warnOnce"])Module["warnOnce"]=function(){abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadDynamicLibrary"])Module["loadDynamicLibrary"]=function(){abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["loadWebAssemblyModule"])Module["loadWebAssemblyModule"]=function(){abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getLEB"])Module["getLEB"]=function(){abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFunctionTables"])Module["getFunctionTables"]=function(){abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["alignFunctionTables"])Module["alignFunctionTables"]=function(){abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["registerFunctions"])Module["registerFunctions"]=function(){abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["addFunction"])Module["addFunction"]=function(){abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["removeFunction"])Module["removeFunction"]=function(){abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getFuncWrapper"])Module["getFuncWrapper"]=function(){abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["prettyPrint"])Module["prettyPrint"]=function(){abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["makeBigInt"])Module["makeBigInt"]=function(){abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["dynCall"])Module["dynCall"]=function(){abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getCompilerSetting"])Module["getCompilerSetting"]=function(){abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackSave"])Module["stackSave"]=function(){abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackRestore"])Module["stackRestore"]=function(){abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["stackAlloc"])Module["stackAlloc"]=function(){abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["establishStackSpace"])Module["establishStackSpace"]=function(){abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["print"])Module["print"]=function(){abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["printErr"])Module["printErr"]=function(){abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["getTempRet0"])Module["getTempRet0"]=function(){abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["setTempRet0"])Module["setTempRet0"]=function(){abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["Pointer_stringify"])Module["Pointer_stringify"]=function(){abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")};if(!Module["ALLOC_NORMAL"])Object.defineProperty(Module,"ALLOC_NORMAL",{get:function(){abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_STACK"])Object.defineProperty(Module,"ALLOC_STACK",{get:function(){abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_DYNAMIC"])Object.defineProperty(Module,"ALLOC_DYNAMIC",{get:function(){abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});if(!Module["ALLOC_NONE"])Object.defineProperty(Module,"ALLOC_NONE",{get:function(){abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)")}});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){assert(runDependencies==0,'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}writeStackCookie();preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}Module["run"]=run;function checkUnflushedContent(){var print=out;var printErr=err;var has=false;out=err=function(x){has=true};try{var flush=Module["_fflush"];if(flush)flush(0);["stdout","stderr"].forEach(function(name){var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty&&tty.output&&tty.output.length){has=true}})}catch(e){}out=print;err=printErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}}function exit(status,implicit){checkUnflushedContent();if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){if(!implicit){err("exit("+status+") called, but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)")}}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach(function(decorator){output=decorator(output,what)})}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}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}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=Number(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 tempRet0=0;var setTempRet0=function(value){tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}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 wasmMemory;var wasmTable=new WebAssembly.Table({"initial":1551,"maximum":1551+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 UTF16ToString(ptr){var endPtr=ptr;var idx=endPtr>>1;while(HEAP16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}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}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=8706800,DYNAMICTOP_PTR=3463760;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);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 __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 initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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 getUniqueRunDependency(id){return id}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"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ff_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_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}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc?Buffer.alloc(BUFSIZE):new Buffer(BUFSIZE);var bytesRead=0;try{bytesRead=nodeFS.readSync(process.stdin.fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===buffer.buffer){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<contents.length){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;var fromHeap=buffer.buffer==HEAP8.buffer;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(48)}(fromHeap?HEAP8:buffer).set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(10)}if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;err("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(29);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall221(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function detachFinalizer(handle){}var finalizationGroup=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=function(handle){return handle};return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=function(handle){finalizationGroup.register(handle,handle.$$,handle.$$);return handle};detachFinalizer=function(handle){finalizationGroup.unregister(handle.$$)};return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var dc=Module["dynCall_"+signature];var fp=makeDynCaller(dc);if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0){HEAPU8[value+4+length]=endCharSwap}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var endChar=HEAP[value+4+length*charSize>>shift];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAP[value+4+length*charSize>>shift]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0){var stringSegment=decodeString(decodeStartPtr);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}if(endCharSwap!=0){HEAP[value+4+length*charSize>>shift]=endCharSwap}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function __formatString(format,varargs){var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){ptr+=4}}else{}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function _emscripten_get_environ(){if(!_emscripten_get_environ.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}_emscripten_get_environ.strings=strings}return _emscripten_get_environ.strings}function _environ_get(__environ,environ_buf){var strings=_emscripten_get_environ();var bufSize=0;strings.forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=_emscripten_get_environ();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_timezone=(stringToUTF8("GMT",3463824,4),3463824);function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},initAudioPlanar(channels,samplerate){this.buffersA=[];for(var i=0;i<channels;i++){this.buffersA.push([])}postMessage({cmd:"initAudioPlanar",samplerate:samplerate,channels:channels})},playAudioPlanar(data,len){var outputArray=[];var frameCount=len/4/this.buffersA.length;for(var i=0;i<this.buffersA.length;i++){var fp=HEAPU32[(data>>2)+i]>>2;var float32=HEAPF32.subarray(fp,fp+frameCount);var buffer=this.buffersA[i];if(buffer.length){buffer=buffer.pop();for(var j=0;j<buffer.length;j++){buffer[j]=float32[j]}}else{buffer=Float32Array.from(float32)}outputArray[i]=buffer}this.audioCache.push(outputArray);if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache.flatMap(outputArray=>outputArray.map(x=>x.buffer)));this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(compositionTime){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray,compositionTime:compositionTime},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setBufferA":decoder.buffersA.forEach((array,i)=>array.push(msg.buffers[i]));case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _round(d){d=+d;return d>=+0?+Math_floor(d+ +.5):+Math_ceil(d-+.5)}function _setTempRet0($i){setTempRet0($i|0)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"S":___cxa_allocate_exception,"R":___cxa_throw,"N":___syscall221,"K":___syscall3,"M":___syscall5,"Q":__embind_create_inheriting_constructor,"G":__embind_register_bool,"A":__embind_register_class,"v":__embind_register_class_class_function,"n":__embind_register_class_function,"l":__embind_register_class_property,"F":__embind_register_emval,"u":__embind_register_float,"h":__embind_register_integer,"g":__embind_register_memory_view,"w":__embind_register_std_string,"r":__embind_register_std_wstring,"H":__embind_register_void,"k":__emval_as,"z":__emval_call,"o":__emval_call_method,"i":__emval_call_void_method,"b":__emval_decref,"t":__emval_get_global,"d":__emval_get_method_caller,"q":__emval_get_property,"p":__emval_incref,"U":__emval_new,"e":__emval_new_cstring,"T":__emval_new_object,"f":__emval_run_destructors,"m":__emval_set_property,"j":__emval_take_value,"a":_abort,"s":_clock,"c":_emscripten_log,"D":_emscripten_memcpy_big,"E":_emscripten_resize_heap,"I":_environ_get,"J":_environ_sizes_get,"y":_fd_close,"L":_fd_fdstat_get,"B":_fd_seek,"x":_fd_write,"O":_gettimeofday,"V":_init,"memory":wasmMemory,"P":_round,"C":_setTempRet0,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["W"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["X"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Y"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["Z"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["_"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["$"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["aa"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ba"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["ca"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["da"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["ea"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["fa"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["ga"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["ha"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["ia"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["ja"]).apply(null,arguments)};var dynCall_dd=Module["dynCall_dd"]=function(){return(dynCall_dd=Module["dynCall_dd"]=Module["asm"]["ka"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["la"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["ma"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["na"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["oa"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["pa"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["qa"]).apply(null,arguments)};var dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=function(){return(dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=Module["asm"]["ra"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["sa"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["ta"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["ua"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["va"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["wa"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["xa"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["ya"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["za"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Aa"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Ba"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ca"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){noExitRuntime=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run(); |
| New file |
| | |
| | | <embed src="live_test.swf" width="1024" height="768"></embed> |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=47376,DYNAMIC_BASE=5290256,DYNAMICTOP_PTR=47344;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEgAVABgAEAAQABAAEAARABMAFgAZABAAEAARABIAFAAWABkAHQAQABAAEgAVABgAGwAfACQAEQARABQAGAAeACMAKQAvABIAEwAWABsAIwAsADYAQQAVABYAGQAfACkANgBGAFgAGAAZAB0AJAAvAEEAWABzABAAEAAQABAAEQASABQAGAAQABAAEAARABIAFAAYABkAEAAQABEAEgAUABgAGQAcABAAEQASABQAGAAZABwAIQARABIAFAAYABkAHAAhACkAEgAUABgAGQAcACEAKQA2ABQAGAAZABwAIQApADYARwAYABkAHAAhACkANgBHAFsAEAAQABAAEAAQABAAEAAQABEAEQASABIAFQAVABgAGAAQABAAEAAQABAAEAAQABAAEQARABIAEgAVABUAGAAYABAAEAAQABAAEAAQABAAEAARABEAEwATABYAFgAZABkAEAAQABAAEAAQABAAEAAQABEAEQATABMAFgAWABkAGQAQABAAEAAQABEAEQASABIAFAAUABYAFgAZABkAHQAdABAAEAAQABAAEQARABIAEgAUABQAFgAWABkAGQAdAB0AEAAQABAAEAASABIAFQAVABgAGAAbABsAHwAfACQAJAAQABAAEAAQABIAEgAVABUAGAAYABsAGwAfAB8AJAAkABEAEQARABEAFAAUABgAGAAeAB4AIwAjACkAKQAvAC8AEQARABEAEQAUABQAGAAYAB4AHgAjACMAKQApAC8ALwASABIAEwATABYAFgAbABsAIwAjACwALAA2ADYAQQBBABIAEgATABMAFgAWABsAGwAjACMALAAsADYANgBBAEEAFQAVABYAFgAZABkAHwAfACkAKQA2ADYARgBGAFgAWAAVABUAFgAWABkAGQAfAB8AKQApADYANgBGAEYAWABYABgAGAAZABkAHQAdACQAJAAvAC8AQQBBAFgAWABzAHMAGAAYABkAGQAdAB0AJAAkAC8ALwBBAEEAWABYAHMAcwAQABAAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABAAEAAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHAFsAWwAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAWwBbABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAVABUAFQAVABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFQAVABUAFQAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABMAEwATABMAFgAWABYAFgAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQATABMAEwATABYAFgAWABYAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAWABYAFgAWABkAGQAZABkAHQAdAB0AHQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAFgAWABYAFgAZABkAGQAZAB0AHQAdAB0AEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAAQABAAEAAQABAAEAAQABAAEgASABIAEgAVABUAFQAVABgAGAAYABgAGwAbABsAGwAfAB8AHwAfACQAJAAkACQAEAAQABAAEAAQABAAEAAQABIAEgASABIAFQAVABUAFQAYABgAGAAYABsAGwAbABsAHwAfAB8AHwAkACQAJAAkABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEQARABEAEQARABEAEQARABQAFAAUABQAGAAYABgAGAAeAB4AHgAeACMAIwAjACMAKQApACkAKQAvAC8ALwAvABEAEQARABEAEQARABEAEQAUABQAFAAUABgAGAAYABgAHgAeAB4AHgAjACMAIwAjACkAKQApACkALwAvAC8ALwARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABIAEgASABIAEwATABMAEwAWABYAFgAWABsAGwAbABsAIwAjACMAIwAsACwALAAsADYANgA2ADYAQQBBAEEAQQASABIAEgASABMAEwATABMAFgAWABYAFgAbABsAGwAbACMAIwAjACMALAAsACwALAA2ADYANgA2AEEAQQBBAEEAEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAVABUAFQAVABYAFgAWABYAGQAZABkAGQAfAB8AHwAfACkAKQApACkANgA2ADYANgBGAEYARgBGAFgAWABYAFgAFQAVABUAFQAWABYAFgAWABkAGQAZABkAHwAfAB8AHwApACkAKQApADYANgA2ADYARgBGAEYARgBYAFgAWABYABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAGAAYABgAGAAZABkAGQAZAB0AHQAdAB0AJAAkACQAJAAvAC8ALwAvAEEAQQBBAEEAWABYAFgAWABzAHMAcwBzABgAGAAYABgAGQAZABkAGQAdAB0AHQAdACQAJAAkACQALwAvAC8ALwBBAEEAQQBBAFgAWABYAFgAcwBzAHMAcwAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2ABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcARwBHABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYARwBHAEcARwAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2AEcARwBHAEcAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcA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AgAAAAIAAAAAAAAAKJcAABMAAAAUAAAAAgAAAAAAAAA4lwAAEwAAABUAAAACAAAAAAAAAGiXAAAOAAAAFgAAABAAAAARAAAABQAAAAAAAABYlwAADgAAABcAAAAQAAAAEQAAAAYAAAAAAAAA6JcAAA4AAAAYAAAAEAAAABEAAAAEAAAAAwAAAAMAAAADAAAASmVzc2ljYQAkcGxheQBvbkRhdGEAJGNsb3NlAGRlY29kZVZpZGVvQnVmZmVyAGlzUGxheWluZwBmbHZNb2RlAGF1ZGlvQnVmZmVyAHZpZGVvQnVmZmVyAGJwcwBidWZmZXJJbmZvAEplc3NpYnVjYQBjbG9zZQBpc1dlYkdMAHdlYmdsOiVzAHRydWUAZmFsc2UALmZsdgBXZWJTb2NrZXQAYmluYXJ5VHlwZQBhcnJheWJ1ZmZlcgBvbm1lc3NhZ2UAd3MATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUATlN0M19fMjIxX19iYXNpY19zdHJpbmdfY29tbW9uSUxiMUVFRQBiaW5kAE4xMGVtc2NyaXB0ZW4zdmFsRQBkYXRhAHVua25vdyB0eXBlOiAlZABzZW5kAFsiX19iYW5kd2lkdGgiXQBlcnJvciB0eXBlIDolZABhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplADhJT0J1ZmZlcgA1U2xpY2UAcGxheUF1ZGlvAGluaXRBdWRpbwBzZXQgYXVkaW8gYnVmZmVyTGVuZ3RoOiVkAHZpZGVvIGluZm8gc2V0IQByZXNldFRpbWVTcGFuAGNvZGVjIG5vdCBzdXBwb3J0OiAlZABwbGF5VmlkZW9CdWZmZXIAdGltZXNwYW4AY2xlYXJUaW1lb3V0AGZyb250AGJhY2sAc2l6ZQA3SmVzc2ljYQBQN0plc3NpY2EAUEs3SmVzc2ljYQBpaQB2AHZpAHZpaWkAdmlpAGlpaQBub3RpZnlPbkRlc3RydWN0aW9uAGltcGxlbWVudABleHRlbmQAOUplc3NpYnVjYQBOMTBlbXNjcmlwdGVuN3dyYXBwZXJJN0plc3NpY2FFRQBOMTBlbXNjcmlwdGVuOGludGVybmFsMTFXcmFwcGVyQmFzZUUAUDlKZXNzaWJ1Y2EAUEs5SmVzc2lidWNhAGlpaWkAYXVkaW8gaW5pdCEgJWQARXJyb3IgaW4gQ3JlYXRlICU4eAoACkVycm9yIGluIHNldHRpbmcgbnVtYmVyIG9mIGNvcmVzAApFcnJvciBpbiBzZXR0aW5nIFByb2Nlc3NvciB0eXBlAGxpYmhldmMgaW5pdAA3TGliaGV2YwAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBFcnJvciBpbiBDb2RlYyBkZWxldGUACkVycm9yIGluIHNldHRpbmcgdGhlIGNvZGVjIGluIGhlYWRlciBkZWNvZGUgbW9kZQAKRXJyb3IgaW4gaGVhZGVyIHZwcyBkZWNvZGUgJXgAdnBzICVkAApFcnJvciBpbiBoZWFkZXIgc3BzIGRlY29kZSAleABzcHMgJWQACkVycm9yIGluIGhlYWRlciBwcHMgZGVjb2RlICV4AHBwcyAlZAAKRXJyb3IgaW4gc2V0dGluZyB0aGUgY29kZWMgaW4gZnJhbWUgZGVjb2RlIG1vZGUAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAaCgEGBwL/BAUB/yhwc19idWZfbWdyLT5hdTRfc3RhdHVzW2lkXSAhPSAyKQBjb21tb25caWhldmNfYnVmX21nci5jAGloZXZjX2J1Zl9tZ3JfZ2V0X25leHRfZnJlZQBpaGV2Y19idWZfbWdyX2NoZWNrX2ZyZWUAKHBzX2J1Zl9tZ3ItPmF1NF9zdGF0dXNbYnVmX2lkXSAhPSAyKQBpaGV2Y19idWZfbWdyX3JlbGVhc2UAaWhldmNfYnVmX21ncl9zZXRfc3RhdHVzACgoYnMgPiAwKSAmJiAoYnMgPD0gMykpAGNvbW1vblxpaGV2Y19kZWJsa19lZGdlX2ZpbHRlci5jAGloZXZjX2RlYmxrX2x1bWFfdmVydAAoZmlsdGVyX2ZsYWdfcCB8fCBmaWx0ZXJfZmxhZ19xKQAoKGJzID4gMCkpAGloZXZjX2RlYmxrX2x1bWFfaG9yegBpaGV2Y19kZWJsa19jaHJvbWFfdmVydABpaGV2Y19kZWJsa19jaHJvbWFfaG9yegAoKG5icl9mbGFncyA9PSAweDExMTg4KSB8fCAobmJyX2ZsYWdzID09IDB4MTMzQ0MpIHx8IChuYnJfZmxhZ3MgPT0gMHgxRkZGRikpAGNvbW1vblxpaGV2Y19pbnRyYV9wcmVkX2ZpbHRlcnMuYwBpaGV2Y19pbnRyYV9wcmVkX2x1bWFfcmVmX3N1YnN0X2FsbF9hdmxibGUAKChudCA9PSA4KSB8fCAobnQgPT0gMTYpIHx8IChudCA9PSAzMikpAEAoIylJZDolc18lcyBWZXI6JXMgUmVsZWFzZWQgYnkgJXMgQnVpbGQ6ICVzIEAgJXMASEVWQ0RFQwBwcm9kdWN0aW9uADA1LjAwAElUVElBTQBKdWwgMzAgMjAxOQAwOTo0NDowMQAocHNfY29kZWMtPnNfcGFyc2UuaTRfZW5kX29mX2ZyYW1lICE9IDApAGRlY29kZXJcaWhldmNkX2RlY29kZS5jAGloZXZjZF9kZWNvZGUAbm9wACgxID09ICgodTRfYnMgJiAzKSA+PiAxKSkAZGVjb2RlclxpaGV2Y2RfZGVibGsuYwBpaGV2Y2RfZGVibGtfY3RiAChQU0xJQ0UgPT0gcHNfc2xpY2VfaGRyLT5pMV9zbGljZV90eXBlIHx8IEJTTElDRSA9PSBwc19zbGljZV9oZHItPmkxX3NsaWNlX3R5cGUpAGRlY29kZXJcaWhldmNkX2ludGVyX3ByZWQuYwBpaGV2Y2RfaW50ZXJfcHJlZF9jdGIAZGVjb2RlclxpaGV2Y2RfY2FiYWMuYwBpaGV2Y2RfY2FiYWNfZGVjb2RlX3Rlcm1pbmF0ZQAobnVtYml0cyA+PSAtMzIpAGRlY29kZXJcaWhldmNkX2JpdHN0cmVhbS5jAGloZXZjZF9iaXRzX3NlZWsAKG51bWJpdHMgPD0gMzIpACgwID09ICh4MCAlIDgpKQBkZWNvZGVyXGloZXZjZF9wYXJzZV9zbGljZS5jAGloZXZjZF9wYXJzZV9jb2RpbmdfdW5pdAAoMCA9PSAoeTAgJSA4KSkAKHU0X3JhbmdlID49IDI1NikAZGVjb2RlclxpaGV2Y2RfcGFyc2VfcmVzaWR1YWwuYwBpaGV2Y2RfcGFyc2VfcmVzaWR1YWxfY29kaW5nACgoY3R4dF9pZHggPj0gMCkgJiYgKGN0eHRfaWR4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKG51bV9jb2VmZiA+IDApAChudW1fY29lZmYgPCAxNykAKChudW1fY29lZmYgLSAxKSA+IDApACgobnVtX2NvZWZmIC0gMSkgPCAxNykAKHJpY2VfcGFyYW0gPiAwKQAocmljZV9wYXJhbSA8IDE3KQAodTRfbnVtYmlucyA8IDE3KQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zAChudW1iaW5zID4gMCkAKG51bWJpbnMgPCAxNykAKChrID49IDApKQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zX2VnawAobnVtb25lcyA+IDApAChudW1vbmVzIDwgMTcpAChjX21heCA+IDApAGloZXZjZF9jYWJhY19kZWNvZGVfYmluc190dW5hcnkAKChjdHh0X2luZGV4ID49IDApICYmIChjdHh0X2luZGV4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKChjdHh0X2luZGV4ICsgKGNfbWF4ID4+IGN0eHRfc2hpZnQpKSA8IElIRVZDX0NBQl9DVFhUX0VORCkAKChiaW5faW5kZXggPj0gMCkgJiYgKGJpbl9pbmRleCA8IElIRVZDX0NBQl9DVFhUX0VORCkpAChzdGF0ZV9tcHMgPCAxMjgpAGloZXZjZF9jYWJhY19kZWNvZGVfYnlwYXNzX2JpbnNfdHVuYXJ5AGloZXZjZF9jYWJhY19kZWNvZGVfYnlwYXNzX2JpbgBpaGV2Y2RfY2FiYWNfZGVjb2RlX2JpbgAocHNfY2FiYWMgIT0gKCh2b2lkKikwKSkAaWhldmNkX2NhYmFjX2luaXQAKHBzX2JpdHN0cm0gIT0gKCh2b2lkKikwKSkAKChxcCA+PSAwKSAmJiAocXAgPCA1MikpACgoY2FiYWNfaW5pdF9pZGMgPj0gMCkgJiYgKGNhYmFjX2luaXRfaWRjIDwgMykpAGloZXZjZF9jYWJhY19yZXNldAAoY250IDwgOCkAZGVjb2RlclxpaGV2Y2RfcGFyc2VfaGVhZGVycy5jAGloZXZjZF9yZWFkX3Jic3BfdHJhaWxpbmdfYml0cwAocHNfY29kZWMtPnNfcGFyc2UuaTRfY3VyX3NsaWNlX2lkeCA9PSAxKQBkZWNvZGVyXGloZXZjZF9wYXJzZV9zbGljZV9oZWFkZXIuYwBpaGV2Y2RfcGFyc2Vfc2xpY2VfaGVhZGVyAChpc191X2ZpcnN0ID09IDEpAGRlY29kZXJcaWhldmNkX2ZtdF9jb252LmMAaWhldmNkX2ZtdF9jb252AHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAHQAaQBqAGwAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=47360;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_create(){return 11}function _pthread_join(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _sched_yield(){return 0}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall54,"D":___syscall6,"E":__embind_create_inheriting_constructor,"F":__embind_register_bool,"G":__embind_register_class,"H":__embind_register_class_class_function,"I":__embind_register_class_function,"J":__embind_register_class_property,"K":__embind_register_emval,"L":__embind_register_float,"M":__embind_register_integer,"N":__embind_register_memory_view,"O":__embind_register_std_string,"P":__embind_register_std_wstring,"Q":__embind_register_void,"R":__emscripten_traverse_stack,"S":__emval_addMethodCaller,"T":__emval_allocateDestructors,"U":__emval_as,"V":__emval_call,"W":__emval_call_method,"X":__emval_call_void_method,"Y":__emval_decref,"Z":__emval_get_global,"_":__emval_get_method_caller,"$":__emval_get_property,"aa":__emval_incref,"ab":__emval_lookupTypes,"ac":__emval_new,"ad":__emval_new_cstring,"ae":__emval_new_object,"af":__emval_register,"ag":__emval_run_destructors,"ah":__emval_set_property,"ai":__emval_take_value,"aj":__formatString,"ak":__reallyNegative,"al":_abort,"am":_clock,"an":_embind_repr,"ao":_emscripten_get_callstack_js,"ap":_emscripten_get_heap_size,"aq":_emscripten_log,"ar":_emscripten_log_js,"as":_emscripten_memcpy_big,"at":_emscripten_resize_heap,"au":_init,"av":_llvm_trap,"aw":_pthread_create,"ax":_pthread_join,"ay":_sched_yield,"az":abortOnCannotGrowMemory,"aA":constNoSmartPtrRawPointerToWireType,"aB":count_emval_handles,"aC":craftEmvalAllocator,"aD":craftInvokerFunction,"aE":createNamedFunction,"aF":downcastPointer,"aG":embind__requireFunction,"aH":embind_init_charCodes,"aI":emval_get_global,"aJ":ensureOverloadTable,"aK":exposePublicSymbol,"aL":extendError,"aM":floatReadValueFromPointer,"aN":flushPendingDeletes,"aO":flush_NO_FILESYSTEM,"aP":genericPointerToWireType,"aQ":getBasestPointer,"aR":getInheritedInstance,"aS":getInheritedInstanceCount,"aT":getLiveInheritedInstances,"aU":getShiftFromSize,"aV":getStringOrSymbol,"aW":getTypeName,"aX":get_first_emval,"aY":heap32VectorToArray,"aZ":init_ClassHandle,"a_":init_RegisteredPointer,"a$":init_embind,"ba":init_emval,"bb":integerReadValueFromPointer,"bc":makeClassHandle,"bd":makeLegalFunctionName,"be":new_,"bf":nonConstNoSmartPtrRawPointerToWireType,"bg":readLatin1String,"bh":registerInheritedInstance,"bi":registerType,"bj":replacePublicSymbol,"bk":requireHandle,"bl":requireRegisteredType,"bm":runDestructor,"bn":runDestructors,"bo":setDelayFunction,"bp":shallowCopyInternalPointer,"bq":simpleReadValueFromPointer,"br":throwBindingError,"bs":throwInstanceAlreadyDeleted,"bt":throwInternalError,"bu":throwUnboundTypeError,"bv":unregisterInheritedInstance,"bw":upcastPointer,"bx":validateThis,"by":whenDependentTypesAreResolved,"bz":tempDoublePtr,"bA":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bz|0,i=env.bA|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=env.bv,Pb=env.bw,Qb=env.bx,Rb=env.by,Sb=47376,Tb=5290256,Ub=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Hh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=Sb;Sb=Sb+32|0;ja=la;o=f+376|0;ka=f+660|0;ia=c[f+356>>2]|0;q=a[ia+10>>0]|0;if((a[ia+16>>0]|0)!=0?(i|0)==2&(c[f+464>>2]|0)==0:0)p=zh(ka,o,(j|0)==0?40:41)|0;else p=0;n=(i<<1)+-1|0;ia=(j|0)!=0;if(ia){g=57;l=75;m=i+-2|0}else{l=(i*3|0)+-6+(i+-1>>2)|0;g=l+42|0;l=l+60|0;m=i+1>>2}h=Fh(ka,o,n,g,m,n)|0;g=Fh(ka,o,n,l,m,n)|0;if((h|0)>3)h=(Ih(ka,o,h+-2>>1)|0)+((h&1|2)<<(h>>>1)+-1)|0;if((g|0)>3)g=(Ih(ka,o,g+-2>>1)|0)+((g&1|2)<<(g>>>1)+-1)|0;do if((c[f+468>>2]|0)==1){if((i|0)!=2?!((i|0)==3&(j|0)==0):0){ha=0;break}ha=(k+-6|0)>>>0<9?2:(k+-22|0)>>>0<9&1}else ha=0;while(0);fa=(ha|0)==2;l=fa?h:g;h=fa?g:h;fa=f+404|0;ga=c[fa>>2]|0;a[ga>>0]=0;a[ga+1>>0]=ha<<1|p;c[fa>>2]=ga+2;ea=(i|0)>2;if(ea){g=c[25120+(i+-3+(ha*3|0)<<2)>>2]|0;da=d[g+((l>>2<<i+-2)+(h>>2))>>0]|0}else{da=0;g=0}h=d[(l<<2&12|h&3)+(25056+(ha<<4))>>0]|0;if(ea)ba=c[25168+(i+-3+(ha*3|0)<<2)>>2]|0;else ba=g;g=(i|0)==3;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;b[ja+16>>1]=0;do if(!ia)if(g){g=(ha|0)==0?91:97;X=124;break}else{g=(i|0)>3?103:82;X=124;break}else{g=g?118:(i|0)>3?121:109;X=140}while(0);Y=i+-2|0;Z=(1<<Y)+-1|0;_=ia?2:0;$=f+664|0;aa=h+-1|0;W=1<<h;V=(i|0)==2;O=(j|0)==0?82:109;P=ia^1;Q=f+388|0;R=f+380|0;S=f+392|0;T=f+384|0;U=f+464|0;N=q<<24>>24!=0;M=da;B=1;l=0;h=g;a:while(1){z=(M|0)!=0;if(ea&z)g=d[ba+M>>0]|0;else g=0;A=g&Z;x=g>>>Y;j=ja+(x<<1)|0;q=e[j>>1]|0;w=(e[ja+(x+1<<1)>>1]|0)>>>A<<1&2|q>>>(A+1|0)&1;L=(M|0)>0;if((M|0)<(da|0)&L){g=c[ka>>2]|0;m=c[$>>2]|0;o=((w|0)==0?78:79)+_+(f+668)|0;n=a[o>>0]|0;k=n&255;if(g>>>0<=255){ca=30;break}if(n<<24>>24<=-1){ca=32;break}n=s(g|0)|0;n=d[(g<<n+-1>>>28&3)+(64+(k>>>1<<2))>>0]<<23-n;K=g-n|0;i=m>>>0<K>>>0;g=m-(i?0:K)|0;n=i?K:n;i=k&1^(i^1)&1;a[o>>0]=a[320+(i|k<<1)>>0]|0;if(n>>>0<256){m=s(n|0)|0;p=m+-1|0;k=c[R>>2]|0;m=c[Q>>2]<<k>>>(33-m|0);k=k+p|0;c[R>>2]=k;if(k>>>0<=32){if((k|0)==32)ca=39}else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;m=o|m;ca=39}if((ca|0)==39){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=k+-32;c[S>>2]=Ok(K|0)|0}n=n<<p;g=m|g<<p}c[ka>>2]=n;c[$>>2]=g;g=1<<A;if(!i){b[j>>1]=(g^65535)&q;g=B}else{o=1;ca=43}}else{o=0;g=1<<A;ca=43}if((ca|0)==43){ca=0;b[j>>1]=g|q;m=(M|0)==(da|0);g=m?W:0;n=m&1;m=m?aa:15;b:do if((m|0)>-1){v=z&P?3:0;u=n;while(1){if((m|0)==0&(o|0)!=0){n=u;break b}if(!V)if(!(m|M)){n=0;h=O}else n=v+(d[36480+(ha<<6)+(w<<4)+m>>0]|0)|0;else n=d[36672+(ha<<4)+m>>0]|0;n=h+n|0;k=c[ka>>2]|0;i=c[$>>2]|0;j=f+668+n|0;p=a[j>>0]|0;q=p&255;if(k>>>0<=255){ca=51;break a}if(n>>>0>=154){ca=53;break a}if(p<<24>>24<=-1){ca=55;break a}n=s(k|0)|0;n=d[(k<<n+-1>>>28&3)+(64+(q>>>1<<2))>>0]<<23-n;r=k-n|0;K=i>>>0<r>>>0;t=q&1^(K^1)&1;n=K?r:n;r=i-(K?0:r)|0;a[j>>0]=a[320+(t|q<<1)>>0]|0;if(n>>>0<256){k=s(n|0)|0;j=k+-1|0;i=c[R>>2]|0;k=c[Q>>2]<<i>>>(33-k|0);i=i+j|0;c[R>>2]=i;if(i>>>0<=32){if((i|0)==32)ca=62}else{p=64-i|0;if(p>>>0<32)p=(c[S>>2]|0)>>>p;else p=0;k=p|k;ca=62}if((ca|0)==62){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=i+-32;c[S>>2]=Ok(K|0)|0}k=k|r<<j;n=n<<j}else k=r;c[ka>>2]=n;c[$>>2]=k;o=(t|0)==0?o:0;g=t<<m|g;n=t+u|0;if((m|0)>0){m=m+-1|0;u=n}else break}}while(0);K=(o|0)!=0&1;y=g|K;K=n+K|0;if(!K)g=B;else{l=l+1|0;I=c[fa>>2]|0;b[I+2>>1]=y;b[I>>1]=x<<8|A;x=(z&P?2:0)|(B|0)==0;B=s(y|0)|0;C=31-B|0;B=y<<B;w=(x<<2)+X|0;t=0;u=B;n=0;g=1;v=C;while(1){if((u|0)<0){if((n|0)>=8){H=t;break}m=w+g|0;o=c[ka>>2]|0;p=c[$>>2]|0;i=f+668+m|0;k=a[i>>0]|0;j=k&255;if(o>>>0<=255){ca=70;break a}if(m>>>0>=154){ca=72;break a}if(k<<24>>24<=-1){ca=74;break a}m=s(o|0)|0;m=d[(o<<m+-1>>>28&3)+(64+(j>>>1<<2))>>0]<<23-m;q=o-m|0;H=p>>>0<q>>>0;r=j&1^(H^1)&1;m=H?q:m;q=p-(H?0:q)|0;a[i>>0]=a[320+(r|j<<1)>>0]|0;if(m>>>0<256){o=s(m|0)|0;i=o+-1|0;p=c[R>>2]|0;o=c[Q>>2]<<p>>>(33-o|0);p=p+i|0;c[R>>2]=p;if(p>>>0<=32){if((p|0)==32)ca=81}else{k=64-p|0;if(k>>>0<32)k=(c[S>>2]|0)>>>k;else k=0;o=k|o;ca=81}if((ca|0)==81){ca=0;c[Q>>2]=c[S>>2];H=c[T>>2]|0;c[T>>2]=H+4;H=c[H>>2]|0;c[R>>2]=p+-32;c[S>>2]=Ok(H|0)|0}o=o|q<<i;m=m<<i}else o=q;c[ka>>2]=m;c[$>>2]=o;m=r<<v|t;n=n+1|0;g=(r|0)==0?g+((g|0)!=0&(g|0)<3&1)|0:0}else m=t;H=u<<1;o=s(H|0)|0;u=H<<o;if(!u){H=m;break}else{t=m;v=v+-1-o|0}}G=Jk(y|0)|0;G=(y|0)==0?31:G;if((C-G|0)>3)u=(c[U>>2]|0)==0;else u=0;if(!H){F=0;t=-1;m=c[ka>>2]|0;i=c[$>>2]|0}else{t=31-(s(H|0)|0)|0;m=(ia?x|4:x)+148|0;n=c[ka>>2]|0;k=c[$>>2]|0;p=f+668+m|0;o=a[p>>0]|0;i=o&255;if(n>>>0<=255){ca=90;break}if(m>>>0>=154){ca=92;break}if(o<<24>>24<=-1){ca=94;break}q=s(n|0)|0;q=d[(n<<q+-1>>>28&3)+(64+(i>>>1<<2))>>0]<<23-q;j=n-q|0;F=k>>>0<j>>>0;r=i&1^(F^1)&1;q=F?j:q;j=k-(F?0:j)|0;a[p>>0]=a[320+(r|i<<1)>>0]|0;if(q>>>0<256){m=s(q|0)|0;k=m+-1|0;o=c[R>>2]|0;m=c[Q>>2]<<o>>>(33-m|0);o=o+k|0;c[R>>2]=o;if(o>>>0<=32){if((o|0)==32)ca=101}else{n=64-o|0;if(n>>>0<32)n=(c[S>>2]|0)>>>n;else n=0;m=n|m;ca=101}if((ca|0)==101){ca=0;c[Q>>2]=c[S>>2];F=c[T>>2]|0;c[T>>2]=F+4;F=c[F>>2]|0;c[R>>2]=o+-32;c[S>>2]=Ok(F|0)|0}n=m|j<<k;m=q<<k}else{n=j;m=q}c[ka>>2]=m;c[$>>2]=n;F=r<<t;i=n}E=N&u;D=m>>>0>255;if(E){if(!D){ca=121;break}k=K+-1|0;if((K|0)<=1){ca=123;break}if((K|0)>=18){ca=125;break}o=c[Q>>2]|0;p=c[R>>2]|0;r=33-K|0;n=o<<p>>>r;p=p+k|0;c[R>>2]=p;if(p>>>0<=32)if((p|0)==32)ca=131;else{j=p;q=o}else{o=64-p|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=131}if((ca|0)==131){ca=0;q=c[S>>2]|0;c[Q>>2]=q;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=p+-32|0;c[R>>2]=j;c[S>>2]=Ok(A|0)|0}p=i;o=0;do{k=k+-1|0;z=n>>>k&1|p<<1;A=z>>>0<m>>>0;p=z-(A?0:m)|0;o=o<<1|(A^1)&1}while((k|0)!=0);c[$>>2]=p;n=o<<r;o=q}else{if(!D){ca=106;break}if((K|0)<=0){ca=108;break}if((K|0)>=17){ca=110;break}o=c[Q>>2]|0;k=c[R>>2]|0;q=32-K|0;n=o<<k>>>q;k=k+K|0;c[R>>2]=k;if(k>>>0<=32)if((k|0)==32)ca=116;else j=k;else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=116}if((ca|0)==116){ca=0;o=c[S>>2]|0;c[Q>>2]=o;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=k+-32|0;c[R>>2]=j;c[S>>2]=Ok(A|0)|0}k=0;p=K;do{p=p+-1|0;z=n>>>p&1|i<<1;A=z>>>0<m>>>0;i=z-(A?0:m)|0;k=k<<1|(A^1)&1}while((p|0)!=0);c[$>>2]=i;n=k<<q;p=i}z=0;k=0;A=0;r=n;y=C;while(1){if((B|0)<0){x=1<<y;x=((x&H|0)==0?1:2)+((x&F|0)!=0&1)|0;if((x|0)==(((z|0)<8?((y|0)==(t|0)?3:2):1)|0)){q=19-A|0;if(!D){ca=141;break a}i=0;while(1){n=j+1|0;c[R>>2]=n;if((n|0)==32){w=c[S>>2]|0;c[Q>>2]=w;u=c[T>>2]|0;c[T>>2]=u+4;u=c[u>>2]|0;c[R>>2]=0;c[S>>2]=Ok(u|0)|0;u=0}else{w=o;u=n}n=o<<j>>>31|p<<1;C=n>>>0<m>>>0;p=n-(C?0:m)|0;c[$>>2]=p;n=i+1|0;if((n|0)==(q|0)|C)break;else{i=n;o=w;j=u}}do if(i>>>0<3){v=i<<A;if(!A){n=v;j=u;o=w;break}if((A|0)<=0){ca=147;break a}if((A|0)>=17){ca=149;break a}n=w<<u>>>(32-A|0);j=u+A|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=155;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=155}if((ca|0)==155){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Ok(C|0)|0}q=A;i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i|v}else{v=i+-3|0;q=v+A|0;v=(1<<v)+2<<A;if(!q){n=v;j=u;o=w;break}if(q>>>0>=17){ca=161;break a}n=w<<u>>>(32-q|0);j=u+q|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=167;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=167}if((ca|0)==167){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Ok(C|0)|0}i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i+v|0}while(0);u=n+x|0}else u=x;n=(r|0)<0?0-u|0:u;i=u+k|0;if(E){n=(y|0)==(G|0)&((i|0)%2|0|0)==1?0-n|0:n;k=i}b[I+4+(z<<1)>>1]=n;q=z+1|0;r=r<<1;i=A+((A|0)<4&(u|0)>(3<<A|0)&1)|0}else{q=z;i=A}C=B<<1;n=s(C|0)|0;B=C<<n;if(!B)break;else{z=q;A=i;y=y+-1-n|0}}c[fa>>2]=(c[fa>>2]|0)+4+(K<<1)}}if(L){M=M+-1|0;B=g}else{ca=178;break}}switch(ca|0){case 30:{J(42257,42275,520,42307);break}case 32:{J(42873,42275,520,42307);break}case 51:{J(42257,42275,601,42307);break}case 53:{J(42336,42275,601,42307);break}case 55:{J(42873,42275,601,42307);break}case 70:{J(42257,42275,689,42307);break}case 72:{J(42336,42275,689,42307);break}case 74:{J(42873,42275,689,42307);break}case 90:{J(42257,42275,745,42307);break}case 92:{J(42336,42275,745,42307);break}case 94:{J(42873,42275,745,42307);break}case 106:{J(42257,42275,756,42307);break}case 108:{J(42389,42275,756,42307);break}case 110:{J(42405,42275,756,42307);break}case 121:{J(42257,42275,762,42307);break}case 123:{J(42422,42275,762,42307);break}case 125:{J(42444,42275,762,42307);break}case 141:{J(42257,42275,808,42307);break}case 147:{J(42467,42275,827,42307);break}case 149:{J(42484,42275,827,42307);break}case 161:{J(42502,42275,843,42307);break}case 178:{a[ga>>0]=l;Sb=la;return 0}}return 0}function Ih(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;j=a+4|0;a=c[j>>2]|0;if(k>>>0<=255)J(42257,42041,478,42520);if((d|0)<=0)J(42552,42041,479,42520);if((d|0)>=17)J(42566,42041,482,42520);i=b+12|0;g=b+4|0;h=c[g>>2]|0;f=c[i>>2]<<h>>>(32-d|0);h=h+d|0;c[g>>2]=h;if(h>>>0<=32){if((h|0)==32)e=12}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;f=e|f;e=12}if((e|0)==12){e=b+16|0;c[i>>2]=c[e>>2];i=b+8|0;b=c[i>>2]|0;c[i>>2]=b+4;b=c[b>>2]|0;c[g>>2]=h+-32;c[e>>2]=Ok(b|0)|0}e=0;do{d=d+-1|0;i=f>>>d&1|a<<1;b=i>>>0<k>>>0;a=i-(b?0:k)|0;e=e<<1|(b^1)&1}while((d|0)!=0);c[j>>2]=a;return e|0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+4|0;e=c[g>>2]|0;d=c[f>>2]<<e>>>(32-b|0);e=e+b|0;c[g>>2]=e;if(e>>>0<=32){if((e|0)!=32){g=d;return g|0}}else{b=64-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;d=b|d}b=a+16|0;c[f>>2]=c[b>>2];a=a+8|0;f=c[a>>2]|0;c[a>>2]=f+4;f=c[f>>2]|0;c[g>>2]=e+-32;c[b>>2]=Ok(f|0)|0;g=d;return g|0}function Kh(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=a+4|0;g=c[m>>2]|0;i=c[a>>2]|0;if((d|0)<=0)J(42657,42041,614,42891);if(i>>>0<=255)J(42257,42041,615,42891);l=b+12|0;k=b+4|0;j=c[k>>2]|0;f=32-d|0;e=c[l>>2]<<j>>>f;if(j>>>0>f>>>0){a=64-d-j|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;a=a|e}else a=e;h=0;a=a<<f;while(1){f=a>>>31|g<<1;e=f>>>0<i>>>0;g=f-(e?0:i)|0;e=e^1;f=h+1|0;if(!((f|0)<(d|0)&e))break;else{h=f;a=a<<1}}e=e&1;a=f+j|0;c[k>>2]=a;if(a>>>0<=31){b=h+e|0;c[m>>2]=g;return b|0}d=b+16|0;c[l>>2]=c[d>>2];l=b+8|0;b=c[l>>2]|0;c[l>>2]=b+4;b=c[b>>2]|0;c[k>>2]=a+-32;c[d>>2]=Ok(b|0)|0;b=h+e|0;c[m>>2]=g;return b|0}function Lh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;j=c[e+360>>2]|0;i=c[e+456>>2]|0;C=(c[e+624>>2]|0)+(i<<1)|0;B=c[e+460>>2]|0;D=(c[e+628>>2]|0)+(B<<1)|0;if(!B)l=0;else l=(1<<(((g|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h+-8|0)/8|0)|0)+((g|0)/64|0)>>0]|0)!=0&1;do if(!i){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0){B=1;break}if(!(c[e+324>>2]|0))B=1;else k=7}else k=7;while(0);if((k|0)==7){B=g+-8|0;B=(1<<(((B|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h|0)/8|0)|0)+((B|0)/64|0)>>0]|0)==0}t=1<<f;u=(t|0)/8|0;v=e+472|0;w=(c[v>>2]|0)==3;x=w?2:1;y=E+4|0;z=E+8|0;A=e+12192|0;s=0;i=l;while(1){o=(i|0)==0;p=D+(r(s,u)|0)|0;q=s<<1;if(B)i=1;else i=d[p>>0]|0;if(o)g=1;else g=d[C>>0]|0;do if((i|0)==(g|0))if(i>>>0<2){c[E>>2]=0;c[y>>2]=1;f=26;i=0;g=1;break}else{c[E>>2]=i;g=(i+29&31)+2|0;c[y>>2]=g;f=((i+-1|0)%32|0)+2|0;break}else{c[E>>2]=i;c[y>>2]=g;if((i|0)!=0&(g|0)!=0)f=0;else f=(i|0)!=1&(g|0)!=1?1:26}while(0);c[z>>2]=f;if((c[e+492+(q<<2)>>2]|0)==1)i=c[E+(c[e+508+(q<<2)>>2]<<2)>>2]|0;else{if((i|0)>(g|0)){c[y>>2]=i;c[E>>2]=g;h=g}else{h=i;i=g}if((h|0)>(f|0)){c[z>>2]=h;c[E>>2]=f;j=h;g=f}else{j=f;g=h}if((i|0)>(j|0)){c[z>>2]=i;c[y>>2]=j;h=j}else{h=i;i=j}n=c[e+524+(q<<2)>>2]|0;n=n+((n|0)>=(g|0)&1)|0;n=n+((n|0)>=(h|0)&1)|0;i=n+((n|0)>=(i|0)&1)|0}c[e+476+(q<<2)>>2]=i;n=i&255;m=((t|0)/(x|0)|0|0)/4|0;bc[c[A>>2]&15](p,n,m);bc[c[A>>2]&15](C,n,m);if(w){l=1;do{i=a[p>>0]|0;g=i&255;n=r(l,u)|0;if(o)h=1;else h=d[C+n>>0]|0;do if((h|0)==(g|0))if((i&255)<2){c[E>>2]=0;c[y>>2]=1;i=26;g=0;h=1;break}else{c[E>>2]=g;h=(i+29&31)+2&255;c[y>>2]=h;i=((g+-1|0)%32|0)+2|0;break}else{c[E>>2]=g;c[y>>2]=h;if(i<<24>>24!=0&(h|0)!=0)i=0;else i=i<<24>>24!=1&(h|0)!=1?1:26}while(0);c[z>>2]=i;k=l+q|0;if((c[e+492+(k<<2)>>2]|0)==1)i=c[E+(c[e+508+(k<<2)>>2]<<2)>>2]|0;else{if((g|0)>(h|0)){c[y>>2]=g;c[E>>2]=h;j=h}else{j=g;g=h}if((j|0)>(i|0)){c[z>>2]=j;c[E>>2]=i;f=j}else{f=i;i=j}if((g|0)>(f|0)){c[z>>2]=g;c[y>>2]=f;h=f}else{h=g;g=f}f=c[e+524+(k<<2)>>2]|0;i=f+((f|0)>=(i|0)&1)|0;i=i+((i|0)>=(h|0)&1)|0;i=i+((i|0)>=(g|0)&1)|0}c[e+476+(k<<2)>>2]=i;k=i&255;bc[c[A>>2]&15](p,k,m);bc[c[A>>2]&15](C+n|0,k,m);l=l+1|0}while(l>>>0<x>>>0)}s=s+1|0;if(s>>>0>=x>>>0)break;else i=1}if(c[v>>2]|0){Sb=F;return}E=c[e+476>>2]|0;c[e+480>>2]=E;c[e+484>>2]=E;c[e+488>>2]=E;Sb=F;return}function Mh(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;m=d+376|0;n=d+660|0;o=c[d+648>>2]|0;do if(!(a[o+76>>0]|0)){l=c[e+12>>2]|0;if(((l>>>6&60)+(l>>>10&60)|0)!=4?zh(n,m,(c[d+976>>2]|0)+20|0)|0:0){f=2;p=4;break}f=zh(n,m,24)|0;g=e+8|0;a[g>>0]=0;h=e+9|0;a[h>>0]=0;if((f|0)==1)f=1;else{k=g;l=h;p=6}}else{f=0;p=4}while(0);if((p|0)==4){k=e+8|0;a[k>>0]=0;l=e+9|0;a[l>>0]=0;p=6}if((p|0)==6){h=a[o+160>>0]|0;i=h<<24>>24;if(h<<24>>24>1){g=zh(n,m,25)|0;if(h<<24>>24!=2&(g|0)!=0){j=zh(n,m,26)|0;if(h<<24>>24>3&(j|0)!=0)g=(Kh(n,m,i+-3|0)|0)+2|0;else g=j+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=11}}else{g=0;p=11}if((p|0)==11)g=g&255;a[k>>0]=g;Nh(d,e)|0;h=zh(n,m,29)|0;g=e+12|0;h=c[g>>2]&-8388609|h<<23&8388608;c[g>>2]=h;if(!f){o=0;p=g;n=h;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}else h=l}i=a[o+161>>0]|0;j=i<<24>>24;if(i<<24>>24>1){g=zh(n,m,25)|0;if(i<<24>>24!=2&(g|0)!=0){k=zh(n,m,26)|0;if(i<<24>>24>3&(k|0)!=0)g=(Kh(n,m,j+-3|0)|0)+2|0;else g=k+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=18}}else{g=0;p=18}if((p|0)==18)g=g&255;a[h>>0]=g;if((f|0)==2&(a[o+162>>0]|0)!=0){b[e+4>>1]=0;b[e+6>>1]=0}else Nh(d,e+4|0)|0;n=zh(n,m,29)|0;p=e+12|0;n=c[p>>2]&-16777217|n<<24&16777216;c[p>>2]=n;o=f;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}function Nh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+376|0;h=a+660|0;e=zh(h,i,27)|0;a=zh(h,i,27)|0;e=(e|0)!=0;if(e)d=zh(h,i,28)|0;else d=0;g=(a|0)!=0;if(g)f=zh(h,i,28)|0;else f=0;if(e){if(!d)a=1;else a=(Gh(h,i,1)|0)+2|0;e=(Ch(h,i)|0)==0;a=(e?a:0-a|0)&65535}else a=0;b[c>>1]=a;if(!g){h=0;i=c+2|0;b[i>>1]=h;return 0}if(!f)a=1;else a=(Gh(h,i,1)|0)+2|0;h=(Ch(h,i)|0)==0;h=(h?a:0-a|0)&65535;i=c+2|0;b[i>>1]=h;return 0}function Oh(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,s=0;p=c[d+360>>2]|0;o=a[(a[p+14>>0]|0)+-1+(p+25)>>0]|0;s=o<<24>>24;h=s+1|0;c[d+232>>2]=h;g=c[d+236>>2]|0;h=h*40980|0;c[d+228>>2]=g;i=b[p>>1]|0;q=p+2|0;j=b[q>>1]|0;f=r((j<<16>>16)+63&-64,(i<<16>>16)+63&-64)|0;e=(f|0)/16|0;f=(f|0)/256|0;if(o<<24>>24<0){d=0;return d|0}n=-4-e+(r(f,-4)|0)+(r(e,-16)|0)-((f<<1)+3&-4)|0;o=d+224|0;l=0;k=(c[d+240>>2]|0)-h|0;m=g;h=g+h|0;f=i;e=j;while(1){e=r((e<<16>>16)+63&-64,(f<<16>>16)+63&-64)|0;g=(e|0)/16|0;e=(e|0)/256|0;f=n+k|0;if((f|0)<0){f=4;break}c[m>>2]=h;k=h+((e<<2)+4)|0;c[m+8>>2]=k;k=k+g|0;c[m+12>>2]=k;e=k+((e<<1)+3&-4)|0;c[m+4>>2]=e;if(Zd(c[o>>2]|0,m,l)|0){f=6;break}if((l|0)>=(s|0)){e=0;f=9;break}l=l+1|0;k=f;m=m+40980|0;h=e+(g<<4)|0;f=b[p>>1]|0;e=b[q>>1]|0}if((f|0)==4){c[d+652>>2]=981;d=981;return d|0}else if((f|0)==6){c[d+652>>2]=983;d=983;return d|0}else if((f|0)==9)return e|0;return 0}function Ph(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=c[d+360>>2]|0;e=(a[m+14>>0]|0)+-1|0;f=a[m+25+e>>0]|0;if((c[d+11636>>2]|0)!=1)f=(a[m+32+e>>0]|0)+f|0;if(c[d+56>>2]|0){g=d+244|0;h=d+20|0;e=0;while(1){i=ce(c[g>>2]|0,e)|0;if(!i){y=0;e=23;break}j=c[i>>2]|0;if(!j){y=0;e=23;break}k=i+4|0;l=c[k>>2]|0;if(!l){y=0;e=23;break}y=c[h>>2]|0;c[i>>2]=j+((y*80|0)+80);c[k>>2]=l+((y*40|0)+80);e=e+1|0;if(e>>>0>=64){y=0;e=23;break}}if((e|0)==23)return y|0}x=d+20|0;o=r((b[m+2>>1]|0)+160|0,c[x>>2]|0)|0;p=(o|0)/2|0;if((f|0)<0){d=0;return d|0}q=p+o|0;s=d+4|0;t=d+244|0;k=0;l=c[d+11628>>2]|0;m=c[d+248>>2]|0;n=c[d+256>>2]|0;while(1){n=n-q|0;if((n|0)<0){e=7;break}u=c[x>>2]|0;e=l+(u*80|0)+80|0;c[m>>2]=e;w=l+o|0;v=m+4|0;c[v>>2]=w+(u*40|0)+80;l=w+p|0;w=c[d>>2]|0;h=c[s>>2]|0;if((h|0)>0){g=0;while(1){a[e+-1>>0]=0;a[e+w>>0]=0;g=g+1|0;if((g|0)==(h|0))break;else e=e+u|0}e=c[m>>2]|0}j=0-u|0;i=w+2|0;Rk(e+j+-1|0,0,i|0)|0;Rk(e+(r(h,u)|0)+-1|0,0,i|0)|0;i=h>>1;if((h|0)>1){h=w+1|0;e=c[v>>2]|0;g=0;while(1){a[e+-1>>0]=0;a[e+-2>>0]=0;a[e+w>>0]=0;a[e+h>>0]=0;g=g+1|0;if((g|0)>=(i|0))break;else e=e+u|0}}v=c[v>>2]|0;w=w+4|0;Rk(v+j+-2|0,0,w|0)|0;Rk(v+(r(i,u)|0)+-2|0,0,w|0)|0;if(Zd(c[t>>2]|0,m,k)|0){e=16;break}if((k|0)>=(f|0)){y=0;e=23;break}else{k=k+1|0;m=m+8476|0}}if((e|0)==7){c[d+652>>2]=982;d=982;return d|0}else if((e|0)==16){c[d+652>>2]=983;d=983;return d|0}else if((e|0)==23)return y|0;return 0}function Qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;if(!f){f=0;return f|0}e=0;while(1){d=c[a+264+(e<<2)>>2]|0;if(d|0?(c[d+16>>2]|0)==(b|0):0){e=6;break}e=e+1|0;if(e>>>0>=f>>>0){e=6;break}}if((e|0)==6)return d|0;return 0}function Rh(a){a=a|0;var b=0,d=0;b=a+16|0;if(eg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;b=(fg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Sh(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;t=Sb;Sb=Sb+16|0;f=t;o=d+136|0;if(Wg(c[o>>2]|0,f,16,1)|0){Sb=t;return}p=f+8|0;q=d+140|0;r=f+4|0;s=d+4|0;g=f+6|0;h=d+8|0;i=f+10|0;j=d+32|0;k=f+12|0;l=d+276|0;m=d+44|0;n=d+272|0;do{c[q>>2]=b[p>>1];c[s>>2]=b[r>>1];e=b[g>>1]|0;c[h>>2]=e;c[j>>2]=b[i>>1];switch(c[f>>2]|0){case 0:{Mg(d,c[k>>2]|0);Xg(d)|0;break}case 1:{if(!(c[l>>2]|0)){Mg(d,0);e=b[g>>1]|0}w=c[d>>2]|0;v=c[n>>2]|0;u=a[(c[m>>2]|0)+4116>>0]|0;x=1<<u;u=e<<u;e=(c[w+12>>2]|0)-u|0;e=(x|0)<(e|0)?x:e;Og(w,d,c[v+4>>2]|0,c[v+8>>2]|0,c[v+12>>2]|0,u,(e|0)>0?e:0)|0;break}default:{}}}while(!(Wg(c[o>>2]|0,f,16,1)|0));Sb=t;return}function Th(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;F=f+376|0;W=a[g>>0]|0;X=f+128|0;if((c[X>>2]|0)==1){X=0;return X|0}o=(W+-19&255)<2;l=Jh(F,1)|0;n=(W&-8)<<24>>24==16;if(n)m=Jh(F,1)|0;else m=0;C=fi(F)|0;C=(C|0)>0?C:0;C=(C|0)<63?C:63;D=c[f+640>>2]|0;H=D+(C*68|0)|0;if(!(a[D+(C*68|0)+67>>0]|0)){h=c[f+300>>2]|0;j=h;a:do if(!(a[h+67>>0]|0)){while(1){i=h+68|0;if((i-j|0)>4284){h=980;break}if(!(a[h+135>>0]|0))h=i;else{h=i;break a}}return h|0}while(0);Xh(f,C,a[h+8>>0]|0)}R=a[D+(C*68|0)+9>>0]|0;S=c[f+636>>2]|0;z=S+(R*8976|0)|0;A=f+136|0;if(!(c[A>>2]|0)){h=c[f+84>>2]|0;if(!((l|0)!=0&(h|0)!=0))if(!l)I=18;else I=17;else I=14}else{h=c[f+84>>2]|0;if(l)if(!h){c[X>>2]=0;I=17}else I=14;else I=18}do if((I|0)==14){c[X>>2]=1;W=f+344|0;X=c[W>>2]|0;X=(X|0)<1?0:X+-1|0;c[W>>2]=X;W=c[f+644>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}else if((I|0)==17){V=f+344|0;c[V>>2]=0;h=0;Q=1}else if((I|0)==18){i=f+344|0;if(!h){c[i>>2]=1;V=i;h=1;Q=0;break}else{V=i;h=c[i>>2]|0;Q=0;break}}while(0);P=f+644|0;U=c[P>>2]|0;T=h&255;y=U+(T*1272|0)|0;if(Q|(a[D+(C*68|0)+26>>0]|0)==0)h=0;else{h=Jh(F,1)|0;if(h|0?(k=c[V>>2]|0,(k|0)>0):0)mi(f,k&255,k+255&255);h=h&255}a[U+(T*1272|0)+75>>0]=h;x=U+(T*1272|0)+1260|0;a[x>>0]=W;w=U+(T*1272|0)+73|0;N=l&255;O=U+(T*1272|0)+72|0;a[O>>0]=N;a[U+(T*1272|0)+74>>0]=n?m&255:1;a[w>>0]=C;do if(!(N<<24>>24)){N=S+(R*8976|0)+4128|0;h=Jh(F,32-(s((c[N>>2]|0)+-1|0)|0)|0)|0;if((h|0)<1?1:(h|0)>=(c[N>>2]|0)){X=987;return X|0}else{v=U+(T*1272|0)+75|0;K=h;N=v;h=a[v>>0]|0;break}}else{K=0;N=U+(T*1272|0)+75|0}while(0);do if(!(h<<24>>24)){j=U+(T*1272|0)+77|0;a[j>>0]=1;k=U+(T*1272|0)+80|0;c[k>>2]=0;q=U+(T*1272|0)+90|0;a[q>>0]=0;t=U+(T*1272|0)+91|0;a[t>>0]=0;i=D+(C*68|0)+42|0;if((a[i>>0]|0)>0){h=0;do{Jh(F,1)|0;h=h+1|0}while((h|0)<(a[i>>0]|0))}u=(fi(F)|0)&255;v=U+(T*1272|0)+76|0;u=(a[x>>0]&-8)<<24>>24==16?2:u;a[v>>0]=u;if((u&255)>2){X=987;return X|0}if(a[D+(C*68|0)+24>>0]|0)a[j>>0]=Jh(F,1)|0;h=U+(T*1272|0)+78|0;a[h>>0]=0;if((a[S+(R*8976|0)+18>>0]|0)==1)a[h>>0]=Jh(F,2)|0;u=U+(T*1272|0)+158|0;a[u>>0]=0;if(!o){p=S+(R*8976|0)+23|0;c[k>>2]=Jh(F,a[p>>0]|0)|0;o=Jh(F,1)|0;a[U+(T*1272|0)+88>>0]=o;if((o&255|0)==1){h=U+(T*1272|0)+89|0;a[h>>0]=0;i=a[S+(R*8976|0)+60>>0]|0;if(i<<24>>24>1){o=Jh(F,32-(s((i<<24>>24)+-1|0)|0)|0)|0;a[h>>0]=o;h=o}else h=0;m=h<<24>>24;o=S+(R*8976|0)+4488+(m*70|0)+35|0;l=a[S+(R*8976|0)+4488+(m*70|0)+34>>0]|0;m=a[S+(R*8976|0)+4488+(m*70|0)+33>>0]|0}else{o=a[S+(R*8976|0)+60>>0]|0;ji(F,S+(R*8976|0)+4488|0,o,o,U+(T*1272|0)+188|0)|0;o=U+(T*1272|0)+223|0;l=a[U+(T*1272|0)+222>>0]|0;m=a[U+(T*1272|0)+221>>0]|0}if(a[S+(R*8976|0)+61>>0]|0){n=S+(R*8976|0)+62|0;if((a[n>>0]|0)>0){j=(fi(F)|0)<<24;k=j>>24;h=16-m-l|0;a[q>>0]=(k|0)>(h|0)?h:(j|0)<0?0:k}else h=16-m-l|0;j=(fi(F)|0)<<24;k=j>>24;i=a[q>>0]|0;h=h-i|0;k=(k|0)>(h|0)?h:(j|0)<0?0:k;a[t>>0]=k;if(((k<<24>>24)+i|0)>0){k=0;do{if((k|0)<(i|0)){h=a[n>>0]|0;if(h<<24>>24>1)h=Jh(F,32-(s((h<<24>>24)+-1|0)|0)|0)|0;else h=0;c[U+(T*1272|0)+4+(k<<2)>>2]=e[S+(R*8976|0)+64+(h<<1)>>1];h=a[S+(R*8976|0)+128+h>>0]|0}else{c[U+(T*1272|0)+4+(k<<2)>>2]=Jh(F,a[p>>0]|0)|0;h=(Jh(F,1)|0)&255}a[U+(T*1272|0)+108+k>>0]=h;j=(Jh(F,1)|0)&255;a[U+(T*1272|0)+124+k>>0]=j;h=U+(T*1272|0)+140+k|0;a[h>>0]=0;if(!(j<<24>>24))j=0;else{j=fi(F)|0;a[h>>0]=j}i=a[q>>0]|0;if(!((k|0)==0|(k|0)==(i|0)))a[h>>0]=j+(d[k+-1+(U+(T*1272|0)+140)>>0]|0);k=k+1|0}while((k|0)<(i+(a[t>>0]|0)|0))}}j=l+m|0;if((j|0)>0){h=0;i=0;do{h=h+((a[o+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)!=(j|0))}else h=0;j=(a[t>>0]|0)+(a[q>>0]|0)|0;if((j|0)>0){i=0;do{h=h+((a[U+(T*1272|0)+108+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)<(j|0))}if(a[S+(R*8976|0)+160>>0]|0)a[u>>0]=Jh(F,1)|0}else h=0;p=U+(T*1272|0)+156|0;a[p>>0]=0;q=U+(T*1272|0)+157|0;a[q>>0]=0;if(a[S+(R*8976|0)+57>>0]|0){a[p>>0]=Jh(F,1)|0;a[q>>0]=Jh(F,1)|0}m=U+(T*1272|0)+166|0;a[m>>0]=1;j=U+(T*1272|0)+163|0;a[j>>0]=0;k=U+(T*1272|0)+160|0;a[k>>0]=0;l=U+(T*1272|0)+161|0;a[l>>0]=0;n=U+(T*1272|0)+168|0;a[n>>0]=0;o=U+(T*1272|0)+169|0;a[o>>0]=0;do if((d[v>>0]|0)<2){t=(Jh(F,1)|0)&255;a[U+(T*1272|0)+159>>0]=t;if(!(t<<24>>24)){i=a[D+(C*68|0)+12>>0]|0;a[k>>0]=i;if(!(a[v>>0]|0))a[l>>0]=a[D+(C*68|0)+13>>0]|0}else{i=(fi(F)|0)+1&255;a[k>>0]=i;if(!(a[v>>0]|0)){a[l>>0]=(fi(F)|0)+1;i=a[k>>0]|0}}t=i<<24>>24>0?i:0;a[k>>0]=t<<24>>24<15?t:15;t=a[l>>0]|0;t=t<<24>>24>0?t:0;a[l>>0]=t<<24>>24<15?t:15;if(!h){X=987;return X|0}if((h|0)>1?(a[D+(C*68|0)+41>>0]|0)!=0:0)ni(F,y,h)|0;else{a[U+(T*1272|0)+708>>0]=0;a[U+(T*1272|0)+725>>0]=0}if(!(a[v>>0]|0))a[U+(T*1272|0)+162>>0]=Jh(F,1)|0;a[j>>0]=0;if(a[D+(C*68|0)+11>>0]|0)a[j>>0]=Jh(F,1)|0;h=U+(T*1272|0)+164|0;a[h>>0]=1;i=U+(T*1272|0)+165|0;a[i>>0]=0;b:do if(a[u>>0]|0){do if(!(a[v>>0]|0)){u=(Jh(F,1)|0)&255;a[h>>0]=u;if(u<<24>>24){I=88;break}if((a[l>>0]|0)<=1)break b}else I=88;while(0);if((I|0)==88?(a[k>>0]|0)<=1:0)break;a[i>>0]=fi(F)|0}while(0);I=a[i>>0]|0;I=I<<24>>24>0?I:0;a[i>>0]=I<<24>>24<15?I:15;if((a[D+(C*68|0)+22>>0]|0)!=0?(a[v>>0]|0)==1:0)I=95;else I=93;do if((I|0)==93){if(!(a[D+(C*68|0)+23>>0]|0))break;if(!(a[v>>0]|0))I=95}while(0);if((I|0)==95)oi(F,z,H,y)|0;h=5-(fi(F)|0)&255;a[m>>0]=h;if(h<<24>>24<=1){h=1;I=98;break}if(h<<24>>24<5)I=98;else h=5}else{h=1;I=98}while(0);a[m>>0]=h;a[U+(T*1272|0)+167>>0]=gi(F)|0;if(a[D+(C*68|0)+21>>0]|0){a[n>>0]=gi(F)|0;a[o>>0]=gi(F)|0}i=U+(T*1272|0)+170|0;a[i>>0]=0;h=a[D+(C*68|0)+37>>0]|0;j=U+(T*1272|0)+171|0;a[j>>0]=h;k=U+(T*1272|0)+172|0;a[k>>0]=a[D+(C*68|0)+38>>0]|0;l=U+(T*1272|0)+173|0;a[l>>0]=a[D+(C*68|0)+39>>0]|0;h=h<<24>>24;do if(((a[D+(C*68|0)+35>>0]|0)!=0?(a[D+(C*68|0)+36>>0]|0)!=0:0)?(I=(Jh(F,1)|0)&255,a[i>>0]=I,I<<24>>24!=0):0){h=Jh(F,1)|0;I=h&255;a[j>>0]=I;h=h<<24>>24;if(I<<24>>24)break;a[k>>0]=gi(F)|0;a[l>>0]=gi(F)|0}while(0);I=a[D+(C*68|0)+34>>0]|0;i=U+(T*1272|0)+174|0;a[i>>0]=I;if(I<<24>>24){if((a[p>>0]|0)==0?(h|0)!=0&(a[q>>0]|0)==0:0)break;a[i>>0]=Jh(F,1)|0}}while(0);u=f+84|0;h=(c[u>>2]|0)==0;if(Q)if(h)I=115;else I=116;else if(!h){h=c[f+304>>2]|0;if((a[h+73>>0]|0)!=(a[w>>0]|0)){X=987;return X|0}if((c[h+80>>2]|0)==(c[U+(T*1272|0)+80>>2]|0))I=116;else{X=987;return X|0}}else I=115;if((I|0)==115){j=f+1448|0;h=pi(f,g,a[S+(R*8976|0)+23>>0]|0,c[U+(T*1272|0)+80>>2]|0)|0}else if((I|0)==116){h=f+1448|0;j=h;h=c[h>>2]|0}t=U+(T*1272|0)+84|0;c[t>>2]=h;i=(c[j>>2]|0)==(h|0);do if(Q)if(i){X=987;return X|0}else{c[j>>2]=h;i=0;break}else if(i){h=c[f+984>>2]|0;if((K|0)>(h|0)){if(!(c[u>>2]|0))h=987;else{i=1;break}return h|0}if((K|0)<(h|0)){X=987;return X|0}else{c[X>>2]=0;i=0;break}}else{if(c[u>>2]|0){c[X>>2]=1;X=c[V>>2]|0;X=(X|0)<1?0:X+-1|0;c[V>>2]=X;W=c[P>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}if(!(a[N>>0]|0)){c[j>>2]=h;i=0;break}else{X=987;return X|0}}while(0);k=U+(T*1272|0)+176|0;c[k>>2]=0;h=D+(C*68|0)+27|0;if(!((a[h>>0]|0)==0?!(a[D+(C*68|0)+28>>0]|0):0)){j=fi(F)|0;c[k>>2]=j;do if(a[h>>0]|0){h=a[D+(C*68|0)+30>>0]|0;if(!(a[D+(C*68|0)+28>>0]|0)){h=r(a[D+(C*68|0)+31>>0]|0,h)|0;break}else{h=r((b[S+(R*8976|0)+4120>>1]|0)+-1|0,h)|0;break}}else h=(b[S+(R*8976|0)+4120>>1]|0)+-1|0;while(0);g=(j|0)>(h|0)?h:(j|0)>0?j:0;c[k>>2]=g;if(((g|0)>0?(B=(fi(F)|0)+1|0,E=U+(T*1272|0)+180|0,a[E>>0]=B,(c[k>>2]|0)>0):0)?(Jh(F,B<<24>>24)|0,(c[k>>2]|0)>1):0){h=1;do{Jh(F,a[E>>0]|0)|0;h=h+1|0}while((h|0)<(c[k>>2]|0))}}if(a[D+(C*68|0)+44>>0]|0?(E=fi(F)|0,G=U+(T*1272|0)+68|0,b[G>>1]=E,(E<<16|0)>0):0){h=0;do{Jh(F,8)|0;h=h+1|0}while((h|0)<(b[G>>1]|0))}xh(F);if((c[f+384>>2]|0)>>>0>(c[f+396>>2]|0)>>>0){X=979;return X|0}q=f+276|0;p=c[q>>2]|0;if(((a[x>>0]|0)+-16&255)>=5?(c[A>>2]|0)!=0:0){h=qi(f,H,z,y)|0;if(h|0){X=h;return X|0}}else{l=f+244|0;m=f+228|0;n=f+232|0;o=f+224|0;k=0;do{h=c[p+4+(k<<3)>>2]|0;c:do if(h|0?(L=h+8|0,Fe(c[q>>2]|0,c[l>>2]|0,c[L>>2]|0),M=c[n>>2]|0,(M|0)>0):0){j=c[m>>2]|0;h=0;while(1){if(j|0?(c[j+16>>2]|0)==(c[L>>2]|0):0)break;h=h+1|0;if((h|0)<(M|0))j=j+40980|0;else break c}ae(c[o>>2]|0,h,2)|0}while(0);k=k+1|0}while((k|0)!=64);c[U+(T*1272|0)+876>>2]=0;c[U+(T*1272|0)+880>>2]=0;c[U+(T*1272|0)+1068>>2]=0;c[U+(T*1272|0)+1072>>2]=0;c[U+(T*1272|0)+888>>2]=0;c[U+(T*1272|0)+892>>2]=0;c[U+(T*1272|0)+1080>>2]=0;c[U+(T*1272|0)+1084>>2]=0;c[U+(T*1272|0)+900>>2]=0;c[U+(T*1272|0)+904>>2]=0;c[U+(T*1272|0)+1092>>2]=0;c[U+(T*1272|0)+1096>>2]=0;c[U+(T*1272|0)+912>>2]=0;c[U+(T*1272|0)+916>>2]=0;c[U+(T*1272|0)+1104>>2]=0;c[U+(T*1272|0)+1108>>2]=0;c[U+(T*1272|0)+924>>2]=0;c[U+(T*1272|0)+928>>2]=0;c[U+(T*1272|0)+1116>>2]=0;c[U+(T*1272|0)+1120>>2]=0;c[U+(T*1272|0)+936>>2]=0;c[U+(T*1272|0)+940>>2]=0;c[U+(T*1272|0)+1128>>2]=0;c[U+(T*1272|0)+1132>>2]=0;c[U+(T*1272|0)+948>>2]=0;c[U+(T*1272|0)+952>>2]=0;c[U+(T*1272|0)+1140>>2]=0;c[U+(T*1272|0)+1144>>2]=0;c[U+(T*1272|0)+960>>2]=0;c[U+(T*1272|0)+964>>2]=0;c[U+(T*1272|0)+1152>>2]=0;c[U+(T*1272|0)+1156>>2]=0;c[U+(T*1272|0)+972>>2]=0;c[U+(T*1272|0)+976>>2]=0;c[U+(T*1272|0)+1164>>2]=0;c[U+(T*1272|0)+1168>>2]=0;c[U+(T*1272|0)+984>>2]=0;c[U+(T*1272|0)+988>>2]=0;c[U+(T*1272|0)+1176>>2]=0;c[U+(T*1272|0)+1180>>2]=0;c[U+(T*1272|0)+996>>2]=0;c[U+(T*1272|0)+1e3>>2]=0;c[U+(T*1272|0)+1188>>2]=0;c[U+(T*1272|0)+1192>>2]=0;c[U+(T*1272|0)+1008>>2]=0;c[U+(T*1272|0)+1012>>2]=0;c[U+(T*1272|0)+1200>>2]=0;c[U+(T*1272|0)+1204>>2]=0;c[U+(T*1272|0)+1020>>2]=0;c[U+(T*1272|0)+1024>>2]=0;c[U+(T*1272|0)+1212>>2]=0;c[U+(T*1272|0)+1216>>2]=0;c[U+(T*1272|0)+1032>>2]=0;c[U+(T*1272|0)+1036>>2]=0;c[U+(T*1272|0)+1224>>2]=0;c[U+(T*1272|0)+1228>>2]=0;c[U+(T*1272|0)+1044>>2]=0;c[U+(T*1272|0)+1048>>2]=0;c[U+(T*1272|0)+1236>>2]=0;c[U+(T*1272|0)+1240>>2]=0;c[U+(T*1272|0)+1056>>2]=0;c[U+(T*1272|0)+1060>>2]=0;c[U+(T*1272|0)+1248>>2]=0;c[U+(T*1272|0)+1252>>2]=0}do if(c[u>>2]|0){j=c[f+224>>2]|0;h=Ge(c[q>>2]|0,c[t>>2]|0)|0;if(!h){n=c[f+1452>>2]|0;m=c[f+6180>>2]|0}else{n=Qh(j,c[h+8>>2]|0)|0;m=h}k=a[U+(T*1272|0)+160>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+876+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+876+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24<16)I=169}else I=169;if((I|0)==169)while(1){c[U+(T*1272|0)+876+(h*12|0)>>2]=m;c[U+(T*1272|0)+876+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}k=a[U+(T*1272|0)+161>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+1068+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+1068+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24>=16)break}while(1){c[U+(T*1272|0)+1068+(h*12|0)>>2]=m;c[U+(T*1272|0)+1068+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}}while(0);if(!(a[O>>0]|0)){h=b[S+(R*8976|0)+4118>>1]|0;j=(K|0)/(h|0)|0;h=K-(r(j,h)|0)&65535;b[U+(T*1272|0)+872>>1]=h;j=j&65535;b[U+(T*1272|0)+874>>1]=j;if(!(a[N>>0]|0)){b[U+(T*1272|0)+1262>>1]=h;b[U+(T*1272|0)+1264>>1]=j}}else{b[U+(T*1272|0)+872>>1]=0;b[U+(T*1272|0)+874>>1]=0;b[U+(T*1272|0)+1262>>1]=0;b[U+(T*1272|0)+1264>>1]=0}do if(!Q?(c[u>>2]|0)==0:0){h=c[P>>2]|0;mi(f,0,c[V>>2]&255);if((c[V>>2]|0)!=1)J(43219,43261,1012,43297);b[h+872>>1]=0;b[h+874>>1]=0;c[f+316>>2]=0;c[f+320>>2]=0;c[V>>2]=0;h=U+(T*1272|0)+872|0;if(!(b[h>>1]|0)){if(b[U+(T*1272|0)+874>>1]|0){i=1;break}b[h>>1]=1;i=1}else i=1}while(0);h=c[f+68>>2]|0;if(W<<24>>24<16&(W&1)==0&(h|0)==2){X=987;return X|0}if((h|0)==6?(a[U+(T*1272|0)+76>>0]|0)!=2:0){X=987;return X|0}if(!i){X=0;return X|0}else{c[X>>2]=1;X=c[V>>2]|0;c[V>>2]=(X|0)<1?0:X+-1|0;return 0}return 0}function Uh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+368|0;i=H;D=e+376|0;h=Jh(D,4)|0;h=(h|0)>0?h:0;h=(h|0)<15?h:15;k=Jh(D,3)|0;j=k+1|0;j=(k|0)>6?7:(j|0)>1?j:1;k=Jh(D,1)|0;ii(D,i,j+-1|0);g=fi(D)|0;if(g>>>0>16)if(!(c[e+112>>2]|0))G=0;else{e=977;Sb=H;return e|0}else G=g;F=c[e+636>>2]|0;C=F+143616|0;n=F+152584|0;p=c[n>>2]|0;Rk(C|0,0,8976)|0;c[n>>2]=p;a[F+143628>>0]=G;a[F+143629>>0]=h;p=F+143630|0;a[p>>0]=j;a[F+143675>>0]=k;Pk(F+147748|0,i|0,355)|0;B=fi(D)|0;E=F+143631|0;a[E>>0]=B;if((B&255|0)!=1){c[e+652>>2]=218;e=218;Sb=H;return e|0}a[F+143634>>0]=0;b[C>>1]=fi(D)|0;z=fi(D)|0;B=F+143618|0;b[B>>1]=z;if((z<<16|0)<65536|(b[C>>1]|0)<1){e=979;Sb=H;return e|0}z=(Jh(D,1)|0)&255;a[F+143635>>0]=z;do if(z<<24>>24){g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143620>>1]=g;g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143622>>1]=g;g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[B>>1]|0)){e=979;Sb=H;return e|0}b[F+143624>>1]=g;g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)<(b[B>>1]|0)){b[F+143626>>1]=g;break}else{e=979;Sb=H;return e|0}}else{z=F+143620|0;c[z>>2]=0;c[z+4>>2]=0}while(0);if(fi(D)|0){e=989;Sb=H;return e|0}if(fi(D)|0){e=989;Sb=H;return e|0}g=fi(D)|0;if(g>>>0>12){e=979;Sb=H;return e|0}o=F+143639|0;a[o>>0]=g+4;z=Jh(D,1)|0;a[F+143640>>0]=z;h=a[p>>0]|0;g=h<<24>>24;if(z&255){if(h<<24>>24>0){g=0;A=23}}else{g=g+-1|0;A=23}do if((A|0)==23){while(1){h=fi(D)|0;if(h>>>0>15){f=979;A=141;break}i=F+143641+g|0;a[i>>0]=h+1;h=fi(D)|0;if((h|0)<0){f=979;A=141;break}if((h|0)>(a[i>>0]|0)){f=979;A=141;break}a[F+143648+g>>0]=h;a[F+143655+g>>0]=fi(D)|0;g=g+1|0;h=a[p>>0]|0;if((g|0)>=(h<<24>>24|0)){A=28;break}}if((A|0)==28){g=h<<24>>24;break}else if((A|0)==141){Sb=H;return f|0}}while(0);z=e+11632|0;if(c[z>>2]|0){h=c[e+360>>2]|0;i=(a[h+14>>0]|0)+-1|0;g=g+-1|0;if((a[h+25+i>>0]|0)!=(a[F+143641+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}if((a[h+32+i>>0]|0)!=(a[F+143648+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}}y=F+143662|0;a[y>>0]=(fi(D)|0)+3;g=fi(D)|0;h=F+143663|0;a[h>>0]=g;g=(g<<24>>24)+(a[y>>0]|0)|0;m=F+143664|0;a[m>>0]=(fi(D)|0)+2;l=fi(D)|0;j=l&255;a[F+143665>>0]=j;k=a[m>>0]|0;l=l+(k&255)|0;a[F+147733>>0]=l;if(l&128|0){e=979;Sb=H;return e|0}if((l&255|0)>(((g|0)<5?g:5)|0)){e=979;Sb=H;return e|0}i=a[y>>0]|0;g=(d[h>>0]|0)+(i&255)|0;x=F+147732|0;a[x>>0]=g;if(j<<24>>24<0|(k<<24>>24<2|i<<24>>24<3)){e=979;Sb=H;return e|0}w=g<<24;if((w|0)<(l<<24|0)|(w+-67108864|0)>>>0>33554432){e=979;Sb=H;return e|0}g=1<<(i<<24>>24);if((b[C>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}if((b[B>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}i=F+143666|0;a[i>>0]=0;j=F+143667|0;a[j>>0]=0;g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143668>>0]=g;g=fi(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143669>>0]=g;w=(Jh(D,1)|0)&255;a[F+143670>>0]=w;Pk(c[n>>2]|0,26144,192)|0;g=(c[n>>2]|0)+192|0;do if(!(w<<24>>24)){Pk(g|0,26144,768)|0;Pk((c[n>>2]|0)+960|0,26144,1536)|0;Pk((c[n>>2]|0)+2496|0,26144,1536)|0;Pk((c[n>>2]|0)+4032|0,26144,2048)|0;Pk((c[n>>2]|0)+6080|0,26144,2048)|0}else{h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+320|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+448|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+576|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+704|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+832|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));Pk((c[n>>2]|0)+960|0,28448,512)|0;Pk((c[n>>2]|0)+1472|0,28448,512)|0;Pk((c[n>>2]|0)+1984|0,28448,512)|0;Pk((c[n>>2]|0)+2496|0,28960,512)|0;Pk((c[n>>2]|0)+3008|0,28960,512)|0;Pk((c[n>>2]|0)+3520|0,28960,512)|0;Pk((c[n>>2]|0)+4032|0,29472,2048)|0;Pk((c[n>>2]|0)+6080|0,31520,2048)|0;w=(Jh(D,1)|0)&255;a[F+143671>>0]=w;if(!(w<<24>>24))break;hi(e,c[n>>2]|0)|0}while(0);a[F+143672>>0]=Jh(D,1)|0;a[F+143673>>0]=Jh(D,1)|0;w=(Jh(D,1)|0)&255;a[F+143636>>0]=w;if(w<<24>>24){a[F+143637>>0]=(Jh(D,4)|0)+1;a[F+143638>>0]=(Jh(D,4)|0)+1;a[i>>0]=(fi(D)|0)+3;a[j>>0]=fi(D)|0;a[F+143674>>0]=Jh(D,1)|0}g=fi(D)|0;if(g>>>0>64){e=979;Sb=H;return e|0}i=F+143676|0;a[i>>0]=g;if((g<<24|0)>0){j=F+148104|0;h=0;g=g&255;do{ji(D,j,g,h,F+148104+(h*70|0)|0)|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g|0))}w=(Jh(D,1)|0)&255;a[F+143677>>0]=w;do if(w<<24>>24){g=fi(D)|0;if(g>>>0>32){e=979;Sb=H;return e|0}h=F+143678|0;a[h>>0]=g;if((g<<24|0)<=0)break;g=0;do{b[F+143680+(g<<1)>>1]=Jh(D,a[o>>0]|0)|0;a[F+143744+g>>0]=Jh(D,1)|0;g=g+1|0}while((g|0)<(a[h>>0]|0))}while(0);a[F+143776>>0]=Jh(D,1)|0;a[F+143777>>0]=Jh(D,1)|0;w=(Jh(D,1)|0)&255;a[F+143778>>0]=w;do if(w<<24>>24){v=a[p>>0]|0;w=(v<<24>>24)+-1|0;u=(Jh(D,1)|0)&255;a[F+143780>>0]=u;g=F+143781|0;a[g>>0]=0;a:do if(!(u<<24>>24)){g=0;h=0}else{u=(Jh(D,8)|0)&255;a[g>>0]=u;do switch(u<<24>>24){case 1:{g=1;h=1;break a}case 2:{g=11;h=12;break a}case 3:{g=11;h=10;break a}case 4:{g=11;h=16;break a}case 5:{g=33;h=40;break a}case 6:{g=11;h=24;break a}case 7:{g=11;h=20;break a}case 8:{g=11;h=32;break a}case 9:{g=33;h=80;break a}case 10:{g=11;h=18;break a}case 11:{g=11;h=15;break a}case 12:{g=33;h=64;break a}case 13:{g=99;h=160;break a}case 14:{g=3;h=4;break a}case 15:{g=2;h=3;break a}case 16:{g=1;h=2;break a}case -1:{h=(Jh(D,16)|0)&65535;g=(Jh(D,16)|0)&65535;break a}default:{g=0;h=0;break a}}while(0)}while(0);b[F+143782>>1]=h;b[F+143784>>1]=g;u=(Jh(D,1)|0)&255;a[F+143786>>0]=u;g=F+143787|0;a[g>>0]=0;if(u<<24>>24)a[g>>0]=Jh(D,1)|0;u=(Jh(D,1)|0)&255;a[F+143788>>0]=u;g=F+143789|0;a[g>>0]=5;h=F+143790|0;a[h>>0]=0;i=F+143791|0;a[i>>0]=0;j=F+143792|0;a[j>>0]=2;k=F+143793|0;a[k>>0]=2;l=F+143794|0;a[l>>0]=2;do if(u<<24>>24){a[g>>0]=Jh(D,3)|0;a[h>>0]=Jh(D,1)|0;u=(Jh(D,1)|0)&255;a[i>>0]=u;if(!(u<<24>>24))break;a[j>>0]=Jh(D,8)|0;a[k>>0]=Jh(D,8)|0;a[l>>0]=Jh(D,8)|0}while(0);u=(Jh(D,1)|0)&255;a[F+143795>>0]=u;g=F+143796|0;a[g>>0]=0;h=F+143797|0;a[h>>0]=0;if(u<<24>>24){a[g>>0]=fi(D)|0;a[h>>0]=fi(D)|0}a[F+143798>>0]=Jh(D,1)|0;a[F+143799>>0]=Jh(D,1)|0;a[F+143800>>0]=Jh(D,1)|0;u=(Jh(D,1)|0)&255;a[F+143801>>0]=u;g=F+143804|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(u<<24>>24){c[g>>2]=fi(D)|0;c[F+143808>>2]=fi(D)|0;c[F+143812>>2]=fi(D)|0;c[F+143816>>2]=fi(D)|0}u=(Jh(D,1)|0)&255;a[F+147704>>0]=u;b:do if(u<<24>>24){c[F+147708>>2]=Jh(D,32)|0;c[F+147712>>2]=Jh(D,32)|0;u=(Jh(D,1)|0)&255;a[F+147716>>0]=u;if(u<<24>>24)a[F+147717>>0]=fi(D)|0;u=(Jh(D,1)|0)&255;a[F+143820>>0]=u;if(!(u<<24>>24))break;s=F+143836|0;a[s>>0]=0;t=F+143837|0;a[t>>0]=0;u=F+143839|0;i=F+143840|0;j=F+143841|0;k=F+143842|0;l=F+143843|0;m=F+143844|0;n=F+143848|0;o=F+143852|0;p=F+143856|0;g=u;q=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(q|0));a[p>>0]=23;g=F+143857|0;a[g>>0]=23;h=F+143858|0;a[h>>0]=23;a[s>>0]=Jh(D,1)|0;q=Jh(D,1)|0;a[t>>0]=q;if(!((q&255|0)==0&(a[s>>0]|0)==0)){q=(Jh(D,1)|0)&255;a[u>>0]=q;if(q<<24>>24){a[i>>0]=Jh(D,8)|0;a[j>>0]=Jh(D,5)|0;a[k>>0]=Jh(D,1)|0;a[l>>0]=Jh(D,5)|0}c[m>>2]=Jh(D,4)|0;c[n>>2]=Jh(D,4)|0;if(a[u>>0]|0)c[o>>2]=Jh(D,4)|0;a[p>>0]=Jh(D,5)|0;a[g>>0]=Jh(D,5)|0;a[h>>0]=Jh(D,5)|0}if(v<<24>>24<1)break;j=0;while(1){v=(Jh(D,1)|0)&255;a[F+143859+j>>0]=v;g=F+143866+j|0;a[g>>0]=1;h=F+143873+j|0;a[h>>0]=0;i=F+143880+j|0;a[i>>0]=0;k=F+143887+j|0;a[k>>0]=0;do if(!(v<<24>>24)){v=(Jh(D,1)|0)&255;a[g>>0]=v;if(v<<24>>24){A=104;break}g=(Jh(D,1)|0)&255;a[i>>0]=g}else A=104;while(0);if((A|0)==104){A=0;a[h>>0]=fi(D)|0;g=a[i>>0]|0}if(!(g<<24>>24)){g=(fi(D)|0)&255;a[k>>0]=g}else g=a[k>>0]|0;if((g&255)>30){f=979;break}if(a[s>>0]|0)ki(D,F+143896+(j*544|0)|0,g&255,d[u>>0]|0);if(a[t>>0]|0)ki(D,F+143896+(j*544|0)|0,d[k>>0]|0,d[u>>0]|0);if((j|0)<(w|0))j=j+1|0;else break b}Sb=H;return f|0}while(0);A=(Jh(D,1)|0)&255;a[F+147718>>0]=A;g=F+147719|0;a[g>>0]=0;h=F+147720|0;a[h>>0]=1;i=F+147721|0;a[i>>0]=0;j=F+147724|0;c[j>>2]=0;k=F+147728|0;a[k>>0]=2;l=F+147729|0;a[l>>0]=1;m=F+147730|0;a[m>>0]=15;n=F+147731|0;a[n>>0]=15;if(!(A<<24>>24))break;a[g>>0]=Jh(D,1)|0;a[h>>0]=Jh(D,1)|0;a[i>>0]=Jh(D,1)|0;c[j>>2]=fi(D)|0;a[k>>0]=fi(D)|0;a[l>>0]=fi(D)|0;a[m>>0]=fi(D)|0;a[n>>0]=fi(D)|0}while(0);Jh(D,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){e=979;Sb=H;return e|0}m=1<<a[x>>0];D=m+-1|0;h=b[C>>1]|0;k=h<<16>>16;g=(D+k|0)/(m|0)|0;b[F+147734>>1]=g;j=b[B>>1]|0;m=(D+j|0)/(m|0)|0;b[F+147736>>1]=m;g=r(m<<16>>16,g<<16>>16)|0;c[F+147744>>2]=g;m=e+112|0;if(!(c[m>>2]|0))c[e+984>>2]=g;i=1<<a[y>>0];b[F+147738>>1]=(k|0)/(i|0)|0;b[F+147740>>1]=(j|0)/(i|0)|0;i=(c[z>>2]|0)==0;do if(!i){if((c[e>>2]|0)==(k|0)?(c[e+4>>2]|0)==(j|0):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);if(h<<16>>16>8448|(r(j,k)|0)>36495360){e=17;Sb=H;return e|0}h=(a[E>>0]|0)==1?2:1;l=k-(r(h,b[F+143620>>1]|0)|0)|0;l=l-(r(h,b[F+143622>>1]|0)|0)|0;E=j-(r(h,b[F+143624>>1]|0)|0)|0;h=E-(r(h,b[F+143626>>1]|0)|0)|0;if((l|0)<1|(h|0)<1){e=979;Sb=H;return e|0}g=e+8|0;do if(i)f=e+12|0;else{if((c[g>>2]|0)==(l|0)?(f=e+12|0,(c[f>>2]|0)==(h|0)):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);c[g>>2]=l;c[f>>2]=h;c[e>>2]=k;c[e+4>>2]=j;f=k+191&-32;g=e+20|0;h=c[g>>2]|0;if((h|0)<(f|0))c[g>>2]=f;else f=h;g=e+16|0;h=c[g>>2]|0;do if(!(c[e+56>>2]|0)){if((h|0)>=(l|0))break;c[g>>2]=l}else{if((h|0)>=(f|0))break;c[g>>2]=f}while(0);c[e+11596>>2]=G;c[m>>2]=1;e=0;Sb=H;return e|0}function Vh(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;j=c[d+296>>2]|0;k=j+(f*8976|0)|0;l=j+(e*8976|0)|0;m=j+(e*8976|0)+8972|0;do if(a[m>>0]|0){if(((a[j+(e*8976|0)+4116>>0]|0)==(a[j+(f*8976|0)+4116>>0]|0)?(b[j+(e*8976|0)+4118>>1]|0)==(b[j+(f*8976|0)+4118>>1]|0):0)?(b[j+(e*8976|0)+4120>>1]|0)==(b[j+(f*8976|0)+4120>>1]|0):0)break;g=0;h=c[d+300>>2]|0;while(1){i=h+67|0;if(a[i>>0]|0?(a[h+9>>0]|0)==(e|0):0)a[i>>0]=0;g=g+1|0;if((g|0)==64)break;else h=h+68|0}}while(0);e=j+(e*8976|0)+8968|0;i=c[e>>2]|0;Pk(l|0,k|0,8976)|0;c[e>>2]=i;Pk(i|0,c[j+(f*8976|0)+8968>>2]|0,8128)|0;a[m>>0]=1;c[d+360>>2]=l;return}function Wh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;if(!(c[e+112>>2]|0)){E=980;return E|0}f=fi(E)|0;if(f>>>0>64)if(!(c[e+116>>2]|0))f=0;else{E=978;return E|0}C=c[e+640>>2]|0;D=C+4352|0;a[C+4360>>0]=f;s=(fi(E)|0)<<24;s=(s|0)>251658240?15:(s|0)<0?0:s>>24;a[C+4361>>0]=s;t=c[e+636>>2]|0;g=t+(s*8976|0)|0;if(!(a[t+(s*8976|0)+8972>>0]|0)){E=980;return E|0}a[C+4378>>0]=Jh(E,1)|0;a[C+4376>>0]=Jh(E,1)|0;a[C+4394>>0]=Jh(E,3)|0;a[C+4362>>0]=Jh(E,1)|0;a[C+4363>>0]=Jh(E,1)|0;a[C+4364>>0]=(fi(E)|0)+1;a[C+4365>>0]=(fi(E)|0)+1;a[C+4366>>0]=(gi(E)|0)+26;a[C+4367>>0]=Jh(E,1)|0;a[C+4368>>0]=Jh(E,1)|0;x=(Jh(E,1)|0)&255;a[C+4369>>0]=x;if(!(x<<24>>24))f=0;else f=(fi(E)|0)&255;a[C+4370>>0]=f;h=t+(s*8976|0)+4116|0;a[C+4418>>0]=(d[h>>0]|0)-(f&255);a[C+4371>>0]=gi(E)|0;a[C+4372>>0]=gi(E)|0;a[C+4373>>0]=Jh(E,1)|0;a[C+4374>>0]=Jh(E,1)|0;a[C+4375>>0]=Jh(E,1)|0;a[C+4377>>0]=Jh(E,1)|0;x=(Jh(E,1)|0)&255;f=C+4379|0;a[f>>0]=x;a:do if(x<<24>>24)switch(a[h>>0]|0){case 4:{if((b[g>>1]|0)>4095){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>4095)f=980;else break a;return f|0}case 5:{if((b[g>>1]|0)>8191){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>8191)f=980;else break a;return f|0}case 6:{if((b[g>>1]|0)>16383){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>16383)f=980;else break a;return f|0}default:break a}while(0);a[C+4380>>0]=Jh(E,1)|0;x=C+4385|0;a[x>>0]=0;if(!(a[f>>0]|0)){a[C+4382>>0]=1;a[C+4383>>0]=1;a[C+4384>>0]=1;B=c[C+4356>>2]|0;a[B>>0]=0;a[B+1>>0]=0;b[B+2>>1]=b[t+(s*8976|0)+4118>>1]|0;b[B+4>>1]=b[t+(s*8976|0)+4120>>1]|0}else{f=c[e>>2]|0;g=(((c[e+4>>2]|0)+127&-64)+-1|0)/64|0;v=C+4382|0;a[v>>0]=(fi(E)|0)+1;h=(fi(E)|0)+1|0;w=C+4383|0;a[w>>0]=h;i=a[v>>0]|0;if(i<<24>>24<1){E=980;return E|0}if((((f+127&-64)+-1|0)/64|0|0)<(i<<24>>24|0)){E=980;return E|0}u=h<<24;if((u|0)<16777216|(u>>24|0)>(g|0)){E=980;return E|0}g=(Jh(E,1)|0)&255;u=C+4384|0;a[u>>0]=g;f=a[v>>0]|0;b:do if(f<<24>>24>0){p=t+(s*8976|0)+4118|0;q=C+4356|0;i=0;h=0;f=f<<24>>24;while(1){do if(!(g<<24>>24))if((h|0)<(f+-1|0)){o=(fi(E)|0)+1|0;break}else{o=(b[p>>1]|0)-i|0;break}else{o=b[p>>1]|0;o=((r(h+1|0,o)|0)/(f|0)|0)-((r(h,o)|0)/(f|0)|0)|0}while(0);g=a[w>>0]|0;if(g<<24>>24>0){j=c[q>>2]|0;k=a[v>>0]|0;l=i&255;m=o&65535;n=g<<24>>24;f=0;do{F=j+((r(f,k)|0)*6|0)+(h*6|0)|0;a[F>>0]=l;b[F+2>>1]=m;f=f+1|0}while((f|0)<(n|0))}i=o+i|0;h=h+1|0;if(!((o|0)>0?(i|0)<=(b[p>>1]|0):0)){f=980;break}f=a[v>>0]|0;j=f<<24>>24;if((h|0)>=(j|0))break b;g=a[u>>0]|0;f=j}return f|0}else g=a[w>>0]|0;while(0);c:do if(g<<24>>24>0){k=t+(s*8976|0)+4120|0;l=C+4356|0;i=0;j=0;g=g<<24>>24;while(1){do if(!(a[u>>0]|0))if((j|0)<(g+-1|0)){g=(fi(E)|0)+1|0;h=a[v>>0]|0;break}else{g=(b[k>>1]|0)-i|0;h=f;break}else{h=b[k>>1]|0;g=((r(j+1|0,h)|0)/(g|0)|0)-((r(j,h)|0)/(g|0)|0)|0;h=f}while(0);if(h<<24>>24>0?(y=h<<24>>24,t=c[l>>2]|0,z=i&255,A=g&65535,F=r(j,y)|0,B=t+(F*6|0)|0,a[t+(F*6|0)+1>>0]=z,b[t+(F*6|0)+4>>1]=A,h<<24>>24!=1):0){f=1;do{F=B+(f*6|0)|0;a[F+1>>0]=z;b[F+4>>1]=A;f=f+1|0}while((f|0)<(y|0))}i=g+i|0;j=j+1|0;if(!((g|0)>0?(i|0)<=(b[k>>1]|0):0)){f=980;break}g=a[w>>0]|0;if((j|0)>=(g|0))break c;else f=h}return f|0}while(0);a[x>>0]=Jh(E,1)|0}a[C+4386>>0]=Jh(E,1)|0;F=(Jh(E,1)|0)&255;a[C+4387>>0]=F;f=C+4388|0;g=C+4390|0;h=C+4391|0;c[f>>2]=0;if(F<<24>>24?(a[f>>0]=Jh(E,1)|0,F=(Jh(E,1)|0)&255,a[C+4389>>0]=F,F<<24>>24==0):0){a[g>>0]=gi(E)|0;a[h>>0]=gi(E)|0}F=(Jh(E,1)|0)&255;a[C+4392>>0]=F;if(F<<24>>24){Pk(c[D>>2]|0,26144,192)|0;f=(c[D>>2]|0)+192|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+320|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+448|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+576|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+704|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+832|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));Pk((c[D>>2]|0)+960|0,28448,512)|0;Pk((c[D>>2]|0)+1472|0,28448,512)|0;Pk((c[D>>2]|0)+1984|0,28448,512)|0;Pk((c[D>>2]|0)+2496|0,28960,512)|0;Pk((c[D>>2]|0)+3008|0,28960,512)|0;Pk((c[D>>2]|0)+3520|0,28960,512)|0;Pk((c[D>>2]|0)+4032|0,29472,2048)|0;Pk((c[D>>2]|0)+6080|0,31520,2048)|0;hi(e,c[D>>2]|0)|0}a[C+4393>>0]=Jh(E,1)|0;a[C+4395>>0]=(fi(E)|0)+2;a[C+4396>>0]=Jh(E,1)|0;Jh(E,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){F=979;return F|0}c[e+116>>2]=1;F=0;return F|0}function Xh(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;m=(((c[b>>2]|0)+127&-64)+-1|0)/64|0;f=(((c[b+4>>2]|0)+127&-64)+-1|0)/64|0;g=c[b+300>>2]|0;h=g+(e*68|0)|0;i=g+(d*68|0)|0;j=c[i>>2]|0;k=g+(d*68|0)+4|0;l=c[k>>2]|0;n=i;o=h;p=n+68|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[i>>2]=j;c[k>>2]=l;Pk(j|0,c[h>>2]|0,8128)|0;Pk(c[k>>2]|0,c[g+(e*68|0)+4>>2]|0,r(m*6|0,f)|0)|0;a[g+(d*68|0)+67>>0]=1;c[b+356>>2]=i;return}function Yh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+376|0;d=Zh(g)|0;if(d>>>0>8){e=0;f=0;do{if((_h(g,8)|0)==255){d=e;do{$h(g,8);d=d+255|0}while((_h(g,8)|0)==255)}else d=e;e=(Jh(g,8)|0)+d|0;if((_h(g,8)|0)==255){d=f;do{$h(g,8);d=d+255|0}while((_h(g,8)|0)==255)}else d=f;d=(Jh(g,8)|0)+d|0;f=(Zh(g)|0)>>>3;f=d>>>0<f>>>0?d:f;ai(b,e,f,a[c>>0]|0);d=Zh(g)|0}while(d>>>0>8)}if(!d)return 0;if((Jh(g,1)|0)!=1)return 0;d=d+-1|0;if(!d)return 0;e=d;do{Jh(g,1)|0;e=e+-1|0}while((e|0)!=0);if(d>>>0<8)return 0;else J(43147,43157,2795,43188);return 0}function Zh(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=(c[a+4>>2]|0)+-64+((c[a+8>>2]|0)-d<<3)|0;a=((c[a+20>>2]|0)-d<<3)+-64|0;return (a>>>0>b>>>0?a-b|0:0)|0}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;f=32-b|0;e=c[a+12>>2]<<d>>>f;if(d>>>0<=f>>>0){f=e;return f|0}b=64-b-d|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=b|e;return f|0}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;if(b>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[d>>2]=b+-32;c[e>>2]=Ok(a|0)|0;return}function ai(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;h=c[b+296>>2]|0;g=0;while(1){i=g+1|0;if(i>>>0<17?(a[h+(g*8976|0)+8972>>0]|0)==0:0)g=i;else break}g=h+(g*8976|0)|0;j=b+376|0;if(!g)return;a:do if(f<<24>>24==39)switch(d|0){case 0:{a[b+1464>>0]=1;bi(b,g)|0;break a}case 1:{a[b+1464>>0]=1;ci(b,g)|0;break a}case 136:{a[b+1464>>0]=1;di(b)|0;break a}case 137:{a[b+1470>>0]=1;ei(b)|0;break a}case 4:{a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Jh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Jh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Jh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{$h(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}$h(j,e-g<<3);break a}default:{if(!e)break a;g=0;do{$h(j,8);g=g+1|0}while((g|0)!=(e|0))}}else{if((d|0)!=4){if(!e)break;g=0;while(1){$h(j,8);g=g+1|0;if((g|0)==(e|0))break a}}a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Jh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Jh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Jh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{$h(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}$h(j,e-g<<3)}while(0);g=Zh(j)|0;if(!g)return;if((g|0)>9)while(1){Jh(j,1)|0;h=g+-1|0;if((g|0)>10)g=h;else{g=h;break}}i=_h(j,g)|0;h=0;while(1)if(!(255>>>h&i))break;else h=h+1|0;h=9-h|0;do{Jh(j,1)|0;e=g;g=g+-1|0}while((e|0)>(h|0));if(!g)return;do{Jh(j,1)|0;g=g+-1|0}while((g|0)!=0);return}function bi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+376|0;a[b+1466>>0]=1;a[b+1480>>0]=fi(j)|0;k=e+223|0;if(!(a[k>>0]|0)){f=(Jh(j,1)|0)&255;i=b+1482|0;a[i>>0]=f}else{f=b+1482|0;i=f;f=a[f>>0]|0}if(!(f<<24>>24)){c[b+1484>>2]=0;f=e+241|0;g=0}else{f=e+241|0;c[b+1484>>2]=Jh(j,(d[f>>0]|0)+1|0)|0;g=Jh(j,(d[e+242>>0]|0)+1|0)|0}c[b+1488>>2]=g;a[b+1492>>0]=Jh(j,1)|0;c[b+1496>>2]=Jh(j,(d[f>>0]|0)+1|0)|0;if(a[e+220>>0]|0){g=d[e+271>>0]|0;h=e+240|0;f=0;while(1){c[b+1500+(f<<2)>>2]=Jh(j,(d[h>>0]|0)+1|0)|0;c[b+1756+(f<<2)>>2]=Jh(j,(d[h>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+1628+(f<<2)>>2]=Jh(j,(d[h>>0]|0)+1|0)|0;c[b+1884+(f<<2)>>2]=Jh(j,(d[h>>0]|0)+1|0)|0}if((f|0)==(g|0))break;else f=f+1|0}}if(!(a[e+221>>0]|0))return 0;h=d[e+271>>0]|0;g=e+240|0;f=0;while(1){c[b+2012+(f<<2)>>2]=Jh(j,(d[g>>0]|0)+1|0)|0;c[b+2268+(f<<2)>>2]=Jh(j,(d[g>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+2140+(f<<2)>>2]=Jh(j,(d[g>>0]|0)+1|0)|0;c[b+2396+(f<<2)>>2]=Jh(j,(d[g>>0]|0)+1|0)|0}if((f|0)==(h|0))break;else f=f+1|0}return 0}function ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+376|0;a[b+1467>>0]=1;if(a[e+184>>0]|0){c[b+2548>>2]=Jh(i,4)|0;c[b+2552>>2]=Jh(i,2)|0;a[b+2556>>0]=Jh(i,1)|0}if((a[e+220>>0]|0)==0?(a[e+221>>0]|0)==0:0)return 0;c[b+2560>>2]=Jh(i,(d[e+241>>0]|0)+1|0)|0;c[b+2564>>2]=Jh(i,(d[e+242>>0]|0)+1|0)|0;f=e+223|0;if(!(a[f>>0]|0))return 0;c[b+2568>>2]=Jh(i,(d[e+227>>0]|0)+1|0)|0;if(!(a[f>>0]|0))return 0;if(!(a[e+226>>0]|0))return 0;f=fi(i)|0;g=b+2572|0;c[g>>2]=f>>>0<269?f:269;f=(Jh(i,1)|0)&255;h=b+2576|0;a[h>>0]=f;e=e+225|0;if(f<<24>>24)c[b+2580>>2]=Jh(i,(d[e>>0]|0)+1|0)|0;f=0;do{c[b+2584+(f<<2)>>2]=fi(i)|0;if((a[h>>0]|0)==0?f>>>0<(c[g>>2]|0)>>>0:0)c[b+3664+(f<<2)>>2]=Jh(i,(d[e>>0]|0)+1|0)|0;f=f+1|0}while(f>>>0<=(c[g>>2]|0)>>>0);return 0}function di(c){c=c|0;var e=0,f=0,g=0,h=0;g=c+376|0;a[c+1477>>0]=1;f=Jh(g,2)|0;h=c+5904|0;a[h>>0]=f;if(!(f&255))return 0;f=0;do{e=(Jh(g,1)|0)&255;a[c+5905+f>>0]=e;if(e<<24>>24){a[c+5908+f>>0]=Jh(g,1)|0;a[c+5911+f>>0]=Jh(g,5)|0;e=c+5914+f|0;a[e>>0]=Jh(g,1)|0;a[c+5917+f>>0]=Jh(g,1)|0;a[c+5920+f>>0]=Jh(g,1)|0;b[c+5924+(f<<1)>>1]=Jh(g,9)|0;if(!(a[e>>0]|0)){e=(Jh(g,1)|0)&255;a[c+5930+f>>0]=e;if((e<<24>>24?(a[c+5939+f>>0]=Jh(g,6)|0,e=(Jh(g,1)|0)&255,a[c+5933+f>>0]=e,e<<24>>24):0)?(a[c+5942+f>>0]=Jh(g,6)|0,e=(Jh(g,1)|0)&255,a[c+5936+f>>0]=e,e<<24>>24):0)a[c+5945+f>>0]=Jh(g,5)|0}else{a[c+5939+f>>0]=Jh(g,6)|0;a[c+5942+f>>0]=Jh(g,6)|0;a[c+5945+f>>0]=Jh(g,5)|0}e=Jh(g,5)|0;a[c+5948+f>>0]=e;e=e&255;if(!e)e=0;else e=(Jh(g,e)|0)&255;a[c+5951+f>>0]=e}f=f+1|0}while(f>>>0<(d[h>>0]|0)>>>0);return 0}function ei(d){d=d|0;var e=0;e=d+376|0;a[d+1470>>0]=1;b[d+5076>>1]=Jh(e,16)|0;b[d+5082>>1]=Jh(e,16)|0;b[d+5078>>1]=Jh(e,16)|0;b[d+5084>>1]=Jh(e,16)|0;b[d+5080>>1]=Jh(e,16)|0;b[d+5086>>1]=Jh(e,16)|0;b[d+5088>>1]=Jh(e,16)|0;b[d+5090>>1]=Jh(e,16)|0;c[d+5092>>2]=Jh(e,32)|0;c[d+5096>>2]=Jh(e,32)|0;return 0}function fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Ok(j|0)|0}else e=b;if(!f){j=0;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Ok(i|0)|0;j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}function gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Ok(j|0)|0}else e=b;do if(!f)b=0;else{b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32)break}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Ok(i|0)|0}while(0);j=(b+(1<<f)|0)>>>1;return ((b&1|0)==0?j:0-j|0)|0}function hi(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=a+376|0;j=0;do{q=(j|0)==3?2:6;r=j*6|0;s=(j<<1)+4|0;t=1<<s;t=(t|0)<64?t:64;k=j>>>0>1;l=2<<s;m=(j|0)==2;j=j+1|0;n=25168+(j<<2)|0;i=0;do{h=Jh(p,1)|0;o=e+(c[37280+(i+r<<2)>>2]<<1)|0;a:do if(!h){a=fi(p)|0;a=(a|0)>(i|0)?i:(a|0)>0?a:0;if(a|0)Pk(o|0,o+(0-(a<<s)<<1)|0,l|0)|0}else{if(!k){g=c[n>>2]|0;a=0;f=8;while(1){f=(f+256+(gi(p)|0)|0)%256|0;b[o+((d[g+a>>0]|0)<<1)>>1]=f;a=a+1|0;if((a|0)>=(t|0))break a}}h=(gi(p)|0)+8|0;if(!m){g=h&65535;f=0;a=h;while(1){a=(a+256+(gi(p)|0)|0)%256|0;h=d[24608+f>>0]|0;h=h>>>3<<7|h<<2&28;u=a&65535;b[o+(h<<1)>>1]=u;b[o+((h|1)<<1)>>1]=u;b[o+((h|2)<<1)>>1]=u;b[o+((h|3)<<1)>>1]=u;b[o+((h|32)<<1)>>1]=u;b[o+((h|33)<<1)>>1]=u;b[o+((h|34)<<1)>>1]=u;b[o+((h|35)<<1)>>1]=u;b[o+((h|64)<<1)>>1]=u;b[o+((h|65)<<1)>>1]=u;b[o+((h|66)<<1)>>1]=u;b[o+((h|67)<<1)>>1]=u;b[o+((h|96)<<1)>>1]=u;b[o+((h|97)<<1)>>1]=u;b[o+((h|98)<<1)>>1]=u;b[o+((h|99)<<1)>>1]=u;b[o>>1]=g;f=f+1|0;if((f|0)>=(t|0))break a}}a=0;f=h;do{f=(f+256+(gi(p)|0)|0)%256|0;u=d[24608+a>>0]|0;u=u>>>3<<5|u<<1&14;g=f&65535;b[o+(u<<1)>>1]=g;b[o+((u|1)<<1)>>1]=g;b[o+((u|16)<<1)>>1]=g;b[o+((u|17)<<1)>>1]=g;a=a+1|0}while((a|0)<(t|0));b[o>>1]=h}while(0);i=i+1|0}while((i|0)!=(q|0))}while((j|0)!=4);return 0}function ii(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;li(b,c);a[c+48>>0]=Jh(b,8)|0;f=(d|0)>0;if(!f)return;e=0;do{a[c+49+e>>0]=Jh(b,1)|0;a[c+55+e>>0]=Jh(b,1)|0;e=e+1|0}while((e|0)!=(d|0));if((d+-1|0)>>>0<7){e=d;while(1){Jh(b,2)|0;if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{if(a[c+49+e>>0]|0)li(b,c+61+(e*49|0)|0);if(a[c+55+e>>0]|0)a[c+61+(e*49|0)+48>>0]=Jh(b,8)|0;e=e+1|0}while((e|0)!=(d|0));return}function ji(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((f|0)>0){n=(Jh(c,1)|0)&255;a[g+32>>0]=n;if(n<<24>>24){if((f|0)==(e|0)){l=fi(c)|0;m=f+-1|0;n=m-l|0;n=(l|0)<0?m:(n|0)>0?n:0}else{n=f+-1|0;n=(n|0)>0?n:0}l=Jh(c,1)|0;l=r(1-(l<<1)|0,(fi(c)|0)+1|0)|0;m=d+(n*70|0)+67|0;f=a[m>>0]|0;if(f<<24>>24>=0){k=0;j=0;h=0;e=0;while(1){f=Jh(c,1)|0;a[g+35+j>>0]=f;if(!f)f=(Jh(c,1)|0)<<1;if((f+-1|0)>>>0<2){if((k|0)<(a[m>>0]|0))i=b[d+(n*70|0)+(k<<1)>>1]|0;else i=0;p=i+l|0;b[g+(j<<1)>>1]=p;p=p>>>31;i=j+1|0;h=(p^1)+h|0;e=p+e|0}else i=j;a[g+51+k>>0]=f;f=a[m>>0]|0;if((k|0)<(f<<24>>24|0)){k=k+1|0;j=i}else break}if((e|0)>0)if((e|0)<15)o=18;else e=15;else{e=0;o=18}}else{h=0;e=0;o=18}p=e^15;p=(h|0)>(p|0)?p:(h|0)>0?h:0;n=p+e|0;a[g+68>>0]=(f&255)+1;a[g+67>>0]=n;a[g+34>>0]=p;a[g+33>>0]=e;if(n>>>0>1){f=1;do{j=b[g+(f<<1)>>1]|0;k=a[g+35+f>>0]|0;h=f;do{i=h;h=h+-1|0;l=g+(h<<1)|0;m=b[l>>1]|0;if(j<<16>>16<m<<16>>16){b[g+(i<<1)>>1]=m;p=g+35+h|0;a[g+35+i>>0]=a[p>>0]|0;b[l>>1]=j;a[p>>0]=k}}while((i|0)>1);f=f+1|0}while(f>>>0<n>>>0)}h=e>>>1;if(!h)return 0;f=0;do{e=e+-1|0;p=g+(f<<1)|0;d=b[p>>1]|0;n=g+35+f|0;c=a[n>>0]|0;o=g+(e<<1)|0;b[p>>1]=b[o>>1]|0;p=g+35+e|0;a[n>>0]=a[p>>0]|0;b[o>>1]=d;a[p>>0]=c;f=f+1|0}while((f|0)!=(h|0));return 0}}else a[g+32>>0]=0;j=fi(c)|0;i=g+33|0;f=j<<24;a[i>>0]=(f|0)>251658240?15:(f|0)<0?0:j&255;j=(fi(c)|0)<<24;f=j>>24;p=a[i>>0]|0;e=p<<24>>24;o=15-e|0;f=(f|0)>(o|0)?o:(j|0)<0?0:f;a[g+34>>0]=f;f=f+(p&255)&255;j=g+67|0;a[j>>0]=f;if(p<<24>>24>0){e=0;f=0;do{e=e+-1-(fi(c)|0)|0;b[g+(f<<1)>>1]=e;a[g+35+f>>0]=Jh(c,1)|0;f=f+1|0;h=a[i>>0]|0}while((f|0)<(h<<24>>24|0));e=h<<24>>24;f=a[j>>0]|0}if((e|0)>=(f<<24>>24|0))return 0;f=0;do{f=f+1+(fi(c)|0)|0;b[g+(e<<1)>>1]=f;a[g+35+e>>0]=Jh(c,1)|0;e=e+1|0}while((e|0)<(a[j>>0]|0));return 0}function ki(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((e|0)<0)return;if(!f){f=0;while(1){c[d+(f<<2)>>2]=fi(b)|0;c[d+128+(f<<2)>>2]=fi(b)|0;a[d+512+f>>0]=Jh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}else{f=0;while(1){c[d+(f<<2)>>2]=fi(b)|0;c[d+128+(f<<2)>>2]=fi(b)|0;c[d+256+(f<<2)>>2]=fi(b)|0;c[d+384+(f<<2)>>2]=fi(b)|0;a[d+512+f>>0]=Jh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}}function li(b,c){b=b|0;c=c|0;a[c>>0]=Jh(b,2)|0;a[c+1>>0]=Jh(b,1)|0;a[c+2>>0]=Jh(b,5)|0;a[c+3>>0]=Jh(b,1)|0;a[c+4>>0]=Jh(b,1)|0;a[c+5>>0]=Jh(b,1)|0;a[c+6>>0]=Jh(b,1)|0;a[c+7>>0]=Jh(b,1)|0;a[c+8>>0]=Jh(b,1)|0;a[c+9>>0]=Jh(b,1)|0;a[c+10>>0]=Jh(b,1)|0;a[c+11>>0]=Jh(b,1)|0;a[c+12>>0]=Jh(b,1)|0;a[c+13>>0]=Jh(b,1)|0;a[c+14>>0]=Jh(b,1)|0;a[c+15>>0]=Jh(b,1)|0;a[c+16>>0]=Jh(b,1)|0;a[c+17>>0]=Jh(b,1)|0;a[c+18>>0]=Jh(b,1)|0;a[c+19>>0]=Jh(b,1)|0;a[c+20>>0]=Jh(b,1)|0;a[c+21>>0]=Jh(b,1)|0;a[c+22>>0]=Jh(b,1)|0;a[c+23>>0]=Jh(b,1)|0;a[c+24>>0]=Jh(b,1)|0;a[c+25>>0]=Jh(b,1)|0;a[c+26>>0]=Jh(b,1)|0;a[c+27>>0]=Jh(b,1)|0;a[c+28>>0]=Jh(b,1)|0;a[c+29>>0]=Jh(b,1)|0;a[c+30>>0]=Jh(b,1)|0;a[c+31>>0]=Jh(b,1)|0;a[c+32>>0]=Jh(b,1)|0;a[c+33>>0]=Jh(b,1)|0;a[c+34>>0]=Jh(b,1)|0;a[c+35>>0]=Jh(b,1)|0;a[c+36>>0]=Jh(b,1)|0;a[c+37>>0]=Jh(b,1)|0;a[c+38>>0]=Jh(b,1)|0;Jh(b,16)|0;Jh(b,16)|0;Jh(b,12)|0;return}function mi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+644>>2]|0;a=f+(b*1272|0)+184|0;e=c[a>>2]|0;Pk(f+(b*1272|0)|0,f+(d*1272|0)|0,1272)|0;c[a>>2]=e;return}function ni(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e+-1|0;j=32-(s(e|0)|0)+(((i&e|0)==0)<<31>>31)|0;h=c+76|0;if((d[h>>0]|0)>=2)return 0;f=(Jh(b,1)|0)&255;a[c+708>>0]=f;if(f<<24>>24?(g=c+160|0,(a[g>>0]|0)>0):0){f=0;do{l=(Jh(b,j)|0)<<24;k=l>>24;a[c+709+f>>0]=(k|0)<(e|0)?((l|0)<0?0:k):i;f=f+1|0}while((f|0)<(a[g>>0]|0))}if(a[h>>0]|0)return 0;l=(Jh(b,1)|0)&255;a[c+725>>0]=l;if(!(l<<24>>24))return 0;g=c+161|0;if((a[g>>0]|0)<=0)return 0;f=0;do{k=(Jh(b,j)|0)<<24;l=k>>24;a[c+726+f>>0]=(l|0)<(e|0)?((k|0)<0?0:l):i;f=f+1|0}while((f|0)<(a[g>>0]|0));return 0}function oi(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+258|0;a[m>>0]=fi(c)|0;l=e+15|0;if(a[l>>0]|0){k=gi(c)|0;a[g+259>>0]=k+(d[m>>0]|0)}k=g+160|0;e=a[k>>0]|0;f=e<<24>>24;if(e<<24>>24>0){h=0;do{a[g+260+h>>0]=Jh(c,1)|0;h=h+1|0;e=a[k>>0]|0;f=e<<24>>24}while((h|0)<(f|0))}if(!(a[l>>0]|0))if((f|0)>0){Rk(g+276|0,0,f|0)|0;i=e;j=12}else{i=e;j=12}else if(e<<24>>24>0){f=0;do{a[g+276+f>>0]=Jh(c,1)|0;f=f+1|0;e=a[k>>0]|0}while((f|0)<(e<<24>>24|0));i=e;j=12}if((j|0)==12?i<<24>>24>0:0){h=g+259|0;e=0;do{if(!(a[g+260+e>>0]|0)){b[g+292+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=gi(c)|0;b[g+292+(e<<1)>>1]=(1<<a[m>>0])+f;f=(gi(c)|0)&65535}b[g+324+(e<<1)>>1]=f;if(!(a[g+276+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+356+(e<<1)>>1]=f;b[g+420+(e<<1)>>1]=f;b[g+388+(e<<1)>>1]=0;f=0}else{f=gi(c)|0;j=g+356+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=gi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;b[g+388+(e<<1)>>1]=(j|0)>-1?127:((f|0)>-128?f:-128)&65535;f=gi(c)|0;j=g+420+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=gi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;f=(j|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+452+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[k>>0]|0))}if(a[g+76>>0]|0)return 0;i=g+161|0;f=a[i>>0]|0;e=f<<24>>24;if(f<<24>>24>0){h=0;do{a[g+484+h>>0]=Jh(c,1)|0;h=h+1|0;f=a[i>>0]|0;e=f<<24>>24}while((h|0)<(e|0))}if(!(a[l>>0]|0)){if((e|0)>0)Rk(g+500|0,0,e|0)|0}else{if(f<<24>>24<=0)return 0;e=0;do{a[g+500+e>>0]=Jh(c,1)|0;e=e+1|0;f=a[i>>0]|0}while((e|0)<(f<<24>>24|0))}if(f<<24>>24<=0)return 0;h=g+259|0;e=0;do{if(!(a[g+484+e>>0]|0)){b[g+516+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=gi(c)|0;b[g+516+(e<<1)>>1]=(1<<a[m>>0])+f;f=(gi(c)|0)&65535}b[g+548+(e<<1)>>1]=f;if(!(a[g+500+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+580+(e<<1)>>1]=f;b[g+644+(e<<1)>>1]=f;b[g+612+(e<<1)>>1]=0;f=0}else{f=gi(c)|0;l=g+580+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=gi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;b[g+612+(e<<1)>>1]=(l|0)>-1?127:((f|0)>-128?f:-128)&65535;f=gi(c)|0;l=g+644+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=gi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;f=(l|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+676+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[i>>0]|0));return 0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a[d>>0]|0;e=e<<24>>24;h=1<<e;g=(c[b+124>>2]|0)==0;if(g?(c[b+84>>2]|0)==0:0)c[b+11568>>2]=-2<<e;switch(i<<24>>24){case 16:case 17:case 18:case 19:case 20:{e=6;break}case 21:{if(g)e=6;else e=7;break}default:e=7}do if((e|0)==6){g=(c[b+11568>>2]|0)+(h<<1)|0;c[b+11564>>2]=0;c[b+11572>>2]=0}else if((e|0)==7){e=c[b+11564>>2]|0;if((e|0)>(f|0)?(e-f|0)>=((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)+h|0;break}if((e|0)<(f|0)?(f-e|0)>((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)-h|0;break}g=c[b+11568>>2]|0}while(0);e=g+f|0;h=b+11572|0;j=c[h>>2]|0;c[h>>2]=(j|0)>(f|0)?j:f;if(!((i&-8)<<24>>24==16|i<<24>>24<16&(i&1)!=0))return e|0;if(!((i+-6&255)>3&(a[d+1>>0]|0)==0))return e|0;c[b+11564>>2]=f;c[b+11568>>2]=g;return e|0}function qi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=Sb;Sb=Sb+672|0;E=M+608|0;u=M+544|0;A=M+480|0;F=M+416|0;t=M+352|0;r=M+336|0;s=M+320|0;C=M+256|0;z=M+192|0;D=M+128|0;v=M+64|0;G=M;I=c[e+276>>2]|0;J=e+224|0;H=c[J>>2]|0;p=a[g+23>>0]|0;q=c[h+84>>2]|0;if((a[h+88>>0]|0)==1){n=a[h+89>>0]|0;m=a[g+4488+(n*70|0)+33>>0]|0;l=a[g+4488+(n*70|0)+34>>0]|0;o=g+4488+(n*70|0)+35|0;n=g+4488+(n*70|0)|0}else{m=a[h+221>>0]|0;l=a[h+222>>0]|0;o=h+223|0;n=h+188|0}if((m|0)>0){j=0;f=0;i=0;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(f<<2)>>2]=g;f=f+1|0}else{c[E+(i<<2)>>2]=g;i=i+1|0}j=j+1|0}while((j|0)!=(m|0));g=f;B=i}else{g=0;B=0}k=m+l|0;if((l|0)>0){f=0;j=m;i=g;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(i<<2)>>2]=g;i=i+1|0}else{c[A+(f<<2)>>2]=g;f=f+1|0}j=j+1|0}while((j|0)<(k|0));x=f}else{x=0;i=g}m=(a[h+91>>0]|0)+(a[h+90>>0]|0)|0;if((m|0)>0){n=h+80|0;f=0;k=0;l=0;while(1){g=c[h+4+(l<<2)>>2]|0;j=a[h+124+l>>0]|0;if(j<<24>>24)g=g+q-(c[n>>2]|0)-(a[h+140+l>>0]<<p)|0;if(!(a[h+108+l>>0]|0)){c[t+(f<<2)>>2]=g;a[s+f>>0]=j;f=f+1|0;g=k}else{c[F+(k<<2)>>2]=g;a[r+k>>0]=j;g=k+1|0}l=l+1|0;if((l|0)>=(m|0)){j=f;y=g;break}else k=g}}else{j=0;y=0}p=x+B+y|0;if(!(c[e+84>>2]|0)){f=0;do{g=c[I+4+(f<<3)>>2]|0;if(g|0)a[g+20>>0]=0;f=f+1|0}while((f|0)!=64)}w=(y|0)>0;if(w){g=0;do{f=c[F+(g<<2)>>2]|0;if(!(a[r+g>>0]|0)){f=Ie(I,f)|0;if(f)a[f+20>>0]=1}else{f=He(I,f)|0;if(f)a[f+20>>0]=1}c[C+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(y|0))}if((j|0)>0){g=0;do{f=c[t+(g<<2)>>2]|0;if(!(a[s+g>>0]|0)){f=Ie(I,f)|0;if(f|0)a[f+20>>0]=1}else{f=He(I,f)|0;if(f|0)a[f+20>>0]=1}g=g+1|0}while((g|0)!=(j|0))}q=(B|0)>0;if(q){f=0;do{g=He(I,c[E+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[D+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(B|0))}o=(x|0)>0;if(o){f=0;do{g=He(I,c[A+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[z+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(x|0))}if((i|0)>0){f=0;do{g=He(I,c[u+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;f=f+1|0}while((f|0)!=(i|0))}l=h+160|0;k=a[l>>0]|0;k=(p|0)>(k|0)?p:k;n=h+76|0;a:do if((d[n>>0]|0)<2){b:do if(k|0){if(!q){f=0;while(1){if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}if(f>>>0>=k>>>0)break b}}f=0;do{if(f>>>0<k>>>0){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}while(0);f=a[l>>0]|0;c:do if(f<<24>>24>0){m=(a[h+708>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+709+k>>0]|0;f=c[v+(f<<2)>>2]|0;c[h+876+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;d:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break d;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+876+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break c}Sb=M;return f|0}while(0);if(!(a[n>>0]|0)){l=h+161|0;f=a[l>>0]|0;k=f<<24>>24;k=(p|0)>(k|0)?p:k;if(k){if(o){f=0;do{if(f>>>0<k>>>0){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}else{f=0;do{if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Ge(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}f=a[l>>0]|0}if(f<<24>>24>0){m=(a[h+725>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+726+k>>0]|0;f=c[G+(f<<2)>>2]|0;c[h+1068+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;e:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break e;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+1068+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break a}Sb=M;return f|0}}}while(0);k=e+244|0;l=e+228|0;j=e+232|0;i=0;while(1){f=c[I+4+(i<<3)>>2]|0;f:do if((f|0?(a[f+20>>0]|0)==0:0)?(K=f+8|0,Fe(I,c[k>>2]|0,c[K>>2]|0),L=c[j>>2]|0,(L|0)>0):0){f=0;g=c[l>>2]|0;while(1){if(g|0?(c[g+16>>2]|0)==(c[K>>2]|0):0)break;f=f+1|0;if((f|0)<(L|0))g=g+40980|0;else break f}ae(c[J>>2]|0,f,2)|0}while(0);i=i+1|0;if((i|0)==64){f=0;break}}Sb=M;return f|0}function ri(){si(0);return}function si(a){a=a|0;ha(38776,43383);Y(38792,43388,1,1,0);da(38800,43393,1,-128,127);da(38816,43398,1,-128,127);da(38808,43410,1,0,255);da(38824,43424,2,-32768,32767);da(38832,43430,2,0,65535);da(38840,43445,4,-2147483648,2147483647);da(38848,43449,4,0,-1);da(38856,43462,4,-2147483648,2147483647);da(38864,43467,4,0,-1);ca(38872,43481,4);ca(38880,43487,8);fa(37848,43494);fa(38056,43506);ga(38080,4,43539);ba(37872,43552);ea(38104,0,43568);ea(38112,0,43598);ea(38120,1,43635);ea(38128,2,43674);ea(38136,3,43705);ea(38144,4,43745);ea(38152,5,43774);ea(38160,4,43812);ea(38168,5,43842);ea(38112,0,43881);ea(38120,1,43913);ea(38128,2,43946);ea(38136,3,43979);ea(38144,4,44013);ea(38152,5,44046);ea(38176,6,44080);ea(38184,7,44111);ea(38192,7,44143);return}function ti(a){a=a|0;return ej(c[a+4>>2]|0)|0}function ui(a){a=a|0;var b=0,d=0;b=Sb;Sb=Sb+16|0;d=b;c[d>>2]=zi(c[a+60>>2]|0)|0;a=xi(W(6,d|0)|0)|0;Sb=b;return a|0}function vi(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=Sb;Sb=Sb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=xi(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=xi(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Sb=m;return d|0}function wi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Sb;Sb=Sb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((xi(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Sb=g;return b|0}function xi(a){a=a|0;if(a>>>0>4294963200){c[(yi()|0)>>2]=0-a;a=-1}return a|0}function yi(){return 46624}function zi(a){a=a|0;return a|0}function Ai(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,V(54,f|0)|0):0)a[b+75>>0]=-1;f=vi(b,d,e)|0;Sb=g;return f|0}function Bi(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 Ci(a){a=a|0;return (a+-48|0)>>>0<10|0}function Di(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=Sb;Sb=Sb+160|0;g=j+144|0;i=j;Pk(i|0,38488,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(yi()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ei(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Sb=j;return d|0}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;return Hi(a,b,c,1,23)|0}function Fi(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;Zi(e)|0;j=v()|0;if((j|0)<0){e=-e;Zi(e)|0;D=1;C=44695;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?44696:44701):44698}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Si(b,32,f,j,h&-65537);Li(b,C,D);Li(b,e!=e|0.0!=0.0?(G?44722:44726):G?44714:44718,3);Si(b,32,f,j,h^8192)}else{q=+_i(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=Qi(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[37824+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Si(b,32,f,E,h);Li(b,s,p);Si(b,48,f,E,h^65536);F=m-F|0;Li(b,G,F);G=k-l|0;Si(b,48,j-(F+G)|0,0,0);Li(b,n,G);Si(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=Nk(c[j>>2]|0,0,n|0)|0;t=Hk(t|0,v()|0,m|0,0)|0;x=v()|0;m=Lk(t|0,x|0,1e9,0)|0;y=Gk(m|0,v()|0,1e9,0)|0;y=Ik(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Qi(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;Si(b,32,f,j,h);Li(b,C,D);Si(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=Qi(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Rk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Li(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Li(b,44730,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=Qi(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){Rk(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Li(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}Si(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=Qi(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;Li(b,l,1);if(t&(k|0)<1){l=m;break}Li(b,44730,1);l=m}else{if(l>>>0<=G>>>0)break;Rk(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;Li(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}Si(b,48,k+18|0,18,0);Li(b,x,E-x|0)}Si(b,32,f,j,h^8192)}while(0);Sb=H;return ((j|0)<(f|0)?f:j)|0}function Gi(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Hi(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=Sb;Sb=Sb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ii(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Ji(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ii(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ii(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Ki(b);e=(h&32|0)==0?e:-1}Sb=t;return e|0}function Ii(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Sb;Sb=Sb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(yi()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)Li(d,r,l)}while((l|0)!=0);w=(Ci(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((Ci(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=Mi(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Mi(G)|0;m=c[G>>2]|0;break}if(Ci(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(37360+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}Ni(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=Pi(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=44678;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=Ik(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=44678;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?44678:44680):44679;x=72;break e}}case 117:{n=I;o=0;p=44678;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=44678;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?44688:s;t=Ri(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=44678;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){Si(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=44678;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=Oi(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?44678:44678+(m>>>4)|0;x=73}else if((x|0)==72){q=Qi(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Ti(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}Si(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=Ti(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}Li(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;Si(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Si(d,32,l,K,m);Li(d,p,o);Si(d,48,l,K,m^65536);Si(d,48,s,t,0);Li(d,r,t);Si(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Ni(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Sb=J;return e|0}function Ji(a){a=a|0;return 1}function Ki(a){a=a|0;return}function Li(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Xi(b,d,a)|0;return}function Mi(b){b=b|0;var d=0,e=0;if(!(Ci(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ci(a[e>>0]|0)|0)!=0)}return d|0}function Ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ac[e&31](a,d);break a}default:break a}while(0);while(0);return}function Oi(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[37824+(b&15)>>0]|0|f;b=Mk(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Pi(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=Mk(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Qi(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=Lk(b|0,c|0,10,0)|0;f=c;c=v()|0;g=Gk(b|0,c|0,10,0)|0;g=Ik(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Si(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=Sb;Sb=Sb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Rk(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Li(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Li(a,f,e)}Sb=g;return}function Ti(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ui(a,b,0)|0;return a|0}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Vi()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(yi()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(yi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Vi(){return Wi()|0}function Wi(){return 39288}function Xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Yi(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Pk(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Yi(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Zi(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function _i(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=Mk(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+_i(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 $i(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;Pk(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function aj(a,b){a=a|0;b=b|0;var c=0;c=Ri(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function bj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Sb;Sb=Sb+16|0;g=f;c[g>>2]=e;e=Di(a,b,d,g)|0;Sb=f;return e|0}function dj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Yi(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Sb=l;return f|0}function ej(a){a=a|0;var b=0,c=0;b=(bj(a)|0)+1|0;c=hj(b)|0;if(!c)a=0;else a=Pk(c|0,a|0,b|0)|0;return a|0}function fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Ji(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=dj(d,b)|0;Ki(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=dj(d,b)|0}while(0);return e|0}function gj(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=b;b=Ei(c[9821]|0,a,e)|0;Sb=d;return b|0}function hj(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=Sb;Sb=Sb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[11657]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=46668+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[11657]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Sb=w;return v|0}l=c[11659]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=46668+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[11657]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[11662]|0;b=l>>>3;d=46668+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[11657]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11659]=h;c[11662]=f;v=i;Sb=w;return v|0}g=c[11658]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[46932+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=46932+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[11658]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[11662]|0;b=l>>>3;d=46668+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[11657]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[11659]=j;c[11662]=h}v=i+8|0;Sb=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[11658]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[46932+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[46932+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[11659]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=46932+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[11658]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=46668+(b<<1<<2)|0;a=c[11657]|0;b=1<<b;if(!(a&b)){c[11657]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=46932+(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[11658]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Sb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[11659]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[11662]|0;if(b>>>0>15){v=a+m|0;c[11662]=v;c[11659]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[11659]=0;c[11662]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Sb=w;return v|0}h=c[11660]|0;if(h>>>0>m>>>0){t=h-m|0;c[11660]=t;v=c[11663]|0;u=v+m|0;c[11663]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}if(!(c[11775]|0)){c[11777]=4096;c[11776]=4096;c[11778]=-1;c[11779]=-1;c[11780]=0;c[11768]=0;c[11775]=n&-16^1431655768;a=4096}else a=c[11777]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Sb=w;return v|0}a=c[11767]|0;if(a|0?(l=c[11765]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Sb=w;return v|0}d:do if(!(c[11768]&4)){d=c[11663]|0;e:do if(d){e=47076;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Sk(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Sk(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[11776]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[11765]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[11767]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Sk(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[11777]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Sk(a|0)|0)==(-1|0)){Sk(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[11768]=c[11768]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Sk(k|0)|0,p=Sk(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[11765]|0)+h|0;c[11765]=b;if(b>>>0>(c[11766]|0)>>>0)c[11766]=b;j=c[11663]|0;f:do if(j){b=47076;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[11660]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[11663]=u;c[11660]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[11664]=c[11779];break}if(g>>>0<(c[11661]|0)>>>0)c[11661]=g;d=g+h|0;b=47076;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[11660]|0)+i|0;c[11660]=v;c[11663]=k;c[k+4>>2]=v|1}else{if((c[11662]|0)==(b|0)){v=(c[11659]|0)+i|0;c[11659]=v;c[11662]=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[11657]=c[11657]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=46932+(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[11658]=c[11658]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=46668+(b<<1<<2)|0;a=c[11657]|0;b=1<<b;if(!(a&b)){c[11657]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=46932+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[11658]|0;d=1<<e;if(!(a&d)){c[11658]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Sb=w;return v|0}b=47076;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[11663]=u;c[11660]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[11664]=c[11779];d=a+4|0;c[d>>2]=27;c[b>>2]=c[11769];c[b+4>>2]=c[11770];c[b+8>>2]=c[11771];c[b+12>>2]=c[11772];c[11769]=g;c[11770]=h;c[11772]=0;c[11771]=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=46668+(b<<1<<2)|0;a=c[11657]|0;b=1<<b;if(!(a&b)){c[11657]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=46932+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[11658]|0;a=1<<e;if(!(b&a)){c[11658]=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[11661]|0;if((v|0)==0|g>>>0<v>>>0)c[11661]=g;c[11769]=g;c[11770]=h;c[11772]=0;c[11666]=c[11775];c[11665]=-1;c[11670]=46668;c[11669]=46668;c[11672]=46676;c[11671]=46676;c[11674]=46684;c[11673]=46684;c[11676]=46692;c[11675]=46692;c[11678]=46700;c[11677]=46700;c[11680]=46708;c[11679]=46708;c[11682]=46716;c[11681]=46716;c[11684]=46724;c[11683]=46724;c[11686]=46732;c[11685]=46732;c[11688]=46740;c[11687]=46740;c[11690]=46748;c[11689]=46748;c[11692]=46756;c[11691]=46756;c[11694]=46764;c[11693]=46764;c[11696]=46772;c[11695]=46772;c[11698]=46780;c[11697]=46780;c[11700]=46788;c[11699]=46788;c[11702]=46796;c[11701]=46796;c[11704]=46804;c[11703]=46804;c[11706]=46812;c[11705]=46812;c[11708]=46820;c[11707]=46820;c[11710]=46828;c[11709]=46828;c[11712]=46836;c[11711]=46836;c[11714]=46844;c[11713]=46844;c[11716]=46852;c[11715]=46852;c[11718]=46860;c[11717]=46860;c[11720]=46868;c[11719]=46868;c[11722]=46876;c[11721]=46876;c[11724]=46884;c[11723]=46884;c[11726]=46892;c[11725]=46892;c[11728]=46900;c[11727]=46900;c[11730]=46908;c[11729]=46908;c[11732]=46916;c[11731]=46916;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[11663]=u;c[11660]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[11664]=c[11779]}while(0);b=c[11660]|0;if(b>>>0>m>>>0){t=b-m|0;c[11660]=t;v=c[11663]|0;u=v+m|0;c[11663]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}}c[(yi()|0)>>2]=12;v=0;Sb=w;return v|0}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[11661]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[11662]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[11659]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[11657]=c[11657]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=46932+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[11658]=c[11658]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[11663]|0)==(j|0)){j=(c[11660]|0)+b|0;c[11660]=j;c[11663]=i;c[i+4>>2]=j|1;if((i|0)!=(c[11662]|0))return;c[11662]=0;c[11659]=0;return}if((c[11662]|0)==(j|0)){j=(c[11659]|0)+b|0;c[11659]=j;c[11662]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[11657]=c[11657]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=46932+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[11658]=c[11658]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[11662]|0)){c[11659]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=46668+(a<<1<<2)|0;b=c[11657]|0;a=1<<a;if(!(b&a)){c[11657]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=46932+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[11658]|0;d=1<<e;a:do if(!(b&d)){c[11658]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[11665]|0)+-1|0;c[11665]=j;if(j|0)return;a=47084;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[11665]=-1;return}function jj(a,b){a=a|0;b=b|0;return 0}function kj(a){a=a|0;return 0}function lj(a){a=a|0;return 0}function mj(a){a=a|0;return 0}function nj(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=hj(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function oj(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function pj(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function qj(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;_b[b&3]();c[a>>2]=324508639;return 0}function rj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=hj(b)|0;if(a|0)break;a=Ck()|0;if(!a){a=0;break}_b[a&3]()}return a|0}function sj(a){a=a|0;ij(a);return}function tj(a,b){a=a|0;b=b|0;var d=0,e=0;e=bj(b)|0;d=rj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=uj(d)|0;Pk(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function uj(a){a=a|0;return a+12|0}function vj(a,b){a=a|0;b=b|0;c[a>>2]=39624;tj(a+4|0,b);return}function wj(a){a=a|0;return 1}function xj(a){a=a|0;Ea()}function yj(a){a=a|0;Ea()}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Pk(a|0,b|0,c|0)|0;return a|0}function Aj(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Rk(a|0,(Cj(c)|0)&255|0,b|0)|0;return a|0}function Cj(a){a=a|0;return a&255|0}function Dj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Aj(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Aj(b+d|0,g);a[h>>0]=d;break}else Ej(b,d-f|0,e)|0;while(0);Sb=j;return}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=Sb;Sb=Sb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Fj(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;Bj(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Aj(g+f|0,i)}Sb=k;return b|0}function Fj(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)xj(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=rj(j)|0;if(g|0)zj(k,l,g)|0;e=f-h-g|0;if(e|0)zj(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)sj(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)yj(b);if(f)b=c[b>>2]|0;return b+d|0}function Hj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=Ij()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=44868;Jj(44818,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Yb[c[(c[9658]|0)+16>>2]&15](38632,e,f)|0){i=c[f>>2]|0;i=Vb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=44868;c[g+4>>2]=a;c[g+8>>2]=i;Jj(44732,g)}else{c[i>>2]=44868;c[i+4>>2]=a;Jj(44777,i)}}Jj(44856,h)}function Ij(){var a=0,b=0;a=Sb;Sb=Sb+16|0;if(!(qj(47124,3)|0)){b=oj(c[11782]|0)|0;Sb=a;return b|0}else Jj(45007,a);return 0}function Jj(a,b){a=a|0;b=b|0;var d=0;d=Sb;Sb=Sb+16|0;c[d>>2]=b;b=c[9820]|0;Ei(b,a,d)|0;fj(10,b)|0;Ea()}function Kj(a){a=a|0;return}function Lj(a){a=a|0;Kj(a);sj(a);return}function Mj(a){a=a|0;return}function Nj(a){a=a|0;return}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Sb;Sb=Sb+64|0;f=h;if(!(Sj(a,b,0)|0))if((b|0)!=0?(g=Wj(b,38656,38640,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;cc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Sb=h;return b|0}function Pj(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(Sj(a,c[b+8>>2]|0,g)|0)Vj(0,b,d,e,f);return}function Qj(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(!(Sj(b,c[d+8>>2]|0,g)|0)){if(Sj(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Uj(0,d,e,f);while(0);return}function Rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Sj(a,c[b+8>>2]|0,0)|0)Tj(0,b,d,e);return}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Tj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Uj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function Vj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Wj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Sb;Sb=Sb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(Sj(m,f,0)|0){c[n+48>>2]=1;ec[c[(c[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{dc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Sb=p;return d|0}function Xj(a){a=a|0;Kj(a);sj(a);return}function Yj(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(Sj(a,c[b+8>>2]|0,g)|0)Vj(0,b,d,e,f);else{a=c[a+8>>2]|0;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function Zj(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(!(Sj(b,c[d+8>>2]|0,g)|0)){if(!(Sj(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;dc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ec[c[(c[b>>2]|0)+20>>2]&31](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 Uj(0,d,e,f);while(0);return}function _j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Sj(a,c[b+8>>2]|0,0)|0)Tj(0,b,d,e);else{a=c[a+8>>2]|0;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function $j(a){a=a|0;return}function ak(){var a=0;a=Sb;Sb=Sb+16|0;if(!(nj(47128,31)|0)){Sb=a;return}else Jj(45056,a)}function bk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;ij(a);if(!(pj(c[11782]|0,0)|0)){Sb=b;return}else Jj(45106,b)}function ck(){var a=0,b=0;a=Ij()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)dk(c[b+12>>2]|0);dk(ek()|0)}function dk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;_b[a&3]();Jj(45159,b)}function ek(){var a=0;a=c[9883]|0;c[9883]=a+0;return a|0}function fk(a){a=a|0;return}function gk(a){a=a|0;c[a>>2]=39624;kk(a+4|0);return}function hk(a){a=a|0;gk(a);sj(a);return}function ik(a){a=a|0;return jk(a+4|0)|0}function jk(a){a=a|0;return c[a>>2]|0}function kk(a){a=a|0;var b=0,d=0;if(wj(a)|0?(b=lk(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)sj(b);return}function lk(a){a=a|0;return a+-12|0}function mk(a){a=a|0;gk(a);sj(a);return}function nk(a){a=a|0;Kj(a);sj(a);return}function ok(a,b,c){a=a|0;b=b|0;c=c|0;return Sj(a,b,0)|0}function pk(a){a=a|0;Kj(a);sj(a);return}function qk(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=Sb;Sb=Sb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(rk(a,b,0)|0))if(((b|0)!=0?(e=Wj(b,38656,38744,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(Sj(c[a>>2]|0,c[b>>2]|0,0)|0)?!(Sj(c[a>>2]|0,38776,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=Wj(a,38656,38640,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=Wj(f,38656,38640,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;cc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Sb=j;return a|0}function rk(a,b,c){a=a|0;b=b|0;c=c|0;if(Sj(a,b,0)|0)a=1;else a=Sj(b,38784,0)|0;return a|0}function sk(a){a=a|0;Kj(a);sj(a);return}function tk(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(Sj(b,c[d+8>>2]|0,h)|0)Vj(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;xk(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;xk(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return} |
| | | function pg(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=c+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<1)|0;g=a+h|0;p=0;f=a;k=m?l:c;h=m?c:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;c=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[e>>1]=((z|0)<255?z:255)>>>3<<11|((D|0)<255?D:255)>>>3|((E|0)<255?E:255)>>>2<<5;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;b[e+2>>1]=((E|0)<255?E:255)>>>3<<11|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>2<<5;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[c>>1]=((E|0)<255?E:255)>>>2<<5|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>3<<11;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;b[c+2>>1]=((B|0)<255?B:255)>>>2<<5|((A|0)<255?A:255)>>>3|((z|0)<255?z:255)>>>3<<11;if(m<<16>>16>1){m=m+-1<<16>>16;c=c+4|0;g=g+2|0;l=l+2|0;e=e+4|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<1)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<1)+(v<<1)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<1)+(j<<1)|0;k=k+i+v|0;h=h+i+v|0}}return}function qg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((f|0)<=0)return;k=0;while(1){Pk(c|0,a|0,e|0)|0;k=k+1|0;if((k|0)==(f|0))break;else{c=c+i|0;a=a+g|0}}a=f>>1;if((f|0)<=1)return;c=0;while(1){Pk(d|0,b|0,e|0)|0;c=c+1|0;if((c|0)>=(a|0))break;else{d=d+j|0;b=b+h|0}}return}function rg(b,c,d,e,f,g,h,i,j,k,l,m,n){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((n|0)==0&(h|0)>0){o=0;n=d;while(1){Pk(n|0,b|0,g|0)|0;o=o+1|0;if((o|0)==(h|0))break;else{n=n+k|0;b=b+i|0}}}b=(m|0)==0;n=c+1|0;m=h>>1;i=g>>1;if(!((h|0)>1&(g|0)>1))return;o=b?c:n;n=b?n:c;d=0;while(1){b=0;do{c=b<<1;a[e+b>>0]=a[n+c>>0]|0;a[f+b>>0]=a[o+c>>0]|0;b=b+1|0}while((b|0)<(i|0));d=d+1|0;if((d|0)>=(m|0))break;else{e=e+l|0;f=f+l|0;o=o+j|0;n=n+j|0}}return}function sg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=k+(d[b+(h+i)>>0]|0)|0;m=(m|0)>0?m:0;a[c+(h+j)>>0]=(m|0)<255?m:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function tg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=h<<1;n=k+(d[b+(m+i)>>0]|0)|0;n=(n|0)>0?n:0;a[c+(m+j)>>0]=(n|0)<255?n:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function ug(a){a=a|0;var b=0,d=0;b=a+16|0;if(eg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;if(fg(c[b>>2]|0)|0){d=2147483647;return d|0}d=(dg(c[b>>2]|0)|0)==0;d=d?0:2147483647;return d|0}function vg(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;f=e+8|0;c[f>>2]=0;j=c[d+16>>2]|0;g=c[d+20>>2]|0;l=c[d+24>>2]|0;e=Yb[j&15](l,128,12)|0;if(!e){l=1;return l|0}c[b>>2]=e;c[f>>2]=e;c[(c[b>>2]|0)+8>>2]=0;k=Yb[j&15](l,128,45344)|0;if(!k){l=1;return l|0}c[(c[b>>2]|0)+8>>2]=k;Rk(k|0,0,45344)|0;f=k+56|0;c[f>>2]=c[d+12>>2];e=c[d+8>>2]|0;switch(e|0){case 12:case 11:case 1:break;default:c[f>>2]=0}c[k+60>>2]=e;i=k+11616|0;c[i>>2]=j;c[k+11620>>2]=g;c[k+11624>>2]=l;e=(_f()|0)<<3;e=Yb[j&15](l,128,e)|0;if(!e){l=1;return l|0}c[k+11492>>2]=e;c[k+11496>>2]=e+(_f()|0);c[k+11500>>2]=e+((_f()|0)<<1);c[k+11504>>2]=e+((_f()|0)*3|0);c[k+11508>>2]=e+((_f()|0)<<2);c[k+11512>>2]=e+((_f()|0)*5|0);c[k+11516>>2]=e+((_f()|0)*6|0);c[k+11520>>2]=e+((_f()|0)*7|0);e=Yb[j&15](l,128,1048592)|0;if(!e){l=1;return l|0}c[k+172>>2]=e;c[k+184>>2]=1048576;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+264>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+276>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+244>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+224>>2]=e;e=Yb[j&15](l,128,7168)|0;if(!e){l=1;return l|0}Rk(e|0,0,7168)|0;c[k+292>>2]=e;c[k+632>>2]=e;e=Yb[j&15](l,128,152592)|0;if(!e){l=1;return l|0}Rk(e|0,0,152592)|0;h=k+296|0;c[h>>2]=e;c[k+636>>2]=e;e=Yb[j&15](l,128,4420)|0;if(!e){l=1;return l|0}Rk(e|0,0,4420)|0;g=k+300|0;c[g>>2]=e;c[k+640>>2]=e;e=Yb[j&15](l,128,325632)|0;if(!e){l=1;return l|0}Rk(e|0,0,325632)|0;c[k+304>>2]=e;c[k+644>>2]=e;e=Yb[j&15](l,128,666496)|0;if(!e){l=1;return l|0}d=k+280|0;c[d>>2]=e;e=Yb[j&15](l,128,542464)|0;if(!e){l=1;return l|0}c[k+252>>2]=e;e=Yb[j&15](l,128,262144)|0;if(!e){l=1;return l|0}c[k+6548>>2]=e;c[k+6552>>2]=e+16384;c[k+7240>>2]=e+32768;c[k+7244>>2]=e+49152;c[k+7932>>2]=e+65536;c[k+7936>>2]=e+81920;c[k+8624>>2]=e+98304;c[k+8628>>2]=e+114688;c[k+9316>>2]=e+131072;c[k+9320>>2]=e+147456;c[k+10008>>2]=e+163840;c[k+10012>>2]=e+180224;c[k+10700>>2]=e+196608;c[k+10704>>2]=e+212992;c[k+11392>>2]=e+229376;c[k+11396>>2]=e+245760;e=Yb[j&15](l,128,48)|0;if(!e){l=1;return l|0}f=e;b=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));c[k+628>>2]=e;c[k+624>>2]=e+16;e=Yb[c[i>>2]&15](l,128,158208)|0;if(!e){l=1;return l|0}Rk(e|0,0,158208)|0;c[k+6144>>2]=e;i=e+9216|0;c[k+6148>>2]=i;l=e+18432|0;c[k+6196>>2]=i;c[k+6200>>2]=e;c[k+6056>>2]=l;c[k+6320>>2]=l;l=e+19776|0;c[k+6156>>2]=64;c[k+6836>>2]=l;i=e+28992|0;c[k+6840>>2]=i;j=e+38208|0;c[k+6888>>2]=i;c[k+6892>>2]=l;c[k+6748>>2]=j;c[k+7012>>2]=j;j=e+39552|0;c[k+6848>>2]=64;c[k+7528>>2]=j;l=e+48768|0;c[k+7532>>2]=l;i=e+57984|0;c[k+7580>>2]=l;c[k+7584>>2]=j;c[k+7440>>2]=i;c[k+7704>>2]=i;i=e+59328|0;c[k+7540>>2]=64;c[k+8220>>2]=i;j=e+68544|0;c[k+8224>>2]=j;l=e+77760|0;c[k+8272>>2]=j;c[k+8276>>2]=i;c[k+8132>>2]=l;c[k+8396>>2]=l;l=e+79104|0;c[k+8232>>2]=64;c[k+8912>>2]=l;i=e+88320|0;c[k+8916>>2]=i;j=e+97536|0;c[k+8964>>2]=i;c[k+8968>>2]=l;c[k+8824>>2]=j;c[k+9088>>2]=j;j=e+98880|0;c[k+8924>>2]=64;c[k+9604>>2]=j;l=e+108096|0;c[k+9608>>2]=l;i=e+117312|0;c[k+9656>>2]=l;c[k+9660>>2]=j;c[k+9516>>2]=i;c[k+9780>>2]=i;i=e+118656|0;c[k+9616>>2]=64;c[k+10296>>2]=i;j=e+127872|0;c[k+10300>>2]=j;l=e+137088|0;c[k+10348>>2]=j;c[k+10352>>2]=i;c[k+10208>>2]=l;c[k+10472>>2]=l;l=e+138432|0;c[k+10308>>2]=64;c[k+10988>>2]=l;i=e+147648|0;c[k+10992>>2]=i;j=e+156864|0;c[k+11040>>2]=i;c[k+11044>>2]=l;c[k+10900>>2]=j;c[k+11164>>2]=j;c[k+11e3>>2]=64;j=c[h>>2]|0;l=c[g>>2]|0;k=c[d>>2]|0;c[j+8968>>2]=k;c[j+17944>>2]=k+8128;c[j+26920>>2]=k+16256;c[j+35896>>2]=k+24384;c[j+44872>>2]=k+32512;c[j+53848>>2]=k+40640;c[j+62824>>2]=k+48768;c[j+71800>>2]=k+56896;c[j+80776>>2]=k+65024;c[j+89752>>2]=k+73152;c[j+98728>>2]=k+81280;c[j+107704>>2]=k+89408;c[j+116680>>2]=k+97536;c[j+125656>>2]=k+105664;c[j+134632>>2]=k+113792;c[j+143608>>2]=k+121920;c[j+152584>>2]=k+130048;c[l>>2]=k+138176;c[l+68>>2]=k+146304;c[l+136>>2]=k+154432;c[l+204>>2]=k+162560;c[l+272>>2]=k+170688;c[l+340>>2]=k+178816;c[l+408>>2]=k+186944;c[l+476>>2]=k+195072;c[l+544>>2]=k+203200;c[l+612>>2]=k+211328;c[l+680>>2]=k+219456;c[l+748>>2]=k+227584;c[l+816>>2]=k+235712;c[l+884>>2]=k+243840;c[l+952>>2]=k+251968;c[l+1020>>2]=k+260096;c[l+1088>>2]=k+268224;c[l+1156>>2]=k+276352;c[l+1224>>2]=k+284480;c[l+1292>>2]=k+292608;c[l+1360>>2]=k+300736;c[l+1428>>2]=k+308864;c[l+1496>>2]=k+316992;c[l+1564>>2]=k+325120;c[l+1632>>2]=k+333248;c[l+1700>>2]=k+341376;c[l+1768>>2]=k+349504;c[l+1836>>2]=k+357632;c[l+1904>>2]=k+365760;c[l+1972>>2]=k+373888;c[l+2040>>2]=k+382016;c[l+2108>>2]=k+390144;c[l+2176>>2]=k+398272;c[l+2244>>2]=k+406400;c[l+2312>>2]=k+414528;c[l+2380>>2]=k+422656;c[l+2448>>2]=k+430784;c[l+2516>>2]=k+438912;c[l+2584>>2]=k+447040;c[l+2652>>2]=k+455168;c[l+2720>>2]=k+463296;c[l+2788>>2]=k+471424;c[l+2856>>2]=k+479552;c[l+2924>>2]=k+487680;c[l+2992>>2]=k+495808;c[l+3060>>2]=k+503936;c[l+3128>>2]=k+512064;c[l+3196>>2]=k+520192;c[l+3264>>2]=k+528320;c[l+3332>>2]=k+536448;c[l+3400>>2]=k+544576;c[l+3468>>2]=k+552704;c[l+3536>>2]=k+560832;c[l+3604>>2]=k+568960;c[l+3672>>2]=k+577088;c[l+3740>>2]=k+585216;c[l+3808>>2]=k+593344;c[l+3876>>2]=k+601472;c[l+3944>>2]=k+609600;c[l+4012>>2]=k+617728;c[l+4080>>2]=k+625856;c[l+4148>>2]=k+633984;c[l+4216>>2]=k+642112;c[l+4284>>2]=k+650240;c[l+4352>>2]=k+658368;l=0;return l|0}function wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+8|0;e=c[f>>2]|0;g=e+11620|0;h=c[g>>2]|0;i=e+11624|0;j=c[i>>2]|0;b=e+11492|0;d=c[b>>2]|0;if(d|0){ac[h&31](j,d);c[b>>2]=0}b=e+172|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+264|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+276|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+244|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+224|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+292|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+296|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+300|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+304|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+280|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+252|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+628|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6548|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6144|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=c[f>>2]|0;if(!b){ac[h&31](j,a);return 0}ac[c[g>>2]&31](c[i>>2]|0,b);c[f>>2]=0;ac[h&31](j,a);return 0}function xg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=c[b+11624>>2]|0;j=(c[b>>2]|0)+63|0;v=j&-64;i=(c[b+4>>2]|0)+63|0;w=i&-64;o=v+64|0;h=(j|63|0)/64|0;m=w+64|0;s=(w|0)/16|0;t=(v|0)/16|0;u=r(s,t)|0;n=(v|0)/8|0;f=(w|0)/8|0;i=r((i|63|0)/64|0,h)|0;d=i*390|0;y=b+11616|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;g=b+284|0;c[g>>2]=e;d=i+s<<2;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+308>>2]=e;d=((v|0)/64|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+608>>2]=e;d=((v|0)/32|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+616>>2]=e;d=((r(f,n)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+212>>2]=e;c[b+600>>2]=e;l=f+8|0;d=((r(l,n+8|0)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,1,d|0)|0;c[b+216>>2]=e;e=e+(j>>6)+1|0;c[b+220>>2]=e;c[b+604>>2]=e;c[b+1212>>2]=e;c[b+1284>>2]=e;e=c[b+300>>2]|0;d=c[g>>2]|0;c[e+4>>2]=d;d=d+(i*6|0)|0;c[e+72>>2]=d;d=d+(i*6|0)|0;c[e+140>>2]=d;d=d+(i*6|0)|0;c[e+208>>2]=d;d=d+(i*6|0)|0;c[e+276>>2]=d;d=d+(i*6|0)|0;c[e+344>>2]=d;d=d+(i*6|0)|0;c[e+412>>2]=d;d=d+(i*6|0)|0;c[e+480>>2]=d;d=d+(i*6|0)|0;c[e+548>>2]=d;d=d+(i*6|0)|0;c[e+616>>2]=d;d=d+(i*6|0)|0;c[e+684>>2]=d;d=d+(i*6|0)|0;c[e+752>>2]=d;d=d+(i*6|0)|0;c[e+820>>2]=d;d=d+(i*6|0)|0;c[e+888>>2]=d;d=d+(i*6|0)|0;c[e+956>>2]=d;d=d+(i*6|0)|0;c[e+1024>>2]=d;d=d+(i*6|0)|0;c[e+1092>>2]=d;d=d+(i*6|0)|0;c[e+1160>>2]=d;d=d+(i*6|0)|0;c[e+1228>>2]=d;d=d+(i*6|0)|0;c[e+1296>>2]=d;d=d+(i*6|0)|0;c[e+1364>>2]=d;d=d+(i*6|0)|0;c[e+1432>>2]=d;d=d+(i*6|0)|0;c[e+1500>>2]=d;d=d+(i*6|0)|0;c[e+1568>>2]=d;d=d+(i*6|0)|0;c[e+1636>>2]=d;d=d+(i*6|0)|0;c[e+1704>>2]=d;d=d+(i*6|0)|0;c[e+1772>>2]=d;d=d+(i*6|0)|0;c[e+1840>>2]=d;d=d+(i*6|0)|0;c[e+1908>>2]=d;d=d+(i*6|0)|0;c[e+1976>>2]=d;d=d+(i*6|0)|0;c[e+2044>>2]=d;d=d+(i*6|0)|0;c[e+2112>>2]=d;d=d+(i*6|0)|0;c[e+2180>>2]=d;d=d+(i*6|0)|0;c[e+2248>>2]=d;d=d+(i*6|0)|0;c[e+2316>>2]=d;d=d+(i*6|0)|0;c[e+2384>>2]=d;d=d+(i*6|0)|0;c[e+2452>>2]=d;d=d+(i*6|0)|0;c[e+2520>>2]=d;d=d+(i*6|0)|0;c[e+2588>>2]=d;d=d+(i*6|0)|0;c[e+2656>>2]=d;d=d+(i*6|0)|0;c[e+2724>>2]=d;d=d+(i*6|0)|0;c[e+2792>>2]=d;d=d+(i*6|0)|0;c[e+2860>>2]=d;d=d+(i*6|0)|0;c[e+2928>>2]=d;d=d+(i*6|0)|0;c[e+2996>>2]=d;d=d+(i*6|0)|0;c[e+3064>>2]=d;d=d+(i*6|0)|0;c[e+3132>>2]=d;d=d+(i*6|0)|0;c[e+3200>>2]=d;d=d+(i*6|0)|0;c[e+3268>>2]=d;d=d+(i*6|0)|0;c[e+3336>>2]=d;d=d+(i*6|0)|0;c[e+3404>>2]=d;d=d+(i*6|0)|0;c[e+3472>>2]=d;d=d+(i*6|0)|0;c[e+3540>>2]=d;d=d+(i*6|0)|0;c[e+3608>>2]=d;d=d+(i*6|0)|0;c[e+3676>>2]=d;d=d+(i*6|0)|0;c[e+3744>>2]=d;d=d+(i*6|0)|0;c[e+3812>>2]=d;d=d+(i*6|0)|0;c[e+3880>>2]=d;d=d+(i*6|0)|0;c[e+3948>>2]=d;d=d+(i*6|0)|0;c[e+4016>>2]=d;d=d+(i*6|0)|0;c[e+4084>>2]=d;d=d+(i*6|0)|0;c[e+4152>>2]=d;d=d+(i*6|0)|0;c[e+4220>>2]=d;d=d+(i*6|0)|0;c[e+4288>>2]=d;c[e+4356>>2]=d+(i*6|0);e=(r(s,h)|0)+s<<4;e=(e|3)+(yg()|0)&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}q=b+196|0;c[q>>2]=d;p=b+200|0;c[p>>2]=e;e=u+3&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Rk(d|0,0,e|0)|0;c[b+204>>2]=d;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Rk(d|0,0,e|0)|0;c[b+208>>2]=d;h=((v|0)/4|0)<<2;d=h+519&-4;i=Yb[c[y>>2]&15](x,128,d)|0;if(!i){b=1;return b|0}Rk(i|0,0,d|0)|0;d=i+512|0;c[b+6064>>2]=i;f=i;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=b+6060|0;c[e>>2]=d;f=i+64|0;c[b+6756>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+6752>>2]=d;f=i+128|0;c[b+7448>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+7444>>2]=d;f=i+192|0;c[b+8140>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8136>>2]=d;f=i+256|0;c[b+8832>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8828>>2]=d;f=i+320|0;c[b+9524>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+9520>>2]=d;f=i+384|0;c[b+10216>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10212>>2]=d;f=i+448|0;c[b+10908>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10904>>2]=d;Rk(c[e>>2]|0,0,h+4|0)|0;d=(w|0)>(v|0)?w:v;e=s<<1;k=t<<1;j=t+63+k+(s*9|0)+(d+v<<1)&-64;f=Yb[c[y>>2]&15](x,128,j)|0;if(!f){b=1;return b|0}Rk(f|0,0,j|0)|0;c[b+6556>>2]=f;c[b+7248>>2]=f;c[b+7940>>2]=f;c[b+8632>>2]=f;c[b+9324>>2]=f;c[b+10016>>2]=f;c[b+10708>>2]=f;c[b+11400>>2]=f;c[b+1308>>2]=f;i=f+d|0;c[b+6564>>2]=i;c[b+7256>>2]=i;c[b+7948>>2]=i;c[b+8640>>2]=i;c[b+9332>>2]=i;c[b+10024>>2]=i;c[b+10716>>2]=i;c[b+11408>>2]=i;c[b+1316>>2]=i;i=i+d|0;c[b+6560>>2]=i;c[b+7252>>2]=i;c[b+7944>>2]=i;c[b+8636>>2]=i;c[b+9328>>2]=i;c[b+10020>>2]=i;c[b+10712>>2]=i;c[b+11404>>2]=i;c[b+1312>>2]=i;i=i+v|0;c[b+6568>>2]=i;c[b+7260>>2]=i;c[b+7952>>2]=i;c[b+8644>>2]=i;c[b+9336>>2]=i;c[b+10028>>2]=i;c[b+10720>>2]=i;c[b+11412>>2]=i;c[b+1320>>2]=i;i=i+v|0;c[b+6572>>2]=i;c[b+7264>>2]=i;c[b+7956>>2]=i;c[b+8648>>2]=i;c[b+9340>>2]=i;c[b+10032>>2]=i;c[b+10724>>2]=i;c[b+11416>>2]=i;c[b+1324>>2]=i;i=i+s|0;c[b+6576>>2]=i;c[b+7268>>2]=i;c[b+7960>>2]=i;c[b+8652>>2]=i;c[b+9344>>2]=i;c[b+10036>>2]=i;c[b+10728>>2]=i;c[b+11420>>2]=i;c[b+1328>>2]=i;i=i+e|0;c[b+6580>>2]=i;c[b+7272>>2]=i;c[b+7964>>2]=i;c[b+8656>>2]=i;c[b+9348>>2]=i;c[b+10040>>2]=i;c[b+10732>>2]=i;c[b+11424>>2]=i;c[b+1332>>2]=i;i=i+s|0;c[b+6584>>2]=i;c[b+7276>>2]=i;c[b+7968>>2]=i;c[b+8660>>2]=i;c[b+9352>>2]=i;c[b+10044>>2]=i;c[b+10736>>2]=i;c[b+11428>>2]=i;c[b+1336>>2]=i;i=i+e|0;c[b+6588>>2]=i;c[b+7280>>2]=i;c[b+7972>>2]=i;c[b+8664>>2]=i;c[b+9356>>2]=i;c[b+10048>>2]=i;c[b+10740>>2]=i;c[b+11432>>2]=i;c[b+1340>>2]=i;i=i+t|0;c[b+6592>>2]=i;c[b+7284>>2]=i;c[b+7976>>2]=i;c[b+8668>>2]=i;c[b+9360>>2]=i;c[b+10052>>2]=i;c[b+10744>>2]=i;c[b+11436>>2]=i;c[b+1344>>2]=i;i=i+k|0;c[b+6600>>2]=i;c[b+7292>>2]=i;c[b+7984>>2]=i;c[b+8676>>2]=i;c[b+9368>>2]=i;c[b+10060>>2]=i;c[b+10752>>2]=i;c[b+11444>>2]=i;c[b+1352>>2]=i;i=i+s|0;c[b+6608>>2]=i;c[b+7300>>2]=i;c[b+7992>>2]=i;c[b+8684>>2]=i;c[b+9376>>2]=i;c[b+10068>>2]=i;c[b+10760>>2]=i;c[b+11452>>2]=i;c[b+1360>>2]=i;i=((r((m|0)/4|0,n+16|0)|0)/8|0)<<1;f=((r(l,(o|0)/4|0)|0)/8|0)<<1;g=(r(t+1|0,s)|0)/8|0;l=r(w,v)|0;h=(l|0)/64|0;d=g+h+i+f+j|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;d=0-(g+(h+(i+f)))|0;c[b+6284>>2]=e;c[b+6400>>2]=e;m=e+i|0;c[b+6288>>2]=m;c[b+6404>>2]=m;m=m+f|0;c[b+6296>>2]=m;c[b+6412>>2]=m;m=m+h|0;c[b+6292>>2]=m;c[b+6408>>2]=m;m=m+g+d|0;c[b+6976>>2]=m;c[b+7092>>2]=m;m=m+i|0;c[b+6980>>2]=m;c[b+7096>>2]=m;m=m+f|0;c[b+6988>>2]=m;c[b+7104>>2]=m;m=m+h|0;c[b+6984>>2]=m;c[b+7100>>2]=m;m=m+g+d|0;c[b+7668>>2]=m;c[b+7784>>2]=m;m=m+i|0;c[b+7672>>2]=m;c[b+7788>>2]=m;m=m+f|0;c[b+7680>>2]=m;c[b+7796>>2]=m;m=m+h|0;c[b+7676>>2]=m;c[b+7792>>2]=m;m=m+g+d|0;c[b+8360>>2]=m;c[b+8476>>2]=m;m=m+i|0;c[b+8364>>2]=m;c[b+8480>>2]=m;m=m+f|0;c[b+8372>>2]=m;c[b+8488>>2]=m;m=m+h|0;c[b+8368>>2]=m;c[b+8484>>2]=m;m=m+g+d|0;c[b+9052>>2]=m;c[b+9168>>2]=m;m=m+i|0;c[b+9056>>2]=m;c[b+9172>>2]=m;m=m+f|0;c[b+9064>>2]=m;c[b+9180>>2]=m;m=m+h|0;c[b+9060>>2]=m;c[b+9176>>2]=m;m=m+g+d|0;c[b+9744>>2]=m;c[b+9860>>2]=m;m=m+i|0;c[b+9748>>2]=m;c[b+9864>>2]=m;m=m+f|0;c[b+9756>>2]=m;c[b+9872>>2]=m;m=m+h|0;c[b+9752>>2]=m;c[b+9868>>2]=m;m=m+g+d|0;c[b+10436>>2]=m;c[b+10552>>2]=m;m=m+i|0;c[b+10440>>2]=m;c[b+10556>>2]=m;m=m+f|0;c[b+10448>>2]=m;c[b+10564>>2]=m;m=m+h|0;c[b+10444>>2]=m;c[b+10560>>2]=m;m=m+g+d|0;c[b+11128>>2]=m;c[b+11244>>2]=m;n=m+i|0;c[b+11132>>2]=n;c[b+11248>>2]=n;o=n+f|0;c[b+11140>>2]=o;c[b+11256>>2]=o;e=o+h|0;c[b+11136>>2]=e;c[b+11252>>2]=e;d=e+g+d|0;c[b+1152>>2]=m;c[b+1156>>2]=n;c[b+1164>>2]=o;c[b+1160>>2]=e;c[b+1036>>2]=d;d=d+i|0;c[b+1040>>2]=d;d=d+f|0;c[b+1048>>2]=d;c[b+1044>>2]=d+h;d=r(k,s+2|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+11612>>2]=e;d=e+(t<<1)|0;c[b+6632>>2]=d;c[b+7324>>2]=d;c[b+8016>>2]=d;c[b+8708>>2]=d;c[b+9400>>2]=d;c[b+10092>>2]=d;c[b+10784>>2]=d;c[b+11476>>2]=d;d=u*12|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+1444>>2]=e;c[b+1296>>2]=e;d=e;c[b+6544>>2]=d;c[b+7236>>2]=d;c[b+7928>>2]=d;c[b+8620>>2]=d;c[b+9312>>2]=d;c[b+10004>>2]=d;c[b+10696>>2]=d;c[b+11388>>2]=d;d=b+176|0;c[d>>2]=0;do if((l|0)>1048576){e=Yb[c[y>>2]&15](x,128,l|16)|0;if(!e){b=1;return b|0}else{c[d>>2]=e;c[b+188>>2]=l;break}}while(0);d=zg(l)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Rk(e|0,0,d|0)|0;c[b+192>>2]=e;e=c[b+636>>2]|0;d=c[b+11596>>2]|0;d=(a[(a[e+(d*8976|0)+14>>0]|0)+-1+(e+(d*8976|0)+25)>>0]|0)+1|0;d=r(d,(Ag(l)|0)+40980|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}c[b+236>>2]=e;c[b+240>>2]=d;do if(!(c[b+56>>2]|0)){e=Bg(b,v,w)|0;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}else{c[b+256>>2]=e;c[b+11628>>2]=d;break}}while(0);d=Cg(c[q>>2]|0,c[p>>2]|0)|0;c[b+11556>>2]=d;e=d;if(!d){b=1;return b|0}c[b+656>>2]=d;c[b+6092>>2]=e;c[b+6100>>2]=0;c[b+5956>>2]=b;c[b+6104>>2]=0;c[b+6108>>2]=0;c[b+6784>>2]=e;c[b+6792>>2]=1;c[b+6648>>2]=b;c[b+6796>>2]=0;c[b+6800>>2]=0;c[b+7476>>2]=e;c[b+7484>>2]=2;c[b+7340>>2]=b;c[b+7488>>2]=0;c[b+7492>>2]=0;c[b+8168>>2]=e;c[b+8176>>2]=3;c[b+8032>>2]=b;c[b+8180>>2]=0;c[b+8184>>2]=0;c[b+8860>>2]=e;c[b+8868>>2]=4;c[b+8724>>2]=b;c[b+8872>>2]=0;c[b+8876>>2]=0;c[b+9552>>2]=e;c[b+9560>>2]=5;c[b+9416>>2]=b;c[b+9564>>2]=0;c[b+9568>>2]=0;c[b+10244>>2]=e;c[b+10252>>2]=6;c[b+10108>>2]=b;c[b+10256>>2]=0;c[b+10260>>2]=0;c[b+10936>>2]=e;c[b+10944>>2]=7;c[b+10800>>2]=b;c[b+10948>>2]=0;c[b+10952>>2]=0;c[b+11632>>2]=1;b=0;return b|0}function yg(){return ($f()|0)+24|0}function zg(a){a=a|0;var b=0;b=(a|0)/16|0;return b+4+(((a|0)/256|0)<<2)+(((b>>1)+b|0)*42|0)|0}function Ag(a){a=a|0;var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return b+4+(a<<2)+(b<<4)+((a<<1)+3&-4)|0}function Bg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[b+636>>2]|0;i=c[b+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;f=a[h+(i*8976|0)+25+g>>0]|0;if((c[b+11636>>2]|0)!=1)f=(a[h+(i*8976|0)+32+g>>0]|0)+f|0;return r(f+1|0,(r((d*3|0)+480|0,e+160|0)|0)/2|0)|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+24|0;d=a+16|0;c[d>>2]=e;e=e+($f()|0)|0;b=b+-24-($f()|0)|0;if((b|0)<1){e=0;return e|0}cg(c[d>>2]|0)|0;c[a>>2]=e;c[a+4>>2]=e;c[a+8>>2]=e;c[a+12>>2]=e+b;c[a+20>>2]=0;e=a;return e|0}function Dg(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=c[a+8>>2]|0;a=m+52|0;c[a>>2]=0;a:do if(c[m+56>>2]|0){l=c[b+8>>2]|0;l=l>>>0<64?l:64;c[a>>2]=l;e=c[m+248>>2]|0;k=m+60|0;do if((c[k>>2]|0)==1){a=r(l<<1,c[b+276>>2]|0)|0;a=Yb[c[m+11616>>2]&15](c[m+11624>>2]|0,128,a)|0;if(!a){d=1;return d|0}else{c[m+260>>2]=a;break}}else a=0;while(0);if((l|0)>0){j=b+12|0;g=b+276|0;h=m+244|0;i=m+45340|0;f=0;while(1){c[e>>2]=c[j+(f*516|0)+4>>2];if((c[k>>2]|0)==1){b=a;a=a+(c[g>>2]<<1)|0}else b=c[j+(f*516|0)+8>>2]|0;c[e+4>>2]=b;if(Zd(c[h>>2]|0,e,f)|0)break;be(c[h>>2]|0,f,4)|0;Pk(m+12316+((c[i>>2]|0)*516|0)|0,j+(f*516|0)|0,516)|0;c[i>>2]=(c[i>>2]|0)+1;f=f+1|0;if(f>>>0>=l>>>0)break a;else e=e+8476|0}c[m+144>>2]=983;d=983;return d|0}}while(0);c[d+4>>2]=0;d=0;return d|0}function Eg(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;c[e+4>>2]=0;m=c[b+8>>2]|0;c[e+36>>2]=1;n=c[m+60>>2]|0;switch(n|0){case 1:{b=3;o=6;break}case 5:{b=1;o=6;break}case 9:{b=1;o=6;break}case 13:{b=1;o=6;break}case 12:case 11:{b=2;o=6;break}default:{}}if((o|0)==6)c[e+40>>2]=b;k=e+8|0;c[k>>2]=1;l=m+4|0;i=r((c[l>>2]|0)+63&-64,(c[m>>2]|0)+63&-64)|0;c[e+44>>2]=(i|0)>1048576?i:1048576;i=c[l>>2]|0;b=c[m+56>>2]|0;do if(!(c[m+112>>2]|0)){d=c[m>>2]|0;j=c[m+16>>2]|0;d=(j|0)>(d|0)?j:d;if(!b){j=i;i=1}else{c[k>>2]=32;j=i;i=32}}else{if(!b){d=c[m+8>>2]|0;i=c[m+16>>2]|0;j=c[m+12>>2]|0;d=(i|0)>(d|0)?i:d;i=1;break}d=c[m+16>>2]|0;g=c[m+636>>2]|0;h=c[m+11596>>2]|0;f=(a[g+(h*8976|0)+14>>0]|0)+-1|0;if((c[m+11636>>2]|0)==1)b=1;else b=(a[g+(h*8976|0)+32+f>>0]|0)+1|0;h=b+(a[g+(h*8976|0)+25+f>>0]|0)|0;c[k>>2]=h;j=i+160|0;i=h>>>0<32?h:32}while(0);c[k>>2]=i;switch(n|0){case 1:{g=r(d,j)|0;c[e+300>>2]=g;g=g>>2;b=g;f=308;h=304;o=21;break}case 5:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 9:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 13:{c[e+300>>2]=(r(d,j)|0)<<2;b=0;f=304;g=0;h=308;o=21;break}case 12:case 11:{g=r(d,j)|0;c[e+300>>2]=g;b=0;f=308;g=g>>1;h=304;o=21;break}default:{}}if((o|0)==21){c[e+h>>2]=g;c[e+f>>2]=b}c[e+12>>2]=j;c[e+16>>2]=d;c[e+20>>2]=3e4;c[e+24>>2]=1e6;c[e+28>>2]=0;c[e+32>>2]=n;c[m+52>>2]=i;if((c[e>>2]|0)!=564)return 0;c[e+560>>2]=c[l>>2];return 0}function Fg(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;c[e+4>>2]=0;l=c[b+8>>2]|0;g=e+12|0;c[g>>2]=1;k=c[l+60>>2]|0;switch(k|0){case 1:{b=3;f=6;break}case 5:{b=1;f=6;break}case 9:{b=1;f=6;break}case 13:{b=1;f=6;break}case 12:case 11:{b=2;f=6;break}default:{}}if((f|0)==6)c[e+16>>2]=b;j=e+8|0;c[j>>2]=1;d=l+4|0;f=e+20|0;b=0;do{i=r((c[d>>2]|0)+63&-64,(c[l>>2]|0)+63&-64)|0;c[f+(b<<2)>>2]=(i|0)>1048576?i:1048576;b=b+1|0}while(b>>>0<(c[g>>2]|0)>>>0);b=c[l+56>>2]|0;do if(!(c[l+112>>2]|0)){d=(b|0)==1?160:0;f=c[l+16>>2]|0;f=(f|0)>(d|0)?f:d;if(!b){b=f;h=1}else{c[j>>2]=32;b=f;h=32}}else{if(!b){b=c[l+8>>2]|0;h=c[l+16>>2]|0;d=c[l+12>>2]|0;b=(h|0)>(b|0)?h:b;h=1;break}b=c[l+16>>2]|0;d=(c[l+4>>2]|0)+160|0;h=c[l+636>>2]|0;i=c[l+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;if((c[l+11636>>2]|0)==1)f=1;else f=(a[h+(i*8976|0)+32+g>>0]|0)+1|0;h=f+(a[h+(i*8976|0)+25+g>>0]|0)|0;c[j>>2]=h;h=h>>>0<32?h:32}while(0);c[j>>2]=h;switch(k|0){case 1:{f=r(d,b)|0;c[e+276>>2]=f;f=f>>2;b=f;d=284;g=280;break}case 5:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 9:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 13:{c[e+276>>2]=(r(d,b)|0)<<2;b=0;d=280;f=0;g=284;break}case 12:case 11:{f=r(d,b)|0;c[e+276>>2]=f;b=0;d=284;f=f>>1;g=280;break}default:{e=l+52|0;c[e>>2]=h;return 0}}c[e+g>>2]=f;c[e+d>>2]=b;e=l+52|0;c[e>>2]=h;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,l=0,m=0,n=0,o=0,p=0;o=c[a+8>>2]|0;do if(!(c[o+112>>2]|0)){n=c[o+56>>2]|0;a=(n|0)==0?0:160;f=c[o+20>>2]|0;f=(f|0)>(a|0)?f:a;if(!n){b=0;e=0;h=6}else{b=0;e=0;n=80}}else{f=c[o+8>>2]|0;b=c[o+12>>2]|0;g=c[o+20>>2]|0;if(!(c[o+56>>2]|0)){a=b;e=f;f=(g|0)>(f|0)?g:f;h=6;break}else{m=c[o+20>>2]|0;a=(c[o+4>>2]|0)+160|0;e=f;n=80;f=(m|0)>(g|0)?m:g;break}}while(0);if((h|0)==6)n=0;c[d+32>>2]=e;c[d+44>>2]=b;c[d+56>>2]=f;c[d+68>>2]=a;c[d+8>>2]=n;c[d+20>>2]=n;k=e+1|0;p=k>>>1;l=d+40|0;c[l>>2]=p;m=d+36|0;c[m>>2]=p;p=(b+1|0)>>>1;h=d+52|0;c[h>>2]=p;c[d+48>>2]=p;p=f>>>1;i=d+64|0;c[i>>2]=p;j=d+60|0;c[j>>2]=p;p=a>>>1;a=d+76|0;c[a>>2]=p;c[d+72>>2]=p;p=n>>>1;b=d+16|0;c[b>>2]=p;e=d+12|0;c[e>>2]=p;g=d+28|0;c[g>>2]=p;c[d+24>>2]=p;if(((c[o+60>>2]|0)+-11|0)>>>0>=2)return 0;c[l>>2]=0;c[h>>2]=0;c[i>>2]=0;c[a>>2]=0;c[b>>2]=0;c[g>>2]=0;c[m>>2]=k&-2;c[j>>2]=f&-2;c[e>>2]=n;return 0}function Hg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+8>>2]|0;if(!(c[g+112>>2]|0)){c[f+4>>2]=991;f=1;return f|0}d=c[g+360>>2]|0;if(!((a[d+8972>>0]|0)!=0?(a[d+162>>0]|0)!=0:0))h=5;a:do if((h|0)==5){e=0;d=c[g+296>>2]|0;while(1){if(a[d+8972>>0]|0?a[d+162>>0]|0:0)break a;e=e+1|0;if((e|0)==16)break;d=d+8976|0}c[f+4>>2]=991;f=1;return f|0}while(0);a[f+8>>0]=a[d+164>>0]|0;a[f+9>>0]=a[d+165>>0]|0;b[f+10>>1]=b[d+166>>1]|0;b[f+12>>1]=b[d+168>>1]|0;a[f+14>>0]=a[d+170>>0]|0;a[f+15>>0]=a[d+171>>0]|0;a[f+16>>0]=a[d+172>>0]|0;a[f+17>>0]=a[d+173>>0]|0;a[f+18>>0]=a[d+174>>0]|0;a[f+19>>0]=a[d+175>>0]|0;a[f+20>>0]=a[d+176>>0]|0;a[f+21>>0]=a[d+177>>0]|0;a[f+22>>0]=a[d+178>>0]|0;a[f+23>>0]=a[d+179>>0]|0;a[f+24>>0]=a[d+180>>0]|0;a[f+25>>0]=a[d+181>>0]|0;a[f+26>>0]=a[d+182>>0]|0;a[f+27>>0]=a[d+183>>0]|0;a[f+28>>0]=a[d+184>>0]|0;a[f+29>>0]=a[d+185>>0]|0;c[f+32>>2]=c[d+188>>2];c[f+36>>2]=c[d+192>>2];c[f+40>>2]=c[d+196>>2];c[f+44>>2]=c[d+200>>2];a[f+48>>0]=a[d+204>>0]|0;a[f+49>>0]=a[d+4088>>0]|0;c[f+52>>2]=c[d+4092>>2];c[f+56>>2]=c[d+4096>>2];a[f+60>>0]=a[d+4100>>0]|0;a[f+61>>0]=a[d+4101>>0]|0;a[f+62>>0]=a[d+4102>>0]|0;a[f+63>>0]=a[d+4103>>0]|0;a[f+64>>0]=a[d+4104>>0]|0;a[f+65>>0]=a[d+4105>>0]|0;a[f+66>>0]=c[d+4108>>2];a[f+67>>0]=a[d+4112>>0]|0;a[f+68>>0]=a[d+4113>>0]|0;a[f+69>>0]=a[d+4114>>0]|0;a[f+70>>0]=a[d+4115>>0]|0;a[f+71>>0]=a[d+208>>0]|0;c[f+72>>2]=c[d+212>>2];c[f+76>>2]=c[d+216>>2];a[f+80>>0]=a[d+220>>0]|0;a[f+81>>0]=a[d+221>>0]|0;a[f+82>>0]=a[d+222>>0]|0;a[f+83>>0]=a[d+223>>0]|0;a[f+84>>0]=a[d+224>>0]|0;a[f+85>>0]=a[d+225>>0]|0;a[f+86>>0]=a[d+226>>0]|0;a[f+87>>0]=a[d+227>>0]|0;a[f+88>>0]=c[d+228>>2];a[f+89>>0]=c[d+232>>2];a[f+90>>0]=c[d+236>>2];a[f+91>>0]=a[d+240>>0]|0;a[f+92>>0]=a[d+241>>0]|0;a[f+93>>0]=a[d+242>>0]|0;a[f+94>>0]=a[d+243>>0]|0;a[f+100>>0]=a[d+250>>0]|0;a[f+106>>0]=a[d+257>>0]|0;a[f+112>>0]=a[d+264>>0]|0;a[f+118>>0]=a[d+271>>0]|0;a[f+95>>0]=a[d+244>>0]|0;a[f+101>>0]=a[d+251>>0]|0;a[f+107>>0]=a[d+258>>0]|0;a[f+113>>0]=a[d+265>>0]|0;a[f+119>>0]=a[d+272>>0]|0;a[f+96>>0]=a[d+245>>0]|0;a[f+102>>0]=a[d+252>>0]|0;a[f+108>>0]=a[d+259>>0]|0;a[f+114>>0]=a[d+266>>0]|0;a[f+120>>0]=a[d+273>>0]|0;a[f+97>>0]=a[d+246>>0]|0;a[f+103>>0]=a[d+253>>0]|0;a[f+109>>0]=a[d+260>>0]|0;a[f+115>>0]=a[d+267>>0]|0;a[f+121>>0]=a[d+274>>0]|0;a[f+98>>0]=a[d+247>>0]|0;a[f+104>>0]=a[d+254>>0]|0;a[f+110>>0]=a[d+261>>0]|0;a[f+116>>0]=a[d+268>>0]|0;a[f+122>>0]=a[d+275>>0]|0;a[f+99>>0]=a[d+248>>0]|0;a[f+105>>0]=a[d+255>>0]|0;a[f+111>>0]=a[d+262>>0]|0;a[f+117>>0]=a[d+269>>0]|0;a[f+123>>0]=a[d+276>>0]|0;f=0;return f|0}function Ig(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=c[d+8>>2]|0;if((c[j+120>>2]|0)!=1){e=f+4|0;c[e>>2]=c[e>>2]|16592;e=1;return e|0}do switch(c[e+8>>2]|0){case 0:{Eg(d,0,f)|0;e=0;return e|0}case 1:{i=f+4|0;c[i>>2]=0;d=c[e+20>>2]|0;c[j+68>>2]=d;a:do if((d|0)>=6)if((d|0)<2147483647)switch(d|0){case 6:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2147483647:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2:case 1:{d=0;break}default:g=6}while(0);if((g|0)==6){c[i>>2]=8192;d=1}f=j+16|0;h=c[j+56>>2]|0;g=c[e+16>>2]|0;do if((g|0)<(c[j+8>>2]|0)?(c[j+112>>2]|0)!=0:0)if(!g){g=c[f>>2]|0;break}else{c[i>>2]=8406;g=0;d=1;break}while(0);c[f>>2]=g;if((h|0)==1)c[j+20>>2]=g;g=c[e+12>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1;g=1}c[j+104>>2]=g;f=j+11636|0;c[f>>2]=0;g=c[e+24>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1}c[f>>2]=g;e=d;return e|0}case 2:if(!j){c[f+4>>2]=208;e=0;return e|0}else{jg(j)|0;e=0;return e|0}case 3:{c[j+68>>2]=2147483647;c[j+20>>2]=0;c[j+16>>2]=0;c[j+104>>2]=0;c[j+72>>2]=0;c[f+4>>2]=0;e=0;return e|0}case 4:{c[j+100>>2]=1;c[f+4>>2]=0;c[j+136>>2]=0;c[j+140>>2]=0;e=0;return e|0}case 5:{Fg(d,0,f)|0;e=0;return e|0}case 6:{d=f+4|0;c[d>>2]=0;g=c[e+16>>2]|0;if((g|0)<1){c[d>>2]=217;e=0;return e|0}if(!(Jg(c[e+12>>2]|0,g)|0)){e=0;return e|0}c[d>>2]=217;e=0;return e|0}case 775:{c[j+44>>2]=c[e+20>>2];c[j+40>>2]=c[e+16>>2];c[j+36>>2]=c[e+12>>2];c[f+4>>2]=0;c[j+48>>2]=0;e=0;return e|0}case 7:{c[j+24>>2]=1;c[f+4>>2]=0;e=0;return e|0}case 263:{Gg(d,0,f)|0;e=0;return e|0}case 264:{e=Hg(d,0,f)|0;return e|0}case 265:{d=c[j+272>>2]|0;if(!d){c[f+4>>2]=992;e=1;return e|0}if(a[d+34>>0]|0?a[d+28>>0]|0:0){b[f+8>>1]=b[d+3640>>1]|0;b[f+14>>1]=b[d+3646>>1]|0;b[f+10>>1]=b[d+3642>>1]|0;b[f+16>>1]=b[d+3648>>1]|0;b[f+12>>1]=b[d+3644>>1]|0;b[f+18>>1]=b[d+3650>>1]|0;b[f+20>>1]=b[d+3652>>1]|0;b[f+22>>1]=b[d+3654>>1]|0;c[f+24>>2]=c[d+3656>>2];c[f+28>>2]=c[d+3660>>2];e=0;return e|0}c[f+4>>2]=992;e=1;return e|0}case 8:{c[j+12308>>2]=c[e+12>>2];g=j+12312|0;c[g>>2]=c[e+16>>2];mg(j);ig(j);d=c[g>>2]|0;if((d+-1|0)>>>0<256){if(d&128|0)c[j+11604>>2]=1;d=d&127;c[g>>2]=d;if(d|0)c[j+11600>>2]=d}c[f+4>>2]=0;e=0;return e|0}default:{e=0;return e|0}}while(0);return 0}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+544|0;e=f+512|0;d=f;c[e>>2]=41708;c[e+4>>2]=41716;c[e+8>>2]=41727;c[e+12>>2]=41733;c[e+16>>2]=41740;c[e+20>>2]=41752;cj(d,511,41658,e)|0;e=(aj(d,511)|0)+1|0;if(e>>>0>b>>>0){e=1;Sb=f;return e|0}Pk(a|0,d|0,e|0)|0;e=0;Sb=f;return e|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,k=0,l=0,m=0;m=Sb;Sb=Sb+16|0;j=m;a:do if((b|0)==0|(d|0)==0)e=1;else{k=b+4|0;e=c[k>>2]|0;l=d+4|0;c[l>>2]=0;b:do switch(e|0){case 6:case 8:case 9:case 11:case 10:case 7:{if(!a){c[l>>2]=8213;e=1;break a}if((c[a>>2]|0)!=12){c[l>>2]=8214;e=1;break a}if(!(c[a+8>>2]|0)){c[l>>2]=8215;e=1;break a}switch(e|0){case 7:{do switch(c[b+8>>2]|0){case 1:{if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}break}case 3:break;case 0:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}switch(c[d>>2]|0){case 556:case 564:break b;default:{}}c[l>>2]=8212;e=1;break a}case 5:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==532)break b;c[l>>2]=8212;e=1;break a}case 6:{if((c[b>>2]|0)!=20){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 4:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 2:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 775:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if(((c[b+12>>2]|0)>>>0<=4?(c[b+16>>2]|0)>=0:0)?(c[b+20>>2]|0)>>>0<=15:0)break b;c[l>>2]=8192;e=1;break a}case 263:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==80)break b;c[l>>2]=8212;e=1;break a}case 264:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==124)break b;c[l>>2]=8212;e=1;break a}case 265:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==32)break b;c[l>>2]=8212;e=1;break a}case 7:{if((c[b>>2]|0)!=16){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if((c[b+12>>2]|0)==1)break b;c[l>>2]=8192;e=1;break a}case 8:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}while(0);if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 9:{c[l>>2]=0;if((c[b>>2]|0)!=524){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==88)break b;c[l>>2]=8212;e=1;break a}case 10:{c[l>>2]=0;if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 11:{c[l>>2]=0;if((c[b>>2]|0)!=33036){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}g=c[b+8>>2]|0;if(!g){c[l>>2]=8219;e=1;break a}h=b+12|0;f=0;c:while(1){i=c[h+(f*516|0)>>2]|0;if(!i){e=33;break}if((i|0)>0){e=0;do{if(!(c[h+(f*516|0)+4+(e<<2)>>2]|0)){e=38;break c}if(!(c[h+(f*516|0)+260+(e<<2)>>2]|0)){e=40;break c}e=e+1|0}while((e|0)<(i|0))}f=f+1|0;if(f>>>0>=g>>>0)break b}if((e|0)==33){c[l>>2]=8219;e=1;break a}else if((e|0)==38){c[l>>2]=8220;e=1;break a}else if((e|0)==40){c[l>>2]=8221;e=1;break a}break}case 8:{c[l>>2]=0;switch(c[b>>2]|0){case 20:case 536:break;default:{c[l>>2]=8211;e=1;break a}}switch(c[d>>2]|0){case 32:case 112:break b;default:{}}c[l>>2]=8212;e=1;break a}case 6:{c[l>>2]=0;if((c[b>>2]|0)!=8){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}break}case 5:{c[l>>2]=0;if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=12){c[l>>2]=8212;e=1;break a}switch(c[b+8>>2]|0){case 12:case 11:case 9:case 5:case 1:break b;default:{}}c[l>>2]=8203;e=1;break a}default:{c[l>>2]=8216;e=1;break a}}while(0);switch(c[k>>2]|0){case 9:{e=0;break a}case 5:{c[l>>2]=0;c[j>>2]=0;k=(vg(j,b,d)|0)==1;e=c[j>>2]|0;if(k){do if(e|0)if(!(c[e+8>>2]|0)){ac[c[b+20>>2]&31](c[b+24>>2]|0,e);break}else{wg(e)|0;break}while(0);c[l>>2]=16384;e=1}else{jg(c[e+8>>2]|0)|0;e=0}break a}case 6:{e=c[a+8>>2]|0;c[l>>2]=0;kg(e)|0;wg(a)|0;e=0;break a}case 8:{e=Lg(a,b,d)|0;break a}case 11:{e=Dg(a,b,d)|0;break a}case 10:{e=c[a+8>>2]|0;if(!(c[e+56>>2]|0)){e=0;break a}ae(c[e+244>>2]|0,c[b+8>>2]|0,4)|0;e=0;break a}case 7:{e=Ig(a,b,d)|0;break a}default:{e=1;break a}}}while(0);Sb=m;return e|0}function Lg(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,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+32|0;N=R+8|0;K=R;Q=c[d+8>>2]|0;H=Q+144|0;c[H>>2]=0;d=c[f>>2]|0;g=f+4|0;h=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=d;if((c[Q+120>>2]|0)!=1){c[f+4>>2]=16592;f=1;Sb=R;return f|0}P=Q+136|0;if((c[P>>2]|0)>>>0>2147483646){c[f+4>>2]=17374;f=1;Sb=R;return f|0}m=Q+132|0;d=Q+100|0;if(!(c[m>>2]|0))if(!(c[d>>2]|0)){if(!(c[e+16>>2]|0)){c[f+4>>2]=8222;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;if(d>>>0<5){c[f+8>>2]=d;c[f+4>>2]=8231;f=1;Sb=R;return f|0}else k=1}else k=0;else{c[d>>2]=1;k=0}O=Q+56|0;j=c[O>>2]|0;a:do if((j|0)==0?(c[Q+104>>2]|0)==0:0){g=c[e+20>>2]|0;if((g+-1|0)>>>0>63){c[f+4>>2]=8219;f=1;Sb=R;return f|0}h=e+24|0;i=e+280|0;d=0;while(1){if(!(c[h+(d<<2)>>2]|0)){i=19;break}if(!(c[i+(d<<2)>>2]|0)){i=21;break}d=d+1|0;if(d>>>0>=g>>>0)break a}if((i|0)==19){c[f+4>>2]=8220;f=1;Sb=R;return f|0}else if((i|0)==21){c[f+4>>2]=8221;f=1;Sb=R;return f|0}}while(0);c[Q+11584>>2]=e+20;c[Q+288>>2]=c[e+8>>2];if(!k){c[f+12>>2]=c[Q+8>>2];h=Q+12|0;c[f+16>>2]=c[h>>2];c[f+28>>2]=0;i=Q+268|0;P=Ce(c[Q+264>>2]|0,i)|0;j=Q+272|0;c[j>>2]=P;do if(P|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;d=Q+5956|0;if(!(c[Q+6232>>2]|0))Mg(d,0);g=Ng(Q)|0;if(!g){Og(Q,d,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,0,c[h>>2]|0)|0;ae(c[Q+244>>2]|0,c[i>>2]|0,4)|0;break}else{f=g;Sb=R;return f|0}}while(0);Pg(Q,e,f);if(c[j>>2]|0){f=0;Sb=R;return f|0}if(!(c[m>>2]|0)){f=1;Sb=R;return f|0}jg(Q)|0;f=1;Sb=R;return f|0}if(((j|0)==1&(c[Q+104>>2]|0)==0?(l=c[Q+244>>2]|0,l|0):0)?($d(l)|0)==0:0){c[f+4>>2]=8232;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;C=Q+164|0;c[C>>2]=d;D=Q+148|0;c[D>>2]=c[e+16>>2];E=Q+980|0;c[E>>2]=0;F=Q+84|0;c[F>>2]=0;G=Q+128|0;c[G>>2]=0;L=Q+272|0;c[L>>2]=0;M=Q+24|0;if((c[M>>2]|0)>1)d=c[C>>2]|0;b:do if((d|0)>4){j=Q+176|0;k=Q+644|0;l=Q+344|0;m=Q+360|0;n=Q+984|0;o=Q+172|0;p=Q+168|0;q=Q+184|0;s=Q+180|0;t=Q+152|0;u=Q+188|0;v=Q+160|0;w=Q+156|0;x=Q+376|0;y=Q+108|0;z=Q+11632|0;A=Q+112|0;B=f+4|0;h=d;c:while(1){if(c[G>>2]|0?(g=c[k>>2]|0,i=c[l>>2]&255,i=(r(b[(c[m>>2]|0)+4118>>1]|0,b[g+(i*1272|0)+874>>1]|0)|0)+(b[g+(i*1272|0)+872>>1]|0)|0,(c[n>>2]|0)==(i|0)):0)c[G>>2]=0;d=c[j>>2]|0;if(!d){d=c[o>>2]|0;c[p>>2]=d;g=c[q>>2]|0;c[s>>2]=g}else{c[p>>2]=d;g=c[u>>2]|0;c[s>>2]=g}c[t>>2]=0;Qg(c[D>>2]|0,d,h>>>0<g>>>0?h:g,N,K)|0;d=c[K>>2]|0;if((d|0)<((c[s>>2]|0)+-8|0)){i=(c[p>>2]|0)+d|0;h=i;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;i=i+4|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0}i=c[N>>2]|0;c[v>>2]=i-d;c[w>>2]=i;Rg(x,c[p>>2]|0,d);d=Sg(Q)|0;do if((c[F>>2]|0)!=0?(I=c[m>>2]|0,(c[n>>2]|0)!=(c[I+4128>>2]|0)):0){if(((c[C>>2]|0)-(c[N>>2]|0)|0)>=5?(c[y>>2]|0)==0:0){i=54;break}i=c[l>>2]|0;i=(i|0)<1?0:i+-1|0;c[l>>2]=i;h=c[k>>2]|0;i=i+1&255;b[h+(i*1272|0)+872>>1]=0;b[h+(i*1272|0)+874>>1]=b[I+4120>>1]|0;c[G>>2]=1;i=69}else i=54;while(0);d:do if((i|0)==54){i=0;switch(d|0){case 42:break c;case 986:{i=65;break c}case 987:{d=c[N>>2]|0;c[D>>2]=(c[D>>2]|0)+d;c[C>>2]=(c[C>>2]|0)-d;d=987;i=69;break d}default:{}}if(c[G>>2]|0){h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;if((g|0)<5)i=59}else{h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;i=59}if((i|0)==59){i=0;c[D>>2]=(c[D>>2]|0)+h;c[C>>2]=g}if(d|0)break c;if(c[E>>2]|0){d=0;break c}do if(!(c[z>>2]|0)){if(!(c[A>>2]|0))break;if(xg(Q)|0){i=112;break c}}while(0);d=0}while(0);h=c[C>>2]|0;if((h|0)<=4){i=d;break b}}if((i|0)==65)d=0;else if((i|0)==112){kg(Q)|0;c[H>>2]=43;c[B>>2]=c[B>>2]|16427;f=1;Sb=R;return f|0}i=d}else i=0;while(0);if((c[F>>2]|0)!=1){P=i;Pg(Q,e,f);Sb=R;return P|0}if(!(c[E>>2]|0)){c[G>>2]=1;I=Q+344|0;K=c[I>>2]|0;K=(K|0)<1?0:K+-1|0;c[I>>2]=K;I=c[Q+644>>2]|0;K=K+1&255;b[I+(K*1272|0)+872>>1]=-1;b[I+(K*1272|0)+874>>1]=-1;Tg(Q)|0;if(!(c[E>>2]|0))J(41761,41802,731,41826);if((c[F>>2]|0)!=1){P=i;Pg(Q,e,f);Sb=R;return P|0}}w=Q+360|0;g=c[w>>2]|0;c[Q+124>>2]=1;d=c[M>>2]|0;do if((d|0)<=1){if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;g=Q+5956|0;h=Q+11576|0;d=(c[Q+12>>2]|0)-(c[h>>2]|0)|0;i=Q+11580|0;c[i>>2]=d;if(!(c[Q+6232>>2]|0)){Mg(g,0);d=c[i>>2]|0}if((d|0)<0){c[i>>2]=0;d=0}N=Og(Q,g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,c[h>>2]|0,d)|0;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);i=N}}else{d=d+-1|0;e:do if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;if(c[Q+11604>>2]|0?(c[Q+268>>2]|0)!=(c[Q+5956+(d*692|0)+228>>2]|0):0)break;h=g+4120|0;if((b[h>>1]|0)>0){i=N+8|0;j=N+4|0;k=N+6|0;l=N+10|0;m=N+12|0;n=Q+656|0;g=0;while(1){c[N>>2]=1;b[i>>1]=0;b[j>>1]=0;b[k>>1]=g;b[l>>1]=0;c[m>>2]=0;d=Ug(c[n>>2]|0,N,16,1)|0;g=g+1|0;if(d|0)break;if((g|0)>=(b[h>>1]|0))break e}Sb=R;return d|0}}while(0);i=Vg(c[Q+656>>2]|0)|0;d=(c[M>>2]|0)+-1|0;f:do if(!(Wg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)){m=N+8|0;n=N+4|0;o=N+6|0;p=N+10|0;q=N+12|0;s=Q+12|0;t=e+24|0;u=e+28|0;v=e+32|0;while(1){k=Q+5956+(d*692|0)|0;c[Q+5956+(d*692|0)+140>>2]=b[m>>1];c[Q+5956+(d*692|0)+4>>2]=b[n>>1];g=b[o>>1]|0;c[Q+5956+(d*692|0)+8>>2]=g;c[Q+5956+(d*692|0)+32>>2]=b[p>>1];switch(c[N>>2]|0){case 0:{Mg(k,c[q>>2]|0);Xg(k)|0;break}case 1:{h=(c[w>>2]|0)+4116|0;j=a[h>>0]|0;l=1<<j;if(!(c[Q+5956+(d*692|0)+276>>2]|0)){Mg(k,0);g=b[o>>1]|0;d=a[h>>0]|0}else d=j;I=g<<d;K=(c[s>>2]|0)-I|0;K=(l|0)<(K|0)?l:K;Og(Q,k,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,I,(K|0)>0?K:0)|0;break}default:{}}d=(c[M>>2]|0)+-1|0;if(Wg(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)break f}}while(0)}while(0);be(c[Q+224>>2]|0,c[Q+6080>>2]|0,2)|0;d=Q+244|0;N=Q+6184|0;be(c[d>>2]|0,c[N>>2]|0,2)|0;be(c[d>>2]|0,c[N>>2]|0,4)|0;Ee(c[Q+276>>2]|0,c[Q+6180>>2]|0,c[N>>2]|0)|0;if((c[O>>2]|0)==0?c[L>>2]|0:0)ae(c[d>>2]|0,c[Q+268>>2]|0,4)|0;d=c[M>>2]|0;if((d|0)>1){h=0;do{g=Q+11524+(h<<2)|0;if(c[g>>2]|0){bg(c[Q+11492+(h<<2)>>2]|0,0)|0;c[g>>2]=0;d=c[M>>2]|0}h=h+1|0}while((h|0)<(d+-1|0))}c[P>>2]=(c[P>>2]|0)+1;P=i;Pg(Q,e,f);Sb=R;return P|0}function Mg(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;A=c[f>>2]|0;w=c[A+304>>2]|0;y=c[f+32>>2]&255;c[f+48>>2]=w+(y*1272|0);v=c[A+300>>2]|0;x=a[w+(y*1272|0)+73>>0]|0;j=v+(x*68|0)|0;c[f+40>>2]=j;C=c[A+296>>2]|0;n=a[v+(x*68|0)+9>>0]|0;D=C+(n*8976|0)|0;c[f+44>>2]=D;c[f+276>>2]=1;z=C+(n*8976|0)+4116|0;B=(1<<a[z>>0]|0)/4|0;B=r(B,B)|0;n=C+(n*8976|0)+4118|0;C=b[n>>1]|0;c[f+660>>2]=c[f+672>>2];l=f+4|0;s=f+8|0;t=f+12|0;u=f+16|0;ph(j,D,c[l>>2]|0,c[s>>2]|0,t,u,E)|0;D=c[v+(x*68|0)+4>>2]|0;E=c[E>>2]|0;j=D+(E*6|0)|0;c[f+28>>2]=j;c[f+36>>2]=E;if(!(a[v+(x*68|0)+27>>0]|0)){j=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;l=h-(b[w+(y*1272|0)+1262>>1]|0)|0;m=f+20|0;c[m>>2]=l;i=c[s>>2]|0;j=i-j|0;k=f+24|0;c[k>>2]=j;if((l|0)<0){c[m>>2]=l+(b[n>>1]|0);c[k>>2]=j+-1}}else{k=b[w+(y*1272|0)+872>>1]|0;o=b[w+(y*1272|0)+874>>1]|0;i=b[n>>1]|0;p=(r(i,o)|0)+k|0;x=d[j>>0]|0;v=d[D+(E*6|0)+1>>0]|0;q=(r(v,i)|0)+x|0;h=(k|0)!=(x|0);do if(h|(o|0)==(v|0)){o=(e[((E|0)==0?j:j+-6|0)+2>>1]|0)+k|0;if((o|0)>=(i|0)?((o|0)%(i|0)|0|0)==(x|0):0){m=0;break}m=h&1}else m=1;while(0);o=b[w+(y*1272|0)+1262>>1]|0;n=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;do if((h|0)<(o|0)){j=(m|0)!=0;if(!((p|0)<(q|0)&j))i=e[D+(E*6|0)+2>>1]|0;if(j){i=h-o+i|0;break}else{i=h-x|0;break}}else i=h-o|0;while(0);c[f+20>>2]=i;i=c[s>>2]|0;j=i-n|0;k=f+24|0;c[k>>2]=j;do if((c[t>>2]|0)==0?(c[u>>2]|0)==0:0){if(a[w+(y*1272|0)+75>>0]|0){c[f+20>>2]=0;c[k>>2]=0;j=0;break}if((p|0)<(q|0)){j=v-n|0;c[k>>2]=j;if((o|0)>(x|0)&((v|0)>=(n|0)&(m|0)!=0)){j=j+-1|0;c[k>>2]=j}}}while(0);if(((o|0)!=(x|0)?!((o|0)<(x|0)|(j|0)==0):0)?((e[D+(E*6|0)+2>>1]|0)+x|0)>(o|0):0)c[k>>2]=j+-1}y=(r(i,C)|0)+h|0;C=(1<<a[z>>0]|0)/4|0;c[f+72>>2]=(c[f+88>>2]|0)+(r(r(C,y)|0,C)|0);c[f+68>>2]=(c[f+116>>2]|0)+(c[(c[f+80>>2]|0)+(((c[A+24>>2]|0)==1?(y|0)%142560|0:y)<<2)>>2]<<2);c[f+64>>2]=(c[f+60>>2]|0)+g;C=c[(c[f+84>>2]|0)+(y<<2)>>2]|0;c[f+120>>2]=(c[f+92>>2]|0)+(r(B,y)|0);c[f+76>>2]=(c[f+96>>2]|0)+(C<<4);C=c[A+11600>>2]|0;E=e[D+(E*6|0)+2>>1]|0;c[f+688>>2]=C>>>0<E>>>0?C:E;Sb=F;return}function Ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+256|0;g=i;h=c[a+11584>>2]|0;if(c[a+56>>2]|0){h=0;Sb=i;return h|0}e=c[a+8>>2]|0;d=c[a+12>>2]|0;b=c[a+16>>2]|0;e=(b|0)>(e|0)?b:e;b=c[a+60>>2]|0;switch(b|0){case 1:{a=3;f=5;break}case 5:{a=1;f=6;break}case 9:{a=1;f=7;break}case 13:{a=1;f=8;break}case 12:case 11:{a=2;f=4;break}default:{a=0;f=4}}a:do if((f|0)==4){switch(b|0){case 1:{f=5;break a}case 5:{f=6;break a}case 9:{f=7;break a}case 13:{f=8;break a}case 12:case 11:break;default:{b=a;a=0;break a}}e=r(e,d)|0;c[g>>2]=e;c[g+4>>2]=e>>>1;c[g+8>>2]=0;b=a;a=e}while(0);if((f|0)==5){f=r(e,d)|0;c[g>>2]=f;b=f>>>2;c[g+4>>2]=b;c[g+8>>2]=b;b=a;a=f}else if((f|0)==6){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==7){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==8){f=(r(e,d)|0)<<2;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}if((c[h>>2]|0)>>>0<b>>>0){h=1;Sb=i;return h|0}if(!b){h=0;Sb=i;return h|0}if((c[h+260>>2]|0)>>>0<a>>>0){h=1;Sb=i;return h|0}a=1;while(1){if(a>>>0>=b>>>0){a=0;f=16;break}if((c[h+260+(a<<2)>>2]|0)>>>0<(c[g+(a<<2)>>2]|0)>>>0){a=1;f=16;break}else a=a+1|0}if((f|0)==16){Sb=i;return a|0}return 0}function Og(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0;if(!k)return 0;v=c[f+44>>2]|0;G=(a[v+15>>0]|0)==1?2:1;t=c[e+272>>2]|0;o=c[t>>2]|0;K=e+20|0;n=c[K>>2]|0;z=v+8|0;u=b[z>>1]|0;M=r(n,u<<16>>16)|0;B=b[v+4>>1]|0;m=o+(r(M+B|0,G)|0)|0;A=(c[e+64>>2]|0)==11;L=A&1;H=(c[e+56>>2]|0)==1;m=m+(r(n,j)|0)|0;s=(j|0)/2|0;M=(c[t+4>>2]|0)+((B<<1)+M)+(r(n,s)|0)|0;a:do if((H?(c[e+60>>2]|0)==1:0)?(p=c[e+45340>>2]|0,(p|0)>0):0){q=(n*80|0)+80|0;l=0;while(1){if((o-(c[e+12316+(l*516|0)+4>>2]|0)|0)==(q|0))break;l=l+1|0;if((l|0)>=(p|0))break a}i=(n*20|0)+40|0;h=(c[e+12316+(l*516|0)+8>>2]|0)+i|0;i=(c[e+12316+(l*516|0)+12>>2]|0)+i|0}while(0);B=e+16|0;p=c[B>>2]|0;l=r(p,j)|0;q=g+(l<<1)|0;t=g+(l<<2)|0;l=g+l|0;g=r(p,s)|0;p=h+g|0;g=(g|0)/2|0;s=h+g|0;g=i+g|0;b:do if((((c[e+100>>2]|0)==0?(c[e+268>>2]|0)==(c[f+228>>2]|0):0)?(c[e+24>>2]|0)>1:0)?(C=v+4116|0,D=v+4120|0,E=v+4118|0,F=e+208|0,w=a[C>>0]|0,x=1<<w,y=b[E>>1]|0,y<<16>>16>0):0){n=(r(G,u<<16>>16)|0)+j|0;h=b[D>>1]|0;n=n+((x|0)<(k|0)?k:x)>>w;o=y<<16>>16;while(1){i=n+1|0;h=h+-1|0;h=r((i|0)<(h|0)?i:h,o)|0;h=(c[F>>2]|0)+h|0;i=0;n=1;do{n=n&d[h+i>>0];i=i+1|0}while((i|0)!=(o|0));if(n|0)break b;gg();n=a[C>>0]|0;i=1<<n;n=(r(G,b[z>>1]|0)|0)+j+((i|0)<(k|0)?k:i)>>n;i=b[E>>1]|0;if(i<<16>>16<=0)break;else{h=b[D>>1]|0;o=i<<16>>16}}}while(0);switch(c[e+60>>2]|0){case 12:case 11:{K=c[K>>2]|0;L=c[B>>2]|0;ic[c[e+12292>>2]&7](m,M,l,p,c[e+8>>2]|0,k,K,K,L,L);return 0}case 1:{n=e+8|0;if(!H?(I=c[n>>2]|0,(k|0)>0):0){i=0;do{Pk(l|0,m|0,I|0)|0;l=l+(c[B>>2]|0)|0;m=m+(c[K>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}I=c[K>>2]|0;K=c[B>>2]|0;lc[c[e+12296>>2]&1](m,M,l,s,g,c[n>>2]|0,k,I,I,K,(K|0)/2|0,L,1);return 0}case 9:{K=c[K>>2]|0;hc[c[e+12288>>2]&15](m,M,q,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}case 13:{if(!A)J(43323,43341,889,43367);K=c[K>>2]|0;hc[c[e+12284>>2]&15](m,M,t,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}default:return 0}return 0}function Pg(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;f=c[b+144>>2]|0;switch(f|0){case 981:case 213:case 212:case 211:case 210:case 208:case 982:{f=f|16384;break}default:{}}p=e+4|0;c[p>>2]=f;o=e+8|0;c[o>>2]=(c[d+12>>2]|0)-(c[b+164>>2]|0);h=(c[b+112>>2]|0)==0;if(h){f=0;g=0}else{f=c[b+12>>2]|0;g=c[b+8>>2]|0}c[e+12>>2]=g;c[e+16>>2]=f;k=e+20|0;c[k>>2]=c[b+76>>2];l=e+24|0;c[l>>2]=c[b+84>>2];c[e+28>>2]=0;m=e+32|0;c[m>>2]=0;n=e+36|0;c[n>>2]=1;if((!h?(i=c[b+636>>2]|0,j=c[b+11596>>2]|0,(a[i+(j*8976|0)+4167>>0]|0)==0):0)?(a[i+(j*8976|0)+4168>>0]|0)==1:0)c[n>>2]=0;f=e+40|0;q=c[b+60>>2]|0;c[e+44>>2]=q;c[f>>2]=1;g=e+100|0;c[g>>2]=0;h=e+104|0;c[h>>2]=-1;c[e+108>>2]=c[b+268>>2];i=b+100|0;j=(c[i>>2]|0)==0;if(!j){c[o>>2]=0;c[f>>2]=0;c[k>>2]=2147483647;c[l>>2]=0}f=c[b+272>>2]|0;if(!f){if(j)return;c[p>>2]=215;c[i>>2]=0;return}a:do if(a[f+28>>0]|0?a[f+31>>0]|0:0)switch(c[f+1112>>2]|0){case 1:{c[g>>2]=0;c[n>>2]=0;break a}case 2:{c[g>>2]=1;c[n>>2]=0;break a}default:{c[g>>2]=0;c[n>>2]=1;break a}}while(0);c[m>>2]=1;c[h>>2]=c[f+16>>2];if(j?(c[b+980>>2]|0)==0:0)c[m>>2]=0;l=c[b+8>>2]|0;c[e+64>>2]=l;m=c[b+12>>2]|0;c[e+68>>2]=m;if(!(c[b+56>>2]|0)){c[e+52>>2]=c[d+24>>2];c[e+56>>2]=c[d+28>>2];c[e+60>>2]=c[d+32>>2];f=b+16|0}else{k=c[f>>2]|0;c[e+52>>2]=k;if((q|0)==1){h=c[b+45340>>2]|0;b:do if((h|0)>0){i=c[b+20>>2]|0;j=(i*80|0)+80|0;g=0;while(1){if((k-(c[b+12316+(g*516|0)+4>>2]|0)|0)==(j|0))break;f=g+1|0;if((f|0)<(h|0))g=f;else{f=0;g=0;break b}}d=(i*20|0)+40|0;f=(c[b+12316+(g*516|0)+12>>2]|0)+d|0;g=(c[b+12316+(g*516|0)+8>>2]|0)+d|0}else{f=0;g=0}while(0);c[e+56>>2]=g}else{c[e+56>>2]=c[f+4>>2];f=0}c[e+60>>2]=f;f=b+20|0}f=c[f>>2]|0;c[e+72>>2]=f;switch(q|0){case 11:case 12:{c[e+84>>2]=f;c[e+96>>2]=0;c[e+76>>2]=l;c[e+88>>2]=0;c[e+80>>2]=m>>>1;c[e+92>>2]=0;return}case 1:{b=f>>>1;c[e+84>>2]=b;c[e+96>>2]=b;b=l>>>1;c[e+76>>2]=b;c[e+88>>2]=b;b=m>>>1;c[e+80>>2]=b;c[e+92>>2]=b;return}default:return}}function Qg(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=e+-1|0;a:do if((e|0)>1){i=0;j=0;h=0;b:while(1){l=h+1|0;o=a[b+h>>0]|0;k=j+1|0;a[d+j>>0]=o;c:do if(!(o<<24>>24)){j=i+1|0;if((i|0)>0){switch(a[b+l>>0]|0){case 1:break b;case 3:break;default:{h=l;i=j;break c}}h=h+2|0;i=0}else{h=l;i=j}}else{h=l;i=0}while(0);if((h|0)<(m|0))j=k;else{l=i;n=9;break a}}i=k-j|0;h=l-j|0}else{h=0;l=0;k=0;n=9}while(0);d:do if((n|0)==9)if((h|0)<(e|0)){j=h+1|0;i=a[b+h>>0]|0;if((l|0)<=1){a[d+k>>0]=i;i=k+1|0;h=j;break}switch(i<<24>>24){case 1:{i=k;h=j-l|0;break d}case 3:{i=k+-1|0;h=h+2|0;break d}default:{i=k;h=j;break d}}}else i=k;while(0);c[f>>2]=h;c[g>>2]=i;return 0}function Rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Ok(c[b>>2]|0)|0;e=Ok(c[b+4>>2]|0)|0;c[a+4>>2]=0;c[a>>2]=b;c[a+8>>2]=b+8;c[a+12>>2]=f;c[a+16>>2]=e;c[a+20>>2]=b+d+8;return}function Sg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+16|0;g=i;h=b+376|0;Jh(h,1)|0;d=(Jh(h,6)|0)&255;a[g>>0]=d;Jh(h,6)|0;a[g+1>>0]=(Jh(h,3)|0)+255;h=b+128|0;if(c[h>>2]|0){d=a[(c[b+648>>2]|0)+1260>>0]|0;a[g>>0]=d}d=d<<24>>24;switch(d|0){case 18:case 17:case 16:{e=0;f=6;break}case 20:case 19:{e=1;f=6;break}case 21:{c[b+28>>2]=(c[b+32>>2]|0)==0&1;break}case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:break;case 36:{c[b+32>>2]=1;b=0;Sb=i;return b|0}case 33:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+112>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Uh(b)|0;if(!d)Vh(b,a[(c[b+296>>2]|0)+143628>>0]|0,16);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 34:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+116>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=Wh(b)|0;if(!d)Xh(b,a[(c[b+300>>2]|0)+4360>>0]|0,64);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 40:case 39:{if((c[b+104>>2]|0)==1){b=986;Sb=i;return b|0}b=Yh(b,g)|0;Sb=i;return b|0}default:{b=0;Sb=i;return b|0}}if((f|0)==6?(c[b+28>>2]=e,(d+-16|0)>>>0>=5):0){b=0;Sb=i;return b|0}if(c[b+104>>2]|0){b=986;Sb=i;return b|0}if(!(c[b+112>>2]|0)){b=980;Sb=i;return b|0}if(!(c[b+116>>2]|0)){b=980;Sb=i;return b|0}c[b+108>>2]=0;c[b+32>>2]=0;d=Th(b,g)|0;if(d|0){b=d;Sb=i;return b|0}if(((a[g>>0]&-2)<<24>>24==8?(c[b+28>>2]|0)==0:0)?(c[h>>2]|0)==0:0){b=0;Sb=i;return b|0}b=Tg(b)|0;Sb=i;return b|0}function Tg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;Zb=Sb;Sb=Sb+64|0;Gb=Zb+56|0;Yb=Zb;g=f+316|0;p=c[f+644>>2]|0;n=c[f+640>>2]|0;Vb=c[f+636>>2]|0;Wb=f+344|0;Rb=c[Wb>>2]|0;o=Rb&255;Hb=p+(o*1272|0)|0;m=a[p+(o*1272|0)+73>>0]|0;Ib=n+(m*68|0)|0;Ub=a[n+(m*68|0)+9>>0]|0;Jb=Vb+(Ub*8976|0)|0;if(Rb|0?(a[p+(o*1272|0)+75>>0]|0)==0:0)c[f+348>>2]=o;Kb=Vb+(Ub*8976|0)+4116|0;Lb=a[Kb>>0]|0;Mb=1<<Lb;Nb=(Mb|0)/4|0;Ob=r(Nb,Nb)|0;Pb=Vb+(Ub*8976|0)+4118|0;Qb=b[Pb>>1]|0;Rb=f+128|0;if(!(c[Rb>>2]|0)){Db=b[p+(o*1272|0)+872>>1]|0;c[g>>2]=Db;h=b[p+(o*1272|0)+874>>1]|0;Eb=f+320|0;c[Eb>>2]=h;Fb=g;g=Db}else{h=f+320|0;Eb=h;Fb=g;g=c[g>>2]|0;h=c[h>>2]|0}zb=f+356|0;c[zb>>2]=Ib;Ab=f+360|0;c[Ab>>2]=Jb;Bb=f+648|0;c[Bb>>2]=Hb;Cb=f+324|0;Db=f+328|0;ph(Ib,Jb,g,h,Cb,Db,Gb)|0;wb=n+(m*68|0)+4|0;vb=c[Gb>>2]|0;q=(c[wb>>2]|0)+(vb*6|0)|0;xb=f+340|0;c[xb>>2]=q;yb=f+352|0;c[yb>>2]=vb;a:do if(!(c[Rb>>2]|0)){switch(a[p+(o*1272|0)+75>>0]|0){case 1:break;case 0:{c[f+332>>2]=0;c[f+336>>2]=0;break a}default:break a}if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0){c[f+332>>2]=0;c[f+336>>2]=0}}while(0);do if((c[Eb>>2]|0)==0?(c[Fb>>2]|0)==0:0){g=qh(f)|0;if(!g){c[c[f+592>>2]>>2]=0;c[c[f+596>>2]>>2]=0;c[f+348>>2]=0;c[Cb>>2]=0;c[Db>>2]=0;break}else{Yb=g;Sb=Zb;return Yb|0}}while(0);j=c[f+1452>>2]|0;k=p+(o*1272|0)+161|0;if((a[k>>0]|0)>0){g=0;do{vb=c[p+(o*1272|0)+1068+(g*12|0)>>2]|0;c[j+20500+((c[Wb>>2]&255)<<6)+(g<<2)>>2]=c[vb+8>>2];a[j+36884+((c[Wb>>2]&255)<<4)+g>>0]=a[vb+20>>0]|0;g=g+1|0}while((g|0)<(a[k>>0]|0))}i=p+(o*1272|0)+160|0;g=a[i>>0]|0;if(g<<24>>24){if(g<<24>>24>0){h=0;do{g=c[p+(o*1272|0)+876+(h*12|0)>>2]|0;c[j+20+((c[Wb>>2]&255)<<6)+(h<<2)>>2]=c[g+8>>2];a[j+16404+((c[Wb>>2]&255)<<4)+h>>0]=a[g+20>>0]|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g<<24>>24|0))}}else g=0;vb=f+332|0;if(!((c[vb>>2]|0)!=0?(c[f+336>>2]|0)!=0:0)){i=c[p+(o*1272|0)+84>>2]|0;b:do if(g<<24>>24>0){h=g<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+876+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break b}g=g+1|0;if((g|0)>=(h|0)){ub=30;break}}}else ub=30;while(0);c:do if((ub|0)==30)if((a[p+(o*1272|0)+76>>0]|0)==0?(l=a[k>>0]|0,l<<24>>24>0):0){h=l<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+1068+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break c}g=g+1|0;if((g|0)>=(h|0)){g=1;break}}}else g=1;while(0);a[p+(o*1272|0)+1261>>0]=g}tb=p+(o*1272|0)+76|0;g=a[tb>>0]|0;do if(g<<24>>24!=2){h=(a[p+(o*1272|0)+163>>0]|0)!=0;if(g<<24>>24==1){pb=h?2:1;break}else{pb=h?1:2;break}}else pb=0;while(0);qb=p+(o*1272|0)+167|0;rb=n+(m*68|0)+14|0;i=(a[rb>>0]|0)+(a[qb>>0]|0)|0;i=(i|0)>0?i:0;i=(i|0)<51?i:51;sb=p+(o*1272|0)+75|0;g=a[sb>>0]|0;switch(g<<24>>24){case 0:{ub=43;break}case 1:{if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)ub=43;break}default:{}}if((ub|0)==43)c[f+436>>2]=i;d:do if(!(c[Rb>>2]|0)){do if(g<<24>>24==1){if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)break;g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break d}rh(f+660|0,f+376|0)|0;h=0;Pa=g;break d}while(0);g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break}if(!(sh(f+660|0,f+376|0,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){h=0;Pa=g}else{c[Rb>>2]=1;h=1;Pa=g}}else{h=0;Pa=n+(m*68|0)+28|0}while(0);ob=f+24|0;Qa=f+444|0;Ra=f+588|0;Sa=f+408|0;Ta=f+428|0;Ua=f+988|0;Va=f+1044|0;Wa=f+420|0;Xa=f+348|0;Ya=f+1444|0;Za=Yb+8|0;_a=Yb+4|0;$a=Yb+6|0;ab=Yb+10|0;bb=f+404|0;cb=f+400|0;db=Yb+12|0;eb=f+656|0;fb=f+5956|0;gb=f+6096|0;hb=f+5960|0;ib=f+5964|0;jb=f+5988|0;kb=p+(o*1272|0)+156|0;lb=f+568|0;mb=f+416|0;nb=f+424|0;ya=n+(m*68|0)+27|0;za=f+336|0;Aa=f+436|0;Ba=p+(o*1272|0)+872|0;Ca=p+(o*1272|0)+874|0;Da=p+(o*1272|0)+157|0;Ea=f+660|0;Fa=f+376|0;Ga=f+596|0;Ha=f+1456|0;Ia=f+432|0;Ja=f+822|0;Ka=f+668|0;La=f+412|0;Ma=f+88|0;Na=f+1460|0;Oa=f+592|0;z=p+(o*1272|0)+171|0;A=Vb+(Ub*8976|0)+4120|0;xa=f+204|0;B=f+1048|0;C=f+380|0;D=f+984|0;F=Hb+1272|0;E=F+872|0;F=F+874|0;G=f+396|0;H=f+384|0;I=Yb+4|0;J=Yb+8|0;K=Yb+12|0;L=Yb+16|0;M=f+580|0;N=Yb+20|0;O=Yb+24|0;P=Yb+28|0;Q=Yb+36|0;R=Yb+32|0;S=f+576|0;T=Yb+40|0;U=Yb+44|0;V=Yb+48|0;W=Yb+52|0;X=Yb+53|0;Y=Yb+54|0;Z=Yb+55|0;_=f+5984|0;$=Vb+(Ub*8976|0)+2|0;aa=Nb+-1|0;ba=(Mb|0)>3;ca=f+992|0;da=f+996|0;ea=f+1008|0;fa=f+1012|0;ga=f+1016|0;ha=f+1020|0;ia=f+1024|0;ja=f+1028|0;ka=f+1032|0;la=f+1052|0;ma=f+1064|0;na=f+1072|0;oa=f+1076|0;pa=f+1080|0;qa=f+1084|0;ra=f+1004|0;sa=f+1e3|0;ta=(Mb<<Lb|0)/128|0;ua=f+1036|0;va=f+1040|0;wa=((r((Mb|0)/8|0,Nb)|0)/8|0)<<1;y=q;e:while(1){g=c[ob>>2]|0;if((g|0)==1?(((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0)%142560|0|0)==0:0){c[Sa>>2]=c[Ra>>2];c[Ta>>2]=0}c[Qa>>2]=0;do if(!(c[Cb>>2]|0)){if(!(c[Db>>2]|0)){if((a[y>>0]|0)==0?(a[y+1>>0]|0)==0:0)g=i;else ub=64;do if((ub|0)==64){if((c[vb>>2]|0)==0?(c[za>>2]|0)==0:0){g=i;break}g=(a[rb>>0]|0)+(a[qb>>0]|0)|0;g=(g|0)>0?g:0;g=(g|0)<51?g:51;c[Aa>>2]=g;ph(Ib,Jb,c[Fb>>2]|0,c[Eb>>2]|0,Cb,Db,Gb)|0;i=c[Gb>>2]|0;c[xb>>2]=(c[wb>>2]|0)+(i*6|0);c[yb>>2]=i;i=d[y>>0]|0;j=d[y+1>>0]|0;k=b[Pb>>1]|0;ub=(r(k,j)|0)+i|0;l=b[Ba>>1]|0;m=b[Ca>>1]|0;do if(((r(m,k)|0)+l|0)<(ub|0)){n=j-m|0;c[za>>2]=n;if((((e[y+-4>>1]|0)+l|0)%(k|0)|0|0)==(i|0))break;if(!((l|0)>(i|0)&(j|0)>=(m|0)))break;c[za>>2]=n+-1}while(0);if(!(c[Rb>>2]|0)){if(!(sh(Ea,Fa,g,pb,576+(pb*8008|0)+(g*154|0)|0)|0))break;c[Rb>>2]=1;h=1}}while(0);if(c[Cb>>2]|0){i=g;break}i=g;g=c[ob>>2]|0}if((g|0)>1){c[Yb>>2]=0;b[Za>>1]=b[y+2>>1]|0;b[_a>>1]=c[Fb>>2];b[$a>>1]=c[Eb>>2];b[ab>>1]=c[Wb>>2];c[db>>2]=(c[bb>>2]|0)-(c[cb>>2]|0);g=Ug(c[eb>>2]|0,Yb,16,1)|0;if(!g)break;else{ub=219;break e}}else{ub=(c[bb>>2]|0)-(c[cb>>2]|0)|0;c[gb>>2]=e[y+2>>1];c[hb>>2]=c[Fb>>2];c[ib>>2]=c[Eb>>2];c[jb>>2]=c[Wb>>2];Mg(fb,ub);break}}while(0);do if((a[Pa>>0]|0)!=0?(c[Fb>>2]|0)==0:0)if(!(c[Rb>>2]|0)){if(!(c[za>>2]|0))g=(a[sb>>0]|0)==0&1;else g=0;ub=(b[Pb>>1]|0)!=1;c[Aa>>2]=i;if((g|0)==0&ub){if(!(sh(Ea,Fa,i,pb,Ja)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}else{if(!(sh(Ea,Fa,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}}else{g=h;ub=92}else ub=88;while(0);do if((ub|0)==88){ub=0;if(!(c[Rb>>2]|0)){if((a[kb>>0]|0)==0?(a[Da>>0]|0)==0:0){g=h;break}th(f)|0;g=h}else{g=h;ub=92}}while(0);if((ub|0)==92){ub=0;x=(c[Ya>>2]|0)+((c[Fb>>2]|0)*12|0)+((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)*12|0)|0;c[x>>2]=c[x>>2]&-8;w=x+4|0;c[w>>2]=c[w>>2]&-8;x=x+8|0;c[x>>2]=c[x>>2]&-8}x=(r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0;w=(c[Va>>2]|0)+(x>>3)|0;a[w>>0]=1<<(x&7)|d[w>>0];b[(c[Wa>>2]|0)+(x<<1)>>1]=c[Xa>>2];if(!(c[Rb>>2]|0)){h=c[Sa>>2]|0;j=c[lb>>2]|0;k=c[Ta>>2]|0;l=c[mb>>2]|0;m=c[nb>>2]|0;n=c[bb>>2]|0;x=a[Kb>>0]|0;if(!(uh(f,c[Fb>>2]<<x,c[Eb>>2]<<x,x,0)|0))ub=97;else{c[Sa>>2]=h;c[lb>>2]=j;c[Ta>>2]=k;c[mb>>2]=l;c[nb>>2]=m;Rk(n|0,0,(c[bb>>2]|0)-n|0)|0;c[bb>>2]=n;vh(f);c[Rb>>2]=1;g=1}}else{vh(f);ub=97}if((ub|0)==97){ub=0;if(!(c[Rb>>2]|0))g=wh(Ea,Fa)|0}if((a[ya>>0]|0)==0?(a[Pa>>0]|0)==0:0)k=y+2|0;else ub=102;do if((ub|0)==102){ub=0;if((c[Fb>>2]|0)==1)Pk(Ja|0,Ka|0,154)|0;k=y+2|0;if(((c[Cb>>2]|0)+1|0)==(e[k>>1]|0)){h=((c[Db>>2]|0)+1|0)==(e[y+4>>1]|0)&1;j=1}else{h=0;j=0}if((g|0)==0?(c[Rb>>2]|0)==0:0){if(!((h|0)!=0&(a[ya>>0]|0)!=0)?!((j|0)!=0&(a[Pa>>0]|0)!=0):0)break;wh(Ea,Fa)|0;if(!(c[C>>2]&7))break;xh(Fa)}}while(0);h=r(c[Eb>>2]|0,Qb)|0;h=(c[Fb>>2]|0)+1+h|0;o=e[k>>1]|0;do if(((c[Cb>>2]|0)+1|0)==(o|0)?(Tb=b[Pb>>1]|0,(o|0)!=(Tb|0)):0){x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;j=r(l,Tb)|0;m=d[y>>0]|0;j=j+m|0;if((x|0)==(e[y+4>>1]|0)){if((m+o|0)==(Tb|0)?(l|0)==(b[A>>1]|0):0){j=h;break}j=c[xb>>2]|0;j=(r(d[j+7>>0]|0,Tb)|0)+(d[j+6>>0]|0)|0}}else j=h;while(0);c[(c[Ga>>2]|0)+(j<<2)>>2]=c[nb>>2];c[Ha>>2]=j;c[Ia>>2]=(c[Ia>>2]|0)+Ob;if((c[ob>>2]|0)==1){h=(h|0)%142560|0;h=(h|0)==0?142560:h;do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}else{do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}c[h>>2]=c[Ta>>2];c[La>>2]=(c[La>>2]|0)+Ob;do if(c[Ma>>2]|0?(a[z>>0]|0)==1:0){h=c[Fb>>2]|0;t=b[Pb>>1]|0;s=c[Eb>>2]|0;x=(r(s,t)|0)+h|0;u=(a[Kb>>0]|0)+-3|0;t=t<<u;u=(c[B>>2]|0)+((r(t,s)|0)+h<<u)|0;h=c[j+(((c[ob>>2]|0)==1?(x|0)%142560|0:x)<<2)>>2]|0;s=(c[j+(c[Na>>2]<<2)>>2]|0)-h|0;h=(c[Ra>>2]|0)+(h<<2)|0;if(1<<(x&7)&d[(c[Va>>2]|0)+(x>>3)>>0]|0){a[u>>0]=c[h>>2]<<9>>25;break}if((s|0)<=0)break;o=0;while(1){x=c[h>>2]|0;p=x&15;l=x>>>4&15;j=4<<(x>>>8&7)>>>2;if(!(x&17)){q=j+l|0;n=j+p|0;do{m=r(l>>1,t)|0;j=p;do{a[u+((j>>1)+m)>>0]=c[h>>2]<<9>>25;j=j+2|0}while(j>>>0<n>>>0);l=l+2|0}while(l>>>0<q>>>0)}o=o+1|0;if((o|0)==(s|0))break;else h=h+4|0}}while(0);p=c[ob>>2]|0;do if((p|0)<3){h=b[Pb>>1]|0;o=h<<16>>16;x=(r(o,d[y+1>>0]|0)|0)+(d[y>>0]|0)|0;if(((r(b[Ca>>1]|0,o)|0)+(b[Ba>>1]|0)|0)>=(x|0))h=b[k>>1]|0;q=c[Eb>>2]|0;if((q|0)!=0?(c[Db>>2]|0)!=0:0)l=1;else l=0;u=c[Fb>>2]|0;f:do if(!u)ub=153;else{if(!(c[Cb>>2]|0)){ub=153;break}if((u|0)<=0){j=l;m=1;n=l;h=l;break}j=c[za>>2]|0;do if(j|0){if(!(c[Db>>2]|0))break;if((j|0)!=1){j=l;m=1;n=l;h=l;break f}j=l;m=1;n=(c[vb>>2]|0)==0?0:l;h=l;break f}while(0);x=c[vb>>2]|0;j=0;m=(x|0)!=0&1;n=0;h=((h<<16>>16)+-1|0)==(x|0)?l:0}while(0);do if((ub|0)==153){ub=0;if(c[za>>2]|0?c[Db>>2]|0:0){j=l;m=0;n=0;h=l;break}j=0;m=0;n=0;h=((h<<16>>16)+-1|0)==(c[vb>>2]|0)?l:0}while(0);if(!((o+-1|0)!=(u|0)?((e[k>>1]|0)+-1|0)!=(c[Cb>>2]|0):0))h=0;do if((d[tb>>0]|0)<2){x=(p|0)==1?1:p+-1|0;t=u+(r(q,o)|0)|0;p=c[Ga>>2]|0;t=c[p+(t<<2)>>2]|0;s=(c[p+(c[Ha>>2]<<2)>>2]|0)-t|0;v=(c[f+5956+(x*692|0)+104>>2]|0)+(((u<<Lb|0)/4|0)<<2)|0;w=c[f+5956+(x*692|0)+108>>2]|0;c[Yb>>2]=Ib;c[I>>2]=Jb;c[J>>2]=Hb;c[K>>2]=u;c[L>>2]=q;u=c[M>>2]|0;c[N>>2]=u+(t<<4);c[O>>2]=u;c[P>>2]=y;c[Q>>2]=c[f+5956+(x*692|0)+100>>2];c[R>>2]=p;c[T>>2]=c[S>>2];c[U>>2]=s;c[V>>2]=t;a[W>>0]=j;a[X>>0]=h;a[Y>>0]=n;a[Z>>0]=m;_g(Yb,v,w,f+5956+(x*692|0)+112|0)|0}else{s=u+(r(q,o)|0)|0;x=(c[S>>2]|0)+(r(s,Ob)|0)|0;v=(p|0)==1?1:p+-1|0;w=c[f+5956+(v*692|0)+100>>2]|0;t=c[Ga>>2]|0;s=c[t+(s<<2)>>2]|0;t=(c[t+(c[Ha>>2]<<2)>>2]|0)-s|0;if((t|0)>0){h=(c[M>>2]|0)+(s<<4)|0;j=0;while(1){n=h+12|0;q=c[n>>2]|0;o=j+s|0;p=((q>>>10&60)+4|0)>>>2;q=((q>>>6&60)+4|0)>>>2;m=0;do{m=m+1|0;l=0;do{u=c[n>>2]|0;l=l+1|0;c[w+(l+(u&15)+((m+(u>>>4&15)|0)*18|0)<<2)>>2]=o}while((l|0)!=(q|0))}while((m|0)!=(p|0));j=j+1|0;if((j|0)==(t|0))break;else h=h+16|0}h=c[Eb>>2]|0;j=c[Fb>>2]|0}else{h=q;j=u}h=(b[$>>1]|0)-(h<<a[Kb>>0])|0;m=c[f+5956+(v*692|0)+104>>2]|0;c[f+5956+(v*692|0)+112>>2]=c[m+(aa+((j<<Lb|0)/4|0)<<2)>>2];if(!ba)break;l=c[f+5956+(v*692|0)+108>>2]|0;j=((((Mb|0)<(h|0)?Mb:h)|0)/4|0)*18|0;h=0;do{v=h;h=h+1|0;c[l+(v<<2)>>2]=c[w+((h*18|0)+Nb<<2)>>2];c[m+(((c[Fb>>2]<<Lb|0)/4|0)+v<<2)>>2]=c[w+(h+j<<2)>>2]}while((h|0)!=(Nb|0));n=c[w+76>>2]|0;if(!ba)break;h=19;j=0;m=0;while(1){l=0;do{a[x+(l+j)>>0]=(c[w+(l+h<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(Nb|0));m=m+1|0;if((m|0)==(Nb|0))break;else{h=h+18|0;j=j+Nb|0}}}while(0);if(c[Ma>>2]|0)break;do if(!(c[Rb>>2]|0)){w=c[ob>>2]|0;v=(w|0)==1;q=c[Fb>>2]|0;s=c[Eb>>2]|0;t=(r(s,b[Pb>>1]|0)|0)+q|0;u=c[(c[Ga>>2]|0)+(t<<2)>>2]|0;x=c[Na>>2]|0;p=c[Oa>>2]|0;t=c[p+((v?(t|0)%142560|0:t)<<2)>>2]|0;p=(c[p+(x<<2)>>2]|0)-t|0;c[Ua>>2]=c[zb>>2];c[ca>>2]=c[Ab>>2];c[da>>2]=f;c[ea>>2]=p;c[fa>>2]=q;c[ga>>2]=s;c[ha>>2]=c[Cb>>2];c[ia>>2]=c[Db>>2];c[ja>>2]=c[vb>>2];c[ka>>2]=c[za>>2];c[la>>2]=(c[Ra>>2]|0)+(t<<2);c[ma>>2]=(c[M>>2]|0)+(u<<4);c[na>>2]=c[f+5956+((v?1:w+-1|0)*692|0)+100>>2];c[oa>>2]=c[Ha>>2];c[pa>>2]=x;c[qa>>2]=c[Wa>>2];c[ra>>2]=c[Bb>>2];c[sa>>2]=c[xb>>2];if((a[tb>>0]|0)==2){bh(Ua)|0;break}else{ch(Ua)|0;break}}while(0);if(!(a[z>>0]|0))break;w=r((b[Pb>>1]|0)+1|0,ta)|0;v=r(c[Fb>>2]|0,ta)|0;w=r(w,c[Eb>>2]|0)|0;x=(c[va>>2]|0)+v+w|0;Rk((c[ua>>2]|0)+v+w|0,0,wa|0)|0;Rk(x|0,0,wa|0)|0}while(0);p=(r(c[Eb>>2]|0,b[(c[Ab>>2]|0)+4118>>1]|0)|0)+(c[Fb>>2]|0)|0;a[(c[xa>>2]|0)+p>>0]=1;p=(c[Cb>>2]|0)+1|0;c[Cb>>2]=p;n=(c[Fb>>2]|0)+1|0;c[Fb>>2]=n;l=(c[vb>>2]|0)+1|0;c[vb>>2]=l;do if(a[ya>>0]|0){j=d[y>>0]|0;h=b[Pb>>1]|0;x=(r(h,d[y+1>>0]|0)|0)+j|0;x=((r(b[Ca>>1]|0,h)|0)+(b[Ba>>1]|0)|0)<(x|0);h=e[k>>1]|0;if(x){if((l|0)!=(h+j|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=j;break}else{if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0;break}}else{h=e[k>>1]|0;if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0}while(0);g:do if((p|0)==(h|0)){c[Cb>>2]=0;h=d[y>>0]|0;c[Fb>>2]=h;j=(c[Db>>2]|0)+1|0;c[Db>>2]=j;k=(c[Eb>>2]|0)+1|0;c[Eb>>2]=k;if((j|0)!=(e[y+4>>1]|0)){o=0;m=y;l=0;break}c[Db>>2]=0;c[Cb>>2]=0;l=c[xb>>2]|0;m=l+6|0;c[xb>>2]=m;k=j+(d[y+1>>0]|0)|0;do if((k|0)==(b[A>>1]|0)){if((p+h|0)!=(b[Pb>>1]|0))break;c[Fb>>2]=0;c[Eb>>2]=k;o=1;m=y;h=0;l=0;break g}while(0);h=d[m>>0]|0;c[Fb>>2]=h;k=d[l+7>>0]|0;c[Eb>>2]=k;c[Db>>2]=0;c[Cb>>2]=0;c[vb>>2]=h;c[za>>2]=k;o=0;l=0}else{o=0;m=y;k=c[Eb>>2]|0;h=n;l=p}while(0);j=b[Pb>>1]|0;h=(r(k,j)|0)+h|0;c[D>>2]=h;if(c[Rb>>2]|0){y=(h|0)==((r(b[F>>1]|0,j)|0)+(b[E>>1]|0)|0);g=y?1:g}if((c[ob>>2]|0)==1&(l|0)==0){c[gb>>2]=e[(c[_>>2]|0)+2>>1];Xg(fb)|0}if(((c[G>>2]|0)+8|0)>>>0<((c[H>>2]|0)+((c[C>>2]|0)>>>3)|0)>>>0)g=(c[Rb>>2]|0)==0?1:g;if(!(g|o)){y=m;h=0}else break}if((ub|0)==219){Sb=Zb;return g|0}c[Rb>>2]=0;if(o|0){c[f+980>>2]=1;Yb=0;Sb=Zb;return Yb|0}j=(c[Wb>>2]|0)+1|0;if((c[ob>>2]|0)!=1&(j&255|0)==0?(Xb=c[Vb+(Ub*8976|0)+4128>>2]|0,Xb|0):0){i=c[xa>>2]|0;h=c[f+208>>2]|0;g=0;do{f=d[i+g>>0]|0;c[Yb>>2]=a[h+g>>0]&1;g=g+((c[Yb>>2]|0)==(f|0)&1)|0}while((g|0)!=(Xb|0))}c[Wb>>2]=j;Yb=0;Sb=Zb;return Yb|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=a+16|0;if(eg(c[g>>2]|0)|0){a=2147483647;return a|0}e=a+4|0;f=c[e>>2]|0;if((c[a+12>>2]|0)>>>0<(f+d|0)>>>0)e=2147483647;else{Pk(f|0,b|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;e=0}c[a+20>>2]=0;a=(fg(c[g>>2]|0)|0)==0;a=a?e:2147483647;return a|0}function Vg(a){a=a|0;var b=0;b=a+16|0;if(eg(c[b>>2]|0)|0){b=2147483647;return b|0}c[a+20>>2]=1;b=(fg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+16|0;if(eg(c[j>>2]|0)|0){j=2147483647;return j|0}i=a+8|0;f=c[i>>2]|0;g=f+d|0;a:do if((c[a+12>>2]|0)>>>0<g>>>0)f=2147483647;else{h=a+4|0;if((c[h>>2]|0)>>>0<g>>>0){a=a+20|0;if((e|0)!=1){f=(c[a>>2]|0)==1;while(1)if(f){f=2147483647;break a}}do{if((c[a>>2]|0)==1){f=2147483647;break a}if(!(fg(c[j>>2]|0)|0)){gg();eg(c[j>>2]|0)|0}f=c[i>>2]|0}while((c[h>>2]|0)>>>0<(f+d|0)>>>0)}Pk(b|0,f|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=0}while(0);j=(fg(c[j>>2]|0)|0)==0;j=j?f:2147483647;return j|0}function Xg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=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;Ac=Sb;Sb=Sb+64|0;yc=Ac;X=Ac+8|0;Ta=f+44|0;ab=c[Ta>>2]|0;fb=ab+4116|0;g=a[fb>>0]|0;Db=g<<24>>24;Tb=1<<Db;h=c[f>>2]|0;nc=(Tb|0)/4|0;Y=r(nc,nc)|0;_a=c[h+11560>>2]|0;xa=f+140|0;j=c[xa>>2]|0;_a=(_a|0)<(j|0)?_a:j;Sa=f+28|0;Ya=f+12|0;Za=(e[(c[Sa>>2]|0)+2>>1]|0)-(c[Ya>>2]|0)|0;Za=(_a|0)<(Za|0)?_a:Za;_a=f+32|0;$a=ab+4118|0;if((c[_a>>2]|0)>(256-(b[$a>>1]<<1)|0))i=1;else i=c[f+688>>2]|0;bb=f+24|0;cb=f+20|0;db=f+120|0;eb=f+68|0;if(!j){Sb=Ac;return 0}gb=f+16|0;lb=f+148|0;mb=f+152|0;nb=f+4|0;ob=f+8|0;pb=Za+-1|0;qb=h+204|0;rb=f+48|0;sb=h+24|0;tb=f+40|0;yb=f+112|0;zb=f+108|0;Ab=f+104|0;Bb=X+4|0;Cb=X+8|0;Eb=X+12|0;Fb=X+16|0;Gb=f+76|0;Hb=X+20|0;Ib=f+96|0;Jb=X+24|0;Ob=X+28|0;Pb=f+100|0;Qb=X+36|0;Rb=f+84|0;Ub=X+32|0;Vb=f+92|0;Wb=X+40|0;Xb=f+264|0;Yb=X+44|0;Zb=f+268|0;_b=X+48|0;$b=f+248|0;ac=X+52|0;bc=f+249|0;dc=X+53|0;ec=f+250|0;fc=X+54|0;gc=f+251|0;hc=X+55|0;ic=h+88|0;jc=f+676|0;kc=f+36|0;lc=f+680|0;mc=r(Za,Y)|0;oc=f+252|0;pc=ab+2|0;qc=(Tb|0)>3;rc=h+128|0;sc=f+280|0;tc=f+284|0;uc=f+288|0;vc=f+300|0;wc=f+304|0;xc=f+308|0;Z=f+312|0;_=f+316|0;$=f+320|0;aa=f+324|0;ba=f+344|0;ca=f+356|0;da=f+364|0;ea=f+368|0;fa=f+684|0;ga=f+372|0;ha=f+672|0;ia=f+376|0;ja=f+296|0;ka=f+292|0;la=f+116|0;ma=(Za|0)>0;na=(Tb<<Db|0)/128|0;oa=f+328|0;pa=f+332|0;qa=((r((Tb|0)/8|0,nc)|0)/8|0)<<1;ra=h+304|0;sa=ab+54|0;ta=f+156|0;ua=f+160|0;va=f+164|0;wa=f+168|0;ya=f+172|0;za=f+176|0;Aa=f+180|0;Ba=f+184|0;Ca=f+232|0;Da=h+20|0;Ea=f+256|0;Fa=f+236|0;Ga=f+260|0;Ha=ab+55|0;Ia=f+380|0;Ja=f+384|0;Ka=f+388|0;La=f+392|0;Ma=f+496|0;Na=f+500|0;Oa=f+536|0;Pa=h+64|0;Qa=f+540|0;Ra=Tb>>3;E=g<<24>>24==31;F=f+132|0;G=ab+4120|0;H=h+92|0;I=f+544|0;J=f+548|0;K=f+564|0;L=f+552|0;M=f+560|0;N=f+656|0;O=f+568|0;P=f+572|0;Q=f+668|0;R=(Tb|0)/2|0;S=h+12204|0;T=h+12208|0;U=Tb+8|0;V=R+16|0;W=h+12212|0;D=h+12216|0;A=c[bb>>2]|0;B=c[cb>>2]|0;C=c[eb>>2]|0;o=c[db>>2]|0;g=c[Ya>>2]|0;do{c[bb>>2]=A;c[cb>>2]=B;c[db>>2]=o;c[eb>>2]=C;y=c[gb>>2]|0;z=c[_a>>2]|0;x=o;i=(j|0)<(i|0)?j:i;w=(i|0)==0;if(w)h=z;else{v=i;do{k=c[Sa>>2]|0;j=c[lb>>2]|0;if(!((j|0)==0?!(c[mb>>2]|0):0)){h=1024;while(1){c[X>>2]=1;if(j|0){u=pb+(c[nb>>2]|0)+(r(c[ob>>2]|0,b[$a>>1]|0)|0)|0;c[X>>2]=d[(c[qb>>2]|0)+u>>0]}if(c[X>>2]|0)break;if((h|0)>0){j=128;do{gj(41840,yc)|0;j=j+-1|0}while((j|0)!=0);h=h+-128|0}else{gg();h=1024}j=c[lb>>2]|0}}Yg(f,1,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=22;if(((zc|0)==22?(zc=0,Ua=c[(c[f>>2]|0)+304>>2]|0,Va=(c[_a>>2]|0)+1|0,Wa=Va&255,Xa=Ua+(Wa*1272|0)|0,(h|0)==(b[Ua+(Wa*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Ua+(Wa*1272|0)+874>>1]|0):0){if(!(a[Ua+(Wa*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Va;c[rb>>2]=Xa}u=c[rb>>2]|0;Zg(f);if((d[u+76>>0]|0)>=2){if((c[sb>>2]|0)>2){j=c[nb>>2]|0;h=c[ob>>2]|0;q=(r(h,b[$a>>1]|0)|0)+j|0;t=(c[Vb>>2]|0)+(r(q,Y)|0)|0;u=c[Pb>>2]|0;s=c[Rb>>2]|0;q=c[s+(q<<2)>>2]|0;s=(c[s+(c[lc>>2]<<2)>>2]|0)-q|0;if((s|0)>0){h=0;j=(c[Ib>>2]|0)+(q<<4)|0;while(1){m=j+12|0;p=c[m>>2]|0;n=h+q|0;o=((p>>>10&60)+4|0)>>>2;p=((p>>>6&60)+4|0)>>>2;k=0;do{k=k+1|0;l=0;do{Bc=c[m>>2]|0;l=l+1|0;c[u+(l+(Bc&15)+((k+(Bc>>>4&15)|0)*18|0)<<2)>>2]=n}while((l|0)!=(p|0))}while((k|0)!=(o|0));h=h+1|0;if((h|0)==(s|0))break;else j=j+16|0}h=c[ob>>2]|0;j=c[nb>>2]|0}h=(b[pc>>1]|0)-(h<<a[fb>>0])|0;l=c[Ab>>2]|0;c[yb>>2]=c[l+(((j+1<<Db|0)/4|0)+-1<<2)>>2];if(qc){k=c[zb>>2]|0;j=((((Tb|0)<(h|0)?Tb:h)|0)/4|0)*18|0;h=0;do{Bc=h;h=h+1|0;c[k+(Bc<<2)>>2]=c[u+((h*18|0)+nc<<2)>>2];c[l+(((c[nb>>2]<<Db|0)/4|0)+Bc<<2)>>2]=c[u+(h+j<<2)>>2]}while((h|0)!=(nc|0));m=c[u+76>>2]|0;if(qc){h=0;k=0;l=19;while(1){j=0;do{a[t+(j+k)>>0]=(c[u+(j+l<<2)>>2]|0)-m;j=j+1|0}while((j|0)!=(nc|0));h=h+1|0;if((h|0)==(nc|0))break;else{k=k+nc|0;l=l+18|0}}}}}}else{if((c[sb>>2]|0)>2){Bc=c[zb>>2]|0;t=c[nb>>2]|0;u=(c[Ab>>2]|0)+(((t<<Db|0)/4|0)<<2)|0;c[X>>2]=c[tb>>2];c[Bb>>2]=c[Ta>>2];c[Cb>>2]=c[rb>>2];c[Eb>>2]=t;c[Fb>>2]=c[ob>>2];c[Hb>>2]=c[Gb>>2];c[Jb>>2]=c[Ib>>2];c[Ob>>2]=k;c[Qb>>2]=c[Pb>>2];c[Ub>>2]=c[Rb>>2];c[Wb>>2]=c[Vb>>2];c[Yb>>2]=c[Xb>>2];c[_b>>2]=c[Zb>>2];a[ac>>0]=a[$b>>0]|0;a[dc>>0]=a[bc>>0]|0;a[fc>>0]=a[ec>>0]|0;a[hc>>0]=a[gc>>0]|0;_g(X,u,Bc,yb)|0}$g(f)}if(a[(c[tb>>2]|0)+27>>0]|0)b[(c[jc>>2]|0)+((r(c[ob>>2]|0,b[$a>>1]|0)|0)+(c[nb>>2]|0)<<1)>>1]=c[kc>>2];h=c[rb>>2]|0;if((c[ic>>2]|0)==0?(c[sb>>2]|0)>2:0){do if(!(c[rc>>2]|0)){ah(f);c[sc>>2]=c[tb>>2];c[tc>>2]=c[Ta>>2];c[uc>>2]=c[f>>2];c[vc>>2]=c[oc>>2];c[wc>>2]=c[nb>>2];c[xc>>2]=c[ob>>2];c[Z>>2]=c[Ya>>2];c[_>>2]=c[gb>>2];c[$>>2]=c[cb>>2];c[aa>>2]=c[bb>>2];c[ba>>2]=c[eb>>2];c[ca>>2]=c[Gb>>2];c[da>>2]=c[Pb>>2];c[ea>>2]=c[lc>>2];c[ga>>2]=c[fa>>2];c[ia>>2]=c[ha>>2];c[ja>>2]=c[rb>>2];c[ka>>2]=c[Sa>>2];if((a[h+76>>0]|0)==2){bh(sc)|0;break}else{ch(sc)|0;break}}while(0);if(a[h+171>>0]|0){u=r((b[$a>>1]|0)+1|0,na)|0;t=r(c[nb>>2]|0,na)|0;u=r(u,c[ob>>2]|0)|0;Bc=(c[pa>>2]|0)+t+u|0;Rk((c[oa>>2]|0)+t+u|0,0,qa|0)|0;Rk(Bc|0,0,qa|0)|0}}t=c[nb>>2]|0;u=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((t+1+(r(u,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|2;h=h+1|0}while((h|0)!=(Za|0))}v=v-Za|0;dh(f,Za)}while((v|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;c[db>>2]=x;c[eb>>2]=C;if(w)h=z;else{o=i;do{Yg(f,2,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=73;if(((zc|0)==73?(zc=0,hb=c[(c[f>>2]|0)+304>>2]|0,ib=(c[_a>>2]|0)+1|0,jb=ib&255,kb=hb+(jb*1272|0)|0,(h|0)==(b[hb+(jb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[hb+(jb*1272|0)+874>>1]|0):0){if(!(a[hb+(jb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=ib;c[rb>>2]=kb}Zg(f);ah(f);if(a[sa>>0]|0){if(!(a[Ha>>0]|0)){h=31520;j=28960;k=28320;l=29472;m=28448;n=28192;zc=80}}else{h=26144;j=26144;k=26144;l=26144;m=26144;n=26144;zc=80}if((zc|0)==80){zc=0;c[ta>>2]=26144;c[ua>>2]=n;c[va>>2]=m;c[wa>>2]=l;c[ya>>2]=26144;c[za>>2]=k;c[Aa>>2]=j;c[Ba>>2]=h}v=c[nb>>2]<<Db;u=r(c[ob>>2]<<Db,c[Da>>2]|0)|0;c[Ea>>2]=(c[Ca>>2]|0)+(u+v);c[Ga>>2]=(c[Fa>>2]|0)+v+((u|0)/2|0);eh(f)|0;u=c[nb>>2]|0;v=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((u+1+(r(v,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|4;h=h+1|0}while((h|0)!=(Za|0))}o=o-Za|0;dh(f,Za)}while((o|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;o=c[db>>2]|0;n=C;C=c[eb>>2]|0;c[db>>2]=x;c[eb>>2]=n;if(w)h=z;else{m=i;do{Yg(f,3,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=96;if(((zc|0)==96?(zc=0,ub=c[(c[f>>2]|0)+304>>2]|0,vb=(c[_a>>2]|0)+1|0,wb=vb&255,xb=ub+(wb*1272|0)|0,(h|0)==(b[ub+(wb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[ub+(wb*1272|0)+874>>1]|0):0){if(!(a[ub+(wb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=vb;c[rb>>2]=xb}if(!(c[ic>>2]|0)){c[Ia>>2]=c[tb>>2];c[Ja>>2]=c[Ta>>2];c[Ka>>2]=c[f>>2];c[La>>2]=c[rb>>2];c[Ma>>2]=h;j=c[ob>>2]|0;c[Na>>2]=j;c[Oa>>2]=c[ha>>2];c[Qa>>2]=(c[Pa>>2]|0)==12&1;l=(b[ab>>1]|0)+63>>6<<3;k=(a[fb>>0]|0)+-3|0;if(!E){h=(h<<k)+-1+(r(l,(j<<k)+-1|0)|0)|0;k=c[F>>2]|0;j=0;while(1){b[f+508+(j<<1)>>1]=(c[k+(h>>3)>>2]|0)>>>(h&7);if((j|0)<(Ra|0)){h=h+l|0;j=j+1|0}else break}}fh(Ia,0,0);Bc=b[$a>>1]|0;if((c[nb>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[ab>>1]|0):0)fh(Ia,1,0);Bc=b[G>>1]|0;if((c[ob>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[pc>>1]|0):0)fh(Ia,0,1)}h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|8;h=h+1|0}while((h|0)!=(Za|0))}m=m-Za|0;dh(f,Za)}while((m|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[gb>>2]=y;c[db>>2]=x;c[eb>>2]=n;z=A;A=c[bb>>2]|0;Bc=B;B=c[cb>>2]|0;c[bb>>2]=z;c[cb>>2]=Bc;if(!w){n=i;do{Yg(f,4,Za);g=c[nb>>2]|0;if(!((g|0)==0?!(c[ob>>2]|0):0))zc=123;if(((zc|0)==123?(zc=0,Kb=c[(c[f>>2]|0)+304>>2]|0,Lb=(c[_a>>2]|0)+1|0,Mb=Lb&255,Nb=Kb+(Mb*1272|0)|0,(g|0)==(b[Kb+(Mb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Kb+(Mb*1272|0)+874>>1]|0):0){if(!(a[Kb+(Mb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Lb;c[rb>>2]=Nb}if(!(c[H>>2]|0)){c[I>>2]=c[tb>>2];c[J>>2]=c[Ta>>2];c[K>>2]=c[Sa>>2];c[L>>2]=c[f>>2];c[M>>2]=c[rb>>2];c[N>>2]=c[_a>>2];c[O>>2]=g;c[P>>2]=c[ob>>2];c[Q>>2]=(c[Pa>>2]|0)==12&1;gh(I);g=c[nb>>2]|0}if(!g){g=c[ob>>2]|0;Bc=c[Da>>2]|0;y=r(g<<Db,Bc)|0;z=(c[Ca>>2]|0)+y|0;c[Ea>>2]=z;c[Ga>>2]=(c[Fa>>2]|0)+((y|0)/2|0);cc[c[S>>2]&7](z+(0-(Bc<<3))|0,Bc,(((b[G>>1]|0)+-1|0)==(g|0)?8:0)+Tb|0,80);g=c[Da>>2]|0;cc[c[T>>2]&7]((c[Ga>>2]|0)+(0-(g<<4))|0,g,R,80);g=c[nb>>2]|0}if(((b[$a>>1]|0)+-1|0)==(g|0)){m=(b[ab>>1]|0)-(g<<a[fb>>0])|0;y=g<<Db;Bc=c[ob>>2]|0;l=c[Da>>2]|0;z=r(Bc<<Db,l)|0;h=(c[Ca>>2]|0)+(z+y)|0;c[Ea>>2]=h;g=c[Fa>>2]|0;c[Ga>>2]=g+y+((z|0)/2|0);if(((b[G>>1]|0)+-1|0)==(Bc|0)){j=g+(r(l,((b[pc>>1]|0)/2|0)+-16<<16>>16<<16>>16)|0)|0;cc[c[T>>2]&7](j,l,16,80);j=V;k=U;h=c[Ea>>2]|0;g=c[Da>>2]|0}else{j=R;k=Tb;g=l}cc[c[W>>2]&7](h+m+(0-(g<<3))|0,g,k,80);Bc=c[Da>>2]|0;cc[c[D>>2]&7]((c[Ga>>2]|0)+m+(0-(Bc<<4))|0,Bc,j,80);if(((b[G>>1]|0)+-1|0)==(c[ob>>2]|0)){zf((c[Ca>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,80);zf((c[Fa>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,40);Bc=c[Da>>2]|0;z=(c[Ca>>2]|0)+(r(Bc,b[pc>>1]|0)|0)+-80|0;Af(z,Bc,(b[ab>>1]|0)+160|0,80);Bc=c[Da>>2]|0;z=(c[Fa>>2]|0)+(r(Bc,((b[pc>>1]|0)/2|0)<<16>>16)|0)+-80|0;Af(z,Bc,(b[ab>>1]|0)+160|0,40)}}g=c[f>>2]|0;do if(c[mb>>2]|0){if(ma){h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|16;g=g+1|0}while((g|0)!=(Za|0))}g=c[f>>2]|0;if(c[mb>>2]|0){if(!ma)break;h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|1;g=g+1|0}while((g|0)!=(Za|0))}}while(0);k=c[Sa>>2]|0;n=n-Za|0;g=(c[Ya>>2]|0)+Za|0;c[Ya>>2]=g;c[nb>>2]=(c[nb>>2]|0)+Za;c[cb>>2]=(c[cb>>2]|0)+Za;l=e[k+2>>1]|0;do if((g|0)>=(l|0)){c[Ya>>2]=0;g=d[k>>0]|0;c[nb>>2]=g;h=(c[gb>>2]|0)+1|0;c[gb>>2]=h;c[ob>>2]=(c[ob>>2]|0)+1;if((h|0)==(e[k+4>>1]|0)){c[gb>>2]=0;c[Ya>>2]=0;j=k+6|0;c[Sa>>2]=j;if((h+(d[k+1>>0]|0)|0)==(b[G>>1]|0)?(g+l|0)==(b[$a>>1]|0):0){g=0;break}c[nb>>2]=d[j>>0];c[ob>>2]=d[k+7>>0];g=0}else g=0}while(0)}while((n|0)!=0)}j=(c[xa>>2]|0)-i|0;c[xa>>2]=j}while((j|0)!=0);Sb=Ac;return 0}function Yg(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+16|0;u=v;q=v+4|0;s=c[f+28>>2]|0;t=f+40|0;p=1<<g;if(!(c[f+152>>2]|0)){Sb=v;return}k=f+8|0;l=f+12|0;m=s+2|0;n=(c[f+44>>2]|0)+4118|0;o=(c[f>>2]|0)+208|0;j=f+4|0;g=1024;while(1){c[q>>2]=1;f=c[k>>2]|0;i=(f|0)>0;if(i){x=(c[l>>2]|0)+h|0;w=(e[m>>1]|0)+-1|0;w=((x|0)<(w|0)?x:w)+(d[s>>0]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+w>>0]}if(a[(c[t>>2]|0)+27>>0]|0?(c[j>>2]|0)>0:0){if(c[q>>2]|0){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}if(!((c[q>>2]|0)==0|i^1)){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}}if(c[q>>2]|0)break;if((g|0)>0){f=128;do{gj(41840,u)|0;f=f+-1|0}while((f|0)!=0);g=g+-128|0}else{gg();g=1024}}Sb=v;return}function Zg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;k=c[f+48>>2]|0;t=c[f+44>>2]|0;u=c[f+28>>2]|0;i=a[u>>0]|0;if(!(i<<24>>24))g=u;else g=(a[u+1>>0]|0)==0?u:u+-6|0;j=b[k+872>>1]|0;h=(e[g+2>>1]|0)+j|0;l=b[t+4118>>1]|0;s=l<<16>>16;if((h|0)>=(s|0)){g=i&255;if(((h|0)%(s|0)|0|0)==(g|0)){h=0;p=g}else q=6}else{g=i&255;q=6}if((q|0)==6){h=(g|0)!=(j|0);p=g}o=(r(b[k+874>>1]|0,s)|0)+j|0;n=d[u+1>>0]|0;if(!(h&(o|0)<((r(n,s)|0)+p|0)))l=b[u+2>>1]|0;k=c[f+4>>2]|0;i=c[f+8>>2]|0;o=(r(i,s)|0)+k|0;g=f+248|0;j=f+251|0;h=f+250|0;m=f+249|0;c[g>>2]=16843009;if(!((i|0)!=0?(c[f+16>>2]|0)!=0:0)){a[g>>0]=0;a[h>>0]=0;a[m>>0]=0}do if((k|0)!=0?(c[f+12>>2]|0)!=0:0){if((k|0)>0){i=c[f+24>>2]|0;if(i|0?c[f+16>>2]|0:0){if((i|0)!=1)break;if(c[f+20>>2]|0)break;a[h>>0]=0;break}a[g>>0]=0;a[h>>0]=0;g=c[f+20>>2]|0;if(!g)a[j>>0]=0;if(((l<<16>>16)+-1|0)!=(g|0))a[m>>0]=0}}else q=14;while(0);do if((q|0)==14){a[j>>0]=0;a[h>>0]=0;if(c[f+24>>2]|0?c[f+16>>2]|0:0)break;a[g>>0]=0;if(((l<<16>>16)+-1|0)!=(c[f+20>>2]|0))a[m>>0]=0}while(0);g=b[u+2>>1]|0;if((k|0)!=(s+-1|0)){g=g&65535;h=g+-1|0;i=c[f+12>>2]|0;if((h|0)==(i|0))q=31;else{j=g;h=i}}else{h=c[f+12>>2]|0;g=g&65535;q=31}if((q|0)==31){a[m>>0]=0;j=g}g=o+1|0;do if((h+1|0)==(j|0)){q=(c[f+16>>2]|0)+1|0;h=q+n|0;if((q|0)!=(e[u+4>>1]|0)){g=(r(h,s)|0)+p|0;break}if(!((j+p|0)==(s|0)?(h|0)==(b[t+4120>>1]|0):0))g=(r(d[u+7>>0]|0,s)|0)+(d[u+6>>0]|0)|0}while(0);c[f+680>>2]=g;t=c[f+84>>2]|0;u=t+(o<<2)|0;c[f+264>>2]=(c[t+(g<<2)>>2]|0)-(c[u>>2]|0);u=c[u>>2]|0;c[f+268>>2]=u;c[f+76>>2]=(c[f+96>>2]|0)+(u<<4);return}function _g(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;U=Sb;Sb=Sb+96|0;O=U+72|0;P=U;F=c[f+4>>2]|0;G=c[f>>2]|0;E=c[f+20>>2]|0;w=c[f+28>>2]|0;Q=c[f+36>>2]|0;p=a[F+4116>>0]|0;D=1<<p;R=(D|0)/4|0;A=r(R,R)|0;B=c[f+40>>2]|0;x=f+12|0;k=c[x>>2]|0;v=f+16|0;j=c[v>>2]|0;y=b[F+4118>>1]|0;u=(r(j,y)|0)+k|0;S=B+(r(u,A)|0)|0;T=c[f+44>>2]|0;N=c[f+48>>2]|0;n=a[f+55>>0]|0;q=d[f+54>>0]|0;s=a[f+52>>0]|0;t=d[f+53>>0]|0;l=P;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));M=(b[F+2>>1]|0)-(j<<p)|0;M=(D|0)<(M|0)?D:M;o=(M|0)/4|0;if((M|0)>3){m=(n&255)<<31;l=0;do{l=l+1|0;c[P+(l<<2)>>2]=m}while((l|0)!=(o|0))}z=R+1|0;M=(b[F>>1]|0)-(k<<p)|0;M=(D|0)<(M|0)?D:M;c[P>>2]=(s<<24>>24==1?(1<<((M|0)/4|0))+-1<<31-R+((D-M|0)/4|0):0)|(t<<31>>>z|q<<31);if(!((k|0)==0|(k|0)!=(d[w>>0]|0))){l=u+-1|0;o=c[f+32>>2]|0;n=c[o+(l<<2)>>2]|0;l=B+(r(l,A)|0)+R+-1|0;if((D|0)>3){m=(r(R,(r(R,u)|0)+1|0)|0)+-1|0;j=l;k=0;while(1){c[h+(k<<2)>>2]=n+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0))break;else j=j+R|0}l=B+m|0;k=c[x>>2]|0;j=c[v>>2]|0}j=k+-1+(r(j+-1|0,y)|0)|0;c[i>>2]=(c[o+(j<<2)>>2]|0)+(d[l+(A+-1+(r(j,A)|0))>>0]|0);j=c[v>>2]|0}if(!((j|0)==0?1:(j|0)!=(d[w+1>>0]|0))){j=(c[x>>2]|0)+(r(j+-1|0,y)|0)|0;l=c[(c[f+32>>2]|0)+(j<<2)>>2]|0;if((D|0)>3){j=B+(r(j,A)|0)+(r(R+-1|0,R)|0)|0;k=0;while(1){c[g+(k<<2)>>2]=l+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0)){C=14;break}else j=j+1|0}}else M=0}else C=14;if((C|0)==14){k=(D|0)>3;if(k){j=0;do{M=j;j=j+1|0;c[Q+(j*18<<2)>>2]=c[h+(M<<2)>>2];c[Q+(j<<2)>>2]=c[g+(M<<2)>>2]}while((j|0)!=(R|0));M=k}else M=0}c[Q+(z<<2)>>2]=c[g+(R<<2)>>2];c[Q>>2]=c[i>>2];if((T|0)>0){L=F+46|0;G=G+43|0;H=f+8|0;I=O+4|0;J=O+6|0;K=O+2|0;F=0;while(1){z=E+12|0;x=c[z>>2]|0;B=(x>>>10&60)+4|0;A=(x>>>6&60)+4|0;C=x&15;D=x>>>4&15;y=(x&524288|0)==0;do if(!y?(v=A>>>0>B>>>0?A:B,w=1<<a[L>>0],!((A|0)==(B|0)|((a[G>>0]|0)<3?1:(((v|0)>(w|0)?v:w)|0)!=8))):0){j=x&1040187392;if((j|0)==335544320){t=8;u=8;v=1;w=C+-1|0;j=D;break}else{t=8;u=8;v=1;w=C;j=D+(((j|0)==301989888)<<31>>31)|0;break}}else{t=A;u=B;v=0;w=C;j=D}while(0);o=j+1|0;k=Q+(w+1+(j*18|0)<<2)|0;l=k+-4|0;m=l+72|0;s=31-w|0;n=(c[P+(o+(u>>>2)<<2)>>2]|0)>>>s&1;o=(c[P+(o<<2)>>2]|0)>>>s&1;V=c[P+(j<<2)>>2]|0;p=V>>>(30-w|0)&1;q=V>>>(31-(t>>>2)+~w|0)&1;s=V>>>s&1;do if(!(x&65536)){if(y){kh(f,k,m,l,18,E,n,o,q,p,s,O);j=(c[z>>2]|0)>>>17&3;if((j|0)!=1?(z=e[K>>1]|0,V=E+2|0,y=e[V>>1]|0,b[E>>1]=(e[E>>1]|0)+(e[O>>1]|0),b[V>>1]=y+z,(j|0)==0):0)break;z=e[J>>1]|0;x=E+4|0;V=E+6|0;y=e[V>>1]|0;b[x>>1]=(e[x>>1]|0)+(e[I>>1]|0);b[V>>1]=y+z;break}lh(f,k,m,18,E,x>>>25&7,x>>>28&3,t,u,w<<2,j<<2,v,n,o,q,p,s);j=c[z>>2]|0;if((j&393216|0)==262144){V=j>>>25&7;if(!((A|0)==8&(V|0)==1)?!((B|0)==8&(V|0)==2):0)break;c[z>>2]=j&-393217}}while(0);V=c[H>>2]|0;j=c[V+1068+((a[E+9>>0]|0)*12|0)>>2]|0;a[E+10>>0]=a[(c[V+876+((a[E+8>>0]|0)*12|0)>>2]|0)+22>>0]|0;if(!(a[V+76>>0]|0))a[E+11>>0]=a[j+22>>0]|0;o=A>>>2;k=(1<<o)+-1<<32-o>>>(C+1|0);n=B>>>2;j=0;do{j=j+1|0;V=P+(j+D<<2)|0;c[V>>2]=c[V>>2]|k}while((j|0)!=(n|0));m=F+N|0;j=C+19+(D*18|0)|0;l=0;while(1){k=0;do{c[Q+(k+j<<2)>>2]=m;k=k+1|0}while((k|0)!=(o|0));l=l+1|0;if((l|0)==(n|0))break;else j=j+18|0}F=F+1|0;if((F|0)==(T|0))break;else E=E+16|0}}c[i>>2]=c[g+(R+-1<<2)>>2];if(!M){Sb=U;return T|0}j=R;k=R*18|1;l=0;while(1){j=j+18|0;c[h+(l<<2)>>2]=c[Q+(j<<2)>>2];c[g+(l<<2)>>2]=c[Q+(k<<2)>>2];l=l+1|0;if((l|0)==(R|0))break;else k=k+1|0}n=c[Q+76>>2]|0;if(!M){Sb=U;return T|0}j=19;k=0;m=0;while(1){l=0;do{a[S+(l+k)>>0]=(c[Q+(l+j<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(R|0));m=m+1|0;if((m|0)==(R|0))break;else{j=j+18|0;k=k+R|0}}Sb=U;return T|0}function $g(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;ua=c[e>>2]|0;za=c[e+48>>2]|0;f=c[e+40>>2]|0;Ha=c[e+44>>2]|0;Ia=e+4|0;va=e+8|0;wa=(r(c[va>>2]|0,b[Ha+4118>>1]|0)|0)+(c[Ia>>2]|0)|0;xa=c[e+84>>2]|0;wa=(c[xa+(c[e+680>>2]<<2)>>2]|0)-(c[xa+(wa<<2)>>2]|0)|0;xa=c[ua+20>>2]|0;ya=c[e+188>>2]|0;Aa=c[e+192>>2]|0;Ba=c[e+232>>2]|0;Ca=c[e+236>>2]|0;Da=(c[ua+64>>2]|0)==12;Ea=za+76|0;if((d[Ea>>0]|0)>=2)J(41910,41991,190,42019);if((wa|0)<=0)return;Fa=Ha+4116|0;Ga=f+22|0;ja=f+23|0;ka=Ha+2|0;la=ua+11608|0;ma=0-xa|0;na=za+258|0;oa=ua+12220|0;pa=za+259|0;qa=ua+12232|0;ra=ua+12224|0;sa=ua+12228|0;ta=ua+12240|0;q=0;A=0;B=0;g=0;E=0;ha=c[e+76>>2]|0;ia=0;y=0;e=0;x=0;o=0;w=0;s=0;u=0;t=0;p=0;v=0;m=0;l=0;f=0;k=0;j=0;i=0;h=0;while(1){aa=ha+12|0;n=c[aa>>2]|0;a:do if(!(n&65536)){ca=a[Fa>>0]|0;ba=(c[Ia>>2]<<ca)+(n<<2&60)|0;ca=(c[va>>2]<<ca)+(n>>>2&60)|0;da=(n>>>6&60)+4|0;C=a[((a[Ea>>0]|0)==1?Ga:ja)>>0]|0;ga=n>>>17&3;D=(ga|0)==2;if((ga|0)==1){$=q;z=e;ea=s;fa=v;ga=l}else{ga=a[ha+8>>0]|0;$=c[za+876+(ga*12|0)>>2]|0;f=c[$>>2]|0;$=c[$+4>>2]|0;z=b[za+452+(ga<<1)>>1]|0;o=b[za+388+(ga<<1)>>1]|0;ea=b[za+324+(ga<<1)>>1]|0;t=b[za+420+(ga<<1)>>1]|0;fa=b[za+356+(ga<<1)>>1]|0;ga=b[za+292+(ga<<1)>>1]|0}if(!(n&393216)){Z=u;_=m}else{_=a[ha+9>>0]|0;B=c[za+1068+(_*12|0)>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;y=b[za+676+(_<<1)>>1]|0;x=b[za+612+(_<<1)>>1]|0;w=b[za+548+(_<<1)>>1]|0;Z=b[za+644+(_<<1)>>1]|0;p=b[za+580+(_<<1)>>1]|0;_=b[za+516+(_<<1)>>1]|0}I=ha+4|0;K=-284-(ba<<2)|0;L=ha+6|0;M=-284-(ca<<2)|0;U=r(ca,xa)|0;N=Ba+U|0;O=ha+2|0;Y=C<<24>>24!=0;P=D|Y;Q=(P&1)<<2|1;R=P?10:9;S=(ba|0)/2|0;T=(ca|0)/2|0;U=Ca+((U|0)/2|0)|0;V=P?da:xa;X=D&Y;Y=Y&(D^1);W=da>>>1;H=D&C<<24>>24==0;m=(n>>>10&60)+4|0;l=0;e=E;while(1){G=(l|0)==0;E=n&393216;u=(E|0)==131072;do if(G){if(!u){g=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;g=(n|0)<(g|0)?n:(K|0)>(g|0)?K:g;F=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;F=(q|0)<(F|0)?q:(M|0)>(F|0)?M:F;s=c[la>>2]&3;j=s&g;k=s&F;g=f+(r((F>>2)+ca|0,xa)|0)+((g>>2)+ba)|0;if(!E){q=37152;s=8;n=N;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&3}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37152;C=8;e=A+(r((i>>2)+ca|0,xa)|0)+((h>>2)+ba)|0;n=N;i=s&i;h=s&h;F=21}else{if(!u){j=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;j=(n|0)<(j|0)?n:(K|0)>(j|0)?K:j;k=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;k=(q|0)<(k|0)?q:(M|0)>(k|0)?M:k;g=$+(r((k>>3)+T|0,xa)|0)+((j>>3)+S<<1)|0;s=c[la>>2]&7;j=s&j;k=s&k;if(!E){q=37088;s=4;n=U;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&7}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37088;C=4;e=B+(r((i>>3)+T|0,xa)|0)+((h>>3)+S<<1)|0;n=U;i=s&i;h=s&h;F=21}while(0);if((F|0)==20){n=n+ba|0;F=23}else if((F|0)==21){n=n+ba|0;if(u){D=l*11|0;u=0;v=0;s=C;C=D;D=D+Q|0;F=24}else{s=C;F=23}}if((F|0)==23){F=0;C=l*11|0;D=C+Q|0;Ja=(j|0)!=0;u=(k|0)!=0;v=c[ua+11640+(D+(Ja?2:0)+(u&1)<<2)>>2]|0;u=c[ua+11640+((Ja&u?R:0)+C<<2)>>2]|0;if(!E){E=0;C=0;D=n}else F=24}if((F|0)==24){F=0;Ka=(h|0)!=0;Ja=(i|0)!=0;E=c[ua+11640+((Ka&Ja?R:0)+C<<2)>>2]|0;C=c[ua+11640+(D+(Ka?2:0)+(Ja&1)<<2)>>2]|0;D=n}if(v|0){Ja=(j|0)!=0;Ka=(k|0)==0|Ja^1;n=g+(r((s>>>1)+-1|0,ma)|0)|0;fc[v&31](Ka?g:n,Ka?(P?ya:D):ya,xa,P?da:Ka?xa:da,Ja?q+(j<<3)|0:q+(k<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(u|0){Ka=ya+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[u&31](Ka,P?ya:D,da,V,q+(k<<3)|0,m>>l,da>>>l)}if(C|0){Ja=(h|0)!=0;Ka=(i|0)==0|Ja^1;v=e+(r((s>>>1)+-1|0,ma)|0)|0;fc[C&31](Ka?e:v,Ka?(P?Aa:D):Aa,xa,P?da:Ka?xa:da,Ja?q+(h<<3)|0:q+(i<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(E|0){Ka=Aa+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[E&31](Ka,P?Aa:D,da,V,q+(i<<3)|0,m>>l,da>>>l)}do if(X){u=G^1;v=(j|0)==0|u|(k|0)==0?0:8192;u=(h|0)==0|u|(i|0)==0?0:8192;if(G){mc[c[oa>>2]&1](ya,Aa,D,da,da,xa,ga,ea,_,w,(a[na>>0]|0)+7|0,v,u,m,da);l=1;break}n=(a[pa>>0]|0)+7|0;q=c[qa>>2]|0;s=m>>1;if(Da){nc[q&1](ya,Aa,D,da,da,xa,t,fa,z,o,Z,p,y,x,n,v,u,s,W);F=47;break}else{nc[q&1](ya,Aa,D,da,da,xa,fa,t,o,z,p,Z,x,y,n,v,u,s,W);F=47;break}}else{if(!Y){if(!H){F=47;break}F=G^1;m=m>>(F&1);ic[c[ra>>2]&7](ya,Aa,D,da,da,xa,(j|0)==0|F|(k|0)==0?0:8192,(h|0)==0|F|(i|0)==0?0:8192,m,da);F=47;break}u=(c[aa>>2]&393216|0)==0;v=((u?j:h)|0)==0|G^1|((u?k:i)|0)==0?0:8192;if(G){ic[c[sa>>2]&7](u?ya:Aa,D,da,xa,u?ga:_,u?ea:w,(a[na>>0]|0)+6|0,v,m,da);l=1;break}n=(a[pa>>0]|0)+6|0;q=c[ta>>2]|0;s=u?ya:Aa;if(Da){kc[q&7](s,D,da,xa,u?t:Z,u?fa:p,u?z:y,u?o:x,n,v,m>>1,W);F=47;break}else{kc[q&7](s,D,da,xa,u?fa:p,u?t:Z,u?o:x,u?z:y,n,v,m>>1,W);F=47;break}}while(0);if((F|0)==47){l=l+1|0;if((l|0)==2){q=$;s=ea;u=Z;n=fa;m=_;l=ga;break a}}n=c[aa>>2]|0}}else{z=e;n=v;e=E}while(0);ia=ia+1|0;if((ia|0)==(wa|0))break;else{E=e;ha=ha+16|0;e=z;v=n}}return}function ah(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+44>>2]|0;j=b[l+4118>>1]|0;h=(r(c[a+8>>2]|0,j)|0)+(c[a+4>>2]|0)|0;k=c[a+28>>2]|0;if((c[(c[a>>2]|0)+24>>2]|0)==1){i=(h|0)%142560|0;f=i+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;h=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(h,j)|0;f=f+(d[k>>0]|0)|0;break}if((h|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0)break;f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(i<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}f=h+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;f=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(f,j)|0;f=f+(d[k>>0]|0)|0;break}if((f|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0){f=((h|0)%142560|0)+1|0;break}f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(h<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}function bh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;y=c[f>>2]|0;G=c[f+4>>2]|0;w=a[y+33>>0]|0;z=f+16|0;D=a[(c[z>>2]|0)+174>>0]|0;t=c[f+20>>2]|0;I=a[G+4116>>0]|0;J=I<<24>>24;H=1<<J;A=G+4118|0;g=b[A>>1]|0;s=(J<<1)+-7|0;E=f+24|0;x=c[E>>2]|0;v=x<<s;B=f+28|0;C=c[B>>2]|0;L=r(C,g+1<<s)|0;K=(c[f+48>>2]|0)+v+L|0;L=(c[f+52>>2]|0)+v+L|0;v=J+-3|0;u=g<<v;v=(c[f+60>>2]|0)+((r(C,u)|0)+x<<v)|0;x=(r(C,g)|0)+x|0;x=1<<(x&7)&d[(c[f+56>>2]|0)+(x>>3)>>0];g=c[K>>2]|0;C=(H|0)/2|0;h=-1>>>(32-C|0);i=c[L>>2]&h;s=1<<s;Rk(K|0,0,s+(H>>5<<1)|0)|0;Rk(L|0,0,s|0)|0;if(c[E>>2]|0)c[K>>2]=c[K>>2]|g&h;if(c[B>>2]|0)c[L>>2]=c[L>>2]|i;q=f+64|0;if(x|0)a[v>>0]=c[c[q>>2]>>2]<<9>>25;if((t|0)>0){p=J+-2|0;s=7-J|0;if(I<<24>>24==6){m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;h=g>>>4&15;i=4<<(g>>>8&7);k=i>>>2;i=-1431655766>>>(32-(i>>>1)|0);j=g&1;if(!j){p=K+(o>>>s<<2)|0;c[p>>2]=c[p>>2]|i<<(h<<1)}if((g&16|0)==0?(p=L+(h>>>s<<2)|0,c[p>>2]=c[p>>2]|i<<(o<<1),(j|x|0)==0):0){l=k+h|0;j=k+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<l>>>0)}m=m+1|0}while((m|0)!=(t|0))}else{m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;i=g>>>4;h=i&15;j=4<<(g>>>8&7);l=j>>>2;j=-1431655766>>>(32-(j>>>1)|0);k=g&1;if(!k){M=K+(o>>>s<<2)|0;c[M>>2]=c[M>>2]|j<<(h<<1)+((g&2)<<p)}if((g&16|0)==0?(M=L+(h>>>s<<2)|0,c[M>>2]=c[M>>2]|j<<((i&2)<<p)+(o<<1),(k|x|0)==0):0){k=l+h|0;j=l+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<k>>>0)}m=m+1|0}while((m|0)!=(t|0))}}m=w<<24>>24==0;a:do if(!(a[y+27>>0]|0)){if(!(m?!(c[f+32>>2]|0):0))F=32;do if((F|0)==32){if((D<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[E>>2]|0)break a}while(0);c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}else{if(m?(c[f+32>>2]|0)==0:0){c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C);break}k=c[E>>2]|0;g=(r(c[B>>2]|0,b[A>>1]|0)|0)+k|0;h=c[f+96>>2]|0;i=b[h+(g<<1)>>1]|0;j=i&65535;k=(k|0)==0;if(!k){g=b[h+(g+-1<<1)>>1]|0;if(g<<16>>16==i<<16>>16?(a[(c[z>>2]|0)+75>>0]|0)==1:0)break;else g=g&65535}else g=-1;if(D<<24>>24!=0|(g|0)==(j|0)){if(!k)break}else if(c[f+44>>2]|0?!(k|(c[f+32>>2]|0)==0):0)break;c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}while(0);g=c[E>>2]|0;h=c[B>>2]|0;i=b[A>>1]|0;k=(r(h,i)|0)+g|0;j=c[f+96>>2]|0;k=e[j+(k<<1)>>1]|0;l=(h|0)==0;if(l)i=-1;else i=e[j+((r(h+-1|0,i)|0)+g<<1)>>1]|0;if(m?(c[f+36>>2]|0)==0:0)F=52;else if(l|D<<24>>24==0&(i|0)!=(k|0))F=52;if((F|0)==52){c[L>>2]=c[L>>2]&(I<<24>>24==6?0:-1<<C);h=c[B>>2]|0;g=c[E>>2]|0}i=(b[G+2>>1]|0)-(h<<J)>>3;h=(b[G>>1]|0)-(g<<J)>>3;g=H>>3;if((i|0)<(g|0)){M=J+-4|0;Rk(L+((I<<24>>24==6?0:(i&1)<<M)+(i>>6-J<<2))|0,0,1<<M|0)|0}if((h|0)>=(g|0))return 0;M=J+-4|0;Rk(K+((I<<24>>24==6?0:(h&1)<<M)+(h>>6-J<<2))|0,0,1<<M|0)|0;return 0}function ch(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;O=c[f+4>>2]|0;H=c[f>>2]|0;S=a[O+4116>>0]|0;T=S<<24>>24;P=1<<T;F=O+4118|0;G=b[F>>1]|0;A=(T<<1)+-7|0;g=G+1<<A;M=f+24|0;E=c[M>>2]|0;h=E<<A;J=f+28|0;I=c[J>>2]|0;R=r(I,g)|0;Q=(c[f+48>>2]|0)+h+R|0;R=(c[f+52>>2]|0)+h+R|0;h=c[Q>>2]|0;K=(P|0)/2|0;i=-1>>>(32-K|0);j=c[R>>2]&i;B=f+64|0;D=T+-3|0;C=G<<D;D=(c[f+60>>2]|0)+((r(I,C)|0)+E<<D)|0;E=(r(I,G)|0)+E|0;E=1<<(E&7)&d[(c[f+56>>2]|0)+(E>>3)>>0];G=a[H+33>>0]|0;I=f+16|0;L=a[(c[I>>2]|0)+174>>0]|0;A=1<<A;Rk(Q|0,0,A+(P>>4)|0)|0;Rk(R|0,0,A|0)|0;if(c[M>>2]|0)c[Q>>2]=c[Q>>2]|h&i;if(c[J>>2]|0)c[R>>2]=c[R>>2]|j;y=R+g|0;c[y>>2]=0;m=(r(c[J>>2]|0,b[F>>1]|0)|0)+(c[M>>2]|0)|0;z=f+8|0;A=c[f+68>>2]|0;m=(c[A+(c[f+92>>2]<<2)>>2]|0)-(c[A+(((c[(c[z>>2]|0)+24>>2]|0)==1?(m|0)%142560|0:m)<<2)>>2]|0)|0;if(E|0)a[D>>0]=c[c[B>>2]>>2]<<9>>25;if((m|0)>0){A=S<<24>>24==6;o=T+-2|0;p=7-T|0;q=(P|0)/8|0;s=(64>>>T)+-1|0;t=T+-1|0;n=0;do{u=(c[B>>2]|0)+(n<<2)|0;j=c[u>>2]|0;v=j&15;k=j>>>4;g=k&15;h=4<<(j>>>8&7);x=h>>>2;w=x+v|0;x=x+g|0;l=(c[M>>2]<<T)+(v<<2)|0;if(1<<(l>>>3&7)&d[(c[(c[z>>2]|0)+212>>2]|0)+(r(((b[O>>1]|0)+63|0)/64|0,(c[J>>2]<<T)+(g<<2)>>3)|0)+(l>>6)>>0]|0){i=-1431655766>>>(32-(h>>>1)|0);if(!(j&1)){l=Q+(v>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(g<<1)+(A?0:(j&2)<<o)}if(!(j&16)){l=R+(g>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(A?0:(k&2)<<o)+(v<<1)}}do if(c[u>>2]&2048){l=1431655765>>>(32-(h>>>1)|0);i=j&1;if(!i){h=Q+(v>>>p<<2)|0;c[h>>2]=c[h>>2]|l<<(g<<1)+(A?0:(j&2)<<o)}h=j&16;if(!h){j=R+(g>>>p<<2)|0;c[j>>2]=c[j>>2]|l<<(A?0:(k&2)<<o)+(v<<1)}do if(!(w&1)){j=w>>>1;if((q|0)==(j|0)?(c[M>>2]|0)==((b[F>>1]|0)+-1|0):0)break;k=Q+(w>>>p<<2)|0;c[k>>2]=c[k>>2]|l<<((j&s)<<t)+(g<<1)}while(0);if(!(x&1)){j=x>>>1;k=v<<1;if((q|0)==(j|0)){c[y>>2]=c[y>>2]|l<<k;break}else{U=R+(x>>>p<<2)|0;c[U>>2]=c[U>>2]|l<<((j&s)<<t)+k;break}}}else{i=j&1;h=j&16}while(0);if(!(i|E|h))do{i=r(g>>>1,C)|0;h=v;do{a[D+((h>>1)+i)>>0]=c[u>>2]<<9>>25;h=h+2|0}while(h>>>0<w>>>0);g=g+2|0}while(g>>>0<x>>>0);n=n+1|0}while((n|0)!=(m|0))}F=b[F>>1]|0;y=(r(c[J>>2]|0,F)|0)+(c[M>>2]|0)|0;U=c[f+72>>2]|0;y=(c[U+(c[f+88>>2]<<2)>>2]|0)-(c[U+(y<<2)>>2]|0)|0;if((y|0)>0){z=f+84|0;A=f+80|0;B=S<<24>>24==6;C=T+-2|0;D=7-T|0;x=c[f+76>>2]|0;w=0;do{v=x+(w<<4)|0;p=x+(w<<4)+12|0;k=c[p>>2]|0;g=k&15;j=k>>>4;i=j&15;h=(k>>>8&15)+1|0;l=(k>>>12&15)+1|0;E=h+g|0;u=l+i|0;a:do if(!(k&65536)){b:do if((c[M>>2]|0)!=(0-g|0)){t=g+18|0;n=B?0:(k&2)<<C;o=Q+(g>>>D<<2)|0;q=c[z>>2]|0;s=c[A>>2]|0;if(k&1|0){j=l;k=i;while(1){p=c[s+(c[q+(t+(k*18|0)<<2)>>2]<<4)+12>>2]|0;p=(p>>>12&15)+1+(p>>>4&15)|0;U=k;k=p>>>0<u>>>0?p:u;j=j+(U-k)|0;if((j|0)<=0)break b}}do{j=c[q+(t+(i*18|0)<<2)>>2]|0;U=c[s+(j<<4)+12>>2]|0;m=(U>>>12&15)+1+(U>>>4&15)|0;k=i;i=m>>>0<u>>>0?m:u;m=i-k|0;if(!(U&65536)){if(jh(v,s+(j<<4)|0)|0){j=1431655765;N=47}}else{j=-1431655766;N=47}if((N|0)==47){N=0;c[o>>2]=c[o>>2]|j>>>(32-(m<<1)|0)<<(k<<1)+n}l=l-m|0}while((l|0)>0);i=(c[p>>2]|0)>>>4&15}while(0);if((c[J>>2]|0)!=(0-i|0)){p=i*18|1;l=B?0:(i&2)<<C;m=R+(i>>>D<<2)|0;n=c[z>>2]|0;o=c[A>>2]|0;if(i&1|0)while(1){v=c[o+(c[n+(p+g<<2)>>2]<<4)+12>>2]|0;v=(v&15)+1+(v>>>8&15)|0;U=g;g=v>>>0<E>>>0?v:E;h=h+(U-g)|0;if((h|0)<=0)break a}do{i=c[n+(p+g<<2)>>2]|0;U=c[o+(i<<4)+12>>2]|0;k=(U&15)+1+(U>>>8&15)|0;j=g;g=k>>>0<E>>>0?k:E;k=g-j|0;if(!(U&65536)){if(jh(v,o+(i<<4)|0)|0){i=1431655765;N=57}}else{i=-1431655766;N=57}if((N|0)==57){N=0;c[m>>2]=c[m>>2]|i>>>(32-(k<<1)|0)<<(j<<1)+l}h=h-k|0}while((h|0)>0)}}else{if(!(k&1)){U=Q+(g>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(l<<1)|0)<<(i<<1)+(B?0:(k&2)<<C)}if(!(k&16)){U=R+(i>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(h<<1)|0)<<(B?0:(j&2)<<C)+(g<<1)}}while(0);w=w+1|0}while((w|0)!=(y|0))}l=G<<24>>24==0;c:do if(!(a[H+27>>0]|0)){if(!(l?!(c[f+32>>2]|0):0))N=64;do if((N|0)==64){if((L<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[M>>2]|0)break c}while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}else{if(l?(c[f+32>>2]|0)==0:0){c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K);break}g=c[M>>2]|0;h=c[f+96>>2]|0;i=(g|0)==0;if(!i){g=(r(c[J>>2]|0,F)|0)+g|0;g=(b[h+(g+-1<<1)>>1]|0)==(b[h+(g<<1)>>1]|0);if(g&(a[(c[I>>2]|0)+75>>0]|0)==1)break}else g=0;do if(!(L<<24>>24)){if((c[f+40>>2]|0)==0?(c[f+44>>2]|0)==0:0)break;if(!(i|(g|(c[f+32>>2]|0)!=0)^1))break c}else if(!i)break c;while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}while(0);g=c[M>>2]|0;h=c[J>>2]|0;j=(r(h,F)|0)+g|0;i=c[f+96>>2]|0;j=e[i+(j<<1)>>1]|0;k=(h|0)==0;if(k)i=-1;else i=e[i+((r(h+-1|0,F)|0)+g<<1)>>1]|0;if(l?(c[f+36>>2]|0)==0:0)N=85;else if(k|L<<24>>24==0&(i|0)!=(j|0))N=85;if((N|0)==85){c[R>>2]=c[R>>2]&(S<<24>>24==6?0:-1<<K);h=c[J>>2]|0;g=c[M>>2]|0}i=(b[O+2>>1]|0)-(h<<T)>>3;h=(b[O>>1]|0)-(g<<T)>>3;g=P>>3;if((i|0)<(g|0)){U=T+-4|0;Rk(R+((S<<24>>24==6?0:(i&1)<<U)+(i>>6-T<<2))|0,0,1<<U|0)|0}if((h|0)>=(g|0))return 0;U=T+-4|0;Rk(Q+((S<<24>>24==6?0:(h&1)<<U)+(h>>6-T<<2))|0,0,1<<U|0)|0;return 0}function dh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f+48>>2]|0;l=c[f+28>>2]|0;h=c[f+44>>2]|0;o=f+12|0;c[o>>2]=(c[o>>2]|0)+g;o=f+4|0;j=(c[o>>2]|0)+g|0;c[o>>2]=j;o=f+20|0;n=(c[o>>2]|0)+g|0;c[o>>2]=n;if(!(a[(c[f+40>>2]|0)+27>>0]|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}m=b[i+872>>1]|0;k=b[h+4118>>1]|0;h=(r(k,b[i+874>>1]|0)|0)+m|0;i=d[l>>0]|0;if((h|0)>=((r(d[l+1>>0]|0,k)|0)+i|0)){if((n|0)<(e[l+2>>1]|0))return;n=f+24|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=0;return}if((j|0)>(m|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h+i|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}else{h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(k-m+i+h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}}function eh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=Sb;Sb=Sb+272|0;na=Ma+160|0;sa=Ma+252|0;ya=Ma+248|0;Ba=Ma+244|0;Fa=Ma+240|0;Ga=Ma+236|0;Ha=Ma+232|0;Ia=Ma+258|0;Ja=Ma+256|0;oa=Ma+144|0;pa=Ma;qa=c[e+44>>2]|0;p=c[e+40>>2]|0;o=c[e+48>>2]|0;ra=c[e>>2]|0;ta=c[e+256>>2]|0;ua=c[e+260>>2]|0;va=c[e+244>>2]|0;wa=qa+4116|0;u=a[wa>>0]|0;n=u<<24>>24;xa=1<<n;La=e+64|0;g=c[La>>2]|0;za=c[ra+20>>2]|0;Aa=c[e+240>>2]|0;q=c[e+68>>2]|0;if((a[qa+54>>0]|0)==1?(a[p+40>>0]|0)==1:0)f=p;else f=qa+8968|0;ma=c[f>>2]|0;i=a[e+251>>0]|0;k=a[e+250>>0]|0;l=a[e+248>>0]|0;m=a[e+249>>0]|0;f=na;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));la=e+8|0;t=c[la>>2]|0;ka=(b[qa+2>>1]|0)-(t<<n)|0;ka=(xa|0)<(ka|0)?xa:ka;j=(ka|0)/4|0;if((ka|0)>3){h=(i&255)<<31;f=0;do{f=f+1|0;c[na+(f<<2)>>2]=h}while((f|0)!=(j|0))}ja=(xa|0)/4|0;s=b[qa>>1]|0;ka=e+4|0;j=c[ka>>2]|0;f=(s<<16>>16)-(j<<n)|0;f=(xa|0)<(f|0)?xa:f;c[na>>2]=(l<<24>>24==1?(1<<((f|0)/4|0))+-1<<31-ja+((xa-f|0)/4|0):0)|((m&255)<<31>>>(ja+1|0)|(k&255)<<31);ja=e+252|0;f=c[ja>>2]|0;if((f|0)<=0){Ja=g;Ka=f;c[La>>2]=Ja;Sb=Ma;return Ka|0}ga=ra+64|0;ha=e+128|0;ia=p+19|0;ea=o+168|0;fa=p+20|0;da=o+169|0;W=p+15|0;X=0-za|0;Y=oa+4|0;Z=oa+8|0;_=ra+12008|0;$=ra+12012|0;aa=qa+161|0;ba=ra+12004|0;ca=ra+12e3|0;h=0;v=0;k=u;i=t;f=s;while(1){c[sa>>2]=0;c[ya>>2]=0;c[Ba>>2]=0;c[Fa>>2]=0;c[Ga>>2]=0;c[Ha>>2]=0;t=(c[ga>>2]|0)==12;U=t&1;V=t?-2:0;l=c[q>>2]|0;p=l<<2&60;s=l>>>2&60;S=k<<24>>24;T=(j<<S)+p|0;T=1<<(T>>>3&7)&d[(c[ha>>2]|0)+(r(((f<<16>>16)+63|0)/64|0,(i<<S)+s>>3)|0)+(T>>6)>>0];S=l>>>23&63;R=l>>>29;u=R&255;R=(R|0)==7?1:2;T=(T|0)!=0;if((S|0)==63&T){m=4<<(l>>>8&7);n=ta+((r(s,za)|0)+p)|0;o=(r(s>>>1,za)|0)+p|0;k=ua+o|0;g=g+6|0;if((m|0)>0){j=r(m,m)|0;f=0;i=g;while(1){Pk(n+(r(f,za)|0)|0,i|0,m|0)|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+m|0}g=g+j|0}k=k+U|0;l=m>>>1;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);k=k+1+V|0;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);Q=0;i=m;P=o}else{Q=1;i=0;n=ta+((r(s,za)|0)+p)|0;P=(r(s>>>1,za)|0)+p|0}N=p+-4+(r((s+-4|0)/2|0,za)|0)|0;O=T?0:3;L=t<<31>>31;M=36736+(S<<2)|0;o=0;K=0;f=u;s=0;p=0;m=0;l=0;j=i;i=v;do{do if(Q){C=(K|0)==0;B=c[q>>2]|0;u=B>>>8&7;if(C){v=u+2|0;t=4<<u;y=T&(u|0)==0;w=u+1|0;k=y?u:w;x=B<<9>>25;j=a[g+1>>0]&1;if(!(B&2048)){J=j;I=0;G=n;H=v;D=k;E=m;F=l}else{A=(x|0)/6|0;J=j;I=1;G=n;H=v;D=k;E=m;F=l;g=hh(va,v,g,ma+(c[36880+((u*6|0)+(T?0:(u|0)==3?1:3)<<2)>>2]<<1)|0,x-(A*6|0)|0,A,y?0:w,B>>>15&1,sa,Ba,Ga,Ia)|0}}else{o=(u|0)==0;y=o?0:u+-1|0;v=y+2|0;t=1<<v;w=va+(t<<v<<1)|0;o=ua+(o?N:P)+U|0;u=o+1+V|0;j=K+O+(y*6|0)|0;x=ma+(c[36880+(j+1<<2)>>2]<<1)|0;p=y+5|0;p=(p|0)<7?p:7;y=y+1|0;m=B>>>12&1;z=B<<9>>25;k=z+(a[ia>>0]|0)+(a[ea>>0]|0)|0;k=(k|0)>0?k:0;k=b[36352+(((k|0)<57?k:57)<<1)>>1]|0;s=B>>>13&1;z=z+(a[fa>>0]|0)+(a[da>>0]|0)|0;z=(z|0)>0?z:0;z=b[36352+(((z|0)<57?z:57)<<1)>>1]|0;A=(z|0)/6|0;l=a[g+1>>0]&1;if(!m)j=l;else{J=(k|0)/6|0;j=hh(va,v,g,ma+(c[36880+(j<<2)>>2]<<1)|0,k-(J*6|0)|0,J,y,B>>>15&1,sa,Ba,Ga,Ia)|0;g=j;j=a[j+1>>0]&1}if(!s){J=l;I=m;G=o;H=v;o=j;D=p;s=0;p=u;E=u;F=w}else{J=l;I=m;G=o;H=v;o=j;D=p;s=s&255;p=u;E=u;F=w;g=hh(w,v,g,x,z-(A*6|0)|0,A,y,(c[q>>2]|0)>>>15&1,ya,Fa,Ha,Ja)|0}}if(T)if(C){m=ih(e,q,na,b[qa>>1]|0,a[W>>0]|0,t,xa)|0;if((t|0)==4){C=c[q>>2]|0;c[oa+((C>>>3&2|C&1)<<2)>>2]=m}i=(c[q>>2]&17|0)==0?m:i;j=G+X|0;k=G+-1|0;l=j+-1|0;if((m|0)==131071)gc[c[_>>2]&3](l,j,k,za,t,131071,pa,1);else gc[c[ba>>2]&3](l,j,k,za,t,m,pa,1);dc[c[$>>2]&7](pa,t,pa,S,a[aa>>0]|0);ec[c[ra+11728+(c[M>>2]<<2)>>2]&31](pa,1,G,za,t,S)}else{m=G+L|0;j=c[q>>2]|0;if(!(j&1792))i=c[Y>>2]&61440|c[oa>>2]&69616|c[Z>>2]&15;l=m+-2|0;if(!(j&16384)){j=q;do{j=j+-4|0;k=c[j>>2]|0}while(!(k&16384|0));j=k}k=m+X|0;j=j>>>23&63;if(f<<24>>24==4)f=j&255;else{f=a[41064+(f&255)>>0]|0;f=(j|0)==(f&255|0)?34:f}gc[c[ca>>2]&3](k+-2|0,k,l,za,t,i,pa,1);C=f&255;ec[c[ra+11772+(c[36736+(C<<2)>>2]<<2)>>2]&31](pa,1,m,za,t,C)}do if((I|0)==1){if(c[q>>2]&32768|J|0){fc[c[ra+11848+(D<<2)>>2]&31](va,G,G,t,za,za,c[sa>>2]|0);break}if(!(c[Ga>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](va,Aa,G,G,t,za,za,c[sa>>2]|0,c[Ba>>2]|0);break}else{ec[c[ra+11880+(K<<2)>>2]&31](G,G,za,za,H,b[Ia>>1]|0);break}}while(0);if((K|0)!=0&s<<24>>24==1){if(c[q>>2]&32768|o|0){fc[c[ra+11848+(D<<2)>>2]&31](F,E,p,t,za,za,c[ya>>2]|0);s=1;m=E;l=F;j=t;break}if(!(c[Ha>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](F,Aa,E,p,t,za,za,c[ya>>2]|0,c[Fa>>2]|0);s=1;m=E;l=F;j=t;break}else{ec[c[ra+11880+(K<<2)>>2]&31](E,p,za,za,H,b[Ja>>1]|0);s=1;m=E;l=F;j=t;break}}else{m=E;l=F;j=t;k=f;Ka=63}}else{k=f;Ka=63}while(0);if((Ka|0)==63){Ka=0;if(((K|0)==0?(Ca=(j|0)/4|0,Da=c[q>>2]|0,Ea=(1<<Ca)+-1<<32-Ca>>>((Da&15)+1|0),(j|0)>3):0)?(J=na+((Da>>>4&15)+1<<2)|0,c[J>>2]=c[J>>2]|Ea,(j&-4|0)!=4):0){f=1;do{f=f+1|0;J=na+(f+((c[q>>2]|0)>>>4&15)<<2)|0;c[J>>2]=c[J>>2]|Ea}while((f|0)!=(Ca|0));f=k}else f=k}K=K+1|0}while(K>>>0<R>>>0);h=h+1|0;f=c[ja>>2]|0;if((h|0)>=(f|0))break;q=q+4|0;v=i;k=a[wa>>0]|0;j=c[ka>>2]|0;i=c[la>>2]|0;f=b[qa>>1]|0}c[La>>2]=g;Sb=Ma;return f|0}function fh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=Sb;Sb=Sb+32|0;p=za;qa=c[f+160>>2]|0;ja=c[f+4>>2]|0;ta=c[f>>2]|0;ka=f+8|0;ra=c[ka>>2]|0;pa=c[f+12>>2]|0;oa=a[ja+4116>>0]|0;la=oa<<24>>24;ua=1<<la;ja=ja+4118|0;ea=b[ja>>1]|0;ma=(la<<1)+-7|0;da=ea+1<<ma;xa=f+116|0;m=c[xa>>2]|0;k=m<<ma;ha=f+120|0;j=c[ha>>2]|0;n=r(j,da)|0;i=(c[f+64>>2]|0)+k+n|0;n=(c[f+68>>2]|0)+k+n|0;k=la+-3|0;ya=ea<<k;l=(c[f+76>>2]|0)+((r(j,ya)|0)+m<<k)|0;m=(r(j,ea)|0)+m|0;ea=(h|0)!=0;j=i+da|0;if(ea){Rk(j|0,0,1<<ma|0)|0;l=l+(ya<<k)|0;i=f+128+(ua>>3<<1)|0;o=m+(b[ja>>1]|0)|0}else{j=i;i=f+128|0;o=m}sa=(g|0)!=0;if(sa){m=1<<ma;k=n+m|0;Rk(k|0,0,m|0)|0;m=ua>>3;l=l+m|0;if(oa<<24>>24!=31){i=0;while(1){b[p+(i<<1)>>1]=(e[f+128+(i<<1)>>1]|0)>>>m;if((i|0)<(m|0))i=i+1|0;else break}}n=k;wa=p;o=o+1|0}else wa=i;k=c[f+72>>2]|0;ia=1<<(o&7)&d[k+(o>>3)>>0];m=c[xa>>2]|0;i=o+-1|0;if(m|g){i=1<<(i&7)&d[k+(i>>3)>>0];if(!(c[ha>>2]|h)){na=0;ga=i}else{na=o-(b[ja>>1]|0)+-1|0;na=1<<(na&7)&d[k+(na>>3)>>0];ga=i}}else{na=0;ga=0}p=c[ha>>2]|0;if(!(p|h))fa=0;else{fa=o-(b[ja>>1]|0)|0;fa=1<<(fa&7)&d[k+(fa>>3)>>0]}va=c[ra+20>>2]|0;aa=(g|0)==0;a:do if(aa?(s=b[ja>>1]|0,t=r(p,s)|0,q=c[ra+304>>2]|0,s=e[(c[f+156>>2]|0)+(m-s+t+(ea?s:0)<<1)>>1]|0,t=c[(c[ka>>2]|0)+20>>2]|0,T=va<<2,U=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(t,p)|0)+m<<la)|0;L=oa<<24>>24==6;M=la+-1|0;N=ua>>>2;O=(1<<M)+-2|0;P=0-da|0;Q=pa+172|0;R=pa+173|0;S=q+(s*1272|0)+172|0;C=q+(s*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=ra+11928|0;H=(ga|0)==0;I=(ia|0)==0;K=0-(va<<la)|0;B=(na|0)==0?l+~ya|0:l+(B-U)|0;m=m+(ea?t<<la:0)+(0-T)|0;i=0;k=j;while(1){A=i&1;q=L?0:A<<M;o=(c[k>>2]|0)>>>q<<2;if(p|h)o=(c[k+P>>2]|0)>>>(O+q|0)&3|o;x=l+(i-ya)|0;y=i+-1|0;z=l+(y-ya)|0;if(!i){x=F?x:E;w=0;while(1){u=a[Q>>0]|0;s=a[R>>0]|0;q=Jk(o|0)|0;q=(o|0)==0?31:q;p=q>>>1;if(!p){if(w){if(H)p=(r(w+-1>>1,ya)|0)+-1|0;else p=D;p=d[l+p>>0]|0;if(I){v=s;t=l+(r(w+-1>>1,ya)|0)|0}else{v=s;t=l}}else{v=a[C>>0]|0;u=a[S>>0]|0;p=d[B>>0]|0;t=x}q=w+1|0;s=e[wa+(q>>1<<1)>>1]|0;if((s&3|0)==3){s=q;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,p,d[t>>0]|0,u<<24>>24,v<<24>>24,s&1^1,s>>>1&1^1);s=q;p=T;q=2}}else{$=p+w|0;s=$;p=r(T,($|0)<(N|0)?p:N-w|0)|0;q=q&62}m=m+p|0;if((N|0)>(s|0)){w=s;o=o>>>q}else break}}else{w=0;while(1){q=a[Q>>0]|0;p=a[R>>0]|0;t=Jk(o|0)|0;t=(o|0)==0?31:t;s=t>>>1;if(!s){do if(!w){q=a[S>>0]|0;p=a[C>>0]|0;if(F){v=d[x>>0]|0;u=d[z>>0]|0;break}else{u=a[E>>0]|0;v=u&255;u=u&255;break}}else if(I){u=r(w+-1>>1,ya)|0;v=d[l+(u+i)>>0]|0;u=d[l+(y+u)>>0]|0;break}else{u=d[l>>0]|0;v=u;break}while(0);s=w+1|0;t=(e[wa+(s>>1<<1)>>1]|0)>>>i;if((t&3|0)==3){u=s;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,u,v,q<<24>>24,p<<24>>24,t&1^1,t>>>1&1^1);u=s;p=T;q=2}}else{p=s+w|0;u=p;p=r(T,(p|0)<(N|0)?s:N-w|0)|0;q=t&62}m=m+p|0;if((N|0)>(u|0)){w=u;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=46;break}case 5:{if(A)ca=46;break}default:{}}if((ca|0)==46){ca=0;k=k+4|0}i=i+1|0;if((i|0)==(U|0))break a;m=m+K+8|0;p=c[ha>>2]|0}}while(0);$=(h|0)==0;b:do if($?(_=c[xa>>2]|0,V=c[ha>>2]|0,Z=r(V,b[ja>>1]|0)|0,Y=c[ra+304>>2]|0,Z=e[(c[f+156>>2]|0)+(_+((sa^1)<<31>>31)+Z<<1)>>1]|0,ba=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(c[(c[ka>>2]|0)+20>>2]|0,V)|0)+_<<la)|0;Q=oa<<24>>24==6;R=la+-1|0;S=ua>>>2;T=(1<<R)+-2|0;U=-1<<ma;V=pa+172|0;W=pa+173|0;X=Y+(Z*1272|0)+172|0;G=Y+(Z*1272|0)+173|0;N=(ua|0)/-8|0;H=l+N|0;I=(ga|0)==0;K=ra+11932|0;L=(fa|0)==0;M=(ia|0)==0;N=r(N,ya)|0;O=0-ua|0;P=va<<3;F=(na|0)==0?l+~ya|0:l+(N-ba)|0;i=n;k=0;m=m+(sa?ua:0)+-4|0;p=_;while(1){E=k&1;q=Q?0:E<<R;o=(c[i>>2]|0)>>>q<<2;if(p|g)o=(c[i+U>>2]|0)>>>(T+q|0)&3|o;B=wa+(k<<1)|0;C=wa+(k+1<<1)|0;D=r(k,ya)|0;y=l+(D+-1)|0;z=r(k+-1|0,ya)|0;A=l+(z+-1)|0;if(!k){x=I?y:H;u=0;while(1){s=a[V>>0]|0;q=a[W>>0]|0;p=Jk(o|0)|0;p=(o|0)==0?31:p;t=p>>>1;if(!t){if(u){if(L)p=(u+-1>>1)-ya|0;else p=N;p=d[l+p>>0]|0;if(M){w=s;v=l+((u+-1>>1)+D)|0}else{w=s;v=l}}else{q=a[G>>0]|0;w=a[X>>0]|0;p=d[F>>0]|0;v=x}s=u+1|0;u=1<<(s>>1);t=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(t|u){hc[c[K>>2]&15](m,va,o&3,p,d[v>>0]|0,w<<24>>24,q<<24>>24,t&1,u&1);q=2;p=4}else{q=2;p=4}}else{_=t+u|0;s=_;q=p&62;p=((_|0)<(S|0)?t:S-u|0)<<2}m=m+p|0;if((S|0)>(s|0)){u=s;o=o>>>q}else break}}else{x=0;while(1){q=a[V>>0]|0;p=a[W>>0]|0;s=Jk(o|0)|0;s=(o|0)==0?31:s;u=s>>>1;if(!u){do if(!x){q=a[X>>0]|0;p=a[G>>0]|0;if(I){v=d[y>>0]|0;w=d[A>>0]|0;break}else{w=d[H>>0]|0;v=w;break}}else if(M){w=x+-1>>1;v=d[l+(w+D)>>0]|0;w=d[l+(w+z)>>0]|0;break}else{w=d[l>>0]|0;v=w;break}while(0);t=x+1|0;u=1<<(t>>1);s=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(s|u){hc[c[K>>2]&15](m,va,o&3,w,v,q<<24>>24,p<<24>>24,s&1,u&1);q=2;p=4}else{q=2;p=4}}else{p=u+x|0;t=p;q=s&62;p=((p|0)<(S|0)?u:S-x|0)<<2}m=m+p|0;if((S|0)>(t|0)){x=t;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=82;break}case 5:{if(E)ca=82;break}default:{}}if((ca|0)==82){ca=0;i=i+4|0}k=k+1|0;if((k|0)==(ba|0))break b;m=m+O+P|0;p=c[xa>>2]|0}}while(0);c:do if(aa){k=c[xa>>2]|0;s=c[ha>>2]|0;m=b[ja>>1]|0;o=r(s,m)|0;i=c[(c[ka>>2]|0)+20>>2]|0;q=(c[f+152>>2]|0)+(((r(i,s)|0)/2|0)+k<<la)|0;if(ea)p=((i|0)/2|0)<<la;else p=0;S=va<<2;T=(ua|0)/16|0;if((ua|0)>15){U=ua>>>3;V=(1<<la+-1)+-2|0;O=0-da|0;P=oa<<24>>24==6?2:1;Q=0-(((va|0)/2|0)<<la)|0;R=pa+173|0;C=(c[ra+304>>2]|0)+((e[(c[f+156>>2]|0)+(k-m+o+(ea?m:0)<<1)>>1]|0)*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=(ga|0)==0;H=(ia|0)==0;I=~ya;K=(qa|0)==0;L=ra+11924|0;M=ta+19|0;N=ta+20|0;B=(na|0)==0?l+I|0:l+(B-U)|0;i=0;o=q+p+(0-S)|0;m=s;d:while(1){k=c[j>>2]<<2;if(m|h)k=(c[j+O>>2]|0)>>>V&3|k;w=(i|0)==0;x=i<<1;y=l+(x-ya)|0;z=l+(x+I)|0;A=x+-1|0;t=0;u=k&572662306;v=o;while(1){p=a[R>>0]|0;k=Jk(u|0)|0;k=(u|0)==0?31:k;m=k>>>2;if(!m){e:do if(!t){k=a[C>>0]|0;do if(w){m=d[B>>0]|0;if(!F){s=d[E>>0]|0;break e}}else if(F){m=d[z>>0]|0;break}else{m=d[E>>0]|0;s=m;break e}while(0);s=d[y>>0]|0}else{do if(w){if(G)k=(r(t+-1|0,ya)|0)+-1|0;else k=D;m=d[l+k>>0]|0;if(H){o=r(t+-1|0,ya)|0;break}else{k=p;s=d[l>>0]|0;break e}}else if(H){o=r(t+-1|0,ya)|0;m=d[l+(A+o)>>0]|0;break}else{m=d[l>>0]|0;k=p;s=m;break e}while(0);k=p;s=d[l+(o+x)>>0]|0}while(0);ea=(e[wa+(t<<1)>>1]|0)>>>x;o=ea&1^1;p=ea>>>1&1^1;do if((ea&3|0)!=3){if(!(u&2))break d;q=c[L>>2]|0;if(K){hc[q&15](v,va,m,s,a[M>>0]|0,a[N>>0]|0,k<<24>>24,o,p);break}else{hc[q&15](v,va,s,m,a[N>>0]|0,a[M>>0]|0,k<<24>>24,p,o);break}}while(0);m=t+1|0;k=S;o=4}else{ea=m+t|0;o=k&60;m=ea;k=r((ea|0)<(U|0)?o:U-t<<2,va)|0}v=v+k|0;if((U|0)<=(m|0))break;else{t=m;u=u>>>o}}i=i+1|0;if((i|0)>=(T|0))break c;j=j+(P<<2)|0;o=v+Q+16|0;m=c[ha>>2]|0}J(41844,41870,600,41893)}}while(0);if(!$){Sb=za;return}k=c[xa>>2]|0;i=c[ha>>2]|0;W=(ua|0)/16|0;if((ua|0)<=15){Sb=za;return}m=(c[f+152>>2]|0)+(((r(c[(c[ka>>2]|0)+20>>2]|0,i)|0)/2|0)+k<<la)|0;N=e[(c[f+156>>2]|0)+(k+((sa^1)<<31>>31)+(r(i,b[ja>>1]|0)|0)<<1)>>1]|0;V=ua>>>3;U=(1<<la+-1)+-2|0;T=-1<<ma;Q=oa<<24>>24==6?2:1;R=0-ua|0;S=va<<3;M=pa+173|0;N=(c[ra+304>>2]|0)+(N*1272|0)+173|0;O=ya<<1;C=(ua|0)/-8|0;P=l+C|0;L=(ga|0)==0;K=(fa|0)==0;I=(ia|0)==0;C=r(C,ya)|0;H=(qa|0)==0;E=ra+11920|0;F=l+C|0;G=ta+19|0;D=ta+20|0;C=(na|0)==0?l+~ya|0:l+(C-V)|0;m=m+(sa?ua:0)+-8|0;i=0;f:while(1){j=c[n>>2]<<2;if(k|g)j=(c[n+T>>2]|0)>>>U&3|j;v=(i|0)==0;A=i<<1;w=wa+(A<<1)|0;x=wa+((A|1)<<1)|0;y=r(O,i)|0;z=l+(y+-1)|0;A=r(A+-1|0,ya)|0;B=l+(A+-1)|0;u=j&572662306;t=m;k=0;while(1){m=a[M>>0]|0;o=Jk(u|0)|0;o=(u|0)==0?31:o;j=o>>>2;if(!j){g:do if(!k){m=a[N>>0]|0;do if(v){j=d[C>>0]|0;if(!L){o=d[P>>0]|0;break g}}else if(L){j=d[B>>0]|0;break}else{o=d[P>>0]|0;j=o;break g}while(0);o=d[z>>0]|0}else{do if(v){j=d[(K?l+(k+-1-ya)|0:F)>>0]|0;if(I){o=k+-1|0;break}else{o=d[l>>0]|0;break g}}else if(I){o=k+-1|0;j=d[l+(o+A)>>0]|0;break}else{o=d[l>>0]|0;j=o;break g}while(0);o=d[l+(o+y)>>0]|0}while(0);ua=1<<k;ta=(ua&e[w>>1]|0)==0;p=ta&1;ua=(ua&e[x>>1]|0)==0;q=ua&1;do if(ta|ua){if(!(u&2)){ca=148;break f}s=c[E>>2]|0;if(H){hc[s&15](t,va,j,o,a[G>>0]|0,a[D>>0]|0,m<<24>>24,p,q);break}else{hc[s&15](t,va,o,j,a[D>>0]|0,a[G>>0]|0,m<<24>>24,q,p);break}}while(0);m=t+8|0;k=k+1|0;j=4}else{ua=j+k|0;m=t+(((ua|0)<(V|0)?j:V-k|0)<<3)|0;k=ua;j=o&60}if((V|0)>(k|0)){u=u>>>j;t=m}else break}i=i+1|0;if((i|0)>=(W|0)){ca=157;break}m=m+R+S|0;n=n+(Q<<2)|0;k=c[xa>>2]|0}if((ca|0)==148)J(41844,41870,749,41893);else if((ca|0)==157){Sb=za;return}} |
| | | function wf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,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;vc=Sb;Sb=Sb+176|0;uc=vc+112|0;rc=vc+48|0;sc=vc+16|0;tc=vc;pc=l>>>0>4294967279;qc=l>>>0>4294967039;oc=pc?4:qc?8:32;if(m>>>0>4294967279){Y=i*3|0;Z=i<<1;Fb=tc+4|0;Gb=tc+8|0;Hb=tc+12|0;_=b[17152]|0;$=b[17153]|0;aa=b[17184]|0;ba=b[17248]|0;ca=b[17185]|0;da=b[17249]|0;ea=rc+4|0;fa=b[17186]|0;ga=b[17250]|0;ha=rc+8|0;ia=b[17187]|0;ja=b[17251]|0;ka=rc+12|0;la=b[17188]|0;ma=b[17252]|0;na=rc+16|0;oa=b[17189]|0;pa=b[17253]|0;qa=rc+20|0;ra=b[17190]|0;sa=b[17254]|0;ta=rc+24|0;ua=b[17191]|0;va=b[17255]|0;wa=rc+28|0;xa=b[17192]|0;ya=b[17256]|0;za=rc+32|0;Aa=b[17193]|0;Ba=b[17257]|0;Ca=rc+36|0;Da=b[17194]|0;Ea=b[17258]|0;Fa=rc+40|0;Ga=b[17195]|0;Ha=b[17259]|0;Ia=rc+44|0;Ja=b[17196]|0;Ka=b[17260]|0;La=rc+48|0;Ma=b[17197]|0;Na=b[17261]|0;Oa=rc+52|0;Pa=b[17198]|0;Qa=b[17262]|0;Ra=rc+56|0;q=b[17199]|0;s=b[17263]|0;t=rc+60|0;u=b[17216]|0;v=b[17217]|0;w=sc+4|0;x=b[17218]|0;y=sc+8|0;z=b[17219]|0;A=sc+12|0;B=b[17220]|0;C=sc+16|0;D=b[17221]|0;E=sc+20|0;F=b[17222]|0;G=sc+24|0;H=b[17223]|0;I=sc+28|0;J=uc+32|0;K=uc+4|0;L=uc+36|0;M=uc+8|0;N=uc+40|0;O=uc+12|0;P=uc+44|0;Q=uc+16|0;R=uc+48|0;S=uc+20|0;T=uc+52|0;U=uc+24|0;V=uc+56|0;W=uc+28|0;X=uc+60|0;o=f;p=0;while(1){a:do if(!(l&1)){nc=b[e+(i<<1)>>1]|0;m=b[e+(Y<<1)>>1]|0;c[rc>>2]=(r(m,ba)|0)+(r(nc,aa)|0);c[ea>>2]=(r(m,da)|0)+(r(nc,ca)|0);c[ha>>2]=(r(m,ga)|0)+(r(nc,fa)|0);c[ka>>2]=(r(m,ja)|0)+(r(nc,ia)|0);c[na>>2]=(r(m,ma)|0)+(r(nc,la)|0);c[qa>>2]=(r(m,pa)|0)+(r(nc,oa)|0);c[ta>>2]=(r(m,sa)|0)+(r(nc,ra)|0);c[wa>>2]=(r(m,va)|0)+(r(nc,ua)|0);c[za>>2]=(r(m,ya)|0)+(r(nc,xa)|0);c[Ca>>2]=(r(m,Ba)|0)+(r(nc,Aa)|0);c[Fa>>2]=(r(m,Ea)|0)+(r(nc,Da)|0);c[Ia>>2]=(r(m,Ha)|0)+(r(nc,Ga)|0);c[La>>2]=(r(m,Ka)|0)+(r(nc,Ja)|0);c[Oa>>2]=(r(m,Na)|0)+(r(nc,Ma)|0);c[Ra>>2]=(r(m,Qa)|0)+(r(nc,Pa)|0);c[t>>2]=(r(m,s)|0)+(r(nc,q)|0);nc=b[e+(Z<<1)>>1]|0;m=r(nc,u)|0;c[sc>>2]=m;mc=r(nc,v)|0;c[w>>2]=mc;jc=r(nc,x)|0;c[y>>2]=jc;hc=r(nc,z)|0;c[A>>2]=hc;gc=r(nc,B)|0;c[C>>2]=gc;ic=r(nc,D)|0;c[E>>2]=ic;kc=r(nc,F)|0;c[G>>2]=kc;nc=r(nc,H)|0;c[I>>2]=nc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;lc=b[e>>1]|0;n=r(lc,_)|0;lc=r($,lc)|0;m=m+n|0;c[uc>>2]=m;c[J>>2]=n-nc;c[K>>2]=mc+lc;c[L>>2]=lc-kc;c[M>>2]=jc+lc;c[N>>2]=lc-ic;c[O>>2]=hc+n;c[P>>2]=n-gc;c[Q>>2]=gc+n;c[R>>2]=n-hc;c[S>>2]=ic+lc;c[T>>2]=lc-jc;c[U>>2]=kc+lc;c[V>>2]=lc-mc;c[W>>2]=nc+n;c[X>>2]=n-(c[sc>>2]|0);n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[o+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[o+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break a;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=o;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);p=p+1|0;if(p>>>0>=oc>>>0)break;else{e=e+2|0;o=o+64|0;l=l>>1}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;n=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;l=r(pc,e)|0;pc=r(o,pc)|0;m=m+l|0;c[uc>>2]=m;c[ya>>2]=l-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+l;c[Ea>>2]=l-kc;c[Fa>>2]=kc+l;c[Ga>>2]=l-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+l;c[Ma>>2]=l-(c[sc>>2]|0);l=0;while(1){i=(c[rc+(l<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+l>>0]|0)|0;i=(i|0)>0?i:0;a[h+l>>0]=(i|0)<255?i:255;i=15-l|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=l+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=l+1|0;if((m|0)==16)break;l=m;m=c[uc+(m<<2)>>2]|0}n=n+1|0;if((n|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=b[17282]|0;nb=b[17283]|0;ob=uc+32|0;pb=uc+4|0;qb=uc+36|0;rb=uc+8|0;sb=uc+40|0;tb=uc+12|0;ub=uc+44|0;vb=uc+16|0;wb=uc+48|0;xb=uc+20|0;yb=uc+52|0;zb=uc+24|0;Ab=uc+56|0;Bb=uc+28|0;Cb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[Fb>>2]=nc;lc=r(ic,mb)|0;c[Gb>>2]=lc;ic=r(ic,nb)|0;c[Hb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[ob>>2]=qc-pc;pc=c[Ta>>2]|0;c[pb>>2]=pc+oc;c[qb>>2]=nc-mc;mc=c[Wa>>2]|0;c[rb>>2]=mc+lc;c[sb>>2]=kc-jc;jc=c[Za>>2]|0;c[tb>>2]=jc+ic;gc=c[ab>>2]|0;c[ub>>2]=hc-gc;c[vb>>2]=gc+hc;c[wb>>2]=ic-jc;c[xb>>2]=(c[db>>2]|0)+kc;c[yb>>2]=lc-mc;c[zb>>2]=(c[gb>>2]|0)+nc;c[Ab>>2]=oc-pc;c[Bb>>2]=(c[jb>>2]|0)+qc;c[Cb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}nb=b[17408]|0;ob=b[17920]|0;pb=b[17409]|0;qb=b[17921]|0;rb=b[17152]|0;sb=b[17664]|0;tb=b[17153]|0;ub=b[17665]|0;vb=b[17216]|0;wb=b[17344]|0;xb=b[17472]|0;yb=b[17600]|0;zb=b[17728]|0;Ab=b[17856]|0;Bb=b[17984]|0;Cb=b[18112]|0;Db=b[17217]|0;Eb=b[17345]|0;D=b[17473]|0;E=b[17601]|0;F=b[17729]|0;G=b[17857]|0;H=b[17985]|0;I=b[18113]|0;J=sc+4|0;K=b[17218]|0;L=b[17346]|0;M=b[17474]|0;N=b[17602]|0;O=b[17730]|0;P=b[17858]|0;Q=b[17986]|0;R=b[18114]|0;S=sc+8|0;T=b[17219]|0;U=b[17347]|0;V=b[17475]|0;W=b[17603]|0;X=b[17731]|0;Y=b[17859]|0;Z=b[17987]|0;_=b[18115]|0;$=sc+12|0;aa=b[17220]|0;ba=b[17348]|0;ca=b[17476]|0;da=b[17604]|0;ea=b[17732]|0;fa=b[17860]|0;ga=b[17988]|0;ha=b[18116]|0;ia=sc+16|0;ja=b[17221]|0;ka=b[17349]|0;la=b[17477]|0;ma=b[17605]|0;na=b[17733]|0;oa=b[17861]|0;pa=b[17989]|0;qa=b[18117]|0;ra=sc+20|0;sa=b[17222]|0;ta=b[17350]|0;ua=b[17478]|0;va=b[17606]|0;wa=b[17734]|0;xa=b[17862]|0;ya=b[17990]|0;za=b[18118]|0;Aa=sc+24|0;Ba=b[17223]|0;Ca=b[17351]|0;Da=b[17479]|0;Ea=b[17607]|0;Fa=b[17735]|0;Ga=b[17863]|0;Ha=b[17991]|0;Ia=b[18119]|0;Ja=sc+28|0;Ka=b[17280]|0;La=b[17536]|0;Ma=b[17792]|0;Na=b[18048]|0;Oa=b[17281]|0;Pa=b[17537]|0;Qa=b[17793]|0;Ra=b[18049]|0;Sa=b[17282]|0;Ta=b[17538]|0;Ua=b[17794]|0;Va=b[18050]|0;Wa=b[17283]|0;Xa=b[17539]|0;Ya=b[17795]|0;Za=b[18051]|0;_a=uc+32|0;$a=uc+4|0;ab=uc+36|0;bb=uc+8|0;cb=uc+40|0;db=uc+12|0;eb=uc+44|0;fb=uc+16|0;gb=uc+48|0;hb=uc+20|0;ib=uc+52|0;jb=uc+24|0;kb=uc+56|0;lb=uc+28|0;mb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,wb)|0)+(r(pc,vb)|0)+(r(mc,xb)|0)+(r(i,yb)|0)+(r(n,zb)|0)+(r(jc,Ab)|0)+(r(ec,Bb)|0)+(r(fc,Cb)|0);c[J>>2]=(r(m,Eb)|0)+(r(pc,Db)|0)+(r(mc,D)|0)+(r(i,E)|0)+(r(n,F)|0)+(r(jc,G)|0)+(r(ec,H)|0)+(r(fc,I)|0);c[S>>2]=(r(m,L)|0)+(r(pc,K)|0)+(r(mc,M)|0)+(r(i,N)|0)+(r(n,O)|0)+(r(jc,P)|0)+(r(ec,Q)|0)+(r(fc,R)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,La)|0)+(r(fc,Ka)|0)+(r(jc,Ma)|0)+(r(n,Na)|0)|0;c[tc>>2]=i;mc=(r(ec,Pa)|0)+(r(fc,Oa)|0)+(r(jc,Qa)|0)+(r(n,Ra)|0)|0;c[Fb>>2]=mc;pc=(r(ec,Ta)|0)+(r(fc,Sa)|0)+(r(jc,Ua)|0)+(r(n,Va)|0)|0;c[Gb>>2]=pc;n=(r(ec,Xa)|0)+(r(fc,Wa)|0)+(r(jc,Ya)|0)+(r(n,Za)|0)|0;c[Hb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,nb)|0;ec=b[f+1536>>1]|0;fc=(r(ec,ob)|0)+fc|0;jc=(r(qb,ec)|0)+(r(pb,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,rb)|0;qc=b[f+1024>>1]|0;m=(r(qc,sb)|0)+m|0;ec=(r(ub,qc)|0)+(r(tb,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[Ja>>2]|0;c[_a>>2]=qc-pc;oc=c[J>>2]|0;c[$a>>2]=oc+nc;lc=c[Aa>>2]|0;c[ab>>2]=mc-lc;kc=c[S>>2]|0;c[bb>>2]=kc+jc;hc=c[ra>>2]|0;c[cb>>2]=ic-hc;gc=c[$>>2]|0;c[db>>2]=gc+fc;dc=c[ia>>2]|0;c[eb>>2]=ec-dc;c[fb>>2]=dc+ec;c[gb>>2]=fc-gc;c[hb>>2]=hc+ic;c[ib>>2]=jc-kc;c[jb>>2]=lc+mc;c[kb>>2]=nc-oc;c[lb>>2]=pc+qc;c[mb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}lc=i*3|0;mc=i*5|0;nc=i*7|0;if(m>>>0>4294967039){q=i<<1;s=i*6|0;t=i<<2;u=b[17152]|0;v=b[17153]|0;w=b[17184]|0;x=b[17248]|0;y=b[17312]|0;z=b[17376]|0;A=b[17185]|0;B=b[17249]|0;C=b[17313]|0;D=b[17377]|0;E=rc+4|0;F=b[17186]|0;G=b[17250]|0;H=b[17314]|0;I=b[17378]|0;J=rc+8|0;K=b[17187]|0;L=b[17251]|0;M=b[17315]|0;N=b[17379]|0;O=rc+12|0;P=b[17188]|0;Q=b[17252]|0;R=b[17316]|0;S=b[17380]|0;T=rc+16|0;U=b[17189]|0;V=b[17253]|0;W=b[17317]|0;X=b[17381]|0;Y=rc+20|0;Z=b[17190]|0;_=b[17254]|0;$=b[17318]|0;aa=b[17382]|0;ba=rc+24|0;ca=b[17191]|0;da=b[17255]|0;ea=b[17319]|0;fa=b[17383]|0;ga=rc+28|0;ha=b[17192]|0;ia=b[17256]|0;ja=b[17320]|0;ka=b[17384]|0;la=rc+32|0;ma=b[17193]|0;na=b[17257]|0;oa=b[17321]|0;pa=b[17385]|0;qa=rc+36|0;ra=b[17194]|0;sa=b[17258]|0;ta=b[17322]|0;ua=b[17386]|0;va=rc+40|0;wa=b[17195]|0;xa=b[17259]|0;ya=b[17323]|0;za=b[17387]|0;Aa=rc+44|0;Ba=b[17196]|0;Ca=b[17260]|0;Da=b[17324]|0;Ea=b[17388]|0;Fa=rc+48|0;Ga=b[17197]|0;Ha=b[17261]|0;Ia=b[17325]|0;Ja=b[17389]|0;Ka=rc+52|0;La=b[17198]|0;Ma=b[17262]|0;Na=b[17326]|0;Oa=b[17390]|0;Pa=rc+56|0;Qa=b[17199]|0;Ra=b[17263]|0;Sa=b[17327]|0;Ta=b[17391]|0;Ua=rc+60|0;Va=b[17216]|0;Wa=b[17344]|0;Xa=b[17217]|0;Ya=b[17345]|0;Za=sc+4|0;_a=b[17218]|0;$a=b[17346]|0;ab=sc+8|0;bb=b[17219]|0;cb=b[17347]|0;db=sc+12|0;eb=b[17220]|0;fb=b[17348]|0;gb=sc+16|0;hb=b[17221]|0;ib=b[17349]|0;jb=sc+20|0;kb=b[17222]|0;lb=b[17350]|0;mb=sc+24|0;nb=b[17223]|0;ob=b[17351]|0;pb=sc+28|0;qb=b[17280]|0;rb=b[17281]|0;sb=tc+4|0;tb=b[17282]|0;ub=tc+8|0;vb=b[17283]|0;wb=tc+12|0;xb=uc+32|0;yb=uc+4|0;zb=uc+36|0;Ab=uc+8|0;Bb=uc+40|0;Cb=uc+12|0;Db=uc+44|0;Eb=uc+16|0;Fb=uc+48|0;Gb=uc+20|0;Hb=uc+52|0;Ib=uc+24|0;Jb=uc+56|0;Kb=uc+28|0;Lb=uc+60|0;o=0;p=f;while(1){b:do if(!(l&1)){cc=b[e+(i<<1)>>1]|0;fc=b[e+(lc<<1)>>1]|0;bc=b[e+(mc<<1)>>1]|0;ic=b[e+(nc<<1)>>1]|0;c[rc>>2]=(r(fc,x)|0)+(r(cc,w)|0)+(r(bc,y)|0)+(r(ic,z)|0);c[E>>2]=(r(fc,B)|0)+(r(cc,A)|0)+(r(bc,C)|0)+(r(ic,D)|0);c[J>>2]=(r(fc,G)|0)+(r(cc,F)|0)+(r(bc,H)|0)+(r(ic,I)|0);c[O>>2]=(r(fc,L)|0)+(r(cc,K)|0)+(r(bc,M)|0)+(r(ic,N)|0);c[T>>2]=(r(fc,Q)|0)+(r(cc,P)|0)+(r(bc,R)|0)+(r(ic,S)|0);c[Y>>2]=(r(fc,V)|0)+(r(cc,U)|0)+(r(bc,W)|0)+(r(ic,X)|0);c[ba>>2]=(r(fc,_)|0)+(r(cc,Z)|0)+(r(bc,$)|0)+(r(ic,aa)|0);c[ga>>2]=(r(fc,da)|0)+(r(cc,ca)|0)+(r(bc,ea)|0)+(r(ic,fa)|0);c[la>>2]=(r(fc,ia)|0)+(r(cc,ha)|0)+(r(bc,ja)|0)+(r(ic,ka)|0);c[qa>>2]=(r(fc,na)|0)+(r(cc,ma)|0)+(r(bc,oa)|0)+(r(ic,pa)|0);c[va>>2]=(r(fc,sa)|0)+(r(cc,ra)|0)+(r(bc,ta)|0)+(r(ic,ua)|0);c[Aa>>2]=(r(fc,xa)|0)+(r(cc,wa)|0)+(r(bc,ya)|0)+(r(ic,za)|0);c[Fa>>2]=(r(fc,Ca)|0)+(r(cc,Ba)|0)+(r(bc,Da)|0)+(r(ic,Ea)|0);c[Ka>>2]=(r(fc,Ha)|0)+(r(cc,Ga)|0)+(r(bc,Ia)|0)+(r(ic,Ja)|0);c[Pa>>2]=(r(fc,Ma)|0)+(r(cc,La)|0)+(r(bc,Na)|0)+(r(ic,Oa)|0);c[Ua>>2]=(r(fc,Ra)|0)+(r(cc,Qa)|0)+(r(bc,Sa)|0)+(r(ic,Ta)|0);ic=b[e+(q<<1)>>1]|0;bc=b[e+(s<<1)>>1]|0;c[sc>>2]=(r(bc,Wa)|0)+(r(ic,Va)|0);c[Za>>2]=(r(bc,Ya)|0)+(r(ic,Xa)|0);c[ab>>2]=(r(bc,$a)|0)+(r(ic,_a)|0);c[db>>2]=(r(bc,cb)|0)+(r(ic,bb)|0);c[gb>>2]=(r(bc,fb)|0)+(r(ic,eb)|0);cc=(r(bc,ib)|0)+(r(ic,hb)|0)|0;c[jb>>2]=cc;fc=(r(bc,lb)|0)+(r(ic,kb)|0)|0;c[mb>>2]=fc;ic=(r(bc,ob)|0)+(r(ic,nb)|0)|0;c[pb>>2]=ic;bc=b[e+(t<<1)>>1]|0;jc=r(bc,qb)|0;c[tc>>2]=jc;gc=r(bc,rb)|0;c[sb>>2]=gc;ec=r(bc,tb)|0;c[ub>>2]=ec;bc=r(bc,vb)|0;c[wb>>2]=bc;m=b[e>>1]|0;n=r(m,u)|0;m=r(v,m)|0;kc=jc+n|0;ac=n-bc|0;hc=gc+m|0;dc=m-ec|0;ec=ec+m|0;gc=m-gc|0;bc=bc+n|0;jc=n-jc|0;n=c[sc>>2]|0;m=n+kc|0;c[uc>>2]=m;c[xb>>2]=jc-ic;ic=c[Za>>2]|0;c[yb>>2]=ic+hc;c[zb>>2]=gc-fc;fc=c[ab>>2]|0;c[Ab>>2]=fc+ec;c[Bb>>2]=dc-cc;cc=c[db>>2]|0;c[Cb>>2]=cc+bc;$b=c[gb>>2]|0;c[Db>>2]=ac-$b;c[Eb>>2]=$b+ac;c[Fb>>2]=bc-cc;c[Gb>>2]=(c[jb>>2]|0)+dc;c[Hb>>2]=ec-fc;c[Ib>>2]=(c[mb>>2]|0)+gc;c[Jb>>2]=hc-ic;c[Kb>>2]=(c[pb>>2]|0)+jc;c[Lb>>2]=kc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[p+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[p+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break b;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=p;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);o=o+1|0;if(o>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;p=p+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;n=r(pc,e)|0;pc=r(o,pc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+n;c[Ea>>2]=n-kc;c[Fa>>2]=kc+n;c[Ga>>2]=n-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[mb>>2]=nc;lc=r(ic,nb)|0;c[ob>>2]=lc;ic=r(ic,pb)|0;c[qb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[rb>>2]=qc-pc;pc=c[Ta>>2]|0;c[sb>>2]=pc+oc;c[tb>>2]=nc-mc;mc=c[Wa>>2]|0;c[ub>>2]=mc+lc;c[vb>>2]=kc-jc;jc=c[Za>>2]|0;c[wb>>2]=jc+ic;gc=c[ab>>2]|0;c[xb>>2]=hc-gc;c[yb>>2]=gc+hc;c[zb>>2]=ic-jc;c[Ab>>2]=(c[db>>2]|0)+kc;c[Bb>>2]=lc-mc;c[Cb>>2]=(c[gb>>2]|0)+nc;c[Db>>2]=oc-pc;c[Eb>>2]=(c[jb>>2]|0)+qc;c[Fb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(pc,L)|0)+(r(mc,N)|0)+(r(i,O)|0)+(r(n,P)|0)+(r(jc,Q)|0)+(r(ec,R)|0)+(r(fc,S)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(pc,Ka)|0)+(r(mc,Ma)|0)+(r(i,Na)|0)+(r(n,Oa)|0)+(r(jc,Pa)|0)+(r(ec,Qa)|0)+(r(fc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(pc,Ta)|0)+(r(mc,Va)|0)+(r(i,Wa)|0)+(r(n,Xa)|0)+(r(jc,Ya)|0)+(r(ec,Za)|0)+(r(fc,_a)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,bb)|0)+(r(fc,ab)|0)+(r(jc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=i;mc=(r(ec,fb)|0)+(r(fc,eb)|0)+(r(jc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=mc;pc=(r(ec,kb)|0)+(r(fc,jb)|0)+(r(jc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=pc;n=(r(ec,pb)|0)+(r(fc,ob)|0)+(r(jc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,D)|0;ec=b[f+1536>>1]|0;fc=(r(ec,E)|0)+fc|0;jc=(r(G,ec)|0)+(r(F,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,H)|0;qc=b[f+1024>>1]|0;m=(r(qc,I)|0)+m|0;ec=(r(K,qc)|0)+(r(J,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[$a>>2]|0;c[tb>>2]=qc-pc;oc=c[$>>2]|0;c[ub>>2]=oc+nc;lc=c[Sa>>2]|0;c[vb>>2]=mc-lc;kc=c[ia>>2]|0;c[wb>>2]=kc+jc;hc=c[Ja>>2]|0;c[xb>>2]=ic-hc;gc=c[ra>>2]|0;c[yb>>2]=gc+fc;dc=c[Aa>>2]|0;c[zb>>2]=ec-dc;c[Ab>>2]=dc+ec;c[Bb>>2]=fc-gc;c[Cb>>2]=hc+ic;c[Db>>2]=jc-kc;c[Eb>>2]=lc+mc;c[Fb>>2]=nc-oc;c[Gb>>2]=pc+qc;c[Hb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}G=i*9|0;H=i*11|0;I=i*13|0;J=i*15|0;K=i*17|0;L=i*19|0;M=i*21|0;N=i*23|0;O=i*25|0;P=i*27|0;Q=i*29|0;R=i*31|0;S=i<<1;T=i*6|0;U=i*10|0;V=i*14|0;W=i*18|0;X=i*22|0;Y=i*26|0;Z=i*30|0;_=i<<2;$=i*12|0;aa=i*20|0;ba=i*28|0;ca=b[17408]|0;da=i<<3;ea=b[17920]|0;fa=i*24|0;ga=b[17409]|0;ha=b[17921]|0;ia=b[17152]|0;ja=b[17664]|0;ka=i<<4;la=b[17153]|0;ma=b[17665]|0;na=b[17216]|0;oa=b[17344]|0;pa=b[17472]|0;qa=b[17600]|0;ra=b[17728]|0;sa=b[17856]|0;ta=b[17984]|0;ua=b[18112]|0;va=b[17217]|0;wa=b[17345]|0;xa=b[17473]|0;ya=b[17601]|0;za=b[17729]|0;Aa=b[17857]|0;Ba=b[17985]|0;Ca=b[18113]|0;Da=sc+4|0;Ea=b[17218]|0;Fa=b[17346]|0;Ga=b[17474]|0;Ha=b[17602]|0;Ia=b[17730]|0;Ja=b[17858]|0;Ka=b[17986]|0;La=b[18114]|0;Ma=sc+8|0;Na=b[17219]|0;Oa=b[17347]|0;Pa=b[17475]|0;Qa=b[17603]|0;Ra=b[17731]|0;Sa=b[17859]|0;Ta=b[17987]|0;Ua=b[18115]|0;Va=sc+12|0;Wa=b[17220]|0;Xa=b[17348]|0;Ya=b[17476]|0;Za=b[17604]|0;_a=b[17732]|0;$a=b[17860]|0;ab=b[17988]|0;bb=b[18116]|0;cb=sc+16|0;db=b[17221]|0;eb=b[17349]|0;fb=b[17477]|0;gb=b[17605]|0;hb=b[17733]|0;ib=b[17861]|0;jb=b[17989]|0;kb=b[18117]|0;lb=sc+20|0;mb=b[17222]|0;nb=b[17350]|0;ob=b[17478]|0;pb=b[17606]|0;qb=b[17734]|0;rb=b[17862]|0;sb=b[17990]|0;tb=b[18118]|0;ub=sc+24|0;vb=b[17223]|0;wb=b[17351]|0;xb=b[17479]|0;yb=b[17607]|0;zb=b[17735]|0;Ab=b[17863]|0;Bb=b[17991]|0;Cb=b[18119]|0;Db=sc+28|0;Eb=b[17280]|0;Fb=b[17536]|0;Gb=b[17792]|0;Hb=b[18048]|0;Ib=b[17281]|0;Jb=b[17537]|0;Kb=b[17793]|0;Lb=b[18049]|0;Mb=tc+4|0;Nb=b[17282]|0;Ob=b[17538]|0;Pb=b[17794]|0;Qb=b[18050]|0;Rb=tc+8|0;Tb=b[17283]|0;Ub=b[17539]|0;Vb=b[17795]|0;Wb=b[18051]|0;Xb=tc+12|0;Yb=uc+32|0;Zb=uc+4|0;_b=uc+36|0;$b=uc+8|0;ac=uc+40|0;bc=uc+12|0;cc=uc+44|0;dc=uc+16|0;ec=uc+48|0;fc=uc+20|0;gc=uc+52|0;hc=uc+24|0;ic=uc+56|0;jc=uc+28|0;kc=uc+60|0;E=0;F=f;while(1){c:do if(!(l&1)){n=b[e+(i<<1)>>1]|0;o=b[e+(lc<<1)>>1]|0;p=b[e+(mc<<1)>>1]|0;q=b[e+(nc<<1)>>1]|0;s=b[e+(G<<1)>>1]|0;t=b[e+(H<<1)>>1]|0;u=b[e+(I<<1)>>1]|0;v=b[e+(J<<1)>>1]|0;w=b[e+(K<<1)>>1]|0;x=b[e+(L<<1)>>1]|0;y=b[e+(M<<1)>>1]|0;z=b[e+(N<<1)>>1]|0;A=b[e+(O<<1)>>1]|0;B=b[e+(P<<1)>>1]|0;C=b[e+(Q<<1)>>1]|0;D=b[e+(R<<1)>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(o,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(p,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(B,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(C,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(D,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);C=b[e+(S<<1)>>1]|0;m=b[e+(T<<1)>>1]|0;z=b[e+(U<<1)>>1]|0;wc=b[e+(V<<1)>>1]|0;n=b[e+(W<<1)>>1]|0;w=b[e+(X<<1)>>1]|0;q=b[e+(Y<<1)>>1]|0;s=b[e+(Z<<1)>>1]|0;c[sc>>2]=(r(m,oa)|0)+(r(C,na)|0)+(r(z,pa)|0)+(r(wc,qa)|0)+(r(n,ra)|0)+(r(w,sa)|0)+(r(q,ta)|0)+(r(s,ua)|0);c[Da>>2]=(r(m,wa)|0)+(r(C,va)|0)+(r(z,xa)|0)+(r(wc,ya)|0)+(r(n,za)|0)+(r(w,Aa)|0)+(r(q,Ba)|0)+(r(s,Ca)|0);c[Ma>>2]=(r(m,Fa)|0)+(r(C,Ea)|0)+(r(z,Ga)|0)+(r(wc,Ha)|0)+(r(n,Ia)|0)+(r(w,Ja)|0)+(r(q,Ka)|0)+(r(s,La)|0);c[Va>>2]=(r(m,Oa)|0)+(r(C,Na)|0)+(r(z,Pa)|0)+(r(wc,Qa)|0)+(r(n,Ra)|0)+(r(w,Sa)|0)+(r(q,Ta)|0)+(r(s,Ua)|0);c[cb>>2]=(r(m,Xa)|0)+(r(C,Wa)|0)+(r(z,Ya)|0)+(r(wc,Za)|0)+(r(n,_a)|0)+(r(w,$a)|0)+(r(q,ab)|0)+(r(s,bb)|0);c[lb>>2]=(r(m,eb)|0)+(r(C,db)|0)+(r(z,fb)|0)+(r(wc,gb)|0)+(r(n,hb)|0)+(r(w,ib)|0)+(r(q,jb)|0)+(r(s,kb)|0);c[ub>>2]=(r(m,nb)|0)+(r(C,mb)|0)+(r(z,ob)|0)+(r(wc,pb)|0)+(r(n,qb)|0)+(r(w,rb)|0)+(r(q,sb)|0)+(r(s,tb)|0);c[Db>>2]=(r(m,wb)|0)+(r(C,vb)|0)+(r(z,xb)|0)+(r(wc,yb)|0)+(r(n,zb)|0)+(r(w,Ab)|0)+(r(q,Bb)|0)+(r(s,Cb)|0);s=b[e+(_<<1)>>1]|0;q=b[e+($<<1)>>1]|0;w=b[e+(aa<<1)>>1]|0;n=b[e+(ba<<1)>>1]|0;wc=(r(q,Fb)|0)+(r(s,Eb)|0)+(r(w,Gb)|0)+(r(n,Hb)|0)|0;c[tc>>2]=wc;z=(r(q,Jb)|0)+(r(s,Ib)|0)+(r(w,Kb)|0)+(r(n,Lb)|0)|0;c[Mb>>2]=z;C=(r(q,Ob)|0)+(r(s,Nb)|0)+(r(w,Pb)|0)+(r(n,Qb)|0)|0;c[Rb>>2]=C;n=(r(q,Ub)|0)+(r(s,Tb)|0)+(r(w,Vb)|0)+(r(n,Wb)|0)|0;c[Xb>>2]=n;w=b[e+(da<<1)>>1]|0;s=r(w,ca)|0;q=b[e+(fa<<1)>>1]|0;s=(r(q,ea)|0)+s|0;w=(r(ha,q)|0)+(r(ga,w)|0)|0;q=b[e>>1]|0;m=r(q,ia)|0;D=b[e+(ka<<1)>>1]|0;m=(r(D,ja)|0)+m|0;q=(r(ma,D)|0)+(r(la,q)|0)|0;D=m+s|0;s=m-s|0;m=q+w|0;w=q-w|0;wc=wc+D|0;q=s-n|0;A=z+m|0;v=w-C|0;w=C+w|0;z=m-z|0;s=n+s|0;D=D-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;C=c[Db>>2]|0;c[Yb>>2]=D-C;B=c[Da>>2]|0;c[Zb>>2]=B+A;y=c[ub>>2]|0;c[_b>>2]=z-y;x=c[Ma>>2]|0;c[$b>>2]=x+w;u=c[lb>>2]|0;c[ac>>2]=v-u;t=c[Va>>2]|0;c[bc>>2]=t+s;p=c[cb>>2]|0;c[cc>>2]=q-p;c[dc>>2]=p+q;c[ec>>2]=s-t;c[fc>>2]=u+v;c[gc>>2]=w-x;c[hc>>2]=y+z;c[ic>>2]=A-B;c[jc>>2]=C+D;c[kc>>2]=wc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[F+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[F+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break c;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=F;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);E=E+1|0;if(E>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;F=F+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){wc=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(wc,p)|0);c[u>>2]=(r(m,t)|0)+(r(wc,s)|0);c[x>>2]=(r(m,w)|0)+(r(wc,v)|0);c[A>>2]=(r(m,z)|0)+(r(wc,y)|0);c[D>>2]=(r(m,C)|0)+(r(wc,B)|0);c[G>>2]=(r(m,F)|0)+(r(wc,E)|0);c[J>>2]=(r(m,I)|0)+(r(wc,H)|0);c[M>>2]=(r(m,L)|0)+(r(wc,K)|0);c[P>>2]=(r(m,O)|0)+(r(wc,N)|0);c[S>>2]=(r(m,R)|0)+(r(wc,Q)|0);c[V>>2]=(r(m,U)|0)+(r(wc,T)|0);c[Y>>2]=(r(m,X)|0)+(r(wc,W)|0);c[$>>2]=(r(m,_)|0)+(r(wc,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(wc,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(wc,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(wc,ga)|0);wc=b[f+128>>1]|0;m=r(wc,ja)|0;c[sc>>2]=m;i=r(wc,ka)|0;c[la>>2]=i;oc=r(wc,ma)|0;c[na>>2]=oc;mc=r(wc,oa)|0;c[pa>>2]=mc;lc=r(wc,qa)|0;c[ra>>2]=lc;nc=r(wc,sa)|0;c[ta>>2]=nc;pc=r(wc,ua)|0;c[va>>2]=pc;wc=r(wc,wa)|0;c[xa>>2]=wc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;qc=b[f>>1]|0;n=r(qc,e)|0;qc=r(o,qc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-wc;c[za>>2]=i+qc;c[Aa>>2]=qc-pc;c[Ba>>2]=oc+qc;c[Ca>>2]=qc-nc;c[Da>>2]=mc+n;c[Ea>>2]=n-lc;c[Fa>>2]=lc+n;c[Ga>>2]=n-mc;c[Ha>>2]=nc+qc;c[Ia>>2]=qc-oc;c[Ja>>2]=pc+qc;c[Ka>>2]=qc-i;c[La>>2]=wc+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){kc=b[f+64>>1]|0;nc=b[f+192>>1]|0;jc=b[f+320>>1]|0;qc=b[f+448>>1]|0;c[rc>>2]=(r(nc,q)|0)+(r(kc,p)|0)+(r(jc,s)|0)+(r(qc,t)|0);c[y>>2]=(r(nc,v)|0)+(r(kc,u)|0)+(r(jc,w)|0)+(r(qc,x)|0);c[D>>2]=(r(nc,A)|0)+(r(kc,z)|0)+(r(jc,B)|0)+(r(qc,C)|0);c[I>>2]=(r(nc,F)|0)+(r(kc,E)|0)+(r(jc,G)|0)+(r(qc,H)|0);c[N>>2]=(r(nc,K)|0)+(r(kc,J)|0)+(r(jc,L)|0)+(r(qc,M)|0);c[S>>2]=(r(nc,P)|0)+(r(kc,O)|0)+(r(jc,Q)|0)+(r(qc,R)|0);c[X>>2]=(r(nc,U)|0)+(r(kc,T)|0)+(r(jc,V)|0)+(r(qc,W)|0);c[aa>>2]=(r(nc,Z)|0)+(r(kc,Y)|0)+(r(jc,_)|0)+(r(qc,$)|0);c[fa>>2]=(r(nc,ca)|0)+(r(kc,ba)|0)+(r(jc,da)|0)+(r(qc,ea)|0);c[ka>>2]=(r(nc,ha)|0)+(r(kc,ga)|0)+(r(jc,ia)|0)+(r(qc,ja)|0);c[pa>>2]=(r(nc,ma)|0)+(r(kc,la)|0)+(r(jc,na)|0)+(r(qc,oa)|0);c[ua>>2]=(r(nc,ra)|0)+(r(kc,qa)|0)+(r(jc,sa)|0)+(r(qc,ta)|0);c[za>>2]=(r(nc,wa)|0)+(r(kc,va)|0)+(r(jc,xa)|0)+(r(qc,ya)|0);c[Ea>>2]=(r(nc,Ba)|0)+(r(kc,Aa)|0)+(r(jc,Ca)|0)+(r(qc,Da)|0);c[Ja>>2]=(r(nc,Ga)|0)+(r(kc,Fa)|0)+(r(jc,Ha)|0)+(r(qc,Ia)|0);c[Oa>>2]=(r(nc,La)|0)+(r(kc,Ka)|0)+(r(jc,Ma)|0)+(r(qc,Na)|0);qc=b[f+128>>1]|0;jc=b[f+384>>1]|0;c[sc>>2]=(r(jc,Qa)|0)+(r(qc,Pa)|0);c[Ta>>2]=(r(jc,Sa)|0)+(r(qc,Ra)|0);c[Wa>>2]=(r(jc,Va)|0)+(r(qc,Ua)|0);c[Za>>2]=(r(jc,Ya)|0)+(r(qc,Xa)|0);c[ab>>2]=(r(jc,$a)|0)+(r(qc,_a)|0);kc=(r(jc,cb)|0)+(r(qc,bb)|0)|0;c[db>>2]=kc;nc=(r(jc,fb)|0)+(r(qc,eb)|0)|0;c[gb>>2]=nc;qc=(r(jc,ib)|0)+(r(qc,hb)|0)|0;c[jb>>2]=qc;jc=b[f+256>>1]|0;i=r(jc,kb)|0;c[tc>>2]=i;oc=r(jc,lb)|0;c[mb>>2]=oc;mc=r(jc,nb)|0;c[ob>>2]=mc;jc=r(jc,pb)|0;c[qb>>2]=jc;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;wc=i+n|0;ic=n-jc|0;pc=oc+m|0;lc=m-mc|0;mc=mc+m|0;oc=m-oc|0;jc=jc+n|0;i=n-i|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;c[rb>>2]=i-qc;qc=c[Ta>>2]|0;c[sb>>2]=qc+pc;c[tb>>2]=oc-nc;nc=c[Wa>>2]|0;c[ub>>2]=nc+mc;c[vb>>2]=lc-kc;kc=c[Za>>2]|0;c[wb>>2]=kc+jc;hc=c[ab>>2]|0;c[xb>>2]=ic-hc;c[yb>>2]=hc+ic;c[zb>>2]=jc-kc;c[Ab>>2]=(c[db>>2]|0)+lc;c[Bb>>2]=mc-nc;c[Cb>>2]=(c[gb>>2]|0)+oc;c[Db>>2]=pc-qc;c[Eb>>2]=(c[jb>>2]|0)+i;c[Fb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(l,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);qc=b[f+128>>1]|0;m=b[f+384>>1]|0;nc=b[f+640>>1]|0;wc=b[f+896>>1]|0;n=b[f+1152>>1]|0;kc=b[f+1408>>1]|0;fc=b[f+1664>>1]|0;gc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(qc,L)|0)+(r(nc,N)|0)+(r(wc,O)|0)+(r(n,P)|0)+(r(kc,Q)|0)+(r(fc,R)|0)+(r(gc,S)|0);c[$>>2]=(r(m,U)|0)+(r(qc,T)|0)+(r(nc,V)|0)+(r(wc,W)|0)+(r(n,X)|0)+(r(kc,Y)|0)+(r(fc,Z)|0)+(r(gc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(qc,aa)|0)+(r(nc,ca)|0)+(r(wc,da)|0)+(r(n,ea)|0)+(r(kc,fa)|0)+(r(fc,ga)|0)+(r(gc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(qc,ja)|0)+(r(nc,la)|0)+(r(wc,ma)|0)+(r(n,na)|0)+(r(kc,oa)|0)+(r(fc,pa)|0)+(r(gc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(qc,sa)|0)+(r(nc,ua)|0)+(r(wc,va)|0)+(r(n,wa)|0)+(r(kc,xa)|0)+(r(fc,ya)|0)+(r(gc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(qc,Ba)|0)+(r(nc,Da)|0)+(r(wc,Ea)|0)+(r(n,Fa)|0)+(r(kc,Ga)|0)+(r(fc,Ha)|0)+(r(gc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(qc,Ka)|0)+(r(nc,Ma)|0)+(r(wc,Na)|0)+(r(n,Oa)|0)+(r(kc,Pa)|0)+(r(fc,Qa)|0)+(r(gc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(qc,Ta)|0)+(r(nc,Va)|0)+(r(wc,Wa)|0)+(r(n,Xa)|0)+(r(kc,Ya)|0)+(r(fc,Za)|0)+(r(gc,_a)|0);gc=b[f+256>>1]|0;fc=b[f+768>>1]|0;kc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;wc=(r(fc,bb)|0)+(r(gc,ab)|0)+(r(kc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=wc;nc=(r(fc,fb)|0)+(r(gc,eb)|0)+(r(kc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=nc;qc=(r(fc,kb)|0)+(r(gc,jb)|0)+(r(kc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=qc;n=(r(fc,pb)|0)+(r(gc,ob)|0)+(r(kc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;kc=b[f+512>>1]|0;gc=r(kc,D)|0;fc=b[f+1536>>1]|0;gc=(r(fc,E)|0)+gc|0;kc=(r(G,fc)|0)+(r(F,kc)|0)|0;fc=b[f>>1]|0;m=r(fc,H)|0;i=b[f+1024>>1]|0;m=(r(i,I)|0)+m|0;fc=(r(K,i)|0)+(r(J,fc)|0)|0;i=m+gc|0;gc=m-gc|0;m=fc+kc|0;kc=fc-kc|0;wc=wc+i|0;fc=gc-n|0;oc=nc+m|0;jc=kc-qc|0;kc=qc+kc|0;nc=m-nc|0;gc=n+gc|0;i=i-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;qc=c[$a>>2]|0;c[tb>>2]=i-qc;pc=c[$>>2]|0;c[ub>>2]=pc+oc;mc=c[Sa>>2]|0;c[vb>>2]=nc-mc;lc=c[ia>>2]|0;c[wb>>2]=lc+kc;ic=c[Ja>>2]|0;c[xb>>2]=jc-ic;hc=c[ra>>2]|0;c[yb>>2]=hc+gc;ec=c[Aa>>2]|0;c[zb>>2]=fc-ec;c[Ab>>2]=ec+fc;c[Bb>>2]=gc-hc;c[Cb>>2]=ic+jc;c[Db>>2]=kc-lc;c[Eb>>2]=mc+nc;c[Fb>>2]=oc-pc;c[Gb>>2]=qc+i;c[Hb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}function xf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;fa=Sb;Sb=Sb+32|0;ea=fa+16|0;da=fa;$=(l&240|0)==240;Z=$?4:8;_=i*3|0;if((m&240|0)==240){t=b[16848]|0;u=i<<1;v=b[16849]|0;w=b[16832]|0;x=b[16833]|0;O=ea+12|0;P=ea+4|0;Q=ea+8|0;y=b[16840]|0;z=b[16856]|0;A=b[16841]|0;B=b[16857]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=da+8|0;G=b[16843]|0;H=b[16859]|0;I=da+12|0;q=f;s=0;n=c[Q>>2]|0;p=c[P>>2]|0;o=c[O>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){ca=b[e+(i<<1)>>1]|0;n=b[e+(_<<1)>>1]|0;Y=(r(n,z)|0)+(r(ca,y)|0)|0;c[da>>2]=Y;ba=(r(n,B)|0)+(r(ca,A)|0)|0;c[C>>2]=ba;aa=(r(n,E)|0)+(r(ca,D)|0)|0;c[F>>2]=aa;ca=(r(n,H)|0)+(r(ca,G)|0)|0;c[I>>2]=ca;n=b[e+(u<<1)>>1]|0;o=r(n,t)|0;n=r(v,n)|0;X=b[e>>1]|0;p=r(X,w)|0;X=r(x,X)|0;m=p+o|0;o=p-o|0;p=X+n|0;n=X-n|0;Y=Y+m|0;b[q>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=o-ca|0;b[q+8>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=ba+p|0;b[q+2>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=n-aa|0;b[q+10>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;aa=aa+n|0;b[q+4>>1]=(aa|0)>4194239?32767:(aa|0)<-4194368?-32768:(aa+64|0)>>>7&65535;ba=p-ba|0;b[q+12>>1]=(ba|0)>4194239?32767:(ba|0)<-4194368?-32768:(ba+64|0)>>>7&65535;ca=ca+o|0;b[q+6>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535;ca=m-(c[da>>2]|0)|0;b[q+14>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535}else{b[q>>1]=0;b[q+2>>1]=0;b[q+4>>1]=0;b[q+6>>1]=0;b[q+8>>1]=0;b[q+10>>1]=0;b[q+12>>1]=0;b[q+14>>1]=0}s=s+1|0;if(s>>>0>=Z>>>0)break;else{e=e+2|0;q=q+16|0;l=l>>1}}c[ea>>2]=m;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;m=f;n=0;while(1){ba=b[m+16>>1]|0;$=b[m+48>>1]|0;ca=(r($,q)|0)+(r(ba,e)|0)|0;c[da>>2]=ca;c[u>>2]=(r($,t)|0)+(r(ba,s)|0);c[x>>2]=(r($,w)|0)+(r(ba,v)|0);c[A>>2]=(r($,z)|0)+(r(ba,y)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;ba=r(o,ba)|0;aa=b[m>>1]|0;i=r(aa,p)|0;aa=r(l,aa)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){aa=b[m+16>>1]|0;i=b[m+48>>1]|0;$=b[m+80>>1]|0;ba=b[m+112>>1]|0;ca=(r(i,v)|0)+(r(aa,u)|0)+(r($,w)|0)+(r(ba,x)|0)|0;c[da>>2]=ca;c[C>>2]=(r(i,z)|0)+(r(aa,y)|0)+(r($,A)|0)+(r(ba,B)|0);c[H>>2]=(r(i,E)|0)+(r(aa,D)|0)+(r($,F)|0)+(r(ba,G)|0);c[M>>2]=(r(i,J)|0)+(r(aa,I)|0)+(r($,K)|0)+(r(ba,L)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;aa=b[m+96>>1]|0;$=(r(aa,o)|0)+$|0;ba=(r(l,aa)|0)+(r(p,ba)|0)|0;aa=b[m>>1]|0;i=r(aa,e)|0;f=b[m+64>>1]|0;i=(r(f,q)|0)+i|0;aa=(r(t,f)|0)+(r(s,aa)|0)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[C>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[H>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[H>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[C>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}else{t=i*5|0;u=i*7|0;v=b[16848]|0;w=i<<1;x=b[16880]|0;y=i*6|0;z=b[16849]|0;A=b[16881]|0;B=b[16832]|0;C=b[16864]|0;D=i<<2;E=b[16833]|0;F=b[16865]|0;aa=ea+12|0;ba=ea+4|0;ca=ea+8|0;G=b[16840]|0;H=b[16856]|0;I=b[16872]|0;J=b[16888]|0;K=b[16841]|0;L=b[16857]|0;M=b[16873]|0;N=b[16889]|0;O=da+4|0;P=b[16842]|0;Q=b[16858]|0;R=b[16874]|0;S=b[16890]|0;T=da+8|0;U=b[16843]|0;V=b[16859]|0;W=b[16875]|0;X=b[16891]|0;Y=da+12|0;q=0;s=f;n=c[ca>>2]|0;p=c[ba>>2]|0;o=c[aa>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){o=b[e+(i<<1)>>1]|0;ka=b[e+(_<<1)>>1]|0;n=b[e+(t<<1)>>1]|0;ga=b[e+(u<<1)>>1]|0;ja=(r(ka,H)|0)+(r(o,G)|0)+(r(n,I)|0)+(r(ga,J)|0)|0;c[da>>2]=ja;ia=(r(ka,L)|0)+(r(o,K)|0)+(r(n,M)|0)+(r(ga,N)|0)|0;c[O>>2]=ia;ha=(r(ka,Q)|0)+(r(o,P)|0)+(r(n,R)|0)+(r(ga,S)|0)|0;c[T>>2]=ha;ga=(r(ka,V)|0)+(r(o,U)|0)+(r(n,W)|0)+(r(ga,X)|0)|0;c[Y>>2]=ga;n=b[e+(w<<1)>>1]|0;o=r(n,v)|0;ka=b[e+(y<<1)>>1]|0;o=(r(ka,x)|0)+o|0;n=(r(A,ka)|0)+(r(z,n)|0)|0;ka=b[e>>1]|0;p=r(ka,B)|0;m=b[e+(D<<1)>>1]|0;p=(r(m,C)|0)+p|0;ka=(r(F,m)|0)+(r(E,ka)|0)|0;m=p+o|0;o=p-o|0;p=ka+n|0;n=ka-n|0;ja=ja+m|0;b[s>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ja=o-ga|0;b[s+8>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ia=ia+p|0;b[s+2>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ia=n-ha|0;b[s+10>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ha=ha+n|0;b[s+4>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ha=p-(c[O>>2]|0)|0;b[s+12>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ga=ga+o|0;b[s+6>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535;ga=m-(c[da>>2]|0)|0;b[s+14>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535}else{b[s>>1]=0;b[s+2>>1]=0;b[s+4>>1]=0;b[s+6>>1]=0;b[s+8>>1]=0;b[s+10>>1]=0;b[s+12>>1]=0;b[s+14>>1]=0}q=q+1|0;if(q>>>0>=Z>>>0)break;else{l=l>>1;e=e+2|0;s=s+16|0}}c[ea>>2]=m;c[aa>>2]=o;c[ba>>2]=p;c[ca>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;n=0;m=f;while(1){ia=b[m+16>>1]|0;ga=b[m+48>>1]|0;ja=(r(ga,q)|0)+(r(ia,e)|0)|0;c[da>>2]=ja;c[u>>2]=(r(ga,t)|0)+(r(ia,s)|0);c[x>>2]=(r(ga,w)|0)+(r(ia,v)|0);c[A>>2]=(r(ga,z)|0)+(r(ia,y)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ia=r(o,ia)|0;ha=b[m>>1]|0;f=r(ha,p)|0;ha=r(l,ha)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){ha=b[m+16>>1]|0;f=b[m+48>>1]|0;ga=b[m+80>>1]|0;ia=b[m+112>>1]|0;ja=(r(f,v)|0)+(r(ha,u)|0)+(r(ga,w)|0)+(r(ia,x)|0)|0;c[da>>2]=ja;c[C>>2]=(r(f,z)|0)+(r(ha,y)|0)+(r(ga,A)|0)+(r(ia,B)|0);c[H>>2]=(r(f,E)|0)+(r(ha,D)|0)+(r(ga,F)|0)+(r(ia,G)|0);c[M>>2]=(r(f,J)|0)+(r(ha,I)|0)+(r(ga,K)|0)+(r(ia,L)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ha=b[m+96>>1]|0;ga=(r(ha,o)|0)+ga|0;ia=(r(l,ha)|0)+(r(p,ia)|0)|0;ha=b[m>>1]|0;f=r(ha,e)|0;ka=b[m+64>>1]|0;f=(r(ka,q)|0)+f|0;ha=(r(t,ka)|0)+(r(s,ha)|0)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}}function yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function zf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)<1)return;e=0-b|0;b=1;while(1){Pk(a+(r(b,e)|0)|0,a|0,c|0)|0;if((b|0)==(d|0))break;else b=b+1|0}return}function Af(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)<1)return;f=a+(0-b)|0;e=1;while(1){Pk(a+(r(e+-1|0,b)|0)|0,f|0,c|0)|0;if((e|0)==(d|0))break;else e=e+1|0}return}function Bf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)<=0)return;g=0-e|0;f=0;while(1){Rk(b+g|0,a[b>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Cf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;if((d|0)<=0)return;h=0-(e>>1)|0;if((e|0)<=1)return;f=0;e=a;while(1){a=b[e>>1]|0;c=h;while(1){b[e+(c<<1)>>1]=a;if((c|0)<-1)c=c+1|0;else break}f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Df(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((d|0)<=0)return;f=0;while(1){Rk(b|0,a[b+-1>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Ef(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;h=e>>1;if(!((d|0)>0&(e|0)>1))return;f=0;e=a;while(1){a=b[e+-2>>1]|0;c=0;do{b[e+(c<<1)>>1]=a;c=c+1|0}while((c|0)<(h|0));f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Ff(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Gf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Hf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function If(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Jf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;qa=h<<1;ra=i<<1;sa=h*3|0;m=i*3|0;n=h<<2;o=i<<2;p=h*5|0;q=i*5|0;s=h*6|0;t=i*6|0;u=h*7|0;v=i*7|0;w=h<<3;x=i<<3;y=h*9|0;z=i*9|0;A=h*10|0;B=i*10|0;C=h*11|0;D=i*11|0;E=h*12|0;F=i*12|0;G=h*13|0;H=i*13|0;I=h*14|0;J=i*14|0;K=h*15|0;L=i*15|0;M=h<<4;N=i<<4;O=h*17|0;P=i*17|0;Q=h*18|0;R=i*18|0;S=h*19|0;T=i*19|0;U=h*20|0;V=i*20|0;W=h*21|0;X=i*21|0;Y=h*22|0;Z=i*22|0;_=h*23|0;$=i*23|0;aa=h*24|0;ba=i*24|0;ca=h*25|0;da=i*25|0;ea=h*26|0;fa=i*26|0;ga=h*27|0;ha=i*27|0;ia=h*28|0;ja=i*28|0;ka=h*29|0;la=i*29|0;ma=h*30|0;na=i*30|0;oa=h*31|0;pa=i*31|0;l=0;k=e;while(1){if(!(j&1)){e=0;do{ta=b[c+((r(e,g)|0)<<1)>>1]|0;ta=(d[k+(r(e,h)|0)>>0]|0)+ta|0;ta=(ta|0)>0?ta:0;a[f+(r(e,i)|0)>>0]=(ta|0)<255?ta:255;e=e+1|0}while((e|0)!=32)}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+ra>>0]=a[k+qa>>0]|0;a[f+m>>0]=a[k+sa>>0]|0;a[f+o>>0]=a[k+n>>0]|0;a[f+q>>0]=a[k+p>>0]|0;a[f+t>>0]=a[k+s>>0]|0;a[f+v>>0]=a[k+u>>0]|0;a[f+x>>0]=a[k+w>>0]|0;a[f+z>>0]=a[k+y>>0]|0;a[f+B>>0]=a[k+A>>0]|0;a[f+D>>0]=a[k+C>>0]|0;a[f+F>>0]=a[k+E>>0]|0;a[f+H>>0]=a[k+G>>0]|0;a[f+J>>0]=a[k+I>>0]|0;a[f+L>>0]=a[k+K>>0]|0;a[f+N>>0]=a[k+M>>0]|0;a[f+P>>0]=a[k+O>>0]|0;a[f+R>>0]=a[k+Q>>0]|0;a[f+T>>0]=a[k+S>>0]|0;a[f+V>>0]=a[k+U>>0]|0;a[f+X>>0]=a[k+W>>0]|0;a[f+Z>>0]=a[k+Y>>0]|0;a[f+$>>0]=a[k+_>>0]|0;a[f+ba>>0]=a[k+aa>>0]|0;a[f+da>>0]=a[k+ca>>0]|0;a[f+fa>>0]=a[k+ea>>0]|0;a[f+ha>>0]=a[k+ga>>0]|0;a[f+ja>>0]=a[k+ia>>0]|0;a[f+la>>0]=a[k+ka>>0]|0;a[f+na>>0]=a[k+ma>>0]|0;a[f+pa>>0]=a[k+oa>>0]|0}l=l+1|0;if((l|0)==32)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Kf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Sb;Sb=Sb+128|0;p=q;o=(l|0)>0;n=k+-1|0;if(o){m=0;do{a[f+m>>0]=a[b+(n+(r(m,e)|0))>>0]|0;m=m+1|0}while((m|0)!=(l|0))}a[h>>0]=a[g+n>>0]|0;f=(k|0)>0;if(f){n=r(l+-1|0,e)|0;m=0;do{a[g+m>>0]=a[b+(m+n)>>0]|0;m=m+1|0}while((m|0)!=(k|0))}m=p;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[p+((i&31)<<2)>>2]=1;c[p+((i+1&31)<<2)>>2]=2;c[p+((i+2&31)<<2)>>2]=3;c[p+((i+3&31)<<2)>>2]=4;if(!(o&f)){Sb=q;return}m=0;while(1){n=0;do{i=b+n|0;o=d[i>>0]|0;o=(a[j+(c[p+(o>>>3<<2)>>2]|0)>>0]|0)+o|0;o=(o|0)>0?o:0;a[i>>0]=(o|0)<255?o:255;n=n+1|0}while((n|0)!=(k|0));m=m+1|0;if((m|0)==(l|0))break;else b=b+e|0}Sb=q;return}function Lf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+256|0;t=v+128|0;u=v;s=(n|0)>0;p=m+-2|0;q=m+-1|0;if(s){o=0;do{x=r(o,e)|0;w=o<<1;a[f+w>>0]=a[b+(p+x)>>0]|0;a[f+(w|1)>>0]=a[b+(q+x)>>0]|0;o=o+1|0}while((o|0)!=(n|0))}a[h>>0]=a[g+p>>0]|0;a[h+1>>0]=a[g+q>>0]|0;q=(m|0)>0;if(q){p=r(n+-1|0,e)|0;o=0;do{a[g+o>>0]=a[b+(o+p)>>0]|0;o=o+1|0}while((o|0)!=(m|0))}o=t;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=u;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[t+((i&31)<<2)>>2]=1;c[u+((j&31)<<2)>>2]=1;c[t+((i+1&31)<<2)>>2]=2;c[u+((j+1&31)<<2)>>2]=2;c[t+((i+2&31)<<2)>>2]=3;c[u+((j+2&31)<<2)>>2]=3;c[t+((i+3&31)<<2)>>2]=4;c[u+((j+3&31)<<2)>>2]=4;if(!(s&q)){Sb=v;return}p=0;while(1){o=0;do{j=(o&1|0)==0;x=b+o|0;w=d[x>>0]|0;w=(a[(j?k:l)+(c[(j?t:u)+(w>>>3<<2)>>2]|0)>>0]|0)+w|0;w=(w|0)>0?w:0;a[x>>0]=(w|0)<255?w:255;o=o+1|0}while((o|0)!=(m|0));p=p+1|0;if((p|0)==(n|0))break;else b=b+e|0}Sb=v;return}function Mf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;u=Sb;Sb=Sb+128|0;s=u+64|0;t=u;i=s;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));o=m+-1|0;a[h>>0]=a[g+o>>0]|0;q=(n|0)>0;if(q){i=0;do{a[t+i>>0]=a[b+(o+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}j=(m|0)>0;if(j){h=r(n+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(!(a[k>>0]|0))a[s>>0]=0;if(!(a[k+1>>0]|0))a[s+o>>0]=0;if(!q){Sb=u;return}if(j){j=b;b=0;while(1){k=a[j>>0]|0;i=(k&255)-(d[f+b>>0]|0)|0;i=(i|0)>-1?(i|0)!=0&1:-1;h=0;while(1){g=k&255;o=h;h=h+1|0;k=a[j+h>>0]|0;p=g-(k&255)|0;p=(p|0)>-1?(p|0)!=0&1:-1;i=c[33568+(i+2+p<<2)>>2]&d[s+o>>0];if(i|0){g=(a[l+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[j+o>>0]=(g|0)<255?g:255}if((h|0)==(m|0))break;else i=0-p|0}b=b+1|0;if((b|0)==(n|0))break;else j=j+e|0}if(!q){Sb=u;return}}Pk(f|0,t|0,n|0)|0;Sb=u;return}function Nf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Sb;Sb=Sb+192|0;w=y+128|0;x=y;i=w;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;p=n+-1|0;a[h+1>>0]=a[g+p>>0]|0;v=(o|0)>0;if(v){i=0;do{t=(r(i,e)|0)+n|0;u=i<<1;a[x+u>>0]=a[b+(t+-2)>>0]|0;a[x+(u|1)>>0]=a[b+(t+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}j=(n|0)>0;if(j){h=r(o+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(n|0))}if(!(a[k>>0]|0))a[w>>0]=0;if(!(a[k+1>>0]|0))a[w+(p>>1)>>0]=0;if(!v){Sb=y;return}if(j){s=b;u=0;while(1){i=a[s>>0]|0;p=u<<1;b=(i&255)-(d[f+p>>0]|0)|0;p=(d[s+1>>0]|0)-(d[f+(p|1)>>0]|0)|0;p=(p|0)>-1?(p|0)!=0&1:-1;b=(b|0)>-1?(b|0)!=0&1:-1;t=0;while(1){g=i&255;j=g-(d[s+(t+2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;if(!(t&1)){h=l;k=p;q=0-j&255;i=b<<24>>24}else{h=m;k=0-j&255;q=b;i=p<<24>>24}i=c[33568+(j+2+i<<2)>>2]&d[w+(t>>>1)>>0];if(i|0){g=(a[h+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[s+t>>0]=(g|0)<255?g:255}i=t+1|0;if((i|0)==(n|0))break;p=k;b=q;t=i;i=a[s+i>>0]|0}u=u+1|0;if((u|0)==(o|0))break;else s=s+e|0}if(!v){Sb=y;return}}m=o<<1;Pk(f|0,x|0,((m|0)>1?m:1)|0)|0;Sb=y;return}function Of(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;t=Sb;Sb=Sb+192|0;p=t+128|0;q=t+64|0;s=t;i=p;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));j=m+-1|0;a[h>>0]=a[g+j>>0]|0;if((n|0)>0){i=0;do{a[f+i>>0]=a[b+(j+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}o=(m|0)>0;if(o)Pk(q|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=n+-1|0;if(o){j=0;do{n=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[s+j>>0]=(n|0)>-1?(n|0)!=0&1:-1;j=j+1|0}while((j|0)!=(m|0))}}else if(o){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[s+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));h=b;i=n}else{h=b;i=n}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!o){Sb=t;return}n=0;i=h;while(1){j=0;do{h=i+j|0;u=(d[h>>0]|0)-(d[i+(j+e)>>0]|0)|0;u=(u|0)>-1?(u|0)!=0&1:-1;k=s+j|0;f=(a[k>>0]|0)+2+u|0;a[k>>0]=0-u;f=c[33568+(f<<2)>>2]&d[p+j>>0];if(f|0){u=(a[l+f>>0]|0)+(d[h>>0]|0)|0;u=(u|0)>0?u:0;a[h>>0]=(u|0)<255?u:255}j=j+1|0}while((j|0)!=(m|0));n=n+1|0;if((n|0)==(b|0))break;else i=i+e|0}}if(!o){Sb=t;return}Pk(g|0,q|0,m|0)|0;Sb=t;return}function Pf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0;u=Sb;Sb=Sb+192|0;q=u+128|0;s=u+64|0;t=u;i=q;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;a[h+1>>0]=a[g+(n+-1)>>0]|0;if((o|0)>0){i=0;do{h=(r(i,e)|0)+n|0;p=i<<1;a[f+p>>0]=a[b+(h+-2)>>0]|0;a[f+(p|1)>>0]=a[b+(h+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}p=(n|0)>0;if(p)Pk(s|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=o+-1|0;if(p){j=0;do{o=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[t+j>>0]=(o|0)>-1?(o|0)!=0&1:-1;j=j+1|0}while((j|0)!=(n|0))}}else if(p){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[t+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));h=b;i=o}else{h=b;i=o}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!p){Sb=u;return}o=0;i=h;while(1){j=0;do{f=i+j|0;v=(d[f>>0]|0)-(d[i+(j+e)>>0]|0)|0;v=(v|0)>-1?(v|0)!=0&1:-1;k=t+j|0;h=(a[k>>0]|0)+2+v|0;a[k>>0]=0-v;h=c[33568+(h<<2)>>2]&d[q+(j>>>1)>>0];if(h|0){v=(a[((j&1|0)==0?l:m)+h>>0]|0)+(d[f>>0]|0)|0;v=(v|0)>0?v:0;a[f>>0]=(v|0)<255?v:255}j=j+1|0}while((j|0)!=(n|0));o=o+1|0;if((o|0)==(b|0))break;else i=i+e|0}}if(!p){Sb=u;return}Pk(g|0,s|0,n|0)|0;Sb=u;return}function Qf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+352|0;B=H+288|0;F=H+224|0;G=H+160|0;x=H+80|0;q=H;i=B;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));C=m+-1|0;E=a[g+C>>0]|0;if((n|0)>0){i=0;do{a[F+i>>0]=a[b+(C+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}D=(m|0)>0;if(D)Pk(G|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;t=a[b>>0]|0;if((a[k+4>>0]|0)!=0?(o=t&255,p=o-(d[h>>0]|0)|0,A=o-(d[b+(e+1)>>0]|0)|0,p=((A|0)>-1?(A|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0,(p|0)!=2):0){A=(a[l+(c[33568+(p<<2)>>2]|0)>>0]|0)+o|0;A=(A|0)>0?A:0;A=((A|0)<255?A:255)&255}else A=t;j=n+-1|0;i=r(j,e)|0;o=i+C|0;p=a[b+o>>0]|0;if((a[k+7>>0]|0)!=0?(s=p&255,u=s-(d[b+(o+~e)>>0]|0)|0,z=s-(d[b+(m+e+i)>>0]|0)|0,u=((z|0)>-1?(z|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){i=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)y=-1;else y=((i|0)>0?i:0)&255}else y=p;if(!(a[k>>0]|0))a[B>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+1|0;if((m|0)>1?(w=(d[i+1>>0]|0)-(t&255)|0,a[x+1>>0]=(w|0)>-1?(w|0)!=0&1:-1,(m|0)!=2):0){o=1;p=2;while(1){o=(d[i+p>>0]|0)-(d[b+o>>0]|0)|0;a[x+p>>0]=(o|0)>-1?(o|0)!=0&1:-1;o=p+1|0;if((o|0)==(m|0))break;else{w=p;p=o;o=w}}}}else if((m|0)>1){i=1;do{w=(d[b+i>>0]|0)-(d[g+(i+-1)>>0]|0)|0;a[x+i>>0]=(w|0)>-1?(w|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));i=b;j=n;s=f}else{i=b;j=n;s=f}if(!(a[k+1>>0]|0))a[B+C>>0]=0;w=k+3|0;v=j+(((a[w>>0]|0)==0)<<31>>31)|0;do if((v|0)>0){k=r(v,e)|0;if(!D){j=x;o=0;p=i;while(1){l=(d[p>>0]|0)-(d[s+(o+-1)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;o=o+1|0;if((o|0)==(v|0))break;else{l=j;p=p+e|0;j=q;q=l}}i=i+k|0;break}p=x;t=0;u=i;while(1){o=(d[u>>0]|0)-(d[s+(t+-1)>>0]|0)|0;o=(o|0)>-1?(o|0)!=0&1:-1;a[p>>0]=o;j=0;while(1){n=u+j|0;b=j+1|0;x=(d[n>>0]|0)-(d[u+(b+e)>>0]|0)|0;x=(x|0)>-1?(x|0)!=0&1:-1;a[q+b>>0]=0-x;j=c[33568+((o<<24>>24)+2+x<<2)>>2]&d[B+j>>0];if(j|0){x=(a[l+j>>0]|0)+(d[n>>0]|0)|0;x=(x|0)>0?x:0;a[n>>0]=(x|0)<255?x:255}if((b|0)==(m|0))break;j=b;o=a[p+b>>0]|0}t=t+1|0;if((t|0)==(v|0))break;else{x=p;u=u+e|0;p=q;q=x}}i=i+k|0}while(0);l=v+1|0;a[i+(r((a[z>>0]|0)==0?l:v,0-e|0)|0)>>0]=A;a[i+(C-((a[w>>0]|0)==0?0:e))>>0]=y;i=((a[z>>0]|0)==0?l:v)+((a[w>>0]|0)==0&1)|0;a[h>>0]=E;if((i|0)>0)Pk(f|0,F|0,i|0)|0;if(!D){Sb=H;return}Pk(g|0,G|0,m|0)|0;Sb=H;return}function Rf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Sb;Sb=Sb+416|0;D=L+352|0;J=L+224|0;K=L+160|0;B=L+80|0;t=L;i=D;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));E=n+-2|0;F=a[g+E>>0]|0;G=n+-1|0;H=a[g+G>>0]|0;if((o|0)>0){i=0;do{C=(r(i,e)|0)+n|0;I=i<<1;a[J+I>>0]=a[b+(C+-2)>>0]|0;a[J+(I|1)>>0]=a[b+(C+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}I=(n|0)>0;if(I)Pk(K|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;p=a[b>>0]|0;if(a[k+4>>0]|0){i=p&255;j=i-(d[h>>0]|0)|0;C=i-(d[b+(e+2)>>0]|0)|0;j=((C|0)>-1?(C|0)!=0&1:-1)+((j|0)>-1?((j|0)==0?2:3):1)|0;if((j|0)!=2){p=(a[l+(c[33568+(j<<2)>>2]|0)>>0]|0)+i|0;p=(p|0)>0?p:0;p=((p|0)<255?p:255)&255}i=a[b+1>>0]|0;j=i&255;q=j-(d[h+1>>0]|0)|0;C=j-(d[b+(e+3)>>0]|0)|0;q=((C|0)>-1?(C|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)==2)C=i;else{C=(a[m+(c[33568+(q<<2)>>2]|0)>>0]|0)+j|0;C=(C|0)>0?C:0;C=((C|0)<255?C:255)&255}}else C=a[b+1>>0]|0;j=o+-1|0;s=r(j,e)|0;i=s+E|0;u=a[b+i>>0]|0;if(a[k+7>>0]|0){q=u&255;v=-2-e|0;i=q-(d[b+(v+i)>>0]|0)|0;A=q-(d[b+(n+e+s)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){u=(a[l+(c[33568+(i<<2)>>2]|0)>>0]|0)+q|0;u=(u|0)>0?u:0;u=((u|0)<255?u:255)&255}A=s+G|0;q=a[b+A>>0]|0;s=q&255;i=s-(d[b+(v+A)>>0]|0)|0;A=s-(d[b+(e+2+A)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){i=(a[m+(c[33568+(i<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)A=-1;else A=((i|0)>0?i:0)&255}else A=q}else A=a[b+(s+G)>>0]|0;if(!(a[k>>0]|0))a[D>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+2|0;if((n|0)>2){q=2;do{y=(d[i+q>>0]|0)-(d[b+(q+-2)>>0]|0)|0;a[B+q>>0]=(y|0)>-1?(y|0)!=0&1:-1;q=q+1|0}while((q|0)!=(n|0));x=s}else x=s}else if((n|0)>2){i=2;do{y=(d[b+i>>0]|0)-(d[g+(i+-2)>>0]|0)|0;a[B+i>>0]=(y|0)>-1?(y|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));i=b;j=o;x=f}else{i=b;j=o;x=f}if(!(a[k+1>>0]|0))a[D+(G>>1)>>0]=0;y=k+3|0;w=j+(((a[y>>0]|0)==0)<<31>>31)|0;do if((w|0)>0){k=r(w,e)|0;if(!I){j=B;q=0;s=i;while(1){m=q<<1;l=(d[s>>0]|0)-(d[x+(m+-2)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;m=(d[s+1>>0]|0)-(d[x+(m+-1)>>0]|0)|0;a[j+1>>0]=(m|0)>-1?(m|0)!=0&1:-1;q=q+1|0;if((q|0)==(w|0))break;else{m=j;s=s+e|0;j=t;t=m}}i=i+k|0;break}s=B;v=0;o=i;while(1){b=v<<1;j=(d[o>>0]|0)-(d[x+(b+-2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;a[s>>0]=j;b=(d[o+1>>0]|0)-(d[x+(b+-1)>>0]|0)|0;a[s+1>>0]=(b|0)>-1?(b|0)!=0&1:-1;b=0;while(1){q=o+b|0;M=b+2|0;B=(d[q>>0]|0)-(d[o+(M+e)>>0]|0)|0;B=(B|0)>-1?(B|0)!=0&1:-1;a[t+M>>0]=0-B;j=c[33568+((j<<24>>24)+2+B<<2)>>2]&d[D+(b>>>1)>>0];if(j|0){M=(a[((b&1|0)==0?l:m)+j>>0]|0)+(d[q>>0]|0)|0;M=(M|0)>0?M:0;a[q>>0]=(M|0)<255?M:255}j=b+1|0;if((j|0)==(n|0))break;b=j;j=a[s+j>>0]|0}v=v+1|0;if((v|0)==(w|0))break;else{M=s;o=o+e|0;s=t;t=M}}i=i+k|0}while(0);M=w+1|0;a[i+(r((a[z>>0]|0)==0?M:w,0-e|0)|0)>>0]=p;a[i+(1-(r((a[z>>0]|0)==0?M:w,e)|0))>>0]=C;a[i+(E-((a[y>>0]|0)==0?0:e))>>0]=u;a[i+(G-((a[y>>0]|0)==0?0:e))>>0]=A;M=((a[z>>0]|0)==0?M:w)+((a[y>>0]|0)==0&1)|0;a[h>>0]=F;a[h+1>>0]=H;i=M<<1;if((M|0)>0)Pk(f|0,J|0,((i|0)>1?i:1)|0)|0;if(!I){Sb=L;return}Pk(g|0,K|0,n|0)|0;Sb=L;return}function Sf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=Sb;Sb=Sb+256|0;H=0-e|0;C=K+192|0;I=K+128|0;J=K+64|0;D=K;o=C;p=o+64|0;do{c[o>>2]=-1;o=o+4|0}while((o|0)<(p|0));E=m+-1|0;G=a[g+E>>0]|0;if((n|0)>0){o=0;do{a[J+o>>0]=a[b+(E+(r(o,e)|0))>>0]|0;o=o+1|0}while((o|0)!=(n|0))}F=(m|0)>0;if(F)Pk(I|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;o=a[b+E>>0]|0;if((a[k+5>>0]|0)!=0?(q=o&255,s=q-(d[i>>0]|0)|0,B=q-(d[b+(e+-2+m)>>0]|0)|0,s=((B|0)>-1?(B|0)!=0&1:-1)+((s|0)>-1?((s|0)==0?2:3):1)|0,(s|0)!=2):0){B=(a[l+(c[33568+(s<<2)>>2]|0)>>0]|0)+q|0;B=(B|0)>0?B:0;B=((B|0)<255?B:255)&255}else B=o;p=n+-1|0;o=r(p,e)|0;q=a[b+o>>0]|0;if((a[k+6>>0]|0)!=0?(t=q&255,u=t-(d[b+(1-e+o)>>0]|0)|0,A=t-(d[j>>0]|0)|0,u=((A|0)>-1?(A|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){o=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+t|0;if((o|0)>255)z=-1;else z=((o|0)>0?o:0)&255}else z=q;if(!(a[k>>0]|0))a[C>>0]=0;A=k+2|0;o=a[A>>0]|0;if(!(o<<24>>24)){i=b+e|0;s=f+1|0;if((m|0)>1){q=0;do{y=q;q=q+1|0;x=(d[i+y>>0]|0)-(d[b+q>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((q|0)!=(E|0));b=i}else b=i}else if((m|0)>1){p=0;do{y=p;p=p+1|0;x=(d[b+y>>0]|0)-(d[g+p>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((p|0)!=(E|0));p=n;s=f}else{p=n;s=f}if(!(a[k+1>>0]|0))a[C+E>>0]=0;y=k+3|0;x=p+(((a[y>>0]|0)==0)<<31>>31)|0;do if((x|0)>0){k=m-e|0;v=D+E|0;w=r(x,e)|0;if(!F){p=b;q=0;while(1){l=(d[p+E>>0]|0)-(d[p+k>>0]|0)|0;a[v>>0]=(l|0)>-1?(l|0)!=0&1:-1;q=q+1|0;if((q|0)==(x|0))break;else p=p+e|0}b=b+w|0;break}i=b;j=0;while(1){u=(d[i+E>>0]|0)-(d[i+k>>0]|0)|0;a[v>>0]=(u|0)>-1?(u|0)!=0&1:-1;j=j+1|0;u=s+j|0;t=0;do{n=i+t|0;o=a[n>>0]|0;q=(t|0)==0;p=t+-1+e|0;if((d[(q?u:i+p|0)>>0]|0)>(o&255))o=-1;else o=(d[(q?u:i+p|0)>>0]|0)<(o&255)&1;p=o+2+(a[D+t>>0]|0)|0;if(!q)a[D+(t+-1)>>0]=0-o;o=c[33568+(p<<2)>>2]&d[C+t>>0];if(o|0){q=(a[l+o>>0]|0)+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[n>>0]=(q|0)<255?q:255}t=t+1|0}while((t|0)!=(m|0));if((j|0)==(x|0))break;else i=i+e|0}b=b+w|0;o=a[A>>0]|0}while(0);l=x+1|0;a[b+(E-(r(o<<24>>24==0?l:x,e)|0))>>0]=B;a[b+((a[y>>0]|0)==0?0:H)>>0]=z;o=((a[A>>0]|0)==0?l:x)+((a[y>>0]|0)==0&1)|0;a[h>>0]=G;if((o|0)>0)Pk(f|0,J|0,o|0)|0;if(!F){Sb=K;return}Pk(g|0,I|0,m|0)|0;Sb=K;return}function Tf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+320|0;O=0-e|0;H=R+256|0;P=R+128|0;Q=R+64|0;I=R;p=H;q=p+64|0;do{c[p>>2]=-1;p=p+4|0}while((p|0)<(q|0));J=n+-2|0;K=a[g+J>>0]|0;L=n+-1|0;M=a[g+L>>0]|0;if((o|0)>0){p=0;do{G=(r(p,e)|0)+n|0;N=p<<1;a[P+N>>0]=a[b+(G+-2)>>0]|0;a[P+(N|1)>>0]=a[b+(G+-1)>>0]|0;p=p+1|0}while((p|0)!=(o|0))}N=(n|0)>0;if(N)Pk(Q|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;s=a[b+J>>0]|0;if(a[k+5>>0]|0){p=s&255;q=p-(d[i>>0]|0)|0;u=n+e|0;G=p-(d[b+(u+-4)>>0]|0)|0;q=((G|0)>-1?(G|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){s=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;s=(s|0)>0?s:0;s=((s|0)<255?s:255)&255}q=a[b+L>>0]|0;t=q&255;p=t-(d[i+1>>0]|0)|0;G=t-(d[b+(u+-3)>>0]|0)|0;p=((G|0)>-1?(G|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)==2)G=q;else{G=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+t|0;G=(G|0)>0?G:0;G=((G|0)<255?G:255)&255}}else G=a[b+L>>0]|0;v=o+-1|0;i=r(v,e)|0;t=a[b+i>>0]|0;if(a[k+6>>0]|0){p=t&255;q=p-(d[b+(2-e+i)>>0]|0)|0;F=p-(d[j>>0]|0)|0;q=((F|0)>-1?(F|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){t=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;t=(t|0)>0?t:0;t=((t|0)<255?t:255)&255}q=a[b+(i+1)>>0]|0;u=q&255;p=u-(d[b+(3-e+i)>>0]|0)|0;F=u-(d[j+1>>0]|0)|0;p=((F|0)>-1?(F|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)!=2){p=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+u|0;if((p|0)>255)F=-1;else F=((p|0)>0?p:0)&255}else F=q}else F=a[b+(i+1)>>0]|0;if(!(a[k>>0]|0))a[H>>0]=0;E=k+2|0;p=a[E>>0]|0;if(!(p<<24>>24)){u=b+e|0;i=f+2|0;if((n|0)>2){q=0;do{D=(d[u+q>>0]|0)-(d[b+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));b=u;q=v}else{b=u;q=v}}else if((n|0)>2){q=0;do{D=(d[b+q>>0]|0)-(d[g+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));q=o;i=f}else{q=o;i=f}if(!(a[k+1>>0]|0))a[H+(L>>1)>>0]=0;D=k+3|0;C=q+(((a[D>>0]|0)==0)<<31>>31)|0;do if((C|0)>0){x=n-e|0;y=I+J|0;q=1-e|0;z=q+n|0;A=I+L|0;B=r(C,e)|0;if(!N){u=0;i=b;while(1){m=(d[i+J>>0]|0)-(d[i+x>>0]|0)|0;a[y>>0]=(m|0)>-1?(m|0)!=0&1:-1;m=(d[i+L>>0]|0)-(d[i+z>>0]|0)|0;a[A>>0]=(m|0)>-1?(m|0)!=0&1:-1;u=u+1|0;if((u|0)==(C|0))break;else i=i+e|0}b=b+B|0;break}v=0;j=b;while(1){k=(d[j+J>>0]|0)-(d[j+x>>0]|0)|0;a[y>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=(d[j+L>>0]|0)-(d[j+z>>0]|0)|0;a[A>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=v<<1;o=0;do{w=j+o|0;p=a[w>>0]|0;u=o>>>0<2;if((d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)>(p&255))p=-1;else p=(d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)<(p&255)&1;u=p+2+(a[I+o>>0]|0)|0;if(o>>>0>1)a[I+(o+-2)>>0]=0-p;p=c[33568+(u<<2)>>2]&d[H+(o>>>1)>>0];if(p|0){u=(a[((o&1|0)==0?l:m)+p>>0]|0)+(d[w>>0]|0)|0;u=(u|0)>0?u:0;a[w>>0]=(u|0)<255?u:255}o=o+1|0}while((o|0)!=(n|0));v=v+1|0;if((v|0)==(C|0))break;else j=j+e|0}b=b+B|0;p=a[E>>0]|0}else q=1-e|0;while(0);m=C+1|0;a[b+(J-(r(p<<24>>24==0?m:C,e)|0))>>0]=s;a[b+(L-(r((a[E>>0]|0)==0?m:C,e)|0))>>0]=G;a[b+((a[D>>0]|0)==0?0:O)>>0]=t;a[b+((a[D>>0]|0)==0?1:q)>>0]=F;O=((a[E>>0]|0)==0?m:C)+((a[D>>0]|0)==0&1)|0;a[h>>0]=K;a[h+1>>0]=M;p=O<<1;if((O|0)>0)Pk(f|0,P|0,((p|0)>1?p:1)|0)|0;if(!N){Sb=R;return}Pk(g|0,Q|0,n|0)|0;Sb=R;return}function Uf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;if((k|0)<=0)return;o=1<<i+-1;if((l|0)<=0)return;n=0;while(1){m=0;do{p=((r((b[c+(m<<1)>>1]|0)+j|0,g)|0)+o>>i)+h|0;p=(p|0)>0?p:0;a[d+m>>0]=(p|0)<255?p:255;m=m+1|0}while((m|0)!=(l|0));n=n+1|0;if((n|0)==(k|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Vf(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0;if((m|0)<=0)return;q=n<<1;s=1<<k+-1;if((n|0)<=0)return;p=0;o=c;n=d;while(1){c=0;do{d=((r((b[o+(c<<1)>>1]|0)+l|0,g)|0)+s>>k)+i|0;d=(d|0)>0?d:0;a[n+c>>0]=(d|0)<255?d:255;d=c|1;t=((r((b[o+(d<<1)>>1]|0)+l|0,h)|0)+s>>k)+j|0;t=(t|0)>0?t:0;a[n+d>>0]=(t|0)<255?t:255;c=c+2|0}while((c|0)<(q|0));p=p+1|0;if((p|0)==(m|0))break;else{o=o+(e<<1)|0;n=n+f|0}}return}function Wf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0;if((p|0)<=0)return;t=j+1+l<<m+-1;if((q|0)<=0)return;s=0;j=e;while(1){l=0;do{e=r((b[c+(l<<1)>>1]|0)+n|0,i)|0;e=e+t+(r((b[d+(l<<1)>>1]|0)+o|0,k)|0)>>m;e=(e|0)>0?e:0;a[j+l>>0]=(e|0)<255?e:255;l=l+1|0}while((l|0)!=(q|0));s=s+1|0;if((s|0)==(p|0))break;else{c=c+(f<<1)|0;d=d+(g<<1)|0;j=j+h|0}}return}function Xf(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0;if((u|0)<=0)return;x=v<<1;y=q+-1|0;w=k+1+o<<y;l=l+1+p<<y;if((v|0)<=0)return;p=0;k=c;while(1){o=0;do{y=r((b[k+(o<<1)>>1]|0)+s|0,i)|0;y=y+w+(r((b[d+(o<<1)>>1]|0)+t|0,m)|0)>>q;y=(y|0)>0?y:0;a[e+o>>0]=(y|0)<255?y:255;y=o|1;c=r((b[k+(y<<1)>>1]|0)+s|0,j)|0;c=c+l+(r((b[d+(y<<1)>>1]|0)+t|0,n)|0)>>q;c=(c|0)>0?c:0;a[e+y>>0]=(c|0)<255?c:255;o=o+2|0}while((o|0)<(x|0));p=p+1|0;if((p|0)==(u|0))break;else{k=k+(f<<1)|0;d=d+(g<<1)|0;e=e+h|0}}return}function Yf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;if((k|0)<=0)return;n=j+i|0;if((l|0)<=0)return;m=0;j=c;while(1){i=0;do{c=n+(b[j+(i<<1)>>1]|0)+(b[d+(i<<1)>>1]|0)|0;a[e+i>>0]=(c|0)>32703?-1:(c|0)<-64?0:(c+64|0)>>>7&255;i=i+1|0}while((i|0)!=(l|0));m=m+1|0;if((m|0)==(k|0))break;else{d=d+(g<<1)|0;e=e+h|0;j=j+(f<<1)|0}}return}function Zf(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;if((k|0)<=0)return;o=l<<1;n=j+i|0;if((l|0)<=0)return;m=0;l=d;j=e;while(1){i=0;do{e=n+(b[c+(i<<1)>>1]|0)+(b[l+(i<<1)>>1]|0)|0;a[j+i>>0]=(e|0)>32703?-1:(e|0)<-64?0:(e+64|0)>>>7&255;i=i+1|0}while((i|0)<(o|0));m=m+1|0;if((m|0)==(k|0))break;else{l=l+(g<<1)|0;j=j+h|0;c=c+(f<<1)|0}}return}function _f(){return 4}function $f(){return 28}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa(a|0,b|0,c|0,d|0)|0}function bg(a,b){a=a|0;b=b|0;return Qa(c[a>>2]|0,b|0)|0}function cg(a){a=a|0;return jj(a,0)|0}function dg(a){a=a|0;return mj(a)|0}function eg(a){a=a|0;return kj(a)|0}function fg(a){a=a|0;return lj(a)|0}function gg(){Ra()|0;return}function hg(a){a=a|0;return a|0}function ig(a){a=a|0;var b=0;c[a+11640>>2]=0;c[a+11644>>2]=c[a+11984>>2];c[a+11648>>2]=c[a+11972>>2];c[a+11652>>2]=c[a+11968>>2];b=c[a+11992>>2]|0;c[a+11656>>2]=b;c[a+11660>>2]=c[a+11988>>2];c[a+11664>>2]=c[a+11976>>2];c[a+11668>>2]=b;c[a+11672>>2]=b;c[a+11676>>2]=c[a+11980>>2];c[a+11680>>2]=c[a+11996>>2];c[a+11684>>2]=0;c[a+11688>>2]=c[a+11936>>2];c[a+11692>>2]=c[a+11952>>2];c[a+11696>>2]=c[a+11944>>2];b=c[a+11948>>2]|0;c[a+11700>>2]=b;c[a+11704>>2]=c[a+11940>>2];c[a+11708>>2]=c[a+11964>>2];c[a+11712>>2]=b;c[a+11716>>2]=b;c[a+11720>>2]=c[a+11956>>2];c[a+11724>>2]=c[a+11960>>2];c[a+11728>>2]=0;c[a+11732>>2]=c[a+12088>>2];c[a+11736>>2]=c[a+12064>>2];c[a+11740>>2]=c[a+12072>>2];c[a+11744>>2]=c[a+12084>>2];c[a+11748>>2]=c[a+12068>>2];c[a+11752>>2]=c[a+12056>>2];c[a+11756>>2]=c[a+12076>>2];c[a+11760>>2]=c[a+12060>>2];c[a+11764>>2]=c[a+12092>>2];c[a+11768>>2]=c[a+12080>>2];c[a+11772>>2]=0;c[a+11776>>2]=c[a+12040>>2];c[a+11780>>2]=c[a+12016>>2];c[a+11784>>2]=c[a+12024>>2];c[a+11788>>2]=c[a+12036>>2];c[a+11792>>2]=c[a+12020>>2];c[a+11796>>2]=c[a+12048>>2];c[a+11800>>2]=c[a+12028>>2];c[a+11804>>2]=c[a+12052>>2];c[a+11808>>2]=c[a+12044>>2];c[a+11812>>2]=c[a+12032>>2];c[a+11816>>2]=c[a+12116>>2];c[a+11820>>2]=c[a+12120>>2];c[a+11824>>2]=c[a+12124>>2];c[a+11828>>2]=c[a+12128>>2];c[a+11832>>2]=c[a+12132>>2];c[a+11836>>2]=c[a+12136>>2];c[a+11840>>2]=c[a+12140>>2];c[a+11844>>2]=c[a+12144>>2];c[a+11848>>2]=c[a+12148>>2];c[a+11852>>2]=c[a+12152>>2];c[a+11856>>2]=c[a+12156>>2];c[a+11860>>2]=c[a+12160>>2];c[a+11864>>2]=c[a+12164>>2];c[a+11868>>2]=c[a+12168>>2];c[a+11872>>2]=c[a+12172>>2];c[a+11876>>2]=c[a+12176>>2];c[a+11880>>2]=c[a+12300>>2];c[a+11884>>2]=c[a+12304>>2];c[a+11888>>2]=c[a+12252>>2];c[a+11892>>2]=c[a+12260>>2];c[a+11896>>2]=c[a+12268>>2];c[a+11900>>2]=c[a+12276>>2];c[a+11904>>2]=c[a+12256>>2];c[a+11908>>2]=c[a+12264>>2];c[a+11912>>2]=c[a+12272>>2];c[a+11916>>2]=c[a+12280>>2];return}function jg(b){b=b|0;var d=0,e=0,f=0;kg(b)|0;c[b+11632>>2]=0;c[b+52>>2]=1;c[b+100>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;c[b+136>>2]=0;c[b+140>>2]=0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;c[b+124>>2]=0;c[b+364>>2]=0;c[b+144>>2]=0;c[b+132>>2]=0;c[b+32>>2]=1;c[b+28>>2]=0;c[b+11568>>2]=0;c[b+11564>>2]=-1;c[b+11572>>2]=-1;c[b+1448>>2]=-1;c[b+64>>2]=(c[b+60>>2]|0)==12?12:11;c[b+88>>2]=0;c[b+48>>2]=0;c[b+36>>2]=0;c[b+44>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+11604>>2]=0;c[b+45340>>2]=0;f=c[b+296>>2]|0;e=c[b+300>>2]|0;a[f+8972>>0]=0;a[f+17948>>0]=0;a[f+26924>>0]=0;a[f+35900>>0]=0;a[f+44876>>0]=0;a[f+53852>>0]=0;a[f+62828>>0]=0;a[f+71804>>0]=0;a[f+80780>>0]=0;a[f+89756>>0]=0;a[f+98732>>0]=0;a[f+107708>>0]=0;a[f+116684>>0]=0;a[f+125660>>0]=0;a[f+134636>>0]=0;a[f+143612>>0]=0;a[f+152588>>0]=0;a[e+67>>0]=0;a[e+135>>0]=0;a[e+203>>0]=0;a[e+271>>0]=0;a[e+339>>0]=0;a[e+407>>0]=0;a[e+475>>0]=0;a[e+543>>0]=0;a[e+611>>0]=0;a[e+679>>0]=0;a[e+747>>0]=0;a[e+815>>0]=0;a[e+883>>0]=0;a[e+951>>0]=0;a[e+1019>>0]=0;a[e+1087>>0]=0;a[e+1155>>0]=0;a[e+1223>>0]=0;a[e+1291>>0]=0;a[e+1359>>0]=0;a[e+1427>>0]=0;a[e+1495>>0]=0;a[e+1563>>0]=0;a[e+1631>>0]=0;a[e+1699>>0]=0;a[e+1767>>0]=0;a[e+1835>>0]=0;a[e+1903>>0]=0;a[e+1971>>0]=0;a[e+2039>>0]=0;a[e+2107>>0]=0;a[e+2175>>0]=0;a[e+2243>>0]=0;a[e+2311>>0]=0;a[e+2379>>0]=0;a[e+2447>>0]=0;a[e+2515>>0]=0;a[e+2583>>0]=0;a[e+2651>>0]=0;a[e+2719>>0]=0;a[e+2787>>0]=0;a[e+2855>>0]=0;a[e+2923>>0]=0;a[e+2991>>0]=0;a[e+3059>>0]=0;a[e+3127>>0]=0;a[e+3195>>0]=0;a[e+3263>>0]=0;a[e+3331>>0]=0;a[e+3399>>0]=0;a[e+3467>>0]=0;a[e+3535>>0]=0;a[e+3603>>0]=0;a[e+3671>>0]=0;a[e+3739>>0]=0;a[e+3807>>0]=0;a[e+3875>>0]=0;a[e+3943>>0]=0;a[e+4011>>0]=0;a[e+4079>>0]=0;a[e+4147>>0]=0;a[e+4215>>0]=0;a[e+4283>>0]=0;a[e+4351>>0]=0;a[e+4419>>0]=0;c[b+68>>2]=2147483647;c[b+20>>2]=0;c[b+16>>2]=0;c[d>>2]=0;c[b+72>>2]=0;Yd(c[b+224>>2]|0);Yd(c[b+244>>2]|0);d=c[b+252>>2]|0;c[b+248>>2]=d;Rk(d|0,0,542464)|0;Ae(c[b+264>>2]|0);De(c[b+276>>2]|0);c[b+12312>>2]=0;c[b+11600>>2]=2147483647;lg(b);mg(b);ig(b);return 0}function kg(a){a=a|0;var b=0,d=0;b=a+11556|0;d=c[b>>2]|0;if(d|0){ug(d)|0;c[b>>2]=0}b=a+284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+308|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+608|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+616|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+212|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+216|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+196|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+204|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+208|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6064|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6556|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11612|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+1444|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+176|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+192|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+236|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11628|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+260|0;d=c[b>>2]|0;if(!d){a=a+11632|0;c[a>>2]=0;return 0}ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0;a=a+11632|0;c[a>>2]=0;return 0}function lg(a){a=a|0;c[a+12308>>2]=513;return}function mg(a){a=a|0;ng(a);return}function ng(a){a=a|0;c[a+11920>>2]=1;c[a+11924>>2]=2;c[a+11928>>2]=3;c[a+11932>>2]=4;c[a+11936>>2]=1;c[a+11940>>2]=2;c[a+11944>>2]=3;c[a+11948>>2]=4;c[a+11952>>2]=5;c[a+11956>>2]=6;c[a+11960>>2]=7;c[a+11964>>2]=8;c[a+11968>>2]=9;c[a+11972>>2]=10;c[a+11976>>2]=11;c[a+11980>>2]=12;c[a+11984>>2]=13;c[a+11988>>2]=14;c[a+11992>>2]=15;c[a+11996>>2]=16;c[a+12e3>>2]=1;c[a+12004>>2]=2;c[a+12008>>2]=3;c[a+12012>>2]=4;c[a+12016>>2]=4;c[a+12020>>2]=5;c[a+12024>>2]=6;c[a+12028>>2]=7;c[a+12032>>2]=8;c[a+12036>>2]=9;c[a+12040>>2]=10;c[a+12044>>2]=11;c[a+12048>>2]=12;c[a+12052>>2]=13;c[a+12056>>2]=14;c[a+12060>>2]=15;c[a+12064>>2]=16;c[a+12068>>2]=17;c[a+12072>>2]=18;c[a+12076>>2]=19;c[a+12080>>2]=20;c[a+12084>>2]=21;c[a+12088>>2]=22;c[a+12092>>2]=23;c[a+12096>>2]=24;c[a+12100>>2]=25;c[a+12104>>2]=26;c[a+12108>>2]=27;c[a+12112>>2]=28;c[a+12116>>2]=5;c[a+12120>>2]=6;c[a+12124>>2]=7;c[a+12128>>2]=8;c[a+12132>>2]=9;c[a+12136>>2]=10;c[a+12140>>2]=11;c[a+12144>>2]=12;c[a+12148>>2]=17;c[a+12152>>2]=18;c[a+12156>>2]=19;c[a+12160>>2]=20;c[a+12164>>2]=21;c[a+12168>>2]=22;c[a+12172>>2]=23;c[a+12176>>2]=24;c[a+12180>>2]=5;c[a+12184>>2]=6;c[a+12188>>2]=7;c[a+12192>>2]=8;c[a+12196>>2]=9;c[a+12200>>2]=10;c[a+12204>>2]=4;c[a+12208>>2]=5;c[a+12212>>2]=6;c[a+12216>>2]=7;c[a+12220>>2]=1;c[a+12224>>2]=1;c[a+12228>>2]=2;c[a+12232>>2]=1;c[a+12236>>2]=3;c[a+12240>>2]=1;c[a+12244>>2]=13;c[a+12248>>2]=1;c[a+12252>>2]=2;c[a+12256>>2]=2;c[a+12260>>2]=3;c[a+12264>>2]=3;c[a+12268>>2]=4;c[a+12272>>2]=4;c[a+12276>>2]=5;c[a+12280>>2]=5;c[a+12284>>2]=14;c[a+12288>>2]=15;c[a+12292>>2]=4;c[a+12296>>2]=1;c[a+12300>>2]=29;c[a+12304>>2]=30;return}function og(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=b+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<2)|0;g=a+h|0;p=0;f=a;k=m?l:b;h=m?b:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;b=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[e>>2]=((z|0)<255?z:255)<<16|((D|0)<255?D:255)|((E|0)<255?E:255)<<8;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;c[e+4>>2]=((E|0)<255?E:255)<<16|((D|0)<255?D:255)|((z|0)<255?z:255)<<8;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[b>>2]=((E|0)<255?E:255)<<8|((D|0)<255?D:255)|((z|0)<255?z:255)<<16;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;c[b+4>>2]=((B|0)<255?B:255)<<8|((A|0)<255?A:255)|((z|0)<255?z:255)<<16;if(m<<16>>16>1){m=m+-1<<16>>16;b=b+8|0;g=g+2|0;l=l+2|0;e=e+8|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<2)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<2)+(v<<2)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<2)+(j<<2)|0;k=k+i+v|0;h=h+i+v|0}}return} |
| | | function re(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=e;while(1){if(!(l&1)){wb=b[m+(i<<1)>>1]|0;zb=b[m+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[m+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;e=r(zb,U)|0;c[V>>2]=e;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[m>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-e|0;c[_>>2]=Ab;e=e+sb|0;c[$>>2]=e;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;e=Bb+e|0;b[n+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[K>>2]|0;Ab=Ab-e|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;e=e+(c[_>>2]|0)|0;b[n+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=n;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{n=n+32|0;l=l>>1;m=m+2|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;l=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;l=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){tb=b[m+(i<<1)>>1]|0;Bb=b[m+(yb<<1)>>1]|0;vb=b[m+(zb<<1)>>1]|0;qb=b[m+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[m+(p<<1)>>1]|0;vb=b[m+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[m+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[m>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;e=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=e-ob|0;c[va>>2]=xb;e=ob+e|0;c[wa>>2]=e;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[o>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[o+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[o+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Z>>2]|0;xb=xb-e|0;b[o+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[o+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[o+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[o+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[o+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;e=e+(c[va>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){Rb=b[m+(i<<1)>>1]|0;Qb=b[m+(yb<<1)>>1]|0;Bb=b[m+(zb<<1)>>1]|0;Ob=b[m+(Ab<<1)>>1]|0;Pb=b[m+(p<<1)>>1]|0;Mb=b[m+(q<<1)>>1]|0;e=b[m+(s<<1)>>1]|0;Kb=b[m+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(e,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(e,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(e,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(e,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(e,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(e,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(e,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(e,Xa)|0)+(r(Kb,Ya)|0);Kb=b[m+(u<<1)>>1]|0;e=b[m+(v<<1)>>1]|0;Mb=b[m+(w<<1)>>1]|0;Pb=b[m+(x<<1)>>1]|0;Ob=(r(e,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(e,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(e,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(e,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[m+(z<<1)>>1]|0;Kb=r(Mb,y)|0;e=b[m+(B<<1)>>1]|0;Kb=(r(e,A)|0)+Kb|0;Qb=b[m>>1]|0;Lb=r(Qb,C)|0;Nb=b[m+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,e)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;e=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=e-Rb|0;c[tb>>2]=Jb;e=Rb+e|0;c[ub>>2]=e;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[o>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[o+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[o+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Ha>>2]|0;Jb=Jb-e|0;b[o+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[o+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[o+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[o+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[o+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;e=e+(c[tb>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[U>>2]|0;Qb=c[D>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[na>>2]|0;Qb=c[O>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[db>>2]|0;Qb=c[ka>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}}function se(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Sb;Sb=Sb+32|0;ia=ja+16|0;ea=ja;da=(l&240|0)==240;x=da?4:8;y=i*3|0;z=i*5|0;A=i*7|0;B=b[16848]|0;C=i<<1;D=b[16880]|0;E=i*6|0;F=b[16849]|0;G=b[16881]|0;H=b[16832]|0;I=b[16864]|0;J=i<<2;K=b[16833]|0;L=b[16865]|0;fa=ia+12|0;ga=ia+4|0;ha=ia+8|0;M=b[16840]|0;N=b[16856]|0;O=b[16872]|0;P=b[16888]|0;Q=b[16841]|0;R=b[16857]|0;S=b[16873]|0;T=b[16889]|0;U=ea+4|0;V=b[16842]|0;W=b[16858]|0;X=b[16874]|0;Y=b[16890]|0;Z=ea+8|0;_=b[16843]|0;$=b[16859]|0;aa=b[16875]|0;ba=b[16891]|0;ca=ea+12|0;v=f;w=0;m=c[ha>>2]|0;o=c[ga>>2]|0;q=c[fa>>2]|0;t=c[ia>>2]|0;u=c[ca>>2]|0;s=c[Z>>2]|0;p=c[U>>2]|0;n=c[ea>>2]|0;while(1){if(!(l&1)){q=b[e+(i<<1)>>1]|0;ka=b[e+(y<<1)>>1]|0;m=b[e+(z<<1)>>1]|0;u=b[e+(A<<1)>>1]|0;n=(r(ka,N)|0)+(r(q,M)|0)+(r(m,O)|0)+(r(u,P)|0)|0;p=(r(ka,R)|0)+(r(q,Q)|0)+(r(m,S)|0)+(r(u,T)|0)|0;s=(r(ka,W)|0)+(r(q,V)|0)+(r(m,X)|0)+(r(u,Y)|0)|0;u=(r(ka,$)|0)+(r(q,_)|0)+(r(m,aa)|0)+(r(u,ba)|0)|0;m=b[e+(C<<1)>>1]|0;q=r(m,B)|0;ka=b[e+(E<<1)>>1]|0;q=(r(ka,D)|0)+q|0;m=(r(G,ka)|0)+(r(F,m)|0)|0;ka=b[e>>1]|0;o=r(ka,H)|0;t=b[e+(J<<1)>>1]|0;o=(r(t,I)|0)+o|0;ka=(r(L,t)|0)+(r(K,ka)|0)|0;t=o+q|0;q=o-q|0;o=ka+m|0;m=ka-m|0;ka=n+t|0;b[v>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=q-u|0;b[v+8>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=p+o|0;b[v+2>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=m-s|0;b[v+10>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=s+m|0;b[v+4>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=o-p|0;b[v+12>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=u+q|0;b[v+6>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=t-n|0;b[v+14>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535}else{b[v>>1]=0;b[v+2>>1]=0;b[v+4>>1]=0;b[v+6>>1]=0;b[v+8>>1]=0;b[v+10>>1]=0;b[v+12>>1]=0;b[v+14>>1]=0}w=w+1|0;if(w>>>0>=x>>>0)break;else{e=e+2|0;v=v+16|0;l=l>>1}}c[ea>>2]=n;c[U>>2]=p;c[Z>>2]=s;c[ca>>2]=u;c[ia>>2]=t;c[fa>>2]=q;c[ga>>2]=o;c[ha>>2]=m;N=b[16848]|0;if(da){l=b[16849]|0;n=b[16832]|0;o=b[16833]|0;p=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=ea+4|0;v=b[16842]|0;w=b[16858]|0;x=ea+8|0;y=b[16843]|0;z=b[16859]|0;A=ea+12|0;e=0;m=f;while(1){i=b[m+16>>1]|0;ca=b[m+48>>1]|0;f=(r(ca,q)|0)+(r(i,p)|0)|0;c[ea>>2]=f;c[u>>2]=(r(ca,t)|0)+(r(i,s)|0);c[x>>2]=(r(ca,w)|0)+(r(i,v)|0);c[A>>2]=(r(ca,z)|0)+(r(i,y)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;i=r(l,i)|0;da=b[m>>1]|0;ba=r(da,n)|0;da=r(o,da)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}else{l=b[16880]|0;n=b[16849]|0;o=b[16881]|0;p=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=ea+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=ea+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=ea+12|0;e=0;m=f;while(1){da=b[m+16>>1]|0;ba=b[m+48>>1]|0;ca=b[m+80>>1]|0;i=b[m+112>>1]|0;f=(r(ba,v)|0)+(r(da,u)|0)+(r(ca,w)|0)+(r(i,x)|0)|0;c[ea>>2]=f;c[C>>2]=(r(ba,z)|0)+(r(da,y)|0)+(r(ca,A)|0)+(r(i,B)|0);c[H>>2]=(r(ba,E)|0)+(r(da,D)|0)+(r(ca,F)|0)+(r(i,G)|0);c[M>>2]=(r(ba,J)|0)+(r(da,I)|0)+(r(ca,K)|0)+(r(i,L)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;da=b[m+96>>1]|0;ca=(r(da,l)|0)+ca|0;i=(r(o,da)|0)+(r(n,i)|0)|0;da=b[m>>1]|0;ba=r(da,p)|0;ka=b[m+64>>1]|0;ba=(r(ka,q)|0)+ba|0;da=(r(t,ka)|0)+(r(s,da)|0)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}}function te(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+2|0;l=e+2|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+4|0;l=e+4|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+6|0;k=e+6|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function ue(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function ve(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function we(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0;if((f+-1|0)>>>0>=3)J(41271,41295,117,41328);G=(k|0)==0;H=(l|0)==0;if(!(l|k))J(41350,41295,118,41328);F=g+1+h>>1;o=F+(i<<1)|0;o=(o|0)>0?o:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;o=c[25472+(((o|0)<51?o:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;w=a[b+2>>0]|0;v=a[b+1>>0]|0;u=a[b>>0]|0;f=u&255;p=(w&255)-((v&255)<<1)+f|0;p=(p|0)>0?p:0-p|0;D=e*3|0;k=b+D|0;l=d[k>>0]|0;E=(d[b+(D+2)>>0]|0)-((d[b+(D+1)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;t=a[b+-3>>0]|0;s=a[b+-2>>0]|0;q=a[b+-1>>0]|0;g=q&255;n=(t&255)-((s&255)<<1)+g|0;n=(n|0)>0?n:0-n|0;m=d[b+(D+-1)>>0]|0;D=(d[b+(D+-3)>>0]|0)-((d[b+(D+-2)>>0]|0)<<1)+m|0;D=(D|0)>0?D:0-D|0;h=n+p|0;i=D+E|0;n=D+n|0;p=E+p|0;if((i+h|0)>=(o|0))return;j=o>>2;if((h<<1|0)<(j|0)?(E=(d[b+3>>0]|0)-f|0,D=g-(d[b+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){g=f-g|0;g=(((g|0)>0?g:0-g|0)|0)<((F*5|0)+1>>1|0)&1}else g=0;if((i<<1|0)<(j|0)?(E=(d[k+3>>0]|0)-l|0,D=m-(d[k+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){f=l-m|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0;E=(g|0)==1&f;x=(o>>1)+o>>3;C=(F|0)>1;D=(n|0)<(x|0)&C;C=(p|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;h=q;i=s;j=t;k=u;l=v;m=w;while(1){v=b+-1|0;q=h&255;u=b+-2|0;g=i&255;t=b+-3|0;i=j&255;o=k&255;s=b+1|0;n=l&255;p=b+2|0;k=m&255;if(!E){h=((o-q|0)*9|0)+8+(r(n-g|0,-3)|0)>>4;if((((h|0)>0?h:0-h|0)|0)<(y|0)){j=(h|0)>(F|0)?F:(h|0)<(z|0)?z:h;h=j+q|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255;l=o-j|0;l=(l|0)>0?l:0;l=(l|0)<255?l:255;if(D){w=((q+1+i|0)>>>1)-g+j>>1;g=((w|0)>(A|0)?A:(w|0)<(B|0)?B:w)+g|0;g=(g|0)>0?g:0;g=(g|0)<255?g:255}if(C){m=((k+o+1|0)>>>1)-n-j>>1;m=((m|0)>(A|0)?A:(m|0)<(B|0)?B:m)+n|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;j=l}else{m=n;j=l}}else{m=n;j=o;h=q}}else{h=o<<1;w=(q<<1)+4|0;j=w+g+h+k+(n<<1)>>3;L=x+o|0;K=o-x|0;l=o+q|0;m=(l+2+n+k|0)>>>2;N=x+n|0;M=n-x|0;O=(l+4+n+(k*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;P=x+k|0;k=k-x|0;h=w+(g<<1)+i+n+h>>3;n=x+q|0;o=q-x|0;l=l+g|0;w=(i+2+l|0)>>>2;q=x+g|0;g=g-x|0;l=((i*3|0)+4+l+((d[b+-4>>0]|0)<<1)|0)>>>3;I=x+i|0;i=i-x|0;k=(O|0)>(P|0)?P:(O|0)<(k|0)?k:O;m=(m|0)>(N|0)?N:(m|0)<(M|0)?M:m;j=(j|0)>(L|0)?L:(j|0)<(K|0)?K:j;i=(l|0)>(I|0)?I:(l|0)<(i|0)?i:l;h=(h|0)>(n|0)?n:(h|0)<(o|0)?o:h;g=(w|0)>(q|0)?q:(w|0)<(g|0)?g:w}if(!G){a[t>>0]=i;a[u>>0]=g;a[v>>0]=h}if(!H){a[b>>0]=j;a[s>>0]=m;a[p>>0]=k}g=b+e|0;f=f+1|0;if((f|0)==4)break;b=g;h=a[g+-1>>0]|0;i=a[g+-2>>0]|0;j=a[g+-3>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=a[g+2>>0]|0}return}function xe(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((f|0)<=0)J(41383,41295,354,41394);M=(k|0)==0;N=(l|0)==0;if(!(l|k))J(41350,41295,355,41394);F=g+1+h>>1;n=F+(i<<1)|0;n=(n|0)>0?n:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;n=c[25472+(((n|0)<51?n:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;G=e<<1;v=a[b+G>>0]|0;u=a[b+e>>0]|0;t=a[b>>0]|0;g=t&255;o=(v&255)-((u&255)<<1)+g|0;o=(o|0)>0?o:0-o|0;k=b+3|0;l=d[k>>0]|0;E=(d[b+(G+3)>>0]|0)-((d[b+(e+3)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;H=r(e,-3)|0;s=a[b+H>>0]|0;I=r(e,-2)|0;q=a[b+I>>0]|0;K=0-e|0;p=a[b+K>>0]|0;h=p&255;m=(s&255)-((q&255)<<1)+h|0;m=(m|0)>0?m:0-m|0;L=e*3|0;D=(d[b+(3-L)>>0]|0)-((d[b+(3-G)>>0]|0)<<1)+(d[b+(3-e)>>0]|0)|0;D=(D|0)>0?D:0-D|0;f=m+o|0;i=D+E|0;m=D+m|0;o=E+o|0;if((i+f|0)>=(n|0))return;j=n>>2;if((f<<1|0)<(j|0)?(E=(d[b+L>>0]|0)-g|0,D=h-(d[b+(r(e,-4)|0)>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)):0){h=g-h|0;h=(((h|0)>0?h:0-h|0)|0)<((F*5|0)+1>>1|0)&1}else h=0;if((i<<1|0)<(j|0)){E=(d[k+L>>0]|0)-l|0;f=d[k+K>>0]|0;g=r(e,-4)|0;D=f-(d[k+g>>0]|0)|0;if((((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)){f=l-f|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0}else{f=0;g=r(e,-4)|0}E=(h|0)==1&f;x=(n>>1)+n>>3;C=(F|0)>1;D=(m|0)<(x|0)&C;C=(o|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;i=p;j=q;k=s;l=t;m=u;n=v;while(1){w=b+K|0;s=i&255;v=b+I|0;h=j&255;u=b+H|0;j=k&255;p=l&255;t=b+e|0;o=m&255;q=b+G|0;l=n&255;if(!E){i=((p-s|0)*9|0)+8+(r(o-h|0,-3)|0)>>4;if((((i|0)>0?i:0-i|0)|0)<(y|0)){k=(i|0)>(F|0)?F:(i|0)<(z|0)?z:i;i=k+s|0;i=(i|0)>0?i:0;i=(i|0)<255?i:255;m=p-k|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;if(D){s=((s+1+j|0)>>>1)-h+k>>1;h=((s|0)>(A|0)?A:(s|0)<(B|0)?B:s)+h|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}if(C){n=((l+p+1|0)>>>1)-o-k>>1;n=((n|0)>(A|0)?A:(n|0)<(B|0)?B:n)+o|0;n=(n|0)>0?n:0;n=(n|0)<255?n:255;k=m}else{n=o;k=m}}else{n=o;k=p;i=s}}else{i=p<<1;m=(s<<1)+4|0;k=m+h+i+l+(o<<1)>>3;R=x+p|0;Q=p-x|0;O=p+s|0;n=(O+2+o+l|0)>>>2;T=x+o|0;S=o-x|0;U=(O+4+o+(l*3|0)+((d[b+L>>0]|0)<<1)|0)>>>3;V=x+l|0;l=l-x|0;i=m+(h<<1)+j+o+i>>3;m=x+s|0;o=s-x|0;O=O+h|0;s=(j+2+O|0)>>>2;p=x+h|0;h=h-x|0;O=((j*3|0)+4+O+((d[b+g>>0]|0)<<1)|0)>>>3;P=x+j|0;j=j-x|0;l=(U|0)>(V|0)?V:(U|0)<(l|0)?l:U;n=(n|0)>(T|0)?T:(n|0)<(S|0)?S:n;k=(k|0)>(R|0)?R:(k|0)<(Q|0)?Q:k;j=(O|0)>(P|0)?P:(O|0)<(j|0)?j:O;i=(i|0)>(m|0)?m:(i|0)<(o|0)?o:i;h=(s|0)>(p|0)?p:(s|0)<(h|0)?h:s}if(!M){a[u>>0]=j;a[v>>0]=h;a[w>>0]=i}if(!N){a[b>>0]=k;a[t>>0]=n;a[q>>0]=l}h=b+1|0;f=f+1|0;if((f|0)==4)break;b=h;i=a[h+K>>0]|0;j=a[h+I>>0]|0;k=a[h+H>>0]|0;l=a[h>>0]|0;m=a[h+e>>0]|0;n=a[h+G>>0]|0}return}function ye(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=(k|0)==0;o=(l|0)==0;if(!(l|k))J(41350,41295,611,41416);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;h=0-i|0;n=0-j|0;f=d[b>>0]|0;l=b+-2|0;g=d[l>>0]|0;k=(d[b+-4>>0]|0)+4+(f-g<<2)-(d[b+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;m=d[f>>0]|0;k=(d[b+-3>>0]|0)+4+(m-(d[b+-1>>0]|0)<<2)-(d[b+3>>0]|0)>>3;k=m-((k|0)>(j|0)?j:(k|0)<(n|0)?n:k)|0;k=(k|0)>0?k:0;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}g=b+e|0;f=d[g>>0]|0;k=(d[g+-4>>0]|0)+4+(f-(d[g+-2>>0]|0)<<2)-(d[g+2>>0]|0)>>3;k=f-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;f=g+1|0;b=d[f>>0]|0;l=(d[g+-3>>0]|0)+4+(b-(d[g+-1>>0]|0)<<2)-(d[g+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[g>>0]=(k|0)<255?k:255;a[f>>0]=(l|0)<255?l:255}f=g+e|0;g=d[f>>0]|0;k=(d[f+-4>>0]|0)+4+(g-(d[f+-2>>0]|0)<<2)-(d[f+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=f+1|0;b=d[g>>0]|0;l=(d[f+-3>>0]|0)+4+(b-(d[f+-1>>0]|0)<<2)-(d[f+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;k=(d[l+-4>>0]|0)+4+(g-(d[l+-2>>0]|0)<<2)-(d[l+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=l+1|0;e=d[g>>0]|0;f=(d[l+-3>>0]|0)+4+(e-(d[l+-1>>0]|0)<<2)-(d[l+3>>0]|0)>>3;f=e-((f|0)>(j|0)?j:(f|0)<(n|0)?n:f)|0;f=(f|0)>0?f:0;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}else{q=k+g|0;q=(q|0)>0?q:0;g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;r=d[f>>0]|0;m=b+-1|0;p=d[m>>0]|0;k=(d[b+-3>>0]|0)+4+(r-p<<2)-(d[b+3>>0]|0)>>3;k=(k|0)>(j|0)?j:(k|0)<(n|0)?n:k;p=k+p|0;p=(p|0)>0?p:0;k=r-k|0;k=(k|0)>0?k:0;a[l>>0]=(q|0)<255?q:255;a[m>>0]=(p|0)<255?p:255;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}f=b+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}f=f+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;p=l+-2|0;e=d[p>>0]|0;k=(d[l+-4>>0]|0)+4+(g-e<<2)-(d[l+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;e=k+e|0;e=(e|0)>0?e:0;k=g-k|0;k=(k|0)>0?k:0;g=l+1|0;b=d[g>>0]|0;r=l+-1|0;q=d[r>>0]|0;f=(d[l+-3>>0]|0)+4+(b-q<<2)-(d[l+3>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(n|0)?n:f;q=f+q|0;q=(q|0)>0?q:0;f=b-f|0;f=(f|0)>0?f:0;a[p>>0]=(e|0)<255?e:255;a[r>>0]=(q|0)<255?q:255;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}}function ze(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;m=(k|0)==0;p=(l|0)==0;if(!(l|k))J(41350,41295,732,41440);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;n=0-e|0;o=r(e,-2)|0;f=d[b>>0]|0;l=b+n|0;g=d[l>>0]|0;k=(d[b+o>>0]|0)+4+(f-g<<2)-(d[b+e>>0]|0)>>3;h=0-i|0;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){f=f-k|0;f=(f|0)>0?f:0;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;m=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(m-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=m-((f|0)>(i|0)?i:(f|0)<(h|0)?h:f)|0;f=(f|0)>0?f:0;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(b-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=b-((f|0)>(j|0)?j:(f|0)<(k|0)?k:f)|0;f=(f|0)>0?f:0;if(p)return;a[g>>0]=(f|0)<255?f:255;return}else{m=k+g|0;m=(m|0)>0?m:0;f=f-k|0;f=(f|0)>0?f:0;a[l>>0]=(m|0)<255?m:255;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;q=d[f>>0]|0;m=f+n|0;l=d[m>>0]|0;g=(d[f+o>>0]|0)+4+(q-l<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;l=g+l|0;l=(l|0)>0?l:0;g=q-g|0;g=(g|0)>0?g:0;a[m>>0]=(l|0)<255?l:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;l=d[g>>0]|0;q=g+n|0;m=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(l-m<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(i|0)?i:(f|0)<(h|0)?h:f;m=f+m|0;m=(m|0)>0?m:0;f=l-f|0;f=(f|0)>0?f:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;q=g+n|0;n=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(b-n<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(k|0)?k:f;e=f+n|0;e=(e|0)>0?e:0;f=b-f|0;f=(f|0)>0?f:0;a[q>>0]=(e|0)<255?e:255;if(p)return;a[g>>0]=(f|0)<255?f:255;return}}function Ae(a){a=a|0;var b=0;c[a>>2]=2147483647;b=0;do{c[a+4+(b<<2)>>2]=2147483647;c[a+260+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=64);return}function Be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((b|0)>63){f=-1;return f|0}f=a+260+(b<<2)|0;if(c[f>>2]|0){f=-1;return f|0}c[f>>2]=e;c[a+4+(b<<2)>>2]=d;f=0;return f|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=2147483647;e=0;h=-1;while(1){f=c[a+4+(e<<2)>>2]|0;g=(f|0)==2147483647|(f|0)>(d|0);h=g?h:e;e=e+1|0;if((e|0)==64)break;else d=g?d:f}c[b>>2]=h;d=a+260+(h<<2)|0;if((h|0)==-1){a=0;return a|0}g=c[d>>2]|0;c[d>>2]=0;c[a+4+(h<<2)>>2]=2147483647;a=g;return a|0}function De(a){a=a|0;Rk(a|0,0,517)|0;return}function Ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+20|0;f=0;do{if((c[b+4+(f<<3)>>2]|0)==(d|0)?a[g>>0]|0:0){h=-1;i=9;break}f=f+1|0}while(f>>>0<64);if((i|0)==9)return h|0;f=0;while(1){if(!(c[b+4+(f<<3)>>2]|0))break;g=f+1|0;if(g>>>0<64)f=g;else{h=-1;i=9;break}}if((i|0)==9)return h|0;i=b+4+(f<<3)|0;c[i>>2]=d;c[b+4+(f<<3)+4>>2]=c[b>>2];a[d+22>>0]=e;a[d+20>>0]=2;c[b>>2]=i;i=b+516|0;a[i>>0]=(a[i>>0]|0)+1<<24>>24;i=0;return i|0}function Fe(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;l=c[b>>2]|0;h=c[l>>2]|0;if((c[h+8>>2]|0)!=(f|0)){n=b+516|0;j=a[n>>0]|0;m=j&255;a:do if((j&255)>1){g=l;i=1;while(1){k=c[g+4>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)==(f|0))break a;i=i+1|0;if(i>>>0<m>>>0)g=k;else{g=k;break}}}else{i=1;g=l}while(0);if((i|0)==(m|0))return;f=g+4|0;k=c[f>>2]|0;g=k+4|0;i=c[g>>2]|0;if((k|0)==(l|0)){f=n;o=9}else{c[f>>2]=i;c[g>>2]=0;l=k;f=n;i=j;h=c[k>>2]|0}}else{g=l+4|0;j=b+516|0;f=j;j=a[j>>0]|0;i=c[g>>2]|0;o=9}if((o|0)==9){c[b>>2]=i;i=j}a[f>>0]=i+-1<<24>>24;ae(e,d[h+22>>0]|0,2)|0;c[g>>2]=0;c[l>>2]=0;return}function Ge(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=2147483647;e=0;h=0;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){j=d-(c[g+8>>2]|0)|0;i=(j|0)>0&(j|0)<(f|0);f=i?j:f;e=i?g:e}h=h+1|0}while((h|0)!=64);if(e|0){j=e;return j|0}h=0;e=0;f=2147483647;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){i=d-(c[g+8>>2]|0)|0;i=(i|0)>0?i:0-i|0;j=(i|0)<(f|0);f=j?i:f;e=j?g:e}h=h+1|0}while((h|0)!=64);return e|0}function He(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=b;b=0;while(1){f=c[e>>2]|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==(d|0))break a;b=b+1|0;if(b>>>0<g>>>0)e=f+4|0;else{e=0;break}}}while(0);return ((b|0)==(g|0)?0:e)|0}function Ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=0;while(1){f=c[b>>2]|0;b=c[f>>2]|0;if((c[b+12>>2]|0)==(d|0))break a;e=e+1|0;if(e>>>0<g>>>0)b=f+4|0;else{b=0;break}}}while(0);return ((e|0)==(g|0)?0:b)|0}function Je(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(!((g|0)>0&(h|0)>0))return;j=0;i=b;f=c;while(1){b=0;do{a[f+b>>0]=a[i+b>>0]|0;b=b+1|0}while((b|0)!=(h|0));j=j+1|0;if((j|0)==(g|0))break;else{i=i+d|0;f=f+e|0}}return}function Ke(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((h|0)>0&(i|0)>0))return;s=g+1|0;l=g+2|0;m=g+3|0;n=g+4|0;o=g+5|0;p=g+6|0;q=g+7|0;k=0;while(1){j=0;do{u=r(d[b+(j+-3)>>0]|0,a[g>>0]|0)|0;u=(r(d[b+(j+-2)>>0]|0,a[s>>0]|0)|0)+u|0;u=(r(d[b+(j+-1)>>0]|0,a[l>>0]|0)|0)+u|0;u=(r(d[b+j>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[b+(j+1)>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[b+(j+2)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[b+(j+3)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[b+(j+4)>>0]|0,a[q>>0]|0)|0)+(u&65535)|0;t=(u<<16>>16)+32>>6;a[c+j>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Le(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(d[b+(x+j)>>0]|0,a[g>>0]|0)|0;z=(r(d[b+(m+j)>>0]|0,a[l>>0]|0)|0)+z|0;z=(r(d[b+(j-e)>>0]|0,a[n>>0]|0)|0)+z|0;z=(r(d[b+j>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[b+(j+e)>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[b+(s+j)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[b+(u+j)>>0]|0,a[t>>0]|0)|0)+z|0;z=(r(d[b+(w+j)>>0]|0,a[v>>0]|0)|0)+(z&65535)|0;y=(z<<16>>16)+32>>6;a[c+j>>0]=(z&65535)<<16>>16>16351?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Me(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if(!((h|0)>0&(i|0)>0))return;k=0;j=a;g=c;while(1){a=0;do{b[g+(a<<1)>>1]=(d[j+a>>0]|0)<<6;a=a+1|0}while((a|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{j=j+e|0;g=g+(f<<1)|0}}return}function Ne(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((i|0)>0&(j|0)>0))return;t=h+1|0;m=h+2|0;n=h+3|0;o=h+4|0;p=h+5|0;q=h+6|0;s=h+7|0;l=0;while(1){k=0;do{u=r(d[c+(k+-3)>>0]|0,a[h>>0]|0)|0;u=(r(d[c+(k+-2)>>0]|0,a[t>>0]|0)|0)+u|0;u=(r(d[c+(k+-1)>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[c+k>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[c+(k+1)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[c+(k+2)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[c+(k+3)>>0]|0,a[q>>0]|0)|0)+u|0;b[e+(k<<1)>>1]=(r(d[c+(k+4)>>0]|0,a[s>>0]|0)|0)+u;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Oe(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((i|0)>0&(j|0)>0))return;y=r(f,-3)|0;m=h+1|0;n=r(f,-2)|0;o=h+2|0;p=h+3|0;q=h+4|0;s=h+5|0;t=f<<1;u=h+6|0;v=f*3|0;w=h+7|0;x=f<<2;l=0;while(1){k=0;do{z=r(d[c+(y+k)>>0]|0,a[h>>0]|0)|0;z=(r(d[c+(n+k)>>0]|0,a[m>>0]|0)|0)+z|0;z=(r(d[c+(k-f)>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[c+k>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[c+(k+f)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[c+(t+k)>>0]|0,a[s>>0]|0)|0)+z|0;z=(r(d[c+(v+k)>>0]|0,a[u>>0]|0)|0)+z|0;b[e+(k<<1)>>1]=(r(d[c+(x+k)>>0]|0,a[w>>0]|0)|0)+z;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Pe(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;z=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+z|0;z=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+z|0;z=(r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+z|0;y=(z>>6)+32>>6;a[d+j>>0]=(z|0)>1046527?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Qe(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{y=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;y=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+y|0;y=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+y|0;y=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+y|0;y=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+y|0;y=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+y|0;b[d+(j<<1)>>1]=(((r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+y|0)>>>6)+57344;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Re(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((g|0)<=0)return;j=h<<1;if((h|0)<=0)return;i=0;f=c;while(1){h=0;do{a[f+h>>0]=a[b+h>>0]|0;h=h+1|0}while((h|0)<(j|0));i=i+1|0;if((i|0)==(g|0))break;else{b=b+d|0;f=f+e|0}}return}function Se(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|0)<=0)return;n=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;j=0;while(1){i=0;do{o=i|1;q=a[g>>0]|0;u=r(d[b+(i+-2)>>0]|0,q)|0;q=r(d[b+(o+-2)>>0]|0,q)|0;t=a[k>>0]|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+o>>0]|0,t)|0)+q|0;t=a[l>>0]|0;s=i;i=i+2|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+(o+2)>>0]|0,t)|0)+q|0;t=a[m>>0]|0;u=(r(d[b+(s+4)>>0]|0,t)|0)+(u&65535)|0;q=(r(d[b+(o+4)>>0]|0,t)|0)+(q&65535)|0;t=(u<<16>>16)+32>>6;p=(q<<16>>16)+32>>6;a[c+s>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;a[c+o>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255}while((i|0)<(n|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Te(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(d[b+(i-e)>>0]|0,a[g>>0]|0)|0;q=(r(d[b+i>>0]|0,a[k>>0]|0)|0)+q|0;q=(r(d[b+(i+e)>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[b+(n+i)>>0]|0,a[m>>0]|0)|0)+(q&65535)|0;p=(q<<16>>16)+32>>6;a[c+i>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Ue(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((h|0)<=0)return;k=i<<1;if((i|0)<=0)return;j=0;g=c;while(1){i=0;do{b[g+(i<<1)>>1]=(d[a+i>>0]|0)<<6;i=i+1|0}while((i|0)<(k|0));j=j+1|0;if((j|0)==(h|0))break;else{a=a+e|0;g=g+(f<<1)|0}}return}function Ve(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((i|0)<=0)return;o=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;k=0;while(1){j=0;do{p=j|1;q=a[h>>0]|0;t=r(d[c+(j+-2)>>0]|0,q)|0;q=r(d[c+(p+-2)>>0]|0,q)|0;u=a[l>>0]|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+p>>0]|0,u)|0)+q|0;u=a[m>>0]|0;s=j;j=j+2|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+(p+2)>>0]|0,u)|0)+q|0;u=a[n>>0]|0;t=(r(d[c+(s+4)>>0]|0,u)|0)+t|0;q=(r(d[c+(p+4)>>0]|0,u)|0)+q&65535;b[e+(s<<1)>>1]=t;b[e+(p<<1)>>1]=q}while((j|0)<(o|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function We(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((i|0)<=0)return;p=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;o=f<<1;k=0;while(1){j=0;do{q=r(d[c+(j-f)>>0]|0,a[h>>0]|0)|0;q=(r(d[c+j>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[c+(j+f)>>0]|0,a[m>>0]|0)|0)+q|0;b[e+(j<<1)>>1]=(r(d[c+(o+j)>>0]|0,a[n>>0]|0)|0)+q;j=j+1|0}while((j|0)<(p|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Xe(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;q=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+q|0;q=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+q|0;q=(r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+q|0;p=(q>>6)+32>>6;a[d+i>>0]=(q|0)>1046527?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Ye(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{p=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;p=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+p|0;p=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+p|0;b[d+(i<<1)>>1]=((r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+p|0)>>>6;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ze(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=f<<1;a:do if((g|0)>=78796)if((g|0)<131071){switch(g|0){case 78796:break a;default:{}}J(41464,41541,147,41575)}else{switch(g|0){case 131071:break a;default:{}}J(41464,41541,147,41575)}else{switch(g|0){case 70024:break a;default:{}}J(41464,41541,147,41575)}while(0);g=f+-4|0;switch(g>>>2|g<<30|0){case 0:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;_e(h+e|0,c,f);_e(h+(e+f)|0,c+f|0,f);return}case 1:case 3:case 7:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;ee(h+e|0,c,f);ee(h+(e+f)|0,c+f|0,f);return}default:J(41618,41541,183,41575)}}function _e(a,b,c){a=a|0;b=b|0;c=c|0;Pk(a|0,b|0,c|0)|0;return}function $e(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Sb;Sb=Sb+32|0;t=A;j=g<<2|1;y=g<<1;x=g*3|0;if(!h){if((j|0)<=0){Sb=A;return}Rk(i|0,-128,j|0)|0;Sb=A;return}if((g|0)<9){o=h>>>16&1;l=h&8;p=h>>>7&1;q=h>>>8&1;s=h>>>12&1;v=(o|0)==0;if(v)j=0;else j=a[b>>0]|0;w=i+y|0;a[w>>0]=j;u=(p|0)==0;if(!u){if((g|0)>0){k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}}else af(i+g|0,0,g);l=(l|0)==0;if(!l){if((y|0)>(g|0)){k=y+-1|0;j=g;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else af(i,0,g);k=(q|0)==0;j=y|1;m=i+j|0;if(k)af(m,0,g);else _e(m,d,g);n=(s|0)==0;j=i+(j+g)|0;if(n)af(j,0,g);else _e(j,d+g|0,g);if(l){c[t>>2]=0;c[t+4>>2]=p;c[t+8>>2]=o;c[t+12>>2]=q;c[t+16>>2]=s;if(!p){j=2;while(1)if(!(c[t+(j<<2)>>2]|0))j=j+1|0;else break}else j=1;if(j>>>0<3){j=r(j,g)|0;if((j|0)>0)Rk(i|0,a[i+j>>0]|0,j|0)|0}else{t=r(j+-1|0,g)|0;j=t+1|0;if((t|0)>=0)Rk(i|0,a[i+j>>0]|0,j|0)|0}}if(u)af(i+g|0,a[i+(g+-1)>>0]|0,g);if(v)a[w>>0]=a[i+(y+-1)>>0]|0;if(k)af(m,a[w>>0]|0,g);if(n)af(i+(x+1)|0,a[i+x>>0]|0,g)}switch(g|0){case 16:{k=h&192;m=h>>>2&3|k>>>4;l=h&768;n=h&12288;o=n>>>6|l>>>4;p=h&65536;q=o|m|p>>>8;p=(p|0)==0;if(p)j=0;else j=a[b>>0]|0;a[i+y>>0]=j;if(!k)bf(i+16|0,0,16);else{a[i+(y+-1)>>0]=a[e>>0]|0;a[i+(y+-2)>>0]=a[e+f>>0]|0;a[i+(y+-3)>>0]=a[e+(f<<1)>>0]|0;a[i+(y+-4)>>0]=a[e+(f*3|0)>>0]|0;a[i+(y+-5)>>0]=a[e+(f<<2)>>0]|0;a[i+(y+-6)>>0]=a[e+(f*5|0)>>0]|0;a[i+(y+-7)>>0]=a[e+(f*6|0)>>0]|0;a[i+(y+-8)>>0]=a[e+(f*7|0)>>0]|0;a[i+(y+-9)>>0]=a[e+(f<<3)>>0]|0;a[i+(y+-10)>>0]=a[e+(f*9|0)>>0]|0;a[i+(y+-11)>>0]=a[e+(f*10|0)>>0]|0;a[i+(y+-12)>>0]=a[e+(f*11|0)>>0]|0;a[i+(y+-13)>>0]=a[e+(f*12|0)>>0]|0;a[i+(y+-14)>>0]=a[e+(f*13|0)>>0]|0;a[i+(y+-15)>>0]=a[e+(f*14|0)>>0]|0;a[i+(y+-16)>>0]=a[e+(f*15|0)>>0]|0}if(!(h&8))bf(i+8|0,0,8);else{a[i+(y+-17)>>0]=a[e+(f<<4)>>0]|0;a[i+(y+-18)>>0]=a[e+(f*17|0)>>0]|0;a[i+(y+-19)>>0]=a[e+(f*18|0)>>0]|0;a[i+(y+-20)>>0]=a[e+(f*19|0)>>0]|0;a[i+(y+-21)>>0]=a[e+(f*20|0)>>0]|0;a[i+(y+-22)>>0]=a[e+(f*21|0)>>0]|0;a[i+(y+-23)>>0]=a[e+(f*22|0)>>0]|0;a[i+(y+-24)>>0]=a[e+(f*23|0)>>0]|0}if(h&4){if((g|0)>12){k=y+-1|0;j=24;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else bf(i,0,8);j=y|1;k=i+j|0;if(!l)bf(k,0,16);else ee(k,d,16);j=i+(j+16)|0;if(!n)bf(j,0,16);else ee(j,d+16|0,16);j=(Jk(m|0)|0)<<3;j=(m|0)==0?64:j;j=(j|0)==64?32:j;if(!(p&(j|0)==32))if(!j)j=0;else z=64;else{j=((Jk(o>>>4|0)|0)<<3)+33|0;j=(o|0)==0?97:j;z=64}if((z|0)==64){z=~j;z=(z|0)>-2?z:-2;Rk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=65){Sb=A;return}}if(!p){do{k=(j|0)==32;if(!k?(1<<(j>>3)&q|0)==0:0)bf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}l=i+32|0;m=i+31|0;do{k=(j|0)==32;if(!k){if(!(1<<(j>>3)&q))bf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}case 32:{l=h&65536;m=(l|0)!=0;if(m)j=a[b>>0]|0;else j=0;a[i+y>>0]=j;if(!(h&240))bf(i+g|0,0,g);else{k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}if(!(h&8))bf(i+24|0,0,8);else{x=y+-1|0;a[i+(x-g)>>0]=a[e+(r(g,f)|0)>>0]|0;b=g+1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+2|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+3|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+4|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+5|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+6|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+7|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&4))bf(i+16|0,0,8);else{b=g+8|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+9|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+10|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+11|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+12|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+13|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+14|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+15|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&2))bf(i+8|0,0,8);else{b=g+16|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+17|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+18|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+19|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+20|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+21|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+22|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+23|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(h&1){j=g+24|0;if((j|0)<(y|0)){k=y+-1|0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else bf(i,0,8);j=y|1;k=i+j|0;if(!(h&3840))bf(k,0,g);else ee(k,d,g);j=i+(j+g)|0;if(!(h&61440))bf(j,0,g);else ee(j,d+g|0,g);d=h&255;j=(Jk(d|0)|0)<<3;j=(d|0)==0?64:j;if(!((l|0)==0&(j|0)==64))if(!j)j=0;else z=106;else{z=h>>>8&255;j=((Jk(z|0)|0)<<3)+65|0;j=(z|0)==0?129:j;z=106}if((z|0)==106){z=~j;z=(z|0)>-2?z:-2;Rk(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=129){Sb=A;return}}if(m){do{k=(j|0)==64;if(!k?(1<<(j>>3)&h|0)==0:0)bf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}l=i+64|0;m=i+63|0;do{k=(j|0)==64;if(!k){if(!(1<<(j>>3)&h))bf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}default:{Sb=A;return}}}function af(a,b,c){a=a|0;b=b|0;c=c|0;Rk(a|0,b|0,c|0)|0;return}function bf(a,b,c){a=a|0;b=b|0;c=c|0;Rk(a|0,b|0,c|0)|0;return} |
| | | function gh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;ib=Sb;Sb=Sb+96|0;ja=ib+56|0;Ca=ib+48|0;ya=ib+40|0;za=ib+32|0;Da=ib+92|0;ha=ib+90|0;la=ib+88|0;ma=ib+80|0;Ha=ib+72|0;Fa=ib+64|0;ba=ib;Ka=c[f+8>>2]|0;Ga=c[f+124>>2]|0;a[ma>>0]=0;a[Ha>>0]=0;a[Fa>>0]=0;$a=c[f+4>>2]|0;ua=c[f>>2]|0;va=c[f+20>>2]|0;fa=a[$a+4116>>0]|0;ab=fa<<24>>24;bb=1<<ab;gb=c[Ka+20>>2]|0;ra=c[Ka+304>>2]|0;pa=c[f+112>>2]&255;qa=c[f+116>>2]|0;xa=c[f+120>>2]|0;Ya=f+24|0;j=c[Ya>>2]|0;Za=f+28|0;k=c[Za>>2]|0;G=r(k,gb)|0;F=(c[f+36>>2]|0)+(G+j<<ab)|0;G=(c[f+40>>2]|0)+(((G|0)/2|0)+j<<ab)|0;na=(c[f+80>>2]|0)+k|0;Ja=k<<1;Na=(c[f+84>>2]|0)+Ja|0;aa=(c[f+72>>2]|0)+k|0;ca=(c[f+76>>2]|0)+Ja|0;a[la>>0]=a[f+96>>0]|0;ka=(c[f+100>>2]|0)+k|0;Ea=f+104|0;Ja=(c[f+108>>2]|0)+Ja|0;oa=(c[f+88>>2]|0)+j|0;Oa=(c[f+92>>2]|0)+(j<<1)|0;wa=$a+4118|0;H=(c[f+44>>2]|0)+(j*12|0)+((r(k,b[wa>>1]|0)|0)*12|0)|0;l=b[$a>>1]|0;hb=l+63>>6;ia=bb+-8|0;La=8-bb|0;_a=$a+2|0;i=b[_a>>1]|0;E=La-(k<<ab)+i|0;A=La-(j<<ab)+l|0;A=((A|0)<9?A:0)+bb|0;Sa=gb<<3;fb=0-Sa|0;p=F+((j|0)==0?0:-8)+((k|0)==0?0:fb)|0;Ma=f+48|0;n=c[Ma>>2]|0;cb=ab+-3|0;db=hb<<3;j=(j<<cb)+(((j|0)>0)<<31>>31)+(r(db,k<<cb)|0)|0;eb=f+32|0;m=c[eb>>2]|0;D=m+(j>>3)|0;k=((k|0)!=0)<<31>>31;Pa=bb+-1|0;E=Pa+((E|0)<9?E:0)>>3;a:do if((E|0)>(k|0)){B=j&7;C=(1<<(A+7>>3))+-1|0;z=0-A|0;if((A|0)<=0){j=0;while(1){Ia=((c[D+(r(k,hb)|0)>>2]|0)>>>B&C|0)==0;j=Ia?j:1;k=k+1|0;if((k|0)==(E|0)){ta=j;j=l;k=m;break a}}}t=gb<<1;u=gb*3|0;v=gb<<2;w=gb*5|0;x=gb*6|0;y=gb*7|0;l=0;j=p;while(1){i=(c[D+(r(k,hb)|0)>>2]|0)>>>B&C;if(!i)i=n;else{q=A;s=j;while(1){j=Jk(i|0)|0;j=(i|0)==0?31:j;if(!j){l=(i|0)==-1;m=Jk(~i|0)|0;p=l?248:m<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){j=0;do{a[n+j>>0]=a[s+j>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+128)>>0]=a[s+(j+gb)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+256)>>0]=a[s+(j+t)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+384)>>0]=a[s+(j+u)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+512)>>0]=a[s+(j+v)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+640)>>0]=a[s+(j+w)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+768)>>0]=a[s+(j+x)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+896)>>0]=a[s+(j+y)>>0]|0;j=j+1|0}while((j|0)<(p|0))}j=l?31:m}Ia=j<<3;Ba=(q|0)>(Ia|0)?Ia:q;n=n+Ba|0;s=s+Ba|0;q=q-Ia|0;if((q|0)<=0)break;else i=i>>>j}l=1;i=n+z|0;j=s+z|0}k=k+1|0;if((k|0)==(E|0))break;else{n=i+1024|0;j=j+Sa|0}}ta=l;j=b[$a>>1]|0;i=b[_a>>1]|0;k=c[eb>>2]|0}else{ta=0;j=l;k=m}while(0);ea=bb+-16|0;Aa=16-bb|0;A=c[Za>>2]|0;B=Aa+i-(A<<ab)|0;m=c[Ya>>2]|0;x=Aa+j-(m<<ab)|0;x=((x|0)<17?x:0)+bb|0;j=(A|0)==0;n=G+((m|0)==0?0:-16)+(j?0:fb)|0;Ia=f+52|0;l=c[Ia>>2]|0;i=(m<<cb)+(r(A<<cb,db)|0)|0;i=(m|0)>0?i+-2|0:i;A=k+(i>>3)|0;j=j?0:-2;Ba=bb+-9|0;B=Ba+((B|0)<17?B:0)>>3;b:do if((j|0)<(B|0)){y=i&7;z=(1<<(x+7>>3))+-1|0;v=((gb|0)/2|0)<<3;w=0-x|0;if((x|0)<=0){i=0;while(1){sa=((c[A+(r(j,hb)|0)>>2]|0)>>>y&z|0)==0;i=sa?i:1;j=j+1|0;if((j|0)==(B|0)){sa=i;j=m;break b}}}t=gb<<1;u=gb*3|0;m=0;k=n;while(1){i=(c[A+(r(j,hb)|0)>>2]|0)>>>y&z;if(!i)i=l;else{q=x;s=k;while(1){k=Jk(i|0)|0;k=(i|0)==0?31:k;if(!k){m=(i|0)==-1;n=Jk(~i|0)|0;p=m?248:n<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){k=0;do{a[l+k>>0]=a[s+k>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+128)>>0]=a[s+(k+gb)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+256)>>0]=a[s+(k+t)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+384)>>0]=a[s+(k+u)>>0]|0;k=k+1|0}while((k|0)<(p|0))}k=m?31:n}$=k<<3;sa=(q|0)>($|0)?$:q;l=l+sa|0;q=q-$|0;s=s+sa|0;if((q|0)<=0)break;else i=i>>>k}m=1;i=l+w|0;k=s+w|0}j=j+1|0;if((j|0)==(B|0))break;else{l=i+512|0;k=k+v|0}}sa=m;j=c[Ya>>2]|0}else{sa=0;j=m}while(0);if((j|0)>0){M=c[Za>>2]|0;if((M|0)>0){J=M+-1|0;n=b[wa>>1]|0;u=r(J,n)|0;K=j+-1|0;m=qa+(u+K<<1)|0;P=e[m>>1]|0;_=Sa+8|0;X=F+(-8-Sa)|0;$=Sa+16|0;Y=G+(-16-Sa)|0;Z=H+(~n*12|0)|0;x=j<<ab;N=(c[f+60>>2]|0)+x+-8|0;V=(c[f+68>>2]|0)+x+-16|0;y=M<<ab;O=(c[f+56>>2]|0)+y+-8|0;W=(c[f+64>>2]|0)+y+-16|0;do if(!(a[ra+(P*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0){m=0;l=0;break}a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0}else{i=c[Z>>2]|0;k=i&7;if(!k){a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[Z>>2]<<21>>28;a[ma+3>>0]=c[Z>>2]<<17>>28;a[ma+4>>0]=c[Z>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](X,gb,O,N,aa,(c[Z>>2]|0)>>>19&31,ma,8,8);m=0;l=0;break}i=ja;c[i>>2]=-1;c[i+4>>2]=-1;i=ya;c[i>>2]=0;c[i+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=za;c[i>>2]=16843009;c[i+4>>2]=16843009;i=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!i?(a[ua+27>>0]|0)==0:0){k=0;l=0;i=j}else{L=(ia|0)==0;if(L)if((j|0)>1&(M|0)>1){k=M+-2|0;l=j+-2|0}else{k=0;l=0}else{k=J;l=K}if(i){E=b[m>>1]|0;F=E&65535;p=r(k,n)|0;G=b[qa+(K<<1)+(p<<1)>>1]|0;q=G&65535;t=ba+16|0;c[t>>2]=q;c[ba+8>>2]=q;H=b[qa+(u+l<<1)>>1]|0;c[ba>>2]=H&65535;I=b[qa+(u+j<<1)>>1]|0;z=I&65535;m=ba+20|0;c[m>>2]=z;c[ba+4>>2]=z;C=r(M,n)|0;B=b[qa+(C+K<<1)>>1]|0;A=B&65535;i=ba+24|0;c[i>>2]=A;c[ba+12>>2]=A;C=b[qa+(C+j<<1)>>1]|0;D=C&65535;s=ba+28|0;c[s>>2]=D;if(L){if((j|0)==1){c[i>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(j+-2+u<<1)>>1]|0;c[i>>2]=n}if((M|0)==1){c[m>>2]=-1;i=-1;m=-1}else{i=e[qa+(l+1+u<<1)>>1]|0;c[m>>2]=i;m=e[qa+(j+-2+p<<1)>>1]|0}c[t>>2]=m;c[s>>2]=D;w=i;v=m}else{n=A;w=z;v=q}if((x|0)==8){a[za+4>>0]=0;i=0}else i=a[ra+(n*1272|0)+174>>0]|0;u=za+6|0;a[u>>0]=i;t=a[ra+(F*1272|0)+174>>0]|0;s=(y|0)==8?0:t;p=za+5|0;a[p>>0]=s;q=za+4|0;a[q>>0]=s;s=za+2|0;a[s>>0]=t;a[za>>0]=t;t=za+1|0;a[t>>0]=a[ra+(z*1272|0)+174>>0]|0;m=za+3|0;a[m>>0]=a[ra+(A*1272|0)+174>>0]|0;i=za+7|0;a[i>>0]=a[ra+(D*1272|0)+174>>0]|0;if((w|0)>(F|0))a[p>>0]=a[ra+(w*1272|0)+174>>0]|0;a[(H<<16>>16==E<<16>>16?za:ya)>>0]=1;a[(I<<16>>16==E<<16>>16?t:ya+1|0)>>0]=1;a[(G<<16>>16==E<<16>>16?s:ya+2|0)>>0]=1;a[(B<<16>>16==E<<16>>16?m:ya+3|0)>>0]=1;a[((v|0)==(F|0)?q:ya+4|0)>>0]=1;a[((w|0)==(F|0)?p:ya+5|0)>>0]=1;a[((n|0)==(F|0)?u:ya+6|0)>>0]=1;a[(C<<16>>16==E<<16>>16?i:ya+7|0)>>0]=1;bc[c[Ka+12188>>2]&15](ba,0,32)}do if(a[ua+27>>0]|0){i=a[va>>0]|0;v=c[Ya>>2]|0;if((v|0)!=(i&255|0)?(c[Za>>2]|0)!=(d[va+1>>0]|0):0)break;if(i<<24>>24==0?(a[va+1>>0]|0)==0:0)break;if(!(a[ua+33>>0]|0)){z=b[wa>>1]|0;p=r(J,z)|0;A=b[xa+(p+K<<1)>>1]|0;B=A&65535;w=r(k,z)|0;C=b[xa+(K<<1)+(w<<1)>>1]|0;m=C&65535;x=ba+16|0;c[x>>2]=m;c[ba+8>>2]=m;D=b[xa+(p+l<<1)>>1]|0;c[ba>>2]=D&65535;E=b[xa+(p+j<<1)>>1]|0;q=E&65535;s=ba+20|0;c[s>>2]=q;c[ba+4>>2]=q;z=r(M,z)|0;y=b[xa+(z+K<<1)>>1]|0;i=y&65535;n=ba+24|0;c[n>>2]=i;c[ba+12>>2]=i;z=b[xa+(z+j<<1)>>1]|0;t=z&65535;u=ba+28|0;c[u>>2]=t;if(L){if((v|0)==1){c[n>>2]=-1;c[x>>2]=-1;i=-1}else{i=e[xa+(j+-2+p<<1)>>1]|0;c[n>>2]=i}if((c[Za>>2]|0)==1){c[s>>2]=-1;n=-1;j=-1}else{n=e[xa+(l+1+p<<1)>>1]|0;c[s>>2]=n;j=e[xa+(j+-2+w<<1)>>1]|0}c[x>>2]=j;c[u>>2]=t;m=j;j=n}else j=q;if(D<<16>>16!=A<<16>>16){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0}if(E<<16>>16!=A<<16>>16){U=ya+1|0;a[U>>0]=a[U>>0]|1;a[za+1>>0]=0}if(C<<16>>16!=A<<16>>16){U=ya+2|0;a[U>>0]=a[U>>0]|1;a[za+2>>0]=0}if(y<<16>>16!=A<<16>>16){U=ya+3|0;a[U>>0]=a[U>>0]|1;a[za+3>>0]=0}if((m|0)!=(B|0)){U=ya+4|0;a[U>>0]=a[U>>0]|1;a[za+4>>0]=0}if((j|0)!=(B|0)){U=ya+5|0;a[U>>0]=a[U>>0]|1;a[za+5>>0]=0}if((i|0)!=(B|0)){U=ya+6|0;a[U>>0]=a[U>>0]|1;a[za+6>>0]=0}if(z<<16>>16==A<<16>>16)break;U=ya+7|0;a[U>>0]=a[U>>0]|1;a[za+7>>0]=0}}while(0);if((a[ya>>0]|0)!=0&(a[za>>0]|0)==0)a[ja>>0]=0;if(a[ya+1>>0]|0?(a[za+1>>0]|0)==0:0)a[ja+1>>0]=0;if(a[ya+2>>0]|0?(a[za+2>>0]|0)==0:0)a[ja+2>>0]=0;if(a[ya+3>>0]|0?(a[za+3>>0]|0)==0:0)a[ja+3>>0]=0;do if(a[ya+4>>0]|0){if(a[za+4>>0]|0)break;a[ja+4>>0]=0}while(0);do if(a[ya+5>>0]|0){if(a[za+5>>0]|0)break;a[ja+5>>0]=0}while(0);do if(a[ya+6>>0]|0){if(a[za+6>>0]|0)break;a[ja+6>>0]=0}while(0);do if(a[ya+7>>0]|0){if(a[za+7>>0]|0)break;a[ja+7>>0]=0}while(0);i=c[Ya>>2]|0}if((i<<ab|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}i=c[Za>>2]|0;if((i<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[N+8>>0]|0;a[la>>0]=a[O+8>>0]|0;jc[c[Ka+11888+((c[Z>>2]&7)+-2<<2)>>2]&7](X,gb,O,N,aa,Da,la,ja,ma,8,8);m=k}while(0);do if(a[ra+(P*1272|0)+157>>0]|0){U=Z+4|0;i=c[U>>2]|0;j=i&7;if(!j){a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16);break}a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;k=c[Z+8>>2]|0;a[Fa+1>>0]=k<<25>>28;a[Fa+2>>0]=k<<21>>28;a[Fa+3>>0]=k<<17>>28;a[Fa+4>>0]=k<<13>>28;if((j|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](Y,gb,W,V,ca,(c[U>>2]|0)>>>19&31,k>>>19&31,Ha,Fa,16,8);break}else{jc[i&7](Y,gb,W,V,ca,k>>>19&31,(c[U>>2]|0)>>>19&31,Fa,Ha,16,8);break}}j=Ca;c[j>>2]=-1;c[j+4>>2]=-1;j=ya;c[j>>2]=0;c[j+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;j=za;c[j>>2]=16843009;c[j+4>>2]=16843009;j=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!j?(a[ua+27>>0]|0)==0:0)i=c[Ya>>2]|0;else da=104;do if((da|0)==104){n=(ea|0)==0;S=c[Za>>2]|0;if(n){i=c[Ya>>2]|0;if((S|0)>1&(i|0)>1){m=S+-2|0;l=i+-2|0}}else{i=c[Ya>>2]|0;m=S+-1|0;l=i+-1|0}L=i+-1|0;G=S+-1|0;if(j){D=b[wa>>1]|0;p=r(G,D)|0;v=b[qa+(p+L<<1)>>1]|0;w=v&65535;s=r(m,D)|0;x=b[qa+(L<<1)+(s<<1)>>1]|0;k=x&65535;t=ba+16|0;c[t>>2]=k;c[ba+8>>2]=k;y=b[qa+(p+l<<1)>>1]|0;c[ba>>2]=y&65535;z=b[qa+(p+i<<1)>>1]|0;A=z&65535;q=ba+20|0;c[q>>2]=A;c[ba+4>>2]=A;D=r(S,D)|0;B=b[qa+(D+L<<1)>>1]|0;C=B&65535;j=ba+24|0;c[j>>2]=C;c[ba+12>>2]=C;D=b[qa+(D+i<<1)>>1]|0;E=D&65535;u=ba+28|0;c[u>>2]=E;if(n){if((i|0)==1){c[j>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(i+-2+p<<1)>>1]|0;c[j>>2]=n}if((S|0)==1){c[q>>2]=-1;j=-1;k=-1}else{j=e[qa+(l+1+p<<1)>>1]|0;c[q>>2]=j;k=e[qa+(i+-2+s<<1)>>1]|0}c[t>>2]=k;c[u>>2]=E}else{n=C;j=A}if((i<<ab|0)==16){a[za+4>>0]=0;q=0}else q=a[ra+(n*1272|0)+174>>0]|0;p=za+6|0;a[p>>0]=q;F=a[ra+(w*1272|0)+174>>0]|0;if((S<<ab+-1|0)==8){s=0;t=0}else{s=a[ra+(j*1272|0)+174>>0]|0;t=F}M=za+4|0;a[M>>0]=t;R=za+5|0;a[R>>0]=s;J=za+2|0;a[J>>0]=F;a[za>>0]=F;da=a[ra+(A*1272|0)+174>>0]|0;O=za+1|0;a[O>>0]=da;N=a[ra+(C*1272|0)+174>>0]|0;K=za+3|0;a[K>>0]=N;T=a[ra+(E*1272|0)+174>>0]|0;u=za+7|0;a[u>>0]=T;Q=y<<16>>16==v<<16>>16;a[(Q?za:ya)>>0]=1;P=z<<16>>16==v<<16>>16;a[(P?O:ya+1|0)>>0]=1;O=x<<16>>16==v<<16>>16;a[(O?J:ya+2|0)>>0]=1;z=B<<16>>16==v<<16>>16;a[(z?K:ya+3|0)>>0]=1;y=(k|0)==(w|0);a[(y?M:ya+4|0)>>0]=1;x=(j|0)==(w|0);a[(x?R:ya+5|0)>>0]=1;R=(n|0)==(w|0);a[(R?p:ya+6|0)>>0]=1;p=D<<16>>16==v<<16>>16;a[(p?u:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;T=p?1:T;p=(p^1)&1;q=R?1:q;R=(R^1)&1;u=x?1:s;s=(x^1)&1;x=y?1:t;t=(y^1)&1;y=z?1:N;v=(z^1)&1;z=O?1:F;w=(O^1)&1;j=P?1:da;k=(P^1)&1;P=Q?1:F;Q=(Q^1)&1}else{T=1;p=0;q=1;R=0;u=1;s=0;x=1;t=0;y=1;v=0;z=1;w=0;j=1;k=0;P=1;Q=0}do if(a[ua+27>>0]|0){n=a[va>>0]|0;if((i|0)!=(n&255|0)?(S|0)!=(d[va+1>>0]|0):0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(n<<24>>24==0?(a[va+1>>0]|0)==0:0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(!(a[ua+33>>0]|0)){N=b[wa>>1]|0;D=r(G,N)|0;O=b[xa+(D+L<<1)>>1]|0;M=O&65535;E=r(m,N)|0;K=b[xa+(L<<1)+(E<<1)>>1]|0;A=K&65535;H=ba+16|0;c[H>>2]=A;c[ba+8>>2]=A;I=b[xa+(D+l<<1)>>1]|0;c[ba>>2]=I&65535;J=b[xa+(D+i<<1)>>1]|0;B=J&65535;C=ba+20|0;c[C>>2]=B;c[ba+4>>2]=B;N=r(S,N)|0;L=b[xa+(N+L<<1)>>1]|0;n=L&65535;m=ba+24|0;c[m>>2]=n;c[ba+12>>2]=n;N=b[xa+(N+i<<1)>>1]|0;F=N&65535;G=ba+28|0;c[G>>2]=F;if(!ia){if((i|0)==1){c[m>>2]=-1;c[H>>2]=-1;n=-1}else{n=e[xa+(i+-2+D<<1)>>1]|0;c[m>>2]=n}if((S|0)==1){c[C>>2]=-1;m=-1;l=-1}else{m=e[xa+(l+1+D<<1)>>1]|0;c[C>>2]=m;l=e[xa+(i+-2+E<<1)>>1]|0}c[H>>2]=l;c[G>>2]=F;A=l;B=m}if(I<<16>>16==O<<16>>16){l=P;m=Q}else{a[ya>>0]=1;a[za>>0]=0;l=0;m=1}if(J<<16>>16!=O<<16>>16){a[ya+1>>0]=1;a[za+1>>0]=0;j=0;k=1}if(K<<16>>16!=O<<16>>16){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;w=1}if(L<<16>>16!=O<<16>>16){a[ya+3>>0]=1;a[za+3>>0]=0;y=0;v=1}if((A|0)!=(M|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((B|0)!=(M|0)){a[ya+5>>0]=1;a[za+5>>0]=0;u=0;s=1}if((n|0)==(M|0))n=R;else{a[ya+6>>0]=1;a[za+6>>0]=0;q=0;n=1}if(N<<16>>16==O<<16>>16){A=y;y=s;s=n;n=T;break}a[ya+7>>0]=1;a[za+7>>0]=0;A=y;y=s;s=n;p=1;n=0}else{A=y;y=s;s=R;n=T;m=Q;l=P}}else{A=y;y=s;s=R;n=T;m=Q;l=P}while(0);if(m<<24>>24!=0&l<<24>>24==0)a[Ca>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+1>>0]=0;if(w<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(v<<24>>24!=0&A<<24>>24==0)a[Ca+3>>0]=0;if(t<<24>>24!=0&x<<24>>24==0)a[Ca+4>>0]=0;if(y<<24>>24!=0&u<<24>>24==0)a[Ca+5>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+6>>0]=0;if(!(p<<24>>24!=0&n<<24>>24==0))break;a[Ca+7>>0]=0}while(0);if((i<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}j=$a+4120|0;if((i|0)==(b[j>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[V+16>>0]|0;a[Da+1>>0]=a[V+17>>0]|0;a[Ea>>0]=a[W+16>>0]|0;k=f+105|0;a[k>>0]=a[W+17>>0]|0;if(fa<<24>>24==4?(i|0)!=((b[j>>1]|0)+-1|0):0){a[Ea>>0]=a[Y+(Sa+-2)>>0]|0;a[k>>0]=a[Y+(Sa+-1)>>0]|0}i=c[Ka+11904+((c[U>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Ha,Fa,16,8);break}else{kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Fa,Ha,16,8);break}}else{if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16)}while(0);R=X+_|0;Q=Y+$|0;i=Z+(((b[wa>>1]|0)+1|0)*12|0)|0;da=161}else{aa=F;_=G;i=H;da=254}}else{R=F;Q=G;i=H;da=161}do if((da|0)==161){j=c[Za>>2]|0;if((j|0)>0){K=b[wa>>1]|0;G=r(j+-1|0,K)|0;P=c[Ya>>2]|0;G=e[qa+(G+P<<1)>>1]|0;M=b[$a>>1]|0;P=P<<ab;J=La-P+M|0;J=((J|0)<9?J:0)+ia|0;M=Aa-P+M|0;M=((M|0)<17?M:0)+ea|0;H=R+fb|0;N=Q+fb|0;K=0-K|0;O=i+(K*12|0)|0;I=(c[f+60>>2]|0)+P|0;P=(c[f+68>>2]|0)+P|0;L=j<<ab;F=(c[f+56>>2]|0)+L+-8|0;L=(c[f+64>>2]|0)+L+-16|0;do if(J|0){if(!(a[ra+(G*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}j=c[O>>2]|0;k=j&7;if(!k){_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}a[ma+1>>0]=j<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](H,gb,F,I,aa,(c[O>>2]|0)>>>19&31,ma,J,8);break}$=Ka+12188|0;bc[c[$>>2]&15](ja,-1,8);bc[c[$>>2]&15](ya,0,8);bc[c[$>>2]&15](ba,0,32);$=za;c[$>>2]=16843009;c[$+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){j=c[Ya>>2]|0;s=c[Za>>2]|0;n=s+-1|0;q=j+-1|0;m=(j|0)==0;if(m){c[ba>>2]=-1;c[ba+16>>2]=-1;l=b[wa>>1]|0;k=r(n,l)|0;l=r(s,l)|0;E=-1;t=-1}else{E=b[wa>>1]|0;k=r(n,E)|0;t=e[qa+(k+q<<1)>>1]|0;c[ba+16>>2]=t;c[ba>>2]=t;E=r(s,E)|0;l=E;E=e[qa+(E+q<<1)>>1]|0}c[ba+24>>2]=E;x=b[qa+(k+j<<1)>>1]|0;D=x&65535;c[ba+20>>2]=D;c[ba+8>>2]=D;c[ba+4>>2]=D;w=b[qa+(l+j<<1)>>1]|0;k=w&65535;c[ba+28>>2]=k;c[ba+12>>2]=k;if(m){a[za>>0]=0;l=0;v=0;m=a[ra+(D*1272|0)+174>>0]|0}else{m=a[ra+(D*1272|0)+174>>0]|0;a[za>>0]=m;l=a[ra+(E*1272|0)+174>>0]|0;v=m}y=za+4|0;a[y>>0]=v;B=za+6|0;a[B>>0]=l;z=za+5|0;a[z>>0]=m;p=za+2|0;a[p>>0]=m;u=za+1|0;a[u>>0]=m;A=a[ra+(k*1272|0)+174>>0]|0;k=za+3|0;a[k>>0]=A;C=za+7|0;a[C>>0]=A;if((E|0)<(D|0)){a[B>>0]=m;l=m}$=(t|0)==(D|0);t=$?1:v;a[($?za:ya)>>0]=1;a[u>>0]=1;a[p>>0]=1;da=w<<16>>16==x<<16>>16;p=da?1:A;a[(da?k:ya+3|0)>>0]=1;m=$?1:v;a[($?y:ya+4|0)>>0]=1;a[z>>0]=1;k=(E|0)==(D|0);l=k?1:l;a[(k?B:ya+6|0)>>0]=1;k=da?1:A;a[(da?C:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=190;else{x=j;w=p;da=180}}else{j=c[Ya>>2]|0;if(a[ua+27>>0]|0){n=c[Za>>2]|0;x=j;s=n;n=n+-1|0;q=j+-1|0;t=1;w=1;m=1;l=1;k=1;da=180}}do if((da|0)==180){j=a[va>>0]|0;if((x|0)!=(j&255|0)?(s|0)!=(d[va+1>>0]|0):0){p=w;j=x;da=190;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){p=w;j=x;da=190;break}if(!(a[ua+33>>0]|0)){if(!x){c[ba>>2]=-1;c[ba+16>>2]=-1;v=b[wa>>1]|0;j=r(n,v)|0;n=r(s,v)|0;v=-1;p=-1}else{v=b[wa>>1]|0;j=r(n,v)|0;p=e[xa+(j+q<<1)>>1]|0;c[ba+16>>2]=p;c[ba>>2]=p;v=r(s,v)|0;n=v;v=e[xa+(v+q<<1)>>1]|0}c[ba+24>>2]=v;q=b[xa+(j+x<<1)>>1]|0;u=q&65535;c[ba+20>>2]=u;c[ba+8>>2]=u;c[ba+4>>2]=u;j=b[xa+(n+x<<1)>>1]|0;s=j&65535;c[ba+28>>2]=s;c[ba+12>>2]=s;s=(p|0)==(u|0);if(!s){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0;t=0}n=j<<16>>16==q<<16>>16;if(n)p=w;else{p=ya+3|0;a[p>>0]=a[p>>0]|1;a[za+3>>0]=0;p=0}if(!s){m=ya+4|0;a[m>>0]=a[m>>0]|1;a[za+4>>0]=0;m=0}if((v|0)==(u|0))j=l;else{j=ya+6|0;a[j>>0]=a[j>>0]|1;a[za+6>>0]=0;j=0}if(n){l=j;j=x;da=190;break}l=ya+7|0;a[l>>0]=a[l>>0]|1;a[za+7>>0]=0;l=j;k=0;j=x;da=190}else{p=w;j=x;da=190}}while(0);if((da|0)==190){if((a[ya>>0]|0)!=0&t<<24>>24==0)a[ja>>0]=0;if((a[ya+3>>0]|0)!=0&p<<24>>24==0)a[ja+3>>0]=0;if((a[ya+4>>0]|0)!=0&m<<24>>24==0)a[ja+4>>0]=0;if((a[ya+6>>0]|0)!=0&l<<24>>24==0)a[ja+6>>0]=0;if((a[ya+7>>0]|0)!=0&k<<24>>24==0)a[ja+7>>0]=0}if(!j){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-(j<<ab)|0)<=(J|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}j=c[Za>>2]|0;if((j<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((j|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[oa>>0]|0;a[la>>0]=a[R+-1>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](H,gb,F,I,aa,Da,la,ja,ma,J,8)}while(0);do if(M|0){if(!(a[ra+(G*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}H=i+(K*12|0)+4|0;j=c[H>>2]|0;k=j&7;if(!k){$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=j<<21>>28;a[Ha+3>>0]=j<<17>>28;a[Ha+4>>0]=j<<13>>28;j=c[i+(K*12|0)+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](N,gb,L,P,ca,(c[H>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,M,8);break}else{jc[i&7](N,gb,L,P,ca,j>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,M,8);break}}aa=Ca;c[aa>>2]=-1;c[aa+4>>2]=-1;aa=ya;c[aa>>2]=0;c[aa+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;aa=za;c[aa>>2]=16843009;c[aa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;E=c[Za>>2]|0;F=E+-1|0;G=i+-1|0;l=(i|0)==0;j=b[wa>>1]|0;k=r(F,j)|0;if(l){j=r(E,j)|0;y=-1;C=-1}else{C=r(E,j)|0;j=C;y=e[qa+(k+G<<1)>>1]|0;C=e[qa+(C+G<<1)>>1]|0}c[ba+16>>2]=y;c[ba>>2]=y;c[ba+24>>2]=C;q=b[qa+(k+i<<1)>>1]|0;A=q&65535;c[ba+20>>2]=A;c[ba+8>>2]=A;c[ba+4>>2]=A;p=b[qa+(j+i<<1)>>1]|0;j=p&65535;c[ba+28>>2]=j;c[ba+12>>2]=j;if(l){a[za>>0]=0;k=0;s=0;l=a[ra+(A*1272|0)+174>>0]|0}else{l=a[ra+(A*1272|0)+174>>0]|0;a[za>>0]=l;k=a[ra+(C*1272|0)+174>>0]|0;s=l}v=za+4|0;a[v>>0]=s;B=za+6|0;a[B>>0]=k;w=za+5|0;a[w>>0]=l;m=za+2|0;a[m>>0]=l;n=za+1|0;a[n>>0]=l;z=a[ra+(j*1272|0)+174>>0]|0;j=za+3|0;a[j>>0]=z;D=za+7|0;a[D>>0]=z;if((C|0)<(A|0)){a[B>>0]=l;k=l}da=(y|0)==(A|0);x=da?1:s;t=(da^1)&1;a[(da?za:ya)>>0]=1;a[n>>0]=1;a[m>>0]=1;da=p<<16>>16==q<<16>>16;u=da?1:z;q=(da^1)&1;a[(da?j:ya+3|0)>>0]=1;j=(y|0)==(A|0);s=j?1:s;m=(j^1)&1;a[(j?v:ya+4|0)>>0]=1;a[w>>0]=1;j=(C|0)==(A|0);l=j?1:k;n=(j^1)&1;a[(j?B:ya+6|0)>>0]=1;j=da?1:z;k=(da^1)&1;a[(da?D:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=234;else{A=i;v=E;p=F;w=G;z=m;da=224}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){p=c[Za>>2]|0;A=i;v=p;p=p+-1|0;w=i+-1|0;t=0;x=1;q=0;u=1;z=0;s=1;n=0;l=1;k=0;j=1;da=224}}do if((da|0)==224){i=a[va>>0]|0;if((A|0)!=(i&255|0)?(v|0)!=(d[va+1>>0]|0):0){m=z;i=A;da=234;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){m=z;i=A;da=234;break}if(!(a[ua+33>>0]|0)){i=b[wa>>1]|0;m=r(p,i)|0;if(!A){i=r(v,i)|0;v=-1;y=-1}else{y=r(v,i)|0;i=y;v=e[xa+(m+w<<1)>>1]|0;y=e[xa+(y+w<<1)>>1]|0}c[ba+16>>2]=v;c[ba>>2]=v;c[ba+24>>2]=y;m=b[xa+(m+A<<1)>>1]|0;w=m&65535;c[ba+20>>2]=w;c[ba+8>>2]=w;c[ba+4>>2]=w;i=b[xa+(i+A<<1)>>1]|0;da=i&65535;c[ba+28>>2]=da;c[ba+12>>2]=da;if((v|0)!=(w|0)){a[ya>>0]=1;a[za>>0]=0;x=0;t=1}p=i<<16>>16==m<<16>>16;if(!p){a[ya+3>>0]=1;a[za+3>>0]=0;u=0;q=1}if((v|0)==(w|0))m=z;else{a[ya+4>>0]=1;a[za+4>>0]=0;s=0;m=1}if((y|0)==(w|0))i=n;else{a[ya+6>>0]=1;a[za+6>>0]=0;l=0;i=1}if(p){n=i;i=A;da=234;break}a[ya+7>>0]=1;a[za+7>>0]=0;n=i;k=1;j=0;i=A;da=234}else{m=z;i=A;da=234}}while(0);if((da|0)==234){if(t<<24>>24!=0&x<<24>>24==0)a[Ca>>0]=0;if(q<<24>>24!=0&u<<24>>24==0)a[Ca+3>>0]=0;if(m<<24>>24!=0&s<<24>>24==0)a[Ca+4>>0]=0;if(n<<24>>24!=0&l<<24>>24==0)a[Ca+6>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(M|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[Oa>>0]|0;a[Da+1>>0]=a[Oa+1>>0]|0;a[Ea>>0]=a[Q+-2>>0]|0;a[f+105>>0]=a[Q+-1>>0]|0;i=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Ha,Fa,M,8);break}else{kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Fa,Ha,M,8);break}}while(0);i=O+((b[wa>>1]|0)*12|0)|0}j=c[Ya>>2]|0;if((j|0)>0){aa=R;_=Q;M=c[Za>>2]|0;da=254;break}else{n=(bb|0)/2|0;aa=R;_=Q;M=i;p=8-n|0;n=n+-8|0;Q=ab+-1|0;i=f+60|0;k=f+68|0;l=f+56|0;m=f+64|0;J=j;break}}while(0);if((da|0)==254){p=(bb|0)/2|0;n=p+-8|0;L=b[wa>>1]|0;K=r(M,L)|0;I=j+-1|0;J=K+I|0;q=qa+(J<<1)|0;Q=e[q>>1]|0;V=b[_a>>1]|0;N=M<<ab;U=La-N+(V<<16>>16)|0;U=((U|0)<9?U:0)+ia|0;Z=ab+-1|0;p=8-p|0;V=p-(M<<Z)+(((V<<16>>16)/2|0)<<16>>16)|0;V=((V|0)<9?V:0)+n|0;R=aa+-8|0;W=_+-16|0;O=i+-12|0;$=f+60|0;P=j<<ab;S=(c[$>>2]|0)+P+-8|0;ba=f+68|0;X=(c[ba>>2]|0)+P+-16|0;ca=f+56|0;T=(c[ca>>2]|0)+N|0;m=f+64|0;Y=(c[m>>2]|0)+N|0;do if(U|0){if(!(a[ra+(Q*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}k=c[O>>2]|0;l=k&7;if(!l){if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}a[ma+1>>0]=k<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((l|0)==1){hc[c[Ka+12244>>2]&15](R,gb,T,S,na,(c[O>>2]|0)>>>19&31,ma,8,U);break}H=ja;c[H>>2]=-1;c[H+4>>2]=-1;H=ya;c[H>>2]=0;c[H+4>>2]=0;H=za;c[H>>2]=16843009;c[H+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){H=M+-1|0;if(!M){s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;w=0;k=q&65535;l=a[ra+(D*1272|0)+174>>0]|0;C=-1;y=-1}else{y=r(H,L)|0;s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;l=a[ra+(D*1272|0)+174>>0]|0;w=l;k=q&65535;C=e[qa+(y+j<<1)>>1]|0;y=e[qa+(y+I<<1)>>1]|0}x=za+2|0;a[x>>0]=w;z=za+4|0;a[z>>0]=w;F=za+5|0;a[F>>0]=w;E=a[ra+(k*1272|0)+174>>0]|0;k=za+1|0;a[k>>0]=E;t=za+3|0;a[t>>0]=l;G=za+7|0;a[G>>0]=E;if((C|0)>(D|0)){l=a[ra+(C*1272|0)+174>>0]|0;a[F>>0]=l}else l=w;a[za>>0]=1;da=q<<16>>16==s<<16>>16;A=da?1:E;u=(da^1)&1;a[(da?k:ya+1|0)>>0]=1;k=(y|0)==(D|0);B=k?1:w;v=(k^1)&1;a[(k?x:ya+2|0)>>0]=1;a[t>>0]=1;k=(y|0)==(D|0);w=k?1:w;t=(k^1)&1;a[(k?z:ya+4|0)>>0]=1;k=(C|0)==(D|0);q=k?1:l;s=(k^1)&1;a[(k?F:ya+5|0)>>0]=1;a[za+6>>0]=1;k=da?1:E;l=(da^1)&1;a[(da?G:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0))da=280;else{y=H;x=w;C=q;da=272}}else if(a[ua+27>>0]|0){y=M+-1|0;u=0;A=1;v=0;B=1;t=0;x=1;s=0;C=1;l=0;k=1;da=272}do if((da|0)==272){q=a[va>>0]|0;if((j|0)!=(q&255|0)?(M|0)!=(d[va+1>>0]|0):0){w=x;q=C;da=280;break}if(q<<24>>24==0?(a[va+1>>0]|0)==0:0){w=x;q=C;da=280;break}if(!(a[ua+33>>0]|0)){if(!M){q=-1;z=-1}else{z=r(y,L)|0;q=e[xa+(z+I<<1)>>1]|0;z=e[xa+(z+j<<1)>>1]|0}y=b[xa+(J<<1)>>1]|0;w=y&65535;y=(b[xa+(K+j<<1)>>1]|0)==y<<16>>16;if(!y){a[ya+1>>0]=1;a[za+1>>0]=0;A=0;u=1}if((q|0)!=(w|0)){a[ya+2>>0]=1;a[za+2>>0]=0;B=0;v=1}if((q|0)!=(w|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((z|0)==(w|0))q=C;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;s=1}if(y){w=x;da=280}else{a[ya+7>>0]=1;a[za+7>>0]=0;w=x;l=1;k=0;da=280}}else{w=x;q=C;da=280}}while(0);if((da|0)==280){if(u<<24>>24!=0&A<<24>>24==0)a[ja+1>>0]=0;if(v<<24>>24!=0&B<<24>>24==0)a[ja+2>>0]=0;if(t<<24>>24!=0&w<<24>>24==0)a[ja+4>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[ja+5>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+7>>0]=0}if((P|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((j|0)==(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!M){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-N|0)<=(U|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[S+8>>0]|0;a[la>>0]=a[ka>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](R,gb,T,S,na,Da,la,ja,ma,8,U)}while(0);do if(V|0){if(!(a[ra+(Q*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}H=i+-8|0;j=c[H>>2]|0;k=j&7;if(!k){if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=c[H>>2]<<21>>28;a[Ha+3>>0]=c[H>>2]<<17>>28;a[Ha+4>>0]=c[H>>2]<<13>>28;l=i+-4|0;a[Fa+1>>0]=c[l>>2]<<25>>28;a[Fa+2>>0]=c[l>>2]<<21>>28;a[Fa+3>>0]=c[l>>2]<<17>>28;a[Fa+4>>0]=c[l>>2]<<13>>28;if((k|0)==1){j=c[Ka+12248>>2]|0;if(!Ga){jc[j&7](W,gb,Y,X,Na,(c[H>>2]|0)>>>19&31,(c[l>>2]|0)>>>19&31,Ha,Fa,16,V);break}else{jc[j&7](W,gb,Y,X,Na,(c[l>>2]|0)>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,16,V);break}}U=Ca;c[U>>2]=-1;c[U+4>>2]=-1;U=ya;c[U>>2]=0;c[U+4>>2]=0;U=za;c[U>>2]=16843009;c[U+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){k=c[Ya>>2]|0;E=k+-1|0;B=c[Za>>2]|0;C=B+-1|0;l=(B|0)==0;j=b[wa>>1]|0;if(l){y=-1;u=-1}else{u=r(C,j)|0;y=e[qa+(u+k<<1)>>1]|0;u=e[qa+(u+E<<1)>>1]|0}q=r(B,j)|0;j=b[qa+(q+E<<1)>>1]|0;w=j&65535;q=b[qa+(q+k<<1)>>1]|0;if(l)l=0;else l=a[ra+(w*1272|0)+174>>0]|0;s=za+2|0;a[s>>0]=l;t=za+4|0;a[t>>0]=l;x=za+5|0;a[x>>0]=l;if((y|0)>(w|0)){v=a[ra+(y*1272|0)+174>>0]|0;a[x>>0]=v}else v=l;T=a[ra+((q&65535)*1272|0)+174>>0]|0;z=za+1|0;a[z>>0]=T;G=za+3|0;a[G>>0]=a[ra+(w*1272|0)+174>>0]|0;da=za+7|0;a[da>>0]=T;a[za>>0]=1;U=q<<16>>16==j<<16>>16;D=U?1:T;A=(U^1)&1;a[(U?z:ya+1|0)>>0]=1;j=(u|0)==(w|0);z=j?1:l;F=(j^1)&1;a[(j?s:ya+2|0)>>0]=1;a[G>>0]=1;j=(u|0)==(w|0);G=j?1:l;s=(j^1)&1;a[(j?t:ya+4|0)>>0]=1;j=(y|0)==(w|0);q=j?1:v;t=(j^1)&1;a[(j?x:ya+5|0)>>0]=1;a[za+6>>0]=1;j=U?1:T;l=(U^1)&1;a[(U?da:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0)){u=A;y=D;v=F;w=G;da=325}else{u=A;y=D;v=F;D=l;da=317}}else{j=c[Ya>>2]|0;if(!(a[ua+27>>0]|0))k=j;else{C=c[Za>>2]|0;k=j;B=C;C=C+-1|0;E=j+-1|0;u=0;y=1;v=0;z=1;s=0;G=1;t=0;q=1;D=0;j=1;da=317}}do if((da|0)==317){l=a[va>>0]|0;if((k|0)!=(l&255|0)?(B|0)!=(d[va+1>>0]|0):0){w=G;l=D;da=325;break}if(l<<24>>24==0?(a[va+1>>0]|0)==0:0){w=G;l=D;da=325;break}if(!(a[ua+33>>0]|0)){l=b[wa>>1]|0;if(!B){w=-1;A=-1}else{A=r(C,l)|0;w=e[xa+(A+E<<1)>>1]|0;A=e[xa+(A+k<<1)>>1]|0}da=r(B,l)|0;x=b[xa+(da+E<<1)>>1]|0;l=x&65535;x=(b[xa+(da+k<<1)>>1]|0)==x<<16>>16;if(!x){a[ya+1>>0]=1;a[za+1>>0]=0;y=0;u=1}if((w|0)!=(l|0)){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;v=1}if((w|0)==(l|0))w=G;else{a[ya+4>>0]=1;a[za+4>>0]=0;w=0;s=1}if((A|0)==(l|0))l=t;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;l=1}if(x){t=l;l=D;da=325;break}a[ya+7>>0]=1;a[za+7>>0]=0;t=l;l=1;j=0;da=325}else{w=G;l=D;da=325}}while(0);if((da|0)==325){if(u<<24>>24!=0&y<<24>>24==0)a[Ca+1>>0]=0;if(v<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&w<<24>>24==0)a[Ca+4>>0]=0;if(t<<24>>24!=0&q<<24>>24==0)a[Ca+5>>0]=0;if(l<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if((k<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}l=b[wa>>1]|0;if((k|0)==(l|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}j=c[Za>>2]|0;if(!j){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(j<<Z)|0)<=(V|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[X+16>>0]|0;j=Da+1|0;a[j>>0]=a[X+17>>0]|0;a[ha>>0]=a[Ja>>0]|0;a[ha+1>>0]=a[Ja+1>>0]|0;if(fa<<24>>24==4?(ga=16-gb|0,(k|0)!=(l+-1|0)):0){a[Da>>0]=a[W+ga>>0]|0;a[j>>0]=a[W+(ga+1)>>0]|0}j=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Ha,Fa,16,V);break}else{kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Fa,Ha,16,V);break}}while(0);M=i;Q=Z;i=$;k=ba;l=ca;J=c[Ya>>2]|0}R=b[$a>>1]|0;I=J<<ab;L=La-I+R|0;L=((L|0)<9?L:0)+ia|0;R=Aa-I+R|0;R=((R|0)<17?R:0)+ea|0;P=b[_a>>1]|0;F=c[Za>>2]|0;G=F<<ab;K=La+(P<<16>>16)-G|0;K=((K|0)<9?K:0)+ia|0;P=p-(F<<Q)+(((P<<16>>16)/2|0)<<16>>16)|0;P=((P|0)<9?P:0)+n|0;H=(c[i>>2]|0)+I|0;O=(c[k>>2]|0)+I|0;E=(c[l>>2]|0)+G|0;N=(c[m>>2]|0)+G|0;do if((L|0)!=0&(K|0)!=0){if(!(a[(c[f+16>>2]|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}i=c[M>>2]|0;j=i&7;if(!j){j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[M>>2]<<21>>28;a[ma+3>>0]=c[M>>2]<<17>>28;a[ma+4>>0]=c[M>>2]<<13>>28;if((j|0)==1){hc[c[Ka+12244>>2]&15](aa,gb,E,H,na,(c[M>>2]|0)>>>19&31,ma,L,K);break}ia=ja;c[ia>>2]=-1;c[ia+4>>2]=-1;ia=ya;c[ia>>2]=0;c[ia+4>>2]=0;ia=za;c[ia>>2]=16843009;c[ia+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){D=F+-1|0;C=J+-1|0;j=(J|0)==0;if(j)B=-1;else B=e[qa+((r(F,b[wa>>1]|0)|0)+C<<1)>>1]|0;k=(F|0)==0;i=b[wa>>1]|0;if(k){y=-1;w=-1}else{w=r(D,i)|0;y=e[qa+(w+J<<1)>>1]|0;w=e[qa+(w+C<<1)>>1]|0}z=e[qa+((r(F,i)|0)+J<<1)>>1]|0;if(j){a[za+6>>0]=0;a[za>>0]=0;a[za+4>>0]=0;l=0;j=0}else{j=a[ra+(B*1272|0)+174>>0]|0;a[za+6>>0]=j;l=a[ra+(z*1272|0)+174>>0]|0;a[za>>0]=l}i=a[ra+(z*1272|0)+174>>0]|0;s=k?0:i;m=za+2|0;a[m>>0]=s;v=za+4|0;a[v>>0]=s;x=za+5|0;a[x>>0]=s;k=za+1|0;a[k>>0]=i;q=za+3|0;a[q>>0]=i;A=za+7|0;a[A>>0]=i;if((B|0)<(z|0))a[za+6>>0]=i;else i=j;ia=(B|0)==(z|0);t=ia?1:l;n=(ia^1)&1;a[(ia?za:ya)>>0]=1;a[k>>0]=1;ia=(y|0)==(z|0);u=ia?1:s;p=(ia^1)&1;a[(ia?m:ya+2|0)>>0]=1;a[q>>0]=1;ia=(w|0)==(z|0);m=ia?1:s;q=(ia^1)&1;a[(ia?v:ya+4|0)>>0]=1;ia=(y|0)==(z|0);k=ia?1:s;l=(ia^1)&1;a[(ia?x:ya+5|0)>>0]=1;ia=(B|0)==(z|0);i=ia?1:i;j=(ia^1)&1;a[(ia?za:ya)+6>>0]=1;a[A>>0]=1;if(!(a[ua+27>>0]|0))da=380;else{w=C;s=D;y=q;x=m;z=j;da=369}}else if(a[ua+27>>0]|0){w=J+-1|0;s=F+-1|0;n=0;t=1;p=0;u=1;y=0;x=1;l=0;k=1;z=0;i=1;da=369}do if((da|0)==369){j=a[va>>0]|0;if((J|0)!=(j&255|0)?(F|0)!=(d[va+1>>0]|0):0){q=y;m=x;j=z;da=380;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){q=y;m=x;j=z;da=380;break}if(!(a[ua+33>>0]|0)){if(!J)v=-1;else v=e[xa+((r(F,b[wa>>1]|0)|0)+w<<1)>>1]|0;j=b[wa>>1]|0;if(!F){s=-1;m=-1}else{m=r(s,j)|0;s=e[xa+(m+J<<1)>>1]|0;m=e[xa+(m+w<<1)>>1]|0}q=e[xa+((r(F,j)|0)+J<<1)>>1]|0;if((v|0)!=(q|0)){a[ya>>0]=1;a[za>>0]=0;t=0;n=1}if((s|0)!=(q|0)){a[ya+2>>0]=1;a[za+2>>0]=0;u=0;p=1}if((m|0)==(q|0)){m=x;j=y}else{a[ya+4>>0]=1;a[za+4>>0]=0;m=0;j=1}if((s|0)!=(q|0)){a[ya+5>>0]=1;a[za+5>>0]=0;k=0;l=1}if((v|0)==(q|0)){q=j;j=z;da=380}else{a[ya+6>>0]=1;a[za+6>>0]=0;q=j;j=1;i=0;da=380}}else{q=y;m=x;j=z;da=380}}while(0);if((da|0)==380){if(n<<24>>24!=0&t<<24>>24==0)a[ja>>0]=0;if(p<<24>>24!=0&u<<24>>24==0)a[ja+2>>0]=0;if(q<<24>>24!=0&m<<24>>24==0)a[ja+4>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+5>>0]=0;if(j<<24>>24!=0&i<<24>>24==0)a[ja+6>>0]=0}if(!J){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-I|0)<=(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!F){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-G|0)<=(K|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[aa+(L-gb)>>0]|0;ia=r(K,gb)|0;a[la>>0]=a[aa+(ia+-1)>>0]|0;jc[c[Ka+11888+((c[M>>2]&7)+-2<<2)>>2]&7](aa,gb,E,H,na,Da,la,ja,ma,L,K);a[oa>>0]=a[aa+((r(K+-1|0,gb)|0)+L)>>0]|0;a[ka>>0]=a[aa+(L+-1+ia)>>0]|0}while(0);do if((R|0)!=0&(P|0)!=0){if(!(a[(c[f+16>>2]|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ha=r(i,gb)|0;Ja=i<<1;a[N+Ja>>0]=a[_+(j+Ha)>>0]|0;a[N+(Ja|1)>>0]=a[_+(k+Ha)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;break}F=M+4|0;i=c[F>>2]|0;k=i&7;do if(k){a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;j=c[M+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](_,gb,N,O,Na,(c[F>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,R,P);break}else{jc[i&7](_,gb,N,O,Na,j>>>19&31,(c[F>>2]|0)>>>19&31,Fa,Ha,R,P);break}}oa=Ca;c[oa>>2]=-1;c[oa+4>>2]=-1;oa=ya;c[oa>>2]=0;c[oa+4>>2]=0;oa=za;c[oa>>2]=16843009;c[oa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;C=c[Za>>2]|0;E=C+-1|0;D=i+-1|0;k=(i|0)==0;if(k)B=-1;else B=e[qa+((r(C,b[wa>>1]|0)|0)+D<<1)>>1]|0;l=(C|0)==0;j=b[wa>>1]|0;if(l){A=-1;s=-1}else{s=r(E,j)|0;A=e[qa+(s+i<<1)>>1]|0;s=e[qa+(s+D<<1)>>1]|0}z=e[qa+((r(C,j)|0)+i<<1)>>1]|0;if(k){a[za>>0]=0;a[za+4>>0]=0;a[za+6>>0]=0;n=0;m=0}else{m=a[ra+(B*1272|0)+174>>0]&1;a[za+6>>0]=m;n=a[ra+(z*1272|0)+174>>0]&1;a[za>>0]=n}if(l){a[za+2>>0]=0;k=a[ra+(z*1272|0)+174>>0]|0;j=k&1;t=0}else{k=a[ra+(z*1272|0)+174>>0]|0;t=k&1;a[za+2>>0]=t;j=t}w=za+4|0;a[w>>0]=t;x=za+5|0;a[x>>0]=t;l=za+1|0;a[l>>0]=j;q=za+3|0;a[q>>0]=j;y=za+7|0;a[y>>0]=j;if((B|0)<(z|0))a[za+6>>0]=k;else k=m;ra=(B|0)==(z|0);u=ra?1:n;n=(ra^1)&1;a[(ra?za:ya)>>0]=1;a[l>>0]=1;ra=(A|0)==(z|0);v=ra?1:t;p=(ra^1)&1;a[(ra?za:ya)+2>>0]=1;a[q>>0]=1;ra=(s|0)==(z|0);q=ra?1:t;s=(ra^1)&1;a[(ra?w:ya+4|0)>>0]=1;ra=(A|0)==(z|0);l=ra?1:t;m=(ra^1)&1;a[(ra?x:ya+5|0)>>0]=1;ra=(B|0)==(z|0);j=ra?1:k;k=(ra^1)&1;a[(ra?za:ya)+6>>0]=1;a[y>>0]=1;if(!(a[ua+27>>0]|0))da=435;else{B=i;z=C;y=D;t=E;A=s;da=424}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){t=c[Za>>2]|0;B=i;z=t;y=i+-1|0;t=t+-1|0;n=0;u=1;p=0;v=1;A=0;q=1;m=0;l=1;k=0;j=1;da=424}}do if((da|0)==424){i=a[va>>0]|0;if((B|0)!=(i&255|0)?(z|0)!=(d[va+1>>0]|0):0){s=A;i=B;da=435;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){s=A;i=B;da=435;break}if(!(a[ua+33>>0]|0)){if(!B)x=-1;else x=e[xa+((r(z,b[wa>>1]|0)|0)+y<<1)>>1]|0;i=b[wa>>1]|0;if(!z){w=-1;s=-1}else{s=r(t,i)|0;w=e[xa+(s+B<<1)>>1]|0;s=e[xa+(s+y<<1)>>1]|0}t=e[xa+((r(z,i)|0)+B<<1)>>1]|0;if((x|0)!=(t|0)){a[ya>>0]=1;a[za>>0]=0;u=0;n=1}if((w|0)!=(t|0)){a[ya+2>>0]=1;a[za+2>>0]=0;v=0;p=1}if((s|0)==(t|0))i=A;else{a[ya+4>>0]=1;a[za+4>>0]=0;q=0;i=1}if((w|0)!=(t|0)){a[ya+5>>0]=1;a[za+5>>0]=0;l=0;m=1}if((x|0)==(t|0)){s=i;i=B;da=435;break}a[ya+6>>0]=1;a[za+6>>0]=0;s=i;k=1;j=0;i=B;da=435}else{s=A;i=B;da=435}}while(0);if((da|0)==435){if(n<<24>>24!=0&u<<24>>24==0)a[Ca>>0]=0;if(p<<24>>24!=0&v<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+4>>0]=0;if(m<<24>>24!=0&l<<24>>24==0)a[Ca+5>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+6>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(R|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if(!i){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(i<<Q)|0)<=(P|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}i=R-gb|0;a[Da>>0]=a[_+i>>0]|0;a[Da+1>>0]=a[_+(i+1)>>0]|0;i=r(P,gb)|0;a[Ea>>0]=a[_+(i+-2)>>0]|0;a[f+105>>0]=a[_+(i+-1)>>0]|0;i=c[Ka+11904+((c[F>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Ha,Fa,R,P);break}else{kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Fa,Ha,R,P);break}}else{j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ga=r(i,gb)|0;Ha=i<<1;a[N+Ha>>0]=a[_+(j+Ga)>>0]|0;a[N+(Ha|1)>>0]=a[_+(k+Ga)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0}while(0);Na=(r(P+-1|0,gb)|0)+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;Oa=(r(P,gb)|0)+R|0;a[Ja>>0]=a[_+(Oa+-2)>>0]|0;a[Ja+1>>0]=a[_+(Oa+-1)>>0]|0}while(0);if((ta|0?(o=c[Za>>2]|0,Ua=La+(b[_a>>1]|0)-(o<<ab)|0,Qa=c[Ya>>2]|0,Ra=La+(b[$a>>1]|0)-(Qa<<ab)|0,Ra=((Ra|0)<9?Ra:0)+bb|0,h=aa+((Qa|0)==0?0:-8)+((o|0)==0?0:fb)|0,g=c[Ma>>2]|0,Qa=(Qa<<cb)+(r(o<<cb,db)|0)+(((Qa|0)>0)<<31>>31)|0,Ta=(c[eb>>2]|0)+(Qa>>3)|0,o=((o|0)!=0)<<31>>31,Ua=Pa+((Ua|0)<9?Ua:0)>>3,(Ua|0)>(o|0)):0)?(Va=Qa&7,Wa=(1<<(Ra+7>>3))+-1|0,Xa=0-Ra|0,(Ra|0)>0):0){p=gb<<1;q=gb*3|0;s=gb<<2;t=gb*5|0;u=gb*6|0;v=gb*7|0;while(1){i=(c[Ta+(r(o,hb)|0)>>2]|0)>>>Va&Wa;if(i){n=Ra;while(1){j=Jk(i|0)|0;j=(i|0)==0?31:j;if(!j){k=(i|0)==-1;l=Jk(~i|0)|0;m=k?248:l<<3;m=(m|0)<(n|0)?m:n;if((m|0)>0){j=0;do{a[h+j>>0]=a[g+j>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+gb)>>0]=a[g+(j+128)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+p)>>0]=a[g+(j+256)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+q)>>0]=a[g+(j+384)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+s)>>0]=a[g+(j+512)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+t)>>0]=a[g+(j+640)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+u)>>0]=a[g+(j+768)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+v)>>0]=a[g+(j+896)>>0]|0;j=j+1|0}while((j|0)<(m|0))}j=k?31:l}Pa=j<<3;Qa=(n|0)>(Pa|0)?Pa:n;n=n-Pa|0;h=h+Qa|0;g=g+Qa|0;if((n|0)<=0)break;else i=i>>>j}h=h+Xa|0;g=g+Xa|0}o=o+1|0;if((o|0)==(Ua|0))break;else{h=h+Sa|0;g=g+1024|0}}}if(!sa){Sb=ib;return}g=c[Za>>2]|0;w=Aa+(b[_a>>1]|0)-(g<<ab)|0;j=c[Ya>>2]|0;y=Aa+(b[$a>>1]|0)-(j<<ab)|0;y=((y|0)<17?y:0)+bb|0;i=(g|0)==0;g=(j<<cb)+(r(g<<cb,db)|0)|0;g=(j|0)>0?g+-2|0:g;x=(c[eb>>2]|0)+(g>>3)|0;h=i?0:-2;w=Ba+((w|0)<17?w:0)>>3;if((h|0)>=(w|0)){Sb=ib;return}p=g&7;q=(1<<(y+7>>3))+-1|0;s=((gb|0)/2|0)<<3;t=0-y|0;if((y|0)<=0){Sb=ib;return}u=gb<<1;v=gb*3|0;i=_+((j|0)==0?0:-16)+(i?0:fb)|0;o=h;g=c[Ia>>2]|0;while(1){h=(c[x+(r(o,hb)|0)>>2]|0)>>>p&q;if(!h)h=i;else{n=y;m=i;while(1){i=Jk(h|0)|0;i=(h|0)==0?31:i;if(!i){j=(h|0)==-1;k=Jk(~h|0)|0;l=j?248:k<<3;l=(l|0)<(n|0)?l:n;if((l|0)>0){i=0;do{a[m+i>>0]=a[g+i>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+gb)>>0]=a[g+(i+128)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+u)>>0]=a[g+(i+256)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+v)>>0]=a[g+(i+384)>>0]|0;i=i+1|0}while((i|0)<(l|0))}i=j?31:k}eb=i<<3;fb=(n|0)>(eb|0)?eb:n;n=n-eb|0;m=m+fb|0;g=g+fb|0;if((n|0)<=0)break;else h=h>>>i}h=m+t|0;g=g+t|0}o=o+1|0;if((o|0)==(w|0))break;else{i=h+s|0;g=g+512|0}}Sb=ib;return}function hh(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;w=g+3|0;t=1<<g;u=a[h>>0]|0;x=h+2|0;K=a[h+1>>0]|0;v=(K&255)>>>1;c[n>>2]=-1;c[o>>2]=-1;K=(K&1)!=0;if(K)Rk(f|0,0,t<<g<<1|0)|0;if(((l|0)!=0&u<<24>>24==1?(b[x>>1]|0)==0:0)?(b[h+4>>1]|0)==1:0){c[p>>2]=1;if(!m){p=w-k|0;l=(p|0)<1?1>>>(1-p|0):1<<p+-1;if((g|0)==2){g=(w|0)<(k|0)?512:32768;I=0-g|0;J=b[h+6>>1]|0;g=(r(r(c[33600+(j<<2)>>2]|0,b[i>>1]|0)|0,(g|0)>(J|0)?((J|0)<(I|0)?I:J):g+-1|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}else{g=r(b[i>>1]|0,b[h+6>>1]|0)|0;g=(r(g,c[33600+(j<<2)>>2]|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}if(K)p=(p<<16>>16)+16>>5&65535}else{if((g|0)!=31){p=0;do{b[f+(p<<g<<1)>>1]=0;p=p+1|0}while((p|0)<(t|0))}p=b[h+6>>1]|0}b[q>>1]=p;b[f>>1]=p;c[n>>2]=c[n>>2]&-2;c[o>>2]=c[o>>2]&-2;o=h+8|0;return o|0}c[p>>2]=0;if(!K)Rk(f|0,0,t<<g<<1|0)|0;J=u&255;if(!(u<<24>>24)){o=x;return o|0}I=v&255;E=(m|0)==0;F=(g|0)==2;G=w-k|0;H=(G|0)<1?1>>>(1-G|0):1<<G+-1;B=(w|0)<(k|0)?512:32768;C=0-B|0;D=B+-1|0;y=33600+(j<<2)|0;z=(G|0)>0;A=0-G|0;j=0;do{w=e[x>>1]|0;h=w<<2&1020;w=w>>>8<<2;k=f+(w<<g<<1)+(h<<1)|0;t=e[x+2>>1]|0;if(E){l=31;p=0;while(1){q=s(t|0)|0;u=l-q|0;m=d[24800+(I<<4)+u>>0]|0;v=m&3;m=m>>>2;l=b[x+4+(p<<1)>>1]|0;if(F)l=r(r(c[y>>2]|0,b[i+((m+w<<2)+(v|h)<<1)>>1]|0)|0,(B|0)>(l|0)?((l|0)<(C|0)?C:l):D)|0;else{l=r(b[i+((m+w<<g)+(v|h)<<1)>>1]|0,l)|0;l=r(l,c[y>>2]|0)|0}l=l+H|0;l=z?l>>G:l<<A;l=(l|0)>-32768?l:-32768;l=(l|0)<32767?l:32767;p=p+1|0;if(K)l=(l<<16>>16)+16>>5;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=l;t=t<<q<<1;if(!t)break;else l=u+-1|0}}else{l=31;u=0;while(1){q=s(t|0)|0;l=l-q|0;m=d[24800+(I<<4)+l>>0]|0;v=m&3;m=m>>>2;p=u+1|0;u=b[x+4+(u<<1)>>1]|0;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=u;t=t<<q<<1;if(!t)break;else{l=l+-1|0;u=p}}}x=x+4+(p<<1)|0;j=j+1|0}while((j|0)!=(J|0));o=x;return o|0}function ih(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=((h<<16>>16)+63|0)/64|0;z=c[e+44>>2]|0;y=c[f>>2]|0;t=y&15;u=y>>>4&15;l=u+1|0;q=(j|0)/4|0;s=t^31;h=(c[g+(l+q<<2)>>2]|0)>>>s&1;l=(c[g+(l<<2)>>2]|0)>>>s&1;w=c[g+(u<<2)>>2]|0;p=w>>>(30-t|0)&1;q=w>>>(30-q-t|0)&1;s=w>>>s&1;w=c[e+4>>2]|0;t=(r(w,k)|0)+(t<<2)|0;x=c[e+8>>2]|0;u=(r(x,k)|0)+(u<<2)|0;o=c[e+128>>2]|0;m=(j|0)>4?(j|0)/8|0:1;n=(1<<m)+-1|0;if(i<<24>>24){if(!(h<<24>>24))h=0;else{h=t+-1|0;e=o+(r((u+j|0)/8|0,v)|0)+((h|0)/64|0)|0;if((m|0)>0){g=((h|0)/8|0)&7;h=0;f=0;do{h=((d[e+(r(f,v)|0)>>0]|0)>>>g&1)<<f|h&255;f=f+1|0}while((f|0)!=(m|0))}else h=0;h=h&n&255}if(!(l<<24>>24))f=0;else{f=t+-1|0;i=o+(r((u|0)/8|0,v)|0)+((f|0)/64|0)|0;if((m|0)>0){e=((f|0)/8|0)&7;f=0;g=0;do{f=((d[i+(r(g,v)|0)>>0]|0)>>>e&1)<<g|f&255;g=g+1|0}while((g|0)!=(m|0))}else f=0;f=f&n&255}if(!(p<<24>>24))g=0;else g=(d[o+(r((u+-1|0)/8|0,v)|0)+((t|0)/64|0)>>0]|0)>>>(((t|0)/8|0)&7)&n&255;if(!(q<<24>>24))e=0;else{e=t+j|0;e=(d[o+(r((u+-1|0)/8|0,v)|0)+((e|0)/64|0)>>0]|0)>>>(((e|0)/8|0)&7)&n&255}if(!(s<<24>>24))i=0;else{i=t+-1|0;i=(d[o+(r((u+-1|0)/8|0,v)|0)+((i|0)/64|0)>>0]|0)>>>(((i|0)/8|0)&7)<<16&65536}}else{i=s<<24>>24==0?0:65536;e=q<<24>>24==0?0:15;g=p<<24>>24==0?0:15;f=l<<24>>24==0?0:15;h=h<<24>>24==0?0:15}j=(j|0)<8?j:8;v=a[z+4116>>0]|0;u=-4<<(y>>>8&7);w=u-(y<<2&60)+(b[z>>1]|0)-(w<<v)|0;z=u-(y>>>2&60)-(x<<v)+(b[z+2>>1]|0)|0;return (g&255)<<8|i|((1<<((((w|0)>(k|0)?k:w)|0)/(j|0)|0))+255&(e&255))<<12|c[37024+((f&255)<<2)>>2]<<4|c[37024+(((1<<((((z|0)>(k|0)?k:z)|0)/(j|0)|0))+255&(h&255))<<2)>>2]|0}function jh(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;g=(c[d+12>>2]|0)>>>17&3;h=(g|0)==2;i=c[e+12>>2]&393216;f=(i|0)==262144;o=a[d+10>>0]|0;p=a[d+11>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=b[d>>1]|0;t=b[d+2>>1]|0;u=b[d+4>>1]|0;q=b[d+6>>1]|0;m=b[e>>1]|0;r=b[e+2>>1]|0;s=b[e+4>>1]|0;n=b[e+6>>1]|0;if(!(h&f)){if(h|f){u=1;u=u&1;return u|0}e=(g|0)==0;d=(i|0)==0;if((e?o:p)<<24>>24!=(d?j:k)<<24>>24){u=1;u=u&1;return u|0}s=((e?l:u)<<16>>16)-((d?m:s)<<16>>16)|0;u=((e?t:q)<<16>>16)-((d?r:n)<<16>>16)|0;u=(((s|0)>0?s:0-s|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}d=o<<24>>24==j<<24>>24;if(!(d&p<<24>>24==k<<24>>24)?!(p<<24>>24==j<<24>>24?o<<24>>24==k<<24>>24:0):0){u=1;u=u&1;return u|0}e=l<<16>>16;if(o<<24>>24==p<<24>>24){d=m<<16>>16;p=e-d|0;if((((((p|0)>0?p:0-p|0)|0)<=3?(p=(t<<16>>16)-(r<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(u<<16>>16)-(s<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(q<<16>>16)-(n<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0){u=0;u=u&1;return u|0}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>3){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>3){u=1;u=u&1;return u|0}t=(u<<16>>16)-d|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}if(d){p=e-(m<<16>>16)|0;if((((p|0)>0?p:0-p|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(r<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)<4){t=(u<<16>>16)-(s<<16>>16)|0;u=(q<<16>>16)-(n<<16>>16)|0;return ((((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3)&1|0}else{u=1;u=u&1;return u|0}}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>=4){u=1;u=u&1;return u|0}t=(u<<16>>16)-(m<<16>>16)|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}function kh(d,f,g,h,i,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=Sb;Sb=Sb+80|0;J=aa+64|0;K=aa+56|0;R=aa+48|0;L=aa+32|0;y=aa+24|0;S=aa+16|0;Z=aa+8|0;Y=aa;M=c[d+8>>2]|0;A=c[d+24>>2]|0;N=j+12|0;q=c[N>>2]|0;_=q>>>23&1;Q=_+1|0;$=q>>>24&1;T=$+1|0;F=M+876|0;c[J>>2]=F;F=(a[M+76>>0]|0)==1?F:M+1068|0;c[J+4>>2]=F;O=c[M+876+((a[j+8>>0]|0)*12|0)>>2]|0;P=c[F+((a[j+9>>0]|0)*12|0)>>2]|0;U=q<<2&60;V=q>>>2&60;z=q>>>6&60;W=z+4|0;t=q>>>10&60;X=t+4|0;t=c[g+((r(t>>>2,i)|0)<<2)>>2]|0;if((k|0)!=0?(s=c[g+((r(X>>>2,i)|0)<<2)>>2]|0,(c[A+(s<<4)+12>>2]&65536|0)==0):0){c[L>>2]=A+(s<<4);i=1}else i=0;if((l|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(i<<2)>>2]=A+(t<<4);w=i+1|0;g=0}else{w=i;g=1}H=(i|0)!=1&g;c[K>>2]=0;G=K+4|0;c[G>>2]=0;u=(w|0)>0;a:do if(u){i=O+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if((s|0)!=131072){t=c[i>>2]|0;if((t|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=12;break}if(s|0){v=t;I=14}}else{v=c[i>>2]|0;I=14}if((I|0)==14?(I=0,(v|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=16;break}g=g+1|0;if((g|0)>=(w|0)){I=17;break a}}if((I|0)==12){c[K>>2]=1;c[R>>2]=e[k>>1]|e[k+2>>1]<<16;break}else if((I|0)==16){c[K>>2]=1;C=k+4|0;c[R>>2]=e[C>>1]|e[C+2>>1]<<16;break}}else I=17;while(0);if((I|0)==17){oh(J,M,K,O,L,R,w,0);q=c[N>>2]|0}b:do if(q&393216){l=R+4|0;c:do if(u){i=P+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if(s){t=c[i>>2]|0;if((t|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=24;break}if((s|0)!=131072){x=t;I=26}}else{x=c[i>>2]|0;I=26}if((I|0)==26?(I=0,(x|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=27;break}g=g+1|0;if((g|0)>=(w|0))break c}if((I|0)==24){c[G>>2]=1;C=k+4|0;c[l>>2]=e[C>>1]|e[C+2>>1]<<16;break}else if((I|0)==27){c[G>>2]=1;c[l>>2]=e[k>>1]|e[k+2>>1]<<16;break b}}while(0);if(!(c[G>>2]|0)){oh(J,M,G,P,L,l,w,1);q=c[N>>2]|0}}while(0);q=q>>>17&3;g=(q|0)==1&1;q=(q|0)==0&1;if(c[K>>2]|0)if(!_){g=c[R>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=1}else k=1;else k=0;if(c[G>>2]|0)if(!$){q=p+4|0;i=c[R+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=1}else i=1;else i=0;if((g|0)!=0&(q|0)!=0){Sb=aa;return}C=W+U|0;s=r(c[f+(W>>>2<<2)>>2]|0,m)|0;l=r(c[f+(z>>>2<<2)>>2]|0,n)|0;t=r(c[((V|0)==0?f+-4|0:h)>>2]|0,o)|0;if((m|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L>>2]=A+(s<<4);s=1}else s=0;if((n|0)!=0?(c[A+(l<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(l<<4);s=s+1|0}if((o|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(t<<4);c[y>>2]=0;t=y+4|0;c[t>>2]=0;s=s+1|0;z=S;I=48}else{c[y>>2]=0;t=y+4|0;c[t>>2]=0;if((s|0)>0){z=S;I=48}else{f=0;x=0;z=S;s=0}}d:do if((I|0)==48){u=O+8|0;l=0;while(1){v=c[L+(l<<2)>>2]|0;w=c[v+12>>2]&393216;if((w|0)!=131072){x=c[u>>2]|0;if((x|0)==(c[(c[M+876+((a[v+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=52;break}if(w|0){B=x;I=54}}else{B=c[u>>2]|0;I=54}if((I|0)==54?(I=0,(B|0)==(c[(c[F+((a[v+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=55;break}l=l+1|0;if((l|0)>=(s|0)){f=s;x=0;s=1;break d}}if((I|0)==52){c[y>>2]=1;x=e[v>>1]|e[v+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}else if((I|0)==55){c[y>>2]=1;x=v+4|0;x=e[x>>1]|e[x+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}}while(0);e:do if((c[N>>2]&393216|0)!=0?(D=S+4|0,s):0){l=P+8|0;s=0;while(1){u=c[L+(s<<2)>>2]|0;v=c[u+12>>2]&393216;if(v){w=c[l>>2]|0;if((w|0)==(c[(c[F+((a[u+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=63;break}if((v|0)!=131072){E=w;I=65}}else{E=c[l>>2]|0;I=65}if((I|0)==65?(I=0,(E|0)==(c[(c[M+876+((a[u+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=66;break}s=s+1|0;if((s|0)>=(f|0)){l=0;u=0;w=0;break e}}if((I|0)==63){c[t>>2]=1;w=u+4|0;w=e[w>>1]|e[w+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}else if((I|0)==66){c[t>>2]=1;w=e[u>>1]|e[u+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}}else{l=0;u=0;w=0}while(0);v=c[y>>2]|0;do if(v){if((k|0?(b[R>>1]|0)==x<<16>>16:0)?(b[R+2>>1]|0)==(b[S+2>>1]|0):0)break;k=k+1|0;if((Q|0)==(k|0)){g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}}while(0);s=c[t>>2]|0;do if(s){if((i|0?(b[R+4>>1]|0)==l<<16>>16:0)?(b[R+6>>1]|0)==u<<16>>16:0)break;i=i+1|0;if((T|0)==(i|0)){q=p+4|0;b[q>>1]=w;b[q+2>>1]=w>>>16;q=1;i=T}}while(0);do if(!((g|0)!=0&(q|0)!=0)){if(H&(v|0)==1){c[K>>2]=1;c[R>>2]=c[S>>2]}if(H&(s|0)==1){c[G>>2]=1;c[R+4>>2]=w}if(H){c[t>>2]=0;c[y>>2]=0;oh(J,M,y,O,L,z,f,0);if(c[N>>2]&393216|0)oh(J,M,t,P,L,S+4|0,f,1);f:do if(c[y>>2]|0){do if(k|0){if((b[R>>1]|0)!=(b[S>>1]|0))break;if((b[R+2>>1]|0)==(b[S+2>>1]|0))break f}while(0);k=k+1|0;if((Q|0)!=(k|0))break;g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}while(0);g:do if(c[t>>2]|0){do if(i|0){if((b[R+4>>1]|0)!=(b[S+4>>1]|0))break;if((b[R+6>>1]|0)==(b[S+6>>1]|0))break g}while(0);i=i+1|0;if((T|0)!=(i|0))break;q=p+4|0;i=c[S+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=T}while(0);if((g|0)!=0&(q|0)!=0)break;else{f=k;y=i}}else{f=k;y=i}x=(f|0)!=2;z=(y|0)!=2;if(z|x){s=Y;c[s>>2]=0;c[s+4>>2]=0;mh(d,j,Z,Y,1,C,X+V|0);s=c[Y>>2]|0;l=Y+4|0;t=c[l>>2]|0;i=c[Z>>2]|0;u=Z+4|0;k=c[u>>2]|0;w=(s|0)==0;v=(t|0)==0;if(w|v){mh(d,j,Z,Y,1,(W>>>1)+U|0,(X>>>1)+V|0);t=c[l>>2]|t;s=c[Y>>2]|s;k=v?c[u>>2]|0:k;i=w?c[Z>>2]|0:i}if((_|0)==(f|0)&(x&(s|0)!=0)){b[p>>1]=i;b[p+2>>1]=i>>>16;g=1}if(($|0)==(y|0)&(z&(t|0)!=0)){q=p+4|0;b[q>>1]=k;b[q+2>>1]=k>>>16;q=1}if(!((g|0)==0|(q|0)==0))break}if(!g){b[p>>1]=0;b[p+2>>1]=0}if(q|0)break;b[p+4>>1]=0;b[p+6>>1]=0}while(0);Sb=aa;return}function lh(d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Sb;Sb=Sb+96|0;Y=ea;P=ea+88|0;Q=ea+80|0;ca=c[d+8>>2]|0;T=ca+76|0;ba=(a[T>>0]|0)==1?ca+876|0:ca+1068|0;E=a[(c[d>>2]|0)+43>>0]|0;F=m+-1|0;O=n+l|0;v=O+-1|0;H=c[f+((r(v-n>>2,g)|0)<<2)>>2]|0;L=c[d+24>>2]|0;G=L+(H<<4)|0;if(!q)q=0;else q=(c[L+(H<<4)+12>>2]&65536|0)==0;C=m>>E;D=n>>E;da=h+12|0;N=c[da>>2]|0;S=N>>>20&7;aa=S+1|0;a:do if(q?!((C|0)==(F>>E|0)&(D|0)==(v>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 2:case 6:case 7:{A=0;break a}default:{}};c[Y>>2]=c[G>>2];c[Y+4>>2]=c[G+4>>2];c[Y+8>>2]=c[G+8>>2];c[Y+12>>2]=c[G+12>>2];if(!S){c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];c[h+8>>2]=c[Y+8>>2];c[da>>2]=c[Y+12>>2]&393216|N&-393217;Sb=ea;return}else A=1}else A=0;while(0);M=m+k|0;q=M+-1|0;B=n+-1|0;K=c[e+(q-m>>2<<2)>>2]|0;I=L+(K<<4)|0;b:do if(((t|0)!=0?(x=c[L+(K<<4)+12>>2]|0,t=x&65536,w=t>>>16^1,(t|0)==0):0)?!((C|0)==(q>>E|0)&(D|0)==(B>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 1:case 4:case 5:{q=A;w=A;j=0;break b}default:{}}if(A){o=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((o|0)==(x>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(K<<4)+8>>0]|0))q=(Bi(G,I,4)|0)==0&1;else q=0;if(o)R=20}else{q=0;R=20}if((R|0)==20){if((a[L+(H<<4)+9>>0]|0)==(a[L+(K<<4)+9>>0]|0))v=(Bi(L+(H<<4)+4|0,L+(K<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}x=(q|0)==0;q=A+(x&1)|0;if(!x){w=1;j=1;break}}else q=2}else q=w;v=Y+(A<<4)|0;c[v>>2]=c[I>>2];c[v+4>>2]=c[I+4>>2];c[v+8>>2]=c[I+8>>2];c[v+12>>2]=c[I+12>>2];w=A+1|0;if((w|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=c[Y+(A<<4)+12>>2]&393216|N&-393217;Sb=ea;return}else j=1}else{q=A;w=A;j=0}while(0);o=c[e+(k>>2<<2)>>2]|0;i=L+(o<<4)|0;c:do if(((s|0)!=0?(y=c[L+(o<<4)+12>>2]|0,(y&65536|0)==0):0)?!((C|0)==(M>>E|0)&(D|0)==(B>>E|0)):0){do if(j){t=(c[L+(K<<4)+12>>2]|0)>>>17&3;if((t|0)!=(y>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(Bi(I,i,4)|0)==0&1;else v=0;if(t)R=37}else{v=0;R=37}if((R|0)==37){if((a[L+(K<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(Bi(L+(K<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}y=(v|0)==0;q=q+(y&1)|0;if(!y)break c}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);o=c[f+((r(l>>2,g)|0)<<2)>>2]|0;i=L+(o<<4)|0;d:do if(((p|0)!=0?(z=c[L+(o<<4)+12>>2]|0,(z&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(O>>E|0)):0){do if(A){t=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((t|0)!=(z>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(Bi(G,i,4)|0)==0&1;else v=0;if(t)R=54}else{v=0;R=54}if((R|0)==54){if((a[L+(H<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(Bi(L+(H<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}z=(v|0)==0;q=q+(z&1)|0;if(!z)break d}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);t=c[e+-4>>2]|0;i=L+(t<<4)|0;do if(((u|0)!=0?(J=c[L+(t<<4)+12>>2]|0,(J&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(B>>E|0)|(q|0)==4):0){if(!A)q=1;else{o=(c[L+(H<<4)+12>>2]|0)>>>17&3;do if((o|0)==(J>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(Bi(G,i,4)|0)==0&1;else q=0;if(!o)break}else q=0;if((a[L+(H<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(Bi(L+(H<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}else q=0;while(0);q=(q|0)==0}if((j|0)==0|q^1){if(!q)break}else{o=J>>>17&3;if(((c[L+(K<<4)+12>>2]|0)>>>17&3|0)==(o|0)){if((o|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(Bi(I,i,4)|0)==0&1;else q=0;if(o)R=79}else{q=0;R=79}if((R|0)==79){if((a[L+(K<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(Bi(L+(K<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}if(q|0)break}}v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];q=w+1|0;if((q|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=q}while(0);v=Q;c[v>>2]=0;c[v+4>>2]=0;mh(d,h,P,Q,0,M,O);v=c[Q>>2]|0;t=Q+4|0;o=c[t>>2]|0;q=o|v;if(q|0){c[Y+(w<<4)>>2]=c[P>>2];c[Y+(w<<4)+4>>2]=c[P+4>>2]}i=(v|0)==0;j=(o|0)==0;if(i|j){mh(d,h,P,Q,0,(k>>1)+m|0,(l>>1)+n|0);if(i)c[Y+(w<<4)>>2]=c[P>>2];if(j)c[Y+(w<<4)+4>>2]=c[P+4>>2];q=c[Q>>2]|v;R=c[t>>2]|o;o=R;v=q;q=R|q}a[Y+(w<<4)+8>>0]=0;a[Y+(w<<4)+9>>0]=0;R=Y+(w<<4)+12|0;c[R>>2]=c[R>>2]&-393217|((v|0)==0?131072:(o|0)==0?0:262144);q=w+((q|0)!=0&1)|0;if((aa|0)==(q|0)){ca=Y+(S<<4)|0;c[h>>2]=c[ca>>2];c[h+4>>2]=c[ca+4>>2];c[h+8>>2]=c[ca+8>>2];c[da>>2]=c[da>>2]&-393217|c[Y+(S<<4)+12>>2]&393216;Sb=ea;return}i=a[T>>0]|0;e:do if((q+-2|0)>>>0<3&i<<24>>24==0){t=r(q+-1|0,q)|0;if((t|0)<=0){q=aa-q|0;t=a[ca+160>>0]|0;v=q;q=q+-1|0;R=108;break}o=0;while(1){v=c[37184+(o<<2)>>2]|0;if(((c[Y+(v<<4)+12>>2]&393216|0)!=131072?(Z=c[37232+(o<<2)>>2]|0,(c[Y+(Z<<4)+12>>2]&393216|0)!=0):0)?(_=a[Y+(v<<4)+8>>0]|0,$=a[Y+(Z<<4)+9>>0]|0,V=b[Y+(v<<4)>>1]|0,X=b[Y+(v<<4)+2>>1]|0,U=b[Y+(Z<<4)+4>>1]|0,W=b[Y+(Z<<4)+6>>1]|0,!(X<<16>>16==W<<16>>16&(V<<16>>16==U<<16>>16?(c[(c[ca+876+((_<<24>>24)*12|0)>>2]|0)+8>>2]|0)==(c[(c[ba+(($<<24>>24)*12|0)>>2]|0)+8>>2]|0):0))):0){q=q+1|0;if((q|0)==(aa|0))break}o=o+1|0;if(!((q|0)!=5&(o|0)<(t|0))){R=106;break e}}b[h>>1]=V;b[h+2>>1]=X;b[h+4>>1]=U;b[h+6>>1]=W;a[h+8>>0]=_;a[h+9>>0]=$;c[da>>2]=c[da>>2]&-393217|262144;Sb=ea;return}else R=106;while(0);if((R|0)==106){v=aa-q|0;q=v+-1|0;t=a[ca+160>>0]|0;if(i<<24>>24==1){o=0;q=(v|0)>(t<<24>>24|0)?0:q&255;v=c[da>>2]&-393217}else R=108}if((R|0)==108){o=a[ca+161>>0]|0;q=(v|0)>((t<<24>>24<o<<24>>24?t:o)<<24>>24|0)?0:q&255;o=q;v=c[da>>2]&-393217|262144}a[h+8>>0]=q;a[h+9>>0]=o;c[da>>2]=v;c[h>>2]=0;c[h+4>>2]=0;Sb=ea;return}function mh(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,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;u=c[f+4>>2]|0;B=c[f+8>>2]|0;o=(c[g+12>>2]|0)>>>2&60;p=a[u+4116>>0]|0;q=1<<p;C=B+76|0;E=a[C>>0]|0;D=E<<24>>24==1?B+876|0:B+1068|0;if(E<<24>>24==0?(a[B+164>>0]|0)==0:0)m=D+((a[B+165>>0]|0)*12|0)+4|0;else m=B+876+((a[B+165>>0]|0)*12|0)+4|0;E=c[m>>2]|0;m=(q|0)/4|0;n=r(m,m)|0;if(((((o>>>p|0)==(l>>p|0)?(s=c[f+12>>2]|0,((s<<p)+k|0)<(b[u>>1]|0)):0)?(t=c[f+16>>2]|0,((t<<p)+l|0)<(b[u+2>>1]|0)):0)?(x=k&-16,y=l&-16,z=s+(x>>p)|0,A=r(t+(y>>p)|0,b[u+4118>>1]|0)|0,v=A+z|0,w=(c[E+8>>2]|0)+(r(n,v)|0)|0,y=r(m,y>>2)|0,x=(c[(c[E>>2]|0)+(v<<2)>>2]|0)+(d[w+(y+((x|0)==(q|0)?0:x>>2))>>0]|0)|0,y=c[E+4>>2]|0,w=y+(x<<4)|0,v=c[y+(x<<4)+12>>2]|0,(v&65536|0)==0):0)?a[B+158>>0]|0:0){a:do switch(v>>>17&3){case 1:{v=y+(x<<4)+4|0;v=e[v>>1]|e[v+2>>1]<<16;u=a[y+(x<<4)+9>>0]|0;t=u;s=v;n=1;o=1;break}case 0:{v=e[w>>1]|e[w+2>>1]<<16;u=a[y+(x<<4)+8>>0]|0;t=u;s=v;n=0;o=0;break}default:if((a[B+1261>>0]|0)==1){v=y+(x<<4)+4|0;t=a[y+(x<<4)+8>>0]|0;s=e[w>>1]|e[w+2>>1]<<16;n=0;u=a[y+(x<<4)+9>>0]|0;o=1;v=e[v>>1]|e[v+2>>1]<<16;break a}else{o=a[B+164>>0]|0;u=o<<24>>24==0;v=u?w:y+(x<<4)+4|0;u=a[(u?y+(x<<4)+8|0:y+(x<<4)+9|0)>>0]|0;v=e[v>>1]|e[v+2>>1]<<16;o=o<<24>>24;t=u;s=v;n=o;break a}}while(0);if(!j){p=0;m=0}else{p=a[g+9>>0]|0;m=a[g+8>>0]|0}k=c[E+16>>2]|0;l=c[B+84>>2]|0;q=b[(c[E+12>>2]|0)+(z<<1)+(A<<1)>>1]&255;A=(n|0)==0;f=c[(A?E+20+(q<<6)+(t<<2)|0:E+20500+(q<<6)+(t<<2)|0)>>2]|0;n=c[B+876+(m*12|0)>>2]|0;m=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;do if((a[(A?E+16404+(q<<4)+t|0:E+36884+(q<<4)+t|0)>>0]|0)==1^n){c[i>>2]=0;b[h>>1]=0;b[h+2>>1]=0}else{c[i>>2]=1;if(!n?(k-f|0)!=(l-m|0):0){b[h>>1]=s;b[h+2>>1]=s>>>16;if((k|0)==(f|0))break;nh(h,m,f,k,l);break}b[h>>1]=s;b[h+2>>1]=s>>>16}while(0);if(a[C>>0]|0){c[i+4>>2]=0;return}C=(o|0)==0;o=c[(C?E+20+(q<<6)+(u<<2)|0:E+20500+(q<<6)+(u<<2)|0)>>2]|0;n=c[D+(p*12|0)>>2]|0;f=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;m=i+4|0;if((a[(C?E+16404+(q<<4)+u|0:E+36884+(q<<4)+u|0)>>0]|0)==1^n){c[m>>2]=0;b[h+4>>1]=0;b[h+6>>1]=0;return}c[m>>2]=1;if(!n?(k-o|0)!=(l-f|0):0){m=h+4|0;b[m>>1]=v;b[m+2>>1]=v>>>16;if((k|0)==(o|0))return;nh(m,f,o,k,l);return}h=h+4|0;b[h>>1]=v;b[h+2>>1]=v>>>16;return}c[i>>2]=0;c[i+4>>2]=0;i=h;b[i>>1]=0;b[i+2>>1]=0>>>16;h=h+4|0;b[h>>1]=0;b[h+2>>1]=0>>>16;return}function nh(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;e=e-d|0;e=(e|0)>-128?e:-128;e=(e|0)<127?e:127;f=f-c|0;f=(f|0)>-128?f:-128;f=r(((((e|0)>-1?e:0-e|0)>>1)+16384|0)/(e|0)|0,(f|0)<127?f:127)|0;e=f+32>>6;e=(f|0)>262111?4095:(e|0)>-4096?e:-4096;f=a+2|0;d=r(e,b[a>>1]|0)|0;c=(d|0)>-1;d=r((c?d:0-d|0)+127>>8,c?(d|0)!=0&1:-1)|0;e=r(e,b[f>>1]|0)|0;c=(e|0)>-1;e=r((c?e:0-e|0)+127>>8,c?(e|0)!=0&1:-1)|0;d=(d|0)>-32768?d:-32768;b[a>>1]=(d|0)<32767?d:32767;e=(e|0)>-32768?e:-32768;b[f>>1]=(e|0)<32767?e:32767;return}function oh(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;m=(k|0)>0;if(!l){if(!m)return;o=c[d>>2]|0;p=h+20|0;m=d+4|0;l=0;while(1){q=c[i+(l<<2)>>2]|0;n=c[q+12>>2]&393216;s=c[o+((a[q+8>>0]|0)*12|0)>>2]|0;d=s+20|0;if((n|0)!=131072?!((a[d>>0]|0)==1^(a[p>>0]|0)==1):0){l=6;break}v=c[(c[m>>2]|0)+((a[q+9>>0]|0)*12|0)>>2]|0;w=v+20|0;if(n|0?!((a[w>>0]|0)==1^(a[p>>0]|0)==1):0){l=11;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==6){c[g>>2]=1;n=e[q>>1]|e[q+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[d>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[s+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==11){c[g>>2]=1;n=q+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[w>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[v+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}else{if(!m)return;m=c[d+4>>2]|0;n=h+20|0;l=0;while(1){p=c[i+(l<<2)>>2]|0;o=c[p+12>>2]&393216;q=c[m+((a[p+9>>0]|0)*12|0)>>2]|0;s=q+20|0;if(o|0?!((a[s>>0]|0)==1^(a[n>>0]|0)==1):0){l=19;break}t=c[(c[d>>2]|0)+((a[p+8>>0]|0)*12|0)>>2]|0;u=t+20|0;if((o|0)!=131072?!((a[u>>0]|0)==1^(a[n>>0]|0)==1):0){l=24;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==19){c[g>>2]=1;n=p+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[s>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[q+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==24){c[g>>2]=1;n=e[p>>1]|e[p+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[u>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[t+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}}function ph(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|g|0)<0){c[i>>2]=0;c[j>>2]=0;j=0;c[k>>2]=j;return 0}if(!(a[e+27>>0]|0)){c[i>>2]=g;c[j>>2]=h;j=0;c[k>>2]=j;return 0}t=c[e+4>>2]|0;s=a[e+30>>0]|0;u=s<<24>>24;a:do if(s<<24>>24>0){o=f+4118|0;p=u+-1|0;q=0;while(1){l=t+(q*6|0)|0;if((p|0)==(q|0))n=b[o>>1]|0;else n=d[l+6>>0]|0;m=a[l>>0]|0;if((n<<16>>16|0)>(g|0)&(m&255|0)<=(g|0)){s=q;break a}q=q+1|0;if((q|0)>=(u|0)){s=0;break}}}else{l=t;s=0;m=a[t>>0]|0}while(0);c[i>>2]=g-(m&255);m=a[e+31>>0]|0;if(m<<24>>24>0){q=m<<24>>24;o=f+4120|0;p=q+-1|0;l=0;while(1){e=r(l,u)|0;if((p|0)==(l|0)){m=b[o>>1]|0;n=l+1|0}else{n=l+1|0;m=d[t+((r(n,u)|0)*6|0)+1>>0]|0}if((m<<16>>16|0)>(h|0)?(d[t+(e*6|0)+1>>0]|0)<=(h|0):0)break;if((n|0)<(q|0))l=n;else{l=0;break}}m=l;l=t+(e*6|0)|0}else m=0;c[j>>2]=h-(d[l+1>>0]|0);j=(r(m,u)|0)+s|0;c[k>>2]=j;return 0}function qh(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,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;J=Sb;Sb=Sb+32|0;B=J+20|0;D=J+16|0;I=J;g=d+652|0;c[g>>2]=0;H=c[d+360>>2]|0;F=d+648|0;z=c[F>>2]|0;l=H+2|0;f=r(((b[H>>1]|0)+63|0)/64|0,((b[l>>1]|0)+7|0)/8|0)|0;C=d+600|0;Rk(c[C>>2]|0,0,f|0)|0;E=d+604|0;Rk(c[E>>2]|0,0,f|0)|0;f=d+364|0;do if(!(c[f>>2]|0)){e=Oh(d)|0;if(e|0){I=e;Sb=J;return I|0}e=Ph(d)|0;if(!e){c[f>>2]=1;break}else{I=e;Sb=J;return I|0}}while(0);e=Ng(d)|0;if(e|0){I=e;Sb=J;return I|0}f=c[d+304>>2]|0;e=(c[d+128>>2]|0)==0?1:2;do{b[f+(e*1272|0)+872>>1]=-1;b[f+(e*1272|0)+874>>1]=-1;e=e+1|0}while((e|0)!=256);h=d+224|0;k=_d(c[h>>2]|0,D)|0;if(!k){c[g>>2]=984;c[d+144>>2]=984;I=984;Sb=J;return I|0}c[d+1452>>2]=k;i=z+84|0;c[k+16>>2]=c[i>>2];x=_d(c[d+244>>2]|0,B)|0;if(!x){c[g>>2]=985;c[d+144>>2]=985;I=985;Sb=J;return I|0}c[x+16>>2]=c[d+288>>2];c[x+8>>2]=c[i>>2];c[x+12>>2]=c[z+80>>2];u=c[x>>2]|0;g=x+4|0;v=c[g>>2]|0;e=x+28|0;a[e>>0]=0;f=d+1464|0;if(a[f>>0]|0){Pk(e|0,f|0,4492)|0;a[d+1476>>0]=0;a[d+1477>>0]=0;c[f>>2]=0;b[f+4>>1]=0;a[f+6>>0]=0}w=d+136|0;if(!(c[w>>2]|0)){Rk(u|0,-128,r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)|0;Rk(c[g>>2]|0,-128,(r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)/2|0|0)|0}f=c[h>>2]|0;e=Ge(c[d+276>>2]|0,c[i>>2]|0)|0;if(!e){i=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;j=(i|0)/16|0;i=(i|0)/256|0;Rk(k+20|0,0,40960)|0;Rk(c[k>>2]|0,0,(i<<2)+4|0)|0;Rk(c[k+8>>2]|0,0,j|0)|0;Rk(c[k+12>>2]|0,0,(i<<1)+3&-4|0)|0;Rk(c[k+4>>2]|0,0,j<<4|0)|0;j=x;i=k}else{j=e;i=Qh(f,c[e+8>>2]|0)|0}g=a[z+160>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+876+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+876+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=25}else A=25;if((A|0)==25)while(1){c[z+876+(e*12|0)>>2]=j;c[z+876+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}g=a[z+161>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+1068+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+1068+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=33}else A=33;if((A|0)==33)while(1){c[z+1068+(e*12|0)>>2]=j;c[z+1068+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}Rh(c[d+11556>>2]|0)|0;c[d+424>>2]=0;c[d+428>>2]=0;h=c[k+8>>2]|0;o=d+576|0;c[o>>2]=h;e=c[k+4>>2]|0;p=d+580|0;c[p>>2]=e;s=c[k>>2]|0;q=d+596|0;c[q>>2]=s;f=c[k+12>>2]|0;c[d+420>>2]=f;c[d+6628>>2]=f;c[d+7320>>2]=f;c[d+8012>>2]=f;c[d+8704>>2]=f;c[d+9396>>2]=f;c[d+10088>>2]=f;c[d+10780>>2]=f;c[d+11472>>2]=f;c[d+432>>2]=h;c[d+416>>2]=e;h=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;f=(h|0)/16|0;f=(f>>1)+f|0;t=c[d+192>>2]|0;k=d+592|0;c[k>>2]=t;h=t+((((h|0)/256|0)<<2)+4)|0;l=d+584|0;c[l>>2]=h;g=h+f|0;m=d+588|0;c[m>>2]=g;f=g+(f<<2)|0;n=d+400|0;c[n>>2]=f;c[d+412>>2]=h;c[d+408>>2]=g;c[d+404>>2]=f;c[d+1068>>2]=e;c[d+1060>>2]=s;c[d+1056>>2]=t;c[d+11560>>2]=1;t=c[H+4128>>2]|0;Rk(c[d+204>>2]|0,0,t|0)|0;Rk(c[d+208>>2]|0,0,t|0)|0;t=d+268|0;c[t>>2]=-1;s=d+272|0;c[s>>2]=0;e=d+88|0;c[e>>2]=0;f=d+92|0;c[f>>2]=0;c[d+96>>2]=0;g=d+11608|0;c[g>>2]=2147483647;h=c[d+44>>2]|0;do if(h|0?(y=c[d+36>>2]|0,y|0):0){i=d+48|0;j=(c[i>>2]|0)+1|0;c[i>>2]=j;switch(y|0){case 4:break;case 3:{if((a[z+76>>0]|0)==2)A=51;break}case 2:{if(!((a[z+76>>0]|0)!=2?(j|0)!=(c[d+40>>2]|0):0))A=51;break}case 1:{y=a[z+1260>>0]|0;if(!(y<<24>>24<16&(y&1)==0))A=51;break}default:A=51}if((A|0)==51){c[i>>2]=0;break}if(h&1|0)c[f>>2]=1;if(h&2|0)c[e>>2]=1;A=a[z+1260>>0]|0;if(A<<24>>24<16&(A&1)==0){if(h&4|0)c[g>>2]=0;if(h&8|0)c[g>>2]=0}}while(0);g=d+11584|0;h=d+24|0;e=0;do{j=c[q>>2]|0;c[d+5956+(e*692|0)+84>>2]=j;y=c[p>>2]|0;c[d+5956+(e*692|0)+96>>2]=y;c[d+5956+(e*692|0)+92>>2]=c[o>>2];i=c[k>>2]|0;c[d+5956+(e*692|0)+80>>2]=i;c[d+5956+(e*692|0)+116>>2]=c[m>>2];c[d+5956+(e*692|0)+88>>2]=c[l>>2];c[d+5956+(e*692|0)+60>>2]=c[n>>2];c[d+5956+(e*692|0)+124>>2]=c[D>>2];c[d+5956+(e*692|0)+660>>2]=c[d+5956+(e*692|0)+672>>2];c[d+5956+(e*692|0)+664>>2]=c[d+5956+(e*692|0)+676>>2];c[d+5956+(e*692|0)+232>>2]=u;c[d+5956+(e*692|0)+236>>2]=v;c[d+5956+(e*692|0)+224>>2]=x;c[d+5956+(e*692|0)+228>>2]=c[B>>2];c[d+5956+(e*692|0)+272>>2]=c[g>>2];A=c[h>>2]|0;z=(A|0)>1;c[d+5956+(e*692|0)+148>>2]=z&1;c[d+5956+(e*692|0)+152>>2]=z&1;c[d+5956+(e*692|0)+128>>2]=c[C>>2];z=c[E>>2]|0;c[d+5956+(e*692|0)+132>>2]=z;c[d+5956+(e*692|0)+276>>2]=0;c[d+5956+(e*692|0)+348>>2]=i;c[d+5956+(e*692|0)+352>>2]=j;c[d+5956+(e*692|0)+360>>2]=y;c[d+5956+(e*692|0)+504>>2]=z;c[d+5956+(e*692|0)+528>>2]=u;c[d+5956+(e*692|0)+532>>2]=v;c[d+5956+(e*692|0)+576>>2]=z;c[d+5956+(e*692|0)+580>>2]=u;c[d+5956+(e*692|0)+584>>2]=v;if((e|0)<(A+-1|0)){ag(c[d+11492+(e<<2)>>2]|0,0,30,d+5956+(e*692|0)|0)|0;f=1}else f=0;c[d+11524+(e<<2)>>2]=f;e=e+1|0}while((e|0)!=8);c[d+1236>>2]=u;c[d+1240>>2]=v;c[d+1288>>2]=u;c[d+1292>>2]=v;f=d+264|0;Be(c[f>>2]|0,c[d+6184>>2]|0,c[(c[F>>2]|0)+84>>2]|0,c[d+6180>>2]|0)|0;c[s>>2]=0;e=d+140|0;if(((c[w>>2]|0)-(c[e>>2]|0)|0)<(a[(a[H+14>>0]|0)+-1+(H+32)>>0]|0)?(c[d+11636>>2]|0)!=1:0)e=0;else{F=Ce(c[f>>2]|0,t)|0;c[s>>2]=F;c[e>>2]=(c[e>>2]|0)+1;e=F}c[d+11576>>2]=0;c[d+11580>>2]=4;a:do if((c[d+11604>>2]|0?(G=c[h>>2]|0,!((G|0)<2|(e|0)==0)):0)?(c[t>>2]|0)!=(c[d+5956+((G+-1|0)*692|0)+228>>2]|0):0){if(c[d+56>>2]|0?(c[d+60>>2]|0)!=1:0)break;g=H+4120|0;if((b[g>>1]|0)>0){h=I+8|0;i=I+4|0;j=I+6|0;k=I+10|0;l=I+12|0;m=d+656|0;f=0;while(1){c[I>>2]=1;b[h>>1]=0;b[i>>1]=0;b[j>>1]=f;b[k>>1]=0;c[l>>2]=0;e=Ug(c[m>>2]|0,I,16,1)|0;f=f+1|0;if(e|0)break;if((f|0)>=(b[g>>1]|0))break a}Sb=J;return e|0}}while(0);c[d+84>>2]=1;I=0;Sb=J;return I|0}function rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!a)J(42985,42041,182,43128);if(!b)J(43028,42041,183,43128);c[a>>2]=2139095040;e=b+12|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]<<g>>>1;d=a+4|0;c[d>>2]=h;a=g+31|0;c[f>>2]=a;if(a>>>0<=32){if((a|0)!=32)return 0}else{a=33-g|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;c[d>>2]=a|h}h=b+16|0;c[e>>2]=c[h>>2];b=b+8|0;e=c[b>>2]|0;c[b>>2]=e+4;e=c[e>>2]|0;c[f>>2]=g+-1;c[h>>2]=Ok(e|0)|0;return 0}function sh(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;if(!a)J(42985,42041,139,43010);if(!b)J(43028,42041,140,43010);if(d>>>0>=52)J(43055,42041,141,43010);if(e>>>0>=3)J(43080,42041,142,43010);c[a>>2]=2139095040;j=b+12|0;h=b+4|0;i=c[h>>2]|0;d=c[j>>2]<<i>>>1;g=a+4|0;c[g>>2]=d;e=i+31|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){b=d;a=a+8|0;Pk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}}else{e=33-i|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;c[g>>2]=d}g=b+16|0;c[j>>2]=c[g>>2];j=b+8|0;b=c[j>>2]|0;c[j>>2]=b+4;b=c[b>>2]|0;c[h>>2]=i+-1;c[g>>2]=Ok(b|0)|0;b=d;a=a+8|0;Pk(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}function th(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,s=0,t=0,u=0,v=0;p=d+376|0;q=d+660|0;h=c[d+644>>2]|0;i=c[d+344>>2]&255;n=c[d+316>>2]|0;e=c[d+320>>2]|0;g=(c[d+360>>2]|0)+4118|0;s=(c[d+1444>>2]|0)+(n*12|0)+((r(e,b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[s>>2]&-8;t=s+4|0;c[t>>2]=c[t>>2]&-8;u=s+8|0;c[u>>2]=c[u>>2]&-8;do if((n|0)>0){if((c[d+332>>2]|0)==0?(c[d+336>>2]|0)==0:0){f=0;break}if(c[d+324>>2]|0)f=(zh(q,p,0)|0)!=0;else f=0}else f=0;while(0);if((!((e|0)<1|f)?(c[d+336>>2]|0)>0:0)?(c[d+328>>2]|0)>0:0)d=zh(q,p,0)|0;else d=0;if(f){u=s+-12|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}if(d|0){u=s+((0-(b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}n=h+(i*1272|0)+156|0;m=h+(i*1272|0)+157|0;d=0;l=0;do{k=(l|0)==0;if(!(!(k&(a[n>>0]|0)!=0)?!((l|0)!=0&(a[m>>0]|0)!=0):0))o=17;a:do if((o|0)==17){o=0;if(!k)if((l|0)==1){d=zh(q,p,1)|0;if(!d)d=0;else d=(Ch(q,p)|0)+d|0;e=d&7;c[t>>2]=c[t>>2]&-8|e;g=1;f=u;o=25}else g=0;else{d=zh(q,p,1)|0;if(!d)e=0;else e=(Ch(q,p)|0)+d|0;d=e;g=0;f=s;e=e&7;o=25}if((o|0)==25){o=0;c[f>>2]=c[f>>2]&-8|e}switch(d|0){case 0:break a;case 2:{e=Kh(q,p,7)|0;h=Kh(q,p,7)|0;i=0-(Kh(q,p,7)|0)|0;f=0-(Kh(q,p,7)|0)|0;o=32;break}default:{e=Kh(q,p,7)|0;h=Kh(q,p,7)|0;i=Kh(q,p,7)|0;f=Kh(q,p,7)|0;if((d|0)==1){if(!e)e=0;else{j=(Ch(q,p)|0)==0;e=j?e:0-e|0}if(!h)h=0;else{j=(Ch(q,p)|0)==0;h=j?h:0-h|0}if(!i)i=0;else{j=(Ch(q,p)|0)==0;i=j?i:0-i|0}if(!f)f=0;else{j=(Ch(q,p)|0)==0;f=j?f:0-f|0}j=Ih(q,p,5)|0}else o=32}}if((o|0)==32){o=0;if(k){v=Ih(q,p,2)|0;j=c[s>>2]|0;c[s>>2]=j+v&7|j&-8}if(g){v=Ih(q,p,2)|0;j=c[t>>2]|0;c[t>>2]=j+v&7|j&-8;j=c[u>>2]|0;c[u>>2]=j+v&7|j&-8;j=0}else j=0}if(k){c[s>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[s>>2]&-16777209|e<<3&120)|i<<11&30720);break}if(g){c[t>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[t>>2]&-16777209|e<<3&120)|i<<11&30720);break}else{c[u>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[u>>2]&-16777209|e<<3&120)|i<<11&30720);break}}while(0);l=l+1|0}while((l|0)!=3);return 0}function uh(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;F=e+660|0;G=e+360|0;H=e+356|0;O=e+316|0;N=e+320|0;K=e+456|0;L=e+460|0;J=e+452|0;v=e+976|0;w=e+616|0;x=e+620|0;y=e+368|0;z=e+372|0;A=e+336|0;B=e+328|0;C=e+332|0;D=e+324|0;s=f;q=g;while(1){o=1<<h;M=c[G>>2]|0;p=c[H>>2]|0;f=a[M+4116>>0]|0;g=s-(c[O>>2]<<f)>>3;f=q-(c[N>>2]<<f)>>3;c[K>>2]=g;c[L>>2]=f;c[J>>2]=h;c[v>>2]=i;j=c[x>>2]|0;k=(s|0)/8|0;m=(q|0)/8|0;n=(c[w>>2]|0)+(k>>>4<<2)|0;if(((o+s|0)<=(b[M>>1]|0)?(o+q|0)<=(b[M+2>>1]|0):0)?(h|0)>(a[M+46>>0]|0):0){if(!f)if((c[A>>2]|0)!=0?(c[B>>2]|0)!=0:0)I=8;else f=2;else I=8;if((I|0)==8){I=0;f=((c[n>>2]|0)>>>(k<<1&30)&3|0)>(i|0)?3:2}do if(!g){if((c[C>>2]|0)==0?(c[A>>2]|0)==0:0)break;if(c[D>>2]|0)I=13}else I=13;while(0);if((I|0)==13){I=0;f=f+((j>>>(m<<1&30)&3|0)>(i|0)&1)|0}if(!(zh(F,E,f)|0))I=16;else f=0}else if((h|0)>(a[M+46>>0]|0))f=0;else I=16;if((I|0)==16){I=0;l=-1>>>(32-(((o|0)/8|0)<<1)|0);g=k<<1&30;f=c[n>>2]&~(l<<g);j=(i|0)!=0;if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[n>>2]=f;g=m<<1&30;f=c[x>>2]&~(l<<g);if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[x>>2]=f;f=1}if(a[p+17>>0]|0?(h|0)>=(a[p+66>>0]|0):0){c[y>>2]=0;c[z>>2]=0}if(f){I=32;break}j=o>>1;g=j+s|0;j=j+q|0;h=h+-1|0;i=i+1|0;f=uh(e,s,q,h,i)|0;if(f|0){I=48;break}if((g|0)<(b[M>>1]|0)?(t=uh(e,g,q,h,i)|0,t|0):0){f=t;I=48;break}f=M+2|0;if((j|0)<(b[f>>1]|0)?(u=uh(e,s,j,h,i)|0,u|0):0){f=u;I=48;break}if((g|0)>=(b[M>>1]|0)){f=0;I=48;break}if((j|0)>=(b[f>>1]|0)){f=0;I=48;break}else{s=g;q=j}}if((I|0)==32){G=c[K>>2]<<3;I=c[L>>2]<<3;g=p+66|0;H=-1<<a[g>>0];if((G|0)==(H&G|0)&(I|0)==(H&I|0)){c[e+440>>2]=c[e+436>>2];c[e+572>>2]=0}f=Ah(e,s,q,h)|0;if(f|0){O=f;return O|0}if(!(a[p+17>>0]|0)){O=0;return O|0}o=c[e+408>>2]|0;m=1<<c[J>>2];k=c[K>>2]<<3;j=c[L>>2]<<3;h=-1<<a[g>>0];L=h&k;g=L>>3;h=h&j;f=c[e+440>>2]|0;if((L|0)>0)i=a[g+h+-1+(e+1380)>>0]|0;else i=f;if((h|0)>0)f=a[g+h+-8+(e+1380)>>0]|0;n=e+572|0;l=((c[n>>2]|0)+52+(i+1+f>>1)|0)%52|0;i=(k>>3)+j|0;j=m>>3;if((m|0)>7){g=l&255;h=(j|0)>1?j:1;f=0;do{Rk(i+(f<<3)+(e+1380)|0,g|0,h|0)|0;f=f+1|0}while((f|0)<(j|0))}g=e+436|0;c[g>>2]=l;c[e+564>>2]=l;f=c[e+568>>2]|0;c[o>>2]=c[o>>2]&-8323073|l<<16&8323072;if(f|0){f=o+(0-f<<2)|0;do{c[f>>2]=c[f>>2]&-8323073|c[g>>2]<<16&8323072;f=f+4|0}while((f|0)!=(o|0))}if(!(c[n>>2]|0)){O=0;return O|0}N=(r(c[N>>2]|0,b[M+4118>>1]|0)|0)+(c[O>>2]|0)|0;O=(c[e+1044>>2]|0)+(N>>3)|0;a[O>>0]=(1<<(N&7)^255)&d[O>>0];O=0;return O|0}else if((I|0)==48)return f|0;return 0}function vh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=c[e+360>>2]|0;o=k+4116|0;m=a[o>>0]|0;n=1<<m;v=b[k>>1]|0;i=(v+63|0)/64|0;j=e+320|0;k=(b[k+2>>1]|0)-(c[j>>2]<<m)|0;k=(n|0)<(k|0)?n:k;l=e+316|0;m=v-(c[l>>2]<<m)|0;m=(n|0)<(m|0)?n:m;c[e+468>>2]=2;n=e+472|0;c[n>>2]=0;if((k|0)<=0)return;p=e+408|0;q=e+436|0;s=e+568|0;t=e+428|0;u=e+600|0;v=e+416|0;g=e+424|0;if((m|0)<=0)return;f=0;do{h=f<<2&224;e=0;do{w=c[p>>2]|0;x=e>>>2&14|h;c[w>>2]=x|c[w>>2]&-49152|256;c[w>>2]=c[q>>2]<<16|x|-8371968;c[p>>2]=(c[p>>2]|0)+4;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+1;w=a[o>>0]|0;y=(c[l>>2]<<w)+e|0;w=(c[u>>2]|0)+(r((c[j>>2]<<w)+f>>3,i)|0)+(y>>6)|0;a[w>>0]=(1<<(((y|0)/8|0)&7)^255)&d[w>>0];w=(c[v>>2]|0)+12|0;x=x|c[w>>2]&-805437440|4352;c[w>>2]=x;c[w>>2]=c[n>>2]<<25&234881024|x&-1048178194|524288;c[v>>2]=(c[v>>2]|0)+16;c[g>>2]=(c[g>>2]|0)+1;e=e+8|0}while((e|0)<(m|0));f=f+8|0}while((f|0)<(k|0));return}function wh(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>>2]|0;l=a+4|0;m=c[l>>2]|0;if(d>>>0<=255)J(42257,42041,384,42064);e=s(d|0)|0;k=d-(2<<23-e)|0;if(m>>>0>=k>>>0){yh(b,e+-23|0);b=1;c[a>>2]=k;c[l>>2]=m;return b|0}d=s(k|0)|0;i=d+-1|0;if(!i){b=0;c[a>>2]=k;c[l>>2]=m;return b|0}g=b+12|0;h=b+4|0;f=c[h>>2]|0;d=c[g>>2]<<f>>>(33-d|0);f=f+i|0;c[h>>2]=f;if(f>>>0<=32){if((f|0)==32)j=11}else{e=64-f|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;j=11}if((j|0)==11){j=b+16|0;c[g>>2]=c[j>>2];g=b+8|0;b=c[g>>2]|0;c[g>>2]=b+4;b=c[b>>2]|0;c[h>>2]=f+-32;c[j>>2]=Ok(b|0)|0}b=0;k=k<<i;m=d|m<<i;c[a>>2]=k;c[l>>2]=m;return b|0}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;d=8-(d&7)+d|0;c[b>>2]=d;if(d>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[b>>2]=d+-32;c[e>>2]=Ok(a|0)|0;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)<=-33)J(42094,42111,230,42138);if((b|0)>=33)J(42155,42111,231,42138);if((b|0)<0){d=a+4|0;f=c[d>>2]|0;e=f+b|0;c[d>>2]=e;if(f>>>0>=(0-b|0)>>>0)return;c[d>>2]=e+32;f=a+8|0;b=c[f>>2]|0;c[f>>2]=b+-4;b=c[b+-12>>2]|0;f=a+12|0;c[a+16>>2]=c[f>>2];c[f>>2]=Ok(b|0)|0;return}else{e=a+4|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;if(d>>>0<=31)return;f=a+16|0;c[a+12>>2]=c[f>>2];b=a+8|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;c[e>>2]=d+-32;c[f>>2]=Ok(a|0)|0;return}}function zh(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;g=c[b>>2]|0;p=b+4|0;i=c[p>>2]|0;j=b+8+f|0;h=a[j>>0]|0;k=h&255;if(g>>>0<=255)J(42257,42041,247,42961);if(f>>>0>=154)J(42701,42041,248,42961);if(h<<24>>24<=-1)J(42873,42041,249,42961);l=s(g|0)|0;l=(d[(g<<l+-1>>>28&3)+(64+(k>>>1<<2))>>0]|0)<<23-l;h=g-l|0;g=i>>>0<h>>>0;n=k&1^(g^1)&1;m=i-(g?0:h)|0;l=g?h:l;a[j>>0]=a[320+(n|k<<1)>>0]|0;if(l>>>0>=256){o=l;e=m;c[b>>2]=o;c[p>>2]=e;return n|0}f=s(l|0)|0;k=f+-1|0;h=e+12|0;i=e+4|0;j=c[i>>2]|0;f=c[h>>2]<<j>>>(33-f|0);j=j+k|0;c[i>>2]=j;if(j>>>0<=32){if((j|0)==32)o=13}else{g=64-j|0;if(g>>>0<32)g=(c[e+16>>2]|0)>>>g;else g=0;f=g|f;o=13}if((o|0)==13){o=e+16|0;c[h>>2]=c[o>>2];h=e+8|0;e=c[h>>2]|0;c[h>>2]=e+4;e=c[e>>2]|0;c[i>>2]=j+-32;c[o>>2]=Ok(e|0)|0}o=l<<k;e=f|m<<k;c[b>>2]=o;c[p>>2]=e;return n|0}function Ah(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=e+316|0;n=c[e+608>>2]|0;v=e+612|0;t=c[v>>2]|0;B=e+376|0;G=e+408|0;x=c[G>>2]|0;z=e+660|0;if(f&7|0)J(42171,42187,1185,42216);if(g&7|0)J(42241,42187,1186,42216);H=e+568|0;c[H>>2]=0;A=c[e+360>>2]|0;u=c[e+356>>2]|0;E=e+456|0;q=c[E>>2]|0;F=e+460|0;p=c[F>>2]|0;o=c[e+648>>2]|0;C=1<<h;i=e+464|0;c[i>>2]=0;if((a[u+25>>0]|0?(u=zh(z,B,5)|0,c[i>>2]=u,u|0):0)?(l=((b[A>>1]|0)+63|0)/64|0,m=(C|0)/8|0,(C|0)>7):0){k=-1>>>(32-(C>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(l,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}s=(f|0)/8|0;u=(g|0)/8|0;j=n+(s>>>5<<2)|0;k=o+76|0;if((a[k>>0]|0)==2)i=0;else{if(!p)if((c[e+336>>2]|0)!=0?(c[e+328>>2]|0)!=0:0)y=14;else i=0;else y=14;if((y|0)==14)i=(c[j>>2]&1<<(s&31)|0)!=0&1;do if(!q){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0)break;if(c[e+324>>2]|0)y=19}else y=19;while(0);if((y|0)==19)i=i+((t&1<<(u&31)|0)!=0&1)|0;i=zh(z,B,i+6|0)|0}o=c[j>>2]|0;m=(C|0)/8|0;p=-1>>>(32-m|0);q=p<<(s&31);t=(i|0)!=0;c[j>>2]=t?o|q:o&~q;q=c[v>>2]|0;p=p<<(u&31);c[v>>2]=t?q|p:q&~p;p=e+448|0;c[p>>2]=0;if(t){i=a[A+4116>>0]|0;B=(f-(c[D>>2]<<i)|0)>>>2&15;D=g-(c[e+320>>2]<<i)|0;i=c[x>>2]&-49152|(h<<8)+1536&1792|B|D<<2&240;c[x>>2]=i;i=i&18431|c[e+436>>2]<<16&8323072;j=i|-8388608;c[x>>2]=j;if((c[E>>2]<<3|0)==(B<<2|0)?(c[F>>2]<<3|0)==(D&60|0):0)i=i|-8372224;else i=j&-63489;c[x>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;H=e+428|0;c[H>>2]=(c[H>>2]|0)+1;c[e+468>>2]=2;c[e+472>>2]=0;H=(c[e+416>>2]|0)+12|0;c[H>>2]=c[H>>2]&-805306369;Bh(e,f,g,C,C)|0;e=0;return e|0}o=(C|0)==(1<<a[A+46>>0]|0);a:do if((a[k>>0]|0)!=2?(w=zh(z,B,11)|0,(w|0)!=1):0){n=e+468|0;c[n>>2]=w;if(o|(a[A+56>>0]|0)==0){l=12;m=-1;i=(C|0)>8&o?3:2;while(1){j=zh(z,B,l)|0;k=m+1|0;i=i+-1|0;if(!i)break;if(j|0){i=n;l=1;m=0;break a}else{l=l+1|0;m=k}}k=(j|0)==0?m+2|0:k;i=n;l=1;m=0;break}else{if(zh(z,B,12)|0){k=0;i=n;l=1;m=0;break}i=(zh(z,B,13)|0)<<1;x=zh(z,B,15)|0;i=(i|x)<<1;if(!x)i=Ch(z,B)|0|i;k=d[41068+i>>0]|0;i=n;l=1;m=0;break}}else y=30;while(0);if((y|0)==30){l=((b[A>>1]|0)+63|0)/64|0;if((C|0)>7){k=-1>>>(32-(C>>>3)|0)<<(s&7);j=0;i=(c[e+600>>2]|0)+(r(l,u)|0)+((f|0)/64|0)|0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}i=e+468|0;c[i>>2]=1;if(o){k=(zh(z,B,12)|0)==0;k=k?3:0;l=0;m=1}else{k=0;l=0;m=1}}j=(k|0)==3&(c[i>>2]|0)==1&1;c[e+472>>2]=k;c[e+560>>2]=j;b:do if(m){c[p>>2]=0;Dh(e,f,g,h)|0;if(!(c[p>>2]|0)){i=e+416|0;break}else{e=0;return e|0}}else switch(k|0){case 0:{i=e+416|0;y=c[i>>2]|0;Bh(e,f,g,C,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369;break b}case 1:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Bh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,f,x+g|0,C,x)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 2:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Bh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,x+f|0,g,x,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 4:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Bh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,f,x+g|0,C,(3<<h|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 5:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Bh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,f,x+g|0,C,(C|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 6:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Bh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,x+f|0,g,(3<<h|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 7:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Bh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Bh(e,x+f|0,g,(C|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}default:{i=e+416|0;w=c[i>>2]|0;y=(C|0)/2|0;Bh(e,f,g,y,y)|0;C=w+12|0;c[C>>2]=c[C>>2]&-805306369;C=c[i>>2]|0;w=y+f|0;Bh(e,w,g,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;C=c[i>>2]|0;x=y+g|0;Bh(e,f,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|536870912;C=c[i>>2]|0;Bh(e,w,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]|805306368;break b}}while(0);i=c[i>>2]|0;do if(l){if((k|0)==0?c[i+-4>>2]&524288|0:0)break;if((zh(z,B,30)|0)!=1){i=a[A+4116>>0]|0;j=c[G>>2]|0;f=(f-(c[D>>2]<<i)|0)>>>2&15;g=g-(c[e+320>>2]<<i)|0;i=c[j>>2]&-49152|(h<<8)+1536&1792|f|g<<2&240;c[j>>2]=i;i=c[e+436>>2]<<16&8323072|i&528500735|-536870912;c[j>>2]=i;i=i&-528529409|c[e+476>>2]<<23&528482304;c[j>>2]=i;if((c[E>>2]<<3|0)==(f<<2|0)?(c[F>>2]<<3|0)==(g&60|0):0)i=i|16384;else i=i&-63489;c[j>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;e=e+428|0;c[e>>2]=(c[e>>2]|0)+1;e=0;return e|0}}while(0);if(m)i=(a[A+53>>0]|0)+j|0;else i=a[A+52>>0]|0;c[e+544>>2]=i;e=Eh(e,f,g,f,g,h,0,0,c[e+476>>2]|0)|0;return e|0}function Bh(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;j=b+376|0;m=b+416|0;i=c[m>>2]|0;k=b+660|0;h=c[b+648>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;n=a[(c[b+360>>2]|0)+4116>>0]|0;l=i+12|0;g=(g>>>2<<12)+61440&61440|(f>>>2<<8)+3840&3840|(d-(c[b+316>>2]<<n)|0)>>>2&15|e-(c[b+320>>2]<<n)<<2&240;c[l>>2]=g;c[l>>2]=g|c[b+472>>2]<<25&234881024;if((c[b+468>>2]|0)==2){d=h+166|0;if((a[d>>0]|0)>1?(zh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Kh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032|524288;else d=1572864}else d=524288;c[l>>2]=d|c[l>>2]&-7864321;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}n=zh(k,j,18)|0;c[l>>2]=c[l>>2]&-524289|n<<19&524288;if(!n){Mh(b,i)|0;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}d=h+166|0;if((a[d>>0]|0)>1?(zh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Kh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032;else d=1048576}else d=0;c[l>>2]=c[l>>2]&-7340033|d;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if(h>>>0<=255)J(42257,42041,334,42930);f=b+12|0;g=b+4|0;i=c[g>>2]|0;a=c[f>>2]<<i>>>31;i=i+1|0;c[g>>2]=i;if((i|0)==32){i=b+16|0;c[f>>2]=c[i>>2];f=b+8|0;b=c[f>>2]|0;c[f>>2]=b+4;b=c[b>>2]|0;c[g>>2]=0;c[i>>2]=Ok(b|0)|0}b=a|e<<1;i=b>>>0<h>>>0;c[d>>2]=b-(i?0:h);return (i^1)&1|0}function Dh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=e+660|0;t=e+376|0;x=1<<h;k=c[e+472>>2]|0;A=e+408|0;B=e+416|0;p=c[B>>2]|0;i=e+360|0;w=c[i>>2]|0;v=a[w+4116>>0]|0;u=c[e+316>>2]<<v;v=c[e+320>>2]<<v;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;o=(x>>>2)+15&15;u=(f-u|0)>>>2&15;v=g-v|0;q=v<<2&240|u;c[p+12>>2]=q|o<<8|o<<12|65536;if((((k|0)==0?(a[w+20>>0]|0)!=0:0)?(j=a[w+50>>0]|0,(j|0)<=(h|0)):0)?((a[w+51>>0]|0)+j|0)>=(h|0):0){p=wh(s,t)|0;c[e+448>>2]=p;if(p|0){if(c[e+380>>2]&7|0)xh(t);k=c[i>>2]|0;p=e+404|0;i=c[p>>2]|0;a[i>>0]=1;l=i+2|0;a[i+1>>0]=1;c[p>>2]=l;b[i+4>>1]=-1;b[l>>1]=0;l=a[k+21>>0]|0;n=1<<(h<<1);m=8-l|0;i=i+6|0;j=0;do{o=i;i=i+1|0;a[o>>0]=(Jh(t,l)|0)<<m;j=j+1|0}while((j|0)<(n|0));m=a[k+22>>0]|0;o=n>>1;if((n|0)>1){l=8-m|0;j=0;while(1){k=i+1|0;a[i>>0]=(Jh(t,m)|0)<<l;j=j+1|0;if((j|0)>=(o|0)){i=k;break}else i=k}}c[p>>2]=i;rh(s,t)|0;m=c[A>>2]|0;i=q|(h<<8)+1536&1792|c[m>>2]&-49152|47104;c[m>>2]=i;i=i&65535|c[e+436>>2]<<16&8323072;j=i|-8388608;c[m>>2]=j;k=e+456|0;l=e+460|0;if((c[k>>2]<<3|0)==(u<<2|0)?(c[l>>2]<<3|0)==(v&60|0):0)i=i|-8372224;else i=j&-16385;c[m>>2]=i;u=(c[e+624>>2]|0)+(c[k>>2]<<1)|0;h=e+12192|0;v=(x|0)/4|0;bc[c[h>>2]&15]((c[e+628>>2]|0)+(c[l>>2]<<1)|0,1,v);bc[c[h>>2]&15](u,1,v);if((a[w+58>>0]|0)==1?(y=((b[w>>1]|0)+63|0)/64|0,z=(x|0)/8|0,(x|0)>7):0){k=-1>>>(32-(x>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(y,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(z|0))break;else i=i+y|0}}c[A>>2]=(c[A>>2]|0)+4;g=e+568|0;c[g>>2]=(c[g>>2]|0)+1;g=e+428|0;c[g>>2]=(c[g>>2]|0)+1;g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}}else c[e+448>>2]=0;j=(k|0)==3?4:1;i=0;do{c[e+492+(i<<2)>>2]=zh(s,t,16)|0;i=i+1|0}while(i>>>0<j>>>0);i=0;do{if(!(c[e+492+(i<<2)>>2]|0))c[e+524+(i<<2)>>2]=Ih(s,t,5)|0;else c[e+508+(i<<2)>>2]=Kh(s,t,2)|0;i=i+1|0}while(i>>>0<j>>>0);A=zh(s,t,17)|0;i=e+540|0;c[i>>2]=4;if(A|0)c[i>>2]=Ih(s,t,2)|0;Lh(e,h,f,g);g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}function Eh(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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=b+376|0;I=b+660|0;u=b+360|0;v=b+356|0;w=b+560|0;x=b+544|0;E=b+468|0;y=b+472|0;L=b+476|0;z=b+480|0;A=b+484|0;B=b+488|0;C=b+554|0;D=b+549|0;n=b+549|0;a:while(1){F=e;G=f;t=g;s=h;while(1){r=c[u>>2]|0;q=c[v>>2]|0;f=c[w>>2]|0;g=(i|0)>(a[r+4117>>0]|0);if((!g?((c[x>>2]|0)>(j|0)?(i|0)>(a[r+48>>0]|0):0):0)?!((j|0)==0&(f|0)!=0):0)m=zh(I,K,36-i|0)|0;else H=7;do if((H|0)==7){H=0;if((a[r+52>>0]|0)==0?(c[E>>2]|0)==0:0)e=(j|0)==0&(c[y>>2]|0)!=0&1;else e=0;if(!g?!((j|0)==0&(f|0)==1|(e|0)==1):0){m=0;break}m=1}while(0);o=(j|0)==0;if(!o){e=j+-1|0;f=a[b+549+e>>0]|0;g=b+549+j|0;a[g>>0]=f;e=a[b+554+e>>0]|0;a[b+554+j>>0]=e;if((i|0)>2){h=j+36|0;if(f<<24>>24){a[g>>0]=zh(I,K,h)|0;e=a[j+-1+(b+554)>>0]|0}if(!(e<<24>>24))p=1;else{f=1;e=h;H=19}}else p=0}else{a[C>>0]=0;a[D>>0]=0;a[n>>0]=zh(I,K,36)|0;f=(i|0)>2;e=36;H=19}if((H|0)==19){H=0;a[b+554+j>>0]=zh(I,K,e)|0;p=f}if(!m){H=32;break a}f=1<<i>>1;g=f+F|0;f=f+G|0;h=(j|0)!=0;if(h)e=l;else e=c[L>>2]|0;i=i+-1|0;j=j+1|0;e=Eh(b,F,G,F,G,i,j,0,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[z>>2]|0;e=Eh(b,g,G,F,G,i,j,1,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[A>>2]|0;e=Eh(b,F,f,F,G,i,j,2,e)|0;if(e|0){H=71;break a}if(h){s=G;t=F;F=g;G=f;k=3}else break}e=g;g=F;h=G;k=3;l=c[B>>2]|0}if((H|0)==32){m=b+408|0;n=c[m>>2]|0;f=a[r+4116>>0]|0;e=c[b+316>>2]<<f;f=c[b+320>>2]<<f;if((!((j|0)!=0|(c[E>>2]|0)==1)?(a[b+549>>0]|0)==0:0)?(a[b+554>>0]|0)==0:0){h=b+548|0;a[h>>0]=1}else{h=b+548|0;a[h>>0]=zh(I,K,o?35:34)|0}f=G-f<<2&240|(F-e|0)>>>2&15|c[n>>2]&-14592;c[n>>2]=f;f=c[b+464>>2]<<15&32768|(i<<8)+1536&1792|f&-48897;c[n>>2]=f;f=c[b+436>>2]<<16&8323072|l<<23&528482304|f&-536819713;c[n>>2]=f;g=b+540|0;c[n>>2]=f&536856575|c[g>>2]<<29;e=a[h>>0]|0;if((e<<24>>24==0?(a[b+549+j>>0]|0)==0:0)?(a[b+554+j>>0]|0)==0:0){if((i|0)==2&(k|0)!=3)c[n>>2]=f|-536870912}else H=40;do if((H|0)==40){do if((a[q+17>>0]|0)!=0?(J=b+368|0,(c[J>>2]|0)==0):0){e=Fh(I,K,5,9,0,1)|0;if((e|0)>4)e=(Gh(I,K,0)|0)+e|0;c[J>>2]=1;if(!e)e=0;else{K=(Ch(I,K)|0)==0;e=K?e:0-e|0}K=(a[r+16>>0]|0)*3|0;if((e|0)<(K+-26|0)|(e|0)>(K+25|0)){b=979;return b|0}else{c[b+572>>2]=e;e=a[h>>0]|0;break}}while(0);if(e<<24>>24){c[n>>2]=c[n>>2]|2048;Hh(b,F,G,i,0,l)|0}e=c[g>>2]|0;if((e|0)==4)e=c[L>>2]|0;else{e=d[41064+e>>0]|0;e=(c[L>>2]|0)==(e|0)?34:e}if(p){if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Hh(b,F,G,i+-1|0,1,e)|0}if(!(a[b+554+j>>0]|0))break;c[n>>2]=c[n>>2]|8192;Hh(b,F,G,i+-1|0,2,e)|0;break}if((k|0)!=3){c[n>>2]=c[n>>2]|-536870912;break}if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Hh(b,t,s,i,1,e)|0}if(a[b+554+j>>0]|0){c[n>>2]=c[n>>2]|8192;Hh(b,t,s,i,2,e)|0}}while(0);e=c[n>>2]|0;if((c[b+456>>2]<<3|0)==(e<<2&60|0)?(c[b+460>>2]<<3|0)==(e>>>2&60|0):0)e=e|16384;else e=e&-16385;c[n>>2]=e;c[m>>2]=(c[m>>2]|0)+4;L=b+568|0;c[L>>2]=(c[L>>2]|0)+1;b=b+428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;return b|0}else if((H|0)==71)return e|0;return 0}function Fh(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,t=0,u=0,v=0,w=0,x=0;if((f|0)<=0)J(42657,42041,561,42669);if(g>>>0>=154)J(42701,42041,562,42669);if(((f>>>h)+g|0)>=154)J(42758,42041,563,42669);u=b+4|0;v=e+12|0;w=e+4|0;x=e+16|0;t=e+8|0;r=0;l=c[b>>2]|0;j=c[u>>2]|0;while(1){e=r>>>h;e=(e>>>0<i>>>0?e:i)+g|0;m=b+8+e|0;k=a[m>>0]|0;n=k&255;if(l>>>0<=255){q=9;break}if(e>>>0>=154){q=11;break}if(k<<24>>24<=-1){q=13;break}o=s(l|0)|0;o=(d[(l<<o+-1>>>28&3)+(64+(n>>>1<<2))>>0]|0)<<23-o;l=l-o|0;p=j>>>0<l>>>0;j=j-(p?0:l)|0;o=p?l:o;p=n&1^(p^1)&1;a[m>>0]=a[320+(p|n<<1)>>0]|0;if(o>>>0<256){e=s(o|0)|0;m=e+-1|0;l=c[w>>2]|0;e=c[v>>2]<<l>>>(33-e|0);l=l+m|0;c[w>>2]=l;if(l>>>0<=32){if((l|0)==32)q=20}else{k=64-l|0;if(k>>>0<32)k=(c[x>>2]|0)>>>k;else k=0;e=k|e;q=20}if((q|0)==20){q=0;c[v>>2]=c[x>>2];n=c[t>>2]|0;c[t>>2]=n+4;n=c[n>>2]|0;c[w>>2]=l+-32;c[x>>2]=Ok(n|0)|0}k=o<<m;j=e|j<<m}else k=o;c[b>>2]=k;c[u>>2]=j;e=r+1|0;if((e|0)<(f|0)&(p|0)!=0){r=e;l=k}else{q=23;break}}if((q|0)==9)J(42257,42041,570,42669);else if((q|0)==11)J(42818,42041,570,42669);else if((q|0)==13)J(42873,42041,570,42669);else if((q|0)==23)return p+r|0;return 0}function Gh(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;if((d|0)<=-1)J(42581,42041,676,42592);a:do if((d|0)<17){k=a+4|0;l=b+12|0;m=b+4|0;n=b+16|0;o=b+8|0;i=c[a>>2]|0;j=i>>>0>255;f=0;h=c[k>>2]|0;while(1){if(!j)break;g=c[m>>2]|0;e=c[l>>2]<<g>>>31;g=g+1|0;c[m>>2]=g;if((g|0)==32){c[l>>2]=c[n>>2];g=c[o>>2]|0;c[o>>2]=g+4;g=c[g>>2]|0;c[m>>2]=0;c[n>>2]=Ok(g|0)|0}g=e|h<<1;s=g>>>0<i>>>0;h=g-(s?0:i)|0;s=s^1;c[k>>2]=h;g=d+1|0;e=((s&1)<<d)+f|0;if(!((d|0)<16&s)){r=e;p=g;break a}else{d=g;f=e}}J(42257,42041,683,42592)}else{r=0;p=d}while(0);f=p+-1|0;if(!f){s=r;return s|0}l=c[a>>2]|0;k=a+4|0;d=c[k>>2]|0;if(l>>>0<=255)J(42257,42041,693,42592);if((p|0)<=1)J(42628,42041,693,42592);if((p|0)>=18)J(42642,42041,693,42592);i=b+12|0;j=b+4|0;h=c[j>>2]|0;g=c[i>>2]<<h>>>(33-p|0);h=h+f|0;c[j>>2]=h;if(h>>>0<=32){if((h|0)==32)q=22}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;g=e|g;q=22}if((q|0)==22){s=b+16|0;c[i>>2]=c[s>>2];q=b+8|0;b=c[q>>2]|0;c[q>>2]=b+4;b=c[b>>2]|0;c[j>>2]=h+-32;c[s>>2]=Ok(b|0)|0}e=0;do{f=f+-1|0;b=g>>>f&1|d<<1;s=b>>>0<l>>>0;e=e<<1|(s^1)&1;d=b-(s?0:l)|0}while((f|0)!=0);c[k>>2]=d;s=e+r|0;return s|0} |
| | | function cf(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=Sb;Sb=Sb+272|0;l=m;k=c<<2;i=d[25424+f>>0]|0;h=1<<(Jk(c|0)|0)+-2;if(!(((c|0)==0?0:h)&i)){if((b|0)==(e|0)){Sb=m;return}g=k|1;if((g|0)<=0){Sb=m;return}f=0;do{a[e+f>>0]=a[b+f>>0]|0;f=f+1|0}while((f|0)!=(g|0));Sb=m;return}if((c|0)==32&(g|0)==1){g=a[b+64>>0]|0;h=g&255;p=a[b+k>>0]|0;i=p&255;o=i+h-((d[b+96>>0]|0)<<1)|0;f=a[b>>0]|0;c=f&255;n=c+h-((d[b+32>>0]|0)<<1)|0;a[l>>0]=f;a[l+k>>0]=p;if((((o|0)>0?o:0-o|0)|0)<8&(((n|0)>0?n:0-n|0)|0)<8){a[l+64>>0]=g;f=1;do{a[l+f>>0]=((r(f,h)|0)+32+(r(64-f|0,c)|0)|0)>>>6;f=f+1|0}while(f>>>0<64);f=1;do{a[l+(f+64)>>0]=((r(f,i)|0)+32+(r(64-f|0,h)|0)|0)>>>6;f=f+1|0}while(f>>>0<64)}else{i=127;j=13}}else{f=a[b>>0]|0;a[l>>0]=f;a[l+k>>0]=a[b+k>>0]|0;if((c|0)>0){i=k+-1|0;j=13}}if((j|0)==13){h=0;g=a[b+1>>0]|0;while(1){c=a[b+(h+2)>>0]|0;h=h+1|0;a[l+h>>0]=((f&255)+2+((g&255)<<1)+(c&255)|0)>>>2;if((h|0)>=(i|0))break;else{f=g;g=c}}}f=k|1;if((f|0)<=0){Sb=m;return}Pk(e|0,l|0,f|0)|0;Sb=m;return}function df(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;q=g+-4|0;switch(q>>>2|q<<30|0){case 0:{n=3;break}case 3:{n=5;break}case 1:{n=4;break}default:n=6}c=g<<1;if((g|0)<=0)return;o=g+-1|0;p=c+-1|0;q=b+((g*3|0)+1)|0;i=c|1;j=b+o|0;h=0;do{k=b+(p-h)|0;l=o-h|0;m=r(h,f)|0;h=h+1|0;c=0;do{v=r(o-c|0,d[k>>0]|0)|0;s=c;c=c+1|0;u=r(c,d[q>>0]|0)|0;t=r(l,d[b+(s+i)>>0]|0)|0;a[e+(s+m)>>0]=v+g+u+t+(r(h,d[j>>0]|0)|0)>>n}while((c|0)!=(g|0))}while((h|0)!=(g|0));return}function ef(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=g+-4|0;switch(m>>>2|m<<30|0){case 0:{j=3;break}case 3:{j=5;break}case 1:{j=4;break}default:j=6}k=g<<1;i=g*3|0;if((k|0)>(g|0)){c=0;h=g;do{c=c+(d[b+h>>0]|0)|0;h=h+1|0}while((h|0)!=(k|0))}else c=0;m=k|1;if((m|0)<=(i|0)){h=m;while(1){c=c+(d[b+h>>0]|0)|0;if((h|0)<(i|0))h=h+1|0;else break}}l=c+g>>j;i=l*3|0;if((g|0)==32){g=l&255;Rk(e|0,g|0,32)|0;Rk(e+f|0,g|0,32)|0;Rk(e+(f<<1)|0,g|0,32)|0;Rk(e+(f*3|0)|0,g|0,32)|0;Rk(e+(f<<2)|0,g|0,32)|0;Rk(e+(f*5|0)|0,g|0,32)|0;Rk(e+(f*6|0)|0,g|0,32)|0;Rk(e+(f*7|0)|0,g|0,32)|0;Rk(e+(f<<3)|0,g|0,32)|0;Rk(e+(f*9|0)|0,g|0,32)|0;Rk(e+(f*10|0)|0,g|0,32)|0;Rk(e+(f*11|0)|0,g|0,32)|0;Rk(e+(f*12|0)|0,g|0,32)|0;Rk(e+(f*13|0)|0,g|0,32)|0;Rk(e+(f*14|0)|0,g|0,32)|0;Rk(e+(f*15|0)|0,g|0,32)|0;Rk(e+(f<<4)|0,g|0,32)|0;Rk(e+(f*17|0)|0,g|0,32)|0;Rk(e+(f*18|0)|0,g|0,32)|0;Rk(e+(f*19|0)|0,g|0,32)|0;Rk(e+(f*20|0)|0,g|0,32)|0;Rk(e+(f*21|0)|0,g|0,32)|0;Rk(e+(f*22|0)|0,g|0,32)|0;Rk(e+(f*23|0)|0,g|0,32)|0;Rk(e+(f*24|0)|0,g|0,32)|0;Rk(e+(f*25|0)|0,g|0,32)|0;Rk(e+(f*26|0)|0,g|0,32)|0;Rk(e+(f*27|0)|0,g|0,32)|0;Rk(e+(f*28|0)|0,g|0,32)|0;Rk(e+(f*29|0)|0,g|0,32)|0;Rk(e+(f*30|0)|0,g|0,32)|0;Rk(e+(f*31|0)|0,g|0,32)|0;return}j=k+-1|0;a[e>>0]=((l<<1)+2+(d[b+j>>0]|0)+(d[b+m>>0]|0)|0)>>>2;k=(g|0)>1;if(!k)return;h=i+2|0;c=1;do{a[e+c>>0]=(h+(d[b+(c+m)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;h=i+2|0;c=1;do{a[e+(r(c,f)|0)>>0]=(h+(d[b+(j-c)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;i=l&255;j=f+1|0;c=g+-1|0;h=0;do{Rk(e+(j+(r(h,f)|0))|0,i|0,c|0)|0;h=h+1|0}while((h|0)!=(c|0));return}function ff(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=g<<1;if((g|0)==32){h=k+-1|0;c=0;do{k=b+(h-c)|0;g=r(c,f)|0;a[e+g>>0]=a[k>>0]|0;a[e+(g+1)>>0]=a[k>>0]|0;a[e+(g+2)>>0]=a[k>>0]|0;a[e+(g+3)>>0]=a[k>>0]|0;a[e+(g+4)>>0]=a[k>>0]|0;a[e+(g+5)>>0]=a[k>>0]|0;a[e+(g+6)>>0]=a[k>>0]|0;a[e+(g+7)>>0]=a[k>>0]|0;a[e+(g+8)>>0]=a[k>>0]|0;a[e+(g+9)>>0]=a[k>>0]|0;a[e+(g+10)>>0]=a[k>>0]|0;a[e+(g+11)>>0]=a[k>>0]|0;a[e+(g+12)>>0]=a[k>>0]|0;a[e+(g+13)>>0]=a[k>>0]|0;a[e+(g+14)>>0]=a[k>>0]|0;a[e+(g+15)>>0]=a[k>>0]|0;a[e+(g+16)>>0]=a[k>>0]|0;a[e+(g+17)>>0]=a[k>>0]|0;a[e+(g+18)>>0]=a[k>>0]|0;a[e+(g+19)>>0]=a[k>>0]|0;a[e+(g+20)>>0]=a[k>>0]|0;a[e+(g+21)>>0]=a[k>>0]|0;a[e+(g+22)>>0]=a[k>>0]|0;a[e+(g+23)>>0]=a[k>>0]|0;a[e+(g+24)>>0]=a[k>>0]|0;a[e+(g+25)>>0]=a[k>>0]|0;a[e+(g+26)>>0]=a[k>>0]|0;a[e+(g+27)>>0]=a[k>>0]|0;a[e+(g+28)>>0]=a[k>>0]|0;a[e+(g+29)>>0]=a[k>>0]|0;a[e+(g+30)>>0]=a[k>>0]|0;a[e+(g+31)>>0]=a[k>>0]|0;c=c+1|0}while((c|0)!=32);return}if((g|0)<=0)return;h=b+(k+-1)|0;i=k|1;j=b+k|0;c=0;do{l=((d[b+(c+i)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;l=(l|0)>0?l:0;a[e+c>>0]=(l|0)<255?l:255;c=c+1|0}while((c|0)!=(g|0));if((g|0)<=1)return;i=k+-1|0;c=1;do{j=b+(i-c)|0;k=r(c,f)|0;h=0;do{a[e+(h+k)>>0]=a[j>>0]|0;h=h+1|0}while((h|0)!=(g|0));c=c+1|0}while((c|0)!=(g|0));return}function gf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;k=g<<1;l=(g|0)>0;if((g|0)==32){h=k|1;i=b+h|0;j=b+(h+1)|0;k=b+(h+2)|0;l=b+(h+3)|0;g=b+(h+4)|0;m=b+(h+5)|0;n=b+(h+6)|0;o=b+(h+7)|0;p=b+(h+8)|0;q=b+(h+9)|0;s=b+(h+10)|0;t=b+(h+11)|0;u=b+(h+12)|0;v=b+(h+13)|0;w=b+(h+14)|0;x=b+(h+15)|0;y=b+(h+16)|0;z=b+(h+17)|0;A=b+(h+18)|0;B=b+(h+19)|0;C=b+(h+20)|0;D=b+(h+21)|0;E=b+(h+22)|0;F=b+(h+23)|0;G=b+(h+24)|0;H=b+(h+25)|0;I=b+(h+26)|0;J=b+(h+27)|0;K=b+(h+28)|0;L=b+(h+29)|0;M=b+(h+30)|0;h=b+(h+31)|0;c=0;do{b=r(c,f)|0;a[e+b>>0]=a[i>>0]|0;a[e+(b+1)>>0]=a[j>>0]|0;a[e+(b+2)>>0]=a[k>>0]|0;a[e+(b+3)>>0]=a[l>>0]|0;a[e+(b+4)>>0]=a[g>>0]|0;a[e+(b+5)>>0]=a[m>>0]|0;a[e+(b+6)>>0]=a[n>>0]|0;a[e+(b+7)>>0]=a[o>>0]|0;a[e+(b+8)>>0]=a[p>>0]|0;a[e+(b+9)>>0]=a[q>>0]|0;a[e+(b+10)>>0]=a[s>>0]|0;a[e+(b+11)>>0]=a[t>>0]|0;a[e+(b+12)>>0]=a[u>>0]|0;a[e+(b+13)>>0]=a[v>>0]|0;a[e+(b+14)>>0]=a[w>>0]|0;a[e+(b+15)>>0]=a[x>>0]|0;a[e+(b+16)>>0]=a[y>>0]|0;a[e+(b+17)>>0]=a[z>>0]|0;a[e+(b+18)>>0]=a[A>>0]|0;a[e+(b+19)>>0]=a[B>>0]|0;a[e+(b+20)>>0]=a[C>>0]|0;a[e+(b+21)>>0]=a[D>>0]|0;a[e+(b+22)>>0]=a[E>>0]|0;a[e+(b+23)>>0]=a[F>>0]|0;a[e+(b+24)>>0]=a[G>>0]|0;a[e+(b+25)>>0]=a[H>>0]|0;a[e+(b+26)>>0]=a[I>>0]|0;a[e+(b+27)>>0]=a[J>>0]|0;a[e+(b+28)>>0]=a[K>>0]|0;a[e+(b+29)>>0]=a[L>>0]|0;a[e+(b+30)>>0]=a[M>>0]|0;a[e+(b+31)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=32);return}if(!l)return;h=b+(k|1)|0;i=k+-1|0;j=b+k|0;c=0;do{M=((d[b+(i-c)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;M=(M|0)>0?M:0;a[e+(r(c,f)|0)>>0]=(M|0)<255?M:255;c=c+1|0}while((c|0)!=(g|0));if(!l)return;i=k|1;if((g|0)==1)return;h=0;do{j=r(h,f)|0;c=1;do{a[e+(c+j)>>0]=a[b+(c+i)>>0]|0;c=c+1|0}while((c|0)<(g|0));h=h+1|0}while((h|0)!=(g|0));return}function hf(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((f|0)<=0)return;h=(f<<1)+-1|0;c=0;do{i=h+~c|0;g=0;do{a[d+((r(g,e)|0)+c)>>0]=a[b+(i-g)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+1|0}while((c|0)!=(f|0));return}function jf(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f<<1;j=(g|0)==18?-32:32;if((f|0)<=0)return;g=0;do{i=g;g=g+1|0;h=(r(g,j)|0)>>5;i=r(i,e)|0;c=0;do{l=c;c=c+1|0;a[d+(l+i)>>0]=a[b+(c+k+h)>>0]|0}while((c|0)!=(f|0))}while((g|0)!=(f|0));return}function kf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;e=0;do{i=e;e=e+1|0;l=r(e,n)|0;k=l>>5;l=l&31;m=32-l|0;j=0;do{p=o-j-k|0;q=r(m,d[b+(p+-1)>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(q+16+(r(l,d[b+(p+-2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));return}function lf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;j=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-11<<2)>>2]|0;n=j+h|0;if((h|0)>=0){i=h+-1|0;e=0;while(1){a[j+(i+e)>>0]=a[b+(l-e)>>0]|0;if((e|0)==(h|0))break;else e=e+1|0}}m=n+-1|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[m+i>>0]=a[b+((e>>8)+l)>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}e=0;do{i=e;e=e+1|0;l=r(e,o)|0;k=l>>5;l=l&31;b=32-l|0;j=0;do{q=j+k|0;s=r(b,d[n+q>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(s+16+(r(l,d[m+(q+2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));Sb=p;return}function mf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;e=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-12<<2)>>2]|0;m=e+h|0;n=m+-1|0;if((h|0)>=0)Pk(e+(h+-1)|0,b+l|0,h+1|0)|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[n+i>>0]=a[b+(l-(e>>8))>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}i=0;do{b=i;i=i+1|0;k=r(i,o)|0;j=k>>5;k=k&31;l=32-k|0;b=r(b,g)|0;e=0;do{q=e+j|0;s=r(l,d[m+q>>0]|0)|0;a[f+(e+b)>>0]=(s+16+(r(k,d[n+(q+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));Sb=p;return}function nf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;i=0;do{m=i;i=i+1|0;k=r(i,n)|0;j=k&31;k=(k>>5)+o|0;l=32-j|0;m=r(m,g)|0;e=0;do{p=k+e|0;q=r(l,d[b+(p+1)>>0]|0)|0;a[f+(e+m)>>0]=(q+16+(r(j,d[b+(p+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));return}function of(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;j=1<<f+-1;k=d<<1;l=d*3|0;if(!(g&1)){i=b[a>>1]|0;o=a+(k<<1)|0;p=b[o>>1]|0;m=p+i|0;n=a+(l<<1)|0;h=b[n>>1]|0;p=h+p|0;h=i-h|0;i=(b[a+(d<<1)>>1]|0)*74|0;q=i+j|0;s=q+(m*29|0)+(p*55|0)>>f;s=(s|0)>-32768?s:-32768;b[c>>1]=(s|0)<32767?s:32767;p=q+(r(p,-29)|0)+(h*55|0)>>f;p=(p|0)>-32768?p:-32768;b[c+2>>1]=(p|0)<32767?p:32767;n=(((b[a>>1]|0)-(b[o>>1]|0)+(b[n>>1]|0)|0)*74|0)+j>>f;n=(n|0)>-32768?n:-32768;b[c+4>>1]=(n|0)<32767?n:32767;i=(m*55|0)+j+(h*29|0)-i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{s=c;q=s;b[q>>1]=0;b[q+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){s=b[h>>1]|0;n=h+(k<<1)|0;m=b[n>>1]|0;p=m+s|0;o=h+(l<<1)|0;q=b[o>>1]|0;m=q+m|0;q=s-q|0;s=(b[h+(d<<1)>>1]|0)*74|0;c=s+j|0;t=c+(p*29|0)+(m*55|0)>>f;t=(t|0)>-32768?t:-32768;b[i>>1]=(t|0)<32767?t:32767;m=c+(r(m,-29)|0)+(q*55|0)>>f;m=(m|0)>-32768?m:-32768;b[i+2>>1]=(m|0)<32767?m:32767;o=(((b[h>>1]|0)-(b[n>>1]|0)+(b[o>>1]|0)|0)*74|0)+j>>f;o=(o|0)>-32768?o:-32768;b[i+4>>1]=(o|0)<32767?o:32767;s=(p*55|0)+j+(q*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[i+6>>1]=(s|0)<32767?s:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){t=b[c>>1]|0;o=c+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=c+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[c+(d<<1)>>1]|0)*74|0;m=t+j|0;h=m+(q*29|0)+(n*55|0)>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[i+2>>1]=(n|0)<32767?n:32767;p=(((b[c>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[i+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[i+6>>1]=(t|0)<32767?t:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){t=b[h>>1]|0;o=h+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=h+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[h+(d<<1)>>1]|0)*74|0;m=t+j|0;l=m+(q*29|0)+(n*55|0)>>f;l=(l|0)>-32768?l:-32768;b[c>>1]=(l|0)<32767?l:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[c+2>>1]=(n|0)<32767?n:32767;p=(((b[h>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[c+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[c+6>>1]=(t|0)<32767?t:32767;return}else{t=c;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16;return}}function pf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;t=1<<f+-1;u=b[16820]|0;j=b[16828]|0;k=d*3|0;l=b[16821]|0;m=b[16829]|0;n=b[16816]|0;o=b[16824]|0;p=d<<1;q=b[16817]|0;s=b[16825]|0;if(!(g&1)){w=b[a+(d<<1)>>1]|0;h=r(w,u)|0;v=b[a+(k<<1)>>1]|0;h=(r(v,j)|0)+h|0;w=(r(m,v)|0)+(r(l,w)|0)|0;v=b[a>>1]|0;i=r(v,n)|0;x=b[a+(p<<1)>>1]|0;i=(r(x,o)|0)+i|0;v=(r(s,x)|0)+(r(q,v)|0)|0;x=h+t+i>>f;x=(x|0)>-32768?x:-32768;b[c>>1]=(x|0)<32767?x:32767;x=w+t+v>>f;x=(x|0)>-32768?x:-32768;b[c+2>>1]=(x|0)<32767?x:32767;v=t-w+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;i=t-h+i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){c=b[h+(d<<1)>>1]|0;w=r(c,u)|0;v=b[h+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;c=(r(m,v)|0)+(r(l,c)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;h=b[h+(p<<1)>>1]|0;x=(r(h,o)|0)+x|0;v=(r(s,h)|0)+(r(q,v)|0)|0;h=w+t+x>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;h=c+t+v>>f;h=(h|0)>-32768?h:-32768;b[i+2>>1]=(h|0)<32767?h:32767;v=t-c+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){h=b[c+(d<<1)>>1]|0;w=r(h,u)|0;v=b[c+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;h=(r(m,v)|0)+(r(l,h)|0)|0;v=b[c>>1]|0;x=r(v,n)|0;c=b[c+(p<<1)>>1]|0;x=(r(c,o)|0)+x|0;v=(r(s,c)|0)+(r(q,v)|0)|0;c=w+t+x>>f;c=(c|0)>-32768?c:-32768;b[i>>1]=(c|0)<32767?c:32767;c=h+t+v>>f;c=(c|0)>-32768?c:-32768;b[i+2>>1]=(c|0)<32767?c:32767;v=t-h+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){v=b[h+(d<<1)>>1]|0;w=r(v,u)|0;u=b[h+(k<<1)>>1]|0;w=(r(u,j)|0)+w|0;u=(r(m,u)|0)+(r(l,v)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;g=b[h+(p<<1)>>1]|0;x=(r(g,o)|0)+x|0;v=(r(s,g)|0)+(r(q,v)|0)|0;g=w+t+x>>f;g=(g|0)>-32768?g:-32768;b[c>>1]=(g|0)<32767?g:32767;g=u+t+v>>f;g=(g|0)>-32768?g:-32768;b[c+2>>1]=(g|0)<32767?g:32767;v=t-u+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[c+6>>1]=(x|0)<32767?x:32767;return}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16;return}}function qf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;T=Sb;Sb=Sb+16|0;M=T;R=1<<g+-1;S=e*3|0;j=e*5|0;k=e*7|0;l=b[16848]|0;m=e<<1;n=b[16880]|0;o=e*6|0;p=b[16849]|0;q=b[16881]|0;s=b[16832]|0;t=b[16864]|0;u=e<<2;v=b[16833]|0;w=b[16865]|0;x=b[16840]|0;y=b[16856]|0;z=b[16872]|0;A=b[16888]|0;B=b[16841]|0;C=b[16857]|0;D=b[16873]|0;E=b[16889]|0;F=M+4|0;G=b[16842]|0;H=b[16858]|0;I=b[16874]|0;J=b[16890]|0;K=M+8|0;L=b[16843]|0;N=b[16859]|0;O=b[16875]|0;P=b[16891]|0;Q=M+12|0;i=0;while(1){if(!(h&1)){W=b[a+(e<<1)>>1]|0;_=b[a+(S<<1)>>1]|0;Z=b[a+(j<<1)>>1]|0;V=b[a+(k<<1)>>1]|0;aa=(r(_,y)|0)+(r(W,x)|0)+(r(Z,z)|0)+(r(V,A)|0)|0;c[M>>2]=aa;$=(r(_,C)|0)+(r(W,B)|0)+(r(Z,D)|0)+(r(V,E)|0)|0;c[F>>2]=$;Y=(r(_,H)|0)+(r(W,G)|0)+(r(Z,I)|0)+(r(V,J)|0)|0;c[K>>2]=Y;V=(r(_,N)|0)+(r(W,L)|0)+(r(Z,O)|0)+(r(V,P)|0)|0;c[Q>>2]=V;Z=b[a+(m<<1)>>1]|0;W=r(Z,l)|0;_=b[a+(o<<1)>>1]|0;W=(r(_,n)|0)+W|0;Z=(r(q,_)|0)+(r(p,Z)|0)|0;_=b[a>>1]|0;X=r(_,s)|0;U=b[a+(u<<1)>>1]|0;X=(r(U,t)|0)+X|0;_=(r(w,U)|0)+(r(v,_)|0)|0;U=X+W+R|0;aa=U+aa>>g;aa=(aa|0)>-32768?aa:-32768;b[d>>1]=(aa|0)<32767?aa:32767;W=X-W+R|0;X=W-V>>g;X=(X|0)>-32768?X:-32768;b[d+8>>1]=(X|0)<32767?X:32767;X=_+Z+R|0;$=X+$>>g;$=($|0)>-32768?$:-32768;b[d+2>>1]=($|0)<32767?$:32767;Z=_-Z+R|0;_=Z-Y>>g;_=(_|0)>-32768?_:-32768;b[d+10>>1]=(_|0)<32767?_:32767;Y=Z+Y>>g;Y=(Y|0)>-32768?Y:-32768;b[d+4>>1]=(Y|0)<32767?Y:32767;X=X-(c[F>>2]|0)>>g;X=(X|0)>-32768?X:-32768;b[d+12>>1]=(X|0)<32767?X:32767;V=W+V>>g;V=(V|0)>-32768?V:-32768;b[d+6>>1]=(V|0)<32767?V:32767;U=U-(c[M>>2]|0)>>g;U=(U|0)>-32768?U:-32768;b[d+14>>1]=(U|0)<32767?U:32767}else{b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;b[d+12>>1]=0;b[d+14>>1]=0}i=i+1|0;if((i|0)==8)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0}}Sb=T;return}function rf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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;Fb=Sb;Sb=Sb+80|0;hb=Fb+48|0;nb=Fb+16|0;ub=Fb;p=1<<g+-1;x=e*3|0;D=e*5|0;J=e*7|0;P=e*9|0;W=e*11|0;aa=e*13|0;ga=e*15|0;na=e<<1;ta=e*6|0;za=e*10|0;Ga=e*14|0;Pa=b[16960]|0;Qa=e<<2;Ra=b[17088]|0;Sa=e*12|0;Ta=b[16896]|0;Ua=b[17024]|0;Va=e<<3;Wa=b[16961]|0;Xa=b[17089]|0;Ya=b[16897]|0;Za=b[17025]|0;_a=b[16912]|0;$a=b[16944]|0;ab=b[16976]|0;bb=b[17008]|0;cb=b[17040]|0;db=b[17072]|0;eb=b[17104]|0;fb=b[17136]|0;gb=b[16913]|0;ib=b[16945]|0;jb=b[16977]|0;kb=b[17009]|0;lb=b[17041]|0;mb=b[17073]|0;ob=b[17105]|0;pb=b[17137]|0;qb=nb+4|0;rb=b[16914]|0;sb=b[16946]|0;tb=b[16978]|0;vb=b[17010]|0;wb=b[17042]|0;xb=b[17074]|0;yb=b[17106]|0;zb=b[17138]|0;Ab=nb+8|0;Bb=b[16915]|0;Cb=b[16947]|0;Db=b[16979]|0;Eb=b[17011]|0;q=b[17043]|0;s=b[17075]|0;t=b[17107]|0;u=b[17139]|0;v=nb+12|0;w=b[16916]|0;y=b[16948]|0;z=b[16980]|0;A=b[17012]|0;B=b[17044]|0;C=b[17076]|0;E=b[17108]|0;F=b[17140]|0;G=nb+16|0;H=b[16917]|0;I=b[16949]|0;K=b[16981]|0;L=b[17013]|0;M=b[17045]|0;N=b[17077]|0;O=b[17109]|0;Q=b[17141]|0;R=nb+20|0;S=b[16918]|0;T=b[16950]|0;U=b[16982]|0;V=b[17014]|0;X=b[17046]|0;Y=b[17078]|0;Z=b[17110]|0;_=b[17142]|0;$=nb+24|0;ba=b[16919]|0;ca=b[16951]|0;da=b[16983]|0;ea=b[17015]|0;fa=b[17047]|0;ha=b[17079]|0;ia=b[17111]|0;ja=b[17143]|0;ka=nb+28|0;la=b[16928]|0;ma=b[16992]|0;oa=b[17056]|0;pa=b[17120]|0;qa=b[16929]|0;ra=b[16993]|0;sa=b[17057]|0;ua=b[17121]|0;va=ub+4|0;wa=b[16930]|0;xa=b[16994]|0;ya=b[17058]|0;Aa=b[17122]|0;Ba=ub+8|0;Ca=b[16931]|0;Da=b[16995]|0;Ea=b[17059]|0;Fa=b[17123]|0;Ha=ub+12|0;Ia=hb+16|0;Ja=hb+4|0;Ka=hb+20|0;La=hb+8|0;Ma=hb+24|0;Na=hb+12|0;Oa=hb+28|0;o=0;i=c[Ha>>2]|0;j=c[Ba>>2]|0;k=c[va>>2]|0;l=c[ub>>2]|0;while(1){if(!(h&1)){j=b[a+(e<<1)>>1]|0;n=b[a+(x<<1)>>1]|0;k=b[a+(D<<1)>>1]|0;l=b[a+(J<<1)>>1]|0;i=b[a+(P<<1)>>1]|0;Ib=b[a+(W<<1)>>1]|0;m=b[a+(aa<<1)>>1]|0;Hb=b[a+(ga<<1)>>1]|0;c[nb>>2]=(r(n,$a)|0)+(r(j,_a)|0)+(r(k,ab)|0)+(r(l,bb)|0)+(r(i,cb)|0)+(r(Ib,db)|0)+(r(m,eb)|0)+(r(Hb,fb)|0);c[qb>>2]=(r(n,ib)|0)+(r(j,gb)|0)+(r(k,jb)|0)+(r(l,kb)|0)+(r(i,lb)|0)+(r(Ib,mb)|0)+(r(m,ob)|0)+(r(Hb,pb)|0);c[Ab>>2]=(r(n,sb)|0)+(r(j,rb)|0)+(r(k,tb)|0)+(r(l,vb)|0)+(r(i,wb)|0)+(r(Ib,xb)|0)+(r(m,yb)|0)+(r(Hb,zb)|0);c[v>>2]=(r(n,Cb)|0)+(r(j,Bb)|0)+(r(k,Db)|0)+(r(l,Eb)|0)+(r(i,q)|0)+(r(Ib,s)|0)+(r(m,t)|0)+(r(Hb,u)|0);c[G>>2]=(r(n,y)|0)+(r(j,w)|0)+(r(k,z)|0)+(r(l,A)|0)+(r(i,B)|0)+(r(Ib,C)|0)+(r(m,E)|0)+(r(Hb,F)|0);c[R>>2]=(r(n,I)|0)+(r(j,H)|0)+(r(k,K)|0)+(r(l,L)|0)+(r(i,M)|0)+(r(Ib,N)|0)+(r(m,O)|0)+(r(Hb,Q)|0);c[$>>2]=(r(n,T)|0)+(r(j,S)|0)+(r(k,U)|0)+(r(l,V)|0)+(r(i,X)|0)+(r(Ib,Y)|0)+(r(m,Z)|0)+(r(Hb,_)|0);c[ka>>2]=(r(n,ca)|0)+(r(j,ba)|0)+(r(k,da)|0)+(r(l,ea)|0)+(r(i,fa)|0)+(r(Ib,ha)|0)+(r(m,ia)|0)+(r(Hb,ja)|0);Hb=b[a+(na<<1)>>1]|0;m=b[a+(ta<<1)>>1]|0;Ib=b[a+(za<<1)>>1]|0;i=b[a+(Ga<<1)>>1]|0;l=(r(m,ma)|0)+(r(Hb,la)|0)+(r(Ib,oa)|0)+(r(i,pa)|0)|0;k=(r(m,ra)|0)+(r(Hb,qa)|0)+(r(Ib,sa)|0)+(r(i,ua)|0)|0;j=(r(m,xa)|0)+(r(Hb,wa)|0)+(r(Ib,ya)|0)+(r(i,Aa)|0)|0;i=(r(m,Da)|0)+(r(Hb,Ca)|0)+(r(Ib,Ea)|0)+(r(i,Fa)|0)|0;Ib=b[a+(Qa<<1)>>1]|0;Hb=r(Ib,Pa)|0;m=b[a+(Sa<<1)>>1]|0;Hb=(r(m,Ra)|0)+Hb|0;n=b[a>>1]|0;Lb=r(n,Ta)|0;Kb=b[a+(Va<<1)>>1]|0;Lb=(r(Kb,Ua)|0)+Lb|0;Ib=(r(Xa,m)|0)+(r(Wa,Ib)|0)|0;n=(r(Za,Kb)|0)+(r(Ya,n)|0)|0;Kb=Hb+Lb|0;m=n-Ib|0;n=Ib+n|0;Hb=Lb-Hb|0;Lb=l+Kb|0;c[hb>>2]=Lb;Ib=Hb-i|0;c[Ia>>2]=Ib;Jb=k+n|0;c[Ja>>2]=Jb;Gb=m-j|0;c[Ka>>2]=Gb;m=j+m|0;c[La>>2]=m;n=n-k|0;c[Ma>>2]=n;Hb=i+Hb|0;c[Na>>2]=Hb;Kb=Kb-l|0;c[Oa>>2]=Kb;Lb=Lb+p+(c[nb>>2]|0)>>g;Lb=(Lb|0)>-32768?Lb:-32768;b[d>>1]=(Lb|0)<32767?Lb:32767;Kb=Kb+p-(c[ka>>2]|0)>>g;Kb=(Kb|0)>-32768?Kb:-32768;b[d+16>>1]=(Kb|0)<32767?Kb:32767;Jb=Jb+p+(c[qb>>2]|0)>>g;Jb=(Jb|0)>-32768?Jb:-32768;b[d+2>>1]=(Jb|0)<32767?Jb:32767;n=n+p-(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+18>>1]=(n|0)<32767?n:32767;n=c[Ab>>2]|0;m=m+p+n>>g;m=(m|0)>-32768?m:-32768;b[d+4>>1]=(m|0)<32767?m:32767;m=c[R>>2]|0;Gb=Gb+p-m>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+20>>1]=(Gb|0)<32767?Gb:32767;Gb=c[v>>2]|0;Hb=Hb+p+Gb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+6>>1]=(Hb|0)<32767?Hb:32767;Hb=c[G>>2]|0;Ib=Ib+p-Hb>>g;Ib=(Ib|0)>-32768?Ib:-32768;b[d+22>>1]=(Ib|0)<32767?Ib:32767;Hb=(c[Ia>>2]|0)+p+Hb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+8>>1]=(Hb|0)<32767?Hb:32767;Gb=(c[Na>>2]|0)+p-Gb>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+24>>1]=(Gb|0)<32767?Gb:32767;m=(c[Ka>>2]|0)+p+m>>g;m=(m|0)>-32768?m:-32768;b[d+10>>1]=(m|0)<32767?m:32767;n=(c[La>>2]|0)+p-n>>g;n=(n|0)>-32768?n:-32768;b[d+26>>1]=(n|0)<32767?n:32767;n=(c[Ma>>2]|0)+p+(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+12>>1]=(n|0)<32767?n:32767;n=(c[Ja>>2]|0)+p-(c[qb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+28>>1]=(n|0)<32767?n:32767;n=(c[Oa>>2]|0)+p+(c[ka>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+14>>1]=(n|0)<32767?n:32767;n=(c[hb>>2]|0)+p-(c[nb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+30>>1]=(n|0)<32767?n:32767}else{m=d;n=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}o=o+1|0;if((o|0)==16)break;else{h=h>>1;d=d+(f<<1)|0;a=a+2|0}}c[ub>>2]=l;c[va>>2]=k;c[Ba>>2]=j;c[Ha>>2]=i;Sb=Fb;return}function sf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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,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;oc=Sb;Sb=Sb+176|0;Rb=oc+112|0;Yb=oc+48|0;cc=oc+16|0;ic=oc;H=1<<g+-1;N=e*3|0;T=e*5|0;Z=e*7|0;ea=e*9|0;ka=e*11|0;qa=e*13|0;xa=e*15|0;Da=e*17|0;Ja=e*19|0;Qa=e*21|0;Wa=e*23|0;cb=e*25|0;nb=e*27|0;rb=e*29|0;sb=e*31|0;tb=e<<1;ub=e*6|0;vb=e*10|0;wb=e*14|0;xb=e*18|0;yb=e*22|0;zb=e*26|0;Ab=e*30|0;Bb=e<<2;Cb=e*12|0;Db=e*20|0;Eb=e*28|0;Fb=b[17408]|0;Gb=e<<3;Hb=b[17920]|0;Ib=e*24|0;Jb=b[17409]|0;Kb=b[17921]|0;Lb=b[17152]|0;Mb=b[17664]|0;Nb=e<<4;Ob=b[17153]|0;Pb=b[17665]|0;Qb=b[17216]|0;Tb=b[17344]|0;Ub=b[17472]|0;Vb=b[17600]|0;Wb=b[17728]|0;Xb=b[17856]|0;Zb=b[17984]|0;_b=b[18112]|0;$b=b[17217]|0;ac=b[17345]|0;bc=b[17473]|0;dc=b[17601]|0;ec=b[17729]|0;fc=b[17857]|0;gc=b[17985]|0;hc=b[18113]|0;jc=cc+4|0;kc=b[17218]|0;lc=b[17346]|0;mc=b[17474]|0;nc=b[17602]|0;B=b[17730]|0;C=b[17858]|0;D=b[17986]|0;E=b[18114]|0;F=cc+8|0;G=b[17219]|0;I=b[17347]|0;J=b[17475]|0;K=b[17603]|0;L=b[17731]|0;M=b[17859]|0;O=b[17987]|0;P=b[18115]|0;Q=cc+12|0;R=b[17220]|0;S=b[17348]|0;U=b[17476]|0;V=b[17604]|0;W=b[17732]|0;X=b[17860]|0;Y=b[17988]|0;_=b[18116]|0;$=cc+16|0;aa=b[17221]|0;ba=b[17349]|0;ca=b[17477]|0;da=b[17605]|0;fa=b[17733]|0;ga=b[17861]|0;ha=b[17989]|0;ia=b[18117]|0;ja=cc+20|0;la=b[17222]|0;ma=b[17350]|0;na=b[17478]|0;oa=b[17606]|0;pa=b[17734]|0;ra=b[17862]|0;sa=b[17990]|0;ta=b[18118]|0;ua=cc+24|0;va=b[17223]|0;wa=b[17351]|0;ya=b[17479]|0;za=b[17607]|0;Aa=b[17735]|0;Ba=b[17863]|0;Ca=b[17991]|0;Ea=b[18119]|0;Fa=cc+28|0;Ga=b[17280]|0;Ha=b[17536]|0;Ia=b[17792]|0;Ka=b[18048]|0;La=b[17281]|0;Ma=b[17537]|0;Na=b[17793]|0;Oa=b[18049]|0;Pa=ic+4|0;Ra=b[17282]|0;Sa=b[17538]|0;Ta=b[17794]|0;Ua=b[18050]|0;Va=ic+8|0;Xa=b[17283]|0;Ya=b[17539]|0;Za=b[17795]|0;_a=b[18051]|0;$a=ic+12|0;ab=Rb+32|0;bb=Rb+4|0;db=Rb+36|0;eb=Rb+8|0;fb=Rb+40|0;gb=Rb+12|0;hb=Rb+44|0;ib=Rb+16|0;jb=Rb+48|0;kb=Rb+20|0;lb=Rb+52|0;mb=Rb+24|0;ob=Rb+56|0;pb=Rb+28|0;qb=Rb+60|0;A=0;i=c[$a>>2]|0;j=c[Va>>2]|0;w=c[Pa>>2]|0;v=c[ic>>2]|0;t=c[Fa>>2]|0;u=c[ua>>2]|0;s=c[ja>>2]|0;q=c[$>>2]|0;p=c[Q>>2]|0;o=c[F>>2]|0;n=c[jc>>2]|0;k=c[cc>>2]|0;while(1){a:do if(!(h&1)){j=b[a+(e<<1)>>1]|0;k=b[a+(N<<1)>>1]|0;l=b[a+(T<<1)>>1]|0;m=b[a+(Z<<1)>>1]|0;n=b[a+(ea<<1)>>1]|0;o=b[a+(ka<<1)>>1]|0;p=b[a+(qa<<1)>>1]|0;q=b[a+(xa<<1)>>1]|0;s=b[a+(Da<<1)>>1]|0;t=b[a+(Ja<<1)>>1]|0;u=b[a+(Qa<<1)>>1]|0;v=b[a+(Wa<<1)>>1]|0;w=b[a+(cb<<1)>>1]|0;x=b[a+(nb<<1)>>1]|0;y=b[a+(rb<<1)>>1]|0;z=b[a+(sb<<1)>>1]|0;i=0;do{pc=r(j,b[34368+(i<<1)>>1]|0)|0;pc=(r(k,b[34496+(i<<1)>>1]|0)|0)+pc|0;pc=pc+(r(l,b[34624+(i<<1)>>1]|0)|0)|0;pc=pc+(r(m,b[34752+(i<<1)>>1]|0)|0)|0;pc=pc+(r(n,b[34880+(i<<1)>>1]|0)|0)|0;pc=pc+(r(o,b[35008+(i<<1)>>1]|0)|0)|0;pc=pc+(r(p,b[35136+(i<<1)>>1]|0)|0)|0;pc=pc+(r(q,b[35264+(i<<1)>>1]|0)|0)|0;pc=pc+(r(s,b[35392+(i<<1)>>1]|0)|0)|0;pc=pc+(r(t,b[35520+(i<<1)>>1]|0)|0)|0;pc=pc+(r(u,b[35648+(i<<1)>>1]|0)|0)|0;pc=pc+(r(v,b[35776+(i<<1)>>1]|0)|0)|0;pc=pc+(r(w,b[35904+(i<<1)>>1]|0)|0)|0;pc=pc+(r(x,b[36032+(i<<1)>>1]|0)|0)|0;pc=pc+(r(y,b[36160+(i<<1)>>1]|0)|0)|0;c[Yb+(i<<2)>>2]=pc+(r(z,b[36288+(i<<1)>>1]|0)|0);i=i+1|0}while((i|0)!=16);v=b[a+(tb<<1)>>1]|0;w=b[a+(ub<<1)>>1]|0;m=b[a+(vb<<1)>>1]|0;i=b[a+(wb<<1)>>1]|0;x=b[a+(xb<<1)>>1]|0;l=b[a+(yb<<1)>>1]|0;rc=b[a+(zb<<1)>>1]|0;t=b[a+(Ab<<1)>>1]|0;k=(r(w,Tb)|0)+(r(v,Qb)|0)+(r(m,Ub)|0)+(r(i,Vb)|0)+(r(x,Wb)|0)+(r(l,Xb)|0)+(r(rc,Zb)|0)+(r(t,_b)|0)|0;n=(r(w,ac)|0)+(r(v,$b)|0)+(r(m,bc)|0)+(r(i,dc)|0)+(r(x,ec)|0)+(r(l,fc)|0)+(r(rc,gc)|0)+(r(t,hc)|0)|0;o=(r(w,lc)|0)+(r(v,kc)|0)+(r(m,mc)|0)+(r(i,nc)|0)+(r(x,B)|0)+(r(l,C)|0)+(r(rc,D)|0)+(r(t,E)|0)|0;p=(r(w,I)|0)+(r(v,G)|0)+(r(m,J)|0)+(r(i,K)|0)+(r(x,L)|0)+(r(l,M)|0)+(r(rc,O)|0)+(r(t,P)|0)|0;q=(r(w,S)|0)+(r(v,R)|0)+(r(m,U)|0)+(r(i,V)|0)+(r(x,W)|0)+(r(l,X)|0)+(r(rc,Y)|0)+(r(t,_)|0)|0;s=(r(w,ba)|0)+(r(v,aa)|0)+(r(m,ca)|0)+(r(i,da)|0)+(r(x,fa)|0)+(r(l,ga)|0)+(r(rc,ha)|0)+(r(t,ia)|0)|0;u=(r(w,ma)|0)+(r(v,la)|0)+(r(m,na)|0)+(r(i,oa)|0)+(r(x,pa)|0)+(r(l,ra)|0)+(r(rc,sa)|0)+(r(t,ta)|0)|0;t=(r(w,wa)|0)+(r(v,va)|0)+(r(m,ya)|0)+(r(i,za)|0)+(r(x,Aa)|0)+(r(l,Ba)|0)+(r(rc,Ca)|0)+(r(t,Ea)|0)|0;rc=b[a+(Bb<<1)>>1]|0;l=b[a+(Cb<<1)>>1]|0;x=b[a+(Db<<1)>>1]|0;i=b[a+(Eb<<1)>>1]|0;m=(r(l,Ha)|0)+(r(rc,Ga)|0)+(r(x,Ia)|0)+(r(i,Ka)|0)|0;v=(r(l,Ma)|0)+(r(rc,La)|0)+(r(x,Na)|0)+(r(i,Oa)|0)|0;w=(r(l,Sa)|0)+(r(rc,Ra)|0)+(r(x,Ta)|0)+(r(i,Ua)|0)|0;i=(r(l,Ya)|0)+(r(rc,Xa)|0)+(r(x,Za)|0)+(r(i,_a)|0)|0;x=b[a+(Gb<<1)>>1]|0;rc=r(x,Fb)|0;l=b[a+(Ib<<1)>>1]|0;rc=(r(l,Hb)|0)+rc|0;x=(r(Kb,l)|0)+(r(Jb,x)|0)|0;l=b[a>>1]|0;y=r(l,Lb)|0;pc=b[a+(Nb<<1)>>1]|0;y=(r(pc,Mb)|0)+y|0;l=(r(Pb,pc)|0)+(r(Ob,l)|0)|0;pc=y+rc|0;rc=y-rc|0;y=l+x|0;x=l-x|0;l=m+pc|0;sc=rc-i|0;z=v+y|0;qc=x-w|0;x=w+x|0;y=y-v|0;rc=i+rc|0;pc=pc-m|0;j=k+l|0;c[Rb>>2]=j;c[ab>>2]=pc-t;c[bb>>2]=n+z;c[db>>2]=y-u;c[eb>>2]=o+x;c[fb>>2]=qc-s;c[gb>>2]=p+rc;c[hb>>2]=sc-q;c[ib>>2]=q+sc;c[jb>>2]=rc-p;c[kb>>2]=s+qc;c[lb>>2]=x-o;c[mb>>2]=u+y;c[ob>>2]=z-n;c[pb>>2]=t+pc;c[qb>>2]=l-k;l=0;while(1){j=j+H+(c[Yb+(l<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l<<1)>>1]=(j|0)<32767?j:32767;j=15-l|0;j=(c[Rb+(j<<2)>>2]|0)+H-(c[Yb+(j<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l+16<<1)>>1]=(j|0)<32767?j:32767;j=l+1|0;if((j|0)==16){l=v;j=w;break a}l=j;j=c[Rb+(j<<2)>>2]|0}}else{l=d;m=l+64|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));m=v;l=w}while(0);A=A+1|0;if((A|0)==32)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0;w=l;v=m}}c[cc>>2]=k;c[jc>>2]=n;c[F>>2]=o;c[Q>>2]=p;c[$>>2]=q;c[ja>>2]=s;c[ua>>2]=u;c[Fa>>2]=t;c[ic>>2]=m;c[Pa>>2]=l;c[Va>>2]=j;c[$a>>2]=i;Sb=oc;return}function tf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=h<<1;p=h*3|0;if(!(k&1)){o=b[c>>1]|0;t=c+(q<<1)|0;u=b[t>>1]|0;n=u+o|0;s=c+(p<<1)|0;l=b[s>>1]|0;u=l+u|0;l=o-l|0;o=(b[c+(h<<1)>>1]|0)*74|0;m=(u*55|0)+(n*29|0)+o|0;m=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;b[e>>1]=m;u=(l*55|0)+(r(u,-29)|0)+o|0;b[e+2>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;s=((b[c>>1]|0)-(b[t>>1]|0)+(b[s>>1]|0)|0)*74|0;b[e+4>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;o=(l*29|0)+(n*55|0)-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{m=e;u=m;b[u>>1]=0;b[u+2>>1]=0>>>16;m=m+4|0;b[m>>1]=0;b[m+2>>1]=0>>>16;m=0}l=c+2|0;n=e+8|0;if(!(k&2)){t=b[l>>1]|0;w=l+(q<<1)|0;x=b[w>>1]|0;s=x+t|0;v=l+(p<<1)|0;o=b[v>>1]|0;x=o+x|0;o=t-o|0;t=(b[l+(h<<1)>>1]|0)*74|0;u=(x*55|0)+(s*29|0)+t|0;u=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;b[n>>1]=u;n=(o*55|0)+(r(x,-29)|0)+t|0;b[e+10>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=((b[l>>1]|0)-(b[w>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+12>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=(o*29|0)+(s*55|0)-t|0;b[e+14>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=u}else{x=n;b[x>>1]=0;b[x+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+4|0;o=e+16|0;if(!(k&4)){x=b[l>>1]|0;t=l+(q<<1)|0;s=b[t>>1]|0;w=s+x|0;u=l+(p<<1)|0;v=b[u>>1]|0;s=v+s|0;v=x-v|0;x=(b[l+(h<<1)>>1]|0)*74|0;y=(s*55|0)+(w*29|0)+x|0;b[o>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535;s=(v*55|0)+(r(s,-29)|0)+x|0;b[e+18>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;u=((b[l>>1]|0)-(b[t>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+20>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;x=(v*29|0)+(w*55|0)-x|0;b[e+22>>1]=(x|0)>4194239?32767:(x|0)<-4194368?-32768:(x+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}l=c+6|0;o=e+24|0;if(!(k&8)){y=b[l>>1]|0;u=l+(q<<1)|0;t=b[u>>1]|0;x=t+y|0;v=l+(p<<1)|0;w=b[v>>1]|0;t=w+t|0;w=y-w|0;y=(b[l+(h<<1)>>1]|0)*74|0;s=(t*55|0)+(x*29|0)+y|0;b[o>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;t=(w*55|0)+(r(t,-29)|0)+y|0;b[e+26>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;v=((b[l>>1]|0)-(b[u>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+28>>1]=(v|0)>4194239?32767:(v|0)<-4194368?-32768:(v+64|0)>>>7&65535;y=(w*29|0)+(x*55|0)-y|0;b[e+30>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}o=f;l=0;while(1){m=m<<16>>16;v=e+16|0;u=b[v>>1]|0;y=u+m|0;w=e+24|0;x=b[w>>1]|0;u=x+u|0;x=m-x|0;m=(n<<16>>16)*74|0;t=(u*55|0)+(y*29|0)+m|0;t=((t|0)>134215679?32767:(t|0)<-134219776?-32768:t+2048>>12)+(d[o>>0]|0)|0;t=(t|0)>0?t:0;a[g>>0]=(t|0)<255?t:255;u=(x*55|0)+(r(u,-29)|0)+m|0;u=((u|0)>134215679?32767:(u|0)<-134219776?-32768:u+2048>>12)+(d[o+1>>0]|0)|0;u=(u|0)>0?u:0;a[g+1>>0]=(u|0)<255?u:255;w=((b[e>>1]|0)-(b[v>>1]|0)+(b[w>>1]|0)|0)*74|0;w=((w|0)>134215679?32767:(w|0)<-134219776?-32768:w+2048>>12)+(d[o+2>>0]|0)|0;w=(w|0)>0?w:0;a[g+2>>0]=(w|0)<255?w:255;m=(x*29|0)+(y*55|0)-m|0;m=((m|0)>134215679?32767:(m|0)<-134219776?-32768:m+2048>>12)+(d[o+3>>0]|0)|0;m=(m|0)>0?m:0;a[g+3>>0]=(m|0)<255?m:255;m=e+2|0;l=l+1|0;if((l|0)==4)break;n=b[e+10>>1]|0;o=o+i|0;g=g+j|0;e=m;m=b[m>>1]|0}return}function uf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[g+1>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+2>>0]|0)|0;k=(k|0)>0?k:0;a[g+2>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+3>>0]|0)|0;C=(C|0)>0?C:0;a[g+3>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+2>>0]|0)|0;k=(k|0)>0?k:0;a[D+2>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+3>>0]|0)|0;f=(f|0)>0?f:0;a[D+3>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;B=(B|0)>0?B:0;a[D+3>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+1>>0]|0)|0;f=(f|0)>0?f:0;a[D+1>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+2>>0]|0)|0;i=(i|0)>0?i:0;a[D+2>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;C=(C|0)>0?C:0;a[D+3>>0]=(C|0)<255?C:255;return}function vf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=l;while(1){if(!(m&1)){wb=b[e+(i<<1)>>1]|0;zb=b[e+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[e+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;l=r(zb,U)|0;c[V>>2]=l;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[e>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-l|0;c[_>>2]=Ab;l=l+sb|0;c[$>>2]=l;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[K>>2]|0;Ab=Ab-l|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;l=l+(c[_>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{e=e+2|0;n=n+32|0;m=m>>1}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;e=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;e=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){tb=b[e+(i<<1)>>1]|0;Bb=b[e+(yb<<1)>>1]|0;vb=b[e+(zb<<1)>>1]|0;qb=b[e+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[e+(p<<1)>>1]|0;vb=b[e+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[e+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[e>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;l=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=l-ob|0;c[va>>2]=xb;l=ob+l|0;c[wa>>2]=l;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[n>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[n+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[n+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Z>>2]|0;xb=xb-l|0;b[n+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[n+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[n+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[n+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[n+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;l=l+(c[va>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){Rb=b[e+(i<<1)>>1]|0;Qb=b[e+(yb<<1)>>1]|0;Bb=b[e+(zb<<1)>>1]|0;Ob=b[e+(Ab<<1)>>1]|0;Pb=b[e+(p<<1)>>1]|0;Mb=b[e+(q<<1)>>1]|0;l=b[e+(s<<1)>>1]|0;Kb=b[e+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(l,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(l,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(l,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(l,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(l,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(l,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(l,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(l,Xa)|0)+(r(Kb,Ya)|0);Kb=b[e+(u<<1)>>1]|0;l=b[e+(v<<1)>>1]|0;Mb=b[e+(w<<1)>>1]|0;Pb=b[e+(x<<1)>>1]|0;Ob=(r(l,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(l,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(l,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(l,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[e+(z<<1)>>1]|0;Kb=r(Mb,y)|0;l=b[e+(B<<1)>>1]|0;Kb=(r(l,A)|0)+Kb|0;Qb=b[e>>1]|0;Lb=r(Qb,C)|0;Nb=b[e+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,l)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;l=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=l-Rb|0;c[tb>>2]=Jb;l=Rb+l|0;c[ub>>2]=l;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[n>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[n+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[n+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Ha>>2]|0;Jb=Jb-l|0;b[n+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[n+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[n+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[n+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[n+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;l=l+(c[tb>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)-(c[D>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[D>>2]|0)+(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[na>>2]|0)-(c[O>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[O>>2]|0)+(c[na>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[db>>2]|0)-(c[ka>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[ka>>2]|0)+(c[db>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}} |
| | | function oc(){Xd();ri()}function pc(a){a=a|0;var b=0;b=Sb;Sb=Sb+a|0;Sb=Sb+15&-16;return b|0}function qc(){return Sb|0}function rc(a){a=a|0;Sb=a}function sc(a,b){a=a|0;b=b|0;Sb=a;Tb=b}function tc(a,b,c){a=a|0;b=b|0;c=c|0;return hj(c)|0}function uc(a,b){a=a|0;b=b|0;ij(b);return}function vc(){Na();return 0}function wc(a){a=a|0;var b=0;Z(37904,37912,37928,0,40399,3,40402,0,40402,0,39752,40404,25);b=rj(8)|0;c[b>>2]=7;c[b+4>>2]=0;$(37904,39760,3,38992,40407,1,b|0,0);b=rj(8)|0;c[b>>2]=8;c[b+4>>2]=0;$(37904,39766,3,39004,40407,2,b|0,0);b=rj(8)|0;c[b>>2]=26;c[b+4>>2]=0;$(37904,39773,2,39016,40412,9,b|0,0);b=rj(8)|0;c[b>>2]=27;c[b+4>>2]=0;$(37904,39780,2,39016,40412,9,b|0,0);b=rj(8)|0;c[b>>2]=10;c[b+4>>2]=0;a=rj(8)|0;c[a>>2]=11;c[a+4>>2]=0;aa(37904,39798,37872,40416,1,b|0,37872,40407,3,a|0);a=rj(8)|0;c[a>>2]=12;c[a+4>>2]=0;b=rj(8)|0;c[b>>2]=13;c[b+4>>2]=0;aa(37904,39808,37872,40416,1,a|0,37872,40407,3,b|0);b=rj(8)|0;c[b>>2]=14;c[b+4>>2]=0;a=rj(8)|0;c[a>>2]=15;c[a+4>>2]=0;aa(37904,39816,37872,40416,1,b|0,37872,40407,3,a|0);a=rj(8)|0;c[a>>2]=16;c[a+4>>2]=0;b=rj(8)|0;c[b>>2]=17;c[b+4>>2]=0;aa(37904,39828,37872,40416,1,a|0,37872,40407,3,b|0);b=rj(8)|0;c[b>>2]=18;c[b+4>>2]=0;a=rj(8)|0;c[a>>2]=19;c[a+4>>2]=0;aa(37904,39840,37872,40416,1,b|0,37872,40407,3,a|0);a=rj(8)|0;c[a>>2]=20;c[a+4>>2]=0;aa(37904,39844,37872,40416,1,a|0,0,0,0,0);Z(37984,38e3,38016,37904,40399,4,40399,5,40399,6,39855,40404,28);a=rj(4)|0;c[a>>2]=29;$(37984,40420,2,39024,40412,21,a|0,0);_(37904,40440,3,39032,40563,7,2);_(37904,40450,3,39268,40563,8,4);return}function xc(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.0;o=Sb;Sb=Sb+16|0;n=o+8|0;m=o;e=b+1808|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[46464]|0)==0?zk(46464)|0:0)c[11632]=ra(1,38904)|0;oa(c[11632]|0,f|0,39865,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=wa(39871)|0;g=sa(g|0,j|0)|0;pa(j|0);p=+la(g|0,38792,m|0);za(c[m>>2]|0);j=p!=0.0;pa(g|0);c[n>>2]=39879;c[n+4>>2]=j?39888:39893;Ja(0,n|0);a[b+84>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Ri(f,46,g)|0;if(!f){g=h;break a}if(!(Bi(f,39899,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+1809>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=qa(39904)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=hj(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=hj(f+4|0)|0;c[g>>2]=f;e=d}Pk(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=va(h|0,1,38908,n|0)|0;pa(h|0);Nc(m,39914,39925);Oc(n,b,39766);k=c[m>>2]|0;d=wa(39937)|0;Aa(k|0,d|0,c[n>>2]|0);pa(d|0);pa(c[n>>2]|0);c[b+1800>>2]=Fa()|0;b=c[l>>2]|0;n=wa(39947)|0;Aa(b|0,n|0,c[m>>2]|0);pa(n|0);pa(c[m>>2]|0);Sb=o;return}function yc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+112|0;j=H+24|0;D=H+16|0;E=H;G=H+96|0;B=H+80|0;C=H+64|0;l=H+48|0;m=H+32|0;f=c[e>>2]|0;F=wa(40075)|0;c[E>>2]=sa(f|0,F|0)|0;pa(F|0);Rc(G,E);pa(c[E>>2]|0);F=G+11|0;f=a[F>>0]|0;k=G+4|0;e=b+1804|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=Fa()|0;h=b+1800|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+1824>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+1809>>0]|0))switch(a[(Gj(G,0)|0)>>0]|0){case 1:{h=a[F>>0]|0;e=c[k>>2]|0;i=rj(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[l+8>>2]=5;c[l+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=l+4|0;c[e>>2]=i;c[j>>2]=2;c[l>>2]=38928;Tc(b,E,l);c[l>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)sj(c[i>>2]|0);sj(i);break a}case 2:{h=a[F>>0]|0;e=c[k>>2]|0;i=rj(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=38928;Uc(b,E,m);c[m>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)sj(c[i>>2]|0);sj(i);break a}case 10:{e=c[b+4>>2]|0;f=wa(39947)|0;e=sa(e|0,f|0)|0;pa(f|0);f=wa(40101)|0;h=f;if((a[46512]|0)==0?zk(46512)|0:0)c[11638]=ra(2,38980)|0;b=c[11638]|0;ta(f|0);c[E>>2]=h;oa(b|0,e|0,40096,E|0);pa(f|0);pa(e|0);break a}default:{b=a[(Gj(G,0)|0)>>0]|0;c[j>>2]=40117;c[j+4>>2]=b;Ja(1,j|0);break a}}else{l=a[F>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;y=b+16|0;e=c[y>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;z=b+20|0;j=c[z>>2]|0;A=b+24|0;k=c[A>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}Dj(e,j+l+k+f+h|0,0);e=c[y>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;Pk(e+(c[z>>2]|0)+(c[A>>2]|0)|0,((a[F>>0]|0)<0?c[G>>2]|0:G)|0,l|0)|0;f=(c[A>>2]|0)+l|0;c[A>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[z>>2]=(c[z>>2]|0)+13;c[A>>2]=f+-13;break}b:do if((f|0)>3){s=B+8|0;t=B+12|0;u=B+4|0;v=C+8|0;w=C+12|0;x=C+4|0;while(1){q=c[y>>2]|0;r=q+11|0;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;i=c[z>>2]|0;p=a[e+i>>0]|0;e=i+1|0;c[z>>2]=e;c[A>>2]=f+-1;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;o=h+e+2|0;m=a[o>>0]|0;l=a[o+-1>>0]|0;o=a[o+-2>>0]|0;e=i+4|0;c[z>>2]=e;n=f+-4|0;c[A>>2]=n;o=(l&255)<<8|m&255|(o&255)<<16;if(n>>>0<(o+11|0)>>>0)break;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;k=h+e+2|0;k=d[k+-1>>0]<<8|d[k>>0]|d[k+-2>>0]<<16;j=i+11|0;c[z>>2]=j;c[A>>2]=f+-11;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;l=rj(16)|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];m=l+12|0;c[m>>2]=1;i=q+12|0;c[i>>2]=(c[i>>2]|0)+1;n=l+11|0;e=a[n>>0]|0;f=e<<24>>24<0;if(f)h=(c[l+8>>2]&2147483647)+-1|0;else h=10;if(o>>>0>h>>>0){if(f){f=c[l+8>>2]&2147483647;e=1-f|0;f=f+-1|0}else{e=-10;f=10}Dj(l,e+o+f|0,0);e=a[n>>0]|0}if(e<<24>>24<0)f=c[l>>2]|0;else f=l;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;Pk(f|0,e+j|0,o|0)|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(!j){if((a[r>>0]|0)<0)sj(c[q>>2]|0);sj(q)}c:do switch(p<<24>>24){case 8:{c[s>>2]=0;c[t>>2]=o;c[u>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[B>>2]=38928;Tc(b,k,B);c[B>>2]=38944;e=c[u>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e);break}case 9:{c[v>>2]=0;c[w>>2]=o;c[x>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[C>>2]=38928;Uc(b,k,C);c[C>>2]=38944;e=c[x>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e);break}default:{c[D>>2]=40080;c[D+4>>2]=p&255;Ja(0,D|0)}}while(0);f=(c[A>>2]|0)-o|0;c[z>>2]=(c[z>>2]|0)+o+4;f=f+-4|0;c[A>>2]=f;r=(c[m>>2]|0)+-1|0;c[m>>2]=r;if(!r){if((a[n>>0]|0)<0)sj(c[l>>2]|0);sj(l);f=c[A>>2]|0}if((f|0)<=3)break b}c[z>>2]=i;c[A>>2]=f}while(0);e=c[y>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;Qk(e|0,e+(c[z>>2]|0)|0,f|0)|0;Dj(c[y>>2]|0,c[A>>2]|0,0);c[z>>2]=0}while(0);if((a[F>>0]|0)>=0){Sb=H;return}sj(c[G>>2]|0);Sb=H;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+32|0;i=l;g=qa(40340)|0;j=b+1792|0;c[i>>2]=c[j>>2];pa(ma(g|0,1,38988,i|0)|0);pa(g|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;g=b+1764|0;id(g);hd(g);e=c[b+1768>>2]|0;f=b+1772|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);jd(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+1780>>2]=0;c[b+1784>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;id(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{sj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)sj(d);if((a[b+84>>0]|0)==0?(k=c[b+56>>2]|0,k|0):0)ij(k);c[j>>2]=0;a[b+1796>>0]=1;a[b+1788>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Sb=l;return}function Ac(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;p=Sb;Sb=Sb+16|0;e=p+4|0;j=p;k=b+1784|0;a:do if(c[k>>2]|0){l=b+1768|0;m=b+1780|0;n=b+4|0;o=b+1816|0;f=b+48|0;g=b+1764|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=Zc(c[n>>2]|0,40331,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;Yc(f,h+(i*20|0)+4|0);kd(g);if(!(c[k>>2]|0))break a;else d=1}a[b+1788>>0]=1;c[b+1792>>2]=_c(c[n>>2]|0,40315,j)|0;Sb=p;return}while(0);a[b+1788>>0]=0;Sb=p;return}function Bc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1808>>0];c[a>>2]=Ba(38792,f|0)|0;Sb=e;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38792,g|0);za(c[g>>2]|0);a[b+1808>>0]=f!=0.0&1;Sb=e;return}function Dc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+1809>>0];c[a>>2]=Ba(38792,f|0)|0;Sb=e;return}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38792,g|0);za(c[g>>2]|0);a[b+1809>>0]=f!=0.0&1;Sb=e;return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1812>>2];c[a>>2]=Ba(38840,e|0)|0;Sb=d;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38840,f|0);za(c[f>>2]|0);c[a+1812>>2]=~~e;Sb=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+1816>>2];c[a>>2]=Ba(38840,e|0)|0;Sb=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38840,f|0);za(c[f>>2]|0);c[a+1816>>2]=~~e;Sb=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;g[e>>3]=+g[b+1824>>3];c[a>>2]=Ba(38880,e|0)|0;Sb=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38880,f|0);za(c[f>>2]|0);g[a+1824>>3]=e;Sb=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Sb;Sb=Sb+16|0;e=d+4|0;f=d;c[e>>2]=xa()|0;i=b+1768|0;h=b+1780|0;j=c[h>>2]|0;g=(j>>>0)/204|0;ld(e,40353,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+1784|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;md(e,40359,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];nd(e,40364,f);b=c[e>>2]|0;c[a>>2]=b;ta(b|0);pa(c[e>>2]|0);Sb=d;return}function Mc(a){a=a|0;pa(c[a>>2]|0);return}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=wa(b|0)|0;d=wa(d|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=wa(d|0)|0;d=sa(f|0,e|0)|0;pa(e|0);Qc(a,d,40051,b);pa(d|0);return}function Pc(a){a=a|0;L(a|0)|0;ck()}function Qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Sb;Sb=Sb+16|0;g=i;h=i+8|0;if((a[46472]|0)==0?zk(46472)|0:0)c[11633]=ra(2,38912)|0;k=c[11633]|0;ta(c[f>>2]|0);c[g>>2]=c[f>>2];j=+na(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;za(h|0);Sb=i;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;e=h;i=+la(c[d>>2]|0,37848,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)xj(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;za(e|0);Sb=h;return}else d=b}else{j=g+16&-16;d=rj(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Pk(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;za(e|0);Sb=h;return}function Sc(b){b=b|0;var d=0,e=0;c[b>>2]=38944;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)sj(c[b>>2]|0);sj(b);return}function Tc(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;l=Sb;Sb=Sb+16|0;k=l;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[46480]|0)==0?zk(46480)|0:0)c[11634]=ra(3,38952)|0;b=c[11634]|0;c[k>>2]=h;c[k+8>>2]=c[g>>2];oa(b|0,e|0,40217,k|0);Sb=l;return}}if(h)e=c[e>>2]|0;h=a[e+j>>0]|0;c[i>>2]=j+1;e=f+12|0;c[e>>2]=(c[e>>2]|0)+-1;e=h&255;if(!(a[b+1797>>0]|0)){Sb=l;return}g=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch((h&255)>>>4&15){case 10:{Xc(b,c[b+1812>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Sb=l;return}case 11:{Xc(b,16e3,16e3,g);Sb=l;return}case 2:{Xc(b,(c[b+1812>>2]|0)*576|0,e,g);Sb=l;return}default:{Sb=l;return}}}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+1796|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Sb=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Sb=o;return}Yc(b+48|0,e);a[j>>0]=0;c[k>>2]=40263;Ja(0,k|0);Sb=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[46464]|0)==0?zk(46464)|0:0)c[11632]=ra(1,38904)|0;oa(c[11632]|0,f|0,40279,n|0);Sb=o;return}}if(!d){Sb=o;return}g=b+1816|0;a:do if(c[g>>2]|0){h=b+1788|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=Zc(c[f>>2]|0,40331,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+1792>>2]=_c(c[f>>2]|0,40315,l)|0;break}else break a}while(0);$c(b+1764|0,m,e);Sb=o;return}while(0);Yc(b+48|0,e);Sb=o;return}function Vc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){sj(b);return}if((a[d+11>>0]|0)<0)sj(c[d>>2]|0);sj(d);sj(b);return}function Wc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){sj(b);return}if((a[d+11>>0]|0)<0)sj(c[d>>2]|0);sj(d);sj(b);return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Sb;Sb=Sb+32|0;h=i;a[b+1797>>0]=0;j=r(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=hj(j)|0;c[h>>2]=40237;c[h+4>>2]=j;Ja(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[46488]|0)==0?zk(46488)|0:0)c[11635]=ra(5,16)|0;j=c[11635]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;oa(j|0,b|0,40227,h|0);Sb=i;return}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Sb;Sb=Sb+16|0;j=k;e=c[d+4>>2]|0;g=(a[e+11>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;h=d+8|0;i=c[h>>2]|0;if((a[f+i>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(i+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+i>>0]|0;c[h>>2]=i+5;i=d+12|0;c[i>>2]=(c[i>>2]|0)+-5;switch(e&15){case 7:{ac[c[(c[b>>2]|0)+12>>2]&31](b,d);Sb=k;return}case 12:{ac[c[(c[b>>2]|0)+16>>2]&31](b,d);Sb=k;return}default:{c[j>>2]=40293;c[j+4>>2]=e&15;Ja(0,j|0);Sb=k;return}}}}c[h>>2]=i+5;j=d+12|0;c[j>>2]=(c[j>>2]|0)+-5;ac[c[(c[b>>2]|0)+24>>2]&31](b,d);Sb=k;return}function Zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46496]|0)==0?zk(46496)|0:0)c[11636]=ra(2,38964)|0;j=c[11636]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function _c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[46504]|0)==0?zk(46504)|0:0)c[11637]=ra(2,38972)|0;j=c[11637]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){ad(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=38928;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)sj(c[f>>2]|0);sj(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Sb;Sb=Sb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{Qk(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;vj(r,40132);c[r>>2]=39644;P(r|0,38712,19)}else{h=rj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){sj(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Sb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;vj(r,40132);c[r>>2]=39644;P(r|0,38712,19)}else{d=rj(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=rj(4080)|0;dd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;ed(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)sj(f);Sb=r;return}if((d|0)!=(b|0)){c[k>>2]=rj(4080)|0;bd(a,k);Sb=r;return}c[k>>2]=rj(4080)|0;cd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{Qk(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;vj(r,40132);c[r>>2]=39644;P(r|0,38712,19)}else{h=rj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){sj(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Sb=r;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Qk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;vj(q,40132);c[q>>2]=39644;P(q|0,38712,19)}else{i=rj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){sj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Qk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;vj(q,40132);c[q>>2]=39644;P(q|0,38712,19)}else{h=rj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){sj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{Qk(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;vj(q,40132);c[q>>2]=39644;P(q|0,38712,19)}else{i=rj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){sj(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{Qk(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;vj(q,40132);c[q>>2]=39644;P(q|0,38712,19)}else{h=rj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){sj(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function fd(a){a=a|0;var b=0,d=0,e=0,f=0;id(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{sj(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;sj(b);return}function gd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;ij(b);return}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{sj(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;jd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){sj(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){jd(a);return}sj(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;jd(a);return}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=38944;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{sj(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;vj(l,40132);c[l>>2]=39644;P(l|0,38712,19)}else{g=rj(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;sj(b);return}function kd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=38944;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;sj(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38856,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38856,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38864,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function od(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function pd(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)xj(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=rj(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Pk(b|0,d|0,e|0)|0;a[b+e>>0]=0;ac[f&31](g,h);if((a[h+11>>0]|0)>=0){Sb=j;return}sj(c[h>>2]|0);Sb=j;return}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;$b[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;$b[e&31](a);return}}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Sb;Sb=Sb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;ac[d&31](e,a);ta(c[e>>2]|0);g=c[e>>2]|0;pa(g|0);Sb=f;return g|0}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function vd(b,d){b=b|0;d=d|0;var e=0;e=rj(1840)|0;Fd(e,d);a[e+1832>>0]=0;c[e+1836>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=39052;return e|0}function wd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=X(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,37984,c[e>>2]|0)|0;return}function xd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function yd(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function zd(a){a=a|0;return a|0}function Ad(a){a=a|0;return a|0}function Bd(a,b){a=a|0;b=b|0;$b[c[a>>2]&31](b);return}function Cd(b){b=b|0;a[b+1832>>0]=1;return}function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Sb;Sb=Sb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Xb[a&3](f,g)|0;pa(c[g>>2]|0);pa(c[f>>2]|0);Sb=e;return d|0}function Ed(a){a=a|0;Gd(a);sj(a);return}function Fd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Sb;Sb=Sb+32|0;h=f+16|0;j=f;c[d>>2]=39084;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[e>>2]=38944;c[d+20>>2]=0;c[d+24>>2]=0;i=rj(16)|0;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]=1;c[d+16>>2]=i;c[e>>2]=38928;c[d+32>>2]=0;c[h>>2]=40568;c[h+4>>2]=d+28;Ja(0,h|0);Id(d+48|0);e=d+1764|0;c[d+1792>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+1796>>0]=1;a[d+1797>>0]=1;e=d+1800|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+1812>>2]=12;c[d+52>>2]=g;Sb=f;return}function Gd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Sb;Sb=Sb+16|0;e=g;c[b>>2]=39068;d=b+1836|0;if(!(a[b+1832>>0]|0)){f=c[d>>2]|0;pa(f|0);Kd(b);Sb=g;return}f=c[d>>2]|0;if((a[46464]|0)==0?zk(46464)|0:0)c[11632]=ra(1,38904)|0;oa(c[11632]|0,f|0,41053,e|0);f=c[d>>2]|0;pa(f|0);Kd(b);Sb=g;return}function Hd(a){a=a|0;Gd(a);sj(a);return}function Id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Sb;Sb=Sb+112|0;i=j+32|0;h=j+8|0;k=j+76|0;e=j+64|0;f=j+40|0;g=j;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=39100;d=b+40|0;c[d>>2]=0;c[b+1044>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1064>>2]=0;c[k+4>>2]=5;c[k+12>>2]=0;c[k+8>>2]=1;c[k+16>>2]=9;c[k+20>>2]=22;c[k+24>>2]=0;c[k>>2]=28;c[e>>2]=12;k=Kg(0,k,e)|0;b=b+1056|0;c[b>>2]=k;if(k|0){c[h>>2]=c[e+4>>2];gj(40583,h)|0}k=c[e+8>>2]|0;c[d>>2]=k;c[k+4>>2]=10;c[k>>2]=12;c[f>>2]=c[9783];c[f+4>>2]=c[9784];c[f+8>>2]=c[9785];c[f+12>>2]=c[9786];h=g;c[h>>2]=8;c[h+4>>2]=0;k=Kg(k,f,g)|0;c[b>>2]=k;if(k|0)gj(40604,j+16|0)|0;c[f>>2]=c[9787];c[f+4>>2]=c[9788];c[f+8>>2]=c[9789];c[f+12>>2]=c[9790];c[f+16>>2]=c[9791];c[f+20>>2]=c[9792];k=g;c[k>>2]=8;c[k+4>>2]=0;k=Kg(c[d>>2]|0,f,g)|0;c[b>>2]=k;if(!k){c[i>>2]=40671;Ja(0,i|0);Sb=j;return}gj(40638,j+24|0)|0;c[i>>2]=40671;Ja(0,i|0);Sb=j;return}function Jd(a){a=a|0;var b=0,d=0,e=0;b=Sb;Sb=Sb+16|0;d=b+8|0;e=b;c[e>>2]=40985;Ja(0,e|0);ij(c[a+8>>2]|0);c[d>>2]=41008;Ja(0,d|0);Sb=b;return}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Sb;Sb=Sb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=39084;f=qa(40340)|0;c[d>>2]=c[b+1792>>2];pa(ma(f|0,1,38988,d|0)|0);pa(f|0);c[g>>2]=41032;Ja(0,g|0);g=b+1764|0;id(g);f=b+1768|0;d=c[f>>2]|0;h=b+1772|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{sj(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)sj(d);Md(b+48|0);c[i>>2]=40985;Ja(0,i|0);ij(c[b+36>>2]|0);c[j>>2]=41008;Ja(0,j|0);c[b+12>>2]=38944;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}if((a[d+11>>0]|0)<0)sj(c[d>>2]|0);sj(d);b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}function Ld(a){a=a|0;Kd(a);sj(a);return}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+32|0;e=f+24|0;h=f+8|0;g=f;c[b>>2]=39100;i=h;c[i>>2]=8;c[i+4>>2]=6;i=g;c[i>>2]=8;c[i+4>>2]=0;g=Kg(c[b+40>>2]|0,h,g)|0;c[b+1056>>2]=g;if(g|0)gj(40732,f+16|0)|0;ij(c[b+20>>2]|0);c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)ij(d);c[e>>2]=40708;Ja(0,e|0);Sb=f;return}function Nd(a){a=a|0;Md(a);sj(a);return}function Od(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=Sb;Sb=Sb+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=38928;ac[g&31](b,j);c[j>>2]=38944;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)sj(c[l>>2]|0);sj(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Sb=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=38928;ac[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Sb=p;return}if((a[i>>0]|0)<0)sj(c[h>>2]|0);sj(h);Sb=p;return}function Pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=Sb;Sb=Sb+128|0;B=C+88|0;A=C+56|0;w=C+48|0;z=C+40|0;o=C+32|0;m=C+24|0;l=C+16|0;x=C+92|0;v=C;c[x>>2]=c[9803];c[x+4>>2]=c[9804];c[x+8>>2]=c[9805];c[x+12>>2]=c[9806];c[x+16>>2]=c[9807];c[x+20>>2]=c[9808];c[x+24>>2]=c[9809];y=v;c[y>>2]=8;c[y+4>>2]=0;y=b+40|0;v=Kg(c[y>>2]|0,x,v)|0;x=b+1056|0;c[x>>2]=v;if(v|0)gj(40754,C+8|0)|0;u=b+1068|0;c[b+1072>>2]=8;c[b+1076>>2]=c[b+1048>>2];c[u>>2]=536;v=b+1604|0;c[v>>2]=112;q=d+4|0;j=c[q>>2]|0;k=j+11|0;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;t=d+8|0;i=c[t>>2]|0;c[b+32>>2]=a[e+(i+22)>>0]&3;f=i+26|0;c[t>>2]=f;s=d+12|0;g=c[s>>2]|0;c[s>>2]=g+-26;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;h=e+f+1|0;f=a[h>>0]|0;h=a[h+-1>>0]|0;d=i+28|0;c[t>>2]=d;c[s>>2]=g+-28;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;p=b+1084|0;c[p>>2]=e+d;e=(h&255)<<8|f&255;n=b+1080|0;c[n>>2]=e;k=Kg(c[y>>2]|0,u,v)|0;c[x>>2]=k;if(k|0){c[l>>2]=c[b+1608>>2];gj(40804,l)|0}k=b+1612|0;h=c[k>>2]|0;c[m>>2]=40835;c[m+4>>2]=h;Ja(0,m|0);h=(c[t>>2]|0)+e|0;i=(c[s>>2]|0)-e|0;d=h+3|0;c[t>>2]=d;c[s>>2]=i+-3;e=c[q>>2]|0;j=e+11|0;if((a[j>>0]|0)<0)f=c[e>>2]|0;else f=e;g=f+d+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=h+5|0;c[t>>2]=d;c[s>>2]=i+-5;if((a[j>>0]|0)<0)e=c[e>>2]|0;c[p>>2]=e+d;e=(g&255)<<8|f&255;c[n>>2]=e;m=Kg(c[y>>2]|0,u,v)|0;c[x>>2]=m;if(m|0){c[o>>2]=c[b+1608>>2];gj(40842,o)|0}i=c[k>>2]|0;c[z>>2]=40873;c[z+4>>2]=i;Ja(0,z|0);i=(c[t>>2]|0)+e|0;j=(c[s>>2]|0)-e|0;f=i+3|0;c[t>>2]=f;c[s>>2]=j+-3;e=c[q>>2]|0;h=e+11|0;if((a[h>>0]|0)<0)d=c[e>>2]|0;else d=e;g=d+f+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=i+5|0;c[t>>2]=d;c[s>>2]=j+-5;if((a[h>>0]|0)<0)e=c[e>>2]|0;c[p>>2]=e+d;c[n>>2]=(g&255)<<8|f&255;v=Kg(c[y>>2]|0,u,v)|0;c[x>>2]=v;if(v|0){c[w>>2]=c[b+1608>>2];gj(40880,w)|0}e=c[k>>2]|0;c[A>>2]=40911;c[A+4>>2]=e;Ja(0,A|0);e=c[b+1620>>2]|0;f=b+12|0;c[f>>2]=c[b+1616>>2];g=b+16|0;c[g>>2]=e;if(!(a[b+36>>0]|0)){e=(r(e<<2,e)|0)+33554432|0;e=hj((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[46520]|0)==0?zk(46520)|0:0)c[11639]=ra(4,48)|0;w=c[11639]|0;c[A>>2]=c[f>>2];c[A+8>>2]=c[g>>2];c[A+16>>2]=e;oa(w|0,d|0,40967,A|0)}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[46520]|0)==0?zk(46520)|0:0)c[11639]=ra(4,48)|0;w=c[11639]|0;c[A>>2]=c[f>>2];c[A+8>>2]=c[g>>2];c[A+16>>2]=e;oa(w|0,d|0,40967,A|0)};c[A>>2]=c[9810];c[A+4>>2]=c[9811];c[A+8>>2]=c[9812];c[A+12>>2]=c[9813];c[A+16>>2]=c[9814];c[A+20>>2]=c[9815];c[A+24>>2]=c[9816];w=z;c[w>>2]=8;c[w+4>>2]=0;A=Kg(c[y>>2]|0,A,z)|0;c[x>>2]=A;if(!A){B=b+1088|0;c[B>>2]=3;B=c[f>>2]|0;A=c[g>>2]|0;B=r(A,B)|0;A=b+1348|0;c[A>>2]=B;A=B>>>2;y=b+1356|0;c[y>>2]=A;y=b+1352|0;c[y>>2]=A;y=A*6|0;y=hj(y)|0;x=b+1092|0;c[x>>2]=y;x=y;z=b+20|0;c[z>>2]=x;B=y+B|0;y=b+1096|0;c[y>>2]=B;y=B;z=b+24|0;c[z>>2]=y;A=B+A|0;B=b+1100|0;c[B>>2]=A;B=b+28|0;c[B>>2]=A;Sb=C;return}gj(40918,B)|0;B=b+1088|0;c[B>>2]=3;B=c[f>>2]|0;A=c[g>>2]|0;B=r(A,B)|0;A=b+1348|0;c[A>>2]=B;A=B>>>2;y=b+1356|0;c[y>>2]=A;y=b+1352|0;c[y>>2]=A;y=A*6|0;y=hj(y)|0;x=b+1092|0;c[x>>2]=y;x=y;z=b+20|0;c[z>>2]=x;B=y+B|0;y=b+1096|0;c[y>>2]=B;y=B;z=b+24|0;c[z>>2]=y;A=B+A|0;B=b+1100|0;c[B>>2]=A;B=b+28|0;c[B>>2]=A;Sb=C;return}function Qd(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;u=Sb;Sb=Sb+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Sb=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=38928;ac[d&31](b,q);c[q>>2]=38944;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)sj(c[d>>2]|0);sj(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)sj(c[g>>2]|0);sj(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Sb=u;return}function Rd(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;u=Sb;Sb=Sb+16|0;t=u;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;r=b+1068|0;s=b+1084|0;c[s>>2]=e+(c[d+8>>2]|0);q=b+1080|0;c[q>>2]=c[d+12>>2];f=b+40|0;g=b+1604|0;h=b+1056|0;i=b+1612|0;j=b+36|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+8|0;o=b+12|0;p=b+16|0;d=b+4|0;do{b=Kg(c[f>>2]|0,r,g)|0;c[h>>2]=b;v=c[i>>2]|0;e=(c[q>>2]|0)-v|0;c[q>>2]=e;c[s>>2]=(c[s>>2]|0)+v;if(!b){if(!(a[j>>0]|0))Vd(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0);e=c[c[d>>2]>>2]|0;if((a[46464]|0)==0?zk(46464)|0:0)c[11632]=ra(1,38904)|0;oa(c[11632]|0,e|0,40980,t|0);e=c[q>>2]|0}}while((e|0)!=0);Sb=u;return}function Sd(b){b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)ij(d);c[e>>2]=40708;Ja(0,e|0);Sb=f;return}function Td(a){a=a|0;Oa()}function Ud(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;p=Sb;Sb=Sb+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=38928;ac[g&31](b,h);c[h>>2]=38944;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)sj(c[i>>2]|0);sj(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=38928;ac[q&31](b,k);c[k>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)sj(c[g>>2]|0);sj(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=38928;ac[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)sj(c[e>>2]|0);sj(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Sb=p;return}if((a[h>>0]|0)<0)sj(c[g>>2]|0);sj(g);Sb=p;return}function Vd(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function Wd(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=Sb;Sb=Sb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)xj(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=rj(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Pk(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;bc[b&15](h,j,k);ta(c[h>>2]|0);d=c[h>>2]|0;pa(d|0);pa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Sb=l;return d|0}sj(c[j>>2]|0);Sb=l;return d|0}function Xd(){wc(0);return}function Yd(a){a=a|0;c[a>>2]=64;Rk(a+4|0,0,516)|0;return}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(d|0)){b=-1;return b|0}a=a+264+(d<<2)|0;d=c[a>>2]|0;if(!((d|0)==0|(d|0)==(b|0))){b=-1;return b|0}c[a>>2]=b;b=0;return b|0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)<=0){b=0;return b|0}d=0;a:while(1){f=a+8+(d<<2)|0;switch(c[f>>2]|0){case 2:{a=4;break a}case 0:{g=c[a+264+(d<<2)>>2]|0;if(g|0){a=6;break a}break}default:{}}d=d+1|0;if((d|0)>=(e|0)){d=0;a=8;break}}if((a|0)==4)J(41076,41110,170,41133);else if((a|0)==6){c[b>>2]=d;c[f>>2]=1;b=g;return b|0}else if((a|0)==8)return d|0;return 0}function $d(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d){d=0;return d|0}b=0;a:while(1){switch(c[a+8+(b<<2)>>2]|0){case 2:{a=4;break a}case 0:{if(c[a+264+(b<<2)>>2]|0){b=1;a=7;break a}break}default:{}}b=b+1|0;if(b>>>0>=d>>>0){b=0;a=7;break}}if((a|0)==4)J(41076,41110,213,41161);else if((a|0)==7)return b|0;return 0}function ae(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;d=c[a>>2]&~d;c[a>>2]=d;switch(d|0){case 2:{J(41186,41110,265,41224);break}case 1:{c[a>>2]=0;d=0;return d|0}default:{d=0;return d|0}}return 0}function be(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;b=c[a>>2]|0;if(b&d|0){d=-1;return d|0}d=b|d;c[a>>2]=d;if((d|0)==2)J(41186,41110,322,41246);else{d=0;return d|0}return 0}function ce(a,b){a=a|0;b=b|0;return c[a+264+(b<<2)>>2]|0}function de(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Sb;Sb=Sb+32|0;u=C;v=h<<2;w=v|1;if(!i){k=w<<1;if((w|0)<=0){Sb=C;return}Rk(j|0,-128,((k|0)>1?k:1)|0)|0;Sb=C;return}y=i&65536;s=i&61440;t=i&3840;p=i&15;x=(y|0)!=0;if(x){a[j+v>>0]=a[d>>0]|0;a[j+w>>0]=a[d+1>>0]|0}if(i&240|0?(l=h<<1,(h|0)>0):0){n=v+-2|0;o=v+-1|0;m=(((l|0)>2?l:2)+-1|0)>>>1;k=0;d=0;l=0;while(1){D=r(k,g)|0;a[j+(n+d)>>0]=a[f+D>>0]|0;a[j+(o+d)>>0]=a[f+(D+1)>>0]|0;if((k|0)==(m|0))break;else{k=k+1|0;d=-2-l|0;l=l+2|0}}}if(p|0?(q=h<<1,(q|0)<(v|0)):0){l=v+-2|0;m=v+-1|0;d=h;k=q;while(1){D=r(d,g)|0;a[j+(l-k)>>0]=a[f+D>>0]|0;a[j+(m-k)>>0]=a[f+(D+1)>>0]|0;k=k+2|0;if((k|0)>=(v|0))break;else d=d+1|0}}k=h<<1;if(t|0)ee(j+(v|2)|0,e,k);if(s|0)ee(j+((v|2)+k)|0,e+k|0,k);switch(h|0){case 4:{D=i>>>3&1;m=i>>>7&1;n=i>>>8&1;l=i>>>12&1;c[u>>2]=D;c[u+4>>2]=m;c[u+8>>2]=y>>>16;c[u+12>>2]=n;c[u+16>>2]=l;do if(!D){if(!m){k=2;while(1)if(!(c[u+(k<<2)>>2]|0))k=k+1|0;else break}else k=1;d=k<<2;if(k>>>0<3){fe(j,b[j+(k<<3)>>1]|0,d);break}else{D=d+-3|0;fe(j,b[j+(D<<1)>>1]|0,D);break}}while(0);if(!m)fe(j+8|0,b[j+6>>1]|0,4);if(!y){a[j+v>>0]=a[j+(v+-2)>>0]|0;a[j+w>>0]=a[j+(v+-1)>>0]|0}if(!n)fe(j+(v|2)|0,b[j+v>>1]|0,4);if(l|0){Sb=C;return}fe(j+26|0,b[j+24>>1]|0,4);Sb=C;return}case 8:{d=i>>>4;o=i>>>2&3|d&12;d=i>>>6&192|d&48;q=d|o|y>>>8;k=Jk(o|0)|0;k=(o|0)==0|(k|0)==8?16:k<<2;o=(y|0)==0;if(!(o&(k|0)==16))if(!k)k=0;else z=37;else{k=((Jk(d>>>4|0)|0)<<2)+17|0;k=(d|0)==0?49:k;z=37}if((z|0)==37){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=33){Sb=C;return}}if(!o){do{d=(k|0)==16;if(!d?(B=k<<1,(1<<(k>>2)&q|0)==0):0)fe(j+B|0,b[j+(B+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}m=j+33|0;n=j+31|0;o=j+32|0;p=j+30|0;do{d=(k|0)==16;if(!d){l=k<<1;if(!(1<<(k>>2)&q))fe(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}case 16:{D=i&255;k=(Jk(D|0)|0)<<2;k=(D|0)==0?32:k;if(!((y|0)==0&(k|0)==32))if(!k)k=0;else z=55;else{z=i>>>8&255;k=((Jk(z|0)|0)<<2)+33|0;k=(z|0)==0?65:k;z=55}if((z|0)==55){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=65){Sb=C;return}}if(x){do{d=(k|0)==32;if(!d?(A=k<<1,(1<<(k>>2)&i|0)==0):0)fe(j+A|0,b[j+(A+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}m=j+65|0;n=j+63|0;o=j+64|0;p=j+62|0;do{d=(k|0)==32;if(!d){l=k<<1;if(!(1<<(k>>2)&i))fe(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}default:{Sb=C;return}}}function ee(a,b,c){a=a|0;b=b|0;c=c|0;Pk(a|0,b|0,c|0)|0;return}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function ge(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(g|0){case 16:{h=5;break}case 8:{h=4;break}case 4:{h=3;break}default:if((g|0)>0)h=6;else return}t=g<<1;u=g+-1|0;v=t+-1|0;m=g*6|0;j=b+(m+2)|0;k=g<<2|2;n=u<<1;l=b+n|0;m=b+(m+3)|0;n=b+(n|1)|0;i=0;do{s=v-i<<1;o=b+s|0;p=u-i|0;q=r(i,f)|0;i=i+1|0;s=b+(s|1)|0;c=0;do{y=c>>>1;z=u-y|0;C=r(z,d[o>>0]|0)|0;y=y+1|0;B=r(y,d[j>>0]|0)|0;x=c+k|0;A=r(p,d[b+x>>0]|0)|0;w=c+q|0;a[e+w>>0]=C+g+B+A+(r(i,d[l>>0]|0)|0)>>h;z=r(z,d[s>>0]|0)|0;y=r(y,d[m>>0]|0)|0;x=r(p,d[b+(x|1)>>0]|0)|0;a[e+(w+1)>>0]=z+g+y+x+(r(i,d[n>>0]|0)|0)>>h;c=c+2|0}while((c|0)<(t|0))}while((i|0)!=(g|0));return}function he(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g+-4|0;switch(l>>>2|l<<30|0){case 0:{k=3;break}case 3:{k=5;break}case 1:{k=4;break}default:k=6}l=g<<1;j=g<<2;if((l|0)<(j|0)){i=l;h=0;c=0;do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0))}else{h=0;c=0}i=j|2;j=(g*6|0)+2|0;if((i|0)<(j|0))do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0));if((g|0)<=0)return;b=h+g>>k&255;i=c+g>>k&255;h=0;do{j=r(h,f)|0;c=0;do{k=c+j|0;a[e+k>>0]=b;a[e+(k+1)>>0]=i;c=c+2|0}while((c|0)<(l|0));h=h+1|0}while((h|0)!=(g|0));return}function ie(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)<=0)return;l=f<<1;h=f<<2;m=h+-2|0;h=h+-1|0;c=0;do{k=c<<1;i=b+(m-k)|0;j=r(c,e)|0;k=b+(h-k)|0;g=0;do{n=g+j|0;a[d+n>>0]=a[i>>0]|0;a[d+(n+1)>>0]=a[k>>0]|0;g=g+2|0}while((g|0)<(l|0));c=c+1|0}while((c|0)!=(f|0));return}function je(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if((f|0)<=0)return;j=f<<1;h=f<<2;k=h|2;h=h|3;c=0;do{i=r(c,e)|0;g=0;do{l=g+i|0;a[d+l>>0]=a[b+(g+k)>>0]|0;a[d+(l+1)>>0]=a[b+(g+h)>>0]|0;g=g+2|0}while((g|0)<(j|0));c=c+1|0}while((c|0)!=(f|0));return}function ke(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f<<1;if((f|0)<=0)return;k=f<<2;c=0;do{l=c|1;h=-3-l|0;i=~((l<<5)+32>>5);g=0;do{n=k-(g<<1)|0;m=r(g,e)|0;a[d+(m+c)>>0]=a[b+(h+n)>>0]|0;a[d+(m+l)>>0]=a[b+(n+i)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+2|0}while((c|0)<(j|0));return}function le(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(g|0)==18?-32:32;if((f|0)<=0)return;j=f<<1;k=f<<2|2;g=0;do{i=g;g=g+1|0;h=k+((r(g,l)|0)>>4)|0;i=r(i,e)|0;c=0;do{a[d+(c+i)>>0]=a[b+(h+c)>>0]|0;m=c|1;a[d+(m+i)>>0]=a[b+(h+m)>>0]|0;c=c+2|0}while((c|0)<(j|0))}while((g|0)!=(f|0));return}function me(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=c[25216+(i<<2)>>2]|0;p=h<<1;if((h|0)<=0)return;j=h<<2;e=0;do{l=r((e>>>1)+1|0,o)|0;k=l&31;l=l>>5<<1;m=32-k|0;n=e|1;i=0;do{s=j-(i<<1)-l|0;t=r(m,d[b+(s+-2)>>0]|0)|0;q=r(i,g)|0;a[f+(q+e)>>0]=(t+16+(r(k,d[b+(s+-4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+-1)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+-3)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(p|0));return}function ne(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-11<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=k-i|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;n=l+e|0;l=r(p,h)|0;j=l>>5<<1;if((l|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(s+k)>>0]|0;a[n+(i|1)>>0]=a[b+(s+l)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((o|0)>0&(h|0)>0)){Sb=q;return}e=0;do{k=r((e>>>1)+1|0,p)|0;j=k>>5;k=k&31;l=32-k|0;m=e|1;i=0;do{b=i+j<<1;t=r(l,d[n+(b+2)>>0]|0)|0;s=r(i,g)|0;a[f+(s+e)>>0]=(t+16+(r(k,d[n+(b+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+3)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(k,d[n+(b+5)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(o|0));Sb=q;return}function oe(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-12<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=i+k|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;k=r(p,h)|0;n=l+e|0;j=k>>5<<1;if((k|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(k-s)>>0]|0;a[n+(i|1)>>0]=a[b+(l-s)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((h|0)>0&(o|0)>0)){Sb=q;return}i=0;do{m=i;i=i+1|0;k=r(i,p)|0;j=k&31;k=k>>5<<1;l=32-j|0;m=r(m,g)|0;e=0;do{t=e+k|0;s=e|1;b=s+k|0;u=r(l,d[n+(t+2)>>0]|0)|0;a[f+(e+m)>>0]=(u+16+(r(j,d[n+(t+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+2)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(j,d[n+(b+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(o|0))}while((i|0)!=(h|0));Sb=q;return}function pe(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;p=h<<1;j=h<<2;i=0;do{n=i;i=i+1|0;l=r(i,o)|0;k=l&31;l=(l>>5<<1)+j|0;m=32-k|0;n=r(n,g)|0;e=0;do{t=l+e|0;q=e|1;s=l+q|0;u=r(m,d[b+(t+2)>>0]|0)|0;a[f+(e+n)>>0]=(u+16+(r(k,d[b+(t+4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+2)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(p|0))}while((i|0)!=(h|0));return}function qe(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[g+2>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+4>>0]|0)|0;k=(k|0)>0?k:0;a[g+4>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+6>>0]|0)|0;C=(C|0)>0?C:0;a[g+6>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+4>>0]|0)|0;k=(k|0)>0?k:0;a[D+4>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+6>>0]|0)|0;f=(f|0)>0?f:0;a[D+6>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+4>>0]|0)|0;f=(f|0)>0?f:0;a[D+4>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;B=(B|0)>0?B:0;a[D+6>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+4>>0]|0)|0;i=(i|0)>0?i:0;a[D+4>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;C=(C|0)>0?C:0;a[D+6>>0]=(C|0)<255?C:255;return} |
| | | function uk(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(!(Sj(b,c[d+8>>2]|0,g)|0)){if(!(Sj(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;yk(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;yk(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;yk(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;yk(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;xk(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Uj(0,d,e,f);while(0);return}function vk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(Sj(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;wk(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{wk(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else Tj(0,d,e,f);while(0);return}function wk(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;cc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function xk(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;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function yk(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;dc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function zk(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function Ak(a){a=a|0;return}function Bk(a){a=a|0;return}function Ck(){var a=0;a=c[11783]|0;c[11783]=a+0;return a|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[e>>2]=c[d>>2];a=Yb[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Sb=f;return a&1|0}function Ek(a){a=a|0;if(!a)a=0;else a=(Wj(a,38656,38744,0)|0)!=0&1;return a|0}function Fk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function Gk(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=Fk(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function Jk(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function Kk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (u(o|0),p)|0}else{p=Jk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((Jk(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=Hk(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;Ik(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Ik(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kk(a,b,c,d,0)|0}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function Ok(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Pk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){La(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 Qk(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 Pk(b,c,d)|0;return b|0}function Rk(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 Sk(a){a=a|0;var b=0,d=0,e=0;e=Ia()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Sa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(Ma(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function Tk(a,b){a=a|0;b=b|0;return Vb[a&7](b|0)|0}function Uk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&3](b|0,c|0)|0}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function Xk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&1](b|0,c|0,d|0,e|0)|0}function Yk(a){a=a|0;_b[a&3]()}function Zk(a,b){a=a|0;b=b|0;$b[a&31](b|0)}function _k(a,b,c){a=a|0;b=b|0;c=c|0;ac[a&31](b|0,c|0)}function $k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bc[a&15](b|0,c|0,d|0)}function al(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cc[a&7](b|0,c|0,d|0,e|0)}function bl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;dc[a&7](b|0,c|0,d|0,e|0,f|0)}function cl(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;ec[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function dl(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;fc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function el(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function fl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;hc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function gl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ic[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function hl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;jc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function il(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;kc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;lc[a&1](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)}function kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;mc[a&1](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)}function ll(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;nc[a&1](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)}function ml(a){a=a|0;t(0);return 0}function nl(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function ol(a,b){a=a|0;b=b|0;t(2);return 0}function pl(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function rl(){t(5)}function sl(){O()}function tl(a){a=a|0;t(6)}function ul(a,b){a=a|0;b=b|0;t(7)}function vl(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function xl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function yl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)}function zl(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;t(12)}function Al(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;t(13)}function Bl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;t(14)}function Cl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;t(15)}function Dl(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;t(16)}function El(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;t(17)}function Fl(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;t(18)}function Gl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;t(19)}function Hl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t(20)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Vb=[ml,ui,ik,od,xd,zd,Ad,ml];var Wb=[nl,Fi];var Xb=[ol,td,vd,ol];var Yb=[pl,vi,Ai,$i,Oj,ok,qk,Dd,Wd,tc,Kg,pl,pl,pl,pl,pl];var Zb=[ql,wi];var _b=[rl,sl,Hj,ak];var $b=[tl,Sc,Vc,Wc,Gd,Ed,Hd,Kd,Ld,Md,Nd,gd,Sd,Td,Kj,Lj,Mj,Nj,Xj,gk,hk,mk,nk,pk,sk,pd,zc,Ac,yd,Cd,Sh,bk];var ac=[ul,Od,Pd,Yc,Qd,Rd,Ud,xc,yc,sd,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Bd,uc,Gi,ul,ul,ul,ul,ul,ul,ul,ul];var bc=[vl,qd,rd,ud,wd,ee,_e,bf,af,yf,fe,vl,vl,vl,vl,vl];var cc=[wl,Rj,_j,vk,Bf,Cf,Df,Ef];var dc=[xl,Qj,Zj,uk,cf,xl,xl,xl];var ec=[yl,Pj,Yj,tk,he,ie,ke,le,pe,me,ge,je,ne,oe,lf,mf,ef,ff,hf,jf,nf,kf,df,gf,of,pf,qf,rf,sf,sg,tg,yl];var fc=[zl,Re,Ue,Se,Ve,Te,Xe,Ye,We,Ke,Le,Oe,Pe,Je,Me,Ne,Qe,Ff,Gf,Hf,If,Jf,te,ue,ve,zl,zl,zl,zl,zl,zl,zl];var gc=[Al,de,$e,Ze];var hc=[Bl,ze,ye,we,xe,tf,uf,xf,vf,wf,qe,se,re,Kf,og,pg];var ic=[Cl,Yf,Uf,Zf,qg,Cl,Cl,Cl];var jc=[Dl,Lf,Mf,Of,Qf,Sf,Dl,Dl];var kc=[El,Vf,Nf,Pf,Rf,Tf,El,El];var lc=[Fl,rg];var mc=[Gl,Wf];var nc=[Hl,Xf];return{___cxa_can_catch:Dk,___cxa_is_pointer_type:Ek,___errno_location:yi,___getTypeName:ti,___muldi3:Gk,___udivdi3:Lk,_bitshift64Lshr:Mk,_bitshift64Shl:Nk,_free:ij,_i64Add:Hk,_i64Subtract:Ik,_llvm_bswap_i32:Ok,_llvm_cttz_i32:Jk,_main:vc,_malloc:hj,_memcpy:Pk,_memmove:Qk,_memset:Rk,_sbrk:Sk,_strlen:bj,dynCall_ii:Tk,dynCall_iidiiii:Uk,dynCall_iii:Vk,dynCall_iiii:Wk,dynCall_iiiii:Xk,dynCall_v:Yk,dynCall_vi:Zk,dynCall_vii:_k,dynCall_viii:$k,dynCall_viiii:al,dynCall_viiiii:bl,dynCall_viiiiii:cl,dynCall_viiiiiii:dl,dynCall_viiiiiiii:el,dynCall_viiiiiiiii:fl,dynCall_viiiiiiiiii:gl,dynCall_viiiiiiiiiii:hl,dynCall_viiiiiiiiiiii:il,dynCall_viiiiiiiiiiiii:jl,dynCall_viiiiiiiiiiiiiii:kl,dynCall_viiiiiiiiiiiiiiiiiii:ll,establishStackSpace:sc,globalCtors:oc,stackAlloc:pc,stackRestore:rc,stackSave:qc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| | | <title>H5LiveClient 1.0</title> |
| | | <meta charset="utf-8" /> |
| | | <style> |
| | | .btn { |
| | | display: inline-block; |
| | | line-height: 1; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | -webkit-appearance: none; |
| | | text-align: center; |
| | | box-sizing: border-box; |
| | | outline: none; |
| | | margin: 0; |
| | | transition: .1s; |
| | | font-weight: 500; |
| | | -moz-user-select: none; |
| | | -webkit-user-select: none; |
| | | -ms-user-select: none; |
| | | padding: 12px 20px; |
| | | font-size: 14px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | background-color: #409eff; |
| | | border-color: #409eff; |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-danger { |
| | | color: #fff; |
| | | background-color: #f56c6c; |
| | | border-color: #f56c6c; |
| | | } |
| | | |
| | | .btn-success { |
| | | color: #fff; |
| | | background-color: #67c23a; |
| | | border-color: #67c23a; |
| | | } |
| | | |
| | | .player-wrapper { |
| | | width: 900px; |
| | | height: 500px; |
| | | /*overflow-y: auto;*/ |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | } |
| | | |
| | | .btn-wrapper { |
| | | width: 900px; |
| | | height: 50px; |
| | | margin: 0 auto; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .player-wrapper canvas { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .logs { |
| | | border: 1px solid #333; |
| | | width: 900px; |
| | | height: 300px; |
| | | margin: 0 auto; |
| | | overflow-y: auto; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="player-wrapper"> |
| | | <canvas id="canvas" style="background-color: #0D0E1B"></canvas> |
| | | </div> |
| | | <div class="btn-wrapper"> |
| | | <div id="playDom"> |
| | | <button class="btn" id="play">播放</button> |
| | | </div> |
| | | <div id="stopDom" style="display: none"> |
| | | <button class="btn btn-danger" id="stop">结束</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="logout" class="logs"> |
| | | </div> |
| | | |
| | | <script src="./ajax.js"></script> |
| | | <script> |
| | | onerror = handleErr; |
| | | var txt = ""; |
| | | var h5lc = null; |
| | | var $play = document.getElementById('play'); |
| | | var $stop = document.getElementById('stop'); |
| | | var $playDom = document.getElementById('playDom'); |
| | | var $stopDom = document.getElementById('stopDom'); |
| | | var canvas = document.getElementById("canvas"); |
| | | var isPlaying = false; |
| | | disabledMouseWheel(canvas); |
| | | |
| | | $play.addEventListener('click', function () { |
| | | if (isPlaying) { |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | play(); |
| | | $playDom.style.display = 'none'; |
| | | $stopDom.style.display = 'block'; |
| | | }); |
| | | |
| | | $stop.addEventListener('click', function () { |
| | | if (!isPlaying) { |
| | | return; |
| | | } |
| | | |
| | | isPlaying = false; |
| | | stop(); |
| | | |
| | | $playDom.style.display = 'block'; |
| | | $stopDom.style.display = 'none'; |
| | | }); |
| | | |
| | | function play() { |
| | | h5lc.play("ws://3.1.39.135:8080/live/345.flv", canvas) |
| | | // h5lc.play("ws://localhost:8080/live/user1", canvas) |
| | | // h5lc.play("ws://119.9.118.39:8080/live/user1", canvas) |
| | | // h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas) |
| | | } |
| | | |
| | | function stop() { |
| | | h5lc.close() |
| | | } |
| | | |
| | | function disabledMouseWheel(ele) { |
| | | if (ele.addEventListener) { |
| | | ele.addEventListener('DOMMouseScroll', scrollFunc, false); |
| | | } //W3C |
| | | ele.onmousewheel = scrollFunc; //IE/Opera/Chrome |
| | | } |
| | | |
| | | function scrollFunc(evt) { |
| | | evt = evt || window.event; |
| | | if (evt.preventDefault) { |
| | | // Firefox |
| | | evt.preventDefault(); |
| | | evt.stopPropagation(); |
| | | } else { |
| | | // IE |
| | | evt.cancelBubble = true; |
| | | evt.returnValue = false; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function handleErr(msg, url, l) { |
| | | txt = "There was an error on this page.\n\n"; |
| | | txt += "Error: " + msg + "\n"; |
| | | txt += "URL: " + url + "\n"; |
| | | txt += "Line: " + l + "\n\n"; |
| | | document.getElementById("logout").innerHTML += txt + "<br>"; |
| | | return true; |
| | | } |
| | | |
| | | var Module = { |
| | | print: (function () { |
| | | return function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | // These replacements are necessary if you render to raw HTML |
| | | //text = text.replace(/&/g, "&"); |
| | | //text = text.replace(/</g, "<"); |
| | | //text = text.replace(/>/g, ">"); |
| | | //text = text.replace('\n', '<br>', 'g'); |
| | | console.log(text); |
| | | }; |
| | | })(), |
| | | printErr: function (text) { |
| | | if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); |
| | | document.getElementById("logout").innerHTML += text + "<br>"; |
| | | if (0) { // XXX disabled for safety typeof dump == 'function') { |
| | | dump(text + '\n'); // fast, straight to the real console |
| | | } else { |
| | | console.error(text); |
| | | } |
| | | }, |
| | | postRun: function () { |
| | | h5lc = new H5LiveClient(); |
| | | h5lc.videoBuffer = 1; |
| | | } |
| | | }; |
| | | </script> |
| | | <script src="./hevc_aac.js"></script> |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=158464,DYNAMIC_BASE=5401344,DYNAMICTOP_PTR=158432;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEgAVABgAEAAQABAAEAARABMAFgAZABAAEAARABIAFAAWABkAHQAQABAAEgAVABgAGwAfACQAEQARABQAGAAeACMAKQAvABIAEwAWABsAIwAsADYAQQAVABYAGQAfACkANgBGAFgAGAAZAB0AJAAvAEEAWABzABAAEAAQABAAEQASABQAGAAQABAAEAARABIAFAAYABkAEAAQABEAEgAUABgAGQAcABAAEQASABQAGAAZABwAIQARABIAFAAYABkAHAAhACkAEgAUABgAGQAcACEAKQA2ABQAGAAZABwAIQApADYARwAYABkAHAAhACkANgBHAFsAEAAQABAAEAAQABAAEAAQABEAEQASABIAFQAVABgAGAAQABAAEAAQABAAEAAQABAAEQARABIAEgAVABUAGAAYABAAEAAQABAAEAAQABAAEAARABEAEwATABYAFgAZABkAEAAQABAAEAAQABAAEAAQABEAEQATABMAFgAWABkAGQAQABAAEAAQABEAEQASABIAFAAUABYAFgAZABkAHQAdABAAEAAQABAAEQARABIAEgAUABQAFgAWABkAGQAdAB0AEAAQABAAEAASABIAFQAVABgAGAAbABsAHwAfACQAJAAQABAAEAAQABIAEgAVABUAGAAYABsAGwAfAB8AJAAkABEAEQARABEAFAAUABgAGAAeAB4AIwAjACkAKQAvAC8AEQARABEAEQAUABQAGAAYAB4AHgAjACMAKQApAC8ALwASABIAEwATABYAFgAbABsAIwAjACwALAA2ADYAQQBBABIAEgATABMAFgAWABsAGwAjACMALAAsADYANgBBAEEAFQAVABYAFgAZABkAHwAfACkAKQA2ADYARgBGAFgAWAAVABUAFgAWABkAGQAfAB8AKQApADYANgBGAEYAWABYABgAGAAZABkAHQAdACQAJAAvAC8AQQBBAFgAWABzAHMAGAAYABkAGQAdAB0AJAAkAC8ALwBBAEEAWABYAHMAcwAQABAAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABAAEAAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHAFsAWwAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAWwBbABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAVABUAFQAVABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFQAVABUAFQAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABMAEwATABMAFgAWABYAFgAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQATABMAEwATABYAFgAWABYAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAWABYAFgAWABkAGQAZABkAHQAdAB0AHQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAFgAWABYAFgAZABkAGQAZAB0AHQAdAB0AEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAAQABAAEAAQABAAEAAQABAAEgASABIAEgAVABUAFQAVABgAGAAYABgAGwAbABsAGwAfAB8AHwAfACQAJAAkACQAEAAQABAAEAAQABAAEAAQABIAEgASABIAFQAVABUAFQAYABgAGAAYABsAGwAbABsAHwAfAB8AHwAkACQAJAAkABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEQARABEAEQARABEAEQARABQAFAAUABQAGAAYABgAGAAeAB4AHgAeACMAIwAjACMAKQApACkAKQAvAC8ALwAvABEAEQARABEAEQARABEAEQAUABQAFAAUABgAGAAYABgAHgAeAB4AHgAjACMAIwAjACkAKQApACkALwAvAC8ALwARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABIAEgASABIAEwATABMAEwAWABYAFgAWABsAGwAbABsAIwAjACMAIwAsACwALAAsADYANgA2ADYAQQBBAEEAQQASABIAEgASABMAEwATABMAFgAWABYAFgAbABsAGwAbACMAIwAjACMALAAsACwALAA2ADYANgA2AEEAQQBBAEEAEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAVABUAFQAVABYAFgAWABYAGQAZABkAGQAfAB8AHwAfACkAKQApACkANgA2ADYANgBGAEYARgBGAFgAWABYAFgAFQAVABUAFQAWABYAFgAWABkAGQAZABkAHwAfAB8AHwApACkAKQApADYANgA2ADYARgBGAEYARgBYAFgAWABYABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAGAAYABgAGAAZABkAGQAZAB0AHQAdAB0AJAAkACQAJAAvAC8ALwAvAEEAQQBBAEEAWABYAFgAWABzAHMAcwBzABgAGAAYABgAGQAZABkAGQAdAB0AHQAdACQAJAAkACQALwAvAC8ALwBBAEEAQQBBAFgAWABYAFgAcwBzAHMAcwAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2ABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcARwBHABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYARwBHAEcARwAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2AEcARwBHAEcAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcA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AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA63bWO9bWoDxyBAY9mJc7PYMicT1tUZM9IwuuPTa9yD17ZuM9xgX+PfdMDD7jkBk+Es4mPvEDND7qMUE+aVdOPtxzWz6uhmg+TY91PpNGgT7Vv4c+ITOOPjGglD69Bps+e2ahPiW/pz5zEK4+Hlq0PuGbuj5z1cA+kQbHPvMuzT5WTtM+dGTZPghx3z7Qc+U+h2zrPupa8T63Pvc+qxf9PsNyAT8DVAQ/dC8HP/gECj9u1Aw/tp0PP7JgEj9CHRU/SNMXP6SCGj86Kx0/68wfP5lnIj8o+yQ/eocnP3MMKj/2iSw/6P8uPyxuMT+p1DM/QjM2P9yJOD9f2Do/sB49P7VcPz9VkkE/d79DPwPkRT/h/0c/+hJKPzUdTD98Hk4/uBZQP9QFUj+661M/U8hVP4ybVz9QZVk/iyVbPyncXD8XiV4/QixgP5jFYT8GVWM/fNpkP+dVZj85x2c/Xy5pP0uLaj/u3Ws/NyZtPxpkbj+Il28/c8BwP8/ecT+P8nI/p/tzPwv6dD+w7XU/i9Z2P5O0dz+9h3g/AFB5P1QNej+wv3o/DGd7P2EDfD+olHw/2xp9P/SVfT/tBX4/wWp+P23Efj/sEn8/OlZ/P1aOfz87u38/6dx/P17zfz+Z/n8/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/tvQ6PbSfHDhu8zo9RDOwORnwOj1RaCY6uOo6PS21dDpJ4zo9rX+hOs7ZOj3/osg6Rs46PR3E7zqywDo9TXELOxKxOj0E/x47Zp86PfyKMjutizo9ABVGO+l1Oj3XnFk7Gl46PUsibTs/RDo9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AACAPwAAgD8AAIA/3v9/P73/fz+b/38/i/9/P3r/fz96/38/ev9/P3r/fz8AAIA/AACAPwAAgD8AAIA/AACAP+//fz/e/38/zv9/P73/fz+9/38/vf9/P73/fz+9/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/7/9/P97/fz/e/38/3v9/P97/fz/e/38/3v9/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD/v/38/7/9/P+//fz/v/38/7/9/P+//fz8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD+wD3w8/z34POnwcD0qjuM9zcxMPp+qqj4AAAA/sKoqP83MTD87jmM/6fBwPxA+eD+7D3w/9wN+PwABfz9FgH8/CcB/PwXgfz8C8H8/Afh/PwH8fz/4/X8/BP9/P3r/fz+9/38/3v9/P+//fz8AAIA/AACAPwAAgD8AAIA/whP+O/xC/jv7//47BvoAPGbhBjzecx48sA98PCv8GT0NHPA9em+sPmHjKj+FlGM/hT54PzUffDzETXw8/gd9PBDwfzyKx4U8Wu+cPP89+DznZ5Q9/+lWPgT+AD+h9Uw/c/RwP/4PfD8ZTfg8L3r4PMAu+TxhAPw8JaEDPSv8GT3p8HA91GAKPv2hsT7fiys/ZadjP/c/eD8ZBH4/Ef9wPaMpcT2d03E9Mnt0PfsPfz3nZ5Q9Ko7jPS3Pcz4A4QM/nG5NPxH/cD+2EHw/EQF/P7+a4z0FweM9iljkPRe25j0NHPA91GAKPs3MTD5C7MQ+exQuP/rxYz+JRXg/fQR+P0WAfz8G10w+svVMPqRwTT4QWk8+/+lWPi3Pcz6fqqo+6zgOP/c8Tz/QKHE/mBN8P0MBfz8awH8/1bGqPhHHqj5DHKs+em+sPv2hsT5C7MQ+AAAAP3PbNj98DWU/r1t4P+4Ffj9ngH8/BeB/P/8DAD/+DwA/5j8APwT+AD8A4QM/6zgOP7CqKj9QVVU/FcdxPwAffD/8AX8/GsB/PwLwfz86rio/6bgqP2HjKj/fiys/exQuP3PbNj/NzEw/MLpoP5KveD+zC34/u4B/PwXgfz8B+H8/W89MPwbXTD+h9Uw/nG5NP/c8Tz9QVVU/O45jPz7Pcz8wSnw/7gR/P03Afz8C8H8/Afx/P82PYz+FlGM/ZadjP/rxYz98DWU/MLpoP+nwcD+UwXk/pyF+Pz2Cfz8m4H8/Afh/P/j9fz/U8XA/c/RwPxH/cD/QKHE/FcdxPz7Pcz8QPng/5NZ8P/EPfz8FwX8/E/B/PwH8fz8E/38/hT54P/c/eD+JRXg/r1t4P5KveD+UwXk/uw98P/Vofj++h38/euB/PwH4fz8J/n8/ev9/P/4PfD+2EHw/mBN8PwAffD8wSnw/5NZ8P/cDfj/bM38/18N/P0Xwfz8B/H8/BP9/P73/fz8ZBH4/fQR+P+4Ffj+zC34/pyF+P/Vofj8AAX8/xJl/P+vhfz8j+H8/Cf5/P3r/fz/e/38/EQF/P0MBfz/8AX8/7gR/P/EPfz/bM38/RYB/P9HMfz/t8H8/Efx/PwT/fz+9/38/7/9/P0WAfz9ngH8/u4B/Pz2Cfz++h38/xJl/PwnAfz9x5n8/d/h/Pwn+fz96/38/3v9/PwAAgD8awH8/GsB/P03Afz8FwX8/18N/P9HMfz8F4H8/OPN/P0T8fz8E/38/vf9/P+//fz8AAIA/BeB/PwXgfz8m4H8/euB/P+vhfz9x5n8/AvB/P5T5fz8Z/n8/ev9/P97/fz8AAIA/AACAPwLwfz8C8H8/E/B/P0Xwfz/t8H8/OPN/PwH4fz/K/H8/Ff9/P73/fz/v/38/AACAPwAAgD8B+H8/Afh/PwH4fz8j+H8/d/h/P5T5fz8B/H8/bf5/P4v/fz/e/38/AACAPwAAgD8AAIA/Afx/PwH8fz8B/H8/Efx/P0T8fz/K/H8/+P1/Pzf/fz+9/38/7/9/PwAAgD8AAIA/AACAP/j9fz8J/n8/Cf5/Pwn+fz8Z/n8/bf5/PwT/fz+b/38/3v9/PwAAgD8AAIA/AACAPwAAgD8E/38/BP9/PwT/fz8E/38/Ff9/Pzf/fz96/38/zv9/P+//fz8AAIA/AACAPwAAgD8AAIA/ev9/P3r/fz96/38/ev9/P4v/fz+b/38/vf9/P97/fz8AAIA/AACAPwAAgD8AAIA/AACAP73/fz+9/38/vf9/P73/fz+9/38/zv9/P97/fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD/e/38/3v9/P97/fz/e/38/3v9/P97/fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/7/9/P+//fz/v/38/7/9/P+//fz/v/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPxsv+DzVW+M9PzmqPkPIKT9+/GE/PWB2P7sPfD80hn0/guR9Pxr8fT8AAn4/ggN+P9UDfj8sAHw8SrhwPXwpTD73A/4+gEVKPwBzbT8QPng/hxh7P8zRez9DAHw/3Qt8P9AOfD+ID3w/N/T9OwUC+DzWxOI9QuioPgEvJz/LZ10/6fBwPz1gdj/vxXc/+x94P4c2eD8pPHg/mz14Pwzxfjud0Xs8DA9wPZFFSj7/Pfg+NQxDPzuOYz8Ac20/Ag9wP0q4cD/B4nA/X+1wPw/wcD84cP86/cT9O0tO9zwzcOA9CtejPt+JHT/NzEw/y2ddP378YT89KWM/73RjP9+HYz+ojGM/G7B/OpLBfjulGHs8AHNtPSQMQz4qjuM+sKoqPzUMQz+ARUo/fClMP9ejTD+Uwkw/PspMPw3Q/zmSQP866gj9O3WJ9DwhlNc9G0mSPgAAAD/fiR0/AS8nP0PIKT/ecSo/eJwqPxanKj/j3385QoB/OvwDfjv/PXg8RY5jPcGqKj6fqqo+Ko7jPv89+D73A/4+NID/PgXg/z4B+P8+Nuj/OCOg/zlRgv46MiP6O5IO6jyNLro9zcxMPhtJkj4K16M+QuioPj85qj4ujqo+jKOqPvjrfzgbsH85icF+OpAYezs2c208JAxDPSqO4z3Bqio+JAxDPpFFSj58KUw+6KNMPpTCTD4C7v835Lf/OEfh/jkLlPs6ty7vO/XNxzzp8HA9jS66PSGU1z0zcOA91sTiPdVb4z2VgeM93u5/NxS8fzhA8X45yNF7OvEOcDueRUo8/z34PCQMQz1FjmM9AHNtPQwPcD1KuHA9weJwPXjv/zYfvv83Tfn+OLjw+zmvf/A6J4fLO7APfDz1zcc8kg7qPHWJ9DxLTvc8BQL4PBsv+Dy67382Mb9/Nw/9fjhKAHw5U7hwOmQpTDv8A/47nkVKPDZzbTz/PXg8pRh7PJ3RezwsAHw85u//NYm//zb+/v43Ewj8OKXU8Dntesw6/AB/OyeHyzu3Lu87MiP6O+oI/Tv9xP07N/T9O/fvfzXLv382EQB/N9ULfDjf4nA53aNMOlOA/zpkKUw78Q5wO5AYezv8A347ksF+OwzxfjsJ8P80y7//NX8A/zbfDfw3H+rwOES4zDkUwH867XrMOq9/8DoLlPs6UYL+OpJA/zo4cP865u9/NADAfzXBAH82uw58N3PtcDh3wkw5BuD/Od2jTDpTuHA6yNF7OonBfjpCgH86G7B/Oubv/zMSwP80wQD/NT8P/DYr7/A3rMfMOP/vfzlEuMw5pdTwObjw+zlH4f45I6D/OQ3Q/zkC8H8zEsB/NPYAfzWXD3w2BvBwNzLKTDjH9/84d8JMOd/icDlKAHw5QPF+ORuwfznj33855u//MhLA/zMHAf80lw/8NYrw8DaYy8w39/t/OKzHzDgf6vA4Ewj8OE35/jjkt/84Nuj/OObvfzISwH8zBwF/NLoPfDW28HA2PMxMN+b9/zcyykw4c+1wONULfDgP/X44FLx/OPjrfzj87/8x9r//MsEA/zO6D/w04vDwNX7MzDYw/383mMvMNyvv8DffDfw3/v7+Nx++/zcC7v83/O9/Mfa/fzL5AH8z3Q98NOLwcDWqzEw2iP//NjzMTDcG8HA3uw58NxEAfzcxv3833u5/N/zv/zAMwP8xFQH/MpcP/DP08PA01szMNbT/fzZ+zMw2ivDwNj8P/DZ/AP82ib//Nnjv/zb8738wI8B/MRUBfzKzD3wz9PBwNMXMTDW0//81qsxMNrbwcDaXD3w2wQB/Nsu/fza67382DvD/LyPA/zD/AP8xsw/8MvTw8DPWzMw06f9/NdbMzDXi8PA1lw/8NcEA/zXLv/815u//NQ7wfy8RwH8w6AB/MbMPfDL08HAz1sxMNPr//zTFzEw14vBwNboPfDX2AH81AMB/NffvfzUO8P8uEcD/LxUB/zDJD/wx2PDwMsjMzDMPAIA01szMNPTw8DS6D/w0BwH/NBLA/zQJ8P80DvB/Lu2/fy8DAX8wyQ98MdjwcDLIzEwz1///M9bMTDT08HA03Q98NAcBfzQSwH805u9/NPLv/y01wP8u8QD/L8kP/DDu8PAx5MzMMvP/fzPIzMwz9PDwM5cP/DPBAP8zEsD/M+bv/zO7D3w/ED54P+nwcD87jmM/zcxMP7CqKj8AAAA/n6qqPs3MTD4qjuM96fBwPf89+DywD3w8/AP+O/wAfztTgP86FMB/Ogbg/zn/7385x/f/OPf7fzjm/f83MP9/N4j//za0/382tP//Nen/fzX6//80DwCANNf//zPz/38z1QN+P4IDfj8AAn4/Gvx9P4LkfT80hn0/uw98Pz1gdj9+/GE/Q8gpPz85qj7VW+M9Gy/4PIgPfD/QDnw/3Qt8P0MAfD/M0Xs/hxh7PxA+eD8Ac20/gEVKP/cD/j58KUw+SrhwPSwAfDybPXg/KTx4P4c2eD/7H3g/78V3Pz1gdj/p8HA/y2ddPwEvJz9C6Kg+1sTiPQUC+Dw39P07D/BwP1/tcD/B4nA/SrhwPwIPcD8Ac20/O45jPzUMQz//Pfg+kUVKPgwPcD2d0Xs8DPF+O6iMYz/fh2M/73RjPz0pYz9+/GE/y2ddP83MTD/fiR0/CtejPjNw4D1LTvc8/cT9Ozhw/zo+ykw/lMJMP9ejTD98KUw/gEVKPzUMQz+wqio/Ko7jPiQMQz4Ac209pRh7PJLBfjsbsH86FqcqP3icKj/ecSo/Q8gpPwEvJz/fiR0/AAAAPxtJkj4hlNc9dYn0POoI/TuSQP86DdD/OQH4/z4F4P8+NID/PvcD/j7/Pfg+Ko7jPp+qqj7Bqio+RY5jPf89eDz8A347QoB/OuPffzmMo6o+Lo6qPj85qj5C6Kg+CtejPhtJkj7NzEw+jS66PZIO6jwyI/o7UYL+OiOg/zk26P84lMJMPuijTD58KUw+kUVKPiQMQz7Bqio+Ko7jPSQMQz02c208kBh7O4nBfjobsH85+Ot/OJWB4z3VW+M91sTiPTNw4D0hlNc9jS66PenwcD31zcc8ty7vOwuU+zpH4f455Lf/OALu/zfB4nA9SrhwPQwPcD0Ac209RY5jPSQMQz3/Pfg8nkVKPPEOcDvI0Xs6QPF+ORS8fzje7n83Gy/4PAUC+DxLTvc8dYn0PJIO6jz1zcc8sA98PCeHyzuvf/A6uPD7OU35/jgfvv83eO//NiwAfDyd0Xs8pRh7PP89eDw2c208nkVKPPwD/jtkKUw7U7hwOkoAfDkP/X44Mb9/N7rvfzY39P07/cT9O+oI/TsyI/o7ty7vOyeHyzv8AH877XrMOqXU8DkTCPw4/v7+N4m//zbm7/81DPF+O5LBfjv8A347kBh7O/EOcDtkKUw7U4D/Ot2jTDrf4nA51Qt8OBEAfzfLv3829+9/NThw/zqSQP86UYL+OguU+zqvf/A67XrMOhTAfzpEuMw5H+rwON8N/Dd/AP82y7//NQnw/zQbsH86QoB/OonBfjrI0Xs6U7hwOt2jTDoG4P85d8JMOXPtcDi7Dnw3wQB/NgDAfzXm7380DdD/OSOg/zlH4f45uPD7OaXU8DlEuMw5/+9/OazHzDgr7/A3Pw/8NsEA/zUSwP805u//M+PffzkbsH85QPF+OUoAfDnf4nA5d8JMOcf3/zgyykw4BvBwN5cPfDb2AH81EsB/NALwfzM26P845Lf/OE35/jgTCPw4H+rwOKzHzDj3+384mMvMN4rw8DaXD/w1BwH/NBLA/zPm7/8y+Ot/OBS8fzgP/X441Qt8OHPtcDgyykw45v3/NzzMTDe28HA2ug98NQcBfzQSwH8z5u9/MgLu/zcfvv83/v7+N98N/Dcr7/A3mMvMNzD/fzd+zMw24vDwNboP/DTBAP8z9r//Mvzv/zHe7n83Mb9/NxEAfze7Dnw3BvBwNzzMTDeI//82qsxMNuLwcDXdD3w0+QB/M/a/fzL8738xeO//Nom//zZ/AP82Pw/8Norw8DZ+zMw2tP9/NtbMzDX08PA0lw/8MxUB/zIMwP8x/O//MLrvfzbLv382wQB/NpcPfDa28HA2qsxMNrT//zXFzEw19PBwNLMPfDMVAX8yI8B/MfzvfzDm7/81y7//NcEA/zWXD/w14vDwNdbMzDXp/3811szMNPTw8DOzD/wy/wD/MSPA/zAO8P8v9+9/NQDAfzX2AH81ug98NeLwcDXFzEw1+v//NNbMTDT08HAzsw98MugAfzERwH8wDvB/Lwnw/zQSwP80BwH/NLoP/DT08PA01szMNA8AgDTIzMwz2PDwMskP/DEVAf8wEcD/Lw7w/y7m7380EsB/NAcBfzTdD3w09PBwNNbMTDTX//8zyMxMM9jwcDLJD3wxAwF/MO2/fy8O8H8u5u//MxLA/zPBAP8zlw/8M/Tw8DPIzMwz8/9/M+TMzDLu8PAxyQ/8MPEA/y81wP8u8u//LQAAAACS1xC6skMTujuyAbo0mv+5rUkAuqkjBLrhAgm6gE0PuhfXFLom5xm6LMQgum16Jbpvcyu6UKwxumP4NbrCoju6xS8+ulEPQ7qNXES60FxJupWASrpQX0260vFLuoKRTLqkgky66F5LumQJSLr8ZEW6YN8/uq0lPbp+WTW6LlYuurk9Jrq73xu6Pd8RulrjBroOgfG5yrPWuf2Pt7mg4pe50AZcuf6pF7njdoG4eWhiNz+C5TjSOVY58KOaOU8b0zkb4wU6v48jOveBQzpJqmE635OBOkJ1kzph3KQ6CDm2OtlqyjrlF906kH7wOukHAjuQpgw7jNgWO+5iITtCtys74aY2O4chQTvK+0s79Y9WO0qRYTvZ+2s76nB2O5R5gDsXwoU7132KO/1LjzvGJJQ7VbiYO78QnTucA6E7uyClO51zqDue56s7TDevO42XsTtc0bM7Z8i1OzdMtztLObg7Df64O7DGuDtwX7g7sDq3O42MtTvNarM7aGuwOy+9rDuUXqg7j1CjOyalnTvC3JY7qoePO2MshzsmB3w7cAFoO0BRUju9bTo7gp4gO2zeBDub5M46JeaOOqrjGDpBkOc3Kz4Pujmgl7ptcuy6VbQiu/1HUbsPHIG7L72auzhUtbvbCNG7kPLtu6oEBryfoBW8erklvCBhNryYo0e8DnJZPP7FazzQnX48iRKJPOj9kjyRLp08bY2nPEAmsjwj+bw8RQTIPHxA0zwOtd48r1nqPPor9jz+BwE9OREHPSAoDT0GVRM9+oUZPRjEHz3xByY9QUwsPSSgMj3+7Tg9Cjg/Pb1+RT2tuks9afFRPRgeWD1MMF495DdkPVQiaj22/W89hbF1PXBFez1nYYA9iQODPYiUhT3+D4g92nWKPeK0jD3r3449IOyQPZfXkj2rnpQ91D6WPe/Blz0KFJk9Fj6aPXg9mz1aDpw9n6ucPcsZnT1xUp09YVWdPaIfnT2xrpw9jQGcPaIYmz0+7Jk93IGYPeLQlj3s15Q965mSPWUVkD1CPo09iiSKPe+xhj1T9YI9D8p9PVACdT0ilWs963dhPTirVj0iJ0s9cv8+PdAUMj30byQ9uRUWPWH/Bj03Pu48TQ3NPCZkqjykGoY8A7dAPKIv5DstiQE74UhSux1uDLzUfGe8iuKivDCK07xI4QK9CMkcvfNrN70h3VK98RVvvewFhr3E4JS9BR+kvcS4s714scO9FgnUveW55L2mxvW9lJUDvmhyDL7nehW+Ba4evsAIKL6+ijG+cjQ7vqIDRb7c+U6+mw9Zvt1KY76Fo22+7x14vhVbgb6+tYa+nB2MvpSSkb6iE5e+OKCcvkQ3or7k1qe+q4CtvhMys77V6bg+iKi+Ps9rxD4cM8o+nP3PPrLL1T5amts+J2nhPhI45z5EBe0+SNDyPsaW+D6/WP4+GAsCP0flBD/EvAc/to8KP1FdDT/xJRA//ucSP2+kFT9IWRg/LwcbP1isHT+uSSA/390iP5RoJT8r6Sc/IF8qP5jKLD8MKi8/9n0xP+3FMz87ADY/oS04P31NOj/HXjw//2E+PxlWQD+xOkI/5A9EP8nURT+liEc/gSxJP8i+Sj+tP0w/zq5NP4ULTz9zVlA/TY5RP+GyUj8vxVM/OcNUP32uVT9RhVY/xUhXP7v3Vz9Eklg/mRhZPzeLWT8O6Fk/pDBaP+ZkWj+zg1o/nI5aP7ODWj/mZFo/pDBaPw7oWT83i1k/mRhZP0SSWD+791c/xUhXP1GFVj99rlU/OcNUPy/FUz/hslI/TY5RP3NWUD+FC08/zq5NP60/TD/Ivko/gSxJP6WIRz/J1EU/5A9EP7E6Qj8ZVkA//2E+P8dePD99TTo/oS04PzsANj/txTM/9n0xPwwqLz+Yyiw/IF8qPyvpJz+UaCU/390iP65JID9YrB0/LwcbP0hZGD9vpBU//ucSP/ElED9RXQ0/to8KP8S8Bz9H5QQ/GAsCP79Y/j7Glvg+SNDyPkQF7T4SOOc+J2nhPlqa2z6yy9U+nP3PPhwzyj7Pa8Q+iKi+PtXpuL4TMrO+q4CtvuTWp75EN6K+OKCcvqITl76UkpG+nB2Mvr61hr4VW4G+7x14voWjbb7dSmO+mw9Zvtz5Tr6iA0W+cjQ7vr6KMb7ACCi+Ba4evud6Fb5ocgy+lJUDvqbG9b3lueS9FgnUvXixw73EuLO9BR+kvcTglL3sBYa98RVvvSHdUr3zaze9CMkcvUjhAr0witO8iuKivNR8Z7wdbgy84UhSuy2JATuiL+Q7A7dAPKQahjwmZKo8TQ3NPDc+7jxh/wY9uRUWPfRvJD3QFDI9cv8+PSInSz04q1Y963dhPSKVaz1QAnU9D8p9PVP1gj3vsYY9iiSKPUI+jT1lFZA965mSPezXlD3i0JY93IGYPT7smT2iGJs9jQGcPbGunD2iH509YVWdPXFSnT3LGZ09n6ucPVoOnD14PZs9Fj6aPQoUmT3vwZc91D6WPauelD2X15I9IOyQPevfjj3itIw92nWKPf4PiD2IlIU9iQODPWdhgD1wRXs9hbF1Pbb9bz1UImo95DdkPUwwXj0YHlg9afFRPa26Sz29fkU9Cjg/Pf7tOD0koDI9QUwsPfEHJj0YxB89+oUZPQZVEz0gKA09OREHPf4HAT36K/Y8r1nqPA613jx8QNM8RQTIPCP5vDxAJrI8bY2nPJEunTzo/ZI8iRKJPNCdfjz+xWs8DnJZvJijR7wgYTa8erklvJ+gFbyqBAa8kPLtu9sI0bs4VLW7L72auw8cgbv9R1G7VbQiu21y7Lo5oJe6Kz4PukGQ5zeq4xg6JeaOOpvkzjps3gQ7gp4gO71tOjtAUVI7cAFoOyYHfDtjLIc7qoePO8LcljsmpZ07j1CjO5ReqDsvvaw7aGuwO81qszuNjLU7sDq3O3BfuDuwxrg7Df64O0s5uDs3TLc7Z8i1O1zRszuNl7E7TDevO57nqzudc6g7uyClO5wDoTu/EJ07VbiYO8YklDv9S487132KOxfChTuUeYA76nB2O9n7aztKkWE79Y9WO8r7SzuHIUE74aY2O0K3KzvuYiE7jNgWO5CmDDvpBwI7kH7wOuUX3TrZaso6CDm2OmHcpDpCdZM635OBOkmqYTr3gUM6v48jOhvjBTpPG9M58KOaOdI5Vjk/guU4eWhiN+N2gbj+qRe50AZcuaDil7n9j7e5yrPWuQ6B8bla4wa6Pd8RurvfG7q5PSa6LlYuun5ZNbqtJT26YN8/uvxkRbpkCUi66F5LuqSCTLqCkUy60vFLulBfTbqVgEq60FxJuo1cRLpRD0O6xS8+usKiO7pj+DW6UKwxum9zK7pteiW6LMQguibnGboX1xS6gE0PuuECCbqpIwS6rUkAujSa/7k7sgG6skMTupLXELoR+38/q4R/P7Bwfj/Jv3w/AnN6P8WLdz/dC3Q/c/VvPwxLaz+ID2Y/IUZgP2ryWT9IGFM/+LtLPwDiQz87jzs/ycgyPxSUKT/K9h8/2fYVP2uaCz/l5wA/u8vrPkE21T5IHb4+EI+mPh+ajj6Bmmw+z247PoXPCT57tq89HMMWPaaPgb+xm4e/G1SNv1u1kr8hvJe/U2WcvxCuoL+1k6S/2xOov1gsq79D262/9h6wvwr2sb9eX7O/Elq0v4zltL92AbW/vq20v5jqs798uLK/KBixv5wKr78ckay/Lq2pv5xgpr9uraK/65Wev5wcmr9ARJW/1w+Qv5SCir/ln4S/19Z8v/TRb78qOWK/3BRUv8JtRb/kTDa/mrsmv3zDFr9ibga/wYzrvniryb7OTae+9oiEvszkQr7Yfvi90DVVvUArjjyYmrE9cJ4fPhgNZj709pU+3Iq4Pvms2j43SPw+76MOP8vLHj+4kS4/+Os9PxnRTD/rN1s/iRdpP2Zndj8AAIA/D7F/P23Efj+sOn0/vhR7P/hTeD8L+nQ/CAlxP16DbD/Ya2c/l8VhPxqUWz8x21Q/Ap9NPwPkRT/5rj0/8wQ1P0nrKz+ZZyI/wH8YP9k5Dj88nAM/51rxPoHo2j4V78M+03ysPjCglD7Iz3g+vMVHPoVAFj41vcg9KftIPQAAgL9hIIa/Cu6Lv2Zlkb8Xg5a/9kObvxKln7+5o6O/dD2nvwxwqr+GOa2/LJivv4aKsb9hD7O/ziW0vyLNtL8AAAAAIs20v84ltL9hD7O/hoqxvyyYr7+GOa2/DHCqv3Q9p7+5o6O/EqWfv/VDm78Xg5a/Z2WRvwrui79hIIa/AACAv1whc7/GrGW/i6pXv04jSb8FIDq/8qkqv57KGr/Tiwq/MO/zvkQw0r6676++rkKNvgh9VL6k8Q2+eB2OvQAAAACIHY49qPENPgh9VD6yQo0+vu+vPkkw0j4v7/M+1IsKP57KGj/zqSo/BiA6P1AjST+Lqlc/xqxlP1whcz8AAIA/vhR7P16DbD8x21Q/8wQ1P9k5Dj8U78M+v8VHPgAAAADFxUe+F+/Dvts5Dr/0BDW/MttUv1+DbL+/FHu/AAAAAMLFR74W78O+2jkOv/MENb8y21S/X4Nsv78Ue78AAIC/vhR7v16DbL8x21S/8gQ1v9k5Dr8T78O+vMVHvhH7fz+QDkm8l9N/PyzDFr2rhH8/dCt7vVgOfz+Atq+9sHB+Py684b3Mq30/hs8Jvsm/fD+2qyK+zax7P89uO74Cc3o/ARVUvpgSeT9/mmy+xYt3P8B9gr7G3nU/IpqOvt0LdD+GoJq+UhNyPxKPpr5z9W8/72OyvpOybT9KHb6+DEtrP1O5yb48v2g/QTbVvogPZj9PkuC+WjxjP7vL674hRmA/y+D2vlMtXT/k5wC/avJZP4JLBr/llVY/a5oLv0kYUz/N0xC/H3pPP9n2Fb/4u0s/xgIbv2XeRz/L9h+/AOJDPyXSJL9nxz8/FZQpvzuPOz/eOy6/Izo3P8nIMr8AAAA/AACAPwAAAED5AhVQBt5/vw1HGL9GnHg/fd8svxWxED7UbnO/C6vwvgEvv77fmk4/qNOXPs6Vx75OTmU/HYgsvEpqK79UpGm/Yv3rvThkDD8TkUA/7tjMPl9Cfb96qX+/EKhhvz+PdL/3uWg/5R3qvpwxEb8xszq/tOZ6vymYQT8IiFY+PciQPYtQSL/dtT4/hWRpvwrjdr/BiHK/LMabProf/b4PaCo/84IlP42+aj8oWDM+DS81v0mGBj/lVDO/FSTovgm2fr+HlWa/FU17P0FORr+R9Qu/R5zSvBdqiryUazw7R3Fcv0jZ2T6BKn2/x/lgvzl/BD8jVSs/0BB/v3vBFL/t63+/wtN7P0x7DT+JMBg/Pg6xPi3kcj+eayA/u3g+v9SARb/9e62+5Xlqv3MOFz12SkO/eOlpvxZCTD8Vi26/enMLP/ga9L2PPFu/qT3ZPmnHbb8jtI4+lsnvvXt9f79wsVo+1Ttov/0MQ78JaH8/Dip7Py5jdb8f8Fu/lCl1P9bdbr8yF/0+ShacPh6VNL9tV1o/TnHvPsbMaT/hln+/OUNxvV0ZNT+6ZpE+5VKxPmTccz/zhgy/OiFJv5l0Qb+bOHW/LiJRvvr4Uj+Sb3c/798mv10pY79Gum+/Uqt/P7QNaj+qn3u/hDY0vxKFFj+fvLg7aCAeP6wBZD8ZIAc/jtQvv6TdTj9Hvjg/JE4xv6gYIb92igs+6EiZPmbI67459mq/+Xg9v2g0fj8m+9A+49xSP0SIPb9fMXy/3u1/vxmLdb98DH6//D9bvuQqb7/YLjC/SbCJviAkaz8SqL89sut1v87TuD7YNgQ/Orc2v6F+HD99YvA+aVzyPiXyi76n9Gg/lJd3P/qa5T5M+30/vIgqP1ZFdz8KzT8/qhdmvzznfr+FIQc/xlh5P6eaLL4FEjo/OBL2vnFOdD9HQTA/g8g6vxweRL8whVq/aytjP3NqUL//jHm/UBphvw1bPz9MOje/PFd8v3zSVT9LR1Y/XjP2vlsNfb8ZrXg/KApNPwUaBT8Wb00/fwgLvIlGRL8f9DO/rLgNP199db/2hN2+3IV4P1r+vj0Ujmy/VOZaP8PvMb9lgHw/rvuHPkSvOz+Mjo8+Rd4UPinLPb8GPH4/zJaPvKN/U7/iHw2/Ji59v6jHej/lsXC/S/F9v5WRKz//RS2/s1gBPiEwuz1uTlK+a3I3v3pWer/BZU8/rYcJP4H1zz51hYe+40Itv93scT/eVV4/brw7vpK4fr+Lyde8+uFXP24i1T04vry9vgUyP0fjfz9aGv29rR1Mv4Zzar/rp3Y/SmZ3P02nTL9QqyQ/XN/svalekj7RZ8y+x/hwPxmrfT8qrmu/mZeSProMab9GQVW/qF0sv0I8dD+ftvs+3BeEvZokBT2C6X6/IwnZPtSuJ79sUVM/6QJQv20qBL8/GH+/t0tYP6SjPDuHziU/MaczP2NwUb65r3Y/cGvQPqlXML/m02k/IZCyvhX4Nj8ReGs/U0IqP5J2fb930ls/40swP4x9Dj8Zrn6/lVZNvmwwcT8NOX+/2pQsv9iv/T6jYPK+Q+pbv5isEj5CA3G/itqVvtrlaz19OeA+Kf9Jv0kWur4cFCY/XzazvR4Uej8kB3e/bSMKvyMmDj9Z9kk/AUI8P9Xqdj/YJ56+N4BOv4xuEj1RJ3m/l7l8P9La9z7mH1G/2IRovzq9LT+dFlA/OOEhvs9QWj/ipk4/Oxt9vq6t9D7JOe2+cbN2P1oNxT7uzn2/jHB/voqwVD+Uo3K/fmgWv+t6Uzzbk3Q/qwZbv0oEd7/J5CO/Sih5vwqB/T0l/Gk/12gUP2bPf78q+jU//mZev3nJT75XWYa+3MEuv0eQfL49XWC/+vDFPEw6iz5+GFI/ItNZv2iuYj9geGW/ohc6viTmhb6kmb89TWcMP37zC7/2tXU/ebO9PrZeGb8KKDS/94ppP/Ensb7vkX6/CxAwv6bSmr4KcIm+r8ZUPxdA+z7hPei+nY7HPvKEdD8cQnq/VlRZPeZpMb4wfm2/8t1/PwQ2FT8sQya/hbsvP0Yb9r0STBK/zucWv9Vqsr7xF9a+qqsmPg+1fz82EeQ95AURv7eqZ79L/nA/t6S0PjDbQb9tWAk/jVlSPgTBcb8j838/RGFMP3vhlD5VN7U+IOsgv/h6xj7dat4+U0d8v/ake7+qQlc+PNBHPgRBcb+Wa3S/MtB7P0cNbz85dTW/4TNav+7Zqr2NP12/dXjqvoEQxz7FBXk/saJrP4XUH7+PQWQ/qawMP4GXvL7p7nY/6FxwP6lRZr8NIH4/XOMZvXDNcL8fn9M+wVV/PyJYLL4Uzre+GsPuvmqEVj1WR4O+H+y7Ppznxb7UoWo/0Zucvl6kMD9q1mg/zO7Fvlq5fj+hw5W+57e/PgIRGr/pJ14/P2R5v531dj8tdmI/tTgTP8TyVD0kzVk+g/UIvzrweD9QFP2+x1l7PyNGfb9hE86+nRZ7v3+DOr+p+Iu+1t9/P8g+gT0Qnwu/D4dRvpuCEb51iCk/Vaw5Pyn/WL8XV8I8KvFjv5p/Yz8xg3U/jndEP6orPD9GfBm9EYiivjWXvL6+pa6+p+HNPoLB9D7N2Mm+XKV7P/MAozzrh56+Chs5viX7fz8tkIa+nHZuv4Sue7/ZzX8/gypNv2Y+hb40j0K/G9m2vhOfRT7dvX+/cxc/PxyWXT//UQ4/lwyrPtSiXD+td30/o4M8PcK8Kr+Pm2q/C+IjP05AID6M5n4/arnqPnJiIr+k2Vc+E9advRdUZb8AZHw/GOZhP+YNTT+Frry+V59IP+/+6D78VbI9LjRPPwk9Xr9Odck+khHKvjsIK7+Tj3o/hoQ5v3lMc78nSGU/NyIuPhb9Cz9C5ES/E1d2v8JXfz8FnNo+2FF0P3FTeD8I7H4/c4MKv4aojz52hlq/t0FaPwdLJb/QjgG/2JAovwfceL+3fmy+G0l0PwYOfr/MIXi/nd08P8MQnj59jtQ+xh97vhnPIT+5H62+xPLFvrmqbr2lJY698Xpqvt51eD+iij2+ZonzPpPM1r3qsGC/mAc4v2LCRz/qeH8/eYFmP7BcEz9DDGm/dASUPkWMdj/3Adg+ZoX2Pg/wbj/Z6N6+L4t4vxDKXT9nBbw+iiUnPyCZT7/xx7M9FVqGvm6Abb/yB1c/NPMOP8TEf7+w0nW/Rho/Pzi6+D1HbD+/1LeJvnkzdT/ZXEq/u2h0P+zlr738Yvk+X/9/P1Q47T6Zi+A9FNVDv0ZhZD/07xI/7K60PlD1QD+7kHc/iXwXv7TgZL+cOUA/7J2XvqVvfL/CLYA+VbLQvkSEZr/EVis/0318P8+Beb9ZVPm6w8VmP7twfz8/Yl+/uQl+P79Qar84wSC+L2cHva99vr6X7ZM9P1djvwS3fj/Cj3g/s8E/v332fz+bzzs9A4V/Pw77Y79MxqK+d3tWv83zeT/iSas+sMBcv1xAf79zsG4//8Bpvg1HQT6uJyw/TFkVvV3NUr0kDm2/dt1/Pzuubz8XZSs/7DJ9P8v7fr/UoeS+RTBSPwXTfj/f6n0//mA4P+kgJ78XmQU/xFhwP2S7P79qpHc/3K5oPwuYY77OPBI/ufXhvo9Ibb8PYVu/J3FjP+/2aj/oWO2+8L45Pyy+f7/7Qn+/hwUVP3vBRj/CdnE/AQ2ePUMdFj/RfA+/0UFTP7Pmez/DEso+vHDzPj+mLz/UICg/Sbc7PtQTBj0q1D+/FRDGvnJsAz/aNHm/lyp3v/5mCL8nC2q/Roh/P4CAHD/KpgC/Mmdjv3+AozwVLFo/YNJ/Pzofcj9vPlQ/DYGBveIrFr+S6Xc/f/Qzvlmd9r5/l1U/MlwFvnuRcz17CFI+b6dQP2Jlcr9xR+a+VmHRPkDAZb90m38/xiXLPsGgP7/ya5u9sq89P0dwQz8kvtU+1rE+v5N/cj/WFyY/yqTTPruJHz/pVG6/HiXYPjj1nb2cjt08y+ZdvfbNTD8YWWo/BCRLv7pjub5kgyM/dHemPVVmBz+huRk/+gw+PyX9Nz2kr30/HC5HvgbbTb9qmGK/hmglvyDUOD9LwO49Ri1Wvw5Wc7+JKni/UE4fv1riUz9tIPY84lR/v+fYer+HA7s+ePd/vz9uuL6OH2Q/+pt6v7An1T00CUY/c6t1P3Butb6fKAI/Iwl2PxYlLj4Ov0S/1XeEPhO6fz9h2Da8WiZ8P87FS7+hrHg/Hx5+v2LUfr9ekH+/dMaZPCdANb/zcaw+SmU0vz/Hbj8Xm38/6Lx8v942Ir+KsCi+8Xsmvqqadb8nd9++bbNyv7Kcf788Y3Y/6f4rvnVofb8ROmG/LJ43v6w34j5diW+/wt9uPzDHf7/JfXC/c2gQv1jKYr+E1vM+TO1/Px/CVr+r9kC/n3gFPDxacD9tG+e9duxZP5sDBj9yRcs+GltRP7WQvb5I516/dnK4vvdvsT5LE2+/jEJYvzkqJ78+0jy+hPL0PQm+fz+TY3E/TOZUPy41QD8b7rW+UTURP/uLdr5p6e8+aFGavpkeeT/n136/jBjEvgs0fD9WDdI+MWetPDRjxT0CtzQ9O1Nav20taj/Af2M/gVJ/v+PL9r6G0ne/7yuNPt8aFj8arSi/hZ4WP4cGfT9M/H8/RnhTvhnCCz8rCx+/7FMZv/ATUD4kaV6/BFh6vyWBdj+wleM9BQFcPk/O075geJA+UB93PkZQAz+W9ym/FfSovWl3Cb/X+3m/NOV4v+QcYj6JuV8/ZwgDvmETQz5ISYM8YlTtvmnWc782rJC9Sd5xvyiobL/kK9a9+pVWv6LbiryyjEA/9eJ/vz6R174eSX8/CpA4v/I+s77B1kk/sUwHPyZUeT/oroi+8/d9PyfyEb/XlEQ/uuNDvxvtUb+9PDy/XbpRP1w6fz8+zoi+g2QwP+/A3b6BbFo/bPB9PwU0az9Pkk6/kg2nvtOR3D6Yc2C+GFYtP4NsdL+gvw8/5fk0vyjW3T31t7C9HIxpP3jtKL/Avfq+uBkQPxntY7/ZcDe//BYnP7e+KD8jpSw/rRxRvy+W9L7Q7Cu+3UV/v0aHb79nrWi/3c4eP6WMh71M1nO+n4p+P/yjQD7DE3o/LsOSvhO5cj/0nXm/9E90v+PLS7+favu+amyoPiCyfz8Z02M/XiYBP7slXL9YefE+CUk/vsntHr9xAEA/YJngvrz+fz+Hfnw/eCkJv253Hb+QKGW/O1kdvVbqMr+AH5q+ZwmdvaNu1j7DP7M8u4FcvzlOfT/MGSw/uy4KvnYWNb8S9kO/TMFwP0rbuD246FK/fse2PaozpL7+XQA/QXATP6Nafb89/bm+TWCYPUTyfz+zsRC+/3Rsv7bTer+FY+S+TtYKv/Rw4j60mDY/vWYWPRXVIj+wkQU/qp1av1dvcr9MnZW8GdN8v7uoUj9E1V8/2txkP4Qib7/M1dM+d+x1P/dgbj8MsHk/4ItcP7AVfz+/rzM/7XFyvydzl77Zfmo/KkJ7vx7gqT8hsZc/91ePPwAAAAACJt4+u40kv0Qdr77glHk/HCZIP7uNJL9EHa++AibevhwmSL+7jSS/RB2vvhwmSL8CJt6+u40kv0Qdr74AAAAAzeZUPsk/0D4YeRY/UXcsv0LEBr+r9Li+1Sg8vv2Yfj9xeHM/17NdP70+Pj9Rdyy/QsQGv6v0uL7VKDy+AAAAAAIm3j4cJkg/4JR5P1wcfL/Xs12/u40kv0Qdr74CJt6+HCZIv+CUeb/glHm/XBx8v9ezXb+7jSS/RB2vvgAAAADN5lQ+yT/QPhh5Fj+9Pj4/17NdP3F4cz/9mH4/b+h+vzU6dr9sKWW/20pMv1F3LL9CxAa/q/S4vtUoPL7ZIRI/bVUyPwghUD84S2k/aCJ8P8CwiD+w6Jg/20yvPwAAAD8AAIA+AAAAPgAAgD0AAAA9AACAPAAAADwAAIA7AAAAOwAAgDoAAAA6AACAOQAAADkAAIA4AAAAOAAAgDcAAAA3AACANgAAADYAAIA1AAAANQAAgDQAAAA0AACAMwAAADMAAIAyAAAAMgAAgDEAAAAxAACAMAAAADAAAIAvAAAALwAAgC4AAAAuAACALQAAAC0AAIAsAAAALAAAgCsAAAArAACAKgAAACoAAIApAAAAKQAAgCgAAAAoAACAJwAAACcAAIAmAAAAJgAAgCUAAAAlAACAJAAAACQAAIAjAAAAIwAAgCIAAAAiAACAIQAAACEAAIAgAAAAIAAAgB8AAAAfAACAHgAAAB4AAIAdAAAAHQAAgBwAAAAcAACAGwAAABsAAIAaAAAAGgAAgBkAAAAZAACAGAAAABgAAIAXAAAAFwAAgBYAAAAWAACAFQAAABUAAIAUAAAAFAAAgBMAAAATAACAEgAAABIAAIARAAAAEQAAgBAAAAAQAACADwAAAA8AAIAOAAAADgAAgA0AAAANAACADAAAAAwAAIALAAAACwAAgAoAAAAKAACACQAAAAkAAIAIAAAACAAAgAcAAAAHAACABgAAAAYAAIAFAAAABQAAgAQAAAAEAACAAwAAAAMAAIACAAAAAgAAgAEAAAABAACAAAAAAAAAAAAAAAB0PwAAcj8AAHA/AABuPwAAbT8AAGs/AABpPwAAZz8AAGY/AABkPwAAYj8AAGE/AABfPwAAXj8AAFw/AABaPwAAWT8AAFc/AABWPwAAVD8AAFM/AABSPwAAUD8AAE8/AABNPwAATD8AAEs/AABJPwAASD8AAEc/AABGPwAARD8AAEM/AABCPwAAQT8AAEA/AAA+PwAAPT8AADw/AAA7PwAAOj8AADk/AAA4PwAANz8AADY/AAA1PwAAMz8AADI/AAAxPwAAMD8AAC8/AAAuPwAALj8AAC0/AAAsPwAAKz8AACo/AAApPwAAKD8AACc/AAAmPwAAJT8AACQ/AAAkPwAAIz8AACI/AAAhPwAAID8AAB8/AAAfPwAAHj8AAB0/AAAcPwAAGz8AABs/AAAaPwAAGT8AABg/AAAYPwAAFz8AABY/AAAVPwAAFT8AABQ/AAATPwAAEz8AABI/AAARPwAAET8AABA/AAAPPwAADz8AAA4/AAANPwAADT8AAAw/AAALPwAACz8AAAo/AAAKPwAACT8AAAg/AAAIPwAABz8AAAc/AAAGPwAABT8AAAU/AAAEPwAABD8AAAM/AAADPwAAAj8AAAI/AAABPwAAAT8AAAA/AAD/PgAA/j4AAP0+AAD8PgAA+z4AAPo+AAD5PgAA+D4AAPc+AAD2PgAA9T4AAAAzAACAMwAAADQAAIA0AAAANQAAgDUAAAA2AACANgAAADcAAIA3AAAAOAAAgDgAAAA5AACAOQAAADoAAIA6AAAAOwAAgDsAAAA8AACAPAAAAD0AAIA9AAAAPgAAgD4AAAA/AACAPwAAAEAAAIBAAAAAQQAAgEEAAABCAACAQgAAAEMAAIBDAAAARAAAgEQAAABFAACARQAAAEYAAIBGAAAARwAAgEcAAABIAACASAAAAEkAAIBJAAAASgAAgEoAAABLAACASwAAAEwAAIBMAAAATQAAgE0AAABOAACATgAAAE8AAIBPAAAAUAAAgFAAAABRAACAUQAAAFIAAIBSAACAP/A3mD/zBLU//UTXPwAAAAAAAIA/GEUhQLp0ikD1L8tAT8wIQY5xLkGQP1ZBAACAQRvElUHTWqxB07XDQf/I20HvifRBzfcGQgT5E0IYRSFC39guQoGxPEJszEpCRidZQui/Z0JYlHZCYdGCQrp0ikJtM5JCvwyaQgAAokKKDKpCwzGyQhdvukL+w8JC9S/LQoCy00IqS9xCgvnkQiC97UKclfZCmIL/QttBBENPzAhDfWANQz3+EUNopRZD2FUbQ2kPIEP50SRDZZ0pQ45xLkNVTjNDmjM4Q0IhPUMwF0JDSRVHQ3IbTEOSKVFDkD9WQ1RdW0PHgmBD0a9lQ17kakNXIHBDqGN1QzyuekMAAIBDcKyCQ2VchUPWD4hDusaKQwiBjUO3PpBDwP+SQxvElUO/i5hDpVabQ8UknkMY9qBDlsqjQzmipkP6fKlD01qsQ7s7r0OtH7JDpAa1Q5fwt0OC3bpDXs29QyXAwEPTtcNDYK7GQ8ipyUMGqMxDE6nPQ+qs0kOIs9VD5bzYQ//I20PO195DUOnhQ3/95ENWFOhD0i3rQ+1J7kOjaPFD74n0Q8+t90M81PpDNP39Q1mUAERZKwJEmcMDRBVdBUTN9wZEvpMIROYwCkRFzwtE124NRJwPD0SQsRBEtFQSRAT5E0SAnhVEJkUXRPPsGETnlRpEAEAcRDzrHUSalx9EGEUhRLTzIkRuoyRERFQmRDQGKEQ9uSlEXW0rRJQiLUTf2C5EPZAwRK5IMkQvAjREv7w1RF54N0QJNTlEwPI6RIGxPERMcT5EHjJARPbzQUTVtkNEt3pFRJw/R0SEBUlEbMxKRFSUTEQ6XU5EHidQRP/xUUTavVNEsIpVRH9YV0RGJ1lEBPdaRLjHXERhmV5E/mtgRI8/YkQRFGREhOllROi/Z0Q6l2lEe29rRKpIbUTEIm9Eyv1wRLvZckSVtnREWJR2RAJzeESUUnpEDDN8RGkUfkSr9n9E6OyAROzegURh0YJERsSDRJy3hERhq4VElp+GRDmUh0RLiYhEzH6JRLp0ikQVa4tE3mGMRBNZjUS0UI5EwkiPRDpBkEQeOpFEbTOSRCctk0RKJ5RE1yGVRM4clkQtGJdE9hOYRCcQmUS/DJpEwAmbRCgHnET3BJ1ELAOeRMkBn0TLAKBEMwChRAAAokQzAKNEygCkRMYBpUQmA6ZE6gSnRBEHqEScCalEigyqRNsPq0SOE6xEoxetRBocrkTyIK9ELCawRMcrsUTDMbJEHzizRNs+tET3RbVEck22RE1Vt0SHXbhEIGa5RBdvukRteLtEIYK8RDKMvUShlr5EbaG/RJaswEQcuMFE/sPCRD3Qw0TY3MREzunFRCD3xkTNBMhE1RLJRDghykT1L8tEDT/MRH9OzURKXs5EcG7PRO5+0ETGj9FE96DSRICy00RixNREnNbVRC7p1kQY/NdEWg/ZRPIi2kTjNttEKkvcRMdf3US8dN5EBorfRKef4ESdteFE6cviRIvi40SC+eREzhDmRG8o50RlQOhEr1jpRE1x6kQ/iutEhqPsRCC97UQN1+5ETvHvROEL8UTIJvJEAkLzRI5d9ERsefVEnJX2RB+y90TzzvhEGez5RJAJ+0RZJ/xEckX9RN1j/kSYgv9E0lAARYDgAEVWcAFFVAACRXqQAkXIIANFPrEDRdtBBEWg0gRFjGMFRaD0BUXbhQZFPRcHRceoB0V3OghFT8wIRU1eCUVy8AlFvoIKRTEVC0XKpwtFijoMRXDNDEV9YA1FsPMNRQmHDkWIGg9FLa4PRfhBEEXq1RBFAGoRRT3+EUWfkhJFJycTRdW7E0WoUBRFoOUURb16FUUAEBZFaKUWRfU6F0Wn0BdFfmYYRXr8GEWakhlF3ygaRUm/GkXYVRtFi+wbRWODHEVeGh1Ff7EdRcNIHkUs4B5FuHcfRWkPIEU+pyBFNz8hRVPXIUWTbyJF9wcjRX+gI0UqOSRF+dEkRetqJUUABCZFOZ0mRZU2J0UV0CdFt2koRX0DKUVlnSlFcTcqRZ/RKkXwaytFZAYsRfugLEW0Oy1FkNYtRY5xLkWvDC9F8qcvRVhDMEXg3jBFinoxRVYWMkVEsjJFVU4zRYfqM0XbhjRFUiM1Rem/NUWjXDZFf/k2RXyWN0WaMzhF29A4RTxuOUW/CzpFZKk6RSpHO0UR5TtFGYM8RUIhPUWNvz1F+F0+RYX8PkUymz9FATpARfDYQEUAeEFFMBdCRYK2QkXzVUNFhvVDRTmVREUMNUVFANVFRRR1RkVJFUdFnrVHRRNWSEWo9khFXZdJRTI4SkUo2UpFPXpLRXIbTEXHvExFPF5NRdH/TUWFoU5FWUNPRUzlT0Vfh1BFkilRReTLUUVWblJF5xBTRZezU0VmVlRFVflURWOcVUWQP1ZF3OJWRUeGV0XSKVhFe81YRUNxWUUqFVpFMLlaRVRdW0WXAVxF+aVcRXpKXUUZ711F15NeRbM4X0Wu3V9Fx4JgRf4nYUVUzWFFyHJiRVoYY0ULvmNF2mNkRcYJZUXRr2VF+lVmRUH8ZkWmomdFKUloRcnvaEWIlmlFZD1qRV7kakV2i2tFqzJsRf7ZbEVugW1F/ChuRajQbkVxeG9FVyBwRVvIcEV8cHFFuhhyRRbBckWPaXNFJRJ0Rdi6dEWoY3VFlQx2RZ+1dkXHXndFCwh4RWyxeEXqWnlFhQR6RTyuekUQWHtFAQJ8RQ+sfEU5Vn1FgAB+ReSqfkVkVX9FAACARVxVgEXHqoBFQACBRcdVgUVcq4FF/wCCRbFWgkVwrIJFPgKDRRlYg0UDroNF+wOERQBahEUUsIRFNgaFRWVchUWjsoVF7giGRUhfhkWvtYZFJAyHRadih0U4uYdF1g+IRYNmiEU9vYhFBRSJRdpqiUW+wYlFrxiKRa1vikW6xopF1B2LRfx0i0UxzItFdCOMRcV6jEUj0oxFjymNRQiBjUWP2I1FIzCORcWHjkV0345FMTePRfuOj0XS5o9Ftz6QRaqWkEWq7pBFt0aRRdGekUX59pFFLk+SRXGnkkXA/5JFHViTRYiwk0X/CJRFhGGURRa6lEW1EpVFYWuVRRvElUXiHJZFtXWWRZbOlkWEJ5dFf4CXRYfZl0WdMphFv4uYRe7kmEUqPplFdJeZRcrwmUUtSppFnaOaRRv9mkWlVptFPLCbRd8JnEWQY5xFTr2cRRgXnUXwcJ1F1MqdRcUknkXCfp5FzdieReQyn0UIjZ9FOeefRXZBoEXBm6BFGPagRXtQoUXrqqFFaAWiRfJfokWIuqJFKxWjRdpvo0WWyqNFXyWkRTSApEUV26RFBDalRf6QpUUG7KVFGUemRTmipkVm/aZFn1inReWzp0U3D6hFlWqoRQDGqEV3IalF+nypRYrYqUUnNKpFz4+qRYTrqkVFR6tFE6OrRe3+q0XTWqxFxbasRcMSrUXObq1F5cqtRQgnrkU4g65Fc9+uRbs7r0UPmK9Fb/SvRdtQsEVTrbBF2AmxRWhmsUUFw7FFrR+yRWJ8skUj2bJF8DWzRciSs0Wt77NFnky0RZuptEWkBrVFuGO1RdnAtUUFHrZFPnu2RYLYtkXTNbdFL5O3RZfwt0ULTrhFi6u4RRYJuUWuZrlFUcS5RQAiukW7f7pFgt26RVQ7u0UymbtFHPe7RRJVvEUTs7xFIRG9RTlvvUVezb1Fjiu+RcqJvkUR6L5FZUa/RcOkv0UuA8BFpGHARSXAwEWzHsFFS33BRfDbwUWgOsJFW5nCRSL4wkX1VsNF07XDRbwUxEWxc8RFstLERb4xxUXVkMVF+O/FRSdPxkVgrsZFpQ3HRfZsx0VSzMdFuSvIRSyLyEWq6shFNErJRcipyUVoCcpFFGnKRcvIykWNKMtFWojLRTPoy0UWSMxFBqjMRQAIzUUGaM1FFsjNRTMozkVaiM5FjOjORcpIz0UTqc9FZwnQRcZp0EUwytBFpirRRSaL0UWy69FFSUzSReqs0kWXDdNFT27TRRPP00XhL9RFupDURZ7x1EWNUtVFiLPVRY0U1kWdddZFudbWRd8310UQmddFTPrXRZNb2EXlvNhFQh7ZRap/2UUd4dlFm0LaRSOk2kW3BdtFVWfbRf/I20WzKtxFcozcRTvu3EUQUN1F77HdRdoT3kXPdd5FztfeRdk530Xum99FDv7fRTlg4EVvwuBFryThRfqG4UVQ6eFFsUviRRyu4kWSEONFEnPjRZ3V40UzOORF1JrkRX/95EU1YOVF9cLlRcAl5kWWiOZFduvmRWFO50VWsedFVhToRWF36EV22uhFlj3pRcCg6UX0A+pFNGfqRX3K6kXSLetFMJHrRZr060UNWOxFi7vsRRQf7UWngu1FRebtRe1J7kWfre5FXBHvRSN170X02O9F0DzwRbeg8EWnBPFFo2jxRajM8UW4MPJF0pTyRfb48kUlXfNFXsHzRaIl9EXvifRFR+70RapS9UUWt/VFjRv2RQ6A9kWZ5PZFL0n3Rc+t90V5EvhFLXf4Revb+EW0QPlFh6X5RWQK+kVLb/pFPNT6RTg5+0U9nvtFTQP8RWdo/EWLzfxFuTL9RfKX/UU0/f1FgWL+RdfH/kU4Lf9Fo5L/RRj4/0XLLgBGkGEARlmUAEYoxwBG+/kARtQsAUaxXwFGlJIBRnvFAUZo+AFGWSsCRlBeAkZLkQJGTMQCRlH3AkZcKgNGa10DRn+QA0aZwwNGt/YDRtopBEYCXQRGL5AERmHDBEaY9gRG1CkFRhVdBUZbkAVGpcMFRvX2BUZKKgZGo10GRgGRBkZlxAZGzfcGRjorB0asXgdGIpIHRp7FB0Yf+QdGpCwIRi9gCEa+kwhGUscIRuv6CEaJLglGK2IJRtOVCUZ/yQlGMP0JRuYwCkahZApGYZgKRibMCkbv/wpGvTMLRpBnC0ZomwtGRc8LRiYDDEYNNwxG+GoMRuieDEbc0gxG1gYNRtQ6DUbXbg1G36INRuzWDUb9Cg5GEz8ORi5zDkZOpw5GctsORpwPD0bKQw9G/HcPRjSsD0Zw4A9GsRQQRvdIEEZBfRBGkLEQRuTlEEY9GhFGmk4RRvyCEUZjtxFGz+sRRj8gEka0VBJGLokSRqy9EkYv8hJGtyYTRkNbE0bUjxNGasQTRgT5E0akLRRGR2IURvCWFEadyxRGTwAVRgU1FUbBaRVGgJ4VRkXTFUYOCBZG3DwWRq5xFkaFphZGYdsWRkEQF0YmRRdGD3oXRv2uF0bw4xdG6BgYRuRNGEbkghhG6bcYRvPsGEYCIhlGFVcZRiyMGUZJwRlGafYZRo8rGka5YBpG55UaRhrLGkZSABtGjjUbRs9qG0YUoBtGXtUbRq0KHEYAQBxGWHUcRrSqHEYU4BxGehUdRuNKHUZSgB1GxbUdRjzrHUa4IB5GOFYeRr2LHkZHwR5G1fYeRmcsH0b+YR9GmpcfRjrNH0beAiBGhzggRjVuIEbnoyBGndkgRlgPIUYYRSFG3HohRqSwIUZx5iFGQhwiRhhSIkbzhyJG0b0iRrTzIkacKSNGiF8jRnmVI0ZuyyNGZwEkRmU3JEZobSRGbqMkRnrZJEaJDyVGnUUlRrZ7JUbTsSVG9OclRhoeJkZEVCZGc4omRqbAJkbd9iZGGS0nRlljJ0aemSdG588nRjQGKEaGPChG3HIoRjapKEaV3yhG+RUpRmBMKUbMgilGPbkpRrLvKUYrJipGqFwqRiqTKkawySpGOwArRso2K0ZdbStG9aMrRpHaK0YxESxG1kcsRn9+LEYstSxG3ussRpQiLUZOWS1GDJAtRs/GLUaX/S1GYjQuRjJrLkYGoi5G39guRrsPL0adRi9Ggn0vRmy0L0Za6y9GTCIwRkJZMEY9kDBGPMcwRkD+MEZHNTFGU2wxRmOjMUZ42jFGkREyRq5IMkbPfzJG9LYyRh7uMkZMJTNGflwzRrWTM0bwyjNGLwI0RnI5NEa5cDRGBag0RlXfNEapFjVGAk41Rl6FNUa/vDVGJPQ1Ro4rNkb7YjZGbZo2RuPRNkZdCTdG20A3Rl54N0blrzdGcOc3Rv8eOEaSVjhGKo44RsXFOEZl/ThGCTU5RrJsOUZepDlGD9w5RsMTOkZ8SzpGOYM6Rvu6OkbA8jpGiio7RlhiO0YpmjtGANI7RtoJPEa4QTxGm3k8RoGxPEZs6TxGWyE9Rk5ZPUZFkT1GQck9RkABPkZEOT5GTHE+RlepPkZn4T5GfBk/RpRRP0awiT9G0cE/RvX5P0YeMkBGSmpARnuiQEaw2kBG6RJBRiZLQUZog0FGrbtBRvbzQUZELEJGlmRCRuucQkZF1UJGow1DRgVGQ0ZrfkNG1bZDRkPvQ0a1J0RGK2BERqWYREYk0URGpglFRi1CRUa3ekVGRrNFRtjrRUZvJEZGCV1GRqiVRkZLzkZG8gZHRpw/R0ZLeEdG/rBHRrXpR0ZwIkhGL1tIRvKTSEa5zEhGhAVJRlM+SUYmd0lG/a9JRtjoSUa3IUpGmlpKRoGTSkZszEpGWwVLRk4+S0ZFd0tGQLBLRj/pS0ZCIkxGSVtMRlSUTEZjzUxGdgZNRo0/TUaoeE1GxrFNRunqTUYQJE5GOl1ORmmWTkacz05G0ghPRg1CT0ZLe09GjrRPRtTtT0YeJ1BGbWBQRr+ZUEYV01BGbwxRRs1FUUYvf1FGlbhRRv/xUUZsK1JG3mRSRlSeUkbN11JGShFTRsxKU0ZRhFNG2r1TRmf3U0b4MFRGjWpURiakVEbD3VRGYxdVRghRVUawilVGXMRVRgz+VUbAN1ZGeHFWRjSrVkb05FZGtx5XRn9YV0ZKkldGGcxXRuwFWEbDP1hGnnlYRn2zWEZf7VhGRidZRjBhWUYem1lGENVZRgYPWkYASVpG/YJaRv+8WkYE91pGDTFbRhprW0YrpVtGP99bRlgZXEZ0U1xGlI1cRrjHXEbgAV1GCzxdRjt2XUZusF1GpepdRuAkXkYfX15GYZleRqjTXkbyDV9GQEhfRpGCX0bnvF9GQPdfRp0xYEb+a2BGY6ZgRszgYEY4G2FGqFVhRhyQYUaUymFGDwViRo8/YkYSemJGmbRiRiPvYkayKWNGRGRjRtqeY0Zz2WNGERRkRrJOZEZXiWRGAMRkRq3+ZEZdOWVGEXRlRsmuZUaE6WVGRCRmRgdfZkbOmWZGmNRmRmYPZ0Y4SmdGDoVnRui/Z0bF+mdGpjVoRotwaEZzq2hGYOZoRk8haUZDXGlGOpdpRjbSaUY0DWpGN0hqRj2DakZHvmpGVflqRmY0a0Z7b2tGlKprRrHla0bRIGxG9VtsRhyXbEZI0mxGdw1tRqpIbUbgg21GGr9tRlj6bUaZNW5G3nBuRiesbkZ0525GxCJvRhheb0ZwmW9Gy9RvRioQcEaMS3BG84ZwRlzCcEbK/XBGOzlxRrB0cUYpsHFGpetxRiUnckaoYnJGMJ5yRrvZckZJFXNG21BzRnGMc0YKyHNGqAN0Rkg/dEbtenRGlbZ0RkDydEbwLXVGo2l1RlmldUYT4XVG0Rx2RpNYdkZYlHZGINB2Ru0Ld0a8R3dGkIN3Rme/d0ZC+3dGIDd4RgJzeEbornhG0ep4Rr4meUauYnlGop55RpraeUaVFnpGlFJ6RpaOekacynpGpgZ7RrNCe0bEfntG2Lp7RvD2e0YMM3xGK298Rk6rfEZ053xGniN9RstffUb8m31GMdh9RmkUfkalUH5G5Ix+RifJfkZtBX9Gt0F/RgV+f0ZWun9Gq/Z/RoEZgEavN4BG31WARhB0gEZEkoBGebCARq/OgEbo7IBGIguBRl4pgUacR4FG3GWBRh2EgUZgooFGpcCBRuzegUY0/YFGfhuCRso5gkYYWIJGaHaCRrmUgkYMs4JGYdGCRrfvgkYPDoNGaiyDRsVKg0YjaYNGgoeDRuOlg0ZGxINGq+KDRhEBhEZ5H4RG4z2ERk5chEa8eoRGK5mERpy3hEYO1oRGg/SERvkShUZwMYVG6k+FRmVuhUbijIVGYauFRuHJhUZk6IVG6AaGRm0lhkb1Q4ZGfmKGRgmBhkaWn4ZGJL6GRrTchkZG+4ZG2hmHRm84h0YGV4dGn3WHRjmUh0bVsodGc9GHRhPwh0a0DohGWC2IRvxLiEajaohGS4mIRvWniEahxohGT+WIRv4DiUavIolGYUGJRhZgiUbMfolGg52JRj28iUb42olGtfmJRnQYikY0N4pG9lWKRrp0ikZ/k4pGRrKKRg/Rikba74pGpg6LRnQti0ZETItGFWuLRuiJi0a9qItGlMeLRmzmi0ZGBYxGISSMRv9CjEbeYYxGvoCMRqGfjEaFvoxGa92MRlL8jEY7G41GJjqNRhNZjUYBeI1G8ZaNRuO1jUbW1I1Gy/ONRsISjka6MY5GtFCORrBvjkatjo5Gra2ORq3Mjkaw645GtAqPRropj0bCSI9Gy2ePRtaGj0bipY9G8cSPRgHkj0YSA5BGJSKQRjpBkEZRYJBGaX+QRoOekEafvZBGvNyQRtv7kEb8GpFGHjqRRkJZkUZoeJFGkJeRRrm2kUbj1ZFGEPWRRj4UkkZtM5JGn1KSRtJxkkYGkZJGPbCSRnXPkkau7pJG6g2TRictk0ZlTJNGpmuTRuiKk0YrqpNGcMmTRrfok0YACJRGSieURpZGlEbjZZRGM4WURoOklEbWw5RGKuOURoAClUbXIZVGMEGVRotglUbnf5VGRZ+VRqW+lUYG3pVGaf2VRs4clkY0PJZGnFuWRgV7lkZxmpZG3bmWRkzZlka8+JZGLRiXRqE3l0YWV5dGjHaXRgWWl0Z+tZdG+tSXRnf0l0b2E5hGdjOYRvhSmEZ8cphGAZKYRoixmEYR0ZhGm/CYRicQmUa0L5lGQ0+ZRtRumUZmjplG+q2ZRo/NmUYn7ZlGvwyaRlosmkb2S5pGk2uaRjOLmkbUqppGdsqaRhrqmkbACZtGZymbRhBJm0a7aJtGZ4ibRhWom0bEx5tGdeebRigHnEbcJpxGkkacRklmnEYChpxGvaWcRnnFnEY35ZxG9wSdRrgknUZ7RJ1GP2SdRgWEnUbMo51GlcOdRmDjnUYsA55G+iKeRspCnkabYp5GboKeRkKinkYYwp5G7+GeRskBn0ajIZ9GgEGfRl1hn0Y9gZ9GHqGfRgHBn0bl4J9GywCgRrIgoEabQKBGhmCgRnKAoEZgoKBGT8CgRkDgoEYzAKFGJyChRhxAoUYUYKFGDYChRgegoUYDwKFGAeChRgAAokYBIKJGA0CiRgdgokYNgKJGFKCiRhzAokYn4KJGMwCjRkAgo0ZPQKNGX2CjRnKAo0aFoKNGm8CjRrHgo0bKAKRG5CCkRv9ApEYdYaRGO4GkRlyhpEZ9waRGoeGkRsYBpUbsIaVGFEKlRj5ipUZpgqVGlqKlRsTCpUb04qVGJgOmRlkjpkaNQ6ZGxGOmRvuDpkY1pKZGb8SmRqzkpkbqBKdGKSWnRmpFp0atZadG8YWnRjemp0Z+xqdGx+anRhEHqEZdJ6hGq0eoRvpnqEZKiKhGnaioRvDIqEZF6ahGnAmpRvUpqUZOSqlGqmqpRgeLqUZlq6lGxcupRifsqUaKDKpG7yyqRlVNqka9bapGJo6qRpGuqkb9zqpGa++qRtsPq0ZMMKtGvlCrRjJxq0aokatGH7KrRpjSq0YS86tGjhOsRgs0rEaKVKxGCnWsRoyVrEYPtqxGlNasRhv3rEajF61GLDitRrdYrUZEea1G0pmtRmK6rUbz2q1GhvutRhocrkawPK5GR12uRuB9rkZ6nq5GFr+uRrPfrkZSAK9G8iCvRpRBr0Y4Yq9G3YKvRoOjr0YrxK9G1eSvRoAFsEYsJrBG2kawRopnsEY7iLBG7qiwRqLJsEZX6rBGDguxRscrsUaBTLFGPW2xRvqNsUa5rrFGec+xRjvwsUb+ELJGwzGyRolSskZRc7JGGpSyRuW0skax1bJGf/ayRk4Xs0YfOLNG8VizRsV5s0aamrNGcbuzRkncs0Yj/bNG/h20Rts+tEa5X7RGmYC0RnqhtEZdwrRGQeO0RicEtUYOJbVG90W1RuFmtUbNh7VGuqi1RqnJtUaZ6rVGigu2Rn4stkZyTbZGaG62RmCPtkZZsLZGVNG2RlDytkZOE7dGTTS3Rk1Vt0ZPdrdGU5e3Rli4t0Ze2bdGZvq3RnAbuEZ7PLhGh124RpV+uEaln7hGtcC4RsjhuEbcArlG8SO5RghFuUYgZrlGOoe5RlWouUZyyblGkOq5RrALukbRLLpG8026RhdvukY9kLpGZLG6RozSuka287pG4hS7Rg82u0Y9V7tGbXi7Rp6Zu0bRurtGBdy7Rjv9u0ZyHrxGqz+8RuVgvEYhgrxGXqO8RpzEvEbc5bxGHge9RmEovUalSb1G62q9RjKMvUZ7rb1Gxc69RhHwvUZeEb5GrDK+RvxTvkZOdb5GoZa+RvW3vkZL2b5Go/q+Rvsbv0ZWPb9GsV6/Rg6Av0Ztob9GzcK/Ri/kv0aSBcBG9ibARlxIwEbDacBGLIvARpaswEYCzsBGb+/ARt4QwUZOMsFGv1PBRjJ1wUamlsFGHLjBRpPZwUYM+8FGhhzCRgI+wkZ/X8JG/YDCRn2iwkb+w8JGgeXCRgUHw0aLKMNGEkrDRptrw0YljcNGsK7DRj3Qw0bL8cNGWxPERuw0xEZ/VsRGE3jERqiZxEY/u8RG2NzERnH+xEYNIMVGqUHFRkdjxUbnhMVGiKbFRirIxUbO6cVGcwvGRhotxkbCTsZGa3DGRhaSxkbDs8ZGcNXGRiD3xkbQGMdGgjrHRjZcx0brfcdGoZ/HRlnBx0YS48dGzQTIRokmyEZGSMhGBWrIRsWLyEaHrchGSs/IRg/xyEbVEslGnDTJRmVWyUYveMlG+5nJRsi7yUaX3clGZv/JRjghykYKQ8pG32TKRrSGykaLqMpGZMrKRj3sykYZDstG9S/LRtNRy0azc8tGk5XLRna3y0ZZ2ctGP/vLRiUdzEYNP8xG9mDMRuGCzEbNpMxGu8bMRqnozEaaCs1GjCzNRn9OzUZzcM1GaZLNRmG0zUZZ1s1GU/jNRk8azkZMPM5GSl7ORkqAzkZLos5GTsTORlLmzkZXCM9GXirPRmZMz0Zwbs9Ge5DPRoeyz0aV1M9GpPbPRrQY0EbGOtBG2VzQRu5+0EYEodBGHMPQRjXl0EZPB9FGaynRRohL0UambdFGxo/RRuex0UYK1NFGLvbRRlMY0kZ6OtJGolzSRsx+0kb3oNJGI8PSRlHl0kaAB9NGsCnTRuJL00YVbtNGSpDTRoCy00a31NNG8PbTRioZ1EZmO9RGo13URuF/1EYhotRGYsTURqTm1EboCNVGLSvVRnRN1Ua8b9VGBZLVRlC01Uac1tVG6fjVRjgb1kaIPdZG2l/WRi2C1kaBpNZG18bWRi7p1kaHC9dG4C3XRjxQ10aYctdG9pTXRlW310a22ddGGPzXRnse2EbgQNhGRmPYRq6F2EYXqNhGgcrYRu3s2EZaD9lGyDHZRjhU2UapdtlGG5nZRo+72UYE3tlGewDaRvIi2kZsRdpG5mfaRmKK2kbgrNpGXs/aRt7x2kZgFNtG4zbbRmdZ20bse9tGc57bRvvA20aF49tGEAbcRpwo3EYqS9xGuW3cRkmQ3EbbstxGbtXcRgL43EaYGt1GLz3dRsdf3UZhgt1G/KTdRpnH3UY36t1G1gzeRnYv3kYYUt5GvHTeRmCX3kYGut5GrdzeRlb/3kYAIt9Gq0TfRlhn30YGit9GtazfRmbP30YY8t9GzBTgRoA34EY2WuBG7nzgRqef4EZhwuBGHOXgRtkH4UaXKuFGV03hRhhw4UbakuFGnbXhRmLY4UYo++FG8B3iRrlA4kaDY+JGTobiRhup4kbpy+JGue7iRooR40ZcNONGMFfjRgV640bbnONGsr/jRovi40ZlBeRGQSjkRh5L5Eb8beRG3JDkRryz5Eaf1uRGgvnkRmcc5UZNP+VGNWLlRh6F5UYIqOVG88rlRuDt5UbOEOZGvjPmRq5W5kaheeZGlJzmRom/5kZ/4uZGdgXnRm8o50ZpS+dGZW7nRmGR50ZftOdGX9fnRl/650ZhHehGZUDoRmlj6EZvhuhGdqnoRn/M6EaJ7+hGlBLpRqE16UavWOlGvnvpRs6e6UbgwelG8+TpRggI6kYdK+pGNU7qRk1x6kZnlOpGgrfqRp7a6ka8/epG2yDrRvtD60YcZ+tGP4rrRmSt60aJ0OtGsPPrRtgW7EYBOuxGLF3sRliA7EaGo+xGtMbsRuTp7EYWDe1GSDDtRnxT7Uaxdu1G6JntRiC97UZZ4O1GkwPuRs8m7kYMSu5GSm3uRoqQ7kbLs+5GDdfuRlD67kaVHe9G20DvRiNk70Zsh+9GtqrvRgHO70ZO8e9GnBTwRus38EY7W/BGjX7wRuCh8EY1xfBGiujwRuEL8UY6L/FGk1LxRu518UZKmfFGqLzxRgfg8UZnA/JGyCbyRitK8kaPbfJG9JDyRlu08kbC1/JGK/vyRpYe80YCQvNGb2XzRt2I80ZMrPNGvc/zRi/z80ajFvRGGDr0Ro5d9EYFgfRGfaT0RvfH9EZy6/RG7w71Rm0y9UbsVfVGbHn1Ru2c9UZwwPVG9OP1RnoH9kYBK/ZGiU72RhJy9kaclfZGKLn2RrXc9kZEAPdG0yP3RmRH90b3avdGio73Rh+y90a11fdGTPn3RuUc+EZ/QPhGGmT4RraH+EZUq/hG8874RpPy+EY1FvlG2Dn5Rnxd+UYhgflGyKT5RnDI+UYZ7PlGww/6Rm8z+kYcV/pGynr6Rnqe+kYrwvpG3eX6RpAJ+0ZFLftG+1D7RrJ0+0ZqmPtGJLz7Rt/f+0abA/xGWSf8RhdL/EbYbvxGmZL8Rlu2/EYf2vxG5P38Rqsh/UZyRf1GO2n9RgWN/UbRsP1GndT9Rmv4/UY7HP5GC0D+Rt1j/kawh/5GhKv+RlrP/kYw8/5GCBf/RuI6/0a8Xv9GmIL/RnWm/0ZTyv9GM+7/RgoJAEf7GgBH7SwAR98+AEfSUABHxWIAR7p0AEeuhgBHpJgAR5qqAEeRvABHiM4AR4DgAEd48gBHcgQBR2sWAUdmKAFHYToBR11MAUdZXgFHVnABR1SCAUdSlAFHUaYBR1C4AUdQygFHUdwBR1LuAUdUAAJHVxICR1okAkdeNgJHYkgCR2daAkdtbAJHc34CR3qQAkeCogJHirQCR5PGAkec2AJHpuoCR7H8Ake8DgNHyCADR9UyA0fiRANH71YDR/5oA0cNewNHHI0DRy2fA0c+sQNHT8MDR2HVA0d05wNHh/kDR5sLBEewHQRHxS8ER9tBBEfxUwRHCGYERyB4BEc4igRHUZwER2uuBEeFwARHoNIER7vkBEfX9gRH9AgFRxEbBUcvLQVHTT8FR2xRBUeMYwVHrHUFR82HBUfvmQVHEawFRzS+BUdX0AVHe+IFR6D0BUfFBgZH6xgGRxErBkc4PQZHYE8GR4hhBkexcwZH24UGRwWYBkcwqgZHW7wGR4fOBke04AZH4fIGRw8FB0c9FwdHbCkHR5w7B0fMTQdH/V8HRy9yB0dhhAdHk5YHR8eoB0f7ugdHL80HR2TfB0ea8QdH0AMIRwcWCEc/KAhHdzoIR7BMCEfpXghHI3EIR16DCEeZlQhH1acIRxK6CEdPzAhHjN4IR8vwCEcKAwlHSRUJR4knCUfKOQlHC0wJR01eCUeQcAlH04IJRxeVCUdbpwlHoLkJR+XLCUcs3glHcvAJR7oCCkcCFQpHSicKR5Q5CkfdSwpHKF4KR3NwCke+ggpHC5UKR1enCkeluQpH88sKR0LeCkeR8ApH4QILRzEVC0eCJwtH1DkLRyZMC0d5XgtHzHALRyCDC0d1lQtHyqcLRyC6C0d3zAtHzt4LRyXxC0d+AwxH1xUMRzAoDEeKOgxH5UwMR0BfDEeccQxH+IMMR1aWDEezqAxHErsMR3DNDEfQ3wxHMPIMR5EEDUfyFg1HVCkNR7Y7DUcZTg1HfWANR+FyDUdGhQ1HrJcNRxKqDUd4vA1H4M4NR0fhDUew8w1HGQYOR4MYDkftKg5HWD0OR8NPDkcvYg5HnHQORwmHDkd3mQ5H5asOR1S+DkfE0A5HNOMOR6X1DkcWCA9HiBoPR/ssD0duPw9H4lEPR1ZkD0fLdg9HQIkPR7ebD0ctrg9HpcAPRx3TD0eV5Q9HDvgPR4gKEEcCHRBHfS8QR/hBEEd1VBBH8WYQR255EEfsixBHa54QR+qwEEdpwxBH6tUQR2roEEfs+hBHbg0RR/AfEUdzMhFH90QRR3tXEUcAahFHhnwRRwyPEUeToRFHGrQRR6LGEUcq2RFHs+sRRz3+EUfHEBJHUiMSR941EkdpSBJH9loSR4NtEkcRgBJHn5ISRy6lEke+txJHTsoSR9/cEkdw7xJHAgITR5QUE0cnJxNHuzkTR09ME0fkXhNHeXETRw+EE0emlhNHPakTR9W7E0dtzhNHBuETR5/zE0c5BhRH1BgUR28rFEcLPhRHqFAUR0RjFEfidRRHgIgURx+bFEe+rRRHXsAUR//SFEeg5RRHQfgUR+QKFUeGHRVHKjAVR85CFUdyVRVHGGgVR716FUdkjRVHCqAVR7KyFUdaxRVHA9gVR6zqFUdW/RVHABAWR6siFkdWNRZHA0gWR69aFkddbRZHCoAWR7mSFkdopRZHF7gWR8jKFkd43RZHKvAWR9wCF0eOFRdHQSgXR/U6F0epTRdHXmAXRxNzF0fJhRdHgJgXRzerF0fvvRdHp9AXR2DjF0cZ9hdH0wgYR44bGEdJLhhHBUEYR8FTGEd+ZhhHO3kYR/mLGEe4nhhHd7EYRzfEGEf31hhHuOkYR3r8GEc8DxlH/iEZR8E0GUeFRxlHSloZRw9tGUfUfxlHmpIZR2GlGUcouBlH8MoZR7jdGUeB8BlHSwMaRxUWGkffKBpHqzsaR3dOGkdDYRpHEHQaR92GGkesmRpHeqwaR0m/GkcZ0hpH6uQaR7v3GkeMChtHXh0bRzEwG0cEQxtH2FUbR6xoG0eBextHV44bRy2hG0cEtBtH28YbR7PZG0eL7BtHZP8bRz4SHEcYJRxH8jccR81KHEepXRxHhnAcR2ODHEdAlhxHHqkcR/27HEfczhxHvOEcR5z0HEd9Bx1HXhodR0AtHUcjQB1HBlMdR+plHUfOeB1Hs4sdR5meHUd/sR1HZcQdR0zXHUc06h1HHP0dRwUQHkfvIh5H2TUeR8NIHkeuWx5Hmm4eR4aBHkdzlB5HYKceR066Hkc9zR5HLOAeRxvzHkcLBh9H/BgfR+4rH0ffPh9H0lEfR8VkH0e4dx9HrYofR6GdH0eWsB9HjMMfR4PWH0d66R9HcfwfR2kPIEdiIiBHWzUgR1VIIEdPWyBHSm4gR0WBIEdBlCBHPqcgRzu6IEc5zSBHN+AgRzbzIEc1BiFHNRkhRzYsIUc3PyFHOFIhRzplIUc9eCFHQIshR0SeIUdJsSFHTsQhR1PXIUdZ6iFHYP0hR2cQIkdvIyJHdzYiR4BJIkeJXCJHk28iR56CIkeplSJHtagiR8G7IkfOziJH2+EiR+n0Ikf3ByNHBhsjRxYuI0cmQSNHN1QjR0hnI0daeiNHbI0jR3+gI0eSsyNHpsYjR7vZI0fQ7CNH5v8jR/wSJEcTJiRHKjkkR0JMJEdaXyRHc3IkR42FJEenmCRHwqskR92+JEf50SRHFeUkRzL4JEdPCyVHbR4lR4wxJUerRCVHy1clR+tqJUcMfiVHLZElR0+kJUdxtyVHlMolR7jdJUfc8CVHAAQmRyYXJkdLKiZHcj0mR5hQJkfAYyZH6HYmRxCKJkc5nSZHY7AmR43DJke41iZH4+kmRw/9Jkc7ECdHaCMnR5U2J0fDSSdH8lwnRyFwJ0dRgydHgZYnR7KpJ0fjvCdHFdAnR0fjJ0d69idHrgkoR+IcKEcWMChHS0MoR4FWKEe3aShH7nwoRyWQKEddoyhHlrYoR8/JKEcI3ShHQvAoR30DKUe4FilH9CkpRzA9KUdtUClHqmMpR+h2KUcmiilHZZ0pR6WwKUflwylHJdcpR2fqKUeo/SlH6xAqRy0kKkdxNypHtUoqR/ldKkc+cSpHhIQqR8qXKkcQqypHV74qR5/RKkfn5CpHMPgqR3kLK0fDHitHDjIrR1lFK0ekWCtH8GsrRz1/K0eKkitH2KUrRya5K0d1zCtHxN8rRxTzK0dkBixHtRksRwctLEdZQCxHq1MsR/5mLEdSeixHpo0sR/ugLEdQtCxHpscsR/zaLEdT7ixHqwEtRwIVLUdbKC1HtDstRw5PLUdoYi1HwnUtRx6JLUd5nC1H1q8tRzPDLUeQ1i1H7uktR0z9LUerEC5HCyQuR2s3LkfLSi5HLV4uR45xLkfwhC5HU5guR7erLkcavy5Hf9IuR+TlLkdJ+S5HrwwvRxYgL0d9My9H5EYvR0xaL0e1bS9HHoEvR4iUL0fypy9HXbsvR8jOL0c04i9HofUvRw4JMEd7HDBH6S8wR1hDMEfHVjBHN2owR6d9MEcYkTBHiaQwR/u3MEdtyzBH4N4wR1PyMEfHBTFHOxkxR7AsMUcmQDFHnFMxRxNnMUeKejFHAY4xR3qhMUfytDFHbMgxR+XbMUdg7zFH2wIyR1YWMkfSKTJHTj0yR8tQMkdJZDJHx3cyR0aLMkfFnjJHRLIyR8XFMkdF2TJHxuwyR0gAM0fLEzNHTSczR9E6M0dVTjNH2WEzR151M0fkiDNHapwzR/CvM0d3wzNH/9YzR4fqM0cQ/jNHmRE0RyMlNEetODRHOEw0R8NfNEdPczRH24Y0R2iaNEf2rTRHhME0RxLVNEeh6DRHMfw0R8EPNUdSIzVH4zY1R3RKNUcHXjVHmXE1Ry2FNUfAmDVHVaw1R+m/NUd/0zVHFec1R6v6NUdCDjZH2iE2R3I1NkcKSTZHo1w2Rz1wNkfXgzZHcpc2Rw2rNkeovjZHRdI2R+HlNkd/+TZHHA03R7sgN0daNDdH+Uc3R5lbN0c5bzdH2oI3R3yWN0ceqjdHwL03R2PRN0cH5TdHq/g3R1AMOEf1HzhHmjM4R0FHOEfnWjhHj244RzaCOEfflThHh6k4RzG9OEfb0DhHheQ4RzD4OEfbCzlHhx85RzQzOUfhRjlHjlo5RzxuOUfrgTlHmpU5R0qpOUf6vDlHqtA5R1vkOUcN+DlHvws6R3IfOkclMzpH2UY6R41aOkdCbjpH+IE6R62VOkdkqTpHG706R9LQOkeK5DpHQ/g6R/wLO0e1HztHbzM7RypHO0flWjtHoG47R1yCO0cZljtH1qk7R5S9O0dS0TtHEeU7R9D4O0eQDDxHUCA8RxE0PEfSRzxHlFs8R1ZvPEcZgzxH3JY8R6CqPEdlvjxHKdI8R+/lPEe1+TxHew09R0IhPUcKNT1H0kg9R5pcPUdjcD1HLYQ9R/eXPUfCqz1Hjb89R1jTPUcl5z1H8fo9R74OPkeMIj5HWjY+RylKPkf4XT5HyHE+R5iFPkdpmT5HOq0+RwzBPkff1D5Hseg+R4X8PkdZED9HLSQ/RwI4P0fXSz9HrV8/R4RzP0dbhz9HMps/RwqvP0fjwj9HvNY/R5XqP0dv/j9HShJARyUmQEcBOkBH3U1AR7lhQEeWdUBHdIlAR1KdQEcxsUBHEMVAR/DYQEfQ7EBHsQBBR5IUQUd0KEFHVjxBRzlQQUccZEFHAHhBR+SLQUfJn0FHrrNBR5THQUd620FHYe9BR0gDQkcwF0JHGStCRwI/QkfrUkJH1WZCR796QkeqjkJHlqJCR4K2QkduykJHW95CR0jyQkc2BkNHJRpDRxQuQ0cDQkNH81VDR+RpQ0fVfUNHx5FDR7mlQ0eruUNHns1DR5LhQ0eG9UNHewlER3AdREdlMURHW0VER1JZREdJbURHQYFERzmVREcyqURHK71ERyTRREcf5URHGflERxQNRUcQIUVHDDVFRwlJRUcGXUVHBHFFRwKFRUcBmUVHAK1FRwDBRUcA1UVHAelFRwL9RUcEEUZHBiVGRwk5RkcMTUZHEGFGRxR1RkcZiUZHH51GRySxRkcrxUZHMtlGRzntRkdBAUdHSRVHR1IpR0dbPUdHZVFHR29lR0d6eUdHho1HR5GhR0eetUdHq8lHR7jdR0fG8UdH1AVIR+MZSEfyLUhHAkJIRxNWSEckakhHNX5IR0eSSEdZpkhHbLpIR4DOSEeT4khHqPZIR70KSUfSHklH6DJJR/5GSUcVW0lHLW9JR0WDSUddl0lHdqtJR4+/SUep00lHxOdJR9/7SUf6D0pHFiRKRzI4SkdPTEpHbWBKR4t0SkepiEpHyJxKR+ewSkcHxUpHKNlKR0ntSkdqAUtHjBVLR64pS0fRPUtH9VFLRxlmS0c9ektHYo5LR4eiS0ettktH1MpLR/reS0ci80tHSgdMR3IbTEebL0xHxENMR+5XTEcZbExHRIBMR2+UTEebqExHx7xMR/TQTEch5UxHT/lMR34NTUesIU1H3DVNRwxKTUc8Xk1HbXJNR56GTUfQmk1HAq9NRzXDTUdo101HnOtNR9H/TUcFFE5HOyhOR3A8TkenUE5H3WRORxV5TkdNjU5HhaFOR761Tkf3yU5HMd5OR2vyTkemBk9H4RpPRx0vT0dZQ09HlVdPR9NrT0cQgE9HT5RPR42oT0fMvE9HDNFPR0zlT0eN+U9Hzg1QRxAiUEdSNlBHlUpQR9heUEcbc1BHX4dQR6SbUEfpr1BHL8RQR3XYUEe77FBHAgFRR0oVUUeSKVFH2z1RRyRSUUdtZlFHt3pRRwKPUUdNo1FHmLdRR+TLUUcx4FFHfvRRR8sIUkcZHVJHZzFSR7ZFUkcGWlJHVm5SR6aCUkf3llJHSKtSR5q/Ukft01JHP+hSR5P8UkfnEFNHOyVTR5A5U0flTVNHO2JTR5F2U0foilNHP59TR5ezU0fvx1NHSNxTR6HwU0f7BFRHVRlUR7AtVEcLQlRHZlZUR8JqVEcff1RHfJNUR9qnVEc4vFRHltBUR/bkVEdV+VRHtQ1VRxYiVUd3NlVH2EpVRzpfVUedc1VHAIhVR2OcVUfHsFVHK8VVR5DZVUf27VVHXAJWR8IWVkcpK1ZHkD9WR/hTVkdgaFZHyXxWRzKRVkecpVZHBrpWR3HOVkfc4lZHSPdWR7QLV0chIFdHjjRXR/xIV0dqXVdH2HFXR0eGV0e3mldHJ69XR5jDV0cJ2FdHeuxXR+wAWEdfFVhH0ilYR0U+WEe5UlhHLWdYR6J7WEcYkFhHjqRYRwS5WEd7zVhH8uFYR2r2WEfiCllHWx9ZR9QzWUdOSFlHyFxZR0NxWUe+hVlHOppZR7auWUczw1lHsNdZRy3sWUerAFpHKhVaR6kpWkcoPlpHqFJaRylnWkeqe1pHK5BaR62kWkcwuVpHss1aRzbiWke69lpHPgtbR8MfW0dINFtHzkhbR1RdW0fbcVtHYoZbR+qaW0dyr1tH+8NbR4TYW0cN7VtHlwFcRyIWXEetKlxHOD9cR8RTXEdRaFxH3nxcR2uRXEf5pVxHiLpcRxfPXEem41xHNvhcR8YMXUdXIV1H6DVdR3pKXUcMX11Hn3NdRzKIXUfGnF1HWrFdR+7FXUeD2l1HGe9dR68DXkdGGF5H3SxeR3RBXkcMVl5HpGpeRz1/XkfXk15HcaheRwu9Xkem0V5HQeZeR936Xkd5D19HFiRfR7M4X0dRTV9H72FfR412X0cti19HzJ9fR2y0X0cNyV9Hrt1fR0/yX0fxBmBHkxtgRzYwYEfaRGBHfllgRyJuYEfHgmBHbJdgRxKsYEe4wGBHX9VgRwbqYEeu/mBHVhNhR/4nYUenPGFHUVFhR/tlYUelemFHUI9hR/yjYUeouGFHVM1hRwHiYUeu9mFHXAtiRwogYke5NGJHaEliRxheYkfIcmJHeYdiRyqcYkfbsGJHjsViR0DaYkfz7mJHpwNjR1oYY0cPLWNHxEFjR3lWY0cva2NH5X9jR5yUY0dTqWNHC75jR8PSY0d852NHNfxjR+8QZEepJWRHYzpkRx5PZEfaY2RHlnhkR1KNZEcPomRHzLZkR4rLZEdI4GRHB/VkR8YJZUeGHmVHRjNlRwdIZUfIXGVHinFlR0yGZUcOm2VH0a9lR5XEZUdZ2WVHHe5lR+ICZkenF2ZHbSxmRzRBZkf6VWZHwmpmR4l/ZkdRlGZHGqlmR+O9Zket0mZHd+dmR0H8ZkcMEWdH2CVnR6M6Z0dwT2dHPWRnRwp5Z0fYjWdHpqJnR3W3Z0dEzGdHFOFnR+T1Z0e0CmhHhR9oR1c0aEcpSWhH+11oR85yaEehh2hHdZxoR0qxaEcexmhH9NpoR8nvaEegBGlHdhlpR00uaUclQ2lH/VdpR9VsaUeugWlHiJZpR2KraUc8wGlHF9VpR/LpaUfO/mlHqhNqR4coakdkPWpHQlJqRyBnakf+e2pH3ZBqR72lakedumpHfc9qR17kakc/+WpHIQ5rRwMja0fmN2tHyUxrR61ha0eRdmtHdotrR1uga0dAtWtHJsprRw3fa0fz82tH2whsR8MdbEerMmxHlEdsR31cbEdmcWxHUYZsRzubbEcmsGxHEsVsR/7ZbEfq7mxH1wNtR8QYbUeyLW1HoUJtR49XbUd/bG1HboFtR16WbUdPq21HQMBtRzLVbUck6m1HFv9tRwkUbkf8KG5H8D1uR+RSbkfZZ25HznxuR8SRbke6pm5HsbtuR6jQbkef5W5Hl/puR5APb0eJJG9HgjlvR3xOb0d2Y29HcXhvR2yNb0doom9HZLdvR2DMb0dd4W9HW/ZvR1kLcEdXIHBHVjVwR1VKcEdVX3BHVXRwR1aJcEdXnnBHWbNwR1vIcEdd3XBHYPJwR2QHcUdoHHFHbDFxR3FGcUd2W3FHfHBxR4KFcUeJmnFHkK9xR5fEcUef2XFHqO5xR7EDcke6GHJHxC1yR85CckfZV3JH5GxyR/CBckf8lnJHCaxyRxbBckcj1nJHMetyR0AAc0dPFXNHXipzR24/c0d+VHNHj2lzR6B+c0exk3NHw6hzR9a9c0fp0nNH/OdzRxD9c0clEnRHOSd0R088dEdkUXRHemZ0R5F7dEeokHRHwKV0R9i6dEfwz3RHCeV0RyL6dEc8D3VHViR1R3E5dUeMTnVHqGN1R8R4dUfgjXVH/aJ1Rxu4dUc5zXVHV+J1R3b3dUeVDHZHtSF2R9U2dkf2S3ZHF2F2Rzh2dkdai3ZHfKB2R5+1dkfDynZH5t92Rwv1dkcvCndHVB93R3o0d0egSXdHx153R+5zd0cViXdHPZ53R2Wzd0eOyHdHt913R+Hyd0cLCHhHNR14R2AyeEeMR3hHuFx4R+RxeEcRh3hHPpx4R2yxeEeaxnhHydt4R/jweEcnBnlHVxt5R4gweUe4RXlH6lp5RxxweUdOhXlHgJp5R7SveUfnxHlHG9p5R1DveUeFBHpHuhl6R/AuekcmRHpHXVl6R5RuekfLg3pHBJl6Rzyuekd1w3pHrth6R+jtekcjA3tHXRh7R5kte0fUQntHEFh7R01te0eKgntHx5d7RwWte0dEwntHgtd7R8Lse0cBAnxHQRd8R4IsfEfDQXxHBVd8R0dsfEeJgXxHzJZ8Rw+sfEdTwXxHl9Z8R9zrfEchAX1HZhZ9R6wrfUfyQH1HOVZ9R4FrfUfIgH1HEZZ9R1mrfUeiwH1H7NV9RzbrfUeAAH5HyxV+RxYrfkdiQH5HrlV+R/tqfkdIgH5HlpV+R+SqfkcywH5HgdV+R9DqfkcgAH9HcBV/R8Eqf0cSQH9HZFV/R7Zqf0cIgH9HW5V/R66qf0cCwH9HVtV/R6vqf0cAAIBHqwqAR1YVgEcBIIBHrCqAR1g1gEcEQIBHsEqAR1xVgEcJYIBHtmqAR2N1gEcQgIBHvYqAR2uVgEcZoIBHx6qAR3W1gEckwIBH08qAR4LVgEcx4IBH4OqAR5D1gEdAAIFH8AqBR6AVgUdRIIFHAiuBR7M1gUdkQIFHFUuBR8dVgUd5YIFHK2uBR911gUeQgIFHQouBR/WVgUepoIFHXKuBRxC2gUfEwIFHeMuBRyzWgUfg4IFHleuBR0r2gUf/AIJHtQuCR2oWgkcgIYJH1iuCR402gkdDQYJH+kuCR7FWgkdoYYJHH2yCR9d2gkePgYJHR4yCR/+Wgke4oYJHcKyCRym3gkfiwYJHnMyCR1XXgkcP4oJHyeyCR4P3gkc+AoNH+AyDR7MXg0duIoNHKi2DR+U3g0ehQoNHXU2DRxlYg0fWYoNHkm2DR094g0cMg4NHyo2DR4eYg0dFo4NHA66DR8G4g0eAw4NHPs6DR/3Yg0e844NHe+6DRzv5g0f7A4RHuw6ER3sZhEc7JIRH/C6ER705hEd+RIRHP0+ERwBahEfCZIRHhG+ER0Z6hEcIhYRHy4+ER46ahEdRpYRHFLCER9i6hEebxYRHX9CERyPbhEfn5YRHrPCER3H7hEc2BoVH+xCFR8AbhUeGJoVHTDGFRxI8hUfYRoVHn1GFR2VchUcsZ4VH83GFR7t8hUeCh4VHSpKFRxKdhUfap4VHo7KFR2u9hUc0yIVH/dKFR8fdhUeQ6IVHWvOFRyT+hUfuCIZHuROGR4MehkdOKYZHGTSGR+Q+hkewSYZHfFSGR0hfhkcUaoZH4HSGR61/hkd5ioZHRpWGRxSghkfhqoZHr7WGR33AhkdLy4ZHGdaGR+jghke264ZHhfaGR1UBh0ckDIdH9BaHR8Mhh0eTLIdHZDeHRzRCh0cFTYdH1leHR6dih0d4bYdHSniHRxuDh0ftjYdHwJiHR5Kjh0dlrodHOLmHRwvEh0fezodHsdmHR4Xkh0dZ74dHLfqHRwIFiEfWD4hHqxqIR4AliEdVMIhHKzuIRwBGiEfWUIhHrFuIR4NmiEdZcYhHMHyIRweHiEfekYhHtZyIR42niEdlsohHPb2IRxXIiEft0ohHxt2IR5/oiEd484hHUf6IRysJiUcFFIlH3x6JR7kpiUeTNIlHbj+JR0hKiUcjVYlH/1+JR9pqiUe2dYlHkoCJR26LiUdKlolHJ6GJRwOsiUfgtolHvsGJR5vMiUd514lHVuKJRzTtiUcT+IlH8QKKR9ANikevGIpHjiOKR20uikdNOYpHLESKRwxPikfsWYpHzWSKR61vikeOeopHb4WKR1CQikcym4pHFKaKR/WwikfYu4pHusaKR5zRikd/3IpHYueKR0Xyikcp/YpHDAiLR/ASi0fUHYtHuCiLR50zi0eBPotHZkmLR0tUi0cwX4tHFmqLR/x0i0fif4tHyIqLR66Vi0eVoItHe6uLR2K2i0dKwYtHMcyLRxnXi0cB4otH6eyLR9H3i0e5AoxHog2MR4sYjEd0I4xHXS6MR0c5jEcxRIxHG0+MRwVajEfvZIxH2m+MR8V6jEewhYxHm5CMR4abjEdypoxHXrGMR0q8jEc2x4xHI9KMRxDdjEf854xH6vKMR9f9jEfFCI1HshONR6AejUePKY1HfTSNR2w/jUdaSo1HSVWNRzlgjUcoa41HGHaNRwiBjUf4i41H6JaNR9mhjUfJrI1HureNR6zCjUedzY1Hj9iNR4DjjUdy7o1HZfmNR1cEjkdKD45HPBqORzAljkcjMI5HFjuORwpGjkf+UI5H8luOR+ZmjkfbcY5H0HyOR8WHjke6ko5Hr52OR6Wojkebs45Hkb6OR4fJjkd91I5HdN+OR2vqjkdi9Y5HWQCPR1ELj0dIFo9HQCGPRzgsj0cxN49HKUKPRyJNj0cbWI9HFGOPRw1uj0cHeY9HAYSPR/uOj0f1mY9H76SPR+qvj0fluo9H4MWPR9vQj0fX249H0uaPR87xj0fK/I9HxweQR8MSkEfAHZBHvSiQR7ozkEe3PpBHtUmQR7NUkEexX5BHr2qQR611kEesgJBHq4uQR6qWkEepoZBHqKyQR6i3kEeowpBHqM2QR6jYkEep45BHqu6QR6r5kEesBJFHrQ+RR64akUewJZFHsjCRR7Q7kUe3RpFHuVGRR7xckUe/Z5FHwnKRR8Z9kUfJiJFHzZORR9GekUfVqZFH2rSRR9+/kUfjypFH6dWRR+7gkUfz65FH+faRR/8BkkcFDZJHCxiSRxIjkkcZLpJHIDmSRydEkkcuT5JHNlqSRz5lkkdGcJJHTnuSR1aGkkdfkZJHaJySR3Gnkkd6spJHg72SR43IkkeX05JHod6SR6vpkke29JJHwP+SR8sKk0fWFZNH4iCTR+0rk0f5NpNHBUKTRxFNk0cdWJNHKmOTRzduk0dEeZNHUYSTR16Pk0dsmpNHeqWTR4iwk0eWu5NHpMaTR7PRk0fC3JNH0eeTR+Dyk0fw/ZNH/wiURw8UlEcfH5RHLyqUR0A1lEdRQJRHYkuUR3NWlEeEYZRHlmyUR6d3lEe5gpRHy42UR96YlEfwo5RHA6+URxa6lEcpxZRHPNCUR1DblEdk5pRHePGUR4z8lEegB5VHtRKVR8odlUffKJVH9DOVRwo/lUcfSpVHNVWVR0tglUdha5VHeHaVR4+BlUeljJVHvJeVR9SilUfrrZVHA7mVRxvElUczz5VHS9qVR2TllUd98JVHlfuVR68GlkfIEZZH4hyWR/snlkcVM5ZHLz6WR0pJlkdkVJZHf1+WR5pqlke1dZZH0YCWR+yLlkcIl5ZHJKKWR0CtlkdduJZHecOWR5bOlkez2ZZH0OSWR+7vlkcM+5ZHKQaXR0cRl0dmHJdHhCeXR6Myl0fCPZdH4UiXRwBUl0cgX5dHP2qXR191l0d/gJdHoIuXR8CWl0fhoZdHAq2XRyO4l0dEw5dHZs6XR4fZl0ep5JdHy++XR+76l0cQBphHMxGYR1YcmEd5J5hHnTKYR8A9mEfkSJhHCFSYRyxfmEdQaphHdXWYR5qAmEe/i5hH5JaYRwmimEcvrZhHVbiYR3vDmEehzphHx9mYR+7kmEcV8JhHPPuYR2MGmUeLEZlHshyZR9onmUcCM5lHKj6ZR1NJmUd8VJlHpF+ZR81qmUf3dZlHIIGZR0qMmUd0l5lHnqKZR8itmUfzuJlHHcSZR0jPmUdz2plHnuWZR8rwmUf2+5lHIgeaR04Smkd6HZpHpiiaR9MzmkcAP5pHLUqaR1tVmkeIYJpHtmuaR+R2mkcSgppHQI2aR2+Ymkedo5pHzK6aR/u5mkcrxZpHWtCaR4rbmke65ppH6vGaRxv9mkdLCJtHfBObR60em0feKZtHDzWbR0FAm0dzS5tHpVabR9dhm0cJbZtHPHibR26Dm0ehjptH1ZmbRwilm0c8sJtHb7ubR6PGm0fX0ZtHDN2bR0Dom0d185tHqv6bR98JnEcVFZxHSiCcR4ArnEe2NpxH7EGcRyNNnEdZWJxHkGOcR8dunEf+eZxHNoWcR22QnEelm5xH3aacRxWynEdOvZxHhsicR7/TnEf43pxHMeqcR2v1nEekAJ1H3gudRxgXnUdSIp1HjS2dR8c4nUcCRJ1HPU+dR3lanUe0ZZ1H8HCdRyt8nUdnh51HpJKdR+CdnUcdqZ1HWbSdR5a/nUfUyp1HEdadR0/hnUeN7J1Hy/edRwkDnkdHDp5HhhmeR8UknkcEMJ5HQzueR4JGnkfCUZ5HAl2eR0JonkeCc55Hwn6eRwOKnkdElZ5HhaCeR8arnkcHt55HScKeR4vNnkfN2J5HD+SeR1HvnkeU+p5H1wWfRxoRn0ddHJ9HoSefR+Qyn0coPp9HbEmfR7BUn0f1X59HOWufR352n0fDgZ9HCI2fR06Yn0eTo59H2a6fRx+6n0dlxZ9HrNCfR/Lbn0c5559HgPKfR8f9n0cOCaBHVhSgR54foEfmKqBHLjagR3ZBoEe/TKBHCFigR1FjoEeabqBH43mgRy2FoEd3kKBHwZugRwunoEdVsqBHoL2gR+rIoEc11KBHgd+gR8zqoEcY9qBHYwGhR68MoUf7F6FHSCOhR5QuoUfhOaFHLkWhR3tQoUfIW6FHFmehR2RyoUeyfaFHAImhR06UoUedn6FH66qhRzq2oUeJwaFH2cyhRyjYoUd446FHyO6hRxj6oUdoBaJHuRCiRwkcokdaJ6JHqzKiR/09okdOSaJHoFSiR/JfokdEa6JHlnaiR+mBokc7jaJHjpiiR+Gjokc1r6JHiLqiR9zFokcv0aJHhNyiR9jnokcs86JHgf6iR9YJo0crFaNHgCCjR9Uro0crN6NHgUKjR9dNo0ctWaNHhGSjR9pvo0cxe6NHiIajR9+Ro0c3naNHjqijR+azo0c+v6NHlsqjR+/Vo0dH4aNHoOyjR/n3o0dSA6RHqw6kRwUapEdfJaRHuTCkRxM8pEdtR6RHyFKkRyJepEd9aaRH2HSkRzSApEePi6RH65akR0eipEejraRH/7ikR1zEpEe5z6RHFdukR3PmpEfQ8aRHLf2kR4sIpUfpE6VHRx+lR6UqpUcENqVHYkGlR8FMpUcgWKVHf2OlR99upUc+eqVHnoWlR/6QpUdfnKVHv6elRyCzpUeAvqVH4cmlR0PVpUek4KVHBuylR2f3pUfJAqZHKw6mR44ZpkfwJKZHUzCmR7Y7pkcZR6ZHfVKmR+BdpkdEaaZHqHSmRwyApkdwi6ZH1ZamRzmipkeeraZHA7mmR2nEpkfOz6ZHNNumR5rmpkcA8qZHZv2mR80Ip0czFKdHmh+nRwErp0doNqdH0EGnRzdNp0efWKdHB2SnR29vp0fYeqdHQIanR6mRp0cSnadHe6inR+Wzp0dOv6dHuMqnRyLWp0eM4adH9uynR2H4p0fMA6hHNw+oR6IaqEcNJqhHeTGoR+Q8qEdQSKhHvFOoRylfqEeVaqhHAnaoR2+BqEfcjKhHSZioR7ajqEckr6hHkrqoRwDGqEdu0ahH3NyoR0voqEe686hHKf+oR5gKqUcHFqlHdyGpR+csqUdXOKlHx0OpRzdPqUeoWqlHGGapR4lxqUf6fKlHbIipR92TqUdPn6lHwaqpRzO2qUelwalHGM2pR4rYqUf946lHcO+pR+P6qUdXBqpHyxGqRz4dqkeyKKpHJzSqR5s/qkcQS6pHhFaqR/lhqkdvbapH5HiqR1mEqkfPj6pHRZuqR7umqkcysqpHqL2qRx/JqkeW1KpHDeCqR4Trqkf89qpHcwKrR+sNq0djGatH2ySrR1Qwq0fMO6tHRUerR75Sq0c3XqtHsWmrRyp1q0ekgKtHHoyrR5iXq0cTo6tHja6rRwi6q0eDxatH/tCrR3ncq0f156tHcfOrR+3+q0dpCqxH5RWsR2EhrEfeLKxHWzisR9hDrEdVT6xH01qsR1BmrEfOcaxHTH2sR8qIrEdJlKxHx5+sR0arrEfFtqxHRMKsR8PNrEdD2axHw+SsR0PwrEfD+6xHQwetR8MSrUdEHq1HxSmtR0Y1rUfHQK1HSUytR8pXrUdMY61Hzm6tR1B6rUfTha1HVZGtR9icrUdbqK1H3rOtR2K/rUflyq1HadatR+3hrUdx7a1H9fitR3oErkf+D65HgxuuRwgnrkeOMq5HEz6uR5lJrkcfVa5HpWCuRytsrkexd65HOIOuR7+OrkdFmq5HzaWuR1SxrkfcvK5HY8iuR+vTrkdz365H/OquR4T2rkcNAq9Hlg2vRx8Zr0eoJK9HMTCvR7s7r0dFR69Hz1KvR1ler0fjaa9HbnWvR/mAr0eEjK9HD5ivR5qjr0cmr69HsrqvRz3Gr0fK0a9HVt2vR+Lor0dv9K9H/P+vR4kLsEcWF7BHpCKwRzEusEe/ObBHTUWwR9tQsEdqXLBH+GewR4dzsEcWf7BHpYqwRzSWsEfEobBHU62wR+O4sEdzxLBHBNCwR5TbsEcl57BHtvKwR0f+sEfYCbFHaRWxR/sgsUeNLLFHHzixR7FDsUdDT7FH1lqxR2hmsUf7cbFHjn2xRyKJsUe1lLFHSaCxR92rsUdxt7FHBcOxR5nOsUcu2rFHw+WxR1jxsUft/LFHggiyRxgUsketH7JHQyuyR9o2skdwQrJHBk6yR51Zskc0ZbJHy3CyR2J8skf6h7JHkZOyRymfskfBqrJHWbayR/LBskeKzbJHI9myR7zkskdV8LJH7vuyR4gHs0chE7NHux6zR1Uqs0fwNbNHikGzRyVNs0fAWLNHW2SzR/Zvs0eRe7NHLYezR8iSs0dknrNHAaqzR521s0c5wbNH1syzR3PYs0cQ5LNHre+zR0v7s0foBrRHhhK0RyQetEfCKbRHYTW0R/9AtEeeTLRHPVi0R9xjtEd7b7RHG3u0R7uGtEdakrRH+520R5uptEc7tbRH3MC0R33MtEce2LRHv+O0R2DvtEcC+7RHpAa1R0UStUfoHbVHiim1Ryw1tUfPQLVHcky1RxVYtUe4Y7VHXG+1R/96tUejhrVHR5K1R+udtUeQqbVHNLW1R9nAtUd+zLVHI9i1R8jjtUdu77VHE/u1R7kGtkdfErZHBR62R6wptkdSNbZH+UC2R6BMtkdHWLZH72O2R5Zvtkc+e7ZH5oa2R46Stkc2nrZH36m2R4e1tkcwwbZH2cy2R4LYtkcs5LZH1e+2R3/7tkcpB7dH0xK3R34et0coKrdH0zW3R35Bt0cpTbdH1Fi3R39kt0crcLdH13u3R4OHt0cvk7dH2563R4iqt0c1trdH4cG3R4/Nt0c82bdH6eS3R5fwt0dF/LdH8we4R6ETuEdPH7hH/iq4R602uEdcQrhHC064R7pZuEdqZbhHGXG4R8l8uEd5iLhHKpS4R9qfuEeLq7hHPLe4R+3CuEeezrhHT9q4RwHmuEey8bhHZP24RxYJuUfJFLlHeyC5Ry4suUfhN7lHlEO5R0dPuUf6WrlHrma5R2JyuUcWfrlHyom5R36VuUcyoblH56y5R5y4uUdRxLlHBtC5R7zbuUdx57lHJ/O5R93+uUeTCrpHSha6RwAiuke3LbpHbjm6RyVFukfcULpHlFy6R0toukcDdLpHu3+6R3OLukcsl7pH5KK6R52uukdWurpHD8a6R8jRukeC3bpHO+m6R/X0ukevALtHaQy7RyQYu0feI7tHmS+7R1Q7u0cPR7tHy1K7R4Zeu0dCartH/nW7R7qBu0d2jbtHMpm7R++ku0essLtHaby7RybIu0fj07tHod+7R17ru0cc97tH2gK8R5kOvEdXGrxHFia8R9QxvEeTPbxHU0m8RxJVvEfSYLxHkWy8R1F4vEcRhLxH0o+8R5KbvEdTp7xHE7O8R9S+vEeWyrxHV9a8RxnivEfa7bxHnPm8R14FvUchEb1H4xy9R6YovUdoNL1HK0C9R+9LvUeyV71HdmO9RzlvvUf9er1HwYa9R4aSvUdKnr1HD6q9R9S1vUeZwb1HXs29RyPZvUfp5L1Hr/C9R3T8vUc7CL5HARS+R8cfvkeOK75HVTe+RxxDvkfjTr5Hq1q+R3Jmvkc6cr5HAn6+R8qJvkeSlb5HW6G+RyOtvkfsuL5HtcS+R37QvkdI3L5HEei+R9vzvkel/75Hbwu/RzoXv0cEI79Hzy6/R5o6v0dlRr9HMFK/R/tdv0fHab9Hk3W/R16Bv0crjb9H95i/R8Okv0eQsL9HXby/RyrIv0f3079Hxd+/R5Lrv0dg979HLgPAR/wOwEfKGsBHmSbAR2cywEc2PsBHBUrAR9RVwEekYcBHc23AR0N5wEcThcBH45DAR7OcwEeEqMBHVbTARyXAwEf2y8BHyNfAR5njwEdr78BHPPvARw4HwUfgEsFHsx7BR4UqwUdYNsFHK0LBR/5NwUfRWcFHpGXBR3hxwUdLfcFHH4nBR/OUwUfIoMFHnKzBR3G4wUdGxMFHG9DBR/DbwUfF58FHm/PBR3D/wUdGC8JHHBfCR/MiwkfJLsJHoDrCR3dGwkdOUsJHJV7CR/xpwkfUdcJHq4HCR4ONwkdbmcJHM6XCRwyxwkflvMJHvcjCR5bUwkdv4MJHSezCRyL4wkf8A8NH1g/DR7Abw0eKJ8NHZDPDRz8/w0caS8NH9VbDR9Biw0erbsNHh3rDR2KGw0c+ksNHGp7DR/apw0fTtcNHr8HDR4zNw0dp2cNHRuXDRyPxw0cB/cNH3wjER7wUxEeaIMRHeSzER1c4xEc1RMRHFFDER/NbxEfSZ8RHsXPER5F/xEdwi8RHUJfERzCjxEcQr8RH8brER9HGxEey0sRHk97ER3TqxEdV9sRHNgLFRxgOxUf6GcVH3CXFR74xxUegPcVHg0nFR2VVxUdIYcVHK23FRw55xUfyhMVH1ZDFR7mcxUedqMVHgbTFR2XAxUdKzMVHLtjFRxPkxUf478VH3fvFR8MHxkeoE8ZHjh/GR3QrxkdaN8ZHQEPGRydPxkcNW8ZH9GbGR9tyxkfCfsZHqYrGR5GWxkd4osZHYK7GR0i6xkcxxsZHGdLGRwHexkfq6cZH0/XGR7wBx0elDcdHjxnHR3klx0diMcdHTD3HRzZJx0chVcdHC2HHR/Zsx0fheMdHzITHR7eQx0ejnMdHjqjHR3q0x0dmwMdHUszHRz7Yx0cr5MdHF/DHRwT8x0fxB8hH3hPIR8wfyEe5K8hHpzfIR5VDyEeDT8hHcVvIR2BnyEdOc8hHPX/IRyyLyEcbl8hHC6PIR/quyEfqushH2sbIR8rSyEe63shHqurIR5v2yEeLAslHfA7JR20ayUdfJslHUDLJR0I+yUc0SslHJlbJRxhiyUcKbslH/XnJR++FyUfikclH1Z3JR8ipyUe8tclHr8HJR6PNyUeX2clHi+XJR3/xyUd0/clHaAnKR10VykdSIcpHRy3KRz05ykcyRcpHKFHKRx5dykcUacpHCnXKRwGBykf3jMpH7pjKR+WkykfcsMpH07zKR8vIykfC1MpHuuDKR7Lsykeq+MpHowTLR5sQy0eUHMtHjSjLR4Y0y0d/QMtHeEzLR3JYy0dsZMtHZnDLR2B8y0daiMtHVJTLR0+gy0dKrMtHRbjLR0DEy0c70MtHN9zLRzPoy0cu9MtHKwDMRycMzEcjGMxHICTMRxwwzEcZPMxHFkjMRxRUzEcRYMxHD2zMRw14zEcLhMxHCZDMRweczEcGqMxHBLTMRwPAzEcCzMxHAdjMRwHkzEcA8MxHAPzMRwAIzUcAFM1HACDNRwEszUcBOM1HAkTNRwNQzUcEXM1HBmjNRwd0zUcJgM1HC4zNRw2YzUcPpM1HEbDNRxS8zUcWyM1HGdTNRxzgzUcg7M1HI/jNRycEzkcqEM5HLhzORzMozkc3NM5HO0DOR0BMzkdFWM5HSmTOR09wzkdUfM5HWojOR1+UzkdloM5Ha6zOR3K4zkd4xM5Hf9DOR4XczkeM6M5Hk/TOR5sAz0eiDM9HqhjPR7Ekz0e5MM9HwjzPR8pIz0fSVM9H22DPR+Rsz0fteM9H9oTPR/+Qz0cJnc9HE6nPRx21z0cnwc9HMc3PRzvZz0dG5c9HUfHPR1z9z0dnCdBHchXQR30h0EeJLdBHlTnQR6FF0EetUdBHuV3QR8Zp0EfTddBH34HQR+yN0Ef6mdBHB6bQRxWy0EcivtBHMMrQRz7W0EdM4tBHW+7QR2n60Ed4BtFHhxLRR5Ye0UemKtFHtTbRR8VC0UfUTtFH5FrRR/Vm0UcFc9FHFX/RRyaL0Uc3l9FHSKPRR1mv0Udru9FHfMfRR47T0Ueg39FHsuvRR8T30UfWA9JH6Q/SR/wb0kcPKNJHIjTSRzVA0kdJTNJHXFjSR3Bk0keEcNJHmHzSR6yI0kfBlNJH1qDSR+qs0kf/uNJHFcXSRyrR0kdA3dJHVenSR2v10keBAdNHlw3TR64Z00fEJdNH2zHTR/I900cJStNHIFbTRzhi00dPbtNHZ3rTR3+G00eXktNHsJ7TR8iq00fhttNH+sLTRxPP00cs29NHRefTR1/z00d4/9NHkgvUR6wX1EfGI9RH4S/UR/s71EcWSNRHMVTUR0xg1EdnbNRHg3jUR56E1Ee6kNRH1pzUR/Ko1EcOtdRHK8HUR0fN1Edk2dRHgeXUR57x1Ee7/dRH2QnVR/cV1UcUItVHMi7VR1E61UdvRtVHjVLVR6xe1UfLatVH6nbVRwmD1Ucpj9VHSJvVR2in1UeIs9VHqL/VR8jL1Ufo19VHCeTVRyrw1UdL/NVHbAjWR40U1keuINZH0CzWR/I41kcURdZHNlHWR1hd1kd7adZHnXXWR8CB1kfjjdZHBprWRyqm1kdNstZHcb7WR5XK1ke51tZH3eLWRwHv1kcm+9ZHSgfXR28T10eUH9dHuSvXR98310cERNdHKlDXR1Bc10d2aNdHnHTXR8OA10fpjNdHEJnXRzel10desddHhb3XR63J10fU1ddH/OHXRyTu10dM+tdHdAbYR50S2EfGHthH7irYRxc32EdBQ9hHak/YR5Nb2Ee9Z9hH53PYRxGA2Ec7jNhHZZjYR5Ck2Ee7sNhH5bzYRxDJ2Ec81dhHZ+HYR5Pt2Ee++dhH6gXZRxYS2UdCHtlHbyrZR5s22UfIQtlH9U7ZRyJb2UdPZ9lHfXPZR6p/2UfYi9lHBpjZRzSk2UdisNlHkbzZR7/I2Ufu1NlHHeHZR0zt2Ud8+dlHqwXaR9sR2kcKHtpHOiraR2s22kebQtpHy07aR/xa2kctZ9pHXnPaR49/2kfAi9pH8pfaRyOk2kdVsNpHh7zaR7rI2kfs1NpHHuHaR1Ht2keE+dpHtwXbR+oR20ceHttHUSrbR4U220e5QttH7U7bRyFb20dVZ9tHinPbR79/20f0i9tHKZjbR16k20eTsNtHybzbR//I20c01dtHa+HbR6Ht20fX+dtHDgbcR0US3Ed8HtxHsyrcR+o23EchQ9xHWU/cR5Fb3EfJZ9xHAXTcRzmA3EdyjNxHqpjcR+Ok3EccsdxHVb3cR47J3EfI1dxHAuLcRzvu3Ed1+txHsAbdR+oS3UckH91HXyvdR5o33UfVQ91HEFDdR0tc3UeHaN1HwnTdR/6A3Uc6jd1Hd5ndR7Ol3Ufvsd1HLL7dR2nK3Uem1t1H4+LdRyDv3Ude+91HnAfeR9oT3kcYIN5HVizeR5Q43kfTRN5HEVHeR1Bd3kePad5Hz3XeRw6C3kdOjt5HjZreR82m3kcNs95HTb/eR47L3kfO195HD+TeR1Dw3keR/N5H0gjfRxQV30dVId9Hly3fR9k530cbRt9HXVLfR6Be30fiat9HJXffR2iD30erj99H7pvfRzKo30d1tN9HucDfR/3M30dB2d9HheXfR8rx30cO/t9HUwrgR5gW4EfdIuBHIy/gR2g74EeuR+BH81PgRzlg4Ed/bOBHxnjgRwyF4EdTkeBHmp3gR+Gp4EcotuBHb8LgR7bO4Ef+2uBHRufgR47z4EfW/+BHHgzhR2cY4UevJOFH+DDhR0E94UeKSeFH01XhRx1i4UdnbuFHsHrhR/qG4UdEk+FHj5/hR9mr4UckuOFHb8ThR7rQ4UcF3eFHUOnhR5z14UfnAeJHMw7iR38a4kfLJuJHFzPiR2Q/4kexS+JH/VfiR0pk4keYcOJH5XziRzKJ4keAleJHzqHiRxyu4kdquuJHuMbiRwfT4kdV3+JHpOviR/P34kdCBONHkhDjR+Ec40cxKeNHgTXjR9FB40chTuNHcVrjR8Jm40cSc+NHY3/jR7SL40cFmONHVqTjR6iw40f6vONHS8njR53V40fw4eNHQu7jR5T640fnBuRHOhPkR40f5EfgK+RHMzjkR4dE5EfaUORHLl3kR4Jp5EfWdeRHK4LkR3+O5EfUmuRHKafkR36z5EfTv+RHKMzkR33Y5EfT5ORHKfHkR3/95EfVCeVHKxblR4Ii5UfYLuVHLzvlR4ZH5UfdU+VHNWDlR4xs5UfkeOVHPIXlR5SR5UfsneVHRKrlR5225Uf1wuVHTs/lR6fb5UcA6OVHWfTlR7MA5kcMDeZHZhnmR8Al5kcaMuZHdT7mR89K5kcqV+ZHhGPmR99v5kc7fOZHlojmR/GU5kdNoeZHqa3mRwW65kdhxuZHvdLmRxnf5kd26+ZH0/fmRzAE50eNEOdH6hznR0gp50elNedHA0LnR2FO50e/WudHHWfnR3xz50faf+dHOYznR5iY50f3pOdHVrHnR7a950cVyudHddbnR9Xi50c17+dHlfvnR/YH6EdWFOhHtyDoRxgt6Ed5OehH2kXoRzxS6EedXuhH/2roR2F36EfDg+hHJZDoR4ic6EfqqOhHTbXoR7DB6EcTzuhHdtroR9nm6Ec98+hHof/oRwQM6UdoGOlHzSTpRzEx6UeWPelH+knpR19W6UfEYulHKW/pR4976Uf0h+lHWpTpR8Cg6UcmrelHjLnpR/LF6UdZ0ulHv97pRybr6UeN9+lH9APqR1wQ6kfDHOpHKynqR5M16kf7QepHY07qR8ta6kc0Z+pHnHPqRwWA6kdujOpH15jqR0Gl6keqsepHFL7qR33K6kfn1upHUePqR7zv6kcm/OpHkQjrR/wU60dnIetH0i3rRz0660eoRutHFFPrR4Bf60fsa+tHWHjrR8SE60cwketHnZ3rRwqq60d3tutH5MLrR1HP60e+2+tHLOjrR5r060cHAexHdg3sR+QZ7EdSJuxHwTLsRy8/7EeeS+xHDVjsR3xk7EfscOxHW33sR8uJ7Ec7luxHq6LsRxuv7EeLu+xH/MfsR23U7Efd4OxHTu3sR8D57EcxBu1HohLtRxQf7UeGK+1H+DftR2pE7UfcUO1HT13tR8Fp7Uc0du1Hp4LtRxqP7UeNm+1HAajtR3W07UfowO1HXM3tR9DZ7UdF5u1HufLtRy7/7UeiC+5HFxjuR4wk7kcCMe5Hdz3uR+1J7kdiVu5H2GLuR05v7kfEe+5HO4juR7GU7kcooe5Hn63uRxa67keNxu5HBNPuR3zf7kf06+5Ha/juR+ME70dcEe9H1B3vR0wq70fFNu9HPkPvR7dP70cwXO9HqWjvRyN170ecge9HFo7vR5Ca70cKp+9HhbPvR/+/70d6zO9H9NjvR2/l70fq8e9HZv7vR+EK8EddF/BH2CPwR1Qw8EfQPPBHTUnwR8lV8EdGYvBHwm7wRz978Ee8h/BHOZTwR7eg8Ec0rfBHsrnwRzDG8Eeu0vBHLN/wR6rr8Ecp+PBHpwTxRyYR8UelHfFHJCrxR6Q28UcjQ/FHo0/xRyNc8UejaPFHI3XxR6OB8UcjjvFHpJrxRyWn8Uems/FHJ8DxR6jM8Ucp2fFHq+XxRy3y8Uev/vFHMQvyR7MX8kc1JPJHuDDyRzo98ke9SfJHQFbyR8Ri8kdHb/JHynvyR06I8kfSlPJHVqHyR9qt8kdeuvJH48byR2fT8kfs3/JHcezyR/b48kd8BfNHARLzR4ce80cMK/NHkjfzRxhE80efUPNHJV3zR6xp80cydvNHuYLzR0CP80fIm/NHT6jzR9a080dewfNH5s3zR27a80f25vNHf/PzRwcA9EeQDPRHGRn0R6Il9EcrMvRHtD70Rz5L9EfHV/RHUWT0R9tw9EdlffRH74n0R3qW9EcEo/RHj6/0Rxq89EelyPRHMNX0R7zh9EdH7vRH0/r0R18H9UfrE/VHdyD1RwMt9UeQOfVHHUb1R6pS9Uc3X/VHxGv1R1F49UffhPVHbJH1R/qd9UeIqvVHFrf1R6TD9Ucz0PVHwdz1R1Dp9Uff9fVHbgL2R/0O9keNG/ZHHCj2R6w09kc8QfZHzE32R1xa9kftZvZHfXP2Rw6A9kefjPZHMJn2R8Gl9kdSsvZH5L72R3XL9kcH2PZHmeT2Ryvx9ke+/fZHUAr3R+MW90d2I/dHCDD3R5w890cvSfdHwlX3R1Zi90fqbvdHfXv3RxGI90emlPdHOqH3R8+t90djuvdH+Mb3R43T90ci4PdHuOz3R03590fjBfhHeRL4Rw8f+EelK/hHOzj4R9FE+EdoUfhH/134R5Zq+Ectd/hHxIP4R1yQ+EfznPhHi6n4RyO2+Ee7wvhHU8/4R+vb+EeE6PhHHPX4R7UB+UdODvlH5xr5R4En+UcaNPlHtED5R05N+UfoWflHgmb5Rxxz+Ue2f/lHUYz5R+yY+UeHpflHIrL5R72++UdYy/lH9Nf5R5Dk+Ucs8flHyP35R2QK+kcAF/pHnSP6Rzkw+kfWPPpHc0n6RxBW+ketYvpHS2/6R+l7+keGiPpHJJX6R8Kh+kdhrvpH/7r6R57H+kc81PpH2+D6R3rt+kcZ+vpHuQb7R1gT+0f4H/tHmCz7Rzg5+0fYRftHeFL7Rxlf+0e5a/tHWnj7R/uE+0eckftHPZ77R9+q+0eAt/tHIsT7R8TQ+0dm3ftHCOr7R6v2+0dNA/xH8A/8R5Mc/Ec2KfxH2TX8R3xC/EcgT/xHw1v8R2do/EcLdfxHr4H8R1SO/Ef4mvxHnaf8R0G0/EfmwPxHi838RzHa/EfW5vxHe/P8RyEA/UfHDP1HbRn9RxMm/Ue5Mv1HYD/9RwdM/UetWP1HVGX9R/tx/Uejfv1HSov9R/KX/UeapP1HQbH9R+q9/UeSyv1HOtf9R+Pj/UeL8P1HNP39R90J/keGFv5HMCP+R9kv/keDPP5HLUn+R9dV/keBYv5HK2/+R9V7/keAiP5HK5X+R9ah/keBrv5HLLv+R9fH/keD1P5HL+H+R9rt/keG+v5HMwf/R98T/0eLIP9HOC3/R+U5/0eSRv9HP1P/R+xf/0eabP9HR3n/R/WF/0ejkv9HUZ//R/+r/0etuP9HXMX/RwvS/0e53v9HaOv/Rxj4/0djAgBIuwgASBMPAEhrFQBIwxsASBsiAEhzKABIyy4ASCM1AEh8OwBI1EEASC1IAEiFTgBI3lQASDdbAEiQYQBI6WcASEJuAEibdABI9HoASE2BAEimhwBIAI4ASFmUAEizmgBIDKEASGanAEjArQBIGrQASHS6AEjOwABIKMcASILNAEjc0wBINtoASJHgAEjr5gBIRu0ASKDzAEj7+QBIVgABSLEGAUgMDQFIZxMBSMIZAUgdIAFIeCYBSNQsAUgvMwFIizkBSOY/AUhCRgFInkwBSPlSAUhVWQFIsV8BSA1mAUhpbAFIxnIBSCJ5AUh+fwFI24UBSDeMAUiUkgFI8JgBSE2fAUiqpQFIB6wBSGSyAUjBuAFIHr8BSHvFAUjZywFINtIBSJPYAUjx3gFITuUBSKzrAUgK8gFIaPgBSMb+AUgkBQJIggsCSOARAkg+GAJInB4CSPskAkhZKwJIuDECSBY4Akh1PgJI1EQCSDNLAkiSUQJI8VcCSFBeAkivZAJIDmsCSG1xAkjNdwJILH4CSIyEAkjsigJIS5ECSKuXAkgLngJIa6QCSMuqAkgrsQJIi7cCSOu9AkhMxAJIrMoCSA3RAkht1wJIzt0CSC/kAkiP6gJI8PACSFH3Akiy/QJIEwQDSHQKA0jWEANINxcDSJgdA0j6IwNIXCoDSL0wA0gfNwNIgT0DSONDA0hFSgNIp1ADSAlXA0hrXQNIzWMDSDBqA0iScANI9HYDSFd9A0i6gwNIHIoDSH+QA0jilgNIRZ0DSKijA0gLqgNIbrADSNK2A0g1vQNImcMDSPzJA0hg0ANIw9YDSCfdA0iL4wNI7+kDSFPwA0i39gNIG/0DSH8DBEjjCQRISBAESKwWBEgRHQRIdSMESNopBEg/MARIpDYESAg9BEhtQwRI0kkESDhQBEidVgRIAl0ESGdjBEjNaQRIMnAESJh2BEj+fARIY4MESMmJBEgvkARIlZYESPucBEhhowRIyKkESC6wBEiUtgRI+7wESGHDBEjIyQRIL9AESJXWBEj83ARIY+MESMrpBEgx8ARImPYESP/8BEhnAwVIzgkFSDYQBUidFgVIBR0FSGwjBUjUKQVIPDAFSKQ2BUgMPQVIdEMFSNxJBUhEUAVIrVYFSBVdBUh9YwVI5mkFSE9wBUi3dgVIIH0FSImDBUjyiQVIW5AFSMSWBUgtnQVIlqMFSP+pBUhpsAVI0rYFSDy9BUilwwVID8oFSHnQBUjj1gVITd0FSLfjBUgh6gVIi/AFSPX2BUhf/QVIygMGSDQKBkifEAZICRcGSHQdBkjfIwZISioGSLQwBkgfNwZIij0GSPZDBkhhSgZIzFAGSDhXBkijXQZIDmQGSHpqBkjmcAZIUncGSL19BkgphAZIlYoGSAGRBkhtlwZI2p0GSEakBkiyqgZIH7EGSIu3Bkj4vQZIZcQGSNHKBkg+0QZIq9cGSBjeBkiF5AZI8uoGSF/xBkjN9wZIOv4GSKcEB0gVCwdIgxEHSPAXB0heHgdIzCQHSDorB0ioMQdIFjgHSIQ+B0jyRAdIYEsHSM9RB0g9WAdIrF4HSBplB0iJawdI+HEHSGZ4B0jVfgdIRIUHSLOLB0gikgdIkpgHSAGfB0hwpQdI4KsHSE+yB0i/uAdILr8HSJ7FB0gOzAdIftIHSO7YB0he3wdIzuUHSD7sB0iu8gdIH/kHSI//B0gABghIcAwISOESCEhSGQhIwh8ISDMmCEikLAhIFTMISIY5CEj4PwhIaUYISNpMCEhMUwhIvVkISC9gCEigZghIEm0ISIRzCEj2eQhIaIAISNqGCEhMjQhIvpMISDCaCEiioAhIFacISIetCEj6swhIbLoISN/ACEhSxwhIxc0ISDjUCEir2ghIHuEISJHnCEgE7ghId/QISOv6CEheAQlI0gcJSEUOCUi5FAlILRsJSKEhCUgVKAlIiS4JSP00CUhxOwlI5UEJSFlICUjOTglIQlUJSLdbCUgrYglIoGgJSBVvCUiKdQlI/nsJSHOCCUjoiAlIXo8JSNOVCUhInAlIvaIJSDOpCUiorwlIHrYJSJS8CUgJwwlIf8kJSPXPCUhr1glI4dwJSFfjCUjN6QlIRPAJSLr2CUgw/QlIpwMKSB0KCkiUEApICxcKSIIdCkj4IwpIbyoKSOYwCkheNwpI1T0KSExECkjDSgpIO1EKSLJXCkgqXgpIoWQKSBlrCkiRcQpICXgKSIF+Ckj5hApIcYsKSOmRCkhhmApI2Z4KSFKlCkjKqwpIQ7IKSLu4Ckg0vwpIrcUKSCbMCkif0gpIGNkKSJHfCkgK5gpIg+wKSPzyCkh2+QpI7/8KSGkGC0jiDAtIXBMLSNYZC0hPIAtIySYLSEMtC0i9MwtINzoLSLJAC0gsRwtIpk0LSCFUC0ibWgtIFmELSJBnC0gLbgtIhnQLSAF7C0h8gQtI94cLSHKOC0jtlAtIaJsLSOOhC0hfqAtI2q4LSFa1C0jRuwtITcILSMnIC0hFzwtIwdULSD3cC0i54gtINekLSLHvC0gt9gtIqvwLSCYDDEijCQxIHxAMSJwWDEgZHQxIliMMSBMqDEiQMAxIDTcMSIo9DEgHRAxIhEoMSAJRDEh/VwxI/F0MSHpkDEj4agxIdXEMSPN3DEhxfgxI74QMSG2LDEjrkQxIaZgMSOieDEhmpQxI5KsMSGOyDEjhuAxIYL8MSN/FDEhdzAxI3NIMSFvZDEja3wxIWeYMSNjsDEhY8wxI1/kMSFYADUjWBg1IVQ0NSNUTDUhVGg1I1CANSFQnDUjULQ1IVDQNSNQ6DUhUQQ1I1EcNSFVODUjVVA1IVVsNSNZhDUhWaA1I124NSFh1DUjZew1IWYINSNqIDUhbjw1I3ZUNSF6cDUjfog1IYKkNSOKvDUhjtg1I5bwNSGbDDUjoyQ1IatANSOzWDUhu3Q1I7+MNSHLqDUj08A1IdvcNSPj9DUh7BA5I/QoOSIARDkgCGA5IhR4OSAclDkiKKw5IDTIOSJA4DkgTPw5IlkUOSBlMDkidUg5IIFkOSKNfDkgnZg5IqmwOSC5zDkiyeQ5INoAOSLmGDkg9jQ5IwZMOSEWaDkjKoA5ITqcOSNKtDkhXtA5I27oOSF/BDkjkxw5Iac4OSO7UDkhy2w5I9+EOSHzoDkgB7w5IhvUOSAz8DkiRAg9IFgkPSJwPD0ghFg9IpxwPSCwjD0iyKQ9IODAPSL42D0hEPQ9IykMPSFBKD0jWUA9IXFcPSOJdD0hpZA9I72oPSHZxD0j8dw9Ig34PSAqFD0iRiw9IF5IPSJ6YD0glnw9IraUPSDSsD0i7sg9IQrkPSMq/D0hRxg9I2cwPSGHTD0jo2Q9IcOAPSPjmD0iA7Q9ICPQPSJD6D0gYARBIoAcQSCkOEEixFBBIORsQSMIhEEhLKBBI0y4QSFw1EEjlOxBIbkIQSPdIEEiATxBICVYQSJJcEEgbYxBIpWkQSC5wEEi4dhBIQX0QSMuDEEhVihBI3pAQSGiXEEjynRBIfKQQSAarEEiQsRBIG7gQSKW+EEgvxRBIussQSETSEEjP2BBIWt8QSOTlEEhv7BBI+vIQSIX5EEgQABFImwYRSCYNEUiyExFIPRoRSMggEUhUJxFI3y0RSGs0EUj3OhFIg0ERSA5IEUiaThFIJlURSLJbEUg/YhFIy2gRSFdvEUjjdRFIcHwRSPyCEUiJiRFIFpARSKKWEUgvnRFIvKMRSEmqEUjWsBFIY7cRSPC9EUh+xBFIC8sRSJjREUgm2BFIs94RSEHlEUjP6xFIXfIRSOr4EUh4/xFIBgYSSJQMEkgjExJIsRkSSD8gEkjNJhJIXC0SSOozEkh5OhJICEESSJZHEkglThJItFQSSENbEkjSYRJIYWgSSPBuEkh/dRJID3wSSJ6CEkguiRJIvY8SSE2WEkjcnBJIbKMSSPypEkiMsBJIHLcSSKy9Ekg8xBJIzMoSSF3REkjt1xJIfd4SSA7lEkie6xJIL/ISSMD4EkhQ/xJI4QUTSHIME0gDExNIlBkTSCUgE0i3JhNISC0TSNkzE0hrOhNI/EATSI5HE0ggThNIsVQTSENbE0jVYRNIZ2gTSPluE0iLdRNIHXwTSLCCE0hCiRNI1I8TSGeWE0j5nBNIjKMTSB+qE0ixsBNIRLcTSNe9E0hqxBNI/coTSJDRE0gj2BNIt94TSErlE0jd6xNIcfITSAT5E0iY/xNILAYUSMAMFEhTExRI5xkUSHsgFEgPJxRIpC0USDg0FEjMOhRIYEEUSPVHFEiJThRIHlUUSLNbFEhHYhRI3GgUSHFvFEgGdhRIm3wUSDCDFEjFiRRIW5AUSPCWFEiFnRRIG6QUSLCqFEhGsRRI3LcUSHG+FEgHxRRIncsUSDPSFEjJ2BRIX98USPXlFEiM7BRIIvMUSLj5FEhPABVI5QYVSHwNFUgTFBVIqhoVSEAhFUjXJxVIbi4VSAU1FUidOxVINEIVSMtIFUhiTxVI+lUVSJFcFUgpYxVIwWkVSFhwFUjwdhVIiH0VSCCEFUi4ihVIUJEVSOiXFUiAnhVIGaUVSLGrFUhJshVI4rgVSHu/FUgTxhVIrMwVSEXTFUje2RVId+AVSBDnFUip7RVIQvQVSNv6FUh0ARZIDggWSKcOFkhBFRZI2hsWSHQiFkgOKRZIqC8WSEI2FkjcPBZIdkMWSBBKFkiqUBZIRFcWSN9dFkh5ZBZIE2sWSK5xFkhJeBZI434WSH6FFkgZjBZItJIWSE+ZFkjqnxZIhaYWSCCtFki7sxZIV7oWSPLAFkiOxxZIKc4WSMXUFkhh2xZI/OEWSJjoFkg07xZI0PUWSGz8FkgIAxdIpQkXSEEQF0jdFhdIeh0XSBYkF0izKhdITzEXSOw3F0iJPhdIJkUXSMNLF0hgUhdI/VgXSJpfF0g3ZhdI1GwXSHJzF0gPehdIrYAXSEqHF0jojRdIhpQXSCSbF0jBoRdIX6gXSP2uF0ictRdIOrwXSNjCF0h2yRdIFdAXSLPWF0hS3RdI8OMXSI/qF0gu8RdIzPcXSGv+F0gKBRhIqQsYSEgSGEjoGBhIhx8YSCYmGEjGLBhIZTMYSAU6GEikQBhIREcYSORNGEiDVBhII1sYSMNhGEhjaBhIA28YSKR1GEhEfBhI5IIYSIWJGEglkBhIxpYYSGadGEgHpBhIqKoYSEmxGEjptxhIir4YSCvFGEjNyxhIbtIYSA/ZGEiw3xhIUuYYSPPsGEiV8xhINvoYSNgAGUh6BxlIHA4ZSL4UGUhgGxlIAiIZSKQoGUhGLxlI6DUZSIs8GUgtQxlI0EkZSHJQGUgVVxlIt10ZSFpkGUj9ahlIoHEZSEN4GUjmfhlIiYUZSCyMGUjQkhlIc5kZSBagGUi6phlIXa0ZSAG0GUiluhlIScEZSOzHGUiQzhlINNUZSNjbGUh94hlIIekZSMXvGUhp9hlIDv0ZSLIDGkhXChpI+xAaSKAXGkhFHhpI6iQaSI8rGkg0MhpI2TgaSH4/GkgjRhpIyEwaSG5TGkgTWhpIuWAaSF5nGkgEbhpIqnQaSE97Gkj1gRpIm4gaSEGPGkjnlRpIjZwaSDSjGkjaqRpIgLAaSCe3GkjNvRpIdMQaSBrLGkjB0RpIaNgaSA/fGki25RpIXewaSATzGkir+RpIUgAbSPkGG0ihDRtISBQbSPAaG0iXIRtIPygbSOcuG0iONRtINjwbSN5CG0iGSRtILlAbSNZWG0h+XRtIJ2QbSM9qG0h4cRtIIHgbSMl+G0hxhRtIGowbSMOSG0hsmRtIFKAbSL2mG0hnrRtIELQbSLm6G0hiwRtIDMgbSLXOG0he1RtICNwbSLLiG0hb6RtIBfAbSK/2G0hZ/RtIAwQcSK0KHEhXERxIARgcSKweHEhWJRxIACwcSKsyHEhVORxIAEAcSKtGHEhVTRxIAFQcSKtaHEhWYRxIAWgcSKxuHEhYdRxIA3wcSK6CHEhaiRxIBZAcSLGWHEhcnRxICKQcSLSqHEhgsRxIDLgcSLe+HEhkxRxIEMwcSLzSHEho2RxIFOAcSMHmHEht7RxIGvQcSMf6HEhzAR1IIAgdSM0OHUh6FR1IJxwdSNQiHUiBKR1ILjAdSNs2HUiJPR1INkQdSONKHUiRUR1IP1gdSOxeHUiaZR1ISGwdSPZyHUikeR1IUoAdSACHHUiujR1IXJQdSAubHUi5oR1IaKgdSBavHUjFtR1Ic7wdSCLDHUjRyR1IgNAdSC/XHUje3R1IjeQdSDzrHUjr8R1Im/gdSEr/HUj5BR5IqQweSFkTHkgIGh5IuCAeSGgnHkgYLh5IyDQeSHg7HkgoQh5I2EgeSIhPHkg4Vh5I6VweSJljHkhKah5I+nAeSKt3Hkhcfh5IDIUeSL2LHkhukh5IH5keSNCfHkiCph5IM60eSOSzHkiVuh5IR8EeSPjHHkiqzh5IXNUeSA3cHki/4h5IcekeSCPwHkjV9h5Ih/0eSDkEH0jrCh9InREfSFAYH0gCHx9ItSUfSGcsH0gaMx9IzTkfSH9AH0gyRx9I5U0fSJhUH0hLWx9I/mEfSLFoH0hlbx9IGHYfSMt8H0h/gx9IM4ofSOaQH0ialx9ITp4fSAGlH0i1qx9IabIfSB25H0jRvx9IhsYfSDrNH0ju0x9Io9ofSFfhH0gM6B9IwO4fSHX1H0gq/B9I3gIgSJMJIEhIECBI/RYgSLIdIEhnJCBIHSsgSNIxIEiHOCBIPT8gSPJFIEioTCBIXlMgSBNaIEjJYCBIf2cgSDVuIEjrdCBIoXsgSFeCIEgNiSBIxI8gSHqWIEgwnSBI56MgSJ2qIEhUsSBIC7ggSMK+IEh4xSBIL8wgSObSIEid2SBIVOAgSAznIEjD7SBIevQgSDL7IEjpASFIoQghSFgPIUgQFiFIyBwhSIAjIUg4KiFI7zAhSKg3IUhgPiFIAAEAAAAAAAD/AwAABQAAAAEDAAAHAAAA/gQAAAkAAAD9BQAAEQAAAAIFAAAbAAAA/AYAACEAAABjBgAAMgAAAAMGAAAzAAAAYwYAADQAAAD5BwAAQQAAAGMHAABgAAAAYwcAAGIAAAAHBwAAYwAAAAQHAABrAAAA+wgAAIEAAABjCAAAwgAAAAUIAADDAAAAYwgAANQAAABjCQAAAAEAAPoJAAABAQAAYwkAAKoBAAAGCQAAqwEAAGMKAAAAAAAAAQIAAAAAAAAAAgAAAgAAAAMDAAACAAAAAgMAAAYAAAAEBAAADgAAAAcFAAANAAAABgUAAA8AAAAFBQAAHwAAAAsGAAAYAAAACgYAABkAAAAJBgAAHQAAAAgGAAA9AAAADQcAADgAAAAMBwAAeAAAAA8IAAByAAAADggAAPIAAAARCQAA5gAAABAJAADmAQAAEwoAAM8BAAASCgAAzgMAABYLAACdAwAAFAsAAJ4HAAAVCwAAnwcAABcMAAA4BwAAGQ0AAHIOAAAYDgAA5xwAABoPAADNOQAAMRMAAMCcAwAyEwAAwZwDADMTAADCnAMANBMAAMOcAwA1EwAAxJwDABsUAACKOQcAHBQAAIs5BwAdFAAAjDkHAB4UAACNOQcAHxQAAI45BwAgFAAAjzkHACEUAACQOQcAIhQAAJE5BwAjFAAAkjkHACQUAACTOQcAJRQAAJQ5BwAmFAAAlTkHACcUAACWOQcAKBQAAJc5BwApFAAAmDkHACoUAACZOQcAKxQAAJo5BwAsFAAAmzkHAC0UAACcOQcALhQAAJ05BwAvFAAAnjkHADAUAACfOQcAYxUAAAAAAABCGwIAQhsCAJYbAgD2GwIA9hsCAFocAgDCHAIAwhwCACIdAgAiHQIAIh0CAHodAgAAAAAAAAAAAAAAAABwGgIAcBoCALgaAgAEGwIABBsCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACaGQIAmhkCAOQZAgAwGgIAMBoCAAAAAAAAAAAAAAAAAAAAAADoGAIA6BgCAAIZAgAcGQIAHBkCABwZAgA6GQIAOhkCAFoZAgBaGQIAWhkCAHoZAgCZQoA8FbYZPbXqXT2NYaw9KxjTPdpQ+j0AAAA++Xn0Oy7+uTxYPTo9Xc+UPXByyj0CifE9AAAAPucAfT9INxw+dnNlP34N4z7ciTg/LG4xP+Hk9D4t0WA/AACAPwAAAAAAAIA/AAAAAHZzZT9+DeO+5wB9P0g3HL5z3Qq/XxBXP+fOID15zX8/eUZtv3g2wD5tY3m/czhnvgAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAA9vrT6Q3XA/D2+tPpDdcD8Pb60+kN1wPwAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAFtARb84LiM/W0BFvzguIz8AAIA/AAAAAAAAgD8AAAAAD2+tPpDdcD8Pb60+kN1wPw9vrT6Q3XA/D2+tPpDdcD9bQEW/OC4jP1tARb84LiM/l1lcv4pQAr8Pb60+kN1wP+PgPz4td3u/W0BFvzguIz+XWVy/ilACv5dZXL+KUAK/4+A/Pi13e7/j4D8+LXd7vyXZfD9bMCC+l1lcv4pQAr/gW3w/uxcsPgv6dD8xoJQ+fKB9PwUbCz412V8/+2r4PplnIj8D5EU/vudqPzSGyz5yDCo/tVw/Pza9yD1txH4/CNhGP3g8IT8oE8I+ZOVsP+pa8b6YxWE/zhoUP/vOUD8AAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAA12V8/+2r4vplnIj8D5EW/vudqPzSGy77gW3w/uxcsvgv6dD8xoJS+fKB9PwUbC757bza/kJczP9o5Dr8x21S/+0OpvgybcT92t/C9vDl+P74Ue7/CxUc+G5dTPqp5ej+zqn6/vr3QPdo5Dj8x21S/paJFvx+3Ij9eEFe/dN0Kv74Uez/CxUc+QVx9v86rEj4AAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAADwYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj/wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj/wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj8AAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAAC/ome/vf/ZPgAAAIAAAIC/6ooSv2HoUT+/ome/vf/ZPgAAAIAAAIC/6ooSv2HoUT8AAIA/AAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AAAAAAAAgD8AAAAAAACAPwAAAADwYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj/wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj/wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj/wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj+/ome/vf/ZPgAAAIAAAIC/6ooSv2HoUT+/ome/vf/ZPgAAAIAAAIC/6ooSv2HoUT955xy/mkdKv/MENT/zBDU/GuF9v0GIA77wYF8+rtV5P/MENb/zBDU/d7vsPgD+Yj85LiM/WkBFvwAAgL8AAAAACHWwvt1QcL+/ome/vf/ZPgAAAIAAAIC/6ooSv2HoUT955xy/mkdKv/MENT/zBDU/GuF9v0GIA7555xy/mkdKv/MENT/zBDU/GuF9v0GIA745LiM/WkBFvwAAgL8AAAAACHWwvt1QcL85LiM/WkBFvwAAgL8AAAAACHWwvt1QcL8AGWQ/dXHoPvMENT/zBDW/jUosP3ZYPb955xy/mkdKv/MENT/zBDU/GuF9v0GIA75Jykc/5w8gPxXvwz5eg2w/XudaP8S6BD+2P+G+IuVlP16DbL8V78O+Nc6DvSN4fz887Xi/UQxvvl6DbD8V78O+siNqvx8Gzz7MrIA86vd/vxXvw75eg2w/lgpIv4O/H79Zrno/cqdPvhXvw75eg2y/y51EPpg8e7//sdI+ulFpP16DbD8V78M+8351P6Uokb4kuEy/IrUZP16DbL8V78M+W90xP7YeOD/1qUK/PEImvxXvwz5eg2y/RwmivnbXcj+FlO8+dT5ivxXvwz5eg2w/9sh8v/7GIT477XY/ZRqHPl6DbL8V78O+u70Yv/xwTb/x8kC9P7d/P16DbD8V78O+ZxTfPlhsZr8hMHy/Hg4wPhXvw75eg2w/0eJ/P0R09LwN78O+YINsvxXvw75eg2y/jSz6PudbXz9FclE/hzMTv16DbD8V78M+rjYMv+svVj9zWD0/kEosP16DbL8V78M+XL9+vw5Xyr3MrP2+oF5ePxXvwz5eg2y/jri+vnmTbb/YrnS/gIyWvhXvwz5eg2w/dpAmPwpnQr9er6A9+TV/v16DbL8V78O+bWN5P304Zz4ycn0/TkgQvl6DbD8V78O+oxuAPmTbdz+a+rQ+RXlvPxXvw75eg2w/yCc+v6FlKz9991W/vIwMPxXvw75eg2y/veVvv2C4sr4a1ze/XScyv16DbD8V78M+eX39vQ0Ifr9/wgU/nEZav16DbL8V78M+lJhSP0KNEb+kMnI/ktilPhXvwz5eg2y/j25iP33e7j6rvOC9OXR+PxXvwz5eg2w/Fmyau0b/fz87dH6/FbzgPV6DbL8V78O+KIxjvxiX6j5u2KW+qjJyv16DbD8V78O+/jZRv7yHE7+mRlo/bsIFvxXvw75eg2w/BlEIPra4fb9QJzI/J9c3PxXvw75eg2y/n7pwP7Awrr7MjAy/c/dVP16DbD8V78M+EYg8P34uLT8+eW+/vfq0vl6DbL8V78M+QMaEvgU+dz+ZSBA+L3J9vxXvwz5eg2y/EOx5v/HOXT76NX8/yK6gvRXvwz5eg2w/grkkv7j2Q79cjJY+3q50P16DbL8V78O+2DDDPq+qbL+pXl6/rKz9Pl6DbD8V78O+ffl+P3kft72CSiy/gFg9vxXvw75eg2w/SzAKP8t/Vz+XMxM/O3JRvxXvw75eg2y/jl/+vo0rXj9Zg2w/L+/DPl6DbD8V78M+ec1/v0HPIL1oDjC+HTB8P16DbL8V78M+7bnavtp2Z79At3+/xPFAPRXvwz5eg2y/sKsaPxz+S79BGoe+QO12vxXvwz5eg2w/gGR8P9pMKz5+PmI/Y5Tvvl6DbL8V78O+knOdPi+Ycz8uQiY/AqpCP16DbD8V78O+lZczv3ZvNj8xtRm/GLhMPxXvw75eg2w/Cc10v6vHlb6zUWm/IbLSvhXvw75eg2y/zSI7vlawe7+8p08+Va56v16DbD8V78M+wolJPwjbHb/r938/caqAvF6DbL8V78M+RydpP6Rt0z4IDG8+QO14PxXvwz5eg2y//hJhPfycfz8r5WW/lD/hPhXvwz5eg2w/IiVcvxWpAj/ZDyC/VcpHv16DbL8V78O+oKRZv27JBr/2DyA/PspHv16DbD8V78O+6w+XPXpNf78a5WU/2D/hPhXvw75eg2w/yhprP+WZyr6aDG++OO14PxXvw75eg2y/34ZGP1ygIT/q93+/J6+AvF6DbD8V78M+UBROviPDej8pp0++Xa56v16DbL8V78M+Ryt2v1KGjD7CUWk/3LHSvhXvwz5eg2y/Fh8wv8XJOb8TtRk/L7hMPxXvwz5eg2w/TZumPjgRcr9LQia/6alCP16DbL8V78O+rCd9P3Q9GL5tPmK/ppTvvl6DbD8V78O+TcwWPy/fTj+KGoc+Nu12vxXvw75eg2w/zmnjvppcZT8+t38/HvRAPRXvw75eg2y/VvJ/v3dEpzzTDTA+JDB8P16DbD8V78M+2/P1vi2HYL9ng2y/6u7DPl6DbL8V78M+4jkOPyzbVL94MxO/UHJRvxXvwz5eg2y/cH9+PwiK3T1DclE/izMTP14ah7487XY/+TV/vyqvoD0DstK+ulFpvyDXNz9XJzK/I+VlP7U/4T5ivOC9OnR+PzzteL9NDG8+wowMv3n3Vb8ktRk/IrhMv9qudD90jJY+svJAPT+3fz9eg2y/Fe/DPoxKLL93WD2/f5TvPnc+Yr8xcn0/akgQPnmnTz5Zrno/oEZav3fCBT9Kyke/5w8gv4HYpT6mMnK/6vd/P6KsgLyo+rQ+Q3lvP/epQr86QiY/o15ev8Ks/b4vDjA+IDB8vyAwfD8vDjC+wqz9PqNeXj86Qia/96lCP0N5b7+o+rS+oqyAPOr3f7+mMnI/gdilvucPID9Kykc/d8IFv6BGWj9Zrnq/eadPvmpIEL4xcn2/dz5iP3+U7753WD0/jEosPxXvw75eg2w/P7d/v7LyQL10jJa+2q50vyK4TD8ktRm/efdVP8KMDD9NDG++PO14Pzp0fr9ivOA9tT/hviPlZb9XJzI/INc3v7pRaT8DstI+Kq+gvfk1fz887Xa/XhqHPoszE79DclG/izMTP0NyUb887XY/XhqHPiqvoD35NX8/ulFpvwOy0j5XJzK/INc3v7U/4T4j5WW/OnR+P2K84D1NDG8+PO14P3n3Vb/CjAw/IrhMvyS1Gb90jJY+2q50vz+3fz+y8kC9Fe/DPl6DbD93WD2/jEosP7gEtT84BLU/ogK1P6D9tD/M7bQ/2ru0P3FztD/647M/rcmyP5SlsD9dmKw/iS6oP+rUoT/BF5k/Yb6NPwAAgD+XLmE/pjBBP0k3Ij+k6AU/SlHaPmcvnj4JsGI+73ghPvNW5T1SnaI9URY3PT78zTxzsWc8i0sCPM+Kkjvau7Q/CJqzPy2FsT9dmKw/qUelP8EXmT9hvo0/AACAP5cuYT+mMEE/2acTP0pR2j4Fro0+VOI0PlKdoj0AAIA/jO97PxSgdT8ICmU/9LFTP/MENT+0Geg+AAAAAAAAAAD0vTU+zEeQPru15D7R8g8/8wQ1P1YvZD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/8uR/P6i6fz/XSX8/KtF+P3P0fT/D/Xs/K9p3PwAAgD9omn8/sPt+P7ZUfT8DkXs/21h4P1gNcT+O2GE/AACAP6cwfz/z7H0/oI96P/X5dj9UdXA/2cthP2i4Qz8AAIA/C7p+P5C9fD/udnc/t9txPxm0Zz+uDFE/CW0jPwAAgD8XRX4/s5J7PwNsdD+912w/wipfP8roQD8JFwU/AACAP3+qfT8RCHo/fmpwP5BCZj86B1Q/TCIsP+Fvvj4AAIA/rjB9P3TReD+0RW0/WhxhP/NdSz/WNBw/ijiGPgAAgD+m1Xw/i+l3Pzfuaj/cSF0/EPZEP1mOED+mTTw+AACAP3CTfD/2QHc/KztpP1uDWj9IVkA/JjcIP0gMBD4AAIA/7GN8PwvIdj+BA2g/wYdYP4AJPT+WTAI/fnC5PQAAgD8gMXw/0EZ2P8m2Zj98alY/poY5PxAT+D5KfE49AACAP3IUfD/j/XU/LvtlP5Q5VT80jTc/6g/xPpfL5jwAAIA/TQR8P9bUdT+hkWU/II5UP0RxNj/nIe0+yU+BPAAAgD84+3s/v711P0dWZT+9LVQ/vdE1P3bt6j5VIBE8AACAPx32ez/DsHU/6DRlP473Uz8VeDU/f7DpPnYGozsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7Xeu8tl88vVqXmL3hp8S9RC0BvqSBNL4WJYC+AAAAANv7Y71FW7a9qnsTvgfAPb62gXi+tWSsvuoT8b4AAAAAisiivWEYAr5w9VG+Pb2GvuKtr76BQ/G+iAMlvwAAAAC3Acy97eIivoAbg7750Ke+7rXZvqrDE79TDEW/AAAAAPOy7b1BnD2+WDyYvsNVwr6/2/q+mEoov1GvWr8AAAAAyvUJvrTTW74t6a++tsDfvhl1D78PfT2/C6JtvwAAAAAMTRe+XNlwvkg6wL4K0PO+CX4bv63RSr8EDHe/AAAAAHiIIL7OW3++TWjLvpq4AL/dhyO/3kdTv2eie78AAAAAoesmvliwhL7RFdO+K18Fv/bxKL94wFi/0tx9vwAAAAB8Wiu+JSmIvqJi2L48kQi/LKEsv+1bXL/L8n6/AAAAAEv3L77QxIu+0t/dvg7dC7/KZTC/lPFfv6ysf78AAAAAAoQyvuLCjb6f5eC+MawNv4BzMr+f2WG//OV/vwAAAABK7zO+nd6OvmCT4r7urA6/v5Uzv0TjYr/W93+/AAAAAFu6NL4pfY++ToPjvh08D79BNzS/4HVjv279f78AAAAAJyw1vgDWj76sCeS+QIwPv4iRNL9yx2O/MP9/vwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAP/Lkfz+oun8/10l/PyrRfj9z9H0/w/17Pyvadz8AAIA/aJp/P7D7fj+2VH0/A5F7P9tYeD9YDXE/jthhPwAAgD/r9X4/rVZ9P7sGeT8acHQ/UBxsP5J0WT9viDM/AACAPxdFfj+zkns/A2x0P73XbD/CKl8/yuhAPwkXBT8AAIA/Mn59PxKXeT96RW8/LmJkP9ndUD/0SyY/A6WpPgAAgD/r8Hw//i54P52haz/CbV4/wN9GP/oFFD8I91M+AACAP+xjfD8LyHY/gQNoP8GHWD+ACT0/lkwCP35wuT0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7Xeu8tl88vVqXmL3hp8S9RC0BvqSBNL4WJYC+AAAAANv7Y71FW7a9qnsTvgfAPb62gXi+tWSsvuoT8b4AAAAAy1y4vapFE77rYW2+DiKYvtDdxb7pFge/Xn42vwAAAADzsu29QZw9vlg8mL7DVcK+v9v6vphKKL9Rr1q/AAAAAHr1Dr4RtmO+0wu2vlNR577WBRS/qaFCvwiKcb8AAAAAY9MdvmYbe76KI8i+s3f9vvIyIb+/3VC/mHR6vwAAAAB8Wiu+JSmIvqJi2L48kQi/LKEsv+1bXL/L8n6/LT1POzIvQjs3Uy47fhL5OoZimDpEtCU5RLQlOUS0JTljQ7g7bqesO3wAmzspdV07Pn0HOyJqkzkiapM5ImqTOZ7UIzw+gxk8Z9EJPFTqxDsh83A7EBUDOhAVAzoQFQM6MqeRPAt8iDz6EnU89xovPD5H1jsPJWk6DyVpOg8laTpPdgE9EqjyPJTl2TzCvZs8t6A+PINyzzqDcs86g3LPOrv4ZT2Pm1c9E7dBPe2cCj3Myak8NNk4OzTZODs02Tg76SqiPQMgmD2UyYg94xNEPZFv8DyL9oI7i/aCO4v2gjs5W+Q9ZnTWPSUjwT0M4Yo97aoqPWEqujthKro7YSq6O9hKID6W3BY+YEkIPrtHxT3MgnM9cSoFPHEqBTxxKgU8ILVfPrdpUz4sIUA+T+AMPhF+rz0sCEE8LAhBPCwIQTyxX5o+jviSPl8Nhz5qOEs+zRkBPgTajzwE2o88BNqPPCRgvT7FpLU+2t6oPn3hgj7umCo+C53BPAudwTwLncE8b2jlPoQt3j5a2dE+ah+qPmceaD5P2Ag9T9gIPU/YCD0imwg/S80FP4zcAD9Yrd4+jhqlPpHPVT2Rz1U9kc9VPUs6Hz9Ivh0/zRAbP03AED9QGfc+BLDYPQSw2D0EsNg98wQ1P/MENT/zBDU/8wQ1P/MENT/zBDU/8wQ1P/MENT+xdEg/Q6BJP0qxSz+oJVM/kTZgPyWQfj8lkH4/JZB+P4OBWD/9P1o/8DNdP0OFZj8WU3I/p6Z/P6emfz+npn8/VN1kPxakZj+Egmk/gXRxPxNWeT9q238/att/P2rbfz9P2G0/DVlvP72scT+bfnc/Hmx8P7Ltfz+y7X8/su1/PyAWdD/oOXU/A+92P3Xoej8S9X0/5fV/P+X1fz/l9X8/+dB5Pw98ej8cdHs/2ZB9P/MOfz90+38/dPt/P3T7fz8Y2Hw/3zR9P/i4fT88z34/FYx/P9b9fz/W/X8/1v1/P1Rnfj+1l34/7dt+PyVpfz8Wx38/8f5/P/H+fz/x/n8/OTJ/P/RKfz+pbX8/3rR/P8Tjfz96/38/ev9/P3r/fz+gmH8/JaV/P6u2fz922n8/7PF/P73/fz+9/38/vf9/P0Lffz8+438/0Oh/Pyj0fz+Q+38/6/9/P+v/fz/r/38/pPV/P+f2fz+r+H8/Qvx/P5n+fz/5/38/+f9/P/n/fz+5/H8/IP1/P679fz/R/n8/j/9/P/7/fz/+/38//v9/P/f+fz8X/38/RP9/P6D/fz/c/38///9/P///fz///38/rP9/P7b/fz/F/38/4v9/P/X/fz8AAIA/AACAPwAAgD8AAIA/jO97PxSgdT8ICmU/9LFTP1h9OT9YfTk/WH05PwAAgD/vJnw/EDd2P6TvZj+d+1c/AeFIPwHhSD8B4Ug/AACAP+O2fD+2uXc/Pn9rP9HlYD8xr1g/Ma9YPzGvWD8AAIA/AG59Pz+aeT8js3A/ZbhpP931ZD/d9WQ/3fVkPwAAgD8EH34/vV97P4pAdT+RxHA/ouZtP6LmbT+i5m0/AACAP0Wxfj/kznw/8Lx4Pw3idT/NHnQ/zR50P80edD8AAIA//Uh/PxJFfj+0I3w/7LJ6PzDVeT8w1Xk/MNV5PwAAgD8RoH8/7xh/P7YBfj9OSH0/Ltp8Py7afD8u2nw/AACAP9DOfz/SiX8/ZPx+P1Offj9eaH4/Xmh+P15ofj8AAIA/EOd/PynEfz/nfH8/Ok5/P70yfz+9Mn8/vTJ/PwAAgD9u838/2+F/Pwy+fz+lpn8/4ph/P+KYfz/imH8/AACAPwL8fz9v9n8/F+t/P7Djfz9X338/V99/P1fffz8AAIA/vP5/P/n8fz9i+X8/Cvd/P6v1fz+r9X8/q/V/PwAAgD+a/38/C/9/P+j9fz8r/X8/u/x/P7v8fz+7/H8/AACAP+D/fz+y/38/Vv9/Pxv/fz/3/n8/9/5/P/f+fz8AAIA/9v9/P+j/fz/K/38/t/9/P6z/fz+s/38/rP9/PwAAAAD0vTU+zEeQPru15D7R8g8/km8wP5JvMD+SbzA/AAAAAF3gMD6lM4w+t/LcPnRuCT+QsR4/kLEeP5CxHj8AAAAAX4gjPi4fgT4excg+CJn0PqBSCD+gUgg/oFIIPwAAAAD4vRA+UX5jPgtarj7p6NA+cQblPnEG5T5xBuU+AAAAAFer9z3kyUE+RcySPqv5rT4eGL0+Hhi9Ph4YvT4AAAAAALrOPWwyIT5yK3I+hoOOPsoomj7KKJo+yiiaPgAAAABt8pg9WrTtPf0pMT76Tk8+v2lfPr9pXz6/aV8+AAAAAOOKXT2e06s90xL/PQ/PFD40FiA+NBYgPjQWID4AAAAAzaoePYPfdT1UHLY9jC7UPTcR5D03EeQ9NxHkPQAAAAAf+eE8pf4uPWR5gT38vpY9q/ahPav2oT2r9qE9AAAAAPFyoDxMcPg8qLY3PfrRVT3nrmU9565lPeeuZT0AAAAA/9E0PIT3izxo7M48qMbwPLhMAT24TAE9uEwBPQAAAABVfss7SYMdPBvVaDx/c4c8dHiRPHR4kTx0eJE8AAAAAGHyZDszLrE7XvQCPIdcGDwzoSM8M6EjPDOhIzwAAAAAgr8AOyJcRzsPTJM7llmrO+ALuDvgC7g74Au4OwAAAADh4pA6FgDgOvayJTuWqkA72utOO9rrTjva6047u/hlPY+bVz0Tt0E97ZwKPczJqTw02Tg7NNk4OzTZODv8zv89kF/wPdCn2D33DZw9MP4/PUWS0TtFktE7RZLRO4ldSD4lCj0+mmErPr37+T2bG5s9iDMqPIgzKjyIMyo8sV+aPo74kj5fDYc+ajhLPs0ZAT4E2o88BNqPPATajzwO0dA+XTXJPjhyvD5xC5U+FRhGPtdM5DzXTOQ810zkPCKbCD9LzQU/jNwAP1it3j6OGqU+kc9VPZHPVT2Rz1U9SzofP0i+HT/NEBs/TcAQP1AZ9z4EsNg9BLDYPQSw2D3zBDU/8wQ1P/MENT/zBDU/8wQ1P/MENT/zBDU/8wQ1P7F0SD9DoEk/SrFLP6glUz+RNmA/JZB+PyWQfj8lkH4/g4FYP/0/Wj/wM10/Q4VmPxZTcj+npn8/p6Z/P6emfz+5vWk/SWdrP4gHbj/A6XQ/BCp7P4zmfz+M5n8/jOZ/PyAWdD/oOXU/A+92P3Xoej8S9X0/5fV/P+X1fz/l9X8/Lw17P5KZez+fY3w/8xV+P8ZDfz93/H8/d/x/P3f8fz/B/n0/CDt+P0GQfj93QX8/97d/P6n+fz+p/n8/qf5/P6CYfz8lpX8/q7Z/P3bafz/s8X8/vf9/P73/fz+9/38/AACAP4zvez8UoHU/CAplP/SxUz9YfTk/WH05P1h9OT8AAIA/7yZ8PxA3dj+k72Y/nftXPwHhSD8B4Ug/AeFIPwAAgD/jtnw/trl3Pz5/az/R5WA/Ma9YPzGvWD8xr1g/AACAP1bJfT+IhXo/ZxlzP8d+bT9Z0Gk/WdBpP1nQaT8AAIA/RbF+P+TOfD/wvHg/DeJ1P80edD/NHnQ/zR50PwAAgD/ua38/VJp+P0rlfD/5v3s/hBB7P4QQez+EEHs/AACAP3HCfz8BbH8/cbp+P1NFfj8QAH4/EAB+PxAAfj8AAIA/bvN/P9vhfz8Mvn8/paZ/P+KYfz/imH8/4ph/PwAAAAD0vTU+zEeQPru15D7R8g8/km8wP5JvMD+SbzA/AAAAAF3gMD6lM4w+t/LcPnRuCT+QsR4/kLEeP5CxHj8AAAAAX4gjPi4fgT4excg+CJn0PqBSCD+gUgg/oFIIPwAAAABKXgY+07VSPt97oD6JH78+lH3QPpR90D6UfdA+AAAAAAC6zj1sMiE+cityPoaDjj7KKJo+yiiaPsoomj4AAAAAkpeJPbis1T1w/B4+C9E5PrwaSD68Gkg+vBpIPgAAAABofTE9po6JPbvhyz3aou090Hv/PdB7/z3Qe/89AAAAAPFyoDxMcPg8qLY3PfrRVT3nrmU9565lPeeuZT0AAIA/8wQ1PwAAAADzBDW/AACAv/MENb8AAACA8wQ1PwAAgD8AAAAA8wQ1PwAAgD/zBDU/AAAAAPMENb8AAIC/8wQ1vwAAAIA4lQAAyJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9GcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAPCWAAAOAAAADwAAABAAAAARAAAABAAAAAEAAAABAAAAAQAAAAAAAAAYlwAADgAAABIAAAAQAAAAEQAAAAQAAAACAAAAAgAAAAIAAAAAAAAAKJcAABMAAAAUAAAAAgAAAAAAAAA4lwAAEwAAABUAAAACAAAAAAAAAGiXAAAOAAAAFgAAABAAAAARAAAABQAAAAAAAABYlwAADgAAABcAAAAQAAAAEQAAAAYAAAAAAAAA6JcAAA4AAAAYAAAAEAAAABEAAAAEAAAAAwAAAAMAAAADAAAAAwAEAAIABQAQAB8ALwA/AF8AfwCfAL8A3wD/AD8BfwH/Af8C/wP/BwAABAAIAAwAEAAUABgAIAAoADAAQABcAIAAAAAEAAgADAAQABQAGAAgACgAMABAAFwAgAAAAAQACAAMABAAFAAcACQALAA4AEQAUABgAHAAgAAAAAQACAAMABAAFAAYABwAJAAsADQAQABMAFwAbACAAAAABAAIAAwAEAAUABgAHAAgACgAMAA8AEgAWABsAIAAAAAEAAgADAAQABQAGAAcACQALAA0ADwASABYAGwAgAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEQATABUAFwAZABwAHwAiACUAKQAuADQAOwADAEsAUwBbAGMAawBzAEAAgAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAKAAsADAANQA7AAEASABQAFgAYABoAHAAeABAAIAAAQACAAMABAAFAAYABwAIAAkACgALAA0ADwARABQAFwAaAB4AIwApADAAOAAAAEgAUABYAGAAaABwAHgAQACAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAQABIAFAAWABgAGwAeACEAJAAnACsALwA1ADwABABMAFQAXABkAGwAeABAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEgAUABYAGAAaABwAHwAiACUAKQAtADIAOAAAAEgAUABYAGAAaABwAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADQAPABEAFAAXABoAHgAjACkAMAA4AAAASABQAFgAYABoAHAAeABAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAQABIAFAAWABgAGwAeACEAJAAnACsALwA1ADwABQBQAGAAcABAAJAAoACwAIAA0ADgAPAAwAEAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAQABIAFAAWABkAHAAfACMAJwArADAANgA8AAMATABWAGAAagB0AH4ASACSAJwApgCwALoAhADOANgA4gDsAPYAwAEAAAEAAgADAAQABQAGAAcACAAJAAoADAAOABAAEgAUABYAGAAbAB4AIQAkACgALAAxADYAPAACAEkAUABYAGAAaABwAHgAQACIAJAAmACgAKgAsAC4AIAAyADQANgA4ADoAMABAAABAAIAAwAEAAUABgAHAAgACQAKAAwADgAQABIAFAAWABgAGwAeACEAJAAoACwAMQA2ADwAAgBJAFAAWABgAGgAcAB4AEAAiACQAJgAoACoALAAuACAAMgA0ADYAOAA6ADwAPgAwAEAAAEAAgADAAQABQAGAAcACAAJAAoACwANAA8AEQATABUAFwAZABsAHQAfACIAJQAoACsALwAzADcAPAABAEcATQBUAFsAYwBsAHUAfwBKAJYAowCwAIAA0ADgAPAAwAEAAAIABAAGAAgACgAMAA4AEAASABQAFgAZABwAHwAiACUAKAArAC4AMQA1ADkAPQABAEYASwBQAFYAXABjAGoAcgB7AEUAjwCaAKYAswCBANAA4ADwAMABAAADAAYACQAMAA8AEgAVABgAGwAeACEAJAAnACsALwAzADcAOwA/AAMASABNAFIAVwBdAGMAaQBwAHcAfwBIAJEAmwCmALIAvwCNANwA7ADAAQAAAEAAgADAAQABQAGAAYABwACEAEQABAKAAoABAAFAAYABwAIAAkACgALAAwACQAOAAsADAANAA4ADwAQAA0AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAARAAEAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwBKZXNzaWNhACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASmVzc2lidWNhAGNsb3NlAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAOElPQnVmZmVyADVTbGljZQBwbGF5QXVkaW8AISElcwoAYWFjIHNhbXBsZXJhdGU6JWQgY2hhbm5lbHM6JWQAaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgbm90IHN1cHBvcnQ6ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADdKZXNzaWNhAFA3SmVzc2ljYQBQSzdKZXNzaWNhAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAA5SmVzc2lidWNhAE4xMGVtc2NyaXB0ZW43d3JhcHBlckk3SmVzc2ljYUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQOUplc3NpYnVjYQBQSzlKZXNzaWJ1Y2EAaWlpaQBhYWMgaW5pdCEgJWQAYXVkaW8gaW5pdCEgJWQARXJyb3IgaW4gQ3JlYXRlICU4eAoACkVycm9yIGluIHNldHRpbmcgbnVtYmVyIG9mIGNvcmVzAApFcnJvciBpbiBzZXR0aW5nIFByb2Nlc3NvciB0eXBlAGxpYmhldmMgaW5pdAA3TGliaGV2YwAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBFcnJvciBpbiBDb2RlYyBkZWxldGUACkVycm9yIGluIHNldHRpbmcgdGhlIGNvZGVjIGluIGhlYWRlciBkZWNvZGUgbW9kZQAKRXJyb3IgaW4gaGVhZGVyIHZwcyBkZWNvZGUgJXgACkVycm9yIGluIGhlYWRlciBzcHMgZGVjb2RlICV4AApFcnJvciBpbiBoZWFkZXIgcHBzIGRlY29kZSAleAAKRXJyb3IgaW4gc2V0dGluZyB0aGUgY29kZWMgaW4gZnJhbWUgZGVjb2RlIG1vZGUAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAaCgEGBwL/BAUB/yhwc19idWZfbWdyLT5hdTRfc3RhdHVzW2lkXSAhPSAyKQBjb21tb25caWhldmNfYnVmX21nci5jAGloZXZjX2J1Zl9tZ3JfZ2V0X25leHRfZnJlZQBpaGV2Y19idWZfbWdyX2NoZWNrX2ZyZWUAKHBzX2J1Zl9tZ3ItPmF1NF9zdGF0dXNbYnVmX2lkXSAhPSAyKQBpaGV2Y19idWZfbWdyX3JlbGVhc2UAaWhldmNfYnVmX21ncl9zZXRfc3RhdHVzACgoYnMgPiAwKSAmJiAoYnMgPD0gMykpAGNvbW1vblxpaGV2Y19kZWJsa19lZGdlX2ZpbHRlci5jAGloZXZjX2RlYmxrX2x1bWFfdmVydAAoZmlsdGVyX2ZsYWdfcCB8fCBmaWx0ZXJfZmxhZ19xKQAoKGJzID4gMCkpAGloZXZjX2RlYmxrX2x1bWFfaG9yegBpaGV2Y19kZWJsa19jaHJvbWFfdmVydABpaGV2Y19kZWJsa19jaHJvbWFfaG9yegAoKG5icl9mbGFncyA9PSAweDExMTg4KSB8fCAobmJyX2ZsYWdzID09IDB4MTMzQ0MpIHx8IChuYnJfZmxhZ3MgPT0gMHgxRkZGRikpAGNvbW1vblxpaGV2Y19pbnRyYV9wcmVkX2ZpbHRlcnMuYwBpaGV2Y19pbnRyYV9wcmVkX2x1bWFfcmVmX3N1YnN0X2FsbF9hdmxibGUAKChudCA9PSA4KSB8fCAobnQgPT0gMTYpIHx8IChudCA9PSAzMikpAEAoIylJZDolc18lcyBWZXI6JXMgUmVsZWFzZWQgYnkgJXMgQnVpbGQ6ICVzIEAgJXMASEVWQ0RFQwBwcm9kdWN0aW9uADA1LjAwAElUVElBTQBKdWwgMzAgMjAxOQAwOTo0NDowMQAocHNfY29kZWMtPnNfcGFyc2UuaTRfZW5kX29mX2ZyYW1lICE9IDApAGRlY29kZXJcaWhldmNkX2RlY29kZS5jAGloZXZjZF9kZWNvZGUAbm9wACgxID09ICgodTRfYnMgJiAzKSA+PiAxKSkAZGVjb2RlclxpaGV2Y2RfZGVibGsuYwBpaGV2Y2RfZGVibGtfY3RiAChQU0xJQ0UgPT0gcHNfc2xpY2VfaGRyLT5pMV9zbGljZV90eXBlIHx8IEJTTElDRSA9PSBwc19zbGljZV9oZHItPmkxX3NsaWNlX3R5cGUpAGRlY29kZXJcaWhldmNkX2ludGVyX3ByZWQuYwBpaGV2Y2RfaW50ZXJfcHJlZF9jdGIAZGVjb2RlclxpaGV2Y2RfY2FiYWMuYwBpaGV2Y2RfY2FiYWNfZGVjb2RlX3Rlcm1pbmF0ZQAobnVtYml0cyA+PSAtMzIpAGRlY29kZXJcaWhldmNkX2JpdHN0cmVhbS5jAGloZXZjZF9iaXRzX3NlZWsAKG51bWJpdHMgPD0gMzIpACgwID09ICh4MCAlIDgpKQBkZWNvZGVyXGloZXZjZF9wYXJzZV9zbGljZS5jAGloZXZjZF9wYXJzZV9jb2RpbmdfdW5pdAAoMCA9PSAoeTAgJSA4KSkAKHU0X3JhbmdlID49IDI1NikAZGVjb2RlclxpaGV2Y2RfcGFyc2VfcmVzaWR1YWwuYwBpaGV2Y2RfcGFyc2VfcmVzaWR1YWxfY29kaW5nACgoY3R4dF9pZHggPj0gMCkgJiYgKGN0eHRfaWR4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKG51bV9jb2VmZiA+IDApAChudW1fY29lZmYgPCAxNykAKChudW1fY29lZmYgLSAxKSA+IDApACgobnVtX2NvZWZmIC0gMSkgPCAxNykAKHJpY2VfcGFyYW0gPiAwKQAocmljZV9wYXJhbSA8IDE3KQAodTRfbnVtYmlucyA8IDE3KQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zAChudW1iaW5zID4gMCkAKG51bWJpbnMgPCAxNykAKChrID49IDApKQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zX2VnawAobnVtb25lcyA+IDApAChudW1vbmVzIDwgMTcpAChjX21heCA+IDApAGloZXZjZF9jYWJhY19kZWNvZGVfYmluc190dW5hcnkAKChjdHh0X2luZGV4ID49IDApICYmIChjdHh0X2luZGV4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKChjdHh0X2luZGV4ICsgKGNfbWF4ID4+IGN0eHRfc2hpZnQpKSA8IElIRVZDX0NBQl9DVFhUX0VORCkAKChiaW5faW5kZXggPj0gMCkgJiYgKGJpbl9pbmRleCA8IElIRVZDX0NBQl9DVFhUX0VORCkpAChzdGF0ZV9tcHMgPCAxMjgpAGloZXZjZF9jYWJhY19kZWNvZGVfYnlwYXNzX2JpbnNfdHVuYXJ5AGloZXZjZF9jYWJhY19kZWNvZGVfYnlwYXNzX2JpbgBpaGV2Y2RfY2FiYWNfZGVjb2RlX2JpbgAocHNfY2FiYWMgIT0gKCh2b2lkKikwKSkAaWhldmNkX2NhYmFjX2luaXQAKHBzX2JpdHN0cm0gIT0gKCh2b2lkKikwKSkAKChxcCA+PSAwKSAmJiAocXAgPCA1MikpACgoY2FiYWNfaW5pdF9pZGMgPj0gMCkgJiYgKGNhYmFjX2luaXRfaWRjIDwgMykpAGloZXZjZF9jYWJhY19yZXNldAAoY250IDwgOCkAZGVjb2RlclxpaGV2Y2RfcGFyc2VfaGVhZGVycy5jAGloZXZjZF9yZWFkX3Jic3BfdHJhaWxpbmdfYml0cwAocHNfY29kZWMtPnNfcGFyc2UuaTRfY3VyX3NsaWNlX2lkeCA9PSAxKQBkZWNvZGVyXGloZXZjZF9wYXJzZV9zbGljZV9oZWFkZXIuYwBpaGV2Y2RfcGFyc2Vfc2xpY2VfaGVhZGVyAChpc191X2ZpcnN0ID09IDEpAGRlY29kZXJcaWhldmNkX2ZtdF9jb252LmMAaWhldmNkX2ZtdF9jb252AGcgYSAgIG8gciBlIG4gICB0IGggZyBpIHIgeSBwIG8gY05vIGVycm9yAEdhaW4gY29udHJvbCBub3QgeWV0IGltcGxlbWVudGVkAFB1bHNlIGNvZGluZyBub3QgYWxsb3dlZCBpbiBzaG9ydCBibG9ja3MASW52YWxpZCBodWZmbWFuIGNvZGVib29rAFNjYWxlZmFjdG9yIG91dCBvZiByYW5nZQBVbmFibGUgdG8gZmluZCBBRFRTIHN5bmN3b3JkAENoYW5uZWwgY291cGxpbmcgbm90IHlldCBpbXBsZW1lbnRlZABDaGFubmVsIGNvbmZpZ3VyYXRpb24gbm90IGFsbG93ZWQgaW4gZXJyb3IgcmVzaWxpZW50IGZyYW1lAEJpdCBlcnJvciBpbiBlcnJvciByZXNpbGllbnQgc2NhbGVmYWN0b3IgZGVjb2RpbmcARXJyb3IgZGVjb2RpbmcgaHVmZm1hbiBzY2FsZWZhY3RvciAoYml0c3RyZWFtIGVycm9yKQBFcnJvciBkZWNvZGluZyBodWZmbWFuIGNvZGV3b3JkIChiaXRzdHJlYW0gZXJyb3IpAE5vbiBleGlzdGVudCBodWZmbWFuIGNvZGVib29rIG51bWJlciBmb3VuZABJbnZhbGlkIG51bWJlciBvZiBjaGFubmVscwBNYXhpbXVtIG51bWJlciBvZiBiaXRzdHJlYW0gZWxlbWVudHMgZXhjZWVkZWQASW5wdXQgZGF0YSBidWZmZXIgdG9vIHNtYWxsAEFycmF5IGluZGV4IG91dCBv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BgAA/wEG/wAA/wYB/wAABgEA/wAG//8AAAYAAP//BgEAAQAGAQAAAQYA/wABBv8AAQAGAAEAAQYA//8ABv8AAAEGAP8A/wb/AP8ABgEBAAAGAAEBAAYAAAEBBgEAAP8HAAH/AQcBAP8BB/8B/wAHAP8B/wcB/wEABwEBAP8HAQABAQf/AQEABwD//wEHAQEBAAf/AAH/B////wAH/wD/AQf/AP8BBwH//wAHAf//AAcBAf8ABwEB/wAIAf8AAQj/AQD/CP//AQAI/wABAQj//wABCP//AP8IAP///wgBAAH/CAEA//8IAAH//wgAAQEBCP8BAAEI/wD//wgAAQH/CAH/AP8IAP8BAQgBAQABCAH/Af8I/wH/AQj/Af8BCQH//wEJ/////wn/AQH/Cf8BAQEJAQEBAQn//wH/CQH/AQEJ/wH//wn//wEBCQEB//8JAf///wn///8BCQEB/wEJAQEB/wQBAQEBBAABAQEEAQEAAQQBAQEABAEAAQEEAQAAAAQBAQAABAAAAAAEAAABAQQBAAEABQEAAAEFAAEBAAUAAAABBQABAAEFAAABAAUAAQAABwIBAQEHAQECAQcBAgEBBwEBAQIHAgEBAAcCAQABBwECAQAHAgABAQcAAQIBBwABAgEIAAEBAggBAQIACAACAQEIAQABAggBAgABCAEBAAIIAQACAQgCAQAACAIAAQAIAQIAAAgCAAABCAABAAIIAAIBAAgAAAECCAABAgAIAAECAAgAAgABCAACAAEIAQAAAggBAAACCAAAAgEIAAACAQgBAAIACAEAAgAIAgAAAAgCAAAACAAAAAIIAAAAAgkAAgAACQAAAgAJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIKAQICAAoBAgIACgECAgAKAQICAAoCAgEACgICAQAKAgIBAAoCAgEACgIBAgAKAgECAAoCAQIACgIBAgAKAAICAQoAAgIBCgACAgEKAAICAQoAAQICCgABAgIKAAECAgoAAQICCgICAAEKAgIAAQoCAgABCgICAAEKAAIBAgoAAgECCgACAQIKAAIBAgoCAAIBCgIAAgEKAgACAQoCAAIBCgEAAgIKAQACAgoBAAICCgEAAgIKAgICAQoCAgIBCgICAgEKAgICAQoBAgACCgECAAIKAQIAAgoBAgACCgIAAQIKAgABAgoCAAECCgIAAQIKAgEAAgoCAQACCgIBAAIKAgEAAgoBAgICCgECAgIKAQICAgoBAgICCwIBAgILAgECAgsCAgECCwICAQILAAICAAsAAgIACwICAAALAgIAAAsAAAICCwAAAgILAgACAAsCAAIACwACAAILAAIAAgsCAAACCwIAAAILAgICAgsCAgICCwACAgILAAICAgsCAgIACwICAgAMAgIAAgwCAAICBAAABAEABAD/BAABBP8ABAEBBP8BBAH/BP//BgL/BgIBBv4BBv7/Bv4ABv8CBgIABgH+BgECBgD+Bv/+BgACBgL+Bv4CBv7+BgICB/0BBwMBBwP/B/8DB/3/BwEDBwH9B//9BwMAB/0ABwD9BwADBwMCBwMCCP3+CP4DCAIDCAP+CAL9CP79CP0CCP0CCAMDCAMDCQP9Cf39Cf0DCQH8Cf/8CQQBCfwBCfz/CQEECQT/Cf8ECQD8CfwCCfwCCfwCCfwCCfz+Cfz+Cfz+Cfz+CQIECQIECQIECQIECf78Cf78Cf78Cf78CfwACfwACfwACfwACQQCCQQCCQQCCQQCCQT+CQT+CQT+CQT+Cf4ECf4ECf4ECf4ECQQACQQACQQACQQACQL8CQL8CQL8CQL8CQAECQAECQAECQAECv38Cv38Cv0ECv0ECgP8CgP8CgT9CgT9CgMECgMECgQDCgQDCvwDCvwDCvz9Cvz9CwQEC/wEC/z8CwT8AwEBBAIBBAEABAECBAABBAICBQAABQIABQACBQMBBQEDBQMCBQIDBgMDBgQBBgEEBgQCBgIEBgMABgADBgQDBgMEBgUCBwUBBwIFBwEFBwUDBwMFBwQEBwUEBwAEBwQFBwQABwIGBwYCBwYBBwYBBwEGBwEGCAMGCAYDCAUFCAUACAYECAAFCAQGCAcBCAcCCAIHCAYFCAcDCAEHCAEHCAEHCAEHCAUGCAUGCAUGCAUGCAMHCAMHCAMHCAMHCQYGCQYGCQcECQcECQYACQYACQQHCQQHCQAGCQAGCQcFCQcFCQcGCQcGCQYHCQYHCgUHCgcACgAHCgcHBAEBBAECBAIBBQICBQEABQABBQEDBQMCBQMBBQIDBQMDBgIABgACBgIEBgQCBgEEBgQBBgAABgQDBgMEBgMABgADBgQEBgIFBgUCBwEFBwUBBwUDBwMFBwUEBwQFBwYCBwIGBwYDBwQABwYBBwAEBwEGBwMGBwUFBwYEBwQGBwQGCAYFCAcCCAMHCAIHCAUGCAgCCAcDCAUACAcBCAAFCAgBCAEHCAgDCAcECAQHCAIICAYGCAcFCAEICAMICAgECAQICAUHCAUHCAgFCAgFCAUICAUICQcGCQYHCQkCCQYACQYICQkDCQMJCQkBCQIJCQAGCQgGCQkECQQJCQoCCQEJCQcHCQgHCQkFCQcICQoDCQUJCQoECQIKCQoBCQMKCQkGCQYJCQYJCQgACQgACQQKCQQKCQcACQcACQsCCQsCCgcJCgsDCgoGCgEKCgsBCgkHCgAHCggICgoFCgMLCgUKCggJCgsFCgAICgsECgILCgcKCgYKCgoHCgQLCgELCgwCCgkICgwDCgsGCgULCgwECgsHCgwFCgMMCgYLCgkACgoICgoACgwBCgAJCgQMCgkJCgwGCgwGCgwGCgwGCgIMCgIMCgIMCgIMCggKCggKCggKCggKCwkKCwkKCwEMCwEMCwsICwsICwwHCwwHCwcLCwcLCwUMCwUMCwYMCwYMCwoJCwoJCwgLCwgLCwwICwwICwAKCwAKCwcMCwcMCwsACwsACwoKCwoKCwsJCwsJCwsKCwsKCwALCwALCwsLCwsLCwkLCwkLCwoLCwoLCwwACwwACwgMCwgMDAwJDAoMDAkMDAsMDAwLDAAMDAwKDAwMBAAABAEBBRAQBQEABQABBQIBBQECBQICBgEDBgMBBgMCBgIABgIDBgACBgMDBgMDBwQBBwEEBwQCBwIEBwQDBwMEBwMABwADBwUBBwUCBwIFBwQEBwEFBwUDBwMFBwMFBwUEBwUECAQFCAYCCAIGCAYBCAYDCAMGCAEGCAQQCAMQCBAFCBADCBAECAYECBAGCAQACAQGCAAECAIQCAUFCAUQCBAHCBACCBAICAIHCAcCCAMHCAYFCAUGCAYQCBAKCAcDCAcBCBAJCAcQCAEQCAEHCAQHCBALCAcECBAMCAgQCBABCAYGCAkQCAIICAUHCAoQCBANCAgDCAgCCAMICAUACBAOCBAOCAsQCAsQCAcFCAcFCAQICAQICAYHCAYHCAcGCAcGCAAFCAAFCQgECRAPCQwQCQEICQgBCQ4QCQUICQ0QCQMJCQgFCQcHCQIJCQgGCQkCCQkDCQ8QCQQJCQYICQYACQkECQUJCQgHCQcICQEJCQoDCQAGCQoCCQkBCQkFCQQKCQIKCQkGCQMKCQYJCQoECQgICQoFCQkHCQsDCQEKCQcACQoGCQcJCQMLCQUKCQoBCQQLCQsCCQ0CCQYKCQ0DCQ0DCQILCQILCRAACRAACQULCQULCQsFCQsFCgsECgkICgcKCggJCgAQCgQNCgAHCgMNCgsGCg0BCg0ECgwDCgINCg0FCggKCgYLCgoICgoHCg4CCgwECgELCgQMCgsBCgMMCgENCgwCCgcLCgMOCgUMCgUNCg4ECgQOCgsHCg4DCgwFCg0GCgwGCggACgsICgIMCgkJCg4FCgYNCgoKCg8CCggLCgkKCg4GCgoJCgUOCgsJCg4BCgIOCgYMCgEMCg0ICgAICg0HCgcMCgwHCgcNCg8DCgwBCgYOCgIPCg8FCg8ECgEOCgkLCgQPCg4HCggNCg0JCggMCgUPCgMPCgoLCgsKCgwICg8GCg8HCggOCg8BCgcOCgkACgAJCgkNCgkNCgkNCgkNCgkMCgkMCgkMCgkMCgwJCgwJCgwJCgwJCg4ICg4ICg4ICg4ICgoNCgoNCgoNCgoNCg4JCg4JCg4JCg4JCgwKCgwKCgwKCgwKCgYPCgYPCgYPCgYPCgcPCgcPCgcPCgcPCwkOCwkOCw8ICw8ICwsLCwsLCwsOCwsOCwEPCwEPCwoMCwoMCwoOCwoOCw0LCw0LCw0KCw0KCwsNCwsNCwsMCwsMCwgPCwgPCw4LCw4LCw0MCw0MCwwNCwwNCw8JCw8JCw4KCw4KCwoACwoACwwLCwwLCwkPCwkPCwAKCwAKCwwMCwwMCwsACwsACwwOCwwOCwoPCwoPCw0NCw0NCwANCwANCw4MCw4MCw8KCw8KCw8LCw8LCwsPCwsPCw4NCw4NCw0ACw0ACwALCwALCw0OCw0OCw8MCw8MCw8NCw8NCwwPCwwPCw4ACw4ACw4OCw4OCw0PCw0PCwwACwwACw4PCw4PDAAODAAMDA8ODA8ADAAPDA8PAAECAQAAAAECAAIDAAMEAAQFAAUGAAYHAAcIAf8AAQEAAQABAQD/AAQFAAUGAAYHAAcIAQH/Af8BAf//AQEBAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAf4AAQACAQIAAQD+AAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf7/AQIBAf/+AQECAf4BAQL/Af8CAQH+Af0AAQMAAQD9AQADAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf3/AQEDAQMBAf/9Af0BAQP/AQH9Af8DAf4CAQICAf7+AQL+AAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf3+AQP+Af4DAQL9AQMCAQIDAf0CAf79AQD8AfwAAQQBAQQAAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAfz/AQAEAQT/Af/8AQEEAf8EAfwBAQH8AQP9Af39Af0DAf4EAfz+AQQCAQL8AQIEAQMDAfwCAAYHAAcIAAgJAAkKAAoLAAsMAf78AQT+AQP8Afz9AfwDAQMEAf0EAQQDAQT9Af38AAIDAAMEAQT8AfwEAQQEAfz8AAECAQAAAAECAAIDAAMEAQEAAQABAAIDAAMEAQEBAAMEAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAQIBAQECAQIAAQACAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAQMBAQEDAQICAQMAAQADAAsMAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWAQIDAQMCAQEEAQQBAQEFAQUBAQMDAQIEAQAEAQQAAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAQQCAQIFAQUCAQAFAQYBAQUAAQEGAQQDAQMFAQMEAQUDAQIGAQYCAQEHAAoLAAsMAAwNAA0OAA4PAA8QABARABESABITABMUAQMGAQAGAQYAAQQEAQcBAQQFAQcCAQUEAQYDAQIHAQcDAQYEAQUFAQQGAQMHAAUGAAYHAAcIAAgJAAkKAQcAAQAHAQYFAQUGAQcEAQQHAQUHAQcFAAIDAAMEAQcGAQYGAQYHAQcHAAECAQAAAAECAAIDAAMEAQEAAQABAAIDAAMEAQEBAAMEAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAQIBAQECAQIAAQACAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAQMBAQICAQEDAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYABgZABkaAQMAAQADAQIDAQMCAQEEAQQBAQIEAQEFABITABMUABQVABUWABYXABcYABgZABkaABobABscABwdAB0eAB4fAB8gACAhACEiACIjACMkAQQCAQMDAQAEAQQAAQUBAQIFAQEGAQMEAQUCAQYBAQQDABkaABobABscABwdAB0eAB4fAB8gACAhACEiACIjACMkACQlACUmACYnACcoACgpACkqACorACssACwtAC0uAC4vAC8wADAxADEyAQAFAQIGAQUAAQEHAQMFAQEIAQgBAQQEAQUDAQYCAQcBAQAGAQgCAQIIAQMGAQIHAQQFAQkBAQEJAQcCAB4fAB8gACAhACEiACIjACMkACQlACUmACYnACcoACgpACkqACorACssACwtAC0uAC4vAC8wADAxADEyADIzADM0ADQ1ADU2ADY3ADc4ADg5ADk6ADo7ADs8AQYAAQUEAQYDAQgDAQAHAQkCAQMIAQQGAQMHAQAIAQoBAQYEAQIJAQUFAQgAAQcAAQcDAQoCAQkDAQgEAQEKAQcEAQYFAQUGAQQIAQQHAQMJAQsBAQUIAQkAAQgFAB0eAB4fAB8gACAhACEiACIjACMkACQlACUmACYnACcoACgpACkqACorACssACwtAC0uAC4vAC8wADAxADEyADIzADM0ADQ1ADU2ADY3ADc4ADg5ADk6AQoDAQIKAQAJAQsCAQkEAQYGAQwBAQQJAQgGAQELAQkFAQoEAQUHAQcFAQILAQEMAQwCAQsDAQMKAQUJAQYHAQgHAQsEAQAKAQcGAQwDAQoAAQoFAQQKAQYIAQIMAQkGAQkHAQQLAQsAAQYJAQMLAQUKABQVABUWABYXABcYABgZABkaABobABscABwdAB0eAB4fAB8gACAhACEiACIjACMkACQlACUmACYnACcoAQgIAQcIAQwFAQMMAQsFAQcHAQwEAQsGAQoGAQQMAQcJAQULAQALAQwGAQYKAQwAAQoHAQUMAQcKAQkIAQAMAQsHAQgJAQkJAQoIAQcLAQwHAQYLAQgLAQsIAQcMAQYMAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAQgKAQoJAQgMAQkKAQkLAQkMAQoLAQwJAQoKAQsJAQwIAQsKAQwKAQwLAAIDAAMEAQoMAQsLAQsMAQwMAAUFAAUABQAFAAYFAAAAAQEAAAEBAQEBAAAAAAEBAQEBAQEBAQEBAQEBAQEhISYoKCgpKSUlJSIfCRwHHwkcByIKGwcoDhoGKg4aBjMOGgYuDh0HLg4dByoOFwgqDhcIKg4XCCcOEwcnDhMHAAAAAAAAAAAAAAAAAAEBAAEAAAEBAAABAAEBAAEAAAEAAQEAAAEBAAEAAAEBAAABAAEBAAABAQABAAABAAEBAAEAAAEBAAABAAEBAAEAAAEAAQEAAAEBAAEAAAEAAQEAAQAAAQEAAAEAAQEAAAEBAAEAAAEBAAABAAEBAAEAAAEAAQEAAAEBAAEAAAEBAAABAAEBAAABAQABAAABAAEBAAEAAAEBAAABAAEBAAABAQABAAABAQAAAQABAQABAAABAAEBAAABAQABAAABAAEBAAEAAAEBAAABAAEBAAEAAAEAAQEAAAEBAAEAAAEBAAABAAEBAAABAQABAAABAAEBAAEAAAEBAAABAAEBAE4gJSA4ID09IDAAbWRjdC5jAGZhYWRfbWRjdF9pbml0AFRBRwACBAQECAICAgIAAAAKFCIKFCIAAAULEQULEQAAAAECBAECAwThAeAC4gPfBOMF3gbkB90I5QncCuYL2wznDegO2g8QEenZEhMUFRYX6tPU1RgZGhvW19jr7O3u7+EBAgPi4AQF498GB+TeCAnd5eYK3AvnDNsN2g7oDxAR6dkSE+rrFBXY7BYX1xgZGtbT1NXtG+7vAeHiAgPgBAUGB9/jCN7kCd3lCgvmDA0O2+cPEBHcEtroExQV6hYXGNnpGRrsGxwd1+seHyDYIdTuIiMkJdXtJifWKCkqKywtLtLwL9PvMDHMzfP0zs8yMzQ1Njc40PI5OtHxO8f7xcb+//z9w8TI+sn5yvjL9/X2AeECAwTg4gXf4wYH3uQICd3lCgvc5gwN2+cOD+gQERIT2ekUFdrrFhfY6hjW7BkaG9cc1e0dHh8g0+8hItTuIyQlJtLwJygpKivQ8iwtLi8wMdHxzPbO9M/zMjM0NTY3ODk6O8fIxcbL98nK+vv4+f7//P3DxM314QHiAuAD4wTfBeQG3gflCN0J5grcC+cM2w3a6OEB4gLgA+ME3wXkBt4H5QjmCd0K5wvcDOgN29oB4QIDBAXi6OYG4+fl5AHhAgPiBAUG5ebk5+PoAeECAwQF4ujm4+cG5eQB4QID6OIEBeTn4wbm5cABvwLBAwQJvgXCBgcItLW2twoRCw4MDbi5ursPELy9w8QSFRMUxcbHyBYXycrLzMABwQK/A74EwgW9BgcIw7wJHgoPxAu7DA0OxcuhohAXERQSE6OkpaYVFqeoqaoYGxkaq6ytrhwdr7Cxsh8uICchJCIjs7S1tiUmt7i5uigrKSrGx8jJLC3KzM3OLzYwMzEyz9DR0jQ109TV1jc6ODnX2NnaOzzb3N093t/AAb8CwQO+BMIFwwa9B7wIxAkKDbsLxQzGtA4RDxC1tre4EhUTFLm6x8gWF8nKy8zAAb8CwQO+BMIFvQYHCMO8CQrEuwsMxboNDsa5DxDHuBETyBLJtxQYFRa2yssXtbQZHhobzM0cHbOxzs8fJyAjISKy0q6oJCWt0NEmqqsoLyksKiuw1NXWLS7ZqazYMDcxNDIzoaKjpDU2paanrzg7OTrT19rbPD3c3d7fwAHBAr8DwgS+BcMGvQfECLwJCgu7xQwNusYOHA8VEBLHEbnIExSoqaqrFhkXGKytrq8aG7CxsrMdJB4hHyC0tba3IiO4ycrLJSkmJ8zNzijP0CotKyzR0tPULi/V1tfYwAHBAr8DvgTCBcMGvQe8CMQJChALDbsMtLUOD7a3uLkRFBITusXGxxUWyMnKF8vMwAG/AsEDvgTCBcMGvQe8CMQJCgu7xboMxg0OEbkPxxDItxIgExkUFrgVqKkXGKqrrK0aHRscrq+wsR4fsrO0tSEoIiUjJLbJyssmJ8zNzs8pLCor0NHS0y0u1NXWL9fYAQLAvwMEwb4FBsK9BwjDvAkKxLsLDMW6DQ7GuQ8Qx7gRErfIExW2FMm1FhoXGMq0sxnLshsiHB3MsR4fsM0gIa2ur84jOSQoJSaorNAnpqspLiorz6ksLaeqhIUvMjAxhoeIiTM2NDWKi4yNNziOj5CROlk7SjxDPUA+P5KTlJVBQpaXmJlER0VGmpucnUhJnp+goUtSTE9NTqKjpKVQUdHS09RTVlRV1dbX2FdY2drb3FppW2JcX11e3d7f4GBh4eLj5GNmZGXl5ufoZ2jp6uvsanFrbmxt7e7v8G9w8fLz9HJ1c3T19vf4dnf5+vv8wAG/AsEDvgTCBb0Gwwe8CMQJCgu7xQwOug25xg8SEBG4x7e2ExbIFMkVyrMXHxgZtbQaG7LLHB3MoaIeo6QgLyEoIiUjJKWmp6gmJ6mqq6wpLCorra6vsC0usc3OzzA3MTQyM9DR0tM1NtTV1tc4Ozk62Nna2zw93N3e3wECwL8DBMG+BQa9wgcIvMMJCrvECw26DMW5DhDGD7jHERO3Esi2FBcVFsm1yssYGxkatMyzzRwfHR7OsrHPICQhItDRsCOvriUvJiknKK3S06wqLKsr1NUtLqipqqYwQjE4MjUzNKTW19k2N5en2ts5PDo7oqXY3D0/7D6NkkBBlJWbn0NZREtFSEZHoaPe5UlK6u/whExSTU+FToaHUFGIiYqLU1ZUVYyOj5BXWJGTlphaaVtiXF9dXpmanJ1gYZ6g3d9jZmRl4OHi42do5Obn6Gpxa25sbenr7e5vcPHy8/RydXN09fb3+HZ3+fr7/AAAAQICAwMDAwQGBQQNDxQVFyAgIzBARmAAAgQGCAsOEhYaHyUsMwACBAYICw4SFhofJCoxAAIEBggLDhEVGR0iJywAAgQGCAsOERQYHCEmKwACBAYICw4RFBgcICQpAAIEBggKDA4RFBcaHSAAAgQGCAoMDhEUFxodIAABAwUHCQsNDxEUFxodAAECAwQFBgcICQoMDhAAAAAAAAAAAAAAAAAAAAD//v38+/r6+vr6+vr6AP369/Tx7uzq6Obk4uAHBwoLDBAQERggIzAFBQQEBAMCAQAGBgb4+fr7/P3+/wABAgMEBQYH+/z9/v8AAQIDBAUGBwkLDfv9/v8AAQIDBAUGBwkLDRD6/P7/AAECAwQFBgcJCw0Q/P7/AAECAwQFBgcJCw0QFP7/AAECAwQFBgcJCw0QFBgAAQIDBAUGBwkLDRAUGBwhABAIGAQUDBwCEgoaBhYOHgERCRkFFQ0dAxMLGwcXDx8BAP8AAAEA/xUXICsuQFVdgAAAAHdpbmRvd19zZXF1ZW5jZSAhPSBFSUdIVF9TSE9SVF9TRVFVRU5DRQBmaWx0YmFuay5jAGZpbHRlcl9iYW5rX2x0cAAAAQIAAAEAAAAAAAECAAAAAgMAAAADBAAAAAQFAAAABQYAAAAGBwAAAAcIAAABAQAAAAEAAAABAQABAAABAAABAAAEBQAAAAUGAAAABgcAAAAHCAAAAQEBAAABAAABAQAGBwAAAAcIAAAACAkAAAAJCgAAAAoLAAAACwwAAAEAAQEAAQABAAEBAQABAAEAAQEBAQEAAAEBAQEBAAAGBwAAAAcIAAAACAkAAAAJCgAAAAoLAAAACwwAAAEBAQEBAQEAAQEBAQEAAQAJCgAAAAoLAAAACwwAAAAMDQAAAA0OAAAADg8AAAAPEAAAABARAAAAERIAAAECAAAAAQAAAAIBAAABAgECAQAAAQECAQAADQ4AAAAODwAAAA8QAAAAEBEAAAAREgAAABITAAAAExQAAAAUFQAAABUWAAAAFhcAAAAXGAAAABgZAAAAGRoAAAEAAAIBAQABAgEBAQIAAAEAAQECAQIBAQABAAACAAEAAgEAAQABAgABAAIAAAEAAQACAQIAAQABAQIBAQEAAgEBAQEBAgABAQECAQALDAAAAAwNAAAADQ4AAAAODwAAAA8QAAAAEBEAAAAREgAAABITAAAAExQAAAAUFQAAABUWAAABAQIAAQEBAAIAAQEAAgEBAAIAAQECAQEBAQEBAQIBAgEAAQEBAAECAQAAAgIBAAECAgECAgEAAQECAgABAQAAAgECAAABAQACAgEABwgAAAAICQAAAAkKAAAACgsAAAALDAAAAAwNAAAADQ4AAAECAgAAAQECAgEBAQEAAgECAAEBAQEBAgIBAgIBAQEAAgIAAQACAQIABgcAAAAHCAAAAAgJAAAACQoAAAAKCwAAAAsMAAABAQACAgECAgABAQIBAgABAgICAAEAAgICAQICAgEBAgECAQEBAgECAQECAgIAAwQAAAAEBQAAAAUGAAABAAIAAgECAAIAAQECAAIAAwQAAAAEBQAAAAUGAAABAgACAQECAQECAQIBAAIAAwQAAAAEBQAAAAUGAAABAgICAgECAgECAQIBAgIBAgABAgECAAACAAECAAABAgIAAgECAAICCwkHBQMBCx8eHRwbGhkYFxYVFBMSERAJBwUDAQALCRQQDQsODBEOMQAAAAAOERUVGRkdHR0dISEhJSUpAQI8AAECAgMDBDsAAwQEBQUGPQA6AD4AAwQEBQUGOQA/AAQFBQYGBwcIOABAADcAQQAEBQUGBgcHCEIANgBDAAUGBgcHCAgJCQo1AEQANABFADMABQYGBwcICAkJCkYAMgAxAEcABgcHCAgJCQoKCwsMSAAwAEkALwBKAC4ABgcHCAgJCQoKCwsMTABLAE0ATgAtACsABgcHCAgJCQoKCwsMLABPACoAKQBQACgABgcHCAgJCQoKCwsMUQAnAFIAJgBTAAcICAkJCgoLCwwMDQ0OJQAjAFUAIQAkACIAVAAgAAYHBwgICQkKCgsLDFcAWQAeAB8ACAkJCgoLCwwMDQ0ODg8PEFYAHQAaABsAHAAYAFgACQoKCwsMDA0NDg4PDxAQERESGQAWABcADxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eWgAVABMAAwABAAIAAAAXGBgZGRoaGxscHB0dHh4fHyAgISEiIiMjJCQlJSYmJycoKCkpKiorKywsLS0uYgBjAGQAZQBmAHUAYQBbAFwAXQBeAF8AYABoAG8AcABxAHIAcwB0AG4AaQBqAGsAbABtAHYABgAIAAkACgAFAGcAeAB3AAQABwAPABAAEgAUABEACwAMAA4ADQAAAAAkJCUfHwAAAAAAAAAjIyUeHgAAAAApKS8xMTMvLysrKygoKC0xMTEuLioqKigMDAwODg4PDw8PDw8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwUGBwgJCgsNDxETFRgbHiElKUAGBwABAgMJCAoLAwQFBgcICQsOEhcjQHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAC4AdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYARG4AYgBjAGgAYQBzAHQAaQBqAGwAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=158448;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(compositionTime){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray,compositionTime:compositionTime},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_create(){return 11}function _pthread_join(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _sched_yield(){return 0}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall54,"D":___syscall6,"E":__embind_create_inheriting_constructor,"F":__embind_register_bool,"G":__embind_register_class,"H":__embind_register_class_class_function,"I":__embind_register_class_function,"J":__embind_register_class_property,"K":__embind_register_emval,"L":__embind_register_float,"M":__embind_register_integer,"N":__embind_register_memory_view,"O":__embind_register_std_string,"P":__embind_register_std_wstring,"Q":__embind_register_void,"R":__emscripten_traverse_stack,"S":__emval_addMethodCaller,"T":__emval_allocateDestructors,"U":__emval_as,"V":__emval_call,"W":__emval_call_method,"X":__emval_call_void_method,"Y":__emval_decref,"Z":__emval_get_global,"_":__emval_get_method_caller,"$":__emval_get_property,"aa":__emval_incref,"ab":__emval_lookupTypes,"ac":__emval_new,"ad":__emval_new_cstring,"ae":__emval_new_object,"af":__emval_register,"ag":__emval_run_destructors,"ah":__emval_set_property,"ai":__emval_take_value,"aj":__formatString,"ak":__reallyNegative,"al":_abort,"am":_clock,"an":_embind_repr,"ao":_emscripten_get_callstack_js,"ap":_emscripten_get_heap_size,"aq":_emscripten_log,"ar":_emscripten_log_js,"as":_emscripten_memcpy_big,"at":_emscripten_resize_heap,"au":_init,"av":_llvm_exp2_f32,"aw":_llvm_exp2_f64,"ax":_llvm_trap,"ay":_pthread_create,"az":_pthread_join,"aA":_sched_yield,"aB":abortOnCannotGrowMemory,"aC":constNoSmartPtrRawPointerToWireType,"aD":count_emval_handles,"aE":craftEmvalAllocator,"aF":craftInvokerFunction,"aG":createNamedFunction,"aH":downcastPointer,"aI":embind__requireFunction,"aJ":embind_init_charCodes,"aK":emval_get_global,"aL":ensureOverloadTable,"aM":exposePublicSymbol,"aN":extendError,"aO":floatReadValueFromPointer,"aP":flushPendingDeletes,"aQ":flush_NO_FILESYSTEM,"aR":genericPointerToWireType,"aS":getBasestPointer,"aT":getInheritedInstance,"aU":getInheritedInstanceCount,"aV":getLiveInheritedInstances,"aW":getShiftFromSize,"aX":getStringOrSymbol,"aY":getTypeName,"aZ":get_first_emval,"a_":heap32VectorToArray,"a$":init_ClassHandle,"ba":init_RegisteredPointer,"bb":init_embind,"bc":init_emval,"bd":integerReadValueFromPointer,"be":makeClassHandle,"bf":makeLegalFunctionName,"bg":new_,"bh":nonConstNoSmartPtrRawPointerToWireType,"bi":readLatin1String,"bj":registerInheritedInstance,"bk":registerType,"bl":replacePublicSymbol,"bm":requireHandle,"bn":requireRegisteredType,"bo":runDestructor,"bp":runDestructors,"bq":setDelayFunction,"br":shallowCopyInternalPointer,"bs":simpleReadValueFromPointer,"bt":throwBindingError,"bu":throwInstanceAlreadyDeleted,"bv":throwInternalError,"bw":throwUnboundTypeError,"bx":unregisterInheritedInstance,"by":upcastPointer,"bz":validateThis,"bA":whenDependentTypesAreResolved,"bB":tempDoublePtr,"bC":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bB|0,i=env.bC|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.sqrt,s=global.Math.pow,t=global.Math.cos,u=global.Math.sin,v=global.Math.log,w=global.Math.imul,x=global.Math.clz32,y=env.a,z=env.b,A=env.c,B=env.d,C=env.e,D=env.f,E=env.g,F=env.h,G=env.i,H=env.j,I=env.k,J=env.l,K=env.m,L=env.n,M=env.o,N=env.p,O=env.q,P=env.r,Q=env.s,R=env.t,S=env.u,T=env.v,U=env.w,V=env.x,W=env.y,X=env.z,Y=env.A,Z=env.B,_=env.C,$=env.D,aa=env.E,ba=env.F,ca=env.G,da=env.H,ea=env.I,fa=env.J,ga=env.K,ha=env.L,ia=env.M,ja=env.N,ka=env.O,la=env.P,ma=env.Q,na=env.R,oa=env.S,pa=env.T,qa=env.U,ra=env.V,sa=env.W,ta=env.X,ua=env.Y,va=env.Z,wa=env._,xa=env.$,ya=env.aa,za=env.ab,Aa=env.ac,Ba=env.ad,Ca=env.ae,Da=env.af,Ea=env.ag,Fa=env.ah,Ga=env.ai,Ha=env.aj,Ia=env.ak,Ja=env.al,Ka=env.am,La=env.an,Ma=env.ao,Na=env.ap,Oa=env.aq,Pa=env.ar,Qa=env.as,Ra=env.at,Sa=env.au,Ta=env.av,Ua=env.aw,Va=env.ax,Wa=env.ay,Xa=env.az,Ya=env.aA,Za=env.aB,_a=env.aC,$a=env.aD,ab=env.aE,bb=env.aF,cb=env.aG,db=env.aH,eb=env.aI,fb=env.aJ,gb=env.aK,hb=env.aL,ib=env.aM,jb=env.aN,kb=env.aO,lb=env.aP,mb=env.aQ,nb=env.aR,ob=env.aS,pb=env.aT,qb=env.aU,rb=env.aV,sb=env.aW,tb=env.aX,ub=env.aY,vb=env.aZ,wb=env.a_,xb=env.a$,yb=env.ba,zb=env.bb,Ab=env.bc,Bb=env.bd,Cb=env.be,Db=env.bf,Eb=env.bg,Fb=env.bh,Gb=env.bi,Hb=env.bj,Ib=env.bk,Jb=env.bl,Kb=env.bm,Lb=env.bn,Mb=env.bo,Nb=env.bp,Ob=env.bq,Pb=env.br,Qb=env.bs,Rb=env.bt,Sb=env.bu,Tb=env.bv,Ub=env.bw,Vb=env.bx,Wb=env.by,Xb=env.bz,Yb=env.bA,Zb=158464,_b=5401344,$b=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Ph(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=Zb;Zb=Zb+32|0;ja=la;o=f+376|0;ka=f+660|0;ia=c[f+356>>2]|0;q=a[ia+10>>0]|0;if((a[ia+16>>0]|0)!=0?(i|0)==2&(c[f+464>>2]|0)==0:0)p=Hh(ka,o,(j|0)==0?40:41)|0;else p=0;n=(i<<1)+-1|0;ia=(j|0)!=0;if(ia){g=57;l=75;m=i+-2|0}else{l=(i*3|0)+-6+(i+-1>>2)|0;g=l+42|0;l=l+60|0;m=i+1>>2}h=Nh(ka,o,n,g,m,n)|0;g=Nh(ka,o,n,l,m,n)|0;if((h|0)>3)h=(Qh(ka,o,h+-2>>1)|0)+((h&1|2)<<(h>>>1)+-1)|0;if((g|0)>3)g=(Qh(ka,o,g+-2>>1)|0)+((g&1|2)<<(g>>>1)+-1)|0;do if((c[f+468>>2]|0)==1){if((i|0)!=2?!((i|0)==3&(j|0)==0):0){ha=0;break}ha=(k+-6|0)>>>0<9?2:(k+-22|0)>>>0<9&1}else ha=0;while(0);fa=(ha|0)==2;l=fa?h:g;h=fa?g:h;fa=f+404|0;ga=c[fa>>2]|0;a[ga>>0]=0;a[ga+1>>0]=ha<<1|p;c[fa>>2]=ga+2;ea=(i|0)>2;if(ea){g=c[25120+(i+-3+(ha*3|0)<<2)>>2]|0;da=d[g+((l>>2<<i+-2)+(h>>2))>>0]|0}else{da=0;g=0}h=d[(l<<2&12|h&3)+(25056+(ha<<4))>>0]|0;if(ea)ba=c[25168+(i+-3+(ha*3|0)<<2)>>2]|0;else ba=g;g=(i|0)==3;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;b[ja+16>>1]=0;do if(!ia)if(g){g=(ha|0)==0?91:97;X=124;break}else{g=(i|0)>3?103:82;X=124;break}else{g=g?118:(i|0)>3?121:109;X=140}while(0);Y=i+-2|0;Z=(1<<Y)+-1|0;_=ia?2:0;$=f+664|0;aa=h+-1|0;W=1<<h;V=(i|0)==2;N=(j|0)==0?82:109;P=ia^1;Q=f+388|0;R=f+380|0;S=f+392|0;T=f+384|0;U=f+464|0;M=q<<24>>24!=0;L=da;B=1;l=0;h=g;a:while(1){z=(L|0)!=0;if(ea&z)g=d[ba+L>>0]|0;else g=0;A=g&Z;w=g>>>Y;j=ja+(w<<1)|0;q=e[j>>1]|0;v=(e[ja+(w+1<<1)>>1]|0)>>>A<<1&2|q>>>(A+1|0)&1;K=(L|0)>0;if((L|0)<(da|0)&K){g=c[ka>>2]|0;m=c[$>>2]|0;o=((v|0)==0?78:79)+_+(f+668)|0;n=a[o>>0]|0;k=n&255;if(g>>>0<=255){ca=30;break}if(n<<24>>24<=-1){ca=32;break}n=x(g|0)|0;n=d[(g<<n+-1>>>28&3)+(64+(k>>>1<<2))>>0]<<23-n;J=g-n|0;i=m>>>0<J>>>0;g=m-(i?0:J)|0;n=i?J:n;i=k&1^(i^1)&1;a[o>>0]=a[320+(i|k<<1)>>0]|0;if(n>>>0<256){m=x(n|0)|0;p=m+-1|0;k=c[R>>2]|0;m=c[Q>>2]<<k>>>(33-m|0);k=k+p|0;c[R>>2]=k;if(k>>>0<=32){if((k|0)==32)ca=39}else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;m=o|m;ca=39}if((ca|0)==39){ca=0;c[Q>>2]=c[S>>2];J=c[T>>2]|0;c[T>>2]=J+4;J=c[J>>2]|0;c[R>>2]=k+-32;c[S>>2]=Cn(J|0)|0}n=n<<p;g=m|g<<p}c[ka>>2]=n;c[$>>2]=g;g=1<<A;if(!i){b[j>>1]=(g^65535)&q;g=B}else{o=1;ca=43}}else{o=0;g=1<<A;ca=43}if((ca|0)==43){ca=0;b[j>>1]=g|q;m=(L|0)==(da|0);g=m?W:0;n=m&1;m=m?aa:15;b:do if((m|0)>-1){u=z&P?3:0;t=n;while(1){if((m|0)==0&(o|0)!=0){n=t;break b}if(!V)if(!(m|L)){n=0;h=N}else n=u+(d[36480+(ha<<6)+(v<<4)+m>>0]|0)|0;else n=d[36672+(ha<<4)+m>>0]|0;n=h+n|0;k=c[ka>>2]|0;i=c[$>>2]|0;j=f+668+n|0;p=a[j>>0]|0;q=p&255;if(k>>>0<=255){ca=51;break a}if(n>>>0>=154){ca=53;break a}if(p<<24>>24<=-1){ca=55;break a}n=x(k|0)|0;n=d[(k<<n+-1>>>28&3)+(64+(q>>>1<<2))>>0]<<23-n;r=k-n|0;J=i>>>0<r>>>0;s=q&1^(J^1)&1;n=J?r:n;r=i-(J?0:r)|0;a[j>>0]=a[320+(s|q<<1)>>0]|0;if(n>>>0<256){k=x(n|0)|0;j=k+-1|0;i=c[R>>2]|0;k=c[Q>>2]<<i>>>(33-k|0);i=i+j|0;c[R>>2]=i;if(i>>>0<=32){if((i|0)==32)ca=62}else{p=64-i|0;if(p>>>0<32)p=(c[S>>2]|0)>>>p;else p=0;k=p|k;ca=62}if((ca|0)==62){ca=0;c[Q>>2]=c[S>>2];J=c[T>>2]|0;c[T>>2]=J+4;J=c[J>>2]|0;c[R>>2]=i+-32;c[S>>2]=Cn(J|0)|0}k=k|r<<j;n=n<<j}else k=r;c[ka>>2]=n;c[$>>2]=k;o=(s|0)==0?o:0;g=s<<m|g;n=s+t|0;if((m|0)>0){m=m+-1|0;t=n}else break}}while(0);J=(o|0)!=0&1;y=g|J;J=n+J|0;if(!J)g=B;else{l=l+1|0;I=c[fa>>2]|0;b[I+2>>1]=y;b[I>>1]=w<<8|A;w=(z&P?2:0)|(B|0)==0;B=x(y|0)|0;C=31-B|0;B=y<<B;v=(w<<2)+X|0;s=0;t=B;n=0;g=1;u=C;while(1){if((t|0)<0){if((n|0)>=8){H=s;break}m=v+g|0;o=c[ka>>2]|0;p=c[$>>2]|0;i=f+668+m|0;k=a[i>>0]|0;j=k&255;if(o>>>0<=255){ca=70;break a}if(m>>>0>=154){ca=72;break a}if(k<<24>>24<=-1){ca=74;break a}m=x(o|0)|0;m=d[(o<<m+-1>>>28&3)+(64+(j>>>1<<2))>>0]<<23-m;q=o-m|0;H=p>>>0<q>>>0;r=j&1^(H^1)&1;m=H?q:m;q=p-(H?0:q)|0;a[i>>0]=a[320+(r|j<<1)>>0]|0;if(m>>>0<256){o=x(m|0)|0;i=o+-1|0;p=c[R>>2]|0;o=c[Q>>2]<<p>>>(33-o|0);p=p+i|0;c[R>>2]=p;if(p>>>0<=32){if((p|0)==32)ca=81}else{k=64-p|0;if(k>>>0<32)k=(c[S>>2]|0)>>>k;else k=0;o=k|o;ca=81}if((ca|0)==81){ca=0;c[Q>>2]=c[S>>2];H=c[T>>2]|0;c[T>>2]=H+4;H=c[H>>2]|0;c[R>>2]=p+-32;c[S>>2]=Cn(H|0)|0}o=o|q<<i;m=m<<i}else o=q;c[ka>>2]=m;c[$>>2]=o;m=r<<u|s;n=n+1|0;g=(r|0)==0?g+((g|0)!=0&(g|0)<3&1)|0:0}else m=s;H=t<<1;o=x(H|0)|0;t=H<<o;if(!t){H=m;break}else{s=m;u=u+-1-o|0}}G=xn(y|0)|0;G=(y|0)==0?31:G;if((C-G|0)>3)t=(c[U>>2]|0)==0;else t=0;if(!H){F=0;s=-1;m=c[ka>>2]|0;i=c[$>>2]|0}else{s=31-(x(H|0)|0)|0;m=(ia?w|4:w)+148|0;n=c[ka>>2]|0;k=c[$>>2]|0;p=f+668+m|0;o=a[p>>0]|0;i=o&255;if(n>>>0<=255){ca=90;break}if(m>>>0>=154){ca=92;break}if(o<<24>>24<=-1){ca=94;break}q=x(n|0)|0;q=d[(n<<q+-1>>>28&3)+(64+(i>>>1<<2))>>0]<<23-q;j=n-q|0;F=k>>>0<j>>>0;r=i&1^(F^1)&1;q=F?j:q;j=k-(F?0:j)|0;a[p>>0]=a[320+(r|i<<1)>>0]|0;if(q>>>0<256){m=x(q|0)|0;k=m+-1|0;o=c[R>>2]|0;m=c[Q>>2]<<o>>>(33-m|0);o=o+k|0;c[R>>2]=o;if(o>>>0<=32){if((o|0)==32)ca=101}else{n=64-o|0;if(n>>>0<32)n=(c[S>>2]|0)>>>n;else n=0;m=n|m;ca=101}if((ca|0)==101){ca=0;c[Q>>2]=c[S>>2];F=c[T>>2]|0;c[T>>2]=F+4;F=c[F>>2]|0;c[R>>2]=o+-32;c[S>>2]=Cn(F|0)|0}n=m|j<<k;m=q<<k}else{n=j;m=q}c[ka>>2]=m;c[$>>2]=n;F=r<<s;i=n}E=M&t;D=m>>>0>255;if(E){if(!D){ca=121;break}k=J+-1|0;if((J|0)<=1){ca=123;break}if((J|0)>=18){ca=125;break}o=c[Q>>2]|0;p=c[R>>2]|0;r=33-J|0;n=o<<p>>>r;p=p+k|0;c[R>>2]=p;if(p>>>0<=32)if((p|0)==32)ca=131;else{j=p;q=o}else{o=64-p|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=131}if((ca|0)==131){ca=0;q=c[S>>2]|0;c[Q>>2]=q;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=p+-32|0;c[R>>2]=j;c[S>>2]=Cn(A|0)|0}p=i;o=0;do{k=k+-1|0;z=n>>>k&1|p<<1;A=z>>>0<m>>>0;p=z-(A?0:m)|0;o=o<<1|(A^1)&1}while((k|0)!=0);c[$>>2]=p;n=o<<r;o=q}else{if(!D){ca=106;break}if((J|0)<=0){ca=108;break}if((J|0)>=17){ca=110;break}o=c[Q>>2]|0;k=c[R>>2]|0;q=32-J|0;n=o<<k>>>q;k=k+J|0;c[R>>2]=k;if(k>>>0<=32)if((k|0)==32)ca=116;else j=k;else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=116}if((ca|0)==116){ca=0;o=c[S>>2]|0;c[Q>>2]=o;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=k+-32|0;c[R>>2]=j;c[S>>2]=Cn(A|0)|0}k=0;p=J;do{p=p+-1|0;z=n>>>p&1|i<<1;A=z>>>0<m>>>0;i=z-(A?0:m)|0;k=k<<1|(A^1)&1}while((p|0)!=0);c[$>>2]=i;n=k<<q;p=i}z=0;k=0;A=0;r=n;y=C;while(1){if((B|0)<0){w=1<<y;w=((w&H|0)==0?1:2)+((w&F|0)!=0&1)|0;if((w|0)==(((z|0)<8?((y|0)==(s|0)?3:2):1)|0)){q=19-A|0;if(!D){ca=141;break a}i=0;while(1){n=j+1|0;c[R>>2]=n;if((n|0)==32){v=c[S>>2]|0;c[Q>>2]=v;t=c[T>>2]|0;c[T>>2]=t+4;t=c[t>>2]|0;c[R>>2]=0;c[S>>2]=Cn(t|0)|0;t=0}else{v=o;t=n}n=o<<j>>>31|p<<1;C=n>>>0<m>>>0;p=n-(C?0:m)|0;c[$>>2]=p;n=i+1|0;if((n|0)==(q|0)|C)break;else{i=n;o=v;j=t}}do if(i>>>0<3){u=i<<A;if(!A){n=u;j=t;o=v;break}if((A|0)<=0){ca=147;break a}if((A|0)>=17){ca=149;break a}n=v<<t>>>(32-A|0);j=t+A|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=155;else o=v;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=155}if((ca|0)==155){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Cn(C|0)|0}q=A;i=0;do{q=q+-1|0;v=n>>>q&1|p<<1;C=v>>>0<m>>>0;i=i<<1|(C^1)&1;p=v-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i|u}else{u=i+-3|0;q=u+A|0;u=(1<<u)+2<<A;if(!q){n=u;j=t;o=v;break}if(q>>>0>=17){ca=161;break a}n=v<<t>>>(32-q|0);j=t+q|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=167;else o=v;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=167}if((ca|0)==167){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=Cn(C|0)|0}i=0;do{q=q+-1|0;v=n>>>q&1|p<<1;C=v>>>0<m>>>0;i=i<<1|(C^1)&1;p=v-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i+u|0}while(0);t=n+w|0}else t=w;n=(r|0)<0?0-t|0:t;i=t+k|0;if(E){n=(y|0)==(G|0)&((i|0)%2|0|0)==1?0-n|0:n;k=i}b[I+4+(z<<1)>>1]=n;q=z+1|0;r=r<<1;i=A+((A|0)<4&(t|0)>(3<<A|0)&1)|0}else{q=z;i=A}C=B<<1;n=x(C|0)|0;B=C<<n;if(!B)break;else{z=q;A=i;y=y+-1-n|0}}c[fa>>2]=(c[fa>>2]|0)+4+(J<<1)}}if(K){L=L+-1|0;B=g}else{ca=178;break}}switch(ca|0){case 30:{O(141377,141395,520,141427);break}case 32:{O(141993,141395,520,141427);break}case 51:{O(141377,141395,601,141427);break}case 53:{O(141456,141395,601,141427);break}case 55:{O(141993,141395,601,141427);break}case 70:{O(141377,141395,689,141427);break}case 72:{O(141456,141395,689,141427);break}case 74:{O(141993,141395,689,141427);break}case 90:{O(141377,141395,745,141427);break}case 92:{O(141456,141395,745,141427);break}case 94:{O(141993,141395,745,141427);break}case 106:{O(141377,141395,756,141427);break}case 108:{O(141509,141395,756,141427);break}case 110:{O(141525,141395,756,141427);break}case 121:{O(141377,141395,762,141427);break}case 123:{O(141542,141395,762,141427);break}case 125:{O(141564,141395,762,141427);break}case 141:{O(141377,141395,808,141427);break}case 147:{O(141587,141395,827,141427);break}case 149:{O(141604,141395,827,141427);break}case 161:{O(141622,141395,843,141427);break}case 178:{a[ga>>0]=l;Zb=la;return 0}}return 0}function Qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;j=a+4|0;a=c[j>>2]|0;if(k>>>0<=255)O(141377,141161,478,141640);if((d|0)<=0)O(141672,141161,479,141640);if((d|0)>=17)O(141686,141161,482,141640);i=b+12|0;g=b+4|0;h=c[g>>2]|0;f=c[i>>2]<<h>>>(32-d|0);h=h+d|0;c[g>>2]=h;if(h>>>0<=32){if((h|0)==32)e=12}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;f=e|f;e=12}if((e|0)==12){e=b+16|0;c[i>>2]=c[e>>2];i=b+8|0;b=c[i>>2]|0;c[i>>2]=b+4;b=c[b>>2]|0;c[g>>2]=h+-32;c[e>>2]=Cn(b|0)|0}e=0;do{d=d+-1|0;i=f>>>d&1|a<<1;b=i>>>0<k>>>0;a=i-(b?0:k)|0;e=e<<1|(b^1)&1}while((d|0)!=0);c[j>>2]=a;return e|0}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+4|0;e=c[g>>2]|0;d=c[f>>2]<<e>>>(32-b|0);e=e+b|0;c[g>>2]=e;if(e>>>0<=32){if((e|0)!=32){g=d;return g|0}}else{b=64-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;d=b|d}b=a+16|0;c[f>>2]=c[b>>2];a=a+8|0;f=c[a>>2]|0;c[a>>2]=f+4;f=c[f>>2]|0;c[g>>2]=e+-32;c[b>>2]=Cn(f|0)|0;g=d;return g|0}function Sh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;g=c[m>>2]|0;i=c[a>>2]|0;if((d|0)<=0)O(141777,141161,614,142011);if(i>>>0<=255)O(141377,141161,615,142011);l=b+12|0;k=b+4|0;j=c[k>>2]|0;f=32-d|0;e=c[l>>2]<<j>>>f;if(j>>>0>f>>>0){a=64-d-j|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;a=a|e}else a=e;h=0;a=a<<f;while(1){f=a>>>31|g<<1;e=f>>>0<i>>>0;g=f-(e?0:i)|0;e=e^1;f=h+1|0;if(!((f|0)<(d|0)&e))break;else{h=f;a=a<<1}}e=e&1;a=f+j|0;c[k>>2]=a;if(a>>>0<=31){b=h+e|0;c[m>>2]=g;return b|0}d=b+16|0;c[l>>2]=c[d>>2];l=b+8|0;b=c[l>>2]|0;c[l>>2]=b+4;b=c[b>>2]|0;c[k>>2]=a+-32;c[d>>2]=Cn(b|0)|0;b=h+e|0;c[m>>2]=g;return b|0}function Th(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Zb;Zb=Zb+16|0;E=F;j=c[e+360>>2]|0;i=c[e+456>>2]|0;C=(c[e+624>>2]|0)+(i<<1)|0;B=c[e+460>>2]|0;D=(c[e+628>>2]|0)+(B<<1)|0;if(!B)l=0;else l=(1<<(((g|0)/8|0)&7)&d[(c[e+600>>2]|0)+(w(((b[j>>1]|0)+63|0)/64|0,(h+-8|0)/8|0)|0)+((g|0)/64|0)>>0]|0)!=0&1;do if(!i){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0){B=1;break}if(!(c[e+324>>2]|0))B=1;else k=7}else k=7;while(0);if((k|0)==7){B=g+-8|0;B=(1<<(((B|0)/8|0)&7)&d[(c[e+600>>2]|0)+(w(((b[j>>1]|0)+63|0)/64|0,(h|0)/8|0)|0)+((B|0)/64|0)>>0]|0)==0}s=1<<f;t=(s|0)/8|0;u=e+472|0;v=(c[u>>2]|0)==3;x=v?2:1;y=E+4|0;z=E+8|0;A=e+12192|0;r=0;i=l;while(1){o=(i|0)==0;p=D+(w(r,t)|0)|0;q=r<<1;if(B)i=1;else i=d[p>>0]|0;if(o)g=1;else g=d[C>>0]|0;do if((i|0)==(g|0))if(i>>>0<2){c[E>>2]=0;c[y>>2]=1;f=26;i=0;g=1;break}else{c[E>>2]=i;g=(i+29&31)+2|0;c[y>>2]=g;f=((i+-1|0)%32|0)+2|0;break}else{c[E>>2]=i;c[y>>2]=g;if((i|0)!=0&(g|0)!=0)f=0;else f=(i|0)!=1&(g|0)!=1?1:26}while(0);c[z>>2]=f;if((c[e+492+(q<<2)>>2]|0)==1)i=c[E+(c[e+508+(q<<2)>>2]<<2)>>2]|0;else{if((i|0)>(g|0)){c[y>>2]=i;c[E>>2]=g;h=g}else{h=i;i=g}if((h|0)>(f|0)){c[z>>2]=h;c[E>>2]=f;j=h;g=f}else{j=f;g=h}if((i|0)>(j|0)){c[z>>2]=i;c[y>>2]=j;h=j}else{h=i;i=j}n=c[e+524+(q<<2)>>2]|0;n=n+((n|0)>=(g|0)&1)|0;n=n+((n|0)>=(h|0)&1)|0;i=n+((n|0)>=(i|0)&1)|0}c[e+476+(q<<2)>>2]=i;n=i&255;m=((s|0)/(x|0)|0|0)/4|0;ic[c[A>>2]&15](p,n,m);ic[c[A>>2]&15](C,n,m);if(v){l=1;do{i=a[p>>0]|0;g=i&255;n=w(l,t)|0;if(o)h=1;else h=d[C+n>>0]|0;do if((h|0)==(g|0))if((i&255)<2){c[E>>2]=0;c[y>>2]=1;i=26;g=0;h=1;break}else{c[E>>2]=g;h=(i+29&31)+2&255;c[y>>2]=h;i=((g+-1|0)%32|0)+2|0;break}else{c[E>>2]=g;c[y>>2]=h;if(i<<24>>24!=0&(h|0)!=0)i=0;else i=i<<24>>24!=1&(h|0)!=1?1:26}while(0);c[z>>2]=i;k=l+q|0;if((c[e+492+(k<<2)>>2]|0)==1)i=c[E+(c[e+508+(k<<2)>>2]<<2)>>2]|0;else{if((g|0)>(h|0)){c[y>>2]=g;c[E>>2]=h;j=h}else{j=g;g=h}if((j|0)>(i|0)){c[z>>2]=j;c[E>>2]=i;f=j}else{f=i;i=j}if((g|0)>(f|0)){c[z>>2]=g;c[y>>2]=f;h=f}else{h=g;g=f}f=c[e+524+(k<<2)>>2]|0;i=f+((f|0)>=(i|0)&1)|0;i=i+((i|0)>=(h|0)&1)|0;i=i+((i|0)>=(g|0)&1)|0}c[e+476+(k<<2)>>2]=i;k=i&255;ic[c[A>>2]&15](p,k,m);ic[c[A>>2]&15](C+n|0,k,m);l=l+1|0}while(l>>>0<x>>>0)}r=r+1|0;if(r>>>0>=x>>>0)break;else i=1}if(c[u>>2]|0){Zb=F;return}E=c[e+476>>2]|0;c[e+480>>2]=E;c[e+484>>2]=E;c[e+488>>2]=E;Zb=F;return}function Uh(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;m=d+376|0;n=d+660|0;o=c[d+648>>2]|0;do if(!(a[o+76>>0]|0)){l=c[e+12>>2]|0;if(((l>>>6&60)+(l>>>10&60)|0)!=4?Hh(n,m,(c[d+976>>2]|0)+20|0)|0:0){f=2;p=4;break}f=Hh(n,m,24)|0;g=e+8|0;a[g>>0]=0;h=e+9|0;a[h>>0]=0;if((f|0)==1)f=1;else{k=g;l=h;p=6}}else{f=0;p=4}while(0);if((p|0)==4){k=e+8|0;a[k>>0]=0;l=e+9|0;a[l>>0]=0;p=6}if((p|0)==6){h=a[o+160>>0]|0;i=h<<24>>24;if(h<<24>>24>1){g=Hh(n,m,25)|0;if(h<<24>>24!=2&(g|0)!=0){j=Hh(n,m,26)|0;if(h<<24>>24>3&(j|0)!=0)g=(Sh(n,m,i+-3|0)|0)+2|0;else g=j+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=11}}else{g=0;p=11}if((p|0)==11)g=g&255;a[k>>0]=g;Vh(d,e)|0;h=Hh(n,m,29)|0;g=e+12|0;h=c[g>>2]&-8388609|h<<23&8388608;c[g>>2]=h;if(!f){o=0;p=g;n=h;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}else h=l}i=a[o+161>>0]|0;j=i<<24>>24;if(i<<24>>24>1){g=Hh(n,m,25)|0;if(i<<24>>24!=2&(g|0)!=0){k=Hh(n,m,26)|0;if(i<<24>>24>3&(k|0)!=0)g=(Sh(n,m,j+-3|0)|0)+2|0;else g=k+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=18}}else{g=0;p=18}if((p|0)==18)g=g&255;a[h>>0]=g;if((f|0)==2&(a[o+162>>0]|0)!=0){b[e+4>>1]=0;b[e+6>>1]=0}else Vh(d,e+4|0)|0;n=Hh(n,m,29)|0;p=e+12|0;n=c[p>>2]&-16777217|n<<24&16777216;c[p>>2]=n;o=f;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}function Vh(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+376|0;h=a+660|0;e=Hh(h,i,27)|0;a=Hh(h,i,27)|0;e=(e|0)!=0;if(e)d=Hh(h,i,28)|0;else d=0;g=(a|0)!=0;if(g)f=Hh(h,i,28)|0;else f=0;if(e){if(!d)a=1;else a=(Oh(h,i,1)|0)+2|0;e=(Kh(h,i)|0)==0;a=(e?a:0-a|0)&65535}else a=0;b[c>>1]=a;if(!g){h=0;i=c+2|0;b[i>>1]=h;return 0}if(!f)a=1;else a=(Oh(h,i,1)|0)+2|0;h=(Kh(h,i)|0)==0;h=(h?a:0-a|0)&65535;i=c+2|0;b[i>>1]=h;return 0}function Wh(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;p=c[d+360>>2]|0;o=a[(a[p+14>>0]|0)+-1+(p+25)>>0]|0;r=o<<24>>24;h=r+1|0;c[d+232>>2]=h;g=c[d+236>>2]|0;h=h*40980|0;c[d+228>>2]=g;i=b[p>>1]|0;q=p+2|0;j=b[q>>1]|0;f=w((j<<16>>16)+63&-64,(i<<16>>16)+63&-64)|0;e=(f|0)/16|0;f=(f|0)/256|0;if(o<<24>>24<0){d=0;return d|0}n=-4-e+(w(f,-4)|0)+(w(e,-16)|0)-((f<<1)+3&-4)|0;o=d+224|0;l=0;k=(c[d+240>>2]|0)-h|0;m=g;h=g+h|0;f=i;e=j;while(1){e=w((e<<16>>16)+63&-64,(f<<16>>16)+63&-64)|0;g=(e|0)/16|0;e=(e|0)/256|0;f=n+k|0;if((f|0)<0){f=4;break}c[m>>2]=h;k=h+((e<<2)+4)|0;c[m+8>>2]=k;k=k+g|0;c[m+12>>2]=k;e=k+((e<<1)+3&-4)|0;c[m+4>>2]=e;if(fe(c[o>>2]|0,m,l)|0){f=6;break}if((l|0)>=(r|0)){e=0;f=9;break}l=l+1|0;k=f;m=m+40980|0;h=e+(g<<4)|0;f=b[p>>1]|0;e=b[q>>1]|0}if((f|0)==4){c[d+652>>2]=981;d=981;return d|0}else if((f|0)==6){c[d+652>>2]=983;d=983;return d|0}else if((f|0)==9)return e|0;return 0}function Xh(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,x=0,y=0;m=c[d+360>>2]|0;e=(a[m+14>>0]|0)+-1|0;f=a[m+25+e>>0]|0;if((c[d+11636>>2]|0)!=1)f=(a[m+32+e>>0]|0)+f|0;if(c[d+56>>2]|0){g=d+244|0;h=d+20|0;e=0;while(1){i=ke(c[g>>2]|0,e)|0;if(!i){y=0;e=23;break}j=c[i>>2]|0;if(!j){y=0;e=23;break}k=i+4|0;l=c[k>>2]|0;if(!l){y=0;e=23;break}y=c[h>>2]|0;c[i>>2]=j+((y*80|0)+80);c[k>>2]=l+((y*40|0)+80);e=e+1|0;if(e>>>0>=64){y=0;e=23;break}}if((e|0)==23)return y|0}x=d+20|0;o=w((b[m+2>>1]|0)+160|0,c[x>>2]|0)|0;p=(o|0)/2|0;if((f|0)<0){d=0;return d|0}q=p+o|0;r=d+4|0;s=d+244|0;k=0;l=c[d+11628>>2]|0;m=c[d+248>>2]|0;n=c[d+256>>2]|0;while(1){n=n-q|0;if((n|0)<0){e=7;break}t=c[x>>2]|0;e=l+(t*80|0)+80|0;c[m>>2]=e;v=l+o|0;u=m+4|0;c[u>>2]=v+(t*40|0)+80;l=v+p|0;v=c[d>>2]|0;h=c[r>>2]|0;if((h|0)>0){g=0;while(1){a[e+-1>>0]=0;a[e+v>>0]=0;g=g+1|0;if((g|0)==(h|0))break;else e=e+t|0}e=c[m>>2]|0}j=0-t|0;i=v+2|0;Fn(e+j+-1|0,0,i|0)|0;Fn(e+(w(h,t)|0)+-1|0,0,i|0)|0;i=h>>1;if((h|0)>1){h=v+1|0;e=c[u>>2]|0;g=0;while(1){a[e+-1>>0]=0;a[e+-2>>0]=0;a[e+v>>0]=0;a[e+h>>0]=0;g=g+1|0;if((g|0)>=(i|0))break;else e=e+t|0}}u=c[u>>2]|0;v=v+4|0;Fn(u+j+-2|0,0,v|0)|0;Fn(u+(w(i,t)|0)+-2|0,0,v|0)|0;if(fe(c[s>>2]|0,m,k)|0){e=16;break}if((k|0)>=(f|0)){y=0;e=23;break}else{k=k+1|0;m=m+8476|0}}if((e|0)==7){c[d+652>>2]=982;d=982;return d|0}else if((e|0)==16){c[d+652>>2]=983;d=983;return d|0}else if((e|0)==23)return y|0;return 0}function Yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;if(!f){f=0;return f|0}e=0;while(1){d=c[a+264+(e<<2)>>2]|0;if(d|0?(c[d+16>>2]|0)==(b|0):0){e=6;break}e=e+1|0;if(e>>>0>=f>>>0){e=6;break}}if((e|0)==6)return d|0;return 0}function Zh(a){a=a|0;var b=0,d=0;b=a+16|0;if(mg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;b=(ng(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function _h(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;t=Zb;Zb=Zb+16|0;f=t;o=d+136|0;if(ch(c[o>>2]|0,f,16,1)|0){Zb=t;return}p=f+8|0;q=d+140|0;r=f+4|0;s=d+4|0;g=f+6|0;h=d+8|0;i=f+10|0;j=d+32|0;k=f+12|0;l=d+276|0;m=d+44|0;n=d+272|0;do{c[q>>2]=b[p>>1];c[s>>2]=b[r>>1];e=b[g>>1]|0;c[h>>2]=e;c[j>>2]=b[i>>1];switch(c[f>>2]|0){case 0:{Ug(d,c[k>>2]|0);dh(d)|0;break}case 1:{if(!(c[l>>2]|0)){Ug(d,0);e=b[g>>1]|0}w=c[d>>2]|0;v=c[n>>2]|0;u=a[(c[m>>2]|0)+4116>>0]|0;x=1<<u;u=e<<u;e=(c[w+12>>2]|0)-u|0;e=(x|0)<(e|0)?x:e;Wg(w,d,c[v+4>>2]|0,c[v+8>>2]|0,c[v+12>>2]|0,u,(e|0)>0?e:0)|0;break}default:{}}}while(!(ch(c[o>>2]|0,f,16,1)|0));Zb=t;return}function $h(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;F=f+376|0;W=a[g>>0]|0;X=f+128|0;if((c[X>>2]|0)==1){X=0;return X|0}o=(W+-19&255)<2;l=Rh(F,1)|0;n=(W&-8)<<24>>24==16;if(n)m=Rh(F,1)|0;else m=0;C=ni(F)|0;C=(C|0)>0?C:0;C=(C|0)<63?C:63;D=c[f+640>>2]|0;H=D+(C*68|0)|0;if(!(a[D+(C*68|0)+67>>0]|0)){h=c[f+300>>2]|0;j=h;a:do if(!(a[h+67>>0]|0)){while(1){i=h+68|0;if((i-j|0)>4284){h=980;break}if(!(a[h+135>>0]|0))h=i;else{h=i;break a}}return h|0}while(0);di(f,C,a[h+8>>0]|0)}R=a[D+(C*68|0)+9>>0]|0;S=c[f+636>>2]|0;z=S+(R*8976|0)|0;A=f+136|0;if(!(c[A>>2]|0)){h=c[f+84>>2]|0;if(!((l|0)!=0&(h|0)!=0))if(!l)I=18;else I=17;else I=14}else{h=c[f+84>>2]|0;if(l)if(!h){c[X>>2]=0;I=17}else I=14;else I=18}do if((I|0)==14){c[X>>2]=1;W=f+344|0;X=c[W>>2]|0;X=(X|0)<1?0:X+-1|0;c[W>>2]=X;W=c[f+644>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}else if((I|0)==17){V=f+344|0;c[V>>2]=0;h=0;Q=1}else if((I|0)==18){i=f+344|0;if(!h){c[i>>2]=1;V=i;h=1;Q=0;break}else{V=i;h=c[i>>2]|0;Q=0;break}}while(0);P=f+644|0;U=c[P>>2]|0;T=h&255;y=U+(T*1272|0)|0;if(Q|(a[D+(C*68|0)+26>>0]|0)==0)h=0;else{h=Rh(F,1)|0;if(h|0?(k=c[V>>2]|0,(k|0)>0):0)ui(f,k&255,k+255&255);h=h&255}a[U+(T*1272|0)+75>>0]=h;v=U+(T*1272|0)+1260|0;a[v>>0]=W;u=U+(T*1272|0)+73|0;M=l&255;N=U+(T*1272|0)+72|0;a[N>>0]=M;a[U+(T*1272|0)+74>>0]=n?m&255:1;a[u>>0]=C;do if(!(M<<24>>24)){M=S+(R*8976|0)+4128|0;h=Rh(F,32-(x((c[M>>2]|0)+-1|0)|0)|0)|0;if((h|0)<1?1:(h|0)>=(c[M>>2]|0)){X=987;return X|0}else{t=U+(T*1272|0)+75|0;J=h;M=t;h=a[t>>0]|0;break}}else{J=0;M=U+(T*1272|0)+75|0}while(0);do if(!(h<<24>>24)){j=U+(T*1272|0)+77|0;a[j>>0]=1;k=U+(T*1272|0)+80|0;c[k>>2]=0;q=U+(T*1272|0)+90|0;a[q>>0]=0;r=U+(T*1272|0)+91|0;a[r>>0]=0;i=D+(C*68|0)+42|0;if((a[i>>0]|0)>0){h=0;do{Rh(F,1)|0;h=h+1|0}while((h|0)<(a[i>>0]|0))}s=(ni(F)|0)&255;t=U+(T*1272|0)+76|0;s=(a[v>>0]&-8)<<24>>24==16?2:s;a[t>>0]=s;if((s&255)>2){X=987;return X|0}if(a[D+(C*68|0)+24>>0]|0)a[j>>0]=Rh(F,1)|0;h=U+(T*1272|0)+78|0;a[h>>0]=0;if((a[S+(R*8976|0)+18>>0]|0)==1)a[h>>0]=Rh(F,2)|0;s=U+(T*1272|0)+158|0;a[s>>0]=0;if(!o){p=S+(R*8976|0)+23|0;c[k>>2]=Rh(F,a[p>>0]|0)|0;o=Rh(F,1)|0;a[U+(T*1272|0)+88>>0]=o;if((o&255|0)==1){h=U+(T*1272|0)+89|0;a[h>>0]=0;i=a[S+(R*8976|0)+60>>0]|0;if(i<<24>>24>1){o=Rh(F,32-(x((i<<24>>24)+-1|0)|0)|0)|0;a[h>>0]=o;h=o}else h=0;m=h<<24>>24;o=S+(R*8976|0)+4488+(m*70|0)+35|0;l=a[S+(R*8976|0)+4488+(m*70|0)+34>>0]|0;m=a[S+(R*8976|0)+4488+(m*70|0)+33>>0]|0}else{o=a[S+(R*8976|0)+60>>0]|0;ri(F,S+(R*8976|0)+4488|0,o,o,U+(T*1272|0)+188|0)|0;o=U+(T*1272|0)+223|0;l=a[U+(T*1272|0)+222>>0]|0;m=a[U+(T*1272|0)+221>>0]|0}if(a[S+(R*8976|0)+61>>0]|0){n=S+(R*8976|0)+62|0;if((a[n>>0]|0)>0){j=(ni(F)|0)<<24;k=j>>24;h=16-m-l|0;a[q>>0]=(k|0)>(h|0)?h:(j|0)<0?0:k}else h=16-m-l|0;j=(ni(F)|0)<<24;k=j>>24;i=a[q>>0]|0;h=h-i|0;k=(k|0)>(h|0)?h:(j|0)<0?0:k;a[r>>0]=k;if(((k<<24>>24)+i|0)>0){k=0;do{if((k|0)<(i|0)){h=a[n>>0]|0;if(h<<24>>24>1)h=Rh(F,32-(x((h<<24>>24)+-1|0)|0)|0)|0;else h=0;c[U+(T*1272|0)+4+(k<<2)>>2]=e[S+(R*8976|0)+64+(h<<1)>>1];h=a[S+(R*8976|0)+128+h>>0]|0}else{c[U+(T*1272|0)+4+(k<<2)>>2]=Rh(F,a[p>>0]|0)|0;h=(Rh(F,1)|0)&255}a[U+(T*1272|0)+108+k>>0]=h;j=(Rh(F,1)|0)&255;a[U+(T*1272|0)+124+k>>0]=j;h=U+(T*1272|0)+140+k|0;a[h>>0]=0;if(!(j<<24>>24))j=0;else{j=ni(F)|0;a[h>>0]=j}i=a[q>>0]|0;if(!((k|0)==0|(k|0)==(i|0)))a[h>>0]=j+(d[k+-1+(U+(T*1272|0)+140)>>0]|0);k=k+1|0}while((k|0)<(i+(a[r>>0]|0)|0))}}j=l+m|0;if((j|0)>0){h=0;i=0;do{h=h+((a[o+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)!=(j|0))}else h=0;j=(a[r>>0]|0)+(a[q>>0]|0)|0;if((j|0)>0){i=0;do{h=h+((a[U+(T*1272|0)+108+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)<(j|0))}if(a[S+(R*8976|0)+160>>0]|0)a[s>>0]=Rh(F,1)|0}else h=0;p=U+(T*1272|0)+156|0;a[p>>0]=0;q=U+(T*1272|0)+157|0;a[q>>0]=0;if(a[S+(R*8976|0)+57>>0]|0){a[p>>0]=Rh(F,1)|0;a[q>>0]=Rh(F,1)|0}m=U+(T*1272|0)+166|0;a[m>>0]=1;j=U+(T*1272|0)+163|0;a[j>>0]=0;k=U+(T*1272|0)+160|0;a[k>>0]=0;l=U+(T*1272|0)+161|0;a[l>>0]=0;n=U+(T*1272|0)+168|0;a[n>>0]=0;o=U+(T*1272|0)+169|0;a[o>>0]=0;do if((d[t>>0]|0)<2){r=(Rh(F,1)|0)&255;a[U+(T*1272|0)+159>>0]=r;if(!(r<<24>>24)){i=a[D+(C*68|0)+12>>0]|0;a[k>>0]=i;if(!(a[t>>0]|0))a[l>>0]=a[D+(C*68|0)+13>>0]|0}else{i=(ni(F)|0)+1&255;a[k>>0]=i;if(!(a[t>>0]|0)){a[l>>0]=(ni(F)|0)+1;i=a[k>>0]|0}}r=i<<24>>24>0?i:0;a[k>>0]=r<<24>>24<15?r:15;r=a[l>>0]|0;r=r<<24>>24>0?r:0;a[l>>0]=r<<24>>24<15?r:15;if(!h){X=987;return X|0}if((h|0)>1?(a[D+(C*68|0)+41>>0]|0)!=0:0)vi(F,y,h)|0;else{a[U+(T*1272|0)+708>>0]=0;a[U+(T*1272|0)+725>>0]=0}if(!(a[t>>0]|0))a[U+(T*1272|0)+162>>0]=Rh(F,1)|0;a[j>>0]=0;if(a[D+(C*68|0)+11>>0]|0)a[j>>0]=Rh(F,1)|0;h=U+(T*1272|0)+164|0;a[h>>0]=1;i=U+(T*1272|0)+165|0;a[i>>0]=0;b:do if(a[s>>0]|0){do if(!(a[t>>0]|0)){s=(Rh(F,1)|0)&255;a[h>>0]=s;if(s<<24>>24){I=88;break}if((a[l>>0]|0)<=1)break b}else I=88;while(0);if((I|0)==88?(a[k>>0]|0)<=1:0)break;a[i>>0]=ni(F)|0}while(0);I=a[i>>0]|0;I=I<<24>>24>0?I:0;a[i>>0]=I<<24>>24<15?I:15;if((a[D+(C*68|0)+22>>0]|0)!=0?(a[t>>0]|0)==1:0)I=95;else I=93;do if((I|0)==93){if(!(a[D+(C*68|0)+23>>0]|0))break;if(!(a[t>>0]|0))I=95}while(0);if((I|0)==95)wi(F,z,H,y)|0;h=5-(ni(F)|0)&255;a[m>>0]=h;if(h<<24>>24<=1){h=1;I=98;break}if(h<<24>>24<5)I=98;else h=5}else{h=1;I=98}while(0);a[m>>0]=h;a[U+(T*1272|0)+167>>0]=oi(F)|0;if(a[D+(C*68|0)+21>>0]|0){a[n>>0]=oi(F)|0;a[o>>0]=oi(F)|0}i=U+(T*1272|0)+170|0;a[i>>0]=0;h=a[D+(C*68|0)+37>>0]|0;j=U+(T*1272|0)+171|0;a[j>>0]=h;k=U+(T*1272|0)+172|0;a[k>>0]=a[D+(C*68|0)+38>>0]|0;l=U+(T*1272|0)+173|0;a[l>>0]=a[D+(C*68|0)+39>>0]|0;h=h<<24>>24;do if(((a[D+(C*68|0)+35>>0]|0)!=0?(a[D+(C*68|0)+36>>0]|0)!=0:0)?(I=(Rh(F,1)|0)&255,a[i>>0]=I,I<<24>>24!=0):0){h=Rh(F,1)|0;I=h&255;a[j>>0]=I;h=h<<24>>24;if(I<<24>>24)break;a[k>>0]=oi(F)|0;a[l>>0]=oi(F)|0}while(0);I=a[D+(C*68|0)+34>>0]|0;i=U+(T*1272|0)+174|0;a[i>>0]=I;if(I<<24>>24){if((a[p>>0]|0)==0?(h|0)!=0&(a[q>>0]|0)==0:0)break;a[i>>0]=Rh(F,1)|0}}while(0);s=f+84|0;h=(c[s>>2]|0)==0;if(Q)if(h)I=115;else I=116;else if(!h){h=c[f+304>>2]|0;if((a[h+73>>0]|0)!=(a[u>>0]|0)){X=987;return X|0}if((c[h+80>>2]|0)==(c[U+(T*1272|0)+80>>2]|0))I=116;else{X=987;return X|0}}else I=115;if((I|0)==115){j=f+1448|0;h=xi(f,g,a[S+(R*8976|0)+23>>0]|0,c[U+(T*1272|0)+80>>2]|0)|0}else if((I|0)==116){h=f+1448|0;j=h;h=c[h>>2]|0}r=U+(T*1272|0)+84|0;c[r>>2]=h;i=(c[j>>2]|0)==(h|0);do if(Q)if(i){X=987;return X|0}else{c[j>>2]=h;i=0;break}else if(i){h=c[f+984>>2]|0;if((J|0)>(h|0)){if(!(c[s>>2]|0))h=987;else{i=1;break}return h|0}if((J|0)<(h|0)){X=987;return X|0}else{c[X>>2]=0;i=0;break}}else{if(c[s>>2]|0){c[X>>2]=1;X=c[V>>2]|0;X=(X|0)<1?0:X+-1|0;c[V>>2]=X;W=c[P>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}if(!(a[M>>0]|0)){c[j>>2]=h;i=0;break}else{X=987;return X|0}}while(0);k=U+(T*1272|0)+176|0;c[k>>2]=0;h=D+(C*68|0)+27|0;if(!((a[h>>0]|0)==0?!(a[D+(C*68|0)+28>>0]|0):0)){j=ni(F)|0;c[k>>2]=j;do if(a[h>>0]|0){h=a[D+(C*68|0)+30>>0]|0;if(!(a[D+(C*68|0)+28>>0]|0)){h=w(a[D+(C*68|0)+31>>0]|0,h)|0;break}else{h=w((b[S+(R*8976|0)+4120>>1]|0)+-1|0,h)|0;break}}else h=(b[S+(R*8976|0)+4120>>1]|0)+-1|0;while(0);g=(j|0)>(h|0)?h:(j|0)>0?j:0;c[k>>2]=g;if(((g|0)>0?(B=(ni(F)|0)+1|0,E=U+(T*1272|0)+180|0,a[E>>0]=B,(c[k>>2]|0)>0):0)?(Rh(F,B<<24>>24)|0,(c[k>>2]|0)>1):0){h=1;do{Rh(F,a[E>>0]|0)|0;h=h+1|0}while((h|0)<(c[k>>2]|0))}}if(a[D+(C*68|0)+44>>0]|0?(E=ni(F)|0,G=U+(T*1272|0)+68|0,b[G>>1]=E,(E<<16|0)>0):0){h=0;do{Rh(F,8)|0;h=h+1|0}while((h|0)<(b[G>>1]|0))}Fh(F);if((c[f+384>>2]|0)>>>0>(c[f+396>>2]|0)>>>0){X=979;return X|0}q=f+276|0;p=c[q>>2]|0;if(((a[v>>0]|0)+-16&255)>=5?(c[A>>2]|0)!=0:0){h=yi(f,H,z,y)|0;if(h|0){X=h;return X|0}}else{l=f+244|0;m=f+228|0;n=f+232|0;o=f+224|0;k=0;do{h=c[p+4+(k<<3)>>2]|0;c:do if(h|0?(K=h+8|0,Ne(c[q>>2]|0,c[l>>2]|0,c[K>>2]|0),L=c[n>>2]|0,(L|0)>0):0){j=c[m>>2]|0;h=0;while(1){if(j|0?(c[j+16>>2]|0)==(c[K>>2]|0):0)break;h=h+1|0;if((h|0)<(L|0))j=j+40980|0;else break c}ie(c[o>>2]|0,h,2)|0}while(0);k=k+1|0}while((k|0)!=64);c[U+(T*1272|0)+876>>2]=0;c[U+(T*1272|0)+880>>2]=0;c[U+(T*1272|0)+1068>>2]=0;c[U+(T*1272|0)+1072>>2]=0;c[U+(T*1272|0)+888>>2]=0;c[U+(T*1272|0)+892>>2]=0;c[U+(T*1272|0)+1080>>2]=0;c[U+(T*1272|0)+1084>>2]=0;c[U+(T*1272|0)+900>>2]=0;c[U+(T*1272|0)+904>>2]=0;c[U+(T*1272|0)+1092>>2]=0;c[U+(T*1272|0)+1096>>2]=0;c[U+(T*1272|0)+912>>2]=0;c[U+(T*1272|0)+916>>2]=0;c[U+(T*1272|0)+1104>>2]=0;c[U+(T*1272|0)+1108>>2]=0;c[U+(T*1272|0)+924>>2]=0;c[U+(T*1272|0)+928>>2]=0;c[U+(T*1272|0)+1116>>2]=0;c[U+(T*1272|0)+1120>>2]=0;c[U+(T*1272|0)+936>>2]=0;c[U+(T*1272|0)+940>>2]=0;c[U+(T*1272|0)+1128>>2]=0;c[U+(T*1272|0)+1132>>2]=0;c[U+(T*1272|0)+948>>2]=0;c[U+(T*1272|0)+952>>2]=0;c[U+(T*1272|0)+1140>>2]=0;c[U+(T*1272|0)+1144>>2]=0;c[U+(T*1272|0)+960>>2]=0;c[U+(T*1272|0)+964>>2]=0;c[U+(T*1272|0)+1152>>2]=0;c[U+(T*1272|0)+1156>>2]=0;c[U+(T*1272|0)+972>>2]=0;c[U+(T*1272|0)+976>>2]=0;c[U+(T*1272|0)+1164>>2]=0;c[U+(T*1272|0)+1168>>2]=0;c[U+(T*1272|0)+984>>2]=0;c[U+(T*1272|0)+988>>2]=0;c[U+(T*1272|0)+1176>>2]=0;c[U+(T*1272|0)+1180>>2]=0;c[U+(T*1272|0)+996>>2]=0;c[U+(T*1272|0)+1e3>>2]=0;c[U+(T*1272|0)+1188>>2]=0;c[U+(T*1272|0)+1192>>2]=0;c[U+(T*1272|0)+1008>>2]=0;c[U+(T*1272|0)+1012>>2]=0;c[U+(T*1272|0)+1200>>2]=0;c[U+(T*1272|0)+1204>>2]=0;c[U+(T*1272|0)+1020>>2]=0;c[U+(T*1272|0)+1024>>2]=0;c[U+(T*1272|0)+1212>>2]=0;c[U+(T*1272|0)+1216>>2]=0;c[U+(T*1272|0)+1032>>2]=0;c[U+(T*1272|0)+1036>>2]=0;c[U+(T*1272|0)+1224>>2]=0;c[U+(T*1272|0)+1228>>2]=0;c[U+(T*1272|0)+1044>>2]=0;c[U+(T*1272|0)+1048>>2]=0;c[U+(T*1272|0)+1236>>2]=0;c[U+(T*1272|0)+1240>>2]=0;c[U+(T*1272|0)+1056>>2]=0;c[U+(T*1272|0)+1060>>2]=0;c[U+(T*1272|0)+1248>>2]=0;c[U+(T*1272|0)+1252>>2]=0}do if(c[s>>2]|0){j=c[f+224>>2]|0;h=Oe(c[q>>2]|0,c[r>>2]|0)|0;if(!h){n=c[f+1452>>2]|0;m=c[f+6180>>2]|0}else{n=Yh(j,c[h+8>>2]|0)|0;m=h}k=a[U+(T*1272|0)+160>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+876+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+876+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24<16)I=169}else I=169;if((I|0)==169)while(1){c[U+(T*1272|0)+876+(h*12|0)>>2]=m;c[U+(T*1272|0)+876+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}k=a[U+(T*1272|0)+161>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+1068+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+1068+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24>=16)break}while(1){c[U+(T*1272|0)+1068+(h*12|0)>>2]=m;c[U+(T*1272|0)+1068+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}}while(0);if(!(a[N>>0]|0)){h=b[S+(R*8976|0)+4118>>1]|0;j=(J|0)/(h|0)|0;h=J-(w(j,h)|0)&65535;b[U+(T*1272|0)+872>>1]=h;j=j&65535;b[U+(T*1272|0)+874>>1]=j;if(!(a[M>>0]|0)){b[U+(T*1272|0)+1262>>1]=h;b[U+(T*1272|0)+1264>>1]=j}}else{b[U+(T*1272|0)+872>>1]=0;b[U+(T*1272|0)+874>>1]=0;b[U+(T*1272|0)+1262>>1]=0;b[U+(T*1272|0)+1264>>1]=0}do if(!Q?(c[s>>2]|0)==0:0){h=c[P>>2]|0;ui(f,0,c[V>>2]&255);if((c[V>>2]|0)!=1)O(142339,142381,1012,142417);b[h+872>>1]=0;b[h+874>>1]=0;c[f+316>>2]=0;c[f+320>>2]=0;c[V>>2]=0;h=U+(T*1272|0)+872|0;if(!(b[h>>1]|0)){if(b[U+(T*1272|0)+874>>1]|0){i=1;break}b[h>>1]=1;i=1}else i=1}while(0);h=c[f+68>>2]|0;if(W<<24>>24<16&(W&1)==0&(h|0)==2){X=987;return X|0}if((h|0)==6?(a[U+(T*1272|0)+76>>0]|0)!=2:0){X=987;return X|0}if(!i){X=0;return X|0}else{c[X>>2]=1;X=c[V>>2]|0;c[V>>2]=(X|0)<1?0:X+-1|0;return 0}return 0}function ai(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Zb;Zb=Zb+368|0;i=H;D=e+376|0;h=Rh(D,4)|0;h=(h|0)>0?h:0;h=(h|0)<15?h:15;k=Rh(D,3)|0;j=k+1|0;j=(k|0)>6?7:(j|0)>1?j:1;k=Rh(D,1)|0;qi(D,i,j+-1|0);g=ni(D)|0;if(g>>>0>16)if(!(c[e+112>>2]|0))G=0;else{e=977;Zb=H;return e|0}else G=g;F=c[e+636>>2]|0;C=F+143616|0;n=F+152584|0;p=c[n>>2]|0;Fn(C|0,0,8976)|0;c[n>>2]=p;a[F+143628>>0]=G;a[F+143629>>0]=h;p=F+143630|0;a[p>>0]=j;a[F+143675>>0]=k;Dn(F+147748|0,i|0,355)|0;B=ni(D)|0;E=F+143631|0;a[E>>0]=B;if((B&255|0)!=1){c[e+652>>2]=218;e=218;Zb=H;return e|0}a[F+143634>>0]=0;b[C>>1]=ni(D)|0;z=ni(D)|0;B=F+143618|0;b[B>>1]=z;if((z<<16|0)<65536|(b[C>>1]|0)<1){e=979;Zb=H;return e|0}z=(Rh(D,1)|0)&255;a[F+143635>>0]=z;do if(z<<24>>24){g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Zb=H;return e|0}b[F+143620>>1]=g;g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Zb=H;return e|0}b[F+143622>>1]=g;g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)>=(b[B>>1]|0)){e=979;Zb=H;return e|0}b[F+143624>>1]=g;g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)<(b[B>>1]|0)){b[F+143626>>1]=g;break}else{e=979;Zb=H;return e|0}}else{z=F+143620|0;c[z>>2]=0;c[z+4>>2]=0}while(0);if(ni(D)|0){e=989;Zb=H;return e|0}if(ni(D)|0){e=989;Zb=H;return e|0}g=ni(D)|0;if(g>>>0>12){e=979;Zb=H;return e|0}o=F+143639|0;a[o>>0]=g+4;z=Rh(D,1)|0;a[F+143640>>0]=z;h=a[p>>0]|0;g=h<<24>>24;if(z&255){if(h<<24>>24>0){g=0;A=23}}else{g=g+-1|0;A=23}do if((A|0)==23){while(1){h=ni(D)|0;if(h>>>0>15){f=979;A=141;break}i=F+143641+g|0;a[i>>0]=h+1;h=ni(D)|0;if((h|0)<0){f=979;A=141;break}if((h|0)>(a[i>>0]|0)){f=979;A=141;break}a[F+143648+g>>0]=h;a[F+143655+g>>0]=ni(D)|0;g=g+1|0;h=a[p>>0]|0;if((g|0)>=(h<<24>>24|0)){A=28;break}}if((A|0)==28){g=h<<24>>24;break}else if((A|0)==141){Zb=H;return f|0}}while(0);z=e+11632|0;if(c[z>>2]|0){h=c[e+360>>2]|0;i=(a[h+14>>0]|0)+-1|0;g=g+-1|0;if((a[h+25+i>>0]|0)!=(a[F+143641+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Zb=H;return e|0}c[e+132>>2]=1;e=42;Zb=H;return e|0}if((a[h+32+i>>0]|0)!=(a[F+143648+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Zb=H;return e|0}c[e+132>>2]=1;e=42;Zb=H;return e|0}}y=F+143662|0;a[y>>0]=(ni(D)|0)+3;g=ni(D)|0;h=F+143663|0;a[h>>0]=g;g=(g<<24>>24)+(a[y>>0]|0)|0;m=F+143664|0;a[m>>0]=(ni(D)|0)+2;l=ni(D)|0;j=l&255;a[F+143665>>0]=j;k=a[m>>0]|0;l=l+(k&255)|0;a[F+147733>>0]=l;if(l&128|0){e=979;Zb=H;return e|0}if((l&255|0)>(((g|0)<5?g:5)|0)){e=979;Zb=H;return e|0}i=a[y>>0]|0;g=(d[h>>0]|0)+(i&255)|0;x=F+147732|0;a[x>>0]=g;if(j<<24>>24<0|(k<<24>>24<2|i<<24>>24<3)){e=979;Zb=H;return e|0}v=g<<24;if((v|0)<(l<<24|0)|(v+-67108864|0)>>>0>33554432){e=979;Zb=H;return e|0}g=1<<(i<<24>>24);if((b[C>>1]|0)%(g|0)|0|0){e=979;Zb=H;return e|0}if((b[B>>1]|0)%(g|0)|0|0){e=979;Zb=H;return e|0}i=F+143666|0;a[i>>0]=0;j=F+143667|0;a[j>>0]=0;g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Zb=H;return e|0}a[F+143668>>0]=g;g=ni(D)|0;if((g|0)<0){e=979;Zb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Zb=H;return e|0}a[F+143669>>0]=g;v=(Rh(D,1)|0)&255;a[F+143670>>0]=v;Dn(c[n>>2]|0,26144,192)|0;g=(c[n>>2]|0)+192|0;do if(!(v<<24>>24)){Dn(g|0,26144,768)|0;Dn((c[n>>2]|0)+960|0,26144,1536)|0;Dn((c[n>>2]|0)+2496|0,26144,1536)|0;Dn((c[n>>2]|0)+4032|0,26144,2048)|0;Dn((c[n>>2]|0)+6080|0,26144,2048)|0}else{h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+320|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+448|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+576|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+704|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+832|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));Dn((c[n>>2]|0)+960|0,28448,512)|0;Dn((c[n>>2]|0)+1472|0,28448,512)|0;Dn((c[n>>2]|0)+1984|0,28448,512)|0;Dn((c[n>>2]|0)+2496|0,28960,512)|0;Dn((c[n>>2]|0)+3008|0,28960,512)|0;Dn((c[n>>2]|0)+3520|0,28960,512)|0;Dn((c[n>>2]|0)+4032|0,29472,2048)|0;Dn((c[n>>2]|0)+6080|0,31520,2048)|0;v=(Rh(D,1)|0)&255;a[F+143671>>0]=v;if(!(v<<24>>24))break;pi(e,c[n>>2]|0)|0}while(0);a[F+143672>>0]=Rh(D,1)|0;a[F+143673>>0]=Rh(D,1)|0;v=(Rh(D,1)|0)&255;a[F+143636>>0]=v;if(v<<24>>24){a[F+143637>>0]=(Rh(D,4)|0)+1;a[F+143638>>0]=(Rh(D,4)|0)+1;a[i>>0]=(ni(D)|0)+3;a[j>>0]=ni(D)|0;a[F+143674>>0]=Rh(D,1)|0}g=ni(D)|0;if(g>>>0>64){e=979;Zb=H;return e|0}i=F+143676|0;a[i>>0]=g;if((g<<24|0)>0){j=F+148104|0;h=0;g=g&255;do{ri(D,j,g,h,F+148104+(h*70|0)|0)|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g|0))}v=(Rh(D,1)|0)&255;a[F+143677>>0]=v;do if(v<<24>>24){g=ni(D)|0;if(g>>>0>32){e=979;Zb=H;return e|0}h=F+143678|0;a[h>>0]=g;if((g<<24|0)<=0)break;g=0;do{b[F+143680+(g<<1)>>1]=Rh(D,a[o>>0]|0)|0;a[F+143744+g>>0]=Rh(D,1)|0;g=g+1|0}while((g|0)<(a[h>>0]|0))}while(0);a[F+143776>>0]=Rh(D,1)|0;a[F+143777>>0]=Rh(D,1)|0;v=(Rh(D,1)|0)&255;a[F+143778>>0]=v;do if(v<<24>>24){u=a[p>>0]|0;v=(u<<24>>24)+-1|0;t=(Rh(D,1)|0)&255;a[F+143780>>0]=t;g=F+143781|0;a[g>>0]=0;a:do if(!(t<<24>>24)){g=0;h=0}else{t=(Rh(D,8)|0)&255;a[g>>0]=t;do switch(t<<24>>24){case 1:{g=1;h=1;break a}case 2:{g=11;h=12;break a}case 3:{g=11;h=10;break a}case 4:{g=11;h=16;break a}case 5:{g=33;h=40;break a}case 6:{g=11;h=24;break a}case 7:{g=11;h=20;break a}case 8:{g=11;h=32;break a}case 9:{g=33;h=80;break a}case 10:{g=11;h=18;break a}case 11:{g=11;h=15;break a}case 12:{g=33;h=64;break a}case 13:{g=99;h=160;break a}case 14:{g=3;h=4;break a}case 15:{g=2;h=3;break a}case 16:{g=1;h=2;break a}case -1:{h=(Rh(D,16)|0)&65535;g=(Rh(D,16)|0)&65535;break a}default:{g=0;h=0;break a}}while(0)}while(0);b[F+143782>>1]=h;b[F+143784>>1]=g;t=(Rh(D,1)|0)&255;a[F+143786>>0]=t;g=F+143787|0;a[g>>0]=0;if(t<<24>>24)a[g>>0]=Rh(D,1)|0;t=(Rh(D,1)|0)&255;a[F+143788>>0]=t;g=F+143789|0;a[g>>0]=5;h=F+143790|0;a[h>>0]=0;i=F+143791|0;a[i>>0]=0;j=F+143792|0;a[j>>0]=2;k=F+143793|0;a[k>>0]=2;l=F+143794|0;a[l>>0]=2;do if(t<<24>>24){a[g>>0]=Rh(D,3)|0;a[h>>0]=Rh(D,1)|0;t=(Rh(D,1)|0)&255;a[i>>0]=t;if(!(t<<24>>24))break;a[j>>0]=Rh(D,8)|0;a[k>>0]=Rh(D,8)|0;a[l>>0]=Rh(D,8)|0}while(0);t=(Rh(D,1)|0)&255;a[F+143795>>0]=t;g=F+143796|0;a[g>>0]=0;h=F+143797|0;a[h>>0]=0;if(t<<24>>24){a[g>>0]=ni(D)|0;a[h>>0]=ni(D)|0}a[F+143798>>0]=Rh(D,1)|0;a[F+143799>>0]=Rh(D,1)|0;a[F+143800>>0]=Rh(D,1)|0;t=(Rh(D,1)|0)&255;a[F+143801>>0]=t;g=F+143804|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(t<<24>>24){c[g>>2]=ni(D)|0;c[F+143808>>2]=ni(D)|0;c[F+143812>>2]=ni(D)|0;c[F+143816>>2]=ni(D)|0}t=(Rh(D,1)|0)&255;a[F+147704>>0]=t;b:do if(t<<24>>24){c[F+147708>>2]=Rh(D,32)|0;c[F+147712>>2]=Rh(D,32)|0;t=(Rh(D,1)|0)&255;a[F+147716>>0]=t;if(t<<24>>24)a[F+147717>>0]=ni(D)|0;t=(Rh(D,1)|0)&255;a[F+143820>>0]=t;if(!(t<<24>>24))break;r=F+143836|0;a[r>>0]=0;s=F+143837|0;a[s>>0]=0;t=F+143839|0;i=F+143840|0;j=F+143841|0;k=F+143842|0;l=F+143843|0;m=F+143844|0;n=F+143848|0;o=F+143852|0;p=F+143856|0;g=t;q=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(q|0));a[p>>0]=23;g=F+143857|0;a[g>>0]=23;h=F+143858|0;a[h>>0]=23;a[r>>0]=Rh(D,1)|0;q=Rh(D,1)|0;a[s>>0]=q;if(!((q&255|0)==0&(a[r>>0]|0)==0)){q=(Rh(D,1)|0)&255;a[t>>0]=q;if(q<<24>>24){a[i>>0]=Rh(D,8)|0;a[j>>0]=Rh(D,5)|0;a[k>>0]=Rh(D,1)|0;a[l>>0]=Rh(D,5)|0}c[m>>2]=Rh(D,4)|0;c[n>>2]=Rh(D,4)|0;if(a[t>>0]|0)c[o>>2]=Rh(D,4)|0;a[p>>0]=Rh(D,5)|0;a[g>>0]=Rh(D,5)|0;a[h>>0]=Rh(D,5)|0}if(u<<24>>24<1)break;j=0;while(1){u=(Rh(D,1)|0)&255;a[F+143859+j>>0]=u;g=F+143866+j|0;a[g>>0]=1;h=F+143873+j|0;a[h>>0]=0;i=F+143880+j|0;a[i>>0]=0;k=F+143887+j|0;a[k>>0]=0;do if(!(u<<24>>24)){u=(Rh(D,1)|0)&255;a[g>>0]=u;if(u<<24>>24){A=104;break}g=(Rh(D,1)|0)&255;a[i>>0]=g}else A=104;while(0);if((A|0)==104){A=0;a[h>>0]=ni(D)|0;g=a[i>>0]|0}if(!(g<<24>>24)){g=(ni(D)|0)&255;a[k>>0]=g}else g=a[k>>0]|0;if((g&255)>30){f=979;break}if(a[r>>0]|0)si(D,F+143896+(j*544|0)|0,g&255,d[t>>0]|0);if(a[s>>0]|0)si(D,F+143896+(j*544|0)|0,d[k>>0]|0,d[t>>0]|0);if((j|0)<(v|0))j=j+1|0;else break b}Zb=H;return f|0}while(0);A=(Rh(D,1)|0)&255;a[F+147718>>0]=A;g=F+147719|0;a[g>>0]=0;h=F+147720|0;a[h>>0]=1;i=F+147721|0;a[i>>0]=0;j=F+147724|0;c[j>>2]=0;k=F+147728|0;a[k>>0]=2;l=F+147729|0;a[l>>0]=1;m=F+147730|0;a[m>>0]=15;n=F+147731|0;a[n>>0]=15;if(!(A<<24>>24))break;a[g>>0]=Rh(D,1)|0;a[h>>0]=Rh(D,1)|0;a[i>>0]=Rh(D,1)|0;c[j>>2]=ni(D)|0;a[k>>0]=ni(D)|0;a[l>>0]=ni(D)|0;a[m>>0]=ni(D)|0;a[n>>0]=ni(D)|0}while(0);Rh(D,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){e=979;Zb=H;return e|0}m=1<<a[x>>0];D=m+-1|0;h=b[C>>1]|0;k=h<<16>>16;g=(D+k|0)/(m|0)|0;b[F+147734>>1]=g;j=b[B>>1]|0;m=(D+j|0)/(m|0)|0;b[F+147736>>1]=m;g=w(m<<16>>16,g<<16>>16)|0;c[F+147744>>2]=g;m=e+112|0;if(!(c[m>>2]|0))c[e+984>>2]=g;i=1<<a[y>>0];b[F+147738>>1]=(k|0)/(i|0)|0;b[F+147740>>1]=(j|0)/(i|0)|0;i=(c[z>>2]|0)==0;do if(!i){if((c[e>>2]|0)==(k|0)?(c[e+4>>2]|0)==(j|0):0)break;if(!(c[e+124>>2]|0)){e=979;Zb=H;return e|0}c[e+132>>2]=1;e=42;Zb=H;return e|0}while(0);if(h<<16>>16>8448|(w(j,k)|0)>36495360){e=17;Zb=H;return e|0}h=(a[E>>0]|0)==1?2:1;l=k-(w(h,b[F+143620>>1]|0)|0)|0;l=l-(w(h,b[F+143622>>1]|0)|0)|0;E=j-(w(h,b[F+143624>>1]|0)|0)|0;h=E-(w(h,b[F+143626>>1]|0)|0)|0;if((l|0)<1|(h|0)<1){e=979;Zb=H;return e|0}g=e+8|0;do if(i)f=e+12|0;else{if((c[g>>2]|0)==(l|0)?(f=e+12|0,(c[f>>2]|0)==(h|0)):0)break;if(!(c[e+124>>2]|0)){e=979;Zb=H;return e|0}c[e+132>>2]=1;e=42;Zb=H;return e|0}while(0);c[g>>2]=l;c[f>>2]=h;c[e>>2]=k;c[e+4>>2]=j;f=k+191&-32;g=e+20|0;h=c[g>>2]|0;if((h|0)<(f|0))c[g>>2]=f;else f=h;g=e+16|0;h=c[g>>2]|0;do if(!(c[e+56>>2]|0)){if((h|0)>=(l|0))break;c[g>>2]=l}else{if((h|0)>=(f|0))break;c[g>>2]=f}while(0);c[e+11596>>2]=G;c[m>>2]=1;e=0;Zb=H;return e|0}function bi(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;j=c[d+296>>2]|0;k=j+(f*8976|0)|0;l=j+(e*8976|0)|0;m=j+(e*8976|0)+8972|0;do if(a[m>>0]|0){if(((a[j+(e*8976|0)+4116>>0]|0)==(a[j+(f*8976|0)+4116>>0]|0)?(b[j+(e*8976|0)+4118>>1]|0)==(b[j+(f*8976|0)+4118>>1]|0):0)?(b[j+(e*8976|0)+4120>>1]|0)==(b[j+(f*8976|0)+4120>>1]|0):0)break;g=0;h=c[d+300>>2]|0;while(1){i=h+67|0;if(a[i>>0]|0?(a[h+9>>0]|0)==(e|0):0)a[i>>0]=0;g=g+1|0;if((g|0)==64)break;else h=h+68|0}}while(0);e=j+(e*8976|0)+8968|0;i=c[e>>2]|0;Dn(l|0,k|0,8976)|0;c[e>>2]=i;Dn(i|0,c[j+(f*8976|0)+8968>>2]|0,8128)|0;a[m>>0]=1;c[d+360>>2]=l;return}function ci(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=e+376|0;if(!(c[e+112>>2]|0)){E=980;return E|0}f=ni(E)|0;if(f>>>0>64)if(!(c[e+116>>2]|0))f=0;else{E=978;return E|0}C=c[e+640>>2]|0;D=C+4352|0;a[C+4360>>0]=f;r=(ni(E)|0)<<24;r=(r|0)>251658240?15:(r|0)<0?0:r>>24;a[C+4361>>0]=r;s=c[e+636>>2]|0;g=s+(r*8976|0)|0;if(!(a[s+(r*8976|0)+8972>>0]|0)){E=980;return E|0}a[C+4378>>0]=Rh(E,1)|0;a[C+4376>>0]=Rh(E,1)|0;a[C+4394>>0]=Rh(E,3)|0;a[C+4362>>0]=Rh(E,1)|0;a[C+4363>>0]=Rh(E,1)|0;a[C+4364>>0]=(ni(E)|0)+1;a[C+4365>>0]=(ni(E)|0)+1;a[C+4366>>0]=(oi(E)|0)+26;a[C+4367>>0]=Rh(E,1)|0;a[C+4368>>0]=Rh(E,1)|0;x=(Rh(E,1)|0)&255;a[C+4369>>0]=x;if(!(x<<24>>24))f=0;else f=(ni(E)|0)&255;a[C+4370>>0]=f;h=s+(r*8976|0)+4116|0;a[C+4418>>0]=(d[h>>0]|0)-(f&255);a[C+4371>>0]=oi(E)|0;a[C+4372>>0]=oi(E)|0;a[C+4373>>0]=Rh(E,1)|0;a[C+4374>>0]=Rh(E,1)|0;a[C+4375>>0]=Rh(E,1)|0;a[C+4377>>0]=Rh(E,1)|0;x=(Rh(E,1)|0)&255;f=C+4379|0;a[f>>0]=x;a:do if(x<<24>>24)switch(a[h>>0]|0){case 4:{if((b[g>>1]|0)>4095){E=980;return E|0}if((b[s+(r*8976|0)+2>>1]|0)>4095)f=980;else break a;return f|0}case 5:{if((b[g>>1]|0)>8191){E=980;return E|0}if((b[s+(r*8976|0)+2>>1]|0)>8191)f=980;else break a;return f|0}case 6:{if((b[g>>1]|0)>16383){E=980;return E|0}if((b[s+(r*8976|0)+2>>1]|0)>16383)f=980;else break a;return f|0}default:break a}while(0);a[C+4380>>0]=Rh(E,1)|0;x=C+4385|0;a[x>>0]=0;if(!(a[f>>0]|0)){a[C+4382>>0]=1;a[C+4383>>0]=1;a[C+4384>>0]=1;B=c[C+4356>>2]|0;a[B>>0]=0;a[B+1>>0]=0;b[B+2>>1]=b[s+(r*8976|0)+4118>>1]|0;b[B+4>>1]=b[s+(r*8976|0)+4120>>1]|0}else{f=c[e>>2]|0;g=(((c[e+4>>2]|0)+127&-64)+-1|0)/64|0;u=C+4382|0;a[u>>0]=(ni(E)|0)+1;h=(ni(E)|0)+1|0;v=C+4383|0;a[v>>0]=h;i=a[u>>0]|0;if(i<<24>>24<1){E=980;return E|0}if((((f+127&-64)+-1|0)/64|0|0)<(i<<24>>24|0)){E=980;return E|0}t=h<<24;if((t|0)<16777216|(t>>24|0)>(g|0)){E=980;return E|0}g=(Rh(E,1)|0)&255;t=C+4384|0;a[t>>0]=g;f=a[u>>0]|0;b:do if(f<<24>>24>0){p=s+(r*8976|0)+4118|0;q=C+4356|0;i=0;h=0;f=f<<24>>24;while(1){do if(!(g<<24>>24))if((h|0)<(f+-1|0)){o=(ni(E)|0)+1|0;break}else{o=(b[p>>1]|0)-i|0;break}else{o=b[p>>1]|0;o=((w(h+1|0,o)|0)/(f|0)|0)-((w(h,o)|0)/(f|0)|0)|0}while(0);g=a[v>>0]|0;if(g<<24>>24>0){j=c[q>>2]|0;k=a[u>>0]|0;l=i&255;m=o&65535;n=g<<24>>24;f=0;do{F=j+((w(f,k)|0)*6|0)+(h*6|0)|0;a[F>>0]=l;b[F+2>>1]=m;f=f+1|0}while((f|0)<(n|0))}i=o+i|0;h=h+1|0;if(!((o|0)>0?(i|0)<=(b[p>>1]|0):0)){f=980;break}f=a[u>>0]|0;j=f<<24>>24;if((h|0)>=(j|0))break b;g=a[t>>0]|0;f=j}return f|0}else g=a[v>>0]|0;while(0);c:do if(g<<24>>24>0){k=s+(r*8976|0)+4120|0;l=C+4356|0;i=0;j=0;g=g<<24>>24;while(1){do if(!(a[t>>0]|0))if((j|0)<(g+-1|0)){g=(ni(E)|0)+1|0;h=a[u>>0]|0;break}else{g=(b[k>>1]|0)-i|0;h=f;break}else{h=b[k>>1]|0;g=((w(j+1|0,h)|0)/(g|0)|0)-((w(j,h)|0)/(g|0)|0)|0;h=f}while(0);if(h<<24>>24>0?(y=h<<24>>24,s=c[l>>2]|0,z=i&255,A=g&65535,F=w(j,y)|0,B=s+(F*6|0)|0,a[s+(F*6|0)+1>>0]=z,b[s+(F*6|0)+4>>1]=A,h<<24>>24!=1):0){f=1;do{F=B+(f*6|0)|0;a[F+1>>0]=z;b[F+4>>1]=A;f=f+1|0}while((f|0)<(y|0))}i=g+i|0;j=j+1|0;if(!((g|0)>0?(i|0)<=(b[k>>1]|0):0)){f=980;break}g=a[v>>0]|0;if((j|0)>=(g|0))break c;else f=h}return f|0}while(0);a[x>>0]=Rh(E,1)|0}a[C+4386>>0]=Rh(E,1)|0;F=(Rh(E,1)|0)&255;a[C+4387>>0]=F;f=C+4388|0;g=C+4390|0;h=C+4391|0;c[f>>2]=0;if(F<<24>>24?(a[f>>0]=Rh(E,1)|0,F=(Rh(E,1)|0)&255,a[C+4389>>0]=F,F<<24>>24==0):0){a[g>>0]=oi(E)|0;a[h>>0]=oi(E)|0}F=(Rh(E,1)|0)&255;a[C+4392>>0]=F;if(F<<24>>24){Dn(c[D>>2]|0,26144,192)|0;f=(c[D>>2]|0)+192|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+320|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+448|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+576|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+704|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+832|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));Dn((c[D>>2]|0)+960|0,28448,512)|0;Dn((c[D>>2]|0)+1472|0,28448,512)|0;Dn((c[D>>2]|0)+1984|0,28448,512)|0;Dn((c[D>>2]|0)+2496|0,28960,512)|0;Dn((c[D>>2]|0)+3008|0,28960,512)|0;Dn((c[D>>2]|0)+3520|0,28960,512)|0;Dn((c[D>>2]|0)+4032|0,29472,2048)|0;Dn((c[D>>2]|0)+6080|0,31520,2048)|0;pi(e,c[D>>2]|0)|0}a[C+4393>>0]=Rh(E,1)|0;a[C+4395>>0]=(ni(E)|0)+2;a[C+4396>>0]=Rh(E,1)|0;Rh(E,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){F=979;return F|0}c[e+116>>2]=1;F=0;return F|0}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=(((c[b>>2]|0)+127&-64)+-1|0)/64|0;f=(((c[b+4>>2]|0)+127&-64)+-1|0)/64|0;g=c[b+300>>2]|0;h=g+(e*68|0)|0;i=g+(d*68|0)|0;j=c[i>>2]|0;k=g+(d*68|0)+4|0;l=c[k>>2]|0;n=i;o=h;p=n+68|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[i>>2]=j;c[k>>2]=l;Dn(j|0,c[h>>2]|0,8128)|0;Dn(c[k>>2]|0,c[g+(e*68|0)+4>>2]|0,w(m*6|0,f)|0)|0;a[g+(d*68|0)+67>>0]=1;c[b+356>>2]=i;return}function ei(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+376|0;d=fi(g)|0;if(d>>>0>8){e=0;f=0;do{if((gi(g,8)|0)==255){d=e;do{hi(g,8);d=d+255|0}while((gi(g,8)|0)==255)}else d=e;e=(Rh(g,8)|0)+d|0;if((gi(g,8)|0)==255){d=f;do{hi(g,8);d=d+255|0}while((gi(g,8)|0)==255)}else d=f;d=(Rh(g,8)|0)+d|0;f=(fi(g)|0)>>>3;f=d>>>0<f>>>0?d:f;ii(b,e,f,a[c>>0]|0);d=fi(g)|0}while(d>>>0>8)}if(!d)return 0;if((Rh(g,1)|0)!=1)return 0;d=d+-1|0;if(!d)return 0;e=d;do{Rh(g,1)|0;e=e+-1|0}while((e|0)!=0);if(d>>>0<8)return 0;else O(142267,142277,2795,142308);return 0}function fi(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=(c[a+4>>2]|0)+-64+((c[a+8>>2]|0)-d<<3)|0;a=((c[a+20>>2]|0)-d<<3)+-64|0;return (a>>>0>b>>>0?a-b|0:0)|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;f=32-b|0;e=c[a+12>>2]<<d>>>f;if(d>>>0<=f>>>0){f=e;return f|0}b=64-b-d|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=b|e;return f|0}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;if(b>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[d>>2]=b+-32;c[e>>2]=Cn(a|0)|0;return}function ii(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;h=c[b+296>>2]|0;g=0;while(1){i=g+1|0;if(i>>>0<17?(a[h+(g*8976|0)+8972>>0]|0)==0:0)g=i;else break}g=h+(g*8976|0)|0;j=b+376|0;if(!g)return;a:do if(f<<24>>24==39)switch(d|0){case 0:{a[b+1464>>0]=1;ji(b,g)|0;break a}case 1:{a[b+1464>>0]=1;ki(b,g)|0;break a}case 136:{a[b+1464>>0]=1;li(b)|0;break a}case 137:{a[b+1470>>0]=1;mi(b)|0;break a}case 4:{a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Rh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Rh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Rh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{hi(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}hi(j,e-g<<3);break a}default:{if(!e)break a;g=0;do{hi(j,8);g=g+1|0}while((g|0)!=(e|0))}}else{if((d|0)!=4){if(!e)break;g=0;while(1){hi(j,8);g=g+1|0;if((g|0)==(e|0))break a}}a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Rh(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Rh(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Rh(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{hi(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}hi(j,e-g<<3)}while(0);g=fi(j)|0;if(!g)return;if((g|0)>9)while(1){Rh(j,1)|0;h=g+-1|0;if((g|0)>10)g=h;else{g=h;break}}i=gi(j,g)|0;h=0;while(1)if(!(255>>>h&i))break;else h=h+1|0;h=9-h|0;do{Rh(j,1)|0;e=g;g=g+-1|0}while((e|0)>(h|0));if(!g)return;do{Rh(j,1)|0;g=g+-1|0}while((g|0)!=0);return}function ji(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+376|0;a[b+1466>>0]=1;a[b+1480>>0]=ni(j)|0;k=e+223|0;if(!(a[k>>0]|0)){f=(Rh(j,1)|0)&255;i=b+1482|0;a[i>>0]=f}else{f=b+1482|0;i=f;f=a[f>>0]|0}if(!(f<<24>>24)){c[b+1484>>2]=0;f=e+241|0;g=0}else{f=e+241|0;c[b+1484>>2]=Rh(j,(d[f>>0]|0)+1|0)|0;g=Rh(j,(d[e+242>>0]|0)+1|0)|0}c[b+1488>>2]=g;a[b+1492>>0]=Rh(j,1)|0;c[b+1496>>2]=Rh(j,(d[f>>0]|0)+1|0)|0;if(a[e+220>>0]|0){g=d[e+271>>0]|0;h=e+240|0;f=0;while(1){c[b+1500+(f<<2)>>2]=Rh(j,(d[h>>0]|0)+1|0)|0;c[b+1756+(f<<2)>>2]=Rh(j,(d[h>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+1628+(f<<2)>>2]=Rh(j,(d[h>>0]|0)+1|0)|0;c[b+1884+(f<<2)>>2]=Rh(j,(d[h>>0]|0)+1|0)|0}if((f|0)==(g|0))break;else f=f+1|0}}if(!(a[e+221>>0]|0))return 0;h=d[e+271>>0]|0;g=e+240|0;f=0;while(1){c[b+2012+(f<<2)>>2]=Rh(j,(d[g>>0]|0)+1|0)|0;c[b+2268+(f<<2)>>2]=Rh(j,(d[g>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+2140+(f<<2)>>2]=Rh(j,(d[g>>0]|0)+1|0)|0;c[b+2396+(f<<2)>>2]=Rh(j,(d[g>>0]|0)+1|0)|0}if((f|0)==(h|0))break;else f=f+1|0}return 0}function ki(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+376|0;a[b+1467>>0]=1;if(a[e+184>>0]|0){c[b+2548>>2]=Rh(i,4)|0;c[b+2552>>2]=Rh(i,2)|0;a[b+2556>>0]=Rh(i,1)|0}if((a[e+220>>0]|0)==0?(a[e+221>>0]|0)==0:0)return 0;c[b+2560>>2]=Rh(i,(d[e+241>>0]|0)+1|0)|0;c[b+2564>>2]=Rh(i,(d[e+242>>0]|0)+1|0)|0;f=e+223|0;if(!(a[f>>0]|0))return 0;c[b+2568>>2]=Rh(i,(d[e+227>>0]|0)+1|0)|0;if(!(a[f>>0]|0))return 0;if(!(a[e+226>>0]|0))return 0;f=ni(i)|0;g=b+2572|0;c[g>>2]=f>>>0<269?f:269;f=(Rh(i,1)|0)&255;h=b+2576|0;a[h>>0]=f;e=e+225|0;if(f<<24>>24)c[b+2580>>2]=Rh(i,(d[e>>0]|0)+1|0)|0;f=0;do{c[b+2584+(f<<2)>>2]=ni(i)|0;if((a[h>>0]|0)==0?f>>>0<(c[g>>2]|0)>>>0:0)c[b+3664+(f<<2)>>2]=Rh(i,(d[e>>0]|0)+1|0)|0;f=f+1|0}while(f>>>0<=(c[g>>2]|0)>>>0);return 0}function li(c){c=c|0;var e=0,f=0,g=0,h=0;g=c+376|0;a[c+1477>>0]=1;f=Rh(g,2)|0;h=c+5904|0;a[h>>0]=f;if(!(f&255))return 0;f=0;do{e=(Rh(g,1)|0)&255;a[c+5905+f>>0]=e;if(e<<24>>24){a[c+5908+f>>0]=Rh(g,1)|0;a[c+5911+f>>0]=Rh(g,5)|0;e=c+5914+f|0;a[e>>0]=Rh(g,1)|0;a[c+5917+f>>0]=Rh(g,1)|0;a[c+5920+f>>0]=Rh(g,1)|0;b[c+5924+(f<<1)>>1]=Rh(g,9)|0;if(!(a[e>>0]|0)){e=(Rh(g,1)|0)&255;a[c+5930+f>>0]=e;if((e<<24>>24?(a[c+5939+f>>0]=Rh(g,6)|0,e=(Rh(g,1)|0)&255,a[c+5933+f>>0]=e,e<<24>>24):0)?(a[c+5942+f>>0]=Rh(g,6)|0,e=(Rh(g,1)|0)&255,a[c+5936+f>>0]=e,e<<24>>24):0)a[c+5945+f>>0]=Rh(g,5)|0}else{a[c+5939+f>>0]=Rh(g,6)|0;a[c+5942+f>>0]=Rh(g,6)|0;a[c+5945+f>>0]=Rh(g,5)|0}e=Rh(g,5)|0;a[c+5948+f>>0]=e;e=e&255;if(!e)e=0;else e=(Rh(g,e)|0)&255;a[c+5951+f>>0]=e}f=f+1|0}while(f>>>0<(d[h>>0]|0)>>>0);return 0}function mi(d){d=d|0;var e=0;e=d+376|0;a[d+1470>>0]=1;b[d+5076>>1]=Rh(e,16)|0;b[d+5082>>1]=Rh(e,16)|0;b[d+5078>>1]=Rh(e,16)|0;b[d+5084>>1]=Rh(e,16)|0;b[d+5080>>1]=Rh(e,16)|0;b[d+5086>>1]=Rh(e,16)|0;b[d+5088>>1]=Rh(e,16)|0;b[d+5090>>1]=Rh(e,16)|0;c[d+5092>>2]=Rh(e,32)|0;c[d+5096>>2]=Rh(e,32)|0;return 0}function ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=x(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Cn(j|0)|0}else e=b;if(!f){j=0;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Cn(i|0)|0;j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}function oi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=x(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=Cn(j|0)|0}else e=b;do if(!f)b=0;else{b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32)break}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=Cn(i|0)|0}while(0);j=(b+(1<<f)|0)>>>1;return ((b&1|0)==0?j:0-j|0)|0}function pi(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=a+376|0;j=0;do{q=(j|0)==3?2:6;r=j*6|0;s=(j<<1)+4|0;t=1<<s;t=(t|0)<64?t:64;k=j>>>0>1;l=2<<s;m=(j|0)==2;j=j+1|0;n=25168+(j<<2)|0;i=0;do{h=Rh(p,1)|0;o=e+(c[37280+(i+r<<2)>>2]<<1)|0;a:do if(!h){a=ni(p)|0;a=(a|0)>(i|0)?i:(a|0)>0?a:0;if(a|0)Dn(o|0,o+(0-(a<<s)<<1)|0,l|0)|0}else{if(!k){g=c[n>>2]|0;a=0;f=8;while(1){f=(f+256+(oi(p)|0)|0)%256|0;b[o+((d[g+a>>0]|0)<<1)>>1]=f;a=a+1|0;if((a|0)>=(t|0))break a}}h=(oi(p)|0)+8|0;if(!m){g=h&65535;f=0;a=h;while(1){a=(a+256+(oi(p)|0)|0)%256|0;h=d[24608+f>>0]|0;h=h>>>3<<7|h<<2&28;u=a&65535;b[o+(h<<1)>>1]=u;b[o+((h|1)<<1)>>1]=u;b[o+((h|2)<<1)>>1]=u;b[o+((h|3)<<1)>>1]=u;b[o+((h|32)<<1)>>1]=u;b[o+((h|33)<<1)>>1]=u;b[o+((h|34)<<1)>>1]=u;b[o+((h|35)<<1)>>1]=u;b[o+((h|64)<<1)>>1]=u;b[o+((h|65)<<1)>>1]=u;b[o+((h|66)<<1)>>1]=u;b[o+((h|67)<<1)>>1]=u;b[o+((h|96)<<1)>>1]=u;b[o+((h|97)<<1)>>1]=u;b[o+((h|98)<<1)>>1]=u;b[o+((h|99)<<1)>>1]=u;b[o>>1]=g;f=f+1|0;if((f|0)>=(t|0))break a}}a=0;f=h;do{f=(f+256+(oi(p)|0)|0)%256|0;u=d[24608+a>>0]|0;u=u>>>3<<5|u<<1&14;g=f&65535;b[o+(u<<1)>>1]=g;b[o+((u|1)<<1)>>1]=g;b[o+((u|16)<<1)>>1]=g;b[o+((u|17)<<1)>>1]=g;a=a+1|0}while((a|0)<(t|0));b[o>>1]=h}while(0);i=i+1|0}while((i|0)!=(q|0))}while((j|0)!=4);return 0}function qi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;ti(b,c);a[c+48>>0]=Rh(b,8)|0;f=(d|0)>0;if(!f)return;e=0;do{a[c+49+e>>0]=Rh(b,1)|0;a[c+55+e>>0]=Rh(b,1)|0;e=e+1|0}while((e|0)!=(d|0));if((d+-1|0)>>>0<7){e=d;while(1){Rh(b,2)|0;if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{if(a[c+49+e>>0]|0)ti(b,c+61+(e*49|0)|0);if(a[c+55+e>>0]|0)a[c+61+(e*49|0)+48>>0]=Rh(b,8)|0;e=e+1|0}while((e|0)!=(d|0));return}function ri(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((f|0)>0){n=(Rh(c,1)|0)&255;a[g+32>>0]=n;if(n<<24>>24){if((f|0)==(e|0)){l=ni(c)|0;m=f+-1|0;n=m-l|0;n=(l|0)<0?m:(n|0)>0?n:0}else{n=f+-1|0;n=(n|0)>0?n:0}l=Rh(c,1)|0;l=w(1-(l<<1)|0,(ni(c)|0)+1|0)|0;m=d+(n*70|0)+67|0;f=a[m>>0]|0;if(f<<24>>24>=0){k=0;j=0;h=0;e=0;while(1){f=Rh(c,1)|0;a[g+35+j>>0]=f;if(!f)f=(Rh(c,1)|0)<<1;if((f+-1|0)>>>0<2){if((k|0)<(a[m>>0]|0))i=b[d+(n*70|0)+(k<<1)>>1]|0;else i=0;p=i+l|0;b[g+(j<<1)>>1]=p;p=p>>>31;i=j+1|0;h=(p^1)+h|0;e=p+e|0}else i=j;a[g+51+k>>0]=f;f=a[m>>0]|0;if((k|0)<(f<<24>>24|0)){k=k+1|0;j=i}else break}if((e|0)>0)if((e|0)<15)o=18;else e=15;else{e=0;o=18}}else{h=0;e=0;o=18}p=e^15;p=(h|0)>(p|0)?p:(h|0)>0?h:0;n=p+e|0;a[g+68>>0]=(f&255)+1;a[g+67>>0]=n;a[g+34>>0]=p;a[g+33>>0]=e;if(n>>>0>1){f=1;do{j=b[g+(f<<1)>>1]|0;k=a[g+35+f>>0]|0;h=f;do{i=h;h=h+-1|0;l=g+(h<<1)|0;m=b[l>>1]|0;if(j<<16>>16<m<<16>>16){b[g+(i<<1)>>1]=m;p=g+35+h|0;a[g+35+i>>0]=a[p>>0]|0;b[l>>1]=j;a[p>>0]=k}}while((i|0)>1);f=f+1|0}while(f>>>0<n>>>0)}h=e>>>1;if(!h)return 0;f=0;do{e=e+-1|0;p=g+(f<<1)|0;d=b[p>>1]|0;n=g+35+f|0;c=a[n>>0]|0;o=g+(e<<1)|0;b[p>>1]=b[o>>1]|0;p=g+35+e|0;a[n>>0]=a[p>>0]|0;b[o>>1]=d;a[p>>0]=c;f=f+1|0}while((f|0)!=(h|0));return 0}}else a[g+32>>0]=0;j=ni(c)|0;i=g+33|0;f=j<<24;a[i>>0]=(f|0)>251658240?15:(f|0)<0?0:j&255;j=(ni(c)|0)<<24;f=j>>24;p=a[i>>0]|0;e=p<<24>>24;o=15-e|0;f=(f|0)>(o|0)?o:(j|0)<0?0:f;a[g+34>>0]=f;f=f+(p&255)&255;j=g+67|0;a[j>>0]=f;if(p<<24>>24>0){e=0;f=0;do{e=e+-1-(ni(c)|0)|0;b[g+(f<<1)>>1]=e;a[g+35+f>>0]=Rh(c,1)|0;f=f+1|0;h=a[i>>0]|0}while((f|0)<(h<<24>>24|0));e=h<<24>>24;f=a[j>>0]|0}if((e|0)>=(f<<24>>24|0))return 0;f=0;do{f=f+1+(ni(c)|0)|0;b[g+(e<<1)>>1]=f;a[g+35+e>>0]=Rh(c,1)|0;e=e+1|0}while((e|0)<(a[j>>0]|0));return 0}function si(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((e|0)<0)return;if(!f){f=0;while(1){c[d+(f<<2)>>2]=ni(b)|0;c[d+128+(f<<2)>>2]=ni(b)|0;a[d+512+f>>0]=Rh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}else{f=0;while(1){c[d+(f<<2)>>2]=ni(b)|0;c[d+128+(f<<2)>>2]=ni(b)|0;c[d+256+(f<<2)>>2]=ni(b)|0;c[d+384+(f<<2)>>2]=ni(b)|0;a[d+512+f>>0]=Rh(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}}function ti(b,c){b=b|0;c=c|0;a[c>>0]=Rh(b,2)|0;a[c+1>>0]=Rh(b,1)|0;a[c+2>>0]=Rh(b,5)|0;a[c+3>>0]=Rh(b,1)|0;a[c+4>>0]=Rh(b,1)|0;a[c+5>>0]=Rh(b,1)|0;a[c+6>>0]=Rh(b,1)|0;a[c+7>>0]=Rh(b,1)|0;a[c+8>>0]=Rh(b,1)|0;a[c+9>>0]=Rh(b,1)|0;a[c+10>>0]=Rh(b,1)|0;a[c+11>>0]=Rh(b,1)|0;a[c+12>>0]=Rh(b,1)|0;a[c+13>>0]=Rh(b,1)|0;a[c+14>>0]=Rh(b,1)|0;a[c+15>>0]=Rh(b,1)|0;a[c+16>>0]=Rh(b,1)|0;a[c+17>>0]=Rh(b,1)|0;a[c+18>>0]=Rh(b,1)|0;a[c+19>>0]=Rh(b,1)|0;a[c+20>>0]=Rh(b,1)|0;a[c+21>>0]=Rh(b,1)|0;a[c+22>>0]=Rh(b,1)|0;a[c+23>>0]=Rh(b,1)|0;a[c+24>>0]=Rh(b,1)|0;a[c+25>>0]=Rh(b,1)|0;a[c+26>>0]=Rh(b,1)|0;a[c+27>>0]=Rh(b,1)|0;a[c+28>>0]=Rh(b,1)|0;a[c+29>>0]=Rh(b,1)|0;a[c+30>>0]=Rh(b,1)|0;a[c+31>>0]=Rh(b,1)|0;a[c+32>>0]=Rh(b,1)|0;a[c+33>>0]=Rh(b,1)|0;a[c+34>>0]=Rh(b,1)|0;a[c+35>>0]=Rh(b,1)|0;a[c+36>>0]=Rh(b,1)|0;a[c+37>>0]=Rh(b,1)|0;a[c+38>>0]=Rh(b,1)|0;Rh(b,16)|0;Rh(b,16)|0;Rh(b,12)|0;return}function ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+644>>2]|0;a=f+(b*1272|0)+184|0;e=c[a>>2]|0;Dn(f+(b*1272|0)|0,f+(d*1272|0)|0,1272)|0;c[a>>2]=e;return}function vi(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e+-1|0;j=32-(x(e|0)|0)+(((i&e|0)==0)<<31>>31)|0;h=c+76|0;if((d[h>>0]|0)>=2)return 0;f=(Rh(b,1)|0)&255;a[c+708>>0]=f;if(f<<24>>24?(g=c+160|0,(a[g>>0]|0)>0):0){f=0;do{l=(Rh(b,j)|0)<<24;k=l>>24;a[c+709+f>>0]=(k|0)<(e|0)?((l|0)<0?0:k):i;f=f+1|0}while((f|0)<(a[g>>0]|0))}if(a[h>>0]|0)return 0;l=(Rh(b,1)|0)&255;a[c+725>>0]=l;if(!(l<<24>>24))return 0;g=c+161|0;if((a[g>>0]|0)<=0)return 0;f=0;do{k=(Rh(b,j)|0)<<24;l=k>>24;a[c+726+f>>0]=(l|0)<(e|0)?((k|0)<0?0:l):i;f=f+1|0}while((f|0)<(a[g>>0]|0));return 0}function wi(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+258|0;a[m>>0]=ni(c)|0;l=e+15|0;if(a[l>>0]|0){k=oi(c)|0;a[g+259>>0]=k+(d[m>>0]|0)}k=g+160|0;e=a[k>>0]|0;f=e<<24>>24;if(e<<24>>24>0){h=0;do{a[g+260+h>>0]=Rh(c,1)|0;h=h+1|0;e=a[k>>0]|0;f=e<<24>>24}while((h|0)<(f|0))}if(!(a[l>>0]|0))if((f|0)>0){Fn(g+276|0,0,f|0)|0;i=e;j=12}else{i=e;j=12}else if(e<<24>>24>0){f=0;do{a[g+276+f>>0]=Rh(c,1)|0;f=f+1|0;e=a[k>>0]|0}while((f|0)<(e<<24>>24|0));i=e;j=12}if((j|0)==12?i<<24>>24>0:0){h=g+259|0;e=0;do{if(!(a[g+260+e>>0]|0)){b[g+292+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=oi(c)|0;b[g+292+(e<<1)>>1]=(1<<a[m>>0])+f;f=(oi(c)|0)&65535}b[g+324+(e<<1)>>1]=f;if(!(a[g+276+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+356+(e<<1)>>1]=f;b[g+420+(e<<1)>>1]=f;b[g+388+(e<<1)>>1]=0;f=0}else{f=oi(c)|0;j=g+356+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=oi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;b[g+388+(e<<1)>>1]=(j|0)>-1?127:((f|0)>-128?f:-128)&65535;f=oi(c)|0;j=g+420+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=oi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;f=(j|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+452+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[k>>0]|0))}if(a[g+76>>0]|0)return 0;i=g+161|0;f=a[i>>0]|0;e=f<<24>>24;if(f<<24>>24>0){h=0;do{a[g+484+h>>0]=Rh(c,1)|0;h=h+1|0;f=a[i>>0]|0;e=f<<24>>24}while((h|0)<(e|0))}if(!(a[l>>0]|0)){if((e|0)>0)Fn(g+500|0,0,e|0)|0}else{if(f<<24>>24<=0)return 0;e=0;do{a[g+500+e>>0]=Rh(c,1)|0;e=e+1|0;f=a[i>>0]|0}while((e|0)<(f<<24>>24|0))}if(f<<24>>24<=0)return 0;h=g+259|0;e=0;do{if(!(a[g+484+e>>0]|0)){b[g+516+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=oi(c)|0;b[g+516+(e<<1)>>1]=(1<<a[m>>0])+f;f=(oi(c)|0)&65535}b[g+548+(e<<1)>>1]=f;if(!(a[g+500+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+580+(e<<1)>>1]=f;b[g+644+(e<<1)>>1]=f;b[g+612+(e<<1)>>1]=0;f=0}else{f=oi(c)|0;l=g+580+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=oi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;b[g+612+(e<<1)>>1]=(l|0)>-1?127:((f|0)>-128?f:-128)&65535;f=oi(c)|0;l=g+644+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=oi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;f=(l|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+676+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[i>>0]|0));return 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;i=a[d>>0]|0;e=e<<24>>24;h=1<<e;g=(c[b+124>>2]|0)==0;if(g?(c[b+84>>2]|0)==0:0)c[b+11568>>2]=-2<<e;switch(i<<24>>24){case 16:case 17:case 18:case 19:case 20:{e=6;break}case 21:{if(g)e=6;else e=7;break}default:e=7}do if((e|0)==6){g=(c[b+11568>>2]|0)+(h<<1)|0;c[b+11564>>2]=0;c[b+11572>>2]=0}else if((e|0)==7){e=c[b+11564>>2]|0;if((e|0)>(f|0)?(e-f|0)>=((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)+h|0;break}if((e|0)<(f|0)?(f-e|0)>((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)-h|0;break}g=c[b+11568>>2]|0}while(0);e=g+f|0;h=b+11572|0;j=c[h>>2]|0;c[h>>2]=(j|0)>(f|0)?j:f;if(!((i&-8)<<24>>24==16|i<<24>>24<16&(i&1)!=0))return e|0;if(!((i+-6&255)>3&(a[d+1>>0]|0)==0))return e|0;c[b+11564>>2]=f;c[b+11568>>2]=g;return e|0}function yi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=Zb;Zb=Zb+672|0;E=M+608|0;u=M+544|0;A=M+480|0;F=M+416|0;t=M+352|0;r=M+336|0;s=M+320|0;C=M+256|0;z=M+192|0;D=M+128|0;v=M+64|0;G=M;I=c[e+276>>2]|0;J=e+224|0;H=c[J>>2]|0;p=a[g+23>>0]|0;q=c[h+84>>2]|0;if((a[h+88>>0]|0)==1){n=a[h+89>>0]|0;m=a[g+4488+(n*70|0)+33>>0]|0;l=a[g+4488+(n*70|0)+34>>0]|0;o=g+4488+(n*70|0)+35|0;n=g+4488+(n*70|0)|0}else{m=a[h+221>>0]|0;l=a[h+222>>0]|0;o=h+223|0;n=h+188|0}if((m|0)>0){j=0;f=0;i=0;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(f<<2)>>2]=g;f=f+1|0}else{c[E+(i<<2)>>2]=g;i=i+1|0}j=j+1|0}while((j|0)!=(m|0));g=f;B=i}else{g=0;B=0}k=m+l|0;if((l|0)>0){f=0;j=m;i=g;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(i<<2)>>2]=g;i=i+1|0}else{c[A+(f<<2)>>2]=g;f=f+1|0}j=j+1|0}while((j|0)<(k|0));x=f}else{x=0;i=g}m=(a[h+91>>0]|0)+(a[h+90>>0]|0)|0;if((m|0)>0){n=h+80|0;f=0;k=0;l=0;while(1){g=c[h+4+(l<<2)>>2]|0;j=a[h+124+l>>0]|0;if(j<<24>>24)g=g+q-(c[n>>2]|0)-(a[h+140+l>>0]<<p)|0;if(!(a[h+108+l>>0]|0)){c[t+(f<<2)>>2]=g;a[s+f>>0]=j;f=f+1|0;g=k}else{c[F+(k<<2)>>2]=g;a[r+k>>0]=j;g=k+1|0}l=l+1|0;if((l|0)>=(m|0)){j=f;y=g;break}else k=g}}else{j=0;y=0}p=x+B+y|0;if(!(c[e+84>>2]|0)){f=0;do{g=c[I+4+(f<<3)>>2]|0;if(g|0)a[g+20>>0]=0;f=f+1|0}while((f|0)!=64)}w=(y|0)>0;if(w){g=0;do{f=c[F+(g<<2)>>2]|0;if(!(a[r+g>>0]|0)){f=Qe(I,f)|0;if(f)a[f+20>>0]=1}else{f=Pe(I,f)|0;if(f)a[f+20>>0]=1}c[C+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(y|0))}if((j|0)>0){g=0;do{f=c[t+(g<<2)>>2]|0;if(!(a[s+g>>0]|0)){f=Qe(I,f)|0;if(f|0)a[f+20>>0]=1}else{f=Pe(I,f)|0;if(f|0)a[f+20>>0]=1}g=g+1|0}while((g|0)!=(j|0))}q=(B|0)>0;if(q){f=0;do{g=Pe(I,c[E+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[D+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(B|0))}o=(x|0)>0;if(o){f=0;do{g=Pe(I,c[A+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[z+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(x|0))}if((i|0)>0){f=0;do{g=Pe(I,c[u+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;f=f+1|0}while((f|0)!=(i|0))}l=h+160|0;k=a[l>>0]|0;k=(p|0)>(k|0)?p:k;n=h+76|0;a:do if((d[n>>0]|0)<2){b:do if(k|0){if(!q){f=0;while(1){if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}if(f>>>0>=k>>>0)break b}}f=0;do{if(f>>>0<k>>>0){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}while(0);f=a[l>>0]|0;c:do if(f<<24>>24>0){m=(a[h+708>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+709+k>>0]|0;f=c[v+(f<<2)>>2]|0;c[h+876+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;d:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break d;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+876+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break c}Zb=M;return f|0}while(0);if(!(a[n>>0]|0)){l=h+161|0;f=a[l>>0]|0;k=f<<24>>24;k=(p|0)>(k|0)?p:k;if(k){if(o){f=0;do{if(f>>>0<k>>>0){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}else{f=0;do{if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Oe(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}f=a[l>>0]|0}if(f<<24>>24>0){m=(a[h+725>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+726+k>>0]|0;f=c[G+(f<<2)>>2]|0;c[h+1068+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;e:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break e;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+1068+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break a}Zb=M;return f|0}}}while(0);k=e+244|0;l=e+228|0;j=e+232|0;i=0;while(1){f=c[I+4+(i<<3)>>2]|0;f:do if((f|0?(a[f+20>>0]|0)==0:0)?(K=f+8|0,Ne(I,c[k>>2]|0,c[K>>2]|0),L=c[j>>2]|0,(L|0)>0):0){f=0;g=c[l>>2]|0;while(1){if(g|0?(c[g+16>>2]|0)==(c[K>>2]|0):0)break;f=f+1|0;if((f|0)<(L|0))g=g+40980|0;else break f}ie(c[J>>2]|0,f,2)|0}while(0);i=i+1|0;if((i|0)==64){f=0;break}}Zb=M;return f|0}function zi(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;if(!b)return;if((e|0)==0|(f|0)==0)f=1;else{c[b+32>>2]=e;c[b+12>>2]=f;k=b+16|0;c[k>>2]=f;j=e;a:do if(f>>>0>3){i=(d[e+2>>0]|0)<<8|(d[e+3>>0]|0)|(d[e+1>>0]|0)<<16|(d[e>>0]|0)<<24;h=f+-4|0;c[k>>2]=h;c[b>>2]=i;i=e+4|0;if(h>>>0>3){g=(d[e+6>>0]|0)<<8|(d[e+7>>0]|0)|(d[e+5>>0]|0)<<16|(d[i>>0]|0)<<24;f=f+-8|0;break}switch(f|0){case 7:{f=a[e+6>>0]|0;l=13;break}case 6:{f=0;l=13;break}case 5:{f=0;g=0;break}default:{f=0;h=0;g=0;l=15;break a}}if((l|0)==13)g=a[e+5>>0]|0;h=g;g=a[i>>0]|0;l=15}else{switch(f|0){case 3:{f=a[e+2>>0]|0;l=6;break}case 2:{f=0;l=6;break}case 1:{f=0;g=0;l=7;break}default:{f=0;g=0;h=0}}if((l|0)==6){g=a[e+1>>0]|0;l=7}if((l|0)==7)h=a[e>>0]|0;c[k>>2]=0;c[b>>2]=(g&255)<<16|(h&255)<<24|(f&255)<<8;f=0;h=0;g=0;l=15}while(0);if((l|0)==15){g=(h&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[k>>2]=f;c[b+4>>2]=g;c[b+28>>2]=j;c[b+24>>2]=e+8;c[b+8>>2]=32;f=0}a[b+20>>0]=f;return}function Ai(a){a=a|0;return}function Bi(a){a=a|0;return -32-(c[a+8>>2]|0)+((c[a+24>>2]|0)-(c[a+28>>2]|0)<<3)|0}function Ci(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b+8|0;e=c[n>>2]|0;f=0-e&7;if(!f){n=0;return n|0}m=8-f|0;if(!(a[b+20>>0]|0)){if(e>>>0<=m>>>0){k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;f=c[l>>2]|0;h=b+24|0;i=c[h>>2]|0;if(f>>>0>3){b=d[i+2>>0]<<8|d[i+3>>0]|d[i+1>>0]<<16|d[i>>0]<<24;f=f+-4|0}else{switch(f|0){case 3:{f=a[i+2>>0]|0;j=8;break}case 2:{f=0;j=8;break}case 1:{f=0;b=0;j=9;break}default:{f=0;b=0;g=0}}if((j|0)==8){b=a[i+1>>0]|0;j=9}if((j|0)==9)g=a[i>>0]|0;b=(b&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[l>>2]=f;c[k>>2]=b;c[h>>2]=i+4;e=e+32|0}c[n>>2]=e-m}n=m&255;return n|0}function Di(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;i=b+4|0;c[b>>2]=c[i>>2];j=b+16|0;f=c[j>>2]|0;k=b+24|0;l=c[k>>2]|0;if(f>>>0>3){m=(d[l+2>>0]|0)<<8|(d[l+3>>0]|0)|(d[l+1>>0]|0)<<16|(d[l>>0]|0)<<24;h=f+-4|0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}switch(f|0){case 3:{f=a[l+2>>0]|0;m=5;break}case 2:{f=0;m=5;break}case 1:{f=0;g=0;m=6;break}default:{f=0;g=0;h=0}}if((m|0)==5){g=a[l+1>>0]|0;m=6}if((m|0)==6)h=a[l>>0]|0;m=(g&255)<<16|(h&255)<<24|(f&255)<<8;h=0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}function Ei(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;m=e>>5;k=e&31;e=(c[b+12>>2]|0)-(m<<2)|0;l=b+16|0;c[l>>2]=e;j=c[b+28>>2]|0;h=j+(m<<2)|0;a:do if(e>>>0>3){f=(d[h+2>>0]|0)<<8|(d[h+3>>0]|0)|(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24;h=e+-4|0;c[l>>2]=h;c[b>>2]=f;f=j+(m+1<<2)|0;if(h>>>0>3){i=(d[f+2>>0]|0)<<8|(d[f+3>>0]|0)|(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24;h=e+-8|0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}switch(e|0){case 7:{e=a[f+2>>0]|0;i=11;break}case 6:{e=0;i=11;break}case 5:{e=0;g=0;break}default:{e=0;g=0;f=0;break a}}if((i|0)==11)g=a[f+1>>0]|0;f=a[f>>0]|0}else{switch(e|0){case 3:{e=a[h+2>>0]|0;i=4;break}case 2:{e=0;i=4;break}case 1:{e=0;f=0;i=5;break}default:{e=0;g=0;f=0}}if((i|0)==4){f=a[h+1>>0]|0;i=5}if((i|0)==5){g=f;f=a[h>>0]|0}c[l>>2]=0;c[b>>2]=(g&255)<<16|(f&255)<<24|(e&255)<<8;e=0;g=0;f=0}while(0);i=(g&255)<<16|(f&255)<<24|(e&255)<<8;h=0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}function Fi(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>>3;d=c&7;e=Gi(f+1|0)|0;if(f|0){c=0;do{a[e+c>>0]=Hi(b,8)|0;c=c+1|0}while((c|0)!=(f|0))}if(!d)return e|0;a[e+f>>0]=(Hi(b,d)|0)<<8-d;return e|0}function Gi(a){a=a|0;return Wl(a)|0}function Hi(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;if(!e){o=0;return o|0}o=b+8|0;m=c[o>>2]|0;if(m>>>0<e>>>0){n=e-m|0;n=(c[b>>2]&(1<<m)+-1)<<n|(c[b+4>>2]|0)>>>(32-n|0)}else n=c[b>>2]<<32-m>>>(32-e|0);if(a[b+20>>0]|0){o=n;return o|0}if(m>>>0>e>>>0)b=m-e|0;else{k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;g=c[l>>2]|0;i=b+24|0;j=c[i>>2]|0;if(g>>>0>3){f=d[j+2>>0]<<8|d[j+3>>0]|d[j+1>>0]<<16|d[j>>0]<<24;b=g+-4|0}else{switch(g|0){case 3:{b=a[j+2>>0]|0;h=12;break}case 2:{b=0;h=12;break}case 1:{b=0;f=0;h=13;break}default:{b=0;f=0;g=0}}if((h|0)==12){f=a[j+1>>0]|0;h=13}if((h|0)==13)g=a[j>>0]|0;f=(f&255)<<16|(g&255)<<24|(b&255)<<8;b=0}c[l>>2]=b;c[k>>2]=f;c[i>>2]=j+4;b=32-e+m|0}c[o>>2]=b;o=n;return o|0}function Ii(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=w(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))Ji(k,q,d,v,g,h,i);else Ji(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))Ki(k,q,d,v,g);else Ki(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))Li(k,q,d,v,g,h,-1);else Li(k,q,v,d,g,h,-1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))Mi(k,q,d,v,g,h,i,j,-1);else Mi(k,q,v,d,g,h,i,j,-1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(w(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function Ji(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;x=+f[c+(h<<3)>>2];B=C+x;x=C-x;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];z=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];y=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=z+y;f[d+(h<<3)+4>>2]=z-y;h=i+s|0;f[d+(h<<3)>>2]=x-v;r=i+a|0;f[d+(r<<3)>>2]=x+v;f[d+(h<<3)+4>>2]=u-t;f[d+(r<<3)+4>>2]=u+t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=w(s,r)|0;k=w(a,s)|0;l=w(i,s)|0;p=0;do{if(!b){m=(w(q,p)|0)&65532;n=(w(p,r)|0)&65535;o=0;do{E=o+m|0;A=+f[c+(E<<3)>>2];D=E+a|0;u=+f[c+(D<<3)>>2];y=A+u;u=A-u;A=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=A+t;t=A-t;D=E+r|0;A=+f[c+(D<<3)>>2];E=E+i|0;z=+f[c+(E<<3)>>2];C=A+z;z=A-z;A=+f[c+(E<<3)+4>>2];B=+f[c+(D<<3)+4>>2];x=A+B;B=A-B;A=u-B;B=u+B;u=t-z;z=t+z;D=o+n|0;f[d+(D<<3)>>2]=y+C;C=y-C;f[d+(D<<3)+4>>2]=v+x;x=v-x;E=D+j|0;v=+f[e+(o<<3)>>2];y=+f[e+(o<<3)+4>>2];f[d+(E<<3)>>2]=A*v+u*y;f[d+(E<<3)+4>>2]=u*v-A*y;E=D+k|0;y=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)>>2]=C*y+x*A;f[d+(E<<3)+4>>2]=x*y-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)>>2]=B*A+z*C;f[d+(D<<3)+4>>2]=z*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function Ki(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=w(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(w(k,h)|0)&65534;g=(w(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];o=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];q=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)>>2]=o*p+q*n;f[d+(m<<3)+4>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function Li(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,x=0,y=0,z=0;l=a&65535;i=h<<24>>24==1;m=b&65535;h=b<<16>>16!=0;if(a<<16>>16==1)if(i){if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;r=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;n=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];q=p-r*.5;j=c+(j<<3)+4|0;o=+f[j>>2]-n*.5;f[d+(b<<3)>>2]=r+p;f[d+(b<<3)+4>>2]=n+ +f[j>>2];n=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=q-p;f[d+(l<<3)+4>>2]=o+n;l=b+h|0;f[d+(l<<3)>>2]=q+p;f[d+(l<<3)+4>>2]=o-n;b=b+1|0}while((b|0)!=(m|0));return}else{if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;n=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;r=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];o=p-n*.5;j=c+(j<<3)+4|0;q=+f[j>>2]-r*.5;f[d+(b<<3)>>2]=n+p;f[d+(b<<3)+4>>2]=r+ +f[j>>2];r=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=o+p;f[d+(l<<3)+4>>2]=q-r;l=b+h|0;f[d+(l<<3)>>2]=o-p;f[d+(l<<3)+4>>2]=q+r;b=b+1|0}while((b|0)!=(m|0));return}if(i){if(!h)return;j=w(m,l)|0;k=w(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=w((a*3|0)+1|0,l)|0;b=w(a,l)|0;i=0;do{v=i+h&65535;y=c+(v<<3)|0;t=v+l|0;x=c+(t<<3)|0;o=+f[y>>2]+ +f[x>>2];z=v-l|0;n=+f[c+(z<<3)>>2];p=n-o*.5;v=c+(v<<3)+4|0;t=c+(t<<3)+4|0;r=+f[v>>2]+ +f[t>>2];z=c+(z<<3)+4|0;u=+f[z>>2]-r*.5;s=i+b&65535;f[d+(s<<3)>>2]=n+o;f[d+(s<<3)+4>>2]=r+ +f[z>>2];r=(+f[y>>2]-+f[x>>2])*.8660253882408142;o=(+f[v>>2]-+f[t>>2])*.8660253882408142;n=p-o;q=u-r;o=p+o;r=u+r;t=s+j|0;u=+f[e+(i<<3)>>2];p=+f[e+(i<<3)+4>>2];f[d+(t<<3)+4>>2]=r*u+p*n;f[d+(t<<3)>>2]=u*n-r*p;s=s+k|0;p=+f[g+(i<<3)>>2];r=+f[g+(i<<3)+4>>2];f[d+(s<<3)+4>>2]=q*p+o*r;f[d+(s<<3)>>2]=o*p-q*r;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}else{if(!h)return;j=w(m,l)|0;k=w(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=w((a*3|0)+1|0,l)|0;b=w(a,l)|0;i=0;do{x=i+h&65535;t=c+(x<<3)|0;y=x+l|0;v=c+(y<<3)|0;r=+f[t>>2]+ +f[v>>2];s=x-l|0;q=+f[c+(s<<3)>>2];u=q-r*.5;x=c+(x<<3)+4|0;y=c+(y<<3)+4|0;n=+f[x>>2]+ +f[y>>2];s=c+(s<<3)+4|0;o=+f[s>>2]-n*.5;z=i+b&65535;f[d+(z<<3)>>2]=q+r;f[d+(z<<3)+4>>2]=n+ +f[s>>2];n=(+f[t>>2]-+f[v>>2])*.8660253882408142;r=(+f[x>>2]-+f[y>>2])*.8660253882408142;q=u+r;p=o+n;r=u-r;n=o-n;y=z+j|0;o=+f[e+(i<<3)>>2];u=+f[e+(i<<3)+4>>2];f[d+(y<<3)>>2]=n*u+o*q;f[d+(y<<3)+4>>2]=n*o-u*q;z=z+k|0;q=+f[g+(i<<3)>>2];u=+f[g+(i<<3)+4>>2];f[d+(z<<3)>>2]=r*q+p*u;f[d+(z<<3)+4>>2]=p*q-r*u;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}}function Mi(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0;s=a&65535;k=j<<24>>24==1;t=b&65535;j=b<<16>>16!=0;if(a<<16>>16==1)if(k){if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;x=+f[c+(s<<3)>>2];h=s+3|0;y=+f[c+(h<<3)>>2];B=x+y;F=+f[c+(s<<3)+4>>2];D=+f[c+(h<<3)+4>>2];A=F+D;h=s+1|0;v=+f[c+(h<<3)>>2];i=s+2|0;z=+f[c+(i<<3)>>2];G=v+z;u=+f[c+(h<<3)+4>>2];C=+f[c+(i<<3)+4>>2];E=u+C;z=v-z;C=u-C;y=x-y;D=F-D;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=G+(B+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=E+(A+ +f[s>>2]);F=+f[i>>2];x=B*.30901700258255005+F-G*.80901700258255;u=+f[s>>2];v=A*.30901700258255005+u-E*.80901700258255;B=G*.30901700258255005+(F-B*.80901700258255);A=E*.30901700258255005+(u-A*.80901700258255);u=y*.9510565400123596+z*.5877852439880371;z=y*.5877852439880371-z*.9510565400123596;y=D*.9510565400123596+C*.5877852439880371;C=D*.5877852439880371-C*.9510565400123596;s=a+t|0;f[d+(s<<3)>>2]=x-y;f[d+(s<<3)+4>>2]=u+v;s=a+j|0;f[d+(s<<3)>>2]=B-C;f[d+(s<<3)+4>>2]=z+A;s=a+b|0;f[d+(s<<3)>>2]=C+B;f[d+(s<<3)+4>>2]=A-z;s=a+k|0;f[d+(s<<3)>>2]=y+x;f[d+(s<<3)+4>>2]=v-u;a=a+1|0}while((a|0)!=(t|0));return}else{if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;D=+f[c+(s<<3)>>2];h=s+3|0;A=+f[c+(h<<3)>>2];z=D+A;v=+f[c+(s<<3)+4>>2];y=+f[c+(h<<3)+4>>2];C=v+y;h=s+1|0;G=+f[c+(h<<3)>>2];i=s+2|0;F=+f[c+(i<<3)>>2];u=G+F;B=+f[c+(h<<3)+4>>2];E=+f[c+(i<<3)+4>>2];x=B+E;F=G-F;E=B-E;A=D-A;y=v-y;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=u+(z+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=x+(C+ +f[s>>2]);v=+f[i>>2];D=z*.30901700258255005+v-u*.80901700258255;B=+f[s>>2];G=C*.30901700258255005+B-x*.80901700258255;z=u*.30901700258255005+(v-z*.80901700258255);C=x*.30901700258255005+(B-C*.80901700258255);B=A*.5877852439880371+F*.9510565400123596;F=A*.9510565400123596-F*.5877852439880371;A=y*.5877852439880371+E*.9510565400123596;E=y*.9510565400123596-E*.5877852439880371;s=a+t|0;f[d+(s<<3)>>2]=E+D;f[d+(s<<3)+4>>2]=G-F;s=a+j|0;f[d+(s<<3)>>2]=A+z;f[d+(s<<3)+4>>2]=C-B;s=a+b|0;f[d+(s<<3)>>2]=z-A;f[d+(s<<3)+4>>2]=B+C;s=a+k|0;f[d+(s<<3)>>2]=D-E;f[d+(s<<3)+4>>2]=F+G;a=a+1|0}while((a|0)!=(t|0));return}if(k){if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=w(t,s)|0;l=w(k,t)|0;m=w(b,t)|0;n=w(s<<2,t)|0;r=0;do{if(!j){o=w((r*5|0)+1|0,s)|0;p=w(r,s)|0;q=0;do{I=q+o&65535;u=+f[c+(I<<3)>>2];H=I+b|0;y=+f[c+(H<<3)>>2];C=u+y;B=+f[c+(I<<3)+4>>2];A=+f[c+(H<<3)+4>>2];x=B+A;H=I+s|0;v=+f[c+(H<<3)>>2];J=I+k|0;G=+f[c+(J<<3)>>2];D=v+G;F=+f[c+(H<<3)+4>>2];z=+f[c+(J<<3)+4>>2];E=F+z;G=v-G;z=F-z;y=u-y;A=B-A;I=I-s|0;J=c+(I<<3)|0;H=q+p&65535;f[d+(H<<3)>>2]=D+(C+ +f[J>>2]);I=c+(I<<3)+4|0;f[d+(H<<3)+4>>2]=E+(x+ +f[I>>2]);B=+f[J>>2];u=C*.30901700258255005+B-D*.80901700258255;F=+f[I>>2];v=x*.30901700258255005+F-E*.80901700258255;C=D*.30901700258255005+(B-C*.80901700258255);x=E*.30901700258255005+(F-x*.80901700258255);F=y*.9510565400123596+G*.5877852439880371;G=y*.5877852439880371-G*.9510565400123596;y=A*.9510565400123596+z*.5877852439880371;z=A*.5877852439880371-z*.9510565400123596;A=F+v;E=G+x;B=z+C;D=y+u;y=u-y;F=v-F;z=C-z;G=x-G;I=H+a|0;x=+f[e+(q<<3)>>2];C=+f[e+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=y*C+x*A;f[d+(I<<3)>>2]=x*y-C*A;I=H+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=E*A+z*C;f[d+(I<<3)>>2]=z*A-E*C;I=H+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=G*C+B*E;f[d+(I<<3)>>2]=B*C-G*E;H=H+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(H<<3)+4>>2]=F*E+D*G;f[d+(H<<3)>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}else{if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=w(t,s)|0;l=w(k,t)|0;m=w(b,t)|0;n=w(s<<2,t)|0;r=0;do{if(!j){o=w((r*5|0)+1|0,s)|0;p=w(r,s)|0;q=0;do{I=q+o&65535;C=+f[c+(I<<3)>>2];J=I+b|0;A=+f[c+(J<<3)>>2];E=C+A;G=+f[c+(I<<3)+4>>2];y=+f[c+(J<<3)+4>>2];B=G+y;J=I+s|0;D=+f[c+(J<<3)>>2];H=I+k|0;v=+f[c+(H<<3)>>2];F=D+v;x=+f[c+(J<<3)+4>>2];u=+f[c+(H<<3)+4>>2];z=x+u;v=D-v;u=x-u;A=C-A;y=G-y;I=I-s|0;H=c+(I<<3)|0;J=q+p&65535;f[d+(J<<3)>>2]=F+(E+ +f[H>>2]);I=c+(I<<3)+4|0;f[d+(J<<3)+4>>2]=z+(B+ +f[I>>2]);G=+f[H>>2];C=E*.30901700258255005+G-F*.80901700258255;x=+f[I>>2];D=B*.30901700258255005+x-z*.80901700258255;E=F*.30901700258255005+(G-E*.80901700258255);B=z*.30901700258255005+(x-B*.80901700258255);x=A*.5877852439880371+v*.9510565400123596;v=A*.9510565400123596-v*.5877852439880371;A=y*.5877852439880371+u*.9510565400123596;u=y*.9510565400123596-u*.5877852439880371;y=D-v;z=B-x;G=E-A;F=C-u;C=u+C;D=v+D;E=A+E;B=x+B;I=J+a|0;x=+f[e+(q<<3)>>2];A=+f[e+(q<<3)+4>>2];f[d+(I<<3)>>2]=x*C+A*y;f[d+(I<<3)+4>>2]=x*y-C*A;I=J+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)>>2]=E*A+z*C;f[d+(I<<3)+4>>2]=z*A-E*C;I=J+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)>>2]=G*C+B*E;f[d+(I<<3)+4>>2]=B*C-G*E;J=J+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(J<<3)>>2]=F*E+D*G;f[d+(J<<3)+4>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}}function Ni(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=w(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))Oi(k,q,d,v,g,h,i);else Oi(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))Pi(k,q,d,v,g);else Pi(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))Li(k,q,d,v,g,h,1);else Li(k,q,v,d,g,h,1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))Mi(k,q,d,v,g,h,i,j,1);else Mi(k,q,v,d,g,h,i,j,1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(w(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function Oi(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;x=+f[c+(h<<3)>>2];B=C+x;x=C-x;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];z=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];y=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=z+y;f[d+(h<<3)+4>>2]=z-y;h=i+s|0;f[d+(h<<3)>>2]=x+v;r=i+a|0;f[d+(r<<3)>>2]=x-v;f[d+(h<<3)+4>>2]=u+t;f[d+(r<<3)+4>>2]=u-t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=w(s,r)|0;k=w(a,s)|0;l=w(i,s)|0;p=0;do{if(!b){m=(w(q,p)|0)&65532;n=(w(p,r)|0)&65535;o=0;do{E=o+m|0;u=+f[c+(E<<3)>>2];D=E+a|0;A=+f[c+(D<<3)>>2];y=u+A;A=u-A;u=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=u+t;t=u-t;D=E+r|0;u=+f[c+(D<<3)>>2];E=E+i|0;B=+f[c+(E<<3)>>2];x=u+B;B=u-B;u=+f[c+(E<<3)+4>>2];z=+f[c+(D<<3)+4>>2];C=u+z;z=u-z;u=A+z;z=A-z;A=t+B;B=t-B;D=o+n|0;f[d+(D<<3)>>2]=y+x;x=y-x;f[d+(D<<3)+4>>2]=v+C;C=v-C;E=D+j|0;v=+f[e+(o<<3)>>2];y=+f[e+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=A*v+u*y;f[d+(E<<3)>>2]=u*v-A*y;E=D+k|0;y=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=C*y+x*A;f[d+(E<<3)>>2]=x*y-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)+4>>2]=B*A+z*C;f[d+(D<<3)>>2]=z*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function Pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=w(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(w(k,h)|0)&65534;g=(w(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];q=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];o=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)+4>>2]=o*p+q*n;f[d+(m<<3)>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function Qi(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,v=0.0,x=0,y=0,z=0,A=0,B=0;x=Gi(40)|0;b[x>>1]=a;y=a&65535;z=y<<3;c[x+32>>2]=Gi(z)|0;z=Gi(z)|0;c[x+36>>2]=z;A=x+2|0;p=x+6|0;h=a;g=0;d=0;e=0;a:while(1){d=d+1<<16>>16;if((d&65535)<5)e=b[137408+((d&65535)+-1<<1)>>1]|0;else e=(e&65535)+2&65535;n=e&65535;if(e<<16>>16==2)j=h;else while(1){i=h;h=(h&65535)/(e&65535)|0;if((i&65535)-(w(h&65535,n)|0)&65535|0){h=i;continue a}g=g+1<<16>>16;b[A+((g&65535)+1<<1)>>1]=e;if(h<<16>>16==1)break a}while(1){h=j;j=(j&65535)>>>1;if((h&65535)-(w(j&65535,n)|0)&65535|0)continue a;i=g+1<<16>>16;h=i&65535;b[A+(h+1<<1)>>1]=2;if(g<<16>>16){if((i&65535)>=2){h=h+2|0;g=2;do{s=h-(g&65535)&65535;b[A+(s+1<<1)>>1]=b[A+(s<<1)>>1]|0;g=g+1<<16>>16}while((i&65535)>=(g&65535))}b[p>>1]=2}if(j<<16>>16==1){g=i;break a}else g=i}}b[A>>1]=a;b[x+4>>1]=g;v=6.2831854820251465/+(a&65535);if(!(g<<16>>16))return x|0;else{r=1;s=1;d=0}do{e=b[A+((r&65535)+1<<1)>>1]|0;p=s&65535;s=w(p,e&65535)|0;h=s&65535;a=(y>>>0)/(h>>>0)|0;q=e+-1<<16>>16;do if(q<<16>>16){i=(e&65535)>5;if(h>>>0>y>>>0){h=d&65535;e=z+(h<<3)|0;h=z+(h<<3)+4|0;if(i){c[e>>2]=1065353216;c[h>>2]=0;break}else{f[e>>2]=1.0;f[h>>2]=0.0;break}}if(i){j=0;n=0;do{i=d&65535;h=z+(i<<3)|0;f[h>>2]=1.0;i=z+(i<<3)+4|0;f[i>>2]=0.0;j=(j&65535)+p|0;o=v*+(j&65535|0);e=0;m=0.0;do{d=d+1<<16>>16;m=m+1.0;l=o*m;k=+t(+l);B=d&65535;f[z+(B<<3)>>2]=k;l=+u(+l);f[z+(B<<3)+4>>2]=l;e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);f[h>>2]=k;f[i>>2]=l;n=n+1<<16>>16}while((n&65535)<(q&65535))}else{h=0;i=0;do{e=d&65535;f[z+(e<<3)>>2]=1.0;f[z+(e<<3)+4>>2]=0.0;h=(h&65535)+p|0;l=v*+(h&65535|0);e=0;k=0.0;do{d=d+1<<16>>16;k=k+1.0;o=l*k;B=d&65535;f[z+(B<<3)>>2]=+t(+o);f[z+(B<<3)+4>>2]=+u(+o);e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);i=i+1<<16>>16}while((i&65535)<(q&65535))}}while(0);r=r+1<<16>>16}while((r&65535)<=(g&65535));return x|0}function Ri(a){a=a|0;var b=0;b=c[a+32>>2]|0;if(b|0)Si(b);b=c[a+36>>2]|0;if(!b){Si(a);return}Si(b);Si(a);return}function Si(a){a=a|0;Xl(a);return}function Ti(a){a=a|0;if(a>>>0<=92016)if(a>>>0<=75131)if(a>>>0<=55425)if(a>>>0<=46008)if(a>>>0<=37565)if(a>>>0<=27712)if(a>>>0<=23003)if(a>>>0<=18782)if(a>>>0>13855)a=8;else return (a>>>0>11501?9:a>>>0>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function Ui(a){a=a|0;if((a&255)>=12){a=0;return a|0}a=c[39760+((a&255)<<2)>>2]|0;return a|0}function Vi(b){b=b|0;if((b&255)>=12){b=0;return b|0}b=a[150475+(b&255)>>0]|0;return b|0}function Wi(b,c,d){b=b|0;c=c|0;d=d|0;d=d<<24>>24!=0&1;return a[((c<<24>>24==3?d|2:d)&255)+(150487+((b&255)<<2))>>0]|0}function Xi(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 17:case 4:case 1:case 2:{a=0;break}case 3:{a=-1;break}default:a=-1}return a|0}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=c[a>>2]|0;g=c[b>>2]|0;f=d[150551+(g>>>25&99)>>0]|0;e=(d[150551+(e&245)>>0]|0)<<31|e>>>1;c[a>>2]=e;a=g<<1|f;c[b>>2]=a;return e^a|0}function Zi(a){a=a|0;if((a&255)>33){a=0;return a|0}a=c[39288+((a&255)<<2)>>2]|0;return a|0}function _i(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Gi(2388)|0;if(!d){k=0;return k|0}Fn(d|0,0,2384)|0;c[d+2384>>2]=142503;a[d+2264>>0]=1;a[d+2256>>0]=1;c[d+2260>>2]=44100;a[d+2265>>0]=0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+6>>0]=0;a[d+7>>0]=0;a[d+8>>0]=0;b[d+10>>1]=1024;c[d+16>>2]=0;c[d+124>>2]=0;c[d+1648>>2]=1;c[d+1652>>2]=1;e=d+128|0;f=d+328|0;g=d+584|0;h=d+1136|0;i=d+192|0;j=d+1392|0;k=0;do{a[e+k>>0]=0;c[f+(k<<2)>>2]=0;c[g+(k<<2)>>2]=0;c[h+(k<<2)>>2]=0;b[i+(k<<1)>>1]=0;c[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)!=64);Fn(d+892|0,0,192)|0;c[d+324>>2]=$i(1.0,1.0)|0;k=d;return k|0}function $i(b,c){b=+b;c=+c;var d=0;d=Gi(192)|0;Fn(d|0,0,184)|0;f[d+184>>2]=b;f[d+188>>2]=c;a[d+1>>0]=1;a[d+4>>0]=-1;a[d+22>>0]=1;a[d+39>>0]=0;return d|0}function aj(a){a=a|0;return ((a|0)==0?0:a+2256|0)|0}function bj(b,d){b=b|0;d=d|0;var e=0;if(!((b|0)!=0&(d|0)!=0)){b=0;return b|0}if((Xi(a[d>>0]|0)|0)<<24>>24<0){b=0;return b|0}a[b+2256>>0]=a[d>>0]|0;e=c[d+4>>2]|0;if(!e){b=0;return b|0}c[b+2260>>2]=e;e=a[d+8>>0]|0;if((e+-1&255)>4){b=0;return b|0}a[b+2264>>0]=e;e=a[d+9>>0]|0;if((e&255)>1){b=0;return b|0}a[b+2265>>0]=e;b=1;return b|0}function cj(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;n=e+8|0;m=e+4|0;o=e+20|0;i=0;while(1){f=c[n>>2]|0;if(f>>>0<12){h=12-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>20}b[d>>1]=h;j=(a[o>>0]|0)==0;if((h&65535|0)==4095)break;do if(j)if(f>>>0>8){c[n>>2]=f+-8;break}else{Di(e,8);break}while(0);i=i+1<<16>>16;if((i&65535)>=768){f=5;l=125;break}}if((l|0)==125)return f|0;do if(j)if(f>>>0>12){f=f+-12|0;c[n>>2]=f;l=17;break}else{Di(e,12);f=c[n>>2]|0;l=15;break}else l=15;while(0);do if((l|0)==15){if(f|0){g=c[e>>2]|0;l=17;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Di(e,1);i=c[n>>2]|0;l=21;break}else{h=d+2|0;a[h>>0]=f;f=0;l=24;break}}while(0);if((l|0)==17){i=f+-1|0;c[n>>2]=i;f=g>>>i&1;l=21}do if((l|0)==21){g=d+2|0;a[g>>0]=f;if(i>>>0<2){h=g;f=i;g=c[m>>2]|0;l=24;break}else{f=c[e>>2]|0;j=f<<32-i>>>30;k=g;g=f;f=i;break}}while(0);if((l|0)==24){j=2-f|0;l=c[e>>2]|0;j=((1<<f)+-1&l)<<j|g>>>(32-j|0);k=h;g=l}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;a[d+3>>0]=j;l=31;break}else{Di(e,2);f=c[n>>2]|0;l=29;break}else l=29;while(0);do if((l|0)==29){a[d+3>>0]=j;if(f|0){g=c[e>>2]|0;l=31;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Di(e,1);g=c[n>>2]|0;l=35;break}else{a[d+4>>0]=f;f=0;l=38;break}}while(0);if((l|0)==31){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=35}do if((l|0)==35){a[d+4>>0]=f;if(g>>>0<2){f=g;g=c[m>>2]|0;l=38;break}else{h=c[e>>2]<<32-g>>>30;f=g;break}}while(0);if((l|0)==38){h=2-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;break}else{Di(e,2);f=c[n>>2]|0;break}while(0);a[d+5>>0]=h;if(f>>>0<4){h=4-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>28}do if(!(a[o>>0]|0))if(f>>>0>4){f=f+-4|0;c[n>>2]=f;a[d+6>>0]=h;l=52;break}else{Di(e,4);f=c[n>>2]|0;l=50;break}else l=50;while(0);do if((l|0)==50){a[d+6>>0]=h;if(f|0){g=c[e>>2]|0;l=52;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Di(e,1);g=c[n>>2]|0;l=56;break}else{a[d+7>>0]=f;f=0;l=59;break}}while(0);if((l|0)==52){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=56}do if((l|0)==56){a[d+7>>0]=f;if(g>>>0<3){f=g;g=c[m>>2]|0;l=59;break}else{j=c[e>>2]|0;h=j<<32-g>>>29;f=g;g=j;break}}while(0);if((l|0)==59){h=3-f|0;l=c[e>>2]|0;h=((1<<f)+-1&l)<<h|g>>>(32-h|0);g=l}do if(!(a[o>>0]|0))if(f>>>0>3){f=f+-3|0;c[n>>2]=f;a[d+8>>0]=h;l=66;break}else{Di(e,3);f=c[n>>2]|0;l=64;break}else l=64;while(0);do if((l|0)==64){a[d+8>>0]=h;if(f|0){g=c[e>>2]|0;l=66;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Di(e,1);g=c[n>>2]|0;l=70;break}else{a[d+9>>0]=f;f=g>>>31;break}}while(0);if((l|0)==66){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=70}do if((l|0)==70){a[d+9>>0]=f;if(g|0){f=g+-1|0;c[n>>2]=f;f=(c[e>>2]|0)>>>f&1;break}f=(c[m>>2]|0)>>>31;if(!(a[o>>0]|0))Di(e,1)}while(0);a[d+10>>0]=f;if((a[d+22>>0]|0)==1?(a[k>>0]|0)==0:0){g=c[n>>2]|0;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{Di(e,2);break}while(0);a[d+11>>0]=f}f=c[n>>2]|0;do if(!f){g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Di(e,1);g=c[n>>2]|0;l=89;break}else{a[d+12>>0]=f;f=g>>>31;l=92;break}}else{g=f+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1;l=89}while(0);do if((l|0)==89){a[d+12>>0]=f;if(!g){g=c[m>>2]|0;f=g>>>31;if(a[o>>0]|0){l=92;break}Di(e,1);g=c[n>>2]|0}else{g=g+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1}a[d+13>>0]=f;if(g>>>0<13){f=g;g=c[m>>2]|0;l=97;break}else{h=c[e>>2]<<32-g>>>19;f=g;break}}while(0);if((l|0)==92){a[d+13>>0]=f;f=0;l=97}if((l|0)==97){h=13-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>13){g=f+-13|0;c[n>>2]=g;break}else{Di(e,13);g=c[n>>2]|0;break}else g=f;while(0);b[d+14>>1]=h;if(g>>>0<11){f=11-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>21;do if(!(a[o>>0]|0))if(g>>>0>11){g=g+-11|0;c[n>>2]=g;break}else{Di(e,11);g=c[n>>2]|0;break}while(0);b[d+16>>1]=f;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{Di(e,2);break}while(0);a[d+18>>0]=f;if(a[d+4>>0]|0){o=0;return o|0}g=c[n>>2]|0;if(g>>>0<16){f=16-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>16;do if(!(a[o>>0]|0))if(g>>>0>16){c[n>>2]=g+-16;break}else{Di(e,16);break}while(0);b[d+20>>1]=f;o=0;return o|0}function dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a&65535;d=(a&65535)>>>3;e=a&-2;h=Gi(36)|0;f=h;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+24>>2]=ej(d<<1&65535)|0;c[h+32>>2]=ej(b<<1&65535)|0;c[h+28>>2]=ej(e)|0;if(a<<16>>16==1024){a=61632;b=57664;d=56672;e=48736;f=47744;g=39808}else{a=63680;b=59712;d=57184;e=52832;f=48256;g=43904}c[h>>2]=g;c[h+8>>2]=f;c[h+4>>2]=e;c[h+12>>2]=d;c[h+16>>2]=b;c[h+20>>2]=a;return h|0}function ej(a){a=a|0;var d=0,e=0,f=0;e=Gi(12)|0;if(a&7)O(150807,150818,66,150825);b[e>>1]=a;switch(a<<16>>16){case 2048:{d=74400;f=9;break}case 256:{d=73888;f=9;break}case 1024:{d=71840;f=9;break}case 1920:{d=68e3;f=9;break}case 240:{d=67520;f=9;break}case 960:{d=65600;f=9;break}default:{}}if((f|0)==9)c[e+8>>2]=d;c[e+4>>2]=Qi((a&65535)>>>2)|0;return e|0}function fj(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;u=b+176|0;t=e+8|0;Fn(b|0,0,471)|0;f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;s=e+20|0;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Di(e,4);f=c[t>>2]|0;break}while(0);a[b>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{Di(e,2);f=c[t>>2]|0;break}while(0);a[b+1>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Di(e,4);f=c[t>>2]|0;break}while(0);a[b+2>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Di(e,4);f=c[t>>2]|0;break}while(0);m=b+3|0;a[m>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Di(e,4);f=c[t>>2]|0;break}while(0);n=b+4|0;a[n>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Di(e,4);f=c[t>>2]|0;break}while(0);o=b+5|0;a[o>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{Di(e,2);f=c[t>>2]|0;break}while(0);p=b+6|0;a[p>>0]=g;if(f>>>0<3){g=3-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>29;do if(!(a[s>>0]|0))if(f>>>0>3){f=f+-3|0;c[t>>2]=f;break}else{Di(e,3);f=c[t>>2]|0;break}while(0);q=b+7|0;a[q>>0]=g;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;g=b+8|0;a[g>>0]=h;i=65;break}else{Di(e,4);f=c[t>>2]|0;i=64;break}else i=64;while(0);do if((i|0)==64){g=b+8|0;a[g>>0]=h;if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0){r=g;break}Di(e,1);r=g}else i=65}while(0);if((i|0)==65){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1;r=g}l=f&255;a[b+9>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Di(e,4);break}while(0);a[b+10>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+11>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Di(e,4);break}while(0);a[b+12>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+13>>0]=l;if(l<<24>>24==1){f=c[t>>2]|0;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;a[b+15>>0]=g;i=103;break}else{Di(e,2);f=c[t>>2]|0;i=102;break}else i=102;while(0);do if((i|0)==102){a[b+15>>0]=g;if(f|0){i=103;break}f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}while(0);if((i|0)==103){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+14>>0]=f}if(a[m>>0]|0){k=e+4|0;l=b+435|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+16+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Di(e,4);break}while(0);a[b+32+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[m>>0]|0)){j=f;g=f&255}else break}}if(a[n>>0]|0){k=e+4|0;l=b+436|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+48+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Di(e,4);break}while(0);a[b+64+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[n>>0]|0)){j=f;g=f&255}else break}}if(a[o>>0]|0){k=e+4|0;l=b+437|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+80+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Di(e,4);break}while(0);a[b+96+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=g+1<<24>>24}else{a[b+455+f>>0]=g;a[u>>0]=(g&255)+2;a[l>>0]=(d[l>>0]|0)+2}f=j+1<<24>>24;if((f&255)<(d[o>>0]|0)){j=f;g=f&255}else break}}f=a[p>>0]|0;if(f<<24>>24){k=e+4|0;l=b+438|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Di(e,4);f=a[p>>0]|0;break}while(0);a[b+112+i>>0]=h;o=a[u>>0]|0;a[(h&255)+(b+439)>>0]=o;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=o+1<<24>>24;j=j+1<<24>>24}while((j&255)<(f&255))}f=a[q>>0]|0;if(f<<24>>24){k=e+4|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Di(e,4);f=a[q>>0]|0;break}while(0);a[b+128+i>>0]=h;j=j+1<<24>>24}while((j&255)<(f&255))}if(a[r>>0]|0){j=e+4|0;i=0;h=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[j>>2]|0)>>>31;if(a[s>>0]|0)break;Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);a[b+144+h>>0]=f;g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[j>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Di(e,4);break}while(0);a[b+160+h>>0]=f;f=i+1<<24>>24;if((f&255)<(d[r>>0]|0)){i=f;h=f&255}else break}}Ci(e)|0;g=c[t>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[s>>0]|0))if(g>>>0>8){c[t>>2]=g+-8;break}else{Di(e,8);break}while(0);g=f&255;k=b+177|0;a[k>>0]=g;if(!(g<<24>>24)){t=0;b=b+178+t|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}l=e+4|0;j=0;f=0;do{h=c[t>>2]|0;if(h>>>0<8){i=8-h|0;i=(c[e>>2]&(1<<h)+-1)<<i|(c[l>>2]|0)>>>(32-i|0)}else i=c[e>>2]<<32-h>>>24;do if(!(a[s>>0]|0))if(h>>>0>8){c[t>>2]=h+-8;break}else{Di(e,8);g=a[k>>0]|0;break}while(0);a[b+178+f>>0]=i;j=j+1<<24>>24;f=j&255}while((j&255)<(g&255));b=b+178+f|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}function gj(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=Zb;Zb=Zb+32|0;l=m;if((d|0)==0|(f|0)==0|g>>>0<2|(h|0)==0|(i|0)==0){d=-1;Zb=m;return d|0}a[d+1>>0]=0;a[d>>0]=0;j=hj(f,g,l,d+1657|0,a[d+2>>0]|0)|0;k=c[l+4>>2]|0;c[h>>2]=k;g=l+8|0;f=a[g>>0]|0;if(!(f<<24>>24)){a[i>>0]=a[d+1833>>0]|0;a[d+1656>>0]=1;f=a[i>>0]|0}else a[i>>0]=f;if(f<<24>>24==1)a[i>>0]=2;f=d+3|0;a[f>>0]=a[l+1>>0]|0;h=d+4|0;a[h>>0]=a[l>>0]|0;a[d+6>>0]=a[l+15>>0]|0;a[d+7>>0]=a[l+16>>0]|0;a[d+8>>0]=a[l+17>>0]|0;o=a[l+19>>0]|0;a[d+840>>0]=o;n=a[l+21>>0]|0;a[d+842>>0]=n;i=(a[d+2267>>0]|0)==0?a[l+20>>0]|0:0;a[d+841>>0]=i;if(o<<24>>24==1&n<<24>>24==0|i<<24>>24==1)a[f>>0]=Ti(k>>>1)|0;if(j<<24>>24){o=j;Zb=m;return o|0}a[d+5>>0]=a[g>>0]|0;g=d+10|0;if(!(a[l+9>>0]|0))f=b[g>>1]|0;else{b[g>>1]=960;f=960}c[d+320>>2]=dj(f)|0;if((a[h>>0]|0)!=23){o=0;Zb=m;return o|0}b[g>>1]=(e[g>>1]|0)>>>1;o=0;Zb=m;return o|0}function hj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Zb;Zb=Zb+48|0;g=f;zi(g,a,b);Ci(g)|0;e=ij(g,c,d,b,e)|0;Zb=f;return e|0}function ij(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;k=Bi(b)|0;if(!d){d=-8;return d|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;q=b+8|0;h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;p=b+20|0;do if(!(a[p>>0]|0))if(h>>>0>5){h=h+-5|0;c[q>>2]=h;break}else{Di(b,5);h=c[q>>2]|0;break}while(0);a[d>>0]=i;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Di(b,4);break}while(0);m=d+1|0;a[m>>0]=i;do if((i&255|0)==15?(j=c[q>>2]|0,(a[p>>0]|0)==0):0)if(j>>>0>24){h=j+-24|0;c[q>>2]=h;break}else{Di(b,24);o=21;break}else o=21;while(0);if((o|0)==21)h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Di(b,4);break}while(0);j=d+8|0;a[j>>0]=i;i=Ui(a[m>>0]|0)|0;n=d+4|0;c[n>>2]=i;h=a[d>>0]|0;if(-9044023>>>(h&255)&1|0){d=-1;return d|0}if(!i){d=-2;return d|0}i=a[j>>0]|0;if((i&255)>7){d=-3;return d|0}if(i<<24>>24==1)a[j>>0]=2;l=d+19|0;a[l>>0]=-1;if(h<<24>>24==5){a[l>>0]=1;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Di(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{Di(b,24);break}}else h=Ui(h)|0;while(0);c[n>>2]=h;i=c[q>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>27;do if(!(a[p>>0]|0))if(i>>>0>5){c[q>>2]=i+-5;break}else{Di(b,5);break}while(0);h=h&255;a[d>>0]=h}switch(h<<24>>24){case 7:case 6:case 4:case 3:case 2:case 1:{e=jj(b,d,e)|0;break}default:if((h&255)>16){i=jj(b,d,e)|0;j=c[q>>2]|0;if(j>>>0<2){h=2-j|0;h=(c[b>>2]&(1<<j)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-j>>>30;do if(!(a[p>>0]|0))if(j>>>0>2){c[q>>2]=j+-2;break}else{Di(b,2);break}while(0);a[d+18>>0]=h;e=(h&255|0)==0?i:-5}else e=-4}do if(g<<24>>24==0?(k=(f<<3)-k+(Bi(b)|0)<<24,(a[d>>0]|0)!=5&(k|0)>251658240):0){i=c[q>>2]|0;if(i>>>0<11){h=11-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>21;do if(!(a[p>>0]|0))if(i>>>0>11){c[q>>2]=i+-11;break}else{Di(b,11);break}while(0);if((h&65535|0)==695){h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;do if(!(a[p>>0]|0))if(h>>>0>5){c[q>>2]=h+-5;break}else{Di(b,5);break}while(0);j=i&255;if((i&255|0)!=5){o=114;break}h=c[q>>2]|0;do if(!h){h=(c[b+4>>2]|0)>>>31;if(a[p>>0]|0)break;Di(b,1)}else{h=h+-1|0;c[q>>2]=h;h=(c[b>>2]|0)>>>h&1}while(0);k=h&255;a[l>>0]=k;if(!(k<<24>>24))break;a[d>>0]=j;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Di(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{Di(b,24);break}}else h=Ui(h)|0;while(0);c[n>>2]=h;o=114}else o=114}else o=114;while(0);do if((o|0)==114?(a[l>>0]|0)==-1:0){h=c[n>>2]|0;if(h>>>0<24001){c[n>>2]=h<<1;a[d+20>>0]=1;break}else{a[d+21>>0]=1;break}}while(0);d=e;return d|0}function jj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Zb;Zb=Zb+480|0;k=m;l=e+8|0;h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Di(e,1);i=c[l>>2]|0;j=6;break}else{a[f+9>>0]=h;j=8;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=6}while(0);if((j|0)==6){a[f+9>>0]=h;if(!i)j=8;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==8){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}j=h&255;a[f+10>>0]=j;if(j<<24>>24==1){i=c[l>>2]|0;if(i>>>0<14){h=14-i|0;h=(c[e>>2]&(1<<i)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-i>>>18;do if(!(a[e+20>>0]|0))if(i>>>0>14){c[l>>2]=i+-14;break}else{Di(e,14);break}while(0);b[f+12>>1]=h}h=c[l>>2]|0;if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}else{h=h+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}h=h&255;i=f+14|0;a[i>>0]=h;if(!(a[f+8>>0]|0)){if((fj(k,e)|0)<<24>>24){l=-3;Zb=m;return l|0}if(g|0)Dn(g|0,k|0,471)|0;h=a[i>>0]|0}if(h<<24>>24!=1){l=0;Zb=m;return l|0}if((d[f>>0]|0)>16){h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Di(e,1);i=c[l>>2]|0;j=35;break}else{a[f+15>>0]=h;j=37;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=35}while(0);if((j|0)==35){a[f+15>>0]=h;if(!i)j=37;else{i=i+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=40}}do if((j|0)==37){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Di(e,1);i=c[l>>2]|0;j=40;break}else{a[f+16>>0]=h;j=42;break}}while(0);if((j|0)==40){a[f+16>>0]=h;if(!i)j=42;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==42){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}a[f+17>>0]=h}h=c[l>>2]|0;if(a[e+20>>0]|0){l=0;Zb=m;return l|0}if(h>>>0>1){c[l>>2]=h+-1;l=0;Zb=m;return l|0}else{Di(e,1);l=0;Zb=m;return l|0}return 0}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;d=a+328|0;e=a+584|0;f=a+1136|0;g=a+1392|0;h=0;do{b=c[d+(h<<2)>>2]|0;if(b|0)Si(b);b=c[e+(h<<2)>>2]|0;if(b|0)Si(b);b=c[f+(h<<2)>>2]|0;if(b|0)Si(b);b=c[g+(h<<2)>>2]|0;if(b|0)Si(b);h=h+1|0}while((h|0)!=64);lj(c[a+320>>2]|0);mj(c[a+324>>2]|0);b=c[a+124>>2]|0;if(b|0)Si(b);b=a+892|0;e=0;do{d=c[b+(e<<2)>>2]|0;if(d|0)nj(d);e=e+1|0}while((e|0)!=48);Si(a);return}function lj(a){a=a|0;if(!a)return;rj(c[a+24>>2]|0);rj(c[a+32>>2]|0);rj(c[a+28>>2]|0);Si(a);return}function mj(a){a=a|0;if(!a)return;Si(a);return}function nj(a){a=a|0;var b=0;if(!a)return;oj(c[a+12440>>2]|0);pj(c[a+12448>>2]|0);b=a+12452|0;if(c[b>>2]|0){oj(c[a+12444>>2]|0);pj(c[b>>2]|0)}b=c[a+648>>2]|0;if(b|0)Si(b);b=c[a+688>>2]|0;if(b|0)Si(b);b=c[a+668>>2]|0;if(b|0)Si(b);b=c[a+708>>2]|0;if(b|0)Si(b);b=c[a+652>>2]|0;if(b|0)Si(b);b=c[a+692>>2]|0;if(b|0)Si(b);b=c[a+672>>2]|0;if(b|0)Si(b);b=c[a+712>>2]|0;if(b|0)Si(b);b=c[a+656>>2]|0;if(b|0)Si(b);b=c[a+696>>2]|0;if(b|0)Si(b);b=c[a+676>>2]|0;if(b|0)Si(b);b=c[a+716>>2]|0;if(b|0)Si(b);b=c[a+660>>2]|0;if(b|0)Si(b);b=c[a+700>>2]|0;if(b|0)Si(b);b=c[a+680>>2]|0;if(b|0)Si(b);b=c[a+720>>2]|0;if(b|0)Si(b);b=c[a+664>>2]|0;if(b|0)Si(b);b=c[a+704>>2]|0;if(b|0)Si(b);b=c[a+684>>2]|0;if(b|0)Si(b);b=c[a+724>>2]|0;if(b|0)Si(b);b=c[a+53420>>2]|0;if(b|0)qj(b);Si(a);return}function oj(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Si(b);Si(a);return}function pj(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Si(b);Si(a);return}function qj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[b+720>>2]|0;if(!i){Si(b);return}d=c[i+12>>2]|0;if(d|0)Si(d);f=i+16|0;d=c[f>>2]|0;e=c[d>>2]|0;if(e){Si(e);d=c[f>>2]|0}e=c[d+4>>2]|0;if(e){Si(e);d=c[f>>2]|0}e=c[d+8>>2]|0;if(e){Si(e);d=c[f>>2]|0}e=c[d+12>>2]|0;if(e){Si(e);d=c[f>>2]|0}e=c[d+16>>2]|0;if(e){Si(e);d=c[f>>2]|0}if(d|0)Si(d);e=a[i>>0]|0;h=i+20|0;d=c[h>>2]|0;if(e<<24>>24){g=0;do{f=c[d+((g&255)<<2)>>2]|0;if(f){Si(f);e=a[i>>0]|0;d=c[h>>2]|0}g=g+1<<24>>24}while((g&255)<(e&255))}if(d|0)Si(d);Si(i);Si(b);return}function rj(a){a=a|0;if(!a)return;Ri(c[a+4>>2]|0);Si(a);return}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return tj(a,b,c,d,0,0)|0} |
| | | function xg(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=c+1|0;y=g>>1;if((g|0)<=1)return;s=f>>>1&65535;t=s<<16>>16>0;u=0-f|0;v=h<<1;x=j<<1;r=(f+131070&131070)+2|0;q=e+(j<<1)|0;g=a+h|0;p=0;f=a;k=m?l:c;h=m?c:l;while(1){if(t){o=h+r|0;n=g+r|0;m=s;c=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=w(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(w(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[e>>1]=((z|0)<255?z:255)>>>3<<11|((D|0)<255?D:255)>>>3|((E|0)<255?E:255)>>>2<<5;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;b[e+2>>1]=((E|0)<255?E:255)>>>3<<11|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>2<<5;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[c>>1]=((E|0)<255?E:255)>>>2<<5|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>3<<11;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;b[c+2>>1]=((B|0)<255?B:255)>>>2<<5|((A|0)<255?A:255)>>>3|((z|0)<255?z:255)>>>3<<11;if(m<<16>>16>1){m=m+-1<<16>>16;c=c+4|0;g=g+2|0;l=l+2|0;e=e+4|0;a=a+2|0;h=h+2|0}else break}a=q+(r<<1)|0;g=n;f=f+r|0;h=o;k=k+r|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<1)+(u<<1)|0;g=g+v+u|0;f=f+v+u|0;e=a+(u<<1)+(j<<1)|0;k=k+i+u|0;h=h+i+u|0}}return}function yg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((f|0)<=0)return;k=0;while(1){Dn(c|0,a|0,e|0)|0;k=k+1|0;if((k|0)==(f|0))break;else{c=c+i|0;a=a+g|0}}a=f>>1;if((f|0)<=1)return;c=0;while(1){Dn(d|0,b|0,e|0)|0;c=c+1|0;if((c|0)>=(a|0))break;else{d=d+j|0;b=b+h|0}}return}function zg(b,c,d,e,f,g,h,i,j,k,l,m,n){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((n|0)==0&(h|0)>0){o=0;n=d;while(1){Dn(n|0,b|0,g|0)|0;o=o+1|0;if((o|0)==(h|0))break;else{n=n+k|0;b=b+i|0}}}b=(m|0)==0;n=c+1|0;m=h>>1;i=g>>1;if(!((h|0)>1&(g|0)>1))return;o=b?c:n;n=b?n:c;d=0;while(1){b=0;do{c=b<<1;a[e+b>>0]=a[n+c>>0]|0;a[f+b>>0]=a[o+c>>0]|0;b=b+1|0}while((b|0)<(i|0));d=d+1|0;if((d|0)>=(m|0))break;else{e=e+l|0;f=f+l|0;o=o+j|0;n=n+j|0}}return}function Ag(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=w(g,e)|0;j=w(g,f)|0;h=0;do{m=k+(d[b+(h+i)>>0]|0)|0;m=(m|0)>0?m:0;a[c+(h+j)>>0]=(m|0)<255?m:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function Bg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=w(g,e)|0;j=w(g,f)|0;h=0;do{m=h<<1;n=k+(d[b+(m+i)>>0]|0)|0;n=(n|0)>0?n:0;a[c+(m+j)>>0]=(n|0)<255?n:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function Cg(a){a=a|0;var b=0,d=0;b=a+16|0;if(mg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;if(ng(c[b>>2]|0)|0){d=2147483647;return d|0}d=(lg(c[b>>2]|0)|0)==0;d=d?0:2147483647;return d|0}function Dg(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;f=e+8|0;c[f>>2]=0;j=c[d+16>>2]|0;g=c[d+20>>2]|0;l=c[d+24>>2]|0;e=dc[j&15](l,128,12)|0;if(!e){l=1;return l|0}c[b>>2]=e;c[f>>2]=e;c[(c[b>>2]|0)+8>>2]=0;k=dc[j&15](l,128,45344)|0;if(!k){l=1;return l|0}c[(c[b>>2]|0)+8>>2]=k;Fn(k|0,0,45344)|0;f=k+56|0;c[f>>2]=c[d+12>>2];e=c[d+8>>2]|0;switch(e|0){case 12:case 11:case 1:break;default:c[f>>2]=0}c[k+60>>2]=e;i=k+11616|0;c[i>>2]=j;c[k+11620>>2]=g;c[k+11624>>2]=l;e=(gg()|0)<<3;e=dc[j&15](l,128,e)|0;if(!e){l=1;return l|0}c[k+11492>>2]=e;c[k+11496>>2]=e+(gg()|0);c[k+11500>>2]=e+((gg()|0)<<1);c[k+11504>>2]=e+((gg()|0)*3|0);c[k+11508>>2]=e+((gg()|0)<<2);c[k+11512>>2]=e+((gg()|0)*5|0);c[k+11516>>2]=e+((gg()|0)*6|0);c[k+11520>>2]=e+((gg()|0)*7|0);e=dc[j&15](l,128,1048592)|0;if(!e){l=1;return l|0}c[k+172>>2]=e;c[k+184>>2]=1048576;e=dc[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+264>>2]=e;e=dc[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+276>>2]=e;e=dc[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+244>>2]=e;e=dc[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+224>>2]=e;e=dc[j&15](l,128,7168)|0;if(!e){l=1;return l|0}Fn(e|0,0,7168)|0;c[k+292>>2]=e;c[k+632>>2]=e;e=dc[j&15](l,128,152592)|0;if(!e){l=1;return l|0}Fn(e|0,0,152592)|0;h=k+296|0;c[h>>2]=e;c[k+636>>2]=e;e=dc[j&15](l,128,4420)|0;if(!e){l=1;return l|0}Fn(e|0,0,4420)|0;g=k+300|0;c[g>>2]=e;c[k+640>>2]=e;e=dc[j&15](l,128,325632)|0;if(!e){l=1;return l|0}Fn(e|0,0,325632)|0;c[k+304>>2]=e;c[k+644>>2]=e;e=dc[j&15](l,128,666496)|0;if(!e){l=1;return l|0}d=k+280|0;c[d>>2]=e;e=dc[j&15](l,128,542464)|0;if(!e){l=1;return l|0}c[k+252>>2]=e;e=dc[j&15](l,128,262144)|0;if(!e){l=1;return l|0}c[k+6548>>2]=e;c[k+6552>>2]=e+16384;c[k+7240>>2]=e+32768;c[k+7244>>2]=e+49152;c[k+7932>>2]=e+65536;c[k+7936>>2]=e+81920;c[k+8624>>2]=e+98304;c[k+8628>>2]=e+114688;c[k+9316>>2]=e+131072;c[k+9320>>2]=e+147456;c[k+10008>>2]=e+163840;c[k+10012>>2]=e+180224;c[k+10700>>2]=e+196608;c[k+10704>>2]=e+212992;c[k+11392>>2]=e+229376;c[k+11396>>2]=e+245760;e=dc[j&15](l,128,48)|0;if(!e){l=1;return l|0}f=e;b=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));c[k+628>>2]=e;c[k+624>>2]=e+16;e=dc[c[i>>2]&15](l,128,158208)|0;if(!e){l=1;return l|0}Fn(e|0,0,158208)|0;c[k+6144>>2]=e;i=e+9216|0;c[k+6148>>2]=i;l=e+18432|0;c[k+6196>>2]=i;c[k+6200>>2]=e;c[k+6056>>2]=l;c[k+6320>>2]=l;l=e+19776|0;c[k+6156>>2]=64;c[k+6836>>2]=l;i=e+28992|0;c[k+6840>>2]=i;j=e+38208|0;c[k+6888>>2]=i;c[k+6892>>2]=l;c[k+6748>>2]=j;c[k+7012>>2]=j;j=e+39552|0;c[k+6848>>2]=64;c[k+7528>>2]=j;l=e+48768|0;c[k+7532>>2]=l;i=e+57984|0;c[k+7580>>2]=l;c[k+7584>>2]=j;c[k+7440>>2]=i;c[k+7704>>2]=i;i=e+59328|0;c[k+7540>>2]=64;c[k+8220>>2]=i;j=e+68544|0;c[k+8224>>2]=j;l=e+77760|0;c[k+8272>>2]=j;c[k+8276>>2]=i;c[k+8132>>2]=l;c[k+8396>>2]=l;l=e+79104|0;c[k+8232>>2]=64;c[k+8912>>2]=l;i=e+88320|0;c[k+8916>>2]=i;j=e+97536|0;c[k+8964>>2]=i;c[k+8968>>2]=l;c[k+8824>>2]=j;c[k+9088>>2]=j;j=e+98880|0;c[k+8924>>2]=64;c[k+9604>>2]=j;l=e+108096|0;c[k+9608>>2]=l;i=e+117312|0;c[k+9656>>2]=l;c[k+9660>>2]=j;c[k+9516>>2]=i;c[k+9780>>2]=i;i=e+118656|0;c[k+9616>>2]=64;c[k+10296>>2]=i;j=e+127872|0;c[k+10300>>2]=j;l=e+137088|0;c[k+10348>>2]=j;c[k+10352>>2]=i;c[k+10208>>2]=l;c[k+10472>>2]=l;l=e+138432|0;c[k+10308>>2]=64;c[k+10988>>2]=l;i=e+147648|0;c[k+10992>>2]=i;j=e+156864|0;c[k+11040>>2]=i;c[k+11044>>2]=l;c[k+10900>>2]=j;c[k+11164>>2]=j;c[k+11e3>>2]=64;j=c[h>>2]|0;l=c[g>>2]|0;k=c[d>>2]|0;c[j+8968>>2]=k;c[j+17944>>2]=k+8128;c[j+26920>>2]=k+16256;c[j+35896>>2]=k+24384;c[j+44872>>2]=k+32512;c[j+53848>>2]=k+40640;c[j+62824>>2]=k+48768;c[j+71800>>2]=k+56896;c[j+80776>>2]=k+65024;c[j+89752>>2]=k+73152;c[j+98728>>2]=k+81280;c[j+107704>>2]=k+89408;c[j+116680>>2]=k+97536;c[j+125656>>2]=k+105664;c[j+134632>>2]=k+113792;c[j+143608>>2]=k+121920;c[j+152584>>2]=k+130048;c[l>>2]=k+138176;c[l+68>>2]=k+146304;c[l+136>>2]=k+154432;c[l+204>>2]=k+162560;c[l+272>>2]=k+170688;c[l+340>>2]=k+178816;c[l+408>>2]=k+186944;c[l+476>>2]=k+195072;c[l+544>>2]=k+203200;c[l+612>>2]=k+211328;c[l+680>>2]=k+219456;c[l+748>>2]=k+227584;c[l+816>>2]=k+235712;c[l+884>>2]=k+243840;c[l+952>>2]=k+251968;c[l+1020>>2]=k+260096;c[l+1088>>2]=k+268224;c[l+1156>>2]=k+276352;c[l+1224>>2]=k+284480;c[l+1292>>2]=k+292608;c[l+1360>>2]=k+300736;c[l+1428>>2]=k+308864;c[l+1496>>2]=k+316992;c[l+1564>>2]=k+325120;c[l+1632>>2]=k+333248;c[l+1700>>2]=k+341376;c[l+1768>>2]=k+349504;c[l+1836>>2]=k+357632;c[l+1904>>2]=k+365760;c[l+1972>>2]=k+373888;c[l+2040>>2]=k+382016;c[l+2108>>2]=k+390144;c[l+2176>>2]=k+398272;c[l+2244>>2]=k+406400;c[l+2312>>2]=k+414528;c[l+2380>>2]=k+422656;c[l+2448>>2]=k+430784;c[l+2516>>2]=k+438912;c[l+2584>>2]=k+447040;c[l+2652>>2]=k+455168;c[l+2720>>2]=k+463296;c[l+2788>>2]=k+471424;c[l+2856>>2]=k+479552;c[l+2924>>2]=k+487680;c[l+2992>>2]=k+495808;c[l+3060>>2]=k+503936;c[l+3128>>2]=k+512064;c[l+3196>>2]=k+520192;c[l+3264>>2]=k+528320;c[l+3332>>2]=k+536448;c[l+3400>>2]=k+544576;c[l+3468>>2]=k+552704;c[l+3536>>2]=k+560832;c[l+3604>>2]=k+568960;c[l+3672>>2]=k+577088;c[l+3740>>2]=k+585216;c[l+3808>>2]=k+593344;c[l+3876>>2]=k+601472;c[l+3944>>2]=k+609600;c[l+4012>>2]=k+617728;c[l+4080>>2]=k+625856;c[l+4148>>2]=k+633984;c[l+4216>>2]=k+642112;c[l+4284>>2]=k+650240;c[l+4352>>2]=k+658368;l=0;return l|0}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+8|0;e=c[f>>2]|0;g=e+11620|0;h=c[g>>2]|0;i=e+11624|0;j=c[i>>2]|0;b=e+11492|0;d=c[b>>2]|0;if(d|0){hc[h&31](j,d);c[b>>2]=0}b=e+172|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+264|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+276|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+244|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+224|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+292|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+296|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+300|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+304|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+280|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+252|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+628|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6548|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6144|0;d=c[b>>2]|0;if(d|0){hc[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=c[f>>2]|0;if(!b){hc[h&31](j,a);return 0}hc[c[g>>2]&31](c[i>>2]|0,b);c[f>>2]=0;hc[h&31](j,a);return 0}function Fg(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,x=0,y=0;x=c[b+11624>>2]|0;j=(c[b>>2]|0)+63|0;u=j&-64;i=(c[b+4>>2]|0)+63|0;v=i&-64;o=u+64|0;h=(j|63|0)/64|0;m=v+64|0;r=(v|0)/16|0;s=(u|0)/16|0;t=w(r,s)|0;n=(u|0)/8|0;f=(v|0)/8|0;i=w((i|63|0)/64|0,h)|0;d=i*390|0;y=b+11616|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;g=b+284|0;c[g>>2]=e;d=i+r<<2;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+308>>2]=e;d=((u|0)/64|0)+3&-4;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+608>>2]=e;d=((u|0)/32|0)+3&-4;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+616>>2]=e;d=((w(f,n)|0)/8|0)+3&-4;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+212>>2]=e;c[b+600>>2]=e;l=f+8|0;d=((w(l,n+8|0)|0)/8|0)+3&-4;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,1,d|0)|0;c[b+216>>2]=e;e=e+(j>>6)+1|0;c[b+220>>2]=e;c[b+604>>2]=e;c[b+1212>>2]=e;c[b+1284>>2]=e;e=c[b+300>>2]|0;d=c[g>>2]|0;c[e+4>>2]=d;d=d+(i*6|0)|0;c[e+72>>2]=d;d=d+(i*6|0)|0;c[e+140>>2]=d;d=d+(i*6|0)|0;c[e+208>>2]=d;d=d+(i*6|0)|0;c[e+276>>2]=d;d=d+(i*6|0)|0;c[e+344>>2]=d;d=d+(i*6|0)|0;c[e+412>>2]=d;d=d+(i*6|0)|0;c[e+480>>2]=d;d=d+(i*6|0)|0;c[e+548>>2]=d;d=d+(i*6|0)|0;c[e+616>>2]=d;d=d+(i*6|0)|0;c[e+684>>2]=d;d=d+(i*6|0)|0;c[e+752>>2]=d;d=d+(i*6|0)|0;c[e+820>>2]=d;d=d+(i*6|0)|0;c[e+888>>2]=d;d=d+(i*6|0)|0;c[e+956>>2]=d;d=d+(i*6|0)|0;c[e+1024>>2]=d;d=d+(i*6|0)|0;c[e+1092>>2]=d;d=d+(i*6|0)|0;c[e+1160>>2]=d;d=d+(i*6|0)|0;c[e+1228>>2]=d;d=d+(i*6|0)|0;c[e+1296>>2]=d;d=d+(i*6|0)|0;c[e+1364>>2]=d;d=d+(i*6|0)|0;c[e+1432>>2]=d;d=d+(i*6|0)|0;c[e+1500>>2]=d;d=d+(i*6|0)|0;c[e+1568>>2]=d;d=d+(i*6|0)|0;c[e+1636>>2]=d;d=d+(i*6|0)|0;c[e+1704>>2]=d;d=d+(i*6|0)|0;c[e+1772>>2]=d;d=d+(i*6|0)|0;c[e+1840>>2]=d;d=d+(i*6|0)|0;c[e+1908>>2]=d;d=d+(i*6|0)|0;c[e+1976>>2]=d;d=d+(i*6|0)|0;c[e+2044>>2]=d;d=d+(i*6|0)|0;c[e+2112>>2]=d;d=d+(i*6|0)|0;c[e+2180>>2]=d;d=d+(i*6|0)|0;c[e+2248>>2]=d;d=d+(i*6|0)|0;c[e+2316>>2]=d;d=d+(i*6|0)|0;c[e+2384>>2]=d;d=d+(i*6|0)|0;c[e+2452>>2]=d;d=d+(i*6|0)|0;c[e+2520>>2]=d;d=d+(i*6|0)|0;c[e+2588>>2]=d;d=d+(i*6|0)|0;c[e+2656>>2]=d;d=d+(i*6|0)|0;c[e+2724>>2]=d;d=d+(i*6|0)|0;c[e+2792>>2]=d;d=d+(i*6|0)|0;c[e+2860>>2]=d;d=d+(i*6|0)|0;c[e+2928>>2]=d;d=d+(i*6|0)|0;c[e+2996>>2]=d;d=d+(i*6|0)|0;c[e+3064>>2]=d;d=d+(i*6|0)|0;c[e+3132>>2]=d;d=d+(i*6|0)|0;c[e+3200>>2]=d;d=d+(i*6|0)|0;c[e+3268>>2]=d;d=d+(i*6|0)|0;c[e+3336>>2]=d;d=d+(i*6|0)|0;c[e+3404>>2]=d;d=d+(i*6|0)|0;c[e+3472>>2]=d;d=d+(i*6|0)|0;c[e+3540>>2]=d;d=d+(i*6|0)|0;c[e+3608>>2]=d;d=d+(i*6|0)|0;c[e+3676>>2]=d;d=d+(i*6|0)|0;c[e+3744>>2]=d;d=d+(i*6|0)|0;c[e+3812>>2]=d;d=d+(i*6|0)|0;c[e+3880>>2]=d;d=d+(i*6|0)|0;c[e+3948>>2]=d;d=d+(i*6|0)|0;c[e+4016>>2]=d;d=d+(i*6|0)|0;c[e+4084>>2]=d;d=d+(i*6|0)|0;c[e+4152>>2]=d;d=d+(i*6|0)|0;c[e+4220>>2]=d;d=d+(i*6|0)|0;c[e+4288>>2]=d;c[e+4356>>2]=d+(i*6|0);e=(w(r,h)|0)+r<<4;e=(e|3)+(Gg()|0)&-4;d=dc[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}q=b+196|0;c[q>>2]=d;p=b+200|0;c[p>>2]=e;e=t+3&-4;d=dc[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Fn(d|0,0,e|0)|0;c[b+204>>2]=d;d=dc[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}Fn(d|0,0,e|0)|0;c[b+208>>2]=d;h=((u|0)/4|0)<<2;d=h+519&-4;i=dc[c[y>>2]&15](x,128,d)|0;if(!i){b=1;return b|0}Fn(i|0,0,d|0)|0;d=i+512|0;c[b+6064>>2]=i;f=i;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=b+6060|0;c[e>>2]=d;f=i+64|0;c[b+6756>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+6752>>2]=d;f=i+128|0;c[b+7448>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+7444>>2]=d;f=i+192|0;c[b+8140>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8136>>2]=d;f=i+256|0;c[b+8832>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8828>>2]=d;f=i+320|0;c[b+9524>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+9520>>2]=d;f=i+384|0;c[b+10216>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10212>>2]=d;f=i+448|0;c[b+10908>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10904>>2]=d;Fn(c[e>>2]|0,0,h+4|0)|0;d=(v|0)>(u|0)?v:u;e=r<<1;k=s<<1;j=s+63+k+(r*9|0)+(d+u<<1)&-64;f=dc[c[y>>2]&15](x,128,j)|0;if(!f){b=1;return b|0}Fn(f|0,0,j|0)|0;c[b+6556>>2]=f;c[b+7248>>2]=f;c[b+7940>>2]=f;c[b+8632>>2]=f;c[b+9324>>2]=f;c[b+10016>>2]=f;c[b+10708>>2]=f;c[b+11400>>2]=f;c[b+1308>>2]=f;i=f+d|0;c[b+6564>>2]=i;c[b+7256>>2]=i;c[b+7948>>2]=i;c[b+8640>>2]=i;c[b+9332>>2]=i;c[b+10024>>2]=i;c[b+10716>>2]=i;c[b+11408>>2]=i;c[b+1316>>2]=i;i=i+d|0;c[b+6560>>2]=i;c[b+7252>>2]=i;c[b+7944>>2]=i;c[b+8636>>2]=i;c[b+9328>>2]=i;c[b+10020>>2]=i;c[b+10712>>2]=i;c[b+11404>>2]=i;c[b+1312>>2]=i;i=i+u|0;c[b+6568>>2]=i;c[b+7260>>2]=i;c[b+7952>>2]=i;c[b+8644>>2]=i;c[b+9336>>2]=i;c[b+10028>>2]=i;c[b+10720>>2]=i;c[b+11412>>2]=i;c[b+1320>>2]=i;i=i+u|0;c[b+6572>>2]=i;c[b+7264>>2]=i;c[b+7956>>2]=i;c[b+8648>>2]=i;c[b+9340>>2]=i;c[b+10032>>2]=i;c[b+10724>>2]=i;c[b+11416>>2]=i;c[b+1324>>2]=i;i=i+r|0;c[b+6576>>2]=i;c[b+7268>>2]=i;c[b+7960>>2]=i;c[b+8652>>2]=i;c[b+9344>>2]=i;c[b+10036>>2]=i;c[b+10728>>2]=i;c[b+11420>>2]=i;c[b+1328>>2]=i;i=i+e|0;c[b+6580>>2]=i;c[b+7272>>2]=i;c[b+7964>>2]=i;c[b+8656>>2]=i;c[b+9348>>2]=i;c[b+10040>>2]=i;c[b+10732>>2]=i;c[b+11424>>2]=i;c[b+1332>>2]=i;i=i+r|0;c[b+6584>>2]=i;c[b+7276>>2]=i;c[b+7968>>2]=i;c[b+8660>>2]=i;c[b+9352>>2]=i;c[b+10044>>2]=i;c[b+10736>>2]=i;c[b+11428>>2]=i;c[b+1336>>2]=i;i=i+e|0;c[b+6588>>2]=i;c[b+7280>>2]=i;c[b+7972>>2]=i;c[b+8664>>2]=i;c[b+9356>>2]=i;c[b+10048>>2]=i;c[b+10740>>2]=i;c[b+11432>>2]=i;c[b+1340>>2]=i;i=i+s|0;c[b+6592>>2]=i;c[b+7284>>2]=i;c[b+7976>>2]=i;c[b+8668>>2]=i;c[b+9360>>2]=i;c[b+10052>>2]=i;c[b+10744>>2]=i;c[b+11436>>2]=i;c[b+1344>>2]=i;i=i+k|0;c[b+6600>>2]=i;c[b+7292>>2]=i;c[b+7984>>2]=i;c[b+8676>>2]=i;c[b+9368>>2]=i;c[b+10060>>2]=i;c[b+10752>>2]=i;c[b+11444>>2]=i;c[b+1352>>2]=i;i=i+r|0;c[b+6608>>2]=i;c[b+7300>>2]=i;c[b+7992>>2]=i;c[b+8684>>2]=i;c[b+9376>>2]=i;c[b+10068>>2]=i;c[b+10760>>2]=i;c[b+11452>>2]=i;c[b+1360>>2]=i;i=((w((m|0)/4|0,n+16|0)|0)/8|0)<<1;f=((w(l,(o|0)/4|0)|0)/8|0)<<1;g=(w(s+1|0,r)|0)/8|0;l=w(v,u)|0;h=(l|0)/64|0;d=g+h+i+f+j|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;d=0-(g+(h+(i+f)))|0;c[b+6284>>2]=e;c[b+6400>>2]=e;m=e+i|0;c[b+6288>>2]=m;c[b+6404>>2]=m;m=m+f|0;c[b+6296>>2]=m;c[b+6412>>2]=m;m=m+h|0;c[b+6292>>2]=m;c[b+6408>>2]=m;m=m+g+d|0;c[b+6976>>2]=m;c[b+7092>>2]=m;m=m+i|0;c[b+6980>>2]=m;c[b+7096>>2]=m;m=m+f|0;c[b+6988>>2]=m;c[b+7104>>2]=m;m=m+h|0;c[b+6984>>2]=m;c[b+7100>>2]=m;m=m+g+d|0;c[b+7668>>2]=m;c[b+7784>>2]=m;m=m+i|0;c[b+7672>>2]=m;c[b+7788>>2]=m;m=m+f|0;c[b+7680>>2]=m;c[b+7796>>2]=m;m=m+h|0;c[b+7676>>2]=m;c[b+7792>>2]=m;m=m+g+d|0;c[b+8360>>2]=m;c[b+8476>>2]=m;m=m+i|0;c[b+8364>>2]=m;c[b+8480>>2]=m;m=m+f|0;c[b+8372>>2]=m;c[b+8488>>2]=m;m=m+h|0;c[b+8368>>2]=m;c[b+8484>>2]=m;m=m+g+d|0;c[b+9052>>2]=m;c[b+9168>>2]=m;m=m+i|0;c[b+9056>>2]=m;c[b+9172>>2]=m;m=m+f|0;c[b+9064>>2]=m;c[b+9180>>2]=m;m=m+h|0;c[b+9060>>2]=m;c[b+9176>>2]=m;m=m+g+d|0;c[b+9744>>2]=m;c[b+9860>>2]=m;m=m+i|0;c[b+9748>>2]=m;c[b+9864>>2]=m;m=m+f|0;c[b+9756>>2]=m;c[b+9872>>2]=m;m=m+h|0;c[b+9752>>2]=m;c[b+9868>>2]=m;m=m+g+d|0;c[b+10436>>2]=m;c[b+10552>>2]=m;m=m+i|0;c[b+10440>>2]=m;c[b+10556>>2]=m;m=m+f|0;c[b+10448>>2]=m;c[b+10564>>2]=m;m=m+h|0;c[b+10444>>2]=m;c[b+10560>>2]=m;m=m+g+d|0;c[b+11128>>2]=m;c[b+11244>>2]=m;n=m+i|0;c[b+11132>>2]=n;c[b+11248>>2]=n;o=n+f|0;c[b+11140>>2]=o;c[b+11256>>2]=o;e=o+h|0;c[b+11136>>2]=e;c[b+11252>>2]=e;d=e+g+d|0;c[b+1152>>2]=m;c[b+1156>>2]=n;c[b+1164>>2]=o;c[b+1160>>2]=e;c[b+1036>>2]=d;d=d+i|0;c[b+1040>>2]=d;d=d+f|0;c[b+1048>>2]=d;c[b+1044>>2]=d+h;d=w(k,r+2|0)|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+11612>>2]=e;d=e+(s<<1)|0;c[b+6632>>2]=d;c[b+7324>>2]=d;c[b+8016>>2]=d;c[b+8708>>2]=d;c[b+9400>>2]=d;c[b+10092>>2]=d;c[b+10784>>2]=d;c[b+11476>>2]=d;d=t*12|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+1444>>2]=e;c[b+1296>>2]=e;d=e;c[b+6544>>2]=d;c[b+7236>>2]=d;c[b+7928>>2]=d;c[b+8620>>2]=d;c[b+9312>>2]=d;c[b+10004>>2]=d;c[b+10696>>2]=d;c[b+11388>>2]=d;d=b+176|0;c[d>>2]=0;do if((l|0)>1048576){e=dc[c[y>>2]&15](x,128,l|16)|0;if(!e){b=1;return b|0}else{c[d>>2]=e;c[b+188>>2]=l;break}}while(0);d=Hg(l)|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}Fn(e|0,0,d|0)|0;c[b+192>>2]=e;e=c[b+636>>2]|0;d=c[b+11596>>2]|0;d=(a[(a[e+(d*8976|0)+14>>0]|0)+-1+(e+(d*8976|0)+25)>>0]|0)+1|0;d=w(d,(Ig(l)|0)+40980|0)|0;e=dc[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}c[b+236>>2]=e;c[b+240>>2]=d;do if(!(c[b+56>>2]|0)){e=Jg(b,u,v)|0;d=dc[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}else{c[b+256>>2]=e;c[b+11628>>2]=d;break}}while(0);d=Kg(c[q>>2]|0,c[p>>2]|0)|0;c[b+11556>>2]=d;e=d;if(!d){b=1;return b|0}c[b+656>>2]=d;c[b+6092>>2]=e;c[b+6100>>2]=0;c[b+5956>>2]=b;c[b+6104>>2]=0;c[b+6108>>2]=0;c[b+6784>>2]=e;c[b+6792>>2]=1;c[b+6648>>2]=b;c[b+6796>>2]=0;c[b+6800>>2]=0;c[b+7476>>2]=e;c[b+7484>>2]=2;c[b+7340>>2]=b;c[b+7488>>2]=0;c[b+7492>>2]=0;c[b+8168>>2]=e;c[b+8176>>2]=3;c[b+8032>>2]=b;c[b+8180>>2]=0;c[b+8184>>2]=0;c[b+8860>>2]=e;c[b+8868>>2]=4;c[b+8724>>2]=b;c[b+8872>>2]=0;c[b+8876>>2]=0;c[b+9552>>2]=e;c[b+9560>>2]=5;c[b+9416>>2]=b;c[b+9564>>2]=0;c[b+9568>>2]=0;c[b+10244>>2]=e;c[b+10252>>2]=6;c[b+10108>>2]=b;c[b+10256>>2]=0;c[b+10260>>2]=0;c[b+10936>>2]=e;c[b+10944>>2]=7;c[b+10800>>2]=b;c[b+10948>>2]=0;c[b+10952>>2]=0;c[b+11632>>2]=1;b=0;return b|0}function Gg(){return (hg()|0)+24|0}function Hg(a){a=a|0;var b=0;b=(a|0)/16|0;return b+4+(((a|0)/256|0)<<2)+(((b>>1)+b|0)*42|0)|0}function Ig(a){a=a|0;var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return b+4+(a<<2)+(b<<4)+((a<<1)+3&-4)|0}function Jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[b+636>>2]|0;i=c[b+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;f=a[h+(i*8976|0)+25+g>>0]|0;if((c[b+11636>>2]|0)!=1)f=(a[h+(i*8976|0)+32+g>>0]|0)+f|0;return w(f+1|0,(w((d*3|0)+480|0,e+160|0)|0)/2|0)|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+24|0;d=a+16|0;c[d>>2]=e;e=e+(hg()|0)|0;b=b+-24-(hg()|0)|0;if((b|0)<1){e=0;return e|0}kg(c[d>>2]|0)|0;c[a>>2]=e;c[a+4>>2]=e;c[a+8>>2]=e;c[a+12>>2]=e+b;c[a+20>>2]=0;e=a;return e|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,k=0,l=0,m=0;m=c[a+8>>2]|0;a=m+52|0;c[a>>2]=0;a:do if(c[m+56>>2]|0){l=c[b+8>>2]|0;l=l>>>0<64?l:64;c[a>>2]=l;e=c[m+248>>2]|0;k=m+60|0;do if((c[k>>2]|0)==1){a=w(l<<1,c[b+276>>2]|0)|0;a=dc[c[m+11616>>2]&15](c[m+11624>>2]|0,128,a)|0;if(!a){d=1;return d|0}else{c[m+260>>2]=a;break}}else a=0;while(0);if((l|0)>0){j=b+12|0;g=b+276|0;h=m+244|0;i=m+45340|0;f=0;while(1){c[e>>2]=c[j+(f*516|0)+4>>2];if((c[k>>2]|0)==1){b=a;a=a+(c[g>>2]<<1)|0}else b=c[j+(f*516|0)+8>>2]|0;c[e+4>>2]=b;if(fe(c[h>>2]|0,e,f)|0)break;je(c[h>>2]|0,f,4)|0;Dn(m+12316+((c[i>>2]|0)*516|0)|0,j+(f*516|0)|0,516)|0;c[i>>2]=(c[i>>2]|0)+1;f=f+1|0;if(f>>>0>=l>>>0)break a;else e=e+8476|0}c[m+144>>2]=983;d=983;return d|0}}while(0);c[d+4>>2]=0;d=0;return d|0}function Mg(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;c[e+4>>2]=0;m=c[b+8>>2]|0;c[e+36>>2]=1;n=c[m+60>>2]|0;switch(n|0){case 1:{b=3;o=6;break}case 5:{b=1;o=6;break}case 9:{b=1;o=6;break}case 13:{b=1;o=6;break}case 12:case 11:{b=2;o=6;break}default:{}}if((o|0)==6)c[e+40>>2]=b;k=e+8|0;c[k>>2]=1;l=m+4|0;i=w((c[l>>2]|0)+63&-64,(c[m>>2]|0)+63&-64)|0;c[e+44>>2]=(i|0)>1048576?i:1048576;i=c[l>>2]|0;b=c[m+56>>2]|0;do if(!(c[m+112>>2]|0)){d=c[m>>2]|0;j=c[m+16>>2]|0;d=(j|0)>(d|0)?j:d;if(!b){j=i;i=1}else{c[k>>2]=32;j=i;i=32}}else{if(!b){d=c[m+8>>2]|0;i=c[m+16>>2]|0;j=c[m+12>>2]|0;d=(i|0)>(d|0)?i:d;i=1;break}d=c[m+16>>2]|0;g=c[m+636>>2]|0;h=c[m+11596>>2]|0;f=(a[g+(h*8976|0)+14>>0]|0)+-1|0;if((c[m+11636>>2]|0)==1)b=1;else b=(a[g+(h*8976|0)+32+f>>0]|0)+1|0;h=b+(a[g+(h*8976|0)+25+f>>0]|0)|0;c[k>>2]=h;j=i+160|0;i=h>>>0<32?h:32}while(0);c[k>>2]=i;switch(n|0){case 1:{g=w(d,j)|0;c[e+300>>2]=g;g=g>>2;b=g;f=308;h=304;o=21;break}case 5:{c[e+300>>2]=(w(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 9:{c[e+300>>2]=(w(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 13:{c[e+300>>2]=(w(d,j)|0)<<2;b=0;f=304;g=0;h=308;o=21;break}case 12:case 11:{g=w(d,j)|0;c[e+300>>2]=g;b=0;f=308;g=g>>1;h=304;o=21;break}default:{}}if((o|0)==21){c[e+h>>2]=g;c[e+f>>2]=b}c[e+12>>2]=j;c[e+16>>2]=d;c[e+20>>2]=3e4;c[e+24>>2]=1e6;c[e+28>>2]=0;c[e+32>>2]=n;c[m+52>>2]=i;if((c[e>>2]|0)!=564)return 0;c[e+560>>2]=c[l>>2];return 0}function Ng(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;c[e+4>>2]=0;l=c[b+8>>2]|0;g=e+12|0;c[g>>2]=1;k=c[l+60>>2]|0;switch(k|0){case 1:{b=3;f=6;break}case 5:{b=1;f=6;break}case 9:{b=1;f=6;break}case 13:{b=1;f=6;break}case 12:case 11:{b=2;f=6;break}default:{}}if((f|0)==6)c[e+16>>2]=b;j=e+8|0;c[j>>2]=1;d=l+4|0;f=e+20|0;b=0;do{i=w((c[d>>2]|0)+63&-64,(c[l>>2]|0)+63&-64)|0;c[f+(b<<2)>>2]=(i|0)>1048576?i:1048576;b=b+1|0}while(b>>>0<(c[g>>2]|0)>>>0);b=c[l+56>>2]|0;do if(!(c[l+112>>2]|0)){d=(b|0)==1?160:0;f=c[l+16>>2]|0;f=(f|0)>(d|0)?f:d;if(!b){b=f;h=1}else{c[j>>2]=32;b=f;h=32}}else{if(!b){b=c[l+8>>2]|0;h=c[l+16>>2]|0;d=c[l+12>>2]|0;b=(h|0)>(b|0)?h:b;h=1;break}b=c[l+16>>2]|0;d=(c[l+4>>2]|0)+160|0;h=c[l+636>>2]|0;i=c[l+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;if((c[l+11636>>2]|0)==1)f=1;else f=(a[h+(i*8976|0)+32+g>>0]|0)+1|0;h=f+(a[h+(i*8976|0)+25+g>>0]|0)|0;c[j>>2]=h;h=h>>>0<32?h:32}while(0);c[j>>2]=h;switch(k|0){case 1:{f=w(d,b)|0;c[e+276>>2]=f;f=f>>2;b=f;d=284;g=280;break}case 5:{c[e+276>>2]=(w(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 9:{c[e+276>>2]=(w(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 13:{c[e+276>>2]=(w(d,b)|0)<<2;b=0;d=280;f=0;g=284;break}case 12:case 11:{f=w(d,b)|0;c[e+276>>2]=f;b=0;d=284;f=f>>1;g=280;break}default:{e=l+52|0;c[e>>2]=h;return 0}}c[e+g>>2]=f;c[e+d>>2]=b;e=l+52|0;c[e>>2]=h;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,k=0,l=0,m=0,n=0,o=0,p=0;o=c[a+8>>2]|0;do if(!(c[o+112>>2]|0)){n=c[o+56>>2]|0;a=(n|0)==0?0:160;f=c[o+20>>2]|0;f=(f|0)>(a|0)?f:a;if(!n){b=0;e=0;h=6}else{b=0;e=0;n=80}}else{f=c[o+8>>2]|0;b=c[o+12>>2]|0;g=c[o+20>>2]|0;if(!(c[o+56>>2]|0)){a=b;e=f;f=(g|0)>(f|0)?g:f;h=6;break}else{m=c[o+20>>2]|0;a=(c[o+4>>2]|0)+160|0;e=f;n=80;f=(m|0)>(g|0)?m:g;break}}while(0);if((h|0)==6)n=0;c[d+32>>2]=e;c[d+44>>2]=b;c[d+56>>2]=f;c[d+68>>2]=a;c[d+8>>2]=n;c[d+20>>2]=n;k=e+1|0;p=k>>>1;l=d+40|0;c[l>>2]=p;m=d+36|0;c[m>>2]=p;p=(b+1|0)>>>1;h=d+52|0;c[h>>2]=p;c[d+48>>2]=p;p=f>>>1;i=d+64|0;c[i>>2]=p;j=d+60|0;c[j>>2]=p;p=a>>>1;a=d+76|0;c[a>>2]=p;c[d+72>>2]=p;p=n>>>1;b=d+16|0;c[b>>2]=p;e=d+12|0;c[e>>2]=p;g=d+28|0;c[g>>2]=p;c[d+24>>2]=p;if(((c[o+60>>2]|0)+-11|0)>>>0>=2)return 0;c[l>>2]=0;c[h>>2]=0;c[i>>2]=0;c[a>>2]=0;c[b>>2]=0;c[g>>2]=0;c[m>>2]=k&-2;c[j>>2]=f&-2;c[e>>2]=n;return 0}function Pg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+8>>2]|0;if(!(c[g+112>>2]|0)){c[f+4>>2]=991;f=1;return f|0}d=c[g+360>>2]|0;if(!((a[d+8972>>0]|0)!=0?(a[d+162>>0]|0)!=0:0))h=5;a:do if((h|0)==5){e=0;d=c[g+296>>2]|0;while(1){if(a[d+8972>>0]|0?a[d+162>>0]|0:0)break a;e=e+1|0;if((e|0)==16)break;d=d+8976|0}c[f+4>>2]=991;f=1;return f|0}while(0);a[f+8>>0]=a[d+164>>0]|0;a[f+9>>0]=a[d+165>>0]|0;b[f+10>>1]=b[d+166>>1]|0;b[f+12>>1]=b[d+168>>1]|0;a[f+14>>0]=a[d+170>>0]|0;a[f+15>>0]=a[d+171>>0]|0;a[f+16>>0]=a[d+172>>0]|0;a[f+17>>0]=a[d+173>>0]|0;a[f+18>>0]=a[d+174>>0]|0;a[f+19>>0]=a[d+175>>0]|0;a[f+20>>0]=a[d+176>>0]|0;a[f+21>>0]=a[d+177>>0]|0;a[f+22>>0]=a[d+178>>0]|0;a[f+23>>0]=a[d+179>>0]|0;a[f+24>>0]=a[d+180>>0]|0;a[f+25>>0]=a[d+181>>0]|0;a[f+26>>0]=a[d+182>>0]|0;a[f+27>>0]=a[d+183>>0]|0;a[f+28>>0]=a[d+184>>0]|0;a[f+29>>0]=a[d+185>>0]|0;c[f+32>>2]=c[d+188>>2];c[f+36>>2]=c[d+192>>2];c[f+40>>2]=c[d+196>>2];c[f+44>>2]=c[d+200>>2];a[f+48>>0]=a[d+204>>0]|0;a[f+49>>0]=a[d+4088>>0]|0;c[f+52>>2]=c[d+4092>>2];c[f+56>>2]=c[d+4096>>2];a[f+60>>0]=a[d+4100>>0]|0;a[f+61>>0]=a[d+4101>>0]|0;a[f+62>>0]=a[d+4102>>0]|0;a[f+63>>0]=a[d+4103>>0]|0;a[f+64>>0]=a[d+4104>>0]|0;a[f+65>>0]=a[d+4105>>0]|0;a[f+66>>0]=c[d+4108>>2];a[f+67>>0]=a[d+4112>>0]|0;a[f+68>>0]=a[d+4113>>0]|0;a[f+69>>0]=a[d+4114>>0]|0;a[f+70>>0]=a[d+4115>>0]|0;a[f+71>>0]=a[d+208>>0]|0;c[f+72>>2]=c[d+212>>2];c[f+76>>2]=c[d+216>>2];a[f+80>>0]=a[d+220>>0]|0;a[f+81>>0]=a[d+221>>0]|0;a[f+82>>0]=a[d+222>>0]|0;a[f+83>>0]=a[d+223>>0]|0;a[f+84>>0]=a[d+224>>0]|0;a[f+85>>0]=a[d+225>>0]|0;a[f+86>>0]=a[d+226>>0]|0;a[f+87>>0]=a[d+227>>0]|0;a[f+88>>0]=c[d+228>>2];a[f+89>>0]=c[d+232>>2];a[f+90>>0]=c[d+236>>2];a[f+91>>0]=a[d+240>>0]|0;a[f+92>>0]=a[d+241>>0]|0;a[f+93>>0]=a[d+242>>0]|0;a[f+94>>0]=a[d+243>>0]|0;a[f+100>>0]=a[d+250>>0]|0;a[f+106>>0]=a[d+257>>0]|0;a[f+112>>0]=a[d+264>>0]|0;a[f+118>>0]=a[d+271>>0]|0;a[f+95>>0]=a[d+244>>0]|0;a[f+101>>0]=a[d+251>>0]|0;a[f+107>>0]=a[d+258>>0]|0;a[f+113>>0]=a[d+265>>0]|0;a[f+119>>0]=a[d+272>>0]|0;a[f+96>>0]=a[d+245>>0]|0;a[f+102>>0]=a[d+252>>0]|0;a[f+108>>0]=a[d+259>>0]|0;a[f+114>>0]=a[d+266>>0]|0;a[f+120>>0]=a[d+273>>0]|0;a[f+97>>0]=a[d+246>>0]|0;a[f+103>>0]=a[d+253>>0]|0;a[f+109>>0]=a[d+260>>0]|0;a[f+115>>0]=a[d+267>>0]|0;a[f+121>>0]=a[d+274>>0]|0;a[f+98>>0]=a[d+247>>0]|0;a[f+104>>0]=a[d+254>>0]|0;a[f+110>>0]=a[d+261>>0]|0;a[f+116>>0]=a[d+268>>0]|0;a[f+122>>0]=a[d+275>>0]|0;a[f+99>>0]=a[d+248>>0]|0;a[f+105>>0]=a[d+255>>0]|0;a[f+111>>0]=a[d+262>>0]|0;a[f+117>>0]=a[d+269>>0]|0;a[f+123>>0]=a[d+276>>0]|0;f=0;return f|0}function Qg(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=c[d+8>>2]|0;if((c[j+120>>2]|0)!=1){e=f+4|0;c[e>>2]=c[e>>2]|16592;e=1;return e|0}do switch(c[e+8>>2]|0){case 0:{Mg(d,0,f)|0;e=0;return e|0}case 1:{i=f+4|0;c[i>>2]=0;d=c[e+20>>2]|0;c[j+68>>2]=d;a:do if((d|0)>=6)if((d|0)<2147483647)switch(d|0){case 6:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2147483647:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2:case 1:{d=0;break}default:g=6}while(0);if((g|0)==6){c[i>>2]=8192;d=1}f=j+16|0;h=c[j+56>>2]|0;g=c[e+16>>2]|0;do if((g|0)<(c[j+8>>2]|0)?(c[j+112>>2]|0)!=0:0)if(!g){g=c[f>>2]|0;break}else{c[i>>2]=8406;g=0;d=1;break}while(0);c[f>>2]=g;if((h|0)==1)c[j+20>>2]=g;g=c[e+12>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1;g=1}c[j+104>>2]=g;f=j+11636|0;c[f>>2]=0;g=c[e+24>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1}c[f>>2]=g;e=d;return e|0}case 2:if(!j){c[f+4>>2]=208;e=0;return e|0}else{rg(j)|0;e=0;return e|0}case 3:{c[j+68>>2]=2147483647;c[j+20>>2]=0;c[j+16>>2]=0;c[j+104>>2]=0;c[j+72>>2]=0;c[f+4>>2]=0;e=0;return e|0}case 4:{c[j+100>>2]=1;c[f+4>>2]=0;c[j+136>>2]=0;c[j+140>>2]=0;e=0;return e|0}case 5:{Ng(d,0,f)|0;e=0;return e|0}case 6:{d=f+4|0;c[d>>2]=0;g=c[e+16>>2]|0;if((g|0)<1){c[d>>2]=217;e=0;return e|0}if(!(Rg(c[e+12>>2]|0,g)|0)){e=0;return e|0}c[d>>2]=217;e=0;return e|0}case 775:{c[j+44>>2]=c[e+20>>2];c[j+40>>2]=c[e+16>>2];c[j+36>>2]=c[e+12>>2];c[f+4>>2]=0;c[j+48>>2]=0;e=0;return e|0}case 7:{c[j+24>>2]=1;c[f+4>>2]=0;e=0;return e|0}case 263:{Og(d,0,f)|0;e=0;return e|0}case 264:{e=Pg(d,0,f)|0;return e|0}case 265:{d=c[j+272>>2]|0;if(!d){c[f+4>>2]=992;e=1;return e|0}if(a[d+34>>0]|0?a[d+28>>0]|0:0){b[f+8>>1]=b[d+3640>>1]|0;b[f+14>>1]=b[d+3646>>1]|0;b[f+10>>1]=b[d+3642>>1]|0;b[f+16>>1]=b[d+3648>>1]|0;b[f+12>>1]=b[d+3644>>1]|0;b[f+18>>1]=b[d+3650>>1]|0;b[f+20>>1]=b[d+3652>>1]|0;b[f+22>>1]=b[d+3654>>1]|0;c[f+24>>2]=c[d+3656>>2];c[f+28>>2]=c[d+3660>>2];e=0;return e|0}c[f+4>>2]=992;e=1;return e|0}case 8:{c[j+12308>>2]=c[e+12>>2];g=j+12312|0;c[g>>2]=c[e+16>>2];ug(j);qg(j);d=c[g>>2]|0;if((d+-1|0)>>>0<256){if(d&128|0)c[j+11604>>2]=1;d=d&127;c[g>>2]=d;if(d|0)c[j+11600>>2]=d}c[f+4>>2]=0;e=0;return e|0}default:{e=0;return e|0}}while(0);return 0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Zb;Zb=Zb+544|0;e=f+512|0;d=f;c[e>>2]=140828;c[e+4>>2]=140836;c[e+8>>2]=140847;c[e+12>>2]=140853;c[e+16>>2]=140860;c[e+20>>2]=140872;Rl(d,511,140778,e)|0;e=(Hl(d,511)|0)+1|0;if(e>>>0>b>>>0){e=1;Zb=f;return e|0}Dn(a|0,d|0,e|0)|0;e=0;Zb=f;return e|0}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Zb;Zb=Zb+16|0;j=m;a:do if((b|0)==0|(d|0)==0)e=1;else{k=b+4|0;e=c[k>>2]|0;l=d+4|0;c[l>>2]=0;b:do switch(e|0){case 6:case 8:case 9:case 11:case 10:case 7:{if(!a){c[l>>2]=8213;e=1;break a}if((c[a>>2]|0)!=12){c[l>>2]=8214;e=1;break a}if(!(c[a+8>>2]|0)){c[l>>2]=8215;e=1;break a}switch(e|0){case 7:{do switch(c[b+8>>2]|0){case 1:{if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}break}case 3:break;case 0:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}switch(c[d>>2]|0){case 556:case 564:break b;default:{}}c[l>>2]=8212;e=1;break a}case 5:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==532)break b;c[l>>2]=8212;e=1;break a}case 6:{if((c[b>>2]|0)!=20){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 4:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 2:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 775:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if(((c[b+12>>2]|0)>>>0<=4?(c[b+16>>2]|0)>=0:0)?(c[b+20>>2]|0)>>>0<=15:0)break b;c[l>>2]=8192;e=1;break a}case 263:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==80)break b;c[l>>2]=8212;e=1;break a}case 264:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==124)break b;c[l>>2]=8212;e=1;break a}case 265:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==32)break b;c[l>>2]=8212;e=1;break a}case 7:{if((c[b>>2]|0)!=16){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if((c[b+12>>2]|0)==1)break b;c[l>>2]=8192;e=1;break a}case 8:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}while(0);if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 9:{c[l>>2]=0;if((c[b>>2]|0)!=524){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==88)break b;c[l>>2]=8212;e=1;break a}case 10:{c[l>>2]=0;if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 11:{c[l>>2]=0;if((c[b>>2]|0)!=33036){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}g=c[b+8>>2]|0;if(!g){c[l>>2]=8219;e=1;break a}h=b+12|0;f=0;c:while(1){i=c[h+(f*516|0)>>2]|0;if(!i){e=33;break}if((i|0)>0){e=0;do{if(!(c[h+(f*516|0)+4+(e<<2)>>2]|0)){e=38;break c}if(!(c[h+(f*516|0)+260+(e<<2)>>2]|0)){e=40;break c}e=e+1|0}while((e|0)<(i|0))}f=f+1|0;if(f>>>0>=g>>>0)break b}if((e|0)==33){c[l>>2]=8219;e=1;break a}else if((e|0)==38){c[l>>2]=8220;e=1;break a}else if((e|0)==40){c[l>>2]=8221;e=1;break a}break}case 8:{c[l>>2]=0;switch(c[b>>2]|0){case 20:case 536:break;default:{c[l>>2]=8211;e=1;break a}}switch(c[d>>2]|0){case 32:case 112:break b;default:{}}c[l>>2]=8212;e=1;break a}case 6:{c[l>>2]=0;if((c[b>>2]|0)!=8){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}break}case 5:{c[l>>2]=0;if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=12){c[l>>2]=8212;e=1;break a}switch(c[b+8>>2]|0){case 12:case 11:case 9:case 5:case 1:break b;default:{}}c[l>>2]=8203;e=1;break a}default:{c[l>>2]=8216;e=1;break a}}while(0);switch(c[k>>2]|0){case 9:{e=0;break a}case 5:{c[l>>2]=0;c[j>>2]=0;k=(Dg(j,b,d)|0)==1;e=c[j>>2]|0;if(k){do if(e|0)if(!(c[e+8>>2]|0)){hc[c[b+20>>2]&31](c[b+24>>2]|0,e);break}else{Eg(e)|0;break}while(0);c[l>>2]=16384;e=1}else{rg(c[e+8>>2]|0)|0;e=0}break a}case 6:{e=c[a+8>>2]|0;c[l>>2]=0;sg(e)|0;Eg(a)|0;e=0;break a}case 8:{e=Tg(a,b,d)|0;break a}case 11:{e=Lg(a,b,d)|0;break a}case 10:{e=c[a+8>>2]|0;if(!(c[e+56>>2]|0)){e=0;break a}ie(c[e+244>>2]|0,c[b+8>>2]|0,4)|0;e=0;break a}case 7:{e=Qg(a,b,d)|0;break a}default:{e=1;break a}}}while(0);Zb=m;return e|0}function Tg(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,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,P=0,Q=0,R=0;R=Zb;Zb=Zb+32|0;M=R+8|0;J=R;Q=c[d+8>>2]|0;H=Q+144|0;c[H>>2]=0;d=c[f>>2]|0;g=f+4|0;h=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=d;if((c[Q+120>>2]|0)!=1){c[f+4>>2]=16592;f=1;Zb=R;return f|0}P=Q+136|0;if((c[P>>2]|0)>>>0>2147483646){c[f+4>>2]=17374;f=1;Zb=R;return f|0}m=Q+132|0;d=Q+100|0;if(!(c[m>>2]|0))if(!(c[d>>2]|0)){if(!(c[e+16>>2]|0)){c[f+4>>2]=8222;f=1;Zb=R;return f|0}d=c[e+12>>2]|0;if(d>>>0<5){c[f+8>>2]=d;c[f+4>>2]=8231;f=1;Zb=R;return f|0}else k=1}else k=0;else{c[d>>2]=1;k=0}N=Q+56|0;j=c[N>>2]|0;a:do if((j|0)==0?(c[Q+104>>2]|0)==0:0){g=c[e+20>>2]|0;if((g+-1|0)>>>0>63){c[f+4>>2]=8219;f=1;Zb=R;return f|0}h=e+24|0;i=e+280|0;d=0;while(1){if(!(c[h+(d<<2)>>2]|0)){i=19;break}if(!(c[i+(d<<2)>>2]|0)){i=21;break}d=d+1|0;if(d>>>0>=g>>>0)break a}if((i|0)==19){c[f+4>>2]=8220;f=1;Zb=R;return f|0}else if((i|0)==21){c[f+4>>2]=8221;f=1;Zb=R;return f|0}}while(0);c[Q+11584>>2]=e+20;c[Q+288>>2]=c[e+8>>2];if(!k){c[f+12>>2]=c[Q+8>>2];h=Q+12|0;c[f+16>>2]=c[h>>2];c[f+28>>2]=0;i=Q+268|0;P=Ke(c[Q+264>>2]|0,i)|0;j=Q+272|0;c[j>>2]=P;do if(P|0){if(c[N>>2]|0?(c[Q+60>>2]|0)!=1:0)break;d=Q+5956|0;if(!(c[Q+6232>>2]|0))Ug(d,0);g=Vg(Q)|0;if(!g){Wg(Q,d,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,0,c[h>>2]|0)|0;ie(c[Q+244>>2]|0,c[i>>2]|0,4)|0;break}else{f=g;Zb=R;return f|0}}while(0);Xg(Q,e,f);if(c[j>>2]|0){f=0;Zb=R;return f|0}if(!(c[m>>2]|0)){f=1;Zb=R;return f|0}rg(Q)|0;f=1;Zb=R;return f|0}if(((j|0)==1&(c[Q+104>>2]|0)==0?(l=c[Q+244>>2]|0,l|0):0)?(he(l)|0)==0:0){c[f+4>>2]=8232;f=1;Zb=R;return f|0}d=c[e+12>>2]|0;C=Q+164|0;c[C>>2]=d;D=Q+148|0;c[D>>2]=c[e+16>>2];E=Q+980|0;c[E>>2]=0;F=Q+84|0;c[F>>2]=0;G=Q+128|0;c[G>>2]=0;K=Q+272|0;c[K>>2]=0;L=Q+24|0;if((c[L>>2]|0)>1)d=c[C>>2]|0;b:do if((d|0)>4){j=Q+176|0;k=Q+644|0;l=Q+344|0;m=Q+360|0;n=Q+984|0;o=Q+172|0;p=Q+168|0;q=Q+184|0;r=Q+180|0;s=Q+152|0;t=Q+188|0;u=Q+160|0;v=Q+156|0;x=Q+376|0;y=Q+108|0;z=Q+11632|0;A=Q+112|0;B=f+4|0;h=d;c:while(1){if(c[G>>2]|0?(g=c[k>>2]|0,i=c[l>>2]&255,i=(w(b[(c[m>>2]|0)+4118>>1]|0,b[g+(i*1272|0)+874>>1]|0)|0)+(b[g+(i*1272|0)+872>>1]|0)|0,(c[n>>2]|0)==(i|0)):0)c[G>>2]=0;d=c[j>>2]|0;if(!d){d=c[o>>2]|0;c[p>>2]=d;g=c[q>>2]|0;c[r>>2]=g}else{c[p>>2]=d;g=c[t>>2]|0;c[r>>2]=g}c[s>>2]=0;Yg(c[D>>2]|0,d,h>>>0<g>>>0?h:g,M,J)|0;d=c[J>>2]|0;if((d|0)<((c[r>>2]|0)+-8|0)){i=(c[p>>2]|0)+d|0;h=i;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;i=i+4|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0}i=c[M>>2]|0;c[u>>2]=i-d;c[v>>2]=i;Zg(x,c[p>>2]|0,d);d=_g(Q)|0;do if((c[F>>2]|0)!=0?(I=c[m>>2]|0,(c[n>>2]|0)!=(c[I+4128>>2]|0)):0){if(((c[C>>2]|0)-(c[M>>2]|0)|0)>=5?(c[y>>2]|0)==0:0){i=54;break}i=c[l>>2]|0;i=(i|0)<1?0:i+-1|0;c[l>>2]=i;h=c[k>>2]|0;i=i+1&255;b[h+(i*1272|0)+872>>1]=0;b[h+(i*1272|0)+874>>1]=b[I+4120>>1]|0;c[G>>2]=1;i=69}else i=54;while(0);d:do if((i|0)==54){i=0;switch(d|0){case 42:break c;case 986:{i=65;break c}case 987:{d=c[M>>2]|0;c[D>>2]=(c[D>>2]|0)+d;c[C>>2]=(c[C>>2]|0)-d;d=987;i=69;break d}default:{}}if(c[G>>2]|0){h=c[M>>2]|0;g=(c[C>>2]|0)-h|0;if((g|0)<5)i=59}else{h=c[M>>2]|0;g=(c[C>>2]|0)-h|0;i=59}if((i|0)==59){i=0;c[D>>2]=(c[D>>2]|0)+h;c[C>>2]=g}if(d|0)break c;if(c[E>>2]|0){d=0;break c}do if(!(c[z>>2]|0)){if(!(c[A>>2]|0))break;if(Fg(Q)|0){i=112;break c}}while(0);d=0}while(0);h=c[C>>2]|0;if((h|0)<=4){i=d;break b}}if((i|0)==65)d=0;else if((i|0)==112){sg(Q)|0;c[H>>2]=43;c[B>>2]=c[B>>2]|16427;f=1;Zb=R;return f|0}i=d}else i=0;while(0);if((c[F>>2]|0)!=1){P=i;Xg(Q,e,f);Zb=R;return P|0}if(!(c[E>>2]|0)){c[G>>2]=1;I=Q+344|0;J=c[I>>2]|0;J=(J|0)<1?0:J+-1|0;c[I>>2]=J;I=c[Q+644>>2]|0;J=J+1&255;b[I+(J*1272|0)+872>>1]=-1;b[I+(J*1272|0)+874>>1]=-1;$g(Q)|0;if(!(c[E>>2]|0))O(140881,140922,731,140946);if((c[F>>2]|0)!=1){P=i;Xg(Q,e,f);Zb=R;return P|0}}v=Q+360|0;g=c[v>>2]|0;c[Q+124>>2]=1;d=c[L>>2]|0;do if((d|0)<=1){if(c[K>>2]|0){if(c[N>>2]|0?(c[Q+60>>2]|0)!=1:0)break;g=Q+5956|0;h=Q+11576|0;d=(c[Q+12>>2]|0)-(c[h>>2]|0)|0;i=Q+11580|0;c[i>>2]=d;if(!(c[Q+6232>>2]|0)){Ug(g,0);d=c[i>>2]|0}if((d|0)<0){c[i>>2]=0;d=0}M=Wg(Q,g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,c[h>>2]|0,d)|0;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);i=M}}else{d=d+-1|0;e:do if(c[K>>2]|0){if(c[N>>2]|0?(c[Q+60>>2]|0)!=1:0)break;if(c[Q+11604>>2]|0?(c[Q+268>>2]|0)!=(c[Q+5956+(d*692|0)+228>>2]|0):0)break;h=g+4120|0;if((b[h>>1]|0)>0){i=M+8|0;j=M+4|0;k=M+6|0;l=M+10|0;m=M+12|0;n=Q+656|0;g=0;while(1){c[M>>2]=1;b[i>>1]=0;b[j>>1]=0;b[k>>1]=g;b[l>>1]=0;c[m>>2]=0;d=ah(c[n>>2]|0,M,16,1)|0;g=g+1|0;if(d|0)break;if((g|0)>=(b[h>>1]|0))break e}Zb=R;return d|0}}while(0);i=bh(c[Q+656>>2]|0)|0;d=(c[L>>2]|0)+-1|0;f:do if(!(ch(c[Q+5956+(d*692|0)+136>>2]|0,M,16,1)|0)){m=M+8|0;n=M+4|0;o=M+6|0;p=M+10|0;q=M+12|0;r=Q+12|0;s=e+24|0;t=e+28|0;u=e+32|0;while(1){k=Q+5956+(d*692|0)|0;c[Q+5956+(d*692|0)+140>>2]=b[m>>1];c[Q+5956+(d*692|0)+4>>2]=b[n>>1];g=b[o>>1]|0;c[Q+5956+(d*692|0)+8>>2]=g;c[Q+5956+(d*692|0)+32>>2]=b[p>>1];switch(c[M>>2]|0){case 0:{Ug(k,c[q>>2]|0);dh(k)|0;break}case 1:{h=(c[v>>2]|0)+4116|0;j=a[h>>0]|0;l=1<<j;if(!(c[Q+5956+(d*692|0)+276>>2]|0)){Ug(k,0);g=b[o>>1]|0;d=a[h>>0]|0}else d=j;I=g<<d;J=(c[r>>2]|0)-I|0;J=(l|0)<(J|0)?l:J;Wg(Q,k,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,I,(J|0)>0?J:0)|0;break}default:{}}d=(c[L>>2]|0)+-1|0;if(ch(c[Q+5956+(d*692|0)+136>>2]|0,M,16,1)|0)break f}}while(0)}while(0);je(c[Q+224>>2]|0,c[Q+6080>>2]|0,2)|0;d=Q+244|0;M=Q+6184|0;je(c[d>>2]|0,c[M>>2]|0,2)|0;je(c[d>>2]|0,c[M>>2]|0,4)|0;Me(c[Q+276>>2]|0,c[Q+6180>>2]|0,c[M>>2]|0)|0;if((c[N>>2]|0)==0?c[K>>2]|0:0)ie(c[d>>2]|0,c[Q+268>>2]|0,4)|0;d=c[L>>2]|0;if((d|0)>1){h=0;do{g=Q+11524+(h<<2)|0;if(c[g>>2]|0){jg(c[Q+11492+(h<<2)>>2]|0,0)|0;c[g>>2]=0;d=c[L>>2]|0}h=h+1|0}while((h|0)<(d+-1|0))}c[P>>2]=(c[P>>2]|0)+1;P=i;Xg(Q,e,f);Zb=R;return P|0}function Ug(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Zb;Zb=Zb+16|0;E=F;A=c[f>>2]|0;v=c[A+304>>2]|0;y=c[f+32>>2]&255;c[f+48>>2]=v+(y*1272|0);u=c[A+300>>2]|0;x=a[v+(y*1272|0)+73>>0]|0;j=u+(x*68|0)|0;c[f+40>>2]=j;C=c[A+296>>2]|0;n=a[u+(x*68|0)+9>>0]|0;D=C+(n*8976|0)|0;c[f+44>>2]=D;c[f+276>>2]=1;z=C+(n*8976|0)+4116|0;B=(1<<a[z>>0]|0)/4|0;B=w(B,B)|0;n=C+(n*8976|0)+4118|0;C=b[n>>1]|0;c[f+660>>2]=c[f+672>>2];l=f+4|0;r=f+8|0;s=f+12|0;t=f+16|0;xh(j,D,c[l>>2]|0,c[r>>2]|0,s,t,E)|0;D=c[u+(x*68|0)+4>>2]|0;E=c[E>>2]|0;j=D+(E*6|0)|0;c[f+28>>2]=j;c[f+36>>2]=E;if(!(a[u+(x*68|0)+27>>0]|0)){j=b[v+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;l=h-(b[v+(y*1272|0)+1262>>1]|0)|0;m=f+20|0;c[m>>2]=l;i=c[r>>2]|0;j=i-j|0;k=f+24|0;c[k>>2]=j;if((l|0)<0){c[m>>2]=l+(b[n>>1]|0);c[k>>2]=j+-1}}else{k=b[v+(y*1272|0)+872>>1]|0;o=b[v+(y*1272|0)+874>>1]|0;i=b[n>>1]|0;p=(w(i,o)|0)+k|0;x=d[j>>0]|0;u=d[D+(E*6|0)+1>>0]|0;q=(w(u,i)|0)+x|0;h=(k|0)!=(x|0);do if(h|(o|0)==(u|0)){o=(e[((E|0)==0?j:j+-6|0)+2>>1]|0)+k|0;if((o|0)>=(i|0)?((o|0)%(i|0)|0|0)==(x|0):0){m=0;break}m=h&1}else m=1;while(0);o=b[v+(y*1272|0)+1262>>1]|0;n=b[v+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;do if((h|0)<(o|0)){j=(m|0)!=0;if(!((p|0)<(q|0)&j))i=e[D+(E*6|0)+2>>1]|0;if(j){i=h-o+i|0;break}else{i=h-x|0;break}}else i=h-o|0;while(0);c[f+20>>2]=i;i=c[r>>2]|0;j=i-n|0;k=f+24|0;c[k>>2]=j;do if((c[s>>2]|0)==0?(c[t>>2]|0)==0:0){if(a[v+(y*1272|0)+75>>0]|0){c[f+20>>2]=0;c[k>>2]=0;j=0;break}if((p|0)<(q|0)){j=u-n|0;c[k>>2]=j;if((o|0)>(x|0)&((u|0)>=(n|0)&(m|0)!=0)){j=j+-1|0;c[k>>2]=j}}}while(0);if(((o|0)!=(x|0)?!((o|0)<(x|0)|(j|0)==0):0)?((e[D+(E*6|0)+2>>1]|0)+x|0)>(o|0):0)c[k>>2]=j+-1}y=(w(i,C)|0)+h|0;C=(1<<a[z>>0]|0)/4|0;c[f+72>>2]=(c[f+88>>2]|0)+(w(w(C,y)|0,C)|0);c[f+68>>2]=(c[f+116>>2]|0)+(c[(c[f+80>>2]|0)+(((c[A+24>>2]|0)==1?(y|0)%142560|0:y)<<2)>>2]<<2);c[f+64>>2]=(c[f+60>>2]|0)+g;C=c[(c[f+84>>2]|0)+(y<<2)>>2]|0;c[f+120>>2]=(c[f+92>>2]|0)+(w(B,y)|0);c[f+76>>2]=(c[f+96>>2]|0)+(C<<4);C=c[A+11600>>2]|0;E=e[D+(E*6|0)+2>>1]|0;c[f+688>>2]=C>>>0<E>>>0?C:E;Zb=F;return}function Vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Zb;Zb=Zb+256|0;g=i;h=c[a+11584>>2]|0;if(c[a+56>>2]|0){h=0;Zb=i;return h|0}e=c[a+8>>2]|0;d=c[a+12>>2]|0;b=c[a+16>>2]|0;e=(b|0)>(e|0)?b:e;b=c[a+60>>2]|0;switch(b|0){case 1:{a=3;f=5;break}case 5:{a=1;f=6;break}case 9:{a=1;f=7;break}case 13:{a=1;f=8;break}case 12:case 11:{a=2;f=4;break}default:{a=0;f=4}}a:do if((f|0)==4){switch(b|0){case 1:{f=5;break a}case 5:{f=6;break a}case 9:{f=7;break a}case 13:{f=8;break a}case 12:case 11:break;default:{b=a;a=0;break a}}e=w(e,d)|0;c[g>>2]=e;c[g+4>>2]=e>>>1;c[g+8>>2]=0;b=a;a=e}while(0);if((f|0)==5){f=w(e,d)|0;c[g>>2]=f;b=f>>>2;c[g+4>>2]=b;c[g+8>>2]=b;b=a;a=f}else if((f|0)==6){f=(w(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==7){f=(w(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==8){f=(w(e,d)|0)<<2;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}if((c[h>>2]|0)>>>0<b>>>0){h=1;Zb=i;return h|0}if(!b){h=0;Zb=i;return h|0}if((c[h+260>>2]|0)>>>0<a>>>0){h=1;Zb=i;return h|0}a=1;while(1){if(a>>>0>=b>>>0){a=0;f=16;break}if((c[h+260+(a<<2)>>2]|0)>>>0<(c[g+(a<<2)>>2]|0)>>>0){a=1;f=16;break}else a=a+1|0}if((f|0)==16){Zb=i;return a|0}return 0}function Wg(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if(!k)return 0;u=c[f+44>>2]|0;G=(a[u+15>>0]|0)==1?2:1;s=c[e+272>>2]|0;o=c[s>>2]|0;J=e+20|0;n=c[J>>2]|0;z=u+8|0;t=b[z>>1]|0;L=w(n,t<<16>>16)|0;B=b[u+4>>1]|0;m=o+(w(L+B|0,G)|0)|0;A=(c[e+64>>2]|0)==11;K=A&1;H=(c[e+56>>2]|0)==1;m=m+(w(n,j)|0)|0;r=(j|0)/2|0;L=(c[s+4>>2]|0)+((B<<1)+L)+(w(n,r)|0)|0;a:do if((H?(c[e+60>>2]|0)==1:0)?(p=c[e+45340>>2]|0,(p|0)>0):0){q=(n*80|0)+80|0;l=0;while(1){if((o-(c[e+12316+(l*516|0)+4>>2]|0)|0)==(q|0))break;l=l+1|0;if((l|0)>=(p|0))break a}i=(n*20|0)+40|0;h=(c[e+12316+(l*516|0)+8>>2]|0)+i|0;i=(c[e+12316+(l*516|0)+12>>2]|0)+i|0}while(0);B=e+16|0;p=c[B>>2]|0;l=w(p,j)|0;q=g+(l<<1)|0;s=g+(l<<2)|0;l=g+l|0;g=w(p,r)|0;p=h+g|0;g=(g|0)/2|0;r=h+g|0;g=i+g|0;b:do if((((c[e+100>>2]|0)==0?(c[e+268>>2]|0)==(c[f+228>>2]|0):0)?(c[e+24>>2]|0)>1:0)?(C=u+4116|0,D=u+4120|0,E=u+4118|0,F=e+208|0,v=a[C>>0]|0,x=1<<v,y=b[E>>1]|0,y<<16>>16>0):0){n=(w(G,t<<16>>16)|0)+j|0;h=b[D>>1]|0;n=n+((x|0)<(k|0)?k:x)>>v;o=y<<16>>16;while(1){i=n+1|0;h=h+-1|0;h=w((i|0)<(h|0)?i:h,o)|0;h=(c[F>>2]|0)+h|0;i=0;n=1;do{n=n&d[h+i>>0];i=i+1|0}while((i|0)!=(o|0));if(n|0)break b;og();n=a[C>>0]|0;i=1<<n;n=(w(G,b[z>>1]|0)|0)+j+((i|0)<(k|0)?k:i)>>n;i=b[E>>1]|0;if(i<<16>>16<=0)break;else{h=b[D>>1]|0;o=i<<16>>16}}}while(0);switch(c[e+60>>2]|0){case 12:case 11:{J=c[J>>2]|0;K=c[B>>2]|0;pc[c[e+12292>>2]&7](m,L,l,p,c[e+8>>2]|0,k,J,J,K,K);return 0}case 1:{n=e+8|0;if(!H?(I=c[n>>2]|0,(k|0)>0):0){i=0;do{Dn(l|0,m|0,I|0)|0;l=l+(c[B>>2]|0)|0;m=m+(c[J>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}I=c[J>>2]|0;J=c[B>>2]|0;sc[c[e+12296>>2]&1](m,L,l,r,g,c[n>>2]|0,k,I,I,J,(J|0)/2|0,K,1);return 0}case 9:{J=c[J>>2]|0;oc[c[e+12288>>2]&15](m,L,q,c[e+8>>2]|0,k,J,J,c[B>>2]|0,K);return 0}case 13:{if(!A)O(142443,142461,889,142487);J=c[J>>2]|0;oc[c[e+12284>>2]&15](m,L,s,c[e+8>>2]|0,k,J,J,c[B>>2]|0,K);return 0}default:return 0}return 0}function Xg(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;f=c[b+144>>2]|0;switch(f|0){case 981:case 213:case 212:case 211:case 210:case 208:case 982:{f=f|16384;break}default:{}}p=e+4|0;c[p>>2]=f;o=e+8|0;c[o>>2]=(c[d+12>>2]|0)-(c[b+164>>2]|0);h=(c[b+112>>2]|0)==0;if(h){f=0;g=0}else{f=c[b+12>>2]|0;g=c[b+8>>2]|0}c[e+12>>2]=g;c[e+16>>2]=f;k=e+20|0;c[k>>2]=c[b+76>>2];l=e+24|0;c[l>>2]=c[b+84>>2];c[e+28>>2]=0;m=e+32|0;c[m>>2]=0;n=e+36|0;c[n>>2]=1;if((!h?(i=c[b+636>>2]|0,j=c[b+11596>>2]|0,(a[i+(j*8976|0)+4167>>0]|0)==0):0)?(a[i+(j*8976|0)+4168>>0]|0)==1:0)c[n>>2]=0;f=e+40|0;q=c[b+60>>2]|0;c[e+44>>2]=q;c[f>>2]=1;g=e+100|0;c[g>>2]=0;h=e+104|0;c[h>>2]=-1;c[e+108>>2]=c[b+268>>2];i=b+100|0;j=(c[i>>2]|0)==0;if(!j){c[o>>2]=0;c[f>>2]=0;c[k>>2]=2147483647;c[l>>2]=0}f=c[b+272>>2]|0;if(!f){if(j)return;c[p>>2]=215;c[i>>2]=0;return}a:do if(a[f+28>>0]|0?a[f+31>>0]|0:0)switch(c[f+1112>>2]|0){case 1:{c[g>>2]=0;c[n>>2]=0;break a}case 2:{c[g>>2]=1;c[n>>2]=0;break a}default:{c[g>>2]=0;c[n>>2]=1;break a}}while(0);c[m>>2]=1;c[h>>2]=c[f+16>>2];if(j?(c[b+980>>2]|0)==0:0)c[m>>2]=0;l=c[b+8>>2]|0;c[e+64>>2]=l;m=c[b+12>>2]|0;c[e+68>>2]=m;if(!(c[b+56>>2]|0)){c[e+52>>2]=c[d+24>>2];c[e+56>>2]=c[d+28>>2];c[e+60>>2]=c[d+32>>2];f=b+16|0}else{k=c[f>>2]|0;c[e+52>>2]=k;if((q|0)==1){h=c[b+45340>>2]|0;b:do if((h|0)>0){i=c[b+20>>2]|0;j=(i*80|0)+80|0;g=0;while(1){if((k-(c[b+12316+(g*516|0)+4>>2]|0)|0)==(j|0))break;f=g+1|0;if((f|0)<(h|0))g=f;else{f=0;g=0;break b}}d=(i*20|0)+40|0;f=(c[b+12316+(g*516|0)+12>>2]|0)+d|0;g=(c[b+12316+(g*516|0)+8>>2]|0)+d|0}else{f=0;g=0}while(0);c[e+56>>2]=g}else{c[e+56>>2]=c[f+4>>2];f=0}c[e+60>>2]=f;f=b+20|0}f=c[f>>2]|0;c[e+72>>2]=f;switch(q|0){case 11:case 12:{c[e+84>>2]=f;c[e+96>>2]=0;c[e+76>>2]=l;c[e+88>>2]=0;c[e+80>>2]=m>>>1;c[e+92>>2]=0;return}case 1:{b=f>>>1;c[e+84>>2]=b;c[e+96>>2]=b;b=l>>>1;c[e+76>>2]=b;c[e+88>>2]=b;b=m>>>1;c[e+80>>2]=b;c[e+92>>2]=b;return}default:return}}function Yg(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=e+-1|0;a:do if((e|0)>1){i=0;j=0;h=0;b:while(1){l=h+1|0;o=a[b+h>>0]|0;k=j+1|0;a[d+j>>0]=o;c:do if(!(o<<24>>24)){j=i+1|0;if((i|0)>0){switch(a[b+l>>0]|0){case 1:break b;case 3:break;default:{h=l;i=j;break c}}h=h+2|0;i=0}else{h=l;i=j}}else{h=l;i=0}while(0);if((h|0)<(m|0))j=k;else{l=i;n=9;break a}}i=k-j|0;h=l-j|0}else{h=0;l=0;k=0;n=9}while(0);d:do if((n|0)==9)if((h|0)<(e|0)){j=h+1|0;i=a[b+h>>0]|0;if((l|0)<=1){a[d+k>>0]=i;i=k+1|0;h=j;break}switch(i<<24>>24){case 1:{i=k;h=j-l|0;break d}case 3:{i=k+-1|0;h=h+2|0;break d}default:{i=k;h=j;break d}}}else i=k;while(0);c[f>>2]=h;c[g>>2]=i;return 0}function Zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Cn(c[b>>2]|0)|0;e=Cn(c[b+4>>2]|0)|0;c[a+4>>2]=0;c[a>>2]=b;c[a+8>>2]=b+8;c[a+12>>2]=f;c[a+16>>2]=e;c[a+20>>2]=b+d+8;return}function _g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Zb;Zb=Zb+16|0;g=i;h=b+376|0;Rh(h,1)|0;d=(Rh(h,6)|0)&255;a[g>>0]=d;Rh(h,6)|0;a[g+1>>0]=(Rh(h,3)|0)+255;h=b+128|0;if(c[h>>2]|0){d=a[(c[b+648>>2]|0)+1260>>0]|0;a[g>>0]=d}d=d<<24>>24;switch(d|0){case 18:case 17:case 16:{e=0;f=6;break}case 20:case 19:{e=1;f=6;break}case 21:{c[b+28>>2]=(c[b+32>>2]|0)==0&1;break}case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:break;case 36:{c[b+32>>2]=1;b=0;Zb=i;return b|0}case 33:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+112>>2]|0):0)?c[b+84>>2]|0:0){b=0;Zb=i;return b|0}d=ai(b)|0;if(!d)bi(b,a[(c[b+296>>2]|0)+143628>>0]|0,16);c[b+144>>2]=d;b=d;Zb=i;return b|0}case 34:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+116>>2]|0):0)?c[b+84>>2]|0:0){b=0;Zb=i;return b|0}d=ci(b)|0;if(!d)di(b,a[(c[b+300>>2]|0)+4360>>0]|0,64);c[b+144>>2]=d;b=d;Zb=i;return b|0}case 40:case 39:{if((c[b+104>>2]|0)==1){b=986;Zb=i;return b|0}b=ei(b,g)|0;Zb=i;return b|0}default:{b=0;Zb=i;return b|0}}if((f|0)==6?(c[b+28>>2]=e,(d+-16|0)>>>0>=5):0){b=0;Zb=i;return b|0}if(c[b+104>>2]|0){b=986;Zb=i;return b|0}if(!(c[b+112>>2]|0)){b=980;Zb=i;return b|0}if(!(c[b+116>>2]|0)){b=980;Zb=i;return b|0}c[b+108>>2]=0;c[b+32>>2]=0;d=$h(b,g)|0;if(d|0){b=d;Zb=i;return b|0}if(((a[g>>0]&-2)<<24>>24==8?(c[b+28>>2]|0)==0:0)?(c[h>>2]|0)==0:0){b=0;Zb=i;return b|0}b=$g(b)|0;Zb=i;return b|0}function $g(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;Yb=Zb;Zb=Zb+64|0;Gb=Yb+56|0;Xb=Yb;g=f+316|0;p=c[f+644>>2]|0;n=c[f+640>>2]|0;Ub=c[f+636>>2]|0;Vb=f+344|0;Rb=c[Vb>>2]|0;o=Rb&255;Hb=p+(o*1272|0)|0;m=a[p+(o*1272|0)+73>>0]|0;Ib=n+(m*68|0)|0;Tb=a[n+(m*68|0)+9>>0]|0;Jb=Ub+(Tb*8976|0)|0;if(Rb|0?(a[p+(o*1272|0)+75>>0]|0)==0:0)c[f+348>>2]=o;Kb=Ub+(Tb*8976|0)+4116|0;Lb=a[Kb>>0]|0;Mb=1<<Lb;Nb=(Mb|0)/4|0;Ob=w(Nb,Nb)|0;Pb=Ub+(Tb*8976|0)+4118|0;Qb=b[Pb>>1]|0;Rb=f+128|0;if(!(c[Rb>>2]|0)){Db=b[p+(o*1272|0)+872>>1]|0;c[g>>2]=Db;h=b[p+(o*1272|0)+874>>1]|0;Eb=f+320|0;c[Eb>>2]=h;Fb=g;g=Db}else{h=f+320|0;Eb=h;Fb=g;g=c[g>>2]|0;h=c[h>>2]|0}zb=f+356|0;c[zb>>2]=Ib;Ab=f+360|0;c[Ab>>2]=Jb;Bb=f+648|0;c[Bb>>2]=Hb;Cb=f+324|0;Db=f+328|0;xh(Ib,Jb,g,h,Cb,Db,Gb)|0;wb=n+(m*68|0)+4|0;vb=c[Gb>>2]|0;q=(c[wb>>2]|0)+(vb*6|0)|0;xb=f+340|0;c[xb>>2]=q;yb=f+352|0;c[yb>>2]=vb;a:do if(!(c[Rb>>2]|0)){switch(a[p+(o*1272|0)+75>>0]|0){case 1:break;case 0:{c[f+332>>2]=0;c[f+336>>2]=0;break a}default:break a}if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0){c[f+332>>2]=0;c[f+336>>2]=0}}while(0);do if((c[Eb>>2]|0)==0?(c[Fb>>2]|0)==0:0){g=yh(f)|0;if(!g){c[c[f+592>>2]>>2]=0;c[c[f+596>>2]>>2]=0;c[f+348>>2]=0;c[Cb>>2]=0;c[Db>>2]=0;break}else{Xb=g;Zb=Yb;return Xb|0}}while(0);j=c[f+1452>>2]|0;k=p+(o*1272|0)+161|0;if((a[k>>0]|0)>0){g=0;do{vb=c[p+(o*1272|0)+1068+(g*12|0)>>2]|0;c[j+20500+((c[Vb>>2]&255)<<6)+(g<<2)>>2]=c[vb+8>>2];a[j+36884+((c[Vb>>2]&255)<<4)+g>>0]=a[vb+20>>0]|0;g=g+1|0}while((g|0)<(a[k>>0]|0))}i=p+(o*1272|0)+160|0;g=a[i>>0]|0;if(g<<24>>24){if(g<<24>>24>0){h=0;do{g=c[p+(o*1272|0)+876+(h*12|0)>>2]|0;c[j+20+((c[Vb>>2]&255)<<6)+(h<<2)>>2]=c[g+8>>2];a[j+16404+((c[Vb>>2]&255)<<4)+h>>0]=a[g+20>>0]|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g<<24>>24|0))}}else g=0;vb=f+332|0;if(!((c[vb>>2]|0)!=0?(c[f+336>>2]|0)!=0:0)){i=c[p+(o*1272|0)+84>>2]|0;b:do if(g<<24>>24>0){h=g<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+876+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break b}g=g+1|0;if((g|0)>=(h|0)){ub=30;break}}}else ub=30;while(0);c:do if((ub|0)==30)if((a[p+(o*1272|0)+76>>0]|0)==0?(l=a[k>>0]|0,l<<24>>24>0):0){h=l<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+1068+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break c}g=g+1|0;if((g|0)>=(h|0)){g=1;break}}}else g=1;while(0);a[p+(o*1272|0)+1261>>0]=g}tb=p+(o*1272|0)+76|0;g=a[tb>>0]|0;do if(g<<24>>24!=2){h=(a[p+(o*1272|0)+163>>0]|0)!=0;if(g<<24>>24==1){pb=h?2:1;break}else{pb=h?1:2;break}}else pb=0;while(0);qb=p+(o*1272|0)+167|0;rb=n+(m*68|0)+14|0;i=(a[rb>>0]|0)+(a[qb>>0]|0)|0;i=(i|0)>0?i:0;i=(i|0)<51?i:51;sb=p+(o*1272|0)+75|0;g=a[sb>>0]|0;switch(g<<24>>24){case 0:{ub=43;break}case 1:{if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)ub=43;break}default:{}}if((ub|0)==43)c[f+436>>2]=i;d:do if(!(c[Rb>>2]|0)){do if(g<<24>>24==1){if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)break;g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break d}zh(f+660|0,f+376|0)|0;h=0;Pa=g;break d}while(0);g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break}if(!(Ah(f+660|0,f+376|0,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){h=0;Pa=g}else{c[Rb>>2]=1;h=1;Pa=g}}else{h=0;Pa=n+(m*68|0)+28|0}while(0);ob=f+24|0;Qa=f+444|0;Ra=f+588|0;Sa=f+408|0;Ta=f+428|0;Ua=f+988|0;Va=f+1044|0;Wa=f+420|0;Xa=f+348|0;Ya=f+1444|0;Za=Xb+8|0;_a=Xb+4|0;$a=Xb+6|0;ab=Xb+10|0;bb=f+404|0;cb=f+400|0;db=Xb+12|0;eb=f+656|0;fb=f+5956|0;gb=f+6096|0;hb=f+5960|0;ib=f+5964|0;jb=f+5988|0;kb=p+(o*1272|0)+156|0;lb=f+568|0;mb=f+416|0;nb=f+424|0;ya=n+(m*68|0)+27|0;za=f+336|0;Aa=f+436|0;Ba=p+(o*1272|0)+872|0;Ca=p+(o*1272|0)+874|0;Da=p+(o*1272|0)+157|0;Ea=f+660|0;Fa=f+376|0;Ga=f+596|0;Ha=f+1456|0;Ia=f+432|0;Ja=f+822|0;Ka=f+668|0;La=f+412|0;Ma=f+88|0;Na=f+1460|0;Oa=f+592|0;z=p+(o*1272|0)+171|0;A=Ub+(Tb*8976|0)+4120|0;xa=f+204|0;B=f+1048|0;C=f+380|0;D=f+984|0;F=Hb+1272|0;E=F+872|0;F=F+874|0;G=f+396|0;H=f+384|0;I=Xb+4|0;J=Xb+8|0;K=Xb+12|0;L=Xb+16|0;M=f+580|0;N=Xb+20|0;O=Xb+24|0;P=Xb+28|0;Q=Xb+36|0;R=Xb+32|0;S=f+576|0;T=Xb+40|0;U=Xb+44|0;V=Xb+48|0;W=Xb+52|0;X=Xb+53|0;Y=Xb+54|0;Z=Xb+55|0;_=f+5984|0;$=Ub+(Tb*8976|0)+2|0;aa=Nb+-1|0;ba=(Mb|0)>3;ca=f+992|0;da=f+996|0;ea=f+1008|0;fa=f+1012|0;ga=f+1016|0;ha=f+1020|0;ia=f+1024|0;ja=f+1028|0;ka=f+1032|0;la=f+1052|0;ma=f+1064|0;na=f+1072|0;oa=f+1076|0;pa=f+1080|0;qa=f+1084|0;ra=f+1004|0;sa=f+1e3|0;ta=(Mb<<Lb|0)/128|0;ua=f+1036|0;va=f+1040|0;wa=((w((Mb|0)/8|0,Nb)|0)/8|0)<<1;y=q;e:while(1){g=c[ob>>2]|0;if((g|0)==1?(((w(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0)%142560|0|0)==0:0){c[Sa>>2]=c[Ra>>2];c[Ta>>2]=0}c[Qa>>2]=0;do if(!(c[Cb>>2]|0)){if(!(c[Db>>2]|0)){if((a[y>>0]|0)==0?(a[y+1>>0]|0)==0:0)g=i;else ub=64;do if((ub|0)==64){if((c[vb>>2]|0)==0?(c[za>>2]|0)==0:0){g=i;break}g=(a[rb>>0]|0)+(a[qb>>0]|0)|0;g=(g|0)>0?g:0;g=(g|0)<51?g:51;c[Aa>>2]=g;xh(Ib,Jb,c[Fb>>2]|0,c[Eb>>2]|0,Cb,Db,Gb)|0;i=c[Gb>>2]|0;c[xb>>2]=(c[wb>>2]|0)+(i*6|0);c[yb>>2]=i;i=d[y>>0]|0;j=d[y+1>>0]|0;k=b[Pb>>1]|0;ub=(w(k,j)|0)+i|0;l=b[Ba>>1]|0;m=b[Ca>>1]|0;do if(((w(m,k)|0)+l|0)<(ub|0)){n=j-m|0;c[za>>2]=n;if((((e[y+-4>>1]|0)+l|0)%(k|0)|0|0)==(i|0))break;if(!((l|0)>(i|0)&(j|0)>=(m|0)))break;c[za>>2]=n+-1}while(0);if(!(c[Rb>>2]|0)){if(!(Ah(Ea,Fa,g,pb,576+(pb*8008|0)+(g*154|0)|0)|0))break;c[Rb>>2]=1;h=1}}while(0);if(c[Cb>>2]|0){i=g;break}i=g;g=c[ob>>2]|0}if((g|0)>1){c[Xb>>2]=0;b[Za>>1]=b[y+2>>1]|0;b[_a>>1]=c[Fb>>2];b[$a>>1]=c[Eb>>2];b[ab>>1]=c[Vb>>2];c[db>>2]=(c[bb>>2]|0)-(c[cb>>2]|0);g=ah(c[eb>>2]|0,Xb,16,1)|0;if(!g)break;else{ub=219;break e}}else{ub=(c[bb>>2]|0)-(c[cb>>2]|0)|0;c[gb>>2]=e[y+2>>1];c[hb>>2]=c[Fb>>2];c[ib>>2]=c[Eb>>2];c[jb>>2]=c[Vb>>2];Ug(fb,ub);break}}while(0);do if((a[Pa>>0]|0)!=0?(c[Fb>>2]|0)==0:0)if(!(c[Rb>>2]|0)){if(!(c[za>>2]|0))g=(a[sb>>0]|0)==0&1;else g=0;ub=(b[Pb>>1]|0)!=1;c[Aa>>2]=i;if((g|0)==0&ub){if(!(Ah(Ea,Fa,i,pb,Ja)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}else{if(!(Ah(Ea,Fa,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}}else{g=h;ub=92}else ub=88;while(0);do if((ub|0)==88){ub=0;if(!(c[Rb>>2]|0)){if((a[kb>>0]|0)==0?(a[Da>>0]|0)==0:0){g=h;break}Bh(f)|0;g=h}else{g=h;ub=92}}while(0);if((ub|0)==92){ub=0;x=(c[Ya>>2]|0)+((c[Fb>>2]|0)*12|0)+((w(c[Eb>>2]|0,b[Pb>>1]|0)|0)*12|0)|0;c[x>>2]=c[x>>2]&-8;v=x+4|0;c[v>>2]=c[v>>2]&-8;x=x+8|0;c[x>>2]=c[x>>2]&-8}x=(w(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0;v=(c[Va>>2]|0)+(x>>3)|0;a[v>>0]=1<<(x&7)|d[v>>0];b[(c[Wa>>2]|0)+(x<<1)>>1]=c[Xa>>2];if(!(c[Rb>>2]|0)){h=c[Sa>>2]|0;j=c[lb>>2]|0;k=c[Ta>>2]|0;l=c[mb>>2]|0;m=c[nb>>2]|0;n=c[bb>>2]|0;x=a[Kb>>0]|0;if(!(Ch(f,c[Fb>>2]<<x,c[Eb>>2]<<x,x,0)|0))ub=97;else{c[Sa>>2]=h;c[lb>>2]=j;c[Ta>>2]=k;c[mb>>2]=l;c[nb>>2]=m;Fn(n|0,0,(c[bb>>2]|0)-n|0)|0;c[bb>>2]=n;Dh(f);c[Rb>>2]=1;g=1}}else{Dh(f);ub=97}if((ub|0)==97){ub=0;if(!(c[Rb>>2]|0))g=Eh(Ea,Fa)|0}if((a[ya>>0]|0)==0?(a[Pa>>0]|0)==0:0)k=y+2|0;else ub=102;do if((ub|0)==102){ub=0;if((c[Fb>>2]|0)==1)Dn(Ja|0,Ka|0,154)|0;k=y+2|0;if(((c[Cb>>2]|0)+1|0)==(e[k>>1]|0)){h=((c[Db>>2]|0)+1|0)==(e[y+4>>1]|0)&1;j=1}else{h=0;j=0}if((g|0)==0?(c[Rb>>2]|0)==0:0){if(!((h|0)!=0&(a[ya>>0]|0)!=0)?!((j|0)!=0&(a[Pa>>0]|0)!=0):0)break;Eh(Ea,Fa)|0;if(!(c[C>>2]&7))break;Fh(Fa)}}while(0);h=w(c[Eb>>2]|0,Qb)|0;h=(c[Fb>>2]|0)+1+h|0;o=e[k>>1]|0;do if(((c[Cb>>2]|0)+1|0)==(o|0)?(Sb=b[Pb>>1]|0,(o|0)!=(Sb|0)):0){x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;j=w(l,Sb)|0;m=d[y>>0]|0;j=j+m|0;if((x|0)==(e[y+4>>1]|0)){if((m+o|0)==(Sb|0)?(l|0)==(b[A>>1]|0):0){j=h;break}j=c[xb>>2]|0;j=(w(d[j+7>>0]|0,Sb)|0)+(d[j+6>>0]|0)|0}}else j=h;while(0);c[(c[Ga>>2]|0)+(j<<2)>>2]=c[nb>>2];c[Ha>>2]=j;c[Ia>>2]=(c[Ia>>2]|0)+Ob;if((c[ob>>2]|0)==1){h=(h|0)%142560|0;h=(h|0)==0?142560:h;do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=w(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(w(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}else{do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=w(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(w(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}c[h>>2]=c[Ta>>2];c[La>>2]=(c[La>>2]|0)+Ob;do if(c[Ma>>2]|0?(a[z>>0]|0)==1:0){h=c[Fb>>2]|0;s=b[Pb>>1]|0;r=c[Eb>>2]|0;x=(w(r,s)|0)+h|0;t=(a[Kb>>0]|0)+-3|0;s=s<<t;t=(c[B>>2]|0)+((w(s,r)|0)+h<<t)|0;h=c[j+(((c[ob>>2]|0)==1?(x|0)%142560|0:x)<<2)>>2]|0;r=(c[j+(c[Na>>2]<<2)>>2]|0)-h|0;h=(c[Ra>>2]|0)+(h<<2)|0;if(1<<(x&7)&d[(c[Va>>2]|0)+(x>>3)>>0]|0){a[t>>0]=c[h>>2]<<9>>25;break}if((r|0)<=0)break;o=0;while(1){x=c[h>>2]|0;p=x&15;l=x>>>4&15;j=4<<(x>>>8&7)>>>2;if(!(x&17)){q=j+l|0;n=j+p|0;do{m=w(l>>1,s)|0;j=p;do{a[t+((j>>1)+m)>>0]=c[h>>2]<<9>>25;j=j+2|0}while(j>>>0<n>>>0);l=l+2|0}while(l>>>0<q>>>0)}o=o+1|0;if((o|0)==(r|0))break;else h=h+4|0}}while(0);p=c[ob>>2]|0;do if((p|0)<3){h=b[Pb>>1]|0;o=h<<16>>16;x=(w(o,d[y+1>>0]|0)|0)+(d[y>>0]|0)|0;if(((w(b[Ca>>1]|0,o)|0)+(b[Ba>>1]|0)|0)>=(x|0))h=b[k>>1]|0;q=c[Eb>>2]|0;if((q|0)!=0?(c[Db>>2]|0)!=0:0)l=1;else l=0;t=c[Fb>>2]|0;f:do if(!t)ub=153;else{if(!(c[Cb>>2]|0)){ub=153;break}if((t|0)<=0){j=l;m=1;n=l;h=l;break}j=c[za>>2]|0;do if(j|0){if(!(c[Db>>2]|0))break;if((j|0)!=1){j=l;m=1;n=l;h=l;break f}j=l;m=1;n=(c[vb>>2]|0)==0?0:l;h=l;break f}while(0);x=c[vb>>2]|0;j=0;m=(x|0)!=0&1;n=0;h=((h<<16>>16)+-1|0)==(x|0)?l:0}while(0);do if((ub|0)==153){ub=0;if(c[za>>2]|0?c[Db>>2]|0:0){j=l;m=0;n=0;h=l;break}j=0;m=0;n=0;h=((h<<16>>16)+-1|0)==(c[vb>>2]|0)?l:0}while(0);if(!((o+-1|0)!=(t|0)?((e[k>>1]|0)+-1|0)!=(c[Cb>>2]|0):0))h=0;do if((d[tb>>0]|0)<2){x=(p|0)==1?1:p+-1|0;s=t+(w(q,o)|0)|0;p=c[Ga>>2]|0;s=c[p+(s<<2)>>2]|0;r=(c[p+(c[Ha>>2]<<2)>>2]|0)-s|0;u=(c[f+5956+(x*692|0)+104>>2]|0)+(((t<<Lb|0)/4|0)<<2)|0;v=c[f+5956+(x*692|0)+108>>2]|0;c[Xb>>2]=Ib;c[I>>2]=Jb;c[J>>2]=Hb;c[K>>2]=t;c[L>>2]=q;t=c[M>>2]|0;c[N>>2]=t+(s<<4);c[O>>2]=t;c[P>>2]=y;c[Q>>2]=c[f+5956+(x*692|0)+100>>2];c[R>>2]=p;c[T>>2]=c[S>>2];c[U>>2]=r;c[V>>2]=s;a[W>>0]=j;a[X>>0]=h;a[Y>>0]=n;a[Z>>0]=m;gh(Xb,u,v,f+5956+(x*692|0)+112|0)|0}else{r=t+(w(q,o)|0)|0;x=(c[S>>2]|0)+(w(r,Ob)|0)|0;u=(p|0)==1?1:p+-1|0;v=c[f+5956+(u*692|0)+100>>2]|0;s=c[Ga>>2]|0;r=c[s+(r<<2)>>2]|0;s=(c[s+(c[Ha>>2]<<2)>>2]|0)-r|0;if((s|0)>0){h=(c[M>>2]|0)+(r<<4)|0;j=0;while(1){n=h+12|0;q=c[n>>2]|0;o=j+r|0;p=((q>>>10&60)+4|0)>>>2;q=((q>>>6&60)+4|0)>>>2;m=0;do{m=m+1|0;l=0;do{t=c[n>>2]|0;l=l+1|0;c[v+(l+(t&15)+((m+(t>>>4&15)|0)*18|0)<<2)>>2]=o}while((l|0)!=(q|0))}while((m|0)!=(p|0));j=j+1|0;if((j|0)==(s|0))break;else h=h+16|0}h=c[Eb>>2]|0;j=c[Fb>>2]|0}else{h=q;j=t}h=(b[$>>1]|0)-(h<<a[Kb>>0])|0;m=c[f+5956+(u*692|0)+104>>2]|0;c[f+5956+(u*692|0)+112>>2]=c[m+(aa+((j<<Lb|0)/4|0)<<2)>>2];if(!ba)break;l=c[f+5956+(u*692|0)+108>>2]|0;j=((((Mb|0)<(h|0)?Mb:h)|0)/4|0)*18|0;h=0;do{u=h;h=h+1|0;c[l+(u<<2)>>2]=c[v+((h*18|0)+Nb<<2)>>2];c[m+(((c[Fb>>2]<<Lb|0)/4|0)+u<<2)>>2]=c[v+(h+j<<2)>>2]}while((h|0)!=(Nb|0));n=c[v+76>>2]|0;if(!ba)break;h=19;j=0;m=0;while(1){l=0;do{a[x+(l+j)>>0]=(c[v+(l+h<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(Nb|0));m=m+1|0;if((m|0)==(Nb|0))break;else{h=h+18|0;j=j+Nb|0}}}while(0);if(c[Ma>>2]|0)break;do if(!(c[Rb>>2]|0)){v=c[ob>>2]|0;u=(v|0)==1;q=c[Fb>>2]|0;r=c[Eb>>2]|0;s=(w(r,b[Pb>>1]|0)|0)+q|0;t=c[(c[Ga>>2]|0)+(s<<2)>>2]|0;x=c[Na>>2]|0;p=c[Oa>>2]|0;s=c[p+((u?(s|0)%142560|0:s)<<2)>>2]|0;p=(c[p+(x<<2)>>2]|0)-s|0;c[Ua>>2]=c[zb>>2];c[ca>>2]=c[Ab>>2];c[da>>2]=f;c[ea>>2]=p;c[fa>>2]=q;c[ga>>2]=r;c[ha>>2]=c[Cb>>2];c[ia>>2]=c[Db>>2];c[ja>>2]=c[vb>>2];c[ka>>2]=c[za>>2];c[la>>2]=(c[Ra>>2]|0)+(s<<2);c[ma>>2]=(c[M>>2]|0)+(t<<4);c[na>>2]=c[f+5956+((u?1:v+-1|0)*692|0)+100>>2];c[oa>>2]=c[Ha>>2];c[pa>>2]=x;c[qa>>2]=c[Wa>>2];c[ra>>2]=c[Bb>>2];c[sa>>2]=c[xb>>2];if((a[tb>>0]|0)==2){jh(Ua)|0;break}else{kh(Ua)|0;break}}while(0);if(!(a[z>>0]|0))break;v=w((b[Pb>>1]|0)+1|0,ta)|0;u=w(c[Fb>>2]|0,ta)|0;v=w(v,c[Eb>>2]|0)|0;x=(c[va>>2]|0)+u+v|0;Fn((c[ua>>2]|0)+u+v|0,0,wa|0)|0;Fn(x|0,0,wa|0)|0}while(0);p=(w(c[Eb>>2]|0,b[(c[Ab>>2]|0)+4118>>1]|0)|0)+(c[Fb>>2]|0)|0;a[(c[xa>>2]|0)+p>>0]=1;p=(c[Cb>>2]|0)+1|0;c[Cb>>2]=p;n=(c[Fb>>2]|0)+1|0;c[Fb>>2]=n;l=(c[vb>>2]|0)+1|0;c[vb>>2]=l;do if(a[ya>>0]|0){j=d[y>>0]|0;h=b[Pb>>1]|0;x=(w(h,d[y+1>>0]|0)|0)+j|0;x=((w(b[Ca>>1]|0,h)|0)+(b[Ba>>1]|0)|0)<(x|0);h=e[k>>1]|0;if(x){if((l|0)!=(h+j|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=j;break}else{if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0;break}}else{h=e[k>>1]|0;if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0}while(0);g:do if((p|0)==(h|0)){c[Cb>>2]=0;h=d[y>>0]|0;c[Fb>>2]=h;j=(c[Db>>2]|0)+1|0;c[Db>>2]=j;k=(c[Eb>>2]|0)+1|0;c[Eb>>2]=k;if((j|0)!=(e[y+4>>1]|0)){o=0;m=y;l=0;break}c[Db>>2]=0;c[Cb>>2]=0;l=c[xb>>2]|0;m=l+6|0;c[xb>>2]=m;k=j+(d[y+1>>0]|0)|0;do if((k|0)==(b[A>>1]|0)){if((p+h|0)!=(b[Pb>>1]|0))break;c[Fb>>2]=0;c[Eb>>2]=k;o=1;m=y;h=0;l=0;break g}while(0);h=d[m>>0]|0;c[Fb>>2]=h;k=d[l+7>>0]|0;c[Eb>>2]=k;c[Db>>2]=0;c[Cb>>2]=0;c[vb>>2]=h;c[za>>2]=k;o=0;l=0}else{o=0;m=y;k=c[Eb>>2]|0;h=n;l=p}while(0);j=b[Pb>>1]|0;h=(w(k,j)|0)+h|0;c[D>>2]=h;if(c[Rb>>2]|0){y=(h|0)==((w(b[F>>1]|0,j)|0)+(b[E>>1]|0)|0);g=y?1:g}if((c[ob>>2]|0)==1&(l|0)==0){c[gb>>2]=e[(c[_>>2]|0)+2>>1];dh(fb)|0}if(((c[G>>2]|0)+8|0)>>>0<((c[H>>2]|0)+((c[C>>2]|0)>>>3)|0)>>>0)g=(c[Rb>>2]|0)==0?1:g;if(!(g|o)){y=m;h=0}else break}if((ub|0)==219){Zb=Yb;return g|0}c[Rb>>2]=0;if(o|0){c[f+980>>2]=1;Xb=0;Zb=Yb;return Xb|0}j=(c[Vb>>2]|0)+1|0;if((c[ob>>2]|0)!=1&(j&255|0)==0?(Wb=c[Ub+(Tb*8976|0)+4128>>2]|0,Wb|0):0){i=c[xa>>2]|0;h=c[f+208>>2]|0;g=0;do{f=d[i+g>>0]|0;c[Xb>>2]=a[h+g>>0]&1;g=g+((c[Xb>>2]|0)==(f|0)&1)|0}while((g|0)!=(Wb|0))}c[Vb>>2]=j;Xb=0;Zb=Yb;return Xb|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=a+16|0;if(mg(c[g>>2]|0)|0){a=2147483647;return a|0}e=a+4|0;f=c[e>>2]|0;if((c[a+12>>2]|0)>>>0<(f+d|0)>>>0)e=2147483647;else{Dn(f|0,b|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;e=0}c[a+20>>2]=0;a=(ng(c[g>>2]|0)|0)==0;a=a?e:2147483647;return a|0}function bh(a){a=a|0;var b=0;b=a+16|0;if(mg(c[b>>2]|0)|0){b=2147483647;return b|0}c[a+20>>2]=1;b=(ng(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function ch(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+16|0;if(mg(c[j>>2]|0)|0){j=2147483647;return j|0}i=a+8|0;f=c[i>>2]|0;g=f+d|0;a:do if((c[a+12>>2]|0)>>>0<g>>>0)f=2147483647;else{h=a+4|0;if((c[h>>2]|0)>>>0<g>>>0){a=a+20|0;if((e|0)!=1){f=(c[a>>2]|0)==1;while(1)if(f){f=2147483647;break a}}do{if((c[a>>2]|0)==1){f=2147483647;break a}if(!(ng(c[j>>2]|0)|0)){og();mg(c[j>>2]|0)|0}f=c[i>>2]|0}while((c[h>>2]|0)>>>0<(f+d|0)>>>0)}Dn(b|0,f|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=0}while(0);j=(ng(c[j>>2]|0)|0)==0;j=j?f:2147483647;return j|0}function dh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=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;Ac=Zb;Zb=Zb+64|0;yc=Ac;X=Ac+8|0;Ta=f+44|0;ab=c[Ta>>2]|0;fb=ab+4116|0;g=a[fb>>0]|0;Db=g<<24>>24;Sb=1<<Db;h=c[f>>2]|0;nc=(Sb|0)/4|0;Y=w(nc,nc)|0;_a=c[h+11560>>2]|0;xa=f+140|0;j=c[xa>>2]|0;_a=(_a|0)<(j|0)?_a:j;Sa=f+28|0;Ya=f+12|0;Za=(e[(c[Sa>>2]|0)+2>>1]|0)-(c[Ya>>2]|0)|0;Za=(_a|0)<(Za|0)?_a:Za;_a=f+32|0;$a=ab+4118|0;if((c[_a>>2]|0)>(256-(b[$a>>1]<<1)|0))i=1;else i=c[f+688>>2]|0;bb=f+24|0;cb=f+20|0;db=f+120|0;eb=f+68|0;if(!j){Zb=Ac;return 0}gb=f+16|0;lb=f+148|0;mb=f+152|0;nb=f+4|0;ob=f+8|0;pb=Za+-1|0;qb=h+204|0;rb=f+48|0;sb=h+24|0;tb=f+40|0;yb=f+112|0;zb=f+108|0;Ab=f+104|0;Bb=X+4|0;Cb=X+8|0;Eb=X+12|0;Fb=X+16|0;Gb=f+76|0;Hb=X+20|0;Ib=f+96|0;Jb=X+24|0;Ob=X+28|0;Pb=f+100|0;Qb=X+36|0;Rb=f+84|0;Tb=X+32|0;Ub=f+92|0;Vb=X+40|0;Wb=f+264|0;Xb=X+44|0;Yb=f+268|0;_b=X+48|0;$b=f+248|0;ac=X+52|0;bc=f+249|0;cc=X+53|0;dc=f+250|0;ec=X+54|0;fc=f+251|0;gc=X+55|0;hc=h+88|0;ic=f+676|0;kc=f+36|0;lc=f+680|0;mc=w(Za,Y)|0;oc=f+252|0;pc=ab+2|0;qc=(Sb|0)>3;rc=h+128|0;sc=f+280|0;tc=f+284|0;uc=f+288|0;vc=f+300|0;wc=f+304|0;xc=f+308|0;Z=f+312|0;_=f+316|0;$=f+320|0;aa=f+324|0;ba=f+344|0;ca=f+356|0;da=f+364|0;ea=f+368|0;fa=f+684|0;ga=f+372|0;ha=f+672|0;ia=f+376|0;ja=f+296|0;ka=f+292|0;la=f+116|0;ma=(Za|0)>0;na=(Sb<<Db|0)/128|0;oa=f+328|0;pa=f+332|0;qa=((w((Sb|0)/8|0,nc)|0)/8|0)<<1;ra=h+304|0;sa=ab+54|0;ta=f+156|0;ua=f+160|0;va=f+164|0;wa=f+168|0;ya=f+172|0;za=f+176|0;Aa=f+180|0;Ba=f+184|0;Ca=f+232|0;Da=h+20|0;Ea=f+256|0;Fa=f+236|0;Ga=f+260|0;Ha=ab+55|0;Ia=f+380|0;Ja=f+384|0;Ka=f+388|0;La=f+392|0;Ma=f+496|0;Na=f+500|0;Oa=f+536|0;Pa=h+64|0;Qa=f+540|0;Ra=Sb>>3;E=g<<24>>24==31;F=f+132|0;G=ab+4120|0;H=h+92|0;I=f+544|0;J=f+548|0;K=f+564|0;L=f+552|0;M=f+560|0;N=f+656|0;O=f+568|0;P=f+572|0;Q=f+668|0;R=(Sb|0)/2|0;S=h+12204|0;T=h+12208|0;U=Sb+8|0;V=R+16|0;W=h+12212|0;D=h+12216|0;A=c[bb>>2]|0;B=c[cb>>2]|0;C=c[eb>>2]|0;o=c[db>>2]|0;g=c[Ya>>2]|0;do{c[bb>>2]=A;c[cb>>2]=B;c[db>>2]=o;c[eb>>2]=C;y=c[gb>>2]|0;z=c[_a>>2]|0;x=o;i=(j|0)<(i|0)?j:i;v=(i|0)==0;if(v)h=z;else{u=i;do{k=c[Sa>>2]|0;j=c[lb>>2]|0;if(!((j|0)==0?!(c[mb>>2]|0):0)){h=1024;while(1){c[X>>2]=1;if(j|0){t=pb+(c[nb>>2]|0)+(w(c[ob>>2]|0,b[$a>>1]|0)|0)|0;c[X>>2]=d[(c[qb>>2]|0)+t>>0]}if(c[X>>2]|0)break;if((h|0)>0){j=128;do{Vl(140960,yc)|0;j=j+-1|0}while((j|0)!=0);h=h+-128|0}else{og();h=1024}j=c[lb>>2]|0}}eh(f,1,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=22;if(((zc|0)==22?(zc=0,Ua=c[(c[f>>2]|0)+304>>2]|0,Va=(c[_a>>2]|0)+1|0,Wa=Va&255,Xa=Ua+(Wa*1272|0)|0,(h|0)==(b[Ua+(Wa*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Ua+(Wa*1272|0)+874>>1]|0):0){if(!(a[Ua+(Wa*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Va;c[rb>>2]=Xa}t=c[rb>>2]|0;fh(f);if((d[t+76>>0]|0)>=2){if((c[sb>>2]|0)>2){j=c[nb>>2]|0;h=c[ob>>2]|0;q=(w(h,b[$a>>1]|0)|0)+j|0;s=(c[Ub>>2]|0)+(w(q,Y)|0)|0;t=c[Pb>>2]|0;r=c[Rb>>2]|0;q=c[r+(q<<2)>>2]|0;r=(c[r+(c[lc>>2]<<2)>>2]|0)-q|0;if((r|0)>0){h=0;j=(c[Ib>>2]|0)+(q<<4)|0;while(1){m=j+12|0;p=c[m>>2]|0;n=h+q|0;o=((p>>>10&60)+4|0)>>>2;p=((p>>>6&60)+4|0)>>>2;k=0;do{k=k+1|0;l=0;do{Bc=c[m>>2]|0;l=l+1|0;c[t+(l+(Bc&15)+((k+(Bc>>>4&15)|0)*18|0)<<2)>>2]=n}while((l|0)!=(p|0))}while((k|0)!=(o|0));h=h+1|0;if((h|0)==(r|0))break;else j=j+16|0}h=c[ob>>2]|0;j=c[nb>>2]|0}h=(b[pc>>1]|0)-(h<<a[fb>>0])|0;l=c[Ab>>2]|0;c[yb>>2]=c[l+(((j+1<<Db|0)/4|0)+-1<<2)>>2];if(qc){k=c[zb>>2]|0;j=((((Sb|0)<(h|0)?Sb:h)|0)/4|0)*18|0;h=0;do{Bc=h;h=h+1|0;c[k+(Bc<<2)>>2]=c[t+((h*18|0)+nc<<2)>>2];c[l+(((c[nb>>2]<<Db|0)/4|0)+Bc<<2)>>2]=c[t+(h+j<<2)>>2]}while((h|0)!=(nc|0));m=c[t+76>>2]|0;if(qc){h=0;k=0;l=19;while(1){j=0;do{a[s+(j+k)>>0]=(c[t+(j+l<<2)>>2]|0)-m;j=j+1|0}while((j|0)!=(nc|0));h=h+1|0;if((h|0)==(nc|0))break;else{k=k+nc|0;l=l+18|0}}}}}}else{if((c[sb>>2]|0)>2){Bc=c[zb>>2]|0;s=c[nb>>2]|0;t=(c[Ab>>2]|0)+(((s<<Db|0)/4|0)<<2)|0;c[X>>2]=c[tb>>2];c[Bb>>2]=c[Ta>>2];c[Cb>>2]=c[rb>>2];c[Eb>>2]=s;c[Fb>>2]=c[ob>>2];c[Hb>>2]=c[Gb>>2];c[Jb>>2]=c[Ib>>2];c[Ob>>2]=k;c[Qb>>2]=c[Pb>>2];c[Tb>>2]=c[Rb>>2];c[Vb>>2]=c[Ub>>2];c[Xb>>2]=c[Wb>>2];c[_b>>2]=c[Yb>>2];a[ac>>0]=a[$b>>0]|0;a[cc>>0]=a[bc>>0]|0;a[ec>>0]=a[dc>>0]|0;a[gc>>0]=a[fc>>0]|0;gh(X,t,Bc,yb)|0}hh(f)}if(a[(c[tb>>2]|0)+27>>0]|0)b[(c[ic>>2]|0)+((w(c[ob>>2]|0,b[$a>>1]|0)|0)+(c[nb>>2]|0)<<1)>>1]=c[kc>>2];h=c[rb>>2]|0;if((c[hc>>2]|0)==0?(c[sb>>2]|0)>2:0){do if(!(c[rc>>2]|0)){ih(f);c[sc>>2]=c[tb>>2];c[tc>>2]=c[Ta>>2];c[uc>>2]=c[f>>2];c[vc>>2]=c[oc>>2];c[wc>>2]=c[nb>>2];c[xc>>2]=c[ob>>2];c[Z>>2]=c[Ya>>2];c[_>>2]=c[gb>>2];c[$>>2]=c[cb>>2];c[aa>>2]=c[bb>>2];c[ba>>2]=c[eb>>2];c[ca>>2]=c[Gb>>2];c[da>>2]=c[Pb>>2];c[ea>>2]=c[lc>>2];c[ga>>2]=c[fa>>2];c[ia>>2]=c[ha>>2];c[ja>>2]=c[rb>>2];c[ka>>2]=c[Sa>>2];if((a[h+76>>0]|0)==2){jh(sc)|0;break}else{kh(sc)|0;break}}while(0);if(a[h+171>>0]|0){t=w((b[$a>>1]|0)+1|0,na)|0;s=w(c[nb>>2]|0,na)|0;t=w(t,c[ob>>2]|0)|0;Bc=(c[pa>>2]|0)+s+t|0;Fn((c[oa>>2]|0)+s+t|0,0,qa|0)|0;Fn(Bc|0,0,qa|0)|0}}s=c[nb>>2]|0;t=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((s+1+(w(t,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Wb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(w(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|2;h=h+1|0}while((h|0)!=(Za|0))}u=u-Za|0;lh(f,Za)}while((u|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;c[db>>2]=x;c[eb>>2]=C;if(v)h=z;else{o=i;do{eh(f,2,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=73;if(((zc|0)==73?(zc=0,hb=c[(c[f>>2]|0)+304>>2]|0,ib=(c[_a>>2]|0)+1|0,jb=ib&255,kb=hb+(jb*1272|0)|0,(h|0)==(b[hb+(jb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[hb+(jb*1272|0)+874>>1]|0):0){if(!(a[hb+(jb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=ib;c[rb>>2]=kb}fh(f);ih(f);if(a[sa>>0]|0){if(!(a[Ha>>0]|0)){h=31520;j=28960;k=28320;l=29472;m=28448;n=28192;zc=80}}else{h=26144;j=26144;k=26144;l=26144;m=26144;n=26144;zc=80}if((zc|0)==80){zc=0;c[ta>>2]=26144;c[ua>>2]=n;c[va>>2]=m;c[wa>>2]=l;c[ya>>2]=26144;c[za>>2]=k;c[Aa>>2]=j;c[Ba>>2]=h}u=c[nb>>2]<<Db;t=w(c[ob>>2]<<Db,c[Da>>2]|0)|0;c[Ea>>2]=(c[Ca>>2]|0)+(t+u);c[Ga>>2]=(c[Fa>>2]|0)+u+((t|0)/2|0);mh(f)|0;t=c[nb>>2]|0;u=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((t+1+(w(u,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Wb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(w(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|4;h=h+1|0}while((h|0)!=(Za|0))}o=o-Za|0;lh(f,Za)}while((o|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;o=c[db>>2]|0;n=C;C=c[eb>>2]|0;c[db>>2]=x;c[eb>>2]=n;if(v)h=z;else{m=i;do{eh(f,3,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=96;if(((zc|0)==96?(zc=0,ub=c[(c[f>>2]|0)+304>>2]|0,vb=(c[_a>>2]|0)+1|0,wb=vb&255,xb=ub+(wb*1272|0)|0,(h|0)==(b[ub+(wb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[ub+(wb*1272|0)+874>>1]|0):0){if(!(a[ub+(wb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=vb;c[rb>>2]=xb}if(!(c[hc>>2]|0)){c[Ia>>2]=c[tb>>2];c[Ja>>2]=c[Ta>>2];c[Ka>>2]=c[f>>2];c[La>>2]=c[rb>>2];c[Ma>>2]=h;j=c[ob>>2]|0;c[Na>>2]=j;c[Oa>>2]=c[ha>>2];c[Qa>>2]=(c[Pa>>2]|0)==12&1;l=(b[ab>>1]|0)+63>>6<<3;k=(a[fb>>0]|0)+-3|0;if(!E){h=(h<<k)+-1+(w(l,(j<<k)+-1|0)|0)|0;k=c[F>>2]|0;j=0;while(1){b[f+508+(j<<1)>>1]=(c[k+(h>>3)>>2]|0)>>>(h&7);if((j|0)<(Ra|0)){h=h+l|0;j=j+1|0}else break}}nh(Ia,0,0);Bc=b[$a>>1]|0;if((c[nb>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[ab>>1]|0):0)nh(Ia,1,0);Bc=b[G>>1]|0;if((c[ob>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[pc>>1]|0):0)nh(Ia,0,1)}h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(w(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|8;h=h+1|0}while((h|0)!=(Za|0))}m=m-Za|0;lh(f,Za)}while((m|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[gb>>2]=y;c[db>>2]=x;c[eb>>2]=n;z=A;A=c[bb>>2]|0;Bc=B;B=c[cb>>2]|0;c[bb>>2]=z;c[cb>>2]=Bc;if(!v){n=i;do{eh(f,4,Za);g=c[nb>>2]|0;if(!((g|0)==0?!(c[ob>>2]|0):0))zc=123;if(((zc|0)==123?(zc=0,Kb=c[(c[f>>2]|0)+304>>2]|0,Lb=(c[_a>>2]|0)+1|0,Mb=Lb&255,Nb=Kb+(Mb*1272|0)|0,(g|0)==(b[Kb+(Mb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Kb+(Mb*1272|0)+874>>1]|0):0){if(!(a[Kb+(Mb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Lb;c[rb>>2]=Nb}if(!(c[H>>2]|0)){c[I>>2]=c[tb>>2];c[J>>2]=c[Ta>>2];c[K>>2]=c[Sa>>2];c[L>>2]=c[f>>2];c[M>>2]=c[rb>>2];c[N>>2]=c[_a>>2];c[O>>2]=g;c[P>>2]=c[ob>>2];c[Q>>2]=(c[Pa>>2]|0)==12&1;oh(I);g=c[nb>>2]|0}if(!g){g=c[ob>>2]|0;Bc=c[Da>>2]|0;y=w(g<<Db,Bc)|0;z=(c[Ca>>2]|0)+y|0;c[Ea>>2]=z;c[Ga>>2]=(c[Fa>>2]|0)+((y|0)/2|0);jc[c[S>>2]&7](z+(0-(Bc<<3))|0,Bc,(((b[G>>1]|0)+-1|0)==(g|0)?8:0)+Sb|0,80);g=c[Da>>2]|0;jc[c[T>>2]&7]((c[Ga>>2]|0)+(0-(g<<4))|0,g,R,80);g=c[nb>>2]|0}if(((b[$a>>1]|0)+-1|0)==(g|0)){m=(b[ab>>1]|0)-(g<<a[fb>>0])|0;y=g<<Db;Bc=c[ob>>2]|0;l=c[Da>>2]|0;z=w(Bc<<Db,l)|0;h=(c[Ca>>2]|0)+(z+y)|0;c[Ea>>2]=h;g=c[Fa>>2]|0;c[Ga>>2]=g+y+((z|0)/2|0);if(((b[G>>1]|0)+-1|0)==(Bc|0)){j=g+(w(l,((b[pc>>1]|0)/2|0)+-16<<16>>16<<16>>16)|0)|0;jc[c[T>>2]&7](j,l,16,80);j=V;k=U;h=c[Ea>>2]|0;g=c[Da>>2]|0}else{j=R;k=Sb;g=l}jc[c[W>>2]&7](h+m+(0-(g<<3))|0,g,k,80);Bc=c[Da>>2]|0;jc[c[D>>2]&7]((c[Ga>>2]|0)+m+(0-(Bc<<4))|0,Bc,j,80);if(((b[G>>1]|0)+-1|0)==(c[ob>>2]|0)){Hf((c[Ca>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,80);Hf((c[Fa>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,40);Bc=c[Da>>2]|0;z=(c[Ca>>2]|0)+(w(Bc,b[pc>>1]|0)|0)+-80|0;If(z,Bc,(b[ab>>1]|0)+160|0,80);Bc=c[Da>>2]|0;z=(c[Fa>>2]|0)+(w(Bc,((b[pc>>1]|0)/2|0)<<16>>16)|0)+-80|0;If(z,Bc,(b[ab>>1]|0)+160|0,40)}}g=c[f>>2]|0;do if(c[mb>>2]|0){if(ma){h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(w(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|16;g=g+1|0}while((g|0)!=(Za|0))}g=c[f>>2]|0;if(c[mb>>2]|0){if(!ma)break;h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(w(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|1;g=g+1|0}while((g|0)!=(Za|0))}}while(0);k=c[Sa>>2]|0;n=n-Za|0;g=(c[Ya>>2]|0)+Za|0;c[Ya>>2]=g;c[nb>>2]=(c[nb>>2]|0)+Za;c[cb>>2]=(c[cb>>2]|0)+Za;l=e[k+2>>1]|0;do if((g|0)>=(l|0)){c[Ya>>2]=0;g=d[k>>0]|0;c[nb>>2]=g;h=(c[gb>>2]|0)+1|0;c[gb>>2]=h;c[ob>>2]=(c[ob>>2]|0)+1;if((h|0)==(e[k+4>>1]|0)){c[gb>>2]=0;c[Ya>>2]=0;j=k+6|0;c[Sa>>2]=j;if((h+(d[k+1>>0]|0)|0)==(b[G>>1]|0)?(g+l|0)==(b[$a>>1]|0):0){g=0;break}c[nb>>2]=d[j>>0];c[ob>>2]=d[k+7>>0];g=0}else g=0}while(0)}while((n|0)!=0)}j=(c[xa>>2]|0)-i|0;c[xa>>2]=j}while((j|0)!=0);Zb=Ac;return 0}function eh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;u=Zb;Zb=Zb+16|0;t=u;q=u+4|0;r=c[f+28>>2]|0;s=f+40|0;p=1<<g;if(!(c[f+152>>2]|0)){Zb=u;return}k=f+8|0;l=f+12|0;m=r+2|0;n=(c[f+44>>2]|0)+4118|0;o=(c[f>>2]|0)+208|0;j=f+4|0;g=1024;while(1){c[q>>2]=1;f=c[k>>2]|0;i=(f|0)>0;if(i){x=(c[l>>2]|0)+h|0;v=(e[m>>1]|0)+-1|0;v=((x|0)<(v|0)?x:v)+(d[r>>0]|0)+(w(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+v>>0]}if(a[(c[s>>2]|0)+27>>0]|0?(c[j>>2]|0)>0:0){if(c[q>>2]|0){x=(d[r>>0]|0)+-1+(c[l>>2]|0)+(w(f,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}if(!((c[q>>2]|0)==0|i^1)){x=(d[r>>0]|0)+-1+(c[l>>2]|0)+(w(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}}if(c[q>>2]|0)break;if((g|0)>0){f=128;do{Vl(140960,t)|0;f=f+-1|0}while((f|0)!=0);g=g+-128|0}else{og();g=1024}}Zb=u;return}function fh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=c[f+48>>2]|0;s=c[f+44>>2]|0;t=c[f+28>>2]|0;i=a[t>>0]|0;if(!(i<<24>>24))g=t;else g=(a[t+1>>0]|0)==0?t:t+-6|0;j=b[k+872>>1]|0;h=(e[g+2>>1]|0)+j|0;l=b[s+4118>>1]|0;r=l<<16>>16;if((h|0)>=(r|0)){g=i&255;if(((h|0)%(r|0)|0|0)==(g|0)){h=0;p=g}else q=6}else{g=i&255;q=6}if((q|0)==6){h=(g|0)!=(j|0);p=g}o=(w(b[k+874>>1]|0,r)|0)+j|0;n=d[t+1>>0]|0;if(!(h&(o|0)<((w(n,r)|0)+p|0)))l=b[t+2>>1]|0;k=c[f+4>>2]|0;i=c[f+8>>2]|0;o=(w(i,r)|0)+k|0;g=f+248|0;j=f+251|0;h=f+250|0;m=f+249|0;c[g>>2]=16843009;if(!((i|0)!=0?(c[f+16>>2]|0)!=0:0)){a[g>>0]=0;a[h>>0]=0;a[m>>0]=0}do if((k|0)!=0?(c[f+12>>2]|0)!=0:0){if((k|0)>0){i=c[f+24>>2]|0;if(i|0?c[f+16>>2]|0:0){if((i|0)!=1)break;if(c[f+20>>2]|0)break;a[h>>0]=0;break}a[g>>0]=0;a[h>>0]=0;g=c[f+20>>2]|0;if(!g)a[j>>0]=0;if(((l<<16>>16)+-1|0)!=(g|0))a[m>>0]=0}}else q=14;while(0);do if((q|0)==14){a[j>>0]=0;a[h>>0]=0;if(c[f+24>>2]|0?c[f+16>>2]|0:0)break;a[g>>0]=0;if(((l<<16>>16)+-1|0)!=(c[f+20>>2]|0))a[m>>0]=0}while(0);g=b[t+2>>1]|0;if((k|0)!=(r+-1|0)){g=g&65535;h=g+-1|0;i=c[f+12>>2]|0;if((h|0)==(i|0))q=31;else{j=g;h=i}}else{h=c[f+12>>2]|0;g=g&65535;q=31}if((q|0)==31){a[m>>0]=0;j=g}g=o+1|0;do if((h+1|0)==(j|0)){q=(c[f+16>>2]|0)+1|0;h=q+n|0;if((q|0)!=(e[t+4>>1]|0)){g=(w(h,r)|0)+p|0;break}if(!((j+p|0)==(r|0)?(h|0)==(b[s+4120>>1]|0):0))g=(w(d[t+7>>0]|0,r)|0)+(d[t+6>>0]|0)|0}while(0);c[f+680>>2]=g;s=c[f+84>>2]|0;t=s+(o<<2)|0;c[f+264>>2]=(c[s+(g<<2)>>2]|0)-(c[t>>2]|0);t=c[t>>2]|0;c[f+268>>2]=t;c[f+76>>2]=(c[f+96>>2]|0)+(t<<4);return}function gh(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;U=Zb;Zb=Zb+96|0;O=U+72|0;P=U;F=c[f+4>>2]|0;G=c[f>>2]|0;E=c[f+20>>2]|0;v=c[f+28>>2]|0;Q=c[f+36>>2]|0;p=a[F+4116>>0]|0;D=1<<p;R=(D|0)/4|0;A=w(R,R)|0;B=c[f+40>>2]|0;x=f+12|0;k=c[x>>2]|0;u=f+16|0;j=c[u>>2]|0;y=b[F+4118>>1]|0;t=(w(j,y)|0)+k|0;S=B+(w(t,A)|0)|0;T=c[f+44>>2]|0;N=c[f+48>>2]|0;n=a[f+55>>0]|0;q=d[f+54>>0]|0;r=a[f+52>>0]|0;s=d[f+53>>0]|0;l=P;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));M=(b[F+2>>1]|0)-(j<<p)|0;M=(D|0)<(M|0)?D:M;o=(M|0)/4|0;if((M|0)>3){m=(n&255)<<31;l=0;do{l=l+1|0;c[P+(l<<2)>>2]=m}while((l|0)!=(o|0))}z=R+1|0;M=(b[F>>1]|0)-(k<<p)|0;M=(D|0)<(M|0)?D:M;c[P>>2]=(r<<24>>24==1?(1<<((M|0)/4|0))+-1<<31-R+((D-M|0)/4|0):0)|(s<<31>>>z|q<<31);if(!((k|0)==0|(k|0)!=(d[v>>0]|0))){l=t+-1|0;o=c[f+32>>2]|0;n=c[o+(l<<2)>>2]|0;l=B+(w(l,A)|0)+R+-1|0;if((D|0)>3){m=(w(R,(w(R,t)|0)+1|0)|0)+-1|0;j=l;k=0;while(1){c[h+(k<<2)>>2]=n+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0))break;else j=j+R|0}l=B+m|0;k=c[x>>2]|0;j=c[u>>2]|0}j=k+-1+(w(j+-1|0,y)|0)|0;c[i>>2]=(c[o+(j<<2)>>2]|0)+(d[l+(A+-1+(w(j,A)|0))>>0]|0);j=c[u>>2]|0}if(!((j|0)==0?1:(j|0)!=(d[v+1>>0]|0))){j=(c[x>>2]|0)+(w(j+-1|0,y)|0)|0;l=c[(c[f+32>>2]|0)+(j<<2)>>2]|0;if((D|0)>3){j=B+(w(j,A)|0)+(w(R+-1|0,R)|0)|0;k=0;while(1){c[g+(k<<2)>>2]=l+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0)){C=14;break}else j=j+1|0}}else M=0}else C=14;if((C|0)==14){k=(D|0)>3;if(k){j=0;do{M=j;j=j+1|0;c[Q+(j*18<<2)>>2]=c[h+(M<<2)>>2];c[Q+(j<<2)>>2]=c[g+(M<<2)>>2]}while((j|0)!=(R|0));M=k}else M=0}c[Q+(z<<2)>>2]=c[g+(R<<2)>>2];c[Q>>2]=c[i>>2];if((T|0)>0){L=F+46|0;G=G+43|0;H=f+8|0;I=O+4|0;J=O+6|0;K=O+2|0;F=0;while(1){z=E+12|0;x=c[z>>2]|0;B=(x>>>10&60)+4|0;A=(x>>>6&60)+4|0;C=x&15;D=x>>>4&15;y=(x&524288|0)==0;do if(!y?(u=A>>>0>B>>>0?A:B,v=1<<a[L>>0],!((A|0)==(B|0)|((a[G>>0]|0)<3?1:(((u|0)>(v|0)?u:v)|0)!=8))):0){j=x&1040187392;if((j|0)==335544320){s=8;t=8;u=1;v=C+-1|0;j=D;break}else{s=8;t=8;u=1;v=C;j=D+(((j|0)==301989888)<<31>>31)|0;break}}else{s=A;t=B;u=0;v=C;j=D}while(0);o=j+1|0;k=Q+(v+1+(j*18|0)<<2)|0;l=k+-4|0;m=l+72|0;r=31-v|0;n=(c[P+(o+(t>>>2)<<2)>>2]|0)>>>r&1;o=(c[P+(o<<2)>>2]|0)>>>r&1;V=c[P+(j<<2)>>2]|0;p=V>>>(30-v|0)&1;q=V>>>(31-(s>>>2)+~v|0)&1;r=V>>>r&1;do if(!(x&65536)){if(y){sh(f,k,m,l,18,E,n,o,q,p,r,O);j=(c[z>>2]|0)>>>17&3;if((j|0)!=1?(z=e[K>>1]|0,V=E+2|0,y=e[V>>1]|0,b[E>>1]=(e[E>>1]|0)+(e[O>>1]|0),b[V>>1]=y+z,(j|0)==0):0)break;z=e[J>>1]|0;x=E+4|0;V=E+6|0;y=e[V>>1]|0;b[x>>1]=(e[x>>1]|0)+(e[I>>1]|0);b[V>>1]=y+z;break}th(f,k,m,18,E,x>>>25&7,x>>>28&3,s,t,v<<2,j<<2,u,n,o,q,p,r);j=c[z>>2]|0;if((j&393216|0)==262144){V=j>>>25&7;if(!((A|0)==8&(V|0)==1)?!((B|0)==8&(V|0)==2):0)break;c[z>>2]=j&-393217}}while(0);V=c[H>>2]|0;j=c[V+1068+((a[E+9>>0]|0)*12|0)>>2]|0;a[E+10>>0]=a[(c[V+876+((a[E+8>>0]|0)*12|0)>>2]|0)+22>>0]|0;if(!(a[V+76>>0]|0))a[E+11>>0]=a[j+22>>0]|0;o=A>>>2;k=(1<<o)+-1<<32-o>>>(C+1|0);n=B>>>2;j=0;do{j=j+1|0;V=P+(j+D<<2)|0;c[V>>2]=c[V>>2]|k}while((j|0)!=(n|0));m=F+N|0;j=C+19+(D*18|0)|0;l=0;while(1){k=0;do{c[Q+(k+j<<2)>>2]=m;k=k+1|0}while((k|0)!=(o|0));l=l+1|0;if((l|0)==(n|0))break;else j=j+18|0}F=F+1|0;if((F|0)==(T|0))break;else E=E+16|0}}c[i>>2]=c[g+(R+-1<<2)>>2];if(!M){Zb=U;return T|0}j=R;k=R*18|1;l=0;while(1){j=j+18|0;c[h+(l<<2)>>2]=c[Q+(j<<2)>>2];c[g+(l<<2)>>2]=c[Q+(k<<2)>>2];l=l+1|0;if((l|0)==(R|0))break;else k=k+1|0}n=c[Q+76>>2]|0;if(!M){Zb=U;return T|0}j=19;k=0;m=0;while(1){l=0;do{a[S+(l+k)>>0]=(c[Q+(l+j<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(R|0));m=m+1|0;if((m|0)==(R|0))break;else{j=j+18|0;k=k+R|0}}Zb=U;return T|0}function hh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;ua=c[e>>2]|0;za=c[e+48>>2]|0;f=c[e+40>>2]|0;Ha=c[e+44>>2]|0;Ia=e+4|0;va=e+8|0;wa=(w(c[va>>2]|0,b[Ha+4118>>1]|0)|0)+(c[Ia>>2]|0)|0;xa=c[e+84>>2]|0;wa=(c[xa+(c[e+680>>2]<<2)>>2]|0)-(c[xa+(wa<<2)>>2]|0)|0;xa=c[ua+20>>2]|0;ya=c[e+188>>2]|0;Aa=c[e+192>>2]|0;Ba=c[e+232>>2]|0;Ca=c[e+236>>2]|0;Da=(c[ua+64>>2]|0)==12;Ea=za+76|0;if((d[Ea>>0]|0)>=2)O(141030,141111,190,141139);if((wa|0)<=0)return;Fa=Ha+4116|0;Ga=f+22|0;ja=f+23|0;ka=Ha+2|0;la=ua+11608|0;ma=0-xa|0;na=za+258|0;oa=ua+12220|0;pa=za+259|0;qa=ua+12232|0;ra=ua+12224|0;sa=ua+12228|0;ta=ua+12240|0;q=0;A=0;B=0;g=0;E=0;ha=c[e+76>>2]|0;ia=0;y=0;e=0;x=0;o=0;v=0;r=0;t=0;s=0;p=0;u=0;m=0;l=0;f=0;k=0;j=0;i=0;h=0;while(1){aa=ha+12|0;n=c[aa>>2]|0;a:do if(!(n&65536)){ca=a[Fa>>0]|0;ba=(c[Ia>>2]<<ca)+(n<<2&60)|0;ca=(c[va>>2]<<ca)+(n>>>2&60)|0;da=(n>>>6&60)+4|0;C=a[((a[Ea>>0]|0)==1?Ga:ja)>>0]|0;ga=n>>>17&3;D=(ga|0)==2;if((ga|0)==1){$=q;z=e;ea=r;fa=u;ga=l}else{ga=a[ha+8>>0]|0;$=c[za+876+(ga*12|0)>>2]|0;f=c[$>>2]|0;$=c[$+4>>2]|0;z=b[za+452+(ga<<1)>>1]|0;o=b[za+388+(ga<<1)>>1]|0;ea=b[za+324+(ga<<1)>>1]|0;s=b[za+420+(ga<<1)>>1]|0;fa=b[za+356+(ga<<1)>>1]|0;ga=b[za+292+(ga<<1)>>1]|0}if(!(n&393216)){Z=t;_=m}else{_=a[ha+9>>0]|0;B=c[za+1068+(_*12|0)>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;y=b[za+676+(_<<1)>>1]|0;x=b[za+612+(_<<1)>>1]|0;v=b[za+548+(_<<1)>>1]|0;Z=b[za+644+(_<<1)>>1]|0;p=b[za+580+(_<<1)>>1]|0;_=b[za+516+(_<<1)>>1]|0}I=ha+4|0;J=-284-(ba<<2)|0;K=ha+6|0;L=-284-(ca<<2)|0;U=w(ca,xa)|0;M=Ba+U|0;N=ha+2|0;Y=C<<24>>24!=0;P=D|Y;Q=(P&1)<<2|1;R=P?10:9;S=(ba|0)/2|0;T=(ca|0)/2|0;U=Ca+((U|0)/2|0)|0;V=P?da:xa;X=D&Y;Y=Y&(D^1);W=da>>>1;H=D&C<<24>>24==0;m=(n>>>10&60)+4|0;l=0;e=E;while(1){G=(l|0)==0;E=n&393216;t=(E|0)==131072;do if(G){if(!t){g=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;g=(n|0)<(g|0)?n:(J|0)>(g|0)?J:g;F=b[N>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;F=(q|0)<(F|0)?q:(L|0)>(F|0)?L:F;r=c[la>>2]&3;j=r&g;k=r&F;g=f+(w((F>>2)+ca|0,xa)|0)+((g>>2)+ba)|0;if(!E){q=37152;r=8;n=M;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;r=c[la>>2]&3}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(J|0)>(h|0)?J:h;i=b[K>>1]|0;i=(e|0)<(i|0)?e:(L|0)>(i|0)?L:i;q=37152;C=8;e=A+(w((i>>2)+ca|0,xa)|0)+((h>>2)+ba)|0;n=M;i=r&i;h=r&h;F=21}else{if(!t){j=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;j=(n|0)<(j|0)?n:(J|0)>(j|0)?J:j;k=b[N>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;k=(q|0)<(k|0)?q:(L|0)>(k|0)?L:k;g=$+(w((k>>3)+T|0,xa)|0)+((j>>3)+S<<1)|0;r=c[la>>2]&7;j=r&j;k=r&k;if(!E){q=37088;r=4;n=U;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;r=c[la>>2]&7}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(J|0)>(h|0)?J:h;i=b[K>>1]|0;i=(e|0)<(i|0)?e:(L|0)>(i|0)?L:i;q=37088;C=4;e=B+(w((i>>3)+T|0,xa)|0)+((h>>3)+S<<1)|0;n=U;i=r&i;h=r&h;F=21}while(0);if((F|0)==20){n=n+ba|0;F=23}else if((F|0)==21){n=n+ba|0;if(t){D=l*11|0;t=0;u=0;r=C;C=D;D=D+Q|0;F=24}else{r=C;F=23}}if((F|0)==23){F=0;C=l*11|0;D=C+Q|0;Ja=(j|0)!=0;t=(k|0)!=0;u=c[ua+11640+(D+(Ja?2:0)+(t&1)<<2)>>2]|0;t=c[ua+11640+((Ja&t?R:0)+C<<2)>>2]|0;if(!E){E=0;C=0;D=n}else F=24}if((F|0)==24){F=0;Ka=(h|0)!=0;Ja=(i|0)!=0;E=c[ua+11640+((Ka&Ja?R:0)+C<<2)>>2]|0;C=c[ua+11640+(D+(Ka?2:0)+(Ja&1)<<2)>>2]|0;D=n}if(u|0){Ja=(j|0)!=0;Ka=(k|0)==0|Ja^1;n=g+(w((r>>>1)+-1|0,ma)|0)|0;mc[u&31](Ka?g:n,Ka?(P?ya:D):ya,xa,P?da:Ka?xa:da,Ja?q+(j<<3)|0:q+(k<<3)|0,(Ka?0:r+-1|0)+(m>>l)|0,da>>>l)}if(t|0){Ka=ya+((w((r>>>1)+-1|0,da)|0)<<1)|0;mc[t&31](Ka,P?ya:D,da,V,q+(k<<3)|0,m>>l,da>>>l)}if(C|0){Ja=(h|0)!=0;Ka=(i|0)==0|Ja^1;u=e+(w((r>>>1)+-1|0,ma)|0)|0;mc[C&31](Ka?e:u,Ka?(P?Aa:D):Aa,xa,P?da:Ka?xa:da,Ja?q+(h<<3)|0:q+(i<<3)|0,(Ka?0:r+-1|0)+(m>>l)|0,da>>>l)}if(E|0){Ka=Aa+((w((r>>>1)+-1|0,da)|0)<<1)|0;mc[E&31](Ka,P?Aa:D,da,V,q+(i<<3)|0,m>>l,da>>>l)}do if(X){t=G^1;u=(j|0)==0|t|(k|0)==0?0:8192;t=(h|0)==0|t|(i|0)==0?0:8192;if(G){tc[c[oa>>2]&1](ya,Aa,D,da,da,xa,ga,ea,_,v,(a[na>>0]|0)+7|0,u,t,m,da);l=1;break}n=(a[pa>>0]|0)+7|0;q=c[qa>>2]|0;r=m>>1;if(Da){uc[q&1](ya,Aa,D,da,da,xa,s,fa,z,o,Z,p,y,x,n,u,t,r,W);F=47;break}else{uc[q&1](ya,Aa,D,da,da,xa,fa,s,o,z,p,Z,x,y,n,u,t,r,W);F=47;break}}else{if(!Y){if(!H){F=47;break}F=G^1;m=m>>(F&1);pc[c[ra>>2]&7](ya,Aa,D,da,da,xa,(j|0)==0|F|(k|0)==0?0:8192,(h|0)==0|F|(i|0)==0?0:8192,m,da);F=47;break}t=(c[aa>>2]&393216|0)==0;u=((t?j:h)|0)==0|G^1|((t?k:i)|0)==0?0:8192;if(G){pc[c[sa>>2]&7](t?ya:Aa,D,da,xa,t?ga:_,t?ea:v,(a[na>>0]|0)+6|0,u,m,da);l=1;break}n=(a[pa>>0]|0)+6|0;q=c[ta>>2]|0;r=t?ya:Aa;if(Da){rc[q&7](r,D,da,xa,t?s:Z,t?fa:p,t?z:y,t?o:x,n,u,m>>1,W);F=47;break}else{rc[q&7](r,D,da,xa,t?fa:p,t?s:Z,t?o:x,t?z:y,n,u,m>>1,W);F=47;break}}while(0);if((F|0)==47){l=l+1|0;if((l|0)==2){q=$;r=ea;t=Z;n=fa;m=_;l=ga;break a}}n=c[aa>>2]|0}}else{z=e;n=u;e=E}while(0);ia=ia+1|0;if((ia|0)==(wa|0))break;else{E=e;ha=ha+16|0;e=z;u=n}}return}function ih(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+44>>2]|0;j=b[l+4118>>1]|0;h=(w(c[a+8>>2]|0,j)|0)+(c[a+4>>2]|0)|0;k=c[a+28>>2]|0;if((c[(c[a>>2]|0)+24>>2]|0)==1){i=(h|0)%142560|0;f=i+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;h=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=w(h,j)|0;f=f+(d[k>>0]|0)|0;break}if((h|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0)break;f=(w(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(i<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}f=h+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;f=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=w(f,j)|0;f=f+(d[k>>0]|0)|0;break}if((f|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0){f=((h|0)%142560|0)+1|0;break}f=(w(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(h<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}function jh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;y=c[f>>2]|0;G=c[f+4>>2]|0;v=a[y+33>>0]|0;z=f+16|0;D=a[(c[z>>2]|0)+174>>0]|0;s=c[f+20>>2]|0;I=a[G+4116>>0]|0;J=I<<24>>24;H=1<<J;A=G+4118|0;g=b[A>>1]|0;r=(J<<1)+-7|0;E=f+24|0;x=c[E>>2]|0;u=x<<r;B=f+28|0;C=c[B>>2]|0;L=w(C,g+1<<r)|0;K=(c[f+48>>2]|0)+u+L|0;L=(c[f+52>>2]|0)+u+L|0;u=J+-3|0;t=g<<u;u=(c[f+60>>2]|0)+((w(C,t)|0)+x<<u)|0;x=(w(C,g)|0)+x|0;x=1<<(x&7)&d[(c[f+56>>2]|0)+(x>>3)>>0];g=c[K>>2]|0;C=(H|0)/2|0;h=-1>>>(32-C|0);i=c[L>>2]&h;r=1<<r;Fn(K|0,0,r+(H>>5<<1)|0)|0;Fn(L|0,0,r|0)|0;if(c[E>>2]|0)c[K>>2]=c[K>>2]|g&h;if(c[B>>2]|0)c[L>>2]=c[L>>2]|i;q=f+64|0;if(x|0)a[u>>0]=c[c[q>>2]>>2]<<9>>25;if((s|0)>0){p=J+-2|0;r=7-J|0;if(I<<24>>24==6){m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;h=g>>>4&15;i=4<<(g>>>8&7);k=i>>>2;i=-1431655766>>>(32-(i>>>1)|0);j=g&1;if(!j){p=K+(o>>>r<<2)|0;c[p>>2]=c[p>>2]|i<<(h<<1)}if((g&16|0)==0?(p=L+(h>>>r<<2)|0,c[p>>2]=c[p>>2]|i<<(o<<1),(j|x|0)==0):0){l=k+h|0;j=k+o|0;do{i=w(h>>1,t)|0;g=o;do{a[u+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<l>>>0)}m=m+1|0}while((m|0)!=(s|0))}else{m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;i=g>>>4;h=i&15;j=4<<(g>>>8&7);l=j>>>2;j=-1431655766>>>(32-(j>>>1)|0);k=g&1;if(!k){M=K+(o>>>r<<2)|0;c[M>>2]=c[M>>2]|j<<(h<<1)+((g&2)<<p)}if((g&16|0)==0?(M=L+(h>>>r<<2)|0,c[M>>2]=c[M>>2]|j<<((i&2)<<p)+(o<<1),(k|x|0)==0):0){k=l+h|0;j=l+o|0;do{i=w(h>>1,t)|0;g=o;do{a[u+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<k>>>0)}m=m+1|0}while((m|0)!=(s|0))}}m=v<<24>>24==0;a:do if(!(a[y+27>>0]|0)){if(!(m?!(c[f+32>>2]|0):0))F=32;do if((F|0)==32){if((D<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[E>>2]|0)break a}while(0);c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}else{if(m?(c[f+32>>2]|0)==0:0){c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C);break}k=c[E>>2]|0;g=(w(c[B>>2]|0,b[A>>1]|0)|0)+k|0;h=c[f+96>>2]|0;i=b[h+(g<<1)>>1]|0;j=i&65535;k=(k|0)==0;if(!k){g=b[h+(g+-1<<1)>>1]|0;if(g<<16>>16==i<<16>>16?(a[(c[z>>2]|0)+75>>0]|0)==1:0)break;else g=g&65535}else g=-1;if(D<<24>>24!=0|(g|0)==(j|0)){if(!k)break}else if(c[f+44>>2]|0?!(k|(c[f+32>>2]|0)==0):0)break;c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}while(0);g=c[E>>2]|0;h=c[B>>2]|0;i=b[A>>1]|0;k=(w(h,i)|0)+g|0;j=c[f+96>>2]|0;k=e[j+(k<<1)>>1]|0;l=(h|0)==0;if(l)i=-1;else i=e[j+((w(h+-1|0,i)|0)+g<<1)>>1]|0;if(m?(c[f+36>>2]|0)==0:0)F=52;else if(l|D<<24>>24==0&(i|0)!=(k|0))F=52;if((F|0)==52){c[L>>2]=c[L>>2]&(I<<24>>24==6?0:-1<<C);h=c[B>>2]|0;g=c[E>>2]|0}i=(b[G+2>>1]|0)-(h<<J)>>3;h=(b[G>>1]|0)-(g<<J)>>3;g=H>>3;if((i|0)<(g|0)){M=J+-4|0;Fn(L+((I<<24>>24==6?0:(i&1)<<M)+(i>>6-J<<2))|0,0,1<<M|0)|0}if((h|0)>=(g|0))return 0;M=J+-4|0;Fn(K+((I<<24>>24==6?0:(h&1)<<M)+(h>>6-J<<2))|0,0,1<<M|0)|0;return 0}function kh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;O=c[f+4>>2]|0;H=c[f>>2]|0;S=a[O+4116>>0]|0;T=S<<24>>24;P=1<<T;F=O+4118|0;G=b[F>>1]|0;A=(T<<1)+-7|0;g=G+1<<A;M=f+24|0;E=c[M>>2]|0;h=E<<A;J=f+28|0;I=c[J>>2]|0;R=w(I,g)|0;Q=(c[f+48>>2]|0)+h+R|0;R=(c[f+52>>2]|0)+h+R|0;h=c[Q>>2]|0;K=(P|0)/2|0;i=-1>>>(32-K|0);j=c[R>>2]&i;B=f+64|0;D=T+-3|0;C=G<<D;D=(c[f+60>>2]|0)+((w(I,C)|0)+E<<D)|0;E=(w(I,G)|0)+E|0;E=1<<(E&7)&d[(c[f+56>>2]|0)+(E>>3)>>0];G=a[H+33>>0]|0;I=f+16|0;L=a[(c[I>>2]|0)+174>>0]|0;A=1<<A;Fn(Q|0,0,A+(P>>4)|0)|0;Fn(R|0,0,A|0)|0;if(c[M>>2]|0)c[Q>>2]=c[Q>>2]|h&i;if(c[J>>2]|0)c[R>>2]=c[R>>2]|j;y=R+g|0;c[y>>2]=0;m=(w(c[J>>2]|0,b[F>>1]|0)|0)+(c[M>>2]|0)|0;z=f+8|0;A=c[f+68>>2]|0;m=(c[A+(c[f+92>>2]<<2)>>2]|0)-(c[A+(((c[(c[z>>2]|0)+24>>2]|0)==1?(m|0)%142560|0:m)<<2)>>2]|0)|0;if(E|0)a[D>>0]=c[c[B>>2]>>2]<<9>>25;if((m|0)>0){A=S<<24>>24==6;o=T+-2|0;p=7-T|0;q=(P|0)/8|0;r=(64>>>T)+-1|0;s=T+-1|0;n=0;do{t=(c[B>>2]|0)+(n<<2)|0;j=c[t>>2]|0;u=j&15;k=j>>>4;g=k&15;h=4<<(j>>>8&7);x=h>>>2;v=x+u|0;x=x+g|0;l=(c[M>>2]<<T)+(u<<2)|0;if(1<<(l>>>3&7)&d[(c[(c[z>>2]|0)+212>>2]|0)+(w(((b[O>>1]|0)+63|0)/64|0,(c[J>>2]<<T)+(g<<2)>>3)|0)+(l>>6)>>0]|0){i=-1431655766>>>(32-(h>>>1)|0);if(!(j&1)){l=Q+(u>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(g<<1)+(A?0:(j&2)<<o)}if(!(j&16)){l=R+(g>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(A?0:(k&2)<<o)+(u<<1)}}do if(c[t>>2]&2048){l=1431655765>>>(32-(h>>>1)|0);i=j&1;if(!i){h=Q+(u>>>p<<2)|0;c[h>>2]=c[h>>2]|l<<(g<<1)+(A?0:(j&2)<<o)}h=j&16;if(!h){j=R+(g>>>p<<2)|0;c[j>>2]=c[j>>2]|l<<(A?0:(k&2)<<o)+(u<<1)}do if(!(v&1)){j=v>>>1;if((q|0)==(j|0)?(c[M>>2]|0)==((b[F>>1]|0)+-1|0):0)break;k=Q+(v>>>p<<2)|0;c[k>>2]=c[k>>2]|l<<((j&r)<<s)+(g<<1)}while(0);if(!(x&1)){j=x>>>1;k=u<<1;if((q|0)==(j|0)){c[y>>2]=c[y>>2]|l<<k;break}else{U=R+(x>>>p<<2)|0;c[U>>2]=c[U>>2]|l<<((j&r)<<s)+k;break}}}else{i=j&1;h=j&16}while(0);if(!(i|E|h))do{i=w(g>>>1,C)|0;h=u;do{a[D+((h>>1)+i)>>0]=c[t>>2]<<9>>25;h=h+2|0}while(h>>>0<v>>>0);g=g+2|0}while(g>>>0<x>>>0);n=n+1|0}while((n|0)!=(m|0))}F=b[F>>1]|0;y=(w(c[J>>2]|0,F)|0)+(c[M>>2]|0)|0;U=c[f+72>>2]|0;y=(c[U+(c[f+88>>2]<<2)>>2]|0)-(c[U+(y<<2)>>2]|0)|0;if((y|0)>0){z=f+84|0;A=f+80|0;B=S<<24>>24==6;C=T+-2|0;D=7-T|0;x=c[f+76>>2]|0;v=0;do{u=x+(v<<4)|0;p=x+(v<<4)+12|0;k=c[p>>2]|0;g=k&15;j=k>>>4;i=j&15;h=(k>>>8&15)+1|0;l=(k>>>12&15)+1|0;E=h+g|0;t=l+i|0;a:do if(!(k&65536)){b:do if((c[M>>2]|0)!=(0-g|0)){s=g+18|0;n=B?0:(k&2)<<C;o=Q+(g>>>D<<2)|0;q=c[z>>2]|0;r=c[A>>2]|0;if(k&1|0){j=l;k=i;while(1){p=c[r+(c[q+(s+(k*18|0)<<2)>>2]<<4)+12>>2]|0;p=(p>>>12&15)+1+(p>>>4&15)|0;U=k;k=p>>>0<t>>>0?p:t;j=j+(U-k)|0;if((j|0)<=0)break b}}do{j=c[q+(s+(i*18|0)<<2)>>2]|0;U=c[r+(j<<4)+12>>2]|0;m=(U>>>12&15)+1+(U>>>4&15)|0;k=i;i=m>>>0<t>>>0?m:t;m=i-k|0;if(!(U&65536)){if(rh(u,r+(j<<4)|0)|0){j=1431655765;N=47}}else{j=-1431655766;N=47}if((N|0)==47){N=0;c[o>>2]=c[o>>2]|j>>>(32-(m<<1)|0)<<(k<<1)+n}l=l-m|0}while((l|0)>0);i=(c[p>>2]|0)>>>4&15}while(0);if((c[J>>2]|0)!=(0-i|0)){p=i*18|1;l=B?0:(i&2)<<C;m=R+(i>>>D<<2)|0;n=c[z>>2]|0;o=c[A>>2]|0;if(i&1|0)while(1){u=c[o+(c[n+(p+g<<2)>>2]<<4)+12>>2]|0;u=(u&15)+1+(u>>>8&15)|0;U=g;g=u>>>0<E>>>0?u:E;h=h+(U-g)|0;if((h|0)<=0)break a}do{i=c[n+(p+g<<2)>>2]|0;U=c[o+(i<<4)+12>>2]|0;k=(U&15)+1+(U>>>8&15)|0;j=g;g=k>>>0<E>>>0?k:E;k=g-j|0;if(!(U&65536)){if(rh(u,o+(i<<4)|0)|0){i=1431655765;N=57}}else{i=-1431655766;N=57}if((N|0)==57){N=0;c[m>>2]=c[m>>2]|i>>>(32-(k<<1)|0)<<(j<<1)+l}h=h-k|0}while((h|0)>0)}}else{if(!(k&1)){U=Q+(g>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(l<<1)|0)<<(i<<1)+(B?0:(k&2)<<C)}if(!(k&16)){U=R+(i>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(h<<1)|0)<<(B?0:(j&2)<<C)+(g<<1)}}while(0);v=v+1|0}while((v|0)!=(y|0))}l=G<<24>>24==0;c:do if(!(a[H+27>>0]|0)){if(!(l?!(c[f+32>>2]|0):0))N=64;do if((N|0)==64){if((L<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[M>>2]|0)break c}while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}else{if(l?(c[f+32>>2]|0)==0:0){c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K);break}g=c[M>>2]|0;h=c[f+96>>2]|0;i=(g|0)==0;if(!i){g=(w(c[J>>2]|0,F)|0)+g|0;g=(b[h+(g+-1<<1)>>1]|0)==(b[h+(g<<1)>>1]|0);if(g&(a[(c[I>>2]|0)+75>>0]|0)==1)break}else g=0;do if(!(L<<24>>24)){if((c[f+40>>2]|0)==0?(c[f+44>>2]|0)==0:0)break;if(!(i|(g|(c[f+32>>2]|0)!=0)^1))break c}else if(!i)break c;while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}while(0);g=c[M>>2]|0;h=c[J>>2]|0;j=(w(h,F)|0)+g|0;i=c[f+96>>2]|0;j=e[i+(j<<1)>>1]|0;k=(h|0)==0;if(k)i=-1;else i=e[i+((w(h+-1|0,F)|0)+g<<1)>>1]|0;if(l?(c[f+36>>2]|0)==0:0)N=85;else if(k|L<<24>>24==0&(i|0)!=(j|0))N=85;if((N|0)==85){c[R>>2]=c[R>>2]&(S<<24>>24==6?0:-1<<K);h=c[J>>2]|0;g=c[M>>2]|0}i=(b[O+2>>1]|0)-(h<<T)>>3;h=(b[O>>1]|0)-(g<<T)>>3;g=P>>3;if((i|0)<(g|0)){U=T+-4|0;Fn(R+((S<<24>>24==6?0:(i&1)<<U)+(i>>6-T<<2))|0,0,1<<U|0)|0}if((h|0)>=(g|0))return 0;U=T+-4|0;Fn(Q+((S<<24>>24==6?0:(h&1)<<U)+(h>>6-T<<2))|0,0,1<<U|0)|0;return 0}function lh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f+48>>2]|0;l=c[f+28>>2]|0;h=c[f+44>>2]|0;o=f+12|0;c[o>>2]=(c[o>>2]|0)+g;o=f+4|0;j=(c[o>>2]|0)+g|0;c[o>>2]=j;o=f+20|0;n=(c[o>>2]|0)+g|0;c[o>>2]=n;if(!(a[(c[f+40>>2]|0)+27>>0]|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}m=b[i+872>>1]|0;k=b[h+4118>>1]|0;h=(w(k,b[i+874>>1]|0)|0)+m|0;i=d[l>>0]|0;if((h|0)>=((w(d[l+1>>0]|0,k)|0)+i|0)){if((n|0)<(e[l+2>>1]|0))return;n=f+24|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=0;return}if((j|0)>(m|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h+i|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}else{h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(k-m+i+h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}}function mh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=Zb;Zb=Zb+272|0;na=Ma+160|0;sa=Ma+252|0;ya=Ma+248|0;Ba=Ma+244|0;Fa=Ma+240|0;Ga=Ma+236|0;Ha=Ma+232|0;Ia=Ma+258|0;Ja=Ma+256|0;oa=Ma+144|0;pa=Ma;qa=c[e+44>>2]|0;p=c[e+40>>2]|0;o=c[e+48>>2]|0;ra=c[e>>2]|0;ta=c[e+256>>2]|0;ua=c[e+260>>2]|0;va=c[e+244>>2]|0;wa=qa+4116|0;t=a[wa>>0]|0;n=t<<24>>24;xa=1<<n;La=e+64|0;g=c[La>>2]|0;za=c[ra+20>>2]|0;Aa=c[e+240>>2]|0;q=c[e+68>>2]|0;if((a[qa+54>>0]|0)==1?(a[p+40>>0]|0)==1:0)f=p;else f=qa+8968|0;ma=c[f>>2]|0;i=a[e+251>>0]|0;k=a[e+250>>0]|0;l=a[e+248>>0]|0;m=a[e+249>>0]|0;f=na;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));la=e+8|0;s=c[la>>2]|0;ka=(b[qa+2>>1]|0)-(s<<n)|0;ka=(xa|0)<(ka|0)?xa:ka;j=(ka|0)/4|0;if((ka|0)>3){h=(i&255)<<31;f=0;do{f=f+1|0;c[na+(f<<2)>>2]=h}while((f|0)!=(j|0))}ja=(xa|0)/4|0;r=b[qa>>1]|0;ka=e+4|0;j=c[ka>>2]|0;f=(r<<16>>16)-(j<<n)|0;f=(xa|0)<(f|0)?xa:f;c[na>>2]=(l<<24>>24==1?(1<<((f|0)/4|0))+-1<<31-ja+((xa-f|0)/4|0):0)|((m&255)<<31>>>(ja+1|0)|(k&255)<<31);ja=e+252|0;f=c[ja>>2]|0;if((f|0)<=0){Ja=g;Ka=f;c[La>>2]=Ja;Zb=Ma;return Ka|0}ga=ra+64|0;ha=e+128|0;ia=p+19|0;ea=o+168|0;fa=p+20|0;da=o+169|0;W=p+15|0;X=0-za|0;Y=oa+4|0;Z=oa+8|0;_=ra+12008|0;$=ra+12012|0;aa=qa+161|0;ba=ra+12004|0;ca=ra+12e3|0;h=0;u=0;k=t;i=s;f=r;while(1){c[sa>>2]=0;c[ya>>2]=0;c[Ba>>2]=0;c[Fa>>2]=0;c[Ga>>2]=0;c[Ha>>2]=0;s=(c[ga>>2]|0)==12;U=s&1;V=s?-2:0;l=c[q>>2]|0;p=l<<2&60;r=l>>>2&60;S=k<<24>>24;T=(j<<S)+p|0;T=1<<(T>>>3&7)&d[(c[ha>>2]|0)+(w(((f<<16>>16)+63|0)/64|0,(i<<S)+r>>3)|0)+(T>>6)>>0];S=l>>>23&63;R=l>>>29;t=R&255;R=(R|0)==7?1:2;T=(T|0)!=0;if((S|0)==63&T){m=4<<(l>>>8&7);n=ta+((w(r,za)|0)+p)|0;o=(w(r>>>1,za)|0)+p|0;k=ua+o|0;g=g+6|0;if((m|0)>0){j=w(m,m)|0;f=0;i=g;while(1){Dn(n+(w(f,za)|0)|0,i|0,m|0)|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+m|0}g=g+j|0}k=k+U|0;l=m>>>1;j=0;do{i=w(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);k=k+1+V|0;j=0;do{i=w(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);Q=0;i=m;P=o}else{Q=1;i=0;n=ta+((w(r,za)|0)+p)|0;P=(w(r>>>1,za)|0)+p|0}N=p+-4+(w((r+-4|0)/2|0,za)|0)|0;O=T?0:3;L=s<<31>>31;M=36736+(S<<2)|0;o=0;K=0;f=t;r=0;p=0;m=0;l=0;j=i;i=u;do{do if(Q){C=(K|0)==0;B=c[q>>2]|0;t=B>>>8&7;if(C){u=t+2|0;s=4<<t;y=T&(t|0)==0;v=t+1|0;k=y?t:v;x=B<<9>>25;j=a[g+1>>0]&1;if(!(B&2048)){J=j;I=0;G=n;H=u;D=k;E=m;F=l}else{A=(x|0)/6|0;J=j;I=1;G=n;H=u;D=k;E=m;F=l;g=ph(va,u,g,ma+(c[36880+((t*6|0)+(T?0:(t|0)==3?1:3)<<2)>>2]<<1)|0,x-(A*6|0)|0,A,y?0:v,B>>>15&1,sa,Ba,Ga,Ia)|0}}else{o=(t|0)==0;y=o?0:t+-1|0;u=y+2|0;s=1<<u;v=va+(s<<u<<1)|0;o=ua+(o?N:P)+U|0;t=o+1+V|0;j=K+O+(y*6|0)|0;x=ma+(c[36880+(j+1<<2)>>2]<<1)|0;p=y+5|0;p=(p|0)<7?p:7;y=y+1|0;m=B>>>12&1;z=B<<9>>25;k=z+(a[ia>>0]|0)+(a[ea>>0]|0)|0;k=(k|0)>0?k:0;k=b[36352+(((k|0)<57?k:57)<<1)>>1]|0;r=B>>>13&1;z=z+(a[fa>>0]|0)+(a[da>>0]|0)|0;z=(z|0)>0?z:0;z=b[36352+(((z|0)<57?z:57)<<1)>>1]|0;A=(z|0)/6|0;l=a[g+1>>0]&1;if(!m)j=l;else{J=(k|0)/6|0;j=ph(va,u,g,ma+(c[36880+(j<<2)>>2]<<1)|0,k-(J*6|0)|0,J,y,B>>>15&1,sa,Ba,Ga,Ia)|0;g=j;j=a[j+1>>0]&1}if(!r){J=l;I=m;G=o;H=u;o=j;D=p;r=0;p=t;E=t;F=v}else{J=l;I=m;G=o;H=u;o=j;D=p;r=r&255;p=t;E=t;F=v;g=ph(v,u,g,x,z-(A*6|0)|0,A,y,(c[q>>2]|0)>>>15&1,ya,Fa,Ha,Ja)|0}}if(T)if(C){m=qh(e,q,na,b[qa>>1]|0,a[W>>0]|0,s,xa)|0;if((s|0)==4){C=c[q>>2]|0;c[oa+((C>>>3&2|C&1)<<2)>>2]=m}i=(c[q>>2]&17|0)==0?m:i;j=G+X|0;k=G+-1|0;l=j+-1|0;if((m|0)==131071)nc[c[_>>2]&3](l,j,k,za,s,131071,pa,1);else nc[c[ba>>2]&3](l,j,k,za,s,m,pa,1);kc[c[$>>2]&7](pa,s,pa,S,a[aa>>0]|0);lc[c[ra+11728+(c[M>>2]<<2)>>2]&31](pa,1,G,za,s,S)}else{m=G+L|0;j=c[q>>2]|0;if(!(j&1792))i=c[Y>>2]&61440|c[oa>>2]&69616|c[Z>>2]&15;l=m+-2|0;if(!(j&16384)){j=q;do{j=j+-4|0;k=c[j>>2]|0}while(!(k&16384|0));j=k}k=m+X|0;j=j>>>23&63;if(f<<24>>24==4)f=j&255;else{f=a[140184+(f&255)>>0]|0;f=(j|0)==(f&255|0)?34:f}nc[c[ca>>2]&3](k+-2|0,k,l,za,s,i,pa,1);C=f&255;lc[c[ra+11772+(c[36736+(C<<2)>>2]<<2)>>2]&31](pa,1,m,za,s,C)}do if((I|0)==1){if(c[q>>2]&32768|J|0){mc[c[ra+11848+(D<<2)>>2]&31](va,G,G,s,za,za,c[sa>>2]|0);break}if(!(c[Ga>>2]|0)){oc[c[ra+11816+(D<<2)>>2]&15](va,Aa,G,G,s,za,za,c[sa>>2]|0,c[Ba>>2]|0);break}else{lc[c[ra+11880+(K<<2)>>2]&31](G,G,za,za,H,b[Ia>>1]|0);break}}while(0);if((K|0)!=0&r<<24>>24==1){if(c[q>>2]&32768|o|0){mc[c[ra+11848+(D<<2)>>2]&31](F,E,p,s,za,za,c[ya>>2]|0);r=1;m=E;l=F;j=s;break}if(!(c[Ha>>2]|0)){oc[c[ra+11816+(D<<2)>>2]&15](F,Aa,E,p,s,za,za,c[ya>>2]|0,c[Fa>>2]|0);r=1;m=E;l=F;j=s;break}else{lc[c[ra+11880+(K<<2)>>2]&31](E,p,za,za,H,b[Ja>>1]|0);r=1;m=E;l=F;j=s;break}}else{m=E;l=F;j=s;k=f;Ka=63}}else{k=f;Ka=63}while(0);if((Ka|0)==63){Ka=0;if(((K|0)==0?(Ca=(j|0)/4|0,Da=c[q>>2]|0,Ea=(1<<Ca)+-1<<32-Ca>>>((Da&15)+1|0),(j|0)>3):0)?(J=na+((Da>>>4&15)+1<<2)|0,c[J>>2]=c[J>>2]|Ea,(j&-4|0)!=4):0){f=1;do{f=f+1|0;J=na+(f+((c[q>>2]|0)>>>4&15)<<2)|0;c[J>>2]=c[J>>2]|Ea}while((f|0)!=(Ca|0));f=k}else f=k}K=K+1|0}while(K>>>0<R>>>0);h=h+1|0;f=c[ja>>2]|0;if((h|0)>=(f|0))break;q=q+4|0;u=i;k=a[wa>>0]|0;j=c[ka>>2]|0;i=c[la>>2]|0;f=b[qa>>1]|0}c[La>>2]=g;Zb=Ma;return f|0}function nh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=Zb;Zb=Zb+32|0;p=za;qa=c[f+160>>2]|0;ja=c[f+4>>2]|0;ta=c[f>>2]|0;ka=f+8|0;ra=c[ka>>2]|0;pa=c[f+12>>2]|0;oa=a[ja+4116>>0]|0;la=oa<<24>>24;ua=1<<la;ja=ja+4118|0;ea=b[ja>>1]|0;ma=(la<<1)+-7|0;da=ea+1<<ma;xa=f+116|0;m=c[xa>>2]|0;k=m<<ma;ha=f+120|0;j=c[ha>>2]|0;n=w(j,da)|0;i=(c[f+64>>2]|0)+k+n|0;n=(c[f+68>>2]|0)+k+n|0;k=la+-3|0;ya=ea<<k;l=(c[f+76>>2]|0)+((w(j,ya)|0)+m<<k)|0;m=(w(j,ea)|0)+m|0;ea=(h|0)!=0;j=i+da|0;if(ea){Fn(j|0,0,1<<ma|0)|0;l=l+(ya<<k)|0;i=f+128+(ua>>3<<1)|0;o=m+(b[ja>>1]|0)|0}else{j=i;i=f+128|0;o=m}sa=(g|0)!=0;if(sa){m=1<<ma;k=n+m|0;Fn(k|0,0,m|0)|0;m=ua>>3;l=l+m|0;if(oa<<24>>24!=31){i=0;while(1){b[p+(i<<1)>>1]=(e[f+128+(i<<1)>>1]|0)>>>m;if((i|0)<(m|0))i=i+1|0;else break}}n=k;wa=p;o=o+1|0}else wa=i;k=c[f+72>>2]|0;ia=1<<(o&7)&d[k+(o>>3)>>0];m=c[xa>>2]|0;i=o+-1|0;if(m|g){i=1<<(i&7)&d[k+(i>>3)>>0];if(!(c[ha>>2]|h)){na=0;ga=i}else{na=o-(b[ja>>1]|0)+-1|0;na=1<<(na&7)&d[k+(na>>3)>>0];ga=i}}else{na=0;ga=0}p=c[ha>>2]|0;if(!(p|h))fa=0;else{fa=o-(b[ja>>1]|0)|0;fa=1<<(fa&7)&d[k+(fa>>3)>>0]}va=c[ra+20>>2]|0;aa=(g|0)==0;a:do if(aa?(r=b[ja>>1]|0,s=w(p,r)|0,q=c[ra+304>>2]|0,r=e[(c[f+156>>2]|0)+(m-r+s+(ea?r:0)<<1)>>1]|0,s=c[(c[ka>>2]|0)+20>>2]|0,T=va<<2,U=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((w(s,p)|0)+m<<la)|0;K=oa<<24>>24==6;L=la+-1|0;M=ua>>>2;N=(1<<L)+-2|0;P=0-da|0;Q=pa+172|0;R=pa+173|0;S=q+(r*1272|0)+172|0;C=q+(r*1272|0)+173|0;D=(ua|0)/-8|0;B=w(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=ra+11928|0;H=(ga|0)==0;I=(ia|0)==0;J=0-(va<<la)|0;B=(na|0)==0?l+~ya|0:l+(B-U)|0;m=m+(ea?s<<la:0)+(0-T)|0;i=0;k=j;while(1){A=i&1;q=K?0:A<<L;o=(c[k>>2]|0)>>>q<<2;if(p|h)o=(c[k+P>>2]|0)>>>(N+q|0)&3|o;x=l+(i-ya)|0;y=i+-1|0;z=l+(y-ya)|0;if(!i){x=F?x:E;v=0;while(1){t=a[Q>>0]|0;r=a[R>>0]|0;q=xn(o|0)|0;q=(o|0)==0?31:q;p=q>>>1;if(!p){if(v){if(H)p=(w(v+-1>>1,ya)|0)+-1|0;else p=D;p=d[l+p>>0]|0;if(I){u=r;s=l+(w(v+-1>>1,ya)|0)|0}else{u=r;s=l}}else{u=a[C>>0]|0;t=a[S>>0]|0;p=d[B>>0]|0;s=x}q=v+1|0;r=e[wa+(q>>1<<1)>>1]|0;if((r&3|0)==3){r=q;p=T;q=2}else{oc[c[G>>2]&15](m,va,o&3,p,d[s>>0]|0,t<<24>>24,u<<24>>24,r&1^1,r>>>1&1^1);r=q;p=T;q=2}}else{$=p+v|0;r=$;p=w(T,($|0)<(M|0)?p:M-v|0)|0;q=q&62}m=m+p|0;if((M|0)>(r|0)){v=r;o=o>>>q}else break}}else{v=0;while(1){q=a[Q>>0]|0;p=a[R>>0]|0;s=xn(o|0)|0;s=(o|0)==0?31:s;r=s>>>1;if(!r){do if(!v){q=a[S>>0]|0;p=a[C>>0]|0;if(F){u=d[x>>0]|0;t=d[z>>0]|0;break}else{t=a[E>>0]|0;u=t&255;t=t&255;break}}else if(I){t=w(v+-1>>1,ya)|0;u=d[l+(t+i)>>0]|0;t=d[l+(y+t)>>0]|0;break}else{t=d[l>>0]|0;u=t;break}while(0);r=v+1|0;s=(e[wa+(r>>1<<1)>>1]|0)>>>i;if((s&3|0)==3){t=r;p=T;q=2}else{oc[c[G>>2]&15](m,va,o&3,t,u,q<<24>>24,p<<24>>24,s&1^1,s>>>1&1^1);t=r;p=T;q=2}}else{p=r+v|0;t=p;p=w(T,(p|0)<(M|0)?r:M-v|0)|0;q=s&62}m=m+p|0;if((M|0)>(t|0)){v=t;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=46;break}case 5:{if(A)ca=46;break}default:{}}if((ca|0)==46){ca=0;k=k+4|0}i=i+1|0;if((i|0)==(U|0))break a;m=m+J+8|0;p=c[ha>>2]|0}}while(0);$=(h|0)==0;b:do if($?(_=c[xa>>2]|0,V=c[ha>>2]|0,Z=w(V,b[ja>>1]|0)|0,Y=c[ra+304>>2]|0,Z=e[(c[f+156>>2]|0)+(_+((sa^1)<<31>>31)+Z<<1)>>1]|0,ba=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((w(c[(c[ka>>2]|0)+20>>2]|0,V)|0)+_<<la)|0;Q=oa<<24>>24==6;R=la+-1|0;S=ua>>>2;T=(1<<R)+-2|0;U=-1<<ma;V=pa+172|0;W=pa+173|0;X=Y+(Z*1272|0)+172|0;G=Y+(Z*1272|0)+173|0;M=(ua|0)/-8|0;H=l+M|0;I=(ga|0)==0;J=ra+11932|0;K=(fa|0)==0;L=(ia|0)==0;M=w(M,ya)|0;N=0-ua|0;P=va<<3;F=(na|0)==0?l+~ya|0:l+(M-ba)|0;i=n;k=0;m=m+(sa?ua:0)+-4|0;p=_;while(1){E=k&1;q=Q?0:E<<R;o=(c[i>>2]|0)>>>q<<2;if(p|g)o=(c[i+U>>2]|0)>>>(T+q|0)&3|o;B=wa+(k<<1)|0;C=wa+(k+1<<1)|0;D=w(k,ya)|0;y=l+(D+-1)|0;z=w(k+-1|0,ya)|0;A=l+(z+-1)|0;if(!k){x=I?y:H;t=0;while(1){r=a[V>>0]|0;q=a[W>>0]|0;p=xn(o|0)|0;p=(o|0)==0?31:p;s=p>>>1;if(!s){if(t){if(K)p=(t+-1>>1)-ya|0;else p=M;p=d[l+p>>0]|0;if(L){v=r;u=l+((t+-1>>1)+D)|0}else{v=r;u=l}}else{q=a[G>>0]|0;v=a[X>>0]|0;p=d[F>>0]|0;u=x}r=t+1|0;t=1<<(r>>1);s=(t&e[B>>1]|0)==0;t=(t&e[C>>1]|0)==0;if(s|t){oc[c[J>>2]&15](m,va,o&3,p,d[u>>0]|0,v<<24>>24,q<<24>>24,s&1,t&1);q=2;p=4}else{q=2;p=4}}else{_=s+t|0;r=_;q=p&62;p=((_|0)<(S|0)?s:S-t|0)<<2}m=m+p|0;if((S|0)>(r|0)){t=r;o=o>>>q}else break}}else{x=0;while(1){q=a[V>>0]|0;p=a[W>>0]|0;r=xn(o|0)|0;r=(o|0)==0?31:r;t=r>>>1;if(!t){do if(!x){q=a[X>>0]|0;p=a[G>>0]|0;if(I){u=d[y>>0]|0;v=d[A>>0]|0;break}else{v=d[H>>0]|0;u=v;break}}else if(L){v=x+-1>>1;u=d[l+(v+D)>>0]|0;v=d[l+(v+z)>>0]|0;break}else{v=d[l>>0]|0;u=v;break}while(0);s=x+1|0;t=1<<(s>>1);r=(t&e[B>>1]|0)==0;t=(t&e[C>>1]|0)==0;if(r|t){oc[c[J>>2]&15](m,va,o&3,v,u,q<<24>>24,p<<24>>24,r&1,t&1);q=2;p=4}else{q=2;p=4}}else{p=t+x|0;s=p;q=r&62;p=((p|0)<(S|0)?t:S-x|0)<<2}m=m+p|0;if((S|0)>(s|0)){x=s;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=82;break}case 5:{if(E)ca=82;break}default:{}}if((ca|0)==82){ca=0;i=i+4|0}k=k+1|0;if((k|0)==(ba|0))break b;m=m+N+P|0;p=c[xa>>2]|0}}while(0);c:do if(aa){k=c[xa>>2]|0;r=c[ha>>2]|0;m=b[ja>>1]|0;o=w(r,m)|0;i=c[(c[ka>>2]|0)+20>>2]|0;q=(c[f+152>>2]|0)+(((w(i,r)|0)/2|0)+k<<la)|0;if(ea)p=((i|0)/2|0)<<la;else p=0;S=va<<2;T=(ua|0)/16|0;if((ua|0)>15){U=ua>>>3;V=(1<<la+-1)+-2|0;N=0-da|0;P=oa<<24>>24==6?2:1;Q=0-(((va|0)/2|0)<<la)|0;R=pa+173|0;C=(c[ra+304>>2]|0)+((e[(c[f+156>>2]|0)+(k-m+o+(ea?m:0)<<1)>>1]|0)*1272|0)+173|0;D=(ua|0)/-8|0;B=w(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=(ga|0)==0;H=(ia|0)==0;I=~ya;J=(qa|0)==0;K=ra+11924|0;L=ta+19|0;M=ta+20|0;B=(na|0)==0?l+I|0:l+(B-U)|0;i=0;o=q+p+(0-S)|0;m=r;d:while(1){k=c[j>>2]<<2;if(m|h)k=(c[j+N>>2]|0)>>>V&3|k;v=(i|0)==0;x=i<<1;y=l+(x-ya)|0;z=l+(x+I)|0;A=x+-1|0;s=0;t=k&572662306;u=o;while(1){p=a[R>>0]|0;k=xn(t|0)|0;k=(t|0)==0?31:k;m=k>>>2;if(!m){e:do if(!s){k=a[C>>0]|0;do if(v){m=d[B>>0]|0;if(!F){r=d[E>>0]|0;break e}}else if(F){m=d[z>>0]|0;break}else{m=d[E>>0]|0;r=m;break e}while(0);r=d[y>>0]|0}else{do if(v){if(G)k=(w(s+-1|0,ya)|0)+-1|0;else k=D;m=d[l+k>>0]|0;if(H){o=w(s+-1|0,ya)|0;break}else{k=p;r=d[l>>0]|0;break e}}else if(H){o=w(s+-1|0,ya)|0;m=d[l+(A+o)>>0]|0;break}else{m=d[l>>0]|0;k=p;r=m;break e}while(0);k=p;r=d[l+(o+x)>>0]|0}while(0);ea=(e[wa+(s<<1)>>1]|0)>>>x;o=ea&1^1;p=ea>>>1&1^1;do if((ea&3|0)!=3){if(!(t&2))break d;q=c[K>>2]|0;if(J){oc[q&15](u,va,m,r,a[L>>0]|0,a[M>>0]|0,k<<24>>24,o,p);break}else{oc[q&15](u,va,r,m,a[M>>0]|0,a[L>>0]|0,k<<24>>24,p,o);break}}while(0);m=s+1|0;k=S;o=4}else{ea=m+s|0;o=k&60;m=ea;k=w((ea|0)<(U|0)?o:U-s<<2,va)|0}u=u+k|0;if((U|0)<=(m|0))break;else{s=m;t=t>>>o}}i=i+1|0;if((i|0)>=(T|0))break c;j=j+(P<<2)|0;o=u+Q+16|0;m=c[ha>>2]|0}O(140964,140990,600,141013)}}while(0);if(!$){Zb=za;return}k=c[xa>>2]|0;i=c[ha>>2]|0;W=(ua|0)/16|0;if((ua|0)<=15){Zb=za;return}m=(c[f+152>>2]|0)+(((w(c[(c[ka>>2]|0)+20>>2]|0,i)|0)/2|0)+k<<la)|0;M=e[(c[f+156>>2]|0)+(k+((sa^1)<<31>>31)+(w(i,b[ja>>1]|0)|0)<<1)>>1]|0;V=ua>>>3;U=(1<<la+-1)+-2|0;T=-1<<ma;Q=oa<<24>>24==6?2:1;R=0-ua|0;S=va<<3;L=pa+173|0;M=(c[ra+304>>2]|0)+(M*1272|0)+173|0;N=ya<<1;C=(ua|0)/-8|0;P=l+C|0;K=(ga|0)==0;J=(fa|0)==0;I=(ia|0)==0;C=w(C,ya)|0;H=(qa|0)==0;E=ra+11920|0;F=l+C|0;G=ta+19|0;D=ta+20|0;C=(na|0)==0?l+~ya|0:l+(C-V)|0;m=m+(sa?ua:0)+-8|0;i=0;f:while(1){j=c[n>>2]<<2;if(k|g)j=(c[n+T>>2]|0)>>>U&3|j;u=(i|0)==0;A=i<<1;v=wa+(A<<1)|0;x=wa+((A|1)<<1)|0;y=w(N,i)|0;z=l+(y+-1)|0;A=w(A+-1|0,ya)|0;B=l+(A+-1)|0;t=j&572662306;s=m;k=0;while(1){m=a[L>>0]|0;o=xn(t|0)|0;o=(t|0)==0?31:o;j=o>>>2;if(!j){g:do if(!k){m=a[M>>0]|0;do if(u){j=d[C>>0]|0;if(!K){o=d[P>>0]|0;break g}}else if(K){j=d[B>>0]|0;break}else{o=d[P>>0]|0;j=o;break g}while(0);o=d[z>>0]|0}else{do if(u){j=d[(J?l+(k+-1-ya)|0:F)>>0]|0;if(I){o=k+-1|0;break}else{o=d[l>>0]|0;break g}}else if(I){o=k+-1|0;j=d[l+(o+A)>>0]|0;break}else{o=d[l>>0]|0;j=o;break g}while(0);o=d[l+(o+y)>>0]|0}while(0);ua=1<<k;ta=(ua&e[v>>1]|0)==0;p=ta&1;ua=(ua&e[x>>1]|0)==0;q=ua&1;do if(ta|ua){if(!(t&2)){ca=148;break f}r=c[E>>2]|0;if(H){oc[r&15](s,va,j,o,a[G>>0]|0,a[D>>0]|0,m<<24>>24,p,q);break}else{oc[r&15](s,va,o,j,a[D>>0]|0,a[G>>0]|0,m<<24>>24,q,p);break}}while(0);m=s+8|0;k=k+1|0;j=4}else{ua=j+k|0;m=s+(((ua|0)<(V|0)?j:V-k|0)<<3)|0;k=ua;j=o&60}if((V|0)>(k|0)){t=t>>>j;s=m}else break}i=i+1|0;if((i|0)>=(W|0)){ca=157;break}m=m+R+S|0;n=n+(Q<<2)|0;k=c[xa>>2]|0}if((ca|0)==148)O(140964,140990,749,141013);else if((ca|0)==157){Zb=za;return}} |
| | | function tj(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;B=Zb;Zb=Zb+64|0;n=B;m=B+40|0;o=n;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if((f|0)==0|(g|0)==0|(h|0)==0){f=0;Zb=B;return f|0}A=f+10|0;l=b[A>>1]|0;o=g;p=o+88|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f+2192|0;p=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(i>>>0>127?(gl(h,150840,3)|0)==0:0){c[g>>2]=128;f=0;Zb=B;return f|0}zi(n,h,i);if(a[f>>0]|0){a[m+22>>0]=a[f+2266>>0]|0;y=cj(m,n)|0;h=g+9|0;a[h>>0]=y;if(!(y<<24>>24))z=8;else h=0}else{h=g+9|0;z=8}a:do if((z|0)==8){uj(f,g,n,f+1657|0,c[f+324>>2]|0);u=f+24|0;i=a[u>>0]|0;if(!(a[h>>0]|0)){if((i+-1&255)>63){a[h>>0]=12;h=0;break}c[g>>2]=((Bi(n)|0)+7|0)>>>3;if(a[n+20>>0]|0){a[h>>0]=14;h=0;break}b:do if((a[f>>0]|0)==0?(a[f+1>>0]|0)==0:0){m=f+5|0;n=i<<24>>24==8;if(n|(a[m>>0]|0)==0)a[m>>0]=n?7:i;switch(i<<24>>24){case 6:case 5:{z=20;break b}case 7:break;default:break b}a[m>>0]=0;i=7}else z=19;while(0);if((z|0)==19)if((i+-5&255)<2)z=20;if((z|0)==20)if(a[f+2265>>0]|0){a[f+20>>0]=1;i=2}q=i<<24>>24==1;y=q?2:i;a[f+21>>0]=q&1;q=g+19|0;n=g+20|0;s=g+21|0;v=g+22|0;t=g+23|0;i=f+20|0;o=q;p=o+68|0;do{a[o>>0]=0;o=o+1|0}while((o|0)<(p|0));c:do if(!(a[i>>0]|0)){if(a[f+1656>>0]|0){m=a[f+2092>>0]|0;a[q>>0]=m;p=a[f+2093>>0]|0;a[n>>0]=p;r=a[f+2094>>0]|0;a[s>>0]=r;a[v>>0]=a[f+2095>>0]|0;o=m&255;if(!(o&1))i=0;else{a[t>>0]=2;a[g+24>>0]=3;i=2}if(m<<24>>24){n=0;while(1){a[(i&255)+(g+23)>>0]=2;m=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=3;n=n+2&255;if(n>>>0>=o>>>0){i=m;break}else i=m}}if(p<<24>>24){o=p&255;m=0;while(1){a[(i&255)+(g+23)>>0]=4;n=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=5;m=m+2&255;if(m>>>0>=o>>>0){i=n;break}else i=n}}q=(r&1)==0;x=r+((q^1)<<31>>31)<<24>>24;p=x&255;m=i|1;n=(i&255)+(g+23)|0;if(x<<24>>24){o=0;do{a[n>>0]=6;i=i+2<<24>>24;a[(m&255)+(g+23)>>0]=7;o=o+2&255;m=i|1;n=(i&255)+(g+23)|0}while(o>>>0<p>>>0)}if(!q){a[n>>0]=8;i=m}n=a[v>>0]|0;if(!(n<<24>>24))break;else m=0;while(1){a[(i&255)+(g+23)>>0]=9;m=m+1<<24>>24;if((m&255)>=(n&255))break c;else i=i+1<<24>>24}}switch(a[f+5>>0]|0){case 1:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 2:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 3:{a[q>>0]=3;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;break c}case 4:{a[q>>0]=3;a[s>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=8;break c}case 5:{a[q>>0]=3;a[s>>0]=2;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;break c}case 6:{a[q>>0]=3;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;a[g+28>>0]=9;break c}case 7:{a[q>>0]=3;a[n>>0]=2;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=4;a[g+27>>0]=5;a[g+28>>0]=6;a[g+29>>0]=7;a[g+30>>0]=9;break c}default:{r=f+23|0;x=(d[u>>0]|0)-(d[r>>0]|0)|0;i=x&255;p=x&255;d:do if(!(x&1)){m=p>>>1;x=m&255;a[q>>0]=x;a[s>>0]=x;if(!(m&1)){if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[t>>0]=1;if(m|0){n=1;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<=m>>>0)}m=m+1|0;n=p+-1|0;if((m|0)<(n|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(n|0));a[g+23+n>>0]=8}else{o=p+-1|0;n=(o|0)/2|0;m=n&255;if(!(a[f+22>>0]|0)){o=n&255;n=n+1|0;a[q>>0]=n;a[s>>0]=m;a[t>>0]=1;if(o|0){m=1;do{a[g+23+m>>0]=2;a[m+1+(g+23)>>0]=3;m=m+2&255}while(m>>>0<=o>>>0)}m=n&255;if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[q>>0]=m;m=n&255;a[s>>0]=n+1;if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if((m|0)<(o|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(o|0));a[g+23+o>>0]=8}while(0);a[v>>0]=a[r>>0]|0;if((d[u>>0]|0)<=(i&255))break c;do{a[(i&255)+(g+23)>>0]=9;i=i+1<<24>>24}while((i&255)<(d[u>>0]|0))}}}else{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3}while(0);r=l&65535;p=w(y&255,r)|0;v=g+4|0;c[v>>2]=p;a[g+8>>0]=y;s=g+12|0;c[s>>2]=Ui(a[f+3>>0]|0)|0;x=f+4|0;t=g+17|0;a[t>>0]=a[x>>0]|0;u=g+16|0;a[u>>0]=0;q=g+18|0;a[q>>0]=0;n=(a[f+1>>0]|0)!=0&1;a[q>>0]=n;a[q>>0]=(a[f>>0]|0)==0?n:2;a[g+87>>0]=a[f+1132>>0]|0;q=f+124|0;n=c[q>>2]|0;o=(n|0)==0;if(!o?(a[f+122>>0]|0)==y<<24>>24:0)i=f+840|0;else{m=a[150844+((d[f+2264>>0]|0)+-1)>>0]|0;i=f+840|0;if((a[i>>0]|0)==1?(a[f+842>>0]|0)==0:0)z=75;else if((a[f+841>>0]|0)==1)z=75;if((z|0)==75)m=(m&255)<<1&255;if(k){if((w(p,m&255)|0)>>>0>k>>>0){a[h>>0]=27;f=0;Zb=B;return f|0}}else{if(!o)Si(n);c[q>>2]=0;c[q>>2]=Gi(w(p,m&255)|0)|0}a[f+122>>0]=y}p=c[((k|0)==0?q:j)>>2]|0;n=(a[i>>0]|0)==1;if(!(!n?(a[f+841>>0]|0)!=1:0)){o=(a[f+842>>0]|0)==0;if(o){c[v>>2]=c[v>>2]<<1;c[s>>2]=c[s>>2]<<1;l=r<<1&65535}m=a[f+25>>0]|0;e:do if(m<<24>>24){i=0;while(1){if(!(c[f+892+((i&255)<<2)>>2]|0))break;i=i+1<<24>>24;if((i&255)>=(m&255))break e}a[h>>0]=25;h=0;break a}while(0);if(n){a[t>>0]=5;h=1}else h=3;a[u>>0]=o?h:2}vj(f,f+328|0,p,y,l,a[f+2264>>0]|0)|0;a[f+12>>0]=0;f=f+16|0;l=(c[f>>2]|0)+1|0;c[f>>2]=l;if((a[x>>0]|0)==23){if(l|0){f=p;Zb=B;return f|0}c[v>>2]=0;f=p;Zb=B;return f|0}else{if(l>>>0>=2){f=p;Zb=B;return f|0}c[v>>2]=0;f=p;Zb=B;return f|0}}else h=0}while(0);do{l=c[f+584+(h<<2)>>2]|0;if(l|0)Fn(l|0,0,e[A>>1]<<2|0)|0;h=h+1|0}while((h|0)!=64);h=0;do{l=c[f+892+(h<<2)>>2]|0;if(l|0)wj(l);h=h+1|0}while((h|0)!=48);f=0;Zb=B;return f|0}function uj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a[b+24>>0]=0;a[b+25>>0]=0;t=b+22|0;a[t>>0]=25;u=b+23|0;a[u>>0]=0;a:do if((d[b+4>>0]|0)<17){p=f+8|0;q=f+4|0;r=f+20|0;s=e+9|0;i=0;b:while(1){k=c[p>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[f>>2]&(1<<k)+-1)<<j|(c[q>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-k>>>29;do if(!(a[r>>0]|0))if(k>>>0>3){c[p>>2]=k+-3;break}else{Di(f,3);break}while(0);if((j&255|0)==7)break a;switch((j&255)<<24>>24){case 2:{n=19;break b}case 0:{if((a[t>>0]|0)==25)a[t>>0]=0;xj(b,e,f,0);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 1:{if((a[t>>0]|0)==25)a[t>>0]=1;yj(b,e,f,1);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 3:{a[u>>0]=(a[u>>0]|0)+1<<24>>24;xj(b,e,f,3);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 4:{o=i+1<<24>>24;i=c[p>>2]|0;do if(!(a[r>>0]|0))if(i>>>0>4){i=i+-4|0;c[p>>2]=i;n=25;break}else{Di(f,4);i=c[p>>2]|0;n=24;break}else n=24;while(0);if((n|0)==24)if(!i){k=c[q>>2]|0;i=k>>>31;if(!(a[r>>0]|0)){Di(f,1);j=i;k=c[p>>2]|0;n=28}else{j=i;l=0;n=31}}else n=25;if((n|0)==25){k=i+-1|0;c[p>>2]=k;j=(c[f>>2]|0)>>>k&1;n=28}do if((n|0)==28){n=0;if(k>>>0<8){l=k;k=c[q>>2]|0;n=31;break}else{i=c[f>>2]<<32-k>>>24;m=j;j=k;break}}while(0);if((n|0)==31){i=8-l|0;i=((1<<l)+-1&c[f>>2])<<i|k>>>(32-i|0);m=j;j=l}do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Di(f,8);break}while(0);if((i&65535|0)==255){j=c[p>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[q>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Di(f,8);break}while(0);i=(i&65535)+255|0}if(m|0)Ci(f)|0;k=i&65535;if(!k){i=o;continue b}else i=0;while(1){j=c[p>>2]|0;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Di(f,8);break}while(0);i=i+1<<16>>16;if(k>>>0<=(i&65535)>>>0){i=o;continue b}}}case 5:{if(i<<24>>24){n=54;break b}fj(g,f)|0;i=1;continue b}case 6:{o=zj(b,f,h,-1)|0;a[s>>0]=o;if(!(o<<24>>24)){i=i+1<<24>>24;continue b}else{n=67;break b}}default:continue b}}if((n|0)==19){a[s>>0]=6;return}else if((n|0)==54){a[s>>0]=31;return}else if((n|0)==67)return}else switch(a[b+5>>0]|0){case 1:{xj(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 2:{yj(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 3:{xj(b,e,f,0);yj(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 4:{xj(b,e,f,0);yj(b,e,f,1);xj(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 5:{xj(b,e,f,0);yj(b,e,f,1);yj(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 6:{xj(b,e,f,0);yj(b,e,f,1);yj(b,e,f,1);xj(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}case 7:{xj(b,e,f,0);yj(b,e,f,1);yj(b,e,f,1);yj(b,e,f,1);xj(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}default:{a[e+9>>0]=7;return}}while(0);Ci(f)|0;return}function vj(e,h,i,j,k,l){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;switch(l<<24>>24){case 1:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+(l<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}e=~~m&65535;h=l<<1;b[i+(h<<1)>>1]=e;b[i+((h|1)<<1)>>1]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2];q=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(!(m<=-32768.0))p=m;else p=-32768.0}else{m=m+.5;if(!(m>=32767.0))p=m;else p=32767.0}if(!(q>=0.0)){m=q+-.5;if(m<=-32768.0)m=-32768.0}else{m=q+.5;if(m>=32767.0)m=32767.0}h=l<<1;b[i+(h<<1)>>1]=~~p;b[i+((h|1)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((w(l,z)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 2:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*256.0;q=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-8388608.0))p=m;else p=-8388608.0}else{m=m+.5;if(!(m>=8388607.0))p=m;else p=8388607.0}if(!(q>=0.0)){m=q+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=q+.5;if(m>=8388607.0)m=8388607.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 3:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*65536.0;q=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-2147483648.0))p=m;else p=-2147483648.0}else{m=m+.5;if(!(m>=2147483648.0))p=m;else p=2147483648.0}if(!(q>=0.0)){m=q+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=q+.5;if(m>=2147483648.0)m=2147483648.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((w(l,z)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 4:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{f[i+(l<<2)>>2]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;f[i+(h<<2)>>2]=+f[o+(l<<2)>>2]*.000030517578125;f[i+((h|1)<<2)>>2]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;f[i+(h<<2)>>2]=q;f[i+((h|1)<<2)>>2]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{f[i+((w(l,z)|0)<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((w(l,z)|0)<<2)>>2]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{f[i+((w(l,z)|0)+n<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((w(l,z)|0)+n<<2)>>2]=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}case 5:{z=j&255;l=a[e+20>>0]|0;switch((z<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{g[i+(l<<3)>>3]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;g[i+(h<<3)>>3]=+f[o+(l<<2)>>2]*.000030517578125;g[i+((h|1)<<3)>>3]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;g[i+(h<<3)>>3]=q;g[i+((h|1)<<3)>>3]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;x=e+2194|0;y=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{g[i+((w(l,z)|0)<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((w(l,z)|0)<<3)>>3]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{g[i+((w(l,z)|0)+n<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((w(l,z)|0)+n<<3)>>3]=(+f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[y>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(z|0));return i|0}}}default:return i|0}return 0}function wj(e){e=e|0;var f=0,g=0;f=c[e+12440>>2]|0;if(f|0)Fn(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12444>>2]|0;if(f|0)Fn(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12448>>2]|0;if(f|0)Fn(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+12452>>2]|0;if(f|0)Fn(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+648>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+668>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+688>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+708>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+652>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+672>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+692>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+712>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+656>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+676>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+696>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+716>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+660>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+680>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+700>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+720>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+664>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+684>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+704>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=c[e+724>>2]|0;if(f|0)Fn(f|0,0,256)|0;f=e+53416|0;g=e+53418|0;Fn(e+12456|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;Fn(e+32936|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;a[e+728>>0]=0;a[e+729>>0]=0;c[e+12432>>2]=0;a[e+12426>>0]=1;a[e+612>>0]=0;a[e+613>>0]=0;a[e+53435>>0]=2;a[e+53436>>0]=1;a[e+53437>>0]=2;a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;a[e+53441>>0]=1;a[e+53432>>0]=5;a[e+53431>>0]=1;a[e+53442>>0]=1;a[e+12418>>0]=-1;a[e+12419>>0]=-1;a[e+12421>>0]=0;a[e+12422>>0]=0;a[e+12423>>0]=0;a[e+12412>>0]=-1;a[e+646>>0]=0;a[e+647>>0]=0;f=0;do{b[e+2010+(f<<1)>>1]=0;c[e+10460+(f<<2)>>2]=0;b[e+2138+(f<<1)>>1]=0;c[e+10716+(f<<2)>>2]=0;a[e+12277+f>>0]=0;a[e+12341+f>>0]=0;f=f+1|0}while((f|0)!=49);a[e+53445>>0]=0;a[e+53446>>0]=0;return}function xj(e,f,g,h){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;u=Zb;Zb=Zb+22976|0;n=u+2048|0;o=u;t=e+24|0;r=a[t>>0]|0;p=r&255;q=p+1|0;if((r&255)>63){a[f+9>>0]=12;Zb=u;return}s=e+25|0;i=a[s>>0]|0;if((i&255)>47){a[f+9>>0]=13;Zb=u;return}a[(i&255)+(e+2128)>>0]=h;Fn(n|0,0,20914)|0;l=n+6|0;Fn(o|0,0,2048)|0;j=g+8|0;i=c[j>>2]|0;if(i>>>0<4){m=4-i|0;m=(c[g>>2]&(1<<i)+-1)<<m|(c[g+4>>2]|0)>>>(32-m|0)}else m=c[g>>2]<<32-i>>>28;k=g+20|0;do if(!(a[k>>0]|0))if(i>>>0>4){c[j>>2]=i+-4;break}else{Di(g,4);break}while(0);a[n+4>>0]=m;a[n>>0]=r;b[n+2>>1]=-1;i=_j(e,n,g,l,o)|0;do if(!(i<<24>>24))if(!(a[n+9044>>0]|0)){h=c[j>>2]|0;if(h>>>0<3){i=3-h|0;i=(c[g>>2]&(1<<h)+-1)<<i|(c[g+4>>2]|0)>>>(32-i|0)}else i=c[g>>2]<<32-h>>>29;if((i|0)==6){do if(!(a[k>>0]|0))if(h>>>0>3){c[j>>2]=h+-3;break}else{Di(g,3);break}while(0);i=zj(e,g,c[e+324>>2]|0,a[s>>0]|0)|0;if(i<<24>>24)break}i=Tk(e,l,n,o)|0}else i=32;while(0);a[f+9>>0]=i;if((a[(d[s>>0]|0)+(e+26)>>0]|0)==2){a[e+2192+p>>0]=r;h=q;i=q&255}else{if(!(a[e+1656>>0]|0))i=r;else i=a[(m&255)+(e+2096)>>0]|0;h=i&255;i=r}a[e+2192+h>>0]=i;r=a[s>>0]|0;a[t>>0]=(d[t>>0]|0)+(d[(r&255)+(e+26)>>0]|0);a[s>>0]=r+1<<24>>24;Zb=u;return}function yj(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=Zb;Zb=Zb+25024|0;A=G+22968|0;B=G+20920|0;C=G;F=e+24|0;i=a[F>>0]|0;D=i&255;if((D+2|0)>>>0>64){a[f+9>>0]=12;Zb=G;return}E=e+25|0;k=a[E>>0]|0;if((k&255)>47){a[f+9>>0]=13;Zb=G;return}k=k&255;l=e+26+k|0;switch(a[l>>0]|0){case 0:{a[l>>0]=2;break}case 2:break;default:{a[f+9>>0]=21;Zb=G;return}}a[e+2128+k>>0]=h;Fn(A|0,0,2048)|0;Fn(B|0,0,2048)|0;Fn(C|0,0,20914)|0;w=C+6|0;x=C+10460|0;a[C>>0]=i;z=D+1|0;b[C+2>>1]=z;t=g+8|0;k=c[t>>2]|0;if(k>>>0<4){y=4-k|0;l=c[g>>2]|0;y=(l&(1<<k)+-1)<<y|(c[g+4>>2]|0)>>>(32-y|0)}else{l=c[g>>2]|0;y=l<<32-k>>>28}u=g+20|0;do if(!(a[u>>0]|0))if(k>>>0>4){k=k+-4|0;c[t>>2]=k;a[C+4>>0]=y;s=17;break}else{Di(g,4);k=c[t>>2]|0;s=15;break}else s=15;while(0);do if((s|0)==15){a[C+4>>0]=y;if(k|0){l=c[g>>2]|0;s=17;break}k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Di(g,1)}while(0);if((s|0)==17){k=k+-1|0;c[t>>2]=k;k=l>>>k&1}k=k&255;r=C+5|0;a[r>>0]=k;a:do if(k<<24>>24){k=Yj(e,w,g,k)|0;if(!(k<<24>>24)){l=c[t>>2]|0;if(l>>>0<2){k=2-l|0;k=(c[g>>2]&(1<<l)+-1)<<k|(c[g+4>>2]|0)>>>(32-k|0)}else k=c[g>>2]<<32-l>>>30;do if(!(a[u>>0]|0))if(l>>>0>2){c[t>>2]=l+-2;break}else{Di(g,2);break}while(0);q=k&255;a[C+8634>>0]=q;switch(q<<24>>24){case 3:{j=32;break a}case 1:{p=C+8|0;k=a[p>>0]|0;if(k<<24>>24){q=g+4|0;l=a[w>>0]|0;o=0;n=0;h=l;while(1){if(!(l<<24>>24))m=0;else{m=0;l=h;do{h=m&255;k=c[t>>2]|0;if(!k){k=(c[q>>2]|0)>>>31;if(!(a[u>>0]|0)){Di(g,1);l=a[w>>0]|0}}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}a[C+8635+(n*51|0)+h>>0]=k;m=m+1<<24>>24}while((m&255)<(l&255));k=a[p>>0]|0;h=l;m=l}l=o+1<<24>>24;if((l&255)<(k&255)){o=l;n=l&255;l=m}else break}}break}default:{}}if((d[e+4>>0]|0)>16?a[C+9048>>0]|0:0){k=c[t>>2]|0;if(!k){k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Di(g,1)}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}q=k&255;a[C+10283>>0]=q;if(q<<24>>24?(j=Zj(e,w,C+10282|0,g)|0,j<<24>>24):0)break}Dn(x|0,w|0,10454)|0;s=50}else j=k}else{a[C+8634>>0]=0;s=50}while(0);do if((s|0)==50){j=_j(e,C,g,w,A)|0;if(!(j<<24>>24)){if((a[r>>0]|0?(d[e+4>>0]|0)>16:0)?a[C+9048>>0]|0:0){j=c[t>>2]|0;if(!j){j=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Di(g,1)}else{j=j+-1|0;c[t>>2]=j;j=(c[g>>2]|0)>>>j&1}s=j&255;a[C+10365>>0]=s;if(s<<24>>24?(v=Zj(e,w,C+10364|0,g)|0,v<<24>>24):0){j=v;break}}j=_j(e,C,g,x,B)|0;if(!(j<<24>>24)){k=c[t>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[g>>2]&(1<<k)+-1)<<j|(c[g+4>>2]|0)>>>(32-j|0)}else j=c[g>>2]<<32-k>>>29;if((j|0)==6){do if(!(a[u>>0]|0))if(k>>>0>3){c[t>>2]=k+-3;break}else{Di(g,3);break}while(0);j=zj(e,g,c[e+324>>2]|0,a[E>>0]|0)|0;if(j<<24>>24)break}j=$j(e,w,x,C,A,B)|0}}}while(0);a[f+9>>0]=j;if(!(a[e+1656>>0]|0))a[e+2192+D>>0]=i;else{D=(y&255)+(e+2112)|0;a[(d[D>>0]|0)+(e+2192)>>0]=i;i=a[D>>0]|0}a[(i&255)+1+(e+2192)>>0]=z;a[F>>0]=(d[F>>0]|0)+2;a[E>>0]=(a[E>>0]|0)+1<<24>>24;Zb=G;return}function zj(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=f+8|0;j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;A=f+20|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{Di(f,4);break}while(0);if((i&65535|0)==15){j=c[B>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[A>>0]|0))if(j>>>0>8){c[B>>2]=j+-8;break}else{Di(f,8);break}while(0);i=(i&65535)+14|0}k=i&65535;if(!(i&65535)){f=0;return f|0}j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;if(((i&255)+-13|0)>>>0<2){j=h&255;if(h<<24>>24==-1){f=24;return f|0}i=e+892+(j<<2)|0;if(!(c[i>>2]|0)){g=b[e+10>>1]|0;A=a[e+2128+j>>0]|0;B=(Ui(a[e+3>>0]|0)|0)<<1;c[i>>2]=Aj(g,A,B,a[e+842>>0]|0)|0}a[e+840>>0]=1;B=Bj(f,c[i>>2]|0,k,a[e+12>>0]|0)|0;f=c[i>>2]|0;a[f+10>>0]=B;if(!(a[f+53424>>0]|0)){f=0;return f|0}a[e+1084+j>>0]=1;a[e+1132>>0]=1;f=0;return f|0}if(!(k<<16>>16)){f=0;return f|0}o=f+4|0;p=g+1|0;q=g+3|0;r=g+56|0;s=g+57|0;t=g+58|0;u=g+59|0;v=g+60|0;w=g+61|0;x=g+62|0;y=g+21|0;z=g+2|0;i=k;h=j;while(1){m=i&65535;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{Di(f,4);break}while(0);a:do switch((j&255)<<24>>24){case 11:{a[g>>0]=1;a[p>>0]=1;i=c[B>>2]|0;if(!i){i=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{i=i+-1|0;c[B>>2]=i;i=(c[f>>2]|0)>>>i&1}do if(i){i=c[B>>2]|0;if(i>>>0<4){j=4-i|0;j=(c[f>>2]&(1<<i)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-i>>>28;if(a[A>>0]|0){a[z>>0]=j;i=2;n=53;break}if(i>>>0<=4){Di(f,4);i=c[B>>2]|0;n=a[A>>0]|0;a[z>>0]=j;if(n<<24>>24){i=2;n=53;break}}else{i=i+-4|0;c[B>>2]=i;a[z>>0]=j}if(i>>>0>4){j=i+-4|0;c[B>>2]=j;i=2;n=54;break}else{Di(f,4);i=2;n=53;break}}else{i=1;n=53}while(0);if((n|0)==53){n=0;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else n=54}if((n|0)==54){n=0;j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}l=j&255;a[q>>0]=l;if(l<<24>>24==1){j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[r>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[s>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[t>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[u>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[v>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[w>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[x>>0]=j;h=7;l=1;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);k=j&255;j=l&255;a[j+-1+(g+120)>>0]=k;if(k<<24>>24!=1)break;e=h&255;k=e+7|0;do{j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+56+e>>0]=j;h=h+1<<24>>24;e=h&255}while(k>>>0>e>>>0);h=k&255;l=l+1<<24>>24}i=j+(i&255)&255}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<4){h=4-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>28;do if(!(a[A>>0]|0)){if(j>>>0<=4){Di(f,4);if(!(a[A>>0]|0))j=c[B>>2]|0;else break}else{j=j+-4|0;c[B>>2]=j}if(j>>>0>4){c[B>>2]=j+-4;break}else{Di(f,4);break}}while(0);j=h+(d[p>>0]|0)&255;a[p>>0]=j;i=i+1<<24>>24;if(j<<24>>24){l=0;do{k=l&255;h=c[B>>2]|0;if(h>>>0<8){e=8-h|0;e=(c[f>>2]&(1<<h)+-1)<<e|(c[o>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{Di(f,8);j=a[p>>0]|0;break}while(0);a[g+4+k>>0]=e;l=l+1<<24>>24;i=i+1<<24>>24}while((l&255)<(j&255))}}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[A>>0]|0))if(j>>>0>7){j=j+-7|0;c[B>>2]=j;a[y>>0]=h;n=137;break}else{Di(f,7);j=c[B>>2]|0;n=136;break}else n=136;while(0);do if((n|0)==136){n=0;a[y>>0]=h;if(j|0){n=137;break}if(a[A>>0]|0)break;Di(f,1)}while(0);if((n|0)==137){n=0;c[B>>2]=j+-1}i=i+1<<24>>24}if(a[p>>0]|0){k=0;e=0;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Di(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+22+e>>0]=j;h=c[B>>2]|0;if(h>>>0<7){j=7-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>25;do if(!(a[A>>0]|0))if(h>>>0>7){c[B>>2]=h+-7;break}else{Di(f,7);break}while(0);a[g+39+e>>0]=j;i=i+1<<24>>24;j=k+1<<24>>24;if((j&255)<(d[p>>0]|0)){k=j;e=j&255}else break}}i=i&255;break}case 1:{j=c[B>>2]|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{Di(f,4);break}while(0);h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{Di(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}else i=1;break}case 2:{h=c[B>>2]|0;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{Di(f,4);break}while(0);if(!(j&255)){e=0;k=0;do{h=c[B>>2]|0;if(h>>>0<8){j=8-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{Di(f,8);break}while(0);l=j&255;k=l+(k&65535)|0;e=e+1<<24>>24}while((l|0)==255);if(k&65535){i=c[B>>2]|0;do if(!(a[A>>0]|0))if(i>>>0>8){c[B>>2]=i+-8;break}else{Di(f,8);break}while(0);i=(e&255)+1+k&65535}else n=191}else n=191;break}default:{j=c[B>>2]|0;if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;n=191;break a}else{Di(f,4);n=191;break a}else n=191}}while(0);if((n|0)==191){n=0;h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{Di(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}}i=m-(i&65535)&65535;if(!(i<<16>>16)){i=0;break}h=c[B>>2]|0}return i|0}function Aj(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=Gi(53544)|0;Fn(j+4|0,0,53540)|0;a[j+12436>>0]=f;c[j>>2]=g;a[j+53435>>0]=2;a[j+53436>>0]=1;a[j+53437>>0]=2;a[j+53438>>0]=2;a[j+53439>>0]=2;a[j+53440>>0]=1;a[j+53441>>0]=1;a[j+53432>>0]=5;a[j+53431>>0]=1;a[j+53442>>0]=1;a[j+12418>>0]=-1;a[j+12419>>0]=-1;c[j+12432>>2]=0;a[j+12426>>0]=1;i=j+53418|0;a[i>>0]=8;a[j+53419>>0]=2;a[j+12421>>0]=0;a[j+12422>>0]=0;a[j+12423>>0]=0;b[j+12424>>1]=e;a[j+12412>>0]=-1;e=e<<16>>16==960;g=j+53416|0;a[g>>0]=e?30:32;a[j+53417>>0]=e?15:16;a[j+728>>0]=0;a[j+729>>0]=0;c[j+12440>>2]=Wj(32)|0;if(f<<24>>24==1){c[j+12444>>2]=Wj(32)|0;h=h<<24>>24?32:64;c[j+12448>>2]=Xj(h)|0;c[j+12452>>2]=Xj(h)|0;c[j+648>>2]=Gi(256)|0;c[j+668>>2]=Gi(256)|0;c[j+688>>2]=Gi(256)|0;c[j+708>>2]=Gi(256)|0;c[j+652>>2]=Gi(256)|0;c[j+672>>2]=Gi(256)|0;c[j+692>>2]=Gi(256)|0;c[j+712>>2]=Gi(256)|0;c[j+656>>2]=Gi(256)|0;c[j+676>>2]=Gi(256)|0;c[j+696>>2]=Gi(256)|0;c[j+716>>2]=Gi(256)|0;c[j+660>>2]=Gi(256)|0;c[j+680>>2]=Gi(256)|0;c[j+700>>2]=Gi(256)|0;c[j+720>>2]=Gi(256)|0;c[j+664>>2]=Gi(256)|0;c[j+684>>2]=Gi(256)|0;c[j+704>>2]=Gi(256)|0;c[j+724>>2]=Gi(256)|0;Fn(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;Fn(j+32936|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}else{c[j+12448>>2]=Xj(h<<24>>24?32:64)|0;c[j+12452>>2]=0;c[j+648>>2]=Gi(256)|0;c[j+688>>2]=Gi(256)|0;c[j+652>>2]=Gi(256)|0;c[j+692>>2]=Gi(256)|0;c[j+656>>2]=Gi(256)|0;c[j+696>>2]=Gi(256)|0;c[j+660>>2]=Gi(256)|0;c[j+700>>2]=Gi(256)|0;c[j+664>>2]=Gi(256)|0;c[j+704>>2]=Gi(256)|0;Fn(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}return 0}function Bj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=Zb;Zb=Zb+16|0;t=I+4|0;u=I;F=Bi(d)|0;if(g<<24>>24)a[e+53425>>0]=g;H=d+8|0;h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;G=d+20|0;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Di(d,4);break}while(0);if((g&255|0)==14){h=c[H>>2]|0;if(h>>>0<10){g=10-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>22;do if(!(a[G>>0]|0))if(h>>>0>10){c[H>>2]=h+-10;break}else{Di(d,10);break}while(0);b[e+53428>>1]=g}k=e+53432|0;z=a[k>>0]|0;r=e+53442|0;A=a[r>>0]|0;n=e+53433|0;B=a[n>>0]|0;o=e+53435|0;C=a[o>>0]|0;p=e+53436|0;D=a[p>>0]|0;q=e+53434|0;E=a[q>>0]|0;g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}x=g&255;y=e+53426|0;a[y>>0]=x;if(x<<24>>24){g=e+12432|0;c[g>>2]=(c[g>>2]|0)+1;g=c[H>>2]|0;do if(!g){h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){Di(d,1);h=g;g=c[H>>2]|0;m=29;break}else{a[e+53431>>0]=g;g=0;m=32;break}}else{g=g+-1|0;c[H>>2]=g;h=(c[d>>2]|0)>>>g&1;m=29}while(0);do if((m|0)==29){a[e+53431>>0]=h;if(g>>>0<4){h=c[d+4>>2]|0;m=32;break}else{h=c[d>>2]<<32-g>>>28;break}}while(0);if((m|0)==32){x=4-g|0;h=((1<<g)+-1&c[d>>2])<<x|h>>>(32-x|0)}do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{Di(d,4);g=c[H>>2]|0;break}while(0);a[k>>0]=h;if(g>>>0<4){h=4-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>28;do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{Di(d,4);g=c[H>>2]|0;break}while(0);a[n>>0]=h;if(g>>>0<3){h=3-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>29;do if(!(a[G>>0]|0)){if(g>>>0<=3){Di(d,3);g=c[H>>2]|0;x=a[G>>0]|0;a[q>>0]=h;if(x<<24>>24){m=55;break}}else{g=g+-3|0;c[H>>2]=g;a[q>>0]=h}if(g>>>0>2){g=g+-2|0;c[H>>2]=g;m=56;break}else{Di(d,2);g=c[H>>2]|0;m=55;break}}else{a[q>>0]=h;m=55}while(0);if((m|0)==55)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){Di(d,1);h=c[H>>2]|0;m=59}else{i=g;h=g}}else m=56;if((m|0)==56){h=g+-1|0;c[H>>2]=h;g=(c[d>>2]|0)>>>h&1;m=59}do if((m|0)==59){if(h|0){h=h+-1|0;c[H>>2]=h;i=g;h=(c[d>>2]|0)>>>h&1;break}h=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){Di(d,1);i=g}else i=g}while(0);if(!i){a[o>>0]=2;a[p>>0]=1;g=2}else{g=c[H>>2]|0;if(g>>>0<2){j=2-g|0;i=c[d>>2]|0;j=(i&(1<<g)+-1)<<j|(c[d+4>>2]|0)>>>(32-j|0)}else{i=c[d>>2]|0;j=i<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[o>>0]=j;m=73;break}else{Di(d,2);g=c[H>>2]|0;m=71;break}else m=71;while(0);do if((m|0)==71){a[o>>0]=j;if(g|0){i=c[d>>2]|0;m=73;break}i=c[d+4>>2]|0;g=i>>>31;if(!(a[G>>0]|0)){Di(d,1);i=c[H>>2]|0;m=77;break}else{a[p>>0]=g;g=0;m=80;break}}while(0);if((m|0)==73){x=g+-1|0;c[H>>2]=x;g=i>>>x&1;i=x;m=77}do if((m|0)==77){a[p>>0]=g;if(i>>>0<2){g=i;i=c[d+4>>2]|0;m=80;break}else{j=c[d>>2]<<32-i>>>30;g=i;break}}while(0);if((m|0)==80){j=2-g|0;j=((1<<g)+-1&c[d>>2])<<j|i>>>(32-j|0)}do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{Di(d,2);break}while(0);g=j&255}a[e+53437>>0]=g;if(!h){a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;g=1}else{g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;break}else{Di(d,2);g=c[H>>2]|0;break}while(0);a[e+53438>>0]=h;if(g>>>0<2){i=2-g|0;h=c[d>>2]|0;i=(h&(1<<g)+-1)<<i|(c[d+4>>2]|0)>>>(32-i|0)}else{h=c[d>>2]|0;i=h<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[e+53439>>0]=i;m=104;break}else{Di(d,2);g=c[H>>2]|0;m=102;break}else m=102;while(0);do if((m|0)==102){a[e+53439>>0]=i;if(g|0){h=c[d>>2]|0;m=104;break}h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){Di(d,1);h=c[H>>2]|0;m=108;break}else{a[e+53440>>0]=g;g=h>>>31;break}}while(0);if((m|0)==104){x=g+-1|0;c[H>>2]=x;g=h>>>x&1;h=x;m=108}do if((m|0)==108){a[e+53440>>0]=g;if(h|0){g=h+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1;break}g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1)}while(0);g=g&255}a[e+53441>>0]=g}l=a[k>>0]|0;h=e+12412|0;j=a[n>>0]|0;g=e+12413|0;if((((l<<24>>24==(a[h>>0]|0)?j<<24>>24==(a[g>>0]|0):0)?(a[o>>0]|0)==(a[e+12415>>0]|0):0)?(a[p>>0]|0)==(a[e+12416>>0]|0):0)?(a[q>>0]|0)==(a[e+12414>>0]|0):0)k=(a[e+53437>>0]|0)!=(a[e+12417>>0]|0)&1;else k=1;x=e+12426|0;a[x>>0]=k;a[h>>0]=l;a[g>>0]=j;i=a[o>>0]|0;a[e+12415>>0]=i;h=a[p>>0]|0;a[e+12416>>0]=h;g=a[q>>0]|0;a[e+12414>>0]=g;a[e+12417>>0]=a[e+53437>>0]|0;a:do if(!(c[e+12432>>2]|0))i=1;else{if(!(k<<24>>24)){if(a[y>>0]|0?a[e+9>>0]|0:0)m=125}else m=125;if((m|0)==125?(Cj(e,l,j,a[r>>0]|0,i,h,g)|0)<<24>>24:0)Cj(e,z,B,A,C,D,E)|0;a[e+8>>0]=a[r>>0]|0?2:1;b:do switch(a[e+12436>>0]|0){case 0:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g|0?(s=c[H>>2]|0,(a[G>>0]|0)==0):0)if(s>>>0>4){c[H>>2]=s+-4;break}else{Di(d,4);break}while(0);g=Dj(d,e,0)|0;if(!(g<<24>>24)){Ej(d,e,0);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Di(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}Fj(d,e,0);Gj(d,e,0);Hj(e,0);g=e+12149|0;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}u=g&255;a[e+53443>>0]=u;if(u<<24>>24?(w=e+17|0,v=a[w>>0]|0,v<<24>>24):0){k=d+4|0;j=0;h=v;do{i=j&255;g=c[H>>2]|0;do if(!g){g=(c[k>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1);h=a[w>>0]|0}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);a[e+12149+i>>0]=g;j=j+1<<24>>24}while((j&255)<(h&255))}g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Di(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Di(d,8);break}while(0);g=(g&65535)+15|0}l=d+4|0;m=e+53448|0;i=0;g=g<<3;while(1){j=g&65535;k=g&65535;if((j&65535)<=7)break;g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[l>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{Di(d,2);break}while(0);g=h&255;a[m>>0]=g;do if((h&255|0)==2){if(!(i<<24>>24)){h=1;break}a[m>>0]=3;h=i;g=3}else h=i;while(0);g=(Ij(d,e,g)|0)+2<<16>>16;if((g&65535)>(j&65535)){g=1;break b}else{i=h;g=k-(g&65535)|0}}if(j<<16>>16==0|(k|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>k>>>0){c[H>>2]=g-k;i=0;break a}else{Di(d,k);i=0;break a}}break}case 1:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g){g=c[H>>2]|0;if(!(a[G>>0]|0)){if(g>>>0<=4){Di(d,4);g=c[H>>2]|0;if(a[G>>0]|0){m=212;break}}else{g=g+-4|0;c[H>>2]=g}if(g>>>0>4){g=g+-4|0;c[H>>2]=g;m=213;break}else{Di(d,4);m=211;break}}else m=212}else m=211;while(0);if((m|0)==211){g=c[H>>2]|0;m=212}if((m|0)==212)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else m=213;if((m|0)==213){g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;n=e+53450|0;a[n>>0]=w;c:do if(!(w<<24>>24)){a[t>>0]=0;a[t+1>>0]=0;a[t+2>>0]=0;a[t+3>>0]=0;a[t+4>>0]=0;a[t+5>>0]=0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;h=e+610|0;i=a[h>>0]|0;j=e+614|0;k=a[j>>0]|0;l=e+53451|0;m=a[l>>0]|0;if(i<<24>>24)Dn(t|0,e+616|0,(i+-1&255)+1|0)|0;if(k<<24>>24)Dn(u|0,e+628|0,(k+-1&255)+1|0)|0;g=Dj(d,e,0)|0;do if(!(g<<24>>24)){g=Dj(d,e,1)|0;if(g<<24>>24){a[l>>0]=m;a[h>>0]=i;a[j>>0]=k;w=e+616|0;a[w>>0]=a[t>>0]|0;a[w+1>>0]=a[t+1>>0]|0;a[w+2>>0]=a[t+2>>0]|0;a[w+3>>0]=a[t+3>>0]|0;a[w+4>>0]=a[t+4>>0]|0;a[w+5>>0]=a[t+5>>0]|0;w=e+628|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;a[w+2>>0]=a[u+2>>0]|0;break}Ej(d,e,0);Ej(d,e,1);l=e+19|0;g=a[l>>0]|0;do if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Di(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(!(g<<24>>24))break;else k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Di(d,2);g=a[l>>0]|0;break}while(0);a[e+10981+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}while(0);Fj(d,e,0);Fj(d,e,1);Gj(d,e,0);Gj(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);break c}while(0);break b}else{g=Dj(d,e,0)|0;if(g<<24>>24)break b;a[e+53452>>0]=a[e+53451>>0]|0;i=a[e+610>>0]|0;a[e+611>>0]=i;j=a[e+614>>0]|0;a[e+615>>0]=j;a[e+53508>>0]=a[e+53507>>0]|0;h=0;g=0;while(1){a[e+622+g>>0]=a[e+616+g>>0]|0;a[e+640+g>>0]=a[e+634+g>>0]|0;g=h+1<<24>>24;if((g&255)>(i&255)){h=0;g=0;break}else{h=g;g=g&255}}while(1){a[e+631+g>>0]=a[e+628+g>>0]|0;g=h+1<<24>>24;if((g&255)>(j&255))break;else{h=g;g=g&255}}Ej(d,e,0);Ej(d,e,1);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Di(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(g<<24>>24){g=g&255;h=0;do{a[e+10981+h>>0]=a[e+10976+h>>0]|0;h=h+1|0}while((h|0)!=(g|0))}}Fj(d,e,0);Gj(d,e,0);Fj(d,e,1);Gj(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;if(!(w<<24>>24))break;k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Di(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);Hj(e,0);Hj(e,1);if(a[n>>0]|0)Jj(e);g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Di(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Di(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Di(d,8);break}while(0);g=(g&65535)+15|0}k=d+4|0;l=e+53448|0;g=g<<3;while(1){i=g&65535;j=g&65535;if((i&65535)<=7)break;h=c[H>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[k>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Di(d,2);break}while(0);g=g&255;a[l>>0]=g;g=(Ij(d,e,g)|0)+2<<16>>16;if((g&65535)>(i&65535)){g=1;break b}else g=j-(g&65535)|0}if(i<<16>>16==0|(j|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>j>>>0){c[H>>2]=g-j;i=0;break a}else{Di(d,j);i=0;break a}}default:{i=0;break a}}while(0);if(!(a[x>>0]|0)){if(!(a[y>>0]|0)){i=g;break}if(!(a[e+9>>0]|0)){i=g;break}}Cj(e,z,B,A,C,D,E)|0;i=g}while(0);h=(Bi(d)|0)-F|0;g=(f&65535)<<3;if(g>>>0<(h&65535)>>>0){Ei(d,(F&65535)+g|0);a[e+53424>>0]=0;d=1;Zb=I;return d|0}g=g-h&65535;if(g>>>0>7)do{h=c[H>>2]|0;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Di(d,8);break}while(0);g=g+65528&65535}while(g>>>0>7);if(!g){d=i;Zb=I;return d|0}h=c[H>>2]|0;if(a[G>>0]|0){d=i;Zb=I;return d|0}if(h>>>0>g>>>0){c[H>>2]=h-g;d=i;Zb=I;return d|0}else{Di(d,g);d=i;Zb=I;return d|0}return 0}function Cj(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;j=Qj(d,f,c[b>>2]|0)|0;d=b+13|0;a[d>>0]=j;j=Rj(e,c[b>>2]|0,j)|0;e=c[b>>2]|0;do if(e>>>0<=47999){d=a[d>>0]|0;f=(j&255)-(d&255)|0;if(e>>>0<32001){f=(f|0)>48;break}else{f=(f|0)>45;break}}else{d=a[d>>0]|0;f=((j&255)-(d&255)|0)>32}while(0);if(!(g<<24>>24))d=Sj(b,d,j,h)|0;else d=Tj(b,d,j,g,h)|0;return ((d&255)+(f&1)+((Uj(b,i,j)|0)&255)&255|0)!=0|0}function Dj(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;v=f&255;w=e+610+v|0;x=a[w>>0]|0;y=e+614+v|0;z=a[y>>0]|0;A=e+53451+v|0;B=a[A>>0]|0;u=b+8|0;h=c[u>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>30;t=b+20|0;do if(!(a[t>>0]|0))if(h>>>0>2){c[u>>2]=h+-2;break}else{Di(b,2);break}while(0);g=g&255;a[A>>0]=g;switch(g<<24>>24){case 0:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;i=c[b>>2]|0;h=(i&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else{i=c[b>>2]|0;h=i<<32-g>>>30}do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;h=1<<(h&255);h=((h|0)<5?h:5)&255;j=18;break}else{Di(b,2);g=c[u>>2]|0;j=16;break}else j=16;while(0);do if((j|0)==16){h=1<<(h&255);h=((h|0)<5?h:5)&255;if(g|0){i=c[b>>2]|0;j=18;break}g=(c[b+4>>2]|0)>>>31;if(!(a[t>>0]|0))Di(b,1)}while(0);if((j|0)==18){g=g+-1|0;c[u>>2]=g;g=i>>>g&1}if(h<<24>>24)Fn(e+((v*6|0)+634)|0,g&255|0,(h+-1&255)+1|0)|0;a[e+602+v>>0]=0;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=(h&255)+255;g=0;j=173;break}case 1:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Di(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Di(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;p=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{Di(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((p|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,q=d[152532+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<q>>>0){g=q-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-q|0);if(!(a[t>>0]|0))if(i>>>0>q>>>0){c[u>>2]=i-q;break}else{Di(b,q);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))Di(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[p-k+(e+634+(v*6|0))>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=0;a[e+604+v>>0]=o;a[e+606+v>>0]=0;g=p&255;j=173;break}case 2:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Di(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Di(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;o=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{Di(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((o|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,r=d[152532+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<r>>>0){g=r-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-r|0);if(!(a[t>>0]|0))if(i>>>0>r>>>0){c[u>>2]=i-r;break}else{Di(b,r);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))Di(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+k>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=p;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=o;g=0;j=173;break}case 3:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Di(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Di(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Di(b,2);break}while(0);n=e+53513+v|0;a[n>>0]=h;g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Di(b,2);break}while(0);g=h&255;m=e+53515+v|0;a[m>>0]=g;r=a[n>>0]|0;h=(h&255)+(r&255)|0;h=h>>>0>4?5:h+1&255;if(!(r<<24>>24))j=0;else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{Di(b,2);break}while(0);a[e+53471+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;j=a[n>>0]|0}while((k&255)<(j&255));g=a[m>>0]|0}if(!(g<<24>>24)){i=0;g=j}else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{Di(b,2);break}while(0);a[e+53489+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;i=a[m>>0]|0}while((k&255)<(i&255));g=a[n>>0]|0}g=(i&255)+2+(g&255)|0;do if((g&255)<10?(r=g<<24>>24,s=d[152532+r>>0]|0,r>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<s>>>0){g=s-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-s|0);if(!(a[t>>0]|0))if(i>>>0>s>>>0){c[u>>2]=i-s;break}else{Di(b,s);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(h<<24>>24){i=b+4|0;k=h&255;j=0;do{g=c[u>>2]|0;if(!g){g=(c[i>>2]|0)>>>31;if(!(a[t>>0]|0))Di(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+j>>0]=g;j=j+1|0}while((j|0)!=(k|0))}a[e+602+v>>0]=p;a[e+604+v>>0]=o;a[e+606+v>>0]=a[n>>0]|0;g=a[m>>0]|0;j=173;break}default:h=0}if((j|0)==173){a[e+608+v>>0]=g;g=a[A>>0]|0}v=h&255;g=g<<24>>24==3?5:4;g=g>>>0>v>>>0?v:g;a[w>>0]=g;if(!g){B=1;return B|0}a[y>>0]=(g|0)!=1?2:1;g=Oj(e,f)|0;if(!(g<<24>>24)){Pj(e,f);B=0;return B|0}else{a[A>>0]=B;a[w>>0]=x;a[y>>0]=z;B=g;return B|0}return 0}function Ej(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=f&255;i=e+610+m|0;if(a[i>>0]|0){j=b+8|0;k=b+4|0;l=b+20|0;g=0;do{h=g&255;f=c[j>>2]|0;if(!f){f=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(b,1)}else{f=f+-1|0;c[j>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53517+(m*9|0)+h>>0]=f;g=g+1<<24>>24}while((g&255)<(d[i>>0]|0))}h=e+614+m|0;if(!(a[h>>0]|0))return;i=b+8|0;j=b+4|0;k=b+20|0;g=0;do{l=g&255;f=c[i>>2]|0;if(!f){f=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(b,1)}else{f=f+-1|0;c[i>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53535+(m*3|0)+l>>0]=f;g=g+1<<24>>24}while((g&255)<(d[h>>0]|0));return}function Fj(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=g&255;x=f+610+w|0;i=a[x>>0]|0;if(i<<24>>24==1?(a[f+53451+w>>0]|0)==0:0)h=0;else h=a[f+53431>>0]|0;t=f+11+w|0;a[t>>0]=h;u=f+53450|0;v=g<<24>>24==1;j=v&(a[u>>0]|0)!=0;r=h<<24>>24==0;s=j?(r?151688:151784):r?151928:152168;r=j?(r?151832:151516):r?152292:151564;if(!(i<<24>>24)){Nj(f,g);return}o=e+8|0;p=e+4|0;q=e+20|0;n=j&1;m=0;l=0;while(1){if(!(a[f+53517+(w*9|0)+l>>0]|0)){i=(a[t>>0]|0)==0;i=v&(a[u>>0]|0)==1?(i?6:5):i?7:6;j=c[o>>2]|0;if(j>>>0<i>>>0){h=i-j|0;h=(c[e>>2]&(1<<j)+-1)<<h|(c[p>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-j>>>(32-i|0);do if(!(a[q>>0]|0))if(j>>>0>i>>>0){c[o>>2]=j-i;break}else{Di(e,i);break}while(0);b[f+730+(w*640|0)+(l<<1)>>1]=h<<n;k=f+634+(w*6|0)+l|0;if((d[(d[k>>0]|0)+(f+24)>>0]|0)>1){j=1;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))Di(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[r+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}else{k=f+634+(w*6|0)+l|0;if(a[(d[k>>0]|0)+(f+24)>>0]|0){j=0;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))Di(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[s+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}h=m+1<<24>>24;if((h&255)<(d[x>>0]|0)){m=h;l=h&255}else break}Nj(f,g);return}function Gj(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;g=f<<24>>24==1&(a[e+53450>>0]|0)==1;o=g?151344:151392;n=g?151516:151564;s=f&255;t=e+614+s|0;if(!(a[t>>0]|0)){Mj(e,f);return}p=b+8|0;q=b+4|0;r=b+20|0;l=g&1;m=e+19|0;k=0;j=0;while(1){if(!(a[e+53535+(s*3|0)+j>>0]|0)){h=c[p>>2]|0;if(h>>>0<5){g=5-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[q>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>27;do if(!(a[r>>0]|0))if(h>>>0>5){c[p>>2]=h+-5;break}else{Di(b,5);break}while(0);c[e+7388+(s<<9)+(j<<2)>>2]=g<<l;if((d[m>>0]|0)>1){h=1;do{i=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))Di(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[n+(i<<1)+g>>0]|0;i=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((h&255)<<3)+(j<<2)>>2]=i+64<<l;h=h+1<<24>>24}while((h&255)<(d[m>>0]|0))}}else if(a[m>>0]|0){i=0;do{h=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))Di(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[o+(h<<1)+g>>0]|0;h=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((i&255)<<3)+(j<<2)>>2]=h+64<<l;i=i+1<<24>>24}while((i&255)<(d[m>>0]|0))}g=k+1<<24>>24;if((g&255)<(d[t>>0]|0)){k=g;j=g&255}else break}Mj(e,f);return}function Hj(e,g){e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=e+53450|0;if(a[t>>0]|0)return;u=g&255;h=(a[e+11+u>>0]|0)==0;p=a[e+610+u>>0]|0;a:do if(p<<24>>24){q=h&1;if(h){o=0;m=0}else{n=0;l=0;while(1){m=(d[e+634+(u*6|0)+l>>0]|0)+(e+24)|0;if(a[m>>0]|0){k=0;i=0;while(1){h=b[e+730+(u*640|0)+(i*10|0)+(l<<1)>>1]>>q;if(h>>>0>63)j=0.0;else j=+f[78496+(h<<2)>>2];f[e+2268+(u*1280|0)+(i*20|0)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(d[m>>0]|0)){k=h;i=h&255}else break}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;l=h&255}else break a}}while(1){n=(d[e+634+(u*6|0)+m>>0]|0)+(e+24)|0;if(a[n>>0]|0){l=0;i=0;while(1){k=b[e+730+(u*640|0)+(i*10|0)+(m<<1)>>1]|0;h=k<<16>>16>>q;if(h>>>0<=63){j=+f[78496+(h<<2)>>2];h=e+2268+(u*1280|0)+(i*20|0)+(m<<2)|0;f[h>>2]=j;if(k&1)f[h>>2]=j*1.4142135381698608}else f[e+2268+(u*1280|0)+(i*20|0)+(m<<2)>>2]=0.0;h=l+1<<24>>24;if((h&255)<(d[n>>0]|0)){l=h;i=h&255}else break}}h=o+1<<24>>24;if((h&255)<(p&255)){o=h;m=h&255}else break}}while(0);p=a[e+614+u>>0]|0;if(!(p<<24>>24))return;o=g<<24>>24==0;n=a[e+19>>0]|0;m=0;h=n;l=0;while(1){if(h<<24>>24)if(o){k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[80464+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(v=c[e+7900+(i<<3)+(l<<2)>>2]|0,v>>>0<=24):0)j=+f[78852+(h*52|0)+(v>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[83812+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(w=c[e+7900+(i<<3)+(l<<2)>>2]|0,w>>>0<=24):0)j=+f[82200+(h*52|0)+(w>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else{k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[80464+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(r=c[e+7900+(i<<3)+(l<<2)>>2]|0,r>>>0<=24):0)j=+f[80588+(h*52|0)+(r>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[83812+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(s=c[e+7900+(i<<3)+(l<<2)>>2]|0,s>>>0<=24):0)j=+f[83936+(h*52|0)+(s>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else h=0;i=m+1<<24>>24;if((i&255)<(p&255)){m=i;l=i&255}else break}return}function Ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Zb;Zb=Zb+16|0;i=j;if(e<<24>>24!=2){f=b+8|0;g=c[f>>2]|0;if(g>>>0<6){e=6-g|0;e=(c[b>>2]&(1<<g)+-1)<<e|(c[b+4>>2]|0)>>>(32-e|0)}else e=c[b>>2]<<32-g>>>26;do if(!(a[b+20>>0]|0))if(g>>>0>6){c[f>>2]=g+-6;break}else{Di(b,6);break}while(0);a[d+53449>>0]=e;d=6;Zb=j;return d|0}f=d+53420|0;e=c[f>>2]|0;if(!e){e=Ti(c[d>>2]|0)|0;e=Kj(e,a[d+53416>>0]|0)|0;c[f>>2]=e}h=d+53425|0;if(a[h>>0]|0)a[e+719>>0]=0;g=Lj(e,b,i)|0;f=d+53424|0;e=(a[i>>0]|0)==1;if(!((a[f>>0]|0)==0&e)){if(!e){d=g;Zb=j;return d|0}}else a[f>>0]=1;a[h>>0]=0;d=g;Zb=j;return d|0}function Jj(e){e=e|0;var g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=(a[e+11>>0]|0)==0;s=a[e+610>>0]|0;if(s<<24>>24){p=r&1;q=(a[e+12>>0]|0)==0&1;o=0;m=0;while(1){n=(d[e+634+m>>0]|0)+(e+24)|0;if(a[n>>0]|0)if(r){l=0;k=0;while(1){g=b[e+730+(k*10|0)+(m<<1)>>1]|0;h=b[e+1370+(k*10|0)+(m<<1)>>1]>>q;j=(g>>p<<16)+65536|0;if(h>>>0>24|j>>>0>4128768){f[e+3548+(k*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[78496+(j>>16<<2)>>2];i=(g&1|0)==0?i:i*1.4142135381698608;f[e+2268+(k*20|0)+(m<<2)>>2]=+f[78752+(h<<2)>>2]*i;i=i*+f[78752+(24-h<<2)>>2];g=1}f[e+2268+(g*1280|0)+(k*20|0)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(d[n>>0]|0)){l=g;k=g&255}else break}}else{k=0;j=0;while(1){g=b[e+1370+(j*10|0)+(m<<1)>>1]>>q;h=(b[e+730+(j*10|0)+(m<<1)>>1]>>p<<16)+65536|0;if(g>>>0>24|h>>>0>4128768){f[e+3548+(j*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[78496+(h>>16<<2)>>2];f[e+2268+(j*20|0)+(m<<2)>>2]=+f[78752+(g<<2)>>2]*i;i=i*+f[78752+(24-g<<2)>>2];g=1}f[e+2268+(g*1280|0)+(j*20|0)+(m<<2)>>2]=i;g=k+1<<24>>24;if((g&255)<(d[n>>0]|0)){k=g;j=g&255}else break}}g=o+1<<24>>24;if((g&255)<(s&255)){o=g;m=g&255}else break}}p=a[e+614>>0]|0;if(!(p<<24>>24))return;q=e+53450|0;o=a[e+19>>0]|0;n=0;g=o;m=0;while(1){if(!(g<<24>>24))g=0;else{l=0;k=0;while(1){j=c[e+7388+(k<<3)+(m<<2)>>2]|0;h=j>>>0>30;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[80464+(j<<2)>>2];else if(!h?(t=c[e+7900+(k<<3)+(m<<2)>>2]|0,t>>>0<=24):0)i=+f[78852+(j*52|0)+(t>>>1<<2)>>2];else i=0.0;f[e+8412+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[80464+(g<<2)>>2]}else if(!h?(u=c[e+7900+(k<<3)+(m<<2)>>2]|0,u>>>0<=24):0)i=+f[80588+(j*52|0)+(u>>>1<<2)>>2];else i=0.0;f[e+8924+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[83812+(j<<2)>>2];else if(!h?(v=c[e+7900+(k<<3)+(m<<2)>>2]|0,v>>>0<=24):0)i=+f[82200+(j*52|0)+(v>>>1<<2)>>2];else i=0.0;f[e+9436+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[83812+(g<<2)>>2]}else if(!h?(w=c[e+7900+(k<<3)+(m<<2)>>2]|0,w>>>0<=24):0)i=+f[83936+(j*52|0)+(w>>>1<<2)>>2];else i=0.0;f[e+9948+(k<<3)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(o&255)){l=g;k=g&255}else{g=o;break}}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;m=h&255}else break}return}function Kj(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0;i=Gi(22736)|0;Fn(i|0,0,22736)|0;g=Gi(24)|0;a[g+4>>0]=12;a[g+5>>0]=8;a[g+6>>0]=4;a[g+7>>0]=4;a[g+8>>0]=4;a[g+1>>0]=8;a[g+2>>0]=2;a[g+3>>0]=2;a[g>>0]=e;h=Gi(((e&255)<<3)+96|0)|0;c[g+12>>2]=h;Fn(h|0,0,(d[g>>0]<<3)+96|0)|0;h=g+16|0;c[h>>2]=Gi(20)|0;b=Gi(d[g>>0]<<3)|0;c[c[h>>2]>>2]=b;Fn(c[c[h>>2]>>2]|0,0,d[g>>0]<<3|0)|0;b=Gi(d[g>>0]<<3)|0;c[(c[h>>2]|0)+4>>2]=b;Fn(c[(c[h>>2]|0)+4>>2]|0,0,d[g>>0]<<3|0)|0;b=Gi(d[g>>0]<<3)|0;c[(c[h>>2]|0)+8>>2]=b;Fn(c[(c[h>>2]|0)+8>>2]|0,0,d[g>>0]<<3|0)|0;b=Gi(d[g>>0]<<3)|0;c[(c[h>>2]|0)+12>>2]=b;Fn(c[(c[h>>2]|0)+12>>2]|0,0,d[g>>0]<<3|0)|0;b=Gi(d[g>>0]<<3)|0;c[(c[h>>2]|0)+16>>2]=b;Fn(c[(c[h>>2]|0)+16>>2]|0,0,d[g>>0]<<3|0)|0;h=g+20|0;c[h>>2]=Gi(d[g>>0]<<2)|0;if(a[g>>0]|0){b=0;do{j=Gi(96)|0;c[(c[h>>2]|0)+((b&255)<<2)>>2]=j;b=b+1<<24>>24}while((b&255)<(d[g>>0]|0))}c[i+720>>2]=g;a[i+725>>0]=e;a[i+718>>0]=0;a[i+740>>0]=0;b=i+811|0;g=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(g|0));a[i+741>>0]=0;a[i+744>>0]=3;a[i+742>>0]=0;a[i+745>>0]=4;a[i+743>>0]=0;a[i+746>>0]=5;a[i+729>>0]=22;f[i+20076>>2]=.765928328037262;f[i+20080>>2]=.25;b=i+747|0;g=b+35|0;do{a[b>>0]=14;b=b+1|0}while((b|0)<(g|0));b=i+782|0;g=b+29|0;do{a[b>>0]=1;b=b+1|0}while((b|0)<(g|0));f[i+20492>>2]=1.0;f[i+20896>>2]=1.0;f[i+20500>>2]=1.0;f[i+20904>>2]=1.0;f[i+20508>>2]=1.0;f[i+20912>>2]=1.0;f[i+20516>>2]=1.0;f[i+20920>>2]=1.0;f[i+20524>>2]=1.0;f[i+20928>>2]=1.0;f[i+20532>>2]=1.0;f[i+20936>>2]=1.0;f[i+20540>>2]=1.0;f[i+20944>>2]=1.0;f[i+20548>>2]=1.0;f[i+20952>>2]=1.0;f[i+20556>>2]=1.0;f[i+20960>>2]=1.0;f[i+20564>>2]=1.0;f[i+20968>>2]=1.0;f[i+20572>>2]=1.0;f[i+20976>>2]=1.0;f[i+20580>>2]=1.0;f[i+20984>>2]=1.0;f[i+20588>>2]=1.0;f[i+20992>>2]=1.0;f[i+20596>>2]=1.0;f[i+21e3>>2]=1.0;f[i+20604>>2]=1.0;f[i+21008>>2]=1.0;f[i+20612>>2]=1.0;f[i+21016>>2]=1.0;f[i+20620>>2]=1.0;f[i+21024>>2]=1.0;f[i+20628>>2]=1.0;f[i+21032>>2]=1.0;f[i+20636>>2]=1.0;f[i+21040>>2]=1.0;f[i+20644>>2]=1.0;f[i+21048>>2]=1.0;f[i+20652>>2]=1.0;f[i+21056>>2]=1.0;f[i+20660>>2]=1.0;f[i+21064>>2]=1.0;f[i+20668>>2]=1.0;f[i+21072>>2]=1.0;f[i+20676>>2]=1.0;f[i+21080>>2]=1.0;f[i+20684>>2]=1.0;f[i+21088>>2]=1.0;f[i+20692>>2]=1.0;f[i+21096>>2]=1.0;f[i+20700>>2]=1.0;f[i+21104>>2]=1.0;f[i+20708>>2]=1.0;f[i+21112>>2]=1.0;f[i+20716>>2]=1.0;f[i+21120>>2]=1.0;f[i+20724>>2]=1.0;f[i+21128>>2]=1.0;f[i+20732>>2]=1.0;f[i+21136>>2]=1.0;f[i+20740>>2]=1.0;f[i+21144>>2]=1.0;f[i+20748>>2]=1.0;f[i+21152>>2]=1.0;f[i+20756>>2]=1.0;f[i+21160>>2]=1.0;f[i+20764>>2]=1.0;f[i+21168>>2]=1.0;f[i+20772>>2]=1.0;f[i+21176>>2]=1.0;f[i+20780>>2]=1.0;f[i+21184>>2]=1.0;f[i+20788>>2]=1.0;f[i+21192>>2]=1.0;f[i+20796>>2]=1.0;f[i+21200>>2]=1.0;f[i+20804>>2]=1.0;f[i+21208>>2]=1.0;f[i+20812>>2]=1.0;f[i+21216>>2]=1.0;f[i+20820>>2]=1.0;f[i+21224>>2]=1.0;f[i+20828>>2]=1.0;f[i+21232>>2]=1.0;f[i+20836>>2]=1.0;f[i+21240>>2]=1.0;f[i+20844>>2]=1.0;f[i+21248>>2]=1.0;f[i+20852>>2]=1.0;f[i+21256>>2]=1.0;f[i+20860>>2]=1.0;f[i+21264>>2]=1.0;f[i+20868>>2]=1.0;f[i+21272>>2]=1.0;f[i+20876>>2]=1.0;f[i+21280>>2]=1.0;f[i+20884>>2]=1.0;f[i+21288>>2]=1.0;a[i+22092>>0]=0;e=i+22416|0;j=i+22096|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22112|0;j=i+22432|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22128|0;e=i+22448|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22144|0;j=i+22464|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22160|0;e=i+22480|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22176|0;j=i+22496|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22192|0;e=i+22512|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22208|0;j=i+22528|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22224|0;e=i+22544|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22240|0;j=i+22560|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22256|0;e=i+22576|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22272|0;j=i+22592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22288|0;e=i+22608|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22304|0;j=i+22624|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22320|0;e=i+22640|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22336|0;j=i+22656|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22352|0;e=i+22672|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22368|0;j=i+22688|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22384|0;e=i+22704|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22400|0;j=i+22720|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;return i|0}function Lj(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;s=Bi(e)|0;a[f>>0]=0;t=e+8|0;g=c[t>>2]|0;if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}if(!g)g=b+719|0;else{a[f>>0]=1;g=b+719|0;a[g>>0]=1;i=b+724|0;a[i>>0]=0;f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b>>0]=r;if(r<<24>>24){f=c[t>>2]|0;if(f>>>0<3){h=3-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>29;do if(!(a[e+20>>0]|0))if(f>>>0>3){c[t>>2]=f+-3;break}else{Di(e,3);break}while(0);f=h&255;a[b+3>>0]=f;r=h&255;a[b+5>>0]=a[150856+r>>0]|0;a[b+6>>0]=a[150864+r>>0]|0;switch(f<<24>>24){case 5:case 2:{a[i>>0]=1;break}default:{}}a[b+27>>0]=f}f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b+1>>0]=r;a:do if(r<<24>>24){h=c[t>>2]|0;if(h>>>0<3){f=3-h|0;f=(c[e>>2]&(1<<h)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-h>>>29;do if(!(a[e+20>>0]|0))if(h>>>0>3){c[t>>2]=h+-3;break}else{Di(e,3);break}while(0);r=f&255;a[b+4>>0]=r;a[b+7>>0]=a[150856+(f&255)>>0]|0;switch(r<<24>>24){case 5:case 2:break;default:break a}a[i>>0]=1}while(0);f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Di(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+2>>0]=f}if(!(a[g>>0]|0)){u=1;s=0;t=b+718|0;a[t>>0]=s;return u|0}g=c[t>>2]|0;do if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Di(e,1);h=c[t>>2]|0;i=47;break}else{g=g&255;f=b+8|0;a[f>>0]=g;h=0;i=49;break}}else{h=g+-1|0;c[t>>2]=h;g=(c[e>>2]|0)>>>h&1;i=47}while(0);if((i|0)==47){g=g&255;f=b+8|0;a[f>>0]=g;if(h>>>0<2)i=49;else j=c[e>>2]<<32-h>>>30}if((i|0)==49){j=2-h|0;j=(c[e>>2]&(1<<h)+-1)<<j|(c[e+4>>2]|0)>>>(32-j|0)}r=e+20|0;do if(!(a[r>>0]|0))if(h>>>0>2){c[t>>2]=h+-2;f=g;break}else{Di(e,2);f=a[f>>0]|0;break}else f=g;while(0);g=a[(j&255)+(150872+((f&255)<<2))>>0]|0;q=b+9|0;a[q>>0]=g;if(f<<24>>24)if(!(g<<24>>24))g=0;else{k=e+4|0;j=1;do{i=j&255;f=c[t>>2]|0;if(f>>>0<5){h=5-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>27;do if(!(a[r>>0]|0))if(f>>>0>5){c[t>>2]=f+-5;break}else{Di(e,5);g=a[q>>0]|0;break}while(0);a[b+10+i>>0]=h+1;j=j+1<<24>>24}while((g&255)>=(j&255))}if(a[b>>0]|0)if(!(g<<24>>24))g=0;else{l=e+4|0;m=b+3|0;n=b+5|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}g=g&255;a[b+16+j>>0]=g;h=a[n>>0]|0;i=b+140+(j*34|0)|0;g=g<<24>>24==0;b:do if((d[m>>0]|0)<3){if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[150880+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[150936+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[150936+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else{if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[150992+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[151112+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[151112+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}while(0);f=k+1<<24>>24;g=a[q>>0]|0;if((f&255)<(g&255)){k=f;j=f&255}else break}}if(!((a[b+1>>0]|0)==0|g<<24>>24==0)){l=e+4|0;m=b+7|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=g&255;a[b+21+j>>0]=p;h=a[m>>0]|0;i=b+310+(j*34|0)|0;if(!(p<<24>>24)){f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[151260+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[151260+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else if(h<<24>>24){i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[151232+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}do if(a[b+2>>0]|0){f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[r>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Di(e,4);break}while(0);if((g&65535|0)==15){f=c[t>>2]|0;if(f>>>0<8){g=8-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>24;do if(!(a[r>>0]|0))if(f>>>0>8){c[t>>2]=f+-8;break}else{Di(e,8);break}while(0);g=(g&65535)+15|0}f=g<<3;g=f&65528;if(g>>>0>7){n=e+4|0;o=b+26|0;p=b+6|0;do{g=c[t>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[n>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>30;do if(!(a[r>>0]|0))if(g>>>0>2){c[t>>2]=g+-2;break}else{Di(e,2);break}while(0);l=f+65534|0;m=Bi(e)|0;do if(!((h&255)<<24>>24)){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);k=g&255;a[o>>0]=k;do if(k<<24>>24){if(!(a[q>>0]|0))break;else{k=0;j=0}while(1){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+28+j>>0]=f;h=a[p>>0]|0;i=b+480+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151302+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151302+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151288+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+33+j>>0]=f;h=a[p>>0]|0;i=b+565+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151330+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151330+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Di(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[151316+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}while(0);g=c[t>>2]|0;if(g|0){c[t>>2]=g+-1;break}if(a[r>>0]|0)break;Di(e,1)}while(0);f=(l&65535)-((Bi(e)|0)-m&65535)|0;g=f&65535}while(g>>>0>7)}if(g|0?(u=c[t>>2]|0,(a[r>>0]|0)==0):0)if(u>>>0>g>>>0){c[t>>2]=u-g;break}else{Di(e,g);break}}while(0);u=(Bi(e)|0)-s&65535;s=1;t=b+718|0;a[t>>0]=s;return u|0}function Mj(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;k=e&255;l=b+614+k|0;if(!(a[l>>0]|0))return;m=b+19|0;j=0;i=0;while(1){a:do if(!(a[b+53535+(k*3|0)+i>>0]|0)){e=a[m>>0]|0;if((e&255)>1){e=e&255;f=c[b+7388+(k<<9)+(i<<2)>>2]|0;g=1;do{h=b+7388+(k<<9)+(g<<3)+(i<<2)|0;f=f+(c[h>>2]|0)|0;c[h>>2]=f;g=g+1|0}while(g>>>0<e>>>0)}}else{h=a[m>>0]|0;e=h<<24>>24==0;if(!(j<<24>>24)){if(e)break;else{f=0;e=0}while(1){c[b+7388+(k<<9)+(e<<3)+(i<<2)>>2]=(c[b+7388+(k<<9)+(e<<3)>>2]|0)+(c[b+10460+(k<<8)+(e<<2)>>2]|0);e=f+1<<24>>24;if((e&255)<(h&255)){f=e;e=e&255}else break a}}if(!e){g=i+-1|0;e=h&255;f=0;do{h=b+7388+(k<<9)+(f<<3)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[b+7388+(k<<9)+(f<<3)+(g<<2)>>2]|0);f=f+1|0}while(f>>>0<e>>>0)}}while(0);e=j+1<<24>>24;if((e&255)<(d[l>>0]|0)){j=e;i=e&255}else break}return}function Nj(c,f){c=c|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;q=f&255;r=a[c+610+q>>0]|0;if(!(r<<24>>24))return;s=c+646+q|0;t=c+17|0;u=c+18|0;v=c+24|0;p=c+25|0;o=0;n=0;while(1){a:do if(!(a[c+53517+(q*9|0)+n>>0]|0)){h=(d[c+634+(q*6|0)+n>>0]|0)+(c+24)|0;if((d[h>>0]|0)>1){g=1;f=1;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;f=(e[m>>1]|0)+(e[c+730+(q*640|0)+((f+-1|0)*10|0)+(n<<1)>>1]|0)|0;b[m>>1]=(f&32768|0)==0?f&65535:0;f=g+1<<24>>24;if((f&255)<(d[h>>0]|0)){g=f;f=f&255}else break}}}else{h=o<<24>>24==0;m=n+-1|0;f=a[(h?s:c+634+(q*6|0)+m|0)>>0]|0;g=a[c+634+(q*6|0)+n>>0]|0;if(g<<24>>24==f<<24>>24){i=(f&255)+(c+24)|0;if(!(a[i>>0]|0))break;if(h){g=0;f=0;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[m>>1]=(e[m>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}else{g=0;f=0;while(1){l=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[l>>1]=(e[l>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}}if(f<<24>>24==1&g<<24>>24==0){l=a[v>>0]|0;if(!(l<<24>>24))break;k=a[t>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}}if(f<<24>>24==0&g<<24>>24==1?(w=a[p>>0]|0,w<<24>>24):0){k=a[u>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}}}while(0);f=o+1<<24>>24;if((f&255)<(r&255)){o=f;n=f&255}else break}return}function Oj(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Zb;Zb=Zb+16|0;n=p;o=n+1|0;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=0;a[o+4>>0]=0;o=d[b+8>>0]|0;m=c&255;f=a[b+602+m>>0]|0;a[n>>0]=w(f&255,o)|0;c=a[b+604+m>>0]|0;l=(w(c&255,o)|0)&255;g=a[b+610+m>>0]|0;e=g&255;a[n+e>>0]=l;a:do switch(a[b+53451+m>>0]|0){case 0:switch(g<<24>>24){case 4:{k=(d[b+53417>>0]|0)>>>2;l=k&255;a[n+3>>0]=w(o*3|0,l)|0;a[n+2>>0]=w(k<<1&255,o)|0;a[n+1>>0]=w(o,l)|0;break a}case 2:{a[n+1>>0]=w((d[b+53417>>0]|0)>>>1&255,o)|0;break a}default:break a}case 1:{if((g&255)>1){h=e+-1|0;f=0;e=0;while(1){e=a[b+53453+(m*9|0)+e>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=w(c&255,o)|0;f=f+1<<24>>24;e=f&255;if((h|0)<=(e|0))break a;else c=c&255}Zb=p;return c|0}break}case 2:{if((g&255)>1){j=d[b+53419>>0]|0;k=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=e+-1|0;h=1;c=f;g=0;e=0;while(1){f=(d[b+53453+(m*9|0)+e>>0]|0)+(c&255)|0;c=w(f&255,o)|0;if((c+j|0)>>>0>k>>>0){c=1;break}a[n+(h<<24>>24)>>0]=c;g=g+1<<24>>24;e=g&255;if((i|0)<=(e|0))break a;else{h=h+1<<24>>24;c=f&255}}Zb=p;return c|0}break}case 3:{k=a[b+53513+m>>0]|0;b:do if(k<<24>>24){l=d[b+53419>>0]|0;j=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=1;e=f;h=0;while(1){e=(d[(h&255)+(b+53471+(m*9|0))>>0]|0)+(e&255)|0;f=w(e&255,o)|0;if((f+l|0)>>>0>j>>>0){c=1;break}a[n+(i<<24>>24)>>0]=f;h=h+1<<24>>24;if((h&255)>=(k&255))break b;else{i=i+1<<24>>24;e=e&255}}Zb=p;return c|0}while(0);h=a[b+53515+m>>0]|0;if(h<<24>>24){f=0;while(1){e=a[(f&255)+(b+53489+(m*9|0))>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=w(c&255,o)|0;f=f+1<<24>>24;if((f&255)>=(h&255))break a;else c=c&255}Zb=p;return c|0}break}default:{}}while(0);o=b+((m*6|0)+616)|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;a[o+4>>0]=a[n+4>>0]|0;a[o+5>>0]=a[n+5>>0]|0;o=0;Zb=p;return o|0}function Pj(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=c&255;a[b+628+(e*3|0)>>0]=a[b+616+(e*6|0)>>0]|0;f=a[b+610+e>>0]|0;if(f<<24>>24==1){a[b+628+(e*3|0)+1>>0]=a[b+616+(e*6|0)+1>>0]|0;f=0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}a:do switch(a[b+53451+e>>0]|0){case 0:{c=(f&255)>>>1&255;break}case 2:{c=a[b+53507+e>>0]|0;switch(c<<24>>24){case 0:{c=1;break a}case 1:{c=(f&255)+-1|0;break a}default:{c=(c&255)+-1|0;break a}}}case 3:case 1:{c=a[b+53507+e>>0]|0;d=f&255;if((c&255)>1){c=1-(c&255)+d|0;break a}else{c=d+255|0;break a}}default:c=0}while(0);d=c<<24>>24;a[b+628+(e*3|0)+1>>0]=a[(((d|0)>0?d:0)&255)+(b+616+(e*6|0))>>0]|0;f=a[(f&255)+(b+616+(e*6|0))>>0]|0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}function Qj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=a[152725+((Ti(e)|0)&255)>>0]|0;e=Ti(e)|0;f=f&255;if(!(c<<24>>24)){c=d[152845+(b&255)>>0]|0;c=c+f|0;c=c&255;return c|0}else{c=a[(b&255)+(152749+(d[152737+(e&255)>>0]<<4))>>0]|0;c=c+f|0;c=c&255;return c|0}return 0}function Rj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;switch(b<<24>>24){case 15:{c=(e&255)*3|0;c=(c>>>0<64?c:64)&255;return c|0}case 14:{if((e&255)>32){c=64;return c|0}c=(e&255)<<1&255;return c|0}default:{e=d[152545+((Ti(c)|0)&255)>>0]|0;g=(Ti(c)|0)&255;b=f>>>0<13?f:13;if(((a[152557+(g*14|0)+b>>0]|0)+e|0)>64){g=64;return g|0}g=(d[152557+(((Ti(c)|0)&255)*14|0)+b>>0]|0)+e&255;return g|0}}return 0}function Sj(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;l=Zb;Zb=Zb+256|0;k=l;Fn(k|0,0,256)|0;if((f&255)<=(e&255)){a[b+16>>0]=0;k=1;Zb=l;return k|0}h=(f&255)-(e&255)|0;if(!(g<<24>>24))f=h&-2;else f=h+2>>2<<1;j=f>>>0<63?f:63;if(!j){k=1;Zb=l;return k|0}i=g<<24>>24?2:1;h=h-(w(j,i)|0)|0;f=0;g=0;do{c[k+(g<<2)>>2]=i;f=f+1<<24>>24;g=f&255}while(j>>>0>g>>>0);if(h|0){f=(h|0)>0;g=f?-1:1;f=f?j+255|0:0;while(1){f=f&255;i=k+(f<<2)|0;c[i>>2]=(c[i>>2]|0)-g;h=h+g|0;if(!h)break;else f=f+g|0}}a[b+26>>0]=e;f=1;h=1;do{e=h+-1|0;a[b+26+h>>0]=(c[k+(e<<2)>>2]|0)+(d[b+26+e>>0]|0);f=f+1<<24>>24;h=f&255}while(j>>>0>=h>>>0);a[b+16>>0]=(j|0)<64?j:64;k=0;Zb=l;return k|0}function Tj(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,t=0,u=0,w=0,x=0,y=0,z=0;z=Zb;Zb=Zb+1024|0;t=z+768|0;u=z+512|0;w=z+256|0;y=z;Fn(t|0,0,256)|0;Fn(u|0,0,256)|0;Fn(w|0,0,256)|0;Fn(y|0,0,256)|0;m=e&255;if((f&255)<=(e&255)){a[b+16>>0]=0;b=1;Zb=z;return b|0}p=+(f&255);l=+(e&255);o=p/l>2.2449;r=o?m<<1&255:f;n=+(d[152542+((g&255)+-1)>>0]|0);i=+(r&255);j=i/l;x=~~(+v(+j)*n/.6931471824645996+.5)<<1&254;x=x>>>0<63?x:63;if((x|0)<1){b=1;Zb=z;return b|0}k=+s(+j,+(1.0/+(x&255)));e=0;f=~~(l+.5);j=l;h=0;do{j=j*k;g=f;f=~~(j+.5);c[t+(h<<2)>>2]=f-g;e=e+1<<24>>24;h=e&255}while((x|0)>=(h|0));Il(t,x,4,3);c[w>>2]=m;h=1;e=1;do{g=e+-1|0;m=c[t+(g<<2)>>2]|0;c[w+(e<<2)>>2]=m+(c[w+(g<<2)>>2]|0);h=h+1<<24>>24;if(!m){h=1;q=26;break}e=h&255}while((x|0)>=(e|0));if((q|0)==26){Zb=z;return h|0}if(!o){h=0;e=0;do{a[b+26+e>>0]=c[w+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((x|0)>=(e|0));a[b+16>>0]=(x|0)<64?x:64;b=0;Zb=z;return b|0}j=p/i;m=~~(+v(+j)*n/.9010912775993347+.5)<<1&254;m=m>>>0<63?m:63;j=+s(+j,+(1.0/+(m&255)));g=m+-1|0;if((m|0)>0){f=~~(i+.5);h=0;e=0;do{i=i*j;q=f;f=~~(i+.5);c[u+(e<<2)>>2]=f-q;h=h+1<<24>>24;e=h&255}while((m|0)>(e|0));e=u;f=c[u>>2]|0}else{e=u;f=0}h=t+(x+-1<<2)|0;if((f|0)<(c[h>>2]|0)){Il(u,m+1|0,4,3);q=c[h>>2]|0;o=c[e>>2]|0;c[e>>2]=q;t=u+(g<<2)|0;c[t>>2]=o-q+(c[t>>2]|0)}Il(u,m,4,3);c[y>>2]=r&255;a:do if((m|0)>=1){h=1;e=1;while(1){r=e+-1|0;t=c[u+(r<<2)>>2]|0;c[y+(e<<2)>>2]=t+(c[y+(r<<2)>>2]|0);h=h+1<<24>>24;if(!t){h=1;break}e=h&255;if((m|0)<(e|0))break a}Zb=z;return h|0}while(0);f=m+x|0;f=(f>>>0<64?f:64)&255;a[b+16>>0]=f;h=0;e=0;do{a[b+26+e>>0]=c[w+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((x|0)>=(e|0));e=x+1|0;h=e&255;if((f&255)<(h&255)){b=0;Zb=z;return b|0}while(1){a[b+26+e>>0]=c[y+(e-x<<2)>>2];e=h+1<<24>>24;if((e&255)>(f&255)){h=0;break}else{h=e;e=e&255}}Zb=z;return h|0}function Uj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b+16>>0]|0;h=c&255;if((f&255)<=(c&255)){b=1;return b|0}i=(f&255)-h|0;g=i&255;a[b+17>>0]=g;l=(i>>>1&127)+(i&1)|0;k=l&255;a[b+18>>0]=k;a[b+24>>0]=k;a[b+25>>0]=g;f=0;c=0;while(1){a[b+154+c>>0]=a[c+h+(b+26)>>0]|0;c=f+1<<24>>24;if((c&255)>(g&255))break;else{f=c;c=c&255}}h=a[b+154>>0]|0;c=h&255;f=(d[(i&255)+(b+154)>>0]|0)-c|0;a[b+15>>0]=f;a[b+14>>0]=h;if((h&255)>32){b=1;return b|0}if(((f&255)+c|0)>>>0>64){b=1;return b|0}g=i&1;f=0;c=0;while(1){j=f<<24>>24==0?0:(c<<1)-g&255;a[b+90+c>>0]=a[(j&255)+(b+154)>>0]|0;c=f+1<<24>>24;if((c&255)>(k&255))break;else{f=c;c=c&255}}k=b+19|0;a[k>>0]=0;c=a[b+53437>>0]|0;if(!(c<<24>>24))h=1;else{h=~~(+v(+(+(e&255)/+(h&255)))*+(c&255)/.6931471824645996+.5);h=((h|0)>1?h:1)&255;a[k>>0]=h;h=(h&255)<5?h:5}a[k>>0]=h;i=h&255;g=0;c=j;f=0;while(1){if(!(g<<24>>24))c=0;else{c=c&255;c=((l-c|0)/(1-f+i|0)|0)+c&255}a[b+218+f>>0]=a[(c&255)+(b+90)>>0]|0;f=g+1<<24>>24;if((f&255)>(h&255)){c=0;break}else{g=f;f=f&255}}while(1){a:do if(h<<24>>24){g=0;f=0;while(1){if(c>>>0>=(d[b+218+f>>0]|0)>>>0?c>>>0<(d[f+1+(b+218)>>0]|0)>>>0:0)break;f=g+1<<24>>24;if((f&255)<(h&255)){g=f;f=f&255}else break a}a[b+538+c>>0]=g}while(0);c=c+1|0;if((c|0)==64){c=0;break}h=a[k>>0]|0}return c|0}function Vj(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Wj(d){d=d|0;var e=0,f=0,g=0;e=Gi(8)|0;f=(d&255)*80|0;g=Gi(f)|0;c[e>>2]=g;Fn(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function Xj(d){d=d|0;var e=0,f=0,g=0;e=Gi(8)|0;f=(d&255)*160|0;g=Gi(f)|0;c[e>>2]=g;Fn(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function Yj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=f+8|0;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[f+20>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}if(h|0){f=32;return f|0}h=c[p>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>30;o=f+20|0;do if(!(a[o>>0]|0))if(h>>>0>2){h=h+-2|0;c[p>>2]=h;i=i&255;j=e+4|0;a[j>>0]=i;l=14;break}else{Di(f,2);h=c[p>>2]|0;l=13;break}else l=13;while(0);if((l|0)==13){i=i&255;j=e+4|0;a[j>>0]=i;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0)){Di(f,1);k=j;i=a[j>>0]|0}else k=j}else l=14}if((l|0)==14){h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1;k=j}a[e+13>>0]=h;m=b+4|0;if((a[m>>0]|0)==23)if(!(i<<24>>24))l=35;else{f=32;return f|0}else if(i<<24>>24==2){h=c[p>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>28;do if(!(a[o>>0]|0))if(h>>>0>4){j=h+-4|0;c[p>>2]=j;break}else{Di(f,4);j=c[p>>2]|0;break}else j=h;while(0);a[e>>0]=i;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[o>>0]|0))if(j>>>0>7){c[p>>2]=j+-7;break}else{Di(f,7);break}while(0);a[e+14>>0]=h}else l=35;if((l|0)==35){i=c[p>>2]|0;if(i>>>0<6){h=6-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>26;do if(!(a[o>>0]|0))if(i>>>0>6){c[p>>2]=i+-6;break}else{Di(f,6);break}while(0);a[e>>0]=h}h=Sk(b,e)|0;if(h<<24>>24){f=h;return f|0}if((d[e>>0]|0)>(d[e+1>>0]|0)){f=16;return f|0}if((a[k>>0]|0)==2){f=0;return f|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+9042>>0]=l;if(!(l<<24>>24)){f=0;return f|0}h=a[m>>0]|0;if(h<<24>>24==1){g=a[e>>0]|0;h=b+3|0;if((g&255)<((Vi(a[h>>0]|0)|0)&255))j=a[e>>0]|0;else j=Vi(a[h>>0]|0)|0;a[e+10221>>0]=j;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}b=h&255;a[e+10222>>0]=b;if(b<<24>>24){i=c[p>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>27;do if(!(a[o>>0]|0))if(i>>>0>5){c[p>>2]=i+-5;break}else{Di(f,5);break}while(0);a[e+10223>>0]=h}if(!(j<<24>>24)){f=0;return f|0}k=f+4|0;j=j&255;i=0;do{h=c[p>>2]|0;if(!h){h=(c[k>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}a[e+10224+i>>0]=h;i=i+1|0}while((i|0)!=(j|0));h=0;return h|0}do if((h&255)>=17){if(g<<24>>24){f=0;return f|0}}else{h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+10277>>0]=l;if(l<<24>>24?(n=Zj(b,e,e+10276|0,f)|0,n<<24>>24):0){f=n;return f|0}if(!(g<<24>>24)){if((d[m>>0]|0)>16)break;else h=0;return h|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10359>>0]=p;if(!(p<<24>>24)){f=0;return f|0}f=Zj(b,e,e+10358|0,f)|0;return f|0}while(0);h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Di(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10277>>0]=p;if(!(p<<24>>24)){f=0;return f|0}Zj(b,e,e+10276|0,f)|0;f=0;return f|0}function Zj(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=h+2|0;b[n>>1]=0;o=i+8|0;if((a[f+4>>0]|0)==23){k=c[o>>2]|0;if(!k)j=c[i+4>>2]|0;else j=c[i>>2]<<32-k;j=j>>>31;do if(!(a[i+20>>0]|0))if(k>>>0>1){c[o>>2]=k+-1;break}else{Di(i,1);break}while(0);p=j&255;a[h+4>>0]=p;if(!(p<<24>>24))j=b[n>>1]|0;else{l=10;m=11}}else{l=11;m=11}if((m|0)==11){k=c[o>>2]|0;if(k>>>0<l>>>0){j=l-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>(32-l|0);do if(!(a[i+20>>0]|0))if(k>>>0>l>>>0){c[o>>2]=k-l;break}else{Di(i,l);break}while(0);j=j&65535;b[n>>1]=j}if(e[f+10>>1]<<1>>>0<(j&65535)>>>0){i=18;return i|0}f=i+8|0;k=c[f>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>29;p=i+20|0;do if(!(a[p>>0]|0))if(k>>>0>3){c[f>>2]=k+-3;break}else{Di(i,3);break}while(0);a[h+5>>0]=j;if((a[g+4>>0]|0)!=2){j=a[g>>0]|0;j=(j&255)<40?j:40;a[h>>0]=j;if(!(j<<24>>24)){i=0;return i|0}n=i+4|0;m=0;do{l=m&255;k=c[f>>2]|0;if(!k){k=(c[n>>2]|0)>>>31;if(!(a[p>>0]|0)){Di(i,1);j=a[h>>0]|0}}else{k=k+-1|0;c[f>>2]=k;k=(c[i>>2]|0)>>>k&1}a[h+6+l>>0]=k;m=m+1<<24>>24}while((m&255)<(j&255));j=0;return j|0}n=g+3|0;if(!(a[n>>0]|0)){i=0;return i|0}o=i+4|0;m=0;l=0;while(1){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))Di(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+57+l>>0]=g;if(g<<24>>24){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))Di(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+65+l>>0]=g;if(g<<24>>24){k=c[f>>2]|0;if(k>>>0<4){j=4-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>28;do if(!(a[p>>0]|0))if(k>>>0>4){c[f>>2]=k+-4;break}else{Di(i,4);break}while(0);a[h+73+l>>0]=j}}j=m+1<<24>>24;if((j&255)<(d[n>>0]|0)){m=j;l=j&255}else{j=0;break}}return j|0}function _j(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=h+8|0;k=c[F>>2]|0;if(k>>>0<8){l=8-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>24;D=h+20|0;do if(!(a[D>>0]|0))if(k>>>0>8){c[F>>2]=k+-8;break}else{Di(h,8);break}while(0);B=i+7810|0;a[B>>0]=l;if((a[g+5>>0]|0)==0?(m=Yj(f,i,h,0)|0,m<<24>>24):0){j=m;return j|0}H=i+4|0;s=(a[H>>0]|0)==2?3:5;G=i+2|0;k=a[G>>0]|0;a:do if(k<<24>>24){u=f+6|0;v=h+4|0;x=i+9038|0;y=32-s|0;z=(1<<s)+255&255;A=i+9037|0;t=0;l=a[i>>0]|0;r=0;b:while(1){if(!(l<<24>>24)){a[i+7802+r>>0]=0;l=0}else{q=0;l=0;o=0;while(1){if(a[D>>0]|0){k=14;C=168;break b}g=(a[u>>0]|0)==0?4:5;m=c[F>>2]|0;if(m>>>0<g>>>0){k=g-m|0;k=(c[h>>2]&(1<<m)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-m>>>(32-g|0);if(m>>>0>g>>>0)c[F>>2]=m-g;else Di(h,g);k=k&255;n=q&255;p=i+2042+(r*120|0)+n|0;a[p>>0]=k;switch(k<<24>>24){case 12:{k=32;C=168;break b}case 13:{a[A>>0]=1;k=a[p>>0]|0;break}default:{}}if((k&-2)<<24>>24==14)a[x>>0]=1;if((a[u>>0]|0)!=0?(m=a[p>>0]|0,m<<24>>24==11|(m+-16&255)<17):0)k=1;else C=28;do if((C|0)==28){C=0;g=c[F>>2]|0;if(g>>>0<s>>>0){k=s-g|0;k=(c[h>>2]&(1<<g)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-g>>>y;if(!(a[D>>0]|0))if(g>>>0>s>>>0){c[F>>2]=g-s;break}else{Di(h,s);break}}while(0);k=k&255;if((k|0)==(z|0)){k=z;do{m=c[F>>2]|0;if(m>>>0<s>>>0){g=s-m|0;g=(c[h>>2]&(1<<m)+-1)<<g|(c[v>>2]|0)>>>(32-g|0)}else g=c[h>>2]<<32-m>>>y;do if(!(a[D>>0]|0))if(m>>>0>s>>>0){c[F>>2]=m-s;break}else{Di(h,s);break}while(0);m=g&255;k=m+(k&65535)|0}while((m|0)==(z|0))}b[i+3002+(r*240|0)+(n<<1)>>1]=l&255;g=(k&65535)+o|0;b[i+4922+(r*240|0)+(n<<1)>>1]=g;if((a[H>>0]|0)==2){if((q&255)>119|g>>>0>120){k=15;C=168;break b}}else if((q&255)>50|g>>>0>51){k=15;C=168;break b}k=l&255;if(g>>>0>k>>>0)do{a[i+6842+(r*120|0)+k>>0]=a[p>>0]|0;l=l+1<<24>>24;k=l&255}while(g>>>0>k>>>0);l=g&255;q=q+1<<24>>24;k=a[i>>0]|0;if((k&255)<=(l&255))break;else o=g&255}a[i+7802+r>>0]=q;if(k<<24>>24!=l<<24>>24){k=32;C=168;break}k=a[G>>0]|0}g=t+1<<24>>24;if((g&255)<(k&255)){t=g;r=g&255}else{l=k;break a}}if((C|0)==168)return k|0}else l=0;while(0);u=f+7|0;c:do if(!(a[u>>0]|0)){k=a[B>>0]|0;if(l<<24>>24){t=h+4|0;p=0;m=k&255;g=1;s=0;n=(k&255)+65446&65535;k=a[i>>0]|0;r=0;d:while(1){if(!(k<<24>>24))k=0;else{q=0;o=0;while(1){switch(a[i+6842+(r*120|0)+o>>0]|0){case 0:{k=0;break}case 14:case 15:{k=(p&65535)+65476+((Ek(h)|0)<<24>>24)&65535;p=k;break}case 13:{if(!(g<<24>>24))k=((Ek(h)|0)<<24>>24)+65476|0;else{l=c[F>>2]|0;if(l>>>0<9){k=9-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[t>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>23;do if(!(a[D>>0]|0))if(l>>>0>9){c[F>>2]=l+-9;break}else{Di(h,9);break}while(0);k=(k<<16>>16)+-256|0}k=k+(n&65535)&65535;n=k;g=0;break}default:{b[i+7812+(r*102|0)+(o<<1)>>1]=0;C=(m&65535)+65476+((Ek(h)|0)<<24>>24)|0;k=C&65535;if(C<<16>>>0>16711680){k=4;break d}else m=k}}b[i+7812+(r*102|0)+(o<<1)>>1]=k;l=q+1<<24>>24;k=a[i>>0]|0;if((l&255)<(k&255)){q=l;o=l&255}else break}l=a[G>>0]|0}o=s+1<<24>>24;if((o&255)<(l&255)){s=o;r=o&255}else break c}return k|0}}else{k=Fk(i,h)|0;if(k<<24>>24){j=k;return j|0}}while(0);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Di(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;x=i+9039|0;a[x>>0]=C;if(C<<24>>24){k=c[F>>2]|0;if(k>>>0<2){l=2-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>30;do if(!(a[D>>0]|0))if(k>>>0>2){k=k+-2|0;c[F>>2]=k;break}else{Di(h,2);k=c[F>>2]|0;break}while(0);o=i+9043|0;a[o>>0]=l;if(k>>>0<6){l=6-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>26;do if(!(a[D>>0]|0))if(k>>>0>6){c[F>>2]=k+-6;break}else{Di(h,6);break}while(0);a[i+9044>>0]=l;if((l&255)>>>0>(d[i+1>>0]|0)>>>0){j=16;return j|0}n=h+4|0;m=0;g=0;while(1){l=c[F>>2]|0;if(l>>>0<5){k=5-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>27;do if(!(a[D>>0]|0))if(l>>>0>5){c[F>>2]=l+-5;break}else{Di(h,5);break}while(0);a[i+9045+g>>0]=k;l=c[F>>2]|0;if(l>>>0<4){k=4-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>28;do if(!(a[D>>0]|0))if(l>>>0>4){c[F>>2]=l+-4;break}else{Di(h,4);break}while(0);a[i+9049+g>>0]=k;k=m+1<<24>>24;if((d[o>>0]|0)<(k&255))break;else{m=k;g=k&255}}}k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Di(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;n=i+9040|0;a[n>>0]=C;if(C<<24>>24?(d[f+4>>0]|0)<17:0)Gk(i,i+9053|0,h);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Di(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;a[i+9041>>0]=C;if(C<<24>>24){j=1;return j|0}m=f+8|0;if(a[m>>0]|0){k=c[F>>2]|0;if(k>>>0<14){l=14-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>18;do if(!(a[D>>0]|0))if(k>>>0>14){c[F>>2]=k+-14;break}else{Di(h,14);break}while(0);g=i+10440|0;b[g>>1]=l;k=l&65535;if((a[f+5>>0]|0)==2){if(k>>>0>6144)b[g>>1]=6144}else if(k>>>0>12288)b[g>>1]=12288;l=c[F>>2]|0;if(l>>>0<6){k=6-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[h+4>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>26;do if(!(a[D>>0]|0))if(l>>>0>6){c[F>>2]=l+-6;break}else{Di(h,6);break}while(0);a[i+10442>>0]=(k&255)>>>0>48?49:k&255}if(a[u>>0]|0?(E=Hk(i,h)|0,E<<24>>24):0){j=E;return j|0}if((d[f+4>>0]|0)>16?a[n>>0]|0:0)Gk(i,i+9053|0,h);e:do if(!(a[m>>0]|0)){k=a[G>>0]|0;if(k<<24>>24){u=(e[f+10>>1]|0)>>>3&65535;t=0;g=0;v=0;f:while(1){s=g&255;r=i+7802+v|0;l=a[r>>0]|0;if(l<<24>>24){q=0;k=(w(s,u)|0)&65535;g=0;do{p=a[i+2042+(v*120|0)+g>>0]|0;g:do switch(p<<24>>24){case 14:case 15:case 13:case 0:{k=(e[i+16+(v*240|0)+(e[i+4922+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)+(k&65535)-(e[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)&65535;break}default:{m=b[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0;o=i+4922+(v*240|0)+(g<<1)|0;if((m&65535)>=(e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0))break g;n=(p&255)>4?2:4;g=m&65535;while(1){l=k&65535;k=Jk(p,h,j+(l<<1)|0)|0;if(k<<24>>24)break f;k=n+l&65535;l=g+n|0;if((e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0)<=(l&65535))break;else g=l&65535}l=a[r>>0]|0}}while(0);q=q+1<<24>>24;g=q<<24>>24}while((g|0)<(l&255|0));k=a[G>>0]|0}l=t+1<<24>>24;if((l&255)<(k&255)){t=l;g=s+(d[i+5+v>>0]|0)|0;v=l&255}else break e}return k|0}}else{k=Ik(f,i,h,j)|0;if(k<<24>>24){j=k;return j|0}}while(0);if(a[x>>0]|0){if((a[H>>0]|0)==2){j=2;return j|0}k=Kk(i,j,b[f+10>>1]|0)|0;if(k<<24>>24){j=k;return j|0}}j=0;return j|0}function $j(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=Zb;Zb=Zb+8192|0;r=u+4096|0;s=u;t=f+25|0;if(!(a[(d[t>>0]|0)+(f+74)>>0]|0)){n=b[i+2>>1]|0;m=f+4|0;o=d[i>>0]|0;if((a[m>>0]|0)==1){l=f+1136+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Gi((e[q>>1]|0)*12|0)|0;c[l>>2]=p;ak(p,b[q>>1]|0)}l=f+1136+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Gi((e[q>>1]|0)*12|0)|0;c[l>>2]=p;ak(p,b[q>>1]|0)}}if((bk(a[m>>0]|0)|0)<<24>>24){l=f+1392+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Gi(e[q>>1]<<3)|0;c[l>>2]=p;Fn(p|0,0,e[q>>1]<<3|0)|0}l=f+1392+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Gi(e[q>>1]<<3)|0;c[l>>2]=p;Fn(p|0,0,e[q>>1]<<3|0)|0}}m=f+328+(o<<2)|0;if(!(c[m>>2]|0)){l=(d[t>>0]|0)+(f+843)|0;a[l>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=1;else{a[l>>0]=1;l=2}q=f+10|0;p=l<<2;v=Gi(w(p,e[q>>1]|0)|0)|0;c[m>>2]=v;Fn(v|0,0,w(p,e[q>>1]|0)|0)|0}else l=1;n=n&255;m=f+328+(n<<2)|0;if(!(c[m>>2]|0)){v=f+10|0;q=l<<2;p=Gi(w(q,e[v>>1]|0)|0)|0;c[m>>2]=p;Fn(p|0,0,w(q,e[v>>1]|0)|0)|0}l=f+584+(o<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=Gi(e[v>>1]<<2)|0;c[l>>2]=q;Fn(q|0,0,e[v>>1]<<2|0)|0}l=f+584+(n<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=Gi(e[v>>1]<<2)|0;c[l>>2]=q;Fn(q|0,0,e[v>>1]<<2|0)|0}a[(d[t>>0]|0)+(f+74)>>0]=1}q=f+10|0;l=ck(g,j,r)|0;if(l<<24>>24){v=l;Zb=u;return v|0}l=ck(h,k,s)|0;if(l<<24>>24){v=l;Zb=u;return v|0}l=b[q>>1]|0;k=f+4|0;m=a[k>>0]|0;n=f+1648|0;o=f+1652|0;if(!(a[g+8628>>0]|0)){dk(g,0,r,0,l,0,m,n,o);dk(h,0,s,0,b[q>>1]|0,0,a[k>>0]|0,n,o)}else dk(g,h,r,s,l,1,m,n,o);ek(g,h,r,s,b[q>>1]|0);fk(g,h,r,s,b[q>>1]|0);l=a[k>>0]|0;if(l<<24>>24==1){v=f+3|0;gk(g,r,c[f+1136+(d[i>>0]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);l=i+2|0;gk(h,s,c[f+1136+(b[l>>1]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);hk(g,c[f+1136+(d[i>>0]<<2)>>2]|0);hk(h,c[f+1136+(b[l>>1]<<2)>>2]|0);l=a[k>>0]|0}if(!((bk(l)|0)<<24>>24))p=f+3|0;else{o=g+10276|0;j=a[i+5>>0]|0?h+10358|0:h+10276|0;l=a[k>>0]|0;if(l<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[i>>0]<<1)>>1]=b[g+10278>>1]|0;m=a[i>>0]|0;b[g+10278>>1]=b[f+192+((m&255)<<1)>>1]|0;if((a[j+1>>0]|0)!=0?(a[j+4>>0]|0)!=0:0){b[f+192+(b[i+2>>1]<<1)>>1]=b[j+2>>1]|0;l=a[k>>0]|0}else l=23;n=i+2|0;b[j+2>>1]=b[f+192+(b[n>>1]<<1)>>1]|0}else{n=i+2|0;m=a[i>>0]|0}v=m&255;m=f+320|0;p=f+3|0;ik(g,o,r,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[g+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,l,b[q>>1]|0);v=b[n>>1]|0;ik(h,j,s,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[h+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,a[k>>0]|0,b[q>>1]|0)}jk(g,g+9053|0,a[p>>0]|0,a[k>>0]|0,r,b[q>>1]|0);jk(h,h+9053|0,a[p>>0]|0,a[k>>0]|0,s,b[q>>1]|0);l=f+324|0;m=c[l>>2]|0;do if(!(a[m>>0]|0))m=i+2|0;else{if(!((a[(d[i>>0]|0)+(m+56)>>0]|0)!=0?(a[m+3>>0]|0)!=0:0)){kk(m,r);m=c[l>>2]|0}l=i+2|0;if(a[(b[l>>1]|0)+(m+56)>>0]|0?a[m+3>>0]|0:0){m=l;break}kk(m,s);m=l}while(0);o=f+320|0;j=g+13|0;v=d[i>>0]|0;lk(c[o>>2]|0,a[g+4>>0]|0,a[j>>0]|0,a[f+128+v>>0]|0,r,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);v=h+13|0;r=b[m>>1]|0;lk(c[o>>2]|0,a[h+4>>0]|0,a[v>>0]|0,a[f+128+r>>0]|0,s,c[f+328+(r<<2)>>2]|0,c[f+584+(r<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);a[(d[i>>0]|0)+(f+128)>>0]=a[j>>0]|0;a[(b[m>>1]|0)+(f+128)>>0]=a[v>>0]|0;if((bk(a[k>>0]|0)|0)<<24>>24){v=d[i>>0]|0;mk(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0);v=b[m>>1]|0;mk(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0)}l=(a[f+840>>0]|0)==1;if(!l?(a[f+841>>0]|0)!=1:0)k=61;else k=55;do if((k|0)==55){n=d[t>>0]|0;if(!(a[f+843+n>>0]|0))if(l){k=62;break}else{k=61;break}j=d[i>>0]|0;o=b[m>>1]|0;m=f+892+(n<<2)|0;l=c[m>>2]|0;if(!l){r=b[q>>1]|0;s=a[f+2128+n>>0]|0;l=(Ui(a[p>>0]|0)|0)<<1;v=f+842|0;l=Aj(r,s,l,a[v>>0]|0)|0;c[m>>2]=l;m=v}else m=f+842|0;s=a[i+6>>0]|0;s=b[i+1942+(((s&255)>1?(s&255)+-1|0:0)<<1)>>1]|0;v=b[i+2046>>1]|0;v=((s&65535)<(v&65535)?s:v)&65535;c[l+4>>2]=(a[i+10>>0]|0)==2?v<<3:v;l=nk(l,c[f+328+(j<<2)>>2]|0,c[f+328+(o<<2)>>2]|0,a[f+12>>0]|0,a[m>>0]|0)|0;if(l<<24>>24){v=l;Zb=u;return v|0}}while(0);if((k|0)==61?(a[f+841>>0]|0)==1:0)k=62;if((k|0)==62?(a[(d[t>>0]|0)+(f+843)>>0]|0)==0:0){v=23;Zb=u;return v|0}v=0;Zb=u;return v|0}function ak(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;if(!(c<<16>>16))return;d=c&65535;c=0;do{e=a+(c*12|0)|0;f=e;b[f>>1]=0;b[f+2>>1]=0>>>16;e=e+4|0;b[e>>1]=0;b[e+2>>1]=0>>>16;b[a+(c*12|0)+8>>1]=16256;b[a+(c*12|0)+10>>1]=16256;c=c+1|0}while((c|0)!=(d|0));return}function bk(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 4:{a=1;break}default:a=0}return a|0}function ck(c,d,g){c=c|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=a[c+2>>0]|0;if(!(C<<24>>24)){D=0;return D|0}B=a[c+1>>0]|0;D=c+1936+((B&255)<<1)|0;j=0;l=0;h=0;A=0;z=0;i=B;while(1){if(!(i<<24>>24)){m=0;j=j&65535;i=0}else{j=j&65535;x=c+5+z|0;y=e[D>>1]|0;k=a[x>>0]|0;m=0;q=0;w=0;p=k;i=0;while(1){o=(e[c+1936+(i+1<<1)>>1]|0)-(e[c+1936+(i<<1)>>1]|0)|0;s=b[c+7812+(z*102|0)+(i<<1)>>1]|0;t=s<<16>>16;s=(s&65535)>255;v=q&65535;u=+f[94696+((s?0:t>>2)<<2)>>2]*+f[94952+((s?0:t&3)<<2)>>2];if(!(k<<24>>24)){i=o&65535;k=0}else{i=o&65535;t=(i|0)==0;s=0;r=q+j|0;while(1){if(t)k=p;else{k=0;q=0;do{o=k+r|0;p=l&65535;k=b[d+(p<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[94968+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[94968+(l<<2)>>2];else{n=0.0;h=17}o=o&65535;f[g+(o<<2)>>2]=u*n;k=b[d+(p+1<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[94968+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[94968+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+1<<2)>>2]=u*n;k=b[d+(p+2<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[94968+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[94968+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+2<<2)>>2]=u*n;k=b[d+(p+3<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[94968+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[94968+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+3<<2)>>2]=u*n;m=(m&65535)+4&65535;l=p+4&65535;k=q+4|0;q=k&65535}while(q>>>0<i>>>0);k=a[x>>0]|0}s=s+1<<24>>24;if((s&255)>=(k&255)){p=k;break}else{r=(r&65535)+y|0;p=k}}}o=w+1<<24>>24;if((o&255)<(B&255)){q=i+v|0;w=o;i=o&255}else{i=B;break}}}k=A+1<<24>>24;if((k&255)<(C&255)){j=j+(m&65535)&65535;A=k;z=k&255}else break}return h|0}function dk(g,h,i,j,k,l,m,n,o){g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,s=0,t=0.0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0;J=g+2|0;if(!(a[J>>0]|0))return;I=g+2040|0;H=(k&65535)>>>3&65535;E=l<<24>>24==0;F=g+8628|0;G=h+2040|0;D=0;m=0;C=0;while(1){B=g+5+C|0;k=a[B>>0]|0;if(k<<24>>24){A=0;l=a[g>>0]|0;do{if(!(l<<24>>24))l=0;else{z=w(m&255,H)|0;y=0;x=0;while(1){if((a[g+6842+(C*120|0)+x>>0]|0)==13){a[g+10282+x>>0]=0;a[g+10364+x>>0]=0;a[g+10224+x>>0]=0;u=b[g+1936+(x+1<<1)>>1]|0;s=b[I>>1]|0;v=e[g+1936+(x<<1)>>1]|0;s=(((u&65535)<(s&65535)?u:s)&65535)-v|0;u=s&65535;v=i+(z+v<<2)|0;p=b[g+7812+(C*102|0)+(x<<1)>>1]|0;t=1.0/+(u&65535);u=u<<16>>16==0;if(u)q=0.0;else{l=s&65535;q=0.0;k=0;do{L=t*+(Yi(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+r(+q);q=q*+Ua(+(+(p<<16>>16)*.25));if(!u){l=s&65535;k=0;do{u=v+(k<<2)|0;f[u>>2]=q*+f[u>>2];k=k+1|0}while((k|0)!=(l|0))}}a:do if(!E?(a[h+6842+(C*120|0)+x>>0]|0)==13:0){switch(a[F>>0]|0){case 1:{if(a[g+8629+(C*51|0)+x>>0]|0)K=18;break}case 2:{K=18;break}default:{}}if((K|0)==18){K=0;v=b[h+1936+(x+1<<1)>>1]|0;s=b[G>>1]|0;k=e[h+1936+(x<<1)>>1]|0;s=(((v&65535)<(s&65535)?v:s)&65535)-k&65535;if(!s)break;l=z+k|0;k=0;p=0;while(1){x=l+p|0;c[j+(x<<2)>>2]=c[i+(x<<2)>>2];k=k+1<<16>>16;p=k&65535;if(s>>>0<=p>>>0)break a}}a[h+10282+x>>0]=0;a[h+10364+x>>0]=0;a[h+10224+x>>0]=0;s=b[h+1936+(x+1<<1)>>1]|0;u=b[G>>1]|0;v=e[h+1936+(x<<1)>>1]|0;u=(((s&65535)<(u&65535)?s:u)&65535)-v|0;s=u&65535;v=j+(z+v<<2)|0;p=b[h+7812+(C*102|0)+(x<<1)>>1]|0;t=1.0/+(s&65535);s=s<<16>>16==0;if(s)q=0.0;else{l=u&65535;q=0.0;k=0;do{L=t*+(Yi(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+r(+q);q=q*+Ua(+(+(p<<16>>16)*.25));if(!s){l=u&65535;k=0;do{x=v+(k<<2)|0;f[x>>2]=q*+f[x>>2];k=k+1|0}while((k|0)!=(l|0))}}while(0);k=y+1<<24>>24;l=a[g>>0]|0;if((k&255)<(l&255)){y=k;x=k&255}else break}k=a[B>>0]|0}m=m+1<<24>>24;A=A+1<<24>>24}while((A&255)<(k&255))}k=D+1<<24>>24;if((k&255)<(d[J>>0]|0)){D=k;C=k&255}else break}return}function ek(c,d,e,g,h){c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0.0,B=0.0;i=a[c+8628>>0]|0;if(!(i<<24>>24))return;v=a[c+2>>0]|0;if(!(v<<24>>24))return;s=c+2040|0;r=(h&65535)>>>3&65535;j=0;q=0;p=0;while(1){o=c+5+p|0;h=a[o>>0]|0;if(h<<24>>24){n=a[c>>0]|0;m=0;k=n;do{if(!(k<<24>>24))k=0;else{l=w(j&255,r)|0;k=0;h=0;while(1){if(!(a[c+8629+(p*51|0)+h>>0]|0)){if(i<<24>>24==2){i=2;x=10}}else x=10;if((x|0)==10){x=0;if(((a[d+6842+(p*120|0)+h>>0]|1)<<24>>24!=15?(a[c+6842+(p*120|0)+h>>0]|0)!=13:0)?(t=b[c+1936+(h<<1)>>1]|0,u=c+1936+(h+1<<1)|0,y=b[u>>1]|0,h=b[s>>1]|0,(t&65535)<(((y&65535)<(h&65535)?y:h)&65535)):0){h=t;do{z=l+(h&65535)&65535;y=e+(z<<2)|0;B=+f[y>>2];z=g+(z<<2)|0;A=+f[z>>2];f[y>>2]=B+A;f[z>>2]=B-A;h=h+1<<16>>16;z=b[u>>1]|0;y=b[s>>1]|0}while((h&65535)<(((z&65535)<(y&65535)?z:y)&65535))}}h=k+1<<24>>24;if((h&255)<(n&255)){k=h;h=h&255}else break}h=a[o>>0]|0;k=n}j=j+1<<24>>24;m=m+1<<24>>24}while((m&255)<(h&255))}h=q+1<<24>>24;if((h&255)<(v&255)){q=h;p=h&255}else break}return} |
| | | function fk(c,e,g,h,i){c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0;E=e+2|0;j=a[E>>0]|0;if(!(j<<24>>24))return;F=c+2040|0;A=(i&65535)>>>3&65535;z=c+8628|0;y=0;i=0;x=0;while(1){v=e+5+x|0;l=a[v>>0]|0;if(l<<24>>24){u=0;k=a[e>>0]|0;j=l;do{if(!(k<<24>>24))k=0;else{t=w(i&255,A)|0;r=0;j=0;while(1){q=e+6842+(x*120|0)+j|0;if((a[q>>0]|1)<<24>>24==15?(a[c+10224+j>>0]=0,a[e+10224+j>>0]=0,B=+s(.5,+(+(b[e+7812+(x*102|0)+(j<<1)>>1]|0)*.25)),C=b[e+1936+(j<<1)>>1]|0,D=e+1936+(j+1<<1)|0,o=b[D>>1]|0,p=b[F>>1]|0,(C&65535)<(((o&65535)<(p&65535)?o:p)&65535)):0){l=c+8629+(x*51|0)+j|0;m=(a[z>>0]|0)==1;k=C;do{o=t+(k&65535)|0;n=+f[g+(o<<2)>>2]*B;o=h+(o<<2)|0;f[o>>2]=n;p=a[q>>0]|0;if(m)j=1-(d[l>>0]<<1)&255;else j=1;if((p<<24>>24==15?1:(p<<24>>24==14)<<31>>31)<<24>>24!=j<<24>>24)f[o>>2]=-n;k=k+1<<16>>16;o=b[D>>1]|0;p=b[F>>1]|0}while((k&65535)<(((o&65535)<(p&65535)?o:p)&65535))}j=r+1<<24>>24;k=a[e>>0]|0;if((j&255)<(k&255)){r=j;j=j&255}else break}j=a[v>>0]|0}i=i+1<<24>>24;u=u+1<<24>>24}while((u&255)<(j&255));j=a[E>>0]|0}k=y+1<<24>>24;if((k&255)<(j&255)){y=k;x=k&255}else break}return}function gk(g,i,j,k,l){g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;if((a[g+4>>0]|0)==2){if(!(k<<16>>16))return;n=k&65535;m=0;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+1|0}while((m|0)!=(n|0));return}if(!((Vi(l)|0)<<24>>24))m=g+9042|0;else{M=g+2040|0;m=g+9042|0;L=0;n=0;while(1){p=b[g+1936+(n<<1)>>1]|0;K=b[g+1936+(n+1<<1)>>1]|0;o=b[M>>1]|0;o=(K&65535)<(o&65535)?K:o;if((p&65535)<(o&65535)){K=g+10224+n|0;I=o&65535;J=(a[m>>0]|0)==0;H=p&65535;do{t=i+(H<<2)|0;q=+f[t>>2];if(J)o=0;else o=(a[K>>0]|0)!=0;v=j+(H*12|0)|0;w=(c[h>>2]=e[v>>1]<<16,+f[h>>2]);x=j+(H*12|0)+2|0;y=(c[h>>2]=e[x>>1]<<16,+f[h>>2]);z=j+(H*12|0)+4|0;A=(c[h>>2]=e[z>>1]<<16,+f[h>>2]);B=j+(H*12|0)+6|0;C=(c[h>>2]=e[B>>1]<<16,+f[h>>2]);D=j+(H*12|0)+8|0;n=b[D>>1]|0;E=(c[h>>2]=(n&65535)<<16,+f[h>>2]);F=j+(H*12|0)+10|0;p=b[F>>1]|0;G=(c[h>>2]=(p&65535)<<16,+f[h>>2]);if((n&65535)>16383)u=+f[93672+((((n&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*A*+f[94184+((n&127)<<2)>>2];else u=0.0;if(o){if((p&65535)>16383)s=+f[93672+((((p&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*C*+f[94184+((p&127)<<2)>>2];else s=0.0;r=u*w;o=(f[h>>2]=r+s*y,c[h>>2]|0);n=o&-65536;if(o&32768){p=o&-8388608;s=(c[h>>2]=n,+f[h>>2]);s=s+(c[h>>2]=p|65536,+f[h>>2]);n=(f[h>>2]=s-(c[h>>2]=p,+f[h>>2]),c[h>>2]|0)}q=q+(c[h>>2]=n,+f[h>>2]);f[t>>2]=q}else r=u*w;s=q-r;b[v>>1]=(f[h>>2]=q*.953125,c[h>>2]|0)>>>16;b[x>>1]=(f[h>>2]=(w-u*q)*.953125,c[h>>2]|0)>>>16;b[z>>1]=(f[h>>2]=A*.90625+q*w,c[h>>2]|0)>>>16;b[B>>1]=(f[h>>2]=C*.90625+s*y,c[h>>2]|0)>>>16;b[D>>1]=(f[h>>2]=E*.90625+(w*w+q*q)*.5,c[h>>2]|0)>>>16;b[F>>1]=(f[h>>2]=G*.90625+(y*y+s*s)*.5,c[h>>2]|0)>>>16;H=H+1|0}while(H>>>0<I>>>0)}n=L+1<<24>>24;if((n&255)<((Vi(l)|0)&255)){L=n;n=n&255}else break}}if(!(a[m>>0]|0))return;if(!(a[g+10222>>0]|0))return;m=(d[g+10223>>0]|0)+65535&65535;n=k&65535;if(m>>>0>=n>>>0)return;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+30&65535}while(m>>>0<n>>>0);return}function hk(c,d){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,o=0,p=0,q=0;if((a[c+4>>0]|0)==2)return;o=c+2|0;e=a[o>>0]|0;if(!(e<<24>>24))return;p=c+2040|0;l=0;k=0;while(1){j=c+5+k|0;f=a[j>>0]|0;if(!(f<<24>>24))f=e;else{g=a[c>>0]|0;i=0;e=g;while(1){if(!(e<<24>>24)){h=g;e=0}else{h=0;f=0;e=g;while(1){if((a[c+6842+(k*120|0)+f>>0]|0)==13?(m=b[c+1936+(f<<1)>>1]|0,g=b[c+1936+(f+1<<1)>>1]|0,n=b[p>>1]|0,n=(g&65535)<(n&65535)?g:n,(m&65535)<(n&65535)):0){e=n&65535;f=m&65535;do{g=d+(f*12|0)|0;q=g;b[q>>1]=0;b[q+2>>1]=0>>>16;g=g+4|0;b[g>>1]=0;b[g+2>>1]=0>>>16;b[d+(f*12|0)+8>>1]=16256;b[d+(f*12|0)+10>>1]=16256;f=f+1|0}while(f>>>0<e>>>0);g=a[c>>0]|0}else g=e;e=h+1<<24>>24;if((e&255)<(g&255)){h=e;f=e&255;e=g}else break}f=a[j>>0]|0;h=g;e=g}i=i+1<<24>>24;if((i&255)>=(f&255))break;else g=h}f=a[o>>0]|0}e=l+1<<24>>24;if((e&255)<(f&255)){l=e;k=e&255;e=f}else break}return}function ik(c,g,h,i,j,k,l,m,n,o){c=c|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0;z=Zb;Zb=Zb+16384|0;q=z+8192|0;w=z;r=a[c+4>>0]|0;if(r<<24>>24==2){Zb=z;return}if(!(a[g+1>>0]|0)){Zb=z;return}s=(o&65535)<<1&65534;if(s|0){t=e[g+2>>1]|0;u=+f[93640+(d[g+5>>0]<<2)>>2];p=0;v=0;do{f[q+(v<<2)>>2]=u*+(b[i+(v+s-t<<1)>>1]|0);p=p+1<<16>>16;v=p&65535}while(s>>>0>v>>>0)}Bk(j,r,k,l,q,w,n,o);Ck(c,c+9053|0,m,n,w,o);s=a[g>>0]|0;if(!(s<<24>>24)){Zb=z;return}t=c+2040|0;r=0;p=0;while(1){if(a[g+6+p>>0]|0?(x=b[c+1936+(p<<1)>>1]|0,o=b[c+1936+(p+1<<1)>>1]|0,y=b[t>>1]|0,y=(o&65535)<(y&65535)?o:y,(x&65535)<(y&65535)):0){p=y&65535;q=x&65535;do{o=h+(q<<2)|0;f[o>>2]=+f[w+(q<<2)>>2]+ +f[o>>2];q=q+1|0}while(q>>>0<p>>>0)}p=r+1<<24>>24;if((p&255)<(s&255)){r=p;p=p&255}else break}Zb=z;return}function jk(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=Zb;Zb=Zb+336|0;I=N+168|0;J=N+84|0;K=N;if(!(a[e+9040>>0]|0)){Zb=N;return}D=e+3|0;if(!(a[D>>0]|0)){Zb=N;return}F=e+1|0;L=K+4|0;M=J+4|0;G=e+4|0;H=e+2040|0;C=(k&65535)>>>3&65535;B=0;y=0;while(1){x=g+y|0;if(a[x>>0]|0){z=g+8+y|0;A=w(y,C)|0;u=0;v=d[F>>0]|0;r=0;while(1){k=v&65535;l=k-(d[g+16+(y<<2)+r>>0]|0)|0;v=(l|0)>0?l:0;l=a[g+48+(y<<2)+r>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[z>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(y<<2)+r>>0]|0)==0?(m?93512:93576):m?93384:93448;t=l&255;l=0;do{c[I+(l<<2)>>2]=c[m+(d[g+144+(y<<7)+(r<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(t|0));f[K>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=I+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[J+(p<<2)>>2]=+f[K+(p<<2)>>2]+n*+f[K+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));Dn(L|0,M|0,l|0)|0}c[K+(q<<2)>>2]=c[m>>2];if(q>>>0<t>>>0){o=o+1|0;q=q+1|0}else break}l=v&65535;if(l>>>0>=((Wi(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)l=(Wi(h,i,(a[G>>0]|0)==2&1)|0)&255;s=d[e>>0]|0;s=b[e+1936+(((l>>>0<s>>>0?l:s)&65535)<<1)>>1]|0;l=b[H>>1]|0;l=(s&65535)<(l&65535)?s:l;if(k>>>0>=((Wi(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)k=(Wi(h,i,(a[G>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[H>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;s=q&65535;if((q<<16|0)>=65536?(E=(a[g+80+(y<<2)+r>>0]|0)==0,Fn(I|0,0,160)|0,s<<16>>16):0){q=E?1:-1;r=t+255&255;p=0;k=j+(A+((E?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){m=l<<24>>24;n=+f[k>>2];o=0;do{O=o;o=o+1|0;n=n-+f[I+(O+m<<2)>>2]*+f[K+(o<<2)>>2]}while((o|0)!=(t|0));O=l+-1<<24>>24;l=O<<24>>24<0?r:O;O=l<<24>>24;f[I+(O+t<<2)>>2]=n;f[I+(O<<2)>>2]=n;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(s&65535))break;else k=k+(q<<2)|0}}}k=u+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{u=k;r=k&255}}}k=B+1<<24>>24;if((k&255)<(d[D>>0]|0)){B=k;y=k&255}else break}Zb=N;return}function kk(b,c){b=b|0;c=c|0;var e=0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a[b+1>>0]|0;switch(e<<24>>24){case 1:{a[b+4>>0]=-1;break}case 0:return;default:{}}l=b+188|0;m=b+21|0;n=b+184|0;k=e&255;i=0;h=0;e=0;do{j=(d[b+4+e>>0]<<2)+4|0;if(!(a[b+22+e>>0]|0))g=+f[l>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0);else g=-(+f[n>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0));g=+Ua(+(g/24.0));e=h&65535;if(j>>>0>e>>>0)do{o=c+(e<<2)|0;f[o>>2]=+f[o>>2]*g;h=h+1<<16>>16;e=h&65535}while(j>>>0>e>>>0);h=j&65535;i=i+1<<16>>16;e=i&65535}while(e>>>0<k>>>0);return}function lk(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Zb;Zb=Zb+8192|0;E=F;Fn(E|0,0,8192)|0;D=k&65535;o=(k&65535)>>>3;C=o&65535;s=(k&65535)>>>4;m=(D-C|0)/2|0;d=d&255;if(j<<24>>24==23){j=a+16+(d<<2)|0;e=a+16+((e&255)<<2)|0;B=0;t=0}else{t=e&255;j=a+(d<<2)|0;e=a+(t<<2)|0;B=c[a+8+(d<<2)>>2]|0;t=c[a+8+(t<<2)>>2]|0}n=c[j>>2]|0;e=c[e>>2]|0;switch(b<<24>>24){case 0:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=8;break}case 960:case 1024:{d=a+28|0;l=8;break}default:d=0}if((l|0)==8)d=c[d>>2]|0;Ak(d,g,E);d=k<<16>>16==0;if(d){Zb=F;return}else j=0;do{f[h+(j<<2)>>2]=+f[i+(j<<2)>>2]+ +f[E+(j<<2)>>2]*+f[e+(j<<2)>>2];C=j+1|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+2|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+3|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];j=(j<<16)+262144>>16}while((j|0)<(D|0));if(d){Zb=F;return}e=D+-1|0;a=D+-2|0;b=D+-3|0;l=D+-4|0;j=0;d=0;while(1){C=d+D|0;f[i+(d<<2)>>2]=+f[E+(C<<2)>>2]*+f[n+(e+j<<2)>>2];f[i+(d+1<<2)>>2]=+f[E+(C+1<<2)>>2]*+f[n+(a+j<<2)>>2];f[i+(d+2<<2)>>2]=+f[E+(C+2<<2)>>2]*+f[n+(b+j<<2)>>2];f[i+(d+3<<2)>>2]=+f[E+(C+3<<2)>>2]*+f[n+(l+j<<2)>>2];d=(d<<16)+262144>>16;if((d|0)<(D|0))j=0-d|0;else break}Zb=F;return}case 1:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=17;break}case 960:case 1024:{d=a+28|0;l=17;break}default:d=0}if((l|0)==17)d=c[d>>2]|0;Ak(d,g,E);if(k<<16>>16){d=0;do{f[h+(d<<2)>>2]=+f[i+(d<<2)>>2]+ +f[E+(d<<2)>>2]*+f[e+(d<<2)>>2];A=d+1|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+2|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+3|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];d=(d<<16)+262144>>16}while((d|0)<(D|0))}l=m&65535;b=(l|0)==0;if(!b){d=0;j=0;do{c[i+(j<<2)>>2]=c[E+(j+D<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((l|0)>(j|0))}if(o<<16>>16){j=l+D|0;e=C+-1|0;d=0;a=0;do{f[i+(a+l<<2)>>2]=+f[E+(j+a<<2)>>2]*+f[B+(e-a<<2)>>2];d=d+1<<16>>16;a=d<<16>>16}while((C|0)>(a|0))}if(b){Zb=F;return}j=l+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0));Zb=F;return}case 2:{A=a+24|0;p=o<<1&65535;Ak(c[A>>2]|0,g,E);Ak(c[A>>2]|0,g+(C<<2)|0,E+(p<<2)|0);w=o<<2&65535;Ak(c[A>>2]|0,g+(p<<2)|0,E+(w<<2)|0);q=C*3|0;Ak(c[A>>2]|0,g+(q<<2)|0,E+(p*3<<2)|0);y=k&-8&65535;Ak(c[A>>2]|0,g+(w<<2)|0,E+(y<<2)|0);r=C*5|0;Ak(c[A>>2]|0,g+(r<<2)|0,E+(p*5<<2)|0);v=C*6|0;Ak(c[A>>2]|0,g+(v<<2)|0,E+(p*6<<2)|0);z=C*7|0;Ak(c[A>>2]|0,g+(z<<2)|0,E+(p*7<<2)|0);A=m&65535;x=(A|0)==0;if(!x){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((A|0)>(j|0))}j=o<<16>>16==0;if(!j){e=A+C|0;a=C+-1|0;b=A+p|0;l=A+q|0;m=s&65535;g=A+w|0;d=0;k=0;do{u=k+A|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k<<2)>>2]*+f[t+(k<<2)>>2];u=e+k|0;n=B+(a-k<<2)|0;o=B+(k<<2)|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+C<<2)>>2]*+f[n>>2]+ +f[E+(k+p<<2)>>2]*+f[o>>2];u=b+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+q<<2)>>2]*+f[n>>2]+ +f[E+(k+w<<2)>>2]*+f[o>>2];u=l+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+r<<2)>>2]*+f[n>>2]+ +f[E+(k+v<<2)>>2]*+f[o>>2];if((k|0)<(m|0)){u=g+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+z<<2)>>2]*+f[n>>2]+ +f[E+(k+y<<2)>>2]*+f[o>>2]}d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(C|0));if(!j){s=s&65535;t=C*9|0;h=C+-1|0;u=C*10|0;p=r-D+A|0;q=C*11|0;r=C*12|0;l=v-D+A|0;m=C*13|0;g=C*14|0;k=z-D+A|0;n=C*15|0;o=y-D+A|0;b=w-D+A|0;a=0;j=0;d=0;while(1){if((d|0)<(s|0)){j=B+(h+j<<2)|0;e=B+(d<<2)|0}else{j=B+(h+j<<2)|0;e=B+(d<<2)|0;f[i+(b+d<<2)>>2]=+f[E+(d+z<<2)>>2]*+f[j>>2]+ +f[E+(d+y<<2)>>2]*+f[e>>2]}f[i+(p+d<<2)>>2]=+f[E+(d+t<<2)>>2]*+f[j>>2]+ +f[E+(d+u<<2)>>2]*+f[e>>2];f[i+(l+d<<2)>>2]=+f[E+(d+q<<2)>>2]*+f[j>>2]+ +f[E+(d+r<<2)>>2]*+f[e>>2];f[i+(k+d<<2)>>2]=+f[E+(d+m<<2)>>2]*+f[j>>2]+ +f[E+(d+g<<2)>>2]*+f[e>>2];f[i+(o+d<<2)>>2]=+f[E+(d+n<<2)>>2]*+f[j>>2];a=a+1<<16>>16;d=a<<16>>16;if((d|0)>=(C|0))break;else j=0-d|0}}}if(x){Zb=F;return}j=A+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((A|0)>(e|0));Zb=F;return}case 3:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=47;break}case 960:case 1024:{d=a+28|0;l=47;break}default:d=0}if((l|0)==47)d=c[d>>2]|0;Ak(d,g,E);a=m&65535;e=(a|0)==0;if(!e){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((a|0)>(j|0))}if(o<<16>>16){d=0;j=0;do{B=j+a|0;f[h+(B<<2)>>2]=+f[i+(B<<2)>>2]+ +f[E+(B<<2)>>2]*+f[t+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((j|0)<(C|0))}if(!e){j=a+C|0;d=0;e=0;do{C=j+e|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((a|0)>(e|0))}if(!(k<<16>>16)){Zb=F;return}j=D+-1|0;d=0;e=0;do{f[i+(e<<2)>>2]=+f[E+(e+D<<2)>>2]*+f[n+(j-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(D|0));Zb=F;return}default:{Zb=F;return}}}function mk(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0,m=0;l=e&65535;e=e<<16>>16!=0;if(g<<24>>24==23){if(!e)return;j=l<<1;i=l*3|0;k=0;do{e=a+(k+l<<1)|0;b[a+(k<<1)>>1]=b[e>>1]|0;g=a+(k+j<<1)|0;b[e>>1]=b[g>>1]|0;h=+f[c+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=9;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=9;else e=32767}if((m|0)==9){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=13;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=13;else e=32767}if((m|0)==13){m=0;e=~~h&65535}b[a+(k+i<<1)>>1]=e;k=k+1|0}while((k|0)!=(l|0));return}else{if(!e)return;i=l<<1;j=0;do{g=a+(j+l<<1)|0;b[a+(j<<1)>>1]=b[g>>1]|0;h=+f[c+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=18;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=18;else e=32767}if((m|0)==18){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=22;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=22;else e=32767}if((m|0)==22){m=0;e=~~h&65535}b[a+(j+i<<1)>>1]=e;j=j+1|0}while((j|0)!=(l|0));return}}function nk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=Zb;Zb=Zb+16384|0;l=m;if(!b){b=20;Zb=m;return b|0}if((a[b+12436>>0]|0)!=1){b=21;Zb=m;return b|0}j=b+10|0;if(a[j>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;k=b+9|0;a[k>>0]=g<<24>>24!=0&1;g=(ok(b,e,l,0,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;h=h<<24>>24!=0;g=c[b+12448>>2]|0;if(h)pk(b,g,l,e);else qk(b,g,l,e);g=(ok(b,f,l,1,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;g=c[b+12452>>2]|0;if(h)pk(b,g,l,f);else qk(b,g,l,f);if(a[b+53426>>0]|0)a[k>>0]=0;if(c[b+12432>>2]|0?(a[j>>0]|0)==0:0){g=rk(b,0)|0;if(g<<24>>24){b=g;Zb=m;return b|0}g=rk(b,1)|0;if(g<<24>>24){b=g;Zb=m;return b|0}}f=b+53418|0;if(a[f>>0]|0){e=b+53416|0;h=0;g=0;while(1){En(b+12456+(g<<9)|0,b+12456+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=23;else j=25}else{g=0;j=23}if((j|0)==23){Fn(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;if(!(a[f>>0]|0)){g=0;j=27}else{e=b+53416|0;j=25}}if((j|0)==25){h=0;g=0;while(1){En(b+32936+(g<<9)|0,b+32936+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=27}if((j|0)==27)Fn(b+(((g&255)<<9)+32936)|0,0,((39-g&255)<<9)+512|0)|0;b=b+12428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;Zb=m;return b|0}function ok(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=b+12421|0;a[B>>0]=0;C=g&255;k=c[b+12440+(C<<2)>>2]|0;i=b+12456+(C*20480|0)|0;j=a[b+53418>>0]|0;if(!(h<<24>>24)){A=b+14|0;vk(b,k,e,i,j,a[A>>0]|0);wk(b,i,i,g);h=xk(b,i,g)|0;if(!((h|a[b+9>>0])<<24>>24)){t=b+53416|0;e=a[t>>0]|0;if(!(e<<24>>24)){C=h;return C|0}u=b+616+(C*6|0)|0;v=b+12420|0;w=b+12423|0;x=b+12422|0;y=b+15|0;z=b+53419|0;s=0;r=0;do{q=s<<16>>16;p=(r|0)<(d[u>>0]|0);l=a[(p?x:B)>>0]|0;m=a[(p?w:y)>>0]|0;p=a[(p?v:A)>>0]|0;o=p&255;n=o+(l&255)|0;if(n|0){j=r+(d[z>>0]|0)|0;i=0;g=0;do{c[f+(r<<9)+(g<<3)>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)>>2];c[f+(r<<9)+(g<<3)+4>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)+4>>2];i=i+1<<16>>16;g=i<<16>>16}while((n|0)>(g|0))}j=o+(m&255)|0;if(j>>>0>n>>>0){g=r+(d[z>>0]|0)|0;i=n&65535;k=n;do{c[f+(r<<9)+(k<<3)>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)>>2];c[f+(r<<9)+(k<<3)+4>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)+4>>2];i=i+1<<16>>16;k=i<<16>>16}while((j|0)>(k|0))}j=n>>>0>j>>>0?l:m;i=(j&255)+o|0;if((i&65535)<<16>>16<64){Fn(f+(q<<9)+(i<<3)|0,0,(63-(j&255)-(p&255)<<3&524280)+8|0)|0;e=a[t>>0]|0}s=s+1<<16>>16;r=s<<16>>16}while((r|0)<(e&255|0));return h|0}}else{vk(b,k,e,i,j,32);h=0}i=b+53416|0;if(!(a[i>>0]|0)){C=h;return C|0}j=b+53419|0;e=0;g=0;do{B=g+(d[j>>0]|0)|0;c[f+(g<<9)>>2]=c[b+12456+(C*20480|0)+(B<<9)>>2];c[f+(g<<9)+4>>2]=c[b+12456+(C*20480|0)+(B<<9)+4>>2];c[f+(g<<9)+8>>2]=c[b+12456+(C*20480|0)+(B<<9)+8>>2];c[f+(g<<9)+12>>2]=c[b+12456+(C*20480|0)+(B<<9)+12>>2];c[f+(g<<9)+16>>2]=c[b+12456+(C*20480|0)+(B<<9)+16>>2];c[f+(g<<9)+20>>2]=c[b+12456+(C*20480|0)+(B<<9)+20>>2];c[f+(g<<9)+24>>2]=c[b+12456+(C*20480|0)+(B<<9)+24>>2];c[f+(g<<9)+28>>2]=c[b+12456+(C*20480|0)+(B<<9)+28>>2];c[f+(g<<9)+32>>2]=c[b+12456+(C*20480|0)+(B<<9)+32>>2];c[f+(g<<9)+36>>2]=c[b+12456+(C*20480|0)+(B<<9)+36>>2];c[f+(g<<9)+40>>2]=c[b+12456+(C*20480|0)+(B<<9)+40>>2];c[f+(g<<9)+44>>2]=c[b+12456+(C*20480|0)+(B<<9)+44>>2];c[f+(g<<9)+48>>2]=c[b+12456+(C*20480|0)+(B<<9)+48>>2];c[f+(g<<9)+52>>2]=c[b+12456+(C*20480|0)+(B<<9)+52>>2];c[f+(g<<9)+56>>2]=c[b+12456+(C*20480|0)+(B<<9)+56>>2];c[f+(g<<9)+60>>2]=c[b+12456+(C*20480|0)+(B<<9)+60>>2];c[f+(g<<9)+64>>2]=c[b+12456+(C*20480|0)+(B<<9)+64>>2];c[f+(g<<9)+68>>2]=c[b+12456+(C*20480|0)+(B<<9)+68>>2];c[f+(g<<9)+72>>2]=c[b+12456+(C*20480|0)+(B<<9)+72>>2];c[f+(g<<9)+76>>2]=c[b+12456+(C*20480|0)+(B<<9)+76>>2];c[f+(g<<9)+80>>2]=c[b+12456+(C*20480|0)+(B<<9)+80>>2];c[f+(g<<9)+84>>2]=c[b+12456+(C*20480|0)+(B<<9)+84>>2];c[f+(g<<9)+88>>2]=c[b+12456+(C*20480|0)+(B<<9)+88>>2];c[f+(g<<9)+92>>2]=c[b+12456+(C*20480|0)+(B<<9)+92>>2];c[f+(g<<9)+96>>2]=c[b+12456+(C*20480|0)+(B<<9)+96>>2];c[f+(g<<9)+100>>2]=c[b+12456+(C*20480|0)+(B<<9)+100>>2];c[f+(g<<9)+104>>2]=c[b+12456+(C*20480|0)+(B<<9)+104>>2];c[f+(g<<9)+108>>2]=c[b+12456+(C*20480|0)+(B<<9)+108>>2];c[f+(g<<9)+112>>2]=c[b+12456+(C*20480|0)+(B<<9)+112>>2];c[f+(g<<9)+116>>2]=c[b+12456+(C*20480|0)+(B<<9)+116>>2];c[f+(g<<9)+120>>2]=c[b+12456+(C*20480|0)+(B<<9)+120>>2];c[f+(g<<9)+124>>2]=c[b+12456+(C*20480|0)+(B<<9)+124>>2];c[f+(g<<9)+128>>2]=c[b+12456+(C*20480|0)+(B<<9)+128>>2];c[f+(g<<9)+132>>2]=c[b+12456+(C*20480|0)+(B<<9)+132>>2];c[f+(g<<9)+136>>2]=c[b+12456+(C*20480|0)+(B<<9)+136>>2];c[f+(g<<9)+140>>2]=c[b+12456+(C*20480|0)+(B<<9)+140>>2];c[f+(g<<9)+144>>2]=c[b+12456+(C*20480|0)+(B<<9)+144>>2];c[f+(g<<9)+148>>2]=c[b+12456+(C*20480|0)+(B<<9)+148>>2];c[f+(g<<9)+152>>2]=c[b+12456+(C*20480|0)+(B<<9)+152>>2];c[f+(g<<9)+156>>2]=c[b+12456+(C*20480|0)+(B<<9)+156>>2];c[f+(g<<9)+160>>2]=c[b+12456+(C*20480|0)+(B<<9)+160>>2];c[f+(g<<9)+164>>2]=c[b+12456+(C*20480|0)+(B<<9)+164>>2];c[f+(g<<9)+168>>2]=c[b+12456+(C*20480|0)+(B<<9)+168>>2];c[f+(g<<9)+172>>2]=c[b+12456+(C*20480|0)+(B<<9)+172>>2];c[f+(g<<9)+176>>2]=c[b+12456+(C*20480|0)+(B<<9)+176>>2];c[f+(g<<9)+180>>2]=c[b+12456+(C*20480|0)+(B<<9)+180>>2];c[f+(g<<9)+184>>2]=c[b+12456+(C*20480|0)+(B<<9)+184>>2];c[f+(g<<9)+188>>2]=c[b+12456+(C*20480|0)+(B<<9)+188>>2];c[f+(g<<9)+192>>2]=c[b+12456+(C*20480|0)+(B<<9)+192>>2];c[f+(g<<9)+196>>2]=c[b+12456+(C*20480|0)+(B<<9)+196>>2];c[f+(g<<9)+200>>2]=c[b+12456+(C*20480|0)+(B<<9)+200>>2];c[f+(g<<9)+204>>2]=c[b+12456+(C*20480|0)+(B<<9)+204>>2];c[f+(g<<9)+208>>2]=c[b+12456+(C*20480|0)+(B<<9)+208>>2];c[f+(g<<9)+212>>2]=c[b+12456+(C*20480|0)+(B<<9)+212>>2];c[f+(g<<9)+216>>2]=c[b+12456+(C*20480|0)+(B<<9)+216>>2];c[f+(g<<9)+220>>2]=c[b+12456+(C*20480|0)+(B<<9)+220>>2];c[f+(g<<9)+224>>2]=c[b+12456+(C*20480|0)+(B<<9)+224>>2];c[f+(g<<9)+228>>2]=c[b+12456+(C*20480|0)+(B<<9)+228>>2];c[f+(g<<9)+232>>2]=c[b+12456+(C*20480|0)+(B<<9)+232>>2];c[f+(g<<9)+236>>2]=c[b+12456+(C*20480|0)+(B<<9)+236>>2];c[f+(g<<9)+240>>2]=c[b+12456+(C*20480|0)+(B<<9)+240>>2];c[f+(g<<9)+244>>2]=c[b+12456+(C*20480|0)+(B<<9)+244>>2];c[f+(g<<9)+248>>2]=c[b+12456+(C*20480|0)+(B<<9)+248>>2];c[f+(g<<9)+252>>2]=c[b+12456+(C*20480|0)+(B<<9)+252>>2];Fn(f+256+(e<<16>>16<<7<<2)|0,0,256)|0;e=e+1<<16>>16;g=e<<16>>16}while((g|0)<(d[i>>0]|0));return h|0}function pk(e,g,h,i){e=e|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.0,w=0.0,x=0.0,y=0.0,z=0;u=Zb;Zb=Zb+256|0;s=u+128|0;t=u;q=e+53416|0;if(!(a[q>>0]|0)){Zb=u;return}r=g+4|0;o=0;p=0;j=0;while(1){e=0;do{w=+f[h+(j<<9)+(e<<3)>>2];x=+f[89004+(e<<3)>>2];y=+f[h+(j<<9)+(e<<3)+4>>2];v=+f[89004+(e<<3)+4>>2];f[s+(e<<2)>>2]=(w*x-y*v)*.015625;f[t+(e<<2)>>2]=(y*x+w*v)*.015625;e=e+1|0}while((e|0)!=32);tk(s,s);uk(t,t);l=c[g>>2]|0;m=b[r>>1]|0;n=m<<16>>16;e=0;j=0;while(1){z=s+(j<<2)|0;k=t+(j<<2)|0;y=+f[k>>2]-+f[z>>2];f[l+(j+640+n<<2)>>2]=y;f[l+(j+n<<2)>>2]=y;y=+f[z>>2]+ +f[k>>2];f[l+(e+703+n<<2)>>2]=y;f[l+(e+63+n<<2)>>2]=y;k=j+1|0;if((k|0)==32){e=p;j=0;break}else{e=~j;j=k}}while(1){z=j<<1;f[i+(e<<2)>>2]=+f[l+(j+n<<2)>>2]*+f[85548+(z<<2)>>2]+ +f[l+(j+96+n<<2)>>2]*+f[85548+(z+64<<2)>>2]+ +f[l+(j+128+n<<2)>>2]*+f[85548+(z+128<<2)>>2]+ +f[l+(j+224+n<<2)>>2]*+f[85548+(z+192<<2)>>2]+ +f[l+(j+256+n<<2)>>2]*+f[85548+(z+256<<2)>>2]+ +f[l+(j+352+n<<2)>>2]*+f[85548+(z+320<<2)>>2]+ +f[l+(j+384+n<<2)>>2]*+f[85548+(z+384<<2)>>2]+ +f[l+(j+480+n<<2)>>2]*+f[85548+(z+448<<2)>>2]+ +f[l+(j+512+n<<2)>>2]*+f[85548+(z+512<<2)>>2]+ +f[l+(j+608+n<<2)>>2]*+f[85548+(z+576<<2)>>2];j=j+1|0;if((j|0)==32)break;else e=e+1|0}b[r>>1]=m+-64<<16>>16<<16>>16<0?576:(m&65535)+65472&65535;e=o+1<<24>>24;if((e&255)<(d[q>>0]|0)){o=e;p=p+32|0;j=e&255}else break}Zb=u;return}function qk(e,g,h,i){e=e|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.0,F=0,G=0,H=0;C=Zb;Zb=Zb+1024|0;w=C+896|0;x=C+768|0;y=C+640|0;z=C+512|0;A=C+384|0;B=C+256|0;u=C+128|0;v=C;o=e+53416|0;if(!(a[o>>0]|0)){Zb=C;return}p=x+124|0;q=B+124|0;r=w+124|0;s=A+124|0;t=g+4|0;m=0;n=0;while(1){j=n&255;f[p>>2]=+f[h+(j<<9)+8>>2]*.015625;f[w>>2]=+f[h+(j<<9)>>2]*.015625;f[q>>2]=+f[h+(j<<9)+500>>2]*.015625;f[A>>2]=+f[h+(j<<9)+508>>2]*.015625;e=1;do{l=e<<1;D=l|1;k=31-e|0;f[x+(k<<2)>>2]=+f[h+(j<<9)+(D<<3)>>2]*.015625;f[w+(e<<2)>>2]=+f[h+(j<<9)+(l<<3)>>2]*.015625;f[B+(k<<2)>>2]=+f[h+(j<<9)+(63-D<<3)+4>>2]*.015625;f[A+(e<<2)>>2]=+f[h+(j<<9)+(63-l<<3)+4>>2]*.015625;e=e+1|0}while((e|0)!=31);f[x>>2]=+f[h+(j<<9)+504>>2]*.015625;f[r>>2]=+f[h+(j<<9)+496>>2]*.015625;f[B>>2]=+f[h+(j<<9)+4>>2]*.015625;f[s>>2]=+f[h+(j<<9)+12>>2]*.015625;sk(w,x,y,z);sk(A,B,u,v);k=b[t>>1]|0;l=(c[g>>2]|0)+(k<<16>>16<<2)|0;j=l+5120|0;e=0;do{G=u+(e<<2)|0;F=y+(e<<2)|0;E=+f[G>>2]-+f[F>>2];D=e<<1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]+ +f[F>>2];F=127-D|0;f[j+(F<<2)>>2]=E;f[l+(F<<2)>>2]=E;F=31-e|0;G=v+(F<<2)|0;F=z+(F<<2)|0;E=+f[G>>2]+ +f[F>>2];D=D|1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]-+f[F>>2];D=127-D|0;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;e=e+1|0}while((e|0)!=32);e=0;j=m;while(1){H=e+192|0;D=e+256|0;F=e+448|0;G=e+512|0;f[i+(j<<2)>>2]=+f[l+(e<<2)>>2]*+f[85548+(e<<2)>>2]+ +f[l+(H<<2)>>2]*+f[85548+(e+64<<2)>>2]+ +f[l+(D<<2)>>2]*+f[85548+(e+128<<2)>>2]+ +f[l+(F<<2)>>2]*+f[85548+(H<<2)>>2]+ +f[l+(G<<2)>>2]*+f[85548+(D<<2)>>2]+ +f[l+(e+704<<2)>>2]*+f[85548+(e+320<<2)>>2]+ +f[l+(e+768<<2)>>2]*+f[85548+(e+384<<2)>>2]+ +f[l+(e+960<<2)>>2]*+f[85548+(F<<2)>>2]+ +f[l+(e+1024<<2)>>2]*+f[85548+(G<<2)>>2]+ +f[l+(e+1216<<2)>>2]*+f[85548+(e+576<<2)>>2];e=e+1|0;if((e|0)==64)break;else j=j+1|0}b[t>>1]=k+-128<<16>>16<<16>>16<0?1152:(k&65535)+65408&65535;n=n+1<<24>>24;if((n&255)>=(d[o>>0]|0))break;else m=m+64|0}Zb=C;return}function rk(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;a[e+12420>>0]=a[e+14>>0]|0;a[e+12423>>0]=a[e+15>>0]|0;a[e+12422>>0]=a[e+12421>>0]|0;g=f&255;h=e+610+g|0;f=a[h>>0]|0;a[e+612+g>>0]=f;if(!(f<<24>>24)){e=19;return e|0}a[e+646+g>>0]=a[(f&255)+-1+(e+634+(g*6|0))>>0]|0;i=e+614+g|0;b[e+2010+(g<<7)>>1]=b[e+730+(g*640|0)+((f&255)+-1<<1)>>1]|0;c[e+10460+(g<<8)>>2]=c[e+7388+(g<<9)+((d[i>>0]|0)+-1<<2)>>2];f=1;do{b[e+2010+(g<<7)+(f<<1)>>1]=b[e+730+(g*640|0)+(f*10|0)+((d[h>>0]|0)+-1<<1)>>1]|0;c[e+10460+(g<<8)+(f<<2)>>2]=c[e+7388+(g<<9)+(f<<3)+((d[i>>0]|0)+-1<<2)>>2];f=f+1|0}while((f|0)!=49);a[e+12277+(g<<6)>>0]=a[e+12149+(g<<6)>>0]|0;a[e+12277+(g<<6)+1>>0]=a[e+12149+(g<<6)+1>>0]|0;a[e+12277+(g<<6)+2>>0]=a[e+12149+(g<<6)+2>>0]|0;a[e+12277+(g<<6)+3>>0]=a[e+12149+(g<<6)+3>>0]|0;a[e+12277+(g<<6)+4>>0]=a[e+12149+(g<<6)+4>>0]|0;a[e+12277+(g<<6)+5>>0]=a[e+12149+(g<<6)+5>>0]|0;a[e+12277+(g<<6)+6>>0]=a[e+12149+(g<<6)+6>>0]|0;a[e+12277+(g<<6)+7>>0]=a[e+12149+(g<<6)+7>>0]|0;a[e+12277+(g<<6)+8>>0]=a[e+12149+(g<<6)+8>>0]|0;a[e+12277+(g<<6)+9>>0]=a[e+12149+(g<<6)+9>>0]|0;a[e+12277+(g<<6)+10>>0]=a[e+12149+(g<<6)+10>>0]|0;a[e+12277+(g<<6)+11>>0]=a[e+12149+(g<<6)+11>>0]|0;a[e+12277+(g<<6)+12>>0]=a[e+12149+(g<<6)+12>>0]|0;a[e+12277+(g<<6)+13>>0]=a[e+12149+(g<<6)+13>>0]|0;a[e+12277+(g<<6)+14>>0]=a[e+12149+(g<<6)+14>>0]|0;a[e+12277+(g<<6)+15>>0]=a[e+12149+(g<<6)+15>>0]|0;a[e+12277+(g<<6)+16>>0]=a[e+12149+(g<<6)+16>>0]|0;a[e+12277+(g<<6)+17>>0]=a[e+12149+(g<<6)+17>>0]|0;a[e+12277+(g<<6)+18>>0]=a[e+12149+(g<<6)+18>>0]|0;a[e+12277+(g<<6)+19>>0]=a[e+12149+(g<<6)+19>>0]|0;a[e+12277+(g<<6)+20>>0]=a[e+12149+(g<<6)+20>>0]|0;a[e+12277+(g<<6)+21>>0]=a[e+12149+(g<<6)+21>>0]|0;a[e+12277+(g<<6)+22>>0]=a[e+12149+(g<<6)+22>>0]|0;a[e+12277+(g<<6)+23>>0]=a[e+12149+(g<<6)+23>>0]|0;a[e+12277+(g<<6)+24>>0]=a[e+12149+(g<<6)+24>>0]|0;a[e+12277+(g<<6)+25>>0]=a[e+12149+(g<<6)+25>>0]|0;a[e+12277+(g<<6)+26>>0]=a[e+12149+(g<<6)+26>>0]|0;a[e+12277+(g<<6)+27>>0]=a[e+12149+(g<<6)+27>>0]|0;a[e+12277+(g<<6)+28>>0]=a[e+12149+(g<<6)+28>>0]|0;a[e+12277+(g<<6)+29>>0]=a[e+12149+(g<<6)+29>>0]|0;a[e+12277+(g<<6)+30>>0]=a[e+12149+(g<<6)+30>>0]|0;a[e+12277+(g<<6)+31>>0]=a[e+12149+(g<<6)+31>>0]|0;a[e+12277+(g<<6)+32>>0]=a[e+12149+(g<<6)+32>>0]|0;a[e+12277+(g<<6)+33>>0]=a[e+12149+(g<<6)+33>>0]|0;a[e+12277+(g<<6)+34>>0]=a[e+12149+(g<<6)+34>>0]|0;a[e+12277+(g<<6)+35>>0]=a[e+12149+(g<<6)+35>>0]|0;a[e+12277+(g<<6)+36>>0]=a[e+12149+(g<<6)+36>>0]|0;a[e+12277+(g<<6)+37>>0]=a[e+12149+(g<<6)+37>>0]|0;a[e+12277+(g<<6)+38>>0]=a[e+12149+(g<<6)+38>>0]|0;a[e+12277+(g<<6)+39>>0]=a[e+12149+(g<<6)+39>>0]|0;a[e+12277+(g<<6)+40>>0]=a[e+12149+(g<<6)+40>>0]|0;a[e+12277+(g<<6)+41>>0]=a[e+12149+(g<<6)+41>>0]|0;a[e+12277+(g<<6)+42>>0]=a[e+12149+(g<<6)+42>>0]|0;a[e+12277+(g<<6)+43>>0]=a[e+12149+(g<<6)+43>>0]|0;a[e+12277+(g<<6)+44>>0]=a[e+12149+(g<<6)+44>>0]|0;a[e+12277+(g<<6)+45>>0]=a[e+12149+(g<<6)+45>>0]|0;a[e+12277+(g<<6)+46>>0]=a[e+12149+(g<<6)+46>>0]|0;a[e+12277+(g<<6)+47>>0]=a[e+12149+(g<<6)+47>>0]|0;a[e+12277+(g<<6)+48>>0]=a[e+12149+(g<<6)+48>>0]|0;a[e+53445+g>>0]=a[e+53443+g>>0]|0;a[e+12418+g>>0]=((a[e+10972+g>>0]|0)!=(d[h>>0]|0))<<31>>31;e=0;return e|0}function sk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;g=0;do{h=a+(g<<2)|0;j=+f[h>>2];i=b+(g<<2)|0;l=+f[i>>2];k=(j+l)*+f[88108+(g<<2)>>2];f[h>>2]=k+l*+f[88108+(g+64<<2)>>2];f[i>>2]=k+j*+f[88108+(g+32<<2)>>2];g=g+1|0}while((g|0)!=32);g=0;do{p=a+(g<<2)|0;r=+f[p>>2];n=b+(g<<2)|0;i=g+16|0;h=a+(i<<2)|0;q=+f[h>>2];i=b+(i<<2)|0;o=+f[i>>2];j=+f[88876+(g<<2)>>2];l=+f[88940+(g<<2)>>2];k=r-q;m=+f[n>>2]-o;f[p>>2]=r+q;f[n>>2]=o+ +f[n>>2];f[h>>2]=k*j-m*l;f[i>>2]=m*j+k*l;g=g+1|0}while((g|0)!=16);g=0;h=0;while(1){q=+f[88876+(h<<2)>>2];m=+f[88940+(h<<2)>>2];n=a+(g<<2)|0;r=+f[n>>2];p=b+(g<<2)|0;i=g+8|0;s=a+(i<<2)|0;o=+f[s>>2];i=b+(i<<2)|0;l=+f[i>>2];k=r-o;j=+f[p>>2]-l;f[n>>2]=r+o;f[p>>2]=l+ +f[p>>2];f[s>>2]=q*k-m*j;f[i>>2]=m*k+q*j;i=g+16|0;s=a+(i<<2)|0;j=+f[s>>2];i=b+(i<<2)|0;p=g+24|0;n=a+(p<<2)|0;k=+f[n>>2];p=b+(p<<2)|0;l=+f[p>>2];o=j-k;r=+f[i>>2]-l;f[s>>2]=j+k;f[i>>2]=l+ +f[i>>2];f[n>>2]=q*o-m*r;f[p>>2]=m*o+q*r;g=g+1|0;if((g|0)==8)break;else h=h+2|0}r=+f[a>>2];q=+f[b>>2];sa=a+16|0;o=+f[sa>>2];ra=b+16|0;m=+f[ra>>2];f[a>>2]=r+o;f[b>>2]=m+ +f[b>>2];f[sa>>2]=r-o;f[ra>>2]=q-m;oa=a+32|0;m=+f[oa>>2];na=b+32|0;q=+f[na>>2];ka=a+48|0;o=+f[ka>>2];ja=b+48|0;r=+f[ja>>2];f[oa>>2]=m+o;f[na>>2]=r+ +f[na>>2];f[ka>>2]=m-o;f[ja>>2]=q-r;ga=a+64|0;r=+f[ga>>2];fa=b+64|0;q=+f[fa>>2];ca=a+80|0;o=+f[ca>>2];ba=b+80|0;m=+f[ba>>2];f[ga>>2]=r+o;f[fa>>2]=m+ +f[fa>>2];f[ca>>2]=r-o;f[ba>>2]=q-m;_=a+96|0;m=+f[_>>2];Z=b+96|0;q=+f[Z>>2];W=a+112|0;o=+f[W>>2];V=b+112|0;r=+f[V>>2];f[_>>2]=m+o;f[Z>>2]=r+ +f[Z>>2];f[W>>2]=m-o;f[V>>2]=q-r;h=a+4|0;r=+f[h>>2];i=b+4|0;Q=a+20|0;q=+f[Q>>2];P=b+20|0;o=+f[P>>2];m=r-q;l=+f[i>>2]-o;f[h>>2]=r+q;f[i>>2]=o+ +f[i>>2];f[Q>>2]=(m+l)*.7071067690849304;f[P>>2]=(l-m)*.7071067690849304;M=a+36|0;m=+f[M>>2];L=b+36|0;I=a+52|0;l=+f[I>>2];H=b+52|0;o=+f[H>>2];q=m-l;r=+f[L>>2]-o;f[M>>2]=m+l;f[L>>2]=o+ +f[L>>2];f[I>>2]=(q+r)*.7071067690849304;f[H>>2]=(r-q)*.7071067690849304;E=a+68|0;q=+f[E>>2];D=b+68|0;A=a+84|0;r=+f[A>>2];z=b+84|0;o=+f[z>>2];l=q-r;m=+f[D>>2]-o;f[E>>2]=q+r;f[D>>2]=o+ +f[D>>2];f[A>>2]=(l+m)*.7071067690849304;f[z>>2]=(m-l)*.7071067690849304;w=a+100|0;l=+f[w>>2];v=b+100|0;n=a+116|0;m=+f[n>>2];p=b+116|0;o=+f[p>>2];r=l-m;q=+f[v>>2]-o;f[w>>2]=l+m;f[v>>2]=o+ +f[v>>2];f[n>>2]=(r+q)*.7071067690849304;f[p>>2]=(q-r)*.7071067690849304;ua=a+8|0;r=+f[ua>>2];ta=b+8|0;q=+f[ta>>2];qa=a+24|0;o=+f[qa>>2];pa=b+24|0;m=+f[pa>>2];f[ua>>2]=r+o;f[ta>>2]=m+ +f[ta>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;ma=a+40|0;r=+f[ma>>2];la=b+40|0;o=+f[la>>2];ia=a+56|0;m=+f[ia>>2];ha=b+56|0;q=+f[ha>>2];f[ma>>2]=r+m;f[la>>2]=q+ +f[la>>2];f[ia>>2]=o-q;f[ha>>2]=m-r;ea=a+72|0;r=+f[ea>>2];da=b+72|0;m=+f[da>>2];aa=a+88|0;q=+f[aa>>2];$=b+88|0;o=+f[$>>2];f[ea>>2]=r+q;f[da>>2]=o+ +f[da>>2];f[aa>>2]=m-o;f[$>>2]=q-r;Y=a+104|0;r=+f[Y>>2];X=b+104|0;q=+f[X>>2];U=a+120|0;o=+f[U>>2];T=b+120|0;m=+f[T>>2];f[Y>>2]=r+o;f[X>>2]=m+ +f[X>>2];f[U>>2]=q-m;f[T>>2]=o-r;S=a+12|0;r=+f[S>>2];R=b+12|0;O=a+28|0;o=+f[O>>2];N=b+28|0;m=+f[N>>2];q=r-o;l=+f[R>>2]-m;f[S>>2]=r+o;f[R>>2]=m+ +f[R>>2];f[O>>2]=(q-l)*-.7071068286895752;f[N>>2]=(q+l)*-.7071068286895752;K=a+44|0;l=+f[K>>2];J=b+44|0;G=a+60|0;q=+f[G>>2];F=b+60|0;m=+f[F>>2];o=l-q;r=+f[J>>2]-m;f[K>>2]=l+q;f[J>>2]=m+ +f[J>>2];f[G>>2]=(o-r)*-.7071068286895752;f[F>>2]=(o+r)*-.7071068286895752;C=a+76|0;r=+f[C>>2];B=b+76|0;y=a+92|0;o=+f[y>>2];x=b+92|0;m=+f[x>>2];q=r-o;l=+f[B>>2]-m;f[C>>2]=r+o;f[B>>2]=m+ +f[B>>2];f[y>>2]=(q-l)*-.7071068286895752;f[x>>2]=(q+l)*-.7071068286895752;u=a+108|0;l=+f[u>>2];t=b+108|0;s=a+124|0;q=+f[s>>2];g=b+124|0;m=+f[g>>2];o=l-q;r=+f[t>>2]-m;f[u>>2]=l+q;f[t>>2]=m+ +f[t>>2];f[s>>2]=(o-r)*-.7071068286895752;f[g>>2]=(o+r)*-.7071068286895752;r=+f[a>>2];o=+f[b>>2];m=+f[ua>>2];q=+f[ta>>2];f[a>>2]=r+m;f[b>>2]=q+ +f[b>>2];f[ua>>2]=r-m;f[ta>>2]=o-q;q=+f[sa>>2];o=+f[ra>>2];m=+f[qa>>2];r=+f[pa>>2];f[sa>>2]=q+m;f[ra>>2]=r+ +f[ra>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;r=+f[oa>>2];o=+f[na>>2];m=+f[ma>>2];q=+f[la>>2];f[oa>>2]=r+m;f[na>>2]=q+ +f[na>>2];f[ma>>2]=r-m;f[la>>2]=o-q;q=+f[ka>>2];o=+f[ja>>2];m=+f[ia>>2];r=+f[ha>>2];f[ka>>2]=q+m;f[ja>>2]=r+ +f[ja>>2];f[ia>>2]=q-m;f[ha>>2]=o-r;r=+f[ga>>2];o=+f[fa>>2];m=+f[ea>>2];q=+f[da>>2];f[ga>>2]=r+m;f[fa>>2]=q+ +f[fa>>2];f[ea>>2]=r-m;f[da>>2]=o-q;q=+f[ca>>2];o=+f[ba>>2];m=+f[aa>>2];r=+f[$>>2];f[ca>>2]=q+m;f[ba>>2]=r+ +f[ba>>2];f[aa>>2]=q-m;f[$>>2]=o-r;r=+f[_>>2];o=+f[Z>>2];m=+f[Y>>2];q=+f[X>>2];f[_>>2]=r+m;f[Z>>2]=q+ +f[Z>>2];f[Y>>2]=r-m;f[X>>2]=o-q;q=+f[W>>2];o=+f[V>>2];m=+f[U>>2];r=+f[T>>2];f[W>>2]=q+m;f[V>>2]=r+ +f[V>>2];f[U>>2]=q-m;f[T>>2]=o-r;r=+f[h>>2];o=+f[i>>2];m=+f[S>>2];q=+f[R>>2];f[h>>2]=r+m;f[i>>2]=q+ +f[i>>2];f[S>>2]=o-q;f[R>>2]=m-r;r=+f[Q>>2];m=+f[P>>2];q=+f[O>>2];o=+f[N>>2];f[Q>>2]=r+q;f[P>>2]=o+ +f[P>>2];f[O>>2]=m-o;f[N>>2]=q-r;r=+f[M>>2];q=+f[L>>2];o=+f[K>>2];m=+f[J>>2];f[M>>2]=r+o;f[L>>2]=m+ +f[L>>2];f[K>>2]=q-m;f[J>>2]=o-r;r=+f[I>>2];o=+f[H>>2];m=+f[G>>2];q=+f[F>>2];f[I>>2]=r+m;f[H>>2]=q+ +f[H>>2];f[G>>2]=o-q;f[F>>2]=m-r;r=+f[E>>2];m=+f[D>>2];q=+f[C>>2];o=+f[B>>2];f[E>>2]=r+q;f[D>>2]=o+ +f[D>>2];f[C>>2]=m-o;f[B>>2]=q-r;r=+f[A>>2];q=+f[z>>2];o=+f[y>>2];m=+f[x>>2];f[A>>2]=r+o;f[z>>2]=m+ +f[z>>2];f[y>>2]=q-m;f[x>>2]=o-r;r=+f[w>>2];o=+f[v>>2];m=+f[u>>2];q=+f[t>>2];f[w>>2]=r+m;f[v>>2]=q+ +f[v>>2];f[u>>2]=o-q;f[t>>2]=m-r;r=+f[n>>2];m=+f[p>>2];q=+f[s>>2];o=+f[g>>2];f[n>>2]=r+q;f[p>>2]=o+ +f[p>>2];f[s>>2]=m-o;f[g>>2]=q-r;g=0;do{ua=g|1;ra=a+(g<<2)|0;m=+f[ra>>2];sa=b+(g<<2)|0;q=+f[sa>>2];ta=a+(ua<<2)|0;o=+f[ta>>2];ua=b+(ua<<2)|0;r=+f[ua>>2];f[ra>>2]=m+o;f[sa>>2]=r+ +f[sa>>2];f[ta>>2]=m-o;f[ua>>2]=q-r;g=g+2|0}while(g>>>0<32);g=0;do{ua=d[152861+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[88108+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[88108+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[88108+(g+128<<2)>>2];g=g+1|0}while((g|0)!=16);f[e+64>>2]=(+f[i>>2]-+f[h>>2])*.7071067690849304;f[c+64>>2]=(+f[h>>2]+ +f[i>>2])*.7071067690849304;g=17;do{ua=d[152861+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[88108+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[88108+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[88108+(g+128<<2)>>2];g=g+1|0}while((g|0)!=32);return}function tk(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;e=+f[b+60>>2];h=+f[b+64>>2];c=(e+h)*.7071067690849304;h=(e-h)*.7071067690849304;e=+f[b+32>>2];p=+f[b+92>>2];i=(e+p)*.7071067690849304;p=(e-p)*.7071067690849304;e=+f[b+48>>2];r=+f[b+76>>2];I=(e+r)*.7071067690849304;r=(e-r)*.7071067690849304;e=+f[b+44>>2];s=+f[b+80>>2];o=(e+s)*.7071067690849304;s=(e-s)*.7071067690849304;e=+f[b+56>>2];v=+f[b+68>>2];u=(e+v)*.7071067690849304;v=(e-v)*.7071067690849304;e=+f[b+36>>2];D=+f[b+88>>2];A=(e+D)*.7071067690849304;D=(e-D)*.7071067690849304;e=+f[b+52>>2];F=+f[b+72>>2];l=(e+F)*.7071067690849304;F=(e-F)*.7071067690849304;e=+f[b+40>>2];j=+f[b+84>>2];G=(e+j)*.7071067690849304;j=(e-j)*.7071067690849304;e=+f[b>>2];z=e-c;e=c+e;c=+f[b+124>>2];k=c-h;c=h+c;h=+f[b+28>>2];t=h-i;h=i+h;i=+f[b+96>>2];g=i-p;i=p+i;p=+f[b+12>>2];n=p-I;p=I+p;I=+f[b+112>>2];w=I-r;I=r+I;r=+f[b+16>>2];x=r-o;r=o+r;o=+f[b+108>>2];m=o-s;o=s+o;s=+f[b+4>>2];J=s-u;s=u+s;u=+f[b+120>>2];C=u-v;u=v+u;v=+f[b+24>>2];H=v-A;v=A+v;A=+f[b+100>>2];y=A-D;A=D+A;D=+f[b+8>>2];B=D-l;D=l+D;l=+f[b+116>>2];q=l-F;l=F+l;F=+f[b+20>>2];d=F-G;F=G+F;G=+f[b+104>>2];E=G-j;G=j+G;j=(h+i)*.9238795042037964;i=j-i*.5411961078643799;j=h*1.3065630197525024-j;h=(t+g)*-.3826834261417389;g=g*1.3065630197525024+h;h=t*.5411961078643799-h;t=(r+o)*.9238795042037964;o=t-o*.5411961078643799;t=r*1.3065630197525024-t;r=(x+m)*-.3826834261417389;m=m*1.3065630197525024+r;r=x*.5411961078643799-r;x=(v+A)*.9238795042037964;A=x-A*.5411961078643799;x=v*1.3065630197525024-x;v=(H+y)*-.3826834261417389;y=y*1.3065630197525024+v;v=H*.5411961078643799-v;H=(F+G)*.9238795042037964;G=H-G*.5411961078643799;H=F*1.3065630197525024-H;F=(d+E)*-.3826834261417389;E=E*1.3065630197525024+F;F=d*.5411961078643799-F;d=e-i;i=e+i;e=c-j;j=c+j;c=z-g;g=z+g;z=k-h;h=k+h;k=p-o;o=p+o;p=I-t;t=I+t;I=n-m;m=n+m;n=w-r;r=w+r;w=s-A;A=s+A;s=u-x;x=u+x;u=J-y;y=J+y;J=C-v;v=C+v;C=D-G;G=D+G;D=l-H;H=l+H;l=B-E;E=B+E;B=q-F;F=q+F;q=(t+o)*.9807852506637573;t=q-t*.78569495677948;q=o*1.1758755445480347-q;o=(r+m)*.5555702447891235;r=r*.27589938044548035+o;o=m*1.3870398998260498-o;m=(p+k)*-.19509032368659973;p=p*1.1758755445480347+m;m=k*.78569495677948-m;k=(n+I)*-.8314695954322815;n=n*1.3870398998260498+k;k=I*-.27589938044548035-k;I=(H+G)*.9807852506637573;H=I-H*.78569495677948;I=G*1.1758755445480347-I;G=(F+E)*.5555702447891235;F=F*.27589938044548035+G;G=E*1.3870398998260498-G;E=(D+C)*-.19509032368659973;D=D*1.1758755445480347+E;E=C*.78569495677948-E;C=(B+l)*-.8314695954322815;B=B*1.3870398998260498+C;C=l*-.27589938044548035-C;l=i-t;t=i+t;i=j-q;q=j+q;j=g-r;r=g+r;g=h-o;o=h+o;h=d-p;p=d+p;d=e-m;m=e+m;e=c-n;n=c+n;c=z-k;k=z+k;z=A-H;H=A+H;A=x-I;I=x+I;x=y-F;F=y+F;y=v-G;G=v+G;v=w-D;D=w+D;w=s-E;E=s+E;s=u-B;B=u+B;u=J-C;C=J+C;J=(I+H)*.9951847195625305;I=J-I*.8971675634384155;J=H*1.0932018756866455-J;H=(G+F)*.8819212913513184;G=H-G*.41052451729774475;H=F*1.3533179759979248-H;F=(E+D)*.6343932747840881;E=E*.13861717283725739+F;F=D*1.4074037075042725-F;D=(C+B)*.290284663438797;C=C*.6666556596755981+D;D=B*1.247225046157837-D;B=(A+z)*-.0980171412229538;A=A*1.0932018756866455+B;B=z*.8971675634384155-B;z=(y+x)*-.4713967442512512;y=y*1.3533179759979248+z;z=x*.41052451729774475-z;x=(w+v)*-.7730104327201843;w=w*1.4074037075042725+x;x=v*-.13861717283725739-x;v=(u+s)*-.9569403529167175;u=u*1.247225046157837+v;v=s*-.6666556596755981-v;s=t-I;I=t+I;t=q-J;J=q+J;q=r-G;G=r+G;r=o-H;H=o+H;o=p-E;E=p+E;p=m-F;F=m+F;m=n-C;C=n+C;n=k-D;D=k+D;k=l-A;A=l+A;l=i-B;B=i+B;i=j-y;y=j+y;j=g-z;z=g+z;g=h-w;w=h+w;h=d-x;x=d+x;d=e-u;u=e+u;e=c-v;v=c+v;c=(J+I)*.99969881772995;f[a>>2]=c-J*.975157618522644;f[a+124>>2]=I*1.0242400169372559-c;c=(H+G)*.9924795627593994;f[a+8>>2]=c-H*.8700688481330872;f[a+116>>2]=G*1.114890217781067-c;c=(F+E)*.9757021069526672;f[a+16>>2]=c-F*.7566009163856506;f[a+108>>2]=E*1.1948033571243286-c;c=(D+C)*.949528157711029;f[a+24>>2]=c-D*.6358464360237122;f[a+100>>2]=C*1.2632099390029907-c;c=(B+A)*.91420978307724;f[a+32>>2]=c-B*.5089684128761292;f[a+92>>2]=A*1.319451093673706-c;c=(z+y)*.8700869679450989;f[a+40>>2]=c-z*.3771888017654419;f[a+84>>2]=y*1.3629851341247559-c;c=(x+w)*.8175848126411438;f[a+48>>2]=c-x*.24177661538124084;f[a+76>>2]=w*1.3933930397033691-c;c=(v+u)*.7572088241577148;f[a+56>>2]=c-v*.10403600335121155;f[a+68>>2]=u*1.4103816747665405-c;c=(t+s)*.6895405650138855;f[a+64>>2]=t*.034706536680459976+c;f[a+60>>2]=s*1.413787603378296-c;c=(r+q)*.6152315735816956;f[a+72>>2]=r*.1731148362159729+c;f[a+52>>2]=q*1.4035780429840088-c;c=(p+o)*.5349976420402527;f[a+80>>2]=p*.30985593795776367+c;f[a+44>>2]=o*1.379851222038269-c;c=(n+m)*.4496113359928131;f[a+88>>2]=n*.4436129629611969+c;f[a+36>>2]=m*1.3428356647491455-c;c=(l+k)*.3598950505256653;f[a+96>>2]=l*.5730977654457092+c;f[a+28>>2]=k*1.292887806892395-c;c=(j+i)*.2667127549648285;f[a+104>>2]=j*.6970633268356323+c;f[a+20>>2]=i*1.2304887771606445-c;c=(h+g)*.1709618866443634;f[a+112>>2]=h*.8143157362937927+c;f[a+12>>2]=g*1.1562395095825195-c;c=(e+d)*.0735645666718483;f[a+120>>2]=e*.9237259030342102+c;f[a+4>>2]=d*1.0708550214767456-c;return}function uk(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;u=+f[b>>2];q=+f[b+4>>2];H=u-q;F=+f[b+8>>2];q=F-q;K=+f[b+12>>2];F=F-K;D=+f[b+16>>2];K=D-K;s=+f[b+20>>2];D=D-s;r=+f[b+24>>2];s=r-s;w=+f[b+28>>2];r=r-w;J=+f[b+32>>2];w=J-w;o=+f[b+36>>2];J=J-o;l=+f[b+40>>2];o=l-o;E=+f[b+44>>2];l=l-E;e=+f[b+48>>2];E=e-E;g=+f[b+52>>2];e=e-g;n=+f[b+56>>2];g=n-g;y=+f[b+60>>2];n=n-y;C=+f[b+64>>2];i=+f[b+68>>2];j=C-i;z=+f[b+72>>2];i=z-i;A=+f[b+76>>2];z=z-A;t=+f[b+80>>2];A=t-A;m=+f[b+84>>2];t=t-m;B=+f[b+88>>2];m=B-m;k=+f[b+92>>2];B=B-k;x=+f[b+96>>2];k=x-k;I=+f[b+100>>2];x=x-I;p=+f[b+104>>2];I=p-I;G=+f[b+108>>2];p=p-G;v=+f[b+112>>2];G=v-G;d=+f[b+116>>2];v=v-d;h=+f[b+120>>2];d=h-d;h=h-+f[b+124>>2];y=(C-y)*.7071067690849304;C=u-y;y=u+y;u=(w+k)*-.9238795042037964;w=w*1.3065630197525024+u;u=k*-.5411961078643799-u;k=y-u;u=y+u;y=C-w;w=C+w;C=(E+A)*.7071067690849304;c=K-C;C=K+C;A=(E-A)*.7071067690849304;E=A-G;G=A+G;A=(C+G)*.9807852506637573;G=A-G*.78569495677948;A=C*1.1758755445480347-A;C=(c+E)*.8314695954322815;E=C-E*.27589938044548035;C=c*1.3870398998260498-C;c=u-G;G=u+G;u=w-E;E=w+E;w=y-C;C=y+C;y=k-A;A=k+A;k=s-o;o=s+o;s=m-I;I=m+I;m=(g+i)*.7071067690849304;K=q-m;m=q+m;q=(o+I)*-.9238795042037964;o=o*1.3065630197525024+q;q=I*-.5411961078643799-q;I=m-q;q=m+q;m=K-o;o=K+o;i=(g-i)*.7071067690849304;g=d-i;d=i+d;i=(k+s)*-.9238795042037964;s=s*1.3065630197525024+i;i=k*-.5411961078643799-i;k=d-i;d=i+d;i=g-s;g=s+g;s=(q+d)*.9951847195625305;d=s-d*.8971675634384155;s=q*1.0932018756866455-s;q=(o-g)*.9569403529167175;g=g*.6666556596755981+q;q=o*1.247225046157837-q;o=(m+i)*.8819212913513184;i=o-i*.41052451729774475;o=m*1.3533179759979248-o;m=(I-k)*.7730104327201843;k=k*.13861717283725739+m;m=I*1.4074037075042725-m;I=G-d;d=G+d;G=E-g;g=E+g;E=C-i;i=C+i;C=A-k;k=A+k;A=y-m;m=y+m;y=w-o;o=w+o;w=u-q;q=u+q;u=c-s;s=c+s;c=(H+h)*-.9987954497337341;H=H*1.0478631258010864+c;c=h*-.9497277736663818-c;h=(D+p)*-.9700312614440918;D=D*1.213011384010315+h;h=p*-.7270510792732239-h;p=(J+B)*-.903989315032959;J=J*1.3315443992614746+p;p=B*-.47643420100212097-p;B=(e+z)*-.803207516670227;e=e*1.3989068269729614+B;B=z*-.20750822126865387-B;z=(n+j)*-.6715589761734009;j=j*1.4125100374221802+z;z=n*.06939216703176498-z;n=(l+t)*-.5141027569770813;t=t*1.3718312978744507+n;n=l*.34362587332725525-n;l=(r+x)*-.3368898630142212;x=x*1.278433918952942+l;l=r*.6046541929244995-l;r=(F+v)*-.1467304676771164;v=v*1.1359069347381592+r;r=F*.8424460291862488-r;F=c-z;c=z+c;z=H-j;H=j+H;j=h-n;h=n+h;n=D-t;D=t+D;t=p-l;l=p+l;p=J-x;x=J+x;J=B-r;r=B+r;B=e-v;v=e+v;e=(F+z)*-.9807852506637573;F=F*1.1758755445480347+e;e=z*-.78569495677948-e;z=(j+n)*-.5555702447891235;j=j*1.3870398998260498+z;z=n*.27589938044548035-z;n=(t+p)*.19509032368659973;t=t*.78569495677948+n;n=p*1.1758755445480347-n;p=(J+B)*.8314695954322815;J=p-J*.27589938044548035;p=B*1.3870398998260498-p;B=c-l;c=l+c;l=H-x;H=x+H;x=h-r;r=h+r;h=D-v;v=D+v;D=e-n;e=n+e;n=F-t;F=t+F;t=z-p;p=z+p;z=j-J;J=j+J;j=(B+l)*-.9238795042037964;B=B*1.3065630197525024+j;j=l*-.5411961078643799-j;l=(x+h)*.3826834261417389;x=x*.5411961078643799+l;l=h*1.3065630197525024-l;h=(D+n)*-.9238795042037964;D=D*1.3065630197525024+h;h=n*-.5411961078643799-h;n=(t+z)*.3826834261417389;t=t*.5411961078643799+n;n=z*1.3065630197525024-n;z=c-r;c=r+c;r=H-v;H=v+H;v=j-l;j=l+j;l=B-x;B=x+B;x=e-p;e=p+e;p=F-J;F=J+F;J=h-n;h=n+h;n=D-t;D=t+D;t=(z-r)*.7071067690849304;r=(z+r)*.7071067690849304;z=(v-l)*.7071067690849304;l=(v+l)*.7071067690849304;v=(x-p)*.7071067690849304;p=(x+p)*.7071067690849304;x=(J-n)*.7071067690849304;n=(J+n)*.7071067690849304;f[a+124>>2]=(d+c)*.5001506209373474;f[a+120>>2]=(g+e)*.5013584494590759;f[a+116>>2]=(i+h)*.5037887096405029;f[a+112>>2]=(k+j)*.5074711441993713;f[a+108>>2]=(m+l)*.5124514698982239;f[a+104>>2]=(o+n)*.5187926888465881;f[a+100>>2]=(q+p)*.5265772938728333;f[a+96>>2]=(s+r)*.5359098315238953;f[a+92>>2]=(u+t)*.5469204187393188;f[a+88>>2]=(w+v)*.5597698092460632;f[a+84>>2]=(y+x)*.5746551752090454;f[a+80>>2]=(A+z)*.5918185114860535;f[a+76>>2]=(C+B)*.6115573644638062;f[a+72>>2]=(E+D)*.6342389583587646;f[a+68>>2]=(G+F)*.6603198051452637;f[a+64>>2]=(I+H)*.690372109413147;f[a+60>>2]=(I-H)*.7251205444335938;f[a+56>>2]=(G-F)*.765494167804718;f[a+52>>2]=(E-D)*.8127021193504333;f[a+48>>2]=(C-B)*.8683447241783142;f[a+44>>2]=(A-z)*.9345836043357849;f[a+40>>2]=(y-x)*1.0144082307815552;f[a+36>>2]=(w-v)*1.1120716333389282;f[a+32>>2]=(u-t)*1.2338327169418335;f[a+28>>2]=(s-r)*1.389293909072876;f[a+24>>2]=(q-p)*1.5939723253250122;f[a+20>>2]=(o-n)*1.874675989151001;f[a+16>>2]=(m-l)*2.282050132751465;f[a+12>>2]=(k-j)*2.924628496170044;f[a+8>>2]=(i-h)*4.084610939025879;f[a+4>>2]=(g-e)*6.796750545501709;f[a>>2]=(d-c)*20.373878479003906;return}function vk(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,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;G=Zb;Zb=Zb+768|0;C=G+512|0;D=G+384|0;E=G+256|0;F=G+128|0;B=G;u=e+53416|0;if(!(a[u>>0]|0)){Zb=G;return}v=g+4|0;w=C+4|0;x=E+124|0;y=C+128|0;z=C+132|0;A=D+124|0;t=k&255;r=j&255;p=0;q=0;o=0;s=32;while(1){j=c[g>>2]|0;m=b[v>>1]|0;n=m<<16>>16;e=q;k=31;while(1){H=c[h+(e<<2)>>2]|0;e=e+1|0;c[j+(k+320+n<<2)>>2]=H;c[j+(k+n<<2)>>2]=H;if(s<<16>>16==(e&65535)<<16>>16){e=0;break}else k=k+-1|0}do{k=e+n|0;H=e<<1;f[C+(e<<2)>>2]=+f[j+(k<<2)>>2]*+f[85548+(H<<2)>>2]+ +f[j+(k+64<<2)>>2]*+f[85548+(H+128<<2)>>2]+ +f[j+(k+128<<2)>>2]*+f[85548+(H+256<<2)>>2]+ +f[j+(k+192<<2)>>2]*+f[85548+(H+384<<2)>>2]+ +f[j+(k+256<<2)>>2]*+f[85548+(H+512<<2)>>2];e=e+1|0}while((e|0)!=64);b[v>>1]=m+-32<<16>>16<<16>>16<0?288:(m&65535)+65504&65535;c[x>>2]=c[w>>2];c[D>>2]=c[C>>2];e=1;do{H=e;e=e+1|0;c[E+(31-H<<2)>>2]=c[C+(e<<2)>>2];f[D+(H<<2)>>2]=-+f[C+(64-H<<2)>>2]}while((e|0)!=31);c[E>>2]=c[y>>2];f[A>>2]=-+f[z>>2];sk(D,E,F,B);k=o+r|0;m=0;do{e=m<<1;j=e|1;if((j|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;f[i+(k<<9)+(e<<3)+4>>2]=+f[B+(m<<2)>>2]*2.0;H=31-m|0;f[i+(k<<9)+(j<<3)>>2]=+f[B+(H<<2)>>2]*-2.0;l=+f[F+(H<<2)>>2]*-2.0}else{if((e|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;l=+f[B+(m<<2)>>2]*2.0}else{f[i+(k<<9)+(e<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(e<<3)+4>>2]=l;f[i+(k<<9)+(j<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(j<<3)+4>>2]=l;m=m+1|0}while((m|0)!=16);e=p+1<<24>>24;if((e&255)<(d[u>>0]|0)){p=e;q=q+32|0;o=e&255;s=s+32<<16>>16}else break}Zb=G;return}function wk(b,e,g,i){b=b|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=Zb;Zb=Zb+512|0;X=_;Y=b+53419|0;J=a[Y>>0]|0;Z=i&255;K=a[b+616+(Z*6|0)>>0]|0;N=a[(d[b+610+Z>>0]|0)+(b+616+(Z*6|0))>>0]|0;j=a[b+19>>0]|0;a:do if(j<<24>>24){q=j&255;p=0;while(1){n=a[b+10976+(Z*5|0)+p>>0]|0;o=b+10986+(Z*5|0)+p|0;j=a[o>>0]|0;switch(n<<24>>24){case 1:{l=j<<24>>24==0?.6000000238418579:.75;break}case 2:{l=.8999999761581421;break}case 3:{l=.9800000190734863;break}default:l=j<<24>>24==1?.6000000238418579:0.0}k=b+10996+(Z<<8)+(p<<2)|0;m=b+11508+(Z<<8)+(p<<2)|0;R=+f[m>>2];W=l<R;l=l*(W?.75:.90625)+R*(W?.25:.09375);f[k>>2]=l;if(!(l<.015625))if(!(l>=.99609375))j=(f[h>>2]=l,c[h>>2]|0);else{j=1065287680;r=9}else{j=0;r=9}if((r|0)==9){r=0;c[k>>2]=j}c[m>>2]=j;a[o>>0]=n;p=p+1|0;if((p|0)==(q|0))break a}}while(0);do if(i<<24>>24==0?a[b+12426>>0]|0:0){o=b+13|0;q=a[o>>0]|0;D=b+14|0;p=a[D>>0]|0;k=a[152901+((Ti(c[b>>2]|0)|0)&255)>>0]|0;G=b+12020|0;a[G>>0]=0;D=a[D>>0]|0;E=(d[b+15>>0]|0)+(D&255)|0;if(E>>>0>(k&255)>>>0)if((d[b+26>>0]|0)<(k&255)){j=0;n=0;while(1){j=j+1<<24>>24;m=j&255;if((d[b+26+m>>0]|0)>=(k&255))break;else n=m}j=n+1&255}else j=0;else j=a[b+16>>0]|0;y=a[b+16>>0]|0;if(!(y<<24>>24)){a[G>>0]=0;a[b+12021>>0]=0;a[b+12085>>0]=0;break}s=d[o>>0]|0;t=s+-2|0;u=s+-1|0;k=q;q=j;o=0;while(1){i=q&255;k=u+(k&255)|0;j=i+1&255;do{j=j+-1<<24>>24;n=a[(j&255)+(b+26)>>0]|0;r=n&255;m=(t+r|0)%2|0}while((k-(m&255)|0)<(r|0));V=r-(p&255)|0;V=(V|0)>0?V:0;W=V&255;j=o&255;a[b+12021+j>>0]=W;a[b+12085+j>>0]=s-m-V;j=o+1<<24>>24;if(!(W<<24>>24)){k=D;j=o}else{a[G>>0]=j;p=n;k=n}if((E|0)==(r|0))break;else{q=((d[b+26+i>>0]|0)-r|0)<3?y:q;o=j}}k=j+-1<<24>>24;if((j&255)>1?(d[(j&255)+-1+(b+12021)>>0]|0)<3:0){a[G>>0]=k;j=k}a[G>>0]=(j&255)<5?j:5}while(0);U=a[b+12020>>0]|0;if(U<<24>>24){V=b+14|0;T=b+53416|0;W=K&255;G=J&255;J=G+-2+W|0;S=G+-1+W|0;D=(K&255)<(N&255);E=N&255;y=N&255;k=0;j=0;while(1){t=b+12021+k|0;if(a[t>>0]|0){u=j<<24>>24==0;i=b+12085+k|0;r=d[V>>0]|0;s=j&255;q=0;n=0;while(1){k=n+r|0;if(!u){m=0;do{k=(k&255)+(d[b+12021+m>>0]|0)|0;m=m+1|0}while((m|0)!=(s|0))}m=n+(d[i>>0]|0)|0;p=k&255;Q=+f[b+10996+(Z<<8)+(d[b+538+p>>0]<<2)>>2];R=Q*Q;if(R>0.0){k=a[Y>>0]|0;n=k&255;N=n+-2|0;o=m&255;O=+f[e+(N<<9)+(o<<3)>>2];P=+f[e+(N<<9)+(o<<3)+4>>2];m=n+-1|0;L=+f[e+(m<<9)+(o<<3)>>2];M=+f[e+(m<<9)+(o<<3)+4>>2];m=k<<24>>24;n=((a[T>>0]|0)+6&255)+n|0;if((n|0)>(m|0)){H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;z=O;v=M;x=L;F=P;while(1){l=+f[e+(m<<9)+(o<<3)>>2];w=+f[e+(m<<9)+(o<<3)+4>>2];H=H+(x*l+v*w);I=I+(x*w-v*l);A=A+(z*l+F*w);B=B+(z*w-F*l);C=C+(v*v+x*x);k=k+1<<24>>24;m=k<<24>>24;if((n|0)<=(m|0))break;else{F=v;z=x;v=w;x=l}}}else{H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;x=O;w=M;l=L;v=P}z=O*L+P*M+(H-(v*w+l*x));w=O*M-P*L+(I-(w*x-v*l));l=C*(O*O+P*P+(C-(v*v+x*x)))-(w*w+z*z)*.9999990463256836;if(l==0.0){v=0.0;x=0.0}else{x=1.0/l;v=(H*z-I*w-C*A)*x;x=(H*w+I*z-C*B)*x}if(C==0.0){m=X+(o<<3)|0;f[m>>2]=0.0;w=0.0;l=0.0}else{P=1.0/C;l=-(P*(w*x+(H+z*v)));m=X+(o<<3)|0;f[m>>2]=l;w=-(P*(I+z*x-w*v))}k=X+(o<<3)+4|0;f[k>>2]=w;if(!(!(l*l+w*w>=16.0)?!(v*v+x*x>=16.0):0)){f[m>>2]=0.0;f[k>>2]=0.0;l=+f[X+(o<<3)>>2];v=0.0;w=0.0;x=0.0}H=Q*l;F=R*v;C=Q*w;z=R*x;if(D){l=+f[e+(J<<9)+(o<<3)+4>>2];v=+f[e+(S<<9)+(o<<3)>>2];w=+f[e+(J<<9)+(o<<3)>>2];x=+f[e+(S<<9)+(o<<3)+4>>2];k=W;while(1){N=k+G|0;A=+f[e+(N<<9)+(o<<3)>>2];B=+f[e+(N<<9)+(o<<3)+4>>2];f[g+(N<<9)+(p<<3)>>2]=F*w+(H*v-C*x)-z*l+A;f[g+(N<<9)+(p<<3)+4>>2]=F*l+(z*w+(C*v+H*x))+B;k=k+1|0;if((k|0)==(E|0))break;else{w=v;l=x;v=A;x=B}}}}else if(D){k=m&255;m=W;do{N=m+G|0;c[g+(N<<9)+(p<<3)>>2]=c[e+(N<<9)+(k<<3)>>2];c[g+(N<<9)+(p<<3)+4>>2]=c[e+(N<<9)+(k<<3)+4>>2];m=m+1|0}while((m|0)!=(y|0))}k=q+1<<24>>24;if((k&255)<(d[t>>0]|0)){q=k;n=k&255}else break}}j=j+1<<24>>24;if((j&255)<(U&255))k=j&255;else break}}if(!(a[b+12426>>0]|0)){Zb=_;return}zk(b);Zb=_;return}function xk(e,g,h){e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,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,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=Zb;Zb=Zb+3536|0;aa=ia+3332|0;ba=ia+3136|0;ca=ia+2940|0;ga=ia;Fn(ga|0,0,2940)|0;ha=h&255;k=a[e+53451+ha>>0]|0;do if(k<<24>>24){i=a[e+53507+ha>>0]|0;j=i&255;if(k<<24>>24==2){if((i&255)<=1){i=-1;break}i=j+255&255;break}else{if(!(i<<24>>24)){i=-1;break}i=1-j+(d[e+610+ha>>0]|0)&255;break}}else i=-1;while(0);fa=e+10972+ha|0;a[fa>>0]=i;ea=e+610+ha|0;j=a[ea>>0]|0;i=j<<24>>24!=0;if((a[e+53440>>0]|0)==1)if(i){x=e+53419|0;y=e+14|0;v=a[e+15>>0]|0;z=v&255;u=j&255;i=v;t=0;do{s=t;t=t+1|0;p=d[e+616+(ha*6|0)+t>>0]|0;q=d[e+616+(ha*6|0)+s>>0]|0;Z=p-q|0;o=(Z|0)==0?1.0:+(Z|0);if(!(i<<24>>24))i=0;else{n=0;do{k=d[x>>0]|0;i=k+q|0;j=i&255;k=k+p|0;if(k>>>0>j>>>0){m=n+(d[y>>0]|0)|0;i=i&255;l=0.0;do{_=+f[g+(j<<9)+(m<<3)>>2];$=+f[g+(j<<9)+(m<<3)+4>>2];l=l+(_*_+$*$);i=i+1<<24>>24;j=i&255}while(k>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+(n*20|0)+(s<<2)>>2]=l/o;n=n+1|0}while(n>>>0<z>>>0);i=v}}while((t|0)!=(u|0));Z=a[ea>>0]|0}else Z=0;else if(i){A=e+53419|0;B=e+14|0;z=0;i=j;y=0;while(1){x=e+634+(ha*6|0)+y|0;j=a[x>>0]|0;k=j&255;if(a[e+24+k>>0]|0){u=e+616+(ha*6|0)+y|0;v=y+1+(e+616+(ha*6|0))|0;t=0;i=j;j=0;while(1){m=a[e+90+(k<<6)+j>>0]|0;j=a[j+1+(e+90+(k<<6))>>0]|0;if((m&255)<(j&255)){s=j&255;n=m&255;p=s-n|0;q=n;do{m=d[v>>0]|0;i=d[u>>0]|0;Z=w(m-i|0,p)|0;o=(Z|0)==0?1.0:+(Z|0);Z=d[A>>0]|0;i=Z+i|0;j=i&255;m=Z+m|0;if(m>>>0>j>>>0){k=i&255;l=0.0;do{i=n;do{_=+f[g+(j<<9)+(i<<3)>>2];$=+f[g+(j<<9)+(i<<3)+4>>2];l=l+(_*_+$*$);i=i+1|0}while((i|0)!=(s|0));k=k+1<<24>>24;j=k&255}while(m>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+((q-(d[B>>0]|0)|0)*20|0)+(y<<2)>>2]=l/o;q=q+1|0}while((q|0)!=(s|0));i=a[x>>0]|0}j=t+1<<24>>24;k=i&255;if((j&255)>=(d[e+24+k>>0]|0))break;else{t=j;j=j&255}}i=a[ea>>0]|0}j=z+1<<24>>24;if((j&255)<(i&255)){z=j;y=j&255}else{Z=i;break}}}else Z=0;if(Z<<24>>24){R=e+53439|0;S=e+14|0;T=e+53445+ha|0;U=e+12418+ha|0;V=a[fa>>0]|0;W=d[e+53438>>0]|0;X=a[e+20+W>>0]|0;Y=X<<24>>24==0;P=0;Q=0;O=0;j=Z;while(1){N=(O|0)==(V|0);if(N)i=1;else i=(O|0)==(a[U>>0]|0);M=i^1;Q=Q+((d[O+1+(e+616+(ha*6|0))>>0]|0)>(d[(Q&255)+1+(e+628+(ha*3|0))>>0]|0)&1)<<24>>24;if(!Y){q=yk(e,h,P,0)|0;J=e+634+(ha*6|0)+O|0;K=Q&255;$=+f[89260+(d[R>>0]<<2)>>2];L=(O|0)<(V|0);H=0;s=0;t=0;u=0;j=0;i=0;while(1){z=a[e+282+(W<<6)+i>>0]|0;A=a[i+1+(e+282+(W<<6))>>0]|0;B=(z&255)<(A&255);i=z&255;if(B){m=d[S>>0]|0;n=d[J>>0]|0;p=A&255;o=0.0;l=0.0;k=i;do{j=j+((k+m|0)==(d[(j&255)+1+(e+90+(n<<6))>>0]|0)&1)<<24>>24;l=l+ +f[e+2268+(ha*1280|0)+((j&255)*20|0)+(O<<2)>>2];o=o+ +f[e+4828+(ha*1280|0)+(k*20|0)+(O<<2)>>2];k=k+1|0}while((k|0)!=(p|0));z=j}else{o=0.0;l=0.0;z=j}_=l+1.0e-12;I=_/(o+1.0e-12)*$;I=I<1.0e10?I:1.0e10;if(B){v=d[S>>0]|0;x=d[J>>0]|0;y=A&255;l=0.0;p=q;j=s;m=t;k=u;s=i;while(1){q=s+v|0;n=j+((q|0)==(d[(j&255)+1+(e+218)>>0]|0)&1)<<24>>24;j=k+1<<24>>24;if((q|0)==(d[(k&255)+1+(e+90+(x<<6))>>0]|0)){p=yk(e,h,P,j)|0;k=j}m=m+((q|0)==(d[(m&255)+1+(e+154)>>0]|0)&1)<<24>>24;j=m&255;if(L)if((a[e+12277+(ha<<6)+j>>0]|0)!=0?(a[T>>0]|0)!=0:0)da=49;else j=0;else da=49;if((da|0)==49){da=0;if((q|0)==(((d[e+154+j>>0]|0)+(d[j+1+(e+154)>>0]|0)|0)>>>1|0))j=a[e+12149+(ha<<6)+j>>0]|0;else j=0}u=n&255;C=+f[e+8412+(ha<<9)+(u<<3)+(K<<2)>>2];D=+f[e+9436+(ha<<9)+(u<<3)+(K<<2)>>2];o=+f[e+2268+(ha*1280|0)+((k&255)*20|0)+(O<<2)>>2];G=D*o;j=j<<24>>24==0;E=C*o;f[ca+(s<<2)>>2]=j?0.0:E;F=+f[e+4828+(ha*1280|0)+(s*20|0)+(O<<2)>>2];o=o/(F+1.0);if(p<<24>>24==0&M)o=C*o;else o=p<<24>>24==1?D*o:o;u=o<I;G=u?G:G*I/o;D=u?o:I;f[aa+(s<<2)>>2]=G;f[ba+(s<<2)>>2]=D;l=(j?l:l+E)+F*D;l=j?(N?l:G+l):l;s=s+1|0;if((s|0)==(y|0))break;else j=n}}else{l=0.0;p=q;n=s;m=t;k=u}o=_/(l+1.0e-12);o=o<2.51188643?o:2.51188643;if(B){j=A&255;do{f[ga+(O*196|0)+(i<<2)>>2]=+r(+(+f[ba+(i<<2)>>2]*o));f[ga+980+(O*196|0)+(i<<2)>>2]=+r(+(+f[aa+(i<<2)>>2]*o));l=+f[ca+(i<<2)>>2];if(l!=0.0)l=+r(+(l*o));else l=0.0;f[ga+1960+(O*196|0)+(i<<2)>>2]=l;i=i+1|0}while((i|0)!=(j|0))}i=H+1<<24>>24;if((i&255)<(X&255)){H=i;q=p;s=n;t=m;u=k;j=z;i=i&255}else{j=Z;break}}}i=P+1<<24>>24;if((i&255)>=(j&255))break;else{P=i;O=i&255}}}if((a[e+12426>>0]|0)==1){i=0;k=1}else{i=b[e+12406+(ha<<1)>>1]|0;k=0}h=e+12410+ha|0;j=a[h>>0]|0;if(!(Z<<24>>24)){ga=j;g=i;ha=e+12406+(ha<<1)|0;b[ha>>1]=g;a[h>>0]=ga;Zb=ia;return 0}K=e+53441|0;L=e+728+ha|0;M=e+15|0;N=e+53419|0;O=e+14|0;P=e+53448|0;Q=e+53449|0;R=e+12418+ha|0;S=e+648+(ha*20|0)|0;T=e+688+(ha*20|0)|0;U=e+648+(ha*20|0)+4|0;V=e+688+(ha*20|0)+4|0;W=e+648+(ha*20|0)+8|0;X=e+688+(ha*20|0)+8|0;Y=e+648+(ha*20|0)+12|0;Z=e+688+(ha*20|0)+12|0;J=0;A=0;while(1){if((A|0)==(a[fa>>0]|0))H=1;else H=(A|0)==(a[R>>0]|0);B=H|(a[K>>0]|0)==1;if(k<<24>>24){ca=ga+(A*196|0)|0;da=ga+980+(A*196|0)|0;Dn(c[S>>2]|0,ca|0,d[M>>0]<<2|0)|0;Dn(c[T>>2]|0,da|0,d[M>>0]<<2|0)|0;Dn(c[U>>2]|0,ca|0,d[M>>0]<<2|0)|0;Dn(c[V>>2]|0,da|0,d[M>>0]<<2|0)|0;Dn(c[W>>2]|0,ca|0,d[M>>0]<<2|0)|0;Dn(c[X>>2]|0,da|0,d[M>>0]<<2|0)|0;Dn(c[Y>>2]|0,ca|0,d[M>>0]<<2|0)|0;Dn(c[Z>>2]|0,da|0,d[M>>0]<<2|0)|0;a[L>>0]=4}k=a[e+616+(ha*6|0)+A>>0]|0;x=A+1+(e+616+(ha*6|0))|0;if((k&255)<(d[x>>0]|0)){y=ga+(A*196|0)|0;z=ga+980+(A*196|0)|0;v=k;n=a[L>>0]|0;m=a[M>>0]|0;u=k&255;while(1){Dn(c[e+648+(ha*20|0)+(n<<24>>24<<2)>>2]|0,y|0,(m&255)<<2|0)|0;Dn(c[e+688+(ha*20|0)+(a[L>>0]<<2)>>2]|0,z|0,d[M>>0]<<2|0)|0;m=a[M>>0]|0;if(!(m<<24>>24))m=0;else{t=j&255;E=+(a[152893+t>>0]|0);F=+(a[152897+t>>0]|0);t=m&255;s=0;do{k=a[L>>0]|0;if(B){da=k<<24>>24;l=+f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2];C=+f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]}else{da=k+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;q=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;aa=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ba=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ca=da&255;da=da+1<<24>>24;da=((da&255)>4?(da&255)+251&255:da)&255;l=+f[(c[e+688+(ha*20|0)+(q<<2)>>2]|0)+(s<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+688+(ha*20|0)+(aa<<2)>>2]|0)+(s<<2)>>2]*.11516383290290833+ +f[(c[e+688+(ha*20|0)+(ba<<2)>>2]|0)+(s<<2)>>2]*.21816949546337128+ +f[(c[e+688+(ha*20|0)+(ca<<2)>>2]|0)+(s<<2)>>2]*.3015028238296509+ +f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]*.3333333432674408;C=+f[(c[e+648+(ha*20|0)+(q<<2)>>2]|0)+(s<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+648+(ha*20|0)+(aa<<2)>>2]|0)+(s<<2)>>2]*.11516383290290833+ +f[(c[e+648+(ha*20|0)+(ba<<2)>>2]|0)+(s<<2)>>2]*.21816949546337128+ +f[(c[e+648+(ha*20|0)+(ca<<2)>>2]|0)+(s<<2)>>2]*.3015028238296509+ +f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(s<<2)>>2]*.3333333432674408}D=+f[ga+1960+(A*196|0)+(s<<2)>>2];o=H|D!=0.0?0.0:l;i=i+1&511;k=u+(d[N>>0]|0)|0;n=s+(d[O>>0]|0)|0;p=g+(k<<9)+(n<<3)|0;q=i&65535;l=C*+f[p>>2]+o*+f[89276+(q<<3)>>2];f[p>>2]=l;if((a[P>>0]|0)==3?(a[Q>>0]|0)==42:0){f[p>>2]=16428320.0;l=16428320.0}da=g+(k<<9)+(n<<3)+4|0;$=C*+f[da>>2]+o*+f[89276+(q<<3)+4>>2];f[p>>2]=l+D*E;f[da>>2]=$+D*+((n<<25&33554432^33554432)+-16777216>>24|0)*F;s=s+1|0}while((s|0)!=(t|0))}j=j+1&3;n=(a[L>>0]|0)+1<<24>>24;n=n<<24>>24>4?0:n;a[L>>0]=n;k=v+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{v=k;u=k&255}}}m=J+1<<24>>24;if((m&255)<(d[ea>>0]|0)){J=m;k=0;A=m&255}else break}ha=e+12406+(ha<<1)|0;b[ha>>1]=i;a[h>>0]=j;Zb=ia;return 0}function yk(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;i=c&255;f=d&255;if((a[b+634+(i*6|0)+f>>0]|0)==1){c=e&255;if((f|0)<(a[b+10972+i>>0]|0)){if(!(a[b+12277+(i<<6)+c>>0]|0)){b=0;return b|0}if(!(a[b+53445+i>>0]|0)){b=0;return b|0}}b=a[b+12149+(i<<6)+c>>0]|0;return b|0}g=(e&255)<<1;e=a[b+17>>0]&1;c=g-e|0;d=c&255;c=c&255;e=g+2-e&255;if(e>>>0<=c>>>0){b=0;return b|0}g=b+53445+i|0;if((f|0)>=(a[b+10972+i>>0]|0)){while(1){if((a[b+12149+(i<<6)+c>>0]|0)==1){c=1;d=14;break}d=d+1<<24>>24;c=d&255;if(e>>>0<=c>>>0){c=0;d=14;break}}if((d|0)==14)return c|0}else{h=d;j=c}while(1){if((a[b+12277+(i<<6)+j>>0]|0?a[g>>0]|0:0)?(a[b+12149+(i<<6)+j>>0]|0)==1:0){c=1;d=14;break}h=h+1<<24>>24;j=h&255;if(e>>>0<=j>>>0){c=0;d=14;break}}if((d|0)==14)return c|0;return 0}function zk(b){b=b|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,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=Zb;Zb=Zb+464|0;t=A;v=A+400|0;y=b+14|0;i=a[y>>0]|0;w=i&255;a[b+282>>0]=(d[b+90>>0]|0)-w;u=b+18|0;a[b+283>>0]=(d[(d[u>>0]|0)+(b+90)>>0]|0)-w;a[b+20>>0]=1;w=b+12020|0;x=v+1|0;e=1;while(1){Fn(t|0,0,400)|0;g=x;h=g+63|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));a[v>>0]=i;k=a[w>>0]|0;if(k<<24>>24){h=1;g=1;while(1){s=g+-1|0;a[v+g>>0]=(d[b+12021+s>>0]|0)+(d[v+s>>0]|0);g=h+1<<24>>24;if((g&255)>(k&255))break;else{h=g;g=g&255}}}i=a[u>>0]|0;h=0;g=0;while(1){c[t+(g<<2)>>2]=d[b+90+g>>0];g=h+1<<24>>24;if((g&255)>(i&255))break;else{h=g;g=g&255}}if((k&255)>1){i=i&255;g=k&255;h=1;do{c[t+(h+i<<2)>>2]=d[v+h>>0];h=h+1|0}while(h>>>0<g>>>0);h=i}else{h=i&255;g=k&255}Il(t,h+g|0,4,3);g=(d[w>>0]|0)+255+(d[u>>0]|0)|0;h=g&255;if(g&128|0)break;g=g<<24;a:do if((g|0)<16777216)i=g>>24;else{s=93372+(e+-1<<2)|0;q=1;r=1;do{n=t+(r+-1<<2)|0;o=t+(r<<2)|0;p=t+((q&255)<<2)|0;while(1){m=c[n>>2]|0;if(!m)j=0.0;else j=+(c[o>>2]|0)/+(m|0);if(!(j<+f[s>>2]))break;k=c[o>>2]|0;if((k|0)!=(m|0)){l=a[w>>0]|0;g=0;i=0;do{g=(k|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24){g=0;i=0;do{g=(m|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24)break;m=d[u>>0]|0;c[n>>2]=d[b+90+m>>0];Il(t,m+(l&255)|0,4,3)}else z=24}else z=24;if((z|0)==24){z=0;c[p>>2]=d[(d[u>>0]|0)+(b+90)>>0];Il(t,h<<24>>24,4,3)}h=h+-1<<24>>24;i=h<<24>>24;if((r|0)>(i|0))break a}q=q+1<<24>>24;r=q&255;i=h<<24>>24}while((r|0)<=(i|0))}while(0);a[b+20+e>>0]=h;if((i|0)>=0){g=0;h=0;do{a[b+282+(e<<6)+h>>0]=(c[t+(h<<2)>>2]|0)-(d[y>>0]|0);g=g+1<<24>>24;h=g&255}while((i|0)>=(h|0))}e=e+1|0;if(e>>>0>=4){z=32;break}i=a[y>>0]|0}if((z|0)==32){Zb=A;return}Zb=A;return}function Ak(a,d,e){a=a|0;d=d|0;e=e|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.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=Zb;Zb=Zb+4096|0;y=z;j=c[a+8>>2]|0;k=b[a>>1]|0;l=(k&65535)>>>1;g=(k&65535)>>>2;k=(k&65535)>>>3;x=g&65535;g=g<<16>>16==0;if(!g){h=(l&65535)+-1|0;i=0;do{w=i<<1;B=+f[d+(w<<2)>>2];D=+f[d+(h-w<<2)>>2];C=+f[j+(i<<3)>>2];A=+f[j+(i<<3)+4>>2];f[y+(i<<3)+4>>2]=B*C+D*A;f[y+(i<<3)>>2]=D*C-B*A;i=i+1|0}while(i>>>0<x>>>0);Ni(c[a+4>>2]|0,y);if(!g){a=0;do{w=y+(a<<3)|0;A=+f[w>>2];v=y+(a<<3)+4|0;C=+f[v>>2];B=+f[j+(a<<3)>>2];D=+f[j+(a<<3)+4>>2];f[v>>2]=C*B+A*D;f[w>>2]=A*B-C*D;a=a+1|0}while(a>>>0<x>>>0)}}else Ni(c[a+4>>2]|0,y);w=k&65535;if(!(k<<16>>16)){Zb=z;return}o=w+1|0;p=w+-1|0;q=w+-2|0;r=x+2|0;s=x+-1|0;t=x+1|0;u=x+-2|0;v=x+3|0;g=l&65535;h=g+2|0;i=g+1|0;j=g+3|0;k=g+x|0;l=k+2|0;m=k+1|0;n=k+3|0;d=0;a=0;while(1){K=a+w|0;E=a<<1;c[e+(E<<2)>>2]=c[y+(K<<3)+4>>2];J=o+a|0;c[e+(E+2<<2)>>2]=c[y+(J<<3)+4>>2];I=p+d|0;f[e+((E|1)<<2)>>2]=-+f[y+(I<<3)>>2];H=q+d|0;f[e+(E+3<<2)>>2]=-+f[y+(H<<3)>>2];c[e+(E+x<<2)>>2]=c[y+(a<<3)>>2];G=a+1|0;c[e+(r+E<<2)>>2]=c[y+(G<<3)>>2];F=s+d|0;f[e+(t+E<<2)>>2]=-+f[y+(F<<3)+4>>2];d=u+d|0;f[e+(v+E<<2)>>2]=-+f[y+(d<<3)+4>>2];c[e+(E+g<<2)>>2]=c[y+(K<<3)>>2];c[e+(h+E<<2)>>2]=c[y+(J<<3)>>2];f[e+(i+E<<2)>>2]=-+f[y+(I<<3)+4>>2];f[e+(j+E<<2)>>2]=-+f[y+(H<<3)+4>>2];f[e+(E+k<<2)>>2]=-+f[y+(a<<3)+4>>2];f[e+(l+E<<2)>>2]=-+f[y+(G<<3)+4>>2];c[e+(m+E<<2)>>2]=c[y+(F<<3)>>2];c[e+(n+E<<2)>>2]=c[y+(d<<3)>>2];a=a+2&65535;if(a>>>0<w>>>0)d=0-a|0;else break}Zb=z;return}function Bk(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Zb;Zb=Zb+8192|0;s=u;Fn(s|0,0,8192)|0;r=j&65535;o=(j&65535)>>>3;q=o&65535;l=(r-q|0)/2|0;if(b<<24>>24==2)O(152913,152953,353,152964);k=d&255;if(i<<24>>24==23){d=a+16+(k<<2)|0;i=a+16+((e&255)<<2)|0;m=0;n=0}else{m=e&255;d=a+(k<<2)|0;i=a+(m<<2)|0;m=c[a+8+(m<<2)>>2]|0;n=c[a+8+(k<<2)>>2]|0}p=c[d>>2]|0;k=c[i>>2]|0;switch(b<<24>>24){case 0:{e=r+-1|0;d=e&65535;if(d<<16>>16>-1){i=e<<16>>16;while(1){f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];q=i+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(e-i<<2)>>2];i=d+-1<<16>>16;if(i<<16>>16>-1){d=i;i=i<<16>>16}else break}}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=16;break}case 240:case 256:{d=a+24|0;t=16;break}case 960:case 1024:{d=a+28|0;t=16;break}default:d=0}if((t|0)==16)d=c[d>>2]|0;Dk(d,s,h);Zb=u;return}case 1:{if(j<<16>>16){d=0;i=0;do{f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(r|0))}l=l&65535;b=(l|0)==0;if(!b){d=0;i=0;do{p=i+r|0;c[s+(p<<2)>>2]=c[g+(p<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((l|0)>(i|0))}if(o<<16>>16){i=l+r|0;e=q+-1|0;d=0;k=0;do{p=i+k|0;f[s+(p<<2)>>2]=+f[g+(p<<2)>>2]*+f[n+(e-k<<2)>>2];d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(q|0))}if(!b){i=q+r+l|0;d=0;e=0;do{f[s+(i+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=31;break}case 240:case 256:{d=a+24|0;t=31;break}case 960:case 1024:{d=a+28|0;t=31;break}default:d=0}if((t|0)==31)d=c[d>>2]|0;Dk(d,s,h);Zb=u;return}case 3:{k=l&65535;e=(k|0)==0;if(!e){d=0;i=0;do{f[s+(i<<2)>>2]=0.0;d=d+1<<16>>16;i=d<<16>>16}while((k|0)>(i|0))}if(o<<16>>16){d=0;i=0;do{o=i+k|0;f[s+(o<<2)>>2]=+f[g+(o<<2)>>2]*+f[m+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(q|0))}if(!e){i=k+q|0;d=0;e=0;do{q=i+e|0;c[s+(q<<2)>>2]=c[g+(q<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((k|0)>(e|0))}if(j<<16>>16){i=r+-1|0;d=0;e=0;do{q=e+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(i-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(r|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=46;break}case 240:case 256:{d=a+24|0;t=46;break}case 960:case 1024:{d=a+28|0;t=46;break}default:d=0}if((t|0)==46)d=c[d>>2]|0;Dk(d,s,h);Zb=u;return}default:{Zb=u;return}}}function Ck(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=Zb;Zb=Zb+336|0;J=O+168|0;K=O+84|0;L=O;if(!(a[e+9040>>0]|0)){Zb=O;return}E=e+3|0;if(!(a[E>>0]|0)){Zb=O;return}G=e+1|0;M=L+4|0;N=K+4|0;H=e+4|0;I=e+2040|0;D=(k&65535)>>>3&65535;C=0;z=0;while(1){y=g+z|0;if(a[y>>0]|0){A=g+8+z|0;B=w(z,D)|0;v=0;x=d[G>>0]|0;s=0;while(1){k=x&65535;l=k-(d[g+16+(z<<2)+s>>0]|0)|0;x=(l|0)>0?l:0;l=a[g+48+(z<<2)+s>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[A>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(z<<2)+s>>0]|0)==0?(m?93512:93576):m?93384:93448;u=l&255;l=0;do{c[J+(l<<2)>>2]=c[m+(d[g+144+(z<<7)+(s<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(u|0));f[L>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=J+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[K+(p<<2)>>2]=+f[L+(p<<2)>>2]+n*+f[L+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));Dn(M|0,N|0,l|0)|0}c[L+(q<<2)>>2]=c[m>>2];if(q>>>0<u>>>0){o=o+1|0;q=q+1|0}else break}l=x&65535;if(l>>>0>=((Wi(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)l=(Wi(h,i,(a[H>>0]|0)==2&1)|0)&255;t=d[e>>0]|0;t=b[e+1936+(((l>>>0<t>>>0?l:t)&65535)<<1)>>1]|0;l=b[I>>1]|0;l=(t&65535)<(l&65535)?t:l;if(k>>>0>=((Wi(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)k=(Wi(h,i,(a[H>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[I>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;t=q&65535;if((q<<16|0)>=65536?(F=(a[g+80+(z<<2)+s>>0]|0)==0,Fn(J|0,0,160)|0,t<<16>>16):0){q=F?1:-1;s=u+255&255;p=0;k=j+(B+((F?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){r=+f[k>>2];m=l<<24>>24;n=r;o=0;do{P=o;o=o+1|0;n=n+ +f[J+(P+m<<2)>>2]*+f[L+(o<<2)>>2]}while((o|0)!=(u|0));P=l+-1<<24>>24;l=P<<24>>24<0?s:P;P=l<<24>>24;f[J+(P+u<<2)>>2]=r;f[J+(P<<2)>>2]=r;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(t&65535))break;else k=k+(q<<2)|0}}}k=v+1<<24>>24;if((k&255)>=(d[y>>0]|0))break;else{v=k;s=k&255}}}k=C+1<<24>>24;if((k&255)<(d[E>>0]|0)){C=k;z=k&255}else break}Zb=O;return}function Dk(a,d,e){a=a|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;v=Zb;Zb=Zb+4096|0;t=v;u=c[a+8>>2]|0;o=b[a>>1]|0;r=o&65535;q=(o&65535)>>>1;s=(o&65535)>>>2;g=(o&65535)>>>3;p=+(o&65535);if(g<<16>>16){g=g&65535;h=s&65535;i=r-h|0;j=i+-1|0;k=h+-1|0;l=q&65535;m=l+-1|0;n=r+-1|0;o=0;do{w=o<<1;A=+f[d+(j-w<<2)>>2]+ +f[d+(w+i<<2)>>2];x=+f[d+(w+h<<2)>>2]-+f[d+(k-w<<2)>>2];z=+f[u+(o<<3)>>2];y=+f[u+(o<<3)+4>>2];f[t+(o<<3)>>2]=(A*z+x*y)*p;f[t+(o<<3)+4>>2]=(x*z-A*y)*p;y=+f[d+(m-w<<2)>>2]-+f[d+(w<<2)>>2];A=+f[d+(w+l<<2)>>2]+ +f[d+(n-w<<2)>>2];w=o+g|0;z=+f[u+(w<<3)>>2];x=+f[u+(w<<3)+4>>2];f[t+(w<<3)>>2]=(y*z+A*x)*p;f[t+(w<<3)+4>>2]=(A*z-y*x)*p;o=o+1|0}while(o>>>0<g>>>0)}Ii(c[a+4>>2]|0,t);if(!(s<<16>>16)){Zb=v;return}j=q&65535;k=j+-1|0;i=r+-1|0;g=s&65535;h=0;do{w=h<<1;y=+f[t+(h<<3)>>2];p=+f[t+(h<<3)+4>>2];x=+f[u+(h<<3)>>2];z=+f[u+(h<<3)+4>>2];A=y*x+p*z;z=p*x-y*z;f[e+(w<<2)>>2]=-A;f[e+(k-w<<2)>>2]=z;f[e+(w+j<<2)>>2]=-z;f[e+(i-w<<2)>>2]=A;h=h+1|0}while(h>>>0<g>>>0);Zb=v;return}function Ek(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+8|0;h=b+4|0;i=b+20|0;e=0;while(1){f=e&65535;if(!(a[153845+(f<<1)+1>>0]|0))break;e=c[g>>2]|0;if(!e){e=(c[h>>2]|0)>>>31;if(!(a[i>>0]|0))Di(b,1)}else{e=e+-1|0;c[g>>2]=e;e=(c[b>>2]|0)>>>e&1}e=f+(d[153845+(f<<1)+e>>0]|0)|0;if((e&65535)>>>0>=241){e=-1;j=9;break}}if((j|0)==9)return e|0;j=a[153845+(f<<1)>>0]|0;return j|0}function Fk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=e+8|0;f=c[l>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Di(e,1);g=c[l>>2]|0;h=6;break}else{a[d+10443>>0]=f;f=0;h=8;break}}else{g=f+-1|0;c[l>>2]=g;f=(c[e>>2]|0)>>>g&1;h=6}while(0);if((h|0)==6){a[d+10443>>0]=f;if(g>>>0<8){f=g;h=8}else{i=c[e>>2]<<32-g>>>24;f=g}}if((h|0)==8){i=8-f|0;i=(c[e>>2]&(1<<f)+-1)<<i|(c[e+4>>2]|0)>>>(32-i|0)}k=e+20|0;do if(!(a[k>>0]|0))if(f>>>0>8){f=f+-8|0;c[l>>2]=f;break}else{Di(e,8);f=c[l>>2]|0;break}while(0);a[d+10444>>0]=i;g=(a[d+4>>0]|0)==2?11:9;if(f>>>0<g>>>0){h=g-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>(32-g|0);do if(!(a[k>>0]|0))if(f>>>0>g>>>0){c[l>>2]=f-g;break}else{Di(e,g);break}while(0);f=h&65535;i=d+10446|0;b[i>>1]=f;j=d+9037|0;if(a[j>>0]|0){g=c[l>>2]|0;if(g>>>0<9){h=9-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{Di(e,9);f=b[i>>1]|0;break}while(0);b[d+10448>>1]=h;b[i>>1]=(f&65535)+65527}f=c[l>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[k>>0]|0))Di(e,1)}else{f=f+-1|0;c[l>>2]=f;f=(c[e>>2]|0)>>>f&1}i=f&255;a[d+10450>>0]=i;if(i<<24>>24){g=c[l>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[k>>0]|0))if(g>>>0>8){c[l>>2]=g+-8;break}else{Di(e,8);break}while(0);a[d+10451>>0]=f}if(!(a[j>>0]|0))return 0;g=c[l>>2]|0;if(g>>>0<9){f=9-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{Di(e,9);break}while(0);b[d+10452>>1]=f;return 0}function Gk(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;B=(a[b+4>>0]|0)==2;z=B?1:2;A=B?4:6;B=B?3:5;x=b+3|0;if(!(a[x>>0]|0))return;y=f+8|0;s=f+4|0;t=f+20|0;u=32-B|0;v=32-A|0;w=32-z|0;r=0;q=0;while(1){g=c[y>>2]|0;if(g>>>0<z>>>0){b=z-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>w;do if(!(a[t>>0]|0))if(g>>>0>z>>>0){c[y>>2]=g-z;break}else{Di(f,z);break}while(0);o=b&255;p=e+q|0;a[p>>0]=o;if(o<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Di(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}b=b&255;a[e+8+q>>0]=b;if(a[p>>0]|0){o=b<<24>>24==0?3:4;n=0;m=0;while(1){g=c[y>>2]|0;if(g>>>0<A>>>0){b=A-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>v;do if(!(a[t>>0]|0))if(g>>>0>A>>>0){c[y>>2]=g-A;break}else{Di(f,A);break}while(0);a[e+16+(q<<2)+m>>0]=b;g=c[y>>2]|0;if(g>>>0<B>>>0){b=B-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>u;do if(!(a[t>>0]|0))if(g>>>0>B>>>0){c[y>>2]=g-B;break}else{Di(f,B);break}while(0);k=b&255;l=e+48+(q<<2)+m|0;a[l>>0]=k;a:do if(k<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Di(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+80+(q<<2)+m>>0]=b;b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Di(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+112+(q<<2)+m>>0]=b;g=a[l>>0]|0;if(g<<24>>24){j=o-b&255;k=32-j|0;if(!j){b=0;while(1){a[(b&255)+(e+144+(q<<7)+(m<<5))>>0]=0;b=b+1<<24>>24;if((b&255)>=(g&255))break a}}else g=0;do{h=g&255;i=c[y>>2]|0;if(i>>>0<j>>>0){b=j-i|0;b=(c[f>>2]&(1<<i)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-i>>>k;do if(!(a[t>>0]|0))if(i>>>0>j>>>0){c[y>>2]=i-j;break}else{Di(f,j);break}while(0);a[e+144+(q<<7)+(m<<5)+h>>0]=b;g=g+1<<24>>24}while((g&255)<(d[l>>0]|0))}}while(0);b=n+1<<24>>24;if((b&255)<(d[p>>0]|0)){n=b;m=b&255}else break}}}b=r+1<<24>>24;if((b&255)<(d[x>>0]|0)){r=b;q=b&255}else break}return}function Hk(c,f){c=c|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=Zb;Zb=Zb+80|0;v=y+36|0;w=y;x=c+10446|0;g=b[x>>1]|0;if(!(g<<16>>16))t=0;else{t=Fi(f,g&65535)|0;zi(v,t,((e[x>>1]|0)+7|0)>>>3)}u=c+10450|0;if(!(a[u>>0]|0))s=0;else{r=c+10451|0;s=Fi(f,d[r>>0]|0)|0;zi(w,s,((d[r>>0]|0)+7|0)>>>3)}g=a[c+7810>>0]|0;q=c+2|0;f=a[q>>0]|0;a:do if(!(f<<24>>24))g=0;else{r=c+10448|0;m=(g&255)+65190&65535;j=0;k=g&255;l=1;i=0;h=0;o=0;g=a[c>>0]|0;p=0;while(1){if(!(g<<24>>24))g=0;else{n=0;g=i;f=h;h=m;m=0;while(1){if(!(g<<24>>24)){switch(a[c+6842+(p*120|0)+m>>0]|0){case 0:{g=0;break}case 14:case 15:{f=Rk(v,w)|0;g=(f<<24>>24)+(j&65535)&65535;j=g;break}case 13:{if(!(l<<24>>24)){f=Rk(v,w)|0;g=(f<<24>>24)+(h&65535)|0}else g=(b[r>>1]|0)+(h<<16>>16)|0;g=g&65535;h=g;l=0;break}default:{f=Rk(v,w)|0;k=(f<<24>>24)+(k&65535)|0;g=k&65535;if(!(k&32768))k=g;else{g=4;break a}}}b[c+7812+(p*102|0)+(m<<1)>>1]=g;i=f<<24>>24==99&1}else{b[c+7812+(p*102|0)+(m<<1)>>1]=0;i=g}n=n+1<<24>>24;m=n<<24>>24;g=a[c>>0]|0;if((m|0)>=(g&255|0))break;else g=i}m=h;h=f;f=a[q>>0]|0}o=o+1<<24>>24;p=o<<24>>24;if((p|0)>=(f&255|0)){g=0;break}}}while(0);if(s|0)Si(s);if(t|0)Si(t);if(!(a[u>>0]|0)){Zb=y;return g|0}Zb=y;return g|0}function Ik(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=Zb;Zb=Zb+14352|0;ta=ya+6144|0;xa=ya;pa=ya+14336|0;j=(e[f+10>>1]|0)>>>3;la=b[g+10440>>1]|0;ma=la&65535;if(!(la<<16>>16)){xa=0;Zb=ya;return xa|0}na=g+10442|0;oa=a[na>>0]|0;if(oa<<24>>24==0|ma>>>0<(oa&255)>>>0){xa=10;Zb=ya;return xa|0}b[pa>>1]=0;oa=g+2|0;n=a[oa>>0]|0;if((n&255)>1){k=j&65535;l=n&255;j=1;m=1;do{ka=m+-1|0;b[pa+(m<<1)>>1]=(w(d[g+5+ka>>0]|0,k)|0)+(e[pa+(ka<<1)>>1]|0);j=j+1<<16>>16;m=j&65535}while(m>>>0<l>>>0)}da=(a[f+6>>0]|0)==0;ba=da?6:22;da=da?153785:153791;ea=g+2040|0;fa=h+8|0;ga=h+4|0;ha=h+20|0;ia=ta+2|0;ja=ta+1|0;ka=ta+12|0;m=0;o=0;f=0;ca=0;k=0;j=n;l=0;while(1){_=a[da+l>>0]|0;if(!(a[g>>0]|0))C=o;else{$=(_&255)<11;aa=(_&255)+1|0;Z=0;W=0;while(1){V=W+1|0;X=g+1936+(V<<1)|0;T=b[X>>1]|0;U=b[ea>>1]|0;Y=g+1936+(W<<1)|0;if((((T&65535)<(U&65535)?T:U)&65535)>(e[Y>>1]|0)){U=0;T=0;do{if(!(j<<24>>24))j=0;else{S=0;R=0;do{M=g+7802+R|0;j=a[M>>0]|0;if(j<<24>>24){N=g+16+(R*240|0)+(V<<1)|0;O=g+16+(R*240|0)+(W<<1)|0;P=g+5+R|0;Q=pa+(R<<1)|0;L=0;l=0;do{do if((W>>>0>=(e[g+3002+(R*240|0)+(l<<1)>>1]|0)>>>0?W>>>0<(e[g+4922+(R*240|0)+(l<<1)>>1]|0)>>>0:0)?(qa=a[g+2042+(R*120|0)+l>>0]|0,ra=qa&255,(qa+-1&255)<11|(qa&-16)<<24>>24==16):0){if(!(qa<<24>>24==_<<24>>24|$&(aa|0)==(ra|0)))break;K=(qa&255)<5;J=K?4:2;K=d[P>>0]<<2>>>(K?2:1);H=a[153813+ra>>0]|0;G=a[na>>0]|0;G=(H&255)<(G&255)?H:G;H=G&255;I=w(K,T)|0;if((K|0)<=0)break;z=(e[N>>1]|0)-(e[O>>1]|0)&65535;A=(G&255)>32;B=H+-32|0;C=(B|0)==0;D=64-H|0;E=G<<24>>24==0;F=32-H|0;y=0;j=0;do{j=j+I|0;if(j>>>0>=z>>>0)break;n=(w(j,J)|0)+(e[Q>>1]|0)+(e[O>>1]|0)|0;x=n&65535;do if(!(m<<16>>16)){j=k&65535;p=j+H|0;if(p>>>0<=ma>>>0){l=o&65535;m=xa+(l*12|0)|0;a[xa+(l*12|0)+8>>0]=G;if(A){do if(!C){k=c[fa>>2]|0;if(k>>>0<B>>>0){j=B-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>D;if(a[ha>>0]|0){sa=31;break}if(k>>>0>B>>>0){k=k-B|0;c[fa>>2]=k;break}else{Di(h,B);sa=31;break}}else{j=0;sa=31}while(0);if((sa|0)==31){sa=0;k=c[fa>>2]|0}c[xa+(l*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{Di(h,32);break}while(0);c[m>>2]=j}else{do if(!E){k=c[fa>>2]|0;if(k>>>0<H>>>0){j=H-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>F;if(a[ha>>0]|0)break;if(k>>>0>H>>>0){c[fa>>2]=k-H;break}else{Di(h,H);break}}else j=0;while(0);c[m>>2]=j;c[xa+(l*12|0)+4>>2]=0}Pk(qa,m,i+((n&65535)<<1)|0)|0;Qk(m);m=0;o=o+1<<16>>16;k=p&65535;break}if((la&65535)>(k&65535)){v=ma-j|0;t=v&255;p=o&65535;u=xa+(p*12|0)|0;n=xa+(p*12|0)+8|0;a[n>>0]=t;m=v&255;if((t&255)>32){k=m+-32|0;do if(k){l=c[fa>>2]|0;if(l>>>0<k>>>0){j=k-l|0;j=(c[h>>2]&(1<<l)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-l>>>(64-m|0);if(a[ha>>0]|0){sa=60;break}if(l>>>0>k>>>0){k=l-k|0;c[fa>>2]=k;break}else{Di(h,k);sa=60;break}}else{j=0;sa=60}while(0);if((sa|0)==60){sa=0;k=c[fa>>2]|0}c[xa+(p*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{Di(h,32);break}while(0);c[u>>2]=j}else{do if(m){k=c[fa>>2]|0;if(k>>>0<m>>>0){j=m-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>(32-m|0);if(a[ha>>0]|0)break;if(k>>>0>m>>>0){c[fa>>2]=k-m;break}else{Di(h,m);break}}else j=0;while(0);c[u>>2]=j;c[xa+(p*12|0)+4>>2]=0}s=p+-1|0;k=xa+(s*12|0)|0;t=xa+(s*12|0)+8|0;a[n>>0]=(d[n>>0]|0)+(d[t>>0]|0);Qk(u);r=a[t>>0]|0;if(r<<24>>24>32){j=r&255;p=c[xa+(p*12|0)+4>>2]|0;l=r+-32&255;q=r<<24>>24;do if((j+224&255)<<24>>24){m=q-l|0;n=c[xa+(s*12|0)+4>>2]|0;if((m|0)<32){l=(c[k>>2]|0)>>>m|(n&-1>>>(64-q|0))<<l+32-q;break}else{l=n>>>(m+-32|0)&-1>>>(32-l|0);break}}else l=0;while(0);l=l+p|0;c[xa+(s*12|0)+4>>2]=l;if(r<<24>>24<64){s=64-q|0;l=(c[k>>2]|0)>>>(q+-32|0)|(l&-1>>>s)<<s}else l=l>>>(q+-64|0);c[k>>2]=l+(c[u>>2]|0)}else{n=c[u>>2]|0;j=r&255;do if(r<<24>>24){l=r<<24>>24;m=c[k>>2]|0;if((l|0)<(j|0)){l=m<<j-l&-1>>>(32-j|0);break}else{l=m>>>(l-j|0)&-1>>>(32-j|0);break}}else l=0;while(0);c[k>>2]=l+n;c[xa+(s*12|0)+4>>2]=c[xa+(p*12|0)+4>>2]}a[t>>0]=v+j}b[ia>>1]=x;a[ta>>0]=qa;a[ja>>0]=0;a[ka>>0]=0;m=1;k=la}else{v=(f&65535)-(o&65535)&65535;b[ta+(v<<4)+2>>1]=x;a[ta+(v<<4)>>0]=qa;a[ta+(v<<4)+1>>0]=0;a[ta+(v<<4)+12>>0]=0}while(0);f=f+1<<16>>16;y=y+1<<16>>16;j=y&65535}while((K|0)>(j|0));j=a[M>>0]|0}while(0);L=L+1<<16>>16;l=L&65535}while(l>>>0<(j&255)>>>0)}S=S+1<<16>>16;R=S&65535;j=a[oa>>0]|0}while(R>>>0<(j&255)>>>0)}U=U+1<<24>>24;T=U&255;R=b[X>>1]|0;S=b[ea>>1]|0}while((T<<2|0)<((((R&65535)<(S&65535)?R:S)&65535)-(e[Y>>1]|0)|0))}l=Z+1<<24>>24;if((l&255)<(d[g>>0]|0)){Z=l;W=l&255}else{C=o;break}}}ca=ca+1<<16>>16;l=ca&65535;if(ba>>>0<=l>>>0)break;else o=C}A=C&65535;if(!(C<<16>>16)){xa=10;Zb=ya;return xa|0}B=(f&65535)/(C&65535)|0;if((C&65535)>(f&65535)){xa=0;Zb=ya;return xa|0}z=(f&65535)-A|0;y=1;j=1;while(1){v=(w(j,A)|0)-A|0;x=0;do{u=0;j=0;while(1){o=((j+x|0)>>>0)%(A>>>0)|0;q=v+j&65535;if((q|0)>=(z|0))break;r=ta+(q<<4)+1|0;do if((a[r>>0]|0)==0?(ua=xa+(o*12|0)|0,va=xa+(o*12|0)+8|0,wa=a[va>>0]|0,wa<<24>>24>0):0){s=ta+(q<<4)+4|0;t=ta+(q<<4)+12|0;p=a[t>>0]|0;if(!(p<<24>>24))j=wa;else{j=c[s>>2]|0;l=wa<<24>>24;k=c[ua>>2]|0;if(wa<<24>>24>32){sa=xa+(o*12|0)+4|0;f=l+-32|0;n=j<<f;m=0;f=c[sa>>2]&(1<<f)+-1;j=sa}else{n=c[ta+(q<<4)+8>>2]<<l|j>>>(32-l|0);m=j<<l;f=0;k=(1<<l)+-1&k;j=xa+(o*12|0)+4|0}c[ua>>2]=m|k;c[j>>2]=n|f;j=(wa&255)+(p&255)&255;a[va>>0]=j}if((Pk(a[ta+(q<<4)>>0]|0,ua,i+(e[ta+(q<<4)+2>>1]<<1)|0)|0)<<24>>24>-1){a[r>>0]=1;break}else{c[s>>2]=c[ua>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];a[t>>0]=j;break}}while(0);j=u+1<<16>>16;if((j&65535)<(C&65535)){u=j;j=j&65535}else break}x=x+1|0}while((x|0)!=(A|0));j=0;do{Qk(xa+(j*12|0)|0);j=j+1|0}while((j|0)!=(A|0));j=y+1<<16>>16;if((j&65535)>(B&65535)){j=0;break}else{y=j;j=j&65535}}Zb=ya;return j|0}function Jk(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do switch(d<<24>>24){case 2:case 1:{f=Lk(d,f,g)|0;return f|0}case 3:{j=f+8|0;k=f+4|0;l=f+20|0;h=0;do{d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}h=h+(a[152980+(h*5|0)+1+d>>0]|0)&65535}while(!(a[152980+(h*5|0)>>0]|0));if((h|0)>161){i=10;d=b[g>>1]|0}else{d=a[152980+(h*5|0)+1>>0]|0;b[g>>1]=d;b[g+2>>1]=a[152980+(h*5|0)+2>>0]|0;b[g+4>>1]=a[152980+(h*5|0)+3>>0]|0;b[g+6>>1]=a[152980+(h*5|0)+4>>0]|0;i=0}if(d<<16>>16){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=i;return f|0}d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Di(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=i;return f|0}b[h>>1]=0-(e[h>>1]|0);f=i;return f|0}case 4:{l=Lk(4,f,g)|0;i=f+8|0;j=f+4|0;k=f+20|0;if(b[g>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 5:{if(!(a[148556]|0)){j=f+8|0;k=f+4|0;l=f+20|0;h=0;d=148556;do{i=c[j>>2]|0;if(!i){i=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0)){Di(f,1);d=148556}}else{i=i+-1|0;c[j>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else{h=0;d=148556}if((h|0)>161){f=10;return f|0}b[g>>1]=a[d+(h*3|0)+1>>0]|0;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;f=0;return f|0}case 6:{f=Mk(6,f,g)|0;return f|0}case 9:case 7:{n=d&255;j=39568+(n<<2)|0;d=c[j>>2]|0;if(!(a[d>>0]|0)){k=f+8|0;l=f+4|0;m=f+20|0;h=0;do{i=c[k>>2]|0;if(!i){i=(c[l>>2]|0)>>>31;if(!(a[m>>0]|0)){Di(f,1);d=c[j>>2]|0}}else{i=i+-1|0;c[k>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else h=0;if((h|0)>(c[39712+(n<<2)>>2]|0)){l=10;d=b[g>>1]|0}else{n=a[d+(h*3|0)+1>>0]|0;b[g>>1]=n;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;l=0;d=n}i=f+8|0;j=f+4|0;k=f+20|0;if(d<<16>>16){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Di(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 10:case 8:{f=Nk(d,f,g)|0;return f|0}case 12:{f=Mk(11,f,g)|0;b[g>>1]=250;b[g+2>>1]=-21216;return f|0}case 11:{n=Nk(11,f,g)|0;b[g>>1]=Ok(f,b[g>>1]|0)|0;g=g+2|0;b[g>>1]=Ok(f,b[g>>1]|0)|0;f=n;return f|0}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{i=Nk(11,f,g)|0;b[g>>1]=Ok(f,b[g>>1]|0)|0;j=g+2|0;h=Ok(f,b[j>>1]|0)|0;b[j>>1]=h;if((d&-16)<<24>>24!=16){f=i;return f|0}n=b[g>>1]|0;f=n<<16>>16;d=e[137416+((d&255)+-16<<1)>>1]|0;if(((n<<16>>16>-1?f:0-f|0)|0)<=(d|0)?(f=h<<16>>16,((h<<16>>16>-1?f:0-f|0)|0)<=(d|0)):0){f=i;return f|0}b[g>>1]=0;b[j>>1]=0;f=i;return f|0}default:{f=11;return f|0}}while(0);return 0}function Kk(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b[a+1936+((d[a+9044>>0]|0)<<1)>>1]|0;h=b[a+2040>>1]|0;j=a+9043|0;i=e&65535;e=(f&65535)<(h&65535)?f:h;h=0;f=0;while(1){g=(d[a+9045+f>>0]|0)+(e&65535)|0;e=g&65535;if(e>>>0>=i>>>0){e=15;f=4;break}e=c+(e<<1)|0;k=b[e>>1]|0;f=d[a+9049+f>>0]|0;b[e>>1]=(k<<16>>16>0?f:0-f|0)+(k&65535);f=h+1<<24>>24;if((f&255)>(d[j>>0]|0)){e=0;f=4;break}else{e=g&65535;h=f;f=f&255}}if((f|0)==4)return e|0;return 0}function Lk(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=150431+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[39424+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[39472+(n<<2)>>2]|0)+(e*5|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Di(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{Di(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[39472+(n<<2)>>2]|0)+((e&65535)*5|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Di(f,h);break}}while(0);e=e&65535;if((c[39616+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[39472+(n<<2)>>2]|0;b[g>>1]=a[n+(e*5|0)+1>>0]|0;b[g+2>>1]=a[n+(e*5|0)+2>>0]|0;b[g+4>>1]=a[n+(e*5|0)+3>>0]|0;b[g+6>>1]=a[n+(e*5|0)+4>>0]|0;g=0;return g|0}function Mk(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=150431+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[39424+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[39520+(n<<2)>>2]|0)+(e*3|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Di(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{Di(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[39520+(n<<2)>>2]|0)+((e&65535)*3|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Di(f,h);break}}while(0);e=e&65535;if((c[39664+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[39520+(n<<2)>>2]|0;b[g>>1]=a[n+(e*3|0)+1>>0]|0;b[g+2>>1]=a[n+(e*3|0)+2>>0]|0;g=0;return g|0}function Nk(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Mk(d,f,g)|0;h=f+8|0;i=f+4|0;j=f+20|0;if(b[g>>1]|0){d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))Di(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}g=g+2|0;if(!(b[g>>1]|0))return k|0;d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))Di(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d)return k|0;b[g>>1]=0-(e[g>>1]|0);return k|0}function Ok(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d<<16>>16<0)if(d<<16>>16==-16)j=1;else{b=d;return b|0}else if(d<<16>>16==16)j=0;else{b=d;return b|0}h=b+8|0;g=b+4|0;i=b+20|0;e=4;while(1){d=c[h>>2]|0;if(!d){d=(c[g>>2]|0)>>>31;if(!(a[i>>0]|0))Di(b,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[b>>2]|0)>>>d&1}if(!d)break;else e=e+1<<24>>24}f=e&255;do if(e<<24>>24){e=c[h>>2]|0;if(e>>>0<f>>>0){d=f-e|0;d=(c[b>>2]&(1<<e)+-1)<<d|(c[g>>2]|0)>>>(32-d|0)}else d=c[b>>2]<<32-e>>>(32-f|0);if(!(a[i>>0]|0))if(e>>>0>f>>>0){c[h>>2]=e-f;break}else{Di(b,f);break}}else d=0;while(0);b=d&65535|1<<f;b=(j<<24>>24==0?b:0-b|0)&65535;return b|0}function Pk(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f&255;a:do switch(f<<24>>24){case 4:case 2:case 1:{p=150431+q|0;r=a[p>>0]|0;l=r&255;do if(r<<24>>24){r=a[g+8>>0]|0;k=r<<24>>24;if(r<<24>>24<33){i=c[g>>2]|0;if((k|0)<(l|0)){i=i<<l-k&-1>>>(32-l|0);break}else{i=i>>>(k-l|0)&-1>>>(32-l|0);break}}else{i=k-l|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-k|0))<<l+32-k;break}else{i=j>>>(i+-32|0)&-1>>>(32-l|0);break}}}else i=0;while(0);r=c[39424+(q<<2)>>2]|0;n=a[r+(i<<1)>>0]|0;i=a[r+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=n&255;i=39472+(q<<2)|0;q=g+8|0;p=(d[q>>0]|0)-(d[(c[i>>2]|0)+(j*5|0)>>0]|0)|0;r=(p&128|0)==0;a[q>>0]=r?p&255:0;if(!r){h=-1;return h|0}}else{o=g+8|0;m=(d[o>>0]|0)-l|0;r=(m&128|0)==0;m=r?m&255:0;a[o>>0]=m;if(!r){h=-1;return h|0}k=i&255;l=m<<24>>24;do if(m<<24>>24<33){i=c[g>>2]|0;if((l|0)<(k|0)){i=i<<k-l&-1>>>(32-k|0);break}else{i=i>>>(l-k|0)&-1>>>(32-k|0);break}}else{i=l-k|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-l|0))<<k+32-l;break}else{i=j>>>(i+-32|0)&-1>>>(32-k|0);break}}while(0);j=i+(n&255)|0;i=39472+(q<<2)|0;q=(m&255)-((d[(c[i>>2]|0)+((j&65535)*5|0)>>0]|0)-(d[p>>0]|0)&255)|0;r=(q&128|0)==0;a[o>>0]=r?q&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*5|0)+1>>0]|0;b[h+2>>1]=a[r+(i*5|0)+2>>0]|0;b[h+4>>1]=a[r+(i*5|0)+3>>0]|0;k=f;l=0;i=r+(i*5|0)+4|0;j=3;r=61;break}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 11:case 10:case 8:case 6:{k=(f&255)>15;l=k?f:0;k=k?11:f;f=k&255;r=150431+f|0;q=a[r>>0]|0;n=q&255;do if(q<<24>>24){q=a[g+8>>0]|0;m=q<<24>>24;if(q<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);q=c[39424+(f<<2)>>2]|0;p=a[q+(i<<1)>>0]|0;i=a[q+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=p&255;i=39520+(f<<2)|0;f=g+8|0;q=(d[f>>0]|0)-(d[(c[i>>2]|0)+(j*3|0)>>0]|0)|0;r=(q&128|0)==0;a[f>>0]=r?q&255:0;if(!r){h=-1;return h|0}}else{q=g+8|0;o=(d[q>>0]|0)-n|0;n=(o&128|0)==0;o=n?o&255:0;a[q>>0]=o;if(!n){h=-1;return h|0}m=i&255;n=o<<24>>24;do if(o<<24>>24<33){i=c[g>>2]|0;if((n|0)<(m|0)){i=i<<m-n&-1>>>(32-m|0);break}else{i=i>>>(n-m|0)&-1>>>(32-m|0);break}}else{i=n-m|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-n|0))<<m+32-n;break}else{i=j>>>(i+-32|0)&-1>>>(32-m|0);break}}while(0);j=i+(p&255)|0;i=39520+(f<<2)|0;f=(o&255)-((d[(c[i>>2]|0)+((j&65535)*3|0)>>0]|0)-(d[r>>0]|0)&255)|0;r=(f&128|0)==0;a[q>>0]=r?f&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*3|0)+1>>0]|0;i=r+(i*3|0)+2|0;j=1;r=61;break}case 3:{k=g+8|0;m=g+4|0;l=a[k>>0]|0;n=0;while(1){i=l<<24>>24;do if(l<<24>>24<33){j=c[g>>2]|0;if(l<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[m>>2]|0)>>>(i+-33|0);while(0);r=l+-1<<24>>24<<24>>24>-1;l=(l&255)+255&255;a[k>>0]=r?l:0;if(!r){i=-1;r=100;break}n=n+(a[(i&1)+(152980+(n*5|0)+1)>>0]|0)&65535;if(a[152980+(n*5|0)>>0]|0){r=52;break}}if((r|0)==52){b[h>>1]=a[152980+(n*5|0)+1>>0]|0;b[h+2>>1]=a[152980+(n*5|0)+2>>0]|0;b[h+4>>1]=a[152980+(n*5|0)+3>>0]|0;k=3;l=0;i=152980+(n*5|0)+4|0;j=3;r=61;break a}else if((r|0)==100)return i|0;break}case 9:case 7:case 5:{o=39568+(q<<2)|0;i=c[o>>2]|0;b:do if(!(a[i>>0]|0)){l=g+8|0;n=g+4|0;m=a[l>>0]|0;j=0;while(1){i=m<<24>>24;do if(m<<24>>24<33){k=c[g>>2]|0;if(m<<24>>24<1){k=k<<1-i;break}else{k=k>>>(i+-1|0);break}}else k=(c[n>>2]|0)>>>(i+-33|0);while(0);r=m+-1<<24>>24<<24>>24>-1;m=(m&255)+255&255;a[l>>0]=r?m:0;if(!r){i=-1;break}i=c[o>>2]|0;j=j+(a[(k&1)+(i+(j*3|0)+1)>>0]|0)&65535;if(a[i+(j*3|0)>>0]|0)break b}return i|0}else j=0;while(0);b[h>>1]=a[i+(j*3|0)+1>>0]|0;k=f;l=0;i=i+(j*3|0)+2|0;j=1;r=61;break}default:{k=f;l=0}}while(0);if((r|0)==61)b[h+(j<<1)>>1]=a[i>>0]|0;c:do if(a[150443+(k&255)>>0]|0){q=(k&255)<5?4:2;p=g+8|0;f=g+4|0;o=0;i=0;while(1){n=h+(i<<1)|0;if(b[n>>1]|0){m=a[p>>0]|0;i=m<<24>>24;do if(m<<24>>24<33){j=c[g>>2]|0;if(m<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[f>>2]|0)>>>(i+-33|0);while(0);j=m+-1<<24>>24<<24>>24>-1;a[p>>0]=j?(m&255)+255&255:0;if(!j){i=-1;break}if(i&1|0)b[n>>1]=0-(e[n>>1]|0)}o=o+1<<24>>24;i=o&255;if(q>>>0<=i>>>0)break c}return i|0}while(0);f=g+8|0;do if(k<<24>>24==11|(k&255)>15){q=g+4|0;o=b[h>>1]|0;d:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;e:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);p=k+-1<<24>>24<<24>>24>-1;k=p?(k&255)+255&255:0;i=p?((i&1|0)==0?13:0):1;switch(i&15){case 13:break e;case 0:break;default:{r=94;break e}}m=m+1<<24>>24}if((r|0)==94){a[f>>0]=k;if(!i)break d;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[q>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);m=(k&255)-n|0;p=(m&128|0)==0;a[f>>0]=p?m&255:0;i=i+(1<<n)|0;if(p){b[h>>1]=o<<16>>16<0?0-i|0:i;break d}else{h=-1;return h|0}}default:{}}while(0);p=h+2|0;o=b[p>>1]|0;f:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;g:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);n=k+-1<<24>>24<<24>>24>-1;k=n?(k&255)+255&255:0;i=n?((i&1|0)==0?13:0):1;switch(i&15){case 13:break g;case 0:break;default:{r=119;break g}}m=m+1<<24>>24}if((r|0)==119){a[f>>0]=k;if(!i)break f;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{j=m-n|0;i=c[q>>2]|0;if((j|0)<32){i=(c[g>>2]|0)>>>j|(i&-1>>>(64-m|0))<<n+32-m;break}else{i=i>>>(j+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);r=(k&255)-n|0;g=(r&128|0)==0;a[f>>0]=g?r&255:0;i=i+(1<<n)|0;if(g){b[p>>1]=o<<16>>16<0?0-i|0:i;break f}else{h=-1;return h|0}}default:{}}while(0);if(l<<24>>24!=0&(l&-16)<<24>>24==16){r=b[h>>1]|0;g=r<<16>>16;i=e[137416+((l&255)+-16<<1)>>1]|0;if(((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)?(r=b[p>>1]|0,g=r<<16>>16,((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)):0)break;b[h>>1]=0;b[p>>1]=0}}while(0);h=a[f>>0]|0;return h|0}function Qk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b+8>>0]|0;if(!(d<<24>>24))return;f=b+4|0;e=d&255;if((d&255)<33){c[f>>2]=0;d=c[b>>2]|0;d=d>>>1&1431655765|d<<1&-1431655766;d=d>>>2&858993459|d<<2&-858993460;d=d>>>4&252645135|d<<4&-252645136;d=d>>>8&16711935|d<<8&-16711936;d=(d>>>16|d<<16)>>>(32-e|0)}else{h=c[f>>2]|0;g=c[b>>2]|0;g=g>>>1&1431655765|g<<1&-1431655766;h=h>>>1&1431655765|h<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;h=h>>>2&858993459|h<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;h=h>>>4&252645135|h<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;h=h>>>8&16711935|h<<8&-16711936;g=g>>>16|g<<16;d=64-e|0;c[b>>2]=g<<e+-32|(h>>>16|h<<16)>>>d;d=g>>>d;b=f}c[b>>2]=d;return}function Rk(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=b+8|0;f=c[n>>2]|0;if(!f)e=c[b+4>>2]|0;else e=c[b>>2]<<32-f;m=b+20|0;do if(!(a[m>>0]|0))if(f>>>0>1){c[n>>2]=f+-1;break}else{Di(b,1);break}while(0);if((e|0)>-1)e=127736;else{l=b+4|0;j=1;k=127736;f=1;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[n>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[b>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[b>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[n>>2]=g-h;break}else{Di(b,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<10?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;n=e&255;do if(e<<24>>24==7){b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{Di(d,2);break}while(0);if(!f)e=127928;else{l=d+4|0;j=2;k=127928;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{Di(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}else{e=(e&255)+n&255;break}}while(0);n=e&255;if(e<<24>>24!=-7){d=e;return d|0}b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{Di(d,2);break}while(0);if(!f)e=127928;else{l=d+4|0;j=2;k=127928;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{Di(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}d=n-(e&255)&255;return d|0}function Sk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=a[f+3>>0]|0;switch(a[g+4>>0]|0){case 3:case 1:case 0:{a[g+3>>0]=1;a[g+2>>0]=1;a[g+5>>0]=1;j=(a[f+4>>0]|0)==23;l=f+10|0;h=b[l>>1]|0;do if(j){i=k&255;if(h<<16>>16==512){i=154327+i|0;break}else{i=154339+i|0;break}}else{i=k&255;if(h<<16>>16==1024){i=154351+i|0;break}else{i=154363+i|0;break}}while(0);f=a[i>>0]|0;a[g+1>>0]=f;if((d[g>>0]|0)>(f&255)){g=32;return g|0}if(j){i=f<<24>>24!=0;if(h<<16>>16==512){if(i){j=c[128464+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}}else if(i){j=c[128416+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}h=f&255;b[g+16+(h<<1)>>1]=b[l>>1]|0}else{if(!(f<<24>>24))i=0;else{j=c[128368+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}i=f;h=b[l>>1]|0}b[g+16+((i&255)<<1)>>1]=h;h=f&255}b[g+1936+(h<<1)>>1]=b[l>>1]|0;b[g+2040>>1]=b[l>>1]|0;g=0;return g|0}case 2:{a[g+3>>0]=8;l=g+2|0;a[l>>0]=1;a[g+5>>0]=1;k=k&255;s=a[154375+k>>0]|0;a[g+1>>0]=s;if((d[g>>0]|0)>(s&255)){g=32;return g|0}j=c[128512+(k<<2)>>2]|0;i=0;h=0;while(1){b[g+1936+(h<<1)>>1]=b[j+(h<<1)>>1]|0;h=i+1<<24>>24;if((h&255)<(s&255)){i=h;h=h&255}else break}r=f+10|0;b[g+1936+((s&255)<<1)>>1]=(e[r>>1]|0)>>>3;b[g+2040>>1]=(e[r>>1]|0)>>>3;j=g+14|0;if(!(a[j>>0]&64)){a[l>>0]=2;a[g+6>>0]=1;i=2}else{i=g+5|0;a[i>>0]=(d[i>>0]|0)+1;i=1}h=i&255;if(!(a[j>>0]&32)){q=h+1&255;a[l>>0]=q;a[(i&255)+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&16)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&8)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&4)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&2)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&1)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}if(!(i<<24>>24)){g=0;return g|0}p=128512+(k<<2)|0;q=s&255;o=0;j=s;n=0;while(1){if(!(j<<24>>24)){f=0;h=0;j=0}else{m=g+5+n|0;if(j<<24>>24==1){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+2>>1]|0}f=w(h-(e[j>>1]|0)&65535,d[m>>0]|0)|0;b[g+16+(n*240|0)>>1]=0;l=1;f=f&65535;k=1;while(1){h=k+1|0;if((h|0)==(q|0)){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+(h<<1)>>1]|0}k=w(h-(e[j+(k<<1)>>1]|0)&65535,d[m>>0]|0)|0;h=l+1<<24>>24;b[g+16+(n*240|0)+((l&255)<<1)>>1]=f;f=k+(f&65535)&65535;if((h&255)<(s&255)){l=h;k=h&255}else{j=s;break}}}b[g+16+(n*240|0)+((h&255)<<1)>>1]=f;h=o+1<<24>>24;if((h&255)<(i&255)){o=h;n=h&255}else{h=0;break}}return h|0}default:{g=32;return g|0}}return 0}function Tk(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Zb;Zb=Zb+4096|0;q=s;r=f+25|0;m=d[r>>0]|0;p=(a[f+1084+m>>0]|0)==0;j=p?1:2;k=f+26+m|0;l=a[k>>0]|0;if(l<<24>>24){if((j|0)!=(l&255|0)){a[f+74+m>>0]=0;o=4}}else o=4;if((o|0)==4)a[k>>0]=j;if(!(a[f+74+m>>0]|0)){l=f+4|0;j=a[l>>0]|0;n=d[h>>0]|0;if(j<<24>>24==1){j=f+1136+(n<<2)|0;k=c[j>>2]|0;if(k|0){Si(k);c[j>>2]=0}o=f+10|0;m=Gi((e[o>>1]|0)*12|0)|0;c[j>>2]=m;ak(m,b[o>>1]|0);j=a[l>>0]|0}if((bk(j)|0)<<24>>24){j=f+1392+(n<<2)|0;k=c[j>>2]|0;if(k|0){Si(k);c[j>>2]=0}o=f+10|0;m=Gi(e[o>>1]<<3)|0;c[j>>2]=m;Fn(m|0,0,e[o>>1]<<3|0)|0}k=f+328+(n<<2)|0;j=c[k>>2]|0;if(j|0){Si(j);c[k>>2]=0}j=(d[r>>0]|0)+(f+843)|0;a[j>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=4;else{a[j>>0]=1;l=8}m=f+10|0;o=Gi(w(l,e[m>>1]|0)|0)|0;c[k>>2]=o;Fn(o|0,0,w(l,e[m>>1]|0)|0)|0;if(!p){j=f+328+(n+1<<2)|0;k=c[j>>2]|0;if(k|0){Si(k);c[j>>2]=0}p=Gi(w(l,e[m>>1]|0)|0)|0;c[j>>2]=p;Fn(p|0,0,w(l,e[m>>1]|0)|0)|0}j=f+584+(n<<2)|0;k=c[j>>2]|0;if(k|0){Si(k);c[j>>2]=0}p=Gi(e[m>>1]<<2)|0;c[j>>2]=p;Fn(p|0,0,e[m>>1]<<2|0)|0;a[(d[r>>0]|0)+(f+74)>>0]=1;p=m}else p=f+10|0;j=ck(g,i,q)|0;if(j<<24>>24){h=j;Zb=s;return h|0}l=f+4|0;dk(g,0,q,0,b[p>>1]|0,0,a[l>>0]|0,f+1648|0,f+1652|0);j=a[l>>0]|0;do if(j<<24>>24==1){j=c[f+1136+(d[h>>0]<<2)>>2]|0;if(!j){h=33;Zb=s;return h|0}else{gk(g,q,j,b[p>>1]|0,a[f+3>>0]|0);hk(g,c[f+1136+(d[h>>0]<<2)>>2]|0);j=a[l>>0]|0;break}}while(0);if(!((bk(j)|0)<<24>>24))n=f+3|0;else{j=a[l>>0]|0;if(j<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[h>>0]<<1)>>1]=b[g+10278>>1]|0;k=a[h>>0]|0;b[g+10278>>1]=b[f+192+((k&255)<<1)>>1]|0}else k=a[h>>0]|0;i=k&255;n=f+3|0;ik(g,g+10276|0,q,c[f+1392+(i<<2)>>2]|0,c[f+320>>2]|0,a[g+13>>0]|0,a[f+128+i>>0]|0,a[n>>0]|0,j,b[p>>1]|0)}jk(g,g+9053|0,a[n>>0]|0,a[l>>0]|0,q,b[p>>1]|0);j=c[f+324>>2]|0;do if(a[j>>0]|0){if(a[(d[h>>0]|0)+(j+56)>>0]|0?a[j+3>>0]|0:0)break;kk(j,q)}while(0);i=g+13|0;o=d[h>>0]|0;lk(c[f+320>>2]|0,a[g+4>>0]|0,a[i>>0]|0,a[f+128+o>>0]|0,q,c[f+328+(o<<2)>>2]|0,c[f+584+(o<<2)>>2]|0,a[l>>0]|0,b[p>>1]|0);a[(d[h>>0]|0)+(f+128)>>0]=a[i>>0]|0;if((bk(a[l>>0]|0)|0)<<24>>24){q=d[h>>0]|0;mk(c[f+1392+(q<<2)>>2]|0,c[f+328+(q<<2)>>2]|0,c[f+584+(q<<2)>>2]|0,b[p>>1]|0,a[l>>0]|0)}j=(a[f+840>>0]|0)==1;if(!j?(a[f+841>>0]|0)!=1:0)o=56;else o=48;do if((o|0)==48){m=d[r>>0]|0;if(!(a[f+843+m>>0]|0))if(j){o=57;break}else{o=56;break}l=d[h>>0]|0;k=f+892+(m<<2)|0;j=c[k>>2]|0;if(!j){g=b[p>>1]|0;q=a[f+2128+m>>0]|0;j=(Ui(a[n>>0]|0)|0)<<1;j=Aj(g,q,j,a[f+842>>0]|0)|0;c[k>>2]=j}q=a[h+6>>0]|0;q=b[h+1942+(((q&255)>1?(q&255)+-1|0:0)<<1)>>1]|0;k=b[h+2046>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;c[j+4>>2]=(a[h+10>>0]|0)==2?k<<3:k;k=c[f+328+(l<<2)>>2]|0;if(!(a[f+1084+m>>0]|0))j=Uk(j,k,a[f+12>>0]|0,a[f+842>>0]|0)|0;else j=Vk(j,k,c[f+328+(l+1<<2)>>2]|0,a[f+12>>0]|0,a[f+842>>0]|0)|0;if(j<<24>>24){h=j;Zb=s;return h|0}}while(0);if((o|0)==56?(a[f+841>>0]|0)==1:0)o=57;if((o|0)==57?(a[(d[r>>0]|0)+(f+843)>>0]|0)==0:0){h=23;Zb=s;return h|0}j=d[r>>0]|0;if(a[f+1084+j>>0]|0){h=0;Zb=s;return h|0}if((a[f+26+j>>0]|0)!=2){h=0;Zb=s;return h|0}r=d[h>>0]|0;h=w(e[p>>1]<<2,a[f+843+j>>0]|0?2:1)|0;Dn(c[f+328+(r+1<<2)>>2]|0,c[f+328+(r<<2)>>2]|0,h|0)|0;h=0;Zb=s;return h|0}function Uk(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;n=Zb;Zb=Zb+16384|0;k=n;if(!b){m=20;Zb=n;return m|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{m=21;Zb=n;return m|0}}l=b+10|0;if(a[l>>0]|0)if(!(a[b+12426>>0]|0))h=1;else{a[b+12412>>0]=-1;h=1}else h=(c[b+12432>>2]|0)==0&1;i=b+9|0;a[i>>0]=f<<24>>24!=0&1;h=(ok(b,e,k,0,h)|0)&255;a[l>>0]=(d[l>>0]|0)+h;h=c[b+12448>>2]|0;if(!(g<<24>>24))qk(b,h,k,e);else pk(b,h,k,e);if(a[b+53426>>0]|0)a[i>>0]=0;if((c[b+12432>>2]|0?(a[l>>0]|0)==0:0)?(j=rk(b,0)|0,j<<24>>24):0){m=j;Zb=n;return m|0}i=b+53418|0;if(a[i>>0]|0){g=b+53416|0;f=0;h=0;while(1){En(b+12456+(h<<9)|0,b+12456+(h+(d[g>>0]|0)<<9)|0,512)|0;e=f+1<<24>>24;h=a[i>>0]|0;if((e&255)<(h&255)){f=e;h=e&255}else break}if((h&255)<40)m=18}else{h=0;m=18}if((m|0)==18)Fn(b+(((h&255)<<9)+12456)|0,0,((39-h&255)<<9)+512|0)|0;m=b+12428|0;c[m>>2]=(c[m>>2]|0)+1;m=0;Zb=n;return m|0}function Vk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=Zb;Zb=Zb+38912|0;o=t+19456|0;p=t;Fn(o|0,0,19456)|0;Fn(p|0,0,19456)|0;if(!b){s=20;Zb=t;return s|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{s=21;Zb=t;return s|0}}m=b+10|0;if(a[m>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;n=b+9|0;a[n>>0]=g<<24>>24!=0&1;l=b+12452|0;if(!(c[l>>2]|0))c[l>>2]=Xj(h<<24>>24?32:64)|0;r=(ok(b,e,o,0,i)|0)&255;a[m>>0]=(d[m>>0]|0)+r;r=b+53416|0;g=a[r>>0]|0;k=g&255;i=k+6|0;j=d[b+53419>>0]|0;do{u=k+j|0;c[o+(k<<9)>>2]=c[b+12456+(u<<9)>>2];c[o+(k<<9)+4>>2]=c[b+12456+(u<<9)+4>>2];c[o+(k<<9)+8>>2]=c[b+12456+(u<<9)+8>>2];c[o+(k<<9)+12>>2]=c[b+12456+(u<<9)+12>>2];c[o+(k<<9)+16>>2]=c[b+12456+(u<<9)+16>>2];c[o+(k<<9)+20>>2]=c[b+12456+(u<<9)+20>>2];c[o+(k<<9)+24>>2]=c[b+12456+(u<<9)+24>>2];c[o+(k<<9)+28>>2]=c[b+12456+(u<<9)+28>>2];c[o+(k<<9)+32>>2]=c[b+12456+(u<<9)+32>>2];c[o+(k<<9)+36>>2]=c[b+12456+(u<<9)+36>>2];g=g+1<<24>>24;k=g&255}while(i>>>0>k>>>0);Wk(c[b+53420>>2]|0,o,p)|0;g=c[b+12448>>2]|0;if(!(h<<24>>24)){qk(b,g,o,e);qk(b,c[l>>2]|0,p,f)}else{pk(b,g,o,e);pk(b,c[l>>2]|0,p,f)}if(a[b+53426>>0]|0)a[n>>0]=0;if((c[b+12432>>2]|0?(a[m>>0]|0)==0:0)?(q=rk(b,0)|0,q<<24>>24):0){u=q;Zb=t;return u|0}k=b+53418|0;if(a[k>>0]|0){i=0;g=0;while(1){En(b+12456+(g<<9)|0,b+12456+(g+(d[r>>0]|0)<<9)|0,512)|0;j=i+1<<24>>24;g=a[k>>0]|0;if((j&255)<(g&255)){i=j;g=j&255}else break}if((g&255)<40)s=21}else{g=0;s=21}if((s|0)==21)Fn(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;u=b+12428|0;c[u>>2]=(c[u>>2]|0)+1;u=0;Zb=t;return u|0} |
| | | function Ef(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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,_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;vc=Zb;Zb=Zb+176|0;uc=vc+112|0;rc=vc+48|0;sc=vc+16|0;tc=vc;pc=l>>>0>4294967279;qc=l>>>0>4294967039;oc=pc?4:qc?8:32;if(m>>>0>4294967279){Y=i*3|0;Z=i<<1;Fb=tc+4|0;Gb=tc+8|0;Hb=tc+12|0;_=b[17152]|0;$=b[17153]|0;aa=b[17184]|0;ba=b[17248]|0;ca=b[17185]|0;da=b[17249]|0;ea=rc+4|0;fa=b[17186]|0;ga=b[17250]|0;ha=rc+8|0;ia=b[17187]|0;ja=b[17251]|0;ka=rc+12|0;la=b[17188]|0;ma=b[17252]|0;na=rc+16|0;oa=b[17189]|0;pa=b[17253]|0;qa=rc+20|0;ra=b[17190]|0;sa=b[17254]|0;ta=rc+24|0;ua=b[17191]|0;va=b[17255]|0;wa=rc+28|0;xa=b[17192]|0;ya=b[17256]|0;za=rc+32|0;Aa=b[17193]|0;Ba=b[17257]|0;Ca=rc+36|0;Da=b[17194]|0;Ea=b[17258]|0;Fa=rc+40|0;Ga=b[17195]|0;Ha=b[17259]|0;Ia=rc+44|0;Ja=b[17196]|0;Ka=b[17260]|0;La=rc+48|0;Ma=b[17197]|0;Na=b[17261]|0;Oa=rc+52|0;Pa=b[17198]|0;Qa=b[17262]|0;Ra=rc+56|0;q=b[17199]|0;r=b[17263]|0;s=rc+60|0;t=b[17216]|0;u=b[17217]|0;v=sc+4|0;x=b[17218]|0;y=sc+8|0;z=b[17219]|0;A=sc+12|0;B=b[17220]|0;C=sc+16|0;D=b[17221]|0;E=sc+20|0;F=b[17222]|0;G=sc+24|0;H=b[17223]|0;I=sc+28|0;J=uc+32|0;K=uc+4|0;L=uc+36|0;M=uc+8|0;N=uc+40|0;O=uc+12|0;P=uc+44|0;Q=uc+16|0;R=uc+48|0;S=uc+20|0;T=uc+52|0;U=uc+24|0;V=uc+56|0;W=uc+28|0;X=uc+60|0;o=f;p=0;while(1){a:do if(!(l&1)){nc=b[e+(i<<1)>>1]|0;m=b[e+(Y<<1)>>1]|0;c[rc>>2]=(w(m,ba)|0)+(w(nc,aa)|0);c[ea>>2]=(w(m,da)|0)+(w(nc,ca)|0);c[ha>>2]=(w(m,ga)|0)+(w(nc,fa)|0);c[ka>>2]=(w(m,ja)|0)+(w(nc,ia)|0);c[na>>2]=(w(m,ma)|0)+(w(nc,la)|0);c[qa>>2]=(w(m,pa)|0)+(w(nc,oa)|0);c[ta>>2]=(w(m,sa)|0)+(w(nc,ra)|0);c[wa>>2]=(w(m,va)|0)+(w(nc,ua)|0);c[za>>2]=(w(m,ya)|0)+(w(nc,xa)|0);c[Ca>>2]=(w(m,Ba)|0)+(w(nc,Aa)|0);c[Fa>>2]=(w(m,Ea)|0)+(w(nc,Da)|0);c[Ia>>2]=(w(m,Ha)|0)+(w(nc,Ga)|0);c[La>>2]=(w(m,Ka)|0)+(w(nc,Ja)|0);c[Oa>>2]=(w(m,Na)|0)+(w(nc,Ma)|0);c[Ra>>2]=(w(m,Qa)|0)+(w(nc,Pa)|0);c[s>>2]=(w(m,r)|0)+(w(nc,q)|0);nc=b[e+(Z<<1)>>1]|0;m=w(nc,t)|0;c[sc>>2]=m;mc=w(nc,u)|0;c[v>>2]=mc;jc=w(nc,x)|0;c[y>>2]=jc;hc=w(nc,z)|0;c[A>>2]=hc;gc=w(nc,B)|0;c[C>>2]=gc;ic=w(nc,D)|0;c[E>>2]=ic;kc=w(nc,F)|0;c[G>>2]=kc;nc=w(nc,H)|0;c[I>>2]=nc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;lc=b[e>>1]|0;n=w(lc,_)|0;lc=w($,lc)|0;m=m+n|0;c[uc>>2]=m;c[J>>2]=n-nc;c[K>>2]=mc+lc;c[L>>2]=lc-kc;c[M>>2]=jc+lc;c[N>>2]=lc-ic;c[O>>2]=hc+n;c[P>>2]=n-gc;c[Q>>2]=gc+n;c[R>>2]=n-hc;c[S>>2]=ic+lc;c[T>>2]=lc-jc;c[U>>2]=kc+lc;c[V>>2]=lc-mc;c[W>>2]=nc+n;c[X>>2]=n-(c[sc>>2]|0);n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[o+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[o+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break a;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=o;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);p=p+1|0;if(p>>>0>=oc>>>0)break;else{e=e+2|0;o=o+64|0;l=l>>1}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17185]|0;s=b[17249]|0;t=rc+4|0;u=b[17186]|0;v=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;n=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(w(m,q)|0)+(w(i,p)|0);c[t>>2]=(w(m,s)|0)+(w(i,r)|0);c[x>>2]=(w(m,v)|0)+(w(i,u)|0);c[A>>2]=(w(m,z)|0)+(w(i,y)|0);c[D>>2]=(w(m,C)|0)+(w(i,B)|0);c[G>>2]=(w(m,F)|0)+(w(i,E)|0);c[J>>2]=(w(m,I)|0)+(w(i,H)|0);c[M>>2]=(w(m,L)|0)+(w(i,K)|0);c[P>>2]=(w(m,O)|0)+(w(i,N)|0);c[S>>2]=(w(m,R)|0)+(w(i,Q)|0);c[V>>2]=(w(m,U)|0)+(w(i,T)|0);c[Y>>2]=(w(m,X)|0)+(w(i,W)|0);c[$>>2]=(w(m,_)|0)+(w(i,Z)|0);c[ca>>2]=(w(m,ba)|0)+(w(i,aa)|0);c[fa>>2]=(w(m,ea)|0)+(w(i,da)|0);c[ia>>2]=(w(m,ha)|0)+(w(i,ga)|0);i=b[f+128>>1]|0;m=w(i,ja)|0;c[sc>>2]=m;qc=w(i,ka)|0;c[la>>2]=qc;nc=w(i,ma)|0;c[na>>2]=nc;lc=w(i,oa)|0;c[pa>>2]=lc;kc=w(i,qa)|0;c[ra>>2]=kc;mc=w(i,sa)|0;c[ta>>2]=mc;oc=w(i,ua)|0;c[va>>2]=oc;i=w(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;l=w(pc,e)|0;pc=w(o,pc)|0;m=m+l|0;c[uc>>2]=m;c[ya>>2]=l-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+l;c[Ea>>2]=l-kc;c[Fa>>2]=kc+l;c[Ga>>2]=l-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+l;c[Ma>>2]=l-(c[sc>>2]|0);l=0;while(1){i=(c[rc+(l<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+l>>0]|0)|0;i=(i|0)>0?i:0;a[h+l>>0]=(i|0)<255?i:255;i=15-l|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=l+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=l+1|0;if((m|0)==16)break;l=m;m=c[uc+(m<<2)>>2]|0}n=n+1|0;if((n|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17312]|0;s=b[17376]|0;t=b[17185]|0;u=b[17249]|0;v=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=b[17282]|0;nb=b[17283]|0;ob=uc+32|0;pb=uc+4|0;qb=uc+36|0;rb=uc+8|0;sb=uc+40|0;tb=uc+12|0;ub=uc+44|0;vb=uc+16|0;wb=uc+48|0;xb=uc+20|0;yb=uc+52|0;zb=uc+24|0;Ab=uc+56|0;Bb=uc+28|0;Cb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(w(mc,q)|0)+(w(jc,p)|0)+(w(ic,r)|0)+(w(pc,s)|0);c[y>>2]=(w(mc,u)|0)+(w(jc,t)|0)+(w(ic,v)|0)+(w(pc,x)|0);c[D>>2]=(w(mc,A)|0)+(w(jc,z)|0)+(w(ic,B)|0)+(w(pc,C)|0);c[I>>2]=(w(mc,F)|0)+(w(jc,E)|0)+(w(ic,G)|0)+(w(pc,H)|0);c[N>>2]=(w(mc,K)|0)+(w(jc,J)|0)+(w(ic,L)|0)+(w(pc,M)|0);c[S>>2]=(w(mc,P)|0)+(w(jc,O)|0)+(w(ic,Q)|0)+(w(pc,R)|0);c[X>>2]=(w(mc,U)|0)+(w(jc,T)|0)+(w(ic,V)|0)+(w(pc,W)|0);c[aa>>2]=(w(mc,Z)|0)+(w(jc,Y)|0)+(w(ic,_)|0)+(w(pc,$)|0);c[fa>>2]=(w(mc,ca)|0)+(w(jc,ba)|0)+(w(ic,da)|0)+(w(pc,ea)|0);c[ka>>2]=(w(mc,ha)|0)+(w(jc,ga)|0)+(w(ic,ia)|0)+(w(pc,ja)|0);c[pa>>2]=(w(mc,ma)|0)+(w(jc,la)|0)+(w(ic,na)|0)+(w(pc,oa)|0);c[ua>>2]=(w(mc,ra)|0)+(w(jc,qa)|0)+(w(ic,sa)|0)+(w(pc,ta)|0);c[za>>2]=(w(mc,wa)|0)+(w(jc,va)|0)+(w(ic,xa)|0)+(w(pc,ya)|0);c[Ea>>2]=(w(mc,Ba)|0)+(w(jc,Aa)|0)+(w(ic,Ca)|0)+(w(pc,Da)|0);c[Ja>>2]=(w(mc,Ga)|0)+(w(jc,Fa)|0)+(w(ic,Ha)|0)+(w(pc,Ia)|0);c[Oa>>2]=(w(mc,La)|0)+(w(jc,Ka)|0)+(w(ic,Ma)|0)+(w(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(w(ic,Qa)|0)+(w(pc,Pa)|0);c[Ta>>2]=(w(ic,Sa)|0)+(w(pc,Ra)|0);c[Wa>>2]=(w(ic,Va)|0)+(w(pc,Ua)|0);c[Za>>2]=(w(ic,Ya)|0)+(w(pc,Xa)|0);c[ab>>2]=(w(ic,$a)|0)+(w(pc,_a)|0);jc=(w(ic,cb)|0)+(w(pc,bb)|0)|0;c[db>>2]=jc;mc=(w(ic,fb)|0)+(w(pc,eb)|0)|0;c[gb>>2]=mc;pc=(w(ic,ib)|0)+(w(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=w(ic,kb)|0;c[tc>>2]=qc;nc=w(ic,lb)|0;c[Fb>>2]=nc;lc=w(ic,mb)|0;c[Gb>>2]=lc;ic=w(ic,nb)|0;c[Hb>>2]=ic;m=b[f>>1]|0;n=w(m,e)|0;m=w(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[ob>>2]=qc-pc;pc=c[Ta>>2]|0;c[pb>>2]=pc+oc;c[qb>>2]=nc-mc;mc=c[Wa>>2]|0;c[rb>>2]=mc+lc;c[sb>>2]=kc-jc;jc=c[Za>>2]|0;c[tb>>2]=jc+ic;gc=c[ab>>2]|0;c[ub>>2]=hc-gc;c[vb>>2]=gc+hc;c[wb>>2]=ic-jc;c[xb>>2]=(c[db>>2]|0)+kc;c[yb>>2]=lc-mc;c[zb>>2]=(c[gb>>2]|0)+nc;c[Ab>>2]=oc-pc;c[Bb>>2]=(c[jb>>2]|0)+qc;c[Cb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}nb=b[17408]|0;ob=b[17920]|0;pb=b[17409]|0;qb=b[17921]|0;rb=b[17152]|0;sb=b[17664]|0;tb=b[17153]|0;ub=b[17665]|0;vb=b[17216]|0;wb=b[17344]|0;xb=b[17472]|0;yb=b[17600]|0;zb=b[17728]|0;Ab=b[17856]|0;Bb=b[17984]|0;Cb=b[18112]|0;Db=b[17217]|0;Eb=b[17345]|0;D=b[17473]|0;E=b[17601]|0;F=b[17729]|0;G=b[17857]|0;H=b[17985]|0;I=b[18113]|0;J=sc+4|0;K=b[17218]|0;L=b[17346]|0;M=b[17474]|0;N=b[17602]|0;O=b[17730]|0;P=b[17858]|0;Q=b[17986]|0;R=b[18114]|0;S=sc+8|0;T=b[17219]|0;U=b[17347]|0;V=b[17475]|0;W=b[17603]|0;X=b[17731]|0;Y=b[17859]|0;Z=b[17987]|0;_=b[18115]|0;$=sc+12|0;aa=b[17220]|0;ba=b[17348]|0;ca=b[17476]|0;da=b[17604]|0;ea=b[17732]|0;fa=b[17860]|0;ga=b[17988]|0;ha=b[18116]|0;ia=sc+16|0;ja=b[17221]|0;ka=b[17349]|0;la=b[17477]|0;ma=b[17605]|0;na=b[17733]|0;oa=b[17861]|0;pa=b[17989]|0;qa=b[18117]|0;ra=sc+20|0;sa=b[17222]|0;ta=b[17350]|0;ua=b[17478]|0;va=b[17606]|0;wa=b[17734]|0;xa=b[17862]|0;ya=b[17990]|0;za=b[18118]|0;Aa=sc+24|0;Ba=b[17223]|0;Ca=b[17351]|0;Da=b[17479]|0;Ea=b[17607]|0;Fa=b[17735]|0;Ga=b[17863]|0;Ha=b[17991]|0;Ia=b[18119]|0;Ja=sc+28|0;Ka=b[17280]|0;La=b[17536]|0;Ma=b[17792]|0;Na=b[18048]|0;Oa=b[17281]|0;Pa=b[17537]|0;Qa=b[17793]|0;Ra=b[18049]|0;Sa=b[17282]|0;Ta=b[17538]|0;Ua=b[17794]|0;Va=b[18050]|0;Wa=b[17283]|0;Xa=b[17539]|0;Ya=b[17795]|0;Za=b[18051]|0;_a=uc+32|0;$a=uc+4|0;ab=uc+36|0;bb=uc+8|0;cb=uc+40|0;db=uc+12|0;eb=uc+44|0;fb=uc+16|0;gb=uc+48|0;hb=uc+20|0;ib=uc+52|0;jb=uc+24|0;kb=uc+56|0;lb=uc+28|0;mb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;r=b[f+832>>1]|0;s=b[f+960>>1]|0;t=b[f+1088>>1]|0;u=b[f+1216>>1]|0;v=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=w(n,b[34368+(m<<1)>>1]|0)|0;i=(w(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(w(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(w(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(w(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(w(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(w(r,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(w(s,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(w(t,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(w(u,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(w(v,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(w(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(w(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(w(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(w(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(w(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(w(m,wb)|0)+(w(pc,vb)|0)+(w(mc,xb)|0)+(w(i,yb)|0)+(w(n,zb)|0)+(w(jc,Ab)|0)+(w(ec,Bb)|0)+(w(fc,Cb)|0);c[J>>2]=(w(m,Eb)|0)+(w(pc,Db)|0)+(w(mc,D)|0)+(w(i,E)|0)+(w(n,F)|0)+(w(jc,G)|0)+(w(ec,H)|0)+(w(fc,I)|0);c[S>>2]=(w(m,L)|0)+(w(pc,K)|0)+(w(mc,M)|0)+(w(i,N)|0)+(w(n,O)|0)+(w(jc,P)|0)+(w(ec,Q)|0)+(w(fc,R)|0);c[$>>2]=(w(m,U)|0)+(w(pc,T)|0)+(w(mc,V)|0)+(w(i,W)|0)+(w(n,X)|0)+(w(jc,Y)|0)+(w(ec,Z)|0)+(w(fc,_)|0);c[ia>>2]=(w(m,ba)|0)+(w(pc,aa)|0)+(w(mc,ca)|0)+(w(i,da)|0)+(w(n,ea)|0)+(w(jc,fa)|0)+(w(ec,ga)|0)+(w(fc,ha)|0);c[ra>>2]=(w(m,ka)|0)+(w(pc,ja)|0)+(w(mc,la)|0)+(w(i,ma)|0)+(w(n,na)|0)+(w(jc,oa)|0)+(w(ec,pa)|0)+(w(fc,qa)|0);c[Aa>>2]=(w(m,ta)|0)+(w(pc,sa)|0)+(w(mc,ua)|0)+(w(i,va)|0)+(w(n,wa)|0)+(w(jc,xa)|0)+(w(ec,ya)|0)+(w(fc,za)|0);c[Ja>>2]=(w(m,Ca)|0)+(w(pc,Ba)|0)+(w(mc,Da)|0)+(w(i,Ea)|0)+(w(n,Fa)|0)+(w(jc,Ga)|0)+(w(ec,Ha)|0)+(w(fc,Ia)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(w(ec,La)|0)+(w(fc,Ka)|0)+(w(jc,Ma)|0)+(w(n,Na)|0)|0;c[tc>>2]=i;mc=(w(ec,Pa)|0)+(w(fc,Oa)|0)+(w(jc,Qa)|0)+(w(n,Ra)|0)|0;c[Fb>>2]=mc;pc=(w(ec,Ta)|0)+(w(fc,Sa)|0)+(w(jc,Ua)|0)+(w(n,Va)|0)|0;c[Gb>>2]=pc;n=(w(ec,Xa)|0)+(w(fc,Wa)|0)+(w(jc,Ya)|0)+(w(n,Za)|0)|0;c[Hb>>2]=n;jc=b[f+512>>1]|0;fc=w(jc,nb)|0;ec=b[f+1536>>1]|0;fc=(w(ec,ob)|0)+fc|0;jc=(w(qb,ec)|0)+(w(pb,jc)|0)|0;ec=b[f>>1]|0;m=w(ec,rb)|0;qc=b[f+1024>>1]|0;m=(w(qc,sb)|0)+m|0;ec=(w(ub,qc)|0)+(w(tb,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[Ja>>2]|0;c[_a>>2]=qc-pc;oc=c[J>>2]|0;c[$a>>2]=oc+nc;lc=c[Aa>>2]|0;c[ab>>2]=mc-lc;kc=c[S>>2]|0;c[bb>>2]=kc+jc;hc=c[ra>>2]|0;c[cb>>2]=ic-hc;gc=c[$>>2]|0;c[db>>2]=gc+fc;dc=c[ia>>2]|0;c[eb>>2]=ec-dc;c[fb>>2]=dc+ec;c[gb>>2]=fc-gc;c[hb>>2]=hc+ic;c[ib>>2]=jc-kc;c[jb>>2]=lc+mc;c[kb>>2]=nc-oc;c[lb>>2]=pc+qc;c[mb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}lc=i*3|0;mc=i*5|0;nc=i*7|0;if(m>>>0>4294967039){q=i<<1;r=i*6|0;s=i<<2;t=b[17152]|0;u=b[17153]|0;v=b[17184]|0;x=b[17248]|0;y=b[17312]|0;z=b[17376]|0;A=b[17185]|0;B=b[17249]|0;C=b[17313]|0;D=b[17377]|0;E=rc+4|0;F=b[17186]|0;G=b[17250]|0;H=b[17314]|0;I=b[17378]|0;J=rc+8|0;K=b[17187]|0;L=b[17251]|0;M=b[17315]|0;N=b[17379]|0;O=rc+12|0;P=b[17188]|0;Q=b[17252]|0;R=b[17316]|0;S=b[17380]|0;T=rc+16|0;U=b[17189]|0;V=b[17253]|0;W=b[17317]|0;X=b[17381]|0;Y=rc+20|0;Z=b[17190]|0;_=b[17254]|0;$=b[17318]|0;aa=b[17382]|0;ba=rc+24|0;ca=b[17191]|0;da=b[17255]|0;ea=b[17319]|0;fa=b[17383]|0;ga=rc+28|0;ha=b[17192]|0;ia=b[17256]|0;ja=b[17320]|0;ka=b[17384]|0;la=rc+32|0;ma=b[17193]|0;na=b[17257]|0;oa=b[17321]|0;pa=b[17385]|0;qa=rc+36|0;ra=b[17194]|0;sa=b[17258]|0;ta=b[17322]|0;ua=b[17386]|0;va=rc+40|0;wa=b[17195]|0;xa=b[17259]|0;ya=b[17323]|0;za=b[17387]|0;Aa=rc+44|0;Ba=b[17196]|0;Ca=b[17260]|0;Da=b[17324]|0;Ea=b[17388]|0;Fa=rc+48|0;Ga=b[17197]|0;Ha=b[17261]|0;Ia=b[17325]|0;Ja=b[17389]|0;Ka=rc+52|0;La=b[17198]|0;Ma=b[17262]|0;Na=b[17326]|0;Oa=b[17390]|0;Pa=rc+56|0;Qa=b[17199]|0;Ra=b[17263]|0;Sa=b[17327]|0;Ta=b[17391]|0;Ua=rc+60|0;Va=b[17216]|0;Wa=b[17344]|0;Xa=b[17217]|0;Ya=b[17345]|0;Za=sc+4|0;_a=b[17218]|0;$a=b[17346]|0;ab=sc+8|0;bb=b[17219]|0;cb=b[17347]|0;db=sc+12|0;eb=b[17220]|0;fb=b[17348]|0;gb=sc+16|0;hb=b[17221]|0;ib=b[17349]|0;jb=sc+20|0;kb=b[17222]|0;lb=b[17350]|0;mb=sc+24|0;nb=b[17223]|0;ob=b[17351]|0;pb=sc+28|0;qb=b[17280]|0;rb=b[17281]|0;sb=tc+4|0;tb=b[17282]|0;ub=tc+8|0;vb=b[17283]|0;wb=tc+12|0;xb=uc+32|0;yb=uc+4|0;zb=uc+36|0;Ab=uc+8|0;Bb=uc+40|0;Cb=uc+12|0;Db=uc+44|0;Eb=uc+16|0;Fb=uc+48|0;Gb=uc+20|0;Hb=uc+52|0;Ib=uc+24|0;Jb=uc+56|0;Kb=uc+28|0;Lb=uc+60|0;o=0;p=f;while(1){b:do if(!(l&1)){cc=b[e+(i<<1)>>1]|0;fc=b[e+(lc<<1)>>1]|0;bc=b[e+(mc<<1)>>1]|0;ic=b[e+(nc<<1)>>1]|0;c[rc>>2]=(w(fc,x)|0)+(w(cc,v)|0)+(w(bc,y)|0)+(w(ic,z)|0);c[E>>2]=(w(fc,B)|0)+(w(cc,A)|0)+(w(bc,C)|0)+(w(ic,D)|0);c[J>>2]=(w(fc,G)|0)+(w(cc,F)|0)+(w(bc,H)|0)+(w(ic,I)|0);c[O>>2]=(w(fc,L)|0)+(w(cc,K)|0)+(w(bc,M)|0)+(w(ic,N)|0);c[T>>2]=(w(fc,Q)|0)+(w(cc,P)|0)+(w(bc,R)|0)+(w(ic,S)|0);c[Y>>2]=(w(fc,V)|0)+(w(cc,U)|0)+(w(bc,W)|0)+(w(ic,X)|0);c[ba>>2]=(w(fc,_)|0)+(w(cc,Z)|0)+(w(bc,$)|0)+(w(ic,aa)|0);c[ga>>2]=(w(fc,da)|0)+(w(cc,ca)|0)+(w(bc,ea)|0)+(w(ic,fa)|0);c[la>>2]=(w(fc,ia)|0)+(w(cc,ha)|0)+(w(bc,ja)|0)+(w(ic,ka)|0);c[qa>>2]=(w(fc,na)|0)+(w(cc,ma)|0)+(w(bc,oa)|0)+(w(ic,pa)|0);c[va>>2]=(w(fc,sa)|0)+(w(cc,ra)|0)+(w(bc,ta)|0)+(w(ic,ua)|0);c[Aa>>2]=(w(fc,xa)|0)+(w(cc,wa)|0)+(w(bc,ya)|0)+(w(ic,za)|0);c[Fa>>2]=(w(fc,Ca)|0)+(w(cc,Ba)|0)+(w(bc,Da)|0)+(w(ic,Ea)|0);c[Ka>>2]=(w(fc,Ha)|0)+(w(cc,Ga)|0)+(w(bc,Ia)|0)+(w(ic,Ja)|0);c[Pa>>2]=(w(fc,Ma)|0)+(w(cc,La)|0)+(w(bc,Na)|0)+(w(ic,Oa)|0);c[Ua>>2]=(w(fc,Ra)|0)+(w(cc,Qa)|0)+(w(bc,Sa)|0)+(w(ic,Ta)|0);ic=b[e+(q<<1)>>1]|0;bc=b[e+(r<<1)>>1]|0;c[sc>>2]=(w(bc,Wa)|0)+(w(ic,Va)|0);c[Za>>2]=(w(bc,Ya)|0)+(w(ic,Xa)|0);c[ab>>2]=(w(bc,$a)|0)+(w(ic,_a)|0);c[db>>2]=(w(bc,cb)|0)+(w(ic,bb)|0);c[gb>>2]=(w(bc,fb)|0)+(w(ic,eb)|0);cc=(w(bc,ib)|0)+(w(ic,hb)|0)|0;c[jb>>2]=cc;fc=(w(bc,lb)|0)+(w(ic,kb)|0)|0;c[mb>>2]=fc;ic=(w(bc,ob)|0)+(w(ic,nb)|0)|0;c[pb>>2]=ic;bc=b[e+(s<<1)>>1]|0;jc=w(bc,qb)|0;c[tc>>2]=jc;gc=w(bc,rb)|0;c[sb>>2]=gc;ec=w(bc,tb)|0;c[ub>>2]=ec;bc=w(bc,vb)|0;c[wb>>2]=bc;m=b[e>>1]|0;n=w(m,t)|0;m=w(u,m)|0;kc=jc+n|0;ac=n-bc|0;hc=gc+m|0;dc=m-ec|0;ec=ec+m|0;gc=m-gc|0;bc=bc+n|0;jc=n-jc|0;n=c[sc>>2]|0;m=n+kc|0;c[uc>>2]=m;c[xb>>2]=jc-ic;ic=c[Za>>2]|0;c[yb>>2]=ic+hc;c[zb>>2]=gc-fc;fc=c[ab>>2]|0;c[Ab>>2]=fc+ec;c[Bb>>2]=dc-cc;cc=c[db>>2]|0;c[Cb>>2]=cc+bc;$b=c[gb>>2]|0;c[Db>>2]=ac-$b;c[Eb>>2]=$b+ac;c[Fb>>2]=bc-cc;c[Gb>>2]=(c[jb>>2]|0)+dc;c[Hb>>2]=ec-fc;c[Ib>>2]=(c[mb>>2]|0)+gc;c[Jb>>2]=hc-ic;c[Kb>>2]=(c[pb>>2]|0)+jc;c[Lb>>2]=kc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[p+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[p+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break b;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=p;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);o=o+1|0;if(o>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;p=p+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17185]|0;s=b[17249]|0;t=rc+4|0;u=b[17186]|0;v=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(w(m,q)|0)+(w(i,p)|0);c[t>>2]=(w(m,s)|0)+(w(i,r)|0);c[x>>2]=(w(m,v)|0)+(w(i,u)|0);c[A>>2]=(w(m,z)|0)+(w(i,y)|0);c[D>>2]=(w(m,C)|0)+(w(i,B)|0);c[G>>2]=(w(m,F)|0)+(w(i,E)|0);c[J>>2]=(w(m,I)|0)+(w(i,H)|0);c[M>>2]=(w(m,L)|0)+(w(i,K)|0);c[P>>2]=(w(m,O)|0)+(w(i,N)|0);c[S>>2]=(w(m,R)|0)+(w(i,Q)|0);c[V>>2]=(w(m,U)|0)+(w(i,T)|0);c[Y>>2]=(w(m,X)|0)+(w(i,W)|0);c[$>>2]=(w(m,_)|0)+(w(i,Z)|0);c[ca>>2]=(w(m,ba)|0)+(w(i,aa)|0);c[fa>>2]=(w(m,ea)|0)+(w(i,da)|0);c[ia>>2]=(w(m,ha)|0)+(w(i,ga)|0);i=b[f+128>>1]|0;m=w(i,ja)|0;c[sc>>2]=m;qc=w(i,ka)|0;c[la>>2]=qc;nc=w(i,ma)|0;c[na>>2]=nc;lc=w(i,oa)|0;c[pa>>2]=lc;kc=w(i,qa)|0;c[ra>>2]=kc;mc=w(i,sa)|0;c[ta>>2]=mc;oc=w(i,ua)|0;c[va>>2]=oc;i=w(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;n=w(pc,e)|0;pc=w(o,pc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+n;c[Ea>>2]=n-kc;c[Fa>>2]=kc+n;c[Ga>>2]=n-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17312]|0;s=b[17376]|0;t=b[17185]|0;u=b[17249]|0;v=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(w(mc,q)|0)+(w(jc,p)|0)+(w(ic,r)|0)+(w(pc,s)|0);c[y>>2]=(w(mc,u)|0)+(w(jc,t)|0)+(w(ic,v)|0)+(w(pc,x)|0);c[D>>2]=(w(mc,A)|0)+(w(jc,z)|0)+(w(ic,B)|0)+(w(pc,C)|0);c[I>>2]=(w(mc,F)|0)+(w(jc,E)|0)+(w(ic,G)|0)+(w(pc,H)|0);c[N>>2]=(w(mc,K)|0)+(w(jc,J)|0)+(w(ic,L)|0)+(w(pc,M)|0);c[S>>2]=(w(mc,P)|0)+(w(jc,O)|0)+(w(ic,Q)|0)+(w(pc,R)|0);c[X>>2]=(w(mc,U)|0)+(w(jc,T)|0)+(w(ic,V)|0)+(w(pc,W)|0);c[aa>>2]=(w(mc,Z)|0)+(w(jc,Y)|0)+(w(ic,_)|0)+(w(pc,$)|0);c[fa>>2]=(w(mc,ca)|0)+(w(jc,ba)|0)+(w(ic,da)|0)+(w(pc,ea)|0);c[ka>>2]=(w(mc,ha)|0)+(w(jc,ga)|0)+(w(ic,ia)|0)+(w(pc,ja)|0);c[pa>>2]=(w(mc,ma)|0)+(w(jc,la)|0)+(w(ic,na)|0)+(w(pc,oa)|0);c[ua>>2]=(w(mc,ra)|0)+(w(jc,qa)|0)+(w(ic,sa)|0)+(w(pc,ta)|0);c[za>>2]=(w(mc,wa)|0)+(w(jc,va)|0)+(w(ic,xa)|0)+(w(pc,ya)|0);c[Ea>>2]=(w(mc,Ba)|0)+(w(jc,Aa)|0)+(w(ic,Ca)|0)+(w(pc,Da)|0);c[Ja>>2]=(w(mc,Ga)|0)+(w(jc,Fa)|0)+(w(ic,Ha)|0)+(w(pc,Ia)|0);c[Oa>>2]=(w(mc,La)|0)+(w(jc,Ka)|0)+(w(ic,Ma)|0)+(w(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(w(ic,Qa)|0)+(w(pc,Pa)|0);c[Ta>>2]=(w(ic,Sa)|0)+(w(pc,Ra)|0);c[Wa>>2]=(w(ic,Va)|0)+(w(pc,Ua)|0);c[Za>>2]=(w(ic,Ya)|0)+(w(pc,Xa)|0);c[ab>>2]=(w(ic,$a)|0)+(w(pc,_a)|0);jc=(w(ic,cb)|0)+(w(pc,bb)|0)|0;c[db>>2]=jc;mc=(w(ic,fb)|0)+(w(pc,eb)|0)|0;c[gb>>2]=mc;pc=(w(ic,ib)|0)+(w(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=w(ic,kb)|0;c[tc>>2]=qc;nc=w(ic,lb)|0;c[mb>>2]=nc;lc=w(ic,nb)|0;c[ob>>2]=lc;ic=w(ic,pb)|0;c[qb>>2]=ic;m=b[f>>1]|0;n=w(m,e)|0;m=w(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[rb>>2]=qc-pc;pc=c[Ta>>2]|0;c[sb>>2]=pc+oc;c[tb>>2]=nc-mc;mc=c[Wa>>2]|0;c[ub>>2]=mc+lc;c[vb>>2]=kc-jc;jc=c[Za>>2]|0;c[wb>>2]=jc+ic;gc=c[ab>>2]|0;c[xb>>2]=hc-gc;c[yb>>2]=gc+hc;c[zb>>2]=ic-jc;c[Ab>>2]=(c[db>>2]|0)+kc;c[Bb>>2]=lc-mc;c[Cb>>2]=(c[gb>>2]|0)+nc;c[Db>>2]=oc-pc;c[Eb>>2]=(c[jb>>2]|0)+qc;c[Fb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;r=b[f+832>>1]|0;s=b[f+960>>1]|0;t=b[f+1088>>1]|0;u=b[f+1216>>1]|0;v=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=w(n,b[34368+(m<<1)>>1]|0)|0;i=(w(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(w(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(w(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(w(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(w(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(w(r,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(w(s,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(w(t,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(w(u,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(w(v,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(w(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(w(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(w(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(w(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(w(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(w(m,M)|0)+(w(pc,L)|0)+(w(mc,N)|0)+(w(i,O)|0)+(w(n,P)|0)+(w(jc,Q)|0)+(w(ec,R)|0)+(w(fc,S)|0);c[$>>2]=(w(m,U)|0)+(w(pc,T)|0)+(w(mc,V)|0)+(w(i,W)|0)+(w(n,X)|0)+(w(jc,Y)|0)+(w(ec,Z)|0)+(w(fc,_)|0);c[ia>>2]=(w(m,ba)|0)+(w(pc,aa)|0)+(w(mc,ca)|0)+(w(i,da)|0)+(w(n,ea)|0)+(w(jc,fa)|0)+(w(ec,ga)|0)+(w(fc,ha)|0);c[ra>>2]=(w(m,ka)|0)+(w(pc,ja)|0)+(w(mc,la)|0)+(w(i,ma)|0)+(w(n,na)|0)+(w(jc,oa)|0)+(w(ec,pa)|0)+(w(fc,qa)|0);c[Aa>>2]=(w(m,ta)|0)+(w(pc,sa)|0)+(w(mc,ua)|0)+(w(i,va)|0)+(w(n,wa)|0)+(w(jc,xa)|0)+(w(ec,ya)|0)+(w(fc,za)|0);c[Ja>>2]=(w(m,Ca)|0)+(w(pc,Ba)|0)+(w(mc,Da)|0)+(w(i,Ea)|0)+(w(n,Fa)|0)+(w(jc,Ga)|0)+(w(ec,Ha)|0)+(w(fc,Ia)|0);c[Sa>>2]=(w(m,La)|0)+(w(pc,Ka)|0)+(w(mc,Ma)|0)+(w(i,Na)|0)+(w(n,Oa)|0)+(w(jc,Pa)|0)+(w(ec,Qa)|0)+(w(fc,Ra)|0);c[$a>>2]=(w(m,Ua)|0)+(w(pc,Ta)|0)+(w(mc,Va)|0)+(w(i,Wa)|0)+(w(n,Xa)|0)+(w(jc,Ya)|0)+(w(ec,Za)|0)+(w(fc,_a)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(w(ec,bb)|0)+(w(fc,ab)|0)+(w(jc,cb)|0)+(w(n,db)|0)|0;c[tc>>2]=i;mc=(w(ec,fb)|0)+(w(fc,eb)|0)+(w(jc,gb)|0)+(w(n,hb)|0)|0;c[ib>>2]=mc;pc=(w(ec,kb)|0)+(w(fc,jb)|0)+(w(jc,lb)|0)+(w(n,mb)|0)|0;c[nb>>2]=pc;n=(w(ec,pb)|0)+(w(fc,ob)|0)+(w(jc,qb)|0)+(w(n,rb)|0)|0;c[sb>>2]=n;jc=b[f+512>>1]|0;fc=w(jc,D)|0;ec=b[f+1536>>1]|0;fc=(w(ec,E)|0)+fc|0;jc=(w(G,ec)|0)+(w(F,jc)|0)|0;ec=b[f>>1]|0;m=w(ec,H)|0;qc=b[f+1024>>1]|0;m=(w(qc,I)|0)+m|0;ec=(w(K,qc)|0)+(w(J,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[$a>>2]|0;c[tb>>2]=qc-pc;oc=c[$>>2]|0;c[ub>>2]=oc+nc;lc=c[Sa>>2]|0;c[vb>>2]=mc-lc;kc=c[ia>>2]|0;c[wb>>2]=kc+jc;hc=c[Ja>>2]|0;c[xb>>2]=ic-hc;gc=c[ra>>2]|0;c[yb>>2]=gc+fc;dc=c[Aa>>2]|0;c[zb>>2]=ec-dc;c[Ab>>2]=dc+ec;c[Bb>>2]=fc-gc;c[Cb>>2]=hc+ic;c[Db>>2]=jc-kc;c[Eb>>2]=lc+mc;c[Fb>>2]=nc-oc;c[Gb>>2]=pc+qc;c[Hb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}G=i*9|0;H=i*11|0;I=i*13|0;J=i*15|0;K=i*17|0;L=i*19|0;M=i*21|0;N=i*23|0;O=i*25|0;P=i*27|0;Q=i*29|0;R=i*31|0;S=i<<1;T=i*6|0;U=i*10|0;V=i*14|0;W=i*18|0;X=i*22|0;Y=i*26|0;Z=i*30|0;_=i<<2;$=i*12|0;aa=i*20|0;ba=i*28|0;ca=b[17408]|0;da=i<<3;ea=b[17920]|0;fa=i*24|0;ga=b[17409]|0;ha=b[17921]|0;ia=b[17152]|0;ja=b[17664]|0;ka=i<<4;la=b[17153]|0;ma=b[17665]|0;na=b[17216]|0;oa=b[17344]|0;pa=b[17472]|0;qa=b[17600]|0;ra=b[17728]|0;sa=b[17856]|0;ta=b[17984]|0;ua=b[18112]|0;va=b[17217]|0;wa=b[17345]|0;xa=b[17473]|0;ya=b[17601]|0;za=b[17729]|0;Aa=b[17857]|0;Ba=b[17985]|0;Ca=b[18113]|0;Da=sc+4|0;Ea=b[17218]|0;Fa=b[17346]|0;Ga=b[17474]|0;Ha=b[17602]|0;Ia=b[17730]|0;Ja=b[17858]|0;Ka=b[17986]|0;La=b[18114]|0;Ma=sc+8|0;Na=b[17219]|0;Oa=b[17347]|0;Pa=b[17475]|0;Qa=b[17603]|0;Ra=b[17731]|0;Sa=b[17859]|0;Ta=b[17987]|0;Ua=b[18115]|0;Va=sc+12|0;Wa=b[17220]|0;Xa=b[17348]|0;Ya=b[17476]|0;Za=b[17604]|0;_a=b[17732]|0;$a=b[17860]|0;ab=b[17988]|0;bb=b[18116]|0;cb=sc+16|0;db=b[17221]|0;eb=b[17349]|0;fb=b[17477]|0;gb=b[17605]|0;hb=b[17733]|0;ib=b[17861]|0;jb=b[17989]|0;kb=b[18117]|0;lb=sc+20|0;mb=b[17222]|0;nb=b[17350]|0;ob=b[17478]|0;pb=b[17606]|0;qb=b[17734]|0;rb=b[17862]|0;sb=b[17990]|0;tb=b[18118]|0;ub=sc+24|0;vb=b[17223]|0;wb=b[17351]|0;xb=b[17479]|0;yb=b[17607]|0;zb=b[17735]|0;Ab=b[17863]|0;Bb=b[17991]|0;Cb=b[18119]|0;Db=sc+28|0;Eb=b[17280]|0;Fb=b[17536]|0;Gb=b[17792]|0;Hb=b[18048]|0;Ib=b[17281]|0;Jb=b[17537]|0;Kb=b[17793]|0;Lb=b[18049]|0;Mb=tc+4|0;Nb=b[17282]|0;Ob=b[17538]|0;Pb=b[17794]|0;Qb=b[18050]|0;Rb=tc+8|0;Sb=b[17283]|0;Tb=b[17539]|0;Ub=b[17795]|0;Vb=b[18051]|0;Wb=tc+12|0;Xb=uc+32|0;Yb=uc+4|0;_b=uc+36|0;$b=uc+8|0;ac=uc+40|0;bc=uc+12|0;cc=uc+44|0;dc=uc+16|0;ec=uc+48|0;fc=uc+20|0;gc=uc+52|0;hc=uc+24|0;ic=uc+56|0;jc=uc+28|0;kc=uc+60|0;E=0;F=f;while(1){c:do if(!(l&1)){n=b[e+(i<<1)>>1]|0;o=b[e+(lc<<1)>>1]|0;p=b[e+(mc<<1)>>1]|0;q=b[e+(nc<<1)>>1]|0;r=b[e+(G<<1)>>1]|0;s=b[e+(H<<1)>>1]|0;t=b[e+(I<<1)>>1]|0;u=b[e+(J<<1)>>1]|0;v=b[e+(K<<1)>>1]|0;x=b[e+(L<<1)>>1]|0;y=b[e+(M<<1)>>1]|0;z=b[e+(N<<1)>>1]|0;A=b[e+(O<<1)>>1]|0;B=b[e+(P<<1)>>1]|0;C=b[e+(Q<<1)>>1]|0;D=b[e+(R<<1)>>1]|0;m=0;do{wc=w(n,b[34368+(m<<1)>>1]|0)|0;wc=(w(o,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(w(p,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(w(q,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(w(r,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(w(s,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(w(t,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(w(u,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(w(v,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(w(x,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(w(y,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(w(z,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(w(A,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(w(B,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(w(C,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(w(D,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);C=b[e+(S<<1)>>1]|0;m=b[e+(T<<1)>>1]|0;z=b[e+(U<<1)>>1]|0;wc=b[e+(V<<1)>>1]|0;n=b[e+(W<<1)>>1]|0;v=b[e+(X<<1)>>1]|0;q=b[e+(Y<<1)>>1]|0;r=b[e+(Z<<1)>>1]|0;c[sc>>2]=(w(m,oa)|0)+(w(C,na)|0)+(w(z,pa)|0)+(w(wc,qa)|0)+(w(n,ra)|0)+(w(v,sa)|0)+(w(q,ta)|0)+(w(r,ua)|0);c[Da>>2]=(w(m,wa)|0)+(w(C,va)|0)+(w(z,xa)|0)+(w(wc,ya)|0)+(w(n,za)|0)+(w(v,Aa)|0)+(w(q,Ba)|0)+(w(r,Ca)|0);c[Ma>>2]=(w(m,Fa)|0)+(w(C,Ea)|0)+(w(z,Ga)|0)+(w(wc,Ha)|0)+(w(n,Ia)|0)+(w(v,Ja)|0)+(w(q,Ka)|0)+(w(r,La)|0);c[Va>>2]=(w(m,Oa)|0)+(w(C,Na)|0)+(w(z,Pa)|0)+(w(wc,Qa)|0)+(w(n,Ra)|0)+(w(v,Sa)|0)+(w(q,Ta)|0)+(w(r,Ua)|0);c[cb>>2]=(w(m,Xa)|0)+(w(C,Wa)|0)+(w(z,Ya)|0)+(w(wc,Za)|0)+(w(n,_a)|0)+(w(v,$a)|0)+(w(q,ab)|0)+(w(r,bb)|0);c[lb>>2]=(w(m,eb)|0)+(w(C,db)|0)+(w(z,fb)|0)+(w(wc,gb)|0)+(w(n,hb)|0)+(w(v,ib)|0)+(w(q,jb)|0)+(w(r,kb)|0);c[ub>>2]=(w(m,nb)|0)+(w(C,mb)|0)+(w(z,ob)|0)+(w(wc,pb)|0)+(w(n,qb)|0)+(w(v,rb)|0)+(w(q,sb)|0)+(w(r,tb)|0);c[Db>>2]=(w(m,wb)|0)+(w(C,vb)|0)+(w(z,xb)|0)+(w(wc,yb)|0)+(w(n,zb)|0)+(w(v,Ab)|0)+(w(q,Bb)|0)+(w(r,Cb)|0);r=b[e+(_<<1)>>1]|0;q=b[e+($<<1)>>1]|0;v=b[e+(aa<<1)>>1]|0;n=b[e+(ba<<1)>>1]|0;wc=(w(q,Fb)|0)+(w(r,Eb)|0)+(w(v,Gb)|0)+(w(n,Hb)|0)|0;c[tc>>2]=wc;z=(w(q,Jb)|0)+(w(r,Ib)|0)+(w(v,Kb)|0)+(w(n,Lb)|0)|0;c[Mb>>2]=z;C=(w(q,Ob)|0)+(w(r,Nb)|0)+(w(v,Pb)|0)+(w(n,Qb)|0)|0;c[Rb>>2]=C;n=(w(q,Tb)|0)+(w(r,Sb)|0)+(w(v,Ub)|0)+(w(n,Vb)|0)|0;c[Wb>>2]=n;v=b[e+(da<<1)>>1]|0;r=w(v,ca)|0;q=b[e+(fa<<1)>>1]|0;r=(w(q,ea)|0)+r|0;v=(w(ha,q)|0)+(w(ga,v)|0)|0;q=b[e>>1]|0;m=w(q,ia)|0;D=b[e+(ka<<1)>>1]|0;m=(w(D,ja)|0)+m|0;q=(w(ma,D)|0)+(w(la,q)|0)|0;D=m+r|0;r=m-r|0;m=q+v|0;v=q-v|0;wc=wc+D|0;q=r-n|0;A=z+m|0;u=v-C|0;v=C+v|0;z=m-z|0;r=n+r|0;D=D-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;C=c[Db>>2]|0;c[Xb>>2]=D-C;B=c[Da>>2]|0;c[Yb>>2]=B+A;y=c[ub>>2]|0;c[_b>>2]=z-y;x=c[Ma>>2]|0;c[$b>>2]=x+v;t=c[lb>>2]|0;c[ac>>2]=u-t;s=c[Va>>2]|0;c[bc>>2]=s+r;p=c[cb>>2]|0;c[cc>>2]=q-p;c[dc>>2]=p+q;c[ec>>2]=r-s;c[fc>>2]=t+u;c[gc>>2]=v-x;c[hc>>2]=y+z;c[ic>>2]=A-B;c[jc>>2]=C+D;c[kc>>2]=wc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[F+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[F+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break c;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=F;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);E=E+1|0;if(E>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;F=F+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17185]|0;s=b[17249]|0;t=rc+4|0;u=b[17186]|0;v=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){wc=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(w(m,q)|0)+(w(wc,p)|0);c[t>>2]=(w(m,s)|0)+(w(wc,r)|0);c[x>>2]=(w(m,v)|0)+(w(wc,u)|0);c[A>>2]=(w(m,z)|0)+(w(wc,y)|0);c[D>>2]=(w(m,C)|0)+(w(wc,B)|0);c[G>>2]=(w(m,F)|0)+(w(wc,E)|0);c[J>>2]=(w(m,I)|0)+(w(wc,H)|0);c[M>>2]=(w(m,L)|0)+(w(wc,K)|0);c[P>>2]=(w(m,O)|0)+(w(wc,N)|0);c[S>>2]=(w(m,R)|0)+(w(wc,Q)|0);c[V>>2]=(w(m,U)|0)+(w(wc,T)|0);c[Y>>2]=(w(m,X)|0)+(w(wc,W)|0);c[$>>2]=(w(m,_)|0)+(w(wc,Z)|0);c[ca>>2]=(w(m,ba)|0)+(w(wc,aa)|0);c[fa>>2]=(w(m,ea)|0)+(w(wc,da)|0);c[ia>>2]=(w(m,ha)|0)+(w(wc,ga)|0);wc=b[f+128>>1]|0;m=w(wc,ja)|0;c[sc>>2]=m;i=w(wc,ka)|0;c[la>>2]=i;oc=w(wc,ma)|0;c[na>>2]=oc;mc=w(wc,oa)|0;c[pa>>2]=mc;lc=w(wc,qa)|0;c[ra>>2]=lc;nc=w(wc,sa)|0;c[ta>>2]=nc;pc=w(wc,ua)|0;c[va>>2]=pc;wc=w(wc,wa)|0;c[xa>>2]=wc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;qc=b[f>>1]|0;n=w(qc,e)|0;qc=w(o,qc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-wc;c[za>>2]=i+qc;c[Aa>>2]=qc-pc;c[Ba>>2]=oc+qc;c[Ca>>2]=qc-nc;c[Da>>2]=mc+n;c[Ea>>2]=n-lc;c[Fa>>2]=lc+n;c[Ga>>2]=n-mc;c[Ha>>2]=nc+qc;c[Ia>>2]=qc-oc;c[Ja>>2]=pc+qc;c[Ka>>2]=qc-i;c[La>>2]=wc+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Zb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;r=b[17312]|0;s=b[17376]|0;t=b[17185]|0;u=b[17249]|0;v=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){kc=b[f+64>>1]|0;nc=b[f+192>>1]|0;jc=b[f+320>>1]|0;qc=b[f+448>>1]|0;c[rc>>2]=(w(nc,q)|0)+(w(kc,p)|0)+(w(jc,r)|0)+(w(qc,s)|0);c[y>>2]=(w(nc,u)|0)+(w(kc,t)|0)+(w(jc,v)|0)+(w(qc,x)|0);c[D>>2]=(w(nc,A)|0)+(w(kc,z)|0)+(w(jc,B)|0)+(w(qc,C)|0);c[I>>2]=(w(nc,F)|0)+(w(kc,E)|0)+(w(jc,G)|0)+(w(qc,H)|0);c[N>>2]=(w(nc,K)|0)+(w(kc,J)|0)+(w(jc,L)|0)+(w(qc,M)|0);c[S>>2]=(w(nc,P)|0)+(w(kc,O)|0)+(w(jc,Q)|0)+(w(qc,R)|0);c[X>>2]=(w(nc,U)|0)+(w(kc,T)|0)+(w(jc,V)|0)+(w(qc,W)|0);c[aa>>2]=(w(nc,Z)|0)+(w(kc,Y)|0)+(w(jc,_)|0)+(w(qc,$)|0);c[fa>>2]=(w(nc,ca)|0)+(w(kc,ba)|0)+(w(jc,da)|0)+(w(qc,ea)|0);c[ka>>2]=(w(nc,ha)|0)+(w(kc,ga)|0)+(w(jc,ia)|0)+(w(qc,ja)|0);c[pa>>2]=(w(nc,ma)|0)+(w(kc,la)|0)+(w(jc,na)|0)+(w(qc,oa)|0);c[ua>>2]=(w(nc,ra)|0)+(w(kc,qa)|0)+(w(jc,sa)|0)+(w(qc,ta)|0);c[za>>2]=(w(nc,wa)|0)+(w(kc,va)|0)+(w(jc,xa)|0)+(w(qc,ya)|0);c[Ea>>2]=(w(nc,Ba)|0)+(w(kc,Aa)|0)+(w(jc,Ca)|0)+(w(qc,Da)|0);c[Ja>>2]=(w(nc,Ga)|0)+(w(kc,Fa)|0)+(w(jc,Ha)|0)+(w(qc,Ia)|0);c[Oa>>2]=(w(nc,La)|0)+(w(kc,Ka)|0)+(w(jc,Ma)|0)+(w(qc,Na)|0);qc=b[f+128>>1]|0;jc=b[f+384>>1]|0;c[sc>>2]=(w(jc,Qa)|0)+(w(qc,Pa)|0);c[Ta>>2]=(w(jc,Sa)|0)+(w(qc,Ra)|0);c[Wa>>2]=(w(jc,Va)|0)+(w(qc,Ua)|0);c[Za>>2]=(w(jc,Ya)|0)+(w(qc,Xa)|0);c[ab>>2]=(w(jc,$a)|0)+(w(qc,_a)|0);kc=(w(jc,cb)|0)+(w(qc,bb)|0)|0;c[db>>2]=kc;nc=(w(jc,fb)|0)+(w(qc,eb)|0)|0;c[gb>>2]=nc;qc=(w(jc,ib)|0)+(w(qc,hb)|0)|0;c[jb>>2]=qc;jc=b[f+256>>1]|0;i=w(jc,kb)|0;c[tc>>2]=i;oc=w(jc,lb)|0;c[mb>>2]=oc;mc=w(jc,nb)|0;c[ob>>2]=mc;jc=w(jc,pb)|0;c[qb>>2]=jc;m=b[f>>1]|0;n=w(m,e)|0;m=w(o,m)|0;wc=i+n|0;ic=n-jc|0;pc=oc+m|0;lc=m-mc|0;mc=mc+m|0;oc=m-oc|0;jc=jc+n|0;i=n-i|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;c[rb>>2]=i-qc;qc=c[Ta>>2]|0;c[sb>>2]=qc+pc;c[tb>>2]=oc-nc;nc=c[Wa>>2]|0;c[ub>>2]=nc+mc;c[vb>>2]=lc-kc;kc=c[Za>>2]|0;c[wb>>2]=kc+jc;hc=c[ab>>2]|0;c[xb>>2]=ic-hc;c[yb>>2]=hc+ic;c[zb>>2]=jc-kc;c[Ab>>2]=(c[db>>2]|0)+lc;c[Bb>>2]=mc-nc;c[Cb>>2]=(c[gb>>2]|0)+oc;c[Db>>2]=pc-qc;c[Eb>>2]=(c[jb>>2]|0)+i;c[Fb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Zb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;r=b[f+832>>1]|0;s=b[f+960>>1]|0;t=b[f+1088>>1]|0;u=b[f+1216>>1]|0;v=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{wc=w(n,b[34368+(m<<1)>>1]|0)|0;wc=(w(l,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(w(e,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(w(o,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(w(p,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(w(q,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(w(r,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(w(s,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(w(t,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(w(u,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(w(v,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(w(x,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(w(y,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(w(z,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(w(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(w(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);qc=b[f+128>>1]|0;m=b[f+384>>1]|0;nc=b[f+640>>1]|0;wc=b[f+896>>1]|0;n=b[f+1152>>1]|0;kc=b[f+1408>>1]|0;fc=b[f+1664>>1]|0;gc=b[f+1920>>1]|0;c[sc>>2]=(w(m,M)|0)+(w(qc,L)|0)+(w(nc,N)|0)+(w(wc,O)|0)+(w(n,P)|0)+(w(kc,Q)|0)+(w(fc,R)|0)+(w(gc,S)|0);c[$>>2]=(w(m,U)|0)+(w(qc,T)|0)+(w(nc,V)|0)+(w(wc,W)|0)+(w(n,X)|0)+(w(kc,Y)|0)+(w(fc,Z)|0)+(w(gc,_)|0);c[ia>>2]=(w(m,ba)|0)+(w(qc,aa)|0)+(w(nc,ca)|0)+(w(wc,da)|0)+(w(n,ea)|0)+(w(kc,fa)|0)+(w(fc,ga)|0)+(w(gc,ha)|0);c[ra>>2]=(w(m,ka)|0)+(w(qc,ja)|0)+(w(nc,la)|0)+(w(wc,ma)|0)+(w(n,na)|0)+(w(kc,oa)|0)+(w(fc,pa)|0)+(w(gc,qa)|0);c[Aa>>2]=(w(m,ta)|0)+(w(qc,sa)|0)+(w(nc,ua)|0)+(w(wc,va)|0)+(w(n,wa)|0)+(w(kc,xa)|0)+(w(fc,ya)|0)+(w(gc,za)|0);c[Ja>>2]=(w(m,Ca)|0)+(w(qc,Ba)|0)+(w(nc,Da)|0)+(w(wc,Ea)|0)+(w(n,Fa)|0)+(w(kc,Ga)|0)+(w(fc,Ha)|0)+(w(gc,Ia)|0);c[Sa>>2]=(w(m,La)|0)+(w(qc,Ka)|0)+(w(nc,Ma)|0)+(w(wc,Na)|0)+(w(n,Oa)|0)+(w(kc,Pa)|0)+(w(fc,Qa)|0)+(w(gc,Ra)|0);c[$a>>2]=(w(m,Ua)|0)+(w(qc,Ta)|0)+(w(nc,Va)|0)+(w(wc,Wa)|0)+(w(n,Xa)|0)+(w(kc,Ya)|0)+(w(fc,Za)|0)+(w(gc,_a)|0);gc=b[f+256>>1]|0;fc=b[f+768>>1]|0;kc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;wc=(w(fc,bb)|0)+(w(gc,ab)|0)+(w(kc,cb)|0)+(w(n,db)|0)|0;c[tc>>2]=wc;nc=(w(fc,fb)|0)+(w(gc,eb)|0)+(w(kc,gb)|0)+(w(n,hb)|0)|0;c[ib>>2]=nc;qc=(w(fc,kb)|0)+(w(gc,jb)|0)+(w(kc,lb)|0)+(w(n,mb)|0)|0;c[nb>>2]=qc;n=(w(fc,pb)|0)+(w(gc,ob)|0)+(w(kc,qb)|0)+(w(n,rb)|0)|0;c[sb>>2]=n;kc=b[f+512>>1]|0;gc=w(kc,D)|0;fc=b[f+1536>>1]|0;gc=(w(fc,E)|0)+gc|0;kc=(w(G,fc)|0)+(w(F,kc)|0)|0;fc=b[f>>1]|0;m=w(fc,H)|0;i=b[f+1024>>1]|0;m=(w(i,I)|0)+m|0;fc=(w(K,i)|0)+(w(J,fc)|0)|0;i=m+gc|0;gc=m-gc|0;m=fc+kc|0;kc=fc-kc|0;wc=wc+i|0;fc=gc-n|0;oc=nc+m|0;jc=kc-qc|0;kc=qc+kc|0;nc=m-nc|0;gc=n+gc|0;i=i-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;qc=c[$a>>2]|0;c[tb>>2]=i-qc;pc=c[$>>2]|0;c[ub>>2]=pc+oc;mc=c[Sa>>2]|0;c[vb>>2]=nc-mc;lc=c[ia>>2]|0;c[wb>>2]=lc+kc;ic=c[Ja>>2]|0;c[xb>>2]=jc-ic;hc=c[ra>>2]|0;c[yb>>2]=hc+gc;ec=c[Aa>>2]|0;c[zb>>2]=fc-ec;c[Ab>>2]=ec+fc;c[Bb>>2]=gc-hc;c[Cb>>2]=ic+jc;c[Db>>2]=kc-lc;c[Eb>>2]=mc+nc;c[Fb>>2]=oc-pc;c[Gb>>2]=qc+i;c[Hb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Zb=vc;return}function Ff(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;fa=Zb;Zb=Zb+32|0;ea=fa+16|0;da=fa;$=(l&240|0)==240;Z=$?4:8;_=i*3|0;if((m&240|0)==240){s=b[16848]|0;t=i<<1;u=b[16849]|0;v=b[16832]|0;x=b[16833]|0;O=ea+12|0;P=ea+4|0;Q=ea+8|0;y=b[16840]|0;z=b[16856]|0;A=b[16841]|0;B=b[16857]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=da+8|0;G=b[16843]|0;H=b[16859]|0;I=da+12|0;q=f;r=0;n=c[Q>>2]|0;p=c[P>>2]|0;o=c[O>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){ca=b[e+(i<<1)>>1]|0;n=b[e+(_<<1)>>1]|0;Y=(w(n,z)|0)+(w(ca,y)|0)|0;c[da>>2]=Y;ba=(w(n,B)|0)+(w(ca,A)|0)|0;c[C>>2]=ba;aa=(w(n,E)|0)+(w(ca,D)|0)|0;c[F>>2]=aa;ca=(w(n,H)|0)+(w(ca,G)|0)|0;c[I>>2]=ca;n=b[e+(t<<1)>>1]|0;o=w(n,s)|0;n=w(u,n)|0;X=b[e>>1]|0;p=w(X,v)|0;X=w(x,X)|0;m=p+o|0;o=p-o|0;p=X+n|0;n=X-n|0;Y=Y+m|0;b[q>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=o-ca|0;b[q+8>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=ba+p|0;b[q+2>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=n-aa|0;b[q+10>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;aa=aa+n|0;b[q+4>>1]=(aa|0)>4194239?32767:(aa|0)<-4194368?-32768:(aa+64|0)>>>7&65535;ba=p-ba|0;b[q+12>>1]=(ba|0)>4194239?32767:(ba|0)<-4194368?-32768:(ba+64|0)>>>7&65535;ca=ca+o|0;b[q+6>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535;ca=m-(c[da>>2]|0)|0;b[q+14>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535}else{b[q>>1]=0;b[q+2>>1]=0;b[q+4>>1]=0;b[q+6>>1]=0;b[q+8>>1]=0;b[q+10>>1]=0;b[q+12>>1]=0;b[q+14>>1]=0}r=r+1|0;if(r>>>0>=Z>>>0)break;else{e=e+2|0;q=q+16|0;l=l>>1}}c[ea>>2]=m;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;r=b[16841]|0;s=b[16857]|0;t=da+4|0;u=b[16842]|0;v=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;m=f;n=0;while(1){ba=b[m+16>>1]|0;$=b[m+48>>1]|0;ca=(w($,q)|0)+(w(ba,e)|0)|0;c[da>>2]=ca;c[t>>2]=(w($,s)|0)+(w(ba,r)|0);c[x>>2]=(w($,v)|0)+(w(ba,u)|0);c[A>>2]=(w($,z)|0)+(w(ba,y)|0);ba=b[m+32>>1]|0;$=w(ba,N)|0;ba=w(o,ba)|0;aa=b[m>>1]|0;i=w(aa,p)|0;aa=w(l,aa)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[t>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[t>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;r=b[16833]|0;s=b[16865]|0;t=b[16840]|0;u=b[16856]|0;v=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){aa=b[m+16>>1]|0;i=b[m+48>>1]|0;$=b[m+80>>1]|0;ba=b[m+112>>1]|0;ca=(w(i,u)|0)+(w(aa,t)|0)+(w($,v)|0)+(w(ba,x)|0)|0;c[da>>2]=ca;c[C>>2]=(w(i,z)|0)+(w(aa,y)|0)+(w($,A)|0)+(w(ba,B)|0);c[H>>2]=(w(i,E)|0)+(w(aa,D)|0)+(w($,F)|0)+(w(ba,G)|0);c[M>>2]=(w(i,J)|0)+(w(aa,I)|0)+(w($,K)|0)+(w(ba,L)|0);ba=b[m+32>>1]|0;$=w(ba,N)|0;aa=b[m+96>>1]|0;$=(w(aa,o)|0)+$|0;ba=(w(l,aa)|0)+(w(p,ba)|0)|0;aa=b[m>>1]|0;i=w(aa,e)|0;f=b[m+64>>1]|0;i=(w(f,q)|0)+i|0;aa=(w(s,f)|0)+(w(r,aa)|0)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[C>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[H>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[H>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[C>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=fa;return}}else{s=i*5|0;t=i*7|0;u=b[16848]|0;v=i<<1;x=b[16880]|0;y=i*6|0;z=b[16849]|0;A=b[16881]|0;B=b[16832]|0;C=b[16864]|0;D=i<<2;E=b[16833]|0;F=b[16865]|0;aa=ea+12|0;ba=ea+4|0;ca=ea+8|0;G=b[16840]|0;H=b[16856]|0;I=b[16872]|0;J=b[16888]|0;K=b[16841]|0;L=b[16857]|0;M=b[16873]|0;N=b[16889]|0;O=da+4|0;P=b[16842]|0;Q=b[16858]|0;R=b[16874]|0;S=b[16890]|0;T=da+8|0;U=b[16843]|0;V=b[16859]|0;W=b[16875]|0;X=b[16891]|0;Y=da+12|0;q=0;r=f;n=c[ca>>2]|0;p=c[ba>>2]|0;o=c[aa>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){o=b[e+(i<<1)>>1]|0;ka=b[e+(_<<1)>>1]|0;n=b[e+(s<<1)>>1]|0;ga=b[e+(t<<1)>>1]|0;ja=(w(ka,H)|0)+(w(o,G)|0)+(w(n,I)|0)+(w(ga,J)|0)|0;c[da>>2]=ja;ia=(w(ka,L)|0)+(w(o,K)|0)+(w(n,M)|0)+(w(ga,N)|0)|0;c[O>>2]=ia;ha=(w(ka,Q)|0)+(w(o,P)|0)+(w(n,R)|0)+(w(ga,S)|0)|0;c[T>>2]=ha;ga=(w(ka,V)|0)+(w(o,U)|0)+(w(n,W)|0)+(w(ga,X)|0)|0;c[Y>>2]=ga;n=b[e+(v<<1)>>1]|0;o=w(n,u)|0;ka=b[e+(y<<1)>>1]|0;o=(w(ka,x)|0)+o|0;n=(w(A,ka)|0)+(w(z,n)|0)|0;ka=b[e>>1]|0;p=w(ka,B)|0;m=b[e+(D<<1)>>1]|0;p=(w(m,C)|0)+p|0;ka=(w(F,m)|0)+(w(E,ka)|0)|0;m=p+o|0;o=p-o|0;p=ka+n|0;n=ka-n|0;ja=ja+m|0;b[r>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ja=o-ga|0;b[r+8>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ia=ia+p|0;b[r+2>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ia=n-ha|0;b[r+10>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ha=ha+n|0;b[r+4>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ha=p-(c[O>>2]|0)|0;b[r+12>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ga=ga+o|0;b[r+6>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535;ga=m-(c[da>>2]|0)|0;b[r+14>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535}else{b[r>>1]=0;b[r+2>>1]=0;b[r+4>>1]=0;b[r+6>>1]=0;b[r+8>>1]=0;b[r+10>>1]=0;b[r+12>>1]=0;b[r+14>>1]=0}q=q+1|0;if(q>>>0>=Z>>>0)break;else{l=l>>1;e=e+2|0;r=r+16|0}}c[ea>>2]=m;c[aa>>2]=o;c[ba>>2]=p;c[ca>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;r=b[16841]|0;s=b[16857]|0;t=da+4|0;u=b[16842]|0;v=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;n=0;m=f;while(1){ia=b[m+16>>1]|0;ga=b[m+48>>1]|0;ja=(w(ga,q)|0)+(w(ia,e)|0)|0;c[da>>2]=ja;c[t>>2]=(w(ga,s)|0)+(w(ia,r)|0);c[x>>2]=(w(ga,v)|0)+(w(ia,u)|0);c[A>>2]=(w(ga,z)|0)+(w(ia,y)|0);ia=b[m+32>>1]|0;ga=w(ia,N)|0;ia=w(o,ia)|0;ha=b[m>>1]|0;f=w(ha,p)|0;ha=w(l,ha)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[t>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[t>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;r=b[16833]|0;s=b[16865]|0;t=b[16840]|0;u=b[16856]|0;v=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){ha=b[m+16>>1]|0;f=b[m+48>>1]|0;ga=b[m+80>>1]|0;ia=b[m+112>>1]|0;ja=(w(f,u)|0)+(w(ha,t)|0)+(w(ga,v)|0)+(w(ia,x)|0)|0;c[da>>2]=ja;c[C>>2]=(w(f,z)|0)+(w(ha,y)|0)+(w(ga,A)|0)+(w(ia,B)|0);c[H>>2]=(w(f,E)|0)+(w(ha,D)|0)+(w(ga,F)|0)+(w(ia,G)|0);c[M>>2]=(w(f,J)|0)+(w(ha,I)|0)+(w(ga,K)|0)+(w(ia,L)|0);ia=b[m+32>>1]|0;ga=w(ia,N)|0;ha=b[m+96>>1]|0;ga=(w(ha,o)|0)+ga|0;ia=(w(l,ha)|0)+(w(p,ia)|0)|0;ha=b[m>>1]|0;f=w(ha,e)|0;ka=b[m+64>>1]|0;f=(w(ka,q)|0)+f|0;ha=(w(s,ka)|0)+(w(r,ha)|0)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=fa;return}}}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)<1)return;e=0-b|0;b=1;while(1){Dn(a+(w(b,e)|0)|0,a|0,c|0)|0;if((b|0)==(d|0))break;else b=b+1|0}return}function If(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)<1)return;f=a+(0-b)|0;e=1;while(1){Dn(a+(w(e+-1|0,b)|0)|0,f|0,c|0)|0;if((e|0)==(d|0))break;else e=e+1|0}return}function Jf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)<=0)return;g=0-e|0;f=0;while(1){Fn(b+g|0,a[b>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Kf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;if((d|0)<=0)return;h=0-(e>>1)|0;if((e|0)<=1)return;f=0;e=a;while(1){a=b[e>>1]|0;c=h;while(1){b[e+(c<<1)>>1]=a;if((c|0)<-1)c=c+1|0;else break}f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Lf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((d|0)<=0)return;f=0;while(1){Fn(b|0,a[b+-1>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Mf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;h=e>>1;if(!((d|0)>0&(e|0)>1))return;f=0;e=a;while(1){a=b[e+-2>>1]|0;c=0;do{b[e+(c<<1)>>1]=a;c=c+1|0}while((c|0)<(h|0));f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Nf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Of(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Pf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Qf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Rf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;qa=h<<1;ra=i<<1;sa=h*3|0;m=i*3|0;n=h<<2;o=i<<2;p=h*5|0;q=i*5|0;r=h*6|0;s=i*6|0;t=h*7|0;u=i*7|0;v=h<<3;x=i<<3;y=h*9|0;z=i*9|0;A=h*10|0;B=i*10|0;C=h*11|0;D=i*11|0;E=h*12|0;F=i*12|0;G=h*13|0;H=i*13|0;I=h*14|0;J=i*14|0;K=h*15|0;L=i*15|0;M=h<<4;N=i<<4;O=h*17|0;P=i*17|0;Q=h*18|0;R=i*18|0;S=h*19|0;T=i*19|0;U=h*20|0;V=i*20|0;W=h*21|0;X=i*21|0;Y=h*22|0;Z=i*22|0;_=h*23|0;$=i*23|0;aa=h*24|0;ba=i*24|0;ca=h*25|0;da=i*25|0;ea=h*26|0;fa=i*26|0;ga=h*27|0;ha=i*27|0;ia=h*28|0;ja=i*28|0;ka=h*29|0;la=i*29|0;ma=h*30|0;na=i*30|0;oa=h*31|0;pa=i*31|0;l=0;k=e;while(1){if(!(j&1)){e=0;do{ta=b[c+((w(e,g)|0)<<1)>>1]|0;ta=(d[k+(w(e,h)|0)>>0]|0)+ta|0;ta=(ta|0)>0?ta:0;a[f+(w(e,i)|0)>>0]=(ta|0)<255?ta:255;e=e+1|0}while((e|0)!=32)}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+ra>>0]=a[k+qa>>0]|0;a[f+m>>0]=a[k+sa>>0]|0;a[f+o>>0]=a[k+n>>0]|0;a[f+q>>0]=a[k+p>>0]|0;a[f+s>>0]=a[k+r>>0]|0;a[f+u>>0]=a[k+t>>0]|0;a[f+x>>0]=a[k+v>>0]|0;a[f+z>>0]=a[k+y>>0]|0;a[f+B>>0]=a[k+A>>0]|0;a[f+D>>0]=a[k+C>>0]|0;a[f+F>>0]=a[k+E>>0]|0;a[f+H>>0]=a[k+G>>0]|0;a[f+J>>0]=a[k+I>>0]|0;a[f+L>>0]=a[k+K>>0]|0;a[f+N>>0]=a[k+M>>0]|0;a[f+P>>0]=a[k+O>>0]|0;a[f+R>>0]=a[k+Q>>0]|0;a[f+T>>0]=a[k+S>>0]|0;a[f+V>>0]=a[k+U>>0]|0;a[f+X>>0]=a[k+W>>0]|0;a[f+Z>>0]=a[k+Y>>0]|0;a[f+$>>0]=a[k+_>>0]|0;a[f+ba>>0]=a[k+aa>>0]|0;a[f+da>>0]=a[k+ca>>0]|0;a[f+fa>>0]=a[k+ea>>0]|0;a[f+ha>>0]=a[k+ga>>0]|0;a[f+ja>>0]=a[k+ia>>0]|0;a[f+la>>0]=a[k+ka>>0]|0;a[f+na>>0]=a[k+ma>>0]|0;a[f+pa>>0]=a[k+oa>>0]|0}l=l+1|0;if((l|0)==32)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Sf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Zb;Zb=Zb+128|0;p=q;o=(l|0)>0;n=k+-1|0;if(o){m=0;do{a[f+m>>0]=a[b+(n+(w(m,e)|0))>>0]|0;m=m+1|0}while((m|0)!=(l|0))}a[h>>0]=a[g+n>>0]|0;f=(k|0)>0;if(f){n=w(l+-1|0,e)|0;m=0;do{a[g+m>>0]=a[b+(m+n)>>0]|0;m=m+1|0}while((m|0)!=(k|0))}m=p;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[p+((i&31)<<2)>>2]=1;c[p+((i+1&31)<<2)>>2]=2;c[p+((i+2&31)<<2)>>2]=3;c[p+((i+3&31)<<2)>>2]=4;if(!(o&f)){Zb=q;return}m=0;while(1){n=0;do{i=b+n|0;o=d[i>>0]|0;o=(a[j+(c[p+(o>>>3<<2)>>2]|0)>>0]|0)+o|0;o=(o|0)>0?o:0;a[i>>0]=(o|0)<255?o:255;n=n+1|0}while((n|0)!=(k|0));m=m+1|0;if((m|0)==(l|0))break;else b=b+e|0}Zb=q;return}function Tf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;u=Zb;Zb=Zb+256|0;s=u+128|0;t=u;r=(n|0)>0;p=m+-2|0;q=m+-1|0;if(r){o=0;do{x=w(o,e)|0;v=o<<1;a[f+v>>0]=a[b+(p+x)>>0]|0;a[f+(v|1)>>0]=a[b+(q+x)>>0]|0;o=o+1|0}while((o|0)!=(n|0))}a[h>>0]=a[g+p>>0]|0;a[h+1>>0]=a[g+q>>0]|0;q=(m|0)>0;if(q){p=w(n+-1|0,e)|0;o=0;do{a[g+o>>0]=a[b+(o+p)>>0]|0;o=o+1|0}while((o|0)!=(m|0))}o=s;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=t;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[s+((i&31)<<2)>>2]=1;c[t+((j&31)<<2)>>2]=1;c[s+((i+1&31)<<2)>>2]=2;c[t+((j+1&31)<<2)>>2]=2;c[s+((i+2&31)<<2)>>2]=3;c[t+((j+2&31)<<2)>>2]=3;c[s+((i+3&31)<<2)>>2]=4;c[t+((j+3&31)<<2)>>2]=4;if(!(r&q)){Zb=u;return}p=0;while(1){o=0;do{j=(o&1|0)==0;x=b+o|0;v=d[x>>0]|0;v=(a[(j?k:l)+(c[(j?s:t)+(v>>>3<<2)>>2]|0)>>0]|0)+v|0;v=(v|0)>0?v:0;a[x>>0]=(v|0)<255?v:255;o=o+1|0}while((o|0)!=(m|0));p=p+1|0;if((p|0)==(n|0))break;else b=b+e|0}Zb=u;return}function Uf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;t=Zb;Zb=Zb+128|0;r=t+64|0;s=t;i=r;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));o=m+-1|0;a[h>>0]=a[g+o>>0]|0;q=(n|0)>0;if(q){i=0;do{a[s+i>>0]=a[b+(o+(w(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}j=(m|0)>0;if(j){h=w(n+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(!(a[k>>0]|0))a[r>>0]=0;if(!(a[k+1>>0]|0))a[r+o>>0]=0;if(!q){Zb=t;return}if(j){j=b;b=0;while(1){k=a[j>>0]|0;i=(k&255)-(d[f+b>>0]|0)|0;i=(i|0)>-1?(i|0)!=0&1:-1;h=0;while(1){g=k&255;o=h;h=h+1|0;k=a[j+h>>0]|0;p=g-(k&255)|0;p=(p|0)>-1?(p|0)!=0&1:-1;i=c[33568+(i+2+p<<2)>>2]&d[r+o>>0];if(i|0){g=(a[l+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[j+o>>0]=(g|0)<255?g:255}if((h|0)==(m|0))break;else i=0-p|0}b=b+1|0;if((b|0)==(n|0))break;else j=j+e|0}if(!q){Zb=t;return}}Dn(f|0,s|0,n|0)|0;Zb=t;return}function Vf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;y=Zb;Zb=Zb+192|0;v=y+128|0;x=y;i=v;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;p=n+-1|0;a[h+1>>0]=a[g+p>>0]|0;u=(o|0)>0;if(u){i=0;do{s=(w(i,e)|0)+n|0;t=i<<1;a[x+t>>0]=a[b+(s+-2)>>0]|0;a[x+(t|1)>>0]=a[b+(s+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}j=(n|0)>0;if(j){h=w(o+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(n|0))}if(!(a[k>>0]|0))a[v>>0]=0;if(!(a[k+1>>0]|0))a[v+(p>>1)>>0]=0;if(!u){Zb=y;return}if(j){r=b;t=0;while(1){i=a[r>>0]|0;p=t<<1;b=(i&255)-(d[f+p>>0]|0)|0;p=(d[r+1>>0]|0)-(d[f+(p|1)>>0]|0)|0;p=(p|0)>-1?(p|0)!=0&1:-1;b=(b|0)>-1?(b|0)!=0&1:-1;s=0;while(1){g=i&255;j=g-(d[r+(s+2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;if(!(s&1)){h=l;k=p;q=0-j&255;i=b<<24>>24}else{h=m;k=0-j&255;q=b;i=p<<24>>24}i=c[33568+(j+2+i<<2)>>2]&d[v+(s>>>1)>>0];if(i|0){g=(a[h+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[r+s>>0]=(g|0)<255?g:255}i=s+1|0;if((i|0)==(n|0))break;p=k;b=q;s=i;i=a[r+i>>0]|0}t=t+1|0;if((t|0)==(o|0))break;else r=r+e|0}if(!u){Zb=y;return}}m=o<<1;Dn(f|0,x|0,((m|0)>1?m:1)|0)|0;Zb=y;return}function Wf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;s=Zb;Zb=Zb+192|0;p=s+128|0;q=s+64|0;r=s;i=p;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));j=m+-1|0;a[h>>0]=a[g+j>>0]|0;if((n|0)>0){i=0;do{a[f+i>>0]=a[b+(j+(w(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}o=(m|0)>0;if(o)Dn(q|0,b+(w(n+-1|0,e)|0)|0,m|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=n+-1|0;if(o){j=0;do{n=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[r+j>>0]=(n|0)>-1?(n|0)!=0&1:-1;j=j+1|0}while((j|0)!=(m|0))}}else if(o){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[r+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));h=b;i=n}else{h=b;i=n}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!o){Zb=s;return}n=0;i=h;while(1){j=0;do{h=i+j|0;t=(d[h>>0]|0)-(d[i+(j+e)>>0]|0)|0;t=(t|0)>-1?(t|0)!=0&1:-1;k=r+j|0;f=(a[k>>0]|0)+2+t|0;a[k>>0]=0-t;f=c[33568+(f<<2)>>2]&d[p+j>>0];if(f|0){t=(a[l+f>>0]|0)+(d[h>>0]|0)|0;t=(t|0)>0?t:0;a[h>>0]=(t|0)<255?t:255}j=j+1|0}while((j|0)!=(m|0));n=n+1|0;if((n|0)==(b|0))break;else i=i+e|0}}if(!o){Zb=s;return}Dn(g|0,q|0,m|0)|0;Zb=s;return}function Xf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0;t=Zb;Zb=Zb+192|0;q=t+128|0;r=t+64|0;s=t;i=q;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;a[h+1>>0]=a[g+(n+-1)>>0]|0;if((o|0)>0){i=0;do{h=(w(i,e)|0)+n|0;p=i<<1;a[f+p>>0]=a[b+(h+-2)>>0]|0;a[f+(p|1)>>0]=a[b+(h+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}p=(n|0)>0;if(p)Dn(r|0,b+(w(o+-1|0,e)|0)|0,n|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=o+-1|0;if(p){j=0;do{o=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[s+j>>0]=(o|0)>-1?(o|0)!=0&1:-1;j=j+1|0}while((j|0)!=(n|0))}}else if(p){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[s+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));h=b;i=o}else{h=b;i=o}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!p){Zb=t;return}o=0;i=h;while(1){j=0;do{f=i+j|0;u=(d[f>>0]|0)-(d[i+(j+e)>>0]|0)|0;u=(u|0)>-1?(u|0)!=0&1:-1;k=s+j|0;h=(a[k>>0]|0)+2+u|0;a[k>>0]=0-u;h=c[33568+(h<<2)>>2]&d[q+(j>>>1)>>0];if(h|0){u=(a[((j&1|0)==0?l:m)+h>>0]|0)+(d[f>>0]|0)|0;u=(u|0)>0?u:0;a[f>>0]=(u|0)<255?u:255}j=j+1|0}while((j|0)!=(n|0));o=o+1|0;if((o|0)==(b|0))break;else i=i+e|0}}if(!p){Zb=t;return}Dn(g|0,r|0,n|0)|0;Zb=t;return}function Yf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Zb;Zb=Zb+352|0;B=H+288|0;F=H+224|0;G=H+160|0;x=H+80|0;q=H;i=B;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));C=m+-1|0;E=a[g+C>>0]|0;if((n|0)>0){i=0;do{a[F+i>>0]=a[b+(C+(w(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}D=(m|0)>0;if(D)Dn(G|0,b+(w(n+-1|0,e)|0)|0,m|0)|0;s=a[b>>0]|0;if((a[k+4>>0]|0)!=0?(o=s&255,p=o-(d[h>>0]|0)|0,A=o-(d[b+(e+1)>>0]|0)|0,p=((A|0)>-1?(A|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0,(p|0)!=2):0){A=(a[l+(c[33568+(p<<2)>>2]|0)>>0]|0)+o|0;A=(A|0)>0?A:0;A=((A|0)<255?A:255)&255}else A=s;j=n+-1|0;i=w(j,e)|0;o=i+C|0;p=a[b+o>>0]|0;if((a[k+7>>0]|0)!=0?(r=p&255,t=r-(d[b+(o+~e)>>0]|0)|0,z=r-(d[b+(m+e+i)>>0]|0)|0,t=((z|0)>-1?(z|0)!=0&1:-1)+((t|0)>-1?((t|0)==0?2:3):1)|0,(t|0)!=2):0){i=(a[l+(c[33568+(t<<2)>>2]|0)>>0]|0)+r|0;if((i|0)>255)y=-1;else y=((i|0)>0?i:0)&255}else y=p;if(!(a[k>>0]|0))a[B>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;r=f+1|0;if((m|0)>1?(v=(d[i+1>>0]|0)-(s&255)|0,a[x+1>>0]=(v|0)>-1?(v|0)!=0&1:-1,(m|0)!=2):0){o=1;p=2;while(1){o=(d[i+p>>0]|0)-(d[b+o>>0]|0)|0;a[x+p>>0]=(o|0)>-1?(o|0)!=0&1:-1;o=p+1|0;if((o|0)==(m|0))break;else{v=p;p=o;o=v}}}}else if((m|0)>1){i=1;do{v=(d[b+i>>0]|0)-(d[g+(i+-1)>>0]|0)|0;a[x+i>>0]=(v|0)>-1?(v|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));i=b;j=n;r=f}else{i=b;j=n;r=f}if(!(a[k+1>>0]|0))a[B+C>>0]=0;v=k+3|0;u=j+(((a[v>>0]|0)==0)<<31>>31)|0;do if((u|0)>0){k=w(u,e)|0;if(!D){j=x;o=0;p=i;while(1){l=(d[p>>0]|0)-(d[r+(o+-1)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;o=o+1|0;if((o|0)==(u|0))break;else{l=j;p=p+e|0;j=q;q=l}}i=i+k|0;break}p=x;s=0;t=i;while(1){o=(d[t>>0]|0)-(d[r+(s+-1)>>0]|0)|0;o=(o|0)>-1?(o|0)!=0&1:-1;a[p>>0]=o;j=0;while(1){n=t+j|0;b=j+1|0;x=(d[n>>0]|0)-(d[t+(b+e)>>0]|0)|0;x=(x|0)>-1?(x|0)!=0&1:-1;a[q+b>>0]=0-x;j=c[33568+((o<<24>>24)+2+x<<2)>>2]&d[B+j>>0];if(j|0){x=(a[l+j>>0]|0)+(d[n>>0]|0)|0;x=(x|0)>0?x:0;a[n>>0]=(x|0)<255?x:255}if((b|0)==(m|0))break;j=b;o=a[p+b>>0]|0}s=s+1|0;if((s|0)==(u|0))break;else{x=p;t=t+e|0;p=q;q=x}}i=i+k|0}while(0);l=u+1|0;a[i+(w((a[z>>0]|0)==0?l:u,0-e|0)|0)>>0]=A;a[i+(C-((a[v>>0]|0)==0?0:e))>>0]=y;i=((a[z>>0]|0)==0?l:u)+((a[v>>0]|0)==0&1)|0;a[h>>0]=E;if((i|0)>0)Dn(f|0,F|0,i|0)|0;if(!D){Zb=H;return}Dn(g|0,G|0,m|0)|0;Zb=H;return}function Zf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Zb;Zb=Zb+416|0;D=L+352|0;J=L+224|0;K=L+160|0;B=L+80|0;s=L;i=D;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));E=n+-2|0;F=a[g+E>>0]|0;G=n+-1|0;H=a[g+G>>0]|0;if((o|0)>0){i=0;do{C=(w(i,e)|0)+n|0;I=i<<1;a[J+I>>0]=a[b+(C+-2)>>0]|0;a[J+(I|1)>>0]=a[b+(C+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}I=(n|0)>0;if(I)Dn(K|0,b+(w(o+-1|0,e)|0)|0,n|0)|0;p=a[b>>0]|0;if(a[k+4>>0]|0){i=p&255;j=i-(d[h>>0]|0)|0;C=i-(d[b+(e+2)>>0]|0)|0;j=((C|0)>-1?(C|0)!=0&1:-1)+((j|0)>-1?((j|0)==0?2:3):1)|0;if((j|0)!=2){p=(a[l+(c[33568+(j<<2)>>2]|0)>>0]|0)+i|0;p=(p|0)>0?p:0;p=((p|0)<255?p:255)&255}i=a[b+1>>0]|0;j=i&255;q=j-(d[h+1>>0]|0)|0;C=j-(d[b+(e+3)>>0]|0)|0;q=((C|0)>-1?(C|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)==2)C=i;else{C=(a[m+(c[33568+(q<<2)>>2]|0)>>0]|0)+j|0;C=(C|0)>0?C:0;C=((C|0)<255?C:255)&255}}else C=a[b+1>>0]|0;j=o+-1|0;r=w(j,e)|0;i=r+E|0;t=a[b+i>>0]|0;if(a[k+7>>0]|0){q=t&255;u=-2-e|0;i=q-(d[b+(u+i)>>0]|0)|0;A=q-(d[b+(n+e+r)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){t=(a[l+(c[33568+(i<<2)>>2]|0)>>0]|0)+q|0;t=(t|0)>0?t:0;t=((t|0)<255?t:255)&255}A=r+G|0;q=a[b+A>>0]|0;r=q&255;i=r-(d[b+(u+A)>>0]|0)|0;A=r-(d[b+(e+2+A)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){i=(a[m+(c[33568+(i<<2)>>2]|0)>>0]|0)+r|0;if((i|0)>255)A=-1;else A=((i|0)>0?i:0)&255}else A=q}else A=a[b+(r+G)>>0]|0;if(!(a[k>>0]|0))a[D>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;r=f+2|0;if((n|0)>2){q=2;do{y=(d[i+q>>0]|0)-(d[b+(q+-2)>>0]|0)|0;a[B+q>>0]=(y|0)>-1?(y|0)!=0&1:-1;q=q+1|0}while((q|0)!=(n|0));x=r}else x=r}else if((n|0)>2){i=2;do{y=(d[b+i>>0]|0)-(d[g+(i+-2)>>0]|0)|0;a[B+i>>0]=(y|0)>-1?(y|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));i=b;j=o;x=f}else{i=b;j=o;x=f}if(!(a[k+1>>0]|0))a[D+(G>>1)>>0]=0;y=k+3|0;v=j+(((a[y>>0]|0)==0)<<31>>31)|0;do if((v|0)>0){k=w(v,e)|0;if(!I){j=B;q=0;r=i;while(1){m=q<<1;l=(d[r>>0]|0)-(d[x+(m+-2)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;m=(d[r+1>>0]|0)-(d[x+(m+-1)>>0]|0)|0;a[j+1>>0]=(m|0)>-1?(m|0)!=0&1:-1;q=q+1|0;if((q|0)==(v|0))break;else{m=j;r=r+e|0;j=s;s=m}}i=i+k|0;break}r=B;u=0;o=i;while(1){b=u<<1;j=(d[o>>0]|0)-(d[x+(b+-2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;a[r>>0]=j;b=(d[o+1>>0]|0)-(d[x+(b+-1)>>0]|0)|0;a[r+1>>0]=(b|0)>-1?(b|0)!=0&1:-1;b=0;while(1){q=o+b|0;M=b+2|0;B=(d[q>>0]|0)-(d[o+(M+e)>>0]|0)|0;B=(B|0)>-1?(B|0)!=0&1:-1;a[s+M>>0]=0-B;j=c[33568+((j<<24>>24)+2+B<<2)>>2]&d[D+(b>>>1)>>0];if(j|0){M=(a[((b&1|0)==0?l:m)+j>>0]|0)+(d[q>>0]|0)|0;M=(M|0)>0?M:0;a[q>>0]=(M|0)<255?M:255}j=b+1|0;if((j|0)==(n|0))break;b=j;j=a[r+j>>0]|0}u=u+1|0;if((u|0)==(v|0))break;else{M=r;o=o+e|0;r=s;s=M}}i=i+k|0}while(0);M=v+1|0;a[i+(w((a[z>>0]|0)==0?M:v,0-e|0)|0)>>0]=p;a[i+(1-(w((a[z>>0]|0)==0?M:v,e)|0))>>0]=C;a[i+(E-((a[y>>0]|0)==0?0:e))>>0]=t;a[i+(G-((a[y>>0]|0)==0?0:e))>>0]=A;M=((a[z>>0]|0)==0?M:v)+((a[y>>0]|0)==0&1)|0;a[h>>0]=F;a[h+1>>0]=H;i=M<<1;if((M|0)>0)Dn(f|0,J|0,((i|0)>1?i:1)|0)|0;if(!I){Zb=L;return}Dn(g|0,K|0,n|0)|0;Zb=L;return}function _f(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=Zb;Zb=Zb+256|0;H=0-e|0;C=K+192|0;I=K+128|0;J=K+64|0;D=K;o=C;p=o+64|0;do{c[o>>2]=-1;o=o+4|0}while((o|0)<(p|0));E=m+-1|0;G=a[g+E>>0]|0;if((n|0)>0){o=0;do{a[J+o>>0]=a[b+(E+(w(o,e)|0))>>0]|0;o=o+1|0}while((o|0)!=(n|0))}F=(m|0)>0;if(F)Dn(I|0,b+(w(n+-1|0,e)|0)|0,m|0)|0;o=a[b+E>>0]|0;if((a[k+5>>0]|0)!=0?(q=o&255,r=q-(d[i>>0]|0)|0,B=q-(d[b+(e+-2+m)>>0]|0)|0,r=((B|0)>-1?(B|0)!=0&1:-1)+((r|0)>-1?((r|0)==0?2:3):1)|0,(r|0)!=2):0){B=(a[l+(c[33568+(r<<2)>>2]|0)>>0]|0)+q|0;B=(B|0)>0?B:0;B=((B|0)<255?B:255)&255}else B=o;p=n+-1|0;o=w(p,e)|0;q=a[b+o>>0]|0;if((a[k+6>>0]|0)!=0?(s=q&255,t=s-(d[b+(1-e+o)>>0]|0)|0,A=s-(d[j>>0]|0)|0,t=((A|0)>-1?(A|0)!=0&1:-1)+((t|0)>-1?((t|0)==0?2:3):1)|0,(t|0)!=2):0){o=(a[l+(c[33568+(t<<2)>>2]|0)>>0]|0)+s|0;if((o|0)>255)z=-1;else z=((o|0)>0?o:0)&255}else z=q;if(!(a[k>>0]|0))a[C>>0]=0;A=k+2|0;o=a[A>>0]|0;if(!(o<<24>>24)){i=b+e|0;r=f+1|0;if((m|0)>1){q=0;do{y=q;q=q+1|0;x=(d[i+y>>0]|0)-(d[b+q>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((q|0)!=(E|0));b=i}else b=i}else if((m|0)>1){p=0;do{y=p;p=p+1|0;x=(d[b+y>>0]|0)-(d[g+p>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((p|0)!=(E|0));p=n;r=f}else{p=n;r=f}if(!(a[k+1>>0]|0))a[C+E>>0]=0;y=k+3|0;x=p+(((a[y>>0]|0)==0)<<31>>31)|0;do if((x|0)>0){k=m-e|0;u=D+E|0;v=w(x,e)|0;if(!F){p=b;q=0;while(1){l=(d[p+E>>0]|0)-(d[p+k>>0]|0)|0;a[u>>0]=(l|0)>-1?(l|0)!=0&1:-1;q=q+1|0;if((q|0)==(x|0))break;else p=p+e|0}b=b+v|0;break}i=b;j=0;while(1){t=(d[i+E>>0]|0)-(d[i+k>>0]|0)|0;a[u>>0]=(t|0)>-1?(t|0)!=0&1:-1;j=j+1|0;t=r+j|0;s=0;do{n=i+s|0;o=a[n>>0]|0;q=(s|0)==0;p=s+-1+e|0;if((d[(q?t:i+p|0)>>0]|0)>(o&255))o=-1;else o=(d[(q?t:i+p|0)>>0]|0)<(o&255)&1;p=o+2+(a[D+s>>0]|0)|0;if(!q)a[D+(s+-1)>>0]=0-o;o=c[33568+(p<<2)>>2]&d[C+s>>0];if(o|0){q=(a[l+o>>0]|0)+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[n>>0]=(q|0)<255?q:255}s=s+1|0}while((s|0)!=(m|0));if((j|0)==(x|0))break;else i=i+e|0}b=b+v|0;o=a[A>>0]|0}while(0);l=x+1|0;a[b+(E-(w(o<<24>>24==0?l:x,e)|0))>>0]=B;a[b+((a[y>>0]|0)==0?0:H)>>0]=z;o=((a[A>>0]|0)==0?l:x)+((a[y>>0]|0)==0&1)|0;a[h>>0]=G;if((o|0)>0)Dn(f|0,J|0,o|0)|0;if(!F){Zb=K;return}Dn(g|0,I|0,m|0)|0;Zb=K;return}function $f(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Zb;Zb=Zb+320|0;O=0-e|0;H=R+256|0;P=R+128|0;Q=R+64|0;I=R;p=H;q=p+64|0;do{c[p>>2]=-1;p=p+4|0}while((p|0)<(q|0));J=n+-2|0;K=a[g+J>>0]|0;L=n+-1|0;M=a[g+L>>0]|0;if((o|0)>0){p=0;do{G=(w(p,e)|0)+n|0;N=p<<1;a[P+N>>0]=a[b+(G+-2)>>0]|0;a[P+(N|1)>>0]=a[b+(G+-1)>>0]|0;p=p+1|0}while((p|0)!=(o|0))}N=(n|0)>0;if(N)Dn(Q|0,b+(w(o+-1|0,e)|0)|0,n|0)|0;r=a[b+J>>0]|0;if(a[k+5>>0]|0){p=r&255;q=p-(d[i>>0]|0)|0;t=n+e|0;G=p-(d[b+(t+-4)>>0]|0)|0;q=((G|0)>-1?(G|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){r=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;r=(r|0)>0?r:0;r=((r|0)<255?r:255)&255}q=a[b+L>>0]|0;s=q&255;p=s-(d[i+1>>0]|0)|0;G=s-(d[b+(t+-3)>>0]|0)|0;p=((G|0)>-1?(G|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)==2)G=q;else{G=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+s|0;G=(G|0)>0?G:0;G=((G|0)<255?G:255)&255}}else G=a[b+L>>0]|0;u=o+-1|0;i=w(u,e)|0;s=a[b+i>>0]|0;if(a[k+6>>0]|0){p=s&255;q=p-(d[b+(2-e+i)>>0]|0)|0;F=p-(d[j>>0]|0)|0;q=((F|0)>-1?(F|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){s=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;s=(s|0)>0?s:0;s=((s|0)<255?s:255)&255}q=a[b+(i+1)>>0]|0;t=q&255;p=t-(d[b+(3-e+i)>>0]|0)|0;F=t-(d[j+1>>0]|0)|0;p=((F|0)>-1?(F|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)!=2){p=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+t|0;if((p|0)>255)F=-1;else F=((p|0)>0?p:0)&255}else F=q}else F=a[b+(i+1)>>0]|0;if(!(a[k>>0]|0))a[H>>0]=0;E=k+2|0;p=a[E>>0]|0;if(!(p<<24>>24)){t=b+e|0;i=f+2|0;if((n|0)>2){q=0;do{D=(d[t+q>>0]|0)-(d[b+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));b=t;q=u}else{b=t;q=u}}else if((n|0)>2){q=0;do{D=(d[b+q>>0]|0)-(d[g+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));q=o;i=f}else{q=o;i=f}if(!(a[k+1>>0]|0))a[H+(L>>1)>>0]=0;D=k+3|0;C=q+(((a[D>>0]|0)==0)<<31>>31)|0;do if((C|0)>0){x=n-e|0;y=I+J|0;q=1-e|0;z=q+n|0;A=I+L|0;B=w(C,e)|0;if(!N){t=0;i=b;while(1){m=(d[i+J>>0]|0)-(d[i+x>>0]|0)|0;a[y>>0]=(m|0)>-1?(m|0)!=0&1:-1;m=(d[i+L>>0]|0)-(d[i+z>>0]|0)|0;a[A>>0]=(m|0)>-1?(m|0)!=0&1:-1;t=t+1|0;if((t|0)==(C|0))break;else i=i+e|0}b=b+B|0;break}u=0;j=b;while(1){k=(d[j+J>>0]|0)-(d[j+x>>0]|0)|0;a[y>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=(d[j+L>>0]|0)-(d[j+z>>0]|0)|0;a[A>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=u<<1;o=0;do{v=j+o|0;p=a[v>>0]|0;t=o>>>0<2;if((d[(t?i:j)+(o+(t?2:-2)+(t?k:e))>>0]|0)>(p&255))p=-1;else p=(d[(t?i:j)+(o+(t?2:-2)+(t?k:e))>>0]|0)<(p&255)&1;t=p+2+(a[I+o>>0]|0)|0;if(o>>>0>1)a[I+(o+-2)>>0]=0-p;p=c[33568+(t<<2)>>2]&d[H+(o>>>1)>>0];if(p|0){t=(a[((o&1|0)==0?l:m)+p>>0]|0)+(d[v>>0]|0)|0;t=(t|0)>0?t:0;a[v>>0]=(t|0)<255?t:255}o=o+1|0}while((o|0)!=(n|0));u=u+1|0;if((u|0)==(C|0))break;else j=j+e|0}b=b+B|0;p=a[E>>0]|0}else q=1-e|0;while(0);m=C+1|0;a[b+(J-(w(p<<24>>24==0?m:C,e)|0))>>0]=r;a[b+(L-(w((a[E>>0]|0)==0?m:C,e)|0))>>0]=G;a[b+((a[D>>0]|0)==0?0:O)>>0]=s;a[b+((a[D>>0]|0)==0?1:q)>>0]=F;O=((a[E>>0]|0)==0?m:C)+((a[D>>0]|0)==0&1)|0;a[h>>0]=K;a[h+1>>0]=M;p=O<<1;if((O|0)>0)Dn(f|0,P|0,((p|0)>1?p:1)|0)|0;if(!N){Zb=R;return}Dn(g|0,Q|0,n|0)|0;Zb=R;return}function ag(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;if((k|0)<=0)return;o=1<<i+-1;if((l|0)<=0)return;n=0;while(1){m=0;do{p=((w((b[c+(m<<1)>>1]|0)+j|0,g)|0)+o>>i)+h|0;p=(p|0)>0?p:0;a[d+m>>0]=(p|0)<255?p:255;m=m+1|0}while((m|0)!=(l|0));n=n+1|0;if((n|0)==(k|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function bg(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((m|0)<=0)return;q=n<<1;r=1<<k+-1;if((n|0)<=0)return;p=0;o=c;n=d;while(1){c=0;do{d=((w((b[o+(c<<1)>>1]|0)+l|0,g)|0)+r>>k)+i|0;d=(d|0)>0?d:0;a[n+c>>0]=(d|0)<255?d:255;d=c|1;s=((w((b[o+(d<<1)>>1]|0)+l|0,h)|0)+r>>k)+j|0;s=(s|0)>0?s:0;a[n+d>>0]=(s|0)<255?s:255;c=c+2|0}while((c|0)<(q|0));p=p+1|0;if((p|0)==(m|0))break;else{o=o+(e<<1)|0;n=n+f|0}}return}function cg(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0;if((p|0)<=0)return;s=j+1+l<<m+-1;if((q|0)<=0)return;r=0;j=e;while(1){l=0;do{e=w((b[c+(l<<1)>>1]|0)+n|0,i)|0;e=e+s+(w((b[d+(l<<1)>>1]|0)+o|0,k)|0)>>m;e=(e|0)>0?e:0;a[j+l>>0]=(e|0)<255?e:255;l=l+1|0}while((l|0)!=(q|0));r=r+1|0;if((r|0)==(p|0))break;else{c=c+(f<<1)|0;d=d+(g<<1)|0;j=j+h|0}}return}function dg(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,x=0,y=0;if((t|0)<=0)return;x=u<<1;y=q+-1|0;v=k+1+o<<y;l=l+1+p<<y;if((u|0)<=0)return;p=0;k=c;while(1){o=0;do{y=w((b[k+(o<<1)>>1]|0)+r|0,i)|0;y=y+v+(w((b[d+(o<<1)>>1]|0)+s|0,m)|0)>>q;y=(y|0)>0?y:0;a[e+o>>0]=(y|0)<255?y:255;y=o|1;c=w((b[k+(y<<1)>>1]|0)+r|0,j)|0;c=c+l+(w((b[d+(y<<1)>>1]|0)+s|0,n)|0)>>q;c=(c|0)>0?c:0;a[e+y>>0]=(c|0)<255?c:255;o=o+2|0}while((o|0)<(x|0));p=p+1|0;if((p|0)==(t|0))break;else{k=k+(f<<1)|0;d=d+(g<<1)|0;e=e+h|0}}return}function eg(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;if((k|0)<=0)return;n=j+i|0;if((l|0)<=0)return;m=0;j=c;while(1){i=0;do{c=n+(b[j+(i<<1)>>1]|0)+(b[d+(i<<1)>>1]|0)|0;a[e+i>>0]=(c|0)>32703?-1:(c|0)<-64?0:(c+64|0)>>>7&255;i=i+1|0}while((i|0)!=(l|0));m=m+1|0;if((m|0)==(k|0))break;else{d=d+(g<<1)|0;e=e+h|0;j=j+(f<<1)|0}}return}function fg(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;if((k|0)<=0)return;o=l<<1;n=j+i|0;if((l|0)<=0)return;m=0;l=d;j=e;while(1){i=0;do{e=n+(b[c+(i<<1)>>1]|0)+(b[l+(i<<1)>>1]|0)|0;a[j+i>>0]=(e|0)>32703?-1:(e|0)<-64?0:(e+64|0)>>>7&255;i=i+1|0}while((i|0)<(o|0));m=m+1|0;if((m|0)==(k|0))break;else{l=l+(g<<1)|0;j=j+h|0;c=c+(f<<1)|0}}return}function gg(){return 4}function hg(){return 28}function ig(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wa(a|0,b|0,c|0,d|0)|0}function jg(a,b){a=a|0;b=b|0;return Xa(c[a>>2]|0,b|0)|0}function kg(a){a=a|0;return Yl(a,0)|0}function lg(a){a=a|0;return $l(a)|0}function mg(a){a=a|0;return Zl(a)|0}function ng(a){a=a|0;return _l(a)|0}function og(){Ya()|0;return}function pg(a){a=a|0;return a|0}function qg(a){a=a|0;var b=0;c[a+11640>>2]=0;c[a+11644>>2]=c[a+11984>>2];c[a+11648>>2]=c[a+11972>>2];c[a+11652>>2]=c[a+11968>>2];b=c[a+11992>>2]|0;c[a+11656>>2]=b;c[a+11660>>2]=c[a+11988>>2];c[a+11664>>2]=c[a+11976>>2];c[a+11668>>2]=b;c[a+11672>>2]=b;c[a+11676>>2]=c[a+11980>>2];c[a+11680>>2]=c[a+11996>>2];c[a+11684>>2]=0;c[a+11688>>2]=c[a+11936>>2];c[a+11692>>2]=c[a+11952>>2];c[a+11696>>2]=c[a+11944>>2];b=c[a+11948>>2]|0;c[a+11700>>2]=b;c[a+11704>>2]=c[a+11940>>2];c[a+11708>>2]=c[a+11964>>2];c[a+11712>>2]=b;c[a+11716>>2]=b;c[a+11720>>2]=c[a+11956>>2];c[a+11724>>2]=c[a+11960>>2];c[a+11728>>2]=0;c[a+11732>>2]=c[a+12088>>2];c[a+11736>>2]=c[a+12064>>2];c[a+11740>>2]=c[a+12072>>2];c[a+11744>>2]=c[a+12084>>2];c[a+11748>>2]=c[a+12068>>2];c[a+11752>>2]=c[a+12056>>2];c[a+11756>>2]=c[a+12076>>2];c[a+11760>>2]=c[a+12060>>2];c[a+11764>>2]=c[a+12092>>2];c[a+11768>>2]=c[a+12080>>2];c[a+11772>>2]=0;c[a+11776>>2]=c[a+12040>>2];c[a+11780>>2]=c[a+12016>>2];c[a+11784>>2]=c[a+12024>>2];c[a+11788>>2]=c[a+12036>>2];c[a+11792>>2]=c[a+12020>>2];c[a+11796>>2]=c[a+12048>>2];c[a+11800>>2]=c[a+12028>>2];c[a+11804>>2]=c[a+12052>>2];c[a+11808>>2]=c[a+12044>>2];c[a+11812>>2]=c[a+12032>>2];c[a+11816>>2]=c[a+12116>>2];c[a+11820>>2]=c[a+12120>>2];c[a+11824>>2]=c[a+12124>>2];c[a+11828>>2]=c[a+12128>>2];c[a+11832>>2]=c[a+12132>>2];c[a+11836>>2]=c[a+12136>>2];c[a+11840>>2]=c[a+12140>>2];c[a+11844>>2]=c[a+12144>>2];c[a+11848>>2]=c[a+12148>>2];c[a+11852>>2]=c[a+12152>>2];c[a+11856>>2]=c[a+12156>>2];c[a+11860>>2]=c[a+12160>>2];c[a+11864>>2]=c[a+12164>>2];c[a+11868>>2]=c[a+12168>>2];c[a+11872>>2]=c[a+12172>>2];c[a+11876>>2]=c[a+12176>>2];c[a+11880>>2]=c[a+12300>>2];c[a+11884>>2]=c[a+12304>>2];c[a+11888>>2]=c[a+12252>>2];c[a+11892>>2]=c[a+12260>>2];c[a+11896>>2]=c[a+12268>>2];c[a+11900>>2]=c[a+12276>>2];c[a+11904>>2]=c[a+12256>>2];c[a+11908>>2]=c[a+12264>>2];c[a+11912>>2]=c[a+12272>>2];c[a+11916>>2]=c[a+12280>>2];return}function rg(b){b=b|0;var d=0,e=0,f=0;sg(b)|0;c[b+11632>>2]=0;c[b+52>>2]=1;c[b+100>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;c[b+136>>2]=0;c[b+140>>2]=0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;c[b+124>>2]=0;c[b+364>>2]=0;c[b+144>>2]=0;c[b+132>>2]=0;c[b+32>>2]=1;c[b+28>>2]=0;c[b+11568>>2]=0;c[b+11564>>2]=-1;c[b+11572>>2]=-1;c[b+1448>>2]=-1;c[b+64>>2]=(c[b+60>>2]|0)==12?12:11;c[b+88>>2]=0;c[b+48>>2]=0;c[b+36>>2]=0;c[b+44>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+11604>>2]=0;c[b+45340>>2]=0;f=c[b+296>>2]|0;e=c[b+300>>2]|0;a[f+8972>>0]=0;a[f+17948>>0]=0;a[f+26924>>0]=0;a[f+35900>>0]=0;a[f+44876>>0]=0;a[f+53852>>0]=0;a[f+62828>>0]=0;a[f+71804>>0]=0;a[f+80780>>0]=0;a[f+89756>>0]=0;a[f+98732>>0]=0;a[f+107708>>0]=0;a[f+116684>>0]=0;a[f+125660>>0]=0;a[f+134636>>0]=0;a[f+143612>>0]=0;a[f+152588>>0]=0;a[e+67>>0]=0;a[e+135>>0]=0;a[e+203>>0]=0;a[e+271>>0]=0;a[e+339>>0]=0;a[e+407>>0]=0;a[e+475>>0]=0;a[e+543>>0]=0;a[e+611>>0]=0;a[e+679>>0]=0;a[e+747>>0]=0;a[e+815>>0]=0;a[e+883>>0]=0;a[e+951>>0]=0;a[e+1019>>0]=0;a[e+1087>>0]=0;a[e+1155>>0]=0;a[e+1223>>0]=0;a[e+1291>>0]=0;a[e+1359>>0]=0;a[e+1427>>0]=0;a[e+1495>>0]=0;a[e+1563>>0]=0;a[e+1631>>0]=0;a[e+1699>>0]=0;a[e+1767>>0]=0;a[e+1835>>0]=0;a[e+1903>>0]=0;a[e+1971>>0]=0;a[e+2039>>0]=0;a[e+2107>>0]=0;a[e+2175>>0]=0;a[e+2243>>0]=0;a[e+2311>>0]=0;a[e+2379>>0]=0;a[e+2447>>0]=0;a[e+2515>>0]=0;a[e+2583>>0]=0;a[e+2651>>0]=0;a[e+2719>>0]=0;a[e+2787>>0]=0;a[e+2855>>0]=0;a[e+2923>>0]=0;a[e+2991>>0]=0;a[e+3059>>0]=0;a[e+3127>>0]=0;a[e+3195>>0]=0;a[e+3263>>0]=0;a[e+3331>>0]=0;a[e+3399>>0]=0;a[e+3467>>0]=0;a[e+3535>>0]=0;a[e+3603>>0]=0;a[e+3671>>0]=0;a[e+3739>>0]=0;a[e+3807>>0]=0;a[e+3875>>0]=0;a[e+3943>>0]=0;a[e+4011>>0]=0;a[e+4079>>0]=0;a[e+4147>>0]=0;a[e+4215>>0]=0;a[e+4283>>0]=0;a[e+4351>>0]=0;a[e+4419>>0]=0;c[b+68>>2]=2147483647;c[b+20>>2]=0;c[b+16>>2]=0;c[d>>2]=0;c[b+72>>2]=0;ee(c[b+224>>2]|0);ee(c[b+244>>2]|0);d=c[b+252>>2]|0;c[b+248>>2]=d;Fn(d|0,0,542464)|0;Ie(c[b+264>>2]|0);Le(c[b+276>>2]|0);c[b+12312>>2]=0;c[b+11600>>2]=2147483647;tg(b);ug(b);qg(b);return 0}function sg(a){a=a|0;var b=0,d=0;b=a+11556|0;d=c[b>>2]|0;if(d|0){Cg(d)|0;c[b>>2]=0}b=a+284|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+308|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+608|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+616|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+212|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+216|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+196|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+204|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+208|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6064|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6556|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6284|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11612|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+1444|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+176|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+192|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+236|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11628|0;d=c[b>>2]|0;if(d|0){hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+260|0;d=c[b>>2]|0;if(!d){a=a+11632|0;c[a>>2]=0;return 0}hc[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0;a=a+11632|0;c[a>>2]=0;return 0}function tg(a){a=a|0;c[a+12308>>2]=513;return}function ug(a){a=a|0;vg(a);return}function vg(a){a=a|0;c[a+11920>>2]=1;c[a+11924>>2]=2;c[a+11928>>2]=3;c[a+11932>>2]=4;c[a+11936>>2]=1;c[a+11940>>2]=2;c[a+11944>>2]=3;c[a+11948>>2]=4;c[a+11952>>2]=5;c[a+11956>>2]=6;c[a+11960>>2]=7;c[a+11964>>2]=8;c[a+11968>>2]=9;c[a+11972>>2]=10;c[a+11976>>2]=11;c[a+11980>>2]=12;c[a+11984>>2]=13;c[a+11988>>2]=14;c[a+11992>>2]=15;c[a+11996>>2]=16;c[a+12e3>>2]=1;c[a+12004>>2]=2;c[a+12008>>2]=3;c[a+12012>>2]=4;c[a+12016>>2]=4;c[a+12020>>2]=5;c[a+12024>>2]=6;c[a+12028>>2]=7;c[a+12032>>2]=8;c[a+12036>>2]=9;c[a+12040>>2]=10;c[a+12044>>2]=11;c[a+12048>>2]=12;c[a+12052>>2]=13;c[a+12056>>2]=14;c[a+12060>>2]=15;c[a+12064>>2]=16;c[a+12068>>2]=17;c[a+12072>>2]=18;c[a+12076>>2]=19;c[a+12080>>2]=20;c[a+12084>>2]=21;c[a+12088>>2]=22;c[a+12092>>2]=23;c[a+12096>>2]=24;c[a+12100>>2]=25;c[a+12104>>2]=26;c[a+12108>>2]=27;c[a+12112>>2]=28;c[a+12116>>2]=5;c[a+12120>>2]=6;c[a+12124>>2]=7;c[a+12128>>2]=8;c[a+12132>>2]=9;c[a+12136>>2]=10;c[a+12140>>2]=11;c[a+12144>>2]=12;c[a+12148>>2]=17;c[a+12152>>2]=18;c[a+12156>>2]=19;c[a+12160>>2]=20;c[a+12164>>2]=21;c[a+12168>>2]=22;c[a+12172>>2]=23;c[a+12176>>2]=24;c[a+12180>>2]=5;c[a+12184>>2]=6;c[a+12188>>2]=7;c[a+12192>>2]=8;c[a+12196>>2]=9;c[a+12200>>2]=10;c[a+12204>>2]=4;c[a+12208>>2]=5;c[a+12212>>2]=6;c[a+12216>>2]=7;c[a+12220>>2]=1;c[a+12224>>2]=1;c[a+12228>>2]=2;c[a+12232>>2]=1;c[a+12236>>2]=3;c[a+12240>>2]=1;c[a+12244>>2]=13;c[a+12248>>2]=1;c[a+12252>>2]=2;c[a+12256>>2]=2;c[a+12260>>2]=3;c[a+12264>>2]=3;c[a+12268>>2]=4;c[a+12272>>2]=4;c[a+12276>>2]=5;c[a+12280>>2]=5;c[a+12284>>2]=14;c[a+12288>>2]=15;c[a+12292>>2]=4;c[a+12296>>2]=1;c[a+12300>>2]=29;c[a+12304>>2]=30;return}function wg(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=b+1|0;y=g>>1;if((g|0)<=1)return;s=f>>>1&65535;t=s<<16>>16>0;u=0-f|0;v=h<<1;x=j<<1;r=(f+131070&131070)+2|0;q=e+(j<<2)|0;g=a+h|0;p=0;f=a;k=m?l:b;h=m?b:l;while(1){if(t){o=h+r|0;n=g+r|0;m=s;b=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=w(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(w(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[e>>2]=((z|0)<255?z:255)<<16|((D|0)<255?D:255)|((E|0)<255?E:255)<<8;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;c[e+4>>2]=((E|0)<255?E:255)<<16|((D|0)<255?D:255)|((z|0)<255?z:255)<<8;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[b>>2]=((E|0)<255?E:255)<<8|((D|0)<255?D:255)|((z|0)<255?z:255)<<16;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;c[b+4>>2]=((B|0)<255?B:255)<<8|((A|0)<255?A:255)|((z|0)<255?z:255)<<16;if(m<<16>>16>1){m=m+-1<<16>>16;b=b+8|0;g=g+2|0;l=l+2|0;e=e+8|0;a=a+2|0;h=h+2|0}else break}a=q+(r<<2)|0;g=n;f=f+r|0;h=o;k=k+r|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<2)+(u<<2)|0;g=g+v+u|0;f=f+v+u|0;e=a+(u<<2)+(j<<2)|0;k=k+i+u|0;h=h+i+u|0}}return} |
| | | function ze(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;Ib=Zb;Zb=Zb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;r=b[16896]|0;s=b[16897]|0;t=b[16912]|0;u=b[16944]|0;v=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=e;while(1){if(!(l&1)){wb=b[m+(i<<1)>>1]|0;zb=b[m+(p<<1)>>1]|0;c[Fb>>2]=(w(zb,u)|0)+(w(wb,t)|0);c[y>>2]=(w(zb,x)|0)+(w(wb,v)|0);c[B>>2]=(w(zb,A)|0)+(w(wb,z)|0);c[E>>2]=(w(zb,D)|0)+(w(wb,C)|0);c[H>>2]=(w(zb,G)|0)+(w(wb,F)|0);c[K>>2]=(w(zb,J)|0)+(w(wb,I)|0);c[N>>2]=(w(zb,M)|0)+(w(wb,L)|0);wb=(w(zb,P)|0)+(w(wb,O)|0)|0;c[Q>>2]=wb;zb=b[m+(q<<1)>>1]|0;vb=w(zb,R)|0;c[Gb>>2]=vb;Bb=w(zb,S)|0;c[T>>2]=Bb;e=w(zb,U)|0;c[V>>2]=e;zb=w(zb,W)|0;c[X>>2]=zb;sb=b[m>>1]|0;tb=w(sb,r)|0;sb=w(s,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-e|0;c[_>>2]=Ab;e=e+sb|0;c[$>>2]=e;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;e=Bb+e|0;b[n+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[K>>2]|0;Ab=Ab-e|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;e=e+(c[_>>2]|0)|0;b[n+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=n;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{n=n+32|0;l=l>>1;m=m+2|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;l=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(w(Eb,q)|0)+(w(i,p)|0);c[t>>2]=(w(Eb,s)|0)+(w(i,r)|0);c[x>>2]=(w(Eb,v)|0)+(w(i,u)|0);c[A>>2]=(w(Eb,z)|0)+(w(i,y)|0);c[D>>2]=(w(Eb,C)|0)+(w(i,B)|0);c[G>>2]=(w(Eb,F)|0)+(w(i,E)|0);c[J>>2]=(w(Eb,I)|0)+(w(i,H)|0);c[M>>2]=(w(Eb,L)|0)+(w(i,K)|0);i=b[m+64>>1]|0;Eb=w(i,N)|0;c[Gb>>2]=Eb;Cb=w(i,O)|0;c[P>>2]=Cb;e=w(i,Q)|0;c[R>>2]=e;i=w(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=w(Bb,n)|0;Bb=w(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[t>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[t>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;l=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(w(Bb,r)|0)+(w(Eb,q)|0)+(w(yb,s)|0)+(w(Cb,t)|0);c[z>>2]=(w(Bb,v)|0)+(w(Eb,u)|0)+(w(yb,x)|0)+(w(Cb,y)|0);c[E>>2]=(w(Bb,B)|0)+(w(Eb,A)|0)+(w(yb,C)|0)+(w(Cb,D)|0);c[J>>2]=(w(Bb,G)|0)+(w(Eb,F)|0)+(w(yb,H)|0)+(w(Cb,I)|0);c[O>>2]=(w(Bb,L)|0)+(w(Eb,K)|0)+(w(yb,M)|0)+(w(Cb,N)|0);c[T>>2]=(w(Bb,Q)|0)+(w(Eb,P)|0)+(w(yb,R)|0)+(w(Cb,S)|0);c[Y>>2]=(w(Bb,V)|0)+(w(Eb,U)|0)+(w(yb,W)|0)+(w(Cb,X)|0);c[ba>>2]=(w(Bb,_)|0)+(w(Eb,Z)|0)+(w(yb,$)|0)+(w(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(w(yb,da)|0)+(w(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(w(yb,fa)|0)+(w(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(w(yb,ia)|0)+(w(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(w(yb,la)|0)+(w(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=w(yb,kb)|0;e=b[m>>1]|0;f=w(e,n)|0;yb=w(o,yb)|0;e=w(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(w(Bb,v)|0)+(w(Ab,u)|0)+(w(Cb,x)|0)+(w(f,y)|0)+(w(i,z)|0)+(w(yb,A)|0)+(w(e,B)|0)+(w(Db,C)|0);c[L>>2]=(w(Bb,E)|0)+(w(Ab,D)|0)+(w(Cb,F)|0)+(w(f,G)|0)+(w(i,H)|0)+(w(yb,I)|0)+(w(e,J)|0)+(w(Db,K)|0);c[U>>2]=(w(Bb,N)|0)+(w(Ab,M)|0)+(w(Cb,O)|0)+(w(f,P)|0)+(w(i,Q)|0)+(w(yb,R)|0)+(w(e,S)|0)+(w(Db,T)|0);c[ba>>2]=(w(Bb,W)|0)+(w(Ab,V)|0)+(w(Cb,X)|0)+(w(f,Y)|0)+(w(i,Z)|0)+(w(yb,_)|0)+(w(e,$)|0)+(w(Db,aa)|0);c[ka>>2]=(w(Bb,da)|0)+(w(Ab,ca)|0)+(w(Cb,ea)|0)+(w(f,fa)|0)+(w(i,ga)|0)+(w(yb,ha)|0)+(w(e,ia)|0)+(w(Db,ja)|0);c[ta>>2]=(w(Bb,ma)|0)+(w(Ab,la)|0)+(w(Cb,na)|0)+(w(f,oa)|0)+(w(i,pa)|0)+(w(yb,qa)|0)+(w(e,ra)|0)+(w(Db,sa)|0);c[Ca>>2]=(w(Bb,va)|0)+(w(Ab,ua)|0)+(w(Cb,wa)|0)+(w(f,xa)|0)+(w(i,ya)|0)+(w(yb,za)|0)+(w(e,Aa)|0)+(w(Db,Ba)|0);c[La>>2]=(w(Bb,Ea)|0)+(w(Ab,Da)|0)+(w(Cb,Fa)|0)+(w(f,Ga)|0)+(w(i,Ha)|0)+(w(yb,Ia)|0)+(w(e,Ja)|0)+(w(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(w(e,Na)|0)+(w(Db,Ma)|0)+(w(yb,Oa)|0)+(w(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(w(e,Ra)|0)+(w(Db,Qa)|0)+(w(yb,Sa)|0)+(w(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(w(e,Wa)|0)+(w(Db,Va)|0)+(w(yb,Xa)|0)+(w(i,Ya)|0)|0;c[Za>>2]=Ab;i=(w(e,$a)|0)+(w(Db,_a)|0)+(w(yb,ab)|0)+(w(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=w(yb,kb)|0;e=b[m+384>>1]|0;Db=(w(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=w(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(w(Eb,p)|0)+zb|0;yb=(w(r,e)|0)+(w(q,yb)|0)|0;Bb=(w(t,Eb)|0)+(w(s,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;r=b[16960]|0;s=i<<2;t=b[16896]|0;u=b[16961]|0;v=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){tb=b[m+(i<<1)>>1]|0;Bb=b[m+(yb<<1)>>1]|0;vb=b[m+(zb<<1)>>1]|0;qb=b[m+(Ab<<1)>>1]|0;c[Fb>>2]=(w(Bb,y)|0)+(w(tb,x)|0)+(w(vb,z)|0)+(w(qb,A)|0);c[F>>2]=(w(Bb,C)|0)+(w(tb,B)|0)+(w(vb,D)|0)+(w(qb,E)|0);c[K>>2]=(w(Bb,H)|0)+(w(tb,G)|0)+(w(vb,I)|0)+(w(qb,J)|0);c[P>>2]=(w(Bb,M)|0)+(w(tb,L)|0)+(w(vb,N)|0)+(w(qb,O)|0);c[U>>2]=(w(Bb,R)|0)+(w(tb,Q)|0)+(w(vb,S)|0)+(w(qb,T)|0);c[Z>>2]=(w(Bb,W)|0)+(w(tb,V)|0)+(w(vb,X)|0)+(w(qb,Y)|0);c[ca>>2]=(w(Bb,$)|0)+(w(tb,_)|0)+(w(vb,aa)|0)+(w(qb,ba)|0);c[ha>>2]=(w(Bb,ea)|0)+(w(tb,da)|0)+(w(vb,fa)|0)+(w(qb,ga)|0);qb=b[m+(p<<1)>>1]|0;vb=b[m+(q<<1)>>1]|0;tb=(w(vb,ja)|0)+(w(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(w(vb,la)|0)+(w(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(w(vb,oa)|0)+(w(qb,na)|0)|0;c[pa>>2]=ob;qb=(w(vb,ra)|0)+(w(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[m+(s<<1)>>1]|0;wb=w(vb,r)|0;pb=b[m>>1]|0;sb=w(pb,t)|0;vb=w(u,vb)|0;pb=w(v,pb)|0;rb=wb+sb|0;e=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=e-ob|0;c[va>>2]=xb;e=ob+e|0;c[wa>>2]=e;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[o>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[o+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[o+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Z>>2]|0;xb=xb-e|0;b[o+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[o+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[o+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[o+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[o+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;e=e+(c[va>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(w(Eb,q)|0)+(w(i,p)|0);c[t>>2]=(w(Eb,s)|0)+(w(i,r)|0);c[x>>2]=(w(Eb,v)|0)+(w(i,u)|0);c[A>>2]=(w(Eb,z)|0)+(w(i,y)|0);c[D>>2]=(w(Eb,C)|0)+(w(i,B)|0);c[G>>2]=(w(Eb,F)|0)+(w(i,E)|0);c[J>>2]=(w(Eb,I)|0)+(w(i,H)|0);c[M>>2]=(w(Eb,L)|0)+(w(i,K)|0);i=b[m+64>>1]|0;Eb=w(i,N)|0;c[Gb>>2]=Eb;Cb=w(i,O)|0;c[P>>2]=Cb;e=w(i,Q)|0;c[R>>2]=e;i=w(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=w(Bb,n)|0;Bb=w(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[t>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[t>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(w(Bb,r)|0)+(w(Eb,q)|0)+(w(yb,s)|0)+(w(Cb,t)|0);c[z>>2]=(w(Bb,v)|0)+(w(Eb,u)|0)+(w(yb,x)|0)+(w(Cb,y)|0);c[E>>2]=(w(Bb,B)|0)+(w(Eb,A)|0)+(w(yb,C)|0)+(w(Cb,D)|0);c[J>>2]=(w(Bb,G)|0)+(w(Eb,F)|0)+(w(yb,H)|0)+(w(Cb,I)|0);c[O>>2]=(w(Bb,L)|0)+(w(Eb,K)|0)+(w(yb,M)|0)+(w(Cb,N)|0);c[T>>2]=(w(Bb,Q)|0)+(w(Eb,P)|0)+(w(yb,R)|0)+(w(Cb,S)|0);c[Y>>2]=(w(Bb,V)|0)+(w(Eb,U)|0)+(w(yb,W)|0)+(w(Cb,X)|0);c[ba>>2]=(w(Bb,_)|0)+(w(Eb,Z)|0)+(w(yb,$)|0)+(w(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(w(yb,da)|0)+(w(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(w(yb,fa)|0)+(w(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(w(yb,ia)|0)+(w(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(w(yb,la)|0)+(w(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=w(yb,kb)|0;e=b[m>>1]|0;f=w(e,n)|0;yb=w(o,yb)|0;e=w(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(w(Bb,v)|0)+(w(Ab,u)|0)+(w(Cb,x)|0)+(w(f,y)|0)+(w(i,z)|0)+(w(yb,A)|0)+(w(e,B)|0)+(w(Db,C)|0);c[L>>2]=(w(Bb,E)|0)+(w(Ab,D)|0)+(w(Cb,F)|0)+(w(f,G)|0)+(w(i,H)|0)+(w(yb,I)|0)+(w(e,J)|0)+(w(Db,K)|0);c[U>>2]=(w(Bb,N)|0)+(w(Ab,M)|0)+(w(Cb,O)|0)+(w(f,P)|0)+(w(i,Q)|0)+(w(yb,R)|0)+(w(e,S)|0)+(w(Db,T)|0);c[ba>>2]=(w(Bb,W)|0)+(w(Ab,V)|0)+(w(Cb,X)|0)+(w(f,Y)|0)+(w(i,Z)|0)+(w(yb,_)|0)+(w(e,$)|0)+(w(Db,aa)|0);c[ka>>2]=(w(Bb,da)|0)+(w(Ab,ca)|0)+(w(Cb,ea)|0)+(w(f,fa)|0)+(w(i,ga)|0)+(w(yb,ha)|0)+(w(e,ia)|0)+(w(Db,ja)|0);c[ta>>2]=(w(Bb,ma)|0)+(w(Ab,la)|0)+(w(Cb,na)|0)+(w(f,oa)|0)+(w(i,pa)|0)+(w(yb,qa)|0)+(w(e,ra)|0)+(w(Db,sa)|0);c[Ca>>2]=(w(Bb,va)|0)+(w(Ab,ua)|0)+(w(Cb,wa)|0)+(w(f,xa)|0)+(w(i,ya)|0)+(w(yb,za)|0)+(w(e,Aa)|0)+(w(Db,Ba)|0);c[La>>2]=(w(Bb,Ea)|0)+(w(Ab,Da)|0)+(w(Cb,Fa)|0)+(w(f,Ga)|0)+(w(i,Ha)|0)+(w(yb,Ia)|0)+(w(e,Ja)|0)+(w(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(w(e,Na)|0)+(w(Db,Ma)|0)+(w(yb,Oa)|0)+(w(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(w(e,Ra)|0)+(w(Db,Qa)|0)+(w(yb,Sa)|0)+(w(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(w(e,Wa)|0)+(w(Db,Va)|0)+(w(yb,Xa)|0)+(w(i,Ya)|0)|0;c[Za>>2]=Ab;i=(w(e,$a)|0)+(w(Db,_a)|0)+(w(yb,ab)|0)+(w(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=w(yb,kb)|0;e=b[m+384>>1]|0;Db=(w(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=w(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(w(Eb,p)|0)+zb|0;yb=(w(r,e)|0)+(w(q,yb)|0)|0;Bb=(w(t,Eb)|0)+(w(s,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}}else{p=i*9|0;q=i*11|0;r=i*13|0;s=i*15|0;t=i<<1;u=i*6|0;v=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){Rb=b[m+(i<<1)>>1]|0;Qb=b[m+(yb<<1)>>1]|0;Bb=b[m+(zb<<1)>>1]|0;Ob=b[m+(Ab<<1)>>1]|0;Pb=b[m+(p<<1)>>1]|0;Mb=b[m+(q<<1)>>1]|0;e=b[m+(r<<1)>>1]|0;Kb=b[m+(s<<1)>>1]|0;c[Fb>>2]=(w(Qb,K)|0)+(w(Rb,J)|0)+(w(Bb,L)|0)+(w(Ob,M)|0)+(w(Pb,N)|0)+(w(Mb,O)|0)+(w(e,P)|0)+(w(Kb,Q)|0);c[Z>>2]=(w(Qb,S)|0)+(w(Rb,R)|0)+(w(Bb,T)|0)+(w(Ob,U)|0)+(w(Pb,V)|0)+(w(Mb,W)|0)+(w(e,X)|0)+(w(Kb,Y)|0);c[ga>>2]=(w(Qb,$)|0)+(w(Rb,_)|0)+(w(Bb,aa)|0)+(w(Ob,ba)|0)+(w(Pb,ca)|0)+(w(Mb,da)|0)+(w(e,ea)|0)+(w(Kb,fa)|0);c[pa>>2]=(w(Qb,ia)|0)+(w(Rb,ha)|0)+(w(Bb,ja)|0)+(w(Ob,ka)|0)+(w(Pb,la)|0)+(w(Mb,ma)|0)+(w(e,na)|0)+(w(Kb,oa)|0);c[ya>>2]=(w(Qb,ra)|0)+(w(Rb,qa)|0)+(w(Bb,sa)|0)+(w(Ob,ta)|0)+(w(Pb,ua)|0)+(w(Mb,va)|0)+(w(e,wa)|0)+(w(Kb,xa)|0);c[Ha>>2]=(w(Qb,Aa)|0)+(w(Rb,za)|0)+(w(Bb,Ba)|0)+(w(Ob,Ca)|0)+(w(Pb,Da)|0)+(w(Mb,Ea)|0)+(w(e,Fa)|0)+(w(Kb,Ga)|0);c[Qa>>2]=(w(Qb,Ja)|0)+(w(Rb,Ia)|0)+(w(Bb,Ka)|0)+(w(Ob,La)|0)+(w(Pb,Ma)|0)+(w(Mb,Na)|0)+(w(e,Oa)|0)+(w(Kb,Pa)|0);c[Za>>2]=(w(Qb,Sa)|0)+(w(Rb,Ra)|0)+(w(Bb,Ta)|0)+(w(Ob,Ua)|0)+(w(Pb,Va)|0)+(w(Mb,Wa)|0)+(w(e,Xa)|0)+(w(Kb,Ya)|0);Kb=b[m+(t<<1)>>1]|0;e=b[m+(u<<1)>>1]|0;Mb=b[m+(v<<1)>>1]|0;Pb=b[m+(x<<1)>>1]|0;Ob=(w(e,$a)|0)+(w(Kb,_a)|0)+(w(Mb,ab)|0)+(w(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(w(e,db)|0)+(w(Kb,cb)|0)+(w(Mb,eb)|0)+(w(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(w(e,ib)|0)+(w(Kb,hb)|0)+(w(Mb,jb)|0)+(w(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(w(e,nb)|0)+(w(Kb,mb)|0)+(w(Mb,ob)|0)+(w(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[m+(z<<1)>>1]|0;Kb=w(Mb,y)|0;e=b[m+(B<<1)>>1]|0;Kb=(w(e,A)|0)+Kb|0;Qb=b[m>>1]|0;Lb=w(Qb,C)|0;Nb=b[m+(E<<1)>>1]|0;Lb=(w(Nb,D)|0)+Lb|0;Mb=(w(G,e)|0)+(w(F,Mb)|0)|0;Qb=(w(I,Nb)|0)+(w(H,Qb)|0)|0;Nb=Kb+Lb|0;e=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=e-Rb|0;c[tb>>2]=Jb;e=Rb+e|0;c[ub>>2]=e;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[o>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[o+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[o+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Ha>>2]|0;Jb=Jb-e|0;b[o+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[o+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[o+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[o+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[o+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;e=e+(c[tb>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(w(Qb,q)|0)+(w(Ob,p)|0);c[t>>2]=(w(Qb,s)|0)+(w(Ob,r)|0);c[x>>2]=(w(Qb,v)|0)+(w(Ob,u)|0);c[A>>2]=(w(Qb,z)|0)+(w(Ob,y)|0);c[D>>2]=(w(Qb,C)|0)+(w(Ob,B)|0);c[G>>2]=(w(Qb,F)|0)+(w(Ob,E)|0);c[J>>2]=(w(Qb,I)|0)+(w(Ob,H)|0);c[M>>2]=(w(Qb,L)|0)+(w(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=w(Ob,N)|0;c[Gb>>2]=Qb;Nb=w(Ob,O)|0;c[P>>2]=Nb;Lb=w(Ob,Q)|0;c[R>>2]=Lb;Ob=w(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=w(Mb,n)|0;Mb=w(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[t>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[U>>2]|0;Qb=c[D>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[t>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(w(Mb,r)|0)+(w(Qb,q)|0)+(w(f,s)|0)+(w(Nb,t)|0);c[z>>2]=(w(Mb,v)|0)+(w(Qb,u)|0)+(w(f,x)|0)+(w(Nb,y)|0);c[E>>2]=(w(Mb,B)|0)+(w(Qb,A)|0)+(w(f,C)|0)+(w(Nb,D)|0);c[J>>2]=(w(Mb,G)|0)+(w(Qb,F)|0)+(w(f,H)|0)+(w(Nb,I)|0);c[O>>2]=(w(Mb,L)|0)+(w(Qb,K)|0)+(w(f,M)|0)+(w(Nb,N)|0);c[T>>2]=(w(Mb,Q)|0)+(w(Qb,P)|0)+(w(f,R)|0)+(w(Nb,S)|0);c[Y>>2]=(w(Mb,V)|0)+(w(Qb,U)|0)+(w(f,W)|0)+(w(Nb,X)|0);c[ba>>2]=(w(Mb,_)|0)+(w(Qb,Z)|0)+(w(f,$)|0)+(w(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(w(f,da)|0)+(w(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(w(f,fa)|0)+(w(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(w(f,ia)|0)+(w(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(w(f,la)|0)+(w(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=w(f,kb)|0;Lb=b[m>>1]|0;Rb=w(Lb,n)|0;f=w(o,f)|0;Lb=w(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[na>>2]|0;Qb=c[O>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(w(Mb,v)|0)+(w(Kb,u)|0)+(w(Nb,x)|0)+(w(Rb,y)|0)+(w(Ob,z)|0)+(w(f,A)|0)+(w(Lb,B)|0)+(w(Pb,C)|0);c[L>>2]=(w(Mb,E)|0)+(w(Kb,D)|0)+(w(Nb,F)|0)+(w(Rb,G)|0)+(w(Ob,H)|0)+(w(f,I)|0)+(w(Lb,J)|0)+(w(Pb,K)|0);c[U>>2]=(w(Mb,N)|0)+(w(Kb,M)|0)+(w(Nb,O)|0)+(w(Rb,P)|0)+(w(Ob,Q)|0)+(w(f,R)|0)+(w(Lb,S)|0)+(w(Pb,T)|0);c[ba>>2]=(w(Mb,W)|0)+(w(Kb,V)|0)+(w(Nb,X)|0)+(w(Rb,Y)|0)+(w(Ob,Z)|0)+(w(f,_)|0)+(w(Lb,$)|0)+(w(Pb,aa)|0);c[ka>>2]=(w(Mb,da)|0)+(w(Kb,ca)|0)+(w(Nb,ea)|0)+(w(Rb,fa)|0)+(w(Ob,ga)|0)+(w(f,ha)|0)+(w(Lb,ia)|0)+(w(Pb,ja)|0);c[ta>>2]=(w(Mb,ma)|0)+(w(Kb,la)|0)+(w(Nb,na)|0)+(w(Rb,oa)|0)+(w(Ob,pa)|0)+(w(f,qa)|0)+(w(Lb,ra)|0)+(w(Pb,sa)|0);c[Ca>>2]=(w(Mb,va)|0)+(w(Kb,ua)|0)+(w(Nb,wa)|0)+(w(Rb,xa)|0)+(w(Ob,ya)|0)+(w(f,za)|0)+(w(Lb,Aa)|0)+(w(Pb,Ba)|0);c[La>>2]=(w(Mb,Ea)|0)+(w(Kb,Da)|0)+(w(Nb,Fa)|0)+(w(Rb,Ga)|0)+(w(Ob,Ha)|0)+(w(f,Ia)|0)+(w(Lb,Ja)|0)+(w(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(w(Lb,Na)|0)+(w(Pb,Ma)|0)+(w(f,Oa)|0)+(w(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(w(Lb,Ra)|0)+(w(Pb,Qa)|0)+(w(f,Sa)|0)+(w(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(w(Lb,Wa)|0)+(w(Pb,Va)|0)+(w(f,Xa)|0)+(w(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(w(Lb,$a)|0)+(w(Pb,_a)|0)+(w(f,ab)|0)+(w(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=w(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(w(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=w(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(w(Qb,p)|0)+Jb|0;f=(w(r,Lb)|0)+(w(q,f)|0)|0;Mb=(w(t,Qb)|0)+(w(s,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[db>>2]|0;Qb=c[ka>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Zb=Ib;return}}}function Ae(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Zb;Zb=Zb+32|0;ia=ja+16|0;ea=ja;da=(l&240|0)==240;x=da?4:8;y=i*3|0;z=i*5|0;A=i*7|0;B=b[16848]|0;C=i<<1;D=b[16880]|0;E=i*6|0;F=b[16849]|0;G=b[16881]|0;H=b[16832]|0;I=b[16864]|0;J=i<<2;K=b[16833]|0;L=b[16865]|0;fa=ia+12|0;ga=ia+4|0;ha=ia+8|0;M=b[16840]|0;N=b[16856]|0;O=b[16872]|0;P=b[16888]|0;Q=b[16841]|0;R=b[16857]|0;S=b[16873]|0;T=b[16889]|0;U=ea+4|0;V=b[16842]|0;W=b[16858]|0;X=b[16874]|0;Y=b[16890]|0;Z=ea+8|0;_=b[16843]|0;$=b[16859]|0;aa=b[16875]|0;ba=b[16891]|0;ca=ea+12|0;u=f;v=0;m=c[ha>>2]|0;o=c[ga>>2]|0;q=c[fa>>2]|0;s=c[ia>>2]|0;t=c[ca>>2]|0;r=c[Z>>2]|0;p=c[U>>2]|0;n=c[ea>>2]|0;while(1){if(!(l&1)){q=b[e+(i<<1)>>1]|0;ka=b[e+(y<<1)>>1]|0;m=b[e+(z<<1)>>1]|0;t=b[e+(A<<1)>>1]|0;n=(w(ka,N)|0)+(w(q,M)|0)+(w(m,O)|0)+(w(t,P)|0)|0;p=(w(ka,R)|0)+(w(q,Q)|0)+(w(m,S)|0)+(w(t,T)|0)|0;r=(w(ka,W)|0)+(w(q,V)|0)+(w(m,X)|0)+(w(t,Y)|0)|0;t=(w(ka,$)|0)+(w(q,_)|0)+(w(m,aa)|0)+(w(t,ba)|0)|0;m=b[e+(C<<1)>>1]|0;q=w(m,B)|0;ka=b[e+(E<<1)>>1]|0;q=(w(ka,D)|0)+q|0;m=(w(G,ka)|0)+(w(F,m)|0)|0;ka=b[e>>1]|0;o=w(ka,H)|0;s=b[e+(J<<1)>>1]|0;o=(w(s,I)|0)+o|0;ka=(w(L,s)|0)+(w(K,ka)|0)|0;s=o+q|0;q=o-q|0;o=ka+m|0;m=ka-m|0;ka=n+s|0;b[u>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=q-t|0;b[u+8>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=p+o|0;b[u+2>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=m-r|0;b[u+10>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=r+m|0;b[u+4>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=o-p|0;b[u+12>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=t+q|0;b[u+6>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=s-n|0;b[u+14>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535}else{b[u>>1]=0;b[u+2>>1]=0;b[u+4>>1]=0;b[u+6>>1]=0;b[u+8>>1]=0;b[u+10>>1]=0;b[u+12>>1]=0;b[u+14>>1]=0}v=v+1|0;if(v>>>0>=x>>>0)break;else{e=e+2|0;u=u+16|0;l=l>>1}}c[ea>>2]=n;c[U>>2]=p;c[Z>>2]=r;c[ca>>2]=t;c[ia>>2]=s;c[fa>>2]=q;c[ga>>2]=o;c[ha>>2]=m;N=b[16848]|0;if(da){l=b[16849]|0;n=b[16832]|0;o=b[16833]|0;p=b[16840]|0;q=b[16856]|0;r=b[16841]|0;s=b[16857]|0;t=ea+4|0;u=b[16842]|0;v=b[16858]|0;x=ea+8|0;y=b[16843]|0;z=b[16859]|0;A=ea+12|0;e=0;m=f;while(1){i=b[m+16>>1]|0;ca=b[m+48>>1]|0;f=(w(ca,q)|0)+(w(i,p)|0)|0;c[ea>>2]=f;c[t>>2]=(w(ca,s)|0)+(w(i,r)|0);c[x>>2]=(w(ca,v)|0)+(w(i,u)|0);c[A>>2]=(w(ca,z)|0)+(w(i,y)|0);i=b[m+32>>1]|0;ca=w(i,N)|0;i=w(l,i)|0;da=b[m>>1]|0;ba=w(da,n)|0;da=w(o,da)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[t>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[t>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=ja;return}else{l=b[16880]|0;n=b[16849]|0;o=b[16881]|0;p=b[16832]|0;q=b[16864]|0;r=b[16833]|0;s=b[16865]|0;t=b[16840]|0;u=b[16856]|0;v=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=ea+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=ea+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=ea+12|0;e=0;m=f;while(1){da=b[m+16>>1]|0;ba=b[m+48>>1]|0;ca=b[m+80>>1]|0;i=b[m+112>>1]|0;f=(w(ba,u)|0)+(w(da,t)|0)+(w(ca,v)|0)+(w(i,x)|0)|0;c[ea>>2]=f;c[C>>2]=(w(ba,z)|0)+(w(da,y)|0)+(w(ca,A)|0)+(w(i,B)|0);c[H>>2]=(w(ba,E)|0)+(w(da,D)|0)+(w(ca,F)|0)+(w(i,G)|0);c[M>>2]=(w(ba,J)|0)+(w(da,I)|0)+(w(ca,K)|0)+(w(i,L)|0);i=b[m+32>>1]|0;ca=w(i,N)|0;da=b[m+96>>1]|0;ca=(w(da,l)|0)+ca|0;i=(w(o,da)|0)+(w(n,i)|0)|0;da=b[m>>1]|0;ba=w(da,p)|0;ka=b[m+64>>1]|0;ba=(w(ka,q)|0)+ba|0;da=(w(s,ka)|0)+(w(r,da)|0)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=ja;return}}function Be(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+2|0;l=e+2|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+4|0;l=e+4|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+6|0;k=e+6|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Ce(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function De(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function Ee(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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,P=0;if((f+-1|0)>>>0>=3)O(140391,140415,117,140448);G=(k|0)==0;H=(l|0)==0;if(!(l|k))O(140470,140415,118,140448);F=g+1+h>>1;o=F+(i<<1)|0;o=(o|0)>0?o:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;o=c[25472+(((o|0)<51?o:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;v=a[b+2>>0]|0;u=a[b+1>>0]|0;t=a[b>>0]|0;f=t&255;p=(v&255)-((u&255)<<1)+f|0;p=(p|0)>0?p:0-p|0;D=e*3|0;k=b+D|0;l=d[k>>0]|0;E=(d[b+(D+2)>>0]|0)-((d[b+(D+1)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;s=a[b+-3>>0]|0;r=a[b+-2>>0]|0;q=a[b+-1>>0]|0;g=q&255;n=(s&255)-((r&255)<<1)+g|0;n=(n|0)>0?n:0-n|0;m=d[b+(D+-1)>>0]|0;D=(d[b+(D+-3)>>0]|0)-((d[b+(D+-2)>>0]|0)<<1)+m|0;D=(D|0)>0?D:0-D|0;h=n+p|0;i=D+E|0;n=D+n|0;p=E+p|0;if((i+h|0)>=(o|0))return;j=o>>2;if((h<<1|0)<(j|0)?(E=(d[b+3>>0]|0)-f|0,D=g-(d[b+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){g=f-g|0;g=(((g|0)>0?g:0-g|0)|0)<((F*5|0)+1>>1|0)&1}else g=0;if((i<<1|0)<(j|0)?(E=(d[k+3>>0]|0)-l|0,D=m-(d[k+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){f=l-m|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0;E=(g|0)==1&f;x=(o>>1)+o>>3;C=(F|0)>1;D=(n|0)<(x|0)&C;C=(p|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;h=q;i=r;j=s;k=t;l=u;m=v;while(1){u=b+-1|0;q=h&255;t=b+-2|0;g=i&255;s=b+-3|0;i=j&255;o=k&255;r=b+1|0;n=l&255;p=b+2|0;k=m&255;if(!E){h=((o-q|0)*9|0)+8+(w(n-g|0,-3)|0)>>4;if((((h|0)>0?h:0-h|0)|0)<(y|0)){j=(h|0)>(F|0)?F:(h|0)<(z|0)?z:h;h=j+q|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255;l=o-j|0;l=(l|0)>0?l:0;l=(l|0)<255?l:255;if(D){v=((q+1+i|0)>>>1)-g+j>>1;g=((v|0)>(A|0)?A:(v|0)<(B|0)?B:v)+g|0;g=(g|0)>0?g:0;g=(g|0)<255?g:255}if(C){m=((k+o+1|0)>>>1)-n-j>>1;m=((m|0)>(A|0)?A:(m|0)<(B|0)?B:m)+n|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;j=l}else{m=n;j=l}}else{m=n;j=o;h=q}}else{h=o<<1;v=(q<<1)+4|0;j=v+g+h+k+(n<<1)>>3;K=x+o|0;J=o-x|0;l=o+q|0;m=(l+2+n+k|0)>>>2;M=x+n|0;L=n-x|0;N=(l+4+n+(k*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;P=x+k|0;k=k-x|0;h=v+(g<<1)+i+n+h>>3;n=x+q|0;o=q-x|0;l=l+g|0;v=(i+2+l|0)>>>2;q=x+g|0;g=g-x|0;l=((i*3|0)+4+l+((d[b+-4>>0]|0)<<1)|0)>>>3;I=x+i|0;i=i-x|0;k=(N|0)>(P|0)?P:(N|0)<(k|0)?k:N;m=(m|0)>(M|0)?M:(m|0)<(L|0)?L:m;j=(j|0)>(K|0)?K:(j|0)<(J|0)?J:j;i=(l|0)>(I|0)?I:(l|0)<(i|0)?i:l;h=(h|0)>(n|0)?n:(h|0)<(o|0)?o:h;g=(v|0)>(q|0)?q:(v|0)<(g|0)?g:v}if(!G){a[s>>0]=i;a[t>>0]=g;a[u>>0]=h}if(!H){a[b>>0]=j;a[r>>0]=m;a[p>>0]=k}g=b+e|0;f=f+1|0;if((f|0)==4)break;b=g;h=a[g+-1>>0]|0;i=a[g+-2>>0]|0;j=a[g+-3>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=a[g+2>>0]|0}return}function Fe(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((f|0)<=0)O(140503,140415,354,140514);L=(k|0)==0;M=(l|0)==0;if(!(l|k))O(140470,140415,355,140514);F=g+1+h>>1;n=F+(i<<1)|0;n=(n|0)>0?n:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;n=c[25472+(((n|0)<51?n:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;G=e<<1;u=a[b+G>>0]|0;t=a[b+e>>0]|0;s=a[b>>0]|0;g=s&255;o=(u&255)-((t&255)<<1)+g|0;o=(o|0)>0?o:0-o|0;k=b+3|0;l=d[k>>0]|0;E=(d[b+(G+3)>>0]|0)-((d[b+(e+3)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;H=w(e,-3)|0;r=a[b+H>>0]|0;I=w(e,-2)|0;q=a[b+I>>0]|0;J=0-e|0;p=a[b+J>>0]|0;h=p&255;m=(r&255)-((q&255)<<1)+h|0;m=(m|0)>0?m:0-m|0;K=e*3|0;D=(d[b+(3-K)>>0]|0)-((d[b+(3-G)>>0]|0)<<1)+(d[b+(3-e)>>0]|0)|0;D=(D|0)>0?D:0-D|0;f=m+o|0;i=D+E|0;m=D+m|0;o=E+o|0;if((i+f|0)>=(n|0))return;j=n>>2;if((f<<1|0)<(j|0)?(E=(d[b+K>>0]|0)-g|0,D=h-(d[b+(w(e,-4)|0)>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)):0){h=g-h|0;h=(((h|0)>0?h:0-h|0)|0)<((F*5|0)+1>>1|0)&1}else h=0;if((i<<1|0)<(j|0)){E=(d[k+K>>0]|0)-l|0;f=d[k+J>>0]|0;g=w(e,-4)|0;D=f-(d[k+g>>0]|0)|0;if((((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)){f=l-f|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0}else{f=0;g=w(e,-4)|0}E=(h|0)==1&f;x=(n>>1)+n>>3;C=(F|0)>1;D=(m|0)<(x|0)&C;C=(o|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;i=p;j=q;k=r;l=s;m=t;n=u;while(1){v=b+J|0;r=i&255;u=b+I|0;h=j&255;t=b+H|0;j=k&255;p=l&255;s=b+e|0;o=m&255;q=b+G|0;l=n&255;if(!E){i=((p-r|0)*9|0)+8+(w(o-h|0,-3)|0)>>4;if((((i|0)>0?i:0-i|0)|0)<(y|0)){k=(i|0)>(F|0)?F:(i|0)<(z|0)?z:i;i=k+r|0;i=(i|0)>0?i:0;i=(i|0)<255?i:255;m=p-k|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;if(D){r=((r+1+j|0)>>>1)-h+k>>1;h=((r|0)>(A|0)?A:(r|0)<(B|0)?B:r)+h|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}if(C){n=((l+p+1|0)>>>1)-o-k>>1;n=((n|0)>(A|0)?A:(n|0)<(B|0)?B:n)+o|0;n=(n|0)>0?n:0;n=(n|0)<255?n:255;k=m}else{n=o;k=m}}else{n=o;k=p;i=r}}else{i=p<<1;m=(r<<1)+4|0;k=m+h+i+l+(o<<1)>>3;R=x+p|0;Q=p-x|0;N=p+r|0;n=(N+2+o+l|0)>>>2;T=x+o|0;S=o-x|0;U=(N+4+o+(l*3|0)+((d[b+K>>0]|0)<<1)|0)>>>3;V=x+l|0;l=l-x|0;i=m+(h<<1)+j+o+i>>3;m=x+r|0;o=r-x|0;N=N+h|0;r=(j+2+N|0)>>>2;p=x+h|0;h=h-x|0;N=((j*3|0)+4+N+((d[b+g>>0]|0)<<1)|0)>>>3;P=x+j|0;j=j-x|0;l=(U|0)>(V|0)?V:(U|0)<(l|0)?l:U;n=(n|0)>(T|0)?T:(n|0)<(S|0)?S:n;k=(k|0)>(R|0)?R:(k|0)<(Q|0)?Q:k;j=(N|0)>(P|0)?P:(N|0)<(j|0)?j:N;i=(i|0)>(m|0)?m:(i|0)<(o|0)?o:i;h=(r|0)>(p|0)?p:(r|0)<(h|0)?h:r}if(!L){a[t>>0]=j;a[u>>0]=h;a[v>>0]=i}if(!M){a[b>>0]=k;a[s>>0]=n;a[q>>0]=l}h=b+1|0;f=f+1|0;if((f|0)==4)break;b=h;i=a[h+J>>0]|0;j=a[h+I>>0]|0;k=a[h+H>>0]|0;l=a[h>>0]|0;m=a[h+e>>0]|0;n=a[h+G>>0]|0}return}function Ge(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=(k|0)==0;o=(l|0)==0;if(!(l|k))O(140470,140415,611,140536);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;h=0-i|0;n=0-j|0;f=d[b>>0]|0;l=b+-2|0;g=d[l>>0]|0;k=(d[b+-4>>0]|0)+4+(f-g<<2)-(d[b+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;m=d[f>>0]|0;k=(d[b+-3>>0]|0)+4+(m-(d[b+-1>>0]|0)<<2)-(d[b+3>>0]|0)>>3;k=m-((k|0)>(j|0)?j:(k|0)<(n|0)?n:k)|0;k=(k|0)>0?k:0;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}g=b+e|0;f=d[g>>0]|0;k=(d[g+-4>>0]|0)+4+(f-(d[g+-2>>0]|0)<<2)-(d[g+2>>0]|0)>>3;k=f-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;f=g+1|0;b=d[f>>0]|0;l=(d[g+-3>>0]|0)+4+(b-(d[g+-1>>0]|0)<<2)-(d[g+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[g>>0]=(k|0)<255?k:255;a[f>>0]=(l|0)<255?l:255}f=g+e|0;g=d[f>>0]|0;k=(d[f+-4>>0]|0)+4+(g-(d[f+-2>>0]|0)<<2)-(d[f+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=f+1|0;b=d[g>>0]|0;l=(d[f+-3>>0]|0)+4+(b-(d[f+-1>>0]|0)<<2)-(d[f+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;k=(d[l+-4>>0]|0)+4+(g-(d[l+-2>>0]|0)<<2)-(d[l+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=l+1|0;e=d[g>>0]|0;f=(d[l+-3>>0]|0)+4+(e-(d[l+-1>>0]|0)<<2)-(d[l+3>>0]|0)>>3;f=e-((f|0)>(j|0)?j:(f|0)<(n|0)?n:f)|0;f=(f|0)>0?f:0;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}else{q=k+g|0;q=(q|0)>0?q:0;g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;r=d[f>>0]|0;m=b+-1|0;p=d[m>>0]|0;k=(d[b+-3>>0]|0)+4+(r-p<<2)-(d[b+3>>0]|0)>>3;k=(k|0)>(j|0)?j:(k|0)<(n|0)?n:k;p=k+p|0;p=(p|0)>0?p:0;k=r-k|0;k=(k|0)>0?k:0;a[l>>0]=(q|0)<255?q:255;a[m>>0]=(p|0)<255?p:255;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}f=b+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}f=f+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;p=l+-2|0;e=d[p>>0]|0;k=(d[l+-4>>0]|0)+4+(g-e<<2)-(d[l+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;e=k+e|0;e=(e|0)>0?e:0;k=g-k|0;k=(k|0)>0?k:0;g=l+1|0;b=d[g>>0]|0;r=l+-1|0;q=d[r>>0]|0;f=(d[l+-3>>0]|0)+4+(b-q<<2)-(d[l+3>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(n|0)?n:f;q=f+q|0;q=(q|0)>0?q:0;f=b-f|0;f=(f|0)>0?f:0;a[p>>0]=(e|0)<255?e:255;a[r>>0]=(q|0)<255?q:255;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}}function He(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;m=(k|0)==0;p=(l|0)==0;if(!(l|k))O(140470,140415,732,140560);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;n=0-e|0;o=w(e,-2)|0;f=d[b>>0]|0;l=b+n|0;g=d[l>>0]|0;k=(d[b+o>>0]|0)+4+(f-g<<2)-(d[b+e>>0]|0)>>3;h=0-i|0;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){f=f-k|0;f=(f|0)>0?f:0;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;m=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(m-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=m-((f|0)>(i|0)?i:(f|0)<(h|0)?h:f)|0;f=(f|0)>0?f:0;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(b-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=b-((f|0)>(j|0)?j:(f|0)<(k|0)?k:f)|0;f=(f|0)>0?f:0;if(p)return;a[g>>0]=(f|0)<255?f:255;return}else{m=k+g|0;m=(m|0)>0?m:0;f=f-k|0;f=(f|0)>0?f:0;a[l>>0]=(m|0)<255?m:255;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;q=d[f>>0]|0;m=f+n|0;l=d[m>>0]|0;g=(d[f+o>>0]|0)+4+(q-l<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;l=g+l|0;l=(l|0)>0?l:0;g=q-g|0;g=(g|0)>0?g:0;a[m>>0]=(l|0)<255?l:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;l=d[g>>0]|0;q=g+n|0;m=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(l-m<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(i|0)?i:(f|0)<(h|0)?h:f;m=f+m|0;m=(m|0)>0?m:0;f=l-f|0;f=(f|0)>0?f:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;q=g+n|0;n=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(b-n<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(k|0)?k:f;e=f+n|0;e=(e|0)>0?e:0;f=b-f|0;f=(f|0)>0?f:0;a[q>>0]=(e|0)<255?e:255;if(p)return;a[g>>0]=(f|0)<255?f:255;return}}function Ie(a){a=a|0;var b=0;c[a>>2]=2147483647;b=0;do{c[a+4+(b<<2)>>2]=2147483647;c[a+260+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=64);return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((b|0)>63){f=-1;return f|0}f=a+260+(b<<2)|0;if(c[f>>2]|0){f=-1;return f|0}c[f>>2]=e;c[a+4+(b<<2)>>2]=d;f=0;return f|0}function Ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=2147483647;e=0;h=-1;while(1){f=c[a+4+(e<<2)>>2]|0;g=(f|0)==2147483647|(f|0)>(d|0);h=g?h:e;e=e+1|0;if((e|0)==64)break;else d=g?d:f}c[b>>2]=h;d=a+260+(h<<2)|0;if((h|0)==-1){a=0;return a|0}g=c[d>>2]|0;c[d>>2]=0;c[a+4+(h<<2)>>2]=2147483647;a=g;return a|0}function Le(a){a=a|0;Fn(a|0,0,517)|0;return}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+20|0;f=0;do{if((c[b+4+(f<<3)>>2]|0)==(d|0)?a[g>>0]|0:0){h=-1;i=9;break}f=f+1|0}while(f>>>0<64);if((i|0)==9)return h|0;f=0;while(1){if(!(c[b+4+(f<<3)>>2]|0))break;g=f+1|0;if(g>>>0<64)f=g;else{h=-1;i=9;break}}if((i|0)==9)return h|0;i=b+4+(f<<3)|0;c[i>>2]=d;c[b+4+(f<<3)+4>>2]=c[b>>2];a[d+22>>0]=e;a[d+20>>0]=2;c[b>>2]=i;i=b+516|0;a[i>>0]=(a[i>>0]|0)+1<<24>>24;i=0;return i|0}function Ne(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;l=c[b>>2]|0;h=c[l>>2]|0;if((c[h+8>>2]|0)!=(f|0)){n=b+516|0;j=a[n>>0]|0;m=j&255;a:do if((j&255)>1){g=l;i=1;while(1){k=c[g+4>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)==(f|0))break a;i=i+1|0;if(i>>>0<m>>>0)g=k;else{g=k;break}}}else{i=1;g=l}while(0);if((i|0)==(m|0))return;f=g+4|0;k=c[f>>2]|0;g=k+4|0;i=c[g>>2]|0;if((k|0)==(l|0)){f=n;o=9}else{c[f>>2]=i;c[g>>2]=0;l=k;f=n;i=j;h=c[k>>2]|0}}else{g=l+4|0;j=b+516|0;f=j;j=a[j>>0]|0;i=c[g>>2]|0;o=9}if((o|0)==9){c[b>>2]=i;i=j}a[f>>0]=i+-1<<24>>24;ie(e,d[h+22>>0]|0,2)|0;c[g>>2]=0;c[l>>2]=0;return}function Oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=2147483647;e=0;h=0;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){j=d-(c[g+8>>2]|0)|0;i=(j|0)>0&(j|0)<(f|0);f=i?j:f;e=i?g:e}h=h+1|0}while((h|0)!=64);if(e|0){j=e;return j|0}h=0;e=0;f=2147483647;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){i=d-(c[g+8>>2]|0)|0;i=(i|0)>0?i:0-i|0;j=(i|0)<(f|0);f=j?i:f;e=j?g:e}h=h+1|0}while((h|0)!=64);return e|0}function Pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=b;b=0;while(1){f=c[e>>2]|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==(d|0))break a;b=b+1|0;if(b>>>0<g>>>0)e=f+4|0;else{e=0;break}}}while(0);return ((b|0)==(g|0)?0:e)|0}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=0;while(1){f=c[b>>2]|0;b=c[f>>2]|0;if((c[b+12>>2]|0)==(d|0))break a;e=e+1|0;if(e>>>0<g>>>0)b=f+4|0;else{b=0;break}}}while(0);return ((e|0)==(g|0)?0:b)|0}function Re(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(!((g|0)>0&(h|0)>0))return;j=0;i=b;f=c;while(1){b=0;do{a[f+b>>0]=a[i+b>>0]|0;b=b+1|0}while((b|0)!=(h|0));j=j+1|0;if((j|0)==(g|0))break;else{i=i+d|0;f=f+e|0}}return}function Se(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!((h|0)>0&(i|0)>0))return;r=g+1|0;l=g+2|0;m=g+3|0;n=g+4|0;o=g+5|0;p=g+6|0;q=g+7|0;k=0;while(1){j=0;do{t=w(d[b+(j+-3)>>0]|0,a[g>>0]|0)|0;t=(w(d[b+(j+-2)>>0]|0,a[r>>0]|0)|0)+t|0;t=(w(d[b+(j+-1)>>0]|0,a[l>>0]|0)|0)+t|0;t=(w(d[b+j>>0]|0,a[m>>0]|0)|0)+t|0;t=(w(d[b+(j+1)>>0]|0,a[n>>0]|0)|0)+t|0;t=(w(d[b+(j+2)>>0]|0,a[o>>0]|0)|0)+t|0;t=(w(d[b+(j+3)>>0]|0,a[p>>0]|0)|0)+t|0;t=(w(d[b+(j+4)>>0]|0,a[q>>0]|0)|0)+(t&65535)|0;s=(t<<16>>16)+32>>6;a[c+j>>0]=(t&65535)<<16>>16>16351?-1:((s|0)>0?s:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Te(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=w(e,-3)|0;l=g+1|0;m=w(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;r=e<<1;s=g+6|0;t=e*3|0;u=g+7|0;v=e<<2;k=0;while(1){j=0;do{z=w(d[b+(x+j)>>0]|0,a[g>>0]|0)|0;z=(w(d[b+(m+j)>>0]|0,a[l>>0]|0)|0)+z|0;z=(w(d[b+(j-e)>>0]|0,a[n>>0]|0)|0)+z|0;z=(w(d[b+j>>0]|0,a[o>>0]|0)|0)+z|0;z=(w(d[b+(j+e)>>0]|0,a[p>>0]|0)|0)+z|0;z=(w(d[b+(r+j)>>0]|0,a[q>>0]|0)|0)+z|0;z=(w(d[b+(t+j)>>0]|0,a[s>>0]|0)|0)+z|0;z=(w(d[b+(v+j)>>0]|0,a[u>>0]|0)|0)+(z&65535)|0;y=(z<<16>>16)+32>>6;a[c+j>>0]=(z&65535)<<16>>16>16351?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Ue(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if(!((h|0)>0&(i|0)>0))return;k=0;j=a;g=c;while(1){a=0;do{b[g+(a<<1)>>1]=(d[j+a>>0]|0)<<6;a=a+1|0}while((a|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{j=j+e|0;g=g+(f<<1)|0}}return}function Ve(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!((i|0)>0&(j|0)>0))return;s=h+1|0;m=h+2|0;n=h+3|0;o=h+4|0;p=h+5|0;q=h+6|0;r=h+7|0;l=0;while(1){k=0;do{t=w(d[c+(k+-3)>>0]|0,a[h>>0]|0)|0;t=(w(d[c+(k+-2)>>0]|0,a[s>>0]|0)|0)+t|0;t=(w(d[c+(k+-1)>>0]|0,a[m>>0]|0)|0)+t|0;t=(w(d[c+k>>0]|0,a[n>>0]|0)|0)+t|0;t=(w(d[c+(k+1)>>0]|0,a[o>>0]|0)|0)+t|0;t=(w(d[c+(k+2)>>0]|0,a[p>>0]|0)|0)+t|0;t=(w(d[c+(k+3)>>0]|0,a[q>>0]|0)|0)+t|0;b[e+(k<<1)>>1]=(w(d[c+(k+4)>>0]|0,a[r>>0]|0)|0)+t;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function We(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;if(!((i|0)>0&(j|0)>0))return;y=w(f,-3)|0;m=h+1|0;n=w(f,-2)|0;o=h+2|0;p=h+3|0;q=h+4|0;r=h+5|0;s=f<<1;t=h+6|0;u=f*3|0;v=h+7|0;x=f<<2;l=0;while(1){k=0;do{z=w(d[c+(y+k)>>0]|0,a[h>>0]|0)|0;z=(w(d[c+(n+k)>>0]|0,a[m>>0]|0)|0)+z|0;z=(w(d[c+(k-f)>>0]|0,a[o>>0]|0)|0)+z|0;z=(w(d[c+k>>0]|0,a[p>>0]|0)|0)+z|0;z=(w(d[c+(k+f)>>0]|0,a[q>>0]|0)|0)+z|0;z=(w(d[c+(s+k)>>0]|0,a[r>>0]|0)|0)+z|0;z=(w(d[c+(u+k)>>0]|0,a[t>>0]|0)|0)+z|0;b[e+(k<<1)>>1]=(w(d[c+(x+k)>>0]|0,a[v>>0]|0)|0)+z;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Xe(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=w(e,-3)|0;l=g+1|0;m=w(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;r=e<<1;s=g+6|0;t=e*3|0;u=g+7|0;v=e<<2;k=0;while(1){j=0;do{z=w(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;z=(w(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+z|0;z=(w(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=(w(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=(w(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=(w(b[c+(r+j<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=(w(b[c+(t+j<<1)>>1]|0,a[s>>0]|0)|0)+z|0;z=(w(b[c+(v+j<<1)>>1]|0,a[u>>0]|0)|0)+z|0;y=(z>>6)+32>>6;a[d+j>>0]=(z|0)>1046527?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function Ye(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;if(!((h|0)>0&(i|0)>0))return;x=w(e,-3)|0;l=g+1|0;m=w(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;r=e<<1;s=g+6|0;t=e*3|0;u=g+7|0;v=e<<2;k=0;while(1){j=0;do{y=w(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;y=(w(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+y|0;y=(w(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=(w(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+y|0;y=(w(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+y|0;y=(w(b[c+(r+j<<1)>>1]|0,a[q>>0]|0)|0)+y|0;y=(w(b[c+(t+j<<1)>>1]|0,a[s>>0]|0)|0)+y|0;b[d+(j<<1)>>1]=(((w(b[c+(v+j<<1)>>1]|0,a[u>>0]|0)|0)+y|0)>>>6)+57344;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Ze(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((g|0)<=0)return;j=h<<1;if((h|0)<=0)return;i=0;f=c;while(1){h=0;do{a[f+h>>0]=a[b+h>>0]|0;h=h+1|0}while((h|0)<(j|0));i=i+1|0;if((i|0)==(g|0))break;else{b=b+d|0;f=f+e|0}}return}function _e(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if((h|0)<=0)return;n=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;j=0;while(1){i=0;do{o=i|1;q=a[g>>0]|0;t=w(d[b+(i+-2)>>0]|0,q)|0;q=w(d[b+(o+-2)>>0]|0,q)|0;s=a[k>>0]|0;t=(w(d[b+i>>0]|0,s)|0)+t|0;q=(w(d[b+o>>0]|0,s)|0)+q|0;s=a[l>>0]|0;r=i;i=i+2|0;t=(w(d[b+i>>0]|0,s)|0)+t|0;q=(w(d[b+(o+2)>>0]|0,s)|0)+q|0;s=a[m>>0]|0;t=(w(d[b+(r+4)>>0]|0,s)|0)+(t&65535)|0;q=(w(d[b+(o+4)>>0]|0,s)|0)+(q&65535)|0;s=(t<<16>>16)+32>>6;p=(q<<16>>16)+32>>6;a[c+r>>0]=(t&65535)<<16>>16>16351?-1:((s|0)>0?s:0)&255;a[c+o>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255}while((i|0)<(n|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function $e(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=w(d[b+(i-e)>>0]|0,a[g>>0]|0)|0;q=(w(d[b+i>>0]|0,a[k>>0]|0)|0)+q|0;q=(w(d[b+(i+e)>>0]|0,a[l>>0]|0)|0)+q|0;q=(w(d[b+(n+i)>>0]|0,a[m>>0]|0)|0)+(q&65535)|0;p=(q<<16>>16)+32>>6;a[c+i>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function af(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((h|0)<=0)return;k=i<<1;if((i|0)<=0)return;j=0;g=c;while(1){i=0;do{b[g+(i<<1)>>1]=(d[a+i>>0]|0)<<6;i=i+1|0}while((i|0)<(k|0));j=j+1|0;if((j|0)==(h|0))break;else{a=a+e|0;g=g+(f<<1)|0}}return}function bf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if((i|0)<=0)return;o=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;k=0;while(1){j=0;do{p=j|1;q=a[h>>0]|0;s=w(d[c+(j+-2)>>0]|0,q)|0;q=w(d[c+(p+-2)>>0]|0,q)|0;t=a[l>>0]|0;s=(w(d[c+j>>0]|0,t)|0)+s|0;q=(w(d[c+p>>0]|0,t)|0)+q|0;t=a[m>>0]|0;r=j;j=j+2|0;s=(w(d[c+j>>0]|0,t)|0)+s|0;q=(w(d[c+(p+2)>>0]|0,t)|0)+q|0;t=a[n>>0]|0;s=(w(d[c+(r+4)>>0]|0,t)|0)+s|0;q=(w(d[c+(p+4)>>0]|0,t)|0)+q&65535;b[e+(r<<1)>>1]=s;b[e+(p<<1)>>1]=q}while((j|0)<(o|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function cf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((i|0)<=0)return;p=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;o=f<<1;k=0;while(1){j=0;do{q=w(d[c+(j-f)>>0]|0,a[h>>0]|0)|0;q=(w(d[c+j>>0]|0,a[l>>0]|0)|0)+q|0;q=(w(d[c+(j+f)>>0]|0,a[m>>0]|0)|0)+q|0;b[e+(j<<1)>>1]=(w(d[c+(o+j)>>0]|0,a[n>>0]|0)|0)+q;j=j+1|0}while((j|0)<(p|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function df(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=w(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;q=(w(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+q|0;q=(w(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+q|0;q=(w(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+q|0;p=(q>>6)+32>>6;a[d+i>>0]=(q|0)>1046527?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function ef(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{p=w(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;p=(w(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+p|0;p=(w(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+p|0;b[d+(i<<1)>>1]=((w(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+p|0)>>>6;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function ff(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=f<<1;a:do if((g|0)>=78796)if((g|0)<131071){switch(g|0){case 78796:break a;default:{}}O(140584,140661,147,140695)}else{switch(g|0){case 131071:break a;default:{}}O(140584,140661,147,140695)}else{switch(g|0){case 70024:break a;default:{}}O(140584,140661,147,140695)}while(0);g=f+-4|0;switch(g>>>2|g<<30|0){case 0:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(w(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(w(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;gf(h+e|0,c,f);gf(h+(e+f)|0,c+f|0,f);return}case 1:case 3:case 7:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(w(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(w(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;me(h+e|0,c,f);me(h+(e+f)|0,c+f|0,f);return}default:O(140738,140661,183,140695)}}function gf(a,b,c){a=a|0;b=b|0;c=c|0;Dn(a|0,b|0,c|0)|0;return}function hf(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0;A=Zb;Zb=Zb+32|0;s=A;j=g<<2|1;y=g<<1;x=g*3|0;if(!h){if((j|0)<=0){Zb=A;return}Fn(i|0,-128,j|0)|0;Zb=A;return}if((g|0)<9){o=h>>>16&1;l=h&8;p=h>>>7&1;q=h>>>8&1;r=h>>>12&1;u=(o|0)==0;if(u)j=0;else j=a[b>>0]|0;v=i+y|0;a[v>>0]=j;t=(p|0)==0;if(!t){if((g|0)>0){k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(w(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}}else jf(i+g|0,0,g);l=(l|0)==0;if(!l){if((y|0)>(g|0)){k=y+-1|0;j=g;do{a[i+(k-j)>>0]=a[e+(w(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else jf(i,0,g);k=(q|0)==0;j=y|1;m=i+j|0;if(k)jf(m,0,g);else gf(m,d,g);n=(r|0)==0;j=i+(j+g)|0;if(n)jf(j,0,g);else gf(j,d+g|0,g);if(l){c[s>>2]=0;c[s+4>>2]=p;c[s+8>>2]=o;c[s+12>>2]=q;c[s+16>>2]=r;if(!p){j=2;while(1)if(!(c[s+(j<<2)>>2]|0))j=j+1|0;else break}else j=1;if(j>>>0<3){j=w(j,g)|0;if((j|0)>0)Fn(i|0,a[i+j>>0]|0,j|0)|0}else{s=w(j+-1|0,g)|0;j=s+1|0;if((s|0)>=0)Fn(i|0,a[i+j>>0]|0,j|0)|0}}if(t)jf(i+g|0,a[i+(g+-1)>>0]|0,g);if(u)a[v>>0]=a[i+(y+-1)>>0]|0;if(k)jf(m,a[v>>0]|0,g);if(n)jf(i+(x+1)|0,a[i+x>>0]|0,g)}switch(g|0){case 16:{k=h&192;m=h>>>2&3|k>>>4;l=h&768;n=h&12288;o=n>>>6|l>>>4;p=h&65536;q=o|m|p>>>8;p=(p|0)==0;if(p)j=0;else j=a[b>>0]|0;a[i+y>>0]=j;if(!k)kf(i+16|0,0,16);else{a[i+(y+-1)>>0]=a[e>>0]|0;a[i+(y+-2)>>0]=a[e+f>>0]|0;a[i+(y+-3)>>0]=a[e+(f<<1)>>0]|0;a[i+(y+-4)>>0]=a[e+(f*3|0)>>0]|0;a[i+(y+-5)>>0]=a[e+(f<<2)>>0]|0;a[i+(y+-6)>>0]=a[e+(f*5|0)>>0]|0;a[i+(y+-7)>>0]=a[e+(f*6|0)>>0]|0;a[i+(y+-8)>>0]=a[e+(f*7|0)>>0]|0;a[i+(y+-9)>>0]=a[e+(f<<3)>>0]|0;a[i+(y+-10)>>0]=a[e+(f*9|0)>>0]|0;a[i+(y+-11)>>0]=a[e+(f*10|0)>>0]|0;a[i+(y+-12)>>0]=a[e+(f*11|0)>>0]|0;a[i+(y+-13)>>0]=a[e+(f*12|0)>>0]|0;a[i+(y+-14)>>0]=a[e+(f*13|0)>>0]|0;a[i+(y+-15)>>0]=a[e+(f*14|0)>>0]|0;a[i+(y+-16)>>0]=a[e+(f*15|0)>>0]|0}if(!(h&8))kf(i+8|0,0,8);else{a[i+(y+-17)>>0]=a[e+(f<<4)>>0]|0;a[i+(y+-18)>>0]=a[e+(f*17|0)>>0]|0;a[i+(y+-19)>>0]=a[e+(f*18|0)>>0]|0;a[i+(y+-20)>>0]=a[e+(f*19|0)>>0]|0;a[i+(y+-21)>>0]=a[e+(f*20|0)>>0]|0;a[i+(y+-22)>>0]=a[e+(f*21|0)>>0]|0;a[i+(y+-23)>>0]=a[e+(f*22|0)>>0]|0;a[i+(y+-24)>>0]=a[e+(f*23|0)>>0]|0}if(h&4){if((g|0)>12){k=y+-1|0;j=24;do{a[i+(k-j)>>0]=a[e+(w(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else kf(i,0,8);j=y|1;k=i+j|0;if(!l)kf(k,0,16);else me(k,d,16);j=i+(j+16)|0;if(!n)kf(j,0,16);else me(j,d+16|0,16);j=(xn(m|0)|0)<<3;j=(m|0)==0?64:j;j=(j|0)==64?32:j;if(!(p&(j|0)==32))if(!j)j=0;else z=64;else{j=((xn(o>>>4|0)|0)<<3)+33|0;j=(o|0)==0?97:j;z=64}if((z|0)==64){z=~j;z=(z|0)>-2?z:-2;Fn(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=65){Zb=A;return}}if(!p){do{k=(j|0)==32;if(!k?(1<<(j>>3)&q|0)==0:0)kf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<65);Zb=A;return}l=i+32|0;m=i+31|0;do{k=(j|0)==32;if(!k){if(!(1<<(j>>3)&q))kf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<65);Zb=A;return}case 32:{l=h&65536;m=(l|0)!=0;if(m)j=a[b>>0]|0;else j=0;a[i+y>>0]=j;if(!(h&240))kf(i+g|0,0,g);else{k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(w(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}if(!(h&8))kf(i+24|0,0,8);else{x=y+-1|0;a[i+(x-g)>>0]=a[e+(w(g,f)|0)>>0]|0;b=g+1|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+2|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+3|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+4|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+5|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+6|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+7|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0}if(!(h&4))kf(i+16|0,0,8);else{b=g+8|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+9|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+10|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+11|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+12|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+13|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+14|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+15|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0}if(!(h&2))kf(i+8|0,0,8);else{b=g+16|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+17|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+18|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+19|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+20|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+21|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+22|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0;b=g+23|0;a[i+(x-b)>>0]=a[e+(w(b,f)|0)>>0]|0}if(h&1){j=g+24|0;if((j|0)<(y|0)){k=y+-1|0;do{a[i+(k-j)>>0]=a[e+(w(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else kf(i,0,8);j=y|1;k=i+j|0;if(!(h&3840))kf(k,0,g);else me(k,d,g);j=i+(j+g)|0;if(!(h&61440))kf(j,0,g);else me(j,d+g|0,g);d=h&255;j=(xn(d|0)|0)<<3;j=(d|0)==0?64:j;if(!((l|0)==0&(j|0)==64))if(!j)j=0;else z=106;else{z=h>>>8&255;j=((xn(z|0)|0)<<3)+65|0;j=(z|0)==0?129:j;z=106}if((z|0)==106){z=~j;z=(z|0)>-2?z:-2;Fn(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=129){Zb=A;return}}if(m){do{k=(j|0)==64;if(!k?(1<<(j>>3)&h|0)==0:0)kf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<129);Zb=A;return}l=i+64|0;m=i+63|0;do{k=(j|0)==64;if(!k){if(!(1<<(j>>3)&h))kf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<129);Zb=A;return}default:{Zb=A;return}}}function jf(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a|0,b|0,c|0)|0;return}function kf(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a|0,b|0,c|0)|0;return} |
| | | function Wk(e,g,i){e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,s=0,t=0,u=0,v=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0;Na=Zb;Zb=Zb+25088|0;ga=Na+20736|0;Ea=Na+16384|0;La=Na+8192|0;Ma=Na;Fn(La|0,0,8192)|0;Fn(Ma|0,0,8192)|0;P=e+718|0;Ka=e+9|0;if(a[P>>0]|0)if(a[Ka>>0]|0){v=e+3|0;x=e+38|0;z=e+72|0;j=e+106|0;k=e+123|0;A=e+5|0;B=e+1|0;C=e+7|0;H=e+4|0;I=e+26|0;J=e+6|0;u=0;t=0;while(1){Ia=a[v>>0]|0;l=(Ia&255)<3?7:15;Ja=u<<24>>24==0;m=t+-1|0;q=Ja?j:e+480+(m*17|0)|0;s=Ja?k:e+565+(m*17|0)|0;Xk(a[e>>0]|0,e+140+(t*34|0)|0,Ja?x:e+140+(m*34|0)|0,a[e+16+t>>0]|0,a[A>>0]|0,Ia<<24>>24==0|Ia<<24>>24==3?2:1,0-(l&255)&255,l);l=a[H>>0]|0;Xk(a[B>>0]|0,e+310+(t*34|0)|0,Ja?z:e+310+(m*34|0)|0,a[e+21+t>>0]|0,a[C>>0]|0,l<<24>>24==0|l<<24>>24==3?2:1,0,7);l=e+480+(t*17|0)|0;m=a[J>>0]|0;do if((a[I>>0]|0)==1)if(!(a[e+28+t>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else{ea=13;break}do{Ja=e+480+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+480+(t*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(!(m<<24>>24)){ea=13;break}else{l=0;m=0}do{Ja=e+480+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[q+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(m<<24>>24){l=0;m=0;do{a[e+480+(t*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}}while(0);a:do if((ea|0)==13){ea=0;m=a[J>>0]|0;l=e+565+(t*17|0)|0;if((a[I>>0]|0)!=1){n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}while(1){a[e+565+(t*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24;if((m|0)>=(n|0))break a}}if(!(a[e+33+t>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else break;do{Ja=e+565+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+565+(t*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}else{n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}do{Ja=e+565+(t*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[s+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}}while(0);m=u+1<<24>>24;l=a[Ka>>0]|0;if((m&255)<(l&255)){u=m;t=m&255}else break}if(!(l<<24>>24))ea=24}else ea=24;else{a[Ka>>0]=0;ea=24}do if((ea|0)==24){a[Ka>>0]=1;if(!(a[e>>0]|0)){n=e+140|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+140>>0]=a[e+38>>0]|0;a[e+141>>0]=a[e+39>>0]|0;a[e+142>>0]=a[e+40>>0]|0;a[e+143>>0]=a[e+41>>0]|0;a[e+144>>0]=a[e+42>>0]|0;a[e+145>>0]=a[e+43>>0]|0;a[e+146>>0]=a[e+44>>0]|0;a[e+147>>0]=a[e+45>>0]|0;a[e+148>>0]=a[e+46>>0]|0;a[e+149>>0]=a[e+47>>0]|0;a[e+150>>0]=a[e+48>>0]|0;a[e+151>>0]=a[e+49>>0]|0;a[e+152>>0]=a[e+50>>0]|0;a[e+153>>0]=a[e+51>>0]|0;a[e+154>>0]=a[e+52>>0]|0;a[e+155>>0]=a[e+53>>0]|0;a[e+156>>0]=a[e+54>>0]|0;a[e+157>>0]=a[e+55>>0]|0;a[e+158>>0]=a[e+56>>0]|0;a[e+159>>0]=a[e+57>>0]|0;a[e+160>>0]=a[e+58>>0]|0;a[e+161>>0]=a[e+59>>0]|0;a[e+162>>0]=a[e+60>>0]|0;a[e+163>>0]=a[e+61>>0]|0;a[e+164>>0]=a[e+62>>0]|0;a[e+165>>0]=a[e+63>>0]|0;a[e+166>>0]=a[e+64>>0]|0;a[e+167>>0]=a[e+65>>0]|0;a[e+168>>0]=a[e+66>>0]|0;a[e+169>>0]=a[e+67>>0]|0;a[e+170>>0]=a[e+68>>0]|0;a[e+171>>0]=a[e+69>>0]|0;a[e+172>>0]=a[e+70>>0]|0;a[e+173>>0]=a[e+71>>0]|0}if(!(a[e+1>>0]|0)){n=e+310|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+310>>0]=a[e+72>>0]|0;a[e+311>>0]=a[e+73>>0]|0;a[e+312>>0]=a[e+74>>0]|0;a[e+313>>0]=a[e+75>>0]|0;a[e+314>>0]=a[e+76>>0]|0;a[e+315>>0]=a[e+77>>0]|0;a[e+316>>0]=a[e+78>>0]|0;a[e+317>>0]=a[e+79>>0]|0;a[e+318>>0]=a[e+80>>0]|0;a[e+319>>0]=a[e+81>>0]|0;a[e+320>>0]=a[e+82>>0]|0;a[e+321>>0]=a[e+83>>0]|0;a[e+322>>0]=a[e+84>>0]|0;a[e+323>>0]=a[e+85>>0]|0;a[e+324>>0]=a[e+86>>0]|0;a[e+325>>0]=a[e+87>>0]|0;a[e+326>>0]=a[e+88>>0]|0;a[e+327>>0]=a[e+89>>0]|0;a[e+328>>0]=a[e+90>>0]|0;a[e+329>>0]=a[e+91>>0]|0;a[e+330>>0]=a[e+92>>0]|0;a[e+331>>0]=a[e+93>>0]|0;a[e+332>>0]=a[e+94>>0]|0;a[e+333>>0]=a[e+95>>0]|0;a[e+334>>0]=a[e+96>>0]|0;a[e+335>>0]=a[e+97>>0]|0;a[e+336>>0]=a[e+98>>0]|0;a[e+337>>0]=a[e+99>>0]|0;a[e+338>>0]=a[e+100>>0]|0;a[e+339>>0]=a[e+101>>0]|0;a[e+340>>0]=a[e+102>>0]|0;a[e+341>>0]=a[e+103>>0]|0;a[e+342>>0]=a[e+104>>0]|0;a[e+343>>0]=a[e+105>>0]|0}if(!(a[e+26>>0]|0)){j=e+565|0;n=e+480|0;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));n=j;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));k=e+123|0;j=e+106|0;break}else{j=e+106|0;a[e+480>>0]=a[j>>0]|0;k=e+123|0;a[e+565>>0]=a[k>>0]|0;a[e+481>>0]=a[e+107>>0]|0;a[e+566>>0]=a[e+124>>0]|0;a[e+482>>0]=a[e+108>>0]|0;a[e+567>>0]=a[e+125>>0]|0;a[e+483>>0]=a[e+109>>0]|0;a[e+568>>0]=a[e+126>>0]|0;a[e+484>>0]=a[e+110>>0]|0;a[e+569>>0]=a[e+127>>0]|0;a[e+485>>0]=a[e+111>>0]|0;a[e+570>>0]=a[e+128>>0]|0;a[e+486>>0]=a[e+112>>0]|0;a[e+571>>0]=a[e+129>>0]|0;a[e+487>>0]=a[e+113>>0]|0;a[e+572>>0]=a[e+130>>0]|0;a[e+488>>0]=a[e+114>>0]|0;a[e+573>>0]=a[e+131>>0]|0;a[e+489>>0]=a[e+115>>0]|0;a[e+574>>0]=a[e+132>>0]|0;a[e+490>>0]=a[e+116>>0]|0;a[e+575>>0]=a[e+133>>0]|0;a[e+491>>0]=a[e+117>>0]|0;a[e+576>>0]=a[e+134>>0]|0;a[e+492>>0]=a[e+118>>0]|0;a[e+577>>0]=a[e+135>>0]|0;a[e+493>>0]=a[e+119>>0]|0;a[e+578>>0]=a[e+136>>0]|0;a[e+494>>0]=a[e+120>>0]|0;a[e+579>>0]=a[e+137>>0]|0;a[e+495>>0]=a[e+121>>0]|0;a[e+580>>0]=a[e+138>>0]|0;a[e+496>>0]=a[e+122>>0]|0;a[e+581>>0]=a[e+139>>0]|0;break}}while(0);Ja=(d[Ka>>0]|0)+-1|0;a[e+38>>0]=a[e+140+(Ja*34|0)>>0]|0;a[e+39>>0]=a[e+140+(Ja*34|0)+1>>0]|0;a[e+40>>0]=a[e+140+(Ja*34|0)+2>>0]|0;a[e+41>>0]=a[e+140+(Ja*34|0)+3>>0]|0;a[e+42>>0]=a[e+140+(Ja*34|0)+4>>0]|0;a[e+43>>0]=a[e+140+(Ja*34|0)+5>>0]|0;a[e+44>>0]=a[e+140+(Ja*34|0)+6>>0]|0;a[e+45>>0]=a[e+140+(Ja*34|0)+7>>0]|0;a[e+46>>0]=a[e+140+(Ja*34|0)+8>>0]|0;a[e+47>>0]=a[e+140+(Ja*34|0)+9>>0]|0;a[e+48>>0]=a[e+140+(Ja*34|0)+10>>0]|0;a[e+49>>0]=a[e+140+(Ja*34|0)+11>>0]|0;a[e+50>>0]=a[e+140+(Ja*34|0)+12>>0]|0;a[e+51>>0]=a[e+140+(Ja*34|0)+13>>0]|0;a[e+52>>0]=a[e+140+(Ja*34|0)+14>>0]|0;a[e+53>>0]=a[e+140+(Ja*34|0)+15>>0]|0;a[e+54>>0]=a[e+140+(Ja*34|0)+16>>0]|0;a[e+55>>0]=a[e+140+(Ja*34|0)+17>>0]|0;a[e+56>>0]=a[e+140+(Ja*34|0)+18>>0]|0;a[e+57>>0]=a[e+140+(Ja*34|0)+19>>0]|0;a[e+58>>0]=a[e+140+(Ja*34|0)+20>>0]|0;a[e+59>>0]=a[e+140+(Ja*34|0)+21>>0]|0;a[e+60>>0]=a[e+140+(Ja*34|0)+22>>0]|0;a[e+61>>0]=a[e+140+(Ja*34|0)+23>>0]|0;a[e+62>>0]=a[e+140+(Ja*34|0)+24>>0]|0;a[e+63>>0]=a[e+140+(Ja*34|0)+25>>0]|0;a[e+64>>0]=a[e+140+(Ja*34|0)+26>>0]|0;a[e+65>>0]=a[e+140+(Ja*34|0)+27>>0]|0;a[e+66>>0]=a[e+140+(Ja*34|0)+28>>0]|0;a[e+67>>0]=a[e+140+(Ja*34|0)+29>>0]|0;a[e+68>>0]=a[e+140+(Ja*34|0)+30>>0]|0;a[e+69>>0]=a[e+140+(Ja*34|0)+31>>0]|0;a[e+70>>0]=a[e+140+(Ja*34|0)+32>>0]|0;a[e+71>>0]=a[e+140+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[e+72>>0]=a[e+310+(Ja*34|0)>>0]|0;a[e+73>>0]=a[e+310+(Ja*34|0)+1>>0]|0;a[e+74>>0]=a[e+310+(Ja*34|0)+2>>0]|0;a[e+75>>0]=a[e+310+(Ja*34|0)+3>>0]|0;a[e+76>>0]=a[e+310+(Ja*34|0)+4>>0]|0;a[e+77>>0]=a[e+310+(Ja*34|0)+5>>0]|0;a[e+78>>0]=a[e+310+(Ja*34|0)+6>>0]|0;a[e+79>>0]=a[e+310+(Ja*34|0)+7>>0]|0;a[e+80>>0]=a[e+310+(Ja*34|0)+8>>0]|0;a[e+81>>0]=a[e+310+(Ja*34|0)+9>>0]|0;a[e+82>>0]=a[e+310+(Ja*34|0)+10>>0]|0;a[e+83>>0]=a[e+310+(Ja*34|0)+11>>0]|0;a[e+84>>0]=a[e+310+(Ja*34|0)+12>>0]|0;a[e+85>>0]=a[e+310+(Ja*34|0)+13>>0]|0;a[e+86>>0]=a[e+310+(Ja*34|0)+14>>0]|0;a[e+87>>0]=a[e+310+(Ja*34|0)+15>>0]|0;a[e+88>>0]=a[e+310+(Ja*34|0)+16>>0]|0;a[e+89>>0]=a[e+310+(Ja*34|0)+17>>0]|0;a[e+90>>0]=a[e+310+(Ja*34|0)+18>>0]|0;a[e+91>>0]=a[e+310+(Ja*34|0)+19>>0]|0;a[e+92>>0]=a[e+310+(Ja*34|0)+20>>0]|0;a[e+93>>0]=a[e+310+(Ja*34|0)+21>>0]|0;a[e+94>>0]=a[e+310+(Ja*34|0)+22>>0]|0;a[e+95>>0]=a[e+310+(Ja*34|0)+23>>0]|0;a[e+96>>0]=a[e+310+(Ja*34|0)+24>>0]|0;a[e+97>>0]=a[e+310+(Ja*34|0)+25>>0]|0;a[e+98>>0]=a[e+310+(Ja*34|0)+26>>0]|0;a[e+99>>0]=a[e+310+(Ja*34|0)+27>>0]|0;a[e+100>>0]=a[e+310+(Ja*34|0)+28>>0]|0;a[e+101>>0]=a[e+310+(Ja*34|0)+29>>0]|0;a[e+102>>0]=a[e+310+(Ja*34|0)+30>>0]|0;a[e+103>>0]=a[e+310+(Ja*34|0)+31>>0]|0;a[e+104>>0]=a[e+310+(Ja*34|0)+32>>0]|0;a[e+105>>0]=a[e+310+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[j>>0]=a[e+480+(Ja*17|0)>>0]|0;a[k>>0]=a[e+565+(Ja*17|0)>>0]|0;a[e+107>>0]=a[e+480+(Ja*17|0)+1>>0]|0;a[e+124>>0]=a[e+565+(Ja*17|0)+1>>0]|0;a[e+108>>0]=a[e+480+(Ja*17|0)+2>>0]|0;a[e+125>>0]=a[e+565+(Ja*17|0)+2>>0]|0;a[e+109>>0]=a[e+480+(Ja*17|0)+3>>0]|0;a[e+126>>0]=a[e+565+(Ja*17|0)+3>>0]|0;a[e+110>>0]=a[e+480+(Ja*17|0)+4>>0]|0;a[e+127>>0]=a[e+565+(Ja*17|0)+4>>0]|0;a[e+111>>0]=a[e+480+(Ja*17|0)+5>>0]|0;a[e+128>>0]=a[e+565+(Ja*17|0)+5>>0]|0;a[e+112>>0]=a[e+480+(Ja*17|0)+6>>0]|0;a[e+129>>0]=a[e+565+(Ja*17|0)+6>>0]|0;a[e+113>>0]=a[e+480+(Ja*17|0)+7>>0]|0;a[e+130>>0]=a[e+565+(Ja*17|0)+7>>0]|0;a[e+114>>0]=a[e+480+(Ja*17|0)+8>>0]|0;a[e+131>>0]=a[e+565+(Ja*17|0)+8>>0]|0;a[e+115>>0]=a[e+480+(Ja*17|0)+9>>0]|0;a[e+132>>0]=a[e+565+(Ja*17|0)+9>>0]|0;a[e+116>>0]=a[e+480+(Ja*17|0)+10>>0]|0;a[e+133>>0]=a[e+565+(Ja*17|0)+10>>0]|0;a[e+117>>0]=a[e+480+(Ja*17|0)+11>>0]|0;a[e+134>>0]=a[e+565+(Ja*17|0)+11>>0]|0;a[e+118>>0]=a[e+480+(Ja*17|0)+12>>0]|0;a[e+135>>0]=a[e+565+(Ja*17|0)+12>>0]|0;a[e+119>>0]=a[e+480+(Ja*17|0)+13>>0]|0;a[e+136>>0]=a[e+565+(Ja*17|0)+13>>0]|0;a[e+120>>0]=a[e+480+(Ja*17|0)+14>>0]|0;a[e+137>>0]=a[e+565+(Ja*17|0)+14>>0]|0;a[e+121>>0]=a[e+480+(Ja*17|0)+15>>0]|0;a[e+138>>0]=a[e+565+(Ja*17|0)+15>>0]|0;a[e+122>>0]=a[e+480+(Ja*17|0)+16>>0]|0;a[e+139>>0]=a[e+565+(Ja*17|0)+16>>0]|0;a[P>>0]=0;Ja=(a[e+8>>0]|0)==0;Ca=e+10|0;a[Ca>>0]=0;k=a[Ka>>0]|0;m=k&255;if(!Ja){q=e+725|0;if((d[e+10+m>>0]|0)<(d[q>>0]|0)){j=m+-1|0;k=0;do{a[e+140+(m*34|0)+k>>0]=a[e+140+(j*34|0)+k>>0]|0;a[e+310+(m*34|0)+k>>0]=a[e+310+(j*34|0)+k>>0]|0;k=k+1|0}while((k|0)!=34);j=a[Ka>>0]|0;Ja=j&255;Ia=Ja+-1|0;a[e+480+(Ja*17|0)>>0]=a[e+480+(Ia*17|0)>>0]|0;a[e+565+(Ja*17|0)>>0]=a[e+565+(Ia*17|0)>>0]|0;a[e+480+(Ja*17|0)+1>>0]=a[e+480+(Ia*17|0)+1>>0]|0;a[e+565+(Ja*17|0)+1>>0]=a[e+565+(Ia*17|0)+1>>0]|0;a[e+480+(Ja*17|0)+2>>0]=a[e+480+(Ia*17|0)+2>>0]|0;a[e+565+(Ja*17|0)+2>>0]=a[e+565+(Ia*17|0)+2>>0]|0;a[e+480+(Ja*17|0)+3>>0]=a[e+480+(Ia*17|0)+3>>0]|0;a[e+565+(Ja*17|0)+3>>0]=a[e+565+(Ia*17|0)+3>>0]|0;a[e+480+(Ja*17|0)+4>>0]=a[e+480+(Ia*17|0)+4>>0]|0;a[e+565+(Ja*17|0)+4>>0]=a[e+565+(Ia*17|0)+4>>0]|0;a[e+480+(Ja*17|0)+5>>0]=a[e+480+(Ia*17|0)+5>>0]|0;a[e+565+(Ja*17|0)+5>>0]=a[e+565+(Ia*17|0)+5>>0]|0;a[e+480+(Ja*17|0)+6>>0]=a[e+480+(Ia*17|0)+6>>0]|0;a[e+565+(Ja*17|0)+6>>0]=a[e+565+(Ia*17|0)+6>>0]|0;a[e+480+(Ja*17|0)+7>>0]=a[e+480+(Ia*17|0)+7>>0]|0;a[e+565+(Ja*17|0)+7>>0]=a[e+565+(Ia*17|0)+7>>0]|0;a[e+480+(Ja*17|0)+8>>0]=a[e+480+(Ia*17|0)+8>>0]|0;a[e+565+(Ja*17|0)+8>>0]=a[e+565+(Ia*17|0)+8>>0]|0;a[e+480+(Ja*17|0)+9>>0]=a[e+480+(Ia*17|0)+9>>0]|0;a[e+565+(Ja*17|0)+9>>0]=a[e+565+(Ia*17|0)+9>>0]|0;a[e+480+(Ja*17|0)+10>>0]=a[e+480+(Ia*17|0)+10>>0]|0;a[e+565+(Ja*17|0)+10>>0]=a[e+565+(Ia*17|0)+10>>0]|0;a[e+480+(Ja*17|0)+11>>0]=a[e+480+(Ia*17|0)+11>>0]|0;a[e+565+(Ja*17|0)+11>>0]=a[e+565+(Ia*17|0)+11>>0]|0;a[e+480+(Ja*17|0)+12>>0]=a[e+480+(Ia*17|0)+12>>0]|0;a[e+565+(Ja*17|0)+12>>0]=a[e+565+(Ia*17|0)+12>>0]|0;a[e+480+(Ja*17|0)+13>>0]=a[e+480+(Ia*17|0)+13>>0]|0;a[e+565+(Ja*17|0)+13>>0]=a[e+565+(Ia*17|0)+13>>0]|0;a[e+480+(Ja*17|0)+14>>0]=a[e+480+(Ia*17|0)+14>>0]|0;a[e+565+(Ja*17|0)+14>>0]=a[e+565+(Ia*17|0)+14>>0]|0;a[e+480+(Ja*17|0)+15>>0]=a[e+480+(Ia*17|0)+15>>0]|0;a[e+565+(Ja*17|0)+15>>0]=a[e+565+(Ia*17|0)+15>>0]|0;a[e+480+(Ja*17|0)+16>>0]=a[e+480+(Ia*17|0)+16>>0]|0;a[e+565+(Ja*17|0)+16>>0]=a[e+565+(Ia*17|0)+16>>0]|0;j=j+1<<24>>24;a[Ka>>0]=j;a[(j&255)+(e+10)>>0]=a[q>>0]|0}else j=k;if((j&255)>1){l=j&255;n=1;do{j=n-l+(d[q>>0]|0)|0;m=e+10+n|0;k=d[m>>0]|0;if((j<<24>>24|0)>=(k|0)){j=(d[n+-1+(e+10)>>0]|0)+1|0;if((j<<24>>24|0)>(k|0))ea=45}else ea=45;if((ea|0)==45){ea=0;a[m>>0]=j}n=n+1|0}while((n|0)!=(l|0))}}else{l=e+725|0;j=a[l>>0]|0;if((k&255)>1?(a[e+11>>0]=(j&255)/(k&255)|0,k<<24>>24!=2):0){k=2;do{a[e+10+k>>0]=((w(k,j&255)|0)>>>0)/(m>>>0)|0;k=k+1|0;j=a[l>>0]|0}while(k>>>0<m>>>0)}a[e+10+m>>0]=j}Ja=e+724|0;j=a[Ja>>0]|0;do if(!(j<<24>>24)){t=3;s=20;q=10;n=22;m=138800;l=154438;k=e+732|0;j=0}else{k=a[Ka>>0]|0;if(k<<24>>24){m=e+4|0;n=e+27|0;l=a[e+3>>0]|0;k=k&255;b:do if(l<<24>>24==2){j=0;while(1){switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}else{j=0;while(1){switch(l<<24>>24){case 5:case 2:break;default:{Ia=e+140+(j*34|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+140+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;Fn(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}while(0);j=a[Ja>>0]|0;k=e+732|0;if(!(j<<24>>24)){t=3;s=20;q=10;n=22;m=138800;l=154438;j=0;break}}else k=e+732|0;t=5;s=34;q=32;n=50;m=138700;l=154387}while(0);c[k>>2]=l;Ia=e+736|0;c[Ia>>2]=m;Ha=e+726|0;a[Ha>>0]=n;Ga=e+727|0;a[Ga>>0]=q;fa=e+728|0;a[fa>>0]=s;Ba=e+730|0;a[Ba>>0]=t;Fa=e+720|0;z=c[Fa>>2]|0;A=a[e+725>>0]|0;P=j<<24>>24!=0;B=P?z+4|0:z+1|0;C=P?5:3;H=z+12|0;I=z+16|0;J=z+20|0;P=P?128560:128588;_=P+24|0;$=P+20|0;aa=P+16|0;ba=P+4|0;ca=P+12|0;da=P+8|0;t=0;x=0;s=0;while(1){n=c[H>>2]|0;l=c[(c[I>>2]|0)+(s<<2)>>2]|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));l=a[z>>0]|0;q=c[H>>2]|0;if(!(l<<24>>24))l=0;else{m=l&255;n=0;do{va=n+6|0;Aa=n+12|0;c[q+(Aa<<3)>>2]=c[g+(va<<9)+(s<<3)>>2];c[q+(Aa<<3)+4>>2]=c[g+(va<<9)+(s<<3)+4>>2];n=n+1|0}while((n|0)!=(m|0))}n=c[(c[I>>2]|0)+(s<<2)>>2]|0;l=q+((l&255)<<3)|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));v=B+s|0;l=a[v>>0]|0;Aa=(l&255)+-2|0;switch(Aa>>>1|Aa<<31|0){case 0:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ja=l+12|0;T=(+f[n+(l<<3)>>2]+ +f[n+(ja<<3)>>2])*0.0;Aa=l;l=l+1|0;ka=Aa+11|0;U=(+f[n+(l<<3)>>2]+ +f[n+(ka<<3)>>2])*.018994875252246857;la=Aa+2|0;ma=Aa+10|0;V=(+f[n+(la<<3)>>2]+ +f[n+(ma<<3)>>2])*0.0;pa=Aa+3|0;qa=Aa+9|0;W=(+f[n+(pa<<3)>>2]+ +f[n+(qa<<3)>>2])*-.07293139398097992;ra=Aa+4|0;sa=Aa+8|0;X=(+f[n+(ra<<3)>>2]+ +f[n+(sa<<3)>>2])*0.0;ta=Aa+5|0;ua=Aa+7|0;Y=(+f[n+(ta<<3)>>2]+ +f[n+(ua<<3)>>2])*.305966317653656;va=Aa+6|0;S=+f[n+(va<<3)>>2]*.5;na=(+f[n+(Aa<<3)+4>>2]+ +f[n+(ja<<3)+4>>2])*0.0;oa=(+f[n+(l<<3)+4>>2]+ +f[n+(ka<<3)+4>>2])*.018994875252246857;wa=(+f[n+(la<<3)+4>>2]+ +f[n+(ma<<3)+4>>2])*0.0;xa=(+f[n+(pa<<3)+4>>2]+ +f[n+(qa<<3)+4>>2])*-.07293139398097992;ya=(+f[n+(ra<<3)+4>>2]+ +f[n+(sa<<3)+4>>2])*0.0;za=(+f[n+(ta<<3)+4>>2]+ +f[n+(ua<<3)+4>>2])*.305966317653656;Z=+f[n+(va<<3)+4>>2]*.5;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=S+(T+U+V+W+X+Y);f[Aa+4>>2]=Z+(na+oa+wa+xa+ya+za);f[Aa+8>>2]=S+(T-U+V-W+X-Y);f[Aa+12>>2]=Z+(na-oa+wa-xa+ya-za)}while((l|0)!=(m|0));ea=83}break}case 1:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ua=l+2|0;va=l+10|0;ta=l+6|0;X=+f[n+(ta<<3)>>2]*.25-(+f[n+(ua<<3)>>2]+ +f[n+(va<<3)>>2])*0.0;Aa=l;l=l+1|0;O=+f[n+(l<<3)>>2];ja=Aa+11|0;Q=+f[n+(ja<<3)>>2];ka=Aa+3|0;R=+f[n+(ka<<3)>>2];la=Aa+9|0;S=+f[n+(la<<3)>>2];ma=Aa+5|0;za=+f[n+(ma<<3)>>2];pa=Aa+7|0;xa=+f[n+(pa<<3)>>2];Y=((R+S)*.07778724282979965-(O+Q)*.04871498420834541-(za+xa)*.23279856145381927)*-.7071067690849304;qa=Aa+12|0;ra=Aa+4|0;sa=Aa+8|0;na=(+f[n+(Aa<<3)+4>>2]-+f[n+(qa<<3)+4>>2])*-.059082113206386566-(+f[n+(ra<<3)+4>>2]-+f[n+(sa<<3)+4>>2])*.16486303508281708;V=+f[n+(l<<3)+4>>2];W=+f[n+(ja<<3)+4>>2];T=+f[n+(ka<<3)+4>>2];U=+f[n+(la<<3)+4>>2];Z=+f[n+(ma<<3)+4>>2];wa=+f[n+(pa<<3)+4>>2];oa=((V-W)*-.04871498420834541-(T-U)*.07778724282979965-(Z-wa)*.23279856145381927)*.7071067690849304;ya=(+f[n+(Aa<<3)>>2]-+f[n+(qa<<3)>>2])*-.059082113206386566-(+f[n+(ra<<3)>>2]-+f[n+(sa<<3)>>2])*.16486303508281708;xa=((O-Q)*-.04871498420834541-(R-S)*.07778724282979965-(za-xa)*.23279856145381927)*.7071067690849304;za=+f[n+(ta<<3)+4>>2]*.25-(+f[n+(ua<<3)+4>>2]+ +f[n+(va<<3)+4>>2])*0.0;wa=((T+U)*.07778724282979965-(V+W)*.04871498420834541-(Z+wa)*.23279856145381927)*-.7071067690849304;Z=X+Y;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=Z+na+oa;f[Aa+4>>2]=wa+(-ya-xa+za);Y=X-Y;f[Aa+8>>2]=Y-na+oa;f[Aa+12>>2]=ya-xa+za-wa;f[Aa+16>>2]=Y+na-oa;f[Aa+20>>2]=xa-ya+za-wa;f[Aa+24>>2]=Z-na-oa;f[Aa+28>>2]=wa+(xa+ya+za)}while((l|0)!=(m|0));ea=83}break}case 3:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;o=+f[_>>2];p=+f[$>>2];y=+f[P>>2];D=+f[aa>>2];E=+f[ba>>2];F=+f[ca>>2];G=+f[da>>2];l=0;do{Ua=l+6|0;ya=o*+f[n+(Ua<<3)>>2];Ta=l+5|0;ja=n+(Ta<<3)|0;Sa=l+7|0;ia=n+(Sa<<3)|0;xa=p*(+f[ja>>2]+ +f[ia>>2]);la=n+(l<<3)|0;Oa=l+12|0;ka=n+(Oa<<3)|0;Ra=l+4|0;pa=n+(Ra<<3)|0;Qa=l+8|0;ma=n+(Qa<<3)|0;na=D*(+f[pa>>2]+ +f[ma>>2])-y*(+f[la>>2]+ +f[ka>>2]);Aa=l;l=l+1|0;ra=n+(l<<3)|0;ha=Aa+11|0;qa=n+(ha<<3)|0;s=Aa+3|0;ta=n+(s<<3)|0;u=Aa+9|0;sa=n+(u<<3)|0;za=F*(+f[ta>>2]+ +f[sa>>2])-E*(+f[ra>>2]+ +f[qa>>2]);Sa=n+(Sa<<3)+4|0;Ta=n+(Ta<<3)+4|0;oa=p*(+f[Sa>>2]-+f[Ta>>2]);Oa=n+(Oa<<3)+4|0;Pa=n+(Aa<<3)+4|0;Qa=n+(Qa<<3)+4|0;Ra=n+(Ra<<3)+4|0;Y=y*(+f[Oa>>2]-+f[Pa>>2])+D*(+f[Qa>>2]-+f[Ra>>2]);ha=n+(ha<<3)+4|0;ea=n+(l<<3)+4|0;u=n+(u<<3)+4|0;s=n+(s<<3)+4|0;wa=E*(+f[ha>>2]-+f[ea>>2])+F*(+f[u>>2]-+f[s>>2]);ua=Aa+10|0;va=Aa+2|0;Z=G*(+f[n+(ua<<3)+4>>2]-+f[n+(va<<3)+4>>2]);V=ya-Z;U=xa-wa;W=za-oa;T=(na-Y)*.7071067690849304;X=V-T;V=T+V;T=(W+U)*-.9238795042037964;U=U*1.3065630197525024+T;T=W*-.5411961078643799-T;Aa=q+(Aa<<2)|0;Va=c[Aa>>2]|0;f[Va+56>>2]=V+T;f[Va+40>>2]=X-U;f[Va+24>>2]=V-T;f[Va+8>>2]=X+U;Z=ya+Z;wa=xa+wa;oa=za+oa;Y=(na+Y)*.7071067690849304;na=Z-Y;Z=Y+Z;Y=(oa+wa)*-.9238795042037964;wa=wa*1.3065630197525024+Y;Y=oa*-.5411961078643799-Y;f[Va+48>>2]=na+wa;f[Va+32>>2]=Z-Y;f[Va+16>>2]=na-wa;f[Va>>2]=Z+Y;Y=o*+f[n+(Ua<<3)+4>>2];Z=p*(+f[Ta>>2]+ +f[Sa>>2]);wa=D*(+f[Ra>>2]+ +f[Qa>>2])-y*(+f[Pa>>2]+ +f[Oa>>2]);na=F*(+f[s>>2]+ +f[u>>2])-E*(+f[ea>>2]+ +f[ha>>2]);oa=p*(+f[ia>>2]-+f[ja>>2]);za=y*(+f[ka>>2]-+f[la>>2])+D*(+f[ma>>2]-+f[pa>>2]);xa=E*(+f[qa>>2]-+f[ra>>2])+F*(+f[sa>>2]-+f[ta>>2]);ya=G*(+f[n+(ua<<3)>>2]-+f[n+(va<<3)>>2]);U=Y+ya;X=Z+xa;T=na+oa;V=(wa+za)*.7071067690849304;W=U-V;U=V+U;V=(T+X)*-.9238795042037964;X=X*1.3065630197525024+V;V=T*-.5411961078643799-V;Aa=c[Aa>>2]|0;f[Aa+60>>2]=U+V;f[Aa+44>>2]=W-X;f[Aa+28>>2]=U-V;f[Aa+12>>2]=W+X;ya=Y-ya;xa=Z-xa;oa=na-oa;za=(wa-za)*.7071067690849304;wa=ya-za;ya=za+ya;za=(oa+xa)*-.9238795042037964;xa=xa*1.3065630197525024+za;za=oa*-.5411961078643799-za;f[Aa+52>>2]=wa+xa;f[Aa+36>>2]=ya-za;f[Aa+20>>2]=wa-xa;f[Aa+4>>2]=ya+za}while((l|0)!=(m|0));ea=83}break}case 5:{m=a[z>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{Ua=l+6|0;N=+f[n+(Ua<<3)>>2]*.0833333358168602;Va=l+12|0;V=+f[n+(Ua<<3)+4>>2]*.0833333358168602;p=(+f[n+(l<<3)>>2]-+f[n+(Va<<3)>>2])*.040811799466609955;X=(+f[n+(l<<3)+4>>2]-+f[n+(Va<<3)+4>>2])*.040811799466609955;Va=l;l=l+1|0;y=+f[n+(l<<3)>>2];Ua=Va+11|0;Wa=+f[n+(Ua<<3)>>2];W=(y+Wa)*.03812811151146889;S=+f[n+(l<<3)+4>>2];Ya=+f[n+(Ua<<3)+4>>2];_a=(S+Ya)*.03812811151146889;Wa=(y-Wa)*.03812811151146889;Ya=(S-Ya)*.03812811151146889;Ua=Va+2|0;S=+f[n+(Ua<<3)>>2];Ta=Va+10|0;y=+f[n+(Ta<<3)>>2];wa=(S+y)*.05144908279180527;R=+f[n+(Ua<<3)+4>>2];G=+f[n+(Ta<<3)+4>>2];ya=(R+G)*.05144908279180527;Ta=Va+3|0;o=+f[n+(Ta<<3)>>2];Ua=Va+9|0;D=+f[n+(Ua<<3)>>2];Xa=+f[n+(Ta<<3)+4>>2];O=+f[n+(Ua<<3)+4>>2];Ua=Va+4|0;Q=+f[n+(Ua<<3)>>2];Ta=Va+8|0;Za=+f[n+(Ta<<3)>>2];T=+f[n+(Ua<<3)+4>>2];F=+f[n+(Ta<<3)+4>>2];za=(Q-Za)*.07428313791751862;xa=(T-F)*.07428313791751862;Ta=Va+5|0;K=+f[n+(Ta<<3)>>2];Ua=Va+7|0;na=+f[n+(Ua<<3)>>2];Y=(K+na)*.08100347965955734;M=+f[n+(Ta<<3)+4>>2];Z=+f[n+(Ua<<3)+4>>2];oa=(M+Z)*.08100347965955734;na=(K-na)*.08100347965955734;Z=(M-Z)*.08100347965955734;M=(o+D)*.06399831175804138*.7071067690849304;K=N+M;M=N-M;N=(Y-W)*.7071067690849304;Za=wa*.5+(Q+Za)*.07428313791751862*.8660253882408142;Q=Za-wa;Y=W*.258819043636322+Y*.9659258127212524;W=Y-N;L=Za+(K+Y);E=M+N-wa;U=M+W-Q;Q=K-W-Q;wa=K-N-wa;Y=Za+(M-Y);M=(Xa+O)*.06399831175804138*.7071067690849304;Za=V+M;M=V-M;V=(oa-_a)*.7071067690849304;F=ya*.5+(T+F)*.07428313791751862*.8660253882408142;T=F-ya;oa=_a*.258819043636322+oa*.9659258127212524;_a=oa-V;N=F+(Za+oa);K=M+V-ya;W=M+_a-T;T=Za-_a-T;ya=Za-V-ya;oa=F+(M-oa);O=(Xa-O)*.06399831175804138*.7071067690849304;Xa=X+O;O=X-O;X=(Ya-Z)*.7071067690849304;G=(R-G)*.05144908279180527*.8660253882408142+xa*.5;R=G-xa;Z=Ya*.9659258127212524+Z*.258819043636322;Ya=Z-X;M=G+(Xa+Z);F=O+X-xa;V=O+Ya-R;R=Xa-Ya-R;xa=Xa-X-xa;Z=G+(O-Z);D=(o-D)*.06399831175804138*.7071067690849304;o=p+D;D=p-D;p=(Wa-na)*.7071067690849304;y=(S-y)*.05144908279180527*.8660253882408142+za*.5;S=y-za;na=Wa*.9659258127212524+na*.258819043636322;Wa=na-p;O=y+(o+na);G=D+p-za;X=D+Wa-S;S=o-Wa-S;za=o-p-za;na=y+(D-na);Va=c[q+(Va<<2)>>2]|0;f[Va>>2]=L-M;f[Va+4>>2]=O+N;f[Va+8>>2]=E+F;f[Va+12>>2]=K-G;f[Va+80>>2]=E-F;f[Va+84>>2]=G+K;f[Va+88>>2]=L+M;f[Va+92>>2]=N-O;f[Va+16>>2]=U-V;f[Va+20>>2]=X+W;f[Va+24>>2]=Q+R;f[Va+28>>2]=T-S;f[Va+64>>2]=Q-R;f[Va+68>>2]=S+T;f[Va+72>>2]=U+V;f[Va+76>>2]=W-X;f[Va+32>>2]=wa-xa;f[Va+36>>2]=za+ya;f[Va+40>>2]=Y+Z;f[Va+44>>2]=oa-na;f[Va+48>>2]=Y-Z;f[Va+52>>2]=na+oa;f[Va+56>>2]=wa+xa;f[Va+60>>2]=ya-za}while((l|0)!=(m|0));ea=83}break}default:ea=83}do if((ea|0)==83){ea=0;l=a[z>>0]|0;if(!(l<<24>>24)){l=a[v>>0]|0;ea=85;break}m=t&255;t=a[v>>0]|0;u=l&255;n=t;l=t;t=0;do{if(!(n<<24>>24))n=0;else{q=c[(c[J>>2]|0)+(t<<2)>>2]|0;s=a[v>>0]|0;n=0;l=0;while(1){Va=l+m|0;c[La+(t<<8)+(Va<<3)>>2]=c[q+(l<<3)>>2];c[La+(t<<8)+(Va<<3)+4>>2]=c[q+(l<<3)+4>>2];l=n+1<<24>>24;if((l&255)<(s&255)){n=l;l=l&255}else{l=s;n=s;break}}}t=t+1|0}while((t|0)!=(u|0))}while(0);if((ea|0)==85)m=t&255;x=x+1<<24>>24;s=x&255;if(C>>>0<=s>>>0)break;else t=m+(l&255)&255}if(j<<24>>24==0&A<<24>>24!=0){l=A&255;j=0;do{Va=La+(j<<8)+32|0;Ua=La+(j<<8)+24|0;f[Ua>>2]=+f[Va>>2]+ +f[Ua>>2];Ua=La+(j<<8)+36|0;Ta=La+(j<<8)+28|0;f[Ta>>2]=+f[Ua>>2]+ +f[Ta>>2];f[Va>>2]=0.0;f[Ua>>2]=0.0;Ua=La+(j<<8)+40|0;Va=La+(j<<8)+16|0;f[Va>>2]=+f[Ua>>2]+ +f[Va>>2];Va=La+(j<<8)+44|0;Ta=La+(j<<8)+20|0;f[Ta>>2]=+f[Va>>2]+ +f[Ta>>2];f[Ua>>2]=0.0;f[Va>>2]=0.0;j=j+1|0}while((j|0)!=(l|0))}Fn(Ea|0,0,4352)|0;Aa=(a[Ja>>0]|0)==0;Fn(ga|0,0,4352)|0;Aa=Aa?128616:128712;z=a[Ha>>0]|0;H=z<<24>>24==0;if(!H){v=c[Ia>>2]|0;x=c[k>>2]|0;A=d[Ga>>0]|0;B=z&255;C=0;do{m=C>>>0<A>>>0;if(m){l=a[x+C>>0]|0;j=l;l=(l&255)+1|0}else{j=a[x+C>>0]|0;l=d[x+(C+1)>>0]|0}n=j&255;u=l&255;c:do if(u>>>0>n>>>0){Va=a[Ca>>0]|0;s=Va&255;l=a[(d[Ka>>0]|0)+(e+10)>>0]|0;t=b[v+(C<<1)>>1]&255;if((Va&255)>=(l&255))while(1){j=j+1<<24>>24;if(u>>>0<=(j&255)>>>0)break c}q=l&255;if(m){l=n;do{m=s;do{Za=+f[La+(m<<8)+(l<<3)>>2];_a=+f[La+(m<<8)+(l<<3)+4>>2];Va=ga+(m*136|0)+(t<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(u>>>0>l>>>0)}else{l=n;do{m=s;do{Za=+f[g+(m<<9)+(l<<3)>>2];_a=+f[g+(m<<9)+(l<<3)+4>>2];Va=ga+(m*136|0)+(t<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(u>>>0>l>>>0)}}while(0);C=C+1|0}while((C|0)!=(B|0))}j=a[fa>>0]|0;if(j<<24>>24){A=e+20076|0;B=e+20080|0;x=a[Ca>>0]|0;v=(d[Ka>>0]|0)+(e+10)|0;C=x&255;u=j&255;j=a[v>>0]|0;t=0;do{if((x&255)<(j&255)){n=e+20084+(t<<2)|0;q=e+20356+(t<<2)|0;s=e+20220+(t<<2)|0;y=+f[A>>2];m=x;o=+f[n>>2];j=C;while(1){o=y*o;f[n>>2]=o;p=+f[ga+(j*136|0)+(t<<2)>>2];if(o<p){f[n>>2]=p;o=p}_a=+f[q>>2];Ya=+f[B>>2];_a=_a+Ya*(o-p-_a);f[q>>2]=_a;Za=+f[s>>2];Za=Za+Ya*(p-Za);f[s>>2]=Za;_a=_a*1.5;f[Ea+(j*136|0)+(t<<2)>>2]=!(_a<=Za)?Za/_a:1.0;l=m+1<<24>>24;j=a[v>>0]|0;if((l&255)<(j&255)){m=l;j=l&255}else break}}t=t+1|0}while((t|0)!=(u|0))}va=e+740|0;if(H){t=0;s=0;q=e+742|0;n=0;m=e+743|0;l=0;j=e+741|0}else{ra=e+729|0;j=e+741|0;sa=e+744|0;ta=e+745|0;ua=e+746|0;q=e+742|0;m=e+743|0;t=0;qa=0;s=0;n=0;l=0;pa=0;while(1){x=a[Ga>>0]|0;u=c[k>>2]|0;if((qa&255)<(x&255)){u=a[u+pa>>0]|0;v=(u&255)+1&255}else{v=a[u+(pa+1)>>0]|0;u=a[u+pa>>0]|0}if((u&255)<(v&255)){ma=v&255;u=u&255;while(1){if((qa&255)>=(x&255)?(Da=d[Ba>>0]|0,u>>>0>Da>>>0):0){Va=Da-u<<24;o=(Va|0)<-318767104?0.0:+(Va>>24|0)*.05000000074505806+1.0}else o=1.0;K=o*.6514390707015991;L=o*.5647181272506714;G=o*.4895416498184204;t=a[va>>0]|0;s=a[j>>0]|0;n=a[q>>0]|0;l=a[m>>0]|0;v=a[Ca>>0]|0;d:do if((v&255)<(d[(d[Ka>>0]|0)+(e+10)>>0]|0)){J=Aa+(u<<3)|0;P=128968+(u*24|0)|0;_=129256+(u*24|0)|0;$=130024+(u*24|0)|0;aa=131560+(u<<3)|0;ba=e+811+u|0;ca=e+747+u|0;da=128968+(u*24|0)|0;ea=129256+(u*24|0)|0;fa=128968+(u*24|0)+8|0;ga=129256+(u*24|0)+8|0;ha=128968+(u*24|0)+16|0;ia=129256+(u*24|0)+16|0;ja=130024+(u*24|0)+16|0;ka=130024+(u*24|0)+8|0;la=130024+(u*24|0)|0;I=v;H=v&255;while(1){x=(qa&255)<(x&255);z=x?La+(H<<8)+(u<<3)|0:g+(H<<9)+(u<<3)|0;v=c[z>>2]|0;z=c[z+4>>2]|0;if(x|u>>>0<=(d[ra>>0]|0)>>>0){Va=t&255;C=x?e+8044+(Va<<8)+(u<<3)+4|0:e+876+(Va<<9)+(u<<3)+4|0;Va=x?e+8044+(Va<<8)+(u<<3)|0:e+876+(Va<<9)+(u<<3)|0;B=x?J:aa;_a=+f[Va>>2];Ya=+f[C>>2];c[Va>>2]=v;c[C>>2]=z;Za=+f[B>>2];p=+f[B+4>>2];o=_a*Za+Ya*p;p=Ya*Za-_a*p;B=(qa&255)<(d[Ga>>0]|0);C=s&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?da:ea;z=e+16236+(C<<8)+(u<<3)|0;A=e+16236+(C<<8)+(u<<3)+4|0}else{v=$;x=la;z=e+8556+(C<<9)+(u<<3)|0;A=e+8556+(C<<9)+(u<<3)+4|0}_a=+f[z>>2];Ya=+f[A>>2];Za=+f[x>>2];E=+f[v+4>>2];y=_a*Za+Ya*E-K*o;E=Ya*Za-_a*E-K*p;o=o+K*y;if(B){f[e+16236+(C<<8)+(u<<3)>>2]=o;v=e+16236+(C<<8)+(u<<3)|0}else{f[e+8556+(C<<9)+(u<<3)>>2]=o;v=e+8556+(C<<9)+(u<<3)|0}f[v+4>>2]=p+K*E;B=(qa&255)<(d[Ga>>0]|0);C=n&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?fa:ga;z=e+17516+(C<<8)+(u<<3)|0;A=e+17516+(C<<8)+(u<<3)+4|0}else{v=$;x=ka;z=e+11116+(C<<9)+(u<<3)|0;A=e+11116+(C<<9)+(u<<3)+4|0}o=+f[z>>2];Za=+f[A>>2];_a=+f[x>>2];F=+f[v+12>>2];D=o*_a+Za*F-L*y;F=Za*_a-o*F-L*E;o=y+L*D;if(B){f[e+17516+(C<<8)+(u<<3)>>2]=o;v=e+17516+(C<<8)+(u<<3)|0}else{f[e+11116+(C<<9)+(u<<3)>>2]=o;v=e+11116+(C<<9)+(u<<3)|0}f[v+4>>2]=E+L*F;B=(qa&255)<(d[Ga>>0]|0);C=l&255;if(B){x=(a[Ja>>0]|0)==0;v=x?P:_;x=x?ha:ia;z=e+18796+(C<<8)+(u<<3)|0;A=e+18796+(C<<8)+(u<<3)+4|0}else{v=$;x=ja;z=e+13676+(C<<9)+(u<<3)|0;A=e+13676+(C<<9)+(u<<3)+4|0}y=+f[z>>2];Za=+f[A>>2];_a=+f[x>>2];o=+f[v+20>>2];p=y*_a+Za*o-G*D;o=Za*_a-y*o-G*F;y=D+G*p;if(B){f[e+18796+(C<<8)+(u<<3)>>2]=y;v=e+18796+(C<<8)+(u<<3)|0}else{f[e+13676+(C<<9)+(u<<3)>>2]=y;v=e+13676+(C<<9)+(u<<3)|0}f[v+4>>2]=F+G*o}else{Ua=d[ba>>0]|0;p=+f[e+876+(Ua<<9)+(u<<3)>>2];Va=e+876+(Ua<<9)+(u<<3)+4|0;o=+f[Va>>2];c[e+876+(Ua<<9)+(u<<3)>>2]=v;c[Va>>2]=z}_a=+f[Ea+(H*136|0)+((b[(c[Ia>>2]|0)+(pa<<1)>>1]&255)<<2)>>2];Va=(qa&255)<(d[Ga>>0]|0);Ua=Va?Ma+(H<<8)+(u<<3)|0:i+(H<<9)+(u<<3)|0;f[Ua>>2]=p*_a;f[Ua+4>>2]=o*_a;t=t+1<<24>>24;t=(t&255)>1?0:t;if(!(Va|u>>>0<=(d[ra>>0]|0)>>>0)){Va=(a[ba>>0]|0)+1<<24>>24;a[ba>>0]=(Va&255)<(d[ca>>0]|0)?Va:0}s=s+1<<24>>24;s=(s&255)<(d[sa>>0]|0)?s:0;n=n+1<<24>>24;n=(n&255)<(d[ta>>0]|0)?n:0;l=l+1<<24>>24;l=(l&255)<(d[ua>>0]|0)?l:0;v=I+1<<24>>24;if((v&255)>=(d[(d[Ka>>0]|0)+(e+10)>>0]|0))break d;I=v;x=a[Ga>>0]|0;H=v&255}}while(0);u=u+1|0;if((u|0)==(ma|0))break;x=a[Ga>>0]|0}v=a[Ha>>0]|0}else v=z;u=qa+1<<24>>24;if((u&255)<(v&255)){qa=u;pa=u&255;z=v}else break}}a[va>>0]=t;a[j>>0]=s;a[q>>0]=n;a[m>>0]=l;ja=e+3|0;j=(d[ja>>0]|0)>2;ia=j?132072:132196;switch(a[e+27>>0]|0){case 3:case 0:{l=11;break}default:l=a[e+6>>0]|0}if(a[Ha>>0]|0){ka=e+4|0;fa=j?15:7;ga=e+26|0;ha=e+22092|0;ea=l&255;da=c[k>>2]|0;ca=0;O=0.0;N=0.0;M=0.0;L=0.0;K=0.0;G=0.0;F=0.0;E=0.0;D=0.0;y=0.0;p=0.0;o=0.0;J=0;while(1){if((ca&255)<(d[Ga>>0]|0))j=(d[da+J>>0]|0)+1|0;else j=d[da+(J+1)>>0]|0;if(a[Ka>>0]|0){P=b[(c[Ia>>2]|0)+(J<<1)>>1]&255;_=e+20492+(J<<3)|0;$=e+20892+(J<<3)|0;aa=e+21292+(J<<3)|0;ba=e+21692+(J<<3)|0;x=j&255;z=P>>>0<ea>>>0;A=e+20492+(J<<3)+4|0;B=e+20892+(J<<3)+4|0;C=e+21292+(J<<3)+4|0;H=e+21692+(J<<3)+4|0;I=da+J|0;v=0;na=O;s=0;while(1){if((d[ka>>0]|0)<3){j=a[e+140+(s*34|0)+P>>0]|0;k=j<<24>>24;S=+f[ia+(fa+k<<2)>>2];T=+f[ia+(fa-k<<2)>>2];l=a[e+310+(s*34|0)+P>>0]|0;Q=+f[132256+(l<<2)>>2];R=+f[132288+(l<<2)>>2];j=j<<24>>24<0;do if((d[ja>>0]|0)>2)if(j){j=0-k|0;O=-+f[132832+(j<<5)+(l<<2)>>2];j=132320+(j<<5)+(l<<2)|0;break}else{O=+f[132832+(k<<5)+(l<<2)>>2];j=132320+(k<<5)+(l<<2)|0;break}else if(j){j=0-k|0;O=-+f[133600+(j<<5)+(l<<2)>>2];j=133344+(j<<5)+(l<<2)|0;break}else{O=+f[133600+(k<<5)+(l<<2)>>2];j=133344+(k<<5)+(l<<2)|0;break}while(0);V=+f[j>>2];Za=Q*V;_a=R*O;W=Q*O;V=R*V;U=S*(W-V);V=T*(W+V);W=S*(_a+Za);T=T*(Za-_a)}else{j=a[e+140+(s*34|0)+P>>0]|0;n=j<<24>>24;j=j<<24>>24>-1?n:0-n|0;n=fa+n|0;q=a[e+310+(s*34|0)+P>>0]|0;if((d[ja>>0]|0)>2){l=j&255;k=135360+(l<<5)+(q<<2)|0;l=134848+(l<<5)+(q<<2)|0;m=133856+(n<<5)+(q<<2)|0;j=133856+(30-n<<5)+(q<<2)|0}else{l=j&255;k=136608+(l<<5)+(q<<2)|0;l=136352+(l<<5)+(q<<2)|0;m=135872+(n<<5)+(q<<2)|0;j=135872+(14-n<<5)+(q<<2)|0}V=+f[k>>2];_a=+f[l>>2];T=+f[m>>2];W=+f[j>>2];U=V*W*1.4142135381698608;V=V*T*-1.4142135381698608;W=_a*W*1.4142135381698608;T=_a*T*1.4142135381698608}j=a[ga>>0]|0;if(j<<24>>24)if(z){Va=a[ha>>0]|0;Qa=Va<<24>>24;Sa=e+22096+(P<<4)+(Qa<<3)|0;y=+f[Sa>>2]*.25;Pa=e+22096+(P<<4)+(Qa<<3)+4|0;D=+f[Pa>>2]*.25;Ua=e+22416+(P<<4)+(Qa<<3)|0;O=+f[Ua>>2]*.25;Qa=e+22416+(P<<4)+(Qa<<3)+4|0;Q=+f[Qa>>2]*.25;Oa=e+480+(s*17|0)+P|0;Ta=a[Oa>>0]|0;Ra=Ta<<24>>24;Ra=c[136864+((Ta<<24>>24>-1?Ra:0-Ra|0)<<2)>>2]|0;c[Sa>>2]=Ra;Oa=a[Oa>>0]|0;Sa=Oa<<24>>24;Sa=c[136900+((Oa<<24>>24>-1?Sa:0-Sa|0)<<2)>>2]|0;c[Pa>>2]=Sa;Pa=e+565+(s*17|0)+P|0;Oa=a[Pa>>0]|0;Ta=Oa<<24>>24;Ta=c[136864+((Oa<<24>>24>-1?Ta:0-Ta|0)<<2)>>2]|0;c[Ua>>2]=Ta;Pa=a[Pa>>0]|0;Ua=Pa<<24>>24;Ua=c[136900+((Pa<<24>>24>-1?Ua:0-Ua|0)<<2)>>2]|0;c[Qa>>2]=Ua;y=y+(c[h>>2]=Ra,+f[h>>2]);D=D+(c[h>>2]=Sa,+f[h>>2]);O=O+(c[h>>2]=Ta,+f[h>>2]);Va=Va<<24>>24==0?1:Va+-1<<24>>24<<24>>24;y=y+ +f[e+22096+(P<<4)+(Va<<3)>>2]*.5;D=D+ +f[e+22096+(P<<4)+(Va<<3)+4>>2]*.5;O=O+ +f[e+22416+(P<<4)+(Va<<3)>>2]*.5;Q=Q+(c[h>>2]=Ua,+f[h>>2])+ +f[e+22416+(P<<4)+(Va<<3)+4>>2]*.5;o=+r(+(O*O+Q*Q));p=+r(+(y*y+D*D));if(o!=0.0){S=Q/o;R=O/o}else{S=0.0;R=0.0}o=o*p;if(o!=0.0){p=(y*O+D*Q)/o;o=(y*Q-D*O)/o}else{p=0.0;o=0.0}Y=U*p;Z=V*R;X=W*p;Q=T*R;D=U*o;y=V*S;p=W*o;o=T*S;j=a[ga>>0]|0}else{Y=U;Z=V;X=W;Q=T}else{Y=U;Z=V;X=W;Q=T;j=0}u=s+1+(e+10)|0;k=e+10+s|0;O=+((d[u>>0]|0)-(d[k>>0]|0)|0);U=+f[_>>2];wa=(Q-U)/O;T=+f[$>>2];xa=(X-T)/O;S=+f[aa>>2];ya=(Z-S)/O;R=+f[ba>>2];za=(Y-R)/O;f[_>>2]=Q;f[$>>2]=X;f[aa>>2]=Z;f[ba>>2]=Y;t=j<<24>>24==0;if(!t?z:0){E=+f[A>>2];L=(o-E)/O;F=+f[B>>2];M=(p-F)/O;G=+f[C>>2];N=(y-G)/O;K=+f[H>>2];O=(D-K)/O;if(b[(c[Ia>>2]|0)+(J<<1)>>1]&4096){O=-O;N=-N;M=-M;L=-L;K=-K;G=-G;F=-F;E=-E}f[A>>2]=o;f[B>>2]=p;f[C>>2]=y;f[H>>2]=D}else O=na;j=a[k>>0]|0;if((j&255)<(d[u>>0]|0)){s=j;oa=R;na=S;Z=T;Y=U;q=j&255;while(1){Y=wa+Y;Z=xa+Z;na=ya+na;oa=za+oa;if(!t){K=z?O+K:K;G=z?N+G:G;F=z?M+F:F;E=z?L+E:E}j=a[I>>0]|0;k=j&255;e:do if(x>>>0>k>>>0)if((ca&255)<(d[Ga>>0]|0)){if(t)while(1){Sa=La+(q<<8)+(k<<3)|0;Ta=La+(q<<8)+(k<<3)+4|0;Ua=Ma+(q<<8)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=Ma+(q<<8)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(x>>>0<=k>>>0)break e}do{m=La+(q<<8)+(k<<3)|0;n=La+(q<<8)+(k<<3)+4|0;l=Ma+(q<<8)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=Ma+(q<<8)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(z){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(x>>>0>k>>>0)}else{if(t)while(1){Sa=g+(q<<9)+(k<<3)|0;Ta=g+(q<<9)+(k<<3)+4|0;Ua=i+(q<<9)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=i+(q<<9)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(x>>>0<=k>>>0)break e}do{m=g+(q<<9)+(k<<3)|0;n=g+(q<<9)+(k<<3)+4|0;l=i+(q<<9)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=i+(q<<9)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(z){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(x>>>0>k>>>0)}while(0);j=s+1<<24>>24;if((j&255)>=(d[u>>0]|0))break;else{s=j;q=j&255}}}j=(a[ha>>0]|0)+1<<24>>24;a[ha>>0]=j<<24>>24==2?0:j;j=v+1<<24>>24;if((j&255)<(d[Ka>>0]|0)){v=j;na=O;s=j&255}else break}}j=ca+1<<24>>24;if((j&255)<(d[Ha>>0]|0)){ca=j;J=j&255}else break}}v=c[Fa>>2]|0;z=(a[Ja>>0]|0)!=0;x=z?v+4|0:v+1|0;z=z?5:3;v=a[v>>0]|0;A=v&255;k=0;t=0;j=v;u=0;while(1){s=x+u|0;if(!(j<<24>>24)){l=k&255;k=a[s>>0]|0;j=0}else{l=k&255;q=0;do{m=g+(q<<9)+(u<<3)|0;f[m>>2]=0.0;n=g+(q<<9)+(u<<3)+4|0;f[n>>2]=0.0;if(!(a[s>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[La+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[La+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[s>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}t=t+1<<24>>24;u=t&255;if(z>>>0<=u>>>0){k=0;t=0;j=v;u=0;break}else k=l+(k&255)&255}while(1){s=x+u|0;if(!(j<<24>>24)){l=k&255;k=a[s>>0]|0;j=0}else{l=k&255;q=0;do{m=i+(q<<9)+(u<<3)|0;f[m>>2]=0.0;n=i+(q<<9)+(u<<3)+4|0;f[n>>2]=0.0;if(!(a[s>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[Ma+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[Ma+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[s>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}t=t+1<<24>>24;u=t&255;if(z>>>0<=u>>>0)break;else k=l+(k&255)&255}Zb=Na;return 0}function Xk(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;a:do if(b<<24>>24==1){if(!(f<<24>>24)){f=a[c>>0]|0;a[c>>0]=f<<24>>24<i<<24>>24?i:f<<24>>24>j<<24>>24?j:f;f=g&255;if((g&255)>1){b=1;k=1}else break;while(1){e=c+k|0;l=(d[e>>0]|0)+(d[c+(k+-1)>>0]|0)&255;a[e>>0]=l<<24>>24<i<<24>>24?i:l<<24>>24>j<<24>>24?j:l;b=b+1<<24>>24;k=b<<24>>24;if((k|0)>=(f|0))break a}}f=g&255;if(g<<24>>24){k=h&255;b=0;l=0;do{n=d[e+(w(l,k)|0)>>0]|0;m=c+l|0;n=(d[m>>0]|0)+n&255;a[m>>0]=n<<24>>24<i<<24>>24?i:n<<24>>24>j<<24>>24?j:n;b=b+1<<24>>24;l=b<<24>>24}while((l|0)<(f|0))}}else{k=g&255;if(g<<24>>24){b=0;f=0;do{a[c+f>>0]=0;b=b+1<<24>>24;f=b<<24>>24}while((f|0)<(k|0))}}while(0);if(h<<24>>24!=2)return;f=((g&255)<<1)+255|0;b=f&255;if(b<<24>>24<=0)return;f=f<<24>>24;while(1){a[c+f>>0]=a[c+(f>>1)>>0]|0;f=b+-1<<24>>24;if(f<<24>>24>0){b=f;f=f<<24>>24}else break}return}function Yk(){Zk(0);return}function Zk(a){a=a|0;ma(38776,154461);ba(38792,154466,1,1,0);ia(38800,154471,1,-128,127);ia(38816,154476,1,-128,127);ia(38808,154488,1,0,255);ia(38824,154502,2,-32768,32767);ia(38832,154508,2,0,65535);ia(38840,154523,4,-2147483648,2147483647);ia(38848,154527,4,0,-1);ia(38856,154540,4,-2147483648,2147483647);ia(38864,154545,4,0,-1);ha(38872,154559,4);ha(38880,154565,8);ka(37848,154572);ka(38056,154584);la(38080,4,154617);ga(37872,154630);ja(38104,0,154646);ja(38112,0,154676);ja(38120,1,154713);ja(38128,2,154752);ja(38136,3,154783);ja(38144,4,154823);ja(38152,5,154852);ja(38160,4,154890);ja(38168,5,154920);ja(38112,0,154959);ja(38120,1,154991);ja(38128,2,155024);ja(38136,3,155057);ja(38144,4,155091);ja(38152,5,155124);ja(38176,6,155158);ja(38184,7,155189);ja(38192,7,155221);return}function _k(a){a=a|0;return Tl(c[a+4>>2]|0)|0}function $k(a){a=a|0;var b=0,d=0;b=Zb;Zb=Zb+16|0;d=b;c[d>>2]=el(c[a+60>>2]|0)|0;a=cl($(6,d|0)|0)|0;Zb=b;return a|0}function al(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=Zb;Zb=Zb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=cl(Z(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=cl(Z(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Zb=m;return d|0}function bl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Zb;Zb=Zb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((cl(Y(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}z(a|0);Zb=g;return b|0}function cl(a){a=a|0;if(a>>>0>4294963200){c[(dl()|0)>>2]=0-a;a=-1}return a|0}function dl(){return 157708}function el(a){a=a|0;return a|0}function fl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Zb;Zb=Zb+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,_(54,f|0)|0):0)a[b+75>>0]=-1;f=al(b,d,e)|0;Zb=g;return f|0}function gl(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 hl(a){a=a|0;return (a+-48|0)>>>0<10|0}function il(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=Zb;Zb=Zb+160|0;g=j+144|0;i=j;Dn(i|0,38488,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(dl()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=jl(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Zb=j;return d|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;return ml(a,b,c,1,23)|0}function kl(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Zb;Zb=Zb+560|0;l=H+32|0;u=H+536|0;G=H;F=G;m=H+540|0;c[u>>2]=0;E=m+12|0;El(e)|0;j=A()|0;if((j|0)<0){e=-e;El(e)|0;D=1;C=155773;j=A()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?155774:155779):155776}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;xl(b,32,f,j,h&-65537);ql(b,C,D);ql(b,e!=e|0.0!=0.0?(G?155800:155804):G?155792:155796,3);xl(b,32,f,j,h^8192)}else{q=+Fl(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=vl(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[37824+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;xl(b,32,f,E,h);ql(b,r,p);xl(b,48,f,E,h^65536);F=m-F|0;ql(b,G,F);G=k-l|0;xl(b,48,j-(F+G)|0,0,0);ql(b,n,G);xl(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{y=~~e>>>0;c[l>>2]=y;l=l+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=Bn(c[j>>2]|0,0,n|0)|0;s=vn(s|0,A()|0,m|0,0)|0;v=A()|0;m=zn(s|0,v|0,1e9,0)|0;x=un(m|0,A()|0,1e9,0)|0;x=wn(s|0,v|0,x|0,A()|0)|0;A()|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=o>>>0);if(m){x=o+-4|0;c[x>>2]=m;m=x}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{x=c[j>>2]|0;c[j>>2]=(x>>>r)+p;p=w(x&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(y-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;x=(k|0)!=0;m=k-((t|0)==102?0:j)+((x&v)<<31>>31)|0;if((m|0)<(((l-y>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=B+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(w(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(D){u=(a[C>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(y-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(z=c[u+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((z>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-y>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=vl(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=D+1+k+p+j|0;xl(b,32,f,j,h);ql(b,C,D);xl(b,48,f,j,h^65536);if(r){p=n>>>0>B>>>0?B:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=vl(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){Fn(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}ql(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(s^1)))ql(b,155808,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=vl(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){Fn(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}ql(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}xl(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-F|0;r=G+8|0;o=n;do{l=vl(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;ql(b,l,1);if(s&(k|0)<1){l=m;break}ql(b,155808,1);l=m}else{if(l>>>0<=G>>>0)break;Fn(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=t-l|0;ql(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}xl(b,48,k+18|0,18,0);ql(b,v,E-v|0)}xl(b,32,f,j,h^8192)}while(0);Zb=H;return ((j|0)<(f|0)?f:j)|0}function ll(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function ml(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=Zb;Zb=Zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((nl(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=ol(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=nl(b,d,p,r,q,f,g)|0;if(j){dc[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=nl(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)pl(b);e=(h&32|0)==0?e:-1}Zb=t;return e|0}function nl(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Zb;Zb=Zb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=B+40|0;z=y;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(dl()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)ql(d,r,l)}while((l|0)!=0);v=(hl(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((hl(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=rl(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=rl(G)|0;m=c[G>>2]|0;break}if(hl(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(37360+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}sl(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=ul(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=155756;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=wn(0,0,m|0,n|0)|0;n=A()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=155756;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?155756:155758):155757;w=72;break e}}case 117:{n=I;o=0;p=155756;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=155756;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?155766:s;t=wl(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=155756;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;w=79;break}case 83:{if(!l){xl(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=bc[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=155756;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=tl(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?155756:155756+(m>>>4)|0;w=73}else if((w|0)==72){q=vl(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=yl(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}xl(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=yl(E,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}ql(d,E,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;xl(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;xl(d,32,l,K,m);ql(d,p,o);xl(d,48,l,K,m^65536);xl(d,48,s,t,0);ql(d,r,t);xl(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;sl(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Zb=J;return e|0}function ol(a){a=a|0;return 1}function pl(a){a=a|0;return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Cl(b,d,a)|0;return}function rl(b){b=b|0;var d=0,e=0;if(!(hl(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((hl(a[e>>0]|0)|0)!=0)}return d|0}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{hc[e&31](a,d);break a}default:break a}while(0);while(0);return}function tl(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[37824+(b&15)>>0]|0|f;b=An(b|0,c|0,4)|0;c=A()|0}while(!((b|0)==0&(c|0)==0));return e|0}function ul(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=An(b|0,c|0,3)|0;c=A()|0}while(!((b|0)==0&(c|0)==0));return d|0}function vl(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=zn(b|0,c|0,10,0)|0;f=c;c=A()|0;g=un(b|0,c|0,10,0)|0;g=wn(e|0,f|0,g|0,A()|0)|0;A()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=w(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function xl(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=Zb;Zb=Zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Fn(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{ql(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}ql(a,f,e)}Zb=g;return}function yl(a,b){a=a|0;b=b|0;if(!a)a=0;else a=zl(a,b,0)|0;return a|0}function zl(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Al()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(dl()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(dl()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Al(){return Bl()|0}function Bl(){return 136944}function Cl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Dl(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=dc[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=dc[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);Dn(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Dl(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function El(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;z(c[h+4>>2]|0);return b|0}function Fl(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=An(d|0,e|0,52)|0;A()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Fl(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 Gl(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;Dn(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Hl(a,b){a=a|0;b=b|0;var c=0;c=wl(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function Il(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;m=Zb;Zb=Zb+208|0;j=m;k=m+192|0;h=w(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)Jl(a,d,e,f,j);else Ll(a,d,e,k,f,0,j);if((f|0)==1){Ml(k,1);f=0;break}else{Ml(k,b);f=1;break}}else{Jl(a,d,e,f,j);Kl(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}Ll(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{Ml(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;Kl(k,1);Ll(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);Ml(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;Ll(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=Nl(k)|0;Kl(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);Zb=m;return}function Jl(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=Zb;Zb=Zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((cc[d&3](h,a)|0)>-1?(cc[d&3](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((cc[d&3](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);Pl(b,l,e);Zb=m;return}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function Ll(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;o=Zb;Zb=Zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(cc[d&3](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((cc[d&3](g,j)|0)>-1){i=10;break a}if((cc[d&3](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=Nl(m)|0;Kl(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((cc[d&3](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){Pl(b,n,e);Jl(a,b,d,f,h)}Zb=o;return}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function Nl(a){a=a|0;var b=0;b=Ol((c[a>>2]|0)+-1|0)|0;if(!b){b=Ol(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function Ol(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=Zb;Zb=Zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;Dn(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;Dn(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);Zb=h;return}function Ql(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Zb;Zb=Zb+16|0;g=f;c[g>>2]=e;e=il(a,b,d,g)|0;Zb=f;return e|0}function Sl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Zb;Zb=Zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Dl(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((dc[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Zb=l;return f|0}function Tl(a){a=a|0;var b=0,c=0;b=(Ql(a)|0)+1|0;c=Wl(b)|0;if(!c)a=0;else a=Dn(c|0,a|0,b|0)|0;return a|0}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;if((c[d+76>>2]|0)>=0?(ol(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Sl(d,b)|0;pl(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Sl(d,b)|0}while(0);return e|0}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0;d=Zb;Zb=Zb+16|0;e=d;c[e>>2]=b;b=jl(c[34235]|0,a,e)|0;Zb=d;return b|0}function Wl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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=Zb;Zb=Zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[39428]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=157752+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[39428]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Zb=w;return v|0}l=c[39430]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=157752+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[39428]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[39433]|0;b=l>>>3;d=157752+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[39428]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[39430]=h;c[39433]=f;v=i;Zb=w;return v|0}g=c[39429]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[158016+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=158016+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[39429]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[39433]|0;b=l>>>3;d=157752+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[39428]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[39430]=j;c[39433]=h}v=i+8|0;Zb=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[39429]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[158016+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[158016+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[39430]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=158016+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[39429]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=157752+(b<<1<<2)|0;a=c[39428]|0;b=1<<b;if(!(a&b)){c[39428]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=158016+(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[39429]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[39430]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[39433]|0;if(b>>>0>15){v=a+m|0;c[39433]=v;c[39430]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[39430]=0;c[39433]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Zb=w;return v|0}h=c[39431]|0;if(h>>>0>m>>>0){t=h-m|0;c[39431]=t;v=c[39434]|0;u=v+m|0;c[39434]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Zb=w;return v|0}if(!(c[39546]|0)){c[39548]=4096;c[39547]=4096;c[39549]=-1;c[39550]=-1;c[39551]=0;c[39539]=0;c[39546]=n&-16^1431655768;a=4096}else a=c[39548]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Zb=w;return v|0}a=c[39538]|0;if(a|0?(l=c[39536]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Zb=w;return v|0}d:do if(!(c[39539]&4)){d=c[39434]|0;e:do if(d){e=158160;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=Gn(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=Gn(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[39547]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[39536]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[39538]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=Gn(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[39548]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((Gn(a|0)|0)==(-1|0)){Gn(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[39539]=c[39539]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=Gn(k|0)|0,p=Gn(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[39536]|0)+h|0;c[39536]=b;if(b>>>0>(c[39537]|0)>>>0)c[39537]=b;j=c[39434]|0;f:do if(j){b=158160;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[39431]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[39434]=u;c[39431]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[39435]=c[39550];break}if(g>>>0<(c[39432]|0)>>>0)c[39432]=g;d=g+h|0;b=158160;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[39431]|0)+i|0;c[39431]=v;c[39434]=k;c[k+4>>2]=v|1}else{if((c[39433]|0)==(b|0)){v=(c[39430]|0)+i|0;c[39430]=v;c[39433]=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[39428]=c[39428]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=158016+(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[39429]=c[39429]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=157752+(b<<1<<2)|0;a=c[39428]|0;b=1<<b;if(!(a&b)){c[39428]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=158016+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[39429]|0;d=1<<e;if(!(a&d)){c[39429]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Zb=w;return v|0}b=158160;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[39434]=u;c[39431]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[39435]=c[39550];d=a+4|0;c[d>>2]=27;c[b>>2]=c[39540];c[b+4>>2]=c[39541];c[b+8>>2]=c[39542];c[b+12>>2]=c[39543];c[39540]=g;c[39541]=h;c[39543]=0;c[39542]=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=157752+(b<<1<<2)|0;a=c[39428]|0;b=1<<b;if(!(a&b)){c[39428]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=158016+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[39429]|0;a=1<<e;if(!(b&a)){c[39429]=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[39432]|0;if((v|0)==0|g>>>0<v>>>0)c[39432]=g;c[39540]=g;c[39541]=h;c[39543]=0;c[39437]=c[39546];c[39436]=-1;c[39441]=157752;c[39440]=157752;c[39443]=157760;c[39442]=157760;c[39445]=157768;c[39444]=157768;c[39447]=157776;c[39446]=157776;c[39449]=157784;c[39448]=157784;c[39451]=157792;c[39450]=157792;c[39453]=157800;c[39452]=157800;c[39455]=157808;c[39454]=157808;c[39457]=157816;c[39456]=157816;c[39459]=157824;c[39458]=157824;c[39461]=157832;c[39460]=157832;c[39463]=157840;c[39462]=157840;c[39465]=157848;c[39464]=157848;c[39467]=157856;c[39466]=157856;c[39469]=157864;c[39468]=157864;c[39471]=157872;c[39470]=157872;c[39473]=157880;c[39472]=157880;c[39475]=157888;c[39474]=157888;c[39477]=157896;c[39476]=157896;c[39479]=157904;c[39478]=157904;c[39481]=157912;c[39480]=157912;c[39483]=157920;c[39482]=157920;c[39485]=157928;c[39484]=157928;c[39487]=157936;c[39486]=157936;c[39489]=157944;c[39488]=157944;c[39491]=157952;c[39490]=157952;c[39493]=157960;c[39492]=157960;c[39495]=157968;c[39494]=157968;c[39497]=157976;c[39496]=157976;c[39499]=157984;c[39498]=157984;c[39501]=157992;c[39500]=157992;c[39503]=158e3;c[39502]=158e3;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[39434]=u;c[39431]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[39435]=c[39550]}while(0);b=c[39431]|0;if(b>>>0>m>>>0){t=b-m|0;c[39431]=t;v=c[39434]|0;u=v+m|0;c[39434]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Zb=w;return v|0}}c[(dl()|0)>>2]=12;v=0;Zb=w;return v|0}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[39432]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[39433]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[39430]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[39428]=c[39428]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=158016+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[39429]=c[39429]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[39434]|0)==(j|0)){j=(c[39431]|0)+b|0;c[39431]=j;c[39434]=i;c[i+4>>2]=j|1;if((i|0)!=(c[39433]|0))return;c[39433]=0;c[39430]=0;return}if((c[39433]|0)==(j|0)){j=(c[39430]|0)+b|0;c[39430]=j;c[39433]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[39428]=c[39428]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=158016+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[39429]=c[39429]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[39433]|0)){c[39430]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=157752+(a<<1<<2)|0;b=c[39428]|0;a=1<<a;if(!(b&a)){c[39428]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=158016+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[39429]|0;d=1<<e;a:do if(!(b&d)){c[39429]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[39436]|0)+-1|0;c[39436]=j;if(j|0)return;a=158168;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[39436]=-1;return}function Yl(a,b){a=a|0;b=b|0;return 0}function Zl(a){a=a|0;return 0}function _l(a){a=a|0;return 0}function $l(a){a=a|0;return 0}function am(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Wl(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function bm(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function cm(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function dm(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;fc[b&3]();c[a>>2]=324508639;return 0}function em(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Wl(b)|0;if(a|0)break;a=qn()|0;if(!a){a=0;break}fc[a&3]()}return a|0}function fm(a){a=a|0;Xl(a);return}function gm(a,b){a=a|0;b=b|0;var d=0,e=0;e=Ql(b)|0;d=em(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=hm(d)|0;Dn(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function hm(a){a=a|0;return a+12|0}function im(a,b){a=a|0;b=b|0;c[a>>2]=137280;gm(a+4|0,b);return}function jm(a){a=a|0;return 1}function km(a){a=a|0;Ja()}function lm(a){a=a|0;Ja()}function mm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Dn(a|0,b|0,c|0)|0;return a|0}function nm(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function om(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Fn(a|0,(pm(c)|0)&255|0,b|0)|0;return a|0}function pm(a){a=a|0;return a&255|0}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Zb;Zb=Zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;nm(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;nm(b+d|0,g);a[h>>0]=d;break}else rm(b,d-f|0,e)|0;while(0);Zb=j;return}function rm(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=Zb;Zb=Zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){sm(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;om(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;nm(g+f|0,i)}Zb=k;return b|0}function sm(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)km(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=em(j)|0;if(g|0)mm(k,l,g)|0;e=f-h-g|0;if(e|0)mm(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)fm(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function tm(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)lm(b);if(f)b=c[b>>2]|0;return b+d|0}function um(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Zb;Zb=Zb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=vm()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=155946;wm(155896,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(dc[c[(c[9658]|0)+16>>2]&15](38632,e,f)|0){i=c[f>>2]|0;i=ac[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=155946;c[g+4>>2]=a;c[g+8>>2]=i;wm(155810,g)}else{c[i>>2]=155946;c[i+4>>2]=a;wm(155855,i)}}wm(155934,h)}function vm(){var a=0,b=0;a=Zb;Zb=Zb+16|0;if(!(dm(158208,3)|0)){b=bm(c[39553]|0)|0;Zb=a;return b|0}else wm(156085,a);return 0}function wm(a,b){a=a|0;b=b|0;var d=0;d=Zb;Zb=Zb+16|0;c[d>>2]=b;b=c[34234]|0;jl(b,a,d)|0;Ul(10,b)|0;Ja()}function xm(a){a=a|0;return}function ym(a){a=a|0;xm(a);fm(a);return}function zm(a){a=a|0;return}function Am(a){a=a|0;return}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Zb;Zb=Zb+64|0;f=h;if(!(Fm(a,b,0)|0))if((b|0)!=0?(g=Jm(b,38656,38640,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;jc[c[(c[g>>2]|0)+28>>2]&7](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Zb=h;return b|0}function Cm(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(Fm(a,c[b+8>>2]|0,g)|0)Im(0,b,d,e,f);return}function Dm(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(!(Fm(b,c[d+8>>2]|0,g)|0)){if(Fm(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Hm(0,d,e,f);while(0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Fm(a,c[b+8>>2]|0,0)|0)Gm(0,b,d,e);return}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Gm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Hm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function Im(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Jm(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Zb;Zb=Zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(Fm(m,f,0)|0){c[n+48>>2]=1;lc[c[(c[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{kc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Zb=p;return d|0}function Km(a){a=a|0;xm(a);fm(a);return}function Lm(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(Fm(a,c[b+8>>2]|0,g)|0)Im(0,b,d,e,f);else{a=c[a+8>>2]|0;lc[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function Mm(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(!(Fm(b,c[d+8>>2]|0,g)|0)){if(!(Fm(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;kc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;lc[c[(c[b>>2]|0)+20>>2]&31](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 Hm(0,d,e,f);while(0);return}function Nm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(Fm(a,c[b+8>>2]|0,0)|0)Gm(0,b,d,e);else{a=c[a+8>>2]|0;jc[c[(c[a>>2]|0)+28>>2]&7](a,b,d,e)}return}function Om(a){a=a|0;return}function Pm(){var a=0;a=Zb;Zb=Zb+16|0;if(!(am(158212,31)|0)){Zb=a;return}else wm(156134,a)}function Qm(a){a=a|0;var b=0;b=Zb;Zb=Zb+16|0;Xl(a);if(!(cm(c[39553]|0,0)|0)){Zb=b;return}else wm(156184,b)}function Rm(){var a=0,b=0;a=vm()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Sm(c[b+12>>2]|0);Sm(Tm()|0)}function Sm(a){a=a|0;var b=0;b=Zb;Zb=Zb+16|0;fc[a&3]();wm(156237,b)}function Tm(){var a=0;a=c[34297]|0;c[34297]=a+0;return a|0}function Um(a){a=a|0;return}function Vm(a){a=a|0;c[a>>2]=137280;Zm(a+4|0);return}function Wm(a){a=a|0;Vm(a);fm(a);return}function Xm(a){a=a|0;return Ym(a+4|0)|0}function Ym(a){a=a|0;return c[a>>2]|0}function Zm(a){a=a|0;var b=0,d=0;if(jm(a)|0?(b=_m(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)fm(b);return}function _m(a){a=a|0;return a+-12|0}function $m(a){a=a|0;Vm(a);fm(a);return}function an(a){a=a|0;xm(a);fm(a);return}function bn(a,b,c){a=a|0;b=b|0;c=c|0;return Fm(a,b,0)|0}function cn(a){a=a|0;xm(a);fm(a);return}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=Zb;Zb=Zb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(en(a,b,0)|0))if(((b|0)!=0?(e=Jm(b,38656,38744,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(Fm(c[a>>2]|0,c[b>>2]|0,0)|0)?!(Fm(c[a>>2]|0,38776,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=Jm(a,38656,38640,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=Jm(f,38656,38640,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;jc[c[(c[i>>2]|0)+28>>2]&7](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Zb=j;return a|0}function en(a,b,c){a=a|0;b=b|0;c=c|0;if(Fm(a,b,0)|0)a=1;else a=Fm(b,38784,0)|0;return a|0}function fn(a){a=a|0;xm(a);fm(a);return}function gn(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(Fm(b,c[d+8>>2]|0,h)|0)Im(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;ln(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;ln(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function hn(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(!(Fm(b,c[d+8>>2]|0,g)|0)){if(!(Fm(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;mn(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;mn(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;mn(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;mn(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;ln(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Hm(0,d,e,f);while(0);return}function jn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(Fm(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kn(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kn(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else Gm(0,d,e,f);while(0);return}function kn(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;jc[c[(c[a>>2]|0)+28>>2]&7](a,b,d+f|0,(g&2|0)==0?2:e);return}function ln(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;lc[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function mn(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;kc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nn(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function on(a){a=a|0;return}function pn(a){a=a|0;return}function qn(){var a=0;a=c[39554]|0;c[39554]=a+0;return a|0}function rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Zb;Zb=Zb+16|0;e=f;c[e>>2]=c[d>>2];a=dc[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Zb=f;return a&1|0}function sn(a){a=a|0;if(!a)a=0;else a=(Jm(a,38656,38744,0)|0)!=0&1;return a|0}function tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=w(e,f)|0;d=a>>>16;a=(c>>>16)+(w(e,d)|0)|0;e=b>>>16;b=w(e,f)|0;return (z((a>>>16)+(w(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function un(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=tn(e,f)|0;a=A()|0;return (z((w(b,f)|0)+(w(d,e)|0)+a|a&0|0),c|0|0)|0}function vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function wn(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 (z(d|0),a-c>>>0|0)|0}function xn(a){a=a|0;return (a?31-(x(a^a-1)|0)|0:32)|0}function yn(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 (z(n|0),f)|0}else{if(!g){n=0;f=0;return (z(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(x(i|0)|0)-(x(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 (z(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z(n|0),f)|0}g=h-1|0;if(g&h|0){i=(x(h|0)|0)+33-(x(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 (z(o|0),p)|0}else{p=xn(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z(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 (z(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 (z(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>>>((xn(i|0)|0)>>>0);return (z(o|0),p)|0}g=(x(i|0)|0)-(x(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 (z(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=vn(m|0,l|0,-1,-1)|0;d=A()|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;wn(k|0,d|0,e|0,n|0)|0;p=A()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=wn(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=A()|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 (z(o|0),p)|0}function zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return yn(a,b,c,d,0)|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}z(0);return b>>>c-32|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}z(a<<c-32|0);return 0}function Cn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Dn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Qa(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 En(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 Dn(b,c,d)|0;return b|0}function Fn(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 Gn(a){a=a|0;var b=0,d=0,e=0;e=Na()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Za(b|0)|0;X(12);return -1}if((b|0)>(e|0))if(!(Ra(b|0)|0)){X(12);return -1}c[i>>2]=b;return d|0}function Hn(a,b){a=a|0;b=b|0;return ac[a&7](b|0)|0}function In(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return bc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&3](b|0,c|0)|0}function Kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dc[a&15](b|0,c|0,d|0)|0}function Ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&1](b|0,c|0,d|0,e|0)|0}function Mn(a){a=a|0;fc[a&3]()}function Nn(a,b){a=a|0;b=b|0;gc[a&31](b|0)}function On(a,b,c){a=a|0;b=b|0;c=c|0;hc[a&31](b|0,c|0)}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ic[a&15](b|0,c|0,d|0)}function Qn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;jc[a&7](b|0,c|0,d|0,e|0)}function Rn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;kc[a&7](b|0,c|0,d|0,e|0,f|0)}function Sn(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;lc[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function Tn(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;mc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Un(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;nc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Vn(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;oc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Wn(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;pc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Xn(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;qc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function Yn(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;rc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function Zn(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;sc[a&1](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)}function _n(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;tc[a&1](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)}function $n(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;uc[a&1](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)}function ao(a){a=a|0;y(0);return 0}function bo(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;y(1);return 0}function co(a,b){a=a|0;b=b|0;y(2);return 0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;y(3);return 0}function fo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;y(4);return 0}function go(){y(5)}function ho(){T()}function io(a){a=a|0;y(6)}function jo(a,b){a=a|0;b=b|0;y(7)}function ko(a,b,c){a=a|0;b=b|0;c=c|0;y(8)}function lo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;y(9)}function mo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;y(10)}function no(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;y(11)}function oo(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;y(12)}function po(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;y(13)}function qo(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;y(14)}function ro(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;y(15)}function so(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;y(16)}function to(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;y(17)}function uo(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;y(18)}function vo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;y(19)}function wo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;y(20)} |
| | | function oh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;ib=Zb;Zb=Zb+96|0;ja=ib+56|0;Ca=ib+48|0;ya=ib+40|0;za=ib+32|0;Da=ib+92|0;ha=ib+90|0;la=ib+88|0;ma=ib+80|0;Ha=ib+72|0;Fa=ib+64|0;ba=ib;Ka=c[f+8>>2]|0;Ga=c[f+124>>2]|0;a[ma>>0]=0;a[Ha>>0]=0;a[Fa>>0]=0;$a=c[f+4>>2]|0;ua=c[f>>2]|0;va=c[f+20>>2]|0;fa=a[$a+4116>>0]|0;ab=fa<<24>>24;bb=1<<ab;gb=c[Ka+20>>2]|0;ra=c[Ka+304>>2]|0;pa=c[f+112>>2]&255;qa=c[f+116>>2]|0;xa=c[f+120>>2]|0;Ya=f+24|0;j=c[Ya>>2]|0;Za=f+28|0;k=c[Za>>2]|0;G=w(k,gb)|0;F=(c[f+36>>2]|0)+(G+j<<ab)|0;G=(c[f+40>>2]|0)+(((G|0)/2|0)+j<<ab)|0;na=(c[f+80>>2]|0)+k|0;Ja=k<<1;Na=(c[f+84>>2]|0)+Ja|0;aa=(c[f+72>>2]|0)+k|0;ca=(c[f+76>>2]|0)+Ja|0;a[la>>0]=a[f+96>>0]|0;ka=(c[f+100>>2]|0)+k|0;Ea=f+104|0;Ja=(c[f+108>>2]|0)+Ja|0;oa=(c[f+88>>2]|0)+j|0;Oa=(c[f+92>>2]|0)+(j<<1)|0;wa=$a+4118|0;H=(c[f+44>>2]|0)+(j*12|0)+((w(k,b[wa>>1]|0)|0)*12|0)|0;l=b[$a>>1]|0;hb=l+63>>6;ia=bb+-8|0;La=8-bb|0;_a=$a+2|0;i=b[_a>>1]|0;E=La-(k<<ab)+i|0;A=La-(j<<ab)+l|0;A=((A|0)<9?A:0)+bb|0;Sa=gb<<3;fb=0-Sa|0;p=F+((j|0)==0?0:-8)+((k|0)==0?0:fb)|0;Ma=f+48|0;n=c[Ma>>2]|0;cb=ab+-3|0;db=hb<<3;j=(j<<cb)+(((j|0)>0)<<31>>31)+(w(db,k<<cb)|0)|0;eb=f+32|0;m=c[eb>>2]|0;D=m+(j>>3)|0;k=((k|0)!=0)<<31>>31;Pa=bb+-1|0;E=Pa+((E|0)<9?E:0)>>3;a:do if((E|0)>(k|0)){B=j&7;C=(1<<(A+7>>3))+-1|0;z=0-A|0;if((A|0)<=0){j=0;while(1){Ia=((c[D+(w(k,hb)|0)>>2]|0)>>>B&C|0)==0;j=Ia?j:1;k=k+1|0;if((k|0)==(E|0)){ta=j;j=l;k=m;break a}}}s=gb<<1;t=gb*3|0;u=gb<<2;v=gb*5|0;x=gb*6|0;y=gb*7|0;l=0;j=p;while(1){i=(c[D+(w(k,hb)|0)>>2]|0)>>>B&C;if(!i)i=n;else{q=A;r=j;while(1){j=xn(i|0)|0;j=(i|0)==0?31:j;if(!j){l=(i|0)==-1;m=xn(~i|0)|0;p=l?248:m<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){j=0;do{a[n+j>>0]=a[r+j>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+128)>>0]=a[r+(j+gb)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+256)>>0]=a[r+(j+s)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+384)>>0]=a[r+(j+t)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+512)>>0]=a[r+(j+u)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+640)>>0]=a[r+(j+v)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+768)>>0]=a[r+(j+x)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+896)>>0]=a[r+(j+y)>>0]|0;j=j+1|0}while((j|0)<(p|0))}j=l?31:m}Ia=j<<3;Ba=(q|0)>(Ia|0)?Ia:q;n=n+Ba|0;r=r+Ba|0;q=q-Ia|0;if((q|0)<=0)break;else i=i>>>j}l=1;i=n+z|0;j=r+z|0}k=k+1|0;if((k|0)==(E|0))break;else{n=i+1024|0;j=j+Sa|0}}ta=l;j=b[$a>>1]|0;i=b[_a>>1]|0;k=c[eb>>2]|0}else{ta=0;j=l;k=m}while(0);ea=bb+-16|0;Aa=16-bb|0;A=c[Za>>2]|0;B=Aa+i-(A<<ab)|0;m=c[Ya>>2]|0;x=Aa+j-(m<<ab)|0;x=((x|0)<17?x:0)+bb|0;j=(A|0)==0;n=G+((m|0)==0?0:-16)+(j?0:fb)|0;Ia=f+52|0;l=c[Ia>>2]|0;i=(m<<cb)+(w(A<<cb,db)|0)|0;i=(m|0)>0?i+-2|0:i;A=k+(i>>3)|0;j=j?0:-2;Ba=bb+-9|0;B=Ba+((B|0)<17?B:0)>>3;b:do if((j|0)<(B|0)){y=i&7;z=(1<<(x+7>>3))+-1|0;u=((gb|0)/2|0)<<3;v=0-x|0;if((x|0)<=0){i=0;while(1){sa=((c[A+(w(j,hb)|0)>>2]|0)>>>y&z|0)==0;i=sa?i:1;j=j+1|0;if((j|0)==(B|0)){sa=i;j=m;break b}}}s=gb<<1;t=gb*3|0;m=0;k=n;while(1){i=(c[A+(w(j,hb)|0)>>2]|0)>>>y&z;if(!i)i=l;else{q=x;r=k;while(1){k=xn(i|0)|0;k=(i|0)==0?31:k;if(!k){m=(i|0)==-1;n=xn(~i|0)|0;p=m?248:n<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){k=0;do{a[l+k>>0]=a[r+k>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+128)>>0]=a[r+(k+gb)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+256)>>0]=a[r+(k+s)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+384)>>0]=a[r+(k+t)>>0]|0;k=k+1|0}while((k|0)<(p|0))}k=m?31:n}$=k<<3;sa=(q|0)>($|0)?$:q;l=l+sa|0;q=q-$|0;r=r+sa|0;if((q|0)<=0)break;else i=i>>>k}m=1;i=l+v|0;k=r+v|0}j=j+1|0;if((j|0)==(B|0))break;else{l=i+512|0;k=k+u|0}}sa=m;j=c[Ya>>2]|0}else{sa=0;j=m}while(0);if((j|0)>0){M=c[Za>>2]|0;if((M|0)>0){J=M+-1|0;n=b[wa>>1]|0;t=w(J,n)|0;K=j+-1|0;m=qa+(t+K<<1)|0;P=e[m>>1]|0;_=Sa+8|0;X=F+(-8-Sa)|0;$=Sa+16|0;Y=G+(-16-Sa)|0;Z=H+(~n*12|0)|0;x=j<<ab;N=(c[f+60>>2]|0)+x+-8|0;V=(c[f+68>>2]|0)+x+-16|0;y=M<<ab;O=(c[f+56>>2]|0)+y+-8|0;W=(c[f+64>>2]|0)+y+-16|0;do if(!(a[ra+(P*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0){m=0;l=0;break}a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;ic[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0}else{i=c[Z>>2]|0;k=i&7;if(!k){a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;ic[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[Z>>2]<<21>>28;a[ma+3>>0]=c[Z>>2]<<17>>28;a[ma+4>>0]=c[Z>>2]<<13>>28;if((k|0)==1){oc[c[Ka+12244>>2]&15](X,gb,O,N,aa,(c[Z>>2]|0)>>>19&31,ma,8,8);m=0;l=0;break}i=ja;c[i>>2]=-1;c[i+4>>2]=-1;i=ya;c[i>>2]=0;c[i+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=za;c[i>>2]=16843009;c[i+4>>2]=16843009;i=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!i?(a[ua+27>>0]|0)==0:0){k=0;l=0;i=j}else{L=(ia|0)==0;if(L)if((j|0)>1&(M|0)>1){k=M+-2|0;l=j+-2|0}else{k=0;l=0}else{k=J;l=K}if(i){E=b[m>>1]|0;F=E&65535;p=w(k,n)|0;G=b[qa+(K<<1)+(p<<1)>>1]|0;q=G&65535;s=ba+16|0;c[s>>2]=q;c[ba+8>>2]=q;H=b[qa+(t+l<<1)>>1]|0;c[ba>>2]=H&65535;I=b[qa+(t+j<<1)>>1]|0;z=I&65535;m=ba+20|0;c[m>>2]=z;c[ba+4>>2]=z;C=w(M,n)|0;B=b[qa+(C+K<<1)>>1]|0;A=B&65535;i=ba+24|0;c[i>>2]=A;c[ba+12>>2]=A;C=b[qa+(C+j<<1)>>1]|0;D=C&65535;r=ba+28|0;c[r>>2]=D;if(L){if((j|0)==1){c[i>>2]=-1;c[s>>2]=-1;n=-1}else{n=e[qa+(j+-2+t<<1)>>1]|0;c[i>>2]=n}if((M|0)==1){c[m>>2]=-1;i=-1;m=-1}else{i=e[qa+(l+1+t<<1)>>1]|0;c[m>>2]=i;m=e[qa+(j+-2+p<<1)>>1]|0}c[s>>2]=m;c[r>>2]=D;v=i;u=m}else{n=A;v=z;u=q}if((x|0)==8){a[za+4>>0]=0;i=0}else i=a[ra+(n*1272|0)+174>>0]|0;t=za+6|0;a[t>>0]=i;s=a[ra+(F*1272|0)+174>>0]|0;r=(y|0)==8?0:s;p=za+5|0;a[p>>0]=r;q=za+4|0;a[q>>0]=r;r=za+2|0;a[r>>0]=s;a[za>>0]=s;s=za+1|0;a[s>>0]=a[ra+(z*1272|0)+174>>0]|0;m=za+3|0;a[m>>0]=a[ra+(A*1272|0)+174>>0]|0;i=za+7|0;a[i>>0]=a[ra+(D*1272|0)+174>>0]|0;if((v|0)>(F|0))a[p>>0]=a[ra+(v*1272|0)+174>>0]|0;a[(H<<16>>16==E<<16>>16?za:ya)>>0]=1;a[(I<<16>>16==E<<16>>16?s:ya+1|0)>>0]=1;a[(G<<16>>16==E<<16>>16?r:ya+2|0)>>0]=1;a[(B<<16>>16==E<<16>>16?m:ya+3|0)>>0]=1;a[((u|0)==(F|0)?q:ya+4|0)>>0]=1;a[((v|0)==(F|0)?p:ya+5|0)>>0]=1;a[((n|0)==(F|0)?t:ya+6|0)>>0]=1;a[(C<<16>>16==E<<16>>16?i:ya+7|0)>>0]=1;ic[c[Ka+12188>>2]&15](ba,0,32)}do if(a[ua+27>>0]|0){i=a[va>>0]|0;u=c[Ya>>2]|0;if((u|0)!=(i&255|0)?(c[Za>>2]|0)!=(d[va+1>>0]|0):0)break;if(i<<24>>24==0?(a[va+1>>0]|0)==0:0)break;if(!(a[ua+33>>0]|0)){z=b[wa>>1]|0;p=w(J,z)|0;A=b[xa+(p+K<<1)>>1]|0;B=A&65535;v=w(k,z)|0;C=b[xa+(K<<1)+(v<<1)>>1]|0;m=C&65535;x=ba+16|0;c[x>>2]=m;c[ba+8>>2]=m;D=b[xa+(p+l<<1)>>1]|0;c[ba>>2]=D&65535;E=b[xa+(p+j<<1)>>1]|0;q=E&65535;r=ba+20|0;c[r>>2]=q;c[ba+4>>2]=q;z=w(M,z)|0;y=b[xa+(z+K<<1)>>1]|0;i=y&65535;n=ba+24|0;c[n>>2]=i;c[ba+12>>2]=i;z=b[xa+(z+j<<1)>>1]|0;s=z&65535;t=ba+28|0;c[t>>2]=s;if(L){if((u|0)==1){c[n>>2]=-1;c[x>>2]=-1;i=-1}else{i=e[xa+(j+-2+p<<1)>>1]|0;c[n>>2]=i}if((c[Za>>2]|0)==1){c[r>>2]=-1;n=-1;j=-1}else{n=e[xa+(l+1+p<<1)>>1]|0;c[r>>2]=n;j=e[xa+(j+-2+v<<1)>>1]|0}c[x>>2]=j;c[t>>2]=s;m=j;j=n}else j=q;if(D<<16>>16!=A<<16>>16){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0}if(E<<16>>16!=A<<16>>16){U=ya+1|0;a[U>>0]=a[U>>0]|1;a[za+1>>0]=0}if(C<<16>>16!=A<<16>>16){U=ya+2|0;a[U>>0]=a[U>>0]|1;a[za+2>>0]=0}if(y<<16>>16!=A<<16>>16){U=ya+3|0;a[U>>0]=a[U>>0]|1;a[za+3>>0]=0}if((m|0)!=(B|0)){U=ya+4|0;a[U>>0]=a[U>>0]|1;a[za+4>>0]=0}if((j|0)!=(B|0)){U=ya+5|0;a[U>>0]=a[U>>0]|1;a[za+5>>0]=0}if((i|0)!=(B|0)){U=ya+6|0;a[U>>0]=a[U>>0]|1;a[za+6>>0]=0}if(z<<16>>16==A<<16>>16)break;U=ya+7|0;a[U>>0]=a[U>>0]|1;a[za+7>>0]=0}}while(0);if((a[ya>>0]|0)!=0&(a[za>>0]|0)==0)a[ja>>0]=0;if(a[ya+1>>0]|0?(a[za+1>>0]|0)==0:0)a[ja+1>>0]=0;if(a[ya+2>>0]|0?(a[za+2>>0]|0)==0:0)a[ja+2>>0]=0;if(a[ya+3>>0]|0?(a[za+3>>0]|0)==0:0)a[ja+3>>0]=0;do if(a[ya+4>>0]|0){if(a[za+4>>0]|0)break;a[ja+4>>0]=0}while(0);do if(a[ya+5>>0]|0){if(a[za+5>>0]|0)break;a[ja+5>>0]=0}while(0);do if(a[ya+6>>0]|0){if(a[za+6>>0]|0)break;a[ja+6>>0]=0}while(0);do if(a[ya+7>>0]|0){if(a[za+7>>0]|0)break;a[ja+7>>0]=0}while(0);i=c[Ya>>2]|0}if((i<<ab|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}i=c[Za>>2]|0;if((i<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[N+8>>0]|0;a[la>>0]=a[O+8>>0]|0;qc[c[Ka+11888+((c[Z>>2]&7)+-2<<2)>>2]&7](X,gb,O,N,aa,Da,la,ja,ma,8,8);m=k}while(0);do if(a[ra+(P*1272|0)+157>>0]|0){U=Z+4|0;i=c[U>>2]|0;j=i&7;if(!j){a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;ic[c[Ka+12184>>2]&15](V,Y+da|0,16);break}a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;k=c[Z+8>>2]|0;a[Fa+1>>0]=k<<25>>28;a[Fa+2>>0]=k<<21>>28;a[Fa+3>>0]=k<<17>>28;a[Fa+4>>0]=k<<13>>28;if((j|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){qc[i&7](Y,gb,W,V,ca,(c[U>>2]|0)>>>19&31,k>>>19&31,Ha,Fa,16,8);break}else{qc[i&7](Y,gb,W,V,ca,k>>>19&31,(c[U>>2]|0)>>>19&31,Fa,Ha,16,8);break}}j=Ca;c[j>>2]=-1;c[j+4>>2]=-1;j=ya;c[j>>2]=0;c[j+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;j=za;c[j>>2]=16843009;c[j+4>>2]=16843009;j=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!j?(a[ua+27>>0]|0)==0:0)i=c[Ya>>2]|0;else da=104;do if((da|0)==104){n=(ea|0)==0;S=c[Za>>2]|0;if(n){i=c[Ya>>2]|0;if((S|0)>1&(i|0)>1){m=S+-2|0;l=i+-2|0}}else{i=c[Ya>>2]|0;m=S+-1|0;l=i+-1|0}L=i+-1|0;G=S+-1|0;if(j){D=b[wa>>1]|0;p=w(G,D)|0;u=b[qa+(p+L<<1)>>1]|0;v=u&65535;r=w(m,D)|0;x=b[qa+(L<<1)+(r<<1)>>1]|0;k=x&65535;s=ba+16|0;c[s>>2]=k;c[ba+8>>2]=k;y=b[qa+(p+l<<1)>>1]|0;c[ba>>2]=y&65535;z=b[qa+(p+i<<1)>>1]|0;A=z&65535;q=ba+20|0;c[q>>2]=A;c[ba+4>>2]=A;D=w(S,D)|0;B=b[qa+(D+L<<1)>>1]|0;C=B&65535;j=ba+24|0;c[j>>2]=C;c[ba+12>>2]=C;D=b[qa+(D+i<<1)>>1]|0;E=D&65535;t=ba+28|0;c[t>>2]=E;if(n){if((i|0)==1){c[j>>2]=-1;c[s>>2]=-1;n=-1}else{n=e[qa+(i+-2+p<<1)>>1]|0;c[j>>2]=n}if((S|0)==1){c[q>>2]=-1;j=-1;k=-1}else{j=e[qa+(l+1+p<<1)>>1]|0;c[q>>2]=j;k=e[qa+(i+-2+r<<1)>>1]|0}c[s>>2]=k;c[t>>2]=E}else{n=C;j=A}if((i<<ab|0)==16){a[za+4>>0]=0;q=0}else q=a[ra+(n*1272|0)+174>>0]|0;p=za+6|0;a[p>>0]=q;F=a[ra+(v*1272|0)+174>>0]|0;if((S<<ab+-1|0)==8){r=0;s=0}else{r=a[ra+(j*1272|0)+174>>0]|0;s=F}M=za+4|0;a[M>>0]=s;R=za+5|0;a[R>>0]=r;J=za+2|0;a[J>>0]=F;a[za>>0]=F;da=a[ra+(A*1272|0)+174>>0]|0;O=za+1|0;a[O>>0]=da;N=a[ra+(C*1272|0)+174>>0]|0;K=za+3|0;a[K>>0]=N;T=a[ra+(E*1272|0)+174>>0]|0;t=za+7|0;a[t>>0]=T;Q=y<<16>>16==u<<16>>16;a[(Q?za:ya)>>0]=1;P=z<<16>>16==u<<16>>16;a[(P?O:ya+1|0)>>0]=1;O=x<<16>>16==u<<16>>16;a[(O?J:ya+2|0)>>0]=1;z=B<<16>>16==u<<16>>16;a[(z?K:ya+3|0)>>0]=1;y=(k|0)==(v|0);a[(y?M:ya+4|0)>>0]=1;x=(j|0)==(v|0);a[(x?R:ya+5|0)>>0]=1;R=(n|0)==(v|0);a[(R?p:ya+6|0)>>0]=1;p=D<<16>>16==u<<16>>16;a[(p?t:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;T=p?1:T;p=(p^1)&1;q=R?1:q;R=(R^1)&1;t=x?1:r;r=(x^1)&1;x=y?1:s;s=(y^1)&1;y=z?1:N;u=(z^1)&1;z=O?1:F;v=(O^1)&1;j=P?1:da;k=(P^1)&1;P=Q?1:F;Q=(Q^1)&1}else{T=1;p=0;q=1;R=0;t=1;r=0;x=1;s=0;y=1;u=0;z=1;v=0;j=1;k=0;P=1;Q=0}do if(a[ua+27>>0]|0){n=a[va>>0]|0;if((i|0)!=(n&255|0)?(S|0)!=(d[va+1>>0]|0):0){A=y;y=r;r=R;n=T;m=Q;l=P;break}if(n<<24>>24==0?(a[va+1>>0]|0)==0:0){A=y;y=r;r=R;n=T;m=Q;l=P;break}if(!(a[ua+33>>0]|0)){N=b[wa>>1]|0;D=w(G,N)|0;O=b[xa+(D+L<<1)>>1]|0;M=O&65535;E=w(m,N)|0;K=b[xa+(L<<1)+(E<<1)>>1]|0;A=K&65535;H=ba+16|0;c[H>>2]=A;c[ba+8>>2]=A;I=b[xa+(D+l<<1)>>1]|0;c[ba>>2]=I&65535;J=b[xa+(D+i<<1)>>1]|0;B=J&65535;C=ba+20|0;c[C>>2]=B;c[ba+4>>2]=B;N=w(S,N)|0;L=b[xa+(N+L<<1)>>1]|0;n=L&65535;m=ba+24|0;c[m>>2]=n;c[ba+12>>2]=n;N=b[xa+(N+i<<1)>>1]|0;F=N&65535;G=ba+28|0;c[G>>2]=F;if(!ia){if((i|0)==1){c[m>>2]=-1;c[H>>2]=-1;n=-1}else{n=e[xa+(i+-2+D<<1)>>1]|0;c[m>>2]=n}if((S|0)==1){c[C>>2]=-1;m=-1;l=-1}else{m=e[xa+(l+1+D<<1)>>1]|0;c[C>>2]=m;l=e[xa+(i+-2+E<<1)>>1]|0}c[H>>2]=l;c[G>>2]=F;A=l;B=m}if(I<<16>>16==O<<16>>16){l=P;m=Q}else{a[ya>>0]=1;a[za>>0]=0;l=0;m=1}if(J<<16>>16!=O<<16>>16){a[ya+1>>0]=1;a[za+1>>0]=0;j=0;k=1}if(K<<16>>16!=O<<16>>16){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;v=1}if(L<<16>>16!=O<<16>>16){a[ya+3>>0]=1;a[za+3>>0]=0;y=0;u=1}if((A|0)!=(M|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;s=1}if((B|0)!=(M|0)){a[ya+5>>0]=1;a[za+5>>0]=0;t=0;r=1}if((n|0)==(M|0))n=R;else{a[ya+6>>0]=1;a[za+6>>0]=0;q=0;n=1}if(N<<16>>16==O<<16>>16){A=y;y=r;r=n;n=T;break}a[ya+7>>0]=1;a[za+7>>0]=0;A=y;y=r;r=n;p=1;n=0}else{A=y;y=r;r=R;n=T;m=Q;l=P}}else{A=y;y=r;r=R;n=T;m=Q;l=P}while(0);if(m<<24>>24!=0&l<<24>>24==0)a[Ca>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+1>>0]=0;if(v<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(u<<24>>24!=0&A<<24>>24==0)a[Ca+3>>0]=0;if(s<<24>>24!=0&x<<24>>24==0)a[Ca+4>>0]=0;if(y<<24>>24!=0&t<<24>>24==0)a[Ca+5>>0]=0;if(r<<24>>24!=0&q<<24>>24==0)a[Ca+6>>0]=0;if(!(p<<24>>24!=0&n<<24>>24==0))break;a[Ca+7>>0]=0}while(0);if((i<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}j=$a+4120|0;if((i|0)==(b[j>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[V+16>>0]|0;a[Da+1>>0]=a[V+17>>0]|0;a[Ea>>0]=a[W+16>>0]|0;k=f+105|0;a[k>>0]=a[W+17>>0]|0;if(fa<<24>>24==4?(i|0)!=((b[j>>1]|0)+-1|0):0){a[Ea>>0]=a[Y+(Sa+-2)>>0]|0;a[k>>0]=a[Y+(Sa+-1)>>0]|0}i=c[Ka+11904+((c[U>>2]&7)+-2<<2)>>2]|0;if(!Ga){rc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Ha,Fa,16,8);break}else{rc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Fa,Ha,16,8);break}}else{if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;ic[c[Ka+12184>>2]&15](V,Y+da|0,16)}while(0);R=X+_|0;Q=Y+$|0;i=Z+(((b[wa>>1]|0)+1|0)*12|0)|0;da=161}else{aa=F;_=G;i=H;da=254}}else{R=F;Q=G;i=H;da=161}do if((da|0)==161){j=c[Za>>2]|0;if((j|0)>0){K=b[wa>>1]|0;G=w(j+-1|0,K)|0;P=c[Ya>>2]|0;G=e[qa+(G+P<<1)>>1]|0;M=b[$a>>1]|0;P=P<<ab;J=La-P+M|0;J=((J|0)<9?J:0)+ia|0;M=Aa-P+M|0;M=((M|0)<17?M:0)+ea|0;H=R+fb|0;N=Q+fb|0;K=0-K|0;O=i+(K*12|0)|0;I=(c[f+60>>2]|0)+P|0;P=(c[f+68>>2]|0)+P|0;L=j<<ab;F=(c[f+56>>2]|0)+L+-8|0;L=(c[f+64>>2]|0)+L+-16|0;do if(J|0){if(!(a[ra+(G*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;ic[c[Ka+12184>>2]&15](I,H+$|0,J);break}j=c[O>>2]|0;k=j&7;if(!k){_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;ic[c[Ka+12184>>2]&15](I,H+$|0,J);break}a[ma+1>>0]=j<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((k|0)==1){oc[c[Ka+12244>>2]&15](H,gb,F,I,aa,(c[O>>2]|0)>>>19&31,ma,J,8);break}$=Ka+12188|0;ic[c[$>>2]&15](ja,-1,8);ic[c[$>>2]&15](ya,0,8);ic[c[$>>2]&15](ba,0,32);$=za;c[$>>2]=16843009;c[$+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){j=c[Ya>>2]|0;r=c[Za>>2]|0;n=r+-1|0;q=j+-1|0;m=(j|0)==0;if(m){c[ba>>2]=-1;c[ba+16>>2]=-1;l=b[wa>>1]|0;k=w(n,l)|0;l=w(r,l)|0;E=-1;s=-1}else{E=b[wa>>1]|0;k=w(n,E)|0;s=e[qa+(k+q<<1)>>1]|0;c[ba+16>>2]=s;c[ba>>2]=s;E=w(r,E)|0;l=E;E=e[qa+(E+q<<1)>>1]|0}c[ba+24>>2]=E;x=b[qa+(k+j<<1)>>1]|0;D=x&65535;c[ba+20>>2]=D;c[ba+8>>2]=D;c[ba+4>>2]=D;v=b[qa+(l+j<<1)>>1]|0;k=v&65535;c[ba+28>>2]=k;c[ba+12>>2]=k;if(m){a[za>>0]=0;l=0;u=0;m=a[ra+(D*1272|0)+174>>0]|0}else{m=a[ra+(D*1272|0)+174>>0]|0;a[za>>0]=m;l=a[ra+(E*1272|0)+174>>0]|0;u=m}y=za+4|0;a[y>>0]=u;B=za+6|0;a[B>>0]=l;z=za+5|0;a[z>>0]=m;p=za+2|0;a[p>>0]=m;t=za+1|0;a[t>>0]=m;A=a[ra+(k*1272|0)+174>>0]|0;k=za+3|0;a[k>>0]=A;C=za+7|0;a[C>>0]=A;if((E|0)<(D|0)){a[B>>0]=m;l=m}$=(s|0)==(D|0);s=$?1:u;a[($?za:ya)>>0]=1;a[t>>0]=1;a[p>>0]=1;da=v<<16>>16==x<<16>>16;p=da?1:A;a[(da?k:ya+3|0)>>0]=1;m=$?1:u;a[($?y:ya+4|0)>>0]=1;a[z>>0]=1;k=(E|0)==(D|0);l=k?1:l;a[(k?B:ya+6|0)>>0]=1;k=da?1:A;a[(da?C:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=190;else{x=j;v=p;da=180}}else{j=c[Ya>>2]|0;if(a[ua+27>>0]|0){n=c[Za>>2]|0;x=j;r=n;n=n+-1|0;q=j+-1|0;s=1;v=1;m=1;l=1;k=1;da=180}}do if((da|0)==180){j=a[va>>0]|0;if((x|0)!=(j&255|0)?(r|0)!=(d[va+1>>0]|0):0){p=v;j=x;da=190;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){p=v;j=x;da=190;break}if(!(a[ua+33>>0]|0)){if(!x){c[ba>>2]=-1;c[ba+16>>2]=-1;u=b[wa>>1]|0;j=w(n,u)|0;n=w(r,u)|0;u=-1;p=-1}else{u=b[wa>>1]|0;j=w(n,u)|0;p=e[xa+(j+q<<1)>>1]|0;c[ba+16>>2]=p;c[ba>>2]=p;u=w(r,u)|0;n=u;u=e[xa+(u+q<<1)>>1]|0}c[ba+24>>2]=u;q=b[xa+(j+x<<1)>>1]|0;t=q&65535;c[ba+20>>2]=t;c[ba+8>>2]=t;c[ba+4>>2]=t;j=b[xa+(n+x<<1)>>1]|0;r=j&65535;c[ba+28>>2]=r;c[ba+12>>2]=r;r=(p|0)==(t|0);if(!r){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0;s=0}n=j<<16>>16==q<<16>>16;if(n)p=v;else{p=ya+3|0;a[p>>0]=a[p>>0]|1;a[za+3>>0]=0;p=0}if(!r){m=ya+4|0;a[m>>0]=a[m>>0]|1;a[za+4>>0]=0;m=0}if((u|0)==(t|0))j=l;else{j=ya+6|0;a[j>>0]=a[j>>0]|1;a[za+6>>0]=0;j=0}if(n){l=j;j=x;da=190;break}l=ya+7|0;a[l>>0]=a[l>>0]|1;a[za+7>>0]=0;l=j;k=0;j=x;da=190}else{p=v;j=x;da=190}}while(0);if((da|0)==190){if((a[ya>>0]|0)!=0&s<<24>>24==0)a[ja>>0]=0;if((a[ya+3>>0]|0)!=0&p<<24>>24==0)a[ja+3>>0]=0;if((a[ya+4>>0]|0)!=0&m<<24>>24==0)a[ja+4>>0]=0;if((a[ya+6>>0]|0)!=0&l<<24>>24==0)a[ja+6>>0]=0;if((a[ya+7>>0]|0)!=0&k<<24>>24==0)a[ja+7>>0]=0}if(!j){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-(j<<ab)|0)<=(J|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}j=c[Za>>2]|0;if((j<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((j|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[oa>>0]|0;a[la>>0]=a[R+-1>>0]|0;qc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](H,gb,F,I,aa,Da,la,ja,ma,J,8)}while(0);do if(M|0){if(!(a[ra+(G*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;ic[c[Ka+12184>>2]&15](P,N+ba|0,M);break}H=i+(K*12|0)+4|0;j=c[H>>2]|0;k=j&7;if(!k){$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;ic[c[Ka+12184>>2]&15](P,N+ba|0,M);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=j<<21>>28;a[Ha+3>>0]=j<<17>>28;a[Ha+4>>0]=j<<13>>28;j=c[i+(K*12|0)+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){qc[i&7](N,gb,L,P,ca,(c[H>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,M,8);break}else{qc[i&7](N,gb,L,P,ca,j>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,M,8);break}}aa=Ca;c[aa>>2]=-1;c[aa+4>>2]=-1;aa=ya;c[aa>>2]=0;c[aa+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;aa=za;c[aa>>2]=16843009;c[aa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;E=c[Za>>2]|0;F=E+-1|0;G=i+-1|0;l=(i|0)==0;j=b[wa>>1]|0;k=w(F,j)|0;if(l){j=w(E,j)|0;y=-1;C=-1}else{C=w(E,j)|0;j=C;y=e[qa+(k+G<<1)>>1]|0;C=e[qa+(C+G<<1)>>1]|0}c[ba+16>>2]=y;c[ba>>2]=y;c[ba+24>>2]=C;q=b[qa+(k+i<<1)>>1]|0;A=q&65535;c[ba+20>>2]=A;c[ba+8>>2]=A;c[ba+4>>2]=A;p=b[qa+(j+i<<1)>>1]|0;j=p&65535;c[ba+28>>2]=j;c[ba+12>>2]=j;if(l){a[za>>0]=0;k=0;r=0;l=a[ra+(A*1272|0)+174>>0]|0}else{l=a[ra+(A*1272|0)+174>>0]|0;a[za>>0]=l;k=a[ra+(C*1272|0)+174>>0]|0;r=l}u=za+4|0;a[u>>0]=r;B=za+6|0;a[B>>0]=k;v=za+5|0;a[v>>0]=l;m=za+2|0;a[m>>0]=l;n=za+1|0;a[n>>0]=l;z=a[ra+(j*1272|0)+174>>0]|0;j=za+3|0;a[j>>0]=z;D=za+7|0;a[D>>0]=z;if((C|0)<(A|0)){a[B>>0]=l;k=l}da=(y|0)==(A|0);x=da?1:r;s=(da^1)&1;a[(da?za:ya)>>0]=1;a[n>>0]=1;a[m>>0]=1;da=p<<16>>16==q<<16>>16;t=da?1:z;q=(da^1)&1;a[(da?j:ya+3|0)>>0]=1;j=(y|0)==(A|0);r=j?1:r;m=(j^1)&1;a[(j?u:ya+4|0)>>0]=1;a[v>>0]=1;j=(C|0)==(A|0);l=j?1:k;n=(j^1)&1;a[(j?B:ya+6|0)>>0]=1;j=da?1:z;k=(da^1)&1;a[(da?D:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=234;else{A=i;u=E;p=F;v=G;z=m;da=224}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){p=c[Za>>2]|0;A=i;u=p;p=p+-1|0;v=i+-1|0;s=0;x=1;q=0;t=1;z=0;r=1;n=0;l=1;k=0;j=1;da=224}}do if((da|0)==224){i=a[va>>0]|0;if((A|0)!=(i&255|0)?(u|0)!=(d[va+1>>0]|0):0){m=z;i=A;da=234;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){m=z;i=A;da=234;break}if(!(a[ua+33>>0]|0)){i=b[wa>>1]|0;m=w(p,i)|0;if(!A){i=w(u,i)|0;u=-1;y=-1}else{y=w(u,i)|0;i=y;u=e[xa+(m+v<<1)>>1]|0;y=e[xa+(y+v<<1)>>1]|0}c[ba+16>>2]=u;c[ba>>2]=u;c[ba+24>>2]=y;m=b[xa+(m+A<<1)>>1]|0;v=m&65535;c[ba+20>>2]=v;c[ba+8>>2]=v;c[ba+4>>2]=v;i=b[xa+(i+A<<1)>>1]|0;da=i&65535;c[ba+28>>2]=da;c[ba+12>>2]=da;if((u|0)!=(v|0)){a[ya>>0]=1;a[za>>0]=0;x=0;s=1}p=i<<16>>16==m<<16>>16;if(!p){a[ya+3>>0]=1;a[za+3>>0]=0;t=0;q=1}if((u|0)==(v|0))m=z;else{a[ya+4>>0]=1;a[za+4>>0]=0;r=0;m=1}if((y|0)==(v|0))i=n;else{a[ya+6>>0]=1;a[za+6>>0]=0;l=0;i=1}if(p){n=i;i=A;da=234;break}a[ya+7>>0]=1;a[za+7>>0]=0;n=i;k=1;j=0;i=A;da=234}else{m=z;i=A;da=234}}while(0);if((da|0)==234){if(s<<24>>24!=0&x<<24>>24==0)a[Ca>>0]=0;if(q<<24>>24!=0&t<<24>>24==0)a[Ca+3>>0]=0;if(m<<24>>24!=0&r<<24>>24==0)a[Ca+4>>0]=0;if(n<<24>>24!=0&l<<24>>24==0)a[Ca+6>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(M|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[Oa>>0]|0;a[Da+1>>0]=a[Oa+1>>0]|0;a[Ea>>0]=a[Q+-2>>0]|0;a[f+105>>0]=a[Q+-1>>0]|0;i=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){rc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Ha,Fa,M,8);break}else{rc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Fa,Ha,M,8);break}}while(0);i=O+((b[wa>>1]|0)*12|0)|0}j=c[Ya>>2]|0;if((j|0)>0){aa=R;_=Q;M=c[Za>>2]|0;da=254;break}else{n=(bb|0)/2|0;aa=R;_=Q;M=i;p=8-n|0;n=n+-8|0;Q=ab+-1|0;i=f+60|0;k=f+68|0;l=f+56|0;m=f+64|0;J=j;break}}while(0);if((da|0)==254){p=(bb|0)/2|0;n=p+-8|0;L=b[wa>>1]|0;K=w(M,L)|0;I=j+-1|0;J=K+I|0;q=qa+(J<<1)|0;Q=e[q>>1]|0;V=b[_a>>1]|0;N=M<<ab;U=La-N+(V<<16>>16)|0;U=((U|0)<9?U:0)+ia|0;Z=ab+-1|0;p=8-p|0;V=p-(M<<Z)+(((V<<16>>16)/2|0)<<16>>16)|0;V=((V|0)<9?V:0)+n|0;R=aa+-8|0;W=_+-16|0;O=i+-12|0;$=f+60|0;P=j<<ab;S=(c[$>>2]|0)+P+-8|0;ba=f+68|0;X=(c[ba>>2]|0)+P+-16|0;ca=f+56|0;T=(c[ca>>2]|0)+N|0;m=f+64|0;Y=(c[m>>2]|0)+N|0;do if(U|0){if(!(a[ra+(Q*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((w(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(w(U+-1|0,gb)|0)|0;ic[c[Ka+12184>>2]&15](S,U,8);break}k=c[O>>2]|0;l=k&7;if(!l){if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((w(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(w(U+-1|0,gb)|0)|0;ic[c[Ka+12184>>2]&15](S,U,8);break}a[ma+1>>0]=k<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((l|0)==1){oc[c[Ka+12244>>2]&15](R,gb,T,S,na,(c[O>>2]|0)>>>19&31,ma,8,U);break}H=ja;c[H>>2]=-1;c[H+4>>2]=-1;H=ya;c[H>>2]=0;c[H+4>>2]=0;H=za;c[H>>2]=16843009;c[H+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){H=M+-1|0;if(!M){r=b[q>>1]|0;D=r&65535;q=b[qa+(K+j<<1)>>1]|0;v=0;k=q&65535;l=a[ra+(D*1272|0)+174>>0]|0;C=-1;y=-1}else{y=w(H,L)|0;r=b[q>>1]|0;D=r&65535;q=b[qa+(K+j<<1)>>1]|0;l=a[ra+(D*1272|0)+174>>0]|0;v=l;k=q&65535;C=e[qa+(y+j<<1)>>1]|0;y=e[qa+(y+I<<1)>>1]|0}x=za+2|0;a[x>>0]=v;z=za+4|0;a[z>>0]=v;F=za+5|0;a[F>>0]=v;E=a[ra+(k*1272|0)+174>>0]|0;k=za+1|0;a[k>>0]=E;s=za+3|0;a[s>>0]=l;G=za+7|0;a[G>>0]=E;if((C|0)>(D|0)){l=a[ra+(C*1272|0)+174>>0]|0;a[F>>0]=l}else l=v;a[za>>0]=1;da=q<<16>>16==r<<16>>16;A=da?1:E;t=(da^1)&1;a[(da?k:ya+1|0)>>0]=1;k=(y|0)==(D|0);B=k?1:v;u=(k^1)&1;a[(k?x:ya+2|0)>>0]=1;a[s>>0]=1;k=(y|0)==(D|0);v=k?1:v;s=(k^1)&1;a[(k?z:ya+4|0)>>0]=1;k=(C|0)==(D|0);q=k?1:l;r=(k^1)&1;a[(k?F:ya+5|0)>>0]=1;a[za+6>>0]=1;k=da?1:E;l=(da^1)&1;a[(da?G:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0))da=280;else{y=H;x=v;C=q;da=272}}else if(a[ua+27>>0]|0){y=M+-1|0;t=0;A=1;u=0;B=1;s=0;x=1;r=0;C=1;l=0;k=1;da=272}do if((da|0)==272){q=a[va>>0]|0;if((j|0)!=(q&255|0)?(M|0)!=(d[va+1>>0]|0):0){v=x;q=C;da=280;break}if(q<<24>>24==0?(a[va+1>>0]|0)==0:0){v=x;q=C;da=280;break}if(!(a[ua+33>>0]|0)){if(!M){q=-1;z=-1}else{z=w(y,L)|0;q=e[xa+(z+I<<1)>>1]|0;z=e[xa+(z+j<<1)>>1]|0}y=b[xa+(J<<1)>>1]|0;v=y&65535;y=(b[xa+(K+j<<1)>>1]|0)==y<<16>>16;if(!y){a[ya+1>>0]=1;a[za+1>>0]=0;A=0;t=1}if((q|0)!=(v|0)){a[ya+2>>0]=1;a[za+2>>0]=0;B=0;u=1}if((q|0)!=(v|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;s=1}if((z|0)==(v|0))q=C;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;r=1}if(y){v=x;da=280}else{a[ya+7>>0]=1;a[za+7>>0]=0;v=x;l=1;k=0;da=280}}else{v=x;q=C;da=280}}while(0);if((da|0)==280){if(t<<24>>24!=0&A<<24>>24==0)a[ja+1>>0]=0;if(u<<24>>24!=0&B<<24>>24==0)a[ja+2>>0]=0;if(s<<24>>24!=0&v<<24>>24==0)a[ja+4>>0]=0;if(r<<24>>24!=0&q<<24>>24==0)a[ja+5>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+7>>0]=0}if((P|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((j|0)==(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!M){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-N|0)<=(U|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[S+8>>0]|0;a[la>>0]=a[ka>>0]|0;qc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](R,gb,T,S,na,Da,la,ja,ma,8,U)}while(0);do if(V|0){if(!(a[ra+(Q*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((V|0)>0){j=0;do{ga=w(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(w(V+-1|0,gb)|0)|0;ic[c[Ka+12184>>2]&15](X,ha,16);break}H=i+-8|0;j=c[H>>2]|0;k=j&7;if(!k){if((V|0)>0){j=0;do{ga=w(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(w(V+-1|0,gb)|0)|0;ic[c[Ka+12184>>2]&15](X,ha,16);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=c[H>>2]<<21>>28;a[Ha+3>>0]=c[H>>2]<<17>>28;a[Ha+4>>0]=c[H>>2]<<13>>28;l=i+-4|0;a[Fa+1>>0]=c[l>>2]<<25>>28;a[Fa+2>>0]=c[l>>2]<<21>>28;a[Fa+3>>0]=c[l>>2]<<17>>28;a[Fa+4>>0]=c[l>>2]<<13>>28;if((k|0)==1){j=c[Ka+12248>>2]|0;if(!Ga){qc[j&7](W,gb,Y,X,Na,(c[H>>2]|0)>>>19&31,(c[l>>2]|0)>>>19&31,Ha,Fa,16,V);break}else{qc[j&7](W,gb,Y,X,Na,(c[l>>2]|0)>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,16,V);break}}U=Ca;c[U>>2]=-1;c[U+4>>2]=-1;U=ya;c[U>>2]=0;c[U+4>>2]=0;U=za;c[U>>2]=16843009;c[U+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){k=c[Ya>>2]|0;E=k+-1|0;B=c[Za>>2]|0;C=B+-1|0;l=(B|0)==0;j=b[wa>>1]|0;if(l){y=-1;t=-1}else{t=w(C,j)|0;y=e[qa+(t+k<<1)>>1]|0;t=e[qa+(t+E<<1)>>1]|0}q=w(B,j)|0;j=b[qa+(q+E<<1)>>1]|0;v=j&65535;q=b[qa+(q+k<<1)>>1]|0;if(l)l=0;else l=a[ra+(v*1272|0)+174>>0]|0;r=za+2|0;a[r>>0]=l;s=za+4|0;a[s>>0]=l;x=za+5|0;a[x>>0]=l;if((y|0)>(v|0)){u=a[ra+(y*1272|0)+174>>0]|0;a[x>>0]=u}else u=l;T=a[ra+((q&65535)*1272|0)+174>>0]|0;z=za+1|0;a[z>>0]=T;G=za+3|0;a[G>>0]=a[ra+(v*1272|0)+174>>0]|0;da=za+7|0;a[da>>0]=T;a[za>>0]=1;U=q<<16>>16==j<<16>>16;D=U?1:T;A=(U^1)&1;a[(U?z:ya+1|0)>>0]=1;j=(t|0)==(v|0);z=j?1:l;F=(j^1)&1;a[(j?r:ya+2|0)>>0]=1;a[G>>0]=1;j=(t|0)==(v|0);G=j?1:l;r=(j^1)&1;a[(j?s:ya+4|0)>>0]=1;j=(y|0)==(v|0);q=j?1:u;s=(j^1)&1;a[(j?x:ya+5|0)>>0]=1;a[za+6>>0]=1;j=U?1:T;l=(U^1)&1;a[(U?da:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0)){t=A;y=D;u=F;v=G;da=325}else{t=A;y=D;u=F;D=l;da=317}}else{j=c[Ya>>2]|0;if(!(a[ua+27>>0]|0))k=j;else{C=c[Za>>2]|0;k=j;B=C;C=C+-1|0;E=j+-1|0;t=0;y=1;u=0;z=1;r=0;G=1;s=0;q=1;D=0;j=1;da=317}}do if((da|0)==317){l=a[va>>0]|0;if((k|0)!=(l&255|0)?(B|0)!=(d[va+1>>0]|0):0){v=G;l=D;da=325;break}if(l<<24>>24==0?(a[va+1>>0]|0)==0:0){v=G;l=D;da=325;break}if(!(a[ua+33>>0]|0)){l=b[wa>>1]|0;if(!B){v=-1;A=-1}else{A=w(C,l)|0;v=e[xa+(A+E<<1)>>1]|0;A=e[xa+(A+k<<1)>>1]|0}da=w(B,l)|0;x=b[xa+(da+E<<1)>>1]|0;l=x&65535;x=(b[xa+(da+k<<1)>>1]|0)==x<<16>>16;if(!x){a[ya+1>>0]=1;a[za+1>>0]=0;y=0;t=1}if((v|0)!=(l|0)){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;u=1}if((v|0)==(l|0))v=G;else{a[ya+4>>0]=1;a[za+4>>0]=0;v=0;r=1}if((A|0)==(l|0))l=s;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;l=1}if(x){s=l;l=D;da=325;break}a[ya+7>>0]=1;a[za+7>>0]=0;s=l;l=1;j=0;da=325}else{v=G;l=D;da=325}}while(0);if((da|0)==325){if(t<<24>>24!=0&y<<24>>24==0)a[Ca+1>>0]=0;if(u<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(r<<24>>24!=0&v<<24>>24==0)a[Ca+4>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+5>>0]=0;if(l<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if((k<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}l=b[wa>>1]|0;if((k|0)==(l|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}j=c[Za>>2]|0;if(!j){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(j<<Z)|0)<=(V|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[X+16>>0]|0;j=Da+1|0;a[j>>0]=a[X+17>>0]|0;a[ha>>0]=a[Ja>>0]|0;a[ha+1>>0]=a[Ja+1>>0]|0;if(fa<<24>>24==4?(ga=16-gb|0,(k|0)!=(l+-1|0)):0){a[Da>>0]=a[W+ga>>0]|0;a[j>>0]=a[W+(ga+1)>>0]|0}j=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){rc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Ha,Fa,16,V);break}else{rc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Fa,Ha,16,V);break}}while(0);M=i;Q=Z;i=$;k=ba;l=ca;J=c[Ya>>2]|0}R=b[$a>>1]|0;I=J<<ab;L=La-I+R|0;L=((L|0)<9?L:0)+ia|0;R=Aa-I+R|0;R=((R|0)<17?R:0)+ea|0;P=b[_a>>1]|0;F=c[Za>>2]|0;G=F<<ab;K=La+(P<<16>>16)-G|0;K=((K|0)<9?K:0)+ia|0;P=p-(F<<Q)+(((P<<16>>16)/2|0)<<16>>16)|0;P=((P|0)<9?P:0)+n|0;H=(c[i>>2]|0)+I|0;O=(c[k>>2]|0)+I|0;E=(c[l>>2]|0)+G|0;N=(c[m>>2]|0)+G|0;do if((L|0)!=0&(K|0)!=0){if(!(a[(c[f+16>>2]|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(w(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=w(K+-1|0,gb)|0;ic[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}i=c[M>>2]|0;j=i&7;if(!j){j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(w(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=w(K+-1|0,gb)|0;ic[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[M>>2]<<21>>28;a[ma+3>>0]=c[M>>2]<<17>>28;a[ma+4>>0]=c[M>>2]<<13>>28;if((j|0)==1){oc[c[Ka+12244>>2]&15](aa,gb,E,H,na,(c[M>>2]|0)>>>19&31,ma,L,K);break}ia=ja;c[ia>>2]=-1;c[ia+4>>2]=-1;ia=ya;c[ia>>2]=0;c[ia+4>>2]=0;ia=za;c[ia>>2]=16843009;c[ia+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){D=F+-1|0;C=J+-1|0;j=(J|0)==0;if(j)B=-1;else B=e[qa+((w(F,b[wa>>1]|0)|0)+C<<1)>>1]|0;k=(F|0)==0;i=b[wa>>1]|0;if(k){y=-1;v=-1}else{v=w(D,i)|0;y=e[qa+(v+J<<1)>>1]|0;v=e[qa+(v+C<<1)>>1]|0}z=e[qa+((w(F,i)|0)+J<<1)>>1]|0;if(j){a[za+6>>0]=0;a[za>>0]=0;a[za+4>>0]=0;l=0;j=0}else{j=a[ra+(B*1272|0)+174>>0]|0;a[za+6>>0]=j;l=a[ra+(z*1272|0)+174>>0]|0;a[za>>0]=l}i=a[ra+(z*1272|0)+174>>0]|0;r=k?0:i;m=za+2|0;a[m>>0]=r;u=za+4|0;a[u>>0]=r;x=za+5|0;a[x>>0]=r;k=za+1|0;a[k>>0]=i;q=za+3|0;a[q>>0]=i;A=za+7|0;a[A>>0]=i;if((B|0)<(z|0))a[za+6>>0]=i;else i=j;ia=(B|0)==(z|0);s=ia?1:l;n=(ia^1)&1;a[(ia?za:ya)>>0]=1;a[k>>0]=1;ia=(y|0)==(z|0);t=ia?1:r;p=(ia^1)&1;a[(ia?m:ya+2|0)>>0]=1;a[q>>0]=1;ia=(v|0)==(z|0);m=ia?1:r;q=(ia^1)&1;a[(ia?u:ya+4|0)>>0]=1;ia=(y|0)==(z|0);k=ia?1:r;l=(ia^1)&1;a[(ia?x:ya+5|0)>>0]=1;ia=(B|0)==(z|0);i=ia?1:i;j=(ia^1)&1;a[(ia?za:ya)+6>>0]=1;a[A>>0]=1;if(!(a[ua+27>>0]|0))da=380;else{v=C;r=D;y=q;x=m;z=j;da=369}}else if(a[ua+27>>0]|0){v=J+-1|0;r=F+-1|0;n=0;s=1;p=0;t=1;y=0;x=1;l=0;k=1;z=0;i=1;da=369}do if((da|0)==369){j=a[va>>0]|0;if((J|0)!=(j&255|0)?(F|0)!=(d[va+1>>0]|0):0){q=y;m=x;j=z;da=380;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){q=y;m=x;j=z;da=380;break}if(!(a[ua+33>>0]|0)){if(!J)u=-1;else u=e[xa+((w(F,b[wa>>1]|0)|0)+v<<1)>>1]|0;j=b[wa>>1]|0;if(!F){r=-1;m=-1}else{m=w(r,j)|0;r=e[xa+(m+J<<1)>>1]|0;m=e[xa+(m+v<<1)>>1]|0}q=e[xa+((w(F,j)|0)+J<<1)>>1]|0;if((u|0)!=(q|0)){a[ya>>0]=1;a[za>>0]=0;s=0;n=1}if((r|0)!=(q|0)){a[ya+2>>0]=1;a[za+2>>0]=0;t=0;p=1}if((m|0)==(q|0)){m=x;j=y}else{a[ya+4>>0]=1;a[za+4>>0]=0;m=0;j=1}if((r|0)!=(q|0)){a[ya+5>>0]=1;a[za+5>>0]=0;k=0;l=1}if((u|0)==(q|0)){q=j;j=z;da=380}else{a[ya+6>>0]=1;a[za+6>>0]=0;q=j;j=1;i=0;da=380}}else{q=y;m=x;j=z;da=380}}while(0);if((da|0)==380){if(n<<24>>24!=0&s<<24>>24==0)a[ja>>0]=0;if(p<<24>>24!=0&t<<24>>24==0)a[ja+2>>0]=0;if(q<<24>>24!=0&m<<24>>24==0)a[ja+4>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+5>>0]=0;if(j<<24>>24!=0&i<<24>>24==0)a[ja+6>>0]=0}if(!J){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-I|0)<=(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!F){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-G|0)<=(K|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[aa+(L-gb)>>0]|0;ia=w(K,gb)|0;a[la>>0]=a[aa+(ia+-1)>>0]|0;qc[c[Ka+11888+((c[M>>2]&7)+-2<<2)>>2]&7](aa,gb,E,H,na,Da,la,ja,ma,L,K);a[oa>>0]=a[aa+((w(K+-1|0,gb)|0)+L)>>0]|0;a[ka>>0]=a[aa+(L+-1+ia)>>0]|0}while(0);do if((R|0)!=0&(P|0)!=0){if(!(a[(c[f+16>>2]|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ha=w(i,gb)|0;Ja=i<<1;a[N+Ja>>0]=a[_+(j+Ha)>>0]|0;a[N+(Ja|1)>>0]=a[_+(k+Ha)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=w(P+-1|0,gb)|0;ic[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;break}F=M+4|0;i=c[F>>2]|0;k=i&7;do if(k){a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;j=c[M+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){qc[i&7](_,gb,N,O,Na,(c[F>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,R,P);break}else{qc[i&7](_,gb,N,O,Na,j>>>19&31,(c[F>>2]|0)>>>19&31,Fa,Ha,R,P);break}}oa=Ca;c[oa>>2]=-1;c[oa+4>>2]=-1;oa=ya;c[oa>>2]=0;c[oa+4>>2]=0;oa=za;c[oa>>2]=16843009;c[oa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;C=c[Za>>2]|0;E=C+-1|0;D=i+-1|0;k=(i|0)==0;if(k)B=-1;else B=e[qa+((w(C,b[wa>>1]|0)|0)+D<<1)>>1]|0;l=(C|0)==0;j=b[wa>>1]|0;if(l){A=-1;r=-1}else{r=w(E,j)|0;A=e[qa+(r+i<<1)>>1]|0;r=e[qa+(r+D<<1)>>1]|0}z=e[qa+((w(C,j)|0)+i<<1)>>1]|0;if(k){a[za>>0]=0;a[za+4>>0]=0;a[za+6>>0]=0;n=0;m=0}else{m=a[ra+(B*1272|0)+174>>0]&1;a[za+6>>0]=m;n=a[ra+(z*1272|0)+174>>0]&1;a[za>>0]=n}if(l){a[za+2>>0]=0;k=a[ra+(z*1272|0)+174>>0]|0;j=k&1;s=0}else{k=a[ra+(z*1272|0)+174>>0]|0;s=k&1;a[za+2>>0]=s;j=s}v=za+4|0;a[v>>0]=s;x=za+5|0;a[x>>0]=s;l=za+1|0;a[l>>0]=j;q=za+3|0;a[q>>0]=j;y=za+7|0;a[y>>0]=j;if((B|0)<(z|0))a[za+6>>0]=k;else k=m;ra=(B|0)==(z|0);t=ra?1:n;n=(ra^1)&1;a[(ra?za:ya)>>0]=1;a[l>>0]=1;ra=(A|0)==(z|0);u=ra?1:s;p=(ra^1)&1;a[(ra?za:ya)+2>>0]=1;a[q>>0]=1;ra=(r|0)==(z|0);q=ra?1:s;r=(ra^1)&1;a[(ra?v:ya+4|0)>>0]=1;ra=(A|0)==(z|0);l=ra?1:s;m=(ra^1)&1;a[(ra?x:ya+5|0)>>0]=1;ra=(B|0)==(z|0);j=ra?1:k;k=(ra^1)&1;a[(ra?za:ya)+6>>0]=1;a[y>>0]=1;if(!(a[ua+27>>0]|0))da=435;else{B=i;z=C;y=D;s=E;A=r;da=424}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){s=c[Za>>2]|0;B=i;z=s;y=i+-1|0;s=s+-1|0;n=0;t=1;p=0;u=1;A=0;q=1;m=0;l=1;k=0;j=1;da=424}}do if((da|0)==424){i=a[va>>0]|0;if((B|0)!=(i&255|0)?(z|0)!=(d[va+1>>0]|0):0){r=A;i=B;da=435;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){r=A;i=B;da=435;break}if(!(a[ua+33>>0]|0)){if(!B)x=-1;else x=e[xa+((w(z,b[wa>>1]|0)|0)+y<<1)>>1]|0;i=b[wa>>1]|0;if(!z){v=-1;r=-1}else{r=w(s,i)|0;v=e[xa+(r+B<<1)>>1]|0;r=e[xa+(r+y<<1)>>1]|0}s=e[xa+((w(z,i)|0)+B<<1)>>1]|0;if((x|0)!=(s|0)){a[ya>>0]=1;a[za>>0]=0;t=0;n=1}if((v|0)!=(s|0)){a[ya+2>>0]=1;a[za+2>>0]=0;u=0;p=1}if((r|0)==(s|0))i=A;else{a[ya+4>>0]=1;a[za+4>>0]=0;q=0;i=1}if((v|0)!=(s|0)){a[ya+5>>0]=1;a[za+5>>0]=0;l=0;m=1}if((x|0)==(s|0)){r=i;i=B;da=435;break}a[ya+6>>0]=1;a[za+6>>0]=0;r=i;k=1;j=0;i=B;da=435}else{r=A;i=B;da=435}}while(0);if((da|0)==435){if(n<<24>>24!=0&t<<24>>24==0)a[Ca>>0]=0;if(p<<24>>24!=0&u<<24>>24==0)a[Ca+2>>0]=0;if(r<<24>>24!=0&q<<24>>24==0)a[Ca+4>>0]=0;if(m<<24>>24!=0&l<<24>>24==0)a[Ca+5>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+6>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(R|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if(!i){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(i<<Q)|0)<=(P|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}i=R-gb|0;a[Da>>0]=a[_+i>>0]|0;a[Da+1>>0]=a[_+(i+1)>>0]|0;i=w(P,gb)|0;a[Ea>>0]=a[_+(i+-2)>>0]|0;a[f+105>>0]=a[_+(i+-1)>>0]|0;i=c[Ka+11904+((c[F>>2]&7)+-2<<2)>>2]|0;if(!Ga){rc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Ha,Fa,R,P);break}else{rc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Fa,Ha,R,P);break}}else{j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ga=w(i,gb)|0;Ha=i<<1;a[N+Ha>>0]=a[_+(j+Ga)>>0]|0;a[N+(Ha|1)>>0]=a[_+(k+Ga)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=w(P+-1|0,gb)|0;ic[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0}while(0);Na=(w(P+-1|0,gb)|0)+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;Oa=(w(P,gb)|0)+R|0;a[Ja>>0]=a[_+(Oa+-2)>>0]|0;a[Ja+1>>0]=a[_+(Oa+-1)>>0]|0}while(0);if((ta|0?(o=c[Za>>2]|0,Ua=La+(b[_a>>1]|0)-(o<<ab)|0,Qa=c[Ya>>2]|0,Ra=La+(b[$a>>1]|0)-(Qa<<ab)|0,Ra=((Ra|0)<9?Ra:0)+bb|0,h=aa+((Qa|0)==0?0:-8)+((o|0)==0?0:fb)|0,g=c[Ma>>2]|0,Qa=(Qa<<cb)+(w(o<<cb,db)|0)+(((Qa|0)>0)<<31>>31)|0,Ta=(c[eb>>2]|0)+(Qa>>3)|0,o=((o|0)!=0)<<31>>31,Ua=Pa+((Ua|0)<9?Ua:0)>>3,(Ua|0)>(o|0)):0)?(Va=Qa&7,Wa=(1<<(Ra+7>>3))+-1|0,Xa=0-Ra|0,(Ra|0)>0):0){p=gb<<1;q=gb*3|0;r=gb<<2;s=gb*5|0;t=gb*6|0;u=gb*7|0;while(1){i=(c[Ta+(w(o,hb)|0)>>2]|0)>>>Va&Wa;if(i){n=Ra;while(1){j=xn(i|0)|0;j=(i|0)==0?31:j;if(!j){k=(i|0)==-1;l=xn(~i|0)|0;m=k?248:l<<3;m=(m|0)<(n|0)?m:n;if((m|0)>0){j=0;do{a[h+j>>0]=a[g+j>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+gb)>>0]=a[g+(j+128)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+p)>>0]=a[g+(j+256)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+q)>>0]=a[g+(j+384)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+r)>>0]=a[g+(j+512)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+s)>>0]=a[g+(j+640)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+t)>>0]=a[g+(j+768)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+u)>>0]=a[g+(j+896)>>0]|0;j=j+1|0}while((j|0)<(m|0))}j=k?31:l}Pa=j<<3;Qa=(n|0)>(Pa|0)?Pa:n;n=n-Pa|0;h=h+Qa|0;g=g+Qa|0;if((n|0)<=0)break;else i=i>>>j}h=h+Xa|0;g=g+Xa|0}o=o+1|0;if((o|0)==(Ua|0))break;else{h=h+Sa|0;g=g+1024|0}}}if(!sa){Zb=ib;return}g=c[Za>>2]|0;v=Aa+(b[_a>>1]|0)-(g<<ab)|0;j=c[Ya>>2]|0;y=Aa+(b[$a>>1]|0)-(j<<ab)|0;y=((y|0)<17?y:0)+bb|0;i=(g|0)==0;g=(j<<cb)+(w(g<<cb,db)|0)|0;g=(j|0)>0?g+-2|0:g;x=(c[eb>>2]|0)+(g>>3)|0;h=i?0:-2;v=Ba+((v|0)<17?v:0)>>3;if((h|0)>=(v|0)){Zb=ib;return}p=g&7;q=(1<<(y+7>>3))+-1|0;r=((gb|0)/2|0)<<3;s=0-y|0;if((y|0)<=0){Zb=ib;return}t=gb<<1;u=gb*3|0;i=_+((j|0)==0?0:-16)+(i?0:fb)|0;o=h;g=c[Ia>>2]|0;while(1){h=(c[x+(w(o,hb)|0)>>2]|0)>>>p&q;if(!h)h=i;else{n=y;m=i;while(1){i=xn(h|0)|0;i=(h|0)==0?31:i;if(!i){j=(h|0)==-1;k=xn(~h|0)|0;l=j?248:k<<3;l=(l|0)<(n|0)?l:n;if((l|0)>0){i=0;do{a[m+i>>0]=a[g+i>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+gb)>>0]=a[g+(i+128)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+t)>>0]=a[g+(i+256)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+u)>>0]=a[g+(i+384)>>0]|0;i=i+1|0}while((i|0)<(l|0))}i=j?31:k}eb=i<<3;fb=(n|0)>(eb|0)?eb:n;n=n-eb|0;m=m+fb|0;g=g+fb|0;if((n|0)<=0)break;else h=h>>>i}h=m+s|0;g=g+s|0}o=o+1|0;if((o|0)==(v|0))break;else{i=h+r|0;g=g+512|0}}Zb=ib;return}function ph(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=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;u=g+3|0;r=1<<g;s=a[h>>0]|0;v=h+2|0;K=a[h+1>>0]|0;t=(K&255)>>>1;c[n>>2]=-1;c[o>>2]=-1;K=(K&1)!=0;if(K)Fn(f|0,0,r<<g<<1|0)|0;if(((l|0)!=0&s<<24>>24==1?(b[v>>1]|0)==0:0)?(b[h+4>>1]|0)==1:0){c[p>>2]=1;if(!m){p=u-k|0;l=(p|0)<1?1>>>(1-p|0):1<<p+-1;if((g|0)==2){g=(u|0)<(k|0)?512:32768;I=0-g|0;J=b[h+6>>1]|0;g=(w(w(c[33600+(j<<2)>>2]|0,b[i>>1]|0)|0,(g|0)>(J|0)?((J|0)<(I|0)?I:J):g+-1|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}else{g=w(b[i>>1]|0,b[h+6>>1]|0)|0;g=(w(g,c[33600+(j<<2)>>2]|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}if(K)p=(p<<16>>16)+16>>5&65535}else{if((g|0)!=31){p=0;do{b[f+(p<<g<<1)>>1]=0;p=p+1|0}while((p|0)<(r|0))}p=b[h+6>>1]|0}b[q>>1]=p;b[f>>1]=p;c[n>>2]=c[n>>2]&-2;c[o>>2]=c[o>>2]&-2;o=h+8|0;return o|0}c[p>>2]=0;if(!K)Fn(f|0,0,r<<g<<1|0)|0;J=s&255;if(!(s<<24>>24)){o=v;return o|0}I=t&255;E=(m|0)==0;F=(g|0)==2;G=u-k|0;H=(G|0)<1?1>>>(1-G|0):1<<G+-1;B=(u|0)<(k|0)?512:32768;C=0-B|0;D=B+-1|0;y=33600+(j<<2)|0;z=(G|0)>0;A=0-G|0;j=0;do{u=e[v>>1]|0;h=u<<2&1020;u=u>>>8<<2;k=f+(u<<g<<1)+(h<<1)|0;r=e[v+2>>1]|0;if(E){l=31;p=0;while(1){q=x(r|0)|0;s=l-q|0;m=d[24800+(I<<4)+s>>0]|0;t=m&3;m=m>>>2;l=b[v+4+(p<<1)>>1]|0;if(F)l=w(w(c[y>>2]|0,b[i+((m+u<<2)+(t|h)<<1)>>1]|0)|0,(B|0)>(l|0)?((l|0)<(C|0)?C:l):D)|0;else{l=w(b[i+((m+u<<g)+(t|h)<<1)>>1]|0,l)|0;l=w(l,c[y>>2]|0)|0}l=l+H|0;l=z?l>>G:l<<A;l=(l|0)>-32768?l:-32768;l=(l|0)<32767?l:32767;p=p+1|0;if(K)l=(l<<16>>16)+16>>5;c[n>>2]=c[n>>2]&~(1<<(t|h));c[o>>2]=c[o>>2]&~(1<<m+u);b[k+(t<<1)+(m<<g<<1)>>1]=l;r=r<<q<<1;if(!r)break;else l=s+-1|0}}else{l=31;s=0;while(1){q=x(r|0)|0;l=l-q|0;m=d[24800+(I<<4)+l>>0]|0;t=m&3;m=m>>>2;p=s+1|0;s=b[v+4+(s<<1)>>1]|0;c[n>>2]=c[n>>2]&~(1<<(t|h));c[o>>2]=c[o>>2]&~(1<<m+u);b[k+(t<<1)+(m<<g<<1)>>1]=s;r=r<<q<<1;if(!r)break;else{l=l+-1|0;s=p}}}v=v+4+(p<<1)|0;j=j+1|0}while((j|0)!=(J|0));o=v;return o|0}function qh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0;u=((h<<16>>16)+63|0)/64|0;z=c[e+44>>2]|0;y=c[f>>2]|0;s=y&15;t=y>>>4&15;l=t+1|0;q=(j|0)/4|0;r=s^31;h=(c[g+(l+q<<2)>>2]|0)>>>r&1;l=(c[g+(l<<2)>>2]|0)>>>r&1;v=c[g+(t<<2)>>2]|0;p=v>>>(30-s|0)&1;q=v>>>(30-q-s|0)&1;r=v>>>r&1;v=c[e+4>>2]|0;s=(w(v,k)|0)+(s<<2)|0;x=c[e+8>>2]|0;t=(w(x,k)|0)+(t<<2)|0;o=c[e+128>>2]|0;m=(j|0)>4?(j|0)/8|0:1;n=(1<<m)+-1|0;if(i<<24>>24){if(!(h<<24>>24))h=0;else{h=s+-1|0;e=o+(w((t+j|0)/8|0,u)|0)+((h|0)/64|0)|0;if((m|0)>0){g=((h|0)/8|0)&7;h=0;f=0;do{h=((d[e+(w(f,u)|0)>>0]|0)>>>g&1)<<f|h&255;f=f+1|0}while((f|0)!=(m|0))}else h=0;h=h&n&255}if(!(l<<24>>24))f=0;else{f=s+-1|0;i=o+(w((t|0)/8|0,u)|0)+((f|0)/64|0)|0;if((m|0)>0){e=((f|0)/8|0)&7;f=0;g=0;do{f=((d[i+(w(g,u)|0)>>0]|0)>>>e&1)<<g|f&255;g=g+1|0}while((g|0)!=(m|0))}else f=0;f=f&n&255}if(!(p<<24>>24))g=0;else g=(d[o+(w((t+-1|0)/8|0,u)|0)+((s|0)/64|0)>>0]|0)>>>(((s|0)/8|0)&7)&n&255;if(!(q<<24>>24))e=0;else{e=s+j|0;e=(d[o+(w((t+-1|0)/8|0,u)|0)+((e|0)/64|0)>>0]|0)>>>(((e|0)/8|0)&7)&n&255}if(!(r<<24>>24))i=0;else{i=s+-1|0;i=(d[o+(w((t+-1|0)/8|0,u)|0)+((i|0)/64|0)>>0]|0)>>>(((i|0)/8|0)&7)<<16&65536}}else{i=r<<24>>24==0?0:65536;e=q<<24>>24==0?0:15;g=p<<24>>24==0?0:15;f=l<<24>>24==0?0:15;h=h<<24>>24==0?0:15}j=(j|0)<8?j:8;u=a[z+4116>>0]|0;t=-4<<(y>>>8&7);v=t-(y<<2&60)+(b[z>>1]|0)-(v<<u)|0;z=t-(y>>>2&60)-(x<<u)+(b[z+2>>1]|0)|0;return (g&255)<<8|i|((1<<((((v|0)>(k|0)?k:v)|0)/(j|0)|0))+255&(e&255))<<12|c[37024+((f&255)<<2)>>2]<<4|c[37024+(((1<<((((z|0)>(k|0)?k:z)|0)/(j|0)|0))+255&(h&255))<<2)>>2]|0}function rh(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;g=(c[d+12>>2]|0)>>>17&3;h=(g|0)==2;i=c[e+12>>2]&393216;f=(i|0)==262144;o=a[d+10>>0]|0;p=a[d+11>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=b[d>>1]|0;t=b[d+2>>1]|0;u=b[d+4>>1]|0;q=b[d+6>>1]|0;m=b[e>>1]|0;r=b[e+2>>1]|0;s=b[e+4>>1]|0;n=b[e+6>>1]|0;if(!(h&f)){if(h|f){u=1;u=u&1;return u|0}e=(g|0)==0;d=(i|0)==0;if((e?o:p)<<24>>24!=(d?j:k)<<24>>24){u=1;u=u&1;return u|0}s=((e?l:u)<<16>>16)-((d?m:s)<<16>>16)|0;u=((e?t:q)<<16>>16)-((d?r:n)<<16>>16)|0;u=(((s|0)>0?s:0-s|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}d=o<<24>>24==j<<24>>24;if(!(d&p<<24>>24==k<<24>>24)?!(p<<24>>24==j<<24>>24?o<<24>>24==k<<24>>24:0):0){u=1;u=u&1;return u|0}e=l<<16>>16;if(o<<24>>24==p<<24>>24){d=m<<16>>16;p=e-d|0;if((((((p|0)>0?p:0-p|0)|0)<=3?(p=(t<<16>>16)-(r<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(u<<16>>16)-(s<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(q<<16>>16)-(n<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0){u=0;u=u&1;return u|0}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>3){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>3){u=1;u=u&1;return u|0}t=(u<<16>>16)-d|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}if(d){p=e-(m<<16>>16)|0;if((((p|0)>0?p:0-p|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(r<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)<4){t=(u<<16>>16)-(s<<16>>16)|0;u=(q<<16>>16)-(n<<16>>16)|0;return ((((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3)&1|0}else{u=1;u=u&1;return u|0}}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>=4){u=1;u=u&1;return u|0}t=(u<<16>>16)-(m<<16>>16)|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}function sh(d,f,g,h,i,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=Zb;Zb=Zb+80|0;J=aa+64|0;K=aa+56|0;R=aa+48|0;L=aa+32|0;y=aa+24|0;S=aa+16|0;Z=aa+8|0;Y=aa;M=c[d+8>>2]|0;A=c[d+24>>2]|0;N=j+12|0;q=c[N>>2]|0;_=q>>>23&1;Q=_+1|0;$=q>>>24&1;T=$+1|0;F=M+876|0;c[J>>2]=F;F=(a[M+76>>0]|0)==1?F:M+1068|0;c[J+4>>2]=F;O=c[M+876+((a[j+8>>0]|0)*12|0)>>2]|0;P=c[F+((a[j+9>>0]|0)*12|0)>>2]|0;U=q<<2&60;V=q>>>2&60;z=q>>>6&60;W=z+4|0;s=q>>>10&60;X=s+4|0;s=c[g+((w(s>>>2,i)|0)<<2)>>2]|0;if((k|0)!=0?(r=c[g+((w(X>>>2,i)|0)<<2)>>2]|0,(c[A+(r<<4)+12>>2]&65536|0)==0):0){c[L>>2]=A+(r<<4);i=1}else i=0;if((l|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L+(i<<2)>>2]=A+(s<<4);v=i+1|0;g=0}else{v=i;g=1}H=(i|0)!=1&g;c[K>>2]=0;G=K+4|0;c[G>>2]=0;t=(v|0)>0;a:do if(t){i=O+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;r=c[k+12>>2]&393216;if((r|0)!=131072){s=c[i>>2]|0;if((s|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=12;break}if(r|0){u=s;I=14}}else{u=c[i>>2]|0;I=14}if((I|0)==14?(I=0,(u|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=16;break}g=g+1|0;if((g|0)>=(v|0)){I=17;break a}}if((I|0)==12){c[K>>2]=1;c[R>>2]=e[k>>1]|e[k+2>>1]<<16;break}else if((I|0)==16){c[K>>2]=1;C=k+4|0;c[R>>2]=e[C>>1]|e[C+2>>1]<<16;break}}else I=17;while(0);if((I|0)==17){wh(J,M,K,O,L,R,v,0);q=c[N>>2]|0}b:do if(q&393216){l=R+4|0;c:do if(t){i=P+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;r=c[k+12>>2]&393216;if(r){s=c[i>>2]|0;if((s|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=24;break}if((r|0)!=131072){x=s;I=26}}else{x=c[i>>2]|0;I=26}if((I|0)==26?(I=0,(x|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=27;break}g=g+1|0;if((g|0)>=(v|0))break c}if((I|0)==24){c[G>>2]=1;C=k+4|0;c[l>>2]=e[C>>1]|e[C+2>>1]<<16;break}else if((I|0)==27){c[G>>2]=1;c[l>>2]=e[k>>1]|e[k+2>>1]<<16;break b}}while(0);if(!(c[G>>2]|0)){wh(J,M,G,P,L,l,v,1);q=c[N>>2]|0}}while(0);q=q>>>17&3;g=(q|0)==1&1;q=(q|0)==0&1;if(c[K>>2]|0)if(!_){g=c[R>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=1}else k=1;else k=0;if(c[G>>2]|0)if(!$){q=p+4|0;i=c[R+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=1}else i=1;else i=0;if((g|0)!=0&(q|0)!=0){Zb=aa;return}C=W+U|0;r=w(c[f+(W>>>2<<2)>>2]|0,m)|0;l=w(c[f+(z>>>2<<2)>>2]|0,n)|0;s=w(c[((V|0)==0?f+-4|0:h)>>2]|0,o)|0;if((m|0)!=0?(c[A+(r<<4)+12>>2]&65536|0)==0:0){c[L>>2]=A+(r<<4);r=1}else r=0;if((n|0)!=0?(c[A+(l<<4)+12>>2]&65536|0)==0:0){c[L+(r<<2)>>2]=A+(l<<4);r=r+1|0}if((o|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L+(r<<2)>>2]=A+(s<<4);c[y>>2]=0;s=y+4|0;c[s>>2]=0;r=r+1|0;z=S;I=48}else{c[y>>2]=0;s=y+4|0;c[s>>2]=0;if((r|0)>0){z=S;I=48}else{f=0;x=0;z=S;r=0}}d:do if((I|0)==48){t=O+8|0;l=0;while(1){u=c[L+(l<<2)>>2]|0;v=c[u+12>>2]&393216;if((v|0)!=131072){x=c[t>>2]|0;if((x|0)==(c[(c[M+876+((a[u+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=52;break}if(v|0){B=x;I=54}}else{B=c[t>>2]|0;I=54}if((I|0)==54?(I=0,(B|0)==(c[(c[F+((a[u+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=55;break}l=l+1|0;if((l|0)>=(r|0)){f=r;x=0;r=1;break d}}if((I|0)==52){c[y>>2]=1;x=e[u>>1]|e[u+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=r;x=x&65535;r=1;break}else if((I|0)==55){c[y>>2]=1;x=u+4|0;x=e[x>>1]|e[x+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=r;x=x&65535;r=1;break}}while(0);e:do if((c[N>>2]&393216|0)!=0?(D=S+4|0,r):0){l=P+8|0;r=0;while(1){t=c[L+(r<<2)>>2]|0;u=c[t+12>>2]&393216;if(u){v=c[l>>2]|0;if((v|0)==(c[(c[F+((a[t+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=63;break}if((u|0)!=131072){E=v;I=65}}else{E=c[l>>2]|0;I=65}if((I|0)==65?(I=0,(E|0)==(c[(c[M+876+((a[t+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=66;break}r=r+1|0;if((r|0)>=(f|0)){l=0;t=0;v=0;break e}}if((I|0)==63){c[s>>2]=1;v=t+4|0;v=e[v>>1]|e[v+2>>1]<<16;c[D>>2]=v;l=v&65535;t=v>>>16&65535;break}else if((I|0)==66){c[s>>2]=1;v=e[t>>1]|e[t+2>>1]<<16;c[D>>2]=v;l=v&65535;t=v>>>16&65535;break}}else{l=0;t=0;v=0}while(0);u=c[y>>2]|0;do if(u){if((k|0?(b[R>>1]|0)==x<<16>>16:0)?(b[R+2>>1]|0)==(b[S+2>>1]|0):0)break;k=k+1|0;if((Q|0)==(k|0)){g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}}while(0);r=c[s>>2]|0;do if(r){if((i|0?(b[R+4>>1]|0)==l<<16>>16:0)?(b[R+6>>1]|0)==t<<16>>16:0)break;i=i+1|0;if((T|0)==(i|0)){q=p+4|0;b[q>>1]=v;b[q+2>>1]=v>>>16;q=1;i=T}}while(0);do if(!((g|0)!=0&(q|0)!=0)){if(H&(u|0)==1){c[K>>2]=1;c[R>>2]=c[S>>2]}if(H&(r|0)==1){c[G>>2]=1;c[R+4>>2]=v}if(H){c[s>>2]=0;c[y>>2]=0;wh(J,M,y,O,L,z,f,0);if(c[N>>2]&393216|0)wh(J,M,s,P,L,S+4|0,f,1);f:do if(c[y>>2]|0){do if(k|0){if((b[R>>1]|0)!=(b[S>>1]|0))break;if((b[R+2>>1]|0)==(b[S+2>>1]|0))break f}while(0);k=k+1|0;if((Q|0)!=(k|0))break;g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}while(0);g:do if(c[s>>2]|0){do if(i|0){if((b[R+4>>1]|0)!=(b[S+4>>1]|0))break;if((b[R+6>>1]|0)==(b[S+6>>1]|0))break g}while(0);i=i+1|0;if((T|0)!=(i|0))break;q=p+4|0;i=c[S+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=T}while(0);if((g|0)!=0&(q|0)!=0)break;else{f=k;y=i}}else{f=k;y=i}x=(f|0)!=2;z=(y|0)!=2;if(z|x){r=Y;c[r>>2]=0;c[r+4>>2]=0;uh(d,j,Z,Y,1,C,X+V|0);r=c[Y>>2]|0;l=Y+4|0;s=c[l>>2]|0;i=c[Z>>2]|0;t=Z+4|0;k=c[t>>2]|0;v=(r|0)==0;u=(s|0)==0;if(v|u){uh(d,j,Z,Y,1,(W>>>1)+U|0,(X>>>1)+V|0);s=c[l>>2]|s;r=c[Y>>2]|r;k=u?c[t>>2]|0:k;i=v?c[Z>>2]|0:i}if((_|0)==(f|0)&(x&(r|0)!=0)){b[p>>1]=i;b[p+2>>1]=i>>>16;g=1}if(($|0)==(y|0)&(z&(s|0)!=0)){q=p+4|0;b[q>>1]=k;b[q+2>>1]=k>>>16;q=1}if(!((g|0)==0|(q|0)==0))break}if(!g){b[p>>1]=0;b[p+2>>1]=0}if(q|0)break;b[p+4>>1]=0;b[p+6>>1]=0}while(0);Zb=aa;return}function th(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Zb;Zb=Zb+96|0;Y=ea;P=ea+88|0;Q=ea+80|0;ca=c[d+8>>2]|0;T=ca+76|0;ba=(a[T>>0]|0)==1?ca+876|0:ca+1068|0;E=a[(c[d>>2]|0)+43>>0]|0;F=m+-1|0;O=n+l|0;u=O+-1|0;H=c[f+((w(u-n>>2,g)|0)<<2)>>2]|0;L=c[d+24>>2]|0;G=L+(H<<4)|0;if(!q)q=0;else q=(c[L+(H<<4)+12>>2]&65536|0)==0;C=m>>E;D=n>>E;da=h+12|0;N=c[da>>2]|0;S=N>>>20&7;aa=S+1|0;a:do if(q?!((C|0)==(F>>E|0)&(D|0)==(u>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 2:case 6:case 7:{A=0;break a}default:{}};c[Y>>2]=c[G>>2];c[Y+4>>2]=c[G+4>>2];c[Y+8>>2]=c[G+8>>2];c[Y+12>>2]=c[G+12>>2];if(!S){c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];c[h+8>>2]=c[Y+8>>2];c[da>>2]=c[Y+12>>2]&393216|N&-393217;Zb=ea;return}else A=1}else A=0;while(0);M=m+k|0;q=M+-1|0;B=n+-1|0;K=c[e+(q-m>>2<<2)>>2]|0;I=L+(K<<4)|0;b:do if(((s|0)!=0?(x=c[L+(K<<4)+12>>2]|0,s=x&65536,v=s>>>16^1,(s|0)==0):0)?!((C|0)==(q>>E|0)&(D|0)==(B>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 1:case 4:case 5:{q=A;v=A;j=0;break b}default:{}}if(A){o=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((o|0)==(x>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(K<<4)+8>>0]|0))q=(gl(G,I,4)|0)==0&1;else q=0;if(o)R=20}else{q=0;R=20}if((R|0)==20){if((a[L+(H<<4)+9>>0]|0)==(a[L+(K<<4)+9>>0]|0))u=(gl(L+(H<<4)+4|0,L+(K<<4)+4|0,4)|0)==0&1;else u=0;q=(o|0)==2?(q|0)!=0&(u|0)!=0&1:u}x=(q|0)==0;q=A+(x&1)|0;if(!x){v=1;j=1;break}}else q=2}else q=v;u=Y+(A<<4)|0;c[u>>2]=c[I>>2];c[u+4>>2]=c[I+4>>2];c[u+8>>2]=c[I+8>>2];c[u+12>>2]=c[I+12>>2];v=A+1|0;if((v|0)==(aa|0)){c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[da>>2]=c[Y+(A<<4)+12>>2]&393216|N&-393217;Zb=ea;return}else j=1}else{q=A;v=A;j=0}while(0);o=c[e+(k>>2<<2)>>2]|0;i=L+(o<<4)|0;c:do if(((r|0)!=0?(y=c[L+(o<<4)+12>>2]|0,(y&65536|0)==0):0)?!((C|0)==(M>>E|0)&(D|0)==(B>>E|0)):0){do if(j){s=(c[L+(K<<4)+12>>2]|0)>>>17&3;if((s|0)!=(y>>>17&3|0)){q=q+1|0;break}if((s|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))u=(gl(I,i,4)|0)==0&1;else u=0;if(s)R=37}else{u=0;R=37}if((R|0)==37){if((a[L+(K<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(gl(L+(K<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;u=(s|0)==2?(u|0)!=0&(o|0)!=0&1:o}y=(u|0)==0;q=q+(y&1)|0;if(!y)break c}else q=q+1|0;while(0);u=Y+(v<<4)|0;c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];o=v+1|0;if((o|0)==(aa|0)){c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[da>>2]=N&-393217|c[Y+(v<<4)+12>>2]&393216;Zb=ea;return}else v=o}while(0);o=c[f+((w(l>>2,g)|0)<<2)>>2]|0;i=L+(o<<4)|0;d:do if(((p|0)!=0?(z=c[L+(o<<4)+12>>2]|0,(z&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(O>>E|0)):0){do if(A){s=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((s|0)!=(z>>>17&3|0)){q=q+1|0;break}if((s|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))u=(gl(G,i,4)|0)==0&1;else u=0;if(s)R=54}else{u=0;R=54}if((R|0)==54){if((a[L+(H<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(gl(L+(H<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;u=(s|0)==2?(u|0)!=0&(o|0)!=0&1:o}z=(u|0)==0;q=q+(z&1)|0;if(!z)break d}else q=q+1|0;while(0);u=Y+(v<<4)|0;c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];o=v+1|0;if((o|0)==(aa|0)){c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[da>>2]=N&-393217|c[Y+(v<<4)+12>>2]&393216;Zb=ea;return}else v=o}while(0);s=c[e+-4>>2]|0;i=L+(s<<4)|0;do if(((t|0)!=0?(J=c[L+(s<<4)+12>>2]|0,(J&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(B>>E|0)|(q|0)==4):0){if(!A)q=1;else{o=(c[L+(H<<4)+12>>2]|0)>>>17&3;do if((o|0)==(J>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(s<<4)+8>>0]|0))q=(gl(G,i,4)|0)==0&1;else q=0;if(!o)break}else q=0;if((a[L+(H<<4)+9>>0]|0)==(a[L+(s<<4)+9>>0]|0))u=(gl(L+(H<<4)+4|0,L+(s<<4)+4|0,4)|0)==0&1;else u=0;q=(o|0)==2?(q|0)!=0&(u|0)!=0&1:u}else q=0;while(0);q=(q|0)==0}if((j|0)==0|q^1){if(!q)break}else{o=J>>>17&3;if(((c[L+(K<<4)+12>>2]|0)>>>17&3|0)==(o|0)){if((o|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(s<<4)+8>>0]|0))q=(gl(I,i,4)|0)==0&1;else q=0;if(o)R=79}else{q=0;R=79}if((R|0)==79){if((a[L+(K<<4)+9>>0]|0)==(a[L+(s<<4)+9>>0]|0))u=(gl(L+(K<<4)+4|0,L+(s<<4)+4|0,4)|0)==0&1;else u=0;q=(o|0)==2?(q|0)!=0&(u|0)!=0&1:u}if(q|0)break}}u=Y+(v<<4)|0;c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];q=v+1|0;if((q|0)==(aa|0)){c[h>>2]=c[u>>2];c[h+4>>2]=c[u+4>>2];c[h+8>>2]=c[u+8>>2];c[da>>2]=N&-393217|c[Y+(v<<4)+12>>2]&393216;Zb=ea;return}else v=q}while(0);u=Q;c[u>>2]=0;c[u+4>>2]=0;uh(d,h,P,Q,0,M,O);u=c[Q>>2]|0;s=Q+4|0;o=c[s>>2]|0;q=o|u;if(q|0){c[Y+(v<<4)>>2]=c[P>>2];c[Y+(v<<4)+4>>2]=c[P+4>>2]}i=(u|0)==0;j=(o|0)==0;if(i|j){uh(d,h,P,Q,0,(k>>1)+m|0,(l>>1)+n|0);if(i)c[Y+(v<<4)>>2]=c[P>>2];if(j)c[Y+(v<<4)+4>>2]=c[P+4>>2];q=c[Q>>2]|u;R=c[s>>2]|o;o=R;u=q;q=R|q}a[Y+(v<<4)+8>>0]=0;a[Y+(v<<4)+9>>0]=0;R=Y+(v<<4)+12|0;c[R>>2]=c[R>>2]&-393217|((u|0)==0?131072:(o|0)==0?0:262144);q=v+((q|0)!=0&1)|0;if((aa|0)==(q|0)){ca=Y+(S<<4)|0;c[h>>2]=c[ca>>2];c[h+4>>2]=c[ca+4>>2];c[h+8>>2]=c[ca+8>>2];c[da>>2]=c[da>>2]&-393217|c[Y+(S<<4)+12>>2]&393216;Zb=ea;return}i=a[T>>0]|0;e:do if((q+-2|0)>>>0<3&i<<24>>24==0){s=w(q+-1|0,q)|0;if((s|0)<=0){q=aa-q|0;s=a[ca+160>>0]|0;u=q;q=q+-1|0;R=108;break}o=0;while(1){u=c[37184+(o<<2)>>2]|0;if(((c[Y+(u<<4)+12>>2]&393216|0)!=131072?(Z=c[37232+(o<<2)>>2]|0,(c[Y+(Z<<4)+12>>2]&393216|0)!=0):0)?(_=a[Y+(u<<4)+8>>0]|0,$=a[Y+(Z<<4)+9>>0]|0,V=b[Y+(u<<4)>>1]|0,X=b[Y+(u<<4)+2>>1]|0,U=b[Y+(Z<<4)+4>>1]|0,W=b[Y+(Z<<4)+6>>1]|0,!(X<<16>>16==W<<16>>16&(V<<16>>16==U<<16>>16?(c[(c[ca+876+((_<<24>>24)*12|0)>>2]|0)+8>>2]|0)==(c[(c[ba+(($<<24>>24)*12|0)>>2]|0)+8>>2]|0):0))):0){q=q+1|0;if((q|0)==(aa|0))break}o=o+1|0;if(!((q|0)!=5&(o|0)<(s|0))){R=106;break e}}b[h>>1]=V;b[h+2>>1]=X;b[h+4>>1]=U;b[h+6>>1]=W;a[h+8>>0]=_;a[h+9>>0]=$;c[da>>2]=c[da>>2]&-393217|262144;Zb=ea;return}else R=106;while(0);if((R|0)==106){u=aa-q|0;q=u+-1|0;s=a[ca+160>>0]|0;if(i<<24>>24==1){o=0;q=(u|0)>(s<<24>>24|0)?0:q&255;u=c[da>>2]&-393217}else R=108}if((R|0)==108){o=a[ca+161>>0]|0;q=(u|0)>((s<<24>>24<o<<24>>24?s:o)<<24>>24|0)?0:q&255;o=q;u=c[da>>2]&-393217|262144}a[h+8>>0]=q;a[h+9>>0]=o;c[da>>2]=u;c[h>>2]=0;c[h+4>>2]=0;Zb=ea;return}function uh(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;t=c[f+4>>2]|0;B=c[f+8>>2]|0;o=(c[g+12>>2]|0)>>>2&60;p=a[t+4116>>0]|0;q=1<<p;C=B+76|0;E=a[C>>0]|0;D=E<<24>>24==1?B+876|0:B+1068|0;if(E<<24>>24==0?(a[B+164>>0]|0)==0:0)m=D+((a[B+165>>0]|0)*12|0)+4|0;else m=B+876+((a[B+165>>0]|0)*12|0)+4|0;E=c[m>>2]|0;m=(q|0)/4|0;n=w(m,m)|0;if(((((o>>>p|0)==(l>>p|0)?(r=c[f+12>>2]|0,((r<<p)+k|0)<(b[t>>1]|0)):0)?(s=c[f+16>>2]|0,((s<<p)+l|0)<(b[t+2>>1]|0)):0)?(x=k&-16,y=l&-16,z=r+(x>>p)|0,A=w(s+(y>>p)|0,b[t+4118>>1]|0)|0,u=A+z|0,v=(c[E+8>>2]|0)+(w(n,u)|0)|0,y=w(m,y>>2)|0,x=(c[(c[E>>2]|0)+(u<<2)>>2]|0)+(d[v+(y+((x|0)==(q|0)?0:x>>2))>>0]|0)|0,y=c[E+4>>2]|0,v=y+(x<<4)|0,u=c[y+(x<<4)+12>>2]|0,(u&65536|0)==0):0)?a[B+158>>0]|0:0){a:do switch(u>>>17&3){case 1:{u=y+(x<<4)+4|0;u=e[u>>1]|e[u+2>>1]<<16;t=a[y+(x<<4)+9>>0]|0;s=t;r=u;n=1;o=1;break}case 0:{u=e[v>>1]|e[v+2>>1]<<16;t=a[y+(x<<4)+8>>0]|0;s=t;r=u;n=0;o=0;break}default:if((a[B+1261>>0]|0)==1){u=y+(x<<4)+4|0;s=a[y+(x<<4)+8>>0]|0;r=e[v>>1]|e[v+2>>1]<<16;n=0;t=a[y+(x<<4)+9>>0]|0;o=1;u=e[u>>1]|e[u+2>>1]<<16;break a}else{o=a[B+164>>0]|0;t=o<<24>>24==0;u=t?v:y+(x<<4)+4|0;t=a[(t?y+(x<<4)+8|0:y+(x<<4)+9|0)>>0]|0;u=e[u>>1]|e[u+2>>1]<<16;o=o<<24>>24;s=t;r=u;n=o;break a}}while(0);if(!j){p=0;m=0}else{p=a[g+9>>0]|0;m=a[g+8>>0]|0}k=c[E+16>>2]|0;l=c[B+84>>2]|0;q=b[(c[E+12>>2]|0)+(z<<1)+(A<<1)>>1]&255;A=(n|0)==0;f=c[(A?E+20+(q<<6)+(s<<2)|0:E+20500+(q<<6)+(s<<2)|0)>>2]|0;n=c[B+876+(m*12|0)>>2]|0;m=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;do if((a[(A?E+16404+(q<<4)+s|0:E+36884+(q<<4)+s|0)>>0]|0)==1^n){c[i>>2]=0;b[h>>1]=0;b[h+2>>1]=0}else{c[i>>2]=1;if(!n?(k-f|0)!=(l-m|0):0){b[h>>1]=r;b[h+2>>1]=r>>>16;if((k|0)==(f|0))break;vh(h,m,f,k,l);break}b[h>>1]=r;b[h+2>>1]=r>>>16}while(0);if(a[C>>0]|0){c[i+4>>2]=0;return}C=(o|0)==0;o=c[(C?E+20+(q<<6)+(t<<2)|0:E+20500+(q<<6)+(t<<2)|0)>>2]|0;n=c[D+(p*12|0)>>2]|0;f=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;m=i+4|0;if((a[(C?E+16404+(q<<4)+t|0:E+36884+(q<<4)+t|0)>>0]|0)==1^n){c[m>>2]=0;b[h+4>>1]=0;b[h+6>>1]=0;return}c[m>>2]=1;if(!n?(k-o|0)!=(l-f|0):0){m=h+4|0;b[m>>1]=u;b[m+2>>1]=u>>>16;if((k|0)==(o|0))return;vh(m,f,o,k,l);return}h=h+4|0;b[h>>1]=u;b[h+2>>1]=u>>>16;return}c[i>>2]=0;c[i+4>>2]=0;i=h;b[i>>1]=0;b[i+2>>1]=0>>>16;h=h+4|0;b[h>>1]=0;b[h+2>>1]=0>>>16;return}function vh(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;e=e-d|0;e=(e|0)>-128?e:-128;e=(e|0)<127?e:127;f=f-c|0;f=(f|0)>-128?f:-128;f=w(((((e|0)>-1?e:0-e|0)>>1)+16384|0)/(e|0)|0,(f|0)<127?f:127)|0;e=f+32>>6;e=(f|0)>262111?4095:(e|0)>-4096?e:-4096;f=a+2|0;d=w(e,b[a>>1]|0)|0;c=(d|0)>-1;d=w((c?d:0-d|0)+127>>8,c?(d|0)!=0&1:-1)|0;e=w(e,b[f>>1]|0)|0;c=(e|0)>-1;e=w((c?e:0-e|0)+127>>8,c?(e|0)!=0&1:-1)|0;d=(d|0)>-32768?d:-32768;b[a>>1]=(d|0)<32767?d:32767;e=(e|0)>-32768?e:-32768;b[f>>1]=(e|0)<32767?e:32767;return}function wh(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=(k|0)>0;if(!l){if(!m)return;o=c[d>>2]|0;p=h+20|0;m=d+4|0;l=0;while(1){q=c[i+(l<<2)>>2]|0;n=c[q+12>>2]&393216;r=c[o+((a[q+8>>0]|0)*12|0)>>2]|0;d=r+20|0;if((n|0)!=131072?!((a[d>>0]|0)==1^(a[p>>0]|0)==1):0){l=6;break}u=c[(c[m>>2]|0)+((a[q+9>>0]|0)*12|0)>>2]|0;v=u+20|0;if(n|0?!((a[v>>0]|0)==1^(a[p>>0]|0)==1):0){l=11;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==6){c[g>>2]=1;n=e[q>>1]|e[q+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[d>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[r+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=w(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=w(h,n<<16>>16)|0;g=(f|0)>-1;f=w((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=w(h,n>>16)|0;g=(h|0)>-1;h=w((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==11){c[g>>2]=1;n=q+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[v>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[u+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=w(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=w(h,n<<16>>16)|0;g=(f|0)>-1;f=w((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=w(h,n>>16)|0;g=(h|0)>-1;h=w((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}else{if(!m)return;m=c[d+4>>2]|0;n=h+20|0;l=0;while(1){p=c[i+(l<<2)>>2]|0;o=c[p+12>>2]&393216;q=c[m+((a[p+9>>0]|0)*12|0)>>2]|0;r=q+20|0;if(o|0?!((a[r>>0]|0)==1^(a[n>>0]|0)==1):0){l=19;break}s=c[(c[d>>2]|0)+((a[p+8>>0]|0)*12|0)>>2]|0;t=s+20|0;if((o|0)!=131072?!((a[t>>0]|0)==1^(a[n>>0]|0)==1):0){l=24;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==19){c[g>>2]=1;n=p+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[r>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[q+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=w(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=w(h,n<<16>>16)|0;g=(f|0)>-1;f=w((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=w(h,n>>16)|0;g=(h|0)>-1;h=w((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==24){c[g>>2]=1;n=e[p>>1]|e[p+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[t>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[s+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=w(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=w(h,n<<16>>16)|0;g=(f|0)>-1;f=w((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=w(h,n>>16)|0;g=(h|0)>-1;h=w((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}}function xh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if((h|g|0)<0){c[i>>2]=0;c[j>>2]=0;j=0;c[k>>2]=j;return 0}if(!(a[e+27>>0]|0)){c[i>>2]=g;c[j>>2]=h;j=0;c[k>>2]=j;return 0}s=c[e+4>>2]|0;r=a[e+30>>0]|0;t=r<<24>>24;a:do if(r<<24>>24>0){o=f+4118|0;p=t+-1|0;q=0;while(1){l=s+(q*6|0)|0;if((p|0)==(q|0))n=b[o>>1]|0;else n=d[l+6>>0]|0;m=a[l>>0]|0;if((n<<16>>16|0)>(g|0)&(m&255|0)<=(g|0)){r=q;break a}q=q+1|0;if((q|0)>=(t|0)){r=0;break}}}else{l=s;r=0;m=a[s>>0]|0}while(0);c[i>>2]=g-(m&255);m=a[e+31>>0]|0;if(m<<24>>24>0){q=m<<24>>24;o=f+4120|0;p=q+-1|0;l=0;while(1){e=w(l,t)|0;if((p|0)==(l|0)){m=b[o>>1]|0;n=l+1|0}else{n=l+1|0;m=d[s+((w(n,t)|0)*6|0)+1>>0]|0}if((m<<16>>16|0)>(h|0)?(d[s+(e*6|0)+1>>0]|0)<=(h|0):0)break;if((n|0)<(q|0))l=n;else{l=0;break}}m=l;l=s+(e*6|0)|0}else m=0;c[j>>2]=h-(d[l+1>>0]|0);j=(w(m,t)|0)+r|0;c[k>>2]=j;return 0}function yh(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,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;J=Zb;Zb=Zb+32|0;B=J+20|0;D=J+16|0;I=J;g=d+652|0;c[g>>2]=0;H=c[d+360>>2]|0;F=d+648|0;z=c[F>>2]|0;l=H+2|0;f=w(((b[H>>1]|0)+63|0)/64|0,((b[l>>1]|0)+7|0)/8|0)|0;C=d+600|0;Fn(c[C>>2]|0,0,f|0)|0;E=d+604|0;Fn(c[E>>2]|0,0,f|0)|0;f=d+364|0;do if(!(c[f>>2]|0)){e=Wh(d)|0;if(e|0){I=e;Zb=J;return I|0}e=Xh(d)|0;if(!e){c[f>>2]=1;break}else{I=e;Zb=J;return I|0}}while(0);e=Vg(d)|0;if(e|0){I=e;Zb=J;return I|0}f=c[d+304>>2]|0;e=(c[d+128>>2]|0)==0?1:2;do{b[f+(e*1272|0)+872>>1]=-1;b[f+(e*1272|0)+874>>1]=-1;e=e+1|0}while((e|0)!=256);h=d+224|0;k=ge(c[h>>2]|0,D)|0;if(!k){c[g>>2]=984;c[d+144>>2]=984;I=984;Zb=J;return I|0}c[d+1452>>2]=k;i=z+84|0;c[k+16>>2]=c[i>>2];x=ge(c[d+244>>2]|0,B)|0;if(!x){c[g>>2]=985;c[d+144>>2]=985;I=985;Zb=J;return I|0}c[x+16>>2]=c[d+288>>2];c[x+8>>2]=c[i>>2];c[x+12>>2]=c[z+80>>2];t=c[x>>2]|0;g=x+4|0;u=c[g>>2]|0;e=x+28|0;a[e>>0]=0;f=d+1464|0;if(a[f>>0]|0){Dn(e|0,f|0,4492)|0;a[d+1476>>0]=0;a[d+1477>>0]=0;c[f>>2]=0;b[f+4>>1]=0;a[f+6>>0]=0}v=d+136|0;if(!(c[v>>2]|0)){Fn(t|0,-128,w((b[H>>1]|0)+160|0,b[l>>1]|0)|0)|0;Fn(c[g>>2]|0,-128,(w((b[H>>1]|0)+160|0,b[l>>1]|0)|0)/2|0|0)|0}f=c[h>>2]|0;e=Oe(c[d+276>>2]|0,c[i>>2]|0)|0;if(!e){i=w((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;j=(i|0)/16|0;i=(i|0)/256|0;Fn(k+20|0,0,40960)|0;Fn(c[k>>2]|0,0,(i<<2)+4|0)|0;Fn(c[k+8>>2]|0,0,j|0)|0;Fn(c[k+12>>2]|0,0,(i<<1)+3&-4|0)|0;Fn(c[k+4>>2]|0,0,j<<4|0)|0;j=x;i=k}else{j=e;i=Yh(f,c[e+8>>2]|0)|0}g=a[z+160>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+876+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+876+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=25}else A=25;if((A|0)==25)while(1){c[z+876+(e*12|0)>>2]=j;c[z+876+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}g=a[z+161>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+1068+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+1068+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=33}else A=33;if((A|0)==33)while(1){c[z+1068+(e*12|0)>>2]=j;c[z+1068+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}Zh(c[d+11556>>2]|0)|0;c[d+424>>2]=0;c[d+428>>2]=0;h=c[k+8>>2]|0;o=d+576|0;c[o>>2]=h;e=c[k+4>>2]|0;p=d+580|0;c[p>>2]=e;r=c[k>>2]|0;q=d+596|0;c[q>>2]=r;f=c[k+12>>2]|0;c[d+420>>2]=f;c[d+6628>>2]=f;c[d+7320>>2]=f;c[d+8012>>2]=f;c[d+8704>>2]=f;c[d+9396>>2]=f;c[d+10088>>2]=f;c[d+10780>>2]=f;c[d+11472>>2]=f;c[d+432>>2]=h;c[d+416>>2]=e;h=w((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;f=(h|0)/16|0;f=(f>>1)+f|0;s=c[d+192>>2]|0;k=d+592|0;c[k>>2]=s;h=s+((((h|0)/256|0)<<2)+4)|0;l=d+584|0;c[l>>2]=h;g=h+f|0;m=d+588|0;c[m>>2]=g;f=g+(f<<2)|0;n=d+400|0;c[n>>2]=f;c[d+412>>2]=h;c[d+408>>2]=g;c[d+404>>2]=f;c[d+1068>>2]=e;c[d+1060>>2]=r;c[d+1056>>2]=s;c[d+11560>>2]=1;s=c[H+4128>>2]|0;Fn(c[d+204>>2]|0,0,s|0)|0;Fn(c[d+208>>2]|0,0,s|0)|0;s=d+268|0;c[s>>2]=-1;r=d+272|0;c[r>>2]=0;e=d+88|0;c[e>>2]=0;f=d+92|0;c[f>>2]=0;c[d+96>>2]=0;g=d+11608|0;c[g>>2]=2147483647;h=c[d+44>>2]|0;do if(h|0?(y=c[d+36>>2]|0,y|0):0){i=d+48|0;j=(c[i>>2]|0)+1|0;c[i>>2]=j;switch(y|0){case 4:break;case 3:{if((a[z+76>>0]|0)==2)A=51;break}case 2:{if(!((a[z+76>>0]|0)!=2?(j|0)!=(c[d+40>>2]|0):0))A=51;break}case 1:{y=a[z+1260>>0]|0;if(!(y<<24>>24<16&(y&1)==0))A=51;break}default:A=51}if((A|0)==51){c[i>>2]=0;break}if(h&1|0)c[f>>2]=1;if(h&2|0)c[e>>2]=1;A=a[z+1260>>0]|0;if(A<<24>>24<16&(A&1)==0){if(h&4|0)c[g>>2]=0;if(h&8|0)c[g>>2]=0}}while(0);g=d+11584|0;h=d+24|0;e=0;do{j=c[q>>2]|0;c[d+5956+(e*692|0)+84>>2]=j;y=c[p>>2]|0;c[d+5956+(e*692|0)+96>>2]=y;c[d+5956+(e*692|0)+92>>2]=c[o>>2];i=c[k>>2]|0;c[d+5956+(e*692|0)+80>>2]=i;c[d+5956+(e*692|0)+116>>2]=c[m>>2];c[d+5956+(e*692|0)+88>>2]=c[l>>2];c[d+5956+(e*692|0)+60>>2]=c[n>>2];c[d+5956+(e*692|0)+124>>2]=c[D>>2];c[d+5956+(e*692|0)+660>>2]=c[d+5956+(e*692|0)+672>>2];c[d+5956+(e*692|0)+664>>2]=c[d+5956+(e*692|0)+676>>2];c[d+5956+(e*692|0)+232>>2]=t;c[d+5956+(e*692|0)+236>>2]=u;c[d+5956+(e*692|0)+224>>2]=x;c[d+5956+(e*692|0)+228>>2]=c[B>>2];c[d+5956+(e*692|0)+272>>2]=c[g>>2];A=c[h>>2]|0;z=(A|0)>1;c[d+5956+(e*692|0)+148>>2]=z&1;c[d+5956+(e*692|0)+152>>2]=z&1;c[d+5956+(e*692|0)+128>>2]=c[C>>2];z=c[E>>2]|0;c[d+5956+(e*692|0)+132>>2]=z;c[d+5956+(e*692|0)+276>>2]=0;c[d+5956+(e*692|0)+348>>2]=i;c[d+5956+(e*692|0)+352>>2]=j;c[d+5956+(e*692|0)+360>>2]=y;c[d+5956+(e*692|0)+504>>2]=z;c[d+5956+(e*692|0)+528>>2]=t;c[d+5956+(e*692|0)+532>>2]=u;c[d+5956+(e*692|0)+576>>2]=z;c[d+5956+(e*692|0)+580>>2]=t;c[d+5956+(e*692|0)+584>>2]=u;if((e|0)<(A+-1|0)){ig(c[d+11492+(e<<2)>>2]|0,0,30,d+5956+(e*692|0)|0)|0;f=1}else f=0;c[d+11524+(e<<2)>>2]=f;e=e+1|0}while((e|0)!=8);c[d+1236>>2]=t;c[d+1240>>2]=u;c[d+1288>>2]=t;c[d+1292>>2]=u;f=d+264|0;Je(c[f>>2]|0,c[d+6184>>2]|0,c[(c[F>>2]|0)+84>>2]|0,c[d+6180>>2]|0)|0;c[r>>2]=0;e=d+140|0;if(((c[v>>2]|0)-(c[e>>2]|0)|0)<(a[(a[H+14>>0]|0)+-1+(H+32)>>0]|0)?(c[d+11636>>2]|0)!=1:0)e=0;else{F=Ke(c[f>>2]|0,s)|0;c[r>>2]=F;c[e>>2]=(c[e>>2]|0)+1;e=F}c[d+11576>>2]=0;c[d+11580>>2]=4;a:do if((c[d+11604>>2]|0?(G=c[h>>2]|0,!((G|0)<2|(e|0)==0)):0)?(c[s>>2]|0)!=(c[d+5956+((G+-1|0)*692|0)+228>>2]|0):0){if(c[d+56>>2]|0?(c[d+60>>2]|0)!=1:0)break;g=H+4120|0;if((b[g>>1]|0)>0){h=I+8|0;i=I+4|0;j=I+6|0;k=I+10|0;l=I+12|0;m=d+656|0;f=0;while(1){c[I>>2]=1;b[h>>1]=0;b[i>>1]=0;b[j>>1]=f;b[k>>1]=0;c[l>>2]=0;e=ah(c[m>>2]|0,I,16,1)|0;f=f+1|0;if(e|0)break;if((f|0)>=(b[g>>1]|0))break a}Zb=J;return e|0}}while(0);c[d+84>>2]=1;I=0;Zb=J;return I|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!a)O(142105,141161,182,142248);if(!b)O(142148,141161,183,142248);c[a>>2]=2139095040;e=b+12|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]<<g>>>1;d=a+4|0;c[d>>2]=h;a=g+31|0;c[f>>2]=a;if(a>>>0<=32){if((a|0)!=32)return 0}else{a=33-g|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;c[d>>2]=a|h}h=b+16|0;c[e>>2]=c[h>>2];b=b+8|0;e=c[b>>2]|0;c[b>>2]=e+4;e=c[e>>2]|0;c[f>>2]=g+-1;c[h>>2]=Cn(e|0)|0;return 0}function Ah(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;if(!a)O(142105,141161,139,142130);if(!b)O(142148,141161,140,142130);if(d>>>0>=52)O(142175,141161,141,142130);if(e>>>0>=3)O(142200,141161,142,142130);c[a>>2]=2139095040;j=b+12|0;h=b+4|0;i=c[h>>2]|0;d=c[j>>2]<<i>>>1;g=a+4|0;c[g>>2]=d;e=i+31|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){b=d;a=a+8|0;Dn(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}}else{e=33-i|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;c[g>>2]=d}g=b+16|0;c[j>>2]=c[g>>2];j=b+8|0;b=c[j>>2]|0;c[j>>2]=b+4;b=c[b>>2]|0;c[h>>2]=i+-1;c[g>>2]=Cn(b|0)|0;b=d;a=a+8|0;Dn(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}function Bh(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;p=d+376|0;q=d+660|0;h=c[d+644>>2]|0;i=c[d+344>>2]&255;n=c[d+316>>2]|0;e=c[d+320>>2]|0;g=(c[d+360>>2]|0)+4118|0;r=(c[d+1444>>2]|0)+(n*12|0)+((w(e,b[g>>1]|0)|0)*12|0)|0;c[r>>2]=c[r>>2]&-8;s=r+4|0;c[s>>2]=c[s>>2]&-8;t=r+8|0;c[t>>2]=c[t>>2]&-8;do if((n|0)>0){if((c[d+332>>2]|0)==0?(c[d+336>>2]|0)==0:0){f=0;break}if(c[d+324>>2]|0)f=(Hh(q,p,0)|0)!=0;else f=0}else f=0;while(0);if((!((e|0)<1|f)?(c[d+336>>2]|0)>0:0)?(c[d+328>>2]|0)>0:0)d=Hh(q,p,0)|0;else d=0;if(f){t=r+-12|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];return 0}if(d|0){t=r+((0-(b[g>>1]|0)|0)*12|0)|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];return 0}n=h+(i*1272|0)+156|0;m=h+(i*1272|0)+157|0;d=0;l=0;do{k=(l|0)==0;if(!(!(k&(a[n>>0]|0)!=0)?!((l|0)!=0&(a[m>>0]|0)!=0):0))o=17;a:do if((o|0)==17){o=0;if(!k)if((l|0)==1){d=Hh(q,p,1)|0;if(!d)d=0;else d=(Kh(q,p)|0)+d|0;e=d&7;c[s>>2]=c[s>>2]&-8|e;g=1;f=t;o=25}else g=0;else{d=Hh(q,p,1)|0;if(!d)e=0;else e=(Kh(q,p)|0)+d|0;d=e;g=0;f=r;e=e&7;o=25}if((o|0)==25){o=0;c[f>>2]=c[f>>2]&-8|e}switch(d|0){case 0:break a;case 2:{e=Sh(q,p,7)|0;h=Sh(q,p,7)|0;i=0-(Sh(q,p,7)|0)|0;f=0-(Sh(q,p,7)|0)|0;o=32;break}default:{e=Sh(q,p,7)|0;h=Sh(q,p,7)|0;i=Sh(q,p,7)|0;f=Sh(q,p,7)|0;if((d|0)==1){if(!e)e=0;else{j=(Kh(q,p)|0)==0;e=j?e:0-e|0}if(!h)h=0;else{j=(Kh(q,p)|0)==0;h=j?h:0-h|0}if(!i)i=0;else{j=(Kh(q,p)|0)==0;i=j?i:0-i|0}if(!f)f=0;else{j=(Kh(q,p)|0)==0;f=j?f:0-f|0}j=Qh(q,p,5)|0}else o=32}}if((o|0)==32){o=0;if(k){u=Qh(q,p,2)|0;j=c[r>>2]|0;c[r>>2]=j+u&7|j&-8}if(g){u=Qh(q,p,2)|0;j=c[s>>2]|0;c[s>>2]=j+u&7|j&-8;j=c[t>>2]|0;c[t>>2]=j+u&7|j&-8;j=0}else j=0}if(k){c[r>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[r>>2]&-16777209|e<<3&120)|i<<11&30720);break}if(g){c[s>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[s>>2]&-16777209|e<<3&120)|i<<11&30720);break}else{c[t>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[t>>2]&-16777209|e<<3&120)|i<<11&30720);break}}while(0);l=l+1|0}while((l|0)!=3);return 0}function Ch(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;E=e+376|0;F=e+660|0;G=e+360|0;H=e+356|0;O=e+316|0;N=e+320|0;K=e+456|0;L=e+460|0;J=e+452|0;u=e+976|0;v=e+616|0;x=e+620|0;y=e+368|0;z=e+372|0;A=e+336|0;B=e+328|0;C=e+332|0;D=e+324|0;r=f;q=g;while(1){o=1<<h;M=c[G>>2]|0;p=c[H>>2]|0;f=a[M+4116>>0]|0;g=r-(c[O>>2]<<f)>>3;f=q-(c[N>>2]<<f)>>3;c[K>>2]=g;c[L>>2]=f;c[J>>2]=h;c[u>>2]=i;j=c[x>>2]|0;k=(r|0)/8|0;m=(q|0)/8|0;n=(c[v>>2]|0)+(k>>>4<<2)|0;if(((o+r|0)<=(b[M>>1]|0)?(o+q|0)<=(b[M+2>>1]|0):0)?(h|0)>(a[M+46>>0]|0):0){if(!f)if((c[A>>2]|0)!=0?(c[B>>2]|0)!=0:0)I=8;else f=2;else I=8;if((I|0)==8){I=0;f=((c[n>>2]|0)>>>(k<<1&30)&3|0)>(i|0)?3:2}do if(!g){if((c[C>>2]|0)==0?(c[A>>2]|0)==0:0)break;if(c[D>>2]|0)I=13}else I=13;while(0);if((I|0)==13){I=0;f=f+((j>>>(m<<1&30)&3|0)>(i|0)&1)|0}if(!(Hh(F,E,f)|0))I=16;else f=0}else if((h|0)>(a[M+46>>0]|0))f=0;else I=16;if((I|0)==16){I=0;l=-1>>>(32-(((o|0)/8|0)<<1)|0);g=k<<1&30;f=c[n>>2]&~(l<<g);j=(i|0)!=0;if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[n>>2]=f;g=m<<1&30;f=c[x>>2]&~(l<<g);if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[x>>2]=f;f=1}if(a[p+17>>0]|0?(h|0)>=(a[p+66>>0]|0):0){c[y>>2]=0;c[z>>2]=0}if(f){I=32;break}j=o>>1;g=j+r|0;j=j+q|0;h=h+-1|0;i=i+1|0;f=Ch(e,r,q,h,i)|0;if(f|0){I=48;break}if((g|0)<(b[M>>1]|0)?(s=Ch(e,g,q,h,i)|0,s|0):0){f=s;I=48;break}f=M+2|0;if((j|0)<(b[f>>1]|0)?(t=Ch(e,r,j,h,i)|0,t|0):0){f=t;I=48;break}if((g|0)>=(b[M>>1]|0)){f=0;I=48;break}if((j|0)>=(b[f>>1]|0)){f=0;I=48;break}else{r=g;q=j}}if((I|0)==32){G=c[K>>2]<<3;I=c[L>>2]<<3;g=p+66|0;H=-1<<a[g>>0];if((G|0)==(H&G|0)&(I|0)==(H&I|0)){c[e+440>>2]=c[e+436>>2];c[e+572>>2]=0}f=Ih(e,r,q,h)|0;if(f|0){O=f;return O|0}if(!(a[p+17>>0]|0)){O=0;return O|0}o=c[e+408>>2]|0;m=1<<c[J>>2];k=c[K>>2]<<3;j=c[L>>2]<<3;h=-1<<a[g>>0];L=h&k;g=L>>3;h=h&j;f=c[e+440>>2]|0;if((L|0)>0)i=a[g+h+-1+(e+1380)>>0]|0;else i=f;if((h|0)>0)f=a[g+h+-8+(e+1380)>>0]|0;n=e+572|0;l=((c[n>>2]|0)+52+(i+1+f>>1)|0)%52|0;i=(k>>3)+j|0;j=m>>3;if((m|0)>7){g=l&255;h=(j|0)>1?j:1;f=0;do{Fn(i+(f<<3)+(e+1380)|0,g|0,h|0)|0;f=f+1|0}while((f|0)<(j|0))}g=e+436|0;c[g>>2]=l;c[e+564>>2]=l;f=c[e+568>>2]|0;c[o>>2]=c[o>>2]&-8323073|l<<16&8323072;if(f|0){f=o+(0-f<<2)|0;do{c[f>>2]=c[f>>2]&-8323073|c[g>>2]<<16&8323072;f=f+4|0}while((f|0)!=(o|0))}if(!(c[n>>2]|0)){O=0;return O|0}N=(w(c[N>>2]|0,b[M+4118>>1]|0)|0)+(c[O>>2]|0)|0;O=(c[e+1044>>2]|0)+(N>>3)|0;a[O>>0]=(1<<(N&7)^255)&d[O>>0];O=0;return O|0}else if((I|0)==48)return f|0;return 0}function Dh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;k=c[e+360>>2]|0;o=k+4116|0;m=a[o>>0]|0;n=1<<m;u=b[k>>1]|0;i=(u+63|0)/64|0;j=e+320|0;k=(b[k+2>>1]|0)-(c[j>>2]<<m)|0;k=(n|0)<(k|0)?n:k;l=e+316|0;m=u-(c[l>>2]<<m)|0;m=(n|0)<(m|0)?n:m;c[e+468>>2]=2;n=e+472|0;c[n>>2]=0;if((k|0)<=0)return;p=e+408|0;q=e+436|0;r=e+568|0;s=e+428|0;t=e+600|0;u=e+416|0;g=e+424|0;if((m|0)<=0)return;f=0;do{h=f<<2&224;e=0;do{v=c[p>>2]|0;x=e>>>2&14|h;c[v>>2]=x|c[v>>2]&-49152|256;c[v>>2]=c[q>>2]<<16|x|-8371968;c[p>>2]=(c[p>>2]|0)+4;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;v=a[o>>0]|0;y=(c[l>>2]<<v)+e|0;v=(c[t>>2]|0)+(w((c[j>>2]<<v)+f>>3,i)|0)+(y>>6)|0;a[v>>0]=(1<<(((y|0)/8|0)&7)^255)&d[v>>0];v=(c[u>>2]|0)+12|0;x=x|c[v>>2]&-805437440|4352;c[v>>2]=x;c[v>>2]=c[n>>2]<<25&234881024|x&-1048178194|524288;c[u>>2]=(c[u>>2]|0)+16;c[g>>2]=(c[g>>2]|0)+1;e=e+8|0}while((e|0)<(m|0));f=f+8|0}while((f|0)<(k|0));return}function Eh(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>>2]|0;l=a+4|0;m=c[l>>2]|0;if(d>>>0<=255)O(141377,141161,384,141184);e=x(d|0)|0;k=d-(2<<23-e)|0;if(m>>>0>=k>>>0){Gh(b,e+-23|0);b=1;c[a>>2]=k;c[l>>2]=m;return b|0}d=x(k|0)|0;i=d+-1|0;if(!i){b=0;c[a>>2]=k;c[l>>2]=m;return b|0}g=b+12|0;h=b+4|0;f=c[h>>2]|0;d=c[g>>2]<<f>>>(33-d|0);f=f+i|0;c[h>>2]=f;if(f>>>0<=32){if((f|0)==32)j=11}else{e=64-f|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;j=11}if((j|0)==11){j=b+16|0;c[g>>2]=c[j>>2];g=b+8|0;b=c[g>>2]|0;c[g>>2]=b+4;b=c[b>>2]|0;c[h>>2]=f+-32;c[j>>2]=Cn(b|0)|0}b=0;k=k<<i;m=d|m<<i;c[a>>2]=k;c[l>>2]=m;return b|0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;d=8-(d&7)+d|0;c[b>>2]=d;if(d>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[b>>2]=d+-32;c[e>>2]=Cn(a|0)|0;return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)<=-33)O(141214,141231,230,141258);if((b|0)>=33)O(141275,141231,231,141258);if((b|0)<0){d=a+4|0;f=c[d>>2]|0;e=f+b|0;c[d>>2]=e;if(f>>>0>=(0-b|0)>>>0)return;c[d>>2]=e+32;f=a+8|0;b=c[f>>2]|0;c[f>>2]=b+-4;b=c[b+-12>>2]|0;f=a+12|0;c[a+16>>2]=c[f>>2];c[f>>2]=Cn(b|0)|0;return}else{e=a+4|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;if(d>>>0<=31)return;f=a+16|0;c[a+12>>2]=c[f>>2];b=a+8|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;c[e>>2]=d+-32;c[f>>2]=Cn(a|0)|0;return}}function Hh(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;g=c[b>>2]|0;p=b+4|0;i=c[p>>2]|0;j=b+8+f|0;h=a[j>>0]|0;k=h&255;if(g>>>0<=255)O(141377,141161,247,142081);if(f>>>0>=154)O(141821,141161,248,142081);if(h<<24>>24<=-1)O(141993,141161,249,142081);l=x(g|0)|0;l=(d[(g<<l+-1>>>28&3)+(64+(k>>>1<<2))>>0]|0)<<23-l;h=g-l|0;g=i>>>0<h>>>0;n=k&1^(g^1)&1;m=i-(g?0:h)|0;l=g?h:l;a[j>>0]=a[320+(n|k<<1)>>0]|0;if(l>>>0>=256){o=l;e=m;c[b>>2]=o;c[p>>2]=e;return n|0}f=x(l|0)|0;k=f+-1|0;h=e+12|0;i=e+4|0;j=c[i>>2]|0;f=c[h>>2]<<j>>>(33-f|0);j=j+k|0;c[i>>2]=j;if(j>>>0<=32){if((j|0)==32)o=13}else{g=64-j|0;if(g>>>0<32)g=(c[e+16>>2]|0)>>>g;else g=0;f=g|f;o=13}if((o|0)==13){o=e+16|0;c[h>>2]=c[o>>2];h=e+8|0;e=c[h>>2]|0;c[h>>2]=e+4;e=c[e>>2]|0;c[i>>2]=j+-32;c[o>>2]=Cn(e|0)|0}o=l<<k;e=f|m<<k;c[b>>2]=o;c[p>>2]=e;return n|0}function Ih(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=e+316|0;n=c[e+608>>2]|0;u=e+612|0;s=c[u>>2]|0;B=e+376|0;G=e+408|0;x=c[G>>2]|0;z=e+660|0;if(f&7|0)O(141291,141307,1185,141336);if(g&7|0)O(141361,141307,1186,141336);H=e+568|0;c[H>>2]=0;A=c[e+360>>2]|0;t=c[e+356>>2]|0;E=e+456|0;q=c[E>>2]|0;F=e+460|0;p=c[F>>2]|0;o=c[e+648>>2]|0;C=1<<h;i=e+464|0;c[i>>2]=0;if((a[t+25>>0]|0?(t=Hh(z,B,5)|0,c[i>>2]=t,t|0):0)?(l=((b[A>>1]|0)+63|0)/64|0,m=(C|0)/8|0,(C|0)>7):0){k=-1>>>(32-(C>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(w(l,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}r=(f|0)/8|0;t=(g|0)/8|0;j=n+(r>>>5<<2)|0;k=o+76|0;if((a[k>>0]|0)==2)i=0;else{if(!p)if((c[e+336>>2]|0)!=0?(c[e+328>>2]|0)!=0:0)y=14;else i=0;else y=14;if((y|0)==14)i=(c[j>>2]&1<<(r&31)|0)!=0&1;do if(!q){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0)break;if(c[e+324>>2]|0)y=19}else y=19;while(0);if((y|0)==19)i=i+((s&1<<(t&31)|0)!=0&1)|0;i=Hh(z,B,i+6|0)|0}o=c[j>>2]|0;m=(C|0)/8|0;p=-1>>>(32-m|0);q=p<<(r&31);s=(i|0)!=0;c[j>>2]=s?o|q:o&~q;q=c[u>>2]|0;p=p<<(t&31);c[u>>2]=s?q|p:q&~p;p=e+448|0;c[p>>2]=0;if(s){i=a[A+4116>>0]|0;B=(f-(c[D>>2]<<i)|0)>>>2&15;D=g-(c[e+320>>2]<<i)|0;i=c[x>>2]&-49152|(h<<8)+1536&1792|B|D<<2&240;c[x>>2]=i;i=i&18431|c[e+436>>2]<<16&8323072;j=i|-8388608;c[x>>2]=j;if((c[E>>2]<<3|0)==(B<<2|0)?(c[F>>2]<<3|0)==(D&60|0):0)i=i|-8372224;else i=j&-63489;c[x>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;H=e+428|0;c[H>>2]=(c[H>>2]|0)+1;c[e+468>>2]=2;c[e+472>>2]=0;H=(c[e+416>>2]|0)+12|0;c[H>>2]=c[H>>2]&-805306369;Jh(e,f,g,C,C)|0;e=0;return e|0}o=(C|0)==(1<<a[A+46>>0]|0);a:do if((a[k>>0]|0)!=2?(v=Hh(z,B,11)|0,(v|0)!=1):0){n=e+468|0;c[n>>2]=v;if(o|(a[A+56>>0]|0)==0){l=12;m=-1;i=(C|0)>8&o?3:2;while(1){j=Hh(z,B,l)|0;k=m+1|0;i=i+-1|0;if(!i)break;if(j|0){i=n;l=1;m=0;break a}else{l=l+1|0;m=k}}k=(j|0)==0?m+2|0:k;i=n;l=1;m=0;break}else{if(Hh(z,B,12)|0){k=0;i=n;l=1;m=0;break}i=(Hh(z,B,13)|0)<<1;x=Hh(z,B,15)|0;i=(i|x)<<1;if(!x)i=Kh(z,B)|0|i;k=d[140188+i>>0]|0;i=n;l=1;m=0;break}}else y=30;while(0);if((y|0)==30){l=((b[A>>1]|0)+63|0)/64|0;if((C|0)>7){k=-1>>>(32-(C>>>3)|0)<<(r&7);j=0;i=(c[e+600>>2]|0)+(w(l,t)|0)+((f|0)/64|0)|0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}i=e+468|0;c[i>>2]=1;if(o){k=(Hh(z,B,12)|0)==0;k=k?3:0;l=0;m=1}else{k=0;l=0;m=1}}j=(k|0)==3&(c[i>>2]|0)==1&1;c[e+472>>2]=k;c[e+560>>2]=j;b:do if(m){c[p>>2]=0;Lh(e,f,g,h)|0;if(!(c[p>>2]|0)){i=e+416|0;break}else{e=0;return e|0}}else switch(k|0){case 0:{i=e+416|0;y=c[i>>2]|0;Jh(e,f,g,C,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369;break b}case 1:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Jh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,f,x+g|0,C,x)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 2:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Jh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,x+f|0,g,x,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 4:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Jh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,f,x+g|0,C,(3<<h|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 5:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Jh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,f,x+g|0,C,(C|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 6:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Jh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,x+f|0,g,(3<<h|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 7:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Jh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Jh(e,x+f|0,g,(C|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}default:{i=e+416|0;v=c[i>>2]|0;y=(C|0)/2|0;Jh(e,f,g,y,y)|0;C=v+12|0;c[C>>2]=c[C>>2]&-805306369;C=c[i>>2]|0;v=y+f|0;Jh(e,v,g,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;C=c[i>>2]|0;x=y+g|0;Jh(e,f,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|536870912;C=c[i>>2]|0;Jh(e,v,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]|805306368;break b}}while(0);i=c[i>>2]|0;do if(l){if((k|0)==0?c[i+-4>>2]&524288|0:0)break;if((Hh(z,B,30)|0)!=1){i=a[A+4116>>0]|0;j=c[G>>2]|0;f=(f-(c[D>>2]<<i)|0)>>>2&15;g=g-(c[e+320>>2]<<i)|0;i=c[j>>2]&-49152|(h<<8)+1536&1792|f|g<<2&240;c[j>>2]=i;i=c[e+436>>2]<<16&8323072|i&528500735|-536870912;c[j>>2]=i;i=i&-528529409|c[e+476>>2]<<23&528482304;c[j>>2]=i;if((c[E>>2]<<3|0)==(f<<2|0)?(c[F>>2]<<3|0)==(g&60|0):0)i=i|16384;else i=i&-63489;c[j>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;e=e+428|0;c[e>>2]=(c[e>>2]|0)+1;e=0;return e|0}}while(0);if(m)i=(a[A+53>>0]|0)+j|0;else i=a[A+52>>0]|0;c[e+544>>2]=i;e=Mh(e,f,g,f,g,h,0,0,c[e+476>>2]|0)|0;return e|0}function Jh(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;j=b+376|0;m=b+416|0;i=c[m>>2]|0;k=b+660|0;h=c[b+648>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;n=a[(c[b+360>>2]|0)+4116>>0]|0;l=i+12|0;g=(g>>>2<<12)+61440&61440|(f>>>2<<8)+3840&3840|(d-(c[b+316>>2]<<n)|0)>>>2&15|e-(c[b+320>>2]<<n)<<2&240;c[l>>2]=g;c[l>>2]=g|c[b+472>>2]<<25&234881024;if((c[b+468>>2]|0)==2){d=h+166|0;if((a[d>>0]|0)>1?(Hh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Sh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032|524288;else d=1572864}else d=524288;c[l>>2]=d|c[l>>2]&-7864321;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}n=Hh(k,j,18)|0;c[l>>2]=c[l>>2]&-524289|n<<19&524288;if(!n){Uh(b,i)|0;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}d=h+166|0;if((a[d>>0]|0)>1?(Hh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Sh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032;else d=1048576}else d=0;c[l>>2]=c[l>>2]&-7340033|d;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if(h>>>0<=255)O(141377,141161,334,142050);f=b+12|0;g=b+4|0;i=c[g>>2]|0;a=c[f>>2]<<i>>>31;i=i+1|0;c[g>>2]=i;if((i|0)==32){i=b+16|0;c[f>>2]=c[i>>2];f=b+8|0;b=c[f>>2]|0;c[f>>2]=b+4;b=c[b>>2]|0;c[g>>2]=0;c[i>>2]=Cn(b|0)|0}b=a|e<<1;i=b>>>0<h>>>0;c[d>>2]=b-(i?0:h);return (i^1)&1|0}function Lh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0;r=e+660|0;s=e+376|0;x=1<<h;k=c[e+472>>2]|0;A=e+408|0;B=e+416|0;p=c[B>>2]|0;i=e+360|0;v=c[i>>2]|0;u=a[v+4116>>0]|0;t=c[e+316>>2]<<u;u=c[e+320>>2]<<u;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;o=(x>>>2)+15&15;t=(f-t|0)>>>2&15;u=g-u|0;q=u<<2&240|t;c[p+12>>2]=q|o<<8|o<<12|65536;if((((k|0)==0?(a[v+20>>0]|0)!=0:0)?(j=a[v+50>>0]|0,(j|0)<=(h|0)):0)?((a[v+51>>0]|0)+j|0)>=(h|0):0){p=Eh(r,s)|0;c[e+448>>2]=p;if(p|0){if(c[e+380>>2]&7|0)Fh(s);k=c[i>>2]|0;p=e+404|0;i=c[p>>2]|0;a[i>>0]=1;l=i+2|0;a[i+1>>0]=1;c[p>>2]=l;b[i+4>>1]=-1;b[l>>1]=0;l=a[k+21>>0]|0;n=1<<(h<<1);m=8-l|0;i=i+6|0;j=0;do{o=i;i=i+1|0;a[o>>0]=(Rh(s,l)|0)<<m;j=j+1|0}while((j|0)<(n|0));m=a[k+22>>0]|0;o=n>>1;if((n|0)>1){l=8-m|0;j=0;while(1){k=i+1|0;a[i>>0]=(Rh(s,m)|0)<<l;j=j+1|0;if((j|0)>=(o|0)){i=k;break}else i=k}}c[p>>2]=i;zh(r,s)|0;m=c[A>>2]|0;i=q|(h<<8)+1536&1792|c[m>>2]&-49152|47104;c[m>>2]=i;i=i&65535|c[e+436>>2]<<16&8323072;j=i|-8388608;c[m>>2]=j;k=e+456|0;l=e+460|0;if((c[k>>2]<<3|0)==(t<<2|0)?(c[l>>2]<<3|0)==(u&60|0):0)i=i|-8372224;else i=j&-16385;c[m>>2]=i;t=(c[e+624>>2]|0)+(c[k>>2]<<1)|0;h=e+12192|0;u=(x|0)/4|0;ic[c[h>>2]&15]((c[e+628>>2]|0)+(c[l>>2]<<1)|0,1,u);ic[c[h>>2]&15](t,1,u);if((a[v+58>>0]|0)==1?(y=((b[v>>1]|0)+63|0)/64|0,z=(x|0)/8|0,(x|0)>7):0){k=-1>>>(32-(x>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(w(y,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(z|0))break;else i=i+y|0}}c[A>>2]=(c[A>>2]|0)+4;g=e+568|0;c[g>>2]=(c[g>>2]|0)+1;g=e+428|0;c[g>>2]=(c[g>>2]|0)+1;g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}}else c[e+448>>2]=0;j=(k|0)==3?4:1;i=0;do{c[e+492+(i<<2)>>2]=Hh(r,s,16)|0;i=i+1|0}while(i>>>0<j>>>0);i=0;do{if(!(c[e+492+(i<<2)>>2]|0))c[e+524+(i<<2)>>2]=Qh(r,s,5)|0;else c[e+508+(i<<2)>>2]=Sh(r,s,2)|0;i=i+1|0}while(i>>>0<j>>>0);A=Hh(r,s,17)|0;i=e+540|0;c[i>>2]=4;if(A|0)c[i>>2]=Qh(r,s,2)|0;Th(e,h,f,g);g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}function Mh(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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=b+376|0;I=b+660|0;u=b+360|0;v=b+356|0;w=b+560|0;x=b+544|0;E=b+468|0;y=b+472|0;L=b+476|0;z=b+480|0;A=b+484|0;B=b+488|0;C=b+554|0;D=b+549|0;n=b+549|0;a:while(1){F=e;G=f;t=g;s=h;while(1){r=c[u>>2]|0;q=c[v>>2]|0;f=c[w>>2]|0;g=(i|0)>(a[r+4117>>0]|0);if((!g?((c[x>>2]|0)>(j|0)?(i|0)>(a[r+48>>0]|0):0):0)?!((j|0)==0&(f|0)!=0):0)m=Hh(I,K,36-i|0)|0;else H=7;do if((H|0)==7){H=0;if((a[r+52>>0]|0)==0?(c[E>>2]|0)==0:0)e=(j|0)==0&(c[y>>2]|0)!=0&1;else e=0;if(!g?!((j|0)==0&(f|0)==1|(e|0)==1):0){m=0;break}m=1}while(0);o=(j|0)==0;if(!o){e=j+-1|0;f=a[b+549+e>>0]|0;g=b+549+j|0;a[g>>0]=f;e=a[b+554+e>>0]|0;a[b+554+j>>0]=e;if((i|0)>2){h=j+36|0;if(f<<24>>24){a[g>>0]=Hh(I,K,h)|0;e=a[j+-1+(b+554)>>0]|0}if(!(e<<24>>24))p=1;else{f=1;e=h;H=19}}else p=0}else{a[C>>0]=0;a[D>>0]=0;a[n>>0]=Hh(I,K,36)|0;f=(i|0)>2;e=36;H=19}if((H|0)==19){H=0;a[b+554+j>>0]=Hh(I,K,e)|0;p=f}if(!m){H=32;break a}f=1<<i>>1;g=f+F|0;f=f+G|0;h=(j|0)!=0;if(h)e=l;else e=c[L>>2]|0;i=i+-1|0;j=j+1|0;e=Mh(b,F,G,F,G,i,j,0,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[z>>2]|0;e=Mh(b,g,G,F,G,i,j,1,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[A>>2]|0;e=Mh(b,F,f,F,G,i,j,2,e)|0;if(e|0){H=71;break a}if(h){s=G;t=F;F=g;G=f;k=3}else break}e=g;g=F;h=G;k=3;l=c[B>>2]|0}if((H|0)==32){m=b+408|0;n=c[m>>2]|0;f=a[r+4116>>0]|0;e=c[b+316>>2]<<f;f=c[b+320>>2]<<f;if((!((j|0)!=0|(c[E>>2]|0)==1)?(a[b+549>>0]|0)==0:0)?(a[b+554>>0]|0)==0:0){h=b+548|0;a[h>>0]=1}else{h=b+548|0;a[h>>0]=Hh(I,K,o?35:34)|0}f=G-f<<2&240|(F-e|0)>>>2&15|c[n>>2]&-14592;c[n>>2]=f;f=c[b+464>>2]<<15&32768|(i<<8)+1536&1792|f&-48897;c[n>>2]=f;f=c[b+436>>2]<<16&8323072|l<<23&528482304|f&-536819713;c[n>>2]=f;g=b+540|0;c[n>>2]=f&536856575|c[g>>2]<<29;e=a[h>>0]|0;if((e<<24>>24==0?(a[b+549+j>>0]|0)==0:0)?(a[b+554+j>>0]|0)==0:0){if((i|0)==2&(k|0)!=3)c[n>>2]=f|-536870912}else H=40;do if((H|0)==40){do if((a[q+17>>0]|0)!=0?(J=b+368|0,(c[J>>2]|0)==0):0){e=Nh(I,K,5,9,0,1)|0;if((e|0)>4)e=(Oh(I,K,0)|0)+e|0;c[J>>2]=1;if(!e)e=0;else{K=(Kh(I,K)|0)==0;e=K?e:0-e|0}K=(a[r+16>>0]|0)*3|0;if((e|0)<(K+-26|0)|(e|0)>(K+25|0)){b=979;return b|0}else{c[b+572>>2]=e;e=a[h>>0]|0;break}}while(0);if(e<<24>>24){c[n>>2]=c[n>>2]|2048;Ph(b,F,G,i,0,l)|0}e=c[g>>2]|0;if((e|0)==4)e=c[L>>2]|0;else{e=d[140184+e>>0]|0;e=(c[L>>2]|0)==(e|0)?34:e}if(p){if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Ph(b,F,G,i+-1|0,1,e)|0}if(!(a[b+554+j>>0]|0))break;c[n>>2]=c[n>>2]|8192;Ph(b,F,G,i+-1|0,2,e)|0;break}if((k|0)!=3){c[n>>2]=c[n>>2]|-536870912;break}if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Ph(b,t,s,i,1,e)|0}if(a[b+554+j>>0]|0){c[n>>2]=c[n>>2]|8192;Ph(b,t,s,i,2,e)|0}}while(0);e=c[n>>2]|0;if((c[b+456>>2]<<3|0)==(e<<2&60|0)?(c[b+460>>2]<<3|0)==(e>>>2&60|0):0)e=e|16384;else e=e&-16385;c[n>>2]=e;c[m>>2]=(c[m>>2]|0)+4;L=b+568|0;c[L>>2]=(c[L>>2]|0)+1;b=b+428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;return b|0}else if((H|0)==71)return e|0;return 0}function Nh(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;if((f|0)<=0)O(141777,141161,561,141789);if(g>>>0>=154)O(141821,141161,562,141789);if(((f>>>h)+g|0)>=154)O(141878,141161,563,141789);t=b+4|0;u=e+12|0;v=e+4|0;w=e+16|0;s=e+8|0;r=0;l=c[b>>2]|0;j=c[t>>2]|0;while(1){e=r>>>h;e=(e>>>0<i>>>0?e:i)+g|0;m=b+8+e|0;k=a[m>>0]|0;n=k&255;if(l>>>0<=255){q=9;break}if(e>>>0>=154){q=11;break}if(k<<24>>24<=-1){q=13;break}o=x(l|0)|0;o=(d[(l<<o+-1>>>28&3)+(64+(n>>>1<<2))>>0]|0)<<23-o;l=l-o|0;p=j>>>0<l>>>0;j=j-(p?0:l)|0;o=p?l:o;p=n&1^(p^1)&1;a[m>>0]=a[320+(p|n<<1)>>0]|0;if(o>>>0<256){e=x(o|0)|0;m=e+-1|0;l=c[v>>2]|0;e=c[u>>2]<<l>>>(33-e|0);l=l+m|0;c[v>>2]=l;if(l>>>0<=32){if((l|0)==32)q=20}else{k=64-l|0;if(k>>>0<32)k=(c[w>>2]|0)>>>k;else k=0;e=k|e;q=20}if((q|0)==20){q=0;c[u>>2]=c[w>>2];n=c[s>>2]|0;c[s>>2]=n+4;n=c[n>>2]|0;c[v>>2]=l+-32;c[w>>2]=Cn(n|0)|0}k=o<<m;j=e|j<<m}else k=o;c[b>>2]=k;c[t>>2]=j;e=r+1|0;if((e|0)<(f|0)&(p|0)!=0){r=e;l=k}else{q=23;break}}if((q|0)==9)O(141377,141161,570,141789);else if((q|0)==11)O(141938,141161,570,141789);else if((q|0)==13)O(141993,141161,570,141789);else if((q|0)==23)return p+r|0;return 0}function Oh(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;if((d|0)<=-1)O(141701,141161,676,141712);a:do if((d|0)<17){k=a+4|0;l=b+12|0;m=b+4|0;n=b+16|0;o=b+8|0;i=c[a>>2]|0;j=i>>>0>255;f=0;h=c[k>>2]|0;while(1){if(!j)break;g=c[m>>2]|0;e=c[l>>2]<<g>>>31;g=g+1|0;c[m>>2]=g;if((g|0)==32){c[l>>2]=c[n>>2];g=c[o>>2]|0;c[o>>2]=g+4;g=c[g>>2]|0;c[m>>2]=0;c[n>>2]=Cn(g|0)|0}g=e|h<<1;s=g>>>0<i>>>0;h=g-(s?0:i)|0;s=s^1;c[k>>2]=h;g=d+1|0;e=((s&1)<<d)+f|0;if(!((d|0)<16&s)){r=e;p=g;break a}else{d=g;f=e}}O(141377,141161,683,141712)}else{r=0;p=d}while(0);f=p+-1|0;if(!f){s=r;return s|0}l=c[a>>2]|0;k=a+4|0;d=c[k>>2]|0;if(l>>>0<=255)O(141377,141161,693,141712);if((p|0)<=1)O(141748,141161,693,141712);if((p|0)>=18)O(141762,141161,693,141712);i=b+12|0;j=b+4|0;h=c[j>>2]|0;g=c[i>>2]<<h>>>(33-p|0);h=h+f|0;c[j>>2]=h;if(h>>>0<=32){if((h|0)==32)q=22}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;g=e|g;q=22}if((q|0)==22){s=b+16|0;c[i>>2]=c[s>>2];q=b+8|0;b=c[q>>2]|0;c[q>>2]=b+4;b=c[b>>2]|0;c[j>>2]=h+-32;c[s>>2]=Cn(b|0)|0}e=0;do{f=f+-1|0;b=g>>>f&1|d<<1;s=b>>>0<l>>>0;e=e<<1|(s^1)&1;d=b-(s?0:l)|0}while((f|0)!=0);c[k>>2]=d;s=e+r|0;return s|0} |
| | | function lf(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=Zb;Zb=Zb+272|0;l=m;k=c<<2;i=d[25424+f>>0]|0;h=1<<(xn(c|0)|0)+-2;if(!(((c|0)==0?0:h)&i)){if((b|0)==(e|0)){Zb=m;return}g=k|1;if((g|0)<=0){Zb=m;return}f=0;do{a[e+f>>0]=a[b+f>>0]|0;f=f+1|0}while((f|0)!=(g|0));Zb=m;return}if((c|0)==32&(g|0)==1){g=a[b+64>>0]|0;h=g&255;p=a[b+k>>0]|0;i=p&255;o=i+h-((d[b+96>>0]|0)<<1)|0;f=a[b>>0]|0;c=f&255;n=c+h-((d[b+32>>0]|0)<<1)|0;a[l>>0]=f;a[l+k>>0]=p;if((((o|0)>0?o:0-o|0)|0)<8&(((n|0)>0?n:0-n|0)|0)<8){a[l+64>>0]=g;f=1;do{a[l+f>>0]=((w(f,h)|0)+32+(w(64-f|0,c)|0)|0)>>>6;f=f+1|0}while(f>>>0<64);f=1;do{a[l+(f+64)>>0]=((w(f,i)|0)+32+(w(64-f|0,h)|0)|0)>>>6;f=f+1|0}while(f>>>0<64)}else{i=127;j=13}}else{f=a[b>>0]|0;a[l>>0]=f;a[l+k>>0]=a[b+k>>0]|0;if((c|0)>0){i=k+-1|0;j=13}}if((j|0)==13){h=0;g=a[b+1>>0]|0;while(1){c=a[b+(h+2)>>0]|0;h=h+1|0;a[l+h>>0]=((f&255)+2+((g&255)<<1)+(c&255)|0)>>>2;if((h|0)>=(i|0))break;else{f=g;g=c}}}f=k|1;if((f|0)<=0){Zb=m;return}Dn(e|0,l|0,f|0)|0;Zb=m;return}function mf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=g+-4|0;switch(q>>>2|q<<30|0){case 0:{n=3;break}case 3:{n=5;break}case 1:{n=4;break}default:n=6}c=g<<1;if((g|0)<=0)return;o=g+-1|0;p=c+-1|0;q=b+((g*3|0)+1)|0;i=c|1;j=b+o|0;h=0;do{k=b+(p-h)|0;l=o-h|0;m=w(h,f)|0;h=h+1|0;c=0;do{u=w(o-c|0,d[k>>0]|0)|0;r=c;c=c+1|0;t=w(c,d[q>>0]|0)|0;s=w(l,d[b+(r+i)>>0]|0)|0;a[e+(r+m)>>0]=u+g+t+s+(w(h,d[j>>0]|0)|0)>>n}while((c|0)!=(g|0))}while((h|0)!=(g|0));return}function nf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=g+-4|0;switch(m>>>2|m<<30|0){case 0:{j=3;break}case 3:{j=5;break}case 1:{j=4;break}default:j=6}k=g<<1;i=g*3|0;if((k|0)>(g|0)){c=0;h=g;do{c=c+(d[b+h>>0]|0)|0;h=h+1|0}while((h|0)!=(k|0))}else c=0;m=k|1;if((m|0)<=(i|0)){h=m;while(1){c=c+(d[b+h>>0]|0)|0;if((h|0)<(i|0))h=h+1|0;else break}}l=c+g>>j;i=l*3|0;if((g|0)==32){g=l&255;Fn(e|0,g|0,32)|0;Fn(e+f|0,g|0,32)|0;Fn(e+(f<<1)|0,g|0,32)|0;Fn(e+(f*3|0)|0,g|0,32)|0;Fn(e+(f<<2)|0,g|0,32)|0;Fn(e+(f*5|0)|0,g|0,32)|0;Fn(e+(f*6|0)|0,g|0,32)|0;Fn(e+(f*7|0)|0,g|0,32)|0;Fn(e+(f<<3)|0,g|0,32)|0;Fn(e+(f*9|0)|0,g|0,32)|0;Fn(e+(f*10|0)|0,g|0,32)|0;Fn(e+(f*11|0)|0,g|0,32)|0;Fn(e+(f*12|0)|0,g|0,32)|0;Fn(e+(f*13|0)|0,g|0,32)|0;Fn(e+(f*14|0)|0,g|0,32)|0;Fn(e+(f*15|0)|0,g|0,32)|0;Fn(e+(f<<4)|0,g|0,32)|0;Fn(e+(f*17|0)|0,g|0,32)|0;Fn(e+(f*18|0)|0,g|0,32)|0;Fn(e+(f*19|0)|0,g|0,32)|0;Fn(e+(f*20|0)|0,g|0,32)|0;Fn(e+(f*21|0)|0,g|0,32)|0;Fn(e+(f*22|0)|0,g|0,32)|0;Fn(e+(f*23|0)|0,g|0,32)|0;Fn(e+(f*24|0)|0,g|0,32)|0;Fn(e+(f*25|0)|0,g|0,32)|0;Fn(e+(f*26|0)|0,g|0,32)|0;Fn(e+(f*27|0)|0,g|0,32)|0;Fn(e+(f*28|0)|0,g|0,32)|0;Fn(e+(f*29|0)|0,g|0,32)|0;Fn(e+(f*30|0)|0,g|0,32)|0;Fn(e+(f*31|0)|0,g|0,32)|0;return}j=k+-1|0;a[e>>0]=((l<<1)+2+(d[b+j>>0]|0)+(d[b+m>>0]|0)|0)>>>2;k=(g|0)>1;if(!k)return;h=i+2|0;c=1;do{a[e+c>>0]=(h+(d[b+(c+m)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;h=i+2|0;c=1;do{a[e+(w(c,f)|0)>>0]=(h+(d[b+(j-c)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;i=l&255;j=f+1|0;c=g+-1|0;h=0;do{Fn(e+(j+(w(h,f)|0))|0,i|0,c|0)|0;h=h+1|0}while((h|0)!=(c|0));return}function of(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=g<<1;if((g|0)==32){h=k+-1|0;c=0;do{k=b+(h-c)|0;g=w(c,f)|0;a[e+g>>0]=a[k>>0]|0;a[e+(g+1)>>0]=a[k>>0]|0;a[e+(g+2)>>0]=a[k>>0]|0;a[e+(g+3)>>0]=a[k>>0]|0;a[e+(g+4)>>0]=a[k>>0]|0;a[e+(g+5)>>0]=a[k>>0]|0;a[e+(g+6)>>0]=a[k>>0]|0;a[e+(g+7)>>0]=a[k>>0]|0;a[e+(g+8)>>0]=a[k>>0]|0;a[e+(g+9)>>0]=a[k>>0]|0;a[e+(g+10)>>0]=a[k>>0]|0;a[e+(g+11)>>0]=a[k>>0]|0;a[e+(g+12)>>0]=a[k>>0]|0;a[e+(g+13)>>0]=a[k>>0]|0;a[e+(g+14)>>0]=a[k>>0]|0;a[e+(g+15)>>0]=a[k>>0]|0;a[e+(g+16)>>0]=a[k>>0]|0;a[e+(g+17)>>0]=a[k>>0]|0;a[e+(g+18)>>0]=a[k>>0]|0;a[e+(g+19)>>0]=a[k>>0]|0;a[e+(g+20)>>0]=a[k>>0]|0;a[e+(g+21)>>0]=a[k>>0]|0;a[e+(g+22)>>0]=a[k>>0]|0;a[e+(g+23)>>0]=a[k>>0]|0;a[e+(g+24)>>0]=a[k>>0]|0;a[e+(g+25)>>0]=a[k>>0]|0;a[e+(g+26)>>0]=a[k>>0]|0;a[e+(g+27)>>0]=a[k>>0]|0;a[e+(g+28)>>0]=a[k>>0]|0;a[e+(g+29)>>0]=a[k>>0]|0;a[e+(g+30)>>0]=a[k>>0]|0;a[e+(g+31)>>0]=a[k>>0]|0;c=c+1|0}while((c|0)!=32);return}if((g|0)<=0)return;h=b+(k+-1)|0;i=k|1;j=b+k|0;c=0;do{l=((d[b+(c+i)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;l=(l|0)>0?l:0;a[e+c>>0]=(l|0)<255?l:255;c=c+1|0}while((c|0)!=(g|0));if((g|0)<=1)return;i=k+-1|0;c=1;do{j=b+(i-c)|0;k=w(c,f)|0;h=0;do{a[e+(h+k)>>0]=a[j>>0]|0;h=h+1|0}while((h|0)!=(g|0));c=c+1|0}while((c|0)!=(g|0));return}function pf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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;k=g<<1;l=(g|0)>0;if((g|0)==32){h=k|1;i=b+h|0;j=b+(h+1)|0;k=b+(h+2)|0;l=b+(h+3)|0;g=b+(h+4)|0;m=b+(h+5)|0;n=b+(h+6)|0;o=b+(h+7)|0;p=b+(h+8)|0;q=b+(h+9)|0;r=b+(h+10)|0;s=b+(h+11)|0;t=b+(h+12)|0;u=b+(h+13)|0;v=b+(h+14)|0;x=b+(h+15)|0;y=b+(h+16)|0;z=b+(h+17)|0;A=b+(h+18)|0;B=b+(h+19)|0;C=b+(h+20)|0;D=b+(h+21)|0;E=b+(h+22)|0;F=b+(h+23)|0;G=b+(h+24)|0;H=b+(h+25)|0;I=b+(h+26)|0;J=b+(h+27)|0;K=b+(h+28)|0;L=b+(h+29)|0;M=b+(h+30)|0;h=b+(h+31)|0;c=0;do{b=w(c,f)|0;a[e+b>>0]=a[i>>0]|0;a[e+(b+1)>>0]=a[j>>0]|0;a[e+(b+2)>>0]=a[k>>0]|0;a[e+(b+3)>>0]=a[l>>0]|0;a[e+(b+4)>>0]=a[g>>0]|0;a[e+(b+5)>>0]=a[m>>0]|0;a[e+(b+6)>>0]=a[n>>0]|0;a[e+(b+7)>>0]=a[o>>0]|0;a[e+(b+8)>>0]=a[p>>0]|0;a[e+(b+9)>>0]=a[q>>0]|0;a[e+(b+10)>>0]=a[r>>0]|0;a[e+(b+11)>>0]=a[s>>0]|0;a[e+(b+12)>>0]=a[t>>0]|0;a[e+(b+13)>>0]=a[u>>0]|0;a[e+(b+14)>>0]=a[v>>0]|0;a[e+(b+15)>>0]=a[x>>0]|0;a[e+(b+16)>>0]=a[y>>0]|0;a[e+(b+17)>>0]=a[z>>0]|0;a[e+(b+18)>>0]=a[A>>0]|0;a[e+(b+19)>>0]=a[B>>0]|0;a[e+(b+20)>>0]=a[C>>0]|0;a[e+(b+21)>>0]=a[D>>0]|0;a[e+(b+22)>>0]=a[E>>0]|0;a[e+(b+23)>>0]=a[F>>0]|0;a[e+(b+24)>>0]=a[G>>0]|0;a[e+(b+25)>>0]=a[H>>0]|0;a[e+(b+26)>>0]=a[I>>0]|0;a[e+(b+27)>>0]=a[J>>0]|0;a[e+(b+28)>>0]=a[K>>0]|0;a[e+(b+29)>>0]=a[L>>0]|0;a[e+(b+30)>>0]=a[M>>0]|0;a[e+(b+31)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=32);return}if(!l)return;h=b+(k|1)|0;i=k+-1|0;j=b+k|0;c=0;do{M=((d[b+(i-c)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;M=(M|0)>0?M:0;a[e+(w(c,f)|0)>>0]=(M|0)<255?M:255;c=c+1|0}while((c|0)!=(g|0));if(!l)return;i=k|1;if((g|0)==1)return;h=0;do{j=w(h,f)|0;c=1;do{a[e+(c+j)>>0]=a[b+(c+i)>>0]|0;c=c+1|0}while((c|0)<(g|0));h=h+1|0}while((h|0)!=(g|0));return}function qf(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((f|0)<=0)return;h=(f<<1)+-1|0;c=0;do{i=h+~c|0;g=0;do{a[d+((w(g,e)|0)+c)>>0]=a[b+(i-g)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+1|0}while((c|0)!=(f|0));return}function rf(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f<<1;j=(g|0)==18?-32:32;if((f|0)<=0)return;g=0;do{i=g;g=g+1|0;h=(w(g,j)|0)>>5;i=w(i,e)|0;c=0;do{l=c;c=c+1|0;a[d+(l+i)>>0]=a[b+(c+k+h)>>0]|0}while((c|0)!=(f|0))}while((g|0)!=(f|0));return}function sf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;e=0;do{i=e;e=e+1|0;l=w(e,n)|0;k=l>>5;l=l&31;m=32-l|0;j=0;do{p=o-j-k|0;q=w(m,d[b+(p+-1)>>0]|0)|0;a[f+((w(j,g)|0)+i)>>0]=(q+16+(w(l,d[b+(p+-2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));return}function tf(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;p=Zb;Zb=Zb+144|0;j=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-11<<2)>>2]|0;n=j+h|0;if((h|0)>=0){i=h+-1|0;e=0;while(1){a[j+(i+e)>>0]=a[b+(l-e)>>0]|0;if((e|0)==(h|0))break;else e=e+1|0}}m=n+-1|0;i=w(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[m+i>>0]=a[b+((e>>8)+l)>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Zb=p;return}e=0;do{i=e;e=e+1|0;l=w(e,o)|0;k=l>>5;l=l&31;b=32-l|0;j=0;do{q=j+k|0;r=w(b,d[n+q>>0]|0)|0;a[f+((w(j,g)|0)+i)>>0]=(r+16+(w(l,d[m+(q+2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));Zb=p;return}function uf(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;p=Zb;Zb=Zb+144|0;e=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-12<<2)>>2]|0;m=e+h|0;n=m+-1|0;if((h|0)>=0)Dn(e+(h+-1)|0,b+l|0,h+1|0)|0;i=w(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[n+i>>0]=a[b+(l-(e>>8))>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Zb=p;return}i=0;do{b=i;i=i+1|0;k=w(i,o)|0;j=k>>5;k=k&31;l=32-k|0;b=w(b,g)|0;e=0;do{q=e+j|0;r=w(l,d[m+q>>0]|0)|0;a[f+(e+b)>>0]=(r+16+(w(k,d[n+(q+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));Zb=p;return}function vf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;i=0;do{m=i;i=i+1|0;k=w(i,n)|0;j=k&31;k=(k>>5)+o|0;l=32-j|0;m=w(m,g)|0;e=0;do{p=k+e|0;q=w(l,d[b+(p+1)>>0]|0)|0;a[f+(e+m)>>0]=(q+16+(w(j,d[b+(p+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));return}function wf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=1<<f+-1;k=d<<1;l=d*3|0;if(!(g&1)){i=b[a>>1]|0;o=a+(k<<1)|0;p=b[o>>1]|0;m=p+i|0;n=a+(l<<1)|0;h=b[n>>1]|0;p=h+p|0;h=i-h|0;i=(b[a+(d<<1)>>1]|0)*74|0;q=i+j|0;r=q+(m*29|0)+(p*55|0)>>f;r=(r|0)>-32768?r:-32768;b[c>>1]=(r|0)<32767?r:32767;p=q+(w(p,-29)|0)+(h*55|0)>>f;p=(p|0)>-32768?p:-32768;b[c+2>>1]=(p|0)<32767?p:32767;n=(((b[a>>1]|0)-(b[o>>1]|0)+(b[n>>1]|0)|0)*74|0)+j>>f;n=(n|0)>-32768?n:-32768;b[c+4>>1]=(n|0)<32767?n:32767;i=(m*55|0)+j+(h*29|0)-i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{r=c;q=r;b[q>>1]=0;b[q+2>>1]=0>>>16;r=r+4|0;b[r>>1]=0;b[r+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){r=b[h>>1]|0;n=h+(k<<1)|0;m=b[n>>1]|0;p=m+r|0;o=h+(l<<1)|0;q=b[o>>1]|0;m=q+m|0;q=r-q|0;r=(b[h+(d<<1)>>1]|0)*74|0;c=r+j|0;s=c+(p*29|0)+(m*55|0)>>f;s=(s|0)>-32768?s:-32768;b[i>>1]=(s|0)<32767?s:32767;m=c+(w(m,-29)|0)+(q*55|0)>>f;m=(m|0)>-32768?m:-32768;b[i+2>>1]=(m|0)<32767?m:32767;o=(((b[h>>1]|0)-(b[n>>1]|0)+(b[o>>1]|0)|0)*74|0)+j>>f;o=(o|0)>-32768?o:-32768;b[i+4>>1]=(o|0)<32767?o:32767;r=(p*55|0)+j+(q*29|0)-r>>f;r=(r|0)>-32768?r:-32768;b[i+6>>1]=(r|0)<32767?r:32767}else{s=i;r=s;b[r>>1]=0;b[r+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){s=b[c>>1]|0;o=c+(k<<1)|0;n=b[o>>1]|0;q=n+s|0;p=c+(l<<1)|0;r=b[p>>1]|0;n=r+n|0;r=s-r|0;s=(b[c+(d<<1)>>1]|0)*74|0;m=s+j|0;h=m+(q*29|0)+(n*55|0)>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;n=m+(w(n,-29)|0)+(r*55|0)>>f;n=(n|0)>-32768?n:-32768;b[i+2>>1]=(n|0)<32767?n:32767;p=(((b[c>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[i+4>>1]=(p|0)<32767?p:32767;s=(q*55|0)+j+(r*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[i+6>>1]=(s|0)<32767?s:32767}else{s=i;r=s;b[r>>1]=0;b[r+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){s=b[h>>1]|0;o=h+(k<<1)|0;n=b[o>>1]|0;q=n+s|0;p=h+(l<<1)|0;r=b[p>>1]|0;n=r+n|0;r=s-r|0;s=(b[h+(d<<1)>>1]|0)*74|0;m=s+j|0;l=m+(q*29|0)+(n*55|0)>>f;l=(l|0)>-32768?l:-32768;b[c>>1]=(l|0)<32767?l:32767;n=m+(w(n,-29)|0)+(r*55|0)>>f;n=(n|0)>-32768?n:-32768;b[c+2>>1]=(n|0)<32767?n:32767;p=(((b[h>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[c+4>>1]=(p|0)<32767?p:32767;s=(q*55|0)+j+(r*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[c+6>>1]=(s|0)<32767?s:32767;return}else{s=c;r=s;b[r>>1]=0;b[r+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16;return}}function xf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0;s=1<<f+-1;t=b[16820]|0;j=b[16828]|0;k=d*3|0;l=b[16821]|0;m=b[16829]|0;n=b[16816]|0;o=b[16824]|0;p=d<<1;q=b[16817]|0;r=b[16825]|0;if(!(g&1)){v=b[a+(d<<1)>>1]|0;h=w(v,t)|0;u=b[a+(k<<1)>>1]|0;h=(w(u,j)|0)+h|0;v=(w(m,u)|0)+(w(l,v)|0)|0;u=b[a>>1]|0;i=w(u,n)|0;x=b[a+(p<<1)>>1]|0;i=(w(x,o)|0)+i|0;u=(w(r,x)|0)+(w(q,u)|0)|0;x=h+s+i>>f;x=(x|0)>-32768?x:-32768;b[c>>1]=(x|0)<32767?x:32767;x=v+s+u>>f;x=(x|0)>-32768?x:-32768;b[c+2>>1]=(x|0)<32767?x:32767;u=s-v+u>>f;u=(u|0)>-32768?u:-32768;b[c+4>>1]=(u|0)<32767?u:32767;i=s-h+i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{x=c;v=x;b[v>>1]=0;b[v+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){c=b[h+(d<<1)>>1]|0;v=w(c,t)|0;u=b[h+(k<<1)>>1]|0;v=(w(u,j)|0)+v|0;c=(w(m,u)|0)+(w(l,c)|0)|0;u=b[h>>1]|0;x=w(u,n)|0;h=b[h+(p<<1)>>1]|0;x=(w(h,o)|0)+x|0;u=(w(r,h)|0)+(w(q,u)|0)|0;h=v+s+x>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;h=c+s+u>>f;h=(h|0)>-32768?h:-32768;b[i+2>>1]=(h|0)<32767?h:32767;u=s-c+u>>f;u=(u|0)>-32768?u:-32768;b[i+4>>1]=(u|0)<32767?u:32767;x=s-v+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;v=x;b[v>>1]=0;b[v+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){h=b[c+(d<<1)>>1]|0;v=w(h,t)|0;u=b[c+(k<<1)>>1]|0;v=(w(u,j)|0)+v|0;h=(w(m,u)|0)+(w(l,h)|0)|0;u=b[c>>1]|0;x=w(u,n)|0;c=b[c+(p<<1)>>1]|0;x=(w(c,o)|0)+x|0;u=(w(r,c)|0)+(w(q,u)|0)|0;c=v+s+x>>f;c=(c|0)>-32768?c:-32768;b[i>>1]=(c|0)<32767?c:32767;c=h+s+u>>f;c=(c|0)>-32768?c:-32768;b[i+2>>1]=(c|0)<32767?c:32767;u=s-h+u>>f;u=(u|0)>-32768?u:-32768;b[i+4>>1]=(u|0)<32767?u:32767;x=s-v+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;v=x;b[v>>1]=0;b[v+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){u=b[h+(d<<1)>>1]|0;v=w(u,t)|0;t=b[h+(k<<1)>>1]|0;v=(w(t,j)|0)+v|0;t=(w(m,t)|0)+(w(l,u)|0)|0;u=b[h>>1]|0;x=w(u,n)|0;g=b[h+(p<<1)>>1]|0;x=(w(g,o)|0)+x|0;u=(w(r,g)|0)+(w(q,u)|0)|0;g=v+s+x>>f;g=(g|0)>-32768?g:-32768;b[c>>1]=(g|0)<32767?g:32767;g=t+s+u>>f;g=(g|0)>-32768?g:-32768;b[c+2>>1]=(g|0)<32767?g:32767;u=s-t+u>>f;u=(u|0)>-32768?u:-32768;b[c+4>>1]=(u|0)<32767?u:32767;x=s-v+x>>f;x=(x|0)>-32768?x:-32768;b[c+6>>1]=(x|0)<32767?x:32767;return}else{x=c;v=x;b[v>>1]=0;b[v+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16;return}}function yf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;T=Zb;Zb=Zb+16|0;M=T;R=1<<g+-1;S=e*3|0;j=e*5|0;k=e*7|0;l=b[16848]|0;m=e<<1;n=b[16880]|0;o=e*6|0;p=b[16849]|0;q=b[16881]|0;r=b[16832]|0;s=b[16864]|0;t=e<<2;u=b[16833]|0;v=b[16865]|0;x=b[16840]|0;y=b[16856]|0;z=b[16872]|0;A=b[16888]|0;B=b[16841]|0;C=b[16857]|0;D=b[16873]|0;E=b[16889]|0;F=M+4|0;G=b[16842]|0;H=b[16858]|0;I=b[16874]|0;J=b[16890]|0;K=M+8|0;L=b[16843]|0;N=b[16859]|0;O=b[16875]|0;P=b[16891]|0;Q=M+12|0;i=0;while(1){if(!(h&1)){W=b[a+(e<<1)>>1]|0;_=b[a+(S<<1)>>1]|0;Z=b[a+(j<<1)>>1]|0;V=b[a+(k<<1)>>1]|0;aa=(w(_,y)|0)+(w(W,x)|0)+(w(Z,z)|0)+(w(V,A)|0)|0;c[M>>2]=aa;$=(w(_,C)|0)+(w(W,B)|0)+(w(Z,D)|0)+(w(V,E)|0)|0;c[F>>2]=$;Y=(w(_,H)|0)+(w(W,G)|0)+(w(Z,I)|0)+(w(V,J)|0)|0;c[K>>2]=Y;V=(w(_,N)|0)+(w(W,L)|0)+(w(Z,O)|0)+(w(V,P)|0)|0;c[Q>>2]=V;Z=b[a+(m<<1)>>1]|0;W=w(Z,l)|0;_=b[a+(o<<1)>>1]|0;W=(w(_,n)|0)+W|0;Z=(w(q,_)|0)+(w(p,Z)|0)|0;_=b[a>>1]|0;X=w(_,r)|0;U=b[a+(t<<1)>>1]|0;X=(w(U,s)|0)+X|0;_=(w(v,U)|0)+(w(u,_)|0)|0;U=X+W+R|0;aa=U+aa>>g;aa=(aa|0)>-32768?aa:-32768;b[d>>1]=(aa|0)<32767?aa:32767;W=X-W+R|0;X=W-V>>g;X=(X|0)>-32768?X:-32768;b[d+8>>1]=(X|0)<32767?X:32767;X=_+Z+R|0;$=X+$>>g;$=($|0)>-32768?$:-32768;b[d+2>>1]=($|0)<32767?$:32767;Z=_-Z+R|0;_=Z-Y>>g;_=(_|0)>-32768?_:-32768;b[d+10>>1]=(_|0)<32767?_:32767;Y=Z+Y>>g;Y=(Y|0)>-32768?Y:-32768;b[d+4>>1]=(Y|0)<32767?Y:32767;X=X-(c[F>>2]|0)>>g;X=(X|0)>-32768?X:-32768;b[d+12>>1]=(X|0)<32767?X:32767;V=W+V>>g;V=(V|0)>-32768?V:-32768;b[d+6>>1]=(V|0)<32767?V:32767;U=U-(c[M>>2]|0)>>g;U=(U|0)>-32768?U:-32768;b[d+14>>1]=(U|0)<32767?U:32767}else{b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;b[d+12>>1]=0;b[d+14>>1]=0}i=i+1|0;if((i|0)==8)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0}}Zb=T;return}function zf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0;Fb=Zb;Zb=Zb+80|0;hb=Fb+48|0;nb=Fb+16|0;ub=Fb;p=1<<g+-1;x=e*3|0;D=e*5|0;J=e*7|0;P=e*9|0;W=e*11|0;aa=e*13|0;ga=e*15|0;na=e<<1;ta=e*6|0;za=e*10|0;Ga=e*14|0;Pa=b[16960]|0;Qa=e<<2;Ra=b[17088]|0;Sa=e*12|0;Ta=b[16896]|0;Ua=b[17024]|0;Va=e<<3;Wa=b[16961]|0;Xa=b[17089]|0;Ya=b[16897]|0;Za=b[17025]|0;_a=b[16912]|0;$a=b[16944]|0;ab=b[16976]|0;bb=b[17008]|0;cb=b[17040]|0;db=b[17072]|0;eb=b[17104]|0;fb=b[17136]|0;gb=b[16913]|0;ib=b[16945]|0;jb=b[16977]|0;kb=b[17009]|0;lb=b[17041]|0;mb=b[17073]|0;ob=b[17105]|0;pb=b[17137]|0;qb=nb+4|0;rb=b[16914]|0;sb=b[16946]|0;tb=b[16978]|0;vb=b[17010]|0;wb=b[17042]|0;xb=b[17074]|0;yb=b[17106]|0;zb=b[17138]|0;Ab=nb+8|0;Bb=b[16915]|0;Cb=b[16947]|0;Db=b[16979]|0;Eb=b[17011]|0;q=b[17043]|0;r=b[17075]|0;s=b[17107]|0;t=b[17139]|0;u=nb+12|0;v=b[16916]|0;y=b[16948]|0;z=b[16980]|0;A=b[17012]|0;B=b[17044]|0;C=b[17076]|0;E=b[17108]|0;F=b[17140]|0;G=nb+16|0;H=b[16917]|0;I=b[16949]|0;K=b[16981]|0;L=b[17013]|0;M=b[17045]|0;N=b[17077]|0;O=b[17109]|0;Q=b[17141]|0;R=nb+20|0;S=b[16918]|0;T=b[16950]|0;U=b[16982]|0;V=b[17014]|0;X=b[17046]|0;Y=b[17078]|0;Z=b[17110]|0;_=b[17142]|0;$=nb+24|0;ba=b[16919]|0;ca=b[16951]|0;da=b[16983]|0;ea=b[17015]|0;fa=b[17047]|0;ha=b[17079]|0;ia=b[17111]|0;ja=b[17143]|0;ka=nb+28|0;la=b[16928]|0;ma=b[16992]|0;oa=b[17056]|0;pa=b[17120]|0;qa=b[16929]|0;ra=b[16993]|0;sa=b[17057]|0;ua=b[17121]|0;va=ub+4|0;wa=b[16930]|0;xa=b[16994]|0;ya=b[17058]|0;Aa=b[17122]|0;Ba=ub+8|0;Ca=b[16931]|0;Da=b[16995]|0;Ea=b[17059]|0;Fa=b[17123]|0;Ha=ub+12|0;Ia=hb+16|0;Ja=hb+4|0;Ka=hb+20|0;La=hb+8|0;Ma=hb+24|0;Na=hb+12|0;Oa=hb+28|0;o=0;i=c[Ha>>2]|0;j=c[Ba>>2]|0;k=c[va>>2]|0;l=c[ub>>2]|0;while(1){if(!(h&1)){j=b[a+(e<<1)>>1]|0;n=b[a+(x<<1)>>1]|0;k=b[a+(D<<1)>>1]|0;l=b[a+(J<<1)>>1]|0;i=b[a+(P<<1)>>1]|0;Ib=b[a+(W<<1)>>1]|0;m=b[a+(aa<<1)>>1]|0;Hb=b[a+(ga<<1)>>1]|0;c[nb>>2]=(w(n,$a)|0)+(w(j,_a)|0)+(w(k,ab)|0)+(w(l,bb)|0)+(w(i,cb)|0)+(w(Ib,db)|0)+(w(m,eb)|0)+(w(Hb,fb)|0);c[qb>>2]=(w(n,ib)|0)+(w(j,gb)|0)+(w(k,jb)|0)+(w(l,kb)|0)+(w(i,lb)|0)+(w(Ib,mb)|0)+(w(m,ob)|0)+(w(Hb,pb)|0);c[Ab>>2]=(w(n,sb)|0)+(w(j,rb)|0)+(w(k,tb)|0)+(w(l,vb)|0)+(w(i,wb)|0)+(w(Ib,xb)|0)+(w(m,yb)|0)+(w(Hb,zb)|0);c[u>>2]=(w(n,Cb)|0)+(w(j,Bb)|0)+(w(k,Db)|0)+(w(l,Eb)|0)+(w(i,q)|0)+(w(Ib,r)|0)+(w(m,s)|0)+(w(Hb,t)|0);c[G>>2]=(w(n,y)|0)+(w(j,v)|0)+(w(k,z)|0)+(w(l,A)|0)+(w(i,B)|0)+(w(Ib,C)|0)+(w(m,E)|0)+(w(Hb,F)|0);c[R>>2]=(w(n,I)|0)+(w(j,H)|0)+(w(k,K)|0)+(w(l,L)|0)+(w(i,M)|0)+(w(Ib,N)|0)+(w(m,O)|0)+(w(Hb,Q)|0);c[$>>2]=(w(n,T)|0)+(w(j,S)|0)+(w(k,U)|0)+(w(l,V)|0)+(w(i,X)|0)+(w(Ib,Y)|0)+(w(m,Z)|0)+(w(Hb,_)|0);c[ka>>2]=(w(n,ca)|0)+(w(j,ba)|0)+(w(k,da)|0)+(w(l,ea)|0)+(w(i,fa)|0)+(w(Ib,ha)|0)+(w(m,ia)|0)+(w(Hb,ja)|0);Hb=b[a+(na<<1)>>1]|0;m=b[a+(ta<<1)>>1]|0;Ib=b[a+(za<<1)>>1]|0;i=b[a+(Ga<<1)>>1]|0;l=(w(m,ma)|0)+(w(Hb,la)|0)+(w(Ib,oa)|0)+(w(i,pa)|0)|0;k=(w(m,ra)|0)+(w(Hb,qa)|0)+(w(Ib,sa)|0)+(w(i,ua)|0)|0;j=(w(m,xa)|0)+(w(Hb,wa)|0)+(w(Ib,ya)|0)+(w(i,Aa)|0)|0;i=(w(m,Da)|0)+(w(Hb,Ca)|0)+(w(Ib,Ea)|0)+(w(i,Fa)|0)|0;Ib=b[a+(Qa<<1)>>1]|0;Hb=w(Ib,Pa)|0;m=b[a+(Sa<<1)>>1]|0;Hb=(w(m,Ra)|0)+Hb|0;n=b[a>>1]|0;Lb=w(n,Ta)|0;Kb=b[a+(Va<<1)>>1]|0;Lb=(w(Kb,Ua)|0)+Lb|0;Ib=(w(Xa,m)|0)+(w(Wa,Ib)|0)|0;n=(w(Za,Kb)|0)+(w(Ya,n)|0)|0;Kb=Hb+Lb|0;m=n-Ib|0;n=Ib+n|0;Hb=Lb-Hb|0;Lb=l+Kb|0;c[hb>>2]=Lb;Ib=Hb-i|0;c[Ia>>2]=Ib;Jb=k+n|0;c[Ja>>2]=Jb;Gb=m-j|0;c[Ka>>2]=Gb;m=j+m|0;c[La>>2]=m;n=n-k|0;c[Ma>>2]=n;Hb=i+Hb|0;c[Na>>2]=Hb;Kb=Kb-l|0;c[Oa>>2]=Kb;Lb=Lb+p+(c[nb>>2]|0)>>g;Lb=(Lb|0)>-32768?Lb:-32768;b[d>>1]=(Lb|0)<32767?Lb:32767;Kb=Kb+p-(c[ka>>2]|0)>>g;Kb=(Kb|0)>-32768?Kb:-32768;b[d+16>>1]=(Kb|0)<32767?Kb:32767;Jb=Jb+p+(c[qb>>2]|0)>>g;Jb=(Jb|0)>-32768?Jb:-32768;b[d+2>>1]=(Jb|0)<32767?Jb:32767;n=n+p-(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+18>>1]=(n|0)<32767?n:32767;n=c[Ab>>2]|0;m=m+p+n>>g;m=(m|0)>-32768?m:-32768;b[d+4>>1]=(m|0)<32767?m:32767;m=c[R>>2]|0;Gb=Gb+p-m>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+20>>1]=(Gb|0)<32767?Gb:32767;Gb=c[u>>2]|0;Hb=Hb+p+Gb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+6>>1]=(Hb|0)<32767?Hb:32767;Hb=c[G>>2]|0;Ib=Ib+p-Hb>>g;Ib=(Ib|0)>-32768?Ib:-32768;b[d+22>>1]=(Ib|0)<32767?Ib:32767;Hb=(c[Ia>>2]|0)+p+Hb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+8>>1]=(Hb|0)<32767?Hb:32767;Gb=(c[Na>>2]|0)+p-Gb>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+24>>1]=(Gb|0)<32767?Gb:32767;m=(c[Ka>>2]|0)+p+m>>g;m=(m|0)>-32768?m:-32768;b[d+10>>1]=(m|0)<32767?m:32767;n=(c[La>>2]|0)+p-n>>g;n=(n|0)>-32768?n:-32768;b[d+26>>1]=(n|0)<32767?n:32767;n=(c[Ma>>2]|0)+p+(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+12>>1]=(n|0)<32767?n:32767;n=(c[Ja>>2]|0)+p-(c[qb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+28>>1]=(n|0)<32767?n:32767;n=(c[Oa>>2]|0)+p+(c[ka>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+14>>1]=(n|0)<32767?n:32767;n=(c[hb>>2]|0)+p-(c[nb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+30>>1]=(n|0)<32767?n:32767}else{m=d;n=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}o=o+1|0;if((o|0)==16)break;else{h=h>>1;d=d+(f<<1)|0;a=a+2|0}}c[ub>>2]=l;c[va>>2]=k;c[Ba>>2]=j;c[Ha>>2]=i;Zb=Fb;return}function Af(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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,_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;oc=Zb;Zb=Zb+176|0;Rb=oc+112|0;Xb=oc+48|0;cc=oc+16|0;ic=oc;H=1<<g+-1;N=e*3|0;T=e*5|0;Z=e*7|0;ea=e*9|0;ka=e*11|0;qa=e*13|0;xa=e*15|0;Da=e*17|0;Ja=e*19|0;Qa=e*21|0;Wa=e*23|0;cb=e*25|0;nb=e*27|0;rb=e*29|0;sb=e*31|0;tb=e<<1;ub=e*6|0;vb=e*10|0;wb=e*14|0;xb=e*18|0;yb=e*22|0;zb=e*26|0;Ab=e*30|0;Bb=e<<2;Cb=e*12|0;Db=e*20|0;Eb=e*28|0;Fb=b[17408]|0;Gb=e<<3;Hb=b[17920]|0;Ib=e*24|0;Jb=b[17409]|0;Kb=b[17921]|0;Lb=b[17152]|0;Mb=b[17664]|0;Nb=e<<4;Ob=b[17153]|0;Pb=b[17665]|0;Qb=b[17216]|0;Sb=b[17344]|0;Tb=b[17472]|0;Ub=b[17600]|0;Vb=b[17728]|0;Wb=b[17856]|0;Yb=b[17984]|0;_b=b[18112]|0;$b=b[17217]|0;ac=b[17345]|0;bc=b[17473]|0;dc=b[17601]|0;ec=b[17729]|0;fc=b[17857]|0;gc=b[17985]|0;hc=b[18113]|0;jc=cc+4|0;kc=b[17218]|0;lc=b[17346]|0;mc=b[17474]|0;nc=b[17602]|0;B=b[17730]|0;C=b[17858]|0;D=b[17986]|0;E=b[18114]|0;F=cc+8|0;G=b[17219]|0;I=b[17347]|0;J=b[17475]|0;K=b[17603]|0;L=b[17731]|0;M=b[17859]|0;O=b[17987]|0;P=b[18115]|0;Q=cc+12|0;R=b[17220]|0;S=b[17348]|0;U=b[17476]|0;V=b[17604]|0;W=b[17732]|0;X=b[17860]|0;Y=b[17988]|0;_=b[18116]|0;$=cc+16|0;aa=b[17221]|0;ba=b[17349]|0;ca=b[17477]|0;da=b[17605]|0;fa=b[17733]|0;ga=b[17861]|0;ha=b[17989]|0;ia=b[18117]|0;ja=cc+20|0;la=b[17222]|0;ma=b[17350]|0;na=b[17478]|0;oa=b[17606]|0;pa=b[17734]|0;ra=b[17862]|0;sa=b[17990]|0;ta=b[18118]|0;ua=cc+24|0;va=b[17223]|0;wa=b[17351]|0;ya=b[17479]|0;za=b[17607]|0;Aa=b[17735]|0;Ba=b[17863]|0;Ca=b[17991]|0;Ea=b[18119]|0;Fa=cc+28|0;Ga=b[17280]|0;Ha=b[17536]|0;Ia=b[17792]|0;Ka=b[18048]|0;La=b[17281]|0;Ma=b[17537]|0;Na=b[17793]|0;Oa=b[18049]|0;Pa=ic+4|0;Ra=b[17282]|0;Sa=b[17538]|0;Ta=b[17794]|0;Ua=b[18050]|0;Va=ic+8|0;Xa=b[17283]|0;Ya=b[17539]|0;Za=b[17795]|0;_a=b[18051]|0;$a=ic+12|0;ab=Rb+32|0;bb=Rb+4|0;db=Rb+36|0;eb=Rb+8|0;fb=Rb+40|0;gb=Rb+12|0;hb=Rb+44|0;ib=Rb+16|0;jb=Rb+48|0;kb=Rb+20|0;lb=Rb+52|0;mb=Rb+24|0;ob=Rb+56|0;pb=Rb+28|0;qb=Rb+60|0;A=0;i=c[$a>>2]|0;j=c[Va>>2]|0;v=c[Pa>>2]|0;u=c[ic>>2]|0;s=c[Fa>>2]|0;t=c[ua>>2]|0;r=c[ja>>2]|0;q=c[$>>2]|0;p=c[Q>>2]|0;o=c[F>>2]|0;n=c[jc>>2]|0;k=c[cc>>2]|0;while(1){a:do if(!(h&1)){j=b[a+(e<<1)>>1]|0;k=b[a+(N<<1)>>1]|0;l=b[a+(T<<1)>>1]|0;m=b[a+(Z<<1)>>1]|0;n=b[a+(ea<<1)>>1]|0;o=b[a+(ka<<1)>>1]|0;p=b[a+(qa<<1)>>1]|0;q=b[a+(xa<<1)>>1]|0;r=b[a+(Da<<1)>>1]|0;s=b[a+(Ja<<1)>>1]|0;t=b[a+(Qa<<1)>>1]|0;u=b[a+(Wa<<1)>>1]|0;v=b[a+(cb<<1)>>1]|0;x=b[a+(nb<<1)>>1]|0;y=b[a+(rb<<1)>>1]|0;z=b[a+(sb<<1)>>1]|0;i=0;do{pc=w(j,b[34368+(i<<1)>>1]|0)|0;pc=(w(k,b[34496+(i<<1)>>1]|0)|0)+pc|0;pc=pc+(w(l,b[34624+(i<<1)>>1]|0)|0)|0;pc=pc+(w(m,b[34752+(i<<1)>>1]|0)|0)|0;pc=pc+(w(n,b[34880+(i<<1)>>1]|0)|0)|0;pc=pc+(w(o,b[35008+(i<<1)>>1]|0)|0)|0;pc=pc+(w(p,b[35136+(i<<1)>>1]|0)|0)|0;pc=pc+(w(q,b[35264+(i<<1)>>1]|0)|0)|0;pc=pc+(w(r,b[35392+(i<<1)>>1]|0)|0)|0;pc=pc+(w(s,b[35520+(i<<1)>>1]|0)|0)|0;pc=pc+(w(t,b[35648+(i<<1)>>1]|0)|0)|0;pc=pc+(w(u,b[35776+(i<<1)>>1]|0)|0)|0;pc=pc+(w(v,b[35904+(i<<1)>>1]|0)|0)|0;pc=pc+(w(x,b[36032+(i<<1)>>1]|0)|0)|0;pc=pc+(w(y,b[36160+(i<<1)>>1]|0)|0)|0;c[Xb+(i<<2)>>2]=pc+(w(z,b[36288+(i<<1)>>1]|0)|0);i=i+1|0}while((i|0)!=16);u=b[a+(tb<<1)>>1]|0;v=b[a+(ub<<1)>>1]|0;m=b[a+(vb<<1)>>1]|0;i=b[a+(wb<<1)>>1]|0;x=b[a+(xb<<1)>>1]|0;l=b[a+(yb<<1)>>1]|0;rc=b[a+(zb<<1)>>1]|0;s=b[a+(Ab<<1)>>1]|0;k=(w(v,Sb)|0)+(w(u,Qb)|0)+(w(m,Tb)|0)+(w(i,Ub)|0)+(w(x,Vb)|0)+(w(l,Wb)|0)+(w(rc,Yb)|0)+(w(s,_b)|0)|0;n=(w(v,ac)|0)+(w(u,$b)|0)+(w(m,bc)|0)+(w(i,dc)|0)+(w(x,ec)|0)+(w(l,fc)|0)+(w(rc,gc)|0)+(w(s,hc)|0)|0;o=(w(v,lc)|0)+(w(u,kc)|0)+(w(m,mc)|0)+(w(i,nc)|0)+(w(x,B)|0)+(w(l,C)|0)+(w(rc,D)|0)+(w(s,E)|0)|0;p=(w(v,I)|0)+(w(u,G)|0)+(w(m,J)|0)+(w(i,K)|0)+(w(x,L)|0)+(w(l,M)|0)+(w(rc,O)|0)+(w(s,P)|0)|0;q=(w(v,S)|0)+(w(u,R)|0)+(w(m,U)|0)+(w(i,V)|0)+(w(x,W)|0)+(w(l,X)|0)+(w(rc,Y)|0)+(w(s,_)|0)|0;r=(w(v,ba)|0)+(w(u,aa)|0)+(w(m,ca)|0)+(w(i,da)|0)+(w(x,fa)|0)+(w(l,ga)|0)+(w(rc,ha)|0)+(w(s,ia)|0)|0;t=(w(v,ma)|0)+(w(u,la)|0)+(w(m,na)|0)+(w(i,oa)|0)+(w(x,pa)|0)+(w(l,ra)|0)+(w(rc,sa)|0)+(w(s,ta)|0)|0;s=(w(v,wa)|0)+(w(u,va)|0)+(w(m,ya)|0)+(w(i,za)|0)+(w(x,Aa)|0)+(w(l,Ba)|0)+(w(rc,Ca)|0)+(w(s,Ea)|0)|0;rc=b[a+(Bb<<1)>>1]|0;l=b[a+(Cb<<1)>>1]|0;x=b[a+(Db<<1)>>1]|0;i=b[a+(Eb<<1)>>1]|0;m=(w(l,Ha)|0)+(w(rc,Ga)|0)+(w(x,Ia)|0)+(w(i,Ka)|0)|0;u=(w(l,Ma)|0)+(w(rc,La)|0)+(w(x,Na)|0)+(w(i,Oa)|0)|0;v=(w(l,Sa)|0)+(w(rc,Ra)|0)+(w(x,Ta)|0)+(w(i,Ua)|0)|0;i=(w(l,Ya)|0)+(w(rc,Xa)|0)+(w(x,Za)|0)+(w(i,_a)|0)|0;x=b[a+(Gb<<1)>>1]|0;rc=w(x,Fb)|0;l=b[a+(Ib<<1)>>1]|0;rc=(w(l,Hb)|0)+rc|0;x=(w(Kb,l)|0)+(w(Jb,x)|0)|0;l=b[a>>1]|0;y=w(l,Lb)|0;pc=b[a+(Nb<<1)>>1]|0;y=(w(pc,Mb)|0)+y|0;l=(w(Pb,pc)|0)+(w(Ob,l)|0)|0;pc=y+rc|0;rc=y-rc|0;y=l+x|0;x=l-x|0;l=m+pc|0;sc=rc-i|0;z=u+y|0;qc=x-v|0;x=v+x|0;y=y-u|0;rc=i+rc|0;pc=pc-m|0;j=k+l|0;c[Rb>>2]=j;c[ab>>2]=pc-s;c[bb>>2]=n+z;c[db>>2]=y-t;c[eb>>2]=o+x;c[fb>>2]=qc-r;c[gb>>2]=p+rc;c[hb>>2]=sc-q;c[ib>>2]=q+sc;c[jb>>2]=rc-p;c[kb>>2]=r+qc;c[lb>>2]=x-o;c[mb>>2]=t+y;c[ob>>2]=z-n;c[pb>>2]=s+pc;c[qb>>2]=l-k;l=0;while(1){j=j+H+(c[Xb+(l<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l<<1)>>1]=(j|0)<32767?j:32767;j=15-l|0;j=(c[Rb+(j<<2)>>2]|0)+H-(c[Xb+(j<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l+16<<1)>>1]=(j|0)<32767?j:32767;j=l+1|0;if((j|0)==16){l=u;j=v;break a}l=j;j=c[Rb+(j<<2)>>2]|0}}else{l=d;m=l+64|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));m=u;l=v}while(0);A=A+1|0;if((A|0)==32)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0;v=l;u=m}}c[cc>>2]=k;c[jc>>2]=n;c[F>>2]=o;c[Q>>2]=p;c[$>>2]=q;c[ja>>2]=r;c[ua>>2]=t;c[Fa>>2]=s;c[ic>>2]=m;c[Pa>>2]=l;c[Va>>2]=j;c[$a>>2]=i;Zb=oc;return}function Bf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0;q=h<<1;p=h*3|0;if(!(k&1)){o=b[c>>1]|0;s=c+(q<<1)|0;t=b[s>>1]|0;n=t+o|0;r=c+(p<<1)|0;l=b[r>>1]|0;t=l+t|0;l=o-l|0;o=(b[c+(h<<1)>>1]|0)*74|0;m=(t*55|0)+(n*29|0)+o|0;m=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;b[e>>1]=m;t=(l*55|0)+(w(t,-29)|0)+o|0;b[e+2>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;r=((b[c>>1]|0)-(b[s>>1]|0)+(b[r>>1]|0)|0)*74|0;b[e+4>>1]=(r|0)>4194239?32767:(r|0)<-4194368?-32768:(r+64|0)>>>7&65535;o=(l*29|0)+(n*55|0)-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{m=e;t=m;b[t>>1]=0;b[t+2>>1]=0>>>16;m=m+4|0;b[m>>1]=0;b[m+2>>1]=0>>>16;m=0}l=c+2|0;n=e+8|0;if(!(k&2)){s=b[l>>1]|0;v=l+(q<<1)|0;x=b[v>>1]|0;r=x+s|0;u=l+(p<<1)|0;o=b[u>>1]|0;x=o+x|0;o=s-o|0;s=(b[l+(h<<1)>>1]|0)*74|0;t=(x*55|0)+(r*29|0)+s|0;t=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;b[n>>1]=t;n=(o*55|0)+(w(x,-29)|0)+s|0;b[e+10>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=((b[l>>1]|0)-(b[v>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+12>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=(o*29|0)+(r*55|0)-s|0;b[e+14>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=t}else{x=n;b[x>>1]=0;b[x+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+4|0;o=e+16|0;if(!(k&4)){x=b[l>>1]|0;s=l+(q<<1)|0;r=b[s>>1]|0;v=r+x|0;t=l+(p<<1)|0;u=b[t>>1]|0;r=u+r|0;u=x-u|0;x=(b[l+(h<<1)>>1]|0)*74|0;y=(r*55|0)+(v*29|0)+x|0;b[o>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535;r=(u*55|0)+(w(r,-29)|0)+x|0;b[e+18>>1]=(r|0)>4194239?32767:(r|0)<-4194368?-32768:(r+64|0)>>>7&65535;t=((b[l>>1]|0)-(b[s>>1]|0)+(b[t>>1]|0)|0)*74|0;b[e+20>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;x=(u*29|0)+(v*55|0)-x|0;b[e+22>>1]=(x|0)>4194239?32767:(x|0)<-4194368?-32768:(x+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}l=c+6|0;o=e+24|0;if(!(k&8)){y=b[l>>1]|0;t=l+(q<<1)|0;s=b[t>>1]|0;x=s+y|0;u=l+(p<<1)|0;v=b[u>>1]|0;s=v+s|0;v=y-v|0;y=(b[l+(h<<1)>>1]|0)*74|0;r=(s*55|0)+(x*29|0)+y|0;b[o>>1]=(r|0)>4194239?32767:(r|0)<-4194368?-32768:(r+64|0)>>>7&65535;s=(v*55|0)+(w(s,-29)|0)+y|0;b[e+26>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;u=((b[l>>1]|0)-(b[t>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+28>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;y=(v*29|0)+(x*55|0)-y|0;b[e+30>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}o=f;l=0;while(1){m=m<<16>>16;u=e+16|0;t=b[u>>1]|0;y=t+m|0;v=e+24|0;x=b[v>>1]|0;t=x+t|0;x=m-x|0;m=(n<<16>>16)*74|0;s=(t*55|0)+(y*29|0)+m|0;s=((s|0)>134215679?32767:(s|0)<-134219776?-32768:s+2048>>12)+(d[o>>0]|0)|0;s=(s|0)>0?s:0;a[g>>0]=(s|0)<255?s:255;t=(x*55|0)+(w(t,-29)|0)+m|0;t=((t|0)>134215679?32767:(t|0)<-134219776?-32768:t+2048>>12)+(d[o+1>>0]|0)|0;t=(t|0)>0?t:0;a[g+1>>0]=(t|0)<255?t:255;v=((b[e>>1]|0)-(b[u>>1]|0)+(b[v>>1]|0)|0)*74|0;v=((v|0)>134215679?32767:(v|0)<-134219776?-32768:v+2048>>12)+(d[o+2>>0]|0)|0;v=(v|0)>0?v:0;a[g+2>>0]=(v|0)<255?v:255;m=(x*29|0)+(y*55|0)-m|0;m=((m|0)>134215679?32767:(m|0)<-134219776?-32768:m+2048>>12)+(d[o+3>>0]|0)|0;m=(m|0)>0?m:0;a[g+3>>0]=(m|0)<255?m:255;m=e+2|0;l=l+1|0;if((l|0)==4)break;n=b[e+10>>1]|0;o=o+i|0;g=g+j|0;e=m;m=b[m>>1]|0}return}function Cf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;r=b[16820]|0;s=b[16828]|0;p=h*3|0;t=b[16821]|0;u=b[16829]|0;v=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=w(m,r)|0;l=b[c+(p<<1)>>1]|0;o=(w(l,s)|0)+o|0;m=(w(u,l)|0)+(w(t,m)|0)|0;l=b[c>>1]|0;n=w(l,v)|0;A=b[c+(q<<1)>>1]|0;n=(w(A,x)|0)+n|0;l=(w(z,A)|0)+(w(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=w(C,r)|0;o=b[l+(p<<1)>>1]|0;B=(w(o,s)|0)+B|0;C=(w(u,o)|0)+(w(t,C)|0)|0;o=b[l>>1]|0;n=w(o,v)|0;l=b[l+(q<<1)>>1]|0;n=(w(l,x)|0)+n|0;l=(w(z,l)|0)+(w(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=w(D,r)|0;n=b[l+(p<<1)>>1]|0;C=(w(n,s)|0)+C|0;D=(w(u,n)|0)+(w(t,D)|0)|0;n=b[l>>1]|0;B=w(n,v)|0;l=b[l+(q<<1)>>1]|0;B=(w(l,x)|0)+B|0;l=(w(z,l)|0)+(w(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=w(B,r)|0;k=b[l+(p<<1)>>1]|0;D=(w(k,s)|0)+D|0;B=(w(u,k)|0)+(w(t,B)|0)|0;k=b[l>>1]|0;C=w(k,v)|0;l=b[l+(q<<1)>>1]|0;C=(w(l,x)|0)+C|0;k=(w(z,l)|0)+(w(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(w(B,s)|0)+(w(k,r)|0)|0;k=(w(u,B)|0)+(w(t,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(w(h,x)|0)+(w(B,v)|0)|0;B=(w(z,h)|0)+(w(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[g+1>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+2>>0]|0)|0;k=(k|0)>0?k:0;a[g+2>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+3>>0]|0)|0;C=(C|0)>0?C:0;a[g+3>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=w(k,r)|0;g=b[e+26>>1]|0;f=(w(g,s)|0)+f|0;k=(w(u,g)|0)+(w(t,k)|0)|0;g=b[e+2>>1]|0;B=w(g,v)|0;h=b[e+18>>1]|0;B=(w(h,x)|0)+B|0;g=(w(z,h)|0)+(w(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+2>>0]|0)|0;k=(k|0)>0?k:0;a[D+2>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+3>>0]|0)|0;f=(f|0)>0?f:0;a[D+3>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=w(f,r)|0;k=b[e+28>>1]|0;B=(w(k,s)|0)+B|0;f=(w(u,k)|0)+(w(t,f)|0)|0;k=b[e+4>>1]|0;g=w(k,v)|0;h=b[e+20>>1]|0;g=(w(h,x)|0)+g|0;k=(w(z,h)|0)+(w(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;B=(B|0)>0?B:0;a[D+3>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=w(i,r)|0;g=b[e+30>>1]|0;B=(w(g,s)|0)+B|0;i=(w(u,g)|0)+(w(t,i)|0)|0;g=b[e+6>>1]|0;j=w(g,v)|0;f=b[e+22>>1]|0;j=(w(f,x)|0)+j|0;g=(w(z,f)|0)+(w(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+1>>0]|0)|0;f=(f|0)>0?f:0;a[D+1>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+2>>0]|0)|0;i=(i|0)>0?i:0;a[D+2>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;C=(C|0)>0?C:0;a[D+3>>0]=(C|0)<255?C:255;return}function Df(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;Ib=Zb;Zb=Zb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;r=b[16896]|0;s=b[16897]|0;t=b[16912]|0;u=b[16944]|0;v=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=l;while(1){if(!(m&1)){wb=b[e+(i<<1)>>1]|0;zb=b[e+(p<<1)>>1]|0;c[Fb>>2]=(w(zb,u)|0)+(w(wb,t)|0);c[y>>2]=(w(zb,x)|0)+(w(wb,v)|0);c[B>>2]=(w(zb,A)|0)+(w(wb,z)|0);c[E>>2]=(w(zb,D)|0)+(w(wb,C)|0);c[H>>2]=(w(zb,G)|0)+(w(wb,F)|0);c[K>>2]=(w(zb,J)|0)+(w(wb,I)|0);c[N>>2]=(w(zb,M)|0)+(w(wb,L)|0);wb=(w(zb,P)|0)+(w(wb,O)|0)|0;c[Q>>2]=wb;zb=b[e+(q<<1)>>1]|0;vb=w(zb,R)|0;c[Gb>>2]=vb;Bb=w(zb,S)|0;c[T>>2]=Bb;l=w(zb,U)|0;c[V>>2]=l;zb=w(zb,W)|0;c[X>>2]=zb;sb=b[e>>1]|0;tb=w(sb,r)|0;sb=w(s,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-l|0;c[_>>2]=Ab;l=l+sb|0;c[$>>2]=l;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[K>>2]|0;Ab=Ab-l|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;l=l+(c[_>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{e=e+2|0;n=n+32|0;m=m>>1}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;e=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(w(Eb,q)|0)+(w(i,p)|0);c[t>>2]=(w(Eb,s)|0)+(w(i,r)|0);c[x>>2]=(w(Eb,v)|0)+(w(i,u)|0);c[A>>2]=(w(Eb,z)|0)+(w(i,y)|0);c[D>>2]=(w(Eb,C)|0)+(w(i,B)|0);c[G>>2]=(w(Eb,F)|0)+(w(i,E)|0);c[J>>2]=(w(Eb,I)|0)+(w(i,H)|0);c[M>>2]=(w(Eb,L)|0)+(w(i,K)|0);i=b[m+64>>1]|0;Eb=w(i,N)|0;c[Gb>>2]=Eb;Cb=w(i,O)|0;c[P>>2]=Cb;l=w(i,Q)|0;c[R>>2]=l;i=w(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=w(Bb,n)|0;Bb=w(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[t>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[t>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;e=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(w(Bb,r)|0)+(w(Eb,q)|0)+(w(yb,s)|0)+(w(Cb,t)|0);c[z>>2]=(w(Bb,v)|0)+(w(Eb,u)|0)+(w(yb,x)|0)+(w(Cb,y)|0);c[E>>2]=(w(Bb,B)|0)+(w(Eb,A)|0)+(w(yb,C)|0)+(w(Cb,D)|0);c[J>>2]=(w(Bb,G)|0)+(w(Eb,F)|0)+(w(yb,H)|0)+(w(Cb,I)|0);c[O>>2]=(w(Bb,L)|0)+(w(Eb,K)|0)+(w(yb,M)|0)+(w(Cb,N)|0);c[T>>2]=(w(Bb,Q)|0)+(w(Eb,P)|0)+(w(yb,R)|0)+(w(Cb,S)|0);c[Y>>2]=(w(Bb,V)|0)+(w(Eb,U)|0)+(w(yb,W)|0)+(w(Cb,X)|0);c[ba>>2]=(w(Bb,_)|0)+(w(Eb,Z)|0)+(w(yb,$)|0)+(w(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(w(yb,da)|0)+(w(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(w(yb,fa)|0)+(w(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(w(yb,ia)|0)+(w(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(w(yb,la)|0)+(w(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=w(yb,kb)|0;l=b[m>>1]|0;f=w(l,n)|0;yb=w(o,yb)|0;l=w(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(w(Bb,v)|0)+(w(Ab,u)|0)+(w(Cb,x)|0)+(w(f,y)|0)+(w(i,z)|0)+(w(yb,A)|0)+(w(l,B)|0)+(w(Db,C)|0);c[L>>2]=(w(Bb,E)|0)+(w(Ab,D)|0)+(w(Cb,F)|0)+(w(f,G)|0)+(w(i,H)|0)+(w(yb,I)|0)+(w(l,J)|0)+(w(Db,K)|0);c[U>>2]=(w(Bb,N)|0)+(w(Ab,M)|0)+(w(Cb,O)|0)+(w(f,P)|0)+(w(i,Q)|0)+(w(yb,R)|0)+(w(l,S)|0)+(w(Db,T)|0);c[ba>>2]=(w(Bb,W)|0)+(w(Ab,V)|0)+(w(Cb,X)|0)+(w(f,Y)|0)+(w(i,Z)|0)+(w(yb,_)|0)+(w(l,$)|0)+(w(Db,aa)|0);c[ka>>2]=(w(Bb,da)|0)+(w(Ab,ca)|0)+(w(Cb,ea)|0)+(w(f,fa)|0)+(w(i,ga)|0)+(w(yb,ha)|0)+(w(l,ia)|0)+(w(Db,ja)|0);c[ta>>2]=(w(Bb,ma)|0)+(w(Ab,la)|0)+(w(Cb,na)|0)+(w(f,oa)|0)+(w(i,pa)|0)+(w(yb,qa)|0)+(w(l,ra)|0)+(w(Db,sa)|0);c[Ca>>2]=(w(Bb,va)|0)+(w(Ab,ua)|0)+(w(Cb,wa)|0)+(w(f,xa)|0)+(w(i,ya)|0)+(w(yb,za)|0)+(w(l,Aa)|0)+(w(Db,Ba)|0);c[La>>2]=(w(Bb,Ea)|0)+(w(Ab,Da)|0)+(w(Cb,Fa)|0)+(w(f,Ga)|0)+(w(i,Ha)|0)+(w(yb,Ia)|0)+(w(l,Ja)|0)+(w(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(w(l,Na)|0)+(w(Db,Ma)|0)+(w(yb,Oa)|0)+(w(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(w(l,Ra)|0)+(w(Db,Qa)|0)+(w(yb,Sa)|0)+(w(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(w(l,Wa)|0)+(w(Db,Va)|0)+(w(yb,Xa)|0)+(w(i,Ya)|0)|0;c[Za>>2]=Ab;i=(w(l,$a)|0)+(w(Db,_a)|0)+(w(yb,ab)|0)+(w(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=w(yb,kb)|0;l=b[m+384>>1]|0;Db=(w(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=w(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(w(Eb,p)|0)+zb|0;yb=(w(r,l)|0)+(w(q,yb)|0)|0;Bb=(w(t,Eb)|0)+(w(s,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;r=b[16960]|0;s=i<<2;t=b[16896]|0;u=b[16961]|0;v=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){tb=b[e+(i<<1)>>1]|0;Bb=b[e+(yb<<1)>>1]|0;vb=b[e+(zb<<1)>>1]|0;qb=b[e+(Ab<<1)>>1]|0;c[Fb>>2]=(w(Bb,y)|0)+(w(tb,x)|0)+(w(vb,z)|0)+(w(qb,A)|0);c[F>>2]=(w(Bb,C)|0)+(w(tb,B)|0)+(w(vb,D)|0)+(w(qb,E)|0);c[K>>2]=(w(Bb,H)|0)+(w(tb,G)|0)+(w(vb,I)|0)+(w(qb,J)|0);c[P>>2]=(w(Bb,M)|0)+(w(tb,L)|0)+(w(vb,N)|0)+(w(qb,O)|0);c[U>>2]=(w(Bb,R)|0)+(w(tb,Q)|0)+(w(vb,S)|0)+(w(qb,T)|0);c[Z>>2]=(w(Bb,W)|0)+(w(tb,V)|0)+(w(vb,X)|0)+(w(qb,Y)|0);c[ca>>2]=(w(Bb,$)|0)+(w(tb,_)|0)+(w(vb,aa)|0)+(w(qb,ba)|0);c[ha>>2]=(w(Bb,ea)|0)+(w(tb,da)|0)+(w(vb,fa)|0)+(w(qb,ga)|0);qb=b[e+(p<<1)>>1]|0;vb=b[e+(q<<1)>>1]|0;tb=(w(vb,ja)|0)+(w(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(w(vb,la)|0)+(w(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(w(vb,oa)|0)+(w(qb,na)|0)|0;c[pa>>2]=ob;qb=(w(vb,ra)|0)+(w(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[e+(s<<1)>>1]|0;wb=w(vb,r)|0;pb=b[e>>1]|0;sb=w(pb,t)|0;vb=w(u,vb)|0;pb=w(v,pb)|0;rb=wb+sb|0;l=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=l-ob|0;c[va>>2]=xb;l=ob+l|0;c[wa>>2]=l;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[n>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[n+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[n+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Z>>2]|0;xb=xb-l|0;b[n+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[n+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[n+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[n+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[n+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;l=l+(c[va>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(w(Eb,q)|0)+(w(i,p)|0);c[t>>2]=(w(Eb,s)|0)+(w(i,r)|0);c[x>>2]=(w(Eb,v)|0)+(w(i,u)|0);c[A>>2]=(w(Eb,z)|0)+(w(i,y)|0);c[D>>2]=(w(Eb,C)|0)+(w(i,B)|0);c[G>>2]=(w(Eb,F)|0)+(w(i,E)|0);c[J>>2]=(w(Eb,I)|0)+(w(i,H)|0);c[M>>2]=(w(Eb,L)|0)+(w(i,K)|0);i=b[m+64>>1]|0;Eb=w(i,N)|0;c[Gb>>2]=Eb;Cb=w(i,O)|0;c[P>>2]=Cb;l=w(i,Q)|0;c[R>>2]=l;i=w(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=w(Bb,n)|0;Bb=w(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[t>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[t>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(w(Bb,r)|0)+(w(Eb,q)|0)+(w(yb,s)|0)+(w(Cb,t)|0);c[z>>2]=(w(Bb,v)|0)+(w(Eb,u)|0)+(w(yb,x)|0)+(w(Cb,y)|0);c[E>>2]=(w(Bb,B)|0)+(w(Eb,A)|0)+(w(yb,C)|0)+(w(Cb,D)|0);c[J>>2]=(w(Bb,G)|0)+(w(Eb,F)|0)+(w(yb,H)|0)+(w(Cb,I)|0);c[O>>2]=(w(Bb,L)|0)+(w(Eb,K)|0)+(w(yb,M)|0)+(w(Cb,N)|0);c[T>>2]=(w(Bb,Q)|0)+(w(Eb,P)|0)+(w(yb,R)|0)+(w(Cb,S)|0);c[Y>>2]=(w(Bb,V)|0)+(w(Eb,U)|0)+(w(yb,W)|0)+(w(Cb,X)|0);c[ba>>2]=(w(Bb,_)|0)+(w(Eb,Z)|0)+(w(yb,$)|0)+(w(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(w(yb,da)|0)+(w(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(w(yb,fa)|0)+(w(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(w(yb,ia)|0)+(w(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(w(yb,la)|0)+(w(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=w(yb,kb)|0;l=b[m>>1]|0;f=w(l,n)|0;yb=w(o,yb)|0;l=w(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(w(Bb,v)|0)+(w(Ab,u)|0)+(w(Cb,x)|0)+(w(f,y)|0)+(w(i,z)|0)+(w(yb,A)|0)+(w(l,B)|0)+(w(Db,C)|0);c[L>>2]=(w(Bb,E)|0)+(w(Ab,D)|0)+(w(Cb,F)|0)+(w(f,G)|0)+(w(i,H)|0)+(w(yb,I)|0)+(w(l,J)|0)+(w(Db,K)|0);c[U>>2]=(w(Bb,N)|0)+(w(Ab,M)|0)+(w(Cb,O)|0)+(w(f,P)|0)+(w(i,Q)|0)+(w(yb,R)|0)+(w(l,S)|0)+(w(Db,T)|0);c[ba>>2]=(w(Bb,W)|0)+(w(Ab,V)|0)+(w(Cb,X)|0)+(w(f,Y)|0)+(w(i,Z)|0)+(w(yb,_)|0)+(w(l,$)|0)+(w(Db,aa)|0);c[ka>>2]=(w(Bb,da)|0)+(w(Ab,ca)|0)+(w(Cb,ea)|0)+(w(f,fa)|0)+(w(i,ga)|0)+(w(yb,ha)|0)+(w(l,ia)|0)+(w(Db,ja)|0);c[ta>>2]=(w(Bb,ma)|0)+(w(Ab,la)|0)+(w(Cb,na)|0)+(w(f,oa)|0)+(w(i,pa)|0)+(w(yb,qa)|0)+(w(l,ra)|0)+(w(Db,sa)|0);c[Ca>>2]=(w(Bb,va)|0)+(w(Ab,ua)|0)+(w(Cb,wa)|0)+(w(f,xa)|0)+(w(i,ya)|0)+(w(yb,za)|0)+(w(l,Aa)|0)+(w(Db,Ba)|0);c[La>>2]=(w(Bb,Ea)|0)+(w(Ab,Da)|0)+(w(Cb,Fa)|0)+(w(f,Ga)|0)+(w(i,Ha)|0)+(w(yb,Ia)|0)+(w(l,Ja)|0)+(w(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(w(l,Na)|0)+(w(Db,Ma)|0)+(w(yb,Oa)|0)+(w(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(w(l,Ra)|0)+(w(Db,Qa)|0)+(w(yb,Sa)|0)+(w(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(w(l,Wa)|0)+(w(Db,Va)|0)+(w(yb,Xa)|0)+(w(i,Ya)|0)|0;c[Za>>2]=Ab;i=(w(l,$a)|0)+(w(Db,_a)|0)+(w(yb,ab)|0)+(w(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=w(yb,kb)|0;l=b[m+384>>1]|0;Db=(w(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=w(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(w(Eb,p)|0)+zb|0;yb=(w(r,l)|0)+(w(q,yb)|0)|0;Bb=(w(t,Eb)|0)+(w(s,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}}else{p=i*9|0;q=i*11|0;r=i*13|0;s=i*15|0;t=i<<1;u=i*6|0;v=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){Rb=b[e+(i<<1)>>1]|0;Qb=b[e+(yb<<1)>>1]|0;Bb=b[e+(zb<<1)>>1]|0;Ob=b[e+(Ab<<1)>>1]|0;Pb=b[e+(p<<1)>>1]|0;Mb=b[e+(q<<1)>>1]|0;l=b[e+(r<<1)>>1]|0;Kb=b[e+(s<<1)>>1]|0;c[Fb>>2]=(w(Qb,K)|0)+(w(Rb,J)|0)+(w(Bb,L)|0)+(w(Ob,M)|0)+(w(Pb,N)|0)+(w(Mb,O)|0)+(w(l,P)|0)+(w(Kb,Q)|0);c[Z>>2]=(w(Qb,S)|0)+(w(Rb,R)|0)+(w(Bb,T)|0)+(w(Ob,U)|0)+(w(Pb,V)|0)+(w(Mb,W)|0)+(w(l,X)|0)+(w(Kb,Y)|0);c[ga>>2]=(w(Qb,$)|0)+(w(Rb,_)|0)+(w(Bb,aa)|0)+(w(Ob,ba)|0)+(w(Pb,ca)|0)+(w(Mb,da)|0)+(w(l,ea)|0)+(w(Kb,fa)|0);c[pa>>2]=(w(Qb,ia)|0)+(w(Rb,ha)|0)+(w(Bb,ja)|0)+(w(Ob,ka)|0)+(w(Pb,la)|0)+(w(Mb,ma)|0)+(w(l,na)|0)+(w(Kb,oa)|0);c[ya>>2]=(w(Qb,ra)|0)+(w(Rb,qa)|0)+(w(Bb,sa)|0)+(w(Ob,ta)|0)+(w(Pb,ua)|0)+(w(Mb,va)|0)+(w(l,wa)|0)+(w(Kb,xa)|0);c[Ha>>2]=(w(Qb,Aa)|0)+(w(Rb,za)|0)+(w(Bb,Ba)|0)+(w(Ob,Ca)|0)+(w(Pb,Da)|0)+(w(Mb,Ea)|0)+(w(l,Fa)|0)+(w(Kb,Ga)|0);c[Qa>>2]=(w(Qb,Ja)|0)+(w(Rb,Ia)|0)+(w(Bb,Ka)|0)+(w(Ob,La)|0)+(w(Pb,Ma)|0)+(w(Mb,Na)|0)+(w(l,Oa)|0)+(w(Kb,Pa)|0);c[Za>>2]=(w(Qb,Sa)|0)+(w(Rb,Ra)|0)+(w(Bb,Ta)|0)+(w(Ob,Ua)|0)+(w(Pb,Va)|0)+(w(Mb,Wa)|0)+(w(l,Xa)|0)+(w(Kb,Ya)|0);Kb=b[e+(t<<1)>>1]|0;l=b[e+(u<<1)>>1]|0;Mb=b[e+(v<<1)>>1]|0;Pb=b[e+(x<<1)>>1]|0;Ob=(w(l,$a)|0)+(w(Kb,_a)|0)+(w(Mb,ab)|0)+(w(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(w(l,db)|0)+(w(Kb,cb)|0)+(w(Mb,eb)|0)+(w(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(w(l,ib)|0)+(w(Kb,hb)|0)+(w(Mb,jb)|0)+(w(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(w(l,nb)|0)+(w(Kb,mb)|0)+(w(Mb,ob)|0)+(w(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[e+(z<<1)>>1]|0;Kb=w(Mb,y)|0;l=b[e+(B<<1)>>1]|0;Kb=(w(l,A)|0)+Kb|0;Qb=b[e>>1]|0;Lb=w(Qb,C)|0;Nb=b[e+(E<<1)>>1]|0;Lb=(w(Nb,D)|0)+Lb|0;Mb=(w(G,l)|0)+(w(F,Mb)|0)|0;Qb=(w(I,Nb)|0)+(w(H,Qb)|0)|0;Nb=Kb+Lb|0;l=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=l-Rb|0;c[tb>>2]=Jb;l=Rb+l|0;c[ub>>2]=l;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[n>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[n+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[n+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Ha>>2]|0;Jb=Jb-l|0;b[n+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[n+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[n+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[n+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[n+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;l=l+(c[tb>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;r=b[16913]|0;s=b[16945]|0;t=Fb+4|0;u=b[16914]|0;v=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(w(Qb,q)|0)+(w(Ob,p)|0);c[t>>2]=(w(Qb,s)|0)+(w(Ob,r)|0);c[x>>2]=(w(Qb,v)|0)+(w(Ob,u)|0);c[A>>2]=(w(Qb,z)|0)+(w(Ob,y)|0);c[D>>2]=(w(Qb,C)|0)+(w(Ob,B)|0);c[G>>2]=(w(Qb,F)|0)+(w(Ob,E)|0);c[J>>2]=(w(Qb,I)|0)+(w(Ob,H)|0);c[M>>2]=(w(Qb,L)|0)+(w(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=w(Ob,N)|0;c[Gb>>2]=Qb;Nb=w(Ob,O)|0;c[P>>2]=Nb;Lb=w(Ob,Q)|0;c[R>>2]=Lb;Ob=w(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=w(Mb,n)|0;Mb=w(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[t>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)-(c[D>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[D>>2]|0)+(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[t>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Zb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;r=b[16944]|0;s=b[16976]|0;t=b[17008]|0;u=b[16913]|0;v=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(w(Mb,r)|0)+(w(Qb,q)|0)+(w(f,s)|0)+(w(Nb,t)|0);c[z>>2]=(w(Mb,v)|0)+(w(Qb,u)|0)+(w(f,x)|0)+(w(Nb,y)|0);c[E>>2]=(w(Mb,B)|0)+(w(Qb,A)|0)+(w(f,C)|0)+(w(Nb,D)|0);c[J>>2]=(w(Mb,G)|0)+(w(Qb,F)|0)+(w(f,H)|0)+(w(Nb,I)|0);c[O>>2]=(w(Mb,L)|0)+(w(Qb,K)|0)+(w(f,M)|0)+(w(Nb,N)|0);c[T>>2]=(w(Mb,Q)|0)+(w(Qb,P)|0)+(w(f,R)|0)+(w(Nb,S)|0);c[Y>>2]=(w(Mb,V)|0)+(w(Qb,U)|0)+(w(f,W)|0)+(w(Nb,X)|0);c[ba>>2]=(w(Mb,_)|0)+(w(Qb,Z)|0)+(w(f,$)|0)+(w(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(w(f,da)|0)+(w(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(w(f,fa)|0)+(w(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(w(f,ia)|0)+(w(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(w(f,la)|0)+(w(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=w(f,kb)|0;Lb=b[m>>1]|0;Rb=w(Lb,n)|0;f=w(o,f)|0;Lb=w(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[na>>2]|0)-(c[O>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[O>>2]|0)+(c[na>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Zb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;r=b[17089]|0;s=b[16897]|0;t=b[17025]|0;u=b[16912]|0;v=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(w(Mb,v)|0)+(w(Kb,u)|0)+(w(Nb,x)|0)+(w(Rb,y)|0)+(w(Ob,z)|0)+(w(f,A)|0)+(w(Lb,B)|0)+(w(Pb,C)|0);c[L>>2]=(w(Mb,E)|0)+(w(Kb,D)|0)+(w(Nb,F)|0)+(w(Rb,G)|0)+(w(Ob,H)|0)+(w(f,I)|0)+(w(Lb,J)|0)+(w(Pb,K)|0);c[U>>2]=(w(Mb,N)|0)+(w(Kb,M)|0)+(w(Nb,O)|0)+(w(Rb,P)|0)+(w(Ob,Q)|0)+(w(f,R)|0)+(w(Lb,S)|0)+(w(Pb,T)|0);c[ba>>2]=(w(Mb,W)|0)+(w(Kb,V)|0)+(w(Nb,X)|0)+(w(Rb,Y)|0)+(w(Ob,Z)|0)+(w(f,_)|0)+(w(Lb,$)|0)+(w(Pb,aa)|0);c[ka>>2]=(w(Mb,da)|0)+(w(Kb,ca)|0)+(w(Nb,ea)|0)+(w(Rb,fa)|0)+(w(Ob,ga)|0)+(w(f,ha)|0)+(w(Lb,ia)|0)+(w(Pb,ja)|0);c[ta>>2]=(w(Mb,ma)|0)+(w(Kb,la)|0)+(w(Nb,na)|0)+(w(Rb,oa)|0)+(w(Ob,pa)|0)+(w(f,qa)|0)+(w(Lb,ra)|0)+(w(Pb,sa)|0);c[Ca>>2]=(w(Mb,va)|0)+(w(Kb,ua)|0)+(w(Nb,wa)|0)+(w(Rb,xa)|0)+(w(Ob,ya)|0)+(w(f,za)|0)+(w(Lb,Aa)|0)+(w(Pb,Ba)|0);c[La>>2]=(w(Mb,Ea)|0)+(w(Kb,Da)|0)+(w(Nb,Fa)|0)+(w(Rb,Ga)|0)+(w(Ob,Ha)|0)+(w(f,Ia)|0)+(w(Lb,Ja)|0)+(w(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(w(Lb,Na)|0)+(w(Pb,Ma)|0)+(w(f,Oa)|0)+(w(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(w(Lb,Ra)|0)+(w(Pb,Qa)|0)+(w(f,Sa)|0)+(w(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(w(Lb,Wa)|0)+(w(Pb,Va)|0)+(w(f,Xa)|0)+(w(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(w(Lb,$a)|0)+(w(Pb,_a)|0)+(w(f,ab)|0)+(w(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=w(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(w(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=w(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(w(Qb,p)|0)+Jb|0;f=(w(r,Lb)|0)+(w(q,f)|0)|0;Mb=(w(t,Qb)|0)+(w(s,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[db>>2]|0)-(c[ka>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[ka>>2]|0)+(c[db>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Zb=Ib;return}}} |
| | | function vc(){de();Yk()}function wc(a){a=a|0;var b=0;b=Zb;Zb=Zb+a|0;Zb=Zb+15&-16;return b|0}function xc(){return Zb|0}function yc(a){a=a|0;Zb=a}function zc(a,b){a=a|0;b=b|0;Zb=a;_b=b}function Ac(a,b,c){a=a|0;b=b|0;c=c|0;return Wl(c)|0}function Bc(a,b){a=a|0;b=b|0;Xl(b);return}function Cc(){Sa();return 0}function Dc(a){a=a|0;var b=0;ca(37904,37912,37928,0,139527,3,139530,0,139530,0,138844,139532,25);b=em(8)|0;c[b>>2]=7;c[b+4>>2]=0;ea(37904,138852,3,38992,139535,1,b|0,0);b=em(8)|0;c[b>>2]=8;c[b+4>>2]=0;ea(37904,138858,3,39004,139535,2,b|0,0);b=em(8)|0;c[b>>2]=26;c[b+4>>2]=0;ea(37904,138865,2,39016,139540,9,b|0,0);b=em(8)|0;c[b>>2]=27;c[b+4>>2]=0;ea(37904,138872,2,39016,139540,9,b|0,0);b=em(8)|0;c[b>>2]=10;c[b+4>>2]=0;a=em(8)|0;c[a>>2]=11;c[a+4>>2]=0;fa(37904,138890,37872,139544,1,b|0,37872,139535,3,a|0);a=em(8)|0;c[a>>2]=12;c[a+4>>2]=0;b=em(8)|0;c[b>>2]=13;c[b+4>>2]=0;fa(37904,138900,37872,139544,1,a|0,37872,139535,3,b|0);b=em(8)|0;c[b>>2]=14;c[b+4>>2]=0;a=em(8)|0;c[a>>2]=15;c[a+4>>2]=0;fa(37904,138908,37872,139544,1,b|0,37872,139535,3,a|0);a=em(8)|0;c[a>>2]=16;c[a+4>>2]=0;b=em(8)|0;c[b>>2]=17;c[b+4>>2]=0;fa(37904,138920,37872,139544,1,a|0,37872,139535,3,b|0);b=em(8)|0;c[b>>2]=18;c[b+4>>2]=0;a=em(8)|0;c[a>>2]=19;c[a+4>>2]=0;fa(37904,138932,37872,139544,1,b|0,37872,139535,3,a|0);a=em(8)|0;c[a>>2]=20;c[a+4>>2]=0;fa(37904,138936,37872,139544,1,a|0,0,0,0,0);ca(37984,38e3,38016,37904,139527,4,139527,5,139527,6,138947,139532,28);a=em(4)|0;c[a>>2]=29;ea(37984,139548,2,39024,139540,21,a|0,0);da(37904,139568,3,39032,139691,7,2);da(37904,139578,3,39276,139691,8,4);return}function Ec(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.0;o=Zb;Zb=Zb+16|0;n=o+8|0;m=o;e=b+1816|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[157536]|0)==0?nn(157536)|0:0)c[39402]=wa(1,38904)|0;ta(c[39402]|0,f|0,138957,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Ba(138963)|0;g=xa(g|0,j|0)|0;ua(j|0);p=+qa(g|0,38792,m|0);Ea(c[m>>2]|0);j=p!=0.0;ua(g|0);c[n>>2]=138971;c[n+4>>2]=j?138980:138985;Oa(0,n|0);a[b+88>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=wl(f,46,g)|0;if(!f){g=h;break a}if(!(gl(f,138991,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+1817>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=va(138996)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Wl(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Wl(f+4|0)|0;c[g>>2]=f;e=d}Dn(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Aa(h|0,1,38908,n|0)|0;ua(h|0);Uc(m,139006,139017);Vc(n,b,138858);k=c[m>>2]|0;d=Ba(139029)|0;Fa(k|0,d|0,c[n>>2]|0);ua(d|0);ua(c[n>>2]|0);c[b+1808>>2]=Ka()|0;b=c[l>>2]|0;n=Ba(139039)|0;Fa(b|0,n|0,c[m>>2]|0);ua(n|0);ua(c[m>>2]|0);Zb=o;return}function Fc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Zb;Zb=Zb+112|0;j=H+24|0;D=H+16|0;E=H;G=H+96|0;B=H+80|0;C=H+64|0;l=H+48|0;m=H+32|0;f=c[e>>2]|0;F=Ba(139167)|0;c[E>>2]=xa(f|0,F|0)|0;ua(F|0);Yc(G,E);ua(c[E>>2]|0);F=G+11|0;f=a[F>>0]|0;k=G+4|0;e=b+1812|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=Ka()|0;h=b+1808|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+1832>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+1817>>0]|0))switch(a[(tm(G,0)|0)>>0]|0){case 1:{h=a[F>>0]|0;e=c[k>>2]|0;i=em(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[l+8>>2]=5;c[l+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=l+4|0;c[e>>2]=i;c[j>>2]=2;c[l>>2]=38928;_c(b,E,l);c[l>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)fm(c[i>>2]|0);fm(i);break a}case 2:{h=a[F>>0]|0;e=c[k>>2]|0;i=em(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=38928;$c(b,E,m);c[m>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)fm(c[i>>2]|0);fm(i);break a}case 10:{e=c[b+4>>2]|0;f=Ba(139039)|0;e=xa(e|0,f|0)|0;ua(f|0);f=Ba(139193)|0;h=f;if((a[157584]|0)==0?nn(157584)|0:0)c[39408]=wa(2,38980)|0;b=c[39408]|0;ya(f|0);c[E>>2]=h;ta(b|0,e|0,139188,E|0);ua(f|0);ua(e|0);break a}default:{b=a[(tm(G,0)|0)>>0]|0;c[j>>2]=139209;c[j+4>>2]=b;Oa(1,j|0);break a}}else{l=a[F>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;y=b+16|0;e=c[y>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;z=b+20|0;j=c[z>>2]|0;A=b+24|0;k=c[A>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}qm(e,j+l+k+f+h|0,0);e=c[y>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;Dn(e+(c[z>>2]|0)+(c[A>>2]|0)|0,((a[F>>0]|0)<0?c[G>>2]|0:G)|0,l|0)|0;f=(c[A>>2]|0)+l|0;c[A>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[z>>2]=(c[z>>2]|0)+13;c[A>>2]=f+-13;break}b:do if((f|0)>3){s=B+8|0;t=B+12|0;u=B+4|0;v=C+8|0;w=C+12|0;x=C+4|0;while(1){q=c[y>>2]|0;r=q+11|0;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;i=c[z>>2]|0;p=a[e+i>>0]|0;e=i+1|0;c[z>>2]=e;c[A>>2]=f+-1;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;o=h+e+2|0;m=a[o>>0]|0;l=a[o+-1>>0]|0;o=a[o+-2>>0]|0;e=i+4|0;c[z>>2]=e;n=f+-4|0;c[A>>2]=n;o=(l&255)<<8|m&255|(o&255)<<16;if(n>>>0<(o+11|0)>>>0)break;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;k=h+e+2|0;k=d[k+-1>>0]<<8|d[k>>0]|d[k+-2>>0]<<16;j=i+11|0;c[z>>2]=j;c[A>>2]=f+-11;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;l=em(16)|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];m=l+12|0;c[m>>2]=1;i=q+12|0;c[i>>2]=(c[i>>2]|0)+1;n=l+11|0;e=a[n>>0]|0;f=e<<24>>24<0;if(f)h=(c[l+8>>2]&2147483647)+-1|0;else h=10;if(o>>>0>h>>>0){if(f){f=c[l+8>>2]&2147483647;e=1-f|0;f=f+-1|0}else{e=-10;f=10}qm(l,e+o+f|0,0);e=a[n>>0]|0}if(e<<24>>24<0)f=c[l>>2]|0;else f=l;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;Dn(f|0,e+j|0,o|0)|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(!j){if((a[r>>0]|0)<0)fm(c[q>>2]|0);fm(q)}c:do switch(p<<24>>24){case 8:{c[s>>2]=0;c[t>>2]=o;c[u>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[B>>2]=38928;_c(b,k,B);c[B>>2]=38944;e=c[u>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e);break}case 9:{c[v>>2]=0;c[w>>2]=o;c[x>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[C>>2]=38928;$c(b,k,C);c[C>>2]=38944;e=c[x>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e);break}default:{c[D>>2]=139172;c[D+4>>2]=p&255;Oa(0,D|0)}}while(0);f=(c[A>>2]|0)-o|0;c[z>>2]=(c[z>>2]|0)+o+4;f=f+-4|0;c[A>>2]=f;r=(c[m>>2]|0)+-1|0;c[m>>2]=r;if(!r){if((a[n>>0]|0)<0)fm(c[l>>2]|0);fm(l);f=c[A>>2]|0}if((f|0)<=3)break b}c[z>>2]=i;c[A>>2]=f}while(0);e=c[y>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;En(e|0,e+(c[z>>2]|0)|0,f|0)|0;qm(c[y>>2]|0,c[A>>2]|0,0);c[z>>2]=0}while(0);if((a[F>>0]|0)>=0){Zb=H;return}fm(c[G>>2]|0);Zb=H;return}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Zb;Zb=Zb+32|0;i=l;g=va(139468)|0;j=b+1800|0;c[i>>2]=c[j>>2];ua(ra(g|0,1,38988,i|0)|0);ua(g|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;g=b+1772|0;qd(g);pd(g);e=c[b+1776>>2]|0;f=b+1780|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);rd(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+1788>>2]=0;c[b+1792>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;qd(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{fm(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)fm(d);if((a[b+88>>0]|0)==0?(k=c[b+60>>2]|0,k|0):0)Xl(k);c[j>>2]=0;a[b+1804>>0]=1;a[b+1805>>0]=1;a[b+1796>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Zb=l;return}function Hc(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;p=Zb;Zb=Zb+16|0;e=p+4|0;j=p;k=b+1792|0;a:do if(c[k>>2]|0){l=b+1776|0;m=b+1788|0;n=b+4|0;o=b+1824|0;f=b+52|0;g=b+1772|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=fd(c[n>>2]|0,139459,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;ed(f,h+(i*20|0)+4|0);sd(g);if(!(c[k>>2]|0))break a;else d=1}a[b+1796>>0]=1;c[b+1800>>2]=gd(c[n>>2]|0,139443,j)|0;Zb=p;return}while(0);a[b+1796>>0]=0;Zb=p;return}function Ic(a,b){a=a|0;b=b|0;var e=0,f=0;e=Zb;Zb=Zb+16|0;f=e;c[f>>2]=d[b+1816>>0];c[a>>2]=Ga(38792,f|0)|0;Zb=e;return}function Jc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Zb;Zb=Zb+16|0;g=e;f=+qa(c[d>>2]|0,38792,g|0);Ea(c[g>>2]|0);a[b+1816>>0]=f!=0.0&1;Zb=e;return}function Kc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Zb;Zb=Zb+16|0;f=e;c[f>>2]=d[b+1817>>0];c[a>>2]=Ga(38792,f|0)|0;Zb=e;return}function Lc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Zb;Zb=Zb+16|0;g=e;f=+qa(c[d>>2]|0,38792,g|0);Ea(c[g>>2]|0);a[b+1817>>0]=f!=0.0&1;Zb=e;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Zb;Zb=Zb+16|0;e=d;c[e>>2]=c[b+1820>>2];c[a>>2]=Ga(38840,e|0)|0;Zb=d;return}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Zb;Zb=Zb+16|0;f=d;e=+qa(c[b>>2]|0,38840,f|0);Ea(c[f>>2]|0);c[a+1820>>2]=~~e;Zb=d;return}function Oc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Zb;Zb=Zb+16|0;e=d;c[e>>2]=c[b+1824>>2];c[a>>2]=Ga(38840,e|0)|0;Zb=d;return}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Zb;Zb=Zb+16|0;f=d;e=+qa(c[b>>2]|0,38840,f|0);Ea(c[f>>2]|0);c[a+1824>>2]=~~e;Zb=d;return}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Zb;Zb=Zb+16|0;e=d;g[e>>3]=+g[b+1832>>3];c[a>>2]=Ga(38880,e|0)|0;Zb=d;return}function Rc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Zb;Zb=Zb+16|0;f=d;e=+qa(c[b>>2]|0,38880,f|0);Ea(c[f>>2]|0);g[a+1832>>3]=e;Zb=d;return}function Sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Zb;Zb=Zb+16|0;e=d+4|0;f=d;c[e>>2]=Ca()|0;i=b+1776|0;h=b+1788|0;j=c[h>>2]|0;g=(j>>>0)/204|0;td(e,139481,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+1792|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;ud(e,139487,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];vd(e,139492,f);b=c[e>>2]|0;c[a>>2]=b;ya(b|0);ua(c[e>>2]|0);Zb=d;return}function Tc(a){a=a|0;ua(c[a>>2]|0);return}function Uc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Ba(b|0)|0;d=Ba(d|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Ba(d|0)|0;d=xa(f|0,e|0)|0;ua(e|0);Xc(a,d,139143,b);ua(d|0);return}function Wc(a){a=a|0;Q(a|0)|0;Rm()}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Zb;Zb=Zb+16|0;g=i;h=i+8|0;if((a[157544]|0)==0?nn(157544)|0:0)c[39403]=wa(2,38912)|0;k=c[39403]|0;ya(c[f>>2]|0);c[g>>2]=c[f>>2];j=+sa(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Ea(h|0);Zb=i;return}function Yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Zb;Zb=Zb+16|0;e=h;i=+qa(c[d>>2]|0,37848,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)km(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Ea(e|0);Zb=h;return}else d=b}else{j=g+16&-16;d=em(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}Dn(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Ea(e|0);Zb=h;return}function Zc(b){b=b|0;var d=0,e=0;c[b>>2]=38944;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)fm(c[b>>2]|0);fm(b);return}function _c(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;n=Zb;Zb=Zb+16|0;m=n;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[157552]|0)==0?nn(157552)|0:0)c[39404]=wa(3,38952)|0;b=c[39404]|0;c[m>>2]=h;c[m+8>>2]=c[g>>2];ta(b|0,e|0,139309,m|0);Zb=n;return}}if(h)e=c[e>>2]|0;e=a[e+j>>0]|0;c[i>>2]=j+1;i=f+12|0;c[i>>2]=(c[i>>2]|0)+-1;e=e&255;i=e>>>4;g=b+1805|0;if(a[g>>0]|0){h=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch(i&15){case 10:{e=b+28|0;if((i|0)==10?(k=b+32|0,l=dd(e,f,(c[b+36>>2]|0)+(c[k>>2]|0)|0)|0,l|0):0){m=(c[k>>2]|0)+l|0;c[k>>2]=(m|0)==(c[e>>2]|0)?0:m}cd(b,c[b+1820>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Zb=n;return}case 11:{cd(b,16e3,16e3,h);break}case 2:{cd(b,(c[b+1820>>2]|0)*576|0,e,h);break}default:{}}if(a[g>>0]|0){Zb=n;return}}h=b+28|0;if((i|0)!=10){Zb=n;return}g=b+32|0;e=dd(h,f,(c[b+36>>2]|0)+(c[g>>2]|0)|0)|0;if(!e){Zb=n;return}l=(c[g>>2]|0)+e|0;f=(l|0)==(c[h>>2]|0);c[g>>2]=f?0:l;if(!f){Zb=n;return}e=c[b+4>>2]|0;if((a[157536]|0)==0?nn(157536)|0:0)c[39402]=wa(1,38904)|0;ta(c[39402]|0,e|0,139309,m|0);Zb=n;return}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Zb;Zb=Zb+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+1804|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Zb=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Zb=o;return}ed(b+52|0,e);a[j>>0]=0;c[k>>2]=139391;Oa(0,k|0);Zb=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[157536]|0)==0?nn(157536)|0:0)c[39402]=wa(1,38904)|0;ta(c[39402]|0,f|0,139407,n|0);Zb=o;return}}if(!d){Zb=o;return}g=b+1824|0;a:do if(c[g>>2]|0){h=b+1796|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=fd(c[f>>2]|0,139459,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+1800>>2]=gd(c[f>>2]|0,139443,l)|0;break}else break a}while(0);hd(b+1772|0,m,e);Zb=o;return}while(0);ed(b+52|0,e);Zb=o;return}function ad(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){fm(b);return}if((a[d+11>>0]|0)<0)fm(c[d>>2]|0);fm(d);fm(b);return}function bd(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){fm(b);return}if((a[d+11>>0]|0)<0)fm(c[d>>2]|0);fm(d);fm(b);return}function cd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Zb;Zb=Zb+32|0;h=i;a[b+1805>>0]=0;j=w(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=Wl(j)|0;c[h>>2]=139365;c[h+4>>2]=j;Oa(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[157560]|0)==0?nn(157560)|0:0)c[39405]=wa(5,16)|0;j=c[39405]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;ta(j|0,b|0,139355,h|0);Zb=i;return}function dd(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;p=Zb;Zb=Zb+112|0;o=p+8|0;n=p;m=p+24|0;k=e+4|0;g=c[k>>2]|0;j=g+11|0;if((a[j>>0]|0)<0)h=c[g>>2]|0;else h=g;l=e+8|0;i=c[l>>2]|0;q=a[h+i>>0]|0;i=i+1|0;c[l>>2]=i;e=e+12|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;if(!(q<<24>>24)){h=b+20|0;g=aj(c[h>>2]|0)|0;a[g>>0]=2;bj(c[h>>2]|0,g)|0;g=c[k>>2]|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;n=b+12|0;q=b+16|0;gj(c[h>>2]|0,g+(c[l>>2]|0)|0,4,n,q)|0;b=c[n>>2]|0;q=d[q>>0]|0;c[o>>2]=139325;c[o+4>>2]=b;c[o+8>>2]=q;Oa(0,o|0);q=0;Zb=p;return q|0}if((a[j>>0]|0)<0)g=c[g>>2]|0;g=sj(c[b+20>>2]|0,m,g+i|0,h)|0;h=a[m+9>>0]|0;if(!(h<<24>>24)){q=c[m+4>>2]<<1;Dn(f|0,g|0,q|0)|0;Zb=p;return q|0}else{q=Zi(h)|0;c[n>>2]=139319;c[n+4>>2]=q;Oa(1,n|0);q=0;Zb=p;return q|0}return 0}function ed(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=Zb;Zb=Zb+16|0;h=l;e=c[d+4>>2]|0;i=e+11|0;g=(a[i>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;j=d+8|0;k=c[j>>2]|0;if((a[f+k>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(k+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+k>>0]|0;c[j>>2]=k+5;k=d+12|0;c[k>>2]=(c[k>>2]|0)+-5;switch(e&15){case 7:{hc[c[(c[b>>2]|0)+12>>2]&31](b,d);Zb=l;return}case 12:{hc[c[(c[b>>2]|0)+16>>2]&31](b,d);Zb=l;return}default:{c[h>>2]=139421;c[h+4>>2]=e&15;Oa(0,h|0);Zb=l;return}}}}f=k+2|0;c[j>>2]=f;g=d+12|0;h=c[g>>2]|0;c[g>>2]=h+-2;if((a[i>>0]|0)<0)e=c[e>>2]|0;i=e+f+2|0;f=a[i>>0]|0;e=a[i+-1>>0]|0;i=a[i+-2>>0]|0;c[j>>2]=k+5;c[g>>2]=h+-5;c[b+40>>2]=(e&255)<<8|f&255|(i&255)<<16;hc[c[(c[b>>2]|0)+24>>2]&31](b,d);Zb=l;return}function fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Zb;Zb=Zb+16|0;f=h;g=h+8|0;if((a[157568]|0)==0?nn(157568)|0:0)c[39406]=wa(2,38964)|0;j=c[39406]|0;c[f>>2]=c[e>>2];i=+sa(j|0,b|0,d|0,g|0,f|0);Ea(c[g>>2]|0);Zb=h;return ~~i|0}function gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Zb;Zb=Zb+16|0;f=h;g=h+8|0;if((a[157576]|0)==0?nn(157576)|0:0)c[39407]=wa(2,38972)|0;j=c[39407]|0;c[f>>2]=c[e>>2];i=+sa(j|0,b|0,d|0,g|0,f|0);Ea(c[g>>2]|0);Zb=h;return ~~i|0}function hd(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;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){id(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=38928;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)fm(c[f>>2]|0);fm(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function id(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Zb;Zb=Zb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{En(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=P(8)|0;im(r,139224);c[r>>2]=137300;U(r|0,38712,19)}else{h=em(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){fm(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Zb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=P(8)|0;im(r,139224);c[r>>2]=137300;U(r|0,38712,19)}else{d=em(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=em(4080)|0;ld(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;md(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)fm(f);Zb=r;return}if((d|0)!=(b|0)){c[k>>2]=em(4080)|0;jd(a,k);Zb=r;return}c[k>>2]=em(4080)|0;kd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{En(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=P(8)|0;im(r,139224);c[r>>2]=137300;U(r|0,38712,19)}else{h=em(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){fm(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Zb=r;return}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{En(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=P(8)|0;im(q,139224);c[q>>2]=137300;U(q|0,38712,19)}else{i=em(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){fm(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{En(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=P(8)|0;im(q,139224);c[q>>2]=137300;U(q|0,38712,19)}else{h=em(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){fm(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{En(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=P(8)|0;im(q,139224);c[q>>2]=137300;U(q|0,38712,19)}else{i=em(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){fm(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{En(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=P(8)|0;im(q,139224);c[q>>2]=137300;U(q|0,38712,19)}else{h=em(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){fm(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function nd(a){a=a|0;var b=0,d=0,e=0,f=0;qd(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{fm(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;fm(b);return}function od(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Xl(b);return}function pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{fm(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;rd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){fm(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){rd(a);return}fm(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;rd(a);return}function qd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=38944;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{fm(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function rd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=P(8)|0;im(l,139224);c[l>>2]=137300;U(l|0,38712,19)}else{g=em(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;fm(b);return}function sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=38944;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;fm(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb;Zb=Zb+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(38856,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Zb=e;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb;Zb=Zb+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(38856,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Zb=e;return}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Zb;Zb=Zb+16|0;f=e;a=c[a>>2]|0;b=Ba(b|0)|0;c[f>>2]=c[d>>2];d=Ga(38864,f|0)|0;Fa(a|0,b|0,d|0);ua(d|0);ua(b|0);Zb=e;return}function wd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function xd(a){a=a|0;if(!a)return;gc[c[(c[a>>2]|0)+4>>2]&31](a);return}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Zb;Zb=Zb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)km(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=em(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)Dn(b|0,d|0,e|0)|0;a[b+e>>0]=0;hc[f&31](g,h);if((a[h+11>>0]|0)>=0){Zb=j;return}fm(c[h>>2]|0);Zb=j;return}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Zb;Zb=Zb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;hc[e&31](a,f);ua(c[f>>2]|0);Zb=g;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;gc[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;gc[e&31](a);return}}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Zb;Zb=Zb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;hc[d&31](e,a);ya(c[e>>2]|0);g=c[e>>2]|0;ua(g|0);Zb=f;return g|0}function Cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Zb;Zb=Zb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;hc[e&31](a,f);ua(c[f>>2]|0);Zb=g;return}function Dd(b,d){b=b|0;d=d|0;var e=0;e=em(1848)|0;Nd(e,d);a[e+1840>>0]=0;c[e+1844>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=39052;return e|0}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=aa(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,37984,c[e>>2]|0)|0;return}function Fd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Gd(a){a=a|0;if(!a)return;gc[c[(c[a>>2]|0)+4>>2]&31](a);return}function Hd(a){a=a|0;return a|0}function Id(a){a=a|0;return a|0}function Jd(a,b){a=a|0;b=b|0;gc[c[a>>2]&31](b);return}function Kd(b){b=b|0;a[b+1840>>0]=1;return}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Zb;Zb=Zb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=cc[a&3](f,g)|0;ua(c[g>>2]|0);ua(c[f>>2]|0);Zb=e;return d|0}function Md(a){a=a|0;Od(a);fm(a);return}function Nd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Zb;Zb=Zb+32|0;h=f+24|0;i=f+16|0;k=f;c[d>>2]=39084;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[e>>2]=38944;c[d+20>>2]=0;c[d+24>>2]=0;j=em(16)|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]=1;c[d+16>>2]=j;c[e>>2]=38928;c[d+32>>2]=0;e=_i()|0;c[d+48>>2]=e;c[i>>2]=139696;c[i+4>>2]=e;Oa(0,i|0);c[h>>2]=139709;c[h+4>>2]=d+28;Oa(0,h|0);Qd(d+52|0);e=d+1772|0;c[d+1800>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+1804>>0]=1;a[d+1805>>0]=1;e=d+1808|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+1820>>2]=12;c[d+56>>2]=g;Zb=f;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0;g=Zb;Zb=Zb+16|0;e=g;c[b>>2]=39068;d=b+1844|0;if(!(a[b+1840>>0]|0)){f=c[d>>2]|0;ua(f|0);Sd(b);Zb=g;return}f=c[d>>2]|0;if((a[157536]|0)==0?nn(157536)|0:0)c[39402]=wa(1,38904)|0;ta(c[39402]|0,f|0,140173,e|0);f=c[d>>2]|0;ua(f|0);Sd(b);Zb=g;return}function Pd(a){a=a|0;Od(a);fm(a);return}function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Zb;Zb=Zb+112|0;i=j+32|0;h=j+8|0;k=j+76|0;e=j+64|0;f=j+40|0;g=j;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=39100;d=b+44|0;c[d>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=0;c[b+1068>>2]=0;c[k+4>>2]=5;c[k+12>>2]=0;c[k+8>>2]=1;c[k+16>>2]=9;c[k+20>>2]=22;c[k+24>>2]=0;c[k>>2]=28;c[e>>2]=12;k=Sg(0,k,e)|0;b=b+1060|0;c[b>>2]=k;if(k|0){c[h>>2]=c[e+4>>2];Vl(139724,h)|0}k=c[e+8>>2]|0;c[d>>2]=k;c[k+4>>2]=10;c[k>>2]=12;c[f>>2]=c[9783];c[f+4>>2]=c[9784];c[f+8>>2]=c[9785];c[f+12>>2]=c[9786];h=g;c[h>>2]=8;c[h+4>>2]=0;k=Sg(k,f,g)|0;c[b>>2]=k;if(k|0)Vl(139745,j+16|0)|0;c[f>>2]=c[9787];c[f+4>>2]=c[9788];c[f+8>>2]=c[9789];c[f+12>>2]=c[9790];c[f+16>>2]=c[9791];c[f+20>>2]=c[9792];k=g;c[k>>2]=8;c[k+4>>2]=0;k=Sg(c[d>>2]|0,f,g)|0;c[b>>2]=k;if(!k){c[i>>2]=139812;Oa(0,i|0);Zb=j;return}Vl(139779,j+24|0)|0;c[i>>2]=139812;Oa(0,i|0);Zb=j;return}function Rd(a){a=a|0;var b=0,d=0,e=0;b=Zb;Zb=Zb+16|0;d=b+8|0;e=b;c[e>>2]=140105;Oa(0,e|0);kj(c[a+20>>2]|0);Xl(c[a+8>>2]|0);c[d>>2]=140128;Oa(0,d|0);Zb=b;return}function Sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Zb;Zb=Zb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=39084;f=va(139468)|0;c[d>>2]=c[b+1800>>2];ua(ra(f|0,1,38988,d|0)|0);ua(f|0);c[g>>2]=140152;Oa(0,g|0);g=b+1772|0;qd(g);f=b+1776|0;d=c[f>>2]|0;h=b+1780|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{fm(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)fm(d);Ud(b+52|0);c[i>>2]=140105;Oa(0,i|0);kj(c[b+48>>2]|0);Xl(c[b+36>>2]|0);c[j>>2]=140128;Oa(0,j|0);c[b+12>>2]=38944;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;ua(b|0);Zb=k;return}if((a[d+11>>0]|0)<0)fm(c[d>>2]|0);fm(d);b=b+4|0;b=c[b>>2]|0;ua(b|0);Zb=k;return}function Td(a){a=a|0;Sd(a);fm(a);return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=Zb;Zb=Zb+32|0;e=f+24|0;h=f+8|0;g=f;c[b>>2]=39100;i=h;c[i>>2]=8;c[i+4>>2]=6;i=g;c[i>>2]=8;c[i+4>>2]=0;g=Sg(c[b+44>>2]|0,h,g)|0;c[b+1060>>2]=g;if(g|0)Vl(139873,f+16|0)|0;Xl(c[b+20>>2]|0);c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Xl(d);c[e>>2]=139849;Oa(0,e|0);Zb=f;return}function Vd(a){a=a|0;Ud(a);fm(a);return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=Zb;Zb=Zb+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=38928;hc[g&31](b,j);c[j>>2]=38944;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)fm(c[l>>2]|0);fm(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Zb=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=38928;hc[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Zb=p;return}if((a[i>>0]|0)<0)fm(c[h>>2]|0);fm(h);Zb=p;return}function Xd(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,x=0,y=0,z=0,A=0;A=Zb;Zb=Zb+80|0;z=A+72|0;t=A+64|0;m=A+56|0;l=A+48|0;v=A+8|0;x=A;c[v>>2]=c[9803];c[v+4>>2]=c[9804];c[v+8>>2]=c[9805];c[v+12>>2]=c[9806];c[v+16>>2]=c[9807];c[v+20>>2]=c[9808];c[v+24>>2]=c[9809];y=x;c[y>>2]=8;c[y+4>>2]=0;y=b+44|0;s=Sg(c[y>>2]|0,v,x)|0;u=b+1060|0;c[u>>2]=s;if(s|0)Vl(139895,A+40|0)|0;r=b+1072|0;c[b+1076>>2]=8;c[b+1080>>2]=c[b+1052>>2];c[r>>2]=536;s=b+1608|0;c[s>>2]=112;o=d+4|0;j=c[o>>2]|0;k=j+11|0;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;q=d+8|0;i=c[q>>2]|0;c[b+32>>2]=a[e+(i+22)>>0]&3;f=i+26|0;c[q>>2]=f;p=d+12|0;g=c[p>>2]|0;c[p>>2]=g+-26;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;h=e+f+1|0;f=a[h>>0]|0;h=a[h+-1>>0]|0;d=i+28|0;c[q>>2]=d;c[p>>2]=g+-28;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;n=b+1088|0;c[n>>2]=e+d;e=(h&255)<<8|f&255;k=b+1084|0;c[k>>2]=e;j=Sg(c[y>>2]|0,r,s)|0;c[u>>2]=j;if(j|0){c[l>>2]=c[b+1612>>2];Vl(139945,l)|0}h=(c[q>>2]|0)+e|0;i=(c[p>>2]|0)-e|0;d=h+3|0;c[q>>2]=d;c[p>>2]=i+-3;e=c[o>>2]|0;j=e+11|0;if((a[j>>0]|0)<0)f=c[e>>2]|0;else f=e;g=f+d+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=h+5|0;c[q>>2]=d;c[p>>2]=i+-5;if((a[j>>0]|0)<0)e=c[e>>2]|0;c[n>>2]=e+d;e=(g&255)<<8|f&255;c[k>>2]=e;l=Sg(c[y>>2]|0,r,s)|0;c[u>>2]=l;if(l|0){c[m>>2]=c[b+1612>>2];Vl(139976,m)|0}i=(c[q>>2]|0)+e|0;j=(c[p>>2]|0)-e|0;f=i+3|0;c[q>>2]=f;c[p>>2]=j+-3;e=c[o>>2]|0;h=e+11|0;if((a[h>>0]|0)<0)d=c[e>>2]|0;else d=e;g=d+f+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=i+5|0;c[q>>2]=d;c[p>>2]=j+-5;if((a[h>>0]|0)<0)e=c[e>>2]|0;c[n>>2]=e+d;c[k>>2]=(g&255)<<8|f&255;s=Sg(c[y>>2]|0,r,s)|0;c[u>>2]=s;if(s|0){c[t>>2]=c[b+1612>>2];Vl(140007,t)|0}e=c[b+1624>>2]|0;f=b+12|0;c[f>>2]=c[b+1620>>2];g=b+16|0;c[g>>2]=e;if(!(a[b+36>>0]|0)){e=(w(e<<2,e)|0)+33554432|0;e=Wl((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[157592]|0)==0?nn(157592)|0:0)c[39409]=wa(4,48)|0;t=c[39409]|0;c[v>>2]=c[f>>2];c[v+8>>2]=c[g>>2];c[v+16>>2]=e;ta(t|0,d|0,140087,v|0)}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[157592]|0)==0?nn(157592)|0:0)c[39409]=wa(4,48)|0;t=c[39409]|0;c[v>>2]=c[f>>2];c[v+8>>2]=c[g>>2];c[v+16>>2]=e;ta(t|0,d|0,140087,v|0)};c[v>>2]=c[9810];c[v+4>>2]=c[9811];c[v+8>>2]=c[9812];c[v+12>>2]=c[9813];c[v+16>>2]=c[9814];c[v+20>>2]=c[9815];c[v+24>>2]=c[9816];t=x;c[t>>2]=8;c[t+4>>2]=0;y=Sg(c[y>>2]|0,v,x)|0;c[u>>2]=y;if(!y){z=b+1092|0;c[z>>2]=3;z=c[f>>2]|0;y=c[g>>2]|0;z=w(y,z)|0;y=b+1352|0;c[y>>2]=z;y=z>>>2;v=b+1360|0;c[v>>2]=y;v=b+1356|0;c[v>>2]=y;v=y*6|0;v=Wl(v)|0;u=b+1096|0;c[u>>2]=v;u=v;x=b+20|0;c[x>>2]=u;z=v+z|0;v=b+1100|0;c[v>>2]=z;v=z;x=b+24|0;c[x>>2]=v;y=z+y|0;z=b+1104|0;c[z>>2]=y;z=b+28|0;c[z>>2]=y;Zb=A;return}Vl(140038,z)|0;z=b+1092|0;c[z>>2]=3;z=c[f>>2]|0;y=c[g>>2]|0;z=w(y,z)|0;y=b+1352|0;c[y>>2]=z;y=z>>>2;v=b+1360|0;c[v>>2]=y;v=b+1356|0;c[v>>2]=y;v=y*6|0;v=Wl(v)|0;u=b+1096|0;c[u>>2]=v;u=v;x=b+20|0;c[x>>2]=u;z=v+z|0;v=b+1100|0;c[v>>2]=z;v=z;x=b+24|0;c[x>>2]=v;y=z+y|0;z=b+1104|0;c[z>>2]=y;z=b+28|0;c[z>>2]=y;Zb=A;return}function Yd(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;u=Zb;Zb=Zb+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Zb=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=38928;hc[d&31](b,q);c[q>>2]=38944;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)fm(c[d>>2]|0);fm(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)fm(c[g>>2]|0);fm(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Zb=u;return}function Zd(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;v=Zb;Zb=Zb+16|0;u=v;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;s=b+1072|0;t=b+1088|0;c[t>>2]=e+(c[d+8>>2]|0);r=b+1084|0;c[r>>2]=c[d+12>>2];f=b+44|0;g=b+1608|0;h=b+1060|0;i=b+1616|0;j=b+36|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+8|0;o=b+12|0;p=b+16|0;q=b+4|0;d=b+40|0;do{b=Sg(c[f>>2]|0,s,g)|0;c[h>>2]=b;w=c[i>>2]|0;e=(c[r>>2]|0)-w|0;c[r>>2]=e;c[t>>2]=(c[t>>2]|0)+w;if(!b){if(!(a[j>>0]|0))be(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0);e=c[c[q>>2]>>2]|0;if((a[157600]|0)==0?nn(157600)|0:0)c[39410]=wa(2,39268)|0;w=c[39410]|0;c[u>>2]=c[d>>2];ta(w|0,e|0,140100,u|0);e=c[r>>2]|0}}while((e|0)!=0);Zb=v;return}function _d(b){b=b|0;var d=0,e=0,f=0;f=Zb;Zb=Zb+16|0;e=f;c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Xl(d);c[e>>2]=139849;Oa(0,e|0);Zb=f;return}function $d(a){a=a|0;Va()}function ae(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;p=Zb;Zb=Zb+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=38928;hc[g&31](b,h);c[h>>2]=38944;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)fm(c[i>>2]|0);fm(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=38928;hc[q&31](b,k);c[k>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)fm(c[g>>2]|0);fm(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=38928;hc[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)fm(c[e>>2]|0);fm(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Zb=p;return}if((a[h>>0]|0)<0)fm(c[g>>2]|0);fm(g);Zb=p;return}function be(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(w(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;q=(H*1634|0)+J>>10;H=(w(m,-400)|0)+J+(w(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;J=(H*1634|0)+p>>10;H=(w(m,-400)|0)+p+(w(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=t+-128|0;K=s+-128|0;J=m+(H*1634|0)>>10;H=(w(H,-832)|0)+(w(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(w(I,-832)|0)+(w(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function ce(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=Zb;Zb=Zb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)km(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=em(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)Dn(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;ic[b&15](h,j,k);ya(c[h>>2]|0);d=c[h>>2]|0;ua(d|0);ua(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Zb=l;return d|0}fm(c[j>>2]|0);Zb=l;return d|0}function de(){Dc(0);return}function ee(a){a=a|0;c[a>>2]=64;Fn(a+4|0,0,516)|0;return}function fe(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(d|0)){b=-1;return b|0}a=a+264+(d<<2)|0;d=c[a>>2]|0;if(!((d|0)==0|(d|0)==(b|0))){b=-1;return b|0}c[a>>2]=b;b=0;return b|0}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)<=0){b=0;return b|0}d=0;a:while(1){f=a+8+(d<<2)|0;switch(c[f>>2]|0){case 2:{a=4;break a}case 0:{g=c[a+264+(d<<2)>>2]|0;if(g|0){a=6;break a}break}default:{}}d=d+1|0;if((d|0)>=(e|0)){d=0;a=8;break}}if((a|0)==4)O(140196,140230,170,140253);else if((a|0)==6){c[b>>2]=d;c[f>>2]=1;b=g;return b|0}else if((a|0)==8)return d|0;return 0}function he(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d){d=0;return d|0}b=0;a:while(1){switch(c[a+8+(b<<2)>>2]|0){case 2:{a=4;break a}case 0:{if(c[a+264+(b<<2)>>2]|0){b=1;a=7;break a}break}default:{}}b=b+1|0;if(b>>>0>=d>>>0){b=0;a=7;break}}if((a|0)==4)O(140196,140230,213,140281);else if((a|0)==7)return b|0;return 0}function ie(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;d=c[a>>2]&~d;c[a>>2]=d;switch(d|0){case 2:{O(140306,140230,265,140344);break}case 1:{c[a>>2]=0;d=0;return d|0}default:{d=0;return d|0}}return 0}function je(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;b=c[a>>2]|0;if(b&d|0){d=-1;return d|0}d=b|d;c[a>>2]=d;if((d|0)==2)O(140306,140230,322,140366);else{d=0;return d|0}return 0}function ke(a,b){a=a|0;b=b|0;return c[a+264+(b<<2)>>2]|0}function le(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Zb;Zb=Zb+32|0;t=C;u=h<<2;v=u|1;if(!i){k=v<<1;if((v|0)<=0){Zb=C;return}Fn(j|0,-128,((k|0)>1?k:1)|0)|0;Zb=C;return}y=i&65536;r=i&61440;s=i&3840;p=i&15;x=(y|0)!=0;if(x){a[j+u>>0]=a[d>>0]|0;a[j+v>>0]=a[d+1>>0]|0}if(i&240|0?(l=h<<1,(h|0)>0):0){n=u+-2|0;o=u+-1|0;m=(((l|0)>2?l:2)+-1|0)>>>1;k=0;d=0;l=0;while(1){D=w(k,g)|0;a[j+(n+d)>>0]=a[f+D>>0]|0;a[j+(o+d)>>0]=a[f+(D+1)>>0]|0;if((k|0)==(m|0))break;else{k=k+1|0;d=-2-l|0;l=l+2|0}}}if(p|0?(q=h<<1,(q|0)<(u|0)):0){l=u+-2|0;m=u+-1|0;d=h;k=q;while(1){D=w(d,g)|0;a[j+(l-k)>>0]=a[f+D>>0]|0;a[j+(m-k)>>0]=a[f+(D+1)>>0]|0;k=k+2|0;if((k|0)>=(u|0))break;else d=d+1|0}}k=h<<1;if(s|0)me(j+(u|2)|0,e,k);if(r|0)me(j+((u|2)+k)|0,e+k|0,k);switch(h|0){case 4:{D=i>>>3&1;m=i>>>7&1;n=i>>>8&1;l=i>>>12&1;c[t>>2]=D;c[t+4>>2]=m;c[t+8>>2]=y>>>16;c[t+12>>2]=n;c[t+16>>2]=l;do if(!D){if(!m){k=2;while(1)if(!(c[t+(k<<2)>>2]|0))k=k+1|0;else break}else k=1;d=k<<2;if(k>>>0<3){ne(j,b[j+(k<<3)>>1]|0,d);break}else{D=d+-3|0;ne(j,b[j+(D<<1)>>1]|0,D);break}}while(0);if(!m)ne(j+8|0,b[j+6>>1]|0,4);if(!y){a[j+u>>0]=a[j+(u+-2)>>0]|0;a[j+v>>0]=a[j+(u+-1)>>0]|0}if(!n)ne(j+(u|2)|0,b[j+u>>1]|0,4);if(l|0){Zb=C;return}ne(j+26|0,b[j+24>>1]|0,4);Zb=C;return}case 8:{d=i>>>4;o=i>>>2&3|d&12;d=i>>>6&192|d&48;q=d|o|y>>>8;k=xn(o|0)|0;k=(o|0)==0|(k|0)==8?16:k<<2;o=(y|0)==0;if(!(o&(k|0)==16))if(!k)k=0;else z=37;else{k=((xn(d>>>4|0)|0)<<2)+17|0;k=(d|0)==0?49:k;z=37}if((z|0)==37){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=33){Zb=C;return}}if(!o){do{d=(k|0)==16;if(!d?(B=k<<1,(1<<(k>>2)&q|0)==0):0)ne(j+B|0,b[j+(B+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<33);Zb=C;return}m=j+33|0;n=j+31|0;o=j+32|0;p=j+30|0;do{d=(k|0)==16;if(!d){l=k<<1;if(!(1<<(k>>2)&q))ne(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<33);Zb=C;return}case 16:{D=i&255;k=(xn(D|0)|0)<<2;k=(D|0)==0?32:k;if(!((y|0)==0&(k|0)==32))if(!k)k=0;else z=55;else{z=i>>>8&255;k=((xn(z|0)|0)<<2)+33|0;k=(z|0)==0?65:k;z=55}if((z|0)==55){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=65){Zb=C;return}}if(x){do{d=(k|0)==32;if(!d?(A=k<<1,(1<<(k>>2)&i|0)==0):0)ne(j+A|0,b[j+(A+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<65);Zb=C;return}m=j+65|0;n=j+63|0;o=j+64|0;p=j+62|0;do{d=(k|0)==32;if(!d){l=k<<1;if(!(1<<(k>>2)&i))ne(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<65);Zb=C;return}default:{Zb=C;return}}}function me(a,b,c){a=a|0;b=b|0;c=c|0;Dn(a|0,b|0,c|0)|0;return}function ne(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function oe(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(g|0){case 16:{h=5;break}case 8:{h=4;break}case 4:{h=3;break}default:if((g|0)>0)h=6;else return}s=g<<1;t=g+-1|0;u=s+-1|0;m=g*6|0;j=b+(m+2)|0;k=g<<2|2;n=t<<1;l=b+n|0;m=b+(m+3)|0;n=b+(n|1)|0;i=0;do{r=u-i<<1;o=b+r|0;p=t-i|0;q=w(i,f)|0;i=i+1|0;r=b+(r|1)|0;c=0;do{y=c>>>1;z=t-y|0;C=w(z,d[o>>0]|0)|0;y=y+1|0;B=w(y,d[j>>0]|0)|0;x=c+k|0;A=w(p,d[b+x>>0]|0)|0;v=c+q|0;a[e+v>>0]=C+g+B+A+(w(i,d[l>>0]|0)|0)>>h;z=w(z,d[r>>0]|0)|0;y=w(y,d[m>>0]|0)|0;x=w(p,d[b+(x|1)>>0]|0)|0;a[e+(v+1)>>0]=z+g+y+x+(w(i,d[n>>0]|0)|0)>>h;c=c+2|0}while((c|0)<(s|0))}while((i|0)!=(g|0));return}function pe(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g+-4|0;switch(l>>>2|l<<30|0){case 0:{k=3;break}case 3:{k=5;break}case 1:{k=4;break}default:k=6}l=g<<1;j=g<<2;if((l|0)<(j|0)){i=l;h=0;c=0;do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0))}else{h=0;c=0}i=j|2;j=(g*6|0)+2|0;if((i|0)<(j|0))do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0));if((g|0)<=0)return;b=h+g>>k&255;i=c+g>>k&255;h=0;do{j=w(h,f)|0;c=0;do{k=c+j|0;a[e+k>>0]=b;a[e+(k+1)>>0]=i;c=c+2|0}while((c|0)<(l|0));h=h+1|0}while((h|0)!=(g|0));return}function qe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)<=0)return;l=f<<1;h=f<<2;m=h+-2|0;h=h+-1|0;c=0;do{k=c<<1;i=b+(m-k)|0;j=w(c,e)|0;k=b+(h-k)|0;g=0;do{n=g+j|0;a[d+n>>0]=a[i>>0]|0;a[d+(n+1)>>0]=a[k>>0]|0;g=g+2|0}while((g|0)<(l|0));c=c+1|0}while((c|0)!=(f|0));return}function re(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if((f|0)<=0)return;j=f<<1;h=f<<2;k=h|2;h=h|3;c=0;do{i=w(c,e)|0;g=0;do{l=g+i|0;a[d+l>>0]=a[b+(g+k)>>0]|0;a[d+(l+1)>>0]=a[b+(g+h)>>0]|0;g=g+2|0}while((g|0)<(j|0));c=c+1|0}while((c|0)!=(f|0));return}function se(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f<<1;if((f|0)<=0)return;k=f<<2;c=0;do{l=c|1;h=-3-l|0;i=~((l<<5)+32>>5);g=0;do{n=k-(g<<1)|0;m=w(g,e)|0;a[d+(m+c)>>0]=a[b+(h+n)>>0]|0;a[d+(m+l)>>0]=a[b+(n+i)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+2|0}while((c|0)<(j|0));return}function te(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(g|0)==18?-32:32;if((f|0)<=0)return;j=f<<1;k=f<<2|2;g=0;do{i=g;g=g+1|0;h=k+((w(g,l)|0)>>4)|0;i=w(i,e)|0;c=0;do{a[d+(c+i)>>0]=a[b+(h+c)>>0]|0;m=c|1;a[d+(m+i)>>0]=a[b+(h+m)>>0]|0;c=c+2|0}while((c|0)<(j|0))}while((g|0)!=(f|0));return}function ue(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;o=c[25216+(i<<2)>>2]|0;p=h<<1;if((h|0)<=0)return;j=h<<2;e=0;do{l=w((e>>>1)+1|0,o)|0;k=l&31;l=l>>5<<1;m=32-k|0;n=e|1;i=0;do{r=j-(i<<1)-l|0;s=w(m,d[b+(r+-2)>>0]|0)|0;q=w(i,g)|0;a[f+(q+e)>>0]=(s+16+(w(k,d[b+(r+-4)>>0]|0)|0)|0)>>>5;s=w(m,d[b+(r+-1)>>0]|0)|0;a[f+(q+n)>>0]=(s+16+(w(k,d[b+(r+-3)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(p|0));return}function ve(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;q=Zb;Zb=Zb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-11<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=k-i|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;n=l+e|0;l=w(p,h)|0;j=l>>5<<1;if((l|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;r=e>>8<<1;a[n+i>>0]=a[b+(r+k)>>0]|0;a[n+(i|1)>>0]=a[b+(r+l)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((o|0)>0&(h|0)>0)){Zb=q;return}e=0;do{k=w((e>>>1)+1|0,p)|0;j=k>>5;k=k&31;l=32-k|0;m=e|1;i=0;do{b=i+j<<1;s=w(l,d[n+(b+2)>>0]|0)|0;r=w(i,g)|0;a[f+(r+e)>>0]=(s+16+(w(k,d[n+(b+4)>>0]|0)|0)|0)>>>5;s=w(l,d[n+(b+3)>>0]|0)|0;a[f+(r+m)>>0]=(s+16+(w(k,d[n+(b+5)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(o|0));Zb=q;return}function we(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;q=Zb;Zb=Zb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-12<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=i+k|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;k=w(p,h)|0;n=l+e|0;j=k>>5<<1;if((k|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;r=e>>8<<1;a[n+i>>0]=a[b+(k-r)>>0]|0;a[n+(i|1)>>0]=a[b+(l-r)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((h|0)>0&(o|0)>0)){Zb=q;return}i=0;do{m=i;i=i+1|0;k=w(i,p)|0;j=k&31;k=k>>5<<1;l=32-j|0;m=w(m,g)|0;e=0;do{s=e+k|0;r=e|1;b=r+k|0;t=w(l,d[n+(s+2)>>0]|0)|0;a[f+(e+m)>>0]=(t+16+(w(j,d[n+(s+4)>>0]|0)|0)|0)>>>5;s=w(l,d[n+(b+2)>>0]|0)|0;a[f+(r+m)>>0]=(s+16+(w(j,d[n+(b+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(o|0))}while((i|0)!=(h|0));Zb=q;return}function xe(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;o=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;p=h<<1;j=h<<2;i=0;do{n=i;i=i+1|0;l=w(i,o)|0;k=l&31;l=(l>>5<<1)+j|0;m=32-k|0;n=w(n,g)|0;e=0;do{s=l+e|0;q=e|1;r=l+q|0;t=w(m,d[b+(s+2)>>0]|0)|0;a[f+(e+n)>>0]=(t+16+(w(k,d[b+(s+4)>>0]|0)|0)|0)>>>5;s=w(m,d[b+(r+2)>>0]|0)|0;a[f+(q+n)>>0]=(s+16+(w(k,d[b+(r+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(p|0))}while((i|0)!=(h|0));return}function ye(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;r=b[16820]|0;s=b[16828]|0;p=h*3|0;t=b[16821]|0;u=b[16829]|0;v=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=w(m,r)|0;l=b[c+(p<<1)>>1]|0;o=(w(l,s)|0)+o|0;m=(w(u,l)|0)+(w(t,m)|0)|0;l=b[c>>1]|0;n=w(l,v)|0;A=b[c+(q<<1)>>1]|0;n=(w(A,x)|0)+n|0;l=(w(z,A)|0)+(w(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=w(C,r)|0;o=b[l+(p<<1)>>1]|0;B=(w(o,s)|0)+B|0;C=(w(u,o)|0)+(w(t,C)|0)|0;o=b[l>>1]|0;n=w(o,v)|0;l=b[l+(q<<1)>>1]|0;n=(w(l,x)|0)+n|0;l=(w(z,l)|0)+(w(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=w(D,r)|0;n=b[l+(p<<1)>>1]|0;C=(w(n,s)|0)+C|0;D=(w(u,n)|0)+(w(t,D)|0)|0;n=b[l>>1]|0;B=w(n,v)|0;l=b[l+(q<<1)>>1]|0;B=(w(l,x)|0)+B|0;l=(w(z,l)|0)+(w(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=w(B,r)|0;k=b[l+(p<<1)>>1]|0;D=(w(k,s)|0)+D|0;B=(w(u,k)|0)+(w(t,B)|0)|0;k=b[l>>1]|0;C=w(k,v)|0;l=b[l+(q<<1)>>1]|0;C=(w(l,x)|0)+C|0;k=(w(z,l)|0)+(w(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(w(B,s)|0)+(w(k,r)|0)|0;k=(w(u,B)|0)+(w(t,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(w(h,x)|0)+(w(B,v)|0)|0;B=(w(z,h)|0)+(w(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[g+2>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+4>>0]|0)|0;k=(k|0)>0?k:0;a[g+4>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+6>>0]|0)|0;C=(C|0)>0?C:0;a[g+6>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=w(k,r)|0;g=b[e+26>>1]|0;f=(w(g,s)|0)+f|0;k=(w(u,g)|0)+(w(t,k)|0)|0;g=b[e+2>>1]|0;B=w(g,v)|0;h=b[e+18>>1]|0;B=(w(h,x)|0)+B|0;g=(w(z,h)|0)+(w(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+4>>0]|0)|0;k=(k|0)>0?k:0;a[D+4>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+6>>0]|0)|0;f=(f|0)>0?f:0;a[D+6>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=w(f,r)|0;k=b[e+28>>1]|0;B=(w(k,s)|0)+B|0;f=(w(u,k)|0)+(w(t,f)|0)|0;k=b[e+4>>1]|0;g=w(k,v)|0;h=b[e+20>>1]|0;g=(w(h,x)|0)+g|0;k=(w(z,h)|0)+(w(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+4>>0]|0)|0;f=(f|0)>0?f:0;a[D+4>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;B=(B|0)>0?B:0;a[D+6>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=w(i,r)|0;g=b[e+30>>1]|0;B=(w(g,s)|0)+B|0;i=(w(u,g)|0)+(w(t,i)|0)|0;g=b[e+6>>1]|0;j=w(g,v)|0;f=b[e+22>>1]|0;j=(w(f,x)|0)+j|0;g=(w(z,f)|0)+(w(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+4>>0]|0)|0;i=(i|0)>0?i:0;a[D+4>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;C=(C|0)>0?C:0;a[D+6>>0]=(C|0)<255?C:255;return} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var ac=[ao,$k,Xm,wd,Fd,Hd,Id,ao];var bc=[bo,kl];var cc=[co,Bd,Dd,Vj];var dc=[eo,al,fl,Gl,Bm,bn,dn,Ld,ce,Ac,Sg,eo,eo,eo,eo,eo];var ec=[fo,bl];var fc=[go,ho,um,Pm];var gc=[io,Zc,ad,bd,Od,Md,Pd,Sd,Td,Ud,Vd,od,_d,$d,xm,ym,zm,Am,Km,Vm,Wm,$m,an,cn,fn,xd,Gc,Hc,Gd,Kd,_h,Qm];var hc=[jo,Wd,Xd,ed,Yd,Zd,ae,Ec,Fc,Ad,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Jd,Bc,ll,jo,jo,jo,jo,jo,jo,jo,jo];var ic=[ko,yd,zd,Cd,Ed,me,gf,kf,jf,Gf,ne,ko,ko,ko,ko,ko];var jc=[lo,Em,Nm,jn,Jf,Kf,Lf,Mf];var kc=[mo,Dm,Mm,hn,lf,mo,mo,mo];var lc=[no,Cm,Lm,gn,pe,qe,se,te,xe,ue,oe,re,ve,we,tf,uf,nf,of,qf,rf,vf,sf,mf,pf,wf,xf,yf,zf,Af,Ag,Bg,no];var mc=[oo,Ze,af,_e,bf,$e,df,ef,cf,Se,Te,We,Xe,Re,Ue,Ve,Ye,Nf,Of,Pf,Qf,Rf,Be,Ce,De,oo,oo,oo,oo,oo,oo,oo];var nc=[po,le,hf,ff];var oc=[qo,He,Ge,Ee,Fe,Bf,Cf,Ff,Df,Ef,ye,Ae,ze,Sf,wg,xg];var pc=[ro,eg,ag,fg,yg,ro,ro,ro];var qc=[so,Tf,Uf,Wf,Yf,_f,so,so];var rc=[to,bg,Vf,Xf,Zf,$f,to,to];var sc=[uo,zg];var tc=[vo,cg];var uc=[wo,dg];return{___cxa_can_catch:rn,___cxa_is_pointer_type:sn,___errno_location:dl,___getTypeName:_k,___muldi3:un,___udivdi3:zn,_bitshift64Lshr:An,_bitshift64Shl:Bn,_free:Xl,_i64Add:vn,_i64Subtract:wn,_llvm_bswap_i32:Cn,_llvm_cttz_i32:xn,_main:Cc,_malloc:Wl,_memcpy:Dn,_memmove:En,_memset:Fn,_sbrk:Gn,_strlen:Ql,dynCall_ii:Hn,dynCall_iidiiii:In,dynCall_iii:Jn,dynCall_iiii:Kn,dynCall_iiiii:Ln,dynCall_v:Mn,dynCall_vi:Nn,dynCall_vii:On,dynCall_viii:Pn,dynCall_viiii:Qn,dynCall_viiiii:Rn,dynCall_viiiiii:Sn,dynCall_viiiiiii:Tn,dynCall_viiiiiiii:Un,dynCall_viiiiiiiii:Vn,dynCall_viiiiiiiiii:Wn,dynCall_viiiiiiiiiii:Xn,dynCall_viiiiiiiiiiii:Yn,dynCall_viiiiiiiiiiiii:Zn,dynCall_viiiiiiiiiiiiiii:_n,dynCall_viiiiiiiiiiiiiiiiiii:$n,establishStackSpace:zc,globalCtors:vc,stackAlloc:wc,stackRestore:yc,stackSave:xc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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;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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=89072,DYNAMIC_BASE=5331952,DYNAMICTOP_PTR=89040;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,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LQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEgAVABgAEAAQABAAEAARABMAFgAZABAAEAARABIAFAAWABkAHQAQABAAEgAVABgAGwAfACQAEQARABQAGAAeACMAKQAvABIAEwAWABsAIwAsADYAQQAVABYAGQAfACkANgBGAFgAGAAZAB0AJAAvAEEAWABzABAAEAAQABAAEQASABQAGAAQABAAEAARABIAFAAYABkAEAAQABEAEgAUABgAGQAcABAAEQASABQAGAAZABwAIQARABIAFAAYABkAHAAhACkAEgAUABgAGQAcACEAKQA2ABQAGAAZABwAIQApADYARwAYABkAHAAhACkANgBHAFsAEAAQABAAEAAQABAAEAAQABEAEQASABIAFQAVABgAGAAQABAAEAAQABAAEAAQABAAEQARABIAEgAVABUAGAAYABAAEAAQABAAEAAQABAAEAARABEAEwATABYAFgAZABkAEAAQABAAEAAQABAAEAAQABEAEQATABMAFgAWABkAGQAQABAAEAAQABEAEQASABIAFAAUABYAFgAZABkAHQAdABAAEAAQABAAEQARABIAEgAUABQAFgAWABkAGQAdAB0AEAAQABAAEAASABIAFQAVABgAGAAbABsAHwAfACQAJAAQABAAEAAQABIAEgAVABUAGAAYABsAGwAfAB8AJAAkABEAEQARABEAFAAUABgAGAAeAB4AIwAjACkAKQAvAC8AEQARABEAEQAUABQAGAAYAB4AHgAjACMAKQApAC8ALwASABIAEwATABYAFgAbABsAIwAjACwALAA2ADYAQQBBABIAEgATABMAFgAWABsAGwAjACMALAAsADYANgBBAEEAFQAVABYAFgAZABkAHwAfACkAKQA2ADYARgBGAFgAWAAVABUAFgAWABkAGQAfAB8AKQApADYANgBGAEYAWABYABgAGAAZABkAHQAdACQAJAAvAC8AQQBBAFgAWABzAHMAGAAYABkAGQAdAB0AJAAkAC8ALwBBAEEAWABYAHMAcwAQABAAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABAAEAAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAEAAQABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAQABAAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABAAEAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAEAAQABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAQABAAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhABAAEAARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAEQARABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQARABEAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApABIAEgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYAEgASABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgAUABQAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHABQAFAAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAGAAYABkAGQAcABwAIQAhACkAKQA2ADYARwBHAFsAWwAYABgAGQAZABwAHAAhACEAKQApADYANgBHAEcAWwBbABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAVABUAFQAVABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFQAVABUAFQAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABUAFQAVABUAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABMAEwATABMAFgAWABYAFgAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQATABMAEwATABYAFgAWABYAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEwATABMAEwAWABYAFgAWABkAGQAZABkAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAWABYAFgAWABkAGQAZABkAHQAdAB0AHQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAFgAWABYAFgAZABkAGQAZAB0AHQAdAB0AEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABYAFgAWABYAGQAZABkAGQAdAB0AHQAdABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAAQABAAEAAQABAAEAAQABAAEgASABIAEgAVABUAFQAVABgAGAAYABgAGwAbABsAGwAfAB8AHwAfACQAJAAkACQAEAAQABAAEAAQABAAEAAQABIAEgASABIAFQAVABUAFQAYABgAGAAYABsAGwAbABsAHwAfAB8AHwAkACQAJAAkABAAEAAQABAAEAAQABAAEAASABIAEgASABUAFQAVABUAGAAYABgAGAAbABsAGwAbAB8AHwAfAB8AJAAkACQAJAARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEQARABEAEQARABEAEQARABQAFAAUABQAGAAYABgAGAAeAB4AHgAeACMAIwAjACMAKQApACkAKQAvAC8ALwAvABEAEQARABEAEQARABEAEQAUABQAFAAUABgAGAAYABgAHgAeAB4AHgAjACMAIwAjACkAKQApACkALwAvAC8ALwARABEAEQARABEAEQARABEAFAAUABQAFAAYABgAGAAYAB4AHgAeAB4AIwAjACMAIwApACkAKQApAC8ALwAvAC8AEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABIAEgASABIAEwATABMAEwAWABYAFgAWABsAGwAbABsAIwAjACMAIwAsACwALAAsADYANgA2ADYAQQBBAEEAQQASABIAEgASABMAEwATABMAFgAWABYAFgAbABsAGwAbACMAIwAjACMALAAsACwALAA2ADYANgA2AEEAQQBBAEEAEgASABIAEgATABMAEwATABYAFgAWABYAGwAbABsAGwAjACMAIwAjACwALAAsACwANgA2ADYANgBBAEEAQQBBABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAVABUAFQAVABYAFgAWABYAGQAZABkAGQAfAB8AHwAfACkAKQApACkANgA2ADYANgBGAEYARgBGAFgAWABYAFgAFQAVABUAFQAWABYAFgAWABkAGQAZABkAHwAfAB8AHwApACkAKQApADYANgA2ADYARgBGAEYARgBYAFgAWABYABUAFQAVABUAFgAWABYAFgAZABkAGQAZAB8AHwAfAB8AKQApACkAKQA2ADYANgA2AEYARgBGAEYAWABYAFgAWAAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAGAAYABgAGAAZABkAGQAZAB0AHQAdAB0AJAAkACQAJAAvAC8ALwAvAEEAQQBBAEEAWABYAFgAWABzAHMAcwBzABgAGAAYABgAGQAZABkAGQAdAB0AHQAdACQAJAAkACQALwAvAC8ALwBBAEEAQQBBAFgAWABYAFgAcwBzAHMAcwAYABgAGAAYABkAGQAZABkAHQAdAB0AHQAkACQAJAAkAC8ALwAvAC8AQQBBAEEAQQBYAFgAWABYAHMAcwBzAHMAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABAAEAAQABAAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABAAEAAQABAAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQAQABAAEAAQABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAEAAQABAAEAARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQARABEAEQARABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkAEQARABEAEQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApABEAEQARABEAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAEgASABIAEgAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2ABIAEgASABIAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgASABIAEgASABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcARwBHABQAFAAUABQAGAAYABgAGAAZABkAGQAZABwAHAAcABwAIQAhACEAIQApACkAKQApADYANgA2ADYARwBHAEcARwAUABQAFAAUABgAGAAYABgAGQAZABkAGQAcABwAHAAcACEAIQAhACEAKQApACkAKQA2ADYANgA2AEcARwBHAEcAFAAUABQAFAAYABgAGAAYABkAGQAZABkAHAAcABwAHAAhACEAIQAhACkAKQApACkANgA2ADYANgBHAEcA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NQAAAAcAAAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAACLSQEAoUkBAMhJAQDuSQEABEoBACtKAQBRSgEAZ0oBAI5KAQC0SgEAykoBAPFKAQAVSwEAK0sBAFJLAQAVSwEAdksBAJ1LAQAVSwEAdksBAJ1LAQAVSwEAdksBAJ1LAQDBSwEA10sBAP5LAQAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxUu/WBVAP+l1TXIK5U9l3EVCS12lQkJvFUvLAHVbFUHlXLETVV1OdLVZTWYlXY3XlVbP2QVRw1qFW4hL9VDuzWVe9q7lUrAQZWlq4dVgJzNVZDTk1WLUBlVpZIfVZTZ5VWPZytVivnxVb0R95Wc772VoBKD1f36ydXsqJAV41uWVdkT3JXFEWLV3pPpFd1br1X4qHWV6Hp71fJogRcyloRXMQcHlyn6CpcZb43XO6dRFwzh1FcJnpeXLl2a1zcfHhc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BAAAAAMAAAADAAAAAwAAAAQBRAGCAaIBSQCJACkAGQADAAMAAwADAAMAAwADAAMA1QD1ALUAdQDlAKUAkwCTAGMAwwBTADMA+QB5ALkAOQDZAFkAmQAZAOkAaQCpACkAyQBJAIkACQABABcBBwEVABUAAwADAAMAAwCGABcBBwEXAAMAAwADAAMAJwIHAhUCFQIlASUBJQAlAIYAFwAVARUBBQEFAQUABQAnAgcCFQIVAiUBJQElACUAiAAXAQcBFwADAAMAAwADAIIBOQI3ATcBGQMJAzkAKQIXAhcCJwEnAQcCBwInACcAMwMjAwYBggGiARkCKQEpAAcBBwEVARUBFQEVARcAFwAHAAcANwMHAyUDJQM1AjUCNQA1ABMDMwEjAgMCCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBEA4IDogMZBVkBwgNZAOIDKQRJAhcEFwRHAUcBRwBHAAkEKQM5AgkDFwMXAzcBNwE3ADcAJwInAhUCFQIVAhUCIwEjAQUCJQBVBUUFVQRVAzMFQwQjBVMCAwUzBEMDMwMIAQgCGQIpARUBFQEVARUBBwEHARcAFwAFAAUABQAFAAYDhAPCAxkFWQHiAwIEKQRJAhkERwFHAQkESQApAzkCGQM5AQkDOQAlAiUCJQIlAgUCBQIFAgUCJQAlACUAJQBXBVcERQVFBVMDUwNTA1MDNQVFBCMFIwVTAgMFMwRDA1MAMwMIAQYChALEAgIDGQIpASkAFwEXAQcBBwEXABcABwAHACIDOQVZA0IDSQQpBVkCGQVXAVcBNwQ3BEcDRwNZAAkEJwRHAjcDRwAVBBUERQFFASUDNQITAxMDMwEzAQUDNQAjAgMCUwVDBVMEAwUIAQgCBAMZAQcBBwEXABcAAwADAAMAAwADAAMAAwADAEYDxAMGBIIEpATkBCQFGQd5AWIFhAXEBRkGaQFpAAIGIgZCBhkESQFJACkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAiUBBQIlAHcHZwd3BlcHdwVnBkUHRQd1BFUGZQU1B3UDdQNFBkUGVwVXBGUDZQMjB3MCZQQFB3MAcwBjAmMCRQU1BQMGAwZVA0UEMwYjBiUFVQITBRMFUwFTATUERQMDBVMAIwRDAjMDAwQIAQgCCAMGBBkCggQXARcBBwEHARcAFwAFAAUABQAFAKQE5gRkBaIFxAUpB3kCAgZ3AXcBGQd5ADkGaQNpACIGQgYZBWcCZwIpBgkGFwYXBmcBZwFZATkEWQBiBikESQIZBEkBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCIwEjASMBIwEDAiMAdQdlB3UGdQVlBmUGRQdFB3UEdQRXB1cFVQZlBTMHMwdzA0MGRQVVBDUFVQNjBAMHQwQjBVMCAwVDAzMDCAEIAggDBARGBMIEGQIpAeIECQAXARcBBwEHARcAFwAEBUIFYgWCBVkGOQeiBSkHeQJJBmkEGQd5AcIFOQZpA0kFWQRJBOIFJwYnBmcCZwJnAWcBGQZpADkFWQMpBVkCFwUXBVcBVwE3BDcERwNHA1kACQQnBCcERwJHAhcEFwQ1A0UBJQM1AkcABwM1ADUAEwMTAxMDEwMzASMCAwIjAHUHZQdzBnMGUwdzBWMGQwdzBGMFcwNTBQMHcwADBgMFCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBIBEgFSAZIB0gISAlGCsYKRgvGC0YMxgxCDWQNpg0iDkQOhA7EDgQPiQFCD2IPgg+kD+IPGQVZAQIQIhBCEBkERwFHAQkESQApAzkCFwMXAzcBNwEHAwcDNwA3ACcCJwIVAiUBBQIlAGgQaBFoEmYT5BMkFGYU5BQiFUQVhBXEFQQWRBYZD/kB+QCCFqIWwhbpAuIWGQ7pAQIXIhdCF2IXgheiF8kGOQ3CFykN2QIZDbkH4hcCGMkDIhhJC9cB1wEJDdkAiQqpCEkMyQRpC7kGNww3DCcMJwzHAscCVwtXC7kFiQkXDBcMxwHHAZkICQzHAMcAuQRpCqkGeQk3CzcLtwO3A4kIWQonCycLqQVpCacEpwR5CIkHlwSXBHkHeQa1ArUCtQK1AhULFQu1AbUBBwu3AJcGRwo3CqcDVwmXBSUKJQqlAqUCFQoVCqUBpQEHCmcIpQClAIcGRwmVA5UDNwlXCIcFZwclCSUJlQKVAlcHdwU1CDUIhQOFA2cGRwd3BFcGZwV3AxMJkwEFCZUARQiFBHUCdQJHBmcEIwgjCCMIIwiDAhMINQclBxMHEwdzAXMBVQUFB3UANQZlA0UFVQQlBmUCNQUDCIMAEwZjAQMGYwBVA0UEIwUjBVMCAwUzBEMDUwAjBEMCMwNGGPkP6Q/ZD+kOyQ/ZDrkP+QvJDtkMwhjnDOcM1w3XDfkKyQ23DrcO5wvnC5cPlw/3CfcJ5wrnCrcNtw3XC9cLhw+HD/cI9wjHDMcMqQ6ZDocOhw55D3kO9Qf1B/UH9QfVCtUKpw23DMcL9wZlD2UP5QhVD5UN1Qn1BeUHpQy1C0UPRQ/1BPUExwrnBvUD9QMzDzMPhQ3VCCMP8wJlDpUMAw8DD8UJVQ6jC6MLdQ3VB0MOQw7FCNUGMw4zDrMJswmVC6UKswrjBeMEgwxjDeMDIw4DDuMAUw3TBXMMwwdDDYMLswjTBJMKowljDNMDcwtTDMMFkwlzCqMHkwf3DvcM9Q31DeMN4w3jDeMNow/jCQgBCAIIAwgECAUGBoYGBAdCB2IHFwEXAQkBGQAHAAcAiAeICIgJiAqIC4YMBg2IDYYOBg+GDwYQhBDGEEYRxBEEEkQShBLEEgQTRBOEE8QTAhQiFEIUZBSiFMIU5BQiFUIVYhWZAYIVohXCFeIVAhYpCIkCGQiJASIWQhZiFoIWKQd5AmkEGQdZBXkBohY5BmkDSQVZBCkGaQIZBsIWOQVnAWcBWQNJBCcFJwVXAlcCFwUXBVcBVwEJBVkANwQ3BEcDJwRHAjcDRQFFARcEBwQlAyUDNQI1AkcABwMVAxUDNQE1ACMCIwITAiMBAwIjAOIWAhfpDiIXQhdiF/kLghfZDakP+Qq5DukLyQ3ZDJkP+QnpCrkN2QuJD/kIyQyZDukJeQ/5B6kN2Qq5DGkPohfHC8cL9wb3BokO6QhZD5kN9wX3BXcOdw7nB+cHpwynDMcKxwq3C7cL2QmJDUcPRw/3BPcENw83D/cD9wPXCNcI5wbnBicPJw/3AvcCaQ75ABcPFw/3AfcBlwyXDMcJxwlXDqcLtwrnBXcN1wdHDucEhwzHCDcOZw3XBucDlwu3CScOJw6nCqcK5wLnAhcOFw7nAecBCQ7pAFcNVw3XBdcFdwzHB0cNhwvVBNUEtwiXCqcJZwzHBjcN1QPVA9UC1QInDQcNFQ0VDXULdQu1B7UH1QHVAVcM1wDFBcUFhQqFCqUIRQzFBGULtQa1BpcJBww1DDUMxQPFA3UKdQqlB6UHpQalBscABwvDAsMCJQxVC7UFFQyFCZUIxQFFC7UEZQo1C3UJswOzA5UHhQglC1UKswKzAqUFFQuzAbMBtQBlCZUGRQqlBHUIhQc1CqMDowNTCZMFIwqjAhMKowEFCqUAYwhjCIMGQwmTBDMJkwOTA3UHBQlTCIMFIwljB3MGkwITCZMAQwiDBFMHcwUzCIMDYwZDB3MEAwiDAFMGYwUzB3MDQwYDB3MAAwZjAPMP4w/zDtMP8w3DD/MM0w7jDbMPww7jDKMOAw8IAQgCCAMEBBkBCQEXABcAAwADAAMAAwADAAMAAwADAEYExgREBfkPhAXCBegF+QLiBhkP+QEIBwgICAkICggLCAwGDYYNBg6GDgYPhg8GEIQQxBACESQRZBGiEVkBwhHiEQISIhIZBEkBQhIpAzkCFwMXAzcBNwEJAzkAJwInAhUCJQEFAiUA5w/3DtcP9w3HD/cMtw/3C6UPpQ/3CpcP9wn3CIUPhQ91D/UHZQ/1BlUP9QVDD0MP8wTzA/MA8wDzAPMA8wDzAPMA8wA1DzUPNQ81D2gSZhPmE2YUIw8DD+QUJBVkFaIVxBUEFkIWZBakFuQWJBfpA2IXgheiF8IX4hcCGCIYCQ1CGGIYghg5DKIYGQzJAMIY5wLnAikOGQ7ZAykN2QLZATkL4hgXDRcNyQRpC8kDqQcnDCcMyQK5BckBCQxJC7kEaQqpBrcDtwNZCqkFJwsnC7cCtwIXCxcLtwG3AQkLuQBpCZkGSQqpBHkIiQenA6cDOQpZCScKJwqZBWkIpwGnAYkGeQeXBJcESQlZB2cHZwelAqUCpQKlAhUKFQoHCqcANwmXA1cIhwUlCSUJlQKVAncGBwkVCRUJlQGVAZcARwiHBHcFNwiHA2cGJwiFAoUCRwd3BBUIFQiFAYUBhQCFAAcIVwY1BzUHdQN1A2cFRwYlByUHdQJ1AmcEVwUFBwUHEwcTBxMHEwdzAXMBdQA1BmUDRQVVBCUGYwITBmMBYwEFBmUAUwNTAzUFRQQjBVMCEwUDBTMEQwNTACMEQwIzAwMEQwDJDgIZ1w7XDucJ5wnpCtkJ5Q7lDuUO5Q7nDecN5wvnC7UOtQ7FDcUN1wzXC6UOpQ7FDMUMpw3XCncOpwzFCsUKxwl3DVUOVQ6zDbMNsw2zDZMOkw61DMULhQ7lCJUN5Qe1C4UN1QhlDuMGkwylC7UK5QXVB0MOQw7lBIUMwwgzDmMNYw3VBpULtQmlCuMB4wHTBNMEtQilCXMLcwu1B9UAAw7jAFMN0wVzDMMHQw2DC5MKYwzDBjMNUwzDBYMKowiTCUMMswZzClMLgwmTCHMJkweDCOMM0w0IAQgCCAP5DwgECAUIBggHCAgICQYKhAoZAQkBGQAJAOkP+Q7ZD/kNyQ/5DLkP+Qv3CvcKqQ+ZD/cJ9wn3CPcIiQ95D/cH9wdnD2cP9wb3BlcPVw/3BfcFRw9HD/cE9wQ3DzcP9wP3AycPJw/3AvcC9wH3ARkP+QDGCkYLxgtGDMgMxg1GDsYORA+ED8QPBBBEEIQQxBAEEUQRhhEEEkQShBLGEkQThhMCFCQUZBSiFMQUAhUiFUIVYhWCFaIVwhXiFQIWIhZCFmIWghaiFsIW4hYCFyQXYheEF3kDwhd5AkkGaQRZBXkBOQZpA0kFWQQpBmkCGQZpAeIXOQVZA0kEKQVZAhkFAhhXAVcBOQRJAycEJwRHAkcCNwM3AxcEFwRHAUcBCQRJACcDJwM3AjcCFQMVAxUDFQM1ATUBNQE1AQcDNwAlAiUCEwITAhMCEwIjASMBBQIlAAMPAw8DDwMP5w7XDucNxw7nDNcNtw7nC8cN1wynDucKtw3XC8cMlw7nCacN1wq3DMcLhw7nCJcN1wl3DucHpwzHCscKtwu3C4cNhw3XCNcICQ7pAAcNBw3lBuUG5QblBmcOlwzFCcUJVQ5VDrUKtQrlBeUFpwt3DdUH1QflBOUEhQyFDMUIxQhHDicONQ41DmUN1QblA5ULtQmlCuUCFQ7lAVUN1QV1DMUHRQ2FC7UI1QSVCqUJZQzFBjUN1QMlDdUCFQ11C7UH1QFVDMUFhQqlCJUJRQzFBGULZQu1BrUG1wAHDDUMNQzFA3UKpQclDMUCVQu1BRUMhQmVCMUBRQvHAAcLNQs1C7cABwoVChUKswSzBGUKpQZ1CXUJlQeVB6cABwmVAJUAswODCCULVQqzArMCpQUVC7UBZQmTBqMERQp1CIMHgwczCqMDUwmTBSMKowKjAWMIgwZzB0MJkwQzCZMDUwiDBSMJYwdzBpMCEwmTAUMIgwRTB3MFMwiDA2MGIwiDAhMIQwdzBIMBgwEFCIUAUwZjBRMHEwcFB3UAMwcjBwMGYwADBVMAAAAFgA+ACgAbgB4AFAARgDOANgA8ADmAKAAtgCeAIgBjgGYAbABpgHgAfYB3gHIAUABVgF+AWgBLgE4ARABBgMOAxgDMAMmA2ADdgNeA0gDwAPWA/4D6AOuA7gDkAOGAoAClgK+AqgC7gL4AtACxgJOAlgCcAJmAiACNgIeAggCDgYYBjAGJgZgBnYGXgZIBsAG1gb+BugGrga4BpAGhgeAB5YHvgeoB+4H+AfQB8YHTgdYB3AHZgcgBzYHHgcIBQAFFgU+BSgFbgV4BVAFRgXOBdgF8AXmBaAFtgWeBYgEjgSYBLAEpgTgBPYE3gTIBEAEVgR+BGgELgQ4BBAEBgQODBgMMAwmDGAMdgxeDEgMwAzWDP4M6AyuDLgMkAyGDYANlg2+DagN7g34DdANxg1ODVgNcA1mDSANNg0eDQgPAA8WDz4PKA9uD3gPUA9GD84P2A/wD+YPoA+2D54PiA6ODpgOsA6mDuAO9g7eDsgOQA5WDn4OaA4uDjgOEA4GDgAKFgo+CigKbgp4ClAKRgrOCtgK8ArmCqAKtgqeCogLjguYC7ALpgvgC/YL3gvIC0ALVgt+C2gLLgs4CxALBgkOCRgJMAkmCWAJdgleCUgJwAnWCf4J6AmuCbgJkAmGCIAIlgi+CKgI7gj4CNAIxghOCFgIcAhmCCAINggeCAgJKZXNzaWNhACRwbGF5AG9uRGF0YQAkY2xvc2UAZGVjb2RlVmlkZW9CdWZmZXIAaXNQbGF5aW5nAGZsdk1vZGUAYXVkaW9CdWZmZXIAdmlkZW9CdWZmZXIAYnBzAGJ1ZmZlckluZm8ASmVzc2lidWNhAGNsb3NlAGlzV2ViR0wAd2ViZ2w6JXMAdHJ1ZQBmYWxzZQAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAOElPQnVmZmVyADVTbGljZQBwbGF5QXVkaW8AaW5pdEF1ZGlvAHNldCBhdWRpbyBidWZmZXJMZW5ndGg6JWQAdmlkZW8gaW5mbyBzZXQhAHJlc2V0VGltZVNwYW4AY29kZWMgbm90IHN1cHBvcnQ6ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADdKZXNzaWNhAFA3SmVzc2ljYQBQSzdKZXNzaWNhAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAA5SmVzc2lidWNhAE4xMGVtc2NyaXB0ZW43d3JhcHBlckk3SmVzc2ljYUVFAE4xMGVtc2NyaXB0ZW44aW50ZXJuYWwxMVdyYXBwZXJCYXNlRQBQOUplc3NpYnVjYQBQSzlKZXNzaWJ1Y2EAaWlpaQBhdWRpbyBpbml0ISAlZABtcDMgaW5pdCEARXJyb3IgaW4gQ3JlYXRlICU4eAoACkVycm9yIGluIHNldHRpbmcgbnVtYmVyIG9mIGNvcmVzAApFcnJvciBpbiBzZXR0aW5nIFByb2Nlc3NvciB0eXBlAGxpYmhldmMgaW5pdAA3TGliaGV2YwAxMlZpZGVvRGVjb2RlcgB2aWRlbyBkZWNvZGVyIHJlbGVhc2UhCgBFcnJvciBpbiBDb2RlYyBkZWxldGUACkVycm9yIGluIHNldHRpbmcgdGhlIGNvZGVjIGluIGhlYWRlciBkZWNvZGUgbW9kZQAKRXJyb3IgaW4gaGVhZGVyIHZwcyBkZWNvZGUgJXgACkVycm9yIGluIGhlYWRlciBzcHMgZGVjb2RlICV4AApFcnJvciBpbiBoZWFkZXIgcHBzIGRlY29kZSAleAAKRXJyb3IgaW4gc2V0dGluZyB0aGUgY29kZWMgaW4gZnJhbWUgZGVjb2RlIG1vZGUAc2V0VmlkZW9TaXplAGRyYXcAYXVkaW8gZGVjb2RlciByZWxlYXNlCgBhdWRpbyBkZWNvZGVyIHJlbGVhc2UhCgBGbHZEZWNvZGVyIHJlbGVhc2UhCgBfX2Rlc3RydWN0AAAaCgEGBwL/BAUB/yhwc19idWZfbWdyLT5hdTRfc3RhdHVzW2lkXSAhPSAyKQBjb21tb25caWhldmNfYnVmX21nci5jAGloZXZjX2J1Zl9tZ3JfZ2V0X25leHRfZnJlZQBpaGV2Y19idWZfbWdyX2NoZWNrX2ZyZWUAKHBzX2J1Zl9tZ3ItPmF1NF9zdGF0dXNbYnVmX2lkXSAhPSAyKQBpaGV2Y19idWZfbWdyX3JlbGVhc2UAaWhldmNfYnVmX21ncl9zZXRfc3RhdHVzACgoYnMgPiAwKSAmJiAoYnMgPD0gMykpAGNvbW1vblxpaGV2Y19kZWJsa19lZGdlX2ZpbHRlci5jAGloZXZjX2RlYmxrX2x1bWFfdmVydAAoZmlsdGVyX2ZsYWdfcCB8fCBmaWx0ZXJfZmxhZ19xKQAoKGJzID4gMCkpAGloZXZjX2RlYmxrX2x1bWFfaG9yegBpaGV2Y19kZWJsa19jaHJvbWFfdmVydABpaGV2Y19kZWJsa19jaHJvbWFfaG9yegAoKG5icl9mbGFncyA9PSAweDExMTg4KSB8fCAobmJyX2ZsYWdzID09IDB4MTMzQ0MpIHx8IChuYnJfZmxhZ3MgPT0gMHgxRkZGRikpAGNvbW1vblxpaGV2Y19pbnRyYV9wcmVkX2ZpbHRlcnMuYwBpaGV2Y19pbnRyYV9wcmVkX2x1bWFfcmVmX3N1YnN0X2FsbF9hdmxibGUAKChudCA9PSA4KSB8fCAobnQgPT0gMTYpIHx8IChudCA9PSAzMikpAEAoIylJZDolc18lcyBWZXI6JXMgUmVsZWFzZWQgYnkgJXMgQnVpbGQ6ICVzIEAgJXMASEVWQ0RFQwBwcm9kdWN0aW9uADA1LjAwAElUVElBTQBKdWwgMzAgMjAxOQAwOTo0NDowMQAocHNfY29kZWMtPnNfcGFyc2UuaTRfZW5kX29mX2ZyYW1lICE9IDApAGRlY29kZXJcaWhldmNkX2RlY29kZS5jAGloZXZjZF9kZWNvZGUAbm9wACgxID09ICgodTRfYnMgJiAzKSA+PiAxKSkAZGVjb2RlclxpaGV2Y2RfZGVibGsuYwBpaGV2Y2RfZGVibGtfY3RiAChQU0xJQ0UgPT0gcHNfc2xpY2VfaGRyLT5pMV9zbGljZV90eXBlIHx8IEJTTElDRSA9PSBwc19zbGljZV9oZHItPmkxX3NsaWNlX3R5cGUpAGRlY29kZXJcaWhldmNkX2ludGVyX3ByZWQuYwBpaGV2Y2RfaW50ZXJfcHJlZF9jdGIAZGVjb2RlclxpaGV2Y2RfY2FiYWMuYwBpaGV2Y2RfY2FiYWNfZGVjb2RlX3Rlcm1pbmF0ZQAobnVtYml0cyA+PSAtMzIpAGRlY29kZXJcaWhldmNkX2JpdHN0cmVhbS5jAGloZXZjZF9iaXRzX3NlZWsAKG51bWJpdHMgPD0gMzIpACgwID09ICh4MCAlIDgpKQBkZWNvZGVyXGloZXZjZF9wYXJzZV9zbGljZS5jAGloZXZjZF9wYXJzZV9jb2RpbmdfdW5pdAAoMCA9PSAoeTAgJSA4KSkAKHU0X3JhbmdlID49IDI1NikAZGVjb2RlclxpaGV2Y2RfcGFyc2VfcmVzaWR1YWwuYwBpaGV2Y2RfcGFyc2VfcmVzaWR1YWxfY29kaW5nACgoY3R4dF9pZHggPj0gMCkgJiYgKGN0eHRfaWR4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKG51bV9jb2VmZiA+IDApAChudW1fY29lZmYgPCAxNykAKChudW1fY29lZmYgLSAxKSA+IDApACgobnVtX2NvZWZmIC0gMSkgPCAxNykAKHJpY2VfcGFyYW0gPiAwKQAocmljZV9wYXJhbSA8IDE3KQAodTRfbnVtYmlucyA8IDE3KQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zAChudW1iaW5zID4gMCkAKG51bWJpbnMgPCAxNykAKChrID49IDApKQBpaGV2Y2RfY2FiYWNfZGVjb2RlX2J5cGFzc19iaW5zX2VnawAobnVtb25lcyA+IDApAChudW1vbmVzIDwgMTcpAChjX21heCA+IDApAGloZXZjZF9jYWJhY19kZWNvZGVfYmluc190dW5hcnkAKChjdHh0X2luZGV4ID49IDApICYmIChjdHh0X2luZGV4IDwgSUhFVkNfQ0FCX0NUWFRfRU5EKSkAKChjdHh0X2luZGV4ICsgKGNfbWF4ID4+IGN0eHRfc2hpZnQpKSA8IElIRVZDX0NBQl9DVFhUX0VORCkAKChiaW5faW5kZXggPj0gMCkgJiYgKGJpbl9pbmRleCA8IElIRVZDX0NBQl9DVFhUX0VORCkpAChzdGF0ZV9tcHMgPCAxMjgpAGloZXZjZF9jYWJhY19kZWNvZGVfYnlwYXNzX2JpbnNfdHVuYXJ5AGloZXZjZF9jYWJhY19kZWNvZGVfYnlw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cnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBsAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=89056;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){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();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _init(){function arrayBufferCopy(src,dst,dstByteOffset,numBytes){var i;var dst32Offset=dstByteOffset/4;var tail=numBytes%4;var src32=new Uint32Array(src.buffer,0,(numBytes-tail)/4);var dst32=new Uint32Array(dst.buffer);for(i=0;i<src32.length;i++){dst32[dst32Offset+i]=src32[i]}for(i=numBytes-tail;i<numBytes;i++){dst[dstByteOffset+i]=src[i]}}if(!Date.now)Date.now=function(){return(new Date).getTime()};Module.print=function(text){postMessage({cmd:"print",text:text})};Module.printErr=function(text){postMessage({cmd:"printErr",text:text})};Module.postRun=function(){postMessage({cmd:"init"})};Module.Jessibuca=Module.Jessica.extend("Jessibuca",{__construct:function(){this.__parent.__construct.call(this,this);this.audioCache=[]},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url){console.log("Jessibuca play",url);var _this=this;var reconnectCount=0;var reconnectTime=2e3;function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close Jessibuca");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var allFrameCount=frameCount*channels;var resampled=samplerate<22050;var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);postMessage({cmd:"initAudio",frameCount:frameCount,samplerate:samplerate,channels:channels});this.playAudio=function(){postMessage({cmd:"playAudio",buffer:audioOutputArray})}},playAudio(data,len){var buffer=HEAPU8.subarray(data,data+len);this.audioCache.push(buffer.buffer.slice(buffer.byteOffset,buffer.byteOffset+buffer.length));if(this.audioCache.length>=this.audioBuffer){postMessage({cmd:"playAudio",buffer:this.audioCache},this.audioCache);this.audioCache.length=0}},setBuffer:function(outputArray){for(var i=0;i<3;i++){var buffer=this.buffers[i];if(buffer.length){buffer=buffer.pop();arrayBufferCopy(outputArray,buffer,0,buffer.byteLength)}else{buffer=Uint8Array.from(outputArray[i])}outputArray[i]=buffer}},setVideoSize:function(w,h,dataPtr){postMessage({cmd:"initSize",w:w,h:h});this.buffers=[[],[],[]];var size=w*h;if(this.isWebGL){this.draw=function(compositionTime){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+size),HEAPU8.subarray(u,u+(size>>2)),HEAPU8.subarray(v,v+(size>>2))];this.setBuffer(outputArray);postMessage({cmd:"render",output:outputArray,compositionTime:compositionTime},[outputArray[0].buffer,outputArray[1].buffer,outputArray[2].buffer])}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));var output={cmd:"render",buffer:outputArray};this.draw=function(){postMessage(output)}}}});var decoder=new Module.Jessibuca;decoder.videoBuffer=1e3;self.onmessage=function(event){var msg=event.data;switch(msg.cmd){case"play":decoder.isWebGL=msg.isWebGL;decoder.play(msg.url);break;case"setBuffer":decoder.buffers[0].push(msg.buffers[0]);decoder.buffers[1].push(msg.buffers[1]);decoder.buffers[2].push(msg.buffers[2]);break;case"setVideoBuffer":decoder.videoBuffer=msg.cmd*1e3;break;case"close":decoder.close();break}}}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_create(){return 11}function _pthread_join(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _sched_yield(){return 0}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___resumeException,"z":___setErrNo,"A":___syscall140,"B":___syscall146,"C":___syscall54,"D":___syscall6,"E":__embind_create_inheriting_constructor,"F":__embind_register_bool,"G":__embind_register_class,"H":__embind_register_class_class_function,"I":__embind_register_class_function,"J":__embind_register_class_property,"K":__embind_register_emval,"L":__embind_register_float,"M":__embind_register_integer,"N":__embind_register_memory_view,"O":__embind_register_std_string,"P":__embind_register_std_wstring,"Q":__embind_register_void,"R":__emscripten_traverse_stack,"S":__emval_addMethodCaller,"T":__emval_allocateDestructors,"U":__emval_as,"V":__emval_call,"W":__emval_call_method,"X":__emval_call_void_method,"Y":__emval_decref,"Z":__emval_get_global,"_":__emval_get_method_caller,"$":__emval_get_property,"aa":__emval_incref,"ab":__emval_lookupTypes,"ac":__emval_new,"ad":__emval_new_cstring,"ae":__emval_new_object,"af":__emval_register,"ag":__emval_run_destructors,"ah":__emval_set_property,"ai":__emval_take_value,"aj":__formatString,"ak":__reallyNegative,"al":_abort,"am":_clock,"an":_embind_repr,"ao":_emscripten_get_callstack_js,"ap":_emscripten_get_heap_size,"aq":_emscripten_log,"ar":_emscripten_log_js,"as":_emscripten_memcpy_big,"at":_emscripten_resize_heap,"au":_init,"av":_llvm_trap,"aw":_pthread_create,"ax":_pthread_join,"ay":_sched_yield,"az":abortOnCannotGrowMemory,"aA":constNoSmartPtrRawPointerToWireType,"aB":count_emval_handles,"aC":craftEmvalAllocator,"aD":craftInvokerFunction,"aE":createNamedFunction,"aF":downcastPointer,"aG":embind__requireFunction,"aH":embind_init_charCodes,"aI":emval_get_global,"aJ":ensureOverloadTable,"aK":exposePublicSymbol,"aL":extendError,"aM":floatReadValueFromPointer,"aN":flushPendingDeletes,"aO":flush_NO_FILESYSTEM,"aP":genericPointerToWireType,"aQ":getBasestPointer,"aR":getInheritedInstance,"aS":getInheritedInstanceCount,"aT":getLiveInheritedInstances,"aU":getShiftFromSize,"aV":getStringOrSymbol,"aW":getTypeName,"aX":get_first_emval,"aY":heap32VectorToArray,"aZ":init_ClassHandle,"a_":init_RegisteredPointer,"a$":init_embind,"ba":init_emval,"bb":integerReadValueFromPointer,"bc":makeClassHandle,"bd":makeLegalFunctionName,"be":new_,"bf":nonConstNoSmartPtrRawPointerToWireType,"bg":readLatin1String,"bh":registerInheritedInstance,"bi":registerType,"bj":replacePublicSymbol,"bk":requireHandle,"bl":requireRegisteredType,"bm":runDestructor,"bn":runDestructors,"bo":setDelayFunction,"bp":shallowCopyInternalPointer,"bq":simpleReadValueFromPointer,"br":throwBindingError,"bs":throwInstanceAlreadyDeleted,"bt":throwInternalError,"bu":throwUnboundTypeError,"bv":unregisterInheritedInstance,"bw":upcastPointer,"bx":validateThis,"by":whenDependentTypesAreResolved,"bz":tempDoublePtr,"bA":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bz|0,i=env.bA|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.Math.imul,s=global.Math.clz32,t=env.a,u=env.b,v=env.c,w=env.d,x=env.e,y=env.f,z=env.g,A=env.h,B=env.i,C=env.j,D=env.k,E=env.l,F=env.m,G=env.n,H=env.o,I=env.p,J=env.q,K=env.r,L=env.s,M=env.t,N=env.u,O=env.v,P=env.w,Q=env.x,R=env.y,S=env.z,T=env.A,U=env.B,V=env.C,W=env.D,X=env.E,Y=env.F,Z=env.G,_=env.H,$=env.I,aa=env.J,ba=env.K,ca=env.L,da=env.M,ea=env.N,fa=env.O,ga=env.P,ha=env.Q,ia=env.R,ja=env.S,ka=env.T,la=env.U,ma=env.V,na=env.W,oa=env.X,pa=env.Y,qa=env.Z,ra=env._,sa=env.$,ta=env.aa,ua=env.ab,va=env.ac,wa=env.ad,xa=env.ae,ya=env.af,za=env.ag,Aa=env.ah,Ba=env.ai,Ca=env.aj,Da=env.ak,Ea=env.al,Fa=env.am,Ga=env.an,Ha=env.ao,Ia=env.ap,Ja=env.aq,Ka=env.ar,La=env.as,Ma=env.at,Na=env.au,Oa=env.av,Pa=env.aw,Qa=env.ax,Ra=env.ay,Sa=env.az,Ta=env.aA,Ua=env.aB,Va=env.aC,Wa=env.aD,Xa=env.aE,Ya=env.aF,Za=env.aG,_a=env.aH,$a=env.aI,ab=env.aJ,bb=env.aK,cb=env.aL,db=env.aM,eb=env.aN,fb=env.aO,gb=env.aP,hb=env.aQ,ib=env.aR,jb=env.aS,kb=env.aT,lb=env.aU,mb=env.aV,nb=env.aW,ob=env.aX,pb=env.aY,qb=env.aZ,rb=env.a_,sb=env.a$,tb=env.ba,ub=env.bb,vb=env.bc,wb=env.bd,xb=env.be,yb=env.bf,zb=env.bg,Ab=env.bh,Bb=env.bi,Cb=env.bj,Db=env.bk,Eb=env.bl,Fb=env.bm,Gb=env.bn,Hb=env.bo,Ib=env.bp,Jb=env.bq,Kb=env.br,Lb=env.bs,Mb=env.bt,Nb=env.bu,Ob=env.bv,Pb=env.bw,Qb=env.bx,Rb=env.by,Sb=89072,Tb=5331952,Ub=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function vg(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=c+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<1)|0;g=a+h|0;p=0;f=a;k=m?l:c;h=m?c:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;c=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[e>>1]=((z|0)<255?z:255)>>>3<<11|((D|0)<255?D:255)>>>3|((E|0)<255?E:255)>>>2<<5;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;b[e+2>>1]=((E|0)<255?E:255)>>>3<<11|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>2<<5;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;b[c>>1]=((E|0)<255?E:255)>>>2<<5|((D|0)<255?D:255)>>>3|((z|0)<255?z:255)>>>3<<11;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;b[c+2>>1]=((B|0)<255?B:255)>>>2<<5|((A|0)<255?A:255)>>>3|((z|0)<255?z:255)>>>3<<11;if(m<<16>>16>1){m=m+-1<<16>>16;c=c+4|0;g=g+2|0;l=l+2|0;e=e+4|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<1)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<1)+(v<<1)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<1)+(j<<1)|0;k=k+i+v|0;h=h+i+v|0}}return}function wg(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((f|0)<=0)return;k=0;while(1){vl(c|0,a|0,e|0)|0;k=k+1|0;if((k|0)==(f|0))break;else{c=c+i|0;a=a+g|0}}a=f>>1;if((f|0)<=1)return;c=0;while(1){vl(d|0,b|0,e|0)|0;c=c+1|0;if((c|0)>=(a|0))break;else{d=d+j|0;b=b+h|0}}return}function xg(b,c,d,e,f,g,h,i,j,k,l,m,n){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((n|0)==0&(h|0)>0){o=0;n=d;while(1){vl(n|0,b|0,g|0)|0;o=o+1|0;if((o|0)==(h|0))break;else{n=n+k|0;b=b+i|0}}}b=(m|0)==0;n=c+1|0;m=h>>1;i=g>>1;if(!((h|0)>1&(g|0)>1))return;o=b?c:n;n=b?n:c;d=0;while(1){b=0;do{c=b<<1;a[e+b>>0]=a[n+c>>0]|0;a[f+b>>0]=a[o+c>>0]|0;b=b+1|0}while((b|0)<(i|0));d=d+1|0;if((d|0)>=(m|0))break;else{e=e+l|0;f=f+l|0;o=o+j|0;n=n+j|0}}return}function yg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=k+(d[b+(h+i)>>0]|0)|0;m=(m|0)>0?m:0;a[c+(h+j)>>0]=(m|0)<255?m:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function zg(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=1<<g;k=((h<<16>>16<<6)+64>>7<<6)+2048>>12;k=(k|0)>-32768?k:-32768;k=(k|0)<32767?k:32767;if((g|0)==31)return;g=0;do{i=r(g,e)|0;j=r(g,f)|0;h=0;do{m=h<<1;n=k+(d[b+(m+i)>>0]|0)|0;n=(n|0)>0?n:0;a[c+(m+j)>>0]=(n|0)<255?n:255;h=h+1|0}while((h|0)<(l|0));g=g+1|0}while((g|0)<(l|0));return}function Ag(a){a=a|0;var b=0,d=0;b=a+16|0;if(kg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;if(lg(c[b>>2]|0)|0){d=2147483647;return d|0}d=(jg(c[b>>2]|0)|0)==0;d=d?0:2147483647;return d|0}function Bg(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;f=e+8|0;c[f>>2]=0;j=c[d+16>>2]|0;g=c[d+20>>2]|0;l=c[d+24>>2]|0;e=Yb[j&15](l,128,12)|0;if(!e){l=1;return l|0}c[b>>2]=e;c[f>>2]=e;c[(c[b>>2]|0)+8>>2]=0;k=Yb[j&15](l,128,45344)|0;if(!k){l=1;return l|0}c[(c[b>>2]|0)+8>>2]=k;xl(k|0,0,45344)|0;f=k+56|0;c[f>>2]=c[d+12>>2];e=c[d+8>>2]|0;switch(e|0){case 12:case 11:case 1:break;default:c[f>>2]=0}c[k+60>>2]=e;i=k+11616|0;c[i>>2]=j;c[k+11620>>2]=g;c[k+11624>>2]=l;e=(eg()|0)<<3;e=Yb[j&15](l,128,e)|0;if(!e){l=1;return l|0}c[k+11492>>2]=e;c[k+11496>>2]=e+(eg()|0);c[k+11500>>2]=e+((eg()|0)<<1);c[k+11504>>2]=e+((eg()|0)*3|0);c[k+11508>>2]=e+((eg()|0)<<2);c[k+11512>>2]=e+((eg()|0)*5|0);c[k+11516>>2]=e+((eg()|0)*6|0);c[k+11520>>2]=e+((eg()|0)*7|0);e=Yb[j&15](l,128,1048592)|0;if(!e){l=1;return l|0}c[k+172>>2]=e;c[k+184>>2]=1048576;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+264>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+276>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+244>>2]=e;e=Yb[j&15](l,128,520)|0;if(!e){l=1;return l|0}c[k+224>>2]=e;e=Yb[j&15](l,128,7168)|0;if(!e){l=1;return l|0}xl(e|0,0,7168)|0;c[k+292>>2]=e;c[k+632>>2]=e;e=Yb[j&15](l,128,152592)|0;if(!e){l=1;return l|0}xl(e|0,0,152592)|0;h=k+296|0;c[h>>2]=e;c[k+636>>2]=e;e=Yb[j&15](l,128,4420)|0;if(!e){l=1;return l|0}xl(e|0,0,4420)|0;g=k+300|0;c[g>>2]=e;c[k+640>>2]=e;e=Yb[j&15](l,128,325632)|0;if(!e){l=1;return l|0}xl(e|0,0,325632)|0;c[k+304>>2]=e;c[k+644>>2]=e;e=Yb[j&15](l,128,666496)|0;if(!e){l=1;return l|0}d=k+280|0;c[d>>2]=e;e=Yb[j&15](l,128,542464)|0;if(!e){l=1;return l|0}c[k+252>>2]=e;e=Yb[j&15](l,128,262144)|0;if(!e){l=1;return l|0}c[k+6548>>2]=e;c[k+6552>>2]=e+16384;c[k+7240>>2]=e+32768;c[k+7244>>2]=e+49152;c[k+7932>>2]=e+65536;c[k+7936>>2]=e+81920;c[k+8624>>2]=e+98304;c[k+8628>>2]=e+114688;c[k+9316>>2]=e+131072;c[k+9320>>2]=e+147456;c[k+10008>>2]=e+163840;c[k+10012>>2]=e+180224;c[k+10700>>2]=e+196608;c[k+10704>>2]=e+212992;c[k+11392>>2]=e+229376;c[k+11396>>2]=e+245760;e=Yb[j&15](l,128,48)|0;if(!e){l=1;return l|0}f=e;b=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(b|0));c[k+628>>2]=e;c[k+624>>2]=e+16;e=Yb[c[i>>2]&15](l,128,158208)|0;if(!e){l=1;return l|0}xl(e|0,0,158208)|0;c[k+6144>>2]=e;i=e+9216|0;c[k+6148>>2]=i;l=e+18432|0;c[k+6196>>2]=i;c[k+6200>>2]=e;c[k+6056>>2]=l;c[k+6320>>2]=l;l=e+19776|0;c[k+6156>>2]=64;c[k+6836>>2]=l;i=e+28992|0;c[k+6840>>2]=i;j=e+38208|0;c[k+6888>>2]=i;c[k+6892>>2]=l;c[k+6748>>2]=j;c[k+7012>>2]=j;j=e+39552|0;c[k+6848>>2]=64;c[k+7528>>2]=j;l=e+48768|0;c[k+7532>>2]=l;i=e+57984|0;c[k+7580>>2]=l;c[k+7584>>2]=j;c[k+7440>>2]=i;c[k+7704>>2]=i;i=e+59328|0;c[k+7540>>2]=64;c[k+8220>>2]=i;j=e+68544|0;c[k+8224>>2]=j;l=e+77760|0;c[k+8272>>2]=j;c[k+8276>>2]=i;c[k+8132>>2]=l;c[k+8396>>2]=l;l=e+79104|0;c[k+8232>>2]=64;c[k+8912>>2]=l;i=e+88320|0;c[k+8916>>2]=i;j=e+97536|0;c[k+8964>>2]=i;c[k+8968>>2]=l;c[k+8824>>2]=j;c[k+9088>>2]=j;j=e+98880|0;c[k+8924>>2]=64;c[k+9604>>2]=j;l=e+108096|0;c[k+9608>>2]=l;i=e+117312|0;c[k+9656>>2]=l;c[k+9660>>2]=j;c[k+9516>>2]=i;c[k+9780>>2]=i;i=e+118656|0;c[k+9616>>2]=64;c[k+10296>>2]=i;j=e+127872|0;c[k+10300>>2]=j;l=e+137088|0;c[k+10348>>2]=j;c[k+10352>>2]=i;c[k+10208>>2]=l;c[k+10472>>2]=l;l=e+138432|0;c[k+10308>>2]=64;c[k+10988>>2]=l;i=e+147648|0;c[k+10992>>2]=i;j=e+156864|0;c[k+11040>>2]=i;c[k+11044>>2]=l;c[k+10900>>2]=j;c[k+11164>>2]=j;c[k+11e3>>2]=64;j=c[h>>2]|0;l=c[g>>2]|0;k=c[d>>2]|0;c[j+8968>>2]=k;c[j+17944>>2]=k+8128;c[j+26920>>2]=k+16256;c[j+35896>>2]=k+24384;c[j+44872>>2]=k+32512;c[j+53848>>2]=k+40640;c[j+62824>>2]=k+48768;c[j+71800>>2]=k+56896;c[j+80776>>2]=k+65024;c[j+89752>>2]=k+73152;c[j+98728>>2]=k+81280;c[j+107704>>2]=k+89408;c[j+116680>>2]=k+97536;c[j+125656>>2]=k+105664;c[j+134632>>2]=k+113792;c[j+143608>>2]=k+121920;c[j+152584>>2]=k+130048;c[l>>2]=k+138176;c[l+68>>2]=k+146304;c[l+136>>2]=k+154432;c[l+204>>2]=k+162560;c[l+272>>2]=k+170688;c[l+340>>2]=k+178816;c[l+408>>2]=k+186944;c[l+476>>2]=k+195072;c[l+544>>2]=k+203200;c[l+612>>2]=k+211328;c[l+680>>2]=k+219456;c[l+748>>2]=k+227584;c[l+816>>2]=k+235712;c[l+884>>2]=k+243840;c[l+952>>2]=k+251968;c[l+1020>>2]=k+260096;c[l+1088>>2]=k+268224;c[l+1156>>2]=k+276352;c[l+1224>>2]=k+284480;c[l+1292>>2]=k+292608;c[l+1360>>2]=k+300736;c[l+1428>>2]=k+308864;c[l+1496>>2]=k+316992;c[l+1564>>2]=k+325120;c[l+1632>>2]=k+333248;c[l+1700>>2]=k+341376;c[l+1768>>2]=k+349504;c[l+1836>>2]=k+357632;c[l+1904>>2]=k+365760;c[l+1972>>2]=k+373888;c[l+2040>>2]=k+382016;c[l+2108>>2]=k+390144;c[l+2176>>2]=k+398272;c[l+2244>>2]=k+406400;c[l+2312>>2]=k+414528;c[l+2380>>2]=k+422656;c[l+2448>>2]=k+430784;c[l+2516>>2]=k+438912;c[l+2584>>2]=k+447040;c[l+2652>>2]=k+455168;c[l+2720>>2]=k+463296;c[l+2788>>2]=k+471424;c[l+2856>>2]=k+479552;c[l+2924>>2]=k+487680;c[l+2992>>2]=k+495808;c[l+3060>>2]=k+503936;c[l+3128>>2]=k+512064;c[l+3196>>2]=k+520192;c[l+3264>>2]=k+528320;c[l+3332>>2]=k+536448;c[l+3400>>2]=k+544576;c[l+3468>>2]=k+552704;c[l+3536>>2]=k+560832;c[l+3604>>2]=k+568960;c[l+3672>>2]=k+577088;c[l+3740>>2]=k+585216;c[l+3808>>2]=k+593344;c[l+3876>>2]=k+601472;c[l+3944>>2]=k+609600;c[l+4012>>2]=k+617728;c[l+4080>>2]=k+625856;c[l+4148>>2]=k+633984;c[l+4216>>2]=k+642112;c[l+4284>>2]=k+650240;c[l+4352>>2]=k+658368;l=0;return l|0}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+8|0;e=c[f>>2]|0;g=e+11620|0;h=c[g>>2]|0;i=e+11624|0;j=c[i>>2]|0;b=e+11492|0;d=c[b>>2]|0;if(d|0){ac[h&31](j,d);c[b>>2]=0}b=e+172|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+264|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+276|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+244|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+224|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+292|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+296|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+300|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+304|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+280|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+252|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+628|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6548|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=e+6144|0;d=c[b>>2]|0;if(d|0){ac[c[g>>2]&31](c[i>>2]|0,d);c[b>>2]=0}b=c[f>>2]|0;if(!b){ac[h&31](j,a);return 0}ac[c[g>>2]&31](c[i>>2]|0,b);c[f>>2]=0;ac[h&31](j,a);return 0}function Dg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=c[b+11624>>2]|0;j=(c[b>>2]|0)+63|0;v=j&-64;i=(c[b+4>>2]|0)+63|0;w=i&-64;o=v+64|0;h=(j|63|0)/64|0;m=w+64|0;s=(w|0)/16|0;t=(v|0)/16|0;u=r(s,t)|0;n=(v|0)/8|0;f=(w|0)/8|0;i=r((i|63|0)/64|0,h)|0;d=i*390|0;y=b+11616|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;g=b+284|0;c[g>>2]=e;d=i+s<<2;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+308>>2]=e;d=((v|0)/64|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+608>>2]=e;d=((v|0)/32|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+616>>2]=e;d=((r(f,n)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+212>>2]=e;c[b+600>>2]=e;l=f+8|0;d=((r(l,n+8|0)|0)/8|0)+3&-4;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,1,d|0)|0;c[b+216>>2]=e;e=e+(j>>6)+1|0;c[b+220>>2]=e;c[b+604>>2]=e;c[b+1212>>2]=e;c[b+1284>>2]=e;e=c[b+300>>2]|0;d=c[g>>2]|0;c[e+4>>2]=d;d=d+(i*6|0)|0;c[e+72>>2]=d;d=d+(i*6|0)|0;c[e+140>>2]=d;d=d+(i*6|0)|0;c[e+208>>2]=d;d=d+(i*6|0)|0;c[e+276>>2]=d;d=d+(i*6|0)|0;c[e+344>>2]=d;d=d+(i*6|0)|0;c[e+412>>2]=d;d=d+(i*6|0)|0;c[e+480>>2]=d;d=d+(i*6|0)|0;c[e+548>>2]=d;d=d+(i*6|0)|0;c[e+616>>2]=d;d=d+(i*6|0)|0;c[e+684>>2]=d;d=d+(i*6|0)|0;c[e+752>>2]=d;d=d+(i*6|0)|0;c[e+820>>2]=d;d=d+(i*6|0)|0;c[e+888>>2]=d;d=d+(i*6|0)|0;c[e+956>>2]=d;d=d+(i*6|0)|0;c[e+1024>>2]=d;d=d+(i*6|0)|0;c[e+1092>>2]=d;d=d+(i*6|0)|0;c[e+1160>>2]=d;d=d+(i*6|0)|0;c[e+1228>>2]=d;d=d+(i*6|0)|0;c[e+1296>>2]=d;d=d+(i*6|0)|0;c[e+1364>>2]=d;d=d+(i*6|0)|0;c[e+1432>>2]=d;d=d+(i*6|0)|0;c[e+1500>>2]=d;d=d+(i*6|0)|0;c[e+1568>>2]=d;d=d+(i*6|0)|0;c[e+1636>>2]=d;d=d+(i*6|0)|0;c[e+1704>>2]=d;d=d+(i*6|0)|0;c[e+1772>>2]=d;d=d+(i*6|0)|0;c[e+1840>>2]=d;d=d+(i*6|0)|0;c[e+1908>>2]=d;d=d+(i*6|0)|0;c[e+1976>>2]=d;d=d+(i*6|0)|0;c[e+2044>>2]=d;d=d+(i*6|0)|0;c[e+2112>>2]=d;d=d+(i*6|0)|0;c[e+2180>>2]=d;d=d+(i*6|0)|0;c[e+2248>>2]=d;d=d+(i*6|0)|0;c[e+2316>>2]=d;d=d+(i*6|0)|0;c[e+2384>>2]=d;d=d+(i*6|0)|0;c[e+2452>>2]=d;d=d+(i*6|0)|0;c[e+2520>>2]=d;d=d+(i*6|0)|0;c[e+2588>>2]=d;d=d+(i*6|0)|0;c[e+2656>>2]=d;d=d+(i*6|0)|0;c[e+2724>>2]=d;d=d+(i*6|0)|0;c[e+2792>>2]=d;d=d+(i*6|0)|0;c[e+2860>>2]=d;d=d+(i*6|0)|0;c[e+2928>>2]=d;d=d+(i*6|0)|0;c[e+2996>>2]=d;d=d+(i*6|0)|0;c[e+3064>>2]=d;d=d+(i*6|0)|0;c[e+3132>>2]=d;d=d+(i*6|0)|0;c[e+3200>>2]=d;d=d+(i*6|0)|0;c[e+3268>>2]=d;d=d+(i*6|0)|0;c[e+3336>>2]=d;d=d+(i*6|0)|0;c[e+3404>>2]=d;d=d+(i*6|0)|0;c[e+3472>>2]=d;d=d+(i*6|0)|0;c[e+3540>>2]=d;d=d+(i*6|0)|0;c[e+3608>>2]=d;d=d+(i*6|0)|0;c[e+3676>>2]=d;d=d+(i*6|0)|0;c[e+3744>>2]=d;d=d+(i*6|0)|0;c[e+3812>>2]=d;d=d+(i*6|0)|0;c[e+3880>>2]=d;d=d+(i*6|0)|0;c[e+3948>>2]=d;d=d+(i*6|0)|0;c[e+4016>>2]=d;d=d+(i*6|0)|0;c[e+4084>>2]=d;d=d+(i*6|0)|0;c[e+4152>>2]=d;d=d+(i*6|0)|0;c[e+4220>>2]=d;d=d+(i*6|0)|0;c[e+4288>>2]=d;c[e+4356>>2]=d+(i*6|0);e=(r(s,h)|0)+s<<4;e=(e|3)+(Eg()|0)&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}q=b+196|0;c[q>>2]=d;p=b+200|0;c[p>>2]=e;e=u+3&-4;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}xl(d|0,0,e|0)|0;c[b+204>>2]=d;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}xl(d|0,0,e|0)|0;c[b+208>>2]=d;h=((v|0)/4|0)<<2;d=h+519&-4;i=Yb[c[y>>2]&15](x,128,d)|0;if(!i){b=1;return b|0}xl(i|0,0,d|0)|0;d=i+512|0;c[b+6064>>2]=i;f=i;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));e=b+6060|0;c[e>>2]=d;f=i+64|0;c[b+6756>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+6752>>2]=d;f=i+128|0;c[b+7448>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+7444>>2]=d;f=i+192|0;c[b+8140>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8136>>2]=d;f=i+256|0;c[b+8832>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+8828>>2]=d;f=i+320|0;c[b+9524>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+9520>>2]=d;f=i+384|0;c[b+10216>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10212>>2]=d;f=i+448|0;c[b+10908>>2]=f;g=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[b+10904>>2]=d;xl(c[e>>2]|0,0,h+4|0)|0;d=(w|0)>(v|0)?w:v;e=s<<1;k=t<<1;j=t+63+k+(s*9|0)+(d+v<<1)&-64;f=Yb[c[y>>2]&15](x,128,j)|0;if(!f){b=1;return b|0}xl(f|0,0,j|0)|0;c[b+6556>>2]=f;c[b+7248>>2]=f;c[b+7940>>2]=f;c[b+8632>>2]=f;c[b+9324>>2]=f;c[b+10016>>2]=f;c[b+10708>>2]=f;c[b+11400>>2]=f;c[b+1308>>2]=f;i=f+d|0;c[b+6564>>2]=i;c[b+7256>>2]=i;c[b+7948>>2]=i;c[b+8640>>2]=i;c[b+9332>>2]=i;c[b+10024>>2]=i;c[b+10716>>2]=i;c[b+11408>>2]=i;c[b+1316>>2]=i;i=i+d|0;c[b+6560>>2]=i;c[b+7252>>2]=i;c[b+7944>>2]=i;c[b+8636>>2]=i;c[b+9328>>2]=i;c[b+10020>>2]=i;c[b+10712>>2]=i;c[b+11404>>2]=i;c[b+1312>>2]=i;i=i+v|0;c[b+6568>>2]=i;c[b+7260>>2]=i;c[b+7952>>2]=i;c[b+8644>>2]=i;c[b+9336>>2]=i;c[b+10028>>2]=i;c[b+10720>>2]=i;c[b+11412>>2]=i;c[b+1320>>2]=i;i=i+v|0;c[b+6572>>2]=i;c[b+7264>>2]=i;c[b+7956>>2]=i;c[b+8648>>2]=i;c[b+9340>>2]=i;c[b+10032>>2]=i;c[b+10724>>2]=i;c[b+11416>>2]=i;c[b+1324>>2]=i;i=i+s|0;c[b+6576>>2]=i;c[b+7268>>2]=i;c[b+7960>>2]=i;c[b+8652>>2]=i;c[b+9344>>2]=i;c[b+10036>>2]=i;c[b+10728>>2]=i;c[b+11420>>2]=i;c[b+1328>>2]=i;i=i+e|0;c[b+6580>>2]=i;c[b+7272>>2]=i;c[b+7964>>2]=i;c[b+8656>>2]=i;c[b+9348>>2]=i;c[b+10040>>2]=i;c[b+10732>>2]=i;c[b+11424>>2]=i;c[b+1332>>2]=i;i=i+s|0;c[b+6584>>2]=i;c[b+7276>>2]=i;c[b+7968>>2]=i;c[b+8660>>2]=i;c[b+9352>>2]=i;c[b+10044>>2]=i;c[b+10736>>2]=i;c[b+11428>>2]=i;c[b+1336>>2]=i;i=i+e|0;c[b+6588>>2]=i;c[b+7280>>2]=i;c[b+7972>>2]=i;c[b+8664>>2]=i;c[b+9356>>2]=i;c[b+10048>>2]=i;c[b+10740>>2]=i;c[b+11432>>2]=i;c[b+1340>>2]=i;i=i+t|0;c[b+6592>>2]=i;c[b+7284>>2]=i;c[b+7976>>2]=i;c[b+8668>>2]=i;c[b+9360>>2]=i;c[b+10052>>2]=i;c[b+10744>>2]=i;c[b+11436>>2]=i;c[b+1344>>2]=i;i=i+k|0;c[b+6600>>2]=i;c[b+7292>>2]=i;c[b+7984>>2]=i;c[b+8676>>2]=i;c[b+9368>>2]=i;c[b+10060>>2]=i;c[b+10752>>2]=i;c[b+11444>>2]=i;c[b+1352>>2]=i;i=i+s|0;c[b+6608>>2]=i;c[b+7300>>2]=i;c[b+7992>>2]=i;c[b+8684>>2]=i;c[b+9376>>2]=i;c[b+10068>>2]=i;c[b+10760>>2]=i;c[b+11452>>2]=i;c[b+1360>>2]=i;i=((r((m|0)/4|0,n+16|0)|0)/8|0)<<1;f=((r(l,(o|0)/4|0)|0)/8|0)<<1;g=(r(t+1|0,s)|0)/8|0;l=r(w,v)|0;h=(l|0)/64|0;d=g+h+i+f+j|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;d=0-(g+(h+(i+f)))|0;c[b+6284>>2]=e;c[b+6400>>2]=e;m=e+i|0;c[b+6288>>2]=m;c[b+6404>>2]=m;m=m+f|0;c[b+6296>>2]=m;c[b+6412>>2]=m;m=m+h|0;c[b+6292>>2]=m;c[b+6408>>2]=m;m=m+g+d|0;c[b+6976>>2]=m;c[b+7092>>2]=m;m=m+i|0;c[b+6980>>2]=m;c[b+7096>>2]=m;m=m+f|0;c[b+6988>>2]=m;c[b+7104>>2]=m;m=m+h|0;c[b+6984>>2]=m;c[b+7100>>2]=m;m=m+g+d|0;c[b+7668>>2]=m;c[b+7784>>2]=m;m=m+i|0;c[b+7672>>2]=m;c[b+7788>>2]=m;m=m+f|0;c[b+7680>>2]=m;c[b+7796>>2]=m;m=m+h|0;c[b+7676>>2]=m;c[b+7792>>2]=m;m=m+g+d|0;c[b+8360>>2]=m;c[b+8476>>2]=m;m=m+i|0;c[b+8364>>2]=m;c[b+8480>>2]=m;m=m+f|0;c[b+8372>>2]=m;c[b+8488>>2]=m;m=m+h|0;c[b+8368>>2]=m;c[b+8484>>2]=m;m=m+g+d|0;c[b+9052>>2]=m;c[b+9168>>2]=m;m=m+i|0;c[b+9056>>2]=m;c[b+9172>>2]=m;m=m+f|0;c[b+9064>>2]=m;c[b+9180>>2]=m;m=m+h|0;c[b+9060>>2]=m;c[b+9176>>2]=m;m=m+g+d|0;c[b+9744>>2]=m;c[b+9860>>2]=m;m=m+i|0;c[b+9748>>2]=m;c[b+9864>>2]=m;m=m+f|0;c[b+9756>>2]=m;c[b+9872>>2]=m;m=m+h|0;c[b+9752>>2]=m;c[b+9868>>2]=m;m=m+g+d|0;c[b+10436>>2]=m;c[b+10552>>2]=m;m=m+i|0;c[b+10440>>2]=m;c[b+10556>>2]=m;m=m+f|0;c[b+10448>>2]=m;c[b+10564>>2]=m;m=m+h|0;c[b+10444>>2]=m;c[b+10560>>2]=m;m=m+g+d|0;c[b+11128>>2]=m;c[b+11244>>2]=m;n=m+i|0;c[b+11132>>2]=n;c[b+11248>>2]=n;o=n+f|0;c[b+11140>>2]=o;c[b+11256>>2]=o;e=o+h|0;c[b+11136>>2]=e;c[b+11252>>2]=e;d=e+g+d|0;c[b+1152>>2]=m;c[b+1156>>2]=n;c[b+1164>>2]=o;c[b+1160>>2]=e;c[b+1036>>2]=d;d=d+i|0;c[b+1040>>2]=d;d=d+f|0;c[b+1048>>2]=d;c[b+1044>>2]=d+h;d=r(k,s+2|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+11612>>2]=e;d=e+(t<<1)|0;c[b+6632>>2]=d;c[b+7324>>2]=d;c[b+8016>>2]=d;c[b+8708>>2]=d;c[b+9400>>2]=d;c[b+10092>>2]=d;c[b+10784>>2]=d;c[b+11476>>2]=d;d=u*12|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+1444>>2]=e;c[b+1296>>2]=e;d=e;c[b+6544>>2]=d;c[b+7236>>2]=d;c[b+7928>>2]=d;c[b+8620>>2]=d;c[b+9312>>2]=d;c[b+10004>>2]=d;c[b+10696>>2]=d;c[b+11388>>2]=d;d=b+176|0;c[d>>2]=0;do if((l|0)>1048576){e=Yb[c[y>>2]&15](x,128,l|16)|0;if(!e){b=1;return b|0}else{c[d>>2]=e;c[b+188>>2]=l;break}}while(0);d=Fg(l)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}xl(e|0,0,d|0)|0;c[b+192>>2]=e;e=c[b+636>>2]|0;d=c[b+11596>>2]|0;d=(a[(a[e+(d*8976|0)+14>>0]|0)+-1+(e+(d*8976|0)+25)>>0]|0)+1|0;d=r(d,(Gg(l)|0)+40980|0)|0;e=Yb[c[y>>2]&15](x,128,d)|0;if(!e){b=1;return b|0}c[b+236>>2]=e;c[b+240>>2]=d;do if(!(c[b+56>>2]|0)){e=Hg(b,v,w)|0;d=Yb[c[y>>2]&15](x,128,e)|0;if(!d){b=1;return b|0}else{c[b+256>>2]=e;c[b+11628>>2]=d;break}}while(0);d=Ig(c[q>>2]|0,c[p>>2]|0)|0;c[b+11556>>2]=d;e=d;if(!d){b=1;return b|0}c[b+656>>2]=d;c[b+6092>>2]=e;c[b+6100>>2]=0;c[b+5956>>2]=b;c[b+6104>>2]=0;c[b+6108>>2]=0;c[b+6784>>2]=e;c[b+6792>>2]=1;c[b+6648>>2]=b;c[b+6796>>2]=0;c[b+6800>>2]=0;c[b+7476>>2]=e;c[b+7484>>2]=2;c[b+7340>>2]=b;c[b+7488>>2]=0;c[b+7492>>2]=0;c[b+8168>>2]=e;c[b+8176>>2]=3;c[b+8032>>2]=b;c[b+8180>>2]=0;c[b+8184>>2]=0;c[b+8860>>2]=e;c[b+8868>>2]=4;c[b+8724>>2]=b;c[b+8872>>2]=0;c[b+8876>>2]=0;c[b+9552>>2]=e;c[b+9560>>2]=5;c[b+9416>>2]=b;c[b+9564>>2]=0;c[b+9568>>2]=0;c[b+10244>>2]=e;c[b+10252>>2]=6;c[b+10108>>2]=b;c[b+10256>>2]=0;c[b+10260>>2]=0;c[b+10936>>2]=e;c[b+10944>>2]=7;c[b+10800>>2]=b;c[b+10948>>2]=0;c[b+10952>>2]=0;c[b+11632>>2]=1;b=0;return b|0}function Eg(){return (fg()|0)+24|0}function Fg(a){a=a|0;var b=0;b=(a|0)/16|0;return b+4+(((a|0)/256|0)<<2)+(((b>>1)+b|0)*42|0)|0}function Gg(a){a=a|0;var b=0;b=(a|0)/16|0;a=(a|0)/256|0;return b+4+(a<<2)+(b<<4)+((a<<1)+3&-4)|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[b+636>>2]|0;i=c[b+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;f=a[h+(i*8976|0)+25+g>>0]|0;if((c[b+11636>>2]|0)!=1)f=(a[h+(i*8976|0)+32+g>>0]|0)+f|0;return r(f+1|0,(r((d*3|0)+480|0,e+160|0)|0)/2|0)|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+24|0;d=a+16|0;c[d>>2]=e;e=e+(fg()|0)|0;b=b+-24-(fg()|0)|0;if((b|0)<1){e=0;return e|0}ig(c[d>>2]|0)|0;c[a>>2]=e;c[a+4>>2]=e;c[a+8>>2]=e;c[a+12>>2]=e+b;c[a+20>>2]=0;e=a;return e|0}function Jg(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=c[a+8>>2]|0;a=m+52|0;c[a>>2]=0;a:do if(c[m+56>>2]|0){l=c[b+8>>2]|0;l=l>>>0<64?l:64;c[a>>2]=l;e=c[m+248>>2]|0;k=m+60|0;do if((c[k>>2]|0)==1){a=r(l<<1,c[b+276>>2]|0)|0;a=Yb[c[m+11616>>2]&15](c[m+11624>>2]|0,128,a)|0;if(!a){d=1;return d|0}else{c[m+260>>2]=a;break}}else a=0;while(0);if((l|0)>0){j=b+12|0;g=b+276|0;h=m+244|0;i=m+45340|0;f=0;while(1){c[e>>2]=c[j+(f*516|0)+4>>2];if((c[k>>2]|0)==1){b=a;a=a+(c[g>>2]<<1)|0}else b=c[j+(f*516|0)+8>>2]|0;c[e+4>>2]=b;if(de(c[h>>2]|0,e,f)|0)break;he(c[h>>2]|0,f,4)|0;vl(m+12316+((c[i>>2]|0)*516|0)|0,j+(f*516|0)|0,516)|0;c[i>>2]=(c[i>>2]|0)+1;f=f+1|0;if(f>>>0>=l>>>0)break a;else e=e+8476|0}c[m+144>>2]=983;d=983;return d|0}}while(0);c[d+4>>2]=0;d=0;return d|0}function Kg(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;c[e+4>>2]=0;m=c[b+8>>2]|0;c[e+36>>2]=1;n=c[m+60>>2]|0;switch(n|0){case 1:{b=3;o=6;break}case 5:{b=1;o=6;break}case 9:{b=1;o=6;break}case 13:{b=1;o=6;break}case 12:case 11:{b=2;o=6;break}default:{}}if((o|0)==6)c[e+40>>2]=b;k=e+8|0;c[k>>2]=1;l=m+4|0;i=r((c[l>>2]|0)+63&-64,(c[m>>2]|0)+63&-64)|0;c[e+44>>2]=(i|0)>1048576?i:1048576;i=c[l>>2]|0;b=c[m+56>>2]|0;do if(!(c[m+112>>2]|0)){d=c[m>>2]|0;j=c[m+16>>2]|0;d=(j|0)>(d|0)?j:d;if(!b){j=i;i=1}else{c[k>>2]=32;j=i;i=32}}else{if(!b){d=c[m+8>>2]|0;i=c[m+16>>2]|0;j=c[m+12>>2]|0;d=(i|0)>(d|0)?i:d;i=1;break}d=c[m+16>>2]|0;g=c[m+636>>2]|0;h=c[m+11596>>2]|0;f=(a[g+(h*8976|0)+14>>0]|0)+-1|0;if((c[m+11636>>2]|0)==1)b=1;else b=(a[g+(h*8976|0)+32+f>>0]|0)+1|0;h=b+(a[g+(h*8976|0)+25+f>>0]|0)|0;c[k>>2]=h;j=i+160|0;i=h>>>0<32?h:32}while(0);c[k>>2]=i;switch(n|0){case 1:{g=r(d,j)|0;c[e+300>>2]=g;g=g>>2;b=g;f=308;h=304;o=21;break}case 5:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 9:{c[e+300>>2]=(r(d,j)|0)<<1;b=0;f=304;g=0;h=308;o=21;break}case 13:{c[e+300>>2]=(r(d,j)|0)<<2;b=0;f=304;g=0;h=308;o=21;break}case 12:case 11:{g=r(d,j)|0;c[e+300>>2]=g;b=0;f=308;g=g>>1;h=304;o=21;break}default:{}}if((o|0)==21){c[e+h>>2]=g;c[e+f>>2]=b}c[e+12>>2]=j;c[e+16>>2]=d;c[e+20>>2]=3e4;c[e+24>>2]=1e6;c[e+28>>2]=0;c[e+32>>2]=n;c[m+52>>2]=i;if((c[e>>2]|0)!=564)return 0;c[e+560>>2]=c[l>>2];return 0}function Lg(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;c[e+4>>2]=0;l=c[b+8>>2]|0;g=e+12|0;c[g>>2]=1;k=c[l+60>>2]|0;switch(k|0){case 1:{b=3;f=6;break}case 5:{b=1;f=6;break}case 9:{b=1;f=6;break}case 13:{b=1;f=6;break}case 12:case 11:{b=2;f=6;break}default:{}}if((f|0)==6)c[e+16>>2]=b;j=e+8|0;c[j>>2]=1;d=l+4|0;f=e+20|0;b=0;do{i=r((c[d>>2]|0)+63&-64,(c[l>>2]|0)+63&-64)|0;c[f+(b<<2)>>2]=(i|0)>1048576?i:1048576;b=b+1|0}while(b>>>0<(c[g>>2]|0)>>>0);b=c[l+56>>2]|0;do if(!(c[l+112>>2]|0)){d=(b|0)==1?160:0;f=c[l+16>>2]|0;f=(f|0)>(d|0)?f:d;if(!b){b=f;h=1}else{c[j>>2]=32;b=f;h=32}}else{if(!b){b=c[l+8>>2]|0;h=c[l+16>>2]|0;d=c[l+12>>2]|0;b=(h|0)>(b|0)?h:b;h=1;break}b=c[l+16>>2]|0;d=(c[l+4>>2]|0)+160|0;h=c[l+636>>2]|0;i=c[l+11596>>2]|0;g=(a[h+(i*8976|0)+14>>0]|0)+-1|0;if((c[l+11636>>2]|0)==1)f=1;else f=(a[h+(i*8976|0)+32+g>>0]|0)+1|0;h=f+(a[h+(i*8976|0)+25+g>>0]|0)|0;c[j>>2]=h;h=h>>>0<32?h:32}while(0);c[j>>2]=h;switch(k|0){case 1:{f=r(d,b)|0;c[e+276>>2]=f;f=f>>2;b=f;d=284;g=280;break}case 5:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 9:{c[e+276>>2]=(r(d,b)|0)<<1;b=0;d=280;f=0;g=284;break}case 13:{c[e+276>>2]=(r(d,b)|0)<<2;b=0;d=280;f=0;g=284;break}case 12:case 11:{f=r(d,b)|0;c[e+276>>2]=f;b=0;d=284;f=f>>1;g=280;break}default:{e=l+52|0;c[e>>2]=h;return 0}}c[e+g>>2]=f;c[e+d>>2]=b;e=l+52|0;c[e>>2]=h;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,k=0,l=0,m=0,n=0,o=0,p=0;o=c[a+8>>2]|0;do if(!(c[o+112>>2]|0)){n=c[o+56>>2]|0;a=(n|0)==0?0:160;f=c[o+20>>2]|0;f=(f|0)>(a|0)?f:a;if(!n){b=0;e=0;h=6}else{b=0;e=0;n=80}}else{f=c[o+8>>2]|0;b=c[o+12>>2]|0;g=c[o+20>>2]|0;if(!(c[o+56>>2]|0)){a=b;e=f;f=(g|0)>(f|0)?g:f;h=6;break}else{m=c[o+20>>2]|0;a=(c[o+4>>2]|0)+160|0;e=f;n=80;f=(m|0)>(g|0)?m:g;break}}while(0);if((h|0)==6)n=0;c[d+32>>2]=e;c[d+44>>2]=b;c[d+56>>2]=f;c[d+68>>2]=a;c[d+8>>2]=n;c[d+20>>2]=n;k=e+1|0;p=k>>>1;l=d+40|0;c[l>>2]=p;m=d+36|0;c[m>>2]=p;p=(b+1|0)>>>1;h=d+52|0;c[h>>2]=p;c[d+48>>2]=p;p=f>>>1;i=d+64|0;c[i>>2]=p;j=d+60|0;c[j>>2]=p;p=a>>>1;a=d+76|0;c[a>>2]=p;c[d+72>>2]=p;p=n>>>1;b=d+16|0;c[b>>2]=p;e=d+12|0;c[e>>2]=p;g=d+28|0;c[g>>2]=p;c[d+24>>2]=p;if(((c[o+60>>2]|0)+-11|0)>>>0>=2)return 0;c[l>>2]=0;c[h>>2]=0;c[i>>2]=0;c[a>>2]=0;c[b>>2]=0;c[g>>2]=0;c[m>>2]=k&-2;c[j>>2]=f&-2;c[e>>2]=n;return 0}function Ng(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d+8>>2]|0;if(!(c[g+112>>2]|0)){c[f+4>>2]=991;f=1;return f|0}d=c[g+360>>2]|0;if(!((a[d+8972>>0]|0)!=0?(a[d+162>>0]|0)!=0:0))h=5;a:do if((h|0)==5){e=0;d=c[g+296>>2]|0;while(1){if(a[d+8972>>0]|0?a[d+162>>0]|0:0)break a;e=e+1|0;if((e|0)==16)break;d=d+8976|0}c[f+4>>2]=991;f=1;return f|0}while(0);a[f+8>>0]=a[d+164>>0]|0;a[f+9>>0]=a[d+165>>0]|0;b[f+10>>1]=b[d+166>>1]|0;b[f+12>>1]=b[d+168>>1]|0;a[f+14>>0]=a[d+170>>0]|0;a[f+15>>0]=a[d+171>>0]|0;a[f+16>>0]=a[d+172>>0]|0;a[f+17>>0]=a[d+173>>0]|0;a[f+18>>0]=a[d+174>>0]|0;a[f+19>>0]=a[d+175>>0]|0;a[f+20>>0]=a[d+176>>0]|0;a[f+21>>0]=a[d+177>>0]|0;a[f+22>>0]=a[d+178>>0]|0;a[f+23>>0]=a[d+179>>0]|0;a[f+24>>0]=a[d+180>>0]|0;a[f+25>>0]=a[d+181>>0]|0;a[f+26>>0]=a[d+182>>0]|0;a[f+27>>0]=a[d+183>>0]|0;a[f+28>>0]=a[d+184>>0]|0;a[f+29>>0]=a[d+185>>0]|0;c[f+32>>2]=c[d+188>>2];c[f+36>>2]=c[d+192>>2];c[f+40>>2]=c[d+196>>2];c[f+44>>2]=c[d+200>>2];a[f+48>>0]=a[d+204>>0]|0;a[f+49>>0]=a[d+4088>>0]|0;c[f+52>>2]=c[d+4092>>2];c[f+56>>2]=c[d+4096>>2];a[f+60>>0]=a[d+4100>>0]|0;a[f+61>>0]=a[d+4101>>0]|0;a[f+62>>0]=a[d+4102>>0]|0;a[f+63>>0]=a[d+4103>>0]|0;a[f+64>>0]=a[d+4104>>0]|0;a[f+65>>0]=a[d+4105>>0]|0;a[f+66>>0]=c[d+4108>>2];a[f+67>>0]=a[d+4112>>0]|0;a[f+68>>0]=a[d+4113>>0]|0;a[f+69>>0]=a[d+4114>>0]|0;a[f+70>>0]=a[d+4115>>0]|0;a[f+71>>0]=a[d+208>>0]|0;c[f+72>>2]=c[d+212>>2];c[f+76>>2]=c[d+216>>2];a[f+80>>0]=a[d+220>>0]|0;a[f+81>>0]=a[d+221>>0]|0;a[f+82>>0]=a[d+222>>0]|0;a[f+83>>0]=a[d+223>>0]|0;a[f+84>>0]=a[d+224>>0]|0;a[f+85>>0]=a[d+225>>0]|0;a[f+86>>0]=a[d+226>>0]|0;a[f+87>>0]=a[d+227>>0]|0;a[f+88>>0]=c[d+228>>2];a[f+89>>0]=c[d+232>>2];a[f+90>>0]=c[d+236>>2];a[f+91>>0]=a[d+240>>0]|0;a[f+92>>0]=a[d+241>>0]|0;a[f+93>>0]=a[d+242>>0]|0;a[f+94>>0]=a[d+243>>0]|0;a[f+100>>0]=a[d+250>>0]|0;a[f+106>>0]=a[d+257>>0]|0;a[f+112>>0]=a[d+264>>0]|0;a[f+118>>0]=a[d+271>>0]|0;a[f+95>>0]=a[d+244>>0]|0;a[f+101>>0]=a[d+251>>0]|0;a[f+107>>0]=a[d+258>>0]|0;a[f+113>>0]=a[d+265>>0]|0;a[f+119>>0]=a[d+272>>0]|0;a[f+96>>0]=a[d+245>>0]|0;a[f+102>>0]=a[d+252>>0]|0;a[f+108>>0]=a[d+259>>0]|0;a[f+114>>0]=a[d+266>>0]|0;a[f+120>>0]=a[d+273>>0]|0;a[f+97>>0]=a[d+246>>0]|0;a[f+103>>0]=a[d+253>>0]|0;a[f+109>>0]=a[d+260>>0]|0;a[f+115>>0]=a[d+267>>0]|0;a[f+121>>0]=a[d+274>>0]|0;a[f+98>>0]=a[d+247>>0]|0;a[f+104>>0]=a[d+254>>0]|0;a[f+110>>0]=a[d+261>>0]|0;a[f+116>>0]=a[d+268>>0]|0;a[f+122>>0]=a[d+275>>0]|0;a[f+99>>0]=a[d+248>>0]|0;a[f+105>>0]=a[d+255>>0]|0;a[f+111>>0]=a[d+262>>0]|0;a[f+117>>0]=a[d+269>>0]|0;a[f+123>>0]=a[d+276>>0]|0;f=0;return f|0}function Og(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=c[d+8>>2]|0;if((c[j+120>>2]|0)!=1){e=f+4|0;c[e>>2]=c[e>>2]|16592;e=1;return e|0}do switch(c[e+8>>2]|0){case 0:{Kg(d,0,f)|0;e=0;return e|0}case 1:{i=f+4|0;c[i>>2]=0;d=c[e+20>>2]|0;c[j+68>>2]=d;a:do if((d|0)>=6)if((d|0)<2147483647)switch(d|0){case 6:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2147483647:{d=0;break a}default:{g=6;break a}}else switch(d|0){case 2:case 1:{d=0;break}default:g=6}while(0);if((g|0)==6){c[i>>2]=8192;d=1}f=j+16|0;h=c[j+56>>2]|0;g=c[e+16>>2]|0;do if((g|0)<(c[j+8>>2]|0)?(c[j+112>>2]|0)!=0:0)if(!g){g=c[f>>2]|0;break}else{c[i>>2]=8406;g=0;d=1;break}while(0);c[f>>2]=g;if((h|0)==1)c[j+20>>2]=g;g=c[e+12>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1;g=1}c[j+104>>2]=g;f=j+11636|0;c[f>>2]=0;g=c[e+24>>2]|0;if(g>>>0>=2){c[i>>2]=8192;d=1}c[f>>2]=g;e=d;return e|0}case 2:if(!j){c[f+4>>2]=208;e=0;return e|0}else{pg(j)|0;e=0;return e|0}case 3:{c[j+68>>2]=2147483647;c[j+20>>2]=0;c[j+16>>2]=0;c[j+104>>2]=0;c[j+72>>2]=0;c[f+4>>2]=0;e=0;return e|0}case 4:{c[j+100>>2]=1;c[f+4>>2]=0;c[j+136>>2]=0;c[j+140>>2]=0;e=0;return e|0}case 5:{Lg(d,0,f)|0;e=0;return e|0}case 6:{d=f+4|0;c[d>>2]=0;g=c[e+16>>2]|0;if((g|0)<1){c[d>>2]=217;e=0;return e|0}if(!(Pg(c[e+12>>2]|0,g)|0)){e=0;return e|0}c[d>>2]=217;e=0;return e|0}case 775:{c[j+44>>2]=c[e+20>>2];c[j+40>>2]=c[e+16>>2];c[j+36>>2]=c[e+12>>2];c[f+4>>2]=0;c[j+48>>2]=0;e=0;return e|0}case 7:{c[j+24>>2]=1;c[f+4>>2]=0;e=0;return e|0}case 263:{Mg(d,0,f)|0;e=0;return e|0}case 264:{e=Ng(d,0,f)|0;return e|0}case 265:{d=c[j+272>>2]|0;if(!d){c[f+4>>2]=992;e=1;return e|0}if(a[d+34>>0]|0?a[d+28>>0]|0:0){b[f+8>>1]=b[d+3640>>1]|0;b[f+14>>1]=b[d+3646>>1]|0;b[f+10>>1]=b[d+3642>>1]|0;b[f+16>>1]=b[d+3648>>1]|0;b[f+12>>1]=b[d+3644>>1]|0;b[f+18>>1]=b[d+3650>>1]|0;b[f+20>>1]=b[d+3652>>1]|0;b[f+22>>1]=b[d+3654>>1]|0;c[f+24>>2]=c[d+3656>>2];c[f+28>>2]=c[d+3660>>2];e=0;return e|0}c[f+4>>2]=992;e=1;return e|0}case 8:{c[j+12308>>2]=c[e+12>>2];g=j+12312|0;c[g>>2]=c[e+16>>2];sg(j);og(j);d=c[g>>2]|0;if((d+-1|0)>>>0<256){if(d&128|0)c[j+11604>>2]=1;d=d&127;c[g>>2]=d;if(d|0)c[j+11600>>2]=d}c[f+4>>2]=0;e=0;return e|0}default:{e=0;return e|0}}while(0);return 0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+544|0;e=f+512|0;d=f;c[e>>2]=82463;c[e+4>>2]=82471;c[e+8>>2]=82482;c[e+12>>2]=82488;c[e+16>>2]=82495;c[e+20>>2]=82507;Ij(d,511,82413,e)|0;e=(Gj(d,511)|0)+1|0;if(e>>>0>b>>>0){e=1;Sb=f;return e|0}vl(a|0,d|0,e|0)|0;e=0;Sb=f;return e|0}function Qg(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=Sb;Sb=Sb+16|0;j=m;a:do if((b|0)==0|(d|0)==0)e=1;else{k=b+4|0;e=c[k>>2]|0;l=d+4|0;c[l>>2]=0;b:do switch(e|0){case 6:case 8:case 9:case 11:case 10:case 7:{if(!a){c[l>>2]=8213;e=1;break a}if((c[a>>2]|0)!=12){c[l>>2]=8214;e=1;break a}if(!(c[a+8>>2]|0)){c[l>>2]=8215;e=1;break a}switch(e|0){case 7:{do switch(c[b+8>>2]|0){case 1:{if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}break}case 3:break;case 0:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}switch(c[d>>2]|0){case 556:case 564:break b;default:{}}c[l>>2]=8212;e=1;break a}case 5:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==532)break b;c[l>>2]=8212;e=1;break a}case 6:{if((c[b>>2]|0)!=20){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 4:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 2:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 775:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if(((c[b+12>>2]|0)>>>0<=4?(c[b+16>>2]|0)>=0:0)?(c[b+20>>2]|0)>>>0<=15:0)break b;c[l>>2]=8192;e=1;break a}case 263:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==80)break b;c[l>>2]=8212;e=1;break a}case 264:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==124)break b;c[l>>2]=8212;e=1;break a}case 265:{if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==32)break b;c[l>>2]=8212;e=1;break a}case 7:{if((c[b>>2]|0)!=16){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}if((c[b+12>>2]|0)==1)break b;c[l>>2]=8192;e=1;break a}case 8:{if((c[b>>2]|0)!=24){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}while(0);if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 9:{c[l>>2]=0;if((c[b>>2]|0)!=524){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==88)break b;c[l>>2]=8212;e=1;break a}case 10:{c[l>>2]=0;if((c[b>>2]|0)!=12){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}case 11:{c[l>>2]=0;if((c[b>>2]|0)!=33036){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=8){c[l>>2]=8212;e=1;break a}g=c[b+8>>2]|0;if(!g){c[l>>2]=8219;e=1;break a}h=b+12|0;f=0;c:while(1){i=c[h+(f*516|0)>>2]|0;if(!i){e=33;break}if((i|0)>0){e=0;do{if(!(c[h+(f*516|0)+4+(e<<2)>>2]|0)){e=38;break c}if(!(c[h+(f*516|0)+260+(e<<2)>>2]|0)){e=40;break c}e=e+1|0}while((e|0)<(i|0))}f=f+1|0;if(f>>>0>=g>>>0)break b}if((e|0)==33){c[l>>2]=8219;e=1;break a}else if((e|0)==38){c[l>>2]=8220;e=1;break a}else if((e|0)==40){c[l>>2]=8221;e=1;break a}break}case 8:{c[l>>2]=0;switch(c[b>>2]|0){case 20:case 536:break;default:{c[l>>2]=8211;e=1;break a}}switch(c[d>>2]|0){case 32:case 112:break b;default:{}}c[l>>2]=8212;e=1;break a}case 6:{c[l>>2]=0;if((c[b>>2]|0)!=8){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)==8)break b;c[l>>2]=8212;e=1;break a}default:{c[l>>2]=8217;e=1;break a}}break}case 5:{c[l>>2]=0;if((c[b>>2]|0)!=28){c[l>>2]=8211;e=1;break a}if((c[d>>2]|0)!=12){c[l>>2]=8212;e=1;break a}switch(c[b+8>>2]|0){case 12:case 11:case 9:case 5:case 1:break b;default:{}}c[l>>2]=8203;e=1;break a}default:{c[l>>2]=8216;e=1;break a}}while(0);switch(c[k>>2]|0){case 9:{e=0;break a}case 5:{c[l>>2]=0;c[j>>2]=0;k=(Bg(j,b,d)|0)==1;e=c[j>>2]|0;if(k){do if(e|0)if(!(c[e+8>>2]|0)){ac[c[b+20>>2]&31](c[b+24>>2]|0,e);break}else{Cg(e)|0;break}while(0);c[l>>2]=16384;e=1}else{pg(c[e+8>>2]|0)|0;e=0}break a}case 6:{e=c[a+8>>2]|0;c[l>>2]=0;qg(e)|0;Cg(a)|0;e=0;break a}case 8:{e=Rg(a,b,d)|0;break a}case 11:{e=Jg(a,b,d)|0;break a}case 10:{e=c[a+8>>2]|0;if(!(c[e+56>>2]|0)){e=0;break a}ge(c[e+244>>2]|0,c[b+8>>2]|0,4)|0;e=0;break a}case 7:{e=Og(a,b,d)|0;break a}default:{e=1;break a}}}while(0);Sb=m;return e|0}function Rg(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,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+32|0;N=R+8|0;K=R;Q=c[d+8>>2]|0;H=Q+144|0;c[H>>2]=0;d=c[f>>2]|0;g=f+4|0;h=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f>>2]=d;if((c[Q+120>>2]|0)!=1){c[f+4>>2]=16592;f=1;Sb=R;return f|0}P=Q+136|0;if((c[P>>2]|0)>>>0>2147483646){c[f+4>>2]=17374;f=1;Sb=R;return f|0}m=Q+132|0;d=Q+100|0;if(!(c[m>>2]|0))if(!(c[d>>2]|0)){if(!(c[e+16>>2]|0)){c[f+4>>2]=8222;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;if(d>>>0<5){c[f+8>>2]=d;c[f+4>>2]=8231;f=1;Sb=R;return f|0}else k=1}else k=0;else{c[d>>2]=1;k=0}O=Q+56|0;j=c[O>>2]|0;a:do if((j|0)==0?(c[Q+104>>2]|0)==0:0){g=c[e+20>>2]|0;if((g+-1|0)>>>0>63){c[f+4>>2]=8219;f=1;Sb=R;return f|0}h=e+24|0;i=e+280|0;d=0;while(1){if(!(c[h+(d<<2)>>2]|0)){i=19;break}if(!(c[i+(d<<2)>>2]|0)){i=21;break}d=d+1|0;if(d>>>0>=g>>>0)break a}if((i|0)==19){c[f+4>>2]=8220;f=1;Sb=R;return f|0}else if((i|0)==21){c[f+4>>2]=8221;f=1;Sb=R;return f|0}}while(0);c[Q+11584>>2]=e+20;c[Q+288>>2]=c[e+8>>2];if(!k){c[f+12>>2]=c[Q+8>>2];h=Q+12|0;c[f+16>>2]=c[h>>2];c[f+28>>2]=0;i=Q+268|0;P=Ie(c[Q+264>>2]|0,i)|0;j=Q+272|0;c[j>>2]=P;do if(P|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;d=Q+5956|0;if(!(c[Q+6232>>2]|0))Sg(d,0);g=Tg(Q)|0;if(!g){Ug(Q,d,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,0,c[h>>2]|0)|0;ge(c[Q+244>>2]|0,c[i>>2]|0,4)|0;break}else{f=g;Sb=R;return f|0}}while(0);Vg(Q,e,f);if(c[j>>2]|0){f=0;Sb=R;return f|0}if(!(c[m>>2]|0)){f=1;Sb=R;return f|0}pg(Q)|0;f=1;Sb=R;return f|0}if(((j|0)==1&(c[Q+104>>2]|0)==0?(l=c[Q+244>>2]|0,l|0):0)?(fe(l)|0)==0:0){c[f+4>>2]=8232;f=1;Sb=R;return f|0}d=c[e+12>>2]|0;C=Q+164|0;c[C>>2]=d;D=Q+148|0;c[D>>2]=c[e+16>>2];E=Q+980|0;c[E>>2]=0;F=Q+84|0;c[F>>2]=0;G=Q+128|0;c[G>>2]=0;L=Q+272|0;c[L>>2]=0;M=Q+24|0;if((c[M>>2]|0)>1)d=c[C>>2]|0;b:do if((d|0)>4){j=Q+176|0;k=Q+644|0;l=Q+344|0;m=Q+360|0;n=Q+984|0;o=Q+172|0;p=Q+168|0;q=Q+184|0;s=Q+180|0;t=Q+152|0;u=Q+188|0;v=Q+160|0;w=Q+156|0;x=Q+376|0;y=Q+108|0;z=Q+11632|0;A=Q+112|0;B=f+4|0;h=d;c:while(1){if(c[G>>2]|0?(g=c[k>>2]|0,i=c[l>>2]&255,i=(r(b[(c[m>>2]|0)+4118>>1]|0,b[g+(i*1272|0)+874>>1]|0)|0)+(b[g+(i*1272|0)+872>>1]|0)|0,(c[n>>2]|0)==(i|0)):0)c[G>>2]=0;d=c[j>>2]|0;if(!d){d=c[o>>2]|0;c[p>>2]=d;g=c[q>>2]|0;c[s>>2]=g}else{c[p>>2]=d;g=c[u>>2]|0;c[s>>2]=g}c[t>>2]=0;Wg(c[D>>2]|0,d,h>>>0<g>>>0?h:g,N,K)|0;d=c[K>>2]|0;if((d|0)<((c[s>>2]|0)+-8|0)){i=(c[p>>2]|0)+d|0;h=i;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;i=i+4|0;a[i>>0]=0;a[i+1>>0]=0;a[i+2>>0]=0;a[i+3>>0]=0}i=c[N>>2]|0;c[v>>2]=i-d;c[w>>2]=i;Xg(x,c[p>>2]|0,d);d=Yg(Q)|0;do if((c[F>>2]|0)!=0?(I=c[m>>2]|0,(c[n>>2]|0)!=(c[I+4128>>2]|0)):0){if(((c[C>>2]|0)-(c[N>>2]|0)|0)>=5?(c[y>>2]|0)==0:0){i=54;break}i=c[l>>2]|0;i=(i|0)<1?0:i+-1|0;c[l>>2]=i;h=c[k>>2]|0;i=i+1&255;b[h+(i*1272|0)+872>>1]=0;b[h+(i*1272|0)+874>>1]=b[I+4120>>1]|0;c[G>>2]=1;i=69}else i=54;while(0);d:do if((i|0)==54){i=0;switch(d|0){case 42:break c;case 986:{i=65;break c}case 987:{d=c[N>>2]|0;c[D>>2]=(c[D>>2]|0)+d;c[C>>2]=(c[C>>2]|0)-d;d=987;i=69;break d}default:{}}if(c[G>>2]|0){h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;if((g|0)<5)i=59}else{h=c[N>>2]|0;g=(c[C>>2]|0)-h|0;i=59}if((i|0)==59){i=0;c[D>>2]=(c[D>>2]|0)+h;c[C>>2]=g}if(d|0)break c;if(c[E>>2]|0){d=0;break c}do if(!(c[z>>2]|0)){if(!(c[A>>2]|0))break;if(Dg(Q)|0){i=112;break c}}while(0);d=0}while(0);h=c[C>>2]|0;if((h|0)<=4){i=d;break b}}if((i|0)==65)d=0;else if((i|0)==112){qg(Q)|0;c[H>>2]=43;c[B>>2]=c[B>>2]|16427;f=1;Sb=R;return f|0}i=d}else i=0;while(0);if((c[F>>2]|0)!=1){P=i;Vg(Q,e,f);Sb=R;return P|0}if(!(c[E>>2]|0)){c[G>>2]=1;I=Q+344|0;K=c[I>>2]|0;K=(K|0)<1?0:K+-1|0;c[I>>2]=K;I=c[Q+644>>2]|0;K=K+1&255;b[I+(K*1272|0)+872>>1]=-1;b[I+(K*1272|0)+874>>1]=-1;Zg(Q)|0;if(!(c[E>>2]|0))J(82516,82557,731,82581);if((c[F>>2]|0)!=1){P=i;Vg(Q,e,f);Sb=R;return P|0}}w=Q+360|0;g=c[w>>2]|0;c[Q+124>>2]=1;d=c[M>>2]|0;do if((d|0)<=1){if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;g=Q+5956|0;h=Q+11576|0;d=(c[Q+12>>2]|0)-(c[h>>2]|0)|0;i=Q+11580|0;c[i>>2]=d;if(!(c[Q+6232>>2]|0)){Sg(g,0);d=c[i>>2]|0}if((d|0)<0){c[i>>2]=0;d=0}N=Ug(Q,g,c[e+24>>2]|0,c[e+28>>2]|0,c[e+32>>2]|0,c[h>>2]|0,d)|0;c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);i=N}}else{d=d+-1|0;e:do if(c[L>>2]|0){if(c[O>>2]|0?(c[Q+60>>2]|0)!=1:0)break;if(c[Q+11604>>2]|0?(c[Q+268>>2]|0)!=(c[Q+5956+(d*692|0)+228>>2]|0):0)break;h=g+4120|0;if((b[h>>1]|0)>0){i=N+8|0;j=N+4|0;k=N+6|0;l=N+10|0;m=N+12|0;n=Q+656|0;g=0;while(1){c[N>>2]=1;b[i>>1]=0;b[j>>1]=0;b[k>>1]=g;b[l>>1]=0;c[m>>2]=0;d=_g(c[n>>2]|0,N,16,1)|0;g=g+1|0;if(d|0)break;if((g|0)>=(b[h>>1]|0))break e}Sb=R;return d|0}}while(0);i=$g(c[Q+656>>2]|0)|0;d=(c[M>>2]|0)+-1|0;f:do if(!(ah(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)){m=N+8|0;n=N+4|0;o=N+6|0;p=N+10|0;q=N+12|0;s=Q+12|0;t=e+24|0;u=e+28|0;v=e+32|0;while(1){k=Q+5956+(d*692|0)|0;c[Q+5956+(d*692|0)+140>>2]=b[m>>1];c[Q+5956+(d*692|0)+4>>2]=b[n>>1];g=b[o>>1]|0;c[Q+5956+(d*692|0)+8>>2]=g;c[Q+5956+(d*692|0)+32>>2]=b[p>>1];switch(c[N>>2]|0){case 0:{Sg(k,c[q>>2]|0);bh(k)|0;break}case 1:{h=(c[w>>2]|0)+4116|0;j=a[h>>0]|0;l=1<<j;if(!(c[Q+5956+(d*692|0)+276>>2]|0)){Sg(k,0);g=b[o>>1]|0;d=a[h>>0]|0}else d=j;I=g<<d;K=(c[s>>2]|0)-I|0;K=(l|0)<(K|0)?l:K;Ug(Q,k,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,I,(K|0)>0?K:0)|0;break}default:{}}d=(c[M>>2]|0)+-1|0;if(ah(c[Q+5956+(d*692|0)+136>>2]|0,N,16,1)|0)break f}}while(0)}while(0);he(c[Q+224>>2]|0,c[Q+6080>>2]|0,2)|0;d=Q+244|0;N=Q+6184|0;he(c[d>>2]|0,c[N>>2]|0,2)|0;he(c[d>>2]|0,c[N>>2]|0,4)|0;Ke(c[Q+276>>2]|0,c[Q+6180>>2]|0,c[N>>2]|0)|0;if((c[O>>2]|0)==0?c[L>>2]|0:0)ge(c[d>>2]|0,c[Q+268>>2]|0,4)|0;d=c[M>>2]|0;if((d|0)>1){h=0;do{g=Q+11524+(h<<2)|0;if(c[g>>2]|0){hg(c[Q+11492+(h<<2)>>2]|0,0)|0;c[g>>2]=0;d=c[M>>2]|0}h=h+1|0}while((h|0)<(d+-1|0))}c[P>>2]=(c[P>>2]|0)+1;P=i;Vg(Q,e,f);Sb=R;return P|0}function Sg(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;A=c[f>>2]|0;w=c[A+304>>2]|0;y=c[f+32>>2]&255;c[f+48>>2]=w+(y*1272|0);v=c[A+300>>2]|0;x=a[w+(y*1272|0)+73>>0]|0;j=v+(x*68|0)|0;c[f+40>>2]=j;C=c[A+296>>2]|0;n=a[v+(x*68|0)+9>>0]|0;D=C+(n*8976|0)|0;c[f+44>>2]=D;c[f+276>>2]=1;z=C+(n*8976|0)+4116|0;B=(1<<a[z>>0]|0)/4|0;B=r(B,B)|0;n=C+(n*8976|0)+4118|0;C=b[n>>1]|0;c[f+660>>2]=c[f+672>>2];l=f+4|0;s=f+8|0;t=f+12|0;u=f+16|0;vh(j,D,c[l>>2]|0,c[s>>2]|0,t,u,E)|0;D=c[v+(x*68|0)+4>>2]|0;E=c[E>>2]|0;j=D+(E*6|0)|0;c[f+28>>2]=j;c[f+36>>2]=E;if(!(a[v+(x*68|0)+27>>0]|0)){j=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;l=h-(b[w+(y*1272|0)+1262>>1]|0)|0;m=f+20|0;c[m>>2]=l;i=c[s>>2]|0;j=i-j|0;k=f+24|0;c[k>>2]=j;if((l|0)<0){c[m>>2]=l+(b[n>>1]|0);c[k>>2]=j+-1}}else{k=b[w+(y*1272|0)+872>>1]|0;o=b[w+(y*1272|0)+874>>1]|0;i=b[n>>1]|0;p=(r(i,o)|0)+k|0;x=d[j>>0]|0;v=d[D+(E*6|0)+1>>0]|0;q=(r(v,i)|0)+x|0;h=(k|0)!=(x|0);do if(h|(o|0)==(v|0)){o=(e[((E|0)==0?j:j+-6|0)+2>>1]|0)+k|0;if((o|0)>=(i|0)?((o|0)%(i|0)|0|0)==(x|0):0){m=0;break}m=h&1}else m=1;while(0);o=b[w+(y*1272|0)+1262>>1]|0;n=b[w+(y*1272|0)+1264>>1]|0;h=c[l>>2]|0;do if((h|0)<(o|0)){j=(m|0)!=0;if(!((p|0)<(q|0)&j))i=e[D+(E*6|0)+2>>1]|0;if(j){i=h-o+i|0;break}else{i=h-x|0;break}}else i=h-o|0;while(0);c[f+20>>2]=i;i=c[s>>2]|0;j=i-n|0;k=f+24|0;c[k>>2]=j;do if((c[t>>2]|0)==0?(c[u>>2]|0)==0:0){if(a[w+(y*1272|0)+75>>0]|0){c[f+20>>2]=0;c[k>>2]=0;j=0;break}if((p|0)<(q|0)){j=v-n|0;c[k>>2]=j;if((o|0)>(x|0)&((v|0)>=(n|0)&(m|0)!=0)){j=j+-1|0;c[k>>2]=j}}}while(0);if(((o|0)!=(x|0)?!((o|0)<(x|0)|(j|0)==0):0)?((e[D+(E*6|0)+2>>1]|0)+x|0)>(o|0):0)c[k>>2]=j+-1}y=(r(i,C)|0)+h|0;C=(1<<a[z>>0]|0)/4|0;c[f+72>>2]=(c[f+88>>2]|0)+(r(r(C,y)|0,C)|0);c[f+68>>2]=(c[f+116>>2]|0)+(c[(c[f+80>>2]|0)+(((c[A+24>>2]|0)==1?(y|0)%142560|0:y)<<2)>>2]<<2);c[f+64>>2]=(c[f+60>>2]|0)+g;C=c[(c[f+84>>2]|0)+(y<<2)>>2]|0;c[f+120>>2]=(c[f+92>>2]|0)+(r(B,y)|0);c[f+76>>2]=(c[f+96>>2]|0)+(C<<4);C=c[A+11600>>2]|0;E=e[D+(E*6|0)+2>>1]|0;c[f+688>>2]=C>>>0<E>>>0?C:E;Sb=F;return}function Tg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+256|0;g=i;h=c[a+11584>>2]|0;if(c[a+56>>2]|0){h=0;Sb=i;return h|0}e=c[a+8>>2]|0;d=c[a+12>>2]|0;b=c[a+16>>2]|0;e=(b|0)>(e|0)?b:e;b=c[a+60>>2]|0;switch(b|0){case 1:{a=3;f=5;break}case 5:{a=1;f=6;break}case 9:{a=1;f=7;break}case 13:{a=1;f=8;break}case 12:case 11:{a=2;f=4;break}default:{a=0;f=4}}a:do if((f|0)==4){switch(b|0){case 1:{f=5;break a}case 5:{f=6;break a}case 9:{f=7;break a}case 13:{f=8;break a}case 12:case 11:break;default:{b=a;a=0;break a}}e=r(e,d)|0;c[g>>2]=e;c[g+4>>2]=e>>>1;c[g+8>>2]=0;b=a;a=e}while(0);if((f|0)==5){f=r(e,d)|0;c[g>>2]=f;b=f>>>2;c[g+4>>2]=b;c[g+8>>2]=b;b=a;a=f}else if((f|0)==6){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==7){f=(r(e,d)|0)<<1;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}else if((f|0)==8){f=(r(e,d)|0)<<2;c[g>>2]=f;c[g+8>>2]=0;c[g+4>>2]=0;b=a;a=f}if((c[h>>2]|0)>>>0<b>>>0){h=1;Sb=i;return h|0}if(!b){h=0;Sb=i;return h|0}if((c[h+260>>2]|0)>>>0<a>>>0){h=1;Sb=i;return h|0}a=1;while(1){if(a>>>0>=b>>>0){a=0;f=16;break}if((c[h+260+(a<<2)>>2]|0)>>>0<(c[g+(a<<2)>>2]|0)>>>0){a=1;f=16;break}else a=a+1|0}if((f|0)==16){Sb=i;return a|0}return 0}function Ug(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0;if(!k)return 0;v=c[f+44>>2]|0;G=(a[v+15>>0]|0)==1?2:1;t=c[e+272>>2]|0;o=c[t>>2]|0;K=e+20|0;n=c[K>>2]|0;z=v+8|0;u=b[z>>1]|0;M=r(n,u<<16>>16)|0;B=b[v+4>>1]|0;m=o+(r(M+B|0,G)|0)|0;A=(c[e+64>>2]|0)==11;L=A&1;H=(c[e+56>>2]|0)==1;m=m+(r(n,j)|0)|0;s=(j|0)/2|0;M=(c[t+4>>2]|0)+((B<<1)+M)+(r(n,s)|0)|0;a:do if((H?(c[e+60>>2]|0)==1:0)?(p=c[e+45340>>2]|0,(p|0)>0):0){q=(n*80|0)+80|0;l=0;while(1){if((o-(c[e+12316+(l*516|0)+4>>2]|0)|0)==(q|0))break;l=l+1|0;if((l|0)>=(p|0))break a}i=(n*20|0)+40|0;h=(c[e+12316+(l*516|0)+8>>2]|0)+i|0;i=(c[e+12316+(l*516|0)+12>>2]|0)+i|0}while(0);B=e+16|0;p=c[B>>2]|0;l=r(p,j)|0;q=g+(l<<1)|0;t=g+(l<<2)|0;l=g+l|0;g=r(p,s)|0;p=h+g|0;g=(g|0)/2|0;s=h+g|0;g=i+g|0;b:do if((((c[e+100>>2]|0)==0?(c[e+268>>2]|0)==(c[f+228>>2]|0):0)?(c[e+24>>2]|0)>1:0)?(C=v+4116|0,D=v+4120|0,E=v+4118|0,F=e+208|0,w=a[C>>0]|0,x=1<<w,y=b[E>>1]|0,y<<16>>16>0):0){n=(r(G,u<<16>>16)|0)+j|0;h=b[D>>1]|0;n=n+((x|0)<(k|0)?k:x)>>w;o=y<<16>>16;while(1){i=n+1|0;h=h+-1|0;h=r((i|0)<(h|0)?i:h,o)|0;h=(c[F>>2]|0)+h|0;i=0;n=1;do{n=n&d[h+i>>0];i=i+1|0}while((i|0)!=(o|0));if(n|0)break b;mg();n=a[C>>0]|0;i=1<<n;n=(r(G,b[z>>1]|0)|0)+j+((i|0)<(k|0)?k:i)>>n;i=b[E>>1]|0;if(i<<16>>16<=0)break;else{h=b[D>>1]|0;o=i<<16>>16}}}while(0);switch(c[e+60>>2]|0){case 12:case 11:{K=c[K>>2]|0;L=c[B>>2]|0;ic[c[e+12292>>2]&7](m,M,l,p,c[e+8>>2]|0,k,K,K,L,L);return 0}case 1:{n=e+8|0;if(!H?(I=c[n>>2]|0,(k|0)>0):0){i=0;do{vl(l|0,m|0,I|0)|0;l=l+(c[B>>2]|0)|0;m=m+(c[K>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}I=c[K>>2]|0;K=c[B>>2]|0;lc[c[e+12296>>2]&1](m,M,l,s,g,c[n>>2]|0,k,I,I,K,(K|0)/2|0,L,1);return 0}case 9:{K=c[K>>2]|0;hc[c[e+12288>>2]&15](m,M,q,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}case 13:{if(!A)J(84078,84096,889,84122);K=c[K>>2]|0;hc[c[e+12284>>2]&15](m,M,t,c[e+8>>2]|0,k,K,K,c[B>>2]|0,L);return 0}default:return 0}return 0}function Vg(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;f=c[b+144>>2]|0;switch(f|0){case 981:case 213:case 212:case 211:case 210:case 208:case 982:{f=f|16384;break}default:{}}p=e+4|0;c[p>>2]=f;o=e+8|0;c[o>>2]=(c[d+12>>2]|0)-(c[b+164>>2]|0);h=(c[b+112>>2]|0)==0;if(h){f=0;g=0}else{f=c[b+12>>2]|0;g=c[b+8>>2]|0}c[e+12>>2]=g;c[e+16>>2]=f;k=e+20|0;c[k>>2]=c[b+76>>2];l=e+24|0;c[l>>2]=c[b+84>>2];c[e+28>>2]=0;m=e+32|0;c[m>>2]=0;n=e+36|0;c[n>>2]=1;if((!h?(i=c[b+636>>2]|0,j=c[b+11596>>2]|0,(a[i+(j*8976|0)+4167>>0]|0)==0):0)?(a[i+(j*8976|0)+4168>>0]|0)==1:0)c[n>>2]=0;f=e+40|0;q=c[b+60>>2]|0;c[e+44>>2]=q;c[f>>2]=1;g=e+100|0;c[g>>2]=0;h=e+104|0;c[h>>2]=-1;c[e+108>>2]=c[b+268>>2];i=b+100|0;j=(c[i>>2]|0)==0;if(!j){c[o>>2]=0;c[f>>2]=0;c[k>>2]=2147483647;c[l>>2]=0}f=c[b+272>>2]|0;if(!f){if(j)return;c[p>>2]=215;c[i>>2]=0;return}a:do if(a[f+28>>0]|0?a[f+31>>0]|0:0)switch(c[f+1112>>2]|0){case 1:{c[g>>2]=0;c[n>>2]=0;break a}case 2:{c[g>>2]=1;c[n>>2]=0;break a}default:{c[g>>2]=0;c[n>>2]=1;break a}}while(0);c[m>>2]=1;c[h>>2]=c[f+16>>2];if(j?(c[b+980>>2]|0)==0:0)c[m>>2]=0;l=c[b+8>>2]|0;c[e+64>>2]=l;m=c[b+12>>2]|0;c[e+68>>2]=m;if(!(c[b+56>>2]|0)){c[e+52>>2]=c[d+24>>2];c[e+56>>2]=c[d+28>>2];c[e+60>>2]=c[d+32>>2];f=b+16|0}else{k=c[f>>2]|0;c[e+52>>2]=k;if((q|0)==1){h=c[b+45340>>2]|0;b:do if((h|0)>0){i=c[b+20>>2]|0;j=(i*80|0)+80|0;g=0;while(1){if((k-(c[b+12316+(g*516|0)+4>>2]|0)|0)==(j|0))break;f=g+1|0;if((f|0)<(h|0))g=f;else{f=0;g=0;break b}}d=(i*20|0)+40|0;f=(c[b+12316+(g*516|0)+12>>2]|0)+d|0;g=(c[b+12316+(g*516|0)+8>>2]|0)+d|0}else{f=0;g=0}while(0);c[e+56>>2]=g}else{c[e+56>>2]=c[f+4>>2];f=0}c[e+60>>2]=f;f=b+20|0}f=c[f>>2]|0;c[e+72>>2]=f;switch(q|0){case 11:case 12:{c[e+84>>2]=f;c[e+96>>2]=0;c[e+76>>2]=l;c[e+88>>2]=0;c[e+80>>2]=m>>>1;c[e+92>>2]=0;return}case 1:{b=f>>>1;c[e+84>>2]=b;c[e+96>>2]=b;b=l>>>1;c[e+76>>2]=b;c[e+88>>2]=b;b=m>>>1;c[e+80>>2]=b;c[e+92>>2]=b;return}default:return}}function Wg(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=e+-1|0;a:do if((e|0)>1){i=0;j=0;h=0;b:while(1){l=h+1|0;o=a[b+h>>0]|0;k=j+1|0;a[d+j>>0]=o;c:do if(!(o<<24>>24)){j=i+1|0;if((i|0)>0){switch(a[b+l>>0]|0){case 1:break b;case 3:break;default:{h=l;i=j;break c}}h=h+2|0;i=0}else{h=l;i=j}}else{h=l;i=0}while(0);if((h|0)<(m|0))j=k;else{l=i;n=9;break a}}i=k-j|0;h=l-j|0}else{h=0;l=0;k=0;n=9}while(0);d:do if((n|0)==9)if((h|0)<(e|0)){j=h+1|0;i=a[b+h>>0]|0;if((l|0)<=1){a[d+k>>0]=i;i=k+1|0;h=j;break}switch(i<<24>>24){case 1:{i=k;h=j-l|0;break d}case 3:{i=k+-1|0;h=h+2|0;break d}default:{i=k;h=j;break d}}}else i=k;while(0);c[f>>2]=h;c[g>>2]=i;return 0}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=ul(c[b>>2]|0)|0;e=ul(c[b+4>>2]|0)|0;c[a+4>>2]=0;c[a>>2]=b;c[a+8>>2]=b+8;c[a+12>>2]=f;c[a+16>>2]=e;c[a+20>>2]=b+d+8;return}function Yg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=Sb;Sb=Sb+16|0;g=i;h=b+376|0;Ph(h,1)|0;d=(Ph(h,6)|0)&255;a[g>>0]=d;Ph(h,6)|0;a[g+1>>0]=(Ph(h,3)|0)+255;h=b+128|0;if(c[h>>2]|0){d=a[(c[b+648>>2]|0)+1260>>0]|0;a[g>>0]=d}d=d<<24>>24;switch(d|0){case 18:case 17:case 16:{e=0;f=6;break}case 20:case 19:{e=1;f=6;break}case 21:{c[b+28>>2]=(c[b+32>>2]|0)==0&1;break}case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:break;case 36:{c[b+32>>2]=1;b=0;Sb=i;return b|0}case 33:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+112>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=_h(b)|0;if(!d)$h(b,a[(c[b+296>>2]|0)+143628>>0]|0,16);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 34:{if(((c[b+104>>2]|0)==0?(c[b+108>>2]=1,c[b+116>>2]|0):0)?c[b+84>>2]|0:0){b=0;Sb=i;return b|0}d=ai(b)|0;if(!d)bi(b,a[(c[b+300>>2]|0)+4360>>0]|0,64);c[b+144>>2]=d;b=d;Sb=i;return b|0}case 40:case 39:{if((c[b+104>>2]|0)==1){b=986;Sb=i;return b|0}b=ci(b,g)|0;Sb=i;return b|0}default:{b=0;Sb=i;return b|0}}if((f|0)==6?(c[b+28>>2]=e,(d+-16|0)>>>0>=5):0){b=0;Sb=i;return b|0}if(c[b+104>>2]|0){b=986;Sb=i;return b|0}if(!(c[b+112>>2]|0)){b=980;Sb=i;return b|0}if(!(c[b+116>>2]|0)){b=980;Sb=i;return b|0}c[b+108>>2]=0;c[b+32>>2]=0;d=Zh(b,g)|0;if(d|0){b=d;Sb=i;return b|0}if(((a[g>>0]&-2)<<24>>24==8?(c[b+28>>2]|0)==0:0)?(c[h>>2]|0)==0:0){b=0;Sb=i;return b|0}b=Zg(b)|0;Sb=i;return b|0}function Zg(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0;Zb=Sb;Sb=Sb+64|0;Gb=Zb+56|0;Yb=Zb;g=f+316|0;p=c[f+644>>2]|0;n=c[f+640>>2]|0;Vb=c[f+636>>2]|0;Wb=f+344|0;Rb=c[Wb>>2]|0;o=Rb&255;Hb=p+(o*1272|0)|0;m=a[p+(o*1272|0)+73>>0]|0;Ib=n+(m*68|0)|0;Ub=a[n+(m*68|0)+9>>0]|0;Jb=Vb+(Ub*8976|0)|0;if(Rb|0?(a[p+(o*1272|0)+75>>0]|0)==0:0)c[f+348>>2]=o;Kb=Vb+(Ub*8976|0)+4116|0;Lb=a[Kb>>0]|0;Mb=1<<Lb;Nb=(Mb|0)/4|0;Ob=r(Nb,Nb)|0;Pb=Vb+(Ub*8976|0)+4118|0;Qb=b[Pb>>1]|0;Rb=f+128|0;if(!(c[Rb>>2]|0)){Db=b[p+(o*1272|0)+872>>1]|0;c[g>>2]=Db;h=b[p+(o*1272|0)+874>>1]|0;Eb=f+320|0;c[Eb>>2]=h;Fb=g;g=Db}else{h=f+320|0;Eb=h;Fb=g;g=c[g>>2]|0;h=c[h>>2]|0}zb=f+356|0;c[zb>>2]=Ib;Ab=f+360|0;c[Ab>>2]=Jb;Bb=f+648|0;c[Bb>>2]=Hb;Cb=f+324|0;Db=f+328|0;vh(Ib,Jb,g,h,Cb,Db,Gb)|0;wb=n+(m*68|0)+4|0;vb=c[Gb>>2]|0;q=(c[wb>>2]|0)+(vb*6|0)|0;xb=f+340|0;c[xb>>2]=q;yb=f+352|0;c[yb>>2]=vb;a:do if(!(c[Rb>>2]|0)){switch(a[p+(o*1272|0)+75>>0]|0){case 1:break;case 0:{c[f+332>>2]=0;c[f+336>>2]=0;break a}default:break a}if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0){c[f+332>>2]=0;c[f+336>>2]=0}}while(0);do if((c[Eb>>2]|0)==0?(c[Fb>>2]|0)==0:0){g=wh(f)|0;if(!g){c[c[f+592>>2]>>2]=0;c[c[f+596>>2]>>2]=0;c[f+348>>2]=0;c[Cb>>2]=0;c[Db>>2]=0;break}else{Yb=g;Sb=Zb;return Yb|0}}while(0);j=c[f+1452>>2]|0;k=p+(o*1272|0)+161|0;if((a[k>>0]|0)>0){g=0;do{vb=c[p+(o*1272|0)+1068+(g*12|0)>>2]|0;c[j+20500+((c[Wb>>2]&255)<<6)+(g<<2)>>2]=c[vb+8>>2];a[j+36884+((c[Wb>>2]&255)<<4)+g>>0]=a[vb+20>>0]|0;g=g+1|0}while((g|0)<(a[k>>0]|0))}i=p+(o*1272|0)+160|0;g=a[i>>0]|0;if(g<<24>>24){if(g<<24>>24>0){h=0;do{g=c[p+(o*1272|0)+876+(h*12|0)>>2]|0;c[j+20+((c[Wb>>2]&255)<<6)+(h<<2)>>2]=c[g+8>>2];a[j+16404+((c[Wb>>2]&255)<<4)+h>>0]=a[g+20>>0]|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g<<24>>24|0))}}else g=0;vb=f+332|0;if(!((c[vb>>2]|0)!=0?(c[f+336>>2]|0)!=0:0)){i=c[p+(o*1272|0)+84>>2]|0;b:do if(g<<24>>24>0){h=g<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+876+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break b}g=g+1|0;if((g|0)>=(h|0)){ub=30;break}}}else ub=30;while(0);c:do if((ub|0)==30)if((a[p+(o*1272|0)+76>>0]|0)==0?(l=a[k>>0]|0,l<<24>>24>0):0){h=l<<24>>24;g=0;while(1){if((c[(c[p+(o*1272|0)+1068+(g*12|0)+4>>2]|0)+16>>2]|0)>(i|0)){g=0;break c}g=g+1|0;if((g|0)>=(h|0)){g=1;break}}}else g=1;while(0);a[p+(o*1272|0)+1261>>0]=g}tb=p+(o*1272|0)+76|0;g=a[tb>>0]|0;do if(g<<24>>24!=2){h=(a[p+(o*1272|0)+163>>0]|0)!=0;if(g<<24>>24==1){pb=h?2:1;break}else{pb=h?1:2;break}}else pb=0;while(0);qb=p+(o*1272|0)+167|0;rb=n+(m*68|0)+14|0;i=(a[rb>>0]|0)+(a[qb>>0]|0)|0;i=(i|0)>0?i:0;i=(i|0)<51?i:51;sb=p+(o*1272|0)+75|0;g=a[sb>>0]|0;switch(g<<24>>24){case 0:{ub=43;break}case 1:{if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)ub=43;break}default:{}}if((ub|0)==43)c[f+436>>2]=i;d:do if(!(c[Rb>>2]|0)){do if(g<<24>>24==1){if((c[Cb>>2]|0)==0?(c[Db>>2]|0)==0:0)break;g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break d}xh(f+660|0,f+376|0)|0;h=0;Pa=g;break d}while(0);g=n+(m*68|0)+28|0;if(a[g>>0]|0?(c[Fb>>2]|0)==0:0){h=0;Pa=g;break}if(!(yh(f+660|0,f+376|0,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){h=0;Pa=g}else{c[Rb>>2]=1;h=1;Pa=g}}else{h=0;Pa=n+(m*68|0)+28|0}while(0);ob=f+24|0;Qa=f+444|0;Ra=f+588|0;Sa=f+408|0;Ta=f+428|0;Ua=f+988|0;Va=f+1044|0;Wa=f+420|0;Xa=f+348|0;Ya=f+1444|0;Za=Yb+8|0;_a=Yb+4|0;$a=Yb+6|0;ab=Yb+10|0;bb=f+404|0;cb=f+400|0;db=Yb+12|0;eb=f+656|0;fb=f+5956|0;gb=f+6096|0;hb=f+5960|0;ib=f+5964|0;jb=f+5988|0;kb=p+(o*1272|0)+156|0;lb=f+568|0;mb=f+416|0;nb=f+424|0;ya=n+(m*68|0)+27|0;za=f+336|0;Aa=f+436|0;Ba=p+(o*1272|0)+872|0;Ca=p+(o*1272|0)+874|0;Da=p+(o*1272|0)+157|0;Ea=f+660|0;Fa=f+376|0;Ga=f+596|0;Ha=f+1456|0;Ia=f+432|0;Ja=f+822|0;Ka=f+668|0;La=f+412|0;Ma=f+88|0;Na=f+1460|0;Oa=f+592|0;z=p+(o*1272|0)+171|0;A=Vb+(Ub*8976|0)+4120|0;xa=f+204|0;B=f+1048|0;C=f+380|0;D=f+984|0;F=Hb+1272|0;E=F+872|0;F=F+874|0;G=f+396|0;H=f+384|0;I=Yb+4|0;J=Yb+8|0;K=Yb+12|0;L=Yb+16|0;M=f+580|0;N=Yb+20|0;O=Yb+24|0;P=Yb+28|0;Q=Yb+36|0;R=Yb+32|0;S=f+576|0;T=Yb+40|0;U=Yb+44|0;V=Yb+48|0;W=Yb+52|0;X=Yb+53|0;Y=Yb+54|0;Z=Yb+55|0;_=f+5984|0;$=Vb+(Ub*8976|0)+2|0;aa=Nb+-1|0;ba=(Mb|0)>3;ca=f+992|0;da=f+996|0;ea=f+1008|0;fa=f+1012|0;ga=f+1016|0;ha=f+1020|0;ia=f+1024|0;ja=f+1028|0;ka=f+1032|0;la=f+1052|0;ma=f+1064|0;na=f+1072|0;oa=f+1076|0;pa=f+1080|0;qa=f+1084|0;ra=f+1004|0;sa=f+1e3|0;ta=(Mb<<Lb|0)/128|0;ua=f+1036|0;va=f+1040|0;wa=((r((Mb|0)/8|0,Nb)|0)/8|0)<<1;y=q;e:while(1){g=c[ob>>2]|0;if((g|0)==1?(((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0)%142560|0|0)==0:0){c[Sa>>2]=c[Ra>>2];c[Ta>>2]=0}c[Qa>>2]=0;do if(!(c[Cb>>2]|0)){if(!(c[Db>>2]|0)){if((a[y>>0]|0)==0?(a[y+1>>0]|0)==0:0)g=i;else ub=64;do if((ub|0)==64){if((c[vb>>2]|0)==0?(c[za>>2]|0)==0:0){g=i;break}g=(a[rb>>0]|0)+(a[qb>>0]|0)|0;g=(g|0)>0?g:0;g=(g|0)<51?g:51;c[Aa>>2]=g;vh(Ib,Jb,c[Fb>>2]|0,c[Eb>>2]|0,Cb,Db,Gb)|0;i=c[Gb>>2]|0;c[xb>>2]=(c[wb>>2]|0)+(i*6|0);c[yb>>2]=i;i=d[y>>0]|0;j=d[y+1>>0]|0;k=b[Pb>>1]|0;ub=(r(k,j)|0)+i|0;l=b[Ba>>1]|0;m=b[Ca>>1]|0;do if(((r(m,k)|0)+l|0)<(ub|0)){n=j-m|0;c[za>>2]=n;if((((e[y+-4>>1]|0)+l|0)%(k|0)|0|0)==(i|0))break;if(!((l|0)>(i|0)&(j|0)>=(m|0)))break;c[za>>2]=n+-1}while(0);if(!(c[Rb>>2]|0)){if(!(yh(Ea,Fa,g,pb,576+(pb*8008|0)+(g*154|0)|0)|0))break;c[Rb>>2]=1;h=1}}while(0);if(c[Cb>>2]|0){i=g;break}i=g;g=c[ob>>2]|0}if((g|0)>1){c[Yb>>2]=0;b[Za>>1]=b[y+2>>1]|0;b[_a>>1]=c[Fb>>2];b[$a>>1]=c[Eb>>2];b[ab>>1]=c[Wb>>2];c[db>>2]=(c[bb>>2]|0)-(c[cb>>2]|0);g=_g(c[eb>>2]|0,Yb,16,1)|0;if(!g)break;else{ub=219;break e}}else{ub=(c[bb>>2]|0)-(c[cb>>2]|0)|0;c[gb>>2]=e[y+2>>1];c[hb>>2]=c[Fb>>2];c[ib>>2]=c[Eb>>2];c[jb>>2]=c[Wb>>2];Sg(fb,ub);break}}while(0);do if((a[Pa>>0]|0)!=0?(c[Fb>>2]|0)==0:0)if(!(c[Rb>>2]|0)){if(!(c[za>>2]|0))g=(a[sb>>0]|0)==0&1;else g=0;ub=(b[Pb>>1]|0)!=1;c[Aa>>2]=i;if((g|0)==0&ub){if(!(yh(Ea,Fa,i,pb,Ja)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}else{if(!(yh(Ea,Fa,i,pb,576+(pb*8008|0)+(i*154|0)|0)|0)){ub=88;break}c[Rb>>2]=1;g=1;ub=92;break}}else{g=h;ub=92}else ub=88;while(0);do if((ub|0)==88){ub=0;if(!(c[Rb>>2]|0)){if((a[kb>>0]|0)==0?(a[Da>>0]|0)==0:0){g=h;break}zh(f)|0;g=h}else{g=h;ub=92}}while(0);if((ub|0)==92){ub=0;x=(c[Ya>>2]|0)+((c[Fb>>2]|0)*12|0)+((r(c[Eb>>2]|0,b[Pb>>1]|0)|0)*12|0)|0;c[x>>2]=c[x>>2]&-8;w=x+4|0;c[w>>2]=c[w>>2]&-8;x=x+8|0;c[x>>2]=c[x>>2]&-8}x=(r(c[Eb>>2]|0,b[Pb>>1]|0)|0)+(c[Fb>>2]|0)|0;w=(c[Va>>2]|0)+(x>>3)|0;a[w>>0]=1<<(x&7)|d[w>>0];b[(c[Wa>>2]|0)+(x<<1)>>1]=c[Xa>>2];if(!(c[Rb>>2]|0)){h=c[Sa>>2]|0;j=c[lb>>2]|0;k=c[Ta>>2]|0;l=c[mb>>2]|0;m=c[nb>>2]|0;n=c[bb>>2]|0;x=a[Kb>>0]|0;if(!(Ah(f,c[Fb>>2]<<x,c[Eb>>2]<<x,x,0)|0))ub=97;else{c[Sa>>2]=h;c[lb>>2]=j;c[Ta>>2]=k;c[mb>>2]=l;c[nb>>2]=m;xl(n|0,0,(c[bb>>2]|0)-n|0)|0;c[bb>>2]=n;Bh(f);c[Rb>>2]=1;g=1}}else{Bh(f);ub=97}if((ub|0)==97){ub=0;if(!(c[Rb>>2]|0))g=Ch(Ea,Fa)|0}if((a[ya>>0]|0)==0?(a[Pa>>0]|0)==0:0)k=y+2|0;else ub=102;do if((ub|0)==102){ub=0;if((c[Fb>>2]|0)==1)vl(Ja|0,Ka|0,154)|0;k=y+2|0;if(((c[Cb>>2]|0)+1|0)==(e[k>>1]|0)){h=((c[Db>>2]|0)+1|0)==(e[y+4>>1]|0)&1;j=1}else{h=0;j=0}if((g|0)==0?(c[Rb>>2]|0)==0:0){if(!((h|0)!=0&(a[ya>>0]|0)!=0)?!((j|0)!=0&(a[Pa>>0]|0)!=0):0)break;Ch(Ea,Fa)|0;if(!(c[C>>2]&7))break;Dh(Fa)}}while(0);h=r(c[Eb>>2]|0,Qb)|0;h=(c[Fb>>2]|0)+1+h|0;o=e[k>>1]|0;do if(((c[Cb>>2]|0)+1|0)==(o|0)?(Tb=b[Pb>>1]|0,(o|0)!=(Tb|0)):0){x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;j=r(l,Tb)|0;m=d[y>>0]|0;j=j+m|0;if((x|0)==(e[y+4>>1]|0)){if((m+o|0)==(Tb|0)?(l|0)==(b[A>>1]|0):0){j=h;break}j=c[xb>>2]|0;j=(r(d[j+7>>0]|0,Tb)|0)+(d[j+6>>0]|0)|0}}else j=h;while(0);c[(c[Ga>>2]|0)+(j<<2)>>2]=c[nb>>2];c[Ha>>2]=j;c[Ia>>2]=(c[Ia>>2]|0)+Ob;if((c[ob>>2]|0)==1){h=(h|0)%142560|0;h=(h|0)==0?142560:h;do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}else{do if(((c[Cb>>2]|0)+1|0)==(o|0)){j=b[Pb>>1]|0;if((o|0)==(j|0))break;x=(c[Db>>2]|0)+1|0;l=x+(d[y+1>>0]|0)|0;m=r(l,j)|0;n=d[y>>0]|0;if((x|0)!=(e[y+4>>1]|0)){h=m+n|0;break}if((n+o|0)==(j|0)?(l|0)==(b[A>>1]|0):0)break;h=c[xb>>2]|0;h=(r(d[h+7>>0]|0,j)|0)+(d[h+6>>0]|0)|0}while(0);c[Na>>2]=h;j=c[Oa>>2]|0;h=j+(h<<2)|0}c[h>>2]=c[Ta>>2];c[La>>2]=(c[La>>2]|0)+Ob;do if(c[Ma>>2]|0?(a[z>>0]|0)==1:0){h=c[Fb>>2]|0;t=b[Pb>>1]|0;s=c[Eb>>2]|0;x=(r(s,t)|0)+h|0;u=(a[Kb>>0]|0)+-3|0;t=t<<u;u=(c[B>>2]|0)+((r(t,s)|0)+h<<u)|0;h=c[j+(((c[ob>>2]|0)==1?(x|0)%142560|0:x)<<2)>>2]|0;s=(c[j+(c[Na>>2]<<2)>>2]|0)-h|0;h=(c[Ra>>2]|0)+(h<<2)|0;if(1<<(x&7)&d[(c[Va>>2]|0)+(x>>3)>>0]|0){a[u>>0]=c[h>>2]<<9>>25;break}if((s|0)<=0)break;o=0;while(1){x=c[h>>2]|0;p=x&15;l=x>>>4&15;j=4<<(x>>>8&7)>>>2;if(!(x&17)){q=j+l|0;n=j+p|0;do{m=r(l>>1,t)|0;j=p;do{a[u+((j>>1)+m)>>0]=c[h>>2]<<9>>25;j=j+2|0}while(j>>>0<n>>>0);l=l+2|0}while(l>>>0<q>>>0)}o=o+1|0;if((o|0)==(s|0))break;else h=h+4|0}}while(0);p=c[ob>>2]|0;do if((p|0)<3){h=b[Pb>>1]|0;o=h<<16>>16;x=(r(o,d[y+1>>0]|0)|0)+(d[y>>0]|0)|0;if(((r(b[Ca>>1]|0,o)|0)+(b[Ba>>1]|0)|0)>=(x|0))h=b[k>>1]|0;q=c[Eb>>2]|0;if((q|0)!=0?(c[Db>>2]|0)!=0:0)l=1;else l=0;u=c[Fb>>2]|0;f:do if(!u)ub=153;else{if(!(c[Cb>>2]|0)){ub=153;break}if((u|0)<=0){j=l;m=1;n=l;h=l;break}j=c[za>>2]|0;do if(j|0){if(!(c[Db>>2]|0))break;if((j|0)!=1){j=l;m=1;n=l;h=l;break f}j=l;m=1;n=(c[vb>>2]|0)==0?0:l;h=l;break f}while(0);x=c[vb>>2]|0;j=0;m=(x|0)!=0&1;n=0;h=((h<<16>>16)+-1|0)==(x|0)?l:0}while(0);do if((ub|0)==153){ub=0;if(c[za>>2]|0?c[Db>>2]|0:0){j=l;m=0;n=0;h=l;break}j=0;m=0;n=0;h=((h<<16>>16)+-1|0)==(c[vb>>2]|0)?l:0}while(0);if(!((o+-1|0)!=(u|0)?((e[k>>1]|0)+-1|0)!=(c[Cb>>2]|0):0))h=0;do if((d[tb>>0]|0)<2){x=(p|0)==1?1:p+-1|0;t=u+(r(q,o)|0)|0;p=c[Ga>>2]|0;t=c[p+(t<<2)>>2]|0;s=(c[p+(c[Ha>>2]<<2)>>2]|0)-t|0;v=(c[f+5956+(x*692|0)+104>>2]|0)+(((u<<Lb|0)/4|0)<<2)|0;w=c[f+5956+(x*692|0)+108>>2]|0;c[Yb>>2]=Ib;c[I>>2]=Jb;c[J>>2]=Hb;c[K>>2]=u;c[L>>2]=q;u=c[M>>2]|0;c[N>>2]=u+(t<<4);c[O>>2]=u;c[P>>2]=y;c[Q>>2]=c[f+5956+(x*692|0)+100>>2];c[R>>2]=p;c[T>>2]=c[S>>2];c[U>>2]=s;c[V>>2]=t;a[W>>0]=j;a[X>>0]=h;a[Y>>0]=n;a[Z>>0]=m;eh(Yb,v,w,f+5956+(x*692|0)+112|0)|0}else{s=u+(r(q,o)|0)|0;x=(c[S>>2]|0)+(r(s,Ob)|0)|0;v=(p|0)==1?1:p+-1|0;w=c[f+5956+(v*692|0)+100>>2]|0;t=c[Ga>>2]|0;s=c[t+(s<<2)>>2]|0;t=(c[t+(c[Ha>>2]<<2)>>2]|0)-s|0;if((t|0)>0){h=(c[M>>2]|0)+(s<<4)|0;j=0;while(1){n=h+12|0;q=c[n>>2]|0;o=j+s|0;p=((q>>>10&60)+4|0)>>>2;q=((q>>>6&60)+4|0)>>>2;m=0;do{m=m+1|0;l=0;do{u=c[n>>2]|0;l=l+1|0;c[w+(l+(u&15)+((m+(u>>>4&15)|0)*18|0)<<2)>>2]=o}while((l|0)!=(q|0))}while((m|0)!=(p|0));j=j+1|0;if((j|0)==(t|0))break;else h=h+16|0}h=c[Eb>>2]|0;j=c[Fb>>2]|0}else{h=q;j=u}h=(b[$>>1]|0)-(h<<a[Kb>>0])|0;m=c[f+5956+(v*692|0)+104>>2]|0;c[f+5956+(v*692|0)+112>>2]=c[m+(aa+((j<<Lb|0)/4|0)<<2)>>2];if(!ba)break;l=c[f+5956+(v*692|0)+108>>2]|0;j=((((Mb|0)<(h|0)?Mb:h)|0)/4|0)*18|0;h=0;do{v=h;h=h+1|0;c[l+(v<<2)>>2]=c[w+((h*18|0)+Nb<<2)>>2];c[m+(((c[Fb>>2]<<Lb|0)/4|0)+v<<2)>>2]=c[w+(h+j<<2)>>2]}while((h|0)!=(Nb|0));n=c[w+76>>2]|0;if(!ba)break;h=19;j=0;m=0;while(1){l=0;do{a[x+(l+j)>>0]=(c[w+(l+h<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(Nb|0));m=m+1|0;if((m|0)==(Nb|0))break;else{h=h+18|0;j=j+Nb|0}}}while(0);if(c[Ma>>2]|0)break;do if(!(c[Rb>>2]|0)){w=c[ob>>2]|0;v=(w|0)==1;q=c[Fb>>2]|0;s=c[Eb>>2]|0;t=(r(s,b[Pb>>1]|0)|0)+q|0;u=c[(c[Ga>>2]|0)+(t<<2)>>2]|0;x=c[Na>>2]|0;p=c[Oa>>2]|0;t=c[p+((v?(t|0)%142560|0:t)<<2)>>2]|0;p=(c[p+(x<<2)>>2]|0)-t|0;c[Ua>>2]=c[zb>>2];c[ca>>2]=c[Ab>>2];c[da>>2]=f;c[ea>>2]=p;c[fa>>2]=q;c[ga>>2]=s;c[ha>>2]=c[Cb>>2];c[ia>>2]=c[Db>>2];c[ja>>2]=c[vb>>2];c[ka>>2]=c[za>>2];c[la>>2]=(c[Ra>>2]|0)+(t<<2);c[ma>>2]=(c[M>>2]|0)+(u<<4);c[na>>2]=c[f+5956+((v?1:w+-1|0)*692|0)+100>>2];c[oa>>2]=c[Ha>>2];c[pa>>2]=x;c[qa>>2]=c[Wa>>2];c[ra>>2]=c[Bb>>2];c[sa>>2]=c[xb>>2];if((a[tb>>0]|0)==2){hh(Ua)|0;break}else{ih(Ua)|0;break}}while(0);if(!(a[z>>0]|0))break;w=r((b[Pb>>1]|0)+1|0,ta)|0;v=r(c[Fb>>2]|0,ta)|0;w=r(w,c[Eb>>2]|0)|0;x=(c[va>>2]|0)+v+w|0;xl((c[ua>>2]|0)+v+w|0,0,wa|0)|0;xl(x|0,0,wa|0)|0}while(0);p=(r(c[Eb>>2]|0,b[(c[Ab>>2]|0)+4118>>1]|0)|0)+(c[Fb>>2]|0)|0;a[(c[xa>>2]|0)+p>>0]=1;p=(c[Cb>>2]|0)+1|0;c[Cb>>2]=p;n=(c[Fb>>2]|0)+1|0;c[Fb>>2]=n;l=(c[vb>>2]|0)+1|0;c[vb>>2]=l;do if(a[ya>>0]|0){j=d[y>>0]|0;h=b[Pb>>1]|0;x=(r(h,d[y+1>>0]|0)|0)+j|0;x=((r(b[Ca>>1]|0,h)|0)+(b[Ba>>1]|0)|0)<(x|0);h=e[k>>1]|0;if(x){if((l|0)!=(h+j|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=j;break}else{if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0;break}}else{h=e[k>>1]|0;if((l|0)!=(h|0))break;c[za>>2]=(c[za>>2]|0)+1;c[vb>>2]=0}while(0);g:do if((p|0)==(h|0)){c[Cb>>2]=0;h=d[y>>0]|0;c[Fb>>2]=h;j=(c[Db>>2]|0)+1|0;c[Db>>2]=j;k=(c[Eb>>2]|0)+1|0;c[Eb>>2]=k;if((j|0)!=(e[y+4>>1]|0)){o=0;m=y;l=0;break}c[Db>>2]=0;c[Cb>>2]=0;l=c[xb>>2]|0;m=l+6|0;c[xb>>2]=m;k=j+(d[y+1>>0]|0)|0;do if((k|0)==(b[A>>1]|0)){if((p+h|0)!=(b[Pb>>1]|0))break;c[Fb>>2]=0;c[Eb>>2]=k;o=1;m=y;h=0;l=0;break g}while(0);h=d[m>>0]|0;c[Fb>>2]=h;k=d[l+7>>0]|0;c[Eb>>2]=k;c[Db>>2]=0;c[Cb>>2]=0;c[vb>>2]=h;c[za>>2]=k;o=0;l=0}else{o=0;m=y;k=c[Eb>>2]|0;h=n;l=p}while(0);j=b[Pb>>1]|0;h=(r(k,j)|0)+h|0;c[D>>2]=h;if(c[Rb>>2]|0){y=(h|0)==((r(b[F>>1]|0,j)|0)+(b[E>>1]|0)|0);g=y?1:g}if((c[ob>>2]|0)==1&(l|0)==0){c[gb>>2]=e[(c[_>>2]|0)+2>>1];bh(fb)|0}if(((c[G>>2]|0)+8|0)>>>0<((c[H>>2]|0)+((c[C>>2]|0)>>>3)|0)>>>0)g=(c[Rb>>2]|0)==0?1:g;if(!(g|o)){y=m;h=0}else break}if((ub|0)==219){Sb=Zb;return g|0}c[Rb>>2]=0;if(o|0){c[f+980>>2]=1;Yb=0;Sb=Zb;return Yb|0}j=(c[Wb>>2]|0)+1|0;if((c[ob>>2]|0)!=1&(j&255|0)==0?(Xb=c[Vb+(Ub*8976|0)+4128>>2]|0,Xb|0):0){i=c[xa>>2]|0;h=c[f+208>>2]|0;g=0;do{f=d[i+g>>0]|0;c[Yb>>2]=a[h+g>>0]&1;g=g+((c[Yb>>2]|0)==(f|0)&1)|0}while((g|0)!=(Xb|0))}c[Wb>>2]=j;Yb=0;Sb=Zb;return Yb|0}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=a+16|0;if(kg(c[g>>2]|0)|0){a=2147483647;return a|0}e=a+4|0;f=c[e>>2]|0;if((c[a+12>>2]|0)>>>0<(f+d|0)>>>0)e=2147483647;else{vl(f|0,b|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;e=0}c[a+20>>2]=0;a=(lg(c[g>>2]|0)|0)==0;a=a?e:2147483647;return a|0}function $g(a){a=a|0;var b=0;b=a+16|0;if(kg(c[b>>2]|0)|0){b=2147483647;return b|0}c[a+20>>2]=1;b=(lg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+16|0;if(kg(c[j>>2]|0)|0){j=2147483647;return j|0}i=a+8|0;f=c[i>>2]|0;g=f+d|0;a:do if((c[a+12>>2]|0)>>>0<g>>>0)f=2147483647;else{h=a+4|0;if((c[h>>2]|0)>>>0<g>>>0){a=a+20|0;if((e|0)!=1){f=(c[a>>2]|0)==1;while(1)if(f){f=2147483647;break a}}do{if((c[a>>2]|0)==1){f=2147483647;break a}if(!(lg(c[j>>2]|0)|0)){mg();kg(c[j>>2]|0)|0}f=c[i>>2]|0}while((c[h>>2]|0)>>>0<(f+d|0)>>>0)}vl(b|0,f|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=0}while(0);j=(lg(c[j>>2]|0)|0)==0;j=j?f:2147483647;return j|0}function bh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=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;Ac=Sb;Sb=Sb+64|0;yc=Ac;X=Ac+8|0;Ta=f+44|0;ab=c[Ta>>2]|0;fb=ab+4116|0;g=a[fb>>0]|0;Db=g<<24>>24;Tb=1<<Db;h=c[f>>2]|0;nc=(Tb|0)/4|0;Y=r(nc,nc)|0;_a=c[h+11560>>2]|0;xa=f+140|0;j=c[xa>>2]|0;_a=(_a|0)<(j|0)?_a:j;Sa=f+28|0;Ya=f+12|0;Za=(e[(c[Sa>>2]|0)+2>>1]|0)-(c[Ya>>2]|0)|0;Za=(_a|0)<(Za|0)?_a:Za;_a=f+32|0;$a=ab+4118|0;if((c[_a>>2]|0)>(256-(b[$a>>1]<<1)|0))i=1;else i=c[f+688>>2]|0;bb=f+24|0;cb=f+20|0;db=f+120|0;eb=f+68|0;if(!j){Sb=Ac;return 0}gb=f+16|0;lb=f+148|0;mb=f+152|0;nb=f+4|0;ob=f+8|0;pb=Za+-1|0;qb=h+204|0;rb=f+48|0;sb=h+24|0;tb=f+40|0;yb=f+112|0;zb=f+108|0;Ab=f+104|0;Bb=X+4|0;Cb=X+8|0;Eb=X+12|0;Fb=X+16|0;Gb=f+76|0;Hb=X+20|0;Ib=f+96|0;Jb=X+24|0;Ob=X+28|0;Pb=f+100|0;Qb=X+36|0;Rb=f+84|0;Ub=X+32|0;Vb=f+92|0;Wb=X+40|0;Xb=f+264|0;Yb=X+44|0;Zb=f+268|0;_b=X+48|0;$b=f+248|0;ac=X+52|0;bc=f+249|0;dc=X+53|0;ec=f+250|0;fc=X+54|0;gc=f+251|0;hc=X+55|0;ic=h+88|0;jc=f+676|0;kc=f+36|0;lc=f+680|0;mc=r(Za,Y)|0;oc=f+252|0;pc=ab+2|0;qc=(Tb|0)>3;rc=h+128|0;sc=f+280|0;tc=f+284|0;uc=f+288|0;vc=f+300|0;wc=f+304|0;xc=f+308|0;Z=f+312|0;_=f+316|0;$=f+320|0;aa=f+324|0;ba=f+344|0;ca=f+356|0;da=f+364|0;ea=f+368|0;fa=f+684|0;ga=f+372|0;ha=f+672|0;ia=f+376|0;ja=f+296|0;ka=f+292|0;la=f+116|0;ma=(Za|0)>0;na=(Tb<<Db|0)/128|0;oa=f+328|0;pa=f+332|0;qa=((r((Tb|0)/8|0,nc)|0)/8|0)<<1;ra=h+304|0;sa=ab+54|0;ta=f+156|0;ua=f+160|0;va=f+164|0;wa=f+168|0;ya=f+172|0;za=f+176|0;Aa=f+180|0;Ba=f+184|0;Ca=f+232|0;Da=h+20|0;Ea=f+256|0;Fa=f+236|0;Ga=f+260|0;Ha=ab+55|0;Ia=f+380|0;Ja=f+384|0;Ka=f+388|0;La=f+392|0;Ma=f+496|0;Na=f+500|0;Oa=f+536|0;Pa=h+64|0;Qa=f+540|0;Ra=Tb>>3;E=g<<24>>24==31;F=f+132|0;G=ab+4120|0;H=h+92|0;I=f+544|0;J=f+548|0;K=f+564|0;L=f+552|0;M=f+560|0;N=f+656|0;O=f+568|0;P=f+572|0;Q=f+668|0;R=(Tb|0)/2|0;S=h+12204|0;T=h+12208|0;U=Tb+8|0;V=R+16|0;W=h+12212|0;D=h+12216|0;A=c[bb>>2]|0;B=c[cb>>2]|0;C=c[eb>>2]|0;o=c[db>>2]|0;g=c[Ya>>2]|0;do{c[bb>>2]=A;c[cb>>2]=B;c[db>>2]=o;c[eb>>2]=C;y=c[gb>>2]|0;z=c[_a>>2]|0;x=o;i=(j|0)<(i|0)?j:i;w=(i|0)==0;if(w)h=z;else{v=i;do{k=c[Sa>>2]|0;j=c[lb>>2]|0;if(!((j|0)==0?!(c[mb>>2]|0):0)){h=1024;while(1){c[X>>2]=1;if(j|0){u=pb+(c[nb>>2]|0)+(r(c[ob>>2]|0,b[$a>>1]|0)|0)|0;c[X>>2]=d[(c[qb>>2]|0)+u>>0]}if(c[X>>2]|0)break;if((h|0)>0){j=128;do{Nj(82595,yc)|0;j=j+-1|0}while((j|0)!=0);h=h+-128|0}else{mg();h=1024}j=c[lb>>2]|0}}ch(f,1,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=22;if(((zc|0)==22?(zc=0,Ua=c[(c[f>>2]|0)+304>>2]|0,Va=(c[_a>>2]|0)+1|0,Wa=Va&255,Xa=Ua+(Wa*1272|0)|0,(h|0)==(b[Ua+(Wa*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Ua+(Wa*1272|0)+874>>1]|0):0){if(!(a[Ua+(Wa*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Va;c[rb>>2]=Xa}u=c[rb>>2]|0;dh(f);if((d[u+76>>0]|0)>=2){if((c[sb>>2]|0)>2){j=c[nb>>2]|0;h=c[ob>>2]|0;q=(r(h,b[$a>>1]|0)|0)+j|0;t=(c[Vb>>2]|0)+(r(q,Y)|0)|0;u=c[Pb>>2]|0;s=c[Rb>>2]|0;q=c[s+(q<<2)>>2]|0;s=(c[s+(c[lc>>2]<<2)>>2]|0)-q|0;if((s|0)>0){h=0;j=(c[Ib>>2]|0)+(q<<4)|0;while(1){m=j+12|0;p=c[m>>2]|0;n=h+q|0;o=((p>>>10&60)+4|0)>>>2;p=((p>>>6&60)+4|0)>>>2;k=0;do{k=k+1|0;l=0;do{Bc=c[m>>2]|0;l=l+1|0;c[u+(l+(Bc&15)+((k+(Bc>>>4&15)|0)*18|0)<<2)>>2]=n}while((l|0)!=(p|0))}while((k|0)!=(o|0));h=h+1|0;if((h|0)==(s|0))break;else j=j+16|0}h=c[ob>>2]|0;j=c[nb>>2]|0}h=(b[pc>>1]|0)-(h<<a[fb>>0])|0;l=c[Ab>>2]|0;c[yb>>2]=c[l+(((j+1<<Db|0)/4|0)+-1<<2)>>2];if(qc){k=c[zb>>2]|0;j=((((Tb|0)<(h|0)?Tb:h)|0)/4|0)*18|0;h=0;do{Bc=h;h=h+1|0;c[k+(Bc<<2)>>2]=c[u+((h*18|0)+nc<<2)>>2];c[l+(((c[nb>>2]<<Db|0)/4|0)+Bc<<2)>>2]=c[u+(h+j<<2)>>2]}while((h|0)!=(nc|0));m=c[u+76>>2]|0;if(qc){h=0;k=0;l=19;while(1){j=0;do{a[t+(j+k)>>0]=(c[u+(j+l<<2)>>2]|0)-m;j=j+1|0}while((j|0)!=(nc|0));h=h+1|0;if((h|0)==(nc|0))break;else{k=k+nc|0;l=l+18|0}}}}}}else{if((c[sb>>2]|0)>2){Bc=c[zb>>2]|0;t=c[nb>>2]|0;u=(c[Ab>>2]|0)+(((t<<Db|0)/4|0)<<2)|0;c[X>>2]=c[tb>>2];c[Bb>>2]=c[Ta>>2];c[Cb>>2]=c[rb>>2];c[Eb>>2]=t;c[Fb>>2]=c[ob>>2];c[Hb>>2]=c[Gb>>2];c[Jb>>2]=c[Ib>>2];c[Ob>>2]=k;c[Qb>>2]=c[Pb>>2];c[Ub>>2]=c[Rb>>2];c[Wb>>2]=c[Vb>>2];c[Yb>>2]=c[Xb>>2];c[_b>>2]=c[Zb>>2];a[ac>>0]=a[$b>>0]|0;a[dc>>0]=a[bc>>0]|0;a[fc>>0]=a[ec>>0]|0;a[hc>>0]=a[gc>>0]|0;eh(X,u,Bc,yb)|0}fh(f)}if(a[(c[tb>>2]|0)+27>>0]|0)b[(c[jc>>2]|0)+((r(c[ob>>2]|0,b[$a>>1]|0)|0)+(c[nb>>2]|0)<<1)>>1]=c[kc>>2];h=c[rb>>2]|0;if((c[ic>>2]|0)==0?(c[sb>>2]|0)>2:0){do if(!(c[rc>>2]|0)){gh(f);c[sc>>2]=c[tb>>2];c[tc>>2]=c[Ta>>2];c[uc>>2]=c[f>>2];c[vc>>2]=c[oc>>2];c[wc>>2]=c[nb>>2];c[xc>>2]=c[ob>>2];c[Z>>2]=c[Ya>>2];c[_>>2]=c[gb>>2];c[$>>2]=c[cb>>2];c[aa>>2]=c[bb>>2];c[ba>>2]=c[eb>>2];c[ca>>2]=c[Gb>>2];c[da>>2]=c[Pb>>2];c[ea>>2]=c[lc>>2];c[ga>>2]=c[fa>>2];c[ia>>2]=c[ha>>2];c[ja>>2]=c[rb>>2];c[ka>>2]=c[Sa>>2];if((a[h+76>>0]|0)==2){hh(sc)|0;break}else{ih(sc)|0;break}}while(0);if(a[h+171>>0]|0){u=r((b[$a>>1]|0)+1|0,na)|0;t=r(c[nb>>2]|0,na)|0;u=r(u,c[ob>>2]|0)|0;Bc=(c[pa>>2]|0)+t+u|0;xl((c[oa>>2]|0)+t+u|0,0,qa|0)|0;xl(Bc|0,0,qa|0)|0}}t=c[nb>>2]|0;u=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((t+1+(r(u,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|2;h=h+1|0}while((h|0)!=(Za|0))}v=v-Za|0;jh(f,Za)}while((v|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;c[db>>2]=x;c[eb>>2]=C;if(w)h=z;else{o=i;do{ch(f,2,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=73;if(((zc|0)==73?(zc=0,hb=c[(c[f>>2]|0)+304>>2]|0,ib=(c[_a>>2]|0)+1|0,jb=ib&255,kb=hb+(jb*1272|0)|0,(h|0)==(b[hb+(jb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[hb+(jb*1272|0)+874>>1]|0):0){if(!(a[hb+(jb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=ib;c[rb>>2]=kb}dh(f);gh(f);if(a[sa>>0]|0){if(!(a[Ha>>0]|0)){h=31520;j=28960;k=28320;l=29472;m=28448;n=28192;zc=80}}else{h=26144;j=26144;k=26144;l=26144;m=26144;n=26144;zc=80}if((zc|0)==80){zc=0;c[ta>>2]=26144;c[ua>>2]=n;c[va>>2]=m;c[wa>>2]=l;c[ya>>2]=26144;c[za>>2]=k;c[Aa>>2]=j;c[Ba>>2]=h}v=c[nb>>2]<<Db;u=r(c[ob>>2]<<Db,c[Da>>2]|0)|0;c[Ea>>2]=(c[Ca>>2]|0)+(u+v);c[Ga>>2]=(c[Fa>>2]|0)+v+((u|0)/2|0);kh(f)|0;u=c[nb>>2]|0;v=c[ob>>2]|0;Bc=b[$a>>1]|0;c[db>>2]=(c[db>>2]|0)+mc;c[eb>>2]=(c[eb>>2]|0)+(c[oc>>2]<<2);if((c[sb>>2]|0)==1?((u+1+(r(v,Bc<<16>>16)|0)|0)%142560|0|0)==0:0)c[eb>>2]=c[la>>2];c[Gb>>2]=(c[Gb>>2]|0)+(c[Xb>>2]<<4);h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|4;h=h+1|0}while((h|0)!=(Za|0))}o=o-Za|0;jh(f,Za)}while((o|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[cb>>2]=B;c[gb>>2]=y;c[bb>>2]=A;o=c[db>>2]|0;n=C;C=c[eb>>2]|0;c[db>>2]=x;c[eb>>2]=n;if(w)h=z;else{m=i;do{ch(f,3,Za);h=c[nb>>2]|0;if(!((h|0)==0?!(c[ob>>2]|0):0))zc=96;if(((zc|0)==96?(zc=0,ub=c[(c[f>>2]|0)+304>>2]|0,vb=(c[_a>>2]|0)+1|0,wb=vb&255,xb=ub+(wb*1272|0)|0,(h|0)==(b[ub+(wb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[ub+(wb*1272|0)+874>>1]|0):0){if(!(a[ub+(wb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=vb;c[rb>>2]=xb}if(!(c[ic>>2]|0)){c[Ia>>2]=c[tb>>2];c[Ja>>2]=c[Ta>>2];c[Ka>>2]=c[f>>2];c[La>>2]=c[rb>>2];c[Ma>>2]=h;j=c[ob>>2]|0;c[Na>>2]=j;c[Oa>>2]=c[ha>>2];c[Qa>>2]=(c[Pa>>2]|0)==12&1;l=(b[ab>>1]|0)+63>>6<<3;k=(a[fb>>0]|0)+-3|0;if(!E){h=(h<<k)+-1+(r(l,(j<<k)+-1|0)|0)|0;k=c[F>>2]|0;j=0;while(1){b[f+508+(j<<1)>>1]=(c[k+(h>>3)>>2]|0)>>>(h&7);if((j|0)<(Ra|0)){h=h+l|0;j=j+1|0}else break}}lh(Ia,0,0);Bc=b[$a>>1]|0;if((c[nb>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[ab>>1]|0):0)lh(Ia,1,0);Bc=b[G>>1]|0;if((c[ob>>2]|0)==(Bc+-1|0)?(Bc<<a[fb>>0]|0)==(b[pc>>1]|0):0)lh(Ia,0,1)}h=c[f>>2]|0;if(c[mb>>2]|0?ma:0){j=h+208|0;h=0;do{Bc=(c[nb>>2]|0)+h+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[j>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|8;h=h+1|0}while((h|0)!=(Za|0))}m=m-Za|0;jh(f,Za)}while((m|0)!=0);h=c[_a>>2]|0}if((z|0)!=(h|0)){c[rb>>2]=(c[ra>>2]|0)+((z&255)*1272|0);c[_a>>2]=z}c[nb>>2]=(c[nb>>2]|0)-i;c[Ya>>2]=g;c[gb>>2]=y;c[db>>2]=x;c[eb>>2]=n;z=A;A=c[bb>>2]|0;Bc=B;B=c[cb>>2]|0;c[bb>>2]=z;c[cb>>2]=Bc;if(!w){n=i;do{ch(f,4,Za);g=c[nb>>2]|0;if(!((g|0)==0?!(c[ob>>2]|0):0))zc=123;if(((zc|0)==123?(zc=0,Kb=c[(c[f>>2]|0)+304>>2]|0,Lb=(c[_a>>2]|0)+1|0,Mb=Lb&255,Nb=Kb+(Mb*1272|0)|0,(g|0)==(b[Kb+(Mb*1272|0)+872>>1]|0)):0)?(c[ob>>2]|0)==(b[Kb+(Mb*1272|0)+874>>1]|0):0){if(!(a[Kb+(Mb*1272|0)+75>>0]|0)){c[cb>>2]=0;c[bb>>2]=0}c[_a>>2]=Lb;c[rb>>2]=Nb}if(!(c[H>>2]|0)){c[I>>2]=c[tb>>2];c[J>>2]=c[Ta>>2];c[K>>2]=c[Sa>>2];c[L>>2]=c[f>>2];c[M>>2]=c[rb>>2];c[N>>2]=c[_a>>2];c[O>>2]=g;c[P>>2]=c[ob>>2];c[Q>>2]=(c[Pa>>2]|0)==12&1;mh(I);g=c[nb>>2]|0}if(!g){g=c[ob>>2]|0;Bc=c[Da>>2]|0;y=r(g<<Db,Bc)|0;z=(c[Ca>>2]|0)+y|0;c[Ea>>2]=z;c[Ga>>2]=(c[Fa>>2]|0)+((y|0)/2|0);cc[c[S>>2]&15](z+(0-(Bc<<3))|0,Bc,(((b[G>>1]|0)+-1|0)==(g|0)?8:0)+Tb|0,80);g=c[Da>>2]|0;cc[c[T>>2]&15]((c[Ga>>2]|0)+(0-(g<<4))|0,g,R,80);g=c[nb>>2]|0}if(((b[$a>>1]|0)+-1|0)==(g|0)){m=(b[ab>>1]|0)-(g<<a[fb>>0])|0;y=g<<Db;Bc=c[ob>>2]|0;l=c[Da>>2]|0;z=r(Bc<<Db,l)|0;h=(c[Ca>>2]|0)+(z+y)|0;c[Ea>>2]=h;g=c[Fa>>2]|0;c[Ga>>2]=g+y+((z|0)/2|0);if(((b[G>>1]|0)+-1|0)==(Bc|0)){j=g+(r(l,((b[pc>>1]|0)/2|0)+-16<<16>>16<<16>>16)|0)|0;cc[c[T>>2]&15](j,l,16,80);j=V;k=U;h=c[Ea>>2]|0;g=c[Da>>2]|0}else{j=R;k=Tb;g=l}cc[c[W>>2]&15](h+m+(0-(g<<3))|0,g,k,80);Bc=c[Da>>2]|0;cc[c[D>>2]&15]((c[Ga>>2]|0)+m+(0-(Bc<<4))|0,Bc,j,80);if(((b[G>>1]|0)+-1|0)==(c[ob>>2]|0)){Ff((c[Ca>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,80);Ff((c[Fa>>2]|0)+-80|0,c[Da>>2]|0,(b[ab>>1]|0)+160|0,40);Bc=c[Da>>2]|0;z=(c[Ca>>2]|0)+(r(Bc,b[pc>>1]|0)|0)+-80|0;Gf(z,Bc,(b[ab>>1]|0)+160|0,80);Bc=c[Da>>2]|0;z=(c[Fa>>2]|0)+(r(Bc,((b[pc>>1]|0)/2|0)<<16>>16)|0)+-80|0;Gf(z,Bc,(b[ab>>1]|0)+160|0,40)}}g=c[f>>2]|0;do if(c[mb>>2]|0){if(ma){h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|16;g=g+1|0}while((g|0)!=(Za|0))}g=c[f>>2]|0;if(c[mb>>2]|0){if(!ma)break;h=g+208|0;g=0;do{Bc=(c[nb>>2]|0)+g+(r(c[ob>>2]|0,b[(c[Ta>>2]|0)+4118>>1]|0)|0)|0;Bc=(c[h>>2]|0)+Bc|0;a[Bc>>0]=a[Bc>>0]|1;g=g+1|0}while((g|0)!=(Za|0))}}while(0);k=c[Sa>>2]|0;n=n-Za|0;g=(c[Ya>>2]|0)+Za|0;c[Ya>>2]=g;c[nb>>2]=(c[nb>>2]|0)+Za;c[cb>>2]=(c[cb>>2]|0)+Za;l=e[k+2>>1]|0;do if((g|0)>=(l|0)){c[Ya>>2]=0;g=d[k>>0]|0;c[nb>>2]=g;h=(c[gb>>2]|0)+1|0;c[gb>>2]=h;c[ob>>2]=(c[ob>>2]|0)+1;if((h|0)==(e[k+4>>1]|0)){c[gb>>2]=0;c[Ya>>2]=0;j=k+6|0;c[Sa>>2]=j;if((h+(d[k+1>>0]|0)|0)==(b[G>>1]|0)?(g+l|0)==(b[$a>>1]|0):0){g=0;break}c[nb>>2]=d[j>>0];c[ob>>2]=d[k+7>>0];g=0}else g=0}while(0)}while((n|0)!=0)}j=(c[xa>>2]|0)-i|0;c[xa>>2]=j}while((j|0)!=0);Sb=Ac;return 0}function ch(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+16|0;u=v;q=v+4|0;s=c[f+28>>2]|0;t=f+40|0;p=1<<g;if(!(c[f+152>>2]|0)){Sb=v;return}k=f+8|0;l=f+12|0;m=s+2|0;n=(c[f+44>>2]|0)+4118|0;o=(c[f>>2]|0)+208|0;j=f+4|0;g=1024;while(1){c[q>>2]=1;f=c[k>>2]|0;i=(f|0)>0;if(i){x=(c[l>>2]|0)+h|0;w=(e[m>>1]|0)+-1|0;w=((x|0)<(w|0)?x:w)+(d[s>>0]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+w>>0]}if(a[(c[t>>2]|0)+27>>0]|0?(c[j>>2]|0)>0:0){if(c[q>>2]|0){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}if(!((c[q>>2]|0)==0|i^1)){x=(d[s>>0]|0)+-1+(c[l>>2]|0)+(r(f+-1|0,b[n>>1]|0)|0)|0;c[q>>2]=p&d[(c[o>>2]|0)+x>>0]}}if(c[q>>2]|0)break;if((g|0)>0){f=128;do{Nj(82595,u)|0;f=f+-1|0}while((f|0)!=0);g=g+-128|0}else{mg();g=1024}}Sb=v;return}function dh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;k=c[f+48>>2]|0;t=c[f+44>>2]|0;u=c[f+28>>2]|0;i=a[u>>0]|0;if(!(i<<24>>24))g=u;else g=(a[u+1>>0]|0)==0?u:u+-6|0;j=b[k+872>>1]|0;h=(e[g+2>>1]|0)+j|0;l=b[t+4118>>1]|0;s=l<<16>>16;if((h|0)>=(s|0)){g=i&255;if(((h|0)%(s|0)|0|0)==(g|0)){h=0;p=g}else q=6}else{g=i&255;q=6}if((q|0)==6){h=(g|0)!=(j|0);p=g}o=(r(b[k+874>>1]|0,s)|0)+j|0;n=d[u+1>>0]|0;if(!(h&(o|0)<((r(n,s)|0)+p|0)))l=b[u+2>>1]|0;k=c[f+4>>2]|0;i=c[f+8>>2]|0;o=(r(i,s)|0)+k|0;g=f+248|0;j=f+251|0;h=f+250|0;m=f+249|0;c[g>>2]=16843009;if(!((i|0)!=0?(c[f+16>>2]|0)!=0:0)){a[g>>0]=0;a[h>>0]=0;a[m>>0]=0}do if((k|0)!=0?(c[f+12>>2]|0)!=0:0){if((k|0)>0){i=c[f+24>>2]|0;if(i|0?c[f+16>>2]|0:0){if((i|0)!=1)break;if(c[f+20>>2]|0)break;a[h>>0]=0;break}a[g>>0]=0;a[h>>0]=0;g=c[f+20>>2]|0;if(!g)a[j>>0]=0;if(((l<<16>>16)+-1|0)!=(g|0))a[m>>0]=0}}else q=14;while(0);do if((q|0)==14){a[j>>0]=0;a[h>>0]=0;if(c[f+24>>2]|0?c[f+16>>2]|0:0)break;a[g>>0]=0;if(((l<<16>>16)+-1|0)!=(c[f+20>>2]|0))a[m>>0]=0}while(0);g=b[u+2>>1]|0;if((k|0)!=(s+-1|0)){g=g&65535;h=g+-1|0;i=c[f+12>>2]|0;if((h|0)==(i|0))q=31;else{j=g;h=i}}else{h=c[f+12>>2]|0;g=g&65535;q=31}if((q|0)==31){a[m>>0]=0;j=g}g=o+1|0;do if((h+1|0)==(j|0)){q=(c[f+16>>2]|0)+1|0;h=q+n|0;if((q|0)!=(e[u+4>>1]|0)){g=(r(h,s)|0)+p|0;break}if(!((j+p|0)==(s|0)?(h|0)==(b[t+4120>>1]|0):0))g=(r(d[u+7>>0]|0,s)|0)+(d[u+6>>0]|0)|0}while(0);c[f+680>>2]=g;t=c[f+84>>2]|0;u=t+(o<<2)|0;c[f+264>>2]=(c[t+(g<<2)>>2]|0)-(c[u>>2]|0);u=c[u>>2]|0;c[f+268>>2]=u;c[f+76>>2]=(c[f+96>>2]|0)+(u<<4);return}function eh(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;U=Sb;Sb=Sb+96|0;O=U+72|0;P=U;F=c[f+4>>2]|0;G=c[f>>2]|0;E=c[f+20>>2]|0;w=c[f+28>>2]|0;Q=c[f+36>>2]|0;p=a[F+4116>>0]|0;D=1<<p;R=(D|0)/4|0;A=r(R,R)|0;B=c[f+40>>2]|0;x=f+12|0;k=c[x>>2]|0;v=f+16|0;j=c[v>>2]|0;y=b[F+4118>>1]|0;u=(r(j,y)|0)+k|0;S=B+(r(u,A)|0)|0;T=c[f+44>>2]|0;N=c[f+48>>2]|0;n=a[f+55>>0]|0;q=d[f+54>>0]|0;s=a[f+52>>0]|0;t=d[f+53>>0]|0;l=P;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));M=(b[F+2>>1]|0)-(j<<p)|0;M=(D|0)<(M|0)?D:M;o=(M|0)/4|0;if((M|0)>3){m=(n&255)<<31;l=0;do{l=l+1|0;c[P+(l<<2)>>2]=m}while((l|0)!=(o|0))}z=R+1|0;M=(b[F>>1]|0)-(k<<p)|0;M=(D|0)<(M|0)?D:M;c[P>>2]=(s<<24>>24==1?(1<<((M|0)/4|0))+-1<<31-R+((D-M|0)/4|0):0)|(t<<31>>>z|q<<31);if(!((k|0)==0|(k|0)!=(d[w>>0]|0))){l=u+-1|0;o=c[f+32>>2]|0;n=c[o+(l<<2)>>2]|0;l=B+(r(l,A)|0)+R+-1|0;if((D|0)>3){m=(r(R,(r(R,u)|0)+1|0)|0)+-1|0;j=l;k=0;while(1){c[h+(k<<2)>>2]=n+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0))break;else j=j+R|0}l=B+m|0;k=c[x>>2]|0;j=c[v>>2]|0}j=k+-1+(r(j+-1|0,y)|0)|0;c[i>>2]=(c[o+(j<<2)>>2]|0)+(d[l+(A+-1+(r(j,A)|0))>>0]|0);j=c[v>>2]|0}if(!((j|0)==0?1:(j|0)!=(d[w+1>>0]|0))){j=(c[x>>2]|0)+(r(j+-1|0,y)|0)|0;l=c[(c[f+32>>2]|0)+(j<<2)>>2]|0;if((D|0)>3){j=B+(r(j,A)|0)+(r(R+-1|0,R)|0)|0;k=0;while(1){c[g+(k<<2)>>2]=l+(d[j>>0]|0);k=k+1|0;if((k|0)==(R|0)){C=14;break}else j=j+1|0}}else M=0}else C=14;if((C|0)==14){k=(D|0)>3;if(k){j=0;do{M=j;j=j+1|0;c[Q+(j*18<<2)>>2]=c[h+(M<<2)>>2];c[Q+(j<<2)>>2]=c[g+(M<<2)>>2]}while((j|0)!=(R|0));M=k}else M=0}c[Q+(z<<2)>>2]=c[g+(R<<2)>>2];c[Q>>2]=c[i>>2];if((T|0)>0){L=F+46|0;G=G+43|0;H=f+8|0;I=O+4|0;J=O+6|0;K=O+2|0;F=0;while(1){z=E+12|0;x=c[z>>2]|0;B=(x>>>10&60)+4|0;A=(x>>>6&60)+4|0;C=x&15;D=x>>>4&15;y=(x&524288|0)==0;do if(!y?(v=A>>>0>B>>>0?A:B,w=1<<a[L>>0],!((A|0)==(B|0)|((a[G>>0]|0)<3?1:(((v|0)>(w|0)?v:w)|0)!=8))):0){j=x&1040187392;if((j|0)==335544320){t=8;u=8;v=1;w=C+-1|0;j=D;break}else{t=8;u=8;v=1;w=C;j=D+(((j|0)==301989888)<<31>>31)|0;break}}else{t=A;u=B;v=0;w=C;j=D}while(0);o=j+1|0;k=Q+(w+1+(j*18|0)<<2)|0;l=k+-4|0;m=l+72|0;s=31-w|0;n=(c[P+(o+(u>>>2)<<2)>>2]|0)>>>s&1;o=(c[P+(o<<2)>>2]|0)>>>s&1;V=c[P+(j<<2)>>2]|0;p=V>>>(30-w|0)&1;q=V>>>(31-(t>>>2)+~w|0)&1;s=V>>>s&1;do if(!(x&65536)){if(y){qh(f,k,m,l,18,E,n,o,q,p,s,O);j=(c[z>>2]|0)>>>17&3;if((j|0)!=1?(z=e[K>>1]|0,V=E+2|0,y=e[V>>1]|0,b[E>>1]=(e[E>>1]|0)+(e[O>>1]|0),b[V>>1]=y+z,(j|0)==0):0)break;z=e[J>>1]|0;x=E+4|0;V=E+6|0;y=e[V>>1]|0;b[x>>1]=(e[x>>1]|0)+(e[I>>1]|0);b[V>>1]=y+z;break}rh(f,k,m,18,E,x>>>25&7,x>>>28&3,t,u,w<<2,j<<2,v,n,o,q,p,s);j=c[z>>2]|0;if((j&393216|0)==262144){V=j>>>25&7;if(!((A|0)==8&(V|0)==1)?!((B|0)==8&(V|0)==2):0)break;c[z>>2]=j&-393217}}while(0);V=c[H>>2]|0;j=c[V+1068+((a[E+9>>0]|0)*12|0)>>2]|0;a[E+10>>0]=a[(c[V+876+((a[E+8>>0]|0)*12|0)>>2]|0)+22>>0]|0;if(!(a[V+76>>0]|0))a[E+11>>0]=a[j+22>>0]|0;o=A>>>2;k=(1<<o)+-1<<32-o>>>(C+1|0);n=B>>>2;j=0;do{j=j+1|0;V=P+(j+D<<2)|0;c[V>>2]=c[V>>2]|k}while((j|0)!=(n|0));m=F+N|0;j=C+19+(D*18|0)|0;l=0;while(1){k=0;do{c[Q+(k+j<<2)>>2]=m;k=k+1|0}while((k|0)!=(o|0));l=l+1|0;if((l|0)==(n|0))break;else j=j+18|0}F=F+1|0;if((F|0)==(T|0))break;else E=E+16|0}}c[i>>2]=c[g+(R+-1<<2)>>2];if(!M){Sb=U;return T|0}j=R;k=R*18|1;l=0;while(1){j=j+18|0;c[h+(l<<2)>>2]=c[Q+(j<<2)>>2];c[g+(l<<2)>>2]=c[Q+(k<<2)>>2];l=l+1|0;if((l|0)==(R|0))break;else k=k+1|0}n=c[Q+76>>2]|0;if(!M){Sb=U;return T|0}j=19;k=0;m=0;while(1){l=0;do{a[S+(l+k)>>0]=(c[Q+(l+j<<2)>>2]|0)-n;l=l+1|0}while((l|0)!=(R|0));m=m+1|0;if((m|0)==(R|0))break;else{j=j+18|0;k=k+R|0}}Sb=U;return T|0}function fh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0;ua=c[e>>2]|0;za=c[e+48>>2]|0;f=c[e+40>>2]|0;Ha=c[e+44>>2]|0;Ia=e+4|0;va=e+8|0;wa=(r(c[va>>2]|0,b[Ha+4118>>1]|0)|0)+(c[Ia>>2]|0)|0;xa=c[e+84>>2]|0;wa=(c[xa+(c[e+680>>2]<<2)>>2]|0)-(c[xa+(wa<<2)>>2]|0)|0;xa=c[ua+20>>2]|0;ya=c[e+188>>2]|0;Aa=c[e+192>>2]|0;Ba=c[e+232>>2]|0;Ca=c[e+236>>2]|0;Da=(c[ua+64>>2]|0)==12;Ea=za+76|0;if((d[Ea>>0]|0)>=2)J(82665,82746,190,82774);if((wa|0)<=0)return;Fa=Ha+4116|0;Ga=f+22|0;ja=f+23|0;ka=Ha+2|0;la=ua+11608|0;ma=0-xa|0;na=za+258|0;oa=ua+12220|0;pa=za+259|0;qa=ua+12232|0;ra=ua+12224|0;sa=ua+12228|0;ta=ua+12240|0;q=0;A=0;B=0;g=0;E=0;ha=c[e+76>>2]|0;ia=0;y=0;e=0;x=0;o=0;w=0;s=0;u=0;t=0;p=0;v=0;m=0;l=0;f=0;k=0;j=0;i=0;h=0;while(1){aa=ha+12|0;n=c[aa>>2]|0;a:do if(!(n&65536)){ca=a[Fa>>0]|0;ba=(c[Ia>>2]<<ca)+(n<<2&60)|0;ca=(c[va>>2]<<ca)+(n>>>2&60)|0;da=(n>>>6&60)+4|0;C=a[((a[Ea>>0]|0)==1?Ga:ja)>>0]|0;ga=n>>>17&3;D=(ga|0)==2;if((ga|0)==1){$=q;z=e;ea=s;fa=v;ga=l}else{ga=a[ha+8>>0]|0;$=c[za+876+(ga*12|0)>>2]|0;f=c[$>>2]|0;$=c[$+4>>2]|0;z=b[za+452+(ga<<1)>>1]|0;o=b[za+388+(ga<<1)>>1]|0;ea=b[za+324+(ga<<1)>>1]|0;t=b[za+420+(ga<<1)>>1]|0;fa=b[za+356+(ga<<1)>>1]|0;ga=b[za+292+(ga<<1)>>1]|0}if(!(n&393216)){Z=u;_=m}else{_=a[ha+9>>0]|0;B=c[za+1068+(_*12|0)>>2]|0;A=c[B>>2]|0;B=c[B+4>>2]|0;y=b[za+676+(_<<1)>>1]|0;x=b[za+612+(_<<1)>>1]|0;w=b[za+548+(_<<1)>>1]|0;Z=b[za+644+(_<<1)>>1]|0;p=b[za+580+(_<<1)>>1]|0;_=b[za+516+(_<<1)>>1]|0}I=ha+4|0;K=-284-(ba<<2)|0;L=ha+6|0;M=-284-(ca<<2)|0;U=r(ca,xa)|0;N=Ba+U|0;O=ha+2|0;Y=C<<24>>24!=0;P=D|Y;Q=(P&1)<<2|1;R=P?10:9;S=(ba|0)/2|0;T=(ca|0)/2|0;U=Ca+((U|0)/2|0)|0;V=P?da:xa;X=D&Y;Y=Y&(D^1);W=da>>>1;H=D&C<<24>>24==0;m=(n>>>10&60)+4|0;l=0;e=E;while(1){G=(l|0)==0;E=n&393216;u=(E|0)==131072;do if(G){if(!u){g=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;g=(n|0)<(g|0)?n:(K|0)>(g|0)?K:g;F=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;F=(q|0)<(F|0)?q:(M|0)>(F|0)?M:F;s=c[la>>2]&3;j=s&g;k=s&F;g=f+(r((F>>2)+ca|0,xa)|0)+((g>>2)+ba)|0;if(!E){q=37152;s=8;n=N;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&3}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37152;C=8;e=A+(r((i>>2)+ca|0,xa)|0)+((h>>2)+ba)|0;n=N;i=s&i;h=s&h;F=21}else{if(!u){j=b[ha>>1]|0;n=((b[Ha>>1]|0)-ba<<2)+28|0;j=(n|0)<(j|0)?n:(K|0)>(j|0)?K:j;k=b[O>>1]|0;q=((b[ka>>1]|0)-ca<<2)+28|0;k=(q|0)<(k|0)?q:(M|0)>(k|0)?M:k;g=$+(r((k>>3)+T|0,xa)|0)+((j>>3)+S<<1)|0;s=c[la>>2]&7;j=s&j;k=s&k;if(!E){q=37088;s=4;n=U;F=20;break}else e=q}else{n=((b[Ha>>1]|0)-ba<<2)+28|0;e=((b[ka>>1]|0)-ca<<2)+28|0;s=c[la>>2]&7}h=b[I>>1]|0;h=(n|0)<(h|0)?n:(K|0)>(h|0)?K:h;i=b[L>>1]|0;i=(e|0)<(i|0)?e:(M|0)>(i|0)?M:i;q=37088;C=4;e=B+(r((i>>3)+T|0,xa)|0)+((h>>3)+S<<1)|0;n=U;i=s&i;h=s&h;F=21}while(0);if((F|0)==20){n=n+ba|0;F=23}else if((F|0)==21){n=n+ba|0;if(u){D=l*11|0;u=0;v=0;s=C;C=D;D=D+Q|0;F=24}else{s=C;F=23}}if((F|0)==23){F=0;C=l*11|0;D=C+Q|0;Ja=(j|0)!=0;u=(k|0)!=0;v=c[ua+11640+(D+(Ja?2:0)+(u&1)<<2)>>2]|0;u=c[ua+11640+((Ja&u?R:0)+C<<2)>>2]|0;if(!E){E=0;C=0;D=n}else F=24}if((F|0)==24){F=0;Ka=(h|0)!=0;Ja=(i|0)!=0;E=c[ua+11640+((Ka&Ja?R:0)+C<<2)>>2]|0;C=c[ua+11640+(D+(Ka?2:0)+(Ja&1)<<2)>>2]|0;D=n}if(v|0){Ja=(j|0)!=0;Ka=(k|0)==0|Ja^1;n=g+(r((s>>>1)+-1|0,ma)|0)|0;fc[v&31](Ka?g:n,Ka?(P?ya:D):ya,xa,P?da:Ka?xa:da,Ja?q+(j<<3)|0:q+(k<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(u|0){Ka=ya+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[u&31](Ka,P?ya:D,da,V,q+(k<<3)|0,m>>l,da>>>l)}if(C|0){Ja=(h|0)!=0;Ka=(i|0)==0|Ja^1;v=e+(r((s>>>1)+-1|0,ma)|0)|0;fc[C&31](Ka?e:v,Ka?(P?Aa:D):Aa,xa,P?da:Ka?xa:da,Ja?q+(h<<3)|0:q+(i<<3)|0,(Ka?0:s+-1|0)+(m>>l)|0,da>>>l)}if(E|0){Ka=Aa+((r((s>>>1)+-1|0,da)|0)<<1)|0;fc[E&31](Ka,P?Aa:D,da,V,q+(i<<3)|0,m>>l,da>>>l)}do if(X){u=G^1;v=(j|0)==0|u|(k|0)==0?0:8192;u=(h|0)==0|u|(i|0)==0?0:8192;if(G){mc[c[oa>>2]&1](ya,Aa,D,da,da,xa,ga,ea,_,w,(a[na>>0]|0)+7|0,v,u,m,da);l=1;break}n=(a[pa>>0]|0)+7|0;q=c[qa>>2]|0;s=m>>1;if(Da){nc[q&1](ya,Aa,D,da,da,xa,t,fa,z,o,Z,p,y,x,n,v,u,s,W);F=47;break}else{nc[q&1](ya,Aa,D,da,da,xa,fa,t,o,z,p,Z,x,y,n,v,u,s,W);F=47;break}}else{if(!Y){if(!H){F=47;break}F=G^1;m=m>>(F&1);ic[c[ra>>2]&7](ya,Aa,D,da,da,xa,(j|0)==0|F|(k|0)==0?0:8192,(h|0)==0|F|(i|0)==0?0:8192,m,da);F=47;break}u=(c[aa>>2]&393216|0)==0;v=((u?j:h)|0)==0|G^1|((u?k:i)|0)==0?0:8192;if(G){ic[c[sa>>2]&7](u?ya:Aa,D,da,xa,u?ga:_,u?ea:w,(a[na>>0]|0)+6|0,v,m,da);l=1;break}n=(a[pa>>0]|0)+6|0;q=c[ta>>2]|0;s=u?ya:Aa;if(Da){kc[q&7](s,D,da,xa,u?t:Z,u?fa:p,u?z:y,u?o:x,n,v,m>>1,W);F=47;break}else{kc[q&7](s,D,da,xa,u?fa:p,u?t:Z,u?o:x,u?z:y,n,v,m>>1,W);F=47;break}}while(0);if((F|0)==47){l=l+1|0;if((l|0)==2){q=$;s=ea;u=Z;n=fa;m=_;l=ga;break a}}n=c[aa>>2]|0}}else{z=e;n=v;e=E}while(0);ia=ia+1|0;if((ia|0)==(wa|0))break;else{E=e;ha=ha+16|0;e=z;v=n}}return}function gh(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c[a+44>>2]|0;j=b[l+4118>>1]|0;h=(r(c[a+8>>2]|0,j)|0)+(c[a+4>>2]|0)|0;k=c[a+28>>2]|0;if((c[(c[a>>2]|0)+24>>2]|0)==1){i=(h|0)%142560|0;f=i+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;h=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(h,j)|0;f=f+(d[k>>0]|0)|0;break}if((h|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0)break;f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(i<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}f=h+1|0;g=e[k+2>>1]|0;do if(((c[a+12>>2]|0)+1|0)==(g|0)){m=(c[a+16>>2]|0)+1|0;f=m+(d[k+1>>0]|0)|0;if((m|0)!=(e[k+4>>1]|0)){f=r(f,j)|0;f=f+(d[k>>0]|0)|0;break}if((f|0)==(b[l+4120>>1]|0)?(g+(d[k>>0]|0)|0)==(j|0):0){f=((h|0)%142560|0)+1|0;break}f=(r(d[k+7>>0]|0,j)|0)+(d[k+6>>0]|0)|0}while(0);c[a+684>>2]=f;m=c[a+80>>2]|0;l=m+(h<<2)|0;m=m+(f<<2)|0;m=c[m>>2]|0;l=c[l>>2]|0;l=m-l|0;m=a+252|0;c[m>>2]=l;return}function hh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;y=c[f>>2]|0;G=c[f+4>>2]|0;w=a[y+33>>0]|0;z=f+16|0;D=a[(c[z>>2]|0)+174>>0]|0;t=c[f+20>>2]|0;I=a[G+4116>>0]|0;J=I<<24>>24;H=1<<J;A=G+4118|0;g=b[A>>1]|0;s=(J<<1)+-7|0;E=f+24|0;x=c[E>>2]|0;v=x<<s;B=f+28|0;C=c[B>>2]|0;L=r(C,g+1<<s)|0;K=(c[f+48>>2]|0)+v+L|0;L=(c[f+52>>2]|0)+v+L|0;v=J+-3|0;u=g<<v;v=(c[f+60>>2]|0)+((r(C,u)|0)+x<<v)|0;x=(r(C,g)|0)+x|0;x=1<<(x&7)&d[(c[f+56>>2]|0)+(x>>3)>>0];g=c[K>>2]|0;C=(H|0)/2|0;h=-1>>>(32-C|0);i=c[L>>2]&h;s=1<<s;xl(K|0,0,s+(H>>5<<1)|0)|0;xl(L|0,0,s|0)|0;if(c[E>>2]|0)c[K>>2]=c[K>>2]|g&h;if(c[B>>2]|0)c[L>>2]=c[L>>2]|i;q=f+64|0;if(x|0)a[v>>0]=c[c[q>>2]>>2]<<9>>25;if((t|0)>0){p=J+-2|0;s=7-J|0;if(I<<24>>24==6){m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;h=g>>>4&15;i=4<<(g>>>8&7);k=i>>>2;i=-1431655766>>>(32-(i>>>1)|0);j=g&1;if(!j){p=K+(o>>>s<<2)|0;c[p>>2]=c[p>>2]|i<<(h<<1)}if((g&16|0)==0?(p=L+(h>>>s<<2)|0,c[p>>2]=c[p>>2]|i<<(o<<1),(j|x|0)==0):0){l=k+h|0;j=k+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<l>>>0)}m=m+1|0}while((m|0)!=(t|0))}else{m=0;do{n=(c[q>>2]|0)+(m<<2)|0;g=c[n>>2]|0;o=g&15;i=g>>>4;h=i&15;j=4<<(g>>>8&7);l=j>>>2;j=-1431655766>>>(32-(j>>>1)|0);k=g&1;if(!k){M=K+(o>>>s<<2)|0;c[M>>2]=c[M>>2]|j<<(h<<1)+((g&2)<<p)}if((g&16|0)==0?(M=L+(h>>>s<<2)|0,c[M>>2]=c[M>>2]|j<<((i&2)<<p)+(o<<1),(k|x|0)==0):0){k=l+h|0;j=l+o|0;do{i=r(h>>1,u)|0;g=o;do{a[v+((g>>1)+i)>>0]=c[n>>2]<<9>>25;g=g+2|0}while(g>>>0<j>>>0);h=h+2|0}while(h>>>0<k>>>0)}m=m+1|0}while((m|0)!=(t|0))}}m=w<<24>>24==0;a:do if(!(a[y+27>>0]|0)){if(!(m?!(c[f+32>>2]|0):0))F=32;do if((F|0)==32){if((D<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[E>>2]|0)break a}while(0);c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}else{if(m?(c[f+32>>2]|0)==0:0){c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C);break}k=c[E>>2]|0;g=(r(c[B>>2]|0,b[A>>1]|0)|0)+k|0;h=c[f+96>>2]|0;i=b[h+(g<<1)>>1]|0;j=i&65535;k=(k|0)==0;if(!k){g=b[h+(g+-1<<1)>>1]|0;if(g<<16>>16==i<<16>>16?(a[(c[z>>2]|0)+75>>0]|0)==1:0)break;else g=g&65535}else g=-1;if(D<<24>>24!=0|(g|0)==(j|0)){if(!k)break}else if(c[f+44>>2]|0?!(k|(c[f+32>>2]|0)==0):0)break;c[K>>2]=c[K>>2]&(I<<24>>24==6?0:-1<<C)}while(0);g=c[E>>2]|0;h=c[B>>2]|0;i=b[A>>1]|0;k=(r(h,i)|0)+g|0;j=c[f+96>>2]|0;k=e[j+(k<<1)>>1]|0;l=(h|0)==0;if(l)i=-1;else i=e[j+((r(h+-1|0,i)|0)+g<<1)>>1]|0;if(m?(c[f+36>>2]|0)==0:0)F=52;else if(l|D<<24>>24==0&(i|0)!=(k|0))F=52;if((F|0)==52){c[L>>2]=c[L>>2]&(I<<24>>24==6?0:-1<<C);h=c[B>>2]|0;g=c[E>>2]|0}i=(b[G+2>>1]|0)-(h<<J)>>3;h=(b[G>>1]|0)-(g<<J)>>3;g=H>>3;if((i|0)<(g|0)){M=J+-4|0;xl(L+((I<<24>>24==6?0:(i&1)<<M)+(i>>6-J<<2))|0,0,1<<M|0)|0}if((h|0)>=(g|0))return 0;M=J+-4|0;xl(K+((I<<24>>24==6?0:(h&1)<<M)+(h>>6-J<<2))|0,0,1<<M|0)|0;return 0}function ih(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;O=c[f+4>>2]|0;H=c[f>>2]|0;S=a[O+4116>>0]|0;T=S<<24>>24;P=1<<T;F=O+4118|0;G=b[F>>1]|0;A=(T<<1)+-7|0;g=G+1<<A;M=f+24|0;E=c[M>>2]|0;h=E<<A;J=f+28|0;I=c[J>>2]|0;R=r(I,g)|0;Q=(c[f+48>>2]|0)+h+R|0;R=(c[f+52>>2]|0)+h+R|0;h=c[Q>>2]|0;K=(P|0)/2|0;i=-1>>>(32-K|0);j=c[R>>2]&i;B=f+64|0;D=T+-3|0;C=G<<D;D=(c[f+60>>2]|0)+((r(I,C)|0)+E<<D)|0;E=(r(I,G)|0)+E|0;E=1<<(E&7)&d[(c[f+56>>2]|0)+(E>>3)>>0];G=a[H+33>>0]|0;I=f+16|0;L=a[(c[I>>2]|0)+174>>0]|0;A=1<<A;xl(Q|0,0,A+(P>>4)|0)|0;xl(R|0,0,A|0)|0;if(c[M>>2]|0)c[Q>>2]=c[Q>>2]|h&i;if(c[J>>2]|0)c[R>>2]=c[R>>2]|j;y=R+g|0;c[y>>2]=0;m=(r(c[J>>2]|0,b[F>>1]|0)|0)+(c[M>>2]|0)|0;z=f+8|0;A=c[f+68>>2]|0;m=(c[A+(c[f+92>>2]<<2)>>2]|0)-(c[A+(((c[(c[z>>2]|0)+24>>2]|0)==1?(m|0)%142560|0:m)<<2)>>2]|0)|0;if(E|0)a[D>>0]=c[c[B>>2]>>2]<<9>>25;if((m|0)>0){A=S<<24>>24==6;o=T+-2|0;p=7-T|0;q=(P|0)/8|0;s=(64>>>T)+-1|0;t=T+-1|0;n=0;do{u=(c[B>>2]|0)+(n<<2)|0;j=c[u>>2]|0;v=j&15;k=j>>>4;g=k&15;h=4<<(j>>>8&7);x=h>>>2;w=x+v|0;x=x+g|0;l=(c[M>>2]<<T)+(v<<2)|0;if(1<<(l>>>3&7)&d[(c[(c[z>>2]|0)+212>>2]|0)+(r(((b[O>>1]|0)+63|0)/64|0,(c[J>>2]<<T)+(g<<2)>>3)|0)+(l>>6)>>0]|0){i=-1431655766>>>(32-(h>>>1)|0);if(!(j&1)){l=Q+(v>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(g<<1)+(A?0:(j&2)<<o)}if(!(j&16)){l=R+(g>>>p<<2)|0;c[l>>2]=c[l>>2]|i<<(A?0:(k&2)<<o)+(v<<1)}}do if(c[u>>2]&2048){l=1431655765>>>(32-(h>>>1)|0);i=j&1;if(!i){h=Q+(v>>>p<<2)|0;c[h>>2]=c[h>>2]|l<<(g<<1)+(A?0:(j&2)<<o)}h=j&16;if(!h){j=R+(g>>>p<<2)|0;c[j>>2]=c[j>>2]|l<<(A?0:(k&2)<<o)+(v<<1)}do if(!(w&1)){j=w>>>1;if((q|0)==(j|0)?(c[M>>2]|0)==((b[F>>1]|0)+-1|0):0)break;k=Q+(w>>>p<<2)|0;c[k>>2]=c[k>>2]|l<<((j&s)<<t)+(g<<1)}while(0);if(!(x&1)){j=x>>>1;k=v<<1;if((q|0)==(j|0)){c[y>>2]=c[y>>2]|l<<k;break}else{U=R+(x>>>p<<2)|0;c[U>>2]=c[U>>2]|l<<((j&s)<<t)+k;break}}}else{i=j&1;h=j&16}while(0);if(!(i|E|h))do{i=r(g>>>1,C)|0;h=v;do{a[D+((h>>1)+i)>>0]=c[u>>2]<<9>>25;h=h+2|0}while(h>>>0<w>>>0);g=g+2|0}while(g>>>0<x>>>0);n=n+1|0}while((n|0)!=(m|0))}F=b[F>>1]|0;y=(r(c[J>>2]|0,F)|0)+(c[M>>2]|0)|0;U=c[f+72>>2]|0;y=(c[U+(c[f+88>>2]<<2)>>2]|0)-(c[U+(y<<2)>>2]|0)|0;if((y|0)>0){z=f+84|0;A=f+80|0;B=S<<24>>24==6;C=T+-2|0;D=7-T|0;x=c[f+76>>2]|0;w=0;do{v=x+(w<<4)|0;p=x+(w<<4)+12|0;k=c[p>>2]|0;g=k&15;j=k>>>4;i=j&15;h=(k>>>8&15)+1|0;l=(k>>>12&15)+1|0;E=h+g|0;u=l+i|0;a:do if(!(k&65536)){b:do if((c[M>>2]|0)!=(0-g|0)){t=g+18|0;n=B?0:(k&2)<<C;o=Q+(g>>>D<<2)|0;q=c[z>>2]|0;s=c[A>>2]|0;if(k&1|0){j=l;k=i;while(1){p=c[s+(c[q+(t+(k*18|0)<<2)>>2]<<4)+12>>2]|0;p=(p>>>12&15)+1+(p>>>4&15)|0;U=k;k=p>>>0<u>>>0?p:u;j=j+(U-k)|0;if((j|0)<=0)break b}}do{j=c[q+(t+(i*18|0)<<2)>>2]|0;U=c[s+(j<<4)+12>>2]|0;m=(U>>>12&15)+1+(U>>>4&15)|0;k=i;i=m>>>0<u>>>0?m:u;m=i-k|0;if(!(U&65536)){if(ph(v,s+(j<<4)|0)|0){j=1431655765;N=47}}else{j=-1431655766;N=47}if((N|0)==47){N=0;c[o>>2]=c[o>>2]|j>>>(32-(m<<1)|0)<<(k<<1)+n}l=l-m|0}while((l|0)>0);i=(c[p>>2]|0)>>>4&15}while(0);if((c[J>>2]|0)!=(0-i|0)){p=i*18|1;l=B?0:(i&2)<<C;m=R+(i>>>D<<2)|0;n=c[z>>2]|0;o=c[A>>2]|0;if(i&1|0)while(1){v=c[o+(c[n+(p+g<<2)>>2]<<4)+12>>2]|0;v=(v&15)+1+(v>>>8&15)|0;U=g;g=v>>>0<E>>>0?v:E;h=h+(U-g)|0;if((h|0)<=0)break a}do{i=c[n+(p+g<<2)>>2]|0;U=c[o+(i<<4)+12>>2]|0;k=(U&15)+1+(U>>>8&15)|0;j=g;g=k>>>0<E>>>0?k:E;k=g-j|0;if(!(U&65536)){if(ph(v,o+(i<<4)|0)|0){i=1431655765;N=57}}else{i=-1431655766;N=57}if((N|0)==57){N=0;c[m>>2]=c[m>>2]|i>>>(32-(k<<1)|0)<<(j<<1)+l}h=h-k|0}while((h|0)>0)}}else{if(!(k&1)){U=Q+(g>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(l<<1)|0)<<(i<<1)+(B?0:(k&2)<<C)}if(!(k&16)){U=R+(i>>>D<<2)|0;c[U>>2]=c[U>>2]|-1431655766>>>(32-(h<<1)|0)<<(B?0:(j&2)<<C)+(g<<1)}}while(0);w=w+1|0}while((w|0)!=(y|0))}l=G<<24>>24==0;c:do if(!(a[H+27>>0]|0)){if(!(l?!(c[f+32>>2]|0):0))N=64;do if((N|0)==64){if((L<<24>>24==0?(c[f+40>>2]|0)==0:0)?(c[f+44>>2]|0)==0:0)break;if(c[M>>2]|0)break c}while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}else{if(l?(c[f+32>>2]|0)==0:0){c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K);break}g=c[M>>2]|0;h=c[f+96>>2]|0;i=(g|0)==0;if(!i){g=(r(c[J>>2]|0,F)|0)+g|0;g=(b[h+(g+-1<<1)>>1]|0)==(b[h+(g<<1)>>1]|0);if(g&(a[(c[I>>2]|0)+75>>0]|0)==1)break}else g=0;do if(!(L<<24>>24)){if((c[f+40>>2]|0)==0?(c[f+44>>2]|0)==0:0)break;if(!(i|(g|(c[f+32>>2]|0)!=0)^1))break c}else if(!i)break c;while(0);c[Q>>2]=c[Q>>2]&(S<<24>>24==6?0:-1<<K)}while(0);g=c[M>>2]|0;h=c[J>>2]|0;j=(r(h,F)|0)+g|0;i=c[f+96>>2]|0;j=e[i+(j<<1)>>1]|0;k=(h|0)==0;if(k)i=-1;else i=e[i+((r(h+-1|0,F)|0)+g<<1)>>1]|0;if(l?(c[f+36>>2]|0)==0:0)N=85;else if(k|L<<24>>24==0&(i|0)!=(j|0))N=85;if((N|0)==85){c[R>>2]=c[R>>2]&(S<<24>>24==6?0:-1<<K);h=c[J>>2]|0;g=c[M>>2]|0}i=(b[O+2>>1]|0)-(h<<T)>>3;h=(b[O>>1]|0)-(g<<T)>>3;g=P>>3;if((i|0)<(g|0)){U=T+-4|0;xl(R+((S<<24>>24==6?0:(i&1)<<U)+(i>>6-T<<2))|0,0,1<<U|0)|0}if((h|0)>=(g|0))return 0;U=T+-4|0;xl(Q+((S<<24>>24==6?0:(h&1)<<U)+(h>>6-T<<2))|0,0,1<<U|0)|0;return 0}function jh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[f+48>>2]|0;l=c[f+28>>2]|0;h=c[f+44>>2]|0;o=f+12|0;c[o>>2]=(c[o>>2]|0)+g;o=f+4|0;j=(c[o>>2]|0)+g|0;c[o>>2]=j;o=f+20|0;n=(c[o>>2]|0)+g|0;c[o>>2]=n;if(!(a[(c[f+40>>2]|0)+27>>0]|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}m=b[i+872>>1]|0;k=b[h+4118>>1]|0;h=(r(k,b[i+874>>1]|0)|0)+m|0;i=d[l>>0]|0;if((h|0)>=((r(d[l+1>>0]|0,k)|0)+i|0)){if((n|0)<(e[l+2>>1]|0))return;n=f+24|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=0;return}if((j|0)>(m|0)){h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(h+i|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}else{h=e[l+2>>1]|0;g=f+24|0;if((n|0)<(k-m+i+h|0))return;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=n-h;return}}function kh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0;Ma=Sb;Sb=Sb+272|0;na=Ma+160|0;sa=Ma+252|0;ya=Ma+248|0;Ba=Ma+244|0;Fa=Ma+240|0;Ga=Ma+236|0;Ha=Ma+232|0;Ia=Ma+258|0;Ja=Ma+256|0;oa=Ma+144|0;pa=Ma;qa=c[e+44>>2]|0;p=c[e+40>>2]|0;o=c[e+48>>2]|0;ra=c[e>>2]|0;ta=c[e+256>>2]|0;ua=c[e+260>>2]|0;va=c[e+244>>2]|0;wa=qa+4116|0;u=a[wa>>0]|0;n=u<<24>>24;xa=1<<n;La=e+64|0;g=c[La>>2]|0;za=c[ra+20>>2]|0;Aa=c[e+240>>2]|0;q=c[e+68>>2]|0;if((a[qa+54>>0]|0)==1?(a[p+40>>0]|0)==1:0)f=p;else f=qa+8968|0;ma=c[f>>2]|0;i=a[e+251>>0]|0;k=a[e+250>>0]|0;l=a[e+248>>0]|0;m=a[e+249>>0]|0;f=na;h=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));la=e+8|0;t=c[la>>2]|0;ka=(b[qa+2>>1]|0)-(t<<n)|0;ka=(xa|0)<(ka|0)?xa:ka;j=(ka|0)/4|0;if((ka|0)>3){h=(i&255)<<31;f=0;do{f=f+1|0;c[na+(f<<2)>>2]=h}while((f|0)!=(j|0))}ja=(xa|0)/4|0;s=b[qa>>1]|0;ka=e+4|0;j=c[ka>>2]|0;f=(s<<16>>16)-(j<<n)|0;f=(xa|0)<(f|0)?xa:f;c[na>>2]=(l<<24>>24==1?(1<<((f|0)/4|0))+-1<<31-ja+((xa-f|0)/4|0):0)|((m&255)<<31>>>(ja+1|0)|(k&255)<<31);ja=e+252|0;f=c[ja>>2]|0;if((f|0)<=0){Ja=g;Ka=f;c[La>>2]=Ja;Sb=Ma;return Ka|0}ga=ra+64|0;ha=e+128|0;ia=p+19|0;ea=o+168|0;fa=p+20|0;da=o+169|0;W=p+15|0;X=0-za|0;Y=oa+4|0;Z=oa+8|0;_=ra+12008|0;$=ra+12012|0;aa=qa+161|0;ba=ra+12004|0;ca=ra+12e3|0;h=0;v=0;k=u;i=t;f=s;while(1){c[sa>>2]=0;c[ya>>2]=0;c[Ba>>2]=0;c[Fa>>2]=0;c[Ga>>2]=0;c[Ha>>2]=0;t=(c[ga>>2]|0)==12;U=t&1;V=t?-2:0;l=c[q>>2]|0;p=l<<2&60;s=l>>>2&60;S=k<<24>>24;T=(j<<S)+p|0;T=1<<(T>>>3&7)&d[(c[ha>>2]|0)+(r(((f<<16>>16)+63|0)/64|0,(i<<S)+s>>3)|0)+(T>>6)>>0];S=l>>>23&63;R=l>>>29;u=R&255;R=(R|0)==7?1:2;T=(T|0)!=0;if((S|0)==63&T){m=4<<(l>>>8&7);n=ta+((r(s,za)|0)+p)|0;o=(r(s>>>1,za)|0)+p|0;k=ua+o|0;g=g+6|0;if((m|0)>0){j=r(m,m)|0;f=0;i=g;while(1){vl(n+(r(f,za)|0)|0,i|0,m|0)|0;f=f+1|0;if((f|0)==(m|0))break;else i=i+m|0}g=g+j|0}k=k+U|0;l=m>>>1;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);k=k+1+V|0;j=0;do{i=r(j,za)|0;f=0;do{Q=g;g=g+1|0;a[k+((f<<1)+i)>>0]=a[Q>>0]|0;f=f+1|0}while(f>>>0<l>>>0);j=j+1|0}while(j>>>0<l>>>0);Q=0;i=m;P=o}else{Q=1;i=0;n=ta+((r(s,za)|0)+p)|0;P=(r(s>>>1,za)|0)+p|0}N=p+-4+(r((s+-4|0)/2|0,za)|0)|0;O=T?0:3;L=t<<31>>31;M=36736+(S<<2)|0;o=0;K=0;f=u;s=0;p=0;m=0;l=0;j=i;i=v;do{do if(Q){C=(K|0)==0;B=c[q>>2]|0;u=B>>>8&7;if(C){v=u+2|0;t=4<<u;y=T&(u|0)==0;w=u+1|0;k=y?u:w;x=B<<9>>25;j=a[g+1>>0]&1;if(!(B&2048)){J=j;I=0;G=n;H=v;D=k;E=m;F=l}else{A=(x|0)/6|0;J=j;I=1;G=n;H=v;D=k;E=m;F=l;g=nh(va,v,g,ma+(c[36880+((u*6|0)+(T?0:(u|0)==3?1:3)<<2)>>2]<<1)|0,x-(A*6|0)|0,A,y?0:w,B>>>15&1,sa,Ba,Ga,Ia)|0}}else{o=(u|0)==0;y=o?0:u+-1|0;v=y+2|0;t=1<<v;w=va+(t<<v<<1)|0;o=ua+(o?N:P)+U|0;u=o+1+V|0;j=K+O+(y*6|0)|0;x=ma+(c[36880+(j+1<<2)>>2]<<1)|0;p=y+5|0;p=(p|0)<7?p:7;y=y+1|0;m=B>>>12&1;z=B<<9>>25;k=z+(a[ia>>0]|0)+(a[ea>>0]|0)|0;k=(k|0)>0?k:0;k=b[36352+(((k|0)<57?k:57)<<1)>>1]|0;s=B>>>13&1;z=z+(a[fa>>0]|0)+(a[da>>0]|0)|0;z=(z|0)>0?z:0;z=b[36352+(((z|0)<57?z:57)<<1)>>1]|0;A=(z|0)/6|0;l=a[g+1>>0]&1;if(!m)j=l;else{J=(k|0)/6|0;j=nh(va,v,g,ma+(c[36880+(j<<2)>>2]<<1)|0,k-(J*6|0)|0,J,y,B>>>15&1,sa,Ba,Ga,Ia)|0;g=j;j=a[j+1>>0]&1}if(!s){J=l;I=m;G=o;H=v;o=j;D=p;s=0;p=u;E=u;F=w}else{J=l;I=m;G=o;H=v;o=j;D=p;s=s&255;p=u;E=u;F=w;g=nh(w,v,g,x,z-(A*6|0)|0,A,y,(c[q>>2]|0)>>>15&1,ya,Fa,Ha,Ja)|0}}if(T)if(C){m=oh(e,q,na,b[qa>>1]|0,a[W>>0]|0,t,xa)|0;if((t|0)==4){C=c[q>>2]|0;c[oa+((C>>>3&2|C&1)<<2)>>2]=m}i=(c[q>>2]&17|0)==0?m:i;j=G+X|0;k=G+-1|0;l=j+-1|0;if((m|0)==131071)gc[c[_>>2]&3](l,j,k,za,t,131071,pa,1);else gc[c[ba>>2]&3](l,j,k,za,t,m,pa,1);dc[c[$>>2]&7](pa,t,pa,S,a[aa>>0]|0);ec[c[ra+11728+(c[M>>2]<<2)>>2]&31](pa,1,G,za,t,S)}else{m=G+L|0;j=c[q>>2]|0;if(!(j&1792))i=c[Y>>2]&61440|c[oa>>2]&69616|c[Z>>2]&15;l=m+-2|0;if(!(j&16384)){j=q;do{j=j+-4|0;k=c[j>>2]|0}while(!(k&16384|0));j=k}k=m+X|0;j=j>>>23&63;if(f<<24>>24==4)f=j&255;else{f=a[81819+(f&255)>>0]|0;f=(j|0)==(f&255|0)?34:f}gc[c[ca>>2]&3](k+-2|0,k,l,za,t,i,pa,1);C=f&255;ec[c[ra+11772+(c[36736+(C<<2)>>2]<<2)>>2]&31](pa,1,m,za,t,C)}do if((I|0)==1){if(c[q>>2]&32768|J|0){fc[c[ra+11848+(D<<2)>>2]&31](va,G,G,t,za,za,c[sa>>2]|0);break}if(!(c[Ga>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](va,Aa,G,G,t,za,za,c[sa>>2]|0,c[Ba>>2]|0);break}else{ec[c[ra+11880+(K<<2)>>2]&31](G,G,za,za,H,b[Ia>>1]|0);break}}while(0);if((K|0)!=0&s<<24>>24==1){if(c[q>>2]&32768|o|0){fc[c[ra+11848+(D<<2)>>2]&31](F,E,p,t,za,za,c[ya>>2]|0);s=1;m=E;l=F;j=t;break}if(!(c[Ha>>2]|0)){hc[c[ra+11816+(D<<2)>>2]&15](F,Aa,E,p,t,za,za,c[ya>>2]|0,c[Fa>>2]|0);s=1;m=E;l=F;j=t;break}else{ec[c[ra+11880+(K<<2)>>2]&31](E,p,za,za,H,b[Ja>>1]|0);s=1;m=E;l=F;j=t;break}}else{m=E;l=F;j=t;k=f;Ka=63}}else{k=f;Ka=63}while(0);if((Ka|0)==63){Ka=0;if(((K|0)==0?(Ca=(j|0)/4|0,Da=c[q>>2]|0,Ea=(1<<Ca)+-1<<32-Ca>>>((Da&15)+1|0),(j|0)>3):0)?(J=na+((Da>>>4&15)+1<<2)|0,c[J>>2]=c[J>>2]|Ea,(j&-4|0)!=4):0){f=1;do{f=f+1|0;J=na+(f+((c[q>>2]|0)>>>4&15)<<2)|0;c[J>>2]=c[J>>2]|Ea}while((f|0)!=(Ca|0));f=k}else f=k}K=K+1|0}while(K>>>0<R>>>0);h=h+1|0;f=c[ja>>2]|0;if((h|0)>=(f|0))break;q=q+4|0;v=i;k=a[wa>>0]|0;j=c[ka>>2]|0;i=c[la>>2]|0;f=b[qa>>1]|0}c[La>>2]=g;Sb=Ma;return f|0}function lh(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=Sb;Sb=Sb+32|0;p=za;qa=c[f+160>>2]|0;ja=c[f+4>>2]|0;ta=c[f>>2]|0;ka=f+8|0;ra=c[ka>>2]|0;pa=c[f+12>>2]|0;oa=a[ja+4116>>0]|0;la=oa<<24>>24;ua=1<<la;ja=ja+4118|0;ea=b[ja>>1]|0;ma=(la<<1)+-7|0;da=ea+1<<ma;xa=f+116|0;m=c[xa>>2]|0;k=m<<ma;ha=f+120|0;j=c[ha>>2]|0;n=r(j,da)|0;i=(c[f+64>>2]|0)+k+n|0;n=(c[f+68>>2]|0)+k+n|0;k=la+-3|0;ya=ea<<k;l=(c[f+76>>2]|0)+((r(j,ya)|0)+m<<k)|0;m=(r(j,ea)|0)+m|0;ea=(h|0)!=0;j=i+da|0;if(ea){xl(j|0,0,1<<ma|0)|0;l=l+(ya<<k)|0;i=f+128+(ua>>3<<1)|0;o=m+(b[ja>>1]|0)|0}else{j=i;i=f+128|0;o=m}sa=(g|0)!=0;if(sa){m=1<<ma;k=n+m|0;xl(k|0,0,m|0)|0;m=ua>>3;l=l+m|0;if(oa<<24>>24!=31){i=0;while(1){b[p+(i<<1)>>1]=(e[f+128+(i<<1)>>1]|0)>>>m;if((i|0)<(m|0))i=i+1|0;else break}}n=k;wa=p;o=o+1|0}else wa=i;k=c[f+72>>2]|0;ia=1<<(o&7)&d[k+(o>>3)>>0];m=c[xa>>2]|0;i=o+-1|0;if(m|g){i=1<<(i&7)&d[k+(i>>3)>>0];if(!(c[ha>>2]|h)){na=0;ga=i}else{na=o-(b[ja>>1]|0)+-1|0;na=1<<(na&7)&d[k+(na>>3)>>0];ga=i}}else{na=0;ga=0}p=c[ha>>2]|0;if(!(p|h))fa=0;else{fa=o-(b[ja>>1]|0)|0;fa=1<<(fa&7)&d[k+(fa>>3)>>0]}va=c[ra+20>>2]|0;aa=(g|0)==0;a:do if(aa?(s=b[ja>>1]|0,t=r(p,s)|0,q=c[ra+304>>2]|0,s=e[(c[f+156>>2]|0)+(m-s+t+(ea?s:0)<<1)>>1]|0,t=c[(c[ka>>2]|0)+20>>2]|0,T=va<<2,U=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(t,p)|0)+m<<la)|0;L=oa<<24>>24==6;M=la+-1|0;N=ua>>>2;O=(1<<M)+-2|0;P=0-da|0;Q=pa+172|0;R=pa+173|0;S=q+(s*1272|0)+172|0;C=q+(s*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=ra+11928|0;H=(ga|0)==0;I=(ia|0)==0;K=0-(va<<la)|0;B=(na|0)==0?l+~ya|0:l+(B-U)|0;m=m+(ea?t<<la:0)+(0-T)|0;i=0;k=j;while(1){A=i&1;q=L?0:A<<M;o=(c[k>>2]|0)>>>q<<2;if(p|h)o=(c[k+P>>2]|0)>>>(O+q|0)&3|o;x=l+(i-ya)|0;y=i+-1|0;z=l+(y-ya)|0;if(!i){x=F?x:E;w=0;while(1){u=a[Q>>0]|0;s=a[R>>0]|0;q=pl(o|0)|0;q=(o|0)==0?31:q;p=q>>>1;if(!p){if(w){if(H)p=(r(w+-1>>1,ya)|0)+-1|0;else p=D;p=d[l+p>>0]|0;if(I){v=s;t=l+(r(w+-1>>1,ya)|0)|0}else{v=s;t=l}}else{v=a[C>>0]|0;u=a[S>>0]|0;p=d[B>>0]|0;t=x}q=w+1|0;s=e[wa+(q>>1<<1)>>1]|0;if((s&3|0)==3){s=q;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,p,d[t>>0]|0,u<<24>>24,v<<24>>24,s&1^1,s>>>1&1^1);s=q;p=T;q=2}}else{$=p+w|0;s=$;p=r(T,($|0)<(N|0)?p:N-w|0)|0;q=q&62}m=m+p|0;if((N|0)>(s|0)){w=s;o=o>>>q}else break}}else{w=0;while(1){q=a[Q>>0]|0;p=a[R>>0]|0;t=pl(o|0)|0;t=(o|0)==0?31:t;s=t>>>1;if(!s){do if(!w){q=a[S>>0]|0;p=a[C>>0]|0;if(F){v=d[x>>0]|0;u=d[z>>0]|0;break}else{u=a[E>>0]|0;v=u&255;u=u&255;break}}else if(I){u=r(w+-1>>1,ya)|0;v=d[l+(u+i)>>0]|0;u=d[l+(y+u)>>0]|0;break}else{u=d[l>>0]|0;v=u;break}while(0);s=w+1|0;t=(e[wa+(s>>1<<1)>>1]|0)>>>i;if((t&3|0)==3){u=s;p=T;q=2}else{hc[c[G>>2]&15](m,va,o&3,u,v,q<<24>>24,p<<24>>24,t&1^1,t>>>1&1^1);u=s;p=T;q=2}}else{p=s+w|0;u=p;p=r(T,(p|0)<(N|0)?s:N-w|0)|0;q=t&62}m=m+p|0;if((N|0)>(u|0)){w=u;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=46;break}case 5:{if(A)ca=46;break}default:{}}if((ca|0)==46){ca=0;k=k+4|0}i=i+1|0;if((i|0)==(U|0))break a;m=m+K+8|0;p=c[ha>>2]|0}}while(0);$=(h|0)==0;b:do if($?(_=c[xa>>2]|0,V=c[ha>>2]|0,Z=r(V,b[ja>>1]|0)|0,Y=c[ra+304>>2]|0,Z=e[(c[f+156>>2]|0)+(_+((sa^1)<<31>>31)+Z<<1)>>1]|0,ba=(ua|0)/8|0,(ua|0)>7):0){m=(c[f+148>>2]|0)+((r(c[(c[ka>>2]|0)+20>>2]|0,V)|0)+_<<la)|0;Q=oa<<24>>24==6;R=la+-1|0;S=ua>>>2;T=(1<<R)+-2|0;U=-1<<ma;V=pa+172|0;W=pa+173|0;X=Y+(Z*1272|0)+172|0;G=Y+(Z*1272|0)+173|0;N=(ua|0)/-8|0;H=l+N|0;I=(ga|0)==0;K=ra+11932|0;L=(fa|0)==0;M=(ia|0)==0;N=r(N,ya)|0;O=0-ua|0;P=va<<3;F=(na|0)==0?l+~ya|0:l+(N-ba)|0;i=n;k=0;m=m+(sa?ua:0)+-4|0;p=_;while(1){E=k&1;q=Q?0:E<<R;o=(c[i>>2]|0)>>>q<<2;if(p|g)o=(c[i+U>>2]|0)>>>(T+q|0)&3|o;B=wa+(k<<1)|0;C=wa+(k+1<<1)|0;D=r(k,ya)|0;y=l+(D+-1)|0;z=r(k+-1|0,ya)|0;A=l+(z+-1)|0;if(!k){x=I?y:H;u=0;while(1){s=a[V>>0]|0;q=a[W>>0]|0;p=pl(o|0)|0;p=(o|0)==0?31:p;t=p>>>1;if(!t){if(u){if(L)p=(u+-1>>1)-ya|0;else p=N;p=d[l+p>>0]|0;if(M){w=s;v=l+((u+-1>>1)+D)|0}else{w=s;v=l}}else{q=a[G>>0]|0;w=a[X>>0]|0;p=d[F>>0]|0;v=x}s=u+1|0;u=1<<(s>>1);t=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(t|u){hc[c[K>>2]&15](m,va,o&3,p,d[v>>0]|0,w<<24>>24,q<<24>>24,t&1,u&1);q=2;p=4}else{q=2;p=4}}else{_=t+u|0;s=_;q=p&62;p=((_|0)<(S|0)?t:S-u|0)<<2}m=m+p|0;if((S|0)>(s|0)){u=s;o=o>>>q}else break}}else{x=0;while(1){q=a[V>>0]|0;p=a[W>>0]|0;s=pl(o|0)|0;s=(o|0)==0?31:s;u=s>>>1;if(!u){do if(!x){q=a[X>>0]|0;p=a[G>>0]|0;if(I){v=d[y>>0]|0;w=d[A>>0]|0;break}else{w=d[H>>0]|0;v=w;break}}else if(M){w=x+-1>>1;v=d[l+(w+D)>>0]|0;w=d[l+(w+z)>>0]|0;break}else{w=d[l>>0]|0;v=w;break}while(0);t=x+1|0;u=1<<(t>>1);s=(u&e[B>>1]|0)==0;u=(u&e[C>>1]|0)==0;if(s|u){hc[c[K>>2]&15](m,va,o&3,w,v,q<<24>>24,p<<24>>24,s&1,u&1);q=2;p=4}else{q=2;p=4}}else{p=u+x|0;t=p;q=s&62;p=((p|0)<(S|0)?u:S-x|0)<<2}m=m+p|0;if((S|0)>(t|0)){x=t;o=o>>>q}else break}}switch(oa<<24>>24){case 6:{ca=82;break}case 5:{if(E)ca=82;break}default:{}}if((ca|0)==82){ca=0;i=i+4|0}k=k+1|0;if((k|0)==(ba|0))break b;m=m+O+P|0;p=c[xa>>2]|0}}while(0);c:do if(aa){k=c[xa>>2]|0;s=c[ha>>2]|0;m=b[ja>>1]|0;o=r(s,m)|0;i=c[(c[ka>>2]|0)+20>>2]|0;q=(c[f+152>>2]|0)+(((r(i,s)|0)/2|0)+k<<la)|0;if(ea)p=((i|0)/2|0)<<la;else p=0;S=va<<2;T=(ua|0)/16|0;if((ua|0)>15){U=ua>>>3;V=(1<<la+-1)+-2|0;O=0-da|0;P=oa<<24>>24==6?2:1;Q=0-(((va|0)/2|0)<<la)|0;R=pa+173|0;C=(c[ra+304>>2]|0)+((e[(c[f+156>>2]|0)+(k-m+o+(ea?m:0)<<1)>>1]|0)*1272|0)+173|0;D=(ua|0)/-8|0;B=r(D,ya)|0;E=l+B|0;F=(fa|0)==0;G=(ga|0)==0;H=(ia|0)==0;I=~ya;K=(qa|0)==0;L=ra+11924|0;M=ta+19|0;N=ta+20|0;B=(na|0)==0?l+I|0:l+(B-U)|0;i=0;o=q+p+(0-S)|0;m=s;d:while(1){k=c[j>>2]<<2;if(m|h)k=(c[j+O>>2]|0)>>>V&3|k;w=(i|0)==0;x=i<<1;y=l+(x-ya)|0;z=l+(x+I)|0;A=x+-1|0;t=0;u=k&572662306;v=o;while(1){p=a[R>>0]|0;k=pl(u|0)|0;k=(u|0)==0?31:k;m=k>>>2;if(!m){e:do if(!t){k=a[C>>0]|0;do if(w){m=d[B>>0]|0;if(!F){s=d[E>>0]|0;break e}}else if(F){m=d[z>>0]|0;break}else{m=d[E>>0]|0;s=m;break e}while(0);s=d[y>>0]|0}else{do if(w){if(G)k=(r(t+-1|0,ya)|0)+-1|0;else k=D;m=d[l+k>>0]|0;if(H){o=r(t+-1|0,ya)|0;break}else{k=p;s=d[l>>0]|0;break e}}else if(H){o=r(t+-1|0,ya)|0;m=d[l+(A+o)>>0]|0;break}else{m=d[l>>0]|0;k=p;s=m;break e}while(0);k=p;s=d[l+(o+x)>>0]|0}while(0);ea=(e[wa+(t<<1)>>1]|0)>>>x;o=ea&1^1;p=ea>>>1&1^1;do if((ea&3|0)!=3){if(!(u&2))break d;q=c[L>>2]|0;if(K){hc[q&15](v,va,m,s,a[M>>0]|0,a[N>>0]|0,k<<24>>24,o,p);break}else{hc[q&15](v,va,s,m,a[N>>0]|0,a[M>>0]|0,k<<24>>24,p,o);break}}while(0);m=t+1|0;k=S;o=4}else{ea=m+t|0;o=k&60;m=ea;k=r((ea|0)<(U|0)?o:U-t<<2,va)|0}v=v+k|0;if((U|0)<=(m|0))break;else{t=m;u=u>>>o}}i=i+1|0;if((i|0)>=(T|0))break c;j=j+(P<<2)|0;o=v+Q+16|0;m=c[ha>>2]|0}J(82599,82625,600,82648)}}while(0);if(!$){Sb=za;return}k=c[xa>>2]|0;i=c[ha>>2]|0;W=(ua|0)/16|0;if((ua|0)<=15){Sb=za;return}m=(c[f+152>>2]|0)+(((r(c[(c[ka>>2]|0)+20>>2]|0,i)|0)/2|0)+k<<la)|0;N=e[(c[f+156>>2]|0)+(k+((sa^1)<<31>>31)+(r(i,b[ja>>1]|0)|0)<<1)>>1]|0;V=ua>>>3;U=(1<<la+-1)+-2|0;T=-1<<ma;Q=oa<<24>>24==6?2:1;R=0-ua|0;S=va<<3;M=pa+173|0;N=(c[ra+304>>2]|0)+(N*1272|0)+173|0;O=ya<<1;C=(ua|0)/-8|0;P=l+C|0;L=(ga|0)==0;K=(fa|0)==0;I=(ia|0)==0;C=r(C,ya)|0;H=(qa|0)==0;E=ra+11920|0;F=l+C|0;G=ta+19|0;D=ta+20|0;C=(na|0)==0?l+~ya|0:l+(C-V)|0;m=m+(sa?ua:0)+-8|0;i=0;f:while(1){j=c[n>>2]<<2;if(k|g)j=(c[n+T>>2]|0)>>>U&3|j;v=(i|0)==0;A=i<<1;w=wa+(A<<1)|0;x=wa+((A|1)<<1)|0;y=r(O,i)|0;z=l+(y+-1)|0;A=r(A+-1|0,ya)|0;B=l+(A+-1)|0;u=j&572662306;t=m;k=0;while(1){m=a[M>>0]|0;o=pl(u|0)|0;o=(u|0)==0?31:o;j=o>>>2;if(!j){g:do if(!k){m=a[N>>0]|0;do if(v){j=d[C>>0]|0;if(!L){o=d[P>>0]|0;break g}}else if(L){j=d[B>>0]|0;break}else{o=d[P>>0]|0;j=o;break g}while(0);o=d[z>>0]|0}else{do if(v){j=d[(K?l+(k+-1-ya)|0:F)>>0]|0;if(I){o=k+-1|0;break}else{o=d[l>>0]|0;break g}}else if(I){o=k+-1|0;j=d[l+(o+A)>>0]|0;break}else{o=d[l>>0]|0;j=o;break g}while(0);o=d[l+(o+y)>>0]|0}while(0);ua=1<<k;ta=(ua&e[w>>1]|0)==0;p=ta&1;ua=(ua&e[x>>1]|0)==0;q=ua&1;do if(ta|ua){if(!(u&2)){ca=148;break f}s=c[E>>2]|0;if(H){hc[s&15](t,va,j,o,a[G>>0]|0,a[D>>0]|0,m<<24>>24,p,q);break}else{hc[s&15](t,va,o,j,a[D>>0]|0,a[G>>0]|0,m<<24>>24,q,p);break}}while(0);m=t+8|0;k=k+1|0;j=4}else{ua=j+k|0;m=t+(((ua|0)<(V|0)?j:V-k|0)<<3)|0;k=ua;j=o&60}if((V|0)>(k|0)){u=u>>>j;t=m}else break}i=i+1|0;if((i|0)>=(W|0)){ca=157;break}m=m+R+S|0;n=n+(Q<<2)|0;k=c[xa>>2]|0}if((ca|0)==148)J(82599,82625,749,82648);else if((ca|0)==157){Sb=za;return}} |
| | | function Cf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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,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;vc=Sb;Sb=Sb+176|0;uc=vc+112|0;rc=vc+48|0;sc=vc+16|0;tc=vc;pc=l>>>0>4294967279;qc=l>>>0>4294967039;oc=pc?4:qc?8:32;if(m>>>0>4294967279){Y=i*3|0;Z=i<<1;Fb=tc+4|0;Gb=tc+8|0;Hb=tc+12|0;_=b[17152]|0;$=b[17153]|0;aa=b[17184]|0;ba=b[17248]|0;ca=b[17185]|0;da=b[17249]|0;ea=rc+4|0;fa=b[17186]|0;ga=b[17250]|0;ha=rc+8|0;ia=b[17187]|0;ja=b[17251]|0;ka=rc+12|0;la=b[17188]|0;ma=b[17252]|0;na=rc+16|0;oa=b[17189]|0;pa=b[17253]|0;qa=rc+20|0;ra=b[17190]|0;sa=b[17254]|0;ta=rc+24|0;ua=b[17191]|0;va=b[17255]|0;wa=rc+28|0;xa=b[17192]|0;ya=b[17256]|0;za=rc+32|0;Aa=b[17193]|0;Ba=b[17257]|0;Ca=rc+36|0;Da=b[17194]|0;Ea=b[17258]|0;Fa=rc+40|0;Ga=b[17195]|0;Ha=b[17259]|0;Ia=rc+44|0;Ja=b[17196]|0;Ka=b[17260]|0;La=rc+48|0;Ma=b[17197]|0;Na=b[17261]|0;Oa=rc+52|0;Pa=b[17198]|0;Qa=b[17262]|0;Ra=rc+56|0;q=b[17199]|0;s=b[17263]|0;t=rc+60|0;u=b[17216]|0;v=b[17217]|0;w=sc+4|0;x=b[17218]|0;y=sc+8|0;z=b[17219]|0;A=sc+12|0;B=b[17220]|0;C=sc+16|0;D=b[17221]|0;E=sc+20|0;F=b[17222]|0;G=sc+24|0;H=b[17223]|0;I=sc+28|0;J=uc+32|0;K=uc+4|0;L=uc+36|0;M=uc+8|0;N=uc+40|0;O=uc+12|0;P=uc+44|0;Q=uc+16|0;R=uc+48|0;S=uc+20|0;T=uc+52|0;U=uc+24|0;V=uc+56|0;W=uc+28|0;X=uc+60|0;o=f;p=0;while(1){a:do if(!(l&1)){nc=b[e+(i<<1)>>1]|0;m=b[e+(Y<<1)>>1]|0;c[rc>>2]=(r(m,ba)|0)+(r(nc,aa)|0);c[ea>>2]=(r(m,da)|0)+(r(nc,ca)|0);c[ha>>2]=(r(m,ga)|0)+(r(nc,fa)|0);c[ka>>2]=(r(m,ja)|0)+(r(nc,ia)|0);c[na>>2]=(r(m,ma)|0)+(r(nc,la)|0);c[qa>>2]=(r(m,pa)|0)+(r(nc,oa)|0);c[ta>>2]=(r(m,sa)|0)+(r(nc,ra)|0);c[wa>>2]=(r(m,va)|0)+(r(nc,ua)|0);c[za>>2]=(r(m,ya)|0)+(r(nc,xa)|0);c[Ca>>2]=(r(m,Ba)|0)+(r(nc,Aa)|0);c[Fa>>2]=(r(m,Ea)|0)+(r(nc,Da)|0);c[Ia>>2]=(r(m,Ha)|0)+(r(nc,Ga)|0);c[La>>2]=(r(m,Ka)|0)+(r(nc,Ja)|0);c[Oa>>2]=(r(m,Na)|0)+(r(nc,Ma)|0);c[Ra>>2]=(r(m,Qa)|0)+(r(nc,Pa)|0);c[t>>2]=(r(m,s)|0)+(r(nc,q)|0);nc=b[e+(Z<<1)>>1]|0;m=r(nc,u)|0;c[sc>>2]=m;mc=r(nc,v)|0;c[w>>2]=mc;jc=r(nc,x)|0;c[y>>2]=jc;hc=r(nc,z)|0;c[A>>2]=hc;gc=r(nc,B)|0;c[C>>2]=gc;ic=r(nc,D)|0;c[E>>2]=ic;kc=r(nc,F)|0;c[G>>2]=kc;nc=r(nc,H)|0;c[I>>2]=nc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;lc=b[e>>1]|0;n=r(lc,_)|0;lc=r($,lc)|0;m=m+n|0;c[uc>>2]=m;c[J>>2]=n-nc;c[K>>2]=mc+lc;c[L>>2]=lc-kc;c[M>>2]=jc+lc;c[N>>2]=lc-ic;c[O>>2]=hc+n;c[P>>2]=n-gc;c[Q>>2]=gc+n;c[R>>2]=n-hc;c[S>>2]=ic+lc;c[T>>2]=lc-jc;c[U>>2]=kc+lc;c[V>>2]=lc-mc;c[W>>2]=nc+n;c[X>>2]=n-(c[sc>>2]|0);n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[o+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[o+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break a;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=o;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);p=p+1|0;if(p>>>0>=oc>>>0)break;else{e=e+2|0;o=o+64|0;l=l>>1}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;n=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;l=r(pc,e)|0;pc=r(o,pc)|0;m=m+l|0;c[uc>>2]=m;c[ya>>2]=l-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+l;c[Ea>>2]=l-kc;c[Fa>>2]=kc+l;c[Ga>>2]=l-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+l;c[Ma>>2]=l-(c[sc>>2]|0);l=0;while(1){i=(c[rc+(l<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+l>>0]|0)|0;i=(i|0)>0?i:0;a[h+l>>0]=(i|0)<255?i:255;i=15-l|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=l+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=l+1|0;if((m|0)==16)break;l=m;m=c[uc+(m<<2)>>2]|0}n=n+1|0;if((n|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=b[17282]|0;nb=b[17283]|0;ob=uc+32|0;pb=uc+4|0;qb=uc+36|0;rb=uc+8|0;sb=uc+40|0;tb=uc+12|0;ub=uc+44|0;vb=uc+16|0;wb=uc+48|0;xb=uc+20|0;yb=uc+52|0;zb=uc+24|0;Ab=uc+56|0;Bb=uc+28|0;Cb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[Fb>>2]=nc;lc=r(ic,mb)|0;c[Gb>>2]=lc;ic=r(ic,nb)|0;c[Hb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[ob>>2]=qc-pc;pc=c[Ta>>2]|0;c[pb>>2]=pc+oc;c[qb>>2]=nc-mc;mc=c[Wa>>2]|0;c[rb>>2]=mc+lc;c[sb>>2]=kc-jc;jc=c[Za>>2]|0;c[tb>>2]=jc+ic;gc=c[ab>>2]|0;c[ub>>2]=hc-gc;c[vb>>2]=gc+hc;c[wb>>2]=ic-jc;c[xb>>2]=(c[db>>2]|0)+kc;c[yb>>2]=lc-mc;c[zb>>2]=(c[gb>>2]|0)+nc;c[Ab>>2]=oc-pc;c[Bb>>2]=(c[jb>>2]|0)+qc;c[Cb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}nb=b[17408]|0;ob=b[17920]|0;pb=b[17409]|0;qb=b[17921]|0;rb=b[17152]|0;sb=b[17664]|0;tb=b[17153]|0;ub=b[17665]|0;vb=b[17216]|0;wb=b[17344]|0;xb=b[17472]|0;yb=b[17600]|0;zb=b[17728]|0;Ab=b[17856]|0;Bb=b[17984]|0;Cb=b[18112]|0;Db=b[17217]|0;Eb=b[17345]|0;D=b[17473]|0;E=b[17601]|0;F=b[17729]|0;G=b[17857]|0;H=b[17985]|0;I=b[18113]|0;J=sc+4|0;K=b[17218]|0;L=b[17346]|0;M=b[17474]|0;N=b[17602]|0;O=b[17730]|0;P=b[17858]|0;Q=b[17986]|0;R=b[18114]|0;S=sc+8|0;T=b[17219]|0;U=b[17347]|0;V=b[17475]|0;W=b[17603]|0;X=b[17731]|0;Y=b[17859]|0;Z=b[17987]|0;_=b[18115]|0;$=sc+12|0;aa=b[17220]|0;ba=b[17348]|0;ca=b[17476]|0;da=b[17604]|0;ea=b[17732]|0;fa=b[17860]|0;ga=b[17988]|0;ha=b[18116]|0;ia=sc+16|0;ja=b[17221]|0;ka=b[17349]|0;la=b[17477]|0;ma=b[17605]|0;na=b[17733]|0;oa=b[17861]|0;pa=b[17989]|0;qa=b[18117]|0;ra=sc+20|0;sa=b[17222]|0;ta=b[17350]|0;ua=b[17478]|0;va=b[17606]|0;wa=b[17734]|0;xa=b[17862]|0;ya=b[17990]|0;za=b[18118]|0;Aa=sc+24|0;Ba=b[17223]|0;Ca=b[17351]|0;Da=b[17479]|0;Ea=b[17607]|0;Fa=b[17735]|0;Ga=b[17863]|0;Ha=b[17991]|0;Ia=b[18119]|0;Ja=sc+28|0;Ka=b[17280]|0;La=b[17536]|0;Ma=b[17792]|0;Na=b[18048]|0;Oa=b[17281]|0;Pa=b[17537]|0;Qa=b[17793]|0;Ra=b[18049]|0;Sa=b[17282]|0;Ta=b[17538]|0;Ua=b[17794]|0;Va=b[18050]|0;Wa=b[17283]|0;Xa=b[17539]|0;Ya=b[17795]|0;Za=b[18051]|0;_a=uc+32|0;$a=uc+4|0;ab=uc+36|0;bb=uc+8|0;cb=uc+40|0;db=uc+12|0;eb=uc+44|0;fb=uc+16|0;gb=uc+48|0;hb=uc+20|0;ib=uc+52|0;jb=uc+24|0;kb=uc+56|0;lb=uc+28|0;mb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,wb)|0)+(r(pc,vb)|0)+(r(mc,xb)|0)+(r(i,yb)|0)+(r(n,zb)|0)+(r(jc,Ab)|0)+(r(ec,Bb)|0)+(r(fc,Cb)|0);c[J>>2]=(r(m,Eb)|0)+(r(pc,Db)|0)+(r(mc,D)|0)+(r(i,E)|0)+(r(n,F)|0)+(r(jc,G)|0)+(r(ec,H)|0)+(r(fc,I)|0);c[S>>2]=(r(m,L)|0)+(r(pc,K)|0)+(r(mc,M)|0)+(r(i,N)|0)+(r(n,O)|0)+(r(jc,P)|0)+(r(ec,Q)|0)+(r(fc,R)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,La)|0)+(r(fc,Ka)|0)+(r(jc,Ma)|0)+(r(n,Na)|0)|0;c[tc>>2]=i;mc=(r(ec,Pa)|0)+(r(fc,Oa)|0)+(r(jc,Qa)|0)+(r(n,Ra)|0)|0;c[Fb>>2]=mc;pc=(r(ec,Ta)|0)+(r(fc,Sa)|0)+(r(jc,Ua)|0)+(r(n,Va)|0)|0;c[Gb>>2]=pc;n=(r(ec,Xa)|0)+(r(fc,Wa)|0)+(r(jc,Ya)|0)+(r(n,Za)|0)|0;c[Hb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,nb)|0;ec=b[f+1536>>1]|0;fc=(r(ec,ob)|0)+fc|0;jc=(r(qb,ec)|0)+(r(pb,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,rb)|0;qc=b[f+1024>>1]|0;m=(r(qc,sb)|0)+m|0;ec=(r(ub,qc)|0)+(r(tb,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[Ja>>2]|0;c[_a>>2]=qc-pc;oc=c[J>>2]|0;c[$a>>2]=oc+nc;lc=c[Aa>>2]|0;c[ab>>2]=mc-lc;kc=c[S>>2]|0;c[bb>>2]=kc+jc;hc=c[ra>>2]|0;c[cb>>2]=ic-hc;gc=c[$>>2]|0;c[db>>2]=gc+fc;dc=c[ia>>2]|0;c[eb>>2]=ec-dc;c[fb>>2]=dc+ec;c[gb>>2]=fc-gc;c[hb>>2]=hc+ic;c[ib>>2]=jc-kc;c[jb>>2]=lc+mc;c[kb>>2]=nc-oc;c[lb>>2]=pc+qc;c[mb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}lc=i*3|0;mc=i*5|0;nc=i*7|0;if(m>>>0>4294967039){q=i<<1;s=i*6|0;t=i<<2;u=b[17152]|0;v=b[17153]|0;w=b[17184]|0;x=b[17248]|0;y=b[17312]|0;z=b[17376]|0;A=b[17185]|0;B=b[17249]|0;C=b[17313]|0;D=b[17377]|0;E=rc+4|0;F=b[17186]|0;G=b[17250]|0;H=b[17314]|0;I=b[17378]|0;J=rc+8|0;K=b[17187]|0;L=b[17251]|0;M=b[17315]|0;N=b[17379]|0;O=rc+12|0;P=b[17188]|0;Q=b[17252]|0;R=b[17316]|0;S=b[17380]|0;T=rc+16|0;U=b[17189]|0;V=b[17253]|0;W=b[17317]|0;X=b[17381]|0;Y=rc+20|0;Z=b[17190]|0;_=b[17254]|0;$=b[17318]|0;aa=b[17382]|0;ba=rc+24|0;ca=b[17191]|0;da=b[17255]|0;ea=b[17319]|0;fa=b[17383]|0;ga=rc+28|0;ha=b[17192]|0;ia=b[17256]|0;ja=b[17320]|0;ka=b[17384]|0;la=rc+32|0;ma=b[17193]|0;na=b[17257]|0;oa=b[17321]|0;pa=b[17385]|0;qa=rc+36|0;ra=b[17194]|0;sa=b[17258]|0;ta=b[17322]|0;ua=b[17386]|0;va=rc+40|0;wa=b[17195]|0;xa=b[17259]|0;ya=b[17323]|0;za=b[17387]|0;Aa=rc+44|0;Ba=b[17196]|0;Ca=b[17260]|0;Da=b[17324]|0;Ea=b[17388]|0;Fa=rc+48|0;Ga=b[17197]|0;Ha=b[17261]|0;Ia=b[17325]|0;Ja=b[17389]|0;Ka=rc+52|0;La=b[17198]|0;Ma=b[17262]|0;Na=b[17326]|0;Oa=b[17390]|0;Pa=rc+56|0;Qa=b[17199]|0;Ra=b[17263]|0;Sa=b[17327]|0;Ta=b[17391]|0;Ua=rc+60|0;Va=b[17216]|0;Wa=b[17344]|0;Xa=b[17217]|0;Ya=b[17345]|0;Za=sc+4|0;_a=b[17218]|0;$a=b[17346]|0;ab=sc+8|0;bb=b[17219]|0;cb=b[17347]|0;db=sc+12|0;eb=b[17220]|0;fb=b[17348]|0;gb=sc+16|0;hb=b[17221]|0;ib=b[17349]|0;jb=sc+20|0;kb=b[17222]|0;lb=b[17350]|0;mb=sc+24|0;nb=b[17223]|0;ob=b[17351]|0;pb=sc+28|0;qb=b[17280]|0;rb=b[17281]|0;sb=tc+4|0;tb=b[17282]|0;ub=tc+8|0;vb=b[17283]|0;wb=tc+12|0;xb=uc+32|0;yb=uc+4|0;zb=uc+36|0;Ab=uc+8|0;Bb=uc+40|0;Cb=uc+12|0;Db=uc+44|0;Eb=uc+16|0;Fb=uc+48|0;Gb=uc+20|0;Hb=uc+52|0;Ib=uc+24|0;Jb=uc+56|0;Kb=uc+28|0;Lb=uc+60|0;o=0;p=f;while(1){b:do if(!(l&1)){cc=b[e+(i<<1)>>1]|0;fc=b[e+(lc<<1)>>1]|0;bc=b[e+(mc<<1)>>1]|0;ic=b[e+(nc<<1)>>1]|0;c[rc>>2]=(r(fc,x)|0)+(r(cc,w)|0)+(r(bc,y)|0)+(r(ic,z)|0);c[E>>2]=(r(fc,B)|0)+(r(cc,A)|0)+(r(bc,C)|0)+(r(ic,D)|0);c[J>>2]=(r(fc,G)|0)+(r(cc,F)|0)+(r(bc,H)|0)+(r(ic,I)|0);c[O>>2]=(r(fc,L)|0)+(r(cc,K)|0)+(r(bc,M)|0)+(r(ic,N)|0);c[T>>2]=(r(fc,Q)|0)+(r(cc,P)|0)+(r(bc,R)|0)+(r(ic,S)|0);c[Y>>2]=(r(fc,V)|0)+(r(cc,U)|0)+(r(bc,W)|0)+(r(ic,X)|0);c[ba>>2]=(r(fc,_)|0)+(r(cc,Z)|0)+(r(bc,$)|0)+(r(ic,aa)|0);c[ga>>2]=(r(fc,da)|0)+(r(cc,ca)|0)+(r(bc,ea)|0)+(r(ic,fa)|0);c[la>>2]=(r(fc,ia)|0)+(r(cc,ha)|0)+(r(bc,ja)|0)+(r(ic,ka)|0);c[qa>>2]=(r(fc,na)|0)+(r(cc,ma)|0)+(r(bc,oa)|0)+(r(ic,pa)|0);c[va>>2]=(r(fc,sa)|0)+(r(cc,ra)|0)+(r(bc,ta)|0)+(r(ic,ua)|0);c[Aa>>2]=(r(fc,xa)|0)+(r(cc,wa)|0)+(r(bc,ya)|0)+(r(ic,za)|0);c[Fa>>2]=(r(fc,Ca)|0)+(r(cc,Ba)|0)+(r(bc,Da)|0)+(r(ic,Ea)|0);c[Ka>>2]=(r(fc,Ha)|0)+(r(cc,Ga)|0)+(r(bc,Ia)|0)+(r(ic,Ja)|0);c[Pa>>2]=(r(fc,Ma)|0)+(r(cc,La)|0)+(r(bc,Na)|0)+(r(ic,Oa)|0);c[Ua>>2]=(r(fc,Ra)|0)+(r(cc,Qa)|0)+(r(bc,Sa)|0)+(r(ic,Ta)|0);ic=b[e+(q<<1)>>1]|0;bc=b[e+(s<<1)>>1]|0;c[sc>>2]=(r(bc,Wa)|0)+(r(ic,Va)|0);c[Za>>2]=(r(bc,Ya)|0)+(r(ic,Xa)|0);c[ab>>2]=(r(bc,$a)|0)+(r(ic,_a)|0);c[db>>2]=(r(bc,cb)|0)+(r(ic,bb)|0);c[gb>>2]=(r(bc,fb)|0)+(r(ic,eb)|0);cc=(r(bc,ib)|0)+(r(ic,hb)|0)|0;c[jb>>2]=cc;fc=(r(bc,lb)|0)+(r(ic,kb)|0)|0;c[mb>>2]=fc;ic=(r(bc,ob)|0)+(r(ic,nb)|0)|0;c[pb>>2]=ic;bc=b[e+(t<<1)>>1]|0;jc=r(bc,qb)|0;c[tc>>2]=jc;gc=r(bc,rb)|0;c[sb>>2]=gc;ec=r(bc,tb)|0;c[ub>>2]=ec;bc=r(bc,vb)|0;c[wb>>2]=bc;m=b[e>>1]|0;n=r(m,u)|0;m=r(v,m)|0;kc=jc+n|0;ac=n-bc|0;hc=gc+m|0;dc=m-ec|0;ec=ec+m|0;gc=m-gc|0;bc=bc+n|0;jc=n-jc|0;n=c[sc>>2]|0;m=n+kc|0;c[uc>>2]=m;c[xb>>2]=jc-ic;ic=c[Za>>2]|0;c[yb>>2]=ic+hc;c[zb>>2]=gc-fc;fc=c[ab>>2]|0;c[Ab>>2]=fc+ec;c[Bb>>2]=dc-cc;cc=c[db>>2]|0;c[Cb>>2]=cc+bc;$b=c[gb>>2]|0;c[Db>>2]=ac-$b;c[Eb>>2]=$b+ac;c[Fb>>2]=bc-cc;c[Gb>>2]=(c[jb>>2]|0)+dc;c[Hb>>2]=ec-fc;c[Ib>>2]=(c[mb>>2]|0)+gc;c[Jb>>2]=hc-ic;c[Kb>>2]=(c[pb>>2]|0)+jc;c[Lb>>2]=kc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[p+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[p+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break b;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=p;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);o=o+1|0;if(o>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;p=p+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){i=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(i,p)|0);c[u>>2]=(r(m,t)|0)+(r(i,s)|0);c[x>>2]=(r(m,w)|0)+(r(i,v)|0);c[A>>2]=(r(m,z)|0)+(r(i,y)|0);c[D>>2]=(r(m,C)|0)+(r(i,B)|0);c[G>>2]=(r(m,F)|0)+(r(i,E)|0);c[J>>2]=(r(m,I)|0)+(r(i,H)|0);c[M>>2]=(r(m,L)|0)+(r(i,K)|0);c[P>>2]=(r(m,O)|0)+(r(i,N)|0);c[S>>2]=(r(m,R)|0)+(r(i,Q)|0);c[V>>2]=(r(m,U)|0)+(r(i,T)|0);c[Y>>2]=(r(m,X)|0)+(r(i,W)|0);c[$>>2]=(r(m,_)|0)+(r(i,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(i,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(i,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(i,ga)|0);i=b[f+128>>1]|0;m=r(i,ja)|0;c[sc>>2]=m;qc=r(i,ka)|0;c[la>>2]=qc;nc=r(i,ma)|0;c[na>>2]=nc;lc=r(i,oa)|0;c[pa>>2]=lc;kc=r(i,qa)|0;c[ra>>2]=kc;mc=r(i,sa)|0;c[ta>>2]=mc;oc=r(i,ua)|0;c[va>>2]=oc;i=r(i,wa)|0;c[xa>>2]=i;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;pc=b[f>>1]|0;n=r(pc,e)|0;pc=r(o,pc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-i;c[za>>2]=qc+pc;c[Aa>>2]=pc-oc;c[Ba>>2]=nc+pc;c[Ca>>2]=pc-mc;c[Da>>2]=lc+n;c[Ea>>2]=n-kc;c[Fa>>2]=kc+n;c[Ga>>2]=n-lc;c[Ha>>2]=mc+pc;c[Ia>>2]=pc-nc;c[Ja>>2]=oc+pc;c[Ka>>2]=pc-qc;c[La>>2]=i+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){jc=b[f+64>>1]|0;mc=b[f+192>>1]|0;ic=b[f+320>>1]|0;pc=b[f+448>>1]|0;c[rc>>2]=(r(mc,q)|0)+(r(jc,p)|0)+(r(ic,s)|0)+(r(pc,t)|0);c[y>>2]=(r(mc,v)|0)+(r(jc,u)|0)+(r(ic,w)|0)+(r(pc,x)|0);c[D>>2]=(r(mc,A)|0)+(r(jc,z)|0)+(r(ic,B)|0)+(r(pc,C)|0);c[I>>2]=(r(mc,F)|0)+(r(jc,E)|0)+(r(ic,G)|0)+(r(pc,H)|0);c[N>>2]=(r(mc,K)|0)+(r(jc,J)|0)+(r(ic,L)|0)+(r(pc,M)|0);c[S>>2]=(r(mc,P)|0)+(r(jc,O)|0)+(r(ic,Q)|0)+(r(pc,R)|0);c[X>>2]=(r(mc,U)|0)+(r(jc,T)|0)+(r(ic,V)|0)+(r(pc,W)|0);c[aa>>2]=(r(mc,Z)|0)+(r(jc,Y)|0)+(r(ic,_)|0)+(r(pc,$)|0);c[fa>>2]=(r(mc,ca)|0)+(r(jc,ba)|0)+(r(ic,da)|0)+(r(pc,ea)|0);c[ka>>2]=(r(mc,ha)|0)+(r(jc,ga)|0)+(r(ic,ia)|0)+(r(pc,ja)|0);c[pa>>2]=(r(mc,ma)|0)+(r(jc,la)|0)+(r(ic,na)|0)+(r(pc,oa)|0);c[ua>>2]=(r(mc,ra)|0)+(r(jc,qa)|0)+(r(ic,sa)|0)+(r(pc,ta)|0);c[za>>2]=(r(mc,wa)|0)+(r(jc,va)|0)+(r(ic,xa)|0)+(r(pc,ya)|0);c[Ea>>2]=(r(mc,Ba)|0)+(r(jc,Aa)|0)+(r(ic,Ca)|0)+(r(pc,Da)|0);c[Ja>>2]=(r(mc,Ga)|0)+(r(jc,Fa)|0)+(r(ic,Ha)|0)+(r(pc,Ia)|0);c[Oa>>2]=(r(mc,La)|0)+(r(jc,Ka)|0)+(r(ic,Ma)|0)+(r(pc,Na)|0);pc=b[f+128>>1]|0;ic=b[f+384>>1]|0;c[sc>>2]=(r(ic,Qa)|0)+(r(pc,Pa)|0);c[Ta>>2]=(r(ic,Sa)|0)+(r(pc,Ra)|0);c[Wa>>2]=(r(ic,Va)|0)+(r(pc,Ua)|0);c[Za>>2]=(r(ic,Ya)|0)+(r(pc,Xa)|0);c[ab>>2]=(r(ic,$a)|0)+(r(pc,_a)|0);jc=(r(ic,cb)|0)+(r(pc,bb)|0)|0;c[db>>2]=jc;mc=(r(ic,fb)|0)+(r(pc,eb)|0)|0;c[gb>>2]=mc;pc=(r(ic,ib)|0)+(r(pc,hb)|0)|0;c[jb>>2]=pc;ic=b[f+256>>1]|0;qc=r(ic,kb)|0;c[tc>>2]=qc;nc=r(ic,lb)|0;c[mb>>2]=nc;lc=r(ic,nb)|0;c[ob>>2]=lc;ic=r(ic,pb)|0;c[qb>>2]=ic;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;i=qc+n|0;hc=n-ic|0;oc=nc+m|0;kc=m-lc|0;lc=lc+m|0;nc=m-nc|0;ic=ic+n|0;qc=n-qc|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;c[rb>>2]=qc-pc;pc=c[Ta>>2]|0;c[sb>>2]=pc+oc;c[tb>>2]=nc-mc;mc=c[Wa>>2]|0;c[ub>>2]=mc+lc;c[vb>>2]=kc-jc;jc=c[Za>>2]|0;c[wb>>2]=jc+ic;gc=c[ab>>2]|0;c[xb>>2]=hc-gc;c[yb>>2]=gc+hc;c[zb>>2]=ic-jc;c[Ab>>2]=(c[db>>2]|0)+kc;c[Bb>>2]=lc-mc;c[Cb>>2]=(c[gb>>2]|0)+nc;c[Db>>2]=oc-pc;c[Eb>>2]=(c[jb>>2]|0)+qc;c[Fb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{i=r(n,b[34368+(m<<1)>>1]|0)|0;i=(r(l,b[34496+(m<<1)>>1]|0)|0)+i|0;i=i+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;i=i+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;i=i+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;i=i+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;i=i+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;i=i+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;i=i+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;i=i+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;i=i+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;i=i+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;i=i+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;i=i+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;i=i+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=i+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);pc=b[f+128>>1]|0;m=b[f+384>>1]|0;mc=b[f+640>>1]|0;i=b[f+896>>1]|0;n=b[f+1152>>1]|0;jc=b[f+1408>>1]|0;ec=b[f+1664>>1]|0;fc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(pc,L)|0)+(r(mc,N)|0)+(r(i,O)|0)+(r(n,P)|0)+(r(jc,Q)|0)+(r(ec,R)|0)+(r(fc,S)|0);c[$>>2]=(r(m,U)|0)+(r(pc,T)|0)+(r(mc,V)|0)+(r(i,W)|0)+(r(n,X)|0)+(r(jc,Y)|0)+(r(ec,Z)|0)+(r(fc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(pc,aa)|0)+(r(mc,ca)|0)+(r(i,da)|0)+(r(n,ea)|0)+(r(jc,fa)|0)+(r(ec,ga)|0)+(r(fc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(pc,ja)|0)+(r(mc,la)|0)+(r(i,ma)|0)+(r(n,na)|0)+(r(jc,oa)|0)+(r(ec,pa)|0)+(r(fc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(pc,sa)|0)+(r(mc,ua)|0)+(r(i,va)|0)+(r(n,wa)|0)+(r(jc,xa)|0)+(r(ec,ya)|0)+(r(fc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(pc,Ba)|0)+(r(mc,Da)|0)+(r(i,Ea)|0)+(r(n,Fa)|0)+(r(jc,Ga)|0)+(r(ec,Ha)|0)+(r(fc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(pc,Ka)|0)+(r(mc,Ma)|0)+(r(i,Na)|0)+(r(n,Oa)|0)+(r(jc,Pa)|0)+(r(ec,Qa)|0)+(r(fc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(pc,Ta)|0)+(r(mc,Va)|0)+(r(i,Wa)|0)+(r(n,Xa)|0)+(r(jc,Ya)|0)+(r(ec,Za)|0)+(r(fc,_a)|0);fc=b[f+256>>1]|0;ec=b[f+768>>1]|0;jc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;i=(r(ec,bb)|0)+(r(fc,ab)|0)+(r(jc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=i;mc=(r(ec,fb)|0)+(r(fc,eb)|0)+(r(jc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=mc;pc=(r(ec,kb)|0)+(r(fc,jb)|0)+(r(jc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=pc;n=(r(ec,pb)|0)+(r(fc,ob)|0)+(r(jc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;jc=b[f+512>>1]|0;fc=r(jc,D)|0;ec=b[f+1536>>1]|0;fc=(r(ec,E)|0)+fc|0;jc=(r(G,ec)|0)+(r(F,jc)|0)|0;ec=b[f>>1]|0;m=r(ec,H)|0;qc=b[f+1024>>1]|0;m=(r(qc,I)|0)+m|0;ec=(r(K,qc)|0)+(r(J,ec)|0)|0;qc=m+fc|0;fc=m-fc|0;m=ec+jc|0;jc=ec-jc|0;i=i+qc|0;ec=fc-n|0;nc=mc+m|0;ic=jc-pc|0;jc=pc+jc|0;mc=m-mc|0;fc=n+fc|0;qc=qc-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+i|0;c[uc>>2]=m;pc=c[$a>>2]|0;c[tb>>2]=qc-pc;oc=c[$>>2]|0;c[ub>>2]=oc+nc;lc=c[Sa>>2]|0;c[vb>>2]=mc-lc;kc=c[ia>>2]|0;c[wb>>2]=kc+jc;hc=c[Ja>>2]|0;c[xb>>2]=ic-hc;gc=c[ra>>2]|0;c[yb>>2]=gc+fc;dc=c[Aa>>2]|0;c[zb>>2]=ec-dc;c[Ab>>2]=dc+ec;c[Bb>>2]=fc-gc;c[Cb>>2]=hc+ic;c[Db>>2]=jc-kc;c[Eb>>2]=lc+mc;c[Fb>>2]=nc-oc;c[Gb>>2]=pc+qc;c[Hb>>2]=i-n;n=0;while(1){i=(c[rc+(n<<2)>>2]|0)+m|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+n>>0]|0)|0;i=(i|0)>0?i:0;a[h+n>>0]=(i|0)<255?i:255;i=15-n|0;i=(c[uc+(i<<2)>>2]|0)-(c[rc+(i<<2)>>2]|0)|0;m=n+16|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[g+m>>0]|0)|0;i=(i|0)>0?i:0;a[h+m>>0]=(i|0)<255?i:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}G=i*9|0;H=i*11|0;I=i*13|0;J=i*15|0;K=i*17|0;L=i*19|0;M=i*21|0;N=i*23|0;O=i*25|0;P=i*27|0;Q=i*29|0;R=i*31|0;S=i<<1;T=i*6|0;U=i*10|0;V=i*14|0;W=i*18|0;X=i*22|0;Y=i*26|0;Z=i*30|0;_=i<<2;$=i*12|0;aa=i*20|0;ba=i*28|0;ca=b[17408]|0;da=i<<3;ea=b[17920]|0;fa=i*24|0;ga=b[17409]|0;ha=b[17921]|0;ia=b[17152]|0;ja=b[17664]|0;ka=i<<4;la=b[17153]|0;ma=b[17665]|0;na=b[17216]|0;oa=b[17344]|0;pa=b[17472]|0;qa=b[17600]|0;ra=b[17728]|0;sa=b[17856]|0;ta=b[17984]|0;ua=b[18112]|0;va=b[17217]|0;wa=b[17345]|0;xa=b[17473]|0;ya=b[17601]|0;za=b[17729]|0;Aa=b[17857]|0;Ba=b[17985]|0;Ca=b[18113]|0;Da=sc+4|0;Ea=b[17218]|0;Fa=b[17346]|0;Ga=b[17474]|0;Ha=b[17602]|0;Ia=b[17730]|0;Ja=b[17858]|0;Ka=b[17986]|0;La=b[18114]|0;Ma=sc+8|0;Na=b[17219]|0;Oa=b[17347]|0;Pa=b[17475]|0;Qa=b[17603]|0;Ra=b[17731]|0;Sa=b[17859]|0;Ta=b[17987]|0;Ua=b[18115]|0;Va=sc+12|0;Wa=b[17220]|0;Xa=b[17348]|0;Ya=b[17476]|0;Za=b[17604]|0;_a=b[17732]|0;$a=b[17860]|0;ab=b[17988]|0;bb=b[18116]|0;cb=sc+16|0;db=b[17221]|0;eb=b[17349]|0;fb=b[17477]|0;gb=b[17605]|0;hb=b[17733]|0;ib=b[17861]|0;jb=b[17989]|0;kb=b[18117]|0;lb=sc+20|0;mb=b[17222]|0;nb=b[17350]|0;ob=b[17478]|0;pb=b[17606]|0;qb=b[17734]|0;rb=b[17862]|0;sb=b[17990]|0;tb=b[18118]|0;ub=sc+24|0;vb=b[17223]|0;wb=b[17351]|0;xb=b[17479]|0;yb=b[17607]|0;zb=b[17735]|0;Ab=b[17863]|0;Bb=b[17991]|0;Cb=b[18119]|0;Db=sc+28|0;Eb=b[17280]|0;Fb=b[17536]|0;Gb=b[17792]|0;Hb=b[18048]|0;Ib=b[17281]|0;Jb=b[17537]|0;Kb=b[17793]|0;Lb=b[18049]|0;Mb=tc+4|0;Nb=b[17282]|0;Ob=b[17538]|0;Pb=b[17794]|0;Qb=b[18050]|0;Rb=tc+8|0;Tb=b[17283]|0;Ub=b[17539]|0;Vb=b[17795]|0;Wb=b[18051]|0;Xb=tc+12|0;Yb=uc+32|0;Zb=uc+4|0;_b=uc+36|0;$b=uc+8|0;ac=uc+40|0;bc=uc+12|0;cc=uc+44|0;dc=uc+16|0;ec=uc+48|0;fc=uc+20|0;gc=uc+52|0;hc=uc+24|0;ic=uc+56|0;jc=uc+28|0;kc=uc+60|0;E=0;F=f;while(1){c:do if(!(l&1)){n=b[e+(i<<1)>>1]|0;o=b[e+(lc<<1)>>1]|0;p=b[e+(mc<<1)>>1]|0;q=b[e+(nc<<1)>>1]|0;s=b[e+(G<<1)>>1]|0;t=b[e+(H<<1)>>1]|0;u=b[e+(I<<1)>>1]|0;v=b[e+(J<<1)>>1]|0;w=b[e+(K<<1)>>1]|0;x=b[e+(L<<1)>>1]|0;y=b[e+(M<<1)>>1]|0;z=b[e+(N<<1)>>1]|0;A=b[e+(O<<1)>>1]|0;B=b[e+(P<<1)>>1]|0;C=b[e+(Q<<1)>>1]|0;D=b[e+(R<<1)>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(o,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(p,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(B,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(C,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(D,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);C=b[e+(S<<1)>>1]|0;m=b[e+(T<<1)>>1]|0;z=b[e+(U<<1)>>1]|0;wc=b[e+(V<<1)>>1]|0;n=b[e+(W<<1)>>1]|0;w=b[e+(X<<1)>>1]|0;q=b[e+(Y<<1)>>1]|0;s=b[e+(Z<<1)>>1]|0;c[sc>>2]=(r(m,oa)|0)+(r(C,na)|0)+(r(z,pa)|0)+(r(wc,qa)|0)+(r(n,ra)|0)+(r(w,sa)|0)+(r(q,ta)|0)+(r(s,ua)|0);c[Da>>2]=(r(m,wa)|0)+(r(C,va)|0)+(r(z,xa)|0)+(r(wc,ya)|0)+(r(n,za)|0)+(r(w,Aa)|0)+(r(q,Ba)|0)+(r(s,Ca)|0);c[Ma>>2]=(r(m,Fa)|0)+(r(C,Ea)|0)+(r(z,Ga)|0)+(r(wc,Ha)|0)+(r(n,Ia)|0)+(r(w,Ja)|0)+(r(q,Ka)|0)+(r(s,La)|0);c[Va>>2]=(r(m,Oa)|0)+(r(C,Na)|0)+(r(z,Pa)|0)+(r(wc,Qa)|0)+(r(n,Ra)|0)+(r(w,Sa)|0)+(r(q,Ta)|0)+(r(s,Ua)|0);c[cb>>2]=(r(m,Xa)|0)+(r(C,Wa)|0)+(r(z,Ya)|0)+(r(wc,Za)|0)+(r(n,_a)|0)+(r(w,$a)|0)+(r(q,ab)|0)+(r(s,bb)|0);c[lb>>2]=(r(m,eb)|0)+(r(C,db)|0)+(r(z,fb)|0)+(r(wc,gb)|0)+(r(n,hb)|0)+(r(w,ib)|0)+(r(q,jb)|0)+(r(s,kb)|0);c[ub>>2]=(r(m,nb)|0)+(r(C,mb)|0)+(r(z,ob)|0)+(r(wc,pb)|0)+(r(n,qb)|0)+(r(w,rb)|0)+(r(q,sb)|0)+(r(s,tb)|0);c[Db>>2]=(r(m,wb)|0)+(r(C,vb)|0)+(r(z,xb)|0)+(r(wc,yb)|0)+(r(n,zb)|0)+(r(w,Ab)|0)+(r(q,Bb)|0)+(r(s,Cb)|0);s=b[e+(_<<1)>>1]|0;q=b[e+($<<1)>>1]|0;w=b[e+(aa<<1)>>1]|0;n=b[e+(ba<<1)>>1]|0;wc=(r(q,Fb)|0)+(r(s,Eb)|0)+(r(w,Gb)|0)+(r(n,Hb)|0)|0;c[tc>>2]=wc;z=(r(q,Jb)|0)+(r(s,Ib)|0)+(r(w,Kb)|0)+(r(n,Lb)|0)|0;c[Mb>>2]=z;C=(r(q,Ob)|0)+(r(s,Nb)|0)+(r(w,Pb)|0)+(r(n,Qb)|0)|0;c[Rb>>2]=C;n=(r(q,Ub)|0)+(r(s,Tb)|0)+(r(w,Vb)|0)+(r(n,Wb)|0)|0;c[Xb>>2]=n;w=b[e+(da<<1)>>1]|0;s=r(w,ca)|0;q=b[e+(fa<<1)>>1]|0;s=(r(q,ea)|0)+s|0;w=(r(ha,q)|0)+(r(ga,w)|0)|0;q=b[e>>1]|0;m=r(q,ia)|0;D=b[e+(ka<<1)>>1]|0;m=(r(D,ja)|0)+m|0;q=(r(ma,D)|0)+(r(la,q)|0)|0;D=m+s|0;s=m-s|0;m=q+w|0;w=q-w|0;wc=wc+D|0;q=s-n|0;A=z+m|0;v=w-C|0;w=C+w|0;z=m-z|0;s=n+s|0;D=D-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;C=c[Db>>2]|0;c[Yb>>2]=D-C;B=c[Da>>2]|0;c[Zb>>2]=B+A;y=c[ub>>2]|0;c[_b>>2]=z-y;x=c[Ma>>2]|0;c[$b>>2]=x+w;u=c[lb>>2]|0;c[ac>>2]=v-u;t=c[Va>>2]|0;c[bc>>2]=t+s;p=c[cb>>2]|0;c[cc>>2]=q-p;c[dc>>2]=p+q;c[ec>>2]=s-t;c[fc>>2]=u+v;c[gc>>2]=w-x;c[hc>>2]=y+z;c[ic>>2]=A-B;c[jc>>2]=C+D;c[kc>>2]=wc-n;n=0;while(1){m=(c[rc+(n<<2)>>2]|0)+m|0;b[F+(n<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=15-n|0;m=(c[uc+(m<<2)>>2]|0)-(c[rc+(m<<2)>>2]|0)|0;b[F+(n+16<<1)>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=n+1|0;if((m|0)==16)break c;n=m;m=c[uc+(m<<2)>>2]|0}}else{m=F;n=m+64|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}while(0);E=E+1|0;if(E>>>0>=oc>>>0)break;else{l=l>>1;e=e+2|0;F=F+64|0}}if(pc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17185]|0;t=b[17249]|0;u=rc+4|0;v=b[17186]|0;w=b[17250]|0;x=rc+8|0;y=b[17187]|0;z=b[17251]|0;A=rc+12|0;B=b[17188]|0;C=b[17252]|0;D=rc+16|0;E=b[17189]|0;F=b[17253]|0;G=rc+20|0;H=b[17190]|0;I=b[17254]|0;J=rc+24|0;K=b[17191]|0;L=b[17255]|0;M=rc+28|0;N=b[17192]|0;O=b[17256]|0;P=rc+32|0;Q=b[17193]|0;R=b[17257]|0;S=rc+36|0;T=b[17194]|0;U=b[17258]|0;V=rc+40|0;W=b[17195]|0;X=b[17259]|0;Y=rc+44|0;Z=b[17196]|0;_=b[17260]|0;$=rc+48|0;aa=b[17197]|0;ba=b[17261]|0;ca=rc+52|0;da=b[17198]|0;ea=b[17262]|0;fa=rc+56|0;ga=b[17199]|0;ha=b[17263]|0;ia=rc+60|0;ja=b[17216]|0;ka=b[17217]|0;la=sc+4|0;ma=b[17218]|0;na=sc+8|0;oa=b[17219]|0;pa=sc+12|0;qa=b[17220]|0;ra=sc+16|0;sa=b[17221]|0;ta=sc+20|0;ua=b[17222]|0;va=sc+24|0;wa=b[17223]|0;xa=sc+28|0;ya=uc+32|0;za=uc+4|0;Aa=uc+36|0;Ba=uc+8|0;Ca=uc+40|0;Da=uc+12|0;Ea=uc+44|0;Fa=uc+16|0;Ga=uc+48|0;Ha=uc+20|0;Ia=uc+52|0;Ja=uc+24|0;Ka=uc+56|0;La=uc+28|0;Ma=uc+60|0;l=0;while(1){wc=b[f+64>>1]|0;m=b[f+192>>1]|0;c[rc>>2]=(r(m,q)|0)+(r(wc,p)|0);c[u>>2]=(r(m,t)|0)+(r(wc,s)|0);c[x>>2]=(r(m,w)|0)+(r(wc,v)|0);c[A>>2]=(r(m,z)|0)+(r(wc,y)|0);c[D>>2]=(r(m,C)|0)+(r(wc,B)|0);c[G>>2]=(r(m,F)|0)+(r(wc,E)|0);c[J>>2]=(r(m,I)|0)+(r(wc,H)|0);c[M>>2]=(r(m,L)|0)+(r(wc,K)|0);c[P>>2]=(r(m,O)|0)+(r(wc,N)|0);c[S>>2]=(r(m,R)|0)+(r(wc,Q)|0);c[V>>2]=(r(m,U)|0)+(r(wc,T)|0);c[Y>>2]=(r(m,X)|0)+(r(wc,W)|0);c[$>>2]=(r(m,_)|0)+(r(wc,Z)|0);c[ca>>2]=(r(m,ba)|0)+(r(wc,aa)|0);c[fa>>2]=(r(m,ea)|0)+(r(wc,da)|0);c[ia>>2]=(r(m,ha)|0)+(r(wc,ga)|0);wc=b[f+128>>1]|0;m=r(wc,ja)|0;c[sc>>2]=m;i=r(wc,ka)|0;c[la>>2]=i;oc=r(wc,ma)|0;c[na>>2]=oc;mc=r(wc,oa)|0;c[pa>>2]=mc;lc=r(wc,qa)|0;c[ra>>2]=lc;nc=r(wc,sa)|0;c[ta>>2]=nc;pc=r(wc,ua)|0;c[va>>2]=pc;wc=r(wc,wa)|0;c[xa>>2]=wc;c[tc>>2]=0;c[tc+4>>2]=0;c[tc+8>>2]=0;c[tc+12>>2]=0;qc=b[f>>1]|0;n=r(qc,e)|0;qc=r(o,qc)|0;m=m+n|0;c[uc>>2]=m;c[ya>>2]=n-wc;c[za>>2]=i+qc;c[Aa>>2]=qc-pc;c[Ba>>2]=oc+qc;c[Ca>>2]=qc-nc;c[Da>>2]=mc+n;c[Ea>>2]=n-lc;c[Fa>>2]=lc+n;c[Ga>>2]=n-mc;c[Ha>>2]=nc+qc;c[Ia>>2]=qc-oc;c[Ja>>2]=pc+qc;c[Ka>>2]=qc-i;c[La>>2]=wc+n;c[Ma>>2]=n-(c[sc>>2]|0);n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{g=g+j|0;h=h+k|0;f=f+2|0}}Sb=vc;return}if(qc){e=b[17152]|0;o=b[17153]|0;p=b[17184]|0;q=b[17248]|0;s=b[17312]|0;t=b[17376]|0;u=b[17185]|0;v=b[17249]|0;w=b[17313]|0;x=b[17377]|0;y=rc+4|0;z=b[17186]|0;A=b[17250]|0;B=b[17314]|0;C=b[17378]|0;D=rc+8|0;E=b[17187]|0;F=b[17251]|0;G=b[17315]|0;H=b[17379]|0;I=rc+12|0;J=b[17188]|0;K=b[17252]|0;L=b[17316]|0;M=b[17380]|0;N=rc+16|0;O=b[17189]|0;P=b[17253]|0;Q=b[17317]|0;R=b[17381]|0;S=rc+20|0;T=b[17190]|0;U=b[17254]|0;V=b[17318]|0;W=b[17382]|0;X=rc+24|0;Y=b[17191]|0;Z=b[17255]|0;_=b[17319]|0;$=b[17383]|0;aa=rc+28|0;ba=b[17192]|0;ca=b[17256]|0;da=b[17320]|0;ea=b[17384]|0;fa=rc+32|0;ga=b[17193]|0;ha=b[17257]|0;ia=b[17321]|0;ja=b[17385]|0;ka=rc+36|0;la=b[17194]|0;ma=b[17258]|0;na=b[17322]|0;oa=b[17386]|0;pa=rc+40|0;qa=b[17195]|0;ra=b[17259]|0;sa=b[17323]|0;ta=b[17387]|0;ua=rc+44|0;va=b[17196]|0;wa=b[17260]|0;xa=b[17324]|0;ya=b[17388]|0;za=rc+48|0;Aa=b[17197]|0;Ba=b[17261]|0;Ca=b[17325]|0;Da=b[17389]|0;Ea=rc+52|0;Fa=b[17198]|0;Ga=b[17262]|0;Ha=b[17326]|0;Ia=b[17390]|0;Ja=rc+56|0;Ka=b[17199]|0;La=b[17263]|0;Ma=b[17327]|0;Na=b[17391]|0;Oa=rc+60|0;Pa=b[17216]|0;Qa=b[17344]|0;Ra=b[17217]|0;Sa=b[17345]|0;Ta=sc+4|0;Ua=b[17218]|0;Va=b[17346]|0;Wa=sc+8|0;Xa=b[17219]|0;Ya=b[17347]|0;Za=sc+12|0;_a=b[17220]|0;$a=b[17348]|0;ab=sc+16|0;bb=b[17221]|0;cb=b[17349]|0;db=sc+20|0;eb=b[17222]|0;fb=b[17350]|0;gb=sc+24|0;hb=b[17223]|0;ib=b[17351]|0;jb=sc+28|0;kb=b[17280]|0;lb=b[17281]|0;mb=tc+4|0;nb=b[17282]|0;ob=tc+8|0;pb=b[17283]|0;qb=tc+12|0;rb=uc+32|0;sb=uc+4|0;tb=uc+36|0;ub=uc+8|0;vb=uc+40|0;wb=uc+12|0;xb=uc+44|0;yb=uc+16|0;zb=uc+48|0;Ab=uc+20|0;Bb=uc+52|0;Cb=uc+24|0;Db=uc+56|0;Eb=uc+28|0;Fb=uc+60|0;l=0;while(1){kc=b[f+64>>1]|0;nc=b[f+192>>1]|0;jc=b[f+320>>1]|0;qc=b[f+448>>1]|0;c[rc>>2]=(r(nc,q)|0)+(r(kc,p)|0)+(r(jc,s)|0)+(r(qc,t)|0);c[y>>2]=(r(nc,v)|0)+(r(kc,u)|0)+(r(jc,w)|0)+(r(qc,x)|0);c[D>>2]=(r(nc,A)|0)+(r(kc,z)|0)+(r(jc,B)|0)+(r(qc,C)|0);c[I>>2]=(r(nc,F)|0)+(r(kc,E)|0)+(r(jc,G)|0)+(r(qc,H)|0);c[N>>2]=(r(nc,K)|0)+(r(kc,J)|0)+(r(jc,L)|0)+(r(qc,M)|0);c[S>>2]=(r(nc,P)|0)+(r(kc,O)|0)+(r(jc,Q)|0)+(r(qc,R)|0);c[X>>2]=(r(nc,U)|0)+(r(kc,T)|0)+(r(jc,V)|0)+(r(qc,W)|0);c[aa>>2]=(r(nc,Z)|0)+(r(kc,Y)|0)+(r(jc,_)|0)+(r(qc,$)|0);c[fa>>2]=(r(nc,ca)|0)+(r(kc,ba)|0)+(r(jc,da)|0)+(r(qc,ea)|0);c[ka>>2]=(r(nc,ha)|0)+(r(kc,ga)|0)+(r(jc,ia)|0)+(r(qc,ja)|0);c[pa>>2]=(r(nc,ma)|0)+(r(kc,la)|0)+(r(jc,na)|0)+(r(qc,oa)|0);c[ua>>2]=(r(nc,ra)|0)+(r(kc,qa)|0)+(r(jc,sa)|0)+(r(qc,ta)|0);c[za>>2]=(r(nc,wa)|0)+(r(kc,va)|0)+(r(jc,xa)|0)+(r(qc,ya)|0);c[Ea>>2]=(r(nc,Ba)|0)+(r(kc,Aa)|0)+(r(jc,Ca)|0)+(r(qc,Da)|0);c[Ja>>2]=(r(nc,Ga)|0)+(r(kc,Fa)|0)+(r(jc,Ha)|0)+(r(qc,Ia)|0);c[Oa>>2]=(r(nc,La)|0)+(r(kc,Ka)|0)+(r(jc,Ma)|0)+(r(qc,Na)|0);qc=b[f+128>>1]|0;jc=b[f+384>>1]|0;c[sc>>2]=(r(jc,Qa)|0)+(r(qc,Pa)|0);c[Ta>>2]=(r(jc,Sa)|0)+(r(qc,Ra)|0);c[Wa>>2]=(r(jc,Va)|0)+(r(qc,Ua)|0);c[Za>>2]=(r(jc,Ya)|0)+(r(qc,Xa)|0);c[ab>>2]=(r(jc,$a)|0)+(r(qc,_a)|0);kc=(r(jc,cb)|0)+(r(qc,bb)|0)|0;c[db>>2]=kc;nc=(r(jc,fb)|0)+(r(qc,eb)|0)|0;c[gb>>2]=nc;qc=(r(jc,ib)|0)+(r(qc,hb)|0)|0;c[jb>>2]=qc;jc=b[f+256>>1]|0;i=r(jc,kb)|0;c[tc>>2]=i;oc=r(jc,lb)|0;c[mb>>2]=oc;mc=r(jc,nb)|0;c[ob>>2]=mc;jc=r(jc,pb)|0;c[qb>>2]=jc;m=b[f>>1]|0;n=r(m,e)|0;m=r(o,m)|0;wc=i+n|0;ic=n-jc|0;pc=oc+m|0;lc=m-mc|0;mc=mc+m|0;oc=m-oc|0;jc=jc+n|0;i=n-i|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;c[rb>>2]=i-qc;qc=c[Ta>>2]|0;c[sb>>2]=qc+pc;c[tb>>2]=oc-nc;nc=c[Wa>>2]|0;c[ub>>2]=nc+mc;c[vb>>2]=lc-kc;kc=c[Za>>2]|0;c[wb>>2]=kc+jc;hc=c[ab>>2]|0;c[xb>>2]=ic-hc;c[yb>>2]=hc+ic;c[zb>>2]=jc-kc;c[Ab>>2]=(c[db>>2]|0)+lc;c[Bb>>2]=mc-nc;c[Cb>>2]=(c[gb>>2]|0)+oc;c[Db>>2]=pc-qc;c[Eb>>2]=(c[jb>>2]|0)+i;c[Fb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}l=l+1|0;if((l|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}D=b[17408]|0;E=b[17920]|0;F=b[17409]|0;G=b[17921]|0;H=b[17152]|0;I=b[17664]|0;J=b[17153]|0;K=b[17665]|0;L=b[17216]|0;M=b[17344]|0;N=b[17472]|0;O=b[17600]|0;P=b[17728]|0;Q=b[17856]|0;R=b[17984]|0;S=b[18112]|0;T=b[17217]|0;U=b[17345]|0;V=b[17473]|0;W=b[17601]|0;X=b[17729]|0;Y=b[17857]|0;Z=b[17985]|0;_=b[18113]|0;$=sc+4|0;aa=b[17218]|0;ba=b[17346]|0;ca=b[17474]|0;da=b[17602]|0;ea=b[17730]|0;fa=b[17858]|0;ga=b[17986]|0;ha=b[18114]|0;ia=sc+8|0;ja=b[17219]|0;ka=b[17347]|0;la=b[17475]|0;ma=b[17603]|0;na=b[17731]|0;oa=b[17859]|0;pa=b[17987]|0;qa=b[18115]|0;ra=sc+12|0;sa=b[17220]|0;ta=b[17348]|0;ua=b[17476]|0;va=b[17604]|0;wa=b[17732]|0;xa=b[17860]|0;ya=b[17988]|0;za=b[18116]|0;Aa=sc+16|0;Ba=b[17221]|0;Ca=b[17349]|0;Da=b[17477]|0;Ea=b[17605]|0;Fa=b[17733]|0;Ga=b[17861]|0;Ha=b[17989]|0;Ia=b[18117]|0;Ja=sc+20|0;Ka=b[17222]|0;La=b[17350]|0;Ma=b[17478]|0;Na=b[17606]|0;Oa=b[17734]|0;Pa=b[17862]|0;Qa=b[17990]|0;Ra=b[18118]|0;Sa=sc+24|0;Ta=b[17223]|0;Ua=b[17351]|0;Va=b[17479]|0;Wa=b[17607]|0;Xa=b[17735]|0;Ya=b[17863]|0;Za=b[17991]|0;_a=b[18119]|0;$a=sc+28|0;ab=b[17280]|0;bb=b[17536]|0;cb=b[17792]|0;db=b[18048]|0;eb=b[17281]|0;fb=b[17537]|0;gb=b[17793]|0;hb=b[18049]|0;ib=tc+4|0;jb=b[17282]|0;kb=b[17538]|0;lb=b[17794]|0;mb=b[18050]|0;nb=tc+8|0;ob=b[17283]|0;pb=b[17539]|0;qb=b[17795]|0;rb=b[18051]|0;sb=tc+12|0;tb=uc+32|0;ub=uc+4|0;vb=uc+36|0;wb=uc+8|0;xb=uc+40|0;yb=uc+12|0;zb=uc+44|0;Ab=uc+16|0;Bb=uc+48|0;Cb=uc+20|0;Db=uc+52|0;Eb=uc+24|0;Fb=uc+56|0;Gb=uc+28|0;Hb=uc+60|0;C=0;while(1){n=b[f+64>>1]|0;l=b[f+192>>1]|0;e=b[f+320>>1]|0;o=b[f+448>>1]|0;p=b[f+576>>1]|0;q=b[f+704>>1]|0;s=b[f+832>>1]|0;t=b[f+960>>1]|0;u=b[f+1088>>1]|0;v=b[f+1216>>1]|0;w=b[f+1344>>1]|0;x=b[f+1472>>1]|0;y=b[f+1600>>1]|0;z=b[f+1728>>1]|0;A=b[f+1856>>1]|0;B=b[f+1984>>1]|0;m=0;do{wc=r(n,b[34368+(m<<1)>>1]|0)|0;wc=(r(l,b[34496+(m<<1)>>1]|0)|0)+wc|0;wc=wc+(r(e,b[34624+(m<<1)>>1]|0)|0)|0;wc=wc+(r(o,b[34752+(m<<1)>>1]|0)|0)|0;wc=wc+(r(p,b[34880+(m<<1)>>1]|0)|0)|0;wc=wc+(r(q,b[35008+(m<<1)>>1]|0)|0)|0;wc=wc+(r(s,b[35136+(m<<1)>>1]|0)|0)|0;wc=wc+(r(t,b[35264+(m<<1)>>1]|0)|0)|0;wc=wc+(r(u,b[35392+(m<<1)>>1]|0)|0)|0;wc=wc+(r(v,b[35520+(m<<1)>>1]|0)|0)|0;wc=wc+(r(w,b[35648+(m<<1)>>1]|0)|0)|0;wc=wc+(r(x,b[35776+(m<<1)>>1]|0)|0)|0;wc=wc+(r(y,b[35904+(m<<1)>>1]|0)|0)|0;wc=wc+(r(z,b[36032+(m<<1)>>1]|0)|0)|0;wc=wc+(r(A,b[36160+(m<<1)>>1]|0)|0)|0;c[rc+(m<<2)>>2]=wc+(r(B,b[36288+(m<<1)>>1]|0)|0);m=m+1|0}while((m|0)!=16);qc=b[f+128>>1]|0;m=b[f+384>>1]|0;nc=b[f+640>>1]|0;wc=b[f+896>>1]|0;n=b[f+1152>>1]|0;kc=b[f+1408>>1]|0;fc=b[f+1664>>1]|0;gc=b[f+1920>>1]|0;c[sc>>2]=(r(m,M)|0)+(r(qc,L)|0)+(r(nc,N)|0)+(r(wc,O)|0)+(r(n,P)|0)+(r(kc,Q)|0)+(r(fc,R)|0)+(r(gc,S)|0);c[$>>2]=(r(m,U)|0)+(r(qc,T)|0)+(r(nc,V)|0)+(r(wc,W)|0)+(r(n,X)|0)+(r(kc,Y)|0)+(r(fc,Z)|0)+(r(gc,_)|0);c[ia>>2]=(r(m,ba)|0)+(r(qc,aa)|0)+(r(nc,ca)|0)+(r(wc,da)|0)+(r(n,ea)|0)+(r(kc,fa)|0)+(r(fc,ga)|0)+(r(gc,ha)|0);c[ra>>2]=(r(m,ka)|0)+(r(qc,ja)|0)+(r(nc,la)|0)+(r(wc,ma)|0)+(r(n,na)|0)+(r(kc,oa)|0)+(r(fc,pa)|0)+(r(gc,qa)|0);c[Aa>>2]=(r(m,ta)|0)+(r(qc,sa)|0)+(r(nc,ua)|0)+(r(wc,va)|0)+(r(n,wa)|0)+(r(kc,xa)|0)+(r(fc,ya)|0)+(r(gc,za)|0);c[Ja>>2]=(r(m,Ca)|0)+(r(qc,Ba)|0)+(r(nc,Da)|0)+(r(wc,Ea)|0)+(r(n,Fa)|0)+(r(kc,Ga)|0)+(r(fc,Ha)|0)+(r(gc,Ia)|0);c[Sa>>2]=(r(m,La)|0)+(r(qc,Ka)|0)+(r(nc,Ma)|0)+(r(wc,Na)|0)+(r(n,Oa)|0)+(r(kc,Pa)|0)+(r(fc,Qa)|0)+(r(gc,Ra)|0);c[$a>>2]=(r(m,Ua)|0)+(r(qc,Ta)|0)+(r(nc,Va)|0)+(r(wc,Wa)|0)+(r(n,Xa)|0)+(r(kc,Ya)|0)+(r(fc,Za)|0)+(r(gc,_a)|0);gc=b[f+256>>1]|0;fc=b[f+768>>1]|0;kc=b[f+1280>>1]|0;n=b[f+1792>>1]|0;wc=(r(fc,bb)|0)+(r(gc,ab)|0)+(r(kc,cb)|0)+(r(n,db)|0)|0;c[tc>>2]=wc;nc=(r(fc,fb)|0)+(r(gc,eb)|0)+(r(kc,gb)|0)+(r(n,hb)|0)|0;c[ib>>2]=nc;qc=(r(fc,kb)|0)+(r(gc,jb)|0)+(r(kc,lb)|0)+(r(n,mb)|0)|0;c[nb>>2]=qc;n=(r(fc,pb)|0)+(r(gc,ob)|0)+(r(kc,qb)|0)+(r(n,rb)|0)|0;c[sb>>2]=n;kc=b[f+512>>1]|0;gc=r(kc,D)|0;fc=b[f+1536>>1]|0;gc=(r(fc,E)|0)+gc|0;kc=(r(G,fc)|0)+(r(F,kc)|0)|0;fc=b[f>>1]|0;m=r(fc,H)|0;i=b[f+1024>>1]|0;m=(r(i,I)|0)+m|0;fc=(r(K,i)|0)+(r(J,fc)|0)|0;i=m+gc|0;gc=m-gc|0;m=fc+kc|0;kc=fc-kc|0;wc=wc+i|0;fc=gc-n|0;oc=nc+m|0;jc=kc-qc|0;kc=qc+kc|0;nc=m-nc|0;gc=n+gc|0;i=i-(c[tc>>2]|0)|0;n=c[sc>>2]|0;m=n+wc|0;c[uc>>2]=m;qc=c[$a>>2]|0;c[tb>>2]=i-qc;pc=c[$>>2]|0;c[ub>>2]=pc+oc;mc=c[Sa>>2]|0;c[vb>>2]=nc-mc;lc=c[ia>>2]|0;c[wb>>2]=lc+kc;ic=c[Ja>>2]|0;c[xb>>2]=jc-ic;hc=c[ra>>2]|0;c[yb>>2]=hc+gc;ec=c[Aa>>2]|0;c[zb>>2]=fc-ec;c[Ab>>2]=ec+fc;c[Bb>>2]=gc-hc;c[Cb>>2]=ic+jc;c[Db>>2]=kc-lc;c[Eb>>2]=mc+nc;c[Fb>>2]=oc-pc;c[Gb>>2]=qc+i;c[Hb>>2]=wc-n;n=0;while(1){wc=(c[rc+(n<<2)>>2]|0)+m|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+n>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+n>>0]=(wc|0)<255?wc:255;wc=15-n|0;wc=(c[uc+(wc<<2)>>2]|0)-(c[rc+(wc<<2)>>2]|0)|0;m=n+16|0;wc=((wc|0)>134215679?32767:(wc|0)<-134219776?-32768:wc+2048>>12)+(d[g+m>>0]|0)|0;wc=(wc|0)>0?wc:0;a[h+m>>0]=(wc|0)<255?wc:255;m=n+1|0;if((m|0)==16)break;n=m;m=c[uc+(m<<2)>>2]|0}C=C+1|0;if((C|0)==32)break;else{f=f+2|0;g=g+j|0;h=h+k|0}}Sb=vc;return}function Df(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;fa=Sb;Sb=Sb+32|0;ea=fa+16|0;da=fa;$=(l&240|0)==240;Z=$?4:8;_=i*3|0;if((m&240|0)==240){t=b[16848]|0;u=i<<1;v=b[16849]|0;w=b[16832]|0;x=b[16833]|0;O=ea+12|0;P=ea+4|0;Q=ea+8|0;y=b[16840]|0;z=b[16856]|0;A=b[16841]|0;B=b[16857]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=da+8|0;G=b[16843]|0;H=b[16859]|0;I=da+12|0;q=f;s=0;n=c[Q>>2]|0;p=c[P>>2]|0;o=c[O>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){ca=b[e+(i<<1)>>1]|0;n=b[e+(_<<1)>>1]|0;Y=(r(n,z)|0)+(r(ca,y)|0)|0;c[da>>2]=Y;ba=(r(n,B)|0)+(r(ca,A)|0)|0;c[C>>2]=ba;aa=(r(n,E)|0)+(r(ca,D)|0)|0;c[F>>2]=aa;ca=(r(n,H)|0)+(r(ca,G)|0)|0;c[I>>2]=ca;n=b[e+(u<<1)>>1]|0;o=r(n,t)|0;n=r(v,n)|0;X=b[e>>1]|0;p=r(X,w)|0;X=r(x,X)|0;m=p+o|0;o=p-o|0;p=X+n|0;n=X-n|0;Y=Y+m|0;b[q>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=o-ca|0;b[q+8>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=ba+p|0;b[q+2>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;Y=n-aa|0;b[q+10>>1]=(Y|0)>4194239?32767:(Y|0)<-4194368?-32768:(Y+64|0)>>>7&65535;aa=aa+n|0;b[q+4>>1]=(aa|0)>4194239?32767:(aa|0)<-4194368?-32768:(aa+64|0)>>>7&65535;ba=p-ba|0;b[q+12>>1]=(ba|0)>4194239?32767:(ba|0)<-4194368?-32768:(ba+64|0)>>>7&65535;ca=ca+o|0;b[q+6>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535;ca=m-(c[da>>2]|0)|0;b[q+14>>1]=(ca|0)>4194239?32767:(ca|0)<-4194368?-32768:(ca+64|0)>>>7&65535}else{b[q>>1]=0;b[q+2>>1]=0;b[q+4>>1]=0;b[q+6>>1]=0;b[q+8>>1]=0;b[q+10>>1]=0;b[q+12>>1]=0;b[q+14>>1]=0}s=s+1|0;if(s>>>0>=Z>>>0)break;else{e=e+2|0;q=q+16|0;l=l>>1}}c[ea>>2]=m;c[O>>2]=o;c[P>>2]=p;c[Q>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;m=f;n=0;while(1){ba=b[m+16>>1]|0;$=b[m+48>>1]|0;ca=(r($,q)|0)+(r(ba,e)|0)|0;c[da>>2]=ca;c[u>>2]=(r($,t)|0)+(r(ba,s)|0);c[x>>2]=(r($,w)|0)+(r(ba,v)|0);c[A>>2]=(r($,z)|0)+(r(ba,y)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;ba=r(o,ba)|0;aa=b[m>>1]|0;i=r(aa,p)|0;aa=r(l,aa)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){aa=b[m+16>>1]|0;i=b[m+48>>1]|0;$=b[m+80>>1]|0;ba=b[m+112>>1]|0;ca=(r(i,v)|0)+(r(aa,u)|0)+(r($,w)|0)+(r(ba,x)|0)|0;c[da>>2]=ca;c[C>>2]=(r(i,z)|0)+(r(aa,y)|0)+(r($,A)|0)+(r(ba,B)|0);c[H>>2]=(r(i,E)|0)+(r(aa,D)|0)+(r($,F)|0)+(r(ba,G)|0);c[M>>2]=(r(i,J)|0)+(r(aa,I)|0)+(r($,K)|0)+(r(ba,L)|0);ba=b[m+32>>1]|0;$=r(ba,N)|0;aa=b[m+96>>1]|0;$=(r(aa,o)|0)+$|0;ba=(r(l,aa)|0)+(r(p,ba)|0)|0;aa=b[m>>1]|0;i=r(aa,e)|0;f=b[m+64>>1]|0;i=(r(f,q)|0)+i|0;aa=(r(t,f)|0)+(r(s,aa)|0)|0;f=i+$|0;c[ea>>2]=f;c[O>>2]=i-$;c[P>>2]=aa+ba;c[Q>>2]=aa-ba;f=ca+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[C>>2]|0)+(c[P>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Q>>2]|0)-(c[H>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[H>>2]|0)+(c[Q>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[P>>2]|0)-(c[C>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[ea>>2]|0)-(c[da>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}else{t=i*5|0;u=i*7|0;v=b[16848]|0;w=i<<1;x=b[16880]|0;y=i*6|0;z=b[16849]|0;A=b[16881]|0;B=b[16832]|0;C=b[16864]|0;D=i<<2;E=b[16833]|0;F=b[16865]|0;aa=ea+12|0;ba=ea+4|0;ca=ea+8|0;G=b[16840]|0;H=b[16856]|0;I=b[16872]|0;J=b[16888]|0;K=b[16841]|0;L=b[16857]|0;M=b[16873]|0;N=b[16889]|0;O=da+4|0;P=b[16842]|0;Q=b[16858]|0;R=b[16874]|0;S=b[16890]|0;T=da+8|0;U=b[16843]|0;V=b[16859]|0;W=b[16875]|0;X=b[16891]|0;Y=da+12|0;q=0;s=f;n=c[ca>>2]|0;p=c[ba>>2]|0;o=c[aa>>2]|0;m=c[ea>>2]|0;while(1){if(!(l&1)){o=b[e+(i<<1)>>1]|0;ka=b[e+(_<<1)>>1]|0;n=b[e+(t<<1)>>1]|0;ga=b[e+(u<<1)>>1]|0;ja=(r(ka,H)|0)+(r(o,G)|0)+(r(n,I)|0)+(r(ga,J)|0)|0;c[da>>2]=ja;ia=(r(ka,L)|0)+(r(o,K)|0)+(r(n,M)|0)+(r(ga,N)|0)|0;c[O>>2]=ia;ha=(r(ka,Q)|0)+(r(o,P)|0)+(r(n,R)|0)+(r(ga,S)|0)|0;c[T>>2]=ha;ga=(r(ka,V)|0)+(r(o,U)|0)+(r(n,W)|0)+(r(ga,X)|0)|0;c[Y>>2]=ga;n=b[e+(w<<1)>>1]|0;o=r(n,v)|0;ka=b[e+(y<<1)>>1]|0;o=(r(ka,x)|0)+o|0;n=(r(A,ka)|0)+(r(z,n)|0)|0;ka=b[e>>1]|0;p=r(ka,B)|0;m=b[e+(D<<1)>>1]|0;p=(r(m,C)|0)+p|0;ka=(r(F,m)|0)+(r(E,ka)|0)|0;m=p+o|0;o=p-o|0;p=ka+n|0;n=ka-n|0;ja=ja+m|0;b[s>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ja=o-ga|0;b[s+8>>1]=(ja|0)>4194239?32767:(ja|0)<-4194368?-32768:(ja+64|0)>>>7&65535;ia=ia+p|0;b[s+2>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ia=n-ha|0;b[s+10>>1]=(ia|0)>4194239?32767:(ia|0)<-4194368?-32768:(ia+64|0)>>>7&65535;ha=ha+n|0;b[s+4>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ha=p-(c[O>>2]|0)|0;b[s+12>>1]=(ha|0)>4194239?32767:(ha|0)<-4194368?-32768:(ha+64|0)>>>7&65535;ga=ga+o|0;b[s+6>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535;ga=m-(c[da>>2]|0)|0;b[s+14>>1]=(ga|0)>4194239?32767:(ga|0)<-4194368?-32768:(ga+64|0)>>>7&65535}else{b[s>>1]=0;b[s+2>>1]=0;b[s+4>>1]=0;b[s+6>>1]=0;b[s+8>>1]=0;b[s+10>>1]=0;b[s+12>>1]=0;b[s+14>>1]=0}q=q+1|0;if(q>>>0>=Z>>>0)break;else{l=l>>1;e=e+2|0;s=s+16|0}}c[ea>>2]=m;c[aa>>2]=o;c[ba>>2]=p;c[ca>>2]=n;N=b[16848]|0;if($){o=b[16849]|0;p=b[16832]|0;l=b[16833]|0;e=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=da+4|0;v=b[16842]|0;w=b[16858]|0;x=da+8|0;y=b[16843]|0;z=b[16859]|0;A=da+12|0;n=0;m=f;while(1){ia=b[m+16>>1]|0;ga=b[m+48>>1]|0;ja=(r(ga,q)|0)+(r(ia,e)|0)|0;c[da>>2]=ja;c[u>>2]=(r(ga,t)|0)+(r(ia,s)|0);c[x>>2]=(r(ga,w)|0)+(r(ia,v)|0);c[A>>2]=(r(ga,z)|0)+(r(ia,y)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ia=r(o,ia)|0;ha=b[m>>1]|0;f=r(ha,p)|0;ha=r(l,ha)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}else{o=b[16880]|0;p=b[16849]|0;l=b[16881]|0;e=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=da+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=da+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=da+12|0;n=0;m=f;while(1){ha=b[m+16>>1]|0;f=b[m+48>>1]|0;ga=b[m+80>>1]|0;ia=b[m+112>>1]|0;ja=(r(f,v)|0)+(r(ha,u)|0)+(r(ga,w)|0)+(r(ia,x)|0)|0;c[da>>2]=ja;c[C>>2]=(r(f,z)|0)+(r(ha,y)|0)+(r(ga,A)|0)+(r(ia,B)|0);c[H>>2]=(r(f,E)|0)+(r(ha,D)|0)+(r(ga,F)|0)+(r(ia,G)|0);c[M>>2]=(r(f,J)|0)+(r(ha,I)|0)+(r(ga,K)|0)+(r(ia,L)|0);ia=b[m+32>>1]|0;ga=r(ia,N)|0;ha=b[m+96>>1]|0;ga=(r(ha,o)|0)+ga|0;ia=(r(l,ha)|0)+(r(p,ia)|0)|0;ha=b[m>>1]|0;f=r(ha,e)|0;ka=b[m+64>>1]|0;f=(r(ka,q)|0)+f|0;ha=(r(t,ka)|0)+(r(s,ha)|0)|0;ka=f+ga|0;c[ea>>2]=ka;c[aa>>2]=f-ga;c[ba>>2]=ha+ia;c[ca>>2]=ha-ia;ka=ja+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[aa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ba>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+1>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+1>>0]=(ka|0)<255?ka:255;ka=(c[ca>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+5>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+5>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ca>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ba>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[aa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+3>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+3>>0]=(ka|0)<255?ka:255;ka=(c[ea>>2]|0)-(c[da>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+7>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+7>>0]=(ka|0)<255?ka:255;n=n+1|0;if((n|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=fa;return}}}function Ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function Ff(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((d|0)<1)return;e=0-b|0;b=1;while(1){vl(a+(r(b,e)|0)|0,a|0,c|0)|0;if((b|0)==(d|0))break;else b=b+1|0}return}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)<1)return;f=a+(0-b)|0;e=1;while(1){vl(a+(r(e+-1|0,b)|0)|0,f|0,c|0)|0;if((e|0)==(d|0))break;else e=e+1|0}return}function Hf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)<=0)return;g=0-e|0;f=0;while(1){xl(b+g|0,a[b>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function If(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;if((d|0)<=0)return;h=0-(e>>1)|0;if((e|0)<=1)return;f=0;e=a;while(1){a=b[e>>1]|0;c=h;while(1){b[e+(c<<1)>>1]=a;if((c|0)<-1)c=c+1|0;else break}f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Jf(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((d|0)<=0)return;f=0;while(1){xl(b|0,a[b+-1>>0]|0,e|0)|0;f=f+1|0;if((f|0)==(d|0))break;else b=b+c|0}return}function Kf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c>>1;h=e>>1;if(!((d|0)>0&(e|0)>1))return;f=0;e=a;while(1){a=b[e+-2>>1]|0;c=0;do{b[e+(c<<1)>>1]=a;c=c+1|0}while((c|0)<(h|0));f=f+1|0;if((f|0)==(d|0))break;else e=e+(g<<1)|0}return}function Lf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Mf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+1|0;l=e+1|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+2|0;l=e+2|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+3|0;k=e+3|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Nf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Of(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Pf(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0;qa=h<<1;ra=i<<1;sa=h*3|0;m=i*3|0;n=h<<2;o=i<<2;p=h*5|0;q=i*5|0;s=h*6|0;t=i*6|0;u=h*7|0;v=i*7|0;w=h<<3;x=i<<3;y=h*9|0;z=i*9|0;A=h*10|0;B=i*10|0;C=h*11|0;D=i*11|0;E=h*12|0;F=i*12|0;G=h*13|0;H=i*13|0;I=h*14|0;J=i*14|0;K=h*15|0;L=i*15|0;M=h<<4;N=i<<4;O=h*17|0;P=i*17|0;Q=h*18|0;R=i*18|0;S=h*19|0;T=i*19|0;U=h*20|0;V=i*20|0;W=h*21|0;X=i*21|0;Y=h*22|0;Z=i*22|0;_=h*23|0;$=i*23|0;aa=h*24|0;ba=i*24|0;ca=h*25|0;da=i*25|0;ea=h*26|0;fa=i*26|0;ga=h*27|0;ha=i*27|0;ia=h*28|0;ja=i*28|0;ka=h*29|0;la=i*29|0;ma=h*30|0;na=i*30|0;oa=h*31|0;pa=i*31|0;l=0;k=e;while(1){if(!(j&1)){e=0;do{ta=b[c+((r(e,g)|0)<<1)>>1]|0;ta=(d[k+(r(e,h)|0)>>0]|0)+ta|0;ta=(ta|0)>0?ta:0;a[f+(r(e,i)|0)>>0]=(ta|0)<255?ta:255;e=e+1|0}while((e|0)!=32)}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+ra>>0]=a[k+qa>>0]|0;a[f+m>>0]=a[k+sa>>0]|0;a[f+o>>0]=a[k+n>>0]|0;a[f+q>>0]=a[k+p>>0]|0;a[f+t>>0]=a[k+s>>0]|0;a[f+v>>0]=a[k+u>>0]|0;a[f+x>>0]=a[k+w>>0]|0;a[f+z>>0]=a[k+y>>0]|0;a[f+B>>0]=a[k+A>>0]|0;a[f+D>>0]=a[k+C>>0]|0;a[f+F>>0]=a[k+E>>0]|0;a[f+H>>0]=a[k+G>>0]|0;a[f+J>>0]=a[k+I>>0]|0;a[f+L>>0]=a[k+K>>0]|0;a[f+N>>0]=a[k+M>>0]|0;a[f+P>>0]=a[k+O>>0]|0;a[f+R>>0]=a[k+Q>>0]|0;a[f+T>>0]=a[k+S>>0]|0;a[f+V>>0]=a[k+U>>0]|0;a[f+X>>0]=a[k+W>>0]|0;a[f+Z>>0]=a[k+Y>>0]|0;a[f+$>>0]=a[k+_>>0]|0;a[f+ba>>0]=a[k+aa>>0]|0;a[f+da>>0]=a[k+ca>>0]|0;a[f+fa>>0]=a[k+ea>>0]|0;a[f+ha>>0]=a[k+ga>>0]|0;a[f+ja>>0]=a[k+ia>>0]|0;a[f+la>>0]=a[k+ka>>0]|0;a[f+na>>0]=a[k+ma>>0]|0;a[f+pa>>0]=a[k+oa>>0]|0}l=l+1|0;if((l|0)==32)break;else{j=j>>1;k=k+1|0;f=f+1|0;c=c+2|0}}return}function Qf(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Sb;Sb=Sb+128|0;p=q;o=(l|0)>0;n=k+-1|0;if(o){m=0;do{a[f+m>>0]=a[b+(n+(r(m,e)|0))>>0]|0;m=m+1|0}while((m|0)!=(l|0))}a[h>>0]=a[g+n>>0]|0;f=(k|0)>0;if(f){n=r(l+-1|0,e)|0;m=0;do{a[g+m>>0]=a[b+(m+n)>>0]|0;m=m+1|0}while((m|0)!=(k|0))}m=p;n=m+128|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));c[p+((i&31)<<2)>>2]=1;c[p+((i+1&31)<<2)>>2]=2;c[p+((i+2&31)<<2)>>2]=3;c[p+((i+3&31)<<2)>>2]=4;if(!(o&f)){Sb=q;return}m=0;while(1){n=0;do{i=b+n|0;o=d[i>>0]|0;o=(a[j+(c[p+(o>>>3<<2)>>2]|0)>>0]|0)+o|0;o=(o|0)>0?o:0;a[i>>0]=(o|0)<255?o:255;n=n+1|0}while((n|0)!=(k|0));m=m+1|0;if((m|0)==(l|0))break;else b=b+e|0}Sb=q;return}function Rf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=Sb;Sb=Sb+256|0;t=v+128|0;u=v;s=(n|0)>0;p=m+-2|0;q=m+-1|0;if(s){o=0;do{x=r(o,e)|0;w=o<<1;a[f+w>>0]=a[b+(p+x)>>0]|0;a[f+(w|1)>>0]=a[b+(q+x)>>0]|0;o=o+1|0}while((o|0)!=(n|0))}a[h>>0]=a[g+p>>0]|0;a[h+1>>0]=a[g+q>>0]|0;q=(m|0)>0;if(q){p=r(n+-1|0,e)|0;o=0;do{a[g+o>>0]=a[b+(o+p)>>0]|0;o=o+1|0}while((o|0)!=(m|0))}o=t;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=u;p=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[t+((i&31)<<2)>>2]=1;c[u+((j&31)<<2)>>2]=1;c[t+((i+1&31)<<2)>>2]=2;c[u+((j+1&31)<<2)>>2]=2;c[t+((i+2&31)<<2)>>2]=3;c[u+((j+2&31)<<2)>>2]=3;c[t+((i+3&31)<<2)>>2]=4;c[u+((j+3&31)<<2)>>2]=4;if(!(s&q)){Sb=v;return}p=0;while(1){o=0;do{j=(o&1|0)==0;x=b+o|0;w=d[x>>0]|0;w=(a[(j?k:l)+(c[(j?t:u)+(w>>>3<<2)>>2]|0)>>0]|0)+w|0;w=(w|0)>0?w:0;a[x>>0]=(w|0)<255?w:255;o=o+1|0}while((o|0)!=(m|0));p=p+1|0;if((p|0)==(n|0))break;else b=b+e|0}Sb=v;return}function Sf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;u=Sb;Sb=Sb+128|0;s=u+64|0;t=u;i=s;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));o=m+-1|0;a[h>>0]=a[g+o>>0]|0;q=(n|0)>0;if(q){i=0;do{a[t+i>>0]=a[b+(o+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}j=(m|0)>0;if(j){h=r(n+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(m|0))}if(!(a[k>>0]|0))a[s>>0]=0;if(!(a[k+1>>0]|0))a[s+o>>0]=0;if(!q){Sb=u;return}if(j){j=b;b=0;while(1){k=a[j>>0]|0;i=(k&255)-(d[f+b>>0]|0)|0;i=(i|0)>-1?(i|0)!=0&1:-1;h=0;while(1){g=k&255;o=h;h=h+1|0;k=a[j+h>>0]|0;p=g-(k&255)|0;p=(p|0)>-1?(p|0)!=0&1:-1;i=c[33568+(i+2+p<<2)>>2]&d[s+o>>0];if(i|0){g=(a[l+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[j+o>>0]=(g|0)<255?g:255}if((h|0)==(m|0))break;else i=0-p|0}b=b+1|0;if((b|0)==(n|0))break;else j=j+e|0}if(!q){Sb=u;return}}vl(f|0,t|0,n|0)|0;Sb=u;return}function Tf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=Sb;Sb=Sb+192|0;w=y+128|0;x=y;i=w;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;p=n+-1|0;a[h+1>>0]=a[g+p>>0]|0;v=(o|0)>0;if(v){i=0;do{t=(r(i,e)|0)+n|0;u=i<<1;a[x+u>>0]=a[b+(t+-2)>>0]|0;a[x+(u|1)>>0]=a[b+(t+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}j=(n|0)>0;if(j){h=r(o+-1|0,e)|0;i=0;do{a[g+i>>0]=a[b+(i+h)>>0]|0;i=i+1|0}while((i|0)!=(n|0))}if(!(a[k>>0]|0))a[w>>0]=0;if(!(a[k+1>>0]|0))a[w+(p>>1)>>0]=0;if(!v){Sb=y;return}if(j){s=b;u=0;while(1){i=a[s>>0]|0;p=u<<1;b=(i&255)-(d[f+p>>0]|0)|0;p=(d[s+1>>0]|0)-(d[f+(p|1)>>0]|0)|0;p=(p|0)>-1?(p|0)!=0&1:-1;b=(b|0)>-1?(b|0)!=0&1:-1;t=0;while(1){g=i&255;j=g-(d[s+(t+2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;if(!(t&1)){h=l;k=p;q=0-j&255;i=b<<24>>24}else{h=m;k=0-j&255;q=b;i=p<<24>>24}i=c[33568+(j+2+i<<2)>>2]&d[w+(t>>>1)>>0];if(i|0){g=(a[h+i>>0]|0)+g|0;g=(g|0)>0?g:0;a[s+t>>0]=(g|0)<255?g:255}i=t+1|0;if((i|0)==(n|0))break;p=k;b=q;t=i;i=a[s+i>>0]|0}u=u+1|0;if((u|0)==(o|0))break;else s=s+e|0}if(!v){Sb=y;return}}m=o<<1;vl(f|0,x|0,((m|0)>1?m:1)|0)|0;Sb=y;return}function Uf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0;t=Sb;Sb=Sb+192|0;p=t+128|0;q=t+64|0;s=t;i=p;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));j=m+-1|0;a[h>>0]=a[g+j>>0]|0;if((n|0)>0){i=0;do{a[f+i>>0]=a[b+(j+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}o=(m|0)>0;if(o)vl(q|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=n+-1|0;if(o){j=0;do{n=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[s+j>>0]=(n|0)>-1?(n|0)!=0&1:-1;j=j+1|0}while((j|0)!=(m|0))}}else if(o){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[s+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));h=b;i=n}else{h=b;i=n}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!o){Sb=t;return}n=0;i=h;while(1){j=0;do{h=i+j|0;u=(d[h>>0]|0)-(d[i+(j+e)>>0]|0)|0;u=(u|0)>-1?(u|0)!=0&1:-1;k=s+j|0;f=(a[k>>0]|0)+2+u|0;a[k>>0]=0-u;f=c[33568+(f<<2)>>2]&d[p+j>>0];if(f|0){u=(a[l+f>>0]|0)+(d[h>>0]|0)|0;u=(u|0)>0?u:0;a[h>>0]=(u|0)<255?u:255}j=j+1|0}while((j|0)!=(m|0));n=n+1|0;if((n|0)==(b|0))break;else i=i+e|0}}if(!o){Sb=t;return}vl(g|0,q|0,m|0)|0;Sb=t;return}function Vf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0;u=Sb;Sb=Sb+192|0;q=u+128|0;s=u+64|0;t=u;i=q;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));a[h>>0]=a[g+(n+-2)>>0]|0;a[h+1>>0]=a[g+(n+-1)>>0]|0;if((o|0)>0){i=0;do{h=(r(i,e)|0)+n|0;p=i<<1;a[f+p>>0]=a[b+(h+-2)>>0]|0;a[f+(p|1)>>0]=a[b+(h+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}p=(n|0)>0;if(p)vl(s|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;if(!(a[k+2>>0]|0)){h=b+e|0;i=o+-1|0;if(p){j=0;do{o=(d[h+j>>0]|0)-(d[b+j>>0]|0)|0;a[t+j>>0]=(o|0)>-1?(o|0)!=0&1:-1;j=j+1|0}while((j|0)!=(n|0))}}else if(p){i=0;do{f=(d[b+i>>0]|0)-(d[g+i>>0]|0)|0;a[t+i>>0]=(f|0)>-1?(f|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));h=b;i=o}else{h=b;i=o}b=i+(((a[k+3>>0]|0)==0)<<31>>31)|0;if((b|0)>0){if(!p){Sb=u;return}o=0;i=h;while(1){j=0;do{f=i+j|0;v=(d[f>>0]|0)-(d[i+(j+e)>>0]|0)|0;v=(v|0)>-1?(v|0)!=0&1:-1;k=t+j|0;h=(a[k>>0]|0)+2+v|0;a[k>>0]=0-v;h=c[33568+(h<<2)>>2]&d[q+(j>>>1)>>0];if(h|0){v=(a[((j&1|0)==0?l:m)+h>>0]|0)+(d[f>>0]|0)|0;v=(v|0)>0?v:0;a[f>>0]=(v|0)<255?v:255}j=j+1|0}while((j|0)!=(n|0));o=o+1|0;if((o|0)==(b|0))break;else i=i+e|0}}if(!p){Sb=u;return}vl(g|0,s|0,n|0)|0;Sb=u;return}function Wf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+352|0;B=H+288|0;F=H+224|0;G=H+160|0;x=H+80|0;q=H;i=B;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));C=m+-1|0;E=a[g+C>>0]|0;if((n|0)>0){i=0;do{a[F+i>>0]=a[b+(C+(r(i,e)|0))>>0]|0;i=i+1|0}while((i|0)!=(n|0))}D=(m|0)>0;if(D)vl(G|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;t=a[b>>0]|0;if((a[k+4>>0]|0)!=0?(o=t&255,p=o-(d[h>>0]|0)|0,A=o-(d[b+(e+1)>>0]|0)|0,p=((A|0)>-1?(A|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0,(p|0)!=2):0){A=(a[l+(c[33568+(p<<2)>>2]|0)>>0]|0)+o|0;A=(A|0)>0?A:0;A=((A|0)<255?A:255)&255}else A=t;j=n+-1|0;i=r(j,e)|0;o=i+C|0;p=a[b+o>>0]|0;if((a[k+7>>0]|0)!=0?(s=p&255,u=s-(d[b+(o+~e)>>0]|0)|0,z=s-(d[b+(m+e+i)>>0]|0)|0,u=((z|0)>-1?(z|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){i=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)y=-1;else y=((i|0)>0?i:0)&255}else y=p;if(!(a[k>>0]|0))a[B>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+1|0;if((m|0)>1?(w=(d[i+1>>0]|0)-(t&255)|0,a[x+1>>0]=(w|0)>-1?(w|0)!=0&1:-1,(m|0)!=2):0){o=1;p=2;while(1){o=(d[i+p>>0]|0)-(d[b+o>>0]|0)|0;a[x+p>>0]=(o|0)>-1?(o|0)!=0&1:-1;o=p+1|0;if((o|0)==(m|0))break;else{w=p;p=o;o=w}}}}else if((m|0)>1){i=1;do{w=(d[b+i>>0]|0)-(d[g+(i+-1)>>0]|0)|0;a[x+i>>0]=(w|0)>-1?(w|0)!=0&1:-1;i=i+1|0}while((i|0)!=(m|0));i=b;j=n;s=f}else{i=b;j=n;s=f}if(!(a[k+1>>0]|0))a[B+C>>0]=0;w=k+3|0;v=j+(((a[w>>0]|0)==0)<<31>>31)|0;do if((v|0)>0){k=r(v,e)|0;if(!D){j=x;o=0;p=i;while(1){l=(d[p>>0]|0)-(d[s+(o+-1)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;o=o+1|0;if((o|0)==(v|0))break;else{l=j;p=p+e|0;j=q;q=l}}i=i+k|0;break}p=x;t=0;u=i;while(1){o=(d[u>>0]|0)-(d[s+(t+-1)>>0]|0)|0;o=(o|0)>-1?(o|0)!=0&1:-1;a[p>>0]=o;j=0;while(1){n=u+j|0;b=j+1|0;x=(d[n>>0]|0)-(d[u+(b+e)>>0]|0)|0;x=(x|0)>-1?(x|0)!=0&1:-1;a[q+b>>0]=0-x;j=c[33568+((o<<24>>24)+2+x<<2)>>2]&d[B+j>>0];if(j|0){x=(a[l+j>>0]|0)+(d[n>>0]|0)|0;x=(x|0)>0?x:0;a[n>>0]=(x|0)<255?x:255}if((b|0)==(m|0))break;j=b;o=a[p+b>>0]|0}t=t+1|0;if((t|0)==(v|0))break;else{x=p;u=u+e|0;p=q;q=x}}i=i+k|0}while(0);l=v+1|0;a[i+(r((a[z>>0]|0)==0?l:v,0-e|0)|0)>>0]=A;a[i+(C-((a[w>>0]|0)==0?0:e))>>0]=y;i=((a[z>>0]|0)==0?l:v)+((a[w>>0]|0)==0&1)|0;a[h>>0]=E;if((i|0)>0)vl(f|0,F|0,i|0)|0;if(!D){Sb=H;return}vl(g|0,G|0,m|0)|0;Sb=H;return}function Xf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=Sb;Sb=Sb+416|0;D=L+352|0;J=L+224|0;K=L+160|0;B=L+80|0;t=L;i=D;j=i+64|0;do{c[i>>2]=-1;i=i+4|0}while((i|0)<(j|0));E=n+-2|0;F=a[g+E>>0]|0;G=n+-1|0;H=a[g+G>>0]|0;if((o|0)>0){i=0;do{C=(r(i,e)|0)+n|0;I=i<<1;a[J+I>>0]=a[b+(C+-2)>>0]|0;a[J+(I|1)>>0]=a[b+(C+-1)>>0]|0;i=i+1|0}while((i|0)!=(o|0))}I=(n|0)>0;if(I)vl(K|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;p=a[b>>0]|0;if(a[k+4>>0]|0){i=p&255;j=i-(d[h>>0]|0)|0;C=i-(d[b+(e+2)>>0]|0)|0;j=((C|0)>-1?(C|0)!=0&1:-1)+((j|0)>-1?((j|0)==0?2:3):1)|0;if((j|0)!=2){p=(a[l+(c[33568+(j<<2)>>2]|0)>>0]|0)+i|0;p=(p|0)>0?p:0;p=((p|0)<255?p:255)&255}i=a[b+1>>0]|0;j=i&255;q=j-(d[h+1>>0]|0)|0;C=j-(d[b+(e+3)>>0]|0)|0;q=((C|0)>-1?(C|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)==2)C=i;else{C=(a[m+(c[33568+(q<<2)>>2]|0)>>0]|0)+j|0;C=(C|0)>0?C:0;C=((C|0)<255?C:255)&255}}else C=a[b+1>>0]|0;j=o+-1|0;s=r(j,e)|0;i=s+E|0;u=a[b+i>>0]|0;if(a[k+7>>0]|0){q=u&255;v=-2-e|0;i=q-(d[b+(v+i)>>0]|0)|0;A=q-(d[b+(n+e+s)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){u=(a[l+(c[33568+(i<<2)>>2]|0)>>0]|0)+q|0;u=(u|0)>0?u:0;u=((u|0)<255?u:255)&255}A=s+G|0;q=a[b+A>>0]|0;s=q&255;i=s-(d[b+(v+A)>>0]|0)|0;A=s-(d[b+(e+2+A)>>0]|0)|0;i=((A|0)>-1?(A|0)!=0&1:-1)+((i|0)>-1?((i|0)==0?2:3):1)|0;if((i|0)!=2){i=(a[m+(c[33568+(i<<2)>>2]|0)>>0]|0)+s|0;if((i|0)>255)A=-1;else A=((i|0)>0?i:0)&255}else A=q}else A=a[b+(s+G)>>0]|0;if(!(a[k>>0]|0))a[D>>0]=0;z=k+2|0;if(!(a[z>>0]|0)){i=b+e|0;s=f+2|0;if((n|0)>2){q=2;do{y=(d[i+q>>0]|0)-(d[b+(q+-2)>>0]|0)|0;a[B+q>>0]=(y|0)>-1?(y|0)!=0&1:-1;q=q+1|0}while((q|0)!=(n|0));x=s}else x=s}else if((n|0)>2){i=2;do{y=(d[b+i>>0]|0)-(d[g+(i+-2)>>0]|0)|0;a[B+i>>0]=(y|0)>-1?(y|0)!=0&1:-1;i=i+1|0}while((i|0)!=(n|0));i=b;j=o;x=f}else{i=b;j=o;x=f}if(!(a[k+1>>0]|0))a[D+(G>>1)>>0]=0;y=k+3|0;w=j+(((a[y>>0]|0)==0)<<31>>31)|0;do if((w|0)>0){k=r(w,e)|0;if(!I){j=B;q=0;s=i;while(1){m=q<<1;l=(d[s>>0]|0)-(d[x+(m+-2)>>0]|0)|0;a[j>>0]=(l|0)>-1?(l|0)!=0&1:-1;m=(d[s+1>>0]|0)-(d[x+(m+-1)>>0]|0)|0;a[j+1>>0]=(m|0)>-1?(m|0)!=0&1:-1;q=q+1|0;if((q|0)==(w|0))break;else{m=j;s=s+e|0;j=t;t=m}}i=i+k|0;break}s=B;v=0;o=i;while(1){b=v<<1;j=(d[o>>0]|0)-(d[x+(b+-2)>>0]|0)|0;j=(j|0)>-1?(j|0)!=0&1:-1;a[s>>0]=j;b=(d[o+1>>0]|0)-(d[x+(b+-1)>>0]|0)|0;a[s+1>>0]=(b|0)>-1?(b|0)!=0&1:-1;b=0;while(1){q=o+b|0;M=b+2|0;B=(d[q>>0]|0)-(d[o+(M+e)>>0]|0)|0;B=(B|0)>-1?(B|0)!=0&1:-1;a[t+M>>0]=0-B;j=c[33568+((j<<24>>24)+2+B<<2)>>2]&d[D+(b>>>1)>>0];if(j|0){M=(a[((b&1|0)==0?l:m)+j>>0]|0)+(d[q>>0]|0)|0;M=(M|0)>0?M:0;a[q>>0]=(M|0)<255?M:255}j=b+1|0;if((j|0)==(n|0))break;b=j;j=a[s+j>>0]|0}v=v+1|0;if((v|0)==(w|0))break;else{M=s;o=o+e|0;s=t;t=M}}i=i+k|0}while(0);M=w+1|0;a[i+(r((a[z>>0]|0)==0?M:w,0-e|0)|0)>>0]=p;a[i+(1-(r((a[z>>0]|0)==0?M:w,e)|0))>>0]=C;a[i+(E-((a[y>>0]|0)==0?0:e))>>0]=u;a[i+(G-((a[y>>0]|0)==0?0:e))>>0]=A;M=((a[z>>0]|0)==0?M:w)+((a[y>>0]|0)==0&1)|0;a[h>>0]=F;a[h+1>>0]=H;i=M<<1;if((M|0)>0)vl(f|0,J|0,((i|0)>1?i:1)|0)|0;if(!I){Sb=L;return}vl(g|0,K|0,n|0)|0;Sb=L;return}function Yf(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=Sb;Sb=Sb+256|0;H=0-e|0;C=K+192|0;I=K+128|0;J=K+64|0;D=K;o=C;p=o+64|0;do{c[o>>2]=-1;o=o+4|0}while((o|0)<(p|0));E=m+-1|0;G=a[g+E>>0]|0;if((n|0)>0){o=0;do{a[J+o>>0]=a[b+(E+(r(o,e)|0))>>0]|0;o=o+1|0}while((o|0)!=(n|0))}F=(m|0)>0;if(F)vl(I|0,b+(r(n+-1|0,e)|0)|0,m|0)|0;o=a[b+E>>0]|0;if((a[k+5>>0]|0)!=0?(q=o&255,s=q-(d[i>>0]|0)|0,B=q-(d[b+(e+-2+m)>>0]|0)|0,s=((B|0)>-1?(B|0)!=0&1:-1)+((s|0)>-1?((s|0)==0?2:3):1)|0,(s|0)!=2):0){B=(a[l+(c[33568+(s<<2)>>2]|0)>>0]|0)+q|0;B=(B|0)>0?B:0;B=((B|0)<255?B:255)&255}else B=o;p=n+-1|0;o=r(p,e)|0;q=a[b+o>>0]|0;if((a[k+6>>0]|0)!=0?(t=q&255,u=t-(d[b+(1-e+o)>>0]|0)|0,A=t-(d[j>>0]|0)|0,u=((A|0)>-1?(A|0)!=0&1:-1)+((u|0)>-1?((u|0)==0?2:3):1)|0,(u|0)!=2):0){o=(a[l+(c[33568+(u<<2)>>2]|0)>>0]|0)+t|0;if((o|0)>255)z=-1;else z=((o|0)>0?o:0)&255}else z=q;if(!(a[k>>0]|0))a[C>>0]=0;A=k+2|0;o=a[A>>0]|0;if(!(o<<24>>24)){i=b+e|0;s=f+1|0;if((m|0)>1){q=0;do{y=q;q=q+1|0;x=(d[i+y>>0]|0)-(d[b+q>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((q|0)!=(E|0));b=i}else b=i}else if((m|0)>1){p=0;do{y=p;p=p+1|0;x=(d[b+y>>0]|0)-(d[g+p>>0]|0)|0;a[D+y>>0]=(x|0)>-1?(x|0)!=0&1:-1}while((p|0)!=(E|0));p=n;s=f}else{p=n;s=f}if(!(a[k+1>>0]|0))a[C+E>>0]=0;y=k+3|0;x=p+(((a[y>>0]|0)==0)<<31>>31)|0;do if((x|0)>0){k=m-e|0;v=D+E|0;w=r(x,e)|0;if(!F){p=b;q=0;while(1){l=(d[p+E>>0]|0)-(d[p+k>>0]|0)|0;a[v>>0]=(l|0)>-1?(l|0)!=0&1:-1;q=q+1|0;if((q|0)==(x|0))break;else p=p+e|0}b=b+w|0;break}i=b;j=0;while(1){u=(d[i+E>>0]|0)-(d[i+k>>0]|0)|0;a[v>>0]=(u|0)>-1?(u|0)!=0&1:-1;j=j+1|0;u=s+j|0;t=0;do{n=i+t|0;o=a[n>>0]|0;q=(t|0)==0;p=t+-1+e|0;if((d[(q?u:i+p|0)>>0]|0)>(o&255))o=-1;else o=(d[(q?u:i+p|0)>>0]|0)<(o&255)&1;p=o+2+(a[D+t>>0]|0)|0;if(!q)a[D+(t+-1)>>0]=0-o;o=c[33568+(p<<2)>>2]&d[C+t>>0];if(o|0){q=(a[l+o>>0]|0)+(d[n>>0]|0)|0;q=(q|0)>0?q:0;a[n>>0]=(q|0)<255?q:255}t=t+1|0}while((t|0)!=(m|0));if((j|0)==(x|0))break;else i=i+e|0}b=b+w|0;o=a[A>>0]|0}while(0);l=x+1|0;a[b+(E-(r(o<<24>>24==0?l:x,e)|0))>>0]=B;a[b+((a[y>>0]|0)==0?0:H)>>0]=z;o=((a[A>>0]|0)==0?l:x)+((a[y>>0]|0)==0&1)|0;a[h>>0]=G;if((o|0)>0)vl(f|0,J|0,o|0)|0;if(!F){Sb=K;return}vl(g|0,I|0,m|0)|0;Sb=K;return}function Zf(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=Sb;Sb=Sb+320|0;O=0-e|0;H=R+256|0;P=R+128|0;Q=R+64|0;I=R;p=H;q=p+64|0;do{c[p>>2]=-1;p=p+4|0}while((p|0)<(q|0));J=n+-2|0;K=a[g+J>>0]|0;L=n+-1|0;M=a[g+L>>0]|0;if((o|0)>0){p=0;do{G=(r(p,e)|0)+n|0;N=p<<1;a[P+N>>0]=a[b+(G+-2)>>0]|0;a[P+(N|1)>>0]=a[b+(G+-1)>>0]|0;p=p+1|0}while((p|0)!=(o|0))}N=(n|0)>0;if(N)vl(Q|0,b+(r(o+-1|0,e)|0)|0,n|0)|0;s=a[b+J>>0]|0;if(a[k+5>>0]|0){p=s&255;q=p-(d[i>>0]|0)|0;u=n+e|0;G=p-(d[b+(u+-4)>>0]|0)|0;q=((G|0)>-1?(G|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){s=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;s=(s|0)>0?s:0;s=((s|0)<255?s:255)&255}q=a[b+L>>0]|0;t=q&255;p=t-(d[i+1>>0]|0)|0;G=t-(d[b+(u+-3)>>0]|0)|0;p=((G|0)>-1?(G|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)==2)G=q;else{G=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+t|0;G=(G|0)>0?G:0;G=((G|0)<255?G:255)&255}}else G=a[b+L>>0]|0;v=o+-1|0;i=r(v,e)|0;t=a[b+i>>0]|0;if(a[k+6>>0]|0){p=t&255;q=p-(d[b+(2-e+i)>>0]|0)|0;F=p-(d[j>>0]|0)|0;q=((F|0)>-1?(F|0)!=0&1:-1)+((q|0)>-1?((q|0)==0?2:3):1)|0;if((q|0)!=2){t=(a[l+(c[33568+(q<<2)>>2]|0)>>0]|0)+p|0;t=(t|0)>0?t:0;t=((t|0)<255?t:255)&255}q=a[b+(i+1)>>0]|0;u=q&255;p=u-(d[b+(3-e+i)>>0]|0)|0;F=u-(d[j+1>>0]|0)|0;p=((F|0)>-1?(F|0)!=0&1:-1)+((p|0)>-1?((p|0)==0?2:3):1)|0;if((p|0)!=2){p=(a[m+(c[33568+(p<<2)>>2]|0)>>0]|0)+u|0;if((p|0)>255)F=-1;else F=((p|0)>0?p:0)&255}else F=q}else F=a[b+(i+1)>>0]|0;if(!(a[k>>0]|0))a[H>>0]=0;E=k+2|0;p=a[E>>0]|0;if(!(p<<24>>24)){u=b+e|0;i=f+2|0;if((n|0)>2){q=0;do{D=(d[u+q>>0]|0)-(d[b+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));b=u;q=v}else{b=u;q=v}}else if((n|0)>2){q=0;do{D=(d[b+q>>0]|0)-(d[g+(q+2)>>0]|0)|0;a[I+q>>0]=(D|0)>-1?(D|0)!=0&1:-1;q=q+1|0}while((q|0)!=(J|0));q=o;i=f}else{q=o;i=f}if(!(a[k+1>>0]|0))a[H+(L>>1)>>0]=0;D=k+3|0;C=q+(((a[D>>0]|0)==0)<<31>>31)|0;do if((C|0)>0){x=n-e|0;y=I+J|0;q=1-e|0;z=q+n|0;A=I+L|0;B=r(C,e)|0;if(!N){u=0;i=b;while(1){m=(d[i+J>>0]|0)-(d[i+x>>0]|0)|0;a[y>>0]=(m|0)>-1?(m|0)!=0&1:-1;m=(d[i+L>>0]|0)-(d[i+z>>0]|0)|0;a[A>>0]=(m|0)>-1?(m|0)!=0&1:-1;u=u+1|0;if((u|0)==(C|0))break;else i=i+e|0}b=b+B|0;break}v=0;j=b;while(1){k=(d[j+J>>0]|0)-(d[j+x>>0]|0)|0;a[y>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=(d[j+L>>0]|0)-(d[j+z>>0]|0)|0;a[A>>0]=(k|0)>-1?(k|0)!=0&1:-1;k=v<<1;o=0;do{w=j+o|0;p=a[w>>0]|0;u=o>>>0<2;if((d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)>(p&255))p=-1;else p=(d[(u?i:j)+(o+(u?2:-2)+(u?k:e))>>0]|0)<(p&255)&1;u=p+2+(a[I+o>>0]|0)|0;if(o>>>0>1)a[I+(o+-2)>>0]=0-p;p=c[33568+(u<<2)>>2]&d[H+(o>>>1)>>0];if(p|0){u=(a[((o&1|0)==0?l:m)+p>>0]|0)+(d[w>>0]|0)|0;u=(u|0)>0?u:0;a[w>>0]=(u|0)<255?u:255}o=o+1|0}while((o|0)!=(n|0));v=v+1|0;if((v|0)==(C|0))break;else j=j+e|0}b=b+B|0;p=a[E>>0]|0}else q=1-e|0;while(0);m=C+1|0;a[b+(J-(r(p<<24>>24==0?m:C,e)|0))>>0]=s;a[b+(L-(r((a[E>>0]|0)==0?m:C,e)|0))>>0]=G;a[b+((a[D>>0]|0)==0?0:O)>>0]=t;a[b+((a[D>>0]|0)==0?1:q)>>0]=F;O=((a[E>>0]|0)==0?m:C)+((a[D>>0]|0)==0&1)|0;a[h>>0]=K;a[h+1>>0]=M;p=O<<1;if((O|0)>0)vl(f|0,P|0,((p|0)>1?p:1)|0)|0;if(!N){Sb=R;return}vl(g|0,Q|0,n|0)|0;Sb=R;return}function _f(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;if((k|0)<=0)return;o=1<<i+-1;if((l|0)<=0)return;n=0;while(1){m=0;do{p=((r((b[c+(m<<1)>>1]|0)+j|0,g)|0)+o>>i)+h|0;p=(p|0)>0?p:0;a[d+m>>0]=(p|0)<255?p:255;m=m+1|0}while((m|0)!=(l|0));n=n+1|0;if((n|0)==(k|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function $f(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,s=0,t=0;if((m|0)<=0)return;q=n<<1;s=1<<k+-1;if((n|0)<=0)return;p=0;o=c;n=d;while(1){c=0;do{d=((r((b[o+(c<<1)>>1]|0)+l|0,g)|0)+s>>k)+i|0;d=(d|0)>0?d:0;a[n+c>>0]=(d|0)<255?d:255;d=c|1;t=((r((b[o+(d<<1)>>1]|0)+l|0,h)|0)+s>>k)+j|0;t=(t|0)>0?t:0;a[n+d>>0]=(t|0)<255?t:255;c=c+2|0}while((c|0)<(q|0));p=p+1|0;if((p|0)==(m|0))break;else{o=o+(e<<1)|0;n=n+f|0}}return}function ag(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0;if((p|0)<=0)return;t=j+1+l<<m+-1;if((q|0)<=0)return;s=0;j=e;while(1){l=0;do{e=r((b[c+(l<<1)>>1]|0)+n|0,i)|0;e=e+t+(r((b[d+(l<<1)>>1]|0)+o|0,k)|0)>>m;e=(e|0)>0?e:0;a[j+l>>0]=(e|0)<255?e:255;l=l+1|0}while((l|0)!=(q|0));s=s+1|0;if((s|0)==(p|0))break;else{c=c+(f<<1)|0;d=d+(g<<1)|0;j=j+h|0}}return}function bg(c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0;if((u|0)<=0)return;x=v<<1;y=q+-1|0;w=k+1+o<<y;l=l+1+p<<y;if((v|0)<=0)return;p=0;k=c;while(1){o=0;do{y=r((b[k+(o<<1)>>1]|0)+s|0,i)|0;y=y+w+(r((b[d+(o<<1)>>1]|0)+t|0,m)|0)>>q;y=(y|0)>0?y:0;a[e+o>>0]=(y|0)<255?y:255;y=o|1;c=r((b[k+(y<<1)>>1]|0)+s|0,j)|0;c=c+l+(r((b[d+(y<<1)>>1]|0)+t|0,n)|0)>>q;c=(c|0)>0?c:0;a[e+y>>0]=(c|0)<255?c:255;o=o+2|0}while((o|0)<(x|0));p=p+1|0;if((p|0)==(u|0))break;else{k=k+(f<<1)|0;d=d+(g<<1)|0;e=e+h|0}}return}function cg(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;if((k|0)<=0)return;n=j+i|0;if((l|0)<=0)return;m=0;j=c;while(1){i=0;do{c=n+(b[j+(i<<1)>>1]|0)+(b[d+(i<<1)>>1]|0)|0;a[e+i>>0]=(c|0)>32703?-1:(c|0)<-64?0:(c+64|0)>>>7&255;i=i+1|0}while((i|0)!=(l|0));m=m+1|0;if((m|0)==(k|0))break;else{d=d+(g<<1)|0;e=e+h|0;j=j+(f<<1)|0}}return}function dg(c,d,e,f,g,h,i,j,k,l){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;if((k|0)<=0)return;o=l<<1;n=j+i|0;if((l|0)<=0)return;m=0;l=d;j=e;while(1){i=0;do{e=n+(b[c+(i<<1)>>1]|0)+(b[l+(i<<1)>>1]|0)|0;a[j+i>>0]=(e|0)>32703?-1:(e|0)<-64?0:(e+64|0)>>>7&255;i=i+1|0}while((i|0)<(o|0));m=m+1|0;if((m|0)==(k|0))break;else{l=l+(g<<1)|0;j=j+h|0;c=c+(f<<1)|0}}return}function eg(){return 4}function fg(){return 28}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa(a|0,b|0,c|0,d|0)|0}function hg(a,b){a=a|0;b=b|0;return Qa(c[a>>2]|0,b|0)|0}function ig(a){a=a|0;return Rj(a,0)|0}function jg(a){a=a|0;return Uj(a)|0}function kg(a){a=a|0;return Sj(a)|0}function lg(a){a=a|0;return Tj(a)|0}function mg(){Ra()|0;return}function ng(a){a=a|0;return a|0}function og(a){a=a|0;var b=0;c[a+11640>>2]=0;c[a+11644>>2]=c[a+11984>>2];c[a+11648>>2]=c[a+11972>>2];c[a+11652>>2]=c[a+11968>>2];b=c[a+11992>>2]|0;c[a+11656>>2]=b;c[a+11660>>2]=c[a+11988>>2];c[a+11664>>2]=c[a+11976>>2];c[a+11668>>2]=b;c[a+11672>>2]=b;c[a+11676>>2]=c[a+11980>>2];c[a+11680>>2]=c[a+11996>>2];c[a+11684>>2]=0;c[a+11688>>2]=c[a+11936>>2];c[a+11692>>2]=c[a+11952>>2];c[a+11696>>2]=c[a+11944>>2];b=c[a+11948>>2]|0;c[a+11700>>2]=b;c[a+11704>>2]=c[a+11940>>2];c[a+11708>>2]=c[a+11964>>2];c[a+11712>>2]=b;c[a+11716>>2]=b;c[a+11720>>2]=c[a+11956>>2];c[a+11724>>2]=c[a+11960>>2];c[a+11728>>2]=0;c[a+11732>>2]=c[a+12088>>2];c[a+11736>>2]=c[a+12064>>2];c[a+11740>>2]=c[a+12072>>2];c[a+11744>>2]=c[a+12084>>2];c[a+11748>>2]=c[a+12068>>2];c[a+11752>>2]=c[a+12056>>2];c[a+11756>>2]=c[a+12076>>2];c[a+11760>>2]=c[a+12060>>2];c[a+11764>>2]=c[a+12092>>2];c[a+11768>>2]=c[a+12080>>2];c[a+11772>>2]=0;c[a+11776>>2]=c[a+12040>>2];c[a+11780>>2]=c[a+12016>>2];c[a+11784>>2]=c[a+12024>>2];c[a+11788>>2]=c[a+12036>>2];c[a+11792>>2]=c[a+12020>>2];c[a+11796>>2]=c[a+12048>>2];c[a+11800>>2]=c[a+12028>>2];c[a+11804>>2]=c[a+12052>>2];c[a+11808>>2]=c[a+12044>>2];c[a+11812>>2]=c[a+12032>>2];c[a+11816>>2]=c[a+12116>>2];c[a+11820>>2]=c[a+12120>>2];c[a+11824>>2]=c[a+12124>>2];c[a+11828>>2]=c[a+12128>>2];c[a+11832>>2]=c[a+12132>>2];c[a+11836>>2]=c[a+12136>>2];c[a+11840>>2]=c[a+12140>>2];c[a+11844>>2]=c[a+12144>>2];c[a+11848>>2]=c[a+12148>>2];c[a+11852>>2]=c[a+12152>>2];c[a+11856>>2]=c[a+12156>>2];c[a+11860>>2]=c[a+12160>>2];c[a+11864>>2]=c[a+12164>>2];c[a+11868>>2]=c[a+12168>>2];c[a+11872>>2]=c[a+12172>>2];c[a+11876>>2]=c[a+12176>>2];c[a+11880>>2]=c[a+12300>>2];c[a+11884>>2]=c[a+12304>>2];c[a+11888>>2]=c[a+12252>>2];c[a+11892>>2]=c[a+12260>>2];c[a+11896>>2]=c[a+12268>>2];c[a+11900>>2]=c[a+12276>>2];c[a+11904>>2]=c[a+12256>>2];c[a+11908>>2]=c[a+12264>>2];c[a+11912>>2]=c[a+12272>>2];c[a+11916>>2]=c[a+12280>>2];return}function pg(b){b=b|0;var d=0,e=0,f=0;qg(b)|0;c[b+11632>>2]=0;c[b+52>>2]=1;c[b+100>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;c[b+136>>2]=0;c[b+140>>2]=0;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+120>>2]=1;c[b+124>>2]=0;c[b+364>>2]=0;c[b+144>>2]=0;c[b+132>>2]=0;c[b+32>>2]=1;c[b+28>>2]=0;c[b+11568>>2]=0;c[b+11564>>2]=-1;c[b+11572>>2]=-1;c[b+1448>>2]=-1;c[b+64>>2]=(c[b+60>>2]|0)==12?12:11;c[b+88>>2]=0;c[b+48>>2]=0;c[b+36>>2]=0;c[b+44>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[b+11604>>2]=0;c[b+45340>>2]=0;f=c[b+296>>2]|0;e=c[b+300>>2]|0;a[f+8972>>0]=0;a[f+17948>>0]=0;a[f+26924>>0]=0;a[f+35900>>0]=0;a[f+44876>>0]=0;a[f+53852>>0]=0;a[f+62828>>0]=0;a[f+71804>>0]=0;a[f+80780>>0]=0;a[f+89756>>0]=0;a[f+98732>>0]=0;a[f+107708>>0]=0;a[f+116684>>0]=0;a[f+125660>>0]=0;a[f+134636>>0]=0;a[f+143612>>0]=0;a[f+152588>>0]=0;a[e+67>>0]=0;a[e+135>>0]=0;a[e+203>>0]=0;a[e+271>>0]=0;a[e+339>>0]=0;a[e+407>>0]=0;a[e+475>>0]=0;a[e+543>>0]=0;a[e+611>>0]=0;a[e+679>>0]=0;a[e+747>>0]=0;a[e+815>>0]=0;a[e+883>>0]=0;a[e+951>>0]=0;a[e+1019>>0]=0;a[e+1087>>0]=0;a[e+1155>>0]=0;a[e+1223>>0]=0;a[e+1291>>0]=0;a[e+1359>>0]=0;a[e+1427>>0]=0;a[e+1495>>0]=0;a[e+1563>>0]=0;a[e+1631>>0]=0;a[e+1699>>0]=0;a[e+1767>>0]=0;a[e+1835>>0]=0;a[e+1903>>0]=0;a[e+1971>>0]=0;a[e+2039>>0]=0;a[e+2107>>0]=0;a[e+2175>>0]=0;a[e+2243>>0]=0;a[e+2311>>0]=0;a[e+2379>>0]=0;a[e+2447>>0]=0;a[e+2515>>0]=0;a[e+2583>>0]=0;a[e+2651>>0]=0;a[e+2719>>0]=0;a[e+2787>>0]=0;a[e+2855>>0]=0;a[e+2923>>0]=0;a[e+2991>>0]=0;a[e+3059>>0]=0;a[e+3127>>0]=0;a[e+3195>>0]=0;a[e+3263>>0]=0;a[e+3331>>0]=0;a[e+3399>>0]=0;a[e+3467>>0]=0;a[e+3535>>0]=0;a[e+3603>>0]=0;a[e+3671>>0]=0;a[e+3739>>0]=0;a[e+3807>>0]=0;a[e+3875>>0]=0;a[e+3943>>0]=0;a[e+4011>>0]=0;a[e+4079>>0]=0;a[e+4147>>0]=0;a[e+4215>>0]=0;a[e+4283>>0]=0;a[e+4351>>0]=0;a[e+4419>>0]=0;c[b+68>>2]=2147483647;c[b+20>>2]=0;c[b+16>>2]=0;c[d>>2]=0;c[b+72>>2]=0;ce(c[b+224>>2]|0);ce(c[b+244>>2]|0);d=c[b+252>>2]|0;c[b+248>>2]=d;xl(d|0,0,542464)|0;Ge(c[b+264>>2]|0);Je(c[b+276>>2]|0);c[b+12312>>2]=0;c[b+11600>>2]=2147483647;rg(b);sg(b);og(b);return 0}function qg(a){a=a|0;var b=0,d=0;b=a+11556|0;d=c[b>>2]|0;if(d|0){Ag(d)|0;c[b>>2]=0}b=a+284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+308|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+608|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+616|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+212|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+216|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+196|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+204|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+208|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6064|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6556|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+6284|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11612|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+1444|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+176|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+192|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+236|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+11628|0;d=c[b>>2]|0;if(d|0){ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0}b=a+260|0;d=c[b>>2]|0;if(!d){a=a+11632|0;c[a>>2]=0;return 0}ac[c[a+11620>>2]&31](c[a+11624>>2]|0,d);c[b>>2]=0;a=a+11632|0;c[a>>2]=0;return 0}function rg(a){a=a|0;c[a+12308>>2]=513;return}function sg(a){a=a|0;tg(a);return}function tg(a){a=a|0;c[a+11920>>2]=1;c[a+11924>>2]=2;c[a+11928>>2]=3;c[a+11932>>2]=4;c[a+11936>>2]=1;c[a+11940>>2]=2;c[a+11944>>2]=3;c[a+11948>>2]=4;c[a+11952>>2]=5;c[a+11956>>2]=6;c[a+11960>>2]=7;c[a+11964>>2]=8;c[a+11968>>2]=9;c[a+11972>>2]=10;c[a+11976>>2]=11;c[a+11980>>2]=12;c[a+11984>>2]=13;c[a+11988>>2]=14;c[a+11992>>2]=15;c[a+11996>>2]=16;c[a+12e3>>2]=1;c[a+12004>>2]=2;c[a+12008>>2]=3;c[a+12012>>2]=4;c[a+12016>>2]=4;c[a+12020>>2]=5;c[a+12024>>2]=6;c[a+12028>>2]=7;c[a+12032>>2]=8;c[a+12036>>2]=9;c[a+12040>>2]=10;c[a+12044>>2]=11;c[a+12048>>2]=12;c[a+12052>>2]=13;c[a+12056>>2]=14;c[a+12060>>2]=15;c[a+12064>>2]=16;c[a+12068>>2]=17;c[a+12072>>2]=18;c[a+12076>>2]=19;c[a+12080>>2]=20;c[a+12084>>2]=21;c[a+12088>>2]=22;c[a+12092>>2]=23;c[a+12096>>2]=24;c[a+12100>>2]=25;c[a+12104>>2]=26;c[a+12108>>2]=27;c[a+12112>>2]=28;c[a+12116>>2]=5;c[a+12120>>2]=6;c[a+12124>>2]=7;c[a+12128>>2]=8;c[a+12132>>2]=9;c[a+12136>>2]=10;c[a+12140>>2]=11;c[a+12144>>2]=12;c[a+12148>>2]=17;c[a+12152>>2]=18;c[a+12156>>2]=19;c[a+12160>>2]=20;c[a+12164>>2]=21;c[a+12168>>2]=22;c[a+12172>>2]=23;c[a+12176>>2]=24;c[a+12180>>2]=5;c[a+12184>>2]=6;c[a+12188>>2]=7;c[a+12192>>2]=8;c[a+12196>>2]=9;c[a+12200>>2]=10;c[a+12204>>2]=4;c[a+12208>>2]=5;c[a+12212>>2]=6;c[a+12216>>2]=7;c[a+12220>>2]=1;c[a+12224>>2]=1;c[a+12228>>2]=2;c[a+12232>>2]=1;c[a+12236>>2]=3;c[a+12240>>2]=1;c[a+12244>>2]=13;c[a+12248>>2]=1;c[a+12252>>2]=2;c[a+12256>>2]=2;c[a+12260>>2]=3;c[a+12264>>2]=3;c[a+12268>>2]=4;c[a+12272>>2]=4;c[a+12276>>2]=5;c[a+12280>>2]=5;c[a+12284>>2]=14;c[a+12288>>2]=15;c[a+12292>>2]=4;c[a+12296>>2]=1;c[a+12300>>2]=29;c[a+12304>>2]=30;return}function ug(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;m=(k|0)==0;l=b+1|0;y=g>>1;if((g|0)<=1)return;t=f>>>1&65535;u=t<<16>>16>0;v=0-f|0;w=h<<1;x=j<<1;s=(f+131070&131070)+2|0;q=e+(j<<2)|0;g=a+h|0;p=0;f=a;k=m?l:b;h=m?b:l;while(1){if(u){o=h+s|0;n=g+s|0;m=t;b=q;l=f;a=k;while(1){B=(d[a>>0]|0)+-128|0;A=B*16530>>13;B=r(B,-3207)|0;C=(d[h>>0]|0)+-128|0;B=(r(C,-6664)|0)+B>>13;C=C*13073>>13;z=d[l>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[e>>2]=((z|0)<255?z:255)<<16|((D|0)<255?D:255)|((E|0)<255?E:255)<<8;E=d[l+1>>0]|0;D=A+E|0;D=(D|0)>0?D:0;z=B+E|0;z=(z|0)>0?z:0;E=C+E|0;E=(E|0)>0?E:0;c[e+4>>2]=((E|0)<255?E:255)<<16|((D|0)<255?D:255)|((z|0)<255?z:255)<<8;z=d[g>>0]|0;D=A+z|0;D=(D|0)>0?D:0;E=B+z|0;E=(E|0)>0?E:0;z=C+z|0;z=(z|0)>0?z:0;c[b>>2]=((E|0)<255?E:255)<<8|((D|0)<255?D:255)|((z|0)<255?z:255)<<16;z=d[g+1>>0]|0;A=A+z|0;A=(A|0)>0?A:0;B=B+z|0;B=(B|0)>0?B:0;z=C+z|0;z=(z|0)>0?z:0;c[b+4>>2]=((B|0)<255?B:255)<<8|((A|0)<255?A:255)|((z|0)<255?z:255)<<16;if(m<<16>>16>1){m=m+-1<<16>>16;b=b+8|0;g=g+2|0;l=l+2|0;e=e+8|0;a=a+2|0;h=h+2|0}else break}a=q+(s<<2)|0;g=n;f=f+s|0;h=o;k=k+s|0}else a=q;p=p+1<<16>>16;if((y|0)<=(p<<16>>16|0))break;else{q=a+(x<<2)+(v<<2)|0;g=g+w+v|0;f=f+w+v|0;e=a+(v<<2)+(j<<2)|0;k=k+i+v|0;h=h+i+v|0}}return} |
| | | function xe(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=e;while(1){if(!(l&1)){wb=b[m+(i<<1)>>1]|0;zb=b[m+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[m+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;e=r(zb,U)|0;c[V>>2]=e;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[m>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-e|0;c[_>>2]=Ab;e=e+sb|0;c[$>>2]=e;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;e=Bb+e|0;b[n+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[K>>2]|0;Ab=Ab-e|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;e=e+(c[_>>2]|0)|0;b[n+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=n;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{n=n+32|0;l=l>>1;m=m+2|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;l=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;l=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){tb=b[m+(i<<1)>>1]|0;Bb=b[m+(yb<<1)>>1]|0;vb=b[m+(zb<<1)>>1]|0;qb=b[m+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[m+(p<<1)>>1]|0;vb=b[m+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[m+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[m>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;e=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=e-ob|0;c[va>>2]=xb;e=ob+e|0;c[wa>>2]=e;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[o>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[o+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[o+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Z>>2]|0;xb=xb-e|0;b[o+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[o+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[o+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[o+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[o+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;e=e+(c[va>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;e=r(i,Q)|0;c[R>>2]=e;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-e;c[X>>2]=e+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[U>>2]|0;Eb=c[D>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;e=b[m>>1]|0;f=r(e,n)|0;yb=r(o,yb)|0;e=r(p,e)|0;Db=i+f|0;Ab=e-yb|0;e=yb+e|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+e;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=e-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[na>>2]|0;Eb=c[O>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;e=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(e,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(e,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(e,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(e,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(e,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(e,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(e,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(e,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;e=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(e,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(e,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(e,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(e,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;e=b[m+384>>1]|0;Db=(r(e,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,e)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;e=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=e-Ab;c[gb>>2]=Ab+e;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+16>>0]|0)|0;f=(f|0)>0?f:0;a[h+16>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+18>>0]|0)|0;f=(f|0)>0?f:0;a[h+18>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+20>>0]|0)|0;f=(f|0)>0?f:0;a[h+20>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=c[db>>2]|0;Eb=c[ka>>2]|0;Db=f-Eb|0;Db=((Db|0)>134215679?32767:(Db|0)<-134219776?-32768:Db+2048>>12)+(d[g+22>>0]|0)|0;Db=(Db|0)>0?Db:0;a[h+22>>0]=(Db|0)<255?Db:255;f=Eb+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+24>>0]|0)|0;f=(f|0)>0?f:0;a[h+24>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+26>>0]|0)|0;f=(f|0)>0?f:0;a[h+26>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+28>>0]|0)|0;f=(f|0)>0?f:0;a[h+28>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+30>>0]|0)|0;f=(f|0)>0?f:0;a[h+30>>0]=(f|0)<255?f:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;m=e;n=0;o=f;while(1){if(!(l&1)){Rb=b[m+(i<<1)>>1]|0;Qb=b[m+(yb<<1)>>1]|0;Bb=b[m+(zb<<1)>>1]|0;Ob=b[m+(Ab<<1)>>1]|0;Pb=b[m+(p<<1)>>1]|0;Mb=b[m+(q<<1)>>1]|0;e=b[m+(s<<1)>>1]|0;Kb=b[m+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(e,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(e,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(e,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(e,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(e,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(e,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(e,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(e,Xa)|0)+(r(Kb,Ya)|0);Kb=b[m+(u<<1)>>1]|0;e=b[m+(v<<1)>>1]|0;Mb=b[m+(w<<1)>>1]|0;Pb=b[m+(x<<1)>>1]|0;Ob=(r(e,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(e,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(e,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(e,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[m+(z<<1)>>1]|0;Kb=r(Mb,y)|0;e=b[m+(B<<1)>>1]|0;Kb=(r(e,A)|0)+Kb|0;Qb=b[m>>1]|0;Lb=r(Qb,C)|0;Nb=b[m+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,e)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;e=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=e-Rb|0;c[tb>>2]=Jb;e=Rb+e|0;c[ub>>2]=e;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[o>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[o+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[o+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[o+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;e=Bb+e|0;b[o+4>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;e=c[Ha>>2]|0;Jb=Jb-e|0;b[o+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[o+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[o+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[o+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[o+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;e=e+(c[tb>>2]|0)|0;b[o+10>>1]=(e|0)>4194239?32767:(e|0)<-4194368?-32768:(e+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[o+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[o+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[o+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[o+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[o+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{e=o;Bb=e+32|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(Bb|0))}n=n+1|0;if(n>>>0>=Db>>>0)break;else{l=l>>1;m=m+2|0;o=o+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;l=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[U>>2]|0;Qb=c[D>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;l=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[na>>2]|0;Qb=c[O>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;l=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+16>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+16>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+18>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+18>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+20>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+20>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=c[db>>2]|0;Qb=c[ka>>2]|0;Pb=Rb-Qb|0;Pb=((Pb|0)>134215679?32767:(Pb|0)<-134219776?-32768:Pb+2048>>12)+(d[g+22>>0]|0)|0;Pb=(Pb|0)>0?Pb:0;a[h+22>>0]=(Pb|0)<255?Pb:255;Rb=Qb+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+24>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+24>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+26>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+26>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+28>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+28>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+30>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+30>>0]=(Rb|0)<255?Rb:255;l=l+1|0;if((l|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}}function ye(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Sb;Sb=Sb+32|0;ia=ja+16|0;ea=ja;da=(l&240|0)==240;x=da?4:8;y=i*3|0;z=i*5|0;A=i*7|0;B=b[16848]|0;C=i<<1;D=b[16880]|0;E=i*6|0;F=b[16849]|0;G=b[16881]|0;H=b[16832]|0;I=b[16864]|0;J=i<<2;K=b[16833]|0;L=b[16865]|0;fa=ia+12|0;ga=ia+4|0;ha=ia+8|0;M=b[16840]|0;N=b[16856]|0;O=b[16872]|0;P=b[16888]|0;Q=b[16841]|0;R=b[16857]|0;S=b[16873]|0;T=b[16889]|0;U=ea+4|0;V=b[16842]|0;W=b[16858]|0;X=b[16874]|0;Y=b[16890]|0;Z=ea+8|0;_=b[16843]|0;$=b[16859]|0;aa=b[16875]|0;ba=b[16891]|0;ca=ea+12|0;v=f;w=0;m=c[ha>>2]|0;o=c[ga>>2]|0;q=c[fa>>2]|0;t=c[ia>>2]|0;u=c[ca>>2]|0;s=c[Z>>2]|0;p=c[U>>2]|0;n=c[ea>>2]|0;while(1){if(!(l&1)){q=b[e+(i<<1)>>1]|0;ka=b[e+(y<<1)>>1]|0;m=b[e+(z<<1)>>1]|0;u=b[e+(A<<1)>>1]|0;n=(r(ka,N)|0)+(r(q,M)|0)+(r(m,O)|0)+(r(u,P)|0)|0;p=(r(ka,R)|0)+(r(q,Q)|0)+(r(m,S)|0)+(r(u,T)|0)|0;s=(r(ka,W)|0)+(r(q,V)|0)+(r(m,X)|0)+(r(u,Y)|0)|0;u=(r(ka,$)|0)+(r(q,_)|0)+(r(m,aa)|0)+(r(u,ba)|0)|0;m=b[e+(C<<1)>>1]|0;q=r(m,B)|0;ka=b[e+(E<<1)>>1]|0;q=(r(ka,D)|0)+q|0;m=(r(G,ka)|0)+(r(F,m)|0)|0;ka=b[e>>1]|0;o=r(ka,H)|0;t=b[e+(J<<1)>>1]|0;o=(r(t,I)|0)+o|0;ka=(r(L,t)|0)+(r(K,ka)|0)|0;t=o+q|0;q=o-q|0;o=ka+m|0;m=ka-m|0;ka=n+t|0;b[v>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=q-u|0;b[v+8>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=p+o|0;b[v+2>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=m-s|0;b[v+10>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=s+m|0;b[v+4>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=o-p|0;b[v+12>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=u+q|0;b[v+6>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535;ka=t-n|0;b[v+14>>1]=(ka|0)>4194239?32767:(ka|0)<-4194368?-32768:(ka+64|0)>>>7&65535}else{b[v>>1]=0;b[v+2>>1]=0;b[v+4>>1]=0;b[v+6>>1]=0;b[v+8>>1]=0;b[v+10>>1]=0;b[v+12>>1]=0;b[v+14>>1]=0}w=w+1|0;if(w>>>0>=x>>>0)break;else{e=e+2|0;v=v+16|0;l=l>>1}}c[ea>>2]=n;c[U>>2]=p;c[Z>>2]=s;c[ca>>2]=u;c[ia>>2]=t;c[fa>>2]=q;c[ga>>2]=o;c[ha>>2]=m;N=b[16848]|0;if(da){l=b[16849]|0;n=b[16832]|0;o=b[16833]|0;p=b[16840]|0;q=b[16856]|0;s=b[16841]|0;t=b[16857]|0;u=ea+4|0;v=b[16842]|0;w=b[16858]|0;x=ea+8|0;y=b[16843]|0;z=b[16859]|0;A=ea+12|0;e=0;m=f;while(1){i=b[m+16>>1]|0;ca=b[m+48>>1]|0;f=(r(ca,q)|0)+(r(i,p)|0)|0;c[ea>>2]=f;c[u>>2]=(r(ca,t)|0)+(r(i,s)|0);c[x>>2]=(r(ca,w)|0)+(r(i,v)|0);c[A>>2]=(r(ca,z)|0)+(r(i,y)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;i=r(l,i)|0;da=b[m>>1]|0;ba=r(da,n)|0;da=r(o,da)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[A>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[u>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[x>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[x>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[u>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[A>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}else{l=b[16880]|0;n=b[16849]|0;o=b[16881]|0;p=b[16832]|0;q=b[16864]|0;s=b[16833]|0;t=b[16865]|0;u=b[16840]|0;v=b[16856]|0;w=b[16872]|0;x=b[16888]|0;y=b[16841]|0;z=b[16857]|0;A=b[16873]|0;B=b[16889]|0;C=ea+4|0;D=b[16842]|0;E=b[16858]|0;F=b[16874]|0;G=b[16890]|0;H=ea+8|0;I=b[16843]|0;J=b[16859]|0;K=b[16875]|0;L=b[16891]|0;M=ea+12|0;e=0;m=f;while(1){da=b[m+16>>1]|0;ba=b[m+48>>1]|0;ca=b[m+80>>1]|0;i=b[m+112>>1]|0;f=(r(ba,v)|0)+(r(da,u)|0)+(r(ca,w)|0)+(r(i,x)|0)|0;c[ea>>2]=f;c[C>>2]=(r(ba,z)|0)+(r(da,y)|0)+(r(ca,A)|0)+(r(i,B)|0);c[H>>2]=(r(ba,E)|0)+(r(da,D)|0)+(r(ca,F)|0)+(r(i,G)|0);c[M>>2]=(r(ba,J)|0)+(r(da,I)|0)+(r(ca,K)|0)+(r(i,L)|0);i=b[m+32>>1]|0;ca=r(i,N)|0;da=b[m+96>>1]|0;ca=(r(da,l)|0)+ca|0;i=(r(o,da)|0)+(r(n,i)|0)|0;da=b[m>>1]|0;ba=r(da,p)|0;ka=b[m+64>>1]|0;ba=(r(ka,q)|0)+ba|0;da=(r(t,ka)|0)+(r(s,da)|0)|0;ka=ba+ca|0;c[ia>>2]=ka;c[fa>>2]=ba-ca;c[ga>>2]=da+i;c[ha>>2]=da-i;ka=f+ka|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h>>0]=(ka|0)<255?ka:255;ka=(c[fa>>2]|0)-(c[M>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+8>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+8>>0]=(ka|0)<255?ka:255;ka=(c[C>>2]|0)+(c[ga>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+2>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+2>>0]=(ka|0)<255?ka:255;ka=(c[ha>>2]|0)-(c[H>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+10>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+10>>0]=(ka|0)<255?ka:255;ka=(c[H>>2]|0)+(c[ha>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+4>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+4>>0]=(ka|0)<255?ka:255;ka=(c[ga>>2]|0)-(c[C>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+12>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+12>>0]=(ka|0)<255?ka:255;ka=(c[M>>2]|0)+(c[fa>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+6>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+6>>0]=(ka|0)<255?ka:255;ka=(c[ia>>2]|0)-(c[ea>>2]|0)|0;ka=((ka|0)>134215679?32767:(ka|0)<-134219776?-32768:ka+2048>>12)+(d[g+14>>0]|0)|0;ka=(ka|0)>0?ka:0;a[h+14>>0]=(ka|0)<255?ka:255;e=e+1|0;if((e|0)==8)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=ja;return}}function ze(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!(j&1)){k=(d[e>>0]|0)+(b[c>>1]|0)|0;k=(k|0)>0?k:0;a[f>>0]=(k|0)<255?k:255;k=(d[e+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+i>>0]=(k|0)<255?k:255;k=(d[e+(h<<1)>>0]|0)+(b[c+(g<<1<<1)>>1]|0)|0;k=(k|0)>0?k:0;a[f+(i<<1)>>0]=(k|0)<255?k:255;k=(d[e+(h*3|0)>>0]|0)+(b[c+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[f>>0]=a[e>>0]|0;a[f+i>>0]=a[e+h>>0]|0;a[f+(i<<1)>>0]=a[e+(h<<1)>>0]|0;k=a[e+(h*3|0)>>0]|0}a[f+(i*3|0)>>0]=k;k=c+2|0;m=f+2|0;l=e+2|0;if(!(j&2)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;k=c+4|0;m=f+4|0;l=e+4|0;if(!(j&4)){n=(d[l>>0]|0)+(b[k>>1]|0)|0;n=(n|0)>0?n:0;a[m>>0]=(n|0)<255?n:255;n=(d[l+h>>0]|0)+(b[k+(g<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+i>>0]=(n|0)<255?n:255;n=(d[l+(h<<1)>>0]|0)+(b[k+(g<<1<<1)>>1]|0)|0;n=(n|0)>0?n:0;a[m+(i<<1)>>0]=(n|0)<255?n:255;k=(d[l+(h*3|0)>>0]|0)+(b[k+(g*3<<1)>>1]|0)|0;k=(k|0)>0?k:0;k=((k|0)<255?k:255)&255}else{a[m>>0]=a[l>>0]|0;a[m+i>>0]=a[l+h>>0]|0;a[m+(i<<1)>>0]=a[l+(h<<1)>>0]|0;k=a[l+(h*3|0)>>0]|0}a[m+(i*3|0)>>0]=k;m=c+6|0;l=f+6|0;k=e+6|0;if(!(j&8)){j=(d[k>>0]|0)+(b[m>>1]|0)|0;j=(j|0)>0?j:0;a[l>>0]=(j|0)<255?j:255;j=(d[k+h>>0]|0)+(b[m+(g<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+i>>0]=(j|0)<255?j:255;j=(d[k+(h<<1)>>0]|0)+(b[m+(g<<1<<1)>>1]|0)|0;j=(j|0)>0?j:0;a[l+(i<<1)>>0]=(j|0)<255?j:255;j=(d[k+(h*3|0)>>0]|0)+(b[m+(g*3<<1)>>1]|0)|0;j=(j|0)>0?j:0;j=((j|0)<255?j:255)&255;n=i*3|0;n=l+n|0;a[n>>0]=j;return}else{a[l>>0]=a[k>>0]|0;a[l+i>>0]=a[k+h>>0]|0;a[l+(i<<1)>>0]=a[k+(h<<1)>>0]|0;j=a[k+(h*3|0)>>0]|0;n=i*3|0;n=l+n|0;a[n>>0]=j;return}}function Ae(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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;M=g<<1;N=h<<1;O=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=h<<1;C=i<<1;D=h*3|0;E=i*3|0;F=h<<2;G=i<<2;H=h*5|0;I=i*5|0;J=h*6|0;K=i*6|0;L=h*7|0;m=i*7|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+N>>0]|0)+(b[c+(M<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+O>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+C>>0]=a[k+B>>0]|0;a[f+E>>0]=a[k+D>>0]|0;a[f+G>>0]=a[k+F>>0]|0;a[f+I>>0]=a[k+H>>0]|0;a[f+K>>0]=a[k+J>>0]|0;e=a[k+L>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==8)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function Be(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;ta=g<<1;za=h<<1;Aa=i<<1;n=g*3|0;o=h*3|0;p=i*3|0;q=g<<2;r=h<<2;s=i<<2;t=g*5|0;u=h*5|0;v=i*5|0;w=g*6|0;x=h*6|0;y=i*6|0;z=g*7|0;A=h*7|0;B=i*7|0;C=g<<3;D=h<<3;E=i<<3;F=g*9|0;G=h*9|0;H=i*9|0;I=g*10|0;J=h*10|0;K=i*10|0;L=g*11|0;M=h*11|0;N=i*11|0;O=g*12|0;P=h*12|0;Q=i*12|0;R=g*13|0;S=h*13|0;T=i*13|0;U=g*14|0;V=h*14|0;W=i*14|0;X=g*15|0;Y=h*15|0;Z=h<<1;_=i<<1;$=h*3|0;aa=i*3|0;ba=h<<2;ca=i<<2;da=h*5|0;ea=i*5|0;fa=h*6|0;ga=i*6|0;ha=h*7|0;ia=i*7|0;ja=h<<3;ka=i<<3;la=h*9|0;ma=i*9|0;na=h*10|0;oa=i*10|0;pa=h*11|0;qa=i*11|0;ra=h*12|0;sa=i*12|0;ua=h*13|0;va=i*13|0;wa=h*14|0;xa=i*14|0;ya=h*15|0;m=i*15|0;l=0;k=e;while(1){if(!(j&1)){e=(d[k>>0]|0)+(b[c>>1]|0)|0;e=(e|0)>0?e:0;a[f>>0]=(e|0)<255?e:255;e=(d[k+h>>0]|0)+(b[c+(g<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+i>>0]=(e|0)<255?e:255;e=(d[k+za>>0]|0)+(b[c+(ta<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Aa>>0]=(e|0)<255?e:255;e=(d[k+o>>0]|0)+(b[c+(n<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+p>>0]=(e|0)<255?e:255;e=(d[k+r>>0]|0)+(b[c+(q<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+s>>0]=(e|0)<255?e:255;e=(d[k+u>>0]|0)+(b[c+(t<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+v>>0]=(e|0)<255?e:255;e=(d[k+x>>0]|0)+(b[c+(w<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+y>>0]=(e|0)<255?e:255;e=(d[k+A>>0]|0)+(b[c+(z<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+B>>0]=(e|0)<255?e:255;e=(d[k+D>>0]|0)+(b[c+(C<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+E>>0]=(e|0)<255?e:255;e=(d[k+G>>0]|0)+(b[c+(F<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+H>>0]=(e|0)<255?e:255;e=(d[k+J>>0]|0)+(b[c+(I<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+K>>0]=(e|0)<255?e:255;e=(d[k+M>>0]|0)+(b[c+(L<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+N>>0]=(e|0)<255?e:255;e=(d[k+P>>0]|0)+(b[c+(O<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+Q>>0]=(e|0)<255?e:255;e=(d[k+S>>0]|0)+(b[c+(R<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+T>>0]=(e|0)<255?e:255;e=(d[k+V>>0]|0)+(b[c+(U<<1)>>1]|0)|0;e=(e|0)>0?e:0;a[f+W>>0]=(e|0)<255?e:255;e=(d[k+Y>>0]|0)+(b[c+(X<<1)>>1]|0)|0;e=(e|0)>0?e:0;e=((e|0)<255?e:255)&255}else{a[f>>0]=a[k>>0]|0;a[f+i>>0]=a[k+h>>0]|0;a[f+_>>0]=a[k+Z>>0]|0;a[f+aa>>0]=a[k+$>>0]|0;a[f+ca>>0]=a[k+ba>>0]|0;a[f+ea>>0]=a[k+da>>0]|0;a[f+ga>>0]=a[k+fa>>0]|0;a[f+ia>>0]=a[k+ha>>0]|0;a[f+ka>>0]=a[k+ja>>0]|0;a[f+ma>>0]=a[k+la>>0]|0;a[f+oa>>0]=a[k+na>>0]|0;a[f+qa>>0]=a[k+pa>>0]|0;a[f+sa>>0]=a[k+ra>>0]|0;a[f+va>>0]=a[k+ua>>0]|0;a[f+xa>>0]=a[k+wa>>0]|0;e=a[k+ya>>0]|0}a[f+m>>0]=e;l=l+1|0;if((l|0)==16)break;else{j=j>>1;k=k+2|0;f=f+2|0;c=c+2|0}}return}function Ce(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0;if((f+-1|0)>>>0>=3)J(82026,82050,117,82083);G=(k|0)==0;H=(l|0)==0;if(!(l|k))J(82105,82050,118,82083);F=g+1+h>>1;o=F+(i<<1)|0;o=(o|0)>0?o:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;o=c[25472+(((o|0)<51?o:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;w=a[b+2>>0]|0;v=a[b+1>>0]|0;u=a[b>>0]|0;f=u&255;p=(w&255)-((v&255)<<1)+f|0;p=(p|0)>0?p:0-p|0;D=e*3|0;k=b+D|0;l=d[k>>0]|0;E=(d[b+(D+2)>>0]|0)-((d[b+(D+1)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;t=a[b+-3>>0]|0;s=a[b+-2>>0]|0;q=a[b+-1>>0]|0;g=q&255;n=(t&255)-((s&255)<<1)+g|0;n=(n|0)>0?n:0-n|0;m=d[b+(D+-1)>>0]|0;D=(d[b+(D+-3)>>0]|0)-((d[b+(D+-2)>>0]|0)<<1)+m|0;D=(D|0)>0?D:0-D|0;h=n+p|0;i=D+E|0;n=D+n|0;p=E+p|0;if((i+h|0)>=(o|0))return;j=o>>2;if((h<<1|0)<(j|0)?(E=(d[b+3>>0]|0)-f|0,D=g-(d[b+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){g=f-g|0;g=(((g|0)>0?g:0-g|0)|0)<((F*5|0)+1>>1|0)&1}else g=0;if((i<<1|0)<(j|0)?(E=(d[k+3>>0]|0)-l|0,D=m-(d[k+-4>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(o>>3|0)):0){f=l-m|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0;E=(g|0)==1&f;x=(o>>1)+o>>3;C=(F|0)>1;D=(n|0)<(x|0)&C;C=(p|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;h=q;i=s;j=t;k=u;l=v;m=w;while(1){v=b+-1|0;q=h&255;u=b+-2|0;g=i&255;t=b+-3|0;i=j&255;o=k&255;s=b+1|0;n=l&255;p=b+2|0;k=m&255;if(!E){h=((o-q|0)*9|0)+8+(r(n-g|0,-3)|0)>>4;if((((h|0)>0?h:0-h|0)|0)<(y|0)){j=(h|0)>(F|0)?F:(h|0)<(z|0)?z:h;h=j+q|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255;l=o-j|0;l=(l|0)>0?l:0;l=(l|0)<255?l:255;if(D){w=((q+1+i|0)>>>1)-g+j>>1;g=((w|0)>(A|0)?A:(w|0)<(B|0)?B:w)+g|0;g=(g|0)>0?g:0;g=(g|0)<255?g:255}if(C){m=((k+o+1|0)>>>1)-n-j>>1;m=((m|0)>(A|0)?A:(m|0)<(B|0)?B:m)+n|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;j=l}else{m=n;j=l}}else{m=n;j=o;h=q}}else{h=o<<1;w=(q<<1)+4|0;j=w+g+h+k+(n<<1)>>3;L=x+o|0;K=o-x|0;l=o+q|0;m=(l+2+n+k|0)>>>2;N=x+n|0;M=n-x|0;O=(l+4+n+(k*3|0)+((d[b+3>>0]|0)<<1)|0)>>>3;P=x+k|0;k=k-x|0;h=w+(g<<1)+i+n+h>>3;n=x+q|0;o=q-x|0;l=l+g|0;w=(i+2+l|0)>>>2;q=x+g|0;g=g-x|0;l=((i*3|0)+4+l+((d[b+-4>>0]|0)<<1)|0)>>>3;I=x+i|0;i=i-x|0;k=(O|0)>(P|0)?P:(O|0)<(k|0)?k:O;m=(m|0)>(N|0)?N:(m|0)<(M|0)?M:m;j=(j|0)>(L|0)?L:(j|0)<(K|0)?K:j;i=(l|0)>(I|0)?I:(l|0)<(i|0)?i:l;h=(h|0)>(n|0)?n:(h|0)<(o|0)?o:h;g=(w|0)>(q|0)?q:(w|0)<(g|0)?g:w}if(!G){a[t>>0]=i;a[u>>0]=g;a[v>>0]=h}if(!H){a[b>>0]=j;a[s>>0]=m;a[p>>0]=k}g=b+e|0;f=f+1|0;if((f|0)==4)break;b=g;h=a[g+-1>>0]|0;i=a[g+-2>>0]|0;j=a[g+-3>>0]|0;k=a[g>>0]|0;l=a[g+1>>0]|0;m=a[g+2>>0]|0}return}function De(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;if((f|0)<=0)J(82138,82050,354,82149);M=(k|0)==0;N=(l|0)==0;if(!(l|k))J(82105,82050,355,82149);F=g+1+h>>1;n=F+(i<<1)|0;n=(n|0)>0?n:0;F=F+(f&-2)+(j<<1)|0;F=(F|0)>0?F:0;n=c[25472+(((n|0)<51?n:51)<<2)>>2]|0;F=c[25680+(((F|0)<53?F:53)<<2)>>2]|0;if(!F)return;G=e<<1;v=a[b+G>>0]|0;u=a[b+e>>0]|0;t=a[b>>0]|0;g=t&255;o=(v&255)-((u&255)<<1)+g|0;o=(o|0)>0?o:0-o|0;k=b+3|0;l=d[k>>0]|0;E=(d[b+(G+3)>>0]|0)-((d[b+(e+3)>>0]|0)<<1)+l|0;E=(E|0)>0?E:0-E|0;H=r(e,-3)|0;s=a[b+H>>0]|0;I=r(e,-2)|0;q=a[b+I>>0]|0;K=0-e|0;p=a[b+K>>0]|0;h=p&255;m=(s&255)-((q&255)<<1)+h|0;m=(m|0)>0?m:0-m|0;L=e*3|0;D=(d[b+(3-L)>>0]|0)-((d[b+(3-G)>>0]|0)<<1)+(d[b+(3-e)>>0]|0)|0;D=(D|0)>0?D:0-D|0;f=m+o|0;i=D+E|0;m=D+m|0;o=E+o|0;if((i+f|0)>=(n|0))return;j=n>>2;if((f<<1|0)<(j|0)?(E=(d[b+L>>0]|0)-g|0,D=h-(d[b+(r(e,-4)|0)>>0]|0)|0,(((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)):0){h=g-h|0;h=(((h|0)>0?h:0-h|0)|0)<((F*5|0)+1>>1|0)&1}else h=0;if((i<<1|0)<(j|0)){E=(d[k+L>>0]|0)-l|0;f=d[k+K>>0]|0;g=r(e,-4)|0;D=f-(d[k+g>>0]|0)|0;if((((D|0)>0?D:0-D|0)+((E|0)>0?E:0-E|0)|0)<(n>>3|0)){f=l-f|0;f=(((f|0)>0?f:0-f|0)|0)<((F*5|0)+1>>1|0)}else f=0}else{f=0;g=r(e,-4)|0}E=(h|0)==1&f;x=(n>>1)+n>>3;C=(F|0)>1;D=(m|0)<(x|0)&C;C=(o|0)<(x|0)&C;x=F<<1;y=F*10|0;z=0-F|0;A=F>>1;B=0-A|0;f=0;i=p;j=q;k=s;l=t;m=u;n=v;while(1){w=b+K|0;s=i&255;v=b+I|0;h=j&255;u=b+H|0;j=k&255;p=l&255;t=b+e|0;o=m&255;q=b+G|0;l=n&255;if(!E){i=((p-s|0)*9|0)+8+(r(o-h|0,-3)|0)>>4;if((((i|0)>0?i:0-i|0)|0)<(y|0)){k=(i|0)>(F|0)?F:(i|0)<(z|0)?z:i;i=k+s|0;i=(i|0)>0?i:0;i=(i|0)<255?i:255;m=p-k|0;m=(m|0)>0?m:0;m=(m|0)<255?m:255;if(D){s=((s+1+j|0)>>>1)-h+k>>1;h=((s|0)>(A|0)?A:(s|0)<(B|0)?B:s)+h|0;h=(h|0)>0?h:0;h=(h|0)<255?h:255}if(C){n=((l+p+1|0)>>>1)-o-k>>1;n=((n|0)>(A|0)?A:(n|0)<(B|0)?B:n)+o|0;n=(n|0)>0?n:0;n=(n|0)<255?n:255;k=m}else{n=o;k=m}}else{n=o;k=p;i=s}}else{i=p<<1;m=(s<<1)+4|0;k=m+h+i+l+(o<<1)>>3;R=x+p|0;Q=p-x|0;O=p+s|0;n=(O+2+o+l|0)>>>2;T=x+o|0;S=o-x|0;U=(O+4+o+(l*3|0)+((d[b+L>>0]|0)<<1)|0)>>>3;V=x+l|0;l=l-x|0;i=m+(h<<1)+j+o+i>>3;m=x+s|0;o=s-x|0;O=O+h|0;s=(j+2+O|0)>>>2;p=x+h|0;h=h-x|0;O=((j*3|0)+4+O+((d[b+g>>0]|0)<<1)|0)>>>3;P=x+j|0;j=j-x|0;l=(U|0)>(V|0)?V:(U|0)<(l|0)?l:U;n=(n|0)>(T|0)?T:(n|0)<(S|0)?S:n;k=(k|0)>(R|0)?R:(k|0)<(Q|0)?Q:k;j=(O|0)>(P|0)?P:(O|0)<(j|0)?j:O;i=(i|0)>(m|0)?m:(i|0)<(o|0)?o:i;h=(s|0)>(p|0)?p:(s|0)<(h|0)?h:s}if(!M){a[u>>0]=j;a[v>>0]=h;a[w>>0]=i}if(!N){a[b>>0]=k;a[t>>0]=n;a[q>>0]=l}h=b+1|0;f=f+1|0;if((f|0)==4)break;b=h;i=a[h+K>>0]|0;j=a[h+I>>0]|0;k=a[h+H>>0]|0;l=a[h>>0]|0;m=a[h+e>>0]|0;n=a[h+G>>0]|0}return}function Ee(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=(k|0)==0;o=(l|0)==0;if(!(l|k))J(82105,82050,611,82171);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;h=0-i|0;n=0-j|0;f=d[b>>0]|0;l=b+-2|0;g=d[l>>0]|0;k=(d[b+-4>>0]|0)+4+(f-g<<2)-(d[b+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;m=d[f>>0]|0;k=(d[b+-3>>0]|0)+4+(m-(d[b+-1>>0]|0)<<2)-(d[b+3>>0]|0)>>3;k=m-((k|0)>(j|0)?j:(k|0)<(n|0)?n:k)|0;k=(k|0)>0?k:0;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}g=b+e|0;f=d[g>>0]|0;k=(d[g+-4>>0]|0)+4+(f-(d[g+-2>>0]|0)<<2)-(d[g+2>>0]|0)>>3;k=f-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;f=g+1|0;b=d[f>>0]|0;l=(d[g+-3>>0]|0)+4+(b-(d[g+-1>>0]|0)<<2)-(d[g+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[g>>0]=(k|0)<255?k:255;a[f>>0]=(l|0)<255?l:255}f=g+e|0;g=d[f>>0]|0;k=(d[f+-4>>0]|0)+4+(g-(d[f+-2>>0]|0)<<2)-(d[f+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=f+1|0;b=d[g>>0]|0;l=(d[f+-3>>0]|0)+4+(b-(d[f+-1>>0]|0)<<2)-(d[f+3>>0]|0)>>3;l=b-((l|0)>(j|0)?j:(l|0)<(n|0)?n:l)|0;l=(l|0)>0?l:0;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;k=(d[l+-4>>0]|0)+4+(g-(d[l+-2>>0]|0)<<2)-(d[l+2>>0]|0)>>3;k=g-((k|0)>(i|0)?i:(k|0)<(h|0)?h:k)|0;k=(k|0)>0?k:0;g=l+1|0;e=d[g>>0]|0;f=(d[l+-3>>0]|0)+4+(e-(d[l+-1>>0]|0)<<2)-(d[l+3>>0]|0)>>3;f=e-((f|0)>(j|0)?j:(f|0)<(n|0)?n:f)|0;f=(f|0)>0?f:0;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}else{q=k+g|0;q=(q|0)>0?q:0;g=f-k|0;g=(g|0)>0?g:0;f=b+1|0;r=d[f>>0]|0;m=b+-1|0;p=d[m>>0]|0;k=(d[b+-3>>0]|0)+4+(r-p<<2)-(d[b+3>>0]|0)>>3;k=(k|0)>(j|0)?j:(k|0)<(n|0)?n:k;p=k+p|0;p=(p|0)>0?p:0;k=r-k|0;k=(k|0)>0?k:0;a[l>>0]=(q|0)<255?q:255;a[m>>0]=(p|0)<255?p:255;if(!o){a[b>>0]=(g|0)<255?g:255;a[f>>0]=(k|0)<255?k:255}f=b+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}f=f+e|0;g=d[f>>0]|0;p=f+-2|0;b=d[p>>0]|0;k=(d[f+-4>>0]|0)+4+(g-b<<2)-(d[f+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;b=k+b|0;b=(b|0)>0?b:0;k=g-k|0;k=(k|0)>0?k:0;g=f+1|0;m=d[g>>0]|0;r=f+-1|0;q=d[r>>0]|0;l=(d[f+-3>>0]|0)+4+(m-q<<2)-(d[f+3>>0]|0)>>3;l=(l|0)>(j|0)?j:(l|0)<(n|0)?n:l;q=l+q|0;q=(q|0)>0?q:0;l=m-l|0;l=(l|0)>0?l:0;a[p>>0]=(b|0)<255?b:255;a[r>>0]=(q|0)<255?q:255;if(!o){a[f>>0]=(k|0)<255?k:255;a[g>>0]=(l|0)<255?l:255}l=f+e|0;g=d[l>>0]|0;p=l+-2|0;e=d[p>>0]|0;k=(d[l+-4>>0]|0)+4+(g-e<<2)-(d[l+2>>0]|0)>>3;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;e=k+e|0;e=(e|0)>0?e:0;k=g-k|0;k=(k|0)>0?k:0;g=l+1|0;b=d[g>>0]|0;r=l+-1|0;q=d[r>>0]|0;f=(d[l+-3>>0]|0)+4+(b-q<<2)-(d[l+3>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(n|0)?n:f;q=f+q|0;q=(q|0)>0?q:0;f=b-f|0;f=(f|0)>0?f:0;a[p>>0]=(e|0)<255?e:255;a[r>>0]=(q|0)<255?q:255;if(o)return;a[l>>0]=(k|0)<255?k:255;a[g>>0]=(f|0)<255?f:255;return}}function Fe(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;m=(k|0)==0;p=(l|0)==0;if(!(l|k))J(82105,82050,732,82195);g=f+1+g>>1;f=g+h|0;do if((f|0)>=0)if((f|0)>57){k=f+-6|0;break}else{k=c[25904+(f<<2)>>2]|0;break}else k=f;while(0);f=g+i|0;do if((f|0)>=0)if((f|0)>57){f=f+-6|0;break}else{f=c[25904+(f<<2)>>2]|0;break}while(0);j=(j<<1)+2|0;i=j+k|0;i=(i|0)>0?i:0;i=c[25680+(((i|0)<53?i:53)<<2)>>2]|0;j=j+f|0;j=(j|0)>0?j:0;j=c[25680+(((j|0)<53?j:53)<<2)>>2]|0;if(!(j|i))return;n=0-e|0;o=r(e,-2)|0;f=d[b>>0]|0;l=b+n|0;g=d[l>>0]|0;k=(d[b+o>>0]|0)+4+(f-g<<2)-(d[b+e>>0]|0)>>3;h=0-i|0;k=(k|0)>(i|0)?i:(k|0)<(h|0)?h:k;if(m){f=f-k|0;f=(f|0)>0?f:0;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(i|0)?i:(g|0)<(h|0)?h:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;m=d[f>>0]|0;g=(d[f+o>>0]|0)+4+(m-(d[f+n>>0]|0)<<2)-(d[f+e>>0]|0)>>3;g=m-((g|0)>(j|0)?j:(g|0)<(k|0)?k:g)|0;g=(g|0)>0?g:0;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;m=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(m-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=m-((f|0)>(i|0)?i:(f|0)<(h|0)?h:f)|0;f=(f|0)>0?f:0;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;f=(d[g+o>>0]|0)+4+(b-(d[g+n>>0]|0)<<2)-(d[g+e>>0]|0)>>3;f=b-((f|0)>(j|0)?j:(f|0)<(k|0)?k:f)|0;f=(f|0)>0?f:0;if(p)return;a[g>>0]=(f|0)<255?f:255;return}else{m=k+g|0;m=(m|0)>0?m:0;f=f-k|0;f=(f|0)>0?f:0;a[l>>0]=(m|0)<255?m:255;if(!p)a[b>>0]=(f|0)<255?f:255;f=b+1|0;q=d[f>>0]|0;m=f+n|0;l=d[m>>0]|0;g=(d[f+o>>0]|0)+4+(q-l<<2)-(d[f+e>>0]|0)>>3;k=0-j|0;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;l=g+l|0;l=(l|0)>0?l:0;g=q-g|0;g=(g|0)>0?g:0;a[m>>0]=(l|0)<255?l:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+2|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+3|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+4|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(i|0)?i:(g|0)<(h|0)?h:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;f=b+5|0;l=d[f>>0]|0;q=f+n|0;m=d[q>>0]|0;g=(d[f+o>>0]|0)+4+(l-m<<2)-(d[f+e>>0]|0)>>3;g=(g|0)>(j|0)?j:(g|0)<(k|0)?k:g;m=g+m|0;m=(m|0)>0?m:0;g=l-g|0;g=(g|0)>0?g:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[f>>0]=(g|0)<255?g:255;g=b+6|0;l=d[g>>0]|0;q=g+n|0;m=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(l-m<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(i|0)?i:(f|0)<(h|0)?h:f;m=f+m|0;m=(m|0)>0?m:0;f=l-f|0;f=(f|0)>0?f:0;a[q>>0]=(m|0)<255?m:255;if(!p)a[g>>0]=(f|0)<255?f:255;g=b+7|0;b=d[g>>0]|0;q=g+n|0;n=d[q>>0]|0;f=(d[g+o>>0]|0)+4+(b-n<<2)-(d[g+e>>0]|0)>>3;f=(f|0)>(j|0)?j:(f|0)<(k|0)?k:f;e=f+n|0;e=(e|0)>0?e:0;f=b-f|0;f=(f|0)>0?f:0;a[q>>0]=(e|0)<255?e:255;if(p)return;a[g>>0]=(f|0)<255?f:255;return}}function Ge(a){a=a|0;var b=0;c[a>>2]=2147483647;b=0;do{c[a+4+(b<<2)>>2]=2147483647;c[a+260+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=64);return}function He(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((b|0)>63){f=-1;return f|0}f=a+260+(b<<2)|0;if(c[f>>2]|0){f=-1;return f|0}c[f>>2]=e;c[a+4+(b<<2)>>2]=d;f=0;return f|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=2147483647;e=0;h=-1;while(1){f=c[a+4+(e<<2)>>2]|0;g=(f|0)==2147483647|(f|0)>(d|0);h=g?h:e;e=e+1|0;if((e|0)==64)break;else d=g?d:f}c[b>>2]=h;d=a+260+(h<<2)|0;if((h|0)==-1){a=0;return a|0}g=c[d>>2]|0;c[d>>2]=0;c[a+4+(h<<2)>>2]=2147483647;a=g;return a|0}function Je(a){a=a|0;xl(a|0,0,517)|0;return}function Ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d+20|0;f=0;do{if((c[b+4+(f<<3)>>2]|0)==(d|0)?a[g>>0]|0:0){h=-1;i=9;break}f=f+1|0}while(f>>>0<64);if((i|0)==9)return h|0;f=0;while(1){if(!(c[b+4+(f<<3)>>2]|0))break;g=f+1|0;if(g>>>0<64)f=g;else{h=-1;i=9;break}}if((i|0)==9)return h|0;i=b+4+(f<<3)|0;c[i>>2]=d;c[b+4+(f<<3)+4>>2]=c[b>>2];a[d+22>>0]=e;a[d+20>>0]=2;c[b>>2]=i;i=b+516|0;a[i>>0]=(a[i>>0]|0)+1<<24>>24;i=0;return i|0}function Le(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;l=c[b>>2]|0;h=c[l>>2]|0;if((c[h+8>>2]|0)!=(f|0)){n=b+516|0;j=a[n>>0]|0;m=j&255;a:do if((j&255)>1){g=l;i=1;while(1){k=c[g+4>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)==(f|0))break a;i=i+1|0;if(i>>>0<m>>>0)g=k;else{g=k;break}}}else{i=1;g=l}while(0);if((i|0)==(m|0))return;f=g+4|0;k=c[f>>2]|0;g=k+4|0;i=c[g>>2]|0;if((k|0)==(l|0)){f=n;o=9}else{c[f>>2]=i;c[g>>2]=0;l=k;f=n;i=j;h=c[k>>2]|0}}else{g=l+4|0;j=b+516|0;f=j;j=a[j>>0]|0;i=c[g>>2]|0;o=9}if((o|0)==9){c[b>>2]=i;i=j}a[f>>0]=i+-1<<24>>24;ge(e,d[h+22>>0]|0,2)|0;c[g>>2]=0;c[l>>2]=0;return}function Me(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=2147483647;e=0;h=0;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){j=d-(c[g+8>>2]|0)|0;i=(j|0)>0&(j|0)<(f|0);f=i?j:f;e=i?g:e}h=h+1|0}while((h|0)!=64);if(e|0){j=e;return j|0}h=0;e=0;f=2147483647;do{g=c[b+4+(h<<3)>>2]|0;if((g|0)!=0?(a[g+20>>0]|0)!=0:0){i=d-(c[g+8>>2]|0)|0;i=(i|0)>0?i:0-i|0;j=(i|0)<(f|0);f=j?i:f;e=j?g:e}h=h+1|0}while((h|0)!=64);return e|0}function Ne(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=b;b=0;while(1){f=c[e>>2]|0;e=c[f>>2]|0;if((c[e+8>>2]|0)==(d|0))break a;b=b+1|0;if(b>>>0<g>>>0)e=f+4|0;else{e=0;break}}}while(0);return ((b|0)==(g|0)?0:e)|0}function Oe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=a[b+516>>0]|0;g=f&255;a:do if(!(f<<24>>24)){e=0;b=0}else{e=0;while(1){f=c[b>>2]|0;b=c[f>>2]|0;if((c[b+12>>2]|0)==(d|0))break a;e=e+1|0;if(e>>>0<g>>>0)b=f+4|0;else{b=0;break}}}while(0);return ((e|0)==(g|0)?0:b)|0}function Pe(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if(!((g|0)>0&(h|0)>0))return;j=0;i=b;f=c;while(1){b=0;do{a[f+b>>0]=a[i+b>>0]|0;b=b+1|0}while((b|0)!=(h|0));j=j+1|0;if((j|0)==(g|0))break;else{i=i+d|0;f=f+e|0}}return}function Qe(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((h|0)>0&(i|0)>0))return;s=g+1|0;l=g+2|0;m=g+3|0;n=g+4|0;o=g+5|0;p=g+6|0;q=g+7|0;k=0;while(1){j=0;do{u=r(d[b+(j+-3)>>0]|0,a[g>>0]|0)|0;u=(r(d[b+(j+-2)>>0]|0,a[s>>0]|0)|0)+u|0;u=(r(d[b+(j+-1)>>0]|0,a[l>>0]|0)|0)+u|0;u=(r(d[b+j>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[b+(j+1)>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[b+(j+2)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[b+(j+3)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[b+(j+4)>>0]|0,a[q>>0]|0)|0)+(u&65535)|0;t=(u<<16>>16)+32>>6;a[c+j>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Re(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(d[b+(x+j)>>0]|0,a[g>>0]|0)|0;z=(r(d[b+(m+j)>>0]|0,a[l>>0]|0)|0)+z|0;z=(r(d[b+(j-e)>>0]|0,a[n>>0]|0)|0)+z|0;z=(r(d[b+j>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[b+(j+e)>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[b+(s+j)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[b+(u+j)>>0]|0,a[t>>0]|0)|0)+z|0;z=(r(d[b+(w+j)>>0]|0,a[v>>0]|0)|0)+(z&65535)|0;y=(z<<16>>16)+32>>6;a[c+j>>0]=(z&65535)<<16>>16>16351?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Se(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if(!((h|0)>0&(i|0)>0))return;k=0;j=a;g=c;while(1){a=0;do{b[g+(a<<1)>>1]=(d[j+a>>0]|0)<<6;a=a+1|0}while((a|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{j=j+e|0;g=g+(f<<1)|0}}return}function Te(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if(!((i|0)>0&(j|0)>0))return;t=h+1|0;m=h+2|0;n=h+3|0;o=h+4|0;p=h+5|0;q=h+6|0;s=h+7|0;l=0;while(1){k=0;do{u=r(d[c+(k+-3)>>0]|0,a[h>>0]|0)|0;u=(r(d[c+(k+-2)>>0]|0,a[t>>0]|0)|0)+u|0;u=(r(d[c+(k+-1)>>0]|0,a[m>>0]|0)|0)+u|0;u=(r(d[c+k>>0]|0,a[n>>0]|0)|0)+u|0;u=(r(d[c+(k+1)>>0]|0,a[o>>0]|0)|0)+u|0;u=(r(d[c+(k+2)>>0]|0,a[p>>0]|0)|0)+u|0;u=(r(d[c+(k+3)>>0]|0,a[q>>0]|0)|0)+u|0;b[e+(k<<1)>>1]=(r(d[c+(k+4)>>0]|0,a[s>>0]|0)|0)+u;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Ue(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((i|0)>0&(j|0)>0))return;y=r(f,-3)|0;m=h+1|0;n=r(f,-2)|0;o=h+2|0;p=h+3|0;q=h+4|0;s=h+5|0;t=f<<1;u=h+6|0;v=f*3|0;w=h+7|0;x=f<<2;l=0;while(1){k=0;do{z=r(d[c+(y+k)>>0]|0,a[h>>0]|0)|0;z=(r(d[c+(n+k)>>0]|0,a[m>>0]|0)|0)+z|0;z=(r(d[c+(k-f)>>0]|0,a[o>>0]|0)|0)+z|0;z=(r(d[c+k>>0]|0,a[p>>0]|0)|0)+z|0;z=(r(d[c+(k+f)>>0]|0,a[q>>0]|0)|0)+z|0;z=(r(d[c+(t+k)>>0]|0,a[s>>0]|0)|0)+z|0;z=(r(d[c+(v+k)>>0]|0,a[u>>0]|0)|0)+z|0;b[e+(k<<1)>>1]=(r(d[c+(x+k)>>0]|0,a[w>>0]|0)|0)+z;k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function Ve(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{z=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;z=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+z|0;z=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+z|0;z=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+z|0;z=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+z|0;z=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+z|0;z=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+z|0;z=(r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+z|0;y=(z>>6)+32>>6;a[d+j>>0]=(z|0)>1046527?-1:((y|0)>0?y:0)&255;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function We(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!((h|0)>0&(i|0)>0))return;x=r(e,-3)|0;l=g+1|0;m=r(e,-2)|0;n=g+2|0;o=g+3|0;p=g+4|0;q=g+5|0;s=e<<1;t=g+6|0;u=e*3|0;v=g+7|0;w=e<<2;k=0;while(1){j=0;do{y=r(b[c+(x+j<<1)>>1]|0,a[g>>0]|0)|0;y=(r(b[c+(m+j<<1)>>1]|0,a[l>>0]|0)|0)+y|0;y=(r(b[c+(j-e<<1)>>1]|0,a[n>>0]|0)|0)+y|0;y=(r(b[c+(j<<1)>>1]|0,a[o>>0]|0)|0)+y|0;y=(r(b[c+(j+e<<1)>>1]|0,a[p>>0]|0)|0)+y|0;y=(r(b[c+(s+j<<1)>>1]|0,a[q>>0]|0)|0)+y|0;y=(r(b[c+(u+j<<1)>>1]|0,a[t>>0]|0)|0)+y|0;b[d+(j<<1)>>1]=(((r(b[c+(w+j<<1)>>1]|0,a[v>>0]|0)|0)+y|0)>>>6)+57344;j=j+1|0}while((j|0)!=(i|0));k=k+1|0;if((k|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function Xe(b,c,d,e,f,g,h){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((g|0)<=0)return;j=h<<1;if((h|0)<=0)return;i=0;f=c;while(1){h=0;do{a[f+h>>0]=a[b+h>>0]|0;h=h+1|0}while((h|0)<(j|0));i=i+1|0;if((i|0)==(g|0))break;else{b=b+d|0;f=f+e|0}}return}function Ye(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|0)<=0)return;n=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;j=0;while(1){i=0;do{o=i|1;q=a[g>>0]|0;u=r(d[b+(i+-2)>>0]|0,q)|0;q=r(d[b+(o+-2)>>0]|0,q)|0;t=a[k>>0]|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+o>>0]|0,t)|0)+q|0;t=a[l>>0]|0;s=i;i=i+2|0;u=(r(d[b+i>>0]|0,t)|0)+u|0;q=(r(d[b+(o+2)>>0]|0,t)|0)+q|0;t=a[m>>0]|0;u=(r(d[b+(s+4)>>0]|0,t)|0)+(u&65535)|0;q=(r(d[b+(o+4)>>0]|0,t)|0)+(q&65535)|0;t=(u<<16>>16)+32>>6;p=(q<<16>>16)+32>>6;a[c+s>>0]=(u&65535)<<16>>16>16351?-1:((t|0)>0?t:0)&255;a[c+o>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255}while((i|0)<(n|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function Ze(b,c,e,f,g,h,i){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(d[b+(i-e)>>0]|0,a[g>>0]|0)|0;q=(r(d[b+i>>0]|0,a[k>>0]|0)|0)+q|0;q=(r(d[b+(i+e)>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[b+(n+i)>>0]|0,a[m>>0]|0)|0)+(q&65535)|0;p=(q<<16>>16)+32>>6;a[c+i>>0]=(q&65535)<<16>>16>16351?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{b=b+e|0;c=c+f|0}}return}function _e(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;if((h|0)<=0)return;k=i<<1;if((i|0)<=0)return;j=0;g=c;while(1){i=0;do{b[g+(i<<1)>>1]=(d[a+i>>0]|0)<<6;i=i+1|0}while((i|0)<(k|0));j=j+1|0;if((j|0)==(h|0))break;else{a=a+e|0;g=g+(f<<1)|0}}return}function $e(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((i|0)<=0)return;o=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;k=0;while(1){j=0;do{p=j|1;q=a[h>>0]|0;t=r(d[c+(j+-2)>>0]|0,q)|0;q=r(d[c+(p+-2)>>0]|0,q)|0;u=a[l>>0]|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+p>>0]|0,u)|0)+q|0;u=a[m>>0]|0;s=j;j=j+2|0;t=(r(d[c+j>>0]|0,u)|0)+t|0;q=(r(d[c+(p+2)>>0]|0,u)|0)+q|0;u=a[n>>0]|0;t=(r(d[c+(s+4)>>0]|0,u)|0)+t|0;q=(r(d[c+(p+4)>>0]|0,u)|0)+q&65535;b[e+(s<<1)>>1]=t;b[e+(p<<1)>>1]=q}while((j|0)<(o|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function af(c,e,f,g,h,i,j){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((i|0)<=0)return;p=j<<1;if((j|0)<=0)return;l=h+1|0;m=h+2|0;n=h+3|0;o=f<<1;k=0;while(1){j=0;do{q=r(d[c+(j-f)>>0]|0,a[h>>0]|0)|0;q=(r(d[c+j>>0]|0,a[l>>0]|0)|0)+q|0;q=(r(d[c+(j+f)>>0]|0,a[m>>0]|0)|0)+q|0;b[e+(j<<1)>>1]=(r(d[c+(o+j)>>0]|0,a[n>>0]|0)|0)+q;j=j+1|0}while((j|0)<(p|0));k=k+1|0;if((k|0)==(i|0))break;else{c=c+f|0;e=e+(g<<1)|0}}return}function bf(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{q=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;q=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+q|0;q=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+q|0;q=(r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+q|0;p=(q>>6)+32>>6;a[d+i>>0]=(q|0)>1046527?-1:((p|0)>0?p:0)&255;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+f|0}}return}function cf(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((h|0)<=0)return;o=i<<1;if((i|0)<=0)return;k=g+1|0;l=g+2|0;m=g+3|0;n=e<<1;j=0;while(1){i=0;do{p=r(b[c+(i-e<<1)>>1]|0,a[g>>0]|0)|0;p=(r(b[c+(i<<1)>>1]|0,a[k>>0]|0)|0)+p|0;p=(r(b[c+(i+e<<1)>>1]|0,a[l>>0]|0)|0)+p|0;b[d+(i<<1)>>1]=((r(b[c+(n+i<<1)>>1]|0,a[m>>0]|0)|0)+p|0)>>>6;i=i+1|0}while((i|0)<(o|0));j=j+1|0;if((j|0)==(h|0))break;else{c=c+(e<<1)|0;d=d+(f<<1)|0}}return}function df(b,c,d,e,f,g,h,i){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=f<<1;a:do if((g|0)>=78796)if((g|0)<131071){switch(g|0){case 78796:break a;default:{}}J(82219,82296,147,82330)}else{switch(g|0){case 131071:break a;default:{}}J(82219,82296,147,82330)}else{switch(g|0){case 70024:break a;default:{}}J(82219,82296,147,82330)}while(0);g=f+-4|0;switch(g>>>2|g<<30|0){case 0:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;ef(h+e|0,c,f);ef(h+(e+f)|0,c+f|0,f);return}case 1:case 3:case 7:{a[h+j>>0]=a[b>>0]|0;if((f|0)>0){b=j+-1|0;i=0;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(f|0))}if((j|0)>(f|0)){b=j+-1|0;i=f;do{a[h+(b-i)>>0]=a[d+(r(i,e)|0)>>0]|0;i=i+1|0}while((i|0)!=(j|0))}e=j|1;ke(h+e|0,c,f);ke(h+(e+f)|0,c+f|0,f);return}default:J(82373,82296,183,82330)}}function ef(a,b,c){a=a|0;b=b|0;c=c|0;vl(a|0,b|0,c|0)|0;return}function ff(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Sb;Sb=Sb+32|0;t=A;j=g<<2|1;y=g<<1;x=g*3|0;if(!h){if((j|0)<=0){Sb=A;return}xl(i|0,-128,j|0)|0;Sb=A;return}if((g|0)<9){o=h>>>16&1;l=h&8;p=h>>>7&1;q=h>>>8&1;s=h>>>12&1;v=(o|0)==0;if(v)j=0;else j=a[b>>0]|0;w=i+y|0;a[w>>0]=j;u=(p|0)==0;if(!u){if((g|0)>0){k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}}else gf(i+g|0,0,g);l=(l|0)==0;if(!l){if((y|0)>(g|0)){k=y+-1|0;j=g;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else gf(i,0,g);k=(q|0)==0;j=y|1;m=i+j|0;if(k)gf(m,0,g);else ef(m,d,g);n=(s|0)==0;j=i+(j+g)|0;if(n)gf(j,0,g);else ef(j,d+g|0,g);if(l){c[t>>2]=0;c[t+4>>2]=p;c[t+8>>2]=o;c[t+12>>2]=q;c[t+16>>2]=s;if(!p){j=2;while(1)if(!(c[t+(j<<2)>>2]|0))j=j+1|0;else break}else j=1;if(j>>>0<3){j=r(j,g)|0;if((j|0)>0)xl(i|0,a[i+j>>0]|0,j|0)|0}else{t=r(j+-1|0,g)|0;j=t+1|0;if((t|0)>=0)xl(i|0,a[i+j>>0]|0,j|0)|0}}if(u)gf(i+g|0,a[i+(g+-1)>>0]|0,g);if(v)a[w>>0]=a[i+(y+-1)>>0]|0;if(k)gf(m,a[w>>0]|0,g);if(n)gf(i+(x+1)|0,a[i+x>>0]|0,g)}switch(g|0){case 16:{k=h&192;m=h>>>2&3|k>>>4;l=h&768;n=h&12288;o=n>>>6|l>>>4;p=h&65536;q=o|m|p>>>8;p=(p|0)==0;if(p)j=0;else j=a[b>>0]|0;a[i+y>>0]=j;if(!k)hf(i+16|0,0,16);else{a[i+(y+-1)>>0]=a[e>>0]|0;a[i+(y+-2)>>0]=a[e+f>>0]|0;a[i+(y+-3)>>0]=a[e+(f<<1)>>0]|0;a[i+(y+-4)>>0]=a[e+(f*3|0)>>0]|0;a[i+(y+-5)>>0]=a[e+(f<<2)>>0]|0;a[i+(y+-6)>>0]=a[e+(f*5|0)>>0]|0;a[i+(y+-7)>>0]=a[e+(f*6|0)>>0]|0;a[i+(y+-8)>>0]=a[e+(f*7|0)>>0]|0;a[i+(y+-9)>>0]=a[e+(f<<3)>>0]|0;a[i+(y+-10)>>0]=a[e+(f*9|0)>>0]|0;a[i+(y+-11)>>0]=a[e+(f*10|0)>>0]|0;a[i+(y+-12)>>0]=a[e+(f*11|0)>>0]|0;a[i+(y+-13)>>0]=a[e+(f*12|0)>>0]|0;a[i+(y+-14)>>0]=a[e+(f*13|0)>>0]|0;a[i+(y+-15)>>0]=a[e+(f*14|0)>>0]|0;a[i+(y+-16)>>0]=a[e+(f*15|0)>>0]|0}if(!(h&8))hf(i+8|0,0,8);else{a[i+(y+-17)>>0]=a[e+(f<<4)>>0]|0;a[i+(y+-18)>>0]=a[e+(f*17|0)>>0]|0;a[i+(y+-19)>>0]=a[e+(f*18|0)>>0]|0;a[i+(y+-20)>>0]=a[e+(f*19|0)>>0]|0;a[i+(y+-21)>>0]=a[e+(f*20|0)>>0]|0;a[i+(y+-22)>>0]=a[e+(f*21|0)>>0]|0;a[i+(y+-23)>>0]=a[e+(f*22|0)>>0]|0;a[i+(y+-24)>>0]=a[e+(f*23|0)>>0]|0}if(h&4){if((g|0)>12){k=y+-1|0;j=24;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else hf(i,0,8);j=y|1;k=i+j|0;if(!l)hf(k,0,16);else ke(k,d,16);j=i+(j+16)|0;if(!n)hf(j,0,16);else ke(j,d+16|0,16);j=(pl(m|0)|0)<<3;j=(m|0)==0?64:j;j=(j|0)==64?32:j;if(!(p&(j|0)==32))if(!j)j=0;else z=64;else{j=((pl(o>>>4|0)|0)<<3)+33|0;j=(o|0)==0?97:j;z=64}if((z|0)==64){z=~j;z=(z|0)>-2?z:-2;xl(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=65){Sb=A;return}}if(!p){do{k=(j|0)==32;if(!k?(1<<(j>>3)&q|0)==0:0)hf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}l=i+32|0;m=i+31|0;do{k=(j|0)==32;if(!k){if(!(1<<(j>>3)&q))hf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<65);Sb=A;return}case 32:{l=h&65536;m=(l|0)!=0;if(m)j=a[b>>0]|0;else j=0;a[i+y>>0]=j;if(!(h&240))hf(i+g|0,0,g);else{k=y+-1|0;j=0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(g|0))}if(!(h&8))hf(i+24|0,0,8);else{x=y+-1|0;a[i+(x-g)>>0]=a[e+(r(g,f)|0)>>0]|0;b=g+1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+2|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+3|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+4|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+5|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+6|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+7|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&4))hf(i+16|0,0,8);else{b=g+8|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+9|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+10|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+11|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+12|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+13|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+14|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+15|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(!(h&2))hf(i+8|0,0,8);else{b=g+16|0;x=y+-1|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+17|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+18|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+19|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+20|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+21|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+22|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0;b=g+23|0;a[i+(x-b)>>0]=a[e+(r(b,f)|0)>>0]|0}if(h&1){j=g+24|0;if((j|0)<(y|0)){k=y+-1|0;do{a[i+(k-j)>>0]=a[e+(r(j,f)|0)>>0]|0;j=j+1|0}while((j|0)!=(y|0))}}else hf(i,0,8);j=y|1;k=i+j|0;if(!(h&3840))hf(k,0,g);else ke(k,d,g);j=i+(j+g)|0;if(!(h&61440))hf(j,0,g);else ke(j,d+g|0,g);d=h&255;j=(pl(d|0)|0)<<3;j=(d|0)==0?64:j;if(!((l|0)==0&(j|0)==64))if(!j)j=0;else z=106;else{z=h>>>8&255;j=((pl(z|0)|0)<<3)+65|0;j=(z|0)==0?129:j;z=106}if((z|0)==106){z=~j;z=(z|0)>-2?z:-2;xl(i+(-2-z)|0,a[i+j>>0]|0,j+z+2|0)|0;if((j|0)>=129){Sb=A;return}}if(m){do{k=(j|0)==64;if(!k?(1<<(j>>3)&h|0)==0:0)hf(i+j|0,a[i+(j+-1)>>0]|0,8);j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}l=i+64|0;m=i+63|0;do{k=(j|0)==64;if(!k){if(!(1<<(j>>3)&h))hf(i+j|0,a[i+(j+-1)>>0]|0,8)}else a[l>>0]=a[m>>0]|0;j=(k?1:8)+j|0}while((j|0)<129);Sb=A;return}default:{Sb=A;return}}}function gf(a,b,c){a=a|0;b=b|0;c=c|0;xl(a|0,b|0,c|0)|0;return}function hf(a,b,c){a=a|0;b=b|0;c=c|0;xl(a|0,b|0,c|0)|0;return} |
| | | function mh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0;ib=Sb;Sb=Sb+96|0;ja=ib+56|0;Ca=ib+48|0;ya=ib+40|0;za=ib+32|0;Da=ib+92|0;ha=ib+90|0;la=ib+88|0;ma=ib+80|0;Ha=ib+72|0;Fa=ib+64|0;ba=ib;Ka=c[f+8>>2]|0;Ga=c[f+124>>2]|0;a[ma>>0]=0;a[Ha>>0]=0;a[Fa>>0]=0;$a=c[f+4>>2]|0;ua=c[f>>2]|0;va=c[f+20>>2]|0;fa=a[$a+4116>>0]|0;ab=fa<<24>>24;bb=1<<ab;gb=c[Ka+20>>2]|0;ra=c[Ka+304>>2]|0;pa=c[f+112>>2]&255;qa=c[f+116>>2]|0;xa=c[f+120>>2]|0;Ya=f+24|0;j=c[Ya>>2]|0;Za=f+28|0;k=c[Za>>2]|0;G=r(k,gb)|0;F=(c[f+36>>2]|0)+(G+j<<ab)|0;G=(c[f+40>>2]|0)+(((G|0)/2|0)+j<<ab)|0;na=(c[f+80>>2]|0)+k|0;Ja=k<<1;Na=(c[f+84>>2]|0)+Ja|0;aa=(c[f+72>>2]|0)+k|0;ca=(c[f+76>>2]|0)+Ja|0;a[la>>0]=a[f+96>>0]|0;ka=(c[f+100>>2]|0)+k|0;Ea=f+104|0;Ja=(c[f+108>>2]|0)+Ja|0;oa=(c[f+88>>2]|0)+j|0;Oa=(c[f+92>>2]|0)+(j<<1)|0;wa=$a+4118|0;H=(c[f+44>>2]|0)+(j*12|0)+((r(k,b[wa>>1]|0)|0)*12|0)|0;l=b[$a>>1]|0;hb=l+63>>6;ia=bb+-8|0;La=8-bb|0;_a=$a+2|0;i=b[_a>>1]|0;E=La-(k<<ab)+i|0;A=La-(j<<ab)+l|0;A=((A|0)<9?A:0)+bb|0;Sa=gb<<3;fb=0-Sa|0;p=F+((j|0)==0?0:-8)+((k|0)==0?0:fb)|0;Ma=f+48|0;n=c[Ma>>2]|0;cb=ab+-3|0;db=hb<<3;j=(j<<cb)+(((j|0)>0)<<31>>31)+(r(db,k<<cb)|0)|0;eb=f+32|0;m=c[eb>>2]|0;D=m+(j>>3)|0;k=((k|0)!=0)<<31>>31;Pa=bb+-1|0;E=Pa+((E|0)<9?E:0)>>3;a:do if((E|0)>(k|0)){B=j&7;C=(1<<(A+7>>3))+-1|0;z=0-A|0;if((A|0)<=0){j=0;while(1){Ia=((c[D+(r(k,hb)|0)>>2]|0)>>>B&C|0)==0;j=Ia?j:1;k=k+1|0;if((k|0)==(E|0)){ta=j;j=l;k=m;break a}}}t=gb<<1;u=gb*3|0;v=gb<<2;w=gb*5|0;x=gb*6|0;y=gb*7|0;l=0;j=p;while(1){i=(c[D+(r(k,hb)|0)>>2]|0)>>>B&C;if(!i)i=n;else{q=A;s=j;while(1){j=pl(i|0)|0;j=(i|0)==0?31:j;if(!j){l=(i|0)==-1;m=pl(~i|0)|0;p=l?248:m<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){j=0;do{a[n+j>>0]=a[s+j>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+128)>>0]=a[s+(j+gb)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+256)>>0]=a[s+(j+t)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+384)>>0]=a[s+(j+u)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+512)>>0]=a[s+(j+v)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+640)>>0]=a[s+(j+w)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+768)>>0]=a[s+(j+x)>>0]|0;j=j+1|0}while((j|0)<(p|0));j=0;do{a[n+(j+896)>>0]=a[s+(j+y)>>0]|0;j=j+1|0}while((j|0)<(p|0))}j=l?31:m}Ia=j<<3;Ba=(q|0)>(Ia|0)?Ia:q;n=n+Ba|0;s=s+Ba|0;q=q-Ia|0;if((q|0)<=0)break;else i=i>>>j}l=1;i=n+z|0;j=s+z|0}k=k+1|0;if((k|0)==(E|0))break;else{n=i+1024|0;j=j+Sa|0}}ta=l;j=b[$a>>1]|0;i=b[_a>>1]|0;k=c[eb>>2]|0}else{ta=0;j=l;k=m}while(0);ea=bb+-16|0;Aa=16-bb|0;A=c[Za>>2]|0;B=Aa+i-(A<<ab)|0;m=c[Ya>>2]|0;x=Aa+j-(m<<ab)|0;x=((x|0)<17?x:0)+bb|0;j=(A|0)==0;n=G+((m|0)==0?0:-16)+(j?0:fb)|0;Ia=f+52|0;l=c[Ia>>2]|0;i=(m<<cb)+(r(A<<cb,db)|0)|0;i=(m|0)>0?i+-2|0:i;A=k+(i>>3)|0;j=j?0:-2;Ba=bb+-9|0;B=Ba+((B|0)<17?B:0)>>3;b:do if((j|0)<(B|0)){y=i&7;z=(1<<(x+7>>3))+-1|0;v=((gb|0)/2|0)<<3;w=0-x|0;if((x|0)<=0){i=0;while(1){sa=((c[A+(r(j,hb)|0)>>2]|0)>>>y&z|0)==0;i=sa?i:1;j=j+1|0;if((j|0)==(B|0)){sa=i;j=m;break b}}}t=gb<<1;u=gb*3|0;m=0;k=n;while(1){i=(c[A+(r(j,hb)|0)>>2]|0)>>>y&z;if(!i)i=l;else{q=x;s=k;while(1){k=pl(i|0)|0;k=(i|0)==0?31:k;if(!k){m=(i|0)==-1;n=pl(~i|0)|0;p=m?248:n<<3;p=(p|0)<(q|0)?p:q;if((p|0)>0){k=0;do{a[l+k>>0]=a[s+k>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+128)>>0]=a[s+(k+gb)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+256)>>0]=a[s+(k+t)>>0]|0;k=k+1|0}while((k|0)<(p|0));k=0;do{a[l+(k+384)>>0]=a[s+(k+u)>>0]|0;k=k+1|0}while((k|0)<(p|0))}k=m?31:n}$=k<<3;sa=(q|0)>($|0)?$:q;l=l+sa|0;q=q-$|0;s=s+sa|0;if((q|0)<=0)break;else i=i>>>k}m=1;i=l+w|0;k=s+w|0}j=j+1|0;if((j|0)==(B|0))break;else{l=i+512|0;k=k+v|0}}sa=m;j=c[Ya>>2]|0}else{sa=0;j=m}while(0);if((j|0)>0){M=c[Za>>2]|0;if((M|0)>0){J=M+-1|0;n=b[wa>>1]|0;u=r(J,n)|0;K=j+-1|0;m=qa+(u+K<<1)|0;P=e[m>>1]|0;_=Sa+8|0;X=F+(-8-Sa)|0;$=Sa+16|0;Y=G+(-16-Sa)|0;Z=H+(~n*12|0)|0;x=j<<ab;N=(c[f+60>>2]|0)+x+-8|0;V=(c[f+68>>2]|0)+x+-16|0;y=M<<ab;O=(c[f+56>>2]|0)+y+-8|0;W=(c[f+64>>2]|0)+y+-16|0;do if(!(a[ra+(P*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0){m=0;l=0;break}a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0}else{i=c[Z>>2]|0;k=i&7;if(!k){a[O>>0]=a[X+7>>0]|0;a[O+1>>0]=a[X+(gb+7)>>0]|0;a[O+2>>0]=a[X+((gb<<1)+7)>>0]|0;a[O+3>>0]=a[X+((gb*3|0)+7)>>0]|0;a[O+4>>0]=a[X+((gb<<2)+7)>>0]|0;a[O+5>>0]=a[X+((gb*5|0)+7)>>0]|0;a[O+6>>0]=a[X+((gb*6|0)+7)>>0]|0;m=gb*7|0;a[O+7>>0]=a[X+(m+7)>>0]|0;a[aa>>0]=a[N+7>>0]|0;bc[c[Ka+12184>>2]&15](N,X+m|0,8);m=0;l=0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[Z>>2]<<21>>28;a[ma+3>>0]=c[Z>>2]<<17>>28;a[ma+4>>0]=c[Z>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](X,gb,O,N,aa,(c[Z>>2]|0)>>>19&31,ma,8,8);m=0;l=0;break}i=ja;c[i>>2]=-1;c[i+4>>2]=-1;i=ya;c[i>>2]=0;c[i+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;i=za;c[i>>2]=16843009;c[i+4>>2]=16843009;i=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!i?(a[ua+27>>0]|0)==0:0){k=0;l=0;i=j}else{L=(ia|0)==0;if(L)if((j|0)>1&(M|0)>1){k=M+-2|0;l=j+-2|0}else{k=0;l=0}else{k=J;l=K}if(i){E=b[m>>1]|0;F=E&65535;p=r(k,n)|0;G=b[qa+(K<<1)+(p<<1)>>1]|0;q=G&65535;t=ba+16|0;c[t>>2]=q;c[ba+8>>2]=q;H=b[qa+(u+l<<1)>>1]|0;c[ba>>2]=H&65535;I=b[qa+(u+j<<1)>>1]|0;z=I&65535;m=ba+20|0;c[m>>2]=z;c[ba+4>>2]=z;C=r(M,n)|0;B=b[qa+(C+K<<1)>>1]|0;A=B&65535;i=ba+24|0;c[i>>2]=A;c[ba+12>>2]=A;C=b[qa+(C+j<<1)>>1]|0;D=C&65535;s=ba+28|0;c[s>>2]=D;if(L){if((j|0)==1){c[i>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(j+-2+u<<1)>>1]|0;c[i>>2]=n}if((M|0)==1){c[m>>2]=-1;i=-1;m=-1}else{i=e[qa+(l+1+u<<1)>>1]|0;c[m>>2]=i;m=e[qa+(j+-2+p<<1)>>1]|0}c[t>>2]=m;c[s>>2]=D;w=i;v=m}else{n=A;w=z;v=q}if((x|0)==8){a[za+4>>0]=0;i=0}else i=a[ra+(n*1272|0)+174>>0]|0;u=za+6|0;a[u>>0]=i;t=a[ra+(F*1272|0)+174>>0]|0;s=(y|0)==8?0:t;p=za+5|0;a[p>>0]=s;q=za+4|0;a[q>>0]=s;s=za+2|0;a[s>>0]=t;a[za>>0]=t;t=za+1|0;a[t>>0]=a[ra+(z*1272|0)+174>>0]|0;m=za+3|0;a[m>>0]=a[ra+(A*1272|0)+174>>0]|0;i=za+7|0;a[i>>0]=a[ra+(D*1272|0)+174>>0]|0;if((w|0)>(F|0))a[p>>0]=a[ra+(w*1272|0)+174>>0]|0;a[(H<<16>>16==E<<16>>16?za:ya)>>0]=1;a[(I<<16>>16==E<<16>>16?t:ya+1|0)>>0]=1;a[(G<<16>>16==E<<16>>16?s:ya+2|0)>>0]=1;a[(B<<16>>16==E<<16>>16?m:ya+3|0)>>0]=1;a[((v|0)==(F|0)?q:ya+4|0)>>0]=1;a[((w|0)==(F|0)?p:ya+5|0)>>0]=1;a[((n|0)==(F|0)?u:ya+6|0)>>0]=1;a[(C<<16>>16==E<<16>>16?i:ya+7|0)>>0]=1;bc[c[Ka+12188>>2]&15](ba,0,32)}do if(a[ua+27>>0]|0){i=a[va>>0]|0;v=c[Ya>>2]|0;if((v|0)!=(i&255|0)?(c[Za>>2]|0)!=(d[va+1>>0]|0):0)break;if(i<<24>>24==0?(a[va+1>>0]|0)==0:0)break;if(!(a[ua+33>>0]|0)){z=b[wa>>1]|0;p=r(J,z)|0;A=b[xa+(p+K<<1)>>1]|0;B=A&65535;w=r(k,z)|0;C=b[xa+(K<<1)+(w<<1)>>1]|0;m=C&65535;x=ba+16|0;c[x>>2]=m;c[ba+8>>2]=m;D=b[xa+(p+l<<1)>>1]|0;c[ba>>2]=D&65535;E=b[xa+(p+j<<1)>>1]|0;q=E&65535;s=ba+20|0;c[s>>2]=q;c[ba+4>>2]=q;z=r(M,z)|0;y=b[xa+(z+K<<1)>>1]|0;i=y&65535;n=ba+24|0;c[n>>2]=i;c[ba+12>>2]=i;z=b[xa+(z+j<<1)>>1]|0;t=z&65535;u=ba+28|0;c[u>>2]=t;if(L){if((v|0)==1){c[n>>2]=-1;c[x>>2]=-1;i=-1}else{i=e[xa+(j+-2+p<<1)>>1]|0;c[n>>2]=i}if((c[Za>>2]|0)==1){c[s>>2]=-1;n=-1;j=-1}else{n=e[xa+(l+1+p<<1)>>1]|0;c[s>>2]=n;j=e[xa+(j+-2+w<<1)>>1]|0}c[x>>2]=j;c[u>>2]=t;m=j;j=n}else j=q;if(D<<16>>16!=A<<16>>16){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0}if(E<<16>>16!=A<<16>>16){U=ya+1|0;a[U>>0]=a[U>>0]|1;a[za+1>>0]=0}if(C<<16>>16!=A<<16>>16){U=ya+2|0;a[U>>0]=a[U>>0]|1;a[za+2>>0]=0}if(y<<16>>16!=A<<16>>16){U=ya+3|0;a[U>>0]=a[U>>0]|1;a[za+3>>0]=0}if((m|0)!=(B|0)){U=ya+4|0;a[U>>0]=a[U>>0]|1;a[za+4>>0]=0}if((j|0)!=(B|0)){U=ya+5|0;a[U>>0]=a[U>>0]|1;a[za+5>>0]=0}if((i|0)!=(B|0)){U=ya+6|0;a[U>>0]=a[U>>0]|1;a[za+6>>0]=0}if(z<<16>>16==A<<16>>16)break;U=ya+7|0;a[U>>0]=a[U>>0]|1;a[za+7>>0]=0}}while(0);if((a[ya>>0]|0)!=0&(a[za>>0]|0)==0)a[ja>>0]=0;if(a[ya+1>>0]|0?(a[za+1>>0]|0)==0:0)a[ja+1>>0]=0;if(a[ya+2>>0]|0?(a[za+2>>0]|0)==0:0)a[ja+2>>0]=0;if(a[ya+3>>0]|0?(a[za+3>>0]|0)==0:0)a[ja+3>>0]=0;do if(a[ya+4>>0]|0){if(a[za+4>>0]|0)break;a[ja+4>>0]=0}while(0);do if(a[ya+5>>0]|0){if(a[za+5>>0]|0)break;a[ja+5>>0]=0}while(0);do if(a[ya+6>>0]|0){if(a[za+6>>0]|0)break;a[ja+6>>0]=0}while(0);do if(a[ya+7>>0]|0){if(a[za+7>>0]|0)break;a[ja+7>>0]=0}while(0);i=c[Ya>>2]|0}if((i<<ab|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}i=c[Za>>2]|0;if((i<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[N+8>>0]|0;a[la>>0]=a[O+8>>0]|0;jc[c[Ka+11888+((c[Z>>2]&7)+-2<<2)>>2]&7](X,gb,O,N,aa,Da,la,ja,ma,8,8);m=k}while(0);do if(a[ra+(P*1272|0)+157>>0]|0){U=Z+4|0;i=c[U>>2]|0;j=i&7;if(!j){a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16);break}a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;k=c[Z+8>>2]|0;a[Fa+1>>0]=k<<25>>28;a[Fa+2>>0]=k<<21>>28;a[Fa+3>>0]=k<<17>>28;a[Fa+4>>0]=k<<13>>28;if((j|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](Y,gb,W,V,ca,(c[U>>2]|0)>>>19&31,k>>>19&31,Ha,Fa,16,8);break}else{jc[i&7](Y,gb,W,V,ca,k>>>19&31,(c[U>>2]|0)>>>19&31,Fa,Ha,16,8);break}}j=Ca;c[j>>2]=-1;c[j+4>>2]=-1;j=ya;c[j>>2]=0;c[j+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;j=za;c[j>>2]=16843009;c[j+4>>2]=16843009;j=(a[ra+(pa*1272|0)+72>>0]|0)==0;if(!j?(a[ua+27>>0]|0)==0:0)i=c[Ya>>2]|0;else da=104;do if((da|0)==104){n=(ea|0)==0;S=c[Za>>2]|0;if(n){i=c[Ya>>2]|0;if((S|0)>1&(i|0)>1){m=S+-2|0;l=i+-2|0}}else{i=c[Ya>>2]|0;m=S+-1|0;l=i+-1|0}L=i+-1|0;G=S+-1|0;if(j){D=b[wa>>1]|0;p=r(G,D)|0;v=b[qa+(p+L<<1)>>1]|0;w=v&65535;s=r(m,D)|0;x=b[qa+(L<<1)+(s<<1)>>1]|0;k=x&65535;t=ba+16|0;c[t>>2]=k;c[ba+8>>2]=k;y=b[qa+(p+l<<1)>>1]|0;c[ba>>2]=y&65535;z=b[qa+(p+i<<1)>>1]|0;A=z&65535;q=ba+20|0;c[q>>2]=A;c[ba+4>>2]=A;D=r(S,D)|0;B=b[qa+(D+L<<1)>>1]|0;C=B&65535;j=ba+24|0;c[j>>2]=C;c[ba+12>>2]=C;D=b[qa+(D+i<<1)>>1]|0;E=D&65535;u=ba+28|0;c[u>>2]=E;if(n){if((i|0)==1){c[j>>2]=-1;c[t>>2]=-1;n=-1}else{n=e[qa+(i+-2+p<<1)>>1]|0;c[j>>2]=n}if((S|0)==1){c[q>>2]=-1;j=-1;k=-1}else{j=e[qa+(l+1+p<<1)>>1]|0;c[q>>2]=j;k=e[qa+(i+-2+s<<1)>>1]|0}c[t>>2]=k;c[u>>2]=E}else{n=C;j=A}if((i<<ab|0)==16){a[za+4>>0]=0;q=0}else q=a[ra+(n*1272|0)+174>>0]|0;p=za+6|0;a[p>>0]=q;F=a[ra+(w*1272|0)+174>>0]|0;if((S<<ab+-1|0)==8){s=0;t=0}else{s=a[ra+(j*1272|0)+174>>0]|0;t=F}M=za+4|0;a[M>>0]=t;R=za+5|0;a[R>>0]=s;J=za+2|0;a[J>>0]=F;a[za>>0]=F;da=a[ra+(A*1272|0)+174>>0]|0;O=za+1|0;a[O>>0]=da;N=a[ra+(C*1272|0)+174>>0]|0;K=za+3|0;a[K>>0]=N;T=a[ra+(E*1272|0)+174>>0]|0;u=za+7|0;a[u>>0]=T;Q=y<<16>>16==v<<16>>16;a[(Q?za:ya)>>0]=1;P=z<<16>>16==v<<16>>16;a[(P?O:ya+1|0)>>0]=1;O=x<<16>>16==v<<16>>16;a[(O?J:ya+2|0)>>0]=1;z=B<<16>>16==v<<16>>16;a[(z?K:ya+3|0)>>0]=1;y=(k|0)==(w|0);a[(y?M:ya+4|0)>>0]=1;x=(j|0)==(w|0);a[(x?R:ya+5|0)>>0]=1;R=(n|0)==(w|0);a[(R?p:ya+6|0)>>0]=1;p=D<<16>>16==v<<16>>16;a[(p?u:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;T=p?1:T;p=(p^1)&1;q=R?1:q;R=(R^1)&1;u=x?1:s;s=(x^1)&1;x=y?1:t;t=(y^1)&1;y=z?1:N;v=(z^1)&1;z=O?1:F;w=(O^1)&1;j=P?1:da;k=(P^1)&1;P=Q?1:F;Q=(Q^1)&1}else{T=1;p=0;q=1;R=0;u=1;s=0;x=1;t=0;y=1;v=0;z=1;w=0;j=1;k=0;P=1;Q=0}do if(a[ua+27>>0]|0){n=a[va>>0]|0;if((i|0)!=(n&255|0)?(S|0)!=(d[va+1>>0]|0):0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(n<<24>>24==0?(a[va+1>>0]|0)==0:0){A=y;y=s;s=R;n=T;m=Q;l=P;break}if(!(a[ua+33>>0]|0)){N=b[wa>>1]|0;D=r(G,N)|0;O=b[xa+(D+L<<1)>>1]|0;M=O&65535;E=r(m,N)|0;K=b[xa+(L<<1)+(E<<1)>>1]|0;A=K&65535;H=ba+16|0;c[H>>2]=A;c[ba+8>>2]=A;I=b[xa+(D+l<<1)>>1]|0;c[ba>>2]=I&65535;J=b[xa+(D+i<<1)>>1]|0;B=J&65535;C=ba+20|0;c[C>>2]=B;c[ba+4>>2]=B;N=r(S,N)|0;L=b[xa+(N+L<<1)>>1]|0;n=L&65535;m=ba+24|0;c[m>>2]=n;c[ba+12>>2]=n;N=b[xa+(N+i<<1)>>1]|0;F=N&65535;G=ba+28|0;c[G>>2]=F;if(!ia){if((i|0)==1){c[m>>2]=-1;c[H>>2]=-1;n=-1}else{n=e[xa+(i+-2+D<<1)>>1]|0;c[m>>2]=n}if((S|0)==1){c[C>>2]=-1;m=-1;l=-1}else{m=e[xa+(l+1+D<<1)>>1]|0;c[C>>2]=m;l=e[xa+(i+-2+E<<1)>>1]|0}c[H>>2]=l;c[G>>2]=F;A=l;B=m}if(I<<16>>16==O<<16>>16){l=P;m=Q}else{a[ya>>0]=1;a[za>>0]=0;l=0;m=1}if(J<<16>>16!=O<<16>>16){a[ya+1>>0]=1;a[za+1>>0]=0;j=0;k=1}if(K<<16>>16!=O<<16>>16){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;w=1}if(L<<16>>16!=O<<16>>16){a[ya+3>>0]=1;a[za+3>>0]=0;y=0;v=1}if((A|0)!=(M|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((B|0)!=(M|0)){a[ya+5>>0]=1;a[za+5>>0]=0;u=0;s=1}if((n|0)==(M|0))n=R;else{a[ya+6>>0]=1;a[za+6>>0]=0;q=0;n=1}if(N<<16>>16==O<<16>>16){A=y;y=s;s=n;n=T;break}a[ya+7>>0]=1;a[za+7>>0]=0;A=y;y=s;s=n;p=1;n=0}else{A=y;y=s;s=R;n=T;m=Q;l=P}}else{A=y;y=s;s=R;n=T;m=Q;l=P}while(0);if(m<<24>>24!=0&l<<24>>24==0)a[Ca>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+1>>0]=0;if(w<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(v<<24>>24!=0&A<<24>>24==0)a[Ca+3>>0]=0;if(t<<24>>24!=0&x<<24>>24==0)a[Ca+4>>0]=0;if(y<<24>>24!=0&u<<24>>24==0)a[Ca+5>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+6>>0]=0;if(!(p<<24>>24!=0&n<<24>>24==0))break;a[Ca+7>>0]=0}while(0);if((i<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if((i|0)==(b[wa>>1]|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}j=$a+4120|0;if((i|0)==(b[j>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[V+16>>0]|0;a[Da+1>>0]=a[V+17>>0]|0;a[Ea>>0]=a[W+16>>0]|0;k=f+105|0;a[k>>0]=a[W+17>>0]|0;if(fa<<24>>24==4?(i|0)!=((b[j>>1]|0)+-1|0):0){a[Ea>>0]=a[Y+(Sa+-2)>>0]|0;a[k>>0]=a[Y+(Sa+-1)>>0]|0}i=c[Ka+11904+((c[U>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Ha,Fa,16,8);break}else{kc[i&7](Y,gb,W,V,ca,Da,Ea,Ca,Fa,Ha,16,8);break}}else{if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;a[W>>0]=a[Y+14>>0]|0;a[W+1>>0]=a[Y+15>>0]|0;a[W+2>>0]=a[Y+(gb+14)>>0]|0;a[W+3>>0]=a[Y+(gb+15)>>0]|0;da=gb<<1;a[W+4>>0]=a[Y+(da+14)>>0]|0;a[W+5>>0]=a[Y+(da+15)>>0]|0;da=gb*3|0;a[W+6>>0]=a[Y+(da+14)>>0]|0;a[W+7>>0]=a[Y+(da+15)>>0]|0;da=gb<<2;a[W+8>>0]=a[Y+(da+14)>>0]|0;a[W+9>>0]=a[Y+(da+15)>>0]|0;da=gb*5|0;a[W+10>>0]=a[Y+(da+14)>>0]|0;a[W+11>>0]=a[Y+(da+15)>>0]|0;da=gb*6|0;a[W+12>>0]=a[Y+(da+14)>>0]|0;a[W+13>>0]=a[Y+(da+15)>>0]|0;da=gb*7|0;a[W+14>>0]=a[Y+(da+14)>>0]|0;a[W+15>>0]=a[Y+(da+15)>>0]|0;a[ca>>0]=a[V+14>>0]|0;a[ca+1>>0]=a[V+15>>0]|0;bc[c[Ka+12184>>2]&15](V,Y+da|0,16)}while(0);R=X+_|0;Q=Y+$|0;i=Z+(((b[wa>>1]|0)+1|0)*12|0)|0;da=161}else{aa=F;_=G;i=H;da=254}}else{R=F;Q=G;i=H;da=161}do if((da|0)==161){j=c[Za>>2]|0;if((j|0)>0){K=b[wa>>1]|0;G=r(j+-1|0,K)|0;P=c[Ya>>2]|0;G=e[qa+(G+P<<1)>>1]|0;M=b[$a>>1]|0;P=P<<ab;J=La-P+M|0;J=((J|0)<9?J:0)+ia|0;M=Aa-P+M|0;M=((M|0)<17?M:0)+ea|0;H=R+fb|0;N=Q+fb|0;K=0-K|0;O=i+(K*12|0)|0;I=(c[f+60>>2]|0)+P|0;P=(c[f+68>>2]|0)+P|0;L=j<<ab;F=(c[f+56>>2]|0)+L+-8|0;L=(c[f+64>>2]|0)+L+-16|0;do if(J|0){if(!(a[ra+(G*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}j=c[O>>2]|0;k=j&7;if(!k){_=J+-1|0;a[F>>0]=a[H+_>>0]|0;a[F+1>>0]=a[H+(_+gb)>>0]|0;a[F+2>>0]=a[H+(_+(gb<<1))>>0]|0;a[F+3>>0]=a[H+(_+(gb*3|0))>>0]|0;a[F+4>>0]=a[H+(_+(gb<<2))>>0]|0;a[F+5>>0]=a[H+(_+(gb*5|0))>>0]|0;a[F+6>>0]=a[H+(_+(gb*6|0))>>0]|0;$=gb*7|0;a[F+7>>0]=a[H+(_+$)>>0]|0;a[aa>>0]=a[I+_>>0]|0;bc[c[Ka+12184>>2]&15](I,H+$|0,J);break}a[ma+1>>0]=j<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((k|0)==1){hc[c[Ka+12244>>2]&15](H,gb,F,I,aa,(c[O>>2]|0)>>>19&31,ma,J,8);break}$=Ka+12188|0;bc[c[$>>2]&15](ja,-1,8);bc[c[$>>2]&15](ya,0,8);bc[c[$>>2]&15](ba,0,32);$=za;c[$>>2]=16843009;c[$+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){j=c[Ya>>2]|0;s=c[Za>>2]|0;n=s+-1|0;q=j+-1|0;m=(j|0)==0;if(m){c[ba>>2]=-1;c[ba+16>>2]=-1;l=b[wa>>1]|0;k=r(n,l)|0;l=r(s,l)|0;E=-1;t=-1}else{E=b[wa>>1]|0;k=r(n,E)|0;t=e[qa+(k+q<<1)>>1]|0;c[ba+16>>2]=t;c[ba>>2]=t;E=r(s,E)|0;l=E;E=e[qa+(E+q<<1)>>1]|0}c[ba+24>>2]=E;x=b[qa+(k+j<<1)>>1]|0;D=x&65535;c[ba+20>>2]=D;c[ba+8>>2]=D;c[ba+4>>2]=D;w=b[qa+(l+j<<1)>>1]|0;k=w&65535;c[ba+28>>2]=k;c[ba+12>>2]=k;if(m){a[za>>0]=0;l=0;v=0;m=a[ra+(D*1272|0)+174>>0]|0}else{m=a[ra+(D*1272|0)+174>>0]|0;a[za>>0]=m;l=a[ra+(E*1272|0)+174>>0]|0;v=m}y=za+4|0;a[y>>0]=v;B=za+6|0;a[B>>0]=l;z=za+5|0;a[z>>0]=m;p=za+2|0;a[p>>0]=m;u=za+1|0;a[u>>0]=m;A=a[ra+(k*1272|0)+174>>0]|0;k=za+3|0;a[k>>0]=A;C=za+7|0;a[C>>0]=A;if((E|0)<(D|0)){a[B>>0]=m;l=m}$=(t|0)==(D|0);t=$?1:v;a[($?za:ya)>>0]=1;a[u>>0]=1;a[p>>0]=1;da=w<<16>>16==x<<16>>16;p=da?1:A;a[(da?k:ya+3|0)>>0]=1;m=$?1:v;a[($?y:ya+4|0)>>0]=1;a[z>>0]=1;k=(E|0)==(D|0);l=k?1:l;a[(k?B:ya+6|0)>>0]=1;k=da?1:A;a[(da?C:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=190;else{x=j;w=p;da=180}}else{j=c[Ya>>2]|0;if(a[ua+27>>0]|0){n=c[Za>>2]|0;x=j;s=n;n=n+-1|0;q=j+-1|0;t=1;w=1;m=1;l=1;k=1;da=180}}do if((da|0)==180){j=a[va>>0]|0;if((x|0)!=(j&255|0)?(s|0)!=(d[va+1>>0]|0):0){p=w;j=x;da=190;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){p=w;j=x;da=190;break}if(!(a[ua+33>>0]|0)){if(!x){c[ba>>2]=-1;c[ba+16>>2]=-1;v=b[wa>>1]|0;j=r(n,v)|0;n=r(s,v)|0;v=-1;p=-1}else{v=b[wa>>1]|0;j=r(n,v)|0;p=e[xa+(j+q<<1)>>1]|0;c[ba+16>>2]=p;c[ba>>2]=p;v=r(s,v)|0;n=v;v=e[xa+(v+q<<1)>>1]|0}c[ba+24>>2]=v;q=b[xa+(j+x<<1)>>1]|0;u=q&65535;c[ba+20>>2]=u;c[ba+8>>2]=u;c[ba+4>>2]=u;j=b[xa+(n+x<<1)>>1]|0;s=j&65535;c[ba+28>>2]=s;c[ba+12>>2]=s;s=(p|0)==(u|0);if(!s){a[ya>>0]=a[ya>>0]|1;a[za>>0]=0;t=0}n=j<<16>>16==q<<16>>16;if(n)p=w;else{p=ya+3|0;a[p>>0]=a[p>>0]|1;a[za+3>>0]=0;p=0}if(!s){m=ya+4|0;a[m>>0]=a[m>>0]|1;a[za+4>>0]=0;m=0}if((v|0)==(u|0))j=l;else{j=ya+6|0;a[j>>0]=a[j>>0]|1;a[za+6>>0]=0;j=0}if(n){l=j;j=x;da=190;break}l=ya+7|0;a[l>>0]=a[l>>0]|1;a[za+7>>0]=0;l=j;k=0;j=x;da=190}else{p=w;j=x;da=190}}while(0);if((da|0)==190){if((a[ya>>0]|0)!=0&t<<24>>24==0)a[ja>>0]=0;if((a[ya+3>>0]|0)!=0&p<<24>>24==0)a[ja+3>>0]=0;if((a[ya+4>>0]|0)!=0&m<<24>>24==0)a[ja+4>>0]=0;if((a[ya+6>>0]|0)!=0&l<<24>>24==0)a[ja+6>>0]=0;if((a[ya+7>>0]|0)!=0&k<<24>>24==0)a[ja+7>>0]=0}if(!j){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-(j<<ab)|0)<=(J|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}j=c[Za>>2]|0;if((j<<ab|0)==8){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if((j|0)==(b[$a+4120>>1]|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[oa>>0]|0;a[la>>0]=a[R+-1>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](H,gb,F,I,aa,Da,la,ja,ma,J,8)}while(0);do if(M|0){if(!(a[ra+(G*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}H=i+(K*12|0)+4|0;j=c[H>>2]|0;k=j&7;if(!k){$=M+-2|0;aa=M+-1|0;a[L>>0]=a[N+$>>0]|0;a[L+1>>0]=a[N+aa>>0]|0;a[L+2>>0]=a[N+($+gb)>>0]|0;a[L+3>>0]=a[N+(aa+gb)>>0]|0;ba=gb<<1;a[L+4>>0]=a[N+($+ba)>>0]|0;a[L+5>>0]=a[N+(aa+ba)>>0]|0;ba=gb*3|0;a[L+6>>0]=a[N+($+ba)>>0]|0;a[L+7>>0]=a[N+(aa+ba)>>0]|0;ba=gb<<2;a[L+8>>0]=a[N+($+ba)>>0]|0;a[L+9>>0]=a[N+(aa+ba)>>0]|0;ba=gb*5|0;a[L+10>>0]=a[N+($+ba)>>0]|0;a[L+11>>0]=a[N+(aa+ba)>>0]|0;ba=gb*6|0;a[L+12>>0]=a[N+($+ba)>>0]|0;a[L+13>>0]=a[N+(aa+ba)>>0]|0;ba=gb*7|0;a[L+14>>0]=a[N+($+ba)>>0]|0;a[L+15>>0]=a[N+(aa+ba)>>0]|0;a[ca>>0]=a[P+$>>0]|0;a[ca+1>>0]=a[P+aa>>0]|0;bc[c[Ka+12184>>2]&15](P,N+ba|0,M);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=j<<21>>28;a[Ha+3>>0]=j<<17>>28;a[Ha+4>>0]=j<<13>>28;j=c[i+(K*12|0)+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](N,gb,L,P,ca,(c[H>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,M,8);break}else{jc[i&7](N,gb,L,P,ca,j>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,M,8);break}}aa=Ca;c[aa>>2]=-1;c[aa+4>>2]=-1;aa=ya;c[aa>>2]=0;c[aa+4>>2]=0;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;aa=za;c[aa>>2]=16843009;c[aa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;E=c[Za>>2]|0;F=E+-1|0;G=i+-1|0;l=(i|0)==0;j=b[wa>>1]|0;k=r(F,j)|0;if(l){j=r(E,j)|0;y=-1;C=-1}else{C=r(E,j)|0;j=C;y=e[qa+(k+G<<1)>>1]|0;C=e[qa+(C+G<<1)>>1]|0}c[ba+16>>2]=y;c[ba>>2]=y;c[ba+24>>2]=C;q=b[qa+(k+i<<1)>>1]|0;A=q&65535;c[ba+20>>2]=A;c[ba+8>>2]=A;c[ba+4>>2]=A;p=b[qa+(j+i<<1)>>1]|0;j=p&65535;c[ba+28>>2]=j;c[ba+12>>2]=j;if(l){a[za>>0]=0;k=0;s=0;l=a[ra+(A*1272|0)+174>>0]|0}else{l=a[ra+(A*1272|0)+174>>0]|0;a[za>>0]=l;k=a[ra+(C*1272|0)+174>>0]|0;s=l}v=za+4|0;a[v>>0]=s;B=za+6|0;a[B>>0]=k;w=za+5|0;a[w>>0]=l;m=za+2|0;a[m>>0]=l;n=za+1|0;a[n>>0]=l;z=a[ra+(j*1272|0)+174>>0]|0;j=za+3|0;a[j>>0]=z;D=za+7|0;a[D>>0]=z;if((C|0)<(A|0)){a[B>>0]=l;k=l}da=(y|0)==(A|0);x=da?1:s;t=(da^1)&1;a[(da?za:ya)>>0]=1;a[n>>0]=1;a[m>>0]=1;da=p<<16>>16==q<<16>>16;u=da?1:z;q=(da^1)&1;a[(da?j:ya+3|0)>>0]=1;j=(y|0)==(A|0);s=j?1:s;m=(j^1)&1;a[(j?v:ya+4|0)>>0]=1;a[w>>0]=1;j=(C|0)==(A|0);l=j?1:k;n=(j^1)&1;a[(j?B:ya+6|0)>>0]=1;j=da?1:z;k=(da^1)&1;a[(da?D:ya+7|0)>>0]=1;c[ba>>2]=0;c[ba+4>>2]=0;c[ba+8>>2]=0;c[ba+12>>2]=0;c[ba+16>>2]=0;c[ba+20>>2]=0;c[ba+24>>2]=0;c[ba+28>>2]=0;if(!(a[ua+27>>0]|0))da=234;else{A=i;v=E;p=F;w=G;z=m;da=224}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){p=c[Za>>2]|0;A=i;v=p;p=p+-1|0;w=i+-1|0;t=0;x=1;q=0;u=1;z=0;s=1;n=0;l=1;k=0;j=1;da=224}}do if((da|0)==224){i=a[va>>0]|0;if((A|0)!=(i&255|0)?(v|0)!=(d[va+1>>0]|0):0){m=z;i=A;da=234;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){m=z;i=A;da=234;break}if(!(a[ua+33>>0]|0)){i=b[wa>>1]|0;m=r(p,i)|0;if(!A){i=r(v,i)|0;v=-1;y=-1}else{y=r(v,i)|0;i=y;v=e[xa+(m+w<<1)>>1]|0;y=e[xa+(y+w<<1)>>1]|0}c[ba+16>>2]=v;c[ba>>2]=v;c[ba+24>>2]=y;m=b[xa+(m+A<<1)>>1]|0;w=m&65535;c[ba+20>>2]=w;c[ba+8>>2]=w;c[ba+4>>2]=w;i=b[xa+(i+A<<1)>>1]|0;da=i&65535;c[ba+28>>2]=da;c[ba+12>>2]=da;if((v|0)!=(w|0)){a[ya>>0]=1;a[za>>0]=0;x=0;t=1}p=i<<16>>16==m<<16>>16;if(!p){a[ya+3>>0]=1;a[za+3>>0]=0;u=0;q=1}if((v|0)==(w|0))m=z;else{a[ya+4>>0]=1;a[za+4>>0]=0;s=0;m=1}if((y|0)==(w|0))i=n;else{a[ya+6>>0]=1;a[za+6>>0]=0;l=0;i=1}if(p){n=i;i=A;da=234;break}a[ya+7>>0]=1;a[za+7>>0]=0;n=i;k=1;j=0;i=A;da=234}else{m=z;i=A;da=234}}while(0);if((da|0)==234){if(t<<24>>24!=0&x<<24>>24==0)a[Ca>>0]=0;if(q<<24>>24!=0&u<<24>>24==0)a[Ca+3>>0]=0;if(m<<24>>24!=0&s<<24>>24==0)a[Ca+4>>0]=0;if(n<<24>>24!=0&l<<24>>24==0)a[Ca+6>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(M|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if((i<<ab+-1|0)==8){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if((i|0)==(b[$a+4120>>1]|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[Oa>>0]|0;a[Da+1>>0]=a[Oa+1>>0]|0;a[Ea>>0]=a[Q+-2>>0]|0;a[f+105>>0]=a[Q+-1>>0]|0;i=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Ha,Fa,M,8);break}else{kc[i&7](N,gb,L,P,ca,Da,Ea,Ca,Fa,Ha,M,8);break}}while(0);i=O+((b[wa>>1]|0)*12|0)|0}j=c[Ya>>2]|0;if((j|0)>0){aa=R;_=Q;M=c[Za>>2]|0;da=254;break}else{n=(bb|0)/2|0;aa=R;_=Q;M=i;p=8-n|0;n=n+-8|0;Q=ab+-1|0;i=f+60|0;k=f+68|0;l=f+56|0;m=f+64|0;J=j;break}}while(0);if((da|0)==254){p=(bb|0)/2|0;n=p+-8|0;L=b[wa>>1]|0;K=r(M,L)|0;I=j+-1|0;J=K+I|0;q=qa+(J<<1)|0;Q=e[q>>1]|0;V=b[_a>>1]|0;N=M<<ab;U=La-N+(V<<16>>16)|0;U=((U|0)<9?U:0)+ia|0;Z=ab+-1|0;p=8-p|0;V=p-(M<<Z)+(((V<<16>>16)/2|0)<<16>>16)|0;V=((V|0)<9?V:0)+n|0;R=aa+-8|0;W=_+-16|0;O=i+-12|0;$=f+60|0;P=j<<ab;S=(c[$>>2]|0)+P+-8|0;ba=f+68|0;X=(c[ba>>2]|0)+P+-16|0;ca=f+56|0;T=(c[ca>>2]|0)+N|0;m=f+64|0;Y=(c[m>>2]|0)+N|0;do if(U|0){if(!(a[ra+(Q*1272|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}k=c[O>>2]|0;l=k&7;if(!l){if((U|0)>0){j=0;do{a[T+j>>0]=a[R+((r(j,gb)|0)+7)>>0]|0;j=j+1|0}while((j|0)!=(U|0))}a[na>>0]=a[S+7>>0]|0;U=R+(r(U+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](S,U,8);break}a[ma+1>>0]=k<<25>>28;a[ma+2>>0]=c[O>>2]<<21>>28;a[ma+3>>0]=c[O>>2]<<17>>28;a[ma+4>>0]=c[O>>2]<<13>>28;if((l|0)==1){hc[c[Ka+12244>>2]&15](R,gb,T,S,na,(c[O>>2]|0)>>>19&31,ma,8,U);break}H=ja;c[H>>2]=-1;c[H+4>>2]=-1;H=ya;c[H>>2]=0;c[H+4>>2]=0;H=za;c[H>>2]=16843009;c[H+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){H=M+-1|0;if(!M){s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;w=0;k=q&65535;l=a[ra+(D*1272|0)+174>>0]|0;C=-1;y=-1}else{y=r(H,L)|0;s=b[q>>1]|0;D=s&65535;q=b[qa+(K+j<<1)>>1]|0;l=a[ra+(D*1272|0)+174>>0]|0;w=l;k=q&65535;C=e[qa+(y+j<<1)>>1]|0;y=e[qa+(y+I<<1)>>1]|0}x=za+2|0;a[x>>0]=w;z=za+4|0;a[z>>0]=w;F=za+5|0;a[F>>0]=w;E=a[ra+(k*1272|0)+174>>0]|0;k=za+1|0;a[k>>0]=E;t=za+3|0;a[t>>0]=l;G=za+7|0;a[G>>0]=E;if((C|0)>(D|0)){l=a[ra+(C*1272|0)+174>>0]|0;a[F>>0]=l}else l=w;a[za>>0]=1;da=q<<16>>16==s<<16>>16;A=da?1:E;u=(da^1)&1;a[(da?k:ya+1|0)>>0]=1;k=(y|0)==(D|0);B=k?1:w;v=(k^1)&1;a[(k?x:ya+2|0)>>0]=1;a[t>>0]=1;k=(y|0)==(D|0);w=k?1:w;t=(k^1)&1;a[(k?z:ya+4|0)>>0]=1;k=(C|0)==(D|0);q=k?1:l;s=(k^1)&1;a[(k?F:ya+5|0)>>0]=1;a[za+6>>0]=1;k=da?1:E;l=(da^1)&1;a[(da?G:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0))da=280;else{y=H;x=w;C=q;da=272}}else if(a[ua+27>>0]|0){y=M+-1|0;u=0;A=1;v=0;B=1;t=0;x=1;s=0;C=1;l=0;k=1;da=272}do if((da|0)==272){q=a[va>>0]|0;if((j|0)!=(q&255|0)?(M|0)!=(d[va+1>>0]|0):0){w=x;q=C;da=280;break}if(q<<24>>24==0?(a[va+1>>0]|0)==0:0){w=x;q=C;da=280;break}if(!(a[ua+33>>0]|0)){if(!M){q=-1;z=-1}else{z=r(y,L)|0;q=e[xa+(z+I<<1)>>1]|0;z=e[xa+(z+j<<1)>>1]|0}y=b[xa+(J<<1)>>1]|0;w=y&65535;y=(b[xa+(K+j<<1)>>1]|0)==y<<16>>16;if(!y){a[ya+1>>0]=1;a[za+1>>0]=0;A=0;u=1}if((q|0)!=(w|0)){a[ya+2>>0]=1;a[za+2>>0]=0;B=0;v=1}if((q|0)!=(w|0)){a[ya+4>>0]=1;a[za+4>>0]=0;x=0;t=1}if((z|0)==(w|0))q=C;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;s=1}if(y){w=x;da=280}else{a[ya+7>>0]=1;a[za+7>>0]=0;w=x;l=1;k=0;da=280}}else{w=x;q=C;da=280}}while(0);if((da|0)==280){if(u<<24>>24!=0&A<<24>>24==0)a[ja+1>>0]=0;if(v<<24>>24!=0&B<<24>>24==0)a[ja+2>>0]=0;if(t<<24>>24!=0&w<<24>>24==0)a[ja+4>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[ja+5>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+7>>0]=0}if((P|0)==8){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if((j|0)==(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!M){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-N|0)<=(U|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[S+8>>0]|0;a[la>>0]=a[ka>>0]|0;jc[c[Ka+11888+((c[O>>2]&7)+-2<<2)>>2]&7](R,gb,T,S,na,Da,la,ja,ma,8,U)}while(0);do if(V|0){if(!(a[ra+(Q*1272|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}H=i+-8|0;j=c[H>>2]|0;k=j&7;if(!k){if((V|0)>0){j=0;do{ga=r(j,gb)|0;ha=j<<1;a[Y+ha>>0]=a[W+(ga+14)>>0]|0;a[Y+(ha|1)>>0]=a[W+(ga+15)>>0]|0;j=j+1|0}while((j|0)!=(V|0))}a[Na>>0]=a[X+14>>0]|0;a[Na+1>>0]=a[X+15>>0]|0;ha=W+(r(V+-1|0,gb)|0)|0;bc[c[Ka+12184>>2]&15](X,ha,16);break}a[Ha+1>>0]=j<<25>>28;a[Ha+2>>0]=c[H>>2]<<21>>28;a[Ha+3>>0]=c[H>>2]<<17>>28;a[Ha+4>>0]=c[H>>2]<<13>>28;l=i+-4|0;a[Fa+1>>0]=c[l>>2]<<25>>28;a[Fa+2>>0]=c[l>>2]<<21>>28;a[Fa+3>>0]=c[l>>2]<<17>>28;a[Fa+4>>0]=c[l>>2]<<13>>28;if((k|0)==1){j=c[Ka+12248>>2]|0;if(!Ga){jc[j&7](W,gb,Y,X,Na,(c[H>>2]|0)>>>19&31,(c[l>>2]|0)>>>19&31,Ha,Fa,16,V);break}else{jc[j&7](W,gb,Y,X,Na,(c[l>>2]|0)>>>19&31,(c[H>>2]|0)>>>19&31,Fa,Ha,16,V);break}}U=Ca;c[U>>2]=-1;c[U+4>>2]=-1;U=ya;c[U>>2]=0;c[U+4>>2]=0;U=za;c[U>>2]=16843009;c[U+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){k=c[Ya>>2]|0;E=k+-1|0;B=c[Za>>2]|0;C=B+-1|0;l=(B|0)==0;j=b[wa>>1]|0;if(l){y=-1;u=-1}else{u=r(C,j)|0;y=e[qa+(u+k<<1)>>1]|0;u=e[qa+(u+E<<1)>>1]|0}q=r(B,j)|0;j=b[qa+(q+E<<1)>>1]|0;w=j&65535;q=b[qa+(q+k<<1)>>1]|0;if(l)l=0;else l=a[ra+(w*1272|0)+174>>0]|0;s=za+2|0;a[s>>0]=l;t=za+4|0;a[t>>0]=l;x=za+5|0;a[x>>0]=l;if((y|0)>(w|0)){v=a[ra+(y*1272|0)+174>>0]|0;a[x>>0]=v}else v=l;T=a[ra+((q&65535)*1272|0)+174>>0]|0;z=za+1|0;a[z>>0]=T;G=za+3|0;a[G>>0]=a[ra+(w*1272|0)+174>>0]|0;da=za+7|0;a[da>>0]=T;a[za>>0]=1;U=q<<16>>16==j<<16>>16;D=U?1:T;A=(U^1)&1;a[(U?z:ya+1|0)>>0]=1;j=(u|0)==(w|0);z=j?1:l;F=(j^1)&1;a[(j?s:ya+2|0)>>0]=1;a[G>>0]=1;j=(u|0)==(w|0);G=j?1:l;s=(j^1)&1;a[(j?t:ya+4|0)>>0]=1;j=(y|0)==(w|0);q=j?1:v;t=(j^1)&1;a[(j?x:ya+5|0)>>0]=1;a[za+6>>0]=1;j=U?1:T;l=(U^1)&1;a[(U?da:ya+7|0)>>0]=1;if(!(a[ua+27>>0]|0)){u=A;y=D;v=F;w=G;da=325}else{u=A;y=D;v=F;D=l;da=317}}else{j=c[Ya>>2]|0;if(!(a[ua+27>>0]|0))k=j;else{C=c[Za>>2]|0;k=j;B=C;C=C+-1|0;E=j+-1|0;u=0;y=1;v=0;z=1;s=0;G=1;t=0;q=1;D=0;j=1;da=317}}do if((da|0)==317){l=a[va>>0]|0;if((k|0)!=(l&255|0)?(B|0)!=(d[va+1>>0]|0):0){w=G;l=D;da=325;break}if(l<<24>>24==0?(a[va+1>>0]|0)==0:0){w=G;l=D;da=325;break}if(!(a[ua+33>>0]|0)){l=b[wa>>1]|0;if(!B){w=-1;A=-1}else{A=r(C,l)|0;w=e[xa+(A+E<<1)>>1]|0;A=e[xa+(A+k<<1)>>1]|0}da=r(B,l)|0;x=b[xa+(da+E<<1)>>1]|0;l=x&65535;x=(b[xa+(da+k<<1)>>1]|0)==x<<16>>16;if(!x){a[ya+1>>0]=1;a[za+1>>0]=0;y=0;u=1}if((w|0)!=(l|0)){a[ya+2>>0]=1;a[za+2>>0]=0;z=0;v=1}if((w|0)==(l|0))w=G;else{a[ya+4>>0]=1;a[za+4>>0]=0;w=0;s=1}if((A|0)==(l|0))l=t;else{a[ya+5>>0]=1;a[za+5>>0]=0;q=0;l=1}if(x){t=l;l=D;da=325;break}a[ya+7>>0]=1;a[za+7>>0]=0;t=l;l=1;j=0;da=325}else{w=G;l=D;da=325}}while(0);if((da|0)==325){if(u<<24>>24!=0&y<<24>>24==0)a[Ca+1>>0]=0;if(v<<24>>24!=0&z<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&w<<24>>24==0)a[Ca+4>>0]=0;if(t<<24>>24!=0&q<<24>>24==0)a[Ca+5>>0]=0;if(l<<24>>24!=0&j<<24>>24==0)a[Ca+7>>0]=0}if((k<<ab|0)==16){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}l=b[wa>>1]|0;if((k|0)==(l|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}j=c[Za>>2]|0;if(!j){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(j<<Z)|0)<=(V|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}a[Da>>0]=a[X+16>>0]|0;j=Da+1|0;a[j>>0]=a[X+17>>0]|0;a[ha>>0]=a[Ja>>0]|0;a[ha+1>>0]=a[Ja+1>>0]|0;if(fa<<24>>24==4?(ga=16-gb|0,(k|0)!=(l+-1|0)):0){a[Da>>0]=a[W+ga>>0]|0;a[j>>0]=a[W+(ga+1)>>0]|0}j=c[Ka+11904+((c[H>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Ha,Fa,16,V);break}else{kc[j&7](W,gb,Y,X,Na,Da,ha,Ca,Fa,Ha,16,V);break}}while(0);M=i;Q=Z;i=$;k=ba;l=ca;J=c[Ya>>2]|0}R=b[$a>>1]|0;I=J<<ab;L=La-I+R|0;L=((L|0)<9?L:0)+ia|0;R=Aa-I+R|0;R=((R|0)<17?R:0)+ea|0;P=b[_a>>1]|0;F=c[Za>>2]|0;G=F<<ab;K=La+(P<<16>>16)-G|0;K=((K|0)<9?K:0)+ia|0;P=p-(F<<Q)+(((P<<16>>16)/2|0)<<16>>16)|0;P=((P|0)<9?P:0)+n|0;H=(c[i>>2]|0)+I|0;O=(c[k>>2]|0)+I|0;E=(c[l>>2]|0)+G|0;N=(c[m>>2]|0)+G|0;do if((L|0)!=0&(K|0)!=0){if(!(a[(c[f+16>>2]|0)+156>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}i=c[M>>2]|0;j=i&7;if(!j){j=L+-1|0;if((K|0)>0){i=0;do{a[E+i>>0]=a[aa+(j+(r(i,gb)|0))>>0]|0;i=i+1|0}while((i|0)!=(K|0))}a[na>>0]=a[H+j>>0]|0;na=r(K+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](H,aa+na|0,L);a[oa>>0]=a[aa+(na+L)>>0]|0;break}a[ma+1>>0]=i<<25>>28;a[ma+2>>0]=c[M>>2]<<21>>28;a[ma+3>>0]=c[M>>2]<<17>>28;a[ma+4>>0]=c[M>>2]<<13>>28;if((j|0)==1){hc[c[Ka+12244>>2]&15](aa,gb,E,H,na,(c[M>>2]|0)>>>19&31,ma,L,K);break}ia=ja;c[ia>>2]=-1;c[ia+4>>2]=-1;ia=ya;c[ia>>2]=0;c[ia+4>>2]=0;ia=za;c[ia>>2]=16843009;c[ia+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){D=F+-1|0;C=J+-1|0;j=(J|0)==0;if(j)B=-1;else B=e[qa+((r(F,b[wa>>1]|0)|0)+C<<1)>>1]|0;k=(F|0)==0;i=b[wa>>1]|0;if(k){y=-1;w=-1}else{w=r(D,i)|0;y=e[qa+(w+J<<1)>>1]|0;w=e[qa+(w+C<<1)>>1]|0}z=e[qa+((r(F,i)|0)+J<<1)>>1]|0;if(j){a[za+6>>0]=0;a[za>>0]=0;a[za+4>>0]=0;l=0;j=0}else{j=a[ra+(B*1272|0)+174>>0]|0;a[za+6>>0]=j;l=a[ra+(z*1272|0)+174>>0]|0;a[za>>0]=l}i=a[ra+(z*1272|0)+174>>0]|0;s=k?0:i;m=za+2|0;a[m>>0]=s;v=za+4|0;a[v>>0]=s;x=za+5|0;a[x>>0]=s;k=za+1|0;a[k>>0]=i;q=za+3|0;a[q>>0]=i;A=za+7|0;a[A>>0]=i;if((B|0)<(z|0))a[za+6>>0]=i;else i=j;ia=(B|0)==(z|0);t=ia?1:l;n=(ia^1)&1;a[(ia?za:ya)>>0]=1;a[k>>0]=1;ia=(y|0)==(z|0);u=ia?1:s;p=(ia^1)&1;a[(ia?m:ya+2|0)>>0]=1;a[q>>0]=1;ia=(w|0)==(z|0);m=ia?1:s;q=(ia^1)&1;a[(ia?v:ya+4|0)>>0]=1;ia=(y|0)==(z|0);k=ia?1:s;l=(ia^1)&1;a[(ia?x:ya+5|0)>>0]=1;ia=(B|0)==(z|0);i=ia?1:i;j=(ia^1)&1;a[(ia?za:ya)+6>>0]=1;a[A>>0]=1;if(!(a[ua+27>>0]|0))da=380;else{w=C;s=D;y=q;x=m;z=j;da=369}}else if(a[ua+27>>0]|0){w=J+-1|0;s=F+-1|0;n=0;t=1;p=0;u=1;y=0;x=1;l=0;k=1;z=0;i=1;da=369}do if((da|0)==369){j=a[va>>0]|0;if((J|0)!=(j&255|0)?(F|0)!=(d[va+1>>0]|0):0){q=y;m=x;j=z;da=380;break}if(j<<24>>24==0?(a[va+1>>0]|0)==0:0){q=y;m=x;j=z;da=380;break}if(!(a[ua+33>>0]|0)){if(!J)v=-1;else v=e[xa+((r(F,b[wa>>1]|0)|0)+w<<1)>>1]|0;j=b[wa>>1]|0;if(!F){s=-1;m=-1}else{m=r(s,j)|0;s=e[xa+(m+J<<1)>>1]|0;m=e[xa+(m+w<<1)>>1]|0}q=e[xa+((r(F,j)|0)+J<<1)>>1]|0;if((v|0)!=(q|0)){a[ya>>0]=1;a[za>>0]=0;t=0;n=1}if((s|0)!=(q|0)){a[ya+2>>0]=1;a[za+2>>0]=0;u=0;p=1}if((m|0)==(q|0)){m=x;j=y}else{a[ya+4>>0]=1;a[za+4>>0]=0;m=0;j=1}if((s|0)!=(q|0)){a[ya+5>>0]=1;a[za+5>>0]=0;k=0;l=1}if((v|0)==(q|0)){q=j;j=z;da=380}else{a[ya+6>>0]=1;a[za+6>>0]=0;q=j;j=1;i=0;da=380}}else{q=y;m=x;j=z;da=380}}while(0);if((da|0)==380){if(n<<24>>24!=0&t<<24>>24==0)a[ja>>0]=0;if(p<<24>>24!=0&u<<24>>24==0)a[ja+2>>0]=0;if(q<<24>>24!=0&m<<24>>24==0)a[ja+4>>0]=0;if(l<<24>>24!=0&k<<24>>24==0)a[ja+5>>0]=0;if(j<<24>>24!=0&i<<24>>24==0)a[ja+6>>0]=0}if(!J){a[ja>>0]=0;a[ja+4>>0]=0;a[ja+6>>0]=0}if(((b[$a>>1]|0)-I|0)<=(L|0)){a[ja+1>>0]=0;a[ja+5>>0]=0;a[ja+7>>0]=0}if(!F){a[ja+2>>0]=0;a[ja+4>>0]=0;a[ja+5>>0]=0}if(((b[_a>>1]|0)-G|0)<=(K|0)){a[ja+3>>0]=0;a[ja+6>>0]=0;a[ja+7>>0]=0}a[Da>>0]=a[aa+(L-gb)>>0]|0;ia=r(K,gb)|0;a[la>>0]=a[aa+(ia+-1)>>0]|0;jc[c[Ka+11888+((c[M>>2]&7)+-2<<2)>>2]&7](aa,gb,E,H,na,Da,la,ja,ma,L,K);a[oa>>0]=a[aa+((r(K+-1|0,gb)|0)+L)>>0]|0;a[ka>>0]=a[aa+(L+-1+ia)>>0]|0}while(0);do if((R|0)!=0&(P|0)!=0){if(!(a[(c[f+16>>2]|0)+157>>0]|0)){if(a[ra+(pa*1272|0)+72>>0]|0?(a[ua+27>>0]|0)==0:0)break;j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ha=r(i,gb)|0;Ja=i<<1;a[N+Ja>>0]=a[_+(j+Ha)>>0]|0;a[N+(Ja|1)>>0]=a[_+(k+Ha)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;break}F=M+4|0;i=c[F>>2]|0;k=i&7;do if(k){a[Ha+1>>0]=i<<25>>28;a[Ha+2>>0]=i<<21>>28;a[Ha+3>>0]=i<<17>>28;a[Ha+4>>0]=i<<13>>28;j=c[M+8>>2]|0;a[Fa+1>>0]=j<<25>>28;a[Fa+2>>0]=j<<21>>28;a[Fa+3>>0]=j<<17>>28;a[Fa+4>>0]=j<<13>>28;if((k|0)==1){i=c[Ka+12248>>2]|0;if(!Ga){jc[i&7](_,gb,N,O,Na,(c[F>>2]|0)>>>19&31,j>>>19&31,Ha,Fa,R,P);break}else{jc[i&7](_,gb,N,O,Na,j>>>19&31,(c[F>>2]|0)>>>19&31,Fa,Ha,R,P);break}}oa=Ca;c[oa>>2]=-1;c[oa+4>>2]=-1;oa=ya;c[oa>>2]=0;c[oa+4>>2]=0;oa=za;c[oa>>2]=16843009;c[oa+4>>2]=16843009;if(!(a[ra+(pa*1272|0)+72>>0]|0)){i=c[Ya>>2]|0;C=c[Za>>2]|0;E=C+-1|0;D=i+-1|0;k=(i|0)==0;if(k)B=-1;else B=e[qa+((r(C,b[wa>>1]|0)|0)+D<<1)>>1]|0;l=(C|0)==0;j=b[wa>>1]|0;if(l){A=-1;s=-1}else{s=r(E,j)|0;A=e[qa+(s+i<<1)>>1]|0;s=e[qa+(s+D<<1)>>1]|0}z=e[qa+((r(C,j)|0)+i<<1)>>1]|0;if(k){a[za>>0]=0;a[za+4>>0]=0;a[za+6>>0]=0;n=0;m=0}else{m=a[ra+(B*1272|0)+174>>0]&1;a[za+6>>0]=m;n=a[ra+(z*1272|0)+174>>0]&1;a[za>>0]=n}if(l){a[za+2>>0]=0;k=a[ra+(z*1272|0)+174>>0]|0;j=k&1;t=0}else{k=a[ra+(z*1272|0)+174>>0]|0;t=k&1;a[za+2>>0]=t;j=t}w=za+4|0;a[w>>0]=t;x=za+5|0;a[x>>0]=t;l=za+1|0;a[l>>0]=j;q=za+3|0;a[q>>0]=j;y=za+7|0;a[y>>0]=j;if((B|0)<(z|0))a[za+6>>0]=k;else k=m;ra=(B|0)==(z|0);u=ra?1:n;n=(ra^1)&1;a[(ra?za:ya)>>0]=1;a[l>>0]=1;ra=(A|0)==(z|0);v=ra?1:t;p=(ra^1)&1;a[(ra?za:ya)+2>>0]=1;a[q>>0]=1;ra=(s|0)==(z|0);q=ra?1:t;s=(ra^1)&1;a[(ra?w:ya+4|0)>>0]=1;ra=(A|0)==(z|0);l=ra?1:t;m=(ra^1)&1;a[(ra?x:ya+5|0)>>0]=1;ra=(B|0)==(z|0);j=ra?1:k;k=(ra^1)&1;a[(ra?za:ya)+6>>0]=1;a[y>>0]=1;if(!(a[ua+27>>0]|0))da=435;else{B=i;z=C;y=D;t=E;A=s;da=424}}else{i=c[Ya>>2]|0;if(a[ua+27>>0]|0){t=c[Za>>2]|0;B=i;z=t;y=i+-1|0;t=t+-1|0;n=0;u=1;p=0;v=1;A=0;q=1;m=0;l=1;k=0;j=1;da=424}}do if((da|0)==424){i=a[va>>0]|0;if((B|0)!=(i&255|0)?(z|0)!=(d[va+1>>0]|0):0){s=A;i=B;da=435;break}if(i<<24>>24==0?(a[va+1>>0]|0)==0:0){s=A;i=B;da=435;break}if(!(a[ua+33>>0]|0)){if(!B)x=-1;else x=e[xa+((r(z,b[wa>>1]|0)|0)+y<<1)>>1]|0;i=b[wa>>1]|0;if(!z){w=-1;s=-1}else{s=r(t,i)|0;w=e[xa+(s+B<<1)>>1]|0;s=e[xa+(s+y<<1)>>1]|0}t=e[xa+((r(z,i)|0)+B<<1)>>1]|0;if((x|0)!=(t|0)){a[ya>>0]=1;a[za>>0]=0;u=0;n=1}if((w|0)!=(t|0)){a[ya+2>>0]=1;a[za+2>>0]=0;v=0;p=1}if((s|0)==(t|0))i=A;else{a[ya+4>>0]=1;a[za+4>>0]=0;q=0;i=1}if((w|0)!=(t|0)){a[ya+5>>0]=1;a[za+5>>0]=0;l=0;m=1}if((x|0)==(t|0)){s=i;i=B;da=435;break}a[ya+6>>0]=1;a[za+6>>0]=0;s=i;k=1;j=0;i=B;da=435}else{s=A;i=B;da=435}}while(0);if((da|0)==435){if(n<<24>>24!=0&u<<24>>24==0)a[Ca>>0]=0;if(p<<24>>24!=0&v<<24>>24==0)a[Ca+2>>0]=0;if(s<<24>>24!=0&q<<24>>24==0)a[Ca+4>>0]=0;if(m<<24>>24!=0&l<<24>>24==0)a[Ca+5>>0]=0;if(k<<24>>24!=0&j<<24>>24==0)a[Ca+6>>0]=0}if(!i){a[Ca>>0]=0;a[Ca+4>>0]=0;a[Ca+6>>0]=0}if(((b[$a>>1]|0)-(i<<ab)|0)<=(R|0)){a[Ca+1>>0]=0;a[Ca+5>>0]=0;a[Ca+7>>0]=0}i=c[Za>>2]|0;if(!i){a[Ca+2>>0]=0;a[Ca+4>>0]=0;a[Ca+5>>0]=0}if(((((b[_a>>1]|0)/2|0)<<16>>16)-(i<<Q)|0)<=(P|0)){a[Ca+3>>0]=0;a[Ca+6>>0]=0;a[Ca+7>>0]=0}i=R-gb|0;a[Da>>0]=a[_+i>>0]|0;a[Da+1>>0]=a[_+(i+1)>>0]|0;i=r(P,gb)|0;a[Ea>>0]=a[_+(i+-2)>>0]|0;a[f+105>>0]=a[_+(i+-1)>>0]|0;i=c[Ka+11904+((c[F>>2]&7)+-2<<2)>>2]|0;if(!Ga){kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Ha,Fa,R,P);break}else{kc[i&7](_,gb,N,O,Na,Da,Ea,Ca,Fa,Ha,R,P);break}}else{j=R+-2|0;k=R+-1|0;if((P|0)>0){i=0;do{Ga=r(i,gb)|0;Ha=i<<1;a[N+Ha>>0]=a[_+(j+Ga)>>0]|0;a[N+(Ha|1)>>0]=a[_+(k+Ga)>>0]|0;i=i+1|0}while((i|0)!=(P|0))}a[Na>>0]=a[O+j>>0]|0;a[Na+1>>0]=a[O+k>>0]|0;Na=r(P+-1|0,gb)|0;bc[c[Ka+12184>>2]&15](O,_+Na|0,R);Na=Na+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0}while(0);Na=(r(P+-1|0,gb)|0)+R|0;a[Oa>>0]=a[_+Na>>0]|0;a[Oa+1>>0]=a[_+(Na+1)>>0]|0;Oa=(r(P,gb)|0)+R|0;a[Ja>>0]=a[_+(Oa+-2)>>0]|0;a[Ja+1>>0]=a[_+(Oa+-1)>>0]|0}while(0);if((ta|0?(o=c[Za>>2]|0,Ua=La+(b[_a>>1]|0)-(o<<ab)|0,Qa=c[Ya>>2]|0,Ra=La+(b[$a>>1]|0)-(Qa<<ab)|0,Ra=((Ra|0)<9?Ra:0)+bb|0,h=aa+((Qa|0)==0?0:-8)+((o|0)==0?0:fb)|0,g=c[Ma>>2]|0,Qa=(Qa<<cb)+(r(o<<cb,db)|0)+(((Qa|0)>0)<<31>>31)|0,Ta=(c[eb>>2]|0)+(Qa>>3)|0,o=((o|0)!=0)<<31>>31,Ua=Pa+((Ua|0)<9?Ua:0)>>3,(Ua|0)>(o|0)):0)?(Va=Qa&7,Wa=(1<<(Ra+7>>3))+-1|0,Xa=0-Ra|0,(Ra|0)>0):0){p=gb<<1;q=gb*3|0;s=gb<<2;t=gb*5|0;u=gb*6|0;v=gb*7|0;while(1){i=(c[Ta+(r(o,hb)|0)>>2]|0)>>>Va&Wa;if(i){n=Ra;while(1){j=pl(i|0)|0;j=(i|0)==0?31:j;if(!j){k=(i|0)==-1;l=pl(~i|0)|0;m=k?248:l<<3;m=(m|0)<(n|0)?m:n;if((m|0)>0){j=0;do{a[h+j>>0]=a[g+j>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+gb)>>0]=a[g+(j+128)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+p)>>0]=a[g+(j+256)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+q)>>0]=a[g+(j+384)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+s)>>0]=a[g+(j+512)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+t)>>0]=a[g+(j+640)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+u)>>0]=a[g+(j+768)>>0]|0;j=j+1|0}while((j|0)<(m|0));j=0;do{a[h+(j+v)>>0]=a[g+(j+896)>>0]|0;j=j+1|0}while((j|0)<(m|0))}j=k?31:l}Pa=j<<3;Qa=(n|0)>(Pa|0)?Pa:n;n=n-Pa|0;h=h+Qa|0;g=g+Qa|0;if((n|0)<=0)break;else i=i>>>j}h=h+Xa|0;g=g+Xa|0}o=o+1|0;if((o|0)==(Ua|0))break;else{h=h+Sa|0;g=g+1024|0}}}if(!sa){Sb=ib;return}g=c[Za>>2]|0;w=Aa+(b[_a>>1]|0)-(g<<ab)|0;j=c[Ya>>2]|0;y=Aa+(b[$a>>1]|0)-(j<<ab)|0;y=((y|0)<17?y:0)+bb|0;i=(g|0)==0;g=(j<<cb)+(r(g<<cb,db)|0)|0;g=(j|0)>0?g+-2|0:g;x=(c[eb>>2]|0)+(g>>3)|0;h=i?0:-2;w=Ba+((w|0)<17?w:0)>>3;if((h|0)>=(w|0)){Sb=ib;return}p=g&7;q=(1<<(y+7>>3))+-1|0;s=((gb|0)/2|0)<<3;t=0-y|0;if((y|0)<=0){Sb=ib;return}u=gb<<1;v=gb*3|0;i=_+((j|0)==0?0:-16)+(i?0:fb)|0;o=h;g=c[Ia>>2]|0;while(1){h=(c[x+(r(o,hb)|0)>>2]|0)>>>p&q;if(!h)h=i;else{n=y;m=i;while(1){i=pl(h|0)|0;i=(h|0)==0?31:i;if(!i){j=(h|0)==-1;k=pl(~h|0)|0;l=j?248:k<<3;l=(l|0)<(n|0)?l:n;if((l|0)>0){i=0;do{a[m+i>>0]=a[g+i>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+gb)>>0]=a[g+(i+128)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+u)>>0]=a[g+(i+256)>>0]|0;i=i+1|0}while((i|0)<(l|0));i=0;do{a[m+(i+v)>>0]=a[g+(i+384)>>0]|0;i=i+1|0}while((i|0)<(l|0))}i=j?31:k}eb=i<<3;fb=(n|0)>(eb|0)?eb:n;n=n-eb|0;m=m+fb|0;g=g+fb|0;if((n|0)<=0)break;else h=h>>>i}h=m+t|0;g=g+t|0}o=o+1|0;if((o|0)==(w|0))break;else{i=h+s|0;g=g+512|0}}Sb=ib;return}function nh(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;w=g+3|0;t=1<<g;u=a[h>>0]|0;x=h+2|0;K=a[h+1>>0]|0;v=(K&255)>>>1;c[n>>2]=-1;c[o>>2]=-1;K=(K&1)!=0;if(K)xl(f|0,0,t<<g<<1|0)|0;if(((l|0)!=0&u<<24>>24==1?(b[x>>1]|0)==0:0)?(b[h+4>>1]|0)==1:0){c[p>>2]=1;if(!m){p=w-k|0;l=(p|0)<1?1>>>(1-p|0):1<<p+-1;if((g|0)==2){g=(w|0)<(k|0)?512:32768;I=0-g|0;J=b[h+6>>1]|0;g=(r(r(c[33600+(j<<2)>>2]|0,b[i>>1]|0)|0,(g|0)>(J|0)?((J|0)<(I|0)?I:J):g+-1|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}else{g=r(b[i>>1]|0,b[h+6>>1]|0)|0;g=(r(g,c[33600+(j<<2)>>2]|0)|0)+l|0;p=(p|0)>0?g>>p:g<<0-p;if((p|0)>32767)p=32767;else p=((p|0)>-32768?p:-32768)&65535}if(K)p=(p<<16>>16)+16>>5&65535}else{if((g|0)!=31){p=0;do{b[f+(p<<g<<1)>>1]=0;p=p+1|0}while((p|0)<(t|0))}p=b[h+6>>1]|0}b[q>>1]=p;b[f>>1]=p;c[n>>2]=c[n>>2]&-2;c[o>>2]=c[o>>2]&-2;o=h+8|0;return o|0}c[p>>2]=0;if(!K)xl(f|0,0,t<<g<<1|0)|0;J=u&255;if(!(u<<24>>24)){o=x;return o|0}I=v&255;E=(m|0)==0;F=(g|0)==2;G=w-k|0;H=(G|0)<1?1>>>(1-G|0):1<<G+-1;B=(w|0)<(k|0)?512:32768;C=0-B|0;D=B+-1|0;y=33600+(j<<2)|0;z=(G|0)>0;A=0-G|0;j=0;do{w=e[x>>1]|0;h=w<<2&1020;w=w>>>8<<2;k=f+(w<<g<<1)+(h<<1)|0;t=e[x+2>>1]|0;if(E){l=31;p=0;while(1){q=s(t|0)|0;u=l-q|0;m=d[24800+(I<<4)+u>>0]|0;v=m&3;m=m>>>2;l=b[x+4+(p<<1)>>1]|0;if(F)l=r(r(c[y>>2]|0,b[i+((m+w<<2)+(v|h)<<1)>>1]|0)|0,(B|0)>(l|0)?((l|0)<(C|0)?C:l):D)|0;else{l=r(b[i+((m+w<<g)+(v|h)<<1)>>1]|0,l)|0;l=r(l,c[y>>2]|0)|0}l=l+H|0;l=z?l>>G:l<<A;l=(l|0)>-32768?l:-32768;l=(l|0)<32767?l:32767;p=p+1|0;if(K)l=(l<<16>>16)+16>>5;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=l;t=t<<q<<1;if(!t)break;else l=u+-1|0}}else{l=31;u=0;while(1){q=s(t|0)|0;l=l-q|0;m=d[24800+(I<<4)+l>>0]|0;v=m&3;m=m>>>2;p=u+1|0;u=b[x+4+(u<<1)>>1]|0;c[n>>2]=c[n>>2]&~(1<<(v|h));c[o>>2]=c[o>>2]&~(1<<m+w);b[k+(v<<1)+(m<<g<<1)>>1]=u;t=t<<q<<1;if(!t)break;else{l=l+-1|0;u=p}}}x=x+4+(p<<1)|0;j=j+1|0}while((j|0)!=(J|0));o=x;return o|0}function oh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=((h<<16>>16)+63|0)/64|0;z=c[e+44>>2]|0;y=c[f>>2]|0;t=y&15;u=y>>>4&15;l=u+1|0;q=(j|0)/4|0;s=t^31;h=(c[g+(l+q<<2)>>2]|0)>>>s&1;l=(c[g+(l<<2)>>2]|0)>>>s&1;w=c[g+(u<<2)>>2]|0;p=w>>>(30-t|0)&1;q=w>>>(30-q-t|0)&1;s=w>>>s&1;w=c[e+4>>2]|0;t=(r(w,k)|0)+(t<<2)|0;x=c[e+8>>2]|0;u=(r(x,k)|0)+(u<<2)|0;o=c[e+128>>2]|0;m=(j|0)>4?(j|0)/8|0:1;n=(1<<m)+-1|0;if(i<<24>>24){if(!(h<<24>>24))h=0;else{h=t+-1|0;e=o+(r((u+j|0)/8|0,v)|0)+((h|0)/64|0)|0;if((m|0)>0){g=((h|0)/8|0)&7;h=0;f=0;do{h=((d[e+(r(f,v)|0)>>0]|0)>>>g&1)<<f|h&255;f=f+1|0}while((f|0)!=(m|0))}else h=0;h=h&n&255}if(!(l<<24>>24))f=0;else{f=t+-1|0;i=o+(r((u|0)/8|0,v)|0)+((f|0)/64|0)|0;if((m|0)>0){e=((f|0)/8|0)&7;f=0;g=0;do{f=((d[i+(r(g,v)|0)>>0]|0)>>>e&1)<<g|f&255;g=g+1|0}while((g|0)!=(m|0))}else f=0;f=f&n&255}if(!(p<<24>>24))g=0;else g=(d[o+(r((u+-1|0)/8|0,v)|0)+((t|0)/64|0)>>0]|0)>>>(((t|0)/8|0)&7)&n&255;if(!(q<<24>>24))e=0;else{e=t+j|0;e=(d[o+(r((u+-1|0)/8|0,v)|0)+((e|0)/64|0)>>0]|0)>>>(((e|0)/8|0)&7)&n&255}if(!(s<<24>>24))i=0;else{i=t+-1|0;i=(d[o+(r((u+-1|0)/8|0,v)|0)+((i|0)/64|0)>>0]|0)>>>(((i|0)/8|0)&7)<<16&65536}}else{i=s<<24>>24==0?0:65536;e=q<<24>>24==0?0:15;g=p<<24>>24==0?0:15;f=l<<24>>24==0?0:15;h=h<<24>>24==0?0:15}j=(j|0)<8?j:8;v=a[z+4116>>0]|0;u=-4<<(y>>>8&7);w=u-(y<<2&60)+(b[z>>1]|0)-(w<<v)|0;z=u-(y>>>2&60)-(x<<v)+(b[z+2>>1]|0)|0;return (g&255)<<8|i|((1<<((((w|0)>(k|0)?k:w)|0)/(j|0)|0))+255&(e&255))<<12|c[37024+((f&255)<<2)>>2]<<4|c[37024+(((1<<((((z|0)>(k|0)?k:z)|0)/(j|0)|0))+255&(h&255))<<2)>>2]|0}function ph(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;g=(c[d+12>>2]|0)>>>17&3;h=(g|0)==2;i=c[e+12>>2]&393216;f=(i|0)==262144;o=a[d+10>>0]|0;p=a[d+11>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=b[d>>1]|0;t=b[d+2>>1]|0;u=b[d+4>>1]|0;q=b[d+6>>1]|0;m=b[e>>1]|0;r=b[e+2>>1]|0;s=b[e+4>>1]|0;n=b[e+6>>1]|0;if(!(h&f)){if(h|f){u=1;u=u&1;return u|0}e=(g|0)==0;d=(i|0)==0;if((e?o:p)<<24>>24!=(d?j:k)<<24>>24){u=1;u=u&1;return u|0}s=((e?l:u)<<16>>16)-((d?m:s)<<16>>16)|0;u=((e?t:q)<<16>>16)-((d?r:n)<<16>>16)|0;u=(((s|0)>0?s:0-s|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}d=o<<24>>24==j<<24>>24;if(!(d&p<<24>>24==k<<24>>24)?!(p<<24>>24==j<<24>>24?o<<24>>24==k<<24>>24:0):0){u=1;u=u&1;return u|0}e=l<<16>>16;if(o<<24>>24==p<<24>>24){d=m<<16>>16;p=e-d|0;if((((((p|0)>0?p:0-p|0)|0)<=3?(p=(t<<16>>16)-(r<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(u<<16>>16)-(s<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0)?(p=(q<<16>>16)-(n<<16>>16)|0,(((p|0)>0?p:0-p|0)|0)<=3):0){u=0;u=u&1;return u|0}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>3){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>3){u=1;u=u&1;return u|0}t=(u<<16>>16)-d|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}if(d){p=e-(m<<16>>16)|0;if((((p|0)>0?p:0-p|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(r<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)<4){t=(u<<16>>16)-(s<<16>>16)|0;u=(q<<16>>16)-(n<<16>>16)|0;return ((((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3)&1|0}else{u=1;u=u&1;return u|0}}s=e-(s<<16>>16)|0;if((((s|0)>0?s:0-s|0)|0)>=4){u=1;u=u&1;return u|0}t=(t<<16>>16)-(n<<16>>16)|0;if((((t|0)>0?t:0-t|0)|0)>=4){u=1;u=u&1;return u|0}t=(u<<16>>16)-(m<<16>>16)|0;u=(q<<16>>16)-(r<<16>>16)|0;u=(((t|0)>0?t:0-t|0)|0)>3|(((u|0)>0?u:0-u|0)|0)>3;u=u&1;return u|0}function qh(d,f,g,h,i,j,k,l,m,n,o,p){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=Sb;Sb=Sb+80|0;J=aa+64|0;K=aa+56|0;R=aa+48|0;L=aa+32|0;y=aa+24|0;S=aa+16|0;Z=aa+8|0;Y=aa;M=c[d+8>>2]|0;A=c[d+24>>2]|0;N=j+12|0;q=c[N>>2]|0;_=q>>>23&1;Q=_+1|0;$=q>>>24&1;T=$+1|0;F=M+876|0;c[J>>2]=F;F=(a[M+76>>0]|0)==1?F:M+1068|0;c[J+4>>2]=F;O=c[M+876+((a[j+8>>0]|0)*12|0)>>2]|0;P=c[F+((a[j+9>>0]|0)*12|0)>>2]|0;U=q<<2&60;V=q>>>2&60;z=q>>>6&60;W=z+4|0;t=q>>>10&60;X=t+4|0;t=c[g+((r(t>>>2,i)|0)<<2)>>2]|0;if((k|0)!=0?(s=c[g+((r(X>>>2,i)|0)<<2)>>2]|0,(c[A+(s<<4)+12>>2]&65536|0)==0):0){c[L>>2]=A+(s<<4);i=1}else i=0;if((l|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(i<<2)>>2]=A+(t<<4);w=i+1|0;g=0}else{w=i;g=1}H=(i|0)!=1&g;c[K>>2]=0;G=K+4|0;c[G>>2]=0;u=(w|0)>0;a:do if(u){i=O+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if((s|0)!=131072){t=c[i>>2]|0;if((t|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=12;break}if(s|0){v=t;I=14}}else{v=c[i>>2]|0;I=14}if((I|0)==14?(I=0,(v|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=16;break}g=g+1|0;if((g|0)>=(w|0)){I=17;break a}}if((I|0)==12){c[K>>2]=1;c[R>>2]=e[k>>1]|e[k+2>>1]<<16;break}else if((I|0)==16){c[K>>2]=1;C=k+4|0;c[R>>2]=e[C>>1]|e[C+2>>1]<<16;break}}else I=17;while(0);if((I|0)==17){uh(J,M,K,O,L,R,w,0);q=c[N>>2]|0}b:do if(q&393216){l=R+4|0;c:do if(u){i=P+8|0;g=0;while(1){k=c[L+(g<<2)>>2]|0;s=c[k+12>>2]&393216;if(s){t=c[i>>2]|0;if((t|0)==(c[(c[F+((a[k+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=24;break}if((s|0)!=131072){x=t;I=26}}else{x=c[i>>2]|0;I=26}if((I|0)==26?(I=0,(x|0)==(c[(c[M+876+((a[k+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=27;break}g=g+1|0;if((g|0)>=(w|0))break c}if((I|0)==24){c[G>>2]=1;C=k+4|0;c[l>>2]=e[C>>1]|e[C+2>>1]<<16;break}else if((I|0)==27){c[G>>2]=1;c[l>>2]=e[k>>1]|e[k+2>>1]<<16;break b}}while(0);if(!(c[G>>2]|0)){uh(J,M,G,P,L,l,w,1);q=c[N>>2]|0}}while(0);q=q>>>17&3;g=(q|0)==1&1;q=(q|0)==0&1;if(c[K>>2]|0)if(!_){g=c[R>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=1}else k=1;else k=0;if(c[G>>2]|0)if(!$){q=p+4|0;i=c[R+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=1}else i=1;else i=0;if((g|0)!=0&(q|0)!=0){Sb=aa;return}C=W+U|0;s=r(c[f+(W>>>2<<2)>>2]|0,m)|0;l=r(c[f+(z>>>2<<2)>>2]|0,n)|0;t=r(c[((V|0)==0?f+-4|0:h)>>2]|0,o)|0;if((m|0)!=0?(c[A+(s<<4)+12>>2]&65536|0)==0:0){c[L>>2]=A+(s<<4);s=1}else s=0;if((n|0)!=0?(c[A+(l<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(l<<4);s=s+1|0}if((o|0)!=0?(c[A+(t<<4)+12>>2]&65536|0)==0:0){c[L+(s<<2)>>2]=A+(t<<4);c[y>>2]=0;t=y+4|0;c[t>>2]=0;s=s+1|0;z=S;I=48}else{c[y>>2]=0;t=y+4|0;c[t>>2]=0;if((s|0)>0){z=S;I=48}else{f=0;x=0;z=S;s=0}}d:do if((I|0)==48){u=O+8|0;l=0;while(1){v=c[L+(l<<2)>>2]|0;w=c[v+12>>2]&393216;if((w|0)!=131072){x=c[u>>2]|0;if((x|0)==(c[(c[M+876+((a[v+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=52;break}if(w|0){B=x;I=54}}else{B=c[u>>2]|0;I=54}if((I|0)==54?(I=0,(B|0)==(c[(c[F+((a[v+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=55;break}l=l+1|0;if((l|0)>=(s|0)){f=s;x=0;s=1;break d}}if((I|0)==52){c[y>>2]=1;x=e[v>>1]|e[v+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}else if((I|0)==55){c[y>>2]=1;x=v+4|0;x=e[x>>1]|e[x+2>>1]<<16;b[z>>1]=x;b[z+2>>1]=x>>>16;f=s;x=x&65535;s=1;break}}while(0);e:do if((c[N>>2]&393216|0)!=0?(D=S+4|0,s):0){l=P+8|0;s=0;while(1){u=c[L+(s<<2)>>2]|0;v=c[u+12>>2]&393216;if(v){w=c[l>>2]|0;if((w|0)==(c[(c[F+((a[u+9>>0]|0)*12|0)>>2]|0)+8>>2]|0)){I=63;break}if((v|0)!=131072){E=w;I=65}}else{E=c[l>>2]|0;I=65}if((I|0)==65?(I=0,(E|0)==(c[(c[M+876+((a[u+8>>0]|0)*12|0)>>2]|0)+8>>2]|0)):0){I=66;break}s=s+1|0;if((s|0)>=(f|0)){l=0;u=0;w=0;break e}}if((I|0)==63){c[t>>2]=1;w=u+4|0;w=e[w>>1]|e[w+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}else if((I|0)==66){c[t>>2]=1;w=e[u>>1]|e[u+2>>1]<<16;c[D>>2]=w;l=w&65535;u=w>>>16&65535;break}}else{l=0;u=0;w=0}while(0);v=c[y>>2]|0;do if(v){if((k|0?(b[R>>1]|0)==x<<16>>16:0)?(b[R+2>>1]|0)==(b[S+2>>1]|0):0)break;k=k+1|0;if((Q|0)==(k|0)){g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}}while(0);s=c[t>>2]|0;do if(s){if((i|0?(b[R+4>>1]|0)==l<<16>>16:0)?(b[R+6>>1]|0)==u<<16>>16:0)break;i=i+1|0;if((T|0)==(i|0)){q=p+4|0;b[q>>1]=w;b[q+2>>1]=w>>>16;q=1;i=T}}while(0);do if(!((g|0)!=0&(q|0)!=0)){if(H&(v|0)==1){c[K>>2]=1;c[R>>2]=c[S>>2]}if(H&(s|0)==1){c[G>>2]=1;c[R+4>>2]=w}if(H){c[t>>2]=0;c[y>>2]=0;uh(J,M,y,O,L,z,f,0);if(c[N>>2]&393216|0)uh(J,M,t,P,L,S+4|0,f,1);f:do if(c[y>>2]|0){do if(k|0){if((b[R>>1]|0)!=(b[S>>1]|0))break;if((b[R+2>>1]|0)==(b[S+2>>1]|0))break f}while(0);k=k+1|0;if((Q|0)!=(k|0))break;g=c[S>>2]|0;b[p>>1]=g;b[p+2>>1]=g>>>16;g=1;k=Q}while(0);g:do if(c[t>>2]|0){do if(i|0){if((b[R+4>>1]|0)!=(b[S+4>>1]|0))break;if((b[R+6>>1]|0)==(b[S+6>>1]|0))break g}while(0);i=i+1|0;if((T|0)!=(i|0))break;q=p+4|0;i=c[S+4>>2]|0;b[q>>1]=i;b[q+2>>1]=i>>>16;q=1;i=T}while(0);if((g|0)!=0&(q|0)!=0)break;else{f=k;y=i}}else{f=k;y=i}x=(f|0)!=2;z=(y|0)!=2;if(z|x){s=Y;c[s>>2]=0;c[s+4>>2]=0;sh(d,j,Z,Y,1,C,X+V|0);s=c[Y>>2]|0;l=Y+4|0;t=c[l>>2]|0;i=c[Z>>2]|0;u=Z+4|0;k=c[u>>2]|0;w=(s|0)==0;v=(t|0)==0;if(w|v){sh(d,j,Z,Y,1,(W>>>1)+U|0,(X>>>1)+V|0);t=c[l>>2]|t;s=c[Y>>2]|s;k=v?c[u>>2]|0:k;i=w?c[Z>>2]|0:i}if((_|0)==(f|0)&(x&(s|0)!=0)){b[p>>1]=i;b[p+2>>1]=i>>>16;g=1}if(($|0)==(y|0)&(z&(t|0)!=0)){q=p+4|0;b[q>>1]=k;b[q+2>>1]=k>>>16;q=1}if(!((g|0)==0|(q|0)==0))break}if(!g){b[p>>1]=0;b[p+2>>1]=0}if(q|0)break;b[p+4>>1]=0;b[p+6>>1]=0}while(0);Sb=aa;return}function rh(d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=Sb;Sb=Sb+96|0;Y=ea;P=ea+88|0;Q=ea+80|0;ca=c[d+8>>2]|0;T=ca+76|0;ba=(a[T>>0]|0)==1?ca+876|0:ca+1068|0;E=a[(c[d>>2]|0)+43>>0]|0;F=m+-1|0;O=n+l|0;v=O+-1|0;H=c[f+((r(v-n>>2,g)|0)<<2)>>2]|0;L=c[d+24>>2]|0;G=L+(H<<4)|0;if(!q)q=0;else q=(c[L+(H<<4)+12>>2]&65536|0)==0;C=m>>E;D=n>>E;da=h+12|0;N=c[da>>2]|0;S=N>>>20&7;aa=S+1|0;a:do if(q?!((C|0)==(F>>E|0)&(D|0)==(v>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 2:case 6:case 7:{A=0;break a}default:{}};c[Y>>2]=c[G>>2];c[Y+4>>2]=c[G+4>>2];c[Y+8>>2]=c[G+8>>2];c[Y+12>>2]=c[G+12>>2];if(!S){c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];c[h+8>>2]=c[Y+8>>2];c[da>>2]=c[Y+12>>2]&393216|N&-393217;Sb=ea;return}else A=1}else A=0;while(0);M=m+k|0;q=M+-1|0;B=n+-1|0;K=c[e+(q-m>>2<<2)>>2]|0;I=L+(K<<4)|0;b:do if(((t|0)!=0?(x=c[L+(K<<4)+12>>2]|0,t=x&65536,w=t>>>16^1,(t|0)==0):0)?!((C|0)==(q>>E|0)&(D|0)==(B>>E|0)):0){if((j|0)==1&(o|0)==0)switch(i|0){case 1:case 4:case 5:{q=A;w=A;j=0;break b}default:{}}if(A){o=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((o|0)==(x>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(K<<4)+8>>0]|0))q=(fj(G,I,4)|0)==0&1;else q=0;if(o)R=20}else{q=0;R=20}if((R|0)==20){if((a[L+(H<<4)+9>>0]|0)==(a[L+(K<<4)+9>>0]|0))v=(fj(L+(H<<4)+4|0,L+(K<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}x=(q|0)==0;q=A+(x&1)|0;if(!x){w=1;j=1;break}}else q=2}else q=w;v=Y+(A<<4)|0;c[v>>2]=c[I>>2];c[v+4>>2]=c[I+4>>2];c[v+8>>2]=c[I+8>>2];c[v+12>>2]=c[I+12>>2];w=A+1|0;if((w|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=c[Y+(A<<4)+12>>2]&393216|N&-393217;Sb=ea;return}else j=1}else{q=A;w=A;j=0}while(0);o=c[e+(k>>2<<2)>>2]|0;i=L+(o<<4)|0;c:do if(((s|0)!=0?(y=c[L+(o<<4)+12>>2]|0,(y&65536|0)==0):0)?!((C|0)==(M>>E|0)&(D|0)==(B>>E|0)):0){do if(j){t=(c[L+(K<<4)+12>>2]|0)>>>17&3;if((t|0)!=(y>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(fj(I,i,4)|0)==0&1;else v=0;if(t)R=37}else{v=0;R=37}if((R|0)==37){if((a[L+(K<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(fj(L+(K<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}y=(v|0)==0;q=q+(y&1)|0;if(!y)break c}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);o=c[f+((r(l>>2,g)|0)<<2)>>2]|0;i=L+(o<<4)|0;d:do if(((p|0)!=0?(z=c[L+(o<<4)+12>>2]|0,(z&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(O>>E|0)):0){do if(A){t=(c[L+(H<<4)+12>>2]|0)>>>17&3;if((t|0)!=(z>>>17&3|0)){q=q+1|0;break}if((t|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(o<<4)+8>>0]|0))v=(fj(G,i,4)|0)==0&1;else v=0;if(t)R=54}else{v=0;R=54}if((R|0)==54){if((a[L+(H<<4)+9>>0]|0)==(a[L+(o<<4)+9>>0]|0))o=(fj(L+(H<<4)+4|0,L+(o<<4)+4|0,4)|0)==0&1;else o=0;v=(t|0)==2?(v|0)!=0&(o|0)!=0&1:o}z=(v|0)==0;q=q+(z&1)|0;if(!z)break d}else q=q+1|0;while(0);v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];o=w+1|0;if((o|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=o}while(0);t=c[e+-4>>2]|0;i=L+(t<<4)|0;do if(((u|0)!=0?(J=c[L+(t<<4)+12>>2]|0,(J&65536|0)==0):0)?!((C|0)==(F>>E|0)&(D|0)==(B>>E|0)|(q|0)==4):0){if(!A)q=1;else{o=(c[L+(H<<4)+12>>2]|0)>>>17&3;do if((o|0)==(J>>>17&3|0)){if((o|0)!=1){if((a[L+(H<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(fj(G,i,4)|0)==0&1;else q=0;if(!o)break}else q=0;if((a[L+(H<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(fj(L+(H<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}else q=0;while(0);q=(q|0)==0}if((j|0)==0|q^1){if(!q)break}else{o=J>>>17&3;if(((c[L+(K<<4)+12>>2]|0)>>>17&3|0)==(o|0)){if((o|0)!=1){if((a[L+(K<<4)+8>>0]|0)==(a[L+(t<<4)+8>>0]|0))q=(fj(I,i,4)|0)==0&1;else q=0;if(o)R=79}else{q=0;R=79}if((R|0)==79){if((a[L+(K<<4)+9>>0]|0)==(a[L+(t<<4)+9>>0]|0))v=(fj(L+(K<<4)+4|0,L+(t<<4)+4|0,4)|0)==0&1;else v=0;q=(o|0)==2?(q|0)!=0&(v|0)!=0&1:v}if(q|0)break}}v=Y+(w<<4)|0;c[v>>2]=c[i>>2];c[v+4>>2]=c[i+4>>2];c[v+8>>2]=c[i+8>>2];c[v+12>>2]=c[i+12>>2];q=w+1|0;if((q|0)==(aa|0)){c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[da>>2]=N&-393217|c[Y+(w<<4)+12>>2]&393216;Sb=ea;return}else w=q}while(0);v=Q;c[v>>2]=0;c[v+4>>2]=0;sh(d,h,P,Q,0,M,O);v=c[Q>>2]|0;t=Q+4|0;o=c[t>>2]|0;q=o|v;if(q|0){c[Y+(w<<4)>>2]=c[P>>2];c[Y+(w<<4)+4>>2]=c[P+4>>2]}i=(v|0)==0;j=(o|0)==0;if(i|j){sh(d,h,P,Q,0,(k>>1)+m|0,(l>>1)+n|0);if(i)c[Y+(w<<4)>>2]=c[P>>2];if(j)c[Y+(w<<4)+4>>2]=c[P+4>>2];q=c[Q>>2]|v;R=c[t>>2]|o;o=R;v=q;q=R|q}a[Y+(w<<4)+8>>0]=0;a[Y+(w<<4)+9>>0]=0;R=Y+(w<<4)+12|0;c[R>>2]=c[R>>2]&-393217|((v|0)==0?131072:(o|0)==0?0:262144);q=w+((q|0)!=0&1)|0;if((aa|0)==(q|0)){ca=Y+(S<<4)|0;c[h>>2]=c[ca>>2];c[h+4>>2]=c[ca+4>>2];c[h+8>>2]=c[ca+8>>2];c[da>>2]=c[da>>2]&-393217|c[Y+(S<<4)+12>>2]&393216;Sb=ea;return}i=a[T>>0]|0;e:do if((q+-2|0)>>>0<3&i<<24>>24==0){t=r(q+-1|0,q)|0;if((t|0)<=0){q=aa-q|0;t=a[ca+160>>0]|0;v=q;q=q+-1|0;R=108;break}o=0;while(1){v=c[37184+(o<<2)>>2]|0;if(((c[Y+(v<<4)+12>>2]&393216|0)!=131072?(Z=c[37232+(o<<2)>>2]|0,(c[Y+(Z<<4)+12>>2]&393216|0)!=0):0)?(_=a[Y+(v<<4)+8>>0]|0,$=a[Y+(Z<<4)+9>>0]|0,V=b[Y+(v<<4)>>1]|0,X=b[Y+(v<<4)+2>>1]|0,U=b[Y+(Z<<4)+4>>1]|0,W=b[Y+(Z<<4)+6>>1]|0,!(X<<16>>16==W<<16>>16&(V<<16>>16==U<<16>>16?(c[(c[ca+876+((_<<24>>24)*12|0)>>2]|0)+8>>2]|0)==(c[(c[ba+(($<<24>>24)*12|0)>>2]|0)+8>>2]|0):0))):0){q=q+1|0;if((q|0)==(aa|0))break}o=o+1|0;if(!((q|0)!=5&(o|0)<(t|0))){R=106;break e}}b[h>>1]=V;b[h+2>>1]=X;b[h+4>>1]=U;b[h+6>>1]=W;a[h+8>>0]=_;a[h+9>>0]=$;c[da>>2]=c[da>>2]&-393217|262144;Sb=ea;return}else R=106;while(0);if((R|0)==106){v=aa-q|0;q=v+-1|0;t=a[ca+160>>0]|0;if(i<<24>>24==1){o=0;q=(v|0)>(t<<24>>24|0)?0:q&255;v=c[da>>2]&-393217}else R=108}if((R|0)==108){o=a[ca+161>>0]|0;q=(v|0)>((t<<24>>24<o<<24>>24?t:o)<<24>>24|0)?0:q&255;o=q;v=c[da>>2]&-393217|262144}a[h+8>>0]=q;a[h+9>>0]=o;c[da>>2]=v;c[h>>2]=0;c[h+4>>2]=0;Sb=ea;return}function sh(f,g,h,i,j,k,l){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,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;u=c[f+4>>2]|0;B=c[f+8>>2]|0;o=(c[g+12>>2]|0)>>>2&60;p=a[u+4116>>0]|0;q=1<<p;C=B+76|0;E=a[C>>0]|0;D=E<<24>>24==1?B+876|0:B+1068|0;if(E<<24>>24==0?(a[B+164>>0]|0)==0:0)m=D+((a[B+165>>0]|0)*12|0)+4|0;else m=B+876+((a[B+165>>0]|0)*12|0)+4|0;E=c[m>>2]|0;m=(q|0)/4|0;n=r(m,m)|0;if(((((o>>>p|0)==(l>>p|0)?(s=c[f+12>>2]|0,((s<<p)+k|0)<(b[u>>1]|0)):0)?(t=c[f+16>>2]|0,((t<<p)+l|0)<(b[u+2>>1]|0)):0)?(x=k&-16,y=l&-16,z=s+(x>>p)|0,A=r(t+(y>>p)|0,b[u+4118>>1]|0)|0,v=A+z|0,w=(c[E+8>>2]|0)+(r(n,v)|0)|0,y=r(m,y>>2)|0,x=(c[(c[E>>2]|0)+(v<<2)>>2]|0)+(d[w+(y+((x|0)==(q|0)?0:x>>2))>>0]|0)|0,y=c[E+4>>2]|0,w=y+(x<<4)|0,v=c[y+(x<<4)+12>>2]|0,(v&65536|0)==0):0)?a[B+158>>0]|0:0){a:do switch(v>>>17&3){case 1:{v=y+(x<<4)+4|0;v=e[v>>1]|e[v+2>>1]<<16;u=a[y+(x<<4)+9>>0]|0;t=u;s=v;n=1;o=1;break}case 0:{v=e[w>>1]|e[w+2>>1]<<16;u=a[y+(x<<4)+8>>0]|0;t=u;s=v;n=0;o=0;break}default:if((a[B+1261>>0]|0)==1){v=y+(x<<4)+4|0;t=a[y+(x<<4)+8>>0]|0;s=e[w>>1]|e[w+2>>1]<<16;n=0;u=a[y+(x<<4)+9>>0]|0;o=1;v=e[v>>1]|e[v+2>>1]<<16;break a}else{o=a[B+164>>0]|0;u=o<<24>>24==0;v=u?w:y+(x<<4)+4|0;u=a[(u?y+(x<<4)+8|0:y+(x<<4)+9|0)>>0]|0;v=e[v>>1]|e[v+2>>1]<<16;o=o<<24>>24;t=u;s=v;n=o;break a}}while(0);if(!j){p=0;m=0}else{p=a[g+9>>0]|0;m=a[g+8>>0]|0}k=c[E+16>>2]|0;l=c[B+84>>2]|0;q=b[(c[E+12>>2]|0)+(z<<1)+(A<<1)>>1]&255;A=(n|0)==0;f=c[(A?E+20+(q<<6)+(t<<2)|0:E+20500+(q<<6)+(t<<2)|0)>>2]|0;n=c[B+876+(m*12|0)>>2]|0;m=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;do if((a[(A?E+16404+(q<<4)+t|0:E+36884+(q<<4)+t|0)>>0]|0)==1^n){c[i>>2]=0;b[h>>1]=0;b[h+2>>1]=0}else{c[i>>2]=1;if(!n?(k-f|0)!=(l-m|0):0){b[h>>1]=s;b[h+2>>1]=s>>>16;if((k|0)==(f|0))break;th(h,m,f,k,l);break}b[h>>1]=s;b[h+2>>1]=s>>>16}while(0);if(a[C>>0]|0){c[i+4>>2]=0;return}C=(o|0)==0;o=c[(C?E+20+(q<<6)+(u<<2)|0:E+20500+(q<<6)+(u<<2)|0)>>2]|0;n=c[D+(p*12|0)>>2]|0;f=c[n+8>>2]|0;n=(a[n+20>>0]|0)==1;m=i+4|0;if((a[(C?E+16404+(q<<4)+u|0:E+36884+(q<<4)+u|0)>>0]|0)==1^n){c[m>>2]=0;b[h+4>>1]=0;b[h+6>>1]=0;return}c[m>>2]=1;if(!n?(k-o|0)!=(l-f|0):0){m=h+4|0;b[m>>1]=v;b[m+2>>1]=v>>>16;if((k|0)==(o|0))return;th(m,f,o,k,l);return}h=h+4|0;b[h>>1]=v;b[h+2>>1]=v>>>16;return}c[i>>2]=0;c[i+4>>2]=0;i=h;b[i>>1]=0;b[i+2>>1]=0>>>16;h=h+4|0;b[h>>1]=0;b[h+2>>1]=0>>>16;return}function th(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;e=e-d|0;e=(e|0)>-128?e:-128;e=(e|0)<127?e:127;f=f-c|0;f=(f|0)>-128?f:-128;f=r(((((e|0)>-1?e:0-e|0)>>1)+16384|0)/(e|0)|0,(f|0)<127?f:127)|0;e=f+32>>6;e=(f|0)>262111?4095:(e|0)>-4096?e:-4096;f=a+2|0;d=r(e,b[a>>1]|0)|0;c=(d|0)>-1;d=r((c?d:0-d|0)+127>>8,c?(d|0)!=0&1:-1)|0;e=r(e,b[f>>1]|0)|0;c=(e|0)>-1;e=r((c?e:0-e|0)+127>>8,c?(e|0)!=0&1:-1)|0;d=(d|0)>-32768?d:-32768;b[a>>1]=(d|0)<32767?d:32767;e=(e|0)>-32768?e:-32768;b[f>>1]=(e|0)<32767?e:32767;return}function uh(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;m=(k|0)>0;if(!l){if(!m)return;o=c[d>>2]|0;p=h+20|0;m=d+4|0;l=0;while(1){q=c[i+(l<<2)>>2]|0;n=c[q+12>>2]&393216;s=c[o+((a[q+8>>0]|0)*12|0)>>2]|0;d=s+20|0;if((n|0)!=131072?!((a[d>>0]|0)==1^(a[p>>0]|0)==1):0){l=6;break}v=c[(c[m>>2]|0)+((a[q+9>>0]|0)*12|0)>>2]|0;w=v+20|0;if(n|0?!((a[w>>0]|0)==1^(a[p>>0]|0)==1):0){l=11;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==6){c[g>>2]=1;n=e[q>>1]|e[q+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[d>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[s+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==11){c[g>>2]=1;n=q+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[w>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[v+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}else{if(!m)return;m=c[d+4>>2]|0;n=h+20|0;l=0;while(1){p=c[i+(l<<2)>>2]|0;o=c[p+12>>2]&393216;q=c[m+((a[p+9>>0]|0)*12|0)>>2]|0;s=q+20|0;if(o|0?!((a[s>>0]|0)==1^(a[n>>0]|0)==1):0){l=19;break}t=c[(c[d>>2]|0)+((a[p+8>>0]|0)*12|0)>>2]|0;u=t+20|0;if((o|0)!=131072?!((a[u>>0]|0)==1^(a[n>>0]|0)==1):0){l=24;break}l=l+1|0;if((l|0)>=(k|0)){l=28;break}}if((l|0)==19){c[g>>2]=1;n=p+4|0;n=e[n>>1]|e[n+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[s>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[q+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==24){c[g>>2]=1;n=e[p>>1]|e[p+2>>1]<<16;b[j>>1]=n;b[j+2>>1]=n>>>16;if((a[u>>0]|0)!=2)return;l=c[f+84>>2]|0;m=l-(c[t+8>>2]|0)|0;m=(m|0)>-128?m:-128;m=(m|0)<127?m:127;l=l-(c[h+8>>2]|0)|0;l=(l|0)>-128?l:-128;if(!m)return;f=r(((((m|0)>-1?m:0-m|0)>>1)+16384|0)/(m|0)|0,(l|0)<127?l:127)|0;h=f+32>>6;h=(f|0)>262111?4095:(h|0)>-4096?h:-4096;f=r(h,n<<16>>16)|0;g=(f|0)>-1;f=r((g?f:0-f|0)+127>>8,g?(f|0)!=0&1:-1)|0;h=r(h,n>>16)|0;g=(h|0)>-1;h=r((g?h:0-h|0)+127>>8,g?(h|0)!=0&1:-1)|0;f=(f|0)>-32768?f:-32768;b[j>>1]=(f|0)<32767?f:32767;h=(h|0)>-32768?h:-32768;b[j+2>>1]=(h|0)<32767?h:32767;return}else if((l|0)==28)return}}function vh(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;if((h|g|0)<0){c[i>>2]=0;c[j>>2]=0;j=0;c[k>>2]=j;return 0}if(!(a[e+27>>0]|0)){c[i>>2]=g;c[j>>2]=h;j=0;c[k>>2]=j;return 0}t=c[e+4>>2]|0;s=a[e+30>>0]|0;u=s<<24>>24;a:do if(s<<24>>24>0){o=f+4118|0;p=u+-1|0;q=0;while(1){l=t+(q*6|0)|0;if((p|0)==(q|0))n=b[o>>1]|0;else n=d[l+6>>0]|0;m=a[l>>0]|0;if((n<<16>>16|0)>(g|0)&(m&255|0)<=(g|0)){s=q;break a}q=q+1|0;if((q|0)>=(u|0)){s=0;break}}}else{l=t;s=0;m=a[t>>0]|0}while(0);c[i>>2]=g-(m&255);m=a[e+31>>0]|0;if(m<<24>>24>0){q=m<<24>>24;o=f+4120|0;p=q+-1|0;l=0;while(1){e=r(l,u)|0;if((p|0)==(l|0)){m=b[o>>1]|0;n=l+1|0}else{n=l+1|0;m=d[t+((r(n,u)|0)*6|0)+1>>0]|0}if((m<<16>>16|0)>(h|0)?(d[t+(e*6|0)+1>>0]|0)<=(h|0):0)break;if((n|0)<(q|0))l=n;else{l=0;break}}m=l;l=t+(e*6|0)|0}else m=0;c[j>>2]=h-(d[l+1>>0]|0);j=(r(m,u)|0)+s|0;c[k>>2]=j;return 0}function wh(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,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;J=Sb;Sb=Sb+32|0;B=J+20|0;D=J+16|0;I=J;g=d+652|0;c[g>>2]=0;H=c[d+360>>2]|0;F=d+648|0;z=c[F>>2]|0;l=H+2|0;f=r(((b[H>>1]|0)+63|0)/64|0,((b[l>>1]|0)+7|0)/8|0)|0;C=d+600|0;xl(c[C>>2]|0,0,f|0)|0;E=d+604|0;xl(c[E>>2]|0,0,f|0)|0;f=d+364|0;do if(!(c[f>>2]|0)){e=Uh(d)|0;if(e|0){I=e;Sb=J;return I|0}e=Vh(d)|0;if(!e){c[f>>2]=1;break}else{I=e;Sb=J;return I|0}}while(0);e=Tg(d)|0;if(e|0){I=e;Sb=J;return I|0}f=c[d+304>>2]|0;e=(c[d+128>>2]|0)==0?1:2;do{b[f+(e*1272|0)+872>>1]=-1;b[f+(e*1272|0)+874>>1]=-1;e=e+1|0}while((e|0)!=256);h=d+224|0;k=ee(c[h>>2]|0,D)|0;if(!k){c[g>>2]=984;c[d+144>>2]=984;I=984;Sb=J;return I|0}c[d+1452>>2]=k;i=z+84|0;c[k+16>>2]=c[i>>2];x=ee(c[d+244>>2]|0,B)|0;if(!x){c[g>>2]=985;c[d+144>>2]=985;I=985;Sb=J;return I|0}c[x+16>>2]=c[d+288>>2];c[x+8>>2]=c[i>>2];c[x+12>>2]=c[z+80>>2];u=c[x>>2]|0;g=x+4|0;v=c[g>>2]|0;e=x+28|0;a[e>>0]=0;f=d+1464|0;if(a[f>>0]|0){vl(e|0,f|0,4492)|0;a[d+1476>>0]=0;a[d+1477>>0]=0;c[f>>2]=0;b[f+4>>1]=0;a[f+6>>0]=0}w=d+136|0;if(!(c[w>>2]|0)){xl(u|0,-128,r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)|0;xl(c[g>>2]|0,-128,(r((b[H>>1]|0)+160|0,b[l>>1]|0)|0)/2|0|0)|0}f=c[h>>2]|0;e=Me(c[d+276>>2]|0,c[i>>2]|0)|0;if(!e){i=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;j=(i|0)/16|0;i=(i|0)/256|0;xl(k+20|0,0,40960)|0;xl(c[k>>2]|0,0,(i<<2)+4|0)|0;xl(c[k+8>>2]|0,0,j|0)|0;xl(c[k+12>>2]|0,0,(i<<1)+3&-4|0)|0;xl(c[k+4>>2]|0,0,j<<4|0)|0;j=x;i=k}else{j=e;i=Wh(f,c[e+8>>2]|0)|0}g=a[z+160>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+876+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+876+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=25}else A=25;if((A|0)==25)while(1){c[z+876+(e*12|0)>>2]=j;c[z+876+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}g=a[z+161>>0]|0;e=g<<24>>24;if(g<<24>>24>0){f=0;do{h=z+1068+(f*12|0)|0;if(!(c[h>>2]|0)){c[h>>2]=j;c[z+1068+(f*12|0)+4>>2]=i}f=f+1|0}while((f|0)<(e|0));if(g<<24>>24<16)A=33}else A=33;if((A|0)==33)while(1){c[z+1068+(e*12|0)>>2]=j;c[z+1068+(e*12|0)+4>>2]=i;if((e|0)<15)e=e+1|0;else break}Xh(c[d+11556>>2]|0)|0;c[d+424>>2]=0;c[d+428>>2]=0;h=c[k+8>>2]|0;o=d+576|0;c[o>>2]=h;e=c[k+4>>2]|0;p=d+580|0;c[p>>2]=e;s=c[k>>2]|0;q=d+596|0;c[q>>2]=s;f=c[k+12>>2]|0;c[d+420>>2]=f;c[d+6628>>2]=f;c[d+7320>>2]=f;c[d+8012>>2]=f;c[d+8704>>2]=f;c[d+9396>>2]=f;c[d+10088>>2]=f;c[d+10780>>2]=f;c[d+11472>>2]=f;c[d+432>>2]=h;c[d+416>>2]=e;h=r((b[l>>1]|0)+63&-64,(b[H>>1]|0)+63&-64)|0;f=(h|0)/16|0;f=(f>>1)+f|0;t=c[d+192>>2]|0;k=d+592|0;c[k>>2]=t;h=t+((((h|0)/256|0)<<2)+4)|0;l=d+584|0;c[l>>2]=h;g=h+f|0;m=d+588|0;c[m>>2]=g;f=g+(f<<2)|0;n=d+400|0;c[n>>2]=f;c[d+412>>2]=h;c[d+408>>2]=g;c[d+404>>2]=f;c[d+1068>>2]=e;c[d+1060>>2]=s;c[d+1056>>2]=t;c[d+11560>>2]=1;t=c[H+4128>>2]|0;xl(c[d+204>>2]|0,0,t|0)|0;xl(c[d+208>>2]|0,0,t|0)|0;t=d+268|0;c[t>>2]=-1;s=d+272|0;c[s>>2]=0;e=d+88|0;c[e>>2]=0;f=d+92|0;c[f>>2]=0;c[d+96>>2]=0;g=d+11608|0;c[g>>2]=2147483647;h=c[d+44>>2]|0;do if(h|0?(y=c[d+36>>2]|0,y|0):0){i=d+48|0;j=(c[i>>2]|0)+1|0;c[i>>2]=j;switch(y|0){case 4:break;case 3:{if((a[z+76>>0]|0)==2)A=51;break}case 2:{if(!((a[z+76>>0]|0)!=2?(j|0)!=(c[d+40>>2]|0):0))A=51;break}case 1:{y=a[z+1260>>0]|0;if(!(y<<24>>24<16&(y&1)==0))A=51;break}default:A=51}if((A|0)==51){c[i>>2]=0;break}if(h&1|0)c[f>>2]=1;if(h&2|0)c[e>>2]=1;A=a[z+1260>>0]|0;if(A<<24>>24<16&(A&1)==0){if(h&4|0)c[g>>2]=0;if(h&8|0)c[g>>2]=0}}while(0);g=d+11584|0;h=d+24|0;e=0;do{j=c[q>>2]|0;c[d+5956+(e*692|0)+84>>2]=j;y=c[p>>2]|0;c[d+5956+(e*692|0)+96>>2]=y;c[d+5956+(e*692|0)+92>>2]=c[o>>2];i=c[k>>2]|0;c[d+5956+(e*692|0)+80>>2]=i;c[d+5956+(e*692|0)+116>>2]=c[m>>2];c[d+5956+(e*692|0)+88>>2]=c[l>>2];c[d+5956+(e*692|0)+60>>2]=c[n>>2];c[d+5956+(e*692|0)+124>>2]=c[D>>2];c[d+5956+(e*692|0)+660>>2]=c[d+5956+(e*692|0)+672>>2];c[d+5956+(e*692|0)+664>>2]=c[d+5956+(e*692|0)+676>>2];c[d+5956+(e*692|0)+232>>2]=u;c[d+5956+(e*692|0)+236>>2]=v;c[d+5956+(e*692|0)+224>>2]=x;c[d+5956+(e*692|0)+228>>2]=c[B>>2];c[d+5956+(e*692|0)+272>>2]=c[g>>2];A=c[h>>2]|0;z=(A|0)>1;c[d+5956+(e*692|0)+148>>2]=z&1;c[d+5956+(e*692|0)+152>>2]=z&1;c[d+5956+(e*692|0)+128>>2]=c[C>>2];z=c[E>>2]|0;c[d+5956+(e*692|0)+132>>2]=z;c[d+5956+(e*692|0)+276>>2]=0;c[d+5956+(e*692|0)+348>>2]=i;c[d+5956+(e*692|0)+352>>2]=j;c[d+5956+(e*692|0)+360>>2]=y;c[d+5956+(e*692|0)+504>>2]=z;c[d+5956+(e*692|0)+528>>2]=u;c[d+5956+(e*692|0)+532>>2]=v;c[d+5956+(e*692|0)+576>>2]=z;c[d+5956+(e*692|0)+580>>2]=u;c[d+5956+(e*692|0)+584>>2]=v;if((e|0)<(A+-1|0)){gg(c[d+11492+(e<<2)>>2]|0,0,30,d+5956+(e*692|0)|0)|0;f=1}else f=0;c[d+11524+(e<<2)>>2]=f;e=e+1|0}while((e|0)!=8);c[d+1236>>2]=u;c[d+1240>>2]=v;c[d+1288>>2]=u;c[d+1292>>2]=v;f=d+264|0;He(c[f>>2]|0,c[d+6184>>2]|0,c[(c[F>>2]|0)+84>>2]|0,c[d+6180>>2]|0)|0;c[s>>2]=0;e=d+140|0;if(((c[w>>2]|0)-(c[e>>2]|0)|0)<(a[(a[H+14>>0]|0)+-1+(H+32)>>0]|0)?(c[d+11636>>2]|0)!=1:0)e=0;else{F=Ie(c[f>>2]|0,t)|0;c[s>>2]=F;c[e>>2]=(c[e>>2]|0)+1;e=F}c[d+11576>>2]=0;c[d+11580>>2]=4;a:do if((c[d+11604>>2]|0?(G=c[h>>2]|0,!((G|0)<2|(e|0)==0)):0)?(c[t>>2]|0)!=(c[d+5956+((G+-1|0)*692|0)+228>>2]|0):0){if(c[d+56>>2]|0?(c[d+60>>2]|0)!=1:0)break;g=H+4120|0;if((b[g>>1]|0)>0){h=I+8|0;i=I+4|0;j=I+6|0;k=I+10|0;l=I+12|0;m=d+656|0;f=0;while(1){c[I>>2]=1;b[h>>1]=0;b[i>>1]=0;b[j>>1]=f;b[k>>1]=0;c[l>>2]=0;e=_g(c[m>>2]|0,I,16,1)|0;f=f+1|0;if(e|0)break;if((f|0)>=(b[g>>1]|0))break a}Sb=J;return e|0}}while(0);c[d+84>>2]=1;I=0;Sb=J;return I|0}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!a)J(83740,82796,182,83883);if(!b)J(83783,82796,183,83883);c[a>>2]=2139095040;e=b+12|0;f=b+4|0;g=c[f>>2]|0;h=c[e>>2]<<g>>>1;d=a+4|0;c[d>>2]=h;a=g+31|0;c[f>>2]=a;if(a>>>0<=32){if((a|0)!=32)return 0}else{a=33-g|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;c[d>>2]=a|h}h=b+16|0;c[e>>2]=c[h>>2];b=b+8|0;e=c[b>>2]|0;c[b>>2]=e+4;e=c[e>>2]|0;c[f>>2]=g+-1;c[h>>2]=ul(e|0)|0;return 0}function yh(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;if(!a)J(83740,82796,139,83765);if(!b)J(83783,82796,140,83765);if(d>>>0>=52)J(83810,82796,141,83765);if(e>>>0>=3)J(83835,82796,142,83765);c[a>>2]=2139095040;j=b+12|0;h=b+4|0;i=c[h>>2]|0;d=c[j>>2]<<i>>>1;g=a+4|0;c[g>>2]=d;e=i+31|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){b=d;a=a+8|0;vl(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}}else{e=33-i|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;c[g>>2]=d}g=b+16|0;c[j>>2]=c[g>>2];j=b+8|0;b=c[j>>2]|0;c[j>>2]=b+4;b=c[b>>2]|0;c[h>>2]=i+-1;c[g>>2]=ul(b|0)|0;b=d;a=a+8|0;vl(a|0,f|0,154)|0;f=b>>>0<2139095040;f=f?0:2147483647;return f|0}function zh(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,s=0,t=0,u=0,v=0;p=d+376|0;q=d+660|0;h=c[d+644>>2]|0;i=c[d+344>>2]&255;n=c[d+316>>2]|0;e=c[d+320>>2]|0;g=(c[d+360>>2]|0)+4118|0;s=(c[d+1444>>2]|0)+(n*12|0)+((r(e,b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[s>>2]&-8;t=s+4|0;c[t>>2]=c[t>>2]&-8;u=s+8|0;c[u>>2]=c[u>>2]&-8;do if((n|0)>0){if((c[d+332>>2]|0)==0?(c[d+336>>2]|0)==0:0){f=0;break}if(c[d+324>>2]|0)f=(Fh(q,p,0)|0)!=0;else f=0}else f=0;while(0);if((!((e|0)<1|f)?(c[d+336>>2]|0)>0:0)?(c[d+328>>2]|0)>0:0)d=Fh(q,p,0)|0;else d=0;if(f){u=s+-12|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}if(d|0){u=s+((0-(b[g>>1]|0)|0)*12|0)|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];return 0}n=h+(i*1272|0)+156|0;m=h+(i*1272|0)+157|0;d=0;l=0;do{k=(l|0)==0;if(!(!(k&(a[n>>0]|0)!=0)?!((l|0)!=0&(a[m>>0]|0)!=0):0))o=17;a:do if((o|0)==17){o=0;if(!k)if((l|0)==1){d=Fh(q,p,1)|0;if(!d)d=0;else d=(Ih(q,p)|0)+d|0;e=d&7;c[t>>2]=c[t>>2]&-8|e;g=1;f=u;o=25}else g=0;else{d=Fh(q,p,1)|0;if(!d)e=0;else e=(Ih(q,p)|0)+d|0;d=e;g=0;f=s;e=e&7;o=25}if((o|0)==25){o=0;c[f>>2]=c[f>>2]&-8|e}switch(d|0){case 0:break a;case 2:{e=Qh(q,p,7)|0;h=Qh(q,p,7)|0;i=0-(Qh(q,p,7)|0)|0;f=0-(Qh(q,p,7)|0)|0;o=32;break}default:{e=Qh(q,p,7)|0;h=Qh(q,p,7)|0;i=Qh(q,p,7)|0;f=Qh(q,p,7)|0;if((d|0)==1){if(!e)e=0;else{j=(Ih(q,p)|0)==0;e=j?e:0-e|0}if(!h)h=0;else{j=(Ih(q,p)|0)==0;h=j?h:0-h|0}if(!i)i=0;else{j=(Ih(q,p)|0)==0;i=j?i:0-i|0}if(!f)f=0;else{j=(Ih(q,p)|0)==0;f=j?f:0-f|0}j=Oh(q,p,5)|0}else o=32}}if((o|0)==32){o=0;if(k){v=Oh(q,p,2)|0;j=c[s>>2]|0;c[s>>2]=j+v&7|j&-8}if(g){v=Oh(q,p,2)|0;j=c[t>>2]|0;c[t>>2]=j+v&7|j&-8;j=c[u>>2]|0;c[u>>2]=j+v&7|j&-8;j=0}else j=0}if(k){c[s>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[s>>2]&-16777209|e<<3&120)|i<<11&30720);break}if(g){c[t>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[t>>2]&-16777209|e<<3&120)|i<<11&30720);break}else{c[u>>2]=f<<15&491520|j<<19&16252928|(h<<7&1920|(c[u>>2]&-16777209|e<<3&120)|i<<11&30720);break}}while(0);l=l+1|0}while((l|0)!=3);return 0}function Ah(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;F=e+660|0;G=e+360|0;H=e+356|0;O=e+316|0;N=e+320|0;K=e+456|0;L=e+460|0;J=e+452|0;v=e+976|0;w=e+616|0;x=e+620|0;y=e+368|0;z=e+372|0;A=e+336|0;B=e+328|0;C=e+332|0;D=e+324|0;s=f;q=g;while(1){o=1<<h;M=c[G>>2]|0;p=c[H>>2]|0;f=a[M+4116>>0]|0;g=s-(c[O>>2]<<f)>>3;f=q-(c[N>>2]<<f)>>3;c[K>>2]=g;c[L>>2]=f;c[J>>2]=h;c[v>>2]=i;j=c[x>>2]|0;k=(s|0)/8|0;m=(q|0)/8|0;n=(c[w>>2]|0)+(k>>>4<<2)|0;if(((o+s|0)<=(b[M>>1]|0)?(o+q|0)<=(b[M+2>>1]|0):0)?(h|0)>(a[M+46>>0]|0):0){if(!f)if((c[A>>2]|0)!=0?(c[B>>2]|0)!=0:0)I=8;else f=2;else I=8;if((I|0)==8){I=0;f=((c[n>>2]|0)>>>(k<<1&30)&3|0)>(i|0)?3:2}do if(!g){if((c[C>>2]|0)==0?(c[A>>2]|0)==0:0)break;if(c[D>>2]|0)I=13}else I=13;while(0);if((I|0)==13){I=0;f=f+((j>>>(m<<1&30)&3|0)>(i|0)&1)|0}if(!(Fh(F,E,f)|0))I=16;else f=0}else if((h|0)>(a[M+46>>0]|0))f=0;else I=16;if((I|0)==16){I=0;l=-1>>>(32-(((o|0)/8|0)<<1)|0);g=k<<1&30;f=c[n>>2]&~(l<<g);j=(i|0)!=0;if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[n>>2]=f;g=m<<1&30;f=c[x>>2]&~(l<<g);if(j)f=(c[36720+(i<<2)>>2]&l)<<g|f;c[x>>2]=f;f=1}if(a[p+17>>0]|0?(h|0)>=(a[p+66>>0]|0):0){c[y>>2]=0;c[z>>2]=0}if(f){I=32;break}j=o>>1;g=j+s|0;j=j+q|0;h=h+-1|0;i=i+1|0;f=Ah(e,s,q,h,i)|0;if(f|0){I=48;break}if((g|0)<(b[M>>1]|0)?(t=Ah(e,g,q,h,i)|0,t|0):0){f=t;I=48;break}f=M+2|0;if((j|0)<(b[f>>1]|0)?(u=Ah(e,s,j,h,i)|0,u|0):0){f=u;I=48;break}if((g|0)>=(b[M>>1]|0)){f=0;I=48;break}if((j|0)>=(b[f>>1]|0)){f=0;I=48;break}else{s=g;q=j}}if((I|0)==32){G=c[K>>2]<<3;I=c[L>>2]<<3;g=p+66|0;H=-1<<a[g>>0];if((G|0)==(H&G|0)&(I|0)==(H&I|0)){c[e+440>>2]=c[e+436>>2];c[e+572>>2]=0}f=Gh(e,s,q,h)|0;if(f|0){O=f;return O|0}if(!(a[p+17>>0]|0)){O=0;return O|0}o=c[e+408>>2]|0;m=1<<c[J>>2];k=c[K>>2]<<3;j=c[L>>2]<<3;h=-1<<a[g>>0];L=h&k;g=L>>3;h=h&j;f=c[e+440>>2]|0;if((L|0)>0)i=a[g+h+-1+(e+1380)>>0]|0;else i=f;if((h|0)>0)f=a[g+h+-8+(e+1380)>>0]|0;n=e+572|0;l=((c[n>>2]|0)+52+(i+1+f>>1)|0)%52|0;i=(k>>3)+j|0;j=m>>3;if((m|0)>7){g=l&255;h=(j|0)>1?j:1;f=0;do{xl(i+(f<<3)+(e+1380)|0,g|0,h|0)|0;f=f+1|0}while((f|0)<(j|0))}g=e+436|0;c[g>>2]=l;c[e+564>>2]=l;f=c[e+568>>2]|0;c[o>>2]=c[o>>2]&-8323073|l<<16&8323072;if(f|0){f=o+(0-f<<2)|0;do{c[f>>2]=c[f>>2]&-8323073|c[g>>2]<<16&8323072;f=f+4|0}while((f|0)!=(o|0))}if(!(c[n>>2]|0)){O=0;return O|0}N=(r(c[N>>2]|0,b[M+4118>>1]|0)|0)+(c[O>>2]|0)|0;O=(c[e+1044>>2]|0)+(N>>3)|0;a[O>>0]=(1<<(N&7)^255)&d[O>>0];O=0;return O|0}else if((I|0)==48)return f|0;return 0}function Bh(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=c[e+360>>2]|0;o=k+4116|0;m=a[o>>0]|0;n=1<<m;v=b[k>>1]|0;i=(v+63|0)/64|0;j=e+320|0;k=(b[k+2>>1]|0)-(c[j>>2]<<m)|0;k=(n|0)<(k|0)?n:k;l=e+316|0;m=v-(c[l>>2]<<m)|0;m=(n|0)<(m|0)?n:m;c[e+468>>2]=2;n=e+472|0;c[n>>2]=0;if((k|0)<=0)return;p=e+408|0;q=e+436|0;s=e+568|0;t=e+428|0;u=e+600|0;v=e+416|0;g=e+424|0;if((m|0)<=0)return;f=0;do{h=f<<2&224;e=0;do{w=c[p>>2]|0;x=e>>>2&14|h;c[w>>2]=x|c[w>>2]&-49152|256;c[w>>2]=c[q>>2]<<16|x|-8371968;c[p>>2]=(c[p>>2]|0)+4;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+1;w=a[o>>0]|0;y=(c[l>>2]<<w)+e|0;w=(c[u>>2]|0)+(r((c[j>>2]<<w)+f>>3,i)|0)+(y>>6)|0;a[w>>0]=(1<<(((y|0)/8|0)&7)^255)&d[w>>0];w=(c[v>>2]|0)+12|0;x=x|c[w>>2]&-805437440|4352;c[w>>2]=x;c[w>>2]=c[n>>2]<<25&234881024|x&-1048178194|524288;c[v>>2]=(c[v>>2]|0)+16;c[g>>2]=(c[g>>2]|0)+1;e=e+8|0}while((e|0)<(m|0));f=f+8|0}while((f|0)<(k|0));return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=c[a>>2]|0;l=a+4|0;m=c[l>>2]|0;if(d>>>0<=255)J(83012,82796,384,82819);e=s(d|0)|0;k=d-(2<<23-e)|0;if(m>>>0>=k>>>0){Eh(b,e+-23|0);b=1;c[a>>2]=k;c[l>>2]=m;return b|0}d=s(k|0)|0;i=d+-1|0;if(!i){b=0;c[a>>2]=k;c[l>>2]=m;return b|0}g=b+12|0;h=b+4|0;f=c[h>>2]|0;d=c[g>>2]<<f>>>(33-d|0);f=f+i|0;c[h>>2]=f;if(f>>>0<=32){if((f|0)==32)j=11}else{e=64-f|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;d=e|d;j=11}if((j|0)==11){j=b+16|0;c[g>>2]=c[j>>2];g=b+8|0;b=c[g>>2]|0;c[g>>2]=b+4;b=c[b>>2]|0;c[h>>2]=f+-32;c[j>>2]=ul(b|0)|0}b=0;k=k<<i;m=d|m<<i;c[a>>2]=k;c[l>>2]=m;return b|0}function Dh(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;d=c[b>>2]|0;d=8-(d&7)+d|0;c[b>>2]=d;if(d>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[b>>2]=d+-32;c[e>>2]=ul(a|0)|0;return}function Eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)<=-33)J(82849,82866,230,82893);if((b|0)>=33)J(82910,82866,231,82893);if((b|0)<0){d=a+4|0;f=c[d>>2]|0;e=f+b|0;c[d>>2]=e;if(f>>>0>=(0-b|0)>>>0)return;c[d>>2]=e+32;f=a+8|0;b=c[f>>2]|0;c[f>>2]=b+-4;b=c[b+-12>>2]|0;f=a+12|0;c[a+16>>2]=c[f>>2];c[f>>2]=ul(b|0)|0;return}else{e=a+4|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;if(d>>>0<=31)return;f=a+16|0;c[a+12>>2]=c[f>>2];b=a+8|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0;c[e>>2]=d+-32;c[f>>2]=ul(a|0)|0;return}}function Fh(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;g=c[b>>2]|0;p=b+4|0;i=c[p>>2]|0;j=b+8+f|0;h=a[j>>0]|0;k=h&255;if(g>>>0<=255)J(83012,82796,247,83716);if(f>>>0>=154)J(83456,82796,248,83716);if(h<<24>>24<=-1)J(83628,82796,249,83716);l=s(g|0)|0;l=(d[(g<<l+-1>>>28&3)+(64+(k>>>1<<2))>>0]|0)<<23-l;h=g-l|0;g=i>>>0<h>>>0;n=k&1^(g^1)&1;m=i-(g?0:h)|0;l=g?h:l;a[j>>0]=a[320+(n|k<<1)>>0]|0;if(l>>>0>=256){o=l;e=m;c[b>>2]=o;c[p>>2]=e;return n|0}f=s(l|0)|0;k=f+-1|0;h=e+12|0;i=e+4|0;j=c[i>>2]|0;f=c[h>>2]<<j>>>(33-f|0);j=j+k|0;c[i>>2]=j;if(j>>>0<=32){if((j|0)==32)o=13}else{g=64-j|0;if(g>>>0<32)g=(c[e+16>>2]|0)>>>g;else g=0;f=g|f;o=13}if((o|0)==13){o=e+16|0;c[h>>2]=c[o>>2];h=e+8|0;e=c[h>>2]|0;c[h>>2]=e+4;e=c[e>>2]|0;c[i>>2]=j+-32;c[o>>2]=ul(e|0)|0}o=l<<k;e=f|m<<k;c[b>>2]=o;c[p>>2]=e;return n|0}function Gh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=e+316|0;n=c[e+608>>2]|0;v=e+612|0;t=c[v>>2]|0;B=e+376|0;G=e+408|0;x=c[G>>2]|0;z=e+660|0;if(f&7|0)J(82926,82942,1185,82971);if(g&7|0)J(82996,82942,1186,82971);H=e+568|0;c[H>>2]=0;A=c[e+360>>2]|0;u=c[e+356>>2]|0;E=e+456|0;q=c[E>>2]|0;F=e+460|0;p=c[F>>2]|0;o=c[e+648>>2]|0;C=1<<h;i=e+464|0;c[i>>2]=0;if((a[u+25>>0]|0?(u=Fh(z,B,5)|0,c[i>>2]=u,u|0):0)?(l=((b[A>>1]|0)+63|0)/64|0,m=(C|0)/8|0,(C|0)>7):0){k=-1>>>(32-(C>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(l,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}s=(f|0)/8|0;u=(g|0)/8|0;j=n+(s>>>5<<2)|0;k=o+76|0;if((a[k>>0]|0)==2)i=0;else{if(!p)if((c[e+336>>2]|0)!=0?(c[e+328>>2]|0)!=0:0)y=14;else i=0;else y=14;if((y|0)==14)i=(c[j>>2]&1<<(s&31)|0)!=0&1;do if(!q){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0)break;if(c[e+324>>2]|0)y=19}else y=19;while(0);if((y|0)==19)i=i+((t&1<<(u&31)|0)!=0&1)|0;i=Fh(z,B,i+6|0)|0}o=c[j>>2]|0;m=(C|0)/8|0;p=-1>>>(32-m|0);q=p<<(s&31);t=(i|0)!=0;c[j>>2]=t?o|q:o&~q;q=c[v>>2]|0;p=p<<(u&31);c[v>>2]=t?q|p:q&~p;p=e+448|0;c[p>>2]=0;if(t){i=a[A+4116>>0]|0;B=(f-(c[D>>2]<<i)|0)>>>2&15;D=g-(c[e+320>>2]<<i)|0;i=c[x>>2]&-49152|(h<<8)+1536&1792|B|D<<2&240;c[x>>2]=i;i=i&18431|c[e+436>>2]<<16&8323072;j=i|-8388608;c[x>>2]=j;if((c[E>>2]<<3|0)==(B<<2|0)?(c[F>>2]<<3|0)==(D&60|0):0)i=i|-8372224;else i=j&-63489;c[x>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;H=e+428|0;c[H>>2]=(c[H>>2]|0)+1;c[e+468>>2]=2;c[e+472>>2]=0;H=(c[e+416>>2]|0)+12|0;c[H>>2]=c[H>>2]&-805306369;Hh(e,f,g,C,C)|0;e=0;return e|0}o=(C|0)==(1<<a[A+46>>0]|0);a:do if((a[k>>0]|0)!=2?(w=Fh(z,B,11)|0,(w|0)!=1):0){n=e+468|0;c[n>>2]=w;if(o|(a[A+56>>0]|0)==0){l=12;m=-1;i=(C|0)>8&o?3:2;while(1){j=Fh(z,B,l)|0;k=m+1|0;i=i+-1|0;if(!i)break;if(j|0){i=n;l=1;m=0;break a}else{l=l+1|0;m=k}}k=(j|0)==0?m+2|0:k;i=n;l=1;m=0;break}else{if(Fh(z,B,12)|0){k=0;i=n;l=1;m=0;break}i=(Fh(z,B,13)|0)<<1;x=Fh(z,B,15)|0;i=(i|x)<<1;if(!x)i=Ih(z,B)|0|i;k=d[81823+i>>0]|0;i=n;l=1;m=0;break}}else y=30;while(0);if((y|0)==30){l=((b[A>>1]|0)+63|0)/64|0;if((C|0)>7){k=-1>>>(32-(C>>>3)|0)<<(s&7);j=0;i=(c[e+600>>2]|0)+(r(l,u)|0)+((f|0)/64|0)|0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(m|0))break;else i=i+l|0}}i=e+468|0;c[i>>2]=1;if(o){k=(Fh(z,B,12)|0)==0;k=k?3:0;l=0;m=1}else{k=0;l=0;m=1}}j=(k|0)==3&(c[i>>2]|0)==1&1;c[e+472>>2]=k;c[e+560>>2]=j;b:do if(m){c[p>>2]=0;Jh(e,f,g,h)|0;if(!(c[p>>2]|0)){i=e+416|0;break}else{e=0;return e|0}}else switch(k|0){case 0:{i=e+416|0;y=c[i>>2]|0;Hh(e,f,g,C,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369;break b}case 1:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Hh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,f,x+g|0,C,x)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 2:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/2|0;Hh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,x+f|0,g,x,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 4:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Hh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,f,x+g|0,C,(3<<h|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 5:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Hh(e,f,g,C,x)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,f,x+g|0,C,(C|0)/4|0)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 6:{i=e+416|0;y=c[i>>2]|0;x=(C|0)/4|0;Hh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,x+f|0,g,(3<<h|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}case 7:{i=e+416|0;y=c[i>>2]|0;x=(3<<h|0)/4|0;Hh(e,f,g,x,C)|0;y=y+12|0;c[y>>2]=c[y>>2]&-805306369;y=c[i>>2]|0;Hh(e,x+f|0,g,(C|0)/4|0,C)|0;C=y+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;break b}default:{i=e+416|0;w=c[i>>2]|0;y=(C|0)/2|0;Hh(e,f,g,y,y)|0;C=w+12|0;c[C>>2]=c[C>>2]&-805306369;C=c[i>>2]|0;w=y+f|0;Hh(e,w,g,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|268435456;C=c[i>>2]|0;x=y+g|0;Hh(e,f,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]&-805306369|536870912;C=c[i>>2]|0;Hh(e,w,x,y,y)|0;C=C+12|0;c[C>>2]=c[C>>2]|805306368;break b}}while(0);i=c[i>>2]|0;do if(l){if((k|0)==0?c[i+-4>>2]&524288|0:0)break;if((Fh(z,B,30)|0)!=1){i=a[A+4116>>0]|0;j=c[G>>2]|0;f=(f-(c[D>>2]<<i)|0)>>>2&15;g=g-(c[e+320>>2]<<i)|0;i=c[j>>2]&-49152|(h<<8)+1536&1792|f|g<<2&240;c[j>>2]=i;i=c[e+436>>2]<<16&8323072|i&528500735|-536870912;c[j>>2]=i;i=i&-528529409|c[e+476>>2]<<23&528482304;c[j>>2]=i;if((c[E>>2]<<3|0)==(f<<2|0)?(c[F>>2]<<3|0)==(g&60|0):0)i=i|16384;else i=i&-63489;c[j>>2]=i;c[G>>2]=(c[G>>2]|0)+4;c[H>>2]=(c[H>>2]|0)+1;e=e+428|0;c[e>>2]=(c[e>>2]|0)+1;e=0;return e|0}}while(0);if(m)i=(a[A+53>>0]|0)+j|0;else i=a[A+52>>0]|0;c[e+544>>2]=i;e=Kh(e,f,g,f,g,h,0,0,c[e+476>>2]|0)|0;return e|0}function Hh(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;j=b+376|0;m=b+416|0;i=c[m>>2]|0;k=b+660|0;h=c[b+648>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;n=a[(c[b+360>>2]|0)+4116>>0]|0;l=i+12|0;g=(g>>>2<<12)+61440&61440|(f>>>2<<8)+3840&3840|(d-(c[b+316>>2]<<n)|0)>>>2&15|e-(c[b+320>>2]<<n)<<2&240;c[l>>2]=g;c[l>>2]=g|c[b+472>>2]<<25&234881024;if((c[b+468>>2]|0)==2){d=h+166|0;if((a[d>>0]|0)>1?(Fh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Qh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032|524288;else d=1572864}else d=524288;c[l>>2]=d|c[l>>2]&-7864321;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}n=Fh(k,j,18)|0;c[l>>2]=c[l>>2]&-524289|n<<19&524288;if(!n){Sh(b,i)|0;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}d=h+166|0;if((a[d>>0]|0)>1?(Fh(k,j,19)|0)!=0:0){d=a[d>>0]|0;if(d<<24>>24>2)d=((Qh(k,j,(d<<24>>24)+-2|0)|0)<<20)+1048576&7340032;else d=1048576}else d=0;c[l>>2]=c[l>>2]&-7340033|d;n=c[m>>2]|0;n=n+16|0;c[m>>2]=n;n=b+424|0;m=c[n>>2]|0;m=m+1|0;c[n>>2]=m;return 0}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;d=a+4|0;e=c[d>>2]|0;if(h>>>0<=255)J(83012,82796,334,83685);f=b+12|0;g=b+4|0;i=c[g>>2]|0;a=c[f>>2]<<i>>>31;i=i+1|0;c[g>>2]=i;if((i|0)==32){i=b+16|0;c[f>>2]=c[i>>2];f=b+8|0;b=c[f>>2]|0;c[f>>2]=b+4;b=c[b>>2]|0;c[g>>2]=0;c[i>>2]=ul(b|0)|0}b=a|e<<1;i=b>>>0<h>>>0;c[d>>2]=b-(i?0:h);return (i^1)&1|0}function Jh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;s=e+660|0;t=e+376|0;x=1<<h;k=c[e+472>>2]|0;A=e+408|0;B=e+416|0;p=c[B>>2]|0;i=e+360|0;w=c[i>>2]|0;v=a[w+4116>>0]|0;u=c[e+316>>2]<<v;v=c[e+320>>2]<<v;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;o=(x>>>2)+15&15;u=(f-u|0)>>>2&15;v=g-v|0;q=v<<2&240|u;c[p+12>>2]=q|o<<8|o<<12|65536;if((((k|0)==0?(a[w+20>>0]|0)!=0:0)?(j=a[w+50>>0]|0,(j|0)<=(h|0)):0)?((a[w+51>>0]|0)+j|0)>=(h|0):0){p=Ch(s,t)|0;c[e+448>>2]=p;if(p|0){if(c[e+380>>2]&7|0)Dh(t);k=c[i>>2]|0;p=e+404|0;i=c[p>>2]|0;a[i>>0]=1;l=i+2|0;a[i+1>>0]=1;c[p>>2]=l;b[i+4>>1]=-1;b[l>>1]=0;l=a[k+21>>0]|0;n=1<<(h<<1);m=8-l|0;i=i+6|0;j=0;do{o=i;i=i+1|0;a[o>>0]=(Ph(t,l)|0)<<m;j=j+1|0}while((j|0)<(n|0));m=a[k+22>>0]|0;o=n>>1;if((n|0)>1){l=8-m|0;j=0;while(1){k=i+1|0;a[i>>0]=(Ph(t,m)|0)<<l;j=j+1|0;if((j|0)>=(o|0)){i=k;break}else i=k}}c[p>>2]=i;xh(s,t)|0;m=c[A>>2]|0;i=q|(h<<8)+1536&1792|c[m>>2]&-49152|47104;c[m>>2]=i;i=i&65535|c[e+436>>2]<<16&8323072;j=i|-8388608;c[m>>2]=j;k=e+456|0;l=e+460|0;if((c[k>>2]<<3|0)==(u<<2|0)?(c[l>>2]<<3|0)==(v&60|0):0)i=i|-8372224;else i=j&-16385;c[m>>2]=i;u=(c[e+624>>2]|0)+(c[k>>2]<<1)|0;h=e+12192|0;v=(x|0)/4|0;bc[c[h>>2]&15]((c[e+628>>2]|0)+(c[l>>2]<<1)|0,1,v);bc[c[h>>2]&15](u,1,v);if((a[w+58>>0]|0)==1?(y=((b[w>>1]|0)+63|0)/64|0,z=(x|0)/8|0,(x|0)>7):0){k=-1>>>(32-(x>>>3)|0)<<(((f|0)/8|0)&7);i=(c[e+604>>2]|0)+(r(y,(g|0)/8|0)|0)+((f|0)/64|0)|0;j=0;while(1){a[i>>0]=k|d[i>>0];j=j+1|0;if((j|0)==(z|0))break;else i=i+y|0}}c[A>>2]=(c[A>>2]|0)+4;g=e+568|0;c[g>>2]=(c[g>>2]|0)+1;g=e+428|0;c[g>>2]=(c[g>>2]|0)+1;g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}}else c[e+448>>2]=0;j=(k|0)==3?4:1;i=0;do{c[e+492+(i<<2)>>2]=Fh(s,t,16)|0;i=i+1|0}while(i>>>0<j>>>0);i=0;do{if(!(c[e+492+(i<<2)>>2]|0))c[e+524+(i<<2)>>2]=Oh(s,t,5)|0;else c[e+508+(i<<2)>>2]=Qh(s,t,2)|0;i=i+1|0}while(i>>>0<j>>>0);A=Fh(s,t,17)|0;i=e+540|0;c[i>>2]=4;if(A|0)c[i>>2]=Oh(s,t,2)|0;Rh(e,h,f,g);g=c[B>>2]|0;g=g+16|0;c[B>>2]=g;B=e+424|0;e=c[B>>2]|0;e=e+1|0;c[B>>2]=e;return 0}function Kh(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,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=b+376|0;I=b+660|0;u=b+360|0;v=b+356|0;w=b+560|0;x=b+544|0;E=b+468|0;y=b+472|0;L=b+476|0;z=b+480|0;A=b+484|0;B=b+488|0;C=b+554|0;D=b+549|0;n=b+549|0;a:while(1){F=e;G=f;t=g;s=h;while(1){r=c[u>>2]|0;q=c[v>>2]|0;f=c[w>>2]|0;g=(i|0)>(a[r+4117>>0]|0);if((!g?((c[x>>2]|0)>(j|0)?(i|0)>(a[r+48>>0]|0):0):0)?!((j|0)==0&(f|0)!=0):0)m=Fh(I,K,36-i|0)|0;else H=7;do if((H|0)==7){H=0;if((a[r+52>>0]|0)==0?(c[E>>2]|0)==0:0)e=(j|0)==0&(c[y>>2]|0)!=0&1;else e=0;if(!g?!((j|0)==0&(f|0)==1|(e|0)==1):0){m=0;break}m=1}while(0);o=(j|0)==0;if(!o){e=j+-1|0;f=a[b+549+e>>0]|0;g=b+549+j|0;a[g>>0]=f;e=a[b+554+e>>0]|0;a[b+554+j>>0]=e;if((i|0)>2){h=j+36|0;if(f<<24>>24){a[g>>0]=Fh(I,K,h)|0;e=a[j+-1+(b+554)>>0]|0}if(!(e<<24>>24))p=1;else{f=1;e=h;H=19}}else p=0}else{a[C>>0]=0;a[D>>0]=0;a[n>>0]=Fh(I,K,36)|0;f=(i|0)>2;e=36;H=19}if((H|0)==19){H=0;a[b+554+j>>0]=Fh(I,K,e)|0;p=f}if(!m){H=32;break a}f=1<<i>>1;g=f+F|0;f=f+G|0;h=(j|0)!=0;if(h)e=l;else e=c[L>>2]|0;i=i+-1|0;j=j+1|0;e=Kh(b,F,G,F,G,i,j,0,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[z>>2]|0;e=Kh(b,g,G,F,G,i,j,1,e)|0;if(e|0){H=71;break a}if(h)e=l;else e=c[A>>2]|0;e=Kh(b,F,f,F,G,i,j,2,e)|0;if(e|0){H=71;break a}if(h){s=G;t=F;F=g;G=f;k=3}else break}e=g;g=F;h=G;k=3;l=c[B>>2]|0}if((H|0)==32){m=b+408|0;n=c[m>>2]|0;f=a[r+4116>>0]|0;e=c[b+316>>2]<<f;f=c[b+320>>2]<<f;if((!((j|0)!=0|(c[E>>2]|0)==1)?(a[b+549>>0]|0)==0:0)?(a[b+554>>0]|0)==0:0){h=b+548|0;a[h>>0]=1}else{h=b+548|0;a[h>>0]=Fh(I,K,o?35:34)|0}f=G-f<<2&240|(F-e|0)>>>2&15|c[n>>2]&-14592;c[n>>2]=f;f=c[b+464>>2]<<15&32768|(i<<8)+1536&1792|f&-48897;c[n>>2]=f;f=c[b+436>>2]<<16&8323072|l<<23&528482304|f&-536819713;c[n>>2]=f;g=b+540|0;c[n>>2]=f&536856575|c[g>>2]<<29;e=a[h>>0]|0;if((e<<24>>24==0?(a[b+549+j>>0]|0)==0:0)?(a[b+554+j>>0]|0)==0:0){if((i|0)==2&(k|0)!=3)c[n>>2]=f|-536870912}else H=40;do if((H|0)==40){do if((a[q+17>>0]|0)!=0?(J=b+368|0,(c[J>>2]|0)==0):0){e=Lh(I,K,5,9,0,1)|0;if((e|0)>4)e=(Mh(I,K,0)|0)+e|0;c[J>>2]=1;if(!e)e=0;else{K=(Ih(I,K)|0)==0;e=K?e:0-e|0}K=(a[r+16>>0]|0)*3|0;if((e|0)<(K+-26|0)|(e|0)>(K+25|0)){b=979;return b|0}else{c[b+572>>2]=e;e=a[h>>0]|0;break}}while(0);if(e<<24>>24){c[n>>2]=c[n>>2]|2048;Nh(b,F,G,i,0,l)|0}e=c[g>>2]|0;if((e|0)==4)e=c[L>>2]|0;else{e=d[81819+e>>0]|0;e=(c[L>>2]|0)==(e|0)?34:e}if(p){if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Nh(b,F,G,i+-1|0,1,e)|0}if(!(a[b+554+j>>0]|0))break;c[n>>2]=c[n>>2]|8192;Nh(b,F,G,i+-1|0,2,e)|0;break}if((k|0)!=3){c[n>>2]=c[n>>2]|-536870912;break}if(a[b+549+j>>0]|0){c[n>>2]=c[n>>2]|4096;Nh(b,t,s,i,1,e)|0}if(a[b+554+j>>0]|0){c[n>>2]=c[n>>2]|8192;Nh(b,t,s,i,2,e)|0}}while(0);e=c[n>>2]|0;if((c[b+456>>2]<<3|0)==(e<<2&60|0)?(c[b+460>>2]<<3|0)==(e>>>2&60|0):0)e=e|16384;else e=e&-16385;c[n>>2]=e;c[m>>2]=(c[m>>2]|0)+4;L=b+568|0;c[L>>2]=(c[L>>2]|0)+1;b=b+428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;return b|0}else if((H|0)==71)return e|0;return 0}function Lh(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,t=0,u=0,v=0,w=0,x=0;if((f|0)<=0)J(83412,82796,561,83424);if(g>>>0>=154)J(83456,82796,562,83424);if(((f>>>h)+g|0)>=154)J(83513,82796,563,83424);u=b+4|0;v=e+12|0;w=e+4|0;x=e+16|0;t=e+8|0;r=0;l=c[b>>2]|0;j=c[u>>2]|0;while(1){e=r>>>h;e=(e>>>0<i>>>0?e:i)+g|0;m=b+8+e|0;k=a[m>>0]|0;n=k&255;if(l>>>0<=255){q=9;break}if(e>>>0>=154){q=11;break}if(k<<24>>24<=-1){q=13;break}o=s(l|0)|0;o=(d[(l<<o+-1>>>28&3)+(64+(n>>>1<<2))>>0]|0)<<23-o;l=l-o|0;p=j>>>0<l>>>0;j=j-(p?0:l)|0;o=p?l:o;p=n&1^(p^1)&1;a[m>>0]=a[320+(p|n<<1)>>0]|0;if(o>>>0<256){e=s(o|0)|0;m=e+-1|0;l=c[w>>2]|0;e=c[v>>2]<<l>>>(33-e|0);l=l+m|0;c[w>>2]=l;if(l>>>0<=32){if((l|0)==32)q=20}else{k=64-l|0;if(k>>>0<32)k=(c[x>>2]|0)>>>k;else k=0;e=k|e;q=20}if((q|0)==20){q=0;c[v>>2]=c[x>>2];n=c[t>>2]|0;c[t>>2]=n+4;n=c[n>>2]|0;c[w>>2]=l+-32;c[x>>2]=ul(n|0)|0}k=o<<m;j=e|j<<m}else k=o;c[b>>2]=k;c[u>>2]=j;e=r+1|0;if((e|0)<(f|0)&(p|0)!=0){r=e;l=k}else{q=23;break}}if((q|0)==9)J(83012,82796,570,83424);else if((q|0)==11)J(83573,82796,570,83424);else if((q|0)==13)J(83628,82796,570,83424);else if((q|0)==23)return p+r|0;return 0}function Mh(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;if((d|0)<=-1)J(83336,82796,676,83347);a:do if((d|0)<17){k=a+4|0;l=b+12|0;m=b+4|0;n=b+16|0;o=b+8|0;i=c[a>>2]|0;j=i>>>0>255;f=0;h=c[k>>2]|0;while(1){if(!j)break;g=c[m>>2]|0;e=c[l>>2]<<g>>>31;g=g+1|0;c[m>>2]=g;if((g|0)==32){c[l>>2]=c[n>>2];g=c[o>>2]|0;c[o>>2]=g+4;g=c[g>>2]|0;c[m>>2]=0;c[n>>2]=ul(g|0)|0}g=e|h<<1;s=g>>>0<i>>>0;h=g-(s?0:i)|0;s=s^1;c[k>>2]=h;g=d+1|0;e=((s&1)<<d)+f|0;if(!((d|0)<16&s)){r=e;p=g;break a}else{d=g;f=e}}J(83012,82796,683,83347)}else{r=0;p=d}while(0);f=p+-1|0;if(!f){s=r;return s|0}l=c[a>>2]|0;k=a+4|0;d=c[k>>2]|0;if(l>>>0<=255)J(83012,82796,693,83347);if((p|0)<=1)J(83383,82796,693,83347);if((p|0)>=18)J(83397,82796,693,83347);i=b+12|0;j=b+4|0;h=c[j>>2]|0;g=c[i>>2]<<h>>>(33-p|0);h=h+f|0;c[j>>2]=h;if(h>>>0<=32){if((h|0)==32)q=22}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;g=e|g;q=22}if((q|0)==22){s=b+16|0;c[i>>2]=c[s>>2];q=b+8|0;b=c[q>>2]|0;c[q>>2]=b+4;b=c[b>>2]|0;c[j>>2]=h+-32;c[s>>2]=ul(b|0)|0}e=0;do{f=f+-1|0;b=g>>>f&1|d<<1;s=b>>>0<l>>>0;e=e<<1|(s^1)&1;d=b-(s?0:l)|0}while((f|0)!=0);c[k>>2]=d;s=e+r|0;return s|0} |
| | | function Mi(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=Sb;Sb=Sb+7296|0;xb=Ab+2448|0;wb=Ab+2432|0;vb=Ab+2416|0;tb=Ab+2400|0;sb=Ab+2384|0;rb=Ab+2368|0;yb=Ab+2352|0;ub=Ab+2336|0;qb=Ab+2320|0;pb=Ab+16|0;ob=Ab;hb=Ab+7224|0;nb=Ab+7216|0;zb=Ab+2608|0;lb=Ab+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;Sb=Ab;return zb|0}ib=(j|0)==0;gb=41728+(k*12|0)|0;kb=41728+(k*12|0)+8|0;db=41728+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;R=c[18788]|0;ab=h+4|0;T=hb+4|0;U=hb+8|0;cb=h+9264|0;V=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;W=pb+20|0;X=pb+22|0;Y=pb+24|0;Z=pb+26|0;_=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;S=zb+2304|0;$a=0;a:while(1){P=i+10+($a*116|0)|0;if(!ib){M=c[gb>>2]|0;O=($a|0)==0;N=0;do{y=i+10+($a*116|0)+(N*58|0)|0;k=nb+(N<<2)|0;c[k>>2]=M;z=i+10+($a*116|0)+(N*58|0)+9|0;n=(a[z>>0]|0)==2;if(n){L=c[((a[i+10+($a*116|0)+(N*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=L;k=L}else k=M;if(!(c[jb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;L=f;o=c[L+4>>2]|0;p=pb;c[p>>2]=c[L>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(N*58|0)+6>>1]|0;o=d[84219+(p<<1)>>0]|0;p=d[84219+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=Bi(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=Bi(f,p)|0;a[l+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[l+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;K=l|4;a[l+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+K>>0]=Bi(f,p)|0;a[K+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[K+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[K+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[K+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[K+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[K+6+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;L=l|12;a[K+7+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+L>>0]=Bi(f,p)|0;a[L+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[L+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[L+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[L+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;a[L+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Bi(f,p)|0;L=y+(l|36)|0;a[L>>0]=0;a[L+1>>0]=0;a[L+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(N*58|0)+18>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=Bi(f,o)|0;l=(Bi(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+($a*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(N*58|0)+24>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=Bi(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=Bi(f,o)|0;l=(Bi(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+($a*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(N*58|0)+29>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=Bi(f,p)|0;l=(Bi(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+($a*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(N*58|0)+34>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=Bi(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=Bi(f,p)|0;l=(Bi(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+($a*116|0)+(N*58|0)+38>>0]=l;a[i+10+($a*116|0)+(N*58|0)+39>>0]=0}l=yi(pb,f)|0}else{u=(N|0)==0?0:Fa;l=c[bb>>2]|0;L=f;p=c[L+4>>2]|0;m=pb;c[m>>2]=c[L>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)w=((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else w=0;if((u|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){s=l+-180|0;t=4;m=s>>>4&3;q=s>>>2&3;s=s&3;break}else{s=l+-244|0;q=(s>>>0)/3|0;t=5;m=q;q=s-(q*3|0)|0;s=0;break}else{L=(l>>>0)%36|0;s=(L>>>0)/6|0;t=3;m=(p>>>0)/72|0;q=s;s=L-(s*6|0)|0}while(0);n=84147+(t*12|0)+(w<<2)|0;p=(1<<m)+-1|0;if(!(a[n>>0]|0))l=0;else{o=0;while(1){L=Bi(f,m)|0;a[i+10+($a*116|0)+(N*58|0)+18+o>>0]=L;l=o+1|0;a[u+18+o>>0]=(L|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<<q)+-1|0;n=84147+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){L=Bi(f,q)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<<s)+-1|0;n=84147+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){L=Bi(f,s)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=84147+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){L=Bi(f,0)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=L;l=m+1|0;a[u+18+m>>0]=(L|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=0;a[u+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;t=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;s=m&3;p=0;break}else{s=p+-500|0;q=(s>>>0)/3|0;t=i+10+($a*116|0)+(N*58|0)+8|0;a[t>>0]=a[t>>0]|4;t=2;o=q;q=s-(q*3|0)|0;s=0;p=0;break}else{t=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;s=p>>>2&3;p=p&3}while(0);m=84147+(t*12|0)+(w<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=Bi(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=84147+(t*12|0)+(w<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Bi(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=84147+(t*12|0)+(w<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Bi(f,s)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=84147+(t*12|0)+(w<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Bi(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)xl(y+(l+18)|0,0,39-l|0)|0}l=yi(pb,f)|0}x=zb+(N*2304|0)|0;m=(e[y>>1]|0)-l|0;if((m|0)<0){mb=566;break a}s=(e[i+10+($a*116|0)+(N*58|0)+4>>1]|0)+-210|0;L=i+10+($a*116|0)+(N*58|0)+8|0;n=d[L>>0]|0;t=(n>>>1&1)+1|0;do if((a[z>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=s-((o&d[84251+n>>0])+(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]|0)<<t);p=n+1|0;l=l+(d[k+n>>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=s-(d[i+10+($a*116|0)+(N*58|0)+13>>0]<<3)|0;q=s-(d[i+10+($a*116|0)+(N*58|0)+14>>0]<<3)|0;o=s-(d[i+10+($a*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]<<t);K=n+1|0;c[pb+(K<<2)>>2]=q-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);K=n+2|0;c[pb+(K<<2)>>2]=o-(d[i+10+($a*116|0)+(N*58|0)+18+K>>0]<<t);l=((d[k+n>>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+18>>0]<<t);c[Ga>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+19>>0]<<t);c[Ra>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+20>>0]<<t);c[Ua>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+21>>0]<<t);c[Va>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+22>>0]<<t);c[Wa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+23>>0]<<t);c[Xa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+24>>0]<<t);c[Ya>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+25>>0]<<t);c[Za>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+26>>0]<<t);c[_a>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+27>>0]<<t);c[Ha>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+28>>0]<<t);l=d[i+10+($a*116|0)+(N*58|0)+29>>0]|0;if(!(n&4)){c[Ia>>2]=s-(l<<t);c[Ja>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+30>>0]<<t);c[Ka>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+31>>0]<<t);c[La>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+32>>0]<<t);c[Ma>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+33>>0]<<t);c[Na>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+34>>0]<<t);c[Oa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+35>>0]<<t);c[Pa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+36>>0]<<t);c[Qa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+37>>0]<<t);c[Sa>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+38>>0]<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}else{c[Ia>>2]=s-(l+1<<t);c[Ja>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+30>>0]|0)+1<<t);c[Ka>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+31>>0]|0)+1<<t);c[La>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+32>>0]|0)+1<<t);c[Ma>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+33>>0]|0)+2<<t);c[Na>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+34>>0]|0)+2<<t);c[Oa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+35>>0]|0)+3<<t);c[Pa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+36>>0]|0)+3<<t);c[Qa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+37>>0]|0)+3<<t);c[Sa>>2]=s-((d[i+10+($a*116|0)+(N*58|0)+38>>0]|0)+2<<t);c[Ta>>2]=s-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<t);break}}while(0);o=f;n=c[o>>2]|0;o=c[o+4>>2]|0;t=ob;c[t>>2]=n;c[t+4>>2]=o;Ai(f,m);o=sl(n|0,o|0,48)|0;v()|0;o=(31-o&-8)+o|0;n=Bi(ob,o)|0;t=d[i+10+($a*116|0)+(N*58|0)+10>>0]|0;q=c[39296+(t<<3)>>2]|0;if(!q){Q=165;break a}s=zb+(N*2304|0)+(d[k>>0]<<2)|0;y=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){K=i+10+($a*116|0)+(N*58|0)+17|0;I=k&65535;B=p;u=Ga;z=e[39296+(t<<3)+4>>1]|0;w=(d[i+10+($a*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;A=0;p=e[39296+(t<<3)+6>>1]|0;H=0;F=x;while(1){I=I+-1|0;if((F|0)==(s|0)){x=y+1|0;s=F+(d[y>>0]<<2)|0;k=w+-1|0;if(!k){if(!m)k=(d[K>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(N*58|0)+10+m>>0]|0;q=c[39296+(p<<3)>>2]|0;if(!q){Q=165;break a}else{t=e[39296+(p<<3)+4>>1]|0;p=e[39296+(p<<3)+6>>1]|0}}else t=z;y=c[u>>2]|0;G=y;u=u+4|0;z=t;E=k;D=m;t=(B|0)==(y|0)?A:0;y=x;C=p}else{G=B;E=w;D=m;t=A;C=p}k=31-o&-8;if((o|0)<21){n=Bi(ob,k)|0|n<<k;l=l-k|0;o=k+o|0}k=n>>>(o-C|0)&(1<<C)+-1;if(!(a[q+(k<<1)>>0]&1)){m=C;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<<m)+-1)+((k&65535)>>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}A=q+(k<<1)|0;m=b[A>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;w=k&65535;b:do if(!z){if(!(k<<16>>16)){m=t;k=0}else{k=1<<w;if(!(k&t)){t=k|t;p=(G|0)%4|0;k=c[41836+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;Lj(R,84273,sb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else{m=t;k=c[hb+(w<<2)>>2]|0}B=o+-1|0;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8&15;w=B&65535;if(!(B<<16>>16)){x=n;k=0;t=m}else{k=1<<w;if(!(k&m)){t=k|m;k=(G|0)/4|0;p=G-(k<<2)|0;B=c[41836+(w<<2)>>2]|0;m=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;Lj(R,84273,tb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;m=t}else k=c[hb+(w<<2)>>2]|0;t=o+-1|0;x=n;o=t;k=(1<<t&n|0)==0?k:0-k|0;t=m}}else{c:do switch(m&15){case 0:{x=n;k=0;break}case 15:{if(o>>>0<(z+2|0)>>>0){n=Bi(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-z|0;p=(G|0)%4|0;k=c[41836+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;Lj(R,84273,qb)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<<w;if(k&t|0){k=c[hb+(w<<2)>>2]|0;Q=118;break c}t=k|t;p=(G|0)%4|0;k=c[41836+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;Lj(R,84273,ub)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8;w=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(o>>>0<(z+1|0)>>>0){n=Bi(ob,16)|0|x<<16;l=l+-16|0;o=o+16|0}else n=x;o=o-z|0;p=(G|0)%4|0;k=c[41836+((n>>>o&(1<<z)+-1)+w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;Lj(R,84273,yb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(!p)break d;k=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<w;if(k&t|0){n=x;k=c[hb+(w<<2)>>2]|0;break d}t=k|t;n=(G|0)%4|0;k=c[41836+(w<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;Lj(R,84273,rb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(n)k=r((c[74664+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(w<<2)>>2]=k;n=x}}while(0);B=o+-1|0;x=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}while(0);c[F+4>>2]=k;k=H+2|0;m=o+l|0;if(!((I|0)!=0&(m|0)>0)){w=o;t=G;q=y;break}else{n=x;B=G;w=E;m=D;A=t;p=C;H=k;F=zb+(N*2304|0)+(k<<2)|0}}}else{x=n;w=o;t=p;u=Ga;q=y;k=0}if((m|0)<0){mb=568;break a}B=c[39288+((a[L>>0]&1)<<2)>>2]|0;o=(t|0)/4|0;p=t-(o<<2)|0;n=o+2|0;do if((t|0)>=-11)if((t|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;Lj(R,84273,vb)|0;n=2147483647;break}else{n=67108864<<n;break}else{n=-2-o|0;n=n>>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=x;x=q;while(1){z=zb+(N*2304|0)+(k<<2)|0;if((w|0)<10){A=Bi(ob,16)|0|m<<16;l=l+-16|0;m=w+16|0}else{A=m;m=w}q=m+-4|0;o=B+((A>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=B+((A>>>(q-o|0)&(1<<o)+-1)+((p&65535)>>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}y=m-((p&255)>>>1&7)|0;if((z|0)==(s|0)){w=x+1|0;s=s+(d[x>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;Lj(R,84273,wb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;t=m;u=u+4|0;q=w}else q=x;x=(p&16)==0;L=y+-1|0;m=0-n|0;y=x?y:L;c[z>>2]=x?0:(1<<L&A|0)==0?n:m;L=(a[o>>0]&32)==0;x=y+-1|0;y=L?y:x;c[z+4>>2]=L?0:(1<<x&A|0)==0?n:m;x=zb+(N*2304|0)+(k+2<<2)|0;if((x|0)==(s|0)){w=q+1|0;s=s+(d[q>>0]<<2)|0;q=c[u>>2]|0;do if((t|0)==(q|0))m=t;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;Lj(R,84273,xb)|0;n=2147483647;break}else{n=67108864<<m;break}else{L=-2-n|0;n=L>>>0>31?0:(1<<-3-n)+67108864>>L}while(0);if(!p){m=q;break}m=q;n=r((c[74664+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);t=m;u=u+4|0;p=n;q=w;m=0-n|0}else p=n;L=(a[o>>0]&64)==0;K=y+-1|0;w=L?y:K;c[x>>2]=L?0:(1<<K&A|0)==0?p:m;K=(a[o>>0]|0)<0;L=w+-1|0;w=K?L:w;c[x+4>>2]=K?((1<<L&A|0)==0?p:m):0;k=k+4|0;m=w+l|0;if(!(k>>>0<573&(m|0)>0))break;else{m=A;n=p;x=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)xl(zb+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0<j>>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){w=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){Q=276;break}O=eb&65535;b[pb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[za>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;e:do if(eb&1|0){u=c[jb>>2]|0;c[jb>>2]=u|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[w+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0<n>>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;s=k;t=0;while(1){O=a[w+s>>0]|0;s=s+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(t<<2)>>2]=s;n=s}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;t=((t+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0<o>>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[w+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(u&4096)){p=0;q=0;while(1){k=a[w+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+($a*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[74812+(n<<2)>>2]|0)+32768>>16;l=(c[74812+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=zb+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=r(O,m)|0;c[zb+2304+(P<<2)>>2]=r(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[w+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[zb+2304+(O<<2)>>2]=c[zb+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[74692+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[zb+2304+(O<<2)>>2]=r((c[zb+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;M=zb+(O<<2)|0;N=c[M>>2]|0;c[M>>2]=r(N+2048>>12,m)|0;c[zb+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){P=a[w+n>>0]|0;k=P&255;if(P<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;M=zb+(P<<2)|0;P=zb+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[M>>2]|0)+2048|0;c[M>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){A=$a*18|0;z=0;do{y=h+48+(z*4608|0)+(A<<7)|0;x=i+10+($a*116|0)+(z*58|0)+9|0;w=zb+(z*2304|0)|0;if((a[x>>0]|0)==2){k=c[nb+(z<<2)>>2]|0;u=(a[i+10+($a*116|0)+(z*58|0)+8>>0]&8)==0;if(u)t=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){t=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=t;c[T>>2]=t;c[U>>2]=t;s=t*18|0;m=d[k>>0]|0;q=s;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[zb+(z*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[pb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}vl(zb+(z*2304|0)+(s<<2)|0,pb+(t*72|0)|0,(r(t,-72)|0)+2304|0)|0;if(!u)Ni(w,36)}else Ni(w,576);k=a[x>>0]|0;l=a[i+10+($a*116|0)+(z*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Qi(w,lb);Pi(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);Qi(zb+(z*2304|0)+72|0,lb);Pi(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}else{Q=l<<24>>24==0?k&255:0;Oi(w,lb,Q);Pi(lb,(c[cb>>2]|0)+(z*2304|0)|0,y,0);Oi(zb+(z*2304|0)+72|0,lb,Q);Pi(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,y,1)}l=y+132|0;P=y+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=y+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=y+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=y+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(z*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}u=32-(((576-k|0)>>>0)/18|0)|0;k=a[x>>0]|0;l=u>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Qi(zb+(z*2304|0)+(k<<2)|0,lb);Pi(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Oi(zb+(z*2304|0)+(m<<2)|0,lb,k&255);Pi(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,y,l);if(l&1|0){Q=y+128+(l<<2)|0;O=y+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=y+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=y+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=y+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=u>>>0){Q=311;break j}k=a[x>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,u>>>0<32):0)Q=312;if((Q|0)==312){Q=0;w=c[cb>>2]|0;do{P=w+(z*2304|0)+(u*72|0)|0;c[h+48+(z*4608|0)+(A<<7)+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+4|0;k=y+128+(u<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+8|0;c[y+256+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+12|0;p=y+384+(u<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+16|0;c[y+512+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+20|0;q=y+640+(u<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+24|0;c[y+768+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+28|0;s=y+896+(u<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+32|0;c[y+1024+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+36|0;t=y+1152+(u<<2)|0;c[t>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+40|0;c[y+1280+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+44|0;l=y+1408+(u<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+48|0;c[y+1536+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+52|0;m=y+1664+(u<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+56|0;c[y+1792+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+60|0;n=y+1920+(u<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+64|0;c[y+2048+(u<<2)>>2]=c[P>>2];c[P>>2]=0;P=w+(z*2304|0)+(u*72|0)+68|0;o=y+2176+(u<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(u&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[s>>2]|0;c[q>>2]=0-P;P=c[t>>2]|0;c[s>>2]=0-O;O=c[l>>2]|0;c[t>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}u=u+1|0}while(u>>>0<32)}z=z+1|0}while((z|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;Q=318;break}}if((Q|0)==165)mb=567;else if((Q|0)==202)J(84306,84138,1253,84348);else if((Q|0)==276){zb=569;Sb=Ab;return zb|0}else if((Q|0)==318){Sb=Ab;return k|0}zb=mb;Sb=Ab;return zb|0}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(r(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(r(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(r(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(r(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(r(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(r(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(r(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(r(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(r(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(r(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(r(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(r(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(r(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(r(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);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,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;u=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=u+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=r(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=r(S+U>>12,-2802)|0;Y=r(2048-_+Y>>12,-7094)|0;_=r(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=r($-aa>>12,-1423)|0;a=r($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;u=(O+2048-u>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=u+f|0;u=f-u|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=u+2048|0;V=r(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=r(W+ca>>12,-2802)|0;N=r(2048-P+N>>12,-7094)|0;P=r(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=r(Q-M>>12,-1423)|0;m=r(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(r(A-u+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(r(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;u=b+40|0;c[u>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;s=b+88|0;c[s>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;t=b+100|0;c[t>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[s>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[t>>2]=((c[t>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[u>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[t>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[u>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[s>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[t>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Pi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Sb;Sb=Sb+144|0;e=d;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(r(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=r(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(r(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(r(n,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=r(l,-1567)|0;k=k*3784|0;i=l+(r(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(r(n,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=r(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(r(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=r(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(r(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(r(m,-3250)|0)+(h*4061|0)+(j*535|0)+(r(k,-3784)|0)+(r(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(r(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=r(f,-1567)|0;k=k*3784|0;n=f+(r(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(r(j,-3250)|0)+k+(r(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(r(m,-4061)|0)+(r(h,-3250)|0)+(r(j,-2493)|0)+l+(r(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=r(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(r(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=r(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(r(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(r(i,-3250)|0)+(h*4061|0)+(g*535|0)+(r(k,-3784)|0)+(r(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(r(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=r(l,-1567)|0;k=k*3784|0;m=l+(r(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(r(g,-3250)|0)+k+(r(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(r(i,-4061)|0)+(r(h,-3250)|0)+(r(g,-2493)|0)+f+(r(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;Sb=d;return}function Ri(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=zi(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}xi(h,e);h=0;return h|0}function Si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Sb;Sb=Sb+16|0;f=j;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;Ai(i,11);if(!(Bi(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(Bi(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;Sb=j;return k|0}}else c[g>>2]=e|4096;k=Bi(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;Sb=j;return k|0}if(!(Bi(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=Ci(f,16,-1)|0}e=Bi(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;Sb=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[74840+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=Bi(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;Sb=j;return k|0}e=c[75140+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(Bi(i,1)|0)c[g>>2]=c[g>>2]|128;if(Bi(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(Bi(i,2)|0);c[a+8>>2]=Bi(i,2)|0;if(Bi(i,1)|0)c[g>>2]=c[g>>2]|32;if(Bi(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=Bi(i,2)|0;if(!(c[g>>2]&16)){k=0;Sb=j;return k|0}b[a+26>>1]=Bi(i,16)|0;k=0;Sb=j;return k|0}function Ti(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(r(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)J(85029,85040,144,85048);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((r(g-(r(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(r(h,d)|0)|0;break}else{d=((r(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((r(d-(r(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(r(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(r(h,3528e5)|0);return}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=Sb;Sb=Sb+112|0;j=u+48|0;i=u;s=a+28|0;q=s;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Ri(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Si(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=zi(s)|0;g=(c[b>>2]|0)==1;g=((r(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){t=8;break}}Ai(s,8)}while((Ri(a)|0)==0);t=s;c[t>>2]=p;c[t+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;t=0;Sb=u;return t|0}}else{t=s;c[t>>2]=p;c[t+4>>2]=q}c[a+60>>2]=257;t=-1;Sb=u;return t|0}function Vi(a){a=a|0;var b=0;xl(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);xl(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function Wi(a){a=a|0;var b=0;xl(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;xl(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function Xi(){Yi(0);return}function Yi(a){a=a|0;ha(38776,85063);Y(38792,85068,1,1,0);da(38800,85073,1,-128,127);da(38816,85078,1,-128,127);da(38808,85090,1,0,255);da(38824,85104,2,-32768,32767);da(38832,85110,2,0,65535);da(38840,85125,4,-2147483648,2147483647);da(38848,85129,4,0,-1);da(38856,85142,4,-2147483648,2147483647);da(38864,85147,4,0,-1);ca(38872,85161,4);ca(38880,85167,8);fa(37848,85174);fa(38056,85186);ga(38080,4,85219);ba(37872,85232);ea(38104,0,85248);ea(38112,0,85278);ea(38120,1,85315);ea(38128,2,85354);ea(38136,3,85385);ea(38144,4,85425);ea(38152,5,85454);ea(38160,4,85492);ea(38168,5,85522);ea(38112,0,85561);ea(38120,1,85593);ea(38128,2,85626);ea(38136,3,85659);ea(38144,4,85693);ea(38152,5,85726);ea(38176,6,85760);ea(38184,7,85791);ea(38192,7,85823);return}function Zi(a){a=a|0;return Kj(c[a+4>>2]|0)|0}function _i(a){a=a|0;var b=0,d=0;b=Sb;Sb=Sb+16|0;d=b;c[d>>2]=dj(c[a+60>>2]|0)|0;a=bj(W(6,d|0)|0)|0;Sb=b;return a|0}function $i(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=Sb;Sb=Sb+48|0;k=m+32|0;g=m+16|0;f=m;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=bj(U(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=bj(U(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}Sb=m;return d|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;g=Sb;Sb=Sb+32|0;h=g+8|0;f=g;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((bj(T(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}u(a|0);Sb=g;return b|0}function bj(a){a=a|0;if(a>>>0>4294963200){c[(cj()|0)>>2]=0-a;a=-1}return a|0}function cj(){return 88324}function dj(a){a=a|0;return a|0}function ej(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=Sb;Sb=Sb+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,V(54,f|0)|0):0)a[b+75>>0]=-1;f=$i(b,d,e)|0;Sb=g;return f|0}function fj(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 gj(a){a=a|0;return (a+-48|0)>>>0<10|0}function hj(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=Sb;Sb=Sb+160|0;g=j+144|0;i=j;vl(i|0,38488,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(cj()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=ij(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}Sb=j;return d|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c,1,23)|0}function jj(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+560|0;l=H+32|0;w=H+536|0;G=H;F=G;m=H+540|0;c[w>>2]=0;E=m+12|0;Dj(e)|0;j=v()|0;if((j|0)<0){e=-e;Dj(e)|0;D=1;C=86375;j=v()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?86376:86381):86378}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;wj(b,32,f,j,h&-65537);pj(b,C,D);pj(b,e!=e|0.0!=0.0?(G?86402:86406):G?86394:86398,3);wj(b,32,f,j,h^8192)}else{q=+Ej(e,w)*2.0;j=q!=0.0;if(j)c[w>>2]=(c[w>>2]|0)+-1;u=i|32;if((u|0)==97){o=i&32;s=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[w>>2]|0;j=(k|0)<0?0-k|0:k;j=uj(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[37824+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;wj(b,32,f,E,h);pj(b,s,p);wj(b,48,f,E,h^65536);F=m-F|0;pj(b,G,F);G=k-l|0;wj(b,48,j-(F+G)|0,0,0);pj(b,n,G);wj(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[w>>2]|0)+-28|0;c[w>>2]=j;e=q*268435456.0}else{e=q;j=c[w>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{t=tl(c[j>>2]|0,0,n|0)|0;t=nl(t|0,v()|0,m|0,0)|0;x=v()|0;m=rl(t|0,x|0,1e9,0)|0;y=ml(m|0,v()|0,1e9,0)|0;y=ol(t|0,x|0,y|0,v()|0)|0;v()|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=o>>>0);if(m){y=o+-4|0;c[y>>2]=m;m=y}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[w>>2]|0)-n|0;c[w>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(m>>>0<l>>>0){n=(1<<s)+-1|0;o=1e9>>>s;p=0;j=m;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+p;p=r(y&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=t?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[w>>2]|0)+s|0;c[w>>2]=j}while((j|0)<0);t=m}else t=m;if(t>>>0<l>>>0){j=(z-t>>2)*9|0;n=c[t>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;x=(u|0)==103;y=(k|0)!=0;m=k-((u|0)==102?0:j)+((y&x)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){w=m+9216|0;m=(w|0)/9|0;g=B+4+(m+-1024<<2)|0;m=w-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;s=p-(r(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(s|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;w=n>>>1;e=s>>>0<w>>>0?.5:o&(s|0)==(w|0)?1.0:1.5;if(D){w=(a[C>>0]|0)==45;e=w?-e:e;q=w?-q:q}m=p-s|0;c[g>>2]=m;if(q+e!=q){w=m+n|0;c[g>>2]=w;if(w>>>0>999999999){n=g;j=t;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}w=(c[m>>2]|0)+1|0;c[m>>2]=w;if(w>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=t}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=t}}else{m=g;n=t}w=m+4|0;l=l>>>0>w>>>0?w:l}else n=t;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){w=l;u=1;break b}if(m>>>0>n>>>0)l=m;else{w=m;u=0;break}}else{w=l;u=0}while(0);do if(x){k=k+((y^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((w-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);t=(k|0)!=0;p=t?1:h>>>3&1;s=(o|32|0)==102;if(s){x=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=uj(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;x=j;j=m-j|0}j=D+1+k+p+j|0;wj(b,32,f,j,h);pj(b,C,D);wj(b,48,f,j,h^65536);if(s){p=n>>>0>B>>>0?B:n;s=G+9|0;n=s;o=G+8|0;m=p;do{l=uj(c[m>>2]|0,0,s)|0;if((m|0)==(p|0)){if((l|0)==(s|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){xl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}pj(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))pj(b,86410,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=uj(c[m>>2]|0,0,s)|0;if(l>>>0>G>>>0){xl(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}pj(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}wj(b,48,k+9|0,9,0)}else{w=u?w:n+4|0;if(n>>>0<w>>>0&(k|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;p=0-F|0;s=G+8|0;o=n;do{l=uj(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[s>>0]=48;l=s}do if((o|0)==(n|0)){m=l+1|0;pj(b,l,1);if(t&(k|0)<1){l=m;break}pj(b,86410,1);l=m}else{if(l>>>0<=G>>>0)break;xl(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=u-l|0;pj(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<w>>>0&(k|0)>-1)}wj(b,48,k+18|0,18,0);pj(b,x,E-x|0)}wj(b,32,f,j,h^8192)}while(0);Sb=H;return ((j|0)<(f|0)?f:j)|0}function kj(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function lj(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=Sb;Sb=Sb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((mj(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=nj(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=mj(b,d,p,r,q,f,g)|0;if(j){Yb[c[b+36>>2]&15](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=mj(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)oj(b);e=(h&32|0)==0?e:-1}Sb=t;return e|0}function mj(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=Sb;Sb=Sb+64|0;G=J+56|0;I=J+40|0;B=J;D=J+48|0;E=J+60|0;c[G>>2]=e;y=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(cj()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){x=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{x=10;break b}case 0:{l=m;break b}default:{}}w=m+1|0;c[G>>2]=w;l=a[w>>0]|0;m=w}c:do if((x|0)==10){x=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(y)pj(d,r,l)}while((l|0)!=0);w=(gj(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!w?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((gj(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(y){w=(c[f>>2]|0)+(4-1)&~(4-1);l=c[w>>2]|0;c[f>>2]=w+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;w=(l|0)<0;u=w?0-l|0:l;o=w?o|8192:o;w=n}else{l=qj(G)|0;if((l|0)<0){e=-1;break}u=l;w=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=qj(G)|0;m=c[G>>2]|0;break}if(gj(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(w|0){e=-1;break a}if(y){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(37360+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else x=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;x=I;c[x>>2]=c[q>>2];c[x+4>>2]=t;x=54;break}if(!y){e=0;break a}rj(I,p,f,k);m=c[G>>2]|0;x=55}while(0);if((x|0)==54){x=0;if(y)x=55;else l=0}d:do if((x|0)==55){x=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;x=67;break}case 88:case 120:{n=t;x=67;break}case 111:{q=I;q=tj(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=86358;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;x=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=ol(0,0,m|0,n|0)|0;n=v()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=86358;x=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?86358:86360):86359;x=72;break e}}case 117:{n=I;o=0;p=86358;m=c[n>>2]|0;n=c[n+4>>2]|0;x=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=86358;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?86368:s;t=vj(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=86358;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;x=79;break}case 83:{if(!l){wj(d,32,u,0,t);l=0;x=89}else{p=l;x=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Wb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=86358;q=l;m=t;l=A}}while(0);f:do if((x|0)==67){q=I;q=sj(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?86358:86358+(m>>>4)|0;x=73}else if((x|0)==72){q=uj(m,n,z)|0;n=t;x=73}else if((x|0)==79){x=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=xj(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){x=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((x|0)==83){x=0;if(n){e=-1;break a}}wj(d,32,u,l,t);if(!l){l=0;x=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){x=89;break f}m=xj(E,m)|0;o=m+o|0;if((o|0)>(l|0)){x=89;break f}pj(d,E,m);if(o>>>0>=l>>>0){x=89;break}else n=n+4|0}}}while(0);if((x|0)==73){x=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((x|0)==89){x=0;wj(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;wj(d,32,l,K,m);pj(d,p,o);wj(d,48,l,K,m^65536);wj(d,48,s,t,0);pj(d,r,t);wj(d,32,l,K,m^8192)}while(0);n=w}g:do if((x|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;rj(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);Sb=J;return e|0}function nj(a){a=a|0;return 1}function oj(a){a=a|0;return}function pj(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Bj(b,d,a)|0;return}function qj(b){b=b|0;var d=0,e=0;if(!(gj(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((gj(a[e>>0]|0)|0)!=0)}return d|0}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{ac[e&31](a,d);break a}default:break a}while(0);while(0);return}function sj(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[37824+(b&15)>>0]|0|f;b=sl(b|0,c|0,4)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return e|0}function tj(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=sl(b|0,c|0,3)|0;c=v()|0}while(!((b|0)==0&(c|0)==0));return d|0}function uj(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=rl(b|0,c|0,10,0)|0;f=c;c=v()|0;g=ml(b|0,c|0,10,0)|0;g=ol(e|0,f|0,g|0,v()|0)|0;v()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=r(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function wj(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=Sb;Sb=Sb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;xl(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{pj(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}pj(a,f,e)}Sb=g;return}function xj(a,b){a=a|0;b=b|0;if(!a)a=0;else a=yj(a,b,0)|0;return a|0}function yj(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(zj()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(cj()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(cj()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function zj(){return Aj()|0}function Aj(){return 75160}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Cj(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=Yb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Yb[c[e+36>>2]&15](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);vl(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Cj(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Dj(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;u(c[h+4>>2]|0);return b|0}function Ej(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=sl(d|0,e|0,52)|0;v()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Ej(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 Fj(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;vl(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Gj(a,b){a=a|0;b=b|0;var c=0;c=vj(a,0,b)|0;return ((c|0)==0?b:c-a|0)|0}function Hj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Sb;Sb=Sb+16|0;g=f;c[g>>2]=e;e=hj(a,b,d,g)|0;Sb=f;return e|0}function Jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Cj(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Yb[c[b+36>>2]&15](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);Sb=l;return f|0}function Kj(a){a=a|0;var b=0,c=0;b=(Hj(a)|0)+1|0;c=Oj(b)|0;if(!c)a=0;else a=vl(c|0,a|0,b|0)|0;return a|0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d;d=ij(a,b,f)|0;Sb=e;return d|0}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(nj(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Jj(d,b)|0;oj(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Jj(d,b)|0}while(0);return e|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=b;b=ij(c[18789]|0,a,e)|0;Sb=d;return b|0}function Oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,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=Sb;Sb=Sb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[22082]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=88368+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[22082]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;Sb=w;return v|0}l=c[22084]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=88368+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[22082]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[22087]|0;b=l>>>3;d=88368+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[22082]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[22084]=h;c[22087]=f;v=i;Sb=w;return v|0}g=c[22083]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[88632+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=88632+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[22083]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[22087]|0;b=l>>>3;d=88368+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[22082]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[22084]=j;c[22087]=h}v=i+8|0;Sb=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[22083]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[88632+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[88632+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[22084]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=88632+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[22083]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=88368+(b<<1<<2)|0;a=c[22082]|0;b=1<<b;if(!(a&b)){c[22082]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=88632+(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[22083]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;Sb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[22084]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[22087]|0;if(b>>>0>15){v=a+m|0;c[22087]=v;c[22084]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[22084]=0;c[22087]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;Sb=w;return v|0}h=c[22085]|0;if(h>>>0>m>>>0){t=h-m|0;c[22085]=t;v=c[22088]|0;u=v+m|0;c[22088]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}if(!(c[22200]|0)){c[22202]=4096;c[22201]=4096;c[22203]=-1;c[22204]=-1;c[22205]=0;c[22193]=0;c[22200]=n&-16^1431655768;a=4096}else a=c[22202]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;Sb=w;return v|0}a=c[22192]|0;if(a|0?(l=c[22190]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;Sb=w;return v|0}d:do if(!(c[22193]&4)){d=c[22088]|0;e:do if(d){e=88776;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=yl(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=yl(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[22201]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[22190]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[22192]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=yl(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[22202]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((yl(a|0)|0)==(-1|0)){yl(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[22193]=c[22193]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=yl(k|0)|0,p=yl(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[22190]|0)+h|0;c[22190]=b;if(b>>>0>(c[22191]|0)>>>0)c[22191]=b;j=c[22088]|0;f:do if(j){b=88776;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[22085]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[22088]=u;c[22085]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[22089]=c[22204];break}if(g>>>0<(c[22086]|0)>>>0)c[22086]=g;d=g+h|0;b=88776;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[22085]|0)+i|0;c[22085]=v;c[22088]=k;c[k+4>>2]=v|1}else{if((c[22087]|0)==(b|0)){v=(c[22084]|0)+i|0;c[22084]=v;c[22087]=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[22082]=c[22082]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=88632+(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[22083]=c[22083]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=88368+(b<<1<<2)|0;a=c[22082]|0;b=1<<b;if(!(a&b)){c[22082]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=88632+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[22083]|0;d=1<<e;if(!(a&d)){c[22083]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;Sb=w;return v|0}b=88776;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[22088]=u;c[22085]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[22089]=c[22204];d=a+4|0;c[d>>2]=27;c[b>>2]=c[22194];c[b+4>>2]=c[22195];c[b+8>>2]=c[22196];c[b+12>>2]=c[22197];c[22194]=g;c[22195]=h;c[22197]=0;c[22196]=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=88368+(b<<1<<2)|0;a=c[22082]|0;b=1<<b;if(!(a&b)){c[22082]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=88632+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[22083]|0;a=1<<e;if(!(b&a)){c[22083]=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[22086]|0;if((v|0)==0|g>>>0<v>>>0)c[22086]=g;c[22194]=g;c[22195]=h;c[22197]=0;c[22091]=c[22200];c[22090]=-1;c[22095]=88368;c[22094]=88368;c[22097]=88376;c[22096]=88376;c[22099]=88384;c[22098]=88384;c[22101]=88392;c[22100]=88392;c[22103]=88400;c[22102]=88400;c[22105]=88408;c[22104]=88408;c[22107]=88416;c[22106]=88416;c[22109]=88424;c[22108]=88424;c[22111]=88432;c[22110]=88432;c[22113]=88440;c[22112]=88440;c[22115]=88448;c[22114]=88448;c[22117]=88456;c[22116]=88456;c[22119]=88464;c[22118]=88464;c[22121]=88472;c[22120]=88472;c[22123]=88480;c[22122]=88480;c[22125]=88488;c[22124]=88488;c[22127]=88496;c[22126]=88496;c[22129]=88504;c[22128]=88504;c[22131]=88512;c[22130]=88512;c[22133]=88520;c[22132]=88520;c[22135]=88528;c[22134]=88528;c[22137]=88536;c[22136]=88536;c[22139]=88544;c[22138]=88544;c[22141]=88552;c[22140]=88552;c[22143]=88560;c[22142]=88560;c[22145]=88568;c[22144]=88568;c[22147]=88576;c[22146]=88576;c[22149]=88584;c[22148]=88584;c[22151]=88592;c[22150]=88592;c[22153]=88600;c[22152]=88600;c[22155]=88608;c[22154]=88608;c[22157]=88616;c[22156]=88616;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[22088]=u;c[22085]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[22089]=c[22204]}while(0);b=c[22085]|0;if(b>>>0>m>>>0){t=b-m|0;c[22085]=t;v=c[22088]|0;u=v+m|0;c[22088]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;Sb=w;return v|0}}c[(cj()|0)>>2]=12;v=0;Sb=w;return v|0}function Pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[22086]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[22087]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[22084]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[22082]=c[22082]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=88632+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[22083]=c[22083]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[22088]|0)==(j|0)){j=(c[22085]|0)+b|0;c[22085]=j;c[22088]=i;c[i+4>>2]=j|1;if((i|0)!=(c[22087]|0))return;c[22087]=0;c[22084]=0;return}if((c[22087]|0)==(j|0)){j=(c[22084]|0)+b|0;c[22084]=j;c[22087]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[22082]=c[22082]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=88632+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[22083]=c[22083]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[22087]|0)){c[22084]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=88368+(a<<1<<2)|0;b=c[22082]|0;a=1<<a;if(!(b&a)){c[22082]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=88632+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[22083]|0;d=1<<e;a:do if(!(b&d)){c[22083]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[22090]|0)+-1|0;c[22090]=j;if(j|0)return;a=88784;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[22090]=-1;return}function Qj(a,b){a=a|0;b=b|0;var d=0;if(a){d=r(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=Oj(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;xl(a|0,0,d|0)|0;return a|0}function Rj(a,b){a=a|0;b=b|0;return 0}function Sj(a){a=a|0;return 0}function Tj(a){a=a|0;return 0}function Uj(a){a=a|0;return 0}function Vj(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Oj(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Wj(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Xj(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Yj(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;_b[b&3]();c[a>>2]=324508639;return 0}function Zj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Oj(b)|0;if(a|0)break;a=il()|0;if(!a){a=0;break}_b[a&3]()}return a|0}function _j(a){a=a|0;Pj(a);return}function $j(a,b){a=a|0;b=b|0;var d=0,e=0;e=Hj(b)|0;d=Zj(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=ak(d)|0;vl(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function ak(a){a=a|0;return a+12|0}function bk(a,b){a=a|0;b=b|0;c[a>>2]=75496;$j(a+4|0,b);return}function ck(a){a=a|0;return 1}function dk(a){a=a|0;Ea()}function ek(a){a=a|0;Ea()}function fk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)vl(a|0,b|0,c|0)|0;return a|0}function gk(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function hk(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)xl(a|0,(ik(c)|0)&255|0,b|0)|0;return a|0}function ik(a){a=a|0;return a&255|0}function jk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;gk(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;gk(b+d|0,g);a[h>>0]=d;break}else kk(b,d-f|0,e)|0;while(0);Sb=j;return}function kk(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=Sb;Sb=Sb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){lk(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;hk(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;gk(g+f|0,i)}Sb=k;return b|0}function lk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)dk(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=Zj(j)|0;if(g|0)fk(k,l,g)|0;e=f-h-g|0;if(e|0)fk(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)_j(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function mk(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)ek(b);if(f)b=c[b>>2]|0;return b+d|0}function nk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=ok()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=86548;pk(86498,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(Yb[c[(c[9658]|0)+16>>2]&15](38632,e,f)|0){i=c[f>>2]|0;i=Vb[c[(c[i>>2]|0)+8>>2]&7](i)|0;c[g>>2]=86548;c[g+4>>2]=a;c[g+8>>2]=i;pk(86412,g)}else{c[i>>2]=86548;c[i+4>>2]=a;pk(86457,i)}}pk(86536,h)}function ok(){var a=0,b=0;a=Sb;Sb=Sb+16|0;if(!(Yj(88824,3)|0)){b=Wj(c[22207]|0)|0;Sb=a;return b|0}else pk(86687,a);return 0}function pk(a,b){a=a|0;b=b|0;var d=0;d=Sb;Sb=Sb+16|0;c[d>>2]=b;b=c[18788]|0;ij(b,a,d)|0;Mj(10,b)|0;Ea()}function qk(a){a=a|0;return}function rk(a){a=a|0;qk(a);_j(a);return}function sk(a){a=a|0;return}function tk(a){a=a|0;return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Sb;Sb=Sb+64|0;f=h;if(!(yk(a,b,0)|0))if((b|0)!=0?(g=Ck(b,38656,38640,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;cc[c[(c[g>>2]|0)+28>>2]&15](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;Sb=h;return b|0}function vk(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(yk(a,c[b+8>>2]|0,g)|0)Bk(0,b,d,e,f);return}function wk(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(!(yk(b,c[d+8>>2]|0,g)|0)){if(yk(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else Ak(0,d,e,f);while(0);return}function xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(yk(a,c[b+8>>2]|0,0)|0)zk(0,b,d,e);return}function yk(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function zk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Ak(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function Bk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Ck(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Sb;Sb=Sb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(yk(m,f,0)|0){c[n+48>>2]=1;ec[c[(c[m>>2]|0)+20>>2]&31](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{dc[c[(c[m>>2]|0)+24>>2]&7](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);Sb=p;return d|0}function Dk(a){a=a|0;qk(a);_j(a);return}function Ek(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(yk(a,c[b+8>>2]|0,g)|0)Bk(0,b,d,e,f);else{a=c[a+8>>2]|0;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function Fk(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(!(yk(b,c[d+8>>2]|0,g)|0)){if(!(yk(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;dc[c[(c[i>>2]|0)+24>>2]&7](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;f=d+52|0;a[f>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;ec[c[(c[b>>2]|0)+20>>2]&31](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 Ak(0,d,e,f);while(0);return}function Gk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(yk(a,c[b+8>>2]|0,0)|0)zk(0,b,d,e);else{a=c[a+8>>2]|0;cc[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Hk(a){a=a|0;return}function Ik(){var a=0;a=Sb;Sb=Sb+16|0;if(!(Vj(88828,31)|0)){Sb=a;return}else pk(86736,a)}function Jk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;Pj(a);if(!(Xj(c[22207]|0,0)|0)){Sb=b;return}else pk(86786,b)}function Kk(){var a=0,b=0;a=ok()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)Lk(c[b+12>>2]|0);Lk(Mk()|0)}function Lk(a){a=a|0;var b=0;b=Sb;Sb=Sb+16|0;_b[a&3]();pk(86839,b)}function Mk(){var a=0;a=c[18851]|0;c[18851]=a+0;return a|0}function Nk(a){a=a|0;return}function Ok(a){a=a|0;c[a>>2]=75496;Sk(a+4|0);return}function Pk(a){a=a|0;Ok(a);_j(a);return}function Qk(a){a=a|0;return Rk(a+4|0)|0}function Rk(a){a=a|0;return c[a>>2]|0}function Sk(a){a=a|0;var b=0,d=0;if(ck(a)|0?(b=Tk(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)_j(b);return}function Tk(a){a=a|0;return a+-12|0}function Uk(a){a=a|0;Ok(a);_j(a);return}function Vk(a){a=a|0;qk(a);_j(a);return}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;return yk(a,b,0)|0}function Xk(a){a=a|0;qk(a);_j(a);return}function Yk(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=Sb;Sb=Sb+64|0;h=j;c[d>>2]=c[c[d>>2]>>2];if(!(Zk(a,b,0)|0))if(((b|0)!=0?(e=Ck(b,38656,38744,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(yk(c[a>>2]|0,c[b>>2]|0,0)|0)?!(yk(c[a>>2]|0,38776,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=Ck(a,38656,38640,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=Ck(f,38656,38640,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;cc[c[(c[i>>2]|0)+28>>2]&15](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;Sb=j;return a|0}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;if(yk(a,b,0)|0)a=1;else a=yk(b,38784,0)|0;return a|0}function _k(a){a=a|0;qk(a);_j(a);return}function $k(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(yk(b,c[d+8>>2]|0,h)|0)Bk(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;dl(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;dl(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function al(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(!(yk(b,c[d+8>>2]|0,g)|0)){if(!(yk(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;el(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;el(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;el(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;el(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;dl(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else Ak(0,d,e,f);while(0);return}function bl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(yk(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;cl(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{cl(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else zk(0,d,e,f);while(0);return}function cl(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;cc[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)==0?2:e);return}function dl(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;ec[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function el(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;dc[c[(c[a>>2]|0)+24>>2]&7](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function fl(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function gl(a){a=a|0;return}function hl(a){a=a|0;return}function il(){var a=0;a=c[22208]|0;c[22208]=a+0;return a|0}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[e>>2]=c[d>>2];a=Yb[c[(c[a>>2]|0)+16>>2]&15](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Sb=f;return a&1|0}function kl(a){a=a|0;if(!a)a=0;else a=(Ck(a,38656,38744,0)|0)!=0&1;return a|0}function ll(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=r(e,f)|0;d=a>>>16;a=(c>>>16)+(r(e,d)|0)|0;e=b>>>16;b=r(e,f)|0;return (u((a>>>16)+(r(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0} |
| | | function jf(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=Sb;Sb=Sb+272|0;l=m;k=c<<2;i=d[25424+f>>0]|0;h=1<<(pl(c|0)|0)+-2;if(!(((c|0)==0?0:h)&i)){if((b|0)==(e|0)){Sb=m;return}g=k|1;if((g|0)<=0){Sb=m;return}f=0;do{a[e+f>>0]=a[b+f>>0]|0;f=f+1|0}while((f|0)!=(g|0));Sb=m;return}if((c|0)==32&(g|0)==1){g=a[b+64>>0]|0;h=g&255;p=a[b+k>>0]|0;i=p&255;o=i+h-((d[b+96>>0]|0)<<1)|0;f=a[b>>0]|0;c=f&255;n=c+h-((d[b+32>>0]|0)<<1)|0;a[l>>0]=f;a[l+k>>0]=p;if((((o|0)>0?o:0-o|0)|0)<8&(((n|0)>0?n:0-n|0)|0)<8){a[l+64>>0]=g;f=1;do{a[l+f>>0]=((r(f,h)|0)+32+(r(64-f|0,c)|0)|0)>>>6;f=f+1|0}while(f>>>0<64);f=1;do{a[l+(f+64)>>0]=((r(f,i)|0)+32+(r(64-f|0,h)|0)|0)>>>6;f=f+1|0}while(f>>>0<64)}else{i=127;j=13}}else{f=a[b>>0]|0;a[l>>0]=f;a[l+k>>0]=a[b+k>>0]|0;if((c|0)>0){i=k+-1|0;j=13}}if((j|0)==13){h=0;g=a[b+1>>0]|0;while(1){c=a[b+(h+2)>>0]|0;h=h+1|0;a[l+h>>0]=((f&255)+2+((g&255)<<1)+(c&255)|0)>>>2;if((h|0)>=(i|0))break;else{f=g;g=c}}}f=k|1;if((f|0)<=0){Sb=m;return}vl(e|0,l|0,f|0)|0;Sb=m;return}function kf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;q=g+-4|0;switch(q>>>2|q<<30|0){case 0:{n=3;break}case 3:{n=5;break}case 1:{n=4;break}default:n=6}c=g<<1;if((g|0)<=0)return;o=g+-1|0;p=c+-1|0;q=b+((g*3|0)+1)|0;i=c|1;j=b+o|0;h=0;do{k=b+(p-h)|0;l=o-h|0;m=r(h,f)|0;h=h+1|0;c=0;do{v=r(o-c|0,d[k>>0]|0)|0;s=c;c=c+1|0;u=r(c,d[q>>0]|0)|0;t=r(l,d[b+(s+i)>>0]|0)|0;a[e+(s+m)>>0]=v+g+u+t+(r(h,d[j>>0]|0)|0)>>n}while((c|0)!=(g|0))}while((h|0)!=(g|0));return}function lf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=g+-4|0;switch(m>>>2|m<<30|0){case 0:{j=3;break}case 3:{j=5;break}case 1:{j=4;break}default:j=6}k=g<<1;i=g*3|0;if((k|0)>(g|0)){c=0;h=g;do{c=c+(d[b+h>>0]|0)|0;h=h+1|0}while((h|0)!=(k|0))}else c=0;m=k|1;if((m|0)<=(i|0)){h=m;while(1){c=c+(d[b+h>>0]|0)|0;if((h|0)<(i|0))h=h+1|0;else break}}l=c+g>>j;i=l*3|0;if((g|0)==32){g=l&255;xl(e|0,g|0,32)|0;xl(e+f|0,g|0,32)|0;xl(e+(f<<1)|0,g|0,32)|0;xl(e+(f*3|0)|0,g|0,32)|0;xl(e+(f<<2)|0,g|0,32)|0;xl(e+(f*5|0)|0,g|0,32)|0;xl(e+(f*6|0)|0,g|0,32)|0;xl(e+(f*7|0)|0,g|0,32)|0;xl(e+(f<<3)|0,g|0,32)|0;xl(e+(f*9|0)|0,g|0,32)|0;xl(e+(f*10|0)|0,g|0,32)|0;xl(e+(f*11|0)|0,g|0,32)|0;xl(e+(f*12|0)|0,g|0,32)|0;xl(e+(f*13|0)|0,g|0,32)|0;xl(e+(f*14|0)|0,g|0,32)|0;xl(e+(f*15|0)|0,g|0,32)|0;xl(e+(f<<4)|0,g|0,32)|0;xl(e+(f*17|0)|0,g|0,32)|0;xl(e+(f*18|0)|0,g|0,32)|0;xl(e+(f*19|0)|0,g|0,32)|0;xl(e+(f*20|0)|0,g|0,32)|0;xl(e+(f*21|0)|0,g|0,32)|0;xl(e+(f*22|0)|0,g|0,32)|0;xl(e+(f*23|0)|0,g|0,32)|0;xl(e+(f*24|0)|0,g|0,32)|0;xl(e+(f*25|0)|0,g|0,32)|0;xl(e+(f*26|0)|0,g|0,32)|0;xl(e+(f*27|0)|0,g|0,32)|0;xl(e+(f*28|0)|0,g|0,32)|0;xl(e+(f*29|0)|0,g|0,32)|0;xl(e+(f*30|0)|0,g|0,32)|0;xl(e+(f*31|0)|0,g|0,32)|0;return}j=k+-1|0;a[e>>0]=((l<<1)+2+(d[b+j>>0]|0)+(d[b+m>>0]|0)|0)>>>2;k=(g|0)>1;if(!k)return;h=i+2|0;c=1;do{a[e+c>>0]=(h+(d[b+(c+m)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;h=i+2|0;c=1;do{a[e+(r(c,f)|0)>>0]=(h+(d[b+(j-c)>>0]|0)|0)>>>2;c=c+1|0}while((c|0)!=(g|0));if(!k)return;i=l&255;j=f+1|0;c=g+-1|0;h=0;do{xl(e+(j+(r(h,f)|0))|0,i|0,c|0)|0;h=h+1|0}while((h|0)!=(c|0));return}function mf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=g<<1;if((g|0)==32){h=k+-1|0;c=0;do{k=b+(h-c)|0;g=r(c,f)|0;a[e+g>>0]=a[k>>0]|0;a[e+(g+1)>>0]=a[k>>0]|0;a[e+(g+2)>>0]=a[k>>0]|0;a[e+(g+3)>>0]=a[k>>0]|0;a[e+(g+4)>>0]=a[k>>0]|0;a[e+(g+5)>>0]=a[k>>0]|0;a[e+(g+6)>>0]=a[k>>0]|0;a[e+(g+7)>>0]=a[k>>0]|0;a[e+(g+8)>>0]=a[k>>0]|0;a[e+(g+9)>>0]=a[k>>0]|0;a[e+(g+10)>>0]=a[k>>0]|0;a[e+(g+11)>>0]=a[k>>0]|0;a[e+(g+12)>>0]=a[k>>0]|0;a[e+(g+13)>>0]=a[k>>0]|0;a[e+(g+14)>>0]=a[k>>0]|0;a[e+(g+15)>>0]=a[k>>0]|0;a[e+(g+16)>>0]=a[k>>0]|0;a[e+(g+17)>>0]=a[k>>0]|0;a[e+(g+18)>>0]=a[k>>0]|0;a[e+(g+19)>>0]=a[k>>0]|0;a[e+(g+20)>>0]=a[k>>0]|0;a[e+(g+21)>>0]=a[k>>0]|0;a[e+(g+22)>>0]=a[k>>0]|0;a[e+(g+23)>>0]=a[k>>0]|0;a[e+(g+24)>>0]=a[k>>0]|0;a[e+(g+25)>>0]=a[k>>0]|0;a[e+(g+26)>>0]=a[k>>0]|0;a[e+(g+27)>>0]=a[k>>0]|0;a[e+(g+28)>>0]=a[k>>0]|0;a[e+(g+29)>>0]=a[k>>0]|0;a[e+(g+30)>>0]=a[k>>0]|0;a[e+(g+31)>>0]=a[k>>0]|0;c=c+1|0}while((c|0)!=32);return}if((g|0)<=0)return;h=b+(k+-1)|0;i=k|1;j=b+k|0;c=0;do{l=((d[b+(c+i)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;l=(l|0)>0?l:0;a[e+c>>0]=(l|0)<255?l:255;c=c+1|0}while((c|0)!=(g|0));if((g|0)<=1)return;i=k+-1|0;c=1;do{j=b+(i-c)|0;k=r(c,f)|0;h=0;do{a[e+(h+k)>>0]=a[j>>0]|0;h=h+1|0}while((h|0)!=(g|0));c=c+1|0}while((c|0)!=(g|0));return}function nf(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;k=g<<1;l=(g|0)>0;if((g|0)==32){h=k|1;i=b+h|0;j=b+(h+1)|0;k=b+(h+2)|0;l=b+(h+3)|0;g=b+(h+4)|0;m=b+(h+5)|0;n=b+(h+6)|0;o=b+(h+7)|0;p=b+(h+8)|0;q=b+(h+9)|0;s=b+(h+10)|0;t=b+(h+11)|0;u=b+(h+12)|0;v=b+(h+13)|0;w=b+(h+14)|0;x=b+(h+15)|0;y=b+(h+16)|0;z=b+(h+17)|0;A=b+(h+18)|0;B=b+(h+19)|0;C=b+(h+20)|0;D=b+(h+21)|0;E=b+(h+22)|0;F=b+(h+23)|0;G=b+(h+24)|0;H=b+(h+25)|0;I=b+(h+26)|0;J=b+(h+27)|0;K=b+(h+28)|0;L=b+(h+29)|0;M=b+(h+30)|0;h=b+(h+31)|0;c=0;do{b=r(c,f)|0;a[e+b>>0]=a[i>>0]|0;a[e+(b+1)>>0]=a[j>>0]|0;a[e+(b+2)>>0]=a[k>>0]|0;a[e+(b+3)>>0]=a[l>>0]|0;a[e+(b+4)>>0]=a[g>>0]|0;a[e+(b+5)>>0]=a[m>>0]|0;a[e+(b+6)>>0]=a[n>>0]|0;a[e+(b+7)>>0]=a[o>>0]|0;a[e+(b+8)>>0]=a[p>>0]|0;a[e+(b+9)>>0]=a[q>>0]|0;a[e+(b+10)>>0]=a[s>>0]|0;a[e+(b+11)>>0]=a[t>>0]|0;a[e+(b+12)>>0]=a[u>>0]|0;a[e+(b+13)>>0]=a[v>>0]|0;a[e+(b+14)>>0]=a[w>>0]|0;a[e+(b+15)>>0]=a[x>>0]|0;a[e+(b+16)>>0]=a[y>>0]|0;a[e+(b+17)>>0]=a[z>>0]|0;a[e+(b+18)>>0]=a[A>>0]|0;a[e+(b+19)>>0]=a[B>>0]|0;a[e+(b+20)>>0]=a[C>>0]|0;a[e+(b+21)>>0]=a[D>>0]|0;a[e+(b+22)>>0]=a[E>>0]|0;a[e+(b+23)>>0]=a[F>>0]|0;a[e+(b+24)>>0]=a[G>>0]|0;a[e+(b+25)>>0]=a[H>>0]|0;a[e+(b+26)>>0]=a[I>>0]|0;a[e+(b+27)>>0]=a[J>>0]|0;a[e+(b+28)>>0]=a[K>>0]|0;a[e+(b+29)>>0]=a[L>>0]|0;a[e+(b+30)>>0]=a[M>>0]|0;a[e+(b+31)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=32);return}if(!l)return;h=b+(k|1)|0;i=k+-1|0;j=b+k|0;c=0;do{M=((d[b+(i-c)>>0]|0)-(d[j>>0]|0)>>1)+(d[h>>0]|0)|0;M=(M|0)>0?M:0;a[e+(r(c,f)|0)>>0]=(M|0)<255?M:255;c=c+1|0}while((c|0)!=(g|0));if(!l)return;i=k|1;if((g|0)==1)return;h=0;do{j=r(h,f)|0;c=1;do{a[e+(c+j)>>0]=a[b+(c+i)>>0]|0;c=c+1|0}while((c|0)<(g|0));h=h+1|0}while((h|0)!=(g|0));return}function of(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;if((f|0)<=0)return;h=(f<<1)+-1|0;c=0;do{i=h+~c|0;g=0;do{a[d+((r(g,e)|0)+c)>>0]=a[b+(i-g)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+1|0}while((c|0)!=(f|0));return}function pf(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f<<1;j=(g|0)==18?-32:32;if((f|0)<=0)return;g=0;do{i=g;g=g+1|0;h=(r(g,j)|0)>>5;i=r(i,e)|0;c=0;do{l=c;c=c+1|0;a[d+(l+i)>>0]=a[b+(c+k+h)>>0]|0}while((c|0)!=(f|0))}while((g|0)!=(f|0));return}function qf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;e=0;do{i=e;e=e+1|0;l=r(e,n)|0;k=l>>5;l=l&31;m=32-l|0;j=0;do{p=o-j-k|0;q=r(m,d[b+(p+-1)>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(q+16+(r(l,d[b+(p+-2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));return}function rf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;j=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-11<<2)>>2]|0;n=j+h|0;if((h|0)>=0){i=h+-1|0;e=0;while(1){a[j+(i+e)>>0]=a[b+(l-e)>>0]|0;if((e|0)==(h|0))break;else e=e+1|0}}m=n+-1|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[m+i>>0]=a[b+((e>>8)+l)>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}e=0;do{i=e;e=e+1|0;l=r(e,o)|0;k=l>>5;l=l&31;b=32-l|0;j=0;do{q=j+k|0;s=r(b,d[n+q>>0]|0)|0;a[f+((r(j,g)|0)+i)>>0]=(s+16+(r(l,d[m+(q+2)>>0]|0)|0)|0)>>>5;j=j+1|0}while((j|0)!=(h|0))}while((e|0)!=(h|0));Sb=p;return}function sf(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;p=Sb;Sb=Sb+144|0;e=p;l=h<<1;o=c[25216+(i<<2)>>2]|0;k=c[25360+(i+-12<<2)>>2]|0;m=e+h|0;n=m+-1|0;if((h|0)>=0)vl(e+(h+-1)|0,b+l|0,h+1|0)|0;i=r(o,h)|0;j=i>>5;if((i|0)<-32){e=128;i=-1;do{e=e+k|0;a[n+i>>0]=a[b+(l-(e>>8))>>0]|0;i=i+-1|0}while((i|0)>(j|0))}if((h|0)<=0){Sb=p;return}i=0;do{b=i;i=i+1|0;k=r(i,o)|0;j=k>>5;k=k&31;l=32-k|0;b=r(b,g)|0;e=0;do{q=e+j|0;s=r(l,d[m+q>>0]|0)|0;a[f+(e+b)>>0]=(s+16+(r(k,d[n+(q+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));Sb=p;return}function tf(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;o=h<<1;n=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;i=0;do{m=i;i=i+1|0;k=r(i,n)|0;j=k&31;k=(k>>5)+o|0;l=32-j|0;m=r(m,g)|0;e=0;do{p=k+e|0;q=r(l,d[b+(p+1)>>0]|0)|0;a[f+(e+m)>>0]=(q+16+(r(j,d[b+(p+2)>>0]|0)|0)|0)>>>5;e=e+1|0}while((e|0)!=(h|0))}while((i|0)!=(h|0));return}function uf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;j=1<<f+-1;k=d<<1;l=d*3|0;if(!(g&1)){i=b[a>>1]|0;o=a+(k<<1)|0;p=b[o>>1]|0;m=p+i|0;n=a+(l<<1)|0;h=b[n>>1]|0;p=h+p|0;h=i-h|0;i=(b[a+(d<<1)>>1]|0)*74|0;q=i+j|0;s=q+(m*29|0)+(p*55|0)>>f;s=(s|0)>-32768?s:-32768;b[c>>1]=(s|0)<32767?s:32767;p=q+(r(p,-29)|0)+(h*55|0)>>f;p=(p|0)>-32768?p:-32768;b[c+2>>1]=(p|0)<32767?p:32767;n=(((b[a>>1]|0)-(b[o>>1]|0)+(b[n>>1]|0)|0)*74|0)+j>>f;n=(n|0)>-32768?n:-32768;b[c+4>>1]=(n|0)<32767?n:32767;i=(m*55|0)+j+(h*29|0)-i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{s=c;q=s;b[q>>1]=0;b[q+2>>1]=0>>>16;s=s+4|0;b[s>>1]=0;b[s+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){s=b[h>>1]|0;n=h+(k<<1)|0;m=b[n>>1]|0;p=m+s|0;o=h+(l<<1)|0;q=b[o>>1]|0;m=q+m|0;q=s-q|0;s=(b[h+(d<<1)>>1]|0)*74|0;c=s+j|0;t=c+(p*29|0)+(m*55|0)>>f;t=(t|0)>-32768?t:-32768;b[i>>1]=(t|0)<32767?t:32767;m=c+(r(m,-29)|0)+(q*55|0)>>f;m=(m|0)>-32768?m:-32768;b[i+2>>1]=(m|0)<32767?m:32767;o=(((b[h>>1]|0)-(b[n>>1]|0)+(b[o>>1]|0)|0)*74|0)+j>>f;o=(o|0)>-32768?o:-32768;b[i+4>>1]=(o|0)<32767?o:32767;s=(p*55|0)+j+(q*29|0)-s>>f;s=(s|0)>-32768?s:-32768;b[i+6>>1]=(s|0)<32767?s:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){t=b[c>>1]|0;o=c+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=c+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[c+(d<<1)>>1]|0)*74|0;m=t+j|0;h=m+(q*29|0)+(n*55|0)>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[i+2>>1]=(n|0)<32767?n:32767;p=(((b[c>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[i+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[i+6>>1]=(t|0)<32767?t:32767}else{t=i;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){t=b[h>>1]|0;o=h+(k<<1)|0;n=b[o>>1]|0;q=n+t|0;p=h+(l<<1)|0;s=b[p>>1]|0;n=s+n|0;s=t-s|0;t=(b[h+(d<<1)>>1]|0)*74|0;m=t+j|0;l=m+(q*29|0)+(n*55|0)>>f;l=(l|0)>-32768?l:-32768;b[c>>1]=(l|0)<32767?l:32767;n=m+(r(n,-29)|0)+(s*55|0)>>f;n=(n|0)>-32768?n:-32768;b[c+2>>1]=(n|0)<32767?n:32767;p=(((b[h>>1]|0)-(b[o>>1]|0)+(b[p>>1]|0)|0)*74|0)+j>>f;p=(p|0)>-32768?p:-32768;b[c+4>>1]=(p|0)<32767?p:32767;t=(q*55|0)+j+(s*29|0)-t>>f;t=(t|0)>-32768?t:-32768;b[c+6>>1]=(t|0)<32767?t:32767;return}else{t=c;s=t;b[s>>1]=0;b[s+2>>1]=0>>>16;t=t+4|0;b[t>>1]=0;b[t+2>>1]=0>>>16;return}}function vf(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;t=1<<f+-1;u=b[16820]|0;j=b[16828]|0;k=d*3|0;l=b[16821]|0;m=b[16829]|0;n=b[16816]|0;o=b[16824]|0;p=d<<1;q=b[16817]|0;s=b[16825]|0;if(!(g&1)){w=b[a+(d<<1)>>1]|0;h=r(w,u)|0;v=b[a+(k<<1)>>1]|0;h=(r(v,j)|0)+h|0;w=(r(m,v)|0)+(r(l,w)|0)|0;v=b[a>>1]|0;i=r(v,n)|0;x=b[a+(p<<1)>>1]|0;i=(r(x,o)|0)+i|0;v=(r(s,x)|0)+(r(q,v)|0)|0;x=h+t+i>>f;x=(x|0)>-32768?x:-32768;b[c>>1]=(x|0)<32767?x:32767;x=w+t+v>>f;x=(x|0)>-32768?x:-32768;b[c+2>>1]=(x|0)<32767?x:32767;v=t-w+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;i=t-h+i>>f;i=(i|0)>-32768?i:-32768;b[c+6>>1]=(i|0)<32767?i:32767}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+2|0;i=c+(e<<1)|0;if(!(g&2)){c=b[h+(d<<1)>>1]|0;w=r(c,u)|0;v=b[h+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;c=(r(m,v)|0)+(r(l,c)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;h=b[h+(p<<1)>>1]|0;x=(r(h,o)|0)+x|0;v=(r(s,h)|0)+(r(q,v)|0)|0;h=w+t+x>>f;h=(h|0)>-32768?h:-32768;b[i>>1]=(h|0)<32767?h:32767;h=c+t+v>>f;h=(h|0)>-32768?h:-32768;b[i+2>>1]=(h|0)<32767?h:32767;v=t-c+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}c=a+4|0;i=i+(e<<1)|0;if(!(g&4)){h=b[c+(d<<1)>>1]|0;w=r(h,u)|0;v=b[c+(k<<1)>>1]|0;w=(r(v,j)|0)+w|0;h=(r(m,v)|0)+(r(l,h)|0)|0;v=b[c>>1]|0;x=r(v,n)|0;c=b[c+(p<<1)>>1]|0;x=(r(c,o)|0)+x|0;v=(r(s,c)|0)+(r(q,v)|0)|0;c=w+t+x>>f;c=(c|0)>-32768?c:-32768;b[i>>1]=(c|0)<32767?c:32767;c=h+t+v>>f;c=(c|0)>-32768?c:-32768;b[i+2>>1]=(c|0)<32767?c:32767;v=t-h+v>>f;v=(v|0)>-32768?v:-32768;b[i+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[i+6>>1]=(x|0)<32767?x:32767}else{x=i;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16}h=a+6|0;c=i+(e<<1)|0;if(!(g&8)){v=b[h+(d<<1)>>1]|0;w=r(v,u)|0;u=b[h+(k<<1)>>1]|0;w=(r(u,j)|0)+w|0;u=(r(m,u)|0)+(r(l,v)|0)|0;v=b[h>>1]|0;x=r(v,n)|0;g=b[h+(p<<1)>>1]|0;x=(r(g,o)|0)+x|0;v=(r(s,g)|0)+(r(q,v)|0)|0;g=w+t+x>>f;g=(g|0)>-32768?g:-32768;b[c>>1]=(g|0)<32767?g:32767;g=u+t+v>>f;g=(g|0)>-32768?g:-32768;b[c+2>>1]=(g|0)<32767?g:32767;v=t-u+v>>f;v=(v|0)>-32768?v:-32768;b[c+4>>1]=(v|0)<32767?v:32767;x=t-w+x>>f;x=(x|0)>-32768?x:-32768;b[c+6>>1]=(x|0)<32767?x:32767;return}else{x=c;w=x;b[w>>1]=0;b[w+2>>1]=0>>>16;x=x+4|0;b[x>>1]=0;b[x+2>>1]=0>>>16;return}}function wf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;T=Sb;Sb=Sb+16|0;M=T;R=1<<g+-1;S=e*3|0;j=e*5|0;k=e*7|0;l=b[16848]|0;m=e<<1;n=b[16880]|0;o=e*6|0;p=b[16849]|0;q=b[16881]|0;s=b[16832]|0;t=b[16864]|0;u=e<<2;v=b[16833]|0;w=b[16865]|0;x=b[16840]|0;y=b[16856]|0;z=b[16872]|0;A=b[16888]|0;B=b[16841]|0;C=b[16857]|0;D=b[16873]|0;E=b[16889]|0;F=M+4|0;G=b[16842]|0;H=b[16858]|0;I=b[16874]|0;J=b[16890]|0;K=M+8|0;L=b[16843]|0;N=b[16859]|0;O=b[16875]|0;P=b[16891]|0;Q=M+12|0;i=0;while(1){if(!(h&1)){W=b[a+(e<<1)>>1]|0;_=b[a+(S<<1)>>1]|0;Z=b[a+(j<<1)>>1]|0;V=b[a+(k<<1)>>1]|0;aa=(r(_,y)|0)+(r(W,x)|0)+(r(Z,z)|0)+(r(V,A)|0)|0;c[M>>2]=aa;$=(r(_,C)|0)+(r(W,B)|0)+(r(Z,D)|0)+(r(V,E)|0)|0;c[F>>2]=$;Y=(r(_,H)|0)+(r(W,G)|0)+(r(Z,I)|0)+(r(V,J)|0)|0;c[K>>2]=Y;V=(r(_,N)|0)+(r(W,L)|0)+(r(Z,O)|0)+(r(V,P)|0)|0;c[Q>>2]=V;Z=b[a+(m<<1)>>1]|0;W=r(Z,l)|0;_=b[a+(o<<1)>>1]|0;W=(r(_,n)|0)+W|0;Z=(r(q,_)|0)+(r(p,Z)|0)|0;_=b[a>>1]|0;X=r(_,s)|0;U=b[a+(u<<1)>>1]|0;X=(r(U,t)|0)+X|0;_=(r(w,U)|0)+(r(v,_)|0)|0;U=X+W+R|0;aa=U+aa>>g;aa=(aa|0)>-32768?aa:-32768;b[d>>1]=(aa|0)<32767?aa:32767;W=X-W+R|0;X=W-V>>g;X=(X|0)>-32768?X:-32768;b[d+8>>1]=(X|0)<32767?X:32767;X=_+Z+R|0;$=X+$>>g;$=($|0)>-32768?$:-32768;b[d+2>>1]=($|0)<32767?$:32767;Z=_-Z+R|0;_=Z-Y>>g;_=(_|0)>-32768?_:-32768;b[d+10>>1]=(_|0)<32767?_:32767;Y=Z+Y>>g;Y=(Y|0)>-32768?Y:-32768;b[d+4>>1]=(Y|0)<32767?Y:32767;X=X-(c[F>>2]|0)>>g;X=(X|0)>-32768?X:-32768;b[d+12>>1]=(X|0)<32767?X:32767;V=W+V>>g;V=(V|0)>-32768?V:-32768;b[d+6>>1]=(V|0)<32767?V:32767;U=U-(c[M>>2]|0)>>g;U=(U|0)>-32768?U:-32768;b[d+14>>1]=(U|0)<32767?U:32767}else{b[d>>1]=0;b[d+2>>1]=0;b[d+4>>1]=0;b[d+6>>1]=0;b[d+8>>1]=0;b[d+10>>1]=0;b[d+12>>1]=0;b[d+14>>1]=0}i=i+1|0;if((i|0)==8)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0}}Sb=T;return}function xf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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;Fb=Sb;Sb=Sb+80|0;hb=Fb+48|0;nb=Fb+16|0;ub=Fb;p=1<<g+-1;x=e*3|0;D=e*5|0;J=e*7|0;P=e*9|0;W=e*11|0;aa=e*13|0;ga=e*15|0;na=e<<1;ta=e*6|0;za=e*10|0;Ga=e*14|0;Pa=b[16960]|0;Qa=e<<2;Ra=b[17088]|0;Sa=e*12|0;Ta=b[16896]|0;Ua=b[17024]|0;Va=e<<3;Wa=b[16961]|0;Xa=b[17089]|0;Ya=b[16897]|0;Za=b[17025]|0;_a=b[16912]|0;$a=b[16944]|0;ab=b[16976]|0;bb=b[17008]|0;cb=b[17040]|0;db=b[17072]|0;eb=b[17104]|0;fb=b[17136]|0;gb=b[16913]|0;ib=b[16945]|0;jb=b[16977]|0;kb=b[17009]|0;lb=b[17041]|0;mb=b[17073]|0;ob=b[17105]|0;pb=b[17137]|0;qb=nb+4|0;rb=b[16914]|0;sb=b[16946]|0;tb=b[16978]|0;vb=b[17010]|0;wb=b[17042]|0;xb=b[17074]|0;yb=b[17106]|0;zb=b[17138]|0;Ab=nb+8|0;Bb=b[16915]|0;Cb=b[16947]|0;Db=b[16979]|0;Eb=b[17011]|0;q=b[17043]|0;s=b[17075]|0;t=b[17107]|0;u=b[17139]|0;v=nb+12|0;w=b[16916]|0;y=b[16948]|0;z=b[16980]|0;A=b[17012]|0;B=b[17044]|0;C=b[17076]|0;E=b[17108]|0;F=b[17140]|0;G=nb+16|0;H=b[16917]|0;I=b[16949]|0;K=b[16981]|0;L=b[17013]|0;M=b[17045]|0;N=b[17077]|0;O=b[17109]|0;Q=b[17141]|0;R=nb+20|0;S=b[16918]|0;T=b[16950]|0;U=b[16982]|0;V=b[17014]|0;X=b[17046]|0;Y=b[17078]|0;Z=b[17110]|0;_=b[17142]|0;$=nb+24|0;ba=b[16919]|0;ca=b[16951]|0;da=b[16983]|0;ea=b[17015]|0;fa=b[17047]|0;ha=b[17079]|0;ia=b[17111]|0;ja=b[17143]|0;ka=nb+28|0;la=b[16928]|0;ma=b[16992]|0;oa=b[17056]|0;pa=b[17120]|0;qa=b[16929]|0;ra=b[16993]|0;sa=b[17057]|0;ua=b[17121]|0;va=ub+4|0;wa=b[16930]|0;xa=b[16994]|0;ya=b[17058]|0;Aa=b[17122]|0;Ba=ub+8|0;Ca=b[16931]|0;Da=b[16995]|0;Ea=b[17059]|0;Fa=b[17123]|0;Ha=ub+12|0;Ia=hb+16|0;Ja=hb+4|0;Ka=hb+20|0;La=hb+8|0;Ma=hb+24|0;Na=hb+12|0;Oa=hb+28|0;o=0;i=c[Ha>>2]|0;j=c[Ba>>2]|0;k=c[va>>2]|0;l=c[ub>>2]|0;while(1){if(!(h&1)){j=b[a+(e<<1)>>1]|0;n=b[a+(x<<1)>>1]|0;k=b[a+(D<<1)>>1]|0;l=b[a+(J<<1)>>1]|0;i=b[a+(P<<1)>>1]|0;Ib=b[a+(W<<1)>>1]|0;m=b[a+(aa<<1)>>1]|0;Hb=b[a+(ga<<1)>>1]|0;c[nb>>2]=(r(n,$a)|0)+(r(j,_a)|0)+(r(k,ab)|0)+(r(l,bb)|0)+(r(i,cb)|0)+(r(Ib,db)|0)+(r(m,eb)|0)+(r(Hb,fb)|0);c[qb>>2]=(r(n,ib)|0)+(r(j,gb)|0)+(r(k,jb)|0)+(r(l,kb)|0)+(r(i,lb)|0)+(r(Ib,mb)|0)+(r(m,ob)|0)+(r(Hb,pb)|0);c[Ab>>2]=(r(n,sb)|0)+(r(j,rb)|0)+(r(k,tb)|0)+(r(l,vb)|0)+(r(i,wb)|0)+(r(Ib,xb)|0)+(r(m,yb)|0)+(r(Hb,zb)|0);c[v>>2]=(r(n,Cb)|0)+(r(j,Bb)|0)+(r(k,Db)|0)+(r(l,Eb)|0)+(r(i,q)|0)+(r(Ib,s)|0)+(r(m,t)|0)+(r(Hb,u)|0);c[G>>2]=(r(n,y)|0)+(r(j,w)|0)+(r(k,z)|0)+(r(l,A)|0)+(r(i,B)|0)+(r(Ib,C)|0)+(r(m,E)|0)+(r(Hb,F)|0);c[R>>2]=(r(n,I)|0)+(r(j,H)|0)+(r(k,K)|0)+(r(l,L)|0)+(r(i,M)|0)+(r(Ib,N)|0)+(r(m,O)|0)+(r(Hb,Q)|0);c[$>>2]=(r(n,T)|0)+(r(j,S)|0)+(r(k,U)|0)+(r(l,V)|0)+(r(i,X)|0)+(r(Ib,Y)|0)+(r(m,Z)|0)+(r(Hb,_)|0);c[ka>>2]=(r(n,ca)|0)+(r(j,ba)|0)+(r(k,da)|0)+(r(l,ea)|0)+(r(i,fa)|0)+(r(Ib,ha)|0)+(r(m,ia)|0)+(r(Hb,ja)|0);Hb=b[a+(na<<1)>>1]|0;m=b[a+(ta<<1)>>1]|0;Ib=b[a+(za<<1)>>1]|0;i=b[a+(Ga<<1)>>1]|0;l=(r(m,ma)|0)+(r(Hb,la)|0)+(r(Ib,oa)|0)+(r(i,pa)|0)|0;k=(r(m,ra)|0)+(r(Hb,qa)|0)+(r(Ib,sa)|0)+(r(i,ua)|0)|0;j=(r(m,xa)|0)+(r(Hb,wa)|0)+(r(Ib,ya)|0)+(r(i,Aa)|0)|0;i=(r(m,Da)|0)+(r(Hb,Ca)|0)+(r(Ib,Ea)|0)+(r(i,Fa)|0)|0;Ib=b[a+(Qa<<1)>>1]|0;Hb=r(Ib,Pa)|0;m=b[a+(Sa<<1)>>1]|0;Hb=(r(m,Ra)|0)+Hb|0;n=b[a>>1]|0;Lb=r(n,Ta)|0;Kb=b[a+(Va<<1)>>1]|0;Lb=(r(Kb,Ua)|0)+Lb|0;Ib=(r(Xa,m)|0)+(r(Wa,Ib)|0)|0;n=(r(Za,Kb)|0)+(r(Ya,n)|0)|0;Kb=Hb+Lb|0;m=n-Ib|0;n=Ib+n|0;Hb=Lb-Hb|0;Lb=l+Kb|0;c[hb>>2]=Lb;Ib=Hb-i|0;c[Ia>>2]=Ib;Jb=k+n|0;c[Ja>>2]=Jb;Gb=m-j|0;c[Ka>>2]=Gb;m=j+m|0;c[La>>2]=m;n=n-k|0;c[Ma>>2]=n;Hb=i+Hb|0;c[Na>>2]=Hb;Kb=Kb-l|0;c[Oa>>2]=Kb;Lb=Lb+p+(c[nb>>2]|0)>>g;Lb=(Lb|0)>-32768?Lb:-32768;b[d>>1]=(Lb|0)<32767?Lb:32767;Kb=Kb+p-(c[ka>>2]|0)>>g;Kb=(Kb|0)>-32768?Kb:-32768;b[d+16>>1]=(Kb|0)<32767?Kb:32767;Jb=Jb+p+(c[qb>>2]|0)>>g;Jb=(Jb|0)>-32768?Jb:-32768;b[d+2>>1]=(Jb|0)<32767?Jb:32767;n=n+p-(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+18>>1]=(n|0)<32767?n:32767;n=c[Ab>>2]|0;m=m+p+n>>g;m=(m|0)>-32768?m:-32768;b[d+4>>1]=(m|0)<32767?m:32767;m=c[R>>2]|0;Gb=Gb+p-m>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+20>>1]=(Gb|0)<32767?Gb:32767;Gb=c[v>>2]|0;Hb=Hb+p+Gb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+6>>1]=(Hb|0)<32767?Hb:32767;Hb=c[G>>2]|0;Ib=Ib+p-Hb>>g;Ib=(Ib|0)>-32768?Ib:-32768;b[d+22>>1]=(Ib|0)<32767?Ib:32767;Hb=(c[Ia>>2]|0)+p+Hb>>g;Hb=(Hb|0)>-32768?Hb:-32768;b[d+8>>1]=(Hb|0)<32767?Hb:32767;Gb=(c[Na>>2]|0)+p-Gb>>g;Gb=(Gb|0)>-32768?Gb:-32768;b[d+24>>1]=(Gb|0)<32767?Gb:32767;m=(c[Ka>>2]|0)+p+m>>g;m=(m|0)>-32768?m:-32768;b[d+10>>1]=(m|0)<32767?m:32767;n=(c[La>>2]|0)+p-n>>g;n=(n|0)>-32768?n:-32768;b[d+26>>1]=(n|0)<32767?n:32767;n=(c[Ma>>2]|0)+p+(c[$>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+12>>1]=(n|0)<32767?n:32767;n=(c[Ja>>2]|0)+p-(c[qb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+28>>1]=(n|0)<32767?n:32767;n=(c[Oa>>2]|0)+p+(c[ka>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+14>>1]=(n|0)<32767?n:32767;n=(c[hb>>2]|0)+p-(c[nb>>2]|0)>>g;n=(n|0)>-32768?n:-32768;b[d+30>>1]=(n|0)<32767?n:32767}else{m=d;n=m+32|0;do{b[m>>1]=0;m=m+2|0}while((m|0)<(n|0))}o=o+1|0;if((o|0)==16)break;else{h=h>>1;d=d+(f<<1)|0;a=a+2|0}}c[ub>>2]=l;c[va>>2]=k;c[Ba>>2]=j;c[Ha>>2]=i;Sb=Fb;return}function yf(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,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,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;oc=Sb;Sb=Sb+176|0;Rb=oc+112|0;Yb=oc+48|0;cc=oc+16|0;ic=oc;H=1<<g+-1;N=e*3|0;T=e*5|0;Z=e*7|0;ea=e*9|0;ka=e*11|0;qa=e*13|0;xa=e*15|0;Da=e*17|0;Ja=e*19|0;Qa=e*21|0;Wa=e*23|0;cb=e*25|0;nb=e*27|0;rb=e*29|0;sb=e*31|0;tb=e<<1;ub=e*6|0;vb=e*10|0;wb=e*14|0;xb=e*18|0;yb=e*22|0;zb=e*26|0;Ab=e*30|0;Bb=e<<2;Cb=e*12|0;Db=e*20|0;Eb=e*28|0;Fb=b[17408]|0;Gb=e<<3;Hb=b[17920]|0;Ib=e*24|0;Jb=b[17409]|0;Kb=b[17921]|0;Lb=b[17152]|0;Mb=b[17664]|0;Nb=e<<4;Ob=b[17153]|0;Pb=b[17665]|0;Qb=b[17216]|0;Tb=b[17344]|0;Ub=b[17472]|0;Vb=b[17600]|0;Wb=b[17728]|0;Xb=b[17856]|0;Zb=b[17984]|0;_b=b[18112]|0;$b=b[17217]|0;ac=b[17345]|0;bc=b[17473]|0;dc=b[17601]|0;ec=b[17729]|0;fc=b[17857]|0;gc=b[17985]|0;hc=b[18113]|0;jc=cc+4|0;kc=b[17218]|0;lc=b[17346]|0;mc=b[17474]|0;nc=b[17602]|0;B=b[17730]|0;C=b[17858]|0;D=b[17986]|0;E=b[18114]|0;F=cc+8|0;G=b[17219]|0;I=b[17347]|0;J=b[17475]|0;K=b[17603]|0;L=b[17731]|0;M=b[17859]|0;O=b[17987]|0;P=b[18115]|0;Q=cc+12|0;R=b[17220]|0;S=b[17348]|0;U=b[17476]|0;V=b[17604]|0;W=b[17732]|0;X=b[17860]|0;Y=b[17988]|0;_=b[18116]|0;$=cc+16|0;aa=b[17221]|0;ba=b[17349]|0;ca=b[17477]|0;da=b[17605]|0;fa=b[17733]|0;ga=b[17861]|0;ha=b[17989]|0;ia=b[18117]|0;ja=cc+20|0;la=b[17222]|0;ma=b[17350]|0;na=b[17478]|0;oa=b[17606]|0;pa=b[17734]|0;ra=b[17862]|0;sa=b[17990]|0;ta=b[18118]|0;ua=cc+24|0;va=b[17223]|0;wa=b[17351]|0;ya=b[17479]|0;za=b[17607]|0;Aa=b[17735]|0;Ba=b[17863]|0;Ca=b[17991]|0;Ea=b[18119]|0;Fa=cc+28|0;Ga=b[17280]|0;Ha=b[17536]|0;Ia=b[17792]|0;Ka=b[18048]|0;La=b[17281]|0;Ma=b[17537]|0;Na=b[17793]|0;Oa=b[18049]|0;Pa=ic+4|0;Ra=b[17282]|0;Sa=b[17538]|0;Ta=b[17794]|0;Ua=b[18050]|0;Va=ic+8|0;Xa=b[17283]|0;Ya=b[17539]|0;Za=b[17795]|0;_a=b[18051]|0;$a=ic+12|0;ab=Rb+32|0;bb=Rb+4|0;db=Rb+36|0;eb=Rb+8|0;fb=Rb+40|0;gb=Rb+12|0;hb=Rb+44|0;ib=Rb+16|0;jb=Rb+48|0;kb=Rb+20|0;lb=Rb+52|0;mb=Rb+24|0;ob=Rb+56|0;pb=Rb+28|0;qb=Rb+60|0;A=0;i=c[$a>>2]|0;j=c[Va>>2]|0;w=c[Pa>>2]|0;v=c[ic>>2]|0;t=c[Fa>>2]|0;u=c[ua>>2]|0;s=c[ja>>2]|0;q=c[$>>2]|0;p=c[Q>>2]|0;o=c[F>>2]|0;n=c[jc>>2]|0;k=c[cc>>2]|0;while(1){a:do if(!(h&1)){j=b[a+(e<<1)>>1]|0;k=b[a+(N<<1)>>1]|0;l=b[a+(T<<1)>>1]|0;m=b[a+(Z<<1)>>1]|0;n=b[a+(ea<<1)>>1]|0;o=b[a+(ka<<1)>>1]|0;p=b[a+(qa<<1)>>1]|0;q=b[a+(xa<<1)>>1]|0;s=b[a+(Da<<1)>>1]|0;t=b[a+(Ja<<1)>>1]|0;u=b[a+(Qa<<1)>>1]|0;v=b[a+(Wa<<1)>>1]|0;w=b[a+(cb<<1)>>1]|0;x=b[a+(nb<<1)>>1]|0;y=b[a+(rb<<1)>>1]|0;z=b[a+(sb<<1)>>1]|0;i=0;do{pc=r(j,b[34368+(i<<1)>>1]|0)|0;pc=(r(k,b[34496+(i<<1)>>1]|0)|0)+pc|0;pc=pc+(r(l,b[34624+(i<<1)>>1]|0)|0)|0;pc=pc+(r(m,b[34752+(i<<1)>>1]|0)|0)|0;pc=pc+(r(n,b[34880+(i<<1)>>1]|0)|0)|0;pc=pc+(r(o,b[35008+(i<<1)>>1]|0)|0)|0;pc=pc+(r(p,b[35136+(i<<1)>>1]|0)|0)|0;pc=pc+(r(q,b[35264+(i<<1)>>1]|0)|0)|0;pc=pc+(r(s,b[35392+(i<<1)>>1]|0)|0)|0;pc=pc+(r(t,b[35520+(i<<1)>>1]|0)|0)|0;pc=pc+(r(u,b[35648+(i<<1)>>1]|0)|0)|0;pc=pc+(r(v,b[35776+(i<<1)>>1]|0)|0)|0;pc=pc+(r(w,b[35904+(i<<1)>>1]|0)|0)|0;pc=pc+(r(x,b[36032+(i<<1)>>1]|0)|0)|0;pc=pc+(r(y,b[36160+(i<<1)>>1]|0)|0)|0;c[Yb+(i<<2)>>2]=pc+(r(z,b[36288+(i<<1)>>1]|0)|0);i=i+1|0}while((i|0)!=16);v=b[a+(tb<<1)>>1]|0;w=b[a+(ub<<1)>>1]|0;m=b[a+(vb<<1)>>1]|0;i=b[a+(wb<<1)>>1]|0;x=b[a+(xb<<1)>>1]|0;l=b[a+(yb<<1)>>1]|0;rc=b[a+(zb<<1)>>1]|0;t=b[a+(Ab<<1)>>1]|0;k=(r(w,Tb)|0)+(r(v,Qb)|0)+(r(m,Ub)|0)+(r(i,Vb)|0)+(r(x,Wb)|0)+(r(l,Xb)|0)+(r(rc,Zb)|0)+(r(t,_b)|0)|0;n=(r(w,ac)|0)+(r(v,$b)|0)+(r(m,bc)|0)+(r(i,dc)|0)+(r(x,ec)|0)+(r(l,fc)|0)+(r(rc,gc)|0)+(r(t,hc)|0)|0;o=(r(w,lc)|0)+(r(v,kc)|0)+(r(m,mc)|0)+(r(i,nc)|0)+(r(x,B)|0)+(r(l,C)|0)+(r(rc,D)|0)+(r(t,E)|0)|0;p=(r(w,I)|0)+(r(v,G)|0)+(r(m,J)|0)+(r(i,K)|0)+(r(x,L)|0)+(r(l,M)|0)+(r(rc,O)|0)+(r(t,P)|0)|0;q=(r(w,S)|0)+(r(v,R)|0)+(r(m,U)|0)+(r(i,V)|0)+(r(x,W)|0)+(r(l,X)|0)+(r(rc,Y)|0)+(r(t,_)|0)|0;s=(r(w,ba)|0)+(r(v,aa)|0)+(r(m,ca)|0)+(r(i,da)|0)+(r(x,fa)|0)+(r(l,ga)|0)+(r(rc,ha)|0)+(r(t,ia)|0)|0;u=(r(w,ma)|0)+(r(v,la)|0)+(r(m,na)|0)+(r(i,oa)|0)+(r(x,pa)|0)+(r(l,ra)|0)+(r(rc,sa)|0)+(r(t,ta)|0)|0;t=(r(w,wa)|0)+(r(v,va)|0)+(r(m,ya)|0)+(r(i,za)|0)+(r(x,Aa)|0)+(r(l,Ba)|0)+(r(rc,Ca)|0)+(r(t,Ea)|0)|0;rc=b[a+(Bb<<1)>>1]|0;l=b[a+(Cb<<1)>>1]|0;x=b[a+(Db<<1)>>1]|0;i=b[a+(Eb<<1)>>1]|0;m=(r(l,Ha)|0)+(r(rc,Ga)|0)+(r(x,Ia)|0)+(r(i,Ka)|0)|0;v=(r(l,Ma)|0)+(r(rc,La)|0)+(r(x,Na)|0)+(r(i,Oa)|0)|0;w=(r(l,Sa)|0)+(r(rc,Ra)|0)+(r(x,Ta)|0)+(r(i,Ua)|0)|0;i=(r(l,Ya)|0)+(r(rc,Xa)|0)+(r(x,Za)|0)+(r(i,_a)|0)|0;x=b[a+(Gb<<1)>>1]|0;rc=r(x,Fb)|0;l=b[a+(Ib<<1)>>1]|0;rc=(r(l,Hb)|0)+rc|0;x=(r(Kb,l)|0)+(r(Jb,x)|0)|0;l=b[a>>1]|0;y=r(l,Lb)|0;pc=b[a+(Nb<<1)>>1]|0;y=(r(pc,Mb)|0)+y|0;l=(r(Pb,pc)|0)+(r(Ob,l)|0)|0;pc=y+rc|0;rc=y-rc|0;y=l+x|0;x=l-x|0;l=m+pc|0;sc=rc-i|0;z=v+y|0;qc=x-w|0;x=w+x|0;y=y-v|0;rc=i+rc|0;pc=pc-m|0;j=k+l|0;c[Rb>>2]=j;c[ab>>2]=pc-t;c[bb>>2]=n+z;c[db>>2]=y-u;c[eb>>2]=o+x;c[fb>>2]=qc-s;c[gb>>2]=p+rc;c[hb>>2]=sc-q;c[ib>>2]=q+sc;c[jb>>2]=rc-p;c[kb>>2]=s+qc;c[lb>>2]=x-o;c[mb>>2]=u+y;c[ob>>2]=z-n;c[pb>>2]=t+pc;c[qb>>2]=l-k;l=0;while(1){j=j+H+(c[Yb+(l<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l<<1)>>1]=(j|0)<32767?j:32767;j=15-l|0;j=(c[Rb+(j<<2)>>2]|0)+H-(c[Yb+(j<<2)>>2]|0)>>g;j=(j|0)>-32768?j:-32768;b[d+(l+16<<1)>>1]=(j|0)<32767?j:32767;j=l+1|0;if((j|0)==16){l=v;j=w;break a}l=j;j=c[Rb+(j<<2)>>2]|0}}else{l=d;m=l+64|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(m|0));m=v;l=w}while(0);A=A+1|0;if((A|0)==32)break;else{d=d+(f<<1)|0;h=h>>1;a=a+2|0;w=l;v=m}}c[cc>>2]=k;c[jc>>2]=n;c[F>>2]=o;c[Q>>2]=p;c[$>>2]=q;c[ja>>2]=s;c[ua>>2]=u;c[Fa>>2]=t;c[ic>>2]=m;c[Pa>>2]=l;c[Va>>2]=j;c[$a>>2]=i;Sb=oc;return}function zf(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;q=h<<1;p=h*3|0;if(!(k&1)){o=b[c>>1]|0;t=c+(q<<1)|0;u=b[t>>1]|0;n=u+o|0;s=c+(p<<1)|0;l=b[s>>1]|0;u=l+u|0;l=o-l|0;o=(b[c+(h<<1)>>1]|0)*74|0;m=(u*55|0)+(n*29|0)+o|0;m=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;b[e>>1]=m;u=(l*55|0)+(r(u,-29)|0)+o|0;b[e+2>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;s=((b[c>>1]|0)-(b[t>>1]|0)+(b[s>>1]|0)|0)*74|0;b[e+4>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;o=(l*29|0)+(n*55|0)-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{m=e;u=m;b[u>>1]=0;b[u+2>>1]=0>>>16;m=m+4|0;b[m>>1]=0;b[m+2>>1]=0>>>16;m=0}l=c+2|0;n=e+8|0;if(!(k&2)){t=b[l>>1]|0;w=l+(q<<1)|0;x=b[w>>1]|0;s=x+t|0;v=l+(p<<1)|0;o=b[v>>1]|0;x=o+x|0;o=t-o|0;t=(b[l+(h<<1)>>1]|0)*74|0;u=(x*55|0)+(s*29|0)+t|0;u=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;b[n>>1]=u;n=(o*55|0)+(r(x,-29)|0)+t|0;b[e+10>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=((b[l>>1]|0)-(b[w>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+12>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=(o*29|0)+(s*55|0)-t|0;b[e+14>>1]=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;n=u}else{x=n;b[x>>1]=0;b[x+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+4|0;o=e+16|0;if(!(k&4)){x=b[l>>1]|0;t=l+(q<<1)|0;s=b[t>>1]|0;w=s+x|0;u=l+(p<<1)|0;v=b[u>>1]|0;s=v+s|0;v=x-v|0;x=(b[l+(h<<1)>>1]|0)*74|0;y=(s*55|0)+(w*29|0)+x|0;b[o>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535;s=(v*55|0)+(r(s,-29)|0)+x|0;b[e+18>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;u=((b[l>>1]|0)-(b[t>>1]|0)+(b[u>>1]|0)|0)*74|0;b[e+20>>1]=(u|0)>4194239?32767:(u|0)<-4194368?-32768:(u+64|0)>>>7&65535;x=(v*29|0)+(w*55|0)-x|0;b[e+22>>1]=(x|0)>4194239?32767:(x|0)<-4194368?-32768:(x+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}l=c+6|0;o=e+24|0;if(!(k&8)){y=b[l>>1]|0;u=l+(q<<1)|0;t=b[u>>1]|0;x=t+y|0;v=l+(p<<1)|0;w=b[v>>1]|0;t=w+t|0;w=y-w|0;y=(b[l+(h<<1)>>1]|0)*74|0;s=(t*55|0)+(x*29|0)+y|0;b[o>>1]=(s|0)>4194239?32767:(s|0)<-4194368?-32768:(s+64|0)>>>7&65535;t=(w*55|0)+(r(t,-29)|0)+y|0;b[e+26>>1]=(t|0)>4194239?32767:(t|0)<-4194368?-32768:(t+64|0)>>>7&65535;v=((b[l>>1]|0)-(b[u>>1]|0)+(b[v>>1]|0)|0)*74|0;b[e+28>>1]=(v|0)>4194239?32767:(v|0)<-4194368?-32768:(v+64|0)>>>7&65535;y=(w*29|0)+(x*55|0)-y|0;b[e+30>>1]=(y|0)>4194239?32767:(y|0)<-4194368?-32768:(y+64|0)>>>7&65535}else{y=o;x=y;b[x>>1]=0;b[x+2>>1]=0>>>16;y=y+4|0;b[y>>1]=0;b[y+2>>1]=0>>>16}o=f;l=0;while(1){m=m<<16>>16;v=e+16|0;u=b[v>>1]|0;y=u+m|0;w=e+24|0;x=b[w>>1]|0;u=x+u|0;x=m-x|0;m=(n<<16>>16)*74|0;t=(u*55|0)+(y*29|0)+m|0;t=((t|0)>134215679?32767:(t|0)<-134219776?-32768:t+2048>>12)+(d[o>>0]|0)|0;t=(t|0)>0?t:0;a[g>>0]=(t|0)<255?t:255;u=(x*55|0)+(r(u,-29)|0)+m|0;u=((u|0)>134215679?32767:(u|0)<-134219776?-32768:u+2048>>12)+(d[o+1>>0]|0)|0;u=(u|0)>0?u:0;a[g+1>>0]=(u|0)<255?u:255;w=((b[e>>1]|0)-(b[v>>1]|0)+(b[w>>1]|0)|0)*74|0;w=((w|0)>134215679?32767:(w|0)<-134219776?-32768:w+2048>>12)+(d[o+2>>0]|0)|0;w=(w|0)>0?w:0;a[g+2>>0]=(w|0)<255?w:255;m=(x*29|0)+(y*55|0)-m|0;m=((m|0)>134215679?32767:(m|0)<-134219776?-32768:m+2048>>12)+(d[o+3>>0]|0)|0;m=(m|0)>0?m:0;a[g+3>>0]=(m|0)<255?m:255;m=e+2|0;l=l+1|0;if((l|0)==4)break;n=b[e+10>>1]|0;o=o+i|0;g=g+j|0;e=m;m=b[m>>1]|0}return}function Af(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+1>>0]|0)|0;h=(h|0)>0?h:0;a[g+1>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+2>>0]|0)|0;k=(k|0)>0?k:0;a[g+2>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+3>>0]|0)|0;C=(C|0)>0?C:0;a[g+3>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+2>>0]|0)|0;k=(k|0)>0?k:0;a[D+2>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+3>>0]|0)|0;f=(f|0)>0?f:0;a[D+3>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+1>>0]|0)|0;h=(h|0)>0?h:0;a[D+1>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;B=(B|0)>0?B:0;a[D+3>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+1>>0]|0)|0;f=(f|0)>0?f:0;a[D+1>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+2>>0]|0)|0;i=(i|0)>0?i:0;a[D+2>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+3>>0]|0)|0;C=(C|0)>0?C:0;a[D+3>>0]=(C|0)<255?C:255;return}function Bf(e,f,g,h,i,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,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;Ib=Sb;Sb=Sb+80|0;Hb=Ib+48|0;Fb=Ib+16|0;Gb=Ib;Cb=(l&65520|0)==65520;Eb=(l&65280|0)==65280;Db=Cb?4:Eb?8:16;if((m&65520|0)==65520){p=i*3|0;q=i<<1;s=b[16896]|0;t=b[16897]|0;u=b[16912]|0;v=b[16944]|0;w=b[16913]|0;x=b[16945]|0;y=Fb+4|0;z=b[16914]|0;A=b[16946]|0;B=Fb+8|0;C=b[16915]|0;D=b[16947]|0;E=Fb+12|0;F=b[16916]|0;G=b[16948]|0;H=Fb+16|0;I=b[16917]|0;J=b[16949]|0;K=Fb+20|0;L=b[16918]|0;M=b[16950]|0;N=Fb+24|0;O=b[16919]|0;P=b[16951]|0;Q=Fb+28|0;R=b[16928]|0;S=b[16929]|0;T=Gb+4|0;U=b[16930]|0;V=Gb+8|0;W=b[16931]|0;X=Gb+12|0;Y=Hb+16|0;Z=Hb+4|0;_=Hb+20|0;$=Hb+8|0;aa=Hb+24|0;ba=Hb+12|0;ca=Hb+28|0;n=f;o=0;m=l;while(1){if(!(m&1)){wb=b[e+(i<<1)>>1]|0;zb=b[e+(p<<1)>>1]|0;c[Fb>>2]=(r(zb,v)|0)+(r(wb,u)|0);c[y>>2]=(r(zb,x)|0)+(r(wb,w)|0);c[B>>2]=(r(zb,A)|0)+(r(wb,z)|0);c[E>>2]=(r(zb,D)|0)+(r(wb,C)|0);c[H>>2]=(r(zb,G)|0)+(r(wb,F)|0);c[K>>2]=(r(zb,J)|0)+(r(wb,I)|0);c[N>>2]=(r(zb,M)|0)+(r(wb,L)|0);wb=(r(zb,P)|0)+(r(wb,O)|0)|0;c[Q>>2]=wb;zb=b[e+(q<<1)>>1]|0;vb=r(zb,R)|0;c[Gb>>2]=vb;Bb=r(zb,S)|0;c[T>>2]=Bb;l=r(zb,U)|0;c[V>>2]=l;zb=r(zb,W)|0;c[X>>2]=zb;sb=b[e>>1]|0;tb=r(sb,s)|0;sb=r(t,sb)|0;ub=vb+tb|0;c[Hb>>2]=ub;yb=tb-zb|0;c[Y>>2]=yb;xb=Bb+sb|0;c[Z>>2]=xb;Ab=sb-l|0;c[_>>2]=Ab;l=l+sb|0;c[$>>2]=l;Bb=sb-Bb|0;c[aa>>2]=Bb;zb=zb+tb|0;c[ba>>2]=zb;vb=tb-vb|0;c[ca>>2]=vb;ub=(c[Fb>>2]|0)+ub|0;b[n>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;wb=vb-wb|0;b[n+16>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[y>>2]|0)+xb|0;b[n+2>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;Bb=Bb-(c[N>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[B>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[K>>2]|0;Ab=Ab-l|0;b[n+20>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;Ab=c[E>>2]|0;zb=Ab+zb|0;b[n+6>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;zb=c[H>>2]|0;yb=yb-zb|0;b[n+22>>1]=(yb|0)>4194239?32767:(yb|0)<-4194368?-32768:(yb+64|0)>>>7&65535;zb=zb+(c[Y>>2]|0)|0;b[n+8>>1]=(zb|0)>4194239?32767:(zb|0)<-4194368?-32768:(zb+64|0)>>>7&65535;Ab=(c[ba>>2]|0)-Ab|0;b[n+24>>1]=(Ab|0)>4194239?32767:(Ab|0)<-4194368?-32768:(Ab+64|0)>>>7&65535;l=l+(c[_>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[$>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[N>>2]|0)+(c[aa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Z>>2]|0)-(c[y>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Q>>2]|0)+(c[ca>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}o=o+1|0;if(o>>>0>=Db>>>0)break;else{e=e+2|0;n=n+32|0;m=m>>1}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;m=f;e=0;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;m=f;e=0;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}yb=i*3|0;zb=i*5|0;Ab=i*7|0;if((m&65280|0)==65280){p=i<<1;q=i*6|0;s=b[16960]|0;t=i<<2;u=b[16896]|0;v=b[16961]|0;w=b[16897]|0;x=b[16912]|0;y=b[16944]|0;z=b[16976]|0;A=b[17008]|0;B=b[16913]|0;C=b[16945]|0;D=b[16977]|0;E=b[17009]|0;F=Fb+4|0;G=b[16914]|0;H=b[16946]|0;I=b[16978]|0;J=b[17010]|0;K=Fb+8|0;L=b[16915]|0;M=b[16947]|0;N=b[16979]|0;O=b[17011]|0;P=Fb+12|0;Q=b[16916]|0;R=b[16948]|0;S=b[16980]|0;T=b[17012]|0;U=Fb+16|0;V=b[16917]|0;W=b[16949]|0;X=b[16981]|0;Y=b[17013]|0;Z=Fb+20|0;_=b[16918]|0;$=b[16950]|0;aa=b[16982]|0;ba=b[17014]|0;ca=Fb+24|0;da=b[16919]|0;ea=b[16951]|0;fa=b[16983]|0;ga=b[17015]|0;ha=Fb+28|0;ia=b[16928]|0;ja=b[16992]|0;ka=b[16929]|0;la=b[16993]|0;ma=Gb+4|0;na=b[16930]|0;oa=b[16994]|0;pa=Gb+8|0;qa=b[16931]|0;ra=b[16995]|0;sa=Gb+12|0;ta=Hb+16|0;ua=Hb+4|0;va=Hb+20|0;wa=Hb+8|0;xa=Hb+24|0;ya=Hb+12|0;za=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){tb=b[e+(i<<1)>>1]|0;Bb=b[e+(yb<<1)>>1]|0;vb=b[e+(zb<<1)>>1]|0;qb=b[e+(Ab<<1)>>1]|0;c[Fb>>2]=(r(Bb,y)|0)+(r(tb,x)|0)+(r(vb,z)|0)+(r(qb,A)|0);c[F>>2]=(r(Bb,C)|0)+(r(tb,B)|0)+(r(vb,D)|0)+(r(qb,E)|0);c[K>>2]=(r(Bb,H)|0)+(r(tb,G)|0)+(r(vb,I)|0)+(r(qb,J)|0);c[P>>2]=(r(Bb,M)|0)+(r(tb,L)|0)+(r(vb,N)|0)+(r(qb,O)|0);c[U>>2]=(r(Bb,R)|0)+(r(tb,Q)|0)+(r(vb,S)|0)+(r(qb,T)|0);c[Z>>2]=(r(Bb,W)|0)+(r(tb,V)|0)+(r(vb,X)|0)+(r(qb,Y)|0);c[ca>>2]=(r(Bb,$)|0)+(r(tb,_)|0)+(r(vb,aa)|0)+(r(qb,ba)|0);c[ha>>2]=(r(Bb,ea)|0)+(r(tb,da)|0)+(r(vb,fa)|0)+(r(qb,ga)|0);qb=b[e+(p<<1)>>1]|0;vb=b[e+(q<<1)>>1]|0;tb=(r(vb,ja)|0)+(r(qb,ia)|0)|0;c[Gb>>2]=tb;Bb=(r(vb,la)|0)+(r(qb,ka)|0)|0;c[ma>>2]=Bb;ob=(r(vb,oa)|0)+(r(qb,na)|0)|0;c[pa>>2]=ob;qb=(r(vb,ra)|0)+(r(qb,qa)|0)|0;c[sa>>2]=qb;vb=b[e+(t<<1)>>1]|0;wb=r(vb,s)|0;pb=b[e>>1]|0;sb=r(pb,u)|0;vb=r(v,vb)|0;pb=r(w,pb)|0;rb=wb+sb|0;l=pb-vb|0;pb=vb+pb|0;wb=sb-wb|0;sb=tb+rb|0;c[Hb>>2]=sb;vb=wb-qb|0;c[ta>>2]=vb;ub=Bb+pb|0;c[ua>>2]=ub;xb=l-ob|0;c[va>>2]=xb;l=ob+l|0;c[wa>>2]=l;Bb=pb-Bb|0;c[xa>>2]=Bb;wb=qb+wb|0;c[ya>>2]=wb;tb=rb-tb|0;c[za>>2]=tb;sb=(c[Fb>>2]|0)+sb|0;b[n>>1]=(sb|0)>4194239?32767:(sb|0)<-4194368?-32768:(sb+64|0)>>>7&65535;tb=tb-(c[ha>>2]|0)|0;b[n+16>>1]=(tb|0)>4194239?32767:(tb|0)<-4194368?-32768:(tb+64|0)>>>7&65535;ub=(c[F>>2]|0)+ub|0;b[n+2>>1]=(ub|0)>4194239?32767:(ub|0)<-4194368?-32768:(ub+64|0)>>>7&65535;Bb=Bb-(c[ca>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[K>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Z>>2]|0;xb=xb-l|0;b[n+20>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;xb=c[P>>2]|0;wb=xb+wb|0;b[n+6>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;wb=c[U>>2]|0;vb=vb-wb|0;b[n+22>>1]=(vb|0)>4194239?32767:(vb|0)<-4194368?-32768:(vb+64|0)>>>7&65535;wb=wb+(c[ta>>2]|0)|0;b[n+8>>1]=(wb|0)>4194239?32767:(wb|0)<-4194368?-32768:(wb+64|0)>>>7&65535;xb=(c[ya>>2]|0)-xb|0;b[n+24>>1]=(xb|0)>4194239?32767:(xb|0)<-4194368?-32768:(xb+64|0)>>>7&65535;l=l+(c[va>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[wa>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ca>>2]|0)+(c[xa>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ua>>2]|0)-(c[F>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[ha>>2]|0)+(c[za>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){i=b[m+32>>1]|0;Eb=b[m+96>>1]|0;c[Fb>>2]=(r(Eb,q)|0)+(r(i,p)|0);c[u>>2]=(r(Eb,t)|0)+(r(i,s)|0);c[x>>2]=(r(Eb,w)|0)+(r(i,v)|0);c[A>>2]=(r(Eb,z)|0)+(r(i,y)|0);c[D>>2]=(r(Eb,C)|0)+(r(i,B)|0);c[G>>2]=(r(Eb,F)|0)+(r(i,E)|0);c[J>>2]=(r(Eb,I)|0)+(r(i,H)|0);c[M>>2]=(r(Eb,L)|0)+(r(i,K)|0);i=b[m+64>>1]|0;Eb=r(i,N)|0;c[Gb>>2]=Eb;Cb=r(i,O)|0;c[P>>2]=Cb;l=r(i,Q)|0;c[R>>2]=l;i=r(i,S)|0;c[T>>2]=i;Bb=b[m>>1]|0;Db=r(Bb,n)|0;Bb=r(o,Bb)|0;f=Eb+Db|0;c[Hb>>2]=f;c[U>>2]=Db-i;c[V>>2]=Cb+Bb;c[W>>2]=Bb-l;c[X>>2]=l+Bb;c[Y>>2]=Bb-Cb;c[Z>>2]=i+Db;c[_>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[_>>2]|0)-(c[M>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[u>>2]|0)+(c[V>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[x>>2]|0)+(c[X>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[W>>2]|0)-(c[G>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[A>>2]|0)+(c[Z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)-(c[D>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[D>>2]|0)+(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[Z>>2]|0)-(c[A>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[G>>2]|0)+(c[W>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[X>>2]|0)-(c[x>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[V>>2]|0)-(c[u>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[M>>2]|0)+(c[_>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Eb=b[m+32>>1]|0;Bb=b[m+96>>1]|0;yb=b[m+160>>1]|0;Cb=b[m+224>>1]|0;c[Fb>>2]=(r(Bb,s)|0)+(r(Eb,q)|0)+(r(yb,t)|0)+(r(Cb,u)|0);c[z>>2]=(r(Bb,w)|0)+(r(Eb,v)|0)+(r(yb,x)|0)+(r(Cb,y)|0);c[E>>2]=(r(Bb,B)|0)+(r(Eb,A)|0)+(r(yb,C)|0)+(r(Cb,D)|0);c[J>>2]=(r(Bb,G)|0)+(r(Eb,F)|0)+(r(yb,H)|0)+(r(Cb,I)|0);c[O>>2]=(r(Bb,L)|0)+(r(Eb,K)|0)+(r(yb,M)|0)+(r(Cb,N)|0);c[T>>2]=(r(Bb,Q)|0)+(r(Eb,P)|0)+(r(yb,R)|0)+(r(Cb,S)|0);c[Y>>2]=(r(Bb,V)|0)+(r(Eb,U)|0)+(r(yb,W)|0)+(r(Cb,X)|0);c[ba>>2]=(r(Bb,_)|0)+(r(Eb,Z)|0)+(r(yb,$)|0)+(r(Cb,aa)|0);Cb=b[m+64>>1]|0;yb=b[m+192>>1]|0;Eb=(r(yb,da)|0)+(r(Cb,ca)|0)|0;c[Gb>>2]=Eb;Bb=(r(yb,fa)|0)+(r(Cb,ea)|0)|0;c[ga>>2]=Bb;zb=(r(yb,ia)|0)+(r(Cb,ha)|0)|0;c[ja>>2]=zb;Cb=(r(yb,la)|0)+(r(Cb,ka)|0)|0;c[ma>>2]=Cb;yb=b[m+128>>1]|0;i=r(yb,kb)|0;l=b[m>>1]|0;f=r(l,n)|0;yb=r(o,yb)|0;l=r(p,l)|0;Db=i+f|0;Ab=l-yb|0;l=yb+l|0;i=f-i|0;f=Eb+Db|0;c[Hb>>2]=f;c[na>>2]=i-Cb;c[oa>>2]=Bb+l;c[pa>>2]=Ab-zb;c[qa>>2]=zb+Ab;c[ra>>2]=l-Bb;c[sa>>2]=Cb+i;c[ta>>2]=Db-Eb;f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[z>>2]|0)+(c[oa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[ra>>2]|0)-(c[Y>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[E>>2]|0)+(c[qa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[pa>>2]|0)-(c[T>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[J>>2]|0)+(c[sa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[na>>2]|0)-(c[O>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[O>>2]|0)+(c[na>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[sa>>2]|0)-(c[J>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[T>>2]|0)+(c[pa>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[qa>>2]|0)-(c[E>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Y>>2]|0)+(c[ra>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[oa>>2]|0)-(c[z>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Ab=b[m+32>>1]|0;Bb=b[m+96>>1]|0;Cb=b[m+160>>1]|0;f=b[m+224>>1]|0;i=b[m+288>>1]|0;yb=b[m+352>>1]|0;l=b[m+416>>1]|0;Db=b[m+480>>1]|0;c[Fb>>2]=(r(Bb,w)|0)+(r(Ab,v)|0)+(r(Cb,x)|0)+(r(f,y)|0)+(r(i,z)|0)+(r(yb,A)|0)+(r(l,B)|0)+(r(Db,C)|0);c[L>>2]=(r(Bb,E)|0)+(r(Ab,D)|0)+(r(Cb,F)|0)+(r(f,G)|0)+(r(i,H)|0)+(r(yb,I)|0)+(r(l,J)|0)+(r(Db,K)|0);c[U>>2]=(r(Bb,N)|0)+(r(Ab,M)|0)+(r(Cb,O)|0)+(r(f,P)|0)+(r(i,Q)|0)+(r(yb,R)|0)+(r(l,S)|0)+(r(Db,T)|0);c[ba>>2]=(r(Bb,W)|0)+(r(Ab,V)|0)+(r(Cb,X)|0)+(r(f,Y)|0)+(r(i,Z)|0)+(r(yb,_)|0)+(r(l,$)|0)+(r(Db,aa)|0);c[ka>>2]=(r(Bb,da)|0)+(r(Ab,ca)|0)+(r(Cb,ea)|0)+(r(f,fa)|0)+(r(i,ga)|0)+(r(yb,ha)|0)+(r(l,ia)|0)+(r(Db,ja)|0);c[ta>>2]=(r(Bb,ma)|0)+(r(Ab,la)|0)+(r(Cb,na)|0)+(r(f,oa)|0)+(r(i,pa)|0)+(r(yb,qa)|0)+(r(l,ra)|0)+(r(Db,sa)|0);c[Ca>>2]=(r(Bb,va)|0)+(r(Ab,ua)|0)+(r(Cb,wa)|0)+(r(f,xa)|0)+(r(i,ya)|0)+(r(yb,za)|0)+(r(l,Aa)|0)+(r(Db,Ba)|0);c[La>>2]=(r(Bb,Ea)|0)+(r(Ab,Da)|0)+(r(Cb,Fa)|0)+(r(f,Ga)|0)+(r(i,Ha)|0)+(r(yb,Ia)|0)+(r(l,Ja)|0)+(r(Db,Ka)|0);Db=b[m+64>>1]|0;l=b[m+192>>1]|0;yb=b[m+320>>1]|0;i=b[m+448>>1]|0;f=(r(l,Na)|0)+(r(Db,Ma)|0)+(r(yb,Oa)|0)+(r(i,Pa)|0)|0;c[Gb>>2]=f;Cb=(r(l,Ra)|0)+(r(Db,Qa)|0)+(r(yb,Sa)|0)+(r(i,Ta)|0)|0;c[Ua>>2]=Cb;Ab=(r(l,Wa)|0)+(r(Db,Va)|0)+(r(yb,Xa)|0)+(r(i,Ya)|0)|0;c[Za>>2]=Ab;i=(r(l,$a)|0)+(r(Db,_a)|0)+(r(yb,ab)|0)+(r(i,bb)|0)|0;c[cb>>2]=i;yb=b[m+128>>1]|0;Db=r(yb,kb)|0;l=b[m+384>>1]|0;Db=(r(l,n)|0)+Db|0;Bb=b[m>>1]|0;zb=r(Bb,o)|0;Eb=b[m+256>>1]|0;zb=(r(Eb,p)|0)+zb|0;yb=(r(s,l)|0)+(r(q,yb)|0)|0;Bb=(r(u,Eb)|0)+(r(t,Bb)|0)|0;Eb=Db+zb|0;l=Bb-yb|0;Bb=yb+Bb|0;Db=zb-Db|0;f=f+Eb|0;c[Hb>>2]=f;c[db>>2]=Db-i;c[eb>>2]=Cb+Bb;c[fb>>2]=l-Ab;c[gb>>2]=Ab+l;c[hb>>2]=Bb-Cb;c[ib>>2]=i+Db;c[jb>>2]=Eb-(c[Gb>>2]|0);f=(c[Fb>>2]|0)+f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g>>0]|0)|0;f=(f|0)>0?f:0;a[h>>0]=(f|0)<255?f:255;f=(c[jb>>2]|0)-(c[La>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+8>>0]|0)|0;f=(f|0)>0?f:0;a[h+8>>0]=(f|0)<255?f:255;f=(c[L>>2]|0)+(c[eb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+1>>0]|0)|0;f=(f|0)>0?f:0;a[h+1>>0]=(f|0)<255?f:255;f=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+9>>0]|0)|0;f=(f|0)>0?f:0;a[h+9>>0]=(f|0)<255?f:255;f=(c[U>>2]|0)+(c[gb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+2>>0]|0)|0;f=(f|0)>0?f:0;a[h+2>>0]=(f|0)<255?f:255;f=(c[fb>>2]|0)-(c[ta>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+10>>0]|0)|0;f=(f|0)>0?f:0;a[h+10>>0]=(f|0)<255?f:255;f=(c[ba>>2]|0)+(c[ib>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+3>>0]|0)|0;f=(f|0)>0?f:0;a[h+3>>0]=(f|0)<255?f:255;f=(c[db>>2]|0)-(c[ka>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+11>>0]|0)|0;f=(f|0)>0?f:0;a[h+11>>0]=(f|0)<255?f:255;f=(c[ka>>2]|0)+(c[db>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+4>>0]|0)|0;f=(f|0)>0?f:0;a[h+4>>0]=(f|0)<255?f:255;f=(c[ib>>2]|0)-(c[ba>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+12>>0]|0)|0;f=(f|0)>0?f:0;a[h+12>>0]=(f|0)<255?f:255;f=(c[ta>>2]|0)+(c[fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+5>>0]|0)|0;f=(f|0)>0?f:0;a[h+5>>0]=(f|0)<255?f:255;f=(c[gb>>2]|0)-(c[U>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+13>>0]|0)|0;f=(f|0)>0?f:0;a[h+13>>0]=(f|0)<255?f:255;f=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+6>>0]|0)|0;f=(f|0)>0?f:0;a[h+6>>0]=(f|0)<255?f:255;f=(c[eb>>2]|0)-(c[L>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+14>>0]|0)|0;f=(f|0)>0?f:0;a[h+14>>0]=(f|0)<255?f:255;f=(c[La>>2]|0)+(c[jb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+7>>0]|0)|0;f=(f|0)>0?f:0;a[h+7>>0]=(f|0)<255?f:255;f=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[g+15>>0]|0)|0;f=(f|0)>0?f:0;a[h+15>>0]=(f|0)<255?f:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}}else{p=i*9|0;q=i*11|0;s=i*13|0;t=i*15|0;u=i<<1;v=i*6|0;w=i*10|0;x=i*14|0;y=b[16960]|0;z=i<<2;A=b[17088]|0;B=i*12|0;C=b[16896]|0;D=b[17024]|0;E=i<<3;F=b[16961]|0;G=b[17089]|0;H=b[16897]|0;I=b[17025]|0;J=b[16912]|0;K=b[16944]|0;L=b[16976]|0;M=b[17008]|0;N=b[17040]|0;O=b[17072]|0;P=b[17104]|0;Q=b[17136]|0;R=b[16913]|0;S=b[16945]|0;T=b[16977]|0;U=b[17009]|0;V=b[17041]|0;W=b[17073]|0;X=b[17105]|0;Y=b[17137]|0;Z=Fb+4|0;_=b[16914]|0;$=b[16946]|0;aa=b[16978]|0;ba=b[17010]|0;ca=b[17042]|0;da=b[17074]|0;ea=b[17106]|0;fa=b[17138]|0;ga=Fb+8|0;ha=b[16915]|0;ia=b[16947]|0;ja=b[16979]|0;ka=b[17011]|0;la=b[17043]|0;ma=b[17075]|0;na=b[17107]|0;oa=b[17139]|0;pa=Fb+12|0;qa=b[16916]|0;ra=b[16948]|0;sa=b[16980]|0;ta=b[17012]|0;ua=b[17044]|0;va=b[17076]|0;wa=b[17108]|0;xa=b[17140]|0;ya=Fb+16|0;za=b[16917]|0;Aa=b[16949]|0;Ba=b[16981]|0;Ca=b[17013]|0;Da=b[17045]|0;Ea=b[17077]|0;Fa=b[17109]|0;Ga=b[17141]|0;Ha=Fb+20|0;Ia=b[16918]|0;Ja=b[16950]|0;Ka=b[16982]|0;La=b[17014]|0;Ma=b[17046]|0;Na=b[17078]|0;Oa=b[17110]|0;Pa=b[17142]|0;Qa=Fb+24|0;Ra=b[16919]|0;Sa=b[16951]|0;Ta=b[16983]|0;Ua=b[17015]|0;Va=b[17047]|0;Wa=b[17079]|0;Xa=b[17111]|0;Ya=b[17143]|0;Za=Fb+28|0;_a=b[16928]|0;$a=b[16992]|0;ab=b[17056]|0;bb=b[17120]|0;cb=b[16929]|0;db=b[16993]|0;eb=b[17057]|0;fb=b[17121]|0;gb=Gb+4|0;hb=b[16930]|0;ib=b[16994]|0;jb=b[17058]|0;kb=b[17122]|0;lb=Gb+8|0;mb=b[16931]|0;nb=b[16995]|0;ob=b[17059]|0;pb=b[17123]|0;qb=Gb+12|0;rb=Hb+16|0;sb=Hb+4|0;tb=Hb+20|0;ub=Hb+8|0;vb=Hb+24|0;wb=Hb+12|0;xb=Hb+28|0;o=l;m=0;n=f;while(1){if(!(o&1)){Rb=b[e+(i<<1)>>1]|0;Qb=b[e+(yb<<1)>>1]|0;Bb=b[e+(zb<<1)>>1]|0;Ob=b[e+(Ab<<1)>>1]|0;Pb=b[e+(p<<1)>>1]|0;Mb=b[e+(q<<1)>>1]|0;l=b[e+(s<<1)>>1]|0;Kb=b[e+(t<<1)>>1]|0;c[Fb>>2]=(r(Qb,K)|0)+(r(Rb,J)|0)+(r(Bb,L)|0)+(r(Ob,M)|0)+(r(Pb,N)|0)+(r(Mb,O)|0)+(r(l,P)|0)+(r(Kb,Q)|0);c[Z>>2]=(r(Qb,S)|0)+(r(Rb,R)|0)+(r(Bb,T)|0)+(r(Ob,U)|0)+(r(Pb,V)|0)+(r(Mb,W)|0)+(r(l,X)|0)+(r(Kb,Y)|0);c[ga>>2]=(r(Qb,$)|0)+(r(Rb,_)|0)+(r(Bb,aa)|0)+(r(Ob,ba)|0)+(r(Pb,ca)|0)+(r(Mb,da)|0)+(r(l,ea)|0)+(r(Kb,fa)|0);c[pa>>2]=(r(Qb,ia)|0)+(r(Rb,ha)|0)+(r(Bb,ja)|0)+(r(Ob,ka)|0)+(r(Pb,la)|0)+(r(Mb,ma)|0)+(r(l,na)|0)+(r(Kb,oa)|0);c[ya>>2]=(r(Qb,ra)|0)+(r(Rb,qa)|0)+(r(Bb,sa)|0)+(r(Ob,ta)|0)+(r(Pb,ua)|0)+(r(Mb,va)|0)+(r(l,wa)|0)+(r(Kb,xa)|0);c[Ha>>2]=(r(Qb,Aa)|0)+(r(Rb,za)|0)+(r(Bb,Ba)|0)+(r(Ob,Ca)|0)+(r(Pb,Da)|0)+(r(Mb,Ea)|0)+(r(l,Fa)|0)+(r(Kb,Ga)|0);c[Qa>>2]=(r(Qb,Ja)|0)+(r(Rb,Ia)|0)+(r(Bb,Ka)|0)+(r(Ob,La)|0)+(r(Pb,Ma)|0)+(r(Mb,Na)|0)+(r(l,Oa)|0)+(r(Kb,Pa)|0);c[Za>>2]=(r(Qb,Sa)|0)+(r(Rb,Ra)|0)+(r(Bb,Ta)|0)+(r(Ob,Ua)|0)+(r(Pb,Va)|0)+(r(Mb,Wa)|0)+(r(l,Xa)|0)+(r(Kb,Ya)|0);Kb=b[e+(u<<1)>>1]|0;l=b[e+(v<<1)>>1]|0;Mb=b[e+(w<<1)>>1]|0;Pb=b[e+(x<<1)>>1]|0;Ob=(r(l,$a)|0)+(r(Kb,_a)|0)+(r(Mb,ab)|0)+(r(Pb,bb)|0)|0;c[Gb>>2]=Ob;Bb=(r(l,db)|0)+(r(Kb,cb)|0)+(r(Mb,eb)|0)+(r(Pb,fb)|0)|0;c[gb>>2]=Bb;Rb=(r(l,ib)|0)+(r(Kb,hb)|0)+(r(Mb,jb)|0)+(r(Pb,kb)|0)|0;c[lb>>2]=Rb;Pb=(r(l,nb)|0)+(r(Kb,mb)|0)+(r(Mb,ob)|0)+(r(Pb,pb)|0)|0;c[qb>>2]=Pb;Mb=b[e+(z<<1)>>1]|0;Kb=r(Mb,y)|0;l=b[e+(B<<1)>>1]|0;Kb=(r(l,A)|0)+Kb|0;Qb=b[e>>1]|0;Lb=r(Qb,C)|0;Nb=b[e+(E<<1)>>1]|0;Lb=(r(Nb,D)|0)+Lb|0;Mb=(r(G,l)|0)+(r(F,Mb)|0)|0;Qb=(r(I,Nb)|0)+(r(H,Qb)|0)|0;Nb=Kb+Lb|0;l=Qb-Mb|0;Qb=Mb+Qb|0;Kb=Lb-Kb|0;Ob=Ob+Nb|0;c[Hb>>2]=Ob;Lb=Kb-Pb|0;c[rb>>2]=Lb;Mb=Bb+Qb|0;c[sb>>2]=Mb;Jb=l-Rb|0;c[tb>>2]=Jb;l=Rb+l|0;c[ub>>2]=l;Bb=Qb-Bb|0;c[vb>>2]=Bb;Kb=Pb+Kb|0;c[wb>>2]=Kb;Nb=Nb-(c[Gb>>2]|0)|0;c[xb>>2]=Nb;Ob=(c[Fb>>2]|0)+Ob|0;b[n>>1]=(Ob|0)>4194239?32767:(Ob|0)<-4194368?-32768:(Ob+64|0)>>>7&65535;Nb=Nb-(c[Za>>2]|0)|0;b[n+16>>1]=(Nb|0)>4194239?32767:(Nb|0)<-4194368?-32768:(Nb+64|0)>>>7&65535;Mb=(c[Z>>2]|0)+Mb|0;b[n+2>>1]=(Mb|0)>4194239?32767:(Mb|0)<-4194368?-32768:(Mb+64|0)>>>7&65535;Bb=Bb-(c[Qa>>2]|0)|0;b[n+18>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=c[ga>>2]|0;l=Bb+l|0;b[n+4>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;l=c[Ha>>2]|0;Jb=Jb-l|0;b[n+20>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;Jb=c[pa>>2]|0;Kb=Jb+Kb|0;b[n+6>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Kb=c[ya>>2]|0;Lb=Lb-Kb|0;b[n+22>>1]=(Lb|0)>4194239?32767:(Lb|0)<-4194368?-32768:(Lb+64|0)>>>7&65535;Kb=Kb+(c[rb>>2]|0)|0;b[n+8>>1]=(Kb|0)>4194239?32767:(Kb|0)<-4194368?-32768:(Kb+64|0)>>>7&65535;Jb=(c[wb>>2]|0)-Jb|0;b[n+24>>1]=(Jb|0)>4194239?32767:(Jb|0)<-4194368?-32768:(Jb+64|0)>>>7&65535;l=l+(c[tb>>2]|0)|0;b[n+10>>1]=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;Bb=(c[ub>>2]|0)-Bb|0;b[n+26>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Qa>>2]|0)+(c[vb>>2]|0)|0;b[n+12>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[sb>>2]|0)-(c[Z>>2]|0)|0;b[n+28>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Za>>2]|0)+(c[xb>>2]|0)|0;b[n+14>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535;Bb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;b[n+30>>1]=(Bb|0)>4194239?32767:(Bb|0)<-4194368?-32768:(Bb+64|0)>>>7&65535}else{l=n;Bb=l+32|0;do{b[l>>1]=0;l=l+2|0}while((l|0)<(Bb|0))}m=m+1|0;if(m>>>0>=Db>>>0)break;else{o=o>>1;e=e+2|0;n=n+32|0}}if(Cb){n=b[16896]|0;o=b[16897]|0;p=b[16912]|0;q=b[16944]|0;s=b[16913]|0;t=b[16945]|0;u=Fb+4|0;v=b[16914]|0;w=b[16946]|0;x=Fb+8|0;y=b[16915]|0;z=b[16947]|0;A=Fb+12|0;B=b[16916]|0;C=b[16948]|0;D=Fb+16|0;E=b[16917]|0;F=b[16949]|0;G=Fb+20|0;H=b[16918]|0;I=b[16950]|0;J=Fb+24|0;K=b[16919]|0;L=b[16951]|0;M=Fb+28|0;N=b[16928]|0;O=b[16929]|0;P=Gb+4|0;Q=b[16930]|0;R=Gb+8|0;S=b[16931]|0;T=Gb+12|0;U=Hb+16|0;V=Hb+4|0;W=Hb+20|0;X=Hb+8|0;Y=Hb+24|0;Z=Hb+12|0;_=Hb+28|0;e=0;m=f;while(1){Ob=b[m+32>>1]|0;Qb=b[m+96>>1]|0;c[Fb>>2]=(r(Qb,q)|0)+(r(Ob,p)|0);c[u>>2]=(r(Qb,t)|0)+(r(Ob,s)|0);c[x>>2]=(r(Qb,w)|0)+(r(Ob,v)|0);c[A>>2]=(r(Qb,z)|0)+(r(Ob,y)|0);c[D>>2]=(r(Qb,C)|0)+(r(Ob,B)|0);c[G>>2]=(r(Qb,F)|0)+(r(Ob,E)|0);c[J>>2]=(r(Qb,I)|0)+(r(Ob,H)|0);c[M>>2]=(r(Qb,L)|0)+(r(Ob,K)|0);Ob=b[m+64>>1]|0;Qb=r(Ob,N)|0;c[Gb>>2]=Qb;Nb=r(Ob,O)|0;c[P>>2]=Nb;Lb=r(Ob,Q)|0;c[R>>2]=Lb;Ob=r(Ob,S)|0;c[T>>2]=Ob;Mb=b[m>>1]|0;Pb=r(Mb,n)|0;Mb=r(o,Mb)|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[U>>2]=Pb-Ob;c[V>>2]=Nb+Mb;c[W>>2]=Mb-Lb;c[X>>2]=Lb+Mb;c[Y>>2]=Mb-Nb;c[Z>>2]=Ob+Pb;c[_>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[_>>2]|0)-(c[M>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[u>>2]|0)+(c[V>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[x>>2]|0)+(c[X>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[W>>2]|0)-(c[G>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[A>>2]|0)+(c[Z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)-(c[D>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[D>>2]|0)+(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[Z>>2]|0)-(c[A>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[G>>2]|0)+(c[W>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[X>>2]|0)-(c[x>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[V>>2]|0)-(c[u>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[M>>2]|0)+(c[_>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{g=g+j|0;h=h+k|0;m=m+2|0}}Sb=Ib;return}kb=b[16960]|0;if(Eb){n=b[16896]|0;o=b[16961]|0;p=b[16897]|0;q=b[16912]|0;s=b[16944]|0;t=b[16976]|0;u=b[17008]|0;v=b[16913]|0;w=b[16945]|0;x=b[16977]|0;y=b[17009]|0;z=Fb+4|0;A=b[16914]|0;B=b[16946]|0;C=b[16978]|0;D=b[17010]|0;E=Fb+8|0;F=b[16915]|0;G=b[16947]|0;H=b[16979]|0;I=b[17011]|0;J=Fb+12|0;K=b[16916]|0;L=b[16948]|0;M=b[16980]|0;N=b[17012]|0;O=Fb+16|0;P=b[16917]|0;Q=b[16949]|0;R=b[16981]|0;S=b[17013]|0;T=Fb+20|0;U=b[16918]|0;V=b[16950]|0;W=b[16982]|0;X=b[17014]|0;Y=Fb+24|0;Z=b[16919]|0;_=b[16951]|0;$=b[16983]|0;aa=b[17015]|0;ba=Fb+28|0;ca=b[16928]|0;da=b[16992]|0;ea=b[16929]|0;fa=b[16993]|0;ga=Gb+4|0;ha=b[16930]|0;ia=b[16994]|0;ja=Gb+8|0;ka=b[16931]|0;la=b[16995]|0;ma=Gb+12|0;na=Hb+16|0;oa=Hb+4|0;pa=Hb+20|0;qa=Hb+8|0;ra=Hb+24|0;sa=Hb+12|0;ta=Hb+28|0;e=0;m=f;while(1){Qb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;f=b[m+160>>1]|0;Nb=b[m+224>>1]|0;c[Fb>>2]=(r(Mb,s)|0)+(r(Qb,q)|0)+(r(f,t)|0)+(r(Nb,u)|0);c[z>>2]=(r(Mb,w)|0)+(r(Qb,v)|0)+(r(f,x)|0)+(r(Nb,y)|0);c[E>>2]=(r(Mb,B)|0)+(r(Qb,A)|0)+(r(f,C)|0)+(r(Nb,D)|0);c[J>>2]=(r(Mb,G)|0)+(r(Qb,F)|0)+(r(f,H)|0)+(r(Nb,I)|0);c[O>>2]=(r(Mb,L)|0)+(r(Qb,K)|0)+(r(f,M)|0)+(r(Nb,N)|0);c[T>>2]=(r(Mb,Q)|0)+(r(Qb,P)|0)+(r(f,R)|0)+(r(Nb,S)|0);c[Y>>2]=(r(Mb,V)|0)+(r(Qb,U)|0)+(r(f,W)|0)+(r(Nb,X)|0);c[ba>>2]=(r(Mb,_)|0)+(r(Qb,Z)|0)+(r(f,$)|0)+(r(Nb,aa)|0);Nb=b[m+64>>1]|0;f=b[m+192>>1]|0;Qb=(r(f,da)|0)+(r(Nb,ca)|0)|0;c[Gb>>2]=Qb;Mb=(r(f,fa)|0)+(r(Nb,ea)|0)|0;c[ga>>2]=Mb;Jb=(r(f,ia)|0)+(r(Nb,ha)|0)|0;c[ja>>2]=Jb;Nb=(r(f,la)|0)+(r(Nb,ka)|0)|0;c[ma>>2]=Nb;f=b[m+128>>1]|0;Ob=r(f,kb)|0;Lb=b[m>>1]|0;Rb=r(Lb,n)|0;f=r(o,f)|0;Lb=r(p,Lb)|0;Pb=Ob+Rb|0;Kb=Lb-f|0;Lb=f+Lb|0;Ob=Rb-Ob|0;Rb=Qb+Pb|0;c[Hb>>2]=Rb;c[na>>2]=Ob-Nb;c[oa>>2]=Mb+Lb;c[pa>>2]=Kb-Jb;c[qa>>2]=Jb+Kb;c[ra>>2]=Lb-Mb;c[sa>>2]=Nb+Ob;c[ta>>2]=Pb-Qb;Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[z>>2]|0)+(c[oa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[ra>>2]|0)-(c[Y>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[E>>2]|0)+(c[qa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[pa>>2]|0)-(c[T>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[J>>2]|0)+(c[sa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[na>>2]|0)-(c[O>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[O>>2]|0)+(c[na>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[sa>>2]|0)-(c[J>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[T>>2]|0)+(c[pa>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[qa>>2]|0)-(c[E>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Y>>2]|0)+(c[ra>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[oa>>2]|0)-(c[z>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}else{n=b[17088]|0;o=b[16896]|0;p=b[17024]|0;q=b[16961]|0;s=b[17089]|0;t=b[16897]|0;u=b[17025]|0;v=b[16912]|0;w=b[16944]|0;x=b[16976]|0;y=b[17008]|0;z=b[17040]|0;A=b[17072]|0;B=b[17104]|0;C=b[17136]|0;D=b[16913]|0;E=b[16945]|0;F=b[16977]|0;G=b[17009]|0;H=b[17041]|0;I=b[17073]|0;J=b[17105]|0;K=b[17137]|0;L=Fb+4|0;M=b[16914]|0;N=b[16946]|0;O=b[16978]|0;P=b[17010]|0;Q=b[17042]|0;R=b[17074]|0;S=b[17106]|0;T=b[17138]|0;U=Fb+8|0;V=b[16915]|0;W=b[16947]|0;X=b[16979]|0;Y=b[17011]|0;Z=b[17043]|0;_=b[17075]|0;$=b[17107]|0;aa=b[17139]|0;ba=Fb+12|0;ca=b[16916]|0;da=b[16948]|0;ea=b[16980]|0;fa=b[17012]|0;ga=b[17044]|0;ha=b[17076]|0;ia=b[17108]|0;ja=b[17140]|0;ka=Fb+16|0;la=b[16917]|0;ma=b[16949]|0;na=b[16981]|0;oa=b[17013]|0;pa=b[17045]|0;qa=b[17077]|0;ra=b[17109]|0;sa=b[17141]|0;ta=Fb+20|0;ua=b[16918]|0;va=b[16950]|0;wa=b[16982]|0;xa=b[17014]|0;ya=b[17046]|0;za=b[17078]|0;Aa=b[17110]|0;Ba=b[17142]|0;Ca=Fb+24|0;Da=b[16919]|0;Ea=b[16951]|0;Fa=b[16983]|0;Ga=b[17015]|0;Ha=b[17047]|0;Ia=b[17079]|0;Ja=b[17111]|0;Ka=b[17143]|0;La=Fb+28|0;Ma=b[16928]|0;Na=b[16992]|0;Oa=b[17056]|0;Pa=b[17120]|0;Qa=b[16929]|0;Ra=b[16993]|0;Sa=b[17057]|0;Ta=b[17121]|0;Ua=Gb+4|0;Va=b[16930]|0;Wa=b[16994]|0;Xa=b[17058]|0;Ya=b[17122]|0;Za=Gb+8|0;_a=b[16931]|0;$a=b[16995]|0;ab=b[17059]|0;bb=b[17123]|0;cb=Gb+12|0;db=Hb+16|0;eb=Hb+4|0;fb=Hb+20|0;gb=Hb+8|0;hb=Hb+24|0;ib=Hb+12|0;jb=Hb+28|0;e=0;m=f;while(1){Kb=b[m+32>>1]|0;Mb=b[m+96>>1]|0;Nb=b[m+160>>1]|0;Rb=b[m+224>>1]|0;Ob=b[m+288>>1]|0;f=b[m+352>>1]|0;Lb=b[m+416>>1]|0;Pb=b[m+480>>1]|0;c[Fb>>2]=(r(Mb,w)|0)+(r(Kb,v)|0)+(r(Nb,x)|0)+(r(Rb,y)|0)+(r(Ob,z)|0)+(r(f,A)|0)+(r(Lb,B)|0)+(r(Pb,C)|0);c[L>>2]=(r(Mb,E)|0)+(r(Kb,D)|0)+(r(Nb,F)|0)+(r(Rb,G)|0)+(r(Ob,H)|0)+(r(f,I)|0)+(r(Lb,J)|0)+(r(Pb,K)|0);c[U>>2]=(r(Mb,N)|0)+(r(Kb,M)|0)+(r(Nb,O)|0)+(r(Rb,P)|0)+(r(Ob,Q)|0)+(r(f,R)|0)+(r(Lb,S)|0)+(r(Pb,T)|0);c[ba>>2]=(r(Mb,W)|0)+(r(Kb,V)|0)+(r(Nb,X)|0)+(r(Rb,Y)|0)+(r(Ob,Z)|0)+(r(f,_)|0)+(r(Lb,$)|0)+(r(Pb,aa)|0);c[ka>>2]=(r(Mb,da)|0)+(r(Kb,ca)|0)+(r(Nb,ea)|0)+(r(Rb,fa)|0)+(r(Ob,ga)|0)+(r(f,ha)|0)+(r(Lb,ia)|0)+(r(Pb,ja)|0);c[ta>>2]=(r(Mb,ma)|0)+(r(Kb,la)|0)+(r(Nb,na)|0)+(r(Rb,oa)|0)+(r(Ob,pa)|0)+(r(f,qa)|0)+(r(Lb,ra)|0)+(r(Pb,sa)|0);c[Ca>>2]=(r(Mb,va)|0)+(r(Kb,ua)|0)+(r(Nb,wa)|0)+(r(Rb,xa)|0)+(r(Ob,ya)|0)+(r(f,za)|0)+(r(Lb,Aa)|0)+(r(Pb,Ba)|0);c[La>>2]=(r(Mb,Ea)|0)+(r(Kb,Da)|0)+(r(Nb,Fa)|0)+(r(Rb,Ga)|0)+(r(Ob,Ha)|0)+(r(f,Ia)|0)+(r(Lb,Ja)|0)+(r(Pb,Ka)|0);Pb=b[m+64>>1]|0;Lb=b[m+192>>1]|0;f=b[m+320>>1]|0;Ob=b[m+448>>1]|0;Rb=(r(Lb,Na)|0)+(r(Pb,Ma)|0)+(r(f,Oa)|0)+(r(Ob,Pa)|0)|0;c[Gb>>2]=Rb;Nb=(r(Lb,Ra)|0)+(r(Pb,Qa)|0)+(r(f,Sa)|0)+(r(Ob,Ta)|0)|0;c[Ua>>2]=Nb;Kb=(r(Lb,Wa)|0)+(r(Pb,Va)|0)+(r(f,Xa)|0)+(r(Ob,Ya)|0)|0;c[Za>>2]=Kb;Ob=(r(Lb,$a)|0)+(r(Pb,_a)|0)+(r(f,ab)|0)+(r(Ob,bb)|0)|0;c[cb>>2]=Ob;f=b[m+128>>1]|0;Pb=r(f,kb)|0;Lb=b[m+384>>1]|0;Pb=(r(Lb,n)|0)+Pb|0;Mb=b[m>>1]|0;Jb=r(Mb,o)|0;Qb=b[m+256>>1]|0;Jb=(r(Qb,p)|0)+Jb|0;f=(r(s,Lb)|0)+(r(q,f)|0)|0;Mb=(r(u,Qb)|0)+(r(t,Mb)|0)|0;Qb=Pb+Jb|0;Lb=Mb-f|0;Mb=f+Mb|0;Pb=Jb-Pb|0;Rb=Rb+Qb|0;c[Hb>>2]=Rb;c[db>>2]=Pb-Ob;c[eb>>2]=Nb+Mb;c[fb>>2]=Lb-Kb;c[gb>>2]=Kb+Lb;c[hb>>2]=Mb-Nb;c[ib>>2]=Ob+Pb;c[jb>>2]=Qb-(c[Gb>>2]|0);Rb=(c[Fb>>2]|0)+Rb|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h>>0]=(Rb|0)<255?Rb:255;Rb=(c[jb>>2]|0)-(c[La>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+8>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+8>>0]=(Rb|0)<255?Rb:255;Rb=(c[L>>2]|0)+(c[eb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+1>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+1>>0]=(Rb|0)<255?Rb:255;Rb=(c[hb>>2]|0)-(c[Ca>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+9>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+9>>0]=(Rb|0)<255?Rb:255;Rb=(c[U>>2]|0)+(c[gb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+2>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+2>>0]=(Rb|0)<255?Rb:255;Rb=(c[fb>>2]|0)-(c[ta>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+10>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+10>>0]=(Rb|0)<255?Rb:255;Rb=(c[ba>>2]|0)+(c[ib>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+3>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+3>>0]=(Rb|0)<255?Rb:255;Rb=(c[db>>2]|0)-(c[ka>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+11>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+11>>0]=(Rb|0)<255?Rb:255;Rb=(c[ka>>2]|0)+(c[db>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+4>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+4>>0]=(Rb|0)<255?Rb:255;Rb=(c[ib>>2]|0)-(c[ba>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+12>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+12>>0]=(Rb|0)<255?Rb:255;Rb=(c[ta>>2]|0)+(c[fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+5>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+5>>0]=(Rb|0)<255?Rb:255;Rb=(c[gb>>2]|0)-(c[U>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+13>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+13>>0]=(Rb|0)<255?Rb:255;Rb=(c[Ca>>2]|0)+(c[hb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+6>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+6>>0]=(Rb|0)<255?Rb:255;Rb=(c[eb>>2]|0)-(c[L>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+14>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+14>>0]=(Rb|0)<255?Rb:255;Rb=(c[La>>2]|0)+(c[jb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+7>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+7>>0]=(Rb|0)<255?Rb:255;Rb=(c[Hb>>2]|0)-(c[Fb>>2]|0)|0;Rb=((Rb|0)>134215679?32767:(Rb|0)<-134219776?-32768:Rb+2048>>12)+(d[g+15>>0]|0)|0;Rb=(Rb|0)>0?Rb:0;a[h+15>>0]=(Rb|0)<255?Rb:255;e=e+1|0;if((e|0)==16)break;else{m=m+2|0;g=g+j|0;h=h+k|0}}Sb=Ib;return}}} |
| | | function Nh(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=Sb;Sb=Sb+32|0;ja=la;o=f+376|0;ka=f+660|0;ia=c[f+356>>2]|0;q=a[ia+10>>0]|0;if((a[ia+16>>0]|0)!=0?(i|0)==2&(c[f+464>>2]|0)==0:0)p=Fh(ka,o,(j|0)==0?40:41)|0;else p=0;n=(i<<1)+-1|0;ia=(j|0)!=0;if(ia){g=57;l=75;m=i+-2|0}else{l=(i*3|0)+-6+(i+-1>>2)|0;g=l+42|0;l=l+60|0;m=i+1>>2}h=Lh(ka,o,n,g,m,n)|0;g=Lh(ka,o,n,l,m,n)|0;if((h|0)>3)h=(Oh(ka,o,h+-2>>1)|0)+((h&1|2)<<(h>>>1)+-1)|0;if((g|0)>3)g=(Oh(ka,o,g+-2>>1)|0)+((g&1|2)<<(g>>>1)+-1)|0;do if((c[f+468>>2]|0)==1){if((i|0)!=2?!((i|0)==3&(j|0)==0):0){ha=0;break}ha=(k+-6|0)>>>0<9?2:(k+-22|0)>>>0<9&1}else ha=0;while(0);fa=(ha|0)==2;l=fa?h:g;h=fa?g:h;fa=f+404|0;ga=c[fa>>2]|0;a[ga>>0]=0;a[ga+1>>0]=ha<<1|p;c[fa>>2]=ga+2;ea=(i|0)>2;if(ea){g=c[25120+(i+-3+(ha*3|0)<<2)>>2]|0;da=d[g+((l>>2<<i+-2)+(h>>2))>>0]|0}else{da=0;g=0}h=d[(l<<2&12|h&3)+(25056+(ha<<4))>>0]|0;if(ea)ba=c[25168+(i+-3+(ha*3|0)<<2)>>2]|0;else ba=g;g=(i|0)==3;c[ja>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;c[ja+12>>2]=0;b[ja+16>>1]=0;do if(!ia)if(g){g=(ha|0)==0?91:97;X=124;break}else{g=(i|0)>3?103:82;X=124;break}else{g=g?118:(i|0)>3?121:109;X=140}while(0);Y=i+-2|0;Z=(1<<Y)+-1|0;_=ia?2:0;$=f+664|0;aa=h+-1|0;W=1<<h;V=(i|0)==2;O=(j|0)==0?82:109;P=ia^1;Q=f+388|0;R=f+380|0;S=f+392|0;T=f+384|0;U=f+464|0;N=q<<24>>24!=0;M=da;B=1;l=0;h=g;a:while(1){z=(M|0)!=0;if(ea&z)g=d[ba+M>>0]|0;else g=0;A=g&Z;x=g>>>Y;j=ja+(x<<1)|0;q=e[j>>1]|0;w=(e[ja+(x+1<<1)>>1]|0)>>>A<<1&2|q>>>(A+1|0)&1;L=(M|0)>0;if((M|0)<(da|0)&L){g=c[ka>>2]|0;m=c[$>>2]|0;o=((w|0)==0?78:79)+_+(f+668)|0;n=a[o>>0]|0;k=n&255;if(g>>>0<=255){ca=30;break}if(n<<24>>24<=-1){ca=32;break}n=s(g|0)|0;n=d[(g<<n+-1>>>28&3)+(64+(k>>>1<<2))>>0]<<23-n;K=g-n|0;i=m>>>0<K>>>0;g=m-(i?0:K)|0;n=i?K:n;i=k&1^(i^1)&1;a[o>>0]=a[320+(i|k<<1)>>0]|0;if(n>>>0<256){m=s(n|0)|0;p=m+-1|0;k=c[R>>2]|0;m=c[Q>>2]<<k>>>(33-m|0);k=k+p|0;c[R>>2]=k;if(k>>>0<=32){if((k|0)==32)ca=39}else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;m=o|m;ca=39}if((ca|0)==39){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=k+-32;c[S>>2]=ul(K|0)|0}n=n<<p;g=m|g<<p}c[ka>>2]=n;c[$>>2]=g;g=1<<A;if(!i){b[j>>1]=(g^65535)&q;g=B}else{o=1;ca=43}}else{o=0;g=1<<A;ca=43}if((ca|0)==43){ca=0;b[j>>1]=g|q;m=(M|0)==(da|0);g=m?W:0;n=m&1;m=m?aa:15;b:do if((m|0)>-1){v=z&P?3:0;u=n;while(1){if((m|0)==0&(o|0)!=0){n=u;break b}if(!V)if(!(m|M)){n=0;h=O}else n=v+(d[36480+(ha<<6)+(w<<4)+m>>0]|0)|0;else n=d[36672+(ha<<4)+m>>0]|0;n=h+n|0;k=c[ka>>2]|0;i=c[$>>2]|0;j=f+668+n|0;p=a[j>>0]|0;q=p&255;if(k>>>0<=255){ca=51;break a}if(n>>>0>=154){ca=53;break a}if(p<<24>>24<=-1){ca=55;break a}n=s(k|0)|0;n=d[(k<<n+-1>>>28&3)+(64+(q>>>1<<2))>>0]<<23-n;r=k-n|0;K=i>>>0<r>>>0;t=q&1^(K^1)&1;n=K?r:n;r=i-(K?0:r)|0;a[j>>0]=a[320+(t|q<<1)>>0]|0;if(n>>>0<256){k=s(n|0)|0;j=k+-1|0;i=c[R>>2]|0;k=c[Q>>2]<<i>>>(33-k|0);i=i+j|0;c[R>>2]=i;if(i>>>0<=32){if((i|0)==32)ca=62}else{p=64-i|0;if(p>>>0<32)p=(c[S>>2]|0)>>>p;else p=0;k=p|k;ca=62}if((ca|0)==62){ca=0;c[Q>>2]=c[S>>2];K=c[T>>2]|0;c[T>>2]=K+4;K=c[K>>2]|0;c[R>>2]=i+-32;c[S>>2]=ul(K|0)|0}k=k|r<<j;n=n<<j}else k=r;c[ka>>2]=n;c[$>>2]=k;o=(t|0)==0?o:0;g=t<<m|g;n=t+u|0;if((m|0)>0){m=m+-1|0;u=n}else break}}while(0);K=(o|0)!=0&1;y=g|K;K=n+K|0;if(!K)g=B;else{l=l+1|0;I=c[fa>>2]|0;b[I+2>>1]=y;b[I>>1]=x<<8|A;x=(z&P?2:0)|(B|0)==0;B=s(y|0)|0;C=31-B|0;B=y<<B;w=(x<<2)+X|0;t=0;u=B;n=0;g=1;v=C;while(1){if((u|0)<0){if((n|0)>=8){H=t;break}m=w+g|0;o=c[ka>>2]|0;p=c[$>>2]|0;i=f+668+m|0;k=a[i>>0]|0;j=k&255;if(o>>>0<=255){ca=70;break a}if(m>>>0>=154){ca=72;break a}if(k<<24>>24<=-1){ca=74;break a}m=s(o|0)|0;m=d[(o<<m+-1>>>28&3)+(64+(j>>>1<<2))>>0]<<23-m;q=o-m|0;H=p>>>0<q>>>0;r=j&1^(H^1)&1;m=H?q:m;q=p-(H?0:q)|0;a[i>>0]=a[320+(r|j<<1)>>0]|0;if(m>>>0<256){o=s(m|0)|0;i=o+-1|0;p=c[R>>2]|0;o=c[Q>>2]<<p>>>(33-o|0);p=p+i|0;c[R>>2]=p;if(p>>>0<=32){if((p|0)==32)ca=81}else{k=64-p|0;if(k>>>0<32)k=(c[S>>2]|0)>>>k;else k=0;o=k|o;ca=81}if((ca|0)==81){ca=0;c[Q>>2]=c[S>>2];H=c[T>>2]|0;c[T>>2]=H+4;H=c[H>>2]|0;c[R>>2]=p+-32;c[S>>2]=ul(H|0)|0}o=o|q<<i;m=m<<i}else o=q;c[ka>>2]=m;c[$>>2]=o;m=r<<v|t;n=n+1|0;g=(r|0)==0?g+((g|0)!=0&(g|0)<3&1)|0:0}else m=t;H=u<<1;o=s(H|0)|0;u=H<<o;if(!u){H=m;break}else{t=m;v=v+-1-o|0}}G=pl(y|0)|0;G=(y|0)==0?31:G;if((C-G|0)>3)u=(c[U>>2]|0)==0;else u=0;if(!H){F=0;t=-1;m=c[ka>>2]|0;i=c[$>>2]|0}else{t=31-(s(H|0)|0)|0;m=(ia?x|4:x)+148|0;n=c[ka>>2]|0;k=c[$>>2]|0;p=f+668+m|0;o=a[p>>0]|0;i=o&255;if(n>>>0<=255){ca=90;break}if(m>>>0>=154){ca=92;break}if(o<<24>>24<=-1){ca=94;break}q=s(n|0)|0;q=d[(n<<q+-1>>>28&3)+(64+(i>>>1<<2))>>0]<<23-q;j=n-q|0;F=k>>>0<j>>>0;r=i&1^(F^1)&1;q=F?j:q;j=k-(F?0:j)|0;a[p>>0]=a[320+(r|i<<1)>>0]|0;if(q>>>0<256){m=s(q|0)|0;k=m+-1|0;o=c[R>>2]|0;m=c[Q>>2]<<o>>>(33-m|0);o=o+k|0;c[R>>2]=o;if(o>>>0<=32){if((o|0)==32)ca=101}else{n=64-o|0;if(n>>>0<32)n=(c[S>>2]|0)>>>n;else n=0;m=n|m;ca=101}if((ca|0)==101){ca=0;c[Q>>2]=c[S>>2];F=c[T>>2]|0;c[T>>2]=F+4;F=c[F>>2]|0;c[R>>2]=o+-32;c[S>>2]=ul(F|0)|0}n=m|j<<k;m=q<<k}else{n=j;m=q}c[ka>>2]=m;c[$>>2]=n;F=r<<t;i=n}E=N&u;D=m>>>0>255;if(E){if(!D){ca=121;break}k=K+-1|0;if((K|0)<=1){ca=123;break}if((K|0)>=18){ca=125;break}o=c[Q>>2]|0;p=c[R>>2]|0;r=33-K|0;n=o<<p>>>r;p=p+k|0;c[R>>2]=p;if(p>>>0<=32)if((p|0)==32)ca=131;else{j=p;q=o}else{o=64-p|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=131}if((ca|0)==131){ca=0;q=c[S>>2]|0;c[Q>>2]=q;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=p+-32|0;c[R>>2]=j;c[S>>2]=ul(A|0)|0}p=i;o=0;do{k=k+-1|0;z=n>>>k&1|p<<1;A=z>>>0<m>>>0;p=z-(A?0:m)|0;o=o<<1|(A^1)&1}while((k|0)!=0);c[$>>2]=p;n=o<<r;o=q}else{if(!D){ca=106;break}if((K|0)<=0){ca=108;break}if((K|0)>=17){ca=110;break}o=c[Q>>2]|0;k=c[R>>2]|0;q=32-K|0;n=o<<k>>>q;k=k+K|0;c[R>>2]=k;if(k>>>0<=32)if((k|0)==32)ca=116;else j=k;else{o=64-k|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=116}if((ca|0)==116){ca=0;o=c[S>>2]|0;c[Q>>2]=o;A=c[T>>2]|0;c[T>>2]=A+4;A=c[A>>2]|0;j=k+-32|0;c[R>>2]=j;c[S>>2]=ul(A|0)|0}k=0;p=K;do{p=p+-1|0;z=n>>>p&1|i<<1;A=z>>>0<m>>>0;i=z-(A?0:m)|0;k=k<<1|(A^1)&1}while((p|0)!=0);c[$>>2]=i;n=k<<q;p=i}z=0;k=0;A=0;r=n;y=C;while(1){if((B|0)<0){x=1<<y;x=((x&H|0)==0?1:2)+((x&F|0)!=0&1)|0;if((x|0)==(((z|0)<8?((y|0)==(t|0)?3:2):1)|0)){q=19-A|0;if(!D){ca=141;break a}i=0;while(1){n=j+1|0;c[R>>2]=n;if((n|0)==32){w=c[S>>2]|0;c[Q>>2]=w;u=c[T>>2]|0;c[T>>2]=u+4;u=c[u>>2]|0;c[R>>2]=0;c[S>>2]=ul(u|0)|0;u=0}else{w=o;u=n}n=o<<j>>>31|p<<1;C=n>>>0<m>>>0;p=n-(C?0:m)|0;c[$>>2]=p;n=i+1|0;if((n|0)==(q|0)|C)break;else{i=n;o=w;j=u}}do if(i>>>0<3){v=i<<A;if(!A){n=v;j=u;o=w;break}if((A|0)<=0){ca=147;break a}if((A|0)>=17){ca=149;break a}n=w<<u>>>(32-A|0);j=u+A|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=155;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=155}if((ca|0)==155){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=ul(C|0)|0}q=A;i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i|v}else{v=i+-3|0;q=v+A|0;v=(1<<v)+2<<A;if(!q){n=v;j=u;o=w;break}if(q>>>0>=17){ca=161;break a}n=w<<u>>>(32-q|0);j=u+q|0;c[R>>2]=j;if(j>>>0<=32)if((j|0)==32)ca=167;else o=w;else{o=64-j|0;if(o>>>0<32)o=(c[S>>2]|0)>>>o;else o=0;n=o|n;ca=167}if((ca|0)==167){ca=0;o=c[S>>2]|0;c[Q>>2]=o;C=c[T>>2]|0;c[T>>2]=C+4;C=c[C>>2]|0;j=j+-32|0;c[R>>2]=j;c[S>>2]=ul(C|0)|0}i=0;do{q=q+-1|0;w=n>>>q&1|p<<1;C=w>>>0<m>>>0;i=i<<1|(C^1)&1;p=w-(C?0:m)|0}while((q|0)!=0);c[$>>2]=p;n=i+v|0}while(0);u=n+x|0}else u=x;n=(r|0)<0?0-u|0:u;i=u+k|0;if(E){n=(y|0)==(G|0)&((i|0)%2|0|0)==1?0-n|0:n;k=i}b[I+4+(z<<1)>>1]=n;q=z+1|0;r=r<<1;i=A+((A|0)<4&(u|0)>(3<<A|0)&1)|0}else{q=z;i=A}C=B<<1;n=s(C|0)|0;B=C<<n;if(!B)break;else{z=q;A=i;y=y+-1-n|0}}c[fa>>2]=(c[fa>>2]|0)+4+(K<<1)}}if(L){M=M+-1|0;B=g}else{ca=178;break}}switch(ca|0){case 30:{J(83012,83030,520,83062);break}case 32:{J(83628,83030,520,83062);break}case 51:{J(83012,83030,601,83062);break}case 53:{J(83091,83030,601,83062);break}case 55:{J(83628,83030,601,83062);break}case 70:{J(83012,83030,689,83062);break}case 72:{J(83091,83030,689,83062);break}case 74:{J(83628,83030,689,83062);break}case 90:{J(83012,83030,745,83062);break}case 92:{J(83091,83030,745,83062);break}case 94:{J(83628,83030,745,83062);break}case 106:{J(83012,83030,756,83062);break}case 108:{J(83144,83030,756,83062);break}case 110:{J(83160,83030,756,83062);break}case 121:{J(83012,83030,762,83062);break}case 123:{J(83177,83030,762,83062);break}case 125:{J(83199,83030,762,83062);break}case 141:{J(83012,83030,808,83062);break}case 147:{J(83222,83030,827,83062);break}case 149:{J(83239,83030,827,83062);break}case 161:{J(83257,83030,843,83062);break}case 178:{a[ga>>0]=l;Sb=la;return 0}}return 0}function Oh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a>>2]|0;j=a+4|0;a=c[j>>2]|0;if(k>>>0<=255)J(83012,82796,478,83275);if((d|0)<=0)J(83307,82796,479,83275);if((d|0)>=17)J(83321,82796,482,83275);i=b+12|0;g=b+4|0;h=c[g>>2]|0;f=c[i>>2]<<h>>>(32-d|0);h=h+d|0;c[g>>2]=h;if(h>>>0<=32){if((h|0)==32)e=12}else{e=64-h|0;if(e>>>0<32)e=(c[b+16>>2]|0)>>>e;else e=0;f=e|f;e=12}if((e|0)==12){e=b+16|0;c[i>>2]=c[e>>2];i=b+8|0;b=c[i>>2]|0;c[i>>2]=b+4;b=c[b>>2]|0;c[g>>2]=h+-32;c[e>>2]=ul(b|0)|0}e=0;do{d=d+-1|0;i=f>>>d&1|a<<1;b=i>>>0<k>>>0;a=i-(b?0:k)|0;e=e<<1|(b^1)&1}while((d|0)!=0);c[j>>2]=a;return e|0}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=a+12|0;g=a+4|0;e=c[g>>2]|0;d=c[f>>2]<<e>>>(32-b|0);e=e+b|0;c[g>>2]=e;if(e>>>0<=32){if((e|0)!=32){g=d;return g|0}}else{b=64-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;d=b|d}b=a+16|0;c[f>>2]=c[b>>2];a=a+8|0;f=c[a>>2]|0;c[a>>2]=f+4;f=c[f>>2]|0;c[g>>2]=e+-32;c[b>>2]=ul(f|0)|0;g=d;return g|0}function Qh(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=a+4|0;g=c[m>>2]|0;i=c[a>>2]|0;if((d|0)<=0)J(83412,82796,614,83646);if(i>>>0<=255)J(83012,82796,615,83646);l=b+12|0;k=b+4|0;j=c[k>>2]|0;f=32-d|0;e=c[l>>2]<<j>>>f;if(j>>>0>f>>>0){a=64-d-j|0;if(a>>>0<32)a=(c[b+16>>2]|0)>>>a;else a=0;a=a|e}else a=e;h=0;a=a<<f;while(1){f=a>>>31|g<<1;e=f>>>0<i>>>0;g=f-(e?0:i)|0;e=e^1;f=h+1|0;if(!((f|0)<(d|0)&e))break;else{h=f;a=a<<1}}e=e&1;a=f+j|0;c[k>>2]=a;if(a>>>0<=31){b=h+e|0;c[m>>2]=g;return b|0}d=b+16|0;c[l>>2]=c[d>>2];l=b+8|0;b=c[l>>2]|0;c[l>>2]=b+4;b=c[b>>2]|0;c[k>>2]=a+-32;c[d>>2]=ul(b|0)|0;b=h+e|0;c[m>>2]=g;return b|0}function Rh(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=Sb;Sb=Sb+16|0;E=F;j=c[e+360>>2]|0;i=c[e+456>>2]|0;C=(c[e+624>>2]|0)+(i<<1)|0;B=c[e+460>>2]|0;D=(c[e+628>>2]|0)+(B<<1)|0;if(!B)l=0;else l=(1<<(((g|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h+-8|0)/8|0)|0)+((g|0)/64|0)>>0]|0)!=0&1;do if(!i){if((c[e+332>>2]|0)==0?(c[e+336>>2]|0)==0:0){B=1;break}if(!(c[e+324>>2]|0))B=1;else k=7}else k=7;while(0);if((k|0)==7){B=g+-8|0;B=(1<<(((B|0)/8|0)&7)&d[(c[e+600>>2]|0)+(r(((b[j>>1]|0)+63|0)/64|0,(h|0)/8|0)|0)+((B|0)/64|0)>>0]|0)==0}t=1<<f;u=(t|0)/8|0;v=e+472|0;w=(c[v>>2]|0)==3;x=w?2:1;y=E+4|0;z=E+8|0;A=e+12192|0;s=0;i=l;while(1){o=(i|0)==0;p=D+(r(s,u)|0)|0;q=s<<1;if(B)i=1;else i=d[p>>0]|0;if(o)g=1;else g=d[C>>0]|0;do if((i|0)==(g|0))if(i>>>0<2){c[E>>2]=0;c[y>>2]=1;f=26;i=0;g=1;break}else{c[E>>2]=i;g=(i+29&31)+2|0;c[y>>2]=g;f=((i+-1|0)%32|0)+2|0;break}else{c[E>>2]=i;c[y>>2]=g;if((i|0)!=0&(g|0)!=0)f=0;else f=(i|0)!=1&(g|0)!=1?1:26}while(0);c[z>>2]=f;if((c[e+492+(q<<2)>>2]|0)==1)i=c[E+(c[e+508+(q<<2)>>2]<<2)>>2]|0;else{if((i|0)>(g|0)){c[y>>2]=i;c[E>>2]=g;h=g}else{h=i;i=g}if((h|0)>(f|0)){c[z>>2]=h;c[E>>2]=f;j=h;g=f}else{j=f;g=h}if((i|0)>(j|0)){c[z>>2]=i;c[y>>2]=j;h=j}else{h=i;i=j}n=c[e+524+(q<<2)>>2]|0;n=n+((n|0)>=(g|0)&1)|0;n=n+((n|0)>=(h|0)&1)|0;i=n+((n|0)>=(i|0)&1)|0}c[e+476+(q<<2)>>2]=i;n=i&255;m=((t|0)/(x|0)|0|0)/4|0;bc[c[A>>2]&15](p,n,m);bc[c[A>>2]&15](C,n,m);if(w){l=1;do{i=a[p>>0]|0;g=i&255;n=r(l,u)|0;if(o)h=1;else h=d[C+n>>0]|0;do if((h|0)==(g|0))if((i&255)<2){c[E>>2]=0;c[y>>2]=1;i=26;g=0;h=1;break}else{c[E>>2]=g;h=(i+29&31)+2&255;c[y>>2]=h;i=((g+-1|0)%32|0)+2|0;break}else{c[E>>2]=g;c[y>>2]=h;if(i<<24>>24!=0&(h|0)!=0)i=0;else i=i<<24>>24!=1&(h|0)!=1?1:26}while(0);c[z>>2]=i;k=l+q|0;if((c[e+492+(k<<2)>>2]|0)==1)i=c[E+(c[e+508+(k<<2)>>2]<<2)>>2]|0;else{if((g|0)>(h|0)){c[y>>2]=g;c[E>>2]=h;j=h}else{j=g;g=h}if((j|0)>(i|0)){c[z>>2]=j;c[E>>2]=i;f=j}else{f=i;i=j}if((g|0)>(f|0)){c[z>>2]=g;c[y>>2]=f;h=f}else{h=g;g=f}f=c[e+524+(k<<2)>>2]|0;i=f+((f|0)>=(i|0)&1)|0;i=i+((i|0)>=(h|0)&1)|0;i=i+((i|0)>=(g|0)&1)|0}c[e+476+(k<<2)>>2]=i;k=i&255;bc[c[A>>2]&15](p,k,m);bc[c[A>>2]&15](C+n|0,k,m);l=l+1|0}while(l>>>0<x>>>0)}s=s+1|0;if(s>>>0>=x>>>0)break;else i=1}if(c[v>>2]|0){Sb=F;return}E=c[e+476>>2]|0;c[e+480>>2]=E;c[e+484>>2]=E;c[e+488>>2]=E;Sb=F;return}function Sh(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;m=d+376|0;n=d+660|0;o=c[d+648>>2]|0;do if(!(a[o+76>>0]|0)){l=c[e+12>>2]|0;if(((l>>>6&60)+(l>>>10&60)|0)!=4?Fh(n,m,(c[d+976>>2]|0)+20|0)|0:0){f=2;p=4;break}f=Fh(n,m,24)|0;g=e+8|0;a[g>>0]=0;h=e+9|0;a[h>>0]=0;if((f|0)==1)f=1;else{k=g;l=h;p=6}}else{f=0;p=4}while(0);if((p|0)==4){k=e+8|0;a[k>>0]=0;l=e+9|0;a[l>>0]=0;p=6}if((p|0)==6){h=a[o+160>>0]|0;i=h<<24>>24;if(h<<24>>24>1){g=Fh(n,m,25)|0;if(h<<24>>24!=2&(g|0)!=0){j=Fh(n,m,26)|0;if(h<<24>>24>3&(j|0)!=0)g=(Qh(n,m,i+-3|0)|0)+2|0;else g=j+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=11}}else{g=0;p=11}if((p|0)==11)g=g&255;a[k>>0]=g;Th(d,e)|0;h=Fh(n,m,29)|0;g=e+12|0;h=c[g>>2]&-8388609|h<<23&8388608;c[g>>2]=h;if(!f){o=0;p=g;n=h;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}else h=l}i=a[o+161>>0]|0;j=i<<24>>24;if(i<<24>>24>1){g=Fh(n,m,25)|0;if(i<<24>>24!=2&(g|0)!=0){k=Fh(n,m,26)|0;if(i<<24>>24>3&(k|0)!=0)g=(Qh(n,m,j+-3|0)|0)+2|0;else g=k+g|0}if((g|0)>15)g=15;else{g=(g|0)>0?g:0;p=18}}else{g=0;p=18}if((p|0)==18)g=g&255;a[h>>0]=g;if((f|0)==2&(a[o+162>>0]|0)!=0){b[e+4>>1]=0;b[e+6>>1]=0}else Th(d,e+4|0)|0;n=Fh(n,m,29)|0;p=e+12|0;n=c[p>>2]&-16777217|n<<24&16777216;c[p>>2]=n;o=f;o=o<<17;o=o&393216;n=n&-393217;o=n|o;c[p>>2]=o;return 0}function Th(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+376|0;h=a+660|0;e=Fh(h,i,27)|0;a=Fh(h,i,27)|0;e=(e|0)!=0;if(e)d=Fh(h,i,28)|0;else d=0;g=(a|0)!=0;if(g)f=Fh(h,i,28)|0;else f=0;if(e){if(!d)a=1;else a=(Mh(h,i,1)|0)+2|0;e=(Ih(h,i)|0)==0;a=(e?a:0-a|0)&65535}else a=0;b[c>>1]=a;if(!g){h=0;i=c+2|0;b[i>>1]=h;return 0}if(!f)a=1;else a=(Mh(h,i,1)|0)+2|0;h=(Ih(h,i)|0)==0;h=(h?a:0-a|0)&65535;i=c+2|0;b[i>>1]=h;return 0}function Uh(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,s=0;p=c[d+360>>2]|0;o=a[(a[p+14>>0]|0)+-1+(p+25)>>0]|0;s=o<<24>>24;h=s+1|0;c[d+232>>2]=h;g=c[d+236>>2]|0;h=h*40980|0;c[d+228>>2]=g;i=b[p>>1]|0;q=p+2|0;j=b[q>>1]|0;f=r((j<<16>>16)+63&-64,(i<<16>>16)+63&-64)|0;e=(f|0)/16|0;f=(f|0)/256|0;if(o<<24>>24<0){d=0;return d|0}n=-4-e+(r(f,-4)|0)+(r(e,-16)|0)-((f<<1)+3&-4)|0;o=d+224|0;l=0;k=(c[d+240>>2]|0)-h|0;m=g;h=g+h|0;f=i;e=j;while(1){e=r((e<<16>>16)+63&-64,(f<<16>>16)+63&-64)|0;g=(e|0)/16|0;e=(e|0)/256|0;f=n+k|0;if((f|0)<0){f=4;break}c[m>>2]=h;k=h+((e<<2)+4)|0;c[m+8>>2]=k;k=k+g|0;c[m+12>>2]=k;e=k+((e<<1)+3&-4)|0;c[m+4>>2]=e;if(de(c[o>>2]|0,m,l)|0){f=6;break}if((l|0)>=(s|0)){e=0;f=9;break}l=l+1|0;k=f;m=m+40980|0;h=e+(g<<4)|0;f=b[p>>1]|0;e=b[q>>1]|0}if((f|0)==4){c[d+652>>2]=981;d=981;return d|0}else if((f|0)==6){c[d+652>>2]=983;d=983;return d|0}else if((f|0)==9)return e|0;return 0}function Vh(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=c[d+360>>2]|0;e=(a[m+14>>0]|0)+-1|0;f=a[m+25+e>>0]|0;if((c[d+11636>>2]|0)!=1)f=(a[m+32+e>>0]|0)+f|0;if(c[d+56>>2]|0){g=d+244|0;h=d+20|0;e=0;while(1){i=ie(c[g>>2]|0,e)|0;if(!i){y=0;e=23;break}j=c[i>>2]|0;if(!j){y=0;e=23;break}k=i+4|0;l=c[k>>2]|0;if(!l){y=0;e=23;break}y=c[h>>2]|0;c[i>>2]=j+((y*80|0)+80);c[k>>2]=l+((y*40|0)+80);e=e+1|0;if(e>>>0>=64){y=0;e=23;break}}if((e|0)==23)return y|0}x=d+20|0;o=r((b[m+2>>1]|0)+160|0,c[x>>2]|0)|0;p=(o|0)/2|0;if((f|0)<0){d=0;return d|0}q=p+o|0;s=d+4|0;t=d+244|0;k=0;l=c[d+11628>>2]|0;m=c[d+248>>2]|0;n=c[d+256>>2]|0;while(1){n=n-q|0;if((n|0)<0){e=7;break}u=c[x>>2]|0;e=l+(u*80|0)+80|0;c[m>>2]=e;w=l+o|0;v=m+4|0;c[v>>2]=w+(u*40|0)+80;l=w+p|0;w=c[d>>2]|0;h=c[s>>2]|0;if((h|0)>0){g=0;while(1){a[e+-1>>0]=0;a[e+w>>0]=0;g=g+1|0;if((g|0)==(h|0))break;else e=e+u|0}e=c[m>>2]|0}j=0-u|0;i=w+2|0;xl(e+j+-1|0,0,i|0)|0;xl(e+(r(h,u)|0)+-1|0,0,i|0)|0;i=h>>1;if((h|0)>1){h=w+1|0;e=c[v>>2]|0;g=0;while(1){a[e+-1>>0]=0;a[e+-2>>0]=0;a[e+w>>0]=0;a[e+h>>0]=0;g=g+1|0;if((g|0)>=(i|0))break;else e=e+u|0}}v=c[v>>2]|0;w=w+4|0;xl(v+j+-2|0,0,w|0)|0;xl(v+(r(i,u)|0)+-2|0,0,w|0)|0;if(de(c[t>>2]|0,m,k)|0){e=16;break}if((k|0)>=(f|0)){y=0;e=23;break}else{k=k+1|0;m=m+8476|0}}if((e|0)==7){c[d+652>>2]=982;d=982;return d|0}else if((e|0)==16){c[d+652>>2]=983;d=983;return d|0}else if((e|0)==23)return y|0;return 0}function Wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;if(!f){f=0;return f|0}e=0;while(1){d=c[a+264+(e<<2)>>2]|0;if(d|0?(c[d+16>>2]|0)==(b|0):0){e=6;break}e=e+1|0;if(e>>>0>=f>>>0){e=6;break}}if((e|0)==6)return d|0;return 0}function Xh(a){a=a|0;var b=0,d=0;b=a+16|0;if(kg(c[b>>2]|0)|0){b=2147483647;return b|0}d=c[a>>2]|0;c[a+4>>2]=d;c[a+8>>2]=d;c[a+20>>2]=0;b=(lg(c[b>>2]|0)|0)==0;b=b?0:2147483647;return b|0}function Yh(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;t=Sb;Sb=Sb+16|0;f=t;o=d+136|0;if(ah(c[o>>2]|0,f,16,1)|0){Sb=t;return}p=f+8|0;q=d+140|0;r=f+4|0;s=d+4|0;g=f+6|0;h=d+8|0;i=f+10|0;j=d+32|0;k=f+12|0;l=d+276|0;m=d+44|0;n=d+272|0;do{c[q>>2]=b[p>>1];c[s>>2]=b[r>>1];e=b[g>>1]|0;c[h>>2]=e;c[j>>2]=b[i>>1];switch(c[f>>2]|0){case 0:{Sg(d,c[k>>2]|0);bh(d)|0;break}case 1:{if(!(c[l>>2]|0)){Sg(d,0);e=b[g>>1]|0}w=c[d>>2]|0;v=c[n>>2]|0;u=a[(c[m>>2]|0)+4116>>0]|0;x=1<<u;u=e<<u;e=(c[w+12>>2]|0)-u|0;e=(x|0)<(e|0)?x:e;Ug(w,d,c[v+4>>2]|0,c[v+8>>2]|0,c[v+12>>2]|0,u,(e|0)>0?e:0)|0;break}default:{}}}while(!(ah(c[o>>2]|0,f,16,1)|0));Sb=t;return}function Zh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;F=f+376|0;W=a[g>>0]|0;X=f+128|0;if((c[X>>2]|0)==1){X=0;return X|0}o=(W+-19&255)<2;l=Ph(F,1)|0;n=(W&-8)<<24>>24==16;if(n)m=Ph(F,1)|0;else m=0;C=li(F)|0;C=(C|0)>0?C:0;C=(C|0)<63?C:63;D=c[f+640>>2]|0;H=D+(C*68|0)|0;if(!(a[D+(C*68|0)+67>>0]|0)){h=c[f+300>>2]|0;j=h;a:do if(!(a[h+67>>0]|0)){while(1){i=h+68|0;if((i-j|0)>4284){h=980;break}if(!(a[h+135>>0]|0))h=i;else{h=i;break a}}return h|0}while(0);bi(f,C,a[h+8>>0]|0)}R=a[D+(C*68|0)+9>>0]|0;S=c[f+636>>2]|0;z=S+(R*8976|0)|0;A=f+136|0;if(!(c[A>>2]|0)){h=c[f+84>>2]|0;if(!((l|0)!=0&(h|0)!=0))if(!l)I=18;else I=17;else I=14}else{h=c[f+84>>2]|0;if(l)if(!h){c[X>>2]=0;I=17}else I=14;else I=18}do if((I|0)==14){c[X>>2]=1;W=f+344|0;X=c[W>>2]|0;X=(X|0)<1?0:X+-1|0;c[W>>2]=X;W=c[f+644>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}else if((I|0)==17){V=f+344|0;c[V>>2]=0;h=0;Q=1}else if((I|0)==18){i=f+344|0;if(!h){c[i>>2]=1;V=i;h=1;Q=0;break}else{V=i;h=c[i>>2]|0;Q=0;break}}while(0);P=f+644|0;U=c[P>>2]|0;T=h&255;y=U+(T*1272|0)|0;if(Q|(a[D+(C*68|0)+26>>0]|0)==0)h=0;else{h=Ph(F,1)|0;if(h|0?(k=c[V>>2]|0,(k|0)>0):0)si(f,k&255,k+255&255);h=h&255}a[U+(T*1272|0)+75>>0]=h;x=U+(T*1272|0)+1260|0;a[x>>0]=W;w=U+(T*1272|0)+73|0;N=l&255;O=U+(T*1272|0)+72|0;a[O>>0]=N;a[U+(T*1272|0)+74>>0]=n?m&255:1;a[w>>0]=C;do if(!(N<<24>>24)){N=S+(R*8976|0)+4128|0;h=Ph(F,32-(s((c[N>>2]|0)+-1|0)|0)|0)|0;if((h|0)<1?1:(h|0)>=(c[N>>2]|0)){X=987;return X|0}else{v=U+(T*1272|0)+75|0;K=h;N=v;h=a[v>>0]|0;break}}else{K=0;N=U+(T*1272|0)+75|0}while(0);do if(!(h<<24>>24)){j=U+(T*1272|0)+77|0;a[j>>0]=1;k=U+(T*1272|0)+80|0;c[k>>2]=0;q=U+(T*1272|0)+90|0;a[q>>0]=0;t=U+(T*1272|0)+91|0;a[t>>0]=0;i=D+(C*68|0)+42|0;if((a[i>>0]|0)>0){h=0;do{Ph(F,1)|0;h=h+1|0}while((h|0)<(a[i>>0]|0))}u=(li(F)|0)&255;v=U+(T*1272|0)+76|0;u=(a[x>>0]&-8)<<24>>24==16?2:u;a[v>>0]=u;if((u&255)>2){X=987;return X|0}if(a[D+(C*68|0)+24>>0]|0)a[j>>0]=Ph(F,1)|0;h=U+(T*1272|0)+78|0;a[h>>0]=0;if((a[S+(R*8976|0)+18>>0]|0)==1)a[h>>0]=Ph(F,2)|0;u=U+(T*1272|0)+158|0;a[u>>0]=0;if(!o){p=S+(R*8976|0)+23|0;c[k>>2]=Ph(F,a[p>>0]|0)|0;o=Ph(F,1)|0;a[U+(T*1272|0)+88>>0]=o;if((o&255|0)==1){h=U+(T*1272|0)+89|0;a[h>>0]=0;i=a[S+(R*8976|0)+60>>0]|0;if(i<<24>>24>1){o=Ph(F,32-(s((i<<24>>24)+-1|0)|0)|0)|0;a[h>>0]=o;h=o}else h=0;m=h<<24>>24;o=S+(R*8976|0)+4488+(m*70|0)+35|0;l=a[S+(R*8976|0)+4488+(m*70|0)+34>>0]|0;m=a[S+(R*8976|0)+4488+(m*70|0)+33>>0]|0}else{o=a[S+(R*8976|0)+60>>0]|0;pi(F,S+(R*8976|0)+4488|0,o,o,U+(T*1272|0)+188|0)|0;o=U+(T*1272|0)+223|0;l=a[U+(T*1272|0)+222>>0]|0;m=a[U+(T*1272|0)+221>>0]|0}if(a[S+(R*8976|0)+61>>0]|0){n=S+(R*8976|0)+62|0;if((a[n>>0]|0)>0){j=(li(F)|0)<<24;k=j>>24;h=16-m-l|0;a[q>>0]=(k|0)>(h|0)?h:(j|0)<0?0:k}else h=16-m-l|0;j=(li(F)|0)<<24;k=j>>24;i=a[q>>0]|0;h=h-i|0;k=(k|0)>(h|0)?h:(j|0)<0?0:k;a[t>>0]=k;if(((k<<24>>24)+i|0)>0){k=0;do{if((k|0)<(i|0)){h=a[n>>0]|0;if(h<<24>>24>1)h=Ph(F,32-(s((h<<24>>24)+-1|0)|0)|0)|0;else h=0;c[U+(T*1272|0)+4+(k<<2)>>2]=e[S+(R*8976|0)+64+(h<<1)>>1];h=a[S+(R*8976|0)+128+h>>0]|0}else{c[U+(T*1272|0)+4+(k<<2)>>2]=Ph(F,a[p>>0]|0)|0;h=(Ph(F,1)|0)&255}a[U+(T*1272|0)+108+k>>0]=h;j=(Ph(F,1)|0)&255;a[U+(T*1272|0)+124+k>>0]=j;h=U+(T*1272|0)+140+k|0;a[h>>0]=0;if(!(j<<24>>24))j=0;else{j=li(F)|0;a[h>>0]=j}i=a[q>>0]|0;if(!((k|0)==0|(k|0)==(i|0)))a[h>>0]=j+(d[k+-1+(U+(T*1272|0)+140)>>0]|0);k=k+1|0}while((k|0)<(i+(a[t>>0]|0)|0))}}j=l+m|0;if((j|0)>0){h=0;i=0;do{h=h+((a[o+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)!=(j|0))}else h=0;j=(a[t>>0]|0)+(a[q>>0]|0)|0;if((j|0)>0){i=0;do{h=h+((a[U+(T*1272|0)+108+i>>0]|0)!=0&1)|0;i=i+1|0}while((i|0)<(j|0))}if(a[S+(R*8976|0)+160>>0]|0)a[u>>0]=Ph(F,1)|0}else h=0;p=U+(T*1272|0)+156|0;a[p>>0]=0;q=U+(T*1272|0)+157|0;a[q>>0]=0;if(a[S+(R*8976|0)+57>>0]|0){a[p>>0]=Ph(F,1)|0;a[q>>0]=Ph(F,1)|0}m=U+(T*1272|0)+166|0;a[m>>0]=1;j=U+(T*1272|0)+163|0;a[j>>0]=0;k=U+(T*1272|0)+160|0;a[k>>0]=0;l=U+(T*1272|0)+161|0;a[l>>0]=0;n=U+(T*1272|0)+168|0;a[n>>0]=0;o=U+(T*1272|0)+169|0;a[o>>0]=0;do if((d[v>>0]|0)<2){t=(Ph(F,1)|0)&255;a[U+(T*1272|0)+159>>0]=t;if(!(t<<24>>24)){i=a[D+(C*68|0)+12>>0]|0;a[k>>0]=i;if(!(a[v>>0]|0))a[l>>0]=a[D+(C*68|0)+13>>0]|0}else{i=(li(F)|0)+1&255;a[k>>0]=i;if(!(a[v>>0]|0)){a[l>>0]=(li(F)|0)+1;i=a[k>>0]|0}}t=i<<24>>24>0?i:0;a[k>>0]=t<<24>>24<15?t:15;t=a[l>>0]|0;t=t<<24>>24>0?t:0;a[l>>0]=t<<24>>24<15?t:15;if(!h){X=987;return X|0}if((h|0)>1?(a[D+(C*68|0)+41>>0]|0)!=0:0)ti(F,y,h)|0;else{a[U+(T*1272|0)+708>>0]=0;a[U+(T*1272|0)+725>>0]=0}if(!(a[v>>0]|0))a[U+(T*1272|0)+162>>0]=Ph(F,1)|0;a[j>>0]=0;if(a[D+(C*68|0)+11>>0]|0)a[j>>0]=Ph(F,1)|0;h=U+(T*1272|0)+164|0;a[h>>0]=1;i=U+(T*1272|0)+165|0;a[i>>0]=0;b:do if(a[u>>0]|0){do if(!(a[v>>0]|0)){u=(Ph(F,1)|0)&255;a[h>>0]=u;if(u<<24>>24){I=88;break}if((a[l>>0]|0)<=1)break b}else I=88;while(0);if((I|0)==88?(a[k>>0]|0)<=1:0)break;a[i>>0]=li(F)|0}while(0);I=a[i>>0]|0;I=I<<24>>24>0?I:0;a[i>>0]=I<<24>>24<15?I:15;if((a[D+(C*68|0)+22>>0]|0)!=0?(a[v>>0]|0)==1:0)I=95;else I=93;do if((I|0)==93){if(!(a[D+(C*68|0)+23>>0]|0))break;if(!(a[v>>0]|0))I=95}while(0);if((I|0)==95)ui(F,z,H,y)|0;h=5-(li(F)|0)&255;a[m>>0]=h;if(h<<24>>24<=1){h=1;I=98;break}if(h<<24>>24<5)I=98;else h=5}else{h=1;I=98}while(0);a[m>>0]=h;a[U+(T*1272|0)+167>>0]=mi(F)|0;if(a[D+(C*68|0)+21>>0]|0){a[n>>0]=mi(F)|0;a[o>>0]=mi(F)|0}i=U+(T*1272|0)+170|0;a[i>>0]=0;h=a[D+(C*68|0)+37>>0]|0;j=U+(T*1272|0)+171|0;a[j>>0]=h;k=U+(T*1272|0)+172|0;a[k>>0]=a[D+(C*68|0)+38>>0]|0;l=U+(T*1272|0)+173|0;a[l>>0]=a[D+(C*68|0)+39>>0]|0;h=h<<24>>24;do if(((a[D+(C*68|0)+35>>0]|0)!=0?(a[D+(C*68|0)+36>>0]|0)!=0:0)?(I=(Ph(F,1)|0)&255,a[i>>0]=I,I<<24>>24!=0):0){h=Ph(F,1)|0;I=h&255;a[j>>0]=I;h=h<<24>>24;if(I<<24>>24)break;a[k>>0]=mi(F)|0;a[l>>0]=mi(F)|0}while(0);I=a[D+(C*68|0)+34>>0]|0;i=U+(T*1272|0)+174|0;a[i>>0]=I;if(I<<24>>24){if((a[p>>0]|0)==0?(h|0)!=0&(a[q>>0]|0)==0:0)break;a[i>>0]=Ph(F,1)|0}}while(0);u=f+84|0;h=(c[u>>2]|0)==0;if(Q)if(h)I=115;else I=116;else if(!h){h=c[f+304>>2]|0;if((a[h+73>>0]|0)!=(a[w>>0]|0)){X=987;return X|0}if((c[h+80>>2]|0)==(c[U+(T*1272|0)+80>>2]|0))I=116;else{X=987;return X|0}}else I=115;if((I|0)==115){j=f+1448|0;h=vi(f,g,a[S+(R*8976|0)+23>>0]|0,c[U+(T*1272|0)+80>>2]|0)|0}else if((I|0)==116){h=f+1448|0;j=h;h=c[h>>2]|0}t=U+(T*1272|0)+84|0;c[t>>2]=h;i=(c[j>>2]|0)==(h|0);do if(Q)if(i){X=987;return X|0}else{c[j>>2]=h;i=0;break}else if(i){h=c[f+984>>2]|0;if((K|0)>(h|0)){if(!(c[u>>2]|0))h=987;else{i=1;break}return h|0}if((K|0)<(h|0)){X=987;return X|0}else{c[X>>2]=0;i=0;break}}else{if(c[u>>2]|0){c[X>>2]=1;X=c[V>>2]|0;X=(X|0)<1?0:X+-1|0;c[V>>2]=X;W=c[P>>2]|0;X=X+1&255;b[W+(X*1272|0)+872>>1]=0;b[W+(X*1272|0)+874>>1]=b[(c[f+360>>2]|0)+4120>>1]|0;X=0;return X|0}if(!(a[N>>0]|0)){c[j>>2]=h;i=0;break}else{X=987;return X|0}}while(0);k=U+(T*1272|0)+176|0;c[k>>2]=0;h=D+(C*68|0)+27|0;if(!((a[h>>0]|0)==0?!(a[D+(C*68|0)+28>>0]|0):0)){j=li(F)|0;c[k>>2]=j;do if(a[h>>0]|0){h=a[D+(C*68|0)+30>>0]|0;if(!(a[D+(C*68|0)+28>>0]|0)){h=r(a[D+(C*68|0)+31>>0]|0,h)|0;break}else{h=r((b[S+(R*8976|0)+4120>>1]|0)+-1|0,h)|0;break}}else h=(b[S+(R*8976|0)+4120>>1]|0)+-1|0;while(0);g=(j|0)>(h|0)?h:(j|0)>0?j:0;c[k>>2]=g;if(((g|0)>0?(B=(li(F)|0)+1|0,E=U+(T*1272|0)+180|0,a[E>>0]=B,(c[k>>2]|0)>0):0)?(Ph(F,B<<24>>24)|0,(c[k>>2]|0)>1):0){h=1;do{Ph(F,a[E>>0]|0)|0;h=h+1|0}while((h|0)<(c[k>>2]|0))}}if(a[D+(C*68|0)+44>>0]|0?(E=li(F)|0,G=U+(T*1272|0)+68|0,b[G>>1]=E,(E<<16|0)>0):0){h=0;do{Ph(F,8)|0;h=h+1|0}while((h|0)<(b[G>>1]|0))}Dh(F);if((c[f+384>>2]|0)>>>0>(c[f+396>>2]|0)>>>0){X=979;return X|0}q=f+276|0;p=c[q>>2]|0;if(((a[x>>0]|0)+-16&255)>=5?(c[A>>2]|0)!=0:0){h=wi(f,H,z,y)|0;if(h|0){X=h;return X|0}}else{l=f+244|0;m=f+228|0;n=f+232|0;o=f+224|0;k=0;do{h=c[p+4+(k<<3)>>2]|0;c:do if(h|0?(L=h+8|0,Le(c[q>>2]|0,c[l>>2]|0,c[L>>2]|0),M=c[n>>2]|0,(M|0)>0):0){j=c[m>>2]|0;h=0;while(1){if(j|0?(c[j+16>>2]|0)==(c[L>>2]|0):0)break;h=h+1|0;if((h|0)<(M|0))j=j+40980|0;else break c}ge(c[o>>2]|0,h,2)|0}while(0);k=k+1|0}while((k|0)!=64);c[U+(T*1272|0)+876>>2]=0;c[U+(T*1272|0)+880>>2]=0;c[U+(T*1272|0)+1068>>2]=0;c[U+(T*1272|0)+1072>>2]=0;c[U+(T*1272|0)+888>>2]=0;c[U+(T*1272|0)+892>>2]=0;c[U+(T*1272|0)+1080>>2]=0;c[U+(T*1272|0)+1084>>2]=0;c[U+(T*1272|0)+900>>2]=0;c[U+(T*1272|0)+904>>2]=0;c[U+(T*1272|0)+1092>>2]=0;c[U+(T*1272|0)+1096>>2]=0;c[U+(T*1272|0)+912>>2]=0;c[U+(T*1272|0)+916>>2]=0;c[U+(T*1272|0)+1104>>2]=0;c[U+(T*1272|0)+1108>>2]=0;c[U+(T*1272|0)+924>>2]=0;c[U+(T*1272|0)+928>>2]=0;c[U+(T*1272|0)+1116>>2]=0;c[U+(T*1272|0)+1120>>2]=0;c[U+(T*1272|0)+936>>2]=0;c[U+(T*1272|0)+940>>2]=0;c[U+(T*1272|0)+1128>>2]=0;c[U+(T*1272|0)+1132>>2]=0;c[U+(T*1272|0)+948>>2]=0;c[U+(T*1272|0)+952>>2]=0;c[U+(T*1272|0)+1140>>2]=0;c[U+(T*1272|0)+1144>>2]=0;c[U+(T*1272|0)+960>>2]=0;c[U+(T*1272|0)+964>>2]=0;c[U+(T*1272|0)+1152>>2]=0;c[U+(T*1272|0)+1156>>2]=0;c[U+(T*1272|0)+972>>2]=0;c[U+(T*1272|0)+976>>2]=0;c[U+(T*1272|0)+1164>>2]=0;c[U+(T*1272|0)+1168>>2]=0;c[U+(T*1272|0)+984>>2]=0;c[U+(T*1272|0)+988>>2]=0;c[U+(T*1272|0)+1176>>2]=0;c[U+(T*1272|0)+1180>>2]=0;c[U+(T*1272|0)+996>>2]=0;c[U+(T*1272|0)+1e3>>2]=0;c[U+(T*1272|0)+1188>>2]=0;c[U+(T*1272|0)+1192>>2]=0;c[U+(T*1272|0)+1008>>2]=0;c[U+(T*1272|0)+1012>>2]=0;c[U+(T*1272|0)+1200>>2]=0;c[U+(T*1272|0)+1204>>2]=0;c[U+(T*1272|0)+1020>>2]=0;c[U+(T*1272|0)+1024>>2]=0;c[U+(T*1272|0)+1212>>2]=0;c[U+(T*1272|0)+1216>>2]=0;c[U+(T*1272|0)+1032>>2]=0;c[U+(T*1272|0)+1036>>2]=0;c[U+(T*1272|0)+1224>>2]=0;c[U+(T*1272|0)+1228>>2]=0;c[U+(T*1272|0)+1044>>2]=0;c[U+(T*1272|0)+1048>>2]=0;c[U+(T*1272|0)+1236>>2]=0;c[U+(T*1272|0)+1240>>2]=0;c[U+(T*1272|0)+1056>>2]=0;c[U+(T*1272|0)+1060>>2]=0;c[U+(T*1272|0)+1248>>2]=0;c[U+(T*1272|0)+1252>>2]=0}do if(c[u>>2]|0){j=c[f+224>>2]|0;h=Me(c[q>>2]|0,c[t>>2]|0)|0;if(!h){n=c[f+1452>>2]|0;m=c[f+6180>>2]|0}else{n=Wh(j,c[h+8>>2]|0)|0;m=h}k=a[U+(T*1272|0)+160>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+876+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+876+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24<16)I=169}else I=169;if((I|0)==169)while(1){c[U+(T*1272|0)+876+(h*12|0)>>2]=m;c[U+(T*1272|0)+876+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}k=a[U+(T*1272|0)+161>>0]|0;h=k<<24>>24;if(k<<24>>24>0){j=0;do{l=U+(T*1272|0)+1068+(j*12|0)|0;if(!(c[l>>2]|0)){c[l>>2]=m;c[U+(T*1272|0)+1068+(j*12|0)+4>>2]=n}j=j+1|0}while((j|0)<(h|0));if(k<<24>>24>=16)break}while(1){c[U+(T*1272|0)+1068+(h*12|0)>>2]=m;c[U+(T*1272|0)+1068+(h*12|0)+4>>2]=n;if((h|0)<15)h=h+1|0;else break}}while(0);if(!(a[O>>0]|0)){h=b[S+(R*8976|0)+4118>>1]|0;j=(K|0)/(h|0)|0;h=K-(r(j,h)|0)&65535;b[U+(T*1272|0)+872>>1]=h;j=j&65535;b[U+(T*1272|0)+874>>1]=j;if(!(a[N>>0]|0)){b[U+(T*1272|0)+1262>>1]=h;b[U+(T*1272|0)+1264>>1]=j}}else{b[U+(T*1272|0)+872>>1]=0;b[U+(T*1272|0)+874>>1]=0;b[U+(T*1272|0)+1262>>1]=0;b[U+(T*1272|0)+1264>>1]=0}do if(!Q?(c[u>>2]|0)==0:0){h=c[P>>2]|0;si(f,0,c[V>>2]&255);if((c[V>>2]|0)!=1)J(83974,84016,1012,84052);b[h+872>>1]=0;b[h+874>>1]=0;c[f+316>>2]=0;c[f+320>>2]=0;c[V>>2]=0;h=U+(T*1272|0)+872|0;if(!(b[h>>1]|0)){if(b[U+(T*1272|0)+874>>1]|0){i=1;break}b[h>>1]=1;i=1}else i=1}while(0);h=c[f+68>>2]|0;if(W<<24>>24<16&(W&1)==0&(h|0)==2){X=987;return X|0}if((h|0)==6?(a[U+(T*1272|0)+76>>0]|0)!=2:0){X=987;return X|0}if(!i){X=0;return X|0}else{c[X>>2]=1;X=c[V>>2]|0;c[V>>2]=(X|0)<1?0:X+-1|0;return 0}return 0}function _h(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+368|0;i=H;D=e+376|0;h=Ph(D,4)|0;h=(h|0)>0?h:0;h=(h|0)<15?h:15;k=Ph(D,3)|0;j=k+1|0;j=(k|0)>6?7:(j|0)>1?j:1;k=Ph(D,1)|0;oi(D,i,j+-1|0);g=li(D)|0;if(g>>>0>16)if(!(c[e+112>>2]|0))G=0;else{e=977;Sb=H;return e|0}else G=g;F=c[e+636>>2]|0;C=F+143616|0;n=F+152584|0;p=c[n>>2]|0;xl(C|0,0,8976)|0;c[n>>2]=p;a[F+143628>>0]=G;a[F+143629>>0]=h;p=F+143630|0;a[p>>0]=j;a[F+143675>>0]=k;vl(F+147748|0,i|0,355)|0;B=li(D)|0;E=F+143631|0;a[E>>0]=B;if((B&255|0)!=1){c[e+652>>2]=218;e=218;Sb=H;return e|0}a[F+143634>>0]=0;b[C>>1]=li(D)|0;z=li(D)|0;B=F+143618|0;b[B>>1]=z;if((z<<16|0)<65536|(b[C>>1]|0)<1){e=979;Sb=H;return e|0}z=(Ph(D,1)|0)&255;a[F+143635>>0]=z;do if(z<<24>>24){g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143620>>1]=g;g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[C>>1]|0)){e=979;Sb=H;return e|0}b[F+143622>>1]=g;g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>=(b[B>>1]|0)){e=979;Sb=H;return e|0}b[F+143624>>1]=g;g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)<(b[B>>1]|0)){b[F+143626>>1]=g;break}else{e=979;Sb=H;return e|0}}else{z=F+143620|0;c[z>>2]=0;c[z+4>>2]=0}while(0);if(li(D)|0){e=989;Sb=H;return e|0}if(li(D)|0){e=989;Sb=H;return e|0}g=li(D)|0;if(g>>>0>12){e=979;Sb=H;return e|0}o=F+143639|0;a[o>>0]=g+4;z=Ph(D,1)|0;a[F+143640>>0]=z;h=a[p>>0]|0;g=h<<24>>24;if(z&255){if(h<<24>>24>0){g=0;A=23}}else{g=g+-1|0;A=23}do if((A|0)==23){while(1){h=li(D)|0;if(h>>>0>15){f=979;A=141;break}i=F+143641+g|0;a[i>>0]=h+1;h=li(D)|0;if((h|0)<0){f=979;A=141;break}if((h|0)>(a[i>>0]|0)){f=979;A=141;break}a[F+143648+g>>0]=h;a[F+143655+g>>0]=li(D)|0;g=g+1|0;h=a[p>>0]|0;if((g|0)>=(h<<24>>24|0)){A=28;break}}if((A|0)==28){g=h<<24>>24;break}else if((A|0)==141){Sb=H;return f|0}}while(0);z=e+11632|0;if(c[z>>2]|0){h=c[e+360>>2]|0;i=(a[h+14>>0]|0)+-1|0;g=g+-1|0;if((a[h+25+i>>0]|0)!=(a[F+143641+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}if((a[h+32+i>>0]|0)!=(a[F+143648+g>>0]|0)){if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}}y=F+143662|0;a[y>>0]=(li(D)|0)+3;g=li(D)|0;h=F+143663|0;a[h>>0]=g;g=(g<<24>>24)+(a[y>>0]|0)|0;m=F+143664|0;a[m>>0]=(li(D)|0)+2;l=li(D)|0;j=l&255;a[F+143665>>0]=j;k=a[m>>0]|0;l=l+(k&255)|0;a[F+147733>>0]=l;if(l&128|0){e=979;Sb=H;return e|0}if((l&255|0)>(((g|0)<5?g:5)|0)){e=979;Sb=H;return e|0}i=a[y>>0]|0;g=(d[h>>0]|0)+(i&255)|0;x=F+147732|0;a[x>>0]=g;if(j<<24>>24<0|(k<<24>>24<2|i<<24>>24<3)){e=979;Sb=H;return e|0}w=g<<24;if((w|0)<(l<<24|0)|(w+-67108864|0)>>>0>33554432){e=979;Sb=H;return e|0}g=1<<(i<<24>>24);if((b[C>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}if((b[B>>1]|0)%(g|0)|0|0){e=979;Sb=H;return e|0}i=F+143666|0;a[i>>0]=0;j=F+143667|0;a[j>>0]=0;g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143668>>0]=g;g=li(D)|0;if((g|0)<0){e=979;Sb=H;return e|0}if((g|0)>((a[x>>0]|0)-(a[m>>0]|0)|0)){e=979;Sb=H;return e|0}a[F+143669>>0]=g;w=(Ph(D,1)|0)&255;a[F+143670>>0]=w;vl(c[n>>2]|0,26144,192)|0;g=(c[n>>2]|0)+192|0;do if(!(w<<24>>24)){vl(g|0,26144,768)|0;vl((c[n>>2]|0)+960|0,26144,1536)|0;vl((c[n>>2]|0)+2496|0,26144,1536)|0;vl((c[n>>2]|0)+4032|0,26144,2048)|0;vl((c[n>>2]|0)+6080|0,26144,2048)|0}else{h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+320|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+448|0;h=28192;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+576|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+704|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));g=(c[n>>2]|0)+832|0;h=28320;q=g+128|0;do{b[g>>1]=b[h>>1]|0;g=g+2|0;h=h+2|0}while((g|0)<(q|0));vl((c[n>>2]|0)+960|0,28448,512)|0;vl((c[n>>2]|0)+1472|0,28448,512)|0;vl((c[n>>2]|0)+1984|0,28448,512)|0;vl((c[n>>2]|0)+2496|0,28960,512)|0;vl((c[n>>2]|0)+3008|0,28960,512)|0;vl((c[n>>2]|0)+3520|0,28960,512)|0;vl((c[n>>2]|0)+4032|0,29472,2048)|0;vl((c[n>>2]|0)+6080|0,31520,2048)|0;w=(Ph(D,1)|0)&255;a[F+143671>>0]=w;if(!(w<<24>>24))break;ni(e,c[n>>2]|0)|0}while(0);a[F+143672>>0]=Ph(D,1)|0;a[F+143673>>0]=Ph(D,1)|0;w=(Ph(D,1)|0)&255;a[F+143636>>0]=w;if(w<<24>>24){a[F+143637>>0]=(Ph(D,4)|0)+1;a[F+143638>>0]=(Ph(D,4)|0)+1;a[i>>0]=(li(D)|0)+3;a[j>>0]=li(D)|0;a[F+143674>>0]=Ph(D,1)|0}g=li(D)|0;if(g>>>0>64){e=979;Sb=H;return e|0}i=F+143676|0;a[i>>0]=g;if((g<<24|0)>0){j=F+148104|0;h=0;g=g&255;do{pi(D,j,g,h,F+148104+(h*70|0)|0)|0;h=h+1|0;g=a[i>>0]|0}while((h|0)<(g|0))}w=(Ph(D,1)|0)&255;a[F+143677>>0]=w;do if(w<<24>>24){g=li(D)|0;if(g>>>0>32){e=979;Sb=H;return e|0}h=F+143678|0;a[h>>0]=g;if((g<<24|0)<=0)break;g=0;do{b[F+143680+(g<<1)>>1]=Ph(D,a[o>>0]|0)|0;a[F+143744+g>>0]=Ph(D,1)|0;g=g+1|0}while((g|0)<(a[h>>0]|0))}while(0);a[F+143776>>0]=Ph(D,1)|0;a[F+143777>>0]=Ph(D,1)|0;w=(Ph(D,1)|0)&255;a[F+143778>>0]=w;do if(w<<24>>24){v=a[p>>0]|0;w=(v<<24>>24)+-1|0;u=(Ph(D,1)|0)&255;a[F+143780>>0]=u;g=F+143781|0;a[g>>0]=0;a:do if(!(u<<24>>24)){g=0;h=0}else{u=(Ph(D,8)|0)&255;a[g>>0]=u;do switch(u<<24>>24){case 1:{g=1;h=1;break a}case 2:{g=11;h=12;break a}case 3:{g=11;h=10;break a}case 4:{g=11;h=16;break a}case 5:{g=33;h=40;break a}case 6:{g=11;h=24;break a}case 7:{g=11;h=20;break a}case 8:{g=11;h=32;break a}case 9:{g=33;h=80;break a}case 10:{g=11;h=18;break a}case 11:{g=11;h=15;break a}case 12:{g=33;h=64;break a}case 13:{g=99;h=160;break a}case 14:{g=3;h=4;break a}case 15:{g=2;h=3;break a}case 16:{g=1;h=2;break a}case -1:{h=(Ph(D,16)|0)&65535;g=(Ph(D,16)|0)&65535;break a}default:{g=0;h=0;break a}}while(0)}while(0);b[F+143782>>1]=h;b[F+143784>>1]=g;u=(Ph(D,1)|0)&255;a[F+143786>>0]=u;g=F+143787|0;a[g>>0]=0;if(u<<24>>24)a[g>>0]=Ph(D,1)|0;u=(Ph(D,1)|0)&255;a[F+143788>>0]=u;g=F+143789|0;a[g>>0]=5;h=F+143790|0;a[h>>0]=0;i=F+143791|0;a[i>>0]=0;j=F+143792|0;a[j>>0]=2;k=F+143793|0;a[k>>0]=2;l=F+143794|0;a[l>>0]=2;do if(u<<24>>24){a[g>>0]=Ph(D,3)|0;a[h>>0]=Ph(D,1)|0;u=(Ph(D,1)|0)&255;a[i>>0]=u;if(!(u<<24>>24))break;a[j>>0]=Ph(D,8)|0;a[k>>0]=Ph(D,8)|0;a[l>>0]=Ph(D,8)|0}while(0);u=(Ph(D,1)|0)&255;a[F+143795>>0]=u;g=F+143796|0;a[g>>0]=0;h=F+143797|0;a[h>>0]=0;if(u<<24>>24){a[g>>0]=li(D)|0;a[h>>0]=li(D)|0}a[F+143798>>0]=Ph(D,1)|0;a[F+143799>>0]=Ph(D,1)|0;a[F+143800>>0]=Ph(D,1)|0;u=(Ph(D,1)|0)&255;a[F+143801>>0]=u;g=F+143804|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if(u<<24>>24){c[g>>2]=li(D)|0;c[F+143808>>2]=li(D)|0;c[F+143812>>2]=li(D)|0;c[F+143816>>2]=li(D)|0}u=(Ph(D,1)|0)&255;a[F+147704>>0]=u;b:do if(u<<24>>24){c[F+147708>>2]=Ph(D,32)|0;c[F+147712>>2]=Ph(D,32)|0;u=(Ph(D,1)|0)&255;a[F+147716>>0]=u;if(u<<24>>24)a[F+147717>>0]=li(D)|0;u=(Ph(D,1)|0)&255;a[F+143820>>0]=u;if(!(u<<24>>24))break;s=F+143836|0;a[s>>0]=0;t=F+143837|0;a[t>>0]=0;u=F+143839|0;i=F+143840|0;j=F+143841|0;k=F+143842|0;l=F+143843|0;m=F+143844|0;n=F+143848|0;o=F+143852|0;p=F+143856|0;g=u;q=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(q|0));a[p>>0]=23;g=F+143857|0;a[g>>0]=23;h=F+143858|0;a[h>>0]=23;a[s>>0]=Ph(D,1)|0;q=Ph(D,1)|0;a[t>>0]=q;if(!((q&255|0)==0&(a[s>>0]|0)==0)){q=(Ph(D,1)|0)&255;a[u>>0]=q;if(q<<24>>24){a[i>>0]=Ph(D,8)|0;a[j>>0]=Ph(D,5)|0;a[k>>0]=Ph(D,1)|0;a[l>>0]=Ph(D,5)|0}c[m>>2]=Ph(D,4)|0;c[n>>2]=Ph(D,4)|0;if(a[u>>0]|0)c[o>>2]=Ph(D,4)|0;a[p>>0]=Ph(D,5)|0;a[g>>0]=Ph(D,5)|0;a[h>>0]=Ph(D,5)|0}if(v<<24>>24<1)break;j=0;while(1){v=(Ph(D,1)|0)&255;a[F+143859+j>>0]=v;g=F+143866+j|0;a[g>>0]=1;h=F+143873+j|0;a[h>>0]=0;i=F+143880+j|0;a[i>>0]=0;k=F+143887+j|0;a[k>>0]=0;do if(!(v<<24>>24)){v=(Ph(D,1)|0)&255;a[g>>0]=v;if(v<<24>>24){A=104;break}g=(Ph(D,1)|0)&255;a[i>>0]=g}else A=104;while(0);if((A|0)==104){A=0;a[h>>0]=li(D)|0;g=a[i>>0]|0}if(!(g<<24>>24)){g=(li(D)|0)&255;a[k>>0]=g}else g=a[k>>0]|0;if((g&255)>30){f=979;break}if(a[s>>0]|0)qi(D,F+143896+(j*544|0)|0,g&255,d[u>>0]|0);if(a[t>>0]|0)qi(D,F+143896+(j*544|0)|0,d[k>>0]|0,d[u>>0]|0);if((j|0)<(w|0))j=j+1|0;else break b}Sb=H;return f|0}while(0);A=(Ph(D,1)|0)&255;a[F+147718>>0]=A;g=F+147719|0;a[g>>0]=0;h=F+147720|0;a[h>>0]=1;i=F+147721|0;a[i>>0]=0;j=F+147724|0;c[j>>2]=0;k=F+147728|0;a[k>>0]=2;l=F+147729|0;a[l>>0]=1;m=F+147730|0;a[m>>0]=15;n=F+147731|0;a[n>>0]=15;if(!(A<<24>>24))break;a[g>>0]=Ph(D,1)|0;a[h>>0]=Ph(D,1)|0;a[i>>0]=Ph(D,1)|0;c[j>>2]=li(D)|0;a[k>>0]=li(D)|0;a[l>>0]=li(D)|0;a[m>>0]=li(D)|0;a[n>>0]=li(D)|0}while(0);Ph(D,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){e=979;Sb=H;return e|0}m=1<<a[x>>0];D=m+-1|0;h=b[C>>1]|0;k=h<<16>>16;g=(D+k|0)/(m|0)|0;b[F+147734>>1]=g;j=b[B>>1]|0;m=(D+j|0)/(m|0)|0;b[F+147736>>1]=m;g=r(m<<16>>16,g<<16>>16)|0;c[F+147744>>2]=g;m=e+112|0;if(!(c[m>>2]|0))c[e+984>>2]=g;i=1<<a[y>>0];b[F+147738>>1]=(k|0)/(i|0)|0;b[F+147740>>1]=(j|0)/(i|0)|0;i=(c[z>>2]|0)==0;do if(!i){if((c[e>>2]|0)==(k|0)?(c[e+4>>2]|0)==(j|0):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);if(h<<16>>16>8448|(r(j,k)|0)>36495360){e=17;Sb=H;return e|0}h=(a[E>>0]|0)==1?2:1;l=k-(r(h,b[F+143620>>1]|0)|0)|0;l=l-(r(h,b[F+143622>>1]|0)|0)|0;E=j-(r(h,b[F+143624>>1]|0)|0)|0;h=E-(r(h,b[F+143626>>1]|0)|0)|0;if((l|0)<1|(h|0)<1){e=979;Sb=H;return e|0}g=e+8|0;do if(i)f=e+12|0;else{if((c[g>>2]|0)==(l|0)?(f=e+12|0,(c[f>>2]|0)==(h|0)):0)break;if(!(c[e+124>>2]|0)){e=979;Sb=H;return e|0}c[e+132>>2]=1;e=42;Sb=H;return e|0}while(0);c[g>>2]=l;c[f>>2]=h;c[e>>2]=k;c[e+4>>2]=j;f=k+191&-32;g=e+20|0;h=c[g>>2]|0;if((h|0)<(f|0))c[g>>2]=f;else f=h;g=e+16|0;h=c[g>>2]|0;do if(!(c[e+56>>2]|0)){if((h|0)>=(l|0))break;c[g>>2]=l}else{if((h|0)>=(f|0))break;c[g>>2]=f}while(0);c[e+11596>>2]=G;c[m>>2]=1;e=0;Sb=H;return e|0}function $h(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;j=c[d+296>>2]|0;k=j+(f*8976|0)|0;l=j+(e*8976|0)|0;m=j+(e*8976|0)+8972|0;do if(a[m>>0]|0){if(((a[j+(e*8976|0)+4116>>0]|0)==(a[j+(f*8976|0)+4116>>0]|0)?(b[j+(e*8976|0)+4118>>1]|0)==(b[j+(f*8976|0)+4118>>1]|0):0)?(b[j+(e*8976|0)+4120>>1]|0)==(b[j+(f*8976|0)+4120>>1]|0):0)break;g=0;h=c[d+300>>2]|0;while(1){i=h+67|0;if(a[i>>0]|0?(a[h+9>>0]|0)==(e|0):0)a[i>>0]=0;g=g+1|0;if((g|0)==64)break;else h=h+68|0}}while(0);e=j+(e*8976|0)+8968|0;i=c[e>>2]|0;vl(l|0,k|0,8976)|0;c[e>>2]=i;vl(i|0,c[j+(f*8976|0)+8968>>2]|0,8128)|0;a[m>>0]=1;c[d+360>>2]=l;return}function ai(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,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;E=e+376|0;if(!(c[e+112>>2]|0)){E=980;return E|0}f=li(E)|0;if(f>>>0>64)if(!(c[e+116>>2]|0))f=0;else{E=978;return E|0}C=c[e+640>>2]|0;D=C+4352|0;a[C+4360>>0]=f;s=(li(E)|0)<<24;s=(s|0)>251658240?15:(s|0)<0?0:s>>24;a[C+4361>>0]=s;t=c[e+636>>2]|0;g=t+(s*8976|0)|0;if(!(a[t+(s*8976|0)+8972>>0]|0)){E=980;return E|0}a[C+4378>>0]=Ph(E,1)|0;a[C+4376>>0]=Ph(E,1)|0;a[C+4394>>0]=Ph(E,3)|0;a[C+4362>>0]=Ph(E,1)|0;a[C+4363>>0]=Ph(E,1)|0;a[C+4364>>0]=(li(E)|0)+1;a[C+4365>>0]=(li(E)|0)+1;a[C+4366>>0]=(mi(E)|0)+26;a[C+4367>>0]=Ph(E,1)|0;a[C+4368>>0]=Ph(E,1)|0;x=(Ph(E,1)|0)&255;a[C+4369>>0]=x;if(!(x<<24>>24))f=0;else f=(li(E)|0)&255;a[C+4370>>0]=f;h=t+(s*8976|0)+4116|0;a[C+4418>>0]=(d[h>>0]|0)-(f&255);a[C+4371>>0]=mi(E)|0;a[C+4372>>0]=mi(E)|0;a[C+4373>>0]=Ph(E,1)|0;a[C+4374>>0]=Ph(E,1)|0;a[C+4375>>0]=Ph(E,1)|0;a[C+4377>>0]=Ph(E,1)|0;x=(Ph(E,1)|0)&255;f=C+4379|0;a[f>>0]=x;a:do if(x<<24>>24)switch(a[h>>0]|0){case 4:{if((b[g>>1]|0)>4095){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>4095)f=980;else break a;return f|0}case 5:{if((b[g>>1]|0)>8191){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>8191)f=980;else break a;return f|0}case 6:{if((b[g>>1]|0)>16383){E=980;return E|0}if((b[t+(s*8976|0)+2>>1]|0)>16383)f=980;else break a;return f|0}default:break a}while(0);a[C+4380>>0]=Ph(E,1)|0;x=C+4385|0;a[x>>0]=0;if(!(a[f>>0]|0)){a[C+4382>>0]=1;a[C+4383>>0]=1;a[C+4384>>0]=1;B=c[C+4356>>2]|0;a[B>>0]=0;a[B+1>>0]=0;b[B+2>>1]=b[t+(s*8976|0)+4118>>1]|0;b[B+4>>1]=b[t+(s*8976|0)+4120>>1]|0}else{f=c[e>>2]|0;g=(((c[e+4>>2]|0)+127&-64)+-1|0)/64|0;v=C+4382|0;a[v>>0]=(li(E)|0)+1;h=(li(E)|0)+1|0;w=C+4383|0;a[w>>0]=h;i=a[v>>0]|0;if(i<<24>>24<1){E=980;return E|0}if((((f+127&-64)+-1|0)/64|0|0)<(i<<24>>24|0)){E=980;return E|0}u=h<<24;if((u|0)<16777216|(u>>24|0)>(g|0)){E=980;return E|0}g=(Ph(E,1)|0)&255;u=C+4384|0;a[u>>0]=g;f=a[v>>0]|0;b:do if(f<<24>>24>0){p=t+(s*8976|0)+4118|0;q=C+4356|0;i=0;h=0;f=f<<24>>24;while(1){do if(!(g<<24>>24))if((h|0)<(f+-1|0)){o=(li(E)|0)+1|0;break}else{o=(b[p>>1]|0)-i|0;break}else{o=b[p>>1]|0;o=((r(h+1|0,o)|0)/(f|0)|0)-((r(h,o)|0)/(f|0)|0)|0}while(0);g=a[w>>0]|0;if(g<<24>>24>0){j=c[q>>2]|0;k=a[v>>0]|0;l=i&255;m=o&65535;n=g<<24>>24;f=0;do{F=j+((r(f,k)|0)*6|0)+(h*6|0)|0;a[F>>0]=l;b[F+2>>1]=m;f=f+1|0}while((f|0)<(n|0))}i=o+i|0;h=h+1|0;if(!((o|0)>0?(i|0)<=(b[p>>1]|0):0)){f=980;break}f=a[v>>0]|0;j=f<<24>>24;if((h|0)>=(j|0))break b;g=a[u>>0]|0;f=j}return f|0}else g=a[w>>0]|0;while(0);c:do if(g<<24>>24>0){k=t+(s*8976|0)+4120|0;l=C+4356|0;i=0;j=0;g=g<<24>>24;while(1){do if(!(a[u>>0]|0))if((j|0)<(g+-1|0)){g=(li(E)|0)+1|0;h=a[v>>0]|0;break}else{g=(b[k>>1]|0)-i|0;h=f;break}else{h=b[k>>1]|0;g=((r(j+1|0,h)|0)/(g|0)|0)-((r(j,h)|0)/(g|0)|0)|0;h=f}while(0);if(h<<24>>24>0?(y=h<<24>>24,t=c[l>>2]|0,z=i&255,A=g&65535,F=r(j,y)|0,B=t+(F*6|0)|0,a[t+(F*6|0)+1>>0]=z,b[t+(F*6|0)+4>>1]=A,h<<24>>24!=1):0){f=1;do{F=B+(f*6|0)|0;a[F+1>>0]=z;b[F+4>>1]=A;f=f+1|0}while((f|0)<(y|0))}i=g+i|0;j=j+1|0;if(!((g|0)>0?(i|0)<=(b[k>>1]|0):0)){f=980;break}g=a[w>>0]|0;if((j|0)>=(g|0))break c;else f=h}return f|0}while(0);a[x>>0]=Ph(E,1)|0}a[C+4386>>0]=Ph(E,1)|0;F=(Ph(E,1)|0)&255;a[C+4387>>0]=F;f=C+4388|0;g=C+4390|0;h=C+4391|0;c[f>>2]=0;if(F<<24>>24?(a[f>>0]=Ph(E,1)|0,F=(Ph(E,1)|0)&255,a[C+4389>>0]=F,F<<24>>24==0):0){a[g>>0]=mi(E)|0;a[h>>0]=mi(E)|0}F=(Ph(E,1)|0)&255;a[C+4392>>0]=F;if(F<<24>>24){vl(c[D>>2]|0,26144,192)|0;f=(c[D>>2]|0)+192|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+320|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+448|0;g=28192;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+576|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+704|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));f=(c[D>>2]|0)+832|0;g=28320;h=f+128|0;do{b[f>>1]=b[g>>1]|0;f=f+2|0;g=g+2|0}while((f|0)<(h|0));vl((c[D>>2]|0)+960|0,28448,512)|0;vl((c[D>>2]|0)+1472|0,28448,512)|0;vl((c[D>>2]|0)+1984|0,28448,512)|0;vl((c[D>>2]|0)+2496|0,28960,512)|0;vl((c[D>>2]|0)+3008|0,28960,512)|0;vl((c[D>>2]|0)+3520|0,28960,512)|0;vl((c[D>>2]|0)+4032|0,29472,2048)|0;vl((c[D>>2]|0)+6080|0,31520,2048)|0;ni(e,c[D>>2]|0)|0}a[C+4393>>0]=Ph(E,1)|0;a[C+4395>>0]=(li(E)|0)+2;a[C+4396>>0]=Ph(E,1)|0;Ph(E,1)|0;if((c[e+384>>2]|0)>>>0>(c[e+396>>2]|0)>>>0){F=979;return F|0}c[e+116>>2]=1;F=0;return F|0}function bi(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;m=(((c[b>>2]|0)+127&-64)+-1|0)/64|0;f=(((c[b+4>>2]|0)+127&-64)+-1|0)/64|0;g=c[b+300>>2]|0;h=g+(e*68|0)|0;i=g+(d*68|0)|0;j=c[i>>2]|0;k=g+(d*68|0)+4|0;l=c[k>>2]|0;n=i;o=h;p=n+68|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[i>>2]=j;c[k>>2]=l;vl(j|0,c[h>>2]|0,8128)|0;vl(c[k>>2]|0,c[g+(e*68|0)+4>>2]|0,r(m*6|0,f)|0)|0;a[g+(d*68|0)+67>>0]=1;c[b+356>>2]=i;return}function ci(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=b+376|0;d=di(g)|0;if(d>>>0>8){e=0;f=0;do{if((ei(g,8)|0)==255){d=e;do{fi(g,8);d=d+255|0}while((ei(g,8)|0)==255)}else d=e;e=(Ph(g,8)|0)+d|0;if((ei(g,8)|0)==255){d=f;do{fi(g,8);d=d+255|0}while((ei(g,8)|0)==255)}else d=f;d=(Ph(g,8)|0)+d|0;f=(di(g)|0)>>>3;f=d>>>0<f>>>0?d:f;gi(b,e,f,a[c>>0]|0);d=di(g)|0}while(d>>>0>8)}if(!d)return 0;if((Ph(g,1)|0)!=1)return 0;d=d+-1|0;if(!d)return 0;e=d;do{Ph(g,1)|0;e=e+-1|0}while((e|0)!=0);if(d>>>0<8)return 0;else J(83902,83912,2795,83943);return 0}function di(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;b=(c[a+4>>2]|0)+-64+((c[a+8>>2]|0)-d<<3)|0;a=((c[a+20>>2]|0)-d<<3)+-64|0;return (a>>>0>b>>>0?a-b|0:0)|0}function ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+4>>2]|0;f=32-b|0;e=c[a+12>>2]<<d>>>f;if(d>>>0<=f>>>0){f=e;return f|0}b=64-b-d|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=b|e;return f|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;if(b>>>0<=31)return;e=a+16|0;c[a+12>>2]=c[e>>2];f=a+8|0;a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[d>>2]=b+-32;c[e>>2]=ul(a|0)|0;return}function gi(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;h=c[b+296>>2]|0;g=0;while(1){i=g+1|0;if(i>>>0<17?(a[h+(g*8976|0)+8972>>0]|0)==0:0)g=i;else break}g=h+(g*8976|0)|0;j=b+376|0;if(!g)return;a:do if(f<<24>>24==39)switch(d|0){case 0:{a[b+1464>>0]=1;hi(b,g)|0;break a}case 1:{a[b+1464>>0]=1;ii(b,g)|0;break a}case 136:{a[b+1464>>0]=1;ji(b)|0;break a}case 137:{a[b+1470>>0]=1;ki(b)|0;break a}case 4:{a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Ph(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Ph(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Ph(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{fi(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}fi(j,e-g<<3);break a}default:{if(!e)break a;g=0;do{fi(j,8);g=g+1|0}while((g|0)!=(e|0))}}else{if((d|0)!=4){if(!e)break;g=0;while(1){fi(j,8);g=g+1|0;if((g|0)==(e|0))break a}}a[b+1464>>0]=1;g=b+1472|0;d=c[g>>2]|0;if((d|0)<=2){a[b+1476>>0]=1;c[g>>2]=d+1;c[b+5100+(d*268|0)+264>>2]=e;i=e>>>0<256?e:256;c[b+5100+(d*268|0)+260>>2]=i;e=Ph(j,8)|0;a[b+5100+(d*268|0)>>0]=e;if((e&255|0)==255){a[b+5100+(d*268|0)+1>>0]=Ph(j,8)|0;g=2}else g=1;h=0;while(1){a[b+5100+(d*268|0)+2+h>>0]=Ph(j,8)|0;g=g+1|0;if(g>>>0>=i>>>0)break a;else h=h+1|0}}h=e>>>2;if(!h)g=0;else{g=0;do{fi(j,32);g=g+1|0}while((g|0)!=(h|0));g=e&-4}fi(j,e-g<<3)}while(0);g=di(j)|0;if(!g)return;if((g|0)>9)while(1){Ph(j,1)|0;h=g+-1|0;if((g|0)>10)g=h;else{g=h;break}}i=ei(j,g)|0;h=0;while(1)if(!(255>>>h&i))break;else h=h+1|0;h=9-h|0;do{Ph(j,1)|0;e=g;g=g+-1|0}while((e|0)>(h|0));if(!g)return;do{Ph(j,1)|0;g=g+-1|0}while((g|0)!=0);return}function hi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+376|0;a[b+1466>>0]=1;a[b+1480>>0]=li(j)|0;k=e+223|0;if(!(a[k>>0]|0)){f=(Ph(j,1)|0)&255;i=b+1482|0;a[i>>0]=f}else{f=b+1482|0;i=f;f=a[f>>0]|0}if(!(f<<24>>24)){c[b+1484>>2]=0;f=e+241|0;g=0}else{f=e+241|0;c[b+1484>>2]=Ph(j,(d[f>>0]|0)+1|0)|0;g=Ph(j,(d[e+242>>0]|0)+1|0)|0}c[b+1488>>2]=g;a[b+1492>>0]=Ph(j,1)|0;c[b+1496>>2]=Ph(j,(d[f>>0]|0)+1|0)|0;if(a[e+220>>0]|0){g=d[e+271>>0]|0;h=e+240|0;f=0;while(1){c[b+1500+(f<<2)>>2]=Ph(j,(d[h>>0]|0)+1|0)|0;c[b+1756+(f<<2)>>2]=Ph(j,(d[h>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+1628+(f<<2)>>2]=Ph(j,(d[h>>0]|0)+1|0)|0;c[b+1884+(f<<2)>>2]=Ph(j,(d[h>>0]|0)+1|0)|0}if((f|0)==(g|0))break;else f=f+1|0}}if(!(a[e+221>>0]|0))return 0;h=d[e+271>>0]|0;g=e+240|0;f=0;while(1){c[b+2012+(f<<2)>>2]=Ph(j,(d[g>>0]|0)+1|0)|0;c[b+2268+(f<<2)>>2]=Ph(j,(d[g>>0]|0)+1|0)|0;if(!((a[k>>0]|0)==0?!(a[i>>0]|0):0)){c[b+2140+(f<<2)>>2]=Ph(j,(d[g>>0]|0)+1|0)|0;c[b+2396+(f<<2)>>2]=Ph(j,(d[g>>0]|0)+1|0)|0}if((f|0)==(h|0))break;else f=f+1|0}return 0}function ii(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+376|0;a[b+1467>>0]=1;if(a[e+184>>0]|0){c[b+2548>>2]=Ph(i,4)|0;c[b+2552>>2]=Ph(i,2)|0;a[b+2556>>0]=Ph(i,1)|0}if((a[e+220>>0]|0)==0?(a[e+221>>0]|0)==0:0)return 0;c[b+2560>>2]=Ph(i,(d[e+241>>0]|0)+1|0)|0;c[b+2564>>2]=Ph(i,(d[e+242>>0]|0)+1|0)|0;f=e+223|0;if(!(a[f>>0]|0))return 0;c[b+2568>>2]=Ph(i,(d[e+227>>0]|0)+1|0)|0;if(!(a[f>>0]|0))return 0;if(!(a[e+226>>0]|0))return 0;f=li(i)|0;g=b+2572|0;c[g>>2]=f>>>0<269?f:269;f=(Ph(i,1)|0)&255;h=b+2576|0;a[h>>0]=f;e=e+225|0;if(f<<24>>24)c[b+2580>>2]=Ph(i,(d[e>>0]|0)+1|0)|0;f=0;do{c[b+2584+(f<<2)>>2]=li(i)|0;if((a[h>>0]|0)==0?f>>>0<(c[g>>2]|0)>>>0:0)c[b+3664+(f<<2)>>2]=Ph(i,(d[e>>0]|0)+1|0)|0;f=f+1|0}while(f>>>0<=(c[g>>2]|0)>>>0);return 0}function ji(c){c=c|0;var e=0,f=0,g=0,h=0;g=c+376|0;a[c+1477>>0]=1;f=Ph(g,2)|0;h=c+5904|0;a[h>>0]=f;if(!(f&255))return 0;f=0;do{e=(Ph(g,1)|0)&255;a[c+5905+f>>0]=e;if(e<<24>>24){a[c+5908+f>>0]=Ph(g,1)|0;a[c+5911+f>>0]=Ph(g,5)|0;e=c+5914+f|0;a[e>>0]=Ph(g,1)|0;a[c+5917+f>>0]=Ph(g,1)|0;a[c+5920+f>>0]=Ph(g,1)|0;b[c+5924+(f<<1)>>1]=Ph(g,9)|0;if(!(a[e>>0]|0)){e=(Ph(g,1)|0)&255;a[c+5930+f>>0]=e;if((e<<24>>24?(a[c+5939+f>>0]=Ph(g,6)|0,e=(Ph(g,1)|0)&255,a[c+5933+f>>0]=e,e<<24>>24):0)?(a[c+5942+f>>0]=Ph(g,6)|0,e=(Ph(g,1)|0)&255,a[c+5936+f>>0]=e,e<<24>>24):0)a[c+5945+f>>0]=Ph(g,5)|0}else{a[c+5939+f>>0]=Ph(g,6)|0;a[c+5942+f>>0]=Ph(g,6)|0;a[c+5945+f>>0]=Ph(g,5)|0}e=Ph(g,5)|0;a[c+5948+f>>0]=e;e=e&255;if(!e)e=0;else e=(Ph(g,e)|0)&255;a[c+5951+f>>0]=e}f=f+1|0}while(f>>>0<(d[h>>0]|0)>>>0);return 0}function ki(d){d=d|0;var e=0;e=d+376|0;a[d+1470>>0]=1;b[d+5076>>1]=Ph(e,16)|0;b[d+5082>>1]=Ph(e,16)|0;b[d+5078>>1]=Ph(e,16)|0;b[d+5084>>1]=Ph(e,16)|0;b[d+5080>>1]=Ph(e,16)|0;b[d+5086>>1]=Ph(e,16)|0;b[d+5088>>1]=Ph(e,16)|0;b[d+5090>>1]=Ph(e,16)|0;c[d+5092>>2]=Ph(e,32)|0;c[d+5096>>2]=Ph(e,32)|0;return 0}function li(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=ul(j|0)|0}else e=b;if(!f){j=0;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32){j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=ul(i|0)|0;j=b;i=1<<f;i=i+-1|0;j=i+j|0;return j|0}function mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+12|0;d=c[g>>2]|0;h=a+4|0;e=c[h>>2]|0;b=32-e|0;if(b>>>0<32)b=(c[a+16>>2]|0)>>>b;else b=0;f=s(b|d<<e|0)|0;b=e+1+f|0;c[h>>2]=b;if(b>>>0>31){i=a+16|0;d=c[i>>2]|0;c[g>>2]=d;e=a+8|0;j=c[e>>2]|0;c[e>>2]=j+4;j=c[j>>2]|0;e=b+-32|0;c[h>>2]=e;c[i>>2]=ul(j|0)|0}else e=b;do if(!f)b=0;else{b=d<<e>>>(32-f|0);e=e+f|0;c[h>>2]=e;if(e>>>0<=32){if((e|0)!=32)break}else{d=64-e|0;if(d>>>0<32)d=(c[a+16>>2]|0)>>>d;else d=0;b=d|b}j=a+16|0;c[g>>2]=c[j>>2];g=a+8|0;i=c[g>>2]|0;c[g>>2]=i+4;i=c[i>>2]|0;c[h>>2]=e+-32;c[j>>2]=ul(i|0)|0}while(0);j=(b+(1<<f)|0)>>>1;return ((b&1|0)==0?j:0-j|0)|0}function ni(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=a+376|0;j=0;do{q=(j|0)==3?2:6;r=j*6|0;s=(j<<1)+4|0;t=1<<s;t=(t|0)<64?t:64;k=j>>>0>1;l=2<<s;m=(j|0)==2;j=j+1|0;n=25168+(j<<2)|0;i=0;do{h=Ph(p,1)|0;o=e+(c[37280+(i+r<<2)>>2]<<1)|0;a:do if(!h){a=li(p)|0;a=(a|0)>(i|0)?i:(a|0)>0?a:0;if(a|0)vl(o|0,o+(0-(a<<s)<<1)|0,l|0)|0}else{if(!k){g=c[n>>2]|0;a=0;f=8;while(1){f=(f+256+(mi(p)|0)|0)%256|0;b[o+((d[g+a>>0]|0)<<1)>>1]=f;a=a+1|0;if((a|0)>=(t|0))break a}}h=(mi(p)|0)+8|0;if(!m){g=h&65535;f=0;a=h;while(1){a=(a+256+(mi(p)|0)|0)%256|0;h=d[24608+f>>0]|0;h=h>>>3<<7|h<<2&28;u=a&65535;b[o+(h<<1)>>1]=u;b[o+((h|1)<<1)>>1]=u;b[o+((h|2)<<1)>>1]=u;b[o+((h|3)<<1)>>1]=u;b[o+((h|32)<<1)>>1]=u;b[o+((h|33)<<1)>>1]=u;b[o+((h|34)<<1)>>1]=u;b[o+((h|35)<<1)>>1]=u;b[o+((h|64)<<1)>>1]=u;b[o+((h|65)<<1)>>1]=u;b[o+((h|66)<<1)>>1]=u;b[o+((h|67)<<1)>>1]=u;b[o+((h|96)<<1)>>1]=u;b[o+((h|97)<<1)>>1]=u;b[o+((h|98)<<1)>>1]=u;b[o+((h|99)<<1)>>1]=u;b[o>>1]=g;f=f+1|0;if((f|0)>=(t|0))break a}}a=0;f=h;do{f=(f+256+(mi(p)|0)|0)%256|0;u=d[24608+a>>0]|0;u=u>>>3<<5|u<<1&14;g=f&65535;b[o+(u<<1)>>1]=g;b[o+((u|1)<<1)>>1]=g;b[o+((u|16)<<1)>>1]=g;b[o+((u|17)<<1)>>1]=g;a=a+1|0}while((a|0)<(t|0));b[o>>1]=h}while(0);i=i+1|0}while((i|0)!=(q|0))}while((j|0)!=4);return 0}function oi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;ri(b,c);a[c+48>>0]=Ph(b,8)|0;f=(d|0)>0;if(!f)return;e=0;do{a[c+49+e>>0]=Ph(b,1)|0;a[c+55+e>>0]=Ph(b,1)|0;e=e+1|0}while((e|0)!=(d|0));if((d+-1|0)>>>0<7){e=d;while(1){Ph(b,2)|0;if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{if(a[c+49+e>>0]|0)ri(b,c+61+(e*49|0)|0);if(a[c+55+e>>0]|0)a[c+61+(e*49|0)+48>>0]=Ph(b,8)|0;e=e+1|0}while((e|0)!=(d|0));return}function pi(c,d,e,f,g){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((f|0)>0){n=(Ph(c,1)|0)&255;a[g+32>>0]=n;if(n<<24>>24){if((f|0)==(e|0)){l=li(c)|0;m=f+-1|0;n=m-l|0;n=(l|0)<0?m:(n|0)>0?n:0}else{n=f+-1|0;n=(n|0)>0?n:0}l=Ph(c,1)|0;l=r(1-(l<<1)|0,(li(c)|0)+1|0)|0;m=d+(n*70|0)+67|0;f=a[m>>0]|0;if(f<<24>>24>=0){k=0;j=0;h=0;e=0;while(1){f=Ph(c,1)|0;a[g+35+j>>0]=f;if(!f)f=(Ph(c,1)|0)<<1;if((f+-1|0)>>>0<2){if((k|0)<(a[m>>0]|0))i=b[d+(n*70|0)+(k<<1)>>1]|0;else i=0;p=i+l|0;b[g+(j<<1)>>1]=p;p=p>>>31;i=j+1|0;h=(p^1)+h|0;e=p+e|0}else i=j;a[g+51+k>>0]=f;f=a[m>>0]|0;if((k|0)<(f<<24>>24|0)){k=k+1|0;j=i}else break}if((e|0)>0)if((e|0)<15)o=18;else e=15;else{e=0;o=18}}else{h=0;e=0;o=18}p=e^15;p=(h|0)>(p|0)?p:(h|0)>0?h:0;n=p+e|0;a[g+68>>0]=(f&255)+1;a[g+67>>0]=n;a[g+34>>0]=p;a[g+33>>0]=e;if(n>>>0>1){f=1;do{j=b[g+(f<<1)>>1]|0;k=a[g+35+f>>0]|0;h=f;do{i=h;h=h+-1|0;l=g+(h<<1)|0;m=b[l>>1]|0;if(j<<16>>16<m<<16>>16){b[g+(i<<1)>>1]=m;p=g+35+h|0;a[g+35+i>>0]=a[p>>0]|0;b[l>>1]=j;a[p>>0]=k}}while((i|0)>1);f=f+1|0}while(f>>>0<n>>>0)}h=e>>>1;if(!h)return 0;f=0;do{e=e+-1|0;p=g+(f<<1)|0;d=b[p>>1]|0;n=g+35+f|0;c=a[n>>0]|0;o=g+(e<<1)|0;b[p>>1]=b[o>>1]|0;p=g+35+e|0;a[n>>0]=a[p>>0]|0;b[o>>1]=d;a[p>>0]=c;f=f+1|0}while((f|0)!=(h|0));return 0}}else a[g+32>>0]=0;j=li(c)|0;i=g+33|0;f=j<<24;a[i>>0]=(f|0)>251658240?15:(f|0)<0?0:j&255;j=(li(c)|0)<<24;f=j>>24;p=a[i>>0]|0;e=p<<24>>24;o=15-e|0;f=(f|0)>(o|0)?o:(j|0)<0?0:f;a[g+34>>0]=f;f=f+(p&255)&255;j=g+67|0;a[j>>0]=f;if(p<<24>>24>0){e=0;f=0;do{e=e+-1-(li(c)|0)|0;b[g+(f<<1)>>1]=e;a[g+35+f>>0]=Ph(c,1)|0;f=f+1|0;h=a[i>>0]|0}while((f|0)<(h<<24>>24|0));e=h<<24>>24;f=a[j>>0]|0}if((e|0)>=(f<<24>>24|0))return 0;f=0;do{f=f+1+(li(c)|0)|0;b[g+(e<<1)>>1]=f;a[g+35+e>>0]=Ph(c,1)|0;e=e+1|0}while((e|0)<(a[j>>0]|0));return 0}function qi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((e|0)<0)return;if(!f){f=0;while(1){c[d+(f<<2)>>2]=li(b)|0;c[d+128+(f<<2)>>2]=li(b)|0;a[d+512+f>>0]=Ph(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}else{f=0;while(1){c[d+(f<<2)>>2]=li(b)|0;c[d+128+(f<<2)>>2]=li(b)|0;c[d+256+(f<<2)>>2]=li(b)|0;c[d+384+(f<<2)>>2]=li(b)|0;a[d+512+f>>0]=Ph(b,1)|0;if((f|0)==(e|0))break;else f=f+1|0}return}}function ri(b,c){b=b|0;c=c|0;a[c>>0]=Ph(b,2)|0;a[c+1>>0]=Ph(b,1)|0;a[c+2>>0]=Ph(b,5)|0;a[c+3>>0]=Ph(b,1)|0;a[c+4>>0]=Ph(b,1)|0;a[c+5>>0]=Ph(b,1)|0;a[c+6>>0]=Ph(b,1)|0;a[c+7>>0]=Ph(b,1)|0;a[c+8>>0]=Ph(b,1)|0;a[c+9>>0]=Ph(b,1)|0;a[c+10>>0]=Ph(b,1)|0;a[c+11>>0]=Ph(b,1)|0;a[c+12>>0]=Ph(b,1)|0;a[c+13>>0]=Ph(b,1)|0;a[c+14>>0]=Ph(b,1)|0;a[c+15>>0]=Ph(b,1)|0;a[c+16>>0]=Ph(b,1)|0;a[c+17>>0]=Ph(b,1)|0;a[c+18>>0]=Ph(b,1)|0;a[c+19>>0]=Ph(b,1)|0;a[c+20>>0]=Ph(b,1)|0;a[c+21>>0]=Ph(b,1)|0;a[c+22>>0]=Ph(b,1)|0;a[c+23>>0]=Ph(b,1)|0;a[c+24>>0]=Ph(b,1)|0;a[c+25>>0]=Ph(b,1)|0;a[c+26>>0]=Ph(b,1)|0;a[c+27>>0]=Ph(b,1)|0;a[c+28>>0]=Ph(b,1)|0;a[c+29>>0]=Ph(b,1)|0;a[c+30>>0]=Ph(b,1)|0;a[c+31>>0]=Ph(b,1)|0;a[c+32>>0]=Ph(b,1)|0;a[c+33>>0]=Ph(b,1)|0;a[c+34>>0]=Ph(b,1)|0;a[c+35>>0]=Ph(b,1)|0;a[c+36>>0]=Ph(b,1)|0;a[c+37>>0]=Ph(b,1)|0;a[c+38>>0]=Ph(b,1)|0;Ph(b,16)|0;Ph(b,16)|0;Ph(b,12)|0;return}function si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a+644>>2]|0;a=f+(b*1272|0)+184|0;e=c[a>>2]|0;vl(f+(b*1272|0)|0,f+(d*1272|0)|0,1272)|0;c[a>>2]=e;return}function ti(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=e+-1|0;j=32-(s(e|0)|0)+(((i&e|0)==0)<<31>>31)|0;h=c+76|0;if((d[h>>0]|0)>=2)return 0;f=(Ph(b,1)|0)&255;a[c+708>>0]=f;if(f<<24>>24?(g=c+160|0,(a[g>>0]|0)>0):0){f=0;do{l=(Ph(b,j)|0)<<24;k=l>>24;a[c+709+f>>0]=(k|0)<(e|0)?((l|0)<0?0:k):i;f=f+1|0}while((f|0)<(a[g>>0]|0))}if(a[h>>0]|0)return 0;l=(Ph(b,1)|0)&255;a[c+725>>0]=l;if(!(l<<24>>24))return 0;g=c+161|0;if((a[g>>0]|0)<=0)return 0;f=0;do{k=(Ph(b,j)|0)<<24;l=k>>24;a[c+726+f>>0]=(l|0)<(e|0)?((k|0)<0?0:l):i;f=f+1|0}while((f|0)<(a[g>>0]|0));return 0}function ui(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=g+258|0;a[m>>0]=li(c)|0;l=e+15|0;if(a[l>>0]|0){k=mi(c)|0;a[g+259>>0]=k+(d[m>>0]|0)}k=g+160|0;e=a[k>>0]|0;f=e<<24>>24;if(e<<24>>24>0){h=0;do{a[g+260+h>>0]=Ph(c,1)|0;h=h+1|0;e=a[k>>0]|0;f=e<<24>>24}while((h|0)<(f|0))}if(!(a[l>>0]|0))if((f|0)>0){xl(g+276|0,0,f|0)|0;i=e;j=12}else{i=e;j=12}else if(e<<24>>24>0){f=0;do{a[g+276+f>>0]=Ph(c,1)|0;f=f+1|0;e=a[k>>0]|0}while((f|0)<(e<<24>>24|0));i=e;j=12}if((j|0)==12?i<<24>>24>0:0){h=g+259|0;e=0;do{if(!(a[g+260+e>>0]|0)){b[g+292+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=mi(c)|0;b[g+292+(e<<1)>>1]=(1<<a[m>>0])+f;f=(mi(c)|0)&65535}b[g+324+(e<<1)>>1]=f;if(!(a[g+276+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+356+(e<<1)>>1]=f;b[g+420+(e<<1)>>1]=f;b[g+388+(e<<1)>>1]=0;f=0}else{f=mi(c)|0;j=g+356+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=mi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;b[g+388+(e<<1)>>1]=(j|0)>-1?127:((f|0)>-128?f:-128)&65535;f=mi(c)|0;j=g+420+(e<<1)|0;b[j>>1]=(1<<a[h>>0])+f;f=mi(c)|0;j=f-(b[j>>1]<<7>>a[h>>0])|0;f=j+128|0;f=(j|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+452+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[k>>0]|0))}if(a[g+76>>0]|0)return 0;i=g+161|0;f=a[i>>0]|0;e=f<<24>>24;if(f<<24>>24>0){h=0;do{a[g+484+h>>0]=Ph(c,1)|0;h=h+1|0;f=a[i>>0]|0;e=f<<24>>24}while((h|0)<(e|0))}if(!(a[l>>0]|0)){if((e|0)>0)xl(g+500|0,0,e|0)|0}else{if(f<<24>>24<=0)return 0;e=0;do{a[g+500+e>>0]=Ph(c,1)|0;e=e+1|0;f=a[i>>0]|0}while((e|0)<(f<<24>>24|0))}if(f<<24>>24<=0)return 0;h=g+259|0;e=0;do{if(!(a[g+484+e>>0]|0)){b[g+516+(e<<1)>>1]=1<<a[m>>0];f=0}else{f=mi(c)|0;b[g+516+(e<<1)>>1]=(1<<a[m>>0])+f;f=(mi(c)|0)&65535}b[g+548+(e<<1)>>1]=f;if(!(a[g+500+e>>0]|0)){f=1<<a[h>>0]&65535;b[g+580+(e<<1)>>1]=f;b[g+644+(e<<1)>>1]=f;b[g+612+(e<<1)>>1]=0;f=0}else{f=mi(c)|0;l=g+580+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=mi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;b[g+612+(e<<1)>>1]=(l|0)>-1?127:((f|0)>-128?f:-128)&65535;f=mi(c)|0;l=g+644+(e<<1)|0;b[l>>1]=(1<<a[h>>0])+f;f=mi(c)|0;l=f-(b[l>>1]<<7>>a[h>>0])|0;f=l+128|0;f=(l|0)>-1?127:((f|0)>-128?f:-128)&65535}b[g+676+(e<<1)>>1]=f;e=e+1|0}while((e|0)<(a[i>>0]|0));return 0}function vi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=a[d>>0]|0;e=e<<24>>24;h=1<<e;g=(c[b+124>>2]|0)==0;if(g?(c[b+84>>2]|0)==0:0)c[b+11568>>2]=-2<<e;switch(i<<24>>24){case 16:case 17:case 18:case 19:case 20:{e=6;break}case 21:{if(g)e=6;else e=7;break}default:e=7}do if((e|0)==6){g=(c[b+11568>>2]|0)+(h<<1)|0;c[b+11564>>2]=0;c[b+11572>>2]=0}else if((e|0)==7){e=c[b+11564>>2]|0;if((e|0)>(f|0)?(e-f|0)>=((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)+h|0;break}if((e|0)<(f|0)?(f-e|0)>((h|0)/2|0|0):0){g=(c[b+11568>>2]|0)-h|0;break}g=c[b+11568>>2]|0}while(0);e=g+f|0;h=b+11572|0;j=c[h>>2]|0;c[h>>2]=(j|0)>(f|0)?j:f;if(!((i&-8)<<24>>24==16|i<<24>>24<16&(i&1)!=0))return e|0;if(!((i+-6&255)>3&(a[d+1>>0]|0)==0))return e|0;c[b+11564>>2]=f;c[b+11568>>2]=g;return e|0}function wi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=Sb;Sb=Sb+672|0;E=M+608|0;u=M+544|0;A=M+480|0;F=M+416|0;t=M+352|0;r=M+336|0;s=M+320|0;C=M+256|0;z=M+192|0;D=M+128|0;v=M+64|0;G=M;I=c[e+276>>2]|0;J=e+224|0;H=c[J>>2]|0;p=a[g+23>>0]|0;q=c[h+84>>2]|0;if((a[h+88>>0]|0)==1){n=a[h+89>>0]|0;m=a[g+4488+(n*70|0)+33>>0]|0;l=a[g+4488+(n*70|0)+34>>0]|0;o=g+4488+(n*70|0)+35|0;n=g+4488+(n*70|0)|0}else{m=a[h+221>>0]|0;l=a[h+222>>0]|0;o=h+223|0;n=h+188|0}if((m|0)>0){j=0;f=0;i=0;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(f<<2)>>2]=g;f=f+1|0}else{c[E+(i<<2)>>2]=g;i=i+1|0}j=j+1|0}while((j|0)!=(m|0));g=f;B=i}else{g=0;B=0}k=m+l|0;if((l|0)>0){f=0;j=m;i=g;do{g=q+(b[n+(j<<1)>>1]|0)|0;if(!(a[o+j>>0]|0)){c[u+(i<<2)>>2]=g;i=i+1|0}else{c[A+(f<<2)>>2]=g;f=f+1|0}j=j+1|0}while((j|0)<(k|0));x=f}else{x=0;i=g}m=(a[h+91>>0]|0)+(a[h+90>>0]|0)|0;if((m|0)>0){n=h+80|0;f=0;k=0;l=0;while(1){g=c[h+4+(l<<2)>>2]|0;j=a[h+124+l>>0]|0;if(j<<24>>24)g=g+q-(c[n>>2]|0)-(a[h+140+l>>0]<<p)|0;if(!(a[h+108+l>>0]|0)){c[t+(f<<2)>>2]=g;a[s+f>>0]=j;f=f+1|0;g=k}else{c[F+(k<<2)>>2]=g;a[r+k>>0]=j;g=k+1|0}l=l+1|0;if((l|0)>=(m|0)){j=f;y=g;break}else k=g}}else{j=0;y=0}p=x+B+y|0;if(!(c[e+84>>2]|0)){f=0;do{g=c[I+4+(f<<3)>>2]|0;if(g|0)a[g+20>>0]=0;f=f+1|0}while((f|0)!=64)}w=(y|0)>0;if(w){g=0;do{f=c[F+(g<<2)>>2]|0;if(!(a[r+g>>0]|0)){f=Oe(I,f)|0;if(f)a[f+20>>0]=1}else{f=Ne(I,f)|0;if(f)a[f+20>>0]=1}c[C+(g<<2)>>2]=f;g=g+1|0}while((g|0)!=(y|0))}if((j|0)>0){g=0;do{f=c[t+(g<<2)>>2]|0;if(!(a[s+g>>0]|0)){f=Oe(I,f)|0;if(f|0)a[f+20>>0]=1}else{f=Ne(I,f)|0;if(f|0)a[f+20>>0]=1}g=g+1|0}while((g|0)!=(j|0))}q=(B|0)>0;if(q){f=0;do{g=Ne(I,c[E+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[D+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(B|0))}o=(x|0)>0;if(o){f=0;do{g=Ne(I,c[A+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;c[z+(f<<2)>>2]=g;f=f+1|0}while((f|0)!=(x|0))}if((i|0)>0){f=0;do{g=Ne(I,c[u+(f<<2)>>2]|0)|0;if(g|0)a[g+20>>0]=2;f=f+1|0}while((f|0)!=(i|0))}l=h+160|0;k=a[l>>0]|0;k=(p|0)>(k|0)?p:k;n=h+76|0;a:do if((d[n>>0]|0)<2){b:do if(k|0){if(!q){f=0;while(1){if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}if(f>>>0>=k>>>0)break b}}f=0;do{if(f>>>0<k>>>0){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&o){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[v+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}while(0);f=a[l>>0]|0;c:do if(f<<24>>24>0){m=(a[h+708>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+709+k>>0]|0;f=c[v+(f<<2)>>2]|0;c[h+876+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;d:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break d;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+876+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break c}Sb=M;return f|0}while(0);if(!(a[n>>0]|0)){l=h+161|0;f=a[l>>0]|0;k=f<<24>>24;k=(p|0)>(k|0)?p:k;if(k){if(o){f=0;do{if(f>>>0<k>>>0){j=0;do{i=z+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[A+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(x|0))}if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}else{f=0;do{if(f>>>0<k>>>0&q){j=0;do{i=D+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[E+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(B|0))}if(f>>>0<k>>>0&w){j=0;do{i=C+(j<<2)|0;g=c[i>>2]|0;if(!g){g=Me(I,c[F+(j<<2)>>2]|0)|0;c[i>>2]=g}c[G+(f<<2)>>2]=g;f=f+1|0;j=j+1|0}while(f>>>0<k>>>0&(j|0)<(y|0))}}while(f>>>0<k>>>0)}f=a[l>>0]|0}if(f<<24>>24>0){m=(a[h+725>>0]|0)==0;l=f<<24>>24;k=0;while(1){if(m)f=k;else f=a[h+726+k>>0]|0;f=c[G+(f<<2)>>2]|0;c[h+1068+(k*12|0)>>2]=f;if(!f){f=988;break}i=c[f+8>>2]|0;j=c[H>>2]|0;e:do if(!j)f=0;else{g=0;do{f=c[H+264+(g<<2)>>2]|0;if(f|0?(c[f+16>>2]|0)==(i|0):0)break e;g=g+1|0}while(g>>>0<j>>>0)}while(0);c[h+1068+(k*12|0)+4>>2]=f;k=k+1|0;if((k|0)>=(l|0))break a}Sb=M;return f|0}}}while(0);k=e+244|0;l=e+228|0;j=e+232|0;i=0;while(1){f=c[I+4+(i<<3)>>2]|0;f:do if((f|0?(a[f+20>>0]|0)==0:0)?(K=f+8|0,Le(I,c[k>>2]|0,c[K>>2]|0),L=c[j>>2]|0,(L|0)>0):0){f=0;g=c[l>>2]|0;while(1){if(g|0?(c[g+16>>2]|0)==(c[K>>2]|0):0)break;f=f+1|0;if((f|0)<(L|0))g=g+40980|0;else break f}ge(c[J>>2]|0,f,2)|0}while(0);i=i+1|0;if((i|0)==64){f=0;break}}Sb=M;return f|0}function xi(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function yi(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function zi(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function Ai(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function Bi(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function Ci(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[80006+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[80006+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[80006+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[80006+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[80006+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[80006+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[80006+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function Di(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;xi(a+28|0,0);xi(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=88252;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;Wi(a);return}function Fi(a){a=a|0;Vi(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=8;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=9}cc[f&15](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function Hi(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;Pj(a);c[b>>2]=0;return}function Ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;t=a+1504|0;u=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Ki(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=39552+(v<<2)|0;B=39552+(k<<2)|0;H=r(c[B>>2]|0,c[o>>2]|0)|0;g=r(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=r(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=r(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=r(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=r(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=r(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;s=r(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=r(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+s+q)>>2;q=0-v|0;s=0-k|0;z=t+(l<<9)|0;j=39552;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=r(c[W+8>>2]|0,c[I>>2]|0)|0;U=r(c[B>>2]|0,c[p>>2]|0)|0;V=r(c[B+56>>2]|0,c[A>>2]|0)|0;T=r(c[B+48>>2]|0,c[J>>2]|0)|0;S=r(c[B+40>>2]|0,c[K>>2]|0)|0;R=r(c[B+32>>2]|0,c[L>>2]|0)|0;Q=r(c[B+24>>2]|0,c[M>>2]|0)|0;P=r(c[B+16>>2]|0,c[N>>2]|0)|0;B=r(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=r(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=r(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=r(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=r(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=r(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=r(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(r(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=r(c[B+116>>2]|0,c[O>>2]|0)|0;f=(r(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(r(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(r(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(r(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(r(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(r(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(r(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(s<<2)|0;B=B+(r(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(r(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(r(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=41600+(v<<2)|0;$=r(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(r(c[aa+56>>2]|0,c[u+(l<<9)+36>>2]|0)|0)|0;$=$+(r(c[aa+48>>2]|0,c[u+(l<<9)+40>>2]|0)|0)|0;$=$+(r(c[aa+40>>2]|0,c[u+(l<<9)+44>>2]|0)|0)|0;$=$+(r(c[aa+32>>2]|0,c[u+(l<<9)+48>>2]|0)|0)|0;$=$+(r(c[aa+24>>2]|0,c[u+(l<<9)+52>>2]|0)|0)|0;$=$+(r(c[aa+16>>2]|0,c[u+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(r(c[aa+8>>2]|0,c[u+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{t=t+2048|0;u=u+2048|0}}return}function Ji(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){s=a+4108+(i*4608|0)|0;v=c[w>>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;Ki(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=39552+(q<<2)|0;B=39552+(g<<2)|0;H=r(c[B>>2]|0,c[k>>2]|0)|0;u=r(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=r(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;t=r(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=r(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=r(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=r(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=r(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=r(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=r(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=r(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=r(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=r(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=r(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=r(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[s>>2]=I+H+G+F+E+D+C+(r(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+u+t+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=39552;l=a+(i<<11)+1024+(h<<9)|0;t=s;u=s+124|0;y=1;while(1){t=t+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=r(c[W+8>>2]|0,c[A>>2]|0)|0;U=r(c[I>>2]|0,c[l>>2]|0)|0;V=r(c[I+56>>2]|0,c[H>>2]|0)|0;T=r(c[I+48>>2]|0,c[G>>2]|0)|0;S=r(c[I+40>>2]|0,c[F>>2]|0)|0;R=r(c[I+32>>2]|0,c[E>>2]|0)|0;Q=r(c[I+24>>2]|0,c[D>>2]|0)|0;O=r(c[I+16>>2]|0,c[C>>2]|0)|0;I=r(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=r(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=r(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=r(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=r(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=r(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=r(c[W+56>>2]|0,c[P>>2]|0)|0;c[t>>2]=ba+aa+$+_+Z+Y+X+(r(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=r(c[I+60>>2]|0,c[k>>2]|0)|0;O=(r(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(r(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(r(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(r(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(r(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(r(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(r(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(r(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(r(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(r(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(r(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(r(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(r(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(r(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[u>>2]=H+(r(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;u=u+-4|0}}ba=41600+(q<<2)|0;aa=r(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(r(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(r(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(r(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(r(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(r(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(r(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[s+64>>2]=0-(aa+(r(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{s=s+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Li(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=Bi(f,l?8:9)|0;c[i+4>>2]=Bi(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=Bi(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=Bi(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=Bi(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=Bi(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=Bi(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(Bi(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=Bi(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=Bi(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=Bi(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=Bi(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=Bi(f,3)|0}else{u=Bi(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(Bi(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=Bi(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=Bi(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=Bi(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=Bi(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=Bi(f,3)|0}u=Bi(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0} |
| | | function oc(){be();Xi()}function pc(a){a=a|0;var b=0;b=Sb;Sb=Sb+a|0;Sb=Sb+15&-16;return b|0}function qc(){return Sb|0}function rc(a){a=a|0;Sb=a}function sc(a,b){a=a|0;b=b|0;Sb=a;Tb=b}function tc(a,b,c){a=a|0;b=b|0;c=c|0;return Oj(c)|0}function uc(a,b){a=a|0;b=b|0;Pj(b);return}function vc(){Na();return 0}function wc(a){a=a|0;var b=0;Z(37904,37912,37928,0,81165,3,81168,0,81168,0,80518,81170,25);b=Zj(8)|0;c[b>>2]=7;c[b+4>>2]=0;$(37904,80526,3,38992,81173,1,b|0,0);b=Zj(8)|0;c[b>>2]=8;c[b+4>>2]=0;$(37904,80532,3,39004,81173,2,b|0,0);b=Zj(8)|0;c[b>>2]=26;c[b+4>>2]=0;$(37904,80539,2,39016,81178,9,b|0,0);b=Zj(8)|0;c[b>>2]=27;c[b+4>>2]=0;$(37904,80546,2,39016,81178,9,b|0,0);b=Zj(8)|0;c[b>>2]=10;c[b+4>>2]=0;a=Zj(8)|0;c[a>>2]=11;c[a+4>>2]=0;aa(37904,80564,37872,81182,1,b|0,37872,81173,3,a|0);a=Zj(8)|0;c[a>>2]=12;c[a+4>>2]=0;b=Zj(8)|0;c[b>>2]=13;c[b+4>>2]=0;aa(37904,80574,37872,81182,1,a|0,37872,81173,3,b|0);b=Zj(8)|0;c[b>>2]=14;c[b+4>>2]=0;a=Zj(8)|0;c[a>>2]=15;c[a+4>>2]=0;aa(37904,80582,37872,81182,1,b|0,37872,81173,3,a|0);a=Zj(8)|0;c[a>>2]=16;c[a+4>>2]=0;b=Zj(8)|0;c[b>>2]=17;c[b+4>>2]=0;aa(37904,80594,37872,81182,1,a|0,37872,81173,3,b|0);b=Zj(8)|0;c[b>>2]=18;c[b+4>>2]=0;a=Zj(8)|0;c[a>>2]=19;c[a+4>>2]=0;aa(37904,80606,37872,81182,1,b|0,37872,81173,3,a|0);a=Zj(8)|0;c[a>>2]=20;c[a+4>>2]=0;aa(37904,80610,37872,81182,1,a|0,0,0,0,0);Z(37984,38e3,38016,37904,81165,4,81165,5,81165,6,80621,81170,28);a=Zj(4)|0;c[a>>2]=29;$(37984,81186,2,39024,81178,21,a|0,0);_(37904,81206,3,39032,81329,7,2);_(37904,81216,3,39276,81329,8,4);return}function xc(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.0;o=Sb;Sb=Sb+16|0;n=o+8|0;m=o;e=b+24500|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[88144]|0)==0?fl(88144)|0:0)c[22054]=ra(1,38904)|0;oa(c[22054]|0,f|0,80631,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=wa(80637)|0;g=sa(g|0,j|0)|0;pa(j|0);p=+la(g|0,38792,m|0);za(c[m>>2]|0);j=p!=0.0;pa(g|0);c[n>>2]=80645;c[n+4>>2]=j?80654:80659;Ja(0,n|0);a[b+22772>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=vj(f,46,g)|0;if(!f){g=h;break a}if(!(fj(f,80665,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+24501>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=qa(80670)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Oj(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Oj(f+4|0)|0;c[g>>2]=f;e=d}vl(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=va(h|0,1,38908,n|0)|0;pa(h|0);Nc(m,80680,80691);Oc(n,b,80532);k=c[m>>2]|0;d=wa(80703)|0;Aa(k|0,d|0,c[n>>2]|0);pa(d|0);pa(c[n>>2]|0);c[b+24492>>2]=Fa()|0;b=c[l>>2]|0;n=wa(80713)|0;Aa(b|0,n|0,c[m>>2]|0);pa(n|0);pa(c[m>>2]|0);Sb=o;return}function yc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=Sb;Sb=Sb+112|0;j=H+24|0;D=H+16|0;E=H;G=H+96|0;B=H+80|0;C=H+64|0;l=H+48|0;m=H+32|0;f=c[e>>2]|0;F=wa(80841)|0;c[E>>2]=sa(f|0,F|0)|0;pa(F|0);Rc(G,E);pa(c[E>>2]|0);F=G+11|0;f=a[F>>0]|0;k=G+4|0;e=b+24496|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[k>>2]|0:f&255);f=Fa()|0;h=b+24492|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+24512>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+24501>>0]|0))switch(a[(mk(G,0)|0)>>0]|0){case 1:{h=a[F>>0]|0;e=c[k>>2]|0;i=Zj(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[l+8>>2]=5;c[l+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=l+4|0;c[e>>2]=i;c[j>>2]=2;c[l>>2]=38928;Tc(b,E,l);c[l>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)_j(c[i>>2]|0);_j(i);break a}case 2:{h=a[F>>0]|0;e=c[k>>2]|0;i=Zj(16)|0;c[i>>2]=c[G>>2];c[i+4>>2]=c[G+4>>2];c[i+8>>2]=c[G+8>>2];c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;j=i+12|0;c[j>>2]=1;k=i+11|0;if((a[k>>0]|0)<0)f=c[i>>2]|0;else f=i;E=d[f+3>>0]<<8|d[f+4>>0]|d[f+2>>0]<<16|d[f+1>>0]<<24;c[m+8>>2]=5;c[m+12>>2]=(h<<24>>24<0?e:h&255)+-5;e=m+4|0;c[e>>2]=i;c[j>>2]=2;c[m>>2]=38928;Uc(b,E,m);c[m>>2]=38944;e=c[e>>2]|0;E=e+12|0;b=(c[E>>2]|0)+-1|0;c[E>>2]=b;if(!((e|0)==0|(b|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}b=(c[j>>2]|0)+-1|0;c[j>>2]=b;if(b|0)break a;if((a[k>>0]|0)<0)_j(c[i>>2]|0);_j(i);break a}case 10:{e=c[b+4>>2]|0;f=wa(80713)|0;e=sa(e|0,f|0)|0;pa(f|0);f=wa(80867)|0;h=f;if((a[88192]|0)==0?fl(88192)|0:0)c[22060]=ra(2,38980)|0;b=c[22060]|0;ta(f|0);c[E>>2]=h;oa(b|0,e|0,80862,E|0);pa(f|0);pa(e|0);break a}default:{b=a[(mk(G,0)|0)>>0]|0;c[j>>2]=80883;c[j+4>>2]=b;Ja(1,j|0);break a}}else{l=a[F>>0]|0;l=l<<24>>24<0?c[k>>2]|0:l&255;y=b+16|0;e=c[y>>2]|0;f=a[e+11>>0]|0;h=f<<24>>24<0;if(h)i=(c[e+8>>2]&2147483647)+-1|0;else i=10;z=b+20|0;j=c[z>>2]|0;A=b+24|0;k=c[A>>2]|0;if(l>>>0>(i-j-k|0)>>>0){if(h){h=c[e+8>>2]&2147483647;f=1-h|0;h=h+-1|0}else{f=-10;h=10}jk(e,j+l+k+f+h|0,0);e=c[y>>2]|0;f=a[e+11>>0]|0}if(f<<24>>24<0)e=c[e>>2]|0;vl(e+(c[z>>2]|0)+(c[A>>2]|0)|0,((a[F>>0]|0)<0?c[G>>2]|0:G)|0,l|0)|0;f=(c[A>>2]|0)+l|0;c[A>>2]=f;e=b+8|0;if(!(a[e>>0]|0)){if((f|0)<=12)break;a[e>>0]=1;c[z>>2]=(c[z>>2]|0)+13;c[A>>2]=f+-13;break}b:do if((f|0)>3){s=B+8|0;t=B+12|0;u=B+4|0;v=C+8|0;w=C+12|0;x=C+4|0;while(1){q=c[y>>2]|0;r=q+11|0;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;i=c[z>>2]|0;p=a[e+i>>0]|0;e=i+1|0;c[z>>2]=e;c[A>>2]=f+-1;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;o=h+e+2|0;m=a[o>>0]|0;l=a[o+-1>>0]|0;o=a[o+-2>>0]|0;e=i+4|0;c[z>>2]=e;n=f+-4|0;c[A>>2]=n;o=(l&255)<<8|m&255|(o&255)<<16;if(n>>>0<(o+11|0)>>>0)break;if((a[r>>0]|0)<0)h=c[q>>2]|0;else h=q;k=h+e+2|0;k=d[k+-1>>0]<<8|d[k>>0]|d[k+-2>>0]<<16;j=i+11|0;c[z>>2]=j;c[A>>2]=f+-11;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;l=Zj(16)|0;c[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];m=l+12|0;c[m>>2]=1;i=q+12|0;c[i>>2]=(c[i>>2]|0)+1;n=l+11|0;e=a[n>>0]|0;f=e<<24>>24<0;if(f)h=(c[l+8>>2]&2147483647)+-1|0;else h=10;if(o>>>0>h>>>0){if(f){f=c[l+8>>2]&2147483647;e=1-f|0;f=f+-1|0}else{e=-10;f=10}jk(l,e+o+f|0,0);e=a[n>>0]|0}if(e<<24>>24<0)f=c[l>>2]|0;else f=l;if((a[r>>0]|0)<0)e=c[q>>2]|0;else e=q;vl(f|0,e+j|0,o|0)|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if(!j){if((a[r>>0]|0)<0)_j(c[q>>2]|0);_j(q)}c:do switch(p<<24>>24){case 8:{c[s>>2]=0;c[t>>2]=o;c[u>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[B>>2]=38928;Tc(b,k,B);c[B>>2]=38944;e=c[u>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e);break}case 9:{c[v>>2]=0;c[w>>2]=o;c[x>>2]=l;c[m>>2]=(c[m>>2]|0)+1;c[C>>2]=38928;Uc(b,k,C);c[C>>2]=38944;e=c[x>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if((e|0)==0|(r|0)!=0)break c;if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e);break}default:{c[D>>2]=80846;c[D+4>>2]=p&255;Ja(0,D|0)}}while(0);f=(c[A>>2]|0)-o|0;c[z>>2]=(c[z>>2]|0)+o+4;f=f+-4|0;c[A>>2]=f;r=(c[m>>2]|0)+-1|0;c[m>>2]=r;if(!r){if((a[n>>0]|0)<0)_j(c[l>>2]|0);_j(l);f=c[A>>2]|0}if((f|0)<=3)break b}c[z>>2]=i;c[A>>2]=f}while(0);e=c[y>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;wl(e|0,e+(c[z>>2]|0)|0,f|0)|0;jk(c[y>>2]|0,c[A>>2]|0,0);c[z>>2]=0}while(0);if((a[F>>0]|0)>=0){Sb=H;return}_j(c[G>>2]|0);Sb=H;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+32|0;i=l;g=qa(81106)|0;j=b+24484|0;c[i>>2]=c[j>>2];pa(ma(g|0,1,38988,i|0)|0);pa(g|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;g=b+24456|0;md(g);ld(g);e=c[b+24460>>2]|0;f=b+24464|0;d=c[f>>2]|0;if((d|0)!=(e|0))c[f>>2]=d+(~((d+-4-e|0)>>>2)<<2);nd(g);f=i+4|0;h=i+8|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[b+24472>>2]=0;c[b+24476>>2]=0;c[i+20>>2]=0;c[i+16>>2]=0;md(i);d=c[f>>2]|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{_j(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[i>>2]|0;if(d|0)_j(d);if((a[b+22772>>0]|0)==0?(k=c[b+22744>>2]|0,k|0):0)Pj(k);c[j>>2]=0;a[b+24488>>0]=1;a[b+24489>>0]=1;a[b+24480>>0]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+8>>0]=0;Sb=l;return}function Ac(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;p=Sb;Sb=Sb+16|0;e=p+4|0;j=p;k=b+24476|0;a:do if(c[k>>2]|0){l=b+24460|0;m=b+24472|0;n=b+4|0;o=b+24508|0;f=b+22736|0;g=b+24456|0;d=0;while(1){q=c[m>>2]|0;i=(q>>>0)/204|0;h=c[(c[l>>2]|0)+(i<<2)>>2]|0;i=q-(i*204|0)|0;if(d?(c[e>>2]=c[h+(i*20|0)>>2],q=bd(c[n>>2]|0,81097,e)|0,q=(c[o>>2]|0)+q|0,c[j>>2]=q,(q|0)>0):0)break;ad(f,h+(i*20|0)+4|0);od(g);if(!(c[k>>2]|0))break a;else d=1}a[b+24480>>0]=1;c[b+24484>>2]=cd(c[n>>2]|0,81081,j)|0;Sb=p;return}while(0);a[b+24480>>0]=0;Sb=p;return}function Bc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+24500>>0];c[a>>2]=Ba(38792,f|0)|0;Sb=e;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38792,g|0);za(c[g>>2]|0);a[b+24500>>0]=f!=0.0&1;Sb=e;return}function Dc(a,b){a=a|0;b=b|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;c[f>>2]=d[b+24501>>0];c[a>>2]=Ba(38792,f|0)|0;Sb=e;return}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Sb;Sb=Sb+16|0;g=e;f=+la(c[d>>2]|0,38792,g|0);za(c[g>>2]|0);a[b+24501>>0]=f!=0.0&1;Sb=e;return}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+24504>>2];c[a>>2]=Ba(38840,e|0)|0;Sb=d;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38840,f|0);za(c[f>>2]|0);c[a+24504>>2]=~~e;Sb=d;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;c[e>>2]=c[b+24508>>2];c[a>>2]=Ba(38840,e|0)|0;Sb=d;return}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38840,f|0);za(c[f>>2]|0);c[a+24508>>2]=~~e;Sb=d;return}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0;d=Sb;Sb=Sb+16|0;e=d;g[e>>3]=+g[b+24512>>3];c[a>>2]=Ba(38880,e|0)|0;Sb=d;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=Sb;Sb=Sb+16|0;f=d;e=+la(c[b>>2]|0,38880,f|0);za(c[f>>2]|0);g[a+24512>>3]=e;Sb=d;return}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Sb;Sb=Sb+16|0;e=d+4|0;f=d;c[e>>2]=xa()|0;i=b+24460|0;h=b+24472|0;j=c[h>>2]|0;g=(j>>>0)/204|0;pd(e,81119,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+24476|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;qd(e,81125,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];rd(e,81130,f);b=c[e>>2]|0;c[a>>2]=b;ta(b|0);pa(c[e>>2]|0);Sb=d;return}function Mc(a){a=a|0;pa(c[a>>2]|0);return}function Nc(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=wa(b|0)|0;d=wa(d|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=wa(d|0)|0;d=sa(f|0,e|0)|0;pa(e|0);Qc(a,d,80817,b);pa(d|0);return}function Pc(a){a=a|0;L(a|0)|0;Kk()}function Qc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=Sb;Sb=Sb+16|0;g=i;h=i+8|0;if((a[88152]|0)==0?fl(88152)|0:0)c[22055]=ra(2,38912)|0;k=c[22055]|0;ta(c[f>>2]|0);c[g>>2]=c[f>>2];j=+na(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;za(h|0);Sb=i;return}function Rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;e=h;i=+la(c[d>>2]|0,37848,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)dk(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;za(e|0);Sb=h;return}else d=b}else{j=g+16&-16;d=Zj(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}vl(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;za(e|0);Sb=h;return}function Sc(b){b=b|0;var d=0,e=0;c[b>>2]=38944;b=c[b+4>>2]|0;e=b+12|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;if((b|0)==0|(d|0)!=0)return;if((a[b+11>>0]|0)<0)_j(c[b>>2]|0);_j(b);return}function Tc(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;n=Sb;Sb=Sb+16|0;m=n;e=c[f+4>>2]|0;h=(a[e+11>>0]|0)<0;if(h)g=c[e>>2]|0;else g=e;i=f+8|0;j=c[i>>2]|0;if((a[g+j>>0]|0)==-1){if(h)g=c[e>>2]|0;else g=e;if((d[g+(j+1)>>0]|0)>239){if(h)e=c[e>>2]|0;h=e+j|0;g=f+12|0;e=c[b+4>>2]|0;if((a[88160]|0)==0?fl(88160)|0:0)c[22056]=ra(3,38952)|0;b=c[22056]|0;c[m>>2]=h;c[m+8>>2]=c[g>>2];oa(b|0,e|0,80983,m|0);Sb=n;return}}if(h)e=c[e>>2]|0;e=a[e+j>>0]|0;c[i>>2]=j+1;i=f+12|0;c[i>>2]=(c[i>>2]|0)+-1;e=e&255;i=e>>>4;g=b+24489|0;if(a[g>>0]|0){h=(e&1)+1|0;e=e>>>2;switch(e&3){case 1:{e=11025;break}case 2:{e=22050;break}case 3:{e=44100;break}default:e=e&3}switch(i&15){case 10:{e=b+28|0;if((i|0)==2?(l=c[b+36>>2]|0,k=b+32|0,l=Yc(e,f,l+(c[k>>2]|0)|0,l+(c[e>>2]|0)|0)|0,l|0):0){m=(c[k>>2]|0)+l|0;c[k>>2]=(m|0)==(c[e>>2]|0)?0:m}Xc(b,c[b+24504>>2]<<10,c[b+40>>2]|0,d[b+44>>0]|0);Sb=n;return}case 11:{Xc(b,16e3,16e3,h);break}case 2:{Xc(b,(c[b+24504>>2]|0)*576|0,e,h);break}default:{}}if(a[g>>0]|0){Sb=n;return}}h=b+28|0;if((i|0)!=2){Sb=n;return}e=c[b+36>>2]|0;g=b+32|0;e=Yc(h,f,e+(c[g>>2]|0)|0,e+(c[h>>2]|0)|0)|0;if(!e){Sb=n;return}l=(c[g>>2]|0)+e|0;f=(l|0)==(c[h>>2]|0);c[g>>2]=f?0:l;if(!f){Sb=n;return}e=c[b+4>>2]|0;if((a[88144]|0)==0?fl(88144)|0:0)c[22054]=ra(1,38904)|0;oa(c[22054]|0,e|0,80983,m|0);Sb=n;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Sb;Sb=Sb+32|0;k=o+8|0;n=o;l=o+16|0;m=o+12|0;c[m>>2]=d;j=b+24488|0;if(a[j>>0]|0){f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=c[e+8>>2]|0;if((a[h+i>>0]&-16)<<24>>24!=16){Sb=o;return}if(g)f=c[f>>2]|0;if(a[f+(i+1)>>0]|0){Sb=o;return}ad(b+22736|0,e);a[j>>0]=0;c[k>>2]=81029;Ja(0,k|0);Sb=o;return}f=c[e+4>>2]|0;g=(a[f+11>>0]|0)<0;if(g)h=c[f>>2]|0;else h=f;i=(c[e+8>>2]|0)+1|0;if((a[h+i>>0]|0)!=1){if(g)f=c[f>>2]|0;if(a[f+i>>0]|0){f=c[b+4>>2]|0;if((a[88144]|0)==0?fl(88144)|0:0)c[22054]=ra(1,38904)|0;oa(c[22054]|0,f|0,81045,n|0);Sb=o;return}}if(!d){Sb=o;return}g=b+24508|0;a:do if(c[g>>2]|0){h=b+24480|0;do if(!(a[h>>0]|0)){c[n>>2]=d;f=b+4|0;n=bd(c[f>>2]|0,81097,n)|0;n=(c[g>>2]|0)+n|0;c[l>>2]=n;if((n|0)>0){a[h>>0]=1;c[b+24484>>2]=cd(c[f>>2]|0,81081,l)|0;break}else break a}while(0);dd(b+24456|0,m,e);Sb=o;return}while(0);ad(b+22736|0,e);Sb=o;return}function Vc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){_j(b);return}if((a[d+11>>0]|0)<0)_j(c[d>>2]|0);_j(d);_j(b);return}function Wc(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=38944;d=c[b+4>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if((d|0)==0|(e|0)!=0){_j(b);return}if((a[d+11>>0]|0)<0)_j(c[d>>2]|0);_j(d);_j(b);return}function Xc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=Sb;Sb=Sb+32|0;h=i;a[b+24489>>0]=0;j=r(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=Oj(j)|0;c[h>>2]=81003;c[h+4>>2]=j;Ja(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[88168]|0)==0?fl(88168)|0:0)c[22057]=ra(5,16)|0;j=c[22057]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;oa(j|0,b|0,80993,h|0);Sb=i;return}function Yc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=d+20|0;q=c[e+12>>2]|0;n=d+22680|0;h=c[n>>2]|0;i=a[h+11>>0]|0;j=i<<24>>24<0;if(j)k=(c[h+8>>2]&2147483647)+-1|0;else k=10;o=d+22684|0;l=c[o>>2]|0;p=d+22688|0;m=c[p>>2]|0;if(q>>>0>(k-l-m|0)>>>0){if(j){j=c[h+8>>2]&2147483647;i=1-j|0;j=j+-1|0}else{i=-10;j=10}jk(h,l+q+m+i+j|0,0);h=c[n>>2]|0;i=a[h+11>>0]|0}if(i<<24>>24<0)h=c[h>>2]|0;i=c[e+4>>2]|0;if((a[i+11>>0]|0)<0)i=c[i>>2]|0;vl(h+(c[o>>2]|0)+(c[p>>2]|0)|0,i+(c[e+8>>2]|0)|0,q|0)|0;c[p>>2]=(c[p>>2]|0)+q;if((Zc(s)|0)==-1){s=0;return s|0}e=d+13456|0;o=d+13458|0;p=d+13460|0;n=d+18068|0;h=0;while(1){j=b[e>>1]|0;d=b[o>>1]|0;k=d&65535;h=(r((j&65535)<<1,k)|0)+h|0;i=k+-1|0;do if(d<<16>>16)if(j<<16>>16==2){m=k<<2;j=n;k=p;l=f;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=k<<1;j=p;k=f;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=25;break}if((Zc(s)|0)==-1){f=25;break}}if((f|0)==25)return h|0;return 0}function Zc(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=Sb;Sb=Sb+272|0;s=t+256|0;r=t;k=t+248|0;l=t+244|0;q=d+22660|0;e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;p=d+22664|0;i=e+(c[p>>2]|0)|0;j=_c(d,i)|0;if((j|0)==-1){s=-1;Sb=t;return s|0}e=c[p>>2]|0;c[p>>2]=e+j;o=d+22668|0;f=c[o>>2]|0;n=f-j|0;c[o>>2]=n;if(!n){c[p>>2]=e;c[o>>2]=f;s=-1;Sb=t;return s|0}e=d+9328|0;if((c[e>>2]|0)==0?(n=Qj(1152,4)|0,c[e>>2]=n,(n|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(u=d+28|0,n=c[u+4>>2]|0,m=r,c[m>>2]=c[u>>2],c[m+4>>2]=n,m=d+88|0,n=b[m>>1]|0,c[s>>2]=c[r>>2],c[s+4>>2]=c[r+4>>2],n=Ci(s,(h&4096|0)==0?(f?136:256):f?72:136,n)|0,b[m>>1]=n,n<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}n=d+64|0;m=(c[e>>2]|0)==0?1:2;f=d+28|0;Li(f,m,c[g>>2]&4096,r,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[r+4>>2];g=zi(f)|0;f=j+i-g|0;e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;xi(s,e+(c[p>>2]|0)|0);e=Bi(s,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))Ai(s,16);i=Bi(s,e>>>19&1|8)|0}else i=0;l=d+22684|0;h=c[l>>2]|0;$c(s,d+22672|0,g,f);e=c[s+4>>2]|0;j=d+22676|0;c[j>>2]=e;g=e+12|0;u=c[g>>2]|0;k=d+22680|0;c[k>>2]=c[s+8>>2];c[l>>2]=c[s+12>>2];c[s>>2]=38944;c[g>>2]=u;if(!((e|0)==0|(u|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}e=c[q>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;wl(e|0,e+(c[p>>2]|0)|0,c[o>>2]|0)|0;jk(c[q>>2]|0,c[o>>2]|0,0);c[p>>2]=0;f=c[l>>2]|0;e=c[r>>2]|0;if(f>>>0<i>>>0|h>>>0<e>>>0)e=-1;else{g=h-e|0;c[k>>2]=g;f=f-i-g|0;e=c[j>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;xi(s,e+g|0);Mi(s,n,r,m)|0;Gi(d+9332|0,n);g=(c[k>>2]|0)+f|0;c[k>>2]=g;f=(c[l>>2]|0)-f|0;c[l>>2]=f;e=c[j>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;wl(e|0,e+g|0,f|0)|0;jk(c[j>>2]|0,c[l>>2]|0,0);c[k>>2]=0;e=0}u=e;Sb=t;return u|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;xi(a+28|0,b);c[a+20>>2]=b;Si(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Ti(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Ui(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=r(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function $c(b,d,e,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=Sb;Sb=Sb+16|0;m=o;k=d+4|0;g=c[k>>2]|0;i=(a[g+11>>0]|0)<0;if(i)h=(c[g+8>>2]&2147483647)+-1|0;else h=10;n=d+8|0;j=c[n>>2]|0;l=d+12|0;d=c[l>>2]|0;if((h-j-d|0)>>>0<f>>>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;jk(m,j+f+d|0,0);d=m+11|0;g=c[k>>2]|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;vl(((a[d>>0]|0)<0?c[m>>2]|0:m)|0,g|0,(c[l>>2]|0)+(c[n>>2]|0)|0)|0;vl(((a[d>>0]|0)<0?c[m>>2]|0:m)+(c[n>>2]|0)+(c[l>>2]|0)|0,e|0,f|0)|0;c[b>>2]=38944;c[b+8>>2]=0;f=a[d>>0]|0;c[b+12>>2]=f<<24>>24<0?c[m+4>>2]|0:f&255;f=Zj(16)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=1;c[b+4>>2]=f;Sb=o;return}else{if(i)g=c[g>>2]|0;vl(g+j+d|0,e|0,f|0)|0;f=(c[l>>2]|0)+f|0;c[b>>2]=38944;e=c[k>>2]|0;c[b+4>>2]=e;e=e+12|0;c[e>>2]=(c[e>>2]|0)+1;c[b+8>>2]=c[n>>2];c[b+12>>2]=f;Sb=o;return}}function ad(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Sb;Sb=Sb+16|0;h=l;e=c[d+4>>2]|0;i=e+11|0;g=(a[i>>0]|0)<0;if(g)f=c[e>>2]|0;else f=e;j=d+8|0;k=c[j>>2]|0;if((a[f+k>>0]&-16)<<24>>24==16){if(g)f=c[e>>2]|0;else f=e;if(!(a[f+(k+1)>>0]|0)){if(g)e=c[e>>2]|0;e=a[e+k>>0]|0;c[j>>2]=k+5;k=d+12|0;c[k>>2]=(c[k>>2]|0)+-5;switch(e&15){case 7:{ac[c[(c[b>>2]|0)+12>>2]&31](b,d);Sb=l;return}case 12:{ac[c[(c[b>>2]|0)+16>>2]&31](b,d);Sb=l;return}default:{c[h>>2]=81059;c[h+4>>2]=e&15;Ja(0,h|0);Sb=l;return}}}}f=k+2|0;c[j>>2]=f;g=d+12|0;h=c[g>>2]|0;c[g>>2]=h+-2;if((a[i>>0]|0)<0)e=c[e>>2]|0;i=e+f+2|0;f=a[i>>0]|0;e=a[i+-1>>0]|0;i=a[i+-2>>0]|0;c[j>>2]=k+5;c[g>>2]=h+-5;c[b+40>>2]=(e&255)<<8|f&255|(i&255)<<16;ac[c[(c[b>>2]|0)+24>>2]&31](b,d);Sb=l;return}function bd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[88176]|0)==0?fl(88176)|0:0)c[22058]=ra(2,38964)|0;j=c[22058]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=Sb;Sb=Sb+16|0;f=h;g=h+8|0;if((a[88184]|0)==0?fl(88184)|0:0)c[22059]=ra(2,38972)|0;j=c[22059]|0;c[f>>2]=c[e>>2];i=+na(j|0,b|0,d|0,g|0,f|0);za(c[g>>2]|0);Sb=h;return ~~i|0}function dd(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;j=b+8|0;g=c[j>>2]|0;k=b+4|0;f=c[k>>2]|0;m=g-f|0;i=b+16|0;l=b+20|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((m|0)==0?0:((m>>2)*204|0)+-1|0)|0)==(h|0)){ed(b);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))g=0;else{g=(h>>>0)/204|0;g=(c[f+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0}j=c[e+8>>2]|0;k=c[e+12>>2]|0;f=c[e+4>>2]|0;e=f+12|0;m=(c[e>>2]|0)+1|0;c[g>>2]=c[d>>2];c[g+12>>2]=j;c[g+16>>2]=k;c[g+8>>2]=f;c[g+4>>2]=38928;c[e>>2]=m;if((f|0)==0|(m|0)!=0){m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}if((a[f+11>>0]|0)<0)_j(c[f>>2]|0);_j(f);m=c[l>>2]|0;m=m+1|0;c[l>>2]=m;return}function ed(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=Sb;Sb=Sb+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{wl(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;bk(r,80898);c[r>>2]=75516;P(r|0,38712,19)}else{h=Zj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){_j(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;Sb=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=K(8)|0;bk(r,80898);c[r>>2]=75516;P(r|0,38712,19)}else{d=Zj(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=Zj(4080)|0;hd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;id(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)_j(f);Sb=r;return}if((d|0)!=(b|0)){c[k>>2]=Zj(4080)|0;fd(a,k);Sb=r;return}c[k>>2]=Zj(4080)|0;gd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{wl(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=K(8)|0;bk(r,80898);c[r>>2]=75516;P(r|0,38712,19)}else{h=Zj(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){_j(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;Sb=r;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{wl(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;bk(q,80898);c[q>>2]=75516;P(q|0,38712,19)}else{i=Zj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){_j(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{wl(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;bk(q,80898);c[q>>2]=75516;P(q|0,38712,19)}else{h=Zj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){_j(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{wl(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=K(8)|0;bk(q,80898);c[q>>2]=75516;P(q|0,38712,19)}else{i=Zj(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){_j(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{wl(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=K(8)|0;bk(q,80898);c[q>>2]=75516;P(q|0,38712,19)}else{h=Zj(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){_j(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function jd(a){a=a|0;var b=0,d=0,e=0,f=0;md(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{_j(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;_j(b);return}function kd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Pj(b);return}function ld(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{_j(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;nd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){_j(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){nd(a);return}_j(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;nd(a);return}function md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){c[d+4>>2]=38944;e=c[d+8>>2]|0;i=e+12|0;n=(c[i>>2]|0)+-1|0;c[i>>2]=n;if(!((e|0)==0|(n|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{_j(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function nd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=K(8)|0;bk(l,80898);c[l>>2]=75516;P(l|0,38712,19)}else{g=Zj(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;_j(b);return}function od(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=b+4|0;g=b+16|0;d=c[g>>2]|0;e=(d>>>0)/204|0;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;e=d-(e*204|0)|0;c[i+(e*20|0)+4>>2]=38944;e=c[i+(e*20|0)+8>>2]|0;i=e+12|0;h=(c[i>>2]|0)+-1|0;c[i>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e);d=c[g>>2]|0}i=b+20|0;c[i>>2]=(c[i>>2]|0)+-1;i=d+1|0;c[g>>2]=i;if(i>>>0<=407)return;_j(c[c[f>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[g>>2]=(c[g>>2]|0)+-204;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38856,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38856,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Sb;Sb=Sb+16|0;f=e;a=c[a>>2]|0;b=wa(b|0)|0;c[f>>2]=c[d>>2];d=Ba(38864,f|0)|0;Aa(a|0,b|0,d|0);pa(d|0);pa(b|0);Sb=e;return}function sd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function td(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function ud(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Sb;Sb=Sb+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)dk(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=Zj(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)vl(b|0,d|0,e|0)|0;a[b+e>>0]=0;ac[f&31](g,h);if((a[h+11>>0]|0)>=0){Sb=j;return}_j(c[h>>2]|0);Sb=j;return}function vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function wd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;$b[e&31](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;$b[e&31](a);return}}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Sb;Sb=Sb+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;ac[d&31](e,a);ta(c[e>>2]|0);g=c[e>>2]|0;pa(g|0);Sb=f;return g|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=Sb;Sb=Sb+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;ac[e&31](a,f);pa(c[f>>2]|0);Sb=g;return}function zd(b,d){b=b|0;d=d|0;var e=0;e=Zj(24528)|0;Jd(e,d);a[e+24520>>0]=0;c[e+24524>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=39052;return e|0}function Ad(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=X(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,37984,c[e>>2]|0)|0;return}function Bd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Cd(a){a=a|0;if(!a)return;$b[c[(c[a>>2]|0)+4>>2]&31](a);return}function Dd(a){a=a|0;return a|0}function Ed(a){a=a|0;return a|0}function Fd(a,b){a=a|0;b=b|0;$b[c[a>>2]&31](b);return}function Gd(b){b=b|0;a[b+24520>>0]=1;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Sb;Sb=Sb+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=Xb[a&3](f,g)|0;pa(c[g>>2]|0);pa(c[f>>2]|0);Sb=e;return d|0}function Id(a){a=a|0;Kd(a);_j(a);return}function Jd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Sb;Sb=Sb+32|0;h=f+16|0;j=f;c[d>>2]=39084;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[e>>2]=38944;c[d+20>>2]=0;c[d+24>>2]=0;i=Zj(16)|0;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]=1;c[d+16>>2]=i;c[e>>2]=38928;c[d+32>>2]=0;Qd(d+48|0);c[h>>2]=81334;c[h+4>>2]=d+28;Ja(0,h|0);Md(d+22736|0);e=d+24456|0;c[d+24484>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+24488>>0]=1;a[d+24489>>0]=1;e=d+24492|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+24504>>2]=12;c[d+22740>>2]=g;Sb=f;return}function Kd(b){b=b|0;var d=0,e=0,f=0,g=0;g=Sb;Sb=Sb+16|0;e=g;c[b>>2]=39068;d=b+24524|0;if(!(a[b+24520>>0]|0)){f=c[d>>2]|0;pa(f|0);Od(b);Sb=g;return}f=c[d>>2]|0;if((a[88144]|0)==0?fl(88144)|0:0)c[22054]=ra(1,38904)|0;oa(c[22054]|0,f|0,81808,e|0);f=c[d>>2]|0;pa(f|0);Od(b);Sb=g;return}function Ld(a){a=a|0;Kd(a);_j(a);return}function Md(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=Sb;Sb=Sb+112|0;i=j+32|0;h=j+8|0;k=j+76|0;e=j+64|0;f=j+40|0;g=j;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+32>>2]=0;a[b+36>>0]=0;c[b>>2]=39100;d=b+44|0;c[d>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=0;c[b+1068>>2]=0;c[k+4>>2]=5;c[k+12>>2]=0;c[k+8>>2]=1;c[k+16>>2]=9;c[k+20>>2]=22;c[k+24>>2]=0;c[k>>2]=28;c[e>>2]=12;k=Qg(0,k,e)|0;b=b+1060|0;c[b>>2]=k;if(k|0){c[h>>2]=c[e+4>>2];Nj(81359,h)|0}k=c[e+8>>2]|0;c[d>>2]=k;c[k+4>>2]=10;c[k>>2]=12;c[f>>2]=c[9783];c[f+4>>2]=c[9784];c[f+8>>2]=c[9785];c[f+12>>2]=c[9786];h=g;c[h>>2]=8;c[h+4>>2]=0;k=Qg(k,f,g)|0;c[b>>2]=k;if(k|0)Nj(81380,j+16|0)|0;c[f>>2]=c[9787];c[f+4>>2]=c[9788];c[f+8>>2]=c[9789];c[f+12>>2]=c[9790];c[f+16>>2]=c[9791];c[f+20>>2]=c[9792];k=g;c[k>>2]=8;c[k+4>>2]=0;k=Qg(c[d>>2]|0,f,g)|0;c[b>>2]=k;if(!k){c[i>>2]=81447;Ja(0,i|0);Sb=j;return}Nj(81414,j+24|0)|0;c[i>>2]=81447;Ja(0,i|0);Sb=j;return}function Nd(a){a=a|0;var b=0,d=0,e=0;b=Sb;Sb=Sb+16|0;d=b+8|0;e=b;c[e>>2]=81740;Ja(0,e|0);Pj(c[a+8>>2]|0);c[d>>2]=81763;Ja(0,d|0);Rd(a+20|0);Sb=b;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=Sb;Sb=Sb+32|0;j=k+24|0;i=k+16|0;g=k+8|0;d=k;c[b>>2]=39084;f=qa(81106)|0;c[d>>2]=c[b+24484>>2];pa(ma(f|0,1,38988,d|0)|0);pa(f|0);c[g>>2]=81787;Ja(0,g|0);g=b+24456|0;md(g);f=b+24460|0;d=c[f>>2]|0;h=b+24464|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{_j(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)_j(d);Sd(b+22736|0);c[i>>2]=81740;Ja(0,i|0);Pj(c[b+36>>2]|0);c[j>>2]=81763;Ja(0,j|0);Rd(b+48|0);c[b+12>>2]=38944;d=c[b+16>>2]|0;i=d+12|0;j=(c[i>>2]|0)+-1|0;c[i>>2]=j;if((d|0)==0|(j|0)!=0){b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}if((a[d+11>>0]|0)<0)_j(c[d>>2]|0);_j(d);b=b+4|0;b=c[b>>2]|0;pa(b|0);Sb=k;return}function Pd(a){a=a|0;Od(a);_j(a);return}function Qd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Sb;Sb=Sb+32|0;d=b+16|0;g=b;e=a+22656|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[e>>2]=38944;c[a+22664>>2]=0;c[a+22668>>2]=0;f=Zj(16)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=1;c[a+22660>>2]=f;c[e>>2]=38928;e=a+22672|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[e>>2]=38944;c[a+22680>>2]=0;c[a+22684>>2]=0;f=Zj(16)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=1;c[a+22676>>2]=f;c[e>>2]=38928;Di(a);Ei(a+64|0);Fi(a+9332|0);c[d>>2]=81349;Ja(0,d|0);Sb=b;return}function Rd(b){b=b|0;var d=0,e=0,f=0;Hi(b+64|0);c[b+22672>>2]=38944;d=c[b+22676>>2]|0;f=d+12|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e;if(!((d|0)==0|(e|0)!=0)){if((a[d+11>>0]|0)<0)_j(c[d>>2]|0);_j(d)}c[b+22656>>2]=38944;b=c[b+22660>>2]|0;e=b+12|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if((b|0)==0|(f|0)!=0)return;if((a[b+11>>0]|0)<0)_j(c[b>>2]|0);_j(b);return}function Sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=Sb;Sb=Sb+32|0;e=f+24|0;h=f+8|0;g=f;c[b>>2]=39100;i=h;c[i>>2]=8;c[i+4>>2]=6;i=g;c[i>>2]=8;c[i+4>>2]=0;g=Qg(c[b+44>>2]|0,h,g)|0;c[b+1060>>2]=g;if(g|0)Nj(81508,f+16|0)|0;Pj(c[b+20>>2]|0);c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Pj(d);c[e>>2]=81484;Ja(0,e|0);Sb=f;return}function Td(a){a=a|0;Sd(a);_j(a);return}function Ud(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=Sb;Sb=Sb+32|0;j=p+16|0;o=p;k=d+4|0;l=c[k>>2]|0;i=l+11|0;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+4)>>0]&3;f=g+6|0;c[n>>2]=f;m=d+12|0;d=c[m>>2]|0;c[m>>2]=d+-6;if((a[i>>0]|0)<0)e=c[l>>2]|0;else e=l;e=e+f+1|0;h=a[e>>0]|0;e=a[e+-1>>0]|0;f=g+8|0;c[n>>2]=f;g=d+-8|0;c[m>>2]=g;h=(e&255)<<8|h&255;if(!h)h=l;else{g=c[(c[b>>2]|0)+28>>2]|0;d=l+12|0;q=c[d>>2]|0;c[j+8>>2]=f;c[j+12>>2]=h;e=j+4|0;c[e>>2]=l;c[d>>2]=q+2;c[j>>2]=38928;ac[g&31](b,j);c[j>>2]=38944;e=c[e>>2]|0;g=e+12|0;j=(c[g>>2]|0)+-1|0;c[g>>2]=j;if(!((e|0)==0|(j|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(!q){if((a[i>>0]|0)<0)_j(c[l>>2]|0);_j(l)}f=(c[n>>2]|0)+h|0;c[n>>2]=f;g=(c[m>>2]|0)-h|0;c[m>>2]=g;h=c[k>>2]|0;i=h+11|0}e=f+1|0;c[n>>2]=e;c[m>>2]=g+-1;if((a[i>>0]|0)<0)d=c[h>>2]|0;else d=h;q=d+e+1|0;e=a[q>>0]|0;q=a[q+-1>>0]|0;f=f+3|0;c[n>>2]=f;c[m>>2]=g+-3;e=(q&255)<<8|e&255;if(!e){Sb=p;return}q=c[(c[b>>2]|0)+28>>2]|0;d=h+12|0;n=c[d>>2]|0;c[o+8>>2]=f;c[o+12>>2]=e;e=o+4|0;c[e>>2]=h;c[d>>2]=n+2;c[o>>2]=38928;ac[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;o=e+12|0;q=(c[o>>2]|0)+-1|0;c[o>>2]=q;if(!((e|0)==0|(q|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}q=(c[d>>2]|0)+-1|0;c[d>>2]=q;if(q|0){Sb=p;return}if((a[i>>0]|0)<0)_j(c[h>>2]|0);_j(h);Sb=p;return}function Vd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=Sb;Sb=Sb+80|0;z=A+72|0;u=A+64|0;m=A+56|0;l=A+48|0;w=A+8|0;x=A;c[w>>2]=c[9803];c[w+4>>2]=c[9804];c[w+8>>2]=c[9805];c[w+12>>2]=c[9806];c[w+16>>2]=c[9807];c[w+20>>2]=c[9808];c[w+24>>2]=c[9809];y=x;c[y>>2]=8;c[y+4>>2]=0;y=b+44|0;t=Qg(c[y>>2]|0,w,x)|0;v=b+1060|0;c[v>>2]=t;if(t|0)Nj(81530,A+40|0)|0;s=b+1072|0;c[b+1076>>2]=8;c[b+1080>>2]=c[b+1052>>2];c[s>>2]=536;t=b+1608|0;c[t>>2]=112;o=d+4|0;j=c[o>>2]|0;k=j+11|0;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;q=d+8|0;i=c[q>>2]|0;c[b+32>>2]=a[e+(i+22)>>0]&3;f=i+26|0;c[q>>2]=f;p=d+12|0;g=c[p>>2]|0;c[p>>2]=g+-26;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;h=e+f+1|0;f=a[h>>0]|0;h=a[h+-1>>0]|0;d=i+28|0;c[q>>2]=d;c[p>>2]=g+-28;if((a[k>>0]|0)<0)e=c[j>>2]|0;else e=j;n=b+1088|0;c[n>>2]=e+d;e=(h&255)<<8|f&255;k=b+1084|0;c[k>>2]=e;j=Qg(c[y>>2]|0,s,t)|0;c[v>>2]=j;if(j|0){c[l>>2]=c[b+1612>>2];Nj(81580,l)|0}h=(c[q>>2]|0)+e|0;i=(c[p>>2]|0)-e|0;d=h+3|0;c[q>>2]=d;c[p>>2]=i+-3;e=c[o>>2]|0;j=e+11|0;if((a[j>>0]|0)<0)f=c[e>>2]|0;else f=e;g=f+d+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=h+5|0;c[q>>2]=d;c[p>>2]=i+-5;if((a[j>>0]|0)<0)e=c[e>>2]|0;c[n>>2]=e+d;e=(g&255)<<8|f&255;c[k>>2]=e;l=Qg(c[y>>2]|0,s,t)|0;c[v>>2]=l;if(l|0){c[m>>2]=c[b+1612>>2];Nj(81611,m)|0}i=(c[q>>2]|0)+e|0;j=(c[p>>2]|0)-e|0;f=i+3|0;c[q>>2]=f;c[p>>2]=j+-3;e=c[o>>2]|0;h=e+11|0;if((a[h>>0]|0)<0)d=c[e>>2]|0;else d=e;g=d+f+1|0;f=a[g>>0]|0;g=a[g+-1>>0]|0;d=i+5|0;c[q>>2]=d;c[p>>2]=j+-5;if((a[h>>0]|0)<0)e=c[e>>2]|0;c[n>>2]=e+d;c[k>>2]=(g&255)<<8|f&255;t=Qg(c[y>>2]|0,s,t)|0;c[v>>2]=t;if(t|0){c[u>>2]=c[b+1612>>2];Nj(81642,u)|0}e=c[b+1624>>2]|0;f=b+12|0;c[f>>2]=c[b+1620>>2];g=b+16|0;c[g>>2]=e;if(!(a[b+36>>0]|0)){e=(r(e<<2,e)|0)+33554432|0;e=Oj((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[88200]|0)==0?fl(88200)|0:0)c[22061]=ra(4,48)|0;u=c[22061]|0;c[w>>2]=c[f>>2];c[w+8>>2]=c[g>>2];c[w+16>>2]=e;oa(u|0,d|0,81722,w|0)}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[88200]|0)==0?fl(88200)|0:0)c[22061]=ra(4,48)|0;u=c[22061]|0;c[w>>2]=c[f>>2];c[w+8>>2]=c[g>>2];c[w+16>>2]=e;oa(u|0,d|0,81722,w|0)};c[w>>2]=c[9810];c[w+4>>2]=c[9811];c[w+8>>2]=c[9812];c[w+12>>2]=c[9813];c[w+16>>2]=c[9814];c[w+20>>2]=c[9815];c[w+24>>2]=c[9816];u=x;c[u>>2]=8;c[u+4>>2]=0;y=Qg(c[y>>2]|0,w,x)|0;c[v>>2]=y;if(!y){z=b+1092|0;c[z>>2]=3;z=c[f>>2]|0;y=c[g>>2]|0;z=r(y,z)|0;y=b+1352|0;c[y>>2]=z;y=z>>>2;w=b+1360|0;c[w>>2]=y;w=b+1356|0;c[w>>2]=y;w=y*6|0;w=Oj(w)|0;v=b+1096|0;c[v>>2]=w;v=w;x=b+20|0;c[x>>2]=v;z=w+z|0;w=b+1100|0;c[w>>2]=z;w=z;x=b+24|0;c[x>>2]=w;y=z+y|0;z=b+1104|0;c[z>>2]=y;z=b+28|0;c[z>>2]=y;Sb=A;return}Nj(81673,z)|0;z=b+1092|0;c[z>>2]=3;z=c[f>>2]|0;y=c[g>>2]|0;z=r(y,z)|0;y=b+1352|0;c[y>>2]=z;y=z>>>2;w=b+1360|0;c[w>>2]=y;w=b+1356|0;c[w>>2]=y;w=y*6|0;w=Oj(w)|0;v=b+1096|0;c[v>>2]=w;v=w;x=b+20|0;c[x>>2]=v;z=w+z|0;w=b+1100|0;c[w>>2]=z;w=z;x=b+24|0;c[x>>2]=w;y=z+y|0;z=b+1104|0;c[z>>2]=y;z=b+28|0;c[z>>2]=y;Sb=A;return}function Wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Sb;Sb=Sb+16|0;q=u;r=d+12|0;e=c[r>>2]|0;if((e|0)<=4){Sb=u;return}s=b+32|0;t=d+4|0;o=d+8|0;p=q+8|0;m=q+12|0;n=q+4|0;f=0;h=0;j=0;while(1){switch(c[s>>2]|0){case 3:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;j=d+l+3|0;l=l+4|0;i=-4;d=j;k=a[j+-1>>0]|0;h=a[j+-2>>0]|0;j=a[j+-3>>0]|0;g=f;break}case 2:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;h=d+l+2|0;l=l+3|0;i=-3;d=h;k=a[h+-1>>0]|0;h=a[h+-2>>0]|0;g=f;break}case 1:{f=c[t>>2]|0;if((a[f+11>>0]|0)<0)d=c[f>>2]|0;else d=f;l=c[o>>2]|0;k=d+l+1|0;l=l+2|0;i=-2;d=k;k=a[k+-1>>0]|0;g=f;break}default:{g=c[t>>2]|0;if((a[g+11>>0]|0)<0)d=c[g>>2]|0;else d=g;k=c[o>>2]|0;l=k+1|0;i=-1;d=d+k|0;k=f}}f=a[d>>0]|0;c[o>>2]=l;c[r>>2]=e+i;d=c[(c[b>>2]|0)+28>>2]|0;e=(k&255)<<8|f&255|(h&255)<<16|(j&255)<<24;f=g+12|0;i=c[f>>2]|0;c[p>>2]=l;c[m>>2]=e;c[n>>2]=g;c[f>>2]=i+2;c[q>>2]=38928;ac[d&31](b,q);c[q>>2]=38944;d=c[n>>2]|0;i=d+12|0;l=(c[i>>2]|0)+-1|0;c[i>>2]=l;if(!((d|0)==0|(l|0)!=0)){if((a[d+11>>0]|0)<0)_j(c[d>>2]|0);_j(d)}l=(c[f>>2]|0)+-1|0;c[f>>2]=l;if(!((g|0)==0|(l|0)!=0)){if((a[g+11>>0]|0)<0)_j(c[g>>2]|0);_j(g)}c[o>>2]=(c[o>>2]|0)+e;e=(c[r>>2]|0)-e|0;c[r>>2]=e;if((e|0)<=4)break;else f=k}Sb=u;return}function Xd(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;v=Sb;Sb=Sb+16|0;u=v;e=c[d+4>>2]|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;s=b+1072|0;t=b+1088|0;c[t>>2]=e+(c[d+8>>2]|0);r=b+1084|0;c[r>>2]=c[d+12>>2];f=b+44|0;g=b+1608|0;h=b+1060|0;i=b+1616|0;j=b+36|0;k=b+20|0;l=b+24|0;m=b+28|0;n=b+8|0;o=b+12|0;p=b+16|0;q=b+4|0;d=b+40|0;do{b=Qg(c[f>>2]|0,s,g)|0;c[h>>2]=b;w=c[i>>2]|0;e=(c[r>>2]|0)-w|0;c[r>>2]=e;c[t>>2]=(c[t>>2]|0)+w;if(!b){if(!(a[j>>0]|0))$d(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0);e=c[c[q>>2]>>2]|0;if((a[88208]|0)==0?fl(88208)|0:0)c[22062]=ra(2,39268)|0;w=c[22062]|0;c[u>>2]=c[d>>2];oa(w|0,e|0,81735,u|0);e=c[r>>2]|0}}while((e|0)!=0);Sb=v;return}function Yd(b){b=b|0;var d=0,e=0,f=0;f=Sb;Sb=Sb+16|0;e=f;c[b>>2]=39180;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Pj(d);c[e>>2]=81484;Ja(0,e|0);Sb=f;return}function Zd(a){a=a|0;Oa()}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=Sb;Sb=Sb+48|0;h=p+32|0;k=p+16|0;o=p;l=d+4|0;i=c[l>>2]|0;j=i+11|0;if((a[j>>0]|0)<0)e=c[i>>2]|0;else e=i;n=d+8|0;g=c[n>>2]|0;c[b+32>>2]=a[e+(g+22)>>0]&3;f=g+26|0;c[n>>2]=f;m=d+12|0;e=c[m>>2]|0;c[m>>2]=e+-26;if((a[j>>0]|0)<0)d=c[i>>2]|0;else d=i;f=d+f+1|0;d=a[f>>0]|0;f=a[f+-1>>0]|0;r=g+28|0;c[n>>2]=r;c[m>>2]=e+-28;g=c[(c[b>>2]|0)+28>>2]|0;d=(f&255)<<8|d&255;f=i+12|0;q=c[f>>2]|0;c[h+8>>2]=r;c[h+12>>2]=d;e=h+4|0;c[e>>2]=i;c[f>>2]=q+2;c[h>>2]=38928;ac[g&31](b,h);c[h>>2]=38944;e=c[e>>2]|0;g=e+12|0;h=(c[g>>2]|0)+-1|0;c[g>>2]=h;if(!((e|0)==0|(h|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[j>>0]|0)<0)_j(c[i>>2]|0);_j(i)}d=d+3|0;e=(c[n>>2]|0)+d|0;c[n>>2]=e;d=(c[m>>2]|0)-d|0;c[m>>2]=d;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)f=c[g>>2]|0;else f=g;r=f+e+1|0;f=a[r>>0]|0;r=a[r+-1>>0]|0;e=e+2|0;c[n>>2]=e;c[m>>2]=d+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=(r&255)<<8|f&255;f=g+12|0;r=c[f>>2]|0;c[k+8>>2]=e;c[k+12>>2]=d;e=k+4|0;c[e>>2]=g;c[f>>2]=r+2;c[k>>2]=38928;ac[q&31](b,k);c[k>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}r=(c[f>>2]|0)+-1|0;c[f>>2]=r;if(!r){if((a[h>>0]|0)<0)_j(c[g>>2]|0);_j(g)}f=d+3|0;d=(c[n>>2]|0)+f|0;c[n>>2]=d;f=(c[m>>2]|0)-f|0;c[m>>2]=f;g=c[l>>2]|0;h=g+11|0;if((a[h>>0]|0)<0)e=c[g>>2]|0;else e=g;l=e+d+1|0;e=a[l>>0]|0;l=a[l+-1>>0]|0;k=d+2|0;c[n>>2]=k;c[m>>2]=f+-2;q=c[(c[b>>2]|0)+28>>2]|0;d=g+12|0;r=c[d>>2]|0;c[o+8>>2]=k;c[o+12>>2]=(l&255)<<8|e&255;e=o+4|0;c[e>>2]=g;c[d>>2]=r+2;c[o>>2]=38928;ac[q&31](b,o);c[o>>2]=38944;e=c[e>>2]|0;q=e+12|0;r=(c[q>>2]|0)+-1|0;c[q>>2]=r;if(!((e|0)==0|(r|0)!=0)){if((a[e+11>>0]|0)<0)_j(c[e>>2]|0);_j(e)}r=(c[d>>2]|0)+-1|0;c[d>>2]=r;if(r|0){Sb=p;return}if((a[h>>0]|0)<0)_j(c[g>>2]|0);_j(g);Sb=p;return}function $d(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(r(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;t=d[b+i>>0]|0;u=d[e+w>>0]|0;s=t<<8|u;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;q=(H*1634|0)+J>>10;H=(r(m,-400)|0)+J+(r(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=u+-128|0;m=t+-128|0;J=(H*1634|0)+p>>10;H=(r(m,-400)|0)+p+(r(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(s|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=u+-128|0;K=t+-128|0;J=m+(H*1634|0)>>10;H=(r(H,-832)|0)+(r(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(s|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=u+-128|0;u=t+-128|0;K=m+(I*1634|0)>>10;I=(r(I,-832)|0)+(r(u,-400)|0)+m>>10;u=m+(u*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(u|0)>0?u:0;m=((((u&255|0)==(u|0)?u:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function ae(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=Sb;Sb=Sb+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)dk(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=Zj(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)vl(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;bc[b&15](h,j,k);ta(c[h>>2]|0);d=c[h>>2]|0;pa(d|0);pa(c[k>>2]|0);if((a[j+11>>0]|0)>=0){Sb=l;return d|0}_j(c[j>>2]|0);Sb=l;return d|0}function be(){wc(0);return}function ce(a){a=a|0;c[a>>2]=64;xl(a+4|0,0,516)|0;return}function de(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(d|0)){b=-1;return b|0}a=a+264+(d<<2)|0;d=c[a>>2]|0;if(!((d|0)==0|(d|0)==(b|0))){b=-1;return b|0}c[a>>2]=b;b=0;return b|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)<=0){b=0;return b|0}d=0;a:while(1){f=a+8+(d<<2)|0;switch(c[f>>2]|0){case 2:{a=4;break a}case 0:{g=c[a+264+(d<<2)>>2]|0;if(g|0){a=6;break a}break}default:{}}d=d+1|0;if((d|0)>=(e|0)){d=0;a=8;break}}if((a|0)==4)J(81831,81865,170,81888);else if((a|0)==6){c[b>>2]=d;c[f>>2]=1;b=g;return b|0}else if((a|0)==8)return d|0;return 0}function fe(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(!d){d=0;return d|0}b=0;a:while(1){switch(c[a+8+(b<<2)>>2]|0){case 2:{a=4;break a}case 0:{if(c[a+264+(b<<2)>>2]|0){b=1;a=7;break a}break}default:{}}b=b+1|0;if(b>>>0>=d>>>0){b=0;a=7;break}}if((a|0)==4)J(81831,81865,213,81916);else if((a|0)==7)return b|0;return 0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;d=c[a>>2]&~d;c[a>>2]=d;switch(d|0){case 2:{J(81941,81865,265,81979);break}case 1:{c[a>>2]=0;d=0;return d|0}default:{d=0;return d|0}}return 0}function he(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a>>2]|0)<=(b|0)){d=-1;return d|0}a=a+8+(b<<2)|0;b=c[a>>2]|0;if(b&d|0){d=-1;return d|0}d=b|d;c[a>>2]=d;if((d|0)==2)J(81941,81865,322,82001);else{d=0;return d|0}return 0}function ie(a,b){a=a|0;b=b|0;return c[a+264+(b<<2)>>2]|0}function je(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=Sb;Sb=Sb+32|0;u=C;v=h<<2;w=v|1;if(!i){k=w<<1;if((w|0)<=0){Sb=C;return}xl(j|0,-128,((k|0)>1?k:1)|0)|0;Sb=C;return}y=i&65536;s=i&61440;t=i&3840;p=i&15;x=(y|0)!=0;if(x){a[j+v>>0]=a[d>>0]|0;a[j+w>>0]=a[d+1>>0]|0}if(i&240|0?(l=h<<1,(h|0)>0):0){n=v+-2|0;o=v+-1|0;m=(((l|0)>2?l:2)+-1|0)>>>1;k=0;d=0;l=0;while(1){D=r(k,g)|0;a[j+(n+d)>>0]=a[f+D>>0]|0;a[j+(o+d)>>0]=a[f+(D+1)>>0]|0;if((k|0)==(m|0))break;else{k=k+1|0;d=-2-l|0;l=l+2|0}}}if(p|0?(q=h<<1,(q|0)<(v|0)):0){l=v+-2|0;m=v+-1|0;d=h;k=q;while(1){D=r(d,g)|0;a[j+(l-k)>>0]=a[f+D>>0]|0;a[j+(m-k)>>0]=a[f+(D+1)>>0]|0;k=k+2|0;if((k|0)>=(v|0))break;else d=d+1|0}}k=h<<1;if(t|0)ke(j+(v|2)|0,e,k);if(s|0)ke(j+((v|2)+k)|0,e+k|0,k);switch(h|0){case 4:{D=i>>>3&1;m=i>>>7&1;n=i>>>8&1;l=i>>>12&1;c[u>>2]=D;c[u+4>>2]=m;c[u+8>>2]=y>>>16;c[u+12>>2]=n;c[u+16>>2]=l;do if(!D){if(!m){k=2;while(1)if(!(c[u+(k<<2)>>2]|0))k=k+1|0;else break}else k=1;d=k<<2;if(k>>>0<3){le(j,b[j+(k<<3)>>1]|0,d);break}else{D=d+-3|0;le(j,b[j+(D<<1)>>1]|0,D);break}}while(0);if(!m)le(j+8|0,b[j+6>>1]|0,4);if(!y){a[j+v>>0]=a[j+(v+-2)>>0]|0;a[j+w>>0]=a[j+(v+-1)>>0]|0}if(!n)le(j+(v|2)|0,b[j+v>>1]|0,4);if(l|0){Sb=C;return}le(j+26|0,b[j+24>>1]|0,4);Sb=C;return}case 8:{d=i>>>4;o=i>>>2&3|d&12;d=i>>>6&192|d&48;q=d|o|y>>>8;k=pl(o|0)|0;k=(o|0)==0|(k|0)==8?16:k<<2;o=(y|0)==0;if(!(o&(k|0)==16))if(!k)k=0;else z=37;else{k=((pl(d>>>4|0)|0)<<2)+17|0;k=(d|0)==0?49:k;z=37}if((z|0)==37){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=33){Sb=C;return}}if(!o){do{d=(k|0)==16;if(!d?(B=k<<1,(1<<(k>>2)&q|0)==0):0)le(j+B|0,b[j+(B+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}m=j+33|0;n=j+31|0;o=j+32|0;p=j+30|0;do{d=(k|0)==16;if(!d){l=k<<1;if(!(1<<(k>>2)&q))le(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<33);Sb=C;return}case 16:{D=i&255;k=(pl(D|0)|0)<<2;k=(D|0)==0?32:k;if(!((y|0)==0&(k|0)==32))if(!k)k=0;else z=55;else{z=i>>>8&255;k=((pl(z|0)|0)<<2)+33|0;k=(z|0)==0?65:k;z=55}if((z|0)==55){l=k<<1;m=a[j+l>>0]|0;n=a[j+(l|1)>>0]|0;d=l;l=l+-2|0;while(1){a[j+l>>0]=m;a[j+(d+-1)>>0]=n;d=l+-2|0;if((d|0)>-1){D=l;l=d;d=D}else break}if((k|0)>=65){Sb=C;return}}if(x){do{d=(k|0)==32;if(!d?(A=k<<1,(1<<(k>>2)&i|0)==0):0)le(j+A|0,b[j+(A+-2)>>1]|0,4);k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}m=j+65|0;n=j+63|0;o=j+64|0;p=j+62|0;do{d=(k|0)==32;if(!d){l=k<<1;if(!(1<<(k>>2)&i))le(j+l|0,b[j+(l+-2)>>1]|0,4)}else{a[o>>0]=a[p>>0]|0;a[m>>0]=a[n>>0]|0}k=(d?1:4)+k|0}while((k|0)<65);Sb=C;return}default:{Sb=C;return}}}function ke(a,b,c){a=a|0;b=b|0;c=c|0;vl(a|0,b|0,c|0)|0;return}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(!d)return;e=0;while(1){b[a>>1]=c;e=e+1|0;if((e|0)==(d|0))break;else a=a+2|0}return}function me(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;switch(g|0){case 16:{h=5;break}case 8:{h=4;break}case 4:{h=3;break}default:if((g|0)>0)h=6;else return}t=g<<1;u=g+-1|0;v=t+-1|0;m=g*6|0;j=b+(m+2)|0;k=g<<2|2;n=u<<1;l=b+n|0;m=b+(m+3)|0;n=b+(n|1)|0;i=0;do{s=v-i<<1;o=b+s|0;p=u-i|0;q=r(i,f)|0;i=i+1|0;s=b+(s|1)|0;c=0;do{y=c>>>1;z=u-y|0;C=r(z,d[o>>0]|0)|0;y=y+1|0;B=r(y,d[j>>0]|0)|0;x=c+k|0;A=r(p,d[b+x>>0]|0)|0;w=c+q|0;a[e+w>>0]=C+g+B+A+(r(i,d[l>>0]|0)|0)>>h;z=r(z,d[s>>0]|0)|0;y=r(y,d[m>>0]|0)|0;x=r(p,d[b+(x|1)>>0]|0)|0;a[e+(w+1)>>0]=z+g+y+x+(r(i,d[n>>0]|0)|0)>>h;c=c+2|0}while((c|0)<(t|0))}while((i|0)!=(g|0));return}function ne(b,c,e,f,g,h){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=g+-4|0;switch(l>>>2|l<<30|0){case 0:{k=3;break}case 3:{k=5;break}case 1:{k=4;break}default:k=6}l=g<<1;j=g<<2;if((l|0)<(j|0)){i=l;h=0;c=0;do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0))}else{h=0;c=0}i=j|2;j=(g*6|0)+2|0;if((i|0)<(j|0))do{h=h+(d[b+i>>0]|0)|0;c=c+(d[b+(i|1)>>0]|0)|0;i=i+2|0}while((i|0)<(j|0));if((g|0)<=0)return;b=h+g>>k&255;i=c+g>>k&255;h=0;do{j=r(h,f)|0;c=0;do{k=c+j|0;a[e+k>>0]=b;a[e+(k+1)>>0]=i;c=c+2|0}while((c|0)<(l|0));h=h+1|0}while((h|0)!=(g|0));return}function oe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)<=0)return;l=f<<1;h=f<<2;m=h+-2|0;h=h+-1|0;c=0;do{k=c<<1;i=b+(m-k)|0;j=r(c,e)|0;k=b+(h-k)|0;g=0;do{n=g+j|0;a[d+n>>0]=a[i>>0]|0;a[d+(n+1)>>0]=a[k>>0]|0;g=g+2|0}while((g|0)<(l|0));c=c+1|0}while((c|0)!=(f|0));return}function pe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if((f|0)<=0)return;j=f<<1;h=f<<2;k=h|2;h=h|3;c=0;do{i=r(c,e)|0;g=0;do{l=g+i|0;a[d+l>>0]=a[b+(g+k)>>0]|0;a[d+(l+1)>>0]=a[b+(g+h)>>0]|0;g=g+2|0}while((g|0)<(j|0));c=c+1|0}while((c|0)!=(f|0));return}function qe(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=f<<1;if((f|0)<=0)return;k=f<<2;c=0;do{l=c|1;h=-3-l|0;i=~((l<<5)+32>>5);g=0;do{n=k-(g<<1)|0;m=r(g,e)|0;a[d+(m+c)>>0]=a[b+(h+n)>>0]|0;a[d+(m+l)>>0]=a[b+(n+i)>>0]|0;g=g+1|0}while((g|0)!=(f|0));c=c+2|0}while((c|0)<(j|0));return}function re(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(g|0)==18?-32:32;if((f|0)<=0)return;j=f<<1;k=f<<2|2;g=0;do{i=g;g=g+1|0;h=k+((r(g,l)|0)>>4)|0;i=r(i,e)|0;c=0;do{a[d+(c+i)>>0]=a[b+(h+c)>>0]|0;m=c|1;a[d+(m+i)>>0]=a[b+(h+m)>>0]|0;c=c+2|0}while((c|0)<(j|0))}while((g|0)!=(f|0));return}function se(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;o=c[25216+(i<<2)>>2]|0;p=h<<1;if((h|0)<=0)return;j=h<<2;e=0;do{l=r((e>>>1)+1|0,o)|0;k=l&31;l=l>>5<<1;m=32-k|0;n=e|1;i=0;do{s=j-(i<<1)-l|0;t=r(m,d[b+(s+-2)>>0]|0)|0;q=r(i,g)|0;a[f+(q+e)>>0]=(t+16+(r(k,d[b+(s+-4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+-1)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+-3)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(p|0));return}function te(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-11<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=k-i|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;n=l+e|0;l=r(p,h)|0;j=l>>5<<1;if((l|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(s+k)>>0]|0;a[n+(i|1)>>0]=a[b+(s+l)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((o|0)>0&(h|0)>0)){Sb=q;return}e=0;do{k=r((e>>>1)+1|0,p)|0;j=k>>5;k=k&31;l=32-k|0;m=e|1;i=0;do{b=i+j<<1;t=r(l,d[n+(b+2)>>0]|0)|0;s=r(i,g)|0;a[f+(s+e)>>0]=(t+16+(r(k,d[n+(b+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+3)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(k,d[n+(b+5)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(h|0));e=e+2|0}while((e|0)<(o|0));Sb=q;return}function ue(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;q=Sb;Sb=Sb+144|0;l=q;p=c[25216+(i<<2)>>2]|0;m=c[25360+(i+-12<<2)>>2]|0;o=h<<1;j=o+2|0;if((j|0)>0){k=h<<2;e=o+-2|0;i=0;do{n=i+k|0;a[l+(i+e)>>0]=a[b+n>>0]|0;a[l+((i|1)+e)>>0]=a[b+(n|1)>>0]|0;i=i+2|0}while((i|0)<(j|0))}else e=o+-2|0;k=r(p,h)|0;n=l+e|0;j=k>>5<<1;if((k|0)<-32){k=h<<2;l=k|1;e=128;i=-2;do{e=e+m|0;s=e>>8<<1;a[n+i>>0]=a[b+(k-s)>>0]|0;a[n+(i|1)>>0]=a[b+(l-s)>>0]|0;i=i+-2|0}while((i|0)>(j|0))}if(!((h|0)>0&(o|0)>0)){Sb=q;return}i=0;do{m=i;i=i+1|0;k=r(i,p)|0;j=k&31;k=k>>5<<1;l=32-j|0;m=r(m,g)|0;e=0;do{t=e+k|0;s=e|1;b=s+k|0;u=r(l,d[n+(t+2)>>0]|0)|0;a[f+(e+m)>>0]=(u+16+(r(j,d[n+(t+4)>>0]|0)|0)|0)>>>5;t=r(l,d[n+(b+2)>>0]|0)|0;a[f+(s+m)>>0]=(t+16+(r(j,d[n+(b+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(o|0))}while((i|0)!=(h|0));Sb=q;return}function ve(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=c[25216+(i<<2)>>2]|0;if((h|0)<=0)return;p=h<<1;j=h<<2;i=0;do{n=i;i=i+1|0;l=r(i,o)|0;k=l&31;l=(l>>5<<1)+j|0;m=32-k|0;n=r(n,g)|0;e=0;do{t=l+e|0;q=e|1;s=l+q|0;u=r(m,d[b+(t+2)>>0]|0)|0;a[f+(e+n)>>0]=(u+16+(r(k,d[b+(t+4)>>0]|0)|0)|0)>>>5;t=r(m,d[b+(s+2)>>0]|0)|0;a[f+(q+n)>>0]=(t+16+(r(k,d[b+(s+4)>>0]|0)|0)|0)>>>5;e=e+2|0}while((e|0)<(p|0))}while((i|0)!=(h|0));return}function we(c,e,f,g,h,i,j,k,l){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;s=b[16820]|0;t=b[16828]|0;p=h*3|0;u=b[16821]|0;v=b[16829]|0;w=b[16816]|0;x=b[16824]|0;q=h<<1;y=b[16817]|0;z=b[16825]|0;if(!(k&1)){m=b[c+(h<<1)>>1]|0;o=r(m,s)|0;l=b[c+(p<<1)>>1]|0;o=(r(l,t)|0)+o|0;m=(r(v,l)|0)+(r(u,m)|0)|0;l=b[c>>1]|0;n=r(l,w)|0;A=b[c+(q<<1)>>1]|0;n=(r(A,x)|0)+n|0;l=(r(z,A)|0)+(r(y,l)|0)|0;A=n+o|0;A=(A|0)>4194239?32767:(A|0)<-4194368?-32768:(A+64|0)>>>7&65535;b[e>>1]=A;B=l+m|0;b[e+2>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;m=l-m|0;b[e+4>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;o=n-o|0;b[e+6>>1]=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535}else{A=e;B=A;b[B>>1]=0;b[B+2>>1]=0>>>16;A=A+4|0;b[A>>1]=0;b[A+2>>1]=0>>>16;A=0}l=c+2|0;m=e+8|0;if(!(k&2)){C=b[l+(h<<1)>>1]|0;B=r(C,s)|0;o=b[l+(p<<1)>>1]|0;B=(r(o,t)|0)+B|0;C=(r(v,o)|0)+(r(u,C)|0)|0;o=b[l>>1]|0;n=r(o,w)|0;l=b[l+(q<<1)>>1]|0;n=(r(l,x)|0)+n|0;l=(r(z,l)|0)+(r(y,o)|0)|0;o=n+B|0;o=(o|0)>4194239?32767:(o|0)<-4194368?-32768:(o+64|0)>>>7&65535;b[m>>1]=o;m=l+C|0;b[e+10>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-C|0;b[e+12>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;B=n-B|0;b[e+14>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535}else{o=m;C=o;b[C>>1]=0;b[C+2>>1]=0>>>16;o=o+4|0;b[o>>1]=0;b[o+2>>1]=0>>>16;o=0}l=c+4|0;m=e+16|0;if(!(k&4)){D=b[l+(h<<1)>>1]|0;C=r(D,s)|0;n=b[l+(p<<1)>>1]|0;C=(r(n,t)|0)+C|0;D=(r(v,n)|0)+(r(u,D)|0)|0;n=b[l>>1]|0;B=r(n,w)|0;l=b[l+(q<<1)>>1]|0;B=(r(l,x)|0)+B|0;l=(r(z,l)|0)+(r(y,n)|0)|0;n=B+C|0;n=(n|0)>4194239?32767:(n|0)<-4194368?-32768:(n+64|0)>>>7&65535;b[m>>1]=n;m=l+D|0;b[e+18>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;m=l-D|0;b[e+20>>1]=(m|0)>4194239?32767:(m|0)<-4194368?-32768:(m+64|0)>>>7&65535;C=B-C|0;b[e+22>>1]=(C|0)>4194239?32767:(C|0)<-4194368?-32768:(C+64|0)>>>7&65535}else{n=m;D=n;b[D>>1]=0;b[D+2>>1]=0>>>16;n=n+4|0;b[n>>1]=0;b[n+2>>1]=0>>>16;n=0}l=c+6|0;m=e+24|0;if(!(k&8)){B=b[l+(h<<1)>>1]|0;D=r(B,s)|0;k=b[l+(p<<1)>>1]|0;D=(r(k,t)|0)+D|0;B=(r(v,k)|0)+(r(u,B)|0)|0;k=b[l>>1]|0;C=r(k,w)|0;l=b[l+(q<<1)>>1]|0;C=(r(l,x)|0)+C|0;k=(r(z,l)|0)+(r(y,k)|0)|0;l=C+D|0;l=(l|0)>4194239?32767:(l|0)<-4194368?-32768:(l+64|0)>>>7&65535;b[m>>1]=l;h=k+B|0;b[e+26>>1]=(h|0)>4194239?32767:(h|0)<-4194368?-32768:(h+64|0)>>>7&65535;B=k-B|0;b[e+28>>1]=(B|0)>4194239?32767:(B|0)<-4194368?-32768:(B+64|0)>>>7&65535;D=C-D|0;b[e+30>>1]=(D|0)>4194239?32767:(D|0)<-4194368?-32768:(D+64|0)>>>7&65535}else{l=m;D=l;b[D>>1]=0;b[D+2>>1]=0>>>16;l=l+4|0;b[l>>1]=0;b[l+2>>1]=0>>>16;l=0}k=o<<16>>16;B=l<<16>>16;C=(r(B,t)|0)+(r(k,s)|0)|0;k=(r(v,B)|0)+(r(u,k)|0)|0;B=A<<16>>16;h=n<<16>>16;D=(r(h,x)|0)+(r(B,w)|0)|0;B=(r(z,h)|0)+(r(y,B)|0)|0;h=D+C|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f>>0]|0)|0;h=(h|0)>0?h:0;a[g>>0]=(h|0)<255?h:255;h=B+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[f+2>>0]|0)|0;h=(h|0)>0?h:0;a[g+2>>0]=(h|0)<255?h:255;k=B-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[f+4>>0]|0)|0;k=(k|0)>0?k:0;a[g+4>>0]=(k|0)<255?k:255;C=D-C|0;C=((C|0)>134215679?32767:(C|0)<-134219776?-32768:C+2048>>12)+(d[f+6>>0]|0)|0;C=(C|0)>0?C:0;a[g+6>>0]=(C|0)<255?C:255;C=f+i|0;D=g+j|0;k=b[e+10>>1]|0;f=r(k,s)|0;g=b[e+26>>1]|0;f=(r(g,t)|0)+f|0;k=(r(v,g)|0)+(r(u,k)|0)|0;g=b[e+2>>1]|0;B=r(g,w)|0;h=b[e+18>>1]|0;B=(r(h,x)|0)+B|0;g=(r(z,h)|0)+(r(y,g)|0)|0;h=B+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=g+k|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;k=g-k|0;k=((k|0)>134215679?32767:(k|0)<-134219776?-32768:k+2048>>12)+(d[C+4>>0]|0)|0;k=(k|0)>0?k:0;a[D+4>>0]=(k|0)<255?k:255;f=B-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+6>>0]|0)|0;f=(f|0)>0?f:0;a[D+6>>0]=(f|0)<255?f:255;C=C+i|0;D=D+j|0;f=b[e+12>>1]|0;B=r(f,s)|0;k=b[e+28>>1]|0;B=(r(k,t)|0)+B|0;f=(r(v,k)|0)+(r(u,f)|0)|0;k=b[e+4>>1]|0;g=r(k,w)|0;h=b[e+20>>1]|0;g=(r(h,x)|0)+g|0;k=(r(z,h)|0)+(r(y,k)|0)|0;h=g+B|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C>>0]|0)|0;h=(h|0)>0?h:0;a[D>>0]=(h|0)<255?h:255;h=k+f|0;h=((h|0)>134215679?32767:(h|0)<-134219776?-32768:h+2048>>12)+(d[C+2>>0]|0)|0;h=(h|0)>0?h:0;a[D+2>>0]=(h|0)<255?h:255;f=k-f|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+4>>0]|0)|0;f=(f|0)>0?f:0;a[D+4>>0]=(f|0)<255?f:255;B=g-B|0;B=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;B=(B|0)>0?B:0;a[D+6>>0]=(B|0)<255?B:255;C=C+i|0;D=D+j|0;i=b[e+14>>1]|0;B=r(i,s)|0;g=b[e+30>>1]|0;B=(r(g,t)|0)+B|0;i=(r(v,g)|0)+(r(u,i)|0)|0;g=b[e+6>>1]|0;j=r(g,w)|0;f=b[e+22>>1]|0;j=(r(f,x)|0)+j|0;g=(r(z,f)|0)+(r(y,g)|0)|0;f=j+B|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C>>0]|0)|0;f=(f|0)>0?f:0;a[D>>0]=(f|0)<255?f:255;f=g+i|0;f=((f|0)>134215679?32767:(f|0)<-134219776?-32768:f+2048>>12)+(d[C+2>>0]|0)|0;f=(f|0)>0?f:0;a[D+2>>0]=(f|0)<255?f:255;i=g-i|0;i=((i|0)>134215679?32767:(i|0)<-134219776?-32768:i+2048>>12)+(d[C+4>>0]|0)|0;i=(i|0)>0?i:0;a[D+4>>0]=(i|0)<255?i:255;B=j-B|0;C=((B|0)>134215679?32767:(B|0)<-134219776?-32768:B+2048>>12)+(d[C+6>>0]|0)|0;C=(C|0)>0?C:0;a[D+6>>0]=(C|0)<255?C:255;return} |
| | | function ml(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=ll(e,f)|0;a=v()|0;return (u((r(b,f)|0)+(r(d,e)|0)+a|a&0|0),c|0|0)|0}function nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (u(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (u(d|0),a-c>>>0|0)|0}function pl(a){a=a|0;return (a?31-(s(a^a-1)|0)|0:32)|0}function ql(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (u(n|0),f)|0}else{if(!g){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (u(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (u(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (u(n|0),f)|0}g=h-1|0;if(g&h|0){i=(s(h|0)|0)+33-(s(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<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 (u(o|0),p)|0}else{p=pl(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (u(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (u(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (u(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((pl(i|0)|0)>>>0);return (u(o|0),p)|0}g=(s(i|0)|0)-(s(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (u(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (u(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=nl(m|0,l|0,-1,-1)|0;d=v()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;ol(k|0,d|0,e|0,n|0)|0;p=v()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=ol(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=v()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (u(o|0),p)|0}function rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ql(a,b,c,d,0)|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}u(0);return b>>>c-32|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){u(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}u(a<<c-32|0);return 0}function ul(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function vl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){La(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 wl(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 vl(b,c,d)|0;return b|0}function xl(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 yl(a){a=a|0;var b=0,d=0,e=0;e=Ia()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){Sa(b|0)|0;S(12);return -1}if((b|0)>(e|0))if(!(Ma(b|0)|0)){S(12);return -1}c[i>>2]=b;return d|0}function zl(a,b){a=a|0;b=b|0;return Vb[a&7](b|0)|0}function Al(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Wb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;return Xb[a&3](b|0,c|0)|0}function Cl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&15](b|0,c|0,d|0)|0}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Zb[a&1](b|0,c|0,d|0,e|0)|0}function El(a){a=a|0;_b[a&3]()}function Fl(a,b){a=a|0;b=b|0;$b[a&31](b|0)}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;ac[a&31](b|0,c|0)}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;bc[a&15](b|0,c|0,d|0)}function Il(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;cc[a&15](b|0,c|0,d|0,e|0)}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;dc[a&7](b|0,c|0,d|0,e|0,f|0)}function Kl(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;ec[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function Ll(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;fc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Ml(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Nl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;hc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ol(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ic[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Pl(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;jc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function Ql(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;kc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function Rl(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;lc[a&1](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)}function Sl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;mc[a&1](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)}function Tl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;nc[a&1](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)}function Ul(a){a=a|0;t(0);return 0}function Vl(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;t(1);return 0}function Wl(a,b){a=a|0;b=b|0;t(2);return 0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;t(3);return 0}function Yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(4);return 0}function Zl(){t(5)}function _l(){O()}function $l(a){a=a|0;t(6)}function am(a,b){a=a|0;b=b|0;t(7)}function bm(a,b,c){a=a|0;b=b|0;c=c|0;t(8)}function cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;t(9)}function dm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;t(10)}function em(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;t(11)}function fm(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;t(12)}function gm(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;t(13)}function hm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;t(14)}function im(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;t(15)}function jm(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;t(16)}function km(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;t(17)}function lm(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;t(18)}function mm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;t(19)}function nm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t(20)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var Vb=[Ul,_i,Qk,sd,Bd,Dd,Ed,Ul];var Wb=[Vl,jj];var Xb=[Wl,xd,zd,Wl];var Yb=[Xl,$i,ej,Fj,uk,Wk,Yk,Hd,ae,tc,Qg,Xl,Xl,Xl,Xl,Xl];var Zb=[Yl,aj];var _b=[Zl,_l,nk,Ik];var $b=[$l,Sc,Vc,Wc,Kd,Id,Ld,Od,Pd,Sd,Td,kd,Yd,Zd,qk,rk,sk,tk,Dk,Ok,Pk,Uk,Vk,Xk,_k,td,zc,Ac,Cd,Gd,Yh,Jk];var ac=[am,Ud,Vd,ad,Wd,Xd,_d,xc,yc,wd,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Fd,uc,kj,am,am,am,am,am,am,am,am];var bc=[bm,ud,vd,yd,Ad,ke,ef,hf,gf,Ef,le,bm,bm,bm,bm,bm];var cc=[cm,xk,Gk,bl,Hf,If,Jf,Kf,Ji,Ii,cm,cm,cm,cm,cm,cm];var dc=[dm,wk,Fk,al,jf,dm,dm,dm];var ec=[em,vk,Ek,$k,ne,oe,qe,re,ve,se,me,pe,te,ue,rf,sf,lf,mf,of,pf,tf,qf,kf,nf,uf,vf,wf,xf,yf,yg,zg,em];var fc=[fm,Xe,_e,Ye,$e,Ze,bf,cf,af,Qe,Re,Ue,Ve,Pe,Se,Te,We,Lf,Mf,Nf,Of,Pf,ze,Ae,Be,fm,fm,fm,fm,fm,fm,fm];var gc=[gm,je,ff,df];var hc=[hm,Fe,Ee,Ce,De,zf,Af,Df,Bf,Cf,we,ye,xe,Qf,ug,vg];var ic=[im,cg,_f,dg,wg,im,im,im];var jc=[jm,Rf,Sf,Uf,Wf,Yf,jm,jm];var kc=[km,$f,Tf,Vf,Xf,Zf,km,km];var lc=[lm,xg];var mc=[mm,ag];var nc=[nm,bg];return{___cxa_can_catch:jl,___cxa_is_pointer_type:kl,___errno_location:cj,___getTypeName:Zi,___muldi3:ml,___udivdi3:rl,_bitshift64Lshr:sl,_bitshift64Shl:tl,_free:Pj,_i64Add:nl,_i64Subtract:ol,_llvm_bswap_i32:ul,_llvm_cttz_i32:pl,_main:vc,_malloc:Oj,_memcpy:vl,_memmove:wl,_memset:xl,_sbrk:yl,_strlen:Hj,dynCall_ii:zl,dynCall_iidiiii:Al,dynCall_iii:Bl,dynCall_iiii:Cl,dynCall_iiiii:Dl,dynCall_v:El,dynCall_vi:Fl,dynCall_vii:Gl,dynCall_viii:Hl,dynCall_viiii:Il,dynCall_viiiii:Jl,dynCall_viiiiii:Kl,dynCall_viiiiiii:Ll,dynCall_viiiiiiii:Ml,dynCall_viiiiiiiii:Nl,dynCall_viiiiiiiiii:Ol,dynCall_viiiiiiiiiii:Pl,dynCall_viiiiiiiiiiii:Ql,dynCall_viiiiiiiiiiiii:Rl,dynCall_viiiiiiiiiiiiiii:Sl,dynCall_viiiiiiiiiiiiiiiiiii:Tl,establishStackSpace:sc,globalCtors:oc,stackAlloc:pc,stackRestore:rc,stackSave:qc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=asm["dynCall_viiiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiii"];var dynCall_viiiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | |
| | | <head> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| | | <title>Jessibuca 1.0</title> |
| | | <meta charset="utf-8" /> |
| | | <style> |
| | | .btn { |
| | | display: inline-block; |
| | | line-height: 1; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | -webkit-appearance: none; |
| | | text-align: center; |
| | | box-sizing: border-box; |
| | | outline: none; |
| | | margin: 0; |
| | | transition: .1s; |
| | | font-weight: 500; |
| | | -moz-user-select: none; |
| | | -webkit-user-select: none; |
| | | -ms-user-select: none; |
| | | padding: 12px 20px; |
| | | font-size: 14px; |
| | | border-radius: 4px; |
| | | color: #fff; |
| | | background-color: #409eff; |
| | | border-color: #409eff; |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-danger { |
| | | color: #fff; |
| | | background-color: #f56c6c; |
| | | border-color: #f56c6c; |
| | | } |
| | | |
| | | .btn-success { |
| | | color: #fff; |
| | | background-color: #67c23a; |
| | | border-color: #67c23a; |
| | | } |
| | | |
| | | .player-wrapper { |
| | | width: 900px; |
| | | height: 500px; |
| | | /*overflow-y: auto;*/ |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | } |
| | | |
| | | .btn-wrapper { |
| | | width: 900px; |
| | | height: 50px; |
| | | margin: 0 auto; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | /*.player-wrapper canvas { |
| | | width: 100%; |
| | | height: 100%; |
| | | }*/ |
| | | |
| | | .logs { |
| | | border: 1px solid #333; |
| | | width: 900px; |
| | | height: 300px; |
| | | margin: 0 auto; |
| | | overflow-y: auto; |
| | | padding: 5px; |
| | | } |
| | | </style> |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="player-wrapper" id="container" style="background-color: #0D0E1B;width:900px;height:500px"> |
| | | </div> |
| | | <div class="btn-wrapper" id="playDom"> |
| | | <button class="btn" id="play">播放</button> |
| | | </div> |
| | | <div class="btn-wrapper btn-wrapper2" id="stopDom" style="display: none"> |
| | | <div style="margin-top: 5px"> |
| | | <button class="btn btn-danger" id="stop">结束</button> |
| | | </div> |
| | | </div> |
| | | <button class="btn" onclick="h5lc.fullscreen=true">全屏</button> |
| | | <div id="logout" class="logs"> |
| | | </div> |
| | | |
| | | <script src="./ajax.js"></script> |
| | | <script src="./renderer.js"></script> |
| | | <script> |
| | | onerror = handleErr; |
| | | var txt = ""; |
| | | window.onkeydown = function () { |
| | | h5lc.fullscreen = false |
| | | } |
| | | var $play = document.getElementById('play'); |
| | | var $stop = document.getElementById('stop'); |
| | | var $playDom = document.getElementById('playDom'); |
| | | var $stopDom = document.getElementById('stopDom'); |
| | | var container = document.getElementById("container"); |
| | | var isPlaying = false; |
| | | disabledMouseWheel(container); |
| | | let stream = queryParam('stream') || 'user1'; |
| | | let decoder = queryParam('decoder') || 'ff'; |
| | | let source = queryParam('source') || 'localhost'; |
| | | var h5lc = new Jessibuca({ container, decoder: decoder + ".js", videoBuffer: 0 }); |
| | | |
| | | h5lc.onLoad = function () { |
| | | //this.play("wss://pulls.1234326.cn/live/L01.flv") |
| | | //this.play("ws://localhost:8080/live/test.flv") |
| | | //this.play("ws://" + source + ":8080/live/" + stream) |
| | | //this.play("ws://pull3.afb1188.com/live/" + stream + ".flv") |
| | | //this.play("ws://pull2.afb1188.com/live/" + stream + ".flv") |
| | | } |
| | | h5lc.onPlay = function () { |
| | | isPlaying = true; |
| | | $playDom.style.display = 'none'; |
| | | $stopDom.style.display = 'block'; |
| | | } |
| | | $play.addEventListener('click', function () { |
| | | if (isPlaying) { |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | play(); |
| | | $playDom.style.display = 'none'; |
| | | $stopDom.style.display = 'block'; |
| | | }, false); |
| | | |
| | | $stop.addEventListener('click', function () { |
| | | if (!isPlaying) { |
| | | return; |
| | | } |
| | | |
| | | isPlaying = false; |
| | | stop(); |
| | | |
| | | $playDom.style.display = 'block'; |
| | | $stopDom.style.display = 'none'; |
| | | }, false); |
| | | |
| | | |
| | | function play(firstResponseIp) { |
| | | //h5lc.play("ws://" + (firstResponseIp || source) + ":8080/live/" + stream) |
| | | //h5lc.play("ws://pull2.afb1188.com/live/" + stream + ".flv") |
| | | //h5lc.play("ws://localhost:8080/live/" + stream) |
| | | h5lc.play("ws://localhost:8080/live/test.flv") |
| | | // h5lc.play("ws://119.9.118.39:8080/live/user1", canvas) |
| | | // h5lc.play("ws://test.qihaipi.com/gnddragon/test.flv", canvas) |
| | | // h5lc.play("ws://localhost:8080/live/test.flv", canvas) |
| | | |
| | | } |
| | | function getFastCdnFromList(ipList) { |
| | | ipList = ipList || []; |
| | | var firstResponseIp = ''; |
| | | |
| | | for (var i = 0, len = ipList.length; i < len; i++) { |
| | | var tempIp = ipList[i].name; |
| | | var reqHref = 'http://' + tempIp + '/test'; |
| | | var request = _ajax.get(reqHref); |
| | | request.then(function (data) { |
| | | if (!firstResponseIp) { |
| | | firstResponseIp = tempIp; |
| | | // 直接可以播放了。 |
| | | play(firstResponseIp); |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | function stop() { |
| | | h5lc.close() |
| | | } |
| | | |
| | | function queryParam(name, url) { |
| | | var search = window.location.search; |
| | | var qArr = ''; |
| | | var key = {}; |
| | | |
| | | if (url) { |
| | | qArr = url.split("?")[1].split("&") |
| | | |
| | | } else { |
| | | if (!window.location.search) { |
| | | return |
| | | } |
| | | qArr = search.substr(1).split("&") |
| | | } |
| | | |
| | | for (var i = 0; i < qArr.length; i++) { |
| | | |
| | | var firstPos = qArr[i].indexOf('='); |
| | | key[qArr[i].slice(0, firstPos)] = qArr[i].slice(firstPos + 1) |
| | | } |
| | | |
| | | if (name) { |
| | | return key[name] |
| | | } else { |
| | | if (url) { |
| | | return key[name] |
| | | } else { |
| | | return key |
| | | } |
| | | } |
| | | } |
| | | |
| | | function disabledMouseWheel(ele) { |
| | | if (ele.addEventListener) { |
| | | ele.addEventListener('DOMMouseScroll', scrollFunc, false); |
| | | } //W3C |
| | | ele.onmousewheel = scrollFunc; //IE/Opera/Chrome |
| | | } |
| | | |
| | | function scrollFunc(evt) { |
| | | evt = evt || window.event; |
| | | if (evt.preventDefault) { |
| | | // Firefox |
| | | evt.preventDefault(); |
| | | evt.stopPropagation(); |
| | | } else { |
| | | // IE |
| | | evt.cancelBubble = true; |
| | | evt.returnValue = false; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function handleErr(msg, url, l) { |
| | | txt = "There was an error on this page.\n\n"; |
| | | txt += "Error: " + msg + "\n"; |
| | | txt += "URL: " + url + "\n"; |
| | | txt += "Line: " + l + "\n\n"; |
| | | document.getElementById("logout").innerHTML += txt + "<br>"; |
| | | return true; |
| | | } |
| | | </script> |
| | | |
| | | </body> |
| | | |
| | | </html> |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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 allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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 stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=169760,DYNAMIC_BASE=5412640,DYNAMICTOP_PTR=169728;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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 getUniqueRunDependency(id){return id}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAgLgAAYC4AAGAuAABgLgAAYC4AAAAAAAAAAAAAAAAAACAuAABoLgAAaC4AAGAuAACAsNDwgKfF44Ceu9h7lrLNdI6pw2+HoLlpgJivZHqQpl90iZ5aboKWVWh7jlFjdYdNXm+ASVlpekVVZHRCUF9uPkxaaDtIVmM4RVFeNUFNWTM+SVUwO0VQLjhCTCs1P0gpMjtFJzA4QSUtNj4jKzM7ISkwOCAnLjUeJSsyHSMpMBshJy0aHyUrGB4jKRccIScWGyAlFRoeIxQYHSETFxsfEhYaHhEVGRwQFBcbDxMWGQ4SFRgOERQXDRATFgwPEhUMDhEUCw4QEwsNDxIKDA8RCgwOEAkLDQ8JCwwOCAoMDggJCw0HCQsMBwkKDAcICgsGCAkLBgcJCgYHCAkCAgICBgUEBAMDAwMCAgICAgICAgEBAQEBAQEBAQEBAQEBAQEAAAECAgQEBQYHCAkJCwsMDQ0PDxAQEhITExUVFhYXGBgZGhobGxwdHR4eHh8gICEhISIiIyMjJCQkJSUlJiY/AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4+Px0AAAAeAAAAHwAAACAAAAAhAAAAIQAAACIAAAAiAAAAIwAAACMAAAAkAAAAJAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQECAgICAwMDAwQEBAUFBgYHCAkKCw0OEBIUFhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYHCAkKCwwNDg8QERIUFhgaHB4gIiQmKCosLjAyNDY4Ojw+QAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABoAAAAVAAAAEQAAAA0AAAAJAAAABQAAAAIAAAAAAAAA/v////v////3////8////+/////r////5v///+D////m////6////+/////z////9/////v////+////AAAAAAIAAAAFAAAACQAAAA0AAAARAAAAFQAAABoAAAAgAAAAAAAAAAAAAAAaAAAACgAAAAEAAAAAAQICAgIDBQcICgwNDxESExQVFhcXGBgZGRobGxwcHR0eHwAAAAAAAAAAAAAAAAAoAAAALQAAADMAAAA5AAAAQAAAAEgAAAAAAAAAAAAAAADw//+a+f//cvz//4r9//8e/v//ev7//8X+//8A////xf7//3r+//8e/v//iv3//3L8//+a+f//APD//wAAAAAAAAAAAAAAACA9AgBAPQIAwD0CAMA/AgAAAAAAAAAAAMBHAgDgRwIAYEgCAGBKAgAAAAAAAAAAAGBSAgCAUgIAAFMCAABVAgAAAAAAAAAAABSWAgAmlgIAQHICAGByAgDgcgIA4HQCAAAAAAAAAAAAFJYCAB6WAgCgZwIAwGcCAEBoAgBAagIAAAAAAAAAAAAUlgIAFpYCAABdAgAgXQIAoF0CAKBfAgAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAABAAAAAgAAAAAAAAADAAAAAQAAAAMAAAACAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAQAAAAMAAAAAAAAAAwAAAAEAAAADAAAAAgAAAMUAAAC5AAAAyQAAAMUAAAC5AAAAyQAAAAAAAAAAAAAAiwAAAI0AAACdAAAAawAAAIsAAAB+AAAAawAAAIsAAAB+AAAAAAAAAAAAAAAAAAAAbwAAAI0AAACZAAAAbwAAAFsAAACrAAAAhgAAAI0AAAB5AAAAjAAAAD0AAACaAAAAeQAAAIwAAAA9AAAAmgAAAG8AAABvAAAAfQAAAG4AAABuAAAAXgAAAHwAAABsAAAAfAAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAIwAAACLAAAAtgAAALYAAACYAAAAiAAAAJgAAACIAAAAmQAAAIgAAACLAAAAbwAAAIgAAACLAAAAbwAAAJsAAACaAAAAiwAAAJkAAACLAAAAewAAAHsAAAA/AAAAmQAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKoAAACZAAAAewAAAHsAAABrAAAAeQAAAGsAAAB5AAAApwAAAJcAAAC3AAAAjAAAAJcAAAC3AAAAjAAAAKoAAACaAAAAiwAAAJkAAACLAAAAewAAAHsAAAA/AAAAfAAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKoAAACZAAAAigAAAIoAAAB6AAAAeQAAAHoAAAB5AAAApwAAAJcAAAC3AAAAjAAAAJcAAAC3AAAAjAAAAAAAAAAAAAAAjQAAAG8AAACMAAAAjAAAAIwAAACMAAAAAAAAAAAAAACKAAAAmQAAAIgAAACnAAAAmAAAAJgAAABrAAAApwAAAFsAAAB6AAAAawAAAKcAAABrAAAApwAAAFsAAABrAAAAawAAAKcAAAAAAAAAAAAAAIwAAABcAAAAiQAAAIoAAACMAAAAmAAAAIoAAACLAAAAmQAAAEoAAACVAAAAXAAAAIsAAABrAAAAegAAAJgAAACMAAAAswAAAKYAAAC2AAAAjAAAAOMAAAB6AAAAxQAAAJoAAADEAAAAxAAAAKcAAACaAAAAmAAAAKcAAAC2AAAAtgAAAIYAAACVAAAAiAAAAJkAAAB5AAAAiAAAAIkAAACpAAAAwgAAAKYAAACnAAAAmgAAAKcAAACJAAAAtgAAAJoAAADEAAAApwAAAKcAAACaAAAAmAAAAKcAAAC2AAAAtgAAAIYAAACVAAAAiAAAAJkAAAB5AAAAiAAAAHoAAACpAAAA0AAAAKYAAACnAAAAmgAAAJgAAACnAAAAtgAAAG4AAABuAAAAfAAAAH0AAACMAAAAmQAAAH0AAAB/AAAAjAAAAG0AAABvAAAAjwAAAH8AAABvAAAATwAAAGwAAAB7AAAAPwAAAH0AAABuAAAAXgAAAG4AAABfAAAATwAAAH0AAABvAAAAbgAAAE4AAABuAAAAbwAAAG8AAABfAAAAXgAAAGwAAAB7AAAAbAAAAH0AAABuAAAAfAAAAG4AAABfAAAAXgAAAH0AAABvAAAAbwAAAE8AAAB9AAAAfgAAAG8AAABvAAAATwAAAGwAAAB7AAAAXQAAAAAAAAAAAAAAmQAAAIoAAACKAAAAfAAAAIoAAABeAAAA4AAAAKcAAAB6AAAAAAAAAAAAAAAAAAAAXgAAAIoAAAC2AAAAmgAAAJUAAABrAAAApwAAAJoAAACVAAAAXAAAAKcAAACaAAAAuAAAAJoAAACLAAAAmgAAAJoAAACaAAAAiwAAAJoAAACaAAAAAAAAAAAAAAAAAAAAjAAAAMYAAACpAAAAxgAAAAABBAUCAwQFBgYICAcHCGNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFpaWFVSTklDPTYuJh8WDQT88+rh2tLKw723sq6rqKamWldQRjkrGQn359XHurCppqapsLrH1ef3CRkrOUZQV1paUkMuFvzhyrerpqiyw9rzDSY9TlhaVUk2HwTq0r2upllLMhLuzrWnp7XO7hIyS1lZSzIS7s61p6e1zu4SMktZWEMf88quprLS/CZJWlU9FurDq6a32gQuTlpSNg3hvahXOQnVsKa65xlGWlAr98epqcf3K1BaRhnnuqaw1Qk5V1Uu872mt+omUlg2/MOmsuEfTlo9BMqortoWSVpDDdKrUyTcra3cJFNTJNytrdwkU1Mk3K2t3CRTUyTcra3cJFNSFsqmww1OVR/Spr0ESVgm2qi3/ENaLuGrsvM9WjbqrlAJuqnnOVor1abHGVdG97Cw90ZXGcem1StaOeepuglQTvyutw1VQ+qowx9aNtqm0i5aJsqm4T1YFr2r80lSBLJL7qfOMlkStbUSWTLOp+5LS+6nzjJZErW1ElkyzqfuS0nhpupOQ9qm81I90qj8VTbKqwRYLsOuDVomvbIWWh+3RtWpCVoZsMc5UOem91crurorV/em51A5x7AZWgmp1UZDyrImVeqmBFoNqOFSLrfDPUnSrh9Y86b8Whar2k42vUDAwEBAwMBAQMDAQEDAwEBAwMBAQMDAQEDAwEBAwMBAPbfSUh+o81r8phZV2rI2Q73KTiar6loEpg1Y4a4uScM5sOda96krRrrVVwmmGVDHx1AZpglX1bpGK6n3WuewOTar/FjSw1INpiZDsupa4bdJH6YWTr3aWvOuPS6oBFXKMqcSS7XuWc7OWe61SxKnMjKnEku17lnOzlnutUsSpzIupiY2ph89qBZDqw1JrgROsvxSt/NVvepYw+Faytpa0iumORmpRgmwUPe6V+fHWtXVWsfnV7r3ULAJRqkZOaYrJqhJ/L1a0uFVsg09pjYWrlLqylrD806rHy6mQwS3WNokrVPc3FOtJCStU9zcU60kJK1T3NxTrSQkrVPc3FOtJB+yWsMENqhS2upJpkPz0lWrLg29WrcWJq5Yyvw9pk7hGbpasCsJx1epOffVUKZG5+dGplDV9zmpV8cJK7BauhkWw1WmSdr8LrJarjbz4UOoWL0fDcpSpk7SBCa3Wqs96hLOS6dZtTLu7jK1WadLzhISzkunWbUy7u4ytVmnS84SDdo9slimVbc24QQW0kOuWqZSvS7q/B/KSataqE7DJvMJ5yvHRrBXplqpULo51Rn39xnVObpQqVqmV7BGxyvnCQTzFuEm0jbDQ7dOrlWoWqZaplirUrJJvT3KLtof6g38AAAAAAMAAAADAAAAAgAAAAAAAAADAAAABAAAAAQAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEQERAREhESEhESFRMUFRQTFRgWFhgYFhYYGRkbHhsZGR0fIyMfHSQpLCkkLzY2L0FGQVhYcxAQEBAQEBAQEBARERERERISEhISEhQUFBQUFBQYGBgYGBgYGBkZGRkZGRkcHBwcHBwhISEhISkpKSk2NjZHR1v/////AgAAAAIAAAABAAAA/////wIAAAABAAAAAQAAAAAAAAABAAEADAALAAoACwAQAAsAKAAhABgACwAUAAsAIAALAFAAIQASAAsADwALAEAAIQCgAGMABAADAAMAAgACAAEAAAAAAAAAAAAAAAAA3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAA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l211P5dNdj8XJHc/EPF3P3u0eD9Obnk/hB56PxbFej/8YXs/MfV7P7B+fD9z/nw/dHR9P7HgfT8jQ34/yZt+P53qfj+dL38/x2p/Pxicfz+Pw38/KeF/P+b0fz/E/n8/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA63bWO9bWoDxyBAY9mJc7PYMicT1tUZM9IwuuPTa9yD17ZuM9xgX+PfdMDD7jkBk+Es4mPvEDND7qMUE+aVdOPtxzWz6uhmg+TY91PpNGgT7Vv4c+ITOOPjGglD69Bps+e2ahPiW/pz5zEK4+Hlq0PuGbuj5z1cA+kQbHPvMuzT5WTtM+dGTZPghx3z7Qc+U+h2zrPupa8T63Pvc+qxf9PsNyAT8DVAQ/dC8HP/gECj9u1Aw/tp0PP7JgEj9CHRU/SNMXP6SCGj86Kx0/68wfP5lnIj8o+yQ/eocnP3MMKj/2iSw/6P8uPyxuMT+p1DM/QjM2P9yJOD9f2Do/sB49P7VcPz9VkkE/d79DPwPkRT/h/0c/+hJKPzUdTD98Hk4/uBZQP9QFUj+661M/U8hVP4ybVz9QZVk/iyVbPyncXD8XiV4/QixgP5jFYT8GVWM/fNpkP+dVZj85x2c/Xy5pP0uLaj/u3Ws/NyZtPxpkbj+Il28/c8BwP8/ecT+P8nI/p/tzPwv6dD+w7XU/i9Z2P5O0dz+9h3g/AFB5P1QNej+wv3o/DGd7P2EDfD+olHw/2xp9P/SVfT/tBX4/wWp+P23Efj/sEn8/OlZ/P1aOfz87u38/6dx/P17zfz+Z/n8/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/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Afx/P5T5fz93+H8/I/h/PwH4fz8B+H8/Afh/PwAAgD8AAIA/AACAP+//fz+9/38/N/9/P/j9fz/K/H8/RPx/PxH8fz8B/H8/Afx/PwH8fz8AAIA/AACAPwAAgD8AAIA/3v9/P5v/fz8E/38/bf5/Pxn+fz8J/n8/Cf5/Pwn+fz/4/X8/AACAPwAAgD8AAIA/AACAP+//fz/O/38/ev9/Pzf/fz8V/38/BP9/PwT/fz8E/38/BP9/PwAAgD8AAIA/AACAPwAAgD8AAIA/3v9/P73/fz+b/38/i/9/P3r/fz96/38/ev9/P3r/fz8AAIA/AACAPwAAgD8AAIA/AACAP+//fz/e/38/zv9/P73/fz+9/38/vf9/P73/fz+9/38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/7/9/P97/fz/e/38/3v9/P97/fz/e/38/3v9/PwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD/v/38/7/9/P+//fz/v/38/7/9/P+//fz8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD+wD3w8/z34POnwcD0qjuM9zcxMPp+qqj4AAAA/sKoqP83MTD87jmM/6fBwPxA+eD+7D3w/9wN+PwABfz9FgH8/CcB/PwXgfz8C8H8/Afh/PwH8fz/4/X8/BP9/P3r/fz+9/38/3v9/P+//fz8AAIA/AACAPwAAgD8AAIA/whP+O/xC/jv7//47BvoAPGbhBjzecx48sA98PCv8GT0NHPA9em+sPmHjKj+FlGM/hT54PzUffDzETXw8/gd9PBDwfzyKx4U8Wu+cPP89+DznZ5Q9/+lWPgT+AD+h9Uw/c/RwP/4PfD8ZTfg8L3r4PMAu+TxhAPw8JaEDPSv8GT3p8HA91GAKPv2hsT7fiys/ZadjP/c/eD8ZBH4/Ef9wPaMpcT2d03E9Mnt0PfsPfz3nZ5Q9Ko7jPS3Pcz4A4QM/nG5NPxH/cD+2EHw/EQF/P7+a4z0FweM9iljkPRe25j0NHPA9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NAA8AEQAUABcAGgAeACMAKQAwADgAAABIAFAAWABgAGgAcAB4AEAAgAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAQATABUAFwAZABsAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABIAFAAWABgAGgAcAB8AIgAlACkALQAyADgAAABIAFAAWABgAGgAcAB4AEAAAQACAAMABAAFAAYABwAIAAkACgALAA0ADwARABQAFwAaAB4AIwApADAAOAAAAEgAUABYAGAAaABwAHgAQAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAYABsAHgAhACQAJwArAC8ANQA8AAUAUABgAHAAQACQAKAAsACAANAA4ADwAMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4AEAASABQAFgAZABwAHwAjACcAKwAwADYAPAADAEwAVgBgAGoAdAB+AEgAkgCcAKYAsAC6AIQAzgDYAOIA7AD2AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAwADgAQABIAFAAWABgAGwAeACEAJAAoACwAMQA2ADwAAgBJAFAAWABgAGgAcAB4AEAAiACQAJgAoACoALAAuACAAMgA0ADYAOAA6ADAAQAAAQACAAMABAAFAAYABwAIAAkACgAMAA4AEAASABQAFgAYABsAHgAhACQAKAAsADEANgA8AAIASQBQAFgAYABoAHAAeABAAIgAkACYAKAAqACwALgAgADIANAA2ADgAOgA8AD4AMABAAABAAIAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAVABcAGQAbAB0AHwAiACUAKAArAC8AMwA3ADwAAQBHAE0AVABbAGMAbAB1AH8ASgCWAKMAsACAANAA4ADwAMABAAACAAQABgAIAAoADAAOABAAEgAUABYAGQAcAB8AIgAlACgAKwAuADEANQA5AD0AAQBGAEsAUABWAFwAYwBqAHIAewBFAI8AmgCmALMAgQDQAOAA8ADAAQAAAwAGAAkADAAPABIAFQAYABsAHgAhACQAJwArAC8AMwA3ADsAPwADAEgATQBSAFcAXQBjAGkAcAB3AH8ASACRAJsApgCyAL8AjQDcAOwAwAEAAABAAIAAwAEAAUABgAGAAcAAhABEAAQCgAKAAQABQAGAAcACAAJAAoACwAMAAkADgALAAwADQAOAA8AEAANABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhAAEQABAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMASDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAHBsYXlBdWRpbwBpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZAAhISVzCgBhYWMgc2FtcGxlcmF0ZTolZCBjaGFubmVsczolZABnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcmVzZXRUaW1lU3BhbgBjb2RlYyA9ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYWFjIGluaXQhICVkAGF1ZGlvIGluaXQhICVkAEgyNjUgaW5pdAA4TGliZGUyNjUAMTJWaWRlb0RlY29kZXIAdmlkZW8gZGVjb2RlciByZWxlYXNlIQoAZGUyNjVfZGVjb2Rl77yaJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAuXGNhYmFjLmNjAGRlYmxvY2stJWQAblRocmVhZHNSdW5uaW5nID49IDAALlxpbWFnZS5jYwB0aHJlYWRfZmluaXNoZXMAcmVmUGljUTA9PXJlZlBpY1ExAC5cZGVibG9jay5jYwBkZXJpdmVfYm91bmRhcnlTdHJlbmd0aAAyNnRocmVhZF90YXNrX2RlYmxvY2tfQ1RCUm93ADExdGhyZWFkX3Rhc2sAJXAgZGVzdHJ1Y3RvcgoAbWZyZWUgJXAKADE1ZGVjb2Rlcl9jb250ZXh0ADEyYmFzZV9jb250ZXh0ADExZXJyb3JfcXVldWUAaW1nLT5CaXREZXB0aF9ZID49IDggJiYgaW1nLT5CaXREZXB0aF9ZIDw9IDE2AGRlMjY1X2ltYWdlX2dldF9idWZmZXIAaW1nLT5CaXREZXB0aF9DID49IDggJiYgaW1nLT5CaXREZXB0aF9DIDw9IDE2AHNhby0lZABmaXJzdCAlIDIgPT0gMABjb3B5X2xpbmVzX2Zyb20AZW5kICUgMiA9PSAwADE1dGhyZWFkX3Rhc2tfc2FvAHNsaWNlLXNlZ21lbnQtJWQ7JWQAaW5pdFR5cGUgPj0gMCAmJiBpbml0VHlwZSA8PSAyAC5cc2xpY2UuY2MAaW5pdGlhbGl6ZV9DQUJBQ19tb2RlbHMAJXAgZGVjb3VwbGUgKCVwKQoAcmVmY250AC5cY29udGV4dG1vZGVsLmNjAGRlY291cGxlAGRlY29kZV9wYXJ0X21vZGUAcmVhZF9jb2RpbmdfdW5pdABQcmVkTW9kZSA9PSBjdVByZWRNb2RlAHJlYWRfdHJhbnNmb3JtX3RyZWUAY29udGV4dCA+PSAwICYmIGNvbnRleHQgPD0gMgBkZWNvZGVfc3BsaXRfdHJhbnNmb3JtX2ZsYWcAISh0cmFmb0RlcHRoPT0wICYmIGxvZzJUcmFmb1NpemU9PTIpAGNiZl9jYiAhPSAtMQByZWFkX3RyYW5zZm9ybV91bml0AGNiZl9jciAhPSAtMQBjYmZfbHVtYSAhPSAtMQAuXHRyYW5zZm9ybS5jYwBzY2FsZV9jb2VmZmljaWVudHNfaW50ZXJuYWwAcmRwY21Nb2RlPT0wAGludHJhUHJlZE1vZGU8MzUALlxpbnRyYXByZWQuY2MAaW50cmFfcHJlZGljdGlvbl9hbmd1bGFyAGludHJhUHJlZE1vZGU+PTIAaW50cmFfcHJlZGljdGlvbl9zYW1wbGVfZmlsdGVyaW5nAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaW5pdABuVDw9MzIAZmlsbF9mcm9tX2ltYWdlAHg8c3BzLT5QaWNXaWR0aEluTWluUFVzAHNldF9JbnRyYVByZWRNb2RlQwB5PHNwcy0+UGljSGVpZ2h0SW5NaW5QVXMAaWR4PGludHJhUHJlZE1vZGVDLmRhdGFfc2l6ZQBzaGRyLT5zbGljZV90eXBlID09IFNMSUNFX1RZUEVfQgAuXG1vdGlvbi5jYwBnZW5lcmF0ZV9pbnRlcl9wcmVkaWN0aW9uX3NhbXBsZXMAbWNfY2hyb21hAG51bU1WUENhbmRMWD09MgBmaWxsX2x1bWFfbW90aW9uX3ZlY3Rvcl9wcmVkaWN0b3JzAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAZGVyaXZlX2NvbGxvY2F0ZWRfbW90aW9uX3ZlY3RvcnMAcmVmUGljTGlzdD49MABkZXJpdmVfc3BhdGlhbF9sdW1hX3ZlY3Rvcl9wcmVkaWN0aW9uAC4vaW1hZ2UuaABkZXJpdmVfY29tYmluZWRfYmlwcmVkaWN0aXZlX21lcmdpbmdfY2FuZGlkYXRlcwAlcCByZWxlYXNlICVwCgAlcCBhc3NpZ24gPSAlcAoAJXAgaW5pdAoAKnJlZmNudD4xAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQAlcCAoYWxsb2MpCgBtb2RlbFtpXS5zdGF0ZSA8PSA2MgBzZXRfaW5pdFZhbHVlADI1dGhyZWFkX3Rhc2tfc2xpY2Vfc2VnbWVudABjdGItcm93LSVkADE5dGhyZWFkX3Rhc2tfY3RiX3JvdwBhbGxvY19pbWFnZQBzcHMtPlN1YldpZHRoQyA9PSBTdWJXaWR0aEMAc3BzLT5TdWJIZWlnaHRDID09IFN1YkhlaWdodEMALlxiaXRzdHJlYW0uY2MAdmFsdWU+MABnZXRfdXZsYwBsZW5ndGggPj0gMABpbml0X0NBQkFDX2RlY29kZXIAY3R4SWR4TG9va3VwW2xvZzJ3LTJdW2NJZHhdW3NjYW5JZHhdW3ByZXZDc2JmXVt4QysoeUM8PGxvZzJ3KV0gPT0gY3R4SWR4SW5jAGFsbG9jX2FuZF9pbml0X3NpZ25pZmljYW50X2NvZWZmX2N0eElkeF9sb29rdXBUYWJsZQAuXGZhbGxiYWNrLWRjdC5jYwB0cmFuc2Zvcm1fc2tpcF8xNl9mYWxsYmFjawB0cmFuc2Zvcm1fc2tpcF84X2ZhbGxiYWNrAGxvZzJXRD49MQAuXGZhbGxiYWNrLW1vdGlvbi5jYwBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrACh3aWR0aCYxKT09MABwdXRfdW53ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkX2F2Z18xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfOF9mYWxsYmFjawBwdXRfdW53ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfYXZnXzhfZmFsbGJhY2sAbmFsAC5cZGVjY3R4LmNjAGRlY29kZQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQAuXGRwYi5jYwBvdXRwdXRfbmV4dF9waWN0dXJlX2luX3Jlb3JkZXJfYnVmZmVyAFNFSSBkZWNvZGVkIHBpY3R1cmUgTUQ1IG1pc21hdGNoIChQT0M9JWQpCgBTRUkgZGVjb2RlZCBwaWN0dXJlIGhhc2g6ICUwNHgsIGRlY29kZWQgcGljdHVyZTogJTA0eCAoUE9DPSVkKQoAZGVjb2RlX3NsaWNlX3VuaXRfcGFyYWxsZWwAaW1nLT5udW1fdGhyZWFkc19hY3RpdmUoKSA9PSAwAGRlY29kZV9zbGljZV91bml0X3RpbGVzAG4gPCBuVGhyZWFkQ29udGV4dHMALi9kZWNjdHguaABnZXRfdGhyZWFkX2NvbnRleHQAdW5pdFggPj0gMCAmJiB1bml0WCA8IHdpZHRoX2luX3VuaXRzAC4uXGxpYmRlMjY1L2ltYWdlLmgAZ2V0AHVuaXRZID49IDAgJiYgdW5pdFkgPCBoZWlnaHRfaW5fdW5pdHMAdGhyZWFkX2NvbnRleHRzPT1OVUxMAGFsbG9jYXRlX3RocmVhZF9jb250ZXh0cwBkZWNvZGVfc2xpY2VfdW5pdF9XUFAAJXAgYyd0b3IgPSAlcAoALS0tLS0tLS0tLS0tLS0tLS0gUFBTIC0tLS0tLS0tLS0tLS0tLS0tCgBwaWNfcGFyYW1ldGVyX3NldF9pZCAgICAgICA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICAgICA6ICVkCgBkZXBlbmRlbnRfc2xpY2Vfc2VnbWVudHNfZW5hYmxlZF9mbGFnIDogJWQKAHNpZ25fZGF0YV9oaWRpbmdfZmxhZyAgICAgIDogJWQKAGNhYmFjX2luaXRfcHJlc2VudF9mbGFnICAgIDogJWQKAG51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZlIDogJWQKAG51bV9yZWZfaWR4X2wxX2RlZmF1bHRfYWN0aXZlIDogJWQKAHBpY19pbml0X3FwICAgICAgICAgICAgICAgIDogJWQKAGNvbnN0cmFpbmVkX2ludHJhX3ByZWRfZmxhZzogJWQKAHRyYW5zZm9ybV9za2lwX2VuYWJsZWRfZmxhZzogJWQKAGN1X3FwX2RlbHRhX2VuYWJsZWRfZmxhZyAgIDogJWQKAGRpZmZfY3VfcXBfZGVsdGFfZGVwdGggICAgIDogJWQKAHBpY19jYl9xcF9vZmZzZXQgICAgICAgICAgICAgOiAlZAoAcGljX2NyX3FwX29mZnNldCAgICAgICAgICAgICA6ICVkCgBwcHNfc2xpY2VfY2hyb21hX3FwX29mZnNldHNfcHJlc2VudF9mbGFnIDogJWQKAHdlaWdodGVkX3ByZWRfZmxhZyAgICAgICAgICAgOiAlZAoAd2VpZ2h0ZWRfYmlwcmVkX2ZsYWcgICAgICAgICA6ICVkCgBvdXRwdXRfZmxhZ19wcmVzZW50X2ZsYWcgICAgIDogJWQKAHRyYW5zcXVhbnRfYnlwYXNzX2VuYWJsZV9mbGFnOiAlZAoAdGlsZXNfZW5hYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBlbnRyb3B5X2NvZGluZ19zeW5jX2VuYWJsZWRfZmxhZzogJWQKAG51bV90aWxlX2NvbHVtbnMgICAgOiAlZAoAbnVtX3RpbGVfcm93cyAgICAgICA6ICVkCgB1bmlmb3JtX3NwYWNpbmdfZmxhZzogJWQKAHRpbGUgY29sdW1uIGJvdW5kYXJpZXM6IAB0aWxlIHJvdyBib3VuZGFyaWVzOiAAKiVkIABsb29wX2ZpbHRlcl9hY3Jvc3NfdGlsZXNfZW5hYmxlZF9mbGFnIDogJWQKAHBwc19sb29wX2ZpbHRlcl9hY3Jvc3Nfc2xpY2VzX2VuYWJsZWRfZmxhZzogJWQKAGRlYmxvY2tpbmdfZmlsdGVyX2NvbnRyb2xfcHJlc2VudF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZW5hYmxlZF9mbGFnOiAlZAoAcGljX2Rpc2FibGVfZGVibG9ja2luZ19maWx0ZXJfZmxhZzogJWQKAGJldGFfb2Zmc2V0OiAgJWQKAHRjX29mZnNldDogICAgJWQKAHBpY19zY2FsaW5nX2xpc3RfZGF0YV9wcmVzZW50X2ZsYWc6ICVkCgBsaXN0c19tb2RpZmljYXRpb25fcHJlc2VudF9mbGFnOiAlZAoAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbCAgICAgIDogJWQKAG51bV9leHRyYV9zbGljZV9oZWFkZXJfYml0cyAgICA6ICVkCgBzbGljZV9zZWdtZW50X2hlYWRlcl9leHRlbnNpb25fcHJlc2VudF9mbGFnIDogJWQKAHBwc19leHRlbnNpb25fZmxhZyAgICAgICAgICAgIDogJWQKAHBwc19yYW5nZV9leHRlbnNpb25fZmxhZyAgICAgIDogJWQKAHBwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHBwc19leHRlbnNpb25fNmJpdHMgICAgICAgICAgIDogJWQKAExvZzJNaW5DdVFwRGVsdGFTaXplICAgICAgICAgIDogJWQKAExvZzJNaW5DdUNocm9tYVFwT2Zmc2V0U2l6ZSAoUkV4dCkgOiAlZAoATG9nMk1heFRyYW5zZm9ybVNraXBTaXplICAgIChSRXh0KSA6ICVkCgAtLS0tLS0tLS0tIFBQUyByYW5nZS1leHRlbnNpb24gLS0tLS0tLS0tLQoAbG9nMl9tYXhfdHJhbnNmb3JtX3NraXBfYmxvY2tfc2l6ZSAgICAgIDogJWQKAGNyb3NzX2NvbXBvbmVudF9wcmVkaWN0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfZW5hYmxlZF9mbGFnICAgICAgOiAlZAoAZGlmZl9jdV9jaHJvbWFfcXBfb2Zmc2V0X2RlcHRoICAgICAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW4gICAgICAgICAgICAgICA6ICVkCgBjYl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAGNyX3FwX29mZnNldF9saXN0WyVkXSAgICAgICAgICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2x1bWEgICAgICAgICAgICAgIDogJWQKAGxvZzJfc2FvX29mZnNldF9zY2FsZV9jaHJvbWEgICAgICAgICAgICA6ICVkCgBJTkZPOiAAdGlsZVg+PTAgJiYgdGlsZVk+PTAALlxwcHMuY2MAc2V0X2Rlcml2ZWRfdmFsdWVzAHNjYWxpbmdfbGlzdF9wcmVkX21hdHJpeF9pZF9kZWx0YT09MQAuXHNwcy5jYwByZWFkX3NjYWxpbmdfbGlzdABmaWxsX3NjYWxpbmdfZmFjdG9yAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3cGljX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUALS0tLS0tLS0tLS0tLS0tLS0gU1BTIC0tLS0tLS0tLS0tLS0tLS0tCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICA6ICVkCgBzcHNfbWF4X3N1Yl9sYXllcnMgICAgICA6ICVkCgBzcHNfdGVtcG9yYWxfaWRfbmVzdGluZ19mbGFnIDogJWQKAHNlcV9wYXJhbWV0ZXJfc2V0X2lkICAgIDogJWQKADQ6NDo0AHVua25vd24AbW9ub2Nocm9tZQA0OjI6MAA0OjI6MgBjaHJvbWFfZm9ybWF0X2lkYyAgICAgICA6ICVkICglcykKAHNlcGFyYXRlX2NvbG91cl9wbGFuZV9mbGFnIDogJWQKAHBpY193aWR0aF9pbl9sdW1hX3NhbXBsZXMgIDogJWQKAHBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzIDogJWQKAGNvbmZvcm1hbmNlX3dpbmRvd19mbGFnICAgIDogJWQKAGNvbmZfd2luX2xlZnRfb2Zmc2V0ICA6ICVkCgBjb25mX3dpbl9yaWdodF9vZmZzZXQgOiAlZAoAY29uZl93aW5fdG9wX29mZnNldCAgIDogJWQKAGNvbmZfd2luX2JvdHRvbV9vZmZzZXQ6ICVkCgBiaXRfZGVwdGhfbHVtYSAgIDogJWQKAGJpdF9kZXB0aF9jaHJvbWEgOiAlZAoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2IgOiAlZAoAc3BzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBsb2cyX21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfZGlmZl9tYXhfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUgICA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRyYSA6ICVkCgBzY2FsaW5nX2xpc3RfZW5hYmxlX2ZsYWcgOiAlZAoATGF5ZXIgJWQKACAgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZyAgICAgIDogJWQKACAgc3BzX21heF9udW1fcmVvcmRlcl9waWNzICAgICAgIDogJWQKACAgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxIDogJWQKAHNwc19zY2FsaW5nX2xpc3RfZGF0YV9wcmVzZW50X2ZsYWcgOiAlZAoAc2NhbGluZyBsaXN0IGxvZ2dpbmcgb3V0cHV0IG5vdCBpbXBsZW1lbnRlZABhbXBfZW5hYmxlZF9mbGFnICAgICAgICAgICAgICAgICAgICA6ICVkCgBzYW1wbGVfYWRhcHRpdmVfb2Zmc2V0X2VuYWJsZWRfZmxhZyA6ICVkCgBwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgICAgICAgICA6ICVkCgBwY21fc2FtcGxlX2JpdF9kZXB0aF9sdW1hICAgICA6ICVkCgBwY21fc2FtcGxlX2JpdF9kZXB0aF9jaHJvbWEgICA6ICVkCgBsb2cyX21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBwY21fbG9vcF9maWx0ZXJfZGlzYWJsZV9mbGFnICA6ICVkCgBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMgOiAlZAoAbG9uZ190ZXJtX3JlZl9waWNzX3ByZXNlbnRfZmxhZyA6ICVkCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyA6ICVkCgBsdF9yZWZfcGljX3BvY19sc2Jfc3BzWyVkXSA6ICVkICAgKHVzZWRfYnlfY3Vycl9waWNfbHRfc3BzX2ZsYWc9JWQpCgBzcHNfdGVtcG9yYWxfbXZwX2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAHN0cm9uZ19pbnRyYV9zbW9vdGhpbmdfZW5hYmxlX2ZsYWcgOiAlZAoAdnVpX3BhcmFtZXRlcnNfcHJlc2VudF9mbGFnICAgICAgICA6ICVkCgBzcHNfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyAgICA6ICVkCgBzcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBzcHNfbXVsdGlsYXllcl9leHRlbnNpb25fZmxhZyA6ICVkCgBzcHNfZXh0ZW5zaW9uXzZiaXRzICAgICAgICAgICA6ICVkCgBDdGJTaXplWSAgICAgOiAlZAoATWluQ2JTaXplWSAgIDogJWQKAE1heENiU2l6ZVkgICA6ICVkCgBNaW5UQlNpemVZICAgOiAlZAoATWF4VEJTaXplWSAgIDogJWQKAFBpY1dpZHRoSW5DdGJzWSAgICAgICAgIDogJWQKAFBpY0hlaWdodEluQ3Ric1kgICAgICAgIDogJWQKAFN1YldpZHRoQyAgICAgICAgICAgICAgIDogJWQKAFN1YkhlaWdodEMgICAgICAgICAgICAgIDogJWQKAC0tLS0tLS0tLS0tLS0tLS0tIFZVSSAtLS0tLS0tLS0tLS0tLS0tLQoAc2FtcGxlIGFzcGVjdCByYXRpbyAgICAgICAgOiAlZDolZAoAb3ZlcnNjYW5faW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAdmlkZW9fc2lnbmFsX3R5cGVfcHJlc2VudF9mbGFnOiAlZAoAdW5zcGVjaWZpZWQATUFDAFNFQ0FNAE5UU0MAUEFMAGNvbXBvbmVudAAgIHZpZGVvX2Zvcm1hdCAgICAgICAgICAgICAgICA6ICVzCgAgIHZpZGVvX2Z1bGxfcmFuZ2VfZmxhZyAgICAgICA6ICVkCgAgIGNvbG91cl9kZXNjcmlwdGlvbl9wcmVzZW50X2ZsYWcgOiAlZAoAICBjb2xvdXJfcHJpbWFyaWVzICAgICAgICAgICAgOiAlZAoAICB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgICAgOiAlZAoAICBtYXRyaXhfY29lZmZzICAgICAgICAgICAgICAgOiAlZAoAY2hyb21hX2xvY19pbmZvX3ByZXNlbnRfZmxhZzogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV90b3BfZmllbGQgICA6ICVkCgAgIGNocm9tYV9zYW1wbGVfbG9jX3R5cGVfYm90dG9tX2ZpZWxkOiAlZAoAbmV1dHJhbF9jaHJvbWFfaW5kaWNhdGlvbl9mbGFnOiAlZAoAZmllbGRfc2VxX2ZsYWcgICAgICAgICAgICAgICAgOiAlZAoAZnJhbWVfZmllbGRfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAZGVmYXVsdF9kaXNwbGF5X3dpbmRvd19mbGFnICAgOiAlZAoAICBkZWZfZGlzcF93aW5fbGVmdF9vZmZzZXQgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fcmlnaHRfb2Zmc2V0ICAgOiAlZAoAICBkZWZfZGlzcF93aW5fdG9wX29mZnNldCAgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fYm90dG9tX29mZnNldCAgOiAlZAoAdnVpX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyAgOiAlZAoAICB2dWlfbnVtX3VuaXRzX2luX3RpY2sgICAgICAgOiAlZAoAICB2dWlfdGltZV9zY2FsZSAgICAgICAgICAgICAgOiAlZAoAdnVpX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgOiAlZAoAdnVpX251bV90aWNrc19wb2NfZGlmZl9vbmUgICAgICAgICAgOiAlZAoAdnVpX2hyZF9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyA6ICVkCgBiaXRzdHJlYW1fcmVzdHJpY3Rpb25fZmxhZyAgICAgICAgIDogJWQKACAgdGlsZXNfZml4ZWRfc3RydWN0dXJlX2ZsYWcgICAgICAgOiAlZAoAICBtb3Rpb25fdmVjdG9yc19vdmVyX3BpY19ib3VuZGFyaWVzX2ZsYWcgOiAlZAoAICByZXN0cmljdGVkX3JlZl9waWNfbGlzdHNfZmxhZyAgICA6ICVkCgAgIG1pbl9zcGF0aWFsX3NlZ21lbnRhdGlvbl9pZGMgICAgIDogJWQKACAgbWF4X2J5dGVzX3Blcl9waWNfZGVub20gICAgICAgICAgOiAlZAoAICBtYXhfYml0c19wZXJfbWluX2N1X2Rlbm9tICAgICAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF9ob3Jpem9udGFsICAgIDogJWQKACAgbG9nMl9tYXhfbXZfbGVuZ3RoX3ZlcnRpY2FsICAgICAgOiAlZAoALS0tLS0tLS0tLS0tLS0tLS0gU1BTLXJhbmdlLWV4dGVuc2lvbiAtLS0tLS0tLS0tLS0tLS0tLQoAdHJhbnNmb3JtX3NraXBfcm90YXRpb25fZW5hYmxlZF9mbGFnICAgIDogJWQKAHRyYW5zZm9ybV9za2lwX2NvbnRleHRfZW5hYmxlZF9mbGFnICAgICA6ICVkCgBpbXBsaWNpdF9yZHBjbV9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgOiAlZAoAZXhwbGljaXRfcmRwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgIDogJWQKAGV4dGVuZGVkX3ByZWNpc2lvbl9wcm9jZXNzaW5nX2ZsYWcgICAgICA6ICVkCgBpbnRyYV9zbW9vdGhpbmdfZGlzYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAaGlnaF9wcmVjaXNpb25fb2Zmc2V0c19lbmFibGVkX2ZsYWcgICAgIDogJWQKAHBlcnNpc3RlbnRfcmljZV9hZGFwdGF0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBjYWJhY19ieXBhc3NfYWxpZ25tZW50X2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAKiVkJWMgAColcwoAICBQcm9maWxlL1RpZXIvTGV2ZWwgW0xheWVyICVkXQoAZ2VuZXJhbABzdWJfbGF5ZXIAICAlc19wcm9maWxlX3NwYWNlICAgICA6ICVkCgAgICVzX3RpZXJfZmxhZyAgICAgICAgIDogJWQKACh1bmtub3duKQBGb3JtYXRSYW5nZUV4dGVuc2lvbnMATWFpblN0aWxsUGljdHVyZQBNYWluMTAATWFpbgAgICVzX3Byb2ZpbGVfaWRjICAgICAgIDogJXMKACAgJXNfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdzOiAAKgoAICAgICVzX3Byb2dyZXNzaXZlX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19pbnRlcmxhY2VkX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19ub25fcGFja2VkX2NvbnN0cmFpbnRfZmxhZyA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAKiwAKiVkACAgJXNfbGV2ZWxfaWRjICAgICAgICAgOiAlZCAoJTQuMmYpCgByZWY8NwBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludGVyKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAFNQUyBlcnJvcjogdHJhbnNmb3JtIGhpZXJhcmNoeSBkZXB0aCAoaW50cmEpID4gQ1RCIHNpemUgLSBtaW4gVEIgc2l6ZQoAU1BTIGVycm9yOiBDQiBhbGlnbm1lbnQKAFNQUyBlcnJvcjogVEIgPiBDQgoAU1BTIGVycm9yOiBUQl9tYXggPiAzMiBvciBDVEIKAFNQUyBlcnJvcjogYml0ZGVwdGggWSBub3QgaW4gWzg7MTZdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIEMgbm90IGluIFs4OzE2XQoAUklkeD49MAAuXHJlZnBpYy5jYwByZWFkX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXQAUklkeCA+PSAwICYmIFJJZHggPCBzZXRzLnNpemUoKQBqPj0wICYmIGogPCBNQVhfTlVNX1JFRl9QSUNTAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3c2VxX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUALS0tLS0tLS0tLS0tLS0tLS0gVlBTIC0tLS0tLS0tLS0tLS0tLS0tCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICAgICAgIDogJWQKAHZwc19tYXhfbGF5ZXJzICAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAdnBzX21heF9zdWJfbGF5ZXJzICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfdGVtcG9yYWxfaWRfbmVzdGluZ19mbGFnICAgICAgICAgIDogJWQKAHZwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAbGF5ZXIgJWQ6IHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgPSAlZAoAICAgICAgICAgdnBzX21heF9udW1fcmVvcmRlcl9waWNzICA9ICVkCgAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAGxheWVyIChhbGwpOiB2cHNfbWF4X2RlY19waWNfYnVmZmVyaW5nID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAHZwc19tYXhfbGF5ZXJfaWQgICA9ICVkCgB2cHNfbnVtX2xheWVyX3NldHMgPSAlZAoAdnBzX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyA9ICVkCgBsYXllcl9pZF9pbmNsdWRlZF9mbGFnWyVkXVslZF0gPSAlZAoAdnBzX251bV91bml0c19pbl90aWNrID0gJWQKAHZwc190aW1lX3NjYWxlICAgICAgICA9ICVkCgB2cHNfcG9jX3Byb3BvcnRpb25hbF90b190aW1pbmdfZmxhZyA9ICVkCgB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZSA9ICVkCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICAgICA9ICVkCgBocmRfbGF5ZXJfc2V0X2lkeFslZF0gPSAlZAoAdnBzX2V4dGVuc2lvbl9mbGFnID0gJWQKAGZpcnN0TGF5ZXJSZWFkIDwgTUFYX1RFTVBPUkFMX1NVQkxBWUVSUwAuXHZwcy5jYwByZWFkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTl2aWRlb19wYXJhbWV0ZXJfc2V0TlNfOWFsbG9jYXRvcklTMV9FRUVFAHByb2Nlc3Nfc2xpY2Vfc2VnbWVudF9oZWFkZXIAaGRyLT5udW1fcmVmX2lkeF9sMF9hY3RpdmUgPD0gMTYAY29uc3RydWN0X3JlZmVyZW5jZV9waWN0dXJlX2xpc3RzAGhkci0+bnVtX3JlZl9pZHhfbDFfYWN0aXZlIDw9IDE2AGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQBnZW5lcmF0ZV91bmF2YWlsYWJsZV9yZWZlcmVuY2VfcGljdHVyZQBpZHg+PTAAMABuZXdfaW1hZ2UAcHBzLT5wcHNfcmVhZABkdW1wX3NsaWNlX3NlZ21lbnRfaGVhZGVyAHNwcy0+c3BzX3JlYWQALS0tLS0tLS0tLS0tLS0tLS0gU0xJQ0UgLS0tLS0tLS0tLS0tLS0tLS0KAGZpcnN0X3NsaWNlX3NlZ21lbnRfaW5fcGljX2ZsYWcgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBzbGljZV9zZWdtZW50X2FkZHJlc3MgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfcGljX29yZGVyX2NudF9sc2IgICAgICAgICAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgByZWZfcGljX3NldFsgJTJkIF06IABzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9zcHMgICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBudW1fbG9uZ190ZXJtX3BpY3MgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAc2xpY2Vfc2FvX2x1bWFfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAG51bV9yZWZfaWR4X2FjdGl2ZV9vdmVycmlkZV9mbGFnIDogJWQKAChmcm9tIFBQUykAbnVtX3JlZl9pZHhfbDBfYWN0aXZlICAgICAgICAgIDogJWQgJXMKAG51bV9yZWZfaWR4X2wxX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoAICAlZDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAY2FiYWNfaW5pdF9mbGFnICAgICAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBjb2xsb2NhdGVkX3JlZl9pZHggICAgICAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBMdW1hV2VpZ2h0X0wlZFslZF0gICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAENocm9tYVdlaWdodF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAQ2hyb21hT2Zmc2V0X0wlZFslZF1bJWRdICAgICAgICA6ICVkCgBmaXZlX21pbnVzX21heF9udW1fbWVyZ2VfY2FuZCAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBzbGljZV9jYl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NyX3FwX29mZnNldCAgICAgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgAoZnJvbSBwcHMpAChvdmVycmlkZSkAc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyA6ICVkICVzCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAc2xpY2VfdGNfb2Zmc2V0ICAgIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAGVudHJ5IHBvaW50IFslaV0gOiAlZAoAcHBzAHJlYWRfcHJlZF93ZWlnaHRfdGFibGUAc3BzAHBlbmRpbmdfaW5wdXRfTkFMID09IE5VTEwALlxuYWwtcGFyc2VyLmNjAHB1c2hfTkFMAC5cZGUyNjUuY2MAY2hhbm5lbD49MCAmJiBjaGFubmVsIDw9IDIAZGUyNjVfZ2V0X2ltYWdlX3BsYW5lAGcgYSAgIG8gciBlIG4gICB0IGggZyBpIHIgeSBwIG8gY05vIGVycm9yAEdhaW4gY29udHJvbCBub3QgeWV0IGltcGxlbWVudGVkAFB1bHNlIGNvZGluZyBub3QgYWxsb3dlZCBpbiBzaG9ydCBibG9ja3MASW52YWxpZCBodWZmbWFuIGNvZGVib29rAFNjYWxlZmFjdG9yIG91dCBvZiByYW5nZQBVbmFibGUgdG8gZmluZCBBRFRTIHN5bmN3b3JkAENoYW5uZWwgY291cGxpbmcgbm90IHlldCBpbXBsZW1lbnRlZABDaGFubmVsIGNvbmZpZ3VyYXRpb24gbm90IGFsbG93ZWQgaW4gZXJyb3IgcmVzaWxpZW50IGZyYW1lAEJpdCBlcnJvciBpbiBlcnJvciByZXNpbGllbnQgc2NhbGVmYWN0b3IgZGVjb2RpbmcARXJyb3IgZGVjb2RpbmcgaHVmZm1hbiBzY2FsZWZhY3RvciAoYml0c3RyZWFtIGVycm9yKQBFcnJvciBkZWNvZGluZyBodWZmbWFuIGNvZGV3b3JkIChiaXRzdHJlYW0gZXJyb3IpAE5vbiBleGlzdGVudCBodWZmbWFuIGNvZGVib29rIG51bWJlciBmb3VuZABJbnZhbGlkIG51bWJlciBvZiBjaGFubmVscwBNYXhpbXVtIG51bWJlciBvZiBiaXRzdHJlYW0gZWxlbWVudHMgZXhjZWVkZWQASW5wdXQgZGF0YSBidWZmZXIgdG9vIHNtYWxsAEFycmF5IGluZGV4IG91dCBvZiByYW5nZQBNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZABRdWFudGlzZWQgdmFsdWUgb3V0IG9mIHJhbmdlAExUUCBsYWcgb3V0IG9mIHJhbmdlAEludmFsaWQgU0JSIHBhcmFtZXRlciBkZWNvZGVkAFNCUiBjYWxsZWQgd2l0aG91dCBiZWluZyBpbml0aWFsaXNlZABVbmV4cGVjdGVkIGNoYW5uZWwgY29uZmlndXJhdGlvbiBjaGFuZ2UARXJyb3IgaW4gcHJvZ3JhbV9jb25maWdfZWxlbWVudABGaXJzdCBTQlIgZnJhbWUgaXMgbm90IHRoZSBzYW1lIGFzIGZpcnN0IEFBQyBmcmFtZQBVbmV4cGVjdGVkIGZpbGwgZWxlbWVudCB3aXRoIFNCUiBkYXRhAE5vdCBhbGwgZWxlbWVudHMgd2VyZSBwcm92aWRlZCB3aXRoIFNCUiBkYXRhAExUUCBkZWNvZGluZyBub3QgYXZhaWxhYmxlAE91dHB1dCBkYXRhIGJ1ZmZlciB0b28gc21hbGwAQ1JDIGVycm9yIGluIERSTSBkYXRhAFBOUyBub3QgYWxsb3dlZCBpbiBEUk0gZGF0YSBzdHJlYW0ATm8gc3RhbmRhcmQgZXh0ZW5zaW9uIHBheWxvYWQgYWxsb3dlZCBpbiBEUk0AUENFIHNoYWxsIGJlIHRoZSBmaXJzdCBlbGVtZW50IGluIGEgZnJhbWUAQml0c3RyZWFtIHZhbHVlIG5vdCBhbGxvd2VkIGJ5IHNwZWNpZmljYXRpb24ATUFJTiBwcmVkaWN0aW9uIG5vdCBpbml0aWFsaXNlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgADAAQABQAGAAcACAAJAg0CEQIVAhkCHQIhBDEGAAAAAAAAAAABAAEAAgADAAQABQAGAAcACAAJAQsBDQEPAREBEwEVARcBGQEbAR0BHwEhAiUCKQItAzUDPQNFBAAAAAABAAEAAgACAAMAAwAEAAQABQAFAAYABgAHAAcACAAIAAkACQAKAAsADAANAA4ADwAQAhQCGAMgAygEOAcAAAAAAQABAAIAAgADAAMABAAEAAUABQAGAAYABwAHAAgACAAJAQsBDQEPAREBEwEVARcBGQIdAiECJQMtBD0GAAAAAAAAAAABAAEAAgACAAMAAwAEAAQABQAFAAYABwAIAAkACgALAAwADQEPAREBEwEVARcCGwIfAiMDKwMzBQAAAAAAAAAAAQABAAEAAQACAAIAAgACAAMAAwAEAAQABQAFAAYABgAHAAcACAAIAAkACQAKAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkBGwEdAR8BIQEjASUBJwEpAi0CMQI1AjkCPQJBA0kDUQNZA2EEcQSBBJEGAAAAAAEAAQACAAMABAAFAAYABwAIAQoBDAEOAhICFgIaAh4DJgMuAzYDPgNGA04DVgRmBHYEhgSWBbYF1gX2BwEAAAAABQEAAAAF/wAAAAUAAAD/BQABAAAFAAAAAQUAAP8ABQAAAQAFAP8AAAcB/wAAB/8BAAAHAAD/AQcAAf8ABwD/AQAHAAAB/wcBAQAABwAA//8H//8AAAcA//8ABwEA/wAHAAEA/wf/AAEABwAAAQEHAQABAAcA/wABBwABAQAHAAEAAQf/AP8ABwEAAAEH/wAA/wcBAAD/B/8AAAEHAP8A/wkBAf8ACf8B/wAJAf8BAAkAAQH/CQAB/wEJAP8BAQkA/wH/CQH//wAJAQD/AQkAAf//Cf8BAQAJ/wAB/wn//wEACQD//wEJAf8AAQkB/wD/Cf8BAP8J/wEA/wn/AQD/Cf8BAP8J////AAn///8ACf///wAJ////AAkA////CQD///8JAP///wkA////CQABAQEJAAEBAQkAAQEBCQABAQEJAQAB/wkBAAH/CQEAAf8JAQAB/wkBAQABCQEBAAEJAQEAAQkBAQABCf8BAAEJ/wEAAQn/AQABCf8BAAEJAQEBAAkBAQEACQEBAQAJAQEBAAr//wABCv//AAEK/wD//wr/AP//CgEBAP8KAQEA/woBAP//CgEA//8K/wD/AQr/AP8BCv//AP8K//8A/wr/AAEBCv8AAQEKAQABAQoBAAEBCwH/Af8L/wH/AQv/AQH/CwH//wELAQEBAQv//wEBCwEB//8L//8B/wv/////CwEB/wELAf8BAQv/AQEBC/8B//8L////AQsB////CwEBAf8DAAAAAAQBAAAABf8AAAAFAAAAAQUAAP8ABQAAAP8FAP8AAAUAAAEABQABAAAGAP8BAAb/AQAABgAB/wAGAAAB/wYAAQD/BgAA/wEG/wAA/wYB/wAABgEA/wAG//8AAAYAAP//BgEAAQAGAQAAAQYA/wABBv8AAQAGAAEAAQYA//8ABv8AAAEGAP8A/wb/AP8ABgEBAAAGAAEBAAYAAAEBBgEAAP8HAAH/AQcBAP8BB/8B/wAHAP8B/wcB/wEABwEBAP8HAQABAQf/AQEABwD//wEHAQEBAAf/AAH/B////wAH/wD/AQf/AP8BBwH//wAHAf//AAcBAf8ABwEB/wAIAf8AAQj/AQD/CP//AQAI/wABAQj//wABCP//AP8IAP///wgBAAH/CAEA//8IAAH//wgAAQEBCP8BAAEI/wD//wgAAQH/CAH/AP8IAP8BAQgBAQABCAH/Af8I/wH/AQj/Af8BCQH//wEJ/////wn/AQH/Cf8BAQEJAQEBAQn//wH/CQH/AQEJ/wH//wn//wEBCQEB//8JAf///wn///8BCQEB/wEJAQEB/wQBAQEBBAABAQEEAQEAAQQBAQEABAEAAQEEAQAAAAQBAQAABAAAAAAEAAABAQQBAAEABQEAAAEFAAEBAAUAAAABBQABAAEFAAABAAUAAQAABwIBAQEHAQECAQcBAgEBBwEBAQIHAgEBAAcCAQABBwECAQAHAgABAQcAAQIBBwABAgEIAAEBAggBAQIACAACAQEIAQABAggBAgABCAEBAAIIAQACAQgCAQAACAIAAQAIAQIAAAgCAAABCAABAAIIAAIBAAgAAAECCAABAgAIAAECAAgAAgABCAACAAEIAQAAAggBAAACCAAAAgEIAAACAQgBAAIACAEAAgAIAgAAAAgCAAAACAAAAAIIAAAAAgkAAgAACQAAAgAJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQECAgEJAQICAQkBAgIBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAgEBCQICAQEJAgIBAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAgECAQkCAQIBCQIBAgEJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQEBAgIJAQECAgkBAQICCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkBAgECCQECAQIJAQIBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIJAgEBAgkCAQECCQIBAQIKAQICAAoBAgIACgECAgAKAQICAAoCAgEACgICAQAKAgIBAAoCAgEACgIBAgAKAgECAAoCAQIACgIBAgAKAAICAQoAAgIBCgACAgEKAAICAQoAAQICCgABAgIKAAECAgoAAQICCgICAAEKAgIAAQoCAgABCgICAAEKAAIBAgoAAgECCgACAQIKAAIBAgoCAAIBCgIAAgEKAgACAQoCAAIBCgEAAgIKAQACAgoBAAICCgEAAgIKAgICAQoCAgIBCgICAgEKAgICAQoBAgACCgECAAIKAQIAAgoBAgACCgIAAQIKAgABAgoCAAECCgIAAQIKAgEAAgoCAQACCgIBAAIKAgEAAgoBAgICCgECAgIKAQICAgoBAgICCwIBAgILAgECAgsCAgECCwICAQILAAICAAsAAgIACwICAAALAgIAAAsAAAICCwAAAgILAgACAAsCAAIACwACAAILAAIAAgsCAAACCwIAAAILAgICAgsCAgICCwACAgILAAICAgsCAgIACwICAgAMAgIAAgwCAAICBAAABAEABAD/BAABBP8ABAEBBP8BBAH/BP//BgL/BgIBBv4BBv7/Bv4ABv8CBgIABgH+BgECBgD+Bv/+BgACBgL+Bv4CBv7+BgICB/0BBwMBBwP/B/8DB/3/BwEDBwH9B//9BwMAB/0ABwD9BwADBwMCBwMCCP3+CP4DCAIDCAP+CAL9CP79CP0CCP0CCAMDCAMDCQP9Cf39Cf0DCQH8Cf/8CQQBCfwBCfz/CQEECQT/Cf8ECQD8CfwCCfwCCfwCCfwCCfz+Cfz+Cfz+Cfz+CQIECQIECQIECQIECf78Cf78Cf78Cf78CfwACfwACfwACfwACQQCCQQCCQQCCQQCCQT+CQT+CQT+CQT+Cf4ECf4ECf4ECf4ECQQACQQACQQACQQACQL8CQL8CQL8CQL8CQAECQAECQAECQAECv38Cv38Cv0ECv0ECgP8CgP8CgT9CgT9CgMECgMECgQDCgQDCvwDCvwDCvz9Cvz9CwQEC/wEC/z8CwT8AwEBBAIBBAEABAECBAABBAICBQAABQIABQACBQMBBQEDBQMCBQIDBgMDBgQBBgEEBgQCBgIEBgMABgADBgQDBgMEBgUCBwUBBwIFBwEFBwUDBwMFBwQEBwUEBwAEBwQFBwQABwIGBwYCBwYBBwYBBwEGBwEGCAMGCAYDCAUFCAUACAYECAAFCAQGCAcBCAcCCAIHCAYFCAcDCAEHCAEHCAEHCAEHCAUGCAUGCAUGCAUGCAMHCAMHCAMHCAMHCQYGCQYGCQcECQcECQYACQYACQQHCQQHCQAGCQAGCQcFCQcFCQcGCQcGCQYHCQYHCgUHCgcACgAHCgcHBAEBBAECBAIBBQICBQEABQABBQEDBQMCBQMBBQIDBQMDBgIABgACBgIEBgQCBgEEBgQBBgAABgQDBgMEBgMABgADBgQEBgIFBgUCBwEFBwUBBwUDBwMFBwUEBwQFBwYCBwIGBwYDBwQABwYBBwAEBwEGBwMGBwUFBwYEBwQGBwQGCAYFCAcCCAMHCAIHCAUGCAgCCAcDCAUACAcBCAAFCAgBCAEHCAgDCAcECAQHCAIICAYGCAcFCAEICAMICAgECAQICAUHCAUHCAgFCAgFCAUICAUICQcGCQYHCQkCCQYACQYICQkDCQMJCQkBCQIJCQAGCQgGCQkECQQJCQoCCQEJCQcHCQgHCQkFCQcICQoDCQUJCQoECQIKCQoBCQMKCQkGCQYJCQYJCQgACQgACQQKCQQKCQcACQcACQsCCQsCCgcJCgsDCgoGCgEKCgsBCgkHCgAHCggICgoFCgMLCgUKCggJCgsFCgAICgsECgILCgcKCgYKCgoHCgQLCgELCgwCCgkICgwDCgsGCgULCgwECgsHCgwFCgMMCgYLCgkACgoICgoACgwBCgAJCgQMCgkJCgwGCgwGCgwGCgwGCgIMCgIMCgIMCgIMCggKCggKCggKCggKCwkKCwkKCwEMCwEMCwsICwsICwwHCwwHCwcLCwcLCwUMCwUMCwYMCwYMCwoJCwoJCwgLCwgLCwwICwwICwAKCwAKCwcMCwcMCwsACwsACwoKCwoKCwsJCwsJCwsKCwsKCwALCwALCwsLCwsLCwkLCwkLCwoLCwoLCwwACwwACwgMCwgMDAwJDAoMDAkMDAsMDAwLDAAMDAwKDAwMBAAABAEBBRAQBQEABQABBQIBBQECBQICBgEDBgMBBgMCBgIABgIDBgACBgMDBgMDBwQBBwEEBwQCBwIEBwQDBwMEBwMABwADBwUBBwUCBwIFBwQEBwEFBwUDBwMFBwMFBwUEBwUECAQFCAYCCAIGCAYBCAYDCAMGCAEGCAQQCAMQCBAFCBADCBAECAYECBAGCAQACAQGCAAECAIQCAUFCAUQCBAHCBACCBAICAIHCAcCCAMHCAYFCAUGCAYQCBAKCAcDCAcBCBAJCAcQCAEQCAEHCAQHCBALCAcECBAMCAgQCBABCAYGCAkQCAIICAUHCAoQCBANCAgDCAgCCAMICAUACBAOCBAOCAsQCAsQCAcFCAcFCAQICAQICAYHCAYHCAcGCAcGCAAFCAAFCQgECRAPCQwQCQEICQgBCQ4QCQUICQ0QCQMJCQgFCQcHCQIJCQgGCQkCCQkDCQ8QCQQJCQYICQYACQkECQUJCQgHCQcICQEJCQoDCQAGCQoCCQkBCQkFCQQKCQIKCQkGCQMKCQYJCQoECQgICQoFCQkHCQsDCQEKCQcACQoGCQcJCQMLCQUKCQoBCQQLCQsCCQ0CCQYKCQ0DCQ0DCQILCQILCRAACRAACQULCQULCQsFCQsFCgsECgkICgcKCggJCgAQCgQNCgAHCgMNCgsGCg0BCg0ECgwDCgINCg0FCggKCgYLCgoICgoHCg4CCgwECgELCgQMCgsBCgMMCgENCgwCCgcLCgMOCgUMCgUNCg4ECgQOCgsHCg4DCgwFCg0GCgwGCggACgsICgIMCgkJCg4FCgYNCgoKCg8CCggLCgkKCg4GCgoJCgUOCgsJCg4BCgIOCgYMCgEMCg0ICgAICg0HCgcMCgwHCgcNCg8DCgwBCgYOCgIPCg8FCg8ECgEOCgkLCgQPCg4HCggNCg0JCggMCgUPCgMPCgoLCgsKCgwICg8GCg8HCggOCg8BCgcOCgkACgAJCgkNCgkNCgkNCgkNCgkMCgkMCgkMCgkMCgwJCgwJCgwJCgwJCg4ICg4ICg4ICg4ICgoNCgoNCgoNCgoNCg4JCg4JCg4JCg4JCgwKCgwKCgwKCgwKCgYPCgYPCgYPCgYPCgcPCgcPCgcPCgcPCwkOCwkOCw8ICw8ICwsLCwsLCwsOCwsOCwEPCwEPCwoMCwoMCwoOCwoOCw0LCw0LCw0KCw0KCwsNCwsNCwsMCwsMCwgPCwgPCw4LCw4LCw0MCw0MCwwNCwwNCw8JCw8JCw4KCw4KCwoACwoACwwLCwwLCwkPCwkPCwAKCwAKCwwMCwwMCwsACwsACwwOCwwOCwoPCwoPCw0NCw0NCwANCwANCw4MCw4MCw8KCw8KCw8LCw8LCwsPCwsPCw4NCw4NCw0ACw0ACwALCwALCw0OCw0OCw8MCw8MCw8NCw8NCwwPCwwPCw4ACw4ACw4OCw4OCw0PCw0PCwwACwwACw4PCw4PDAAODAAMDA8ODA8ADAAPDA8PAAECAQAAAAECAAIDAAMEAAQFAAUGAAYHAAcIAf8AAQEAAQABAQD/AAQFAAUGAAYHAAcIAQH/Af8BAf//AQEBAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAf4AAQACAQIAAQD+AAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf7/AQIBAf/+AQECAf4BAQL/Af8CAQH+Af0AAQMAAQD9AQADAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf3/AQEDAQMBAf/9Af0BAQP/AQH9Af8DAf4CAQICAf7+AQL+AAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAf3+AQP+Af4DAQL9AQMCAQIDAf0CAf79AQD8AfwAAQQBAQQAAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAfz/AQAEAQT/Af/8AQEEAf8EAfwBAQH8AQP9Af39Af0DAf4EAfz+AQQCAQL8AQIEAQMDAfwCAAYHAAcIAAgJAAkKAAoLAAsMAf78AQT+AQP8Afz9AfwDAQMEAf0EAQQDAQT9Af38AAIDAAMEAQT8AfwEAQQEAfz8AAECAQAAAAECAAIDAAMEAQEAAQABAAIDAAMEAQEBAAMEAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAQIBAQECAQIAAQACAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAQMBAQEDAQICAQMAAQADAAsMAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWAQIDAQMCAQEEAQQBAQEFAQUBAQMDAQIEAQAEAQQAAAwNAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYAQQCAQIFAQUCAQAFAQYBAQUAAQEGAQQDAQMFAQMEAQUDAQIGAQYCAQEHAAoLAAsMAAwNAA0OAA4PAA8QABARABESABITABMUAQMGAQAGAQYAAQQEAQcBAQQFAQcCAQUEAQYDAQIHAQcDAQYEAQUFAQQGAQMHAAUGAAYHAAcIAAgJAAkKAQcAAQAHAQYFAQUGAQcEAQQHAQUHAQcFAAIDAAMEAQcGAQYGAQYHAQcHAAECAQAAAAECAAIDAAMEAQEAAQABAAIDAAMEAQEBAAMEAAQFAAUGAAYHAAcIAAgJAAkKAAoLAAsMAQIBAQECAQIAAQACAAgJAAkKAAoLAAsMAAwNAA0OAA4PAA8QAQMBAQICAQEDAA0OAA4PAA8QABARABESABITABMUABQVABUWABYXABcYABgZABkaAQMAAQADAQIDAQMCAQEEAQQBAQIEAQEFABITABMUABQVABUWABYXABcYABgZABkaABobABscABwdAB0eAB4fAB8gACAhACEiACIjACMkAQQCAQMD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DxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eWgAVABMAAwABAAIAAAAXGBgZGRoaGxscHB0dHh4fHyAgISEiIiMjJCQlJSYmJycoKCkpKiorKywsLS0uYgBjAGQAZQBmAHUAYQBbAFwAXQBeAF8AYABoAG8AcABxAHIAcwB0AG4AaQBqAGsAbABtAHYABgAIAAkACgAFAGcAeAB3AAQABwAPABAAEgAUABEACwAMAA4ADQAAAAAkJCUfHwAAAAAAAAAjIyUeHgAAAAApKS8xMTMvLysrKygoKC0xMTEuLioqKigMDAwODg4PDw8PDw8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwUGBwgJCgsNDxETFRgbHiElKUAGBwABAgMJCAoLAwQFBgcICQsOEhcjQHZvaWQAYm9vbABjaGFyAHNpZ25lZCBjaGFyAHVuc2lnbmVkIGNoYXIAc2hvcnQAdW5zaWduZWQgc2hvcnQAaW50AHVuc2lnbmVkIGludABsb25nAHVuc2lnbmVkIGxvbmcAZmxvYXQAZG91YmxlAHN0ZDo6c3RyaW5nAHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AHN0ZDo6d3N0cmluZwBlbXNjcmlwdGVuOjp2YWwAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nIGRvdWJsZT4ATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lmRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAAAECBAcDBgUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4ALgBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQB2AERuAGIAYwBoAGEAcwB0AGkAagBtAGYAZABOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=169744;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(1);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var ENV={};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 _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;this.contextGL.viewport(0,0,this.canvasElement.width,this.canvasElement.height);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_join(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}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":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___lock,"z":___map_file,"A":___resumeException,"B":___setErrNo,"C":___syscall140,"D":___syscall145,"E":___syscall146,"F":___syscall54,"G":___syscall6,"H":___syscall91,"I":___unlock,"J":__addDays,"K":__arraySum,"L":__embind_create_inheriting_constructor,"M":__embind_register_bool,"N":__embind_register_class,"O":__embind_register_class_class_function,"P":__embind_register_class_function,"Q":__embind_register_class_property,"R":__embind_register_emval,"S":__embind_register_float,"T":__embind_register_integer,"U":__embind_register_memory_view,"V":__embind_register_std_string,"W":__embind_register_std_wstring,"X":__embind_register_void,"Y":__emscripten_traverse_stack,"Z":__emval_addMethodCaller,"_":__emval_allocateDestructors,"$":__emval_as,"aa":__emval_call,"ab":__emval_call_method,"ac":__emval_call_void_method,"ad":__emval_decref,"ae":__emval_get_global,"af":__emval_get_method_caller,"ag":__emval_get_property,"ah":__emval_incref,"ai":__emval_lookupTypes,"aj":__emval_new,"ak":__emval_new_cstring,"al":__emval_new_object,"am":__emval_register,"an":__emval_run_destructors,"ao":__emval_set_property,"ap":__emval_take_value,"aq":__formatString,"ar":__isLeapYear,"as":__reallyNegative,"at":_abort,"au":_clock,"av":_embind_repr,"aw":_emscripten_get_callstack_js,"ax":_emscripten_get_heap_size,"ay":_emscripten_log,"az":_emscripten_log_js,"aA":_emscripten_memcpy_big,"aB":_emscripten_resize_heap,"aC":_getenv,"aD":_init,"aE":_llvm_exp2_f32,"aF":_llvm_exp2_f64,"aG":_llvm_stackrestore,"aH":_llvm_stacksave,"aI":_llvm_trap,"aJ":_pthread_cond_destroy,"aK":_pthread_cond_init,"aL":_pthread_cond_signal,"aM":_pthread_cond_wait,"aN":_pthread_join,"aO":_strftime,"aP":_strftime_l,"aQ":abortOnCannotGrowMemory,"aR":constNoSmartPtrRawPointerToWireType,"aS":count_emval_handles,"aT":craftEmvalAllocator,"aU":craftInvokerFunction,"aV":createNamedFunction,"aW":downcastPointer,"aX":embind__requireFunction,"aY":embind_init_charCodes,"aZ":emval_get_global,"a_":ensureOverloadTable,"a$":exposePublicSymbol,"ba":extendError,"bb":floatReadValueFromPointer,"bc":flushPendingDeletes,"bd":genericPointerToWireType,"be":getBasestPointer,"bf":getInheritedInstance,"bg":getInheritedInstanceCount,"bh":getLiveInheritedInstances,"bi":getShiftFromSize,"bj":getStringOrSymbol,"bk":getTypeName,"bl":get_first_emval,"bm":heap32VectorToArray,"bn":init_ClassHandle,"bo":init_RegisteredPointer,"bp":init_embind,"bq":init_emval,"br":integerReadValueFromPointer,"bs":makeClassHandle,"bt":makeLegalFunctionName,"bu":new_,"bv":nonConstNoSmartPtrRawPointerToWireType,"bw":readLatin1String,"bx":registerInheritedInstance,"by":registerType,"bz":replacePublicSymbol,"bA":requireHandle,"bB":requireRegisteredType,"bC":runDestructor,"bD":runDestructors,"bE":setDelayFunction,"bF":shallowCopyInternalPointer,"bG":simpleReadValueFromPointer,"bH":throwBindingError,"bI":throwInstanceAlreadyDeleted,"bJ":throwInternalError,"bK":throwUnboundTypeError,"bL":unregisterInheritedInstance,"bM":upcastPointer,"bN":validateThis,"bO":whenDependentTypesAreResolved,"bP":tempDoublePtr,"bQ":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bP|0,i=env.bQ|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.sqrt,v=global.Math.pow,w=global.Math.cos,x=global.Math.sin,y=global.Math.log,z=global.Math.imul,A=global.Math.clz32,B=env.a,C=env.b,D=env.c,E=env.d,F=env.e,G=env.f,H=env.g,I=env.h,J=env.i,K=env.j,L=env.k,M=env.l,N=env.m,O=env.n,P=env.o,Q=env.p,R=env.q,S=env.r,T=env.s,U=env.t,V=env.u,W=env.v,X=env.w,Y=env.x,Z=env.y,_=env.z,$=env.A,aa=env.B,ba=env.C,ca=env.D,da=env.E,ea=env.F,fa=env.G,ga=env.H,ha=env.I,ia=env.J,ja=env.K,ka=env.L,la=env.M,ma=env.N,na=env.O,oa=env.P,pa=env.Q,qa=env.R,ra=env.S,sa=env.T,ta=env.U,ua=env.V,va=env.W,wa=env.X,xa=env.Y,ya=env.Z,za=env._,Aa=env.$,Ba=env.aa,Ca=env.ab,Da=env.ac,Ea=env.ad,Fa=env.ae,Ga=env.af,Ha=env.ag,Ia=env.ah,Ja=env.ai,Ka=env.aj,La=env.ak,Ma=env.al,Na=env.am,Oa=env.an,Pa=env.ao,Qa=env.ap,Ra=env.aq,Sa=env.ar,Ta=env.as,Ua=env.at,Va=env.au,Wa=env.av,Xa=env.aw,Ya=env.ax,Za=env.ay,_a=env.az,$a=env.aA,ab=env.aB,bb=env.aC,cb=env.aD,db=env.aE,eb=env.aF,fb=env.aG,gb=env.aH,hb=env.aI,ib=env.aJ,jb=env.aK,kb=env.aL,lb=env.aM,mb=env.aN,nb=env.aO,ob=env.aP,pb=env.aQ,qb=env.aR,rb=env.aS,sb=env.aT,tb=env.aU,ub=env.aV,vb=env.aW,wb=env.aX,xb=env.aY,yb=env.aZ,zb=env.a_,Ab=env.a$,Bb=env.ba,Cb=env.bb,Db=env.bc,Eb=env.bd,Fb=env.be,Gb=env.bf,Hb=env.bg,Ib=env.bh,Jb=env.bi,Kb=env.bj,Lb=env.bk,Mb=env.bl,Nb=env.bm,Ob=env.bn,Pb=env.bo,Qb=env.bp,Rb=env.bq,Sb=env.br,Tb=env.bs,Ub=env.bt,Vb=env.bu,Wb=env.bv,Xb=env.bw,Yb=env.bx,Zb=env.by,_b=env.bz,$b=env.bA,ac=env.bB,bc=env.bC,cc=env.bD,dc=env.bE,ec=env.bF,fc=env.bG,gc=env.bH,hc=env.bI,ic=env.bJ,jc=env.bK,kc=env.bL,lc=env.bM,mc=env.bN,nc=env.bO,oc=169760,pc=5412640,qc=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function Xu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=oc;t=oc=oc+31&-32;oc=oc+352|0;r=t+344|0;m=t+320|0;l=t+304|0;i=t+296|0;h=t+280|0;k=t+272|0;o=t+240|0;n=t+340|0;p=t;u=t+336|0;s=t+332|0;t=t+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Lu(k+1|0,169526,c[d+4>>2]|0)|0;c[n>>2]=o;a=qt()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=Ju(o,30,a,k,h)|0}else{g[i>>3]=f;a=Ju(o,30,a,k,i)|0}if((a|0)>29){a=qt()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Mu(n,a,k,l)|0}else{g[m>>3]=f;h=Mu(n,a,k,m)|0}a=c[n>>2]|0;if(!a)uB();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=Ku(w,h,d)|0;do if((w|0)!=(o|0)){a=Fq(q<<3)|0;if(!a)uB();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);cs(r,d);$u(w,i,h,v,u,s,r);ot(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=_u(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)Gq(A);Gq(z);oc=x;return a|0}function Yu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=oc;t=oc=oc+31&-32;oc=oc+352|0;r=t+344|0;m=t+320|0;l=t+304|0;i=t+296|0;h=t+280|0;k=t+272|0;o=t+240|0;n=t+340|0;p=t;u=t+336|0;s=t+332|0;t=t+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Lu(k+1|0,143832,c[d+4>>2]|0)|0;c[n>>2]=o;a=qt()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=Ju(o,30,a,k,h)|0}else{g[i>>3]=f;a=Ju(o,30,a,k,i)|0}if((a|0)>29){a=qt()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Mu(n,a,k,l)|0}else{g[m>>3]=f;h=Mu(n,a,k,m)|0}a=c[n>>2]|0;if(!a)uB();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=Ku(w,h,d)|0;do if((w|0)!=(o|0)){a=Fq(q<<3)|0;if(!a)uB();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);cs(r,d);$u(w,i,h,v,u,s,r);ot(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=_u(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)Gq(A);Gq(z);oc=x;return a|0}function Zu(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;b=oc;m=oc=oc+31&-32;oc=oc+208|0;l=m+184|0;k=m+192|0;h=m+160|0;j=m;m=m+188|0;a[k>>0]=a[143826]|0;a[k+1>>0]=a[143827]|0;a[k+2>>0]=a[143828]|0;a[k+3>>0]=a[143829]|0;a[k+4>>0]=a[143830]|0;a[k+5>>0]=a[143831]|0;i=qt()|0;c[l>>2]=g;g=Ju(h,20,i,k,l)|0;k=h+g|0;i=Ku(h,k,e)|0;cs(l,e);n=nt(l,169084)|0;ot(l);vc[c[(c[n>>2]|0)+48>>2]&7](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=_u(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;oc=b;return g|0}function _u(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;n=oc;m=oc=oc+31&-32;oc=oc+16|0;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(uc[c[(c[i>>2]|0)+48>>2]&31](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;XB(m,g,h);if((uc[c[(c[i>>2]|0)+48>>2]&31](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){ZB(m);break}else{c[b>>2]=0;ZB(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(uc[c[(c[i>>2]|0)+48>>2]&31](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);oc=n;return i|0}function $u(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;v=oc;s=oc=oc+31&-32;oc=oc+16|0;t=nt(i,169084)|0;q=nt(i,169092)|0;Ec[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=tc[c[(c[t>>2]|0)+44>>2]&31](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=tc[c[(c[t>>2]|0)+44>>2]&31](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=tc[c[(c[t>>2]|0)+44>>2]&31](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(Op(p,qt()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Np(p,qt()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=rc[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=tc[c[(c[t>>2]|0)+44>>2]&31](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{vc[c[(c[t>>2]|0)+48>>2]&7](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=tc[c[(c[k>>2]|0)+44>>2]&31](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=rc[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}vc[c[(c[t>>2]|0)+48>>2]&7](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;KB(s);oc=v;return}function av(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;r=oc;q=oc=oc+31&-32;oc=oc+16|0;p=nt(i,169084)|0;l=nt(i,169092)|0;Ec[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=tc[c[(c[p>>2]|0)+44>>2]&31](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=tc[c[(c[p>>2]|0)+44>>2]&31](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=tc[c[(c[p>>2]|0)+44>>2]&31](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=rc[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=tc[c[(c[p>>2]|0)+44>>2]&31](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{vc[c[(c[p>>2]|0)+48>>2]&7](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;KB(q);oc=r;return}function bv(a){a=a|0;Us(a);return}function cv(a){a=a|0;Us(a);xB(a);return}function dv(a){a=a|0;return 2}function ev(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=wv(a,j,i,e,f,g,144362,144370)|0;oc=h;return g|0}function fv(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;i=oc;l=oc=oc+31&-32;oc=oc+16|0;j=l+12|0;k=l+8|0;m=l+4|0;n=b+8|0;n=rc[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=wv(b,k,j,f,g,h,d,e)|0;oc=i;return h|0}function gv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169052)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];uv(a,g+24|0,b,i,f,e);oc=h;return c[b>>2]|0}function hv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169052)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];vv(a,g+16|0,b,i,f,e);oc=h;return c[b>>2]|0}function iv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169052)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Hv(a,g+20|0,b,i,f,e);oc=h;return c[b>>2]|0}function jv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,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;R=oc;N=oc=oc+31&-32;oc=oc+144|0;k=N+128|0;j=N+112|0;P=N+124|0;Q=N+120|0;l=N+116|0;m=N+108|0;n=N+104|0;o=N+100|0;p=N+96|0;q=N+92|0;r=N+88|0;s=N+84|0;t=N+80|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;A=N+52|0;B=N+48|0;C=N+44|0;D=N+40|0;E=N+36|0;F=N+32|0;G=N+28|0;H=N+24|0;I=N+20|0;J=N+16|0;K=N+12|0;L=N+8|0;M=N+4|0;c[g>>2]=0;cs(k,f);O=nt(k,169052)|0;ot(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];uv(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];vv(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=rc[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=wv(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];xv(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=wv(b,j,k,f,g,h,144322,144330)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=wv(b,j,k,f,g,h,144330,144338)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];yv(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];zv(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];Av(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];Bv(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];Cv(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];Dv(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];Ev(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=wv(b,j,k,f,g,h,144338,144349)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=wv(b,j,k,f,g,h,144349,144354)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];Fv(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=wv(b,j,k,f,g,h,144354,144362)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];Gv(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=zc[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=rc[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=wv(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];Hv(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];Iv(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];Jv(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;oc=R;return j|0}function kv(b){b=b|0;if((a[166760]|0)==0?$C(166760)|0:0){tv();c[42295]=165696}return c[42295]|0}function lv(b){b=b|0;if((a[166744]|0)==0?$C(166744)|0:0){sv();c[42294]=165408}return c[42294]|0}function mv(b){b=b|0;if((a[166728]|0)==0?$C(166728)|0:0){rv();c[42293]=165120}return c[42293]|0}function nv(b){b=b|0;if((a[166720]|0)==0?$C(166720)|0:0){c[42290]=0;c[42291]=0;c[42292]=0;GB(169160,144080,$r(144080)|0)}return 169160}function ov(b){b=b|0;if((a[166712]|0)==0?$C(166712)|0:0){c[42287]=0;c[42288]=0;c[42289]=0;GB(169148,144068,$r(144068)|0)}return 169148}function pv(b){b=b|0;if((a[166704]|0)==0?$C(166704)|0:0){c[42284]=0;c[42285]=0;c[42286]=0;GB(169136,144059,$r(144059)|0)}return 169136}function qv(b){b=b|0;if((a[166696]|0)==0?$C(166696)|0:0){c[42281]=0;c[42282]=0;c[42283]=0;GB(169124,144050,$r(144050)|0)}return 169124}function rv(){var b=0,d=0;if((a[166736]|0)==0?$C(166736)|0:0){d=165120;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=165408)}PB(165120,144101)|0;PB(165132,144104)|0;return}function sv(){var b=0,d=0;if((a[166752]|0)==0?$C(166752)|0:0){d=165408;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=165696)}PB(165408,144107)|0;PB(165420,144115)|0;PB(165432,144124)|0;PB(165444,144130)|0;PB(165456,144136)|0;PB(165468,144140)|0;PB(165480,144145)|0;PB(165492,144150)|0;PB(165504,144157)|0;PB(165516,144167)|0;PB(165528,144175)|0;PB(165540,144184)|0;PB(165552,144193)|0;PB(165564,144197)|0;PB(165576,144201)|0;PB(165588,144205)|0;PB(165600,144136)|0;PB(165612,144209)|0;PB(165624,144213)|0;PB(165636,144217)|0;PB(165648,144221)|0;PB(165660,144225)|0;PB(165672,144229)|0;PB(165684,144233)|0;return}function tv(){var b=0,d=0;if((a[166768]|0)==0?$C(166768)|0:0){d=165696;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=165864)}PB(165696,144237)|0;PB(165708,144244)|0;PB(165720,144251)|0;PB(165732,144259)|0;PB(165744,144269)|0;PB(165756,144278)|0;PB(165768,144285)|0;PB(165780,144294)|0;PB(165792,144298)|0;PB(165804,144302)|0;PB(165816,144306)|0;PB(165828,144310)|0;PB(165840,144314)|0;PB(165852,144318)|0;return}function uv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;a=a+8|0;a=rc[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(Xt(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;oc=h;return}function vv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;a=a+8|0;a=rc[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(Xt(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;oc=h;return}function wv(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=oc;x=oc=oc+31&-32;oc=oc+16|0;s=x+12|0;r=x+8|0;w=x+4|0;cs(s,g);t=nt(s,169052)|0;ot(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=mr(a[m>>0]|0)|0;if(bs(m,lr()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=rc[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=mr(a[n>>0]|0)|0;if(!(bs(n,lr()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((uc[c[(c[t>>2]|0)+36>>2]&31](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=uc[c[(c[t>>2]|0)+36>>2]&31](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=uc[c[(c[t>>2]|0)+36>>2]&31](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];c[e>>2]=Bc[p&15](d,r,s,g,h,i,l,o)|0;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=mr(a[m>>0]|0)|0;if(bs(m,lr()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=rc[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=mr(a[m>>0]|0)|0;if(!(bs(m,lr()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=mr(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))rc[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;mr(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=mr(a[m>>0]|0)|0;q=tc[c[(c[t>>2]|0)+12>>2]&31](t,m&255)|0;if(q<<24>>24!=(tc[c[(c[t>>2]|0)+12>>2]&31](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))rc[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;mr(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=mr(a[j>>0]|0)|0;if(bs(j,lr()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=mr(a[m>>0]|0)|0;if(!(bs(j,lr()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;oc=z;return l|0}function xv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function yv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function zv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function Av(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function Bv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;oc=h;return}function Cv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=mr(a[h>>0]|0)|0;if(bs(d,lr()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=mr(a[d>>0]|0)|0;if(!(bs(d,lr()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=mr(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))rc[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;mr(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=mr(a[h>>0]|0)|0;if(bs(d,lr()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=mr(a[d>>0]|0)|0;if(!(bs(d,lr()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function Ev(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;m=oc;l=oc=oc+31&-32;oc=oc+16|0;k=l+4|0;j=b+8|0;j=rc[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(Xt(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);oc=m;return}function Fv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function Gv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function Hv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}oc=h;return}function Iv(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=Kv(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;oc=h;return}function Jv(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;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[h>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[h>>0]|0)|0;if((uc[c[(c[g>>2]|0)+36>>2]&31](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))rc[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;mr(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[h>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function Kv(d,e,f,g,h){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;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=mr(a[j>>0]|0)|0;if(bs(i,lr()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=mr(a[i>>0]|0)|0;if(!(bs(i,lr()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=mr(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(uc[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;mr(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=mr(a[k>>0]|0)|0;if(bs(j,lr()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=mr(a[j>>0]|0)|0;if(bs(j,lr()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=mr(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((uc[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;mr(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=mr(a[j>>0]|0)|0;if(bs(j,lr()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=mr(a[j>>0]|0)|0;if(!(bs(j,lr()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Lv(a){a=a|0;Us(a);return}function Mv(a){a=a|0;Us(a);xB(a);return}function Nv(a){a=a|0;return 2}function Ov(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fw(a,j,i,e,f,g,9184,9216)|0;oc=h;return g|0}function Pv(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;i=oc;l=oc=oc+31&-32;oc=oc+16|0;j=l+12|0;k=l+8|0;m=l+4|0;n=b+8|0;n=rc[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=fw(b,k,j,f,g,h,d,e)|0;oc=i;return h|0}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169084)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dw(a,g+24|0,b,i,f,e);oc=h;return c[b>>2]|0}function Rv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169084)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];ew(a,g+16|0,b,i,f,e);oc=h;return c[b>>2]|0}function Sv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;cs(i,e);e=nt(i,169084)|0;ot(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];qw(a,g+20|0,b,i,f,e);oc=h;return c[b>>2]|0}function Tv(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,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;R=oc;N=oc=oc+31&-32;oc=oc+144|0;k=N+128|0;j=N+112|0;P=N+124|0;Q=N+120|0;l=N+116|0;m=N+108|0;n=N+104|0;o=N+100|0;p=N+96|0;q=N+92|0;r=N+88|0;s=N+84|0;t=N+80|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;A=N+52|0;B=N+48|0;C=N+44|0;D=N+40|0;E=N+36|0;F=N+32|0;G=N+28|0;H=N+24|0;I=N+20|0;J=N+16|0;K=N+12|0;L=N+8|0;M=N+4|0;c[g>>2]=0;cs(k,f);O=nt(k,169084)|0;ot(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];dw(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];ew(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=rc[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=fw(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];gw(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=fw(b,j,k,f,g,h,9008,9040)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=fw(b,j,k,f,g,h,9040,9072)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];hw(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];iw(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];jw(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];kw(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];lw(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];mw(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];nw(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=fw(b,j,k,f,g,h,9072,9116)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=fw(b,j,k,f,g,h,9120,9140)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];ow(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=fw(b,j,k,f,g,h,9152,9184)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];pw(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=zc[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=rc[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=fw(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];qw(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];rw(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];sw(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;oc=R;return j|0}function Uv(b){b=b|0;if((a[166840]|0)==0?$C(166840)|0:0){cw();c[42312]=166448}return c[42312]|0}function Vv(b){b=b|0;if((a[166824]|0)==0?$C(166824)|0:0){bw();c[42311]=166160}return c[42311]|0}function Wv(b){b=b|0;if((a[166808]|0)==0?$C(166808)|0:0){aw();c[42310]=165872}return c[42310]|0}function Xv(b){b=b|0;if((a[166800]|0)==0?$C(166800)|0:0){c[42307]=0;c[42308]=0;c[42309]=0;WB(169228,111636,$v(111636)|0)}return 169228}function Yv(b){b=b|0;if((a[166792]|0)==0?$C(166792)|0:0){c[42304]=0;c[42305]=0;c[42306]=0;WB(169216,111588,$v(111588)|0)}return 169216}function Zv(b){b=b|0;if((a[166784]|0)==0?$C(166784)|0:0){c[42301]=0;c[42302]=0;c[42303]=0;WB(169204,111552,$v(111552)|0)}return 169204}function _v(b){b=b|0;if((a[166776]|0)==0?$C(166776)|0:0){c[42298]=0;c[42299]=0;c[42300]=0;WB(169192,111516,$v(111516)|0)}return 169192}function $v(a){a=a|0;return dp(a)|0}function aw(){var b=0,d=0;if((a[166816]|0)==0?$C(166816)|0:0){d=165872;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=166160)}cC(165872,111720)|0;cC(165884,111732)|0;return}function bw(){var b=0,d=0;if((a[166832]|0)==0?$C(166832)|0:0){d=166160;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=166448)}cC(166160,111744)|0;cC(166172,111776)|0;cC(166184,111812)|0;cC(166196,111836)|0;cC(166208,111860)|0;cC(166220,111876)|0;cC(166232,111896)|0;cC(166244,111916)|0;cC(166256,111944)|0;cC(166268,111984)|0;cC(166280,112016)|0;cC(166292,112052)|0;cC(166304,112088)|0;cC(166316,112104)|0;cC(166328,112120)|0;cC(166340,112136)|0;cC(166352,111860)|0;cC(166364,112152)|0;cC(166376,112168)|0;cC(166388,112184)|0;cC(166400,112200)|0;cC(166412,112216)|0;cC(166424,112232)|0;cC(166436,112248)|0;return}function cw(){var b=0,d=0;if((a[166848]|0)==0?$C(166848)|0:0){d=166448;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=166616)}cC(166448,112264)|0;cC(166460,112292)|0;cC(166472,112320)|0;cC(166484,112352)|0;cC(166496,112392)|0;cC(166508,112428)|0;cC(166520,112456)|0;cC(166532,112492)|0;cC(166544,112508)|0;cC(166556,112524)|0;cC(166568,112540)|0;cC(166580,112556)|0;cC(166592,112572)|0;cC(166604,112588)|0;return}function dw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;a=a+8|0;a=rc[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(yu(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;oc=h;return}function ew(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;a=a+8|0;a=rc[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(yu(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;oc=h;return}function fw(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=oc;t=oc=oc+31&-32;oc=oc+16|0;q=t+12|0;p=t+8|0;s=t+4|0;cs(q,e);r=nt(q,169084)|0;ot(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=Er(c[k>>2]|0)|0;if(ds(k,Dr()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=Er(c[l>>2]|0)|0;if(!(ds(l,Dr()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((uc[c[(c[r>>2]|0)+52>>2]&31](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=uc[c[(c[r>>2]|0)+52>>2]&31](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=uc[c[(c[r>>2]|0)+52>>2]&31](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];c[b>>2]=Bc[n&15](a,p,q,e,f,g,j,m)|0;h=h+8|0}else{if(!(uc[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=Er(c[k>>2]|0)|0;o=tc[c[(c[r>>2]|0)+28>>2]&31](r,k)|0;if((o|0)!=(tc[c[(c[r>>2]|0)+28>>2]&31](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;Er(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(uc[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=Er(c[k>>2]|0)|0;if(ds(k,Dr()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=Er(c[k>>2]|0)|0;if(!(ds(k,Dr()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=Er(c[k>>2]|0)|0;if(!(uc[c[(c[r>>2]|0)+12>>2]&31](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;Er(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=Er(c[h>>2]|0)|0;if(ds(h,Dr()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=Er(c[k>>2]|0)|0;if(!(ds(h,Dr()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;oc=v;return j|0}function gw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function hw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function iw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function jw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function kw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;oc=h;return}function lw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if(ds(a,Dr()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=Er(c[a>>2]|0)|0;if(!(ds(a,Dr()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if(!(uc[c[(c[f>>2]|0)+12>>2]&31](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))rc[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;Er(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if(ds(a,Dr()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=Er(c[a>>2]|0)|0;if(!(ds(a,Dr()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function nw(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;m=oc;l=oc=oc+31&-32;oc=oc+16|0;k=l+4|0;j=b+8|0;j=rc[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(yu(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);oc=m;return}function ow(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function pw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;oc=h;return}function qw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}oc=h;return}function rw(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=tw(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;oc=h;return}function sw(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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if(ds(a,Dr()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=Er(c[a>>2]|0)|0;if(!(ds(a,Dr()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if((uc[c[(c[f>>2]|0)+52>>2]&31](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))rc[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;Er(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=Er(c[g>>2]|0)|0;if(ds(a,Dr()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=Er(c[a>>2]|0)|0;if(!(ds(a,Dr()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function tw(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;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=Er(c[h>>2]|0)|0;if(ds(g,Dr()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=Er(c[g>>2]|0)|0;if(!(ds(g,Dr()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=Er(c[i>>2]|0)|0;if(!(uc[c[(c[e>>2]|0)+12>>2]&31](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(uc[c[(c[e>>2]|0)+52>>2]&31](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))rc[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;Er(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=Er(c[i>>2]|0)|0;if(ds(h,Dr()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=Er(c[h>>2]|0)|0;if(ds(h,Dr()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=Er(c[h>>2]|0)|0;if(!(uc[c[(c[e>>2]|0)+12>>2]&31](e,2048,h)|0))break a;g=(g*10|0)+((uc[c[(c[e>>2]|0)+52>>2]&31](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))rc[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;Er(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=Er(c[h>>2]|0)|0;if(ds(h,Dr()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=Er(c[h>>2]|0)|0;if(!(ds(h,Dr()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function uw(a){a=a|0;zw(a+8|0);Us(a);return}function vw(a){a=a|0;zw(a+8|0);Us(a);xB(a);return}function ww(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;j=oc;f=oc=oc+31&-32;oc=oc+112|0;e=f;f=f+100|0;c[f>>2]=e+100;xw(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=mr(f)|0;f=tc[d&31](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=mr(f)|0}d=bs(f,lr()|0)|0;e=d?0:e}h=h+1|0}oc=j;return e|0}function xw(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=oc;i=oc=oc+31&-32;oc=oc+16|0;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=yw(d,c[e>>2]|0)|0;c[e>>2]=d+(ob(d|0,k|0,i|0,f|0,c[b>>2]|0)|0);oc=l;return}function yw(a,b){a=a|0;b=b|0;return b-a|0}function zw(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(qt()|0))Jp(c[a>>2]|0);return}function Aw(a){a=a|0;zw(a+8|0);Us(a);return}function Bw(a){a=a|0;zw(a+8|0);Us(a);xB(a);return}function Cw(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;i=oc;e=oc=oc+31&-32;oc=oc+416|0;d=e;e=e+400|0;c[e>>2]=d+400;Dw(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=Er(e)|0;e=tc[b&31](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=Er(e)|0}b=ds(e,Dr()|0)|0;d=b?0:d}g=g+4|0}oc=i;return d|0}function Dw(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=oc;j=oc=oc+31&-32;oc=oc+128|0;k=j;l=j+116|0;i=j+104|0;j=j+112|0;c[l>>2]=k+100;xw(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=Ew(b,c[d>>2]|0)|0;a=Sp(c[a>>2]|0)|0;e=nq(b,j,e,i)|0;if(a|0)Sp(a)|0;if((e|0)==-1)Fw(0);else{c[d>>2]=b+(e<<2);oc=h;return}}function Ew(a,b){a=a|0;b=b|0;return b-a>>2|0}function Fw(a){a=a|0;Ua()}function Gw(a){a=a|0;Us(a);return}function Hw(a){a=a|0;Us(a);xB(a);return}function Iw(a){a=a|0;return 127}function Jw(a){a=a|0;return 127}function Kw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Lw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Mw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Nw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;HB(a,1,45);return}function Ow(a){a=a|0;return 0}function Pw(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Qw(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Rw(a){a=a|0;Us(a);return}function Sw(a){a=a|0;Us(a);xB(a);return}function Tw(a){a=a|0;return 127}function Uw(a){a=a|0;return 127}function Vw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Ww(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Xw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Yw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;HB(a,1,45);return}function Zw(a){a=a|0;return 0}function _w(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function $w(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function ax(a){a=a|0;Us(a);return}function bx(a){a=a|0;Us(a);xB(a);return}function cx(a){a=a|0;return 2147483647}function dx(a){a=a|0;return 2147483647}function ex(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function fx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function gx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function hx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;XB(a,1,45);return}function ix(a){a=a|0;return 0}function jx(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function kx(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function lx(a){a=a|0;Us(a);return}function mx(a){a=a|0;Us(a);xB(a);return}function nx(a){a=a|0;return 2147483647}function ox(a){a=a|0;return 2147483647}function px(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function qx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function rx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function sx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;XB(a,1,45);return}function tx(a){a=a|0;return 0}function ux(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function vx(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function wx(a){a=a|0;Us(a);return}function xx(a){a=a|0;Us(a);xB(a);return}function yx(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;v=oc;o=oc=oc+31&-32;oc=oc+256|0;n=o+240|0;q=o+216|0;m=o+112|0;u=o+232|0;p=o+228|0;s=o+224|0;j=o+250|0;w=o+220|0;c[u>>2]=m;c[u+4>>2]=139;cs(s,g);b=nt(s,169052)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(Bx(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){vc[c[(c[b>>2]|0)+32>>2]&7](b,144887,144897,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=Fq(b+2|0)|0;if(!b)uB();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[144887+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((cq(o,144898,q)|0)!=1)Fw(0);if(r|0)Gq(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[f>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[f>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;ot(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Dc[c[u+4>>2]&255](b);oc=v;return f|0}function zx(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;s=oc;n=oc=oc+31&-32;oc=oc+128|0;j=n+120|0;b=n;r=n+112|0;m=n+108|0;p=n+100|0;k=n+124|0;n=n+104|0;c[r>>2]=b;c[r+4>>2]=139;cs(p,g);l=nt(p,169052)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(Bx(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;Ts(f,j);c[i+4>>2]=0}else{a[j>>0]=0;Ts(i,j);a[b>>0]=0}if(a[k>>0]|0)VB(i,tc[c[(c[l>>2]|0)+28>>2]&31](l,45)|0);k=tc[c[(c[l>>2]|0)+28>>2]&31](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}Cx(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=mr(a[g>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=rc[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;ot(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Dc[c[r+4>>2]&255](b);oc=s;return g|0}function Ax(a){a=a|0;return}function Bx(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=oc;R=oc=oc+31&-32;oc=oc+512|0;I=R+488|0;O=R;X=R+480|0;Q=R+472|0;J=R+468|0;K=R+496|0;L=R+493|0;M=R+492|0;S=R+456|0;T=R+444|0;U=R+432|0;V=R+420|0;W=R+408|0;N=R+404|0;R=R+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=139;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}Fx(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=mr(a[o>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=mr(a[h>>0]|0)|0}VB(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)rc[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;mr(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=mr(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=mr(a[o>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=mr(a[h>>0]|0)|0;if(bs(g,lr()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=mr(a[g>>0]|0)|0;if(!(bs(g,lr()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=mr(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){Gx(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){Hx(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))rc[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;mr(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){Hx(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=rc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=mr(a[o>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=mr(a[o>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))Gx(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=mr(a[o>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=mr(a[h>>0]|0)|0}VB(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(bs(o,lr()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if(!(bs(o,lr()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=rc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=mr(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))rc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;mr(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;Ct(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);KB(W);KB(V);KB(U);KB(T);KB(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Dc[c[X+4>>2]&255](o);oc=Y;return g|0}function Cx(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=oc;m=oc=oc+31&-32;oc=oc+16|0;j=d;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){i=(c[b+8>>2]&2147483647)+-1|0;l=c[b+4>>2]|0}else{i=10;l=h&255}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(Dx(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Ex(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;UB(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;KB(m);break}if((i-l|0)>>>0<k>>>0)SB(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;Ts(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;Ts(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);oc=o;return b|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function Ex(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=oc;i=oc=oc+31&-32;oc=oc+16|0;g=d;f=e-g|0;if(f>>>0>4294967279)DB(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=vB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;Ts(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;Ts(h+f|0,i);oc=j;return}function Fx(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+16|0;m=n+12|0;if(b){d=nt(d,169284)|0;Ec[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ec[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[m>>0]=0;Ts(b,m);c[k+4>>2]=0;b=k}else{a[m>>0]=0;Ts(k,m);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[m>>0]=0;Ts(b,m);c[j+4>>2]=0;b=j}else{a[m>>0]=0;Ts(j,m);a[b>>0]=0;b=j}OB(j,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);a[f>>0]=rc[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Ts(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Ts(h,m);a[b>>0]=0;b=h}OB(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Ts(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Ts(i,m);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);b=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=nt(d,169276)|0;Ec[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ec[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[m>>0]=0;Ts(b,m);c[k+4>>2]=0;b=k}else{a[m>>0]=0;Ts(k,m);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[m>>0]=0;Ts(b,m);c[j+4>>2]=0;b=j}else{a[m>>0]=0;Ts(j,m);a[b>>0]=0;b=j}OB(j,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);a[f>>0]=rc[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Ts(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Ts(h,m);a[b>>0]=0;b=h}OB(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Ts(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Ts(i,m);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);b=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;oc=o;return}function Gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=Hq(f?e:0,g)|0;if(!e)uB();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Dc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}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;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=Hq(f?e:0,g)|0;if(!e)uB();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Dc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function Ix(a){a=a|0;Us(a);return}function Jx(a){a=a|0;Us(a);xB(a);return}function Kx(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;v=oc;o=oc=oc+31&-32;oc=oc+592|0;n=o+512|0;q=o+552|0;m=o+112|0;u=o+568|0;p=o+564|0;s=o+560|0;j=o+576|0;w=o+556|0;c[u>>2]=m;c[u+4>>2]=139;cs(s,g);b=nt(s,169084)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(Mx(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){vc[c[(c[b>>2]|0)+48>>2]&7](b,144997,145007,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=Fq((b>>>2)+2|0)|0;if(!b)uB();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[144997+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((cq(o,144898,q)|0)!=1)Fw(0);if(r|0)Gq(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=Er(c[f>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=Er(c[f>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;ot(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Dc[c[u+4>>2]&255](b);oc=v;return f|0}function Lx(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;s=oc;n=oc=oc+31&-32;oc=oc+432|0;j=n+424|0;b=n;r=n+416|0;m=n+408|0;p=n+400|0;k=n+428|0;n=n+404|0;c[r>>2]=b;c[r+4>>2]=139;cs(p,g);l=nt(p,169084)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(Mx(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;$s(f,j);c[i+4>>2]=0}else{c[j>>2]=0;$s(i,j);a[b>>0]=0}if(a[k>>0]|0)fC(i,tc[c[(c[l>>2]|0)+44>>2]&31](l,45)|0);k=tc[c[(c[l>>2]|0)+44>>2]&31](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}Nx(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=Er(c[g>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=rc[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;ot(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Dc[c[r+4>>2]&255](b);oc=s;return g|0}function Mx(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,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=oc;Q=oc=oc+31&-32;oc=oc+512|0;H=Q+496|0;N=Q;W=Q+488|0;P=Q+480|0;I=Q+476|0;J=Q+500|0;K=Q+472|0;L=Q+468|0;R=Q+456|0;S=Q+444|0;T=Q+432|0;U=Q+420|0;V=Q+408|0;M=Q+404|0;Q=Q+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=139;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}Qx(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=rc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=Er(c[n>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(!(uc[c[(c[k>>2]|0)+12>>2]&31](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=Er(c[g>>2]|0)|0}fC(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)rc[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;Er(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=rc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=Er(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(uc[c[(c[k>>2]|0)+12>>2]&31](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=Er(c[n>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=rc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=Er(c[g>>2]|0)|0;if(ds(f,Dr()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=rc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=Er(c[g>>2]|0)|0;if(uc[c[(c[k>>2]|0)+12>>2]&31](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){Rx(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){Hx(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))rc[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;Er(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){Hx(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=rc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=Er(c[n>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=Er(c[n>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(!(uc[c[(c[k>>2]|0)+12>>2]&31](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))Rx(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=rc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=Er(c[n>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(!(uc[c[(c[k>>2]|0)+12>>2]&31](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=Er(c[g>>2]|0)|0}fC(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(ds(n,Dr()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if(!(ds(n,Dr()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=Er(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))rc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;Er(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;Ct(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);ZB(V);ZB(U);ZB(T);ZB(S);KB(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Dc[c[W+4>>2]&255](n);oc=X;return f|0}function Nx(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=oc;l=oc=oc+31&-32;oc=oc+16|0;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){h=(c[f>>2]&2147483647)+-1|0;k=c[b+4>>2]|0}else{h=1;k=i&255}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(Ox(d,g,g+(f<<2)|0)|0){c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Px(l,d,e);m=a[l+8+3>>0]|0;e=m<<24>>24<0;eC(b,e?c[l>>2]|0:l,e?c[l+4>>2]|0:m&255)|0;ZB(l);break}if((h-k|0)>>>0<j>>>0)dC(b,h,k+j-h|0,k,k,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(k<<2)|0;while(1){if((d|0)==(e|0))break;$s(f,d);f=f+4|0;d=d+4|0}c[l>>2]=0;$s(f,l);d=k+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);oc=n;return b|0}function Ox(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function Px(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;i=oc=oc+31&-32;oc=oc+16|0;h=e-d>>2;if(h>>>0>1073741807)DB(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)Ua();else{f=vB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;$s(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;$s(f,i);oc=j;return}function Qx(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+16|0;m=n+12|0;if(b){d=nt(d,169300)|0;Ec[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ec[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[m>>2]=0;$s(e,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);Ec[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[m>>2]=0;$s(k,m);c[j+4>>2]=0}else{c[m>>2]=0;$s(j,m);a[b>>0]=0}bC(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);c[f>>2]=rc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[g>>2]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Ts(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Ts(h,m);a[b>>0]=0;b=h}OB(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[m>>2]=0;$s(h,m);c[i+4>>2]=0}else{c[m>>2]=0;$s(i,m);a[b>>0]=0}bC(i,0);c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);b=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=nt(d,169292)|0;Ec[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ec[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[m>>2]=0;$s(e,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);Ec[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[m>>2]=0;$s(k,m);c[j+4>>2]=0}else{c[m>>2]=0;$s(j,m);a[b>>0]=0}bC(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);c[f>>2]=rc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[g>>2]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Ts(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Ts(h,m);a[b>>0]=0;b=h}OB(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[m>>2]=0;$s(h,m);c[i+4>>2]=0}else{c[m>>2]=0;$s(i,m);a[b>>0]=0}bC(i,0);c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);b=rc[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;oc=o;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=Hq(f?e:0,g)|0;if(!e)uB();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Dc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function Sx(a){a=a|0;Us(a);return}function Tx(a){a=a|0;Us(a);xB(a);return}function Ux(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=oc;w=oc=oc+31&-32;oc=oc+416|0;q=w+336|0;k=w+328|0;b=w+224|0;l=w+400|0;j=w+112|0;D=w+396|0;r=w+408|0;s=w+405|0;t=w+404|0;A=w+384|0;B=w+372|0;C=w+360|0;o=w+356|0;p=w;u=w+352|0;v=w+344|0;w=w+348|0;c[l>>2]=b;g[q>>3]=i;b=Rp(b,100,145103,q)|0;if(b>>>0>99){b=qt()|0;g[k>>3]=i;b=Mu(l,b,145103,k)|0;j=c[l>>2]|0;if(!j)uB();k=Fq(b)|0;if(!k)uB();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}cs(D,f);n=nt(D,169052)|0;m=c[l>>2]|0;vc[c[(c[n>>2]|0)+32>>2]&7](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}Wx(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=Fq(b)|0;if(!b)uB();else{y=b;F=b}}else{y=p;F=0}Xx(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=Sg(q,y,d,b,f,h)|0;if(F|0)Gq(F);KB(C);KB(B);KB(A);ot(D);if(G|0)Gq(G);if(H|0)Gq(H);oc=E;return b|0}function Vx(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=oc;s=oc=oc+31&-32;oc=oc+176|0;p=s+156|0;B=s+152|0;u=s+164|0;v=s+161|0;w=s+160|0;y=s+140|0;z=s+128|0;A=s+116|0;l=s+112|0;n=s;q=s+108|0;r=s+104|0;s=s+100|0;cs(B,f);t=nt(B,169052)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(tc[c[(c[t>>2]|0)+28>>2]&31](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}Wx(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=Fq(b)|0;if(!b)uB();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;Xx(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=Sg(p,x,h,b,f,g)|0;if(D|0)Gq(D);KB(A);KB(z);KB(y);ot(B);oc=C;return b|0}function Wx(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=oc;o=oc=oc+31&-32;oc=oc+16|0;n=o+12|0;if(b){m=nt(e,169284)|0;if(d){Ec[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Ts(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Ts(k,n);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);e=m}else{Ec[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Ts(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Ts(k,n);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);e=m}a[g>>0]=rc[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=rc[c[(c[m>>2]|0)+16>>2]&127](m)|0;Ec[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;Ts(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;Ts(i,n);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);Ec[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;Ts(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;Ts(j,n);a[b>>0]=0;b=j}OB(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);b=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=nt(e,169276)|0;if(d){Ec[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Ts(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Ts(k,n);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);e=m}else{Ec[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Ts(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Ts(k,n);a[b>>0]=0;b=k}OB(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);e=m}a[g>>0]=rc[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=rc[c[(c[m>>2]|0)+16>>2]&127](m)|0;Ec[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;Ts(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;Ts(i,n);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);Ec[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;Ts(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;Ts(j,n);a[b>>0]=0;b=j}OB(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}KB(o);b=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;oc=p;return}function Xx(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=tc[c[(c[j>>2]|0)+28>>2]&31](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=tc[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=tc[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function Yx(a){a=a|0;Us(a);return}function Zx(a){a=a|0;Us(a);xB(a);return}function _x(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=oc;w=oc=oc+31&-32;oc=oc+992|0;q=w+912|0;k=w+904|0;b=w+800|0;l=w+984|0;j=w+400|0;D=w+980|0;r=w+988|0;s=w+976|0;t=w+972|0;A=w+960|0;B=w+948|0;C=w+936|0;o=w+932|0;p=w;u=w+928|0;v=w+920|0;w=w+924|0;c[l>>2]=b;g[q>>3]=i;b=Rp(b,100,145103,q)|0;if(b>>>0>99){b=qt()|0;g[k>>3]=i;b=Mu(l,b,145103,k)|0;j=c[l>>2]|0;if(!j)uB();k=Fq(b<<2)|0;if(!k)uB();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}cs(D,f);n=nt(D,169084)|0;m=c[l>>2]|0;vc[c[(c[n>>2]|0)+48>>2]&7](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}ay(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=Fq(b<<2)|0;if(!b)uB();else{y=b;F=b}}else{y=p;F=0}by(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=_u(q,y,d,b,f,h)|0;if(F|0)Gq(F);ZB(C);ZB(B);KB(A);ot(D);if(G|0)Gq(G);if(H|0)Gq(H);oc=E;return b|0}function $x(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=oc;s=oc=oc+31&-32;oc=oc+480|0;p=s+464|0;B=s+460|0;u=s+468|0;v=s+456|0;w=s+452|0;y=s+440|0;z=s+428|0;A=s+416|0;l=s+412|0;n=s;q=s+408|0;r=s+404|0;s=s+400|0;cs(B,f);t=nt(B,169084)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(tc[c[(c[t>>2]|0)+44>>2]&31](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}ay(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=Fq(b<<2)|0;if(!b)uB();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;by(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=_u(p,x,h,b,f,g)|0;if(D|0)Gq(D);ZB(A);ZB(z);KB(y);ot(B);oc=C;return b|0}function ay(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+16|0;m=n+12|0;if(b){e=nt(e,169300)|0;if(d){Ec[c[(c[e>>2]|0)+44>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[e>>2]|0)+32>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;$s(f,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n)}else{Ec[c[(c[e>>2]|0)+40>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[e>>2]|0)+28>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;$s(f,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n)}c[g>>2]=rc[c[(c[e>>2]|0)+12>>2]&127](e)|0;c[h>>2]=rc[c[(c[e>>2]|0)+16>>2]&127](e)|0;Ec[c[(c[e>>2]|0)+20>>2]&63](n,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Ts(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Ts(i,m);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[e>>2]|0)+24>>2]&63](n,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[m>>2]=0;$s(i,m);c[j+4>>2]=0}else{c[m>>2]=0;$s(j,m);a[b>>0]=0}bC(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);b=rc[c[(c[e>>2]|0)+36>>2]&127](e)|0}else{e=nt(e,169292)|0;if(d){Ec[c[(c[e>>2]|0)+44>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[e>>2]|0)+32>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;$s(f,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n)}else{Ec[c[(c[e>>2]|0)+40>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ec[c[(c[e>>2]|0)+28>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;$s(f,m);c[k+4>>2]=0}else{c[m>>2]=0;$s(k,m);a[b>>0]=0}bC(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n)}c[g>>2]=rc[c[(c[e>>2]|0)+12>>2]&127](e)|0;c[h>>2]=rc[c[(c[e>>2]|0)+16>>2]&127](e)|0;Ec[c[(c[e>>2]|0)+20>>2]&63](n,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Ts(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Ts(i,m);a[b>>0]=0;b=i}OB(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}KB(n);Ec[c[(c[e>>2]|0)+24>>2]&63](n,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[m>>2]=0;$s(i,m);c[j+4>>2]=0}else{c[m>>2]=0;$s(j,m);a[b>>0]=0}bC(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}ZB(n);b=rc[c[(c[e>>2]|0)+36>>2]&127](e)|0}c[l>>2]=b;oc=o;return}function by(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=tc[c[(c[i>>2]|0)+44>>2]&31](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(uc[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=tc[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=tc[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function cy(a){a=a|0;Us(a);return}function dy(a){a=a|0;Us(a);xB(a);return}function ey(b,d,e){b=b|0;d=d|0;e=e|0;e=Ep((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function fy(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;j=oc;i=oc=oc+31&-32;oc=oc+16|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;VB(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Dp((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Fp(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;VB(b,a[d>>0]|0);d=d+1|0}KB(i);oc=j;return}function gy(a,b){a=a|0;b=b|0;return}function hy(a){a=a|0;Us(a);return}function iy(a){a=a|0;Us(a);xB(a);return}function jy(b,d,e){b=b|0;d=d|0;e=e|0;e=Ep((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function ky(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;t=oc;o=oc=oc+31&-32;oc=oc+176|0;p=o+168|0;q=o;r=o+164|0;s=o+160|0;n=o+128|0;l=o+152|0;o=o+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=113060;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0))break;c[s>>2]=h;i=Bc[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;VB(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)Fw(0);Us(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Dp((e|0)==-1?-1:e<<1,f,g,i)|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}c[o+4>>2]=0;c[o>>2]=113108;j=i+(Fp(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0)){m=23;break}c[s>>2]=h;i=Bc[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;fC(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)Fw(0);else if((m|0)==23){Us(o);KB(n);oc=t;return}}function ly(a,b){a=a|0;b=b|0;return}function my(a){a=a|0;Us(a);xB(a);return}function ny(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=oc;a=oc=oc+31&-32;oc=oc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=wy(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];oc=b;return h|0}function oy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=oc;a=oc=oc+31&-32;oc=oc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=vy(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];oc=b;return h|0}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function qy(a){a=a|0;return 0}function ry(a){a=a|0;return 0}function sy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return uy(c,d,e,1114111,0)|0}function ty(a){a=a|0;return 4}function uy(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0<e>>>0&g>>>0<c>>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function vy(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function wy(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;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function xy(a){a=a|0;Us(a);xB(a);return}function yy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function zy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function Ay(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function By(a){a=a|0;return 1}function Cy(a){a=a|0;return 1}function Dy(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0<e>>>0?d:e)|0}function Ey(a){a=a|0;return 1}function Fy(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=oc;n=oc=oc+31&-32;oc=oc+16|0;p=n;n=n+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=Sp(c[o>>2]|0)|0;l=pq(h,g,k-e>>2,m-h|0,d)|0;if(b|0)Sp(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=Sp(c[o>>2]|0)|0;e=Xo(n,0,d)|0;if(h|0)Sp(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=Sp(c[o>>2]|0)|0;h=Xo(h,r,p)|0;if(k|0)Sp(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;oc=q;return e|0}function Gy(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=oc;o=oc=oc+31&-32;oc=oc+16|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=Sp(c[n>>2]|0)|0;l=mq(h,g,k-e|0,m-h>>2,d)|0;if(b|0)Sp(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=Sp(c[n>>2]|0)|0;e=Lp(h,e,1,d)|0;if(k|0)Sp(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=Sp(c[n>>2]|0)|0;h=Lp(h,e,k-e|0,o)|0;if(b|0)Sp(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;oc=p;return e|0}function Hy(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;i=oc;h=oc=oc+31&-32;oc=oc+16|0;c[g>>2]=e;e=Sp(c[b+8>>2]|0)|0;b=Xo(h,0,d)|0;if(e|0)Sp(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);oc=i;return b|0}function Iy(a){a=a|0;var b=0,d=0;a=a+8|0;b=Sp(c[a>>2]|0)|0;d=Xp(0,0,4)|0;if(b|0)Sp(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=Sp(a)|0;a=gp()|0;if(b|0)Sp(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function Jy(a){a=a|0;return 0}function Ky(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=Sp(c[j>>2]|0)|0;a=lq(d,k-d|0,b)|0;if(g|0)Sp(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function Ly(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=Sp(a)|0;a=gp()|0;if(b)Sp(b)|0}else a=1;return a|0}function My(a){a=a|0;var b=0,d=0;c[a>>2]=113156;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(qt()|0))Jp(c[b>>2]|0);Us(a);return}function Ny(a){a=a|0;My(a);xB(a);return}function Oy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=oc;a=oc=oc+31&-32;oc=oc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=Xy(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];oc=b;return h|0}function Py(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=oc;a=oc=oc+31&-32;oc=oc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=Wy(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];oc=b;return h|0}function Qy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Ry(a){a=a|0;return 0}function Sy(a){a=a|0;return 0}function Ty(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Vy(c,d,e,1114111,0)|0}function Uy(a){a=a|0;return 4}function Vy(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0<e>>>0&g>>>0<c>>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function Wy(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function Xy(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function Yy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=113204;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Dc[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}KB(a+144|0);_y(e);Us(a);return}function Zy(a){a=a|0;Yy(a);xB(a);return}function _y(b){b=b|0;var d=0;d=c[b>>2]|0;do if(d|0){c[b+4>>2]=d;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{xB(d);break}}while(0);return}function $y(b){b=b|0;var d=0;c[b>>2]=113224;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)yB(d);Us(b);return}function az(a){a=a|0;$y(a);xB(a);return}function bz(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(kz()|0)+((b&255)<<2)>>2]&255;return b|0}function cz(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=kz()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function dz(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(jz()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function ez(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=jz()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function fz(a,b){a=a|0;b=b|0;return b|0}function gz(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function hz(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function iz(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function jz(){return c[(ip()|0)>>2]|0}function kz(){return c[(jp()|0)>>2]|0}function lz(){return c[(fp()|0)>>2]|0}function mz(a){a=a|0;c[a>>2]=113276;KB(a+12|0);Us(a);return}function nz(a){a=a|0;mz(a);xB(a);return}function oz(b){b=b|0;return a[b+8>>0]|0}function pz(b){b=b|0;return a[b+9>>0]|0}function qz(a,b){a=a|0;b=b|0;FB(a,b+12|0);return}function rz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;GB(a,145680,$r(145680)|0);return}function sz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;GB(a,145674,$r(145674)|0);return}function tz(a){a=a|0;c[a>>2]=113316;KB(a+16|0);Us(a);return}function uz(a){a=a|0;tz(a);xB(a);return} |
| | | function Fq(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=oc;n=oc=oc+31&-32;oc=oc+16|0;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[41877]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=167548+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[41877]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;oc=w;return v|0}l=c[41879]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=167548+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[41877]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[41882]|0;b=l>>>3;d=167548+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[41877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[41879]=h;c[41882]=f;v=i;oc=w;return v|0}g=c[41878]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[167812+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=167812+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[41878]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[41882]|0;b=l>>>3;d=167548+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[41877]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[41879]=j;c[41882]=h}v=i+8|0;oc=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[41878]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[167812+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[167812+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[41879]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=167812+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[41878]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=167548+(b<<1<<2)|0;a=c[41877]|0;b=1<<b;if(!(a&b)){c[41877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=167812+(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[41878]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;oc=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[41879]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[41882]|0;if(b>>>0>15){v=a+m|0;c[41882]=v;c[41879]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[41879]=0;c[41882]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;oc=w;return v|0}h=c[41880]|0;if(h>>>0>m>>>0){t=h-m|0;c[41880]=t;v=c[41883]|0;u=v+m|0;c[41883]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;oc=w;return v|0}if(!(c[41995]|0)){c[41997]=4096;c[41996]=4096;c[41998]=-1;c[41999]=-1;c[42e3]=0;c[41988]=0;c[41995]=n&-16^1431655768;a=4096}else a=c[41997]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;oc=w;return v|0}a=c[41987]|0;if(a|0?(l=c[41985]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;oc=w;return v|0}d:do if(!(c[41988]&4)){d=c[41883]|0;e:do if(d){e=167956;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=tD(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=tD(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[41996]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[41985]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[41987]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=tD(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[41997]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((tD(a|0)|0)==(-1|0)){tD(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[41988]=c[41988]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=tD(k|0)|0,p=tD(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[41985]|0)+h|0;c[41985]=b;if(b>>>0>(c[41986]|0)>>>0)c[41986]=b;j=c[41883]|0;f:do if(j){b=167956;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[41880]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[41883]=u;c[41880]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[41884]=c[41999];break}if(g>>>0<(c[41881]|0)>>>0)c[41881]=g;d=g+h|0;b=167956;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[41880]|0)+i|0;c[41880]=v;c[41883]=k;c[k+4>>2]=v|1}else{if((c[41882]|0)==(b|0)){v=(c[41879]|0)+i|0;c[41879]=v;c[41882]=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[41877]=c[41877]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=167812+(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[41878]=c[41878]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=167548+(b<<1<<2)|0;a=c[41877]|0;b=1<<b;if(!(a&b)){c[41877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=167812+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[41878]|0;d=1<<e;if(!(a&d)){c[41878]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;oc=w;return v|0}b=167956;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[41883]=u;c[41880]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[41884]=c[41999];d=a+4|0;c[d>>2]=27;c[b>>2]=c[41989];c[b+4>>2]=c[41990];c[b+8>>2]=c[41991];c[b+12>>2]=c[41992];c[41989]=g;c[41990]=h;c[41992]=0;c[41991]=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=167548+(b<<1<<2)|0;a=c[41877]|0;b=1<<b;if(!(a&b)){c[41877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=167812+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[41878]|0;a=1<<e;if(!(b&a)){c[41878]=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[41881]|0;if((v|0)==0|g>>>0<v>>>0)c[41881]=g;c[41989]=g;c[41990]=h;c[41992]=0;c[41886]=c[41995];c[41885]=-1;c[41890]=167548;c[41889]=167548;c[41892]=167556;c[41891]=167556;c[41894]=167564;c[41893]=167564;c[41896]=167572;c[41895]=167572;c[41898]=167580;c[41897]=167580;c[41900]=167588;c[41899]=167588;c[41902]=167596;c[41901]=167596;c[41904]=167604;c[41903]=167604;c[41906]=167612;c[41905]=167612;c[41908]=167620;c[41907]=167620;c[41910]=167628;c[41909]=167628;c[41912]=167636;c[41911]=167636;c[41914]=167644;c[41913]=167644;c[41916]=167652;c[41915]=167652;c[41918]=167660;c[41917]=167660;c[41920]=167668;c[41919]=167668;c[41922]=167676;c[41921]=167676;c[41924]=167684;c[41923]=167684;c[41926]=167692;c[41925]=167692;c[41928]=167700;c[41927]=167700;c[41930]=167708;c[41929]=167708;c[41932]=167716;c[41931]=167716;c[41934]=167724;c[41933]=167724;c[41936]=167732;c[41935]=167732;c[41938]=167740;c[41937]=167740;c[41940]=167748;c[41939]=167748;c[41942]=167756;c[41941]=167756;c[41944]=167764;c[41943]=167764;c[41946]=167772;c[41945]=167772;c[41948]=167780;c[41947]=167780;c[41950]=167788;c[41949]=167788;c[41952]=167796;c[41951]=167796;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[41883]=u;c[41880]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[41884]=c[41999]}while(0);b=c[41880]|0;if(b>>>0>m>>>0){t=b-m|0;c[41880]=t;v=c[41883]|0;u=v+m|0;c[41883]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;oc=w;return v|0}}c[(lo()|0)>>2]=12;v=0;oc=w;return v|0}function Gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[41881]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[41882]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[41879]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[41877]=c[41877]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=167812+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[41878]=c[41878]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[41883]|0)==(j|0)){j=(c[41880]|0)+b|0;c[41880]=j;c[41883]=i;c[i+4>>2]=j|1;if((i|0)!=(c[41882]|0))return;c[41882]=0;c[41879]=0;return}if((c[41882]|0)==(j|0)){j=(c[41879]|0)+b|0;c[41879]=j;c[41882]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[41877]=c[41877]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=167812+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[41878]=c[41878]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[41882]|0)){c[41879]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=167548+(a<<1<<2)|0;b=c[41877]|0;a=1<<a;if(!(b&a)){c[41877]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=167812+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[41878]|0;d=1<<e;a:do if(!(b&d)){c[41878]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[41885]|0)+-1|0;c[41885]=j;if(j|0)return;a=167964;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[41885]=-1;return}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Fq(b)|0;return b|0}if(b>>>0>4294967231){c[(lo()|0)>>2]=12;b=0;return b|0}d=Iq(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Fq(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;pD(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Gq(a);b=d;return b|0}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[41997]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;Jq(k,d);return a|0}if((c[41883]|0)==(i|0)){k=(c[41880]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[41883]=e;c[41880]=d;return a|0}if((c[41882]|0)==(i|0)){e=(c[41879]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[41879]=d;c[41882]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[41877]=c[41877]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=167812+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[41878]=c[41878]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;Jq(i,k);return a|0}return 0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[41882]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[41879]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[41877]=c[41877]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=167812+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[41878]=c[41878]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[41883]|0)==(i|0)){i=(c[41880]|0)+b|0;c[41880]=i;c[41883]=h;c[h+4>>2]=i|1;if((h|0)!=(c[41882]|0))return;c[41882]=0;c[41879]=0;return}if((c[41882]|0)==(i|0)){i=(c[41879]|0)+b|0;c[41879]=i;c[41882]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[41877]=c[41877]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=167812+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[41878]=c[41878]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[41882]|0)){c[41879]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=167548+(b<<1<<2)|0;a=c[41877]|0;b=1<<b;if(!(a&b)){c[41877]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=167812+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[41878]|0;d=1<<e;if(!(a&d)){c[41878]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function Kq(a,b){a=a|0;b=b|0;if(a>>>0<9){b=Fq(b)|0;return b|0}else{b=Lq(a,b)|0;return b|0}return 0}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(lo()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=Fq(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;Jq(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;Jq(f,i)}i=b+8|0;return i|0}function Mq(a,b){a=a|0;b=b|0;return 0}function Nq(a){a=a|0;return 0}function Oq(a){a=a|0;return 0}function Pq(a){a=a|0;return 0}function Qq(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=Fq(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Rq(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Sq(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Tq(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;Cc[b&3]();c[a>>2]=324508639;return 0}function Uq(a){a=a|0;Vq(a);return}function Vq(a){a=a|0;c[a>>2]=110468;Wq(a,0);ot(a+28|0);Gq(c[a+32>>2]|0);Gq(c[a+36>>2]|0);Gq(c[a+48>>2]|0);Gq(c[a+60>>2]|0);return}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Fc[c[(c[e>>2]|0)+(g<<2)>>2]&31](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function Xq(a){a=a|0;Vq(a);xB(a);return}function Yq(a){a=a|0;Vq(a);return}function Zq(a){a=a|0;c[a>>2]=110484;ot(a+4|0);return}function _q(a){a=a|0;Zq(a);xB(a);return}function $q(a,b){a=a|0;b=b|0;return}function ar(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function br(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function dr(a){a=a|0;return 0}function er(a){a=a|0;return 0}function fr(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;lr()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;nr(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=rc[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;a[d>>0]=or(f)|0;d=d+1|0;f=1}h=f+h|0}return h|0}function gr(a){a=a|0;return lr()|0}function hr(b){b=b|0;var d=0;d=rc[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(lr()|0))b=lr()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=mr(a[b>>0]|0)|0}return b|0}function ir(a,b){a=a|0;b=b|0;return lr()|0}function jr(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;i=lr()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0<h>>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;nr(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=mr(a[d>>0]|0)|0;if((tc[h&31](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function kr(a,b){a=a|0;b=b|0;return lr()|0}function lr(){return -1}function mr(a){a=a|0;return a&255|0}function nr(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)pD(a|0,b|0,c|0)|0;return a|0}function or(a){a=a|0;return a&255|0}function pr(a){a=a|0;c[a>>2]=110548;ot(a+4|0);return}function qr(a){a=a|0;pr(a);xB(a);return}function rr(a,b){a=a|0;b=b|0;return}function sr(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function tr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function vr(a){a=a|0;return 0}function wr(a){a=a|0;return 0}function xr(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;Dr()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0<f>>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;Fr(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=rc[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;c[b>>2]=Gr(e)|0;b=b+4|0;e=1}g=e+g|0}return g|0}function yr(a){a=a|0;return Dr()|0}function zr(a){a=a|0;var b=0;b=rc[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(Dr()|0))a=Dr()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=Er(c[a>>2]|0)|0}return a|0}function Ar(a,b){a=a|0;b=b|0;return Dr()|0}function Br(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;h=Dr()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;Fr(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=Er(c[b>>2]|0)|0;if((tc[g&31](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function Cr(a,b){a=a|0;b=b|0;return Dr()|0}function Dr(){return -1}function Er(a){a=a|0;return a|0}function Fr(a,b,c){a=a|0;b=b|0;c=c|0;if(c)Up(a,b,c)|0;return a|0}function Gr(a){a=a|0;return a|0}function Hr(a){a=a|0;Lr(a,110644);Uq(a+8|0);return}function Ir(a){a=a|0;Hr(a);xB(a);return}function Jr(a){a=a|0;Hr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Kr(a){a=a|0;Ir(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Lr(a,b){a=a|0;b=b|0;return}function Mr(a){a=a|0;Qr(a,110692);Yq(a+8|0);return}function Nr(a){a=a|0;Mr(a);xB(a);return}function Or(a){a=a|0;Mr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Pr(a){a=a|0;Nr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Qr(a,b){a=a|0;b=b|0;return}function Rr(a){a=a|0;Vr(a,110740);Uq(a+4|0);return}function Sr(a){a=a|0;Rr(a);xB(a);return}function Tr(a){a=a|0;Rr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Ur(a){a=a|0;Sr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Vr(a,b){a=a|0;b=b|0;return}function Wr(a){a=a|0;_r(a,110788);Yq(a+4|0);return}function Xr(a){a=a|0;Wr(a);xB(a);return}function Yr(a){a=a|0;Wr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Zr(a){a=a|0;Xr(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function _r(a,b){a=a|0;b=b|0;return}function $r(a){a=a|0;return Fp(a)|0}function as(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));pB(d);return}function bs(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function cs(a,b){a=a|0;b=b|0;nB(a,b+28|0);return}function ds(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function es(a){a=a|0;c[a>>2]=110484;pB(a+4|0);a=a+8|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;return}function fs(a){a=a|0;c[a>>2]=110548;pB(a+4|0);a=a+8|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;return}function gs(){is();return}function hs(){return}function is(){js(0);return}function js(a){a=a|0;var b=0,d=0;b=c[27546]|0;ks(168684,b,168740);c[42001]=110616;c[42003]=110636;c[42002]=0;as(168012,168684);c[42021]=0;c[42022]=lr()|0;ls(168748,b,168804);c[42023]=110664;c[42025]=110684;c[42024]=0;as(168100,168748);c[42043]=0;c[42044]=Dr()|0;b=c[27547]|0;ms(168812,b,168860);c[42045]=110712;c[42046]=110732;as(168184,168812);c[42064]=0;c[42065]=lr()|0;ns(168868,b,168916);c[42066]=110760;c[42067]=110780;as(168268,168868);c[42085]=0;c[42086]=Dr()|0;b=c[27545]|0;ms(168924,b,168972);c[42087]=110712;c[42088]=110732;as(168352,168924);c[42106]=0;c[42107]=lr()|0;a=c[168348+(c[(c[42087]|0)+-12>>2]|0)+24>>2]|0;c[42129]=110712;c[42130]=110732;as(168520,a);c[42148]=0;c[42149]=lr()|0;ns(168980,b,169028);c[42108]=110760;c[42109]=110780;as(168436,168980);c[42127]=0;c[42128]=Dr()|0;b=c[168432+(c[(c[42108]|0)+-12>>2]|0)+24>>2]|0;c[42150]=110760;c[42151]=110780;as(168604,b);c[42169]=0;c[42170]=Dr()|0;c[168004+(c[(c[42001]|0)+-12>>2]|0)+72>>2]=168180;c[168092+(c[(c[42023]|0)+-12>>2]|0)+72>>2]=168264;b=(c[42087]|0)+-12|0;a=168348+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[42108]|0)+-12|0;d=168432+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[168348+(c[b>>2]|0)+72>>2]=168180;c[168432+(c[a>>2]|0)+72>>2]=168264;return}function ks(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;es(b);c[b>>2]=110996;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=lr()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;nB(g,b+4|0);Ec[e&63](b,g);ot(g);oc=f;return}function ls(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;fs(b);c[b>>2]=110932;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=Dr()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;nB(g,b+4|0);Ec[e&63](b,g);ot(g);oc=f;return}function ms(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;es(b);c[b>>2]=110868;c[b+32>>2]=d;nB(g,b+4|0);d=nt(g,169356)|0;ot(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(rc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;oc=f;return}function ns(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;fs(b);c[b>>2]=110804;c[b+32>>2]=d;nB(g,b+4|0);d=nt(g,169364)|0;ot(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(rc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;oc=f;return}function os(a){a=a|0;pr(a);xB(a);return}function ps(b,d){b=b|0;d=d|0;rc[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=nt(d,169364)|0;c[b+36>>2]=d;a[b+44>>0]=(rc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function qs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=oc;e=oc=oc+31&-32;oc=oc+16|0;d=e+8|0;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=xc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((Vp(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((aq(c[b>>2]|0)|0)!=0)<<31>>31;oc=k;return a|0}function rs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=Er(c[d>>2]|0)|0;g=tc[h&31](b,g)|0;if((g|0)==(Dr()|0))break a;f=f+1|0;d=d+4|0}}else f=Vp(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function ss(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+32|0;l=n+16|0;f=n+8|0;m=n+4|0;do if(!(ds(d,Dr()|0)|0)){c[f>>2]=Gr(d)|0;if(a[b+44>>0]|0){if((Vp(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Dr()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Bc[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((Vp(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((Vp(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Dr()|0;break}}else e=15;while(0);if((e|0)==15)b=ts(d)|0;oc=o;return b|0}function ts(a){a=a|0;if(ds(a,Dr()|0)|0)a=~(Dr()|0);return a|0}function us(a){a=a|0;Zq(a);xB(a);return}function vs(b,d){b=b|0;d=d|0;rc[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=nt(d,169356)|0;c[b+36>>2]=d;a[b+44>>0]=(rc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=oc;e=oc=oc+31&-32;oc=oc+16|0;d=e+8|0;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=xc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((Vp(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((aq(c[b>>2]|0)|0)!=0)<<31>>31;oc=k;return a|0}function xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=mr(a[d>>0]|0)|0;g=tc[h&31](b,g)|0;if((g|0)==(lr()|0))break a;f=f+1|0;d=d+1|0}}else f=Vp(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+32|0;l=n+16|0;f=n+8|0;m=n+4|0;do if(!(bs(d,lr()|0)|0)){a[f>>0]=or(d)|0;if(a[b+44>>0]|0){if((Vp(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=lr()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Bc[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((Vp(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((Vp(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=lr()|0;break}}else e=15;while(0);if((e|0)==15)b=zs(d)|0;oc=o;return b|0}function zs(a){a=a|0;if(bs(a,lr()|0)|0)a=~(lr()|0);return a|0}function As(a){a=a|0;pr(a);xB(a);return}function Bs(b,d){b=b|0;d=d|0;var e=0,f=0;f=nt(d,169364)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=rc[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(rc[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Fw(143468);else return}function Cs(a){a=a|0;return Fs(a,0)|0}function Ds(a){a=a|0;return Fs(a,1)|0}function Es(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=oc;g=oc=oc+31&-32;oc=oc+32|0;h=g+16|0;i=g+8|0;f=g+4|0;j=ds(d,Dr()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((ds(e,Dr()|0)|0)^1)&1}else{if(e){j=b+48|0;c[f>>2]=Gr(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Bc[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((tq(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Dr()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);oc=l;return e|0}function Fs(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;r=oc;m=oc=oc+31&-32;oc=oc+32|0;p=m+16|0;q=m+8|0;l=m+4|0;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=Dr()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=rq(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Dr()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Bc[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=rq(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=Dr()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=Er(c[q>>2]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=Er(a[p+e>>0]|0)|0}while((tq(t,c[o>>2]|0)|0)!=-1);e=Dr()|0;break b}while(0);e=Er(c[q>>2]|0)|0}while(0)}}oc=r;return e|0}function Gs(a){a=a|0;Zq(a);xB(a);return}function Hs(b,d){b=b|0;d=d|0;var e=0,f=0;f=nt(d,169356)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=rc[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(rc[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)Fw(143468);else return}function Is(a){a=a|0;return Ls(a,0)|0}function Js(a){a=a|0;return Ls(a,1)|0}function Ks(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=oc;g=oc=oc+31&-32;oc=oc+32|0;h=g+16|0;i=g+4|0;f=g+8|0;j=bs(d,lr()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((bs(e,lr()|0)|0)^1)&1}else{if(e){j=b+48|0;a[f>>0]=or(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Bc[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((tq(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=lr()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);oc=l;return e|0}function Ls(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;r=oc;m=oc=oc+31&-32;oc=oc+32|0;p=m+16|0;q=m+8|0;l=m+4|0;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=lr()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=rq(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=lr()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Bc[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=rq(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=lr()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=mr(a[q>>0]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=mr(a[p+e>>0]|0)|0}while((tq(t,c[o>>2]|0)|0)!=-1);e=lr()|0;break b}while(0);e=mr(a[q>>0]|0)|0}while(0)}}oc=r;return e|0}function Ms(a){a=a|0;Us(a);return}function Ns(a){a=a|0;Ms(a);xB(a);return}function Os(a){a=a|0;if(a|0)Dc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Ps(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24<g<<24>>24){b=-1;break}if(g<<24>>24<c<<24>>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function Qs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Ss(a,d,e);return}function Rs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}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,k=0;j=oc;i=oc=oc+31&-32;oc=oc+16|0;g=d;f=e-g|0;if(f>>>0>4294967279)DB(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=vB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;Ts(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;Ts(h+f|0,i);oc=j;return}function Ts(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Us(a){a=a|0;return}function Vs(a){a=a|0;Us(a);return}function Ws(a){a=a|0;Vs(a);xB(a);return}function Xs(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;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function Ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;_s(a,d,e);return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function _s(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;i=oc=oc+31&-32;oc=oc+16|0;h=e-d>>2;if(h>>>0>1073741807)DB(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)Ua();else{f=vB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;$s(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;$s(f,i);oc=j;return}function $s(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function at(a){a=a|0;Us(a);return}function bt(a){a=a|0;Us(a);xB(a);return}function ct(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;o=oc;m=oc=oc+31&-32;oc=oc+48|0;i=m+40|0;n=m;j=m+36|0;k=m+32|0;l=m+28|0;m=m+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=zc[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{cs(i,f);l=nt(i,169052)|0;ot(i);cs(i,f);b=nt(i,169068)|0;ot(i);Ec[c[(c[b>>2]|0)+24>>2]&63](n,b);Ec[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(Xt(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;KB(b)}while((b|0)!=(n|0))}oc=o;return i|0}function dt(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Vt(a,j,i,e,f,g)|0;oc=h;return g|0}function et(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Tt(a,j,i,e,f,g)|0;oc=h;return g|0}function ft(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Rt(a,j,i,e,f,g)|0;oc=h;return g|0}function gt(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Pt(a,j,i,e,f,g)|0;oc=h;return g|0}function ht(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Nt(a,j,i,e,f,g)|0;oc=h;return g|0}function it(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Ht(a,j,i,e,f,g)|0;oc=h;return g|0}function jt(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Ft(a,j,i,e,f,g)|0;oc=h;return g|0}function kt(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Dt(a,j,i,e,f,g)|0;oc=h;return g|0}function lt(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=yt(a,j,i,e,f,g)|0;oc=h;return g|0}function mt(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,v=0,w=0,x=0,y=0,z=0;y=oc;s=oc=oc+31&-32;oc=oc+240|0;v=s+192|0;t=s+160|0;w=s+220|0;x=s+208|0;u=s+204|0;q=s;r=s+200|0;s=s+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}cs(x,f);b=nt(x,169052)|0;vc[c[(c[b>>2]|0)+32>>2]&7](b,8960,8986,t)|0;ot(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;QB(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){QB(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;QB(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}QB(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=qt()|0;c[v>>2]=h;if((rt(t,u,143616,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;KB(x);KB(w);oc=y;return z|0}function nt(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return tt(a,st(b)|0)|0}function ot(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Dc[c[(c[a>>2]|0)+8>>2]&255](a);return}function pt(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[8960+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[8960+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function qt(){if((a[166688]|0)==0?$C(166688)|0:0)c[42265]=Qp(2147483647,143619,0)|0;return c[42265]|0}function rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;c[g>>2]=e;e=Sp(b)|0;b=dq(a,d,g)|0;if(e|0)Sp(e)|0;oc=f;return b|0}function st(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+48|0;b=g+32|0;d=g+24|0;e=g;g=g+16|0;c[g>>2]=137;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];vt(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;tB(a,d,138)}oc=f;return (c[a+4>>2]|0)+-1|0}function tt(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function ut(a){a=a|0;var b=0;b=c[42266]|0;c[42266]=b+1;c[a+4>>2]=b+1;return}function vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function wt(a){a=a|0;xt(c[c[a>>2]>>2]|0);return}function xt(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Dc[a&255](d);return}function yt(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=oc;r=oc=oc+31&-32;oc=oc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;zt(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){QB(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=mr(a[f>>0]|0)|0;if(At(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;mr(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+Bt(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function zt(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;h=oc;i=oc=oc+31&-32;oc=oc+16|0;cs(i,d);d=nt(i,169052)|0;vc[c[(c[d>>2]|0)+32>>2]&7](d,8960,8992,e)|0;e=nt(i,169068)|0;a[f>>0]=rc[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=rc[c[(c[e>>2]|0)+16>>2]&127](e)|0;Ec[c[(c[e>>2]|0)+20>>2]&63](b,e);ot(i);oc=h;return}function At(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[8960+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function Bt(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=oc;f=oc=oc+31&-32;oc=oc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;e=+Cq(a,f,qt()|0);a=c[(lo()|0)>>2]|0;if(!a)c[(lo()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}oc=i;return +e}function Ct(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;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function Dt(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=oc;r=oc=oc+31&-32;oc=oc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;zt(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){QB(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=mr(a[f>>0]|0)|0;if(At(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;mr(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+Et(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function Et(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=oc;f=oc=oc+31&-32;oc=oc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;e=+Bq(a,f,qt()|0);a=c[(lo()|0)>>2]|0;if(!a)c[(lo()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}oc=i;return +e}function Ft(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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;D=oc;r=oc=oc+31&-32;oc=oc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;zt(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=mr(a[g>>0]|0)|0;if(bs(g,lr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=mr(a[g>>0]|0)|0;if(!(bs(g,lr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){QB(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=mr(a[g>>0]|0)|0;if(At(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;mr(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+Gt(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function Gt(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=oc;f=oc=oc+31&-32;oc=oc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;e=+Aq(a,f,qt()|0);a=c[(lo()|0)>>2]|0;if(!a)c[(lo()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}oc=i;return +e}function Ht(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=It(f)|0;q=Jt(b,f,q+160|0)|0;Kt(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Lt(b,c[s>>2]|0,g,x)|0;x=D()|0;c[h>>2]=w;c[h+4>>2]=x;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function It(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;return Mt(a,b,c)|0}function Kt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;cs(g,d);d=nt(g,169068)|0;a[e>>0]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](b,d);ot(g);oc=f;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;k=oc;h=oc=oc+31&-32;oc=oc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}i=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;b=po(b,h,f,qt()|0)|0;f=D()|0;g=c[(lo()|0)>>2]|0;if(!g)c[(lo()|0)>>2]=i;if((c[h>>2]|0)==(d|0)){if((g|0)==34){b=-1;f=-1;j=8}}else{b=0;f=0;j=8}if((j|0)==8)c[e>>2]=4}while(0);C(f|0);oc=k;return b|0}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;return 8960}function Nt(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=It(f)|0;q=Jt(b,f,q+160|0)|0;Kt(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Ot(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function Ot(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=oc;h=oc=oc+31&-32;oc=oc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;b=po(b,h,f,qt()|0)|0;f=D()|0;g=c[(lo()|0)>>2]|0;if(!g)c[(lo()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);oc=j;return b|0}function Pt(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=It(f)|0;q=Jt(b,f,q+160|0)|0;Kt(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Qt(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function Qt(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=oc;h=oc=oc+31&-32;oc=oc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;b=po(b,h,f,qt()|0)|0;f=D()|0;g=c[(lo()|0)>>2]|0;if(!g)c[(lo()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);oc=j;return b|0}function Rt(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=oc;r=oc=oc+31&-32;oc=oc+240|0;s=r+224|0;z=r+212|0;A=r+200|0;t=r+196|0;u=r;w=r+192|0;x=r+188|0;y=It(g)|0;r=Jt(d,g,r+160|0)|0;Kt(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;QB(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=mr(a[g>>0]|0)|0;if(bs(g,lr()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=mr(a[g>>0]|0)|0;if(!(bs(g,lr()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){QB(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;QB(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=mr(a[g>>0]|0)|0;if(pt(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;mr(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=St(d,c[t>>2]|0,h,y)|0;Ct(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=mr(a[d>>0]|0)|0;if(bs(d,lr()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=mr(a[d>>0]|0)|0;if(!(bs(d,lr()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;KB(A);KB(z);oc=C;return B|0}function St(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=oc;h=oc=oc+31&-32;oc=oc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;b=po(b,h,f,qt()|0)|0;f=D()|0;g=c[(lo()|0)>>2]|0;if(!g)c[(lo()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}else{c[e>>2]=4;b=0}while(0)}while(0);oc=j;return b|0}function Tt(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=It(f)|0;q=Jt(b,f,q+160|0)|0;Kt(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Ut(b,c[s>>2]|0,g,x)|0;x=D()|0;c[h>>2]=w;c[h+4>>2]=x;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function Ut(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=oc;g=oc=oc+31&-32;oc=oc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;a=yo(a,g,e,qt()|0)|0;e=D()|0;f=c[(lo()|0)>>2]|0;if(!f)c[(lo()|0)>>2]=h;if((c[g>>2]|0)==(b|0)){if((f|0)==34){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}C(e|0);oc=i;return a|0}function Vt(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=It(f)|0;q=Jt(b,f,q+160|0)|0;Kt(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(bs(f,lr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=mr(a[f>>0]|0)|0;if(!(bs(f,lr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=mr(a[f>>0]|0)|0;if(pt(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;mr(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Wt(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=mr(a[b>>0]|0)|0;if(bs(b,lr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=mr(a[b>>0]|0)|0;if(!(bs(b,lr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function Wt(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=oc;g=oc=oc+31&-32;oc=oc+16|0;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=c[(lo()|0)>>2]|0;c[(lo()|0)>>2]=0;a=yo(a,g,e,qt()|0)|0;e=D()|0;f=c[(lo()|0)>>2]|0;if(!f)c[(lo()|0)>>2]=h;a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}oc=i;return a|0}function Xt(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=oc;k=oc=oc+31&-32;oc=oc+112|0;l=(f-e|0)/12|0;if(l>>>0>100){k=Fq(l)|0;if(!k)uB();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=mr(a[m>>0]|0)|0;if(bs(k,lr()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=mr(a[k>>0]|0)|0;if(bs(k,lr()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=mr(a[k>>0]|0)|0;k=k&255;if(!i)k=tc[c[(c[g>>2]|0)+12>>2]&31](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=tc[c[(c[g>>2]|0)+12>>2]&31](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;mr(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=mr(a[k>>0]|0)|0;if(bs(k,lr()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=mr(a[k>>0]|0)|0;if(!(bs(k,lr()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}Gq(u);oc=w;return e|0}function Yt(a){a=a|0;Us(a);return}function Zt(a){a=a|0;Us(a);xB(a);return}function _t(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;o=oc;m=oc=oc+31&-32;oc=oc+48|0;i=m+40|0;n=m;j=m+36|0;k=m+32|0;l=m+28|0;m=m+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=zc[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{cs(i,f);l=nt(i,169084)|0;ot(i);cs(i,f);b=nt(i,169092)|0;ot(i);Ec[c[(c[b>>2]|0)+24>>2]&63](n,b);Ec[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(yu(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;ZB(b)}while((b|0)!=(n|0))}oc=o;return i|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;h=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xu(a,j,i,e,f,g)|0;oc=h;return g|0}function au(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=wu(a,j,i,e,f,g)|0;oc=h;return g|0}function bu(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vu(a,j,i,e,f,g)|0;oc=h;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;h=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=uu(a,j,i,e,f,g)|0;oc=h;return g|0}function du(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=tu(a,j,i,e,f,g)|0;oc=h;return g|0}function eu(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pu(a,j,i,e,f,g)|0;oc=h;return g|0}function fu(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ou(a,j,i,e,f,g)|0;oc=h;return g|0}function gu(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nu(a,j,i,e,f,g)|0;oc=h;return g|0}function hu(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=oc;k=oc=oc+31&-32;oc=oc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ku(a,j,i,e,f,g)|0;oc=h;return g|0}function iu(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,v=0,w=0,x=0,y=0,z=0;y=oc;s=oc=oc+31&-32;oc=oc+304|0;v=s+264|0;t=s+160|0;w=s+292|0;x=s+280|0;u=s+276|0;q=s;r=s+272|0;s=s+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}cs(x,f);b=nt(x,169084)|0;vc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8986,t)|0;ot(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;QB(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){QB(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;QB(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}QB(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=qt()|0;c[v>>2]=h;if((rt(t,u,143616,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;KB(x);KB(w);oc=y;return z|0}function ju(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[8960+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[8960+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function ku(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=oc;r=oc=oc+31&-32;oc=oc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;lu(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){QB(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=Er(c[f>>2]|0)|0;if(mu(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;Er(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+Bt(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function lu(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=oc;h=oc=oc+31&-32;oc=oc+16|0;cs(h,b);b=nt(h,169084)|0;vc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8992,d)|0;d=nt(h,169092)|0;c[e>>2]=rc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=rc[c[(c[d>>2]|0)+16>>2]&127](d)|0;Ec[c[(c[d>>2]|0)+20>>2]&63](a,d);ot(h);oc=g;return}function mu(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[8960+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function nu(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=oc;r=oc=oc+31&-32;oc=oc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;lu(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){QB(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=Er(c[f>>2]|0)|0;if(mu(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;Er(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+Et(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function ou(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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;D=oc;r=oc=oc+31&-32;oc=oc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;lu(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=Er(c[g>>2]|0)|0;if(ds(g,Dr()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=Er(c[g>>2]|0)|0;if(!(ds(g,Dr()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){QB(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;QB(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=Er(c[g>>2]|0)|0;if(mu(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;Er(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+Gt(b,c[v>>2]|0,h);Ct(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;KB(B);KB(C);oc=D;return E|0}function pu(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=It(f)|0;q=qu(b,f,q+160|0)|0;ru(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Lt(b,c[s>>2]|0,g,x)|0;x=D()|0;c[h>>2]=w;c[h+4>>2]=x;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function qu(a,b,c){a=a|0;b=b|0;c=c|0;return su(a,b,c)|0}function ru(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;f=oc=oc+31&-32;oc=oc+16|0;cs(f,b);b=nt(f,169092)|0;c[d>>2]=rc[c[(c[b>>2]|0)+16>>2]&127](b)|0;Ec[c[(c[b>>2]|0)+20>>2]&63](a,b);ot(f);oc=e;return}function su(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=oc;e=oc=oc+31&-32;oc=oc+16|0;cs(e,b);b=nt(e,169084)|0;vc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8986,d)|0;ot(e);oc=a;return d|0}function tu(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=It(f)|0;q=qu(b,f,q+160|0)|0;ru(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Ot(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function uu(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=It(f)|0;q=qu(b,f,q+160|0)|0;ru(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Qt(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function vu(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=oc;r=oc=oc+31&-32;oc=oc+304|0;s=r+300|0;z=r+288|0;A=r+276|0;t=r+272|0;u=r;w=r+268|0;x=r+264|0;y=It(g)|0;r=qu(d,g,r+160|0)|0;ru(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;QB(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=Er(c[g>>2]|0)|0;if(ds(g,Dr()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=Er(c[g>>2]|0)|0;if(!(ds(g,Dr()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){QB(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;QB(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=Er(c[g>>2]|0)|0;if(ju(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;Er(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=St(d,c[t>>2]|0,h,y)|0;Ct(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=rc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=Er(c[d>>2]|0)|0;if(ds(d,Dr()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=Er(c[d>>2]|0)|0;if(!(ds(d,Dr()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;KB(A);KB(z);oc=C;return B|0}function wu(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=It(f)|0;q=qu(b,f,q+160|0)|0;ru(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Ut(b,c[s>>2]|0,g,x)|0;x=D()|0;c[h>>2]=w;c[h+4>>2]=x;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function xu(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=oc;q=oc=oc+31&-32;oc=oc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=It(f)|0;q=qu(b,f,q+160|0)|0;ru(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ds(f,Dr()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=Er(c[f>>2]|0)|0;if(!(ds(f,Dr()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){QB(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;QB(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=rc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=Er(c[f>>2]|0)|0;if(ju(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))rc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;Er(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Wt(b,c[s>>2]|0,g,x)|0;Ct(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=rc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=Er(c[b>>2]|0)|0;if(ds(b,Dr()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=rc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=Er(c[b>>2]|0)|0;if(!(ds(b,Dr()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;KB(z);KB(y);oc=B;return A|0}function yu(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=oc;k=oc=oc+31&-32;oc=oc+112|0;l=(f-e|0)/12|0;if(l>>>0>100){k=Fq(l)|0;if(!k)uB();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=rc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=Er(c[m>>2]|0)|0;if(ds(k,Dr()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=Er(c[k>>2]|0)|0;if(ds(k,Dr()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=Er(c[k>>2]|0)|0;if(!i)k=tc[c[(c[g>>2]|0)+28>>2]&31](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=tc[c[(c[g>>2]|0)+28>>2]&31](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))rc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;Er(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=rc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=Er(c[k>>2]|0)|0;if(ds(k,Dr()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=rc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=Er(c[k>>2]|0)|0;if(!(ds(k,Dr()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}Gq(u);oc=w;return e|0}function zu(a){a=a|0;Us(a);return}function Au(a){a=a|0;Us(a);xB(a);return}function Bu(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=oc;h=oc=oc+31&-32;oc=oc+16|0;k=h+4|0;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=xc[j&31](b,k,e,f,g&1)|0}else{cs(k,e);b=nt(k,169068)|0;ot(k);e=c[b>>2]|0;if(g)Ec[c[e+24>>2]&63](k,b);else Ec[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=mr(b)|0;b=tc[h&31](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=mr(b)|0}if(bs(b,lr()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;KB(k)}oc=l;return b|0}function Cu(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;b=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[143837]|0;a[n+1>>0]=a[143838]|0;a[n+2>>0]=a[143839]|0;a[n+3>>0]=a[143840]|0;a[n+4>>0]=a[143841]|0;a[n+5>>0]=a[143842]|0;p=e+4|0;Ou(n+1|0,143843,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=gb()|0;o=oc;oc=oc+((1*q|0)+15&-16)|0;i=qt()|0;c[j>>2]=g;g=o+(Ju(o,q,i,n,j)|0)|0;n=Ku(o,g,e)|0;i=oc;oc=oc+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;cs(j,e);Pu(o,n,g,i,m,l,j);ot(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Sg(j,i,d,g,e,f)|0;fb(h|0);oc=b;return g|0}function Du(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;a=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Ou(i+1|0,143834,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=gb()|0;n=oc;oc=oc+((1*q|0)+15&-16)|0;p=qt()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(Ju(n,q,p,i,j)|0)|0;g=Ku(n,f,d)|0;i=oc;oc=oc+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;cs(j,d);Pu(n,g,f,i,m,l,j);ot(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Sg(j,i,f,g,d,e)|0;fb(h|0);oc=a;return g|0}function Eu(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;b=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[143837]|0;a[n+1>>0]=a[143838]|0;a[n+2>>0]=a[143839]|0;a[n+3>>0]=a[143840]|0;a[n+4>>0]=a[143841]|0;a[n+5>>0]=a[143842]|0;p=e+4|0;Ou(n+1|0,143843,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=gb()|0;o=oc;oc=oc+((1*q|0)+15&-16)|0;i=qt()|0;c[j>>2]=g;g=o+(Ju(o,q,i,n,j)|0)|0;n=Ku(o,g,e)|0;i=oc;oc=oc+((1*(p<<1|21)|0)+15&-16)|0;cs(j,e);Pu(o,n,g,i,m,l,j);ot(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Sg(j,i,d,g,e,f)|0;fb(h|0);oc=b;return g|0}function Fu(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;a=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Ou(i+1|0,143834,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=gb()|0;n=oc;oc=oc+((1*q|0)+15&-16)|0;p=qt()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(Ju(n,q,p,i,j)|0)|0;g=Ku(n,f,d)|0;i=oc;oc=oc+((1*((o<<1)+-1|0)|0)+15&-16)|0;cs(j,d);Pu(n,g,f,i,m,l,j);ot(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Sg(j,i,f,g,d,e)|0;fb(h|0);oc=a;return g|0}function Gu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=oc;t=oc=oc+31&-32;oc=oc+176|0;r=t+168|0;m=t+144|0;l=t+128|0;i=t+120|0;h=t+104|0;k=t+96|0;o=t+64|0;n=t+164|0;p=t;u=t+160|0;s=t+156|0;t=t+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Lu(k+1|0,169526,c[d+4>>2]|0)|0;c[n>>2]=o;a=qt()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=Ju(o,30,a,k,h)|0}else{g[i>>3]=f;a=Ju(o,30,a,k,i)|0}if((a|0)>29){a=qt()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Mu(n,a,k,l)|0}else{g[m>>3]=f;h=Mu(n,a,k,m)|0}a=c[n>>2]|0;if(!a)uB();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=Ku(z,h,d)|0;if((z|0)!=(o|0)){a=Fq(q<<1)|0;if(!a)uB();else{w=a;x=a}}else{w=p;x=0}cs(r,d);Nu(z,i,h,w,u,s,r);ot(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Sg(r,w,b,z,d,e)|0;Gq(x);Gq(y);oc=v;return z|0}function Hu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=oc;t=oc=oc+31&-32;oc=oc+176|0;r=t+168|0;m=t+144|0;l=t+128|0;i=t+120|0;h=t+104|0;k=t+96|0;o=t+64|0;n=t+164|0;p=t;u=t+160|0;s=t+156|0;t=t+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Lu(k+1|0,143832,c[d+4>>2]|0)|0;c[n>>2]=o;a=qt()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=Ju(o,30,a,k,h)|0}else{g[i>>3]=f;a=Ju(o,30,a,k,i)|0}if((a|0)>29){a=qt()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Mu(n,a,k,l)|0}else{g[m>>3]=f;h=Mu(n,a,k,m)|0}a=c[n>>2]|0;if(!a)uB();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=Ku(z,h,d)|0;if((z|0)!=(o|0)){a=Fq(q<<1)|0;if(!a)uB();else{w=a;x=a}}else{w=p;x=0}cs(r,d);Nu(z,i,h,w,u,s,r);ot(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Sg(r,w,b,z,d,e)|0;Gq(x);Gq(y);oc=v;return z|0}function Iu(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;b=oc;m=oc=oc+31&-32;oc=oc+96|0;l=m+72|0;k=m+80|0;h=m+48|0;j=m;m=m+76|0;a[k>>0]=a[143826]|0;a[k+1>>0]=a[143827]|0;a[k+2>>0]=a[143828]|0;a[k+3>>0]=a[143829]|0;a[k+4>>0]=a[143830]|0;a[k+5>>0]=a[143831]|0;i=qt()|0;c[l>>2]=g;g=Ju(h,20,i,k,l)|0;k=h+g|0;i=Ku(h,k,e)|0;cs(l,e);n=nt(l,169052)|0;ot(l);vc[c[(c[n>>2]|0)+32>>2]&7](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Sg(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;oc=b;return g|0}function Ju(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=oc;h=oc=oc+31&-32;oc=oc+16|0;c[h>>2]=f;f=Sp(d)|0;d=Go(a,b,e,h)|0;if(f|0)Sp(f)|0;oc=g;return d|0}function Ku(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function Lu(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function Mu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;c[g>>2]=e;e=Sp(b)|0;b=sq(a,d,g)|0;if(e|0)Sp(e)|0;oc=f;return b|0}function Nu(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;v=oc;s=oc=oc+31&-32;oc=oc+16|0;t=nt(i,169052)|0;r=nt(i,169068)|0;Ec[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=tc[c[(c[t>>2]|0)+28>>2]&31](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=tc[c[(c[t>>2]|0)+28>>2]&31](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=tc[c[(c[t>>2]|0)+28>>2]&31](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(Op(p,qt()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Np(p,qt()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=rc[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=tc[c[(c[t>>2]|0)+28>>2]&31](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{vc[c[(c[t>>2]|0)+32>>2]&7](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=tc[c[(c[k>>2]|0)+28>>2]&31](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=rc[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}vc[c[(c[t>>2]|0)+32>>2]&7](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;KB(s);oc=v;return}function Ou(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}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;r=oc;q=oc=oc+31&-32;oc=oc+16|0;p=nt(i,169052)|0;l=nt(i,169068)|0;Ec[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=tc[c[(c[p>>2]|0)+28>>2]&31](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=tc[c[(c[p>>2]|0)+28>>2]&31](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=tc[c[(c[p>>2]|0)+28>>2]&31](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=rc[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=tc[c[(c[p>>2]|0)+28>>2]&31](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{vc[c[(c[p>>2]|0)+32>>2]&7](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;KB(q);oc=r;return}function Qu(a){a=a|0;Us(a);return}function Ru(a){a=a|0;Us(a);xB(a);return}function Su(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=oc;h=oc=oc+31&-32;oc=oc+16|0;k=h+4|0;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=xc[j&31](b,k,e,f,g&1)|0}else{cs(k,e);b=nt(k,169092)|0;ot(k);e=c[b>>2]|0;if(g)Ec[c[e+24>>2]&63](k,b);else Ec[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=Er(b)|0;b=tc[h&31](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=Er(b)|0}if(ds(b,Dr()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;ZB(k)}oc=l;return b|0}function Tu(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;b=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[143837]|0;a[n+1>>0]=a[143838]|0;a[n+2>>0]=a[143839]|0;a[n+3>>0]=a[143840]|0;a[n+4>>0]=a[143841]|0;a[n+5>>0]=a[143842]|0;p=e+4|0;Ou(n+1|0,143843,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=gb()|0;o=oc;oc=oc+((1*q|0)+15&-16)|0;i=qt()|0;c[j>>2]=g;g=o+(Ju(o,q,i,n,j)|0)|0;n=Ku(o,g,e)|0;i=oc;oc=oc+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;cs(j,e);av(o,n,g,i,m,l,j);ot(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=_u(j,i,d,g,e,f)|0;fb(h|0);oc=b;return g|0}function Uu(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;a=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Ou(i+1|0,143834,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=gb()|0;n=oc;oc=oc+((1*q|0)+15&-16)|0;p=qt()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(Ju(n,q,p,i,j)|0)|0;g=Ku(n,f,d)|0;i=oc;oc=oc+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;cs(j,d);av(n,g,f,i,m,l,j);ot(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=_u(j,i,f,g,d,e)|0;fb(h|0);oc=a;return g|0}function Vu(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;b=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[143837]|0;a[n+1>>0]=a[143838]|0;a[n+2>>0]=a[143839]|0;a[n+3>>0]=a[143840]|0;a[n+4>>0]=a[143841]|0;a[n+5>>0]=a[143842]|0;p=e+4|0;Ou(n+1|0,143843,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=gb()|0;o=oc;oc=oc+((1*q|0)+15&-16)|0;i=qt()|0;c[j>>2]=g;g=o+(Ju(o,q,i,n,j)|0)|0;n=Ku(o,g,e)|0;i=oc;oc=oc+((1*((p<<1|21)<<2)|0)+15&-16)|0;cs(j,e);av(o,n,g,i,m,l,j);ot(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=_u(j,i,d,g,e,f)|0;fb(h|0);oc=b;return g|0}function Wu(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;a=oc;k=oc=oc+31&-32;oc=oc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Ou(i+1|0,143834,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=gb()|0;n=oc;oc=oc+((1*q|0)+15&-16)|0;p=qt()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(Ju(n,q,p,i,j)|0)|0;g=Ku(n,f,d)|0;i=oc;oc=oc+((1*((o<<1)+-1<<2)|0)+15&-16)|0;cs(j,d);av(n,g,f,i,m,l,j);ot(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=_u(j,i,f,g,d,e)|0;fb(h|0);oc=a;return g|0} |
| | | function Pc(){gs();pe();eo();hs()}function Qc(a){a=a|0;var b=0;b=oc;oc=oc+a|0;oc=oc+15&-16;return b|0}function Rc(){return oc|0}function Sc(a){a=a|0;oc=a}function Tc(a,b){a=a|0;b=b|0;oc=a;pc=b}function Uc(){cb();return 0}function Vc(a){a=a|0;var b=0;ma(9256,9264,9280,0,116037,61,116040,0,116040,0,115352,116042,132);b=vB(8)|0;c[b>>2]=44;c[b+4>>2]=0;oa(9256,115361,3,11984,116045,4,b|0,0);b=vB(8)|0;c[b>>2]=45;c[b+4>>2]=0;oa(9256,115367,3,11996,116045,5,b|0,0);b=vB(8)|0;c[b>>2]=133;c[b+4>>2]=0;oa(9256,115374,2,12008,116050,46,b|0,0);b=vB(8)|0;c[b>>2]=134;c[b+4>>2]=0;oa(9256,115381,2,12008,116050,46,b|0,0);b=vB(8)|0;c[b>>2]=47;c[b+4>>2]=0;a=vB(8)|0;c[a>>2]=48;c[a+4>>2]=0;pa(9256,115399,9248,116054,18,b|0,9248,116045,6,a|0);a=vB(8)|0;c[a>>2]=49;c[a+4>>2]=0;b=vB(8)|0;c[b>>2]=50;c[b+4>>2]=0;pa(9256,115409,9248,116054,18,a|0,9248,116045,6,b|0);b=vB(8)|0;c[b>>2]=51;c[b+4>>2]=0;a=vB(8)|0;c[a>>2]=52;c[a+4>>2]=0;pa(9256,115417,9248,116054,18,b|0,9248,116045,6,a|0);a=vB(8)|0;c[a>>2]=53;c[a+4>>2]=0;b=vB(8)|0;c[b>>2]=54;c[b+4>>2]=0;pa(9256,115429,9248,116054,18,a|0,9248,116045,6,b|0);b=vB(8)|0;c[b>>2]=55;c[b+4>>2]=0;a=vB(8)|0;c[a>>2]=56;c[a+4>>2]=0;pa(9256,115441,9248,116054,18,b|0,9248,116045,6,a|0);a=vB(8)|0;c[a>>2]=57;c[a+4>>2]=0;pa(9256,115445,9248,116054,18,a|0,0,0,0,0);ma(9336,9352,9368,9256,116037,62,116037,63,116037,64,115456,116042,135);a=vB(4)|0;c[a>>2]=136;oa(9336,116058,2,12016,116050,58,a|0,0);na(9256,116078,3,12024,116214,27,19);na(9256,116088,3,12148,116214,28,7);return}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=oc;oc=oc+16|0;n=o+8|0;m=o;e=b+148|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[166624]|0)==0?$C(166624)|0:0)c[41836]=Ga(1,11936)|0;Da(c[41836]|0,f|0,115469,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=La(115475)|0;g=Ha(g|0,j|0)|0;Ea(j|0);j=md(g,115487)|0;Ea(g|0);c[n>>2]=115495;c[n+4>>2]=j?145680:145674;Za(0,n|0);a[b+84>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Uo(f,46,g)|0;if(!f){g=h;break a}if(!(Co(f,115504,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+149>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=Fa(115509)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=Fq(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=Fq(f+4|0)|0;c[g>>2]=f;e=d}pD(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Ka(h|0,1,11944,n|0)|0;Ea(h|0);kd(m,115519,115530);ld(n,b,115367);k=c[m>>2]|0;d=La(115542)|0;Pa(k|0,d|0,c[n>>2]|0);Ea(d|0);Ea(c[n>>2]|0);c[b+140>>2]=Va()|0;b=c[l>>2]|0;n=La(115552)|0;Pa(b|0,n|0,c[m>>2]|0);Ea(n|0);Ea(c[m>>2]|0);oc=o;return}function Xc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=oc;oc=oc+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=La(115680)|0;c[w>>2]=Ha(f|0,x|0)|0;Ea(x|0);pd(y,w);Ea(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+144|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Va()|0;h=b+140|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+160>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+149>>0]|0))switch(a[(TB(y,0)|0)>>0]|0){case 1:{JB(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;qd(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)xB(c[w>>2]|0);break a}case 2:{JB(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;rd(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)xB(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=La(115552)|0;e=Ha(e|0,f|0)|0;Ea(f|0);f=La(115706)|0;h=f;if((a[166672]|0)==0?$C(166672)|0:0)c[41842]=Ga(2,11972)|0;b=c[41842]|0;Ia(f|0);c[w>>2]=h;Da(b|0,e|0,115701,w|0);Ea(f|0);Ea(e|0);break a}default:{b=a[(TB(y,0)|0)>>0]|0;c[k>>2]=115722;c[k+4>>2]=b;Za(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;UB(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;qD(f|0,f+13|0,b|0)|0;QB(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;JB(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;UB(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)xB(c[s>>2]|0);switch(k<<24>>24){case 8:{qd(b,e,w);break}case 9:{rd(b,e,w);break}default:{c[t>>2]=115685;c[t+4>>2]=k&255;Za(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)xB(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;qD(f|0,f+r|0,A|0)|0;QB(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){oc=z;return}xB(c[y>>2]|0);oc=z;return}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=oc;oc=oc+16|0;h=j;g=Fa(115975)|0;f=b+132|0;c[h>>2]=c[f>>2];Ea(Ba(g|0,1,11980,h|0)|0);Ea(g|0);g=b+104|0;Hd(g);Gd(g);h=c[b+108>>2]|0;i=b+112|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);Id(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+84>>0]|0)==0?(e=c[b+56>>2]|0,e|0):0)Gq(e);c[f>>2]=0;a[b+136>>0]=1;a[b+128>>0]=0;QB(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;oc=j;return}function Zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=oc;oc=oc+16|0;g=o+4|0;i=o;j=b+124|0;a:do if(c[j>>2]|0){k=b+108|0;l=b+120|0;m=b+4|0;n=b+156|0;h=b+48|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=xd(c[m>>2]|0,115966,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;wd(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){xB(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){xB(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+128>>0]=1;c[b+132>>2]=yd(c[m>>2]|0,115950,i)|0;oc=o;return}while(0);a[b+128>>0]=0;oc=o;return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;e=oc;oc=oc+16|0;f=e;c[f>>2]=d[b+148>>0];c[a>>2]=Qa(11824,f|0)|0;oc=e;return}function $c(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=oc;oc=oc+16|0;g=e;f=+Aa(c[d>>2]|0,11824,g|0);Oa(c[g>>2]|0);a[b+148>>0]=f!=0.0&1;oc=e;return}function ad(a,b){a=a|0;b=b|0;var e=0,f=0;e=oc;oc=oc+16|0;f=e;c[f>>2]=d[b+149>>0];c[a>>2]=Qa(11824,f|0)|0;oc=e;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=oc;oc=oc+16|0;g=e;f=+Aa(c[d>>2]|0,11824,g|0);Oa(c[g>>2]|0);a[b+149>>0]=f!=0.0&1;oc=e;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=oc;oc=oc+16|0;e=d;c[e>>2]=c[b+152>>2];c[a>>2]=Qa(11872,e|0)|0;oc=d;return}function dd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=oc;oc=oc+16|0;f=d;e=+Aa(c[b>>2]|0,11872,f|0);Oa(c[f>>2]|0);c[a+152>>2]=~~e;oc=d;return}function ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=oc;oc=oc+16|0;e=d;c[e>>2]=c[b+156>>2];c[a>>2]=Qa(11872,e|0)|0;oc=d;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=oc;oc=oc+16|0;f=d;e=+Aa(c[b>>2]|0,11872,f|0);Oa(c[f>>2]|0);c[a+156>>2]=~~e;oc=d;return}function gd(a,b){a=a|0;b=b|0;var d=0,e=0;d=oc;oc=oc+16|0;e=d;g[e>>3]=+g[b+160>>3];c[a>>2]=Qa(11912,e|0)|0;oc=d;return}function hd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=oc;oc=oc+16|0;f=d;e=+Aa(c[b>>2]|0,11912,f|0);Oa(c[f>>2]|0);g[a+160>>3]=e;oc=d;return}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=oc;oc=oc+16|0;e=d+4|0;f=d;c[e>>2]=Ma()|0;i=b+108|0;h=b+120|0;j=c[h>>2]|0;g=(j>>>0)/204|0;Jd(e,115988,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+124|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;Kd(e,115994,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];Ld(e,115999,f);b=c[e>>2]|0;c[a>>2]=b;Ia(b|0);Ea(c[e>>2]|0);oc=d;return}function jd(a){a=a|0;Ea(c[a>>2]|0);return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=La(b|0)|0;d=La(d|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);return}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=La(d|0)|0;d=Ha(f|0,e|0)|0;Ea(e|0);od(a,d,115656,b);Ea(d|0);return}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=oc;oc=oc+16|0;e=g;f=g+8|0;if((a[166632]|0)==0?$C(166632)|0:0)c[41837]=Ga(1,11940)|0;h=+Ca(c[41837]|0,b|0,d|0,f|0,e|0);Oa(c[f>>2]|0);oc=g;return h!=0.0|0}function nd(a){a=a|0;T(a|0)|0;EC()}function od(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=oc;oc=oc+16|0;g=i;h=i+8|0;if((a[166640]|0)==0?$C(166640)|0:0)c[41838]=Ga(2,11948)|0;k=c[41838]|0;Ia(c[f>>2]|0);c[g>>2]=c[f>>2];j=+Ca(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Oa(h|0);oc=i;return}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=oc;oc=oc+16|0;e=h;i=+Aa(c[d>>2]|0,9224,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)DB(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Oa(e|0);oc=h;return}else d=b}else{j=g+16&-16;d=vB(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}pD(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Oa(e|0);oc=h;return}function qd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;oc=oc+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+137|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{td(b,c[b+152>>2]<<10,d,g);break}case 11:{td(b,16e3,16e3,g);break}case 2:{td(b,(c[b+152>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){oc=j;return}}g=b+28|0;if((h|0)!=10){oc=j;return}f=b+32|0;d=ud(g,e,(c[b+36>>2]|0)+(c[f>>2]|0)|0)|0;if(!d){oc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){oc=j;return}d=c[b+4>>2]|0;if((a[166624]|0)==0?$C(166624)|0:0)c[41836]=Ga(1,11936)|0;Da(c[41836]|0,d|0,115737,i|0);oc=j;return}function rd(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=oc;oc=oc+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+136|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=115819;Za(0,j|0);break}case 12:{c[k>>2]=115834;Za(0,k|0);break}default:{c[l>>2]=115849;c[l+4>>2]=f;Za(0,l|0);oc=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){oc=q;return}vd(b+48|0,e,f);a[i>>0]=0;c[m>>2]=115909;Za(0,m|0);oc=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[166624]|0)==0?$C(166624)|0:0)c[41836]=Ga(1,11936)|0;Da(c[41836]|0,f|0,115925,o|0);oc=q;return}if(!d){oc=q;return}c[p>>2]=f+5;f=b+156|0;a:do if(c[f>>2]|0){g=b+128|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=xd(c[h>>2]|0,115966,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+132>>2]=yd(c[h>>2]|0,115950,n)|0;break}else break a}while(0);j=b+112|0;g=c[j>>2]|0;k=b+108|0;f=c[k>>2]|0;o=g-f|0;i=b+120|0;l=b+124|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){zd(b+104|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;oc=q;return}while(0);wd(b+48|0,e);oc=q;return}function sd(b){b=b|0;if((a[b+11>>0]|0)>=0)return;xB(c[b>>2]|0);return}function td(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=oc;oc=oc+32|0;h=i;a[b+137>>0]=0;j=z(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=Fq(j)|0;c[h>>2]=115757;c[h+4>>2]=j;Za(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[166648]|0)==0?$C(166648)|0:0)c[41839]=Ga(5,16)|0;j=c[41839]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;Da(j|0,b|0,115747,h|0);oc=i;return}function ud(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=oc;oc=oc+128|0;n=q+8|0;p=q;o=q+24|0;i=q+112|0;j=e+11|0;k=a[j>>0]|0;l=k<<24>>24<0;m=c[e>>2]|0;g=e+12|0;h=c[g>>2]|0;r=a[(l?m:e)+h+1+-1>>0]|0;h=h+1|0;c[g>>2]=h;if(!(r<<24>>24)){p=b+12|0;r=gm(c[p>>2]|0)|0;a[r>>0]=4;hm(c[p>>2]|0,r)|0;mm(c[p>>2]|0,((a[j>>0]|0)<0?c[e>>2]|0:e)+(c[g>>2]|0)|0,4,o,i)|0;p=c[o>>2]|0;r=d[i>>0]|0;c[n>>2]=115789;c[n+4>>2]=p;c[n+8>>2]=r;Za(0,n|0);r=0;oc=q;return r|0}b=ym(c[b+12>>2]|0,o,l?m+h|0:e+h|0,(l?c[e+4>>2]|0:k&255)-h|0)|0;e=a[o+9>>0]|0;if(!(e<<24>>24)){r=c[o+4>>2]<<1;pD(f|0,b|0,r|0)|0;oc=q;return r|0}else{r=dm(e)|0;c[p>>2]=115783;c[p+4>>2]=r;Za(1,p|0);r=0;oc=q;return r|0}return 0}function vd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=oc;oc=oc+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=115939;c[j+4>>2]=e;Za(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){Fc[c[(c[b>>2]|0)+20>>2]&31](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){oc=l;return}Fc[c[(c[b>>2]|0)+20>>2]&31](b,g+f|0,e);oc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;Fc[c[(c[b>>2]|0)+20>>2]&31](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;Fc[c[(c[b>>2]|0)+20>>2]&31](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;Fc[c[(c[b>>2]|0)+20>>2]&31](b,j+d|0,(m&255)<<8|n&255);oc=l;return}default:{oc=l;return}}}function wd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;Fc[c[(c[b>>2]|0)+20>>2]&31](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function xd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=oc;oc=oc+16|0;f=h;g=h+8|0;if((a[166656]|0)==0?$C(166656)|0:0)c[41840]=Ga(2,11956)|0;j=c[41840]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);oc=h;return ~~i|0}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=oc;oc=oc+16|0;f=h;g=h+8|0;if((a[166664]|0)==0?$C(166664)|0:0)c[41841]=Ga(2,11964)|0;j=c[41841]|0;c[f>>2]=c[e>>2];i=+Ca(j|0,b|0,d|0,g|0,f|0);Oa(c[g>>2]|0);oc=h;return ~~i|0}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=oc;oc=oc+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=S(8)|0;BB(r,127353);c[r>>2]=113808;X(r|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){xB(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;oc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=S(8)|0;BB(r,127353);c[r>>2]=113808;X(r|0,11744,126)}else{d=vB(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=vB(4080)|0;Cd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;Dd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)xB(f);oc=r;return}if((d|0)!=(b|0)){c[k>>2]=vB(4080)|0;Ad(a,k);oc=r;return}c[k>>2]=vB(4080)|0;Bd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{qD(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=S(8)|0;BB(r,127353);c[r>>2]=113808;X(r|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){xB(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;oc=r;return}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qD(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{i=vB(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){xB(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{qD(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{i=vB(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){xB(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function Ed(a){a=a|0;var b=0,d=0,e=0,f=0;Hd(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{xB(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;xB(b);return}function Fd(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;Gq(b);return}function Gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{xB(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Id(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){xB(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Id(a);return}xB(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Id(a);return}function Hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)xB(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{xB(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Id(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{g=vB(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;xB(b);return}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;oc=oc+16|0;f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(11888,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);oc=e;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;oc=oc+16|0;f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(11888,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);oc=e;return}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;oc=oc+16|0;f=e;a=c[a>>2]|0;b=La(b|0)|0;c[f>>2]=c[d>>2];d=Qa(11896,f|0)|0;Pa(a|0,b|0,d|0);Ea(d|0);Ea(b|0);oc=e;return}function Md(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Nd(a){a=a|0;if(!a)return;Dc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;oc=oc+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)DB(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=vB(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)pD(b|0,d|0,e|0)|0;a[b+e>>0]=0;Ec[f&63](g,h);if((a[h+11>>0]|0)>=0){oc=j;return}xB(c[h>>2]|0);oc=j;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=oc;oc=oc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Ec[e&63](a,f);Ea(c[f>>2]|0);oc=g;return}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;Dc[e&255](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;Dc[e&255](a);return}}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=oc;oc=oc+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;Ec[d&63](e,a);Ia(c[e>>2]|0);g=c[e>>2]|0;Ea(g|0);oc=f;return g|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=oc;oc=oc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;Ec[e&63](a,f);Ea(c[f>>2]|0);oc=g;return}function Td(b,d){b=b|0;d=d|0;var e=0;e=vB(176)|0;ce(e,d);a[e+168>>0]=0;c[e+172>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=12044;return e|0}function Ud(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=ka(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9336,c[e>>2]|0)|0;return}function Vd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Wd(a){a=a|0;if(!a)return;Dc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Xd(a){a=a|0;return a|0}function Yd(a){a=a|0;return a|0}function Zd(a,b){a=a|0;b=b|0;Dc[c[a>>2]&255](b);return}function _d(b){b=b|0;a[b+168>>0]=1;return}function $d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=oc;oc=oc+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=tc[a&31](f,g)|0;Ea(c[g>>2]|0);Ea(c[f>>2]|0);oc=e;return d|0}function ae(b){b=b|0;var d=0,e=0,f=0,g=0;g=oc;oc=oc+16|0;e=g;c[b>>2]=12060;d=b+172|0;if(!(a[b+168>>0]|0)){f=c[d>>2]|0;Ea(f|0);fe(b);oc=g;return}f=c[d>>2]|0;if((a[166624]|0)==0?$C(166624)|0:0)c[41836]=Ga(1,11936)|0;Da(c[41836]|0,f|0,116423,e|0);f=c[d>>2]|0;Ea(f|0);fe(b);oc=g;return}function be(a){a=a|0;ae(a);xB(a);return}function ce(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=oc;oc=oc+32|0;h=f+16|0;i=f+8|0;j=f;c[d>>2]=12076;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=em()|0;c[d+40>>2]=e;c[j>>2]=116219;c[j+4>>2]=e;Za(0,j|0);c[i>>2]=116232;c[i+4>>2]=d+28;Za(0,i|0);c[d+56>>2]=0;c[d+60>>2]=0;c[d+64>>2]=0;c[d+80>>2]=0;a[d+84>>0]=0;c[d+48>>2]=12092;c[d+96>>2]=eh()|0;c[h>>2]=116247;Za(0,h|0);e=d+104|0;c[d+132>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+136>>0]=1;a[d+137>>0]=1;e=d+140|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+152>>2]=12;c[d+52>>2]=g;oc=f;return}function de(a){a=a|0;ae(a);xB(a);return}function ee(a){a=a|0;var b=0,d=0,e=0;b=oc;oc=oc+16|0;d=b+8|0;e=b;c[e>>2]=116355;Za(0,e|0);qm(c[a+12>>2]|0);Gq(c[a+8>>2]|0);c[d>>2]=116378;Za(0,d|0);oc=b;return}function fe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=oc;oc=oc+48|0;l=m+32|0;k=m+24|0;j=m+16|0;g=m+8|0;d=m;c[b>>2]=12076;f=Fa(115975)|0;c[d>>2]=c[b+132>>2];Ea(Ba(f|0,1,11980,d|0)|0);Ea(f|0);c[g>>2]=116402;Za(0,g|0);g=b+104|0;Hd(g);f=b+108|0;d=c[f>>2]|0;h=b+112|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{xB(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)xB(d);h=b+48|0;c[h>>2]=12092;Ti(c[b+96>>2]|0)|0;c[h>>2]=12124;if((a[b+84>>0]|0)==0?(i=c[b+56>>2]|0,i|0):0)Gq(i);c[j>>2]=116282;Za(0,j|0);c[k>>2]=116355;Za(0,k|0);qm(c[b+40>>2]|0);Gq(c[b+36>>2]|0);c[l>>2]=116378;Za(0,l|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;Ea(b|0);oc=m;return}xB(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;Ea(b|0);oc=m;return}function ge(a){a=a|0;fe(a);xB(a);return}function he(b){b=b|0;var d=0,e=0,f=0;f=oc;oc=oc+16|0;e=f;c[b>>2]=12092;Ti(c[b+48>>2]|0)|0;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Gq(d);c[e>>2]=116282;Za(0,e|0);oc=f;return}function ie(b){b=b|0;var d=0,e=0,f=0;f=oc;oc=oc+16|0;e=f;c[b>>2]=12092;Ti(c[b+48>>2]|0)|0;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Gq(d);c[e>>2]=116282;Za(0,e|0);xB(b);oc=f;return}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,s=0,t=0;t=oc;oc=oc+32|0;s=t+8|0;o=t;p=t+20|0;q=t+16|0;r=b+48|0;yl(c[r>>2]|0,d,e,0,0,0)|0;c[p>>2]=1;m=b+12|0;n=b+36|0;f=b+20|0;g=b+24|0;h=b+28|0;i=b+8|0;j=b+16|0;k=b+4|0;l=b+20|0;a:while(1){c[p>>2]=0;e=xl(c[r>>2]|0,p)|0;switch(e|0){case 13:{d=14;break a}case 0:break;default:{d=3;break a}}d=Al(c[r>>2]|0)|0;if(d|0){c[l>>2]=El(d,0,q)|0;c[g>>2]=El(d,1,q)|0;c[h>>2]=El(d,2,q)|0;if(!(c[m>>2]|0)){e=Cl(d,0)|0;me(b,e,Dl(d,0)|0)}if(!(a[n>>0]|0))ne(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[m>>2]|0,c[j>>2]|0);d=c[c[k>>2]>>2]|0;if((a[166624]|0)==0?$C(166624)|0:0)c[41836]=Ga(1,11936)|0;Da(c[41836]|0,d|0,116350,o|0)}if(!(c[p>>2]|0)){d=14;break}}if((d|0)==3){c[s>>2]=116306;c[s+4>>2]=e;Za(0,s|0);oc=t;return}else if((d|0)==14){oc=t;return}}function ke(b){b=b|0;var d=0,e=0,f=0;f=oc;oc=oc+16|0;e=f;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)Gq(d);c[e>>2]=116282;Za(0,e|0);oc=f;return}function le(a){a=a|0;hb()}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=oc;oc=oc+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=116324;c[h+4>>2]=d;c[h+8>>2]=e;Za(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(z(e<<2,e)|0)+33554432|0;e=Fq((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[166680]|0)==0?$C(166680)|0:0)c[41843]=Ga(4,48)|0;b=c[41843]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,116337,h|0);oc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[166680]|0)==0?$C(166680)|0:0)c[41843]=Ga(4,48)|0;b=c[41843]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;Da(b|0,d|0,116337,h|0);oc=i;return}}function ne(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(z(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){x=C+j|0;y=E+i|0;w=0;v=k;u=l;while(1){n=d[a+u>>0]|0;p=d[a+(u+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+v>>0]|0;r=s<<8|t;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;q=(H*1634|0)+J>>10;H=(z(m,-400)|0)+J+(z(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;J=(H*1634|0)+p>>10;H=(z(m,-400)|0)+p+(z(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=u+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=t+-128|0;K=s+-128|0;J=m+(H*1634|0)>>10;H=(z(H,-832)|0)+(z(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(z(I,-832)|0)+(z(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;w=w+2|0;if(w>>>0>=g>>>0)break;else{j=j+8|0;v=v+1|0;i=i+1|0;u=u+2|0}}l=D+l|0;j=x;k=E+k|0;i=y}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function oe(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=oc;oc=oc+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)DB(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=vB(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)pD(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;Fc[b&31](h,j,k);Ia(c[h>>2]|0);d=c[h>>2]|0;Ea(d|0);Ea(c[k>>2]|0);if((a[j+11>>0]|0)>=0){oc=l;return d|0}xB(c[j>>2]|0);oc=l;return d|0}function pe(){Vc(0);return}function qe(a){a=a|0;return}function re(a){a=a|0;xB(a);return}function se(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;n=b+4|0;c[n>>2]=1;p=b+8|0;ue(c[p>>2]|0,b);e=c[p>>2]|0;l=c[e+276>>2]|0;g=c[e+128>>2]|0;m=(c[g+5048>>2]|0)/4|0;o=b+12|0;d=c[o>>2]|0;k=z(d,m)|0;f=d+1|0;m=z(f,m)|0;j=c[e+280>>2]|0;m=(m|0)>(j|0)?j:m;j=b+16|0;s=(a[j>>0]|0)==0;r=s?3:2;q=c[g+5056>>2]|0;h=q+-1|0;if(s){if((d|0)>0){ve(e,b,h,d+-1|0,2);e=c[p>>2]|0;d=c[o>>2]|0}ve(e,b,h,d,2);d=(c[o>>2]|0)+1|0;e=c[p>>2]|0;if((d|0)<(c[(c[e+128>>2]|0)+5064>>2]|0))ve(e,b,h,d,2)}else{s=(c[g+5064>>2]|0)+-1|0;ve(e,b,h,(s|0)<(f|0)?s:f,1)}d=c[p>>2]|0;e=c[o>>2]|0;if(!(a[j>>0]|0)){s=z(c[d+156>>2]|0,e)|0;if(a[(c[d+144>>2]|0)+(s*24|0)+21>>0]|0){e=0;i=11}}else{s=we(d,e)|0;d=c[p>>2]|0;h=z(c[d+156>>2]|0,c[o>>2]|0)|0;a[(c[d+144>>2]|0)+(h*24|0)+21>>0]=s&1;if(s){e=(a[j>>0]|0)!=0;i=11}}do if((i|0)==11){xe(d,e,k,m,0,l);d=c[p>>2]|0;e=(a[j>>0]|0)!=0;if((c[(c[d+128>>2]|0)+4996>>2]|0)>8)ye(d,e,k,m,0,l);else ze(d,e,k,m,0,l);e=c[p>>2]|0;f=c[e+128>>2]|0;if(c[f+5012>>2]|0){d=(a[j>>0]|0)!=0;if((c[f+5004>>2]|0)>8){Ae(e,d,k,m,0,l);break}else{Be(e,d,k,m,0,l);break}}}while(0);if((q|0)<=0){c[n>>2]=3;s=c[p>>2]|0;Ce(s,b);return}d=0;do{s=c[p>>2]|0;De((c[s+332>>2]|0)+(((z(c[o>>2]|0,c[(c[s+128>>2]|0)+5056>>2]|0)|0)+d|0)*80|0)|0,r);d=d+1|0}while((d|0)!=(q|0));c[n>>2]=3;s=c[p>>2]|0;Ce(s,b);return}function te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=oc;oc=oc+112|0;g=f+104|0;e=f;c[g>>2]=c[d+12>>2];Eo(e,116445,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Fp(e)|0;if(d>>>0>4294967279)DB(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;oc=f;return}}else{h=d+16&-16;g=vB(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}pD(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;oc=f;return}function ue(a,b){a=a|0;b=b|0;var d=0;b=a+356|0;Ee(b);d=a+336|0;c[d>>2]=(c[d>>2]|0)+-1;a=a+340|0;c[a>>2]=(c[a>>2]|0)+1;Ge(b);return}function ve(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Ke(a,b,(z(c[(c[a+128>>2]|0)+5056>>2]|0,e)|0)+d|0,f);return}function we(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,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,S=0,T=0,U=0;S=b+128|0;i=c[S>>2]|0;g=c[b+136>>2]|0;T=c[i+5044>>2]|0;U=c[i+5040>>2]|0;P=(1<<U)+-1|0;Q=c[i+5056>>2]|0;F=c[i+5036>>2]|0;h=f<<U>>F;F=f+1<<U>>F;O=c[i+5060>>2]|0;F=(O|0)<(F|0)?O:F;if((h|0)>=(F|0)){U=0;return U|0}G=b+176|0;H=b+164|0;I=b+152|0;J=b+156|0;K=b+160|0;L=b+144|0;M=b+52|0;N=b+56|0;O=g+53|0;E=g+4384|0;f=0;g=i;a:while(1){if((c[g+5052>>2]|0)>0){y=z(h,T)|0;w=(y|0)==0?0:32;D=(y|0)!=0&(y&P|0)==0;A=z(y>>U,Q)|0;B=y+-1|0;C=z(B>>U,Q)|0;x=0;do{v=(z(c[G>>2]|0,h)|0)+x|0;v=(c[H>>2]|0)+(v*3|0)|0;v=(d[v>>0]|d[v+1>>0]<<8)&7;u=v&65535;if(v<<16>>16){v=z(x,T)|0;p=v>>U;n=c[I>>2]|0;q=v>>n;i=y>>n;if((q|0)<=-1){g=8;break a}r=c[J>>2]|0;if((q|0)>=(r|0)){g=8;break a}if((i|0)<=-1){g=11;break a}s=c[K>>2]|0;if((i|0)>=(s|0)){g=11;break a}t=c[L>>2]|0;k=z(r,i)|0;i=c[M>>2]|0;o=(c[N>>2]|0)-i>>2;j=e[t+((k+q|0)*24|0)+2>>1]|0;if(o>>>0<=j>>>0){f=0;g=33;break a}l=i;m=c[l+(j<<2)>>2]|0;j=(v|0)==0?0:16;do if((v|0)!=0&(v&P|0)==0){if(!(a[m+768>>0]|0)){i=v+-1>>n;if(!((i|0)>-1&(i|0)<(r|0))){g=16;break a}k=e[t+((k+i|0)*24|0)+2>>1]|0;if(o>>>0>k>>>0?(c[m+804>>2]|0)!=(c[(c[l+(k<<2)>>2]|0)+804>>2]|0):0){j=0;break}}if(!(a[O>>0]|0)){k=c[E>>2]|0;j=(c[k+(p+A<<2)>>2]|0)==(c[k+((v+-1>>U)+A<<2)>>2]|0)?j:0}}while(0);do if(D){if(!(a[m+768>>0]|0)){i=B>>n;if(!((i|0)>-1&(i|0)<(s|0))){g=24;break a}t=e[t+(((z(r,i)|0)+q|0)*24|0)+2>>1]|0;if(o>>>0>t>>>0?(c[m+804>>2]|0)!=(c[(c[l+(t<<2)>>2]|0)+804>>2]|0):0){i=0;break}}if(!(a[O>>0]|0)){i=c[E>>2]|0;i=(c[i+(p+A<<2)>>2]|0)==(c[i+(p+C<<2)>>2]|0)?w:0}else i=w}else i=w;while(0);if(!(a[m+758>>0]|0)){Ie(b,v,y,u,0,j&255,i&255);Je(b,v,y,u,0,0);f=1;g=c[S>>2]|0}}x=x+1|0}while((x|0)<(c[g+5052>>2]|0))}h=h+1|0;if((h|0)>=(F|0)){g=33;break}}if((g|0)==8)R(119015,119052,120,119072);else if((g|0)==11)R(119076,119052,121,119072);else if((g|0)==16)R(119015,119052,120,119072);else if((g|0)==24)R(119076,119052,121,119072);else if((g|0)==33)return f|0;return 0}function xe(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ja=g?2:1;ka=g?1:2;la=g&1;ma=(g^1)&1;ia=g?80:160;ga=g?16:32;ha=f+276|0;fa=c[ha>>2]|0;fa=(fa|0)>(k|0)?k:fa;K=c[f+280>>2]|0;K=(K|0)>(i|0)?i:K;if((K|0)<=(h|0))return;L=(fa|0)>(j|0);M=f+264|0;N=f+172|0;O=f+176|0;P=f+180|0;Q=f+164|0;S=f+192|0;T=f+252|0;U=f+196|0;V=f+256|0;W=f+200|0;X=f+260|0;Y=f+184|0;Z=f+244|0;_=f+152|0;$=f+156|0;aa=f+160|0;ba=f+144|0;ca=f+52|0;da=f+56|0;ea=f+112|0;J=f+324|0;a:while(1){if(L){F=h<<2;G=(F|0)/4|0;H=F-ma|0;E=j;do{q=E<<2;I=(q|0)/4|0;g=(z(c[ha>>2]|0,G)|0)+I|0;g=(c[M>>2]|0)+g|0;k=a[g>>0]|0;o=k&255;if(!(ia&o))a[g>>0]=k&-4;else{p=q-la|0;f=c[N>>2]|0;g=p>>f;k=H>>f;if((g|0)<=-1){g=10;break a}l=c[O>>2]|0;if((g|0)>=(l|0)){g=10;break a}if((k|0)<=-1){g=13;break a}m=c[P>>2]|0;if((k|0)>=(m|0)){g=13;break a}n=c[Q>>2]|0;k=n+(((z(l,k)|0)+g|0)*3|0)|0;i=q>>f;g=F>>f;if(!((i|0)>-1&(i|0)<(l|0))){g=15;break a}if(!((g|0)>-1&(g|0)<(m|0))){g=17;break a}D=n+(((z(l,g)|0)+i|0)*3|0)|0;b:do if(!(((d[k>>0]|d[k+1>>0]<<8)&768)==0?1:((d[D>>0]|d[D+1>>0]<<8)&768)==0)){if(ga&o|0){i=c[T>>2]|0;g=q>>i;k=F>>i;if((g|0)<=-1){g=22;break a}f=c[V>>2]|0;if((g|0)>=(f|0)){g=22;break a}if((k|0)<=-1){g=25;break a}l=c[X>>2]|0;if((k|0)>=(l|0)){g=25;break a}m=c[Z>>2]|0;if((a[m+((z(f,k)|0)+g)>>0]|0)<=-1){g=1;break}k=p>>i;g=H>>i;if(!((k|0)>-1&(k|0)<(f|0))){g=28;break a}if(!((g|0)>-1&(g|0)<(l|0))){g=30;break a}if((a[m+((z(f,g)|0)+k)>>0]|0)<=-1){g=1;break}}i=c[S>>2]|0;g=p>>i;k=H>>i;if((g|0)<=-1){g=34;break a}f=c[U>>2]|0;if((g|0)>=(f|0)){g=34;break a}if((k|0)<=-1){g=37;break a}l=c[W>>2]|0;if((k|0)>=(l|0)){g=37;break a}D=c[Y>>2]|0;C=(z(f,k)|0)+g|0;k=q>>i;g=F>>i;if(!((k|0)>-1&(k|0)<(f|0))){g=39;break a}if(!((g|0)>-1&(g|0)<(l|0))){g=41;break a}B=(z(f,g)|0)+k|0;l=c[_>>2]|0;g=p>>l;k=H>>l;if((g|0)<=-1){g=44;break a}m=c[$>>2]|0;if((g|0)>=(m|0)){g=44;break a}if((k|0)<=-1){g=47;break a}n=c[aa>>2]|0;if((k|0)>=(n|0)){g=47;break a}o=c[ba>>2]|0;g=e[o+(((z(m,k)|0)+g|0)*24|0)+2>>1]|0;i=c[ca>>2]|0;f=(c[da>>2]|0)-i>>2;if(f>>>0>g>>>0)p=c[i+(g<<2)>>2]|0;else p=0;k=q>>l;g=F>>l;if(!((k|0)>-1&(k|0)<(m|0))){g=51;break a}if(!((g|0)>-1&(g|0)<(n|0))){g=53;break a}g=e[o+(((z(m,g)|0)+k|0)*24|0)+2>>1]|0;if(f>>>0>g>>>0)g=c[i+(g<<2)>>2]|0;else g=0;w=a[D+(C*12|0)>>0]|0;k=w<<24>>24==0;if(k)y=-1;else y=c[p+920+(a[D+(C*12|0)+2>>0]<<2)>>2]|0;x=a[D+(C*12|0)+1>>0]|0;i=x<<24>>24==0;if(i)u=-1;else u=c[p+984+(a[D+(C*12|0)+3>>0]<<2)>>2]|0;q=a[D+(B*12|0)>>0]|0;f=q<<24>>24==0;if(f)t=-1;else t=c[g+920+(a[D+(B*12|0)+2>>0]<<2)>>2]|0;r=a[D+(B*12|0)+1>>0]|0;n=r<<24>>24==0;if(n)o=-1;else o=c[g+984+(a[D+(B*12|0)+3>>0]<<2)>>2]|0;s=(y|0)==(t|0);if(!(s&(u|0)==(o|0))?!((u|0)==(t|0)&(y|0)==(o|0)):0){g=1;break}A=k?0:b[D+(C*12|0)+6>>1]|0;g=k?0:b[D+(C*12|0)+4>>1]|0;v=i?0:b[D+(C*12|0)+10>>1]|0;m=i?0:b[D+(C*12|0)+8>>1]|0;p=f?0:b[D+(B*12|0)+6>>1]|0;f=f?0:b[D+(B*12|0)+4>>1]|0;l=n?0:b[D+(B*12|0)+10>>1]|0;i=n?0:b[D+(B*12|0)+8>>1]|0;if(((x&255)+(w&255)|0)!=((r&255)+(q&255)|0)){He((c[ea>>2]|0)+4|0,1013,0);a[J>>0]=3}if((y|0)==(u|0)){if((t|0)!=(o|0)){g=81;break a}k=g<<16>>16;g=f<<16>>16;D=k-g|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(i<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(v<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);D=k-(i<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-g|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(v<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}g=g<<16>>16;if(s){D=g-(f<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(i<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(v<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}else{D=g-(i<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(f<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(v<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}}else g=2;while(0);I=(z(c[ha>>2]|0,G)|0)+I|0;I=(c[M>>2]|0)+I|0;a[I>>0]=a[I>>0]&-4|g}E=E+ja|0}while((E|0)<(fa|0))}h=h+ka|0;if((h|0)>=(K|0)){g=3;break}}switch(g|0){case 3:return;case 10:{R(119015,119052,120,119072);break}case 13:{R(119076,119052,121,119072);break}case 15:{R(119015,119052,120,119072);break}case 17:{R(119076,119052,121,119072);break}case 22:{R(119015,119052,120,119072);break}case 25:{R(119076,119052,121,119072);break}case 28:{R(119015,119052,120,119072);break}case 30:{R(119076,119052,121,119072);break}case 34:{R(119015,119052,120,119072);break}case 37:{R(119076,119052,121,119072);break}case 39:{R(119015,119052,120,119072);break}case 41:{R(119076,119052,121,119072);break}case 44:{R(119015,119052,120,119072);break}case 47:{R(119076,119052,121,119072);break}case 51:{R(119015,119052,120,119072);break}case 53:{R(119076,119052,121,119072);break}case 81:{R(116504,116523,344,116536);break}}}function ye(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0;vc=oc;oc=oc+80|0;sc=vc+32|0;tc=vc;uc=vc+64|0;l=c[f+128>>2]|0;pc=g?2:1;qc=g?1:2;nc=c[f+40>>2]|0;m=c[l+4996>>2]|0;rc=c[f+276>>2]|0;mc=(rc|0)>(k|0)?k:rc;ac=c[f+280>>2]|0;ac=(ac|0)>(i|0)?i:ac;if((ac|0)<=(h|0)){oc=vc;return}bc=(mc|0)>(j|0);cc=f+264|0;dc=f+4|0;ec=f+172|0;fc=f+176|0;gc=f+180|0;hc=f+164|0;ic=f+152|0;jc=f+156|0;kc=f+160|0;lc=f+144|0;Mb=f+52|0;Nb=m+-8|0;Ob=tc+4|0;Pb=tc+2|0;Qb=tc+28|0;Rb=tc+26|0;Sb=tc+24|0;Tb=sc+4|0;Ub=sc+2|0;Vb=sc+28|0;Wb=sc+26|0;Xb=sc+24|0;Yb=tc+6|0;Zb=sc+6|0;_b=tc+30|0;$b=sc+30|0;Jb=l+4716|0;Kb=uc+2|0;Lb=uc+4|0;Ua=1<<m;Va=Ua+65535|0;Wa=nc<<1;Xa=(z(nc,h)|0)+j<<3;Ya=(z(qc,nc)|0)<<3;Za=pc<<3;_a=sc+8|0;$a=nc+-1|0;ab=tc+8|0;bb=nc+1|0;cb=sc+10|0;db=nc+-2|0;eb=tc+10|0;fb=nc+2|0;gb=sc+12|0;hb=nc+-3|0;ib=tc+12|0;jb=nc+3|0;kb=sc+14|0;lb=nc+-4|0;mb=tc+14|0;nb=nc<<1;ob=sc+16|0;pb=nb+-1|0;qb=tc+16|0;rb=nb|1;sb=sc+18|0;tb=nb+-2|0;ub=tc+18|0;vb=nb+2|0;wb=sc+20|0;xb=nb+-3|0;yb=tc+20|0;zb=nb+3|0;Ab=sc+22|0;Bb=nb+-4|0;Cb=tc+22|0;Db=nc*3|0;Eb=Db+-1|0;Fb=Db+1|0;Gb=Db+-2|0;Hb=Db+2|0;Ib=Db+-3|0;_=Db+-4|0;$=0-nc|0;aa=nc<<1;ba=0-aa|0;ca=nc*3|0;da=0-ca|0;Oa=nc<<2;ea=0-Oa|0;fa=sc+8|0;ga=1-nc|0;ha=tc+8|0;ia=nc+1|0;ja=sc+10|0;ka=1-aa|0;la=tc+10|0;ma=aa|1;na=sc+12|0;oa=1-ca|0;pa=tc+12|0;qa=ca+1|0;ra=sc+14|0;sa=1-Oa|0;ta=tc+14|0;ua=sc+16|0;va=2-nc|0;wa=tc+16|0;xa=nc+2|0;ya=sc+18|0;za=2-aa|0;Aa=tc+18|0;Ba=aa+2|0;Ca=sc+20|0;Da=2-ca|0;Ea=tc+20|0;Fa=ca+2|0;Ga=sc+22|0;Ha=2-Oa|0;Ia=tc+22|0;Ja=3-nc|0;Ka=nc+3|0;La=3-aa|0;Ma=aa+3|0;Na=3-ca|0;Oa=3-Oa|0;Pa=nc<<1;Qa=z(nc,-3)|0;Ra=nc<<1;Sa=z(nc,-3)|0;Ta=nc<<1;Y=0;a:while(1){P=Xa+(z(Ya,Y)|0)|0;if(bc){Q=h<<2;S=z((Q|0)/4|0,rc)|0;T=z(Q,nc)|0;U=Q+-1|0;O=j;Z=0;while(1){V=P+(z(Za,Z)|0)|0;L=O<<2;q=a[(c[cc>>2]|0)+(((L|0)/4|0)+S)>>0]&3;if(q<<24>>24){W=c[dc>>2]|0;X=W+(L+T<<1)|0;b[sc>>1]=b[X>>1]|0;if(g){b[tc>>1]=b[X+-2>>1]|0;b[Ub>>1]=b[X+2>>1]|0;b[Pb>>1]=b[X+-4>>1]|0;b[Tb>>1]=b[X+4>>1]|0;b[Ob>>1]=b[X+-6>>1]|0;b[Zb>>1]=b[X+6>>1]|0;b[Yb>>1]=b[X+-8>>1]|0;b[_a>>1]=b[X+(nc<<1)>>1]|0;b[ab>>1]=b[X+($a<<1)>>1]|0;b[cb>>1]=b[X+(bb<<1)>>1]|0;b[eb>>1]=b[X+(db<<1)>>1]|0;b[gb>>1]=b[X+(fb<<1)>>1]|0;b[ib>>1]=b[X+(hb<<1)>>1]|0;b[kb>>1]=b[X+(jb<<1)>>1]|0;b[mb>>1]=b[X+(lb<<1)>>1]|0;b[ob>>1]=b[X+(nb<<1)>>1]|0;b[qb>>1]=b[X+(pb<<1)>>1]|0;b[sb>>1]=b[X+(rb<<1)>>1]|0;b[ub>>1]=b[X+(tb<<1)>>1]|0;b[wb>>1]=b[X+(vb<<1)>>1]|0;b[yb>>1]=b[X+(xb<<1)>>1]|0;b[Ab>>1]=b[X+(zb<<1)>>1]|0;b[Cb>>1]=b[X+(Bb<<1)>>1]|0;p=_;n=Ib;o=Db;m=Hb;l=Gb;f=Fb;i=Eb;k=X+(Db<<1)|0}else{b[tc>>1]=b[X+($<<1)>>1]|0;b[Ub>>1]=b[X+(nc<<1)>>1]|0;b[Pb>>1]=b[X+(ba<<1)>>1]|0;b[Tb>>1]=b[X+(aa<<1)>>1]|0;b[Ob>>1]=b[X+(da<<1)>>1]|0;b[Zb>>1]=b[X+(ca<<1)>>1]|0;b[Yb>>1]=b[X+(ea<<1)>>1]|0;b[fa>>1]=b[X+2>>1]|0;b[ha>>1]=b[X+(ga<<1)>>1]|0;b[ja>>1]=b[X+(ia<<1)>>1]|0;b[la>>1]=b[X+(ka<<1)>>1]|0;b[na>>1]=b[X+(ma<<1)>>1]|0;b[pa>>1]=b[X+(oa<<1)>>1]|0;b[ra>>1]=b[X+(qa<<1)>>1]|0;b[ta>>1]=b[X+(sa<<1)>>1]|0;b[ua>>1]=b[X+4>>1]|0;b[wa>>1]=b[X+(va<<1)>>1]|0;b[ya>>1]=b[X+(xa<<1)>>1]|0;b[Aa>>1]=b[X+(za<<1)>>1]|0;b[Ca>>1]=b[X+(Ba<<1)>>1]|0;b[Ea>>1]=b[X+(Da<<1)>>1]|0;b[Ga>>1]=b[X+(Fa<<1)>>1]|0;b[Ia>>1]=b[X+(Ha<<1)>>1]|0;p=Oa;n=Na;o=ca;m=Ma;l=La;f=Ka;i=Ja;k=X+6|0}x=b[k>>1]|0;b[Xb>>1]=x;t=b[X+(i<<1)>>1]|0;b[Sb>>1]=t;w=b[X+(f<<1)>>1]|0;b[Wb>>1]=w;r=b[X+(l<<1)>>1]|0;b[Rb>>1]=r;v=b[X+(m<<1)>>1]|0;b[Vb>>1]=v;m=b[X+(n<<1)>>1]|0;b[Qb>>1]=m;A=b[X+(o+3<<1)>>1]|0;b[$b>>1]=A;y=b[X+(p<<1)>>1]|0;b[_b>>1]=y;B=c[ec>>2]|0;D=L>>B;k=Q>>B;if((D|0)<=-1){k=13;break a}G=c[fc>>2]|0;if((D|0)>=(G|0)){k=13;break a}if((k|0)<=-1){k=16;break a}E=c[gc>>2]|0;if((k|0)>=(E|0)){k=16;break a}H=c[hc>>2]|0;C=z(G,k)|0;F=C+D|0;i=a[H+(F*3|0)+2>>0]|0;if(g){k=L+-1>>B;if(!((k|0)>-1&(k|0)<(G|0))){k=19;break a}k=C+k|0}else{k=U>>B;if(!((k|0)>-1&(k|0)<(E|0))){k=22;break a}k=(z(G,k)|0)+D|0}l=i+1+(a[H+(k*3|0)+2>>0]|0)>>1;i=c[ic>>2]|0;k=L>>i;i=Q>>i;if((k|0)<=-1){k=26;break a}f=c[jc>>2]|0;if((k|0)>=(f|0)){k=26;break a}if((i|0)<=-1){k=29;break a}if((i|0)>=(c[kc>>2]|0)){k=29;break a}N=e[(c[lc>>2]|0)+(((z(f,i)|0)+k|0)*24|0)+2>>1]|0;N=c[(c[Mb>>2]|0)+(N<<2)>>2]|0;u=(c[N+760>>2]|0)+l|0;u=(u|0)<51?u:51;u=d[608+((u|0)>0?u:0)>>0]<<Nb;N=(q<<1&255)+-2+l+(c[N+764>>2]|0)|0;N=(N|0)<53?N:53;N=d[544+((N|0)>0?N:0)>>0]<<Nb;I=b[Ob>>1]|0;n=b[Pb>>1]|0;K=b[tc>>1]|0;s=K&65535;p=(I&65535)-((n&65535)<<1)+s|0;p=(p|0)<0?0-p|0:p;t=t&65535;m=(m&65535)-((r&65535)<<1)+t|0;m=(m|0)<0?0-m|0:m;q=b[Tb>>1]|0;f=b[Ub>>1]|0;J=b[sc>>1]|0;i=J&65535;r=(q&65535)-((f&65535)<<1)+i|0;r=(r|0)<0?0-r|0:r;o=x&65535;M=(v&65535)-((w&65535)<<1)+o|0;M=(M|0)<0?0-M|0:M;k=r+p|0;l=M+m|0;p=m+p|0;r=M+r|0;b:do if((l+k|0)<(u|0)){m=u>>2;do if((k<<1|0)<(m|0)){M=(e[Yb>>1]|0)-s|0;x=i-(e[Zb>>1]|0)|0;if((((x|0)<0?0-x|0:x)+((M|0)<0?0-M|0:M)|0)>=(u>>3|0)){i=0;break}i=s-i|0;i=(((i|0)<0?0-i|0:i)|0)<((N*5|0)+1>>1|0)}else i=0;while(0);do if((l<<1|0)<(m|0)){M=(y&65535)-t|0;A=o-(A&65535)|0;if((((A|0)<0?0-A|0:A)+((M|0)<0?0-M|0:M)|0)>=(u>>3|0)){k=0;break}k=t-o|0;k=(((k|0)<0?0-k|0:k)|0)<((N*5|0)+1>>1|0)}else k=0;while(0);M=i&k;o=(u>>1)+u>>3;m=(p|0)>=(o|0);o=(r|0)>=(o|0);l=a[Jb>>0]|0;k=l<<24>>24!=0;if(g){i=L+-1>>B;if(k){if(!((i|0)>-1&(i|0)<(G|0))){k=40;break a}k=H+((C+i|0)*3|0)|0;k=((d[k>>0]|d[k+1>>0]<<8)&65535)>>>10&1^1}else k=1;if(!((i|0)>-1&(i|0)<(G|0))){k=43;break a}w=H+((C+i|0)*3|0)|0;B=H+(F*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(l<<24>>24==0|(B&1024)==0)&(B&2048)==0;w=k<<24>>24?((d[w>>0]|d[w+1>>0]<<8)&2048)==0:0}else{i=U>>B;if(k){if(!((i|0)>-1&(i|0)<(E|0))){k=47;break a}k=H+(((z(G,i)|0)+D|0)*3|0)|0;k=((d[k>>0]|d[k+1>>0]<<8)&1024)==0}else k=1;if(!((i|0)>-1&(i|0)<(E|0))){k=50;break a}w=H+(((z(G,i)|0)+D|0)*3|0)|0;B=H+(F*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(l<<24>>24==0|(B&1024)==0)&(B&2048)==0;w=k&((d[w>>0]|d[w+1>>0]<<8)&2048)==0}x=N<<1;y=N*10|0;A=0-N|0;v=m|w^1;u=o|B^1;s=N>>1;t=0-s|0;r=0;o=I;l=K;i=J;while(1){p=W+(V+(z(Wa,r)|0))|0;do if(!M){m=i&65535;l=l&65535;f=f&65535;i=n&65535;k=((m-l|0)*9|0)+8+(z(f-i|0,-3)|0)>>4;if((((k|0)<0?0-k|0:k)|0)>=(y|0))break;k=(k|0)<(A|0)?A:(k|0)>(N|0)?N:k;do if(g){if(w){L=k+l|0;b[X+((z(r,nc)|0)+-1<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}if(!B)break;L=m-k|0;b[X+((z(r,nc)|0)<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}else{if(w){L=k+l|0;b[X+(r-nc<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}if(!B)break;L=m-k|0;b[X+(r<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}while(0);if(!v){K=((l+1+(o&65535)|0)>>>1)-i+k>>1;K=((K|0)<(t|0)?t:(K|0)>(s|0)?s:K)+i|0;L=(z(r,nc)|0)+-2|0;b[X+((g?L:r-Wa|0)<<1)>>1]=(K|0)<0?0:((K|0)<(Ua|0)?K:Va)&65535}if(u)break;k=((m+1+(q&65535)|0)>>>1)-f-k>>1;k=((k|0)<(t|0)?t:(k|0)>(s|0)?s:k)+f|0;k=(k|0)<0?0:((k|0)<(Ua|0)?k:Va)&65535;if(g){b[X+((z(r,nc)|0)+1<<1)>>1]=k;break}else{b[X+(r+nc<<1)>>1]=k;break}}else{K=b[sc+(r<<3)+6>>1]|0;L=o&65535;I=n&65535;n=l&65535;i=i&65535;k=i<<1;J=f&65535;H=(n<<1)+4|0;m=H+L+(I<<1)+k+J>>3;G=n-x|0;f=x+n|0;m=((m|0)<(G|0)?G:(m|0)>(f|0)?f:m)&65535;f=i+n|0;n=(f+2+I+L|0)>>>2;G=I-x|0;o=x+I|0;n=((n|0)<(G|0)?G:(n|0)>(o|0)?o:n)&65535;o=(f+4+I+(L*3|0)+(e[tc+(r<<3)+6>>1]<<1)|0)>>>3;G=L-x|0;L=x+L|0;o=((o|0)<(G|0)?G:(o|0)>(L|0)?L:o)&65535;L=q&65535;k=H+I+k+(J<<1)+L>>3;I=i-x|0;i=x+i|0;k=((k|0)<(I|0)?I:(k|0)>(i|0)?i:k)&65535;b[uc>>1]=k;f=f+J|0;i=(L+2+f|0)>>>2;I=J-x|0;J=x+J|0;i=((i|0)<(I|0)?I:(i|0)>(J|0)?J:i)&65535;b[Kb>>1]=i;f=(f+4+(L*3|0)+((K&65535)<<1)|0)>>>3;K=L-x|0;L=x+L|0;f=((f|0)<(K|0)?K:(f|0)>(L|0)?L:f)&65535;b[Lb>>1]=f;do if(g){l=z(r,nc)|0;if(!w){if(!B)break;b[p>>1]=b[uc>>1]|0;b[p+2>>1]=b[uc+2>>1]|0;b[p+4>>1]=b[uc+4>>1]|0;break}b[X+(l+-1<<1)>>1]=m;if(B){b[X+(l<<1)>>1]=k;b[X+(l+-2<<1)>>1]=n;b[X+(l+1<<1)>>1]=i;b[X+(l+-3<<1)>>1]=o;b[X+(l+2<<1)>>1]=f;break}else{b[X+(l+-2<<1)>>1]=n;b[X+(l+-3<<1)>>1]=o;break}}else{if(!w){if(!B)break;b[X+(r<<1)>>1]=k;b[X+(nc+r<<1)>>1]=i;b[X+(Ta+r<<1)>>1]=f;break}b[X+(r-nc<<1)>>1]=m;if(B){b[X+(r<<1)>>1]=k;b[X+(r-Pa<<1)>>1]=n;b[X+(nc+r<<1)>>1]=i;b[X+(r+Qa<<1)>>1]=o;b[X+(Pa+r<<1)>>1]=f;break}else{b[X+(r-Ra<<1)>>1]=n;b[X+(r+Sa<<1)>>1]=o;break}}while(0)}while(0);k=r+1|0;if((k|0)==4)break b;r=k;o=b[tc+(k<<3)+4>>1]|0;n=b[tc+(k<<3)+2>>1]|0;l=b[tc+(k<<3)>>1]|0;i=b[sc+(k<<3)>>1]|0;f=b[sc+(k<<3)+2>>1]|0;q=b[sc+(k<<3)+4>>1]|0}}while(0)}O=O+pc|0;if((O|0)>=(mc|0))break;else Z=Z+1|0}}h=h+qc|0;if((h|0)>=(ac|0)){k=3;break}else Y=Y+1|0}switch(k|0){case 3:{oc=vc;return}case 13:{R(119015,119052,120,119072);break}case 16:{R(119076,119052,121,119072);break}case 19:{R(119015,119052,120,119072);break}case 22:{R(119076,119052,121,119072);break}case 26:{R(119015,119052,120,119072);break}case 29:{R(119076,119052,121,119072);break}case 40:{R(119015,119052,120,119072);break}case 43:{R(119015,119052,120,119072);break}case 47:{R(119076,119052,121,119072);break}case 50:{R(119076,119052,121,119072);break}}}function ze(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0;Hb=oc;oc=oc+48|0;Eb=Hb+16|0;Fb=Hb;Gb=Hb+32|0;k=c[b+128>>2]|0;Ab=f?2:1;Bb=f?1:2;Cb=b+40|0;zb=c[Cb>>2]|0;l=c[k+4996>>2]|0;Db=b+276|0;yb=c[Db>>2]|0;yb=(yb|0)>(j|0)?j:yb;mb=c[b+280>>2]|0;mb=(mb|0)>(h|0)?h:mb;if((mb|0)<=(g|0)){oc=Hb;return}nb=(yb|0)>(i|0);ob=b+264|0;pb=b+4|0;qb=b+172|0;rb=b+176|0;sb=b+180|0;tb=b+164|0;ub=b+152|0;vb=b+156|0;wb=b+160|0;xb=b+144|0;Ya=b+52|0;Za=l+-8|0;_a=Fb+2|0;$a=Fb+1|0;ab=Fb+14|0;bb=Fb+13|0;cb=Fb+12|0;db=Eb+2|0;eb=Eb+1|0;fb=Eb+14|0;gb=Eb+13|0;hb=Eb+12|0;ib=Fb+3|0;jb=Eb+3|0;kb=Fb+15|0;lb=Eb+15|0;Va=k+4716|0;Wa=Gb+1|0;Xa=Gb+2|0;Sa=1<<l;Ta=Sa+255|0;Ua=zb<<1;Da=zb<<1;T=zb*3|0;Ja=zb<<1;La=zb*3|0;Ma=zb<<2;Na=zb<<1;Oa=z(zb,-3)|0;Pa=zb<<1;Qa=z(zb,-3)|0;Ra=zb<<1;W=f?-1:0-zb|0;U=f?1:zb;X=f?-2:0-Ja|0;Y=f?2:Ja;Z=f?-3:0-La|0;_=f?3:La;$=f?-4:0-Ma|0;V=f?zb:1;aa=f?Eb+4|0:Eb+4|0;ba=f?zb+-1|0:1-zb|0;ca=f?Fb+4|0:Fb+4|0;da=zb+1|0;ea=f?Eb+5|0:Eb+5|0;fa=f?zb+-2|0:1-Ja|0;ga=f?Fb+5|0:Fb+5|0;ha=f?zb+2|0:Ja|1;ia=f?Eb+6|0:Eb+6|0;ja=f?zb+-3|0:1-La|0;ka=f?Fb+6|0:Fb+6|0;la=f?zb+3|0:La+1|0;ma=f?Eb+7|0:Eb+7|0;na=f?zb+-4|0:1-Ma|0;oa=f?Fb+7|0:Fb+7|0;pa=f?Da:2;qa=f?Eb+8|0:Eb+8|0;ra=f?Da+-1|0:2-zb|0;sa=f?Fb+8|0:Fb+8|0;ta=f?Da|1:zb+2|0;ua=f?Eb+9|0:Eb+9|0;va=f?Da+-2|0:2-Ja|0;wa=f?Fb+9|0:Fb+9|0;xa=(f?Da:Ja)+2|0;ya=f?Eb+10|0:Eb+10|0;za=f?Da+-3|0:2-La|0;Aa=f?Fb+10|0:Fb+10|0;Ba=f?Da+3|0:La+2|0;Ca=f?Eb+11|0:Eb+11|0;Da=f?Da+-4|0:2-Ma|0;Ea=f?Fb+11|0:Fb+11|0;Fa=f?T:3;Ga=f?T+-1|0:3-zb|0;Ha=f?T+1|0:zb+3|0;Ia=f?T+-2|0:3-Ja|0;Ja=f?T+2|0:Ja+3|0;Ka=f?T+-3|0:3-La|0;La=(f?T:La)+3|0;Ma=f?T+-4|0:3-Ma|0;a:while(1){if(nb){N=g<<2;O=(N|0)/4|0;P=N+-1|0;M=i;do{y=M<<2;l=(z(c[Db>>2]|0,O)|0)+((y|0)/4|0)|0;l=a[(c[ob>>2]|0)+l>>0]&3;if(l<<24>>24){Q=c[pb>>2]|0;S=(z(c[Cb>>2]|0,N)|0)+y|0;T=Q+S|0;a[Eb>>0]=a[T>>0]|0;a[Fb>>0]=a[T+W>>0]|0;a[eb>>0]=a[T+U>>0]|0;a[$a>>0]=a[T+X>>0]|0;a[db>>0]=a[T+Y>>0]|0;a[_a>>0]=a[T+Z>>0]|0;a[jb>>0]=a[T+_>>0]|0;a[ib>>0]=a[T+$>>0]|0;a[aa>>0]=a[T+V>>0]|0;a[ca>>0]=a[T+ba>>0]|0;a[ea>>0]=a[T+da>>0]|0;a[ga>>0]=a[T+fa>>0]|0;a[ia>>0]=a[T+ha>>0]|0;a[ka>>0]=a[T+ja>>0]|0;a[ma>>0]=a[T+la>>0]|0;a[oa>>0]=a[T+na>>0]|0;a[qa>>0]=a[T+pa>>0]|0;a[sa>>0]=a[T+ra>>0]|0;a[ua>>0]=a[T+ta>>0]|0;a[wa>>0]=a[T+va>>0]|0;a[ya>>0]=a[T+xa>>0]|0;a[Aa>>0]=a[T+za>>0]|0;a[Ca>>0]=a[T+Ba>>0]|0;a[Ea>>0]=a[T+Da>>0]|0;q=a[T+Fa>>0]|0;a[hb>>0]=q;n=a[T+Ga>>0]|0;a[cb>>0]=n;t=a[T+Ha>>0]|0;a[gb>>0]=t;o=a[T+Ia>>0]|0;a[bb>>0]=o;u=a[T+Ja>>0]|0;a[fb>>0]=u;p=a[T+Ka>>0]|0;a[ab>>0]=p;w=a[T+La>>0]|0;a[lb>>0]=w;x=a[T+Ma>>0]|0;a[kb>>0]=x;A=c[qb>>2]|0;C=y>>A;j=N>>A;if((C|0)<=-1){j=10;break a}F=c[rb>>2]|0;if((C|0)>=(F|0)){j=10;break a}if((j|0)<=-1){j=13;break a}D=c[sb>>2]|0;if((j|0)>=(D|0)){j=13;break a}G=c[tb>>2]|0;B=z(F,j)|0;E=B+C|0;h=a[G+(E*3|0)+2>>0]|0;if(f){j=y+-1>>A;if(!((j|0)>-1&(j|0)<(F|0))){j=16;break a}j=B+j|0}else{j=P>>A;if(!((j|0)>-1&(j|0)<(D|0))){j=19;break a}j=(z(F,j)|0)+C|0}k=h+1+(a[G+(j*3|0)+2>>0]|0)>>1;h=c[ub>>2]|0;j=y>>h;h=N>>h;if((j|0)<=-1){j=23;break a}b=c[vb>>2]|0;if((j|0)>=(b|0)){j=23;break a}if((h|0)<=-1){j=26;break a}if((h|0)>=(c[wb>>2]|0)){j=26;break a}L=e[(c[xb>>2]|0)+(((z(b,h)|0)+j|0)*24|0)+2>>1]|0;L=c[(c[Ya>>2]|0)+(L<<2)>>2]|0;v=(c[L+760>>2]|0)+k|0;v=(v|0)<51?v:51;v=d[608+((v|0)>0?v:0)>>0]<<Za;L=(l<<1&255)+-2+k+(c[L+764>>2]|0)|0;L=(L|0)<53?L:53;L=d[544+((L|0)>0?L:0)>>0]<<Za;H=a[_a>>0]|0;m=a[$a>>0]|0;k=a[Fb>>0]|0;r=k&255;l=(H&255)-((m&255)<<1)+r|0;l=(l|0)<0?0-l|0:l;s=n&255;p=(p&255)-((o&255)<<1)+s|0;p=(p|0)<0?0-p|0:p;o=a[db>>0]|0;J=a[eb>>0]|0;I=a[Eb>>0]|0;h=I&255;K=(o&255)-((J&255)<<1)+h|0;K=(K|0)<0?0-K|0:K;n=q&255;q=(u&255)-((t&255)<<1)+n|0;q=(q|0)<0?0-q|0:q;j=K+l|0;b=q+p|0;p=p+l|0;q=q+K|0;b:do if((b+j|0)<(v|0)){l=v>>2;do if((j<<1|0)<(l|0)){K=(d[ib>>0]|0)-r|0;u=h-(d[jb>>0]|0)|0;if((((u|0)<0?0-u|0:u)+((K|0)<0?0-K|0:K)|0)>=(v>>3|0)){h=0;break}h=r-h|0;h=(((h|0)<0?0-h|0:h)|0)<((L*5|0)+1>>1|0)}else h=0;while(0);do if((b<<1|0)<(l|0)){K=(x&255)-s|0;x=n-(w&255)|0;if((((x|0)<0?0-x|0:x)+((K|0)<0?0-K|0:K)|0)>=(v>>3|0)){j=0;break}j=s-n|0;j=(((j|0)<0?0-j|0:j)|0)<((L*5|0)+1>>1|0)}else j=0;while(0);K=h&j;n=(v>>1)+v>>3;l=(p|0)>=(n|0);n=(q|0)>=(n|0);b=a[Va>>0]|0;j=b<<24>>24!=0;if(f){h=y+-1>>A;if(j){if(!((h|0)>-1&(h|0)<(F|0))){j=37;break a}j=G+((B+h|0)*3|0)|0;j=((d[j>>0]|d[j+1>>0]<<8)&65535)>>>10&1^1}else j=1;if(!((h|0)>-1&(h|0)<(F|0))){j=40;break a}w=G+((B+h|0)*3|0)|0;B=G+(E*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(b<<24>>24==0|(B&1024)==0)&(B&2048)==0;w=j<<24>>24?((d[w>>0]|d[w+1>>0]<<8)&2048)==0:0}else{h=P>>A;if(j){if(!((h|0)>-1&(h|0)<(D|0))){j=44;break a}j=G+(((z(F,h)|0)+C|0)*3|0)|0;j=((d[j>>0]|d[j+1>>0]<<8)&1024)==0}else j=1;if(!((h|0)>-1&(h|0)<(D|0))){j=47;break a}w=G+(((z(F,h)|0)+C|0)*3|0)|0;B=G+(E*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(b<<24>>24==0|(B&1024)==0)&(B&2048)==0;w=j&((d[w>>0]|d[w+1>>0]<<8)&2048)==0}x=L<<1;y=L*10|0;A=0-L|0;v=l|w^1;u=n|B^1;s=L>>1;t=0-s|0;r=0;p=H;h=I;b=J;while(1){q=z(zb,r)|0;n=Q+(S+q)|0;do if(!K){l=h&255;k=k&255;b=b&255;h=m&255;j=((l-k|0)*9|0)+8+(z(b-h|0,-3)|0)>>4;if((((j|0)<0?0-j|0:j)|0)>=(y|0))break;j=(j|0)<(A|0)?A:(j|0)>(L|0)?L:j;do if(f){if(w){J=j+k|0;a[T+(q+-1)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(!B)break;J=l-j|0;a[T+q>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}else{if(w){J=j+k|0;a[T+(r-zb)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(!B)break;J=l-j|0;a[T+r>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}while(0);if(!v){J=((k+1+(p&255)|0)>>>1)-h+j>>1;J=((J|0)<(t|0)?t:(J|0)>(s|0)?s:J)+h|0;a[T+(f?q+-2|0:r-Ua|0)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(u)break;j=((l+1+(o&255)|0)>>>1)-b-j>>1;j=((j|0)<(t|0)?t:(j|0)>(s|0)?s:j)+b|0;j=(j|0)<0?0:((j|0)<(Sa|0)?j:Ta)&255;if(f){a[T+(q+1)>>0]=j;break}else{a[T+(r+zb)>>0]=j;break}}else{I=a[Eb+(r<<2)+3>>0]|0;J=p&255;G=m&255;l=k&255;h=h&255;j=h<<1;H=b&255;F=(l<<1)+4|0;k=F+J+(G<<1)+j+H>>3;E=l-x|0;b=x+l|0;k=((k|0)<(E|0)?E:(k|0)>(b|0)?b:k)&255;b=h+l|0;l=(b+2+G+J|0)>>>2;E=G-x|0;m=x+G|0;l=((l|0)<(E|0)?E:(l|0)>(m|0)?m:l)&255;m=(b+4+G+(J*3|0)+(d[Fb+(r<<2)+3>>0]<<1)|0)>>>3;E=J-x|0;J=x+J|0;m=((m|0)<(E|0)?E:(m|0)>(J|0)?J:m)&255;J=o&255;j=F+G+j+(H<<1)+J>>3;G=h-x|0;h=x+h|0;j=((j|0)<(G|0)?G:(j|0)>(h|0)?h:j)&255;a[Gb>>0]=j;b=b+H|0;h=(J+2+b|0)>>>2;G=H-x|0;H=x+H|0;h=((h|0)<(G|0)?G:(h|0)>(H|0)?H:h)&255;a[Wa>>0]=h;b=(b+4+(J*3|0)+((I&255)<<1)|0)>>>3;I=J-x|0;J=x+J|0;b=((b|0)<(I|0)?I:(b|0)>(J|0)?J:b)&255;a[Xa>>0]=b;do if(f){if(!w){if(!B)break;a[n>>0]=a[Gb>>0]|0;a[n+1>>0]=a[Gb+1>>0]|0;a[n+2>>0]=a[Gb+2>>0]|0;break}a[T+(q+-1)>>0]=k;if(B){a[T+q>>0]=j;a[T+(q+-2)>>0]=l;a[T+(q+1)>>0]=h;a[T+(q+-3)>>0]=m;a[T+(q+2)>>0]=b;break}else{a[T+(q+-2)>>0]=l;a[T+(q+-3)>>0]=m;break}}else{if(!w){if(!B)break;a[T+r>>0]=j;a[T+(zb+r)>>0]=h;a[T+(Ra+r)>>0]=b;break}a[T+(r-zb)>>0]=k;if(B){a[T+r>>0]=j;a[T+(r-Na)>>0]=l;a[T+(zb+r)>>0]=h;a[T+(r+Oa)>>0]=m;a[T+(Na+r)>>0]=b;break}else{a[T+(r-Pa)>>0]=l;a[T+(r+Qa)>>0]=m;break}}while(0)}while(0);j=r+1|0;if((j|0)==4)break b;r=j;p=a[Fb+(j<<2)+2>>0]|0;m=a[Fb+(j<<2)+1>>0]|0;k=a[Fb+(j<<2)>>0]|0;h=a[Eb+(j<<2)>>0]|0;b=a[Eb+(j<<2)+1>>0]|0;o=a[Eb+(j<<2)+2>>0]|0}}while(0)}M=M+Ab|0}while((M|0)<(yb|0))}g=g+Bb|0;if((g|0)>=(mb|0)){j=3;break}}switch(j|0){case 3:{oc=Hb;return}case 10:{R(119015,119052,120,119072);break}case 13:{R(119076,119052,121,119072);break}case 16:{R(119015,119052,120,119072);break}case 19:{R(119076,119052,121,119072);break}case 23:{R(119015,119052,120,119072);break}case 26:{R(119076,119052,121,119072);break}case 37:{R(119015,119052,120,119072);break}case 40:{R(119015,119052,120,119072);break}case 44:{R(119076,119052,121,119072);break}case 47:{R(119076,119052,121,119072);break}}}function Ae(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;ac=oc;oc=oc+32|0;_b=ac+16|0;$b=ac;l=c[f+128>>2]|0;Vb=c[l+5016>>2]|0;Wb=c[l+5020>>2]|0;Xb=z(Vb,g?2:1)|0;Yb=z(Wb,g?1:2)|0;Ub=c[f+44>>2]|0;Zb=c[f+276>>2]|0;Tb=(Zb|0)>(k|0)?k:Zb;Cb=c[f+280>>2]|0;Cb=(Cb|0)>(i|0)?i:Cb;k=c[l+5004>>2]|0;if((Cb|0)<=(h|0)){oc=ac;return}Db=(Tb|0)>(j|0);Eb=3-Vb|0;Fb=3-Wb|0;Gb=f+264|0;Hb=f+136|0;Ib=f+172|0;Jb=f+176|0;Kb=f+180|0;Lb=f+164|0;Mb=l+5012|0;Nb=f+152|0;Ob=f+156|0;Pb=f+160|0;Qb=f+144|0;Rb=f+52|0;Sb=k+-8|0;Bb=l+4716|0;za=1<<k;Aa=za+65535|0;Ba=Ub<<1;Ca=z(Ub,-2)|0;Da=$b+2|0;Ea=Ub+-1|0;Fa=_b+2|0;Ga=Ub<<1;Ha=$b+4|0;Ia=Ga+-1|0;Ja=_b+4|0;Ka=Ub*3|0;La=$b+6|0;Ma=Ka+-1|0;Na=_b+6|0;Oa=$b+8|0;Pa=_b+8|0;Qa=Ub+1|0;Ra=$b+10|0;Sa=Ub+-2|0;Ta=_b+10|0;Ua=Ga|1;Va=$b+12|0;Wa=Ga+-2|0;Xa=_b+12|0;Ya=Ka+1|0;Za=$b+14|0;_a=Ka+-2|0;$a=_b+14|0;Ab=_b+8|0;zb=$b+8|0;ab=_b+8|0;bb=$b+8|0;cb=_b+8|0;db=$b+8|0;eb=0-Ub|0;fb=$b+2|0;gb=_b+2|0;hb=_b+10|0;ib=$b+10|0;jb=Ub+-1|0;kb=_b+8|0;lb=$b+8|0;mb=$b+2|0;nb=_b+2|0;ob=_b+10|0;pb=$b+10|0;qb=$b+4|0;rb=_b+4|0;sb=_b+12|0;tb=$b+12|0;ub=Ub<<1;vb=$b+6|0;wb=_b+6|0;xb=_b+14|0;yb=$b+14|0;K=Ub*3|0;L=$b+2|0;M=_b+2|0;N=_b+10|0;O=$b+10|0;P=1-Ub|0;Q=_b+8|0;S=$b+8|0;T=$b+2|0;U=_b+2|0;V=_b+10|0;W=$b+10|0;X=$b+4|0;Y=_b+4|0;Z=_b+12|0;_=$b+12|0;$=$b+6|0;aa=_b+6|0;ba=_b+14|0;ca=$b+14|0;da=$b+4|0;ea=_b+4|0;fa=_b+12|0;ga=$b+12|0;ha=Ub<<1;ia=ha+-1|0;ja=$b+4|0;ka=_b+4|0;la=_b+12|0;ma=$b+12|0;na=2-Ub|0;oa=$b+6|0;pa=_b+6|0;qa=_b+14|0;ra=$b+14|0;sa=Ub*3|0;ta=sa+-1|0;ua=$b+6|0;va=_b+6|0;wa=_b+14|0;xa=$b+14|0;ya=3-Ub|0;a:while(1){if(Db){H=h<<Fb;F=z(H,Wb)|0;G=z((F|0)/4|0,Zb)|0;H=z(H,Ub)|0;I=F+-1|0;E=j;do{k=E<<Eb;J=z(k,Vb)|0;i=a[(c[Gb>>2]|0)+(((J|0)/4|0)+G)>>0]&3;if((i&255)>1){C=k+H<<1;D=J+-1|0;x=(i<<1&255)+-2|0;y=Ca+C|0;A=y+Ca|0;B=C+Ba|0;k=0;while(1){l=c[Hb>>2]|0;l=(k|0)==0?c[l+28>>2]|0:c[l+32>>2]|0;v=k+1|0;k=c[f+4+(v<<2)>>2]|0;w=k+C|0;if(g){b[$b>>1]=b[w>>1]|0;b[_b>>1]=b[w+-2>>1]|0;b[Da>>1]=b[w+(Ub<<1)>>1]|0;b[Fa>>1]=b[w+(Ea<<1)>>1]|0;b[Ha>>1]=b[w+(Ga<<1)>>1]|0;b[Ja>>1]=b[w+(Ia<<1)>>1]|0;b[La>>1]=b[w+(Ka<<1)>>1]|0;b[Na>>1]=b[w+(Ma<<1)>>1]|0;b[Oa>>1]=b[w+2>>1]|0;b[Pa>>1]=b[w+-4>>1]|0;b[Ra>>1]=b[w+(Qa<<1)>>1]|0;b[Ta>>1]=b[w+(Sa<<1)>>1]|0;b[Va>>1]=b[w+(Ua<<1)>>1]|0;b[Xa>>1]=b[w+(Wa<<1)>>1]|0;b[Za>>1]=b[w+(Ya<<1)>>1]|0;b[$a>>1]=b[w+(_a<<1)>>1]|0}else{t=w;s=t;t=t+4|0;t=e[t>>1]|e[t+2>>1]<<16;u=$b;c[u>>2]=e[s>>1]|e[s+2>>1]<<16;c[u+4>>2]=t;u=k+y|0;t=u;u=u+4|0;u=e[u>>1]|e[u+2>>1]<<16;s=_b;c[s>>2]=e[t>>1]|e[t+2>>1]<<16;c[s+4>>2]=u;s=k+B|0;u=s;s=s+4|0;s=e[s>>1]|e[s+2>>1]<<16;t=zb;c[t>>2]=e[u>>1]|e[u+2>>1]<<16;c[t+4>>2]=s;t=k+A|0;s=t;t=t+4|0;t=e[t>>1]|e[t+2>>1]<<16;u=Ab;c[u>>2]=e[s>>1]|e[s+2>>1]<<16;c[u+4>>2]=t}n=c[Ib>>2]|0;p=J>>n;k=F>>n;if((p|0)<=-1){k=14;break a}s=c[Jb>>2]|0;if((p|0)>=(s|0)){k=14;break a}if((k|0)<=-1){k=17;break a}q=c[Kb>>2]|0;if((k|0)>=(q|0)){k=17;break a}t=c[Lb>>2]|0;o=z(s,k)|0;r=o+p|0;i=a[t+(r*3|0)+2>>0]|0;if(g){k=D>>n;if(!((k|0)>-1&(k|0)<(s|0))){k=20;break a}k=o+k|0}else{k=I>>n;if(!((k|0)>-1&(k|0)<(q|0))){k=23;break a}k=(z(s,k)|0)+p|0}k=(i+1+(a[t+(k*3|0)+2>>0]|0)>>1)+l|0;do if((c[Mb>>2]|0)==1){if((k|0)>=30)if((k|0)>42){k=k+-6|0;break}else{k=c[480+(k+-30<<2)>>2]|0;break}}else k=(k|0)<51?k:51;while(0);l=c[Nb>>2]|0;i=J>>l;l=F>>l;if((i|0)<=-1){k=33;break a}m=c[Ob>>2]|0;if((i|0)>=(m|0)){k=33;break a}if((l|0)<=-1){k=36;break a}if((l|0)>=(c[Pb>>2]|0)){k=36;break a}u=e[(c[Qb>>2]|0)+(((z(m,l)|0)+i|0)*24|0)+2>>1]|0;u=x+k+(c[(c[(c[Rb>>2]|0)+(u<<2)>>2]|0)+764>>2]|0)|0;u=(u|0)<53?u:53;u=d[544+((u|0)>0?u:0)>>0]<<Sb;l=(a[Bb>>0]|0)==0;do if(g){k=D>>n;if(l)i=1;else{if(!((k|0)>-1&(k|0)<(s|0))){k=40;break a}i=t+((o+k|0)*3|0)|0;i=((d[i>>0]|d[i+1>>0]<<8)&1024)==0}if(!((k|0)>-1&(k|0)<(s|0))){k=43;break a}s=t+((o+k|0)*3|0)|0;m=t+(r*3|0)|0;m=d[m>>0]|d[m+1>>0]<<8;m=(l|(m&1024)==0)&(m&2048)==0;l=0-u|0;if(!(i&((d[s>>0]|d[s+1>>0]<<8)&2048)==0)){if(!m)break;t=e[$b>>1]|0;s=(e[kb>>1]|0)+4+(t-(e[_b>>1]|0)<<2)-(e[lb>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(u|0)?u:s)|0;b[w>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[mb>>1]|0;t=(e[ob>>1]|0)+4+(s-(e[nb>>1]|0)<<2)-(e[pb>>1]|0)>>3;t=s-((t|0)<(l|0)?l:(t|0)>(u|0)?u:t)|0;b[w+(Ub<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;t=e[qb>>1]|0;s=(e[sb>>1]|0)+4+(t-(e[rb>>1]|0)<<2)-(e[tb>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(u|0)?u:s)|0;b[w+(ub<<1)>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[vb>>1]|0;t=(e[xb>>1]|0)+4+(s-(e[wb>>1]|0)<<2)-(e[yb>>1]|0)>>3;u=s-((t|0)<(l|0)?l:(t|0)>(u|0)?u:t)|0;b[w+(K<<1)>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535;break}k=e[$b>>1]|0;t=e[_b>>1]|0;i=(e[ab>>1]|0)+4+(k-t<<2)-(e[bb>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+-2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[fb>>1]|0;t=e[gb>>1]|0;i=(e[hb>>1]|0)+4+(k-t<<2)-(e[ib>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+(jb<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w+(Ub<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[da>>1]|0;t=e[ea>>1]|0;i=(e[fa>>1]|0)+4+(k-t<<2)-(e[ga>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+(ia<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w+(ha<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}i=e[oa>>1]|0;t=e[pa>>1]|0;k=(e[qa>>1]|0)+4+(i-t<<2)-(e[ra>>1]|0)>>3;k=(k|0)<(l|0)?l:(k|0)>(u|0)?u:k;u=k+t|0;b[w+(ta<<1)>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535;if(!m)break;u=i-k|0;b[w+(sa<<1)>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535}else{k=I>>n;if(l)i=1;else{if(!((k|0)>-1&(k|0)<(q|0))){k=52;break a}i=t+(((z(s,k)|0)+p|0)*3|0)|0;i=((d[i>>0]|d[i+1>>0]<<8)&1024)==0}if(!((k|0)>-1&(k|0)<(q|0))){k=55;break a}s=t+(((z(s,k)|0)+p|0)*3|0)|0;m=t+(r*3|0)|0;m=d[m>>0]|d[m+1>>0]<<8;m=(l|(m&1024)==0)&(m&2048)==0;l=0-u|0;if(!(i&((d[s>>0]|d[s+1>>0]<<8)&2048)==0)){if(!m)break;t=e[$b>>1]|0;s=(e[Q>>1]|0)+4+(t-(e[_b>>1]|0)<<2)-(e[S>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(u|0)?u:s)|0;b[w>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[T>>1]|0;t=(e[V>>1]|0)+4+(s-(e[U>>1]|0)<<2)-(e[W>>1]|0)>>3;t=s-((t|0)<(l|0)?l:(t|0)>(u|0)?u:t)|0;b[w+2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;t=e[X>>1]|0;s=(e[Z>>1]|0)+4+(t-(e[Y>>1]|0)<<2)-(e[_>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(u|0)?u:s)|0;b[w+4>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[$>>1]|0;t=(e[ba>>1]|0)+4+(s-(e[aa>>1]|0)<<2)-(e[ca>>1]|0)>>3;u=s-((t|0)<(l|0)?l:(t|0)>(u|0)?u:t)|0;b[w+6>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535;break}k=e[$b>>1]|0;t=e[_b>>1]|0;i=(e[cb>>1]|0)+4+(k-t<<2)-(e[db>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+(eb<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[L>>1]|0;t=e[M>>1]|0;i=(e[N>>1]|0)+4+(k-t<<2)-(e[O>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+(P<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w+2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[ja>>1]|0;t=e[ka>>1]|0;i=(e[la>>1]|0)+4+(k-t<<2)-(e[ma>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(u|0)?u:i;t=i+t|0;b[w+(na<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[w+4>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}i=e[ua>>1]|0;t=e[va>>1]|0;k=(e[wa>>1]|0)+4+(i-t<<2)-(e[xa>>1]|0)>>3;k=(k|0)<(l|0)?l:(k|0)>(u|0)?u:k;u=k+t|0;b[w+(ya<<1)>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535;if(!m)break;u=i-k|0;b[w+6>>1]=(u|0)<0?0:((u|0)<(za|0)?u:Aa)&65535}while(0);if(v>>>0<2)k=1;else break}}E=E+Xb|0}while((E|0)<(Tb|0))}h=h+Yb|0;if((h|0)>=(Cb|0)){k=3;break}}switch(k|0){case 3:{oc=ac;return}case 14:{R(119015,119052,120,119072);break}case 17:{R(119076,119052,121,119072);break}case 20:{R(119015,119052,120,119072);break}case 23:{R(119076,119052,121,119072);break}case 33:{R(119015,119052,120,119072);break}case 36:{R(119076,119052,121,119072);break}case 40:{R(119015,119052,120,119072);break}case 43:{R(119015,119052,120,119072);break}case 52:{R(119076,119052,121,119072);break}case 55:{R(119076,119052,121,119072);break}}}function Be(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;Yb=oc;oc=oc+16|0;Wb=Yb+8|0;Xb=Yb;k=c[b+128>>2]|0;Qb=c[k+5016>>2]|0;Rb=c[k+5020>>2]|0;Sb=z(Qb,f?2:1)|0;Tb=z(Rb,f?1:2)|0;Ub=b+44|0;Pb=c[Ub>>2]|0;Vb=b+276|0;Ob=c[Vb>>2]|0;Ob=(Ob|0)>(j|0)?j:Ob;xb=c[b+280>>2]|0;xb=(xb|0)>(h|0)?h:xb;yb=k+5004|0;if((xb|0)<=(g|0)){oc=Yb;return}zb=(Ob|0)>(i|0);Ab=3-Qb|0;Bb=3-Rb|0;Cb=b+264|0;Db=b+136|0;Eb=b+172|0;Fb=b+176|0;Gb=b+180|0;Hb=b+164|0;Ib=k+5012|0;Jb=b+152|0;Kb=b+156|0;Lb=b+160|0;Mb=b+144|0;Nb=b+52|0;ta=k+4716|0;ua=1<<c[yb>>2];va=ua+255|0;wa=0-Pb|0;xa=Xb+1|0;ya=Pb+-1|0;za=Wb+1|0;Aa=Pb<<1;Ba=Xb+2|0;Ca=Aa+-1|0;Da=Wb+2|0;Ea=Pb*3|0;Fa=Xb+3|0;Ga=Ea+-1|0;Ha=Wb+3|0;Ia=Xb+4|0;Ja=Wb+4|0;Ka=Pb+1|0;La=Xb+5|0;Ma=Pb+-2|0;Na=Wb+5|0;Oa=Aa|1;Pa=Xb+6|0;Qa=Aa+-2|0;Ra=Wb+6|0;Sa=Ea+1|0;Ta=Xb+7|0;Ua=Ea+-2|0;Va=Wb+7|0;wb=Wb+4|0;vb=Xb+4|0;Wa=Wb+4|0;Xa=Xb+4|0;Ya=Wb+4|0;Za=Xb+4|0;_a=Xb+1|0;$a=Wb+1|0;ab=Wb+5|0;bb=Xb+5|0;cb=Pb+-1|0;db=Wb+4|0;eb=Xb+4|0;fb=Xb+1|0;gb=Wb+1|0;hb=Wb+5|0;ib=Xb+5|0;jb=Xb+2|0;kb=Wb+2|0;lb=Wb+6|0;mb=Xb+6|0;nb=Pb<<1;ob=Xb+3|0;pb=Wb+3|0;qb=Wb+7|0;rb=Xb+7|0;sb=Pb*3|0;tb=Xb+1|0;ub=Wb+1|0;H=Wb+5|0;I=Xb+5|0;J=1-Pb|0;K=Wb+4|0;L=Xb+4|0;M=Xb+1|0;N=Wb+1|0;O=Wb+5|0;P=Xb+5|0;Q=Xb+2|0;S=Wb+2|0;T=Wb+6|0;U=Xb+6|0;V=Xb+3|0;W=Wb+3|0;X=Wb+7|0;Y=Xb+7|0;Z=Xb+2|0;_=Wb+2|0;$=Wb+6|0;aa=Xb+6|0;ba=Pb<<1;ca=ba+-1|0;da=Xb+2|0;ea=Wb+2|0;fa=Wb+6|0;ga=Xb+6|0;ha=2-Pb|0;ia=Xb+3|0;ja=Wb+3|0;ka=Wb+7|0;la=Xb+7|0;ma=Pb*3|0;na=ma+-1|0;oa=Xb+3|0;pa=Wb+3|0;qa=Wb+7|0;ra=Xb+7|0;sa=3-Pb|0;a:while(1){if(zb){A=g<<Bb;B=z(A,Rb)|0;C=(B|0)/4|0;D=B+-1|0;y=i;do{E=y<<Ab;F=z(E,Qb)|0;j=(z(c[Vb>>2]|0,C)|0)+((F|0)/4|0)|0;j=a[(c[Cb>>2]|0)+j>>0]&3;if((j&255)>1){G=F+-1|0;w=(j<<1&255)+-2|0;x=E-Pb|0;j=0;while(1){l=c[Db>>2]|0;l=(j|0)==0?c[l+28>>2]|0:c[l+32>>2]|0;u=j+1|0;j=c[b+4+(u<<2)>>2]|0;h=z(c[Ub>>2]|0,A)|0;k=h+E|0;v=j+k|0;if(f){a[Xb>>0]=a[v>>0]|0;a[Wb>>0]=a[v+-1>>0]|0;a[xa>>0]=a[v+Pb>>0]|0;a[za>>0]=a[v+ya>>0]|0;a[Ba>>0]=a[v+Aa>>0]|0;a[Da>>0]=a[v+Ca>>0]|0;a[Fa>>0]=a[v+Ea>>0]|0;a[Ha>>0]=a[v+Ga>>0]|0;a[Ia>>0]=a[v+1>>0]|0;a[Ja>>0]=a[v+-2>>0]|0;a[La>>0]=a[v+Ka>>0]|0;a[Na>>0]=a[v+Ma>>0]|0;a[Pa>>0]=a[v+Oa>>0]|0;a[Ra>>0]=a[v+Qa>>0]|0;a[Ta>>0]=a[v+Sa>>0]|0;a[Va>>0]=a[v+Ua>>0]|0}else{t=x+h|0;s=j+t|0;c[Xb>>2]=d[v>>0]|d[v+1>>0]<<8|d[v+2>>0]<<16|d[v+3>>0]<<24;c[Wb>>2]=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;t=j+(t-Pb)|0;s=j+(k+Pb)|0;c[vb>>2]=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;c[wb>>2]=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24}m=c[Eb>>2]|0;o=F>>m;j=B>>m;if((o|0)<=-1){j=14;break a}r=c[Fb>>2]|0;if((o|0)>=(r|0)){j=14;break a}if((j|0)<=-1){j=17;break a}p=c[Gb>>2]|0;if((j|0)>=(p|0)){j=17;break a}s=c[Hb>>2]|0;n=z(r,j)|0;q=n+o|0;h=a[s+(q*3|0)+2>>0]|0;if(f){j=G>>m;if(!((j|0)>-1&(j|0)<(r|0))){j=20;break a}j=n+j|0}else{j=D>>m;if(!((j|0)>-1&(j|0)<(p|0))){j=23;break a}j=(z(r,j)|0)+o|0}j=(h+1+(a[s+(j*3|0)+2>>0]|0)>>1)+l|0;do if((c[Ib>>2]|0)==1){if((j|0)>=30)if((j|0)>42){j=j+-6|0;break}else{j=c[480+(j+-30<<2)>>2]|0;break}}else j=(j|0)<51?j:51;while(0);k=c[Jb>>2]|0;h=F>>k;k=B>>k;if((h|0)<=-1){j=33;break a}l=c[Kb>>2]|0;if((h|0)>=(l|0)){j=33;break a}if((k|0)<=-1){j=36;break a}if((k|0)>=(c[Lb>>2]|0)){j=36;break a}t=e[(c[Mb>>2]|0)+(((z(l,k)|0)+h|0)*24|0)+2>>1]|0;t=w+j+(c[(c[(c[Nb>>2]|0)+(t<<2)>>2]|0)+764>>2]|0)|0;t=(t|0)<53?t:53;t=d[544+((t|0)>0?t:0)>>0]<<(c[yb>>2]|0)+-8;k=(a[ta>>0]|0)==0;do if(f){j=G>>m;if(k)h=1;else{if(!((j|0)>-1&(j|0)<(r|0))){j=40;break a}h=s+((n+j|0)*3|0)|0;h=((d[h>>0]|d[h+1>>0]<<8)&1024)==0}if(!((j|0)>-1&(j|0)<(r|0))){j=43;break a}r=s+((n+j|0)*3|0)|0;l=s+(q*3|0)|0;l=d[l>>0]|d[l+1>>0]<<8;l=(k|(l&1024)==0)&(l&2048)==0;k=0-t|0;if(!(h&((d[r>>0]|d[r+1>>0]<<8)&2048)==0)){if(!l)break;s=d[Xb>>0]|0;r=(d[db>>0]|0)+4+(s-(d[Wb>>0]|0)<<2)-(d[eb>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[v>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[fb>>0]|0;s=(d[hb>>0]|0)+4+(r-(d[gb>>0]|0)<<2)-(d[ib>>0]|0)>>3;s=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[v+Pb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;s=d[jb>>0]|0;r=(d[lb>>0]|0)+4+(s-(d[kb>>0]|0)<<2)-(d[mb>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[v+nb>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[ob>>0]|0;s=(d[qb>>0]|0)+4+(r-(d[pb>>0]|0)<<2)-(d[rb>>0]|0)>>3;t=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[v+sb>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;break}j=d[Xb>>0]|0;s=d[Wb>>0]|0;h=(d[Wa>>0]|0)+4+(j-s<<2)-(d[Xa>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+-1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[_a>>0]|0;s=d[$a>>0]|0;h=(d[ab>>0]|0)+4+(j-s<<2)-(d[bb>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+cb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v+Pb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[Z>>0]|0;s=d[_>>0]|0;h=(d[$>>0]|0)+4+(j-s<<2)-(d[aa>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+ca>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v+ba>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}h=d[ia>>0]|0;s=d[ja>>0]|0;j=(d[ka>>0]|0)+4+(h-s<<2)-(d[la>>0]|0)>>3;j=(j|0)<(k|0)?k:(j|0)>(t|0)?t:j;t=j+s|0;a[v+na>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;if(!l)break;t=h-j|0;a[v+ma>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255}else{j=D>>m;if(k)h=1;else{if(!((j|0)>-1&(j|0)<(p|0))){j=52;break a}h=s+(((z(r,j)|0)+o|0)*3|0)|0;h=((d[h>>0]|d[h+1>>0]<<8)&1024)==0}if(!((j|0)>-1&(j|0)<(p|0))){j=55;break a}r=s+(((z(r,j)|0)+o|0)*3|0)|0;l=s+(q*3|0)|0;l=d[l>>0]|d[l+1>>0]<<8;l=(k|(l&1024)==0)&(l&2048)==0;k=0-t|0;if(!(h&((d[r>>0]|d[r+1>>0]<<8)&2048)==0)){if(!l)break;s=d[Xb>>0]|0;r=(d[K>>0]|0)+4+(s-(d[Wb>>0]|0)<<2)-(d[L>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[v>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[M>>0]|0;s=(d[O>>0]|0)+4+(r-(d[N>>0]|0)<<2)-(d[P>>0]|0)>>3;s=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[v+1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;s=d[Q>>0]|0;r=(d[T>>0]|0)+4+(s-(d[S>>0]|0)<<2)-(d[U>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[v+2>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[V>>0]|0;s=(d[X>>0]|0)+4+(r-(d[W>>0]|0)<<2)-(d[Y>>0]|0)>>3;t=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[v+3>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;break}j=d[Xb>>0]|0;s=d[Wb>>0]|0;h=(d[Ya>>0]|0)+4+(j-s<<2)-(d[Za>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+wa>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[tb>>0]|0;s=d[ub>>0]|0;h=(d[H>>0]|0)+4+(j-s<<2)-(d[I>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+J>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v+1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[da>>0]|0;s=d[ea>>0]|0;h=(d[fa>>0]|0)+4+(j-s<<2)-(d[ga>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[v+ha>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[v+2>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}h=d[oa>>0]|0;s=d[pa>>0]|0;j=(d[qa>>0]|0)+4+(h-s<<2)-(d[ra>>0]|0)>>3;j=(j|0)<(k|0)?k:(j|0)>(t|0)?t:j;t=j+s|0;a[v+sa>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;if(!l)break;t=h-j|0;a[v+3>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255}while(0);if(u>>>0<2)j=1;else break}}y=y+Sb|0}while((y|0)<(Ob|0))}g=g+Tb|0;if((g|0)>=(xb|0)){j=3;break}}switch(j|0){case 3:{oc=Yb;return}case 14:{R(119015,119052,120,119072);break}case 17:{R(119076,119052,121,119072);break}case 20:{R(119015,119052,120,119072);break}case 23:{R(119076,119052,121,119072);break}case 33:{R(119015,119052,120,119072);break}case 36:{R(119076,119052,121,119072);break}case 40:{R(119015,119052,120,119072);break}case 43:{R(119015,119052,120,119072);break}case 52:{R(119076,119052,121,119072);break}case 55:{R(119076,119052,121,119072);break}}}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;b=a+356|0;Ee(b);f=a+340|0;e=c[f>>2]|0;c[f>>2]=e+-1;f=a+348|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((e|0)<=0)R(116456,116477,658,116488);if((d|0)!=(c[a+352>>2]|0)){Ge(b);return}Fe(a+384|0,b);Ge(b);return}function De(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;Nq(d)|0;if((c[a>>2]|0)>=(b|0)){Oq(d)|0;return}c[a>>2]=b;sD(a+32|0)|0;Oq(d)|0;return}function Ee(a){a=a|0;Nq(a)|0;return}function Fe(a,b){a=a|0;b=b|0;sD(a|0)|0;return}function Ge(a){a=a|0;Oq(a)|0;return}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if(d){e=a+164|0;f=c[e>>2]|0;do if((f|0)>0){d=0;while(1){if((c[a+84+(d<<2)>>2]|0)==(b|0)){d=11;break}d=d+1|0;if((d|0)>=(f|0)){d=6;break}}if((d|0)==6)if((f|0)<20)break;else break a;else if((d|0)==11)return}while(0);c[e>>2]=f+1;c[a+84+(f<<2)>>2]=b}while(0);e=a+80|0;d=c[e>>2]|0;if((d|0)==20){b=1001;d=19}else c[e>>2]=d+1;c[a+(d<<2)>>2]=b;return}function Ie(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;s=b+252|0;l=c[s>>2]|0;k=e>>l;if((k|0)<=-1)R(119015,119052,120,119072);p=b+256|0;q=b+260|0;r=b+244|0;w=e;v=f;n=g;m=h;o=i;t=j;g=f>>l;while(1){e=c[p>>2]|0;if((k|0)>=(e|0)){e=4;break}if((g|0)<=-1){e=7;break}if((g|0)>=(c[q>>2]|0)){e=7;break}u=1<<n;if(!(1<<m&(d[(c[r>>2]|0)+((z(e,g)|0)+k)>>0]|0))){e=10;break}h=u>>1;g=h+w|0;h=h+v|0;e=n+-1|0;m=m+1|0;Ie(b,w,v,e,m,o,t);Ie(b,g,v,e,m,16,t);Ie(b,w,h,e,m,o,32);i=c[s>>2]|0;k=g>>i;if((k|0)<=-1){e=4;break}else{w=g;v=h;n=e;o=16;t=32;g=h>>i}}if((e|0)==4)R(119015,119052,120,119072);else if((e|0)==7)R(119076,119052,121,119072);else if((e|0)==10){m=(n|0)==31;if(m)return;g=o&255;h=(w|0)/4|0;i=b+276|0;j=b+280|0;k=b+264|0;e=0;do{f=(e+v|0)/4|0;l=c[i>>2]|0;if((h|0)<(l|0)?(f|0)<(c[j>>2]|0):0){s=(z(l,f)|0)+h|0;s=(c[k>>2]|0)+s|0;a[s>>0]=a[s>>0]|g}e=e+4|0}while((e|0)<(u|0));if(m)return;l=t&255;j=(v|0)/4|0;k=b+276|0;f=b+280|0;g=b+264|0;e=0;do{h=(e+w|0)/4|0;i=c[k>>2]|0;if((h|0)<(i|0)?(j|0)<(c[f>>2]|0):0){b=(z(i,j)|0)+h|0;b=(c[g>>2]|0)+b|0;a[b>>0]=a[b>>0]|l}e=e+4|0}while((e|0)<(u|0));return}}function Je(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;j=c[b+172>>2]|0;i=e>>j;j=f>>j;if((i|0)<=-1)R(119015,119052,120,119072);h=c[b+176>>2]|0;if((i|0)>=(h|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)>=(c[b+180>>2]|0))R(119076,119052,121,119072);n=(c[b+164>>2]|0)+(((z(h,j)|0)+i|0)*3|0)|0;o=1<<g;i=1<<g+-1;h=1<<g+-2;switch(((d[n>>0]|d[n+1>>0]<<8)&65535)>>>3&7){case 3:{if((g|0)==31)return;l=(i+e|0)/4|0;m=b+276|0;n=b+280|0;k=(i+f|0)/4|0;g=b+264|0;j=0;do{h=(j+f|0)/4|0;i=c[m>>2]|0;if((l|0)<(i|0)?(h|0)<(c[n>>2]|0):0){i=(z(i,h)|0)+l|0;i=(c[g>>2]|0)+i|0;a[i>>0]=a[i>>0]|64;i=c[m>>2]|0}h=(j+e|0)/4|0;if((h|0)<(i|0)?(k|0)<(c[n>>2]|0):0){b=(z(i,k)|0)+h|0;b=(c[g>>2]|0)+b|0;a[b>>0]=a[b>>0]|-128}j=j+1|0}while((j|0)<(o|0));return}case 2:{if((g|0)==31)return;k=(i+e|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(z(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 1:{if((g|0)==31)return;k=(i+f|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(z(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}case 6:{if((g|0)==31)return;k=(h+e|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(z(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 7:{if((g|0)==31)return;k=(i+e+h|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(z(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 4:{if((g|0)==31)return;k=(h+f|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(z(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}case 5:{if((g|0)==31)return;k=(i+f+h|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(z(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}default:return}}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!b)return;d=(c[a+332>>2]|0)+(d*80|0)|0;if((Le(d)|0)>=(e|0))return;f=a+356|0;Ee(f);g=a+340|0;c[g>>2]=(c[g>>2]|0)+-1;a=a+344|0;c[a>>2]=(c[a>>2]|0)+1;Ge(f);b=b+4|0;c[b>>2]=2;Me(d,e);c[b>>2]=1;Ee(f);c[a>>2]=(c[a>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+1;Ge(f);return}function Le(a){a=a|0;return c[a>>2]|0}function Me(a,b){a=a|0;b=b|0;var d=0,e=0;if((c[a>>2]|0)>=(b|0))return;d=a+4|0;Nq(d)|0;if((c[a>>2]|0)<(b|0)){e=a+32|0;do lb(e|0,d|0)|0;while((c[a>>2]|0)<(b|0))}Oq(d)|0;return}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=12192;f=a+3212|0;b=c[f>>2]|0;g=a+3216|0;d=c[g>>2]|0;if((b|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e){Re(e);xB(e);d=(c[g>>2]|0)+-4|0;b=c[f>>2]|0}c[g>>2]=d}while((b|0)!=(d|0));if(b|0){c[g>>2]=b;xB(b)}We(a+2144|0);Se(a+1392|0);b=c[a+1388>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+1380>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+1372>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=a+856|0;d=a+1368|0;do{e=c[d+-4>>2]|0;d=d+-8|0;if(e|0?(f=e+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[e>>2]|0)+8>>2]&255](e);sB(e)}}while((d|0)!=(b|0));b=c[a+852>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+844>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+836>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+828>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+820>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+812>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+804>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+796>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+788>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+780>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+772>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+764>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+756>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+748>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+740>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+732>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+724>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+716>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+708>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+700>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+692>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+684>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+676>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+668>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+660>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+652>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+644>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+636>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+628>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+620>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+612>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}while(0);b=c[a+604>>2]|0;if(!b){a=a+548|0;Te(a);return}f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0){a=a+548|0;Te(a);return}Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);a=a+548|0;Te(a);return}function Oe(a){a=a|0;Ne(a);xB(a);return}function Pe(a,b){a=a|0;b=b|0;var d=0;d=c[a+2152>>2]|0;if((c[a+2156>>2]|0)-d>>2>>>0<=b>>>0){d=0;return d|0}d=c[d+(b<<2)>>2]|0;return d|0}function Qe(a,b){a=a|0;b=b|0;if((b|0)<=-1){b=0;return b|0}b=((c[a+2156>>2]|0)-(c[a+2152>>2]|0)>>2|0)>(b|0);return b|0}function Re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+440|0;l=a+444|0;d=c[l>>2]|0;b=c[k>>2]|0;if((d|0)!=(b|0)){g=0;do{f=c[b+(g<<2)>>2]|0;if(f){lf((c[f+144>>2]|0)+548|0,c[f>>2]|0);d=c[f+136>>2]|0;if(d|0){e=d+-4|0;b=c[e>>2]|0;if(b|0){b=d+(b*18608|0)|0;do{kf(b+-36|0);b=b+-18608|0}while((b|0)!=(d|0))}yB(e)}jf(f+44|0);xB(f);d=c[l>>2]|0;b=c[k>>2]|0}g=g+1|0}while(g>>>0<d-b>>2>>>0)}i=a+472|0;j=a+476|0;e=c[j>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){h=0;f=b;g=d;while(1){d=c[f+(h<<2)>>2]|0;if(!d){f=g;d=g}else{Dc[c[(c[d>>2]|0)+4>>2]&255](d);d=c[i>>2]|0;b=d;f=b;e=c[j>>2]|0}h=h+1|0;if(h>>>0>=e-d>>2>>>0)break;else g=d}}d=a+484|0;f=c[d>>2]|0;if(f){e=a+488|0;b=c[e>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-8|0;kf(b)}while((b|0)!=(f|0));b=c[d>>2]|0}c[e>>2]=f;xB(b);b=c[i>>2]|0}if(b|0){c[j>>2]=b;xB(b)}b=c[a+452>>2]|0;if(b|0){c[a+456>>2]=b;xB(b)}b=c[k>>2]|0;if(!b){l=a+8|0;Ye(l);return}c[l>>2]=b;xB(b);l=a+8|0;Ye(l);return}function Se(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;m=a+8|0;b=c[m>>2]|0;k=a+20|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+12|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+24|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+24|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{xB(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)!=(e|0)){do{xB(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[m>>2]|0;d=c[n>>2]|0;if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a+4>>2]|0;if(!b)return;xB(b);return}function Te(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;n=oc;oc=oc+16|0;m=n;g=a+32|0;b=c[g>>2]|0;a:do if(b|0){h=a+16|0;i=a+28|0;j=a+36|0;k=a+40|0;l=a+44|0;f=a+48|0;do{d=c[h>>2]|0;o=c[i>>2]|0;e=c[(c[d+(o>>>10<<2)>>2]|0)+((o&1023)<<2)>>2]|0;c[g>>2]=b+-1;b=o+1|0;c[i>>2]=b;if(b>>>0>2047){xB(c[d>>2]|0);c[h>>2]=(c[h>>2]|0)+4;c[i>>2]=(c[i>>2]|0)+-1024}c[j>>2]=(c[j>>2]|0)-(c[e+24>>2]|0);if(!e)break a;c[m>>2]=e;b=e;d=c[l>>2]|0;do if(d-(c[k>>2]|0)>>2>>>0<16)if((c[f>>2]|0)==(d|0)){Ue(k,m);break}else{c[d>>2]=b;c[l>>2]=(c[l>>2]|0)+4;break}else{Gq(c[e+20>>2]|0);b=c[e+32>>2]|0;if(b|0){c[e+36>>2]=b;xB(b)}xB(e)}while(0);b=c[g>>2]|0}while((b|0)!=0)}while(0);e=c[a+8>>2]|0;if(!e){f=a+44|0;i=a+40|0}else{c[m>>2]=e;b=e;g=a+40|0;f=a+44|0;d=c[f>>2]|0;do if(d-(c[g>>2]|0)>>2>>>0<16)if((c[a+48>>2]|0)==(d|0)){Ue(g,m);break}else{c[d>>2]=b;c[f>>2]=(c[f>>2]|0)+4;break}else{Gq(c[e+20>>2]|0);b=c[e+32>>2]|0;if(b|0){c[e+36>>2]=b;xB(b)}xB(e)}while(0);i=g}e=c[f>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){h=0;while(1){g=c[b+(h<<2)>>2]|0;if(!g)b=d;else{Gq(c[g+20>>2]|0);b=c[g+32>>2]|0;if(b|0){c[g+36>>2]=b;xB(b)}xB(g);b=c[i>>2]|0;e=c[f>>2]|0}h=h+1|0;if(h>>>0>=e-b>>2>>>0)break;else d=b}}if(!b){o=a+12|0;Ve(o);oc=n;return}c[f>>2]=b;xB(b);o=a+12|0;Ve(o);oc=n;return}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function Ve(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;m=a+4|0;b=c[m>>2]|0;k=a+16|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+8|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+20|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+20|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{xB(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)!=(e|0)){do{xB(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[m>>2]|0;d=c[n>>2]|0;if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;xB(b);return}function We(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+8|0;h=a+12|0;e=c[h>>2]|0;b=c[g>>2]|0;if((e|0)!=(b|0)){f=0;while(1){d=c[b+(f<<2)>>2]|0;if(!d)d=e;else{Ye(d);xB(d);d=c[h>>2]|0;b=c[g>>2]|0}f=f+1|0;if(f>>>0>=d-b>>2>>>0)break;else e=d}}Xe(a+32|0);b=c[a+20>>2]|0;if(b|0){c[a+24>>2]=b;xB(b)}b=c[g>>2]|0;if(!b)return;c[h>>2]=b;xB(b);return}function Xe(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;m=a+4|0;b=c[m>>2]|0;k=a+16|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+8|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+20|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+20|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{xB(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)==(e|0)){d=e;b=e}else{do{xB(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));d=c[n>>2]|0;b=c[m>>2]|0}if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=c[a>>2]|0;if(!b)return;xB(b);return}function Ye(a){a=a|0;var b=0,d=0,e=0;Ze(a);d=c[a+332>>2]|0;if(d|0){e=d+-4|0;b=c[e>>2]|0;if(b|0){b=d+(b*80|0)|0;do{b=b+-80|0;jf(b)}while((b|0)!=(d|0))}yB(e)}gf(a+384|0);hf(a+356|0);Gq(c[a+264>>2]|0);Gq(c[a+244>>2]|0);Gq(c[a+224>>2]|0);Gq(c[a+204>>2]|0);Gq(c[a+184>>2]|0);Gq(c[a+164>>2]|0);Gq(c[a+144>>2]|0);b=c[a+140>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+132>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+124>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[a+52>>2]|0;if(!b)return;c[a+56>>2]=b;xB(b);return}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;if(c[e>>2]|0){b=c[a+320>>2]|0;if(!b){b=c[a+112>>2]|0;if(!b)d=0;else d=c[b+544>>2]|0;Fc[c[a+316>>2]&31](b,a,d)}else{g=c[a+116>>2]|0;Fc[b&31](g,a,c[g+3708>>2]|0)};c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;g=a+64|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}f=a+52|0;g=a+56|0;d=c[g>>2]|0;b=c[f>>2]|0;if((d|0)==(b|0)){f=d;c[g>>2]=f;return}a=0;do{e=c[b+(a<<2)>>2]|0;if(e){b=c[e+1348>>2]|0;if(b|0){c[e+1352>>2]=b;xB(b)}kf(e+1336|0);b=c[e+780>>2]|0;if(b|0){c[e+784>>2]=b;xB(b)}xB(e);d=c[g>>2]|0;b=c[f>>2]|0}a=a+1|0}while(a>>>0<d-b>>2>>>0);c[g>>2]=b;return}function _e(a){a=a|0;Gq(c[a>>2]|0);return}function $e(a){a=a|0;Gq(c[a>>2]|0);return}function af(a){a=a|0;Gq(c[a>>2]|0);return}function bf(a){a=a|0;Gq(c[a>>2]|0);return}function cf(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;Dc[c[(c[a>>2]|0)+8>>2]&255](a);sB(a);return}function df(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;Dc[c[(c[a>>2]|0)+8>>2]&255](a);sB(a);return}function ef(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;Dc[c[(c[a>>2]|0)+8>>2]&255](a);sB(a);return}function ff(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;xB(b);return}function gf(a){a=a|0;ib(a|0)|0;return}function hf(a){a=a|0;Pq(a)|0;return}function jf(a){a=a|0;Pq(a+4|0)|0;ib(a+32|0)|0;return}function kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=oc;oc=oc+16|0;e=f+8|0;b=f;if(0){c[b>>2]=a;vq(116603,b)|0}d=a+4|0;b=c[d>>2]|0;if(!b){oc=f;return}g=(c[b>>2]|0)+-1|0;c[b>>2]=g;if(g|0){oc=f;return}if(0){c[e>>2]=c[a>>2];vq(116618,e)|0}b=c[a>>2]|0;if(b|0)yB(b);b=c[d>>2]|0;if(!b){oc=f;return}xB(b);oc=f;return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=oc;oc=oc+16|0;d=i;c[d>>2]=b;e=b;if(!b){oc=i;return}f=a+40|0;g=a+44|0;h=c[g>>2]|0;if(h-(c[f>>2]|0)>>2>>>0>=16){Gq(c[b+20>>2]|0);a=c[b+32>>2]|0;if(a|0){c[b+36>>2]=a;xB(a)}xB(b);oc=i;return}if((c[a+48>>2]|0)==(h|0)){Ue(f,d);oc=i;return}else{c[h>>2]=e;c[g>>2]=(c[g>>2]|0)+4;oc=i;return}}function mf(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;b=c[e+4>>2]|0;g=c[e+8>>2]|0;i=(g|0)/(d[f+51>>0]|0|0)|0;e=c[e+12>>2]|0;k=e+-1|0;l=k+b|0;l=l-((l|0)%(e|0)|0)|0;b=k+((b|0)/(d[f+50>>0]|0|0)|0)|0;e=b-((b|0)%(e|0)|0)|0;b=a[f+48>>0]|0;if((b+-8&255)>=9)R(116675,116477,115,116721);h=a[f+49>>0]|0;if((h+-8&255)>=9)R(116744,116477,116,116721);k=Kq(16,z(z(l,g)|0,((b&255)+7|0)>>>3)|0)|0;j=(k|0)==0;if(!(c[f+20>>2]|0))if(j){f=0;return f|0}else{e=0;g=0;b=0}else{i=z(z(e,i)|0,((h&255)+7|0)>>>3)|0;h=Kq(16,i)|0;i=Kq(16,i)|0;g=h;b=i;if(j|((h|0)==0|(i|0)==0)){if(!j)Gq(k);if(h|0)Gq(h);if(!i){f=0;return f|0}Gq(i);f=0;return f|0}}c[f+4>>2]=k;c[f+300>>2]=0;c[f+40>>2]=l;c[f+8>>2]=g;c[f+304>>2]=0;c[f+12>>2]=b;c[f+308>>2]=0;c[f+44>>2]=e;f=1;return f|0}function nf(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+4>>2]|0;if(a|0)Gq(a);a=c[b+8>>2]|0;if(a|0)Gq(a);a=c[b+12>>2]|0;if(!a)return;Gq(a);return}function of(a){a=a|0;xB(a);return}function pf(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=b+4|0;c[t>>2]=1;v=b+12|0;ue(c[v>>2]|0,b);d=c[v>>2]|0;j=c[d+128>>2]|0;w=j+5056|0;x=c[w>>2]|0;h=x+-1|0;i=c[j+5040>>2]|0;s=1<<i;u=b+8|0;g=b+24|0;ve(d,b,h,c[u>>2]|0,c[g>>2]|0);d=c[u>>2]|0;if((d|0)>0){ve(c[v>>2]|0,b,h,d+-1|0,c[g>>2]|0);d=c[u>>2]|0}f=d+1|0;if((f|0)<(c[j+5064>>2]|0)){ve(c[v>>2]|0,b,h,f,c[g>>2]|0);d=c[u>>2]|0;f=d+1|0}q=b+20|0;r=b+16|0;rf(c[q>>2]|0,c[r>>2]|0,d<<i,f<<i);d=c[w>>2]|0;a:do if((d|0)>0){p=j+5016|0;o=j+5020|0;n=0;do{i=c[v>>2]|0;j=c[u>>2]|0;f=(z(c[i+156>>2]|0,j)|0)+n|0;f=e[(c[i+144>>2]|0)+(f*24|0)+2>>1]|0;g=c[i+52>>2]|0;if((c[i+56>>2]|0)-g>>2>>>0<=f>>>0)break a;m=c[g+(f<<2)>>2]|0;if(!m)break a;do if(a[m+329>>0]|0){d=c[r>>2]|0;g=c[d+4>>2]|0;d=c[d+40>>2]|0;f=c[q>>2]|0;h=c[f+4>>2]|0;f=c[f+40>>2]|0;if((c[(c[i+128>>2]|0)+4996>>2]|0)>8){sf(i,n,j,m,0,s,s,g,d,h,f);break}else{tf(i,n,j,m,0,s,s,g,d,h,f);break}}while(0);do if(a[m+330>>0]|0){k=(s|0)/(c[p>>2]|0)|0;l=(s|0)/(c[o>>2]|0)|0;g=c[v>>2]|0;h=c[u>>2]|0;f=c[r>>2]|0;i=c[f+8>>2]|0;f=c[f+44>>2]|0;d=c[q>>2]|0;j=c[d+8>>2]|0;d=c[d+44>>2]|0;if((c[(c[g+128>>2]|0)+5004>>2]|0)>8)sf(g,n,h,m,1,k,l,i,f,j,d);else tf(g,n,h,m,1,k,l,i,f,j,d);i=c[v>>2]|0;j=c[u>>2]|0;f=c[r>>2]|0;g=c[f+12>>2]|0;f=c[f+44>>2]|0;d=c[q>>2]|0;h=c[d+12>>2]|0;d=c[d+44>>2]|0;if((c[(c[i+128>>2]|0)+5004>>2]|0)>8){sf(i,n,j,m,2,k,l,g,f,h,d);break}else{tf(i,n,j,m,2,k,l,g,f,h,d);break}}while(0);n=n+1|0;d=c[w>>2]|0}while((n|0)<(d|0))}while(0);if((x|0)<=0){c[t>>2]=3;x=c[v>>2]|0;Ce(x,b);return}De((c[(c[v>>2]|0)+332>>2]|0)+((z(c[u>>2]|0,d)|0)*80|0)|0,4);if((x|0)==1){c[t>>2]=3;x=c[v>>2]|0;Ce(x,b);return}d=1;do{De((c[(c[v>>2]|0)+332>>2]|0)+(((z(c[u>>2]|0,c[w>>2]|0)|0)+d|0)*80|0)|0,4);d=d+1|0}while((d|0)!=(x|0));c[t>>2]=3;x=c[v>>2]|0;Ce(x,b);return}function qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=oc;oc=oc+112|0;g=f+104|0;e=f;c[g>>2]=c[d+8>>2];Eo(e,116790,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Fp(e)|0;if(d>>>0>4294967279)DB(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;oc=f;return}}else{h=d+16&-16;g=vB(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}pD(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;oc=f;return}function rf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+28>>2]|0;o=(o|0)<(f|0)?o:f;if(e&1|0)R(116797,116477,551,116812);if(o&1|0)R(116828,116477,552,116812);p=c[a+128>>2]|0;h=((c[p+4996>>2]|0)+7|0)/8|0;p=((c[p+5004>>2]|0)+7|0)/8|0;i=b+40|0;f=c[i>>2]|0;j=a+40|0;g=c[j>>2]|0;if((f|0)!=(g|0)){if((o|0)>(e|0)?(l=a+4|0,m=b+4|0,n=b+24|0,k=z(h,e)|0,g=(c[l>>2]|0)+(z(k,g)|0)|0,k=(c[m>>2]|0)+(z(k,f)|0)|0,pD(g|0,k|0,z(c[n>>2]|0,h)|0)|0,k=e+1|0,(k|0)<(o|0)):0){f=k;do{k=z(f,h)|0;g=(c[l>>2]|0)+(z(k,c[j>>2]|0)|0)|0;k=(c[m>>2]|0)+(z(k,c[i>>2]|0)|0)|0;pD(g|0,k|0,z(c[n>>2]|0,h)|0)|0;f=f+1|0}while((f|0)<(o|0))}}else{n=z(z(h,e)|0,f)|0;pD((c[a+4>>2]|0)+n|0,(c[b+4>>2]|0)+n|0,z(z(f,h)|0,o-e|0)|0)|0}n=d[b+51>>0]|0;f=(e|0)/(n|0)|0;e=(o|0)/(n|0)|0;if(!(c[b+20>>2]|0))return;l=b+44|0;g=c[l>>2]|0;m=a+44|0;h=c[m>>2]|0;if((g|0)==(h|0)){n=z(f,p)|0;l=z(n,g)|0;o=z(e-f|0,p)|0;pD((c[a+8>>2]|0)+l|0,(c[b+8>>2]|0)+l|0,z(o,g)|0)|0;p=c[m>>2]|0;n=z(n,p)|0;pD((c[a+12>>2]|0)+n|0,(c[b+12>>2]|0)+n|0,z(o,p)|0)|0;return}if((e|0)<=(f|0))return;n=a+8|0;o=b+8|0;k=b+32|0;j=a+12|0;i=b+12|0;while(1){b=z(f,p)|0;h=(c[n>>2]|0)+(z(b,h)|0)|0;a=(c[o>>2]|0)+(z(b,g)|0)|0;pD(h|0,a|0,z(c[k>>2]|0,p)|0)|0;a=(c[j>>2]|0)+(z(b,c[m>>2]|0)|0)|0;b=(c[i>>2]|0)+(z(b,c[l>>2]|0)|0)|0;pD(a|0,b|0,z(c[k>>2]|0,p)|0)|0;f=f+1|0;if((f|0)==(e|0))break;h=c[m>>2]|0;g=c[l>>2]|0}return}function sf(f,g,h,i,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=oc;oc=oc+128|0;Ca=Ga;qa=c[f+156>>2]|0;E=(z(qa,h)|0)+g|0;Da=c[f+144>>2]|0;r=j<<1;s=(d[Da+(E*24|0)+4>>0]|0)>>>r&3;if(!s){oc=Ga;return}t=c[f+128>>2]|0;u=c[f+136>>2]|0;q=(j|0)==0;v=c[(q?t+4996|0:t+5004|0)>>2]|0;Ea=1<<v;Fa=Ea+-1|0;Ba=z(k,g)|0;Aa=z(l,h)|0;la=c[(q?f+24|0:f+32|0)>>2]|0;ma=c[(q?f+28|0:f+36|0)>>2]|0;na=c[f+152>>2]|0;i=Ba>>na;g=Aa>>na;if(!((i|0)>-1&(i|0)<(qa|0)))R(119015,119052,120,119072);if((g|0)<=-1)R(119076,119052,121,119072);oa=c[f+160>>2]|0;if((g|0)>=(oa|0))R(119076,119052,121,119072);ja=e[Da+(((z(g,qa)|0)+i|0)*24|0)+2>>1]|0;ia=c[f+52>>2]|0;ha=(c[f+56>>2]|0)-ia>>2;ja=c[(c[ia+(ja<<2)>>2]|0)+804>>2]|0;ka=c[t+5056>>2]|0;if(q){va=0;wa=0}else{va=(c[t+5016>>2]|0)+-1|0;wa=(c[t+5020>>2]|0)+-1|0}ga=c[t+5040>>2]|0;fa=ga-va|0;ga=ga-wa|0;za=(Ba+k|0)>(la|0)?la-Ba|0:k;ya=(Aa+l|0)>(ma|0)?ma-Aa|0:l;pa=(a[Da+(E*24|0)+22>>0]|0)!=0;if((s|0)!=2){i=a[Da+(E*24|0)+6+j>>0]|0;g=Ca;h=g+128|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[Ca+((i&31)<<2)>>2]=1;c[Ca+((i+1&31)<<2)>>2]=2;c[Ca+((i+2&31)<<2)>>2]=3;c[Ca+((i+3&31)<<2)>>2]=4;D=v+-5|0;i=(ya|0)>0;a:do if(pa){if(i){C=(za|0)>0;x=t+4716|0;y=f+172|0;A=f+176|0;B=f+180|0;w=f+164|0;t=(v|0)>12;s=0;b:while(1){c:do if(C){r=s+Aa|0;u=r<<wa;l=z(r,n)|0;r=z(r,p)|0;v=(a[x>>0]|0)==0;if(t){q=0;while(1){if(v){g=c[y>>2]|0;i=q+Ba<<va>>g;if((i|0)>-1){g=u>>g;xa=83}else{xa=98;break b}}else{g=c[y>>2]|0;i=q+Ba<<va>>g;g=u>>g;if((i|0)<=-1){xa=91;break b}h=c[A>>2]|0;if((i|0)>=(h|0)){xa=91;break b}if((g|0)<=-1){xa=94;break b}if((g|0)>=(c[B>>2]|0)){xa=94;break b}ua=(c[w>>2]|0)+(((z(h,g)|0)+i|0)*3|0)|0;if(!((d[ua>>0]|d[ua+1>>0]<<8)&1024))xa=83}if((xa|0)==83){xa=0;if((i|0)>=(c[A>>2]|0)){xa=98;break b}if((g|0)<=-1){xa=101;break b}if((g|0)>=(c[B>>2]|0)){xa=101;break b}}q=q+1|0;if((q|0)>=(za|0))break c}}k=0;do{if(v){h=c[y>>2]|0;i=k+Ba|0;g=i<<va>>h;if((g|0)>-1){h=u>>h;xa=97}else{xa=98;break b}}else{i=k+Ba|0;h=c[y>>2]|0;g=i<<va>>h;h=u>>h;if((g|0)<=-1){xa=91;break b}q=c[A>>2]|0;if((g|0)>=(q|0)){xa=91;break b}if((h|0)<=-1){xa=94;break b}if((h|0)>=(c[B>>2]|0)){xa=94;break b}ua=(c[w>>2]|0)+(((z(q,h)|0)+g|0)*3|0)|0;if(!((d[ua>>0]|d[ua+1>>0]<<8)&1024))xa=97}do if((xa|0)==97){xa=0;q=c[A>>2]|0;if((g|0)>=(q|0)){xa=98;break b}if((h|0)<=-1){xa=101;break b}if((h|0)>=(c[B>>2]|0)){xa=101;break b}ua=(c[w>>2]|0)+(((z(q,h)|0)+g|0)*3|0)|0;if((d[ua>>0]|d[ua+1>>0]<<8)&2048)break;g=e[m+(i+l<<1)>>1]|0;h=c[Ca+(g>>>D<<2)>>2]|0;if((h|0)<=0)break;ua=(a[h+-1+(Da+(E*24|0)+9+(j<<2))>>0]|0)+g|0;b[o+(i+r<<1)>>1]=(ua|0)<0?0:((ua|0)<(Ea|0)?ua:Fa)&65535}while(0);k=k+1|0}while((k|0)<(za|0))}while(0);s=s+1|0;if((s|0)>=(ya|0))break a}if((xa|0)==91)R(119015,119052,120,119072);else if((xa|0)==94)R(119076,119052,121,119072);else if((xa|0)==98)R(119015,119052,120,119072);else if((xa|0)==101)R(119076,119052,121,119072)}}else if(i?(w=(v|0)>12,(za|0)>0):0){g=0;do{q=g+Aa|0;h=z(q,n)|0;q=z(q,p)|0;if(!w){i=0;do{k=i+Ba|0;l=e[m+(k+h<<1)>>1]|0;r=c[Ca+(l>>>D<<2)>>2]|0;if((r|0)>0){xa=(a[r+-1+(Da+(E*24|0)+9+(j<<2))>>0]|0)+l|0;b[o+(k+q<<1)>>1]=(xa|0)<0?0:((xa|0)<(Ea|0)?xa:Fa)&65535}i=i+1|0}while((i|0)<(za|0))}g=g+1|0}while((g|0)<(ya|0))}while(0);oc=Ga;return}switch((d[Da+(E*24|0)+5>>0]|0)>>>r&3){case 0:{ra=0;sa=0;ta=-1;ua=1;break}case 1:{ra=-1;sa=1;ta=0;ua=0;break}case 2:{ra=-1;sa=1;ta=-1;ua=1;break}case 3:{ra=-1;sa=1;ta=1;ua=-1;break}default:{}}ea=z(ra,n)|0;da=0-sa&n;a[Ca>>0]=a[Da+(E*24|0)+9+(j<<2)>>0]|0;a[Ca+1>>0]=a[Da+(E*24|0)+9+(j<<2)+1>>0]|0;a[Ca+2>>0]=0;a[Ca+3>>0]=a[Da+(E*24|0)+9+(j<<2)+2>>0]|0;a[Ca+4>>0]=a[Da+(E*24|0)+9+(j<<2)+3>>0]|0;if((ya|0)<=0){oc=Ga;return}ca=(za|0)>0;_=t+4716|0;$=f+172|0;aa=f+176|0;ba=f+180|0;W=f+164|0;X=za+-1|0;Y=ya+-1|0;Z=u+53|0;C=u+4384|0;f=(z(Aa>>ga,ka)|0)+(Ba>>fa)|0;B=0;d:while(1){i=B+Aa|0;D=m+((z(i,n)|0)+Ba<<1)|0;E=o+((z(i,p)|0)+Ba<<1)|0;if(ca){j=i<<wa;F=(B|0)==0;G=(B|0)==(Y|0);H=j>>na;V=(H|0)>-1&(H|0)<(oa|0);H=z(H,qa)|0;I=ra+i|0;J=(I|0)<(ma|0);K=ra+i|0;L=(K|0)<(ma|0);M=I<<wa>>na;N=K<<wa>>na;U=(M|0)>-1&(M|0)<(oa|0);T=(N|0)>-1&(N|0)<(oa|0);M=z(M,qa)|0;N=z(N,qa)|0;O=z(I>>ga,ka)|0;P=sa+i|0;Q=(P|0)<(ma|0);S=z(K>>ga,ka)|0;s=sa+i|0;t=(s|0)<(ma|0);u=P<<wa>>na;v=s<<wa>>na;A=(u|0)>-1&(u|0)<(oa|0);y=(v|0)>-1&(v|0)<(oa|0);u=z(u,qa)|0;v=z(v,qa)|0;w=z(P>>ga,ka)|0;x=z(s>>ga,ka)|0;r=0;do{if(pa?(a[_>>0]|0)!=0:0){g=c[$>>2]|0;i=r+Ba<<va>>g;g=j>>g;if((i|0)<=-1){xa=23;break d}h=c[aa>>2]|0;if((i|0)>=(h|0)){xa=23;break d}if((g|0)<=-1){xa=26;break d}if((g|0)>=(c[ba>>2]|0)){xa=26;break d}l=(c[W>>2]|0)+(((z(h,g)|0)+i|0)*3|0)|0;if(!((d[l>>0]|d[l+1>>0]<<8)&1024))xa=28}else xa=28;e:do if((xa|0)==28){xa=0;l=r+Ba|0;i=l<<va;h=c[$>>2]|0;g=i>>h;h=j>>h;if((g|0)<=-1){xa=30;break d}q=c[aa>>2]|0;if((g|0)>=(q|0)){xa=30;break d}if((h|0)<=-1){xa=33;break d}if((h|0)>=(c[ba>>2]|0)){xa=33;break d}k=(c[W>>2]|0)+(((z(q,h)|0)+g|0)*3|0)|0;if(!((d[k>>0]|d[k+1>>0]<<8)&2048)){do if(G|((r|0)==(X|0)|(F|(r|0)==0))){q=i>>na;k=Da+((q+H|0)*24|0)+2|0;h=ta+l|0;if(!((q|0)>-1&(q|0)<(qa|0))){if(!(L&((h|0)<(la|0)&(K|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!T){xa=54;break d}i=e[Da+((N+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){xa=58;break d}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;q=(a[Z>>0]|0)==0;if(q?(k=c[C>>2]|0,(c[k+(S+(h>>fa)<<2)>>2]|0)!=(c[k+(f<<2)>>2]|0)):0)break e;h=ua+l|0;if(!(t&((h|0)<(la|0)&(s|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!y){xa=54;break d}i=e[Da+((v+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){xa=58;break d}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;if(!q)break;l=c[C>>2]|0;if((c[l+(x+(h>>fa)<<2)>>2]|0)==(c[l+(f<<2)>>2]|0))break;else break e}if(!(J&((h|0)<(la|0)&(I|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!U){xa=54;break d}i=e[Da+((M+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){if(!V){xa=59;break d}if(!(a[(c[ia+(e[k>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;q=(a[Z>>0]|0)==0;if(q?(g=c[C>>2]|0,(c[g+(O+(h>>fa)<<2)>>2]|0)!=(c[g+(f<<2)>>2]|0)):0)break e;h=ua+l|0;if(!(Q&((h|0)<(la|0)&(P|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!A){xa=54;break d}i=e[Da+((u+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){if(!V){xa=59;break d}if(!(a[(c[ia+(e[k>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;if(!q)break;l=c[C>>2]|0;if((c[l+(w+(h>>fa)<<2)>>2]|0)!=(c[l+(f<<2)>>2]|0))break e}while(0);l=e[D+(r<<1)>>1]|0;q=l-(e[D+(r+ea+ta<<1)>>1]|0)|0;k=l-(e[D+(r+da+ua<<1)>>1]|0)|0;l=(a[Ca+(((q|0)<0?1:(q|0)==0?2:3)+((k|0)<0?-1:(k|0)!=0&1))>>0]|0)+l|0;b[E+(r<<1)>>1]=(l|0)<0?0:((l|0)<(Ea|0)?l:Fa)&65535}}while(0);r=r+1|0}while((r|0)<(za|0))}B=B+1|0;if((B|0)>=(ya|0)){xa=68;break}}if((xa|0)==23)R(119015,119052,120,119072);else if((xa|0)==26)R(119076,119052,121,119072);else if((xa|0)==30)R(119015,119052,120,119072);else if((xa|0)==33)R(119076,119052,121,119072);else if((xa|0)==52)R(119015,119052,120,119072);else if((xa|0)==54)R(119076,119052,121,119072);else if((xa|0)==58)R(119015,119052,120,119072);else if((xa|0)==59)R(119076,119052,121,119072);else if((xa|0)==68){oc=Ga;return}}function tf(b,f,g,h,i,j,k,l,m,n,o){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=oc;oc=oc+128|0;wa=za;ja=b+156|0;p=c[ja>>2]|0;D=(z(p,g)|0)+f|0;ka=b+144|0;E=c[ka>>2]|0;r=i<<1;s=(d[E+(D*24|0)+4>>0]|0)>>>r&3;if(!s){oc=za;return}t=c[b+128>>2]|0;u=c[b+136>>2]|0;q=(i|0)==0;B=c[(q?t+4996|0:t+5004|0)>>2]|0;xa=1<<B;ya=xa+-1|0;va=z(j,f)|0;ua=z(k,g)|0;fa=c[(q?b+24|0:b+32|0)>>2]|0;ga=c[(q?b+28|0:b+36|0)>>2]|0;ha=b+152|0;f=c[ha>>2]|0;h=va>>f;f=ua>>f;if(!((h|0)>-1&(h|0)<(p|0)))R(119015,119052,120,119072);if((f|0)<=-1)R(119076,119052,121,119072);ia=b+160|0;if((f|0)>=(c[ia>>2]|0))R(119076,119052,121,119072);ca=e[E+(((z(f,p)|0)+h|0)*24|0)+2>>1]|0;aa=b+52|0;ba=b+56|0;ca=c[(c[(c[aa>>2]|0)+(ca<<2)>>2]|0)+804>>2]|0;da=c[t+5056>>2]|0;if(q){pa=0;qa=0}else{pa=(c[t+5016>>2]|0)+-1|0;qa=(c[t+5020>>2]|0)+-1|0}$=c[t+5040>>2]|0;_=$-pa|0;$=$-qa|0;ta=(va+j|0)>(fa|0)?fa-va|0:j;sa=(ua+k|0)>(ga|0)?ga-ua|0:k;ea=(a[E+(D*24|0)+22>>0]|0)!=0;if((s|0)!=2){h=a[E+(D*24|0)+6+i>>0]|0;f=wa;g=f+128|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[wa+((h&31)<<2)>>2]=1;c[wa+((h+1&31)<<2)>>2]=2;c[wa+((h+2&31)<<2)>>2]=3;c[wa+((h+3&31)<<2)>>2]=4;C=B+-5|0;h=(sa|0)>0;a:do if(ea){if(h){A=(ta|0)>0;v=t+4716|0;w=b+172|0;x=b+176|0;y=b+180|0;u=b+164|0;s=(B|0)>12;r=0;b:while(1){c:do if(A){k=r+ua|0;t=k<<qa;j=z(k,m)|0;k=z(k,o)|0;if(s){q=(a[v>>0]|0)==0;p=0;while(1){if(q){f=c[w>>2]|0;h=p+va<<pa>>f;if((h|0)>-1){f=t>>f;ra=74}else{ra=89;break b}}else{f=c[w>>2]|0;h=p+va<<pa>>f;f=t>>f;if((h|0)<=-1){ra=82;break b}g=c[x>>2]|0;if((h|0)>=(g|0)){ra=82;break b}if((f|0)<=-1){ra=85;break b}if((f|0)>=(c[y>>2]|0)){ra=85;break b}oa=(c[u>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;if(!((d[oa>>0]|d[oa+1>>0]<<8)&1024))ra=74}if((ra|0)==74){ra=0;if((h|0)>=(c[x>>2]|0)){ra=89;break b}if((f|0)<=-1){ra=92;break b}if((f|0)>=(c[y>>2]|0)){ra=92;break b}}p=p+1|0;if((p|0)>=(ta|0))break c}}q=0;do{if(!(a[v>>0]|0)){g=c[w>>2]|0;h=q+va|0;f=h<<pa>>g;if((f|0)>-1){g=t>>g;ra=88}else{ra=89;break b}}else{h=q+va|0;g=c[w>>2]|0;f=h<<pa>>g;g=t>>g;if((f|0)<=-1){ra=82;break b}p=c[x>>2]|0;if((f|0)>=(p|0)){ra=82;break b}if((g|0)<=-1){ra=85;break b}if((g|0)>=(c[y>>2]|0)){ra=85;break b}oa=(c[u>>2]|0)+(((z(p,g)|0)+f|0)*3|0)|0;if(!((d[oa>>0]|d[oa+1>>0]<<8)&1024))ra=88}do if((ra|0)==88){ra=0;p=c[x>>2]|0;if((f|0)>=(p|0)){ra=89;break b}if((g|0)<=-1){ra=92;break b}if((g|0)>=(c[y>>2]|0)){ra=92;break b}oa=(c[u>>2]|0)+(((z(p,g)|0)+f|0)*3|0)|0;if((d[oa>>0]|d[oa+1>>0]<<8)&2048)break;f=d[l+(h+j)>>0]|0;g=c[wa+(f>>>C<<2)>>2]|0;if((g|0)<=0)break;oa=(a[g+-1+(E+(D*24|0)+9+(i<<2))>>0]|0)+f|0;a[n+(h+k)>>0]=(oa|0)<0?0:((oa|0)<(xa|0)?oa:ya)&255}while(0);q=q+1|0}while((q|0)<(ta|0))}while(0);r=r+1|0;if((r|0)>=(sa|0))break a}if((ra|0)==82)R(119015,119052,120,119072);else if((ra|0)==85)R(119076,119052,121,119072);else if((ra|0)==89)R(119015,119052,120,119072);else if((ra|0)==92)R(119076,119052,121,119072)}}else if(h?(v=(B|0)>12,(ta|0)>0):0){f=0;do{p=f+ua|0;g=z(p,m)|0;p=z(p,o)|0;if(!v){h=0;do{q=h+va|0;j=d[l+(q+g)>>0]|0;k=c[wa+(j>>>C<<2)>>2]|0;if((k|0)>0){ra=(a[k+-1+(E+(D*24|0)+9+(i<<2))>>0]|0)+j|0;a[n+(q+p)>>0]=(ra|0)<0?0:((ra|0)<(xa|0)?ra:ya)&255}h=h+1|0}while((h|0)<(ta|0))}f=f+1|0}while((f|0)<(sa|0))}while(0);oc=za;return}switch((d[E+(D*24|0)+5>>0]|0)>>>r&3){case 0:{la=-1;ma=1;na=0;oa=0;break}case 1:{la=0;ma=0;na=-1;oa=1;break}case 2:{la=-1;ma=1;na=-1;oa=1;break}case 3:{la=1;ma=-1;na=-1;oa=1;break}default:{}}Y=z(na,m)|0;Z=0-oa&m;a[wa>>0]=a[E+(D*24|0)+9+(i<<2)>>0]|0;a[wa+1>>0]=a[E+(D*24|0)+9+(i<<2)+1>>0]|0;a[wa+2>>0]=0;a[wa+3>>0]=a[E+(D*24|0)+9+(i<<2)+2>>0]|0;a[wa+4>>0]=a[E+(D*24|0)+9+(i<<2)+3>>0]|0;if((sa|0)<=0){oc=za;return}X=(ta|0)>0;T=t+4716|0;U=b+172|0;V=b+176|0;W=b+180|0;O=b+164|0;P=ta+-1|0;Q=sa+-1|0;S=u+53|0;E=u+4384|0;i=(z(ua>>$,da)|0)+(va>>_)|0;D=0;d:while(1){h=D+ua|0;F=l+((z(h,m)|0)+va)|0;G=n+((z(h,o)|0)+va)|0;if(X){H=h<<qa;I=(D|0)==0;J=(D|0)==(Q|0);K=na+h|0;L=(K|0)<(ga|0);M=K<<qa;N=z(K>>$,da)|0;A=oa+h|0;B=(A|0)<(ga|0);C=A<<qa;b=z(A>>$,da)|0;y=0;do{if(ea?(a[T>>0]|0)!=0:0){f=c[U>>2]|0;h=y+va<<pa>>f;f=H>>f;if((h|0)<=-1){ra=23;break d}g=c[V>>2]|0;if((h|0)>=(g|0)){ra=23;break d}if((f|0)<=-1){ra=26;break d}if((f|0)>=(c[W>>2]|0)){ra=26;break d}x=(c[O>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;if(!((d[x>>0]|d[x+1>>0]<<8)&1024))ra=28}else ra=28;e:do if((ra|0)==28){ra=0;s=y+va|0;x=s<<pa;f=c[U>>2]|0;h=x>>f;f=H>>f;if((h|0)<=-1){ra=30;break d}g=c[V>>2]|0;if((h|0)>=(g|0)){ra=30;break d}if((f|0)<=-1){ra=33;break d}if((f|0)>=(c[W>>2]|0)){ra=33;break d}w=(c[O>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;if(!((d[w>>0]|d[w+1>>0]<<8)&2048)){do if(J|((y|0)==(P|0)|(I|(y|0)==0))){j=la+s|0;if(!(L&((j|0)<(fa|0)&(K|j|0)>-1)))break e;t=c[ha>>2]|0;h=j<<pa>>t;f=M>>t;if((h|0)<=-1){ra=39;break d}u=c[ja>>2]|0;if((h|0)>=(u|0)){ra=39;break d}if((f|0)<=-1){ra=42;break d}v=c[ia>>2]|0;if((f|0)>=(v|0)){ra=42;break d}w=c[ka>>2]|0;f=e[w+(((z(u,f)|0)+h|0)*24|0)+2>>1]|0;h=c[aa>>2]|0;r=(c[ba>>2]|0)-h>>2;if(r>>>0<=f>>>0){ra=59;break d}f=c[h+(f<<2)>>2]|0;if(!f){ra=59;break d}g=c[f+804>>2]|0;if((g|0)<(ca|0)){p=x>>t;q=H>>t;if(!((p|0)>-1&(p|0)<(u|0))){ra=47;break d}if(!((q|0)>-1&(q|0)<(v|0))){ra=49;break d}if(!(a[(c[h+(e[w+(((z(u,q)|0)+p|0)*24|0)+2>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ca|0)?(a[f+768>>0]|0)==0:0)break e;k=(a[S>>0]|0)==0;if(k?(q=c[E>>2]|0,(c[q+(N+(j>>_)<<2)>>2]|0)!=(c[q+(i<<2)>>2]|0)):0)break e;j=ma+s|0;if(!(B&((j|0)<(fa|0)&(A|j|0)>-1)))break e;f=j<<pa>>t;g=C>>t;if(!((f|0)>-1&(f|0)<(u|0))){ra=39;break d}if(!((g|0)>-1&(g|0)<(v|0))){ra=42;break d}f=e[w+(((z(u,g)|0)+f|0)*24|0)+2>>1]|0;if(r>>>0<=f>>>0){ra=59;break d}p=c[h+(f<<2)>>2]|0;if(!p){ra=59;break d}q=c[p+804>>2]|0;if((q|0)<(ca|0)){g=x>>t;f=H>>t;if(!((g|0)>-1&(g|0)<(u|0))){ra=47;break d}if(!((f|0)>-1&(f|0)<(v|0))){ra=49;break d}if(!(a[(c[h+(e[w+(((z(u,f)|0)+g|0)*24|0)+2>>1]<<2)>>2]|0)+768>>0]|0))break e}if((q|0)>(ca|0)?(a[p+768>>0]|0)==0:0)break e;if(!k)break;x=c[E>>2]|0;if((c[x+(b+(j>>_)<<2)>>2]|0)!=(c[x+(i<<2)>>2]|0))break e}while(0);x=d[F+y>>0]|0;v=x-(d[F+(y+Y+la)>>0]|0)|0;w=x-(d[F+(y+Z+ma)>>0]|0)|0;x=(a[wa+(((v|0)<0?1:(v|0)==0?2:3)+((w|0)<0?-1:(w|0)!=0&1))>>0]|0)+x|0;a[G+y>>0]=(x|0)<0?0:((x|0)<(xa|0)?x:ya)&255}}while(0);y=y+1|0}while((y|0)<(ta|0))}D=D+1|0;if((D|0)>=(sa|0)){ra=59;break}}if((ra|0)==23)R(119015,119052,120,119072);else if((ra|0)==26)R(119076,119052,121,119072);else if((ra|0)==30)R(119015,119052,120,119072);else if((ra|0)==33)R(119076,119052,121,119072);else if((ra|0)==39)R(119015,119052,120,119072);else if((ra|0)==42)R(119076,119052,121,119072);else if((ra|0)==47)R(119015,119052,120,119072);else if((ra|0)==49)R(119076,119052,121,119072);else if((ra|0)==59){oc=za;return}}function uf(a){a=a|0;xB(a);return}function vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=c[b+20>>2]|0;f=h+18588|0;i=c[f>>2]|0;j=b+4|0;c[j>>2]=1;ue(i,b);f=c[f>>2]|0;g=c[f+128>>2]|0;e=c[h+4>>2]|0;d=c[g+5072>>2]|0;if((e|0)<(d|0)){d=c[(c[(c[f+136>>2]|0)+4360>>2]|0)+(e<<2)>>2]|0;f=c[g+5056>>2]|0;g=(d|0)/(f|0)|0;e=g;f=d-(z(g,f)|0)|0}else{f=c[g+5056>>2]|0;g=(d|0)/(f|0)|0;e=g;f=d-(z(g,f)|0)|0}c[h>>2]=d;c[h+8>>2]=f;c[h+12>>2]=e;d=b+8|0;do if(!(a[d>>0]|0)){e=c[h+18592>>2]|0;f=c[e+800>>2]|0;if(f>>>0<3){zf(h+18572|0,f,c[e+796>>2]|0);g=h+18580|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;break}else R(116879,116910,1511,116921)}else if(!(xf(h)|0)){c[j>>2]=3;yf((c[h+18600>>2]|0)+44|0,1);Ce(i,b);return}while(0);Af(h+18548|0);Bf(h,0,(a[d>>0]|0)!=0)|0;c[j>>2]=3;yf((c[h+18600>>2]|0)+44|0,1);Ce(i,b);return}function wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=oc;oc=oc+112|0;g=f+104|0;e=f;h=c[d+16>>2]|0;c[g>>2]=c[d+12>>2];c[g+4>>2]=h;Eo(e,116859,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Fp(e)|0;if(d>>>0>4294967279)DB(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){h=b;h=h+d|0;a[h>>0]=0;oc=f;return}}else{g=d+16&-16;h=vB(g)|0;c[b>>2]=h;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;b=h}pD(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;oc=f;return}function xf(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[b+18588>>2]|0;i=c[h+136>>2]|0;j=c[h+128>>2]|0;k=b+18592|0;f=c[k>>2]|0;if(!(a[f+16>>0]|0)){d=c[f+800>>2]|0;if(d>>>0>=3)R(116879,116910,1511,116921);zf(b+18572|0,d,c[f+796>>2]|0);b=b+18580|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=1;return b|0}g=c[f+20>>2]|0;d=e[(c[h+144>>2]|0)+((c[(c[i+4360>>2]|0)+((c[(c[i+4348>>2]|0)+(g<<2)>>2]|0)+-1<<2)>>2]|0)*24|0)+2>>1]|0;f=c[h+52>>2]|0;if((c[h+56>>2]|0)-f>>2>>>0<=d>>>0){b=0;return b|0}l=c[f+(d<<2)>>2]|0;h=c[j+5056>>2]|0;j=(g|0)/(h|0)|0;if(Mg(i,g-(z(j,h)|0)|0,j)|0){d=c[k>>2]|0;f=c[d+800>>2]|0;if(f>>>0>=3)R(116879,116910,1511,116921);zf(b+18572|0,f,c[d+796>>2]|0);b=b+18580|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=1;return b|0}g=c[b+18596>>2]|0;f=c[b+18600>>2]|0;h=c[g+440>>2]|0;g=(c[g+444>>2]|0)-h>>2;if(g>>>0<=1){b=0;return b|0}d=1;while(1){if((c[h+(d<<2)>>2]|0)==(f|0))break;d=d+1|0;if(d>>>0>=g>>>0){d=0;m=17;break}}if((m|0)==17)return d|0;d=c[h+(d+-1<<2)>>2]|0;if(!d){b=0;return b|0}Me(d+44|0,c[d+124>>2]|0);if(!(a[l+1344>>0]|0)){b=0;return b|0}m=l+1336|0;Cf(b+18572|0,m)|0;Df(m);b=1;return b|0}function yf(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;Nq(d)|0;c[a>>2]=(c[a>>2]|0)+b;sD(a+32|0)|0;Oq(d)|0;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=oc;oc=oc+16|0;h=i+8|0;e=i;if(0){c[e>>2]=a;vq(117887,e)|0}e=a+4|0;f=c[e>>2]|0;do if(f|0){g=c[f>>2]|0;if((g|0)==1){h=c[a>>2]|0;Og(h,b,d);oc=i;return}if((g|0)>1){c[f>>2]=g+-1;break}else R(117896,116970,177,117906)}while(0);if(0){c[h>>2]=a;vq(117940,h)|0}h=wB(172)|0;c[a>>2]=h;a=vB(4)|0;c[e>>2]=a;c[a>>2]=1;Og(h,b,d);oc=i;return}function Af(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;f=c[h>>2]|0;i=(c[a+8>>2]|0)-f|0;c[a+12>>2]=510;j=a+20|0;b[j>>1]=8;g=a+16|0;c[g>>2]=0;a=f;if((i|0)<=0)return;e=a+1|0;c[h>>2]=e;f=(d[a>>0]|0)<<8;c[g>>2]=f;b[j>>1]=0;if((i|0)==1)return;c[h>>2]=a+2;c[g>>2]=f|(d[e>>0]|0);b[j>>1]=-8;return} |
| | | function Bf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,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;H=b+18588|0;g=c[H>>2]|0;i=c[g+136>>2]|0;h=c[g+128>>2]|0;G=h+5056|0;E=c[G>>2]|0;F=b+12|0;do if(((!e?a[i+41>>0]|0:0)?(f=c[F>>2]|0,(f|0)>0):0)?(c[b+8>>2]|0)==0:0)if((E|0)>1){f=f+-1|0;e=b+18596|0;D=c[e>>2]|0;if(f>>>0<(c[D+488>>2]|0)-(c[D+484>>2]|0)>>3>>>0){ve(g,c[b+18604>>2]|0,1,f,1);Cf(b+18572|0,(c[(c[e>>2]|0)+484>>2]|0)+((c[F>>2]|0)+-1<<3)|0)|0;Df((c[(c[e>>2]|0)+484>>2]|0)+((c[F>>2]|0)+-1<<3)|0);break}else{H=2;return H|0}}else{ve(g,c[b+18604>>2]|0,0,f+-1|0,1);f=c[b+18592>>2]|0;e=c[f+800>>2]|0;if(e>>>0<3){zf(b+18572|0,e,c[f+796>>2]|0);D=b+18580|0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;break}else R(116879,116910,1511,116921)}while(0);A=b+8|0;f=c[A>>2]|0;g=c[F>>2]|0;e=(z(g,E)|0)+f|0;B=i+4348|0;C=i+4352|0;if(!((f|0)<(c[G>>2]|0)?e>>>0<(c[C>>2]|0)-(c[B>>2]|0)>>2>>>0:0)){H=2;return H|0}o=h+5064|0;p=E+-1|0;q=b+18604|0;r=b+18572|0;s=b+18576|0;t=i+41|0;D=b+18548|0;u=b+18596|0;v=i+10|0;w=b+4|0;x=b+18592|0;y=i+42|0;n=i+4372|0;while(1){if((g|0)>=(c[o>>2]|0)){f=2;e=36;break}if((f|0)<(p|0)&((g|0)>0&d))ve(c[H>>2]|0,c[q>>2]|0,f+1|0,g+-1|0,1);if(!(c[s>>2]|0)){f=2;e=36;break}Ef(b);if((f|0)==1&(a[t>>0]|0)!=0?(g|0)<((c[o>>2]|0)+-1|0):0){m=c[u>>2]|0;f=c[m+484>>2]|0;if((c[m+488>>2]|0)-f>>3>>>0<=g>>>0){f=2;e=36;break}Cf(f+(g<<3)|0,r)|0;Ff((c[(c[u>>2]|0)+484>>2]|0)+(g<<3)|0)}i=Gf(D)|0;l=(i|0)!=0;if(l?a[v>>0]|0:0){Cf((c[x>>2]|0)+1336|0,r)|0;Ff((c[x>>2]|0)+1336|0);a[(c[x>>2]|0)+1344>>0]=1}De((c[(c[H>>2]|0)+332>>2]|0)+(e*80|0)|0,1);m=c[F>>2]|0;j=c[w>>2]|0;k=j+1|0;c[w>>2]=k;f=c[H>>2]|0;e=c[f+128>>2]|0;h=c[e+5072>>2]|0;if((k|0)>=(h|0)){f=c[e+5056>>2]|0;g=(h|0)/(f|0)|0;f=h-(z(g,f)|0)|0;c[b>>2]=h;c[A>>2]=f;c[F>>2]=g;if(!i){e=28;break}}else{i=c[(c[(c[f+136>>2]|0)+4360>>2]|0)+(k<<2)>>2]|0;f=c[e+5056>>2]|0;g=(i|0)/(f|0)|0;f=i-(z(g,f)|0)|0;c[b>>2]=i;c[A>>2]=f;c[F>>2]=g}if(l){f=0;e=36;break}if(!(a[y>>0]|0))e=0;else{e=c[n>>2]|0;e=(c[e+(k<<2)>>2]|0)!=(c[e+(j<<2)>>2]|0)}if(e|(m|0)!=(g|0)&(a[t>>0]|0)!=0){e=33;break}e=(z(g,E)|0)+f|0;if(!((f|0)<(c[G>>2]|0)?e>>>0<(c[C>>2]|0)-(c[B>>2]|0)>>2>>>0:0)){f=2;e=36;break}}if((e|0)==28){He((c[b+18584>>2]|0)+4|0,1004,0);a[(c[H>>2]|0)+324>>0]=3;H=2;return H|0}else if((e|0)==33)if(!(Gf(D)|0)){He((c[b+18584>>2]|0)+4|0,1017,0);a[(c[H>>2]|0)+324>>0]=3;H=2;return H|0}else{Af(D);H=1;return H|0}else if((e|0)==36)return f|0;return 0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=oc;oc=oc+32|0;f=i+16|0;e=i+8|0;d=i;if(0){c[d>>2]=a;c[d+4>>2]=b;vq(117871,d)|0}h=b+4|0;d=c[h>>2]|0;if(!d){f=a+4|0;if(0){b=c[f>>2]|0;c[e>>2]=a;c[e+4>>2]=b;vq(117856,e)|0}d=c[f>>2]|0;if(!d){oc=i;return a|0}b=(c[d>>2]|0)+-1|0;c[d>>2]=b;do if(!b){e=c[a>>2]|0;if(e){yB(e);d=c[f>>2]|0;if(!d)break}xB(d)}while(0);c[a>>2]=0;c[f>>2]=0;oc=i;return a|0}else{c[d>>2]=(c[d>>2]|0)+1;g=a+4|0;if(0){e=c[g>>2]|0;c[f>>2]=a;c[f+4>>2]=e;vq(117856,f)|0}d=c[g>>2]|0;if(d|0){f=(c[d>>2]|0)+-1|0;c[d>>2]=f;do if(!f){e=c[a>>2]|0;if(e){yB(e);d=c[g>>2]|0;if(!d)break}xB(d)}while(0);c[a>>2]=0;c[g>>2]=0}c[a>>2]=c[b>>2];c[g>>2]=c[h>>2];oc=i;return a|0}return 0}function Df(a){a=a|0;var b=0,d=0,e=0,f=0;f=oc;oc=oc+16|0;b=f;e=a+4|0;if(0){d=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=d;vq(117856,b)|0}b=c[e>>2]|0;if(!b){oc=f;return}d=(c[b>>2]|0)+-1|0;c[b>>2]=d;do if(!d){d=c[a>>2]|0;if(d){yB(d);b=c[e>>2]|0;if(!b)break}xB(b)}while(0);c[a>>2]=0;c[e>>2]=0;oc=f;return}function Ef(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;k=c[d+18592>>2]|0;q=c[d+18588>>2]|0;g=c[q+128>>2]|0;h=c[d>>2]|0;f=c[g+5056>>2]|0;e=(h|0)/(f|0)|0;f=h-(z(e,f)|0)|0;g=g+5040|0;h=c[g>>2]|0;i=f<<h;j=e<<h;l=c[q+156>>2]|0;n=(z(l,e)|0)+f|0;m=c[q+144>>2]|0;b[m+(n*24|0)>>1]=c[k+804>>2];n=c[k>>2]&65535;p=c[q+152>>2]|0;o=i>>p;p=j>>p;if(!((o|0)>-1&(o|0)<(l|0)))R(119015,119052,130,119072);if((p|0)<=-1)R(119076,119052,131,119072);if((p|0)>=(c[q+160>>2]|0))R(119076,119052,131,119072);b[m+(((z(p,l)|0)+o|0)*24|0)+2>>1]=n;if((a[k+329>>0]|0)==0?(a[k+330>>0]|0)==0:0){q=h;If(d,i,j,q,0);return}Hf(d,f,e,0);q=c[g>>2]|0;If(d,i,j,q,0);return}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0;f=oc;oc=oc+16|0;b=f;e=a+4|0;if(0){d=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=d;vq(116945,b)|0}b=c[e>>2]|0;if(!b)R(116963,116970,95,116988);d=c[b>>2]|0;if((d|0)<=1){oc=f;return}c[b>>2]=d+-1;d=c[a>>2]|0;b=wB(172)|0;c[a>>2]=b;a=vB(4)|0;c[e>>2]=a;c[a>>2]=1;pD(b|0,d|0,172)|0;oc=f;return}function Gf(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;e=a+12|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;g=f<<7;i=a+16|0;h=c[i>>2]|0;if(h>>>0>=g>>>0){i=1;return i|0}if(g>>>0>=32768){i=0;return i|0}c[e>>2]=f<<1&67108862;g=h<<1;c[i>>2]=g;e=a+20|0;h=(b[e>>1]|0)+1<<16>>16;b[e>>1]=h;if(h<<16>>16){i=0;return i|0}b[e>>1]=-8;e=a+4|0;f=c[e>>2]|0;if(f>>>0>=(c[a+8>>2]|0)>>>0){i=0;return i|0}c[e>>2]=f+1;c[i>>2]=g+(d[f>>0]|0);i=0;return i|0}function Hf(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,A=0,B=0,C=0,D=0,E=0,F=0;E=oc;oc=oc+32|0;f=E;j=c[b+18592>>2]|0;D=c[b+18588>>2]|0;A=D+128|0;i=c[A>>2]|0;k=c[D+136>>2]|0;g=f;h=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));if((d|0)>0?(C=z(c[i+5056>>2]|0,e)|0,B=c[k+4384>>2]|0,(c[b>>2]|0)>(c[j+804>>2]|0)?(c[B+(C+d<<2)>>2]|0)==(c[B+(d+-1+C<<2)>>2]|0):0):0)g=(Jf(b+18548|0,c[b+18572>>2]|0)|0)&255;else g=0;B=g<<24>>24==0;if((e|0)>0&B?(C=c[i+5056>>2]|0,x=(z(C,e)|0)+d|0,y=c[k+4384>>2]|0,((c[b>>2]|0)-C|0)>=(c[j+804>>2]|0)?(c[y+(x<<2)>>2]|0)==(c[y+((z(C,e+-1|0)|0)+d<<2)>>2]|0):0):0)h=(Jf(b+18548|0,c[b+18572>>2]|0)|0)&255;else h=0;C=h<<24>>24==0;if(!((h|g)<<24>>24)){y=(c[i+5012>>2]|0)==0?1:3;x=j+329|0;v=j+330|0;w=b+18548|0;t=b+18572|0;u=k+4163|0;n=k+4164|0;o=f+1|0;p=f+5|0;q=f+6|0;r=f+7|0;s=f+8|0;m=0;h=0;g=0;do{l=(m|0)==0;if(!(!(l&(a[x>>0]|0)!=0)?!((m|0)!=0&(a[v>>0]|0)!=0):0)){do if(l){if(!(Jf(w,(c[t>>2]|0)+1|0)|0))h=0;else{h=(Nf(w)|0)==0;h=h?1:2}j=h;h=h&255}else{if((m|0)!=1){j=(h&255)>>>(m<<1)&3;break}if(!(Jf(w,(c[t>>2]|0)+1|0)|0))i=0;else{i=(Nf(w)|0)==0;i=i?1:2}j=i;h=(i<<4|i<<2|h&255)&255}while(0);i=j&255;if(i){j=c[A>>2]|0;if(l){k=c[j+4996>>2]|0;a[p>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[q>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[r>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[s>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0}else{k=c[j+5004>>2]|0;a[f+5+(m<<2)>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+1>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+2>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+3>>0]=Sf(w,(1<<((k|0)<10?k:10)+-5)+-1|0)|0}do if((i|0)!=1){if(l){i=1;j=1;k=-1;b=-1;g=(Tf(w,2)|0)&255;break}if((m|0)==1){F=(Tf(w,2)|0)&255;i=1;j=1;k=-1;b=-1;g=(F<<2|g&255|F<<4)&255}else{i=1;j=1;k=-1;b=-1}}else{if(!(a[f+5+(m<<2)>>0]|0))i=0;else{i=(Nf(w)|0)==0;i=i?1:-1}if(!(a[f+5+(m<<2)+1>>0]|0))j=0;else{j=(Nf(w)|0)==0;j=j?1:-1}if(!(a[f+5+(m<<2)+2>>0]|0))k=0;else{k=(Nf(w)|0)==0;k=k?1:-1}if(!(a[f+5+(m<<2)+3>>0]|0))b=0;else{b=(Nf(w)|0)==0;b=b?1:-1}a[f+2+m>>0]=Tf(w,5)|0}while(0);l=(l?a[u>>0]|0:a[n>>0]|0)&255;F=f+5+(m<<2)|0;a[F>>0]=z(a[F>>0]<<l,i)|0;F=f+5+(m<<2)+1|0;a[F>>0]=z(a[F>>0]<<l,j)|0;F=f+5+(m<<2)+2|0;a[F>>0]=z(a[F>>0]<<l,k)|0;F=f+5+(m<<2)+3|0;a[F>>0]=z(a[F>>0]<<l,b)|0}}m=m+1|0}while((m|0)!=(y|0));a[f>>0]=h;a[o>>0]=g;g=(z(c[D+156>>2]|0,e)|0)+d|0;g=(c[D+144>>2]|0)+(g*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0))}if(!B){f=z(c[D+156>>2]|0,e)|0;h=c[D+144>>2]|0;g=h+((f+d|0)*24|0)+4|0;f=h+((d+-1+f|0)*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0))}if(C){oc=E;return}g=c[D+156>>2]|0;f=(z(g,e+-1|0)|0)+d|0;h=c[D+144>>2]|0;g=h+(((z(g,e)|0)+d|0)*24|0)+4|0;f=h+(f*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0));oc=E;return}function If(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;u=e+18588|0;v=e+18592|0;y=e+18500|0;A=e+18504|0;B=e+18508|0;p=e+18548|0;q=e+18572|0;F=f;E=g;C=h;D=i;while(1){n=c[u>>2]|0;m=c[n+128>>2]|0;l=c[n+136>>2]|0;f=1<<C;o=m+484|0;g=c[o>>2]|0;if(((f+F|0)<=(g|0)?(r=c[m+488>>2]|0,(f+E|0)<=(r|0)):0)?(c[m+5036>>2]|0)<(C|0):0){h=F+-1|0;if((h|E|0)>-1&(g|0)>=(F|0)&(r|0)>(E|0)?(t=c[m+5040>>2]|0,k=z(E>>t,c[m+5056>>2]|0)|0,s=k+(F>>t)|0,t=k+(h>>t)|0,k=c[n+144>>2]|0,(b[k+(s*24|0)>>1]|0)==(b[k+(t*24|0)>>1]|0)):0){f=c[l+4384>>2]|0;f=(c[f+(s<<2)>>2]|0)==(c[f+(t<<2)>>2]|0)&1}else f=0;k=E+-1|0;if(!((k|F|0)<0|(g|0)<=(F|0)|(r|0)<(E|0))?(i=c[m+5040>>2]|0,j=c[m+5056>>2]|0,x=F>>i,w=(z(E>>i,j)|0)+x|0,x=(z(k>>i,j)|0)+x|0,j=c[n+144>>2]|0,(b[j+(w*24|0)>>1]|0)==(b[j+(x*24|0)>>1]|0)):0){j=c[l+4384>>2]|0;j=(c[j+(w<<2)>>2]|0)==(c[j+(x<<2)>>2]|0)&1}else j=0;if(!f)i=2;else{g=c[n+172>>2]|0;f=h>>g;g=E>>g;if((f|0)<=-1){f=14;break}h=c[n+176>>2]|0;if((f|0)>=(h|0)){f=14;break}if((g|0)<=-1){f=17;break}if((g|0)>=(c[n+180>>2]|0)){f=17;break}i=(c[n+164>>2]|0)+(((z(h,g)|0)+f|0)*3|0)|0;i=(D|0)<(((d[i>>0]|d[i+1>>0]<<8)&65535)>>>6&3|0)?3:2}if(!j)f=0;else{f=c[n+172>>2]|0;h=F>>f;f=k>>f;if((h|0)<=-1){f=22;break}g=c[n+176>>2]|0;if((h|0)>=(g|0)){f=22;break}if((f|0)<=-1){f=25;break}if((f|0)>=(c[n+180>>2]|0)){f=25;break}f=(c[n+164>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;f=(D|0)<(((d[f>>0]|d[f+1>>0]<<8)&65535)>>>6&3|0)&1}f=Jf(p,(c[q>>2]|0)+(f+i)|0)|0}else f=(c[m+5036>>2]|0)<(C|0)&1;if(a[l+22>>0]|0?(c[l+4168>>2]|0)<=(C|0):0){c[y>>2]=0;c[A>>2]=0}if(a[(c[v>>2]|0)+756>>0]|0?(c[l+4172>>2]|0)<=(C|0):0)c[B>>2]=0;if(!f){f=41;break}h=C+-1|0;j=1<<h;i=j+F|0;j=j+E|0;k=D+1|0;If(e,F,E,h,k);if((i|0)<(c[o>>2]|0))If(e,i,E,h,k);g=m+488|0;f=c[g>>2]|0;if((j|0)<(f|0)){If(e,F,j,h,k);f=c[g>>2]|0}if((j|0)<(f|0)?(i|0)<(c[o>>2]|0):0){F=i;E=j;C=h;D=k}else{f=47;break}}if((f|0)==14)R(119015,119052,120,119072);else if((f|0)==17)R(119076,119052,121,119072);else if((f|0)==22)R(119015,119052,120,119072);else if((f|0)==25)R(119076,119052,121,119072);else if((f|0)==41){B=c[n+172>>2]|0;l=F>>B;g=E>>B;B=C-B|0;f=1<<B;m=f+g|0;if((B|0)!=31){j=f+l|0;k=n+176|0;h=n+164|0;i=(D&65535)<<6&192;f=g;do{g=l;do{B=(z(c[k>>2]|0,f)|0)+g|0;B=(c[h>>2]|0)+(B*3|0)|0;A=(d[B>>0]|d[B+1>>0]<<8)&-193|i;a[B>>0]=A;a[B+1>>0]=A>>8;g=g+1|0}while((g|0)<(j|0));f=f+1|0}while((f|0)<(m|0))}Kf(e,F,E,C,D);return}else if((f|0)==47)return}function Jf(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=f+12|0;i=c[l>>2]|0;h=d[(i>>>6)+-4+(64+(((d[g>>0]|0)>>>1&255)<<2))>>0]|0;i=i-h|0;c[l>>2]=i;k=i<<7;n=f+16|0;j=c[n>>2]|0;if(j>>>0<k>>>0){h=a[g>>0]|0;j=h&1;m=j&255;a[g>>0]=a[416+((h&255)>>>1&255)>>0]<<1&255|j;if(k>>>0>=32768){n=m;return n|0}c[l>>2]=i<<1&67108862;j=c[n>>2]<<1;c[n>>2]=j;h=f+20|0;g=(b[h>>1]|0)+1<<16>>16;b[h>>1]=g;if(g<<16>>16){n=m;return n|0}b[h>>1]=-8;h=f+4|0;i=c[h>>2]|0;if(i>>>0>=(c[f+8>>2]|0)>>>0){n=m;return n|0}c[h>>2]=i+1;c[n>>2]=j|(d[i>>0]|0);n=m;return n|0}else{m=d[320+(h>>>3)>>0]|0;c[n>>2]=j-k<<m;c[l>>2]=h<<m;h=a[g>>0]|0;i=h&1;j=i^1;l=j&255;if((h&255)<2){h=j|h&-2;a[g>>0]=h;i=j}a[g>>0]=a[352+((h&255)>>>1&255)>>0]<<1&255|i;k=f+20|0;h=(e[k>>1]|0)+m|0;b[k>>1]=h;if(h&32768|0){n=l;return n|0}i=f+4|0;j=c[i>>2]|0;if(j>>>0<(c[f+8>>2]|0)>>>0){c[i>>2]=j+1;c[n>>2]=(d[j>>0]|0)<<(h<<16>>16)|c[n>>2]}b[k>>1]=h+65528;n=l;return n|0}return 0}function Kf(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,S=0,T=0,U=0,V=0,W=0;W=oc;oc=oc+80|0;V=W+32|0;N=W+16|0;O=W;P=W+56|0;M=e+18588|0;S=c[M>>2]|0;I=S+128|0;T=c[I>>2]|0;J=S+136|0;r=c[J>>2]|0;C=e+18592|0;s=c[C>>2]|0;F=S+172|0;U=c[F>>2]|0;q=f>>U;l=g>>U;U=h-U|0;j=1<<U;p=j+l|0;if((U|0)==31)j=q;else{m=j+q|0;n=S+176|0;o=S+164|0;j=l;do{k=q;do{U=(z(c[n>>2]|0,j)|0)+k|0;U=(c[o>>2]|0)+(U*3|0)|0;L=(d[U>>0]|d[U+1>>0]<<8)&-8;a[U>>0]=L;a[U+1>>0]=L>>8;k=k+1|0}while((k|0)<(m|0));j=j+1|0}while((j|0)<(p|0));j=c[F>>2]|0;l=g>>j;j=f>>j}if((j|0)<=-1)R(119015,119052,130,119072);G=S+176|0;k=c[G>>2]|0;if((j|0)>=(k|0))R(119015,119052,130,119072);if((l|0)<=-1)R(119076,119052,131,119072);q=S+180|0;if((l|0)>=(c[q>>2]|0))R(119076,119052,131,119072);H=S+164|0;U=(c[H>>2]|0)+(((z(k,l)|0)+j|0)*3|0)|0;o=(d[U>>0]|d[U+1>>0]<<8)&-8|h&7;a[U>>0]=o;a[U+1>>0]=o>>8;U=c[S+252>>2]|0;o=f>>U;k=g>>U;U=h-U|0;j=1<<U;p=j+k|0;if((U|0)!=31){l=j+o|0;m=S+256|0;n=S+244|0;j=k;do{k=o;do{U=(z(c[m>>2]|0,j)|0)+k|0;a[(c[n>>2]|0)+U>>0]=0;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(p|0))}U=1<<h;Lf(e,f,g,f,g);if(a[r+40>>0]|0){L=Jf(e+18548|0,(c[e+18572>>2]|0)+161|0)|0;a[e+32>>0]=L;if(L|0)Mf(S,f,g,h,1)}else a[e+32>>0]=0;p=s+24|0;do if((c[p>>2]|0)==2)L=0;else{o=c[M>>2]|0;k=f+-1|0;if((((k|g|0)>=0?(v=c[o+128>>2]|0,(c[v+484>>2]|0)>=(f|0)):0)?(c[v+488>>2]|0)>(g|0):0)?(u=c[v+5040>>2]|0,L=z(g>>u,c[v+5056>>2]|0)|0,t=L+(f>>u)|0,u=L+(k>>u)|0,L=c[o+144>>2]|0,(b[L+(t*24|0)>>1]|0)==(b[L+(u*24|0)>>1]|0)):0){j=c[(c[o+136>>2]|0)+4384>>2]|0;j=(c[j+(t<<2)>>2]|0)==(c[j+(u<<2)>>2]|0)&1}else j=0;n=g+-1|0;if((((n|f|0)>=0?(w=c[o+128>>2]|0,(c[w+484>>2]|0)>(f|0)):0)?(c[w+488>>2]|0)>=(g|0):0)?(K=c[w+5040>>2]|0,L=c[w+5056>>2]|0,y=f>>K,x=(z(g>>K,L)|0)+y|0,y=(z(n>>K,L)|0)+y|0,L=c[o+144>>2]|0,(b[L+(x*24|0)>>1]|0)==(b[L+(y*24|0)>>1]|0)):0){m=c[(c[o+136>>2]|0)+4384>>2]|0;m=(c[m+(x<<2)>>2]|0)==(c[m+(y<<2)>>2]|0)&1}else m=0;do if(j){L=c[o+172>>2]|0;j=k>>L;k=g>>L;if((j|0)<=-1)R(119015,119052,120,119072);l=c[o+176>>2]|0;if((j|0)>=(l|0))R(119015,119052,120,119072);if((k|0)<=-1)R(119076,119052,121,119072);if((k|0)<(c[o+180>>2]|0)){A=(c[o+164>>2]|0)+(((z(l,k)|0)+j|0)*3|0)|0;A=((d[A>>0]|d[A+1>>0]<<8)&768)==512?6:5;break}else R(119076,119052,121,119072)}else A=5;while(0);do if(m){j=c[o+172>>2]|0;l=f>>j;j=n>>j;if((l|0)<=-1)R(119015,119052,120,119072);k=c[o+176>>2]|0;if((l|0)>=(k|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)<(c[o+180>>2]|0)){B=(c[o+164>>2]|0)+(((z(k,j)|0)+l|0)*3|0)|0;B=((d[B>>0]|d[B+1>>0]<<8)&768)==512&1;break}else R(119076,119052,121,119072)}else B=0;while(0);k=e+18548|0;j=e+18572|0;if(!(((Jf(k,(c[j>>2]|0)+(B+A)|0)|0)&255)<<24>>24)){if((c[p>>2]|0)==2){L=0;break}L=(Jf(k,(c[j>>2]|0)+149|0)|0)==0&1;break}a:do if((c[(c[C>>2]|0)+808>>2]|0)>=2?(Jf(k,(c[j>>2]|0)+148|0)|0)!=0:0)if((c[(c[C>>2]|0)+808>>2]|0)>2){j=1;do{if(!(Nf(k)|0))break a;j=j+1|0}while((j|0)<((c[(c[C>>2]|0)+808>>2]|0)+-1|0))}else j=1;else j=0;while(0);k=e+26|0;a[k>>0]=a[k>>0]&15|(j&255)<<5&255|16;k=c[F>>2]|0;j=f>>k;k=g>>k;if((j|0)<=-1)R(119015,119052,130,119072);l=c[G>>2]|0;if((j|0)>=(l|0))R(119015,119052,130,119072);if((k|0)<=-1)R(119076,119052,131,119072);if((k|0)>=(c[q>>2]|0))R(119076,119052,131,119072);V=(c[H>>2]|0)+(((z(l,k)|0)+j|0)*3|0)|0;n=(d[V>>0]|d[V+1>>0]<<8)&-57;a[V>>0]=n;a[V+1>>0]=n>>8;V=c[F>>2]|0;n=f>>V;k=g>>V;V=h-V|0;j=1<<V;m=j+k|0;if((V|0)!=31){l=j+n|0;j=k;do{k=n;do{V=(z(c[G>>2]|0,j)|0)+k|0;V=(c[H>>2]|0)+(V*3|0)|0;h=(d[V>>0]|d[V+1>>0]<<8)&-769|512;a[V>>0]=h;a[V+1>>0]=h>>8;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(m|0))}Of(c[e+18584>>2]|0,c[C>>2]|0,c[M>>2]|0,e+16|0,f,g,0,0,U,U,U,0);oc=W;return}while(0);K=c[F>>2]|0;n=f>>K;k=g>>K;K=h-K|0;j=1<<K;o=j+k|0;if((K|0)!=31){l=j+n|0;m=(L&65535)<<8&768;j=k;do{k=n;do{K=(z(c[G>>2]|0,j)|0)+k|0;K=(c[H>>2]|0)+(K*3|0)|0;C=(d[K>>0]|d[K+1>>0]<<8)&-769|m;a[K>>0]=C;a[K+1>>0]=C>>8;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(o|0))}K=(L|0)!=0;do if(K){j=c[(c[M>>2]|0)+128>>2]|0;k=e+18548|0;l=e+18572|0;if(!(Jf(k,(c[l>>2]|0)+8|0)|0)){m=Jf(k,(c[l>>2]|0)+9|0)|0;if((c[j+5036>>2]|0)>=(h|0)){if(m|0){j=1;D=92;break}if((h|0)==3){j=2;D=92;break}j=3-(Jf(k,(c[l>>2]|0)+10|0)|0)|0;D=92;break}if(!(a[j+4702>>0]|0)){j=(m|0)==0?2:1;D=92;break}if(Jf(k,(c[l>>2]|0)+11|0)|0){j=(m|0)==0?2:1;D=92;break}j=Nf(k)|0;k=(j|0)!=0;if(!((m|0)!=0&k)){l=(m|0)==0;if(l|k)if(j|m)if(l&k){j=7;D=92}else R(145674,116910,1765,116997);else{j=6;D=92}else{j=4;D=92}}else{j=5;D=92}}else{j=0;D=92}}else if((c[T+5036>>2]|0)==(h|0)){j=(Jf(e+18548|0,(c[e+18572>>2]|0)+8|0)|0)==0;j=j?3:0;D=92}else{Q=0;E=0}while(0);if((D|0)==92){Q=(L|0)==0&(j|0)==3&1;E=j}l=c[F>>2]|0;k=f>>l;l=g>>l;if((k|0)<=-1)R(119015,119052,130,119072);j=c[G>>2]|0;if((k|0)>=(j|0))R(119015,119052,130,119072);if((l|0)<=-1)R(119076,119052,131,119072);if((l|0)>=(c[q>>2]|0))R(119076,119052,131,119072);G=(c[H>>2]|0)+(((z(j,l)|0)+k|0)*3|0)|0;H=(d[G>>0]|d[G+1>>0]<<8)&-57|(E&65535)<<3&56;a[G>>0]=H;a[G+1>>0]=H>>8;G=(L|0)==0;H=(E|0)==0;b:do if(G){do if((H?a[T+4704>>0]|0:0)?(c[T+5120>>2]|0)<=(h|0):0){if((c[T+5124>>2]|0)<(h|0))break;u=e+18548|0;if(!(Gf(u)|0))break;Pf(S,f,g,h,1);t=e+18552|0;j=c[t>>2]|0;c[V>>2]=j;c[V+4>>2]=(c[e+18556>>2]|0)-j;j=V+8|0;c[j>>2]=0;c[j+4>>2]=0;c[V+16>>2]=0;j=c[M>>2]|0;p=c[j+128>>2]|0;l=c[p+4996>>2]|0;p=a[p+4705>>0]|0;o=c[j+40>>2]|0;j=c[j+4>>2]|0;k=(z(o,g)|0)+f|0;do if((l|0)>8){n=j+(k<<1)|0;m=l-p|0;if((h|0)==31)break;k=0;do{l=z(k,o)|0;j=0;do{b[n+(j+l<<1)>>1]=(Qf(V,p)|0)<<m;j=j+1|0}while((j|0)!=(U|0));k=k+1|0}while((k|0)!=(U|0))}else{n=j+k|0;m=l-p|0;if((h|0)==31)break;k=0;do{l=z(k,o)|0;j=0;do{a[n+(j+l)>>0]=(Qf(V,p)|0)<<m;j=j+1|0}while((j|0)!=(U|0));k=k+1|0}while((k|0)!=(U|0))}while(0);j=c[M>>2]|0;k=c[j+128>>2]|0;do if(c[k+5012>>2]|0){m=c[k+5004>>2]|0;h=c[k+5016>>2]|0;q=(U|0)/(h|0)|0;e=c[k+5020>>2]|0;s=(U|0)/(e|0)|0;o=a[k+4706>>0]|0;r=c[j+44>>2]|0;l=c[j+8>>2]|0;k=(z(r,(g|0)/(e|0)|0)|0)+((f|0)/(h|0)|0)|0;if((m|0)>8){k=k<<1;p=l+k|0;n=m-o|0;if((q|0)>0&(s|0)>0){k=0;do{l=z(k,r)|0;j=0;do{b[p+(j+l<<1)>>1]=(Qf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(s|0));j=c[M>>2]|0;h=c[j+128>>2]|0;k=c[h+5016>>2]|0;T=c[h+5020>>2]|0;e=c[j+44>>2]|0;n=a[h+4706>>0]|0;r=e;q=(U|0)/(k|0)|0;p=(U|0)/(T|0)|0;o=n;k=(z((g|0)/(T|0)|0,e)|0)+((f|0)/(k|0)|0)<<1;n=(c[h+5004>>2]|0)-n|0}else p=s;l=(c[j+12>>2]|0)+k|0;if(!((p|0)>0&(q|0)>0))break;k=0;do{m=z(k,r)|0;j=0;do{b[l+(j+m<<1)>>1]=(Qf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(p|0))}else{p=l+k|0;n=m-o|0;if((q|0)>0&(s|0)>0){k=0;do{l=z(k,r)|0;j=0;do{a[p+(j+l)>>0]=(Qf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(s|0));j=c[M>>2]|0;h=c[j+128>>2]|0;k=c[h+5016>>2]|0;T=c[h+5020>>2]|0;e=c[j+44>>2]|0;n=a[h+4706>>0]|0;r=e;q=(U|0)/(k|0)|0;p=(U|0)/(T|0)|0;o=n;k=(z((g|0)/(T|0)|0,e)|0)+((f|0)/(k|0)|0)|0;n=(c[h+5004>>2]|0)-n|0}else p=s;l=(c[j+12>>2]|0)+k|0;if(!((p|0)>0&(q|0)>0))break;k=0;do{m=z(k,r)|0;j=0;do{a[l+(j+m)>>0]=(Qf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(p|0))}}while(0);Rf(V);c[t>>2]=c[V>>2];Af(u);oc=W;return}while(0);F=(E|0)==3;i=F?(U|0)/2|0:U;F=(F<<31>>31)+h|0;E=(h|0)==31;if(!E){m=e+18548|0;n=e+18572|0;j=0;k=0;do{l=0;do{M=j;j=j+1|0;c[V+(M<<2)>>2]=Jf(m,(c[n>>2]|0)+12|0)|0;l=l+i|0}while((l|0)<(U|0));k=k+i|0}while((k|0)<(U|0))}k=f+-1|0;do if((k|g|0)<0)m=0;else{j=c[I>>2]|0;if((c[j+484>>2]|0)<(f|0)){m=0;break}if((c[j+488>>2]|0)<=(g|0)){m=0;break}M=c[j+5040>>2]|0;j=z(g>>M,c[j+5056>>2]|0)|0;l=j+(f>>M)|0;j=j+(k>>M)|0;M=c[S+144>>2]|0;if((b[M+(l*24|0)>>1]|0)!=(b[M+(j*24|0)>>1]|0)){m=0;break}m=c[(c[J>>2]|0)+4384>>2]|0;m=(c[m+(l<<2)>>2]|0)==(c[m+(j<<2)>>2]|0)&1}while(0);l=g+-1|0;do if((l|f|0)<0)j=0;else{j=c[I>>2]|0;if((c[j+484>>2]|0)<=(f|0)){j=0;break}if((c[j+488>>2]|0)<(g|0)){j=0;break}I=c[j+5040>>2]|0;M=c[j+5056>>2]|0;j=f>>I;k=(z(g>>I,M)|0)+j|0;j=(z(l>>I,M)|0)+j|0;M=c[S+144>>2]|0;if((b[M+(k*24|0)>>1]|0)!=(b[M+(j*24|0)>>1]|0)){j=0;break}M=c[(c[J>>2]|0)+4384>>2]|0;j=(c[M+(k<<2)>>2]|0)==(c[M+(j<<2)>>2]|0)&1}while(0);if(!E){D=e+18548|0;C=(m|0)!=0;r=(j|0)!=0;s=T+5108|0;t=T+5112|0;u=S+212|0;v=P+4|0;w=S+216|0;x=S+204|0;y=P+8|0;p=0;j=0;do{A=p+g|0;B=r|(p|0)>0;q=0;do{m=c[V+(j<<2)>>2]|0;if(!m){k=Tf(D,5)|0;l=O}else{k=Sf(D,2)|0;l=N}c[l+(j<<2)>>2]=k;M=q+f|0;o=c[s>>2]|0;o=(z(A>>o,c[t>>2]|0)|0)+(M>>o)|0;Uf(P,M,A,o,C|(q|0)>0,B,S);if((m|0)==1)k=c[P+(c[N+(j<<2)>>2]<<2)>>2]|0;else{k=c[P>>2]|0;l=c[v>>2]|0;if((k|0)>(l|0)){c[P>>2]=l;c[v>>2]=k;m=l}else{m=k;k=l}l=c[y>>2]|0;if((m|0)>(l|0)){c[P>>2]=l;c[y>>2]=m;n=m}else{n=l;l=m}if((k|0)>(n|0)){c[v>>2]=n;c[y>>2]=k;m=n}else{m=k;k=n}M=c[O+(j<<2)>>2]|0;M=M+((M|0)>=(l|0)&1)|0;M=M+((M|0)>=(m|0)&1)|0;k=M+((M|0)>=(k|0)&1)|0}M=F-(c[u>>2]|0)|0;n=1<<M;if((M|0)!=31){m=k&255;k=0;do{l=0;do{M=l+o+(z(c[w>>2]|0,k)|0)|0;a[(c[x>>2]|0)+M>>0]=m;l=l+1|0}while((l|0)<(n|0));k=k+1|0}while((k|0)<(n|0))}j=j+1|0;q=q+i|0}while((q|0)<(U|0));p=p+i|0}while((p|0)<(U|0))}n=T+5012|0;c:do switch(c[n>>2]|0){case 3:{if(E)break c;p=e+18548|0;q=e+18572|0;r=S+212|0;s=S+216|0;t=S+220|0;u=S+204|0;o=0;d:while(1){v=o+g|0;n=0;do{w=n+f|0;if(!(Jf(p,(c[q>>2]|0)+13|0)|0))m=4;else m=Tf(p,2)|0;k=c[r>>2]|0;j=w>>k;k=v>>k;if((j|0)<=-1){D=192;break d}l=c[s>>2]|0;if((j|0)>=(l|0)){D=192;break d}if((k|0)<=-1){D=193;break d}if((k|0)>=(c[t>>2]|0)){D=193;break d}j=d[(c[u>>2]|0)+((z(l,k)|0)+j)>>0]|0;k=(m|0)==4;if(!k){V=c[816+(m<<2)>>2]|0;j=(V|0)==(j|0)?34:V}Vf(S,w,v,F,j,k);n=n+i|0}while((n|0)<(U|0));o=o+i|0;if((o|0)>=(U|0))break c}if((D|0)==192)R(119015,119052,120,119072);else if((D|0)==193)R(119076,119052,121,119072);break}case 0:break;default:{j=e+18548|0;if(!(Jf(j,(c[e+18572>>2]|0)+13|0)|0))m=4;else m=Tf(j,2)|0;k=c[S+212>>2]|0;j=f>>k;k=g>>k;if((j|0)<=-1)R(119015,119052,120,119072);l=c[S+216>>2]|0;if((j|0)>=(l|0))R(119015,119052,120,119072);if((k|0)<=-1)R(119076,119052,121,119072);if((k|0)>=(c[S+220>>2]|0))R(119076,119052,121,119072);j=d[(c[S+204>>2]|0)+((z(l,k)|0)+j)>>0]|0;k=(m|0)==4;if(!k){V=c[816+(m<<2)>>2]|0;j=(V|0)==(j|0)?34:V}if((c[n>>2]|0)==2)j=d[832+j>>0]|0;Vf(S,f,g,h,j,k)}}while(0)}else{if(H){Wf(e,f,g,0,0,U,U,i,U,0);break}switch(E|0){case 1:{V=(U|0)/2|0;Wf(e,f,g,0,0,U,V,i,U,0);Wf(e,f,g,0,V,U,V,i,U,1);break b}case 2:{V=(U|0)/2|0;Wf(e,f,g,0,0,V,U,i,U,0);Wf(e,f,g,V,0,V,U,i,U,1);break b}case 4:{V=(U|0)/4|0;Wf(e,f,g,0,0,U,V,i,U,0);Wf(e,f,g,0,V,U,(3<<h|0)/4|0,i,U,1);break b}case 5:{V=(3<<h|0)/4|0;Wf(e,f,g,0,0,U,V,i,U,0);Wf(e,f,g,0,V,U,(U|0)/4|0,i,U,1);break b}case 6:{V=(U|0)/4|0;Wf(e,f,g,0,0,V,U,i,U,0);Wf(e,f,g,V,0,(3<<h|0)/4|0,U,i,U,1);break b}case 7:{V=(3<<h|0)/4|0;Wf(e,f,g,0,0,V,U,i,U,0);Wf(e,f,g,V,0,(U|0)/4|0,U,i,U,1);break b}case 3:{V=(U|0)/2|0;Wf(e,f,g,0,0,V,V,i,U,0);Wf(e,f,g,V,0,V,V,i,U,1);Wf(e,f,g,0,V,V,V,i,U,2);Wf(e,f,g,V,V,V,V,i,U,3);break b}default:R(127700,116910,4525,117014)}}while(0);if((K?!(H&(a[e+26>>0]&16)!=0):0)?(Jf(e+18548|0,(c[e+18572>>2]|0)+153|0)|0)==0:0){oc=W;return}V=(c[T+5012>>2]|0)!=0&1;Xf(e,f,g,f,g,f,g,h,0,0,G?(c[T+632>>2]|0)+Q|0:c[T+628>>2]|0,Q,L,V,V);oc=W;return}function Lf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=b+18588|0;t=c[u>>2]|0;s=c[t+136>>2]|0;t=c[t+128>>2]|0;j=b+18592|0;r=c[j>>2]|0;n=-1<<c[s+4168>>2];o=n&g;n=n&h;e=b+18524|0;f=b+18528|0;if(!((o|0)==(c[e>>2]|0)?(n|0)==(c[f>>2]|0):0)){c[b+18532>>2]=c[b+18520>>2];c[e>>2]=o;c[f>>2]=n}m=t+5040|0;if(!o)f=((1<<c[m>>2])+-1&n|0)==0;else f=0;i=c[r+804>>2]|0;e=c[t+5056>>2]|0;v=(i|0)/(e|0)|0;e=i-(z(v,e)|0)|0;i=c[t+5048>>2]|0;e=(z(i,e)|0)==(o|0);i=(z(v,i)|0)==(n|0);i=e?i:0;if((a[s+42>>0]|0)!=0?(k=c[m>>2]|0,((1<<k)+-1&(o|n)|0)==0):0)e=Mg(s,o>>k,n>>k)|0;else e=0;do if(i|e)l=12;else{if(f?a[s+41>>0]|0:0){l=12;break}e=b+18532|0}while(0);if((l|0)==12)e=(c[j>>2]|0)+796|0;k=c[e>>2]|0;e=o+-1|0;do if(Ng(c[u>>2]|0,o,n,e,n)|0?(v=c[t+5100>>2]|0,l=(z(n>>v,c[t+5088>>2]|0)|0)+(e>>v)|0,(c[(c[s+4396>>2]|0)+(l<<2)>>2]>>((c[m>>2]|0)-v<<1)|0)==(c[b+4>>2]|0)):0){j=c[u>>2]|0;f=c[j+172>>2]|0;e=e>>f;f=n>>f;if((e|0)<=-1)R(119015,119052,120,119072);i=c[j+176>>2]|0;if((e|0)>=(i|0))R(119015,119052,120,119072);if((f|0)<=-1)R(119076,119052,121,119072);if((f|0)<(c[j+180>>2]|0)){p=a[(c[j+164>>2]|0)+(((z(i,f)|0)+e|0)*3|0)+2>>0]|0;break}else R(119076,119052,121,119072)}else p=k;while(0);e=n+-1|0;do if(Ng(c[u>>2]|0,o,n,o,e)|0?(v=c[t+5100>>2]|0,n=(z(e>>v,c[t+5088>>2]|0)|0)+(o>>v)|0,(c[(c[s+4396>>2]|0)+(n<<2)>>2]>>((c[m>>2]|0)-v<<1)|0)==(c[b+4>>2]|0)):0){j=c[u>>2]|0;v=c[j+172>>2]|0;i=o>>v;e=e>>v;if((i|0)<=-1)R(119015,119052,120,119072);f=c[j+176>>2]|0;if((i|0)>=(f|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)<(c[j+180>>2]|0)){q=a[(c[j+164>>2]|0)+(((z(f,e)|0)+i|0)*3|0)+2>>0]|0;break}else R(119076,119052,121,119072)}else q=k;while(0);i=c[t+5e3>>2]|0;e=((c[b+18504>>2]|0)+52+(p+1+q>>1)+(i<<1)|0)%(i+52|0)|0;p=e-i|0;c[b+18536>>2]=e;e=(c[s+28>>2]|0)+p+(c[r+748>>2]|0)+(c[b+18512>>2]|0)|0;i=c[t+5008>>2]|0;v=0-i|0;e=(e|0)<(v|0)?v:(e|0)<57?e:57;f=(c[s+32>>2]|0)+p+(c[r+752>>2]|0)+(c[b+18516>>2]|0)|0;f=(f|0)<(v|0)?v:(f|0)<57?f:57;do if((c[t+5012>>2]|0)==1){do if((e|0)>=30)if((e|0)>42){e=e+-6|0;break}else{e=c[480+(e+-30<<2)>>2]|0;break}while(0);if((f|0)>=30)if((f|0)>42){f=f+-6|0;break}else{f=c[480+(f+-30<<2)>>2]|0;break}}while(0);c[b+18540>>2]=e+i;c[b+18544>>2]=f+i;e=c[u>>2]|0;f=c[e+172>>2]|0;o=g>>f;i=h>>f;if((o|0)<=-1)R(119015,119052,120,119072);n=c[e+176>>2]|0;if((o|0)>=(n|0))R(119015,119052,120,119072);if((i|0)<=-1)R(119076,119052,121,119072);if((i|0)>=(c[e+180>>2]|0))R(119076,119052,121,119072);m=c[e+164>>2]|0;v=m+(((z(n,i)|0)+o|0)*3|0)|0;v=(d[v>>0]|d[v+1>>0]<<8)&7;v=(v>>>0>3?v:3)-f|0;e=1<<v;l=e+i|0;if((v|0)==31){v=b+18520|0;c[v>>2]=p;return}j=e+o|0;k=p&255;e=i;do{i=z(e,n)|0;f=o;do{a[m+((f+i|0)*3|0)+2>>0]=k;f=f+1|0}while((f|0)<(j|0));e=e+1|0}while((e|0)<(l|0));v=b+18520|0;c[v>>2]=p;return}function Mf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b+172>>2]|0;o=e>>l;m=f>>l;l=g-l|0;g=1<<l;n=g+m|0;if((l|0)!=31){j=g+o|0;k=b+176|0;l=b+164|0;i=(h&1)<<11&65535;g=m;do{h=o;do{m=(z(c[k>>2]|0,g)|0)+h|0;m=(c[l>>2]|0)+(m*3|0)|0;p=(d[m>>0]|d[m+1>>0]<<8)&-2049|i;a[m>>0]=p;a[m+1>>0]=p>>8;h=h+1|0}while((h|0)<(j|0));g=g+1|0}while((g|0)<(n|0))}g=c[b+152>>2]|0;i=e>>g;g=f>>g;if((i|0)<=-1)R(119015,119052,130,119072);h=c[b+156>>2]|0;if((i|0)>=(h|0))R(119015,119052,130,119072);if((g|0)<=-1)R(119076,119052,131,119072);if((g|0)<(c[b+160>>2]|0)){a[(c[b+144>>2]|0)+(((z(h,g)|0)+i|0)*24|0)+22>>0]=1;return}else R(119076,119052,131,119072)}function Nf(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;f=c[i>>2]<<1;c[i>>2]=f;h=a+20|0;j=(b[h>>1]|0)+1<<16>>16;b[h>>1]=j;if(j<<16>>16>-1?(e=a+4|0,g=c[e>>2]|0,(c[a+8>>2]|0)>>>0>g>>>0):0){b[h>>1]=-8;c[e>>2]=g+1;f=f|(d[g>>0]|0);c[i>>2]=f}e=c[a+12>>2]<<7;if(f>>>0<e>>>0){j=0;return j|0}c[i>>2]=f-e;j=1;return j|0}function Of(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;m=oc;oc=oc+16|0;n=m;xg(a,b,c,d,e,f,g,h,i,j,k,l,n);yg(a,b,c,e,f,g,h,i,j,k,n);zg(c,g+e|0,h+f|0,j,k,n);oc=m;return}function Pf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b+172>>2]|0;o=e>>l;m=f>>l;l=g-l|0;g=1<<l;n=g+m|0;if((l|0)!=31){j=g+o|0;k=b+176|0;l=b+164|0;i=(h&1)<<10&65535;g=m;do{h=o;do{m=(z(c[k>>2]|0,g)|0)+h|0;m=(c[l>>2]|0)+(m*3|0)|0;p=(d[m>>0]|d[m+1>>0]<<8)&-1025|i;a[m>>0]=p;a[m+1>>0]=p>>8;h=h+1|0}while((h|0)<(j|0));g=g+1|0}while((g|0)<(n|0))}g=c[b+152>>2]|0;i=e>>g;g=f>>g;if((i|0)<=-1)R(119015,119052,130,119072);h=c[b+156>>2]|0;if((i|0)>=(h|0))R(119015,119052,130,119072);if((g|0)<=-1)R(119076,119052,131,119072);if((g|0)<(c[b+160>>2]|0)){a[(c[b+144>>2]|0)+(((z(h,g)|0)+i|0)*24|0)+22>>0]=1;return}else R(119076,119052,131,119072)}function Qf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+16|0;e=c[j>>2]|0;if((e|0)<(b|0)){e=64-e|0;h=a+4|0;a:do if((e|0)>7){i=a+8|0;g=c[h>>2]|0;while(1){if(!g)break a;m=c[a>>2]|0;c[a>>2]=m+1;m=d[m>>0]|0;g=g+-1|0;c[h>>2]=g;f=e+-8|0;m=oD(m|0,0,f|0)|0;l=D()|0;n=i;l=c[n+4>>2]|l;k=i;c[k>>2]=c[n>>2]|m;c[k+4>>2]=l;if((e|0)<=15){e=f;break}else e=f}}while(0);e=64-e|0;c[j>>2]=e}m=a+8|0;k=m;l=c[k>>2]|0;k=c[k+4>>2]|0;n=nD(l|0,k|0,64-b|0)|0;D()|0;k=oD(l|0,k|0,b|0)|0;l=D()|0;c[m>>2]=k;c[m+4>>2]=l;c[j>>2]=e-b;return n|0}function Rf(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;e=(c[b>>2]&-8|0)/8|0;c[a>>2]=(c[a>>2]|0)+(0-e);d=a+4|0;c[d>>2]=(c[d>>2]|0)+e;a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[b>>2]=0;return}function Sf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)<=0){n=e;return n|0}k=a+16|0;l=a+20|0;m=a+8|0;n=a+4|0;i=a+12|0;a=0;f=b[l>>1]|0;g=c[k>>2]|0;while(1){g=g<<1;c[k>>2]=g;f=f+1<<16>>16;b[l>>1]=f;if(f<<16>>16>-1?(j=c[n>>2]|0,(c[m>>2]|0)>>>0>j>>>0):0){b[l>>1]=-8;c[n>>2]=j+1;h=g|(d[j>>0]|0);c[k>>2]=h;f=-8}else h=g;g=c[i>>2]<<7;if(h>>>0<g>>>0){f=8;break}g=h-g|0;c[k>>2]=g;a=a+1|0;if((a|0)>=(e|0)){a=e;f=8;break}}if((f|0)==8)return a|0;return 0}function Tf(a,f){a=a|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;if((f|0)<9){if(!f){r=0;return r|0}j=a+16|0;g=c[j>>2]<<f;c[j>>2]=g;i=a+20|0;h=(e[i>>1]|0)+f|0;b[i>>1]=h;if((h&32768|0)==0?(k=a+4|0,l=c[k>>2]|0,(c[a+8>>2]|0)>>>0>l>>>0):0){c[k>>2]=l+1;q=h<<16>>16;r=(d[l>>0]|0)<<q;b[i>>1]=q+65528;g=r|g;c[j>>2]=g}q=c[a+12>>2]<<7;p=(g>>>0)/(q>>>0)|0;r=1<<f;r=(p|0)<(r|0)?p:r+-1|0;c[j>>2]=g-(z(r,q)|0);return r|0}p=a+16|0;g=c[p>>2]<<8;c[p>>2]=g;q=a+20|0;o=b[q>>1]|0;h=(o&65535)+8|0;i=h&65535;b[q>>1]=i;if(o+8<<16>>16<<16>>16>-1?(j=a+4|0,m=c[j>>2]|0,(c[a+8>>2]|0)>>>0>m>>>0):0){c[j>>2]=m+1;i=h<<16>>16;o=(d[m>>0]|0)<<i;i=i+65528&65535;b[q>>1]=i;g=o|g;c[p>>2]=g}o=c[a+12>>2]<<7;k=(g>>>0)/(o>>>0)|0;k=(k|0)<255?k:255;h=g-(z(k,o)|0)|0;c[p>>2]=h;n=a+8|0;m=a+4|0;l=f+-8|0;g=k;while(1){l=l+-1|0;k=g<<1;g=h<<1;c[p>>2]=g;i=i+1<<16>>16;b[q>>1]=i;if(i<<16>>16>-1?(r=c[m>>2]|0,(c[n>>2]|0)>>>0>r>>>0):0){b[q>>1]=-8;c[m>>2]=r+1;g=g|(d[r>>0]|0);c[p>>2]=g;i=-8}if(g>>>0<o>>>0){h=0;j=g}else{j=g-o|0;c[p>>2]=j;h=1}g=h|k;if(!l)break;else h=j}return g|0}function Uf(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;m=c[i+128>>2]|0;if(g){j=c[i+172>>2]|0;g=b+-1>>j;j=e>>j;if((g|0)<=-1)R(119015,119052,120,119072);k=c[i+176>>2]|0;if((g|0)>=(k|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)>=(c[i+180>>2]|0))R(119076,119052,121,119072);l=(c[i+164>>2]|0)+(((z(k,j)|0)+g|0)*3|0)|0;if(!((d[l>>0]|d[l+1>>0]<<8)&1792))l=d[(c[i+204>>2]|0)+(f+-1)>>0]|0;else l=1}else l=1;if(h){j=c[i+172>>2]|0;g=b>>j;j=e+-1>>j;if((g|0)<=-1)R(119015,119052,120,119072);k=c[i+176>>2]|0;if((g|0)>=(k|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)>=(c[i+180>>2]|0))R(119076,119052,121,119072);h=(c[i+164>>2]|0)+(((z(k,j)|0)+g|0)*3|0)|0;if(((d[h>>0]|d[h+1>>0]<<8)&1792)==0?(h=c[m+5040>>2]|0,(e>>h<<h|0)<(e|0)):0)j=d[(c[i+204>>2]|0)+(f-(c[m+5112>>2]|0))>>0]|0;else j=1}else j=1;if((l|0)==(j|0))if(l>>>0<2){c[a>>2]=0;c[a+4>>2]=1;c[a+8>>2]=26;return}else{c[a>>2]=l;c[a+4>>2]=(l+29&31)+2;c[a+8>>2]=((l+-1|0)%32|0)+2;return}c[a>>2]=l;c[a+4>>2]=j;if((l|0)!=0&(j|0)!=0){c[a+8>>2]=0;return}g=a+8|0;if((l|0)!=1&(j|0)!=1){c[g>>2]=1;return}else{c[g>>2]=26;return}}function Vf(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;m=(h?g|128:g)&255;j=f-(c[b+212>>2]|0)|0;k=1<<j;l=b+128|0;f=c[l>>2]|0;i=c[f+5108>>2]|0;e=(z(e>>i,c[f+5112>>2]|0)|0)+(d>>i)|0;if((j|0)==31)return;i=b+236|0;j=b+228|0;d=b+224|0;f=0;a:while(1){h=0;do{g=c[l>>2]|0;if((h|0)>=(c[g+5112>>2]|0)){g=10;break a}if((f|0)>=(c[g+5116>>2]|0)){g=11;break a}g=e+h+(z(c[i>>2]|0,f)|0)|0;if((g|0)>=(c[j>>2]|0)){g=12;break a}a[(c[d>>2]|0)+g>>0]=m;h=h+1|0}while((h|0)<(k|0));f=f+1|0;if((f|0)>=(k|0)){g=9;break}}if((g|0)==9)return;else if((g|0)==10)R(117453,119052,682,117477);else if((g|0)==11)R(117496,119052,683,117477);else if((g|0)==12)R(117521,119052,686,117477)}function Wf(d,e,f,g,h,i,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=d+18592|0;q=c[t>>2]|0;s=d+18548|0;r=d+18572|0;p=Jf(s,(c[r>>2]|0)+147|0)|0;u=d+16|0;v=d+26|0;n=(p&255)<<4&16|a[v>>0]&-17;a[v>>0]=n;if(!p){if(!(c[q+24>>2]|0)){n=c[r>>2]|0;if((j+i|0)!=12?(Jf(s,n+156+k|0)|0)!=0:0)n=3;else n=(Jf(s,n+160|0)|0)+1|0;a[v>>0]=a[v>>0]&-4|n&3;if((n|0)==2)p=2;else{p=n;o=15}}else{a[v>>0]=n&-4|1;p=1;o=15}if((o|0)==15){n=(c[q+332>>2]|0)+-1|0;a:do if((n|0)!=0?(Jf(s,(c[r>>2]|0)+154|0)|0)!=0:0){k=0;while(1){o=k+1|0;if((o|0)==(n|0))break a;if(!k)k=Jf(s,(c[r>>2]|0)+155|0)|0;else k=Nf(s)|0;if(!k){n=o;break}else k=o}}else n=0;while(0);a[u>>0]=n;wg(d,0,0,0);o=(Jf(s,(c[r>>2]|0)+152|0)|0)&255;a[v>>0]=o<<2&4|a[v>>0]&-5;if((p|0)==1){s=d+18584|0;s=c[s>>2]|0;t=c[t>>2]|0;v=d+18588|0;v=c[v>>2]|0;Of(s,t,v,u,e,f,g,h,l,i,j,m);return}}o=(c[q+336>>2]|0)+-1|0;b:do if((o|0)!=0?(Jf(s,(c[r>>2]|0)+154|0)|0)!=0:0){k=0;while(1){n=k+1|0;if((n|0)==(o|0)){n=o;break b}if(!k)k=Jf(s,(c[r>>2]|0)+155|0)|0;else k=Nf(s)|0;if(!k)break;else k=n}}else n=0;while(0);a[d+17>>0]=n;if((p|0)==3&(a[q+374>>0]|0)!=0){b[d+22>>1]=0;b[d+24>>1]=0}else wg(d,0,0,1);k=(Jf(s,(c[r>>2]|0)+152|0)|0)&255;k=k<<3&8;n=a[v>>0]&-9}else{c:do if((c[(c[t>>2]|0)+808>>2]|0)>=2?(Jf(s,(c[r>>2]|0)+148|0)|0)!=0:0)if((c[(c[t>>2]|0)+808>>2]|0)>2){n=1;do{if(!(Nf(s)|0))break c;n=n+1|0}while((n|0)<((c[(c[t>>2]|0)+808>>2]|0)+-1|0))}else n=1;else n=0;while(0);k=a[v>>0]&31;n=(n&255)<<5&255}a[v>>0]=k|n;s=d+18584|0;s=c[s>>2]|0;t=c[t>>2]|0;v=d+18588|0;v=c[v>>2]|0;Of(s,t,v,u,e,f,g,h,l,i,j,m);return}function Xf(b,e,f,g,h,i,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;B=b+18588|0;s=c[B>>2]|0;u=c[s+172>>2]|0;t=e>>u;if((t|0)<=-1)R(119015,119052,120,119072);C=(o|0)==1;D=(o|0)!=0;E=b+18548|0;F=b+18572|0;A=f;x=g;w=h;y=k;v=m;h=f>>u;while(1){u=c[s+128>>2]|0;g=c[s+176>>2]|0;if((t|0)>=(g|0)){h=4;break}if((h|0)<=-1){h=7;break}if((h|0)>=(c[s+180>>2]|0)){h=7;break}g=(c[s+164>>2]|0)+(((z(g,h)|0)+t|0)*3|0)|0;g=d[g>>0]|d[g+1>>0]<<8;f=(g&65535)>>>8&3;if((f&65535|0)!=(p|0)){h=9;break}h=(c[u+5104>>2]|0)<(y|0);if(!h?!(((l|0)>=(n|0)?1:(c[u+5100>>2]|0)>=(y|0))|D&(l|0)==0):0){g=5-y|0;if(g>>>0>=3){h=13;break}m=Jf(E,(c[F>>2]|0)+(g+20)|0)|0}else m=(C&(l|0)==0|h|(g&56)!=0&(f<<16>>16==1?(c[u+628>>2]|l|0)==0:0))&1;t=(m|0)!=0;if(t){h=c[s+252>>2]|0;g=e>>h;h=A>>h;if((g|0)<=-1){h=19;break}k=c[s+256>>2]|0;if((g|0)>=(k|0)){h=19;break}if((h|0)<=-1){h=22;break}if((h|0)>=(c[s+260>>2]|0)){h=22;break}k=(c[s+244>>2]|0)+((z(k,h)|0)+g)|0;a[k>>0]=1<<l|(d[k>>0]|0)}s=c[u+5012>>2]|0;if((y|0)>2)if(!s){s=-1;g=0;h=38}else h=27;else if((s|0)==3)h=27;else{s=-1;h=36}if((h|0)==27){h=0;if(q<<24>>24){g=l+16|0;s=Jf(E,(c[F>>2]|0)+g|0)|0;if((c[u+5012>>2]|0)==2?(y|0)==3|(m|0)==0:0)k=(Jf(E,(c[F>>2]|0)+g|0)|0)<<1|s;else k=s}else k=-1;if(r<<24>>24){g=l+16|0;s=Jf(E,(c[F>>2]|0)+g|0)|0;if((c[u+5012>>2]|0)==2?(y|0)==3|(m|0)==0:0)s=(Jf(E,(c[F>>2]|0)+g|0)|0)<<1|s}else s=-1;if((k|0)<0)h=36}if((h|0)==36){g=(y|0)==2;if(g&(l|0)==0){h=37;break}else h=38}if((h|0)==38)k=g&(l|0)>0?q&255:0;s=(s|0)<0?((y|0)==2&(l|0)>0?r&255:0):s;if(!t){h=41;break}g=y+-1|0;m=1<<g;h=m+e|0;m=m+A|0;l=l+1|0;q=k&255;r=s&255;Xf(b,e,A,e,A,i,j,g,l,0,n,o,p,q,r);Xf(b,h,A,e,A,i,j,g,l,1,n,o,p,q,r);Xf(b,e,m,e,A,i,j,g,l,2,n,o,p,q,r);s=c[B>>2]|0;k=c[s+172>>2]|0;t=h>>k;if((t|0)<=-1){h=4;break}else{w=A;x=e;e=h;A=m;y=g;v=3;h=m>>k}}if((h|0)==4)R(119015,119052,120,119072);else if((h|0)==7)R(119076,119052,121,119072);else if((h|0)==9)R(117031,116910,3843,117054);else if((h|0)==13)R(117074,116910,1825,117103);else if((h|0)==19)R(119015,119052,130,119072);else if((h|0)==22)R(119076,119052,131,119072);else if((h|0)==37)R(117131,116910,3910,117054);else if((h|0)==41){if(!(f<<16>>16==0|(k|l|s|0)!=0)){F=1;Yf(b,e,A,x,w,i,j,y,0,v,F,k,s)|0;return}F=Jf(E,(c[F>>2]|0)+((l|0)==0?15:14)|0)|0;Yf(b,e,A,x,w,i,j,y,0,v,F,k,s)|0;return}}function Yf(b,e,f,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;if((o|0)==-1)R(117168,116910,3561,117181);if((p|0)==-1)R(117201,116910,3562,117181);if((n|0)==-1)R(117214,116910,3563,117181);B=b+18588|0;s=c[B>>2]|0;x=c[s+128>>2]|0;H=x+5012|0;E=c[H>>2]|0;C=(E|0)==3;F=((C^1)<<31>>31)+k|0;F=(F|0)>2?F:2;t=p|o;q=b+33|0;a[q>>0]=0;a[q+1>>0]=0;a[q+2>>0]=0;a[q+3>>0]=0;q=c[s+172>>2]|0;l=e>>q;q=f>>q;if((l|0)<=-1)R(119015,119052,120,119072);r=c[s+176>>2]|0;if((l|0)>=(r|0))R(119015,119052,120,119072);if((q|0)<=-1)R(119076,119052,121,119072);if((q|0)>=(c[s+180>>2]|0))R(119076,119052,121,119072);y=(c[s+164>>2]|0)+(((z(r,q)|0)+l|0)*3|0)|0;y=((d[y>>0]|d[y+1>>0]<<8)&65535)>>>8&3;G=y&65535;A=(n|0)!=0;r=(t|0)!=0;do if(t|n|0){if((a[(c[s+136>>2]|0)+22>>0]|0)!=0?(u=b+18500|0,(c[u>>2]|0)==0):0){q=b+18548|0;l=b+18572|0;do if(!(Jf(q,(c[l>>2]|0)+139|0)|0)){q=0;l=0}else{if(Jf(q,(c[l>>2]|0)+140|0)|0)if(Jf(q,(c[l>>2]|0)+140|0)|0)if(Jf(q,(c[l>>2]|0)+140|0)|0)if(Jf(q,(c[l>>2]|0)+140|0)|0){l=(Zf(q,0)|0)+5|0;if(!l){q=0;l=0;break}}else l=4;else l=3;else l=2;else l=1;q=Nf(q)|0}while(0);c[u>>2]=1;c[b+18504>>2]=z(1-(q<<1)|0,l)|0;s=1}else s=0;if((r&(a[(c[b+18592>>2]|0)+756>>0]|0)!=0?(a[b+32>>0]|0)==0:0)?(v=b+18508|0,(c[v>>2]|0)==0):0){l=b+18548|0;q=b+18572|0;D=Jf(l,(c[q>>2]|0)+23|0)|0;r=c[(c[B>>2]|0)+136>>2]|0;if(!D){c[v>>2]=1;c[b+18512>>2]=0;l=0}else{if((d[r+4150>>0]|0)>1)l=Jf(l,(c[q>>2]|0)+24|0)|0;else l=0;c[v>>2]=1;c[b+18512>>2]=a[r+4151+l>>0];l=a[r+4157+l>>0]|0}c[b+18516>>2]=l}else w=32;if((w|0)==32?!s:0)break;Lf(b,e,f,i,j)}while(0);r=1<<k;w=1<<F;D=c[x+5016>>2]|0;v=c[x+5020>>2]|0;u=b+28|0;c[u>>2]=0;if(A)_f(b,e,f,k,0)|0;$f(b,e,f,i,j,r,0,G,A);if(!((k|0)>2|C)){if((m|0)!=3)return 0;l=(o&1|0)!=0;if(l)_f(b,g,h,k,1)|0;if(c[H>>2]|0)$f(b,(g|0)/(D|0)|0,(h|0)/(v|0)|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,r,1,G,l);l=(o&2|0)!=0;if(l)_f(b,g,r+h|0,k,1)|0;q=(E|0)==2;if(q)$f(b,(g|0)/(D|0)|0,((h|0)/(v|0)|0)+r|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,r,1,G,l);l=(p&1|0)!=0;if(l)_f(b,g,h,k,2)|0;if(c[H>>2]|0)$f(b,(g|0)/(D|0)|0,(h|0)/(v|0)|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,r,2,G,l);l=(p&2|0)!=0;if(l)_f(b,g,w+h|0,k,2)|0;if(!q)return 0;$f(b,(g|0)/(D|0)|0,((h|0)/(v|0)|0)+r|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,r,2,G,l);return 0}s=c[B>>2]|0;a:do if(A&(a[(c[s+136>>2]|0)+4147>>0]|0)!=0){do if(y<<16>>16!=1){q=c[s+232>>2]|0;l=e>>q;q=f>>q;if((l|0)<=-1)R(119015,119052,120,119072);r=c[s+236>>2]|0;if((l|0)>=(r|0))R(119015,119052,120,119072);if((q|0)<=-1)R(119076,119052,121,119072);if((q|0)<(c[s+240>>2]|0))if((a[(c[s+224>>2]|0)+((z(r,q)|0)+l)>>0]|0)<0)break;else{n=0;l=0;break a}else R(119076,119052,121,119072)}while(0);r=b+18548|0;s=b+18572|0;l=0;q=0;do{k=(Jf(r,(c[s>>2]|0)+(l+162)|0)|0)!=0;q=q+(k&1)|0;l=l+1|0}while(l>>>0<4&k);if(!q){n=1;l=0}else{n=1;l=1-((Jf(r,(c[s>>2]|0)+170|0)|0)<<1)<<q+-1}}else{n=0;l=0}while(0);c[u>>2]=l;l=(o&1|0)!=0;if(l)_f(b,e,f,F,1)|0;if(c[H>>2]|0)$f(b,(e|0)/(D|0)|0,(f|0)/(v|0)|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,w,1,G,l);t=(E|0)==2;if(t){l=(o&2|0)!=0;if(l)_f(b,e,(v<<F)+f|0,F,1)|0;$f(b,(e|0)/(D|0)|0,((f|0)/(v|0)|0)+w|0,(i|0)/(D|0)|0,((j|0)/(v|0)|0)+w|0,w,1,G,l)}if(n){r=b+18548|0;s=b+18572|0;l=0;q=0;do{o=(Jf(r,(c[s>>2]|0)+(l+166)|0)|0)!=0;q=q+(o&1)|0;l=l+1|0}while(l>>>0<4&o);if(q)l=1-((Jf(r,(c[s>>2]|0)+171|0)|0)<<1)<<q+-1;else l=0}else l=0;c[u>>2]=l;l=(p&1|0)!=0;if(l)_f(b,e,f,F,2)|0;if(c[H>>2]|0)$f(b,(e|0)/(D|0)|0,(f|0)/(v|0)|0,(i|0)/(D|0)|0,(j|0)/(v|0)|0,w,2,G,l);if(!t)return 0;l=(p&2|0)!=0;if(l)_f(b,e,(v<<F)+f|0,F,2)|0;$f(b,(e|0)/(D|0)|0,((f|0)/(v|0)|0)+w|0,(i|0)/(D|0)|0,((j|0)/(v|0)|0)+w|0,w,2,G,l);return 0}function Zf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=a+16|0;l=a+20|0;m=a+8|0;n=a+4|0;o=a+12|0;p=e+31|0;i=0;f=b[l>>1]|0;g=c[k>>2]|0;while(1){g=g<<1;c[k>>2]=g;f=f+1<<16>>16;b[l>>1]=f;if(f<<16>>16>-1?(j=c[n>>2]|0,(c[m>>2]|0)>>>0>j>>>0):0){b[l>>1]=-8;c[n>>2]=j+1;h=g|(d[j>>0]|0);c[k>>2]=h;f=-8}else h=g;g=c[o>>2]<<7;if(h>>>0<g>>>0)break;g=h-g|0;c[k>>2]=g;if((e|0)==(p|0)){e=0;q=8;break}else{i=i+(1<<e)|0;e=e+1|0}}if((q|0)==8)return e|0;q=(Tf(a,e)|0)+i|0;return q|0}function _f(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=oc;oc=oc+160|0;x=ma+144|0;ha=ma+80|0;ia=ma+48|0;ja=ma+32|0;ka=ma+16|0;ga=ma;B=c[f+18588>>2]|0;A=c[B+128>>2]|0;y=c[B+136>>2]|0;l=c[B+172>>2]|0;k=g>>l;l=h>>l;if((k|0)<=-1)R(119015,119052,120,119072);m=c[B+176>>2]|0;if((k|0)>=(m|0))R(119015,119052,120,119072);if((l|0)<=-1)R(119076,119052,121,119072);if((l|0)>=(c[B+180>>2]|0))R(119076,119052,121,119072);u=(c[B+164>>2]|0)+(((z(m,l)|0)+k|0)*3|0)|0;u=((d[u>>0]|d[u+1>>0]<<8)&65535)>>>8&3;fa=(j|0)==0;if(fa?(ea=c[B+252>>2]|0,q=g>>ea,p=h>>ea,ea=i-ea|0,n=1<<ea,r=n+p|0,(ea|0)!=31):0){m=n+q|0;n=B+256|0;o=B+244|0;k=p;do{l=q;do{ea=(z(c[n>>2]|0,k)|0)+l|0;ea=(c[o>>2]|0)+ea|0;a[ea>>0]=a[ea>>0]|-128;l=l+1|0}while((l|0)<(m|0));k=k+1|0}while((k|0)<(r|0))}if(((a[y+21>>0]|0)!=0?(a[f+32>>0]|0)==0:0)?(c[y+4176>>2]|0)>=(i|0):0)k=(Jf(f+18548|0,(c[f+18572>>2]|0)+(fa?141:142)|0)|0)&255;else k=0;a[f+33+j>>0]=k;ea=f+36|0;a[ea>>0]=0;do if(u<<16>>16==1?(a[A+4987>>0]|0)!=0:0){k=f+33+j|0;if((a[k>>0]|0)==0?(a[f+32>>0]|0)==0:0){la=23;break}l=f+18572|0;m=f+18548|0;n=(j|0)!=0&1;da=(Jf(m,(c[l>>2]|0)+143+n|0)|0)&255;a[ea>>0]=da;if(!(da<<24>>24))da=k;else{a[f+37>>0]=Jf(m,(c[l>>2]|0)+145+n|0)|0;da=k}}else la=23;while(0);if((la|0)==23){a[ea>>0]=0;da=f+33+j|0}k=fa?2:0;if(!((a[da>>0]|0)==0?(a[f+32>>0]|0)==0:0))k=k|1;ca=f+18572|0;l=c[ca>>2]|0;q=l+25|0;m=i<<1;t=m+-1|0;if(fa){o=(i*3|0)+-6+(i+-1>>2)|0;p=i+1>>2}else{o=15;p=i+-2|0}s=(m|0)>1;if(s){n=f+18548|0;l=t;m=0;do{ba=(Jf(n,q+((m>>>p)+o)|0)|0)==0;l=ba?m:l;m=m+1|0}while((m|0)<(t|0)&(ba^1));r=l;l=c[ca>>2]|0}else r=t;q=l+43|0;if(fa){o=(i*3|0)+-6+(i+-1>>2)|0;p=i+1>>2}else{o=15;p=i+-2|0}if(s){n=f+18548|0;m=t;l=0;do{ba=(Jf(n,q+((l>>>p)+o)|0)|0)==0;m=ba?l:m;l=l+1|0}while((l|0)<(t|0)&(ba^1))}else m=t;l=(r>>1)+-1|0;if((r|0)>3)p=(Tf(f+18548|0,l)|0)+((r&1|2)<<l)|0;else p=r;l=(m>>1)+-1|0;if((m|0)>3)m=(Tf(f+18548|0,l)|0)+((m&1|2)<<l)|0;ba=u<<16>>16==0;if(ba){do if(fa){n=c[B+212>>2]|0;l=g>>n;n=h>>n;if((l|0)<=-1)R(119015,119052,120,119072);o=c[B+216>>2]|0;if((l|0)>=(o|0))R(119015,119052,120,119072);if((n|0)<=-1)R(119076,119052,121,119072);if((n|0)<(c[B+220>>2]|0)){v=0;w=a[(c[B+204>>2]|0)+((z(o,n)|0)+l)>>0]|0;break}else R(119076,119052,121,119072)}else{n=c[B+232>>2]|0;l=g>>n;n=h>>n;if((l|0)<=-1)R(119015,119052,120,119072);o=c[B+236>>2]|0;if((l|0)>=(o|0))R(119015,119052,120,119072);if((n|0)<=-1)R(119076,119052,121,119072);if((n|0)<(c[B+240>>2]|0)){v=j;w=a[(c[B+224>>2]|0)+((z(o,n)|0)+l)>>0]&63;break}else R(119076,119052,121,119072)}while(0);o=tg(i,w&255,v,A)|0;l=(o|0)==2;n=l?p:m;l=l?m:p}else{o=0;n=m;l=p}_=i+-2|0;$=ug(_,o)|0;aa=ug(2,o)|0;vg(x,l,n,o,i);Z=a[x+1>>0]|0;V=d[x>>0]|0;rD(ha|0,0,1<<_<<_|0)|0;W=f+14396+(j<<1)|0;b[W>>1]=0;X=f+18548|0;Y=(j|0)!=0&1;J=(o|0)!=0&1;K=(Z&255)+-1|0;L=A+4985|0;M=f+32|0;N=fa?42:43;O=(j|0)>0;P=B+212|0;Q=B+232|0;S=B+216|0;T=B+236|0;U=A+4986|0;H=y+11|0;I=B+220|0;E=A+4991|0;F=B+240|0;G=B+204|0;D=f+18580+k|0;C=B+224|0;k=1;B=V;t=0;l=0;a:while(1){q=a[$+(B<<1)>>0]|0;r=a[$+(B<<1)+1>>0]|0;if((B|0)<(V|0)&(B|0)!=0){n=q&255;o=r&255;m=o<<_;A=d[ha+(m+n)>>0]|0;A=A&1|A>>>1;if(!(Jf(X,(c[ca>>2]|0)+((fa?A:A+2|0)+61)|0)|0)){o=1;m=0}else{p=1;la=67}}else if((B|0)==0|(B|0)==(V|0)){m=r&255;p=0;n=q&255;o=m;m=m<<_;la=67}else{o=0;m=0}if((la|0)==67){la=0;m=ha+(n+-1+m)|0;if(q<<24>>24)a[m>>0]=a[m>>0]|1;m=ha+((o+-1<<_)+n)|0;if(!(r<<24>>24)){o=p;m=1}else{a[m>>0]=a[m>>0]|2;o=p;m=1}}do if(m){x=q&255;A=x<<2;r=r&255;y=r<<2;r=c[146464+(_<<6)+(Y<<5)+(J<<4)+(d[ha+((r<<_)+x)>>0]<<2)>>2]|0;x=(B|0)==(V|0);s=x?K:15;if(x){b[ia>>1]=1;a[ga>>0]=1;a[ja>>0]=Z;n=1}else n=0;if((s|0)>0){q=s;p=o;while(1){m=A+(d[aa+(q<<1)>>0]|0)|0;o=y+(d[aa+(q<<1)+1>>0]|0)|0;do if(a[L>>0]|0){if(a[M>>0]|0){m=N;break}if(a[da>>0]|0)m=N;else la=80}else la=80;while(0);if((la|0)==80){la=0;m=d[r+(m+(o<<i))>>0]|0}if(!(Jf(X,(c[ca>>2]|0)+(m+65)|0)|0))m=p;else{b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=q;m=0;n=n+1|0}if((q|0)>1){q=q+-1|0;p=m}else break}}else m=o;do if((s|0)>-1){if(m|0){b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=0;x=n+1|0;break}do if(a[L>>0]|0){if(a[M>>0]|0){m=N;break}if(a[da>>0]|0)m=N;else la=88}else la=88;while(0);if((la|0)==88){la=0;m=d[r+((y<<i)+A)>>0]|0}if(!(Jf(X,(c[ca>>2]|0)+(m+65)|0)|0)){x=n;break}b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=0;x=n+1|0}else x=n;while(0);if(!x){m=t;break}s=(O|(B|0)==0?0:2)|(k|0)==0;q=(x|0)<8?x:8;u=(x|0)>0;do if(u){r=s<<2;if(O){p=0;n=-1;k=1;m=t;do{do if(p){o=l+1|0;if((l|0)<=0){m=l;la=101;break}if((m|0)==1){m=0;la=101;break}if((l|0)<2){m=o;la=101}else{l=o;m=3}}else{m=1;la=101}while(0);if((la|0)==101){la=0;l=m}m=Jf(X,(c[ca>>2]|0)+(m+r+125)|0)|0;if(!m){a[ga+p>>0]=0;k=k+((k+-1|0)>>>0<2&1)|0}else{k=ia+(p<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;n=(n|0)==-1?p:n;k=0}p=p+1|0}while((p|0)<(q|0))}else{p=0;n=-1;k=1;m=t;do{do if(p){o=l+1|0;if((l|0)<=0){m=l;la=111;break}if((m|0)==1){m=0;la=111;break}if((l|0)<2){m=o;la=111}else{l=o;m=3}}else{m=1;la=111}while(0);if((la|0)==111){la=0;l=m}m=Jf(X,(c[ca>>2]|0)+(m+r+109)|0)|0;if(!m){a[ga+p>>0]=0;k=k+((k+-1|0)>>>0<2&1)|0}else{k=ia+(p<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;n=(n|0)==-1?p:n;k=0}p=p+1|0}while((p|0)<(q|0))}if((n|0)==-1)break;w=Jf(X,(c[ca>>2]|0)+((O?s|4:s)+133)|0)|0;v=ia+(n<<1)|0;b[v>>1]=w+(e[v>>1]|0);a[ga+n>>0]=w}else{k=1;m=t}while(0);if(fa){o=c[P>>2]|0;n=g>>o;o=h>>o;if((n|0)<=-1){la=120;break a}p=c[S>>2]|0;if((n|0)>=(p|0)){la=120;break a}if((o|0)<=-1){la=123;break a}if((o|0)>=(c[I>>2]|0)){la=123;break a}n=a[(c[G>>2]|0)+((z(p,o)|0)+n)>>0]|0}else{o=c[Q>>2]|0;n=g>>o;o=h>>o;if((n|0)<=-1){la=127;break a}p=c[T>>2]|0;if((n|0)>=(p|0)){la=127;break a}if((o|0)<=-1){la=130;break a}if((o|0)>=(c[F>>2]|0)){la=130;break a}n=a[(c[C>>2]|0)+((z(p,o)|0)+n)>>0]&63}b:do if(!(a[M>>0]|0)){do if(ba){if(!(a[U>>0]|0))break;if((n|16)<<24>>24==26&(a[da>>0]|0)!=0){o=0;break b}}while(0);if(a[ea>>0]|0){o=0;break}o=((a[ja>>0]|0)-(a[ja+(x+-1)>>0]|0)|0)>3&1}else o=0;while(0);w=x+-1|0;if((x|0)>1){n=0;do{a[ka+n>>0]=Nf(X)|0;n=n+1|0}while((n|0)!=(w|0))}v=(o|0)!=0;if(v&(a[H>>0]|0)!=0)n=0;else n=(Nf(X)|0)&255;a[ka+w>>0]=n;if(!(a[E>>0]|0))n=0;else n=(d[D>>0]|0)>>>2&255;if(!u)break;u=0;s=1;o=0;do{t=b[ia+(u<<1)>>1]|0;do if(!(a[ga+u>>0]|0))r=0;else{p=-1;while(1){q=p+1|0;r=Nf(X)|0;if((p|0)>63){r=0;break}if(!r){la=151;break}else p=q}do if((la|0)==151){la=0;if((p|0)<3){r=(Tf(X,n)|0)+(q<<n)|0;break}else{r=p+-2|0;r=(Tf(X,r+n|0)|0)+((1<<r)+2<<n)|0;break}}while(0);p=(r+t|0)>(3<<n|0);q=n+1|0;if(!(a[E>>0]|0)){s=0;n=p?((q|0)<4?q:4):n;break}n=p?q:n;if(!s){s=0;break}p=a[D>>0]|0;q=(p&255)>>>2;if((r|0)>=(3<<q|0)){a[D>>0]=p+1<<24>>24;s=0;break}if(p<<24>>24==0|(r<<1|0)>=(1<<q|0)){s=0;break}a[D>>0]=p+-1<<24>>24;s=0}while(0);q=r+t|0;r=(a[ka+u>>0]|0)==0?q:0-(q&65535)|0;p=r&65535;do if(v&(a[H>>0]|0)!=0){o=q+o|0;if((u|0)!=(w|0)|(o&1|0)==0)break;p=0-r&65535}while(0);t=a[ja+u>>0]|0;r=A+(d[aa+(t<<1)>>0]|0)|0;t=y+(d[aa+(t<<1)+1>>0]|0)|0;b[f+2108+(j<<11)+(b[W>>1]<<1)>>1]=p;b[f+8252+(j<<11)+(b[W>>1]<<1)>>1]=r+(t<<i);b[W>>1]=(b[W>>1]|0)+1<<16>>16;u=u+1|0}while((u|0)!=(x|0))}else m=t;while(0);if((B|0)>0){B=B+-1|0;t=m}else{la=62;break}}if((la|0)==62){oc=ma;return 0}else if((la|0)==120)R(119015,119052,120,119072);else if((la|0)==123)R(119076,119052,121,119072);else if((la|0)==127)R(119015,119052,120,119072);else if((la|0)==130)R(119076,119052,121,119072);return 0}function $f(d,e,f,g,h,i,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;p=c[d+18588>>2]|0;q=c[p+128>>2]|0;r=(k|0)==0;if(!r)if(!(a[d+36>>0]|0))k=0;else k=(a[d+37>>0]|0)==0?1:2;else{do if(!j){m=c[p+212>>2]|0;k=e>>m;m=f>>m;if((k|0)<=-1)R(119015,119052,120,119072);n=c[p+216>>2]|0;if((k|0)>=(n|0))R(119015,119052,120,119072);if((m|0)<=-1)R(119076,119052,121,119072);if((m|0)<(c[p+220>>2]|0)){o=a[(c[p+204>>2]|0)+((z(n,m)|0)+k)>>0]|0;break}else R(119076,119052,121,119072)}else{k=z(c[q+5016>>2]|0,e)|0;n=z(c[q+5020>>2]|0,f)|0;m=c[p+232>>2]|0;k=k>>m;m=n>>m;if((k|0)<=-1)R(119015,119052,120,119072);n=c[p+236>>2]|0;if((k|0)>=(n|0))R(119015,119052,120,119072);if((m|0)<=-1)R(119076,119052,121,119072);if((m|0)<(c[p+240>>2]|0)){o=a[(c[p+224>>2]|0)+((z(n,m)|0)+k)>>0]&63;break}else R(119076,119052,121,119072)}while(0);m=(o&255)>34?1:o&255;ag(p,e,f,m,i,j);do if(!(a[q+4986>>0]|0))k=0;else{if((a[d+32>>0]|0)==0?(a[d+33+j>>0]|0)==0:0){k=0;break}k=(m|16|0)==26}while(0);k=(m|0)==26&k?2:k&1}if(l){bg(d,e,f,g,h,i,j,(a[d+33+j>>0]|0)!=0,r,k);return}if(!j)return;if(!(c[d+28>>2]|0))return;b[d+14396+(j<<1)>>1]=0;bg(d,e,f,g,h,i,j,(a[d+33+j>>0]|0)!=0,r,0);return}function ag(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;l=(g|0)==0;k=c[a+128>>2]|0;h=c[(l?a+40|0:a+44|0)>>2]|0;i=c[a+4+(g<<2)>>2]|0;j=(z(h,d)|0)+b|0;if((c[(l?k+4996|0:k+5004|0)>>2]|0)>8){gg(a,b,d,e,i+(j<<1)|0,h,f,g);return}else{hg(a,b,d,e,i+j|0,h,f,g);return}}function bg(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[(c[a+18588>>2]|0)+128>>2]|0;if((c[((h|0)==0?l+4996|0:l+5004|0)>>2]|0)>8){cg(a,b,d,e,f,g,h,i,j,k);return}else{dg(a,b,d,e,f,g,h,i,j,k);return}}function cg(e,f,g,h,i,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=oc;oc=oc+4096|0;A=M;E=e+18588|0;p=c[E>>2]|0;q=c[p+128>>2]|0;y=c[p+136>>2]|0;switch(k|0){case 0:{o=e+18536|0;break}case 1:{o=e+18540|0;break}case 2:{o=e+18544|0;break}default:R(127700,117229,367,117244)}u=c[o>>2]|0;L=e+2104|0;h=c[L>>2]|0;B=(k|0)==0;I=c[(B?p+40|0:p+44|0)>>2]|0;K=(c[p+4+(k<<2)>>2]|0)+((z(I,g)|0)+f<<1)|0;J=c[(B?q+4996|0:q+5004|0)>>2]|0;i=c[p+172>>2]|0;f=f>>i;i=g>>i;if((f|0)<=-1)R(119015,119052,120,119072);o=c[p+176>>2]|0;if((f|0)>=(o|0))R(119015,119052,120,119072);if((i|0)<=-1)R(119076,119052,121,119072);if((i|0)>=(c[p+180>>2]|0))R(119076,119052,121,119072);C=(c[p+164>>2]|0)+(((z(o,i)|0)+f|0)*3|0)|0;C=((d[C>>0]|d[C+1>>0]<<8)&65535)>>>8&3;v=C&65535;w=(j|0)==4;C=w&(a[q+4984>>0]|0)!=0&C<<16>>16==0;a:do if(!(a[e+32>>0]|0)){s=(j|0)>1;if(s){o=j;i=0;while(1){i=i+1|0;if(o>>>0>3)o=o>>>1;else break}}else i=0;i=i+J|0;r=i+-5|0;if(!(a[q+636>>0]|0)){g=i+-9|0;p=1<<i+-10;o=c[880+(((u|0)%6|0)<<2)>>2]<<((u|0)/6|0);f=e+14396+(k<<1)|0;if((b[f>>1]|0)>0){i=0;do{x=(z(o,b[e+2108+(k<<11)+(i<<1)>>1]|0)|0)+p>>g;x=(x|0)<32767?x:32767;b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=(x|0)>-32768?x:-32768;i=i+1|0}while((i|0)<(b[f>>1]|0))}}else{q=1<<i+-6;do if(!m)if((j|0)<32){i=k+3|0;break}else{i=k+1|0;break}else i=k;while(0);m=j+-4|0;switch(m>>>2|m<<30|0){case 0:{x=y+69+(i<<4)|0;break}case 1:{x=y+165+(i<<6)|0;break}case 3:{x=y+549+(i<<8)|0;break}case 7:{x=y+2085+(i<<10)|0;break}default:R(127700,117229,492,117244)}p=e+14396+(k<<1)|0;if((b[p>>1]|0)>0){g=(u|0)/6|0;o=c[880+(u-(g*6|0)<<2)>>2]|0;f=((q|0)<0)<<31>>31;i=0;do{u=b[e+8252+(k<<11)+(i<<1)>>1]|0;t=(z(o,d[x+u>>0]|0)|0)<<g;m=b[e+2108+(k<<11)+(i<<1)>>1]|0;m=gD(t|0,((t|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;m=hD(m|0,D()|0,q|0,f|0)|0;m=mD(m|0,D()|0,r|0)|0;t=D()|0;N=(t|0)<0|(t|0)==0&m>>>0<32767;m=N?m:32767;t=N?t:0;N=(t|0)>-1|(t|0)==-1&m>>>0>4294934528;m=N?m:-32768;b[h+(u<<1)>>1]=m;i=i+1|0}while((i|0)<(b[p>>1]|0))}}g=(j|0)>0;if(!l){o=w&(v|k|0)==0;if(n|0)R(117272,117229,591,117244);if(a[y+4147>>0]|0){fg(e,h,j,j,o&1,K,I,J,k);break}i=c[e+18584>>2]|0;if(o){Gc[c[i+412>>2]&31](K,h,I,J);break}switch(j|0){case 4:{Gc[c[i+416>>2]&31](K,h,I,J);break a}case 8:{Gc[c[i+420>>2]&31](K,h,I,J);break a}case 16:{Gc[c[i+424>>2]&31](K,h,I,J);break a}default:{Gc[c[i+428>>2]&31](K,h,I,J);break a}}}if(s){i=j;o=0;while(1)if(i>>>0>3){i=i>>>1;o=o+1|0}else break;f=o+6|0}else f=5;o=20-J|0;o=(o|0)>0?o:0;if(C)Ec[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);p=B?e+14404|0:A;do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Hc[c[i+464>>2]&15](p,h,j,f,o);break}else{Hc[c[i+468>>2]&15](p,h,j,f,o);break}}else Hc[c[(c[e+18584>>2]|0)+472>>2]&15](p,h,j,f,o);while(0);if((!B?(F=e+28|0,c[F>>2]|0):0)?(H=c[(c[E>>2]|0)+128>>2]|0,G=c[H+5004>>2]|0,H=c[H+4996>>2]|0,g):0){i=0;do{f=z(i,j)|0;o=0;do{N=o+f|0;n=(z(c[e+14404+(N<<2)>>2]<<G>>H,c[F>>2]|0)|0)>>3;N=p+(N<<2)|0;c[N>>2]=n+(c[N>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Hc[c[(c[e+18584>>2]|0)+460>>2]&15](K,I,p,j,J);if(C){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}else{p=B?e+14404|0:A;o=e+14396+(k<<1)|0;if((b[o>>1]|0)>0){i=0;do{b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=b[e+2108+(k<<11)+(i<<1)>>1]|0;i=i+1|0}while((i|0)<(b[o>>1]|0))}if(C)Ec[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Fc[c[i+368>>2]&31](p,h,j);break}else{Fc[c[i+372>>2]&31](p,h,j);break}}else Fc[c[(c[e+18584>>2]|0)+364>>2]&31](p,h,j);while(0);if((!B?(s=e+28|0,c[s>>2]|0):0)?(r=c[(c[E>>2]|0)+128>>2]|0,t=c[r+5004>>2]|0,r=c[r+4996>>2]|0,(j|0)>0):0){i=0;do{f=z(i,j)|0;o=0;do{N=o+f|0;n=(z(c[e+14404+(N<<2)>>2]<<t>>r,c[s>>2]|0)|0)>>3;N=p+(N<<2)|0;c[N>>2]=n+(c[N>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Hc[c[(c[e+18584>>2]|0)+460>>2]&15](K,I,p,j,J);if(C){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}while(0);o=e+14396+(k<<1)|0;if((b[o>>1]|0)<=0){oc=M;return}i=c[L>>2]|0;h=0;do{b[i+(b[e+8252+(k<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0}while((h|0)<(b[o>>1]|0));oc=M;return}function dg(e,f,g,h,i,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=oc;oc=oc+4096|0;A=L;E=e+18588|0;p=c[E>>2]|0;q=c[p+128>>2]|0;y=c[p+136>>2]|0;switch(k|0){case 0:{o=e+18536|0;break}case 1:{o=e+18540|0;break}case 2:{o=e+18544|0;break}default:R(127700,117229,367,117244)}u=c[o>>2]|0;K=e+2104|0;h=c[K>>2]|0;B=(k|0)==0;I=c[(B?p+40|0:p+44|0)>>2]|0;J=(c[p+4+(k<<2)>>2]|0)+((z(I,g)|0)+f)|0;i=c[p+172>>2]|0;f=f>>i;i=g>>i;if((f|0)<=-1)R(119015,119052,120,119072);o=c[p+176>>2]|0;if((f|0)>=(o|0))R(119015,119052,120,119072);if((i|0)<=-1)R(119076,119052,121,119072);if((i|0)>=(c[p+180>>2]|0))R(119076,119052,121,119072);C=(c[p+164>>2]|0)+(((z(o,i)|0)+f|0)*3|0)|0;C=((d[C>>0]|d[C+1>>0]<<8)&65535)>>>8&3;v=C&65535;w=(j|0)==4;C=w&(a[q+4984>>0]|0)!=0&C<<16>>16==0;a:do if(!(a[e+32>>0]|0)){f=c[(B?q+4996|0:q+5004|0)>>2]|0;s=(j|0)>1;if(s){o=j;i=0;while(1){i=i+1|0;if(o>>>0>3)o=o>>>1;else break}}else i=0;i=i+f|0;r=i+-5|0;if(!(a[q+636>>0]|0)){g=i+-9|0;p=1<<i+-10;o=c[880+(((u|0)%6|0)<<2)>>2]<<((u|0)/6|0);f=e+14396+(k<<1)|0;if((b[f>>1]|0)>0){i=0;do{x=(z(o,b[e+2108+(k<<11)+(i<<1)>>1]|0)|0)+p>>g;x=(x|0)<32767?x:32767;b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=(x|0)>-32768?x:-32768;i=i+1|0}while((i|0)<(b[f>>1]|0))}}else{q=1<<i+-6;do if(!m)if((j|0)<32){i=k+3|0;break}else{i=k+1|0;break}else i=k;while(0);m=j+-4|0;switch(m>>>2|m<<30|0){case 0:{x=y+69+(i<<4)|0;break}case 1:{x=y+165+(i<<6)|0;break}case 3:{x=y+549+(i<<8)|0;break}case 7:{x=y+2085+(i<<10)|0;break}default:R(127700,117229,492,117244)}p=e+14396+(k<<1)|0;if((b[p>>1]|0)>0){g=(u|0)/6|0;o=c[880+(u-(g*6|0)<<2)>>2]|0;f=((q|0)<0)<<31>>31;i=0;do{u=b[e+8252+(k<<11)+(i<<1)>>1]|0;t=(z(o,d[x+u>>0]|0)|0)<<g;m=b[e+2108+(k<<11)+(i<<1)>>1]|0;m=gD(t|0,((t|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;m=hD(m|0,D()|0,q|0,f|0)|0;m=mD(m|0,D()|0,r|0)|0;t=D()|0;M=(t|0)<0|(t|0)==0&m>>>0<32767;m=M?m:32767;t=M?t:0;M=(t|0)>-1|(t|0)==-1&m>>>0>4294934528;m=M?m:-32768;b[h+(u<<1)>>1]=m;i=i+1|0}while((i|0)<(b[p>>1]|0))}}f=(j|0)>0;if(!l){o=w&(v|k|0)==0;if(n|0)R(117272,117229,591,117244);if(a[y+4147>>0]|0){eg(e,h,j,j,o&1,J,I,8,k);break}i=c[e+18584>>2]|0;if(o){Fc[c[i+388>>2]&31](J,h,I);break}switch(j|0){case 4:{Fc[c[i+392>>2]&31](J,h,I);break a}case 8:{Fc[c[i+396>>2]&31](J,h,I);break a}case 16:{Fc[c[i+400>>2]&31](J,h,I);break a}default:{Fc[c[i+404>>2]&31](J,h,I);break a}}}if(s){i=j;o=0;while(1)if(i>>>0>3){i=i>>>1;o=o+1|0}else break;o=o+6|0}else o=5;if(C)Ec[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);p=B?e+14404|0:A;do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Hc[c[i+464>>2]&15](p,h,j,o,12);break}else{Hc[c[i+468>>2]&15](p,h,j,o,12);break}}else Hc[c[(c[e+18584>>2]|0)+472>>2]&15](p,h,j,o,12);while(0);if((!B?(F=e+28|0,c[F>>2]|0):0)?(H=c[(c[E>>2]|0)+128>>2]|0,G=c[H+5004>>2]|0,H=c[H+4996>>2]|0,f):0){i=0;do{f=z(i,j)|0;o=0;do{M=o+f|0;n=(z(c[e+14404+(M<<2)>>2]<<G>>H,c[F>>2]|0)|0)>>3;M=p+(M<<2)|0;c[M>>2]=n+(c[M>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Hc[c[(c[e+18584>>2]|0)+456>>2]&15](J,I,p,j,8);if(C){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}else{p=B?e+14404|0:A;o=e+14396+(k<<1)|0;if((b[o>>1]|0)>0){i=0;do{b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=b[e+2108+(k<<11)+(i<<1)>>1]|0;i=i+1|0}while((i|0)<(b[o>>1]|0))}if(C)Ec[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Fc[c[i+368>>2]&31](p,h,j);break}else{Fc[c[i+372>>2]&31](p,h,j);break}}else Fc[c[(c[e+18584>>2]|0)+364>>2]&31](p,h,j);while(0);if((!B?(r=e+28|0,c[r>>2]|0):0)?(t=c[(c[E>>2]|0)+128>>2]|0,s=c[t+5004>>2]|0,t=c[t+4996>>2]|0,(j|0)>0):0){i=0;do{f=z(i,j)|0;o=0;do{M=o+f|0;n=(z(c[e+14404+(M<<2)>>2]<<s>>t,c[r>>2]|0)|0)>>3;M=p+(M<<2)|0;c[M>>2]=n+(c[M>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Hc[c[(c[e+18584>>2]|0)+456>>2]&15](J,I,p,j,8);if(C){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}while(0);o=e+14396+(k<<1)|0;if((b[o>>1]|0)<=0){oc=L;return}i=c[K>>2]|0;h=0;do{b[i+(b[e+8252+(k<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0}while((h|0)<(b[o>>1]|0));oc=L;return}function eg(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=oc;oc=oc+4096|0;l=c[a+18584>>2]|0;d=(j|0)==0;k=d?a+14404|0:m;j=20-i|0;a:do if((f|0)==1)Gc[c[l+436>>2]&31](k,b,j,15);else switch(e|0){case 4:{Gc[c[l+440>>2]&31](k,b,j,15);break a}case 8:{Gc[c[l+444>>2]&31](k,b,j,15);break a}case 16:{Gc[c[l+448>>2]&31](k,b,j,15);break a}default:{Gc[c[l+452>>2]&31](k,b,j,15);break a}}while(0);if((!d?(n=a+28|0,c[n>>2]|0):0)?(p=c[(c[a+18588>>2]|0)+128>>2]|0,o=c[p+5004>>2]|0,p=c[p+4996>>2]|0,(e|0)>0):0){d=0;do{b=z(d,e)|0;j=0;do{f=j+b|0;q=(z(c[a+14404+(f<<2)>>2]<<o>>p,c[n>>2]|0)|0)>>3;f=k+(f<<2)|0;c[f>>2]=q+(c[f>>2]|0);j=j+1|0}while((j|0)!=(e|0));d=d+1|0}while((d|0)!=(e|0))}Hc[c[l+456>>2]&15](g,h,k,e,i);oc=m;return}function fg(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=oc;oc=oc+4096|0;l=c[a+18584>>2]|0;d=(j|0)==0;k=d?a+14404|0:m;j=20-i|0;a:do if((f|0)==1)Gc[c[l+436>>2]&31](k,b,j,15);else switch(e|0){case 4:{Gc[c[l+440>>2]&31](k,b,j,15);break a}case 8:{Gc[c[l+444>>2]&31](k,b,j,15);break a}case 16:{Gc[c[l+448>>2]&31](k,b,j,15);break a}default:{Gc[c[l+452>>2]&31](k,b,j,15);break a}}while(0);if((!d?(n=a+28|0,c[n>>2]|0):0)?(p=c[(c[a+18588>>2]|0)+128>>2]|0,o=c[p+5004>>2]|0,p=c[p+4996>>2]|0,(e|0)>0):0){d=0;do{b=z(d,e)|0;j=0;do{f=j+b|0;q=(z(c[a+14404+(f<<2)>>2]<<o>>p,c[n>>2]|0)|0)>>3;f=k+(f<<2)|0;c[f>>2]=q+(c[f>>2]|0);j=j+1|0}while((j|0)!=(e|0));d=d+1|0}while((d|0)!=(e|0))}Hc[c[l+460>>2]&15](g,h,k,e,i);oc=m;return}function gg(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=oc;oc=oc+848|0;r=u+516|0;t=u+256|0;n=r+4|0;c[n>>2]=f;p=r+8|0;c[p>>2]=l;o=r+12|0;c[o>>2]=m;c[r>>2]=t;c[r+16>>2]=g;c[r+20>>2]=h;if((l|0)>=65)R(117393,117302,379,117425);c[r+304>>2]=16843009;og(r);pg(r);n=c[(c[n>>2]|0)+128>>2]|0;o=c[((c[o>>2]|0)==0?n+4996|0:n+5004|0)>>2]|0;n=c[r+316>>2]|0;q=c[p>>2]|0;a:do if((n|0)!=(q<<2|1|0)){if(!n){n=z(q,-2)|0;q=q<<1;if((n|0)>(q|0))break;p=1<<o+-1&65535;o=c[r>>2]|0;while(1){b[o+(n<<1)>>1]=p;if((n|0)<(q|0))n=n+1|0;else break a}}p=c[r+292>>2]|0;n=z(q,-2)|0;if(!(a[p+n>>0]|0))b[(c[r>>2]|0)+(n<<1)>>1]=b[r+320>>1]|0;n=n|1;o=q<<1;if((n|0)<=(o|0))while(1){if(!(a[p+n>>0]|0)){q=c[r>>2]|0;b[q+(n<<1)>>1]=b[q+(n+-1<<1)>>1]|0}if((n|0)<(o|0))n=n+1|0;else break}}while(0);n=f+128|0;o=c[n>>2]|0;do if(!(a[o+4989>>0]|0)){if(m|0?(c[o+5012>>2]|0)!=3:0)break;qg(o,t,l,m,i)}while(0);switch(i|0){case 0:{if((l|0)>1){n=l;o=0;while(1)if(n>>>0>3){n=n>>>1;o=o+1|0}else break;n=o+2|0}else n=1;if((l|0)<=0){oc=u;return}q=l+-1|0;r=e[t+(l+1<<1)>>1]|0;f=e[t+(~l<<1)>>1]|0;p=0;do{g=q-p|0;s=z(p,k)|0;h=e[t+(~p<<1)>>1]|0;p=p+1|0;i=z(p,f)|0;o=0;do{w=z(q-o|0,h)|0;m=o;o=o+1|0;v=z(o,r)|0;b[j+(m+s<<1)>>1]=w+l+v+(z(g,e[t+(o<<1)>>1]|0)|0)+i>>n}while((o|0)!=(l|0))}while((p|0)!=(l|0));oc=u;return}case 1:{rg(j,k,l,m,t);oc=u;return}default:{w=c[n>>2]|0;n=c[((m|0)==0?w+4996|0:w+5004|0)>>2]|0;do if(a[w+4986>>0]|0){p=c[f+172>>2]|0;o=g>>p;p=h>>p;if((o|0)<=-1)R(119015,119052,120,119072);q=c[f+176>>2]|0;if((o|0)>=(q|0))R(119015,119052,120,119072);if((p|0)<=-1)R(119076,119052,121,119072);if((p|0)<(c[f+180>>2]|0)){s=(c[f+164>>2]|0)+(((z(q,p)|0)+o|0)*3|0)|0;s=((d[s>>0]|d[s+1>>0]<<8)&2048)!=0;break}else R(119076,119052,121,119072)}else s=0;while(0);sg(j,k,n,s,g,h,i,l,m,t);oc=u;return}}}function hg(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=oc;oc=oc+272|0;q=r+128|0;ig(b,e,f,j,k,q);l=b+128|0;m=c[l>>2]|0;do if(!(a[m+4989>>0]|0)){if(k|0?(c[m+5012>>2]|0)!=3:0)break;jg(m,q,j,k,g)}while(0);switch(g|0){case 0:{if((j|0)>1){l=j;m=0;while(1)if(l>>>0>3){l=l>>>1;m=m+1|0}else break;l=m+2|0}else l=1;if((j|0)<=0){oc=r;return}o=j+-1|0;b=d[q+(j+1)>>0]|0;e=d[q+~j>>0]|0;n=0;do{f=o-n|0;g=z(n,i)|0;k=d[q+~n>>0]|0;n=n+1|0;p=z(n,e)|0;m=0;do{u=z(o-m|0,k)|0;s=m;m=m+1|0;t=z(m,b)|0;a[h+(s+g)>>0]=u+j+t+(z(f,d[q+m>>0]|0)|0)+p>>l}while((m|0)!=(j|0))}while((n|0)!=(j|0));oc=r;return}case 1:{kg(h,i,j,k,q);oc=r;return}default:{u=c[l>>2]|0;l=c[((k|0)==0?u+4996|0:u+5004|0)>>2]|0;do if(a[u+4986>>0]|0){n=c[b+172>>2]|0;m=e>>n;n=f>>n;if((m|0)<=-1)R(119015,119052,120,119072);o=c[b+176>>2]|0;if((m|0)>=(o|0))R(119015,119052,120,119072);if((n|0)<=-1)R(119076,119052,121,119072);if((n|0)<(c[b+180>>2]|0)){p=(c[b+164>>2]|0)+(((z(o,n)|0)+m|0)*3|0)|0;p=((d[p>>0]|d[p+1>>0]<<8)&2048)!=0;break}else R(119076,119052,121,119072)}else p=0;while(0);lg(h,i,l,p,e,f,g,j,k,q);oc=r;return}}}function ig(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;m=oc;oc=oc+336|0;l=m;i=l+4|0;c[i>>2]=b;k=l+8|0;c[k>>2]=f;j=l+12|0;c[j>>2]=g;c[l>>2]=h;c[l+16>>2]=d;c[l+20>>2]=e;if((f|0)>=65)R(117393,117302,379,117425);c[l+304>>2]=16843009;mg(l);ng(l);b=c[(c[i>>2]|0)+128>>2]|0;e=c[l+316>>2]|0;d=c[k>>2]|0;f=d<<2|1;if((e|0)==(f|0)){oc=m;return}if(!e){rD((c[l>>2]|0)+(0-(d<<1))|0,1<<(c[((c[j>>2]|0)==0?b+4996|0:b+5004|0)>>2]|0)+-1&255|0,f|0)|0;oc=m;return}e=l+292|0;b=z(d,-2)|0;if(!(a[(c[e>>2]|0)+b>>0]|0)){a[(c[l>>2]|0)+b>>0]=a[l+320>>0]|0;d=c[k>>2]|0;b=z(d,-2)|0}b=b|1;if((b|0)>(d<<1|0)){oc=m;return}while(1){if(!(a[(c[e>>2]|0)+b>>0]|0)){d=c[l>>2]|0;a[d+b>>0]=a[d+(b+-1)>>0]|0;d=c[k>>2]|0}if((b|0)<(d<<1|0))b=b+1|0;else break}oc=m;return}function jg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=oc;oc=oc+144|0;k=l;if((f|0)==4|(h|0)==1){oc=l;return}m=(h|0)<26?26-h|0:h+-26|0;h=(h|0)<10?10-h|0:h+-10|0;h=(m|0)<(h|0)?m:h;m=f+-8|0;switch(m>>>3|m<<29|0){case 0:{if((h|0)<=7){oc=l;return}break}case 1:{if((h|0)<=1){oc=l;return}break}case 3:{if((h|0)<=0){oc=l;return}break}case 7:{oc=l;return}default:R(145674,117302,841,117359)}if((f|0)==32&((g|0)==0&(a[b+4901>>0]|0)!=0)?(i=d[e>>0]|0,m=(d[e+64>>0]|0)+i-(d[e+32>>0]<<1)|0,j=1<<(c[b+512>>2]|0)+-5,(((m|0)<0?0-m|0:m)|0)<(j|0)):0){h=(d[e+-64>>0]|0)+i-(d[e+-32>>0]<<1)|0;h=(((h|0)<0?0-h|0:h)|0)<(j|0)}else h=0;j=k+64|0;k=z(f,-2)|0;a[j+k>>0]=a[e+k>>0]|0;k=f<<1;a[j+k>>0]=a[e+k>>0]|0;if(!h){h=1-k|0;if((h|0)<(k|0)){b=h;h=a[e+h>>0]|0;do{m=b;b=b+1|0;i=h;h=a[e+b>>0]|0;a[j+m>>0]=((h&255)+2+((i&255)<<1)+(d[e+(m+-1)>>0]|0)|0)>>>2}while((b|0)!=(k|0))}}else{b=a[e>>0]|0;a[j>>0]=b;b=b&255;g=(d[e+-64>>0]|0)-b|0;i=(d[e+64>>0]|0)-b|0;h=1;do{a[j+(0-h)>>0]=(((z(g,h)|0)+32|0)>>>6)+b;a[j+h>>0]=(((z(i,h)|0)+32|0)>>>6)+b;h=h+1|0}while((h|0)!=64)}m=0-k|0;pD(e+m|0,j+m|0,f<<2|1|0)|0;oc=l;return}function kg(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(e|0)>1;if(l){h=e;i=0;while(1)if(h>>>0>3){h=h>>>1;i=i+1|0}else break;j=i+2|0}else j=1;k=(e|0)>0;if(k){i=0;h=0;do{m=i;i=i+1|0;h=h+(d[g+i>>0]|0)+(d[g+~m>>0]|0)|0}while((i|0)!=(e|0))}else h=0;j=h+e>>j;if(!((e|0)<32&(f|0)==0)){if(!k)return;i=j&255;h=0;do{rD(b+(z(h,c)|0)|0,i|0,e|0)|0;h=h+1|0}while((h|0)!=(e|0));return}a[b>>0]=((j<<1)+2+(d[g+-1>>0]|0)+(d[g+1>>0]|0)|0)>>>2;if(!l)return;i=(j*3|0)+2|0;h=1;do{m=h;h=h+1|0;a[b+m>>0]=(i+(d[g+h>>0]|0)|0)>>>2}while((h|0)!=(e|0));if(!l)return;i=(j*3|0)+2|0;h=1;do{a[b+(z(h,c)|0)>>0]=(i+(d[g+~h>>0]|0)|0)>>>2;h=h+1|0}while((h|0)!=(e|0));if(!l)return;j=j&255;k=c+1|0;h=e+-1|0;i=0;do{rD(b+(k+(z(i,c)|0))|0,j|0,h|0)|0;i=i+1|0}while((i|0)!=(h|0));return}function lg(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=oc;oc=oc+272|0;n=v;t=n+128|0;if((j|0)>=35)R(117285,117302,913,117317);if((j|0)<=1)R(117342,117302,914,117317);u=c[672+(j<<2)>>2]|0;h=(k|0)<0;if((j|0)>17){if(!h)pD(t|0,m|0,k+1|0)|0;h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=z(u,k)|0;if((h|0)<-32){h=h>>5;while(1){a[t+h>>0]=a[m+(0-((z(h,i)|0)+128>>8))>>0]|0;if((h|0)<-1)h=h+1|0;else break}}}else if((k<<1|0)>(k|0))pD(n+(k+129)|0,m+(k+1)|0,k|0)|0;s=(k|0)>0;if(s){r=n+129|0;h=0;do{n=z(h,e)|0;h=h+1|0;p=z(h,u)|0;o=p>>5;p=p&31;q=32-p|0;if(!p)pD(b+n|0,r+o|0,k|0)|0;else{i=0;do{w=i+o|0;x=z(q,d[t+(w+1)>>0]|0)|0;a[b+(i+n)>>0]=(x+16+(z(p,d[t+(w+2)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(k|0))}}while((h|0)!=(k|0))}if(!((k|0)<32&((j|0)==26&(l|0)==0)&(g^1)&s)){oc=v;return}o=m+1|0;i=1<<f;n=i+255|0;h=0;do{x=((d[m+~h>>0]|0)-(d[m>>0]|0)>>1)+(d[o>>0]|0)|0;a[b+(z(h,e)|0)>>0]=(x|0)<0?0:((x|0)<(i|0)?x:n)&255;h=h+1|0}while((h|0)!=(k|0));oc=v;return}if(!h){h=0;while(1){a[t+h>>0]=a[m+(0-h)>>0]|0;if((h|0)==(k|0))break;else h=h+1|0}}h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=z(u,k)|0;if((h|0)<-32){h=h>>5;while(1){a[t+h>>0]=a[m+((z(h,i)|0)+128>>8)>>0]|0;if((h|0)<-1)h=h+1|0;else break}}}else{i=k<<1;if((i|0)>(k|0)){h=k;do{x=h;h=h+1|0;a[t+h>>0]=a[m+~x>>0]|0}while((h|0)!=(i|0))}}r=(k|0)>0;if(r){p=0;do{q=p;p=p+1|0;s=z(q,e)|0;n=0;do{o=n;n=n+1|0;i=z(n,u)|0;h=i>>5;i=i&31;if(!i)h=a[t+(p+h)>>0]|0;else{h=h+q|0;x=z(32-i|0,d[t+(h+1)>>0]|0)|0;h=(x+16+(z(i,d[t+(h+2)>>0]|0)|0)|0)>>>5&255}a[b+(o+s)>>0]=h}while((n|0)!=(k|0))}while((p|0)!=(k|0))}if(!((k|0)<32&((j|0)==10&(l|0)==0)&(g^1)&r)){oc=v;return}o=m+-1|0;i=1<<f;n=i+255|0;h=0;do{x=h;h=h+1|0;w=((d[m+h>>0]|0)-(d[m>>0]|0)>>1)+(d[o>>0]|0)|0;a[b+x>>0]=(w|0)<0?0:((w|0)<(i|0)?w:n)&255}while((h|0)!=(k|0));oc=v;return}function mg(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=c[b+4>>2]|0;I=c[i+128>>2]|0;c[b+24>>2]=I;s=c[i+136>>2]|0;c[b+28>>2]=s;if(!(c[b+12>>2]|0)){D=1;E=1}else{D=c[I+5016>>2]|0;E=c[I+5020>>2]|0}c[b+296>>2]=D;c[b+300>>2]=E;F=z(c[b+16>>2]|0,D)|0;G=z(c[b+20>>2]|0,E)|0;h=c[I+5040>>2]|0;C=c[I+5056>>2]|0;if(!F){a[b+304>>0]=0;a[b+307>>0]=0;d=0}else d=F;if(!G){a[b+305>>0]=0;a[b+307>>0]=0;a[b+306>>0]=0;g=0}else g=G;H=c[b+8>>2]|0;f=(z(H,D)|0)+d|0;J=I+484|0;if((f|0)>=(c[J>>2]|0))a[b+306>>0]=0;y=d>>h;j=g>>h;A=d+-1>>h;B=f>>h;v=g+-1>>h;g=c[i+156>>2]|0;d=z(g,j)|0;f=c[i+144>>2]|0;w=e[f+((d+y|0)*24|0)>>1]|0;x=b+304|0;h=(a[x>>0]|0)==0;if(h)o=-1;else o=e[f+((d+A|0)*24|0)>>1]|0;r=b+305|0;k=(a[r>>0]|0)==0;if(k)p=-1;else p=e[f+(((z(g,v)|0)+y|0)*24|0)>>1]|0;t=b+306|0;n=(a[t>>0]|0)==0;if(n)q=-1;else q=e[f+(((z(g,v)|0)+B|0)*24|0)>>1]|0;u=b+307|0;m=(a[u>>0]|0)==0;if(m)l=-1;else l=e[f+(((z(g,v)|0)+A|0)*24|0)>>1]|0;d=z(j,C)|0;i=c[s+4384>>2]|0;j=c[i+(d+y<<2)>>2]|0;if(h)h=-1;else h=c[i+(d+A<<2)>>2]|0;if(k)g=-1;else g=c[i+((z(v,C)|0)+y<<2)>>2]|0;if(m)f=-1;else f=c[i+((z(v,C)|0)+A<<2)>>2]|0;if(n)d=-1;else d=c[i+(B+(z(v,C)|0)<<2)>>2]|0;if(!((o|0)==(w|0)&(h|0)==(j|0)))a[x>>0]=0;if(!((p|0)==(w|0)&(g|0)==(j|0)))a[r>>0]=0;if(!((l|0)==(w|0)&(f|0)==(j|0)))a[u>>0]=0;if(!((q|0)==(w|0)&(d|0)==(j|0)))a[t>>0]=0;G=(E+-1-G+(c[I+488>>2]|0)|0)/(E|0)|0;I=H<<1;c[b+308>>2]=(G|0)>(I|0)?I:G;J=(D+-1-F+(c[J>>2]|0)|0)/(D|0)|0;c[b+312>>2]=(J|0)>(I|0)?I:J;c[b+316>>2]=0;J=b+160|0;c[b+292>>2]=J;rD(J+(0-I)|0,0,H<<2|1|0)|0;return}function ng(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;u=b+8|0;if((c[u>>2]|0)>=33)R(117430,117302,587,117437);D=b+4|0;t=c[D>>2]|0;v=c[b+12>>2]|0;E=c[t+4+(v<<2)>>2]|0;t=c[((v|0)==0?t+40|0:t+44|0)>>2]|0;v=b+16|0;w=b+296|0;e=z(c[w>>2]|0,c[v>>2]|0)|0;x=b+20|0;y=b+300|0;r=z(c[y>>2]|0,c[x>>2]|0)|0;A=b+28|0;B=b+24|0;s=c[B>>2]|0;C=c[s+5100>>2]|0;C=(z(r>>C,c[s+5088>>2]|0)|0)+(e>>C)|0;C=c[(c[(c[A>>2]|0)+4396>>2]|0)+(C<<2)>>2]|0;e=c[b+308>>2]|0;a:do if((e|0)>0){m=b+304|0;n=b+316|0;o=b+320|0;p=b+292|0;h=e+-1|0;b:while(1){do if(a[m>>0]|0){s=c[A>>2]|0;i=(c[v>>2]|0)+-1|0;e=z(i,c[w>>2]|0)|0;r=c[B>>2]|0;k=c[r+5100>>2]|0;j=(c[x>>2]|0)+h|0;f=z(j,c[y>>2]|0)|0;k=(z(f>>k,c[r+5088>>2]|0)|0)+(e>>k)|0;k=(c[(c[s+4396>>2]|0)+(k<<2)>>2]|0)<=(C|0);if(!(a[s+20>>0]|0)){if(!k)break}else{l=c[D>>2]|0;s=c[l+172>>2]|0;g=e>>s;e=f>>s;if((g|0)<=-1){e=10;break b}f=c[l+176>>2]|0;if((g|0)>=(f|0)){e=10;break b}if((e|0)<=-1){e=13;break b}if((e|0)>=(c[l+180>>2]|0)){e=13;break b}s=(c[l+164>>2]|0)+(((z(f,e)|0)+g|0)*3|0)|0;if(!(k&((d[s>>0]|d[s+1>>0]<<8)&768)==0))break}if(!(c[n>>2]|0))a[o>>0]=a[E+((z(j,t)|0)+i)>>0]|0;s=~h;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[v>>2]|0)+-1+(z(h+(c[x>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=1-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[v>>2]|0)+-1+(z(h+-1+(c[x>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=2-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[v>>2]|0)+-1+(z(h+-2+(c[x>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=3-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[v>>2]|0)+-1+(z(h+-3+(c[x>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;c[n>>2]=(c[n>>2]|0)+4}while(0);if((h|0)>3)h=h+-4|0;else break a}if((e|0)==10)R(119015,119052,120,119072);else if((e|0)==13)R(119076,119052,121,119072)}while(0);c:do if(a[b+307>>0]|0){s=c[A>>2]|0;j=(c[v>>2]|0)+-1|0;e=z(j,c[w>>2]|0)|0;r=c[B>>2]|0;h=c[r+5100>>2]|0;k=(c[x>>2]|0)+-1|0;f=z(k,c[y>>2]|0)|0;h=(z(f>>h,c[r+5088>>2]|0)|0)+(e>>h)|0;h=(c[(c[s+4396>>2]|0)+(h<<2)>>2]|0)<=(C|0);do if(!(a[s+20>>0]|0)){if(!h)break c}else{i=c[D>>2]|0;s=c[i+172>>2]|0;g=e>>s;e=f>>s;if((g|0)<=-1)R(119015,119052,120,119072);f=c[i+176>>2]|0;if((g|0)>=(f|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)<(c[i+180>>2]|0)){s=(c[i+164>>2]|0)+(((z(f,e)|0)+g|0)*3|0)|0;if(h&((d[s>>0]|d[s+1>>0]<<8)&768)==0)break;else break c}else R(119076,119052,121,119072)}while(0);f=b+316|0;if(!(c[f>>2]|0)){e=E+((z(k,t)|0)+j)|0;a[b+320>>0]=a[e>>0]|0}else e=E+((z(k,t)|0)+j)|0;a[c[b>>2]>>0]=a[e>>0]|0;a[c[b+292>>2]>>0]=1;c[f>>2]=(c[f>>2]|0)+1}while(0);n=b+312|0;e=c[n>>2]|0;if((e|0)<=0)return;o=b+305|0;p=b+306|0;q=b+316|0;r=b+320|0;s=b+292|0;m=0;d:while(1){do if(a[((m|0)<(c[u>>2]|0)?o:p)>>0]|0){k=c[A>>2]|0;l=(c[v>>2]|0)+m|0;f=z(l,c[w>>2]|0)|0;h=c[B>>2]|0;j=c[h+5100>>2]|0;i=(c[x>>2]|0)+-1|0;g=z(i,c[y>>2]|0)|0;j=(z(g>>j,c[h+5088>>2]|0)|0)+(f>>j)|0;j=(c[(c[k+4396>>2]|0)+(j<<2)>>2]|0)<=(C|0);if(!(a[k+20>>0]|0)){if(!j)break}else{k=c[D>>2]|0;F=c[k+172>>2]|0;h=f>>F;f=g>>F;if((h|0)<=-1){e=40;break d}g=c[k+176>>2]|0;if((h|0)>=(g|0)){e=40;break d}if((f|0)<=-1){e=43;break d}if((f|0)>=(c[k+180>>2]|0)){e=43;break d}F=(c[k+164>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;if(!(j&((d[F>>0]|d[F+1>>0]<<8)&768)==0))break}e=z(i,t)|0;if(!(c[q>>2]|0)){e=E+(e+l)|0;a[r>>0]=a[e>>0]|0}else e=E+(l+e)|0;F=m|1;a[(c[b>>2]|0)+F>>0]=a[e>>0]|0;a[(c[s>>2]|0)+F>>0]=1;e=a[E+(F+(c[v>>2]|0)+(z((c[x>>2]|0)+-1|0,t)|0))>>0]|0;F=F+1|0;a[(c[b>>2]|0)+F>>0]=e;a[(c[s>>2]|0)+F>>0]=1;F=a[E+((m|2)+(c[v>>2]|0)+(z((c[x>>2]|0)+-1|0,t)|0))>>0]|0;e=m|3;a[(c[b>>2]|0)+e>>0]=F;a[(c[s>>2]|0)+e>>0]=1;e=m|3;F=a[E+(e+(c[v>>2]|0)+(z((c[x>>2]|0)+-1|0,t)|0))>>0]|0;e=e+1|0;a[(c[b>>2]|0)+e>>0]=F;a[(c[s>>2]|0)+e>>0]=1;c[q>>2]=(c[q>>2]|0)+4;e=c[n>>2]|0}while(0);m=m+4|0;if((m|0)>=(e|0)){e=35;break}}if((e|0)==35)return;else if((e|0)==40)R(119015,119052,120,119072);else if((e|0)==43)R(119076,119052,121,119072)}function og(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=c[b+4>>2]|0;I=c[i+128>>2]|0;c[b+24>>2]=I;s=c[i+136>>2]|0;c[b+28>>2]=s;if(!(c[b+12>>2]|0)){D=1;E=1}else{D=c[I+5016>>2]|0;E=c[I+5020>>2]|0}c[b+296>>2]=D;c[b+300>>2]=E;F=z(c[b+16>>2]|0,D)|0;G=z(c[b+20>>2]|0,E)|0;h=c[I+5040>>2]|0;C=c[I+5056>>2]|0;if(!F){a[b+304>>0]=0;a[b+307>>0]=0;d=0}else d=F;if(!G){a[b+305>>0]=0;a[b+307>>0]=0;a[b+306>>0]=0;g=0}else g=G;H=c[b+8>>2]|0;f=(z(H,D)|0)+d|0;J=I+484|0;if((f|0)>=(c[J>>2]|0))a[b+306>>0]=0;y=d>>h;j=g>>h;A=d+-1>>h;B=f>>h;v=g+-1>>h;g=c[i+156>>2]|0;d=z(g,j)|0;f=c[i+144>>2]|0;w=e[f+((d+y|0)*24|0)>>1]|0;x=b+304|0;h=(a[x>>0]|0)==0;if(h)o=-1;else o=e[f+((d+A|0)*24|0)>>1]|0;r=b+305|0;k=(a[r>>0]|0)==0;if(k)p=-1;else p=e[f+(((z(g,v)|0)+y|0)*24|0)>>1]|0;t=b+306|0;n=(a[t>>0]|0)==0;if(n)q=-1;else q=e[f+(((z(g,v)|0)+B|0)*24|0)>>1]|0;u=b+307|0;m=(a[u>>0]|0)==0;if(m)l=-1;else l=e[f+(((z(g,v)|0)+A|0)*24|0)>>1]|0;d=z(j,C)|0;i=c[s+4384>>2]|0;j=c[i+(d+y<<2)>>2]|0;if(h)h=-1;else h=c[i+(d+A<<2)>>2]|0;if(k)g=-1;else g=c[i+((z(v,C)|0)+y<<2)>>2]|0;if(m)f=-1;else f=c[i+((z(v,C)|0)+A<<2)>>2]|0;if(n)d=-1;else d=c[i+(B+(z(v,C)|0)<<2)>>2]|0;if(!((o|0)==(w|0)&(h|0)==(j|0)))a[x>>0]=0;if(!((p|0)==(w|0)&(g|0)==(j|0)))a[r>>0]=0;if(!((l|0)==(w|0)&(f|0)==(j|0)))a[u>>0]=0;if(!((q|0)==(w|0)&(d|0)==(j|0)))a[t>>0]=0;G=(E+-1-G+(c[I+488>>2]|0)|0)/(E|0)|0;I=H<<1;c[b+308>>2]=(G|0)>(I|0)?I:G;J=(D+-1-F+(c[J>>2]|0)|0)/(D|0)|0;c[b+312>>2]=(J|0)>(I|0)?I:J;c[b+316>>2]=0;J=b+160|0;c[b+292>>2]=J;rD(J+(0-I)|0,0,H<<2|1|0)|0;return}function pg(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;w=e+8|0;if((c[w>>2]|0)>=33)R(117430,117302,587,117437);F=e+4|0;v=c[F>>2]|0;x=c[e+12>>2]|0;G=c[v+4+(x<<2)>>2]|0;v=c[((x|0)==0?v+40|0:v+44|0)>>2]|0;x=e+16|0;f=c[x>>2]|0;y=e+296|0;g=z(c[y>>2]|0,f)|0;A=e+20|0;h=c[A>>2]|0;B=e+300|0;r=z(c[B>>2]|0,h)|0;C=e+28|0;D=e+24|0;s=c[D>>2]|0;E=c[s+5100>>2]|0;E=(z(r>>E,c[s+5088>>2]|0)|0)+(g>>E)|0;E=c[(c[(c[C>>2]|0)+4396>>2]|0)+(E<<2)>>2]|0;g=c[e+308>>2]|0;a:do if((g|0)>0){p=e+304|0;q=e+316|0;r=e+320|0;s=e+292|0;o=g+-1|0;g=h;b:while(1){do if(a[p>>0]|0){n=c[C>>2]|0;k=f+-1|0;h=z(k,c[y>>2]|0)|0;j=c[D>>2]|0;m=c[j+5100>>2]|0;l=g+o|0;i=z(l,c[B>>2]|0)|0;m=(z(i>>m,c[j+5088>>2]|0)|0)+(h>>m)|0;m=(c[(c[n+4396>>2]|0)+(m<<2)>>2]|0)<=(E|0);if(!(a[n+20>>0]|0)){if(!m)break}else{n=c[F>>2]|0;H=c[n+172>>2]|0;j=h>>H;h=i>>H;if((j|0)<=-1){f=10;break b}i=c[n+176>>2]|0;if((j|0)>=(i|0)){f=10;break b}if((h|0)<=-1){f=13;break b}if((h|0)>=(c[n+180>>2]|0)){f=13;break b}H=(c[n+164>>2]|0)+(((z(i,h)|0)+j|0)*3|0)|0;if(!(m&((d[H>>0]|d[H+1>>0]<<8)&768)==0))break}if(!(c[q>>2]|0))b[r>>1]=b[G+((z(l,v)|0)+k<<1)>>1]|0;H=~o;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[x>>2]|0)+-1+(z(o+(c[A>>2]|0)|0,v)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=1-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[x>>2]|0)+-1+(z(o+-1+(c[A>>2]|0)|0,v)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=2-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[x>>2]|0)+-1+(z(o+-2+(c[A>>2]|0)|0,v)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=3-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=c[x>>2]|0;g=c[A>>2]|0;n=b[G+(f+-1+(z(o+-3+g|0,v)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=n;c[q>>2]=(c[q>>2]|0)+4}while(0);if((o|0)>3)o=o+-4|0;else{t=f;u=g;break a}}if((f|0)==10)R(119015,119052,120,119072);else if((f|0)==13)R(119076,119052,121,119072)}else{t=f;u=h}while(0);c:do if(a[e+307>>0]|0){H=c[C>>2]|0;l=t+-1|0;f=z(l,c[y>>2]|0)|0;t=c[D>>2]|0;i=c[t+5100>>2]|0;k=u+-1|0;g=z(k,c[B>>2]|0)|0;i=(z(g>>i,c[t+5088>>2]|0)|0)+(f>>i)|0;i=(c[(c[H+4396>>2]|0)+(i<<2)>>2]|0)<=(E|0);do if(!(a[H+20>>0]|0)){if(!i)break c}else{j=c[F>>2]|0;H=c[j+172>>2]|0;h=f>>H;f=g>>H;if((h|0)<=-1)R(119015,119052,120,119072);g=c[j+176>>2]|0;if((h|0)>=(g|0))R(119015,119052,120,119072);if((f|0)<=-1)R(119076,119052,121,119072);if((f|0)<(c[j+180>>2]|0)){H=(c[j+164>>2]|0)+(((z(g,f)|0)+h|0)*3|0)|0;if(i&((d[H>>0]|d[H+1>>0]<<8)&768)==0)break;else break c}else R(119076,119052,121,119072)}while(0);g=e+316|0;if(!(c[g>>2]|0)){f=G+((z(k,v)|0)+l<<1)|0;b[e+320>>1]=b[f>>1]|0}else f=G+((z(k,v)|0)+l<<1)|0;b[c[e>>2]>>1]=b[f>>1]|0;a[c[e+292>>2]>>0]=1;c[g>>2]=(c[g>>2]|0)+1}while(0);o=e+312|0;f=c[o>>2]|0;if((f|0)<=0)return;p=e+305|0;q=e+306|0;r=e+316|0;s=e+320|0;t=e+292|0;n=0;d:while(1){do if(a[((n|0)<(c[w>>2]|0)?p:q)>>0]|0){H=c[C>>2]|0;m=(c[x>>2]|0)+n|0;g=z(m,c[y>>2]|0)|0;u=c[D>>2]|0;k=c[u+5100>>2]|0;j=(c[A>>2]|0)+-1|0;h=z(j,c[B>>2]|0)|0;k=(z(h>>k,c[u+5088>>2]|0)|0)+(g>>k)|0;k=(c[(c[H+4396>>2]|0)+(k<<2)>>2]|0)<=(E|0);if(!(a[H+20>>0]|0)){if(!k)break}else{l=c[F>>2]|0;H=c[l+172>>2]|0;i=g>>H;g=h>>H;if((i|0)<=-1){f=40;break d}h=c[l+176>>2]|0;if((i|0)>=(h|0)){f=40;break d}if((g|0)<=-1){f=43;break d}if((g|0)>=(c[l+180>>2]|0)){f=43;break d}H=(c[l+164>>2]|0)+(((z(h,g)|0)+i|0)*3|0)|0;if(!(k&((d[H>>0]|d[H+1>>0]<<8)&768)==0))break}f=z(j,v)|0;if(!(c[r>>2]|0)){f=G+(f+m<<1)|0;b[s>>1]=b[f>>1]|0}else f=G+(m+f<<1)|0;H=n|1;b[(c[e>>2]|0)+(H<<1)>>1]=b[f>>1]|0;a[(c[t>>2]|0)+H>>0]=1;f=b[G+(H+(c[x>>2]|0)+(z((c[A>>2]|0)+-1|0,v)|0)<<1)>>1]|0;H=H+1|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;a[(c[t>>2]|0)+H>>0]=1;H=b[G+((n|2)+(c[x>>2]|0)+(z((c[A>>2]|0)+-1|0,v)|0)<<1)>>1]|0;f=n|3;b[(c[e>>2]|0)+(f<<1)>>1]=H;a[(c[t>>2]|0)+f>>0]=1;f=n|3;H=b[G+(f+(c[x>>2]|0)+(z((c[A>>2]|0)+-1|0,v)|0)<<1)>>1]|0;f=f+1|0;b[(c[e>>2]|0)+(f<<1)>>1]=H;a[(c[t>>2]|0)+f>>0]=1;c[r>>2]=(c[r>>2]|0)+4;f=c[o>>2]|0}while(0);n=n+4|0;if((n|0)>=(f|0)){f=35;break}}if((f|0)==35)return;else if((f|0)==40)R(119015,119052,120,119072);else if((f|0)==43)R(119076,119052,121,119072)}function qg(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=oc;oc=oc+272|0;l=m;if((g|0)==4|(i|0)==1){oc=m;return}n=(i|0)<26?26-i|0:i+-26|0;i=(i|0)<10?10-i|0:i+-10|0;i=(n|0)<(i|0)?n:i;n=g+-8|0;switch(n>>>3|n<<29|0){case 0:{if((i|0)<=7){oc=m;return}break}case 1:{if((i|0)<=1){oc=m;return}break}case 3:{if((i|0)<=0){oc=m;return}break}case 7:{oc=m;return}default:R(145674,117302,841,117359)}if((g|0)==32&((h|0)==0&(a[d+4901>>0]|0)!=0)?(j=e[f>>1]|0,n=(e[f+128>>1]|0)+j-(e[f+64>>1]<<1)|0,k=1<<(c[d+512>>2]|0)+-5,(((n|0)<0?0-n|0:n)|0)<(k|0)):0){i=(e[f+-128>>1]|0)+j-(e[f+-64>>1]<<1)|0;i=(((i|0)<0?0-i|0:i)|0)<(k|0)}else i=0;k=l+128|0;l=z(g,-2)|0;b[k+(l<<1)>>1]=b[f+(l<<1)>>1]|0;l=g<<1;b[k+(l<<1)>>1]=b[f+(l<<1)>>1]|0;if(!i){i=1-l|0;if((i|0)<(l|0)){d=i;i=b[f+(i<<1)>>1]|0;do{n=d;d=d+1|0;j=i;i=b[f+(d<<1)>>1]|0;b[k+(n<<1)>>1]=((i&65535)+2+((j&65535)<<1)+(e[f+(n+-1<<1)>>1]|0)|0)>>>2}while((d|0)!=(l|0))}}else{d=b[f>>1]|0;b[k>>1]=d;d=d&65535;h=(e[f+-128>>1]|0)-d|0;j=(e[f+128>>1]|0)-d|0;i=1;do{b[k+(0-i<<1)>>1]=(((z(h,i)|0)+32|0)>>>6)+d;b[k+(i<<1)>>1]=(((z(j,i)|0)+32|0)>>>6)+d;i=i+1|0}while((i|0)!=64)}n=0-l|0;pD(f+(n<<1)|0,k+(n<<1)|0,g<<3|2|0)|0;oc=m;return}function rg(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(d|0)>1;if(l){h=d;i=0;while(1)if(h>>>0>3){h=h>>>1;i=i+1|0}else break;j=i+2|0}else j=1;k=(d|0)>0;if(k){i=0;h=0;do{m=i;i=i+1|0;h=h+(e[g+(i<<1)>>1]|0)+(e[g+(~m<<1)>>1]|0)|0}while((i|0)!=(d|0))}else h=0;j=h+d>>j;if(!((d|0)<32&(f|0)==0)){if(!k)return;j=j&65535;h=0;do{k=z(h,c)|0;i=0;do{b[a+(i+k<<1)>>1]=j;i=i+1|0}while((i|0)!=(d|0));h=h+1|0}while((h|0)!=(d|0));return}b[a>>1]=((j<<1)+2+(e[g+-2>>1]|0)+(e[g+2>>1]|0)|0)>>>2;if(!l)return;i=(j*3|0)+2|0;h=1;do{m=h;h=h+1|0;b[a+(m<<1)>>1]=(i+(e[g+(h<<1)>>1]|0)|0)>>>2}while((h|0)!=(d|0));if(!l)return;i=(j*3|0)+2|0;h=1;do{b[a+((z(h,c)|0)<<1)>>1]=(i+(e[g+(~h<<1)>>1]|0)|0)>>>2;h=h+1|0}while((h|0)!=(d|0));if(!l)return;j=j&65535;i=1;do{k=z(i,c)|0;h=1;do{b[a+(h+k<<1)>>1]=j;h=h+1|0}while((h|0)!=(d|0));i=i+1|0}while((i|0)!=(d|0));return}function sg(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=oc;oc=oc+528|0;n=w;u=n+256|0;if((j|0)>=35)R(117285,117302,913,117317);if((j|0)<=1)R(117342,117302,914,117317);v=c[672+(j<<2)>>2]|0;h=(k|0)<0;if((j|0)>17){if(!h)pD(u|0,m|0,(k<<1)+2|0)|0;h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=z(v,k)|0;if((h|0)<-32){h=h>>5;while(1){b[u+(h<<1)>>1]=b[m+(0-((z(h,i)|0)+128>>8)<<1)>>1]|0;if((h|0)<-1)h=h+1|0;else break}}}else{h=k<<1;if((h|0)>(k|0))pD(n+(k+129<<1)|0,m+(k+1<<1)|0,h|0)|0}t=(k|0)>0;if(t){s=n+258|0;n=k<<1;h=0;do{o=z(h,d)|0;h=h+1|0;q=z(h,v)|0;p=q>>5;q=q&31;r=32-q|0;if(!q)pD(a+(o<<1)|0,s+(p<<1)|0,n|0)|0;else{i=0;do{x=i+p|0;y=z(r,e[u+(x+1<<1)>>1]|0)|0;b[a+(i+o<<1)>>1]=(y+16+(z(q,e[u+(x+2<<1)>>1]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(k|0))}}while((h|0)!=(k|0))}if(!((k|0)<32&((j|0)==26&(l|0)==0)&(g^1)&t)){oc=w;return}o=m+2|0;i=1<<f;n=i+65535|0;h=0;do{y=((e[m+(~h<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[o>>1]|0)|0;b[a+((z(h,d)|0)<<1)>>1]=(y|0)<0?0:((y|0)<(i|0)?y:n)&65535;h=h+1|0}while((h|0)!=(k|0));oc=w;return}if(!h){h=0;while(1){b[u+(h<<1)>>1]=b[m+(0-h<<1)>>1]|0;if((h|0)==(k|0))break;else h=h+1|0}}h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=z(v,k)|0;if((h|0)<-32){h=h>>5;while(1){b[u+(h<<1)>>1]=b[m+((z(h,i)|0)+128>>8<<1)>>1]|0;if((h|0)<-1)h=h+1|0;else break}}}else{i=k<<1;if((i|0)>(k|0)){h=k;do{y=h;h=h+1|0;b[u+(h<<1)>>1]=b[m+(~y<<1)>>1]|0}while((h|0)!=(i|0))}}r=(k|0)>0;if(r){p=0;do{q=p;p=p+1|0;s=z(q,d)|0;n=0;do{o=n;n=n+1|0;i=z(n,v)|0;h=i>>5;i=i&31;if(!i)h=b[u+(p+h<<1)>>1]|0;else{h=h+q|0;y=z(32-i|0,e[u+(h+1<<1)>>1]|0)|0;h=(y+16+(z(i,e[u+(h+2<<1)>>1]|0)|0)|0)>>>5&65535}b[a+(o+s<<1)>>1]=h}while((n|0)!=(k|0))}while((p|0)!=(k|0))}if(!((k|0)<32&((j|0)==10&(l|0)==0)&(g^1)&r)){oc=w;return}o=m+-2|0;i=1<<f;n=i+65535|0;h=0;do{y=h;h=h+1|0;x=((e[m+(h<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[o>>1]|0)|0;b[a+(y<<1)>>1]=(x|0)<0?0:((x|0)<(i|0)?x:n)&65535}while((h|0)!=(k|0));oc=w;return}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;switch(a|0){case 2:break;case 3:{f=2;break}default:return 0}if(((f|0)==2?d|0:0)?(c[e+5012>>2]|0)!=3:0)return 0;return ((b+-6|0)>>>0<9?2:(b+-22|0)>>>0<9&1)|0}function ug(a,b){a=a|0;b=b|0;var d=0;switch(b|0){case 0:{b=1120;d=4;break}case 1:{b=1088;d=4;break}case 2:{b=1056;d=4;break}default:b=0}if((d|0)==4)b=c[b+(a<<2)>>2]|0;return b|0}function vg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;h=(c[976+(g*24|0)+(h<<2)>>2]|0)+((f<<h)+e<<1)|0;h=d[h>>0]|d[h+1>>0]<<8;a[b>>0]=h;a[b+1>>0]=h>>8;return}function wg(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;k=a+18548|0;e=a+18572|0;g=Jf(k,(c[e>>2]|0)+150|0)|0;d=Jf(k,(c[e>>2]|0)+150|0)|0;g=(g|0)==0;if(g)h=0;else h=Jf(k,(c[e>>2]|0)+151|0)|0;j=(d|0)==0;if(j)i=0;else i=Jf(k,(c[e>>2]|0)+151|0)|0;if(g)e=0;else{if(!h)d=-1;else d=Zf(k,1)|0;e=(Nf(k)|0)==0;e=(e?d+2|0:65534-d|0)&65535}if(j){k=0;j=a+18+(f<<2)|0;b[j>>1]=e;f=a+18+(f<<2)+2|0;b[f>>1]=k;return}if(!i)d=-1;else d=Zf(k,1)|0;k=(Nf(k)|0)==0;k=(k?d+2|0:65534-d|0)&65535;j=a+18+(f<<2)|0;b[j>>1]=e;f=a+18+(f<<2)+2|0;b[f>>1]=k;return}function xg(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=oc;oc=oc+80|0;y=B+64|0;t=B;u=B+60|0;x=l+j|0;v=m+k|0;m=c[h+172>>2]|0;l=j>>m;m=k>>m;if((l|0)<=-1)R(119015,119052,120,119072);s=c[h+176>>2]|0;if((l|0)>=(s|0))R(119015,119052,120,119072);if((m|0)<=-1)R(119076,119052,121,119072);if((m|0)>=(c[h+180>>2]|0))R(119076,119052,121,119072);s=(c[h+164>>2]|0)+(((z(s,m)|0)+l|0)*3|0)|0;switch(((d[s>>0]|d[s+1>>0]<<8)&65535)>>>8&3){case 2:{m=a[i+10>>0]|0;A=11;break}case 1:{l=i+10|0;m=a[l>>0]|0;if(m&16)A=11;break}default:{l=i+10|0;m=a[l>>0]|0}}if((A|0)==11){A=(m&255)>>>5&255;c[u>>2]=h;c[y>>2]=c[u>>2];Eg(f,g,y,h,j,k,x,v,n,o,p,q,A,t);A=t+(A*12|0)|0;b[r>>1]=b[A>>1]|0;b[r+2>>1]=b[A+2>>1]|0;b[r+4>>1]=b[A+4>>1]|0;b[r+6>>1]=b[A+6>>1]|0;b[r+8>>1]=b[A+8>>1]|0;b[r+10>>1]=b[A+10>>1]|0;if(a[r>>0]|0?(w=r+1|0,(p+o|0)==12&(a[w>>0]|0)!=0):0){a[r+3>>0]=-1;a[w>>0]=0}oc=B;return}switch(m&3){case 1:case 3:{w=a[i>>0]|0;a[r+2>>0]=w;a[r>>0]=1;A=e[i+4>>1]|0;u=e[i+2>>1]|0;Fg(f,g,h,j,k,n,x,v,o,p,0,w<<24>>24,q,y);w=y+(((d[l>>0]|0)>>>2&1)<<2)|0;w=e[w>>1]|e[w+2>>1]<<16;b[r+4>>1]=w+u;b[r+6>>1]=(w>>>16)+A;break}default:{a[r+2>>0]=-1;a[r>>0]=0}}if(!(a[l>>0]&2)){a[r+3>>0]=-1;a[r+1>>0]=0;oc=B;return}else{w=a[i+1>>0]|0;a[r+3>>0]=w;a[r+1>>0]=1;A=e[i+8>>1]|0;i=e[i+6>>1]|0;Fg(f,g,h,j,k,n,x,v,o,p,1,w<<24>>24,q,y);o=y+(((d[l>>0]|0)>>>3&1)<<2)|0;o=e[o>>1]|e[o+2>>1]<<16;b[r+8>>1]=o+i;b[r+10>>1]=(o>>>16)+A;oc=B;return}}function yg(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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,S=0,T=0,U=0,V=0,W=0,X=0;U=oc;oc=oc+49168|0;L=U+32768|0;T=U;A=U+49152|0;x=j+h|0;u=k+i|0;H=c[f+4>>2]|0;v=c[H+4>>2]|0;M=c[v+5016>>2]|0;N=c[v+5020>>2]|0;I=c[g+40>>2]|0;J=(z(I,u)|0)+x|0;J=(c[g+4>>2]|0)+(J<<d[g+16>>0])|0;O=c[g+44>>2]|0;Q=(z(O,(u|0)/(N|0)|0)|0)+((x|0)/(M|0)|0)|0;P=(c[g+8>>2]|0)+(Q<<d[g+17>>0])|0;Q=(c[g+12>>2]|0)+(Q<<d[g+18>>0])|0;B=a[o>>0]|0;i=B&255;c[A>>2]=i;F=a[o+1>>0]|0;h=F&255;j=A+4|0;c[j>>2]=h;w=v+4996|0;K=c[w>>2]|0;y=v+5004|0;S=c[y>>2]|0;D=H+37|0;G=B<<24>>24==0;if(((!(F<<24>>24==0|(G|(a[D>>0]|0)!=0))?(b[o+4>>1]|0)==(b[o+8>>1]|0):0)?(b[o+6>>1]|0)==(b[o+10>>1]|0):0)?(c[f+920+(a[o+2>>0]<<2)>>2]|0)==(c[f+984+(a[o+3>>0]<<2)>>2]|0):0){c[j>>2]=0;h=0}E=g+324|0;F=e+4|0;t=g+128|0;s=0;j=i;a:while(1){do if(j|0){j=a[o+2+s>>0]|0;if(j<<24>>24>15){C=9;break a}p=tc[c[(c[e>>2]|0)+8>>2]&31](e,c[f+920+(s<<6)+(j<<24>>24<<2)>>2]|0)|0;if(!(c[p+100>>2]|0)){a[E>>0]=3;He(F,1012,0);break}q=o+4+(s<<2)|0;j=b[q>>1]|0;r=o+4+(s<<2)+2|0;i=b[r>>1]|0;k=L+(s<<13)|0;g=c[p+4>>2]|0;if((c[(c[t>>2]|0)+4996>>2]|0)>8)Ag(e,v,j,i,x,u,k,l,g,c[p+40>>2]|0,m,n,K);else Bg(e,v,j,i,x,u,k,l,g,c[p+40>>2]|0,m,n,K);j=b[q>>1]|0;i=b[r>>1]|0;k=T+(s<<13)|0;g=c[p+8>>2]|0;if((c[(c[t>>2]|0)+4996>>2]|0)>8){X=p+44|0;W=(m|0)/(M|0)|0;V=(n|0)/(N|0)|0;Cg(e,v,j,i,x,u,k,l,g,c[X>>2]|0,W,V,S);Cg(e,v,b[q>>1]|0,b[r>>1]|0,x,u,T+16384+(s<<13)|0,l,c[p+12>>2]|0,c[X>>2]|0,W,V,S);break}else{V=p+44|0;W=(m|0)/(M|0)|0;X=(n|0)/(N|0)|0;Dg(e,v,j,i,x,u,k,l,g,c[V>>2]|0,W,X,S);Dg(e,v,b[q>>1]|0,b[r>>1]|0,x,u,T+16384+(s<<13)|0,l,c[p+12>>2]|0,c[V>>2]|0,W,X,S);break}}while(0);j=s+1|0;if(j>>>0>=2)break;s=j;j=c[A+(j<<2)>>2]|0}if((C|0)==9){a[E>>0]=3;He(F,1012,0);oc=U;return}i=14-(c[w>>2]|0)|0;i=(i|0)>2?i:2;A=c[t>>2]|0;u=d[A+5156>>0]|0;q=14-(c[y>>2]|0)|0;q=(q|0)>2?q:2;A=d[A+5157>>0]|0;switch(c[f+24>>2]|0){case 1:{h=B<<24>>24==1&(h|0)==0;if(!(a[D>>0]|0)){if(!h){He(F,1011,0);a[E>>0]=3;oc=U;return}if((K|0)<9)Ic[c[e+176>>2]&15](J,I,L,l,m,n);else Jc[c[e+192>>2]&31](J,I,L,l,m,n,K);j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){X=e+176|0;Ic[c[X>>2]&15](P,O,T,l,j,h);Ic[c[X>>2]&15](Q,O,T+16384|0,l,j,h);oc=U;return}else{X=e+192|0;Jc[c[X>>2]&31](P,O,T,l,j,h,S);Jc[c[X>>2]&31](Q,O,T+16384|0,l,j,h,S);oc=U;return}}else{if(!h){He(F,1011,0);a[E>>0]=3;oc=U;return}X=a[o+2>>0]|0;k=i+(d[f+384>>0]|0)|0;r=q+(d[f+385>>0]|0)|0;j=b[f+450+(X<<1)>>1]|0;h=a[f+514+X>>0]<<u;g=b[f+546+(X<<2)>>1]|0;p=a[f+674+(X<<1)>>0]<<A;q=b[f+546+(X<<2)+2>>1]|0;i=a[f+674+(X<<1)+1>>0]<<A;if((K|0)<9)Lc[c[e+180>>2]&3](J,I,L,l,m,n,j,h,k);else Mc[c[e+196>>2]&7](J,I,L,l,m,n,j,h,k,K);j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){X=e+180|0;Lc[c[X>>2]&3](P,O,T,l,j,h,g,p,r);Lc[c[X>>2]&3](Q,O,T+16384|0,l,j,h,q,i,r);oc=U;return}else{X=e+196|0;Mc[c[X>>2]&7](P,O,T,l,j,h,g,p,r,S);Mc[c[X>>2]&7](Q,O,T+16384|0,l,j,h,q,i,r,S);oc=U;return}}}case 0:{j=B<<24>>24==1;h=(h|0)==1;if(j&h)if(!(a[H+38>>0]|0)){h=L+8192|0;p=e+172|0;if((K|0)<9)Jc[c[p>>2]&31](J,I,L,h,l,m,n);else Kc[c[e+188>>2]&31](J,I,L,h,l,m,n,K);i=T+8192|0;k=T+16384|0;g=T+24576|0;j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){Jc[c[p>>2]&31](P,O,T,i,l,j,h);Jc[c[p>>2]&31](Q,O,k,g,l,j,h);oc=U;return}else{X=e+188|0;Kc[c[X>>2]&31](P,O,T,i,l,j,h,S);Kc[c[X>>2]&31](Q,O,k,g,l,j,h,S);oc=U;return}}else{v=a[o+2>>0]|0;h=a[o+3>>0]|0;p=i+(d[f+384>>0]|0)|0;y=q+(d[f+385>>0]|0)|0;i=b[f+450+(v<<1)>>1]|0;k=a[f+514+v>>0]<<u;g=b[f+482+(h<<1)>>1]|0;j=a[f+530+h>>0]<<u;r=b[f+546+(v<<2)>>1]|0;s=a[f+674+(v<<1)>>0]<<A;t=b[f+546+(v<<2)+2>>1]|0;u=a[f+674+(v<<1)+1>>0]<<A;v=b[f+610+(h<<2)>>1]|0;w=a[f+706+(h<<1)>>0]<<A;x=b[f+610+(h<<2)+2>>1]|0;q=a[f+706+(h<<1)+1>>0]<<A;h=L+8192|0;if((K|0)<9)Nc[c[e+184>>2]&1](J,I,L,h,l,m,n,i,k,g,j,p);else Oc[c[e+200>>2]&1](J,I,L,h,l,m,n,i,k,g,j,p,K);i=T+8192|0;k=T+16384|0;g=T+24576|0;j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){X=e+184|0;Nc[c[X>>2]&1](P,O,T,i,l,j,h,r,s,v,w,y);Nc[c[X>>2]&1](Q,O,k,g,l,j,h,t,u,x,q,y);oc=U;return}else{X=e+200|0;Oc[c[X>>2]&1](P,O,T,i,l,j,h,r,s,v,w,y,S);Oc[c[X>>2]&1](Q,O,k,g,l,j,h,t,u,x,q,y,S);oc=U;return}}if(!(j|h)){He(F,1011,0);a[E>>0]=3;oc=U;return}t=G&1;if(!(a[H+38>>0]|0)){h=L+(t<<13)|0;if((K|0)<9)Ic[c[e+176>>2]&15](J,I,h,l,m,n);else Jc[c[e+192>>2]&31](J,I,h,l,m,n,K);i=T+(t<<13)|0;j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){X=e+176|0;Ic[c[X>>2]&15](P,O,i,l,j,h);Ic[c[X>>2]&15](Q,O,T+16384+(t<<13)|0,l,j,h);oc=U;return}else{X=e+192|0;Jc[c[X>>2]&31](P,O,i,l,j,h,S);Jc[c[X>>2]&31](Q,O,T+16384+(t<<13)|0,l,j,h,S);oc=U;return}}else{k=a[o+2+t>>0]|0;g=i+(d[f+384>>0]|0)|0;s=q+(d[f+385>>0]|0)|0;i=b[f+450+(t<<5)+(k<<1)>>1]|0;j=a[f+514+(t<<4)+k>>0]<<u;p=b[f+546+(t<<6)+(k<<2)>>1]|0;q=a[f+674+(t<<5)+(k<<1)>>0]<<A;r=b[f+546+(t<<6)+(k<<2)+2>>1]|0;k=a[f+674+(t<<5)+(k<<1)+1>>0]<<A;h=L+(t<<13)|0;if((K|0)<9)Lc[c[e+180>>2]&3](J,I,h,l,m,n,i,j,g);else Mc[c[e+196>>2]&7](J,I,h,l,m,n,i,j,g,K);i=T+(t<<13)|0;j=(m|0)/(M|0)|0;h=(n|0)/(N|0)|0;if((S|0)<9){X=e+180|0;Lc[c[X>>2]&3](P,O,i,l,j,h,p,q,s);Lc[c[X>>2]&3](Q,O,T+16384+(t<<13)|0,l,j,h,r,k,s);oc=U;return}else{X=e+196|0;Mc[c[X>>2]&7](P,O,i,l,j,h,p,q,s,S);Mc[c[X>>2]&7](Q,O,T+16384+(t<<13)|0,l,j,h,r,k,s,S);oc=U;return}}}default:R(117550,117583,494,117595)}}function zg(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=d>>2;j=e>>2;k=f>>2;l=g>>2;i=c[a+196>>2]|0;if((g|0)<=3)return;g=a+184|0;if((f|0)<=3)return;d=0;do{a=(z(d+j|0,i)|0)+m|0;e=0;do{f=(c[g>>2]|0)+((a+e|0)*12|0)|0;b[f>>1]=b[h>>1]|0;b[f+2>>1]=b[h+2>>1]|0;b[f+4>>1]=b[h+4>>1]|0;b[f+6>>1]=b[h+6>>1]|0;b[f+8>>1]=b[h+8>>1]|0;b[f+10>>1]=b[h+10>>1]|0;e=e+1|0}while((e|0)<(k|0));d=d+1|0}while((d|0)<(l|0));return}function Ag(a,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var 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;F=oc;oc=oc+20448|0;A=F+11360|0;w=F;x=f&3;y=g&3;E=(f>>2)+h|0;D=(g>>2)+i|0;r=14-(c[d+4996>>2]|0)|0;C=c[d+484>>2]|0;B=c[d+488>>2]|0;if(!((g|f)&3)){if(!((D|E|0)<0|(E+n|0)>(C|0)|(D+o|0)>(B|0))){h=l+((z(D,m)|0)+E<<1)|0;if((p|0)<9){Jc[c[a+220>>2]&31](j,k,h,m,n,o,A);oc=F;return}else{Kc[c[a+300>>2]&31](j,k,h,m,n,o,A,p);oc=F;return}}if((o|0)<=0){oc=F;return}d=C+-1|0;f=B+-1|0;if((n|0)<=0){oc=F;return}h=0;do{g=h+D|0;g=z((g|0)<0?0:(g|0)<(B|0)?g:f,m)|0;q=z(h,k)|0;i=0;do{A=i+E|0;b[j+(i+q<<1)>>1]=(e[l+(((A|0)<0?0:(A|0)<(C|0)?A:d)+g<<1)>>1]|0)<<r;i=i+1|0}while((i|0)!=(n|0));h=h+1|0}while((h|0)!=(o|0));oc=F;return}r=c[3728+(x<<2)>>2]|0;i=c[3744+(x<<2)>>2]|0;s=c[3728+(y<<2)>>2]|0;h=c[3744+(y<<2)>>2]|0;q=0-r|0;if(((D-s|E-r|0)>-1?(E+n+i|0)<(C|0):0)?(D+o+h|0)<(B|0):0){i=m;h=l+((z(D,m)|0)+E<<1)|0}else{d=0-s|0;g=h+o|0;if((g|0)>(d|0)?(t=i+n|0,u=C+-1|0,v=B+-1|0,(t|0)>(q|0)):0)do{i=d+D|0;i=z((i|0)<0?0:(i|0)<(B|0)?i:v,m)|0;f=((d+s|0)*80|0)+r|0;h=q;do{G=h+E|0;b[w+(f+h<<1)>>1]=b[l+(((G|0)<0?0:(G|0)<(C|0)?G:u)+i<<1)>>1]|0;h=h+1|0}while((h|0)!=(t|0));d=d+1|0}while((d|0)!=(g|0));i=80;h=w+((s*80|0)+r<<1)|0}if((p|0)<9)Jc[c[a+220+(x<<4)+(y<<2)>>2]&31](j,k,h,i,n,o,A);else Kc[c[a+300+(x<<4)+(y<<2)>>2]&31](j,k,h,i,n,o,A,p);oc=F;return}function Bg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;G=oc;oc=oc+14768|0;B=G+5680|0;x=G;y=g&3;A=h&3;F=(g>>2)+i|0;E=(h>>2)+j|0;s=14-(c[f+4996>>2]|0)|0;D=c[f+484>>2]|0;C=c[f+488>>2]|0;if(!((h|g)&3)){if(!((E|F|0)<0|(F+o|0)>(D|0)|(E+p|0)>(C|0))){i=m+((z(E,n)|0)+F)|0;if((q|0)<9){Jc[c[e+220>>2]&31](k,l,i,n,o,p,B);oc=G;return}else{Kc[c[e+300>>2]&31](k,l,i,n,o,p,B,q);oc=G;return}}if((p|0)<=0){oc=G;return}f=D+-1|0;g=C+-1|0;if((o|0)<=0){oc=G;return}i=0;do{h=i+E|0;h=z((h|0)<0?0:(h|0)<(C|0)?h:g,n)|0;r=z(i,l)|0;j=0;do{B=j+F|0;b[k+(j+r<<1)>>1]=(d[m+(((B|0)<0?0:(B|0)<(D|0)?B:f)+h)>>0]|0)<<s;j=j+1|0}while((j|0)!=(o|0));i=i+1|0}while((i|0)!=(p|0));oc=G;return}s=c[3728+(y<<2)>>2]|0;j=c[3744+(y<<2)>>2]|0;t=c[3728+(A<<2)>>2]|0;i=c[3744+(A<<2)>>2]|0;r=0-s|0;if(((E-t|F-s|0)>-1?(F+o+j|0)<(D|0):0)?(E+p+i|0)<(C|0):0){j=n;i=m+((z(E,n)|0)+F)|0}else{f=0-t|0;h=i+p|0;if((h|0)>(f|0)?(u=j+o|0,v=D+-1|0,w=C+-1|0,(u|0)>(r|0)):0)do{j=f+E|0;j=z((j|0)<0?0:(j|0)<(C|0)?j:w,n)|0;g=((f+t|0)*80|0)+s|0;i=r;do{H=i+F|0;a[x+(g+i)>>0]=a[m+(((H|0)<0?0:(H|0)<(D|0)?H:v)+j)>>0]|0;i=i+1|0}while((i|0)!=(u|0));f=f+1|0}while((f|0)!=(h|0));j=80;i=x+((t*80|0)+s)|0}if((q|0)<9)Jc[c[e+220+(y<<4)+(A<<2)>>2]&31](k,l,i,j,o,p,B);else Kc[c[e+300+(y<<4)+(A<<2)>>2]&31](k,l,i,j,o,p,B,q);oc=G;return}function Cg(a,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=oc;q=oc=oc+31&-32;oc=oc+19808|0;y=q;q=q+9088|0;w=14-(c[d+5004>>2]|0)|0;x=c[d+5016>>2]|0;B=(c[d+484>>2]|0)/(x|0)|0;v=c[d+5020>>2]|0;A=(c[d+488>>2]|0)/(v|0)|0;f=z(2/(x|0)|0,f)|0;g=z(2/(v|0)|0,g)|0;t=f&7;u=g&7;x=((h|0)/(x|0)|0)+(f>>3)|0;v=((i|0)/(v|0)|0)+(g>>3)|0;if(!((g|f)&7)){if((x|0)>-1?!((v|0)<0|(x+n|0)>(B|0)|(v+o|0)>(A|0)):0){d=l+((z(v,m)|0)+x<<1)|0;if((p|0)<9){Lc[c[a+204>>2]&3](j,k,d,m,n,o,0,0,0);oc=C;return}else{Mc[c[a+284>>2]&7](j,k,d,m,n,o,0,0,0,p);oc=C;return}}if((o|0)<=0){oc=C;return}g=B+-1|0;h=A+-1|0;if((n|0)<=0){oc=C;return}f=0;do{i=f+v|0;i=z((i|0)<0?0:(i|0)<(A|0)?i:h,m)|0;q=z(f,k)|0;d=0;do{p=d+x|0;b[j+(d+q<<1)>>1]=(e[l+(((p|0)<0?0:(p|0)<(B|0)?p:g)+i<<1)>>1]|0)<<w;d=d+1|0}while((d|0)!=(n|0));f=f+1|0}while((f|0)!=(o|0));oc=C;return}if(((x|0)>0?(x+n|0)<=(B+-2|0)&(v|0)>0:0)?(v+o|0)<=(A+-2|0):0){h=l+((z(v,m)|0)+x<<1)|0;d=m}else{if((o|0)>-3?(r=B+-1|0,s=A+-1|0,(n|0)>-3):0){f=-1;while(1){h=f+v|0;h=z((h|0)<0?0:(h|0)<(A|0)?h:s,m)|0;g=(f*80|0)+80|0;d=-1;do{i=d+x|0;w=d;d=d+1|0;b[q+(g+d<<1)>>1]=b[l+(((i|0)<0?0:(i|0)<(B|0)?i:r)+h<<1)>>1]|0}while((w|0)<=(n|0));if((f|0)>(o|0))break;else f=f+1|0}}h=q+162|0;d=80}f=(t|0)!=0;g=(u|0)!=0;do if(f&g)if((p|0)<9){Mc[c[a+216>>2]&7](j,k,h,d,n,o,t,u,y,p);break}else{Mc[c[a+296>>2]&7](j,k,h,d,n,o,t,u,y,p);break}else{if(f)if((p|0)<9){Mc[c[a+208>>2]&7](j,k,h,d,n,o,t,u,y,p);break}else{Mc[c[a+288>>2]&7](j,k,h,d,n,o,t,u,y,p);break}if(!g)R(145674,117583,270,117629);if((p|0)<9){Mc[c[a+212>>2]&7](j,k,h,d,n,o,0,u,y,p);break}else{Mc[c[a+292>>2]&7](j,k,h,d,n,o,0,u,y,p);break}}while(0);oc=C;return}function Dg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;D=oc;r=oc=oc+31&-32;oc=oc+14448|0;A=r;r=r+9088|0;x=14-(c[f+5004>>2]|0)|0;y=c[f+5016>>2]|0;C=(c[f+484>>2]|0)/(y|0)|0;w=c[f+5020>>2]|0;B=(c[f+488>>2]|0)/(w|0)|0;g=z(2/(y|0)|0,g)|0;h=z(2/(w|0)|0,h)|0;u=g&7;v=h&7;y=((i|0)/(y|0)|0)+(g>>3)|0;w=((j|0)/(w|0)|0)+(h>>3)|0;if(!((h|g)&7)){if((y|0)>-1?!((w|0)<0|(y+o|0)>(C|0)|(w+p|0)>(B|0)):0){f=m+((z(w,n)|0)+y)|0;if((q|0)<9){Lc[c[e+204>>2]&3](k,l,f,n,o,p,0,0,0);oc=D;return}else{Mc[c[e+284>>2]&7](k,l,f,n,o,p,0,0,0,q);oc=D;return}}if((p|0)<=0){oc=D;return}h=C+-1|0;i=B+-1|0;if((o|0)<=0){oc=D;return}g=0;do{j=g+w|0;j=z((j|0)<0?0:(j|0)<(B|0)?j:i,n)|0;r=z(g,l)|0;f=0;do{q=f+y|0;b[k+(f+r<<1)>>1]=(d[m+(((q|0)<0?0:(q|0)<(C|0)?q:h)+j)>>0]|0)<<x;f=f+1|0}while((f|0)!=(o|0));g=g+1|0}while((g|0)!=(p|0));oc=D;return}if(((y|0)>0?(y+o|0)<=(C+-2|0)&(w|0)>0:0)?(w+p|0)<=(B+-2|0):0){i=m+((z(w,n)|0)+y)|0;f=n}else{if((p|0)>-3?(s=C+-1|0,t=B+-1|0,(o|0)>-3):0){g=-1;while(1){i=g+w|0;i=z((i|0)<0?0:(i|0)<(B|0)?i:t,n)|0;h=(g*80|0)+80|0;f=-1;do{j=f+y|0;x=f;f=f+1|0;a[r+(h+f)>>0]=a[m+(((j|0)<0?0:(j|0)<(C|0)?j:s)+i)>>0]|0}while((x|0)<=(o|0));if((g|0)>(p|0))break;else g=g+1|0}}i=r+81|0;f=80}g=(u|0)!=0;h=(v|0)!=0;do if(g&h)if((q|0)<9){Mc[c[e+216>>2]&7](k,l,i,f,o,p,u,v,A,q);break}else{Mc[c[e+296>>2]&7](k,l,i,f,o,p,u,v,A,q);break}else{if(g)if((q|0)<9){Mc[c[e+208>>2]&7](k,l,i,f,o,p,u,v,A,q);break}else{Mc[c[e+288>>2]&7](k,l,i,f,o,p,u,v,A,q);break}if(!h)R(145674,117583,270,117629);if((q|0)<9){Mc[c[e+212>>2]&7](k,l,i,f,o,p,0,v,A,q);break}else{Mc[c[e+292>>2]&7](k,l,i,f,o,p,0,v,A,q);break}}while(0);oc=D;return}function Eg(d,e,f,g,h,i,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=oc;w=oc=oc+31&-32;oc=oc+32|0;v=w+8|0;x=w+4|0;A=w;w=w+16|0;z=(l|0)==8?(c[(c[g+136>>2]|0)+4136>>2]|0)>2:0;t=z?l:n;s=z?l:m;r=z?i:k;j=z?h:j;u=p+1|0;c[A>>2]=c[f>>2];c[v>>2]=c[A>>2];k=Kg(v,g,h,i,l,j,r,z&1,s,t,z?0:o,q,u)|0;c[x>>2]=k;if((k|0)>(p|0))f=e+24|0;else{Hg(d,g,e,j,r,s,t,0,0,v,w);n=a[w>>0]|0;m=w+1|0;a[m>>0]=0;f=e+24|0;if(!(c[f>>2]|0)){Hg(d,g,e,j,r,s,t,0,1,v+4|0,m);m=a[m>>0]|0;n=m|n}else m=0;if(n<<24>>24){c[x>>2]=k+1;A=q+(k*12|0)+4|0;z=c[v>>2]|0;b[A>>1]=z;b[A+2>>1]=z>>>16;A=q+(k*12|0)+8|0;z=c[v+4>>2]|0;b[A>>1]=z;b[A+2>>1]=z>>>16;a[q+(k*12|0)>>0]=a[w>>0]|0;a[q+(k*12|0)+1>>0]=m;a[q+(k*12|0)+2>>0]=0;a[q+(k*12|0)+3>>0]=0}}n=c[f>>2]|0;if(!n){Lg(d,e,q,x,u);k=c[f>>2]|0}else k=n;n=c[e+332>>2]|0;if((k|0)!=1){A=c[e+336>>2]|0;n=(n|0)<(A|0)?n:A}m=c[x>>2]|0;if((m|0)>(p|0)){oc=y;return}o=0;j=k;while(1){k=(j|0)==1;A=(o|0)<(n|0)?o&255:0;a[q+(m*12|0)+2>>0]=A;a[q+(m*12|0)+3>>0]=k?-1:A;a[q+(m*12|0)>>0]=1;a[q+(m*12|0)+1>>0]=(k^1)&1;k=q+(m*12|0)+4|0;A=k;b[A>>1]=0;b[A+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;k=m+1|0;if((m|0)>=(p|0))break;o=o+1|0;j=c[f>>2]|0;m=k}c[x>>2]=k;oc=y;return}function Fg(d,e,f,g,h,i,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0;w=oc;v=oc=oc+31&-32;oc=oc+32|0;r=v+18|0;t=v+8|0;u=v+16|0;Gg(d,f,e,g,h,i,j,k,l,m,n,o,p,r,t);h=(a[r>>0]|0)==0;if(h){Hg(d,f,e,j,k,l,m,o,n,v,u);p=0;g=a[r+1>>0]|0}else{g=a[r+1>>0]|0;do if(!(g<<24>>24))s=6;else{if((b[t>>1]|0)==(b[t+4>>1]|0)?(b[t+2>>1]|0)==(b[t+6>>1]|0):0){s=6;break}a[u>>0]=0}while(0);if((s|0)==6)Hg(d,f,e,j,k,l,m,o,n,v,u);p=c[t>>2]|0;b[q>>1]=p;b[q+2>>1]=p>>>16;p=1}do if(g<<24>>24){if((!h?(b[t>>1]|0)==(b[t+4>>1]|0):0)?(b[t+2>>1]|0)==(b[t+6>>1]|0):0)break;s=q+(p<<2)|0;t=c[t+4>>2]|0;b[s>>1]=t;b[s+2>>1]=t>>>16;p=p+1|0}while(0);if(a[u>>0]|0){u=q+(p<<2)|0;v=c[v>>2]|0;b[u>>1]=v;b[u+2>>1]=v>>>16;p=p+1|0}if((p|0)<2){rD(q+(p<<2)|0,0,8-(p<<2)|0)|0;while(1){g=p+1|0;if((p|0)<1)p=g;else{p=g;break}}}if((p|0)==2){oc=w;return}else R(117639,117583,2018,117655)}function Gg(f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var 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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=oc;ba=oc=oc+31&-32;oc=oc+48|0;I=ba+32|0;J=ba+24|0;L=ba+44|0;$=ba+12|0;aa=ba;ba=ba+40|0;ca=s+1|0;a[ca>>0]=0;T=l+-1|0;c[I>>2]=T;x=o+m|0;c[J>>2]=x;c[I+4>>2]=T;D=x+-1|0;c[J+4>>2]=D;a[s>>0]=0;b[t>>1]=0;N=t+2|0;b[N>>1]=0;v=Jg(g,i,j,k,l,m,n,o,r,T,x)|0;a[L>>0]=v&1;C=Jg(g,i,j,k,l,m,n,o,r,T,D)|0;a[L+1>>0]=C&1;U=v|C;da=h+920+(p<<6)+(q<<2)|0;u=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if(!u){oc=ga;return}V=c[u+96>>2]|0;E=g+172|0;F=g+176|0;G=g+180|0;H=g+164|0;W=1-p|0;X=g+192|0;Y=g+196|0;Z=g+200|0;_=g+184|0;do if(v?(a[s>>0]|0)==0:0){v=c[E>>2]|0;u=T>>v;v=x>>v;if((u|0)<=-1)R(119015,119052,120,119072);w=c[F>>2]|0;if((u|0)>=(w|0))R(119015,119052,120,119072);if((v|0)<=-1)R(119076,119052,121,119072);if((v|0)>=(c[G>>2]|0))R(119076,119052,121,119072);S=(c[H>>2]|0)+(((z(w,v)|0)+u|0)*3|0)|0;if((d[S>>0]|d[S+1>>0]<<8)&768){u=c[X>>2]|0;w=T>>u;u=x>>u;if((w|0)<=-1)R(119015,119052,120,119072);v=c[Y>>2]|0;if((w|0)>=(v|0))R(119015,119052,120,119072);if((u|0)<=-1)R(119076,119052,121,119072);if((u|0)>=(c[Z>>2]|0))R(119076,119052,121,119072);A=c[_>>2]|0;w=(z(v,u)|0)+w|0;x=A+(w*12|0)+p|0;if(!(a[x>>0]|0))u=0;else u=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(w*12|0)+2+p>>0]<<2)>>2]|0)|0;y=A+(w*12|0)+W|0;if(!(a[y>>0]|0))v=0;else v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(w*12|0)+2+W>>0]<<2)>>2]|0)|0;if((u|0)!=0&(a[x>>0]|0)!=0?(c[u+96>>2]|0)==(V|0):0){a[s>>0]=1;B=A+(w*12|0)+4+(p<<2)|0;B=e[B>>1]|e[B+2>>1]<<16;b[t>>1]=B;b[t+2>>1]=B>>>16;B=a[A+(w*12|0)+2+p>>0]|0;break}if((v|0)!=0&(a[y>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[s>>0]=1;B=A+(w*12|0)+4+(W<<2)|0;B=e[B>>1]|e[B+2>>1]<<16;b[t>>1]=B;b[t+2>>1]=B>>>16;B=a[A+(w*12|0)+2+W>>0]|0}else B=-1}else B=-1}else B=-1;while(0);do if(C?(a[s>>0]|0)==0:0){v=c[E>>2]|0;u=T>>v;v=D>>v;if((u|0)<=-1)R(119015,119052,120,119072);w=c[F>>2]|0;if((u|0)>=(w|0))R(119015,119052,120,119072);if((v|0)<=-1)R(119076,119052,121,119072);if((v|0)>=(c[G>>2]|0))R(119076,119052,121,119072);S=(c[H>>2]|0)+(((z(w,v)|0)+u|0)*3|0)|0;if((d[S>>0]|d[S+1>>0]<<8)&768){u=c[X>>2]|0;w=T>>u;u=D>>u;if((w|0)<=-1)R(119015,119052,120,119072);v=c[Y>>2]|0;if((w|0)>=(v|0))R(119015,119052,120,119072);if((u|0)<=-1)R(119076,119052,121,119072);if((u|0)>=(c[Z>>2]|0))R(119076,119052,121,119072);A=c[_>>2]|0;w=(z(v,u)|0)+w|0;x=A+(w*12|0)+p|0;if(!(a[x>>0]|0))u=0;else u=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(w*12|0)+2+p>>0]<<2)>>2]|0)|0;y=A+(w*12|0)+W|0;if(!(a[y>>0]|0))v=0;else v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(w*12|0)+2+W>>0]<<2)>>2]|0)|0;if((u|0)!=0&(a[x>>0]|0)!=0?(c[u+96>>2]|0)==(V|0):0){a[s>>0]=1;u=A+(w*12|0)+4+(p<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[t>>1]=u;b[t+2>>1]=u>>>16;u=a[A+(w*12|0)+2+p>>0]|0;break}if((v|0)!=0&(a[y>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[s>>0]=1;u=A+(w*12|0)+4+(W<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[t>>1]=u;b[t+2>>1]=u>>>16;u=a[A+(w*12|0)+2+W>>0]|0}else u=B}else u=B}else u=B;while(0);O=h+1304+(p<<4)+q|0;P=g+96|0;Q=f+4|0;S=g+324|0;B=0;a:while(1){if(a[s>>0]|0){u=59;break}do if(a[L+B>>0]|0){v=c[I+(B<<2)>>2]|0;A=c[J+(B<<2)>>2]|0;x=c[E>>2]|0;w=v>>x;x=A>>x;if((w|0)<=-1){u=32;break a}y=c[F>>2]|0;if((w|0)>=(y|0)){u=32;break a}if((x|0)<=-1){u=35;break a}if((x|0)>=(c[G>>2]|0)){u=35;break a}q=(c[H>>2]|0)+(((z(y,x)|0)+w|0)*3|0)|0;if((d[q>>0]|d[q+1>>0]<<8)&768){q=c[X>>2]|0;x=v>>q;v=A>>q;if((x|0)<=-1){u=39;break a}w=c[Y>>2]|0;if((x|0)>=(w|0)){u=39;break a}if((v|0)<=-1){u=42;break a}if((v|0)>=(c[Z>>2]|0)){u=42;break a}y=c[_>>2]|0;v=(z(w,v)|0)+x|0;if((a[y+(v*12|0)+p>>0]|0)==1?(K=y+(v*12|0)+2+p|0,(a[O>>0]|0)==(a[(a[K>>0]|0)+(h+1304+(p<<4))>>0]|0)):0){a[s>>0]=1;w=y+(v*12|0)+4+(p<<2)|0;w=e[w>>1]|e[w+2>>1]<<16;b[t>>1]=w;b[t+2>>1]=w>>>16;w=p;u=a[K>>0]|0;break}if((a[y+(v*12|0)+W>>0]|0)==1?(M=y+(v*12|0)+2+W|0,(a[O>>0]|0)==(a[(a[M>>0]|0)+(h+1304+(W<<4))>>0]|0)):0){a[s>>0]=1;w=y+(v*12|0)+4+(W<<2)|0;w=e[w>>1]|e[w+2>>1]<<16;b[t>>1]=w;b[t+2>>1]=w>>>16;w=W;u=a[M>>0]|0}else w=-1}else w=-1}else w=-1;while(0);do if((a[s>>0]|0)==1){if((u|0)<0){u=58;break a}if((w|0)<=-1){u=52;break a}v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(w<<6)+(u<<2)>>2]|0)|0;tc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if(!((a[O>>0]|a[h+1304+(w<<4)+u>>0])<<24>>24)){x=c[P>>2]|0;w=x-(c[v+96>>2]|0)|0;x=x-V|0;v=e[t>>1]|e[t+2>>1]<<16;w=(w|0)<127?w:127;w=(w|0)>-128?w:-128;x=(x|0)<127?x:127;if(!w){He(Q,1008,0);a[S>>0]=3;break}else{q=z(((((w|0)<0?0-w|0:w)>>1)+16384|0)/(w|0)|0,(x|0)>-128?x:-128)|0;q=(q|0)<-262176?-4096:(q|0)>262111?4095:q+32>>6;D=z(q,v<<16>>16)|0;C=(D|0)<0;D=z((C?0-D|0:D)+127>>8,C?-1:(D|0)!=0&1)|0;D=(D|0)<32767?D:32767;b[t>>1]=(D|0)>-32768?D:-32768;q=z(q,v>>16)|0;D=(q|0)<0;q=z((D?0-q|0:q)+127>>8,D?-1:(q|0)!=0&1)|0;q=(q|0)<32767?q:32767;b[N>>1]=(q|0)>-32768?q:-32768;break}}}while(0);if((B+1|0)>>>0<2)B=1;else{u=59;break}}if((u|0)==32)R(119015,119052,120,119072);else if((u|0)==35)R(119076,119052,121,119072);else if((u|0)==39)R(119015,119052,120,119072);else if((u|0)==42)R(119076,119052,121,119072);else if((u|0)==52)R(117746,117583,1773,117760);else if((u|0)==58){a[ca>>0]=0;a[s>>0]=0;oc=ga;return}else if((u|0)==59){u=n+l|0;c[$>>2]=u;C=m+-1|0;c[aa>>2]=C;B=u+-1|0;c[$+4>>2]=B;c[aa+4>>2]=C;c[$+8>>2]=T;c[aa+8>>2]=C;a[ca>>0]=0;D=t+4|0;b[D>>1]=0;q=t+6|0;b[q>>1]=0;N=Jg(g,i,j,k,l,m,n,o,r,u,C)|0;a[ba>>0]=N&1;do if(N?(a[ca>>0]|0)==0:0){v=c[X>>2]|0;u=u>>v;v=C>>v;if((u|0)<=-1)R(119015,119052,120,119072);w=c[Y>>2]|0;if((u|0)>=(w|0))R(119015,119052,120,119072);if((v|0)<=-1)R(119076,119052,121,119072);if((v|0)>=(c[Z>>2]|0))R(119076,119052,121,119072);A=c[_>>2]|0;w=(z(w,v)|0)+u|0;x=A+(w*12|0)+p|0;if(!(a[x>>0]|0))v=0;else v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(w*12|0)+2+p>>0]<<2)>>2]|0)|0;y=A+(w*12|0)+W|0;if(!(a[y>>0]|0))u=0;else u=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(w*12|0)+2+W>>0]<<2)>>2]|0)|0;if((v|0)!=0&(a[x>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=A+(w*12|0)+4+(p<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[A+(w*12|0)+2+p>>0]|0;break}if((u|0)!=0&(a[y>>0]|0)!=0?(c[u+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=A+(w*12|0)+4+(W<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[A+(w*12|0)+2+W>>0]|0}else u=-1}else u=-1;while(0);N=Jg(g,i,j,k,l,m,n,o,r,B,C)|0;a[ba+1>>0]=N&1;do if(N?(a[ca>>0]|0)==0:0){w=c[X>>2]|0;v=B>>w;w=C>>w;if((v|0)<=-1)R(119015,119052,120,119072);x=c[Y>>2]|0;if((v|0)>=(x|0))R(119015,119052,120,119072);if((w|0)<=-1)R(119076,119052,121,119072);if((w|0)>=(c[Z>>2]|0))R(119076,119052,121,119072);B=c[_>>2]|0;x=(z(x,w)|0)+v|0;y=B+(x*12|0)+p|0;if(!(a[y>>0]|0))w=0;else w=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[B+(x*12|0)+2+p>>0]<<2)>>2]|0)|0;A=B+(x*12|0)+W|0;if(!(a[A>>0]|0))v=0;else v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[B+(x*12|0)+2+W>>0]<<2)>>2]|0)|0;if((w|0)!=0&(a[y>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=B+(x*12|0)+4+(p<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[B+(x*12|0)+2+p>>0]|0;break}if((v|0)!=0&(a[A>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=B+(x*12|0)+4+(W<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[B+(x*12|0)+2+W>>0]|0}}while(0);o=Jg(g,i,j,k,l,m,n,o,r,T,C)|0;a[ba+2>>0]=o&1;do if(o?(a[ca>>0]|0)==0:0){v=c[X>>2]|0;x=T>>v;v=C>>v;if((x|0)<=-1)R(119015,119052,120,119072);w=c[Y>>2]|0;if((x|0)>=(w|0))R(119015,119052,120,119072);if((v|0)<=-1)R(119076,119052,121,119072);if((v|0)>=(c[Z>>2]|0))R(119076,119052,121,119072);B=c[_>>2]|0;x=(z(w,v)|0)+x|0;y=B+(x*12|0)+p|0;if(!(a[y>>0]|0))w=0;else w=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[B+(x*12|0)+2+p>>0]<<2)>>2]|0)|0;A=B+(x*12|0)+W|0;if(!(a[A>>0]|0))v=0;else v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[B+(x*12|0)+2+W>>0]<<2)>>2]|0)|0;if((w|0)!=0&(a[y>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=B+(x*12|0)+4+(p<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[B+(x*12|0)+2+p>>0]|0;break}if((v|0)!=0&(a[A>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[ca>>0]=1;u=B+(x*12|0)+4+(W<<2)|0;u=e[u>>1]|e[u+2>>1]<<16;b[D>>1]=u;b[D+2>>1]=u>>>16;u=a[B+(x*12|0)+2+W>>0]|0}}while(0);b:do if(!U){if(a[ca>>0]|0){a[s>>0]=1;U=e[D>>1]|e[D+2>>1]<<16;b[t>>1]=U;b[t+2>>1]=U>>>16}a[ca>>0]=0;B=g+112|0;A=0;y=u;c:while(1){do if(a[ba+A>>0]|0){v=c[X>>2]|0;u=c[$+(A<<2)>>2]>>v;v=c[aa+(A<<2)>>2]>>v;if((u|0)<=-1){u=84;break c}w=c[Y>>2]|0;if((u|0)>=(w|0)){u=84;break c}if((v|0)<=-1){u=87;break c}if((v|0)>=(c[Z>>2]|0)){u=87;break c}x=c[_>>2]|0;u=(z(w,v)|0)+u|0;if((a[x+(u*12|0)+p>>0]|0)==1?(ea=x+(u*12|0)+2+p|0,(a[O>>0]|0)==(a[(a[ea>>0]|0)+(h+1304+(p<<4))>>0]|0)):0){a[ca>>0]=1;w=x+(u*12|0)+4+(p<<2)|0;w=e[w>>1]|e[w+2>>1]<<16;b[D>>1]=w;b[D+2>>1]=w>>>16;w=p;y=a[ea>>0]|0;break}if((a[x+(u*12|0)+W>>0]|0)==1?(fa=x+(u*12|0)+2+W|0,(a[O>>0]|0)==(a[(a[fa>>0]|0)+(h+1304+(W<<4))>>0]|0)):0){a[ca>>0]=1;w=x+(u*12|0)+4+(W<<2)|0;w=e[w>>1]|e[w+2>>1]<<16;b[D>>1]=w;b[D+2>>1]=w>>>16;w=W;y=a[fa>>0]|0}else w=-1}else w=-1;while(0);do if((a[ca>>0]|0)==1){if((y|0)<0){u=104;break c}if((w|0)<=-1){u=97;break c}u=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(w<<6)+(y<<2)>>2]|0)|0;v=tc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if((u|0)==0|(v|0)==0){He((c[B>>2]|0)+4|0,1012,0);a[S>>0]=3;break}u=c[u+96>>2]|0;if(!((u|0)==(c[v+96>>2]|0)?1:(a[h+1304+(w<<4)+y>>0]|a[O>>0])<<24>>24!=0)){w=c[P>>2]|0;v=w-u|0;w=w-V|0;u=e[D>>1]|e[D+2>>1]<<16;v=(v|0)<127?v:127;v=(v|0)>-128?v:-128;w=(w|0)<127?w:127;if(!v){He(Q,1008,0);a[S>>0]=3;break}else{U=z(((((v|0)<0?0-v|0:v)>>1)+16384|0)/(v|0)|0,(w|0)>-128?w:-128)|0;U=(U|0)<-262176?-4096:(U|0)>262111?4095:U+32>>6;t=z(U,u<<16>>16)|0;g=(t|0)<0;t=z((g?0-t|0:t)+127>>8,g?-1:(t|0)!=0&1)|0;t=(t|0)<32767?t:32767;b[D>>1]=(t|0)>-32768?t:-32768;U=z(U,u>>16)|0;t=(U|0)<0;U=z((t?0-U|0:U)+127>>8,t?-1:(U|0)!=0&1)|0;U=(U|0)<32767?U:32767;b[q>>1]=(U|0)>-32768?U:-32768;break}}}while(0);A=A+1|0;if(A>>>0>=3)break b;if(a[ca>>0]|0)break b}if((u|0)==84)R(119015,119052,120,119072);else if((u|0)==87)R(119076,119052,121,119072);else if((u|0)==97)R(117746,117583,1914,117760);else if((u|0)==104){a[ca>>0]=0;a[s>>0]=0;break}}while(0);oc=ga;return}}function Hg(d,e,f,g,h,i,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;if(!(a[f+328>>0]|0)){b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0;return}r=e+128|0;s=c[(c[r>>2]|0)+5040>>2]|0;if((c[f+24>>2]|0)==0?(a[f+376>>0]|0)==0:0)o=f+984+(c[f+380>>2]<<2)|0;else o=f+920+(c[f+380>>2]<<2)|0;o=c[o>>2]|0;if(!(tc[c[(c[d>>2]|0)+12>>2]&31](d,o)|0)){b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0;He(d+4|0,1012,0);return}p=j+h|0;q=i+g|0;if(((h>>s|0)==(p>>s|0)?(t=c[r>>2]|0,(q|0)<(c[t+484>>2]|0)):0)?(p|0)<(c[t+488>>2]|0):0){Ig(d,e,f,0,0,o,q&-16,p&-16,k,l,m,n);if(a[n>>0]|0)return}else{b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0}Ig(d,e,f,0,0,o,(i>>1)+g&-16,(j>>1)+h&-16,k,l,m,n);return}function Ig(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0;if(!(tc[c[(c[f>>2]|0)+12>>2]&31](f,k)|0))R(117690,117583,1116,117713);v=tc[c[(c[f>>2]|0)+8>>2]&31](f,k)|0;if((c[v+24>>2]|0)>(l|0)?(c[v+28>>2]|0)>(m|0):0){j=c[v+172>>2]|0;i=l>>j;j=m>>j;if((i|0)<=-1)R(119015,119052,120,119072);k=c[v+176>>2]|0;if((i|0)>=(k|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)>=(c[v+180>>2]|0))R(119076,119052,121,119072);u=(c[v+164>>2]|0)+(((z(k,j)|0)+i|0)*3|0)|0;if(!((d[u>>0]|d[u+1>>0]<<8)&768)){b[p>>1]=0;b[p+2>>1]=0;a[q>>0]=0;return}if((a[v+324>>0]|0)==1){b[p>>1]=0;b[p+2>>1]=0;a[q>>0]=0;return}j=c[v+192>>2]|0;i=l>>j;j=m>>j;if((i|0)<=-1)R(119015,119052,120,119072);k=c[v+196>>2]|0;if((i|0)>=(k|0))R(119015,119052,120,119072);if((j|0)<=-1)R(119076,119052,121,119072);if((j|0)>=(c[v+200>>2]|0))R(119076,119052,121,119072);u=c[v+184>>2]|0;s=(z(k,j)|0)+i|0;do if(a[u+(s*12|0)>>0]|0){if(!(a[u+(s*12|0)+1>>0]|0)){j=u+(s*12|0)+4|0;t=0;i=u+(s*12|0)+2|0;break}r=c[g+96>>2]|0;k=h+336|0;if((c[k>>2]|0)>0){j=0;do{i=(c[(tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+984+(j<<2)>>2]|0)|0)+96>>2]|0)<=(r|0);j=j+1|0}while(i&(j|0)<(c[k>>2]|0))}else i=1;k=h+332|0;if(i&(c[k>>2]|0)>0){j=0;do{i=(c[(tc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(j<<2)>>2]|0)|0)+96>>2]|0)<=(r|0);j=j+1|0}while(i&(j|0)<(c[k>>2]|0))}if(i){j=u+(s*12|0)+4+(o<<2)|0;t=o;i=u+(s*12|0)+2+o|0;break}else{i=a[h+376>>0]|0;j=u+(s*12|0)+4+(i<<2)|0;t=i;i=u+(s*12|0)+2+i|0;break}}else{j=u+(s*12|0)+8|0;t=1;i=u+(s*12|0)+3|0}while(0);r=a[i>>0]|0;s=e[j>>1]|e[j+2>>1]<<16;i=c[v+152>>2]|0;k=l>>i;i=m>>i;if((k|0)<=-1)R(119015,119052,120,119072);j=c[v+156>>2]|0;if((k|0)>=(j|0))R(119015,119052,120,119072);if((i|0)<=-1)R(119076,119052,121,119072);if((i|0)>=(c[v+160>>2]|0))R(119076,119052,121,119072);i=e[(c[v+144>>2]|0)+(((z(j,i)|0)+k|0)*24|0)+2>>1]|0;i=c[(c[v+52>>2]|0)+(i<<2)>>2]|0;k=h+1304+(o<<4)+n|0;if((a[k>>0]|0)!=(a[i+1304+(t<<4)+r>>0]|0)){a[q>>0]=0;b[p>>1]=0;b[p+2>>1]=0;return}a[q>>0]=1;j=(c[v+96>>2]|0)-(c[i+1048+(t<<6)+(r<<2)>>2]|0)|0;i=(c[g+96>>2]|0)-(c[h+1048+(o<<6)+(n<<2)>>2]|0)|0;if((a[k>>0]|0)!=0|(j|0)==(i|0)){b[p>>1]=s;b[p+2>>1]=s>>>16;return}j=(j|0)<127?j:127;j=(j|0)>-128?j:-128;i=(i|0)<127?i:127;if(!j){b[p>>1]=s;b[p+2>>1]=s>>>16;He(f+4|0,1008,0);a[g+324>>0]=3;return}else{g=z(((((j|0)<0?0-j|0:j)>>1)+16384|0)/(j|0)|0,(i|0)>-128?i:-128)|0;g=(g|0)<-262176?-4096:(g|0)>262111?4095:g+32>>6;f=z(g,s<<16>>16)|0;o=(f|0)<0;f=z((o?0-f|0:f)+127>>8,o?-1:(f|0)!=0&1)|0;f=(f|0)<32767?f:32767;b[p>>1]=(f|0)>-32768?f:-32768;g=z(g,s>>16)|0;f=(g|0)<0;g=z((f?0-g|0:g)+127>>8,f?-1:(g|0)!=0&1)|0;g=(g|0)<32767?g:32767;b[p+2>>1]=(g|0)>-32768?g:-32768;return}}He(f+4|0,1026,0);a[q>>0]=0;return}function Jg(a,e,f,g,h,i,j,k,l,m,n){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((g+f|0)>(n|0)&(((g+e|0)<=(m|0)|(e|0)>(m|0)|(f|0)>(n|0))^1)){if((j<<1|0)==(g|0)?!((j+e|0)<=(m|0)|((l|0)!=1|(k<<1|0)!=(g|0)|(k+f|0)>(n|0))):0)return 0}else{if((n|m|0)<0)return 0;k=c[a+128>>2]|0;if((c[k+484>>2]|0)<=(m|0))return 0;if((c[k+488>>2]|0)<=(n|0))return 0;l=c[a+136>>2]|0;j=c[k+5100>>2]|0;g=c[k+5088>>2]|0;e=(z(n>>j,g)|0)+(m>>j)|0;f=c[l+4396>>2]|0;if((c[f+(e<<2)>>2]|0)>(c[f+((z(i>>j,g)|0)+(h>>j)<<2)>>2]|0))return 0;g=c[k+5040>>2]|0;j=h>>g;e=i>>g;f=m>>g;g=n>>g;i=c[a+156>>2]|0;o=(z(i,e)|0)+j|0;h=c[a+144>>2]|0;if((b[h+(o*24|0)>>1]|0)!=(b[h+(((z(i,g)|0)+f|0)*24|0)>>1]|0))return 0;o=c[k+5056>>2]|0;h=(z(o,e)|0)+j|0;i=c[l+4384>>2]|0;if((c[i+(h<<2)>>2]|0)!=(c[i+((z(o,g)|0)+f<<2)>>2]|0))return 0}e=c[a+172>>2]|0;g=m>>e;e=n>>e;if((g|0)<=-1)R(119015,117798,120,119072);f=c[a+176>>2]|0;if((g|0)>=(f|0))R(119015,117798,120,119072);if((e|0)<=-1)R(119076,117798,121,119072);if((e|0)<(c[a+180>>2]|0)){o=(c[a+164>>2]|0)+(((z(f,e)|0)+g|0)*3|0)|0;return ((d[o>>0]|d[o+1>>0]<<8)&768)!=0|0}else R(119076,117798,121,119072);return 0} |
| | | function fj(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;q=b+128|0;f=c[q>>2]|0;if(!(a[f+4703>>0]|0))return;E=b+40|0;F=b+28|0;G=z(c[F>>2]|0,c[E>>2]|0)|0;G=z(G,((c[f+4996>>2]|0)+7|0)/8|0)|0;r=b+44|0;s=b+36|0;H=z(c[s>>2]|0,c[r>>2]|0)|0;H=z(H,((c[f+5004>>2]|0)+7|0)/8|0)|0;H=(G|0)>(H|0)?G:H;H=wB((H|0)>-1?H:-1)|0;G=(c[f+5012>>2]|0)==0?1:3;t=f+5064|0;u=f+5056|0;v=b+156|0;w=b+144|0;x=b+52|0;y=b+56|0;A=f+5040|0;B=b+4|0;C=f+5016|0;D=f+5020|0;d=0;a:while(1){o=(d|0)==0;n=o?E:r;m=c[n>>2]|0;p=b+4+(d<<2)|0;l=z(c[(o?F:s)>>2]|0,m)|0;pD(H|0,c[p>>2]|0,z(l,((c[(o?f+4996|0:f+5004|0)>>2]|0)+7|0)/8|0)|0)|0;if((c[t>>2]|0)>0){l=0;f=c[u>>2]|0;do{if((f|0)>0){k=0;do{f=(z(c[v>>2]|0,l)|0)+k|0;f=e[(c[w>>2]|0)+(f*24|0)+2>>1]|0;g=c[x>>2]|0;if((c[y>>2]|0)-g>>2>>>0<=f>>>0){d=23;break a}j=c[g+(f<<2)>>2]|0;if(!j){d=23;break a}do if(o){if(a[j+329>>0]|0){g=1<<c[A>>2];h=c[B>>2]|0;f=c[E>>2]|0;if((c[(c[q>>2]|0)+4996>>2]|0)>8){sf(b,k,l,j,0,g,g,H,m,h,f);break}else{tf(b,k,l,j,0,g,g,H,m,h,f);break}}}else if(a[j+330>>0]|0){h=1<<c[A>>2];g=(h|0)/(c[C>>2]|0)|0;h=(h|0)/(c[D>>2]|0)|0;i=c[p>>2]|0;f=c[n>>2]|0;if((c[(c[q>>2]|0)+5004>>2]|0)>8){sf(b,k,l,j,d,g,h,H,m,i,f);break}else{tf(b,k,l,j,d,g,h,H,m,i,f);break}}while(0);k=k+1|0;f=c[u>>2]|0}while((k|0)<(f|0))}l=l+1|0}while((l|0)<(c[t>>2]|0))}d=d+1|0;if(d>>>0>=G>>>0){d=22;break}f=c[q>>2]|0}if((d|0)==22){yB(H);return}else if((d|0)==23)return}function gj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;Z=oc;K=oc=oc+31&-32;oc=oc+208|0;Y=K+40|0;X=K+24|0;W=K+16|0;y=K+56|0;if((c[f>>2]|0)!=132){Y=0;oc=Z;return Y|0}if(!(a[(c[g+112>>2]|0)+512>>0]|0)){Y=0;oc=Z;return Y|0}if(!(a[g+104>>0]|0)){Y=0;oc=Z;return Y|0}v=g+128|0;w=(c[(c[v>>2]|0)+476>>2]|0)==0?1:3;x=g+24|0;A=g+32|0;B=g+28|0;C=g+36|0;D=g+40|0;E=g+44|0;F=f+8|0;G=K+1|0;H=K+2|0;I=K+3|0;J=K+4|0;L=K+5|0;M=K+6|0;N=K+7|0;O=K+8|0;P=K+9|0;Q=K+10|0;R=K+11|0;S=K+12|0;T=K+13|0;U=K+14|0;V=K+15|0;u=0;a:while(1){j=(u|0)==0;p=c[(j?x:A)>>2]|0;s=c[(j?B:C)>>2]|0;r=c[g+4+(u<<2)>>2]|0;q=c[(j?D:E)>>2]|0;switch(c[F>>2]|0){case 0:{h=c[v>>2]|0;h=c[(j?h+4996|0:h+5004|0)>>2]|0;nj(y);b:do if((s|0)>0){m=p<<1;n=(p|0)<0?-1:m;if((h|0)<=8){h=0;while(1){oj(y,r+(z(h,q)|0)|0,p);h=h+1|0;if((h|0)>=(s|0)){h=0;break b}}}if((p|0)<=0){i=0;h=0;while(1){if(!h){h=wB(n)|0;j=h}else j=h;oj(y,j,m);i=i+1|0;if((i|0)>=(s|0))break b}}if((p|0)==1){i=0;h=0;while(1){if(!h){h=wB(n)|0;j=h}else j=h;p=r+((z(i,q)|0)<<1)|0;a[j>>0]=b[p>>1];a[j+1>>0]=(e[p>>1]|0)>>>8;oj(y,j,m);i=i+1|0;if((i|0)>=(s|0))break b}}k=0;h=0;do{if(!h){h=wB(n)|0;l=h}else l=h;j=z(k,q)|0;i=r+(j<<1)|0;a[l>>0]=b[i>>1];a[l+1>>0]=(e[i>>1]|0)>>>8;i=1;do{_=r+(i+j<<1)|0;o=i<<1;a[l+o>>0]=b[_>>1];a[l+(o|1)>>0]=(e[_>>1]|0)>>>8;i=i+1|0}while((i|0)!=(p|0));oj(y,l,m);k=k+1|0}while((k|0)<(s|0))}else h=0;while(0);pj(K,y);if(h|0)yB(h);if((a[K>>0]|0)!=(a[f+12+(u<<4)>>0]|0)){t=30;break a}if((a[G>>0]|0)!=(a[f+12+(u<<4)+1>>0]|0)){t=30;break a}if((a[H>>0]|0)!=(a[f+12+(u<<4)+2>>0]|0)){t=30;break a}if((a[I>>0]|0)!=(a[f+12+(u<<4)+3>>0]|0)){t=30;break a}if((a[J>>0]|0)!=(a[f+12+(u<<4)+4>>0]|0)){t=30;break a}if((a[L>>0]|0)!=(a[f+12+(u<<4)+5>>0]|0)){t=30;break a}if((a[M>>0]|0)!=(a[f+12+(u<<4)+6>>0]|0)){t=30;break a}if((a[N>>0]|0)!=(a[f+12+(u<<4)+7>>0]|0)){t=30;break a}if((a[O>>0]|0)!=(a[f+12+(u<<4)+8>>0]|0)){t=30;break a}if((a[P>>0]|0)!=(a[f+12+(u<<4)+9>>0]|0)){t=30;break a}if((a[Q>>0]|0)!=(a[f+12+(u<<4)+10>>0]|0)){t=30;break a}if((a[R>>0]|0)!=(a[f+12+(u<<4)+11>>0]|0)){t=30;break a}if((a[S>>0]|0)!=(a[f+12+(u<<4)+12>>0]|0)){t=30;break a}if((a[T>>0]|0)!=(a[f+12+(u<<4)+13>>0]|0)){t=30;break a}if((a[U>>0]|0)!=(a[f+12+(u<<4)+14>>0]|0)){t=30;break a}if((a[V>>0]|0)!=(a[f+12+(u<<4)+15>>0]|0)){t=30;break a}break}case 1:{h=c[v>>2]|0;c:do if((s|0)>0){n=p<<1;o=(p|0)<0?-1:n;i=(p|0)>0;if((c[(j?h+4996|0:h+5004|0)>>2]|0)<=8){if(!i){h=7439;t=59;break}i=0;h=7439;while(1){k=r+(z(i,q)|0)|0;j=0;do{t=h&65535;_=t>>>8^d[k+j>>0];_=_>>>4^_;h=(_|t<<8)^_<<5^_<<12;j=j+1|0}while((j|0)!=(p|0));i=i+1|0;if((i|0)==(s|0)){t=59;break c}}}d:do if(i){if((p|0)==1){m=(p|0)>0;l=0;h=7439;i=0;while(1){if(!i){i=wB(o)|0;k=i}else k=i;_=r+((z(l,q)|0)<<1)|0;p=b[_>>1]|0;a[k>>0]=p;a[k+1>>0]=(e[_>>1]|0)>>>8;_=h&65535;h=_>>>8^p&255;h=h>>>4^h;h=(h|_<<8)^h<<5^h<<12;if(m){j=1;do{_=h&65535;h=_>>>8^d[k+j>>0];h=h>>>4^h;h=(h|_<<8)^h<<5^h<<12;j=j+1|0}while((j|0)<(n|0))}l=l+1|0;if((l|0)==(s|0))break d}}l=0;h=7439;i=0;do{if(!i){i=wB(o)|0;m=i}else m=i;k=z(l,q)|0;j=r+(k<<1)|0;a[m>>0]=b[j>>1];a[m+1>>0]=(e[j>>1]|0)>>>8;j=1;do{$=r+(j+k<<1)|0;_=j<<1;a[m+_>>0]=b[$>>1];a[m+(_|1)>>0]=(e[$>>1]|0)>>>8;j=j+1|0}while((j|0)!=(p|0));j=0;do{_=h&65535;$=_>>>8^d[m+j>>0];$=$>>>4^$;h=($|_<<8)^$<<5^$<<12;j=j+1|0}while((j|0)<(n|0));l=l+1|0}while((l|0)!=(s|0))}else{h=0;i=0;do{if(!i)i=wB(o)|0;h=h+1|0}while((h|0)!=(s|0));h=7439}while(0);h=h&65535;if(i)yB(i)}else{h=7439;t=59}while(0);if((t|0)==59){t=0;h=h&65535}i=b[f+60+(u<<1)>>1]|0;if((h|0)!=(i&65535|0)){t=63;break a}break}case 2:{$=c[v>>2]|0;h=(p|0)>0&(s|0)>0;if((c[(j?$+4996|0:$+5004|0)>>2]|0)<9)if(h){i=0;h=0;do{k=i>>>8^i;l=z(i,q)|0;j=0;do{h=((k^j^j>>>8)&255^d[r+(j+l)>>0])+h|0;j=j+1|0}while((j|0)!=(p|0));i=i+1|0}while((i|0)!=(s|0))}else h=0;else if(h){j=0;h=0;do{k=j>>>8^j;l=z(j,q)|0;i=0;do{$=(k^i^i>>>8)&255;h=$+h+($^d[r+(i+l)>>0])|0;i=i+1|0}while((i|0)!=(p|0));j=j+1|0}while((j|0)!=(s|0))}else h=0;i=c[f+68+(u<<2)>>2]|0;if((h|0)!=(i|0)){t=76;break a}break}default:{}}u=u+1|0;if(u>>>0>=w>>>0){h=0;t=93;break}}if((t|0)==30){$=c[27545]|0;c[W>>2]=c[g+96>>2];kq($,118776,W)|0;$=5;oc=Z;return $|0}else if((t|0)==63){$=c[27545]|0;_=c[g+96>>2]|0;c[X>>2]=i&65535;c[X+4>>2]=h;c[X+8>>2]=_;kq($,118819,X)|0;$=5;oc=Z;return $|0}else if((t|0)==76){$=c[27545]|0;_=c[g+96>>2]|0;c[Y>>2]=i;c[Y+4>>2]=h;c[Y+8>>2]=_;kq($,118819,Y)|0;$=5;oc=Z;return $|0}else if((t|0)==93){oc=Z;return h|0}return 0}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function ij(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;j=a+20|0;k=c[j>>2]|0;l=a+24|0;b=c[l>>2]|0;if((k|0)==(b|0))R(118699,118729,147,118738);h=b-k>>2;if(h>>>0>1){b=0;d=c[(c[k>>2]|0)+96>>2]|0;e=1;while(1){f=c[(c[k+(e<<2)>>2]|0)+96>>2]|0;g=(f|0)<(d|0);b=g?e:b;e=e+1|0;if(e>>>0>=h>>>0){h=b;break}else d=g?f:d}}else h=0;g=a+36|0;d=c[g>>2]|0;m=(c[a+40>>2]|0)-d|0;f=a+48|0;i=a+52|0;b=c[i>>2]|0;e=b+(c[f>>2]|0)|0;if((((m|0)==0?0:(m<<8)+-1|0)|0)==(e|0)){kj(a+32|0);b=c[i>>2]|0;e=(c[f>>2]|0)+b|0;d=c[g>>2]|0}c[(c[d+(e>>>10<<2)>>2]|0)+((e&1023)<<2)>>2]=c[k+(h<<2)>>2];c[i>>2]=b+1;c[(c[j>>2]|0)+(h<<2)>>2]=c[(c[l>>2]|0)+-4>>2];c[l>>2]=(c[l>>2]|0)+-4;return}function jj(a){a=a|0;return}function kj(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;s=oc;o=oc=oc+31&-32;oc=oc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){xB(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;oc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=vB(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{e=vB(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)xB(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;mj(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)xB(g);oc=s;return}if((e|0)==(b|0)){c[o>>2]=vB(4096)|0;lj(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}else{o=vB(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{qD(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function nj(a){a=a|0;c[a+8>>2]=1732584193;c[a+12>>2]=-271733879;c[a+16>>2]=-1732584194;c[a+20>>2]=271733878;c[a>>2]=0;c[a+4>>2]=0;return}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[a>>2]|0;h=f+d&536870911;c[a>>2]=h;g=a+4|0;e=c[g>>2]|0;if(h>>>0<f>>>0){e=e+1|0;c[g>>2]=e}c[g>>2]=e+(d>>>29);e=f&63;do if(e){f=64-e|0;e=a+24+e|0;if(f>>>0<=d>>>0){pD(e|0,b|0,f|0)|0;qj(a,a+24|0,64)|0;b=b+f|0;d=d-f|0;break}pD(e|0,b|0,d|0)|0;return}while(0);if(d>>>0>63){b=qj(a,b,d&-64)|0;d=d&63}pD(a+24|0,b|0,d|0)|0;return}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d>>2]&63;e=f+1|0;a[d+24+f>>0]=-128;f=f^63;g=d+24|0;if(f>>>0<8){rD(d+24+e|0,0,f|0)|0;qj(d,g,64)|0;f=56;e=0}else f=f+-8|0;rD(d+24+e|0,0,f|0)|0;f=c[d>>2]|0;e=f<<3;c[d>>2]=e;a[d+80>>0]=e;a[d+81>>0]=f>>>5;a[d+82>>0]=f>>>13;a[d+83>>0]=f>>>21;f=c[d+4>>2]|0;a[d+84>>0]=f;a[d+85>>0]=f>>>8;a[d+86>>0]=f>>>16;a[d+87>>0]=f>>>24;qj(d,g,64)|0;g=d+8|0;a[b>>0]=c[g>>2];a[b+1>>0]=(c[g>>2]|0)>>>8;a[b+2>>0]=(c[g>>2]|0)>>>16;a[b+3>>0]=(c[g>>2]|0)>>>24;g=d+12|0;a[b+4>>0]=c[g>>2];a[b+5>>0]=(c[g>>2]|0)>>>8;a[b+6>>0]=(c[g>>2]|0)>>>16;a[b+7>>0]=(c[g>>2]|0)>>>24;g=d+16|0;a[b+8>>0]=c[g>>2];a[b+9>>0]=(c[g>>2]|0)>>>8;a[b+10>>0]=(c[g>>2]|0)>>>16;a[b+11>>0]=(c[g>>2]|0)>>>24;g=d+20|0;a[b+12>>0]=c[g>>2];a[b+13>>0]=(c[g>>2]|0)>>>8;a[b+14>>0]=(c[g>>2]|0)>>>16;a[b+15>>0]=(c[g>>2]|0)>>>24;rD(d|0,0,152)|0;return}function qj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;y=a+8|0;z=a+12|0;A=a+16|0;B=a+20|0;j=a+88|0;k=a+92|0;l=a+96|0;m=a+100|0;n=a+104|0;o=a+108|0;p=a+112|0;q=a+116|0;r=a+120|0;s=a+124|0;t=a+128|0;u=a+132|0;v=a+136|0;w=a+140|0;x=a+144|0;i=a+148|0;a=c[y>>2]|0;f=c[z>>2]|0;g=c[B>>2]|0;h=c[A>>2]|0;do{V=(d[b+1>>0]|0)<<8|(d[b>>0]|0)|(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24;c[j>>2]=V;W=a+-680876936+(f&(g^h)^g)+V|0;W=(W<<7|W>>>25)+f|0;O=(d[b+5>>0]|0)<<8|(d[b+4>>0]|0)|(d[b+6>>0]|0)<<16|(d[b+7>>0]|0)<<24;c[k>>2]=O;C=g+-389564586+O+(W&(f^h)^h)|0;C=(C<<12|C>>>20)+W|0;H=(d[b+9>>0]|0)<<8|(d[b+8>>0]|0)|(d[b+10>>0]|0)<<16|(d[b+11>>0]|0)<<24;c[l>>2]=H;D=h+606105819+H+(C&(W^f)^f)|0;D=(D<<17|D>>>15)+C|0;Q=(d[b+13>>0]|0)<<8|(d[b+12>>0]|0)|(d[b+14>>0]|0)<<16|(d[b+15>>0]|0)<<24;c[m>>2]=Q;E=f+-1044525330+Q+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;J=(d[b+17>>0]|0)<<8|(d[b+16>>0]|0)|(d[b+18>>0]|0)<<16|(d[b+19>>0]|0)<<24;c[n>>2]=J;W=W+-176418897+J+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;S=(d[b+21>>0]|0)<<8|(d[b+20>>0]|0)|(d[b+22>>0]|0)<<16|(d[b+23>>0]|0)<<24;c[o>>2]=S;C=C+1200080426+S+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;L=(d[b+25>>0]|0)<<8|(d[b+24>>0]|0)|(d[b+26>>0]|0)<<16|(d[b+27>>0]|0)<<24;c[p>>2]=L;D=D+-1473231341+L+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;U=(d[b+29>>0]|0)<<8|(d[b+28>>0]|0)|(d[b+30>>0]|0)<<16|(d[b+31>>0]|0)<<24;c[q>>2]=U;E=E+-45705983+U+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;N=(d[b+33>>0]|0)<<8|(d[b+32>>0]|0)|(d[b+34>>0]|0)<<16|(d[b+35>>0]|0)<<24;c[r>>2]=N;W=W+1770035416+N+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;G=(d[b+37>>0]|0)<<8|(d[b+36>>0]|0)|(d[b+38>>0]|0)<<16|(d[b+39>>0]|0)<<24;c[s>>2]=G;C=G+-1958414417+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;P=(d[b+41>>0]|0)<<8|(d[b+40>>0]|0)|(d[b+42>>0]|0)<<16|(d[b+43>>0]|0)<<24;c[t>>2]=P;D=P+-42063+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;I=(d[b+45>>0]|0)<<8|(d[b+44>>0]|0)|(d[b+46>>0]|0)<<16|(d[b+47>>0]|0)<<24;c[u>>2]=I;E=I+-1990404162+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;R=(d[b+49>>0]|0)<<8|(d[b+48>>0]|0)|(d[b+50>>0]|0)<<16|(d[b+51>>0]|0)<<24;c[v>>2]=R;W=R+1804603682+W+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;K=(d[b+53>>0]|0)<<8|(d[b+52>>0]|0)|(d[b+54>>0]|0)<<16|(d[b+55>>0]|0)<<24;c[w>>2]=K;C=K+-40341101+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;T=(d[b+57>>0]|0)<<8|(d[b+56>>0]|0)|(d[b+58>>0]|0)<<16|(d[b+59>>0]|0)<<24;c[x>>2]=T;D=T+-1502002290+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;M=(d[b+61>>0]|0)<<8|(d[b+60>>0]|0)|(d[b+62>>0]|0)<<16|(d[b+63>>0]|0)<<24;c[i>>2]=M;E=M+1236535329+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;W=O+-165796510+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=L+-1069501632+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=I+643717713+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=V+-373897302+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=S+-701558691+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=P+38016083+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=M+-660478335+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=J+-405537848+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=G+568446438+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=T+-1019803690+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=Q+-187363961+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=N+1163531501+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=K+-1444681467+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=H+-51403784+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=U+1735328473+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;F=D^C;E=R+-1926607734+E+(F&W^C)|0;E=(E<<20|E>>>12)+D|0;F=S+-378558+W+(F^E)|0;F=(F<<4|F>>>28)+E|0;C=N+-2022574463+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=I+1839030562+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=T+-35309556+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=O+-1530992060+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=J+1272893353+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=U+-155497632+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=P+-1094730640+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=K+681279174+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=V+-358537222+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=Q+-722521979+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=L+76029189+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=G+-640364487+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=R+-421815835+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=M+530742520+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=H+-995338651+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=V+-198630844+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=U+1126891415+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=T+-1416354905+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=S+-57434055+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=R+1700485571+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=Q+-1894986606+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=P+-1051523+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=O+-2054922799+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=N+1873313359+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=M+-30611744+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=L+-1560198380+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=K+1309151649+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=J+-145523070+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=I+-1120210379+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=H+718787259+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=G+-343485551+E+((D|~F)^C)|0;a=F+a|0;f=D+f+(E<<21|E>>>11)|0;h=D+h|0;g=C+g|0;b=b+64|0;e=e+-64|0}while((e|0)!=0);c[y>>2]=a;c[z>>2]=f;c[A>>2]=h;c[B>>2]=g;return b|0}function rj(a,b){a=a|0;b=b|0;lb(a|0,b|0)|0;return}function sj(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+356|0;Ee(d);e=a+336|0;c[e>>2]=(c[e>>2]|0)+b;a=a+352|0;c[a>>2]=(c[a>>2]|0)+b;Ge(d);return}function tj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;g=b+4|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+64|0;e=b+64|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+300|0;d=b+300|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+8|0;g=b+8|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+68|0;e=b+68|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+304|0;d=b+304|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+12|0;g=b+12|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+72|0;e=b+72|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+308|0;d=b+308|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+40|0;g=b+40|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+44|0;e=b+44|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+312|0;b=b+312|0;a=e;d=c[a>>2]|0;a=c[a+4>>2]|0;g=b;f=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[b>>2]=d;c[b+4>>2]=a;return}function uj(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function vj(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=b+420|0;Nq(k)|0;if(a[b>>0]|0){Oq(k)|0;return}i=b+8|0;f=c[i>>2]|0;l=(c[b+12>>2]|0)-f|0;g=b+20|0;j=b+24|0;e=c[j>>2]|0;h=e+(c[g>>2]|0)|0;if((((l|0)==0?0:(l<<8)+-1|0)|0)==(h|0)){wj(b+4|0);e=c[j>>2]|0;h=(c[g>>2]|0)+e|0;f=c[i>>2]|0}c[(c[f+(h>>>10<<2)>>2]|0)+((h&1023)<<2)>>2]=d;c[j>>2]=e+1;kb(b+448|0)|0;Oq(k)|0;return}function wj(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;s=oc;o=oc=oc+31&-32;oc=oc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){xB(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;oc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=vB(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{e=vB(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)xB(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;yj(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)xB(g);oc=s;return}if((e|0)==(b|0)){c[o>>2]=vB(4096)|0;xj(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}else{o=vB(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{qD(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}}function xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function zj(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+12>>2]|0;a=c[a+8>>2]|0;e=a;if((d|0)==(a|0)){b=-1;return b|0}d=d-a>>2;a=0;while(1){if((c[c[e+(a<<2)>>2]>>2]|0)==(b|0)){d=5;break}a=a+1|0;if(a>>>0>=d>>>0){a=-1;d=5;break}}if((d|0)==5)return a|0;return 0}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,m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+18608|0;m=e+4|0;f=c[m>>2]|0;k=f+1348|0;l=f+1352|0;g=c[k>>2]|0;if((c[l>>2]|0)!=(g|0)){i=b+2144|0;j=b+2152|0;h=0;f=g;do{f=zj(i,c[f+(h<<2)>>2]|0)|0;if((f|0)>-1)c[(c[(c[j>>2]|0)+(f<<2)>>2]|0)+100>>2]=0;h=h+1|0;f=c[k>>2]|0}while(h>>>0<(c[l>>2]|0)-f>>2>>>0);f=c[m>>2]|0}l=c[(c[d>>2]|0)+136>>2]|0;if((c[f+20>>2]|0)>>>0>=(c[l+4352>>2]|0)-(c[l+4348>>2]|0)>>2>>>0){n=6;oc=o;return n|0}l=n+18572|0;Gj(l);k=n+18500|0;h=n+18584|0;f=n+38|0;g=f&14;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[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;if(!g)c[n+2104>>2]=f;else{f=f+(16-g)|0;c[n+2104>>2]=f}rD(f|0,0,2048)|0;f=c[m>>2]|0;c[n+18592>>2]=f;k=c[d>>2]|0;c[n+18588>>2]=k;c[h>>2]=b;c[n+18596>>2]=d;c[n+18600>>2]=e;c[n+4>>2]=c[(c[(c[k+136>>2]|0)+4348>>2]|0)+(c[f+20>>2]<<2)>>2];c[n+18604>>2]=0;Ej(0,n);f=c[e+12>>2]|0;if((f|0)<1)f=17;else{ah(n+18548|0,c[e+8>>2]|0,f);do if(a[(c[(c[d>>2]|0)+136>>2]|0)+41>>0]|0?a[(c[m>>2]|0)+8>>0]|0:0){j=d+484|0;i=(c[(c[(c[b+2220>>2]|0)+128>>2]|0)+5064>>2]|0)+-1|0;k=d+488|0;f=c[k>>2]|0;g=c[j>>2]|0;h=f-g>>3;if(i>>>0>h>>>0){Hj(j,i-h|0);break}if(i>>>0<h>>>0){g=g+(i<<3)|0;if((g|0)!=(f|0))do{f=f+-8|0;kf(f)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);c[e+124>>2]=1;f=Jj(n)|0;De(e+44|0,1)}kf(l);n=f;oc=o;return n|0}function Bj(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,A=0,B=0,C=0,D=0;D=oc;B=oc=oc+31&-32;oc=oc+16|0;C=c[d>>2]|0;A=c[e+4>>2]|0;m=c[C+136>>2]|0;x=c[A+772>>2]|0;l=x+1|0;f=c[C+128>>2]|0;y=c[f+5056>>2]|0;if((c[C+344>>2]|0)!=(0-(c[C+340>>2]|0)|0))R(118910,118680,992,119161);do if(a[A+8>>0]|0){j=d+484|0;g=(c[f+5064>>2]|0)+-1|0;k=d+488|0;f=c[k>>2]|0;h=c[j>>2]|0;i=f-h>>3;if(g>>>0>i>>>0){Hj(j,g-i|0);break}if(g>>>0<i>>>0){g=h+(g<<3)|0;if((g|0)!=(f|0))do{f=f+-8|0;kf(f)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);Dj(e,l);f=c[A+20>>2]|0;j=(f|0)/(y|0)|0;a:do if((x|0)>=0){p=e+140|0;q=e+136|0;r=C+112|0;s=m+4348|0;o=A+780|0;t=e+12|0;u=e+8|0;v=e+124|0;w=b+1392|0;if(!x){if((c[p>>2]|0)<=0)R(118965,118985,174,118996);h=c[q>>2]|0;c[h+18592>>2]=A;c[h+18584>>2]=c[r>>2];c[h+18588>>2]=C;g=h+18596|0;c[g>>2]=d;c[h+18600>>2]=e;c[h+4>>2]=c[(c[s>>2]|0)+(f<<2)>>2];Ej(0,h);f=c[t>>2]|0;if((f|0)<=0)break;ah(h+18548|0,c[u>>2]|0,f);sj(C,1);c[v>>2]=(c[v>>2]|0)+1;i=vB(20)|0;c[i+4>>2]=0;c[i>>2]=12356;a[i+8>>0]=1;c[i+16>>2]=h;c[i+12>>2]=j;c[h+18604>>2]=i;vj(w,i);f=c[g>>2]|0;c[B>>2]=i;g=f+476|0;h=c[g>>2]|0;if(h>>>0<(c[f+480>>2]|0)>>>0){c[h>>2]=i;c[g>>2]=(c[g>>2]|0)+4}else Fj(f+472|0,B);break}g=j;n=0;while(1){b=(n|0)==0;if(b){if((f|0)%(y|0)|0)break a}else{f=g+1|0;g=f;f=z(f,y)|0}if((c[p>>2]|0)<=(n|0))break;j=c[q>>2]|0;k=j+(n*18608|0)|0;c[j+(n*18608|0)+18592>>2]=A;c[j+(n*18608|0)+18584>>2]=c[r>>2];c[j+(n*18608|0)+18588>>2]=C;l=j+(n*18608|0)+18596|0;c[l>>2]=d;c[j+(n*18608|0)+18600>>2]=e;c[j+(n*18608|0)+4>>2]=c[(c[s>>2]|0)+(f<<2)>>2];Ej(0,k);if(b)i=0;else i=c[(c[o>>2]|0)+(n+-1<<2)>>2]|0;if((n|0)==(x|0))h=t;else h=(c[o>>2]|0)+(n<<2)|0;h=c[h>>2]|0;if((i|0)<0)break a;if(!((h|0)>(i|0)?(h|0)<=(c[t>>2]|0):0))break a;ah(j+(n*18608|0)+18548|0,(c[u>>2]|0)+i|0,h-i|0);sj(C,1);c[v>>2]=(c[v>>2]|0)+1;m=vB(20)|0;c[m+4>>2]=0;c[m>>2]=12356;a[m+8>>0]=b&1;c[m+16>>2]=k;c[m+12>>2]=g;c[j+(n*18608|0)+18604>>2]=m;vj(w,m);h=c[l>>2]|0;c[B>>2]=m;i=h+476|0;j=c[i>>2]|0;if(j>>>0<(c[h+480>>2]|0)>>>0){c[j>>2]=m;c[i>>2]=(c[i>>2]|0)+4}else Fj(h+472|0,B);if((n|0)<(x|0))n=n+1|0;else break a}R(118965,118985,174,118996)}while(0);dj(C);j=d+472|0;k=d+476|0;g=c[k>>2]|0;f=c[j>>2]|0;if((g|0)==(f|0)){d=g;c[k>>2]=d;oc=D;return 0}i=0;do{h=c[f+(i<<2)>>2]|0;if(h){Dc[c[(c[h>>2]|0)+4>>2]&255](h);g=c[k>>2]|0;f=c[j>>2]|0}i=i+1|0}while(i>>>0<g-f>>2>>>0);c[k>>2]=f;oc=D;return 0}function Cj(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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=oc;s=oc=oc+31&-32;oc=oc+16|0;D=c[d>>2]|0;E=c[e+4>>2]|0;F=c[D+136>>2]|0;p=c[E+772>>2]|0;q=c[(c[D+128>>2]|0)+5056>>2]|0;if((c[D+344>>2]|0)!=(0-(c[D+340>>2]|0)|0))R(118910,118680,1106,118941);Dj(e,p+1|0);f=c[E+20>>2]|0;a:do if((p|0)<0)G=0;else{r=e+140|0;t=F+44|0;u=F+48|0;v=e+136|0;w=D+112|0;x=F+4348|0;y=E+780|0;A=e+12|0;B=e+8|0;C=e+124|0;o=b+1392|0;g=f;b=c[(c[F+4384>>2]|0)+(f<<2)>>2]|0;n=0;while(1){m=(n|0)==0;if(!m){f=b+1|0;b=c[t>>2]|0;if((f|0)>=(z(c[u>>2]|0,b)|0)){G=1007;break a}l=(f|0)/(b|0)|0;g=c[F+4260+(f-(z(l,b)|0)<<2)>>2]|0;g=(z(c[F+4304+(l<<2)>>2]|0,q)|0)+g|0;b=f}if((c[r>>2]|0)<=(n|0))break;i=c[v>>2]|0;j=i+(n*18608|0)|0;c[i+(n*18608|0)+18592>>2]=E;c[i+(n*18608|0)+18584>>2]=c[w>>2];c[i+(n*18608|0)+18588>>2]=D;k=i+(n*18608|0)+18596|0;c[k>>2]=d;c[i+(n*18608|0)+18600>>2]=e;c[i+(n*18608|0)+4>>2]=c[(c[x>>2]|0)+(g<<2)>>2];Ej(0,j);if(m)h=0;else h=c[(c[y>>2]|0)+(n+-1<<2)>>2]|0;if((n|0)==(p|0))f=A;else f=(c[y>>2]|0)+(n<<2)|0;f=c[f>>2]|0;if((h|0)<0){G=17;break a}if(!((f|0)>(h|0)?(f|0)<=(c[A>>2]|0):0)){G=17;break a}ah(i+(n*18608|0)+18548|0,(c[B>>2]|0)+h|0,f-h|0);sj(D,1);c[C>>2]=(c[C>>2]|0)+1;f=(g|0)/(q|0)|0;h=g-(z(f,q)|0)|0;l=vB(24)|0;c[l+4>>2]=0;c[l>>2]=12248;a[l+8>>0]=m&1;c[l+20>>2]=j;c[l+12>>2]=h;c[l+16>>2]=f;c[i+(n*18608|0)+18604>>2]=l;vj(o,l);f=c[k>>2]|0;c[s>>2]=l;h=f+476|0;i=c[h>>2]|0;if(i>>>0<(c[f+480>>2]|0)>>>0){c[i>>2]=l;c[h>>2]=(c[h>>2]|0)+4}else Fj(f+472|0,s);if((n|0)<(p|0))n=n+1|0;else{G=0;break a}}R(118965,118985,174,118996)}while(0);dj(D);i=d+472|0;j=d+476|0;f=c[j>>2]|0;b=c[i>>2]|0;if((f|0)==(b|0)){d=f;c[j>>2]=d;oc=H;return G|0}h=0;do{g=c[b+(h<<2)>>2]|0;if(g){Dc[c[(c[g>>2]|0)+4>>2]&255](g);f=c[j>>2]|0;b=c[i>>2]|0}h=h+1|0}while(h>>>0<f-b>>2>>>0);c[j>>2]=b;oc=H;return G|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;h=a+136|0;if(c[h>>2]|0)R(119114,118680,172,119136);i=b*18608|0;i=wB(b>>>0>230812|i>>>0>4294967291?-1:i+4|0)|0;c[i>>2]=b;i=i+4|0;if(!b){c[h>>2]=i;i=a+140|0;c[i>>2]=b;return}f=i+(b*18608|0)|0;g=i;do{Gj(g+18572|0);k=g+18500|0;j=g+18584|0;d=g+38|0;e=d&15;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[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;if(!e)c[g+2104>>2]=d;else{d=d+(16-e)|0;c[g+2104>>2]=d}rD(d|0,0,2048)|0;g=g+18608|0}while((g|0)!=(f|0));c[h>>2]=i;k=a+140|0;c[k>>2]=b;return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;rD(d+38|0,0,2064)|0;c[d+18524>>2]=-1;c[d+18528>>2]=-1;g=c[d+18588>>2]|0;f=c[g+136>>2]|0;b=c[g+128>>2]|0;e=c[(c[d+18592>>2]|0)+20>>2]|0;if((e|0)<=0)return;f=c[(c[f+4360>>2]|0)+((c[(c[f+4348>>2]|0)+(e<<2)>>2]|0)+-1<<2)>>2]|0;i=c[b+5056>>2]|0;j=(f|0)/(i|0)|0;i=f-(z(j,i)|0)+1|0;f=c[b+5040>>2]|0;i=(i<<f)+-1|0;f=(j+1<<f)+-1|0;j=(c[b+484>>2]|0)+-1|0;h=(c[b+488>>2]|0)+-1|0;e=c[g+172>>2]|0;b=((j|0)<(i|0)?j:i)>>e;e=((h|0)<(f|0)?h:f)>>e;if((b|0)<=-1)R(119015,119052,120,119072);f=c[g+176>>2]|0;if((b|0)>=(f|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)>=(c[g+180>>2]|0))R(119076,119052,121,119072);c[d+18520>>2]=a[(c[g+164>>2]|0)+(((z(f,e)|0)+b|0)*3|0)+2>>0];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,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function Gj(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;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;k=a+8|0;f=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(f-d>>3>>>0>=b>>>0){do{Gj(d);d=(c[l>>2]|0)+8|0;c[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=d-e>>3;d=g+b|0;if(d>>>0>536870911)gC(a);j=f-e|0;e=j>>2;e=j>>3>>>0<268435455?(e>>>0<d>>>0?d:e):536870911;do if(e)if(e>>>0>536870911){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{d=vB(e<<3)|0;break}else d=0;while(0);i=d+(g<<3)|0;h=i;j=d+(e<<3)|0;e=h;d=i;while(1){Gj(d);d=e+8|0;b=b+-1|0;if(!b)break;else e=d}g=d;f=c[a>>2]|0;d=c[l>>2]|0;if((d|0)==(f|0)){b=h;e=f;d=f}else{e=h;b=i;while(1){d=d+-8|0;Ij(b+-8|0,d);b=e+-8|0;if((d|0)==(f|0))break;else e=b}e=c[a>>2]|0;d=c[l>>2]|0}c[a>>2]=b;c[l>>2]=g;c[k>>2]=j;b=e;if((d|0)!=(b|0))do{d=d+-8|0;kf(d)}while((d|0)!=(b|0));if(!e)return;xB(e);return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0;e=oc;d=oc=oc+31&-32;oc=oc+16|0;if(0){c[d>>2]=a;c[d+4>>2]=b;vq(119183,d)|0}d=c[b+4>>2]|0;if(d|0)c[d>>2]=(c[d>>2]|0)+1;c[a+4>>2]=d;c[a>>2]=c[b>>2];oc=e;return}function Jj(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;e=c[b+18588>>2]|0;f=c[e+128>>2]|0;g=c[b+4>>2]|0;d=c[f+5072>>2]|0;if((g|0)<(d|0)){e=e+136|0;d=c[(c[(c[e>>2]|0)+4360>>2]|0)+(g<<2)>>2]|0;g=c[f+5056>>2]|0;m=(d|0)/(g|0)|0;f=m;g=d-(z(m,g)|0)|0}else{g=c[f+5056>>2]|0;m=(d|0)/(g|0)|0;e=e+136|0;f=m;g=d-(z(m,g)|0)|0}c[b>>2]=d;c[b+8>>2]=g;c[b+12>>2]=f;d=c[e>>2]|0;l=b+18592|0;e=c[l>>2]|0;if(!(xf(b)|0)){b=18;return b|0}m=b+18548|0;Af(m);g=d+42|0;h=b+18552|0;i=b+18584|0;j=b+18572|0;k=b+18580|0;d=0;e=(a[e+16>>0]|0)==0;while(1){do if(d|0){f=d+-1|0;o=c[l>>2]|0;n=c[o+780>>2]|0;if(f>>>0<(c[o+784>>2]|0)-n>>2>>>0?((c[h>>2]|0)+-2-(c[m>>2]|0)|0)==(c[n+(f<<2)>>2]|0):0)break;He((c[i>>2]|0)+4|0,1003,1)}while(0);d=d+1|0;if((Bf(b,0,e)|0|2|0)==2){d=0;e=16;break}if(a[g>>0]|0){e=c[l>>2]|0;f=c[e+800>>2]|0;if(f>>>0>=3){e=14;break}zf(j,f,c[e+796>>2]|0);a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0}e=0}if((e|0)==14)R(116879,116910,1511,116921);else if((e|0)==16)return d|0;return 0}function Kj(b,c){b=b|0;c=c|0;Zg(c,1);a[b>>0]=Qf(c,6)|0;a[b+1>>0]=Qf(c,6)|0;a[b+2>>0]=(Qf(c,3)|0)+255;return}function Lj(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;o=oc;m=oc=oc+31&-32;oc=oc+16|0;l=m+4|0;k=m+8|0;n=vB(1360)|0;Nk(n);h=Ok(n,d,b,k)|0;c[m>>2]=h;if(!(a[k>>0]|0)){g=c[b+2220>>2]|0;if(g|0)a[g+324>>0]=2;lf(b+548|0,e);g=c[n+1348>>2]|0;if(g|0){c[n+1352>>2]=g;xB(g)}kf(n+1336|0);g=c[n+780>>2]|0;if(g|0){c[n+784>>2]=g;xB(g)}xB(n);n=h;oc=o;return n|0}g=c[b+528>>2]|0;if((g|0)>-1)Pk(n,b,g);j=e+8|0;j=Qk(b,n,m,c[j>>2]|0,c[j+4>>2]|0,f,c[e+16>>2]|0)|0;k=b+2220|0;g=c[k>>2]|0;if(!j){if(g|0)a[g+324>>0]=2;lf(b+548|0,e);g=c[n+1348>>2]|0;if(g|0){c[n+1352>>2]=g;xB(g)}kf(n+1336|0);g=c[n+780>>2]|0;if(g|0){c[n+784>>2]=g;xB(g)}xB(n);n=c[m>>2]|0;oc=o;return n|0}c[l>>2]=n;f=g+52|0;h=g+56|0;i=c[h>>2]|0;c[n>>2]=i-(c[f>>2]|0)>>2;if((c[g+60>>2]|0)==(i|0))Rk(f,l);else{c[i>>2]=n;c[h>>2]=(c[h>>2]|0)+4}Zg(d,1);Rf(d);f=(c[d>>2]|0)-(c[e+20>>2]|0)|0;h=n+772|0;if((c[h>>2]|0)>0){i=n+780|0;g=0;j=c[i>>2]|0;do{q=Sk(e,c[j+(g<<2)>>2]|0,f)|0;j=c[i>>2]|0;p=j+(g<<2)|0;c[p>>2]=(c[p>>2]|0)-q;g=g+1|0}while((g|0)<(c[h>>2]|0))}if(!(a[n+8>>0]|0))g=b+3216|0;else{h=vB(496)|0;Vg(h+8|0);g=h+440|0;f=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[l>>2]=h;c[h>>2]=c[k>>2];g=b+3216|0;f=c[g>>2]|0;if((f|0)==(c[b+3220>>2]|0))Tk(b+3212|0,l);else{c[f>>2]=h;c[g>>2]=(c[g>>2]|0)+4}}if((c[b+3212>>2]|0)!=(c[g>>2]|0)){i=vB(152)|0;c[i>>2]=0;f=i+4|0;c[f>>2]=0;c[i+32>>2]=0;a[i+36>>0]=0;Ug(i+44|0);c[i+124>>2]=0;c[i+128>>2]=-1;c[i+132>>2]=-1;c[i+136>>2]=0;c[i+144>>2]=b;c[i+40>>2]=0;c[i+140>>2]=0;c[l>>2]=i;c[i>>2]=e;c[f>>2]=n;f=i+8|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];a[i+36>>0]=a[b+3224>>0]|0;g=c[(c[g>>2]|0)+-4>>2]|0;f=g+444|0;h=c[f>>2]|0;if((h|0)==(c[g+448>>2]|0))Uk(g+440|0,l);else{c[h>>2]=i;c[f>>2]=(c[f>>2]|0)+4}}c[m>>2]=$i(b,l)|0;q=0;oc=o;return q|0}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=oc;e=oc=oc+31&-32;oc=oc+16|0;d=e;e=e+8|0;i=vB(668)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i>>2]=12460;h=i+12|0;rD(h|0,0,656)|0;f=e+4|0;c[e>>2]=h;c[f>>2]=i;c[d>>2]=h;c[d+4>>2]=h;Dk(e,d);d=Ek(c[e>>2]|0,a+4|0,b)|0;if(!d){b=c[a+520>>2]|0;if((b|0)>-1)Fk(c[e>>2]|0,b);b=c[e>>2]|0;d=c[b>>2]|0;e=c[f>>2]|0;if(e|0){i=e+4|0;c[i>>2]=(c[i>>2]|0)+1}c[a+600+(d<<3)>>2]=b;i=a+600+(d<<3)+4|0;b=c[i>>2]|0;c[i>>2]=e;if((b|0)!=0?(h=b+4|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);d=0}else d=0}b=c[f>>2]|0;if(!b){oc=g;return d|0}h=b+4|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(i|0){oc=g;return d|0}Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);oc=g;return d|0}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=oc;e=oc=oc+31&-32;oc=oc+16|0;d=e;e=e+8|0;i=vB(5180)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i>>2]=12432;h=i+12|0;wk(h);f=e+4|0;c[e>>2]=h;c[f>>2]=i;c[d>>2]=h;c[d+4>>2]=h;gk(e,d);d=hk(c[e>>2]|0,a+4|0,b)|0;if(!d){b=c[a+516>>2]|0;if((b|0)>-1)ik(c[e>>2]|0,b);b=c[e>>2]|0;d=c[b+472>>2]|0;e=c[f>>2]|0;if(e|0){i=e+4|0;c[i>>2]=(c[i>>2]|0)+1}c[a+728+(d<<3)>>2]=b;i=a+728+(d<<3)+4|0;b=c[i>>2]|0;c[i>>2]=e;if((b|0)!=0?(h=b+4|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);d=0}else d=0}b=c[f>>2]|0;if(!b){oc=g;return d|0}h=b+4|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(i|0){oc=g;return d|0}Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);oc=g;return d|0}function Oj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=oc;e=oc=oc+31&-32;oc=oc+16|0;g=e;e=e+8|0;j=vB(4420)|0;c[j+4>>2]=0;c[j+8>>2]=0;c[j>>2]=12404;f=j+12|0;ak(f);h=e+4|0;c[e>>2]=f;c[h>>2]=j;c[g>>2]=f;c[g+4>>2]=f;Sj(e,g);g=Tj(c[e>>2]|0,d,b)|0;d=c[b+524>>2]|0;if((d|0)>-1)Uj(c[e>>2]|0,d);if(g){d=c[e>>2]|0;e=a[d+8>>0]|0;f=c[h>>2]|0;if(f|0){j=f+4|0;c[j>>2]=(c[j>>2]|0)+1}c[b+856+(e<<3)>>2]=d;j=b+856+(e<<3)+4|0;d=c[j>>2]|0;c[j>>2]=f;if(d|0?(b=d+4|0,j=c[b>>2]|0,c[b>>2]=j+-1,(j|0)==0):0){Dc[c[(c[d>>2]|0)+8>>2]&255](d);sB(d)}}e=g?0:1006;d=c[h>>2]|0;if(!d){oc=i;return e|0}h=d+4|0;j=c[h>>2]|0;c[h>>2]=j+-1;if(j|0){oc=i;return e|0}Dc[c[(c[d>>2]|0)+8>>2]&255](d);sB(d);oc=i;return e|0}function Pj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;f=0;do{i=Qf(d,8)|0;f=i+f|0}while((i|0)==255);h=0;do{i=Qf(d,8)|0;h=i+h|0}while((i|0)==255);c[e>>2]=f;c[e+4>>2]=h;if((f|0)!=132){e=0;return e|0}h=Qf(d,8)|0;i=e+8|0;c[i>>2]=h;if(!g){e=1025;return e|0}g=(c[g+476>>2]|0)==0?1:3;f=0;while(1){switch(h|0){case 0:{a[e+12+(f<<4)>>0]=Qf(d,8)|0;a[e+12+(f<<4)+1>>0]=Qf(d,8)|0;a[e+12+(f<<4)+2>>0]=Qf(d,8)|0;a[e+12+(f<<4)+3>>0]=Qf(d,8)|0;a[e+12+(f<<4)+4>>0]=Qf(d,8)|0;a[e+12+(f<<4)+5>>0]=Qf(d,8)|0;a[e+12+(f<<4)+6>>0]=Qf(d,8)|0;a[e+12+(f<<4)+7>>0]=Qf(d,8)|0;a[e+12+(f<<4)+8>>0]=Qf(d,8)|0;a[e+12+(f<<4)+9>>0]=Qf(d,8)|0;a[e+12+(f<<4)+10>>0]=Qf(d,8)|0;a[e+12+(f<<4)+11>>0]=Qf(d,8)|0;a[e+12+(f<<4)+12>>0]=Qf(d,8)|0;a[e+12+(f<<4)+13>>0]=Qf(d,8)|0;a[e+12+(f<<4)+14>>0]=Qf(d,8)|0;a[e+12+(f<<4)+15>>0]=Qf(d,8)|0;break}case 1:{b[e+60+(f<<1)>>1]=Qf(d,16)|0;break}case 2:{c[e+68+(f<<2)>>2]=Qf(d,32)|0;break}default:{}}f=f+1|0;if((f|0)==(g|0)){f=0;break}h=c[i>>2]|0}return f|0}function Qj(a,b){a=a|0;b=b|0;return}function Rj(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;e=(k|0)/80|0;d=e+1|0;if(d>>>0>53687091)gC(a);l=a+8|0;h=((c[l>>2]|0)-j|0)/80|0;f=h<<1;f=h>>>0<26843545?(f>>>0<d>>>0?d:f):53687091;do if(f)if(f>>>0>53687091){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{d=vB(f*80|0)|0;break}else d=0;while(0);h=d+(e*80|0)|0;g=d+(f*80|0)|0;f=h;d=b;e=f+80|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((k|0)/-80|0)*80|0)|0;if((k|0)>0)pD(d|0,j|0,k|0)|0;c[a>>2]=d;c[i>>2]=h+80;c[l>>2]=g;if(!j)return;xB(j);return}function Sj(a,b){a=a|0;b=b|0;return}function Tj(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,y=0,z=0,A=0,B=0,C=0,D=0;a[d>>0]=0;B=d+4|0;h=d+13|0;c[B>>2]=0;c[B+4>>2]=0;a[B+8>>0]=0;a[h>>0]=1;j=d+14|0;a[j>>0]=1;l=d+16|0;c[l>>2]=27;m=d+20|0;a[m>>0]=0;n=d+21|0;a[n>>0]=0;o=d+22|0;a[o>>0]=0;k=d+24|0;q=d+44|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;a[k+18>>0]=0;c[q>>2]=1;r=d+48|0;c[r>>2]=1;p=d+52|0;a[p>>0]=1;s=d+53|0;a[s>>0]=1;t=d+54|0;a[t>>0]=1;rD(d+4180|0,0,168)|0;c[d+4352>>2]=c[d+4348>>2];c[d+4364>>2]=c[d+4360>>2];c[d+4376>>2]=c[d+4372>>2];c[d+4388>>2]=c[d+4384>>2];c[d+4400>>2]=c[d+4396>>2];c[d+4168>>2]=0;u=d+55|0;a[u>>0]=0;v=d+56|0;a[v>>0]=0;w=d+57|0;a[w>>0]=0;x=d+60|0;c[x>>2]=0;y=d+64|0;c[y>>2]=0;z=d+68|0;a[z>>0]=0;A=d+4133|0;a[A>>0]=0;C=d+4136|0;c[C>>2]=2;g=d+4140|0;c[g>>2]=0;b[g+4>>1]=0;i=_g(e)|0;a[d+8>>0]=i;if((i|0)>63|(i|0)==-99999){He(f+4|0,1009,0);C=0;return C|0}D=_g(e)|0;i=d+9|0;a[i>>0]=D;if((D|0)>63|(D|0)==-99999){He(f+4|0,1010,0);D=0;return D|0}a[d+10>>0]=Qf(e,1)|0;a[d+39>>0]=Qf(e,1)|0;a[g>>0]=Qf(e,3)|0;a[d+11>>0]=Qf(e,1)|0;a[d+12>>0]=Qf(e,1)|0;D=_g(e)|0;g=D&255;a[h>>0]=g;if((D|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}a[h>>0]=g+1<<24>>24;D=_g(e)|0;g=D&255;a[j>>0]=g;if((D|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}a[j>>0]=g+1<<24>>24;g=c[f+728+(a[i>>0]<<3)>>2]|0;if(!g){He(f+4|0,1010,0);D=0;return D|0}c[B>>2]=g;g=$g(e)|0;c[l>>2]=g;if((g|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}c[l>>2]=g+26;a[m>>0]=Qf(e,1)|0;a[n>>0]=Qf(e,1)|0;D=(Qf(e,1)|0)&255;a[o>>0]=D;if(D<<24>>24){D=_g(e)|0;c[k>>2]=D;if((D|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}}else c[k>>2]=0;D=$g(e)|0;c[d+28>>2]=D;if((D|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}D=$g(e)|0;c[d+32>>2]=D;if((D|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}a[d+36>>0]=Qf(e,1)|0;a[d+37>>0]=Qf(e,1)|0;a[d+38>>0]=Qf(e,1)|0;a[d+40>>0]=Qf(e,1)|0;D=d+42|0;a[D>>0]=Qf(e,1)|0;a[d+41>>0]=Qf(e,1)|0;if(!(a[D>>0]|0)){c[q>>2]=1;c[r>>2]=1;a[p>>0]=1;g=0}else{g=_g(e)|0;c[q>>2]=g;if((g|0)==-99999|(g|0)>9){He(f+4|0,1006,0);D=0;return D|0}c[q>>2]=g+1;g=_g(e)|0;c[r>>2]=g;if((g|0)==-99999|(g|0)>9){He(f+4|0,1006,0);D=0;return D|0}c[r>>2]=g+1;D=Qf(e,1)|0;a[p>>0]=D;do if(!(D&255)){h=c[B>>2]|0;i=c[h+5056>>2]|0;h=c[h+5064>>2]|0;D=c[q>>2]|0;g=D+-1|0;a:do if((D|0)>1){k=0;while(1){g=_g(e)|0;j=d+4180+(k<<2)|0;c[j>>2]=g;if((g|0)==-99999)break;g=g+1|0;c[j>>2]=g;i=i-g|0;k=k+1|0;g=(c[q>>2]|0)+-1|0;if((k|0)>=(g|0))break a}He(f+4|0,1006,0);D=0;return D|0}while(0);if((i|0)<1){D=0;return D|0}c[d+4180+(g<<2)>>2]=i;D=c[r>>2]|0;g=D+-1|0;b:do if((D|0)>1){j=0;while(1){g=_g(e)|0;i=d+4220+(j<<2)|0;c[i>>2]=g;if((g|0)==-99999)break;g=g+1|0;c[i>>2]=g;h=h-g|0;j=j+1|0;g=(c[r>>2]|0)+-1|0;if((j|0)>=(g|0))break b}He(f+4|0,1006,0);D=0;return D|0}while(0);if((h|0)<1){D=0;return D|0}else{c[d+4220+(g<<2)>>2]=h;break}}while(0);g=(Qf(e,1)|0)&255}a[s>>0]=g;c[x>>2]=0;c[y>>2]=0;a[t>>0]=Qf(e,1)|0;D=(Qf(e,1)|0)&255;a[u>>0]=D;do if(D<<24>>24){a[v>>0]=Qf(e,1)|0;D=(Qf(e,1)|0)&255;a[w>>0]=D;if(!(D<<24>>24)){g=$g(e)|0;c[x>>2]=g;if((g|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}c[x>>2]=g<<1;g=$g(e)|0;c[y>>2]=g;if((g|0)!=-99999){c[y>>2]=g<<1;break}He(f+4|0,1006,0);D=0;return D|0}}else{a[v>>0]=0;a[w>>0]=0}while(0);D=Qf(e,1)|0;h=D&255;a[z>>0]=h;g=c[B>>2]|0;if(!((D&255|0)==0|(a[g+636>>0]|0)!=0)){He(f+4|0,1006,0);D=0;return D|0}if(h<<24>>24){g=Xj(e,g,d+69|0,1)|0;if(g|0){He(f+4|0,g,0);D=0;return D|0}}else pD(d+69|0,g+638|0,4064)|0;a[A>>0]=Qf(e,1)|0;g=_g(e)|0;c[C>>2]=g;if((g|0)==-99999){He(f+4|0,1006,0);D=0;return D|0}c[C>>2]=g+2;D=c[B>>2]|0;if((g|0)>((c[D+612>>2]|0)+-2+(c[D+616>>2]|0)|0)){D=0;return D|0}a[d+4141>>0]=Qf(e,1)|0;D=(Qf(e,1)|0)&255;a[d+4142>>0]=D;if((D<<24>>24?(D=d+4143|0,a[D>>0]=Qf(e,1)|0,a[d+4144>>0]=Qf(e,1)|0,a[d+4145>>0]=Qf(e,6)|0,a[D>>0]|0):0)?!(Yj(d+4146|0,e,f,d)|0):0){D=0;return D|0}Zj(d,c[B>>2]|0);a[d>>0]=1;D=1;return D|0}function Uj(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,aa=0,ba=0,ca=0;ca=oc;f=oc=oc+31&-32;oc=oc+400|0;W=f+392|0;V=f+384|0;U=f+376|0;T=f+368|0;S=f+360|0;R=f+352|0;Q=f+344|0;P=f+336|0;O=f+328|0;N=f+320|0;M=f+312|0;L=f+304|0;K=f+296|0;J=f+288|0;ba=f+280|0;aa=f+272|0;$=f+264|0;_=f+256|0;Z=f+248|0;Y=f+240|0;X=f+232|0;I=f+224|0;H=f+216|0;G=f+208|0;E=f+200|0;D=f+192|0;C=f+184|0;B=f+176|0;z=f+168|0;x=f+160|0;w=f+152|0;v=f+144|0;u=f+136|0;t=f+128|0;s=f+120|0;r=f+112|0;q=f+104|0;p=f+96|0;o=f+88|0;m=f+80|0;l=f+72|0;k=f+64|0;j=f+56|0;i=f+48|0;h=f+40|0;A=f+32|0;y=f+24|0;n=f+16|0;g=f+8|0;switch(d|0){case 1:{e=110188;break}case 2:{e=110180;break}default:{oc=ca;return}}F=c[e>>2]|0;Vj(F,119198,f);c[g>>2]=a[b+8>>0];Vj(F,119239,g);c[n>>2]=a[b+9>>0];Vj(F,119272,n);c[y>>2]=a[b+10>>0];Vj(F,119305,y);c[A>>2]=a[b+11>>0];Vj(F,119349,A);c[h>>2]=a[b+12>>0];Vj(F,119382,h);c[i>>2]=a[b+13>>0];Vj(F,119415,i);c[j>>2]=a[b+14>>0];Vj(F,119451,j);c[k>>2]=c[b+16>>2];Vj(F,119487,k);c[l>>2]=a[b+20>>0];Vj(F,119520,l);c[m>>2]=a[b+21>>0];Vj(F,119553,m);A=b+22|0;c[o>>2]=a[A>>0];Vj(F,119586,o);if(a[A>>0]|0){c[p>>2]=c[b+24>>2];Vj(F,119619,p)}c[q>>2]=c[b+28>>2];Vj(F,119652,q);c[r>>2]=c[b+32>>2];Vj(F,119687,r);c[s>>2]=a[b+36>>0];Vj(F,119722,s);c[t>>2]=a[b+37>>0];Vj(F,119769,t);c[u>>2]=a[b+38>>0];Vj(F,119804,u);c[v>>2]=a[b+39>>0];Vj(F,119839,v);c[w>>2]=a[b+40>>0];Vj(F,119874,w);A=b+42|0;c[x>>2]=a[A>>0];Vj(F,119909,x);c[z>>2]=a[b+41>>0];Vj(F,119944,z);if(a[A>>0]|0){f=b+44|0;c[B>>2]=c[f>>2];Vj(F,119982,B);g=b+48|0;c[C>>2]=c[g>>2];Vj(F,120008,C);c[D>>2]=a[b+52>>0];Vj(F,120034,D);Vj(F,120060,E);if((c[f>>2]|0)>=0){e=0;while(1){c[I>>2]=c[b+4260+(e<<2)>>2];Vj(F,120107,I);if((e|0)<(c[f>>2]|0))e=e+1|0;else break}}Vj(F,125759,G);Vj(F,120085,H);if((c[g>>2]|0)>=0){e=0;while(1){c[Z>>2]=c[b+4304+(e<<2)>>2];Vj(F,120107,Z);if((e|0)<(c[g>>2]|0))e=e+1|0;else break}}Vj(F,125759,X);c[Y>>2]=a[b+53>>0];Vj(F,120112,Y)}c[_>>2]=a[b+54>>0];Vj(F,120156,_);_=b+55|0;c[$>>2]=a[_>>0];Vj(F,120204,$);if(a[_>>0]|0){c[aa>>2]=a[b+56>>0];Vj(F,120248,aa);c[ba>>2]=a[b+57>>0];Vj(F,120293,ba);c[J>>2]=c[b+60>>2];Vj(F,120333,J);c[K>>2]=c[b+64>>2];Vj(F,120351,K)}c[L>>2]=a[b+68>>0];Vj(F,120369,L);c[M>>2]=a[b+4133>>0];Vj(F,120409,M);c[N>>2]=c[b+4136>>2];Vj(F,120446,N);c[O>>2]=a[b+4140>>0];Vj(F,120483,O);c[P>>2]=a[b+4141>>0];Vj(F,120520,P);c[Q>>2]=a[b+4142>>0];Vj(F,120570,Q);ba=b+4143|0;c[R>>2]=a[ba>>0];Vj(F,120606,R);c[S>>2]=a[b+4144>>0];Vj(F,120642,S);c[T>>2]=a[b+4145>>0];Vj(F,120678,T);c[U>>2]=c[b+4168>>2];Vj(F,120714,U);c[V>>2]=c[b+4172>>2];Vj(F,120750,V);c[W>>2]=c[b+4176>>2];Vj(F,120791,W);if(!(a[ba>>0]|0)){oc=ca;return}Wj(b+4146|0,d);oc=ca;return}function Vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=oc;g=oc=oc+31&-32;oc=oc+16|0;h=(a[d>>0]|0)==42;f=c[27547]|0;if(!h)Vp(121291,6,1,f)|0;c[g>>2]=e;Ho(b,d+(h&1)|0,g)|0;aq(f)|0;oc=i;return}function Wj(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;r=oc;g=oc=oc+31&-32;oc=oc+80|0;q=g+72|0;p=g+64|0;o=g+56|0;n=g+48|0;i=g+40|0;l=g+32|0;k=g+24|0;j=g+16|0;h=g+8|0;switch(e|0){case 1:{e=110188;break}case 2:{e=110180;break}default:{oc=r;return}}f=c[e>>2]|0;Vj(f,120832,g);c[h>>2]=d[b>>0];Vj(f,120875,h);c[j>>2]=d[b+1>>0];Vj(f,120921,j);j=b+2|0;c[k>>2]=d[j>>0];Vj(f,120967,k);if(a[j>>0]|0?(c[l>>2]=d[b+3>>0],Vj(f,121013,l),m=b+4|0,c[i>>2]=d[m>>0],Vj(f,121059,i),a[m>>0]|0):0){e=0;do{l=a[b+5+e>>0]|0;c[n>>2]=e;c[n+4>>2]=l;Vj(f,121105,n);l=a[b+11+e>>0]|0;c[o>>2]=e;c[o+4>>2]=l;Vj(f,121152,o);e=e+1|0}while(e>>>0<(d[m>>0]|0)>>>0)}c[p>>2]=d[b+17>>0];Vj(f,121199,p);c[q>>2]=d[b+18>>0];Vj(f,121245,q);oc=r;return}function Xj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=oc;o=oc=oc+31&-32;oc=oc+6240|0;n=o+6144|0;t=0;a:while(1){p=(t|0)==3;q=p?2:6;r=(t|0)==0;s=r?16:64;l=t>>>0>1;m=(t|0)!=3;k=0;do{j=o+(k<<10)|0;h=p&(k|0)==1;do if(!(((Qf(b,1)|0)&255)<<24>>24)){e=_g(b)|0;if((e|0)==-99999|(k|0)<(e|0)){i=30;break a}g=n+(t*24|0)+(k<<2)|0;c[g>>2]=16;if(e|0){if(!(m|(e|0)==1)){i=12;break a}h=k-e|0;pD(j|0,o+(h<<10)|0,s|0)|0;h=c[n+(t*24|0)+(h<<2)>>2]|0;c[g>>2]=h;i=20;break}if(r){c[j>>2]=c[940];c[j+4>>2]=c[941];c[j+8>>2]=c[942];c[j+12>>2]=c[943];i=21;break}if(k>>>0<3^h){e=j;g=3776;h=e+64|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=16;i=20;break}else{e=j;g=3840;h=e+64|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=16;i=20;break}}else{if(l){e=$g(b)|0;if((e+7|0)>>>0>254){i=30;break a}h=e+8|0;c[n+(t*24|0)+(k<<2)>>2]=h;e=h}else{e=8;h=16}i=0;while(1){g=$g(b)|0;if((g+128|0)>>>0>255){i=30;break a}e=(e+256+g|0)%256|0;a[o+(k<<10)+i>>0]=e;i=i+1|0;if(i>>>0>=s>>>0){i=20;break}}}while(0);b:do if((i|0)==20){i=0;switch(t&2147483647|0){case 0:{i=21;break b}case 1:{g=ug(3,0)|0;e=0;do{a[((d[g+(e<<1)+1>>0]|0)<<3)+(d[g+(e<<1)>>0]|0)+(f+96+(k<<6))>>0]=a[o+(k<<10)+e>>0]|0;e=e+1|0}while((e|0)!=64);break}case 2:{g=ug(3,0)|0;e=0;do{j=g+(e<<1)|0;v=g+(e<<1)+1|0;w=a[o+(k<<10)+e>>0]|0;a[((d[v>>0]|0)<<5)+((d[j>>0]|0)<<1)+(f+480+(k<<8))>>0]=w;a[((d[j>>0]|0)<<1|1)+((d[v>>0]|0)<<5)+(f+480+(k<<8))>>0]=w;a[((d[v>>0]|0)<<5|16)+((d[j>>0]|0)<<1)+(f+480+(k<<8))>>0]=w;a[((d[v>>0]|0)<<5|16)+((d[j>>0]|0)<<1|1)+(f+480+(k<<8))>>0]=w;e=e+1|0}while((e|0)!=64);a[f+480+(k<<8)>>0]=h;break b}case 3:{w=f+2016+(k<<10)|0;$j(w,j,3);a[w>>0]=h;break b}default:break b}}while(0);if((i|0)==21)$j(f+(k<<4)|0,j,0);k=k+1|0}while(k>>>0<q>>>0);t=t+1|0;if(t>>>0>=4){e=0;i=31;break}}if((i|0)==12)R(121347,121384,910,121393);else if((i|0)==30){w=8;oc=u;return w|0}else if((i|0)==31){oc=u;return e|0}return 0}function Yj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[f+728+(a[g+9>>0]<<3)>>2]|0;if(a[g+21>>0]|0)a[b>>0]=(_g(e)|0)+2;i=(Qf(e,1)|0)!=0;a[b+1>>0]=i&1;h=j+5012|0;if(!((c[h>>2]|0)==3|i^1))He(f+4|0,1006,0);k=(Qf(e,1)|0)!=0;i=b+2|0;g=k&1;a[i>>0]=g;if(!((c[h>>2]|0)!=0|k^1)){He(f+4|0,1006,0);g=a[i>>0]|0}a:do if(g<<24>>24){g=_g(e)|0;if((g|0)!=-99999?(g|0)<=(c[j+616>>2]|0):0){a[b+3>>0]=g;g=_g(e)|0;if((g|0)==-99999|(g|0)>5){He(f+4|0,1006,0);k=0;return k|0}k=g+1|0;i=b+4|0;a[i>>0]=k;if(!(k&255))break;h=0;while(1){g=$g(e)|0;if((g+12|0)>>>0>24){g=16;break}a[b+5+h>>0]=g;g=$g(e)|0;if((g+12|0)>>>0>24){g=18;break}a[b+11+h>>0]=g;h=h+1|0;if(h>>>0>=(d[i>>0]|0)>>>0)break a}if((g|0)==16){He(f+4|0,1006,0);k=0;return k|0}else if((g|0)==18){He(f+4|0,1006,0);k=0;return k|0}}He(f+4|0,1006,0);k=0;return k|0}while(0);g=_g(e)|0;if((g|0)!=-99999?(k=c[j+4996>>2]|0,(g|0)<=(((k|0)<10?0:k+-10|0)|0)):0){a[b+17>>0]=g;g=_g(e)|0;if((g|0)!=-99999?(k=c[j+5004>>2]|0,(g|0)<=(((k|0)<10?0:k+-10|0)|0)):0){a[b+18>>0]=g;k=1;return k|0}He(f+4|0,1006,0);k=0;return k|0}He(f+4|0,1006,0);k=0;return k|0}function Zj(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,A=0,B=0,C=0;C=oc;B=e+5040|0;y=c[B>>2]|0;c[b+4168>>2]=y-(c[b+24>>2]|0);c[b+4172>>2]=y-(d[b+4149>>0]|0);c[b+4176>>2]=d[b+4146>>0];y=b+44|0;j=c[y>>2]|0;if(a[b+52>>0]|0){h=oc;oc=oc+((1*((j<<2)+4|0)|0)+15&-16)|0;if((j|0)>=0){g=c[e+5056>>2]|0;f=0;while(1){c[h+(f<<2)>>2]=(z(g,f)|0)/(j|0)|0;if((f|0)==(j|0))break;else f=f+1|0}if((j|0)>0){f=0;g=c[h>>2]|0;do{A=f;f=f+1|0;x=g;g=c[h+(f<<2)>>2]|0;c[b+4180+(A<<2)>>2]=g-x}while((f|0)!=(j|0))}}h=c[b+48>>2]|0;i=oc;oc=oc+((1*((h<<2)+4|0)|0)+15&-16)|0;if((h|0)>=0){g=c[e+5064>>2]|0;f=0;while(1){c[i+(f<<2)>>2]=(z(g,f)|0)/(h|0)|0;if((f|0)==(h|0))break;else f=f+1|0}if((h|0)>0){f=0;g=c[i>>2]|0;do{A=f;f=f+1|0;x=g;g=c[i+(f<<2)>>2]|0;c[b+4220+(A<<2)>>2]=g-x}while((f|0)!=(h|0))}}}c[b+4260>>2]=0;if((j|0)>0){f=0;g=0;do{g=(c[b+4180+(f<<2)>>2]|0)+g|0;f=f+1|0;c[b+4260+(f<<2)>>2]=g}while((f|0)<(j|0))}c[b+4304>>2]=0;w=b+48|0;h=c[w>>2]|0;if((h|0)>0){f=0;g=0;do{g=(c[b+4220+(f<<2)>>2]|0)+g|0;f=f+1|0;c[b+4304+(f<<2)>>2]=g}while((f|0)<(h|0))}A=b+4348|0;r=e+5072|0;f=c[r>>2]|0;g=b+4352|0;h=c[A>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{_j(A,f-i|0);f=c[r>>2]|0}q=b+4360|0;g=b+4364|0;h=c[q>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{_j(q,f-i|0);f=c[r>>2]|0}v=b+4372|0;g=b+4376|0;h=c[v>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{_j(v,f-i|0);f=c[r>>2]|0}u=b+4384|0;g=b+4388|0;h=c[u>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else _j(u,f-i|0);x=b+4396|0;f=c[e+5096>>2]|0;g=b+4400|0;h=c[x>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else _j(x,f-i|0);a:do if((c[r>>2]|0)>0){m=e+5056|0;n=c[A>>2]|0;l=0;while(1){p=c[m>>2]|0;o=(l|0)/(p|0)|0;p=l-(z(o,p)|0)|0;h=c[y>>2]|0;if((h|0)>0){g=0;f=-1;do{f=(p|0)<(c[b+4260+(g<<2)>>2]|0)?f:g;g=g+1|0}while((g|0)<(h|0))}else f=-1;i=c[w>>2]|0;if((i|0)>0){h=0;g=-1;do{g=(o|0)<(c[b+4304+(h<<2)>>2]|0)?g:h;h=h+1|0}while((h|0)<(i|0))}else g=-1;k=n+(l<<2)|0;c[k>>2]=0;if((f|0)>0){j=b+4220+(g<<2)|0;i=0;h=0;do{h=h+(z(c[b+4180+(i<<2)>>2]|0,c[j>>2]|0)|0)|0;c[k>>2]=h;i=i+1|0}while((i|0)!=(f|0))}else h=0;if((g|0)>0){i=0;do{h=h+(z(c[b+4220+(i<<2)>>2]|0,c[m>>2]|0)|0)|0;c[k>>2]=h;i=i+1|0}while((i|0)!=(g|0))}if((g|f|0)<=-1)break;t=h+(z(o-(c[b+4304+(g<<2)>>2]|0)|0,c[b+4180+(f<<2)>>2]|0)|0)|0;c[k>>2]=t;t=p-(c[b+4260+(f<<2)>>2]|0)+t|0;c[k>>2]=t;c[(c[q>>2]|0)+(t<<2)>>2]=l;l=l+1|0;if((l|0)>=(c[r>>2]|0))break a}R(121298,121319,620,121328)}while(0);f=c[w>>2]|0;if((f|0)>0){t=e+5056|0;i=0;h=0;g=c[y>>2]|0;do if((g|0)>0){s=b+4304+(h<<2)|0;h=h+1|0;r=b+4304+(h<<2)|0;j=0;f=c[r>>2]|0;do{k=c[s>>2]|0;if((k|0)<(f|0)){q=b+4260+(j<<2)|0;j=j+1|0;p=b+4260+(j<<2)|0;g=c[p>>2]|0;do{l=c[q>>2]|0;if((l|0)<(g|0)){m=c[A>>2]|0;n=c[v>>2]|0;o=c[u>>2]|0;f=l;do{c[n+(c[m+((z(c[t>>2]|0,k)|0)+f<<2)>>2]<<2)>>2]=i;c[o+((z(c[t>>2]|0,k)|0)+f<<2)>>2]=i;f=f+1|0;g=c[p>>2]|0}while((f|0)<(g|0));f=c[r>>2]|0}k=k+1|0}while((k|0)<(f|0));g=c[y>>2]|0}else j=j+1|0;i=i+1|0}while((j|0)<(g|0));f=c[w>>2]|0}else h=h+1|0;while((h|0)<(f|0))}n=e+5092|0;f=c[n>>2]|0;if((f|0)<=0){oc=C;return}o=e+5088|0;p=e+5100|0;m=e+5056|0;l=0;g=c[o>>2]|0;do{if((g|0)>0){j=c[A>>2]|0;k=c[x>>2]|0;i=0;do{f=c[p>>2]|0;e=c[B>>2]|0;c[k+((z(g,l)|0)+i<<2)>>2]=c[j+((z(c[m>>2]|0,l<<f>>e)|0)+(i<<f>>e)<<2)>>2]<<(e-f<<1);f=c[B>>2]|0;g=c[p>>2]|0;if((f|0)>(g|0)){h=f-g|0;g=0;f=0;do{e=1<<g;f=((e&l|0)==0?0:e<<1<<g)+f+((e&i|0)==0?0:e<<g)|0;g=g+1|0}while((g|0)<(h|0))}else f=0;g=k+((z(c[o>>2]|0,l)|0)+i<<2)|0;c[g>>2]=(c[g>>2]|0)+f;i=i+1|0;g=c[o>>2]|0}while((i|0)<(g|0));f=c[n>>2]|0}l=l+1|0}while((l|0)<(f|0));oc=C;return}function _j(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>2>>>0>=b>>>0){rD(d|0,0,b<<2|0)|0;c[l>>2]=d+(b<<2);return}j=c[a>>2]|0;i=d-j|0;h=i>>2;d=h+b|0;if(d>>>0>1073741823)gC(a);f=e-j|0;g=f>>1;g=f>>2>>>0<536870911?(g>>>0<d>>>0?d:g):1073741823;do if(g)if(g>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(g<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(h<<2)|0;rD(d|0,0,b<<2|0)|0;if((i|0)>0)pD(f|0,j|0,i|0)|0;c[a>>2]=e;c[l>>2]=d+(b<<2);c[k>>2]=e+(g<<2);if(!j)return;xB(j);return}function $j(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;switch(e|0){case 0:{f=ug(2,0)|0;a[b+(((d[f+1>>0]|0)<<2)+(d[f>>0]|0))>>0]=a[c>>0]|0;a[b+(((d[f+3>>0]|0)<<2)+(d[f+2>>0]|0))>>0]=a[c+1>>0]|0;a[b+(((d[f+5>>0]|0)<<2)+(d[f+4>>0]|0))>>0]=a[c+2>>0]|0;a[b+(((d[f+7>>0]|0)<<2)+(d[f+6>>0]|0))>>0]=a[c+3>>0]|0;a[b+(((d[f+9>>0]|0)<<2)+(d[f+8>>0]|0))>>0]=a[c+4>>0]|0;a[b+(((d[f+11>>0]|0)<<2)+(d[f+10>>0]|0))>>0]=a[c+5>>0]|0;a[b+(((d[f+13>>0]|0)<<2)+(d[f+12>>0]|0))>>0]=a[c+6>>0]|0;a[b+(((d[f+15>>0]|0)<<2)+(d[f+14>>0]|0))>>0]=a[c+7>>0]|0;a[b+(((d[f+17>>0]|0)<<2)+(d[f+16>>0]|0))>>0]=a[c+8>>0]|0;a[b+(((d[f+19>>0]|0)<<2)+(d[f+18>>0]|0))>>0]=a[c+9>>0]|0;a[b+(((d[f+21>>0]|0)<<2)+(d[f+20>>0]|0))>>0]=a[c+10>>0]|0;a[b+(((d[f+23>>0]|0)<<2)+(d[f+22>>0]|0))>>0]=a[c+11>>0]|0;a[b+(((d[f+25>>0]|0)<<2)+(d[f+24>>0]|0))>>0]=a[c+12>>0]|0;a[b+(((d[f+27>>0]|0)<<2)+(d[f+26>>0]|0))>>0]=a[c+13>>0]|0;a[b+(((d[f+29>>0]|0)<<2)+(d[f+28>>0]|0))>>0]=a[c+14>>0]|0;a[b+(((d[f+31>>0]|0)<<2)+(d[f+30>>0]|0))>>0]=a[c+15>>0]|0;return}case 1:{f=ug(3,0)|0;e=0;do{a[b+(((d[f+(e<<1)+1>>0]|0)<<3)+(d[f+(e<<1)>>0]|0))>>0]=a[c+e>>0]|0;e=e+1|0}while((e|0)!=64);return}case 2:{f=ug(3,0)|0;e=0;do{h=f+(e<<1)|0;g=f+(e<<1)+1|0;i=c+e|0;a[b+(((d[h>>0]|0)<<1)+((d[g>>0]|0)<<5))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1)+((d[g>>0]|0)<<5|16))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5|16))>>0]=a[i>>0]|0;e=e+1|0}while((e|0)!=64);return}case 3:{f=ug(3,0)|0;e=0;do{h=f+(e<<1)|0;i=f+(e<<1)+1|0;g=c+e|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;e=e+1|0}while((e|0)!=64);return}default:R(127700,121384,847,121411)}}function ak(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a[d+4146>>0]=2;g=d+4147|0;a[d+4163>>0]=0;a[d+4164>>0]=0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;g=d+4352|0;h=d+4364|0;i=d+4376|0;j=d+4388|0;e=d+4400|0;a[d>>0]=0;k=d+4|0;f=d+13|0;c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=0;k=d+4348|0;l=k+60|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));a[f>>0]=1;a[d+14>>0]=1;c[d+16>>2]=27;a[d+20>>0]=0;a[d+21>>0]=0;a[d+22>>0]=0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b[l+16>>1]=0;a[l+18>>0]=0;c[d+44>>2]=1;c[d+48>>2]=1;a[d+52>>0]=1;a[d+53>>0]=1;a[d+54>>0]=1;rD(d+4180|0,0,168)|0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[e>>2]=0;c[d+4168>>2]=0;a[d+55>>0]=0;a[d+56>>0]=0;a[d+57>>0]=0;c[d+60>>2]=0;c[d+64>>2]=0;a[d+68>>0]=0;a[d+4133>>0]=0;c[d+4136>>2]=2;l=d+4140|0;c[l>>2]=0;b[l+4>>1]=0;return}function bk(a){a=a|0;c[a>>2]=12404;fk(a+12|0);qB(a);return}function ck(a){a=a|0;c[a>>2]=12404;fk(a+12|0);qB(a);xB(a);return}function dk(a){a=a|0;fk(a+12|0);return}function ek(a){a=a|0;xB(a);return}function fk(a){a=a|0;var b=0;b=c[a+4396>>2]|0;if(b|0){c[a+4400>>2]=b;xB(b)}b=c[a+4384>>2]|0;if(b|0){c[a+4388>>2]=b;xB(b)}b=c[a+4372>>2]|0;if(b|0){c[a+4376>>2]=b;xB(b)}b=c[a+4360>>2]|0;if(b|0){c[a+4364>>2]=b;xB(b)}b=c[a+4348>>2]|0;if(!b)return;c[a+4352>>2]=b;xB(b);return}function gk(a,b){a=a|0;b=b|0;return}function hk(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;a[b+1>>0]=Qf(e,4)|0;l=(Qf(e,3)|0)+1|0;j=b+2|0;a[j>>0]=l;if((l<<24|0)>117440512){b=8;return b|0}a[b+3>>0]=Qf(e,1)|0;ok(b+4|0,e,a[j>>0]|0);f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+472>>2]=f;if((f|0)>15){b=8;return b|0}f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}g=b+476|0;c[g>>2]=f;if((f|0)==3){h=(Qf(e,1)|0)&255;f=c[g>>2]|0}else h=0;a[b+480>>0]=h;if(f>>>0>3){He(d,1019,0);b=8;return b|0}f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}g=b+484|0;c[g>>2]=f;h=_g(e)|0;if((h|0)==-99999){He(d,8,0);b=8;return b|0}c[b+488>>2]=h;f=c[g>>2]|0;if((h|0)==0|(f|0)==0){b=8;return b|0}if((h|0)>7e4|(f|0)>7e4){b=8;return b|0}l=(Qf(e,1)|0)&255;a[b+492>>0]=l;do if(!(l<<24>>24)){l=b+496|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}else{f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+496>>2]=f;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+500>>2]=f;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+504>>2]=f;f=_g(e)|0;if((f|0)!=-99999){c[b+508>>2]=f;break}He(d,8,0);b=8;return b|0}while(0);f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}g=b+512|0;c[g>>2]=f+8;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+516>>2]=f+8;if((f|0)>8|(c[g>>2]|0)>16){He(d,1005,0);b=8;return b|0}f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}k=f+4|0;l=b+520|0;c[l>>2]=k;c[b+5032>>2]=1<<k;k=(Qf(e,1)|0)&255;i=b+524|0;a[i>>0]=k;g=a[j>>0]|0;f=g<<24>>24;if(k<<24>>24)if(g<<24>>24>0){f=0;k=39}else k=48;else{f=f+-1|0;k=39}do if((k|0)==39){while(1){g=_g(e)|0;if((g|0)==-99999|(g|0)>15){k=41;break}c[b+528+(f<<2)>>2]=g+1;g=_g(e)|0;if((g|0)==-99999){k=43;break}h=b+556+(f<<2)|0;c[h>>2]=g;g=_g(e)|0;if((g|0)==-99999){k=45;break}c[b+584+(f<<2)>>2]=g;c[b+5128+(f<<2)>>2]=g+-1+(c[h>>2]|0);f=f+1|0;g=a[j>>0]|0;h=g<<24>>24;if((f|0)>=(h|0)){k=47;break}}if((k|0)==41){He(d,8,0);b=8;return b|0}else if((k|0)==43){He(d,8,0);b=8;return b|0}else if((k|0)==45){He(d,8,0);b=8;return b|0}else if((k|0)==47)if(!(a[i>>0]|0))break;else{f=h;k=48;break}}while(0);if((k|0)==48){j=f+-1|0;if(g<<24>>24>=8)R(125959,121384,315,127348);if((f|0)>1){g=b+528+(j<<2)|0;h=b+556+(j<<2)|0;i=b+584+(j<<2)|0;f=0;do{c[b+528+(f<<2)>>2]=c[g>>2];c[b+556+(f<<2)>>2]=c[h>>2];c[b+584+(f<<2)>>2]=c[i>>2];f=f+1|0}while((f|0)!=(j|0))}}f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}i=b+612|0;c[i>>2]=f+3;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}j=b+616|0;c[j>>2]=f;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}g=b+620|0;c[g>>2]=f+2;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}h=b+624|0;c[h>>2]=f;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+628>>2]=f;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+632>>2]=f;f=c[i>>2]|0;if((f|0)>6){b=8;return b|0}if(((c[j>>2]|0)+f|0)>6){b=8;return b|0}f=c[g>>2]|0;if((f|0)>5){b=8;return b|0}if(((c[h>>2]|0)+f|0)>5){b=8;return b|0}j=(Qf(e,1)|0)&255;a[b+636>>0]=j;do if(j<<24>>24){j=(Qf(e,1)|0)&255;a[b+637>>0]=j;f=b+638|0;if(!(j<<24>>24)){pk(f);break}f=Xj(e,0,f,0)|0;if(!f)break;return f|0}while(0);a[b+4702>>0]=Qf(e,1)|0;a[b+4703>>0]=Qf(e,1)|0;j=(Qf(e,1)|0)&255;a[b+4704>>0]=j;do if(!(j<<24>>24)){a[b+4705>>0]=0;a[b+4706>>0]=0;c[b+4708>>2]=0;c[b+4712>>2]=0;f=0}else{a[b+4705>>0]=(Qf(e,4)|0)+1;a[b+4706>>0]=(Qf(e,4)|0)+1;f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}c[b+4708>>2]=f+3;f=_g(e)|0;if((f|0)!=-99999){c[b+4712>>2]=f;f=(Qf(e,1)|0)&255;break}He(d,8,0);b=8;return b|0}while(0);a[b+4716>>0]=f;i=_g(e)|0;if((i|0)==-99999){He(d,8,0);b=8;return b|0}if(i>>>0>64){He(d,1014,0);b=8;return b|0}j=b+4720|0;f=b+4724|0;g=c[j>>2]|0;h=((c[f>>2]|0)-g|0)/100|0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[f>>2]=g+(i*100|0);if((i|0)>0)k=89}else{qk(j,i-h|0);k=89}a:do if((k|0)==89){f=0;while(1){if(!(rk(d,b,e,(c[j>>2]|0)+(f*100|0)|0,f,j,0)|0)){f=1005;break}f=f+1|0;if((f|0)>=(i|0))break a}return f|0}while(0);k=(Qf(e,1)|0)&255;a[b+4732>>0]=k;do if(!(k<<24>>24))c[b+4736>>2]=0;else{f=_g(e)|0;if((f|0)==-99999){He(d,8,0);b=8;return b|0}g=b+4736|0;c[g>>2]=f;if((f|0)>32){b=8;return b|0}if((f|0)<=0)break;f=0;do{c[b+4740+(f<<2)>>2]=Qf(e,c[l>>2]|0)|0;a[b+4868+f>>0]=Qf(e,1)|0;f=f+1|0}while((f|0)<(c[g>>2]|0))}while(0);a[b+4900>>0]=Qf(e,1)|0;a[b+4901>>0]=Qf(e,1)|0;l=(Qf(e,1)|0)&255;a[b+4902>>0]=l;if(l<<24>>24)sk(b+4904|0,d,e,b)|0;d=(Qf(e,1)|0)&255;a[b+4980>>0]=d;do if(!(d<<24>>24))a[b+4981>>0]=0;else{d=b+4981|0;a[d>>0]=Qf(e,1)|0;a[b+4982>>0]=Qf(e,1)|0;a[b+4983>>0]=Qf(e,6)|0;if(!(a[d>>0]|0))break;tk(b+4984|0,0,e)|0}while(0);f=uk(b,0)|0;if(f|0){b=f;return b|0}a[b>>0]=1;b=0;return b|0}function ik(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,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;pa=oc;f=oc=oc+31&-32;oc=oc+496|0;oa=f+480|0;na=f+472|0;ma=f+464|0;la=f+456|0;ka=f+448|0;ja=f+440|0;ia=f+432|0;ha=f+424|0;ga=f+416|0;fa=f+408|0;ea=f+400|0;da=f+392|0;ca=f+384|0;ba=f+376|0;aa=f+368|0;$=f+360|0;_=f+344|0;X=f+336|0;W=f+328|0;V=f+320|0;U=f+312|0;J=f+304|0;I=f+296|0;H=f+288|0;G=f+280|0;T=f+272|0;S=f+264|0;R=f+256|0;Q=f+248|0;P=f+240|0;O=f+232|0;C=f+224|0;B=f+216|0;A=f+208|0;z=f+200|0;N=f+192|0;M=f+184|0;L=f+176|0;K=f+168|0;F=f+160|0;E=f+152|0;D=f+144|0;x=f+136|0;w=f+128|0;v=f+120|0;u=f+112|0;t=f+104|0;s=f+96|0;r=f+88|0;q=f+80|0;p=f+72|0;o=f+64|0;n=f+56|0;m=f+48|0;l=f+40|0;j=f+32|0;i=f+24|0;h=f+16|0;g=f+8|0;switch(d|0){case 1:{e=110188;break}case 2:{e=110180;break}default:{oc=pa;return}}Y=c[e>>2]|0;Vj(Y,121502,f);c[g>>2]=a[b+1>>0];Vj(Y,121543,g);k=b+2|0;c[h>>2]=a[k>>0];Vj(Y,121573,h);c[i>>2]=a[b+3>>0];Vj(Y,121603,i);jk(b+4|0,a[k>>0]|0,Y);c[j>>2]=c[b+472>>2];Vj(Y,121638,j);e=b+476|0;f=c[e>>2]|0;switch(f|0){case 0:{g=121682;break}case 1:{g=121693;break}case 2:{g=121699;break}default:g=(f|0)==3?121668:121674}c[l>>2]=f;c[l+4>>2]=g;Vj(Y,121705,l);if((c[e>>2]|0)==3){c[m>>2]=a[b+480>>0];Vj(Y,121740,m)}c[n>>2]=c[b+484>>2];Vj(Y,121773,n);c[o>>2]=c[b+488>>2];Vj(Y,121806,o);o=b+492|0;c[p>>2]=a[o>>0];Vj(Y,121839,p);if(a[o>>0]|0){c[q>>2]=c[b+496>>2];Vj(Y,121872,q);c[r>>2]=c[b+500>>2];Vj(Y,121900,r);c[s>>2]=c[b+504>>2];Vj(Y,121928,s);c[t>>2]=c[b+508>>2];Vj(Y,121956,t)}c[u>>2]=c[b+512>>2];Vj(Y,121984,u);c[v>>2]=c[b+516>>2];Vj(Y,122007,v);c[w>>2]=c[b+520>>2];Vj(Y,122030,w);w=b+524|0;c[x>>2]=a[w>>0];Vj(Y,122063,x);e=a[k>>0]|0;if(a[w>>0]|0){if(e<<24>>24>0){e=0;y=14}}else{e=(e<<24>>24)+-1|0;y=14}if((y|0)==14)do{c[z>>2]=e;Vj(Y,122393,z);c[A>>2]=c[b+528+(e<<2)>>2];Vj(Y,122403,A);c[B>>2]=c[b+556+(e<<2)>>2];Vj(Y,122442,B);c[C>>2]=c[b+584+(e<<2)>>2];Vj(Y,122481,C);e=e+1|0}while((e|0)<(a[k>>0]|0));k=b+612|0;c[D>>2]=c[k>>2];Vj(Y,122110,D);j=b+616|0;c[E>>2]=c[j>>2];Vj(Y,122148,E);i=b+620|0;c[F>>2]=c[i>>2];Vj(Y,122195,F);h=b+624|0;c[K>>2]=c[h>>2];Vj(Y,122233,K);c[L>>2]=c[b+628>>2];Vj(Y,122278,L);c[M>>2]=c[b+632>>2];Vj(Y,122320,M);M=b+636|0;c[N>>2]=a[M>>0];Vj(Y,122362,N);if(a[M>>0]|0?(N=b+637|0,c[O>>2]=a[N>>0],Vj(Y,122520,O),a[N>>0]|0):0)Vj(Y,122561,P);c[Q>>2]=a[b+4702>>0];Vj(Y,122605,Q);c[R>>2]=a[b+4703>>0];Vj(Y,122647,R);R=b+4704|0;c[S>>2]=a[R>>0];Vj(Y,122689,S);if(a[R>>0]|0){c[T>>2]=a[b+4705>>0];Vj(Y,122731,T);c[G>>2]=a[b+4706>>0];Vj(Y,122767,G);c[H>>2]=c[b+4708>>2];Vj(Y,122803,H);c[I>>2]=c[b+4712>>2];Vj(Y,122845,I);c[J>>2]=a[b+4716>>0];Vj(Y,122896,J)}f=b+4720|0;g=b+4724|0;c[U>>2]=((c[g>>2]|0)-(c[f>>2]|0)|0)/100|0;Vj(Y,122932,U);if((c[g>>2]|0)!=(c[f>>2]|0)){e=0;do{c[W>>2]=e;Vj(Y,128239,W);kk((c[f>>2]|0)+(e*100|0)|0,16,Y);e=e+1|0}while(e>>>0<(((c[g>>2]|0)-(c[f>>2]|0)|0)/100|0)>>>0)}W=b+4732|0;c[V>>2]=a[W>>0];Vj(Y,122966,V);if(a[W>>0]|0?(Z=b+4736|0,c[X>>2]=c[Z>>2],Vj(Y,123004,X),(c[Z>>2]|0)>0):0){e=0;do{W=c[b+4740+(e<<2)>>2]|0;X=a[b+4868+e>>0]|0;c[_>>2]=e;c[_+4>>2]=W;c[_+8>>2]=X;Vj(Y,123037,_);e=e+1|0}while((e|0)<(c[Z>>2]|0))}c[$>>2]=a[b+4900>>0];Vj(Y,123106,$);c[aa>>2]=a[b+4901>>0];Vj(Y,123147,aa);e=b+4902|0;c[ba>>2]=a[e>>0];Vj(Y,123188,ba);c[ca>>2]=a[b+4980>>0];Vj(Y,123229,ca);ca=b+4981|0;c[da>>2]=a[ca>>0];Vj(Y,123265,da);c[ea>>2]=a[b+4982>>0];Vj(Y,123301,ea);c[fa>>2]=a[b+4983>>0];Vj(Y,123337,fa);c[ga>>2]=c[b+5048>>2];Vj(Y,123373,ga);c[ha>>2]=c[b+5044>>2];Vj(Y,123392,ha);c[ia>>2]=1<<(c[j>>2]|0)+(c[k>>2]|0);Vj(Y,123411,ia);c[ja>>2]=1<<c[i>>2];Vj(Y,123430,ja);c[ka>>2]=1<<(c[h>>2]|0)+(c[i>>2]|0);Vj(Y,123449,ka);c[la>>2]=c[b+5056>>2];Vj(Y,123468,la);c[ma>>2]=c[b+5064>>2];Vj(Y,123498,ma);c[na>>2]=c[b+5016>>2];Vj(Y,123528,na);c[oa>>2]=c[b+5020>>2];Vj(Y,123558,oa);if(a[ca>>0]|0)lk(b+4984|0,d);if(!(a[e>>0]|0)){oc=pa;return}mk(b+4904|0,d);oc=pa;return}function jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=oc;f=oc=oc+31&-32;oc=oc+16|0;nk(a,1,d);e=b+-1|0;if((b|0)<=1){oc=g;return}b=0;do{c[f>>2]=b;Vj(d,125525,f);nk(a+52+(b*52|0)|0,0,d);b=b+1|0}while((b|0)!=(e|0));oc=g;return}function kk(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;p=oc;l=oc=oc+31&-32;oc=oc+32|0;o=l+16|0;n=l+8|0;g=e<<1;m=oc;oc=oc+((1*(g+2|0)|0)+15&-16)|0;g=g|1;a[m+g>>0]=0;if((g|0)>0)rD(m|0,46,g|0)|0;a[m+e>>0]=124;g=a[d+96>>0]|0;if(g<<24>>24){k=0-e|0;h=g&255;do{i=h;h=h+-1|0;g=b[d+(h<<1)>>1]|0;j=(a[d+64+h>>0]|0)==0;do if((g|0)>=(k|0)){g=m+(g+e)|0;if(j){a[g>>0]=111;break}else{a[g>>0]=88;break}}else{c[l>>2]=g;c[l+4>>2]=j?111:88;Vj(f,125513,l)}while(0)}while((i|0)>1)}g=a[d+97>>0]|0;if(!(g<<24>>24)){c[n>>2]=m;Vj(f,125520,n);oc=p;return}h=g&255;do{i=h;h=h+-1|0;g=b[d+32+(h<<1)>>1]|0;j=(a[d+80+h>>0]|0)==0;do if((g|0)<=(e|0)){g=m+(g+e)|0;if(j){a[g>>0]=111;break}else{a[g>>0]=88;break}}else{c[o>>2]=g;c[o+4>>2]=j?111:88;Vj(f,125513,o)}while(0)}while((i|0)>1);c[n>>2]=m;Vj(f,125520,n);oc=p;return}function lk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=oc;e=oc=oc+31&-32;oc=oc+80|0;k=e+72|0;j=e+64|0;i=e+56|0;h=e+48|0;g=e+40|0;n=e+32|0;m=e+24|0;l=e+16|0;f=e+8|0;switch(b|0){case 1:{b=110188;break}case 2:{b=110180;break}default:{oc=o;return}}b=c[b>>2]|0;Vj(b,125042,e);c[f>>2]=d[a>>0];Vj(b,125099,f);c[l>>2]=d[a+1>>0];Vj(b,125145,l);c[m>>2]=d[a+2>>0];Vj(b,125191,m);c[n>>2]=d[a+3>>0];Vj(b,125237,n);c[g>>2]=d[a+4>>0];Vj(b,125283,g);c[h>>2]=d[a+5>>0];Vj(b,125329,h);c[i>>2]=d[a+6>>0];Vj(b,125375,i);c[j>>2]=d[a+7>>0];Vj(b,125421,j);c[k>>2]=d[a+8>>0];Vj(b,125467,k);oc=o;return}function mk(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,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=oc;h=oc=oc+31&-32;oc=oc+304|0;o=h+288|0;n=h+280|0;m=h+272|0;R=h+264|0;Q=h+256|0;P=h+248|0;O=h+240|0;N=h+232|0;M=h+224|0;L=h+216|0;K=h+208|0;J=h+200|0;I=h+192|0;H=h+184|0;G=h+176|0;F=h+168|0;E=h+160|0;D=h+152|0;C=h+144|0;B=h+136|0;A=h+128|0;z=h+120|0;y=h+112|0;x=h+104|0;w=h+96|0;v=h+88|0;u=h+80|0;t=h+72|0;s=h+64|0;r=h+56|0;q=h+48|0;p=h+40|0;j=h+32|0;l=h+24|0;k=h+16|0;i=h+8|0;switch(f|0){case 1:{f=110188;break}case 2:{f=110180;break}default:{oc=S;return}}g=c[f>>2]|0;Vj(g,123588,h);h=e[b+4>>1]|0;c[i>>2]=e[b+2>>1];c[i+4>>2]=h;Vj(g,123629,i);c[k>>2]=d[b+6>>0];Vj(g,123665,k);c[l>>2]=d[b+7>>0];Vj(g,123698,l);l=b+8|0;c[j>>2]=d[l>>0];Vj(g,123731,j);if(a[l>>0]|0){switch(c[b+12>>2]|0){case 0:{f=123798;break}case 1:{f=123794;break}case 2:{f=123789;break}case 3:{f=123783;break}case 4:{f=123779;break}default:f=123767}c[p>>2]=f;Vj(g,123808,p);c[q>>2]=d[b+16>>0];Vj(g,123844,q);c[r>>2]=d[b+17>>0];Vj(g,123880,r);c[s>>2]=d[b+18>>0];Vj(g,123920,s);c[t>>2]=d[b+19>>0];Vj(g,123956,t);c[u>>2]=d[b+20>>0];Vj(g,123992,u)}u=b+21|0;c[v>>2]=d[u>>0];Vj(g,124028,v);if(a[u>>0]|0){c[w>>2]=d[b+22>>0];Vj(g,124062,w);c[x>>2]=d[b+23>>0];Vj(g,124105,x)}c[y>>2]=d[b+24>>0];Vj(g,124148,y);c[z>>2]=d[b+25>>0];Vj(g,124184,z);c[A>>2]=d[b+26>>0];Vj(g,124220,A);c[B>>2]=d[b+27>>0];Vj(g,124256,B);c[C>>2]=c[b+28>>2];Vj(g,124292,C);c[D>>2]=c[b+32>>2];Vj(g,124328,D);c[E>>2]=c[b+36>>2];Vj(g,124364,E);c[F>>2]=c[b+40>>2];Vj(g,124400,F);F=b+44|0;c[G>>2]=d[F>>0];Vj(g,124436,G);if(a[F>>0]|0){c[H>>2]=c[b+48>>2];Vj(g,124472,H);c[I>>2]=c[b+52>>2];Vj(g,124508,I)}c[J>>2]=d[b+56>>0];Vj(g,124544,J);c[K>>2]=c[b+60>>2];Vj(g,124586,K);c[L>>2]=d[b+64>>0];Vj(g,124628,L);L=b+65|0;c[M>>2]=d[L>>0];Vj(g,124666,M);if(!(a[L>>0]|0)){oc=S;return}c[N>>2]=d[b+66>>0];Vj(g,124707,N);c[O>>2]=d[b+67>>0];Vj(g,124748,O);c[P>>2]=d[b+68>>0];Vj(g,124796,P);c[Q>>2]=e[b+70>>1];Vj(g,124837,Q);c[R>>2]=d[b+72>>0];Vj(g,124878,R);c[m>>2]=d[b+73>>0];Vj(g,124919,m);c[n>>2]=d[b+74>>0];Vj(g,124960,n);c[o>>2]=d[b+75>>0];Vj(g,125001,o);oc=S;return}function nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=oc;f=oc=oc+31&-32;oc=oc+112|0;s=f+88|0;r=f+80|0;q=f+72|0;p=f+64|0;o=f+56|0;n=f+48|0;m=f+40|0;l=f+32|0;j=f+24|0;k=f+16|0;h=f+8|0;i=d?125558:125566;if(a[b>>0]|0){d=a[b+1>>0]|0;c[f>>2]=i;c[f+4>>2]=d;Vj(e,125576,f);f=a[b+2>>0]|0;c[h>>2]=i;c[h+4>>2]=f;Vj(e,125605,h);switch(c[b+4>>2]|0){case 1:{d=125690;break}case 2:{d=125683;break}case 3:{d=125666;break}case 4:{d=125644;break}default:d=125634}c[k>>2]=i;c[k+4>>2]=d;Vj(e,125695,k);c[j>>2]=i;Vj(e,125724,j);d=0;do{if(d|0)Vj(e,125915,q);c[r>>2]=a[b+8+d>>0];Vj(e,125918,r);d=d+1|0}while((d|0)!=32);Vj(e,125759,l);r=a[b+40>>0]|0;c[m>>2]=i;c[m+4>>2]=r;Vj(e,125762,m);r=a[b+41>>0]|0;c[n>>2]=i;c[n+4>>2]=r;Vj(e,125799,n);r=a[b+42>>0]|0;c[o>>2]=i;c[o+4>>2]=r;Vj(e,125835,o);r=a[b+43>>0]|0;c[p>>2]=i;c[p+4>>2]=r;Vj(e,125875,p)}if(!(a[b+44>>0]|0)){oc=t;return}r=c[b+48>>2]|0;c[s>>2]=i;c[s+4>>2]=r;g[s+8>>3]=+(r|0)/30.0;Vj(e,125922,s);oc=t;return}function ok(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a[b>>0]=1;a[b+44>>0]=1;vk(b,c);g=d+-1|0;f=(d|0)>1;if(!f)return;e=0;do{a[b+52+(e*52|0)>>0]=Qf(c,1)|0;a[b+52+(e*52|0)+44>>0]=Qf(c,1)|0;e=e+1|0}while((e|0)!=(g|0));if((d+-2|0)>>>0<7){e=g;while(1){Zg(c,2);if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{vk(b+52+(e*52|0)|0,c);e=e+1|0}while((e|0)!=(g|0));return}function pk(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;$j(b,3760,0);$j(b+16|0,3760,0);$j(b+32|0,3760,0);$j(b+48|0,3760,0);$j(b+64|0,3760,0);$j(b+80|0,3760,0);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+96)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+288)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+160)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+352)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+224)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+416)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{f=e+(c<<1)|0;g=e+(c<<1)+1|0;h=3776+c|0;a[((d[g>>0]|0)<<5)+((d[f>>0]|0)<<1)+(b+480)>>0]=a[h>>0]|0;a[((d[f>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+480)>>0]=a[h>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[f>>0]|0)<<1)+(b+480)>>0]=a[h>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[f>>0]|0)<<1|1)+(b+480)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1248)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1248)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1248)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1248)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3776+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+736)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+736)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+736)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+736)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1504)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1504)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1504)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1504)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3776+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+992)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+992)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+992)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+992)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=ug(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1760)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1760)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1760)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1760)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);$j(b+2016|0,3776,3);$j(b+3040|0,3840,3);return}function qk(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;f=c[k>>2]|0;l=a+4|0;e=c[l>>2]|0;if(((f-e|0)/100|0)>>>0>=d>>>0){do{f=e+100|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(f|0));e=(c[l>>2]|0)+100|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}j=c[a>>2]|0;h=e-j|0;e=(h|0)/100|0;i=e+d|0;if(i>>>0>42949672)gC(a);f=(f-j|0)/100|0;g=f<<1;g=f>>>0<21474836?(g>>>0<i>>>0?i:g):42949672;do if(g)if(g>>>0>42949672){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(g*100|0)|0;break}else f=0;while(0);e=f+(e*100|0)|0;rD(e|0,0,d*100|0)|0;e=e+(((h|0)/-100|0)*100|0)|0;if((h|0)>0)pD(e|0,j|0,h|0)|0;c[a>>2]=e;c[l>>2]=f+(i*100|0);c[k>>2]=f+(g*100|0);if(!j)return;xB(j);return}function rk(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=oc;if((i|0)!=0?((Qf(g,1)|0)&255)<<24>>24!=0:0){do if(k){k=_g(g)|0;if((k|0)!=-99999&(k|0)<(i|0)){k=k+1|0;break}else{h=0;oc=E;return h|0}}else k=1;while(0);B=i-k|0;if((B|0)<=-1)R(126257,126265,129,126277);n=Qf(g,1)|0;k=_g(g)|0;if((k|0)==-99999){h=0;oc=E;return h|0}o=k+1|0;l=~k;y=d[(c[j>>2]|0)+(B*100|0)+98>>0]|0;m=y+1|0;z=oc;oc=oc+((1*m|0)+15&-16)|0;A=oc;oc=oc+((1*m|0)+15&-16)|0;k=0;do{x=(Qf(g,1)|0)&255;a[z+k>>0]=x;if(!(x<<24>>24))i=(Qf(g,1)|0)&255;else i=1;a[A+k>>0]=i;k=k+1|0}while((k|0)!=(m|0));v=(n|0)==0?o:l;i=c[j>>2]|0;p=a[i+(B*100|0)+96>>0]|0;w=p&255;k=a[i+(B*100|0)+97>>0]|0;x=k&255;s=k<<24>>24==0;a:do if(!s){o=j+4|0;n=(k&255)<17;if(B>>>0>=(((c[o>>2]|0)-i|0)/100|0)>>>0)R(126305,126265,174,126277);m=x;k=0;while(1){l=m;m=m+-1|0;if(!n){D=18;break}i=v+(b[i+(B*100|0)+32+(m<<1)>>1]|0)|0;if((i|0)<0?(r=m+w|0,(a[A+r>>0]|0)!=0):0){if((k|0)>15){t=0;D=81;break}b[h+(k<<1)>>1]=i;a[h+64+k>>0]=a[z+r>>0]|0;k=k+1|0}if((l|0)<=1){q=k;break a}i=c[j>>2]|0;if(B>>>0>=(((c[o>>2]|0)-i|0)/100|0)>>>0){D=16;break}}if((D|0)==16)R(126305,126265,174,126277);else if((D|0)==18)R(126337,126265,175,126277);else if((D|0)==81){oc=E;return t|0}}else q=0;while(0);do if((v|0)<0?(a[A+y>>0]|0)!=0:0)if((q|0)>15){h=0;oc=E;return h|0}else{b[h+(q<<1)>>1]=v;a[h+64+q>>0]=a[z+y>>0]|0;k=q+1|0;break}else k=q;while(0);m=p<<24>>24==0;b:do if(!m){l=0;while(1){i=v+(b[(c[j>>2]|0)+(B*100|0)+(l<<1)>>1]|0)|0;if((i|0)<0?(a[A+l>>0]|0)!=0:0){if((k|0)>15){t=0;D=81;break}b[h+(k<<1)>>1]=i;a[h+64+k>>0]=a[z+l>>0]|0;u=k+1|0}else u=k;l=l+1|0;if(l>>>0>=w>>>0)break;else k=u}if((D|0)==81){oc=E;return t|0}o=h+96|0;a[o>>0]=u;if(m)k=0;else{l=w;k=0;while(1){m=l;l=l+-1|0;i=v+(b[(c[j>>2]|0)+(B*100|0)+(l<<1)>>1]|0)|0;if((i|0)>0?(a[A+l>>0]|0)!=0:0){if((k|0)>15){t=0;break}b[h+32+(k<<1)>>1]=i;a[h+80+k>>0]=a[z+l>>0]|0;k=k+1|0}if((m|0)<=1)break b}oc=E;return t|0}}else{o=h+96|0;a[o>>0]=k;k=0}while(0);do if((v|0)>0?(a[A+y>>0]|0)!=0:0)if((k|0)>15){h=0;oc=E;return h|0}else{b[h+32+(k<<1)>>1]=v;a[h+80+k>>0]=a[z+y>>0]|0;k=k+1|0;break}while(0);c:do if(!s){l=0;while(1){i=v+(b[(c[j>>2]|0)+(B*100|0)+32+(l<<1)>>1]|0)|0;if((i|0)>0?(C=l+w|0,(a[A+C>>0]|0)!=0):0){if((k|0)>15){t=0;break}b[h+32+(k<<1)>>1]=i;a[h+80+k>>0]=a[z+C>>0]|0;k=k+1|0}l=l+1|0;if(l>>>0>=x>>>0)break c}oc=E;return t|0}while(0);a[h+97>>0]=k}else D=56;d:do if((D|0)==56){n=_g(g)|0;p=_g(g)|0;if((n|0)==-99999|(p|0)==-99999){He(e,1018,0);h=0;oc=E;return h|0}if((p+n|0)>(c[f+528+((a[f+2>>0]|0)+-1<<2)>>2]|0)){h=h+96|0;b[h>>1]=0;b[h+2>>1]=0>>>16;He(e,1018,0);h=0;oc=E;return h|0}if((n|0)>16|(p|0)>16){He(e,1018,0);h=0;oc=E;return h|0}o=h+96|0;a[o>>0]=n;a[h+97>>0]=p;e:do if((n|0)>0){k=0;i=0;while(1){l=_g(g)|0;if((l|0)==-99999){t=0;break}f=(Qf(g,1)|0)&255;m=h+(k<<1)|0;b[m>>1]=i+65535-l;a[h+64+k>>0]=f;k=k+1|0;if((k|0)>=(n|0))break e;else i=b[m>>1]|0}oc=E;return t|0}while(0);if((p|0)>0){k=0;i=0;while(1){l=_g(g)|0;if((l|0)==-99999){t=0;break}f=(Qf(g,1)|0)&255;m=h+32+(k<<1)|0;b[m>>1]=i+1+l;a[h+80+k>>0]=f;k=k+1|0;if((k|0)>=(p|0))break d;else i=b[m>>1]|0}oc=E;return t|0}}while(0);p=h+99|0;a[p>>0]=0;g=a[o>>0]|0;n=g&255;if(!(g<<24>>24))k=0;else{l=0;i=0;while(1){k=i+1<<24>>24;if(!(a[h+64+l>>0]|0))k=i;else a[p>>0]=k;l=l+1|0;if((l|0)==(n|0))break;else i=k}}g=a[h+97>>0]|0;m=g&255;if(g<<24>>24){l=0;do{i=k+1<<24>>24;if(a[h+80+l>>0]|0){a[p>>0]=i;k=i}l=l+1|0}while((l|0)!=(m|0))}a[h+98>>0]=m+n;h=1;oc=E;return h|0}function sk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(Qf(f,1)|0)!=0;a[d>>0]=k&1;do if(k){g=Qf(f,8)|0;if((g|0)<18){b[d+2>>1]=b[3936+(g<<2)>>1]|0;g=b[3936+(g<<2)+2>>1]|0;break}if((g|0)==255){b[d+2>>1]=Qf(f,16)|0;g=(Qf(f,16)|0)&65535;break}else{b[d+2>>1]=0;g=0;break}}else{b[d+2>>1]=0;g=0}while(0);b[d+4>>1]=g;k=(Qf(f,1)|0)!=0;a[d+6>>0]=k&1;if(k)a[d+7>>0]=(Qf(f,1)|0)!=0&1;g=d+12|0;c[g>>2]=5;h=d+16|0;a[h>>0]=0;i=d+18|0;a[i>>0]=2;j=d+19|0;a[j>>0]=2;k=d+20|0;a[k>>0]=2;m=(Qf(f,1)|0)!=0;a[d+8>>0]=m&1;if(m?(m=Qf(f,3)|0,c[g>>2]=(m|0)<5?m:5,a[h>>0]=(Qf(f,1)|0)!=0&1,m=(Qf(f,1)|0)!=0,a[d+17>>0]=m&1,m):0){g=Qf(f,8)|0;m=g&255;a[i>>0]=m;switch(m<<24>>24){case 3:case 0:{l=14;break}default:if((g&255)>>>0>10)l=14}if((l|0)==14)a[i>>0]=2;g=Qf(f,8)|0;m=g&255;a[j>>0]=m;switch(m<<24>>24){case 3:case 0:{l=17;break}default:if((g&254)>>>0>17)l=17}if((l|0)==17)a[j>>0]=2;m=Qf(f,8)|0;a[k>>0]=((m&255)+-1|0)>>>0>9?2:m&255}m=(Qf(f,1)|0)!=0;a[d+21>>0]=m&1;do if(m){g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}a[d+22>>0]=g;g=_g(f)|0;if((g|0)!=-99999){g=g&255;break}He(e,8,0);m=8;return m|0}else{a[d+22>>0]=0;g=0}while(0);a[d+23>>0]=g;a[d+24>>0]=(Qf(f,1)|0)!=0&1;a[d+25>>0]=(Qf(f,1)|0)!=0&1;a[d+26>>0]=(Qf(f,1)|0)!=0&1;m=(Qf(f,1)|0)!=0;a[d+27>>0]=m&1;do if(m){g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}c[d+28>>2]=g;g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}c[d+32>>2]=g;g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}c[d+36>>2]=g;g=_g(f)|0;if((g|0)!=-99999){c[d+40>>2]=g;break}He(e,8,0);m=8;return m|0}else{m=d+28|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while(0);m=(Qf(f,1)|0)!=0;a[d+44>>0]=m&1;if(m){c[d+48>>2]=Qf(f,32)|0;c[d+52>>2]=Qf(f,32)|0}a[d+56>>0]=(Qf(f,1)|0)!=0&1;g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}c[d+60>>2]=g+1;m=(Qf(f,1)|0)!=0;a[d+64>>0]=m&1;if(m){m=502;return m|0}m=(Qf(f,1)|0)!=0;a[d+65>>0]=m&1;if(!m){a[d+66>>0]=0;a[d+67>>0]=1;a[d+68>>0]=0;b[d+70>>1]=0;a[d+72>>0]=2;a[d+73>>0]=1;a[d+74>>0]=15;a[d+75>>0]=15;m=0;return m|0}a[d+66>>0]=(Qf(f,1)|0)!=0&1;a[d+67>>0]=(Qf(f,1)|0)!=0&1;a[d+68>>0]=(Qf(f,1)|0)!=0&1;g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}h=d+70|0;b[h>>1]=g;if(g&61440|0){He(e,8,0);b[h>>1]=0}g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}h=d+72|0;a[h>>0]=g;if((g&255)>>>0>16){He(e,8,0);a[h>>0]=2}g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}h=d+73|0;a[h>>0]=g;if((g&255)>>>0>16){He(e,8,0);a[h>>0]=1}g=_g(f)|0;if((g|0)==-99999){He(e,8,0);m=8;return m|0}h=d+74|0;a[h>>0]=g;if(g&240|0){He(e,8,0);a[h>>0]=15}h=_g(f)|0;if((h|0)==-99999){He(e,8,0);m=8;return m|0}g=d+75|0;a[g>>0]=h;if(!(h&240)){m=0;return m|0}He(e,8,0);a[g>>0]=15;m=0;return m|0}function tk(b,c,d){b=b|0;c=c|0;d=d|0;a[b>>0]=Qf(d,1)|0;a[b+1>>0]=Qf(d,1)|0;a[b+2>>0]=Qf(d,1)|0;a[b+3>>0]=Qf(d,1)|0;a[b+4>>0]=Qf(d,1)|0;a[b+5>>0]=Qf(d,1)|0;a[b+6>>0]=Qf(d,1)|0;a[b+7>>0]=Qf(d,1)|0;a[b+8>>0]=Qf(d,1)|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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=c[b+476>>2]|0;h=c[3904+(k<<2)>>2]|0;c[b+5016>>2]=h;e=c[3920+(k<<2)>>2]|0;c[b+5020>>2]=e;l=(a[b+480>>0]|0)==0;p=l?k:0;c[b+5012>>2]=p;p=(p|0)==0;c[b+5024>>2]=p?1:h;c[b+5028>>2]=p?1:e;p=c[b+512>>2]|0;c[b+4996>>2]=p;c[b+5e3>>2]=(p*6|0)+-48;q=c[b+516>>2]|0;c[b+5004>>2]=q;c[b+5008>>2]=(q*6|0)+-48;r=c[b+612>>2]|0;c[b+5036>>2]=r;s=(c[b+616>>2]|0)+r|0;c[b+5040>>2]=s;t=1<<r;c[b+5044>>2]=t;g=1<<s;c[b+5048>>2]=g;u=c[b+484>>2]|0;n=u+-1|0;j=(n+t|0)/(t|0)|0;c[b+5052>>2]=j;n=(n+g|0)/(g|0)|0;c[b+5056>>2]=n;v=c[b+488>>2]|0;o=v+-1|0;i=(o+t|0)/(t|0)|0;c[b+5060>>2]=i;o=(o+g|0)/(g|0)|0;c[b+5064>>2]=o;c[b+5068>>2]=z(i,j)|0;c[b+5072>>2]=z(o,n)|0;c[b+5076>>2]=z(v,u)|0;if((k|0)==0|l^1){f=0;e=0}else{f=(g|0)/(e|0)|0;e=(g|0)/(h|0)|0}c[b+5080>>2]=e;c[b+5084>>2]=f;k=c[b+620>>2]|0;c[b+5100>>2]=k;l=(c[b+624>>2]|0)+k|0;c[b+5104>>2]=l;i=b+628|0;e=c[i>>2]|0;j=s-k|0;do if((e|0)>(j|0)){if(d){c[i>>2]=j;e=j;break}Vp(125965,70,1,c[27545]|0)|0;v=8;return v|0}while(0);h=b+632|0;f=c[h>>2]|0;do if((f|0)<=(j|0)){if(d){g=f;m=12}}else{if(d){c[h>>2]=j;g=j;m=12;break}Vp(126036,70,1,c[27545]|0)|0;v=8;return v|0}while(0);if((m|0)==12){f=s-l|0;if((e|0)<(f|0))c[i>>2]=f;if((g|0)<(f|0))c[h>>2]=f}m=r+-1|0;c[b+5108>>2]=m;m=s-m|0;c[b+5112>>2]=n<<m;c[b+5116>>2]=o<<m;m=c[b+4708>>2]|0;c[b+5120>>2]=m;c[b+5124>>2]=(c[b+4712>>2]|0)+m;n=n<<j;c[b+5088>>2]=n;o=o<<j;c[b+5092>>2]=o;c[b+5096>>2]=z(n,o)|0;if(!(a[b+4990>>0]|0)){e=q+248&255;f=p+248&255;g=128;h=128}else{e=0;f=0;g=1<<q+-1;h=1<<p+-1}a[b+5156>>0]=f;a[b+5157>>0]=e;c[b+5160>>2]=h;c[b+5164>>2]=g;if(((u|0)%(t|0)|0|0)==0?((v|0)%(t|0)|0|0)==0:0){if((k|0)>(r|0)){Vp(126132,19,1,c[27545]|0)|0;v=8;return v|0}if((l|0)>(((s|0)<5?s:5)|0)){Vp(126152,30,1,c[27545]|0)|0;v=8;return v|0}if((p+-8|0)>>>0>8){Vp(126183,36,1,c[27545]|0)|0;v=8;return v|0}if((q+-8|0)>>>0>8){Vp(126220,36,1,c[27545]|0)|0;v=8;return v|0}else{a[b>>0]=1;v=0;return v|0}}Vp(126107,24,1,c[27545]|0)|0;v=8;return v|0}function vk(b,d){b=b|0;d=d|0;if(a[b>>0]|0){a[b+1>>0]=Qf(d,2)|0;a[b+2>>0]=Qf(d,1)|0;c[b+4>>2]=Qf(d,5)|0;a[b+8>>0]=Qf(d,1)|0;a[b+9>>0]=Qf(d,1)|0;a[b+10>>0]=Qf(d,1)|0;a[b+11>>0]=Qf(d,1)|0;a[b+12>>0]=Qf(d,1)|0;a[b+13>>0]=Qf(d,1)|0;a[b+14>>0]=Qf(d,1)|0;a[b+15>>0]=Qf(d,1)|0;a[b+16>>0]=Qf(d,1)|0;a[b+17>>0]=Qf(d,1)|0;a[b+18>>0]=Qf(d,1)|0;a[b+19>>0]=Qf(d,1)|0;a[b+20>>0]=Qf(d,1)|0;a[b+21>>0]=Qf(d,1)|0;a[b+22>>0]=Qf(d,1)|0;a[b+23>>0]=Qf(d,1)|0;a[b+24>>0]=Qf(d,1)|0;a[b+25>>0]=Qf(d,1)|0;a[b+26>>0]=Qf(d,1)|0;a[b+27>>0]=Qf(d,1)|0;a[b+28>>0]=Qf(d,1)|0;a[b+29>>0]=Qf(d,1)|0;a[b+30>>0]=Qf(d,1)|0;a[b+31>>0]=Qf(d,1)|0;a[b+32>>0]=Qf(d,1)|0;a[b+33>>0]=Qf(d,1)|0;a[b+34>>0]=Qf(d,1)|0;a[b+35>>0]=Qf(d,1)|0;a[b+36>>0]=Qf(d,1)|0;a[b+37>>0]=Qf(d,1)|0;a[b+38>>0]=Qf(d,1)|0;a[b+39>>0]=Qf(d,1)|0;a[b+40>>0]=Qf(d,1)|0;a[b+41>>0]=Qf(d,1)|0;a[b+42>>0]=Qf(d,1)|0;a[b+43>>0]=Qf(d,1)|0;Zg(d,44)}if(!(a[b+44>>0]|0))return;c[b+48>>2]=Qf(d,8)|0;return}function wk(b){b=b|0;var d=0,e=0;c[b+4720>>2]=0;c[b+4724>>2]=0;c[b+4728>>2]=0;xk(b+4904|0);d=b+4984|0;e=d+9|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));a[b>>0]=0;return}function xk(d){d=d|0;var e=0,f=0,g=0;a[d>>0]=0;e=d+2|0;b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;a[e+6>>0]=0;c[d+12>>2]=5;a[d+16>>0]=0;a[d+17>>0]=0;a[d+18>>0]=2;a[d+19>>0]=2;a[d+20>>0]=2;c[d+48>>2]=0;c[d+52>>2]=0;a[d+56>>0]=0;e=d+60|0;f=d+21|0;g=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e>>2]=1;a[d+64>>0]=0;a[d+65>>0]=0;a[d+66>>0]=0;a[d+67>>0]=1;a[d+68>>0]=0;b[d+70>>1]=0;a[d+72>>0]=2;a[d+73>>0]=1;a[d+74>>0]=15;a[d+75>>0]=15;return}function yk(a){a=a|0;c[a>>2]=12432;Ck(a+12|0);qB(a);return}function zk(a){a=a|0;c[a>>2]=12432;Ck(a+12|0);qB(a);xB(a);return}function Ak(a){a=a|0;Ck(a+12|0);return}function Bk(a){a=a|0;xB(a);return}function Ck(a){a=a|0;var b=0;b=c[a+4720>>2]|0;if(!b)return;c[a+4724>>2]=b;xB(b);return}function Dk(a,b){a=a|0;b=b|0;return}function Ek(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;s=Qf(f,4)|0;c[d>>2]=s;if((s|0)>15){f=8;return f|0}Zg(f,2);s=Qf(f,6)|0;c[d+4>>2]=s+1;if((s|0)>62){f=8;return f|0}s=Qf(f,3)|0;j=d+8|0;c[j>>2]=s+1;if((s|0)>6){f=8;return f|0}c[d+12>>2]=Qf(f,1)|0;Zg(f,16);ok(d+16|0,f,c[j>>2]|0);s=Qf(f,1)|0;k=d+484|0;c[k>>2]=s;g=c[j>>2]|0;if(s){if((g|0)>0){l=0;h=7}}else{l=g+-1|0;h=7}do if((h|0)==7){g=l;while(1){s=d+488+(g*12|0)|0;c[s>>2]=_g(f)|0;h=d+488+(g*12|0)+4|0;c[h>>2]=_g(f)|0;i=_g(f)|0;c[d+488+(g*12|0)+8>>2]=i;if((c[s>>2]|0)==-99999){g=8;h=70;break}g=g+1|0;if((i|0)==-99999|(c[h>>2]|0)==-99999){g=8;h=70;break}if((g|0)>=(c[j>>2]|0)){h=11;break}}if((h|0)==11){if(c[k>>2]|0)break;if((l|0)>=8)R(127299,127339,144,127348);if((l|0)<=0)break;h=d+488+(l*12|0)|0;i=d+488+(l*12|0)+4|0;j=d+488+(l*12|0)+8|0;g=0;do{c[d+488+(g*12|0)>>2]=c[h>>2];c[d+488+(g*12|0)+4>>2]=c[i>>2];c[d+488+(g*12|0)+8>>2]=c[j>>2];g=g+1|0}while((g|0)!=(l|0))}else if((h|0)==70)return g|0}while(0);r=d+584|0;a[r>>0]=Qf(f,6)|0;j=_g(f)|0;s=d+588|0;c[s>>2]=j;j=j+1|0;if(j>>>0>1023){He(e,8,0);f=8;return f|0}c[s>>2]=j;q=d+592|0;k=d+596|0;g=c[k>>2]|0;i=c[q>>2]|0;h=(g-i|0)/12|0;if(j>>>0<=h>>>0){if(j>>>0<h>>>0){j=i+(j*12|0)|0;if((j|0)!=(g|0))do{h=g;g=g+-12|0;i=c[g>>2]|0;if(i|0){c[h+-8>>2]=i;xB(i)}}while((g|0)!=(j|0));c[k>>2]=j}}else Gk(q,j-h|0);if((c[s>>2]|0)>1){g=1;i=a[r>>0]|0;do{j=c[q>>2]|0;o=j+(g*12|0)|0;k=i&255;l=k+1|0;p=j+(g*12|0)+4|0;h=c[p>>2]|0;e=c[o>>2]|0;m=h-e|0;n=e;a:do if(m>>>0>k>>>0){if(l>>>0<m>>>0)c[p>>2]=n+l}else{i=l-m|0;k=j+(g*12|0)+8|0;j=c[k>>2]|0;if((j-h|0)>>>0>=i>>>0)while(1){a[h>>0]=0;h=(c[p>>2]|0)+1|0;c[p>>2]=h;i=i+-1|0;if(!i)break a}h=j-e|0;j=h<<1;j=h>>>0<1073741823?(j>>>0<l>>>0?l:j):2147483647;if(!j)h=0;else h=vB(j)|0;rD(h+m|0,0,i|0)|0;if((m|0)>0)pD(h|0,n|0,m|0)|0;c[o>>2]=h;c[p>>2]=h+l;c[k>>2]=h+j;if(e|0)xB(n)}while(0);h=0;while(1){i=(Qf(f,1)|0)&255;a[(c[(c[q>>2]|0)+(g*12|0)>>2]|0)+h>>0]=i;i=a[r>>0]|0;if(h>>>0<(i&255)>>>0)h=h+1|0;else break}g=g+1|0}while((g|0)<(c[s>>2]|0))}s=(Qf(f,1)|0)&255;a[d+604>>0]=s;if(s<<24>>24?(c[d+608>>2]=Qf(f,32)|0,c[d+612>>2]=Qf(f,32)|0,s=(Qf(f,1)|0)&255,a[d+616>>0]=s,s<<24>>24):0){c[d+620>>2]=(_g(f)|0)+1;g=_g(f)|0;p=d+624|0;c[p>>2]=g;if((g|0)>1023)R(145674,127339,189,127348);q=d+628|0;h=d+632|0;i=c[q>>2]|0;j=(c[h>>2]|0)-i>>1;if(g>>>0<=j>>>0)if(g>>>0<j>>>0){c[h>>2]=i+(g<<1);e=g}else e=g;else{Hk(q,g-j|0);e=c[p>>2]|0}j=d+640|0;o=d+644|0;g=c[o>>2]|0;k=c[j>>2]|0;l=g-k|0;m=k;b:do if(e>>>0>l>>>0){h=e-l|0;n=d+648|0;i=c[n>>2]|0;if((i-g|0)>>>0>=h>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;h=h+-1|0;if(!h)break b}if((e|0)<0)gC(j);s=i-k|0;i=s<<1;i=s>>>0<1073741823?(i>>>0<e>>>0?e:i):2147483647;if(!i)g=0;else g=vB(i)|0;rD(g+l|0,0,h|0)|0;if((l|0)>0)pD(g|0,m|0,l|0)|0;c[j>>2]=g;c[o>>2]=g+e;c[n>>2]=g+i;if(k|0)xB(m)}else if(e>>>0<l>>>0)c[o>>2]=m+e;while(0);if((c[p>>2]|0)>0){f=(_g(f)|0)&65535;b[c[q>>2]>>1]=f;f=0;return f|0}}a[d+652>>0]=Qf(f,1)|0;f=0;return f|0}function Fk(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=oc;g=oc=oc+31&-32;oc=oc+208|0;E=g+192|0;D=g+184|0;C=g+176|0;B=g+168|0;A=g+160|0;z=g+152|0;y=g+144|0;x=g+128|0;w=g+120|0;u=g+112|0;t=g+104|0;p=g+96|0;o=g+88|0;n=g+80|0;s=g+72|0;r=g+64|0;q=g+56|0;m=g+48|0;l=g+40|0;k=g+32|0;j=g+24|0;i=g+16|0;h=g+8|0;switch(f|0){case 1:{f=110188;break}case 2:{f=110180;break}default:{oc=F;return}}v=c[f>>2]|0;Vj(v,126437,g);c[h>>2]=c[b>>2];Vj(v,126478,h);c[i>>2]=c[b+4>>2];Vj(v,126522,i);h=b+8|0;c[j>>2]=c[h>>2];Vj(v,126566,j);c[k>>2]=c[b+12>>2];Vj(v,126610,k);k=c[h>>2]|0;nk(b+16|0,1,v);g=k+-1|0;if((k|0)>1){f=0;do{c[l>>2]=f;Vj(v,125525,l);nk(b+68+(f*52|0)|0,0,v);f=f+1|0}while((f|0)!=(g|0))}l=b+484|0;c[m>>2]=c[l>>2];Vj(v,126654,m);if(c[l>>2]|0){if((c[h>>2]|0)>0){f=0;do{p=c[b+488+(f*12|0)>>2]|0;c[q>>2]=f;c[q+4>>2]=p;Vj(v,126701,q);c[r>>2]=c[b+488+(f*12|0)+4>>2];Vj(v,126743,r);c[s>>2]=c[b+488+(f*12|0)+8>>2];Vj(v,126784,s);f=f+1|0}while((f|0)<(c[h>>2]|0))}}else{c[n>>2]=c[b+488>>2];Vj(v,126825,n);c[o>>2]=c[b+492>>2];Vj(v,126870,o);c[p>>2]=c[b+496>>2];Vj(v,126915,p)}j=b+584|0;c[t>>2]=d[j>>0];Vj(v,126960,t);i=b+588|0;c[u>>2]=c[i>>2];Vj(v,126985,u);if((c[i>>2]|0)>1){h=b+592|0;g=1;do{f=0;while(1){u=a[(c[(c[h>>2]|0)+(g*12|0)>>2]|0)+f>>0]|0;c[x>>2]=g;c[x+4>>2]=f;c[x+8>>2]=u;Vj(v,127045,x);if(f>>>0<(d[j>>0]|0)>>>0)f=f+1|0;else break}g=g+1|0}while((g|0)<(c[i>>2]|0))}x=b+604|0;c[w>>2]=a[x>>0];Vj(v,127010,w);if((a[x>>0]|0?(c[y>>2]=c[b+608>>2],Vj(v,127082,y),c[z>>2]=c[b+612>>2],Vj(v,127110,z),z=b+616|0,c[A>>2]=a[z>>0],Vj(v,127138,A),a[z>>0]|0):0)?(c[B>>2]=c[b+620>>2],Vj(v,127180,B),B=b+624|0,c[C>>2]=c[B>>2],Vj(v,127213,C),(c[B>>2]|0)>0):0){E=e[c[b+628>>2]>>1]|0;c[D>>2]=0;c[D+4>>2]=E;Vj(v,127246,D);oc=F;return}c[E>>2]=a[b+652>>0];Vj(v,127274,E);oc=F;return}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=oc;i=oc=oc+31&-32;oc=oc+32|0;h=c[a+8>>2]|0;d=a+4|0;e=c[d>>2]|0;if(((h-e|0)/12|0)>>>0>=b>>>0){rD(e|0,0,b*12|0)|0;c[d>>2]=e+(b*12|0);oc=j;return}f=c[a>>2]|0;g=(e-f|0)/12|0;d=g+b|0;if(d>>>0>357913941)gC(a);h=(h-f|0)/12|0;e=h<<1;e=h>>>0<178956970?(e>>>0<d>>>0?d:e):357913941;c[i+12>>2]=0;c[i+16>>2]=a+8;do if(e)if(e>>>0>357913941){j=S(8)|0;BB(j,127353);c[j>>2]=113808;X(j|0,11744,126)}else{d=vB(e*12|0)|0;break}else d=0;while(0);c[i>>2]=d;f=d+(g*12|0)|0;h=i+8|0;g=i+4|0;c[g>>2]=f;c[i+12>>2]=d+(e*12|0);rD(f|0,0,b*12|0)|0;c[h>>2]=f+(b*12|0);Ik(a,i);g=c[g>>2]|0;d=c[h>>2]|0;if((d|0)!=(g|0))do{e=d+-12|0;c[h>>2]=e;f=c[e>>2]|0;if(!f)d=e;else{c[d+-8>>2]=f;xB(f);d=c[h>>2]|0}}while((d|0)!=(g|0));d=c[i>>2]|0;if(d|0)xB(d);oc=j;return}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>1>>>0>=b>>>0){rD(d|0,0,b<<1|0)|0;c[l>>2]=d+(b<<1);return}j=c[a>>2]|0;i=d-j|0;h=i>>1;d=h+b|0;if((d|0)<0)gC(a);g=e-j|0;g=g>>1>>>0<1073741823?(g>>>0<d>>>0?d:g):2147483647;do if(g)if((g|0)<0){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(g<<1)|0;e=f;break}else{e=0;f=0}while(0);d=e+(h<<1)|0;rD(d|0,0,b<<1|0)|0;if((i|0)>0)pD(f|0,j|0,i|0)|0;c[a>>2]=e;c[l>>2]=d+(b<<1);c[k>>2]=e+(g<<1);if(!j)return;xB(j);return}function Ik(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;k=c[a>>2]|0;n=a+4|0;d=c[n>>2]|0;q=b+4|0;do if((d|0)!=(k|0)){h=c[q>>2]|0;while(1){f=h+-12|0;c[f>>2]=0;i=h+-8|0;c[i>>2]=0;c[h+-4>>2]=0;g=d+-8|0;d=d+-12|0;e=(c[g>>2]|0)-(c[d>>2]|0)|0;if(e|0){if((e|0)<0){d=6;break}j=vB(e)|0;c[i>>2]=j;c[f>>2]=j;c[h+-4>>2]=j+e;f=c[d>>2]|0;e=(c[g>>2]|0)-f|0;if((e|0)>0){pD(j|0,f|0,e|0)|0;c[i>>2]=j+e}}h=(c[q>>2]|0)+-12|0;c[q>>2]=h;if((d|0)==(k|0)){d=10;break}}if((d|0)==6)gC(f);else if((d|0)==10){l=q;m=a;o=h;p=c[a>>2]|0;break}}else{l=q;m=a;o=c[q>>2]|0;p=k}while(0);c[m>>2]=o;c[l>>2]=p;o=b+8|0;q=c[n>>2]|0;c[n>>2]=c[o>>2];c[o>>2]=q;o=a+8|0;q=b+12|0;p=c[o>>2]|0;c[o>>2]=c[q>>2];c[q>>2]=p;c[b>>2]=c[l>>2];return}function Jk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=12460;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;xB(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;xB(b)}f=a+604|0;g=c[f>>2]|0;if(!g){qB(a);return}h=a+608|0;b=c[h>>2]|0;if((b|0)==(g|0))b=g;else{do{d=b;b=b+-12|0;e=c[b>>2]|0;if(e|0){c[d+-8>>2]=e;xB(e)}}while((b|0)!=(g|0));b=c[f>>2]|0}c[h>>2]=g;xB(b);qB(a);return}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=12460;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;xB(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;xB(b)}f=a+604|0;g=c[f>>2]|0;if(!g){qB(a);xB(a);return}h=a+608|0;b=c[h>>2]|0;if((b|0)==(g|0))b=g;else{do{d=b;b=b+-12|0;e=c[b>>2]|0;if(e|0){c[d+-8>>2]=e;xB(e)}}while((b|0)!=(g|0));b=c[f>>2]|0}c[h>>2]=g;xB(b);qB(a);xB(a);return}function Lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;xB(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;xB(b)}e=a+604|0;g=c[e>>2]|0;if(!g)return;f=a+608|0;b=c[f>>2]|0;if((b|0)==(g|0))b=g;else{do{a=b;b=b+-12|0;d=c[b>>2]|0;if(d|0){c[a+-8>>2]=d;xB(d)}}while((b|0)!=(g|0));b=c[e>>2]|0}c[f>>2]=g;xB(b);return}function Mk(a){a=a|0;xB(a);return}function Nk(a){a=a|0;c[a+780>>2]=0;c[a+784>>2]=0;c[a+788>>2]=0;Gj(a+1336|0);c[a+1348>>2]=0;c[a+1352>>2]=0;c[a+1356>>2]=0;rl(a);return}function Ok(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,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;a[h>>0]=0;l=e+12|0;c[l>>2]=0;q=e+16|0;a[q>>0]=0;E=e+20|0;u=e+32|0;c[u>>2]=0;v=e+36|0;a[v>>0]=0;i=e+38|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[E>>2]=0;c[E+4>>2]=0;b[E+8>>1]=0;pl(i);w=e+140|0;y=e+380|0;M=e+740|0;A=e+760|0;c[A>>2]=0;B=e+764|0;c[B>>2]=0;C=e+768|0;a[C>>0]=0;H=e+772|0;c[H>>2]=0;I=e+776|0;c[I>>2]=0;J=e+780|0;rD(w|0,0,237)|0;rD(y|0,0,358)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;b[M+16>>1]=0;a[M+18>>0]=0;F=e+784|0;c[F>>2]=c[J>>2];L=e+792|0;k=e+816|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;pl(k);x=e+916|0;n=e+1348|0;rD(x|0,0,420)|0;c[e+1352>>2]=c[n>>2];o=e+1344|0;a[o>>0]=0;a[q>>0]=0;p=e+8|0;a[p>>0]=Qf(f,1)|0;if(a[g+3210>>0]|0)a[e+9>>0]=Qf(f,1)|0;j=_g(f)|0;c[l>>2]=j;if((j|0)>64|(j|0)==-99999){He(g+4|0,1009,0);h=0;return h|0}j=c[g+856+(j<<3)>>2]|0;if(!j){He(g+4|0,1009,0);h=0;return h|0}K=e+4|0;c[K>>2]=j;D=c[j+4>>2]|0;if(!(a[D>>0]|0)){He(g+4|0,1010,0);a[h>>0]=0;h=0;return h|0}if(!(a[p>>0]|0)){if(!(a[j+10>>0]|0))j=0;else j=(Qf(f,1)|0)&255;a[q>>0]=j;m=D+5072|0;l=c[m>>2]|0;j=0;while(1)if((1<<j|0)<(l|0))j=j+1|0;else break;l=Qf(f,j)|0;if(!(a[q>>0]|0))j=0;else{if(!l){a[h>>0]=0;He(g+4|0,1021,0);h=0;return h|0}j=c[g+2224>>2]|0;if(!j){h=16;return h|0}pD(e|0,j|0,780)|0;if((j|0)==(e|0)){o=e+1336|0;Cf(o,o)|0}else{kl(J,c[j+780>>2]|0,c[j+784>>2]|0);pD(L|0,j+792|0,544)|0;Cf(e+1336|0,j+1336|0)|0;a[o>>0]=a[j+1344>>0]|0;kl(n,c[j+1348>>2]|0,c[j+1352>>2]|0)}a[p>>0]=0;a[q>>0]=1;j=1}c[E>>2]=l;if((l|0)>=0){r=m;s=l;t=j;G=24}}else{a[q>>0]=0;c[E>>2]=0;r=D+5072|0;s=0;t=0;G=24}if((G|0)==24?(s|0)<(c[r>>2]|0):0){if(!(t<<24>>24)){if((a[(c[K>>2]|0)+4140>>0]|0)>0){j=0;do{Zg(f,1);j=j+1|0}while((j|0)<(a[(c[K>>2]|0)+4140>>0]|0))}t=_g(f)|0;q=e+24|0;c[q>>2]=t;if((t|0)>2|(t|0)==-99999){He(g+4|0,1007,0);a[h>>0]=0;h=0;return h|0}if(!(a[(c[K>>2]|0)+39>>0]|0))j=1;else j=(Qf(f,1)|0)&255;a[e+28>>0]=j;if((a[D+480>>0]|0)==1)a[e+29>>0]=Qf(f,2)|0;c[u>>2]=0;a[v>>0]=0;do if(((a[g+3208>>0]|0)+-19&255)>=2){p=D+520|0;c[u>>2]=Qf(f,c[p>>2]|0)|0;u=(Qf(f,1)|0)&255;a[v>>0]=u;do if(!(u<<24>>24)){j=D+4720|0;w=D+4724|0;rk(g+4|0,D,f,i,((c[w>>2]|0)-(c[j>>2]|0)|0)/100|0,j,1)|0;c[e+812>>2]=((c[w>>2]|0)-(c[j>>2]|0)|0)/100|0;j=k+100|0;do{b[k>>1]=b[i>>1]|0;k=k+2|0;i=i+2|0}while((k|0)<(j|0))}else{l=D+4720|0;n=D+4724|0;m=c[l>>2]|0;i=((c[n>>2]|0)-m|0)/100|0;j=0;while(1)if((1<<j|0)<(i|0))j=j+1|0;else break;if(!j)j=0;else{j=Qf(f,j)|0;i=c[l>>2]|0;m=i;i=((c[n>>2]|0)-i|0)/100|0}c[w>>2]=j;if((j|0)<(i|0)){c[e+812>>2]=j;i=m+(j*100|0)|0;j=k+100|0;do{b[k>>1]=b[i>>1]|0;k=k+2|0;i=i+2|0}while((k|0)<(j|0));break}He(g+4|0,1015,0);h=8;return h|0}while(0);a:do if(!(a[D+4732>>0]|0)){c[e+144>>2]=0;c[e+148>>2]=0;i=0}else{m=D+4736|0;do if((c[m>>2]|0)>0){w=_g(f)|0;c[e+144>>2]=w;if((w|0)==-99999)i=8;else break;return i|0}else c[e+144>>2]=0;while(0);i=_g(f)|0;n=e+148|0;c[n>>2]=i;if((i|0)==-99999){h=8;return h|0}o=e+144|0;j=c[o>>2]|0;i=j+i|0;if((i+(d[e+912>>0]|0)+(d[e+913>>0]|0)|0)>(c[D+528+((a[D+2>>0]|0)+-1<<2)>>2]|0)){He(g+4|0,1018,0);a[h>>0]=0;h=0;return h|0}if((i|0)<=0){i=0;break}i=0;l=0;while(1){if((l|0)<(j|0)){k=c[m>>2]|0;j=0;while(1)if((1<<j|0)<(k|0))j=j+1|0;else break;k=Qf(f,j)|0;j=e+152+l|0;a[j>>0]=k;k=k&255;if((k|0)>=(c[m>>2]|0))break;c[g+2228+(l<<2)>>2]=c[D+4740+(k<<2)>>2];j=(d[j>>0]|0)+(D+4868)|0}else{w=e+168+(l<<2)|0;c[w>>2]=Qf(f,c[p>>2]|0)|0;j=e+232+l|0;a[j>>0]=Qf(f,1)|0;c[g+2228+(l<<2)>>2]=c[w>>2]}w=a[j>>0]|0;c[g+2292+(l<<2)>>2]=w<<24>>24;i=i+(w<<24>>24!=0&1)|0;w=(Qf(f,1)|0)&255;a[e+248+l>>0]=w;if(w<<24>>24){j=_g(f)|0;c[e+264+(l<<2)>>2]=j;if((j|0)==-99999){i=8;G=193;break}}else{c[e+264+(l<<2)>>2]=0;j=0}do if(l){if((l|0)==(c[o>>2]|0))break;j=(c[g+2356+(l+-1<<2)>>2]|0)+j|0}while(0);c[g+2356+(l<<2)>>2]=j;l=l+1|0;j=c[o>>2]|0;if((l|0)>=((c[n>>2]|0)+j|0))break a}if((G|0)==193)return i|0;He(g+4|0,1023,0);a[h>>0]=0;h=0;return h|0}while(0);if(!(a[D+4900>>0]|0)){a[e+328>>0]=0;break}else{a[e+328>>0]=Qf(f,1)|0;break}}else{c[u>>2]=0;c[e+144>>2]=0;c[e+148>>2]=0;i=0}while(0);if(a[D+4703>>0]|0){a[e+329>>0]=Qf(f,1)|0;if(!(c[D+5012>>2]|0))j=0;else j=(Qf(f,1)|0)&255}else{a[e+329>>0]=0;j=0}a[e+330>>0]=j;k=e+332|0;c[k>>2]=0;l=e+336|0;c[l>>2]=0;do if((c[q>>2]|0)>>>0<2){w=(Qf(f,1)|0)&255;a[e+331>>0]=w;do if(!(w<<24>>24)){w=c[K>>2]|0;j=a[w+13>>0]|0;c[k>>2]=j;c[l>>2]=a[w+14>>0]}else{j=_g(f)|0;c[k>>2]=j;if((j|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}j=j+1|0;c[k>>2]=j;if(c[q>>2]|0)break;j=_g(f)|0;c[l>>2]=j;if((j|0)!=-99999){c[l>>2]=j+1;j=c[k>>2]|0;break}He(g+4|0,1007,0);h=8;return h|0}while(0);if((j|0)>16){h=8;return h|0}if((c[l>>2]|0)>16){h=8;return h|0}i=i+(d[e+915>>0]|0)|0;c[x>>2]=i;do if((i|0)>1?(a[(c[K>>2]|0)+4133>>0]|0)!=0:0){j=0;while(1)if((1<<j|0)<(i|0))j=j+1|0;else break;x=(Qf(f,1)|0)&255;a[e+340>>0]=x;do if(x<<24>>24){if((c[k>>2]|0)<=0)break;i=0;do{a[e+342+i>>0]=Qf(f,j)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}while(0);if(c[q>>2]|0){a[e+341>>0]=0;break}G=(Qf(f,1)|0)&255;a[e+341>>0]=G;if(!(G<<24>>24)){G=103;break}if((c[l>>2]|0)<=0){G=103;break}i=0;do{a[e+358+i>>0]=Qf(f,j)|0;i=i+1|0}while((i|0)<(c[l>>2]|0));G=103}else{a[e+340>>0]=0;a[e+341>>0]=0;G=103}while(0);do if((G|0)==103){if(c[q>>2]|0)break;a[e+374>>0]=Qf(f,1)|0}while(0);if(!(a[(c[K>>2]|0)+12>>0]|0))i=0;else i=(Qf(f,1)|0)&255;a[e+375>>0]=i;do if(a[e+328>>0]|0){do if(!(c[q>>2]|0)){i=(Qf(f,1)|0)&255;j=e+376|0;a[j>>0]=i;if(i<<24>>24){G=111;break}if((c[l>>2]|0)>1){i=j;G=113}else{i=0;G=116}}else{j=e+376|0;a[j>>0]=1;i=1;G=111}while(0);if((G|0)==111)if((c[k>>2]|0)>1){i=j;G=113}else G=116;do if((G|0)==113){j=_g(f)|0;c[y>>2]=j;if((j|0)!=-99999){i=a[i>>0]|0;break}He(g+4|0,1007,0);h=8;return h|0}else if((G|0)==116){c[y>>2]=0;j=0}while(0);if(!(i<<24>>24)){if((j|0)<(c[l>>2]|0))break}else if((j|0)<(c[k>>2]|0))break;He(g+4|0,8,0);h=8;return h|0}while(0);i=c[K>>2]|0;if((a[i+37>>0]|0)!=0?(c[q>>2]|0)==1:0)G=125;else G=123;do if((G|0)==123){if(!(a[i+38>>0]|0))break;if(!(c[q>>2]|0))G=125}while(0);do if((G|0)==125){if(ql(f,e,g)|0)break;He(g+4|0,8,0);h=8;return h|0}while(0);i=_g(f)|0;c[M>>2]=i;if((i|0)!=-99999){c[e+808>>2]=5-i;break}He(g+4|0,1007,0);h=8;return h|0}while(0);y=$g(f)|0;c[e+744>>2]=y;if((y|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}i=c[K>>2]|0;do if(!(a[i+36>>0]|0)){c[e+748>>2]=0;c[e+752>>2]=0}else{y=$g(f)|0;c[e+748>>2]=y;if((y|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}y=$g(f)|0;c[e+752>>2]=y;if((y|0)!=-99999){i=c[K>>2]|0;break}He(g+4|0,1007,0);h=8;return h|0}while(0);if(a[i+4148>>0]|0){a[e+756>>0]=Qf(f,1)|0;i=c[K>>2]|0}if(!(a[i+56>>0]|0))j=0;else{j=(Qf(f,1)|0)&255;i=c[K>>2]|0}a[e+757>>0]=j;c[A>>2]=c[i+60>>2];c[B>>2]=c[i+64>>2];do if(!(j<<24>>24))a[e+758>>0]=a[i+57>>0]|0;else{y=(Qf(f,1)|0)&255;a[e+758>>0]=y;if(y<<24>>24)break;i=$g(f)|0;c[A>>2]=i;if((i|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}c[A>>2]=i<<1;i=$g(f)|0;c[B>>2]=i;if((i|0)!=-99999){c[B>>2]=i<<1;break}He(g+4|0,1007,0);h=8;return h|0}while(0);i=a[(c[K>>2]|0)+54>>0]|0;b:do if(i<<24>>24){do if(!(a[e+329>>0]|0)){if(a[e+330>>0]|0)break;if(a[e+758>>0]|0)break b}while(0);i=(Qf(f,1)|0)&255}while(0);a[C>>0]=i}C=c[K>>2]|0;if((a[C+42>>0]|0)==0?(a[C+41>>0]|0)==0:0)c[H>>2]=0;else G=159;c:do if((G|0)==159){i=_g(f)|0;c[H>>2]=i;if((i|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}j=c[K>>2]|0;if(a[j+41>>0]|0?(((c[E>>2]|0)/(c[D+5056>>2]|0)|0)+i|0)>=(c[D+5064>>2]|0):0){He(g+4|0,1007,0);h=8;return h|0}if(a[j+42>>0]|0?(i|0)>(z(c[j+48>>2]|0,c[j+44>>2]|0)|0):0){He(g+4|0,1007,0);h=8;return h|0}j=c[J>>2]|0;k=(c[F>>2]|0)-j>>2;if(i>>>0<=k>>>0){if(i>>>0<k>>>0)c[F>>2]=j+(i<<2)}else{_j(J,i-k|0);i=c[H>>2]|0}if((i|0)>0){i=_g(f)|0;c[I>>2]=i;if((i|0)==-99999){He(g+4|0,1007,0);h=8;return h|0}j=i+1|0;c[I>>2]=j;if((i|0)>31){h=8;return h|0}if((c[H>>2]|0)>0){i=0;while(1){j=(Qf(f,j)|0)+1|0;k=c[J>>2]|0;l=k+(i<<2)|0;c[l>>2]=j;if(i|0)c[l>>2]=(c[k+(i+-1<<2)>>2]|0)+j;i=i+1|0;if((i|0)>=(c[H>>2]|0))break c;j=c[I>>2]|0}}}}while(0);if(a[(c[K>>2]|0)+4141>>0]|0){i=_g(f)|0;c[L>>2]=i;if((i|0)==-99999|(i|0)>1e3){He(g+4|0,1007,0);h=8;return h|0}if((i|0)>0){i=0;do{Qf(f,8)|0;i=i+1|0}while((i|0)<(c[L>>2]|0))}}c[e+796>>2]=(c[e+744>>2]|0)+(c[(c[K>>2]|0)+16>>2]|0);switch(c[e+24>>2]|0){case 2:{i=0;G=191;break}case 1:{i=(a[e+375>>0]|0)+1|0;G=191;break}case 0:{i=2-(a[e+375>>0]|0)|0;G=191;break}default:{}}if((G|0)==191)c[e+800>>2]=i;c[e+808>>2]=5-(c[M>>2]|0);a[h>>0]=1;h=0;return h|0}He(g+4|0,1020,0);h=8;return h|0}function Pk(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=oc;h=oc=oc+31&-32;oc=oc+544|0;fa=h+520|0;ea=h+504|0;da=h+488|0;ca=h+472|0;ba=h+456|0;aa=h+440|0;oa=h+432|0;na=h+424|0;ma=h+416|0;ka=h+408|0;ja=h+400|0;ia=h+392|0;ha=h+384|0;ga=h+376|0;$=h+368|0;_=h+360|0;Z=h+352|0;Y=h+344|0;T=h+328|0;S=h+312|0;Q=h+296|0;P=h+280|0;V=h+264|0;U=h+248|0;O=h+240|0;N=h+232|0;M=h+224|0;L=h+216|0;K=h+208|0;J=h+200|0;I=h+192|0;G=h+184|0;F=h+176|0;D=h+168|0;C=h+160|0;B=h+152|0;A=h+144|0;z=h+136|0;y=h+128|0;x=h+120|0;w=h+112|0;v=h+104|0;u=h+96|0;t=h+88|0;s=h+80|0;r=h+72|0;q=h+64|0;p=h+56|0;o=h+48|0;k=h+40|0;n=h+32|0;m=h+24|0;l=h+16|0;j=h+8|0;switch(g|0){case 1:{g=110188;break}case 2:{g=110180;break}default:{oc=pa;return}}la=c[g>>2]|0;i=e+12|0;X=c[f+856+(c[i>>2]<<3)>>2]|0;if(!(a[X>>0]|0))R(127712,116910,1281,127726);E=c[f+728+(a[X+9>>0]<<3)>>2]|0;if(!(a[E>>0]|0))R(127752,116910,1284,127726);Vj(la,127766,h);h=e+8|0;c[j>>2]=a[h>>0];Vj(la,127809,j);g=f+3208|0;if((a[g>>0]&-8)<<24>>24==16){c[l>>2]=a[e+9>>0];Vj(la,127852,l)}c[m>>2]=c[i>>2];Vj(la,127895,m);if(!(a[h>>0]|0)){c[n>>2]=a[e+16>>0];Vj(la,127938,n);c[k>>2]=c[e+20>>2];Vj(la,127981,k)}f=e+24|0;n=c[f>>2]|0;c[o>>2]=(n|0)==0?66:(n|0)==1?80:73;Vj(la,128024,o);if(a[X+39>>0]|0){c[p>>2]=a[e+28>>0];Vj(la,128067,p)}if((a[E+480>>0]|0)==1){c[q>>2]=a[e+29>>0];Vj(la,128110,q)}c[r>>2]=c[e+32>>2];Vj(la,128153,r);if(((a[g>>0]|0)+-19&255)>=2){r=e+36|0;c[s>>2]=a[r>>0];Vj(la,128196,s);g=E+4720|0;h=(c[E+4724>>2]|0)-(c[g>>2]|0)|0;if(a[r>>0]|0){if((h|0)>100){t=e+140|0;c[u>>2]=c[t>>2];Vj(la,128260,u);kk((c[g>>2]|0)+((c[t>>2]|0)*100|0)|0,16,la)}}else{c[t>>2]=(h|0)/100|0;Vj(la,128239,t);kk(e+38|0,16,la)}if(a[E+4732>>0]|0){if((c[E+4736>>2]|0)>0){c[v>>2]=c[e+144>>2];Vj(la,128303,v)}c[w>>2]=c[e+148>>2];Vj(la,128350,w)}if(a[E+4900>>0]|0){c[x>>2]=a[e+328>>0];Vj(la,128397,x)}}if(a[E+4703>>0]|0){c[y>>2]=a[e+329>>0];Vj(la,128435,y);c[z>>2]=a[e+330>>0];Vj(la,128473,z)}if((c[f>>2]|0)>>>0<2){g=e+331|0;c[A>>2]=a[g>>0];Vj(la,128511,A);h=e+332|0;A=(a[g>>0]|0)==0?128550:169526;c[B>>2]=c[h>>2];c[B+4>>2]=A;Vj(la,128561,B);if(!(c[f>>2]|0)){B=(a[g>>0]|0)==0?128550:169526;c[C>>2]=c[e+336>>2];c[C+4>>2]=B;Vj(la,128601,C)}if(a[X+4133>>0]|0?(c[e+916>>2]|0)>1:0){C=e+340|0;c[D>>2]=a[C>>0];Vj(la,128641,D);if(a[C>>0]|0?(c[h>>2]|0)>0:0){g=0;do{D=d[e+342+g>>0]|0;c[F>>2]=g;c[F+4>>2]=D;Vj(la,128681,F);g=g+1|0}while((g|0)<(c[h>>2]|0))}F=e+341|0;c[G>>2]=a[F>>0];Vj(la,128691,G);if(a[F>>0]|0?(H=e+336|0,(c[H>>2]|0)>0):0){g=0;do{G=d[e+358+g>>0]|0;c[I>>2]=g;c[I+4>>2]=G;Vj(la,128681,I);g=g+1|0}while((g|0)<(c[H>>2]|0))}}if(!(c[f>>2]|0)){c[J>>2]=a[e+374>>0];Vj(la,128731,J)}c[K>>2]=a[e+375>>0];Vj(la,128768,K);if(a[e+328>>0]|0){c[L>>2]=a[e+376>>0];Vj(la,128805,L);c[M>>2]=c[e+380>>2];Vj(la,128842,M)}if((a[X+37>>0]|0)!=0?(c[f>>2]|0)==1:0)g=49;else g=47;if(((g|0)==47?a[X+38>>0]|0:0)?(c[f>>2]|0)==0:0)g=49;if((g|0)==49){c[N>>2]=d[e+384>>0];Vj(la,128879,N);if(c[E+476>>2]|0){c[O>>2]=d[e+385>>0];Vj(la,128916,O)}i=e+336|0;h=c[h>>2]|0;if((h|0)>0){g=0;do{O=b[e+450+(g<<1)>>1]|0;c[U>>2]=0;c[U+4>>2]=g;c[U+8>>2]=O;Vj(la,128953,U);O=a[e+514+g>>0]|0;c[V>>2]=0;c[V+4>>2]=g;c[V+8>>2]=O;Vj(la,128990,V);O=b[e+546+(g<<2)>>1]|0;c[P>>2]=0;c[P+4>>2]=g;c[P+8>>2]=0;c[P+12>>2]=O;Vj(la,129027,P);O=a[e+674+(g<<1)>>0]|0;c[Q>>2]=0;c[Q+4>>2]=g;c[Q+8>>2]=0;c[Q+12>>2]=O;Vj(la,129065,Q);O=b[e+546+(g<<2)+2>>1]|0;c[S>>2]=0;c[S+4>>2]=g;c[S+8>>2]=1;c[S+12>>2]=O;Vj(la,129027,S);O=a[e+674+(g<<1)+1>>0]|0;c[T>>2]=0;c[T+4>>2]=g;c[T+8>>2]=1;c[T+12>>2]=O;Vj(la,129065,T);g=g+1|0}while((g|0)!=(h|0))}if((c[f>>2]|0)==0?(W=c[i>>2]|0,(W|0)>0):0){g=0;do{V=b[e+482+(g<<1)>>1]|0;c[aa>>2]=1;c[aa+4>>2]=g;c[aa+8>>2]=V;Vj(la,128953,aa);V=a[e+530+g>>0]|0;c[ba>>2]=1;c[ba+4>>2]=g;c[ba+8>>2]=V;Vj(la,128990,ba);V=b[e+610+(g<<2)>>1]|0;c[ca>>2]=1;c[ca+4>>2]=g;c[ca+8>>2]=0;c[ca+12>>2]=V;Vj(la,129027,ca);V=a[e+706+(g<<1)>>0]|0;c[da>>2]=1;c[da+4>>2]=g;c[da+8>>2]=0;c[da+12>>2]=V;Vj(la,129065,da);V=b[e+610+(g<<2)+2>>1]|0;c[ea>>2]=1;c[ea+4>>2]=g;c[ea+8>>2]=1;c[ea+12>>2]=V;Vj(la,129027,ea);V=a[e+706+(g<<1)+1>>0]|0;c[fa>>2]=1;c[fa+4>>2]=g;c[fa+8>>2]=1;c[fa+12>>2]=V;Vj(la,129065,fa);g=g+1|0}while((g|0)!=(W|0))}}c[Y>>2]=c[e+740>>2];Vj(la,129103,Y)}c[Z>>2]=c[e+744>>2];Vj(la,129140,Z);if(a[X+36>>0]|0){c[_>>2]=c[e+748>>2];Vj(la,129169,_);c[$>>2]=c[e+752>>2];Vj(la,129198,$)}h=e+757|0;if(a[X+56>>0]|0){c[ga>>2]=a[h>>0];Vj(la,129227,ga)}g=e+758|0;ga=(a[h>>0]|0)==0?129265:129276;c[ha>>2]=a[g>>0];c[ha+4>>2]=ga;Vj(la,129287,ha);if(a[h>>0]|0?(a[g>>0]|0)==0:0){c[ia>>2]=c[e+760>>2];Vj(la,129334,ia);c[ja>>2]=c[e+764>>2];Vj(la,129359,ja)}do if(a[X+54>>0]|0){if(((a[e+329>>0]|0)==0?(a[e+330>>0]|0)==0:0)?a[g>>0]|0:0)break;c[ka>>2]=a[e+768>>0];Vj(la,129384,ka)}while(0);if((a[X+42>>0]|0)==0?(a[X+41>>0]|0)==0:0){oc=pa;return}i=e+772|0;c[ma>>2]=c[i>>2];Vj(la,129435,ma);if((c[i>>2]|0)<=0){oc=pa;return}c[na>>2]=c[e+776>>2];Vj(la,129468,na);if((c[i>>2]|0)<=0){oc=pa;return}h=e+780|0;g=0;do{na=c[(c[h>>2]|0)+(g<<2)>>2]|0;c[oa>>2]=g;c[oa+4>>2]=na;Vj(la,129501,oa);g=g+1|0}while((g|0)<(c[i>>2]|0));oc=pa;return} |
| | | function Fm(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=f+8|0;j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;A=f+20|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{Jl(f,4);break}while(0);if((i&65535|0)==15){j=c[B>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[A>>0]|0))if(j>>>0>8){c[B>>2]=j+-8;break}else{Jl(f,8);break}while(0);i=(i&65535)+14|0}k=i&65535;if(!(i&65535)){f=0;return f|0}j=c[B>>2]|0;if(j>>>0<4){i=4-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>28;if(((i&255)+-13|0)>>>0<2){j=h&255;if(h<<24>>24==-1){f=24;return f|0}i=e+892+(j<<2)|0;if(!(c[i>>2]|0)){g=b[e+10>>1]|0;A=a[e+2128+j>>0]|0;B=(_l(a[e+3>>0]|0)|0)<<1;c[i>>2]=Gm(g,A,B,a[e+842>>0]|0)|0}a[e+840>>0]=1;B=Hm(f,c[i>>2]|0,k,a[e+12>>0]|0)|0;f=c[i>>2]|0;a[f+10>>0]=B;if(!(a[f+53424>>0]|0)){f=0;return f|0}a[e+1084+j>>0]=1;a[e+1132>>0]=1;f=0;return f|0}if(!(k<<16>>16)){f=0;return f|0}o=f+4|0;p=g+1|0;q=g+3|0;r=g+56|0;s=g+57|0;t=g+58|0;u=g+59|0;v=g+60|0;w=g+61|0;x=g+62|0;y=g+21|0;z=g+2|0;i=k;h=j;while(1){m=i&65535;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{Jl(f,4);break}while(0);a:do switch((j&255)<<24>>24){case 11:{a[g>>0]=1;a[p>>0]=1;i=c[B>>2]|0;if(!i){i=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{i=i+-1|0;c[B>>2]=i;i=(c[f>>2]|0)>>>i&1}do if(i){i=c[B>>2]|0;if(i>>>0<4){j=4-i|0;j=(c[f>>2]&(1<<i)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-i>>>28;if(a[A>>0]|0){a[z>>0]=j;i=2;n=53;break}if(i>>>0<=4){Jl(f,4);i=c[B>>2]|0;n=a[A>>0]|0;a[z>>0]=j;if(n<<24>>24){i=2;n=53;break}}else{i=i+-4|0;c[B>>2]=i;a[z>>0]=j}if(i>>>0>4){j=i+-4|0;c[B>>2]=j;i=2;n=54;break}else{Jl(f,4);i=2;n=53;break}}else{i=1;n=53}while(0);if((n|0)==53){n=0;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else n=54}if((n|0)==54){n=0;j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}l=j&255;a[q>>0]=l;if(l<<24>>24==1){j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[r>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[s>>0]=j;j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}a[t>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[u>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[v>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[w>>0]=j;j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[x>>0]=j;h=7;l=1;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);k=j&255;j=l&255;a[j+-1+(g+120)>>0]=k;if(k<<24>>24!=1)break;e=h&255;k=e+7|0;do{j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+56+e>>0]=j;h=h+1<<24>>24;e=h&255}while(k>>>0>e>>>0);h=k&255;l=l+1<<24>>24}i=j+(i&255)&255}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<4){h=4-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>28;do if(!(a[A>>0]|0)){if(j>>>0<=4){Jl(f,4);if(!(a[A>>0]|0))j=c[B>>2]|0;else break}else{j=j+-4|0;c[B>>2]=j}if(j>>>0>4){c[B>>2]=j+-4;break}else{Jl(f,4);break}}while(0);j=h+(d[p>>0]|0)&255;a[p>>0]=j;i=i+1<<24>>24;if(j<<24>>24){l=0;do{k=l&255;h=c[B>>2]|0;if(h>>>0<8){e=8-h|0;e=(c[f>>2]&(1<<h)+-1)<<e|(c[o>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{Jl(f,8);j=a[p>>0]|0;break}while(0);a[g+4+k>>0]=e;l=l+1<<24>>24;i=i+1<<24>>24}while((l&255)<(j&255))}}j=c[B>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[A>>0]|0))Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}if(j){j=c[B>>2]|0;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[o>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[A>>0]|0))if(j>>>0>7){j=j+-7|0;c[B>>2]=j;a[y>>0]=h;n=137;break}else{Jl(f,7);j=c[B>>2]|0;n=136;break}else n=136;while(0);do if((n|0)==136){n=0;a[y>>0]=h;if(j|0){n=137;break}if(a[A>>0]|0)break;Jl(f,1)}while(0);if((n|0)==137){n=0;c[B>>2]=j+-1}i=i+1<<24>>24}if(a[p>>0]|0){k=0;e=0;while(1){j=c[B>>2]|0;do if(!j){j=(c[o>>2]|0)>>>31;if(a[A>>0]|0)break;Jl(f,1)}else{j=j+-1|0;c[B>>2]=j;j=(c[f>>2]|0)>>>j&1}while(0);a[g+22+e>>0]=j;h=c[B>>2]|0;if(h>>>0<7){j=7-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>25;do if(!(a[A>>0]|0))if(h>>>0>7){c[B>>2]=h+-7;break}else{Jl(f,7);break}while(0);a[g+39+e>>0]=j;i=i+1<<24>>24;j=k+1<<24>>24;if((j&255)<(d[p>>0]|0)){k=j;e=j&255}else break}}i=i&255;break}case 1:{j=c[B>>2]|0;do if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;break}else{Jl(f,4);break}while(0);h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{Jl(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}else i=1;break}case 2:{h=c[B>>2]|0;if(h>>>0<4){j=4-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>28;do if(!(a[A>>0]|0))if(h>>>0>4){c[B>>2]=h+-4;break}else{Jl(f,4);break}while(0);if(!(j&255)){e=0;k=0;do{h=c[B>>2]|0;if(h>>>0<8){j=8-h|0;j=(c[f>>2]&(1<<h)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-h>>>24;do if(!(a[A>>0]|0))if(h>>>0>8){c[B>>2]=h+-8;break}else{Jl(f,8);break}while(0);l=j&255;k=l+(k&65535)|0;e=e+1<<24>>24}while((l|0)==255);if(k&65535){i=c[B>>2]|0;do if(!(a[A>>0]|0))if(i>>>0>8){c[B>>2]=i+-8;break}else{Jl(f,8);break}while(0);i=(e&255)+1+k&65535}else n=191}else n=191;break}default:{j=c[B>>2]|0;if(!(a[A>>0]|0))if(j>>>0>4){c[B>>2]=j+-4;n=191;break a}else{Jl(f,4);n=191;break a}else n=191}}while(0);if((n|0)==191){n=0;h=m+-1|0;if((i&65535)>1){j=0;do{e=c[B>>2]|0;do if(!(a[A>>0]|0))if(e>>>0>8){c[B>>2]=e+-8;break}else{Jl(f,8);break}while(0);j=j+1<<16>>16}while((h|0)>(j&65535|0))}}i=m-(i&65535)&65535;if(!(i<<16>>16)){i=0;break}h=c[B>>2]|0}return i|0}function Gm(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;j=Ml(53544)|0;rD(j+4|0,0,53540)|0;a[j+12436>>0]=f;c[j>>2]=g;a[j+53435>>0]=2;a[j+53436>>0]=1;a[j+53437>>0]=2;a[j+53438>>0]=2;a[j+53439>>0]=2;a[j+53440>>0]=1;a[j+53441>>0]=1;a[j+53432>>0]=5;a[j+53431>>0]=1;a[j+53442>>0]=1;a[j+12418>>0]=-1;a[j+12419>>0]=-1;c[j+12432>>2]=0;a[j+12426>>0]=1;i=j+53418|0;a[i>>0]=8;a[j+53419>>0]=2;a[j+12421>>0]=0;a[j+12422>>0]=0;a[j+12423>>0]=0;b[j+12424>>1]=e;a[j+12412>>0]=-1;e=e<<16>>16==960;g=j+53416|0;a[g>>0]=e?30:32;a[j+53417>>0]=e?15:16;a[j+728>>0]=0;a[j+729>>0]=0;c[j+12440>>2]=an(32)|0;if(f<<24>>24==1){c[j+12444>>2]=an(32)|0;h=h<<24>>24?32:64;c[j+12448>>2]=bn(h)|0;c[j+12452>>2]=bn(h)|0;c[j+648>>2]=Ml(256)|0;c[j+668>>2]=Ml(256)|0;c[j+688>>2]=Ml(256)|0;c[j+708>>2]=Ml(256)|0;c[j+652>>2]=Ml(256)|0;c[j+672>>2]=Ml(256)|0;c[j+692>>2]=Ml(256)|0;c[j+712>>2]=Ml(256)|0;c[j+656>>2]=Ml(256)|0;c[j+676>>2]=Ml(256)|0;c[j+696>>2]=Ml(256)|0;c[j+716>>2]=Ml(256)|0;c[j+660>>2]=Ml(256)|0;c[j+680>>2]=Ml(256)|0;c[j+700>>2]=Ml(256)|0;c[j+720>>2]=Ml(256)|0;c[j+664>>2]=Ml(256)|0;c[j+684>>2]=Ml(256)|0;c[j+704>>2]=Ml(256)|0;c[j+724>>2]=Ml(256)|0;rD(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;rD(j+32936|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}else{c[j+12448>>2]=bn(h<<24>>24?32:64)|0;c[j+12452>>2]=0;c[j+648>>2]=Ml(256)|0;c[j+688>>2]=Ml(256)|0;c[j+652>>2]=Ml(256)|0;c[j+692>>2]=Ml(256)|0;c[j+656>>2]=Ml(256)|0;c[j+696>>2]=Ml(256)|0;c[j+660>>2]=Ml(256)|0;c[j+700>>2]=Ml(256)|0;c[j+664>>2]=Ml(256)|0;c[j+704>>2]=Ml(256)|0;rD(j+12456|0,0,(d[i>>0]|0)+(d[g>>0]|0)<<9|0)|0;return j|0}return 0}function Hm(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=oc;u=oc=oc+31&-32;oc=oc+16|0;t=u+4|0;F=Hl(d)|0;if(g<<24>>24)a[e+53425>>0]=g;H=d+8|0;h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;G=d+20|0;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Jl(d,4);break}while(0);if((g&255|0)==14){h=c[H>>2]|0;if(h>>>0<10){g=10-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>22;do if(!(a[G>>0]|0))if(h>>>0>10){c[H>>2]=h+-10;break}else{Jl(d,10);break}while(0);b[e+53428>>1]=g}k=e+53432|0;z=a[k>>0]|0;r=e+53442|0;A=a[r>>0]|0;n=e+53433|0;B=a[n>>0]|0;o=e+53435|0;C=a[o>>0]|0;p=e+53436|0;D=a[p>>0]|0;q=e+53434|0;E=a[q>>0]|0;g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}x=g&255;y=e+53426|0;a[y>>0]=x;if(x<<24>>24){g=e+12432|0;c[g>>2]=(c[g>>2]|0)+1;g=c[H>>2]|0;do if(!g){h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){Jl(d,1);h=g;g=c[H>>2]|0;m=29;break}else{a[e+53431>>0]=g;g=0;m=32;break}}else{g=g+-1|0;c[H>>2]=g;h=(c[d>>2]|0)>>>g&1;m=29}while(0);do if((m|0)==29){a[e+53431>>0]=h;if(g>>>0<4){h=c[d+4>>2]|0;m=32;break}else{h=c[d>>2]<<32-g>>>28;break}}while(0);if((m|0)==32){x=4-g|0;h=((1<<g)+-1&c[d>>2])<<x|h>>>(32-x|0)}do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{Jl(d,4);g=c[H>>2]|0;break}while(0);a[k>>0]=h;if(g>>>0<4){h=4-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>28;do if(!(a[G>>0]|0))if(g>>>0>4){g=g+-4|0;c[H>>2]=g;break}else{Jl(d,4);g=c[H>>2]|0;break}while(0);a[n>>0]=h;if(g>>>0<3){h=3-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>29;do if(!(a[G>>0]|0)){if(g>>>0<=3){Jl(d,3);g=c[H>>2]|0;x=a[G>>0]|0;a[q>>0]=h;if(x<<24>>24){m=55;break}}else{g=g+-3|0;c[H>>2]=g;a[q>>0]=h}if(g>>>0>2){g=g+-2|0;c[H>>2]=g;m=56;break}else{Jl(d,2);g=c[H>>2]|0;m=55;break}}else{a[q>>0]=h;m=55}while(0);if((m|0)==55)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){Jl(d,1);h=c[H>>2]|0;m=59}else{i=g;h=g}}else m=56;if((m|0)==56){h=g+-1|0;c[H>>2]=h;g=(c[d>>2]|0)>>>h&1;m=59}do if((m|0)==59){if(h|0){h=h+-1|0;c[H>>2]=h;i=g;h=(c[d>>2]|0)>>>h&1;break}h=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0)){Jl(d,1);i=g}else i=g}while(0);if(!i){a[o>>0]=2;a[p>>0]=1;g=2}else{g=c[H>>2]|0;if(g>>>0<2){j=2-g|0;i=c[d>>2]|0;j=(i&(1<<g)+-1)<<j|(c[d+4>>2]|0)>>>(32-j|0)}else{i=c[d>>2]|0;j=i<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[o>>0]=j;m=73;break}else{Jl(d,2);g=c[H>>2]|0;m=71;break}else m=71;while(0);do if((m|0)==71){a[o>>0]=j;if(g|0){i=c[d>>2]|0;m=73;break}i=c[d+4>>2]|0;g=i>>>31;if(!(a[G>>0]|0)){Jl(d,1);i=c[H>>2]|0;m=77;break}else{a[p>>0]=g;g=0;m=80;break}}while(0);if((m|0)==73){x=g+-1|0;c[H>>2]=x;g=i>>>x&1;i=x;m=77}do if((m|0)==77){a[p>>0]=g;if(i>>>0<2){g=i;i=c[d+4>>2]|0;m=80;break}else{j=c[d>>2]<<32-i>>>30;g=i;break}}while(0);if((m|0)==80){j=2-g|0;j=((1<<g)+-1&c[d>>2])<<j|i>>>(32-j|0)}do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{Jl(d,2);break}while(0);g=j&255}a[e+53437>>0]=g;if(!h){a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;g=1}else{g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[d+4>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;break}else{Jl(d,2);g=c[H>>2]|0;break}while(0);a[e+53438>>0]=h;if(g>>>0<2){i=2-g|0;h=c[d>>2]|0;i=(h&(1<<g)+-1)<<i|(c[d+4>>2]|0)>>>(32-i|0)}else{h=c[d>>2]|0;i=h<<32-g>>>30}do if(!(a[G>>0]|0))if(g>>>0>2){g=g+-2|0;c[H>>2]=g;a[e+53439>>0]=i;m=104;break}else{Jl(d,2);g=c[H>>2]|0;m=102;break}else m=102;while(0);do if((m|0)==102){a[e+53439>>0]=i;if(g|0){h=c[d>>2]|0;m=104;break}h=c[d+4>>2]|0;g=h>>>31;if(!(a[G>>0]|0)){Jl(d,1);h=c[H>>2]|0;m=108;break}else{a[e+53440>>0]=g;g=h>>>31;break}}while(0);if((m|0)==104){x=g+-1|0;c[H>>2]=x;g=h>>>x&1;h=x;m=108}do if((m|0)==108){a[e+53440>>0]=g;if(h|0){g=h+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1;break}g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1)}while(0);g=g&255}a[e+53441>>0]=g}l=a[k>>0]|0;h=e+12412|0;j=a[n>>0]|0;g=e+12413|0;if((((l<<24>>24==(a[h>>0]|0)?j<<24>>24==(a[g>>0]|0):0)?(a[o>>0]|0)==(a[e+12415>>0]|0):0)?(a[p>>0]|0)==(a[e+12416>>0]|0):0)?(a[q>>0]|0)==(a[e+12414>>0]|0):0)k=(a[e+53437>>0]|0)!=(a[e+12417>>0]|0)&1;else k=1;x=e+12426|0;a[x>>0]=k;a[h>>0]=l;a[g>>0]=j;i=a[o>>0]|0;a[e+12415>>0]=i;h=a[p>>0]|0;a[e+12416>>0]=h;g=a[q>>0]|0;a[e+12414>>0]=g;a[e+12417>>0]=a[e+53437>>0]|0;a:do if(!(c[e+12432>>2]|0))i=1;else{if(!(k<<24>>24)){if(a[y>>0]|0?a[e+9>>0]|0:0)m=125}else m=125;if((m|0)==125?(Im(e,l,j,a[r>>0]|0,i,h,g)|0)<<24>>24:0)Im(e,z,B,A,C,D,E)|0;a[e+8>>0]=a[r>>0]|0?2:1;b:do switch(a[e+12436>>0]|0){case 0:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g|0?(s=c[H>>2]|0,(a[G>>0]|0)==0):0)if(s>>>0>4){c[H>>2]=s+-4;break}else{Jl(d,4);break}while(0);g=Jm(d,e,0)|0;if(!(g<<24>>24)){Km(d,e,0);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Jl(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}Lm(d,e,0);Mm(d,e,0);Nm(e,0);g=e+12149|0;h=g+64|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}u=g&255;a[e+53443>>0]=u;if(u<<24>>24?(w=e+17|0,v=a[w>>0]|0,v<<24>>24):0){k=d+4|0;j=0;h=v;do{i=j&255;g=c[H>>2]|0;do if(!g){g=(c[k>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1);h=a[w>>0]|0}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);a[e+12149+i>>0]=g;j=j+1<<24>>24}while((j&255)<(h&255))}g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Jl(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Jl(d,8);break}while(0);g=(g&65535)+15|0}l=d+4|0;m=e+53448|0;i=0;g=g<<3;while(1){j=g&65535;k=g&65535;if((j&65535)<=7)break;g=c[H>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[d>>2]&(1<<g)+-1)<<h|(c[l>>2]|0)>>>(32-h|0)}else h=c[d>>2]<<32-g>>>30;do if(!(a[G>>0]|0))if(g>>>0>2){c[H>>2]=g+-2;break}else{Jl(d,2);break}while(0);g=h&255;a[m>>0]=g;do if((h&255|0)==2){if(!(i<<24>>24)){h=1;break}a[m>>0]=3;h=i;g=3}else h=i;while(0);g=(Om(d,e,g)|0)+2<<16>>16;if((g&65535)>(j&65535)){g=1;break b}else{i=h;g=k-(g&65535)|0}}if(j<<16>>16==0|(k|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>k>>>0){c[H>>2]=g-k;i=0;break a}else{Jl(d,k);i=0;break a}}break}case 1:{g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}do if(g){g=c[H>>2]|0;if(!(a[G>>0]|0)){if(g>>>0<=4){Jl(d,4);g=c[H>>2]|0;if(a[G>>0]|0){m=212;break}}else{g=g+-4|0;c[H>>2]=g}if(g>>>0>4){g=g+-4|0;c[H>>2]=g;m=213;break}else{Jl(d,4);m=211;break}}else m=212}else m=211;while(0);if((m|0)==211){g=c[H>>2]|0;m=212}if((m|0)==212)if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else m=213;if((m|0)==213){g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;n=e+53450|0;a[n>>0]=w;c:do if(!(w<<24>>24)){a[t>>0]=0;a[t+1>>0]=0;a[t+2>>0]=0;a[t+3>>0]=0;a[t+4>>0]=0;a[t+5>>0]=0;a[u>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;h=e+610|0;i=a[h>>0]|0;j=e+614|0;k=a[j>>0]|0;l=e+53451|0;m=a[l>>0]|0;if(i<<24>>24)pD(t|0,e+616|0,(i+-1&255)+1|0)|0;if(k<<24>>24)pD(u|0,e+628|0,(k+-1&255)+1|0)|0;g=Jm(d,e,0)|0;do if(!(g<<24>>24)){g=Jm(d,e,1)|0;if(g<<24>>24){a[l>>0]=m;a[h>>0]=i;a[j>>0]=k;w=e+616|0;a[w>>0]=a[t>>0]|0;a[w+1>>0]=a[t+1>>0]|0;a[w+2>>0]=a[t+2>>0]|0;a[w+3>>0]=a[t+3>>0]|0;a[w+4>>0]=a[t+4>>0]|0;a[w+5>>0]=a[t+5>>0]|0;w=e+628|0;a[w>>0]=a[u>>0]|0;a[w+1>>0]=a[u+1>>0]|0;a[w+2>>0]=a[u+2>>0]|0;break}Km(d,e,0);Km(d,e,1);l=e+19|0;g=a[l>>0]|0;do if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Jl(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(!(g<<24>>24))break;else k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Jl(d,2);g=a[l>>0]|0;break}while(0);a[e+10981+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255))}while(0);Lm(d,e,0);Lm(d,e,1);Mm(d,e,0);Mm(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);break c}while(0);break b}else{g=Jm(d,e,0)|0;if(g<<24>>24)break b;a[e+53452>>0]=a[e+53451>>0]|0;i=a[e+610>>0]|0;a[e+611>>0]=i;j=a[e+614>>0]|0;a[e+615>>0]=j;a[e+53508>>0]=a[e+53507>>0]|0;h=0;g=0;while(1){a[e+622+g>>0]=a[e+616+g>>0]|0;a[e+640+g>>0]=a[e+634+g>>0]|0;g=h+1<<24>>24;if((g&255)>(i&255)){h=0;g=0;break}else{h=g;g=g&255}}while(1){a[e+631+g>>0]=a[e+628+g>>0]|0;g=h+1<<24>>24;if((g&255)>(j&255))break;else{h=g;g=g&255}}Km(d,e,0);Km(d,e,1);l=e+19|0;g=a[l>>0]|0;if(g<<24>>24){m=d+4|0;k=0;do{j=k&255;h=c[H>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[d>>2]&(1<<h)+-1)<<i|(c[m>>2]|0)>>>(32-i|0)}else i=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Jl(d,2);g=a[l>>0]|0;break}while(0);a[e+10976+j>>0]=i;k=k+1<<24>>24}while((k&255)<(g&255));if(g<<24>>24){g=g&255;h=0;do{a[e+10981+h>>0]=a[e+10976+h>>0]|0;h=h+1|0}while((h|0)!=(g|0))}}Lm(d,e,0);Mm(d,e,0);Lm(d,e,1);Mm(d,e,1);g=e+12149|0;h=g+128|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53443>>0]=w;do if(w<<24>>24){k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12149+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);g=c[H>>2]|0;do if(!g){g=(c[d+4>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}while(0);w=g&255;a[e+53444>>0]=w;if(!(w<<24>>24))break;k=e+17|0;g=a[k>>0]|0;if(!(g<<24>>24))break;l=d+4|0;j=0;do{i=j&255;h=c[H>>2]|0;do if(!h){h=(c[l>>2]|0)>>>31;if(a[G>>0]|0)break;Jl(d,1);g=a[k>>0]|0}else{h=h+-1|0;c[H>>2]=h;h=(c[d>>2]|0)>>>h&1}while(0);a[e+12213+i>>0]=h;j=j+1<<24>>24}while((j&255)<(g&255))}while(0);Nm(e,0);Nm(e,1);if(a[n>>0]|0)Pm(e);g=c[H>>2]|0;if(!g){g=(c[d+4>>2]|0)>>>31;if(!(a[G>>0]|0))Jl(d,1)}else{g=g+-1|0;c[H>>2]=g;g=(c[d>>2]|0)>>>g&1}w=g&255;a[e+53447>>0]=w;if(!(w<<24>>24)){i=0;break a}h=c[H>>2]|0;if(h>>>0<4){g=4-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>28;do if(!(a[G>>0]|0))if(h>>>0>4){c[H>>2]=h+-4;break}else{Jl(d,4);break}while(0);if((g&65535|0)==15){h=c[H>>2]|0;if(h>>>0<8){g=8-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[d+4>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>24;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Jl(d,8);break}while(0);g=(g&65535)+15|0}k=d+4|0;l=e+53448|0;g=g<<3;while(1){i=g&65535;j=g&65535;if((i&65535)<=7)break;h=c[H>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[d>>2]&(1<<h)+-1)<<g|(c[k>>2]|0)>>>(32-g|0)}else g=c[d>>2]<<32-h>>>30;do if(!(a[G>>0]|0))if(h>>>0>2){c[H>>2]=h+-2;break}else{Jl(d,2);break}while(0);g=g&255;a[l>>0]=g;g=(Om(d,e,g)|0)+2<<16>>16;if((g&65535)>(i&65535)){g=1;break b}else g=j-(g&65535)|0}if(i<<16>>16==0|(j|0)==0){i=0;break a}g=c[H>>2]|0;if(a[G>>0]|0){i=0;break a}if(g>>>0>j>>>0){c[H>>2]=g-j;i=0;break a}else{Jl(d,j);i=0;break a}}default:{i=0;break a}}while(0);if(!(a[x>>0]|0)){if(!(a[y>>0]|0)){i=g;break}if(!(a[e+9>>0]|0)){i=g;break}}Im(e,z,B,A,C,D,E)|0;i=g}while(0);h=(Hl(d)|0)-F|0;g=(f&65535)<<3;if(g>>>0<(h&65535)>>>0){Kl(d,(F&65535)+g|0);a[e+53424>>0]=0;d=1;oc=I;return d|0}g=g-h&65535;if(g>>>0>7)do{h=c[H>>2]|0;do if(!(a[G>>0]|0))if(h>>>0>8){c[H>>2]=h+-8;break}else{Jl(d,8);break}while(0);g=g+65528&65535}while(g>>>0>7);if(!g){d=i;oc=I;return d|0}h=c[H>>2]|0;if(a[G>>0]|0){d=i;oc=I;return d|0}if(h>>>0>g>>>0){c[H>>2]=h-g;d=i;oc=I;return d|0}else{Jl(d,g);d=i;oc=I;return d|0}return 0}function Im(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;j=Wm(d,f,c[b>>2]|0)|0;d=b+13|0;a[d>>0]=j;j=Xm(e,c[b>>2]|0,j)|0;e=c[b>>2]|0;do if(e>>>0<=47999){d=a[d>>0]|0;f=(j&255)-(d&255)|0;if(e>>>0<32001){f=(f|0)>48;break}else{f=(f|0)>45;break}}else{d=a[d>>0]|0;f=((j&255)-(d&255)|0)>32}while(0);if(!(g<<24>>24))d=Ym(b,d,j,h)|0;else d=Zm(b,d,j,g,h)|0;return ((d&255)+(f&1)+((_m(b,i,j)|0)&255)&255|0)!=0|0}function Jm(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;v=f&255;w=e+610+v|0;x=a[w>>0]|0;y=e+614+v|0;z=a[y>>0]|0;A=e+53451+v|0;B=a[A>>0]|0;u=b+8|0;h=c[u>>2]|0;if(h>>>0<2){g=2-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>30;t=b+20|0;do if(!(a[t>>0]|0))if(h>>>0>2){c[u>>2]=h+-2;break}else{Jl(b,2);break}while(0);g=g&255;a[A>>0]=g;switch(g<<24>>24){case 0:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;i=c[b>>2]|0;h=(i&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else{i=c[b>>2]|0;h=i<<32-g>>>30}do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;h=1<<(h&255);h=((h|0)<5?h:5)&255;j=18;break}else{Jl(b,2);g=c[u>>2]|0;j=16;break}else j=16;while(0);do if((j|0)==16){h=1<<(h&255);h=((h|0)<5?h:5)&255;if(g|0){i=c[b>>2]|0;j=18;break}g=(c[b+4>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(b,1)}while(0);if((j|0)==18){g=g+-1|0;c[u>>2]=g;g=i>>>g&1}if(h<<24>>24)rD(e+((v*6|0)+634)|0,g&255|0,(h+-1&255)+1|0)|0;a[e+602+v>>0]=0;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=(h&255)+255;g=0;j=173;break}case 1:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Jl(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Jl(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;p=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{Jl(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((p|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,q=d[139695+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<q>>>0){g=q-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-q|0);if(!(a[t>>0]|0))if(i>>>0>q>>>0){c[u>>2]=i-q;break}else{Jl(b,q);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[p-k+(e+634+(v*6|0))>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=0;a[e+604+v>>0]=o;a[e+606+v>>0]=0;g=p&255;j=173;break}case 2:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Jl(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){m=2-g|0;m=(c[b>>2]&(1<<g)+-1)<<m|(c[b+4>>2]|0)>>>(32-m|0)}else m=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Jl(b,2);break}while(0);n=m+1|0;h=n&255;n=n&255;o=n+-1|0;if(n>>>0>1){j=b+4|0;i=0;l=0;do{k=c[u>>2]|0;if(k>>>0<2){g=2-k|0;g=(c[b>>2]&(1<<k)+-1)<<g|(c[j>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-k>>>30;do if(!(a[t>>0]|0))if(k>>>0>2){c[u>>2]=k+-2;break}else{Jl(b,2);break}while(0);a[e+53453+(v*9|0)+l>>0]=(g<<1)+2;i=i+1<<24>>24;l=i&255}while((o|0)>(l|0))}g=m+2|0;do if((g&255)<10?(s=g<<24>>24,r=d[139695+s>>0]|0,s>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<r>>>0){g=r-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-r|0);if(!(a[t>>0]|0))if(i>>>0>r>>>0){c[u>>2]=i-r;break}else{Jl(b,r);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(n|0){j=b+4|0;i=0;k=0;do{g=c[u>>2]|0;if(!g){g=(c[j>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+k>>0]=g;i=i+1<<24>>24;k=i&255}while(n>>>0>k>>>0)}a[e+602+v>>0]=p;a[e+604+v>>0]=a[e+53417>>0]|0;a[e+606+v>>0]=o;g=0;j=173;break}case 3:{g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Jl(b,2);g=c[u>>2]|0;break}while(0);p=h&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){g=g+-2|0;c[u>>2]=g;break}else{Jl(b,2);g=c[u>>2]|0;break}while(0);o=h+(d[e+53417>>0]|0)&255;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Jl(b,2);break}while(0);n=e+53513+v|0;a[n>>0]=h;g=c[u>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[b>>2]&(1<<g)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-g>>>30;do if(!(a[t>>0]|0))if(g>>>0>2){c[u>>2]=g+-2;break}else{Jl(b,2);break}while(0);g=h&255;m=e+53515+v|0;a[m>>0]=g;r=a[n>>0]|0;h=(h&255)+(r&255)|0;h=h>>>0>4?5:h+1&255;if(!(r<<24>>24))j=0;else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{Jl(b,2);break}while(0);a[e+53471+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;j=a[n>>0]|0}while((k&255)<(j&255));g=a[m>>0]|0}if(!(g<<24>>24)){i=0;g=j}else{l=b+4|0;k=0;do{i=k&255;j=c[u>>2]|0;if(j>>>0<2){g=2-j|0;g=(c[b>>2]&(1<<j)+-1)<<g|(c[l>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-j>>>30;do if(!(a[t>>0]|0))if(j>>>0>2){c[u>>2]=j+-2;break}else{Jl(b,2);break}while(0);a[e+53489+(v*9|0)+i>>0]=(g<<1)+2;k=k+1<<24>>24;i=a[m>>0]|0}while((k&255)<(i&255));g=a[n>>0]|0}g=(i&255)+2+(g&255)|0;do if((g&255)<10?(r=g<<24>>24,s=d[139695+r>>0]|0,r>>>0>=2):0){i=c[u>>2]|0;if(i>>>0<s>>>0){g=s-i|0;g=(c[b>>2]&(1<<i)+-1)<<g|(c[b+4>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-i>>>(32-s|0);if(!(a[t>>0]|0))if(i>>>0>s>>>0){c[u>>2]=i-s;break}else{Jl(b,s);break}}else g=0;while(0);a[e+53507+v>>0]=g;if(h<<24>>24){i=b+4|0;k=h&255;j=0;do{g=c[u>>2]|0;if(!g){g=(c[i>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(b,1)}else{g=g+-1|0;c[u>>2]=g;g=(c[b>>2]|0)>>>g&1}a[e+634+(v*6|0)+j>>0]=g;j=j+1|0}while((j|0)!=(k|0))}a[e+602+v>>0]=p;a[e+604+v>>0]=o;a[e+606+v>>0]=a[n>>0]|0;g=a[m>>0]|0;j=173;break}default:h=0}if((j|0)==173){a[e+608+v>>0]=g;g=a[A>>0]|0}v=h&255;g=g<<24>>24==3?5:4;g=g>>>0>v>>>0?v:g;a[w>>0]=g;if(!g){B=1;return B|0}a[y>>0]=(g|0)!=1?2:1;g=Um(e,f)|0;if(!(g<<24>>24)){Vm(e,f);B=0;return B|0}else{a[A>>0]=B;a[w>>0]=x;a[y>>0]=z;B=g;return B|0}return 0}function Km(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=f&255;i=e+610+m|0;if(a[i>>0]|0){j=b+8|0;k=b+4|0;l=b+20|0;g=0;do{h=g&255;f=c[j>>2]|0;if(!f){f=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(b,1)}else{f=f+-1|0;c[j>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53517+(m*9|0)+h>>0]=f;g=g+1<<24>>24}while((g&255)<(d[i>>0]|0))}h=e+614+m|0;if(!(a[h>>0]|0))return;i=b+8|0;j=b+4|0;k=b+20|0;g=0;do{l=g&255;f=c[i>>2]|0;if(!f){f=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(b,1)}else{f=f+-1|0;c[i>>2]=f;f=(c[b>>2]|0)>>>f&1}a[e+53535+(m*3|0)+l>>0]=f;g=g+1<<24>>24}while((g&255)<(d[h>>0]|0));return}function Lm(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=g&255;x=f+610+w|0;i=a[x>>0]|0;if(i<<24>>24==1?(a[f+53451+w>>0]|0)==0:0)h=0;else h=a[f+53431>>0]|0;t=f+11+w|0;a[t>>0]=h;u=f+53450|0;v=g<<24>>24==1;j=v&(a[u>>0]|0)!=0;r=h<<24>>24==0;s=j?(r?138851:138947):r?139091:139331;r=j?(r?138995:138679):r?139455:138727;if(!(i<<24>>24)){Tm(f,g);return}o=e+8|0;p=e+4|0;q=e+20|0;n=j&1;m=0;l=0;while(1){if(!(a[f+53517+(w*9|0)+l>>0]|0)){i=(a[t>>0]|0)==0;i=v&(a[u>>0]|0)==1?(i?6:5):i?7:6;j=c[o>>2]|0;if(j>>>0<i>>>0){h=i-j|0;h=(c[e>>2]&(1<<j)+-1)<<h|(c[p>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-j>>>(32-i|0);do if(!(a[q>>0]|0))if(j>>>0>i>>>0){c[o>>2]=j-i;break}else{Jl(e,i);break}while(0);b[f+730+(w*640|0)+(l<<1)>>1]=h<<n;k=f+634+(w*6|0)+l|0;if((d[(d[k>>0]|0)+(f+24)>>0]|0)>1){j=1;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))Jl(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[r+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}else{k=f+634+(w*6|0)+l|0;if(a[(d[k>>0]|0)+(f+24)>>0]|0){j=0;do{i=0;do{h=c[o>>2]|0;if(!h){h=(c[p>>2]|0)>>>31;if(!(a[q>>0]|0))Jl(e,1)}else{h=h+-1|0;c[o>>2]=h;h=(c[e>>2]|0)>>>h&1}h=a[s+(i<<1)+h>>0]|0;i=h<<24>>24}while(h<<24>>24>-1);b[f+730+(w*640|0)+((j&255)*10|0)+(l<<1)>>1]=i+64<<n;j=j+1<<24>>24}while((j&255)<(d[(d[k>>0]|0)+(f+24)>>0]|0))}}h=m+1<<24>>24;if((h&255)<(d[x>>0]|0)){m=h;l=h&255}else break}Tm(f,g);return}function Mm(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;g=f<<24>>24==1&(a[e+53450>>0]|0)==1;o=g?138507:138555;n=g?138679:138727;s=f&255;t=e+614+s|0;if(!(a[t>>0]|0)){Sm(e,f);return}p=b+8|0;q=b+4|0;r=b+20|0;l=g&1;m=e+19|0;k=0;j=0;while(1){if(!(a[e+53535+(s*3|0)+j>>0]|0)){h=c[p>>2]|0;if(h>>>0<5){g=5-h|0;g=(c[b>>2]&(1<<h)+-1)<<g|(c[q>>2]|0)>>>(32-g|0)}else g=c[b>>2]<<32-h>>>27;do if(!(a[r>>0]|0))if(h>>>0>5){c[p>>2]=h+-5;break}else{Jl(b,5);break}while(0);c[e+7388+(s<<9)+(j<<2)>>2]=g<<l;if((d[m>>0]|0)>1){h=1;do{i=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[n+(i<<1)+g>>0]|0;i=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((h&255)<<3)+(j<<2)>>2]=i+64<<l;h=h+1<<24>>24}while((h&255)<(d[m>>0]|0))}}else if(a[m>>0]|0){i=0;do{h=0;do{g=c[p>>2]|0;if(!g){g=(c[q>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(b,1)}else{g=g+-1|0;c[p>>2]=g;g=(c[b>>2]|0)>>>g&1}g=a[o+(h<<1)+g>>0]|0;h=g<<24>>24}while(g<<24>>24>-1);c[e+7388+(s<<9)+((i&255)<<3)+(j<<2)>>2]=h+64<<l;i=i+1<<24>>24}while((i&255)<(d[m>>0]|0))}g=k+1<<24>>24;if((g&255)<(d[t>>0]|0)){k=g;j=g&255}else break}Sm(e,f);return}function Nm(e,g){e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=e+53450|0;if(a[t>>0]|0)return;u=g&255;h=(a[e+11+u>>0]|0)==0;p=a[e+610+u>>0]|0;a:do if(p<<24>>24){q=h&1;if(h){o=0;m=0}else{n=0;l=0;while(1){m=(d[e+634+(u*6|0)+l>>0]|0)+(e+24)|0;if(a[m>>0]|0){k=0;i=0;while(1){h=b[e+730+(u*640|0)+(i*10|0)+(l<<1)>>1]>>q;if(h>>>0>63)j=0.0;else j=+f[51688+(h<<2)>>2];f[e+2268+(u*1280|0)+(i*20|0)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(d[m>>0]|0)){k=h;i=h&255}else break}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;l=h&255}else break a}}while(1){n=(d[e+634+(u*6|0)+m>>0]|0)+(e+24)|0;if(a[n>>0]|0){l=0;i=0;while(1){k=b[e+730+(u*640|0)+(i*10|0)+(m<<1)>>1]|0;h=k<<16>>16>>q;if(h>>>0<=63){j=+f[51688+(h<<2)>>2];h=e+2268+(u*1280|0)+(i*20|0)+(m<<2)|0;f[h>>2]=j;if(k&1)f[h>>2]=j*1.4142135381698608}else f[e+2268+(u*1280|0)+(i*20|0)+(m<<2)>>2]=0.0;h=l+1<<24>>24;if((h&255)<(d[n>>0]|0)){l=h;i=h&255}else break}}h=o+1<<24>>24;if((h&255)<(p&255)){o=h;m=h&255}else break}}while(0);p=a[e+614+u>>0]|0;if(!(p<<24>>24))return;o=g<<24>>24==0;n=a[e+19>>0]|0;m=0;h=n;l=0;while(1){if(h<<24>>24)if(o){k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[53656+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(v=c[e+7900+(i<<3)+(l<<2)>>2]|0,v>>>0<=24):0)j=+f[52044+(h*52|0)+(v>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[57004+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(w=c[e+7900+(i<<3)+(l<<2)>>2]|0,w>>>0<=24):0)j=+f[55392+(h*52|0)+(w>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else{k=0;i=0;while(1){if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[53656+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(r=c[e+7900+(i<<3)+(l<<2)>>2]|0,r>>>0<=24):0)j=+f[53780+(h*52|0)+(r>>>1<<2)>>2];else j=0.0}f[e+8412+(u<<9)+(i<<3)+(l<<2)>>2]=j;if(!(a[t>>0]|0)){h=c[e+7388+(u<<9)+(i<<3)+(l<<2)>>2]|0;if(h>>>0>30)j=0.0;else j=+f[57004+(h<<2)>>2]}else{h=c[e+7388+(i<<3)+(l<<2)>>2]|0;if(h>>>0<=30?(s=c[e+7900+(i<<3)+(l<<2)>>2]|0,s>>>0<=24):0)j=+f[57128+(h*52|0)+(s>>>1<<2)>>2];else j=0.0}f[e+9436+(u<<9)+(i<<3)+(l<<2)>>2]=j;h=k+1<<24>>24;if((h&255)<(n&255)){k=h;i=h&255}else{h=n;break}}}else h=0;i=m+1<<24>>24;if((i&255)<(p&255)){m=i;l=i&255}else break}return}function Om(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;i=oc=oc+31&-32;oc=oc+16|0;if(e<<24>>24!=2){f=b+8|0;g=c[f>>2]|0;if(g>>>0<6){e=6-g|0;e=(c[b>>2]&(1<<g)+-1)<<e|(c[b+4>>2]|0)>>>(32-e|0)}else e=c[b>>2]<<32-g>>>26;do if(!(a[b+20>>0]|0))if(g>>>0>6){c[f>>2]=g+-6;break}else{Jl(b,6);break}while(0);a[d+53449>>0]=e;d=6;oc=j;return d|0}f=d+53420|0;e=c[f>>2]|0;if(!e){e=Zl(c[d>>2]|0)|0;e=Qm(e,a[d+53416>>0]|0)|0;c[f>>2]=e}h=d+53425|0;if(a[h>>0]|0)a[e+719>>0]=0;g=Rm(e,b,i)|0;f=d+53424|0;e=(a[i>>0]|0)==1;if(!((a[f>>0]|0)==0&e)){if(!e){d=g;oc=j;return d|0}}else a[f>>0]=1;a[h>>0]=0;d=g;oc=j;return d|0}function Pm(e){e=e|0;var g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=(a[e+11>>0]|0)==0;s=a[e+610>>0]|0;if(s<<24>>24){p=r&1;q=(a[e+12>>0]|0)==0&1;o=0;m=0;while(1){n=(d[e+634+m>>0]|0)+(e+24)|0;if(a[n>>0]|0)if(r){l=0;k=0;while(1){g=b[e+730+(k*10|0)+(m<<1)>>1]|0;h=b[e+1370+(k*10|0)+(m<<1)>>1]>>q;j=(g>>p<<16)+65536|0;if(h>>>0>24|j>>>0>4128768){f[e+3548+(k*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[51688+(j>>16<<2)>>2];i=(g&1|0)==0?i:i*1.4142135381698608;f[e+2268+(k*20|0)+(m<<2)>>2]=+f[51944+(h<<2)>>2]*i;i=i*+f[51944+(24-h<<2)>>2];g=1}f[e+2268+(g*1280|0)+(k*20|0)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(d[n>>0]|0)){l=g;k=g&255}else break}}else{k=0;j=0;while(1){g=b[e+1370+(j*10|0)+(m<<1)>>1]>>q;h=(b[e+730+(j*10|0)+(m<<1)>>1]>>p<<16)+65536|0;if(g>>>0>24|h>>>0>4128768){f[e+3548+(j*20|0)+(m<<2)>>2]=0.0;i=0.0;g=0}else{i=+f[51688+(h>>16<<2)>>2];f[e+2268+(j*20|0)+(m<<2)>>2]=+f[51944+(g<<2)>>2]*i;i=i*+f[51944+(24-g<<2)>>2];g=1}f[e+2268+(g*1280|0)+(j*20|0)+(m<<2)>>2]=i;g=k+1<<24>>24;if((g&255)<(d[n>>0]|0)){k=g;j=g&255}else break}}g=o+1<<24>>24;if((g&255)<(s&255)){o=g;m=g&255}else break}}p=a[e+614>>0]|0;if(!(p<<24>>24))return;q=e+53450|0;o=a[e+19>>0]|0;n=0;g=o;m=0;while(1){if(!(g<<24>>24))g=0;else{l=0;k=0;while(1){j=c[e+7388+(k<<3)+(m<<2)>>2]|0;h=j>>>0>30;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[53656+(j<<2)>>2];else if(!h?(t=c[e+7900+(k<<3)+(m<<2)>>2]|0,t>>>0<=24):0)i=+f[52044+(j*52|0)+(t>>>1<<2)>>2];else i=0.0;f[e+8412+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[53656+(g<<2)>>2]}else if(!h?(u=c[e+7900+(k<<3)+(m<<2)>>2]|0,u>>>0<=24):0)i=+f[53780+(j*52|0)+(u>>>1<<2)>>2];else i=0.0;f[e+8924+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0))if(h)i=0.0;else i=+f[57004+(j<<2)>>2];else if(!h?(v=c[e+7900+(k<<3)+(m<<2)>>2]|0,v>>>0<=24):0)i=+f[55392+(j*52|0)+(v>>>1<<2)>>2];else i=0.0;f[e+9436+(k<<3)+(m<<2)>>2]=i;if(!(a[q>>0]|0)){g=c[e+7900+(k<<3)+(m<<2)>>2]|0;if(g>>>0>30)i=0.0;else i=+f[57004+(g<<2)>>2]}else if(!h?(w=c[e+7900+(k<<3)+(m<<2)>>2]|0,w>>>0<=24):0)i=+f[57128+(j*52|0)+(w>>>1<<2)>>2];else i=0.0;f[e+9948+(k<<3)+(m<<2)>>2]=i;g=l+1<<24>>24;if((g&255)<(o&255)){l=g;k=g&255}else{g=o;break}}}h=n+1<<24>>24;if((h&255)<(p&255)){n=h;m=h&255}else break}return}function Qm(b,e){b=b|0;e=e|0;var g=0,h=0,i=0,j=0;i=Ml(22736)|0;rD(i|0,0,22736)|0;g=Ml(24)|0;a[g+4>>0]=12;a[g+5>>0]=8;a[g+6>>0]=4;a[g+7>>0]=4;a[g+8>>0]=4;a[g+1>>0]=8;a[g+2>>0]=2;a[g+3>>0]=2;a[g>>0]=e;h=Ml(((e&255)<<3)+96|0)|0;c[g+12>>2]=h;rD(h|0,0,(d[g>>0]<<3)+96|0)|0;h=g+16|0;c[h>>2]=Ml(20)|0;b=Ml(d[g>>0]<<3)|0;c[c[h>>2]>>2]=b;rD(c[c[h>>2]>>2]|0,0,d[g>>0]<<3|0)|0;b=Ml(d[g>>0]<<3)|0;c[(c[h>>2]|0)+4>>2]=b;rD(c[(c[h>>2]|0)+4>>2]|0,0,d[g>>0]<<3|0)|0;b=Ml(d[g>>0]<<3)|0;c[(c[h>>2]|0)+8>>2]=b;rD(c[(c[h>>2]|0)+8>>2]|0,0,d[g>>0]<<3|0)|0;b=Ml(d[g>>0]<<3)|0;c[(c[h>>2]|0)+12>>2]=b;rD(c[(c[h>>2]|0)+12>>2]|0,0,d[g>>0]<<3|0)|0;b=Ml(d[g>>0]<<3)|0;c[(c[h>>2]|0)+16>>2]=b;rD(c[(c[h>>2]|0)+16>>2]|0,0,d[g>>0]<<3|0)|0;h=g+20|0;c[h>>2]=Ml(d[g>>0]<<2)|0;if(a[g>>0]|0){b=0;do{j=Ml(96)|0;c[(c[h>>2]|0)+((b&255)<<2)>>2]=j;b=b+1<<24>>24}while((b&255)<(d[g>>0]|0))}c[i+720>>2]=g;a[i+725>>0]=e;a[i+718>>0]=0;a[i+740>>0]=0;b=i+811|0;g=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(g|0));a[i+741>>0]=0;a[i+744>>0]=3;a[i+742>>0]=0;a[i+745>>0]=4;a[i+743>>0]=0;a[i+746>>0]=5;a[i+729>>0]=22;f[i+20076>>2]=.765928328037262;f[i+20080>>2]=.25;b=i+747|0;g=b+35|0;do{a[b>>0]=14;b=b+1|0}while((b|0)<(g|0));b=i+782|0;g=b+29|0;do{a[b>>0]=1;b=b+1|0}while((b|0)<(g|0));f[i+20492>>2]=1.0;f[i+20896>>2]=1.0;f[i+20500>>2]=1.0;f[i+20904>>2]=1.0;f[i+20508>>2]=1.0;f[i+20912>>2]=1.0;f[i+20516>>2]=1.0;f[i+20920>>2]=1.0;f[i+20524>>2]=1.0;f[i+20928>>2]=1.0;f[i+20532>>2]=1.0;f[i+20936>>2]=1.0;f[i+20540>>2]=1.0;f[i+20944>>2]=1.0;f[i+20548>>2]=1.0;f[i+20952>>2]=1.0;f[i+20556>>2]=1.0;f[i+20960>>2]=1.0;f[i+20564>>2]=1.0;f[i+20968>>2]=1.0;f[i+20572>>2]=1.0;f[i+20976>>2]=1.0;f[i+20580>>2]=1.0;f[i+20984>>2]=1.0;f[i+20588>>2]=1.0;f[i+20992>>2]=1.0;f[i+20596>>2]=1.0;f[i+21e3>>2]=1.0;f[i+20604>>2]=1.0;f[i+21008>>2]=1.0;f[i+20612>>2]=1.0;f[i+21016>>2]=1.0;f[i+20620>>2]=1.0;f[i+21024>>2]=1.0;f[i+20628>>2]=1.0;f[i+21032>>2]=1.0;f[i+20636>>2]=1.0;f[i+21040>>2]=1.0;f[i+20644>>2]=1.0;f[i+21048>>2]=1.0;f[i+20652>>2]=1.0;f[i+21056>>2]=1.0;f[i+20660>>2]=1.0;f[i+21064>>2]=1.0;f[i+20668>>2]=1.0;f[i+21072>>2]=1.0;f[i+20676>>2]=1.0;f[i+21080>>2]=1.0;f[i+20684>>2]=1.0;f[i+21088>>2]=1.0;f[i+20692>>2]=1.0;f[i+21096>>2]=1.0;f[i+20700>>2]=1.0;f[i+21104>>2]=1.0;f[i+20708>>2]=1.0;f[i+21112>>2]=1.0;f[i+20716>>2]=1.0;f[i+21120>>2]=1.0;f[i+20724>>2]=1.0;f[i+21128>>2]=1.0;f[i+20732>>2]=1.0;f[i+21136>>2]=1.0;f[i+20740>>2]=1.0;f[i+21144>>2]=1.0;f[i+20748>>2]=1.0;f[i+21152>>2]=1.0;f[i+20756>>2]=1.0;f[i+21160>>2]=1.0;f[i+20764>>2]=1.0;f[i+21168>>2]=1.0;f[i+20772>>2]=1.0;f[i+21176>>2]=1.0;f[i+20780>>2]=1.0;f[i+21184>>2]=1.0;f[i+20788>>2]=1.0;f[i+21192>>2]=1.0;f[i+20796>>2]=1.0;f[i+21200>>2]=1.0;f[i+20804>>2]=1.0;f[i+21208>>2]=1.0;f[i+20812>>2]=1.0;f[i+21216>>2]=1.0;f[i+20820>>2]=1.0;f[i+21224>>2]=1.0;f[i+20828>>2]=1.0;f[i+21232>>2]=1.0;f[i+20836>>2]=1.0;f[i+21240>>2]=1.0;f[i+20844>>2]=1.0;f[i+21248>>2]=1.0;f[i+20852>>2]=1.0;f[i+21256>>2]=1.0;f[i+20860>>2]=1.0;f[i+21264>>2]=1.0;f[i+20868>>2]=1.0;f[i+21272>>2]=1.0;f[i+20876>>2]=1.0;f[i+21280>>2]=1.0;f[i+20884>>2]=1.0;f[i+21288>>2]=1.0;a[i+22092>>0]=0;e=i+22416|0;j=i+22096|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22112|0;j=i+22432|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22128|0;e=i+22448|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22144|0;j=i+22464|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22160|0;e=i+22480|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22176|0;j=i+22496|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22192|0;e=i+22512|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22208|0;j=i+22528|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22224|0;e=i+22544|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22240|0;j=i+22560|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22256|0;e=i+22576|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22272|0;j=i+22592|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22288|0;e=i+22608|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22304|0;j=i+22624|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22320|0;e=i+22640|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22336|0;j=i+22656|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22352|0;e=i+22672|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22368|0;j=i+22688|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;j=i+22384|0;e=i+22704|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=i+22400|0;j=i+22720|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;return i|0}function Rm(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;s=Hl(e)|0;a[f>>0]=0;t=e+8|0;g=c[t>>2]|0;if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}if(!g)g=b+719|0;else{a[f>>0]=1;g=b+719|0;a[g>>0]=1;i=b+724|0;a[i>>0]=0;f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b>>0]=r;if(r<<24>>24){f=c[t>>2]|0;if(f>>>0<3){h=3-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>29;do if(!(a[e+20>>0]|0))if(f>>>0>3){c[t>>2]=f+-3;break}else{Jl(e,3);break}while(0);f=h&255;a[b+3>>0]=f;r=h&255;a[b+5>>0]=a[138019+r>>0]|0;a[b+6>>0]=a[138027+r>>0]|0;switch(f<<24>>24){case 5:case 2:{a[i>>0]=1;break}default:{}}a[b+27>>0]=f}f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}r=f&255;a[b+1>>0]=r;a:do if(r<<24>>24){h=c[t>>2]|0;if(h>>>0<3){f=3-h|0;f=(c[e>>2]&(1<<h)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-h>>>29;do if(!(a[e+20>>0]|0))if(h>>>0>3){c[t>>2]=h+-3;break}else{Jl(e,3);break}while(0);r=f&255;a[b+4>>0]=r;a[b+7>>0]=a[138019+(f&255)>>0]|0;switch(r<<24>>24){case 5:case 2:break;default:break a}a[i>>0]=1}while(0);f=c[t>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+2>>0]=f}if(!(a[g>>0]|0)){u=1;s=0;t=b+718|0;a[t>>0]=s;return u|0}g=c[t>>2]|0;do if(!g){g=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Jl(e,1);h=c[t>>2]|0;i=47;break}else{g=g&255;f=b+8|0;a[f>>0]=g;h=0;i=49;break}}else{h=g+-1|0;c[t>>2]=h;g=(c[e>>2]|0)>>>h&1;i=47}while(0);if((i|0)==47){g=g&255;f=b+8|0;a[f>>0]=g;if(h>>>0<2)i=49;else j=c[e>>2]<<32-h>>>30}if((i|0)==49){j=2-h|0;j=(c[e>>2]&(1<<h)+-1)<<j|(c[e+4>>2]|0)>>>(32-j|0)}r=e+20|0;do if(!(a[r>>0]|0))if(h>>>0>2){c[t>>2]=h+-2;f=g;break}else{Jl(e,2);f=a[f>>0]|0;break}else f=g;while(0);g=a[(j&255)+(138035+((f&255)<<2))>>0]|0;q=b+9|0;a[q>>0]=g;if(f<<24>>24)if(!(g<<24>>24))g=0;else{k=e+4|0;j=1;do{i=j&255;f=c[t>>2]|0;if(f>>>0<5){h=5-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>27;do if(!(a[r>>0]|0))if(f>>>0>5){c[t>>2]=f+-5;break}else{Jl(e,5);g=a[q>>0]|0;break}while(0);a[b+10+i>>0]=h+1;j=j+1<<24>>24}while((g&255)>=(j&255))}if(a[b>>0]|0)if(!(g<<24>>24))g=0;else{l=e+4|0;m=b+3|0;n=b+5|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}g=g&255;a[b+16+j>>0]=g;h=a[n>>0]|0;i=b+140+(j*34|0)|0;g=g<<24>>24==0;b:do if((d[m>>0]|0)<3){if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[138043+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138099+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138099+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else{if(g)f=0;else{if(!(h<<24>>24))break;i=h&255;h=0;while(1){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[l>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);p=a[138155+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0;if((h|0)==(i|0))break b}}do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138275+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138275+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+140+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}while(0);f=k+1<<24>>24;g=a[q>>0]|0;if((f&255)<(g&255)){k=f;j=f&255}else break}}if(!((a[b+1>>0]|0)==0|g<<24>>24==0)){l=e+4|0;m=b+7|0;k=0;j=0;while(1){g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=g&255;a[b+21+j>>0]=p;h=a[m>>0]|0;i=b+310+(j*34|0)|0;if(!(p<<24>>24)){f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138423+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[i>>0]=f+31;if((h&255)>1){i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138423+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}}else if(h<<24>>24){i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;if(!g){g=(c[l>>2]|0)>>>31;if(!(a[r>>0]|0))Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}p=a[138395+(f<<1)+g>>0]|0;f=p<<24>>24}while(p<<24>>24>-1);a[b+310+(j*34|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}do if(a[b+2>>0]|0){f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[r>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Jl(e,4);break}while(0);if((g&65535|0)==15){f=c[t>>2]|0;if(f>>>0<8){g=8-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>24;do if(!(a[r>>0]|0))if(f>>>0>8){c[t>>2]=f+-8;break}else{Jl(e,8);break}while(0);g=(g&65535)+15|0}f=g<<3;g=f&65528;if(g>>>0>7){n=e+4|0;o=b+26|0;p=b+6|0;do{g=c[t>>2]|0;if(g>>>0<2){h=2-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[n>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>30;do if(!(a[r>>0]|0))if(g>>>0>2){c[t>>2]=g+-2;break}else{Jl(e,2);break}while(0);l=f+65534|0;m=Hl(e)|0;do if(!((h&255)<<24>>24)){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);k=g&255;a[o>>0]=k;do if(k<<24>>24){if(!(a[q>>0]|0))break;else{k=0;j=0}while(1){g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+28+j>>0]=f;h=a[p>>0]|0;i=b+480+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138465+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138465+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138451+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+480+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);f=g&255;a[b+33+j>>0]=f;h=a[p>>0]|0;i=b+565+(j*17|0)|0;do if(!(f<<24>>24)){f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138493+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[i>>0]=f+31;if((h&255)<=1)break;i=h&255;h=1;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138493+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}else{if(!(h<<24>>24))break;i=h&255;h=0;do{f=0;do{g=c[t>>2]|0;do if(!g){g=(c[n>>2]|0)>>>31;if(a[r>>0]|0)break;Jl(e,1)}else{g=g+-1|0;c[t>>2]=g;g=(c[e>>2]|0)>>>g&1}while(0);g=a[138479+(f<<1)+g>>0]|0;f=g<<24>>24}while(g<<24>>24>-1);a[b+565+(j*17|0)+h>>0]=f+31;h=h+1|0}while((h|0)!=(i|0))}while(0);g=k+1<<24>>24;if((g&255)<(d[q>>0]|0)){k=g;j=g&255}else break}}while(0);g=c[t>>2]|0;if(g|0){c[t>>2]=g+-1;break}if(a[r>>0]|0)break;Jl(e,1)}while(0);f=(l&65535)-((Hl(e)|0)-m&65535)|0;g=f&65535}while(g>>>0>7)}if(g|0?(u=c[t>>2]|0,(a[r>>0]|0)==0):0)if(u>>>0>g>>>0){c[t>>2]=u-g;break}else{Jl(e,g);break}}while(0);u=(Hl(e)|0)-s&65535;s=1;t=b+718|0;a[t>>0]=s;return u|0}function Sm(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;k=e&255;l=b+614+k|0;if(!(a[l>>0]|0))return;m=b+19|0;j=0;i=0;while(1){a:do if(!(a[b+53535+(k*3|0)+i>>0]|0)){e=a[m>>0]|0;if((e&255)>1){e=e&255;f=c[b+7388+(k<<9)+(i<<2)>>2]|0;g=1;do{h=b+7388+(k<<9)+(g<<3)+(i<<2)|0;f=f+(c[h>>2]|0)|0;c[h>>2]=f;g=g+1|0}while(g>>>0<e>>>0)}}else{h=a[m>>0]|0;e=h<<24>>24==0;if(!(j<<24>>24)){if(e)break;else{f=0;e=0}while(1){c[b+7388+(k<<9)+(e<<3)+(i<<2)>>2]=(c[b+7388+(k<<9)+(e<<3)>>2]|0)+(c[b+10460+(k<<8)+(e<<2)>>2]|0);e=f+1<<24>>24;if((e&255)<(h&255)){f=e;e=e&255}else break a}}if(!e){g=i+-1|0;e=h&255;f=0;do{h=b+7388+(k<<9)+(f<<3)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[b+7388+(k<<9)+(f<<3)+(g<<2)>>2]|0);f=f+1|0}while(f>>>0<e>>>0)}}while(0);e=j+1<<24>>24;if((e&255)<(d[l>>0]|0)){j=e;i=e&255}else break}return}function Tm(c,f){c=c|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;q=f&255;r=a[c+610+q>>0]|0;if(!(r<<24>>24))return;s=c+646+q|0;t=c+17|0;u=c+18|0;v=c+24|0;p=c+25|0;o=0;n=0;while(1){a:do if(!(a[c+53517+(q*9|0)+n>>0]|0)){h=(d[c+634+(q*6|0)+n>>0]|0)+(c+24)|0;if((d[h>>0]|0)>1){g=1;f=1;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;f=(e[m>>1]|0)+(e[c+730+(q*640|0)+((f+-1|0)*10|0)+(n<<1)>>1]|0)|0;b[m>>1]=(f&32768|0)==0?f&65535:0;f=g+1<<24>>24;if((f&255)<(d[h>>0]|0)){g=f;f=f&255}else break}}}else{h=o<<24>>24==0;m=n+-1|0;f=a[(h?s:c+634+(q*6|0)+m|0)>>0]|0;g=a[c+634+(q*6|0)+n>>0]|0;if(g<<24>>24==f<<24>>24){i=(f&255)+(c+24)|0;if(!(a[i>>0]|0))break;if(h){g=0;f=0;while(1){m=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[m>>1]=(e[m>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}else{g=0;f=0;while(1){l=c+730+(q*640|0)+(f*10|0)+(n<<1)|0;b[l>>1]=(e[l>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(d[i>>0]|0)){g=f;f=f&255}else break a}}}if(f<<24>>24==1&g<<24>>24==0){l=a[v>>0]|0;if(!(l<<24>>24))break;k=a[t>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+90+g>>0]|0;g=0;f=0;while(1){if((a[c+154+f>>0]|0)==h<<24>>24)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(l&255)){j=g;g=g&255}else break a}}}if(f<<24>>24==0&g<<24>>24==1?(w=a[p>>0]|0,w<<24>>24):0){k=a[u>>0]|0;if(h){j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+2010+(q<<7)+(f<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}else{j=0;f=k;g=0;while(1){if(!(f<<24>>24))f=0;else{i=c+730+(q*640|0)+(g*10|0)+(n<<1)|0;h=a[c+154+g>>0]|0;g=0;f=0;while(1){if((d[c+90+f>>0]|0)<=(h&255)?(h&255)<(d[f+1+(c+90)>>0]|0):0)b[i>>1]=(e[i>>1]|0)+(e[c+730+(q*640|0)+(f*10|0)+(m<<1)>>1]|0);f=g+1<<24>>24;if((f&255)<(k&255)){g=f;f=f&255}else{f=k;break}}}g=j+1<<24>>24;if((g&255)<(w&255)){j=g;g=g&255}else break}}}}while(0);f=o+1<<24>>24;if((f&255)<(r&255)){o=f;n=f&255}else break}return}function Um(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=oc;n=oc=oc+31&-32;oc=oc+16|0;o=n+1|0;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=0;a[o+4>>0]=0;o=d[b+8>>0]|0;m=c&255;f=a[b+602+m>>0]|0;a[n>>0]=z(f&255,o)|0;c=a[b+604+m>>0]|0;l=(z(c&255,o)|0)&255;g=a[b+610+m>>0]|0;e=g&255;a[n+e>>0]=l;a:do switch(a[b+53451+m>>0]|0){case 0:switch(g<<24>>24){case 4:{k=(d[b+53417>>0]|0)>>>2;l=k&255;a[n+3>>0]=z(o*3|0,l)|0;a[n+2>>0]=z(k<<1&255,o)|0;a[n+1>>0]=z(o,l)|0;break a}case 2:{a[n+1>>0]=z((d[b+53417>>0]|0)>>>1&255,o)|0;break a}default:break a}case 1:{if((g&255)>1){h=e+-1|0;f=0;e=0;while(1){e=a[b+53453+(m*9|0)+e>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=z(c&255,o)|0;f=f+1<<24>>24;e=f&255;if((h|0)<=(e|0))break a;else c=c&255}oc=p;return c|0}break}case 2:{if((g&255)>1){j=d[b+53419>>0]|0;k=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=e+-1|0;h=1;c=f;g=0;e=0;while(1){f=(d[b+53453+(m*9|0)+e>>0]|0)+(c&255)|0;c=z(f&255,o)|0;if((c+j|0)>>>0>k>>>0){c=1;break}a[n+(h<<24>>24)>>0]=c;g=g+1<<24>>24;e=g&255;if((i|0)<=(e|0))break a;else{h=h+1<<24>>24;c=f&255}}oc=p;return c|0}break}case 3:{k=a[b+53513+m>>0]|0;b:do if(k<<24>>24){l=d[b+53419>>0]|0;j=(d[b+53418>>0]|0)+(d[b+53416>>0]|0)|0;i=1;e=f;h=0;while(1){e=(d[(h&255)+(b+53471+(m*9|0))>>0]|0)+(e&255)|0;f=z(e&255,o)|0;if((f+l|0)>>>0>j>>>0){c=1;break}a[n+(i<<24>>24)>>0]=f;h=h+1<<24>>24;if((h&255)>=(k&255))break b;else{i=i+1<<24>>24;e=e&255}}oc=p;return c|0}while(0);h=a[b+53515+m>>0]|0;if(h<<24>>24){f=0;while(1){e=a[(f&255)+(b+53489+(m*9|0))>>0]|0;if((c&255)<(e&255)){c=1;break}c=(c&255)-(e&255)|0;g=g+-1<<24>>24;a[n+(g<<24>>24)>>0]=z(c&255,o)|0;f=f+1<<24>>24;if((f&255)>=(h&255))break a;else c=c&255}oc=p;return c|0}break}default:{}}while(0);o=b+((m*6|0)+616)|0;a[o>>0]=a[n>>0]|0;a[o+1>>0]=a[n+1>>0]|0;a[o+2>>0]=a[n+2>>0]|0;a[o+3>>0]=a[n+3>>0]|0;a[o+4>>0]=a[n+4>>0]|0;a[o+5>>0]=a[n+5>>0]|0;o=0;oc=p;return o|0}function Vm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;e=c&255;a[b+628+(e*3|0)>>0]=a[b+616+(e*6|0)>>0]|0;f=a[b+610+e>>0]|0;if(f<<24>>24==1){a[b+628+(e*3|0)+1>>0]=a[b+616+(e*6|0)+1>>0]|0;f=0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}a:do switch(a[b+53451+e>>0]|0){case 0:{c=(f&255)>>>1&255;break}case 2:{c=a[b+53507+e>>0]|0;switch(c<<24>>24){case 0:{c=1;break a}case 1:{c=(f&255)+-1|0;break a}default:{c=(c&255)+-1|0;break a}}}case 3:case 1:{c=a[b+53507+e>>0]|0;d=f&255;if((c&255)>1){c=1-(c&255)+d|0;break a}else{c=d+255|0;break a}}default:c=0}while(0);d=c<<24>>24;a[b+628+(e*3|0)+1>>0]=a[(((d|0)>0?d:0)&255)+(b+616+(e*6|0))>>0]|0;f=a[(f&255)+(b+616+(e*6|0))>>0]|0;b=b+628+(e*3|0)+2|0;a[b>>0]=f;return}function Wm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=a[139888+((Zl(e)|0)&255)>>0]|0;e=Zl(e)|0;f=f&255;if(!(c<<24>>24)){c=d[140008+(b&255)>>0]|0;c=c+f|0;c=c&255;return c|0}else{c=a[(b&255)+(139912+(d[139900+(e&255)>>0]<<4))>>0]|0;c=c+f|0;c=c&255;return c|0}return 0}function Xm(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;switch(b<<24>>24){case 15:{c=(e&255)*3|0;c=(c>>>0<64?c:64)&255;return c|0}case 14:{if((e&255)>32){c=64;return c|0}c=(e&255)<<1&255;return c|0}default:{e=d[139708+((Zl(c)|0)&255)>>0]|0;g=(Zl(c)|0)&255;b=f>>>0<13?f:13;if(((a[139720+(g*14|0)+b>>0]|0)+e|0)>64){g=64;return g|0}g=(d[139720+(((Zl(c)|0)&255)*14|0)+b>>0]|0)+e&255;return g|0}}return 0}function Ym(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;l=oc;k=oc=oc+31&-32;oc=oc+256|0;rD(k|0,0,256)|0;if((f&255)<=(e&255)){a[b+16>>0]=0;k=1;oc=l;return k|0}h=(f&255)-(e&255)|0;if(!(g<<24>>24))f=h&-2;else f=h+2>>2<<1;j=f>>>0<63?f:63;if(!j){k=1;oc=l;return k|0}i=g<<24>>24?2:1;h=h-(z(j,i)|0)|0;f=0;g=0;do{c[k+(g<<2)>>2]=i;f=f+1<<24>>24;g=f&255}while(j>>>0>g>>>0);if(h|0){f=(h|0)>0;g=f?-1:1;f=f?j+255|0:0;while(1){f=f&255;i=k+(f<<2)|0;c[i>>2]=(c[i>>2]|0)-g;h=h+g|0;if(!h)break;else f=f+g|0}}a[b+26>>0]=e;f=1;h=1;do{e=h+-1|0;a[b+26+h>>0]=(c[k+(e<<2)>>2]|0)+(d[b+26+e>>0]|0);f=f+1<<24>>24;h=f&255}while(j>>>0>=h>>>0);a[b+16>>0]=(j|0)<64?j:64;k=0;oc=l;return k|0}function Zm(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,z=0;z=oc;x=oc=oc+31&-32;oc=oc+1024|0;s=x+768|0;t=x+512|0;u=x+256|0;rD(s|0,0,256)|0;rD(t|0,0,256)|0;rD(u|0,0,256)|0;rD(x|0,0,256)|0;m=e&255;if((f&255)<=(e&255)){a[b+16>>0]=0;b=1;oc=z;return b|0}p=+(f&255);l=+(e&255);o=p/l>2.2449;r=o?m<<1&255:f;n=+(d[139705+((g&255)+-1)>>0]|0);i=+(r&255);j=i/l;w=~~(+y(+j)*n/.6931471824645996+.5)<<1&254;w=w>>>0<63?w:63;if((w|0)<1){b=1;oc=z;return b|0}k=+v(+j,+(1.0/+(w&255)));e=0;f=~~(l+.5);j=l;h=0;do{j=j*k;g=f;f=~~(j+.5);c[s+(h<<2)>>2]=f-g;e=e+1<<24>>24;h=e&255}while((w|0)>=(h|0));kp(s,w,4,20);c[u>>2]=m;h=1;e=1;do{g=e+-1|0;m=c[s+(g<<2)>>2]|0;c[u+(e<<2)>>2]=m+(c[u+(g<<2)>>2]|0);h=h+1<<24>>24;if(!m){h=1;q=26;break}e=h&255}while((w|0)>=(e|0));if((q|0)==26){oc=z;return h|0}if(!o){h=0;e=0;do{a[b+26+e>>0]=c[u+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((w|0)>=(e|0));a[b+16>>0]=(w|0)<64?w:64;b=0;oc=z;return b|0}j=p/i;m=~~(+y(+j)*n/.9010912775993347+.5)<<1&254;m=m>>>0<63?m:63;j=+v(+j,+(1.0/+(m&255)));g=m+-1|0;if((m|0)>0){f=~~(i+.5);h=0;e=0;do{i=i*j;q=f;f=~~(i+.5);c[t+(e<<2)>>2]=f-q;h=h+1<<24>>24;e=h&255}while((m|0)>(e|0));e=t;f=c[t>>2]|0}else{e=t;f=0}h=s+(w+-1<<2)|0;if((f|0)<(c[h>>2]|0)){kp(t,m+1|0,4,20);q=c[h>>2]|0;o=c[e>>2]|0;c[e>>2]=q;s=t+(g<<2)|0;c[s>>2]=o-q+(c[s>>2]|0)}kp(t,m,4,20);c[x>>2]=r&255;a:do if((m|0)>=1){h=1;e=1;while(1){r=e+-1|0;s=c[t+(r<<2)>>2]|0;c[x+(e<<2)>>2]=s+(c[x+(r<<2)>>2]|0);h=h+1<<24>>24;if(!s){h=1;break}e=h&255;if((m|0)<(e|0))break a}oc=z;return h|0}while(0);f=m+w|0;f=(f>>>0<64?f:64)&255;a[b+16>>0]=f;h=0;e=0;do{a[b+26+e>>0]=c[u+(e<<2)>>2];h=h+1<<24>>24;e=h&255}while((w|0)>=(e|0));e=w+1|0;h=e&255;if((f&255)<(h&255)){b=0;oc=z;return b|0}while(1){a[b+26+e>>0]=c[x+(e-w<<2)>>2];e=h+1<<24>>24;if((e&255)>(f&255)){h=0;break}else{h=e;e=e&255}}oc=z;return h|0}function _m(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=a[b+16>>0]|0;h=c&255;if((f&255)<=(c&255)){b=1;return b|0}i=(f&255)-h|0;g=i&255;a[b+17>>0]=g;l=(i>>>1&127)+(i&1)|0;k=l&255;a[b+18>>0]=k;a[b+24>>0]=k;a[b+25>>0]=g;f=0;c=0;while(1){a[b+154+c>>0]=a[c+h+(b+26)>>0]|0;c=f+1<<24>>24;if((c&255)>(g&255))break;else{f=c;c=c&255}}h=a[b+154>>0]|0;c=h&255;f=(d[(i&255)+(b+154)>>0]|0)-c|0;a[b+15>>0]=f;a[b+14>>0]=h;if((h&255)>32){b=1;return b|0}if(((f&255)+c|0)>>>0>64){b=1;return b|0}g=i&1;f=0;c=0;while(1){j=f<<24>>24==0?0:(c<<1)-g&255;a[b+90+c>>0]=a[(j&255)+(b+154)>>0]|0;c=f+1<<24>>24;if((c&255)>(k&255))break;else{f=c;c=c&255}}k=b+19|0;a[k>>0]=0;c=a[b+53437>>0]|0;if(!(c<<24>>24))h=1;else{h=~~(+y(+(+(e&255)/+(h&255)))*+(c&255)/.6931471824645996+.5);h=((h|0)>1?h:1)&255;a[k>>0]=h;h=(h&255)<5?h:5}a[k>>0]=h;i=h&255;g=0;c=j;f=0;while(1){if(!(g<<24>>24))c=0;else{c=c&255;c=((l-c|0)/(1-f+i|0)|0)+c&255}a[b+218+f>>0]=a[(c&255)+(b+90)>>0]|0;f=g+1<<24>>24;if((f&255)>(h&255)){c=0;break}else{g=f;f=f&255}}while(1){a:do if(h<<24>>24){g=0;f=0;while(1){if(c>>>0>=(d[b+218+f>>0]|0)>>>0?c>>>0<(d[f+1+(b+218)>>0]|0)>>>0:0)break;f=g+1<<24>>24;if((f&255)<(h&255)){g=f;f=f&255}else break a}a[b+538+c>>0]=g}while(0);c=c+1|0;if((c|0)==64){c=0;break}h=a[k>>0]|0}return c|0}function $m(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function an(d){d=d|0;var e=0,f=0,g=0;e=Ml(8)|0;f=(d&255)*80|0;g=Ml(f)|0;c[e>>2]=g;rD(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function bn(d){d=d|0;var e=0,f=0,g=0;e=Ml(8)|0;f=(d&255)*160|0;g=Ml(f)|0;c[e>>2]=g;rD(g|0,0,f|0)|0;b[e+4>>1]=0;a[e+6>>0]=d;return e|0}function cn(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;p=f+8|0;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[f+20>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}if(h|0){f=32;return f|0}h=c[p>>2]|0;if(h>>>0<2){i=2-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>30;o=f+20|0;do if(!(a[o>>0]|0))if(h>>>0>2){h=h+-2|0;c[p>>2]=h;i=i&255;j=e+4|0;a[j>>0]=i;l=14;break}else{Jl(f,2);h=c[p>>2]|0;l=13;break}else l=13;while(0);if((l|0)==13){i=i&255;j=e+4|0;a[j>>0]=i;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0)){Jl(f,1);k=j;i=a[j>>0]|0}else k=j}else l=14}if((l|0)==14){h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1;k=j}a[e+13>>0]=h;m=b+4|0;if((a[m>>0]|0)==23)if(!(i<<24>>24))l=35;else{f=32;return f|0}else if(i<<24>>24==2){h=c[p>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[f>>2]&(1<<h)+-1)<<i|(c[f+4>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-h>>>28;do if(!(a[o>>0]|0))if(h>>>0>4){j=h+-4|0;c[p>>2]=j;break}else{Jl(f,4);j=c[p>>2]|0;break}else j=h;while(0);a[e>>0]=i;if(j>>>0<7){h=7-j|0;h=(c[f>>2]&(1<<j)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-j>>>25;do if(!(a[o>>0]|0))if(j>>>0>7){c[p>>2]=j+-7;break}else{Jl(f,7);break}while(0);a[e+14>>0]=h}else l=35;if((l|0)==35){i=c[p>>2]|0;if(i>>>0<6){h=6-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>26;do if(!(a[o>>0]|0))if(i>>>0>6){c[p>>2]=i+-6;break}else{Jl(f,6);break}while(0);a[e>>0]=h}h=Zn(b,e)|0;if(h<<24>>24){f=h;return f|0}if((d[e>>0]|0)>(d[e+1>>0]|0)){f=16;return f|0}if((a[k>>0]|0)==2){f=0;return f|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+9042>>0]=l;if(!(l<<24>>24)){f=0;return f|0}h=a[m>>0]|0;if(h<<24>>24==1){g=a[e>>0]|0;h=b+3|0;if((g&255)<(($l(a[h>>0]|0)|0)&255))j=a[e>>0]|0;else j=$l(a[h>>0]|0)|0;a[e+10221>>0]=j;h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}b=h&255;a[e+10222>>0]=b;if(b<<24>>24){i=c[p>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[f>>2]&(1<<i)+-1)<<h|(c[f+4>>2]|0)>>>(32-h|0)}else h=c[f>>2]<<32-i>>>27;do if(!(a[o>>0]|0))if(i>>>0>5){c[p>>2]=i+-5;break}else{Jl(f,5);break}while(0);a[e+10223>>0]=h}if(!(j<<24>>24)){f=0;return f|0}k=f+4|0;j=j&255;i=0;do{h=c[p>>2]|0;if(!h){h=(c[k>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}a[e+10224+i>>0]=h;i=i+1|0}while((i|0)!=(j|0));h=0;return h|0}do if((h&255)>=17){if(g<<24>>24){f=0;return f|0}}else{h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}l=h&255;a[e+10277>>0]=l;if(l<<24>>24?(n=dn(b,e,e+10276|0,f)|0,n<<24>>24):0){f=n;return f|0}if(!(g<<24>>24)){if((d[m>>0]|0)>16)break;else h=0;return h|0}h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10359>>0]=p;if(!(p<<24>>24)){f=0;return f|0}f=dn(b,e,e+10358|0,f)|0;return f|0}while(0);h=c[p>>2]|0;if(!h){h=(c[f+4>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(f,1)}else{h=h+-1|0;c[p>>2]=h;h=(c[f>>2]|0)>>>h&1}p=h&255;a[e+10277>>0]=p;if(!(p<<24>>24)){f=0;return f|0}dn(b,e,e+10276|0,f)|0;f=0;return f|0}function dn(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=h+2|0;b[n>>1]=0;o=i+8|0;if((a[f+4>>0]|0)==23){k=c[o>>2]|0;if(!k)j=c[i+4>>2]|0;else j=c[i>>2]<<32-k;j=j>>>31;do if(!(a[i+20>>0]|0))if(k>>>0>1){c[o>>2]=k+-1;break}else{Jl(i,1);break}while(0);p=j&255;a[h+4>>0]=p;if(!(p<<24>>24))j=b[n>>1]|0;else{l=10;m=11}}else{l=11;m=11}if((m|0)==11){k=c[o>>2]|0;if(k>>>0<l>>>0){j=l-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>(32-l|0);do if(!(a[i+20>>0]|0))if(k>>>0>l>>>0){c[o>>2]=k-l;break}else{Jl(i,l);break}while(0);j=j&65535;b[n>>1]=j}if(e[f+10>>1]<<1>>>0<(j&65535)>>>0){i=18;return i|0}f=i+8|0;k=c[f>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[i+4>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>29;p=i+20|0;do if(!(a[p>>0]|0))if(k>>>0>3){c[f>>2]=k+-3;break}else{Jl(i,3);break}while(0);a[h+5>>0]=j;if((a[g+4>>0]|0)!=2){j=a[g>>0]|0;j=(j&255)<40?j:40;a[h>>0]=j;if(!(j<<24>>24)){i=0;return i|0}n=i+4|0;m=0;do{l=m&255;k=c[f>>2]|0;if(!k){k=(c[n>>2]|0)>>>31;if(!(a[p>>0]|0)){Jl(i,1);j=a[h>>0]|0}}else{k=k+-1|0;c[f>>2]=k;k=(c[i>>2]|0)>>>k&1}a[h+6+l>>0]=k;m=m+1<<24>>24}while((m&255)<(j&255));j=0;return j|0}n=g+3|0;if(!(a[n>>0]|0)){i=0;return i|0}o=i+4|0;m=0;l=0;while(1){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))Jl(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+57+l>>0]=g;if(g<<24>>24){j=c[f>>2]|0;if(!j){j=(c[o>>2]|0)>>>31;if(!(a[p>>0]|0))Jl(i,1)}else{j=j+-1|0;c[f>>2]=j;j=(c[i>>2]|0)>>>j&1}g=j&255;a[h+65+l>>0]=g;if(g<<24>>24){k=c[f>>2]|0;if(k>>>0<4){j=4-k|0;j=(c[i>>2]&(1<<k)+-1)<<j|(c[o>>2]|0)>>>(32-j|0)}else j=c[i>>2]<<32-k>>>28;do if(!(a[p>>0]|0))if(k>>>0>4){c[f>>2]=k+-4;break}else{Jl(i,4);break}while(0);a[h+73+l>>0]=j}}j=m+1<<24>>24;if((j&255)<(d[n>>0]|0)){m=j;l=j&255}else{j=0;break}}return j|0}function en(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=h+8|0;k=c[F>>2]|0;if(k>>>0<8){l=8-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>24;D=h+20|0;do if(!(a[D>>0]|0))if(k>>>0>8){c[F>>2]=k+-8;break}else{Jl(h,8);break}while(0);B=i+7810|0;a[B>>0]=l;if((a[g+5>>0]|0)==0?(m=cn(f,i,h,0)|0,m<<24>>24):0){j=m;return j|0}H=i+4|0;s=(a[H>>0]|0)==2?3:5;G=i+2|0;k=a[G>>0]|0;a:do if(k<<24>>24){u=f+6|0;v=h+4|0;w=i+9038|0;x=32-s|0;y=(1<<s)+255&255;A=i+9037|0;t=0;l=a[i>>0]|0;r=0;b:while(1){if(!(l<<24>>24)){a[i+7802+r>>0]=0;l=0}else{q=0;l=0;o=0;while(1){if(a[D>>0]|0){k=14;C=168;break b}g=(a[u>>0]|0)==0?4:5;m=c[F>>2]|0;if(m>>>0<g>>>0){k=g-m|0;k=(c[h>>2]&(1<<m)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-m>>>(32-g|0);if(m>>>0>g>>>0)c[F>>2]=m-g;else Jl(h,g);k=k&255;n=q&255;p=i+2042+(r*120|0)+n|0;a[p>>0]=k;switch(k<<24>>24){case 12:{k=32;C=168;break b}case 13:{a[A>>0]=1;k=a[p>>0]|0;break}default:{}}if((k&-2)<<24>>24==14)a[w>>0]=1;if((a[u>>0]|0)!=0?(m=a[p>>0]|0,m<<24>>24==11|(m+-16&255)<17):0)k=1;else C=28;do if((C|0)==28){C=0;g=c[F>>2]|0;if(g>>>0<s>>>0){k=s-g|0;k=(c[h>>2]&(1<<g)+-1)<<k|(c[v>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-g>>>x;if(!(a[D>>0]|0))if(g>>>0>s>>>0){c[F>>2]=g-s;break}else{Jl(h,s);break}}while(0);k=k&255;if((k|0)==(y|0)){k=y;do{m=c[F>>2]|0;if(m>>>0<s>>>0){g=s-m|0;g=(c[h>>2]&(1<<m)+-1)<<g|(c[v>>2]|0)>>>(32-g|0)}else g=c[h>>2]<<32-m>>>x;do if(!(a[D>>0]|0))if(m>>>0>s>>>0){c[F>>2]=m-s;break}else{Jl(h,s);break}while(0);m=g&255;k=m+(k&65535)|0}while((m|0)==(y|0))}b[i+3002+(r*240|0)+(n<<1)>>1]=l&255;g=(k&65535)+o|0;b[i+4922+(r*240|0)+(n<<1)>>1]=g;if((a[H>>0]|0)==2){if((q&255)>119|g>>>0>120){k=15;C=168;break b}}else if((q&255)>50|g>>>0>51){k=15;C=168;break b}k=l&255;if(g>>>0>k>>>0)do{a[i+6842+(r*120|0)+k>>0]=a[p>>0]|0;l=l+1<<24>>24;k=l&255}while(g>>>0>k>>>0);l=g&255;q=q+1<<24>>24;k=a[i>>0]|0;if((k&255)<=(l&255))break;else o=g&255}a[i+7802+r>>0]=q;if(k<<24>>24!=l<<24>>24){k=32;C=168;break}k=a[G>>0]|0}g=t+1<<24>>24;if((g&255)<(k&255)){t=g;r=g&255}else{l=k;break a}}if((C|0)==168)return k|0}else l=0;while(0);u=f+7|0;c:do if(!(a[u>>0]|0)){k=a[B>>0]|0;if(l<<24>>24){t=h+4|0;p=0;m=k&255;g=1;s=0;n=(k&255)+65446&65535;k=a[i>>0]|0;r=0;d:while(1){if(!(k<<24>>24))k=0;else{q=0;o=0;while(1){switch(a[i+6842+(r*120|0)+o>>0]|0){case 0:{k=0;break}case 14:case 15:{k=(p&65535)+65476+((Ln(h)|0)<<24>>24)&65535;p=k;break}case 13:{if(!(g<<24>>24))k=((Ln(h)|0)<<24>>24)+65476|0;else{l=c[F>>2]|0;if(l>>>0<9){k=9-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[t>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>23;do if(!(a[D>>0]|0))if(l>>>0>9){c[F>>2]=l+-9;break}else{Jl(h,9);break}while(0);k=(k<<16>>16)+-256|0}k=k+(n&65535)&65535;n=k;g=0;break}default:{b[i+7812+(r*102|0)+(o<<1)>>1]=0;C=(m&65535)+65476+((Ln(h)|0)<<24>>24)|0;k=C&65535;if(C<<16>>>0>16711680){k=4;break d}else m=k}}b[i+7812+(r*102|0)+(o<<1)>>1]=k;l=q+1<<24>>24;k=a[i>>0]|0;if((l&255)<(k&255)){q=l;o=l&255}else break}l=a[G>>0]|0}o=s+1<<24>>24;if((o&255)<(l&255)){s=o;r=o&255}else break c}return k|0}}else{k=Mn(i,h)|0;if(k<<24>>24){j=k;return j|0}}while(0);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Jl(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;w=i+9039|0;a[w>>0]=C;if(C<<24>>24){k=c[F>>2]|0;if(k>>>0<2){l=2-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>30;do if(!(a[D>>0]|0))if(k>>>0>2){k=k+-2|0;c[F>>2]=k;break}else{Jl(h,2);k=c[F>>2]|0;break}while(0);o=i+9043|0;a[o>>0]=l;if(k>>>0<6){l=6-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>26;do if(!(a[D>>0]|0))if(k>>>0>6){c[F>>2]=k+-6;break}else{Jl(h,6);break}while(0);a[i+9044>>0]=l;if((l&255)>>>0>(d[i+1>>0]|0)>>>0){j=16;return j|0}n=h+4|0;m=0;g=0;while(1){l=c[F>>2]|0;if(l>>>0<5){k=5-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>27;do if(!(a[D>>0]|0))if(l>>>0>5){c[F>>2]=l+-5;break}else{Jl(h,5);break}while(0);a[i+9045+g>>0]=k;l=c[F>>2]|0;if(l>>>0<4){k=4-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[n>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>28;do if(!(a[D>>0]|0))if(l>>>0>4){c[F>>2]=l+-4;break}else{Jl(h,4);break}while(0);a[i+9049+g>>0]=k;k=m+1<<24>>24;if((d[o>>0]|0)<(k&255))break;else{m=k;g=k&255}}}k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Jl(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;n=i+9040|0;a[n>>0]=C;if(C<<24>>24?(d[f+4>>0]|0)<17:0)Nn(i,i+9053|0,h);k=c[F>>2]|0;if(!k){k=(c[h+4>>2]|0)>>>31;if(!(a[D>>0]|0))Jl(h,1)}else{k=k+-1|0;c[F>>2]=k;k=(c[h>>2]|0)>>>k&1}C=k&255;a[i+9041>>0]=C;if(C<<24>>24){j=1;return j|0}m=f+8|0;if(a[m>>0]|0){k=c[F>>2]|0;if(k>>>0<14){l=14-k|0;l=(c[h>>2]&(1<<k)+-1)<<l|(c[h+4>>2]|0)>>>(32-l|0)}else l=c[h>>2]<<32-k>>>18;do if(!(a[D>>0]|0))if(k>>>0>14){c[F>>2]=k+-14;break}else{Jl(h,14);break}while(0);g=i+10440|0;b[g>>1]=l;k=l&65535;if((a[f+5>>0]|0)==2){if(k>>>0>6144)b[g>>1]=6144}else if(k>>>0>12288)b[g>>1]=12288;l=c[F>>2]|0;if(l>>>0<6){k=6-l|0;k=(c[h>>2]&(1<<l)+-1)<<k|(c[h+4>>2]|0)>>>(32-k|0)}else k=c[h>>2]<<32-l>>>26;do if(!(a[D>>0]|0))if(l>>>0>6){c[F>>2]=l+-6;break}else{Jl(h,6);break}while(0);a[i+10442>>0]=(k&255)>>>0>48?49:k&255}if(a[u>>0]|0?(E=On(i,h)|0,E<<24>>24):0){j=E;return j|0}if((d[f+4>>0]|0)>16?a[n>>0]|0:0)Nn(i,i+9053|0,h);e:do if(!(a[m>>0]|0)){k=a[G>>0]|0;if(k<<24>>24){u=(e[f+10>>1]|0)>>>3&65535;t=0;g=0;v=0;f:while(1){s=g&255;r=i+7802+v|0;l=a[r>>0]|0;if(l<<24>>24){q=0;k=(z(s,u)|0)&65535;g=0;do{p=a[i+2042+(v*120|0)+g>>0]|0;g:do switch(p<<24>>24){case 14:case 15:case 13:case 0:{k=(e[i+16+(v*240|0)+(e[i+4922+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)+(k&65535)-(e[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0)&65535;break}default:{m=b[i+16+(v*240|0)+(e[i+3002+(v*240|0)+(g<<1)>>1]<<1)>>1]|0;o=i+4922+(v*240|0)+(g<<1)|0;if((m&65535)>=(e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0))break g;n=(p&255)>4?2:4;g=m&65535;while(1){l=k&65535;k=Qn(p,h,j+(l<<1)|0)|0;if(k<<24>>24)break f;k=n+l&65535;l=g+n|0;if((e[i+16+(v*240|0)+(e[o>>1]<<1)>>1]|0)<=(l&65535))break;else g=l&65535}l=a[r>>0]|0}}while(0);q=q+1<<24>>24;g=q<<24>>24}while((g|0)<(l&255|0));k=a[G>>0]|0}l=t+1<<24>>24;if((l&255)<(k&255)){t=l;g=s+(d[i+5+v>>0]|0)|0;v=l&255}else break e}return k|0}}else{k=Pn(f,i,h,j)|0;if(k<<24>>24){j=k;return j|0}}while(0);if(a[w>>0]|0){if((a[H>>0]|0)==2){j=2;return j|0}k=Rn(i,j,b[f+10>>1]|0)|0;if(k<<24>>24){j=k;return j|0}}j=0;return j|0}function fn(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=oc;s=oc=oc+31&-32;oc=oc+8192|0;r=s+4096|0;t=f+25|0;if(!(a[(d[t>>0]|0)+(f+74)>>0]|0)){n=b[i+2>>1]|0;m=f+4|0;o=d[i>>0]|0;if((a[m>>0]|0)==1){l=f+1136+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Ml((e[q>>1]|0)*12|0)|0;c[l>>2]=p;gn(p,b[q>>1]|0)}l=f+1136+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Ml((e[q>>1]|0)*12|0)|0;c[l>>2]=p;gn(p,b[q>>1]|0)}}if((hn(a[m>>0]|0)|0)<<24>>24){l=f+1392+(o<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Ml(e[q>>1]<<3)|0;c[l>>2]=p;rD(p|0,0,e[q>>1]<<3|0)|0}l=f+1392+((n&255)<<2)|0;if(!(c[l>>2]|0)){q=f+10|0;p=Ml(e[q>>1]<<3)|0;c[l>>2]=p;rD(p|0,0,e[q>>1]<<3|0)|0}}m=f+328+(o<<2)|0;if(!(c[m>>2]|0)){l=(d[t>>0]|0)+(f+843)|0;a[l>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=1;else{a[l>>0]=1;l=2}q=f+10|0;p=l<<2;v=Ml(z(p,e[q>>1]|0)|0)|0;c[m>>2]=v;rD(v|0,0,z(p,e[q>>1]|0)|0)|0}else l=1;n=n&255;m=f+328+(n<<2)|0;if(!(c[m>>2]|0)){v=f+10|0;q=l<<2;p=Ml(z(q,e[v>>1]|0)|0)|0;c[m>>2]=p;rD(p|0,0,z(q,e[v>>1]|0)|0)|0}l=f+584+(o<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=Ml(e[v>>1]<<2)|0;c[l>>2]=q;rD(q|0,0,e[v>>1]<<2|0)|0}l=f+584+(n<<2)|0;if(!(c[l>>2]|0)){v=f+10|0;q=Ml(e[v>>1]<<2)|0;c[l>>2]=q;rD(q|0,0,e[v>>1]<<2|0)|0}a[(d[t>>0]|0)+(f+74)>>0]=1}q=f+10|0;l=jn(g,j,r)|0;if(l<<24>>24){v=l;oc=u;return v|0}l=jn(h,k,s)|0;if(l<<24>>24){v=l;oc=u;return v|0}l=b[q>>1]|0;k=f+4|0;m=a[k>>0]|0;n=f+1648|0;o=f+1652|0;if(!(a[g+8628>>0]|0)){kn(g,0,r,0,l,0,m,n,o);kn(h,0,s,0,b[q>>1]|0,0,a[k>>0]|0,n,o)}else kn(g,h,r,s,l,1,m,n,o);ln(g,h,r,s,b[q>>1]|0);mn(g,h,r,s,b[q>>1]|0);l=a[k>>0]|0;if(l<<24>>24==1){v=f+3|0;nn(g,r,c[f+1136+(d[i>>0]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);l=i+2|0;nn(h,s,c[f+1136+(b[l>>1]<<2)>>2]|0,b[q>>1]|0,a[v>>0]|0);on(g,c[f+1136+(d[i>>0]<<2)>>2]|0);on(h,c[f+1136+(b[l>>1]<<2)>>2]|0);l=a[k>>0]|0}if(!((hn(l)|0)<<24>>24))p=f+3|0;else{o=g+10276|0;j=a[i+5>>0]|0?h+10358|0:h+10276|0;l=a[k>>0]|0;if(l<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[i>>0]<<1)>>1]=b[g+10278>>1]|0;m=a[i>>0]|0;b[g+10278>>1]=b[f+192+((m&255)<<1)>>1]|0;if((a[j+1>>0]|0)!=0?(a[j+4>>0]|0)!=0:0){b[f+192+(b[i+2>>1]<<1)>>1]=b[j+2>>1]|0;l=a[k>>0]|0}else l=23;n=i+2|0;b[j+2>>1]=b[f+192+(b[n>>1]<<1)>>1]|0}else{n=i+2|0;m=a[i>>0]|0}v=m&255;m=f+320|0;p=f+3|0;pn(g,o,r,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[g+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,l,b[q>>1]|0);v=b[n>>1]|0;pn(h,j,s,c[f+1392+(v<<2)>>2]|0,c[m>>2]|0,a[h+13>>0]|0,a[f+128+v>>0]|0,a[p>>0]|0,a[k>>0]|0,b[q>>1]|0)}qn(g,g+9053|0,a[p>>0]|0,a[k>>0]|0,r,b[q>>1]|0);qn(h,h+9053|0,a[p>>0]|0,a[k>>0]|0,s,b[q>>1]|0);l=f+324|0;m=c[l>>2]|0;do if(!(a[m>>0]|0))m=i+2|0;else{if(!((a[(d[i>>0]|0)+(m+56)>>0]|0)!=0?(a[m+3>>0]|0)!=0:0)){rn(m,r);m=c[l>>2]|0}l=i+2|0;if(a[(b[l>>1]|0)+(m+56)>>0]|0?a[m+3>>0]|0:0){m=l;break}rn(m,s);m=l}while(0);o=f+320|0;j=g+13|0;v=d[i>>0]|0;sn(c[o>>2]|0,a[g+4>>0]|0,a[j>>0]|0,a[f+128+v>>0]|0,r,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);v=h+13|0;r=b[m>>1]|0;sn(c[o>>2]|0,a[h+4>>0]|0,a[v>>0]|0,a[f+128+r>>0]|0,s,c[f+328+(r<<2)>>2]|0,c[f+584+(r<<2)>>2]|0,a[k>>0]|0,b[q>>1]|0);a[(d[i>>0]|0)+(f+128)>>0]=a[j>>0]|0;a[(b[m>>1]|0)+(f+128)>>0]=a[v>>0]|0;if((hn(a[k>>0]|0)|0)<<24>>24){v=d[i>>0]|0;tn(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0);v=b[m>>1]|0;tn(c[f+1392+(v<<2)>>2]|0,c[f+328+(v<<2)>>2]|0,c[f+584+(v<<2)>>2]|0,b[q>>1]|0,a[k>>0]|0)}l=(a[f+840>>0]|0)==1;if(!l?(a[f+841>>0]|0)!=1:0)k=61;else k=55;do if((k|0)==55){n=d[t>>0]|0;if(!(a[f+843+n>>0]|0))if(l){k=62;break}else{k=61;break}j=d[i>>0]|0;o=b[m>>1]|0;m=f+892+(n<<2)|0;l=c[m>>2]|0;if(!l){r=b[q>>1]|0;s=a[f+2128+n>>0]|0;l=(_l(a[p>>0]|0)|0)<<1;v=f+842|0;l=Gm(r,s,l,a[v>>0]|0)|0;c[m>>2]=l;m=v}else m=f+842|0;s=a[i+6>>0]|0;s=b[i+1942+(((s&255)>1?(s&255)+-1|0:0)<<1)>>1]|0;v=b[i+2046>>1]|0;v=((s&65535)<(v&65535)?s:v)&65535;c[l+4>>2]=(a[i+10>>0]|0)==2?v<<3:v;l=un(l,c[f+328+(j<<2)>>2]|0,c[f+328+(o<<2)>>2]|0,a[f+12>>0]|0,a[m>>0]|0)|0;if(l<<24>>24){v=l;oc=u;return v|0}}while(0);if((k|0)==61?(a[f+841>>0]|0)==1:0)k=62;if((k|0)==62?(a[(d[t>>0]|0)+(f+843)>>0]|0)==0:0){v=23;oc=u;return v|0}v=0;oc=u;return v|0}function gn(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;if(!(c<<16>>16))return;d=c&65535;c=0;do{e=a+(c*12|0)|0;f=e;b[f>>1]=0;b[f+2>>1]=0>>>16;e=e+4|0;b[e>>1]=0;b[e+2>>1]=0>>>16;b[a+(c*12|0)+8>>1]=16256;b[a+(c*12|0)+10>>1]=16256;c=c+1|0}while((c|0)!=(d|0));return}function hn(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 4:{a=1;break}default:a=0}return a|0}function jn(c,d,g){c=c|0;d=d|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=a[c+2>>0]|0;if(!(C<<24>>24)){D=0;return D|0}B=a[c+1>>0]|0;D=c+1936+((B&255)<<1)|0;j=0;l=0;h=0;A=0;z=0;i=B;while(1){if(!(i<<24>>24)){m=0;j=j&65535;i=0}else{j=j&65535;x=c+5+z|0;y=e[D>>1]|0;k=a[x>>0]|0;m=0;q=0;w=0;p=k;i=0;while(1){o=(e[c+1936+(i+1<<1)>>1]|0)-(e[c+1936+(i<<1)>>1]|0)|0;s=b[c+7812+(z*102|0)+(i<<1)>>1]|0;t=s<<16>>16;s=(s&65535)>255;v=q&65535;u=+f[67888+((s?0:t>>2)<<2)>>2]*+f[68144+((s?0:t&3)<<2)>>2];if(!(k<<24>>24)){i=o&65535;k=0}else{i=o&65535;t=(i|0)==0;s=0;r=q+j|0;while(1){if(t)k=p;else{k=0;q=0;do{o=k+r|0;p=l&65535;k=b[d+(p<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[68160+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[68160+(l<<2)>>2];else{n=0.0;h=17}o=o&65535;f[g+(o<<2)>>2]=u*n;k=b[d+(p+1<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[68160+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[68160+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+1<<2)>>2]=u*n;k=b[d+(p+2<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[68160+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[68160+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+2<<2)>>2]=u*n;k=b[d+(p+3<<1)>>1]|0;l=k<<16>>16;if(k<<16>>16<0)if(k<<16>>16>-8192)n=-+f[68160+(0-l<<2)>>2];else{n=0.0;h=17}else if(k<<16>>16<8192)n=+f[68160+(l<<2)>>2];else{n=0.0;h=17}f[g+(o+3<<2)>>2]=u*n;m=(m&65535)+4&65535;l=p+4&65535;k=q+4|0;q=k&65535}while(q>>>0<i>>>0);k=a[x>>0]|0}s=s+1<<24>>24;if((s&255)>=(k&255)){p=k;break}else{r=(r&65535)+y|0;p=k}}}o=w+1<<24>>24;if((o&255)<(B&255)){q=i+v|0;w=o;i=o&255}else{i=B;break}}}k=A+1<<24>>24;if((k&255)<(C&255)){j=j+(m&65535)&65535;A=k;z=k&255}else break}return h|0}function kn(g,h,i,j,k,l,m,n,o){g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0.0,r=0,s=0.0,t=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.0;J=g+2|0;if(!(a[J>>0]|0))return;I=g+2040|0;H=(k&65535)>>>3&65535;E=l<<24>>24==0;F=g+8628|0;G=h+2040|0;D=0;m=0;C=0;while(1){B=g+5+C|0;k=a[B>>0]|0;if(k<<24>>24){A=0;l=a[g>>0]|0;do{if(!(l<<24>>24))l=0;else{y=z(m&255,H)|0;x=0;w=0;while(1){if((a[g+6842+(C*120|0)+w>>0]|0)==13){a[g+10282+w>>0]=0;a[g+10364+w>>0]=0;a[g+10224+w>>0]=0;t=b[g+1936+(w+1<<1)>>1]|0;r=b[I>>1]|0;v=e[g+1936+(w<<1)>>1]|0;r=(((t&65535)<(r&65535)?t:r)&65535)-v|0;t=r&65535;v=i+(y+v<<2)|0;p=b[g+7812+(C*102|0)+(w<<1)>>1]|0;s=1.0/+(t&65535);t=t<<16>>16==0;if(t)q=0.0;else{l=r&65535;q=0.0;k=0;do{L=s*+(cm(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+u(+q);q=q*+eb(+(+(p<<16>>16)*.25));if(!t){l=r&65535;k=0;do{t=v+(k<<2)|0;f[t>>2]=q*+f[t>>2];k=k+1|0}while((k|0)!=(l|0))}}a:do if(!E?(a[h+6842+(C*120|0)+w>>0]|0)==13:0){switch(a[F>>0]|0){case 1:{if(a[g+8629+(C*51|0)+w>>0]|0)K=18;break}case 2:{K=18;break}default:{}}if((K|0)==18){K=0;v=b[h+1936+(w+1<<1)>>1]|0;r=b[G>>1]|0;k=e[h+1936+(w<<1)>>1]|0;r=(((v&65535)<(r&65535)?v:r)&65535)-k&65535;if(!r)break;l=y+k|0;k=0;p=0;while(1){w=l+p|0;c[j+(w<<2)>>2]=c[i+(w<<2)>>2];k=k+1<<16>>16;p=k&65535;if(r>>>0<=p>>>0)break a}}a[h+10282+w>>0]=0;a[h+10364+w>>0]=0;a[h+10224+w>>0]=0;r=b[h+1936+(w+1<<1)>>1]|0;t=b[G>>1]|0;v=e[h+1936+(w<<1)>>1]|0;t=(((r&65535)<(t&65535)?r:t)&65535)-v|0;r=t&65535;v=j+(y+v<<2)|0;p=b[h+7812+(C*102|0)+(w<<1)>>1]|0;s=1.0/+(r&65535);r=r<<16>>16==0;if(r)q=0.0;else{l=t&65535;q=0.0;k=0;do{L=s*+(cm(n,o)|0);f[v+(k<<2)>>2]=L;q=q+L*L;k=k+1|0}while((k|0)!=(l|0))}q=1.0/+u(+q);q=q*+eb(+(+(p<<16>>16)*.25));if(!r){l=t&65535;k=0;do{w=v+(k<<2)|0;f[w>>2]=q*+f[w>>2];k=k+1|0}while((k|0)!=(l|0))}}while(0);k=x+1<<24>>24;l=a[g>>0]|0;if((k&255)<(l&255)){x=k;w=k&255}else break}k=a[B>>0]|0}m=m+1<<24>>24;A=A+1<<24>>24}while((A&255)<(k&255))}k=D+1<<24>>24;if((k&255)<(d[J>>0]|0)){D=k;C=k&255}else break}return}function ln(c,d,e,g,h){c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0.0,B=0.0;i=a[c+8628>>0]|0;if(!(i<<24>>24))return;v=a[c+2>>0]|0;if(!(v<<24>>24))return;s=c+2040|0;r=(h&65535)>>>3&65535;j=0;q=0;p=0;while(1){o=c+5+p|0;h=a[o>>0]|0;if(h<<24>>24){n=a[c>>0]|0;m=0;k=n;do{if(!(k<<24>>24))k=0;else{l=z(j&255,r)|0;k=0;h=0;while(1){if(!(a[c+8629+(p*51|0)+h>>0]|0)){if(i<<24>>24==2){i=2;w=10}}else w=10;if((w|0)==10){w=0;if(((a[d+6842+(p*120|0)+h>>0]|1)<<24>>24!=15?(a[c+6842+(p*120|0)+h>>0]|0)!=13:0)?(t=b[c+1936+(h<<1)>>1]|0,u=c+1936+(h+1<<1)|0,x=b[u>>1]|0,h=b[s>>1]|0,(t&65535)<(((x&65535)<(h&65535)?x:h)&65535)):0){h=t;do{y=l+(h&65535)&65535;x=e+(y<<2)|0;B=+f[x>>2];y=g+(y<<2)|0;A=+f[y>>2];f[x>>2]=B+A;f[y>>2]=B-A;h=h+1<<16>>16;y=b[u>>1]|0;x=b[s>>1]|0}while((h&65535)<(((y&65535)<(x&65535)?y:x)&65535))}}h=k+1<<24>>24;if((h&255)<(n&255)){k=h;h=h&255}else break}h=a[o>>0]|0;k=n}j=j+1<<24>>24;m=m+1<<24>>24}while((m&255)<(h&255))}h=q+1<<24>>24;if((h&255)<(v&255)){q=h;p=h&255}else break}return}function mn(c,e,g,h,i){c=c|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,A=0,B=0.0,C=0,D=0,E=0,F=0;E=e+2|0;j=a[E>>0]|0;if(!(j<<24>>24))return;F=c+2040|0;A=(i&65535)>>>3&65535;y=c+8628|0;x=0;i=0;w=0;while(1){u=e+5+w|0;l=a[u>>0]|0;if(l<<24>>24){t=0;k=a[e>>0]|0;j=l;do{if(!(k<<24>>24))k=0;else{s=z(i&255,A)|0;r=0;j=0;while(1){q=e+6842+(w*120|0)+j|0;if((a[q>>0]|1)<<24>>24==15?(a[c+10224+j>>0]=0,a[e+10224+j>>0]=0,B=+v(.5,+(+(b[e+7812+(w*102|0)+(j<<1)>>1]|0)*.25)),C=b[e+1936+(j<<1)>>1]|0,D=e+1936+(j+1<<1)|0,o=b[D>>1]|0,p=b[F>>1]|0,(C&65535)<(((o&65535)<(p&65535)?o:p)&65535)):0){l=c+8629+(w*51|0)+j|0;m=(a[y>>0]|0)==1;k=C;do{o=s+(k&65535)|0;n=+f[g+(o<<2)>>2]*B;o=h+(o<<2)|0;f[o>>2]=n;p=a[q>>0]|0;if(m)j=1-(d[l>>0]<<1)&255;else j=1;if((p<<24>>24==15?1:(p<<24>>24==14)<<31>>31)<<24>>24!=j<<24>>24)f[o>>2]=-n;k=k+1<<16>>16;o=b[D>>1]|0;p=b[F>>1]|0}while((k&65535)<(((o&65535)<(p&65535)?o:p)&65535))}j=r+1<<24>>24;k=a[e>>0]|0;if((j&255)<(k&255)){r=j;j=j&255}else break}j=a[u>>0]|0}i=i+1<<24>>24;t=t+1<<24>>24}while((t&255)<(j&255));j=a[E>>0]|0}k=x+1<<24>>24;if((k&255)<(j&255)){x=k;w=k&255}else break}return}function nn(g,i,j,k,l){g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0.0,B=0,C=0.0,D=0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;if((a[g+4>>0]|0)==2){if(!(k<<16>>16))return;n=k&65535;m=0;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+1|0}while((m|0)!=(n|0));return}if(!(($l(l)|0)<<24>>24))m=g+9042|0;else{M=g+2040|0;m=g+9042|0;L=0;n=0;while(1){p=b[g+1936+(n<<1)>>1]|0;K=b[g+1936+(n+1<<1)>>1]|0;o=b[M>>1]|0;o=(K&65535)<(o&65535)?K:o;if((p&65535)<(o&65535)){K=g+10224+n|0;I=o&65535;J=(a[m>>0]|0)==0;H=p&65535;do{t=i+(H<<2)|0;q=+f[t>>2];if(J)o=0;else o=(a[K>>0]|0)!=0;v=j+(H*12|0)|0;w=(c[h>>2]=e[v>>1]<<16,+f[h>>2]);x=j+(H*12|0)+2|0;y=(c[h>>2]=e[x>>1]<<16,+f[h>>2]);z=j+(H*12|0)+4|0;A=(c[h>>2]=e[z>>1]<<16,+f[h>>2]);B=j+(H*12|0)+6|0;C=(c[h>>2]=e[B>>1]<<16,+f[h>>2]);D=j+(H*12|0)+8|0;n=b[D>>1]|0;E=(c[h>>2]=(n&65535)<<16,+f[h>>2]);F=j+(H*12|0)+10|0;p=b[F>>1]|0;G=(c[h>>2]=(p&65535)<<16,+f[h>>2]);if((n&65535)>16383)u=+f[66864+((((n&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*A*+f[67376+((n&127)<<2)>>2];else u=0.0;if(o){if((p&65535)>16383)s=+f[66864+((((p&65535)>>>7&65535)<<16)+-8388608>>16<<2)>>2]*C*+f[67376+((p&127)<<2)>>2];else s=0.0;r=u*w;o=(f[h>>2]=r+s*y,c[h>>2]|0);n=o&-65536;if(o&32768){p=o&-8388608;s=(c[h>>2]=n,+f[h>>2]);s=s+(c[h>>2]=p|65536,+f[h>>2]);n=(f[h>>2]=s-(c[h>>2]=p,+f[h>>2]),c[h>>2]|0)}q=q+(c[h>>2]=n,+f[h>>2]);f[t>>2]=q}else r=u*w;s=q-r;b[v>>1]=(f[h>>2]=q*.953125,c[h>>2]|0)>>>16;b[x>>1]=(f[h>>2]=(w-u*q)*.953125,c[h>>2]|0)>>>16;b[z>>1]=(f[h>>2]=A*.90625+q*w,c[h>>2]|0)>>>16;b[B>>1]=(f[h>>2]=C*.90625+s*y,c[h>>2]|0)>>>16;b[D>>1]=(f[h>>2]=E*.90625+(w*w+q*q)*.5,c[h>>2]|0)>>>16;b[F>>1]=(f[h>>2]=G*.90625+(y*y+s*s)*.5,c[h>>2]|0)>>>16;H=H+1|0}while(H>>>0<I>>>0)}n=L+1<<24>>24;if((n&255)<(($l(l)|0)&255)){L=n;n=n&255}else break}}if(!(a[m>>0]|0))return;if(!(a[g+10222>>0]|0))return;m=(d[g+10223>>0]|0)+65535&65535;n=k&65535;if(m>>>0>=n>>>0)return;do{k=j+(m*12|0)|0;g=k;b[g>>1]=0;b[g+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;b[j+(m*12|0)+8>>1]=16256;b[j+(m*12|0)+10>>1]=16256;m=m+30&65535}while(m>>>0<n>>>0);return}function on(c,d){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,o=0,p=0,q=0;if((a[c+4>>0]|0)==2)return;o=c+2|0;e=a[o>>0]|0;if(!(e<<24>>24))return;p=c+2040|0;l=0;k=0;while(1){j=c+5+k|0;f=a[j>>0]|0;if(!(f<<24>>24))f=e;else{g=a[c>>0]|0;i=0;e=g;while(1){if(!(e<<24>>24)){h=g;e=0}else{h=0;f=0;e=g;while(1){if((a[c+6842+(k*120|0)+f>>0]|0)==13?(m=b[c+1936+(f<<1)>>1]|0,g=b[c+1936+(f+1<<1)>>1]|0,n=b[p>>1]|0,n=(g&65535)<(n&65535)?g:n,(m&65535)<(n&65535)):0){e=n&65535;f=m&65535;do{g=d+(f*12|0)|0;q=g;b[q>>1]=0;b[q+2>>1]=0>>>16;g=g+4|0;b[g>>1]=0;b[g+2>>1]=0>>>16;b[d+(f*12|0)+8>>1]=16256;b[d+(f*12|0)+10>>1]=16256;f=f+1|0}while(f>>>0<e>>>0);g=a[c>>0]|0}else g=e;e=h+1<<24>>24;if((e&255)<(g&255)){h=e;f=e&255;e=g}else break}f=a[j>>0]|0;h=g;e=g}i=i+1<<24>>24;if((i&255)>=(f&255))break;else g=h}f=a[o>>0]|0}e=l+1<<24>>24;if((e&255)<(f&255)){l=e;k=e&255;e=f}else break}return}function pn(c,g,h,i,j,k,l,m,n,o){c=c|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0;z=oc;w=oc=oc+31&-32;oc=oc+16384|0;q=w+8192|0;r=a[c+4>>0]|0;if(r<<24>>24==2){oc=z;return}if(!(a[g+1>>0]|0)){oc=z;return}s=(o&65535)<<1&65534;if(s|0){t=e[g+2>>1]|0;u=+f[66832+(d[g+5>>0]<<2)>>2];p=0;v=0;do{f[q+(v<<2)>>2]=u*+(b[i+(v+s-t<<1)>>1]|0);p=p+1<<16>>16;v=p&65535}while(s>>>0>v>>>0)}In(j,r,k,l,q,w,n,o);Jn(c,c+9053|0,m,n,w,o);s=a[g>>0]|0;if(!(s<<24>>24)){oc=z;return}t=c+2040|0;r=0;p=0;while(1){if(a[g+6+p>>0]|0?(x=b[c+1936+(p<<1)>>1]|0,o=b[c+1936+(p+1<<1)>>1]|0,y=b[t>>1]|0,y=(o&65535)<(y&65535)?o:y,(x&65535)<(y&65535)):0){p=y&65535;q=x&65535;do{o=h+(q<<2)|0;f[o>>2]=+f[w+(q<<2)>>2]+ +f[o>>2];q=q+1|0}while(q>>>0<p>>>0)}p=r+1<<24>>24;if((p&255)<(s&255)){r=p;p=p&255}else break}oc=z;return}function qn(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var 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,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=oc;K=oc=oc+31&-32;oc=oc+336|0;I=K+168|0;J=K+84|0;if(!(a[e+9040>>0]|0)){oc=N;return}D=e+3|0;if(!(a[D>>0]|0)){oc=N;return}F=e+1|0;L=K+4|0;M=J+4|0;G=e+4|0;H=e+2040|0;C=(k&65535)>>>3&65535;B=0;x=0;while(1){w=g+x|0;if(a[w>>0]|0){y=g+8+x|0;A=z(x,C)|0;u=0;v=d[F>>0]|0;r=0;while(1){k=v&65535;l=k-(d[g+16+(x<<2)+r>>0]|0)|0;v=(l|0)>0?l:0;l=a[g+48+(x<<2)+r>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[y>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(x<<2)+r>>0]|0)==0?(m?66704:66768):m?66576:66640;t=l&255;l=0;do{c[I+(l<<2)>>2]=c[m+(d[g+144+(x<<7)+(r<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(t|0));f[K>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=I+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[J+(p<<2)>>2]=+f[K+(p<<2)>>2]+n*+f[K+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));pD(L|0,M|0,l|0)|0}c[K+(q<<2)>>2]=c[m>>2];if(q>>>0<t>>>0){o=o+1|0;q=q+1|0}else break}l=v&65535;if(l>>>0>=((am(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)l=(am(h,i,(a[G>>0]|0)==2&1)|0)&255;s=d[e>>0]|0;s=b[e+1936+(((l>>>0<s>>>0?l:s)&65535)<<1)>>1]|0;l=b[H>>1]|0;l=(s&65535)<(l&65535)?s:l;if(k>>>0>=((am(h,i,(a[G>>0]|0)==2&1)|0)&255)>>>0)k=(am(h,i,(a[G>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[H>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;s=q&65535;if((q<<16|0)>=65536?(E=(a[g+80+(x<<2)+r>>0]|0)==0,rD(I|0,0,160)|0,s<<16>>16):0){q=E?1:-1;r=t+255&255;p=0;k=j+(A+((E?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){m=l<<24>>24;n=+f[k>>2];o=0;do{O=o;o=o+1|0;n=n-+f[I+(O+m<<2)>>2]*+f[K+(o<<2)>>2]}while((o|0)!=(t|0));O=l+-1<<24>>24;l=O<<24>>24<0?r:O;O=l<<24>>24;f[I+(O+t<<2)>>2]=n;f[I+(O<<2)>>2]=n;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(s&65535))break;else k=k+(q<<2)|0}}}k=u+1<<24>>24;if((k&255)>=(d[w>>0]|0))break;else{u=k;r=k&255}}}k=B+1<<24>>24;if((k&255)<(d[D>>0]|0)){B=k;x=k&255}else break}oc=N;return}function rn(b,c){b=b|0;c=c|0;var e=0,g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a[b+1>>0]|0;switch(e<<24>>24){case 1:{a[b+4>>0]=-1;break}case 0:return;default:{}}l=b+188|0;m=b+21|0;n=b+184|0;k=e&255;i=0;h=0;e=0;do{j=(d[b+4+e>>0]<<2)+4|0;if(!(a[b+22+e>>0]|0))g=+f[l>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0);else g=-(+f[n>>2]*+((d[b+39+e>>0]|0)+-80+(d[m>>0]|0)|0));g=+eb(+(g/24.0));e=h&65535;if(j>>>0>e>>>0)do{o=c+(e<<2)|0;f[o>>2]=+f[o>>2]*g;h=h+1<<16>>16;e=h&65535}while(j>>>0>e>>>0);h=j&65535;i=i+1<<16>>16;e=i&65535}while(e>>>0<k>>>0);return}function sn(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=oc;E=oc=oc+31&-32;oc=oc+8192|0;rD(E|0,0,8192)|0;D=k&65535;o=(k&65535)>>>3;C=o&65535;s=(k&65535)>>>4;m=(D-C|0)/2|0;d=d&255;if(j<<24>>24==23){j=a+16+(d<<2)|0;e=a+16+((e&255)<<2)|0;B=0;t=0}else{t=e&255;j=a+(d<<2)|0;e=a+(t<<2)|0;B=c[a+8+(d<<2)>>2]|0;t=c[a+8+(t<<2)>>2]|0}n=c[j>>2]|0;e=c[e>>2]|0;switch(b<<24>>24){case 0:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=8;break}case 960:case 1024:{d=a+28|0;l=8;break}default:d=0}if((l|0)==8)d=c[d>>2]|0;Hn(d,g,E);d=k<<16>>16==0;if(d){oc=F;return}else j=0;do{f[h+(j<<2)>>2]=+f[i+(j<<2)>>2]+ +f[E+(j<<2)>>2]*+f[e+(j<<2)>>2];C=j+1|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+2|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];C=j+3|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2]*+f[e+(C<<2)>>2];j=(j<<16)+262144>>16}while((j|0)<(D|0));if(d){oc=F;return}e=D+-1|0;a=D+-2|0;b=D+-3|0;l=D+-4|0;j=0;d=0;while(1){C=d+D|0;f[i+(d<<2)>>2]=+f[E+(C<<2)>>2]*+f[n+(e+j<<2)>>2];f[i+(d+1<<2)>>2]=+f[E+(C+1<<2)>>2]*+f[n+(a+j<<2)>>2];f[i+(d+2<<2)>>2]=+f[E+(C+2<<2)>>2]*+f[n+(b+j<<2)>>2];f[i+(d+3<<2)>>2]=+f[E+(C+3<<2)>>2]*+f[n+(l+j<<2)>>2];d=(d<<16)+262144>>16;if((d|0)<(D|0))j=0-d|0;else break}oc=F;return}case 1:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=17;break}case 960:case 1024:{d=a+28|0;l=17;break}default:d=0}if((l|0)==17)d=c[d>>2]|0;Hn(d,g,E);if(k<<16>>16){d=0;do{f[h+(d<<2)>>2]=+f[i+(d<<2)>>2]+ +f[E+(d<<2)>>2]*+f[e+(d<<2)>>2];A=d+1|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+2|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];A=d+3|0;f[h+(A<<2)>>2]=+f[i+(A<<2)>>2]+ +f[E+(A<<2)>>2]*+f[e+(A<<2)>>2];d=(d<<16)+262144>>16}while((d|0)<(D|0))}l=m&65535;b=(l|0)==0;if(!b){d=0;j=0;do{c[i+(j<<2)>>2]=c[E+(j+D<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((l|0)>(j|0))}if(o<<16>>16){j=l+D|0;e=C+-1|0;d=0;a=0;do{f[i+(a+l<<2)>>2]=+f[E+(j+a<<2)>>2]*+f[B+(e-a<<2)>>2];d=d+1<<16>>16;a=d<<16>>16}while((C|0)>(a|0))}if(b){oc=F;return}j=l+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0));oc=F;return}case 2:{A=a+24|0;p=o<<1&65535;Hn(c[A>>2]|0,g,E);Hn(c[A>>2]|0,g+(C<<2)|0,E+(p<<2)|0);w=o<<2&65535;Hn(c[A>>2]|0,g+(p<<2)|0,E+(w<<2)|0);q=C*3|0;Hn(c[A>>2]|0,g+(q<<2)|0,E+(p*3<<2)|0);y=k&-8&65535;Hn(c[A>>2]|0,g+(w<<2)|0,E+(y<<2)|0);r=C*5|0;Hn(c[A>>2]|0,g+(r<<2)|0,E+(p*5<<2)|0);v=C*6|0;Hn(c[A>>2]|0,g+(v<<2)|0,E+(p*6<<2)|0);z=C*7|0;Hn(c[A>>2]|0,g+(z<<2)|0,E+(p*7<<2)|0);A=m&65535;x=(A|0)==0;if(!x){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((A|0)>(j|0))}j=o<<16>>16==0;if(!j){e=A+C|0;a=C+-1|0;b=A+p|0;l=A+q|0;m=s&65535;g=A+w|0;d=0;k=0;do{u=k+A|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k<<2)>>2]*+f[t+(k<<2)>>2];u=e+k|0;n=B+(a-k<<2)|0;o=B+(k<<2)|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+C<<2)>>2]*+f[n>>2]+ +f[E+(k+p<<2)>>2]*+f[o>>2];u=b+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+q<<2)>>2]*+f[n>>2]+ +f[E+(k+w<<2)>>2]*+f[o>>2];u=l+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+r<<2)>>2]*+f[n>>2]+ +f[E+(k+v<<2)>>2]*+f[o>>2];if((k|0)<(m|0)){u=g+k|0;f[h+(u<<2)>>2]=+f[i+(u<<2)>>2]+ +f[E+(k+z<<2)>>2]*+f[n>>2]+ +f[E+(k+y<<2)>>2]*+f[o>>2]}d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(C|0));if(!j){s=s&65535;t=C*9|0;h=C+-1|0;u=C*10|0;p=r-D+A|0;q=C*11|0;r=C*12|0;l=v-D+A|0;m=C*13|0;g=C*14|0;k=z-D+A|0;n=C*15|0;o=y-D+A|0;b=w-D+A|0;a=0;j=0;d=0;while(1){if((d|0)<(s|0)){j=B+(h+j<<2)|0;e=B+(d<<2)|0}else{j=B+(h+j<<2)|0;e=B+(d<<2)|0;f[i+(b+d<<2)>>2]=+f[E+(d+z<<2)>>2]*+f[j>>2]+ +f[E+(d+y<<2)>>2]*+f[e>>2]}f[i+(p+d<<2)>>2]=+f[E+(d+t<<2)>>2]*+f[j>>2]+ +f[E+(d+u<<2)>>2]*+f[e>>2];f[i+(l+d<<2)>>2]=+f[E+(d+q<<2)>>2]*+f[j>>2]+ +f[E+(d+r<<2)>>2]*+f[e>>2];f[i+(k+d<<2)>>2]=+f[E+(d+m<<2)>>2]*+f[j>>2]+ +f[E+(d+g<<2)>>2]*+f[e>>2];f[i+(o+d<<2)>>2]=+f[E+(d+n<<2)>>2]*+f[j>>2];a=a+1<<16>>16;d=a<<16>>16;if((d|0)>=(C|0))break;else j=0-d|0}}}if(x){oc=F;return}j=A+C|0;d=0;e=0;do{f[i+(j+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((A|0)>(e|0));oc=F;return}case 3:{switch((D<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;l=47;break}case 960:case 1024:{d=a+28|0;l=47;break}default:d=0}if((l|0)==47)d=c[d>>2]|0;Hn(d,g,E);a=m&65535;e=(a|0)==0;if(!e){d=0;j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((a|0)>(j|0))}if(o<<16>>16){d=0;j=0;do{B=j+a|0;f[h+(B<<2)>>2]=+f[i+(B<<2)>>2]+ +f[E+(B<<2)>>2]*+f[t+(j<<2)>>2];d=d+1<<16>>16;j=d<<16>>16}while((j|0)<(C|0))}if(!e){j=a+C|0;d=0;e=0;do{C=j+e|0;f[h+(C<<2)>>2]=+f[i+(C<<2)>>2]+ +f[E+(C<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((a|0)>(e|0))}if(!(k<<16>>16)){oc=F;return}j=D+-1|0;d=0;e=0;do{f[i+(e<<2)>>2]=+f[E+(e+D<<2)>>2]*+f[n+(j-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(D|0));oc=F;return}default:{oc=F;return}}}function tn(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0,l=0,m=0;l=e&65535;e=e<<16>>16!=0;if(g<<24>>24==23){if(!e)return;j=l<<1;i=l*3|0;k=0;do{e=a+(k+l<<1)|0;b[a+(k<<1)>>1]=b[e>>1]|0;g=a+(k+j<<1)|0;b[e>>1]=b[g>>1]|0;h=+f[c+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=9;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=9;else e=32767}if((m|0)==9){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(k<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=13;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=13;else e=32767}if((m|0)==13){m=0;e=~~h&65535}b[a+(k+i<<1)>>1]=e;k=k+1|0}while((k|0)!=(l|0));return}else{if(!e)return;i=l<<1;j=0;do{g=a+(j+l<<1)|0;b[a+(j<<1)>>1]=b[g>>1]|0;h=+f[c+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=18;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=18;else e=32767}if((m|0)==18){m=0;e=~~h&65535}b[g>>1]=e;h=+f[d+(j<<2)>>2];if(!(h>=0.0)){h=h+-.5;if(!(h<=-32768.0))m=22;else e=-32768}else{h=h+.5;if(!(h>=32768.0))m=22;else e=32767}if((m|0)==22){m=0;e=~~h&65535}b[a+(j+i<<1)>>1]=e;j=j+1|0}while((j|0)!=(l|0));return}}function un(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=oc;l=oc=oc+31&-32;oc=oc+16384|0;if(!b){b=20;oc=m;return b|0}if((a[b+12436>>0]|0)!=1){b=21;oc=m;return b|0}j=b+10|0;if(a[j>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;k=b+9|0;a[k>>0]=g<<24>>24!=0&1;g=(vn(b,e,l,0,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;h=h<<24>>24!=0;g=c[b+12448>>2]|0;if(h)wn(b,g,l,e);else xn(b,g,l,e);g=(vn(b,f,l,1,i)|0)&255;a[j>>0]=(d[j>>0]|0)+g;g=c[b+12452>>2]|0;if(h)wn(b,g,l,f);else xn(b,g,l,f);if(a[b+53426>>0]|0)a[k>>0]=0;if(c[b+12432>>2]|0?(a[j>>0]|0)==0:0){g=yn(b,0)|0;if(g<<24>>24){b=g;oc=m;return b|0}g=yn(b,1)|0;if(g<<24>>24){b=g;oc=m;return b|0}}f=b+53418|0;if(a[f>>0]|0){e=b+53416|0;h=0;g=0;while(1){qD(b+12456+(g<<9)|0,b+12456+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=23;else j=25}else{g=0;j=23}if((j|0)==23){rD(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;if(!(a[f>>0]|0)){g=0;j=27}else{e=b+53416|0;j=25}}if((j|0)==25){h=0;g=0;while(1){qD(b+32936+(g<<9)|0,b+32936+(g+(d[e>>0]|0)<<9)|0,512)|0;i=h+1<<24>>24;g=a[f>>0]|0;if((i&255)<(g&255)){h=i;g=i&255}else break}if((g&255)<40)j=27}if((j|0)==27)rD(b+(((g&255)<<9)+32936)|0,0,((39-g&255)<<9)+512|0)|0;b=b+12428|0;c[b>>2]=(c[b>>2]|0)+1;b=0;oc=m;return b|0}function vn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=b+12421|0;a[B>>0]=0;C=g&255;k=c[b+12440+(C<<2)>>2]|0;i=b+12456+(C*20480|0)|0;j=a[b+53418>>0]|0;if(!(h<<24>>24)){A=b+14|0;Cn(b,k,e,i,j,a[A>>0]|0);Dn(b,i,i,g);h=En(b,i,g)|0;if(!((h|a[b+9>>0])<<24>>24)){t=b+53416|0;e=a[t>>0]|0;if(!(e<<24>>24)){C=h;return C|0}u=b+616+(C*6|0)|0;v=b+12420|0;w=b+12423|0;x=b+12422|0;y=b+15|0;z=b+53419|0;s=0;r=0;do{q=s<<16>>16;p=(r|0)<(d[u>>0]|0);l=a[(p?x:B)>>0]|0;m=a[(p?w:y)>>0]|0;p=a[(p?v:A)>>0]|0;o=p&255;n=o+(l&255)|0;if(n|0){j=r+(d[z>>0]|0)|0;i=0;g=0;do{c[f+(r<<9)+(g<<3)>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)>>2];c[f+(r<<9)+(g<<3)+4>>2]=c[b+12456+(C*20480|0)+(j<<9)+(g<<3)+4>>2];i=i+1<<16>>16;g=i<<16>>16}while((n|0)>(g|0))}j=o+(m&255)|0;if(j>>>0>n>>>0){g=r+(d[z>>0]|0)|0;i=n&65535;k=n;do{c[f+(r<<9)+(k<<3)>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)>>2];c[f+(r<<9)+(k<<3)+4>>2]=c[b+12456+(C*20480|0)+(g<<9)+(k<<3)+4>>2];i=i+1<<16>>16;k=i<<16>>16}while((j|0)>(k|0))}j=n>>>0>j>>>0?l:m;i=(j&255)+o|0;if((i&65535)<<16>>16<64){rD(f+(q<<9)+(i<<3)|0,0,(63-(j&255)-(p&255)<<3&524280)+8|0)|0;e=a[t>>0]|0}s=s+1<<16>>16;r=s<<16>>16}while((r|0)<(e&255|0));return h|0}}else{Cn(b,k,e,i,j,32);h=0}i=b+53416|0;if(!(a[i>>0]|0)){C=h;return C|0}j=b+53419|0;e=0;g=0;do{B=g+(d[j>>0]|0)|0;c[f+(g<<9)>>2]=c[b+12456+(C*20480|0)+(B<<9)>>2];c[f+(g<<9)+4>>2]=c[b+12456+(C*20480|0)+(B<<9)+4>>2];c[f+(g<<9)+8>>2]=c[b+12456+(C*20480|0)+(B<<9)+8>>2];c[f+(g<<9)+12>>2]=c[b+12456+(C*20480|0)+(B<<9)+12>>2];c[f+(g<<9)+16>>2]=c[b+12456+(C*20480|0)+(B<<9)+16>>2];c[f+(g<<9)+20>>2]=c[b+12456+(C*20480|0)+(B<<9)+20>>2];c[f+(g<<9)+24>>2]=c[b+12456+(C*20480|0)+(B<<9)+24>>2];c[f+(g<<9)+28>>2]=c[b+12456+(C*20480|0)+(B<<9)+28>>2];c[f+(g<<9)+32>>2]=c[b+12456+(C*20480|0)+(B<<9)+32>>2];c[f+(g<<9)+36>>2]=c[b+12456+(C*20480|0)+(B<<9)+36>>2];c[f+(g<<9)+40>>2]=c[b+12456+(C*20480|0)+(B<<9)+40>>2];c[f+(g<<9)+44>>2]=c[b+12456+(C*20480|0)+(B<<9)+44>>2];c[f+(g<<9)+48>>2]=c[b+12456+(C*20480|0)+(B<<9)+48>>2];c[f+(g<<9)+52>>2]=c[b+12456+(C*20480|0)+(B<<9)+52>>2];c[f+(g<<9)+56>>2]=c[b+12456+(C*20480|0)+(B<<9)+56>>2];c[f+(g<<9)+60>>2]=c[b+12456+(C*20480|0)+(B<<9)+60>>2];c[f+(g<<9)+64>>2]=c[b+12456+(C*20480|0)+(B<<9)+64>>2];c[f+(g<<9)+68>>2]=c[b+12456+(C*20480|0)+(B<<9)+68>>2];c[f+(g<<9)+72>>2]=c[b+12456+(C*20480|0)+(B<<9)+72>>2];c[f+(g<<9)+76>>2]=c[b+12456+(C*20480|0)+(B<<9)+76>>2];c[f+(g<<9)+80>>2]=c[b+12456+(C*20480|0)+(B<<9)+80>>2];c[f+(g<<9)+84>>2]=c[b+12456+(C*20480|0)+(B<<9)+84>>2];c[f+(g<<9)+88>>2]=c[b+12456+(C*20480|0)+(B<<9)+88>>2];c[f+(g<<9)+92>>2]=c[b+12456+(C*20480|0)+(B<<9)+92>>2];c[f+(g<<9)+96>>2]=c[b+12456+(C*20480|0)+(B<<9)+96>>2];c[f+(g<<9)+100>>2]=c[b+12456+(C*20480|0)+(B<<9)+100>>2];c[f+(g<<9)+104>>2]=c[b+12456+(C*20480|0)+(B<<9)+104>>2];c[f+(g<<9)+108>>2]=c[b+12456+(C*20480|0)+(B<<9)+108>>2];c[f+(g<<9)+112>>2]=c[b+12456+(C*20480|0)+(B<<9)+112>>2];c[f+(g<<9)+116>>2]=c[b+12456+(C*20480|0)+(B<<9)+116>>2];c[f+(g<<9)+120>>2]=c[b+12456+(C*20480|0)+(B<<9)+120>>2];c[f+(g<<9)+124>>2]=c[b+12456+(C*20480|0)+(B<<9)+124>>2];c[f+(g<<9)+128>>2]=c[b+12456+(C*20480|0)+(B<<9)+128>>2];c[f+(g<<9)+132>>2]=c[b+12456+(C*20480|0)+(B<<9)+132>>2];c[f+(g<<9)+136>>2]=c[b+12456+(C*20480|0)+(B<<9)+136>>2];c[f+(g<<9)+140>>2]=c[b+12456+(C*20480|0)+(B<<9)+140>>2];c[f+(g<<9)+144>>2]=c[b+12456+(C*20480|0)+(B<<9)+144>>2];c[f+(g<<9)+148>>2]=c[b+12456+(C*20480|0)+(B<<9)+148>>2];c[f+(g<<9)+152>>2]=c[b+12456+(C*20480|0)+(B<<9)+152>>2];c[f+(g<<9)+156>>2]=c[b+12456+(C*20480|0)+(B<<9)+156>>2];c[f+(g<<9)+160>>2]=c[b+12456+(C*20480|0)+(B<<9)+160>>2];c[f+(g<<9)+164>>2]=c[b+12456+(C*20480|0)+(B<<9)+164>>2];c[f+(g<<9)+168>>2]=c[b+12456+(C*20480|0)+(B<<9)+168>>2];c[f+(g<<9)+172>>2]=c[b+12456+(C*20480|0)+(B<<9)+172>>2];c[f+(g<<9)+176>>2]=c[b+12456+(C*20480|0)+(B<<9)+176>>2];c[f+(g<<9)+180>>2]=c[b+12456+(C*20480|0)+(B<<9)+180>>2];c[f+(g<<9)+184>>2]=c[b+12456+(C*20480|0)+(B<<9)+184>>2];c[f+(g<<9)+188>>2]=c[b+12456+(C*20480|0)+(B<<9)+188>>2];c[f+(g<<9)+192>>2]=c[b+12456+(C*20480|0)+(B<<9)+192>>2];c[f+(g<<9)+196>>2]=c[b+12456+(C*20480|0)+(B<<9)+196>>2];c[f+(g<<9)+200>>2]=c[b+12456+(C*20480|0)+(B<<9)+200>>2];c[f+(g<<9)+204>>2]=c[b+12456+(C*20480|0)+(B<<9)+204>>2];c[f+(g<<9)+208>>2]=c[b+12456+(C*20480|0)+(B<<9)+208>>2];c[f+(g<<9)+212>>2]=c[b+12456+(C*20480|0)+(B<<9)+212>>2];c[f+(g<<9)+216>>2]=c[b+12456+(C*20480|0)+(B<<9)+216>>2];c[f+(g<<9)+220>>2]=c[b+12456+(C*20480|0)+(B<<9)+220>>2];c[f+(g<<9)+224>>2]=c[b+12456+(C*20480|0)+(B<<9)+224>>2];c[f+(g<<9)+228>>2]=c[b+12456+(C*20480|0)+(B<<9)+228>>2];c[f+(g<<9)+232>>2]=c[b+12456+(C*20480|0)+(B<<9)+232>>2];c[f+(g<<9)+236>>2]=c[b+12456+(C*20480|0)+(B<<9)+236>>2];c[f+(g<<9)+240>>2]=c[b+12456+(C*20480|0)+(B<<9)+240>>2];c[f+(g<<9)+244>>2]=c[b+12456+(C*20480|0)+(B<<9)+244>>2];c[f+(g<<9)+248>>2]=c[b+12456+(C*20480|0)+(B<<9)+248>>2];c[f+(g<<9)+252>>2]=c[b+12456+(C*20480|0)+(B<<9)+252>>2];rD(f+256+(e<<16>>16<<7<<2)|0,0,256)|0;e=e+1<<16>>16;g=e<<16>>16}while((g|0)<(d[i>>0]|0));return h|0}function wn(e,g,h,i){e=e|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.0,w=0.0,x=0.0,y=0.0,z=0;u=oc;t=oc=oc+31&-32;oc=oc+256|0;s=t+128|0;q=e+53416|0;if(!(a[q>>0]|0)){oc=u;return}r=g+4|0;o=0;p=0;j=0;while(1){e=0;do{w=+f[h+(j<<9)+(e<<3)>>2];x=+f[62196+(e<<3)>>2];y=+f[h+(j<<9)+(e<<3)+4>>2];v=+f[62196+(e<<3)+4>>2];f[s+(e<<2)>>2]=(w*x-y*v)*.015625;f[t+(e<<2)>>2]=(y*x+w*v)*.015625;e=e+1|0}while((e|0)!=32);An(s,s);Bn(t,t);l=c[g>>2]|0;m=b[r>>1]|0;n=m<<16>>16;e=0;j=0;while(1){z=s+(j<<2)|0;k=t+(j<<2)|0;y=+f[k>>2]-+f[z>>2];f[l+(j+640+n<<2)>>2]=y;f[l+(j+n<<2)>>2]=y;y=+f[z>>2]+ +f[k>>2];f[l+(e+703+n<<2)>>2]=y;f[l+(e+63+n<<2)>>2]=y;k=j+1|0;if((k|0)==32){e=p;j=0;break}else{e=~j;j=k}}while(1){z=j<<1;f[i+(e<<2)>>2]=+f[l+(j+n<<2)>>2]*+f[58740+(z<<2)>>2]+ +f[l+(j+96+n<<2)>>2]*+f[58740+(z+64<<2)>>2]+ +f[l+(j+128+n<<2)>>2]*+f[58740+(z+128<<2)>>2]+ +f[l+(j+224+n<<2)>>2]*+f[58740+(z+192<<2)>>2]+ +f[l+(j+256+n<<2)>>2]*+f[58740+(z+256<<2)>>2]+ +f[l+(j+352+n<<2)>>2]*+f[58740+(z+320<<2)>>2]+ +f[l+(j+384+n<<2)>>2]*+f[58740+(z+384<<2)>>2]+ +f[l+(j+480+n<<2)>>2]*+f[58740+(z+448<<2)>>2]+ +f[l+(j+512+n<<2)>>2]*+f[58740+(z+512<<2)>>2]+ +f[l+(j+608+n<<2)>>2]*+f[58740+(z+576<<2)>>2];j=j+1|0;if((j|0)==32)break;else e=e+1|0}b[r>>1]=m+-64<<16>>16<<16>>16<0?576:(m&65535)+65472&65535;e=o+1<<24>>24;if((e&255)<(d[q>>0]|0)){o=e;p=p+32|0;j=e&255}else break}oc=u;return}function xn(e,g,h,i){e=e|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.0,F=0,G=0,H=0;C=oc;v=oc=oc+31&-32;oc=oc+1024|0;w=v+896|0;x=v+768|0;y=v+640|0;z=v+512|0;A=v+384|0;B=v+256|0;u=v+128|0;o=e+53416|0;if(!(a[o>>0]|0)){oc=C;return}p=x+124|0;q=B+124|0;r=w+124|0;s=A+124|0;t=g+4|0;m=0;n=0;while(1){j=n&255;f[p>>2]=+f[h+(j<<9)+8>>2]*.015625;f[w>>2]=+f[h+(j<<9)>>2]*.015625;f[q>>2]=+f[h+(j<<9)+500>>2]*.015625;f[A>>2]=+f[h+(j<<9)+508>>2]*.015625;e=1;do{l=e<<1;D=l|1;k=31-e|0;f[x+(k<<2)>>2]=+f[h+(j<<9)+(D<<3)>>2]*.015625;f[w+(e<<2)>>2]=+f[h+(j<<9)+(l<<3)>>2]*.015625;f[B+(k<<2)>>2]=+f[h+(j<<9)+(63-D<<3)+4>>2]*.015625;f[A+(e<<2)>>2]=+f[h+(j<<9)+(63-l<<3)+4>>2]*.015625;e=e+1|0}while((e|0)!=31);f[x>>2]=+f[h+(j<<9)+504>>2]*.015625;f[r>>2]=+f[h+(j<<9)+496>>2]*.015625;f[B>>2]=+f[h+(j<<9)+4>>2]*.015625;f[s>>2]=+f[h+(j<<9)+12>>2]*.015625;zn(w,x,y,z);zn(A,B,u,v);k=b[t>>1]|0;l=(c[g>>2]|0)+(k<<16>>16<<2)|0;j=l+5120|0;e=0;do{G=u+(e<<2)|0;F=y+(e<<2)|0;E=+f[G>>2]-+f[F>>2];D=e<<1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]+ +f[F>>2];F=127-D|0;f[j+(F<<2)>>2]=E;f[l+(F<<2)>>2]=E;F=31-e|0;G=v+(F<<2)|0;F=z+(F<<2)|0;E=+f[G>>2]+ +f[F>>2];D=D|1;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;E=+f[G>>2]-+f[F>>2];D=127-D|0;f[j+(D<<2)>>2]=E;f[l+(D<<2)>>2]=E;e=e+1|0}while((e|0)!=32);e=0;j=m;while(1){H=e+192|0;D=e+256|0;F=e+448|0;G=e+512|0;f[i+(j<<2)>>2]=+f[l+(e<<2)>>2]*+f[58740+(e<<2)>>2]+ +f[l+(H<<2)>>2]*+f[58740+(e+64<<2)>>2]+ +f[l+(D<<2)>>2]*+f[58740+(e+128<<2)>>2]+ +f[l+(F<<2)>>2]*+f[58740+(H<<2)>>2]+ +f[l+(G<<2)>>2]*+f[58740+(D<<2)>>2]+ +f[l+(e+704<<2)>>2]*+f[58740+(e+320<<2)>>2]+ +f[l+(e+768<<2)>>2]*+f[58740+(e+384<<2)>>2]+ +f[l+(e+960<<2)>>2]*+f[58740+(F<<2)>>2]+ +f[l+(e+1024<<2)>>2]*+f[58740+(G<<2)>>2]+ +f[l+(e+1216<<2)>>2]*+f[58740+(e+576<<2)>>2];e=e+1|0;if((e|0)==64)break;else j=j+1|0}b[t>>1]=k+-128<<16>>16<<16>>16<0?1152:(k&65535)+65408&65535;n=n+1<<24>>24;if((n&255)>=(d[o>>0]|0))break;else m=m+64|0}oc=C;return}function yn(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;a[e+12420>>0]=a[e+14>>0]|0;a[e+12423>>0]=a[e+15>>0]|0;a[e+12422>>0]=a[e+12421>>0]|0;g=f&255;h=e+610+g|0;f=a[h>>0]|0;a[e+612+g>>0]=f;if(!(f<<24>>24)){e=19;return e|0}a[e+646+g>>0]=a[(f&255)+-1+(e+634+(g*6|0))>>0]|0;i=e+614+g|0;b[e+2010+(g<<7)>>1]=b[e+730+(g*640|0)+((f&255)+-1<<1)>>1]|0;c[e+10460+(g<<8)>>2]=c[e+7388+(g<<9)+((d[i>>0]|0)+-1<<2)>>2];f=1;do{b[e+2010+(g<<7)+(f<<1)>>1]=b[e+730+(g*640|0)+(f*10|0)+((d[h>>0]|0)+-1<<1)>>1]|0;c[e+10460+(g<<8)+(f<<2)>>2]=c[e+7388+(g<<9)+(f<<3)+((d[i>>0]|0)+-1<<2)>>2];f=f+1|0}while((f|0)!=49);a[e+12277+(g<<6)>>0]=a[e+12149+(g<<6)>>0]|0;a[e+12277+(g<<6)+1>>0]=a[e+12149+(g<<6)+1>>0]|0;a[e+12277+(g<<6)+2>>0]=a[e+12149+(g<<6)+2>>0]|0;a[e+12277+(g<<6)+3>>0]=a[e+12149+(g<<6)+3>>0]|0;a[e+12277+(g<<6)+4>>0]=a[e+12149+(g<<6)+4>>0]|0;a[e+12277+(g<<6)+5>>0]=a[e+12149+(g<<6)+5>>0]|0;a[e+12277+(g<<6)+6>>0]=a[e+12149+(g<<6)+6>>0]|0;a[e+12277+(g<<6)+7>>0]=a[e+12149+(g<<6)+7>>0]|0;a[e+12277+(g<<6)+8>>0]=a[e+12149+(g<<6)+8>>0]|0;a[e+12277+(g<<6)+9>>0]=a[e+12149+(g<<6)+9>>0]|0;a[e+12277+(g<<6)+10>>0]=a[e+12149+(g<<6)+10>>0]|0;a[e+12277+(g<<6)+11>>0]=a[e+12149+(g<<6)+11>>0]|0;a[e+12277+(g<<6)+12>>0]=a[e+12149+(g<<6)+12>>0]|0;a[e+12277+(g<<6)+13>>0]=a[e+12149+(g<<6)+13>>0]|0;a[e+12277+(g<<6)+14>>0]=a[e+12149+(g<<6)+14>>0]|0;a[e+12277+(g<<6)+15>>0]=a[e+12149+(g<<6)+15>>0]|0;a[e+12277+(g<<6)+16>>0]=a[e+12149+(g<<6)+16>>0]|0;a[e+12277+(g<<6)+17>>0]=a[e+12149+(g<<6)+17>>0]|0;a[e+12277+(g<<6)+18>>0]=a[e+12149+(g<<6)+18>>0]|0;a[e+12277+(g<<6)+19>>0]=a[e+12149+(g<<6)+19>>0]|0;a[e+12277+(g<<6)+20>>0]=a[e+12149+(g<<6)+20>>0]|0;a[e+12277+(g<<6)+21>>0]=a[e+12149+(g<<6)+21>>0]|0;a[e+12277+(g<<6)+22>>0]=a[e+12149+(g<<6)+22>>0]|0;a[e+12277+(g<<6)+23>>0]=a[e+12149+(g<<6)+23>>0]|0;a[e+12277+(g<<6)+24>>0]=a[e+12149+(g<<6)+24>>0]|0;a[e+12277+(g<<6)+25>>0]=a[e+12149+(g<<6)+25>>0]|0;a[e+12277+(g<<6)+26>>0]=a[e+12149+(g<<6)+26>>0]|0;a[e+12277+(g<<6)+27>>0]=a[e+12149+(g<<6)+27>>0]|0;a[e+12277+(g<<6)+28>>0]=a[e+12149+(g<<6)+28>>0]|0;a[e+12277+(g<<6)+29>>0]=a[e+12149+(g<<6)+29>>0]|0;a[e+12277+(g<<6)+30>>0]=a[e+12149+(g<<6)+30>>0]|0;a[e+12277+(g<<6)+31>>0]=a[e+12149+(g<<6)+31>>0]|0;a[e+12277+(g<<6)+32>>0]=a[e+12149+(g<<6)+32>>0]|0;a[e+12277+(g<<6)+33>>0]=a[e+12149+(g<<6)+33>>0]|0;a[e+12277+(g<<6)+34>>0]=a[e+12149+(g<<6)+34>>0]|0;a[e+12277+(g<<6)+35>>0]=a[e+12149+(g<<6)+35>>0]|0;a[e+12277+(g<<6)+36>>0]=a[e+12149+(g<<6)+36>>0]|0;a[e+12277+(g<<6)+37>>0]=a[e+12149+(g<<6)+37>>0]|0;a[e+12277+(g<<6)+38>>0]=a[e+12149+(g<<6)+38>>0]|0;a[e+12277+(g<<6)+39>>0]=a[e+12149+(g<<6)+39>>0]|0;a[e+12277+(g<<6)+40>>0]=a[e+12149+(g<<6)+40>>0]|0;a[e+12277+(g<<6)+41>>0]=a[e+12149+(g<<6)+41>>0]|0;a[e+12277+(g<<6)+42>>0]=a[e+12149+(g<<6)+42>>0]|0;a[e+12277+(g<<6)+43>>0]=a[e+12149+(g<<6)+43>>0]|0;a[e+12277+(g<<6)+44>>0]=a[e+12149+(g<<6)+44>>0]|0;a[e+12277+(g<<6)+45>>0]=a[e+12149+(g<<6)+45>>0]|0;a[e+12277+(g<<6)+46>>0]=a[e+12149+(g<<6)+46>>0]|0;a[e+12277+(g<<6)+47>>0]=a[e+12149+(g<<6)+47>>0]|0;a[e+12277+(g<<6)+48>>0]=a[e+12149+(g<<6)+48>>0]|0;a[e+53445+g>>0]=a[e+53443+g>>0]|0;a[e+12418+g>>0]=((a[e+10972+g>>0]|0)!=(d[h>>0]|0))<<31>>31;e=0;return e|0} |
| | | function Kg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;G=c[(c[f+136>>2]|0)+4136>>2]|0;t=c[e>>2]|0;e=c[t+172>>2]|0;l=g>>e;e=h>>e;if((l|0)<=-1)R(119015,119052,120,119072);s=c[t+176>>2]|0;if((l|0)>=(s|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)>=(c[t+180>>2]|0))R(119076,119052,121,119072);u=(c[t+164>>2]|0)+(((z(s,e)|0)+l|0)*3|0)|0;u=((d[u>>0]|d[u+1>>0]<<8)&65535)>>>3;D=j+-1|0;y=n+k|0;l=y+-1|0;w=j>>G;E=(w|0)==(D>>G|0);if(E?(k>>G|0)==(l>>G|0):0){H=0;r=0}else C=9;a:do if((C|0)==9){if((o|0)==1)switch(u&7){case 2:case 6:case 7:{H=0;r=0;break a}default:{}}if(Jg(f,g,h,i,j,k,m,n,o,D,l)|0){B=c[t+192>>2]|0;s=D>>B;l=l>>B;if((s|0)<=-1)R(119015,119052,120,119072);e=c[t+196>>2]|0;if((s|0)>=(e|0))R(119015,119052,120,119072);if((l|0)<=-1)R(119076,119052,121,119072);if((l|0)<(c[t+200>>2]|0)){H=(c[t+184>>2]|0)+(((z(e,l)|0)+s|0)*12|0)|0;b[p>>1]=b[H>>1]|0;b[p+2>>1]=b[H+2>>1]|0;b[p+4>>1]=b[H+4>>1]|0;b[p+6>>1]=b[H+6>>1]|0;b[p+8>>1]=b[H+8>>1]|0;b[p+10>>1]=b[H+10>>1]|0;H=1;r=1;break}else R(119076,119052,121,119072)}else{H=0;r=0}}while(0);if((r|0)>=(q|0)){p=r;return p|0}v=m+j|0;l=v+-1|0;B=k+-1|0;if((w|0)==(l>>G|0)?(k>>G|0)==(B>>G|0):0){u=0;x=0}else C=22;b:do if((C|0)==22){if((o|0)==1)switch(u&7){case 1:case 4:case 5:{u=0;x=0;break b}default:{}}if(Jg(f,g,h,i,j,k,m,n,o,l,B)|0){e=c[f+192>>2]|0;l=l>>e;e=B>>e;if((l|0)<=-1)R(119015,119052,120,119072);s=c[f+196>>2]|0;if((l|0)>=(s|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)>=(c[f+200>>2]|0))R(119076,119052,121,119072);t=c[f+184>>2]|0;s=(z(s,e)|0)+l|0;l=t+(s*12|0)|0;do if(H?(x=a[p>>0]|0,x<<24>>24==(a[l>>0]|0)):0){if(x<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24==(a[t+(s*12|0)+1>>0]|0)){if(!(e<<24>>24)){u=1;x=0;break b}if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0)){u=1;x=0;break b}}}while(0);u=p+(r*12|0)|0;b[u>>1]=b[l>>1]|0;b[u+2>>1]=b[l+2>>1]|0;b[u+4>>1]=b[l+4>>1]|0;b[u+6>>1]=b[l+6>>1]|0;b[u+8>>1]=b[l+8>>1]|0;b[u+10>>1]=b[l+10>>1]|0;u=1;x=r;r=r+1|0}else{u=0;x=0}}while(0);if((r|0)>=(q|0)){p=r;return p|0}if(!((w|0)==(v>>G|0)?(k>>G|0)==(B>>G|0):0))C=47;c:do if((C|0)==47)if(Jg(f,g,h,i,j,k,m,n,o,v,B)|0){e=c[f+192>>2]|0;l=v>>e;e=B>>e;if((l|0)<=-1)R(119015,119052,120,119072);s=c[f+196>>2]|0;if((l|0)>=(s|0))R(119015,119052,120,119072);if((e|0)<=-1)R(119076,119052,121,119072);if((e|0)>=(c[f+200>>2]|0))R(119076,119052,121,119072);t=c[f+184>>2]|0;s=(z(s,e)|0)+l|0;l=t+(s*12|0)|0;do if(u?(A=a[p+(x*12|0)>>0]|0,A<<24>>24==(a[l>>0]|0)):0){if(A<<24>>24){if((b[p+(x*12|0)+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+(x*12|0)+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+(x*12|0)+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+(x*12|0)+1>>0]|0;if(e<<24>>24==(a[t+(s*12|0)+1>>0]|0)){if(!(e<<24>>24))break c;if((b[p+(x*12|0)+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+(x*12|0)+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+(x*12|0)+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0))break c}}while(0);A=p+(r*12|0)|0;b[A>>1]=b[l>>1]|0;b[A+2>>1]=b[l+2>>1]|0;b[A+4>>1]=b[l+4>>1]|0;b[A+6>>1]=b[l+6>>1]|0;b[A+8>>1]=b[l+8>>1]|0;b[A+10>>1]=b[l+10>>1]|0;r=r+1|0}while(0);if((r|0)>=(q|0)){p=r;return p|0}if(!(E?(k>>G|0)==(y>>G|0):0))C=70;d:do if((C|0)==70)if(Jg(f,g,h,i,j,k,m,n,o,D,y)|0){l=c[f+192>>2]|0;s=D>>l;l=y>>l;if((s|0)<=-1)R(119015,119052,120,119072);e=c[f+196>>2]|0;if((s|0)>=(e|0))R(119015,119052,120,119072);if((l|0)<=-1)R(119076,119052,121,119072);if((l|0)>=(c[f+200>>2]|0))R(119076,119052,121,119072);t=c[f+184>>2]|0;s=(z(e,l)|0)+s|0;l=t+(s*12|0)|0;do if(H?(F=a[p>>0]|0,F<<24>>24==(a[l>>0]|0)):0){if(F<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24))break d;if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0))break d}while(0);F=p+(r*12|0)|0;b[F>>1]=b[l>>1]|0;b[F+2>>1]=b[l+2>>1]|0;b[F+4>>1]=b[l+4>>1]|0;b[F+6>>1]=b[l+6>>1]|0;b[F+8>>1]=b[l+8>>1]|0;b[F+10>>1]=b[l+10>>1]|0;r=r+1|0}while(0);if((r|0)>=(q|0)|(r|0)==4){p=r;return p|0}if(E?(k>>G|0)==(B>>G|0):0){p=r;return p|0}if(!(Jg(f,g,h,i,j,k,m,n,o,D,B)|0)){p=r;return p|0}l=c[f+192>>2]|0;s=D>>l;l=B>>l;if((s|0)<=-1)R(119015,119052,120,119072);e=c[f+196>>2]|0;if((s|0)>=(e|0))R(119015,119052,120,119072);if((l|0)<=-1)R(119076,119052,121,119072);if((l|0)>=(c[f+200>>2]|0))R(119076,119052,121,119072);t=c[f+184>>2]|0;s=(z(e,l)|0)+s|0;l=t+(s*12|0)|0;do if(u){e=a[p+(x*12|0)>>0]|0;if(e<<24>>24!=(a[l>>0]|0))break;if(e<<24>>24){if((b[p+(x*12|0)+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+(x*12|0)+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+(x*12|0)+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+(x*12|0)+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24)){p=r;return p|0}if((b[p+(x*12|0)+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+(x*12|0)+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+(x*12|0)+3>>0]|0)!=(a[t+(s*12|0)+3>>0]|0))break;return r|0}while(0);do if(H){e=a[p>>0]|0;if(e<<24>>24!=(a[l>>0]|0))break;if(e<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24)){p=r;return p|0}if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)!=(a[t+(s*12|0)+3>>0]|0))break;return r|0}while(0);p=p+(r*12|0)|0;b[p>>1]=b[l>>1]|0;b[p+2>>1]=b[l+2>>1]|0;b[p+4>>1]=b[l+4>>1]|0;b[p+6>>1]=b[l+6>>1]|0;b[p+8>>1]=b[l+8>>1]|0;b[p+10>>1]=b[l+10>>1]|0;p=r+1|0;return p|0}function Lg(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[h>>2]|0;if(!((s|0)>1&(s|0)<(i|0)))return;t=z(s+-1|0,s)|0;n=0;o=0;p=1;while(1){j=g+(o*12|0)|0;if(!(a[j>>0]|0))q=0;else q=tc[c[(c[d>>2]|0)+8>>2]&31](d,c[f+920+(a[g+(o*12|0)+2>>0]<<2)>>2]|0)|0;k=g+(p*12|0)+1|0;if(!(a[k>>0]|0))r=0;else r=tc[c[(c[d>>2]|0)+8>>2]&31](d,c[f+984+(a[g+(p*12|0)+3>>0]<<2)>>2]|0)|0;l=a[j>>0]|0;m=l<<24>>24==0;if(!((q|0)!=0|m)){j=18;break}j=a[k>>0]|0;k=j<<24>>24==0;if(!((r|0)!=0|k)){j=18;break}do if(!(m|k)){if(((c[q+96>>2]|0)==(c[r+96>>2]|0)?(b[g+(o*12|0)+4>>1]|0)==(b[g+(p*12|0)+8>>1]|0):0)?(b[g+(o*12|0)+6>>1]|0)==(b[g+(p*12|0)+10>>1]|0):0)break;r=c[h>>2]|0;a[g+(r*12|0)+2>>0]=a[g+(o*12|0)+2>>0]|0;a[g+(r*12|0)+3>>0]=a[g+(p*12|0)+3>>0]|0;a[g+(r*12|0)>>0]=l;a[g+(r*12|0)+1>>0]=j;o=g+(o*12|0)+4|0;q=g+(r*12|0)+4|0;o=e[o>>1]|e[o+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;q=g+(p*12|0)+8|0;r=g+(r*12|0)+8|0;q=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=q;b[r+2>>1]=q>>>16;c[h>>2]=(c[h>>2]|0)+1}while(0);n=n+1|0;if((n|0)==(t|0)){j=18;break}if((c[h>>2]|0)==(i|0)){j=18;break}o=c[1152+(n<<2)>>2]|0;p=c[1200+(n<<2)>>2]|0;if(!((o|0)<(s|0)&(p|0)<(s|0))){j=4;break}}if((j|0)==4)R(145674,117583,1402,117808);else if((j|0)==18)return}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(a[b+42>>0]|0))return (e|d|0)==0|0;h=c[b+44>>2]|0;if((h|0)<=0){e=0;return e|0}f=0;while(1){if((c[b+4260+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(h|0)){g=0;i=11;break}}if((i|0)==11)return g|0;d=c[b+48>>2]|0;if((d|0)<=0){e=0;return e|0}f=0;while(1){if((c[b+4304+(f<<2)>>2]|0)==(e|0)){g=1;i=11;break}f=f+1|0;if((f|0)>=(d|0)){g=0;i=11;break}}if((i|0)==11)return g|0;return 0}function Ng(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((g|f|0)<0){k=0;return k|0}k=c[a+128>>2]|0;if((c[k+484>>2]|0)<=(f|0)){k=0;return k|0}if((c[k+488>>2]|0)<=(g|0)){k=0;return k|0}j=c[a+136>>2]|0;i=c[k+5100>>2]|0;h=c[k+5088>>2]|0;m=(z(g>>i,h)|0)+(f>>i)|0;l=c[j+4396>>2]|0;if((c[l+(m<<2)>>2]|0)>(c[l+((z(e>>i,h)|0)+(d>>i)<<2)>>2]|0)){m=0;return m|0}m=c[k+5040>>2]|0;i=d>>m;h=e>>m;e=f>>m;d=g>>m;m=c[a+156>>2]|0;g=(z(m,h)|0)+i|0;l=c[a+144>>2]|0;if((b[l+(g*24|0)>>1]|0)!=(b[l+(((z(m,d)|0)+e|0)*24|0)>>1]|0)){m=0;return m|0}m=c[k+5056>>2]|0;k=(z(m,h)|0)+i|0;l=c[j+4384>>2]|0;m=(c[l+(k<<2)>>2]|0)==(c[l+((z(m,d)|0)+e<<2)>>2]|0);return m|0}function Og(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;do if((d|0)>0){h=d+-1|0;j=(e|0)<51?e:51;j=(j|0)>0?j:0;k=c[1248+(h*12|0)>>2]|0;f=b+5|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;k=c[1248+(h*12|0)+4>>2]|0;f=b+6|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;k=c[1248+(h*12|0)+8>>2]|0;f=b+7|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;k=c[12340+(h<<2)>>2]|0;g=b+149|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;f=(k|0)>63;k=f?k+64|0:63-k|0;f=(k&255)<<1&255|f&1;if((k&127)>>>0>=63){a[g>>0]=f;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;k=c[12264+(h<<2)>>2]|0;f=b+147|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){a[f>>0]=g;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;k=c[12272+(h<<2)>>2]|0;g=b+148|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;f=(k|0)>63;k=f?k+64|0:63-k|0;f=(k&255)<<1&255|f&1;if((k&127)>>>0>=63){a[g>>0]=f;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;f=b+156|0;k=((z(j,-20)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;f=b+157|0;k=((z(j,-25)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;i=(k|0)>63;k=i?k+64|0:63-k|0;i=(k&255)<<1&255|i&1;if((k&127)>>>0>=63){h=i;k=f;a[k>>0]=h;R(117952,116970,210,117973)}rD(f|0,i|0,1)|0;f=b+158|0;k=((z(j,-30)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){h=g;k=f;a[k>>0]=h;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;f=b+159|0;k=((z(j,-40)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){h=g;k=f;a[k>>0]=h;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;rD(b+160|0,g|0,1)|0;a[b+154>>0]=14;a[b+155>>0]=14;h=2672+(((d|0)==1?0:2)<<2)|0;k=c[h>>2]|0;f=b+150|0;k=(k<<3&120)+-16+((z(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){m=g;k=f;a[k>>0]=m;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+151|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,j)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){k=g;m=f;a[m>>0]=k;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;g=b+152|0;m=((j*5|0)>>>4)+48|0;m=m>>>0<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;rD(b+153|0,i|0,1)|0;g=b+143|0;m=((z(j,-5)|0)>>4)+72|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0<63){rD(g|0,f|0,4)|0;break}else{a[g>>0]=f;R(117952,116970,210,117973)}}while(0);k=(e|0)<51?e:51;k=(k|0)>0?k:0;m=c[1280+(d*12|0)>>2]|0;f=b+2|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[1280+(d*12|0)+4>>2]|0;f=b+3|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[1280+(d*12|0)+8>>2]|0;f=b+4|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;h=2624+(((d|0)==2?5:d)<<2)|0;m=c[h>>2]|0;f=b+8|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+9|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+10|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+11|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[12328+(d<<2)>>2]|0;g=b+12|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;m=c[12280+(d<<2)>>2]|0;f=b+13|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){a[f>>0]=g;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;f=1328+(((d|0)==0?0:2)<<2)|0;m=c[f>>2]|0;g=b+14|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;h=(m|0)>63;m=h?m+64|0:63-m|0;h=(m&255)<<1&255|h&1;if((m&127)>>>0>=63){e=h;m=g;a[m>>0]=e;R(117952,116970,210,117973)}rD(g|0,h|0,1)|0;m=c[f+4>>2]|0;f=b+15|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;e=d<<2;h=2576+(e<<2)|0;m=c[h>>2]|0;f=b+16|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+17|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+18|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+12>>2]|0;g=b+19|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){j=f;m=g;a[m>>0]=j;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;h=2528+(d*3<<2)|0;m=c[h>>2]|0;f=b+20|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+21|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+22|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;h=b+25|0;j=2304+(d*18<<2)|0;f=0;do{m=c[j+(f<<2)>>2]|0;g=h+f|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=35;break}rD(g|0,i|0,1)|0;f=f+1|0}while(f>>>0<18);if((l|0)==35){a[g>>0]=i;R(117952,116970,210,117973)}g=b+43|0;f=0;do{m=c[j+(f<<2)>>2]|0;h=g+f|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=39;break}rD(h|0,i|0,1)|0;f=f+1|0}while(f>>>0<18);if((l|0)==39){a[h>>0]=i;R(117952,116970,210,117973)}h=1344+(e<<2)|0;m=c[h>>2]|0;f=b+61|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+62|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+63|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+64|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;h=b+65|0;f=0;do{m=c[1392+(d*168|0)+(f<<2)>>2]|0;g=h+f|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=45;break}rD(g|0,i|0,1)|0;f=f+1|0}while(f>>>0<42);if((l|0)==45){a[g>>0]=i;R(117952,116970,210,117973)}m=c[1904+(d<<3)>>2]|0;f=b+107|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[1904+(d<<3)+4>>2]|0;f=b+108|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;i=b+109|0;g=2016+(d*24<<2)|0;f=0;do{m=c[g+(f<<2)>>2]|0;h=i+f|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;j=(m|0)>63;m=j?m+64|0:63-m|0;j=(m&255)<<1&255|j&1;if((m&127)>>>0>=63){l=51;break}rD(h|0,j|0,1)|0;f=f+1|0}while(f>>>0<24);if((l|0)==51){a[h>>0]=j;R(117952,116970,210,117973)}h=1936+(d*6<<2)|0;m=c[h>>2]|0;f=b+133|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+134|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+135|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+136|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+16>>2]|0;f=b+137|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[h+20>>2]|0;f=b+138|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;m=c[12316+(d<<2)>>2]|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[b>>0]=f;R(117952,116970,210,117973)}rD(b|0,f|0,1)|0;m=c[12292+(d<<2)>>2]|0;f=b+1|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){a[f>>0]=g;R(117952,116970,210,117973)}rD(f|0,g|0,1)|0;a[b+139>>0]=1;a[b+140>>0]=1;g=b+141|0;m=((z(k,-5)|0)>>4)+72|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;R(117952,116970,210,117973)}rD(g|0,f|0,1)|0;rD(b+142|0,f|0,1)|0;m=c[12304+(d<<2)>>2]|0;g=b+161|0;m=(m<<3&120)+-16+((z(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0<63){rD(g|0,f|0,1)|0;m=b+162|0;d=m;a[d>>0]=1;a[d+1>>0]=1;a[d+2>>0]=1;a[d+3>>0]=1;m=m+4|0;a[m>>0]=1;a[m+1>>0]=1;a[m+2>>0]=1;a[m+3>>0]=1;m=b+170|0;a[m>>0]=1;a[m+1>>0]=1;a[b+23>>0]=1;a[b+24>>0]=1;return}else{a[g>>0]=f;R(117952,116970,210,117973)}}function Pg(a){a=a|0;xB(a);return}function Qg(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;o=c[b+16>>2]|0;e=o+18588|0;p=c[e>>2]|0;k=c[p+128>>2]|0;n=k+5056|0;l=c[n>>2]|0;q=b+4|0;c[q>>2]=1;ue(p,b);e=c[e>>2]|0;f=c[e+128>>2]|0;g=c[o+4>>2]|0;h=c[f+5072>>2]|0;if((g|0)<(h|0)){j=c[(c[(c[e+136>>2]|0)+4360>>2]|0)+(g<<2)>>2]|0;e=c[f+5056>>2]|0;f=(j|0)/(e|0)|0;g=f;e=j-(z(f,e)|0)|0;f=j}else{e=c[f+5056>>2]|0;f=(h|0)/(e|0)|0;g=f;e=h-(z(f,e)|0)|0;f=h}c[o>>2]=f;i=o+8|0;c[i>>2]=e;h=o+12|0;c[h>>2]=g;j=(f|0)/(l|0)|0;e=b+8|0;if(a[e>>0]|0?!(xf(o)|0):0){if((l|0)>0){f=p+332|0;e=z(j,l)|0;d=0;do{De((c[f>>2]|0)+((d+e|0)*80|0)|0,1);d=d+1|0}while((d|0)!=(l|0))}c[q>>2]=3;yf((c[o+18600>>2]|0)+44|0,1);Ce(p,b);return}Af(o+18548|0);if(!(a[e>>0]|0))e=0;else e=(a[(c[o+18592>>2]|0)+16>>0]|0)==0;Bf(o,1,e)|0;a:do if((c[h>>2]|0)==(j|0)?(m=c[n>>2]|0,d=c[i>>2]|0,(d|0)<(m|0)):0){h=k+5064|0;f=z(j,l)|0;g=p+332|0;e=m;while(1){if((d|0)<(e|0)?(j|0)<(c[h>>2]|0):0)De((c[g>>2]|0)+((d+f|0)*80|0)|0,1);d=d+1|0;if((d|0)==(m|0))break a;e=c[n>>2]|0}}while(0);c[q>>2]=3;yf((c[o+18600>>2]|0)+44|0,1);Ce(p,b);return}function Rg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=oc;e=oc=oc+31&-32;oc=oc+112|0;g=e+104|0;c[g>>2]=c[d+12>>2];Eo(e,118015,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=Fp(e)|0;if(d>>>0>4294967279)DB(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;oc=f;return}}else{h=d+16&-16;g=vB(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}pD(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;oc=f;return}function Sg(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;o=oc;m=oc=oc+31&-32;oc=oc+16|0;n=c[b>>2]|0;if(!n){n=0;oc=o;return n|0}i=d;j=f-i|0;l=g+12|0;k=c[l>>2]|0;j=(k|0)>(j|0)?k-j|0:0;k=e;g=k-i|0;if((g|0)>0?(uc[c[(c[n>>2]|0)+48>>2]&31](n,d,g)|0)!=(g|0):0){c[b>>2]=0;n=0;oc=o;return n|0}do if((j|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(j>>>0<11){d=m+11|0;a[d>>0]=j;g=m;i=m}else{d=j+16&-16;g=vB(d)|0;c[m>>2]=g;c[m+8>>2]=d|-2147483648;c[m+4>>2]=j;d=m+11|0;i=m}rD(g|0,h|0,j|0)|0;a[g+j>>0]=0;if((uc[c[(c[n>>2]|0)+48>>2]&31](n,(a[d>>0]|0)<0?c[i>>2]|0:m,j)|0)==(j|0)){if((a[d>>0]|0)<0)xB(c[i>>2]|0);break}c[b>>2]=0;if((a[d>>0]|0)<0)xB(c[i>>2]|0);n=0;oc=o;return n|0}while(0);f=f-k|0;if((f|0)>0?(uc[c[(c[n>>2]|0)+48>>2]&31](n,e,f)|0)!=(f|0):0){c[b>>2]=0;n=0;oc=o;return n|0}c[l>>2]=0;oc=o;return n|0}function Tg(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=oc;C=oc=oc+31&-32;oc=oc+48|0;p=c[g>>2]|0;o=(p|0)==0;if(h)if(o)R(129551,116477,240,118048);else F=5;else if(!o)F=5;if((F|0)==5){q=c[g+4>>2]|0;if(q|0){o=q+4|0;c[o>>2]=(c[o>>2]|0)+1}c[b+128>>2]=p;p=b+132|0;o=c[p>>2]|0;c[p>>2]=q;if(o|0?(p=o+4|0,q=c[p>>2]|0,c[p>>2]=q+-1,(q|0)==0):0){Dc[c[(c[o>>2]|0)+8>>2]&255](o);sB(o)}}Ze(b);o=c[41844]|0;c[41844]=o+1;c[b>>2]=o;c[b+108>>2]=2147483647;c[b+112>>2]=i;c[b+116>>2]=j;c[b+20>>2]=f;c[b+24>>2]=d;c[b+28>>2]=e;o=b+32|0;c[o>>2]=d;p=b+36|0;c[p>>2]=e;c[b+296>>2]=m;m=b+288|0;c[m>>2]=k;c[m+4>>2]=l;switch(f|0){case 2:{c[C>>2]=3;t=(d+1|0)/2|0;c[o>>2]=t;r=1;s=2;v=2;x=1;u=e;break}case 1:{c[C>>2]=2;t=(d+1|0)/2|0;c[o>>2]=t;u=(e+1|0)/2|0;c[p>>2]=u;r=2;s=2;v=2;x=2;break}case 3:{c[C>>2]=4;r=1;s=1;v=1;x=1;t=d;u=e;break}case 0:{c[C>>2]=1;c[o>>2]=0;c[p>>2]=0;r=1;s=1;v=1;x=1;t=0;u=0;break}default:R(127700,116477,276,118048)}a[b+50>>0]=s;a[b+51>>0]=r;r=c[g>>2]|0;o=(r|0)==0;do if(!o){if((c[r+5016>>2]|0)!=(v|0))R(118060,116477,315,118048);if((c[r+5020>>2]|0)==(x|0)){c[C+4>>2]=d;c[C+8>>2]=e;c[C+12>>2]=16;w=c[r+500>>2]|0;D=c[r+496>>2]|0;y=c[r+508>>2]|0;E=c[r+504>>2]|0;break}else R(118088,116477,316,118048)}else{c[C+4>>2]=d;c[C+8>>2]=e;c[C+12>>2]=16;w=0;D=0;y=0;E=0}while(0);q=w+D|0;d=d-(z(q,v)|0)|0;c[b+76>>2]=d;s=y+E|0;e=e-(z(s,x)|0)|0;c[b+80>>2]=e;c[b+84>>2]=t-q;c[b+88>>2]=u-s;s=z(D,v)|0;c[C+16>>2]=s;c[C+20>>2]=z(w,v)|0;q=z(E,x)|0;c[C+24>>2]=q;c[C+28>>2]=z(y,x)|0;c[C+32>>2]=d;c[C+36>>2]=e;if(o){p=8;o=8}else{p=c[r+4996>>2]&255;o=c[r+5004>>2]|0}a[b+48>>0]=p;y=o&255;a[b+49>>0]=y;a[b+16>>0]=(p&255)>8&1;p=(y&255)>8&1;a[b+17>>0]=p;a[b+18>>0]=p;p=(i|0)==0;if(p)o=0;else o=c[i+544>>2]|0;do if(!j)if(p|n^1)F=34;else{F=i+536|0;B=c[F>>2]|0;F=c[F+4>>2]|0;A=b+312|0;c[A>>2]=B;c[A+4>>2]=F;A=o;F=35}else{o=c[j+3708>>2]|0;if(n){j=c[j+3712>>2]|0;c[b+320>>2]=j;p=b+312|0;if(!j){F=12208;B=c[F>>2]|0;F=c[F+4>>2]|0;A=p;c[A>>2]=B;c[A+4>>2]=F;A=o;F=35;break}else{c[p>>2]=0;c[b+316>>2]=0;break}}else F=34}while(0);if((F|0)==34){j=12208;B=c[j>>2]|0;j=c[j+4>>2]|0;A=b+312|0;c[A>>2]=B;c[A+4>>2]=j;A=o;F=35}if(((F|0)==35?B|0:0)?(i=(vc[B&7](i,C,b,A)|0)==0,c[b+64>>2]=(c[b+4>>2]|0)+s+(z(c[b+40>>2]|0,q)|0),E=z(c[b+44>>2]|0,E)|0,c[b+68>>2]=(c[b+8>>2]|0)+D+E,c[b+72>>2]=(c[b+12>>2]|0)+D+E,i):0){F=7;oc=G;return F|0}do if(h){f=c[g>>2]|0;s=c[f+5112>>2]|0;m=c[f+5116>>2]|0;f=c[f+5108>>2]|0;q=z(m,s)|0;r=b+208|0;p=b+204|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){Gq(o);o=Fq(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;k=0;break}else{c[r>>2]=q;F=42;break}}else F=42;while(0);if((F|0)==42){c[b+216>>2]=s;c[b+220>>2]=m;c[b+212>>2]=f;k=(o|0)!=0}f=c[g>>2]|0;s=c[f+5112>>2]|0;m=c[f+5116>>2]|0;f=c[f+5108>>2]|0;q=z(m,s)|0;r=b+228|0;p=b+224|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){Gq(o);o=Fq(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=47;break}}else F=47;while(0);if((F|0)==47){c[b+236>>2]=s;c[b+240>>2]=m;c[b+232>>2]=f;o=(o|0)!=0}k=k&o;p=b+164|0;f=c[g>>2]|0;s=c[f+5052>>2]|0;m=c[f+5060>>2]|0;f=c[f+5036>>2]|0;q=z(m,s)|0;r=b+168|0;do if((q|0)!=(c[r>>2]|0)){Gq(c[p>>2]|0);o=Fq(q*3|0)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=53;break}}else{o=c[p>>2]|0;F=53}while(0);if((F|0)==53){c[b+176>>2]=s;c[b+180>>2]=m;c[b+172>>2]=f;o=(o|0)!=0}f=k&o;p=c[g>>2]|0;m=(c[p+5036>>2]|0)+-2|0;s=c[p+5052>>2]<<m;m=c[p+5060>>2]<<m;p=b+184|0;q=z(m,s)|0;r=b+188|0;do if((q|0)!=(c[r>>2]|0)){Gq(c[p>>2]|0);o=Fq(q*12|0)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=59;break}}else{o=c[p>>2]|0;F=59}while(0);if((F|0)==59){c[b+196>>2]=s;c[b+200>>2]=m;c[b+192>>2]=2;o=(o|0)!=0}k=f&o;f=c[g>>2]|0;s=c[f+5088>>2]|0;m=c[f+5092>>2]|0;f=c[f+5100>>2]|0;q=z(m,s)|0;r=b+248|0;p=b+244|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){Gq(o);o=Fq(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=64;break}}else F=64;while(0);if((F|0)==64){c[b+256>>2]=s;c[b+260>>2]=m;c[b+252>>2]=f;o=(o|0)!=0}f=k&o;m=c[g>>2]|0;s=((c[m+484>>2]|0)+3|0)/4|0;m=((c[m+488>>2]|0)+3|0)/4|0;q=z(m,s)|0;r=b+268|0;p=b+264|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){Gq(o);o=Fq(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=69;break}}else F=69;while(0);if((F|0)==69){c[b+276>>2]=s;c[b+280>>2]=m;c[b+272>>2]=2;o=(o|0)!=0}l=f&o;f=b+144|0;k=b+148|0;p=c[k>>2]|0;o=c[g>>2]|0;if((p|0)==(c[o+5072>>2]|0)){if(l)break;else o=7;oc=G;return o|0}d=b+332|0;q=c[d>>2]|0;if(!q)q=p;else{p=q+-4|0;o=c[p>>2]|0;if(o|0){o=q+(o*80|0)|0;do{o=o+-80|0;jf(o)}while((o|0)!=(q|0))}yB(p);o=c[g>>2]|0;q=c[k>>2]|0}s=c[o+5056>>2]|0;m=c[o+5064>>2]|0;r=c[o+5040>>2]|0;p=z(m,s)|0;do if((p|0)!=(q|0)){Gq(c[f>>2]|0);o=Fq(p*24|0)|0;c[f>>2]=o;if(!o){c[k>>2]=0;o=0;p=0;break}else{c[k>>2]=p;F=81;break}}else{o=c[f>>2]|0;p=q;F=81}while(0);if((F|0)==81){c[b+156>>2]=s;c[b+160>>2]=m;c[b+152>>2]=r;o=(o|0)!=0}q=l&o;r=p*80|0;r=wB(p>>>0>53687091|r>>>0>4294967291?-1:r+4|0)|0;c[r>>2]=p;r=r+4|0;if(p|0){o=r+(p*80|0)|0;p=r;do{Ug(p);p=p+80|0}while((p|0)!=(o|0))}c[d>>2]=r;if(!q){F=7;oc=G;return F|0}}while(0);F=0;oc=G;return F|0}function Ug(a){a=a|0;c[a>>2]=0;Mq(a+4|0,0)|0;jb(a+32|0,0)|0;return}function Vg(b){b=b|0;var d=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;a[b+326>>0]=0;a[b+327>>0]=0;a[b+328>>0]=0;rD(b+120|0,0,164)|0;c[b>>2]=-1;c[b+108>>2]=0;c[b+112>>2]=0;c[b+116>>2]=0;c[b+320>>2]=0;d=b+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;d=b+288|0;c[b+332>>2]=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;a[b+324>>0]=2;c[b+92>>2]=-1;c[b+96>>2]=-1;c[b+100>>2]=0;a[b+104>>0]=0;d=b+336|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;Wg(b+356|0);Xg(b+384|0);return}function Wg(a){a=a|0;Mq(a,0)|0;return}function Xg(a){a=a|0;jb(a|0,0)|0;return}function Yg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[a>>2]=b;j=a+4|0;c[j>>2]=e;k=a+8|0;l=k;c[l>>2]=0;c[l+4>>2]=0;l=a+16|0;c[l>>2]=0;if(!e){k=0;c[l>>2]=k;return}f=b+1|0;c[a>>2]=f;g=d[b>>0]|0;i=e+-1|0;c[j>>2]=i;g=oD(g|0,0,56)|0;h=D()|0;m=k;c[m>>2]=g;c[m+4>>2]=h;if(!i){m=8;c[l>>2]=m;return}i=b+2|0;c[a>>2]=i;f=d[f>>0]|0;m=e+-2|0;c[j>>2]=m;f=oD(f|0,0,48)|0;f=g|f;g=h|(D()|0);h=k;c[h>>2]=f;c[h+4>>2]=g;if(!m){m=16;c[l>>2]=m;return}h=b+3|0;c[a>>2]=h;i=d[i>>0]|0;m=e+-3|0;c[j>>2]=m;i=oD(i|0,0,40)|0;i=f|i;f=g|(D()|0);g=k;c[g>>2]=i;c[g+4>>2]=f;if(!m){m=24;c[l>>2]=m;return}g=b+4|0;c[a>>2]=g;h=d[h>>0]|0;m=e+-4|0;c[j>>2]=m;f=f|h;h=k;c[h>>2]=i;c[h+4>>2]=f;if(!m){m=32;c[l>>2]=m;return}h=b+5|0;c[a>>2]=h;g=d[g>>0]|0;m=e+-5|0;c[j>>2]=m;g=oD(g|0,0,24)|0;g=i|g;f=f|(D()|0);i=k;c[i>>2]=g;c[i+4>>2]=f;if(!m){m=40;c[l>>2]=m;return}i=b+6|0;c[a>>2]=i;h=d[h>>0]|0;m=e+-6|0;c[j>>2]=m;h=oD(h|0,0,16)|0;g=g|h;f=f|(D()|0);h=k;c[h>>2]=g;c[h+4>>2]=f;if(!m){m=48;c[l>>2]=m;return}h=b+7|0;c[a>>2]=h;i=d[i>>0]|0;m=e+-7|0;c[j>>2]=m;i=oD(i|0,0,8)|0;g=g|i;f=f|(D()|0);i=k;c[i>>2]=g;c[i+4>>2]=f;if(!m){m=56;c[l>>2]=m;return}c[a>>2]=b+8;b=d[h>>0]|0;c[j>>2]=e+-8;m=k;c[m>>2]=g|b;c[m+4>>2]=f;m=64;c[l>>2]=m;return}function Zg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+16|0;e=c[j>>2]|0;if((e|0)<(b|0)){e=64-e|0;h=a+4|0;a:do if((e|0)>7){i=a+8|0;g=c[h>>2]|0;while(1){if(!g)break a;m=c[a>>2]|0;c[a>>2]=m+1;m=d[m>>0]|0;g=g+-1|0;c[h>>2]=g;f=e+-8|0;m=oD(m|0,0,f|0)|0;l=D()|0;n=i;l=c[n+4>>2]|l;k=i;c[k>>2]=c[n>>2]|m;c[k+4>>2]=l;if((e|0)<=15){e=f;break}else e=f}}while(0);e=64-e|0;c[j>>2]=e}n=a+8|0;l=n;l=oD(c[l>>2]|0,c[l+4>>2]|0,b|0)|0;m=D()|0;c[n>>2]=l;c[n+4>>2]=m;c[j>>2]=e-b;return}function _g(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+16|0;i=a+4|0;l=a+8|0;j=0;b=c[k>>2]|0;while(1){if((b|0)<1){b=64-b|0;a:do if((b|0)>7){f=c[i>>2]|0;while(1){if(!f)break a;n=c[a>>2]|0;c[a>>2]=n+1;n=d[n>>0]|0;f=f+-1|0;c[i>>2]=f;e=b+-8|0;n=oD(n|0,0,e|0)|0;m=D()|0;o=l;m=c[o+4>>2]|m;g=l;c[g>>2]=c[o>>2]|n;c[g+4>>2]=m;if((b|0)<=15){b=e;break}else b=e}}while(0);g=64-b|0;c[k>>2]=g}else g=b;n=l;o=c[n>>2]|0;n=c[n+4>>2]|0;f=oD(o|0,n|0,1)|0;e=D()|0;b=l;c[b>>2]=f;c[b+4>>2]=e;b=g+-1|0;c[k>>2]=b;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295))break;if(j>>>0>19){b=-99999;h=21;break}j=j+1|0}if((h|0)==21)return b|0;if(!j){o=0;return o|0}if((g|0)<=(j|0)){b=65-g|0;b:do if((b|0)>7){h=c[i>>2]|0;while(1){if(!h)break b;o=c[a>>2]|0;c[a>>2]=o+1;o=d[o>>0]|0;h=h+-1|0;c[i>>2]=h;g=b+-8|0;o=oD(o|0,0,g|0)|0;f=f|o;e=e|(D()|0);o=l;c[o>>2]=f;c[o+4>>2]=e;if((b|0)<=15){b=g;break}else b=g}}while(0);b=64-b|0;c[k>>2]=b}o=nD(f|0,e|0,64-j|0)|0;D()|0;i=oD(f|0,e|0,j|0)|0;m=D()|0;n=l;c[n>>2]=i;c[n+4>>2]=m;c[k>>2]=b-j;b=(1<<j)+o|0;if((b|0)<=1)R(118133,118118,146,118141);o=b+-1|0;return o|0}function $g(a){a=a|0;a=_g(a)|0;a:do if((a|0)<0){switch(a|0){case -99999:break;default:break a}a=-99999;return a|0}else{switch(a|0){case 0:break;default:break a}return a|0}while(0);a=(((a&1|0)==0?0-a|0:a+1|0)|0)/2|0;return a|0}function ah(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)>-1){c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=b+d;return}else R(118150,116434,138,118162)}function bh(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=1;do{h=c[1088+(j<<2)>>2]|0;k=1<<j;b=0;e=0;while(1){i=b&255;f=0;g=e;while(1){a[h+(g<<1)>>0]=f;a[h+(g<<1)+1>>0]=i;f=f+1|0;if((f|0)==(k|0))break;else g=g+1|0}b=b+1|0;if((b|0)==(k|0))break;else e=e+k|0}h=c[1056+(j<<2)>>2]|0;b=0;e=0;while(1){i=b&255;f=0;g=e;while(1){a[h+(g<<1)>>0]=i;a[h+(g<<1)+1>>0]=f;f=f+1|0;if((f|0)==(k|0))break;else g=g+1|0}b=b+1|0;if((b|0)==(k|0))break;else e=e+k|0}h=c[1120+(j<<2)>>2]|0;i=k<<j;e=0;b=0;do if((e|0)>-1){g=0;f=e;while(1){if((f|0)<(k|0)&(g|0)<(k|0)){a[h+(b<<1)>>0]=g;a[h+(b<<1)+1>>0]=f;b=b+1|0}e=g+1|0;if((f|0)>0){g=e;f=f+-1|0}else break}}else e=0;while((b|0)<(i|0));j=j+1|0}while((j|0)!=6);k=2;do{l=1<<k;p=k+-2|0;m=(1<<p<<p)+-1|0;n=1120+(p<<2)|0;o=1088+(p<<2)|0;p=1056+(p<<2)|0;t=0;do{q=c[976+(t*24|0)+(k<<2)>>2]|0;s=(t&2147483647|0)==2;j=0;do{r=j<<k;switch(t&2147483647|0){case 0:{g=c[n>>2]|0;f=0;do{e=16;b=m;do{i=(e|0)==0;b=b+(i<<31>>31)|0;e=i?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[154880+(e<<1)>>0]|0)|0)==(f|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[154880+(e<<1)+1>>0]|0)|0)==(j|0):0));i=f+r|0;a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;f=f+1|0}while((f|0)<(l|0));break}case 1:{g=c[o>>2]|0;f=0;do{e=16;b=m;do{i=(e|0)==0;b=b+(i<<31>>31)|0;e=i?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[157600+(e<<1)>>0]|0)|0)==(f|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[157600+(e<<1)+1>>0]|0)|0)==(j|0):0));i=f+r|0;a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;f=f+1|0}while((f|0)<(l|0));break}default:{h=0;do{i=h+r|0;if(s){f=160320;g=c[p>>2]|0}else{f=0;g=0}e=16;b=m;do{u=(e|0)==0;b=b+(u<<31>>31)|0;e=u?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[f+(e<<1)>>0]|0)|0)==(h|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[f+(e<<1)+1>>0]|0)|0)==(j|0):0));a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;h=h+1|0}while((h|0)<(l|0))}}j=j+1|0}while((j|0)<(l|0));t=t+1|0}while((t|0)!=3);k=k+1|0}while((k|0)!=6);return}function ch(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=Fq(11296)|0;if(!b){w=0;return w|0}rD(b|0,-1,11296)|0;c[36616]=b;c[36617]=b;c[36618]=b;c[36619]=b;c[36620]=b;c[36621]=b;c[36622]=b;c[36623]=b;r=b+16|0;c[36624]=r;c[36625]=r;c[36626]=r;c[36627]=r;c[36628]=r;c[36629]=r;c[36630]=r;c[36631]=r;c[36632]=b+32;c[36633]=b+96;c[36634]=b+160;c[36635]=b+224;c[36636]=b+288;c[36637]=b+352;c[36638]=b+416;c[36639]=b+480;c[36640]=b+544;c[36641]=b+608;c[36642]=b+672;c[36643]=b+736;c[36644]=b+800;c[36645]=b+864;c[36646]=b+928;c[36647]=b+992;r=b+1056|0;c[36648]=r;c[36652]=r;r=b+1312|0;c[36649]=r;c[36653]=r;r=b+1568|0;c[36650]=r;c[36654]=r;r=b+1824|0;c[36651]=r;c[36655]=r;r=b+2080|0;c[36656]=r;c[36660]=r;r=b+2336|0;c[36657]=r;c[36661]=r;r=b+2592|0;c[36658]=r;c[36662]=r;r=b+2848|0;c[36659]=r;c[36663]=r;r=b+3104|0;c[36664]=r;c[36668]=r;r=b+4128|0;c[36665]=r;c[36669]=r;r=b+5152|0;c[36666]=r;c[36670]=r;r=b+6176|0;c[36667]=r;c[36671]=r;r=b+7200|0;c[36672]=r;c[36676]=r;r=b+8224|0;c[36673]=r;c[36677]=r;r=b+9248|0;c[36674]=r;c[36678]=r;r=b+10272|0;c[36675]=r;c[36679]=r;r=2;a:while(1){s=1<<r;t=(r|0)==2;u=r+-2|0;v=(r|0)==3;q=0;do{w=(q|0)==0;p=0;do{m=146464+(u<<6)+(q<<5)+(p<<2)|0;n=(p&2147483647|0)==0;l=0;do{g=l<<2;o=l<<r;j=0-l|0;h=l&3;i=(h|0)==0?2:(h|0)==1&1;k=0-(l>>>2)|0;b:do if(t){e=0;do{b=d[2688+(e+g)>>0]|0;b=w?b:b+27|0;f=(c[m>>2]|0)+(e+o)|0;k=a[f>>0]|0;if(!(k<<24>>24==-1|(b|0)==(k&255|0))){e=39;break a}a[f>>0]=b;e=e+1|0}while((e|0)<(s|0))}else{if(n){f=0;while(1){do if((f|0)!=(j|0)){b=(f&3)+h|0;b=b>>>0>2?0:(b|0)==0?2:1;if(w){b=(f>>>2|0)==(k|0)?b:b+3|0;if(v){b=b+9|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b|12;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;i=a[e>>0]|0;if(!(i<<24>>24==-1|(b|0)==(i&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0;if((f|0)>=(s|0))break b}}f=0;do{do if((f|0)!=(j|0)){e=f>>>2;b=f&3;switch(p&2147483647|0){case 2:{b=(b|0)==0?2:(b|0)==1&1;break}case 1:{b=i;break}default:b=2}if(w){b=(e|0)==(k|0)?b:b+3|0;if(v){b=b+9|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b+12|0;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;h=a[e>>0]|0;if(!(h<<24>>24==-1|(b|0)==(h&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0}while((f|0)<(s|0))}while(0);l=l+1|0}while((l|0)<(s|0));p=p+1|0}while(p>>>0<4);p=0;do{m=146464+(u<<6)+(q<<5)+16+(p<<2)|0;n=(p&2147483647|0)==0;l=0;do{g=l<<2;o=l<<r;j=0-l|0;h=l&3;i=(h|0)==0?2:(h|0)==1&1;k=0-(l>>>2)|0;c:do if(t){e=0;do{b=d[2688+(e+g)>>0]|0;b=w?b:b+27|0;f=(c[m>>2]|0)+(e+o)|0;k=a[f>>0]|0;if(!(k<<24>>24==-1|(b|0)==(k&255|0))){e=39;break a}a[f>>0]=b;e=e+1|0}while((e|0)<(s|0))}else{if(n){f=0;while(1){do if((f|0)!=(j|0)){b=(f&3)+h|0;b=b>>>0>2?0:(b|0)==0?2:1;if(w){b=(f>>>2|0)==(k|0)?b:b+3|0;if(v){b=b+15|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b|12;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;i=a[e>>0]|0;if(!(i<<24>>24==-1|(b|0)==(i&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0;if((f|0)>=(s|0))break c}}f=0;do{do if((f|0)!=(j|0)){e=f>>>2;b=f&3;switch(p&2147483647|0){case 2:{b=(b|0)==0?2:(b|0)==1&1;break}case 1:{b=i;break}default:b=2}if(w){b=(e|0)==(k|0)?b:b+3|0;if(v){b=b+15|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b+12|0;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;h=a[e>>0]|0;if(!(h<<24>>24==-1|(b|0)==(h&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0}while((f|0)<(s|0))}while(0);l=l+1|0}while((l|0)<(s|0));p=p+1|0}while(p>>>0<4);q=q+1|0}while(q>>>0<2);r=r+1|0;if(r>>>0>=6){b=1;e=41;break}}if((e|0)==39)R(118181,116910,2105,118257);else if((e|0)==41)return b|0;return 0}function dh(){Gq(c[36616]|0);c[36616]=0;return}function eh(){var a=0;a=c[41845]|0;c[41845]=a+1;if((a|0)<=0?(bh(),!(ch()|0)):0){c[41845]=(c[41845]|0)-1;a=0;return a|0}a=vB(3228)|0;fh(a);return a|0}function fh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[b+84>>2]=0;c[b+168>>2]=0;c[b>>2]=12380;gh(b+172|0);c[b>>2]=12192;ih(b+548|0);k=b+1372|0;e=b+1376|0;f=b+1380|0;g=b+1384|0;h=b+1388|0;l=b+1396|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;rD(b+600|0,0,792)|0;hh(b+2144|0);c[b+3212>>2]=0;c[b+3216>>2]=0;c[b+3220>>2]=0;a[b+512>>0]=0;a[b+513>>0]=1;a[b+514>>0]=0;a[b+532>>0]=0;a[b+533>>0]=0;l=b+516|0;c[l>>2]=-1;c[l+4>>2]=-1;c[l+8>>2]=-1;c[l+12>>2]=-1;l=12208;j=c[l+4>>2]|0;d=b+536|0;c[d>>2]=c[l>>2];c[d+4>>2]=j;c[b+544>>2]=0;c[b+1368>>2]=0;d=c[k>>2]|0;c[k>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){Dc[c[(c[d>>2]|0)+8>>2]&255](d);sB(d)}c[e>>2]=0;d=c[f>>2]|0;c[f>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){Dc[c[(c[d>>2]|0)+8>>2]&255](d);sB(d)}c[g>>2]=0;d=c[h>>2]|0;c[h>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){Dc[c[(c[d>>2]|0)+8>>2]&255](d);sB(d)}c[b+1888>>2]=0;k=b+1892|0;c[k>>2]=6;c[b+1896>>2]=100;c[b+1900>>2]=6;c[b+1908>>2]=6;c[b+1904>>2]=100;d=c[b+1376>>2]|0;if(!d){d=c[b+1368>>2]|0;if(!d)d=6;else{d=c[d+8>>2]|0;i=14}}else{d=a[d+2>>0]|0;i=14}if((i|0)==14)if((d|0)>0)d=d+-1|0;else{l=b+2200|0;b=b+2204|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;a[b>>0]=1;c[l>>2]=-1;return}j=d+1|0;while(1){i=d*100|0;f=(i|0)/(j|0)|0;i=(i+100|0)/(j|0)|0;if((i|0)>=(f|0)){g=i-f|0;h=c[k>>2]|0;e=f;while(1){l=(d|0)>(h|0);d=l?h:d;a[b+1912+(e<<1)>>0]=d;a[b+1912+(e<<1)+1>>0]=l?100:(((e-f|0)*100|0)/(g|0)|0)&255;if((e|0)<(i|0))e=e+1|0;else break}}c[b+2116+(d<<2)>>2]=i;if((d|0)>0)d=d+-1|0;else break}l=b+2200|0;b=b+2204|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;a[b>>0]=1;c[l>>2]=-1;return}function gh(a){a=a|0;c[a>>2]=1;c[a+4>>2]=8;c[a+8>>2]=1;c[a+12>>2]=1;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=1;c[a+28>>2]=1;c[a+32>>2]=2;c[a+36>>2]=2;c[a+40>>2]=2;c[a+44>>2]=2;c[a+48>>2]=3;c[a+52>>2]=4;c[a+56>>2]=5;c[a+60>>2]=6;c[a+64>>2]=7;c[a+68>>2]=8;c[a+72>>2]=9;c[a+76>>2]=10;c[a+80>>2]=11;c[a+84>>2]=12;c[a+88>>2]=13;c[a+92>>2]=14;c[a+96>>2]=15;c[a+100>>2]=16;c[a+104>>2]=17;c[a+108>>2]=18;c[a+112>>2]=3;c[a+116>>2]=4;c[a+120>>2]=4;c[a+124>>2]=4;c[a+128>>2]=2;c[a+132>>2]=3;c[a+136>>2]=4;c[a+140>>2]=5;c[a+144>>2]=6;c[a+148>>2]=7;c[a+152>>2]=8;c[a+156>>2]=9;c[a+160>>2]=10;c[a+164>>2]=11;c[a+168>>2]=12;c[a+172>>2]=13;c[a+176>>2]=14;c[a+180>>2]=15;c[a+184>>2]=16;c[a+188>>2]=17;c[a+204>>2]=8;c[a+212>>2]=8;c[a+208>>2]=9;c[a+192>>2]=9;c[a+200>>2]=10;c[a+196>>2]=11;c[a+216>>2]=12;c[a+220>>2]=13;c[a+224>>2]=14;c[a+228>>2]=15;c[a+232>>2]=16;c[a+236>>2]=10;c[a+240>>2]=11;c[a+244>>2]=12;c[a+248>>2]=13;c[a+252>>2]=14;c[a+256>>2]=15;c[a+260>>2]=59;c[a+284>>2]=4;c[a+288>>2]=5;c[a+296>>2]=6;c[a+292>>2]=7;c[a+300>>2]=8;c[a+264>>2]=16;c[a+268>>2]=17;c[a+272>>2]=18;c[a+276>>2]=19;c[a+280>>2]=20;c[a+304>>2]=17;c[a+308>>2]=18;c[a+312>>2]=19;c[a+316>>2]=20;c[a+320>>2]=21;c[a+324>>2]=22;c[a+328>>2]=23;c[a+332>>2]=24;c[a+336>>2]=25;return}function hh(a){a=a|0;var b=0,d=0;b=a+8|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=30;c[a+4>>2]=30;return}function ih(b){b=b|0;var d=0;a[b>>0]=0;a[b+1>>0]=0;b=b+4|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function jh(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(h&1|0)R(118473,118390,105,118643);if(!((i|0)>0&(h|0)>0))return;m=0;do{l=z(m,g)|0;j=c+(z(m,d)|0)|0;k=f+(l<<1)|0;l=e+(l<<1)|0;n=0;while(1){o=(b[k>>1]|0)+(b[l>>1]|0)|0;a[j>>0]=(o|0)<-64?0:(o|0)>32703?-1:(o+64|0)>>>7&255;o=(b[k+2>>1]|0)+(b[l+2>>1]|0)|0;a[j+1>>0]=(o|0)<-64?0:(o|0)>32703?-1:(o+64|0)>>>7&255;n=n+2|0;if((n|0)>=(h|0))break;else{j=j+2|0;k=k+4|0;l=l+4|0}}m=m+1|0}while((m|0)!=(i|0));return}function kh(c,d,e,f,g,h){c=c|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;if(g&1|0)R(118473,118390,40,118612);if(!((h|0)>0&(g|0)>0))return;k=0;do{i=c+(z(k,d)|0)|0;j=e+((z(k,f)|0)<<1)|0;l=0;while(1){m=b[j>>1]|0;a[i>>0]=m<<16>>16<-32?0:m<<16>>16>16351?-1:((m&65535)+32|0)>>>6&255;m=b[j+2>>1]|0;a[i+1>>0]=m<<16>>16<-32?0:m<<16>>16>16351?-1:((m&65535)+32|0)>>>6&255;l=l+2|0;if((l|0)>=(g|0))break;else{i=i+2|0;j=j+4|0}}k=k+1|0}while((k|0)!=(h|0));return}function lh(c,d,e,f,g,h,i,j,k){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;if((k|0)<=0)R(118380,118390,60,118583);p=1<<k+-1;if(!((h|0)>0&(g|0)>0))return;n=0;do{l=c+(z(n,d)|0)|0;m=e+((z(n,f)|0)<<1)|0;o=0;while(1){q=((z(b[m>>1]|0,i)|0)+p>>k)+j|0;q=(q|0)<255?q:255;a[l>>0]=(q|0)>0?q:0;o=o+1|0;if((o|0)==(g|0))break;else{l=l+1|0;m=m+2|0}}n=n+1|0}while((n|0)!=(h|0));return}function mh(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((n|0)<=0)R(118380,118390,80,118552);r=k+1+m<<n;if((i|0)<=0)return;q=n+1|0;if((h|0)<=0)return;o=0;do{n=z(o,g)|0;m=c+(z(o,d)|0)|0;k=f+(n<<1)|0;n=e+(n<<1)|0;p=0;while(1){s=z(b[n>>1]|0,j)|0;s=s+r+(z(b[k>>1]|0,l)|0)>>q;s=(s|0)<255?s:255;a[m>>0]=(s|0)>0?s:0;p=p+1|0;if((p|0)==(h|0))break;else{m=m+1|0;k=k+2|0;n=n+2|0}}o=o+1|0}while((o|0)!=(i|0));return}function nh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=15-i|0;p=1<<q+-1;if(g&1|0)R(118473,118390,238,118518);if((h|0)<=0)return;n=1<<i;o=n+65535|0;if((g|0)<=0)return;l=0;do{k=z(l,f)|0;i=a+((z(l,c)|0)<<1)|0;j=e+(k<<1)|0;k=d+(k<<1)|0;m=0;while(1){r=p+(b[k>>1]|0)+(b[j>>1]|0)>>q;b[i>>1]=(r|0)<0?0:((r|0)<(n|0)?r:o)&65535;r=p+(b[k+2>>1]|0)+(b[j+2>>1]|0)>>q;b[i+2>>1]=(r|0)<0?0:((r|0)<(n|0)?r:o)&65535;m=m+2|0;if((m|0)>=(g|0))break;else{i=i+4|0;j=j+4|0;k=k+4|0}}l=l+1|0}while((l|0)!=(h|0));return}function oh(a,c,d,e,f,g,h){a=a|0;c=c|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;o=14-h|0;n=(o|0)>0?1<<o+-1:0;if(f&1|0)R(118473,118390,172,118486);if((g|0)<=0)return;l=1<<h;m=l+65535|0;if((f|0)<=0)return;j=0;do{h=a+((z(j,c)|0)<<1)|0;i=d+((z(j,e)|0)<<1)|0;k=0;while(1){p=n+(b[i>>1]|0)>>o;b[h>>1]=(p|0)<0?0:((p|0)<(l|0)?p:m)&65535;p=n+(b[i+2>>1]|0)>>o;b[h+2>>1]=(p|0)<0?0:((p|0)<(l|0)?p:m)&65535;k=k+2|0;if((k|0)>=(f|0))break;else{h=h+4|0;i=i+4|0}}j=j+1|0}while((j|0)!=(g|0));return}function ph(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((j|0)<=0)R(118380,118390,193,118443);q=1<<j+-1;if((g|0)<=0)return;o=1<<k;p=o+65535|0;if((f|0)<=0)return;m=0;do{k=a+((z(m,c)|0)<<1)|0;l=d+((z(m,e)|0)<<1)|0;n=0;while(1){r=((z(b[l>>1]|0,h)|0)+q>>j)+i|0;b[k>>1]=(r|0)<0?0:((r|0)<(o|0)?r:p)&65535;n=n+1|0;if((n|0)==(f|0))break;else{k=k+2|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function qh(a,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;if((m|0)<=0)R(118380,118390,213,118411);s=j+1+l<<m;if((h|0)<=0)return;r=m+1|0;p=1<<n;q=p+65535|0;if((g|0)<=0)return;n=0;do{m=z(n,f)|0;l=a+((z(n,c)|0)<<1)|0;j=e+(m<<1)|0;m=d+(m<<1)|0;o=0;while(1){t=z(b[m>>1]|0,i)|0;t=t+s+(z(b[j>>1]|0,k)|0)>>r;b[l>>1]=(t|0)<0?0:((t|0)<(p|0)?t:q)&65535;o=o+1|0;if((o|0)==(g|0))break;else{l=l+2|0;j=j+2|0;m=m+2|0}}n=n+1|0}while((n|0)!=(h|0));return}function rh(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=e+(z(k,f)|0)|0;j=a+((z(k,c)|0)<<1)|0;l=0;while(1){b[j>>1]=(d[i>>0]|0)<<6;l=l+1|0;if((l|0)==(g|0))break;else{i=i+1|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function sh(a,c,e,f,g,h,i,j,k,l){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=oc;p=l+-8|0;r=h+3|0;q=z(g<<1,r)|0;s=oc;oc=oc+((1*q|0)+15&-16)|0;if((h|0)>-3){q=(g|0)>0;o=-1;while(1){a:do if(q){k=o+1|0;n=0;l=e+((z(o,f)|0)+-1)|0;while(1){switch(i|0){case 0:{l=l+1|0;m=d[l>>0]|0;break}case 1:{u=l+1|0;m=(z(d[l>>0]|0,-2)|0)+((d[u>>0]|0)*58|0)+((d[l+2>>0]|0)*10|0)-(d[l+3>>0]<<1)>>p&65535;l=u;break}case 2:{u=l+1|0;m=(z(d[l>>0]|0,-4)|0)+((d[u>>0]|0)*54|0)+(d[l+2>>0]<<4)-(d[l+3>>0]<<1)>>p&65535;l=u;break}case 3:{u=l+1|0;m=(z(d[l>>0]|0,-6)|0)+((d[u>>0]|0)*46|0)+((d[l+2>>0]|0)*28|0)-(d[l+3>>0]<<2)>>p&65535;l=u;break}case 4:{u=l+1|0;m=(z(d[l>>0]|0,-4)|0)-(d[l+3>>0]<<2)+(((d[l+2>>0]|0)+(d[u>>0]|0)|0)*36|0)>>p&65535;l=u;break}case 5:{u=l+1|0;m=(z(d[l>>0]|0,-4)|0)+((d[u>>0]|0)*28|0)+((d[l+2>>0]|0)*46|0)+(z(d[l+3>>0]|0,-6)|0)>>p&65535;l=u;break}case 6:{u=l+1|0;m=(z(d[l>>0]|0,-2)|0)+(d[u>>0]<<4)+((d[l+2>>0]|0)*54|0)-(d[l+3>>0]<<2)>>p&65535;l=u;break}default:{u=l+1|0;m=(z(d[l>>0]|0,-2)|0)+((d[u>>0]|0)*10|0)+((d[l+2>>0]|0)*58|0)-(d[l+3>>0]<<1)>>p&65535;l=u}}b[s+(k+(z(n,r)|0)<<1)>>1]=m;n=n+1|0;if((n|0)==(g|0))break a}}else k=o+1|0;while(0);if((o|0)>(h|0))break;else o=k}}o=(i|0)==0?p:6;if((g|0)<=0){oc=t;return}p=(h|0)>0;n=0;do{b:do if(p){m=0;k=s+((z(n,r)|0)<<1)|0;while(1){switch(j|0){case 0:{k=k+2|0;l=b[k>>1]|0;break}case 1:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+((b[u>>1]|0)*58|0)+((b[k+4>>1]|0)*10|0)-(b[k+6>>1]<<1)>>o&65535;k=u;break}case 2:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)+((b[u>>1]|0)*54|0)+(b[k+4>>1]<<4)-(b[k+6>>1]<<1)>>o&65535;k=u;break}case 3:{u=k+2|0;l=(z(b[k>>1]|0,-6)|0)+((b[u>>1]|0)*46|0)+((b[k+4>>1]|0)*28|0)-(b[k+6>>1]<<2)>>o&65535;k=u;break}case 4:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)-(b[k+6>>1]<<2)+(((b[k+4>>1]|0)+(b[u>>1]|0)|0)*36|0)>>o&65535;k=u;break}case 5:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)+((b[u>>1]|0)*28|0)+((b[k+4>>1]|0)*46|0)+(z(b[k+6>>1]|0,-6)|0)>>o&65535;k=u;break}case 6:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+(b[u>>1]<<4)+((b[k+4>>1]|0)*54|0)-(b[k+6>>1]<<2)>>o&65535;k=u;break}default:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+((b[u>>1]|0)*10|0)+((b[k+4>>1]|0)*58|0)-(b[k+6>>1]<<1)>>o&65535;k=u}}b[a+((z(m,c)|0)+n<<1)>>1]=l;m=m+1|0;if((m|0)==(h|0))break b}}while(0);n=n+1|0}while((n|0)!=(g|0));oc=t;return}function th(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((h|0)>0&(g|0)>0))return;l=0;do{i=e+(z(l,f)|0)|0;j=a+((z(l,c)|0)<<1)|0;k=0;while(1){o=(d[i+1>>0]|0)<<6&65535;n=(d[i+2>>0]|0)<<6&65535;m=(d[i+3>>0]|0)<<6&65535;b[j>>1]=(d[i>>0]|0)<<6;b[j+2>>1]=o;b[j+4>>1]=n;b[j+6>>1]=m;k=k+4|0;if((k|0)>=(g|0))break;else{i=i+4|0;j=j+8|0}}l=l+1|0}while((l|0)!=(h|0));return}function uh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+3|0;p=i+6|0;if((o|0)>-3){if((h|0)<=0)return;k=-3;do{l=0;m=j+(k+3<<1)|0;n=f+(z(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((z(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;g=(b[m>>1]<<2)-(b[o>>1]|0)+(z(b[o+4>>1]|0,-10)|0)|0;g=g+((b[o+6>>1]|0)*58|0)+((b[o+8>>1]|0)*17|0)+(z(b[o+10>>1]|0,-5)|0)|0;b[l>>1]=g+(e[o+12>>1]|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function vh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+4|0;p=i+7|0;if((o|0)>-3){if((h|0)<=0)return;k=-3;do{l=0;m=j+(k+3<<1)|0;n=f+(z(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((z(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;b[l>>1]=(b[m>>1]<<2)-(b[o>>1]|0)+(((b[o+8>>1]|0)+(b[o+6>>1]|0)|0)*40|0)+(b[o+12>>1]<<2)-(e[o+14>>1]|0)+(z((b[o+10>>1]|0)+(b[o+4>>1]|0)|0,-11)|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function wh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+4|0;p=i+6|0;if((o|0)>-2){if((h|0)<=0)return;k=-2;do{l=0;m=j+(k+2<<1)|0;n=f+(z(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((z(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;g=(z(b[m>>1]|0,-5)|0)+(b[o>>1]|0)|0;g=g+((b[o+4>>1]|0)*17|0)+((b[o+6>>1]|0)*58|0)+(z(b[o+8>>1]|0,-10)|0)|0;b[l>>1]=g+(b[o+10>>1]<<2)-(e[o+12>>1]|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function xh(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(z(m,f)|0)+-3|0;while(1){n=l;l=l+1|0;o=((d[l>>0]|0)<<2)-(d[n>>0]|0)+(z(d[n+2>>0]|0,-10)|0)|0;o=o+((d[n+3>>0]|0)*58|0)+((d[n+4>>0]|0)*17|0)+(z(d[n+5>>0]|0,-5)|0)|0;b[k>>1]=o+(d[n+6>>0]|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function yh(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;Qi(a,b,c,d,e,f,g,1,1,8);return}function zh(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;Qi(a,b,c,d,e,f,g,1,2,8);return}function Ah(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;Qi(a,b,c,d,e,f,g,1,3,8);return}function Bh(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(z(m,f)|0)+-3|0;while(1){n=l;l=l+1|0;b[k>>1]=((d[l>>0]|0)<<2)-(d[n>>0]|0)+(((d[n+4>>0]|0)+(d[n+3>>0]|0)|0)*40|0)+((d[n+6>>0]|0)<<2)-(d[n+7>>0]|0)+(z((d[n+5>>0]|0)+(d[n+2>>0]|0)|0,-11)|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Ch(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;Qi(a,b,c,d,e,f,g,2,1,8);return}function Dh(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;Qi(a,b,c,d,e,f,g,2,2,8);return}function Eh(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;Qi(a,b,c,d,e,f,g,2,3,8);return}function Fh(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(z(m,f)|0)+-2|0;while(1){n=l;l=l+1|0;o=(z(d[l>>0]|0,-5)|0)+(d[n>>0]|0)|0;o=o+((d[n+2>>0]|0)*17|0)+((d[n+3>>0]|0)*58|0)+(z(d[n+4>>0]|0,-10)|0)|0;b[k>>1]=o+((d[n+5>>0]|0)<<2)-(d[n+6>>0]|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Gh(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;Qi(a,b,c,d,e,f,g,3,1,8);return}function Hh(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;Qi(a,b,c,d,e,f,g,3,2,8);return}function Ih(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;Qi(a,b,c,d,e,f,g,3,3,8);return}function Jh(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;m=14-l|0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=d+((z(k,f)|0)<<1)|0;j=a+((z(k,c)|0)<<1)|0;l=0;while(1){b[j>>1]=(e[i>>1]|0)<<m;l=l+1|0;if((l|0)==(g|0))break;else{i=i+2|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function Kh(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=oc;p=l+-8|0;r=h+3|0;q=z(g<<1,r)|0;s=oc;oc=oc+((1*q|0)+15&-16)|0;if((h|0)>-3){q=(g|0)>0;o=-1;while(1){a:do if(q){k=o+1|0;n=0;l=d+((z(o,f)|0)+-1<<1)|0;while(1){switch(i|0){case 0:{l=l+2|0;m=b[l>>1]|0;break}case 1:{u=l+2|0;m=(z(e[l>>1]|0,-2)|0)+((e[u>>1]|0)*58|0)+((e[l+4>>1]|0)*10|0)-(e[l+6>>1]<<1)>>p&65535;l=u;break}case 2:{u=l+2|0;m=(z(e[l>>1]|0,-4)|0)+((e[u>>1]|0)*54|0)+(e[l+4>>1]<<4)-(e[l+6>>1]<<1)>>p&65535;l=u;break}case 3:{u=l+2|0;m=(z(e[l>>1]|0,-6)|0)+((e[u>>1]|0)*46|0)+((e[l+4>>1]|0)*28|0)-(e[l+6>>1]<<2)>>p&65535;l=u;break}case 4:{u=l+2|0;m=(z(e[l>>1]|0,-4)|0)-(e[l+6>>1]<<2)+(((e[l+4>>1]|0)+(e[u>>1]|0)|0)*36|0)>>p&65535;l=u;break}case 5:{u=l+2|0;m=(z(e[l>>1]|0,-4)|0)+((e[u>>1]|0)*28|0)+((e[l+4>>1]|0)*46|0)+(z(e[l+6>>1]|0,-6)|0)>>p&65535;l=u;break}case 6:{u=l+2|0;m=(z(e[l>>1]|0,-2)|0)+(e[u>>1]<<4)+((e[l+4>>1]|0)*54|0)-(e[l+6>>1]<<2)>>p&65535;l=u;break}default:{u=l+2|0;m=(z(e[l>>1]|0,-2)|0)+((e[u>>1]|0)*10|0)+((e[l+4>>1]|0)*58|0)-(e[l+6>>1]<<1)>>p&65535;l=u}}b[s+(k+(z(n,r)|0)<<1)>>1]=m;n=n+1|0;if((n|0)==(g|0))break a}}else k=o+1|0;while(0);if((o|0)>(h|0))break;else o=k}}o=(i|0)==0?p:6;if((g|0)<=0){oc=t;return}p=(h|0)>0;n=0;do{b:do if(p){m=0;k=s+((z(n,r)|0)<<1)|0;while(1){switch(j|0){case 0:{k=k+2|0;l=b[k>>1]|0;break}case 1:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+((b[u>>1]|0)*58|0)+((b[k+4>>1]|0)*10|0)-(b[k+6>>1]<<1)>>o&65535;k=u;break}case 2:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)+((b[u>>1]|0)*54|0)+(b[k+4>>1]<<4)-(b[k+6>>1]<<1)>>o&65535;k=u;break}case 3:{u=k+2|0;l=(z(b[k>>1]|0,-6)|0)+((b[u>>1]|0)*46|0)+((b[k+4>>1]|0)*28|0)-(b[k+6>>1]<<2)>>o&65535;k=u;break}case 4:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)-(b[k+6>>1]<<2)+(((b[k+4>>1]|0)+(b[u>>1]|0)|0)*36|0)>>o&65535;k=u;break}case 5:{u=k+2|0;l=(z(b[k>>1]|0,-4)|0)+((b[u>>1]|0)*28|0)+((b[k+4>>1]|0)*46|0)+(z(b[k+6>>1]|0,-6)|0)>>o&65535;k=u;break}case 6:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+(b[u>>1]<<4)+((b[k+4>>1]|0)*54|0)-(b[k+6>>1]<<2)>>o&65535;k=u;break}default:{u=k+2|0;l=(z(b[k>>1]|0,-2)|0)+((b[u>>1]|0)*10|0)+((b[k+4>>1]|0)*58|0)-(b[k+6>>1]<<1)>>o&65535;k=u}}b[a+((z(m,c)|0)+n<<1)>>1]=l;m=m+1|0;if((m|0)==(h|0))break b}}while(0);n=n+1|0}while((n|0)!=(g|0));oc=t;return}function Lh(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;m=14-j|0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=a+((z(k,c)|0)<<1)|0;j=d+((z(k,f)|0)<<1)|0;l=0;while(1){b[i>>1]=(e[j>>1]|0)<<m;l=l+1|0;if((l|0)==(g|0))break;else{i=i+2|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function Mh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+3|0;o=g+6|0;n=i+-8|0;if((m|0)>-3){if((f|0)<=0)return;i=-3;do{j=0;k=h+(i+3<<1)|0;l=d+((z(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((z(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;e=(b[k>>1]<<2)-(b[m>>1]|0)+(z(b[m+4>>1]|0,-10)|0)|0;e=e+((b[m+6>>1]|0)*58|0)+((b[m+8>>1]|0)*17|0)+(z(b[m+10>>1]|0,-5)|0)|0;b[j>>1]=e+(b[m+12>>1]|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Nh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+4|0;o=g+7|0;n=i+-8|0;if((m|0)>-3){if((f|0)<=0)return;i=-3;do{j=0;k=h+(i+3<<1)|0;l=d+((z(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((z(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;b[j>>1]=(b[k>>1]<<2)-(b[m>>1]|0)+(((b[m+8>>1]|0)+(b[m+6>>1]|0)|0)*40|0)+(b[m+12>>1]<<2)-(b[m+14>>1]|0)+(z((b[m+10>>1]|0)+(b[m+4>>1]|0)|0,-11)|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Oh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+4|0;o=g+6|0;n=i+-8|0;if((m|0)>-2){if((f|0)<=0)return;i=-2;do{j=0;k=h+(i+2<<1)|0;l=d+((z(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((z(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;e=(z(b[k>>1]|0,-5)|0)+(b[m>>1]|0)|0;e=e+((b[m+4>>1]|0)*17|0)+((b[m+6>>1]|0)*58|0)+(z(b[m+8>>1]|0,-10)|0)|0;b[j>>1]=e+(b[m+10>>1]<<2)-(b[m+12>>1]|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Ph(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((z(m,f)|0)<<1)+-6|0;while(1){o=l;l=l+2|0;p=((e[l>>1]|0)<<2)-(e[o>>1]|0)+(z(e[o+4>>1]|0,-10)|0)|0;p=p+((e[o+6>>1]|0)*58|0)+((e[o+8>>1]|0)*17|0)+(z(e[o+10>>1]|0,-5)|0)|0;b[k>>1]=p+(e[o+12>>1]|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Qh(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;Pi(a,b,c,d,e,f,g,1,1,h);return}function Rh(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;Pi(a,b,c,d,e,f,g,1,2,h);return}function Sh(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;Pi(a,b,c,d,e,f,g,1,3,h);return}function Th(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((z(m,f)|0)<<1)+-6|0;while(1){o=l;l=l+2|0;b[k>>1]=((e[l>>1]|0)<<2)-(e[o>>1]|0)+(((e[o+8>>1]|0)+(e[o+6>>1]|0)|0)*40|0)+((e[o+12>>1]|0)<<2)-(e[o+14>>1]|0)+(z((e[o+10>>1]|0)+(e[o+4>>1]|0)|0,-11)|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Uh(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;Pi(a,b,c,d,e,f,g,2,1,h);return}function Vh(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;Pi(a,b,c,d,e,f,g,2,2,h);return}function Wh(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;Pi(a,b,c,d,e,f,g,2,3,h);return}function Xh(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((z(m,f)|0)<<1)+-4|0;while(1){o=l;l=l+2|0;p=(z(e[l>>1]|0,-5)|0)+(e[o>>1]|0)|0;p=p+((e[o+4>>1]|0)*17|0)+((e[o+6>>1]|0)*58|0)+(z(e[o+8>>1]|0,-10)|0)|0;b[k>>1]=p+((e[o+10>>1]|0)<<2)-(e[o+12>>1]|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((z(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Yh(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;Pi(a,b,c,d,e,f,g,3,1,h);return}function Zh(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;Pi(a,b,c,d,e,f,g,3,2,h);return}function _h(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;Pi(a,b,c,d,e,f,g,3,3,h);return}function $h(a,b,c){a=a|0;b=b|0;c=c|0;R(127700,118309,51,118354)}function ai(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f+5|0;l=1<<f;if((f|0)==31)return;j=0;do{m=j<<f;n=z(j,g)|0;h=0;i=0;do{i=((b[e+(h+m<<1)>>1]<<k)+2048>>12)+i|0;o=c+(h+n)|0;p=i+(d[o>>0]|0)|0;p=(p|0)<255?p:255;a[o>>0]=(p|0)>0?p:0;h=h+1|0}while((h|0)<(l|0));j=j+1|0}while((j|0)<(l|0));return}function bi(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f+5|0;l=1<<f;if((f|0)==31)return;j=0;do{h=0;i=0;do{i=((b[e+((h<<f)+j<<1)>>1]<<k)+2048>>12)+i|0;m=c+((z(h,g)|0)+j)|0;n=i+(d[m>>0]|0)|0;n=(n|0)<255?n:255;a[m>>0]=(n|0)>0?n:0;h=h+1|0}while((h|0)<(l|0));j=j+1|0}while((j|0)<(l|0));return}function ci(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)<=0)return;g=0;do{h=z(g,e)|0;f=0;do{i=f+h|0;c[a+(i<<2)>>2]=b[d+(i<<1)>>1];f=f+1|0}while((f|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function di(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)<=0)return;g=0;do{i=z(g,e)|0;f=0;h=0;do{j=h+i|0;f=f+(b[d+(j<<1)>>1]|0)|0;c[a+(j<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function ei(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)<=0)return;g=0;do{f=0;h=0;do{i=(z(h,e)|0)+g|0;f=f+(b[d+(i<<1)>>1]|0)|0;c[a+(i<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function fi(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=oc;h=oc=oc+31&-32;oc=oc+32|0;g=b[e>>1]|0;j=b[e+8>>1]|0;l=j*74|0;k=b[e+16>>1]|0;m=b[e+24>>1]|0;n=(m*55|0)+((k*84|0)+(l+(g*29|0)))|0;b[h>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;l=(z(m,-84)|0)+((z(k,-29)|0)+(l+(g*55|0)))|0;b[h+8>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;l=(m*74|0)+((z(k,-74)|0)+(g*74|0))|0;b[h+16>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;g=(z(m,-29)|0)+((k*55|0)+((z(j,-74)|0)+(g*84|0)))|0;b[h+24>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+2>>1]|0;j=b[e+10>>1]|0;k=j*74|0;m=b[e+18>>1]|0;l=b[e+26>>1]|0;n=(l*55|0)+((m*84|0)+(k+(g*29|0)))|0;b[h+2>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;k=(z(l,-84)|0)+((z(m,-29)|0)+(k+(g*55|0)))|0;b[h+10>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;k=(l*74|0)+((z(m,-74)|0)+(g*74|0))|0;b[h+18>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;g=(z(l,-29)|0)+((m*55|0)+((z(j,-74)|0)+(g*84|0)))|0;b[h+26>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+4>>1]|0;j=b[e+12>>1]|0;m=j*74|0;l=b[e+20>>1]|0;k=b[e+28>>1]|0;n=(k*55|0)+((l*84|0)+(m+(g*29|0)))|0;b[h+4>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;m=(z(k,-84)|0)+((z(l,-29)|0)+(m+(g*55|0)))|0;b[h+12>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(k*74|0)+((z(l,-74)|0)+(g*74|0))|0;b[h+20>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;g=(z(k,-29)|0)+((l*55|0)+((z(j,-74)|0)+(g*84|0)))|0;b[h+28>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+6>>1]|0;j=b[e+14>>1]|0;l=j*74|0;k=b[e+22>>1]|0;e=b[e+30>>1]|0;m=(e*55|0)+((k*84|0)+(l+(g*29|0)))|0;b[h+6>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;l=(z(e,-84)|0)+((z(k,-29)|0)+(l+(g*55|0)))|0;b[h+14>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;l=(e*74|0)+((z(k,-74)|0)+(g*74|0))|0;b[h+22>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;g=(z(e,-29)|0)+((k*55|0)+((z(j,-74)|0)+(g*84|0)))|0;b[h+30>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;if((f|0)==1){e=0;g=a[c+2>>0]|0;do{n=z(e,f)|0;m=b[h+(e<<3)>>1]|0;l=b[h+(e<<3)+2>>1]|0;p=l*74|0;k=b[h+(e<<3)+4>>1]|0;j=b[h+(e<<3)+6>>1]|0;q=(j*55|0)+((k*84|0)+(p+(m*29|0)))|0;o=c+n|0;q=((q|0)<-134219776?-32768:(q|0)>134215679?32767:q+2048>>12)+(d[o>>0]|0)|0;q=(q|0)<255?q:255;a[o>>0]=(q|0)>0?q:0;p=(z(j,-84)|0)+((z(k,-29)|0)+(p+(m*55|0)))|0;o=c+(n+1)|0;p=((p|0)<-134219776?-32768:(p|0)>134215679?32767:p+2048>>12)+(d[o>>0]|0)|0;p=(p|0)<255?p:255;a[o>>0]=(p|0)>0?p:0;o=(j*74|0)+((z(k,-74)|0)+(m*74|0))|0;o=((o|0)<-134219776?-32768:(o|0)>134215679?32767:o+2048>>12)+(g&255)|0;o=(o|0)<255?o:255;a[c+(n+2)>>0]=(o|0)>0?o:0;m=(z(j,-29)|0)+((k*55|0)+((z(l,-74)|0)+(m*84|0)))|0;n=c+(n+3)|0;m=((m|0)<-134219776?-32768:(m|0)>134215679?32767:m+2048>>12)+(d[n>>0]|0)|0;m=(m|0)<255?m:255;g=((m|0)>0?m:0)&255;a[n>>0]=g;e=e+1|0}while((e|0)!=4);oc=i;return}else{e=0;do{q=z(e,f)|0;p=b[h+(e<<3)>>1]|0;o=b[h+(e<<3)+2>>1]|0;l=o*74|0;n=b[h+(e<<3)+4>>1]|0;m=b[h+(e<<3)+6>>1]|0;j=(m*55|0)+((n*84|0)+(l+(p*29|0)))|0;k=c+q|0;j=((j|0)<-134219776?-32768:(j|0)>134215679?32767:j+2048>>12)+(d[k>>0]|0)|0;j=(j|0)<255?j:255;a[k>>0]=(j|0)>0?j:0;l=(z(m,-84)|0)+((z(n,-29)|0)+(l+(p*55|0)))|0;k=c+(q+1)|0;l=((l|0)<-134219776?-32768:(l|0)>134215679?32767:l+2048>>12)+(d[k>>0]|0)|0;l=(l|0)<255?l:255;a[k>>0]=(l|0)>0?l:0;k=(m*74|0)+((z(n,-74)|0)+(p*74|0))|0;l=c+(q+2)|0;k=((k|0)<-134219776?-32768:(k|0)>134215679?32767:k+2048>>12)+(d[l>>0]|0)|0;k=(k|0)<255?k:255;a[l>>0]=(k|0)>0?k:0;p=(z(m,-29)|0)+((n*55|0)+((z(o,-74)|0)+(p*84|0)))|0;q=c+(q+3)|0;p=((p|0)<-134219776?-32768:(p|0)>134215679?32767:p+2048>>12)+(d[q>>0]|0)|0;p=(p|0)<255?p:255;a[q>>0]=(p|0)>0?p:0;e=e+1|0}while((e|0)!=4);oc=i;return}}function gi(a,b,c){a=a|0;b=b|0;c=c|0;Oi(a,c,4,b,8);return}function hi(a,b,c){a=a|0;b=b|0;c=c|0;Oi(a,c,8,b,8);return}function ii(a,b,c){a=a|0;b=b|0;c=c|0;Oi(a,c,16,b,8);return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;Oi(a,c,32,b,8);return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;R(127700,118309,68,118327)}function li(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=oc;j=oc=oc+31&-32;oc=oc+32|0;k=20-f|0;i=b[c>>1]|0;g=b[c+8>>1]|0;m=g*74|0;h=b[c+16>>1]|0;n=b[c+24>>1]|0;o=(n*55|0)+((h*84|0)+(m+(i*29|0)))|0;b[j>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;m=(z(n,-84)|0)+((z(h,-29)|0)+(m+(i*55|0)))|0;b[j+8>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(n*74|0)+((z(h,-74)|0)+(i*74|0))|0;b[j+16>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;i=(z(n,-29)|0)+((h*55|0)+((z(g,-74)|0)+(i*84|0)))|0;b[j+24>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+2>>1]|0;g=b[c+10>>1]|0;h=g*74|0;n=b[c+18>>1]|0;m=b[c+26>>1]|0;o=(m*55|0)+((n*84|0)+(h+(i*29|0)))|0;b[j+2>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;h=(z(m,-84)|0)+((z(n,-29)|0)+(h+(i*55|0)))|0;b[j+10>>1]=(h|0)<-4194368?-32768:(h|0)>4194239?32767:(h+64|0)>>>7&65535;h=(m*74|0)+((z(n,-74)|0)+(i*74|0))|0;b[j+18>>1]=(h|0)<-4194368?-32768:(h|0)>4194239?32767:(h+64|0)>>>7&65535;i=(z(m,-29)|0)+((n*55|0)+((z(g,-74)|0)+(i*84|0)))|0;b[j+26>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+4>>1]|0;g=b[c+12>>1]|0;n=g*74|0;m=b[c+20>>1]|0;h=b[c+28>>1]|0;o=(h*55|0)+((m*84|0)+(n+(i*29|0)))|0;b[j+4>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;n=(z(h,-84)|0)+((z(m,-29)|0)+(n+(i*55|0)))|0;b[j+12>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;n=(h*74|0)+((z(m,-74)|0)+(i*74|0))|0;b[j+20>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;i=(z(h,-29)|0)+((m*55|0)+((z(g,-74)|0)+(i*84|0)))|0;b[j+28>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+6>>1]|0;g=b[c+14>>1]|0;m=g*74|0;h=b[c+22>>1]|0;c=b[c+30>>1]|0;n=(c*55|0)+((h*84|0)+(m+(i*29|0)))|0;b[j+6>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;m=(z(c,-84)|0)+((z(h,-29)|0)+(m+(i*55|0)))|0;b[j+14>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(c*74|0)+((z(h,-74)|0)+(i*74|0))|0;b[j+22>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;i=(z(c,-29)|0)+((h*55|0)+((z(g,-74)|0)+(i*84|0)))|0;b[j+30>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=1<<k+-1;g=1<<f;h=g+65535|0;if((d|0)==1){c=0;f=b[a+4>>1]|0;do{o=z(c,d)|0;n=b[j+(c<<3)>>1]|0;m=b[j+(c<<3)+2>>1]|0;s=m*74|0;p=b[j+(c<<3)+4>>1]|0;q=b[j+(c<<3)+6>>1]|0;t=(q*55|0)+((p*84|0)+(s+(n*29|0)))+i>>k;t=(t|0)<32767?t:32767;r=a+(o<<1)|0;t=((t|0)>-32768?t:-32768)+(e[r>>1]|0)|0;b[r>>1]=(t|0)<0?0:((t|0)<(g|0)?t:h)&65535;s=(z(q,-84)|0)+((z(p,-29)|0)+(s+(n*55|0)))+i>>k;s=(s|0)<32767?s:32767;r=a+(o+1<<1)|0;s=((s|0)>-32768?s:-32768)+(e[r>>1]|0)|0;b[r>>1]=(s|0)<0?0:((s|0)<(g|0)?s:h)&65535;r=(q*74|0)+((z(p,-74)|0)+(n*74|0))+i>>k;r=(r|0)<32767?r:32767;r=((r|0)>-32768?r:-32768)+(f&65535)|0;b[a+(o+2<<1)>>1]=(r|0)<0?0:((r|0)<(g|0)?r:h)&65535;n=(z(q,-29)|0)+((p*55|0)+((z(m,-74)|0)+(n*84|0)))+i>>k;n=(n|0)<32767?n:32767;o=a+(o+3<<1)|0;n=((n|0)>-32768?n:-32768)+(e[o>>1]|0)|0;f=(n|0)<0?0:((n|0)<(g|0)?n:h)&65535;b[o>>1]=f;c=c+1|0}while((c|0)!=4);oc=l;return}else{c=0;do{t=z(c,d)|0;s=b[j+(c<<3)>>1]|0;r=b[j+(c<<3)+2>>1]|0;o=r*74|0;q=b[j+(c<<3)+4>>1]|0;p=b[j+(c<<3)+6>>1]|0;m=(p*55|0)+((q*84|0)+(o+(s*29|0)))+i>>k;m=(m|0)<32767?m:32767;n=a+(t<<1)|0;m=((m|0)>-32768?m:-32768)+(e[n>>1]|0)|0;b[n>>1]=(m|0)<0?0:((m|0)<(g|0)?m:h)&65535;o=(z(p,-84)|0)+((z(q,-29)|0)+(o+(s*55|0)))+i>>k;o=(o|0)<32767?o:32767;n=a+(t+1<<1)|0;o=((o|0)>-32768?o:-32768)+(e[n>>1]|0)|0;b[n>>1]=(o|0)<0?0:((o|0)<(g|0)?o:h)&65535;n=(p*74|0)+((z(q,-74)|0)+(s*74|0))+i>>k;n=(n|0)<32767?n:32767;o=a+(t+2<<1)|0;n=((n|0)>-32768?n:-32768)+(e[o>>1]|0)|0;b[o>>1]=(n|0)<0?0:((n|0)<(g|0)?n:h)&65535;s=(z(p,-29)|0)+((q*55|0)+((z(r,-74)|0)+(s*84|0)))+i>>k;s=(s|0)<32767?s:32767;t=a+(t+3<<1)|0;s=((s|0)>-32768?s:-32768)+(e[t>>1]|0)|0;b[t>>1]=(s|0)<0?0:((s|0)<(g|0)?s:h)&65535;c=c+1|0}while((c|0)!=4);oc=l;return}}function mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ni(a,c,4,b,d);return}function ni(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ni(a,c,8,b,d);return}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ni(a,c,16,b,d);return}function pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ni(a,c,32,b,d);return}function qi(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=(c|0)/2|0;if((c|0)<=1)return;g=c+-1|0;d=0;do{h=z(d,c)|0;i=g+(z(g-d|0,c)|0)|0;e=0;do{l=a+(e+h<<1)|0;j=a+(i-e<<1)|0;k=b[l>>1]|0;b[l>>1]=b[j>>1]|0;b[j>>1]=k;e=e+1|0}while((e|0)!=(c|0));d=d+1|0}while((d|0)!=(f|0));return}function ri(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((g|0)<=0)return;j=1<<h;k=j+255|0;h=0;do{l=z(h,e)|0;m=z(h,g)|0;i=0;do{n=b+(i+l)|0;o=(c[f+(i+m<<2)>>2]|0)+(d[n>>0]|0)|0;a[n>>0]=(o|0)<0?0:((o|0)<(j|0)?o:k)&255;i=i+1|0}while((i|0)!=(g|0));h=h+1|0}while((h|0)!=(g|0));return}function si(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((g|0)<=0)return;j=1<<h;k=j+65535|0;h=0;do{l=z(h,d)|0;m=z(h,g)|0;i=0;do{n=a+(i+l<<1)|0;o=(c[f+(i+m<<2)>>2]|0)+(e[n>>1]|0)|0;b[n>>1]=(o|0)<0?0:((o|0)<(j|0)?o:k)&65535;i=i+1|0}while((i|0)!=(g|0));h=h+1|0}while((h|0)!=(g|0));return}function ti(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=1<<g+-1;if((e|0)<=0)return;j=0;do{l=z(j,e)|0;h=0;i=0;do{m=h+l|0;i=((b[d+(m<<1)>>1]<<f)+k>>g)+i|0;c[a+(m<<2)>>2]=i;h=h+1|0}while((h|0)!=(e|0));j=j+1|0}while((j|0)!=(e|0));return}function ui(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=1<<g+-1;if((e|0)<=0)return;j=0;do{h=0;i=0;do{l=(z(h,e)|0)+j|0;i=((b[d+(l<<1)>>1]<<f)+k>>g)+i|0;c[a+(l<<2)>>2]=i;h=h+1|0}while((h|0)!=(e|0));j=j+1|0}while((j|0)!=(e|0));return}function vi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=1<<g+-1;if((e|0)<=0)return;i=0;do{k=z(i,e)|0;h=0;do{l=h+k|0;c[a+(l<<2)>>2]=(b[d+(l<<1)>>1]<<f)+j>>g;h=h+1|0}while((h|0)!=(e|0));i=i+1|0}while((i|0)!=(e|0));return}function wi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=oc;j=oc=oc+31&-32;oc=oc+32|0;h=1<<f;f=h+65535|0;k=0-h|0;i=b[d>>1]|0;l=b[d+8>>1]|0;n=l*74|0;m=b[d+16>>1]|0;o=b[d+24>>1]|0;p=(o*55|0)+((m*84|0)+(n+(i*29|0)))+64>>7;b[j>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;n=(z(o,-84)|0)+((z(m,-29)|0)+(n+(i*55|0)))+64>>7;b[j+8>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;n=(o*74|0)+((z(m,-74)|0)+(i*74|0))+64>>7;b[j+16>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;i=(z(o,-29)|0)+((m*55|0)+((z(l,-74)|0)+(i*84|0)))+64>>7;b[j+24>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+2>>1]|0;l=b[d+10>>1]|0;m=l*74|0;o=b[d+18>>1]|0;n=b[d+26>>1]|0;p=(n*55|0)+((o*84|0)+(m+(i*29|0)))+64>>7;b[j+2>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;m=(z(n,-84)|0)+((z(o,-29)|0)+(m+(i*55|0)))+64>>7;b[j+10>>1]=(m|0)<(k|0)?k:(m|0)<(h|0)?m:f;m=(n*74|0)+((z(o,-74)|0)+(i*74|0))+64>>7;b[j+18>>1]=(m|0)<(k|0)?k:(m|0)<(h|0)?m:f;i=(z(n,-29)|0)+((o*55|0)+((z(l,-74)|0)+(i*84|0)))+64>>7;b[j+26>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+4>>1]|0;l=b[d+12>>1]|0;o=l*74|0;n=b[d+20>>1]|0;m=b[d+28>>1]|0;p=(m*55|0)+((n*84|0)+(o+(i*29|0)))+64>>7;b[j+4>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;o=(z(m,-84)|0)+((z(n,-29)|0)+(o+(i*55|0)))+64>>7;b[j+12>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;o=(m*74|0)+((z(n,-74)|0)+(i*74|0))+64>>7;b[j+20>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;i=(z(m,-29)|0)+((n*55|0)+((z(l,-74)|0)+(i*84|0)))+64>>7;b[j+28>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+6>>1]|0;l=b[d+14>>1]|0;n=l*74|0;m=b[d+22>>1]|0;d=b[d+30>>1]|0;o=(d*55|0)+((m*84|0)+(n+(i*29|0)))+64>>7;b[j+6>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;n=(z(d,-84)|0)+((z(m,-29)|0)+(n+(i*55|0)))+64>>7;b[j+14>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;n=(d*74|0)+((z(m,-74)|0)+(i*74|0))+64>>7;b[j+22>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;d=(z(d,-29)|0)+((m*55|0)+((z(l,-74)|0)+(i*84|0)))+64>>7;b[j+30>>1]=(d|0)<(k|0)?k:(d|0)<(h|0)?d:f;f=1<<e+-1;d=b[j>>1]|0;h=b[j+2>>1]|0;k=h*74|0;i=b[j+4>>1]|0;l=b[j+6>>1]|0;c[a>>2]=(l*55|0)+((i*84|0)+(k+(d*29|0)))+f>>e;c[a+4>>2]=(z(l,-84)|0)+((z(i,-29)|0)+(k+(d*55|0)))+f>>e;c[a+8>>2]=(l*74|0)+((z(i,-74)|0)+(d*74|0))+f>>e;c[a+12>>2]=(z(l,-29)|0)+((i*55|0)+((z(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+8>>1]|0;h=b[j+10>>1]|0;i=h*74|0;l=b[j+12>>1]|0;k=b[j+14>>1]|0;c[a+16>>2]=(k*55|0)+((l*84|0)+(i+(d*29|0)))+f>>e;c[a+20>>2]=(z(k,-84)|0)+((z(l,-29)|0)+(i+(d*55|0)))+f>>e;c[a+24>>2]=(k*74|0)+((z(l,-74)|0)+(d*74|0))+f>>e;c[a+28>>2]=(z(k,-29)|0)+((l*55|0)+((z(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+16>>1]|0;h=b[j+18>>1]|0;l=h*74|0;k=b[j+20>>1]|0;i=b[j+22>>1]|0;c[a+32>>2]=(i*55|0)+((k*84|0)+(l+(d*29|0)))+f>>e;c[a+36>>2]=(z(i,-84)|0)+((z(k,-29)|0)+(l+(d*55|0)))+f>>e;c[a+40>>2]=(i*74|0)+((z(k,-74)|0)+(d*74|0))+f>>e;c[a+44>>2]=(z(i,-29)|0)+((k*55|0)+((z(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+24>>1]|0;h=b[j+26>>1]|0;k=h*74|0;i=b[j+28>>1]|0;j=b[j+30>>1]|0;c[a+48>>2]=(j*55|0)+((i*84|0)+(k+(d*29|0)))+f>>e;c[a+52>>2]=(z(j,-84)|0)+((z(i,-29)|0)+(k+(d*55|0)))+f>>e;c[a+56>>2]=(j*74|0)+((z(i,-74)|0)+(d*74|0))+f>>e;c[a+60>>2]=(z(j,-29)|0)+((i*55|0)+((z(h,-74)|0)+(d*84|0)))+f>>e;oc=g;return}function xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mi(a,4,b,c,d);return}function yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mi(a,8,b,c,d);return}function zi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mi(a,16,b,c,d);return}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mi(a,32,b,c,d);return}function Bi(a,c,d){a=a|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;e=oc;g=oc=oc+31&-32;oc=oc+32|0;i=d<<1;j=d*3|0;h=b[c>>1]|0;f=b[c+(d<<1)>>1]|0;k=b[c+(i<<1)>>1]|0;l=k*74|0;m=b[c+(j<<1)>>1]|0;n=(m*84|0)+(l+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g>>1]=(n|0)>-32768?n:-32768;n=(z(m,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+8>>1]=(n|0)>-32768?n:-32768;k=(m*55|0)+((z(k,-74)|0)+((z(f,-29)|0)+(h*84|0)))+1>>1;k=(k|0)<32767?k:32767;b[g+16>>1]=(k|0)>-32768?k:-32768;h=(z(m,-29)|0)+(l+((z(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+24>>1]=(h|0)>-32768?h:-32768;h=b[c+2>>1]|0;f=b[c+(d+1<<1)>>1]|0;l=b[c+((i|1)<<1)>>1]|0;m=l*74|0;k=b[c+(j+1<<1)>>1]|0;n=(k*84|0)+(m+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g+2>>1]=(n|0)>-32768?n:-32768;n=(z(k,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+10>>1]=(n|0)>-32768?n:-32768;l=(k*55|0)+((z(l,-74)|0)+((z(f,-29)|0)+(h*84|0)))+1>>1;l=(l|0)<32767?l:32767;b[g+18>>1]=(l|0)>-32768?l:-32768;h=(z(k,-29)|0)+(m+((z(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+26>>1]=(h|0)>-32768?h:-32768;h=b[c+4>>1]|0;f=b[c+(d+2<<1)>>1]|0;m=b[c+(i+2<<1)>>1]|0;k=m*74|0;l=b[c+(j+2<<1)>>1]|0;n=(l*84|0)+(k+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g+4>>1]=(n|0)>-32768?n:-32768;n=(z(l,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+12>>1]=(n|0)>-32768?n:-32768;m=(l*55|0)+((z(m,-74)|0)+((z(f,-29)|0)+(h*84|0)))+1>>1;m=(m|0)<32767?m:32767;b[g+20>>1]=(m|0)>-32768?m:-32768;h=(z(l,-29)|0)+(k+((z(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+28>>1]=(h|0)>-32768?h:-32768;h=b[c+6>>1]|0;d=b[c+(d+3<<1)>>1]|0;i=b[c+(i+3<<1)>>1]|0;f=i*74|0;c=b[c+(j+3<<1)>>1]|0;j=(c*84|0)+(f+((d*55|0)+(h*29|0)))+1>>1;j=(j|0)<32767?j:32767;b[g+6>>1]=(j|0)>-32768?j:-32768;j=(z(c,-74)|0)+((d+h|0)*74|0)>>1;j=(j|0)<32767?j:32767;b[g+14>>1]=(j|0)>-32768?j:-32768;i=(c*55|0)+((z(i,-74)|0)+((z(d,-29)|0)+(h*84|0)))+1>>1;i=(i|0)<32767?i:32767;b[g+22>>1]=(i|0)>-32768?i:-32768;d=(z(c,-29)|0)+(f+((z(d,-84)|0)+(h*55|0)))+1>>1;d=(d|0)<32767?d:32767;b[g+30>>1]=(d|0)>-32768?d:-32768;d=b[g>>1]|0;c=b[g+2>>1]|0;h=b[g+4>>1]|0;f=h*74|0;i=b[g+6>>1]|0;b[a>>1]=((i*84|0)+(f+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+2>>1]=((z(i,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+4>>1]=((i*55|0)+((z(h,-74)|0)+((z(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+6>>1]=((z(i,-29)|0)+(f+((z(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+8>>1]|0;c=b[g+10>>1]|0;f=b[g+12>>1]|0;i=f*74|0;h=b[g+14>>1]|0;b[a+8>>1]=((h*84|0)+(i+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+10>>1]=((z(h,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+12>>1]=((h*55|0)+((z(f,-74)|0)+((z(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+14>>1]=((z(h,-29)|0)+(i+((z(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+16>>1]|0;c=b[g+18>>1]|0;i=b[g+20>>1]|0;h=i*74|0;f=b[g+22>>1]|0;b[a+16>>1]=((f*84|0)+(h+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+18>>1]=((z(f,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+20>>1]=((f*55|0)+((z(i,-74)|0)+((z(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+22>>1]=((z(f,-29)|0)+(h+((z(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+24>>1]|0;c=b[g+26>>1]|0;h=b[g+28>>1]|0;f=h*74|0;g=b[g+30>>1]|0;b[a+24>>1]=((g*84|0)+(f+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+26>>1]=((z(g,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+28>>1]=((g*55|0)+((z(h,-74)|0)+((z(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+30>>1]=((z(g,-29)|0)+(f+((z(c,-84)|0)+(d*55|0)))+128|0)>>>8;oc=e;return}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,4,b,c);return}function Di(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,8,b,c);return}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,16,b,c);return}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;Li(a,32,b,c);return}function Gi(a,c,d){a=a|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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=oc;s=oc=oc+31&-32;oc=oc+32|0;g=b[c>>1]|0;i=b[c+4>>1]|0;k=b[c+2>>1]|0;f=b[c+6>>1]|0;u=i+g<<16>>16;j=f+k<<16>>16;b[s>>1]=j+u;o=s+2|0;b[o>>1]=u-j;i=g-i<<16>>16;f=k-f<<16>>16;k=s+4|0;b[k>>1]=f+i;g=s+6|0;b[g>>1]=i-f;f=b[c+(d<<1)>>1]|0;i=b[c+(d+2<<1)>>1]|0;j=b[c+(d+1<<1)>>1]|0;u=b[c+(d+3<<1)>>1]|0;h=i+f<<16>>16;v=u+j<<16>>16;r=s+8|0;b[r>>1]=v+h;n=s+10|0;b[n>>1]=h-v;i=f-i<<16>>16;u=j-u<<16>>16;j=s+12|0;b[j>>1]=u+i;f=s+14|0;b[f>>1]=i-u;u=d<<1;i=b[c+(u<<1)>>1]|0;v=b[c+(u+2<<1)>>1]|0;h=b[c+((u|1)<<1)>>1]|0;u=b[c+(u+3<<1)>>1]|0;t=v+i<<16>>16;l=u+h<<16>>16;p=l+t|0;b[s+16>>1]=p;l=t-l|0;b[s+18>>1]=l;v=i-v<<16>>16;u=h-u<<16>>16;h=s+20|0;b[h>>1]=u+v;i=s+22|0;b[i>>1]=v-u;u=d*3|0;v=b[c+(u<<1)>>1]|0;t=b[c+(u+2<<1)>>1]|0;d=b[c+(u+1<<1)>>1]|0;u=b[c+(u+3<<1)>>1]|0;c=t+v<<16>>16;m=u+d<<16>>16;q=m+c|0;b[s+24>>1]=q;m=c-m|0;b[s+26>>1]=m;t=v-t<<16>>16;u=d-u<<16>>16;c=u+t|0;b[s+28>>1]=c;d=s+30|0;b[d>>1]=t-u;s=b[s>>1]|0;p=p<<16>>16;r=b[r>>1]|0;q=q<<16>>16;u=p+s<<16>>16;t=q+r<<16>>16;b[a>>1]=t+u;b[a+8>>1]=u-t;p=s-p<<16>>16;q=r-q<<16>>16;b[a+16>>1]=q+p;b[a+24>>1]=p-q;o=b[o>>1]|0;l=l<<16>>16;n=b[n>>1]|0;m=m<<16>>16;q=l+o<<16>>16;p=m+n<<16>>16;b[a+2>>1]=p+q;b[a+10>>1]=q-p;l=o-l<<16>>16;m=n-m<<16>>16;b[a+18>>1]=m+l;b[a+26>>1]=l-m;k=b[k>>1]|0;h=b[h>>1]|0;j=b[j>>1]|0;c=c<<16>>16;m=h+k<<16>>16;l=c+j<<16>>16;b[a+4>>1]=l+m;b[a+12>>1]=m-l;h=k-h<<16>>16;c=j-c<<16>>16;b[a+20>>1]=c+h;b[a+28>>1]=h-c;g=b[g>>1]|0;c=b[i>>1]|0;f=b[f>>1]|0;d=b[d>>1]|0;i=c+g<<16>>16;h=d+f<<16>>16;b[a+6>>1]=h+i;b[a+14>>1]=i-h;c=g-c<<16>>16;d=f-d<<16>>16;b[a+22>>1]=d+c;b[a+30>>1]=c-d;oc=e;return}function Hi(a,c,d){a=a|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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=oc;f=oc=oc+31&-32;oc=oc+128|0;e=0;do{i=z(e,d)|0;s=b[c+(i<<1)>>1]|0;l=b[c+(i+4<<1)>>1]|0;q=b[c+(i+1<<1)>>1]|0;k=b[c+(i+5<<1)>>1]|0;h=b[c+(i+2<<1)>>1]|0;j=b[c+(i+6<<1)>>1]|0;r=b[c+(i+3<<1)>>1]|0;i=b[c+(i+7<<1)>>1]|0;p=l+s<<16>>16;m=j+h<<16>>16;o=k+q<<16>>16;n=i+r<<16>>16;l=s-l<<16>>16;j=h-j<<16>>16;k=q-k<<16>>16;i=r-i<<16>>16;r=m+p<<16>>16;q=n+o<<16>>16;h=e<<3;b[f+(h<<1)>>1]=q+r;b[f+((h|1)<<1)>>1]=r-q;m=p-m<<16>>16;n=o-n<<16>>16;b[f+((h|2)<<1)>>1]=n+m;b[f+((h|3)<<1)>>1]=m-n;n=j+l<<16>>16;m=i+k<<16>>16;b[f+((h|4)<<1)>>1]=m+n;b[f+((h|5)<<1)>>1]=n-m;j=l-j<<16>>16;i=k-i<<16>>16;b[f+((h|6)<<1)>>1]=i+j;b[f+((h|7)<<1)>>1]=j-i;e=e+1|0}while((e|0)!=8);e=0;do{x=b[f+(e<<1)>>1]|0;j=e+32|0;n=b[f+(j<<1)>>1]|0;t=e+8|0;u=b[f+(t<<1)>>1]|0;m=e+40|0;o=b[f+(m<<1)>>1]|0;h=e+16|0;w=b[f+(h<<1)>>1]|0;p=e+48|0;q=b[f+(p<<1)>>1]|0;k=e+24|0;v=b[f+(k<<1)>>1]|0;s=e+56|0;r=b[f+(s<<1)>>1]|0;c=n+x<<16>>16;i=q+w<<16>>16;d=o+u<<16>>16;l=r+v<<16>>16;n=x-n<<16>>16;q=w-q<<16>>16;o=u-o<<16>>16;r=v-r<<16>>16;v=i+c<<16>>16;u=l+d<<16>>16;b[a+(e<<1)>>1]=u+v;b[a+(t<<1)>>1]=v-u;i=c-i<<16>>16;l=d-l<<16>>16;b[a+(h<<1)>>1]=l+i;b[a+(k<<1)>>1]=i-l;k=q+n<<16>>16;l=r+o<<16>>16;b[a+(j<<1)>>1]=l+k;b[a+(m<<1)>>1]=k-l;q=n-q<<16>>16;r=o-r<<16>>16;b[a+(p<<1)>>1]=r+q;b[a+(s<<1)>>1]=q-r;e=e+1|0}while((e|0)!=8);oc=g;return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,16,b,c);return}function Ji(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,32,b,c);return}function Ki(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;v=oc;g=oc=oc+31&-32;oc=oc+2176|0;u=g+128|0;t=(c|0)>0;if(!t){oc=v;return}p=c>>>1;q=(c|0)==1;r=c>>>2;s=(c|0)>7;o=0;j=g;l=g+64|0;while(1){h=z(o,f)|0;if(!q){i=l;g=0;do{k=d+(g+h<<1)|0;n=g+p|0;m=d+(n+h<<1)|0;b[i+(g<<1)>>1]=(e[m>>1]|0)+(e[k>>1]|0);b[i+(n<<1)>>1]=(e[k>>1]|0)-(e[m>>1]|0);g=g+1|0}while(g>>>0<p>>>0)}a:do if(s){m=r;n=p;k=j;j=l;while(1){i=j;l=k;if((m|0)<=0)break a;h=0;do{g=0;do{A=g+h|0;y=i+(A<<1)|0;w=A+m|0;x=i+(w<<1)|0;b[l+(A<<1)>>1]=(e[x>>1]|0)+(e[y>>1]|0);b[l+(w<<1)>>1]=(e[y>>1]|0)-(e[x>>1]|0);g=g+1|0}while((g|0)!=(m|0));h=h+n|0}while((h|0)<(c|0));if((m|0)>3){A=j;m=m>>1;n=n>>1;j=k;k=A}else break}}else k=l;while(0);h=k;i=z(o,c)|0;g=0;do{x=h+(g<<1)|0;A=g|1;y=h+(A<<1)|0;b[u+(g+i<<1)>>1]=(e[y>>1]|0)+(e[x>>1]|0);b[u+(A+i<<1)>>1]=(e[x>>1]|0)-(e[y>>1]|0);g=g+2|0}while((g|0)<(c|0));o=o+1|0;if((o|0)==(c|0))break;else l=k}if(!t){oc=v;return}p=c>>>1;q=(c|0)==1;r=c>>>2;s=(c|0)>7;o=0;while(1){if(!q){h=k;g=0;do{x=u+((z(g,c)|0)+o<<1)|0;A=g+p|0;y=u+((z(A,c)|0)+o<<1)|0;b[h+(g<<1)>>1]=(e[y>>1]|0)+(e[x>>1]|0);b[h+(A<<1)>>1]=(e[x>>1]|0)-(e[y>>1]|0);g=g+1|0}while(g>>>0<p>>>0)}b:do if(s){m=r;n=p;i=j;j=k;while(1){k=j;l=i;if((m|0)<=0)break b;h=0;do{g=0;do{w=g+h|0;x=k+(w<<1)|0;A=w+m|0;y=k+(A<<1)|0;b[l+(w<<1)>>1]=(e[y>>1]|0)+(e[x>>1]|0);b[l+(A<<1)>>1]=(e[x>>1]|0)-(e[y>>1]|0);g=g+1|0}while((g|0)!=(m|0));h=h+n|0}while((h|0)<(c|0));if((m|0)>3){A=j;m=m>>1;n=n>>1;j=i;i=A}else break}}else i=k;while(0);h=i;g=0;do{x=h+(g<<1)|0;A=g|1;y=h+(A<<1)|0;b[a+((z(g,c)|0)+o<<1)>>1]=(e[y>>1]|0)+(e[x>>1]|0);b[a+((z(A,c)|0)+o<<1)>>1]=(e[x>>1]|0)-(e[y>>1]|0);g=g+2|0}while((g|0)<(c|0));o=o+1|0;if((o|0)==(c|0))break;else k=i}oc=v;return}function Li(c,d,e,f){c=c|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=oc;r=oc=oc+31&-32;oc=oc+2048|0;if((d|0)>1){g=d;k=0;while(1)if(g>>>0>3){g=g>>>1;k=k+1|0}else break;g=d;h=0;while(1)if(g>>>0>3){g=g>>>1;h=h+1|0}else break;l=h+7|0;i=1<<k+-1;j=64<<h;g=d;h=0;while(1)if(g>>>0>3){g=g>>>1;h=h+1|0}else break;q=4-h|0;p=j;o=l}else{q=5;i=0;k=-1;p=32;o=6}m=(d|0)>0;if(!m){oc=s;return}g=0;do{l=0;do{n=l<<q;h=0;j=0;do{j=(z(b[e+((z(h,f)|0)+g<<1)>>1]|0,a[2704+(n<<5)+h>>0]|0)|0)+j|0;h=h+1|0}while((h|0)!=(d|0));b[r+((z(l,d)|0)+g<<1)>>1]=j+i>>k;l=l+1|0}while((l|0)!=(d|0));g=g+1|0}while((g|0)!=(d|0));if(!m){oc=s;return}j=0;do{l=z(j,d)|0;i=0;do{k=i<<q;g=0;h=0;do{h=(z(b[r+(g+l<<1)>>1]|0,a[2704+(k<<5)+g>>0]|0)|0)+h|0;g=g+1|0}while((g|0)!=(d|0));b[c+(i+l<<1)>>1]=h+p>>o;i=i+1|0}while((i|0)!=(d|0));j=j+1|0}while((j|0)!=(d|0));oc=s;return}function Mi(d,e,f,g,h){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;u=oc;t=oc=oc+31&-32;oc=oc+2048|0;if((e|0)>1){i=e;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;r=4-j|0}else r=5;s=1<<g+-1;n=1<<h;o=n+65535|0;p=0-n|0;q=(e|0)>0;if(!q){oc=u;return}m=(h|0)==31?p&65535:0;l=0;do{j=e;while(1){i=j+-1|0;if(b[f+((z(i,e)|0)+l<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){k=0;do{j=0;h=0;do{h=(z(b[f+((z(j,e)|0)+l<<1)>>1]|0,a[2704+(j<<r<<5)+k>>0]|0)|0)+h|0;j=j+1|0}while((j|0)!=(i|0));h=h+64>>7;b[t+((z(k,e)|0)+l<<1)>>1]=(h|0)<(p|0)?p:(h|0)<(n|0)?h:o;k=k+1|0}while((k|0)!=(e|0))}else{i=0;do{b[t+((z(i,e)|0)+l<<1)>>1]=m;i=i+1|0}while((i|0)!=(e|0))}l=l+1|0}while((l|0)!=(e|0));if(!q){oc=u;return}m=s>>g;l=0;do{n=z(l,e)|0;j=e;while(1){i=j+-1|0;if(b[t+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){k=0;do{j=0;h=0;do{h=(z(b[t+(j+n<<1)>>1]|0,a[2704+(j<<r<<5)+k>>0]|0)|0)+h|0;j=j+1|0}while((j|0)!=(i|0));c[d+(k+n<<2)>>2]=h+s>>g;k=k+1|0}while((k|0)!=(e|0))}else{i=0;do{c[d+(i+n<<2)>>2]=m;i=i+1|0}while((i|0)!=(e|0))}l=l+1|0}while((l|0)!=(e|0));oc=u;return}function Ni(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=oc;r=oc=oc+31&-32;oc=oc+2048|0;s=20-h|0;t=1<<s+-1;if((f|0)>1){i=f;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;q=4-j|0}else q=5;n=(f|0)>0;if(!n){oc=u;return}m=0;do{j=f;while(1){i=j+-1|0;if(b[g+((z(i,f)|0)+m<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){l=0;do{j=0;k=0;do{k=(z(b[g+((z(j,f)|0)+m<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));b[r+((z(l,f)|0)+m<<1)>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{b[r+((z(i,f)|0)+m<<1)>>1]=0;i=i+1|0}while((i|0)!=(f|0))}m=m+1|0}while((m|0)!=(f|0));if(!n){oc=u;return}h=1<<h;o=h+65535|0;p=t>>s;g=0;do{n=z(g,f)|0;j=f;while(1){i=j+-1|0;if(b[r+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}m=z(g,d)|0;if((i|0)>0){l=0;do{j=0;k=0;do{k=(z(b[r+(j+n<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));j=c+(l+m<<1)|0;k=(k+t>>s)+(e[j>>1]|0)|0;b[j>>1]=(k|0)<0?0:((k|0)<(h|0)?k:o)&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{n=c+(i+m<<1)|0;l=p+(e[n>>1]|0)|0;b[n>>1]=(l|0)<0?0:((l|0)<(h|0)?l:o)&65535;i=i+1|0}while((i|0)!=(f|0))}g=g+1|0}while((g|0)!=(f|0));oc=u;return}function Oi(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=oc;r=oc=oc+31&-32;oc=oc+2048|0;s=20-h|0;t=1<<s+-1;if((f|0)>1){i=f;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;q=4-j|0}else q=5;n=(f|0)>0;if(!n){oc=u;return}m=0;do{j=f;while(1){i=j+-1|0;if(b[g+((z(i,f)|0)+m<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){l=0;do{j=0;k=0;do{k=(z(b[g+((z(j,f)|0)+m<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));b[r+((z(l,f)|0)+m<<1)>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{b[r+((z(i,f)|0)+m<<1)>>1]=0;i=i+1|0}while((i|0)!=(f|0))}m=m+1|0}while((m|0)!=(f|0));if(!n){oc=u;return}h=1<<h;o=h+255|0;p=t>>s;g=0;do{n=z(g,f)|0;j=f;while(1){i=j+-1|0;if(b[r+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}m=z(g,e)|0;if((i|0)>0){l=0;do{j=0;k=0;do{k=(z(b[r+(j+n<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));j=c+(l+m)|0;k=(k+t>>s)+(d[j>>0]|0)|0;a[j>>0]=(k|0)<0?0:((k|0)<(h|0)?k:o)&255;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{n=c+(i+m)|0;l=p+(d[n>>0]|0)|0;a[n>>0]=(l|0)<0?0:((l|0)<(h|0)?l:o)&255;i=i+1|0}while((i|0)!=(f|0))}g=g+1|0}while((g|0)!=(f|0));oc=u;return}function Pi(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;n=c[3728+(k<<2)>>2]|0;v=c[3728+(l<<2)>>2]|0;w=(c[3744+(l<<2)>>2]|0)+i|0;x=w+v|0;u=m+-8|0;switch(k|0){case 0:{m=0-v|0;if((w|0)>(m|0)?(r=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+((z(m,g)|0)<<1)+(r<<1)|0;while(1){b[o>>1]=b[p>>1]|0;n=n+1|0;if((n|0)==(h|0))break;else{o=o+(x<<1)|0;p=p+2|0}}m=m+1|0}while((m|0)!=(w|0));break}case 1:{m=0-v|0;if((w|0)>(m|0)?(s=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+((z(m,g)|0)<<1)+(s<<1)|0;while(1){t=p;p=p+2|0;r=(e[p>>1]<<2)-(e[t>>1]|0)+(z(e[t+4>>1]|0,-10)|0)|0;r=r+((e[t+6>>1]|0)*58|0)+((e[t+8>>1]|0)*17|0)+(z(e[t+10>>1]|0,-5)|0)|0;b[o>>1]=r+(e[t+12>>1]|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}case 2:{m=0-v|0;if((w|0)>(m|0)?(t=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+((z(m,g)|0)<<1)+(t<<1)|0;while(1){s=p;p=p+2|0;b[o>>1]=(e[p>>1]<<2)-(e[s>>1]|0)+(((e[s+8>>1]|0)+(e[s+6>>1]|0)|0)*40|0)+(e[s+12>>1]<<2)-(e[s+14>>1]|0)+(z((e[s+10>>1]|0)+(e[s+4>>1]|0)|0,-11)|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}case 3:{m=0-v|0;if((w|0)>(m|0)?(q=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+((z(m,g)|0)<<1)+(q<<1)|0;while(1){t=p;p=p+2|0;s=(z(e[p>>1]|0,-5)|0)+(e[t>>1]|0)|0;s=s+((e[t+4>>1]|0)*17|0)+((e[t+6>>1]|0)*58|0)+(z(e[t+8>>1]|0,-10)|0)|0;b[o>>1]=s+(e[t+10>>1]<<2)-(e[t+12>>1]|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}default:{}}q=(k|0)==0?u:6;switch(l|0){case 0:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){b[n>>1]=b[o>>1]|0;m=m+1|0;if((m|0)==(i|0))break;else{n=n+(d<<1)|0;o=o+2|0}}p=p+1|0}while((p|0)!=(h|0));return}case 1:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(b[o>>1]<<2)-(b[l>>1]|0)+(z(b[l+4>>1]|0,-10)|0)|0;k=k+((b[l+6>>1]|0)*58|0)+((b[l+8>>1]|0)*17|0)+(z(b[l+10>>1]|0,-5)|0)|0;b[n>>1]=k+(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 2:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;b[n>>1]=(b[o>>1]<<2)-(b[l>>1]|0)+(((b[l+8>>1]|0)+(b[l+6>>1]|0)|0)*40|0)+(b[l+12>>1]<<2)-(b[l+14>>1]|0)+(z((b[l+10>>1]|0)+(b[l+4>>1]|0)|0,-11)|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 3:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(z(b[o>>1]|0,-5)|0)+(b[l>>1]|0)|0;k=k+((b[l+4>>1]|0)*17|0)+((b[l+6>>1]|0)*58|0)+(z(b[l+8>>1]|0,-10)|0)|0;b[n>>1]=k+(b[l+10>>1]<<2)-(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}default:return}}function Qi(a,e,f,g,h,i,j,k,l,m){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;n=c[3728+(k<<2)>>2]|0;v=c[3728+(l<<2)>>2]|0;w=(c[3744+(l<<2)>>2]|0)+i|0;x=w+v|0;u=m+-8|0;switch(k|0){case 0:{m=0-v|0;if((w|0)>(m|0)?(r=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+(z(m,g)|0)+r|0;while(1){b[o>>1]=d[p>>0]|0;n=n+1|0;if((n|0)==(h|0))break;else{o=o+(x<<1)|0;p=p+1|0}}m=m+1|0}while((m|0)!=(w|0));break}case 1:{m=0-v|0;if((w|0)>(m|0)?(s=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+(z(m,g)|0)+s|0;while(1){t=p;p=p+1|0;r=(d[p>>0]<<2)-(d[t>>0]|0)+(z(d[t+2>>0]|0,-10)|0)|0;r=r+((d[t+3>>0]|0)*58|0)+((d[t+4>>0]|0)*17|0)+(z(d[t+5>>0]|0,-5)|0)|0;b[o>>1]=r+(d[t+6>>0]|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}case 2:{m=0-v|0;if((w|0)>(m|0)?(t=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+(z(m,g)|0)+t|0;while(1){s=p;p=p+1|0;b[o>>1]=(d[p>>0]<<2)-(d[s>>0]|0)+(((d[s+4>>0]|0)+(d[s+3>>0]|0)|0)*40|0)+(d[s+6>>0]<<2)-(d[s+7>>0]|0)+(z((d[s+5>>0]|0)+(d[s+2>>0]|0)|0,-11)|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}case 3:{m=0-v|0;if((w|0)>(m|0)?(q=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+v<<1)|0;p=f+(z(m,g)|0)+q|0;while(1){t=p;p=p+1|0;s=(z(d[p>>0]|0,-5)|0)+(d[t>>0]|0)|0;s=s+((d[t+2>>0]|0)*17|0)+((d[t+3>>0]|0)*58|0)+(z(d[t+4>>0]|0,-10)|0)|0;b[o>>1]=s+(d[t+5>>0]<<2)-(d[t+6>>0]|0)>>u;n=n+1|0;if((n|0)==(h|0))break;else o=o+(x<<1)|0}m=m+1|0}while((m|0)!=(w|0));break}default:{}}q=(k|0)==0?u:6;switch(l|0){case 0:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){b[n>>1]=b[o>>1]|0;m=m+1|0;if((m|0)==(i|0))break;else{n=n+(e<<1)|0;o=o+2|0}}p=p+1|0}while((p|0)!=(h|0));return}case 1:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(b[o>>1]<<2)-(b[l>>1]|0)+(z(b[l+4>>1]|0,-10)|0)|0;k=k+((b[l+6>>1]|0)*58|0)+((b[l+8>>1]|0)*17|0)+(z(b[l+10>>1]|0,-5)|0)|0;b[n>>1]=k+(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 2:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;b[n>>1]=(b[o>>1]<<2)-(b[l>>1]|0)+(((b[l+8>>1]|0)+(b[l+6>>1]|0)|0)*40|0)+(b[l+12>>1]<<2)-(b[l+14>>1]|0)+(z((b[l+10>>1]|0)+(b[l+4>>1]|0)|0,-11)|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 3:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((z(p,x)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(z(b[o>>1]|0,-5)|0)+(b[l>>1]|0)|0;k=k+((b[l+4>>1]|0)*17|0)+((b[l+6>>1]|0)*58|0)+(z(b[l+8>>1]|0,-10)|0)|0;b[n>>1]=k+(b[l+10>>1]<<2)-(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}default:return}}function Ri(a){a=a|0;return}function Si(a){a=a|0;hb()}function Ti(a){a=a|0;Ui(a);if(a|0)Dc[c[(c[a>>2]|0)+4>>2]&255](a);a=c[41845]|0;c[41845]=a-1;if((a|0)<1){c[41845]=(c[41845]|0)+1;a=12;return a|0}if((a|0)!=1){a=0;return a|0}dh();a=0;return a|0}function Ui(a){a=a|0;if((c[a+1888>>2]|0)<=0)return;Vi(a+1392|0);return}function Vi(b){b=b|0;var d=0,e=0,f=0,g=0;e=b+420|0;Nq(e)|0;a[b>>0]=1;Oq(e)|0;f=b+448|0;sD(f|0)|0;g=b+156|0;if((c[g>>2]|0)<=0){Pq(e)|0;ib(f|0)|0;return}d=0;do{mb(c[b+28+(d<<2)>>2]|0,0)|0;d=d+1|0}while((d|0)<(c[g>>2]|0));Pq(e)|0;ib(f|0)|0;return}function Wi(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=oc;j=oc=oc+31&-32;oc=oc+16|0;f=b+548|0;g=b+580|0;h=(c[g>>2]|0)==0;i=a[f>>0]|0;do if(h){if(i<<24>>24==0?(a[b+549>>0]|0)==0:0){k=8;break}if((c[b+3212>>2]|0)==(c[b+3216>>2]|0)){Xi(b+2144|0)|0;if(!d){k=0;oc=l;return k|0}c[d>>2]=c[b+2196>>2];k=0;oc=l;return k|0}else k=7}else k=7;while(0);if((k|0)==7?i<<24>>24==0:0)k=8;if((k|0)==8?!((a[b+549>>0]|0)!=0|h^1):0){if(!d){k=13;oc=l;return k|0}c[d>>2]=1;k=13;oc=l;return k|0}if(!(Yi(b+2144|0,0)|0)){if(!d){k=9;oc=l;return k|0}c[d>>2]=1;k=9;oc=l;return k|0}a[j>>0]=0;do if(c[g>>2]|0){f=Zi(f)|0;if(!f)R(118676,118680,1317,118692);else{e=_i(b,f)|0;a[j>>0]=1;k=23;break}}else{if(a[b+549>>0]|0?(c[b+3212>>2]|0)==(c[b+3216>>2]|0):0){if(!d){e=13;break}c[d>>2]=1;e=13;break}e=$i(b,j)|0;k=23}while(0);if((k|0)==23)if(d)c[d>>2]=(e|0)==0&(a[j>>0]&1)!=0&1;k=e;oc=l;return k|0}function Xi(a){a=a|0;var b=0,d=0;b=a+20|0;d=a+24|0;if((c[b>>2]|0)==(c[d>>2]|0)){d=0;return d|0}do ij(a);while((c[b>>2]|0)!=(c[d>>2]|0));a=1;return a|0}function Yi(b,d){b=b|0;d=d|0;var e=0,f=0;if(d){f=1;return f|0}e=c[b+8>>2]|0;d=(c[b+12>>2]|0)-e|0;f=d>>2;if(f>>>0<(c[b>>2]|0)>>>0){f=1;return f|0}if(!d){f=0;return f|0}d=0;while(1){b=c[e+(d<<2)>>2]|0;if((a[b+104>>0]|0)==0?(c[b+100>>2]|0)==0:0){d=1;b=8;break}d=d+1|0;if(d>>>0>=f>>>0){d=0;b=8;break}}if((b|0)==8)return d|0;return 0}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+32|0;e=c[b>>2]|0;if(!e){h=0;return h|0}f=a+16|0;g=c[f>>2]|0;h=a+28|0;i=c[h>>2]|0;d=c[(c[g+(i>>>10<<2)>>2]|0)+((i&1023)<<2)>>2]|0;c[b>>2]=e+-1;e=i+1|0;c[h>>2]=e;if(e>>>0>2047){xB(c[g>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+-1024}i=a+36|0;c[i>>2]=(c[i>>2]|0)-(c[d+24>>2]|0);i=d;return i|0}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;l=oc;h=oc=oc+31&-32;oc=oc+112|0;j=h+24|0;i=h;h=h+104|0;Yg(i,c[e+20>>2]|0,c[e+24>>2]|0);a[h>>0]=0;k=h+1|0;a[k>>0]=0;f=h+2|0;a[f>>0]=0;Kj(h,i);g=a[h>>0]|0;a[b+3208>>0]=g;a[b+3209>>0]=(g+-19&255)<2&1;a[b+3210>>0]=(g&-8)<<24>>24==16&1;if(a[k>>0]|0){lf(b+548|0,e);e=0;oc=l;return e|0}if((c[b+1908>>2]|0)<(d[f>>0]|0)){lf(b+548|0,e);e=0;oc=l;return e|0}if((g&255)<32){e=Lj(b,i,e,h)|0;oc=l;return e|0}switch(g<<24>>24){case 32:{k=Mj(b,i)|0;lf(b+548|0,e);e=k;oc=l;return e|0}case 33:{k=Nj(b,i)|0;lf(b+548|0,e);e=k;oc=l;return e|0}case 34:{k=Oj(b,i)|0;lf(b+548|0,e);e=k;oc=l;return e|0}case 40:case 39:{g=g<<24>>24==40;k=Pj(i,j,g,c[b+1376>>2]|0)|0;do if(!k){f=c[b+3216>>2]|0;if(!((c[b+3212>>2]|0)==(f|0)|g^1)){f=c[f+-4>>2]|0;i=f+456|0;g=c[i>>2]|0;if((g|0)==(c[f+460>>2]|0)){Rj(f+452|0,j);break}else{f=j;h=g+80|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));c[i>>2]=(c[i>>2]|0)+80;break}}}else{f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;break}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=k;break}}while(0);lf(b+548|0,e);e=k;oc=l;return e|0}case 36:{a[b+2207>>0]=1;lf(b+548|0,e);e=0;oc=l;return e|0}default:{lf(b+548|0,e);e=0;oc=l;return e|0}}return 0}function $i(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=oc;n=oc=oc+31&-32;oc=oc+16|0;a[d>>0]=0;o=b+3212|0;f=c[o>>2]|0;p=b+3216|0;l=c[p>>2]|0;g=l;e=f;if((f|0)==(l|0)){p=0;oc=q;return p|0}k=c[f>>2]|0;h=c[k+444>>2]|0;i=c[k+440>>2]|0;l=i;a:do if((h|0)!=(i|0)){i=h-i>>2;h=0;while(1){j=c[l+(h<<2)>>2]|0;h=h+1|0;if(!(c[j+40>>2]|0))break;if(h>>>0>=i>>>0)break a}if(j){if(a[j+36>>0]|0)Xi(b+2144|0)|0;a[d>>0]=1;e=aj(b,k,j)|0;if(!e){f=c[o>>2]|0;g=c[p>>2]|0;e=f;break}else{p=e;oc=q;return p|0}}}while(0);e=g-e|0;if(e>>2>>>0>1){k=c[f>>2]|0;l=c[k+444>>2]|0;if((l|0)!=(c[k+440>>2]|0)?(c[(c[l+-4>>2]|0)+40>>2]|0)==0:0)m=14}else m=14;if((m|0)==14){if(!e){p=0;oc=q;return p|0}l=c[f>>2]|0;m=c[l+444>>2]|0;if((m|0)!=(c[l+440>>2]|0)?(c[(c[m+-4>>2]|0)+40>>2]|0)==0:0){p=0;oc=q;return p|0}if((c[b+580>>2]|0)!=(((c[b+556>>2]|0)!=0)<<31>>31|0)){p=0;oc=q;return p|0}if((a[b+548>>0]|0)==0?(a[b+549>>0]|0)==0:0){p=0;oc=q;return p|0}}i=c[f>>2]|0;a[d>>0]=1;e=c[i>>2]|0;g=e+148|0;if((c[g>>2]|0)>0){f=e+332|0;e=0;do{De((c[f>>2]|0)+(e*80|0)|0,1);e=e+1|0}while((e|0)<(c[g>>2]|0));h=c[i>>2]|0}else h=e;g=h+112|0;e=c[g>>2]|0;f=(a[e+532>>0]|0)==0;if(!(c[(c[(c[b+2220>>2]|0)+112>>2]|0)+1888>>2]|0)){if(f){ej(h);e=c[g>>2]|0}if(!(a[e+533>>0]|0))fj(h)}else{if(f){bj(i);f=3;e=c[g>>2]|0}else f=1;if(!(a[e+533>>0]|0))cj(i,f)|0;dj(h)}g=i+452|0;h=i+456|0;e=c[g>>2]|0;b:do if((c[h>>2]|0)==(e|0))h=0;else{f=0;while(1){e=gj(e+(f*80|0)|0,c[i>>2]|0)|0;f=f+1|0;if(e|0){h=e;break b}e=c[g>>2]|0;if(f>>>0>=(((c[h>>2]|0)-e|0)/80|0)>>>0){h=0;break}}}while(0);e=c[i>>2]|0;if(e|0){do if(a[e+104>>0]|0){if(a[e+324>>0]|0?a[b+514>>0]|0:0)break;c[n>>2]=e;f=b+2168|0;g=c[f>>2]|0;if((g|0)==(c[b+2172>>2]|0))hj(b+2164|0,n);else{c[g>>2]=e;c[f>>2]=(c[f>>2]|0)+4}}while(0);e=c[e+120>>2]|0;if(!e)e=0;else e=c[e+488+(((c[e+8>>2]|0)+-1|0)*12|0)+4>>2]|0;if(((c[b+2168>>2]|0)-(c[b+2164>>2]|0)>>2|0)>(e|0))ij(b+2144|0)}Re(i);xB(i);e=c[p>>2]|0;f=c[o>>2]|0;if(e-f>>2>>>0>1){g=1;do{e=f;c[e+(g+-1<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0;e=c[p>>2]|0;f=c[o>>2]|0}while(g>>>0<e-f>>2>>>0)}c[p>>2]=e+-4;p=h;oc=q;return p|0}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,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=e+4|0;l=c[v>>2]|0;k=l+1348|0;l=l+1352|0;g=c[k>>2]|0;if((c[l>>2]|0)!=(g|0)){i=b+2144|0;j=b+2152|0;h=0;do{g=zj(i,c[g+(h<<2)>>2]|0)|0;if((g|0)>-1)c[(c[(c[j>>2]|0)+(g<<2)>>2]|0)+100>>2]=0;h=h+1|0;g=c[k>>2]|0}while(h>>>0<(c[l>>2]|0)-g>>2>>>0)}k=c[d>>2]|0;p=c[k+136>>2]|0;s=e+40|0;c[s>>2]=1;j=c[k+112>>2]|0;i=(c[j+1888>>2]|0)>0;q=a[p+41>>0]|0;l=i&q<<24>>24!=0;p=a[p+42>>0]|0;o=p<<24>>24!=0;r=i&o;a:do if(i&(p|q)<<24>>24==0){h=j+168|0;i=c[h>>2]|0;if((i|0)>0){g=0;do{if((c[j+88+(g<<2)>>2]|0)==1e3)break a;g=g+1|0}while((g|0)<(i|0));if((i|0)<20)u=12}else u=12;if((u|0)==12){c[h>>2]=i+1;c[j+88+(i<<2)>>2]=1e3}g=j+84|0;h=c[g>>2]|0;if((h|0)==20){c[j+80>>2]=1001;break}else{c[g>>2]=h+1;c[j+4+(h<<2)>>2]=1e3;break}}while(0);p=d+440|0;q=d+444|0;i=c[q>>2]|0;h=c[p>>2]|0;if((i|0)!=(h|0))if((c[h>>2]|0)==(e|0)?(m=c[(c[v>>2]|0)+20>>2]|0,(m|0)>0):0){h=k+332|0;g=0;do{De((c[h>>2]|0)+(g*80|0)|0,1);g=g+1|0}while((g|0)!=(m|0));g=c[q>>2]|0;h=c[p>>2]|0}else g=i;else{g=i;h=i}i=g-h|0;j=i>>2;b:do if(j>>>0>1){g=1;while(1){if((c[h+(g<<2)>>2]|0)==(e|0))break;g=g+1|0;if(g>>>0>=j>>>0)break b}k=c[h+(g+-1<<2)>>2]|0;if(k|0?!((i|0)==4?1:(c[k+40>>2]|0)!=2):0){i=j+-1|0;g=0;while(1){m=g;g=g+1|0;if((c[h+(m<<2)>>2]|0)==(k|0))break;if(g>>>0>=i>>>0)break b}g=c[h+(g<<2)>>2]|0;if(g|0?(f=c[(c[k+4>>2]|0)+20>>2]|0,n=g+4|0,(f|0)<(c[(c[n>>2]|0)+20>>2]|0)):0)do{g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0))break b;De((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0}while((f|0)<(c[(c[n>>2]|0)+20>>2]|0))}}while(0);if(!(l|r)){i=Aj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=i;return d|0}g=(f>>2)+-1|0;f=0;while(1){n=f;f=f+1|0;if((c[h+(n<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=i;u=68;break}}if((u|0)==68)return t|0;f=c[h+(f<<2)>>2]|0;if(!f){d=i;return d|0}g=c[(c[v>>2]|0)+20>>2]|0;h=f+4|0;if((g|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=i;return d|0}f=g;while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=i;u=68;break}De((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=i;u=68;break}}if((u|0)==68)return t|0}if(l&o){d=1006;return d|0}if(l){Bj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=0;return d|0}g=(f>>2)+-1|0;f=0;while(1){o=f;f=f+1|0;if((c[h+(o<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=0;u=68;break}}if((u|0)==68)return t|0;f=c[h+(f<<2)>>2]|0;if(!f){d=0;return d|0}g=c[(c[v>>2]|0)+20>>2]|0;h=f+4|0;if((g|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=0;return d|0}f=g;while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=0;u=68;break}De((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=0;u=68;break}}if((u|0)==68)return t|0}if(!r)R(145674,118680,974,118883);i=Cj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=i;return d|0}g=(f>>2)+-1|0;f=0;while(1){b=f;f=f+1|0;if((c[h+(b<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=i;u=68;break}}if((u|0)==68)return t|0;g=c[h+(f<<2)>>2]|0;if(!g){d=i;return d|0}f=c[(c[v>>2]|0)+20>>2]|0;h=g+4|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=i;return d|0}while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=i;u=68;break}De((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=i;u=68;break}}if((u|0)==68)return t|0;return 0}function bj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=oc;h=oc=oc+31&-32;oc=oc+16|0;k=c[b>>2]|0;g=c[k+112>>2]|0;l=k+128|0;sj(k,c[(c[l>>2]|0)+5064>>2]<<1);i=b+476|0;j=b+480|0;f=b+472|0;g=g+1392|0;if((c[(c[l>>2]|0)+5064>>2]|0)<=0){oc=m;return}e=0;do{b=vB(20)|0;c[b+4>>2]=0;c[b>>2]=12168;c[b+8>>2]=k;c[b+12>>2]=e;a[b+16>>0]=1;c[h>>2]=b;d=c[i>>2]|0;if((d|0)==(c[j>>2]|0))uj(f,h);else{c[d>>2]=b;c[i>>2]=(c[i>>2]|0)+4}vj(g,b);e=e+1|0;b=c[(c[l>>2]|0)+5064>>2]|0}while((e|0)<(b|0));if((b|0)<=0){oc=m;return}b=0;do{d=vB(20)|0;c[d+4>>2]=0;c[d>>2]=12168;c[d+8>>2]=k;c[d+12>>2]=b;a[d+16>>0]=0;c[h>>2]=d;e=c[i>>2]|0;if((e|0)==(c[j>>2]|0))uj(f,h);else{c[e>>2]=d;c[i>>2]=(c[i>>2]|0)+4}vj(g,d);b=b+1|0}while((b|0)<(c[(c[l>>2]|0)+5064>>2]|0));oc=m;return}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;q=oc;o=oc=oc+31&-32;oc=oc+16|0;i=o+8|0;p=c[b>>2]|0;l=c[p+128>>2]|0;if(!(a[l+4703>>0]|0)){p=0;oc=q;return p|0}k=p+112|0;m=c[k>>2]|0;n=b+8|0;f=c[p+24>>2]|0;g=c[p+28>>2]|0;h=c[p+20>>2]|0;c[i>>2]=l;j=i+4|0;e=c[p+132>>2]|0;c[j>>2]=e;if(!e)e=m;else{e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0}r=p+288|0;f=Tg(n,f,g,h,i,0,e,c[p+116>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[p+296>>2]|0,1)|0;e=c[j>>2]|0;if(e|0?(j=e+4|0,r=c[j>>2]|0,c[j>>2]=r+-1,(r|0)==0):0){Dc[c[(c[e>>2]|0)+8>>2]&255](e);sB(e)}if(f|0){He((c[k>>2]|0)+4|0,1024,0);r=0;oc=q;return r|0}j=c[l+5064>>2]|0;sj(p,j);if((j|0)>0){k=b+476|0;l=b+480|0;i=b+472|0;f=m+1392|0;e=0;do{g=vB(28)|0;c[g+4>>2]=0;c[g>>2]=12224;c[g+16>>2]=p;c[g+20>>2]=n;c[g+12>>2]=p;c[g+8>>2]=e;c[g+24>>2]=d;c[o>>2]=g;h=c[k>>2]|0;if((h|0)==(c[l>>2]|0))uj(i,o);else{c[h>>2]=g;c[k>>2]=(c[k>>2]|0)+4}vj(f,g);e=e+1|0}while((e|0)!=(j|0))}dj(p);tj(p,n);r=1;oc=q;return r|0}function dj(a){a=a|0;var b=0,d=0,e=0;b=a+356|0;Ee(b);d=a+348|0;e=a+352|0;if((c[d>>2]|0)==(c[e>>2]|0)){Ge(b);return}a=a+384|0;do rj(a,b);while((c[d>>2]|0)!=(c[e>>2]|0));Ge(b);return}function ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+128|0;if((c[(c[g>>2]|0)+5064>>2]|0)<=0)return;b=0;d=0;do{b=b|(we(a,d)|0);d=d+1|0}while((d|0)<(c[(c[g>>2]|0)+5064>>2]|0));if(!b)return;f=a+280|0;h=a+276|0;xe(a,1,0,c[f>>2]|0,0,c[h>>2]|0);b=c[f>>2]|0;d=c[h>>2]|0;if((c[(c[g>>2]|0)+4996>>2]|0)>8)ye(a,1,0,b,0,d);else ze(a,1,0,b,0,d);b=c[g>>2]|0;do if(c[b+5012>>2]|0){d=c[f>>2]|0;e=c[h>>2]|0;if((c[b+5004>>2]|0)>8){Ae(a,1,0,d,0,e);break}else{Be(a,1,0,d,0,e);break}}while(0);xe(a,0,0,c[f>>2]|0,0,c[h>>2]|0);b=c[f>>2]|0;d=c[h>>2]|0;if((c[(c[g>>2]|0)+4996>>2]|0)>8)ye(a,0,0,b,0,d);else ze(a,0,0,b,0,d);e=c[g>>2]|0;if(!(c[e+5012>>2]|0))return;d=c[f>>2]|0;b=c[h>>2]|0;if((c[e+5004>>2]|0)>8){Ae(a,0,0,d,0,b);return}else{Be(a,0,0,d,0,b);return}} |
| | | function Qk(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;y=oc;u=oc=oc+31&-32;oc=oc+32|0;o=u+24|0;v=u+16|0;w=u+8|0;c[e>>2]=0;a[b+3224>>0]=0;j=c[d+12>>2]|0;k=c[b+856+(j<<3)>>2]|0;if(!(a[k>>0]|0))R(145674,118680,1982,127494);t=b+1384|0;l=c[b+856+(j<<3)+4>>2]|0;if(l|0){s=l+4|0;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=k;s=b+1388|0;j=c[s>>2]|0;c[s>>2]=l;if(j|0?(q=j+4|0,r=c[q>>2]|0,c[q>>2]=r+-1,(r|0)==0):0){Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}k=a[(c[t>>2]|0)+9>>0]|0;p=b+1376|0;j=c[b+728+(k<<3)>>2]|0;k=c[b+728+(k<<3)+4>>2]|0;if(k|0){r=k+4|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=j;q=b+1380|0;j=c[q>>2]|0;c[q>>2]=k;if(j|0?(n=j+4|0,r=c[n>>2]|0,c[n>>2]=r+-1,(r|0)==0):0){Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}k=a[(c[p>>2]|0)+1>>0]|0;m=b+1368|0;j=c[b+600+(k<<3)>>2]|0;k=c[b+600+(k<<3)+4>>2]|0;if(k|0){r=k+4|0;c[r>>2]=(c[r>>2]|0)+1}c[m>>2]=j;n=b+1372|0;j=c[n>>2]|0;c[n>>2]=k;if(j|0?(l=j+4|0,r=c[l>>2]|0,c[l>>2]=r+-1,(r|0)==0):0){Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}Vk(b);r=d+8|0;if(!(a[r>>0]|0)){if(!(c[b+2220>>2]|0)){d=0;oc=y;return d|0}}else{c[b+2200>>2]=c[d+32>>2];j=c[p>>2]|0;if(!(a[j+4703>>0]|0))k=1;else k=(a[b+533>>0]|0)!=0;c[o>>2]=j;l=o+4|0;j=c[q>>2]|0;c[l>>2]=j;if(j|0){j=j+4|0;c[j>>2]=(c[j>>2]|0)+1}k=Wk(b+2144|0,o,b,f,g,i,k)|0;j=c[l>>2]|0;if(j|0?(i=j+4|0,o=c[i>>2]|0,c[i>>2]=o+-1,(o|0)==0):0){Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}if((k|0)==-1){c[e>>2]=9;d=0;oc=y;return d|0}j=c[b+2152>>2]|0;if((c[b+2156>>2]|0)-j>>2>>>0>k>>>0)j=c[j+(k<<2)>>2]|0;else j=0;g=b+2220|0;c[g>>2]=j;f=j+326|0;a[f>>0]=a[h>>0]|0;a[f+1>>0]=a[h+1>>0]|0;a[f+2>>0]=a[h+2>>0]|0;f=c[g>>2]|0;c[v>>2]=c[m>>2];m=v+4|0;j=c[n>>2]|0;c[m>>2]=j;if(j|0){h=j+4|0;c[h>>2]=(c[h>>2]|0)+1}c[w>>2]=c[p>>2];l=w+4|0;j=c[q>>2]|0;c[l>>2]=j;if(j|0){h=j+4|0;c[h>>2]=(c[h>>2]|0)+1}c[u>>2]=c[t>>2];k=u+4|0;j=c[s>>2]|0;c[k>>2]=j;if(j|0){t=j+4|0;c[t>>2]=(c[t>>2]|0)+1}Xk(f,v,w,u);j=c[k>>2]|0;if(j|0?(v=j+4|0,w=c[v>>2]|0,c[v>>2]=w+-1,(w|0)==0):0){Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}j=c[l>>2]|0;do if(j|0){v=j+4|0;w=c[v>>2]|0;c[v>>2]=w+-1;if(w|0)break;Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}while(0);j=c[m>>2]|0;do if(j|0){v=j+4|0;w=c[v>>2]|0;c[v>>2]=w+-1;if(w|0)break;Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j)}while(0);j=c[g>>2]|0;c[j+112>>2]=b;Yk(j);j=b+3208|0;a:do if(Zk(a[j>>0]|0)|0){do if(!(_k(a[j>>0]|0)|0)){if($k(a[j>>0]|0)|0)break;if(a[b+2204>>0]|0)break;if(a[b+2207>>0]|0)break;a[b+2205>>0]=0;a[b+2206>>0]=0;break a}while(0);a[b+2205>>0]=1;a[b+2207>>0]=0}while(0);do if(al(a[j>>0]|0)|0){if(!(a[b+2205>>0]|0)){x=55;break}a[(c[g>>2]|0)+104>>0]=0}else x=55;while(0);if((x|0)==55)a[(c[g>>2]|0)+104>>0]=(a[d+28>>0]|0)!=0&1;bl(b,d);if(a[r>>0]|0){c[(c[g>>2]|0)+100>>2]=1;cl(b,d)}c[(c[g>>2]|0)+100>>2]=1;a[b+2204>>0]=0}if((c[d+24>>2]|0)>>>0<2?!(dl(b,d)|0):0){d=0;oc=y;return d|0}if(!(a[d+16>>0]|0)){j=b+2224|0;k=d+20|0}else{k=b+2224|0;j=k;k=(c[k>>2]|0)+804|0}c[d+804>>2]=c[k>>2];c[j>>2]=d;d=1;oc=y;return d|0}function Rk(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function Sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+32>>2]|0;a=(c[a+36>>2]|0)-f|0;e=a>>2;if((a|0)<=0){d=0;return d|0}a=e;e=e+-1|0;while(1){if(((c[f+(e<<2)>>2]|0)-d|0)<=(b|0)){e=5;break}a=e+-1|0;if((a|0)>-1){g=e;e=a;a=g}else{a=0;e=5;break}}if((e|0)==5)return a|0;return 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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function Vk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[b+1376>>2]|0;f=(e|0)==0;if(f){d=c[b+1368>>2]|0;if(!d)d=6;else d=(c[d+8>>2]|0)+-1|0}else d=(a[e+2>>0]|0)+-1|0;do if((d|0)!=(a[b+2112>>0]|0)){if(f){d=c[b+1368>>2]|0;if(!d)d=6;else{d=c[d+8>>2]|0;g=10}}else{d=a[e+2>>0]|0;g=10}if((g|0)==10)if((d|0)>0)d=d+-1|0;else break;j=d+1|0;k=b+1892|0;while(1){i=d*100|0;f=(i|0)/(j|0)|0;i=(i+100|0)/(j|0)|0;if((i|0)>=(f|0)){g=i-f|0;h=c[k>>2]|0;e=f;while(1){l=(d|0)>(h|0);d=l?h:d;a[b+1912+(e<<1)>>0]=d;a[b+1912+(e<<1)+1>>0]=l?100:(((e-f|0)*100|0)/(g|0)|0)&255;if((e|0)<(i|0))e=e+1|0;else break}}c[b+2116+(d<<2)>>2]=i;if((d|0)>0)d=d+-1|0;else break}}while(0);k=c[b+1896>>2]|0;l=a[b+1912+(k<<1)>>0]|0;c[b+1900>>2]=l;c[b+1904>>2]=a[b+1912+(k<<1)+1>>0];c[b+1908>>2]=l;return}function Wk(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=oc;u=oc=oc+31&-32;oc=oc+16|0;s=u+8|0;t=b+8|0;r=b+12|0;o=c[r>>2]|0;l=c[t>>2]|0;m=l;k=o;a:do if((o|0)==(l|0)){p=-1;j=o;l=o}else{n=o-l>>2;p=0;while(1){j=c[m+(p<<2)>>2]|0;if((a[j+104>>0]|0)==0?(c[j+100>>2]|0)==0:0)break;p=p+1|0;if(p>>>0>=n>>>0){p=-1;j=o;break a}}Ze(j);k=c[r>>2]|0;j=k;l=c[t>>2]|0}while(0);o=j-l>>2;if((!((p|0)==(o+-1|0)?1:o>>>0<=(c[b+4>>2]|0)>>>0)?(q=c[k+-4>>2]|0,(a[q+104>>0]|0)==0):0)?(c[q+100>>2]|0)==0:0){Ye(q);xB(q);j=(c[r>>2]|0)+-4|0;c[r>>2]=j}if((p|0)==-1){j=j-(c[t>>2]|0)>>2;k=vB(432)|0;Vg(k);c[s>>2]=k;l=c[r>>2]|0;if((l|0)==(c[b+16>>2]|0))ol(t,s);else{c[l>>2]=k;c[r>>2]=(c[r>>2]|0)+4}p=j}o=c[(c[t>>2]|0)+(p<<2)>>2]|0;j=c[d>>2]|0;l=c[j+484>>2]|0;m=c[j+488>>2]|0;n=c[j+476>>2]|0;if(n>>>0>=4)R(127700,118729,259,127702);c[u>>2]=j;k=u+4|0;j=c[d+4>>2]|0;c[k>>2]=j;if(j|0){d=j+4|0;c[d>>2]=(c[d>>2]|0)+1}Tg(o,l,m,n,u,1,e,0,f,g,h,i)|0;j=c[k>>2]|0;if(!j){u=o+324|0;a[u>>0]=0;oc=v;return p|0}i=j+4|0;u=c[i>>2]|0;c[i>>2]=u+-1;if(u|0){u=o+324|0;a[u>>0]=0;oc=v;return p|0}Dc[c[(c[j>>2]|0)+8>>2]&255](j);sB(j);u=o+324|0;a[u>>0]=0;oc=v;return p|0}function Xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b>>2]|0;g=c[b+4>>2]|0;if(g|0){b=g+4|0;c[b>>2]=(c[b>>2]|0)+1}c[a+120>>2]=f;f=a+124|0;b=c[f>>2]|0;c[f>>2]=g;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[d>>2]|0;f=c[d+4>>2]|0;if(f|0){d=f+4|0;c[d>>2]=(c[d>>2]|0)+1}c[a+128>>2]=b;d=a+132|0;b=c[d>>2]|0;c[d>>2]=f;if(b|0?(g=b+4|0,d=c[g>>2]|0,c[g>>2]=d+-1,(d|0)==0):0){Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b)}b=c[e>>2]|0;f=c[e+4>>2]|0;if(f|0){e=f+4|0;c[e>>2]=(c[e>>2]|0)+1}c[a+136>>2]=b;a=a+140|0;b=c[a>>2]|0;c[a>>2]=f;if(!b)return;e=b+4|0;a=c[e>>2]|0;c[e>>2]=a+-1;if(a|0)return;Dc[c[(c[b>>2]|0)+8>>2]&255](b);sB(b);return}function Yk(a){a=a|0;var b=0,d=0;b=c[a+164>>2]|0;if(b|0)rD(b|0,0,(c[a+168>>2]|0)*3|0)|0;b=c[a+144>>2]|0;if(b|0)rD(b|0,0,(c[a+148>>2]|0)*24|0)|0;b=c[a+264>>2]|0;if(b|0)rD(b|0,0,c[a+268>>2]|0)|0;d=c[a+148>>2]|0;if((d|0)<=0)return;a=c[a+332>>2]|0;b=0;do{c[a+(b*80|0)>>2]=0;b=b+1|0}while((b|0)<(d|0));return}function Zk(a){a=a|0;return (a&-8)<<24>>24==16|0}function _k(a){a=a|0;return (a+-19&255)<2|0}function $k(a){a=a|0;return (a+-16&255)<3|0}function al(a){a=a|0;return (a|1)<<24>>24==9|0}function bl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=b+3208|0;if(Zk(a[i>>0]|0)|0?(a[b+2205>>0]|0)!=0:0){g=b+2208|0;c[g>>2]=0;a[b+3224>>0]=1;e=d+32|0;d=e;e=c[e>>2]|0;f=0}else h=4;do if((h|0)==4){f=c[(c[b+1376>>2]|0)+5032>>2]|0;d=d+32|0;h=c[d>>2]|0;e=c[b+2212>>2]|0;if((e|0)>(h|0)?(e-h|0)>=((f|0)/2|0|0):0){f=(c[b+2216>>2]|0)+f|0;g=b+2208|0;c[g>>2]=f;e=h;break}if((h|0)>(e|0)?(h-e|0)>((f|0)/2|0|0):0){f=(c[b+2216>>2]|0)-f|0;g=b+2208|0;c[g>>2]=f;e=h;break}f=c[b+2216>>2]|0;g=b+2208|0;c[g>>2]=f;e=h}while(0);h=c[b+2220>>2]|0;c[h+96>>2]=e+f;c[h+92>>2]=e;if(a[h+328>>0]|0)return;if(ml(a[i>>0]|0)|0)return;if(al(a[i>>0]|0)|0)return;if(nl(a[i>>0]|0)|0)return;c[b+2212>>2]=c[d>>2];c[b+2216>>2]=c[g>>2];return}function cl(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,w=0,x=0,y=0,A=0,B=0,C=0;C=oc;v=oc=oc+31&-32;oc=oc+32|0;A=v+16|0;y=v+4|0;c[A>>2]=0;B=A+4|0;c[B>>2]=0;w=A+8|0;c[w>>2]=0;x=d+2220|0;t=c[c[x>>2]>>2]|0;k=d+3208|0;if((Zk(a[k>>0]|0)|0?a[d+2205>>0]|0:0)?(l=c[(c[x>>2]|0)+96>>2]|0,m=d+2152|0,n=d+2156|0,g=c[n>>2]|0,h=c[m>>2]|0,f=g-h|0,(f|0)>0):0){j=0;i=f>>>2;f=h;do{if(i>>>0>j>>>0)i=c[f+(j<<2)>>2]|0;else i=0;if(((c[i+100>>2]|0)!=0?(c[i+96>>2]|0)<(l|0):0)?(o=i+108|0,p=c[i>>2]|0,(c[o>>2]|0)>>>0>p>>>0):0){c[y>>2]=p;h=c[B>>2]|0;if(h>>>0<(c[w>>2]|0)>>>0){c[h>>2]=p;c[B>>2]=h+4}else{fl(A,y);g=c[n>>2]|0;f=c[m>>2]|0}c[o>>2]=c[i>>2]}j=j+1|0;i=g-f>>2}while((j|0)<(i|0))}if(_k(a[k>>0]|0)|0){r=d+2548|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0}else{f=a[e+912>>0]|0;if(!(f<<24>>24)){g=0;f=0}else{l=(c[x>>2]|0)+96|0;k=f&255;h=0;i=0;j=0;while(1){r=(a[e+880+h>>0]|0)==0;f=j+(r&1)|0;g=i+((r^1)&1)|0;c[(r?d+2696+(j<<2)|0:d+2568+(i<<2)|0)>>2]=(c[l>>2]|0)+(b[e+816+(h<<1)>>1]|0);h=h+1|0;if(h>>>0>=k>>>0)break;else{i=g;j=f}}}c[d+2548>>2]=g;g=a[e+913>>0]|0;if(!(g<<24>>24))g=0;else{l=(c[x>>2]|0)+96|0;k=g&255;h=0;i=0;while(1){r=(a[e+896+h>>0]|0)==0;j=f+(r&1)|0;g=i+((r^1)&1)|0;c[(r?d+2696+(f<<2)|0:d+2632+(i<<2)|0)>>2]=(c[l>>2]|0)+(b[e+848+(h<<1)>>1]|0);h=h+1|0;if(h>>>0>=k>>>0){f=j;break}else{i=g;f=j}}}c[d+2552>>2]=g;c[d+2556>>2]=f;m=e+144|0;n=e+148|0;if(((c[n>>2]|0)+(c[m>>2]|0)|0)>0){k=e+32|0;l=d+1376|0;j=0;g=0;f=0;do{h=c[d+2228+(j<<2)>>2]|0;i=e+248+j|0;if(a[i>>0]|0)h=(c[(c[x>>2]|0)+96>>2]|0)+h-(c[k>>2]|0)-(z(c[(c[l>>2]|0)+5032>>2]|0,c[d+2356+(j<<2)>>2]|0)|0)|0;if(!(c[d+2292+(j<<2)>>2]|0)){c[d+2824+(f<<2)>>2]=h;c[d+2484+(f<<2)>>2]=a[i>>0];f=f+1|0}else{c[d+2760+(g<<2)>>2]=h;c[d+2420+(g<<2)>>2]=a[i>>0];g=g+1|0}j=j+1|0}while((j|0)<((c[n>>2]|0)+(c[m>>2]|0)|0))}else{g=0;f=0}c[d+2560>>2]=g;c[d+2564>>2]=f}o=d+2144|0;p=d+2152|0;q=d+2156|0;g=(c[q>>2]|0)-(c[p>>2]|0)|0;f=g>>2;c[y>>2]=0;r=y+4|0;c[r>>2]=0;h=y+8|0;c[h>>2]=0;if(g|0){if((g|0)<0)gC(y);g=vB(f)|0;c[r>>2]=g;c[y>>2]=g;c[h>>2]=g+f;do{a[g>>0]=0;g=(c[r>>2]|0)+1|0;c[r>>2]=g;f=f+-1|0}while((f|0)!=0)}n=d+2560|0;f=c[n>>2]|0;if((f|0)>0){l=d+1376|0;k=0;do{g=d+2760+(k<<2)|0;f=c[g>>2]|0;if(!(c[d+2420+(k<<2)>>2]|0))f=gl(o,f,t,1)|0;else f=hl(o,f,t,1)|0;j=d+3080+(k<<2)|0;c[j>>2]=f;if((f|0)>-1){g=f;f=(c[y>>2]|0)+f|0}else{i=il(d,c[l>>2]|0,c[g>>2]|0,1)|0;g=(c[q>>2]|0)-(c[p>>2]|0)>>2;a[v>>0]=0;f=c[y>>2]|0;h=(c[r>>2]|0)-f|0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[r>>2]=f+g}else{jl(y,g-h|0,v);f=c[y>>2]|0}c[j>>2]=i;g=i;f=f+i|0}a[f>>0]=1;if(a[(c[(c[p>>2]|0)+(g<<2)>>2]|0)+324>>0]|0)a[(c[x>>2]|0)+324>>0]=4;k=k+1|0;f=c[n>>2]|0}while((k|0)<(f|0))}m=d+2564|0;g=c[m>>2]|0;if((g|0)>0){l=d+1376|0;k=0;do{g=d+2824+(k<<2)|0;f=c[g>>2]|0;if(!(c[d+2484+(k<<2)>>2]|0))f=gl(o,f,t,1)|0;else f=hl(o,f,t,1)|0;j=d+3144+(k<<2)|0;c[j>>2]=f;if((f|0)>-1)f=(c[y>>2]|0)+f|0;else{i=il(d,c[l>>2]|0,c[g>>2]|0,1)|0;g=(c[q>>2]|0)-(c[p>>2]|0)>>2;a[v>>0]=0;f=c[y>>2]|0;h=(c[r>>2]|0)-f|0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[r>>2]=f+g}else{jl(y,g-h|0,v);f=c[y>>2]|0}c[j>>2]=i;f=f+i|0}a[f>>0]=1;k=k+1|0;f=c[m>>2]|0}while((k|0)<(f|0));i=f;f=c[n>>2]|0}else i=g;if((f|0)>0){h=c[p>>2]|0;g=0;do{c[(c[h+(c[d+3080+(g<<2)>>2]<<2)>>2]|0)+100>>2]=2;g=g+1|0}while((g|0)<(f|0))}if((i|0)>0){g=c[p>>2]|0;f=0;do{c[(c[g+(c[d+3144+(f<<2)>>2]<<2)>>2]|0)+100>>2]=2;f=f+1|0}while((f|0)!=(i|0))}k=d+2548|0;if((c[k>>2]|0)>0){l=d+1376|0;j=0;do{f=d+2568+(j<<2)|0;g=hl(o,c[f>>2]|0,t,0)|0;h=d+2888+(j<<2)|0;c[h>>2]=g;if((g|0)<=-1){i=il(d,c[l>>2]|0,c[f>>2]|0,0)|0;c[h>>2]=i;g=c[y>>2]|0;if(i>>>0<((c[r>>2]|0)-g|0)>>>0){f=i;g=g+i|0;s=80}else f=i}else{f=g;g=(c[y>>2]|0)+g|0;s=80}if((s|0)==80){s=0;a[g>>0]=1}if(a[(c[(c[p>>2]|0)+(f<<2)>>2]|0)+324>>0]|0)a[(c[x>>2]|0)+324>>0]=4;j=j+1|0}while((j|0)<(c[k>>2]|0))}j=d+2552|0;if((c[j>>2]|0)>0){k=d+1376|0;i=0;do{g=d+2632+(i<<2)|0;f=hl(o,c[g>>2]|0,t,0)|0;h=d+2952+(i<<2)|0;c[h>>2]=f;if((f|0)<=-1){f=il(d,c[k>>2]|0,c[g>>2]|0,0)|0;c[h>>2]=f}a[(c[y>>2]|0)+f>>0]=1;if(a[(c[(c[p>>2]|0)+(f<<2)>>2]|0)+324>>0]|0)a[(c[x>>2]|0)+324>>0]=4;i=i+1|0}while((i|0)<(c[j>>2]|0))}g=d+2556|0;if((c[g>>2]|0)>0){f=0;do{h=hl(o,c[d+2696+(f<<2)>>2]|0,t,0)|0;c[d+3016+(f<<2)>>2]=h;if((h|0)>-1)a[(c[y>>2]|0)+h>>0]=1;f=f+1|0}while((f|0)<(c[g>>2]|0))}h=c[q>>2]|0;g=c[p>>2]|0;f=h-g|0;if((f|0)>0){k=0;i=f>>>2;f=g;j=h;while(1){t=c[y>>2]|0;if(k>>>0<((c[r>>2]|0)-t|0)>>>0?(a[t+k>>0]|0)!=0:0)g=j;else{if(i>>>0>k>>>0)g=c[f+(k<<2)>>2]|0;else g=0;h=c[x>>2]|0;if(((g|0)!=(h|0)?(u=g+108|0,(c[u>>2]|0)>>>0>(c[h>>2]|0)>>>0):0)?(c[g+100>>2]|0)!=0:0){g=c[g>>2]|0;c[v>>2]=g;i=c[B>>2]|0;if(i>>>0<(c[w>>2]|0)>>>0){c[i>>2]=g;c[B>>2]=i+4;g=j}else{fl(A,v);h=c[x>>2]|0;g=c[q>>2]|0;f=c[p>>2]|0}c[u>>2]=c[h>>2]}else g=j}k=k+1|0;i=g-f>>2;if((k|0)>=(i|0))break;else j=g}}f=e+1348|0;if((f|0)!=(A|0))kl(f,c[A>>2]|0,c[B>>2]|0);f=c[y>>2]|0;if(f|0){c[r>>2]=f;xB(f)}f=c[A>>2]|0;if(!f){oc=C;return}c[B>>2]=f;xB(f);oc=C;return}function dl(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;y=oc;x=oc=oc+31&-32;oc=oc+480|0;t=x+288|0;w=x+96|0;u=c[e+916>>2]|0;v=c[e+332>>2]|0;s=(v|0)>(u|0)?v:u;f=x;g=f+96|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a:do if((s|0)>0){h=c[b+2548>>2]|0;o=c[b+2552>>2]|0;p=(o|0)>0;q=c[b+2560>>2]|0;r=(q|0)>0;b:do if((h|0)>0){l=b+2888|0;m=b+2952|0;n=b+3080|0;i=0-h|0;j=0-((o|0)>1?o:1)|0;k=0-((q|0)>1?q:1)|0;f=0;while(1){if((f|0)<(s|0)){g=f-s|0;pD(t+(f<<2)|0,l|0,z(g>>>0<i>>>0?i:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(h|0))}if((f|0)<(s|0)&p){g=f-s|0;pD(t+(f<<2)|0,m|0,z(g>>>0<j>>>0?j:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(o|0))}if((f|0)<(s|0)&r){g=f-s|0;g=g>>>0<k>>>0?k:g;rD(x+f|0,1,0-g|0)|0;pD(t+(f<<2)|0,n|0,z(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(q|0))}if(!f)break b;if((f|0)>=(s|0))break a}}else{j=b+2952|0;k=b+3080|0;h=0-((o|0)>1?o:1)|0;i=0-((q|0)>1?q:1)|0;f=0;while(1){if((f|0)<(s|0)&p){g=f-s|0;pD(t+(f<<2)|0,j|0,z(g>>>0<h>>>0?h:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(o|0))}if((f|0)<(s|0)&r){g=f-s|0;g=g>>>0<i>>>0?i:g;rD(x+f|0,1,0-g|0)|0;pD(t+(f<<2)|0,k|0,z(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(q|0))}if(!f)break b;if((f|0)>=(s|0))break a}}while(0);f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;x=0;oc=y;return x|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1016;x=0;oc=y;return x|0}}while(0);if((v|0)>=17)R(127523,118680,1771,127556);c:do if((v|0)>0){i=b+2152|0;j=b+2156|0;k=(a[e+340>>0]|0)==0;h=0;while(1){if(k)f=h;else f=d[e+342+h>>0]|0;g=e+920+(h<<2)|0;c[g>>2]=c[t+(f<<2)>>2];a[e+1304+h>>0]=a[x+f>>0]|0;f=c[g>>2]|0;g=c[i>>2]|0;if((c[j>>2]|0)-g>>2>>>0<=f>>>0){f=0;g=76;break}f=c[g+(f<<2)>>2]|0;if(!f){f=0;g=76;break}c[e+1048+(h<<2)>>2]=c[f+96>>2];c[e+1176+(h<<2)>>2]=c[f+100>>2];h=h+1|0;if((h|0)>=(v|0))break c}if((g|0)==76){oc=y;return f|0}}while(0);if(c[e+24>>2]|0){x=1;oc=y;return x|0}t=c[e+336>>2]|0;o=(t|0)>(u|0)?t:u;d:do if((o|0)>0){h=c[b+2552>>2]|0;p=c[b+2548>>2]|0;q=(p|0)>0;r=c[b+2560>>2]|0;s=(r|0)>0;e:do if((h|0)>0){l=b+2952|0;m=b+2888|0;n=b+3080|0;i=0-h|0;j=0-((p|0)>1?p:1)|0;k=0-((r|0)>1?r:1)|0;f=0;while(1){if((f|0)<(o|0)){g=f-o|0;pD(w+(f<<2)|0,l|0,z(g>>>0<i>>>0?i:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(h|0))}if((f|0)<(o|0)&q){g=f-o|0;pD(w+(f<<2)|0,m|0,z(g>>>0<j>>>0?j:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(p|0))}if((f|0)<(o|0)&s){g=f-o|0;g=g>>>0<k>>>0?k:g;rD(x+48+f|0,1,0-g|0)|0;pD(w+(f<<2)|0,n|0,z(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(r|0))}if(!f)break e;if((f|0)>=(o|0))break d}}else{j=b+2888|0;k=b+3080|0;h=0-((p|0)>1?p:1)|0;i=0-((r|0)>1?r:1)|0;f=0;while(1){if((f|0)<(o|0)&q){g=f-o|0;pD(w+(f<<2)|0,j|0,z(g>>>0<h>>>0?h:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(p|0))}if((f|0)<(o|0)&s){g=f-o|0;g=g>>>0<i>>>0?i:g;rD(x+48+f|0,1,0-g|0)|0;pD(w+(f<<2)|0,k|0,z(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(r|0))}if(!f)break e;if((f|0)>=(o|0))break d}}while(0);f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;x=0;oc=y;return x|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1016;x=0;oc=y;return x|0}}while(0);if((v|0)>16){f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;x=0;oc=y;return x|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1012;x=0;oc=y;return x|0}}if((t|0)>=17)R(127590,118680,1824,127556);if((t|0)<=0){x=1;oc=y;return x|0}k=b+2152|0;i=b+2156|0;j=(a[e+341>>0]|0)==0;h=0;while(1){if(j)f=h;else f=d[e+358+h>>0]|0;g=e+984+(h<<2)|0;c[g>>2]=c[w+(f<<2)>>2];a[e+1320+h>>0]=a[x+48+f>>0]|0;f=c[g>>2]|0;g=c[k>>2]|0;if((c[i>>2]|0)-g>>2>>>0<=f>>>0){f=0;g=76;break}f=c[g+(f<<2)>>2]|0;if(!f){f=0;g=76;break}c[e+1112+(h<<2)>>2]=c[f+96>>2];c[e+1240+(h<<2)>>2]=c[f+100>>2];h=h+1|0;if((h|0)>=(t|0)){f=1;g=76;break}}if((g|0)==76){oc=y;return f|0}return 0}function el(a){a=a|0;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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function gl(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;a:do if(e){g=a+8|0;h=c[a+12>>2]|0;i=c[g>>2]|0;a=i;if((h|0)==(i|0)){d=-1;return d|0}f=h-i>>2;e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+92>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?(c[j+100>>2]|0)==2:0)break;e=e+1|0;if(e>>>0>=f>>>0){f=h;e=i;break a}}return e|0}else{g=a+8|0;j=c[g>>2]|0;f=c[a+12>>2]|0;e=j;a=j}while(0);if((f|0)==(e|0)){j=-1;return j|0}e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+92>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?c[j+100>>2]|0:0){a=15;break}e=e+1|0;if(e>>>0>=f-(c[g>>2]|0)>>2>>>0){e=-1;a=15;break}}if((a|0)==15)return e|0;return 0}function hl(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;a:do if(e){g=a+8|0;h=c[a+12>>2]|0;i=c[g>>2]|0;a=i;if((h|0)==(i|0)){d=-1;return d|0}f=h-i>>2;e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+96>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?(c[j+100>>2]|0)==2:0)break;e=e+1|0;if(e>>>0>=f>>>0){f=h;e=i;break a}}return e|0}else{g=a+8|0;j=c[g>>2]|0;f=c[a+12>>2]|0;e=j;a=j}while(0);if((f|0)==(e|0)){j=-1;return j|0}e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+96>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?c[j+100>>2]|0:0){a=15;break}e=e+1|0;if(e>>>0>=f-(c[g>>2]|0)>>2>>>0){e=-1;a=15;break}}if((a|0)==15)return e|0;return 0}function il(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;n=oc;i=oc=oc+31&-32;oc=oc+16|0;j=b+2144|0;if(!(Yi(j,1)|0))R(127623,118680,1414,127654);l=a[(c[b+1384>>2]|0)+9>>0]|0;h=c[b+728+(l<<3)>>2]|0;l=c[b+728+(l<<3)+4>>2]|0;m=(l|0)==0;if(m){c[i>>2]=h;h=i+4|0;c[h>>2]=0}else{k=l+4|0;c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=h;h=i+4|0;c[h>>2]=l;c[k>>2]=(c[k>>2]|0)+1}k=Wk(j,i,b,0,0,0,0)|0;h=c[h>>2]|0;if(h|0?(i=h+4|0,j=c[i>>2]|0,c[i>>2]=j+-1,(j|0)==0):0){Dc[c[(c[h>>2]|0)+8>>2]&255](h);sB(h)}if((k|0)<=-1)R(127693,118680,1419,127654);h=c[b+2152>>2]|0;if((c[b+2156>>2]|0)-h>>2>>>0>k>>>0)h=c[h+(k<<2)>>2]|0;else h=0;j=1<<(c[e+5004>>2]|0)+-1;ll(h,1<<(c[e+4996>>2]|0)+-1,j,j);j=h+168|0;if((c[j>>2]|0)>0){b=h+164|0;i=0;do{o=(c[b>>2]|0)+(i*3|0)|0;p=(d[o>>0]|d[o+1>>0]<<8)&-769;a[o>>0]=p;a[o+1>>0]=p>>8;i=i+1|0}while((i|0)<(c[j>>2]|0))}c[h+96>>2]=f;c[h+92>>2]=(c[e+5032>>2]|0)+-1&f;a[h+104>>0]=0;c[h+100>>2]=g?2:1;a[h+324>>0]=1;if(m){oc=n;return k|0}o=l+4|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(p|0){oc=n;return k|0}Dc[c[(c[l>>2]|0)+8>>2]&255](l);sB(l);oc=n;return k|0}function jl(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;m=b+8|0;h=c[m>>2]|0;n=b+4|0;f=c[n>>2]|0;if((h-f|0)>>>0>=d>>>0){do{a[f>>0]=a[e>>0]|0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;d=d+-1|0}while((d|0)!=0);return}j=c[b>>2]|0;i=f-j|0;g=i+d|0;if((g|0)<0)gC(b);k=h-j|0;l=k<<1;g=k>>>0<1073741823?(l>>>0<g>>>0?g:l):2147483647;if(!g)l=0;else l=vB(g)|0;i=l+i|0;k=l+g|0;h=f+d-j|0;f=i;while(1){a[f>>0]=a[e>>0]|0;d=d+-1|0;if(!d)break;else f=f+1|0}d=c[b>>2]|0;g=(c[n>>2]|0)-d|0;f=i+(0-g)|0;if((g|0)>0)pD(f|0,d|0,g|0)|0;c[b>>2]=f;c[n>>2]=l+h;c[m>>2]=k;if(!d)return;xB(d);return}function kl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)qD(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;pD(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;xB(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)gC(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)gC(a);e=vB(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;pD(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((b|0)>-1)rD(c[a+4>>2]|0,b&255|0,z(c[a+28>>2]|0,c[a+40>>2]|0)|0)|0;if((d|0)>-1)rD(c[a+8>>2]|0,d&255|0,z(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;if((e|0)<=-1)return;rD(c[a+12>>2]|0,e&255|0,z(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;return}function ml(a){a=a|0;if((a&255)<15)return (a&1)==0|0;else return 0;return 0}function nl(a){a=a|0;return (a|1)<<24>>24==7|0}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function pl(a){a=a|0;var c=0;c=a+100|0;do{b[a>>1]=0;a=a+2|0}while((a|0)<(c|0));return}function ql(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=c[g+856+(c[f+12>>2]<<3)>>2]|0;if(!h)R(129524,116910,152,129528);h=c[g+728+(a[h+9>>0]<<3)>>2]|0;if(!h)R(129551,116910,154,129528);t=_g(e)|0;s=f+384|0;a[s>>0]=t;if(t>>>0>7){f=0;return f|0}t=h+476|0;do if(c[t>>2]|0){g=$g(e)|0;g=g+(d[s>>0]|0)|0;if(g>>>0>7){f=0;return f|0}else{n=f+385|0;a[n>>0]=g;break}}else n=f+385|0;while(0);o=f+332|0;p=f+24|0;q=f+336|0;r=h+5164|0;m=h+5160|0;l=0;a:while(1){if(l)if(!(c[p>>2]|0))g=q;else{g=1;h=33;break}else g=o;k=c[g>>2]|0;h=(k|0)>0;if(h){g=0;do{a[f+386+(l<<4)+g>>0]=Qf(e,1)|0;g=g+1|0}while((g|0)!=(k|0));if((c[t>>2]|0)!=0&h){g=0;do{a[f+418+(l<<4)+g>>0]=Qf(e,1)|0;g=g+1|0}while((g|0)!=(k|0))}if(h){j=0;do{if(!(a[f+386+(l<<4)+j>>0]|0)){b[f+450+(l<<5)+(j<<1)>>1]=1<<d[s>>0];g=0}else{g=$g(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}b[f+450+(l<<5)+(j<<1)>>1]=(1<<d[s>>0])+g;g=$g(e)|0;i=c[m>>2]|0;if(!((g|0)>=(0-i|0)&(g|0)<(i|0))){g=0;h=33;break a}g=g&255}a[f+514+(l<<4)+j>>0]=g;if(!(a[f+418+(l<<4)+j>>0]|0)){g=1<<d[n>>0]&65535;b[f+546+(l<<6)+(j<<2)>>1]=g;a[f+674+(l<<5)+(j<<1)>>0]=0;b[f+546+(l<<6)+(j<<2)+2>>1]=g;g=0}else{g=$g(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}i=f+546+(l<<6)+(j<<2)|0;b[i>>1]=(1<<d[n>>0])+g;g=$g(e)|0;h=c[r>>2]|0;if(!((g|0)>=(z(h,-4)|0)&(g|0)<(h<<2|0))){g=0;h=33;break a}i=z(h,b[i>>1]|0)|0;g=h+g-(i>>d[n>>0])|0;i=0-h|0;a[f+674+(l<<5)+(j<<1)>>0]=(g|0)<(i|0)?i:(g|0)<(h|0)?g:h+255|0;g=$g(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}i=f+546+(l<<6)+(j<<2)+2|0;b[i>>1]=(1<<d[n>>0])+g;g=$g(e)|0;h=c[r>>2]|0;if(!((g|0)>=(z(h,-4)|0)&(g|0)<(h<<2|0))){g=0;h=33;break a}i=z(h,b[i>>1]|0)|0;g=h+g-(i>>d[n>>0])|0;i=0-h|0;g=((g|0)<(i|0)?i:(g|0)<(h|0)?g:h+255|0)&255}a[f+674+(l<<5)+(j<<1)+1>>0]=g;j=j+1|0}while((j|0)<(k|0))}}l=l+1|0;if(l>>>0>=2){g=1;h=33;break}}if((h|0)==33)return g|0;return 0}function rl(d){d=d|0;var e=0;c[d+12>>2]=0;a[d+16>>0]=0;e=d+20|0;c[d+32>>2]=0;a[d+36>>0]=0;c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;pl(d+38|0);e=d+740|0;c[d+760>>2]=0;c[d+764>>2]=0;a[d+768>>0]=0;c[d+772>>2]=0;c[d+776>>2]=0;rD(d+140|0,0,237)|0;rD(d+380|0,0,358)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b[e+16>>1]=0;a[e+18>>0]=0;c[d+784>>2]=c[d+780>>2];e=d+792|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;pl(d+816|0);rD(d+916|0,0,420)|0;c[d+1352>>2]=c[d+1348>>2];a[d+1344>>0]=0;return}function sl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=oc;l=oc=oc+31&-32;oc=oc+16|0;m=b+40|0;n=b+44|0;e=c[n>>2]|0;if((e|0)==(c[m>>2]|0)){e=vB(48)|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;g=e+32|0;c[g>>2]=0;f=e+36|0;c[f>>2]=0;i=e+40|0;c[i>>2]=0;h=vB(64)|0;c[g>>2]=h;g=h+64|0;c[i>>2]=g;i=h+64|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[f>>2]=g;k=e+8|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;k=e}else{j=e+-4|0;k=c[j>>2]|0;c[n>>2]=j}a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;g=k+8|0;c[g>>2]=0;c[g+4>>2]=0;c[k+16>>2]=0;g=k+24|0;c[g>>2]=0;j=k+36|0;c[j>>2]=c[k+32>>2];h=k+28|0;if((c[h>>2]|0)>=(d|0)){n=k;oc=o;return n|0}i=Fq(d)|0;if(i|0){e=k+20|0;f=c[e>>2]|0;if(f|0){pD(i|0,f|0,c[g>>2]|0)|0;Gq(f)}c[e>>2]=i;c[h>>2]=d;n=k;oc=o;return n|0}c[l>>2]=k;e=k;do if(k|0){f=c[n>>2]|0;if(f-(c[m>>2]|0)>>2>>>0<16)if((c[b+48>>2]|0)==(f|0)){Ue(m,l);break}else{c[f>>2]=e;c[n>>2]=(c[n>>2]|0)+4;break}else{Gq(c[k+20>>2]|0);e=c[k+32>>2]|0;if(e|0){c[j>>2]=e;xB(e)}xB(k);break}}while(0);n=0;oc=o;return n|0}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)gC(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=S(8)|0;BB(l,127353);c[l>>2]=113808;X(l|0,11744,126)}else{f=vB(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)pD(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;xB(j);return}function ul(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;s=oc;o=oc=oc+31&-32;oc=oc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){xB(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;oc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=vB(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{e=vB(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)xB(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;wl(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)xB(g);oc=s;return}if((e|0)==(b|0)){c[o>>2]=vB(4096)|0;vl(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{qD(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{h=vB(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}else{o=vB(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{qD(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=S(8)|0;BB(s,127353);c[s>>2]=113808;X(s|0,11744,126)}else{g=vB(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){xB(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;oc=s;return}}function vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{qD(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=S(8)|0;BB(q,127353);c[q>>2]=113808;X(q|0,11744,126)}else{h=vB(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){xB(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function xl(a,b){a=a|0;b=b|0;return Wi(a,b)|0}function yl(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 zl(a+548|0,b,c,d,e,f)|0}function zl(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;q=oc;o=oc=oc+31&-32;oc=oc+16|0;if(c[b+8>>2]|0)R(129555,129581,375,129597);a[b+1>>0]=0;p=sl(b,e)|0;if(!p){p=7;oc=q;return p|0}j=p+28|0;do if((c[j>>2]|0)<(e|0)){i=Fq(e)|0;if(i|0){k=p+20|0;l=c[k>>2]|0;if(l|0){pD(i|0,l|0,c[p+24>>2]|0)|0;Gq(l)}c[k>>2]=i;c[j>>2]=e;break}c[o>>2]=p;e=p;i=b+40|0;j=b+44|0;k=c[j>>2]|0;do if(k-(c[i>>2]|0)>>2>>>0<16)if((c[b+48>>2]|0)==(k|0)){Ue(i,o);break}else{c[k>>2]=e;c[j>>2]=(c[j>>2]|0)+4;break}else{Gq(c[p+20>>2]|0);e=c[p+32>>2]|0;if(e|0){c[p+36>>2]=e;xB(e)}xB(p)}while(0);p=7;oc=q;return p|0}else i=c[p+20>>2]|0;while(0);pD(i|0,d|0,e|0)|0;n=p+24|0;c[n>>2]=e;d=p+8|0;c[d>>2]=f;c[d+4>>2]=g;c[p+16>>2]=h;a:do if((e|0)>2){d=p+32|0;f=p+36|0;g=p+40|0;i=c[p+20>>2]|0;l=0;while(1){k=i+2|0;j=a[k>>0]|0;switch(j<<24>>24){case 0:case 3:{if((a[i>>0]|0)==0?(m=i+1|0,j<<24>>24==3&(a[m>>0]|0)==0):0){j=c[f>>2]|0;e=l+2+(j-(c[d>>2]|0)>>2)|0;c[o>>2]=e;if((c[g>>2]|0)==(j|0))tl(d,o);else{c[j>>2]=e;c[f>>2]=j+4}qD(k|0,i+3|0,-3-l+(c[n>>2]|0)|0)|0;e=(c[n>>2]|0)+-1|0;c[n>>2]=e;j=l+1|0;i=m}else j=l;break}default:{j=l+2|0;i=k}}l=j+1|0;if((l|0)>=(e+-2|0))break a;else i=i+1|0}}while(0);d=b+16|0;k=c[d>>2]|0;o=(c[b+20>>2]|0)-k|0;l=b+28|0;f=b+32|0;i=c[f>>2]|0;j=i+(c[l>>2]|0)|0;if((((o|0)==0?0:(o<<8)+-1|0)|0)==(j|0)){ul(b+12|0);i=c[f>>2]|0;j=(c[l>>2]|0)+i|0;k=c[d>>2]|0;e=c[n>>2]|0}c[(c[k+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]=p;c[f>>2]=i+1;p=b+36|0;c[p>>2]=(c[p>>2]|0)+e;p=0;oc=q;return p|0}function Al(b){b=b|0;var d=0;if((c[b+2196>>2]|0)<=0){d=0;return d|0}d=c[b+2192>>2]|0;d=c[(c[(c[b+2180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0;if(!d){d=0;return d|0}a[d+104>>0]=0;Bl(b+2144|0);return d|0}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=c[b>>2]|0;e=a+48|0;f=c[e>>2]|0;a=a+52|0;c[a>>2]=(c[a>>2]|0)+-1;a=f+1|0;c[e>>2]=a;if(a>>>0<=2047)return;xB(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)+4;c[e>>2]=(c[e>>2]|0)+-1024;return}function Cl(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=a+76|0;break}case 2:case 1:{a=a+84|0;break}default:{b=0;return b|0}}b=c[a>>2]|0;return b|0}function Dl(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=a+80|0;break}case 2:case 1:{a=a+88|0;break}default:{b=0;return b|0}}b=c[a>>2]|0;return b|0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(b>>>0>=3)R(129617,129606,639,129644);f=c[a+64+(b<<2)>>2]|0;if(!d)return f|0;e=c[((b|0)==0?a+40|0:a+44|0)>>2]|0;switch(b|0){case 0:{a=(c[a+128>>2]|0)+4996|0;g=7;break}case 2:case 1:{a=(c[a+128>>2]|0)+5004|0;g=7;break}default:a=0}if((g|0)==7)a=((c[a>>2]|0)+7|0)/8|0;c[d>>2]=z(a,e)|0;return f|0}function Fl(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;if(!b)return;if((e|0)==0|(f|0)==0)f=1;else{c[b+32>>2]=e;c[b+12>>2]=f;k=b+16|0;c[k>>2]=f;j=e;a:do if(f>>>0>3){i=(d[e+2>>0]|0)<<8|(d[e+3>>0]|0)|(d[e+1>>0]|0)<<16|(d[e>>0]|0)<<24;h=f+-4|0;c[k>>2]=h;c[b>>2]=i;i=e+4|0;if(h>>>0>3){g=(d[e+6>>0]|0)<<8|(d[e+7>>0]|0)|(d[e+5>>0]|0)<<16|(d[i>>0]|0)<<24;f=f+-8|0;break}switch(f|0){case 7:{f=a[e+6>>0]|0;l=13;break}case 6:{f=0;l=13;break}case 5:{f=0;g=0;break}default:{f=0;h=0;g=0;l=15;break a}}if((l|0)==13)g=a[e+5>>0]|0;h=g;g=a[i>>0]|0;l=15}else{switch(f|0){case 3:{f=a[e+2>>0]|0;l=6;break}case 2:{f=0;l=6;break}case 1:{f=0;g=0;l=7;break}default:{f=0;g=0;h=0}}if((l|0)==6){g=a[e+1>>0]|0;l=7}if((l|0)==7)h=a[e>>0]|0;c[k>>2]=0;c[b>>2]=(g&255)<<16|(h&255)<<24|(f&255)<<8;f=0;h=0;g=0;l=15}while(0);if((l|0)==15){g=(h&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[k>>2]=f;c[b+4>>2]=g;c[b+28>>2]=j;c[b+24>>2]=e+8;c[b+8>>2]=32;f=0}a[b+20>>0]=f;return}function Gl(a){a=a|0;return}function Hl(a){a=a|0;return -32-(c[a+8>>2]|0)+((c[a+24>>2]|0)-(c[a+28>>2]|0)<<3)|0}function Il(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=b+8|0;e=c[n>>2]|0;f=0-e&7;if(!f){n=0;return n|0}m=8-f|0;if(!(a[b+20>>0]|0)){if(e>>>0<=m>>>0){k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;f=c[l>>2]|0;h=b+24|0;i=c[h>>2]|0;if(f>>>0>3){b=d[i+2>>0]<<8|d[i+3>>0]|d[i+1>>0]<<16|d[i>>0]<<24;f=f+-4|0}else{switch(f|0){case 3:{f=a[i+2>>0]|0;j=8;break}case 2:{f=0;j=8;break}case 1:{f=0;b=0;j=9;break}default:{f=0;b=0;g=0}}if((j|0)==8){b=a[i+1>>0]|0;j=9}if((j|0)==9)g=a[i>>0]|0;b=(b&255)<<16|(g&255)<<24|(f&255)<<8;f=0}c[l>>2]=f;c[k>>2]=b;c[h>>2]=i+4;e=e+32|0}c[n>>2]=e-m}n=m&255;return n|0}function Jl(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;i=b+4|0;c[b>>2]=c[i>>2];j=b+16|0;f=c[j>>2]|0;k=b+24|0;l=c[k>>2]|0;if(f>>>0>3){m=(d[l+2>>0]|0)<<8|(d[l+3>>0]|0)|(d[l+1>>0]|0)<<16|(d[l>>0]|0)<<24;h=f+-4|0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}switch(f|0){case 3:{f=a[l+2>>0]|0;m=5;break}case 2:{f=0;m=5;break}case 1:{f=0;g=0;m=6;break}default:{f=0;g=0;h=0}}if((m|0)==5){g=a[l+1>>0]|0;m=6}if((m|0)==6)h=a[l>>0]|0;m=(g&255)<<16|(h&255)<<24|(f&255)<<8;h=0;c[j>>2]=h;c[i>>2]=m;m=l+4|0;c[k>>2]=m;k=32-e|0;m=b+8|0;l=c[m>>2]|0;l=k+l|0;c[m>>2]=l;return}function Kl(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;m=e>>5;k=e&31;e=(c[b+12>>2]|0)-(m<<2)|0;l=b+16|0;c[l>>2]=e;j=c[b+28>>2]|0;h=j+(m<<2)|0;a:do if(e>>>0>3){f=(d[h+2>>0]|0)<<8|(d[h+3>>0]|0)|(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24;h=e+-4|0;c[l>>2]=h;c[b>>2]=f;f=j+(m+1<<2)|0;if(h>>>0>3){i=(d[f+2>>0]|0)<<8|(d[f+3>>0]|0)|(d[f+1>>0]|0)<<16|(d[f>>0]|0)<<24;h=e+-8|0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}switch(e|0){case 7:{e=a[f+2>>0]|0;i=11;break}case 6:{e=0;i=11;break}case 5:{e=0;g=0;break}default:{e=0;g=0;f=0;break a}}if((i|0)==11)g=a[f+1>>0]|0;f=a[f>>0]|0}else{switch(e|0){case 3:{e=a[h+2>>0]|0;i=4;break}case 2:{e=0;i=4;break}case 1:{e=0;f=0;i=5;break}default:{e=0;g=0;f=0}}if((i|0)==4){f=a[h+1>>0]|0;i=5}if((i|0)==5){g=f;f=a[h>>0]|0}c[l>>2]=0;c[b>>2]=(g&255)<<16|(f&255)<<24|(e&255)<<8;e=0;g=0;f=0}while(0);i=(g&255)<<16|(f&255)<<24|(e&255)<<8;h=0;c[l>>2]=h;l=b+4|0;c[l>>2]=i;k=32-k|0;l=b+8|0;c[l>>2]=k;l=m+2|0;l=j+(l<<2)|0;m=b+24|0;c[m>>2]=l;m=b+20|0;a[m>>0]=0;return}function Ll(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=c>>>3;d=c&7;e=Ml(f+1|0)|0;if(f|0){c=0;do{a[e+c>>0]=Nl(b,8)|0;c=c+1|0}while((c|0)!=(f|0))}if(!d)return e|0;a[e+f>>0]=(Nl(b,d)|0)<<8-d;return e|0}function Ml(a){a=a|0;return Fq(a)|0}function Nl(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;if(!e){o=0;return o|0}o=b+8|0;m=c[o>>2]|0;if(m>>>0<e>>>0){n=e-m|0;n=(c[b>>2]&(1<<m)+-1)<<n|(c[b+4>>2]|0)>>>(32-n|0)}else n=c[b>>2]<<32-m>>>(32-e|0);if(a[b+20>>0]|0){o=n;return o|0}if(m>>>0>e>>>0)b=m-e|0;else{k=b+4|0;c[b>>2]=c[k>>2];l=b+16|0;g=c[l>>2]|0;i=b+24|0;j=c[i>>2]|0;if(g>>>0>3){f=d[j+2>>0]<<8|d[j+3>>0]|d[j+1>>0]<<16|d[j>>0]<<24;b=g+-4|0}else{switch(g|0){case 3:{b=a[j+2>>0]|0;h=12;break}case 2:{b=0;h=12;break}case 1:{b=0;f=0;h=13;break}default:{b=0;f=0;g=0}}if((h|0)==12){f=a[j+1>>0]|0;h=13}if((h|0)==13)g=a[j>>0]|0;f=(f&255)<<16|(g&255)<<24|(b&255)<<8;b=0}c[l>>2]=b;c[k>>2]=f;c[i>>2]=j+4;b=32-e+m|0}c[o>>2]=b;o=n;return o|0}function Ol(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=z(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))Pl(k,q,d,v,g,h,i);else Pl(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))Ql(k,q,d,v,g);else Ql(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))Rl(k,q,d,v,g,h,-1);else Rl(k,q,v,d,g,h,-1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))Sl(k,q,d,v,g,h,i,j,-1);else Sl(k,q,v,d,g,h,i,j,-1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(z(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function Pl(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;w=+f[c+(h<<3)>>2];B=C+w;w=C-w;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];y=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];x=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=y+x;f[d+(h<<3)+4>>2]=y-x;h=i+s|0;f[d+(h<<3)>>2]=w-v;r=i+a|0;f[d+(r<<3)>>2]=w+v;f[d+(h<<3)+4>>2]=u-t;f[d+(r<<3)+4>>2]=u+t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=z(s,r)|0;k=z(a,s)|0;l=z(i,s)|0;p=0;do{if(!b){m=(z(q,p)|0)&65532;n=(z(p,r)|0)&65535;o=0;do{E=o+m|0;A=+f[c+(E<<3)>>2];D=E+a|0;u=+f[c+(D<<3)>>2];x=A+u;u=A-u;A=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=A+t;t=A-t;D=E+r|0;A=+f[c+(D<<3)>>2];E=E+i|0;y=+f[c+(E<<3)>>2];C=A+y;y=A-y;A=+f[c+(E<<3)+4>>2];B=+f[c+(D<<3)+4>>2];w=A+B;B=A-B;A=u-B;B=u+B;u=t-y;y=t+y;D=o+n|0;f[d+(D<<3)>>2]=x+C;C=x-C;f[d+(D<<3)+4>>2]=v+w;w=v-w;E=D+j|0;v=+f[e+(o<<3)>>2];x=+f[e+(o<<3)+4>>2];f[d+(E<<3)>>2]=A*v+u*x;f[d+(E<<3)+4>>2]=u*v-A*x;E=D+k|0;x=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)>>2]=C*x+w*A;f[d+(E<<3)+4>>2]=w*x-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)>>2]=B*A+y*C;f[d+(D<<3)+4>>2]=y*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function Ql(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=z(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(z(k,h)|0)&65534;g=(z(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];o=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];q=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)>>2]=o*p+q*n;f[d+(m<<3)+4>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function Rl(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0;l=a&65535;i=h<<24>>24==1;m=b&65535;h=b<<16>>16!=0;if(a<<16>>16==1)if(i){if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;r=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;n=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];q=p-r*.5;j=c+(j<<3)+4|0;o=+f[j>>2]-n*.5;f[d+(b<<3)>>2]=r+p;f[d+(b<<3)+4>>2]=n+ +f[j>>2];n=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=q-p;f[d+(l<<3)+4>>2]=o+n;l=b+h|0;f[d+(l<<3)>>2]=q+p;f[d+(l<<3)+4>>2]=o-n;b=b+1|0}while((b|0)!=(m|0));return}else{if(!h)return;h=m<<1;b=0;do{j=(b*3|0)+1&65535;k=c+(j<<3)|0;l=j+1|0;e=c+(l<<3)|0;n=+f[k>>2]+ +f[e>>2];g=c+(j<<3)+4|0;l=c+(l<<3)+4|0;r=+f[g>>2]+ +f[l>>2];j=j+-1|0;p=+f[c+(j<<3)>>2];o=p-n*.5;j=c+(j<<3)+4|0;q=+f[j>>2]-r*.5;f[d+(b<<3)>>2]=n+p;f[d+(b<<3)+4>>2]=r+ +f[j>>2];r=(+f[k>>2]-+f[e>>2])*.8660253882408142;p=(+f[g>>2]-+f[l>>2])*.8660253882408142;l=b+m|0;f[d+(l<<3)>>2]=o+p;f[d+(l<<3)+4>>2]=q-r;l=b+h|0;f[d+(l<<3)>>2]=o-p;f[d+(l<<3)+4>>2]=q+r;b=b+1|0}while((b|0)!=(m|0));return}if(i){if(!h)return;j=z(m,l)|0;k=z(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=z((a*3|0)+1|0,l)|0;b=z(a,l)|0;i=0;do{v=i+h&65535;x=c+(v<<3)|0;t=v+l|0;w=c+(t<<3)|0;o=+f[x>>2]+ +f[w>>2];y=v-l|0;n=+f[c+(y<<3)>>2];p=n-o*.5;v=c+(v<<3)+4|0;t=c+(t<<3)+4|0;r=+f[v>>2]+ +f[t>>2];y=c+(y<<3)+4|0;u=+f[y>>2]-r*.5;s=i+b&65535;f[d+(s<<3)>>2]=n+o;f[d+(s<<3)+4>>2]=r+ +f[y>>2];r=(+f[x>>2]-+f[w>>2])*.8660253882408142;o=(+f[v>>2]-+f[t>>2])*.8660253882408142;n=p-o;q=u-r;o=p+o;r=u+r;t=s+j|0;u=+f[e+(i<<3)>>2];p=+f[e+(i<<3)+4>>2];f[d+(t<<3)+4>>2]=r*u+p*n;f[d+(t<<3)>>2]=u*n-r*p;s=s+k|0;p=+f[g+(i<<3)>>2];r=+f[g+(i<<3)+4>>2];f[d+(s<<3)+4>>2]=q*p+o*r;f[d+(s<<3)>>2]=o*p-q*r;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}else{if(!h)return;j=z(m,l)|0;k=z(l<<1,m)|0;if(!(a<<16>>16))return;else a=0;do{h=z((a*3|0)+1|0,l)|0;b=z(a,l)|0;i=0;do{w=i+h&65535;t=c+(w<<3)|0;x=w+l|0;v=c+(x<<3)|0;r=+f[t>>2]+ +f[v>>2];s=w-l|0;q=+f[c+(s<<3)>>2];u=q-r*.5;w=c+(w<<3)+4|0;x=c+(x<<3)+4|0;n=+f[w>>2]+ +f[x>>2];s=c+(s<<3)+4|0;o=+f[s>>2]-n*.5;y=i+b&65535;f[d+(y<<3)>>2]=q+r;f[d+(y<<3)+4>>2]=n+ +f[s>>2];n=(+f[t>>2]-+f[v>>2])*.8660253882408142;r=(+f[w>>2]-+f[x>>2])*.8660253882408142;q=u+r;p=o+n;r=u-r;n=o-n;x=y+j|0;o=+f[e+(i<<3)>>2];u=+f[e+(i<<3)+4>>2];f[d+(x<<3)>>2]=n*u+o*q;f[d+(x<<3)+4>>2]=n*o-u*q;y=y+k|0;q=+f[g+(i<<3)>>2];u=+f[g+(i<<3)+4>>2];f[d+(y<<3)>>2]=r*q+p*u;f[d+(y<<3)+4>>2]=p*q-r*u;i=i+1|0}while((i|0)!=(l|0));a=a+1|0}while((a|0)!=(m|0));return}}function Sl(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0;s=a&65535;k=j<<24>>24==1;t=b&65535;j=b<<16>>16!=0;if(a<<16>>16==1)if(k){if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;w=+f[c+(s<<3)>>2];h=s+3|0;x=+f[c+(h<<3)>>2];B=w+x;F=+f[c+(s<<3)+4>>2];D=+f[c+(h<<3)+4>>2];A=F+D;h=s+1|0;v=+f[c+(h<<3)>>2];i=s+2|0;y=+f[c+(i<<3)>>2];G=v+y;u=+f[c+(h<<3)+4>>2];C=+f[c+(i<<3)+4>>2];E=u+C;y=v-y;C=u-C;x=w-x;D=F-D;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=G+(B+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=E+(A+ +f[s>>2]);F=+f[i>>2];w=B*.30901700258255005+F-G*.80901700258255;u=+f[s>>2];v=A*.30901700258255005+u-E*.80901700258255;B=G*.30901700258255005+(F-B*.80901700258255);A=E*.30901700258255005+(u-A*.80901700258255);u=x*.9510565400123596+y*.5877852439880371;y=x*.5877852439880371-y*.9510565400123596;x=D*.9510565400123596+C*.5877852439880371;C=D*.5877852439880371-C*.9510565400123596;s=a+t|0;f[d+(s<<3)>>2]=w-x;f[d+(s<<3)+4>>2]=u+v;s=a+j|0;f[d+(s<<3)>>2]=B-C;f[d+(s<<3)+4>>2]=y+A;s=a+b|0;f[d+(s<<3)>>2]=C+B;f[d+(s<<3)+4>>2]=A-y;s=a+k|0;f[d+(s<<3)>>2]=x+w;f[d+(s<<3)+4>>2]=v-u;a=a+1|0}while((a|0)!=(t|0));return}else{if(!j)return;j=t<<1;b=t*3|0;k=t<<2;a=0;do{s=(a*5|0)+1&65535;D=+f[c+(s<<3)>>2];h=s+3|0;A=+f[c+(h<<3)>>2];y=D+A;v=+f[c+(s<<3)+4>>2];x=+f[c+(h<<3)+4>>2];C=v+x;h=s+1|0;G=+f[c+(h<<3)>>2];i=s+2|0;F=+f[c+(i<<3)>>2];u=G+F;B=+f[c+(h<<3)+4>>2];E=+f[c+(i<<3)+4>>2];w=B+E;F=G-F;E=B-E;A=D-A;x=v-x;s=s+-1|0;i=c+(s<<3)|0;f[d+(a<<3)>>2]=u+(y+ +f[i>>2]);s=c+(s<<3)+4|0;f[d+(a<<3)+4>>2]=w+(C+ +f[s>>2]);v=+f[i>>2];D=y*.30901700258255005+v-u*.80901700258255;B=+f[s>>2];G=C*.30901700258255005+B-w*.80901700258255;y=u*.30901700258255005+(v-y*.80901700258255);C=w*.30901700258255005+(B-C*.80901700258255);B=A*.5877852439880371+F*.9510565400123596;F=A*.9510565400123596-F*.5877852439880371;A=x*.5877852439880371+E*.9510565400123596;E=x*.9510565400123596-E*.5877852439880371;s=a+t|0;f[d+(s<<3)>>2]=E+D;f[d+(s<<3)+4>>2]=G-F;s=a+j|0;f[d+(s<<3)>>2]=A+y;f[d+(s<<3)+4>>2]=C-B;s=a+b|0;f[d+(s<<3)>>2]=y-A;f[d+(s<<3)+4>>2]=B+C;s=a+k|0;f[d+(s<<3)>>2]=D-E;f[d+(s<<3)+4>>2]=F+G;a=a+1|0}while((a|0)!=(t|0));return}if(k){if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=z(t,s)|0;l=z(k,t)|0;m=z(b,t)|0;n=z(s<<2,t)|0;r=0;do{if(!j){o=z((r*5|0)+1|0,s)|0;p=z(r,s)|0;q=0;do{I=q+o&65535;u=+f[c+(I<<3)>>2];H=I+b|0;x=+f[c+(H<<3)>>2];C=u+x;B=+f[c+(I<<3)+4>>2];A=+f[c+(H<<3)+4>>2];w=B+A;H=I+s|0;v=+f[c+(H<<3)>>2];J=I+k|0;G=+f[c+(J<<3)>>2];D=v+G;F=+f[c+(H<<3)+4>>2];y=+f[c+(J<<3)+4>>2];E=F+y;G=v-G;y=F-y;x=u-x;A=B-A;I=I-s|0;J=c+(I<<3)|0;H=q+p&65535;f[d+(H<<3)>>2]=D+(C+ +f[J>>2]);I=c+(I<<3)+4|0;f[d+(H<<3)+4>>2]=E+(w+ +f[I>>2]);B=+f[J>>2];u=C*.30901700258255005+B-D*.80901700258255;F=+f[I>>2];v=w*.30901700258255005+F-E*.80901700258255;C=D*.30901700258255005+(B-C*.80901700258255);w=E*.30901700258255005+(F-w*.80901700258255);F=x*.9510565400123596+G*.5877852439880371;G=x*.5877852439880371-G*.9510565400123596;x=A*.9510565400123596+y*.5877852439880371;y=A*.5877852439880371-y*.9510565400123596;A=F+v;E=G+w;B=y+C;D=x+u;x=u-x;F=v-F;y=C-y;G=w-G;I=H+a|0;w=+f[e+(q<<3)>>2];C=+f[e+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=x*C+w*A;f[d+(I<<3)>>2]=w*x-C*A;I=H+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=E*A+y*C;f[d+(I<<3)>>2]=y*A-E*C;I=H+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)+4>>2]=G*C+B*E;f[d+(I<<3)>>2]=B*C-G*E;H=H+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(H<<3)+4>>2]=F*E+D*G;f[d+(H<<3)>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}else{if(!j)return;j=a<<16>>16==0;b=s*3|0;k=s<<1;a=z(t,s)|0;l=z(k,t)|0;m=z(b,t)|0;n=z(s<<2,t)|0;r=0;do{if(!j){o=z((r*5|0)+1|0,s)|0;p=z(r,s)|0;q=0;do{I=q+o&65535;C=+f[c+(I<<3)>>2];J=I+b|0;A=+f[c+(J<<3)>>2];E=C+A;G=+f[c+(I<<3)+4>>2];x=+f[c+(J<<3)+4>>2];B=G+x;J=I+s|0;D=+f[c+(J<<3)>>2];H=I+k|0;v=+f[c+(H<<3)>>2];F=D+v;w=+f[c+(J<<3)+4>>2];u=+f[c+(H<<3)+4>>2];y=w+u;v=D-v;u=w-u;A=C-A;x=G-x;I=I-s|0;H=c+(I<<3)|0;J=q+p&65535;f[d+(J<<3)>>2]=F+(E+ +f[H>>2]);I=c+(I<<3)+4|0;f[d+(J<<3)+4>>2]=y+(B+ +f[I>>2]);G=+f[H>>2];C=E*.30901700258255005+G-F*.80901700258255;w=+f[I>>2];D=B*.30901700258255005+w-y*.80901700258255;E=F*.30901700258255005+(G-E*.80901700258255);B=y*.30901700258255005+(w-B*.80901700258255);w=A*.5877852439880371+v*.9510565400123596;v=A*.9510565400123596-v*.5877852439880371;A=x*.5877852439880371+u*.9510565400123596;u=x*.9510565400123596-u*.5877852439880371;x=D-v;y=B-w;G=E-A;F=C-u;C=u+C;D=v+D;E=A+E;B=w+B;I=J+a|0;w=+f[e+(q<<3)>>2];A=+f[e+(q<<3)+4>>2];f[d+(I<<3)>>2]=w*C+A*x;f[d+(I<<3)+4>>2]=w*x-C*A;I=J+l|0;A=+f[g+(q<<3)>>2];C=+f[g+(q<<3)+4>>2];f[d+(I<<3)>>2]=E*A+y*C;f[d+(I<<3)+4>>2]=y*A-E*C;I=J+m|0;C=+f[h+(q<<3)>>2];E=+f[h+(q<<3)+4>>2];f[d+(I<<3)>>2]=G*C+B*E;f[d+(I<<3)+4>>2]=B*C-G*E;J=J+n|0;E=+f[i+(q<<3)>>2];G=+f[i+(q<<3)+4>>2];f[d+(J<<3)>>2]=F*E+D*G;f[d+(J<<3)+4>>2]=D*E-F*G;q=q+1|0}while((q|0)!=(s|0))}r=r+1|0}while((r|0)!=(t|0));return}}function Tl(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=b[a>>1]|0;v=c[a+32>>2]|0;t=c[a+36>>2]|0;r=(e[a+4>>1]|0)+1|0;if(r>>>0<2)return;u=s&65535;p=2;q=1;g=0;l=0;f=2;while(1){j=b[a+2+(f<<1)>>1]|0;m=j&65535;n=z(m,q&65535)|0;o=(u>>>0)/((n&65535)>>>0)|0;k=o&65535;switch(j<<16>>16){case 4:{f=g&65535;i=o+f|0;g=t+(f<<3)|0;h=t+((i&65535)<<3)|0;i=t+((i+o&65535)<<3)|0;if(!(l<<16>>16))Ul(k,q,d,v,g,h,i);else Ul(k,q,v,d,g,h,i);h=1-(l&65535)&65535;break}case 2:{f=g&65535;g=t+(f<<3)|0;if(!(l<<16>>16))Vl(k,q,d,v,g);else Vl(k,q,v,d,g);h=1-(l&65535)&65535;break}case 3:{f=g&65535;g=t+(f<<3)|0;h=t+((o+f&65535)<<3)|0;if(!(l<<16>>16))Rl(k,q,d,v,g,h,1);else Rl(k,q,v,d,g,h,1);h=1-(l&65535)&65535;break}case 5:{f=g&65535;h=o+f|0;j=h+o|0;g=t+(f<<3)|0;h=t+((h&65535)<<3)|0;i=t+((j&65535)<<3)|0;j=t+((j+o&65535)<<3)|0;if(!(l<<16>>16))Sl(k,q,d,v,g,h,i,j,1);else Sl(k,q,v,d,g,h,i,j,1);h=1-(l&65535)&65535;break}default:{h=l;f=g&65535}}q=n&65535;g=f+(z(m+-1|0,o)|0)&65535;p=p+1<<16>>16;f=p&65535;if(r>>>0<f>>>0)break;else l=h}if(s<<16>>16!=0&h<<16>>16!=0)f=0;else return;do{c[d+(f<<3)>>2]=c[v+(f<<3)>>2];c[d+(f<<3)+4>>2]=c[v+(f<<3)+4>>2];f=f+1|0}while((f|0)!=(u|0));return}function Ul(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|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.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0;r=a&65535;s=b&65535;b=b<<16>>16!=0;if(a<<16>>16==1){if(!b)return;b=s<<1;a=s*3|0;i=0;do{r=i<<2&65532;C=+f[c+(r<<3)>>2];h=r|2;w=+f[c+(h<<3)>>2];B=C+w;w=C-w;C=+f[c+(r<<3)+4>>2];u=+f[c+(h<<3)+4>>2];y=C+u;u=C-u;h=r|1;C=+f[c+(h<<3)>>2];r=r|3;t=+f[c+(r<<3)>>2];A=C+t;t=C-t;C=+f[c+(r<<3)+4>>2];v=+f[c+(h<<3)+4>>2];x=C+v;v=C-v;f[d+(i<<3)>>2]=B+A;h=i+b|0;f[d+(h<<3)>>2]=B-A;f[d+(i<<3)+4>>2]=y+x;f[d+(h<<3)+4>>2]=y-x;h=i+s|0;f[d+(h<<3)>>2]=w+v;r=i+a|0;f[d+(r<<3)>>2]=w-v;f[d+(h<<3)+4>>2]=u+t;f[d+(r<<3)+4>>2]=u-t;i=i+1|0}while((i|0)!=(s|0));return}if(!b)return;q=r<<2;b=a<<16>>16==0;a=r<<1;i=r*3|0;j=z(s,r)|0;k=z(a,s)|0;l=z(i,s)|0;p=0;do{if(!b){m=(z(q,p)|0)&65532;n=(z(p,r)|0)&65535;o=0;do{E=o+m|0;u=+f[c+(E<<3)>>2];D=E+a|0;A=+f[c+(D<<3)>>2];x=u+A;A=u-A;u=+f[c+(E<<3)+4>>2];t=+f[c+(D<<3)+4>>2];v=u+t;t=u-t;D=E+r|0;u=+f[c+(D<<3)>>2];E=E+i|0;B=+f[c+(E<<3)>>2];w=u+B;B=u-B;u=+f[c+(E<<3)+4>>2];y=+f[c+(D<<3)+4>>2];C=u+y;y=u-y;u=A+y;y=A-y;A=t+B;B=t-B;D=o+n|0;f[d+(D<<3)>>2]=x+w;w=x-w;f[d+(D<<3)+4>>2]=v+C;C=v-C;E=D+j|0;v=+f[e+(o<<3)>>2];x=+f[e+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=A*v+u*x;f[d+(E<<3)>>2]=u*v-A*x;E=D+k|0;x=+f[g+(o<<3)>>2];A=+f[g+(o<<3)+4>>2];f[d+(E<<3)+4>>2]=C*x+w*A;f[d+(E<<3)>>2]=w*x-C*A;D=D+l|0;A=+f[h+(o<<3)>>2];C=+f[h+(o<<3)+4>>2];f[d+(D<<3)+4>>2]=B*A+y*C;f[d+(D<<3)>>2]=y*A-B*C;o=o+1|0}while((o|0)!=(r|0))}p=p+1|0}while((p|0)!=(s|0));return}function Vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;l=a&65535;g=b<<16>>16==0;if(a<<16>>16==1){if(g)return;b=b&65535;g=0;do{k=g<<2&65532;h=c+(k<<3)|0;e=k|1;i=c+(e<<3)|0;j=g<<1&65534;f[d+(j<<3)>>2]=+f[h>>2]+ +f[i>>2];l=j+b|0;f[d+(l<<3)>>2]=+f[h>>2]-+f[i>>2];k=c+(k<<3)+4|0;e=c+(e<<3)+4|0;f[d+(j<<3)+4>>2]=+f[k>>2]+ +f[e>>2];f[d+(l<<3)+4>>2]=+f[k>>2]-+f[e>>2];g=g+1|0}while((g|0)!=(b|0));return}if(g)return;j=b&65535;k=l<<1;i=z(j,l)|0;if(!(a<<16>>16))return;else h=0;do{b=(z(k,h)|0)&65534;g=(z(h,l)|0)&65535;a=0;do{s=a+b|0;u=c+(s<<3)|0;r=s+l|0;t=c+(r<<3)|0;m=a+g|0;f[d+(m<<3)>>2]=+f[u>>2]+ +f[t>>2];q=+f[u>>2]-+f[t>>2];s=c+(s<<3)+4|0;r=c+(r<<3)+4|0;f[d+(m<<3)+4>>2]=+f[s>>2]+ +f[r>>2];o=+f[s>>2]-+f[r>>2];m=m+i|0;p=+f[e+(a<<3)>>2];n=+f[e+(a<<3)+4>>2];f[d+(m<<3)+4>>2]=o*p+q*n;f[d+(m<<3)>>2]=q*p-o*n;a=a+1|0}while((a|0)!=(l|0));h=h+1|0}while((h|0)!=(j|0));return}function Wl(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,y=0,A=0,B=0;u=Ml(40)|0;b[u>>1]=a;v=a&65535;y=v<<3;c[u+32>>2]=Ml(y)|0;y=Ml(y)|0;c[u+36>>2]=y;A=u+2|0;p=u+6|0;h=a;g=0;d=0;e=0;a:while(1){d=d+1<<16>>16;if((d&65535)<5)e=b[113916+((d&65535)+-1<<1)>>1]|0;else e=(e&65535)+2&65535;n=e&65535;if(e<<16>>16==2)j=h;else while(1){i=h;h=(h&65535)/(e&65535)|0;if((i&65535)-(z(h&65535,n)|0)&65535|0){h=i;continue a}g=g+1<<16>>16;b[A+((g&65535)+1<<1)>>1]=e;if(h<<16>>16==1)break a}while(1){h=j;j=(j&65535)>>>1;if((h&65535)-(z(j&65535,n)|0)&65535|0)continue a;i=g+1<<16>>16;h=i&65535;b[A+(h+1<<1)>>1]=2;if(g<<16>>16){if((i&65535)>=2){h=h+2|0;g=2;do{s=h-(g&65535)&65535;b[A+(s+1<<1)>>1]=b[A+(s<<1)>>1]|0;g=g+1<<16>>16}while((i&65535)>=(g&65535))}b[p>>1]=2}if(j<<16>>16==1){g=i;break a}else g=i}}b[A>>1]=a;b[u+4>>1]=g;t=6.2831854820251465/+(a&65535);if(!(g<<16>>16))return u|0;else{r=1;s=1;d=0}do{e=b[A+((r&65535)+1<<1)>>1]|0;p=s&65535;s=z(p,e&65535)|0;h=s&65535;a=(v>>>0)/(h>>>0)|0;q=e+-1<<16>>16;do if(q<<16>>16){i=(e&65535)>5;if(h>>>0>v>>>0){h=d&65535;e=y+(h<<3)|0;h=y+(h<<3)+4|0;if(i){c[e>>2]=1065353216;c[h>>2]=0;break}else{f[e>>2]=1.0;f[h>>2]=0.0;break}}if(i){j=0;n=0;do{i=d&65535;h=y+(i<<3)|0;f[h>>2]=1.0;i=y+(i<<3)+4|0;f[i>>2]=0.0;j=(j&65535)+p|0;o=t*+(j&65535|0);e=0;m=0.0;do{d=d+1<<16>>16;m=m+1.0;l=o*m;k=+w(+l);B=d&65535;f[y+(B<<3)>>2]=k;l=+x(+l);f[y+(B<<3)+4>>2]=l;e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);f[h>>2]=k;f[i>>2]=l;n=n+1<<16>>16}while((n&65535)<(q&65535))}else{h=0;i=0;do{e=d&65535;f[y+(e<<3)>>2]=1.0;f[y+(e<<3)+4>>2]=0.0;h=(h&65535)+p|0;l=t*+(h&65535|0);e=0;k=0.0;do{d=d+1<<16>>16;k=k+1.0;o=l*k;B=d&65535;f[y+(B<<3)>>2]=+w(+o);f[y+(B<<3)+4>>2]=+x(+o);e=e+1<<16>>16}while(a>>>0>(e&65535)>>>0);i=i+1<<16>>16}while((i&65535)<(q&65535))}}while(0);r=r+1<<16>>16}while((r&65535)<=(g&65535));return u|0}function Xl(a){a=a|0;var b=0;b=c[a+32>>2]|0;if(b|0)Yl(b);b=c[a+36>>2]|0;if(!b){Yl(a);return}Yl(b);Yl(a);return}function Yl(a){a=a|0;Gq(a);return}function Zl(a){a=a|0;if(a>>>0<=92016)if(a>>>0<=75131)if(a>>>0<=55425)if(a>>>0<=46008)if(a>>>0<=37565)if(a>>>0<=27712)if(a>>>0<=23003)if(a>>>0<=18782)if(a>>>0>13855)a=8;else return (a>>>0>11501?9:a>>>0>9390?10:11)|0;else a=7;else a=6;else a=5;else a=4;else a=3;else a=2;else a=1;else a=0;return a|0}function _l(a){a=a|0;if((a&255)>=12){a=0;return a|0}a=c[12952+((a&255)<<2)>>2]|0;return a|0}function $l(b){b=b|0;if((b&255)>=12){b=0;return b|0}b=a[137638+(b&255)>>0]|0;return b|0}function am(b,c,d){b=b|0;c=c|0;d=d|0;d=d<<24>>24!=0&1;return a[((c<<24>>24==3?d|2:d)&255)+(137650+((b&255)<<2))>>0]|0}function bm(a){a=a|0;switch(a<<24>>24){case 23:case 19:case 17:case 4:case 1:case 2:{a=0;break}case 3:{a=-1;break}default:a=-1}return a|0}function cm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=c[a>>2]|0;g=c[b>>2]|0;f=d[137714+(g>>>25&99)>>0]|0;e=(d[137714+(e&245)>>0]|0)<<31|e>>>1;c[a>>2]=e;a=g<<1|f;c[b>>2]=a;return e^a|0}function dm(a){a=a|0;if((a&255)>33){a=0;return a|0}a=c[12480+((a&255)<<2)>>2]|0;return a|0}function em(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ml(2388)|0;if(!d){k=0;return k|0}rD(d|0,0,2384)|0;c[d+2384>>2]=129666;a[d+2264>>0]=1;a[d+2256>>0]=1;c[d+2260>>2]=44100;a[d+2265>>0]=0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+6>>0]=0;a[d+7>>0]=0;a[d+8>>0]=0;b[d+10>>1]=1024;c[d+16>>2]=0;c[d+124>>2]=0;c[d+1648>>2]=1;c[d+1652>>2]=1;e=d+128|0;f=d+328|0;g=d+584|0;h=d+1136|0;i=d+192|0;j=d+1392|0;k=0;do{a[e+k>>0]=0;c[f+(k<<2)>>2]=0;c[g+(k<<2)>>2]=0;c[h+(k<<2)>>2]=0;b[i+(k<<1)>>1]=0;c[j+(k<<2)>>2]=0;k=k+1|0}while((k|0)!=64);rD(d+892|0,0,192)|0;c[d+324>>2]=fm(1.0,1.0)|0;k=d;return k|0}function fm(b,c){b=+b;c=+c;var d=0;d=Ml(192)|0;rD(d|0,0,184)|0;f[d+184>>2]=b;f[d+188>>2]=c;a[d+1>>0]=1;a[d+4>>0]=-1;a[d+22>>0]=1;a[d+39>>0]=0;return d|0}function gm(a){a=a|0;return ((a|0)==0?0:a+2256|0)|0}function hm(b,d){b=b|0;d=d|0;var e=0;if(!((b|0)!=0&(d|0)!=0)){b=0;return b|0}if((bm(a[d>>0]|0)|0)<<24>>24<0){b=0;return b|0}a[b+2256>>0]=a[d>>0]|0;e=c[d+4>>2]|0;if(!e){b=0;return b|0}c[b+2260>>2]=e;e=a[d+8>>0]|0;if((e+-1&255)>4){b=0;return b|0}a[b+2264>>0]=e;e=a[d+9>>0]|0;if((e&255)>1){b=0;return b|0}a[b+2265>>0]=e;b=1;return b|0}function im(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;n=e+8|0;m=e+4|0;o=e+20|0;i=0;while(1){f=c[n>>2]|0;if(f>>>0<12){h=12-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>20}b[d>>1]=h;j=(a[o>>0]|0)==0;if((h&65535|0)==4095)break;do if(j)if(f>>>0>8){c[n>>2]=f+-8;break}else{Jl(e,8);break}while(0);i=i+1<<16>>16;if((i&65535)>=768){f=5;l=125;break}}if((l|0)==125)return f|0;do if(j)if(f>>>0>12){f=f+-12|0;c[n>>2]=f;l=17;break}else{Jl(e,12);f=c[n>>2]|0;l=15;break}else l=15;while(0);do if((l|0)==15){if(f|0){g=c[e>>2]|0;l=17;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Jl(e,1);i=c[n>>2]|0;l=21;break}else{h=d+2|0;a[h>>0]=f;f=0;l=24;break}}while(0);if((l|0)==17){i=f+-1|0;c[n>>2]=i;f=g>>>i&1;l=21}do if((l|0)==21){g=d+2|0;a[g>>0]=f;if(i>>>0<2){h=g;f=i;g=c[m>>2]|0;l=24;break}else{f=c[e>>2]|0;j=f<<32-i>>>30;k=g;g=f;f=i;break}}while(0);if((l|0)==24){j=2-f|0;l=c[e>>2]|0;j=((1<<f)+-1&l)<<j|g>>>(32-j|0);k=h;g=l}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;a[d+3>>0]=j;l=31;break}else{Jl(e,2);f=c[n>>2]|0;l=29;break}else l=29;while(0);do if((l|0)==29){a[d+3>>0]=j;if(f|0){g=c[e>>2]|0;l=31;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Jl(e,1);g=c[n>>2]|0;l=35;break}else{a[d+4>>0]=f;f=0;l=38;break}}while(0);if((l|0)==31){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=35}do if((l|0)==35){a[d+4>>0]=f;if(g>>>0<2){f=g;g=c[m>>2]|0;l=38;break}else{h=c[e>>2]<<32-g>>>30;f=g;break}}while(0);if((l|0)==38){h=2-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>2){f=f+-2|0;c[n>>2]=f;break}else{Jl(e,2);f=c[n>>2]|0;break}while(0);a[d+5>>0]=h;if(f>>>0<4){h=4-f|0;g=c[e>>2]|0;h=(g&(1<<f)+-1)<<h|(c[m>>2]|0)>>>(32-h|0)}else{g=c[e>>2]|0;h=g<<32-f>>>28}do if(!(a[o>>0]|0))if(f>>>0>4){f=f+-4|0;c[n>>2]=f;a[d+6>>0]=h;l=52;break}else{Jl(e,4);f=c[n>>2]|0;l=50;break}else l=50;while(0);do if((l|0)==50){a[d+6>>0]=h;if(f|0){g=c[e>>2]|0;l=52;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Jl(e,1);g=c[n>>2]|0;l=56;break}else{a[d+7>>0]=f;f=0;l=59;break}}while(0);if((l|0)==52){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=56}do if((l|0)==56){a[d+7>>0]=f;if(g>>>0<3){f=g;g=c[m>>2]|0;l=59;break}else{j=c[e>>2]|0;h=j<<32-g>>>29;f=g;g=j;break}}while(0);if((l|0)==59){h=3-f|0;l=c[e>>2]|0;h=((1<<f)+-1&l)<<h|g>>>(32-h|0);g=l}do if(!(a[o>>0]|0))if(f>>>0>3){f=f+-3|0;c[n>>2]=f;a[d+8>>0]=h;l=66;break}else{Jl(e,3);f=c[n>>2]|0;l=64;break}else l=64;while(0);do if((l|0)==64){a[d+8>>0]=h;if(f|0){g=c[e>>2]|0;l=66;break}g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Jl(e,1);g=c[n>>2]|0;l=70;break}else{a[d+9>>0]=f;f=g>>>31;break}}while(0);if((l|0)==66){j=f+-1|0;c[n>>2]=j;f=g>>>j&1;g=j;l=70}do if((l|0)==70){a[d+9>>0]=f;if(g|0){f=g+-1|0;c[n>>2]=f;f=(c[e>>2]|0)>>>f&1;break}f=(c[m>>2]|0)>>>31;if(!(a[o>>0]|0))Jl(e,1)}while(0);a[d+10>>0]=f;if((a[d+22>>0]|0)==1?(a[k>>0]|0)==0:0){g=c[n>>2]|0;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{Jl(e,2);break}while(0);a[d+11>>0]=f}f=c[n>>2]|0;do if(!f){g=c[m>>2]|0;f=g>>>31;if(!(a[o>>0]|0)){Jl(e,1);g=c[n>>2]|0;l=89;break}else{a[d+12>>0]=f;f=g>>>31;l=92;break}}else{g=f+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1;l=89}while(0);do if((l|0)==89){a[d+12>>0]=f;if(!g){g=c[m>>2]|0;f=g>>>31;if(a[o>>0]|0){l=92;break}Jl(e,1);g=c[n>>2]|0}else{g=g+-1|0;c[n>>2]=g;f=(c[e>>2]|0)>>>g&1}a[d+13>>0]=f;if(g>>>0<13){f=g;g=c[m>>2]|0;l=97;break}else{h=c[e>>2]<<32-g>>>19;f=g;break}}while(0);if((l|0)==92){a[d+13>>0]=f;f=0;l=97}if((l|0)==97){h=13-f|0;h=((1<<f)+-1&c[e>>2])<<h|g>>>(32-h|0)}do if(!(a[o>>0]|0))if(f>>>0>13){g=f+-13|0;c[n>>2]=g;break}else{Jl(e,13);g=c[n>>2]|0;break}else g=f;while(0);b[d+14>>1]=h;if(g>>>0<11){f=11-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>21;do if(!(a[o>>0]|0))if(g>>>0>11){g=g+-11|0;c[n>>2]=g;break}else{Jl(e,11);g=c[n>>2]|0;break}while(0);b[d+16>>1]=f;if(g>>>0<2){f=2-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>30;do if(!(a[o>>0]|0))if(g>>>0>2){c[n>>2]=g+-2;break}else{Jl(e,2);break}while(0);a[d+18>>0]=f;if(a[d+4>>0]|0){o=0;return o|0}g=c[n>>2]|0;if(g>>>0<16){f=16-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[m>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>16;do if(!(a[o>>0]|0))if(g>>>0>16){c[n>>2]=g+-16;break}else{Jl(e,16);break}while(0);b[d+20>>1]=f;o=0;return o|0}function jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a&65535;d=(a&65535)>>>3;e=a&-2;h=Ml(36)|0;f=h;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+24>>2]=km(d<<1&65535)|0;c[h+32>>2]=km(b<<1&65535)|0;c[h+28>>2]=km(e)|0;if(a<<16>>16==1024){a=34824;b=30856;d=29864;e=21928;f=20936;g=13e3}else{a=36872;b=32904;d=30376;e=26024;f=21448;g=17096}c[h>>2]=g;c[h+8>>2]=f;c[h+4>>2]=e;c[h+12>>2]=d;c[h+16>>2]=b;c[h+20>>2]=a;return h|0}function km(a){a=a|0;var d=0,e=0,f=0;e=Ml(12)|0;if(a&7)R(137970,137981,66,137988);b[e>>1]=a;switch(a<<16>>16){case 2048:{d=47592;f=9;break}case 256:{d=47080;f=9;break}case 1024:{d=45032;f=9;break}case 1920:{d=41192;f=9;break}case 240:{d=40712;f=9;break}case 960:{d=38792;f=9;break}default:{}}if((f|0)==9)c[e+8>>2]=d;c[e+4>>2]=Wl((a&65535)>>>2)|0;return e|0}function lm(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;u=b+176|0;t=e+8|0;rD(b|0,0,471)|0;f=c[t>>2]|0;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;s=e+20|0;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Jl(e,4);f=c[t>>2]|0;break}while(0);a[b>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{Jl(e,2);f=c[t>>2]|0;break}while(0);a[b+1>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Jl(e,4);f=c[t>>2]|0;break}while(0);a[b+2>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Jl(e,4);f=c[t>>2]|0;break}while(0);m=b+3|0;a[m>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Jl(e,4);f=c[t>>2]|0;break}while(0);n=b+4|0;a[n>>0]=g;if(f>>>0<4){g=4-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;break}else{Jl(e,4);f=c[t>>2]|0;break}while(0);o=b+5|0;a[o>>0]=g;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;break}else{Jl(e,2);f=c[t>>2]|0;break}while(0);p=b+6|0;a[p>>0]=g;if(f>>>0<3){g=3-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>29;do if(!(a[s>>0]|0))if(f>>>0>3){f=f+-3|0;c[t>>2]=f;break}else{Jl(e,3);f=c[t>>2]|0;break}while(0);q=b+7|0;a[q>>0]=g;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){f=f+-4|0;c[t>>2]=f;g=b+8|0;a[g>>0]=h;i=65;break}else{Jl(e,4);f=c[t>>2]|0;i=64;break}else i=64;while(0);do if((i|0)==64){g=b+8|0;a[g>>0]=h;if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0){r=g;break}Jl(e,1);r=g}else i=65}while(0);if((i|0)==65){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1;r=g}l=f&255;a[b+9>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Jl(e,4);break}while(0);a[b+10>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+11>>0]=l;if(l<<24>>24==1){g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Jl(e,4);break}while(0);a[b+12>>0]=f}f=c[t>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);l=f&255;a[b+13>>0]=l;if(l<<24>>24==1){f=c[t>>2]|0;if(f>>>0<2){g=2-f|0;g=(c[e>>2]&(1<<f)+-1)<<g|(c[e+4>>2]|0)>>>(32-g|0)}else g=c[e>>2]<<32-f>>>30;do if(!(a[s>>0]|0))if(f>>>0>2){f=f+-2|0;c[t>>2]=f;a[b+15>>0]=g;i=103;break}else{Jl(e,2);f=c[t>>2]|0;i=102;break}else i=102;while(0);do if((i|0)==102){a[b+15>>0]=g;if(f|0){i=103;break}f=(c[e+4>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}while(0);if((i|0)==103){f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}a[b+14>>0]=f}if(a[m>>0]|0){k=e+4|0;l=b+435|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+16+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Jl(e,4);break}while(0);a[b+32+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[m>>0]|0)){j=f;g=f&255}else break}}if(a[n>>0]|0){k=e+4|0;l=b+436|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+48+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Jl(e,4);break}while(0);a[b+64+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;f=g+1<<24>>24}else{a[b+455+f>>0]=g;a[l>>0]=(d[l>>0]|0)+2;f=(g&255)+2&255}a[u>>0]=f;f=j+1<<24>>24;if((f&255)<(d[n>>0]|0)){j=f;g=f&255}else break}}if(a[o>>0]|0){k=e+4|0;l=b+437|0;j=0;g=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[k>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);i=b+80+g|0;a[i>>0]=f;f=c[t>>2]|0;if(f>>>0<4){h=4-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>28;do if(!(a[s>>0]|0))if(f>>>0>4){c[t>>2]=f+-4;break}else{Jl(e,4);break}while(0);a[b+96+g>>0]=h;g=a[u>>0]|0;f=h&255;if(!(a[i>>0]&1)){a[b+439+f>>0]=g;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=g+1<<24>>24}else{a[b+455+f>>0]=g;a[u>>0]=(g&255)+2;a[l>>0]=(d[l>>0]|0)+2}f=j+1<<24>>24;if((f&255)<(d[o>>0]|0)){j=f;g=f&255}else break}}f=a[p>>0]|0;if(f<<24>>24){k=e+4|0;l=b+438|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Jl(e,4);f=a[p>>0]|0;break}while(0);a[b+112+i>>0]=h;o=a[u>>0]|0;a[(h&255)+(b+439)>>0]=o;a[l>>0]=(a[l>>0]|0)+1<<24>>24;a[u>>0]=o+1<<24>>24;j=j+1<<24>>24}while((j&255)<(f&255))}f=a[q>>0]|0;if(f<<24>>24){k=e+4|0;j=0;do{i=j&255;g=c[t>>2]|0;if(g>>>0<4){h=4-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[k>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Jl(e,4);f=a[q>>0]|0;break}while(0);a[b+128+i>>0]=h;j=j+1<<24>>24}while((j&255)<(f&255))}if(a[r>>0]|0){j=e+4|0;i=0;h=0;while(1){f=c[t>>2]|0;do if(!f){f=(c[j>>2]|0)>>>31;if(a[s>>0]|0)break;Jl(e,1)}else{f=f+-1|0;c[t>>2]=f;f=(c[e>>2]|0)>>>f&1}while(0);a[b+144+h>>0]=f;g=c[t>>2]|0;if(g>>>0<4){f=4-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[j>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>28;do if(!(a[s>>0]|0))if(g>>>0>4){c[t>>2]=g+-4;break}else{Jl(e,4);break}while(0);a[b+160+h>>0]=f;f=i+1<<24>>24;if((f&255)<(d[r>>0]|0)){i=f;h=f&255}else break}}Il(e)|0;g=c[t>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[s>>0]|0))if(g>>>0>8){c[t>>2]=g+-8;break}else{Jl(e,8);break}while(0);g=f&255;k=b+177|0;a[k>>0]=g;if(!(g<<24>>24)){t=0;b=b+178+t|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}l=e+4|0;j=0;f=0;do{h=c[t>>2]|0;if(h>>>0<8){i=8-h|0;i=(c[e>>2]&(1<<h)+-1)<<i|(c[l>>2]|0)>>>(32-i|0)}else i=c[e>>2]<<32-h>>>24;do if(!(a[s>>0]|0))if(h>>>0>8){c[t>>2]=h+-8;break}else{Jl(e,8);g=a[k>>0]|0;break}while(0);a[b+178+f>>0]=i;j=j+1<<24>>24;f=j&255}while((j&255)<(g&255));b=b+178+f|0;a[b>>0]=0;u=a[u>>0]|0;u=(u&255)>64;u=u?22:0;return u|0}function mm(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=oc;l=oc=oc+31&-32;oc=oc+32|0;if((d|0)==0|(f|0)==0|g>>>0<2|(h|0)==0|(i|0)==0){d=-1;oc=m;return d|0}a[d+1>>0]=0;a[d>>0]=0;j=nm(f,g,l,d+1657|0,a[d+2>>0]|0)|0;k=c[l+4>>2]|0;c[h>>2]=k;g=l+8|0;f=a[g>>0]|0;if(!(f<<24>>24)){a[i>>0]=a[d+1833>>0]|0;a[d+1656>>0]=1;f=a[i>>0]|0}else a[i>>0]=f;if(f<<24>>24==1)a[i>>0]=2;f=d+3|0;a[f>>0]=a[l+1>>0]|0;h=d+4|0;a[h>>0]=a[l>>0]|0;a[d+6>>0]=a[l+15>>0]|0;a[d+7>>0]=a[l+16>>0]|0;a[d+8>>0]=a[l+17>>0]|0;o=a[l+19>>0]|0;a[d+840>>0]=o;n=a[l+21>>0]|0;a[d+842>>0]=n;i=(a[d+2267>>0]|0)==0?a[l+20>>0]|0:0;a[d+841>>0]=i;if(o<<24>>24==1&n<<24>>24==0|i<<24>>24==1)a[f>>0]=Zl(k>>>1)|0;if(j<<24>>24){o=j;oc=m;return o|0}a[d+5>>0]=a[g>>0]|0;g=d+10|0;if(!(a[l+9>>0]|0))f=b[g>>1]|0;else{b[g>>1]=960;f=960}c[d+320>>2]=jm(f)|0;if((a[h>>0]|0)!=23){o=0;oc=m;return o|0}b[g>>1]=(e[g>>1]|0)>>>1;o=0;oc=m;return o|0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+48|0;Fl(g,a,b);Il(g)|0;e=om(g,c,d,b,e)|0;oc=f;return e|0}function om(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;k=Hl(b)|0;if(!d){d=-8;return d|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;q=b+8|0;h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;p=b+20|0;do if(!(a[p>>0]|0))if(h>>>0>5){h=h+-5|0;c[q>>2]=h;break}else{Jl(b,5);h=c[q>>2]|0;break}while(0);a[d>>0]=i;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Jl(b,4);break}while(0);m=d+1|0;a[m>>0]=i;do if((i&255|0)==15?(j=c[q>>2]|0,(a[p>>0]|0)==0):0)if(j>>>0>24){h=j+-24|0;c[q>>2]=h;break}else{Jl(b,24);o=21;break}else o=21;while(0);if((o|0)==21)h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Jl(b,4);break}while(0);j=d+8|0;a[j>>0]=i;i=_l(a[m>>0]|0)|0;n=d+4|0;c[n>>2]=i;h=a[d>>0]|0;if(-9044023>>>(h&255)&1|0){d=-1;return d|0}if(!i){d=-2;return d|0}i=a[j>>0]|0;if((i&255)>7){d=-3;return d|0}if(i<<24>>24==1)a[j>>0]=2;l=d+19|0;a[l>>0]=-1;if(h<<24>>24==5){a[l>>0]=1;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Jl(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{Jl(b,24);break}}else h=_l(h)|0;while(0);c[n>>2]=h;i=c[q>>2]|0;if(i>>>0<5){h=5-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>27;do if(!(a[p>>0]|0))if(i>>>0>5){c[q>>2]=i+-5;break}else{Jl(b,5);break}while(0);h=h&255;a[d>>0]=h}switch(h<<24>>24){case 7:case 6:case 4:case 3:case 2:case 1:{e=pm(b,d,e)|0;break}default:if((h&255)>16){i=pm(b,d,e)|0;j=c[q>>2]|0;if(j>>>0<2){h=2-j|0;h=(c[b>>2]&(1<<j)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-j>>>30;do if(!(a[p>>0]|0))if(j>>>0>2){c[q>>2]=j+-2;break}else{Jl(b,2);break}while(0);a[d+18>>0]=h;e=(h&255|0)==0?i:-5}else e=-4}do if(g<<24>>24==0?(k=(f<<3)-k+(Hl(b)|0)<<24,(a[d>>0]|0)!=5&(k|0)>251658240):0){i=c[q>>2]|0;if(i>>>0<11){h=11-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>21;do if(!(a[p>>0]|0))if(i>>>0>11){c[q>>2]=i+-11;break}else{Jl(b,11);break}while(0);if((h&65535|0)==695){h=c[q>>2]|0;if(h>>>0<5){i=5-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>27;do if(!(a[p>>0]|0))if(h>>>0>5){c[q>>2]=h+-5;break}else{Jl(b,5);break}while(0);j=i&255;if((i&255|0)!=5){o=114;break}h=c[q>>2]|0;do if(!h){h=(c[b+4>>2]|0)>>>31;if(a[p>>0]|0)break;Jl(b,1)}else{h=h+-1|0;c[q>>2]=h;h=(c[b>>2]|0)>>>h&1}while(0);k=h&255;a[l>>0]=k;if(!(k<<24>>24))break;a[d>>0]=j;h=c[q>>2]|0;if(h>>>0<4){i=4-h|0;i=(c[b>>2]&(1<<h)+-1)<<i|(c[b+4>>2]|0)>>>(32-i|0)}else i=c[b>>2]<<32-h>>>28;do if(!(a[p>>0]|0))if(h>>>0>4){c[q>>2]=h+-4;break}else{Jl(b,4);break}while(0);h=i&255;if((a[m>>0]|0)==h<<24>>24)a[d+21>>0]=1;a[m>>0]=h;do if((i&255|0)==15){i=c[q>>2]|0;if(i>>>0<24){h=24-i|0;h=(c[b>>2]&(1<<i)+-1)<<h|(c[b+4>>2]|0)>>>(32-h|0)}else h=c[b>>2]<<32-i>>>8;if(a[p>>0]|0)break;if(i>>>0>24){c[q>>2]=i+-24;break}else{Jl(b,24);break}}else h=_l(h)|0;while(0);c[n>>2]=h;o=114}else o=114}else o=114;while(0);do if((o|0)==114?(a[l>>0]|0)==-1:0){h=c[n>>2]|0;if(h>>>0<24001){c[n>>2]=h<<1;a[d+20>>0]=1;break}else{a[d+21>>0]=1;break}}while(0);d=e;return d|0}function pm(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=oc;k=oc=oc+31&-32;oc=oc+480|0;l=e+8|0;h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Jl(e,1);i=c[l>>2]|0;j=6;break}else{a[f+9>>0]=h;j=8;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=6}while(0);if((j|0)==6){a[f+9>>0]=h;if(!i)j=8;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==8){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}j=h&255;a[f+10>>0]=j;if(j<<24>>24==1){i=c[l>>2]|0;if(i>>>0<14){h=14-i|0;h=(c[e>>2]&(1<<i)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-i>>>18;do if(!(a[e+20>>0]|0))if(i>>>0>14){c[l>>2]=i+-14;break}else{Jl(e,14);break}while(0);b[f+12>>1]=h}h=c[l>>2]|0;if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}else{h=h+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}h=h&255;i=f+14|0;a[i>>0]=h;if(!(a[f+8>>0]|0)){if((lm(k,e)|0)<<24>>24){l=-3;oc=m;return l|0}if(g|0)pD(g|0,k|0,471)|0;h=a[i>>0]|0}if(h<<24>>24!=1){l=0;oc=m;return l|0}if((d[f>>0]|0)>16){h=c[l>>2]|0;do if(!h){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Jl(e,1);i=c[l>>2]|0;j=35;break}else{a[f+15>>0]=h;j=37;break}}else{i=h+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=35}while(0);if((j|0)==35){a[f+15>>0]=h;if(!i)j=37;else{i=i+-1|0;c[l>>2]=i;h=(c[e>>2]|0)>>>i&1;j=40}}do if((j|0)==37){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Jl(e,1);i=c[l>>2]|0;j=40;break}else{a[f+16>>0]=h;j=42;break}}while(0);if((j|0)==40){a[f+16>>0]=h;if(!i)j=42;else{h=i+-1|0;c[l>>2]=h;h=(c[e>>2]|0)>>>h&1}}if((j|0)==42){h=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0))Jl(e,1)}a[f+17>>0]=h}h=c[l>>2]|0;if(a[e+20>>0]|0){l=0;oc=m;return l|0}if(h>>>0>1){c[l>>2]=h+-1;l=0;oc=m;return l|0}else{Jl(e,1);l=0;oc=m;return l|0}return 0}function qm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if(!a)return;d=a+328|0;e=a+584|0;f=a+1136|0;g=a+1392|0;h=0;do{b=c[d+(h<<2)>>2]|0;if(b|0)Yl(b);b=c[e+(h<<2)>>2]|0;if(b|0)Yl(b);b=c[f+(h<<2)>>2]|0;if(b|0)Yl(b);b=c[g+(h<<2)>>2]|0;if(b|0)Yl(b);h=h+1|0}while((h|0)!=64);rm(c[a+320>>2]|0);sm(c[a+324>>2]|0);b=c[a+124>>2]|0;if(b|0)Yl(b);b=a+892|0;e=0;do{d=c[b+(e<<2)>>2]|0;if(d|0)tm(d);e=e+1|0}while((e|0)!=48);Yl(a);return}function rm(a){a=a|0;if(!a)return;xm(c[a+24>>2]|0);xm(c[a+32>>2]|0);xm(c[a+28>>2]|0);Yl(a);return}function sm(a){a=a|0;if(!a)return;Yl(a);return}function tm(a){a=a|0;var b=0;if(!a)return;um(c[a+12440>>2]|0);vm(c[a+12448>>2]|0);b=a+12452|0;if(c[b>>2]|0){um(c[a+12444>>2]|0);vm(c[b>>2]|0)}b=c[a+648>>2]|0;if(b|0)Yl(b);b=c[a+688>>2]|0;if(b|0)Yl(b);b=c[a+668>>2]|0;if(b|0)Yl(b);b=c[a+708>>2]|0;if(b|0)Yl(b);b=c[a+652>>2]|0;if(b|0)Yl(b);b=c[a+692>>2]|0;if(b|0)Yl(b);b=c[a+672>>2]|0;if(b|0)Yl(b);b=c[a+712>>2]|0;if(b|0)Yl(b);b=c[a+656>>2]|0;if(b|0)Yl(b);b=c[a+696>>2]|0;if(b|0)Yl(b);b=c[a+676>>2]|0;if(b|0)Yl(b);b=c[a+716>>2]|0;if(b|0)Yl(b);b=c[a+660>>2]|0;if(b|0)Yl(b);b=c[a+700>>2]|0;if(b|0)Yl(b);b=c[a+680>>2]|0;if(b|0)Yl(b);b=c[a+720>>2]|0;if(b|0)Yl(b);b=c[a+664>>2]|0;if(b|0)Yl(b);b=c[a+704>>2]|0;if(b|0)Yl(b);b=c[a+684>>2]|0;if(b|0)Yl(b);b=c[a+724>>2]|0;if(b|0)Yl(b);b=c[a+53420>>2]|0;if(b|0)wm(b);Yl(a);return}function um(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Yl(b);Yl(a);return}function vm(a){a=a|0;var b=0;if(!a)return;b=c[a>>2]|0;if(b|0)Yl(b);Yl(a);return}function wm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[b+720>>2]|0;if(!i){Yl(b);return}d=c[i+12>>2]|0;if(d|0)Yl(d);f=i+16|0;d=c[f>>2]|0;e=c[d>>2]|0;if(e){Yl(e);d=c[f>>2]|0}e=c[d+4>>2]|0;if(e){Yl(e);d=c[f>>2]|0}e=c[d+8>>2]|0;if(e){Yl(e);d=c[f>>2]|0}e=c[d+12>>2]|0;if(e){Yl(e);d=c[f>>2]|0}e=c[d+16>>2]|0;if(e){Yl(e);d=c[f>>2]|0}if(d|0)Yl(d);e=a[i>>0]|0;h=i+20|0;d=c[h>>2]|0;if(e<<24>>24){g=0;do{f=c[d+((g&255)<<2)>>2]|0;if(f){Yl(f);e=a[i>>0]|0;d=c[h>>2]|0}g=g+1<<24>>24}while((g&255)<(e&255))}if(d|0)Yl(d);Yl(i);Yl(b);return}function xm(a){a=a|0;if(!a)return;Xl(c[a+4>>2]|0);Yl(a);return}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zm(a,b,c,d,0,0)|0}function zm(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=oc;m=oc=oc+31&-32;oc=oc+64|0;n=m;m=m+40|0;o=n;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if((f|0)==0|(g|0)==0|(h|0)==0){f=0;oc=B;return f|0}A=f+10|0;l=b[A>>1]|0;o=g;p=o+88|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));o=f+2192|0;p=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(i>>>0>127?(Co(h,138003,3)|0)==0:0){c[g>>2]=128;f=0;oc=B;return f|0}Fl(n,h,i);if(a[f>>0]|0){a[m+22>>0]=a[f+2266>>0]|0;x=im(m,n)|0;h=g+9|0;a[h>>0]=x;if(!(x<<24>>24))y=8;else h=0}else{h=g+9|0;y=8}a:do if((y|0)==8){Am(f,g,n,f+1657|0,c[f+324>>2]|0);u=f+24|0;i=a[u>>0]|0;if(!(a[h>>0]|0)){if((i+-1&255)>63){a[h>>0]=12;h=0;break}c[g>>2]=((Hl(n)|0)+7|0)>>>3;if(a[n+20>>0]|0){a[h>>0]=14;h=0;break}b:do if((a[f>>0]|0)==0?(a[f+1>>0]|0)==0:0){m=f+5|0;n=i<<24>>24==8;if(n|(a[m>>0]|0)==0)a[m>>0]=n?7:i;switch(i<<24>>24){case 6:case 5:{y=20;break b}case 7:break;default:break b}a[m>>0]=0;i=7}else y=19;while(0);if((y|0)==19)if((i+-5&255)<2)y=20;if((y|0)==20)if(a[f+2265>>0]|0){a[f+20>>0]=1;i=2}q=i<<24>>24==1;x=q?2:i;a[f+21>>0]=q&1;q=g+19|0;n=g+20|0;s=g+21|0;v=g+22|0;t=g+23|0;i=f+20|0;o=q;p=o+68|0;do{a[o>>0]=0;o=o+1|0}while((o|0)<(p|0));c:do if(!(a[i>>0]|0)){if(a[f+1656>>0]|0){m=a[f+2092>>0]|0;a[q>>0]=m;p=a[f+2093>>0]|0;a[n>>0]=p;r=a[f+2094>>0]|0;a[s>>0]=r;a[v>>0]=a[f+2095>>0]|0;o=m&255;if(!(o&1))i=0;else{a[t>>0]=2;a[g+24>>0]=3;i=2}if(m<<24>>24){n=0;while(1){a[(i&255)+(g+23)>>0]=2;m=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=3;n=n+2&255;if(n>>>0>=o>>>0){i=m;break}else i=m}}if(p<<24>>24){o=p&255;m=0;while(1){a[(i&255)+(g+23)>>0]=4;n=i+2<<24>>24;a[((i|1)&255)+(g+23)>>0]=5;m=m+2&255;if(m>>>0>=o>>>0){i=n;break}else i=n}}q=(r&1)==0;w=r+((q^1)<<31>>31)<<24>>24;p=w&255;m=i|1;n=(i&255)+(g+23)|0;if(w<<24>>24){o=0;do{a[n>>0]=6;i=i+2<<24>>24;a[(m&255)+(g+23)>>0]=7;o=o+2&255;m=i|1;n=(i&255)+(g+23)|0}while(o>>>0<p>>>0)}if(!q){a[n>>0]=8;i=m}n=a[v>>0]|0;if(!(n<<24>>24))break;else m=0;while(1){a[(i&255)+(g+23)>>0]=9;m=m+1<<24>>24;if((m&255)>=(n&255))break c;else i=i+1<<24>>24}}switch(a[f+5>>0]|0){case 1:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 2:{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3;break c}case 3:{a[q>>0]=3;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;break c}case 4:{a[q>>0]=3;a[s>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=8;break c}case 5:{a[q>>0]=3;a[s>>0]=2;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;break c}case 6:{a[q>>0]=3;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=6;a[g+27>>0]=7;a[g+28>>0]=9;break c}case 7:{a[q>>0]=3;a[n>>0]=2;a[s>>0]=2;a[v>>0]=1;a[t>>0]=1;a[g+24>>0]=2;a[g+25>>0]=3;a[g+26>>0]=4;a[g+27>>0]=5;a[g+28>>0]=6;a[g+29>>0]=7;a[g+30>>0]=9;break c}default:{r=f+23|0;w=(d[u>>0]|0)-(d[r>>0]|0)|0;i=w&255;p=w&255;d:do if(!(w&1)){m=p>>>1;w=m&255;a[q>>0]=w;a[s>>0]=w;if(!(m&1)){if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[t>>0]=1;if(m|0){n=1;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<=m>>>0)}m=m+1|0;n=p+-1|0;if((m|0)<(n|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(n|0));a[g+23+n>>0]=8}else{o=p+-1|0;n=(o|0)/2|0;m=n&255;if(!(a[f+22>>0]|0)){o=n&255;n=n+1|0;a[q>>0]=n;a[s>>0]=m;a[t>>0]=1;if(o|0){m=1;do{a[g+23+m>>0]=2;a[m+1+(g+23)>>0]=3;m=m+2&255}while(m>>>0<=o>>>0)}m=n&255;if(m>>>0>=p>>>0)break;while(1){a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255;if(m>>>0>=p>>>0)break d}}a[q>>0]=m;m=n&255;a[s>>0]=n+1;if(m|0){n=0;do{a[g+23+n>>0]=2;a[n+1+(g+23)>>0]=3;n=n+2&255}while(n>>>0<m>>>0)}if((m|0)<(o|0))do{a[g+23+m>>0]=6;a[m+1+(g+23)>>0]=7;m=m+2&255}while((m|0)<(o|0));a[g+23+o>>0]=8}while(0);a[v>>0]=a[r>>0]|0;if((d[u>>0]|0)<=(i&255))break c;do{a[(i&255)+(g+23)>>0]=9;i=i+1<<24>>24}while((i&255)<(d[u>>0]|0))}}}else{a[q>>0]=2;a[t>>0]=2;a[g+24>>0]=3}while(0);r=l&65535;p=z(x&255,r)|0;v=g+4|0;c[v>>2]=p;a[g+8>>0]=x;s=g+12|0;c[s>>2]=_l(a[f+3>>0]|0)|0;w=f+4|0;t=g+17|0;a[t>>0]=a[w>>0]|0;u=g+16|0;a[u>>0]=0;q=g+18|0;a[q>>0]=0;n=(a[f+1>>0]|0)!=0&1;a[q>>0]=n;a[q>>0]=(a[f>>0]|0)==0?n:2;a[g+87>>0]=a[f+1132>>0]|0;q=f+124|0;n=c[q>>2]|0;o=(n|0)==0;if(!o?(a[f+122>>0]|0)==x<<24>>24:0)i=f+840|0;else{m=a[138007+((d[f+2264>>0]|0)+-1)>>0]|0;i=f+840|0;if((a[i>>0]|0)==1?(a[f+842>>0]|0)==0:0)y=75;else if((a[f+841>>0]|0)==1)y=75;if((y|0)==75)m=(m&255)<<1&255;if(k){if((z(p,m&255)|0)>>>0>k>>>0){a[h>>0]=27;f=0;oc=B;return f|0}}else{if(!o)Yl(n);c[q>>2]=0;c[q>>2]=Ml(z(p,m&255)|0)|0}a[f+122>>0]=x}p=c[((k|0)==0?q:j)>>2]|0;n=(a[i>>0]|0)==1;if(!(!n?(a[f+841>>0]|0)!=1:0)){o=(a[f+842>>0]|0)==0;if(o){c[v>>2]=c[v>>2]<<1;c[s>>2]=c[s>>2]<<1;l=r<<1&65535}m=a[f+25>>0]|0;e:do if(m<<24>>24){i=0;while(1){if(!(c[f+892+((i&255)<<2)>>2]|0))break;i=i+1<<24>>24;if((i&255)>=(m&255))break e}a[h>>0]=25;h=0;break a}while(0);if(n){a[t>>0]=5;h=1}else h=3;a[u>>0]=o?h:2}Bm(f,f+328|0,p,x,l,a[f+2264>>0]|0)|0;a[f+12>>0]=0;f=f+16|0;l=(c[f>>2]|0)+1|0;c[f>>2]=l;if((a[w>>0]|0)==23){if(l|0){f=p;oc=B;return f|0}c[v>>2]=0;f=p;oc=B;return f|0}else{if(l>>>0>=2){f=p;oc=B;return f|0}c[v>>2]=0;f=p;oc=B;return f|0}}else h=0}while(0);do{l=c[f+584+(h<<2)>>2]|0;if(l|0)rD(l|0,0,e[A>>1]<<2|0)|0;h=h+1|0}while((h|0)!=64);h=0;do{l=c[f+892+(h<<2)>>2]|0;if(l|0)Cm(l);h=h+1|0}while((h|0)!=48);f=0;oc=B;return f|0}function Am(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a[b+24>>0]=0;a[b+25>>0]=0;t=b+22|0;a[t>>0]=25;u=b+23|0;a[u>>0]=0;a:do if((d[b+4>>0]|0)<17){p=f+8|0;q=f+4|0;r=f+20|0;s=e+9|0;i=0;b:while(1){k=c[p>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[f>>2]&(1<<k)+-1)<<j|(c[q>>2]|0)>>>(32-j|0)}else j=c[f>>2]<<32-k>>>29;do if(!(a[r>>0]|0))if(k>>>0>3){c[p>>2]=k+-3;break}else{Jl(f,3);break}while(0);if((j&255|0)==7)break a;switch((j&255)<<24>>24){case 2:{n=19;break b}case 0:{if((a[t>>0]|0)==25)a[t>>0]=0;Dm(b,e,f,0);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 1:{if((a[t>>0]|0)==25)a[t>>0]=1;Em(b,e,f,1);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 3:{a[u>>0]=(a[u>>0]|0)+1<<24>>24;Dm(b,e,f,3);if(!(a[s>>0]|0)){i=i+1<<24>>24;continue b}else{n=67;break b}}case 4:{o=i+1<<24>>24;i=c[p>>2]|0;do if(!(a[r>>0]|0))if(i>>>0>4){i=i+-4|0;c[p>>2]=i;n=25;break}else{Jl(f,4);i=c[p>>2]|0;n=24;break}else n=24;while(0);if((n|0)==24)if(!i){k=c[q>>2]|0;i=k>>>31;if(!(a[r>>0]|0)){Jl(f,1);j=i;k=c[p>>2]|0;n=28}else{j=i;l=0;n=31}}else n=25;if((n|0)==25){k=i+-1|0;c[p>>2]=k;j=(c[f>>2]|0)>>>k&1;n=28}do if((n|0)==28){n=0;if(k>>>0<8){l=k;k=c[q>>2]|0;n=31;break}else{i=c[f>>2]<<32-k>>>24;m=j;j=k;break}}while(0);if((n|0)==31){i=8-l|0;i=((1<<l)+-1&c[f>>2])<<i|k>>>(32-i|0);m=j;j=l}do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Jl(f,8);break}while(0);if((i&65535|0)==255){j=c[p>>2]|0;if(j>>>0<8){i=8-j|0;i=(c[f>>2]&(1<<j)+-1)<<i|(c[q>>2]|0)>>>(32-i|0)}else i=c[f>>2]<<32-j>>>24;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Jl(f,8);break}while(0);i=(i&65535)+255|0}if(m|0)Il(f)|0;k=i&65535;if(!k){i=o;continue b}else i=0;while(1){j=c[p>>2]|0;do if(!(a[r>>0]|0))if(j>>>0>8){c[p>>2]=j+-8;break}else{Jl(f,8);break}while(0);i=i+1<<16>>16;if(k>>>0<=(i&65535)>>>0){i=o;continue b}}}case 5:{if(i<<24>>24){n=54;break b}lm(g,f)|0;i=1;continue b}case 6:{o=Fm(b,f,h,-1)|0;a[s>>0]=o;if(!(o<<24>>24)){i=i+1<<24>>24;continue b}else{n=67;break b}}default:continue b}}if((n|0)==19){a[s>>0]=6;return}else if((n|0)==54){a[s>>0]=31;return}else if((n|0)==67)return}else switch(a[b+5>>0]|0){case 1:{Dm(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 2:{Em(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 3:{Dm(b,e,f,0);Em(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 4:{Dm(b,e,f,0);Em(b,e,f,1);Dm(b,e,f,0);if(!(a[e+9>>0]|0))break a;return}case 5:{Dm(b,e,f,0);Em(b,e,f,1);Em(b,e,f,1);if(!(a[e+9>>0]|0))break a;return}case 6:{Dm(b,e,f,0);Em(b,e,f,1);Em(b,e,f,1);Dm(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}case 7:{Dm(b,e,f,0);Em(b,e,f,1);Em(b,e,f,1);Em(b,e,f,1);Dm(b,e,f,3);if(!(a[e+9>>0]|0))break a;return}default:{a[e+9>>0]=7;return}}while(0);Il(f)|0;return}function Bm(e,h,i,j,k,l){e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(l<<24>>24){case 1:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+(l<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}e=~~m&65535;h=l<<1;b[i+(h<<1)>>1]=e;b[i+((h|1)<<1)>>1]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2];q=+f[n+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(!(m<=-32768.0))p=m;else p=-32768.0}else{m=m+.5;if(!(m>=32767.0))p=m;else p=32767.0}if(!(q>=0.0)){m=q+-.5;if(m<=-32768.0)m=-32768.0}else{m=q+.5;if(m>=32767.0)m=32767.0}h=l<<1;b[i+(h<<1)>>1]=~~p;b[i+((h|1)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((z(l,y)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((z(l,y)|0)<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2];if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((z(l,y)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261;if(!(m>=0.0)){m=m+-.5;if(m<=-32768.0)m=-32768.0}else{m=m+.5;if(m>=32767.0)m=32767.0}b[i+((z(l,y)|0)+n<<1)>>1]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 2:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*256.0;q=+f[n+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-8388608.0))p=m;else p=-8388608.0}else{m=m+.5;if(!(m>=8388607.0))p=m;else p=8388607.0}if(!(q>=0.0)){m=q+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=q+.5;if(m>=8388607.0)m=8388607.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((z(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((z(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((z(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*256.0;if(!(m>=0.0)){m=m+-.5;if(m<=-8388608.0)m=-8388608.0}else{m=m+.5;if(m>=8388607.0)m=8388607.0}c[i+((z(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 3:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{m=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+(l<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(a[e+21>>0]|0){if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{m=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}e=~~m;h=l<<1;c[i+(h<<2)>>2]=e;c[i+((h|1)<<2)>>2]=e;l=l+1|0}while((l|0)!=(j|0));return i|0}if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{m=+f[o+(l<<2)>>2]*65536.0;q=+f[n+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(!(m<=-2147483648.0))p=m;else p=-2147483648.0}else{m=m+.5;if(!(m>=2147483648.0))p=m;else p=2147483648.0}if(!(q>=0.0)){m=q+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=q+.5;if(m>=2147483648.0)m=2147483648.0}h=l<<1;c[i+(h<<2)>>2]=~~p;c[i+((h|1)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(j|0));return i|0}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((z(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((z(l,y)|0)<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{m=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((z(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{m=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*65536.0;if(!(m>=0.0)){m=m+-.5;if(m<=-2147483648.0)m=-2147483648.0}else{m=m+.5;if(m>=2147483648.0)m=2147483648.0}c[i+((z(l,y)|0)+n<<2)>>2]=~~m;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 4:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{f[i+(l<<2)>>2]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;f[i+(h<<2)>>2]=+f[o+(l<<2)>>2]*.000030517578125;f[i+((h|1)<<2)>>2]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;f[i+(h<<2)>>2]=q;f[i+((h|1)<<2)>>2]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{f[i+((z(l,y)|0)<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((z(l,y)|0)<<2)>>2]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{f[i+((z(l,y)|0)+n<<2)>>2]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{f[i+((z(l,y)|0)+n<<2)>>2]=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}case 5:{y=j&255;l=a[e+20>>0]|0;switch((y<<1|l&1)&511){case 3:case 2:{if(!(k<<16>>16))return i|0;n=e+2192|0;j=k&65535;l=0;do{g[i+(l<<3)>>3]=+f[(c[h+(d[n>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}case 4:{l=a[e+2192>>0]|0;j=k<<16>>16==0;if(!(a[e+21>>0]|0)){if(j)return i|0;o=c[h+((l&255)<<2)>>2]|0;n=c[h+(d[e+2193>>0]<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2];h=l<<1;g[i+(h<<3)>>3]=+f[o+(l<<2)>>2]*.000030517578125;g[i+((h|1)<<3)>>3]=q*.000030517578125;l=l+1|0}while((l|0)!=(j|0));return i|0}else{if(j)return i|0;n=c[h+((l&255)<<2)>>2]|0;j=k&65535;l=0;do{q=+f[n+(l<<2)>>2]*.000030517578125;h=l<<1;g[i+(h<<3)>>3]=q;g[i+((h|1)<<3)>>3]=q;l=l+1|0}while((l|0)!=(j|0));return i|0}}default:{if(!(j<<24>>24))return i|0;s=k<<16>>16==0;t=e+2192|0;u=e+2193|0;v=e+2195|0;w=e+2194|0;x=e+2196|0;r=l<<24>>24==0;o=k&65535;n=0;do{if(!s){j=e+2192+n|0;if(!n)if(r){l=0;do{g[i+((z(l,y)|0)<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((z(l,y)|0)<<3)>>3]=(+f[(c[h+(d[u>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[v>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else if(r){l=0;do{g[i+((z(l,y)|0)+n<<3)>>3]=+f[(c[h+(d[j>>0]<<2)>>2]|0)+(l<<2)>>2]*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}else{l=0;do{g[i+((z(l,y)|0)+n<<3)>>3]=(+f[(c[h+(d[w>>0]<<2)>>2]|0)+(l<<2)>>2]+ +f[(c[h+(d[t>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304+ +f[(c[h+(d[x>>0]<<2)>>2]|0)+(l<<2)>>2]*.7071067690849304)*.3203772306442261*.000030517578125;l=l+1|0}while((l|0)!=(o|0))}}n=n+1|0}while((n|0)!=(y|0));return i|0}}}default:return i|0}return 0}function Cm(e){e=e|0;var f=0,g=0;f=c[e+12440>>2]|0;if(f|0)rD(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12444>>2]|0;if(f|0)rD(c[f>>2]|0,0,(d[f+6>>0]|0)*80|0)|0;f=c[e+12448>>2]|0;if(f|0)rD(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+12452>>2]|0;if(f|0)rD(c[f>>2]|0,0,(d[f+6>>0]|0)*160|0)|0;f=c[e+648>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+668>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+688>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+708>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+652>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+672>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+692>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+712>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+656>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+676>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+696>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+716>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+660>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+680>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+700>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+720>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+664>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+684>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+704>>2]|0;if(f|0)rD(f|0,0,256)|0;f=c[e+724>>2]|0;if(f|0)rD(f|0,0,256)|0;f=e+53416|0;g=e+53418|0;rD(e+12456|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;rD(e+32936|0,0,(d[g>>0]|0)+(d[f>>0]|0)<<9|0)|0;a[e+728>>0]=0;a[e+729>>0]=0;c[e+12432>>2]=0;a[e+12426>>0]=1;a[e+612>>0]=0;a[e+613>>0]=0;a[e+53435>>0]=2;a[e+53436>>0]=1;a[e+53437>>0]=2;a[e+53438>>0]=2;a[e+53439>>0]=2;a[e+53440>>0]=1;a[e+53441>>0]=1;a[e+53432>>0]=5;a[e+53431>>0]=1;a[e+53442>>0]=1;a[e+12418>>0]=-1;a[e+12419>>0]=-1;a[e+12421>>0]=0;a[e+12422>>0]=0;a[e+12423>>0]=0;a[e+12412>>0]=-1;a[e+646>>0]=0;a[e+647>>0]=0;f=0;do{b[e+2010+(f<<1)>>1]=0;c[e+10460+(f<<2)>>2]=0;b[e+2138+(f<<1)>>1]=0;c[e+10716+(f<<2)>>2]=0;a[e+12277+f>>0]=0;a[e+12341+f>>0]=0;f=f+1|0}while((f|0)!=49);a[e+53445>>0]=0;a[e+53446>>0]=0;return}function Dm(e,f,g,h){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;u=oc;o=oc=oc+31&-32;oc=oc+22976|0;n=o+2048|0;t=e+24|0;r=a[t>>0]|0;p=r&255;q=p+1|0;if((r&255)>63){a[f+9>>0]=12;oc=u;return}s=e+25|0;i=a[s>>0]|0;if((i&255)>47){a[f+9>>0]=13;oc=u;return}a[(i&255)+(e+2128)>>0]=h;rD(n|0,0,20914)|0;l=n+6|0;rD(o|0,0,2048)|0;j=g+8|0;i=c[j>>2]|0;if(i>>>0<4){m=4-i|0;m=(c[g>>2]&(1<<i)+-1)<<m|(c[g+4>>2]|0)>>>(32-m|0)}else m=c[g>>2]<<32-i>>>28;k=g+20|0;do if(!(a[k>>0]|0))if(i>>>0>4){c[j>>2]=i+-4;break}else{Jl(g,4);break}while(0);a[n+4>>0]=m;a[n>>0]=r;b[n+2>>1]=-1;i=en(e,n,g,l,o)|0;do if(!(i<<24>>24))if(!(a[n+9044>>0]|0)){h=c[j>>2]|0;if(h>>>0<3){i=3-h|0;i=(c[g>>2]&(1<<h)+-1)<<i|(c[g+4>>2]|0)>>>(32-i|0)}else i=c[g>>2]<<32-h>>>29;if((i|0)==6){do if(!(a[k>>0]|0))if(h>>>0>3){c[j>>2]=h+-3;break}else{Jl(g,3);break}while(0);i=Fm(e,g,c[e+324>>2]|0,a[s>>0]|0)|0;if(i<<24>>24)break}i=_n(e,l,n,o)|0}else i=32;while(0);a[f+9>>0]=i;if((a[(d[s>>0]|0)+(e+26)>>0]|0)==2){a[e+2192+p>>0]=r;h=q;i=q&255}else{if(!(a[e+1656>>0]|0))i=r;else i=a[(m&255)+(e+2096)>>0]|0;h=i&255;i=r}a[e+2192+h>>0]=i;r=a[s>>0]|0;a[t>>0]=(d[t>>0]|0)+(d[(r&255)+(e+26)>>0]|0);a[s>>0]=r+1<<24>>24;oc=u;return}function Em(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=oc;C=oc=oc+31&-32;oc=oc+25024|0;A=C+22968|0;B=C+20920|0;F=e+24|0;i=a[F>>0]|0;D=i&255;if((D+2|0)>>>0>64){a[f+9>>0]=12;oc=G;return}E=e+25|0;k=a[E>>0]|0;if((k&255)>47){a[f+9>>0]=13;oc=G;return}k=k&255;l=e+26+k|0;switch(a[l>>0]|0){case 0:{a[l>>0]=2;break}case 2:break;default:{a[f+9>>0]=21;oc=G;return}}a[e+2128+k>>0]=h;rD(A|0,0,2048)|0;rD(B|0,0,2048)|0;rD(C|0,0,20914)|0;w=C+6|0;x=C+10460|0;a[C>>0]=i;z=D+1|0;b[C+2>>1]=z;t=g+8|0;k=c[t>>2]|0;if(k>>>0<4){y=4-k|0;l=c[g>>2]|0;y=(l&(1<<k)+-1)<<y|(c[g+4>>2]|0)>>>(32-y|0)}else{l=c[g>>2]|0;y=l<<32-k>>>28}u=g+20|0;do if(!(a[u>>0]|0))if(k>>>0>4){k=k+-4|0;c[t>>2]=k;a[C+4>>0]=y;s=17;break}else{Jl(g,4);k=c[t>>2]|0;s=15;break}else s=15;while(0);do if((s|0)==15){a[C+4>>0]=y;if(k|0){l=c[g>>2]|0;s=17;break}k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Jl(g,1)}while(0);if((s|0)==17){k=k+-1|0;c[t>>2]=k;k=l>>>k&1}k=k&255;r=C+5|0;a[r>>0]=k;a:do if(k<<24>>24){k=cn(e,w,g,k)|0;if(!(k<<24>>24)){l=c[t>>2]|0;if(l>>>0<2){k=2-l|0;k=(c[g>>2]&(1<<l)+-1)<<k|(c[g+4>>2]|0)>>>(32-k|0)}else k=c[g>>2]<<32-l>>>30;do if(!(a[u>>0]|0))if(l>>>0>2){c[t>>2]=l+-2;break}else{Jl(g,2);break}while(0);q=k&255;a[C+8634>>0]=q;switch(q<<24>>24){case 3:{j=32;break a}case 1:{p=C+8|0;k=a[p>>0]|0;if(k<<24>>24){q=g+4|0;l=a[w>>0]|0;o=0;n=0;h=l;while(1){if(!(l<<24>>24))m=0;else{m=0;l=h;do{h=m&255;k=c[t>>2]|0;if(!k){k=(c[q>>2]|0)>>>31;if(!(a[u>>0]|0)){Jl(g,1);l=a[w>>0]|0}}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}a[C+8635+(n*51|0)+h>>0]=k;m=m+1<<24>>24}while((m&255)<(l&255));k=a[p>>0]|0;h=l;m=l}l=o+1<<24>>24;if((l&255)<(k&255)){o=l;n=l&255;l=m}else break}}break}default:{}}if((d[e+4>>0]|0)>16?a[C+9048>>0]|0:0){k=c[t>>2]|0;if(!k){k=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Jl(g,1)}else{k=k+-1|0;c[t>>2]=k;k=(c[g>>2]|0)>>>k&1}q=k&255;a[C+10283>>0]=q;if(q<<24>>24?(j=dn(e,w,C+10282|0,g)|0,j<<24>>24):0)break}pD(x|0,w|0,10454)|0;s=50}else j=k}else{a[C+8634>>0]=0;s=50}while(0);do if((s|0)==50){j=en(e,C,g,w,A)|0;if(!(j<<24>>24)){if((a[r>>0]|0?(d[e+4>>0]|0)>16:0)?a[C+9048>>0]|0:0){j=c[t>>2]|0;if(!j){j=(c[g+4>>2]|0)>>>31;if(!(a[u>>0]|0))Jl(g,1)}else{j=j+-1|0;c[t>>2]=j;j=(c[g>>2]|0)>>>j&1}s=j&255;a[C+10365>>0]=s;if(s<<24>>24?(v=dn(e,w,C+10364|0,g)|0,v<<24>>24):0){j=v;break}}j=en(e,C,g,x,B)|0;if(!(j<<24>>24)){k=c[t>>2]|0;if(k>>>0<3){j=3-k|0;j=(c[g>>2]&(1<<k)+-1)<<j|(c[g+4>>2]|0)>>>(32-j|0)}else j=c[g>>2]<<32-k>>>29;if((j|0)==6){do if(!(a[u>>0]|0))if(k>>>0>3){c[t>>2]=k+-3;break}else{Jl(g,3);break}while(0);j=Fm(e,g,c[e+324>>2]|0,a[E>>0]|0)|0;if(j<<24>>24)break}j=fn(e,w,x,C,A,B)|0}}}while(0);a[f+9>>0]=j;if(!(a[e+1656>>0]|0))a[e+2192+D>>0]=i;else{D=(y&255)+(e+2112)|0;a[(d[D>>0]|0)+(e+2192)>>0]=i;i=a[D>>0]|0}a[(i&255)+1+(e+2192)>>0]=z;a[F>>0]=(d[F>>0]|0)+2;a[E>>0]=(a[E>>0]|0)+1<<24>>24;oc=G;return} |
| | | function bo(e,g,i){e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0,y=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0.0,Xa=0.0,Ya=0.0,Za=0.0,_a=0.0;Na=oc;Ma=oc=oc+31&-32;oc=oc+25088|0;ga=Ma+20736|0;Ea=Ma+16384|0;La=Ma+8192|0;rD(La|0,0,8192)|0;rD(Ma|0,0,8192)|0;P=e+718|0;Ka=e+9|0;if(a[P>>0]|0)if(a[Ka>>0]|0){v=e+3|0;w=e+38|0;y=e+72|0;j=e+106|0;k=e+123|0;A=e+5|0;B=e+1|0;C=e+7|0;H=e+4|0;I=e+26|0;J=e+6|0;t=0;s=0;while(1){Ia=a[v>>0]|0;l=(Ia&255)<3?7:15;Ja=t<<24>>24==0;m=s+-1|0;q=Ja?j:e+480+(m*17|0)|0;r=Ja?k:e+565+(m*17|0)|0;co(a[e>>0]|0,e+140+(s*34|0)|0,Ja?w:e+140+(m*34|0)|0,a[e+16+s>>0]|0,a[A>>0]|0,Ia<<24>>24==0|Ia<<24>>24==3?2:1,0-(l&255)&255,l);l=a[H>>0]|0;co(a[B>>0]|0,e+310+(s*34|0)|0,Ja?y:e+310+(m*34|0)|0,a[e+21+s>>0]|0,a[C>>0]|0,l<<24>>24==0|l<<24>>24==3?2:1,0,7);l=e+480+(s*17|0)|0;m=a[J>>0]|0;do if((a[I>>0]|0)==1)if(!(a[e+28+s>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else{ea=13;break}do{Ja=e+480+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+480+(s*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(!(m<<24>>24)){ea=13;break}else{l=0;m=0}do{Ja=e+480+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[q+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}else{n=m&255;if(m<<24>>24){l=0;m=0;do{a[e+480+(s*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0));ea=13}}while(0);a:do if((ea|0)==13){ea=0;m=a[J>>0]|0;l=e+565+(s*17|0)|0;if((a[I>>0]|0)!=1){n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}while(1){a[e+565+(s*17|0)+m>>0]=0;l=l+1<<24>>24;m=l<<24>>24;if((m|0)>=(n|0))break a}}if(!(a[e+33+s>>0]|0)){a[l>>0]=a[l>>0]&7;n=m&255;if((m&255)>1){l=1;m=1}else break;do{Ja=e+565+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[m+-1+(e+565+(s*17|0))>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}else{n=m&255;if(!(m<<24>>24))break;else{l=0;m=0}do{Ja=e+565+(s*17|0)+m|0;a[Ja>>0]=(d[Ja>>0]|0)+(d[r+m>>0]|0)&7;l=l+1<<24>>24;m=l<<24>>24}while((m|0)<(n|0))}}while(0);m=t+1<<24>>24;l=a[Ka>>0]|0;if((m&255)<(l&255)){t=m;s=m&255}else break}if(!(l<<24>>24))ea=24}else ea=24;else{a[Ka>>0]=0;ea=24}do if((ea|0)==24){a[Ka>>0]=1;if(!(a[e>>0]|0)){n=e+140|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+140>>0]=a[e+38>>0]|0;a[e+141>>0]=a[e+39>>0]|0;a[e+142>>0]=a[e+40>>0]|0;a[e+143>>0]=a[e+41>>0]|0;a[e+144>>0]=a[e+42>>0]|0;a[e+145>>0]=a[e+43>>0]|0;a[e+146>>0]=a[e+44>>0]|0;a[e+147>>0]=a[e+45>>0]|0;a[e+148>>0]=a[e+46>>0]|0;a[e+149>>0]=a[e+47>>0]|0;a[e+150>>0]=a[e+48>>0]|0;a[e+151>>0]=a[e+49>>0]|0;a[e+152>>0]=a[e+50>>0]|0;a[e+153>>0]=a[e+51>>0]|0;a[e+154>>0]=a[e+52>>0]|0;a[e+155>>0]=a[e+53>>0]|0;a[e+156>>0]=a[e+54>>0]|0;a[e+157>>0]=a[e+55>>0]|0;a[e+158>>0]=a[e+56>>0]|0;a[e+159>>0]=a[e+57>>0]|0;a[e+160>>0]=a[e+58>>0]|0;a[e+161>>0]=a[e+59>>0]|0;a[e+162>>0]=a[e+60>>0]|0;a[e+163>>0]=a[e+61>>0]|0;a[e+164>>0]=a[e+62>>0]|0;a[e+165>>0]=a[e+63>>0]|0;a[e+166>>0]=a[e+64>>0]|0;a[e+167>>0]=a[e+65>>0]|0;a[e+168>>0]=a[e+66>>0]|0;a[e+169>>0]=a[e+67>>0]|0;a[e+170>>0]=a[e+68>>0]|0;a[e+171>>0]=a[e+69>>0]|0;a[e+172>>0]=a[e+70>>0]|0;a[e+173>>0]=a[e+71>>0]|0}if(!(a[e+1>>0]|0)){n=e+310|0;m=n+34|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0))}else{a[e+310>>0]=a[e+72>>0]|0;a[e+311>>0]=a[e+73>>0]|0;a[e+312>>0]=a[e+74>>0]|0;a[e+313>>0]=a[e+75>>0]|0;a[e+314>>0]=a[e+76>>0]|0;a[e+315>>0]=a[e+77>>0]|0;a[e+316>>0]=a[e+78>>0]|0;a[e+317>>0]=a[e+79>>0]|0;a[e+318>>0]=a[e+80>>0]|0;a[e+319>>0]=a[e+81>>0]|0;a[e+320>>0]=a[e+82>>0]|0;a[e+321>>0]=a[e+83>>0]|0;a[e+322>>0]=a[e+84>>0]|0;a[e+323>>0]=a[e+85>>0]|0;a[e+324>>0]=a[e+86>>0]|0;a[e+325>>0]=a[e+87>>0]|0;a[e+326>>0]=a[e+88>>0]|0;a[e+327>>0]=a[e+89>>0]|0;a[e+328>>0]=a[e+90>>0]|0;a[e+329>>0]=a[e+91>>0]|0;a[e+330>>0]=a[e+92>>0]|0;a[e+331>>0]=a[e+93>>0]|0;a[e+332>>0]=a[e+94>>0]|0;a[e+333>>0]=a[e+95>>0]|0;a[e+334>>0]=a[e+96>>0]|0;a[e+335>>0]=a[e+97>>0]|0;a[e+336>>0]=a[e+98>>0]|0;a[e+337>>0]=a[e+99>>0]|0;a[e+338>>0]=a[e+100>>0]|0;a[e+339>>0]=a[e+101>>0]|0;a[e+340>>0]=a[e+102>>0]|0;a[e+341>>0]=a[e+103>>0]|0;a[e+342>>0]=a[e+104>>0]|0;a[e+343>>0]=a[e+105>>0]|0}if(!(a[e+26>>0]|0)){j=e+565|0;n=e+480|0;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));n=j;m=n+17|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(m|0));k=e+123|0;j=e+106|0;break}else{j=e+106|0;a[e+480>>0]=a[j>>0]|0;k=e+123|0;a[e+565>>0]=a[k>>0]|0;a[e+481>>0]=a[e+107>>0]|0;a[e+566>>0]=a[e+124>>0]|0;a[e+482>>0]=a[e+108>>0]|0;a[e+567>>0]=a[e+125>>0]|0;a[e+483>>0]=a[e+109>>0]|0;a[e+568>>0]=a[e+126>>0]|0;a[e+484>>0]=a[e+110>>0]|0;a[e+569>>0]=a[e+127>>0]|0;a[e+485>>0]=a[e+111>>0]|0;a[e+570>>0]=a[e+128>>0]|0;a[e+486>>0]=a[e+112>>0]|0;a[e+571>>0]=a[e+129>>0]|0;a[e+487>>0]=a[e+113>>0]|0;a[e+572>>0]=a[e+130>>0]|0;a[e+488>>0]=a[e+114>>0]|0;a[e+573>>0]=a[e+131>>0]|0;a[e+489>>0]=a[e+115>>0]|0;a[e+574>>0]=a[e+132>>0]|0;a[e+490>>0]=a[e+116>>0]|0;a[e+575>>0]=a[e+133>>0]|0;a[e+491>>0]=a[e+117>>0]|0;a[e+576>>0]=a[e+134>>0]|0;a[e+492>>0]=a[e+118>>0]|0;a[e+577>>0]=a[e+135>>0]|0;a[e+493>>0]=a[e+119>>0]|0;a[e+578>>0]=a[e+136>>0]|0;a[e+494>>0]=a[e+120>>0]|0;a[e+579>>0]=a[e+137>>0]|0;a[e+495>>0]=a[e+121>>0]|0;a[e+580>>0]=a[e+138>>0]|0;a[e+496>>0]=a[e+122>>0]|0;a[e+581>>0]=a[e+139>>0]|0;break}}while(0);Ja=(d[Ka>>0]|0)+-1|0;a[e+38>>0]=a[e+140+(Ja*34|0)>>0]|0;a[e+39>>0]=a[e+140+(Ja*34|0)+1>>0]|0;a[e+40>>0]=a[e+140+(Ja*34|0)+2>>0]|0;a[e+41>>0]=a[e+140+(Ja*34|0)+3>>0]|0;a[e+42>>0]=a[e+140+(Ja*34|0)+4>>0]|0;a[e+43>>0]=a[e+140+(Ja*34|0)+5>>0]|0;a[e+44>>0]=a[e+140+(Ja*34|0)+6>>0]|0;a[e+45>>0]=a[e+140+(Ja*34|0)+7>>0]|0;a[e+46>>0]=a[e+140+(Ja*34|0)+8>>0]|0;a[e+47>>0]=a[e+140+(Ja*34|0)+9>>0]|0;a[e+48>>0]=a[e+140+(Ja*34|0)+10>>0]|0;a[e+49>>0]=a[e+140+(Ja*34|0)+11>>0]|0;a[e+50>>0]=a[e+140+(Ja*34|0)+12>>0]|0;a[e+51>>0]=a[e+140+(Ja*34|0)+13>>0]|0;a[e+52>>0]=a[e+140+(Ja*34|0)+14>>0]|0;a[e+53>>0]=a[e+140+(Ja*34|0)+15>>0]|0;a[e+54>>0]=a[e+140+(Ja*34|0)+16>>0]|0;a[e+55>>0]=a[e+140+(Ja*34|0)+17>>0]|0;a[e+56>>0]=a[e+140+(Ja*34|0)+18>>0]|0;a[e+57>>0]=a[e+140+(Ja*34|0)+19>>0]|0;a[e+58>>0]=a[e+140+(Ja*34|0)+20>>0]|0;a[e+59>>0]=a[e+140+(Ja*34|0)+21>>0]|0;a[e+60>>0]=a[e+140+(Ja*34|0)+22>>0]|0;a[e+61>>0]=a[e+140+(Ja*34|0)+23>>0]|0;a[e+62>>0]=a[e+140+(Ja*34|0)+24>>0]|0;a[e+63>>0]=a[e+140+(Ja*34|0)+25>>0]|0;a[e+64>>0]=a[e+140+(Ja*34|0)+26>>0]|0;a[e+65>>0]=a[e+140+(Ja*34|0)+27>>0]|0;a[e+66>>0]=a[e+140+(Ja*34|0)+28>>0]|0;a[e+67>>0]=a[e+140+(Ja*34|0)+29>>0]|0;a[e+68>>0]=a[e+140+(Ja*34|0)+30>>0]|0;a[e+69>>0]=a[e+140+(Ja*34|0)+31>>0]|0;a[e+70>>0]=a[e+140+(Ja*34|0)+32>>0]|0;a[e+71>>0]=a[e+140+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[e+72>>0]=a[e+310+(Ja*34|0)>>0]|0;a[e+73>>0]=a[e+310+(Ja*34|0)+1>>0]|0;a[e+74>>0]=a[e+310+(Ja*34|0)+2>>0]|0;a[e+75>>0]=a[e+310+(Ja*34|0)+3>>0]|0;a[e+76>>0]=a[e+310+(Ja*34|0)+4>>0]|0;a[e+77>>0]=a[e+310+(Ja*34|0)+5>>0]|0;a[e+78>>0]=a[e+310+(Ja*34|0)+6>>0]|0;a[e+79>>0]=a[e+310+(Ja*34|0)+7>>0]|0;a[e+80>>0]=a[e+310+(Ja*34|0)+8>>0]|0;a[e+81>>0]=a[e+310+(Ja*34|0)+9>>0]|0;a[e+82>>0]=a[e+310+(Ja*34|0)+10>>0]|0;a[e+83>>0]=a[e+310+(Ja*34|0)+11>>0]|0;a[e+84>>0]=a[e+310+(Ja*34|0)+12>>0]|0;a[e+85>>0]=a[e+310+(Ja*34|0)+13>>0]|0;a[e+86>>0]=a[e+310+(Ja*34|0)+14>>0]|0;a[e+87>>0]=a[e+310+(Ja*34|0)+15>>0]|0;a[e+88>>0]=a[e+310+(Ja*34|0)+16>>0]|0;a[e+89>>0]=a[e+310+(Ja*34|0)+17>>0]|0;a[e+90>>0]=a[e+310+(Ja*34|0)+18>>0]|0;a[e+91>>0]=a[e+310+(Ja*34|0)+19>>0]|0;a[e+92>>0]=a[e+310+(Ja*34|0)+20>>0]|0;a[e+93>>0]=a[e+310+(Ja*34|0)+21>>0]|0;a[e+94>>0]=a[e+310+(Ja*34|0)+22>>0]|0;a[e+95>>0]=a[e+310+(Ja*34|0)+23>>0]|0;a[e+96>>0]=a[e+310+(Ja*34|0)+24>>0]|0;a[e+97>>0]=a[e+310+(Ja*34|0)+25>>0]|0;a[e+98>>0]=a[e+310+(Ja*34|0)+26>>0]|0;a[e+99>>0]=a[e+310+(Ja*34|0)+27>>0]|0;a[e+100>>0]=a[e+310+(Ja*34|0)+28>>0]|0;a[e+101>>0]=a[e+310+(Ja*34|0)+29>>0]|0;a[e+102>>0]=a[e+310+(Ja*34|0)+30>>0]|0;a[e+103>>0]=a[e+310+(Ja*34|0)+31>>0]|0;a[e+104>>0]=a[e+310+(Ja*34|0)+32>>0]|0;a[e+105>>0]=a[e+310+(Ja*34|0)+33>>0]|0;Ja=(d[Ka>>0]|0)+-1|0;a[j>>0]=a[e+480+(Ja*17|0)>>0]|0;a[k>>0]=a[e+565+(Ja*17|0)>>0]|0;a[e+107>>0]=a[e+480+(Ja*17|0)+1>>0]|0;a[e+124>>0]=a[e+565+(Ja*17|0)+1>>0]|0;a[e+108>>0]=a[e+480+(Ja*17|0)+2>>0]|0;a[e+125>>0]=a[e+565+(Ja*17|0)+2>>0]|0;a[e+109>>0]=a[e+480+(Ja*17|0)+3>>0]|0;a[e+126>>0]=a[e+565+(Ja*17|0)+3>>0]|0;a[e+110>>0]=a[e+480+(Ja*17|0)+4>>0]|0;a[e+127>>0]=a[e+565+(Ja*17|0)+4>>0]|0;a[e+111>>0]=a[e+480+(Ja*17|0)+5>>0]|0;a[e+128>>0]=a[e+565+(Ja*17|0)+5>>0]|0;a[e+112>>0]=a[e+480+(Ja*17|0)+6>>0]|0;a[e+129>>0]=a[e+565+(Ja*17|0)+6>>0]|0;a[e+113>>0]=a[e+480+(Ja*17|0)+7>>0]|0;a[e+130>>0]=a[e+565+(Ja*17|0)+7>>0]|0;a[e+114>>0]=a[e+480+(Ja*17|0)+8>>0]|0;a[e+131>>0]=a[e+565+(Ja*17|0)+8>>0]|0;a[e+115>>0]=a[e+480+(Ja*17|0)+9>>0]|0;a[e+132>>0]=a[e+565+(Ja*17|0)+9>>0]|0;a[e+116>>0]=a[e+480+(Ja*17|0)+10>>0]|0;a[e+133>>0]=a[e+565+(Ja*17|0)+10>>0]|0;a[e+117>>0]=a[e+480+(Ja*17|0)+11>>0]|0;a[e+134>>0]=a[e+565+(Ja*17|0)+11>>0]|0;a[e+118>>0]=a[e+480+(Ja*17|0)+12>>0]|0;a[e+135>>0]=a[e+565+(Ja*17|0)+12>>0]|0;a[e+119>>0]=a[e+480+(Ja*17|0)+13>>0]|0;a[e+136>>0]=a[e+565+(Ja*17|0)+13>>0]|0;a[e+120>>0]=a[e+480+(Ja*17|0)+14>>0]|0;a[e+137>>0]=a[e+565+(Ja*17|0)+14>>0]|0;a[e+121>>0]=a[e+480+(Ja*17|0)+15>>0]|0;a[e+138>>0]=a[e+565+(Ja*17|0)+15>>0]|0;a[e+122>>0]=a[e+480+(Ja*17|0)+16>>0]|0;a[e+139>>0]=a[e+565+(Ja*17|0)+16>>0]|0;a[P>>0]=0;Ja=(a[e+8>>0]|0)==0;Ca=e+10|0;a[Ca>>0]=0;k=a[Ka>>0]|0;m=k&255;if(!Ja){q=e+725|0;if((d[e+10+m>>0]|0)<(d[q>>0]|0)){j=m+-1|0;k=0;do{a[e+140+(m*34|0)+k>>0]=a[e+140+(j*34|0)+k>>0]|0;a[e+310+(m*34|0)+k>>0]=a[e+310+(j*34|0)+k>>0]|0;k=k+1|0}while((k|0)!=34);j=a[Ka>>0]|0;Ja=j&255;Ia=Ja+-1|0;a[e+480+(Ja*17|0)>>0]=a[e+480+(Ia*17|0)>>0]|0;a[e+565+(Ja*17|0)>>0]=a[e+565+(Ia*17|0)>>0]|0;a[e+480+(Ja*17|0)+1>>0]=a[e+480+(Ia*17|0)+1>>0]|0;a[e+565+(Ja*17|0)+1>>0]=a[e+565+(Ia*17|0)+1>>0]|0;a[e+480+(Ja*17|0)+2>>0]=a[e+480+(Ia*17|0)+2>>0]|0;a[e+565+(Ja*17|0)+2>>0]=a[e+565+(Ia*17|0)+2>>0]|0;a[e+480+(Ja*17|0)+3>>0]=a[e+480+(Ia*17|0)+3>>0]|0;a[e+565+(Ja*17|0)+3>>0]=a[e+565+(Ia*17|0)+3>>0]|0;a[e+480+(Ja*17|0)+4>>0]=a[e+480+(Ia*17|0)+4>>0]|0;a[e+565+(Ja*17|0)+4>>0]=a[e+565+(Ia*17|0)+4>>0]|0;a[e+480+(Ja*17|0)+5>>0]=a[e+480+(Ia*17|0)+5>>0]|0;a[e+565+(Ja*17|0)+5>>0]=a[e+565+(Ia*17|0)+5>>0]|0;a[e+480+(Ja*17|0)+6>>0]=a[e+480+(Ia*17|0)+6>>0]|0;a[e+565+(Ja*17|0)+6>>0]=a[e+565+(Ia*17|0)+6>>0]|0;a[e+480+(Ja*17|0)+7>>0]=a[e+480+(Ia*17|0)+7>>0]|0;a[e+565+(Ja*17|0)+7>>0]=a[e+565+(Ia*17|0)+7>>0]|0;a[e+480+(Ja*17|0)+8>>0]=a[e+480+(Ia*17|0)+8>>0]|0;a[e+565+(Ja*17|0)+8>>0]=a[e+565+(Ia*17|0)+8>>0]|0;a[e+480+(Ja*17|0)+9>>0]=a[e+480+(Ia*17|0)+9>>0]|0;a[e+565+(Ja*17|0)+9>>0]=a[e+565+(Ia*17|0)+9>>0]|0;a[e+480+(Ja*17|0)+10>>0]=a[e+480+(Ia*17|0)+10>>0]|0;a[e+565+(Ja*17|0)+10>>0]=a[e+565+(Ia*17|0)+10>>0]|0;a[e+480+(Ja*17|0)+11>>0]=a[e+480+(Ia*17|0)+11>>0]|0;a[e+565+(Ja*17|0)+11>>0]=a[e+565+(Ia*17|0)+11>>0]|0;a[e+480+(Ja*17|0)+12>>0]=a[e+480+(Ia*17|0)+12>>0]|0;a[e+565+(Ja*17|0)+12>>0]=a[e+565+(Ia*17|0)+12>>0]|0;a[e+480+(Ja*17|0)+13>>0]=a[e+480+(Ia*17|0)+13>>0]|0;a[e+565+(Ja*17|0)+13>>0]=a[e+565+(Ia*17|0)+13>>0]|0;a[e+480+(Ja*17|0)+14>>0]=a[e+480+(Ia*17|0)+14>>0]|0;a[e+565+(Ja*17|0)+14>>0]=a[e+565+(Ia*17|0)+14>>0]|0;a[e+480+(Ja*17|0)+15>>0]=a[e+480+(Ia*17|0)+15>>0]|0;a[e+565+(Ja*17|0)+15>>0]=a[e+565+(Ia*17|0)+15>>0]|0;a[e+480+(Ja*17|0)+16>>0]=a[e+480+(Ia*17|0)+16>>0]|0;a[e+565+(Ja*17|0)+16>>0]=a[e+565+(Ia*17|0)+16>>0]|0;j=j+1<<24>>24;a[Ka>>0]=j;a[(j&255)+(e+10)>>0]=a[q>>0]|0}else j=k;if((j&255)>1){l=j&255;n=1;do{j=n-l+(d[q>>0]|0)|0;m=e+10+n|0;k=d[m>>0]|0;if((j<<24>>24|0)>=(k|0)){j=(d[n+-1+(e+10)>>0]|0)+1|0;if((j<<24>>24|0)>(k|0))ea=45}else ea=45;if((ea|0)==45){ea=0;a[m>>0]=j}n=n+1|0}while((n|0)!=(l|0))}}else{l=e+725|0;j=a[l>>0]|0;if((k&255)>1?(a[e+11>>0]=(j&255)/(k&255)|0,k<<24>>24!=2):0){k=2;do{a[e+10+k>>0]=((z(k,j&255)|0)>>>0)/(m>>>0)|0;k=k+1|0;j=a[l>>0]|0}while(k>>>0<m>>>0)}a[e+10+m>>0]=j}Ja=e+724|0;j=a[Ja>>0]|0;do if(!(j<<24>>24)){s=3;r=20;q=10;n=22;m=115308;l=141601;k=e+732|0;j=0}else{k=a[Ka>>0]|0;if(k<<24>>24){m=e+4|0;n=e+27|0;l=a[e+3>>0]|0;k=k&255;b:do if(l<<24>>24==2){j=0;while(1){switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}else{j=0;while(1){switch(l<<24>>24){case 5:case 2:break;default:{Ia=e+140+(j*34|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+140+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[m>>0]|0){case 5:case 2:break;default:{Ia=e+310+(j*34|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+310+(j*34|0)>>0]|0)|0)/2|0)&255|0,33)|0}}switch(a[n>>0]|0){case 5:case 2:break;default:{Ia=e+480+(j*17|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+480+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0;Ia=e+565+(j*17|0)+1|0;rD(Ia|0,(((a[Ia>>0]|0)+(a[e+565+(j*17|0)>>0]|0)|0)/2|0)&255|0,16)|0}}j=j+1|0;if((j|0)==(k|0))break b}}while(0);j=a[Ja>>0]|0;k=e+732|0;if(!(j<<24>>24)){s=3;r=20;q=10;n=22;m=115308;l=141601;j=0;break}}else k=e+732|0;s=5;r=34;q=32;n=50;m=115208;l=141550}while(0);c[k>>2]=l;Ia=e+736|0;c[Ia>>2]=m;Ha=e+726|0;a[Ha>>0]=n;Ga=e+727|0;a[Ga>>0]=q;fa=e+728|0;a[fa>>0]=r;Ba=e+730|0;a[Ba>>0]=s;Fa=e+720|0;y=c[Fa>>2]|0;A=a[e+725>>0]|0;P=j<<24>>24!=0;B=P?y+4|0:y+1|0;C=P?5:3;H=y+12|0;I=y+16|0;J=y+20|0;P=P?101752:101780;_=P+24|0;$=P+20|0;aa=P+16|0;ba=P+4|0;ca=P+12|0;da=P+8|0;s=0;w=0;r=0;while(1){n=c[H>>2]|0;l=c[(c[I>>2]|0)+(r<<2)>>2]|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));l=a[y>>0]|0;q=c[H>>2]|0;if(!(l<<24>>24))l=0;else{m=l&255;n=0;do{va=n+6|0;Aa=n+12|0;c[q+(Aa<<3)>>2]=c[g+(va<<9)+(r<<3)>>2];c[q+(Aa<<3)+4>>2]=c[g+(va<<9)+(r<<3)+4>>2];n=n+1|0}while((n|0)!=(m|0))}n=c[(c[I>>2]|0)+(r<<2)>>2]|0;l=q+((l&255)<<3)|0;m=n+96|0;do{c[n>>2]=c[l>>2];n=n+4|0;l=l+4|0}while((n|0)<(m|0));v=B+r|0;l=a[v>>0]|0;Aa=(l&255)+-2|0;switch(Aa>>>1|Aa<<31|0){case 0:{m=a[y>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ja=l+12|0;T=(+f[n+(l<<3)>>2]+ +f[n+(ja<<3)>>2])*0.0;Aa=l;l=l+1|0;ka=Aa+11|0;U=(+f[n+(l<<3)>>2]+ +f[n+(ka<<3)>>2])*.018994875252246857;la=Aa+2|0;ma=Aa+10|0;V=(+f[n+(la<<3)>>2]+ +f[n+(ma<<3)>>2])*0.0;pa=Aa+3|0;qa=Aa+9|0;W=(+f[n+(pa<<3)>>2]+ +f[n+(qa<<3)>>2])*-.07293139398097992;ra=Aa+4|0;sa=Aa+8|0;X=(+f[n+(ra<<3)>>2]+ +f[n+(sa<<3)>>2])*0.0;ta=Aa+5|0;ua=Aa+7|0;Y=(+f[n+(ta<<3)>>2]+ +f[n+(ua<<3)>>2])*.305966317653656;va=Aa+6|0;S=+f[n+(va<<3)>>2]*.5;na=(+f[n+(Aa<<3)+4>>2]+ +f[n+(ja<<3)+4>>2])*0.0;oa=(+f[n+(l<<3)+4>>2]+ +f[n+(ka<<3)+4>>2])*.018994875252246857;wa=(+f[n+(la<<3)+4>>2]+ +f[n+(ma<<3)+4>>2])*0.0;xa=(+f[n+(pa<<3)+4>>2]+ +f[n+(qa<<3)+4>>2])*-.07293139398097992;ya=(+f[n+(ra<<3)+4>>2]+ +f[n+(sa<<3)+4>>2])*0.0;za=(+f[n+(ta<<3)+4>>2]+ +f[n+(ua<<3)+4>>2])*.305966317653656;Z=+f[n+(va<<3)+4>>2]*.5;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=S+(T+U+V+W+X+Y);f[Aa+4>>2]=Z+(na+oa+wa+xa+ya+za);f[Aa+8>>2]=S+(T-U+V-W+X-Y);f[Aa+12>>2]=Z+(na-oa+wa-xa+ya-za)}while((l|0)!=(m|0));ea=83}break}case 1:{m=a[y>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{ua=l+2|0;va=l+10|0;ta=l+6|0;X=+f[n+(ta<<3)>>2]*.25-(+f[n+(ua<<3)>>2]+ +f[n+(va<<3)>>2])*0.0;Aa=l;l=l+1|0;O=+f[n+(l<<3)>>2];ja=Aa+11|0;Q=+f[n+(ja<<3)>>2];ka=Aa+3|0;R=+f[n+(ka<<3)>>2];la=Aa+9|0;S=+f[n+(la<<3)>>2];ma=Aa+5|0;za=+f[n+(ma<<3)>>2];pa=Aa+7|0;xa=+f[n+(pa<<3)>>2];Y=((R+S)*.07778724282979965-(O+Q)*.04871498420834541-(za+xa)*.23279856145381927)*-.7071067690849304;qa=Aa+12|0;ra=Aa+4|0;sa=Aa+8|0;na=(+f[n+(Aa<<3)+4>>2]-+f[n+(qa<<3)+4>>2])*-.059082113206386566-(+f[n+(ra<<3)+4>>2]-+f[n+(sa<<3)+4>>2])*.16486303508281708;V=+f[n+(l<<3)+4>>2];W=+f[n+(ja<<3)+4>>2];T=+f[n+(ka<<3)+4>>2];U=+f[n+(la<<3)+4>>2];Z=+f[n+(ma<<3)+4>>2];wa=+f[n+(pa<<3)+4>>2];oa=((V-W)*-.04871498420834541-(T-U)*.07778724282979965-(Z-wa)*.23279856145381927)*.7071067690849304;ya=(+f[n+(Aa<<3)>>2]-+f[n+(qa<<3)>>2])*-.059082113206386566-(+f[n+(ra<<3)>>2]-+f[n+(sa<<3)>>2])*.16486303508281708;xa=((O-Q)*-.04871498420834541-(R-S)*.07778724282979965-(za-xa)*.23279856145381927)*.7071067690849304;za=+f[n+(ta<<3)+4>>2]*.25-(+f[n+(ua<<3)+4>>2]+ +f[n+(va<<3)+4>>2])*0.0;wa=((T+U)*.07778724282979965-(V+W)*.04871498420834541-(Z+wa)*.23279856145381927)*-.7071067690849304;Z=X+Y;Aa=c[q+(Aa<<2)>>2]|0;f[Aa>>2]=Z+na+oa;f[Aa+4>>2]=wa+(-ya-xa+za);Y=X-Y;f[Aa+8>>2]=Y-na+oa;f[Aa+12>>2]=ya-xa+za-wa;f[Aa+16>>2]=Y+na-oa;f[Aa+20>>2]=xa-ya+za-wa;f[Aa+24>>2]=Z-na-oa;f[Aa+28>>2]=wa+(xa+ya+za)}while((l|0)!=(m|0));ea=83}break}case 3:{m=a[y>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;o=+f[_>>2];p=+f[$>>2];x=+f[P>>2];D=+f[aa>>2];E=+f[ba>>2];F=+f[ca>>2];G=+f[da>>2];l=0;do{Ua=l+6|0;ya=o*+f[n+(Ua<<3)>>2];Ta=l+5|0;ja=n+(Ta<<3)|0;Sa=l+7|0;ia=n+(Sa<<3)|0;xa=p*(+f[ja>>2]+ +f[ia>>2]);la=n+(l<<3)|0;Oa=l+12|0;ka=n+(Oa<<3)|0;Ra=l+4|0;pa=n+(Ra<<3)|0;Qa=l+8|0;ma=n+(Qa<<3)|0;na=D*(+f[pa>>2]+ +f[ma>>2])-x*(+f[la>>2]+ +f[ka>>2]);Aa=l;l=l+1|0;ra=n+(l<<3)|0;ha=Aa+11|0;qa=n+(ha<<3)|0;r=Aa+3|0;ta=n+(r<<3)|0;t=Aa+9|0;sa=n+(t<<3)|0;za=F*(+f[ta>>2]+ +f[sa>>2])-E*(+f[ra>>2]+ +f[qa>>2]);Sa=n+(Sa<<3)+4|0;Ta=n+(Ta<<3)+4|0;oa=p*(+f[Sa>>2]-+f[Ta>>2]);Oa=n+(Oa<<3)+4|0;Pa=n+(Aa<<3)+4|0;Qa=n+(Qa<<3)+4|0;Ra=n+(Ra<<3)+4|0;Y=x*(+f[Oa>>2]-+f[Pa>>2])+D*(+f[Qa>>2]-+f[Ra>>2]);ha=n+(ha<<3)+4|0;ea=n+(l<<3)+4|0;t=n+(t<<3)+4|0;r=n+(r<<3)+4|0;wa=E*(+f[ha>>2]-+f[ea>>2])+F*(+f[t>>2]-+f[r>>2]);ua=Aa+10|0;va=Aa+2|0;Z=G*(+f[n+(ua<<3)+4>>2]-+f[n+(va<<3)+4>>2]);V=ya-Z;U=xa-wa;W=za-oa;T=(na-Y)*.7071067690849304;X=V-T;V=T+V;T=(W+U)*-.9238795042037964;U=U*1.3065630197525024+T;T=W*-.5411961078643799-T;Aa=q+(Aa<<2)|0;Va=c[Aa>>2]|0;f[Va+56>>2]=V+T;f[Va+40>>2]=X-U;f[Va+24>>2]=V-T;f[Va+8>>2]=X+U;Z=ya+Z;wa=xa+wa;oa=za+oa;Y=(na+Y)*.7071067690849304;na=Z-Y;Z=Y+Z;Y=(oa+wa)*-.9238795042037964;wa=wa*1.3065630197525024+Y;Y=oa*-.5411961078643799-Y;f[Va+48>>2]=na+wa;f[Va+32>>2]=Z-Y;f[Va+16>>2]=na-wa;f[Va>>2]=Z+Y;Y=o*+f[n+(Ua<<3)+4>>2];Z=p*(+f[Ta>>2]+ +f[Sa>>2]);wa=D*(+f[Ra>>2]+ +f[Qa>>2])-x*(+f[Pa>>2]+ +f[Oa>>2]);na=F*(+f[r>>2]+ +f[t>>2])-E*(+f[ea>>2]+ +f[ha>>2]);oa=p*(+f[ia>>2]-+f[ja>>2]);za=x*(+f[ka>>2]-+f[la>>2])+D*(+f[ma>>2]-+f[pa>>2]);xa=E*(+f[qa>>2]-+f[ra>>2])+F*(+f[sa>>2]-+f[ta>>2]);ya=G*(+f[n+(ua<<3)>>2]-+f[n+(va<<3)>>2]);U=Y+ya;X=Z+xa;T=na+oa;V=(wa+za)*.7071067690849304;W=U-V;U=V+U;V=(T+X)*-.9238795042037964;X=X*1.3065630197525024+V;V=T*-.5411961078643799-V;Aa=c[Aa>>2]|0;f[Aa+60>>2]=U+V;f[Aa+44>>2]=W-X;f[Aa+28>>2]=U-V;f[Aa+12>>2]=W+X;ya=Y-ya;xa=Z-xa;oa=na-oa;za=(wa-za)*.7071067690849304;wa=ya-za;ya=za+ya;za=(oa+xa)*-.9238795042037964;xa=xa*1.3065630197525024+za;za=oa*-.5411961078643799-za;f[Aa+52>>2]=wa+xa;f[Aa+36>>2]=ya-za;f[Aa+20>>2]=wa-xa;f[Aa+4>>2]=ya+za}while((l|0)!=(m|0));ea=83}break}case 5:{m=a[y>>0]|0;n=c[H>>2]|0;q=c[J>>2]|0;if(!(m<<24>>24))ea=85;else{m=m&255;l=0;do{Ua=l+6|0;N=+f[n+(Ua<<3)>>2]*.0833333358168602;Va=l+12|0;V=+f[n+(Ua<<3)+4>>2]*.0833333358168602;p=(+f[n+(l<<3)>>2]-+f[n+(Va<<3)>>2])*.040811799466609955;X=(+f[n+(l<<3)+4>>2]-+f[n+(Va<<3)+4>>2])*.040811799466609955;Va=l;l=l+1|0;x=+f[n+(l<<3)>>2];Ua=Va+11|0;Wa=+f[n+(Ua<<3)>>2];W=(x+Wa)*.03812811151146889;S=+f[n+(l<<3)+4>>2];Ya=+f[n+(Ua<<3)+4>>2];_a=(S+Ya)*.03812811151146889;Wa=(x-Wa)*.03812811151146889;Ya=(S-Ya)*.03812811151146889;Ua=Va+2|0;S=+f[n+(Ua<<3)>>2];Ta=Va+10|0;x=+f[n+(Ta<<3)>>2];wa=(S+x)*.05144908279180527;R=+f[n+(Ua<<3)+4>>2];G=+f[n+(Ta<<3)+4>>2];ya=(R+G)*.05144908279180527;Ta=Va+3|0;o=+f[n+(Ta<<3)>>2];Ua=Va+9|0;D=+f[n+(Ua<<3)>>2];Xa=+f[n+(Ta<<3)+4>>2];O=+f[n+(Ua<<3)+4>>2];Ua=Va+4|0;Q=+f[n+(Ua<<3)>>2];Ta=Va+8|0;Za=+f[n+(Ta<<3)>>2];T=+f[n+(Ua<<3)+4>>2];F=+f[n+(Ta<<3)+4>>2];za=(Q-Za)*.07428313791751862;xa=(T-F)*.07428313791751862;Ta=Va+5|0;K=+f[n+(Ta<<3)>>2];Ua=Va+7|0;na=+f[n+(Ua<<3)>>2];Y=(K+na)*.08100347965955734;M=+f[n+(Ta<<3)+4>>2];Z=+f[n+(Ua<<3)+4>>2];oa=(M+Z)*.08100347965955734;na=(K-na)*.08100347965955734;Z=(M-Z)*.08100347965955734;M=(o+D)*.06399831175804138*.7071067690849304;K=N+M;M=N-M;N=(Y-W)*.7071067690849304;Za=wa*.5+(Q+Za)*.07428313791751862*.8660253882408142;Q=Za-wa;Y=W*.258819043636322+Y*.9659258127212524;W=Y-N;L=Za+(K+Y);E=M+N-wa;U=M+W-Q;Q=K-W-Q;wa=K-N-wa;Y=Za+(M-Y);M=(Xa+O)*.06399831175804138*.7071067690849304;Za=V+M;M=V-M;V=(oa-_a)*.7071067690849304;F=ya*.5+(T+F)*.07428313791751862*.8660253882408142;T=F-ya;oa=_a*.258819043636322+oa*.9659258127212524;_a=oa-V;N=F+(Za+oa);K=M+V-ya;W=M+_a-T;T=Za-_a-T;ya=Za-V-ya;oa=F+(M-oa);O=(Xa-O)*.06399831175804138*.7071067690849304;Xa=X+O;O=X-O;X=(Ya-Z)*.7071067690849304;G=(R-G)*.05144908279180527*.8660253882408142+xa*.5;R=G-xa;Z=Ya*.9659258127212524+Z*.258819043636322;Ya=Z-X;M=G+(Xa+Z);F=O+X-xa;V=O+Ya-R;R=Xa-Ya-R;xa=Xa-X-xa;Z=G+(O-Z);D=(o-D)*.06399831175804138*.7071067690849304;o=p+D;D=p-D;p=(Wa-na)*.7071067690849304;x=(S-x)*.05144908279180527*.8660253882408142+za*.5;S=x-za;na=Wa*.9659258127212524+na*.258819043636322;Wa=na-p;O=x+(o+na);G=D+p-za;X=D+Wa-S;S=o-Wa-S;za=o-p-za;na=x+(D-na);Va=c[q+(Va<<2)>>2]|0;f[Va>>2]=L-M;f[Va+4>>2]=O+N;f[Va+8>>2]=E+F;f[Va+12>>2]=K-G;f[Va+80>>2]=E-F;f[Va+84>>2]=G+K;f[Va+88>>2]=L+M;f[Va+92>>2]=N-O;f[Va+16>>2]=U-V;f[Va+20>>2]=X+W;f[Va+24>>2]=Q+R;f[Va+28>>2]=T-S;f[Va+64>>2]=Q-R;f[Va+68>>2]=S+T;f[Va+72>>2]=U+V;f[Va+76>>2]=W-X;f[Va+32>>2]=wa-xa;f[Va+36>>2]=za+ya;f[Va+40>>2]=Y+Z;f[Va+44>>2]=oa-na;f[Va+48>>2]=Y-Z;f[Va+52>>2]=na+oa;f[Va+56>>2]=wa+xa;f[Va+60>>2]=ya-za}while((l|0)!=(m|0));ea=83}break}default:ea=83}do if((ea|0)==83){ea=0;l=a[y>>0]|0;if(!(l<<24>>24)){l=a[v>>0]|0;ea=85;break}m=s&255;s=a[v>>0]|0;t=l&255;n=s;l=s;s=0;do{if(!(n<<24>>24))n=0;else{q=c[(c[J>>2]|0)+(s<<2)>>2]|0;r=a[v>>0]|0;n=0;l=0;while(1){Va=l+m|0;c[La+(s<<8)+(Va<<3)>>2]=c[q+(l<<3)>>2];c[La+(s<<8)+(Va<<3)+4>>2]=c[q+(l<<3)+4>>2];l=n+1<<24>>24;if((l&255)<(r&255)){n=l;l=l&255}else{l=r;n=r;break}}}s=s+1|0}while((s|0)!=(t|0))}while(0);if((ea|0)==85)m=s&255;w=w+1<<24>>24;r=w&255;if(C>>>0<=r>>>0)break;else s=m+(l&255)&255}if(j<<24>>24==0&A<<24>>24!=0){l=A&255;j=0;do{Va=La+(j<<8)+32|0;Ua=La+(j<<8)+24|0;f[Ua>>2]=+f[Va>>2]+ +f[Ua>>2];Ua=La+(j<<8)+36|0;Ta=La+(j<<8)+28|0;f[Ta>>2]=+f[Ua>>2]+ +f[Ta>>2];f[Va>>2]=0.0;f[Ua>>2]=0.0;Ua=La+(j<<8)+40|0;Va=La+(j<<8)+16|0;f[Va>>2]=+f[Ua>>2]+ +f[Va>>2];Va=La+(j<<8)+44|0;Ta=La+(j<<8)+20|0;f[Ta>>2]=+f[Va>>2]+ +f[Ta>>2];f[Ua>>2]=0.0;f[Va>>2]=0.0;j=j+1|0}while((j|0)!=(l|0))}rD(Ea|0,0,4352)|0;Aa=(a[Ja>>0]|0)==0;rD(ga|0,0,4352)|0;Aa=Aa?101808:101904;y=a[Ha>>0]|0;H=y<<24>>24==0;if(!H){v=c[Ia>>2]|0;w=c[k>>2]|0;A=d[Ga>>0]|0;B=y&255;C=0;do{m=C>>>0<A>>>0;if(m){l=a[w+C>>0]|0;j=l;l=(l&255)+1|0}else{j=a[w+C>>0]|0;l=d[w+(C+1)>>0]|0}n=j&255;t=l&255;c:do if(t>>>0>n>>>0){Va=a[Ca>>0]|0;r=Va&255;l=a[(d[Ka>>0]|0)+(e+10)>>0]|0;s=b[v+(C<<1)>>1]&255;if((Va&255)>=(l&255))while(1){j=j+1<<24>>24;if(t>>>0<=(j&255)>>>0)break c}q=l&255;if(m){l=n;do{m=r;do{Za=+f[La+(m<<8)+(l<<3)>>2];_a=+f[La+(m<<8)+(l<<3)+4>>2];Va=ga+(m*136|0)+(s<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(t>>>0>l>>>0)}else{l=n;do{m=r;do{Za=+f[g+(m<<9)+(l<<3)>>2];_a=+f[g+(m<<9)+(l<<3)+4>>2];Va=ga+(m*136|0)+(s<<2)|0;f[Va>>2]=+f[Va>>2]+(Za*Za+_a*_a);m=m+1|0}while((m|0)!=(q|0));j=j+1<<24>>24;l=j&255}while(t>>>0>l>>>0)}}while(0);C=C+1|0}while((C|0)!=(B|0))}j=a[fa>>0]|0;if(j<<24>>24){A=e+20076|0;B=e+20080|0;w=a[Ca>>0]|0;v=(d[Ka>>0]|0)+(e+10)|0;C=w&255;t=j&255;j=a[v>>0]|0;s=0;do{if((w&255)<(j&255)){n=e+20084+(s<<2)|0;q=e+20356+(s<<2)|0;r=e+20220+(s<<2)|0;x=+f[A>>2];m=w;o=+f[n>>2];j=C;while(1){o=x*o;f[n>>2]=o;p=+f[ga+(j*136|0)+(s<<2)>>2];if(o<p){f[n>>2]=p;o=p}_a=+f[q>>2];Ya=+f[B>>2];_a=_a+Ya*(o-p-_a);f[q>>2]=_a;Za=+f[r>>2];Za=Za+Ya*(p-Za);f[r>>2]=Za;_a=_a*1.5;f[Ea+(j*136|0)+(s<<2)>>2]=!(_a<=Za)?Za/_a:1.0;l=m+1<<24>>24;j=a[v>>0]|0;if((l&255)<(j&255)){m=l;j=l&255}else break}}s=s+1|0}while((s|0)!=(t|0))}va=e+740|0;if(H){s=0;r=0;q=e+742|0;n=0;m=e+743|0;l=0;j=e+741|0}else{ra=e+729|0;j=e+741|0;sa=e+744|0;ta=e+745|0;ua=e+746|0;q=e+742|0;m=e+743|0;s=0;qa=0;r=0;n=0;l=0;pa=0;while(1){w=a[Ga>>0]|0;t=c[k>>2]|0;if((qa&255)<(w&255)){t=a[t+pa>>0]|0;v=(t&255)+1&255}else{v=a[t+(pa+1)>>0]|0;t=a[t+pa>>0]|0}if((t&255)<(v&255)){ma=v&255;t=t&255;while(1){if((qa&255)>=(w&255)?(Da=d[Ba>>0]|0,t>>>0>Da>>>0):0){Va=Da-t<<24;o=(Va|0)<-318767104?0.0:+(Va>>24|0)*.05000000074505806+1.0}else o=1.0;K=o*.6514390707015991;L=o*.5647181272506714;G=o*.4895416498184204;s=a[va>>0]|0;r=a[j>>0]|0;n=a[q>>0]|0;l=a[m>>0]|0;v=a[Ca>>0]|0;d:do if((v&255)<(d[(d[Ka>>0]|0)+(e+10)>>0]|0)){J=Aa+(t<<3)|0;P=102160+(t*24|0)|0;_=102448+(t*24|0)|0;$=103216+(t*24|0)|0;aa=104752+(t<<3)|0;ba=e+811+t|0;ca=e+747+t|0;da=102160+(t*24|0)|0;ea=102448+(t*24|0)|0;fa=102160+(t*24|0)+8|0;ga=102448+(t*24|0)+8|0;ha=102160+(t*24|0)+16|0;ia=102448+(t*24|0)+16|0;ja=103216+(t*24|0)+16|0;ka=103216+(t*24|0)+8|0;la=103216+(t*24|0)|0;I=v;H=v&255;while(1){w=(qa&255)<(w&255);y=w?La+(H<<8)+(t<<3)|0:g+(H<<9)+(t<<3)|0;v=c[y>>2]|0;y=c[y+4>>2]|0;if(w|t>>>0<=(d[ra>>0]|0)>>>0){Va=s&255;C=w?e+8044+(Va<<8)+(t<<3)+4|0:e+876+(Va<<9)+(t<<3)+4|0;Va=w?e+8044+(Va<<8)+(t<<3)|0:e+876+(Va<<9)+(t<<3)|0;B=w?J:aa;_a=+f[Va>>2];Ya=+f[C>>2];c[Va>>2]=v;c[C>>2]=y;Za=+f[B>>2];p=+f[B+4>>2];o=_a*Za+Ya*p;p=Ya*Za-_a*p;B=(qa&255)<(d[Ga>>0]|0);C=r&255;if(B){w=(a[Ja>>0]|0)==0;v=w?P:_;w=w?da:ea;y=e+16236+(C<<8)+(t<<3)|0;A=e+16236+(C<<8)+(t<<3)+4|0}else{v=$;w=la;y=e+8556+(C<<9)+(t<<3)|0;A=e+8556+(C<<9)+(t<<3)+4|0}_a=+f[y>>2];Ya=+f[A>>2];Za=+f[w>>2];E=+f[v+4>>2];x=_a*Za+Ya*E-K*o;E=Ya*Za-_a*E-K*p;o=o+K*x;if(B){f[e+16236+(C<<8)+(t<<3)>>2]=o;v=e+16236+(C<<8)+(t<<3)|0}else{f[e+8556+(C<<9)+(t<<3)>>2]=o;v=e+8556+(C<<9)+(t<<3)|0}f[v+4>>2]=p+K*E;B=(qa&255)<(d[Ga>>0]|0);C=n&255;if(B){w=(a[Ja>>0]|0)==0;v=w?P:_;w=w?fa:ga;y=e+17516+(C<<8)+(t<<3)|0;A=e+17516+(C<<8)+(t<<3)+4|0}else{v=$;w=ka;y=e+11116+(C<<9)+(t<<3)|0;A=e+11116+(C<<9)+(t<<3)+4|0}o=+f[y>>2];Za=+f[A>>2];_a=+f[w>>2];F=+f[v+12>>2];D=o*_a+Za*F-L*x;F=Za*_a-o*F-L*E;o=x+L*D;if(B){f[e+17516+(C<<8)+(t<<3)>>2]=o;v=e+17516+(C<<8)+(t<<3)|0}else{f[e+11116+(C<<9)+(t<<3)>>2]=o;v=e+11116+(C<<9)+(t<<3)|0}f[v+4>>2]=E+L*F;B=(qa&255)<(d[Ga>>0]|0);C=l&255;if(B){w=(a[Ja>>0]|0)==0;v=w?P:_;w=w?ha:ia;y=e+18796+(C<<8)+(t<<3)|0;A=e+18796+(C<<8)+(t<<3)+4|0}else{v=$;w=ja;y=e+13676+(C<<9)+(t<<3)|0;A=e+13676+(C<<9)+(t<<3)+4|0}x=+f[y>>2];Za=+f[A>>2];_a=+f[w>>2];o=+f[v+20>>2];p=x*_a+Za*o-G*D;o=Za*_a-x*o-G*F;x=D+G*p;if(B){f[e+18796+(C<<8)+(t<<3)>>2]=x;v=e+18796+(C<<8)+(t<<3)|0}else{f[e+13676+(C<<9)+(t<<3)>>2]=x;v=e+13676+(C<<9)+(t<<3)|0}f[v+4>>2]=F+G*o}else{Ua=d[ba>>0]|0;p=+f[e+876+(Ua<<9)+(t<<3)>>2];Va=e+876+(Ua<<9)+(t<<3)+4|0;o=+f[Va>>2];c[e+876+(Ua<<9)+(t<<3)>>2]=v;c[Va>>2]=y}_a=+f[Ea+(H*136|0)+((b[(c[Ia>>2]|0)+(pa<<1)>>1]&255)<<2)>>2];Va=(qa&255)<(d[Ga>>0]|0);Ua=Va?Ma+(H<<8)+(t<<3)|0:i+(H<<9)+(t<<3)|0;f[Ua>>2]=p*_a;f[Ua+4>>2]=o*_a;s=s+1<<24>>24;s=(s&255)>1?0:s;if(!(Va|t>>>0<=(d[ra>>0]|0)>>>0)){Va=(a[ba>>0]|0)+1<<24>>24;a[ba>>0]=(Va&255)<(d[ca>>0]|0)?Va:0}r=r+1<<24>>24;r=(r&255)<(d[sa>>0]|0)?r:0;n=n+1<<24>>24;n=(n&255)<(d[ta>>0]|0)?n:0;l=l+1<<24>>24;l=(l&255)<(d[ua>>0]|0)?l:0;v=I+1<<24>>24;if((v&255)>=(d[(d[Ka>>0]|0)+(e+10)>>0]|0))break d;I=v;w=a[Ga>>0]|0;H=v&255}}while(0);t=t+1|0;if((t|0)==(ma|0))break;w=a[Ga>>0]|0}v=a[Ha>>0]|0}else v=y;t=qa+1<<24>>24;if((t&255)<(v&255)){qa=t;pa=t&255;y=v}else break}}a[va>>0]=s;a[j>>0]=r;a[q>>0]=n;a[m>>0]=l;ja=e+3|0;j=(d[ja>>0]|0)>2;ia=j?105264:105388;switch(a[e+27>>0]|0){case 3:case 0:{l=11;break}default:l=a[e+6>>0]|0}if(a[Ha>>0]|0){ka=e+4|0;fa=j?15:7;ga=e+26|0;ha=e+22092|0;ea=l&255;da=c[k>>2]|0;ca=0;O=0.0;N=0.0;M=0.0;L=0.0;K=0.0;G=0.0;F=0.0;E=0.0;D=0.0;x=0.0;p=0.0;o=0.0;J=0;while(1){if((ca&255)<(d[Ga>>0]|0))j=(d[da+J>>0]|0)+1|0;else j=d[da+(J+1)>>0]|0;if(a[Ka>>0]|0){P=b[(c[Ia>>2]|0)+(J<<1)>>1]&255;_=e+20492+(J<<3)|0;$=e+20892+(J<<3)|0;aa=e+21292+(J<<3)|0;ba=e+21692+(J<<3)|0;w=j&255;y=P>>>0<ea>>>0;A=e+20492+(J<<3)+4|0;B=e+20892+(J<<3)+4|0;C=e+21292+(J<<3)+4|0;H=e+21692+(J<<3)+4|0;I=da+J|0;v=0;na=O;r=0;while(1){if((d[ka>>0]|0)<3){j=a[e+140+(r*34|0)+P>>0]|0;k=j<<24>>24;S=+f[ia+(fa+k<<2)>>2];T=+f[ia+(fa-k<<2)>>2];l=a[e+310+(r*34|0)+P>>0]|0;Q=+f[105448+(l<<2)>>2];R=+f[105480+(l<<2)>>2];j=j<<24>>24<0;do if((d[ja>>0]|0)>2)if(j){j=0-k|0;O=-+f[106024+(j<<5)+(l<<2)>>2];j=105512+(j<<5)+(l<<2)|0;break}else{O=+f[106024+(k<<5)+(l<<2)>>2];j=105512+(k<<5)+(l<<2)|0;break}else if(j){j=0-k|0;O=-+f[106792+(j<<5)+(l<<2)>>2];j=106536+(j<<5)+(l<<2)|0;break}else{O=+f[106792+(k<<5)+(l<<2)>>2];j=106536+(k<<5)+(l<<2)|0;break}while(0);V=+f[j>>2];Za=Q*V;_a=R*O;W=Q*O;V=R*V;U=S*(W-V);V=T*(W+V);W=S*(_a+Za);T=T*(Za-_a)}else{j=a[e+140+(r*34|0)+P>>0]|0;n=j<<24>>24;j=j<<24>>24>-1?n:0-n|0;n=fa+n|0;q=a[e+310+(r*34|0)+P>>0]|0;if((d[ja>>0]|0)>2){l=j&255;k=108552+(l<<5)+(q<<2)|0;l=108040+(l<<5)+(q<<2)|0;m=107048+(n<<5)+(q<<2)|0;j=107048+(30-n<<5)+(q<<2)|0}else{l=j&255;k=109800+(l<<5)+(q<<2)|0;l=109544+(l<<5)+(q<<2)|0;m=109064+(n<<5)+(q<<2)|0;j=109064+(14-n<<5)+(q<<2)|0}V=+f[k>>2];_a=+f[l>>2];T=+f[m>>2];W=+f[j>>2];U=V*W*1.4142135381698608;V=V*T*-1.4142135381698608;W=_a*W*1.4142135381698608;T=_a*T*1.4142135381698608}j=a[ga>>0]|0;if(j<<24>>24)if(y){Va=a[ha>>0]|0;Qa=Va<<24>>24;Sa=e+22096+(P<<4)+(Qa<<3)|0;x=+f[Sa>>2]*.25;Pa=e+22096+(P<<4)+(Qa<<3)+4|0;D=+f[Pa>>2]*.25;Ua=e+22416+(P<<4)+(Qa<<3)|0;O=+f[Ua>>2]*.25;Qa=e+22416+(P<<4)+(Qa<<3)+4|0;Q=+f[Qa>>2]*.25;Oa=e+480+(r*17|0)+P|0;Ta=a[Oa>>0]|0;Ra=Ta<<24>>24;Ra=c[110056+((Ta<<24>>24>-1?Ra:0-Ra|0)<<2)>>2]|0;c[Sa>>2]=Ra;Oa=a[Oa>>0]|0;Sa=Oa<<24>>24;Sa=c[110092+((Oa<<24>>24>-1?Sa:0-Sa|0)<<2)>>2]|0;c[Pa>>2]=Sa;Pa=e+565+(r*17|0)+P|0;Oa=a[Pa>>0]|0;Ta=Oa<<24>>24;Ta=c[110056+((Oa<<24>>24>-1?Ta:0-Ta|0)<<2)>>2]|0;c[Ua>>2]=Ta;Pa=a[Pa>>0]|0;Ua=Pa<<24>>24;Ua=c[110092+((Pa<<24>>24>-1?Ua:0-Ua|0)<<2)>>2]|0;c[Qa>>2]=Ua;x=x+(c[h>>2]=Ra,+f[h>>2]);D=D+(c[h>>2]=Sa,+f[h>>2]);O=O+(c[h>>2]=Ta,+f[h>>2]);Va=Va<<24>>24==0?1:Va+-1<<24>>24<<24>>24;x=x+ +f[e+22096+(P<<4)+(Va<<3)>>2]*.5;D=D+ +f[e+22096+(P<<4)+(Va<<3)+4>>2]*.5;O=O+ +f[e+22416+(P<<4)+(Va<<3)>>2]*.5;Q=Q+(c[h>>2]=Ua,+f[h>>2])+ +f[e+22416+(P<<4)+(Va<<3)+4>>2]*.5;o=+u(+(O*O+Q*Q));p=+u(+(x*x+D*D));if(o!=0.0){S=Q/o;R=O/o}else{S=0.0;R=0.0}o=o*p;if(o!=0.0){p=(x*O+D*Q)/o;o=(x*Q-D*O)/o}else{p=0.0;o=0.0}Y=U*p;Z=V*R;X=W*p;Q=T*R;D=U*o;x=V*S;p=W*o;o=T*S;j=a[ga>>0]|0}else{Y=U;Z=V;X=W;Q=T}else{Y=U;Z=V;X=W;Q=T;j=0}t=r+1+(e+10)|0;k=e+10+r|0;O=+((d[t>>0]|0)-(d[k>>0]|0)|0);U=+f[_>>2];wa=(Q-U)/O;T=+f[$>>2];xa=(X-T)/O;S=+f[aa>>2];ya=(Z-S)/O;R=+f[ba>>2];za=(Y-R)/O;f[_>>2]=Q;f[$>>2]=X;f[aa>>2]=Z;f[ba>>2]=Y;s=j<<24>>24==0;if(!s?y:0){E=+f[A>>2];L=(o-E)/O;F=+f[B>>2];M=(p-F)/O;G=+f[C>>2];N=(x-G)/O;K=+f[H>>2];O=(D-K)/O;if(b[(c[Ia>>2]|0)+(J<<1)>>1]&4096){O=-O;N=-N;M=-M;L=-L;K=-K;G=-G;F=-F;E=-E}f[A>>2]=o;f[B>>2]=p;f[C>>2]=x;f[H>>2]=D}else O=na;j=a[k>>0]|0;if((j&255)<(d[t>>0]|0)){r=j;oa=R;na=S;Z=T;Y=U;q=j&255;while(1){Y=wa+Y;Z=xa+Z;na=ya+na;oa=za+oa;if(!s){K=y?O+K:K;G=y?N+G:G;F=y?M+F:F;E=y?L+E:E}j=a[I>>0]|0;k=j&255;e:do if(w>>>0>k>>>0)if((ca&255)<(d[Ga>>0]|0)){if(s)while(1){Sa=La+(q<<8)+(k<<3)|0;Ta=La+(q<<8)+(k<<3)+4|0;Ua=Ma+(q<<8)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=Ma+(q<<8)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(w>>>0<=k>>>0)break e}do{m=La+(q<<8)+(k<<3)|0;n=La+(q<<8)+(k<<3)+4|0;l=Ma+(q<<8)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=Ma+(q<<8)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(y){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(w>>>0>k>>>0)}else{if(s)while(1){Sa=g+(q<<9)+(k<<3)|0;Ta=g+(q<<9)+(k<<3)+4|0;Ua=i+(q<<9)+(k<<3)|0;Xa=+f[Ua>>2];Ya=+f[Sa>>2];Za=+f[Ta>>2];Va=i+(q<<9)+(k<<3)+4|0;_a=+f[Va>>2];f[Sa>>2]=na*Xa+Y*Ya;f[Ta>>2]=Y*Za+na*_a;f[Ua>>2]=oa*Xa+Z*Ya;f[Va>>2]=Z*Za+oa*_a;j=j+1<<24>>24;k=j&255;if(w>>>0<=k>>>0)break e}do{m=g+(q<<9)+(k<<3)|0;n=g+(q<<9)+(k<<3)+4|0;l=i+(q<<9)+(k<<3)|0;W=+f[l>>2];X=+f[m>>2];V=+f[n>>2];k=i+(q<<9)+(k<<3)+4|0;U=+f[k>>2];S=na*W+Y*X;R=Y*V+na*U;T=oa*W+Z*X;Q=Z*V+oa*U;if(y){T=T-(F*V+K*U);S=S-(E*V+G*U);R=G*W+E*X+R;Q=K*W+F*X+Q}f[m>>2]=S;f[n>>2]=R;f[l>>2]=T;f[k>>2]=Q;j=j+1<<24>>24;k=j&255}while(w>>>0>k>>>0)}while(0);j=r+1<<24>>24;if((j&255)>=(d[t>>0]|0))break;else{r=j;q=j&255}}}j=(a[ha>>0]|0)+1<<24>>24;a[ha>>0]=j<<24>>24==2?0:j;j=v+1<<24>>24;if((j&255)<(d[Ka>>0]|0)){v=j;na=O;r=j&255}else break}}j=ca+1<<24>>24;if((j&255)<(d[Ha>>0]|0)){ca=j;J=j&255}else break}}v=c[Fa>>2]|0;y=(a[Ja>>0]|0)!=0;w=y?v+4|0:v+1|0;y=y?5:3;v=a[v>>0]|0;A=v&255;k=0;s=0;j=v;t=0;while(1){r=w+t|0;if(!(j<<24>>24)){l=k&255;k=a[r>>0]|0;j=0}else{l=k&255;q=0;do{m=g+(q<<9)+(t<<3)|0;f[m>>2]=0.0;n=g+(q<<9)+(t<<3)+4|0;f[n>>2]=0.0;if(!(a[r>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[La+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[La+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[r>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}s=s+1<<24>>24;t=s&255;if(y>>>0<=t>>>0){k=0;s=0;j=v;t=0;break}else k=l+(k&255)&255}while(1){r=w+t|0;if(!(j<<24>>24)){l=k&255;k=a[r>>0]|0;j=0}else{l=k&255;q=0;do{m=i+(q<<9)+(t<<3)|0;f[m>>2]=0.0;n=i+(q<<9)+(t<<3)+4|0;f[n>>2]=0.0;if(!(a[r>>0]|0))k=0;else{j=0;o=0.0;p=0.0;do{k=(j&255)+l|0;o=o+ +f[Ma+(q<<8)+(k<<3)>>2];f[m>>2]=o;p=p+ +f[Ma+(q<<8)+(k<<3)+4>>2];f[n>>2]=p;j=j+1<<24>>24;k=a[r>>0]|0}while((j&255)<(k&255))}q=q+1|0}while(q>>>0<A>>>0);j=v}s=s+1<<24>>24;t=s&255;if(y>>>0<=t>>>0)break;else k=l+(k&255)&255}oc=Na;return 0}function co(b,c,e,f,g,h,i,j){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;a:do if(b<<24>>24==1){if(!(f<<24>>24)){f=a[c>>0]|0;a[c>>0]=f<<24>>24<i<<24>>24?i:f<<24>>24>j<<24>>24?j:f;f=g&255;if((g&255)>1){b=1;k=1}else break;while(1){e=c+k|0;l=(d[e>>0]|0)+(d[c+(k+-1)>>0]|0)&255;a[e>>0]=l<<24>>24<i<<24>>24?i:l<<24>>24>j<<24>>24?j:l;b=b+1<<24>>24;k=b<<24>>24;if((k|0)>=(f|0))break a}}f=g&255;if(g<<24>>24){k=h&255;b=0;l=0;do{n=d[e+(z(l,k)|0)>>0]|0;m=c+l|0;n=(d[m>>0]|0)+n&255;a[m>>0]=n<<24>>24<i<<24>>24?i:n<<24>>24>j<<24>>24?j:n;b=b+1<<24>>24;l=b<<24>>24}while((l|0)<(f|0))}}else{k=g&255;if(g<<24>>24){b=0;f=0;do{a[c+f>>0]=0;b=b+1<<24>>24;f=b<<24>>24}while((f|0)<(k|0))}}while(0);if(h<<24>>24!=2)return;f=((g&255)<<1)+255|0;b=f&255;if(b<<24>>24<=0)return;f=f<<24>>24;while(1){a[c+f>>0]=a[c+(f>>1)>>0]|0;f=b+-1<<24>>24;if(f<<24>>24>0){b=f;f=f<<24>>24}else break}return}function eo(){fo(0);return}function fo(a){a=a|0;wa(11808,141624);la(11824,141629,1,1,0);sa(11832,141634,1,-128,127);sa(11848,141639,1,-128,127);sa(11840,141651,1,0,255);sa(11856,141665,2,-32768,32767);sa(11864,141671,2,0,65535);sa(11872,141686,4,-2147483648,2147483647);sa(11880,141690,4,0,-1);sa(11888,141703,4,-2147483648,2147483647);sa(11896,141708,4,0,-1);ra(11904,141722,4);ra(11912,141728,8);ua(9224,141735);ua(9576,141747);va(9600,4,141780);qa(9248,141793);ta(9624,0,141809);ta(9632,0,141839);ta(9640,1,141876);ta(9648,2,141915);ta(9656,3,141946);ta(9664,4,141986);ta(9672,5,142015);ta(9680,4,142053);ta(9688,5,142083);ta(9632,0,142122);ta(9640,1,142154);ta(9648,2,142187);ta(9656,3,142220);ta(9664,4,142254);ta(9672,5,142287);ta(9696,6,142321);ta(9704,7,142352);ta(9712,7,142384);return}function go(a){a=a|0;return Zp(c[a+4>>2]|0)|0}function ho(a){a=a|0;var b=0,d=0;b=oc;d=oc=oc+31&-32;oc=oc+16|0;c[d>>2]=mo(c[a+60>>2]|0)|0;a=ko(fa(6,d|0)|0)|0;oc=b;return a|0}function io(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=oc;f=oc=oc+31&-32;oc=oc+48|0;k=f+32|0;g=f+16|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=ko(da(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=ko(da(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}oc=m;return d|0}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=oc;f=oc=oc+31&-32;oc=oc+32|0;h=f+8|0;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((ko(ba(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}C(a|0);oc=g;return b|0}function ko(a){a=a|0;if(a>>>0>4294963200){c[(lo()|0)>>2]=0-a;a=-1}return a|0}function lo(){return 167472}function mo(a){a=a|0;return a|0}function no(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=oc;i=oc=oc+31&-32;oc=oc+32|0;f=i+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;l=c[j>>2]|0;c[g>>2]=e-((l|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=l;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=ko(ca(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;oc=k;return f|0}function oo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=oc;h=oc=oc+31&-32;oc=oc+32|0;f=h;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=h+16,ea(54,f|0)|0):0)a[b+75>>0]=-1;h=io(b,d,e)|0;oc=g;return h|0}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=qo(a,b,c)|0;C(D()|0);return d|0}function qo(a,b,c){a=a|0;b=b|0;c=c|0;c=ro(a,b,c,-1,-1)|0;C(D()|0);return c|0}function ro(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=oc;h=oc=oc+31&-32;oc=oc+144|0;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;so(h,0,0);d=to(h,d,1,e,f)|0;e=D()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));C(e|0);oc=j;return d|0}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function to(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(lo()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=uo(b)|0}while((vo(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=uo(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=uo(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=uo(b)|0;if((d[4257+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){so(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[4257+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;so(b,0,0);c[(lo()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=uo(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=gD(i|0,m|0,10,0)|0;k=D()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=hD(f|0,k|0,e|0,l|0)|0;m=D()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=uo(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[142919+((o*23|0)>>>5&7)>>0]|0;f=a[4257+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=uo(b)|0;f=a[4257+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=nD(-1,-1,n|0)|0;m=D()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=oD(i|0,e|0,n|0)|0;e=D()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=uo(b)|0;f=a[4257+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[4257+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(z(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=uo(b)|0;e=a[4257+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=lD(-1,-1,o|0,0)|0;n=D()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=gD(i|0,e|0,o|0,0)|0;l=D()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=hD(k|0,l|0,f|0,0)|0;e=D()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=uo(b)|0;f=a[4257+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[4257+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=uo(b)|0}while(f>>>0>(d[4257+i>>0]|0)>>>0);c[(lo()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(lo()|0)>>2]=34;g=hD(g|0,h|0,-1,-1)|0;h=D()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(lo()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=iD(i^j|0,e^g|0,j|0,g|0)|0;h=D()|0}while(0);C(h|0);return g|0}function uo(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=wo(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=iD(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=D()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=hD(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=D()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function vo(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wo(a){a=a|0;var b=0,e=0;e=oc;b=oc=oc+31&-32;oc=oc+16|0;if((xo(a)|0)==0?(uc[c[a+32>>2]&31](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;oc=e;return a|0}function xo(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)uc[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=zo(a,b,c)|0;C(D()|0);return d|0}function zo(a,b,c){a=a|0;b=b|0;c=c|0;c=ro(a,b,c,0,-2147483648)|0;C(D()|0);return c|0}function Ao(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 Bo(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Co(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 Do(a){a=a|0;return (a+-48|0)>>>0<10|0}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;f=oc=oc+31&-32;oc=oc+16|0;c[f>>2]=d;d=Fo(a,b,f)|0;oc=e;return d|0}function Fo(a,b,c){a=a|0;b=b|0;c=c|0;return Go(a,2147483647,b,c)|0}function Go(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=oc;i=oc=oc+31&-32;oc=oc+160|0;g=i+144|0;pD(i|0,10152,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(lo()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ho(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}oc=j;return d|0}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;return Ko(a,b,c,1,60)|0}function Io(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=oc;m=oc=oc+31&-32;oc=oc+560|0;l=m+32|0;u=m+536|0;G=m;F=G;m=m+540|0;c[u>>2]=0;E=m+12|0;ap(e)|0;j=D()|0;if((j|0)<0){e=-e;ap(e)|0;C=1;B=142945;j=D()|0}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?142946:142951):142948}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Vo(b,32,f,j,h&-65537);Oo(b,B,C);Oo(b,e!=e|0.0!=0.0?(G?142987:142972):G?142964:142968,3);Vo(b,32,f,j,h^8192)}else{q=+bp(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?B:B+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=To(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[4992+C>>0];e=(e-+(C|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Vo(b,32,f,E,h);Oo(b,r,p);Vo(b,48,f,E,h^65536);F=m-F|0;Oo(b,G,F);G=k-l|0;Vo(b,48,j-(F+G)|0,0,0);Oo(b,n,G);Vo(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}A=(j|0)<0?l:l+288|0;l=A;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=A;if((j|0)>0){o=A;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=oD(c[j>>2]|0,0,n|0)|0;s=hD(s|0,D()|0,m|0,0)|0;v=D()|0;m=lD(s|0,v|0,1e9,0)|0;w=gD(m|0,D()|0,1e9,0)|0;w=iD(s|0,v|0,w|0,D()|0)|0;D()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=A;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=z(w&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?A:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=A+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(z(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0<u>>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[B>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=To(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Vo(b,32,f,j,h);Oo(b,B,C);Vo(b,48,f,j,h^65536);if(r){p=n>>>0>A>>>0?A:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=To(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){rD(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Oo(b,l,n-l|0);m=m+4|0}while(m>>>0<=A>>>0);if(!((h&8|0)==0&(s^1)))Oo(b,142976,1);if(m>>>0<u>>>0&(k|0)>0)while(1){l=To(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){rD(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Oo(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<u>>>0&(k|0)>9)){k=l;break}else k=l}Vo(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0<u>>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-F|0;r=G+8|0;o=n;do{l=To(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Oo(b,l,1);if(s&(k|0)<1){l=m;break}Oo(b,142976,1);l=m}else{if(l>>>0<=G>>>0)break;rD(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=t-l|0;Oo(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<u>>>0&(k|0)>-1)}Vo(b,48,k+18|0,18,0);Oo(b,v,E-v|0)}Vo(b,32,f,j,h^8192)}while(0);oc=H;return ((j|0)<(f|0)?f:j)|0}function Jo(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Ko(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=oc;s=oc=oc+31&-32;oc=oc+224|0;p=s+208|0;q=s+160|0;r=s+80|0;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Lo(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Mo(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Lo(b,d,p,r,q,f,g)|0;if(j){uc[c[b+36>>2]&31](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Lo(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)No(b);e=(h&32|0)==0?e:-1}oc=t;return e|0}function Lo(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=oc;E=oc=oc+31&-32;oc=oc+64|0;G=E+56|0;I=E+40|0;A=E;C=E+48|0;E=E+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(lo()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Oo(d,r,l)}while((l|0)!=0);v=(Do(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((Do(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Po(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Po(G)|0;m=c[G>>2]|0;break}if(Do(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(4528+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Qo(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=So(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=142928;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=iD(0,0,m|0,n|0)|0;n=D()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=142928;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?142928:142930):142929;w=72;break e}}case 117:{n=I;o=0;p=142928;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=142928;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?142938:s;t=Uo(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=142928;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Vo(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=sc[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=142928;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ro(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?142928:142928+(m>>>4)|0;w=73}else if((w|0)==72){q=To(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Wo(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Vo(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Wo(E,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Oo(d,E,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Vo(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Vo(d,32,l,K,m);Oo(d,p,o);Vo(d,48,l,K,m^65536);Vo(d,48,s,t,0);Oo(d,r,t);Vo(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Qo(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);oc=J;return e|0}function Mo(a){a=a|0;return 1}function No(a){a=a|0;return}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))_o(b,d,a)|0;return}function Po(b){b=b|0;var d=0,e=0;if(!(Do(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Do(a[e>>0]|0)|0)!=0)}return d|0}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ec[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ro(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[4992+(b&15)>>0]|0|f;b=nD(b|0,c|0,4)|0;c=D()|0}while(!((b|0)==0&(c|0)==0));return e|0}function So(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=nD(b|0,c|0,3)|0;c=D()|0}while(!((b|0)==0&(c|0)==0));return d|0}function To(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=lD(b|0,c|0,10,0)|0;f=c;c=D()|0;g=gD(b|0,c|0,10,0)|0;g=iD(e|0,f|0,g|0,D()|0)|0;D()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=z(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Vo(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=oc;f=oc=oc+31&-32;oc=oc+256|0;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;rD(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Oo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Oo(a,f,e)}oc=g;return}function Wo(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Xo(a,b,0)|0;return a|0}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Yo()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(lo()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(lo()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Yo(){return Zo()|0}function Zo(){return 110196}function _o(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!($o(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=uc[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=uc[c[e+36>>2]&31](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);pD(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function $o(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function ap(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;C(c[h+4>>2]|0);return b|0}function bp(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=nD(d|0,e|0,52)|0;D()|0;switch(f&2047){case 0:{if(a!=0.0){a=+bp(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 cp(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;pD(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function dp(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ep(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Do(a)|0)!=0)&1|0}function fp(){return 110440}function gp(){var a=0;a=(c[c[(hp()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function hp(){return Zo()|0}function ip(){return 110444}function jp(){return 110448}function kp(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;m=oc;k=oc=oc+31&-32;oc=oc+208|0;j=k;k=k+192|0;h=z(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)lp(a,d,e,f,j);else np(a,d,e,k,f,0,j);if((f|0)==1){op(k,1);f=0;break}else{op(k,b);f=1;break}}else{lp(a,d,e,f,j);mp(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}np(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{op(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;mp(k,1);np(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);op(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;np(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=pp(k)|0;mp(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);oc=m;return}function lp(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=oc;l=oc=oc+31&-32;oc=oc+240|0;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((tc[d&31](h,a)|0)>-1?(tc[d&31](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((tc[d&31](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);rp(b,l,e);oc=m;return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function np(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;o=oc;n=oc=oc+31&-32;oc=oc+240|0;m=n+232|0;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(tc[d&31](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((tc[d&31](g,j)|0)>-1){i=10;break a}if((tc[d&31](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=pp(m)|0;mp(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((tc[d&31](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){rp(b,n,e);lp(a,b,d,f,h)}oc=o;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function pp(a){a=a|0;var b=0;b=qp((c[a>>2]|0)+-1|0)|0;if(!b){b=qp(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function qp(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=oc;e=oc=oc+31&-32;oc=oc+256|0;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;pD(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;pD(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);oc=h;return}function sp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=uo(b)|0}while((vo(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=uo(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[142978+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=uo(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[142987+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=uo(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=uo(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=uo(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(lo()|0)>>2]=22;so(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=uo(b)|0;if((e|32|0)==120){g=+tp(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+up(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(lo()|0)>>2]=22;so(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function tp(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=uo(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=uo(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=uo(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=uo(a)|0;l=hD(l|0,j|0,-1,-1)|0;j=D()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=hD(m|0,u|0,1,0)|0;q=i;r=1;p=D()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=uo(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else so(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=hD(m|0,l|0,1,0)|0;v=l;l=D()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=vp(a,g)|0;i=D()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){so(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=oD(p|0,o|0,2)|0;l=hD(l|0,D()|0,-32,-1)|0;l=hD(l|0,D()|0,j|0,i|0)|0;i=D()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(lo()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(lo()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=hD(l|0,i|0,-1,-1)|0;i=D()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=iD(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=hD(e|0,D()|0,l|0,i|0)|0;e=D()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+xp(+wp(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(lo()|0)>>2]=34;h=+zp(h,l)}while(0);return +h}function up(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0.0;I=oc;F=oc=oc+31&-32;oc=oc+512|0;G=f+e|0;H=0-G|0;E=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{A=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[E>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=uo(a)|0;j=1}if((A|0)==7){b=c[E>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=uo(a)|0;if((b|0)==48){j=0;b=0;while(1){j=hD(j|0,b|0,-1,-1)|0;o=D()|0;b=c[E>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=uo(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[F>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){B=F+496|0;w=0;l=0;s=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=hD(p|0,n|0,1,0)|0;n=D()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[B>>2]=c[B>>2]|1;break}m=F+(l<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[E>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=uo(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=31;break b}}b=w;m=(y|0)!=0;A=39}else{w=0;l=0;s=0;m=p;p=0;n=0;A=31}while(0);do if((A|0)==31){B=(v|0)==0;j=B?p:j;o=B?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=39;break}else{b=w;A=41;break}m=vp(a,h)|0;b=D()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){so(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[E>>2]=(c[E>>2]|0)+-1;m=0;b=0}}j=hD(m|0,b|0,j|0,o|0)|0;b=w;o=D()|0;A=43}while(0);if((A|0)==39)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(m)A=43;else A=42}else A=41;if((A|0)==41)if(m)A=43;else A=42;do if((A|0)==42){c[(lo()|0)>>2]=22;so(a,0,0);i=0.0}else if((A|0)==43){m=c[F>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&j>>>0>a>>>0){c[(lo()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&j>>>0<a>>>0){c[(lo()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=F+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[F>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[F>>2]|0)>>>0)/+(c[8848+(8-j<<2)>>2]|0);break}a=e+27+(z(j,-3)|0)|0;b=c[F>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[8848+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[8848+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=F+(b<<2)|0;E=c[C>>2]|0;a=(E>>>0)/(o>>>0)|0;E=E-(z(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=z(p,E)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[F+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=F+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=F+(p<<2)|0;l=oD(c[o>>2]|0,0,29)|0;l=hD(l|0,D()|0,n|0,0)|0;n=D()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=lD(l|0,n|0,1e9,0)|0;a=gD(s|0,D()|0,1e9,0)|0;l=iD(l|0,n|0,a|0,D()|0)|0;D()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=F+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[F+(l<<2)>>2];else l=y;c[F+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=F+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){A=92;break}m=c[F+(m<<2)>>2]|0;n=c[110452+(o<<2)>>2]|0;if(m>>>0<n>>>0){A=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{A=92;break}}if((A|0)==92?(A=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<<v)+-1|0;s=1e9>>>v;o=0;m=y;n=y;do{C=F+(n<<2)|0;E=c[C>>2]|0;a=(E>>>v)+o|0;c[C>>2]=a;o=z(E&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[F+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[F+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[F+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+xp(+wp(1.0,105-m|0),k);q=+yp(k,+wp(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[F+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+yp(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;c[(lo()|0)>>2]=34}while(0);i=+zp(i,b)}while(0);oc=I;return +i}function vp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=uo(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=uo(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=uo(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=gD(f|0,h|0,10,0)|0;b=D()|0;e=hD(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=hD(e|0,D()|0,l|0,b|0)|0;h=D()|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=uo(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=uo(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=iD(0,0,f|0,e|0)|0;l=D()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}C(e|0);return f|0}function wp(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=oD(b+1023|0,0,52)|0;e=D()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function xp(a,b){a=+a;b=+b;return +(+Ao(a,b))}function yp(a,b){a=+a;b=+b;return +(+Ap(a,b))}function zp(a,b){a=+a;b=b|0;return +(+wp(a,b))}function Ap(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=nD(j|0,l|0,52)|0;D()|0;e=e&2047;m=nD(n|0,o|0,52)|0;D()|0;m=m&2047;p=l&-2147483648;i=oD(n|0,o|0,1)|0;k=D()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=Bp(b)|0,d=(D()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=oD(j|0,l|0,1)|0;f=D()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=oD(j|0,l|0,12)|0;f=D()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=oD(d|0,f|0,1)|0;f=D()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=oD(j|0,l|0,1-e|0)|0;i=D()|0}else i=l&1048575|1048576;if(!m){f=oD(n|0,o|0,12)|0;k=D()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=oD(f|0,k|0,1)|0;k=D()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=oD(n|0,o|0,1-d|0)|0;m=d;l=D()|0}else l=o&1048575|1048576;f=iD(j|0,i|0,n|0,l|0)|0;d=D()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=oD(f|0,d|0,1)|0;i=D()|0;e=e+-1|0;f=iD(j|0,i|0,n|0,l|0)|0;d=D()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=oD(f|0,d|0,1)|0;d=D()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=hD(f|0,d|0,0,-1048576)|0;d=D()|0;e=oD(e|0,0,52)|0;d=d|(D()|0);e=o|e}else{e=nD(f|0,d|0,1-e|0)|0;d=D()|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 Bp(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;C(c[h+4>>2]|0);return b|0}function Cp(a){a=a|0;return 0}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Ep(a,b){a=a|0;b=b|0;return -1|0}function Fp(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Gp(a,b){a=a|0;b=b|0;var d=0,e=0;d=oc;e=oc=oc+31&-32;oc=oc+16|0;c[e>>2]=a;c[e+4>>2]=b;b=ko(ga(91,e|0)|0)|0;oc=d;return b|0}function Hp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Fp(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=z(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Ip(){return}function Jp(a){a=a|0;if(Kp(a)|0)Gq(a);return}function Kp(a){a=a|0;return (a|0)!=110156&((a|0)!=0&(a|0)!=167448)&1|0}function Lp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=oc;h=oc=oc+31&-32;oc=oc+16|0;j=(g|0)==0?167476:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(Mp()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[4048+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(lo()|0)>>2]=84;g=-1}oc=l;return g|0}function Mp(){return Zo()|0}function Np(a,b){a=a|0;b=b|0;return Do(a)|0}function Op(a,b){a=a|0;b=b|0;return ep(a)|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;o=oc;n=oc=oc+31&-32;oc=oc+272|0;m=n;n=n+256|0;do if(!(a[d>>0]|0)){d=bb(142991)|0;if(d|0?a[d>>0]|0:0)break;d=bb(8880+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=bb(142998)|0;if(d|0?a[d>>0]|0:0)break;d=143003}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=143003;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Bo(k,143003)|0)!=0?(Bo(k,143011)|0)!=0:0){d=c[41870]|0;if(d|0)do{if(!(Bo(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);Z(167484);d=c[41870]|0;c:do if(d|0){while(1){if(!(Bo(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}ha(167484);break b}while(0);d:do if(((c[41848]|0)==0?(g=bb(143017)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Hp(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){pD(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;pD(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=_(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=Fq(28)|0;if(!d){Gp(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;pD(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[41870];c[41870]=d;break}}else l=41;while(0);if((l|0)==41){d=Fq(28)|0;if(d){c[d>>2]=c[27532];c[d+4>>2]=c[27533];n=d+8|0;pD(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[41870];c[41870]=d}}ha(167484);d=(b|0)==0&(d|0)==0?110128:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=110128;break}d=0}while(0);oc=o;return d|0}function Qp(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=oc;i=oc=oc+31&-32;oc=oc+32|0;a:do if(!(Kp(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<<g&a;if(h&(e|0)==0)e=c[d+(g<<2)>>2]|0;else e=Pp(g,(e|0)==0?169526:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=167448;break a}case 1:{if((c[i>>2]|0)==110128){d=110156;break a}break}default:{}}}else{e=0;do{if(1<<e&a|0)c[d+(e<<2)>>2]=Pp(e,b)|0;e=e+1|0}while((e|0)!=6)}while(0);oc=j;return d|0}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=oc;g=oc=oc+31&-32;oc=oc+16|0;c[g>>2]=e;e=Go(a,b,d,g)|0;oc=f;return e|0}function Sp(a){a=a|0;var b=0,d=0;b=(Tp()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?167424:a;return ((d|0)==167424?-1:d)|0}function Tp(){return Zo()|0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function Vp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=z(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Mo(e)|0)==0;a=_o(a,f,e)|0;if(!g)No(e)}else a=_o(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Wp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=oc;j=oc=oc+31&-32;oc=oc+16|0;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!($o(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((uc[c[b+36>>2]&31](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);oc=l;return f|0}function Xp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=oc;g=oc=oc+31&-32;oc=oc+16|0;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(Yp()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[4048+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(lo()|0)>>2]=84;b=-1}while(0);oc=j;return b|0}function Yp(){return Zo()|0}function Zp(a){a=a|0;var b=0,c=0;b=(Fp(a)|0)+1|0;c=Fq(b)|0;if(!c)a=0;else a=pD(c|0,a|0,b|0)|0;return a|0}function _p(){Z(167492);return 167500}function $p(){ha(167492);return}function aq(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=bq(a)|0;break}d=(Mo(a)|0)==0;b=bq(a)|0;if(!d)No(a)}else{if(!(c[27548]|0))b=0;else b=aq(c[27548]|0)|0;a=c[(_p()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Mo(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=bq(a)|0|b;if(d|0)No(a);a=c[a+56>>2]|0}while((a|0)!=0);$p()}while(0);return b|0}function bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(uc[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0){g=e-g|0;vc[c[a+40>>2]&7](a,g,((g|0)<0)<<31>>31,1)|0;D()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;f=oc=oc+31&-32;oc=oc+16|0;c[f>>2]=d;d=dq(a,b,f)|0;oc=e;return d|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;f=oc=oc+31&-32;oc=oc+144|0;rD(f|0,0,144)|0;c[f+32>>2]=29;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=fq(f,b,d)|0;oc=e;return d|0}function eq(a,b,c){a=a|0;b=b|0;c=c|0;return jq(a,b,c)|0}function fq(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,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=oc;N=oc=oc+31&-32;oc=oc+288|0;K=N+264|0;L=N;M=N+260|0;N=N+272|0;if((c[e+76>>2]|0)>-1)P=Mo(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;E=e+120|0;F=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(vo(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Do(o&255)|0?(a[m+2>>0]|0)==36:0){z=gq(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Do(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Do(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{hq(z,t,u,v);n=u;o=v;break c}default:{so(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=uo(e)|0}while((vo(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=E;y=n-(c[F>>2]|0)|0;u=hD(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=hD(u|0,D()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=D()|0}}x=((y|0)<0)<<31>>31;so(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0<n>>>0)c[B>>2]=o+1;else{if((uo(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){rD(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;rD(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=Fq(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=uo(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Lp(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=Hq(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(iq(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=Fq(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=uo(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=Hq(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=uo(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=uo(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=E;n=n-(c[F>>2]|0)|0;n=hD(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=D()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+sp(e,t,0);y=E;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[F>>2]|0)|0;x=iD(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(D()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=to(e,n,0,-1,-1)|0;o=D()|0;y=E;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[F>>2]|0)|0;x=iD(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(D()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{hq(z,t,n,o);break}}while(0);o=E;n=(c[B>>2]|0)-(c[F>>2]|0)|0;o=hD(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=hD(o|0,D()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=D()|0;break c}while(0);m=m+(n&1)|0;so(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=uo(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=hD(u|0,v|0,1,0)|0;o=D()|0}else{while(1){l=m+1|0;if(!(vo(d[l>>0]|0)|0))break;else m=l}so(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=uo(e)|0}while((vo(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=E;n=l-(c[F>>2]|0)|0;o=hD(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=hD(o|0,D()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=D()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){Gq(k);Gq(j)}}else h=0;while(0);if(P|0)No(e);oc=Q;return h|0}function gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=oc;d=oc=oc+31&-32;oc=oc+16|0;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}oc=e;return a|0}function hq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function iq(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Uo(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;pD(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oc;f=oc=oc+31&-32;oc=oc+16|0;c[f>>2]=d;d=Ho(a,b,f)|0;oc=e;return d|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;return Lp(0,a,b,(c|0)==0?167504:c)|0}function mq(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;n=oc;l=oc=oc+31&-32;oc=oc+1040|0;k=l;l=l+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=nq(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Lp(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];oc=n;return e|0}function nq(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;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(oq()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Fp(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[4048+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[4048+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(lo()|0)>>2]=84;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(lo()|0)>>2]=84;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function oq(){return Zo()|0}function pq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=oc;j=oc=oc+31&-32;oc=oc+272|0;i=j;j=j+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=qq(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=Xo(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];oc=l;return f|0}function qq(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=oc;i=oc=oc+31&-32;oc=oc+16|0;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=Xo(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Xo(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=Xo(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0<h>>>0){g=23;break}Xo(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);oc=j;return e|0}function rq(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Mo(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=wo(a)|0;No(a)}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=wo(a)|0;break}}while(0);return b|0}function sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=oc;e=oc=oc+31&-32;oc=oc+16|0;c[e>>2]=c[d>>2];e=Go(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=Fq(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Go(g,f,b,d)|0;else a=-1;oc=h;return a|0}function tq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Mo(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){xo(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;No(d);break}if(g){No(d);b=-1}else b=-1}else b=-1;while(0);return b|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;if((c[d+76>>2]|0)>=0?(Mo(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Wp(d,b)|0;No(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Wp(d,b)|0}while(0);return e|0}function vq(a,b){a=a|0;b=b|0;var d=0,e=0;d=oc;e=oc=oc+31&-32;oc=oc+16|0;c[e>>2]=b;b=Ho(c[27547]|0,a,e)|0;oc=d;return b|0}function wq(a,b){a=a|0;b=b|0;return +(+xq(a,b,1))}function xq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=oc;e=oc=oc+31&-32;oc=oc+144|0;rD(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;so(e,0,0);f=+sp(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=hD(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=D()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;oc=g;return +f}function yq(a,b){a=a|0;b=b|0;return +(+xq(a,b,0))}function zq(a,b){a=a|0;b=b|0;return +(+xq(a,b,2))}function Aq(a,b,c){a=a|0;b=b|0;c=c|0;return +(+yq(a,b))}function Bq(a,b,c){a=a|0;b=b|0;c=c|0;return +(+wq(a,b))}function Cq(a,b,c){a=a|0;b=b|0;c=c|0;return +(+zq(a,b))}function Dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function Eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0} |
| | | function zn(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;g=0;do{h=a+(g<<2)|0;j=+f[h>>2];i=b+(g<<2)|0;l=+f[i>>2];k=(j+l)*+f[61300+(g<<2)>>2];f[h>>2]=k+l*+f[61300+(g+64<<2)>>2];f[i>>2]=k+j*+f[61300+(g+32<<2)>>2];g=g+1|0}while((g|0)!=32);g=0;do{p=a+(g<<2)|0;r=+f[p>>2];n=b+(g<<2)|0;i=g+16|0;h=a+(i<<2)|0;q=+f[h>>2];i=b+(i<<2)|0;o=+f[i>>2];j=+f[62068+(g<<2)>>2];l=+f[62132+(g<<2)>>2];k=r-q;m=+f[n>>2]-o;f[p>>2]=r+q;f[n>>2]=o+ +f[n>>2];f[h>>2]=k*j-m*l;f[i>>2]=m*j+k*l;g=g+1|0}while((g|0)!=16);g=0;h=0;while(1){q=+f[62068+(h<<2)>>2];m=+f[62132+(h<<2)>>2];n=a+(g<<2)|0;r=+f[n>>2];p=b+(g<<2)|0;i=g+8|0;s=a+(i<<2)|0;o=+f[s>>2];i=b+(i<<2)|0;l=+f[i>>2];k=r-o;j=+f[p>>2]-l;f[n>>2]=r+o;f[p>>2]=l+ +f[p>>2];f[s>>2]=q*k-m*j;f[i>>2]=m*k+q*j;i=g+16|0;s=a+(i<<2)|0;j=+f[s>>2];i=b+(i<<2)|0;p=g+24|0;n=a+(p<<2)|0;k=+f[n>>2];p=b+(p<<2)|0;l=+f[p>>2];o=j-k;r=+f[i>>2]-l;f[s>>2]=j+k;f[i>>2]=l+ +f[i>>2];f[n>>2]=q*o-m*r;f[p>>2]=m*o+q*r;g=g+1|0;if((g|0)==8)break;else h=h+2|0}r=+f[a>>2];q=+f[b>>2];sa=a+16|0;o=+f[sa>>2];ra=b+16|0;m=+f[ra>>2];f[a>>2]=r+o;f[b>>2]=m+ +f[b>>2];f[sa>>2]=r-o;f[ra>>2]=q-m;oa=a+32|0;m=+f[oa>>2];na=b+32|0;q=+f[na>>2];ka=a+48|0;o=+f[ka>>2];ja=b+48|0;r=+f[ja>>2];f[oa>>2]=m+o;f[na>>2]=r+ +f[na>>2];f[ka>>2]=m-o;f[ja>>2]=q-r;ga=a+64|0;r=+f[ga>>2];fa=b+64|0;q=+f[fa>>2];ca=a+80|0;o=+f[ca>>2];ba=b+80|0;m=+f[ba>>2];f[ga>>2]=r+o;f[fa>>2]=m+ +f[fa>>2];f[ca>>2]=r-o;f[ba>>2]=q-m;_=a+96|0;m=+f[_>>2];Z=b+96|0;q=+f[Z>>2];W=a+112|0;o=+f[W>>2];V=b+112|0;r=+f[V>>2];f[_>>2]=m+o;f[Z>>2]=r+ +f[Z>>2];f[W>>2]=m-o;f[V>>2]=q-r;h=a+4|0;r=+f[h>>2];i=b+4|0;Q=a+20|0;q=+f[Q>>2];P=b+20|0;o=+f[P>>2];m=r-q;l=+f[i>>2]-o;f[h>>2]=r+q;f[i>>2]=o+ +f[i>>2];f[Q>>2]=(m+l)*.7071067690849304;f[P>>2]=(l-m)*.7071067690849304;M=a+36|0;m=+f[M>>2];L=b+36|0;I=a+52|0;l=+f[I>>2];H=b+52|0;o=+f[H>>2];q=m-l;r=+f[L>>2]-o;f[M>>2]=m+l;f[L>>2]=o+ +f[L>>2];f[I>>2]=(q+r)*.7071067690849304;f[H>>2]=(r-q)*.7071067690849304;E=a+68|0;q=+f[E>>2];D=b+68|0;A=a+84|0;r=+f[A>>2];z=b+84|0;o=+f[z>>2];l=q-r;m=+f[D>>2]-o;f[E>>2]=q+r;f[D>>2]=o+ +f[D>>2];f[A>>2]=(l+m)*.7071067690849304;f[z>>2]=(m-l)*.7071067690849304;w=a+100|0;l=+f[w>>2];v=b+100|0;n=a+116|0;m=+f[n>>2];p=b+116|0;o=+f[p>>2];r=l-m;q=+f[v>>2]-o;f[w>>2]=l+m;f[v>>2]=o+ +f[v>>2];f[n>>2]=(r+q)*.7071067690849304;f[p>>2]=(q-r)*.7071067690849304;ua=a+8|0;r=+f[ua>>2];ta=b+8|0;q=+f[ta>>2];qa=a+24|0;o=+f[qa>>2];pa=b+24|0;m=+f[pa>>2];f[ua>>2]=r+o;f[ta>>2]=m+ +f[ta>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;ma=a+40|0;r=+f[ma>>2];la=b+40|0;o=+f[la>>2];ia=a+56|0;m=+f[ia>>2];ha=b+56|0;q=+f[ha>>2];f[ma>>2]=r+m;f[la>>2]=q+ +f[la>>2];f[ia>>2]=o-q;f[ha>>2]=m-r;ea=a+72|0;r=+f[ea>>2];da=b+72|0;m=+f[da>>2];aa=a+88|0;q=+f[aa>>2];$=b+88|0;o=+f[$>>2];f[ea>>2]=r+q;f[da>>2]=o+ +f[da>>2];f[aa>>2]=m-o;f[$>>2]=q-r;Y=a+104|0;r=+f[Y>>2];X=b+104|0;q=+f[X>>2];U=a+120|0;o=+f[U>>2];T=b+120|0;m=+f[T>>2];f[Y>>2]=r+o;f[X>>2]=m+ +f[X>>2];f[U>>2]=q-m;f[T>>2]=o-r;S=a+12|0;r=+f[S>>2];R=b+12|0;O=a+28|0;o=+f[O>>2];N=b+28|0;m=+f[N>>2];q=r-o;l=+f[R>>2]-m;f[S>>2]=r+o;f[R>>2]=m+ +f[R>>2];f[O>>2]=(q-l)*-.7071068286895752;f[N>>2]=(q+l)*-.7071068286895752;K=a+44|0;l=+f[K>>2];J=b+44|0;G=a+60|0;q=+f[G>>2];F=b+60|0;m=+f[F>>2];o=l-q;r=+f[J>>2]-m;f[K>>2]=l+q;f[J>>2]=m+ +f[J>>2];f[G>>2]=(o-r)*-.7071068286895752;f[F>>2]=(o+r)*-.7071068286895752;C=a+76|0;r=+f[C>>2];B=b+76|0;y=a+92|0;o=+f[y>>2];x=b+92|0;m=+f[x>>2];q=r-o;l=+f[B>>2]-m;f[C>>2]=r+o;f[B>>2]=m+ +f[B>>2];f[y>>2]=(q-l)*-.7071068286895752;f[x>>2]=(q+l)*-.7071068286895752;u=a+108|0;l=+f[u>>2];t=b+108|0;s=a+124|0;q=+f[s>>2];g=b+124|0;m=+f[g>>2];o=l-q;r=+f[t>>2]-m;f[u>>2]=l+q;f[t>>2]=m+ +f[t>>2];f[s>>2]=(o-r)*-.7071068286895752;f[g>>2]=(o+r)*-.7071068286895752;r=+f[a>>2];o=+f[b>>2];m=+f[ua>>2];q=+f[ta>>2];f[a>>2]=r+m;f[b>>2]=q+ +f[b>>2];f[ua>>2]=r-m;f[ta>>2]=o-q;q=+f[sa>>2];o=+f[ra>>2];m=+f[qa>>2];r=+f[pa>>2];f[sa>>2]=q+m;f[ra>>2]=r+ +f[ra>>2];f[qa>>2]=q-m;f[pa>>2]=o-r;r=+f[oa>>2];o=+f[na>>2];m=+f[ma>>2];q=+f[la>>2];f[oa>>2]=r+m;f[na>>2]=q+ +f[na>>2];f[ma>>2]=r-m;f[la>>2]=o-q;q=+f[ka>>2];o=+f[ja>>2];m=+f[ia>>2];r=+f[ha>>2];f[ka>>2]=q+m;f[ja>>2]=r+ +f[ja>>2];f[ia>>2]=q-m;f[ha>>2]=o-r;r=+f[ga>>2];o=+f[fa>>2];m=+f[ea>>2];q=+f[da>>2];f[ga>>2]=r+m;f[fa>>2]=q+ +f[fa>>2];f[ea>>2]=r-m;f[da>>2]=o-q;q=+f[ca>>2];o=+f[ba>>2];m=+f[aa>>2];r=+f[$>>2];f[ca>>2]=q+m;f[ba>>2]=r+ +f[ba>>2];f[aa>>2]=q-m;f[$>>2]=o-r;r=+f[_>>2];o=+f[Z>>2];m=+f[Y>>2];q=+f[X>>2];f[_>>2]=r+m;f[Z>>2]=q+ +f[Z>>2];f[Y>>2]=r-m;f[X>>2]=o-q;q=+f[W>>2];o=+f[V>>2];m=+f[U>>2];r=+f[T>>2];f[W>>2]=q+m;f[V>>2]=r+ +f[V>>2];f[U>>2]=q-m;f[T>>2]=o-r;r=+f[h>>2];o=+f[i>>2];m=+f[S>>2];q=+f[R>>2];f[h>>2]=r+m;f[i>>2]=q+ +f[i>>2];f[S>>2]=o-q;f[R>>2]=m-r;r=+f[Q>>2];m=+f[P>>2];q=+f[O>>2];o=+f[N>>2];f[Q>>2]=r+q;f[P>>2]=o+ +f[P>>2];f[O>>2]=m-o;f[N>>2]=q-r;r=+f[M>>2];q=+f[L>>2];o=+f[K>>2];m=+f[J>>2];f[M>>2]=r+o;f[L>>2]=m+ +f[L>>2];f[K>>2]=q-m;f[J>>2]=o-r;r=+f[I>>2];o=+f[H>>2];m=+f[G>>2];q=+f[F>>2];f[I>>2]=r+m;f[H>>2]=q+ +f[H>>2];f[G>>2]=o-q;f[F>>2]=m-r;r=+f[E>>2];m=+f[D>>2];q=+f[C>>2];o=+f[B>>2];f[E>>2]=r+q;f[D>>2]=o+ +f[D>>2];f[C>>2]=m-o;f[B>>2]=q-r;r=+f[A>>2];q=+f[z>>2];o=+f[y>>2];m=+f[x>>2];f[A>>2]=r+o;f[z>>2]=m+ +f[z>>2];f[y>>2]=q-m;f[x>>2]=o-r;r=+f[w>>2];o=+f[v>>2];m=+f[u>>2];q=+f[t>>2];f[w>>2]=r+m;f[v>>2]=q+ +f[v>>2];f[u>>2]=o-q;f[t>>2]=m-r;r=+f[n>>2];m=+f[p>>2];q=+f[s>>2];o=+f[g>>2];f[n>>2]=r+q;f[p>>2]=o+ +f[p>>2];f[s>>2]=m-o;f[g>>2]=q-r;g=0;do{ua=g|1;ra=a+(g<<2)|0;m=+f[ra>>2];sa=b+(g<<2)|0;q=+f[sa>>2];ta=a+(ua<<2)|0;o=+f[ta>>2];ua=b+(ua<<2)|0;r=+f[ua>>2];f[ra>>2]=m+o;f[sa>>2]=r+ +f[sa>>2];f[ta>>2]=m-o;f[ua>>2]=q-r;g=g+2|0}while(g>>>0<32);g=0;do{ua=d[140024+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[61300+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[61300+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[61300+(g+128<<2)>>2];g=g+1|0}while((g|0)!=16);f[e+64>>2]=(+f[i>>2]-+f[h>>2])*.7071067690849304;f[c+64>>2]=(+f[h>>2]+ +f[i>>2])*.7071067690849304;g=17;do{ua=d[140024+g>>0]|0;r=+f[a+(ua<<2)>>2];o=+f[b+(ua<<2)>>2];q=(r+o)*+f[61300+(g+96<<2)>>2];f[c+(g<<2)>>2]=q+o*+f[61300+(g+160<<2)>>2];f[e+(g<<2)>>2]=q+r*+f[61300+(g+128<<2)>>2];g=g+1|0}while((g|0)!=32);return}function An(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;e=+f[b+60>>2];h=+f[b+64>>2];c=(e+h)*.7071067690849304;h=(e-h)*.7071067690849304;e=+f[b+32>>2];p=+f[b+92>>2];i=(e+p)*.7071067690849304;p=(e-p)*.7071067690849304;e=+f[b+48>>2];r=+f[b+76>>2];I=(e+r)*.7071067690849304;r=(e-r)*.7071067690849304;e=+f[b+44>>2];s=+f[b+80>>2];o=(e+s)*.7071067690849304;s=(e-s)*.7071067690849304;e=+f[b+56>>2];v=+f[b+68>>2];u=(e+v)*.7071067690849304;v=(e-v)*.7071067690849304;e=+f[b+36>>2];D=+f[b+88>>2];A=(e+D)*.7071067690849304;D=(e-D)*.7071067690849304;e=+f[b+52>>2];F=+f[b+72>>2];l=(e+F)*.7071067690849304;F=(e-F)*.7071067690849304;e=+f[b+40>>2];j=+f[b+84>>2];G=(e+j)*.7071067690849304;j=(e-j)*.7071067690849304;e=+f[b>>2];z=e-c;e=c+e;c=+f[b+124>>2];k=c-h;c=h+c;h=+f[b+28>>2];t=h-i;h=i+h;i=+f[b+96>>2];g=i-p;i=p+i;p=+f[b+12>>2];n=p-I;p=I+p;I=+f[b+112>>2];w=I-r;I=r+I;r=+f[b+16>>2];x=r-o;r=o+r;o=+f[b+108>>2];m=o-s;o=s+o;s=+f[b+4>>2];J=s-u;s=u+s;u=+f[b+120>>2];C=u-v;u=v+u;v=+f[b+24>>2];H=v-A;v=A+v;A=+f[b+100>>2];y=A-D;A=D+A;D=+f[b+8>>2];B=D-l;D=l+D;l=+f[b+116>>2];q=l-F;l=F+l;F=+f[b+20>>2];d=F-G;F=G+F;G=+f[b+104>>2];E=G-j;G=j+G;j=(h+i)*.9238795042037964;i=j-i*.5411961078643799;j=h*1.3065630197525024-j;h=(t+g)*-.3826834261417389;g=g*1.3065630197525024+h;h=t*.5411961078643799-h;t=(r+o)*.9238795042037964;o=t-o*.5411961078643799;t=r*1.3065630197525024-t;r=(x+m)*-.3826834261417389;m=m*1.3065630197525024+r;r=x*.5411961078643799-r;x=(v+A)*.9238795042037964;A=x-A*.5411961078643799;x=v*1.3065630197525024-x;v=(H+y)*-.3826834261417389;y=y*1.3065630197525024+v;v=H*.5411961078643799-v;H=(F+G)*.9238795042037964;G=H-G*.5411961078643799;H=F*1.3065630197525024-H;F=(d+E)*-.3826834261417389;E=E*1.3065630197525024+F;F=d*.5411961078643799-F;d=e-i;i=e+i;e=c-j;j=c+j;c=z-g;g=z+g;z=k-h;h=k+h;k=p-o;o=p+o;p=I-t;t=I+t;I=n-m;m=n+m;n=w-r;r=w+r;w=s-A;A=s+A;s=u-x;x=u+x;u=J-y;y=J+y;J=C-v;v=C+v;C=D-G;G=D+G;D=l-H;H=l+H;l=B-E;E=B+E;B=q-F;F=q+F;q=(t+o)*.9807852506637573;t=q-t*.78569495677948;q=o*1.1758755445480347-q;o=(r+m)*.5555702447891235;r=r*.27589938044548035+o;o=m*1.3870398998260498-o;m=(p+k)*-.19509032368659973;p=p*1.1758755445480347+m;m=k*.78569495677948-m;k=(n+I)*-.8314695954322815;n=n*1.3870398998260498+k;k=I*-.27589938044548035-k;I=(H+G)*.9807852506637573;H=I-H*.78569495677948;I=G*1.1758755445480347-I;G=(F+E)*.5555702447891235;F=F*.27589938044548035+G;G=E*1.3870398998260498-G;E=(D+C)*-.19509032368659973;D=D*1.1758755445480347+E;E=C*.78569495677948-E;C=(B+l)*-.8314695954322815;B=B*1.3870398998260498+C;C=l*-.27589938044548035-C;l=i-t;t=i+t;i=j-q;q=j+q;j=g-r;r=g+r;g=h-o;o=h+o;h=d-p;p=d+p;d=e-m;m=e+m;e=c-n;n=c+n;c=z-k;k=z+k;z=A-H;H=A+H;A=x-I;I=x+I;x=y-F;F=y+F;y=v-G;G=v+G;v=w-D;D=w+D;w=s-E;E=s+E;s=u-B;B=u+B;u=J-C;C=J+C;J=(I+H)*.9951847195625305;I=J-I*.8971675634384155;J=H*1.0932018756866455-J;H=(G+F)*.8819212913513184;G=H-G*.41052451729774475;H=F*1.3533179759979248-H;F=(E+D)*.6343932747840881;E=E*.13861717283725739+F;F=D*1.4074037075042725-F;D=(C+B)*.290284663438797;C=C*.6666556596755981+D;D=B*1.247225046157837-D;B=(A+z)*-.0980171412229538;A=A*1.0932018756866455+B;B=z*.8971675634384155-B;z=(y+x)*-.4713967442512512;y=y*1.3533179759979248+z;z=x*.41052451729774475-z;x=(w+v)*-.7730104327201843;w=w*1.4074037075042725+x;x=v*-.13861717283725739-x;v=(u+s)*-.9569403529167175;u=u*1.247225046157837+v;v=s*-.6666556596755981-v;s=t-I;I=t+I;t=q-J;J=q+J;q=r-G;G=r+G;r=o-H;H=o+H;o=p-E;E=p+E;p=m-F;F=m+F;m=n-C;C=n+C;n=k-D;D=k+D;k=l-A;A=l+A;l=i-B;B=i+B;i=j-y;y=j+y;j=g-z;z=g+z;g=h-w;w=h+w;h=d-x;x=d+x;d=e-u;u=e+u;e=c-v;v=c+v;c=(J+I)*.99969881772995;f[a>>2]=c-J*.975157618522644;f[a+124>>2]=I*1.0242400169372559-c;c=(H+G)*.9924795627593994;f[a+8>>2]=c-H*.8700688481330872;f[a+116>>2]=G*1.114890217781067-c;c=(F+E)*.9757021069526672;f[a+16>>2]=c-F*.7566009163856506;f[a+108>>2]=E*1.1948033571243286-c;c=(D+C)*.949528157711029;f[a+24>>2]=c-D*.6358464360237122;f[a+100>>2]=C*1.2632099390029907-c;c=(B+A)*.91420978307724;f[a+32>>2]=c-B*.5089684128761292;f[a+92>>2]=A*1.319451093673706-c;c=(z+y)*.8700869679450989;f[a+40>>2]=c-z*.3771888017654419;f[a+84>>2]=y*1.3629851341247559-c;c=(x+w)*.8175848126411438;f[a+48>>2]=c-x*.24177661538124084;f[a+76>>2]=w*1.3933930397033691-c;c=(v+u)*.7572088241577148;f[a+56>>2]=c-v*.10403600335121155;f[a+68>>2]=u*1.4103816747665405-c;c=(t+s)*.6895405650138855;f[a+64>>2]=t*.034706536680459976+c;f[a+60>>2]=s*1.413787603378296-c;c=(r+q)*.6152315735816956;f[a+72>>2]=r*.1731148362159729+c;f[a+52>>2]=q*1.4035780429840088-c;c=(p+o)*.5349976420402527;f[a+80>>2]=p*.30985593795776367+c;f[a+44>>2]=o*1.379851222038269-c;c=(n+m)*.4496113359928131;f[a+88>>2]=n*.4436129629611969+c;f[a+36>>2]=m*1.3428356647491455-c;c=(l+k)*.3598950505256653;f[a+96>>2]=l*.5730977654457092+c;f[a+28>>2]=k*1.292887806892395-c;c=(j+i)*.2667127549648285;f[a+104>>2]=j*.6970633268356323+c;f[a+20>>2]=i*1.2304887771606445-c;c=(h+g)*.1709618866443634;f[a+112>>2]=h*.8143157362937927+c;f[a+12>>2]=g*1.1562395095825195-c;c=(e+d)*.0735645666718483;f[a+120>>2]=e*.9237259030342102+c;f[a+4>>2]=d*1.0708550214767456-c;return}function Bn(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;u=+f[b>>2];q=+f[b+4>>2];H=u-q;F=+f[b+8>>2];q=F-q;K=+f[b+12>>2];F=F-K;D=+f[b+16>>2];K=D-K;s=+f[b+20>>2];D=D-s;r=+f[b+24>>2];s=r-s;w=+f[b+28>>2];r=r-w;J=+f[b+32>>2];w=J-w;o=+f[b+36>>2];J=J-o;l=+f[b+40>>2];o=l-o;E=+f[b+44>>2];l=l-E;e=+f[b+48>>2];E=e-E;g=+f[b+52>>2];e=e-g;n=+f[b+56>>2];g=n-g;y=+f[b+60>>2];n=n-y;C=+f[b+64>>2];i=+f[b+68>>2];j=C-i;z=+f[b+72>>2];i=z-i;A=+f[b+76>>2];z=z-A;t=+f[b+80>>2];A=t-A;m=+f[b+84>>2];t=t-m;B=+f[b+88>>2];m=B-m;k=+f[b+92>>2];B=B-k;x=+f[b+96>>2];k=x-k;I=+f[b+100>>2];x=x-I;p=+f[b+104>>2];I=p-I;G=+f[b+108>>2];p=p-G;v=+f[b+112>>2];G=v-G;d=+f[b+116>>2];v=v-d;h=+f[b+120>>2];d=h-d;h=h-+f[b+124>>2];y=(C-y)*.7071067690849304;C=u-y;y=u+y;u=(w+k)*-.9238795042037964;w=w*1.3065630197525024+u;u=k*-.5411961078643799-u;k=y-u;u=y+u;y=C-w;w=C+w;C=(E+A)*.7071067690849304;c=K-C;C=K+C;A=(E-A)*.7071067690849304;E=A-G;G=A+G;A=(C+G)*.9807852506637573;G=A-G*.78569495677948;A=C*1.1758755445480347-A;C=(c+E)*.8314695954322815;E=C-E*.27589938044548035;C=c*1.3870398998260498-C;c=u-G;G=u+G;u=w-E;E=w+E;w=y-C;C=y+C;y=k-A;A=k+A;k=s-o;o=s+o;s=m-I;I=m+I;m=(g+i)*.7071067690849304;K=q-m;m=q+m;q=(o+I)*-.9238795042037964;o=o*1.3065630197525024+q;q=I*-.5411961078643799-q;I=m-q;q=m+q;m=K-o;o=K+o;i=(g-i)*.7071067690849304;g=d-i;d=i+d;i=(k+s)*-.9238795042037964;s=s*1.3065630197525024+i;i=k*-.5411961078643799-i;k=d-i;d=i+d;i=g-s;g=s+g;s=(q+d)*.9951847195625305;d=s-d*.8971675634384155;s=q*1.0932018756866455-s;q=(o-g)*.9569403529167175;g=g*.6666556596755981+q;q=o*1.247225046157837-q;o=(m+i)*.8819212913513184;i=o-i*.41052451729774475;o=m*1.3533179759979248-o;m=(I-k)*.7730104327201843;k=k*.13861717283725739+m;m=I*1.4074037075042725-m;I=G-d;d=G+d;G=E-g;g=E+g;E=C-i;i=C+i;C=A-k;k=A+k;A=y-m;m=y+m;y=w-o;o=w+o;w=u-q;q=u+q;u=c-s;s=c+s;c=(H+h)*-.9987954497337341;H=H*1.0478631258010864+c;c=h*-.9497277736663818-c;h=(D+p)*-.9700312614440918;D=D*1.213011384010315+h;h=p*-.7270510792732239-h;p=(J+B)*-.903989315032959;J=J*1.3315443992614746+p;p=B*-.47643420100212097-p;B=(e+z)*-.803207516670227;e=e*1.3989068269729614+B;B=z*-.20750822126865387-B;z=(n+j)*-.6715589761734009;j=j*1.4125100374221802+z;z=n*.06939216703176498-z;n=(l+t)*-.5141027569770813;t=t*1.3718312978744507+n;n=l*.34362587332725525-n;l=(r+x)*-.3368898630142212;x=x*1.278433918952942+l;l=r*.6046541929244995-l;r=(F+v)*-.1467304676771164;v=v*1.1359069347381592+r;r=F*.8424460291862488-r;F=c-z;c=z+c;z=H-j;H=j+H;j=h-n;h=n+h;n=D-t;D=t+D;t=p-l;l=p+l;p=J-x;x=J+x;J=B-r;r=B+r;B=e-v;v=e+v;e=(F+z)*-.9807852506637573;F=F*1.1758755445480347+e;e=z*-.78569495677948-e;z=(j+n)*-.5555702447891235;j=j*1.3870398998260498+z;z=n*.27589938044548035-z;n=(t+p)*.19509032368659973;t=t*.78569495677948+n;n=p*1.1758755445480347-n;p=(J+B)*.8314695954322815;J=p-J*.27589938044548035;p=B*1.3870398998260498-p;B=c-l;c=l+c;l=H-x;H=x+H;x=h-r;r=h+r;h=D-v;v=D+v;D=e-n;e=n+e;n=F-t;F=t+F;t=z-p;p=z+p;z=j-J;J=j+J;j=(B+l)*-.9238795042037964;B=B*1.3065630197525024+j;j=l*-.5411961078643799-j;l=(x+h)*.3826834261417389;x=x*.5411961078643799+l;l=h*1.3065630197525024-l;h=(D+n)*-.9238795042037964;D=D*1.3065630197525024+h;h=n*-.5411961078643799-h;n=(t+z)*.3826834261417389;t=t*.5411961078643799+n;n=z*1.3065630197525024-n;z=c-r;c=r+c;r=H-v;H=v+H;v=j-l;j=l+j;l=B-x;B=x+B;x=e-p;e=p+e;p=F-J;F=J+F;J=h-n;h=n+h;n=D-t;D=t+D;t=(z-r)*.7071067690849304;r=(z+r)*.7071067690849304;z=(v-l)*.7071067690849304;l=(v+l)*.7071067690849304;v=(x-p)*.7071067690849304;p=(x+p)*.7071067690849304;x=(J-n)*.7071067690849304;n=(J+n)*.7071067690849304;f[a+124>>2]=(d+c)*.5001506209373474;f[a+120>>2]=(g+e)*.5013584494590759;f[a+116>>2]=(i+h)*.5037887096405029;f[a+112>>2]=(k+j)*.5074711441993713;f[a+108>>2]=(m+l)*.5124514698982239;f[a+104>>2]=(o+n)*.5187926888465881;f[a+100>>2]=(q+p)*.5265772938728333;f[a+96>>2]=(s+r)*.5359098315238953;f[a+92>>2]=(u+t)*.5469204187393188;f[a+88>>2]=(w+v)*.5597698092460632;f[a+84>>2]=(y+x)*.5746551752090454;f[a+80>>2]=(A+z)*.5918185114860535;f[a+76>>2]=(C+B)*.6115573644638062;f[a+72>>2]=(E+D)*.6342389583587646;f[a+68>>2]=(G+F)*.6603198051452637;f[a+64>>2]=(I+H)*.690372109413147;f[a+60>>2]=(I-H)*.7251205444335938;f[a+56>>2]=(G-F)*.765494167804718;f[a+52>>2]=(E-D)*.8127021193504333;f[a+48>>2]=(C-B)*.8683447241783142;f[a+44>>2]=(A-z)*.9345836043357849;f[a+40>>2]=(y-x)*1.0144082307815552;f[a+36>>2]=(w-v)*1.1120716333389282;f[a+32>>2]=(u-t)*1.2338327169418335;f[a+28>>2]=(s-r)*1.389293909072876;f[a+24>>2]=(q-p)*1.5939723253250122;f[a+20>>2]=(o-n)*1.874675989151001;f[a+16>>2]=(m-l)*2.282050132751465;f[a+12>>2]=(k-j)*2.924628496170044;f[a+8>>2]=(i-h)*4.084610939025879;f[a+4>>2]=(g-e)*6.796750545501709;f[a>>2]=(d-c)*20.373878479003906;return}function Cn(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0,n=0,o=0,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;G=oc;B=oc=oc+31&-32;oc=oc+768|0;C=B+512|0;D=B+384|0;E=B+256|0;F=B+128|0;u=e+53416|0;if(!(a[u>>0]|0)){oc=G;return}v=g+4|0;w=C+4|0;x=E+124|0;y=C+128|0;z=C+132|0;A=D+124|0;t=k&255;r=j&255;p=0;q=0;o=0;s=32;while(1){j=c[g>>2]|0;m=b[v>>1]|0;n=m<<16>>16;e=q;k=31;while(1){H=c[h+(e<<2)>>2]|0;e=e+1|0;c[j+(k+320+n<<2)>>2]=H;c[j+(k+n<<2)>>2]=H;if(s<<16>>16==(e&65535)<<16>>16){e=0;break}else k=k+-1|0}do{k=e+n|0;H=e<<1;f[C+(e<<2)>>2]=+f[j+(k<<2)>>2]*+f[58740+(H<<2)>>2]+ +f[j+(k+64<<2)>>2]*+f[58740+(H+128<<2)>>2]+ +f[j+(k+128<<2)>>2]*+f[58740+(H+256<<2)>>2]+ +f[j+(k+192<<2)>>2]*+f[58740+(H+384<<2)>>2]+ +f[j+(k+256<<2)>>2]*+f[58740+(H+512<<2)>>2];e=e+1|0}while((e|0)!=64);b[v>>1]=m+-32<<16>>16<<16>>16<0?288:(m&65535)+65504&65535;c[x>>2]=c[w>>2];c[D>>2]=c[C>>2];e=1;do{H=e;e=e+1|0;c[E+(31-H<<2)>>2]=c[C+(e<<2)>>2];f[D+(H<<2)>>2]=-+f[C+(64-H<<2)>>2]}while((e|0)!=31);c[E>>2]=c[y>>2];f[A>>2]=-+f[z>>2];zn(D,E,F,B);k=o+r|0;m=0;do{e=m<<1;j=e|1;if((j|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;f[i+(k<<9)+(e<<3)+4>>2]=+f[B+(m<<2)>>2]*2.0;H=31-m|0;f[i+(k<<9)+(j<<3)>>2]=+f[B+(H<<2)>>2]*-2.0;l=+f[F+(H<<2)>>2]*-2.0}else{if((e|0)<(t|0)){f[i+(k<<9)+(e<<3)>>2]=+f[F+(m<<2)>>2]*2.0;l=+f[B+(m<<2)>>2]*2.0}else{f[i+(k<<9)+(e<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(e<<3)+4>>2]=l;f[i+(k<<9)+(j<<3)>>2]=0.0;l=0.0}f[i+(k<<9)+(j<<3)+4>>2]=l;m=m+1|0}while((m|0)!=16);e=p+1<<24>>24;if((e&255)<(d[u>>0]|0)){p=e;q=q+32|0;o=e&255;s=s+32<<16>>16}else break}oc=G;return}function Dn(b,e,g,i){b=b|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0,K=0,L=0.0,M=0.0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=oc;X=oc=oc+31&-32;oc=oc+512|0;Y=b+53419|0;J=a[Y>>0]|0;Z=i&255;K=a[b+616+(Z*6|0)>>0]|0;N=a[(d[b+610+Z>>0]|0)+(b+616+(Z*6|0))>>0]|0;j=a[b+19>>0]|0;a:do if(j<<24>>24){q=j&255;p=0;while(1){n=a[b+10976+(Z*5|0)+p>>0]|0;o=b+10986+(Z*5|0)+p|0;j=a[o>>0]|0;switch(n<<24>>24){case 1:{l=j<<24>>24==0?.6000000238418579:.75;break}case 2:{l=.8999999761581421;break}case 3:{l=.9800000190734863;break}default:l=j<<24>>24==1?.6000000238418579:0.0}k=b+10996+(Z<<8)+(p<<2)|0;m=b+11508+(Z<<8)+(p<<2)|0;R=+f[m>>2];W=l<R;l=l*(W?.75:.90625)+R*(W?.25:.09375);f[k>>2]=l;if(!(l<.015625))if(!(l>=.99609375))j=(f[h>>2]=l,c[h>>2]|0);else{j=1065287680;r=9}else{j=0;r=9}if((r|0)==9){r=0;c[k>>2]=j}c[m>>2]=j;a[o>>0]=n;p=p+1|0;if((p|0)==(q|0))break a}}while(0);do if(i<<24>>24==0?a[b+12426>>0]|0:0){o=b+13|0;q=a[o>>0]|0;D=b+14|0;p=a[D>>0]|0;k=a[140064+((Zl(c[b>>2]|0)|0)&255)>>0]|0;G=b+12020|0;a[G>>0]=0;D=a[D>>0]|0;E=(d[b+15>>0]|0)+(D&255)|0;if(E>>>0>(k&255)>>>0)if((d[b+26>>0]|0)<(k&255)){j=0;n=0;while(1){j=j+1<<24>>24;m=j&255;if((d[b+26+m>>0]|0)>=(k&255))break;else n=m}j=n+1&255}else j=0;else j=a[b+16>>0]|0;y=a[b+16>>0]|0;if(!(y<<24>>24)){a[G>>0]=0;a[b+12021>>0]=0;a[b+12085>>0]=0;break}s=d[o>>0]|0;t=s+-2|0;u=s+-1|0;k=q;q=j;o=0;while(1){i=q&255;k=u+(k&255)|0;j=i+1&255;do{j=j+-1<<24>>24;n=a[(j&255)+(b+26)>>0]|0;r=n&255;m=(t+r|0)%2|0}while((k-(m&255)|0)<(r|0));V=r-(p&255)|0;V=(V|0)>0?V:0;W=V&255;j=o&255;a[b+12021+j>>0]=W;a[b+12085+j>>0]=s-m-V;j=o+1<<24>>24;if(!(W<<24>>24)){k=D;j=o}else{a[G>>0]=j;p=n;k=n}if((E|0)==(r|0))break;else{q=((d[b+26+i>>0]|0)-r|0)<3?y:q;o=j}}k=j+-1<<24>>24;if((j&255)>1?(d[(j&255)+-1+(b+12021)>>0]|0)<3:0){a[G>>0]=k;j=k}a[G>>0]=(j&255)<5?j:5}while(0);U=a[b+12020>>0]|0;if(U<<24>>24){V=b+14|0;T=b+53416|0;W=K&255;G=J&255;J=G+-2+W|0;S=G+-1+W|0;D=(K&255)<(N&255);E=N&255;y=N&255;k=0;j=0;while(1){t=b+12021+k|0;if(a[t>>0]|0){u=j<<24>>24==0;i=b+12085+k|0;r=d[V>>0]|0;s=j&255;q=0;n=0;while(1){k=n+r|0;if(!u){m=0;do{k=(k&255)+(d[b+12021+m>>0]|0)|0;m=m+1|0}while((m|0)!=(s|0))}m=n+(d[i>>0]|0)|0;p=k&255;Q=+f[b+10996+(Z<<8)+(d[b+538+p>>0]<<2)>>2];R=Q*Q;if(R>0.0){k=a[Y>>0]|0;n=k&255;N=n+-2|0;o=m&255;O=+f[e+(N<<9)+(o<<3)>>2];P=+f[e+(N<<9)+(o<<3)+4>>2];m=n+-1|0;L=+f[e+(m<<9)+(o<<3)>>2];M=+f[e+(m<<9)+(o<<3)+4>>2];m=k<<24>>24;n=((a[T>>0]|0)+6&255)+n|0;if((n|0)>(m|0)){H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;z=O;v=M;x=L;F=P;while(1){l=+f[e+(m<<9)+(o<<3)>>2];w=+f[e+(m<<9)+(o<<3)+4>>2];H=H+(x*l+v*w);I=I+(x*w-v*l);A=A+(z*l+F*w);B=B+(z*w-F*l);C=C+(v*v+x*x);k=k+1<<24>>24;m=k<<24>>24;if((n|0)<=(m|0))break;else{F=v;z=x;v=w;x=l}}}else{H=0.0;I=0.0;A=0.0;B=0.0;C=0.0;x=O;w=M;l=L;v=P}z=O*L+P*M+(H-(v*w+l*x));w=O*M-P*L+(I-(w*x-v*l));l=C*(O*O+P*P+(C-(v*v+x*x)))-(w*w+z*z)*.9999990463256836;if(l==0.0){v=0.0;x=0.0}else{x=1.0/l;v=(H*z-I*w-C*A)*x;x=(H*w+I*z-C*B)*x}if(C==0.0){m=X+(o<<3)|0;f[m>>2]=0.0;w=0.0;l=0.0}else{P=1.0/C;l=-(P*(w*x+(H+z*v)));m=X+(o<<3)|0;f[m>>2]=l;w=-(P*(I+z*x-w*v))}k=X+(o<<3)+4|0;f[k>>2]=w;if(!(!(l*l+w*w>=16.0)?!(v*v+x*x>=16.0):0)){f[m>>2]=0.0;f[k>>2]=0.0;l=+f[X+(o<<3)>>2];v=0.0;w=0.0;x=0.0}H=Q*l;F=R*v;C=Q*w;z=R*x;if(D){l=+f[e+(J<<9)+(o<<3)+4>>2];v=+f[e+(S<<9)+(o<<3)>>2];w=+f[e+(J<<9)+(o<<3)>>2];x=+f[e+(S<<9)+(o<<3)+4>>2];k=W;while(1){N=k+G|0;A=+f[e+(N<<9)+(o<<3)>>2];B=+f[e+(N<<9)+(o<<3)+4>>2];f[g+(N<<9)+(p<<3)>>2]=F*w+(H*v-C*x)-z*l+A;f[g+(N<<9)+(p<<3)+4>>2]=F*l+(z*w+(C*v+H*x))+B;k=k+1|0;if((k|0)==(E|0))break;else{w=v;l=x;v=A;x=B}}}}else if(D){k=m&255;m=W;do{N=m+G|0;c[g+(N<<9)+(p<<3)>>2]=c[e+(N<<9)+(k<<3)>>2];c[g+(N<<9)+(p<<3)+4>>2]=c[e+(N<<9)+(k<<3)+4>>2];m=m+1|0}while((m|0)!=(y|0))}k=q+1<<24>>24;if((k&255)<(d[t>>0]|0)){q=k;n=k&255}else break}}j=j+1<<24>>24;if((j&255)<(U&255))k=j&255;else break}}if(!(a[b+12426>>0]|0)){oc=_;return}Gn(b);oc=_;return}function En(e,g,h){e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,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,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=oc;ga=oc=oc+31&-32;oc=oc+3536|0;aa=ga+3332|0;ba=ga+3136|0;ca=ga+2940|0;rD(ga|0,0,2940)|0;ha=h&255;k=a[e+53451+ha>>0]|0;do if(k<<24>>24){i=a[e+53507+ha>>0]|0;j=i&255;if(k<<24>>24==2){if((i&255)<=1){i=-1;break}i=j+255&255;break}else{if(!(i<<24>>24)){i=-1;break}i=1-j+(d[e+610+ha>>0]|0)&255;break}}else i=-1;while(0);fa=e+10972+ha|0;a[fa>>0]=i;ea=e+610+ha|0;j=a[ea>>0]|0;i=j<<24>>24!=0;if((a[e+53440>>0]|0)==1)if(i){w=e+53419|0;x=e+14|0;v=a[e+15>>0]|0;y=v&255;t=j&255;i=v;s=0;do{r=s;s=s+1|0;p=d[e+616+(ha*6|0)+s>>0]|0;q=d[e+616+(ha*6|0)+r>>0]|0;Z=p-q|0;o=(Z|0)==0?1.0:+(Z|0);if(!(i<<24>>24))i=0;else{n=0;do{k=d[w>>0]|0;i=k+q|0;j=i&255;k=k+p|0;if(k>>>0>j>>>0){m=n+(d[x>>0]|0)|0;i=i&255;l=0.0;do{_=+f[g+(j<<9)+(m<<3)>>2];$=+f[g+(j<<9)+(m<<3)+4>>2];l=l+(_*_+$*$);i=i+1<<24>>24;j=i&255}while(k>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+(n*20|0)+(r<<2)>>2]=l/o;n=n+1|0}while(n>>>0<y>>>0);i=v}}while((s|0)!=(t|0));Z=a[ea>>0]|0}else Z=0;else if(i){A=e+53419|0;B=e+14|0;y=0;i=j;x=0;while(1){w=e+634+(ha*6|0)+x|0;j=a[w>>0]|0;k=j&255;if(a[e+24+k>>0]|0){t=e+616+(ha*6|0)+x|0;v=x+1+(e+616+(ha*6|0))|0;s=0;i=j;j=0;while(1){m=a[e+90+(k<<6)+j>>0]|0;j=a[j+1+(e+90+(k<<6))>>0]|0;if((m&255)<(j&255)){r=j&255;n=m&255;p=r-n|0;q=n;do{m=d[v>>0]|0;i=d[t>>0]|0;Z=z(m-i|0,p)|0;o=(Z|0)==0?1.0:+(Z|0);Z=d[A>>0]|0;i=Z+i|0;j=i&255;m=Z+m|0;if(m>>>0>j>>>0){k=i&255;l=0.0;do{i=n;do{_=+f[g+(j<<9)+(i<<3)>>2];$=+f[g+(j<<9)+(i<<3)+4>>2];l=l+(_*_+$*$);i=i+1|0}while((i|0)!=(r|0));k=k+1<<24>>24;j=k&255}while(m>>>0>j>>>0)}else l=0.0;f[e+4828+(ha*1280|0)+((q-(d[B>>0]|0)|0)*20|0)+(x<<2)>>2]=l/o;q=q+1|0}while((q|0)!=(r|0));i=a[w>>0]|0}j=s+1<<24>>24;k=i&255;if((j&255)>=(d[e+24+k>>0]|0))break;else{s=j;j=j&255}}i=a[ea>>0]|0}j=y+1<<24>>24;if((j&255)<(i&255)){y=j;x=j&255}else{Z=i;break}}}else Z=0;if(Z<<24>>24){R=e+53439|0;S=e+14|0;T=e+53445+ha|0;U=e+12418+ha|0;V=a[fa>>0]|0;W=d[e+53438>>0]|0;X=a[e+20+W>>0]|0;Y=X<<24>>24==0;P=0;Q=0;O=0;j=Z;while(1){N=(O|0)==(V|0);if(N)i=1;else i=(O|0)==(a[U>>0]|0);M=i^1;Q=Q+((d[O+1+(e+616+(ha*6|0))>>0]|0)>(d[(Q&255)+1+(e+628+(ha*3|0))>>0]|0)&1)<<24>>24;if(!Y){q=Fn(e,h,P,0)|0;J=e+634+(ha*6|0)+O|0;K=Q&255;$=+f[62452+(d[R>>0]<<2)>>2];L=(O|0)<(V|0);H=0;r=0;s=0;t=0;j=0;i=0;while(1){y=a[e+282+(W<<6)+i>>0]|0;A=a[i+1+(e+282+(W<<6))>>0]|0;B=(y&255)<(A&255);i=y&255;if(B){m=d[S>>0]|0;n=d[J>>0]|0;p=A&255;o=0.0;l=0.0;k=i;do{j=j+((k+m|0)==(d[(j&255)+1+(e+90+(n<<6))>>0]|0)&1)<<24>>24;l=l+ +f[e+2268+(ha*1280|0)+((j&255)*20|0)+(O<<2)>>2];o=o+ +f[e+4828+(ha*1280|0)+(k*20|0)+(O<<2)>>2];k=k+1|0}while((k|0)!=(p|0));y=j}else{o=0.0;l=0.0;y=j}_=l+1.0e-12;I=_/(o+1.0e-12)*$;I=I<1.0e10?I:1.0e10;if(B){v=d[S>>0]|0;w=d[J>>0]|0;x=A&255;l=0.0;p=q;j=r;m=s;k=t;r=i;while(1){q=r+v|0;n=j+((q|0)==(d[(j&255)+1+(e+218)>>0]|0)&1)<<24>>24;j=k+1<<24>>24;if((q|0)==(d[(k&255)+1+(e+90+(w<<6))>>0]|0)){p=Fn(e,h,P,j)|0;k=j}m=m+((q|0)==(d[(m&255)+1+(e+154)>>0]|0)&1)<<24>>24;j=m&255;if(L)if((a[e+12277+(ha<<6)+j>>0]|0)!=0?(a[T>>0]|0)!=0:0)da=49;else j=0;else da=49;if((da|0)==49){da=0;if((q|0)==(((d[e+154+j>>0]|0)+(d[j+1+(e+154)>>0]|0)|0)>>>1|0))j=a[e+12149+(ha<<6)+j>>0]|0;else j=0}t=n&255;C=+f[e+8412+(ha<<9)+(t<<3)+(K<<2)>>2];D=+f[e+9436+(ha<<9)+(t<<3)+(K<<2)>>2];o=+f[e+2268+(ha*1280|0)+((k&255)*20|0)+(O<<2)>>2];G=D*o;j=j<<24>>24==0;E=C*o;f[ca+(r<<2)>>2]=j?0.0:E;F=+f[e+4828+(ha*1280|0)+(r*20|0)+(O<<2)>>2];o=o/(F+1.0);if(p<<24>>24==0&M)o=C*o;else o=p<<24>>24==1?D*o:o;t=o<I;G=t?G:G*I/o;D=t?o:I;f[aa+(r<<2)>>2]=G;f[ba+(r<<2)>>2]=D;l=(j?l:l+E)+F*D;l=j?(N?l:G+l):l;r=r+1|0;if((r|0)==(x|0))break;else j=n}}else{l=0.0;p=q;n=r;m=s;k=t}o=_/(l+1.0e-12);o=o<2.51188643?o:2.51188643;if(B){j=A&255;do{f[ga+(O*196|0)+(i<<2)>>2]=+u(+(+f[ba+(i<<2)>>2]*o));f[ga+980+(O*196|0)+(i<<2)>>2]=+u(+(+f[aa+(i<<2)>>2]*o));l=+f[ca+(i<<2)>>2];if(l!=0.0)l=+u(+(l*o));else l=0.0;f[ga+1960+(O*196|0)+(i<<2)>>2]=l;i=i+1|0}while((i|0)!=(j|0))}i=H+1<<24>>24;if((i&255)<(X&255)){H=i;q=p;r=n;s=m;t=k;j=y;i=i&255}else{j=Z;break}}}i=P+1<<24>>24;if((i&255)>=(j&255))break;else{P=i;O=i&255}}}if((a[e+12426>>0]|0)==1){i=0;k=1}else{i=b[e+12406+(ha<<1)>>1]|0;k=0}h=e+12410+ha|0;j=a[h>>0]|0;if(!(Z<<24>>24)){ga=j;g=i;ha=e+12406+(ha<<1)|0;b[ha>>1]=g;a[h>>0]=ga;oc=ia;return 0}K=e+53441|0;L=e+728+ha|0;M=e+15|0;N=e+53419|0;O=e+14|0;P=e+53448|0;Q=e+53449|0;R=e+12418+ha|0;S=e+648+(ha*20|0)|0;T=e+688+(ha*20|0)|0;U=e+648+(ha*20|0)+4|0;V=e+688+(ha*20|0)+4|0;W=e+648+(ha*20|0)+8|0;X=e+688+(ha*20|0)+8|0;Y=e+648+(ha*20|0)+12|0;Z=e+688+(ha*20|0)+12|0;J=0;A=0;while(1){if((A|0)==(a[fa>>0]|0))H=1;else H=(A|0)==(a[R>>0]|0);B=H|(a[K>>0]|0)==1;if(k<<24>>24){ca=ga+(A*196|0)|0;da=ga+980+(A*196|0)|0;pD(c[S>>2]|0,ca|0,d[M>>0]<<2|0)|0;pD(c[T>>2]|0,da|0,d[M>>0]<<2|0)|0;pD(c[U>>2]|0,ca|0,d[M>>0]<<2|0)|0;pD(c[V>>2]|0,da|0,d[M>>0]<<2|0)|0;pD(c[W>>2]|0,ca|0,d[M>>0]<<2|0)|0;pD(c[X>>2]|0,da|0,d[M>>0]<<2|0)|0;pD(c[Y>>2]|0,ca|0,d[M>>0]<<2|0)|0;pD(c[Z>>2]|0,da|0,d[M>>0]<<2|0)|0;a[L>>0]=4}k=a[e+616+(ha*6|0)+A>>0]|0;w=A+1+(e+616+(ha*6|0))|0;if((k&255)<(d[w>>0]|0)){x=ga+(A*196|0)|0;y=ga+980+(A*196|0)|0;v=k;n=a[L>>0]|0;m=a[M>>0]|0;t=k&255;while(1){pD(c[e+648+(ha*20|0)+(n<<24>>24<<2)>>2]|0,x|0,(m&255)<<2|0)|0;pD(c[e+688+(ha*20|0)+(a[L>>0]<<2)>>2]|0,y|0,d[M>>0]<<2|0)|0;m=a[M>>0]|0;if(!(m<<24>>24))m=0;else{s=j&255;E=+(a[140056+s>>0]|0);F=+(a[140060+s>>0]|0);s=m&255;r=0;do{k=a[L>>0]|0;if(B){da=k<<24>>24;l=+f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2];C=+f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]}else{da=k+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;q=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;aa=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ba=da&255;da=da+1<<24>>24;da=(da&255)>4?(da&255)+251&255:da;ca=da&255;da=da+1<<24>>24;da=((da&255)>4?(da&255)+251&255:da)&255;l=+f[(c[e+688+(ha*20|0)+(q<<2)>>2]|0)+(r<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+688+(ha*20|0)+(aa<<2)>>2]|0)+(r<<2)>>2]*.11516383290290833+ +f[(c[e+688+(ha*20|0)+(ba<<2)>>2]|0)+(r<<2)>>2]*.21816949546337128+ +f[(c[e+688+(ha*20|0)+(ca<<2)>>2]|0)+(r<<2)>>2]*.3015028238296509+ +f[(c[e+688+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]*.3333333432674408;C=+f[(c[e+648+(ha*20|0)+(q<<2)>>2]|0)+(r<<2)>>2]*.031830500811338425+0.0+ +f[(c[e+648+(ha*20|0)+(aa<<2)>>2]|0)+(r<<2)>>2]*.11516383290290833+ +f[(c[e+648+(ha*20|0)+(ba<<2)>>2]|0)+(r<<2)>>2]*.21816949546337128+ +f[(c[e+648+(ha*20|0)+(ca<<2)>>2]|0)+(r<<2)>>2]*.3015028238296509+ +f[(c[e+648+(ha*20|0)+(da<<2)>>2]|0)+(r<<2)>>2]*.3333333432674408}D=+f[ga+1960+(A*196|0)+(r<<2)>>2];o=H|D!=0.0?0.0:l;i=i+1&511;k=t+(d[N>>0]|0)|0;n=r+(d[O>>0]|0)|0;p=g+(k<<9)+(n<<3)|0;q=i&65535;l=C*+f[p>>2]+o*+f[62468+(q<<3)>>2];f[p>>2]=l;if((a[P>>0]|0)==3?(a[Q>>0]|0)==42:0){f[p>>2]=16428320.0;l=16428320.0}da=g+(k<<9)+(n<<3)+4|0;$=C*+f[da>>2]+o*+f[62468+(q<<3)+4>>2];f[p>>2]=l+D*E;f[da>>2]=$+D*+((n<<25&33554432^33554432)+-16777216>>24|0)*F;r=r+1|0}while((r|0)!=(s|0))}j=j+1&3;n=(a[L>>0]|0)+1<<24>>24;n=n<<24>>24>4?0:n;a[L>>0]=n;k=v+1<<24>>24;if((k&255)>=(d[w>>0]|0))break;else{v=k;t=k&255}}}m=J+1<<24>>24;if((m&255)<(d[ea>>0]|0)){J=m;k=0;A=m&255}else break}ha=e+12406+(ha<<1)|0;b[ha>>1]=i;a[h>>0]=j;oc=ia;return 0}function Fn(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;i=c&255;f=d&255;if((a[b+634+(i*6|0)+f>>0]|0)==1){c=e&255;if((f|0)<(a[b+10972+i>>0]|0)){if(!(a[b+12277+(i<<6)+c>>0]|0)){b=0;return b|0}if(!(a[b+53445+i>>0]|0)){b=0;return b|0}}b=a[b+12149+(i<<6)+c>>0]|0;return b|0}g=(e&255)<<1;e=a[b+17>>0]&1;c=g-e|0;d=c&255;c=c&255;e=g+2-e&255;if(e>>>0<=c>>>0){b=0;return b|0}g=b+53445+i|0;if((f|0)>=(a[b+10972+i>>0]|0)){while(1){if((a[b+12149+(i<<6)+c>>0]|0)==1){c=1;d=14;break}d=d+1<<24>>24;c=d&255;if(e>>>0<=c>>>0){c=0;d=14;break}}if((d|0)==14)return c|0}else{h=d;j=c}while(1){if((a[b+12277+(i<<6)+j>>0]|0?a[g>>0]|0:0)?(a[b+12149+(i<<6)+j>>0]|0)==1:0){c=1;d=14;break}h=h+1<<24>>24;j=h&255;if(e>>>0<=j>>>0){c=0;d=14;break}}if((d|0)==14)return c|0;return 0}function Gn(b){b=b|0;var e=0,g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,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=oc;v=oc=oc+31&-32;oc=oc+464|0;t=v;v=v+400|0;y=b+14|0;i=a[y>>0]|0;w=i&255;a[b+282>>0]=(d[b+90>>0]|0)-w;u=b+18|0;a[b+283>>0]=(d[(d[u>>0]|0)+(b+90)>>0]|0)-w;a[b+20>>0]=1;w=b+12020|0;x=v+1|0;e=1;while(1){rD(t|0,0,400)|0;g=x;h=g+63|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));a[v>>0]=i;k=a[w>>0]|0;if(k<<24>>24){h=1;g=1;while(1){s=g+-1|0;a[v+g>>0]=(d[b+12021+s>>0]|0)+(d[v+s>>0]|0);g=h+1<<24>>24;if((g&255)>(k&255))break;else{h=g;g=g&255}}}i=a[u>>0]|0;h=0;g=0;while(1){c[t+(g<<2)>>2]=d[b+90+g>>0];g=h+1<<24>>24;if((g&255)>(i&255))break;else{h=g;g=g&255}}if((k&255)>1){i=i&255;g=k&255;h=1;do{c[t+(h+i<<2)>>2]=d[v+h>>0];h=h+1|0}while(h>>>0<g>>>0);h=i}else{h=i&255;g=k&255}kp(t,h+g|0,4,20);g=(d[w>>0]|0)+255+(d[u>>0]|0)|0;h=g&255;if(g&128|0)break;g=g<<24;a:do if((g|0)<16777216)i=g>>24;else{s=66564+(e+-1<<2)|0;q=1;r=1;do{n=t+(r+-1<<2)|0;o=t+(r<<2)|0;p=t+((q&255)<<2)|0;while(1){m=c[n>>2]|0;if(!m)j=0.0;else j=+(c[o>>2]|0)/+(m|0);if(!(j<+f[s>>2]))break;k=c[o>>2]|0;if((k|0)!=(m|0)){l=a[w>>0]|0;g=0;i=0;do{g=(k|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24){g=0;i=0;do{g=(m|0)==(d[v+(i&255)>>0]|0|0)?1:g;i=i+1<<24>>24}while((i&255)<=(l&255));if(g<<24>>24)break;m=d[u>>0]|0;c[n>>2]=d[b+90+m>>0];kp(t,m+(l&255)|0,4,20)}else z=24}else z=24;if((z|0)==24){z=0;c[p>>2]=d[(d[u>>0]|0)+(b+90)>>0];kp(t,h<<24>>24,4,20)}h=h+-1<<24>>24;i=h<<24>>24;if((r|0)>(i|0))break a}q=q+1<<24>>24;r=q&255;i=h<<24>>24}while((r|0)<=(i|0))}while(0);a[b+20+e>>0]=h;if((i|0)>=0){g=0;h=0;do{a[b+282+(e<<6)+h>>0]=(c[t+(h<<2)>>2]|0)-(d[y>>0]|0);g=g+1<<24>>24;h=g&255}while((i|0)>=(h|0))}e=e+1|0;if(e>>>0>=4){z=32;break}i=a[y>>0]|0}if((z|0)==32){oc=A;return}oc=A;return}function Hn(a,d,e){a=a|0;d=d|0;e=e|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.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;z=oc;y=oc=oc+31&-32;oc=oc+4096|0;j=c[a+8>>2]|0;k=b[a>>1]|0;l=(k&65535)>>>1;g=(k&65535)>>>2;k=(k&65535)>>>3;x=g&65535;g=g<<16>>16==0;if(!g){h=(l&65535)+-1|0;i=0;do{w=i<<1;B=+f[d+(w<<2)>>2];D=+f[d+(h-w<<2)>>2];C=+f[j+(i<<3)>>2];A=+f[j+(i<<3)+4>>2];f[y+(i<<3)+4>>2]=B*C+D*A;f[y+(i<<3)>>2]=D*C-B*A;i=i+1|0}while(i>>>0<x>>>0);Tl(c[a+4>>2]|0,y);if(!g){a=0;do{w=y+(a<<3)|0;A=+f[w>>2];v=y+(a<<3)+4|0;C=+f[v>>2];B=+f[j+(a<<3)>>2];D=+f[j+(a<<3)+4>>2];f[v>>2]=C*B+A*D;f[w>>2]=A*B-C*D;a=a+1|0}while(a>>>0<x>>>0)}}else Tl(c[a+4>>2]|0,y);w=k&65535;if(!(k<<16>>16)){oc=z;return}o=w+1|0;p=w+-1|0;q=w+-2|0;r=x+2|0;s=x+-1|0;t=x+1|0;u=x+-2|0;v=x+3|0;g=l&65535;h=g+2|0;i=g+1|0;j=g+3|0;k=g+x|0;l=k+2|0;m=k+1|0;n=k+3|0;d=0;a=0;while(1){K=a+w|0;E=a<<1;c[e+(E<<2)>>2]=c[y+(K<<3)+4>>2];J=o+a|0;c[e+(E+2<<2)>>2]=c[y+(J<<3)+4>>2];I=p+d|0;f[e+((E|1)<<2)>>2]=-+f[y+(I<<3)>>2];H=q+d|0;f[e+(E+3<<2)>>2]=-+f[y+(H<<3)>>2];c[e+(E+x<<2)>>2]=c[y+(a<<3)>>2];G=a+1|0;c[e+(r+E<<2)>>2]=c[y+(G<<3)>>2];F=s+d|0;f[e+(t+E<<2)>>2]=-+f[y+(F<<3)+4>>2];d=u+d|0;f[e+(v+E<<2)>>2]=-+f[y+(d<<3)+4>>2];c[e+(E+g<<2)>>2]=c[y+(K<<3)>>2];c[e+(h+E<<2)>>2]=c[y+(J<<3)>>2];f[e+(i+E<<2)>>2]=-+f[y+(I<<3)+4>>2];f[e+(j+E<<2)>>2]=-+f[y+(H<<3)+4>>2];f[e+(E+k<<2)>>2]=-+f[y+(a<<3)+4>>2];f[e+(l+E<<2)>>2]=-+f[y+(G<<3)+4>>2];c[e+(m+E<<2)>>2]=c[y+(F<<3)>>2];c[e+(n+E<<2)>>2]=c[y+(d<<3)>>2];a=a+2&65535;if(a>>>0<w>>>0)d=0-a|0;else break}oc=z;return}function In(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=oc;s=oc=oc+31&-32;oc=oc+8192|0;rD(s|0,0,8192)|0;r=j&65535;o=(j&65535)>>>3;q=o&65535;l=(r-q|0)/2|0;if(b<<24>>24==2)R(140076,140116,353,140127);k=d&255;if(i<<24>>24==23){d=a+16+(k<<2)|0;i=a+16+((e&255)<<2)|0;m=0;n=0}else{m=e&255;d=a+(k<<2)|0;i=a+(m<<2)|0;m=c[a+8+(m<<2)>>2]|0;n=c[a+8+(k<<2)>>2]|0}p=c[d>>2]|0;k=c[i>>2]|0;switch(b<<24>>24){case 0:{e=r+-1|0;d=e&65535;if(d<<16>>16>-1){i=e<<16>>16;while(1){f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];q=i+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(e-i<<2)>>2];i=d+-1<<16>>16;if(i<<16>>16>-1){d=i;i=i<<16>>16}else break}}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=16;break}case 240:case 256:{d=a+24|0;t=16;break}case 960:case 1024:{d=a+28|0;t=16;break}default:d=0}if((t|0)==16)d=c[d>>2]|0;Kn(d,s,h);oc=u;return}case 1:{if(j<<16>>16){d=0;i=0;do{f[s+(i<<2)>>2]=+f[g+(i<<2)>>2]*+f[k+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(r|0))}l=l&65535;b=(l|0)==0;if(!b){d=0;i=0;do{p=i+r|0;c[s+(p<<2)>>2]=c[g+(p<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((l|0)>(i|0))}if(o<<16>>16){i=l+r|0;e=q+-1|0;d=0;k=0;do{p=i+k|0;f[s+(p<<2)>>2]=+f[g+(p<<2)>>2]*+f[n+(e-k<<2)>>2];d=d+1<<16>>16;k=d<<16>>16}while((k|0)<(q|0))}if(!b){i=q+r+l|0;d=0;e=0;do{f[s+(i+e<<2)>>2]=0.0;d=d+1<<16>>16;e=d<<16>>16}while((l|0)>(e|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=31;break}case 240:case 256:{d=a+24|0;t=31;break}case 960:case 1024:{d=a+28|0;t=31;break}default:d=0}if((t|0)==31)d=c[d>>2]|0;Kn(d,s,h);oc=u;return}case 3:{k=l&65535;e=(k|0)==0;if(!e){d=0;i=0;do{f[s+(i<<2)>>2]=0.0;d=d+1<<16>>16;i=d<<16>>16}while((k|0)>(i|0))}if(o<<16>>16){d=0;i=0;do{o=i+k|0;f[s+(o<<2)>>2]=+f[g+(o<<2)>>2]*+f[m+(i<<2)>>2];d=d+1<<16>>16;i=d<<16>>16}while((i|0)<(q|0))}if(!e){i=k+q|0;d=0;e=0;do{q=i+e|0;c[s+(q<<2)>>2]=c[g+(q<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((k|0)>(e|0))}if(j<<16>>16){i=r+-1|0;d=0;e=0;do{q=e+r|0;f[s+(q<<2)>>2]=+f[g+(q<<2)>>2]*+f[p+(i-e<<2)>>2];d=d+1<<16>>16;e=d<<16>>16}while((e|0)<(r|0))}switch((r<<1&65535)<<16>>16){case 1920:case 2048:{d=a+32|0;t=46;break}case 240:case 256:{d=a+24|0;t=46;break}case 960:case 1024:{d=a+28|0;t=46;break}default:d=0}if((t|0)==46)d=c[d>>2]|0;Kn(d,s,h);oc=u;return}default:{oc=u;return}}}function Jn(e,g,h,i,j,k){e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.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;O=oc;L=oc=oc+31&-32;oc=oc+336|0;J=L+168|0;K=L+84|0;if(!(a[e+9040>>0]|0)){oc=O;return}E=e+3|0;if(!(a[E>>0]|0)){oc=O;return}G=e+1|0;M=L+4|0;N=K+4|0;H=e+4|0;I=e+2040|0;D=(k&65535)>>>3&65535;C=0;y=0;while(1){x=g+y|0;if(a[x>>0]|0){A=g+8+y|0;B=z(y,D)|0;v=0;w=d[G>>0]|0;s=0;while(1){k=w&65535;l=k-(d[g+16+(y<<2)+s>>0]|0)|0;w=(l|0)>0?l:0;l=a[g+48+(y<<2)+s>>0]|0;l=(l&255)<20?l:20;if(l<<24>>24){m=((d[A>>0]|0)+3&255)<<24>>24==3;m=(a[g+112+(y<<2)+s>>0]|0)==0?(m?66704:66768):m?66576:66640;u=l&255;l=0;do{c[J+(l<<2)>>2]=c[m+(d[g+144+(y<<7)+(s<<5)+l>>0]<<2)>>2];l=l+1|0}while((l|0)!=(u|0));f[L>>2]=1.0;o=0;q=1;while(1){l=((o<<2)+1020&1020)+4|0;m=J+(q+-1<<2)|0;if(q>>>0>1){n=+f[m>>2];p=1;do{f[K+(p<<2)>>2]=+f[L+(p<<2)>>2]+n*+f[L+(q-p<<2)>>2];p=p+1|0}while((p|0)!=(q|0));pD(M|0,N|0,l|0)|0}c[L+(q<<2)>>2]=c[m>>2];if(q>>>0<u>>>0){o=o+1|0;q=q+1|0}else break}l=w&65535;if(l>>>0>=((am(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)l=(am(h,i,(a[H>>0]|0)==2&1)|0)&255;t=d[e>>0]|0;t=b[e+1936+(((l>>>0<t>>>0?l:t)&65535)<<1)>>1]|0;l=b[I>>1]|0;l=(t&65535)<(l&65535)?t:l;if(k>>>0>=((am(h,i,(a[H>>0]|0)==2&1)|0)&255)>>>0)k=(am(h,i,(a[H>>0]|0)==2&1)|0)&255;q=d[e>>0]|0;q=b[e+1936+(((k>>>0<q>>>0?k:q)&65535)<<1)>>1]|0;k=b[I>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;q=k-(l&65535)|0;t=q&65535;if((q<<16|0)>=65536?(F=(a[g+80+(y<<2)+s>>0]|0)==0,rD(J|0,0,160)|0,t<<16>>16):0){q=F?1:-1;s=u+255&255;p=0;k=j+(B+((F?l:k+65535&65535)&65535)<<2)|0;l=0;while(1){r=+f[k>>2];m=l<<24>>24;n=r;o=0;do{P=o;o=o+1|0;n=n+ +f[J+(P+m<<2)>>2]*+f[L+(o<<2)>>2]}while((o|0)!=(u|0));P=l+-1<<24>>24;l=P<<24>>24<0?s:P;P=l<<24>>24;f[J+(P+u<<2)>>2]=r;f[J+(P<<2)>>2]=r;f[k>>2]=n;p=p+1<<16>>16;if((p&65535)>=(t&65535))break;else k=k+(q<<2)|0}}}k=v+1<<24>>24;if((k&255)>=(d[x>>0]|0))break;else{v=k;s=k&255}}}k=C+1<<24>>24;if((k&255)<(d[E>>0]|0)){C=k;y=k&255}else break}oc=O;return}function Kn(a,d,e){a=a|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;v=oc;t=oc=oc+31&-32;oc=oc+4096|0;u=c[a+8>>2]|0;o=b[a>>1]|0;r=o&65535;q=(o&65535)>>>1;s=(o&65535)>>>2;g=(o&65535)>>>3;p=+(o&65535);if(g<<16>>16){g=g&65535;h=s&65535;i=r-h|0;j=i+-1|0;k=h+-1|0;l=q&65535;m=l+-1|0;n=r+-1|0;o=0;do{w=o<<1;A=+f[d+(j-w<<2)>>2]+ +f[d+(w+i<<2)>>2];x=+f[d+(w+h<<2)>>2]-+f[d+(k-w<<2)>>2];z=+f[u+(o<<3)>>2];y=+f[u+(o<<3)+4>>2];f[t+(o<<3)>>2]=(A*z+x*y)*p;f[t+(o<<3)+4>>2]=(x*z-A*y)*p;y=+f[d+(m-w<<2)>>2]-+f[d+(w<<2)>>2];A=+f[d+(w+l<<2)>>2]+ +f[d+(n-w<<2)>>2];w=o+g|0;z=+f[u+(w<<3)>>2];x=+f[u+(w<<3)+4>>2];f[t+(w<<3)>>2]=(y*z+A*x)*p;f[t+(w<<3)+4>>2]=(A*z-y*x)*p;o=o+1|0}while(o>>>0<g>>>0)}Ol(c[a+4>>2]|0,t);if(!(s<<16>>16)){oc=v;return}j=q&65535;k=j+-1|0;i=r+-1|0;g=s&65535;h=0;do{w=h<<1;y=+f[t+(h<<3)>>2];p=+f[t+(h<<3)+4>>2];x=+f[u+(h<<3)>>2];z=+f[u+(h<<3)+4>>2];A=y*x+p*z;z=p*x-y*z;f[e+(w<<2)>>2]=-A;f[e+(k-w<<2)>>2]=z;f[e+(w+j<<2)>>2]=-z;f[e+(i-w<<2)>>2]=A;h=h+1|0}while(h>>>0<g>>>0);oc=v;return}function Ln(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=b+8|0;h=b+4|0;i=b+20|0;e=0;while(1){f=e&65535;if(!(a[141008+(f<<1)+1>>0]|0))break;e=c[g>>2]|0;if(!e){e=(c[h>>2]|0)>>>31;if(!(a[i>>0]|0))Jl(b,1)}else{e=e+-1|0;c[g>>2]=e;e=(c[b>>2]|0)>>>e&1}e=f+(d[141008+(f<<1)+e>>0]|0)|0;if((e&65535)>>>0>=241){e=-1;j=9;break}}if((j|0)==9)return e|0;j=a[141008+(f<<1)>>0]|0;return j|0}function Mn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=e+8|0;f=c[l>>2]|0;do if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[e+20>>0]|0)){Jl(e,1);g=c[l>>2]|0;h=6;break}else{a[d+10443>>0]=f;f=0;h=8;break}}else{g=f+-1|0;c[l>>2]=g;f=(c[e>>2]|0)>>>g&1;h=6}while(0);if((h|0)==6){a[d+10443>>0]=f;if(g>>>0<8){f=g;h=8}else{i=c[e>>2]<<32-g>>>24;f=g}}if((h|0)==8){i=8-f|0;i=(c[e>>2]&(1<<f)+-1)<<i|(c[e+4>>2]|0)>>>(32-i|0)}k=e+20|0;do if(!(a[k>>0]|0))if(f>>>0>8){f=f+-8|0;c[l>>2]=f;break}else{Jl(e,8);f=c[l>>2]|0;break}while(0);a[d+10444>>0]=i;g=(a[d+4>>0]|0)==2?11:9;if(f>>>0<g>>>0){h=g-f|0;h=(c[e>>2]&(1<<f)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-f>>>(32-g|0);do if(!(a[k>>0]|0))if(f>>>0>g>>>0){c[l>>2]=f-g;break}else{Jl(e,g);break}while(0);f=h&65535;i=d+10446|0;b[i>>1]=f;j=d+9037|0;if(a[j>>0]|0){g=c[l>>2]|0;if(g>>>0<9){h=9-g|0;h=(c[e>>2]&(1<<g)+-1)<<h|(c[e+4>>2]|0)>>>(32-h|0)}else h=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{Jl(e,9);f=b[i>>1]|0;break}while(0);b[d+10448>>1]=h;b[i>>1]=(f&65535)+65527}f=c[l>>2]|0;if(!f){f=(c[e+4>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(e,1)}else{f=f+-1|0;c[l>>2]=f;f=(c[e>>2]|0)>>>f&1}i=f&255;a[d+10450>>0]=i;if(i<<24>>24){g=c[l>>2]|0;if(g>>>0<8){f=8-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>24;do if(!(a[k>>0]|0))if(g>>>0>8){c[l>>2]=g+-8;break}else{Jl(e,8);break}while(0);a[d+10451>>0]=f}if(!(a[j>>0]|0))return 0;g=c[l>>2]|0;if(g>>>0<9){f=9-g|0;f=(c[e>>2]&(1<<g)+-1)<<f|(c[e+4>>2]|0)>>>(32-f|0)}else f=c[e>>2]<<32-g>>>23;do if(!(a[k>>0]|0))if(g>>>0>9){c[l>>2]=g+-9;break}else{Jl(e,9);break}while(0);b[d+10452>>1]=f;return 0}function Nn(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;B=(a[b+4>>0]|0)==2;z=B?1:2;A=B?4:6;B=B?3:5;x=b+3|0;if(!(a[x>>0]|0))return;y=f+8|0;s=f+4|0;t=f+20|0;u=32-B|0;v=32-A|0;w=32-z|0;r=0;q=0;while(1){g=c[y>>2]|0;if(g>>>0<z>>>0){b=z-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>w;do if(!(a[t>>0]|0))if(g>>>0>z>>>0){c[y>>2]=g-z;break}else{Jl(f,z);break}while(0);o=b&255;p=e+q|0;a[p>>0]=o;if(o<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}b=b&255;a[e+8+q>>0]=b;if(a[p>>0]|0){o=b<<24>>24==0?3:4;n=0;m=0;while(1){g=c[y>>2]|0;if(g>>>0<A>>>0){b=A-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>v;do if(!(a[t>>0]|0))if(g>>>0>A>>>0){c[y>>2]=g-A;break}else{Jl(f,A);break}while(0);a[e+16+(q<<2)+m>>0]=b;g=c[y>>2]|0;if(g>>>0<B>>>0){b=B-g|0;b=(c[f>>2]&(1<<g)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-g>>>u;do if(!(a[t>>0]|0))if(g>>>0>B>>>0){c[y>>2]=g-B;break}else{Jl(f,B);break}while(0);k=b&255;l=e+48+(q<<2)+m|0;a[l>>0]=k;a:do if(k<<24>>24){b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+80+(q<<2)+m>>0]=b;b=c[y>>2]|0;if(!b){b=(c[s>>2]|0)>>>31;if(!(a[t>>0]|0))Jl(f,1)}else{b=b+-1|0;c[y>>2]=b;b=(c[f>>2]|0)>>>b&1}a[e+112+(q<<2)+m>>0]=b;g=a[l>>0]|0;if(g<<24>>24){j=o-b&255;k=32-j|0;if(!j){b=0;while(1){a[(b&255)+(e+144+(q<<7)+(m<<5))>>0]=0;b=b+1<<24>>24;if((b&255)>=(g&255))break a}}else g=0;do{h=g&255;i=c[y>>2]|0;if(i>>>0<j>>>0){b=j-i|0;b=(c[f>>2]&(1<<i)+-1)<<b|(c[s>>2]|0)>>>(32-b|0)}else b=c[f>>2]<<32-i>>>k;do if(!(a[t>>0]|0))if(i>>>0>j>>>0){c[y>>2]=i-j;break}else{Jl(f,j);break}while(0);a[e+144+(q<<7)+(m<<5)+h>>0]=b;g=g+1<<24>>24}while((g&255)<(d[l>>0]|0))}}while(0);b=n+1<<24>>24;if((b&255)<(d[p>>0]|0)){n=b;m=b&255}else break}}}b=r+1<<24>>24;if((b&255)<(d[x>>0]|0)){r=b;q=b&255}else break}return}function On(c,f){c=c|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=oc;w=oc=oc+31&-32;oc=oc+80|0;v=w+36|0;x=c+10446|0;g=b[x>>1]|0;if(!(g<<16>>16))t=0;else{t=Ll(f,g&65535)|0;Fl(v,t,((e[x>>1]|0)+7|0)>>>3)}u=c+10450|0;if(!(a[u>>0]|0))s=0;else{r=c+10451|0;s=Ll(f,d[r>>0]|0)|0;Fl(w,s,((d[r>>0]|0)+7|0)>>>3)}g=a[c+7810>>0]|0;q=c+2|0;f=a[q>>0]|0;a:do if(!(f<<24>>24))g=0;else{r=c+10448|0;m=(g&255)+65190&65535;j=0;k=g&255;l=1;i=0;h=0;o=0;g=a[c>>0]|0;p=0;while(1){if(!(g<<24>>24))g=0;else{n=0;g=i;f=h;h=m;m=0;while(1){if(!(g<<24>>24)){switch(a[c+6842+(p*120|0)+m>>0]|0){case 0:{g=0;break}case 14:case 15:{f=Yn(v,w)|0;g=(f<<24>>24)+(j&65535)&65535;j=g;break}case 13:{if(!(l<<24>>24)){f=Yn(v,w)|0;g=(f<<24>>24)+(h&65535)|0}else g=(b[r>>1]|0)+(h<<16>>16)|0;g=g&65535;h=g;l=0;break}default:{f=Yn(v,w)|0;k=(f<<24>>24)+(k&65535)|0;g=k&65535;if(!(k&32768))k=g;else{g=4;break a}}}b[c+7812+(p*102|0)+(m<<1)>>1]=g;i=f<<24>>24==99&1}else{b[c+7812+(p*102|0)+(m<<1)>>1]=0;i=g}n=n+1<<24>>24;m=n<<24>>24;g=a[c>>0]|0;if((m|0)>=(g&255|0))break;else g=i}m=h;h=f;f=a[q>>0]|0}o=o+1<<24>>24;p=o<<24>>24;if((p|0)>=(f&255|0)){g=0;break}}}while(0);if(s|0)Yl(s);if(t|0)Yl(t);if(!(a[u>>0]|0)){oc=y;return g|0}oc=y;return g|0}function Pn(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=oc;pa=oc=oc+31&-32;oc=oc+14352|0;ta=pa+6144|0;xa=pa;pa=pa+14336|0;j=(e[f+10>>1]|0)>>>3;la=b[g+10440>>1]|0;ma=la&65535;if(!(la<<16>>16)){xa=0;oc=ya;return xa|0}na=g+10442|0;oa=a[na>>0]|0;if(oa<<24>>24==0|ma>>>0<(oa&255)>>>0){xa=10;oc=ya;return xa|0}b[pa>>1]=0;oa=g+2|0;n=a[oa>>0]|0;if((n&255)>1){k=j&65535;l=n&255;j=1;m=1;do{ka=m+-1|0;b[pa+(m<<1)>>1]=(z(d[g+5+ka>>0]|0,k)|0)+(e[pa+(ka<<1)>>1]|0);j=j+1<<16>>16;m=j&65535}while(m>>>0<l>>>0)}da=(a[f+6>>0]|0)==0;ba=da?6:22;da=da?140948:140954;ea=g+2040|0;fa=h+8|0;ga=h+4|0;ha=h+20|0;ia=ta+2|0;ja=ta+1|0;ka=ta+12|0;m=0;o=0;f=0;ca=0;k=0;j=n;l=0;while(1){_=a[da+l>>0]|0;if(!(a[g>>0]|0))C=o;else{$=(_&255)<11;aa=(_&255)+1|0;Z=0;W=0;while(1){V=W+1|0;X=g+1936+(V<<1)|0;T=b[X>>1]|0;U=b[ea>>1]|0;Y=g+1936+(W<<1)|0;if((((T&65535)<(U&65535)?T:U)&65535)>(e[Y>>1]|0)){U=0;T=0;do{if(!(j<<24>>24))j=0;else{S=0;R=0;do{M=g+7802+R|0;j=a[M>>0]|0;if(j<<24>>24){N=g+16+(R*240|0)+(V<<1)|0;O=g+16+(R*240|0)+(W<<1)|0;P=g+5+R|0;Q=pa+(R<<1)|0;L=0;l=0;do{do if((W>>>0>=(e[g+3002+(R*240|0)+(l<<1)>>1]|0)>>>0?W>>>0<(e[g+4922+(R*240|0)+(l<<1)>>1]|0)>>>0:0)?(qa=a[g+2042+(R*120|0)+l>>0]|0,ra=qa&255,(qa+-1&255)<11|(qa&-16)<<24>>24==16):0){if(!(qa<<24>>24==_<<24>>24|$&(aa|0)==(ra|0)))break;K=(qa&255)<5;J=K?4:2;K=d[P>>0]<<2>>>(K?2:1);H=a[140976+ra>>0]|0;G=a[na>>0]|0;G=(H&255)<(G&255)?H:G;H=G&255;I=z(K,T)|0;if((K|0)<=0)break;y=(e[N>>1]|0)-(e[O>>1]|0)&65535;A=(G&255)>32;B=H+-32|0;C=(B|0)==0;D=64-H|0;E=G<<24>>24==0;F=32-H|0;x=0;j=0;do{j=j+I|0;if(j>>>0>=y>>>0)break;n=(z(j,J)|0)+(e[Q>>1]|0)+(e[O>>1]|0)|0;w=n&65535;do if(!(m<<16>>16)){j=k&65535;p=j+H|0;if(p>>>0<=ma>>>0){l=o&65535;m=xa+(l*12|0)|0;a[xa+(l*12|0)+8>>0]=G;if(A){do if(!C){k=c[fa>>2]|0;if(k>>>0<B>>>0){j=B-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>D;if(a[ha>>0]|0){sa=31;break}if(k>>>0>B>>>0){k=k-B|0;c[fa>>2]=k;break}else{Jl(h,B);sa=31;break}}else{j=0;sa=31}while(0);if((sa|0)==31){sa=0;k=c[fa>>2]|0}c[xa+(l*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{Jl(h,32);break}while(0);c[m>>2]=j}else{do if(!E){k=c[fa>>2]|0;if(k>>>0<H>>>0){j=H-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>F;if(a[ha>>0]|0)break;if(k>>>0>H>>>0){c[fa>>2]=k-H;break}else{Jl(h,H);break}}else j=0;while(0);c[m>>2]=j;c[xa+(l*12|0)+4>>2]=0}Wn(qa,m,i+((n&65535)<<1)|0)|0;Xn(m);m=0;o=o+1<<16>>16;k=p&65535;break}if((la&65535)>(k&65535)){v=ma-j|0;t=v&255;p=o&65535;u=xa+(p*12|0)|0;n=xa+(p*12|0)+8|0;a[n>>0]=t;m=v&255;if((t&255)>32){k=m+-32|0;do if(k){l=c[fa>>2]|0;if(l>>>0<k>>>0){j=k-l|0;j=(c[h>>2]&(1<<l)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-l>>>(64-m|0);if(a[ha>>0]|0){sa=60;break}if(l>>>0>k>>>0){k=l-k|0;c[fa>>2]=k;break}else{Jl(h,k);sa=60;break}}else{j=0;sa=60}while(0);if((sa|0)==60){sa=0;k=c[fa>>2]|0}c[xa+(p*12|0)+4>>2]=j;if(k>>>0<32)j=(c[h>>2]&(1<<k)+-1)<<32-k|(c[ga>>2]|0)>>>k;else j=c[h>>2]<<32-k;do if(!(a[ha>>0]|0))if(k>>>0>32){c[fa>>2]=k+-32;break}else{Jl(h,32);break}while(0);c[u>>2]=j}else{do if(m){k=c[fa>>2]|0;if(k>>>0<m>>>0){j=m-k|0;j=(c[h>>2]&(1<<k)+-1)<<j|(c[ga>>2]|0)>>>(32-j|0)}else j=c[h>>2]<<32-k>>>(32-m|0);if(a[ha>>0]|0)break;if(k>>>0>m>>>0){c[fa>>2]=k-m;break}else{Jl(h,m);break}}else j=0;while(0);c[u>>2]=j;c[xa+(p*12|0)+4>>2]=0}s=p+-1|0;k=xa+(s*12|0)|0;t=xa+(s*12|0)+8|0;a[n>>0]=(d[n>>0]|0)+(d[t>>0]|0);Xn(u);r=a[t>>0]|0;if(r<<24>>24>32){j=r&255;p=c[xa+(p*12|0)+4>>2]|0;l=r+-32&255;q=r<<24>>24;do if((j+224&255)<<24>>24){m=q-l|0;n=c[xa+(s*12|0)+4>>2]|0;if((m|0)<32){l=(c[k>>2]|0)>>>m|(n&-1>>>(64-q|0))<<l+32-q;break}else{l=n>>>(m+-32|0)&-1>>>(32-l|0);break}}else l=0;while(0);l=l+p|0;c[xa+(s*12|0)+4>>2]=l;if(r<<24>>24<64){s=64-q|0;l=(c[k>>2]|0)>>>(q+-32|0)|(l&-1>>>s)<<s}else l=l>>>(q+-64|0);c[k>>2]=l+(c[u>>2]|0)}else{n=c[u>>2]|0;j=r&255;do if(r<<24>>24){l=r<<24>>24;m=c[k>>2]|0;if((l|0)<(j|0)){l=m<<j-l&-1>>>(32-j|0);break}else{l=m>>>(l-j|0)&-1>>>(32-j|0);break}}else l=0;while(0);c[k>>2]=l+n;c[xa+(s*12|0)+4>>2]=c[xa+(p*12|0)+4>>2]}a[t>>0]=v+j}b[ia>>1]=w;a[ta>>0]=qa;a[ja>>0]=0;a[ka>>0]=0;m=1;k=la}else{v=(f&65535)-(o&65535)&65535;b[ta+(v<<4)+2>>1]=w;a[ta+(v<<4)>>0]=qa;a[ta+(v<<4)+1>>0]=0;a[ta+(v<<4)+12>>0]=0}while(0);f=f+1<<16>>16;x=x+1<<16>>16;j=x&65535}while((K|0)>(j|0));j=a[M>>0]|0}while(0);L=L+1<<16>>16;l=L&65535}while(l>>>0<(j&255)>>>0)}S=S+1<<16>>16;R=S&65535;j=a[oa>>0]|0}while(R>>>0<(j&255)>>>0)}U=U+1<<24>>24;T=U&255;R=b[X>>1]|0;S=b[ea>>1]|0}while((T<<2|0)<((((R&65535)<(S&65535)?R:S)&65535)-(e[Y>>1]|0)|0))}l=Z+1<<24>>24;if((l&255)<(d[g>>0]|0)){Z=l;W=l&255}else{C=o;break}}}ca=ca+1<<16>>16;l=ca&65535;if(ba>>>0<=l>>>0)break;else o=C}A=C&65535;if(!(C<<16>>16)){xa=10;oc=ya;return xa|0}B=(f&65535)/(C&65535)|0;if((C&65535)>(f&65535)){xa=0;oc=ya;return xa|0}y=(f&65535)-A|0;x=1;j=1;while(1){v=(z(j,A)|0)-A|0;w=0;do{u=0;j=0;while(1){o=((j+w|0)>>>0)%(A>>>0)|0;q=v+j&65535;if((q|0)>=(y|0))break;r=ta+(q<<4)+1|0;do if((a[r>>0]|0)==0?(ua=xa+(o*12|0)|0,va=xa+(o*12|0)+8|0,wa=a[va>>0]|0,wa<<24>>24>0):0){s=ta+(q<<4)+4|0;t=ta+(q<<4)+12|0;p=a[t>>0]|0;if(!(p<<24>>24))j=wa;else{j=c[s>>2]|0;l=wa<<24>>24;k=c[ua>>2]|0;if(wa<<24>>24>32){sa=xa+(o*12|0)+4|0;f=l+-32|0;n=j<<f;m=0;f=c[sa>>2]&(1<<f)+-1;j=sa}else{n=c[ta+(q<<4)+8>>2]<<l|j>>>(32-l|0);m=j<<l;f=0;k=(1<<l)+-1&k;j=xa+(o*12|0)+4|0}c[ua>>2]=m|k;c[j>>2]=n|f;j=(wa&255)+(p&255)&255;a[va>>0]=j}if((Wn(a[ta+(q<<4)>>0]|0,ua,i+(e[ta+(q<<4)+2>>1]<<1)|0)|0)<<24>>24>-1){a[r>>0]=1;break}else{c[s>>2]=c[ua>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];a[t>>0]=j;break}}while(0);j=u+1<<16>>16;if((j&65535)<(C&65535)){u=j;j=j&65535}else break}w=w+1|0}while((w|0)!=(A|0));j=0;do{Xn(xa+(j*12|0)|0);j=j+1|0}while((j|0)!=(A|0));j=x+1<<16>>16;if((j&65535)>(B&65535)){j=0;break}else{x=j;j=j&65535}}oc=ya;return j|0}function Qn(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;do switch(d<<24>>24){case 2:case 1:{f=Sn(d,f,g)|0;return f|0}case 3:{j=f+8|0;k=f+4|0;l=f+20|0;h=0;do{d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}h=h+(a[140143+(h*5|0)+1+d>>0]|0)&65535}while(!(a[140143+(h*5|0)>>0]|0));if((h|0)>161){i=10;d=b[g>>1]|0}else{d=a[140143+(h*5|0)+1>>0]|0;b[g>>1]=d;b[g+2>>1]=a[140143+(h*5|0)+2>>0]|0;b[g+4>>1]=a[140143+(h*5|0)+3>>0]|0;b[g+6>>1]=a[140143+(h*5|0)+4>>0]|0;i=0}if(d<<16>>16){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=i;return f|0}d=c[j>>2]|0;if(!d){d=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0))Jl(f,1)}else{d=d+-1|0;c[j>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=i;return f|0}b[h>>1]=0-(e[h>>1]|0);f=i;return f|0}case 4:{l=Sn(4,f,g)|0;i=f+8|0;j=f+4|0;k=f+20|0;if(b[g>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+4|0;if(b[h>>1]|0){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[h>>1]=0-(e[h>>1]|0)}h=g+6|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 5:{if(!(a[135719]|0)){j=f+8|0;k=f+4|0;l=f+20|0;h=0;d=135719;do{i=c[j>>2]|0;if(!i){i=(c[k>>2]|0)>>>31;if(!(a[l>>0]|0)){Jl(f,1);d=135719}}else{i=i+-1|0;c[j>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else{h=0;d=135719}if((h|0)>161){f=10;return f|0}b[g>>1]=a[d+(h*3|0)+1>>0]|0;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;f=0;return f|0}case 6:{f=Tn(6,f,g)|0;return f|0}case 9:case 7:{n=d&255;j=12760+(n<<2)|0;d=c[j>>2]|0;if(!(a[d>>0]|0)){k=f+8|0;l=f+4|0;m=f+20|0;h=0;do{i=c[k>>2]|0;if(!i){i=(c[l>>2]|0)>>>31;if(!(a[m>>0]|0)){Jl(f,1);d=c[j>>2]|0}}else{i=i+-1|0;c[k>>2]=i;i=(c[f>>2]|0)>>>i&1}h=h+(a[d+(h*3|0)+1+i>>0]|0)&65535}while((a[d+(h*3|0)>>0]|0)==0)}else h=0;if((h|0)>(c[12904+(n<<2)>>2]|0)){l=10;d=b[g>>1]|0}else{n=a[d+(h*3|0)+1>>0]|0;b[g>>1]=n;b[g+2>>1]=a[d+(h*3|0)+2>>0]|0;l=0;d=n}i=f+8|0;j=f+4|0;k=f+20|0;if(d<<16>>16){d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}h=g+2|0;if(!(b[h>>1]|0)){f=l;return f|0}d=c[i>>2]|0;if(!d){d=(c[j>>2]|0)>>>31;if(!(a[k>>0]|0))Jl(f,1)}else{d=d+-1|0;c[i>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d){f=l;return f|0}b[h>>1]=0-(e[h>>1]|0);f=l;return f|0}case 10:case 8:{f=Un(d,f,g)|0;return f|0}case 12:{f=Tn(11,f,g)|0;b[g>>1]=250;b[g+2>>1]=-21216;return f|0}case 11:{n=Un(11,f,g)|0;b[g>>1]=Vn(f,b[g>>1]|0)|0;g=g+2|0;b[g>>1]=Vn(f,b[g>>1]|0)|0;f=n;return f|0}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{i=Un(11,f,g)|0;b[g>>1]=Vn(f,b[g>>1]|0)|0;j=g+2|0;h=Vn(f,b[j>>1]|0)|0;b[j>>1]=h;if((d&-16)<<24>>24!=16){f=i;return f|0}n=b[g>>1]|0;f=n<<16>>16;d=e[113924+((d&255)+-16<<1)>>1]|0;if(((n<<16>>16>-1?f:0-f|0)|0)<=(d|0)?(f=h<<16>>16,((h<<16>>16>-1?f:0-f|0)|0)<=(d|0)):0){f=i;return f|0}b[g>>1]=0;b[j>>1]=0;f=i;return f|0}default:{f=11;return f|0}}while(0);return 0}function Rn(a,c,e){a=a|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b[a+1936+((d[a+9044>>0]|0)<<1)>>1]|0;h=b[a+2040>>1]|0;j=a+9043|0;i=e&65535;e=(f&65535)<(h&65535)?f:h;h=0;f=0;while(1){g=(d[a+9045+f>>0]|0)+(e&65535)|0;e=g&65535;if(e>>>0>=i>>>0){e=15;f=4;break}e=c+(e<<1)|0;k=b[e>>1]|0;f=d[a+9049+f>>0]|0;b[e>>1]=(k<<16>>16>0?f:0-f|0)+(k&65535);f=h+1<<24>>24;if((f&255)>(d[j>>0]|0)){e=0;f=4;break}else{e=g&65535;h=f;f=f&255}}if((f|0)==4)return e|0;return 0}function Sn(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=137594+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[12616+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[12664+(n<<2)>>2]|0)+(e*5|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Jl(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{Jl(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[12664+(n<<2)>>2]|0)+((e&65535)*5|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Jl(f,h);break}}while(0);e=e&65535;if((c[12808+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[12664+(n<<2)>>2]|0;b[g>>1]=a[n+(e*5|0)+1>>0]|0;b[g+2>>1]=a[n+(e*5|0)+2>>0]|0;b[g+4>>1]=a[n+(e*5|0)+3>>0]|0;b[g+6>>1]=a[n+(e*5|0)+4>>0]|0;g=0;return g|0}function Tn(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=e&255;l=137594+n|0;h=d[l>>0]|0;m=f+8|0;i=c[m>>2]|0;if(i>>>0<h>>>0){e=h-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-h|0);k=c[12616+(n<<2)>>2]|0;j=a[k+(e<<1)>>0]|0;e=a[k+(e<<1)+1>>0]|0;do if(!(e<<24>>24)){e=j&255;h=d[(c[12712+(n<<2)>>2]|0)+(e*3|0)>>0]|0;if(!(a[f+20>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Jl(f,h);break}}else{k=f+20|0;do if(!(a[k>>0]|0))if(i>>>0>h>>>0){i=i-h|0;c[m>>2]=i;break}else{Jl(f,h);i=c[m>>2]|0;break}while(0);e=e&255;if(i>>>0<e>>>0){e=e-i|0;e=(c[f>>2]&(1<<i)+-1)<<e|(c[f+4>>2]|0)>>>(32-e|0)}else e=c[f>>2]<<32-i>>>(32-e|0);e=e+(j&255)|0;h=(d[(c[12712+(n<<2)>>2]|0)+((e&65535)*3|0)>>0]|0)-(d[l>>0]|0)|0;if(!(a[k>>0]|0))if(i>>>0>h>>>0){c[m>>2]=i-h;break}else{Jl(f,h);break}}while(0);e=e&65535;if((c[12856+(n<<2)>>2]|0)<(e|0)){g=10;return g|0}n=c[12712+(n<<2)>>2]|0;b[g>>1]=a[n+(e*3|0)+1>>0]|0;b[g+2>>1]=a[n+(e*3|0)+2>>0]|0;g=0;return g|0}function Un(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=Tn(d,f,g)|0;h=f+8|0;i=f+4|0;j=f+20|0;if(b[g>>1]|0){d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))Jl(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(d|0)b[g>>1]=0-(e[g>>1]|0)}g=g+2|0;if(!(b[g>>1]|0))return k|0;d=c[h>>2]|0;if(!d){d=(c[i>>2]|0)>>>31;if(!(a[j>>0]|0))Jl(f,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[f>>2]|0)>>>d&1}if(!d)return k|0;b[g>>1]=0-(e[g>>1]|0);return k|0}function Vn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d<<16>>16<0)if(d<<16>>16==-16)j=1;else{b=d;return b|0}else if(d<<16>>16==16)j=0;else{b=d;return b|0}h=b+8|0;g=b+4|0;i=b+20|0;e=4;while(1){d=c[h>>2]|0;if(!d){d=(c[g>>2]|0)>>>31;if(!(a[i>>0]|0))Jl(b,1)}else{d=d+-1|0;c[h>>2]=d;d=(c[b>>2]|0)>>>d&1}if(!d)break;else e=e+1<<24>>24}f=e&255;do if(e<<24>>24){e=c[h>>2]|0;if(e>>>0<f>>>0){d=f-e|0;d=(c[b>>2]&(1<<e)+-1)<<d|(c[g>>2]|0)>>>(32-d|0)}else d=c[b>>2]<<32-e>>>(32-f|0);if(!(a[i>>0]|0))if(e>>>0>f>>>0){c[h>>2]=e-f;break}else{Jl(b,f);break}}else d=0;while(0);b=d&65535|1<<f;b=(j<<24>>24==0?b:0-b|0)&65535;return b|0}function Wn(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f&255;a:do switch(f<<24>>24){case 4:case 2:case 1:{p=137594+q|0;r=a[p>>0]|0;l=r&255;do if(r<<24>>24){r=a[g+8>>0]|0;k=r<<24>>24;if(r<<24>>24<33){i=c[g>>2]|0;if((k|0)<(l|0)){i=i<<l-k&-1>>>(32-l|0);break}else{i=i>>>(k-l|0)&-1>>>(32-l|0);break}}else{i=k-l|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-k|0))<<l+32-k;break}else{i=j>>>(i+-32|0)&-1>>>(32-l|0);break}}}else i=0;while(0);r=c[12616+(q<<2)>>2]|0;n=a[r+(i<<1)>>0]|0;i=a[r+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=n&255;i=12664+(q<<2)|0;q=g+8|0;p=(d[q>>0]|0)-(d[(c[i>>2]|0)+(j*5|0)>>0]|0)|0;r=(p&128|0)==0;a[q>>0]=r?p&255:0;if(!r){h=-1;return h|0}}else{o=g+8|0;m=(d[o>>0]|0)-l|0;r=(m&128|0)==0;m=r?m&255:0;a[o>>0]=m;if(!r){h=-1;return h|0}k=i&255;l=m<<24>>24;do if(m<<24>>24<33){i=c[g>>2]|0;if((l|0)<(k|0)){i=i<<k-l&-1>>>(32-k|0);break}else{i=i>>>(l-k|0)&-1>>>(32-k|0);break}}else{i=l-k|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-l|0))<<k+32-l;break}else{i=j>>>(i+-32|0)&-1>>>(32-k|0);break}}while(0);j=i+(n&255)|0;i=12664+(q<<2)|0;q=(m&255)-((d[(c[i>>2]|0)+((j&65535)*5|0)>>0]|0)-(d[p>>0]|0)&255)|0;r=(q&128|0)==0;a[o>>0]=r?q&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*5|0)+1>>0]|0;b[h+2>>1]=a[r+(i*5|0)+2>>0]|0;b[h+4>>1]=a[r+(i*5|0)+3>>0]|0;k=f;l=0;i=r+(i*5|0)+4|0;j=3;r=61;break}case 31:case 30:case 29:case 28:case 27:case 26:case 25:case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:case 11:case 10:case 8:case 6:{k=(f&255)>15;l=k?f:0;k=k?11:f;f=k&255;r=137594+f|0;q=a[r>>0]|0;n=q&255;do if(q<<24>>24){q=a[g+8>>0]|0;m=q<<24>>24;if(q<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);q=c[12616+(f<<2)>>2]|0;p=a[q+(i<<1)>>0]|0;i=a[q+(i<<1)+1>>0]|0;if(!(i<<24>>24)){j=p&255;i=12712+(f<<2)|0;f=g+8|0;q=(d[f>>0]|0)-(d[(c[i>>2]|0)+(j*3|0)>>0]|0)|0;r=(q&128|0)==0;a[f>>0]=r?q&255:0;if(!r){h=-1;return h|0}}else{q=g+8|0;o=(d[q>>0]|0)-n|0;n=(o&128|0)==0;o=n?o&255:0;a[q>>0]=o;if(!n){h=-1;return h|0}m=i&255;n=o<<24>>24;do if(o<<24>>24<33){i=c[g>>2]|0;if((n|0)<(m|0)){i=i<<m-n&-1>>>(32-m|0);break}else{i=i>>>(n-m|0)&-1>>>(32-m|0);break}}else{i=n-m|0;j=c[g+4>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-n|0))<<m+32-n;break}else{i=j>>>(i+-32|0)&-1>>>(32-m|0);break}}while(0);j=i+(p&255)|0;i=12712+(f<<2)|0;f=(o&255)-((d[(c[i>>2]|0)+((j&65535)*3|0)>>0]|0)-(d[r>>0]|0)&255)|0;r=(f&128|0)==0;a[q>>0]=r?f&255:0;if(!r){h=-1;return h|0}}r=c[i>>2]|0;i=j&65535;b[h>>1]=a[r+(i*3|0)+1>>0]|0;i=r+(i*3|0)+2|0;j=1;r=61;break}case 3:{k=g+8|0;m=g+4|0;l=a[k>>0]|0;n=0;while(1){i=l<<24>>24;do if(l<<24>>24<33){j=c[g>>2]|0;if(l<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[m>>2]|0)>>>(i+-33|0);while(0);r=l+-1<<24>>24<<24>>24>-1;l=(l&255)+255&255;a[k>>0]=r?l:0;if(!r){i=-1;r=100;break}n=n+(a[(i&1)+(140143+(n*5|0)+1)>>0]|0)&65535;if(a[140143+(n*5|0)>>0]|0){r=52;break}}if((r|0)==52){b[h>>1]=a[140143+(n*5|0)+1>>0]|0;b[h+2>>1]=a[140143+(n*5|0)+2>>0]|0;b[h+4>>1]=a[140143+(n*5|0)+3>>0]|0;k=3;l=0;i=140143+(n*5|0)+4|0;j=3;r=61;break a}else if((r|0)==100)return i|0;break}case 9:case 7:case 5:{o=12760+(q<<2)|0;i=c[o>>2]|0;b:do if(!(a[i>>0]|0)){l=g+8|0;n=g+4|0;m=a[l>>0]|0;j=0;while(1){i=m<<24>>24;do if(m<<24>>24<33){k=c[g>>2]|0;if(m<<24>>24<1){k=k<<1-i;break}else{k=k>>>(i+-1|0);break}}else k=(c[n>>2]|0)>>>(i+-33|0);while(0);r=m+-1<<24>>24<<24>>24>-1;m=(m&255)+255&255;a[l>>0]=r?m:0;if(!r){i=-1;break}i=c[o>>2]|0;j=j+(a[(k&1)+(i+(j*3|0)+1)>>0]|0)&65535;if(a[i+(j*3|0)>>0]|0)break b}return i|0}else j=0;while(0);b[h>>1]=a[i+(j*3|0)+1>>0]|0;k=f;l=0;i=i+(j*3|0)+2|0;j=1;r=61;break}default:{k=f;l=0}}while(0);if((r|0)==61)b[h+(j<<1)>>1]=a[i>>0]|0;c:do if(a[137606+(k&255)>>0]|0){q=(k&255)<5?4:2;p=g+8|0;f=g+4|0;o=0;i=0;while(1){n=h+(i<<1)|0;if(b[n>>1]|0){m=a[p>>0]|0;i=m<<24>>24;do if(m<<24>>24<33){j=c[g>>2]|0;if(m<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[f>>2]|0)>>>(i+-33|0);while(0);j=m+-1<<24>>24<<24>>24>-1;a[p>>0]=j?(m&255)+255&255:0;if(!j){i=-1;break}if(i&1|0)b[n>>1]=0-(e[n>>1]|0)}o=o+1<<24>>24;i=o&255;if(q>>>0<=i>>>0)break c}return i|0}while(0);f=g+8|0;do if(k<<24>>24==11|(k&255)>15){q=g+4|0;o=b[h>>1]|0;d:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;e:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);p=k+-1<<24>>24<<24>>24>-1;k=p?(k&255)+255&255:0;i=p?((i&1|0)==0?13:0):1;switch(i&15){case 13:break e;case 0:break;default:{r=94;break e}}m=m+1<<24>>24}if((r|0)==94){a[f>>0]=k;if(!i)break d;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{i=m-n|0;j=c[q>>2]|0;if((i|0)<32){i=(c[g>>2]|0)>>>i|(j&-1>>>(64-m|0))<<n+32-m;break}else{i=j>>>(i+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);m=(k&255)-n|0;p=(m&128|0)==0;a[f>>0]=p?m&255:0;i=i+(1<<n)|0;if(p){b[h>>1]=o<<16>>16<0?0-i|0:i;break d}else{h=-1;return h|0}}default:{}}while(0);p=h+2|0;o=b[p>>1]|0;f:do switch(o<<16>>16){case -16:case 16:{k=a[f>>0]|0;m=4;g:while(1){i=k<<24>>24;do if(k<<24>>24<33){j=c[g>>2]|0;if(k<<24>>24<1){i=j<<1-i;break}else{i=j>>>(i+-1|0);break}}else i=(c[q>>2]|0)>>>(i+-33|0);while(0);n=k+-1<<24>>24<<24>>24>-1;k=n?(k&255)+255&255:0;i=n?((i&1|0)==0?13:0):1;switch(i&15){case 13:break g;case 0:break;default:{r=119;break g}}m=m+1<<24>>24}if((r|0)==119){a[f>>0]=k;if(!i)break f;else i=-1;return i|0}a[f>>0]=k;n=m&255;do if(m<<24>>24){m=k<<24>>24;if(k<<24>>24<33){i=c[g>>2]|0;if((m|0)<(n|0)){i=i<<n-m&-1>>>(32-n|0);break}else{i=i>>>(m-n|0)&-1>>>(32-n|0);break}}else{j=m-n|0;i=c[q>>2]|0;if((j|0)<32){i=(c[g>>2]|0)>>>j|(i&-1>>>(64-m|0))<<n+32-m;break}else{i=i>>>(j+-32|0)&-1>>>(32-n|0);break}}}else i=0;while(0);r=(k&255)-n|0;g=(r&128|0)==0;a[f>>0]=g?r&255:0;i=i+(1<<n)|0;if(g){b[p>>1]=o<<16>>16<0?0-i|0:i;break f}else{h=-1;return h|0}}default:{}}while(0);if(l<<24>>24!=0&(l&-16)<<24>>24==16){r=b[h>>1]|0;g=r<<16>>16;i=e[113924+((l&255)+-16<<1)>>1]|0;if(((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)?(r=b[p>>1]|0,g=r<<16>>16,((r<<16>>16>-1?g:0-g|0)|0)<=(i|0)):0)break;b[h>>1]=0;b[p>>1]=0}}while(0);h=a[f>>0]|0;return h|0}function Xn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b+8>>0]|0;if(!(d<<24>>24))return;f=b+4|0;e=d&255;if((d&255)<33){c[f>>2]=0;d=c[b>>2]|0;d=d>>>1&1431655765|d<<1&-1431655766;d=d>>>2&858993459|d<<2&-858993460;d=d>>>4&252645135|d<<4&-252645136;d=d>>>8&16711935|d<<8&-16711936;d=(d>>>16|d<<16)>>>(32-e|0)}else{h=c[f>>2]|0;g=c[b>>2]|0;g=g>>>1&1431655765|g<<1&-1431655766;h=h>>>1&1431655765|h<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;h=h>>>2&858993459|h<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;h=h>>>4&252645135|h<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;h=h>>>8&16711935|h<<8&-16711936;g=g>>>16|g<<16;d=64-e|0;c[b>>2]=g<<e+-32|(h>>>16|h<<16)>>>d;d=g>>>d;b=f}c[b>>2]=d;return}function Yn(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=b+8|0;f=c[n>>2]|0;if(!f)e=c[b+4>>2]|0;else e=c[b>>2]<<32-f;m=b+20|0;do if(!(a[m>>0]|0))if(f>>>0>1){c[n>>2]=f+-1;break}else{Jl(b,1);break}while(0);if((e|0)>-1)e=100928;else{l=b+4|0;j=1;k=100928;f=1;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[n>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[b>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[b>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[n>>2]=g-h;break}else{Jl(b,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<10?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;n=e&255;do if(e<<24>>24==7){b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{Jl(d,2);break}while(0);if(!f)e=101120;else{l=d+4|0;j=2;k=101120;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{Jl(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}else{e=(e&255)+n&255;break}}while(0);n=e&255;if(e<<24>>24!=-7){d=e;return d|0}b=d+8|0;e=c[b>>2]|0;if(e>>>0<2){f=2-e|0;f=(c[d>>2]&(1<<e)+-1)<<f|(c[d+4>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-e>>>30;m=d+20|0;do if(!(a[m>>0]|0))if(e>>>0>2){c[b>>2]=e+-2;break}else{Jl(d,2);break}while(0);if(!f)e=101120;else{l=d+4|0;j=2;k=101120;while(1){h=j;j=a[k+9>>0]|0;h=(j&255)-(h&255)&255;e=k+8|0;i=f<<h;do if(h){g=c[b>>2]|0;if(g>>>0<h>>>0){f=h-g|0;f=(c[d>>2]&(1<<g)+-1)<<f|(c[l>>2]|0)>>>(32-f|0)}else f=c[d>>2]<<32-g>>>(32-h|0);if(!(a[m>>0]|0))if(g>>>0>h>>>0){c[b>>2]=g-h;break}else{Jl(d,h);break}}else f=0;while(0);f=f|i;if(!((j&255)<21?(f|0)!=(c[k+12>>2]|0):0))break;else k=e}}e=a[e>>0]|0;if(e<<24>>24==99){d=99;return d|0}d=n-(e&255)&255;return d|0}function Zn(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=a[f+3>>0]|0;switch(a[g+4>>0]|0){case 3:case 1:case 0:{a[g+3>>0]=1;a[g+2>>0]=1;a[g+5>>0]=1;j=(a[f+4>>0]|0)==23;l=f+10|0;h=b[l>>1]|0;do if(j){i=k&255;if(h<<16>>16==512){i=141490+i|0;break}else{i=141502+i|0;break}}else{i=k&255;if(h<<16>>16==1024){i=141514+i|0;break}else{i=141526+i|0;break}}while(0);f=a[i>>0]|0;a[g+1>>0]=f;if((d[g>>0]|0)>(f&255)){g=32;return g|0}if(j){i=f<<24>>24!=0;if(h<<16>>16==512){if(i){j=c[101656+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}}else if(i){j=c[101608+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}}h=f&255;b[g+16+(h<<1)>>1]=b[l>>1]|0}else{if(!(f<<24>>24))i=0;else{j=c[101560+((k&255)<<2)>>2]|0;i=0;h=0;while(1){s=j+(h<<1)|0;b[g+16+(h<<1)>>1]=b[s>>1]|0;b[g+1936+(h<<1)>>1]=b[s>>1]|0;h=i+1<<24>>24;if((h&255)<(f&255)){i=h;h=h&255}else break}i=f;h=b[l>>1]|0}b[g+16+((i&255)<<1)>>1]=h;h=f&255}b[g+1936+(h<<1)>>1]=b[l>>1]|0;b[g+2040>>1]=b[l>>1]|0;g=0;return g|0}case 2:{a[g+3>>0]=8;l=g+2|0;a[l>>0]=1;a[g+5>>0]=1;k=k&255;s=a[141538+k>>0]|0;a[g+1>>0]=s;if((d[g>>0]|0)>(s&255)){g=32;return g|0}j=c[101704+(k<<2)>>2]|0;i=0;h=0;while(1){b[g+1936+(h<<1)>>1]=b[j+(h<<1)>>1]|0;h=i+1<<24>>24;if((h&255)<(s&255)){i=h;h=h&255}else break}r=f+10|0;b[g+1936+((s&255)<<1)>>1]=(e[r>>1]|0)>>>3;b[g+2040>>1]=(e[r>>1]|0)>>>3;j=g+14|0;if(!(a[j>>0]&64)){a[l>>0]=2;a[g+6>>0]=1;i=2}else{i=g+5|0;a[i>>0]=(d[i>>0]|0)+1;i=1}h=i&255;if(!(a[j>>0]&32)){q=h+1&255;a[l>>0]=q;a[(i&255)+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&16)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&8)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&4)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&2)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}h=i&255;if(!(a[j>>0]&1)){q=h+1&255;a[l>>0]=q;a[(i+1&255)+-1+(g+5)>>0]=1;i=q}else{q=h+-1+(g+5)|0;a[q>>0]=(d[q>>0]|0)+1}if(!(i<<24>>24)){g=0;return g|0}p=101704+(k<<2)|0;q=s&255;o=0;j=s;n=0;while(1){if(!(j<<24>>24)){f=0;h=0;j=0}else{m=g+5+n|0;if(j<<24>>24==1){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+2>>1]|0}f=z(h-(e[j>>1]|0)&65535,d[m>>0]|0)|0;b[g+16+(n*240|0)>>1]=0;l=1;f=f&65535;k=1;while(1){h=k+1|0;if((h|0)==(q|0)){h=(e[r>>1]|0)>>>3&65535;j=c[p>>2]|0}else{j=c[p>>2]|0;h=e[j+(h<<1)>>1]|0}k=z(h-(e[j+(k<<1)>>1]|0)&65535,d[m>>0]|0)|0;h=l+1<<24>>24;b[g+16+(n*240|0)+((l&255)<<1)>>1]=f;f=k+(f&65535)&65535;if((h&255)<(s&255)){l=h;k=h&255}else{j=s;break}}}b[g+16+(n*240|0)+((h&255)<<1)>>1]=f;h=o+1<<24>>24;if((h&255)<(i&255)){o=h;n=h&255}else{h=0;break}}return h|0}default:{g=32;return g|0}}return 0}function _n(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=oc;q=oc=oc+31&-32;oc=oc+4096|0;r=f+25|0;m=d[r>>0]|0;p=(a[f+1084+m>>0]|0)==0;j=p?1:2;k=f+26+m|0;l=a[k>>0]|0;if(l<<24>>24){if((j|0)!=(l&255|0)){a[f+74+m>>0]=0;o=4}}else o=4;if((o|0)==4)a[k>>0]=j;if(!(a[f+74+m>>0]|0)){l=f+4|0;j=a[l>>0]|0;n=d[h>>0]|0;if(j<<24>>24==1){j=f+1136+(n<<2)|0;k=c[j>>2]|0;if(k|0){Yl(k);c[j>>2]=0}o=f+10|0;m=Ml((e[o>>1]|0)*12|0)|0;c[j>>2]=m;gn(m,b[o>>1]|0);j=a[l>>0]|0}if((hn(j)|0)<<24>>24){j=f+1392+(n<<2)|0;k=c[j>>2]|0;if(k|0){Yl(k);c[j>>2]=0}o=f+10|0;m=Ml(e[o>>1]<<3)|0;c[j>>2]=m;rD(m|0,0,e[o>>1]<<3|0)|0}k=f+328+(n<<2)|0;j=c[k>>2]|0;if(j|0){Yl(j);c[k>>2]=0}j=(d[r>>0]|0)+(f+843)|0;a[j>>0]=0;if((a[f+840>>0]|0)!=1?(a[f+841>>0]|0)!=1:0)l=4;else{a[j>>0]=1;l=8}m=f+10|0;o=Ml(z(l,e[m>>1]|0)|0)|0;c[k>>2]=o;rD(o|0,0,z(l,e[m>>1]|0)|0)|0;if(!p){j=f+328+(n+1<<2)|0;k=c[j>>2]|0;if(k|0){Yl(k);c[j>>2]=0}p=Ml(z(l,e[m>>1]|0)|0)|0;c[j>>2]=p;rD(p|0,0,z(l,e[m>>1]|0)|0)|0}j=f+584+(n<<2)|0;k=c[j>>2]|0;if(k|0){Yl(k);c[j>>2]=0}p=Ml(e[m>>1]<<2)|0;c[j>>2]=p;rD(p|0,0,e[m>>1]<<2|0)|0;a[(d[r>>0]|0)+(f+74)>>0]=1;p=m}else p=f+10|0;j=jn(g,i,q)|0;if(j<<24>>24){h=j;oc=s;return h|0}l=f+4|0;kn(g,0,q,0,b[p>>1]|0,0,a[l>>0]|0,f+1648|0,f+1652|0);j=a[l>>0]|0;do if(j<<24>>24==1){j=c[f+1136+(d[h>>0]<<2)>>2]|0;if(!j){h=33;oc=s;return h|0}else{nn(g,q,j,b[p>>1]|0,a[f+3>>0]|0);on(g,c[f+1136+(d[h>>0]<<2)>>2]|0);j=a[l>>0]|0;break}}while(0);if(!((hn(j)|0)<<24>>24))n=f+3|0;else{j=a[l>>0]|0;if(j<<24>>24==23){if(a[g+10277>>0]|0?a[g+10280>>0]|0:0)b[f+192+(d[h>>0]<<1)>>1]=b[g+10278>>1]|0;k=a[h>>0]|0;b[g+10278>>1]=b[f+192+((k&255)<<1)>>1]|0}else k=a[h>>0]|0;i=k&255;n=f+3|0;pn(g,g+10276|0,q,c[f+1392+(i<<2)>>2]|0,c[f+320>>2]|0,a[g+13>>0]|0,a[f+128+i>>0]|0,a[n>>0]|0,j,b[p>>1]|0)}qn(g,g+9053|0,a[n>>0]|0,a[l>>0]|0,q,b[p>>1]|0);j=c[f+324>>2]|0;do if(a[j>>0]|0){if(a[(d[h>>0]|0)+(j+56)>>0]|0?a[j+3>>0]|0:0)break;rn(j,q)}while(0);i=g+13|0;o=d[h>>0]|0;sn(c[f+320>>2]|0,a[g+4>>0]|0,a[i>>0]|0,a[f+128+o>>0]|0,q,c[f+328+(o<<2)>>2]|0,c[f+584+(o<<2)>>2]|0,a[l>>0]|0,b[p>>1]|0);a[(d[h>>0]|0)+(f+128)>>0]=a[i>>0]|0;if((hn(a[l>>0]|0)|0)<<24>>24){q=d[h>>0]|0;tn(c[f+1392+(q<<2)>>2]|0,c[f+328+(q<<2)>>2]|0,c[f+584+(q<<2)>>2]|0,b[p>>1]|0,a[l>>0]|0)}j=(a[f+840>>0]|0)==1;if(!j?(a[f+841>>0]|0)!=1:0)o=56;else o=48;do if((o|0)==48){m=d[r>>0]|0;if(!(a[f+843+m>>0]|0))if(j){o=57;break}else{o=56;break}l=d[h>>0]|0;k=f+892+(m<<2)|0;j=c[k>>2]|0;if(!j){g=b[p>>1]|0;q=a[f+2128+m>>0]|0;j=(_l(a[n>>0]|0)|0)<<1;j=Gm(g,q,j,a[f+842>>0]|0)|0;c[k>>2]=j}q=a[h+6>>0]|0;q=b[h+1942+(((q&255)>1?(q&255)+-1|0:0)<<1)>>1]|0;k=b[h+2046>>1]|0;k=((q&65535)<(k&65535)?q:k)&65535;c[j+4>>2]=(a[h+10>>0]|0)==2?k<<3:k;k=c[f+328+(l<<2)>>2]|0;if(!(a[f+1084+m>>0]|0))j=$n(j,k,a[f+12>>0]|0,a[f+842>>0]|0)|0;else j=ao(j,k,c[f+328+(l+1<<2)>>2]|0,a[f+12>>0]|0,a[f+842>>0]|0)|0;if(j<<24>>24){h=j;oc=s;return h|0}}while(0);if((o|0)==56?(a[f+841>>0]|0)==1:0)o=57;if((o|0)==57?(a[(d[r>>0]|0)+(f+843)>>0]|0)==0:0){h=23;oc=s;return h|0}j=d[r>>0]|0;if(a[f+1084+j>>0]|0){h=0;oc=s;return h|0}if((a[f+26+j>>0]|0)!=2){h=0;oc=s;return h|0}r=d[h>>0]|0;h=z(e[p>>1]<<2,a[f+843+j>>0]|0?2:1)|0;pD(c[f+328+(r+1<<2)>>2]|0,c[f+328+(r<<2)>>2]|0,h|0)|0;h=0;oc=s;return h|0}function $n(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;n=oc;k=oc=oc+31&-32;oc=oc+16384|0;if(!b){m=20;oc=n;return m|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{m=21;oc=n;return m|0}}l=b+10|0;if(a[l>>0]|0)if(!(a[b+12426>>0]|0))h=1;else{a[b+12412>>0]=-1;h=1}else h=(c[b+12432>>2]|0)==0&1;i=b+9|0;a[i>>0]=f<<24>>24!=0&1;h=(vn(b,e,k,0,h)|0)&255;a[l>>0]=(d[l>>0]|0)+h;h=c[b+12448>>2]|0;if(!(g<<24>>24))xn(b,h,k,e);else wn(b,h,k,e);if(a[b+53426>>0]|0)a[i>>0]=0;if((c[b+12432>>2]|0?(a[l>>0]|0)==0:0)?(j=yn(b,0)|0,j<<24>>24):0){m=j;oc=n;return m|0}i=b+53418|0;if(a[i>>0]|0){g=b+53416|0;f=0;h=0;while(1){qD(b+12456+(h<<9)|0,b+12456+(h+(d[g>>0]|0)<<9)|0,512)|0;e=f+1<<24>>24;h=a[i>>0]|0;if((e&255)<(h&255)){f=e;h=e&255}else break}if((h&255)<40)m=18}else{h=0;m=18}if((m|0)==18)rD(b+(((h&255)<<9)+12456)|0,0,((39-h&255)<<9)+512|0)|0;m=b+12428|0;c[m>>2]=(c[m>>2]|0)+1;m=0;oc=n;return m|0}function ao(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=oc;p=oc=oc+31&-32;oc=oc+38912|0;o=p+19456|0;rD(o|0,0,19456)|0;rD(p|0,0,19456)|0;if(!b){s=20;oc=t;return s|0}switch(a[b+12436>>0]|0){case 3:case 0:break;default:{s=21;oc=t;return s|0}}m=b+10|0;if(a[m>>0]|0)if(!(a[b+12426>>0]|0))i=1;else{a[b+12412>>0]=-1;i=1}else i=(c[b+12432>>2]|0)==0&1;n=b+9|0;a[n>>0]=g<<24>>24!=0&1;l=b+12452|0;if(!(c[l>>2]|0))c[l>>2]=bn(h<<24>>24?32:64)|0;r=(vn(b,e,o,0,i)|0)&255;a[m>>0]=(d[m>>0]|0)+r;r=b+53416|0;g=a[r>>0]|0;k=g&255;i=k+6|0;j=d[b+53419>>0]|0;do{u=k+j|0;c[o+(k<<9)>>2]=c[b+12456+(u<<9)>>2];c[o+(k<<9)+4>>2]=c[b+12456+(u<<9)+4>>2];c[o+(k<<9)+8>>2]=c[b+12456+(u<<9)+8>>2];c[o+(k<<9)+12>>2]=c[b+12456+(u<<9)+12>>2];c[o+(k<<9)+16>>2]=c[b+12456+(u<<9)+16>>2];c[o+(k<<9)+20>>2]=c[b+12456+(u<<9)+20>>2];c[o+(k<<9)+24>>2]=c[b+12456+(u<<9)+24>>2];c[o+(k<<9)+28>>2]=c[b+12456+(u<<9)+28>>2];c[o+(k<<9)+32>>2]=c[b+12456+(u<<9)+32>>2];c[o+(k<<9)+36>>2]=c[b+12456+(u<<9)+36>>2];g=g+1<<24>>24;k=g&255}while(i>>>0>k>>>0);bo(c[b+53420>>2]|0,o,p)|0;g=c[b+12448>>2]|0;if(!(h<<24>>24)){xn(b,g,o,e);xn(b,c[l>>2]|0,p,f)}else{wn(b,g,o,e);wn(b,c[l>>2]|0,p,f)}if(a[b+53426>>0]|0)a[n>>0]=0;if((c[b+12432>>2]|0?(a[m>>0]|0)==0:0)?(q=yn(b,0)|0,q<<24>>24):0){u=q;oc=t;return u|0}k=b+53418|0;if(a[k>>0]|0){i=0;g=0;while(1){qD(b+12456+(g<<9)|0,b+12456+(g+(d[r>>0]|0)<<9)|0,512)|0;j=i+1<<24>>24;g=a[k>>0]|0;if((j&255)<(g&255)){i=j;g=j&255}else break}if((g&255)<40)s=21}else{g=0;s=21}if((s|0)==21)rD(b+(((g&255)<<9)+12456)|0,0,((39-g&255)<<9)+512|0)|0;u=b+12428|0;c[u>>2]=(c[u>>2]|0)+1;u=0;oc=t;return u|0} |
| | | function vz(a){a=a|0;return c[a+8>>2]|0}function wz(a){a=a|0;return c[a+12>>2]|0}function xz(a,b){a=a|0;b=b|0;FB(a,b+16|0);return}function yz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;WB(a,113372,$v(113372)|0);return}function zz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;WB(a,113348,$v(113348)|0);return}function Az(a){a=a|0;Us(a);xB(a);return}function Bz(a){a=a|0;Us(a);xB(a);return}function Cz(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)a=(b[(lz()|0)+(d<<1)>>1]&c)<<16>>16!=0;else a=0;return a|0}function Dz(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=lz()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function Ez(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=lz()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function Fz(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=lz()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function Gz(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(kz()|0)+(b<<2)>>2]|0;return b|0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=kz()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function Iz(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(jz()|0)+(b<<2)>>2]|0;return b|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=jz()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function Kz(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Lz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function Mz(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function Nz(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;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function Oz(a){a=a|0;Us(a);xB(a);return}function Pz(a){a=a|0;Us(a);xB(a);return}function Qz(a){a=a|0;Us(a);xB(a);return}function Rz(a){a=a|0;c[a>>2]=113632;return}function Sz(a){a=a|0;c[a>>2]=113668;return}function Tz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=113224;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=lz()|0;return}function Uz(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=113204;b=a+8|0;Vz(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;GB(d,143619,$r(143619)|0);c[a+12>>2]=c[b>>2];Wz();Xz(a,166856);Yz();Zz(a,166864);_z();$z(a,166872);aA();bA(a,166888);cA();dA(a,166896);eA();fA(a,166904);gA();hA(a,166920);iA();jA(a,166928);kA();lA(a,166936);mA();nA(a,166960);oA();pA(a,166992);qA();rA(a,167e3);sA();tA(a,167008);uA();vA(a,167016);wA();xA(a,167024);yA();zA(a,167032);AA();BA(a,167040);CA();DA(a,167048);EA();FA(a,167056);GA();HA(a,167064);IA();JA(a,167072);KA();LA(a,167080);MA();NA(a,167088);OA();PA(a,167104);QA();RA(a,167120);SA();TA(a,167136);UA();VA(a,167152);WA();XA(a,167160);return}function Vz(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){iB(b,d);$A(b,d)}return}function Wz(){c[41715]=0;c[41714]=111060;return}function Xz(a,b){a=a|0;b=b|0;YA(a,b,st(169036)|0);return}function Yz(){c[41717]=0;c[41716]=111092;return}function Zz(a,b){a=a|0;b=b|0;YA(a,b,st(169044)|0);return}function _z(){Tz(166872,0,0,1);return}function $z(a,b){a=a|0;b=b|0;YA(a,b,st(169052)|0);return}function aA(){c[41723]=0;c[41722]=113420;return}function bA(a,b){a=a|0;b=b|0;YA(a,b,st(169084)|0);return}function cA(){c[41725]=0;c[41724]=113488;return}function dA(a,b){a=a|0;b=b|0;YA(a,b,st(169356)|0);return}function eA(){hB(166904,1);return}function fA(a,b){a=a|0;b=b|0;YA(a,b,st(169364)|0);return}function gA(){c[41731]=0;c[41730]=113536;return}function hA(a,b){a=a|0;b=b|0;YA(a,b,st(169372)|0);return}function iA(){c[41733]=0;c[41732]=113584;return}function jA(a,b){a=a|0;b=b|0;YA(a,b,st(169380)|0);return}function kA(){gB(166936,1);return}function lA(a,b){a=a|0;b=b|0;YA(a,b,st(169068)|0);return}function mA(){fB(166960,1);return}function nA(a,b){a=a|0;b=b|0;YA(a,b,st(169092)|0);return}function oA(){c[41749]=0;c[41748]=111124;return}function pA(a,b){a=a|0;b=b|0;YA(a,b,st(169076)|0);return}function qA(){c[41751]=0;c[41750]=111188;return}function rA(a,b){a=a|0;b=b|0;YA(a,b,st(169100)|0);return}function sA(){c[41753]=0;c[41752]=111252;return}function tA(a,b){a=a|0;b=b|0;YA(a,b,st(169108)|0);return}function uA(){c[41755]=0;c[41754]=111304;return}function vA(a,b){a=a|0;b=b|0;YA(a,b,st(169116)|0);return}function wA(){c[41757]=0;c[41756]=112660;return}function xA(a,b){a=a|0;b=b|0;YA(a,b,st(169276)|0);return}function yA(){c[41759]=0;c[41758]=112716;return}function zA(a,b){a=a|0;b=b|0;YA(a,b,st(169284)|0);return}function AA(){c[41761]=0;c[41760]=112772;return}function BA(a,b){a=a|0;b=b|0;YA(a,b,st(169292)|0);return}function CA(){c[41763]=0;c[41762]=112828;return}function DA(a,b){a=a|0;b=b|0;YA(a,b,st(169300)|0);return}function EA(){c[41765]=0;c[41764]=112884;return}function FA(a,b){a=a|0;b=b|0;YA(a,b,st(169308)|0);return}function GA(){c[41767]=0;c[41766]=112912;return}function HA(a,b){a=a|0;b=b|0;YA(a,b,st(169316)|0);return}function IA(){c[41769]=0;c[41768]=112940;return}function JA(a,b){a=a|0;b=b|0;YA(a,b,st(169324)|0);return}function KA(){c[41771]=0;c[41770]=112968;return}function LA(a,b){a=a|0;b=b|0;YA(a,b,st(169332)|0);return}function MA(){c[41773]=0;c[41772]=113400;Rz(167096);c[41772]=111356;c[41774]=111404;return}function NA(a,b){a=a|0;b=b|0;YA(a,b,st(169184)|0);return}function OA(){c[41777]=0;c[41776]=113400;Sz(167112);c[41776]=111440;c[41778]=111488;return}function PA(a,b){a=a|0;b=b|0;YA(a,b,st(169252)|0);return}function QA(){c[41781]=0;c[41780]=113400;c[41782]=qt()|0;c[41780]=112612;return}function RA(a,b){a=a|0;b=b|0;YA(a,b,st(169260)|0);return}function SA(){c[41785]=0;c[41784]=113400;c[41786]=qt()|0;c[41784]=112636;return}function TA(a,b){a=a|0;b=b|0;YA(a,b,st(169268)|0);return}function UA(){c[41789]=0;c[41788]=112996;return}function VA(a,b){a=a|0;b=b|0;YA(a,b,st(169340)|0);return}function WA(){c[41791]=0;c[41790]=113028;return}function XA(a,b){a=a|0;b=b|0;YA(a,b,st(169348)|0);return}function YA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{ZA(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Dc[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else _A(a,b-e|0);return}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=oc;f=oc=oc+31&-32;oc=oc+32|0;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0<b>>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=aB(a)|0;if(e>>>0<d>>>0)gC(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;bB(f,k>>2>>>0<e>>>1>>>0?(g>>>0<d>>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);cB(f,b);dB(a,f);eB(f);break}}else $A(a,b);while(0);oc=i;return}function $A(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function aB(a){a=a|0;return 1073741823}function bB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=vB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function cB(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function dB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){pD(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function eB(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{xB(e);break}}while(0);return}function fB(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=113316;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function gB(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=113276;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function hB(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=113156;c[a+8>>2]=qt()|0;return}function iB(b,d){b=b|0;d=d|0;var e=0;if((aB(b)|0)>>>0<d>>>0)gC(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=vB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function jB(){if((a[167168]|0)==0?$C(167168)|0:0){kB()|0;c[42348]=169388}return c[42348]|0}function kB(){lB();c[42347]=167176;return 169388}function lB(){Uz(167176,1);return}function mB(){nB(169396,jB()|0);return 169396}function nB(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function oB(){if((a[167336]|0)==0?$C(167336)|0:0){mB()|0;c[42350]=169396}return c[42350]|0}function pB(a){a=a|0;var b=0;b=c[(oB()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function qB(a){a=a|0;return}function rB(a,b){a=a|0;b=b|0;return 0}function sB(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Dc[c[(c[a>>2]|0)+16>>2]&255](a);return}function tB(a,b,d){a=a|0;b=b|0;d=d|0;Nq(169404)|0;while(1){if((c[a>>2]|0)!=1)break;lb(169432,169404)|0}if(!(c[a>>2]|0)){c[a>>2]=1;Oq(169404)|0;Dc[d&255](b);Nq(169404)|0;c[a>>2]=-1;Oq(169404)|0;sD(169432)|0}else Oq(169404)|0;return}function uB(){Ua()}function vB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Fq(b)|0;if(a|0)break;a=cD()|0;if(!a){a=0;break}Cc[a&3]()}return a|0}function wB(a){a=a|0;return vB(a)|0}function xB(a){a=a|0;Gq(a);return}function yB(a){a=a|0;xB(a);return}function zB(a,b){a=a|0;b=b|0;var d=0,e=0;e=Fp(b)|0;d=vB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=AB(d)|0;pD(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function AB(a){a=a|0;return a+12|0}function BB(a,b){a=a|0;b=b|0;c[a>>2]=113788;zB(a+4|0,b);return}function CB(a){a=a|0;return 1}function DB(a){a=a|0;Ua()}function EB(a){a=a|0;Ua()}function FB(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)GB(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 GB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=oc;f=oc=oc+31&-32;oc=oc+16|0;if(e>>>0>4294967279)DB(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=vB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}nr(b,d,e)|0;a[f>>0]=0;Ts(b+e|0,f);oc=g;return}function HB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=oc;f=oc=oc+31&-32;oc=oc+16|0;if(d>>>0>4294967279)DB(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=vB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}IB(b,d,e)|0;a[f>>0]=0;Ts(b+d|0,f);oc=g;return}function IB(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)rD(a|0,(mr(c)|0)&255|0,b|0)|0;return a|0}function JB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)EB(b);else{g=g-e|0;GB(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function KB(b){b=b|0;if((a[b+11>>0]|0)<0)xB(c[b>>2]|0);return}function LB(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=oc;i=oc=oc+31&-32;oc=oc+16|0;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;MB(f,d,e)|0;a[i>>0]=0;Ts(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;NB(b,h,e-h|0,f,0,f,e,d)}while(0);oc=k;return b|0}function MB(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)qD(a|0,b|0,c|0)|0;return a|0}function NB(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=oc;n=oc=oc+31&-32;oc=oc+16|0;if((-18-d|0)>>>0<e>>>0)DB(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=vB(k)|0;if(g|0)nr(l,m,g)|0;if(i|0)nr(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)nr(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)xB(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Ts(l+i|0,n);oc=o;return}function OB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d>>>0>4294967279)DB(b);i=b+11|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[b+8>>2]&2147483647)+-1|0}else{k=g&255;e=10}j=k>>>0>d>>>0?k:d;d=j>>>0<11;j=d?10:(j+16&-16)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=13}else{nr(b,d,(g&255)+1|0)|0;xB(d);h=16}}else{e=j+1|0;f=vB(e)|0;if(h){g=1;e=c[b>>2]|0;h=13;break}else{nr(f,b,(g&255)+1|0)|0;d=b+4|0;h=15;break}}while(0);if((h|0)==13){d=b+4|0;nr(f,e,(c[d>>2]|0)+1|0)|0;xB(e);if(g){e=j+1|0;h=15}else h=16}if((h|0)==15){c[b+8>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==16){a[i>>0]=k;break}}while(0);return}function PB(a,b){a=a|0;b=b|0;return LB(a,b,$r(b)|0)|0}function QB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=oc;g=oc=oc+31&-32;oc=oc+16|0;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Ts(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Ts(b+d|0,g);a[h>>0]=d;break}else RB(b,d-f|0,e)|0;while(0);oc=j;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,k=0;k=oc;i=oc=oc+31&-32;oc=oc+16|0;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){SB(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;IB(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Ts(g+f|0,i)}oc=k;return b|0}function SB(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)DB(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=vB(j)|0;if(g|0)nr(k,l,g)|0;e=f-h-g|0;if(e|0)nr(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)xB(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function TB(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)EB(b);if(f)b=c[b>>2]|0;return b+d|0}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,k=0;k=oc;i=oc=oc+31&-32;oc=oc+16|0;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;nr(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Ts(g+f|0,i)}}else NB(b,g,f+e-g|0,f,f,0,e,d);oc=k;return b|0}function VB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=oc;i=oc=oc+31&-32;oc=oc+16|0;h=i+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){SB(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;Ts(b,h);a[i>>0]=0;Ts(b+1|0,i);oc=j;return}function WB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=oc;h=oc=oc+31&-32;oc=oc+16|0;if(e>>>0>1073741807)DB(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)Ua();else{f=vB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);Fr(f,d,e)|0;c[h>>2]=0;$s(f+(e<<2)|0,h);oc=i;return}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=oc;h=oc=oc+31&-32;oc=oc+16|0;if(d>>>0>1073741807)DB(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)Ua();else{f=vB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);YB(f,d,e)|0;c[h>>2]=0;$s(f+(d<<2)|0,h);oc=i;return}function YB(a,b,c){a=a|0;b=b|0;c=c|0;if(b)Dq(a,c,b)|0;return a|0}function ZB(b){b=b|0;if((a[b+8+3>>0]|0)<0)xB(c[b>>2]|0);return}function _B(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=oc;j=oc=oc+31&-32;oc=oc+16|0;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;$B(f,d,e)|0;c[j>>2]=0;$s(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;aC(b,g,e-g|0,f,0,f,e,d)}while(0);oc=l;return b|0}function $B(a,b,c){a=a|0;b=b|0;c=c|0;if(c)Eq(a,b,c)|0;return a|0}function aC(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=oc;o=oc=oc+31&-32;oc=oc+16|0;if((1073741806-d|0)>>>0<e>>>0)DB(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0<k>>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)Ua();else m=e}else m=1073741807;k=vB(m<<2)|0;if(g|0)Fr(k,n,g)|0;if(i|0)Fr(k+(g<<2)|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)Fr(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,f)|0;if((d|0)!=1)xB(n);c[b>>2]=k;c[l>>2]=m|-2147483648;i=e+i|0;c[b+4>>2]=i;c[o>>2]=0;$s(k+(i<<2)|0,o);oc=p;return}function bC(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;if(d>>>0>1073741807)DB(b);l=b+8|0;i=l+3|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[l>>2]&2147483647)+-1|0}else{k=g&255;e=1}j=k>>>0>d>>>0?k:d;d=j>>>0<2;j=d?1:(j+4&-4)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=15}else{Fr(b,d,(g&255)+1|0)|0;xB(d);h=18}}else{e=j+1|0;if(e>>>0>1073741823)Ua();f=vB(e<<2)|0;if(h){g=1;e=c[b>>2]|0;h=15;break}else{Fr(f,b,(g&255)+1|0)|0;d=b+4|0;h=17;break}}while(0);if((h|0)==15){d=b+4|0;Fr(f,e,(c[d>>2]|0)+1|0)|0;xB(e);if(g){e=j+1|0;h=17}else h=18}if((h|0)==17){c[l>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==18){a[i>>0]=k;break}}while(0);return}function cC(a,b){a=a|0;b=b|0;return _B(a,b,$v(b)|0)|0}function dC(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;if((1073741807-d|0)>>>0<e>>>0)DB(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0<j>>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)Ua();else k=e}else k=1073741807;j=vB(k<<2)|0;if(g|0)Fr(j,l,g)|0;e=f-h-g|0;if(e|0)Fr(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;if((d|0)!=1)xB(l);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function eC(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=oc;j=oc=oc+31&-32;oc=oc+16|0;f=b+8|0;k=f+3|0;g=a[k>>0]|0;i=g<<24>>24<0;if(i){f=(c[f>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{f=1;h=g&255}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;Fr(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;$s(g+(f<<2)|0,j)}}else aC(b,f,h+e-f|0,h,h,0,e,d);oc=l;return b|0}function fC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=oc;j=oc=oc+31&-32;oc=oc+16|0;i=j+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){dC(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;$s(b,i);c[j>>2]=0;$s(b+4|0,j);oc=k;return}function gC(a){a=a|0;Ua()}function hC(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=oc=oc+31&-32;oc=oc+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=iC()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=145918;jC(145868,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(uc[c[(c[2916]|0)+16>>2]&31](11664,e,f)|0){i=c[f>>2]|0;i=rc[c[(c[i>>2]|0)+8>>2]&127](i)|0;c[g>>2]=145918;c[g+4>>2]=a;c[g+8>>2]=i;jC(145782,g)}else{c[i>>2]=145918;c[i+4>>2]=a;jC(145827,i)}}jC(145906,h)}function iC(){var a=0,b=0;a=oc;b=oc=oc+31&-32;oc=oc+16|0;if(!(Tq(169480,3)|0)){b=Rq(c[42371]|0)|0;oc=a;return b|0}else jC(146057,b);return 0}function jC(a,b){a=a|0;b=b|0;var d=0;d=oc=oc+31&-32;oc=oc+16|0;c[d>>2]=b;b=c[27545]|0;Ho(b,a,d)|0;uq(10,b)|0;Ua()}function kC(a){a=a|0;return}function lC(a){a=a|0;kC(a);xB(a);return}function mC(a){a=a|0;return}function nC(a){a=a|0;return}function oC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=oc;f=oc=oc+31&-32;oc=oc+64|0;if(!(sC(a,b,0)|0))if((b|0)!=0?(g=wC(b,11688,11672,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Gc[c[(c[g>>2]|0)+28>>2]&31](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;oc=h;return b|0}function pC(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(sC(a,c[b+8>>2]|0,g)|0)vC(0,b,d,e,f);return}function qC(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(!(sC(b,c[d+8>>2]|0,g)|0)){if(sC(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else uC(0,d,e,f);while(0);return}function rC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(sC(a,c[b+8>>2]|0,0)|0)tC(0,b,d,e);return}function sC(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function tC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function uC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function vC(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function wC(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=oc;n=oc=oc+31&-32;oc=oc+64|0;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(sC(m,f,0)|0){c[n+48>>2]=1;Ic[c[(c[m>>2]|0)+20>>2]&15](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Hc[c[(c[m>>2]|0)+24>>2]&15](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);oc=p;return d|0}function xC(a){a=a|0;kC(a);xB(a);return}function yC(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(sC(a,c[b+8>>2]|0,g)|0)vC(0,b,d,e,f);else{a=c[a+8>>2]|0;Ic[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function zC(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(!(sC(b,c[d+8>>2]|0,g)|0)){if(!(sC(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Hc[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;Ic[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 uC(0,d,e,f);while(0);return}function AC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(sC(a,c[b+8>>2]|0,0)|0)tC(0,b,d,e);else{a=c[a+8>>2]|0;Gc[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function BC(a){a=a|0;return}function CC(){var a=0,b=0;a=oc;b=oc=oc+31&-32;oc=oc+16|0;if(!(Qq(169484,141)|0)){oc=a;return}else jC(146106,b)}function DC(a){a=a|0;var b=0,d=0;b=oc;d=oc=oc+31&-32;oc=oc+16|0;Gq(a);if(!(Sq(c[42371]|0,0)|0)){oc=b;return}else jC(146156,d)}function EC(){var a=0,b=0;a=iC()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)FC(c[b+12>>2]|0);FC(GC()|0)}function FC(a){a=a|0;var b=0;b=oc=oc+31&-32;oc=oc+16|0;Cc[a&3]();jC(146209,b)}function GC(){var a=0;a=c[28424]|0;c[28424]=a+0;return a|0}function HC(a){a=a|0;return}function IC(a){a=a|0;c[a>>2]=113788;MC(a+4|0);return}function JC(a){a=a|0;IC(a);xB(a);return}function KC(a){a=a|0;return LC(a+4|0)|0}function LC(a){a=a|0;return c[a>>2]|0}function MC(a){a=a|0;var b=0,d=0;if(CB(a)|0?(b=NC(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)xB(b);return}function NC(a){a=a|0;return a+-12|0}function OC(a){a=a|0;IC(a);xB(a);return}function PC(a){a=a|0;kC(a);xB(a);return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;return sC(a,b,0)|0}function RC(a){a=a|0;kC(a);xB(a);return}function SC(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=oc;h=oc=oc+31&-32;oc=oc+64|0;c[d>>2]=c[c[d>>2]>>2];if(!(TC(a,b,0)|0))if(((b|0)!=0?(e=wC(b,11688,11776,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(sC(c[a>>2]|0,c[b>>2]|0,0)|0)?!(sC(c[a>>2]|0,11808,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=wC(a,11688,11672,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=wC(f,11688,11672,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Gc[c[(c[i>>2]|0)+28>>2]&31](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;oc=j;return a|0}function TC(a,b,c){a=a|0;b=b|0;c=c|0;if(sC(a,b,0)|0)a=1;else a=sC(b,11816,0)|0;return a|0}function UC(a){a=a|0;kC(a);xB(a);return}function VC(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(sC(b,c[d+8>>2]|0,h)|0)vC(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;ZC(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;ZC(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function WC(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(!(sC(b,c[d+8>>2]|0,g)|0)){if(!(sC(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;_C(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;_C(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;_C(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;_C(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;ZC(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else uC(0,d,e,f);while(0);return}function XC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(sC(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;YC(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{YC(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else tC(0,d,e,f);while(0);return}function YC(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;Gc[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}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;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;Ic[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function _C(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;Hc[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function $C(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function aD(a){a=a|0;return}function bD(a){a=a|0;return}function cD(){var a=0;a=c[42372]|0;c[42372]=a+0;return a|0}function dD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=oc;e=oc=oc+31&-32;oc=oc+16|0;c[e>>2]=c[d>>2];a=uc[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];oc=f;return a&1|0}function eD(a){a=a|0;if(!a)a=0;else a=(wC(a,11688,11776,0)|0)!=0&1;return a|0}function fD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=z(e,f)|0;d=a>>>16;a=(c>>>16)+(z(e,d)|0)|0;e=b>>>16;b=z(e,f)|0;return (C((a>>>16)+(z(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function gD(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=fD(e,f)|0;a=D()|0;return (C((z(b,f)|0)+(z(d,e)|0)+a|a&0|0),c|0|0)|0}function hD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function iD(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 (C(d|0),a-c>>>0|0)|0}function jD(a){a=a|0;return (a?31-(A(a^a-1)|0)|0:32)|0}function kD(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 (C(n|0),f)|0}else{if(!g){n=0;f=0;return (C(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(A(i|0)|0)-(A(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 (C(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C(n|0),f)|0}g=h-1|0;if(g&h|0){i=(A(h|0)|0)+33-(A(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 (C(o|0),p)|0}else{p=jD(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C(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 (C(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 (C(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>>>((jD(i|0)|0)>>>0);return (C(o|0),p)|0}g=(A(i|0)|0)-(A(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 (C(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=hD(m|0,l|0,-1,-1)|0;d=D()|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;iD(k|0,d|0,e|0,n|0)|0;p=D()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=iD(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D()|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 (C(o|0),p)|0}function lD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kD(a,b,c,d,0)|0}function mD(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}C(((b|0)<0?-1:0)|0);return b>>c-32|0}function nD(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}C(0);return b>>>c-32|0}function oD(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}C(a<<c-32|0);return 0}function pD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){$a(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function qD(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 pD(b,c,d)|0;return b|0}function rD(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 sD(a){a=a|0;return 0}function tD(a){a=a|0;var b=0,d=0,e=0;e=Ya()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){pb(b|0)|0;aa(12);return -1}if((b|0)>(e|0))if(!(ab(b|0)|0)){aa(12);return -1}c[i>>2]=b;return d|0}function uD(a,b){a=a|0;b=b|0;return rc[a&127](b|0)|0}function vD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return sc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function wD(a,b,c){a=a|0;b=b|0;c=c|0;return tc[a&31](b|0,c|0)|0}function xD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uc[a&31](b|0,c|0,d|0)|0}function yD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return vc[a&7](b|0,c|0,d|0,e|0)|0}function zD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return wc[a&7](b|0,c|0,d|0,e|0,+f)|0}function AD(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 xc[a&31](b|0,c|0,d|0,e|0,f|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;return yc[a&3](b|0,c|0,d|0,e|0,f|0,+g)|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 zc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function DD(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 Ac[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function ED(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Bc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function FD(a){a=a|0;Cc[a&3]()}function GD(a,b){a=a|0;b=b|0;Dc[a&255](b|0)}function HD(a,b,c){a=a|0;b=b|0;c=c|0;Ec[a&63](b|0,c|0)}function ID(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Fc[a&31](b|0,c|0,d|0)}function JD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Gc[a&31](b|0,c|0,d|0,e|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;Hc[a&15](b|0,c|0,d|0,e|0,f|0)}function LD(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;Ic[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function MD(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;Jc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function ND(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Kc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function OD(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Lc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function PD(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Mc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function QD(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;Nc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function RD(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;Oc[a&1](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)}function SD(a){a=a|0;B(0);return 0}function TD(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;B(1);return 0}function UD(a,b){a=a|0;b=b|0;B(2);return 0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;B(3);return 0}function WD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(4);return 0}function XD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;B(5);return 0}function YD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;B(6);return 0}function ZD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;B(7);return 0}function _D(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;B(8);return 0}function $D(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;B(9);return 0}function aE(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;B(10);return 0}function bE(){B(11)}function cE(){W()}function dE(a){a=a|0;B(12)}function eE(a,b){a=a|0;b=b|0;B(13)}function fE(a,b,c){a=a|0;b=b|0;c=c|0;B(14)}function gE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(15)}function hE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;B(16)}function iE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;B(17)}function jE(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;B(18)}function kE(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;B(19)}function lE(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;B(20)}function mE(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;B(21)}function nE(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;B(22)}function oE(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;B(23)} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var rc=[SD,ho,dr,er,gr,hr,vr,wr,yr,zr,qs,ws,Cs,Ds,Is,Js,dv,kv,lv,mv,nv,ov,pv,qv,Nv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Iw,Jw,Ow,Tw,Uw,Zw,cx,dx,ix,nx,ox,tx,qy,ry,ty,Iy,Jy,Ly,oz,pz,vz,wz,By,Cy,Ey,Ry,Sy,Uy,KC,Md,Vd,Xd,Yd,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD,SD];var sc=[TD,Io];var tc=[UD,Pe,Qe,rB,ir,kr,Ar,Cr,ss,ys,Es,Ks,bz,dz,fz,Gz,Iz,Kz,Rd,Td,$m,UD,UD,UD,UD,UD,UD,UD,UD,UD,UD,UD];var uc=[VD,io,no,oo,cp,ar,fr,jr,sr,xr,Br,rs,xs,Rs,Zs,ey,jy,cz,ez,hz,Cz,Hz,Jz,Mz,oC,QC,SC,$d,oe,eq,VD,VD];var vc=[WD,mf,jo,gz,Dz,Ez,Fz,Lz];var wc=[XD,Gu,Hu,Xu,Yu,XD,XD,XD];var xc=[YD,Ps,Xs,Bu,Cu,Eu,Iu,Su,Tu,Vu,Zu,py,sy,Hy,Ky,iz,Nz,Ay,Dy,Qy,Ty,YD,YD,YD,YD,YD,YD,YD,YD,YD,YD,YD];var yc=[ZD,Ux,_x,ZD];var zc=[_D,ct,dt,et,ft,gt,ht,it,jt,kt,lt,mt,_t,$t,au,bu,cu,du,eu,fu,gu,hu,iu,Du,Fu,Uu,Wu,ev,fv,gv,hv,iv,Ov,Pv,Qv,Rv,Sv,Vx,$x,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D,_D];var Ac=[$D,ww,Cw,yx,zx,Kx,Lx,$D];var Bc=[aE,jv,Tv,ny,oy,Fy,Gy,yy,zy,Oy,Py,aE,aE,aE,aE,aE];var Cc=[bE,cE,hC,CC];var Dc=[dE,ae,be,de,fe,ge,he,ie,Fd,ke,le,qe,re,se,Ne,Oe,of,pf,uf,vf,Pg,Qg,Ri,Si,bk,ck,dk,ek,yk,zk,Ak,Bk,Jk,Kk,Lk,Mk,Vq,Xq,Zq,_q,pr,qr,Hr,Ir,Jr,Kr,Mr,Nr,Or,Pr,Rr,Sr,Tr,Ur,Wr,Xr,Yr,Zr,os,us,As,Gs,Ms,Ns,Os,Vs,Ws,at,bt,Yt,Zt,zu,Au,Qu,Ru,bv,cv,Lv,Mv,uw,vw,Aw,Bw,Gw,Hw,Rw,Sw,ax,bx,lx,mx,wx,xx,Ix,Jx,Sx,Tx,Yx,Zx,cy,dy,hy,iy,Us,xy,my,My,Ny,Yy,Zy,$y,az,mz,nz,tz,uz,Az,Bz,Oz,Pz,Qz,kC,lC,mC,nC,xC,IC,JC,OC,PC,RC,UC,Nd,Yc,Zc,Wd,_d,ut,wt,Ax,Gq,DC,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE,dE];var Ec=[eE,wd,te,qf,wf,Rg,$q,rr,ps,vs,Bs,Hs,Kw,Lw,Mw,Nw,Pw,Qw,Vw,Ww,Xw,Yw,_w,$w,ex,fx,gx,hx,jx,kx,px,qx,rx,sx,ux,vx,gy,ly,qz,rz,sz,xz,yz,zz,Wc,Xc,Qd,_c,$c,ad,bd,cd,dd,ed,fd,gd,hd,id,Zd,qi,Jo,eE,eE,eE];var Fc=[fE,vd,je,nf,Od,Pd,Sd,Ud,$h,ci,di,ei,fi,gi,hi,ii,ji,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,fE,fE,fE,fE,fE,fE];var Gc=[gE,cr,ur,Qs,Ys,rC,AC,XC,ai,bi,ki,li,mi,ni,oi,pi,wi,xi,yi,zi,Ai,gE,gE,gE,gE,gE,gE,gE,gE,gE,gE,gE];var Hc=[hE,qC,zC,WC,ri,si,ti,ui,vi,hE,hE,hE,hE,hE,hE,hE];var Ic=[iE,br,tr,fy,ky,pC,yC,VC,kh,iE,iE,iE,iE,iE,iE,iE];var Jc=[jE,jh,oh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,jE,jE,jE,jE,jE,jE,jE,jE,jE,jE,jE,jE,jE];var Kc=[kE,nh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,kE,kE,kE,kE,kE,kE,kE,kE,kE,kE,kE,kE,kE,kE];var Lc=[lE,lh,rh,lE];var Mc=[mE,ph,sh,Jh,Kh,mE,mE,mE];var Nc=[nE,mh];var Oc=[oE,qh];return{___cxa_can_catch:dD,___cxa_is_pointer_type:eD,___errno_location:lo,___getTypeName:go,___muldi3:gD,___udivdi3:lD,_bitshift64Ashr:mD,_bitshift64Lshr:nD,_bitshift64Shl:oD,_free:Gq,_i64Add:hD,_i64Subtract:iD,_main:Uc,_malloc:Fq,_memcpy:pD,_memmove:qD,_memset:rD,_pthread_cond_broadcast:sD,_sbrk:tD,_strlen:Fp,dynCall_ii:uD,dynCall_iidiiii:vD,dynCall_iii:wD,dynCall_iiii:xD,dynCall_iiiii:yD,dynCall_iiiiid:zD,dynCall_iiiiii:AD,dynCall_iiiiiid:BD,dynCall_iiiiiii:CD,dynCall_iiiiiiii:DD,dynCall_iiiiiiiii:ED,dynCall_v:FD,dynCall_vi:GD,dynCall_vii:HD,dynCall_viii:ID,dynCall_viiii:JD,dynCall_viiiii:KD,dynCall_viiiiii:LD,dynCall_viiiiiii:MD,dynCall_viiiiiiii:ND,dynCall_viiiiiiiii:OD,dynCall_viiiiiiiiii:PD,dynCall_viiiiiiiiiiii:QD,dynCall_viiiiiiiiiiiii:RD,establishStackSpace:Tc,globalCtors:Pc,stackAlloc:Qc,stackRestore:Sc,stackSave:Rc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function makeBigInt(low,high,unsigned){return unsigned?+(low>>>0)+ +(high>>>0)*4294967296:+(low>>>0)+ +(high|0)*4294967296}function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<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 allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}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 allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<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 stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=100368,DYNAMIC_BASE=5343248,DYNAMICTOP_PTR=100336;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(INITIAL_TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+INITIAL_TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}}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 __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;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){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)}function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}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 getUniqueRunDependency(id){return id}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(){globalCtors()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAgLgAAYC4AAGAuAABgLgAAYC4AAAAAAAAAAAAAAAAAACAuAABoLgAAaC4AAGAuAACAsNDwgKfF44Ceu9h7lrLNdI6pw2+HoLlpgJivZHqQpl90iZ5aboKWVWh7jlFjdYdNXm+ASVlpekVVZHRCUF9uPkxaaDtIVmM4RVFeNUFNWTM+SVUwO0VQLjhCTCs1P0gpMjtFJzA4QSUtNj4jKzM7ISkwOCAnLjUeJSsyHSMpMBshJy0aHyUrGB4jKRccIScWGyAlFRoeIxQYHSETFxsfEhYaHhEVGRwQFBcbDxMWGQ4SFRgOERQXDRATFgwPEhUMDhEUCw4QEwsNDxIKDA8RCgwOEAkLDQ8JCwwOCAoMDggJCw0HCQsMBwkKDAcICgsGCAkLBgcJCgYHCAkCAgICBgUEBAMDAwMCAgICAgICAgEBAQEBAQEBAQEBAQEBAQEAAAECAgQEBQYHCAkJCwsMDQ0PDxAQEhITExUVFhYXGBgZGhobGxwdHR4eHh8gICEhISIiIyMjJCQkJSUlJiY/AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4+Px0AAAAeAAAAHwAAACAAAAAhAAAAIQAAACIAAAAiAAAAIwAAACMAAAAkAAAAJAAAACUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQECAgICAwMDAwQEBAUFBgYHCAkKCw0OEBIUFhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYHCAkKCwwNDg8QERIUFhgaHB4gIiQmKCosLjAyNDY4Ojw+QAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABoAAAAVAAAAEQAAAA0AAAAJAAAABQAAAAIAAAAAAAAA/v////v////3////8////+/////r////5v///+D////m////6////+/////z////9/////v////+////AAAAAAIAAAAFAAAACQAAAA0AAAARAAAAFQAAABoAAAAgAAAAAAAAAAAAAAAaAAAACgAAAAEAAAAAAQICAgIDBQcICgwNDxESExQVFhcXGBgZGRobGxwcHR0eHwAAAAAAAAAAAAAAAAAoAAAALQAAADMAAAA5AAAAQAAAAEgAAAAAAAAAAAAAAADw//+a+f//cvz//4r9//8e/v//ev7//8X+//8A////xf7//3r+//8e/v//iv3//3L8//+a+f//APD//wAAAAAAAAAAAAAAABAuAQAwLgEAsC4BALAwAQAAAAAAAAAAALA4AQDQOAEAUDkBAFA7AQAAAAAAAAAAAFBDAQBwQwEA8EMBAPBFAQAAAAAAAAAAAAyHAQAehwEAMGMBAFBjAQDQYwEA0GUBAAAAAAAAAAAADIcBABaHAQCQWAEAsFgBADBZAQAwWwEAAAAAAAAAAAAMhwEADocBAPBNAQAQTgEAkE4BAJBQAQAAAAAAAAAAAAAAAAABAAAAAAAAAAIAAAABAAAAAgAAAAAAAAADAAAAAQAAAAMAAAACAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAACAAAAAQAAAAMAAAAAAAAAAwAAAAEAAAADAAAAAgAAAMUAAAC5AAAAyQAAAMUAAAC5AAAAyQAAAAAAAAAAAAAAiwAAAI0AAACdAAAAawAAAIsAAAB+AAAAawAAAIsAAAB+AAAAAAAAAAAAAAAAAAAAbwAAAI0AAACZAAAAbwAAAFsAAACrAAAAhgAAAI0AAAB5AAAAjAAAAD0AAACaAAAAeQAAAIwAAAA9AAAAmgAAAG8AAABvAAAAfQAAAG4AAABuAAAAXgAAAHwAAABsAAAAfAAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAGsAAAB9AAAAjQAAALMAAACZAAAAfQAAAIwAAACLAAAAtgAAALYAAACYAAAAiAAAAJgAAACIAAAAmQAAAIgAAACLAAAAbwAAAIgAAACLAAAAbwAAAJsAAACaAAAAiwAAAJkAAACLAAAAewAAAHsAAAA/AAAAmQAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKoAAACZAAAAewAAAHsAAABrAAAAeQAAAGsAAAB5AAAApwAAAJcAAAC3AAAAjAAAAJcAAAC3AAAAjAAAAKoAAACaAAAAiwAAAJkAAACLAAAAewAAAHsAAAA/AAAAfAAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKYAAAC3AAAAjAAAAIgAAACZAAAAmgAAAKoAAACZAAAAigAAAIoAAAB6AAAAeQAAAHoAAAB5AAAApwAAAJcAAAC3AAAAjAAAAJcAAAC3AAAAjAAAAAAAAAAAAAAAjQAAAG8AAACMAAAAjAAAAIwAAACMAAAAAAAAAAAAAACKAAAAmQAAAIgAAACnAAAAmAAAAJgAAABrAAAApwAAAFsAAAB6AAAAawAAAKcAAABrAAAApwAAAFsAAABrAAAAawAAAKcAAAAAAAAAAAAAAIwAAABcAAAAiQAAAIoAAACMAAAAmAAAAIoAAACLAAAAmQAAAEoAAACVAAAAXAAAAIsAAABrAAAAegAAAJgAAACMAAAAswAAAKYAAAC2AAAAjAAAAOMAAAB6AAAAxQAAAJoAAADEAAAAxAAAAKcAAACaAAAAmAAAAKcAAAC2AAAAtgAAAIYAAACVAAAAiAAAAJkAAAB5AAAAiAAAAIkAAACpAAAAwgAAAKYAAACnAAAAmgAAAKcAAACJAAAAtgAAAJoAAADEAAAApwAAAKcAAACaAAAAmAAAAKcAAAC2AAAAtgAAAIYAAACVAAAAiAAAAJkAAAB5AAAAiAAAAHoAAACpAAAA0AAAAKYAAACnAAAAmgAAAJgAAACnAAAAtgAAAG4AAABuAAAAfAAAAH0AAACMAAAAmQAAAH0AAAB/AAAAjAAAAG0AAABvAAAAjwAAAH8AAABvAAAATwAAAGwAAAB7AAAAPwAAAH0AAABuAAAAXgAAAG4AAABfAAAATwAAAH0AAABvAAAAbgAAAE4AAABuAAAAbwAAAG8AAABfAAAAXgAAAGwAAAB7AAAAbAAAAH0AAABuAAAAfAAAAG4AAABfAAAAXgAAAH0AAABvAAAAbwAAAE8AAAB9AAAAfgAAAG8AAABvAAAATwAAAGwAAAB7AAAAXQAAAAAAAAAAAAAAmQAAAIoAAACKAAAAfAAAAIoAAABeAAAA4AAAAKcAAAB6AAAAAAAAAAAAAAAAAAAAXgAAAIoAAAC2AAAAmgAAAJUAAABrAAAApwAAAJoAAACVAAAAXAAAAKcAAACaAAAAuAAAAJoAAACLAAAAmgAAAJoAAACaAAAAiwAAAJoAAACaAAAAAAAAAAAAAAAAAAAAjAAAAMYAAACpAAAAxgAAAAABBAUCAwQFBgYICAcHCGNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFpaWFVSTklDPTYuJh8WDQT88+rh2tLKw723sq6rqKamWldQRjkrGQn359XHurCppqapsLrH1ef3CRkrOUZQV1paUkMuFvzhyrerpqiyw9rzDSY9TlhaVUk2HwTq0r2upllLMhLuzrWnp7XO7hIyS1lZSzIS7s61p6e1zu4SMktZWEMf88quprLS/CZJWlU9FurDq6a32gQuTlpSNg3hvahXOQnVsKa65xlGWlAr98epqcf3K1BaRhnnuqaw1Qk5V1Uu872mt+omUlg2/MOmsuEfTlo9BMqortoWSVpDDdKrUyTcra3cJFNTJNytrdwkU1Mk3K2t3CRTUyTcra3cJFNSFsqmww1OVR/Spr0ESVgm2qi3/ENaLuGrsvM9WjbqrlAJuqnnOVor1abHGVdG97Cw90ZXGcem1StaOeepuglQTvyutw1VQ+qowx9aNtqm0i5aJsqm4T1YFr2r80lSBLJL7qfOMlkStbUSWTLOp+5LS+6nzjJZErW1ElkyzqfuS0nhpupOQ9qm81I90qj8VTbKqwRYLsOuDVomvbIWWh+3RtWpCVoZsMc5UOem91crurorV/em51A5x7AZWgmp1UZDyrImVeqmBFoNqOFSLrfDPUnSrh9Y86b8Whar2k42vUDAwEBAwMBAQMDAQEDAwEBAwMBAQMDAQEDAwEBAwMBAPbfSUh+o81r8phZV2rI2Q73KTiar6loEpg1Y4a4uScM5sOda96krRrrVVwmmGVDHx1AZpglX1bpGK6n3WuewOTar/FjSw1INpiZDsupa4bdJH6YWTr3aWvOuPS6oBFXKMqcSS7XuWc7OWe61SxKnMjKnEku17lnOzlnutUsSpzIupiY2ph89qBZDqw1JrgROsvxSt/NVvepYw+Faytpa0iumORmpRgmwUPe6V+fHWtXVWsfnV7r3ULAJRqkZOaYrJqhJ/L1a0uFVsg09pjYWrlLqylrD806rHy6mQwS3WNokrVPc3FOtJCStU9zcU60kJK1T3NxTrSQkrVPc3FOtJB+yWsMENqhS2upJpkPz0lWrLg29WrcWJq5Yyvw9pk7hGbpasCsJx1epOffVUKZG5+dGplDV9zmpV8cJK7BauhkWw1WmSdr8LrJarjbz4UOoWL0fDcpSpk7SBCa3Wqs96hLOS6dZtTLu7jK1WadLzhISzkunWbUy7u4ytVmnS84SDdo9slimVbc24QQW0kOuWqZSvS7q/B/KSataqE7DJvMJ5yvHRrBXplqpULo51Rn39xnVObpQqVqmV7BGxyvnCQTzFuEm0jbDQ7dOrlWoWqZaplirUrJJvT3KLtof6g38AAAAAAMAAAADAAAAAgAAAAAAAAADAAAABAAAAAQAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBEQERAREhESEhESFRMUFRQTFRgWFhgYFhYYGRkbHhsZGR0fIyMfHSQpLCkkLzY2L0FGQVhYcxAQEBAQEBAQEBARERERERISEhISEhQUFBQUFBQYGBgYGBgYGBkZGRkZGRkcHBwcHBwhISEhISkpKSk2NjZHR1v/////AgAAAAIAAAABAAAA/////wIAAAABAAAAAQAAAAAAAAABAAEADAALAAoACwAQAAsAKAAhABgACwAUAAsAIAALAFAAIQASAAsADwALAEAAIQCgAGMABAADAAMAAgACAAEAAAAAAAAAAAAAAAAA3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BUxDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAAAAAAAAAAAAMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRnhYKy1wUGlJbk4AAAAAAAAAAAAAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAlAAAAWQAAAC0AAAAlAAAAbQAAAC0AAAAlAAAAZAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABIAAAAOgAAACUAAABNAAAAAAAAAAAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAANTKAADM3wAAhMsAAI3fAAAAAAAAAQAAAAAkAAAAAAAA1MoAAPffAADUygAAKuEAAGjLAAA04QAAAAAAACgkAABoywAAP+EAAAEAAAAoJAAA1MoAALbhAACEywAAlOEAAAAAAAACAAAAKCQAAAIAAABQJAAAAkBZAPzKAACF4QAAWCQAAAAAAABoywAA2+EAAAAAAAB4JAAAaMsAAOvhAAABAAAAeCQAANTKAAAu4gAA/MoAACTiAACoJAAAAAAAAPzKAABT4wAA0CQAAAAAAADUygAAcOMAAPzKAACX4wAA6CQAAAAAAACEywAAqeMAAAAAAAABAAAAACUAAAIEAADUygAAuOMAAPzKAABs5AAA0CQAAAAAAAD8ygAA5ugAANAkAAAAAAAA/MoAAA3pAADQJAAAAAAAAPzKAABa9gAAeC0AAAAAAAD8ygAAoQkBAHgtAAAAAAAA/MoAAMANAQB4LQAAAAAAAITLAADyHgEAAAAAAAEAAAAAJAAAAAAAAITLAACzHgEAAAAAAAEAAAAAJAAAAAAAANTKAACUHgEA1MoAAHUeAQDUygAAVh4BANTKAAA3HgEA1MoAABgeAQDUygAA+R0BANTKAADaHQEA1MoAALsdAQDUygAAnB0BANTKAAB9HQEA1MoAAF4dAQDUygAAPx0BAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAALocBAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAA2G0BAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAA6HEBAAAEAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAr/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPzKAACyHwEASCgAAAAAAADUygAAoB8BAPzKAADcHwEASCgAAAAAAADUygAABiABANTKAAA3IAEAhMsAAGggAQAAAAAAAQAAADgoAAAD9P//hMsAAJcgAQAAAAAAAQAAAFAoAAAD9P//hMsAAMYgAQAAAAAAAQAAADgoAAAD9P//hMsAAPUgAQAAAAAAAQAAAFAoAAAD9P///MoAACQhAQBoKAAAAAAAAPzKAAA9IQEAYCgAAAAAAAD8ygAAfCEBAGgoAAAAAAAA/MoAAJQhAQBgKAAAAAAAAPzKAACsIQEAICkAAAAAAAD8ygAAwCEBAHAtAAAAAAAA/MoAANYhAQAgKQAAAAAAAITLAADvIQEAAAAAAAIAAAAgKQAAAgAAAGApAAAAAAAAhMsAADMiAQAAAAAAAQAAAHgpAAAAAAAA1MoAAEkiAQCEywAAYiIBAAAAAAACAAAAICkAAAIAAACgKQAAAAAAAITLAACmIgEAAAAAAAEAAAB4KQAAAAAAAITLAADPIgEAAAAAAAIAAAAgKQAAAgAAANgpAAAAAAAAhMsAABMjAQAAAAAAAQAAAPApAAAAAAAA1MoAACkjAQCEywAAQiMBAAAAAAACAAAAICkAAAIAAAAYKgAAAAAAAITLAACGIwEAAAAAAAEAAADwKQAAAAAAAITLAADcJAEAAAAAAAMAAAAgKQAAAgAAAFgqAAACAAAAYCoAAAAIAADUygAAQyUBANTKAAAhJQEAhMsAAFYlAQAAAAAAAwAAACApAAACAAAAWCoAAAIAAACQKgAAAAgAANTKAACbJQEAhMsAAL0lAQAAAAAAAgAAACApAAACAAAAuCoAAAAIAADUygAAAiYBAITLAAAXJgEAAAAAAAIAAAAgKQAAAgAAALgqAAAACAAAhMsAAFwmAQAAAAAAAgAAACApAAACAAAAACsAAAIAAADUygAAeCYBAITLAACNJgEAAAAAAAIAAAAgKQAAAgAAAAArAAACAAAAhMsAAKkmAQAAAAAAAgAAACApAAACAAAAACsAAAIAAACEywAAxSYBAAAAAAACAAAAICkAAAIAAAAAKwAAAgAAAITLAADwJgEAAAAAAAIAAAAgKQAAAgAAAIgrAAAAAAAA1MoAADYnAQCEywAAWicBAAAAAAACAAAAICkAAAIAAACwKwAAAAAAANTKAACgJwEAhMsAAL8nAQAAAAAAAgAAACApAAACAAAA2CsAAAAAAADUygAABSgBAITLAAAeKAEAAAAAAAIAAAAgKQAAAgAAAAAsAAAAAAAA1MoAAGQoAQCEywAAfSgBAAAAAAACAAAAICkAAAIAAAAoLAAAAgAAANTKAACSKAEAhMsAACkpAQAAAAAAAgAAACApAAACAAAAKCwAAAIAAAD8ygAAqigBAGAsAAAAAAAAhMsAAM0oAQAAAAAAAgAAACApAAACAAAAgCwAAAIAAADUygAA8CgBAPzKAAAHKQEAYCwAAAAAAACEywAAPikBAAAAAAACAAAAICkAAAIAAACALAAAAgAAAITLAABgKQEAAAAAAAIAAAAgKQAAAgAAAIAsAAACAAAAhMsAAIIpAQAAAAAAAgAAACApAAACAAAAgCwAAAIAAAD8ygAApSkBACApAAAAAAAAhMsAALspAQAAAAAAAgAAACApAAACAAAAKC0AAAIAAADUygAAzSkBAITLAADiKQEAAAAAAAIAAAAgKQAAAgAAACgtAAACAAAA/MoAAP8pAQAgKQAAAAAAAPzKAAAUKgEAICkAAAAAAADUygAAKSoBAITLAABCKgEAAAAAAAEAAABwLQAAAAAAANTKAADxKgEA/MoAAFErAQCoLQAAAAAAAPzKAAD+KgEAuC0AAAAAAADUygAAHysBAPzKAAAsKwEAmC0AAAAAAAD8ygAAMywBAJAtAAAAAAAA/MoAAEMsAQDQLQAAAAAAAPzKAAB4LAEAqC0AAAAAAAD8ygAAVCwBAPAtAAAAAAAA/MoAAJosAQCoLQAAAAAAAEzLAADCLAEATMsAAMQsAQBMywAAxywBAEzLAADJLAEATMsAAMssAQBMywAAzSwBAEzLAADPLAEATMsAANEsAQBMywAA0ywBAEzLAADVLAEATMsAAM0iAQBMywAA1ywBAEzLAADZLAEATMsAANssAQD8ygAA3SwBAJgtAAAAAAAAIC4AADAuAAAIJAAAICQAACAkAABwLgAAcC4AAGAuAABwLgAAIC4AACAkAABgLgAAIC4AADAkAAAIJAAAIC4AADAkAAAgJAAAIC4AADAkAAAgLgAAeCQAAIgkAAAgJAAAICQAAAAAAAB4JAAAAQAAAAIAAAAAAAAAWCQAAAEAAAADAAAAAAAAACgkAAAEAAAABQAAAAAAAACwJAAABgAAAAcAAAAIAAAAAQAAAAEAAAACAAAAAAAAAKgkAAAJAAAACgAAAAgAAAABAAAAAQAAAAEAAAAgJAAACCQAACAkAAAAAAAAwCQAAAsAAAAMAAAADQAAAAIAAAAAAAAA2CQAAA4AAAAPAAAAAQAAAAIAAAABAAAAAwAAAAAAAAAIJQAACwAAABAAAAARAAAAAwAAAAAAAAAYJQAACwAAABIAAAATAAAABAAAAG4AAACaAAAAegAAAIkAAAA/AAAAmAAAAJgAAADIAAAAuQAAAKAAAACaAAAAmgAAAJoAAACZAAAAmQAAAJkAAAC4AAAAmgAAALcAAACVAAAAhgAAAAAAAAAoJQAACwAAABQAAAAVAAAABQAAAAAAAADoJAAAFgAAABcAAAABAAAAAQAAAAAAAAA4JQAAGAAAABkAAAAaAAAAAwAAABsAAAAAAAAASCUAABwAAAAdAAAAHgAAAAMAAAAfAAAAAAAAAFglAAAgAAAAIQAAACIAAAADAAAAIwAAAKTLAADcywAA/MsAAAAAAAD+ywAAAAADAA7MAAAAAAMALswAAAAAAwAAAAAAAAAAAE7MAAAAAAMAgswAAAAABAC6zAAAAAAEADrNAAAAAAQAvs0AAAAABAAqzgAAAAAEAPbOAAAAAAQAxs8AAAAABACG0AAAAAAEAAAAAAAAAAAAotMAAAAABACa1gAAAQAEAJrWAAACAAQAmtYAAAMABACa1gAABAAEAJrWAAAGAAQAmtYAAAgABACa1gAACgAEAJrWAAANAAQAvtkAAAQABAC+2QAABQAEAL7ZAAAGAAQAvtkAAAcABAC+2QAACAAEAL7ZAAAJAAQAvtkAAAsABAC+2QAADQAEAAAAAAD5////NQAAAI3////9AQAA+Pr//2wGAABk2///SEkAAJwkAABsBgAACAUAAP0BAABzAAAANQAAAAcAAAAAAAAA+f///zUAAACN/////QEAAPj6//9sBgAAZNv//0hJAACcJAAAbAYAAAgFAAD9AQAAcwAAADUAAAAHAAAAAAAAAPj///83AAAAfv////QBAACd+v//0gUAAJbZ//88SQAAziIAAPgGAACtBAAABAIAAGQAAAA0AAAABwAAAAAAAAD4////NwAAAH7////0AQAAnfr//9IFAACW2f//PEkAAM4iAAD4BgAArQQAAAQCAABkAAAANAAAAAcAAAAAAAAA9////zgAAABv////6AEAAEL6//8qBQAAytf//xpJAAAAIQAAdgcAAFIEAAAIAgAAVwAAADMAAAAGAAAAAAAAAPf///84AAAAb////+gBAABC+v//KgUAAMrX//8aSQAAACEAAHYHAABSBAAACAIAAFcAAAAzAAAABgAAAAAAAAD2////OAAAAF/////ZAQAA6fn//3QEAAAA1v//4kgAADMfAADnBwAA+AMAAAoCAABKAAAAMQAAAAUAAAAAAAAA9v///zgAAABf////2QEAAOn5//90BAAAANb//+JIAAAzHwAA5wcAAPgDAAAKAgAASgAAADEAAAAFAAAAAAAAAPb///85AAAATv///8gBAACR+f//sAMAADvU//+SSAAAaB0AAEsIAACeAwAACQIAAD0AAAAwAAAABQAAAAAAAAD2////OQAAAE7////IAQAAkfn//7ADAAA71P//kkgAAGgdAABLCAAAngMAAAkCAAA9AAAAMAAAAAUAAAAAAAAA9f///zkAAAA9////swEAADr5///eAgAAetL//y1IAACgGwAAoggAAEYDAAAHAgAAMQAAAC4AAAAEAAAAAAAAAPX///85AAAAPf///7MBAAA6+f//3gIAAHrS//8tSAAAoBsAAKIIAABGAwAABwIAADEAAAAuAAAABAAAAAAAAAD0////OQAAACz///+bAQAA5vj///0BAAC+0P//skcAAN0ZAADtCAAA7wIAAAICAAAmAAAALAAAAAQAAAAAAAAA9P///zkAAAAs////mwEAAOb4///9AQAAvtD//7JHAADdGQAA7QgAAO8CAAACAgAAJgAAACwAAAAEAAAA//////P///85AAAAGv///4ABAACV+P//DwEAAArP//8hRwAAHhgAACsJAACaAgAA/AEAABwAAAAqAAAABAAAAP/////z////OQAAABr///+AAQAAlfj//w8BAAAKz///IUcAAB4YAAArCQAAmgIAAPwBAAAcAAAAKgAAAAQAAAD/////8f///zgAAAAI////YgEAAEb4//8SAAAAXc3//3pGAABkFgAAXgkAAEcCAAD0AQAAEgAAACgAAAADAAAA//////H///84AAAACP///2IBAABG+P//EgAAAF3N//96RgAAZBYAAF4JAABHAgAA9AEAABIAAAAoAAAAAwAAAP/////w////NwAAAPb+//9AAQAA/Pf//wb///+4y///v0UAALEUAACGCQAA9gEAAOsBAAAJAAAAJwAAAAMAAAD/////8P///zcAAAD2/v//QAEAAPz3//8G////uMv//79FAACxFAAAhgkAAPYBAADrAQAACQAAACcAAAADAAAA/////+////82AAAA5P7//xsBAAC19///7f3//x3K///wRAAABhMAAKIJAACnAQAA4AEAAAEAAAAlAAAAAwAAAP/////v////NgAAAOT+//8bAQAAtff//+39//8dyv//8EQAAAYTAACiCQAApwEAAOABAAABAAAAJQAAAAMAAAD/////7v///zQAAADR/v//8wAAAHP3///H/P//jcj//wxEAABiEQAAtAkAAFsBAADUAQAA+f///yMAAAACAAAA/////+7///80AAAA0f7///MAAABz9///x/z//43I//8MRAAAYhEAALQJAABbAQAA1AEAAPn///8jAAAAAgAAAP/////s////MgAAAL/+///HAAAANvf//5P7//8Jx///FUMAAMcPAAC8CQAAEgEAAMYBAADy////IQAAAAIAAAD/////7P///zIAAAC//v//xwAAADb3//+T+///Ccf//xVDAADHDwAAvAkAABIBAADGAQAA8v///yEAAAACAAAA/////+v///8vAAAArf7//5cAAAD/9v//Ufr//5DF//8LQgAANQ4AALoJAADMAAAAuAEAAOv///8fAAAAAgAAAP/////r////LwAAAK3+//+XAAAA//b//1H6//+Qxf//C0IAADUOAAC6CQAAzAAAALgBAADr////HwAAAAIAAAD/////6f///ywAAACb/v//ZQAAAM72//8D+f//JsT///BAAACtDAAArwkAAIgAAACpAQAA5f///x0AAAACAAAA/////+n///8sAAAAm/7//2UAAADO9v//A/n//ybE///wQAAArQwAAK8JAACIAAAAqQEAAOX///8dAAAAAgAAAP/////o////KQAAAIn+//8uAAAApPb//6n3///Jwv//wz8AADALAACcCQAASAAAAJkBAADg////HAAAAAIAAAD/////6P///ykAAACJ/v//LgAAAKT2//+p9///ycL//8M/AAAwCwAAnAkAAEgAAACZAQAA4P///xwAAAACAAAA/////+b///8lAAAAeP7///X///+A9v//Qvb//3vB//+FPgAAvgkAAIAJAAALAAAAiAEAANv///8aAAAAAQAAAP/////m////JQAAAHj+///1////gPb//0L2//97wf//hT4AAL4JAACACQAACwAAAIgBAADb////GgAAAAEAAABmFwEAfBcBAKMXAQDJFwEA3xcBAAYYAQAsGAEAQhgBAGkYAQCPGAEApRgBAMwYAQDwGAEABhkBAC0ZAQDwGAEAURkBAHgZAQDwGAEAURkBAHgZAQDwGAEAURkBAHgZAQCcGQEAshkBANkZAQAAAAAAAAAAFL4oCh3NpVMkqX9ZJnViRixyjHMtgfyxLgAAADTXIK40lNZiNZauHTb0R942ek+kN2W+NzwkyJ88vigKPfXGdj0LjOU9YWNWPi46yT4+/z0/vKK0PwWLFkTNpVNEapuRRPtl0EQAABBFUWRQRRWOkUW7eNNF8x8WRql/WUYAlJ1GTFniRhHMJ0f86G1H46y0R78U/EfXDiJMdWJGTOcDa0zo8Y9MPyu1TMCu2kxJewBNxo8mTSrrTE1yjHNNpXKaTdOcwU0SCulNgrkQTkiqOE6R22BOkEyJToH8sU6h6tpONhYET4t+LU/vIldPuAKBTz4dq0/gcdVPAAAAVIFjFVQq4ypUsX5AVM81VlQ+CGxU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qQApAMkASQCJAAkAAQAXAQcBFQAVAAMAAwADAAMAhgAXAQcBFwADAAMAAwADACcCBwIVAhUCJQElASUAJQCGABcAFQEVAQUBBQEFAAUAJwIHAhUCFQIlASUBJQAlAIgAFwEHARcAAwADAAMAAwCCATkCNwE3ARkDCQM5ACkCFwIXAicBJwEHAgcCJwAnADMDIwMGAYIBogEZAikBKQAHAQcBFQEVARUBFQEXABcABwAHADcDBwMlAyUDNQI1AjUANQATAzMBIwIDAggBCAIEAxkBBwEHARcAFwADAAMAAwADAAMAAwADAAMARAOCA6IDGQVZAcIDWQDiAykESQIXBBcERwFHAUcARwAJBCkDOQIJAxcDFwM3ATcBNwA3ACcCJwIVAhUCFQIVAiMBIwEFAiUAVQVFBVUEVQMzBUMEIwVTAgMFMwRDAzMDCAEIAhkCKQEVARUBFQEVAQcBBwEXABcABQAFAAUABQAGA4QDwgMZBVkB4gMCBCkESQIZBEcBRwEJBEkAKQM5AhkDOQEJAzkAJQIlAiUCJQIFAgUCBQIFAiUAJQAlACUAVwVXBEUFRQVTA1MDUwNTAzUFRQQjBSMFUwIDBTMEQwNTADMDCAEGAoQCxAICAxkCKQEpABcBFwEHAQcBFwAXAAcABwAiAzkFWQNCA0kEKQVZAhkFVwFXATcENwRHA0cDWQAJBCcERwI3A0cAFQQVBEUBRQElAzUCEwMTAzMBMwEFAzUAIwIDAlMFQwVTBAMFCAEIAgQDGQEHAQcBFwAXAAMAAwADAAMAAwADAAMAAwBGA8QDBgSCBKQE5AQkBRkHeQFiBYQFxAUZBmkBaQACBiIGQgYZBEkBSQApAzkCCQMXAxcDNwE3ATcANwAnAicCFQIlAQUCJQB3B2cHdwZXB3cFZwZFB0UHdQRVBmUFNQd1A3UDRQZFBlcFVwRlA2UDIwdzAmUEBQdzAHMAYwJjAkUFNQUDBgMGVQNFBDMGIwYlBVUCEwUTBVMBUwE1BEUDAwVTACMEQwIzAwMECAEIAggDBgQZAoIEFwEXAQcBBwEXABcABQAFAAUABQCkBOYEZAWiBcQFKQd5AgIGdwF3ARkHeQA5BmkDaQAiBkIGGQVnAmcCKQYJBhcGFwZnAWcBWQE5BFkAYgYpBEkCGQRJAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAiMBIwEjASMBAwIjAHUHZQd1BnUFZQZlBkUHRQd1BHUEVwdXBVUGZQUzBzMHcwNDBkUFVQQ1BVUDYwQDB0MEIwVTAgMFQwMzAwgBCAIIAwQERgTCBBkCKQHiBAkAFwEXAQcBBwEXABcABAVCBWIFggVZBjkHogUpB3kCSQZpBBkHeQHCBTkGaQNJBVkESQTiBScGJwZnAmcCZwFnARkGaQA5BVkDKQVZAhcFFwVXAVcBNwQ3BEcDRwNZAAkEJwQnBEcCRwIXBBcENQNFASUDNQJHAAcDNQA1ABMDEwMTAxMDMwEjAgMCIwB1B2UHcwZzBlMHcwVjBkMHcwRjBXMDUwUDB3MAAwYDBQgBCAIIAwQEGQEJARcAFwADAAMAAwADAAMAAwADAAMASARIBUgGSAdICEgJRgrGCkYLxgtGDMYMQg1kDaYNIg5EDoQOxA4ED4kBQg9iD4IPpA/iDxkFWQECECIQQhAZBEcBRwEJBEkAKQM5AhcDFwM3ATcBBwMHAzcANwAnAicCFQIlAQUCJQBoEGgRaBJmE+QTJBRmFOQUIhVEFYQVxBUEFkQWGQ/5AfkAghaiFsIW6QLiFhkO6QECFyIXQhdiF4IXohfJBjkNwhcpDdkCGQ25B+IXAhjJAyIYSQvXAdcBCQ3ZAIkKqQhJDMkEaQu5BjcMNwwnDCcMxwLHAlcLVwu5BYkJFwwXDMcBxwGZCAkMxwDHALkEaQqpBnkJNws3C7cDtwOJCFkKJwsnC6kFaQmnBKcEeQiJB5cElwR5B3kGtQK1ArUCtQIVCxULtQG1AQcLtwCXBkcKNwqnA1cJlwUlCiUKpQKlAhUKFQqlAaUBBwpnCKUApQCHBkcJlQOVAzcJVwiHBWcHJQklCZUClQJXB3cFNQg1CIUDhQNnBkcHdwRXBmcFdwMTCZMBBQmVAEUIhQR1AnUCRwZnBCMIIwgjCCMIgwITCDUHJQcTBxMHcwFzAVUFBQd1ADUGZQNFBVUEJQZlAjUFAwiDABMGYwEDBmMAVQNFBCMFIwVTAgMFMwRDA1MAIwRDAjMDRhj5D+kP2Q/pDskP2Q65D/kLyQ7ZDMIY5wznDNcN1w35CskNtw63DucL5wuXD5cP9wn3CecK5wq3DbcN1wvXC4cPhw/3CPcIxwzHDKkOmQ6HDocOeQ95DvUH9Qf1B/UH1QrVCqcNtwzHC/cGZQ9lD+UIVQ+VDdUJ9QXlB6UMtQtFD0UP9QT1BMcK5wb1A/UDMw8zD4UN1QgjD/MCZQ6VDAMPAw/FCVUOowujC3UN1QdDDkMOxQjVBjMOMw6zCbMJlQulCrMK4wXjBIMMYw3jAyMOAw7jAFMN0wVzDMMHQw2DC7MI0wSTCqMJYwzTA3MLUwzDBZMJcwqjB5MH9w73DPUN9Q3jDeMN4w3jDaMP4wkIAQgCCAMIBAgFBgaGBgQHQgdiBxcBFwEJARkABwAHAIgHiAiICYgKiAuGDAYNiA2GDgYPhg8GEIQQxhBGEcQRBBJEEoQSxBIEE0QThBPEEwIUIhRCFGQUohTCFOQUIhVCFWIVmQGCFaIVwhXiFQIWKQiJAhkIiQEiFkIWYhaCFikHeQJpBBkHWQV5AaIWOQZpA0kFWQQpBmkCGQbCFjkFZwFnAVkDSQQnBScFVwJXAhcFFwVXAVcBCQVZADcENwRHAycERwI3A0UBRQEXBAcEJQMlAzUCNQJHAAcDFQMVAzUBNQAjAiMCEwIjAQMCIwDiFgIX6Q4iF0IXYhf5C4IX2Q2pD/kKuQ7pC8kN2QyZD/kJ6Qq5DdkLiQ/5CMkMmQ7pCXkP+QepDdkKuQxpD6IXxwvHC/cG9waJDukIWQ+ZDfcF9wV3DncO5wfnB6cMpwzHCscKtwu3C9kJiQ1HD0cP9wT3BDcPNw/3A/cD1wjXCOcG5wYnDycP9wL3AmkO+QAXDxcP9wH3AZcMlwzHCccJVw6nC7cK5wV3DdcHRw7nBIcMxwg3DmcN1wbnA5cLtwknDicOpwqnCucC5wIXDhcO5wHnAQkO6QBXDVcN1wXXBXcMxwdHDYcL1QTVBLcIlwqnCWcMxwY3DdUD1QPVAtUCJw0HDRUNFQ11C3ULtQe1B9UB1QFXDNcAxQXFBYUKhQqlCEUMxQRlC7UGtQaXCQcMNQw1DMUDxQN1CnUKpQelB6UGpQbHAAcLwwLDAiUMVQu1BRUMhQmVCMUBRQu1BGUKNQt1CbMDswOVB4UIJQtVCrMCswKlBRULswGzAbUAZQmVBkUKpQR1CIUHNQqjA6MDUwmTBSMKowITCqMBBQqlAGMIYwiDBkMJkwQzCZMDkwN1BwUJUwiDBSMJYwdzBpMCEwmTAEMIgwRTB3MFMwiDA2MGQwdzBAMIgwBTBmMFMwdzA0MGAwdzAAMGYwDzD+MP8w7TD/MNww/zDNMO4w2zD8MO4wyjDgMPCAEIAggDBAQZAQkBFwAXAAMAAwADAAMAAwADAAMAAwBGBMYERAX5D4QFwgXoBfkC4gYZD/kBCAcICAgJCAoICwgMBg2GDQYOhg4GD4YPBhCEEMQQAhEkEWQRohFZAcIR4hECEiISGQRJAUISKQM5AhcDFwM3ATcBCQM5ACcCJwIVAiUBBQIlAOcP9w7XD/cNxw/3DLcP9wulD6UP9wqXD/cJ9wiFD4UPdQ/1B2UP9QZVD/UFQw9DD/ME8wPzAPMA8wDzAPMA8wDzAPMANQ81DzUPNQ9oEmYT5hNmFCMPAw/kFCQVZBWiFcQVBBZCFmQWpBbkFiQX6QNiF4IXohfCF+IXAhgiGAkNQhhiGIIYOQyiGBkMyQDCGOcC5wIpDhkO2QMpDdkC2QE5C+IYFw0XDckEaQvJA6kHJwwnDMkCuQXJAQkMSQu5BGkKqQa3A7cDWQqpBScLJwu3ArcCFwsXC7cBtwEJC7kAaQmZBkkKqQR5CIkHpwOnAzkKWQknCicKmQVpCKcBpwGJBnkHlwSXBEkJWQdnB2cHpQKlAqUCpQIVChUKBwqnADcJlwNXCIcFJQklCZUClQJ3BgcJFQkVCZUBlQGXAEcIhwR3BTcIhwNnBicIhQKFAkcHdwQVCBUIhQGFAYUAhQAHCFcGNQc1B3UDdQNnBUcGJQclB3UCdQJnBFcFBQcFBxMHEwcTBxMHcwFzAXUANQZlA0UFVQQlBmMCEwZjAWMBBQZlAFMDUwM1BUUEIwVTAhMFAwUzBEMDUwAjBEMCMwMDBEMAyQ4CGdcO1w7nCecJ6QrZCeUO5Q7lDuUO5w3nDecL5wu1DrUOxQ3FDdcM1wulDqUOxQzFDKcN1wp3DqcMxQrFCscJdw1VDlUOsw2zDbMNsw2TDpMOtQzFC4UO5QiVDeUHtQuFDdUIZQ7jBpMMpQu1CuUF1QdDDkMO5QSFDMMIMw5jDWMN1QaVC7UJpQrjAeMB0wTTBLUIpQlzC3MLtQfVAAMO4wBTDdMFcwzDB0MNgwuTCmMMwwYzDVMMwwWDCqMIkwlDDLMGcwpTC4MJkwhzCZMHgwjjDNMNCAEIAggD+Q8IBAgFCAYIBwgICAkGCoQKGQEJARkACQDpD/kO2Q/5DckP+Qy5D/kL9wr3CqkPmQ/3CfcJ9wj3CIkPeQ/3B/cHZw9nD/cG9wZXD1cP9wX3BUcPRw/3BPcENw83D/cD9wMnDycP9wL3AvcB9wEZD/kAxgpGC8YLRgzIDMYNRg7GDkQPhA/EDwQQRBCEEMQQBBFEEYYRBBJEEoQSxhJEE4YTAhQkFGQUohTEFAIVIhVCFWIVghWiFcIV4hUCFiIWQhZiFoIWohbCFuIWAhckF2IXhBd5A8IXeQJJBmkEWQV5ATkGaQNJBVkEKQZpAhkGaQHiFzkFWQNJBCkFWQIZBQIYVwFXATkESQMnBCcERwJHAjcDNwMXBBcERwFHAQkESQAnAycDNwI3AhUDFQMVAxUDNQE1ATUBNQEHAzcAJQIlAhMCEwITAhMCIwEjAQUCJQADDwMPAw8DD+cO1w7nDccO5wzXDbcO5wvHDdcMpw7nCrcN1wvHDJcO5wmnDdcKtwzHC4cO5wiXDdcJdw7nB6cMxwrHCrcLtwuHDYcN1wjXCAkO6QAHDQcN5QblBuUG5QZnDpcMxQnFCVUOVQ61CrUK5QXlBacLdw3VB9UH5QTlBIUMhQzFCMUIRw4nDjUONQ5lDdUG5QOVC7UJpQrlAhUO5QFVDdUFdQzFB0UNhQu1CNUElQqlCWUMxQY1DdUDJQ3VAhUNdQu1B9UBVQzFBYUKpQiVCUUMxQRlC2ULtQa1BtcABww1DDUMxQN1CqUHJQzFAlULtQUVDIUJlQjFAUULxwAHCzULNQu3AAcKFQoVCrMEswRlCqUGdQl1CZUHlQenAAcJlQCVALMDgwglC1UKswKzAqUFFQu1AWUJkwajBEUKdQiDB4MHMwqjA1MJkwUjCqMCowFjCIMGcwdDCZMEMwmTA1MIgwUjCWMHcwaTAhMJkwFDCIMEUwdzBTMIgwNjBiMIgwITCEMHcwSDAYMBBQiFAFMGYwUTBxMHBQd1ADMHIwcDBmMAAwVTAAAABYAPgAoAG4AeABQAEYAzgDYAPAA5gCgALYAngCIAY4BmAGwAaYB4AH2Ad4ByAFAAVYBfgFoAS4BOAEQAQYDDgMYAzADJgNgA3YDXgNIA8AD1gP+A+gDrgO4A5ADhgKAApYCvgKoAu4C+ALQAsYCTgJYAnACZgIgAjYCHgIIAg4GGAYwBiYGYAZ2Bl4GSAbABtYG/gboBq4GuAaQBoYHgAeWB74HqAfuB/gH0AfGB04HWAdwB2YHIAc2Bx4HCAUABRYFPgUoBW4FeAVQBUYFzgXYBfAF5gWgBbYFngWIBI4EmASwBKYE4AT2BN4EyARABFYEfgRoBC4EOAQQBAYEDgwYDDAMJgxgDHYMXgxIDMAM1gz+DOgMrgy4DJAMhg2ADZYNvg2oDe4N+A3QDcYNTg1YDXANZg0gDTYNHg0IDwAPFg8+DygPbg94D1APRg/OD9gP8A/mD6APtg+eD4gOjg6YDrAOpg7gDvYO3g7IDkAOVg5+DmgOLg44DhAOBg4AChYKPgooCm4KeApQCkYKzgrYCvAK5gqgCrYKngqIC44LmAuwC6YL4Av2C94LyAtAC1YLfgtoCy4LOAsQCwYJDgkYCTAJJglgCXYJXglICcAJ1gn+CegJrgm4CZAJhgiACJYIvgioCO4I+AjQCMYITghYCHAIZgggCDYIHggICSDVMQ0Jhc2UAJHBsYXkAb25EYXRhACRjbG9zZQBkZWNvZGVWaWRlb0J1ZmZlcgBpc1BsYXlpbmcAZmx2TW9kZQBhdWRpb0J1ZmZlcgB2aWRlb0J1ZmZlcgBicHMAYnVmZmVySW5mbwBINUxpdmVDbGllbnQAY2xvc2UAd2ViR0xDYW52YXMAaXNXZWJHTAB3ZWJnbDolcwAuZmx2AFdlYlNvY2tldABiaW5hcnlUeXBlAGFycmF5YnVmZmVyAG9ubWVzc2FnZQB3cwBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGJpbmQATjEwZW1zY3JpcHRlbjN2YWxFAGRhdGEAdW5rbm93IHR5cGU6ICVkAHNlbmQAWyJfX2JhbmR3aWR0aCJdAGVycm9yIHR5cGUgOiVkAHBsYXlBdWRpbwBpbml0QXVkaW8Ac2V0IGF1ZGlvIGJ1ZmZlckxlbmd0aDolZABnb3QgaDI2NCB2aWRlbwBnb3QgaDI2NSB2aWRlbwBPbmx5IHN1cHBvcnQgdmlkZW8gaC4yNjQvYXZjIG9yIGguMjY1L2hldmMgY29kZWMuIGFjdHVhbD0lZAB2aWRlbyBpbmZvIHNldCEAcmVzZXRUaW1lU3BhbgBjb2RlYyA9ICVkAHBsYXlWaWRlb0J1ZmZlcgB0aW1lc3BhbgBjbGVhclRpbWVvdXQAZnJvbnQAYmFjawBzaXplADhINUxDQmFzZQBQOEg1TENCYXNlAFBLOEg1TENCYXNlAGlpAHYAdmkAdmlpaQB2aWkAaWlpAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AaW1wbGVtZW50AGV4dGVuZAAxMkg1TGl2ZUNsaWVudABOMTBlbXNjcmlwdGVuN3dyYXBwZXJJOEg1TENCYXNlRUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxMkg1TGl2ZUNsaWVudABQSzEySDVMaXZlQ2xpZW50AGlpaWkAYXVkaW8gaW5pdCEgJWQAbXAzIGluaXQhAEgyNjUgaW5pdAA4TGliZGUyNjUAMTJWaWRlb0RlY29kZXIAdmlkZW8gZGVjb2RlciByZWxlYXNlIQoAZGUyNjVfZGVjb2Rl77yaJWQAY2FudmFzOiVkLCVkAHNldFZpZGVvU2l6ZQBkcmF3AGF1ZGlvIGRlY29kZXIgcmVsZWFzZQoAYXVkaW8gZGVjb2RlciByZWxlYXNlIQoARmx2RGVjb2RlciByZWxlYXNlIQoAX19kZXN0cnVjdAAuXGNhYmFjLmNjAGRlYmxvY2stJWQAblRocmVhZHNSdW5uaW5nID49IDAALlxpbWFnZS5jYwB0aHJlYWRfZmluaXNoZXMAcmVmUGljUTA9PXJlZlBpY1ExAC5cZGVibG9jay5jYwBkZXJpdmVfYm91bmRhcnlTdHJlbmd0aAAyNnRocmVhZF90YXNrX2RlYmxvY2tfQ1RCUm93ADExdGhyZWFkX3Rhc2sAJXAgZGVzdHJ1Y3RvcgoAbWZyZWUgJXAKADE1ZGVjb2Rlcl9jb250ZXh0ADEyYmFzZV9jb250ZXh0ADExZXJyb3JfcXVldWUAaW1nLT5CaXREZXB0aF9ZID49IDggJiYgaW1nLT5CaXREZXB0aF9ZIDw9IDE2AGRlMjY1X2ltYWdlX2dldF9idWZmZXIAaW1nLT5CaXREZXB0aF9DID49IDggJiYgaW1nLT5CaXREZXB0aF9DIDw9IDE2AHNhby0lZABmaXJzdCAlIDIgPT0gMABjb3B5X2xpbmVzX2Zyb20AZW5kICUgMiA9PSAwADE1dGhyZWFkX3Rhc2tfc2FvAHNsaWNlLXNlZ21lbnQtJWQ7JWQAaW5pdFR5cGUgPj0gMCAmJiBpbml0VHlwZSA8PSAyAC5cc2xpY2UuY2MAaW5pdGlhbGl6ZV9DQUJBQ19tb2RlbHMAJXAgZGVjb3VwbGUgKCVwKQoAcmVmY250AC5cY29udGV4dG1vZGVsLmNjAGRlY291cGxlAGRlY29kZV9wYXJ0X21vZGUAcmVhZF9jb2RpbmdfdW5pdABQcmVkTW9kZSA9PSBjdVByZWRNb2RlAHJlYWRfdHJhbnNmb3JtX3RyZWUAY29udGV4dCA+PSAwICYmIGNvbnRleHQgPD0gMgBkZWNvZGVfc3BsaXRfdHJhbnNmb3JtX2ZsYWcAISh0cmFmb0RlcHRoPT0wICYmIGxvZzJUcmFmb1NpemU9PTIpAGNiZl9jYiAhPSAtMQByZWFkX3RyYW5zZm9ybV91bml0AGNiZl9jciAhPSAtMQBjYmZfbHVtYSAhPSAtMQAuXHRyYW5zZm9ybS5jYwBzY2FsZV9jb2VmZmljaWVudHNfaW50ZXJuYWwAcmRwY21Nb2RlPT0wAGludHJhUHJlZE1vZGU8MzUALlxpbnRyYXByZWQuY2MAaW50cmFfcHJlZGljdGlvbl9hbmd1bGFyAGludHJhUHJlZE1vZGU+PTIAaW50cmFfcHJlZGljdGlvbl9zYW1wbGVfZmlsdGVyaW5nAG5UIDw9IE1BWF9JTlRSQV9QUkVEX0JMT0NLX1NJWkUAaW5pdABuVDw9MzIAZmlsbF9mcm9tX2ltYWdlAHg8c3BzLT5QaWNXaWR0aEluTWluUFVzAHNldF9JbnRyYVByZWRNb2RlQwB5PHNwcy0+UGljSGVpZ2h0SW5NaW5QVXMAaWR4PGludHJhUHJlZE1vZGVDLmRhdGFfc2l6ZQBzaGRyLT5zbGljZV90eXBlID09IFNMSUNFX1RZUEVfQgAuXG1vdGlvbi5jYwBnZW5lcmF0ZV9pbnRlcl9wcmVkaWN0aW9uX3NhbXBsZXMAbWNfY2hyb21hAG51bU1WUENhbmRMWD09MgBmaWxsX2x1bWFfbW90aW9uX3ZlY3Rvcl9wcmVkaWN0b3JzAGN0eC0+aGFzX2ltYWdlKGNvbFBpYykAZGVyaXZlX2NvbGxvY2F0ZWRfbW90aW9uX3ZlY3RvcnMAcmVmUGljTGlzdD49MABkZXJpdmVfc3BhdGlhbF9sdW1hX3ZlY3Rvcl9wcmVkaWN0aW9uAC4vaW1hZ2UuaABkZXJpdmVfY29tYmluZWRfYmlwcmVkaWN0aXZlX21lcmdpbmdfY2FuZGlkYXRlcwAlcCByZWxlYXNlICVwCgAlcCBhc3NpZ24gPSAlcAoAJXAgaW5pdAoAKnJlZmNudD4xAGRlY291cGxlX29yX2FsbG9jX3dpdGhfZW1wdHlfZGF0YQAlcCAoYWxsb2MpCgBtb2RlbFtpXS5zdGF0ZSA8PSA2MgBzZXRfaW5pdFZhbHVlADI1dGhyZWFkX3Rhc2tfc2xpY2Vfc2VnbWVudABjdGItcm93LSVkADE5dGhyZWFkX3Rhc2tfY3RiX3JvdwBhbGxvY19pbWFnZQBzcHMtPlN1YldpZHRoQyA9PSBTdWJXaWR0aEMAc3BzLT5TdWJIZWlnaHRDID09IFN1YkhlaWdodEMALlxiaXRzdHJlYW0uY2MAdmFsdWU+MABnZXRfdXZsYwBsZW5ndGggPj0gMABpbml0X0NBQkFDX2RlY29kZXIAY3R4SWR4TG9va3VwW2xvZzJ3LTJdW2NJZHhdW3NjYW5JZHhdW3ByZXZDc2JmXVt4QysoeUM8PGxvZzJ3KV0gPT0gY3R4SWR4SW5jAGFsbG9jX2FuZF9pbml0X3NpZ25pZmljYW50X2NvZWZmX2N0eElkeF9sb29rdXBUYWJsZQAuXGZhbGxiYWNrLWRjdC5jYwB0cmFuc2Zvcm1fc2tpcF8xNl9mYWxsYmFjawB0cmFuc2Zvcm1fc2tpcF84X2ZhbGxiYWNrAGxvZzJXRD49MQAuXGZhbGxiYWNrLW1vdGlvbi5jYwBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrACh3aWR0aCYxKT09MABwdXRfdW53ZWlnaHRlZF9wcmVkXzE2X2ZhbGxiYWNrAHB1dF93ZWlnaHRlZF9wcmVkX2F2Z18xNl9mYWxsYmFjawBwdXRfd2VpZ2h0ZWRfYmlwcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfOF9mYWxsYmFjawBwdXRfdW53ZWlnaHRlZF9wcmVkXzhfZmFsbGJhY2sAcHV0X3dlaWdodGVkX3ByZWRfYXZnXzhfZmFsbGJhY2sAbmFsAC5cZGVjY3R4LmNjAGRlY29kZQAhcmVvcmRlcl9vdXRwdXRfcXVldWUuZW1wdHkoKQAuXGRwYi5jYwBvdXRwdXRfbmV4dF9waWN0dXJlX2luX3Jlb3JkZXJfYnVmZmVyAFNFSSBkZWNvZGVkIHBpY3R1cmUgTUQ1IG1pc21hdGNoIChQT0M9JWQpCgBTRUkgZGVjb2RlZCBwaWN0dXJlIGhhc2g6ICUwNHgsIGRlY29kZWQgcGljdHVyZTogJTA0eCAoUE9DPSVkKQoAZGVjb2RlX3NsaWNlX3VuaXRfcGFyYWxsZWwAaW1nLT5udW1fdGhyZWFkc19hY3RpdmUoKSA9PSAwAGRlY29kZV9zbGljZV91bml0X3RpbGVzAG4gPCBuVGhyZWFkQ29udGV4dHMALi9kZWNjdHguaABnZXRfdGhyZWFkX2NvbnRleHQAdW5pdFggPj0gMCAmJiB1bml0WCA8IHdpZHRoX2luX3VuaXRzAC4uXGxpYmRlMjY1L2ltYWdlLmgAZ2V0AHVuaXRZID49IDAgJiYgdW5pdFkgPCBoZWlnaHRfaW5fdW5pdHMAdGhyZWFkX2NvbnRleHRzPT1OVUxMAGFsbG9jYXRlX3RocmVhZF9jb250ZXh0cwBkZWNvZGVfc2xpY2VfdW5pdF9XUFAAJXAgYyd0b3IgPSAlcAoALS0tLS0tLS0tLS0tLS0tLS0gUFBTIC0tLS0tLS0tLS0tLS0tLS0tCgBwaWNfcGFyYW1ldGVyX3NldF9pZCAgICAgICA6ICVkCgBzZXFfcGFyYW1ldGVyX3NldF9pZCAgICAgICA6ICVkCgBkZXBlbmRlbnRfc2xpY2Vfc2VnbWVudHNfZW5hYmxlZF9mbGFnIDogJWQKAHNpZ25fZGF0YV9oaWRpbmdfZmxhZyAgICAgIDogJWQKAGNhYmFjX2luaXRfcHJlc2VudF9mbGFnICAgIDogJWQKAG51bV9yZWZfaWR4X2wwX2RlZmF1bHRfYWN0aXZlIDogJWQKAG51bV9yZWZfaWR4X2wxX2RlZmF1bHRfYWN0aXZlIDogJWQKAHBpY19pbml0X3FwICAgICAgICAgICAgICAgIDogJWQKAGNvbnN0cmFpbmVkX2ludHJhX3ByZWRfZmxhZzogJWQKAHRyYW5zZm9ybV9za2lwX2VuYWJsZWRfZmxhZzogJWQKAGN1X3FwX2RlbHRhX2VuYWJsZWRfZmxhZyAgIDogJWQKAGRpZmZfY3VfcXBfZGVsdGFfZGVwdGggICAgIDogJWQKAHBpY19jYl9xcF9vZmZzZXQgICAgICAgICAgICAgOiAlZAoAcGljX2NyX3FwX29mZnNldCAgICAgICAgICAgICA6ICVkCgBwcHNfc2xpY2VfY2hyb21hX3FwX29mZnNldHNfcHJlc2VudF9mbGFnIDogJWQKAHdlaWdodGVkX3ByZWRfZmxhZyAgICAgICAgICAgOiAlZAoAd2VpZ2h0ZWRfYmlwcmVkX2ZsYWcgICAgICAgICA6ICVkCgBvdXRwdXRfZmxhZ19wcmVzZW50X2ZsYWcgICAgIDogJWQKAHRyYW5zcXVhbnRfYnlwYXNzX2VuYWJsZV9mbGFnOiAlZAoAdGlsZXNfZW5hYmxlZF9mbGFnICAgICAgICAgICA6ICVkCgBlbnRyb3B5X2NvZGluZ19zeW5jX2VuYWJsZWRfZmxhZzogJWQKAG51bV90aWxlX2NvbHVtbnMgICAgOiAlZAoAbnVtX3RpbGVfcm93cyAgICAgICA6ICVkCgB1bmlmb3JtX3NwYWNpbmdfZmxhZzogJWQKAHRpbGUgY29sdW1uIGJvdW5kYXJpZXM6IAB0aWxlIHJvdyBib3VuZGFyaWVzOiAAKiVkIABsb29wX2ZpbHRlcl9hY3Jvc3NfdGlsZXNfZW5hYmxlZF9mbGFnIDogJWQKAHBwc19sb29wX2ZpbHRlcl9hY3Jvc3Nfc2xpY2VzX2VuYWJsZWRfZmxhZzogJWQKAGRlYmxvY2tpbmdfZmlsdGVyX2NvbnRyb2xfcHJlc2VudF9mbGFnOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZW5hYmxlZF9mbGFnOiAlZAoAcGljX2Rpc2FibGVfZGVibG9ja2luZ19maWx0ZXJfZmxhZzogJWQKAGJldGFfb2Zmc2V0OiAgJWQKAHRjX29mZnNldDogICAgJWQKAHBpY19zY2FsaW5nX2xpc3RfZGF0YV9wcmVzZW50X2ZsYWc6ICVkCgBsaXN0c19tb2RpZmljYXRpb25fcHJlc2VudF9mbGFnOiAlZAoAbG9nMl9wYXJhbGxlbF9tZXJnZV9sZXZlbCAgICAgIDogJWQKAG51bV9leHRyYV9zbGljZV9oZWFkZXJfYml0cyAgICA6ICVkCgBzbGljZV9zZWdtZW50X2hlYWRlcl9leHRlbnNpb25fcHJlc2VudF9mbGFnIDogJWQKAHBwc19leHRlbnNpb25fZmxhZyAgICAgICAgICAgIDogJWQKAHBwc19yYW5nZV9leHRlbnNpb25fZmxhZyAgICAgIDogJWQKAHBwc19tdWx0aWxheWVyX2V4dGVuc2lvbl9mbGFnIDogJWQKAHBwc19leHRlbnNpb25fNmJpdHMgICAgICAgICAgIDogJWQKAExvZzJNaW5DdVFwRGVsdGFTaXplICAgICAgICAgIDogJWQKAExvZzJNaW5DdUNocm9tYVFwT2Zmc2V0U2l6ZSAoUkV4dCkgOiAlZAoATG9nMk1heFRyYW5zZm9ybVNraXBTaXplICAgIChSRXh0KSA6ICVkCgAtLS0tLS0tLS0tIFBQUyByYW5nZS1leHRlbnNpb24gLS0tLS0tLS0tLQoAbG9nMl9tYXhfdHJhbnNmb3JtX3NraXBfYmxvY2tfc2l6ZSAgICAgIDogJWQKAGNyb3NzX2NvbXBvbmVudF9wcmVkaWN0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBjaHJvbWFfcXBfb2Zmc2V0X2xpc3RfZW5hYmxlZF9mbGFnICAgICAgOiAlZAoAZGlmZl9jdV9jaHJvbWFfcXBfb2Zmc2V0X2RlcHRoICAgICAgICAgIDogJWQKAGNocm9tYV9xcF9vZmZzZXRfbGlzdF9sZW4gICAgICAgICAgICAgICA6ICVkCgBjYl9xcF9vZmZzZXRfbGlzdFslZF0gICAgICAgICAgICAgICAgICAgIDogJWQKAGNyX3FwX29mZnNldF9saXN0WyVkXSAgICAgICAgICAgICAgICAgICAgOiAlZAoAbG9nMl9zYW9fb2Zmc2V0X3NjYWxlX2x1bWEgICAgICAgICAgICAgIDogJWQKAGxvZzJfc2FvX29mZnNldF9zY2FsZV9jaHJvbWEgICAgICAgICAgICA6ICVkCgBJTkZPOiAAdGlsZVg+PTAgJiYgdGlsZVk+PTAALlxwcHMuY2MAc2V0X2Rlcml2ZWRfdmFsdWVzAHNjYWxpbmdfbGlzdF9wcmVkX21hdHJpeF9pZF9kZWx0YT09MQAuXHNwcy5jYwByZWFkX3NjYWxpbmdfbGlzdABmaWxsX3NjYWxpbmdfZmFjdG9yAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3cGljX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUALS0tLS0tLS0tLS0tLS0tLS0gU1BTIC0tLS0tLS0tLS0tLS0tLS0tCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICA6ICVkCgBzcHNfbWF4X3N1Yl9sYXllcnMgICAgICA6ICVkCgBzcHNfdGVtcG9yYWxfaWRfbmVzdGluZ19mbGFnIDogJWQKAHNlcV9wYXJhbWV0ZXJfc2V0X2lkICAgIDogJWQKADQ6NDo0AHVua25vd24AbW9ub2Nocm9tZQA0OjI6MAA0OjI6MgBjaHJvbWFfZm9ybWF0X2lkYyAgICAgICA6ICVkICglcykKAHNlcGFyYXRlX2NvbG91cl9wbGFuZV9mbGFnIDogJWQKAHBpY193aWR0aF9pbl9sdW1hX3NhbXBsZXMgIDogJWQKAHBpY19oZWlnaHRfaW5fbHVtYV9zYW1wbGVzIDogJWQKAGNvbmZvcm1hbmNlX3dpbmRvd19mbGFnICAgIDogJWQKAGNvbmZfd2luX2xlZnRfb2Zmc2V0ICA6ICVkCgBjb25mX3dpbl9yaWdodF9vZmZzZXQgOiAlZAoAY29uZl93aW5fdG9wX29mZnNldCAgIDogJWQKAGNvbmZfd2luX2JvdHRvbV9vZmZzZXQ6ICVkCgBiaXRfZGVwdGhfbHVtYSAgIDogJWQKAGJpdF9kZXB0aF9jaHJvbWEgOiAlZAoAbG9nMl9tYXhfcGljX29yZGVyX2NudF9sc2IgOiAlZAoAc3BzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxhZyA6ICVkCgBsb2cyX21pbl9sdW1hX2NvZGluZ19ibG9ja19zaXplIDogJWQKAGxvZzJfZGlmZl9tYXhfbWluX2x1bWFfY29kaW5nX2Jsb2NrX3NpemUgOiAlZAoAbG9nMl9taW5fdHJhbnNmb3JtX2Jsb2NrX3NpemUgICA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl90cmFuc2Zvcm1fYmxvY2tfc2l6ZSA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRlciA6ICVkCgBtYXhfdHJhbnNmb3JtX2hpZXJhcmNoeV9kZXB0aF9pbnRyYSA6ICVkCgBzY2FsaW5nX2xpc3RfZW5hYmxlX2ZsYWcgOiAlZAoATGF5ZXIgJWQKACAgc3BzX21heF9kZWNfcGljX2J1ZmZlcmluZyAgICAgIDogJWQKACAgc3BzX21heF9udW1fcmVvcmRlcl9waWNzICAgICAgIDogJWQKACAgc3BzX21heF9sYXRlbmN5X2luY3JlYXNlX3BsdXMxIDogJWQKAHNwc19zY2FsaW5nX2xpc3RfZGF0YV9wcmVzZW50X2ZsYWcgOiAlZAoAc2NhbGluZyBsaXN0IGxvZ2dpbmcgb3V0cHV0IG5vdCBpbXBsZW1lbnRlZABhbXBfZW5hYmxlZF9mbGFnICAgICAgICAgICAgICAgICAgICA6ICVkCgBzYW1wbGVfYWRhcHRpdmVfb2Zmc2V0X2VuYWJsZWRfZmxhZyA6ICVkCgBwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgICAgICAgICA6ICVkCgBwY21fc2FtcGxlX2JpdF9kZXB0aF9sdW1hICAgICA6ICVkCgBwY21fc2FtcGxlX2JpdF9kZXB0aF9jaHJvbWEgICA6ICVkCgBsb2cyX21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBsb2cyX2RpZmZfbWF4X21pbl9wY21fbHVtYV9jb2RpbmdfYmxvY2tfc2l6ZSA6ICVkCgBwY21fbG9vcF9maWx0ZXJfZGlzYWJsZV9mbGFnICA6ICVkCgBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMgOiAlZAoAbG9uZ190ZXJtX3JlZl9waWNzX3ByZXNlbnRfZmxhZyA6ICVkCgBudW1fbG9uZ190ZXJtX3JlZl9waWNzX3NwcyA6ICVkCgBsdF9yZWZfcGljX3BvY19sc2Jfc3BzWyVkXSA6ICVkICAgKHVzZWRfYnlfY3Vycl9waWNfbHRfc3BzX2ZsYWc9JWQpCgBzcHNfdGVtcG9yYWxfbXZwX2VuYWJsZWRfZmxhZyAgICAgIDogJWQKAHN0cm9uZ19pbnRyYV9zbW9vdGhpbmdfZW5hYmxlX2ZsYWcgOiAlZAoAdnVpX3BhcmFtZXRlcnNfcHJlc2VudF9mbGFnICAgICAgICA6ICVkCgBzcHNfZXh0ZW5zaW9uX3ByZXNlbnRfZmxhZyAgICA6ICVkCgBzcHNfcmFuZ2VfZXh0ZW5zaW9uX2ZsYWcgICAgICA6ICVkCgBzcHNfbXVsdGlsYXllcl9leHRlbnNpb25fZmxhZyA6ICVkCgBzcHNfZXh0ZW5zaW9uXzZiaXRzICAgICAgICAgICA6ICVkCgBDdGJTaXplWSAgICAgOiAlZAoATWluQ2JTaXplWSAgIDogJWQKAE1heENiU2l6ZVkgICA6ICVkCgBNaW5UQlNpemVZICAgOiAlZAoATWF4VEJTaXplWSAgIDogJWQKAFBpY1dpZHRoSW5DdGJzWSAgICAgICAgIDogJWQKAFBpY0hlaWdodEluQ3Ric1kgICAgICAgIDogJWQKAFN1YldpZHRoQyAgICAgICAgICAgICAgIDogJWQKAFN1YkhlaWdodEMgICAgICAgICAgICAgIDogJWQKAC0tLS0tLS0tLS0tLS0tLS0tIFZVSSAtLS0tLS0tLS0tLS0tLS0tLQoAc2FtcGxlIGFzcGVjdCByYXRpbyAgICAgICAgOiAlZDolZAoAb3ZlcnNjYW5faW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAb3ZlcnNjYW5fYXBwcm9wcmlhdGVfZmxhZyAgOiAlZAoAdmlkZW9fc2lnbmFsX3R5cGVfcHJlc2VudF9mbGFnOiAlZAoAdW5zcGVjaWZpZWQATUFDAFNFQ0FNAE5UU0MAUEFMAGNvbXBvbmVudAAgIHZpZGVvX2Zvcm1hdCAgICAgICAgICAgICAgICA6ICVzCgAgIHZpZGVvX2Z1bGxfcmFuZ2VfZmxhZyAgICAgICA6ICVkCgAgIGNvbG91cl9kZXNjcmlwdGlvbl9wcmVzZW50X2ZsYWcgOiAlZAoAICBjb2xvdXJfcHJpbWFyaWVzICAgICAgICAgICAgOiAlZAoAICB0cmFuc2Zlcl9jaGFyYWN0ZXJpc3RpY3MgICAgOiAlZAoAICBtYXRyaXhfY29lZmZzICAgICAgICAgICAgICAgOiAlZAoAY2hyb21hX2xvY19pbmZvX3ByZXNlbnRfZmxhZzogJWQKACAgY2hyb21hX3NhbXBsZV9sb2NfdHlwZV90b3BfZmllbGQgICA6ICVkCgAgIGNocm9tYV9zYW1wbGVfbG9jX3R5cGVfYm90dG9tX2ZpZWxkOiAlZAoAbmV1dHJhbF9jaHJvbWFfaW5kaWNhdGlvbl9mbGFnOiAlZAoAZmllbGRfc2VxX2ZsYWcgICAgICAgICAgICAgICAgOiAlZAoAZnJhbWVfZmllbGRfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAZGVmYXVsdF9kaXNwbGF5X3dpbmRvd19mbGFnICAgOiAlZAoAICBkZWZfZGlzcF93aW5fbGVmdF9vZmZzZXQgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fcmlnaHRfb2Zmc2V0ICAgOiAlZAoAICBkZWZfZGlzcF93aW5fdG9wX29mZnNldCAgICAgOiAlZAoAICBkZWZfZGlzcF93aW5fYm90dG9tX29mZnNldCAgOiAlZAoAdnVpX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyAgOiAlZAoAICB2dWlfbnVtX3VuaXRzX2luX3RpY2sgICAgICAgOiAlZAoAICB2dWlfdGltZV9zY2FsZSAgICAgICAgICAgICAgOiAlZAoAdnVpX3BvY19wcm9wb3J0aW9uYWxfdG9fdGltaW5nX2ZsYWcgOiAlZAoAdnVpX251bV90aWNrc19wb2NfZGlmZl9vbmUgICAgICAgICAgOiAlZAoAdnVpX2hyZF9wYXJhbWV0ZXJzX3ByZXNlbnRfZmxhZyA6ICVkCgBiaXRzdHJlYW1fcmVzdHJpY3Rpb25fZmxhZyAgICAgICAgIDogJWQKACAgdGlsZXNfZml4ZWRfc3RydWN0dXJlX2ZsYWcgICAgICAgOiAlZAoAICBtb3Rpb25fdmVjdG9yc19vdmVyX3BpY19ib3VuZGFyaWVzX2ZsYWcgOiAlZAoAICByZXN0cmljdGVkX3JlZl9waWNfbGlzdHNfZmxhZyAgICA6ICVkCgAgIG1pbl9zcGF0aWFsX3NlZ21lbnRhdGlvbl9pZGMgICAgIDogJWQKACAgbWF4X2J5dGVzX3Blcl9waWNfZGVub20gICAgICAgICAgOiAlZAoAICBtYXhfYml0c19wZXJfbWluX2N1X2Rlbm9tICAgICAgICA6ICVkCgAgIGxvZzJfbWF4X212X2xlbmd0aF9ob3Jpem9udGFsICAgIDogJWQKACAgbG9nMl9tYXhfbXZfbGVuZ3RoX3ZlcnRpY2FsICAgICAgOiAlZAoALS0tLS0tLS0tLS0tLS0tLS0gU1BTLXJhbmdlLWV4dGVuc2lvbiAtLS0tLS0tLS0tLS0tLS0tLQoAdHJhbnNmb3JtX3NraXBfcm90YXRpb25fZW5hYmxlZF9mbGFnICAgIDogJWQKAHRyYW5zZm9ybV9za2lwX2NvbnRleHRfZW5hYmxlZF9mbGFnICAgICA6ICVkCgBpbXBsaWNpdF9yZHBjbV9lbmFibGVkX2ZsYWcgICAgICAgICAgICAgOiAlZAoAZXhwbGljaXRfcmRwY21fZW5hYmxlZF9mbGFnICAgICAgICAgICAgIDogJWQKAGV4dGVuZGVkX3ByZWNpc2lvbl9wcm9jZXNzaW5nX2ZsYWcgICAgICA6ICVkCgBpbnRyYV9zbW9vdGhpbmdfZGlzYWJsZWRfZmxhZyAgICAgICAgICAgOiAlZAoAaGlnaF9wcmVjaXNpb25fb2Zmc2V0c19lbmFibGVkX2ZsYWcgICAgIDogJWQKAHBlcnNpc3RlbnRfcmljZV9hZGFwdGF0aW9uX2VuYWJsZWRfZmxhZyA6ICVkCgBjYWJhY19ieXBhc3NfYWxpZ25tZW50X2VuYWJsZWRfZmxhZyAgICAgOiAlZAoAKiVkJWMgAColcwoAICBQcm9maWxlL1RpZXIvTGV2ZWwgW0xheWVyICVkXQoAZ2VuZXJhbABzdWJfbGF5ZXIAICAlc19wcm9maWxlX3NwYWNlICAgICA6ICVkCgAgICVzX3RpZXJfZmxhZyAgICAgICAgIDogJWQKACh1bmtub3duKQBGb3JtYXRSYW5nZUV4dGVuc2lvbnMATWFpblN0aWxsUGljdHVyZQBNYWluMTAATWFpbgAgICVzX3Byb2ZpbGVfaWRjICAgICAgIDogJXMKACAgJXNfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdzOiAAKgoAICAgICVzX3Byb2dyZXNzaXZlX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19pbnRlcmxhY2VkX3NvdXJjZV9mbGFnIDogJWQKACAgICAlc19ub25fcGFja2VkX2NvbnN0cmFpbnRfZmxhZyA6ICVkCgAgICAgJXNfZnJhbWVfb25seV9jb25zdHJhaW50X2ZsYWcgOiAlZAoAKiwAKiVkACAgJXNfbGV2ZWxfaWRjICAgICAgICAgOiAlZCAoJTQuMmYpCgByZWY8NwBTUFMgZXJyb3I6IHRyYW5zZm9ybSBoaWVyYXJjaHkgZGVwdGggKGludGVyKSA+IENUQiBzaXplIC0gbWluIFRCIHNpemUKAFNQUyBlcnJvcjogdHJhbnNmb3JtIGhpZXJhcmNoeSBkZXB0aCAoaW50cmEpID4gQ1RCIHNpemUgLSBtaW4gVEIgc2l6ZQoAU1BTIGVycm9yOiBDQiBhbGlnbm1lbnQKAFNQUyBlcnJvcjogVEIgPiBDQgoAU1BTIGVycm9yOiBUQl9tYXggPiAzMiBvciBDVEIKAFNQUyBlcnJvcjogYml0ZGVwdGggWSBub3QgaW4gWzg7MTZdCgBTUFMgZXJyb3I6IGJpdGRlcHRoIEMgbm90IGluIFs4OzE2XQoAUklkeD49MAAuXHJlZnBpYy5jYwByZWFkX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXQAUklkeCA+PSAwICYmIFJJZHggPCBzZXRzLnNpemUoKQBqPj0wICYmIGogPCBNQVhfTlVNX1JFRl9QSUNTAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9lbXBsYWNlSTE3c2VxX3BhcmFtZXRlcl9zZXROU185YWxsb2NhdG9ySVMxX0VFRUUALS0tLS0tLS0tLS0tLS0tLS0gVlBTIC0tLS0tLS0tLS0tLS0tLS0tCgB2aWRlb19wYXJhbWV0ZXJfc2V0X2lkICAgICAgICAgICAgICAgIDogJWQKAHZwc19tYXhfbGF5ZXJzICAgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAdnBzX21heF9zdWJfbGF5ZXJzICAgICAgICAgICAgICAgICAgICA6ICVkCgB2cHNfdGVtcG9yYWxfaWRfbmVzdGluZ19mbGFnICAgICAgICAgIDogJWQKAHZwc19zdWJfbGF5ZXJfb3JkZXJpbmdfaW5mb19wcmVzZW50X2ZsYWcgOiAlZAoAbGF5ZXIgJWQ6IHZwc19tYXhfZGVjX3BpY19idWZmZXJpbmcgPSAlZAoAICAgICAgICAgdnBzX21heF9udW1fcmVvcmRlcl9waWNzICA9ICVkCgAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAGxheWVyIChhbGwpOiB2cHNfbWF4X2RlY19waWNfYnVmZmVyaW5nID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X251bV9yZW9yZGVyX3BpY3MgID0gJWQKACAgICAgICAgICAgICB2cHNfbWF4X2xhdGVuY3lfaW5jcmVhc2UgID0gJWQKAHZwc19tYXhfbGF5ZXJfaWQgICA9ICVkCgB2cHNfbnVtX2xheWVyX3NldHMgPSAlZAoAdnBzX3RpbWluZ19pbmZvX3ByZXNlbnRfZmxhZyA9ICVkCgBsYXllcl9pZF9pbmNsdWRlZF9mbGFnWyVkXVslZF0gPSAlZAoAdnBzX251bV91bml0c19pbl90aWNrID0gJWQKAHZwc190aW1lX3NjYWxlICAgICAgICA9ICVkCgB2cHNfcG9jX3Byb3BvcnRpb25hbF90b190aW1pbmdfZmxhZyA9ICVkCgB2cHNfbnVtX3RpY2tzX3BvY19kaWZmX29uZSA9ICVkCgB2cHNfbnVtX2hyZF9wYXJhbWV0ZXJzICAgICA9ICVkCgBocmRfbGF5ZXJfc2V0X2lkeFslZF0gPSAlZAoAdnBzX2V4dGVuc2lvbl9mbGFnID0gJWQKAGZpcnN0TGF5ZXJSZWFkIDwgTUFYX1RFTVBPUkFMX1NVQkxBWUVSUwAuXHZwcy5jYwByZWFkAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTl2aWRlb19wYXJhbWV0ZXJfc2V0TlNfOWFsbG9jYXRvcklTMV9FRUVFAHByb2Nlc3Nfc2xpY2Vfc2VnbWVudF9oZWFkZXIAaGRyLT5udW1fcmVmX2lkeF9sMF9hY3RpdmUgPD0gMTYAY29uc3RydWN0X3JlZmVyZW5jZV9waWN0dXJlX2xpc3RzAGhkci0+bnVtX3JlZl9pZHhfbDFfYWN0aXZlIDw9IDE2AGRwYi5oYXNfZnJlZV9kcGJfcGljdHVyZSh0cnVlKQBnZW5lcmF0ZV91bmF2YWlsYWJsZV9yZWZlcmVuY2VfcGljdHVyZQBpZHg+PTAAMABuZXdfaW1hZ2UAcHBzLT5wcHNfcmVhZABkdW1wX3NsaWNlX3NlZ21lbnRfaGVhZGVyAHNwcy0+c3BzX3JlYWQALS0tLS0tLS0tLS0tLS0tLS0gU0xJQ0UgLS0tLS0tLS0tLS0tLS0tLS0KAGZpcnN0X3NsaWNlX3NlZ21lbnRfaW5fcGljX2ZsYWcgICAgICA6ICVkCgBub19vdXRwdXRfb2ZfcHJpb3JfcGljc19mbGFnICAgICAgICAgOiAlZAoAc2xpY2VfcGljX3BhcmFtZXRlcl9zZXRfaWQgICAgICAgICAgIDogJWQKAGRlcGVuZGVudF9zbGljZV9zZWdtZW50X2ZsYWcgICAgICAgICA6ICVkCgBzbGljZV9zZWdtZW50X2FkZHJlc3MgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfdHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJWMKAHBpY19vdXRwdXRfZmxhZyAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBjb2xvdXJfcGxhbmVfaWQgICAgICAgICAgICAgICAgICAgICAgOiAlZAoAc2xpY2VfcGljX29yZGVyX2NudF9sc2IgICAgICAgICAgICAgIDogJWQKAHNob3J0X3Rlcm1fcmVmX3BpY19zZXRfc3BzX2ZsYWcgICAgICA6ICVkCgByZWZfcGljX3NldFsgJTJkIF06IABzaG9ydF90ZXJtX3JlZl9waWNfc2V0X2lkeCAgICAgICAgICAgOiAlZAoAbnVtX2xvbmdfdGVybV9zcHMgICAgICAgICAgICAgICAgICAgICAgICA6ICVkCgBudW1fbG9uZ190ZXJtX3BpY3MgICAgICAgICAgICAgICAgICAgICAgIDogJWQKAHNsaWNlX3RlbXBvcmFsX212cF9lbmFibGVkX2ZsYWcgOiAlZAoAc2xpY2Vfc2FvX2x1bWFfZmxhZyAgICAgICAgICAgICA6ICVkCgBzbGljZV9zYW9fY2hyb21hX2ZsYWcgICAgICAgICAgIDogJWQKAG51bV9yZWZfaWR4X2FjdGl2ZV9vdmVycmlkZV9mbGFnIDogJWQKAChmcm9tIFBQUykAbnVtX3JlZl9pZHhfbDBfYWN0aXZlICAgICAgICAgIDogJWQgJXMKAG51bV9yZWZfaWR4X2wxX2FjdGl2ZSAgICAgICAgICA6ICVkICVzCgByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uX2ZsYWdfbDAgOiAlZAoAICAlZDogJWQKAHJlZl9waWNfbGlzdF9tb2RpZmljYXRpb25fZmxhZ19sMSA6ICVkCgBtdmRfbDFfemVyb19mbGFnICAgICAgICAgICAgICAgOiAlZAoAY2FiYWNfaW5pdF9mbGFnICAgICAgICAgICAgICAgIDogJWQKAGNvbGxvY2F0ZWRfZnJvbV9sMF9mbGFnICAgICAgICA6ICVkCgBjb2xsb2NhdGVkX3JlZl9pZHggICAgICAgICAgICAgOiAlZAoAbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgICAgICAgIDogJWQKAENocm9tYUxvZzJXZWlnaHREZW5vbSAgICAgICAgICA6ICVkCgBMdW1hV2VpZ2h0X0wlZFslZF0gICAgICAgICAgICAgOiAlZAoAbHVtYV9vZmZzZXRfbCVkWyVkXSAgICAgICAgICAgIDogJWQKAENocm9tYVdlaWdodF9MJWRbJWRdWyVkXSAgICAgICAgOiAlZAoAQ2hyb21hT2Zmc2V0X0wlZFslZF1bJWRdICAgICAgICA6ICVkCgBmaXZlX21pbnVzX21heF9udW1fbWVyZ2VfY2FuZCAgOiAlZAoAc2xpY2VfcXBfZGVsdGEgICAgICAgICA6ICVkCgBzbGljZV9jYl9xcF9vZmZzZXQgICAgIDogJWQKAHNsaWNlX2NyX3FwX29mZnNldCAgICAgOiAlZAoAZGVibG9ja2luZ19maWx0ZXJfb3ZlcnJpZGVfZmxhZyA6ICVkCgAoZnJvbSBwcHMpAChvdmVycmlkZSkAc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyA6ICVkICVzCgBzbGljZV9iZXRhX29mZnNldCAgOiAlZAoAc2xpY2VfdGNfb2Zmc2V0ICAgIDogJWQKAHNsaWNlX2xvb3BfZmlsdGVyX2Fjcm9zc19zbGljZXNfZW5hYmxlZF9mbGFnIDogJWQKAG51bV9lbnRyeV9wb2ludF9vZmZzZXRzICAgIDogJWQKAG9mZnNldF9sZW4gICAgICAgICAgICAgICAgIDogJWQKAGVudHJ5IHBvaW50IFslaV0gOiAlZAoAcHBzAHJlYWRfcHJlZF93ZWlnaHRfdGFibGUAc3BzAHBlbmRpbmdfaW5wdXRfTkFMID09IE5VTEwALlxuYWwtcGFyc2VyLmNjAHB1c2hfTkFMAC5cZGUyNjUuY2MAY2hhbm5lbD49MCAmJiBjaGFubmVsIDw9IDIAZGUyNjVfZ2V0X2ltYWdlX3BsYW5lAGxheWVyMy5jAAYFBQUJCQkJBgkJCQYFBwMJCQwGBgkMBgsKAAASEgAADxIAAAcHBwAMDAwABg8MAAYGBgMMCQkGBgwJBggIBQAPDAkABhIJAAAAAAEAAgADAwABAQECAQMCAQICAgMDAQMCAwMEAgQDAAAAAAAAAAAAAAABAQEBAgIDAwMCAHJlcXVhbnRpemUgb3ZlcmZsb3cgKCVmICogMl4lZCkKAC1iaXRzX2xlZnQgPD0gTUFEX0JVRkZFUl9HVUFSRCAqIENIQVJfQklUAElJSV9odWZmZGVjb2RlAAQEBAQEBAYGBggKDBASFhwiKC42NsAEBAQEBAQEBAQEBAQGBgYGBgYKCgoMDAwODg4QEBAUFBQaGhpCQkIEBAQEBAQGBgQEBAYGBgYGBgoKCgwMDA4ODhAQEBQUFBoaGkJCQgQEBAQEBAYGCAgKDBAUGBwiKjI2TJ4EBAQEBAQEBAQEBAQGBgYICAgKCgoMDAwODg4SEhIWFhYeHh44ODgEBAQEBAQGBgQEBAYGBggICAoKCgwMDA4ODhISEhYWFh4eHjg4OAQEBAQEBAYGCAoMEBQYHiYuOERUZhoEBAQEBAQEBAQEBAQGBgYICAgMDAwQEBAUFBQaGhoiIiIqKioMDAwEBAQEBAQGBgQEBAYGBggICAwMDBAQEBQUFBoaGiIiIioqKgwMDAYGBgYGBggKDA4QEhYaICYuNj5GTCQEBAQEBAQEBAQGBgYICAgKCgoMDAwODg4SEhIYGBggICAsLCwMDAwGBgYGBgYGBgYICAgKCgoMDAwODg4SEhIYGBggICAsLCwMDAwGBgYGBgYICgwOEBQYHCAmLjQ8RDo2BAQEBAQEBAQEBgYGBgYGCAgICgoKDg4OEhISGhoaICAgKioqEhISBgYGBgYGBgYGBgYGCAgICgoKDg4OEhISGhoaICAgKioqEhISBAQEBAQEBAQEBgYGCAgICgoKDAwMDg4OEhISGBgYHh4eKCgoEhISBgYGBgYGBgYGCAgICgoKDAwMDg4OEhISGBgYHh4eKCgoEhISDAwMDAwMEBQYHCAoMDhATFoCAgICAggICAgICAgICAwMDBAQEBQUFBgYGBwcHCQkJAICAgICAgICAhoaGgwMDAQEBAgICAwMDBAQEBQUFBgYGBwcHCQkJAICAgICAgICAhoaGmRlbm9tICE9IDAAdGltZXIuYwBzY2FsZV9yYXRpb25hbAB2b2lkAGJvb2wAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AGludAB1bnNpZ25lZCBpbnQAbG9uZwB1bnNpZ25lZCBsb25nAGZsb2F0AGRvdWJsZQBzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAE5TdDNfXzI4aW9zX2Jhc2VFAE5TdDNfXzI5YmFzaWNfaW9zSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzI5YmFzaWNfaW9zSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTViYXNpY19zdHJlYW1idWZJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfaXN0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxM2Jhc2ljX29zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTFfX3N0ZG91dGJ1Zkl3RUUATlN0M19fMjExX19zdGRvdXRidWZJY0VFAHVuc3VwcG9ydGVkIGxvY2FsZSBmb3Igc3RhbmRhcmQgaW5wdXQATlN0M19fMjEwX19zdGRpbmJ1Zkl3RUUATlN0M19fMjEwX19zdGRpbmJ1ZkljRUUATlN0M19fMjdjb2xsYXRlSWNFRQBOU3QzX18yNmxvY2FsZTVmYWNldEUATlN0M19fMjdjb2xsYXRlSXdFRQAlcABDAE5TdDNfXzI3bnVtX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjlfX251bV9nZXRJY0VFAE5TdDNfXzIxNF9fbnVtX2dldF9iYXNlRQBOU3QzX18yN251bV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzI5X19udW1fZ2V0SXdFRQAlcAAAAABMAGxsACUAAAAAAGwATlN0M19fMjdudW1fcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEljRUUATlN0M19fMjE0X19udW1fcHV0X2Jhc2VFAE5TdDNfXzI3bnVtX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9wdXRJd0VFACVIOiVNOiVTACVtLyVkLyV5ACVJOiVNOiVTICVwACVhICViICVkICVIOiVNOiVTICVZAEFNAFBNAEphbnVhcnkARmVicnVhcnkATWFyY2gAQXByaWwATWF5AEp1bmUASnVseQBBdWd1c3QAU2VwdGVtYmVyAE9jdG9iZXIATm92ZW1iZXIARGVjZW1iZXIASmFuAEZlYgBNYXIAQXByAEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwBTdW5kYXkATW9uZGF5AFR1ZXNkYXkAV2VkbmVzZGF5AFRodXJzZGF5AEZyaWRheQBTYXR1cmRheQBTdW4ATW9uAFR1ZQBXZWQAVGh1AEZyaQBTYXQAJW0vJWQvJXklWS0lbS0lZCVJOiVNOiVTICVwJUg6JU0lSDolTTolUyVIOiVNOiVTTlN0M19fMjh0aW1lX2dldEljTlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjIwX190aW1lX2dldF9jX3N0b3JhZ2VJY0VFAE5TdDNfXzI5dGltZV9iYXNlRQBOU3QzX18yOHRpbWVfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUl3RUUATlN0M19fMjh0aW1lX3B1dEljTlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFRUUATlN0M19fMjEwX190aW1lX3B1dEUATlN0M19fMjh0aW1lX3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIwRUVFAE5TdDNfXzIxMG1vbmV5X2Jhc2VFAE5TdDNfXzIxMG1vbmV5cHVuY3RJY0xiMUVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjBFRUUATlN0M19fMjEwbW9uZXlwdW5jdEl3TGIxRUVFADAxMjM0NTY3ODkAJUxmAE5TdDNfXzI5bW9uZXlfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEljRUUAMDEyMzQ1Njc4OQBOU3QzX18yOW1vbmV5X2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9nZXRJd0VFACUuMExmAE5TdDNfXzI5bW9uZXlfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X3B1dEljRUUATlN0M19fMjltb25leV9wdXRJd05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SXdFRQBOU3QzX18yOG1lc3NhZ2VzSWNFRQBOU3QzX18yMTNtZXNzYWdlc19iYXNlRQBOU3QzX18yMTdfX3dpZGVuX2Zyb21fdXRmOElMbTMyRUVFAE5TdDNfXzI3Y29kZWN2dElEaWMxMV9fbWJzdGF0ZV90RUUATlN0M19fMjEyY29kZWN2dF9iYXNlRQBOU3QzX18yMTZfX25hcnJvd190b191dGY4SUxtMzJFRUUATlN0M19fMjhtZXNzYWdlc0l3RUUATlN0M19fMjdjb2RlY3Z0SWNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dEl3YzExX19tYnN0YXRlX3RFRQBOU3QzX18yN2NvZGVjdnRJRHNjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI2bG9jYWxlNV9faW1wRQBOU3QzX18yNWN0eXBlSWNFRQBOU3QzX18yMTBjdHlwZV9iYXNlRQBOU3QzX18yNWN0eXBlSXdFRQBmYWxzZQB0cnVlAE5TdDNfXzI4bnVtcHVuY3RJY0VFAE5TdDNfXzI4bnVtcHVuY3RJd0VFAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var tempDoublePtr=100352;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___cxa_free_exception(ptr){try{return _free(ptr)}catch(e){}}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var key in EXCEPTIONS.infos){var ptr=+key;var adj=EXCEPTIONS.infos[ptr].adjusted;var len=adj.length;for(var i=0;i<len;i++){if(adj[i]===adjusted){return ptr}}}return adjusted},addRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++},decRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}},clearRef:function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0}};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted.push(thrown);return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr}function ___gxx_personality_v0(){}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(1);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)},resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(19)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.flush(stream.tty)},flush:function(stream){stream.tty.ops.flush(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(6)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(6)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(5)}if(length){stream.node.timestamp=Date.now()}return i}},default_tty_ops:{get_char:function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(1)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[2]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(39)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(39)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(22)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(22)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(12)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(19)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},mount:function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(22)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(22)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(-e.errno)}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(-e.errno)}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(-e.errno)}}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(2)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(1)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(1)},unlink:function(parent,name){throw new FS.ErrnoError(1)},rmdir:function(parent,name){throw new FS.ErrnoError(1)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(1)},readlink:function(node){throw new FS.ErrnoError(1)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(5)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(22)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(40)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(40)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 13}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 13}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 13}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 13;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 17}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 20}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 16}}else{if(FS.isDir(node.mode)){return 21}}return 0},mayOpen:function(node,flags){if(!node){return 2}if(FS.isLink(node.mode)){return 40}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 21}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(24)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(29)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(16)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(22)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(22)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(1)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=17)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(2)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(2)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(1)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(16)}if(!old_dir||!new_dir)throw new FS.ErrnoError(2);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(18)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(22)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(39)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(1)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(16)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(20)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(1)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(16)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(2)}if(!link.node_ops.readlink){throw new FS.ErrnoError(22)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(2)}if(!node.node_ops.getattr){throw new FS.ErrnoError(1)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(22)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(1)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(21)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(22)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(22)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(2)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(17)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(2)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(20)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(29)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(22)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.read){throw new FS.ErrnoError(22)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(22)}if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(21)}if(!stream.stream_ops.write){throw new FS.ErrnoError(22)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(29)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(9)}if(offset<0||length<=0){throw new FS.ErrnoError(22)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(9)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(19)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(95)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(13)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(19)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(25)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(2)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(20)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(9);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error";if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[2].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(5)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(11)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead},write:function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(5)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(5);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(5)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){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];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream},getSocketFromFD:function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket},getSocketAddress:function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();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();if(!(offset_high==-1&&offset_low<0)&&!(offset_high==0&&offset_low>=0)){return-ERRNO_CODES.EOVERFLOW}var offset=offset_low;FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}case 21524:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){switch(value){case undefined:{return 1}case null:{return 2}case true:{return 3}case false:{return 4}default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError("Tried to register registered instance: "+ptr)}else{registeredInstances[ptr]=instance}}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError("Tried to unregister unregistered instance: "+ptr)}}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=requireHandle(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError("Pure virtual function "+name+" must be implemented in JavaScript")}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return __emval_register(ctor)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach(function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(function(cb){cb()})}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i<signature.length;++i){args.push("a"+i)}var name="dynCall_"+signature+"_"+rawFunction;var body="return function "+name+"("+args.join(", ")+") {\n";body+=" return dynCall(rawFunction"+(args.length?", ":"")+args.join(", ")+");\n";body+="};\n";return new Function("dynCall","rawFunction",body)(dynCall,rawFunction)}var fp;if(Module["FUNCTION_TABLE_"+signature]!==undefined){fp=Module["FUNCTION_TABLE_"+signature][rawFunction]}else if(typeof FUNCTION_TABLE!=="undefined"){fp=FUNCTION_TABLE[rawFunction]}else{var dc=Module["dynCall_"+signature];if(dc===undefined){dc=Module["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=makeDynCaller(dc)}if(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!=="void";var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";if(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="var ret = retType.fromWireType(rv);\n"+"return ret;\n"}else{}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=function(v){throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<<bitshift>>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}str=a.join("")}_free(value);return str},"toWireType":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var getLength;var valueIsOfTypeString=typeof value==="string";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError("Cannot pass non-string to std::string")}if(stdStringIsUTF8&&valueIsOfTypeString){getLength=function(){return lengthBytesUTF8(value)}}else{getLength=function(){return value.length}}var length=getLength();var ptr=_malloc(4+length+1);HEAPU32[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+4+i]=value[i]}}}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")},"toWireType":function(destructors,value){var HEAP=getHeap();var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emval_as(handle,returnType,destructorsRef){handle=requireHandle(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=__emval_register(destructors);HEAP32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type["argPackAdvance"]}var rv=handle.apply(undefined,args);return __emval_register(rv)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return __emval_register(emval_get_global())}else{name=getStringOrSymbol(name);return __emval_register(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?", ":"")+"arg"+i;params.push("argType"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName("methodCaller_"+signatureName);var functionBody="return function "+functionName+"(handle, name, destructors, args) {\n";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=" var arg"+i+" = argType"+i+".readValueFromPointer(args"+(offset?"+"+offset:"")+");\n";offset+=types[i+1]["argPackAdvance"]}functionBody+=" var rv = handle[name]("+argsList+");\n";for(var i=0;i<argCount-1;++i){if(types[i+1]["deleteObject"]){functionBody+=" argType"+i+".deleteObject(arg"+i+");\n"}}if(!retType.isVoid){functionBody+=" return retType.toWireType(destructors, rv);\n"}functionBody+="};\n";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);return __emval_addMethodCaller(invokerFunction)}function __emval_get_property(handle,key){handle=requireHandle(handle);key=requireHandle(key);return __emval_register(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;i<argCount;++i){argsList+=(i!==0?", ":"")+"arg"+i}var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n";for(var i=0;i<argCount;++i){functionBody+="var argType"+i+" = requireRegisteredType(Module['HEAP32'][(argTypes >> 2) + "+i+'], "parameter '+i+'");\n'+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return __emval_register(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","__emval_register",functionBody)(requireRegisteredType,Module,__emval_register)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=requireHandle(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_new_object(){return __emval_register({})}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=requireHandle(handle);key=requireHandle(key);value=requireHandle(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_heap_size(){return HEAP8.length}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){assert((varargs&3)===0);var textIndex=format;var argIndex=varargs;function prepVararg(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}function getNextArg(type){var ret;argIndex=prepVararg(argIndex,type);if(type==="double"){ret=HEAPF64[argIndex>>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{assert((argIndex&3)===0);type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"f":case"F":case"e":case"E":case"g":case"G":{currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach(function(chr){ret.push(chr.charCodeAt(0))});break}case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break}case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function __emscripten_traverse_stack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a==="number"||typeof a==="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map==="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=__emscripten_traverse_stack(arguments);while(stack_args[1].indexOf("_emscripten_")>=0)stack_args=__emscripten_traverse_stack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var jsSymbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){jsSymbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var cSymbolName=flags&32?demangle(jsSymbolName):jsSymbolName;if(!cSymbolName){cSymbolName=jsSymbolName}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+cSymbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+jsSymbolName:" at "+cSymbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==jsSymbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=__emscripten_traverse_stack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,varargs){var format=HEAP32[varargs>>2];varargs+=4;var str="";if(format){var result=__formatString(format,varargs);for(var i=0;i<result.length;++i){str+=String.fromCharCode(result[i])}}_emscripten_log_js(flags,str)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var ENV={};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 _init(){window.AudioContext=window.AudioContext||window.webkitAudioContext;var context=new window.AudioContext;if(/(iPhone|iPad|iPod|iOS|Safari)/i.test(navigator.userAgent)){function _unlock(){context.resume();var source=context.createBufferSource();source.buffer=context.createBuffer(1,1,22050);source.connect(context.destination);if(source.noteOn)source.noteOn(0);else source.start(0)}document.addEventListener("mousedown",_unlock,true);document.addEventListener("touchend",_unlock,true)}function H264bsdCanvas(canvas,forceNoGL,contextOptions){this.canvasElement=canvas;this.contextOptions=contextOptions;if(!forceNoGL)this.initContextGL();if(this.contextGL){this.initProgram();this.initBuffers();this.initTextures()}}H264bsdCanvas.prototype.isWebGL=function(){return!!this.contextGL};H264bsdCanvas.prototype.initContextGL=function(){var canvas=this.canvasElement;var gl=null;var validContextNames=["webgl","experimental-webgl","moz-webgl","webkit-3d"];var nameIndex=0;while(!gl&&nameIndex<validContextNames.length){var contextName=validContextNames[nameIndex];try{if(this.contextOptions){gl=canvas.getContext(contextName,this.contextOptions)}else{gl=canvas.getContext(contextName)}}catch(e){gl=null}if(!gl||typeof gl.getParameter!=="function"){gl=null}++nameIndex}this.contextGL=gl};H264bsdCanvas.prototype.initProgram=function(){var gl=this.contextGL;var vertexShaderScript=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n");var fragmentShaderScript=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");var vertexShader=gl.createShader(gl.VERTEX_SHADER);gl.shaderSource(vertexShader,vertexShaderScript);gl.compileShader(vertexShader);if(!gl.getShaderParameter(vertexShader,gl.COMPILE_STATUS)){console.log("Vertex shader failed to compile: "+gl.getShaderInfoLog(vertexShader))}var fragmentShader=gl.createShader(gl.FRAGMENT_SHADER);gl.shaderSource(fragmentShader,fragmentShaderScript);gl.compileShader(fragmentShader);if(!gl.getShaderParameter(fragmentShader,gl.COMPILE_STATUS)){console.log("Fragment shader failed to compile: "+gl.getShaderInfoLog(fragmentShader))}var program=gl.createProgram();gl.attachShader(program,vertexShader);gl.attachShader(program,fragmentShader);gl.linkProgram(program);if(!gl.getProgramParameter(program,gl.LINK_STATUS)){console.log("Program failed to compile: "+gl.getProgramInfoLog(program))}gl.useProgram(program);this.shaderProgram=program};H264bsdCanvas.prototype.initBuffers=function(){var gl=this.contextGL;var program=this.shaderProgram;var vertexPosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,vertexPosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),gl.STATIC_DRAW);var vertexPosRef=gl.getAttribLocation(program,"vertexPos");gl.enableVertexAttribArray(vertexPosRef);gl.vertexAttribPointer(vertexPosRef,2,gl.FLOAT,false,0,0);var texturePosBuffer=gl.createBuffer();gl.bindBuffer(gl.ARRAY_BUFFER,texturePosBuffer);gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),gl.STATIC_DRAW);var texturePosRef=gl.getAttribLocation(program,"texturePos");gl.enableVertexAttribArray(texturePosRef);gl.vertexAttribPointer(texturePosRef,2,gl.FLOAT,false,0,0);this.texturePosBuffer=texturePosBuffer};H264bsdCanvas.prototype.initTextures=function(){var gl=this.contextGL;var program=this.shaderProgram;var yTextureRef=this.initTexture();var ySamplerRef=gl.getUniformLocation(program,"ySampler");gl.uniform1i(ySamplerRef,0);this.yTextureRef=yTextureRef;var uTextureRef=this.initTexture();var uSamplerRef=gl.getUniformLocation(program,"uSampler");gl.uniform1i(uSamplerRef,1);this.uTextureRef=uTextureRef;var vTextureRef=this.initTexture();var vSamplerRef=gl.getUniformLocation(program,"vSampler");gl.uniform1i(vSamplerRef,2);this.vTextureRef=vTextureRef};H264bsdCanvas.prototype.initTexture=function(){var gl=this.contextGL;var textureRef=gl.createTexture();gl.bindTexture(gl.TEXTURE_2D,textureRef);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_S,gl.CLAMP_TO_EDGE);gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_WRAP_T,gl.CLAMP_TO_EDGE);gl.bindTexture(gl.TEXTURE_2D,null);return textureRef};H264bsdCanvas.prototype.drawNextOutputPicture=function(width,height,croppingParams,data){var gl=this.contextGL;if(gl){this.drawNextOuptutPictureGL(width,height,croppingParams,data)}else{this.drawNextOuptutPictureRGBA(width,height,croppingParams,data)}};H264bsdCanvas.prototype.drawNextOuptutPictureGL=function(width,height,croppingParams,data){var gl=this.contextGL;var texturePosBuffer=this.texturePosBuffer;var yTextureRef=this.yTextureRef;var uTextureRef=this.uTextureRef;var vTextureRef=this.vTextureRef;this.contextGL.viewport(0,0,this.canvasElement.width,this.canvasElement.height);gl.activeTexture(gl.TEXTURE0);gl.bindTexture(gl.TEXTURE_2D,yTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width,height,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[0]);gl.activeTexture(gl.TEXTURE1);gl.bindTexture(gl.TEXTURE_2D,uTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[1]);gl.activeTexture(gl.TEXTURE2);gl.bindTexture(gl.TEXTURE_2D,vTextureRef);gl.texImage2D(gl.TEXTURE_2D,0,gl.LUMINANCE,width/2,height/2,0,gl.LUMINANCE,gl.UNSIGNED_BYTE,data[2]);gl.drawArrays(gl.TRIANGLE_STRIP,0,4)};H264bsdCanvas.prototype.drawNextOuptutPictureRGBA=function(width,height,croppingParams,data){this.imageData.data.set(data);if(!croppingParams){this.ctx2d.putImageData(this.imageData,0,0)}else{this.ctx2d.putImageData(this.imageData,-croppingParams.left,-croppingParams.top,0,0,croppingParams.width,croppingParams.height)}};H264bsdCanvas.prototype.ctx2d=null;H264bsdCanvas.prototype.imageData=null;H264bsdCanvas.prototype.initRGB=function(width,height){this.ctx2d=this.canvasElement.getContext("2d");this.imageData=this.ctx2d.getImageData(0,0,width,height);this.clear=function(){this.ctx2d.clearRect(0,0,width,height)}};H264bsdCanvas.prototype.clear=function(){this.contextGL.clear(this.contextGL.COLOR_BUFFER_BIT)};window.WebGLCanvas=H264bsdCanvas;if(!Date.now)Date.now=function(){return(new Date).getTime()};window.H5LiveClient=Module.H5LCBase.extend("H5LC",{__construct:function(){this.__parent.__construct.call(this,this)},__destruct:function(){this.__parent.__destruct.call(this)},onError:function(err){console.log(this,err)},setStartTime:function(offset){console.log("first timestamp:",offset);var startTime=Date.now()-offset;this.timespan=function(t){return t-(Date.now()-startTime)};function playVideo(_this){_this.decodeVideoBuffer()}this.playVideoBuffer=function(t){return setTimeout(playVideo,t,this)}},timespan:function(t){this.setStartTime(t);return this.timespan(t)},resetTimeSpan:function(){delete this.timespan},play:function(url,canvas,forceNoGL,contextOptions){if(!this.webGLCanvas||this.webGLCanvas.canvasElement!=canvas){this.webGLCanvas=new H264bsdCanvas(canvas,forceNoGL,contextOptions)}var _this=this;var reconnectCount=0;var reconnectTime=2e3;console.log("H5LiverClient play",url);function setWebsocket(){this.$play(url);this.ws.onopen=function(){reconnectCount=0;reconnectTime=2e3;console.log("ws open")};this.ws.onclose=function(){_this.isPlaying=false;_this.ws=null;_this.$close();if(reconnectCount>3)return;reconnectCount++;console.warn("ws reconnect after "+(reconnectTime/1e3>>0)+" second");_this.reconnectId=setTimeout(function(){console.log("ws reconnecting :",reconnectCount);reconnectTime*=2;setWebsocket.call(_this)},reconnectTime)};this.ws.onerror=function(){console.warn("ws error")}}setWebsocket.call(this)},close:function(){clearTimeout(this.reconnectId);if(!this.isPlaying)return;console.log("close H5LiverClient");this.isPlaying=false;this.ws.onmessage=null;this.ws.onclose=null;this.ws.onerror=null;this.ws.close();this.ws=null;this.webGLCanvas.clear();this.$close();delete this.timespan},initAudio:function(frameCount,samplerate,channels,outputPtr){var isPlaying=false;var audioBuffers=[];var allFrameCount=frameCount*channels;if(!context)return false;var resampled=samplerate<22050;var audioBuffer=resampled?context.createBuffer(channels,frameCount<<1,samplerate<<1):context.createBuffer(channels,frameCount,samplerate);var audioOutputArray=HEAP16.subarray(outputPtr,outputPtr+allFrameCount);var playNextBuffer=function(){isPlaying=false;if(audioBuffers.length){playAudio(audioBuffers.shift())}if(audioBuffers.length>1)audioBuffers.shift()};var copyAudioOutputArray=resampled?function(target){for(var i=0;i<allFrameCount;i++){var j=i<<1;target[j]=target[j+1]=audioOutputArray[i]/32768}}:function(target){for(var i=0;i<allFrameCount;i++){target[i]=audioOutputArray[i]/32768}};var copyToCtxBuffer=channels>1?function(fromBuffer){for(var channel=0;channel<channels;channel++){var nowBuffering=audioBuffer.getChannelData(channel);if(fromBuffer){for(var i=0;i<frameCount;i++){nowBuffering[i]=fromBuffer[i*(channel+1)]}}else{for(var i=0;i<frameCount;i++){nowBuffering[i]=audioOutputArray[i*(channel+1)]/32768}}}}:function(fromBuffer){var nowBuffering=audioBuffer.getChannelData(0);if(fromBuffer)nowBuffering.set(fromBuffer);else copyAudioOutputArray(nowBuffering)};var playAudio=function(fromBuffer){if(isPlaying){var buffer=new Float32Array(resampled?allFrameCount*2:allFrameCount);copyAudioOutputArray(buffer);audioBuffers.push(buffer);return}isPlaying=true;copyToCtxBuffer(fromBuffer);var source=context.createBufferSource();source.buffer=audioBuffer;source.connect(context.destination);source.onended=playNextBuffer;source.start()};this.playAudio=playAudio},setVideoSize:function(w,h,dataPtr){if(this.webGLCanvas.isWebGL()){this.draw=function(){var y=HEAPU32[dataPtr];var u=HEAPU32[dataPtr+1];var v=HEAPU32[dataPtr+2];var outputArray=[HEAPU8.subarray(y,y+w*h),HEAPU8.subarray(u,u+(w*h>>2)),HEAPU8.subarray(v,v+(w*h>>2))];this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}else{var outputArray=HEAPU8.subarray(dataPtr,dataPtr+(w*h<<2));this.webGLCanvas.initRGB(w,h);this.draw=function(){this.webGLCanvas.drawNextOutputPicture(w,h,this.croppingParams,outputArray)}}}})}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _pthread_cond_destroy(){return 0}function _pthread_cond_init(){return 0}function _pthread_cond_signal(){return 0}function _pthread_cond_wait(){return 0}function _pthread_join(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}FS.staticInit();if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;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))}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":ClassHandle,"e":ClassHandle_clone,"f":ClassHandle_delete,"g":ClassHandle_deleteLater,"h":ClassHandle_isAliasOf,"i":ClassHandle_isDeleted,"j":RegisteredClass,"k":RegisteredPointer,"l":RegisteredPointer_deleteObject,"m":RegisteredPointer_destructor,"n":RegisteredPointer_fromWireType,"o":RegisteredPointer_getPointee,"p":__ZSt18uncaught_exceptionv,"q":___assert_fail,"r":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_find_matching_catch,"u":___cxa_free_exception,"v":___cxa_pure_virtual,"w":___cxa_throw,"x":___gxx_personality_v0,"y":___lock,"z":___map_file,"A":___resumeException,"B":___setErrNo,"C":___syscall140,"D":___syscall145,"E":___syscall146,"F":___syscall54,"G":___syscall6,"H":___syscall91,"I":___unlock,"J":__addDays,"K":__arraySum,"L":__embind_create_inheriting_constructor,"M":__embind_register_bool,"N":__embind_register_class,"O":__embind_register_class_class_function,"P":__embind_register_class_function,"Q":__embind_register_class_property,"R":__embind_register_emval,"S":__embind_register_float,"T":__embind_register_integer,"U":__embind_register_memory_view,"V":__embind_register_std_string,"W":__embind_register_std_wstring,"X":__embind_register_void,"Y":__emscripten_traverse_stack,"Z":__emval_addMethodCaller,"_":__emval_allocateDestructors,"$":__emval_as,"aa":__emval_call,"ab":__emval_call_method,"ac":__emval_call_void_method,"ad":__emval_decref,"ae":__emval_get_global,"af":__emval_get_method_caller,"ag":__emval_get_property,"ah":__emval_incref,"ai":__emval_lookupTypes,"aj":__emval_new,"ak":__emval_new_cstring,"al":__emval_new_object,"am":__emval_register,"an":__emval_run_destructors,"ao":__emval_set_property,"ap":__emval_take_value,"aq":__formatString,"ar":__isLeapYear,"as":__reallyNegative,"at":_abort,"au":_clock,"av":_embind_repr,"aw":_emscripten_get_callstack_js,"ax":_emscripten_get_heap_size,"ay":_emscripten_log,"az":_emscripten_log_js,"aA":_emscripten_memcpy_big,"aB":_emscripten_resize_heap,"aC":_getenv,"aD":_init,"aE":_llvm_stackrestore,"aF":_llvm_stacksave,"aG":_llvm_trap,"aH":_pthread_cond_destroy,"aI":_pthread_cond_init,"aJ":_pthread_cond_signal,"aK":_pthread_cond_wait,"aL":_pthread_join,"aM":_strftime,"aN":_strftime_l,"aO":abortOnCannotGrowMemory,"aP":constNoSmartPtrRawPointerToWireType,"aQ":count_emval_handles,"aR":craftEmvalAllocator,"aS":craftInvokerFunction,"aT":createNamedFunction,"aU":downcastPointer,"aV":embind__requireFunction,"aW":embind_init_charCodes,"aX":emval_get_global,"aY":ensureOverloadTable,"aZ":exposePublicSymbol,"a_":extendError,"a$":floatReadValueFromPointer,"ba":flushPendingDeletes,"bb":genericPointerToWireType,"bc":getBasestPointer,"bd":getInheritedInstance,"be":getInheritedInstanceCount,"bf":getLiveInheritedInstances,"bg":getShiftFromSize,"bh":getStringOrSymbol,"bi":getTypeName,"bj":get_first_emval,"bk":heap32VectorToArray,"bl":init_ClassHandle,"bm":init_RegisteredPointer,"bn":init_embind,"bo":init_emval,"bp":integerReadValueFromPointer,"bq":makeClassHandle,"br":makeLegalFunctionName,"bs":new_,"bt":nonConstNoSmartPtrRawPointerToWireType,"bu":readLatin1String,"bv":registerInheritedInstance,"bw":registerType,"bx":replacePublicSymbol,"by":requireHandle,"bz":requireRegisteredType,"bA":runDestructor,"bB":runDestructors,"bC":setDelayFunction,"bD":shallowCopyInternalPointer,"bE":simpleReadValueFromPointer,"bF":throwBindingError,"bG":throwInstanceAlreadyDeleted,"bH":throwInternalError,"bI":throwUnboundTypeError,"bJ":unregisterInheritedInstance,"bK":upcastPointer,"bL":validateThis,"bM":whenDependentTypesAreResolved,"bN":tempDoublePtr,"bO":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM |
| | | var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { |
| | | "use 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.bN|0,i=env.bO|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.imul,v=global.Math.clz32,w=env.a,x=env.b,y=env.c,z=env.d,A=env.e,B=env.f,C=env.g,D=env.h,E=env.i,F=env.j,G=env.k,H=env.l,I=env.m,J=env.n,K=env.o,L=env.p,M=env.q,N=env.r,O=env.s,P=env.t,Q=env.u,R=env.v,S=env.w,T=env.x,U=env.y,V=env.z,W=env.A,X=env.B,Y=env.C,Z=env.D,_=env.E,$=env.F,aa=env.G,ba=env.H,ca=env.I,da=env.J,ea=env.K,fa=env.L,ga=env.M,ha=env.N,ia=env.O,ja=env.P,ka=env.Q,la=env.R,ma=env.S,na=env.T,oa=env.U,pa=env.V,qa=env.W,ra=env.X,sa=env.Y,ta=env.Z,ua=env._,va=env.$,wa=env.aa,xa=env.ab,ya=env.ac,za=env.ad,Aa=env.ae,Ba=env.af,Ca=env.ag,Da=env.ah,Ea=env.ai,Fa=env.aj,Ga=env.ak,Ha=env.al,Ia=env.am,Ja=env.an,Ka=env.ao,La=env.ap,Ma=env.aq,Na=env.ar,Oa=env.as,Pa=env.at,Qa=env.au,Ra=env.av,Sa=env.aw,Ta=env.ax,Ua=env.ay,Va=env.az,Wa=env.aA,Xa=env.aB,Ya=env.aC,Za=env.aD,_a=env.aE,$a=env.aF,ab=env.aG,bb=env.aH,cb=env.aI,db=env.aJ,eb=env.aK,fb=env.aL,gb=env.aM,hb=env.aN,ib=env.aO,jb=env.aP,kb=env.aQ,lb=env.aR,mb=env.aS,nb=env.aT,ob=env.aU,pb=env.aV,qb=env.aW,rb=env.aX,sb=env.aY,tb=env.aZ,ub=env.a_,vb=env.a$,wb=env.ba,xb=env.bb,yb=env.bc,zb=env.bd,Ab=env.be,Bb=env.bf,Cb=env.bg,Db=env.bh,Eb=env.bi,Fb=env.bj,Gb=env.bk,Hb=env.bl,Ib=env.bm,Jb=env.bn,Kb=env.bo,Lb=env.bp,Mb=env.bq,Nb=env.br,Ob=env.bs,Pb=env.bt,Qb=env.bu,Rb=env.bv,Sb=env.bw,Tb=env.bx,Ub=env.by,Vb=env.bz,Wb=env.bA,Xb=env.bB,Yb=env.bC,Zb=env.bD,_b=env.bE,$b=env.bF,ac=env.bG,bc=env.bH,cc=env.bI,dc=env.bJ,ec=env.bK,fc=env.bL,gc=env.bM,hc=100368,ic=5343248,jc=0.0; |
| | | // EMSCRIPTEN_START_FUNCS |
| | | function xq(b,d){b=b|0;d=d|0;var e=0,f=0;f=dr(d,99972)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=kc[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(kc[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)vu(74070);else return}function yq(a){a=a|0;return Bq(a,0)|0}function zq(a){a=a|0;return Bq(a,1)|0}function Aq(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=hc;g=hc=hc+31&-32;hc=hc+32|0;h=g+16|0;i=g+4|0;f=g+8|0;j=Tp(d,bp()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((Tp(e,bp()|0)|0)^1)&1}else{if(e){j=b+48|0;a[f>>0]=ep(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(uc[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((io(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=bp()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);hc=l;return e|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,p=0,q=0,r=0,s=0,t=0;r=hc;m=hc=hc+31&-32;hc=hc+32|0;p=m+16|0;q=m+8|0;l=m+4|0;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=bp()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=go(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=bp()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(uc[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=go(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=bp()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=cp(a[q>>0]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=cp(a[p+e>>0]|0)|0}while((io(t,c[o>>2]|0)|0)!=-1);e=bp()|0;break b}while(0);e=cp(a[q>>0]|0)|0}while(0)}}hc=r;return e|0}function Cq(a){a=a|0;Kq(a);return}function Dq(a){a=a|0;Cq(a);nz(a);return}function Eq(a){a=a|0;if(a|0)wc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Fq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24<g<<24>>24){b=-1;break}if(g<<24>>24<c<<24>>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Iq(a,d,e);return}function Hq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function Iq(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=hc;i=hc=hc+31&-32;hc=hc+16|0;g=d;f=e-g|0;if(f>>>0>4294967279)tz(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=lz(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;Jq(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;Jq(h+f|0,i);hc=j;return}function Jq(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function Kq(a){a=a|0;return}function Lq(a){a=a|0;Kq(a);return}function Mq(a){a=a|0;Lq(a);nz(a);return}function Nq(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;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function Oq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Qq(a,d,e);return}function Pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function Qq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=hc;i=hc=hc+31&-32;hc=hc+16|0;h=e-d>>2;if(h>>>0>1073741807)tz(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)Pa();else{f=lz(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;Rq(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;Rq(f,i);hc=j;return}function Rq(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function Sq(a){a=a|0;Kq(a);return}function Tq(a){a=a|0;Kq(a);nz(a);return}function Uq(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;o=hc;m=hc=hc+31&-32;hc=hc+48|0;i=m+40|0;n=m;j=m+36|0;k=m+32|0;l=m+28|0;m=m+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=sc[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{Up(i,f);l=dr(i,99668)|0;er(i);Up(i,f);b=dr(i,99684)|0;er(i);xc[c[(c[b>>2]|0)+24>>2]&63](n,b);xc[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(Nr(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;Az(b)}while((b|0)!=(n|0))}hc=o;return i|0}function Vq(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Lr(a,j,i,e,f,g)|0;hc=h;return g|0}function Wq(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Jr(a,j,i,e,f,g)|0;hc=h;return g|0}function Xq(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Hr(a,j,i,e,f,g)|0;hc=h;return g|0}function Yq(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Fr(a,j,i,e,f,g)|0;hc=h;return g|0}function Zq(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Dr(a,j,i,e,f,g)|0;hc=h;return g|0}function _q(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xr(a,j,i,e,f,g)|0;hc=h;return g|0}function $q(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vr(a,j,i,e,f,g)|0;hc=h;return g|0}function ar(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=tr(a,j,i,e,f,g)|0;hc=h;return g|0}function br(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=or(a,j,i,e,f,g)|0;hc=h;return g|0}function cr(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,v=0,w=0,x=0,y=0,z=0;y=hc;s=hc=hc+31&-32;hc=hc+240|0;v=s+192|0;t=s+160|0;w=s+220|0;x=s+208|0;u=s+204|0;q=s;r=s+200|0;s=s+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}Up(x,f);b=dr(x,99668)|0;oc[c[(c[b>>2]|0)+32>>2]&7](b,8960,8986,t)|0;er(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;Gz(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){Gz(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;Gz(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}Gz(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=gr()|0;c[v>>2]=h;if((hr(t,u,74218,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;Az(x);Az(w);hc=y;return z|0}function dr(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return jr(a,ir(b)|0)|0}function er(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)wc[c[(c[a>>2]|0)+8>>2]&255](a);return}function fr(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[8960+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[8960+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function gr(){if((a[97296]|0)==0?RA(97296)|0:0)c[24919]=En(2147483647,74221,0)|0;return c[24919]|0}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;c[g>>2]=e;e=Gn(b)|0;b=Tn(a,d,g)|0;if(e|0)Gn(e)|0;hc=f;return b|0}function ir(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+48|0;b=g+32|0;d=g+24|0;e=g;g=g+16|0;c[g>>2]=137;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];lr(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;jz(a,d,138)}hc=f;return (c[a+4>>2]|0)+-1|0}function jr(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function kr(a){a=a|0;var b=0;b=c[24920]|0;c[24920]=b+1;c[a+4>>2]=b+1;return}function lr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function mr(a){a=a|0;nr(c[c[a>>2]>>2]|0);return}function nr(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;wc[a&255](d);return}function or(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=hc;r=hc=hc+31&-32;hc=hc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;pr(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){Gz(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cp(a[f>>0]|0)|0;if(qr(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cp(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+rr(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function pr(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;Up(i,d);d=dr(i,99668)|0;oc[c[(c[d>>2]|0)+32>>2]&7](d,8960,8992,e)|0;e=dr(i,99684)|0;a[f>>0]=kc[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=kc[c[(c[e>>2]|0)+16>>2]&127](e)|0;xc[c[(c[e>>2]|0)+20>>2]&63](b,e);er(i);hc=h;return}function qr(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[8960+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function rr(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=hc;f=hc=hc+31&-32;hc=hc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;e=+ro(a,f,gr()|0);a=c[(gm()|0)>>2]|0;if(!a)c[(gm()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}hc=i;return +e}function sr(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;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function tr(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=hc;r=hc=hc+31&-32;hc=hc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;pr(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){Gz(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cp(a[f>>0]|0)|0;if(qr(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cp(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+ur(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function ur(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=hc;f=hc=hc+31&-32;hc=hc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;e=+qo(a,f,gr()|0);a=c[(gm()|0)>>2]|0;if(!a)c[(gm()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}hc=i;return +e}function vr(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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;D=hc;r=hc=hc+31&-32;hc=hc+240|0;s=r+160|0;t=r+231|0;u=r+230|0;C=r+216|0;B=r+204|0;v=r+200|0;w=r;x=r+196|0;y=r+192|0;z=r+229|0;r=r+228|0;pr(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cp(a[g>>0]|0)|0;if(Tp(g,bp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cp(a[g>>0]|0)|0;if(!(Tp(g,bp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){Gz(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cp(a[g>>0]|0)|0;if(qr(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cp(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+wr(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function wr(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=hc;f=hc=hc+31&-32;hc=hc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;e=+po(a,f,gr()|0);a=c[(gm()|0)>>2]|0;if(!a)c[(gm()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==34)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}hc=i;return +e}function xr(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,v=0,w=0,x=0,z=0,A=0,B=0,C=0;C=hc;q=hc=hc+31&-32;hc=hc+240|0;r=q+224|0;z=q+212|0;A=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=yr(f)|0;q=zr(b,f,q+160|0)|0;Ar(z,f,r);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}o=A+11|0;p=A+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(A,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,x,b,s,w,a[r>>0]|0,z,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}r=a[z+11>>0]|0;if((r<<24>>24<0?c[z+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Br(b,c[s>>2]|0,g,x)|0;x=y()|0;c[h>>2]=w;c[h+4>>2]=x;sr(z,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;Az(A);Az(z);hc=C;return B|0}function yr(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function zr(a,b,c){a=a|0;b=b|0;c=c|0;return Cr(a,b,c)|0}function Ar(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;Up(g,d);d=dr(g,99684)|0;a[e>>0]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](b,d);er(g);hc=f;return}function Br(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;k=hc;h=hc=hc+31&-32;hc=hc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}i=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;b=km(b,h,f,gr()|0)|0;f=y()|0;g=c[(gm()|0)>>2]|0;if(!g)c[(gm()|0)>>2]=i;if((c[h>>2]|0)==(d|0)){if((g|0)==34){b=-1;f=-1;j=8}}else{b=0;f=0;j=8}if((j|0)==8)c[e>>2]=4}while(0);x(f|0);hc=k;return b|0}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;return 8960}function Dr(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=yr(f)|0;q=zr(b,f,q+160|0)|0;Ar(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Er(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function Er(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=hc;h=hc=hc+31&-32;hc=hc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;b=km(b,h,f,gr()|0)|0;f=y()|0;g=c[(gm()|0)>>2]|0;if(!g)c[(gm()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);hc=j;return b|0}function Fr(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=yr(f)|0;q=zr(b,f,q+160|0)|0;Ar(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Gr(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function Gr(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=hc;h=hc=hc+31&-32;hc=hc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;b=km(b,h,f,gr()|0)|0;f=y()|0;g=c[(gm()|0)>>2]|0;if(!g)c[(gm()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break;else{c[e>>2]=4;b=0}while(0)}while(0);hc=j;return b|0}function Hr(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=hc;r=hc=hc+31&-32;hc=hc+240|0;s=r+224|0;z=r+212|0;A=r+200|0;t=r+196|0;u=r;w=r+192|0;x=r+188|0;y=yr(g)|0;r=zr(d,g,r+160|0)|0;Ar(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;Gz(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cp(a[g>>0]|0)|0;if(Tp(g,bp()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cp(a[g>>0]|0)|0;if(!(Tp(g,bp()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){Gz(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;Gz(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cp(a[g>>0]|0)|0;if(fr(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cp(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=Ir(d,c[t>>2]|0,h,y)|0;sr(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cp(a[d>>0]|0)|0;if(Tp(d,bp()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cp(a[d>>0]|0)|0;if(!(Tp(d,bp()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Az(A);Az(z);hc=C;return B|0}function Ir(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=hc;h=hc=hc+31&-32;hc=hc+16|0;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}i=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;b=km(b,h,f,gr()|0)|0;f=y()|0;g=c[(gm()|0)>>2]|0;if(!g)c[(gm()|0)>>2]=i;do if((c[h>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}else{c[e>>2]=4;b=0}while(0)}while(0);hc=j;return b|0}function Jr(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,v=0,w=0,x=0,z=0,A=0,B=0,C=0;C=hc;q=hc=hc+31&-32;hc=hc+240|0;r=q+224|0;z=q+212|0;A=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=yr(f)|0;q=zr(b,f,q+160|0)|0;Ar(z,f,r);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}o=A+11|0;p=A+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(A,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,x,b,s,w,a[r>>0]|0,z,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}r=a[z+11>>0]|0;if((r<<24>>24<0?c[z+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Kr(b,c[s>>2]|0,g,x)|0;x=y()|0;c[h>>2]=w;c[h+4>>2]=x;sr(z,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;Az(A);Az(z);hc=C;return B|0}function Kr(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=hc;g=hc=hc+31&-32;hc=hc+16|0;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;a=tm(a,g,e,gr()|0)|0;e=y()|0;f=c[(gm()|0)>>2]|0;if(!f)c[(gm()|0)>>2]=h;if((c[g>>2]|0)==(b|0)){if((f|0)==34){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}x(e|0);hc=i;return a|0}function Lr(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+240|0;r=q+224|0;y=q+212|0;z=q+200|0;s=q+196|0;t=q;v=q+192|0;w=q+188|0;x=yr(f)|0;q=zr(b,f,q+160|0)|0;Ar(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(Tp(f,bp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cp(a[f>>0]|0)|0;if(!(Tp(f,bp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cp(a[f>>0]|0)|0;if(fr(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cp(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Mr(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function Mr(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=hc;g=hc=hc+31&-32;hc=hc+16|0;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=c[(gm()|0)>>2]|0;c[(gm()|0)>>2]=0;a=tm(a,g,e,gr()|0)|0;e=y()|0;f=c[(gm()|0)>>2]|0;if(!f)c[(gm()|0)>>2]=h;a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}hc=i;return a|0}function Nr(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=hc;k=hc=hc+31&-32;hc=hc+112|0;l=(f-e|0)/12|0;if(l>>>0>100){k=uo(l)|0;if(!k)kz();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cp(a[m>>0]|0)|0;if(Tp(k,bp()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cp(a[k>>0]|0)|0;if(Tp(k,bp()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cp(a[k>>0]|0)|0;k=k&255;if(!i)k=mc[c[(c[g>>2]|0)+12>>2]&31](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=mc[c[(c[g>>2]|0)+12>>2]&31](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cp(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cp(a[k>>0]|0)|0;if(Tp(k,bp()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cp(a[k>>0]|0)|0;if(!(Tp(k,bp()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}vo(u);hc=w;return e|0}function Or(a){a=a|0;Kq(a);return}function Pr(a){a=a|0;Kq(a);nz(a);return}function Qr(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;o=hc;m=hc=hc+31&-32;hc=hc+48|0;i=m+40|0;n=m;j=m+36|0;k=m+32|0;l=m+28|0;m=m+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=sc[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{Up(i,f);l=dr(i,99700)|0;er(i);Up(i,f);b=dr(i,99708)|0;er(i);xc[c[(c[b>>2]|0)+24>>2]&63](n,b);xc[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(os(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;Pz(b)}while((b|0)!=(n|0))}hc=o;return i|0}function Rr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ns(a,j,i,e,f,g)|0;hc=h;return g|0}function Sr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ms(a,j,i,e,f,g)|0;hc=h;return g|0}function Tr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ls(a,j,i,e,f,g)|0;hc=h;return g|0}function Ur(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ks(a,j,i,e,f,g)|0;hc=h;return g|0}function Vr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=js(a,j,i,e,f,g)|0;hc=h;return g|0}function Wr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fs(a,j,i,e,f,g)|0;hc=h;return g|0}function Xr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=es(a,j,i,e,f,g)|0;hc=h;return g|0}function Yr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ds(a,j,i,e,f,g)|0;hc=h;return g|0}function Zr(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=as(a,j,i,e,f,g)|0;hc=h;return g|0}function _r(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,v=0,w=0,x=0,y=0,z=0;y=hc;s=hc=hc+31&-32;hc=hc+304|0;v=s+264|0;t=s+160|0;w=s+292|0;x=s+280|0;u=s+276|0;q=s;r=s+272|0;s=s+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}Up(x,f);b=dr(x,99700)|0;oc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8986,t)|0;er(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;Gz(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){Gz(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;Gz(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}Gz(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=gr()|0;c[v>>2]=h;if((hr(t,u,74218,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;Az(x);Az(w);hc=y;return z|0}function $r(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[8960+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[8960+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function as(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=hc;r=hc=hc+31&-32;hc=hc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;bs(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){Gz(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=up(c[f>>2]|0)|0;if(cs(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;up(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+rr(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function bs(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=hc;h=hc=hc+31&-32;hc=hc+16|0;Up(h,b);b=dr(h,99700)|0;oc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8992,d)|0;d=dr(h,99708)|0;c[e>>2]=kc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](a,d);er(h);hc=g;return}function cs(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[8960+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function ds(b,d,e,f,h,i){b=b|0;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,z=0,A=0,B=0,C=0,D=0,E=0;D=hc;r=hc=hc+31&-32;hc=hc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;bs(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){Gz(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=up(c[f>>2]|0)|0;if(cs(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;up(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+ur(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function es(b,d,e,g,h,i){b=b|0;d=d|0;e=e|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;D=hc;r=hc=hc+31&-32;hc=hc+336|0;s=r+160|0;t=r+328|0;u=r+324|0;C=r+312|0;B=r+300|0;v=r+296|0;w=r;x=r+292|0;y=r+288|0;z=r+333|0;r=r+332|0;bs(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=up(c[g>>2]|0)|0;if(Vp(g,tp()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=up(c[g>>2]|0)|0;if(!(Vp(g,tp()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){Gz(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;Gz(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=up(c[g>>2]|0)|0;if(cs(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;up(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+wr(b,c[v>>2]|0,h);sr(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;Az(B);Az(C);hc=D;return E|0}function fs(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,v=0,w=0,x=0,z=0,A=0,B=0,C=0;C=hc;q=hc=hc+31&-32;hc=hc+304|0;r=q+300|0;z=q+288|0;A=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=yr(f)|0;q=gs(b,f,q+160|0)|0;hs(z,f,r);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}o=A+11|0;p=A+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(A,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,x,b,s,w,c[r>>2]|0,z,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}r=a[z+11>>0]|0;if((r<<24>>24<0?c[z+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Br(b,c[s>>2]|0,g,x)|0;x=y()|0;c[h>>2]=w;c[h+4>>2]=x;sr(z,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;Az(A);Az(z);hc=C;return B|0}function gs(a,b,c){a=a|0;b=b|0;c=c|0;return is(a,b,c)|0}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;f=hc=hc+31&-32;hc=hc+16|0;Up(f,b);b=dr(f,99708)|0;c[d>>2]=kc[c[(c[b>>2]|0)+16>>2]&127](b)|0;xc[c[(c[b>>2]|0)+20>>2]&63](a,b);er(f);hc=e;return}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=hc;e=hc=hc+31&-32;hc=hc+16|0;Up(e,b);b=dr(e,99700)|0;oc[c[(c[b>>2]|0)+48>>2]&7](b,8960,8986,d)|0;er(e);hc=a;return d|0}function js(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=yr(f)|0;q=gs(b,f,q+160|0)|0;hs(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Er(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function ks(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=yr(f)|0;q=gs(b,f,q+160|0)|0;hs(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Gr(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function ls(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=hc;r=hc=hc+31&-32;hc=hc+304|0;s=r+300|0;z=r+288|0;A=r+276|0;t=r+272|0;u=r;w=r+268|0;x=r+264|0;y=yr(g)|0;r=gs(d,g,r+160|0)|0;hs(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;Gz(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=up(c[g>>2]|0)|0;if(Vp(g,tp()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=up(c[g>>2]|0)|0;if(!(Vp(g,tp()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){Gz(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;Gz(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=up(c[g>>2]|0)|0;if($r(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;up(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=Ir(d,c[t>>2]|0,h,y)|0;sr(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=kc[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=up(c[d>>2]|0)|0;if(Vp(d,tp()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=up(c[d>>2]|0)|0;if(!(Vp(d,tp()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Az(A);Az(z);hc=C;return B|0}function ms(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,v=0,w=0,x=0,z=0,A=0,B=0,C=0;C=hc;q=hc=hc+31&-32;hc=hc+304|0;r=q+300|0;z=q+288|0;A=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=yr(f)|0;q=gs(b,f,q+160|0)|0;hs(z,f,r);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}o=A+11|0;p=A+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=A+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(A,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(A,b,0);b=(a[o>>0]|0)<0?c[A>>2]|0:A;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,x,b,s,w,c[r>>2]|0,z,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}r=a[z+11>>0]|0;if((r<<24>>24<0?c[z+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=Kr(b,c[s>>2]|0,g,x)|0;x=y()|0;c[h>>2]=w;c[h+4>>2]=x;sr(z,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{B=50;break}else{c[e>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?f:0)B=50;if((B|0)==50)c[g>>2]=c[g>>2]|2;B=c[d>>2]|0;Az(A);Az(z);hc=C;return B|0}function ns(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;q=hc=hc+31&-32;hc=hc+304|0;r=q+300|0;y=q+288|0;z=q+276|0;s=q+272|0;t=q;v=q+268|0;w=q+264|0;x=yr(f)|0;q=gs(b,f,q+160|0)|0;hs(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if(Vp(f,tp()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){Gz(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;Gz(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=up(c[f>>2]|0)|0;if($r(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;up(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=Mr(b,c[s>>2]|0,g,x)|0;sr(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=up(c[b>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Az(z);Az(y);hc=B;return A|0}function os(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=hc;k=hc=hc+31&-32;hc=hc+112|0;l=(f-e|0)/12|0;if(l>>>0>100){k=uo(l)|0;if(!k)kz();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=up(c[m>>2]|0)|0;if(Vp(k,tp()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=up(c[k>>2]|0)|0;if(Vp(k,tp()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=up(c[k>>2]|0)|0;if(!i)k=mc[c[(c[g>>2]|0)+28>>2]&31](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=mc[c[(c[g>>2]|0)+28>>2]&31](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;up(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=up(c[k>>2]|0)|0;if(Vp(k,tp()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=up(c[k>>2]|0)|0;if(!(Vp(k,tp()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}vo(u);hc=w;return e|0}function ps(a){a=a|0;Kq(a);return}function qs(a){a=a|0;Kq(a);nz(a);return}function rs(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=hc;h=hc=hc+31&-32;hc=hc+16|0;k=h+4|0;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=qc[j&31](b,k,e,f,g&1)|0}else{Up(k,e);b=dr(k,99684)|0;er(k);e=c[b>>2]|0;if(g)xc[c[e+24>>2]&63](k,b);else xc[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cp(b)|0;b=mc[h&31](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cp(b)|0}if(Tp(b,bp()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;Az(k)}hc=l;return b|0}function ss(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;b=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[74439]|0;a[n+1>>0]=a[74440]|0;a[n+2>>0]=a[74441]|0;a[n+3>>0]=a[74442]|0;a[n+4>>0]=a[74443]|0;a[n+5>>0]=a[74444]|0;p=e+4|0;Es(n+1|0,74445,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=$a()|0;o=hc;hc=hc+((1*q|0)+15&-16)|0;i=gr()|0;c[j>>2]=g;g=o+(zs(o,q,i,n,j)|0)|0;n=As(o,g,e)|0;i=hc;hc=hc+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;Up(j,e);Fs(o,n,g,i,m,l,j);er(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Og(j,i,d,g,e,f)|0;_a(h|0);hc=b;return g|0}function ts(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;a=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Es(i+1|0,74436,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=$a()|0;n=hc;hc=hc+((1*q|0)+15&-16)|0;p=gr()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(zs(n,q,p,i,j)|0)|0;g=As(n,f,d)|0;i=hc;hc=hc+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;Up(j,d);Fs(n,g,f,i,m,l,j);er(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Og(j,i,f,g,d,e)|0;_a(h|0);hc=a;return g|0}function us(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;b=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[74439]|0;a[n+1>>0]=a[74440]|0;a[n+2>>0]=a[74441]|0;a[n+3>>0]=a[74442]|0;a[n+4>>0]=a[74443]|0;a[n+5>>0]=a[74444]|0;p=e+4|0;Es(n+1|0,74445,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=$a()|0;o=hc;hc=hc+((1*q|0)+15&-16)|0;i=gr()|0;c[j>>2]=g;g=o+(zs(o,q,i,n,j)|0)|0;n=As(o,g,e)|0;i=hc;hc=hc+((1*(p<<1|21)|0)+15&-16)|0;Up(j,e);Fs(o,n,g,i,m,l,j);er(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Og(j,i,d,g,e,f)|0;_a(h|0);hc=b;return g|0}function vs(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;a=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Es(i+1|0,74436,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=$a()|0;n=hc;hc=hc+((1*q|0)+15&-16)|0;p=gr()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(zs(n,q,p,i,j)|0)|0;g=As(n,f,d)|0;i=hc;hc=hc+((1*((o<<1)+-1|0)|0)+15&-16)|0;Up(j,d);Fs(n,g,f,i,m,l,j);er(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Og(j,i,f,g,d,e)|0;_a(h|0);hc=a;return g|0}function ws(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=hc;t=hc=hc+31&-32;hc=hc+176|0;r=t+168|0;m=t+144|0;l=t+128|0;i=t+120|0;h=t+104|0;k=t+96|0;o=t+64|0;n=t+164|0;p=t;u=t+160|0;s=t+156|0;t=t+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Bs(k+1|0,100142,c[d+4>>2]|0)|0;c[n>>2]=o;a=gr()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=zs(o,30,a,k,h)|0}else{g[i>>3]=f;a=zs(o,30,a,k,i)|0}if((a|0)>29){a=gr()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Cs(n,a,k,l)|0}else{g[m>>3]=f;h=Cs(n,a,k,m)|0}a=c[n>>2]|0;if(!a)kz();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=As(z,h,d)|0;if((z|0)!=(o|0)){a=uo(q<<1)|0;if(!a)kz();else{w=a;x=a}}else{w=p;x=0}Up(r,d);Ds(z,i,h,w,u,s,r);er(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Og(r,w,b,z,d,e)|0;vo(x);vo(y);hc=v;return z|0}function xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=hc;t=hc=hc+31&-32;hc=hc+176|0;r=t+168|0;m=t+144|0;l=t+128|0;i=t+120|0;h=t+104|0;k=t+96|0;o=t+64|0;n=t+164|0;p=t;u=t+160|0;s=t+156|0;t=t+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Bs(k+1|0,74434,c[d+4>>2]|0)|0;c[n>>2]=o;a=gr()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=zs(o,30,a,k,h)|0}else{g[i>>3]=f;a=zs(o,30,a,k,i)|0}if((a|0)>29){a=gr()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Cs(n,a,k,l)|0}else{g[m>>3]=f;h=Cs(n,a,k,m)|0}a=c[n>>2]|0;if(!a)kz();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=As(z,h,d)|0;if((z|0)!=(o|0)){a=uo(q<<1)|0;if(!a)kz();else{w=a;x=a}}else{w=p;x=0}Up(r,d);Ds(z,i,h,w,u,s,r);er(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Og(r,w,b,z,d,e)|0;vo(x);vo(y);hc=v;return z|0}function ys(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;b=hc;m=hc=hc+31&-32;hc=hc+96|0;l=m+72|0;k=m+80|0;h=m+48|0;j=m;m=m+76|0;a[k>>0]=a[74428]|0;a[k+1>>0]=a[74429]|0;a[k+2>>0]=a[74430]|0;a[k+3>>0]=a[74431]|0;a[k+4>>0]=a[74432]|0;a[k+5>>0]=a[74433]|0;i=gr()|0;c[l>>2]=g;g=zs(h,20,i,k,l)|0;k=h+g|0;i=As(h,k,e)|0;Up(l,e);n=dr(l,99668)|0;er(l);oc[c[(c[n>>2]|0)+32>>2]&7](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Og(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;hc=b;return g|0}function zs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=hc;h=hc=hc+31&-32;hc=hc+16|0;c[h>>2]=f;f=Gn(d)|0;d=Bm(a,b,e,h)|0;if(f|0)Gn(f)|0;hc=g;return d|0}function As(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function Bs(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function Cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;c[g>>2]=e;e=Gn(b)|0;b=ho(a,d,g)|0;if(e|0)Gn(e)|0;hc=f;return b|0}function Ds(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;v=hc;s=hc=hc+31&-32;hc=hc+16|0;t=dr(i,99668)|0;r=dr(i,99684)|0;xc[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=mc[c[(c[t>>2]|0)+28>>2]&31](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=mc[c[(c[t>>2]|0)+28>>2]&31](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=mc[c[(c[t>>2]|0)+28>>2]&31](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(Cn(p,gr()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Bn(p,gr()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=kc[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=mc[c[(c[t>>2]|0)+28>>2]&31](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{oc[c[(c[t>>2]|0)+32>>2]&7](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=mc[c[(c[k>>2]|0)+28>>2]&31](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=kc[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}oc[c[(c[t>>2]|0)+32>>2]&7](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;Az(s);hc=v;return}function Es(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function Fs(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;r=hc;q=hc=hc+31&-32;hc=hc+16|0;p=dr(i,99668)|0;l=dr(i,99684)|0;xc[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=mc[c[(c[p>>2]|0)+28>>2]&31](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=mc[c[(c[p>>2]|0)+28>>2]&31](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=mc[c[(c[p>>2]|0)+28>>2]&31](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=kc[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=mc[c[(c[p>>2]|0)+28>>2]&31](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{oc[c[(c[p>>2]|0)+32>>2]&7](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;Az(q);hc=r;return}function Gs(a){a=a|0;Kq(a);return}function Hs(a){a=a|0;Kq(a);nz(a);return}function Is(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=hc;h=hc=hc+31&-32;hc=hc+16|0;k=h+4|0;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=qc[j&31](b,k,e,f,g&1)|0}else{Up(k,e);b=dr(k,99708)|0;er(k);e=c[b>>2]|0;if(g)xc[c[e+24>>2]&63](k,b);else xc[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=up(b)|0;b=mc[h&31](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=up(b)|0}if(Vp(b,tp()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;Pz(k)}hc=l;return b|0}function Js(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;b=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[74439]|0;a[n+1>>0]=a[74440]|0;a[n+2>>0]=a[74441]|0;a[n+3>>0]=a[74442]|0;a[n+4>>0]=a[74443]|0;a[n+5>>0]=a[74444]|0;p=e+4|0;Es(n+1|0,74445,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=$a()|0;o=hc;hc=hc+((1*q|0)+15&-16)|0;i=gr()|0;c[j>>2]=g;g=o+(zs(o,q,i,n,j)|0)|0;n=As(o,g,e)|0;i=hc;hc=hc+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;Up(j,e);Ss(o,n,g,i,m,l,j);er(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Qs(j,i,d,g,e,f)|0;_a(h|0);hc=b;return g|0}function Ks(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;a=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Es(i+1|0,74436,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=$a()|0;n=hc;hc=hc+((1*q|0)+15&-16)|0;p=gr()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(zs(n,q,p,i,j)|0)|0;g=As(n,f,d)|0;i=hc;hc=hc+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;Up(j,d);Ss(n,g,f,i,m,l,j);er(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Qs(j,i,f,g,d,e)|0;_a(h|0);hc=a;return g|0}function Ls(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;b=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k;n=k+16|0;m=k+12|0;l=k+4|0;k=k+8|0;a[n>>0]=a[74439]|0;a[n+1>>0]=a[74440]|0;a[n+2>>0]=a[74441]|0;a[n+3>>0]=a[74442]|0;a[n+4>>0]=a[74443]|0;a[n+5>>0]=a[74444]|0;p=e+4|0;Es(n+1|0,74445,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=$a()|0;o=hc;hc=hc+((1*q|0)+15&-16)|0;i=gr()|0;c[j>>2]=g;g=o+(zs(o,q,i,n,j)|0)|0;n=As(o,g,e)|0;i=hc;hc=hc+((1*((p<<1|21)<<2)|0)+15&-16)|0;Up(j,e);Ss(o,n,g,i,m,l,j);er(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Qs(j,i,d,g,e,f)|0;_a(h|0);hc=b;return g|0}function Ms(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;a=hc;k=hc=hc+31&-32;hc=hc+32|0;j=k+8|0;i=k;m=k+24|0;l=k+16|0;k=k+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;Es(i+1|0,74436,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=$a()|0;n=hc;hc=hc+((1*q|0)+15&-16)|0;p=gr()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(zs(n,q,p,i,j)|0)|0;g=As(n,f,d)|0;i=hc;hc=hc+((1*((o<<1)+-1<<2)|0)+15&-16)|0;Up(j,d);Ss(n,g,f,i,m,l,j);er(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Qs(j,i,f,g,d,e)|0;_a(h|0);hc=a;return g|0}function Ns(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=hc;t=hc=hc+31&-32;hc=hc+352|0;r=t+344|0;m=t+320|0;l=t+304|0;i=t+296|0;h=t+280|0;k=t+272|0;o=t+240|0;n=t+340|0;p=t;u=t+336|0;s=t+332|0;t=t+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Bs(k+1|0,100142,c[d+4>>2]|0)|0;c[n>>2]=o;a=gr()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=zs(o,30,a,k,h)|0}else{g[i>>3]=f;a=zs(o,30,a,k,i)|0}if((a|0)>29){a=gr()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Cs(n,a,k,l)|0}else{g[m>>3]=f;h=Cs(n,a,k,m)|0}a=c[n>>2]|0;if(!a)kz();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=As(w,h,d)|0;do if((w|0)!=(o|0)){a=uo(q<<3)|0;if(!a)kz();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);Up(r,d);Rs(w,i,h,v,u,s,r);er(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=Qs(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)vo(A);vo(z);hc=x;return a|0}function Os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=hc;t=hc=hc+31&-32;hc=hc+352|0;r=t+344|0;m=t+320|0;l=t+304|0;i=t+296|0;h=t+280|0;k=t+272|0;o=t+240|0;n=t+340|0;p=t;u=t+336|0;s=t+332|0;t=t+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=Bs(k+1|0,74434,c[d+4>>2]|0)|0;c[n>>2]=o;a=gr()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=zs(o,30,a,k,h)|0}else{g[i>>3]=f;a=zs(o,30,a,k,i)|0}if((a|0)>29){a=gr()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=Cs(n,a,k,l)|0}else{g[m>>3]=f;h=Cs(n,a,k,m)|0}a=c[n>>2]|0;if(!a)kz();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=As(w,h,d)|0;do if((w|0)!=(o|0)){a=uo(q<<3)|0;if(!a)kz();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);Up(r,d);Rs(w,i,h,v,u,s,r);er(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=Qs(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)vo(A);vo(z);hc=x;return a|0}function Ps(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;b=hc;m=hc=hc+31&-32;hc=hc+208|0;l=m+184|0;k=m+192|0;h=m+160|0;j=m;m=m+188|0;a[k>>0]=a[74428]|0;a[k+1>>0]=a[74429]|0;a[k+2>>0]=a[74430]|0;a[k+3>>0]=a[74431]|0;a[k+4>>0]=a[74432]|0;a[k+5>>0]=a[74433]|0;i=gr()|0;c[l>>2]=g;g=zs(h,20,i,k,l)|0;k=h+g|0;i=As(h,k,e)|0;Up(l,e);n=dr(l,99700)|0;er(l);oc[c[(c[n>>2]|0)+48>>2]&7](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Qs(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;hc=b;return g|0}function Qs(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;n=hc;m=hc=hc+31&-32;hc=hc+16|0;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(nc[c[(c[i>>2]|0)+48>>2]&31](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Nz(m,g,h);if((nc[c[(c[i>>2]|0)+48>>2]&31](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){Pz(m);break}else{c[b>>2]=0;Pz(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(nc[c[(c[i>>2]|0)+48>>2]&31](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);hc=n;return i|0}function Rs(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;v=hc;s=hc=hc+31&-32;hc=hc+16|0;t=dr(i,99700)|0;q=dr(i,99708)|0;xc[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=mc[c[(c[t>>2]|0)+44>>2]&31](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=mc[c[(c[t>>2]|0)+44>>2]&31](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=mc[c[(c[t>>2]|0)+44>>2]&31](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(Cn(p,gr()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Bn(p,gr()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=kc[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=mc[c[(c[t>>2]|0)+44>>2]&31](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{oc[c[(c[t>>2]|0)+48>>2]&7](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=mc[c[(c[k>>2]|0)+44>>2]&31](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=kc[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}oc[c[(c[t>>2]|0)+48>>2]&7](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;Az(s);hc=v;return}function Ss(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;r=hc;q=hc=hc+31&-32;hc=hc+16|0;p=dr(i,99700)|0;l=dr(i,99708)|0;xc[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=mc[c[(c[p>>2]|0)+44>>2]&31](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=mc[c[(c[p>>2]|0)+44>>2]&31](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=mc[c[(c[p>>2]|0)+44>>2]&31](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=kc[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=mc[c[(c[p>>2]|0)+44>>2]&31](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{oc[c[(c[p>>2]|0)+48>>2]&7](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;Az(q);hc=r;return}function Ts(a){a=a|0;Kq(a);return}function Us(a){a=a|0;Kq(a);nz(a);return}function Vs(a){a=a|0;return 2}function Ws(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=mt(a,j,i,e,f,g,74964,74972)|0;hc=h;return g|0}function Xs(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;i=hc;l=hc=hc+31&-32;hc=hc+16|0;j=l+12|0;k=l+8|0;m=l+4|0;n=b+8|0;n=kc[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=mt(b,k,j,f,g,h,d,e)|0;hc=i;return h|0}function Ys(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99668)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];kt(a,g+24|0,b,i,f,e);hc=h;return c[b>>2]|0}function Zs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99668)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];lt(a,g+16|0,b,i,f,e);hc=h;return c[b>>2]|0}function _s(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99668)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];xt(a,g+20|0,b,i,f,e);hc=h;return c[b>>2]|0}function $s(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,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;R=hc;N=hc=hc+31&-32;hc=hc+144|0;k=N+128|0;j=N+112|0;P=N+124|0;Q=N+120|0;l=N+116|0;m=N+108|0;n=N+104|0;o=N+100|0;p=N+96|0;q=N+92|0;r=N+88|0;s=N+84|0;t=N+80|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;A=N+52|0;B=N+48|0;C=N+44|0;D=N+40|0;E=N+36|0;F=N+32|0;G=N+28|0;H=N+24|0;I=N+20|0;J=N+16|0;K=N+12|0;L=N+8|0;M=N+4|0;c[g>>2]=0;Up(k,f);O=dr(k,99668)|0;er(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];kt(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];lt(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=kc[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=mt(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];nt(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=mt(b,j,k,f,g,h,74924,74932)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=mt(b,j,k,f,g,h,74932,74940)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];ot(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];pt(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];qt(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];rt(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];st(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];tt(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];ut(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=mt(b,j,k,f,g,h,74940,74951)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=mt(b,j,k,f,g,h,74951,74956)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];vt(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=mt(b,j,k,f,g,h,74956,74964)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];wt(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=sc[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=kc[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=mt(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];xt(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];yt(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];zt(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;hc=R;return j|0}function at(b){b=b|0;if((a[97368]|0)==0?RA(97368)|0:0){jt();c[24949]=96304}return c[24949]|0}function bt(b){b=b|0;if((a[97352]|0)==0?RA(97352)|0:0){it();c[24948]=96016}return c[24948]|0}function ct(b){b=b|0;if((a[97336]|0)==0?RA(97336)|0:0){ht();c[24947]=95728}return c[24947]|0}function dt(b){b=b|0;if((a[97328]|0)==0?RA(97328)|0:0){c[24944]=0;c[24945]=0;c[24946]=0;wz(99776,74682,Rp(74682)|0)}return 99776}function et(b){b=b|0;if((a[97320]|0)==0?RA(97320)|0:0){c[24941]=0;c[24942]=0;c[24943]=0;wz(99764,74670,Rp(74670)|0)}return 99764}function ft(b){b=b|0;if((a[97312]|0)==0?RA(97312)|0:0){c[24938]=0;c[24939]=0;c[24940]=0;wz(99752,74661,Rp(74661)|0)}return 99752}function gt(b){b=b|0;if((a[97304]|0)==0?RA(97304)|0:0){c[24935]=0;c[24936]=0;c[24937]=0;wz(99740,74652,Rp(74652)|0)}return 99740}function ht(){var b=0,d=0;if((a[97344]|0)==0?RA(97344)|0:0){d=95728;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=96016)}Fz(95728,74703)|0;Fz(95740,74706)|0;return}function it(){var b=0,d=0;if((a[97360]|0)==0?RA(97360)|0:0){d=96016;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=96304)}Fz(96016,74709)|0;Fz(96028,74717)|0;Fz(96040,74726)|0;Fz(96052,74732)|0;Fz(96064,74738)|0;Fz(96076,74742)|0;Fz(96088,74747)|0;Fz(96100,74752)|0;Fz(96112,74759)|0;Fz(96124,74769)|0;Fz(96136,74777)|0;Fz(96148,74786)|0;Fz(96160,74795)|0;Fz(96172,74799)|0;Fz(96184,74803)|0;Fz(96196,74807)|0;Fz(96208,74738)|0;Fz(96220,74811)|0;Fz(96232,74815)|0;Fz(96244,74819)|0;Fz(96256,74823)|0;Fz(96268,74827)|0;Fz(96280,74831)|0;Fz(96292,74835)|0;return}function jt(){var b=0,d=0;if((a[97376]|0)==0?RA(97376)|0:0){d=96304;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=96472)}Fz(96304,74839)|0;Fz(96316,74846)|0;Fz(96328,74853)|0;Fz(96340,74861)|0;Fz(96352,74871)|0;Fz(96364,74880)|0;Fz(96376,74887)|0;Fz(96388,74896)|0;Fz(96400,74900)|0;Fz(96412,74904)|0;Fz(96424,74908)|0;Fz(96436,74912)|0;Fz(96448,74916)|0;Fz(96460,74920)|0;return}function kt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;a=a+8|0;a=kc[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(Nr(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;hc=h;return}function lt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;a=a+8|0;a=kc[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(Nr(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;hc=h;return}function mt(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=hc;x=hc=hc+31&-32;hc=hc+16|0;s=x+12|0;r=x+8|0;w=x+4|0;Up(s,g);t=dr(s,99668)|0;er(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cp(a[m>>0]|0)|0;if(Tp(m,bp()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=kc[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cp(a[n>>0]|0)|0;if(!(Tp(n,bp()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((nc[c[(c[t>>2]|0)+36>>2]&31](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=nc[c[(c[t>>2]|0)+36>>2]&31](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=nc[c[(c[t>>2]|0)+36>>2]&31](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];c[e>>2]=uc[p&15](d,r,s,g,h,i,l,o)|0;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cp(a[m>>0]|0)|0;if(Tp(m,bp()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=kc[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cp(a[m>>0]|0)|0;if(!(Tp(m,bp()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cp(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))kc[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cp(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cp(a[m>>0]|0)|0;q=mc[c[(c[t>>2]|0)+12>>2]&31](t,m&255)|0;if(q<<24>>24!=(mc[c[(c[t>>2]|0)+12>>2]&31](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))kc[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cp(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cp(a[j>>0]|0)|0;if(Tp(j,bp()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cp(a[m>>0]|0)|0;if(!(Tp(j,bp()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;hc=z;return l|0}function nt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function ot(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function pt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function qt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function rt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;hc=h;return}function st(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function tt(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cp(a[h>>0]|0)|0;if(Tp(d,bp()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cp(a[d>>0]|0)|0;if(!(Tp(d,bp()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cp(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))kc[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cp(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cp(a[h>>0]|0)|0;if(Tp(d,bp()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cp(a[d>>0]|0)|0;if(!(Tp(d,bp()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function ut(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;m=hc;l=hc=hc+31&-32;hc=hc+16|0;k=l+4|0;j=b+8|0;j=kc[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(Nr(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);hc=m;return}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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function wt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function xt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}hc=h;return}function yt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=At(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;hc=h;return}function zt(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;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[h>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[h>>0]|0)|0;if((nc[c[(c[g>>2]|0)+36>>2]&31](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))kc[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cp(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[h>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function At(d,e,f,g,h){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;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cp(a[j>>0]|0)|0;if(Tp(i,bp()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cp(a[i>>0]|0)|0;if(!(Tp(i,bp()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cp(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(nc[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))kc[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cp(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cp(a[k>>0]|0)|0;if(Tp(j,bp()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cp(a[j>>0]|0)|0;if(Tp(j,bp()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cp(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((nc[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cp(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cp(a[j>>0]|0)|0;if(Tp(j,bp()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cp(a[j>>0]|0)|0;if(!(Tp(j,bp()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Bt(a){a=a|0;Kq(a);return}function Ct(a){a=a|0;Kq(a);nz(a);return}function Dt(a){a=a|0;return 2}function Et(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=hc;k=hc=hc+31&-32;hc=hc+16|0;i=k+12|0;j=k+8|0;l=k+4|0;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=Xt(a,j,i,e,f,g,9184,9216)|0;hc=h;return g|0}function Ft(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;i=hc;l=hc=hc+31&-32;hc=hc+16|0;j=l+12|0;k=l+8|0;m=l+4|0;n=b+8|0;n=kc[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=Xt(b,k,j,f,g,h,d,e)|0;hc=i;return h|0}function Gt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99700)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Vt(a,g+24|0,b,i,f,e);hc=h;return c[b>>2]|0}function Ht(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99700)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];Wt(a,g+16|0,b,i,f,e);hc=h;return c[b>>2]|0}function It(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;Up(i,e);e=dr(i,99700)|0;er(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];gu(a,g+20|0,b,i,f,e);hc=h;return c[b>>2]|0}function Jt(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,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;R=hc;N=hc=hc+31&-32;hc=hc+144|0;k=N+128|0;j=N+112|0;P=N+124|0;Q=N+120|0;l=N+116|0;m=N+108|0;n=N+104|0;o=N+100|0;p=N+96|0;q=N+92|0;r=N+88|0;s=N+84|0;t=N+80|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;A=N+52|0;B=N+48|0;C=N+44|0;D=N+40|0;E=N+36|0;F=N+32|0;G=N+28|0;H=N+24|0;I=N+20|0;J=N+16|0;K=N+12|0;L=N+8|0;M=N+4|0;c[g>>2]=0;Up(k,f);O=dr(k,99700)|0;er(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];Vt(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];Wt(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=kc[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=Xt(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];Yt(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=Xt(b,j,k,f,g,h,9008,9040)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=Xt(b,j,k,f,g,h,9040,9072)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];Zt(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];_t(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];$t(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];au(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];bu(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];cu(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];du(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=Xt(b,j,k,f,g,h,9072,9116)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=Xt(b,j,k,f,g,h,9120,9140)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];eu(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=Xt(b,j,k,f,g,h,9152,9184)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];fu(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=sc[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=kc[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=Xt(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];gu(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];hu(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];iu(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;hc=R;return j|0}function Kt(b){b=b|0;if((a[97448]|0)==0?RA(97448)|0:0){Ut();c[24966]=97056}return c[24966]|0}function Lt(b){b=b|0;if((a[97432]|0)==0?RA(97432)|0:0){Tt();c[24965]=96768}return c[24965]|0}function Mt(b){b=b|0;if((a[97416]|0)==0?RA(97416)|0:0){St();c[24964]=96480}return c[24964]|0}function Nt(b){b=b|0;if((a[97408]|0)==0?RA(97408)|0:0){c[24961]=0;c[24962]=0;c[24963]=0;Mz(99844,49852,Rt(49852)|0)}return 99844}function Ot(b){b=b|0;if((a[97400]|0)==0?RA(97400)|0:0){c[24958]=0;c[24959]=0;c[24960]=0;Mz(99832,49804,Rt(49804)|0)}return 99832}function Pt(b){b=b|0;if((a[97392]|0)==0?RA(97392)|0:0){c[24955]=0;c[24956]=0;c[24957]=0;Mz(99820,49768,Rt(49768)|0)}return 99820}function Qt(b){b=b|0;if((a[97384]|0)==0?RA(97384)|0:0){c[24952]=0;c[24953]=0;c[24954]=0;Mz(99808,49732,Rt(49732)|0)}return 99808}function Rt(a){a=a|0;return _m(a)|0}function St(){var b=0,d=0;if((a[97424]|0)==0?RA(97424)|0:0){d=96480;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=96768)}Uz(96480,49936)|0;Uz(96492,49948)|0;return}function Tt(){var b=0,d=0;if((a[97440]|0)==0?RA(97440)|0:0){d=96768;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=97056)}Uz(96768,49960)|0;Uz(96780,49992)|0;Uz(96792,50028)|0;Uz(96804,50052)|0;Uz(96816,50076)|0;Uz(96828,50092)|0;Uz(96840,50112)|0;Uz(96852,50132)|0;Uz(96864,50160)|0;Uz(96876,50200)|0;Uz(96888,50232)|0;Uz(96900,50268)|0;Uz(96912,50304)|0;Uz(96924,50320)|0;Uz(96936,50336)|0;Uz(96948,50352)|0;Uz(96960,50076)|0;Uz(96972,50368)|0;Uz(96984,50384)|0;Uz(96996,50400)|0;Uz(97008,50416)|0;Uz(97020,50432)|0;Uz(97032,50448)|0;Uz(97044,50464)|0;return}function Ut(){var b=0,d=0;if((a[97456]|0)==0?RA(97456)|0:0){d=97056;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=97224)}Uz(97056,50480)|0;Uz(97068,50508)|0;Uz(97080,50536)|0;Uz(97092,50568)|0;Uz(97104,50608)|0;Uz(97116,50644)|0;Uz(97128,50672)|0;Uz(97140,50708)|0;Uz(97152,50724)|0;Uz(97164,50740)|0;Uz(97176,50756)|0;Uz(97188,50772)|0;Uz(97200,50788)|0;Uz(97212,50804)|0;return}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;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;a=a+8|0;a=kc[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(os(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;hc=h;return}function Wt(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;a=a+8|0;a=kc[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(os(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;hc=h;return}function Xt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=hc;t=hc=hc+31&-32;hc=hc+16|0;q=t+12|0;p=t+8|0;s=t+4|0;Up(q,e);r=dr(q,99700)|0;er(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=up(c[k>>2]|0)|0;if(Vp(k,tp()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=up(c[l>>2]|0)|0;if(!(Vp(l,tp()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((nc[c[(c[r>>2]|0)+52>>2]&31](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=nc[c[(c[r>>2]|0)+52>>2]&31](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=nc[c[(c[r>>2]|0)+52>>2]&31](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];c[b>>2]=uc[n&15](a,p,q,e,f,g,j,m)|0;h=h+8|0}else{if(!(nc[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=up(c[k>>2]|0)|0;o=mc[c[(c[r>>2]|0)+28>>2]&31](r,k)|0;if((o|0)!=(mc[c[(c[r>>2]|0)+28>>2]&31](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;up(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(nc[c[(c[r>>2]|0)+12>>2]&31](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=up(c[k>>2]|0)|0;if(Vp(k,tp()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=up(c[k>>2]|0)|0;if(!(Vp(k,tp()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=up(c[k>>2]|0)|0;if(!(nc[c[(c[r>>2]|0)+12>>2]&31](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))kc[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;up(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=kc[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=up(c[h>>2]|0)|0;if(Vp(h,tp()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=up(c[k>>2]|0)|0;if(!(Vp(h,tp()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;hc=v;return j|0}function Yt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function Zt(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function au(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;hc=h;return}function bu(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function cu(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;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if(Vp(a,tp()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=up(c[a>>2]|0)|0;if(!(Vp(a,tp()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if(!(nc[c[(c[f>>2]|0)+12>>2]&31](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))kc[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;up(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if(Vp(a,tp()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=up(c[a>>2]|0)|0;if(!(Vp(a,tp()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function du(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;m=hc;l=hc=hc+31&-32;hc=hc+16|0;k=l+4|0;j=b+8|0;j=kc[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(os(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);hc=m;return}function eu(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function fu(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;hc=h;return}function gu(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}hc=h;return} |
| | | function hu(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;h=hc;i=hc=hc+31&-32;hc=hc+16|0;a=i+4|0;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=ju(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;hc=h;return}function iu(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;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if(Vp(a,tp()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=up(c[a>>2]|0)|0;if(!(Vp(a,tp()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if((nc[c[(c[f>>2]|0)+52>>2]&31](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))kc[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;up(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=up(c[g>>2]|0)|0;if(Vp(a,tp()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=up(c[a>>2]|0)|0;if(!(Vp(a,tp()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function ju(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;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=up(c[h>>2]|0)|0;if(Vp(g,tp()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=up(c[g>>2]|0)|0;if(!(Vp(g,tp()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=up(c[i>>2]|0)|0;if(!(nc[c[(c[e>>2]|0)+12>>2]&31](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(nc[c[(c[e>>2]|0)+52>>2]&31](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))kc[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;up(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=up(c[i>>2]|0)|0;if(Vp(h,tp()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=kc[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=up(c[h>>2]|0)|0;if(Vp(h,tp()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=up(c[h>>2]|0)|0;if(!(nc[c[(c[e>>2]|0)+12>>2]&31](e,2048,h)|0))break a;g=(g*10|0)+((nc[c[(c[e>>2]|0)+52>>2]&31](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))kc[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;up(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=kc[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=up(c[h>>2]|0)|0;if(Vp(h,tp()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=up(c[h>>2]|0)|0;if(!(Vp(h,tp()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function ku(a){a=a|0;pu(a+8|0);Kq(a);return}function lu(a){a=a|0;pu(a+8|0);Kq(a);nz(a);return}function mu(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;j=hc;f=hc=hc+31&-32;hc=hc+112|0;e=f;f=f+100|0;c[f>>2]=e+100;nu(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cp(f)|0;f=mc[d&31](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cp(f)|0}d=Tp(f,bp()|0)|0;e=d?0:e}h=h+1|0}hc=j;return e|0}function nu(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;l=hc;i=hc=hc+31&-32;hc=hc+16|0;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=ou(d,c[e>>2]|0)|0;c[e>>2]=d+(hb(d|0,k|0,i|0,f|0,c[b>>2]|0)|0);hc=l;return}function ou(a,b){a=a|0;b=b|0;return b-a|0}function pu(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(gr()|0))xn(c[a>>2]|0);return}function qu(a){a=a|0;pu(a+8|0);Kq(a);return}function ru(a){a=a|0;pu(a+8|0);Kq(a);nz(a);return}function su(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;i=hc;e=hc=hc+31&-32;hc=hc+416|0;d=e;e=e+400|0;c[e>>2]=d+400;tu(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=up(e)|0;e=mc[b&31](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=up(e)|0}b=Vp(e,tp()|0)|0;d=b?0:d}g=g+4|0}hc=i;return d|0}function tu(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=hc;j=hc=hc+31&-32;hc=hc+128|0;k=j;l=j+116|0;i=j+104|0;j=j+112|0;c[l>>2]=k+100;nu(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=uu(b,c[d>>2]|0)|0;a=Gn(c[a>>2]|0)|0;e=bo(b,j,e,i)|0;if(a|0)Gn(a)|0;if((e|0)==-1)vu(0);else{c[d>>2]=b+(e<<2);hc=h;return}}function uu(a,b){a=a|0;b=b|0;return b-a>>2|0}function vu(a){a=a|0;Pa()}function wu(a){a=a|0;Kq(a);return}function xu(a){a=a|0;Kq(a);nz(a);return}function yu(a){a=a|0;return 127}function zu(a){a=a|0;return 127}function Au(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Bu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Cu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Du(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;xz(a,1,45);return}function Eu(a){a=a|0;return 0}function Fu(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Gu(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Hu(a){a=a|0;Kq(a);return}function Iu(a){a=a|0;Kq(a);nz(a);return}function Ju(a){a=a|0;return 127}function Ku(a){a=a|0;return 127}function Lu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Mu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Nu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Ou(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;xz(a,1,45);return}function Pu(a){a=a|0;return 0}function Qu(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ru(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Su(a){a=a|0;Kq(a);return}function Tu(a){a=a|0;Kq(a);nz(a);return}function Uu(a){a=a|0;return 2147483647}function Vu(a){a=a|0;return 2147483647}function Wu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Xu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Yu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function Zu(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Nz(a,1,45);return}function _u(a){a=a|0;return 0}function $u(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function av(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function bv(a){a=a|0;Kq(a);return}function cv(a){a=a|0;Kq(a);nz(a);return}function dv(a){a=a|0;return 2147483647}function ev(a){a=a|0;return 2147483647}function fv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function gv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function hv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function iv(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Nz(a,1,45);return}function jv(a){a=a|0;return 0}function kv(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function lv(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function mv(a){a=a|0;Kq(a);return}function nv(a){a=a|0;Kq(a);nz(a);return}function ov(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;v=hc;o=hc=hc+31&-32;hc=hc+256|0;n=o+240|0;q=o+216|0;m=o+112|0;u=o+232|0;p=o+228|0;s=o+224|0;j=o+250|0;w=o+220|0;c[u>>2]=m;c[u+4>>2]=139;Up(s,g);b=dr(s,99668)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(rv(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){oc[c[(c[b>>2]|0)+32>>2]&7](b,75489,75499,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=uo(b+2|0)|0;if(!b)kz();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[75489+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Sn(o,75500,q)|0)!=1)vu(0);if(r|0)vo(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[f>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[f>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;er(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)wc[c[u+4>>2]&255](b);hc=v;return f|0}function pv(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;s=hc;n=hc=hc+31&-32;hc=hc+128|0;j=n+120|0;b=n;r=n+112|0;m=n+108|0;p=n+100|0;k=n+124|0;n=n+104|0;c[r>>2]=b;c[r+4>>2]=139;Up(p,g);l=dr(p,99668)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(rv(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;Jq(f,j);c[i+4>>2]=0}else{a[j>>0]=0;Jq(i,j);a[b>>0]=0}if(a[k>>0]|0)Lz(i,mc[c[(c[l>>2]|0)+28>>2]&31](l,45)|0);k=mc[c[(c[l>>2]|0)+28>>2]&31](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}sv(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cp(a[g>>0]|0)|0;if(Tp(b,bp()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=kc[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cp(a[b>>0]|0)|0;if(!(Tp(b,bp()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;er(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)wc[c[r+4>>2]&255](b);hc=s;return g|0}function qv(a){a=a|0;return}function rv(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=hc;R=hc=hc+31&-32;hc=hc+512|0;I=R+488|0;O=R;X=R+480|0;Q=R+472|0;J=R+468|0;K=R+496|0;L=R+493|0;M=R+492|0;S=R+456|0;T=R+444|0;U=R+432|0;V=R+420|0;W=R+408|0;N=R+404|0;R=R+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=139;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}vv(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cp(a[o>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cp(a[h>>0]|0)|0}Lz(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)kc[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cp(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cp(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cp(a[o>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cp(a[h>>0]|0)|0;if(Tp(g,bp()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cp(a[g>>0]|0)|0;if(!(Tp(g,bp()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cp(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){wv(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){xv(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))kc[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cp(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){xv(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=kc[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cp(a[o>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cp(a[o>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))wv(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cp(a[o>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cp(a[h>>0]|0)|0}Lz(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(Tp(o,bp()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if(!(Tp(o,bp()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=kc[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cp(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))kc[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cp(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;sr(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);Az(W);Az(V);Az(U);Az(T);Az(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)wc[c[X+4>>2]&255](o);hc=Y;return g|0}function sv(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=hc;m=hc=hc+31&-32;hc=hc+16|0;j=d;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){i=(c[b+8>>2]&2147483647)+-1|0;l=c[b+4>>2]|0}else{i=10;l=h&255}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(tv(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uv(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;Kz(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;Az(m);break}if((i-l|0)>>>0<k>>>0)Iz(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;Jq(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;Jq(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);hc=o;return b|0}function tv(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function uv(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=hc;i=hc=hc+31&-32;hc=hc+16|0;g=d;f=e-g|0;if(f>>>0>4294967279)tz(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=lz(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;Jq(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;Jq(h+f|0,i);hc=j;return}function vv(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+16|0;m=n+12|0;if(b){d=dr(d,99900)|0;xc[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;xc[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[m>>0]=0;Jq(b,m);c[k+4>>2]=0;b=k}else{a[m>>0]=0;Jq(k,m);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[m>>0]=0;Jq(b,m);c[j+4>>2]=0;b=j}else{a[m>>0]=0;Jq(j,m);a[b>>0]=0;b=j}Ez(j,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);a[f>>0]=kc[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Jq(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Jq(h,m);a[b>>0]=0;b=h}Ez(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Jq(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Jq(i,m);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);b=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=dr(d,99892)|0;xc[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;xc[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[m>>0]=0;Jq(b,m);c[k+4>>2]=0;b=k}else{a[m>>0]=0;Jq(k,m);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[m>>0]=0;Jq(b,m);c[j+4>>2]=0;b=j}else{a[m>>0]=0;Jq(j,m);a[b>>0]=0;b=j}Ez(j,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);a[f>>0]=kc[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Jq(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Jq(h,m);a[b>>0]=0;b=h}Ez(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Jq(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Jq(i,m);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);b=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;hc=o;return}function wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=xo(f?e:0,g)|0;if(!e)kz();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){wc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function xv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=xo(f?e:0,g)|0;if(!e)kz();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){wc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function yv(a){a=a|0;Kq(a);return}function zv(a){a=a|0;Kq(a);nz(a);return}function Av(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;v=hc;o=hc=hc+31&-32;hc=hc+592|0;n=o+512|0;q=o+552|0;m=o+112|0;u=o+568|0;p=o+564|0;s=o+560|0;j=o+576|0;w=o+556|0;c[u>>2]=m;c[u+4>>2]=139;Up(s,g);b=dr(s,99700)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(Cv(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){oc[c[(c[b>>2]|0)+48>>2]&7](b,75599,75609,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=uo((b>>>2)+2|0)|0;if(!b)kz();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[75599+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Sn(o,75500,q)|0)!=1)vu(0);if(r|0)vo(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=up(c[f>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=up(c[f>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;er(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)wc[c[u+4>>2]&255](b);hc=v;return f|0}function Bv(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;s=hc;n=hc=hc+31&-32;hc=hc+432|0;j=n+424|0;b=n;r=n+416|0;m=n+408|0;p=n+400|0;k=n+428|0;n=n+404|0;c[r>>2]=b;c[r+4>>2]=139;Up(p,g);l=dr(p,99700)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(Cv(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;Rq(f,j);c[i+4>>2]=0}else{c[j>>2]=0;Rq(i,j);a[b>>0]=0}if(a[k>>0]|0)Xz(i,mc[c[(c[l>>2]|0)+44>>2]&31](l,45)|0);k=mc[c[(c[l>>2]|0)+44>>2]&31](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}Dv(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=up(c[g>>2]|0)|0;if(Vp(b,tp()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=kc[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=up(c[b>>2]|0)|0;if(!(Vp(b,tp()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;er(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)wc[c[r+4>>2]&255](b);hc=s;return g|0}function Cv(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,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=hc;Q=hc=hc+31&-32;hc=hc+512|0;H=Q+496|0;N=Q;W=Q+488|0;P=Q+480|0;I=Q+476|0;J=Q+500|0;K=Q+472|0;L=Q+468|0;R=Q+456|0;S=Q+444|0;T=Q+432|0;U=Q+420|0;V=Q+408|0;M=Q+404|0;Q=Q+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=139;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}Gv(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=kc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=up(c[n>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(!(nc[c[(c[k>>2]|0)+12>>2]&31](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=up(c[g>>2]|0)|0}Xz(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)kc[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;up(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=kc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=up(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(nc[c[(c[k>>2]|0)+12>>2]&31](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=up(c[n>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=kc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=up(c[g>>2]|0)|0;if(Vp(f,tp()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=up(c[f>>2]|0)|0;if(!(Vp(f,tp()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=kc[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=up(c[g>>2]|0)|0;if(nc[c[(c[k>>2]|0)+12>>2]&31](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){Hv(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){xv(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))kc[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;up(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){xv(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=kc[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=up(c[n>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=up(c[n>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(!(nc[c[(c[k>>2]|0)+12>>2]&31](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))Hv(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=kc[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=up(c[n>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(!(nc[c[(c[k>>2]|0)+12>>2]&31](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=up(c[g>>2]|0)|0}Xz(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(Vp(n,tp()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if(!(Vp(n,tp()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=kc[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=up(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))kc[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;up(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;sr(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);Pz(V);Pz(U);Pz(T);Pz(S);Az(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)wc[c[W+4>>2]&255](n);hc=X;return f|0}function Dv(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=hc;l=hc=hc+31&-32;hc=hc+16|0;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){h=(c[f>>2]&2147483647)+-1|0;k=c[b+4>>2]|0}else{h=1;k=i&255}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(Ev(d,g,g+(f<<2)|0)|0){c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Fv(l,d,e);m=a[l+8+3>>0]|0;e=m<<24>>24<0;Wz(b,e?c[l>>2]|0:l,e?c[l+4>>2]|0:m&255)|0;Pz(l);break}if((h-k|0)>>>0<j>>>0)Vz(b,h,k+j-h|0,k,k,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(k<<2)|0;while(1){if((d|0)==(e|0))break;Rq(f,d);f=f+4|0;d=d+4|0}c[l>>2]=0;Rq(f,l);d=k+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);hc=n;return b|0}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0<c>>>0|0}function Fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=hc;i=hc=hc+31&-32;hc=hc+16|0;h=e-d>>2;if(h>>>0>1073741807)tz(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)Pa();else{f=lz(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;Rq(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;Rq(f,i);hc=j;return}function Gv(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+16|0;m=n+12|0;if(b){d=dr(d,99916)|0;xc[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;xc[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[m>>2]=0;Rq(e,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);xc[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[m>>2]=0;Rq(k,m);c[j+4>>2]=0}else{c[m>>2]=0;Rq(j,m);a[b>>0]=0}Tz(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);c[f>>2]=kc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[g>>2]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Jq(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Jq(h,m);a[b>>0]=0;b=h}Ez(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[m>>2]=0;Rq(h,m);c[i+4>>2]=0}else{c[m>>2]=0;Rq(i,m);a[b>>0]=0}Tz(i,0);c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);b=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=dr(d,99908)|0;xc[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;xc[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+8+3|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;c[m>>2]=0;Rq(e,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);xc[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+8+3|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;c[m>>2]=0;Rq(k,m);c[j+4>>2]=0}else{c[m>>2]=0;Rq(j,m);a[b>>0]=0}Tz(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);c[f>>2]=kc[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[g>>2]=kc[c[(c[d>>2]|0)+16>>2]&127](d)|0;xc[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){b=c[h>>2]|0;a[m>>0]=0;Jq(b,m);c[h+4>>2]=0;b=h}else{a[m>>0]=0;Jq(h,m);a[b>>0]=0;b=h}Ez(h,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+8+3|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;c[m>>2]=0;Rq(h,m);c[i+4>>2]=0}else{c[m>>2]=0;Rq(i,m);a[b>>0]=0}Tz(i,0);c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);b=kc[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;hc=o;return}function Hv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=139;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=xo(f?e:0,g)|0;if(!e)kz();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){wc[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=140;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function Iv(a){a=a|0;Kq(a);return}function Jv(a){a=a|0;Kq(a);nz(a);return}function Kv(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=hc;w=hc=hc+31&-32;hc=hc+416|0;q=w+336|0;k=w+328|0;b=w+224|0;l=w+400|0;j=w+112|0;D=w+396|0;r=w+408|0;s=w+405|0;t=w+404|0;A=w+384|0;B=w+372|0;C=w+360|0;o=w+356|0;p=w;u=w+352|0;v=w+344|0;w=w+348|0;c[l>>2]=b;g[q>>3]=i;b=Fn(b,100,75705,q)|0;if(b>>>0>99){b=gr()|0;g[k>>3]=i;b=Cs(l,b,75705,k)|0;j=c[l>>2]|0;if(!j)kz();k=uo(b)|0;if(!k)kz();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}Up(D,f);n=dr(D,99668)|0;m=c[l>>2]|0;oc[c[(c[n>>2]|0)+32>>2]&7](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}Mv(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=uo(b)|0;if(!b)kz();else{y=b;F=b}}else{y=p;F=0}Nv(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=Og(q,y,d,b,f,h)|0;if(F|0)vo(F);Az(C);Az(B);Az(A);er(D);if(G|0)vo(G);if(H|0)vo(H);hc=E;return b|0}function Lv(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=hc;s=hc=hc+31&-32;hc=hc+176|0;p=s+156|0;B=s+152|0;u=s+164|0;v=s+161|0;w=s+160|0;y=s+140|0;z=s+128|0;A=s+116|0;l=s+112|0;n=s;q=s+108|0;r=s+104|0;s=s+100|0;Up(B,f);t=dr(B,99668)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(mc[c[(c[t>>2]|0)+28>>2]&31](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}Mv(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=uo(b)|0;if(!b)kz();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;Nv(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=Og(p,x,h,b,f,g)|0;if(D|0)vo(D);Az(A);Az(z);Az(y);er(B);hc=C;return b|0}function Mv(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=hc;o=hc=hc+31&-32;hc=hc+16|0;n=o+12|0;if(b){m=dr(e,99900)|0;if(d){xc[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Jq(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Jq(k,n);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);e=m}else{xc[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Jq(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Jq(k,n);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);e=m}a[g>>0]=kc[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=kc[c[(c[m>>2]|0)+16>>2]&127](m)|0;xc[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;Jq(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;Jq(i,n);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);xc[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;Jq(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;Jq(j,n);a[b>>0]=0;b=j}Ez(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);b=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=dr(e,99892)|0;if(d){xc[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Jq(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Jq(k,n);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);e=m}else{xc[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){b=c[k>>2]|0;a[n>>0]=0;Jq(b,n);c[k+4>>2]=0;b=k}else{a[n>>0]=0;Jq(k,n);a[b>>0]=0;b=k}Ez(k,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);e=m}a[g>>0]=kc[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=kc[c[(c[m>>2]|0)+16>>2]&127](m)|0;xc[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[n>>0]=0;Jq(b,n);c[i+4>>2]=0;b=i}else{a[n>>0]=0;Jq(i,n);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);xc[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){b=c[j>>2]|0;a[n>>0]=0;Jq(b,n);c[j+4>>2]=0;b=j}else{a[n>>0]=0;Jq(j,n);a[b>>0]=0;b=j}Ez(j,0);c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}Az(o);b=kc[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;hc=p;return}function Nv(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=mc[c[(c[j>>2]|0)+28>>2]&31](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=mc[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=mc[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function Ov(a){a=a|0;Kq(a);return}function Pv(a){a=a|0;Kq(a);nz(a);return}function Qv(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;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;E=hc;w=hc=hc+31&-32;hc=hc+992|0;q=w+912|0;k=w+904|0;b=w+800|0;l=w+984|0;j=w+400|0;D=w+980|0;r=w+988|0;s=w+976|0;t=w+972|0;A=w+960|0;B=w+948|0;C=w+936|0;o=w+932|0;p=w;u=w+928|0;v=w+920|0;w=w+924|0;c[l>>2]=b;g[q>>3]=i;b=Fn(b,100,75705,q)|0;if(b>>>0>99){b=gr()|0;g[k>>3]=i;b=Cs(l,b,75705,k)|0;j=c[l>>2]|0;if(!j)kz();k=uo(b<<2)|0;if(!k)kz();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}Up(D,f);n=dr(D,99700)|0;m=c[l>>2]|0;oc[c[(c[n>>2]|0)+48>>2]&7](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}Sv(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=uo(b<<2)|0;if(!b)kz();else{y=b;F=b}}else{y=p;F=0}Tv(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=Qs(q,y,d,b,f,h)|0;if(F|0)vo(F);Pz(C);Pz(B);Az(A);er(D);if(G|0)vo(G);if(H|0)vo(H);hc=E;return b|0}function Rv(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=hc;s=hc=hc+31&-32;hc=hc+480|0;p=s+464|0;B=s+460|0;u=s+468|0;v=s+456|0;w=s+452|0;y=s+440|0;z=s+428|0;A=s+416|0;l=s+412|0;n=s;q=s+408|0;r=s+404|0;s=s+400|0;Up(B,f);t=dr(B,99700)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(mc[c[(c[t>>2]|0)+44>>2]&31](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}Sv(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=uo(b<<2)|0;if(!b)kz();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;Tv(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=Qs(p,x,h,b,f,g)|0;if(D|0)vo(D);Pz(A);Pz(z);Az(y);er(B);hc=C;return b|0}function Sv(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+16|0;m=n+12|0;if(b){e=dr(e,99916)|0;if(d){xc[c[(c[e>>2]|0)+44>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[e>>2]|0)+32>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;Rq(f,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n)}else{xc[c[(c[e>>2]|0)+40>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[e>>2]|0)+28>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;Rq(f,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n)}c[g>>2]=kc[c[(c[e>>2]|0)+12>>2]&127](e)|0;c[h>>2]=kc[c[(c[e>>2]|0)+16>>2]&127](e)|0;xc[c[(c[e>>2]|0)+20>>2]&63](n,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Jq(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Jq(i,m);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[e>>2]|0)+24>>2]&63](n,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[m>>2]=0;Rq(i,m);c[j+4>>2]=0}else{c[m>>2]=0;Rq(j,m);a[b>>0]=0}Tz(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);b=kc[c[(c[e>>2]|0)+36>>2]&127](e)|0}else{e=dr(e,99908)|0;if(d){xc[c[(c[e>>2]|0)+44>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[e>>2]|0)+32>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;Rq(f,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n)}else{xc[c[(c[e>>2]|0)+40>>2]&63](m,e);b=c[m>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;xc[c[(c[e>>2]|0)+28>>2]&63](n,e);b=k+8+3|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;c[m>>2]=0;Rq(f,m);c[k+4>>2]=0}else{c[m>>2]=0;Rq(k,m);a[b>>0]=0}Tz(k,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n)}c[g>>2]=kc[c[(c[e>>2]|0)+12>>2]&127](e)|0;c[h>>2]=kc[c[(c[e>>2]|0)+16>>2]&127](e)|0;xc[c[(c[e>>2]|0)+20>>2]&63](n,e);b=i+11|0;if((a[b>>0]|0)<0){b=c[i>>2]|0;a[m>>0]=0;Jq(b,m);c[i+4>>2]=0;b=i}else{a[m>>0]=0;Jq(i,m);a[b>>0]=0;b=i}Ez(i,0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Az(n);xc[c[(c[e>>2]|0)+24>>2]&63](n,e);b=j+8+3|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;c[m>>2]=0;Rq(i,m);c[j+4>>2]=0}else{c[m>>2]=0;Rq(j,m);a[b>>0]=0}Tz(j,0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}Pz(n);b=kc[c[(c[e>>2]|0)+36>>2]&127](e)|0}c[l>>2]=b;hc=o;return}function Tv(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var 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;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=mc[c[(c[i>>2]|0)+44>>2]&31](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(nc[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=mc[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=mc[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function Uv(a){a=a|0;Kq(a);return}function Vv(a){a=a|0;Kq(a);nz(a);return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;e=sn((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Xv(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;j=hc;i=hc=hc+31&-32;hc=hc+16|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;Lz(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=rn((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(tn(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;Lz(b,a[d>>0]|0);d=d+1|0}Az(i);hc=j;return}function Yv(a,b){a=a|0;b=b|0;return}function Zv(a){a=a|0;Kq(a);return}function _v(a){a=a|0;Kq(a);nz(a);return}function $v(b,d,e){b=b|0;d=d|0;e=e|0;e=sn((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function aw(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;t=hc;o=hc=hc+31&-32;hc=hc+176|0;p=o+168|0;q=o;r=o+164|0;s=o+160|0;n=o+128|0;l=o+152|0;o=o+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=51276;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0))break;c[s>>2]=h;i=uc[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;Lz(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)vu(0);Kq(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=rn((e|0)==-1?-1:e<<1,f,g,i)|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}c[o+4>>2]=0;c[o>>2]=51324;j=i+(tn(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0<j>>>0)){m=23;break}c[s>>2]=h;i=uc[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;Xz(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)vu(0);else if((m|0)==23){Kq(o);Az(n);hc=t;return}}function bw(a,b){a=a|0;b=b|0;return}function cw(a){a=a|0;Kq(a);nz(a);return}function dw(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=hc;a=hc=hc+31&-32;hc=hc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=mw(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];hc=b;return h|0}function ew(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=hc;a=hc=hc+31&-32;hc=hc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=lw(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];hc=b;return h|0}function fw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function gw(a){a=a|0;return 0}function hw(a){a=a|0;return 0}function iw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kw(c,d,e,1114111,0)|0}function jw(a){a=a|0;return 4}function kw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0<e>>>0&g>>>0<c>>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function lw(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function mw(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;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function nw(a){a=a|0;Kq(a);nz(a);return}function ow(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function pw(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function qw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function rw(a){a=a|0;return 1}function sw(a){a=a|0;return 1}function tw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0<e>>>0?d:e)|0}function uw(a){a=a|0;return 1}function vw(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=hc;n=hc=hc+31&-32;hc=hc+16|0;p=n;n=n+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=Gn(c[o>>2]|0)|0;l=eo(h,g,k-e>>2,m-h|0,d)|0;if(b|0)Gn(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=Gn(c[o>>2]|0)|0;e=Sm(n,0,d)|0;if(h|0)Gn(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=Gn(c[o>>2]|0)|0;h=Sm(h,r,p)|0;if(k|0)Gn(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;hc=q;return e|0}function ww(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=hc;o=hc=hc+31&-32;hc=hc+16|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=Gn(c[n>>2]|0)|0;l=ao(h,g,k-e|0,m-h>>2,d)|0;if(b|0)Gn(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=Gn(c[n>>2]|0)|0;e=zn(h,e,1,d)|0;if(k|0)Gn(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=Gn(c[n>>2]|0)|0;h=zn(h,e,k-e|0,o)|0;if(b|0)Gn(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;hc=p;return e|0}function xw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=hc;h=hc=hc+31&-32;hc=hc+16|0;c[g>>2]=e;e=Gn(c[b+8>>2]|0)|0;b=Sm(h,0,d)|0;if(e|0)Gn(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);hc=i;return b|0}function yw(a){a=a|0;var b=0,d=0;a=a+8|0;b=Gn(c[a>>2]|0)|0;d=Ln(0,0,4)|0;if(b|0)Gn(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=Gn(a)|0;a=bn()|0;if(b|0)Gn(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function zw(a){a=a|0;return 0}function Aw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=Gn(c[j>>2]|0)|0;a=$n(d,k-d|0,b)|0;if(g|0)Gn(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function Bw(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=Gn(a)|0;a=bn()|0;if(b)Gn(b)|0}else a=1;return a|0}function Cw(a){a=a|0;var b=0,d=0;c[a>>2]=51372;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(gr()|0))xn(c[b>>2]|0);Kq(a);return}function Dw(a){a=a|0;Cw(a);nz(a);return}function Ew(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=hc;a=hc=hc+31&-32;hc=hc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=Nw(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];hc=b;return h|0}function Fw(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=hc;a=hc=hc+31&-32;hc=hc+16|0;j=a+4|0;c[j>>2]=d;c[a>>2]=g;h=Mw(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];hc=b;return h|0}function Gw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Hw(a){a=a|0;return 0}function Iw(a){a=a|0;return 0}function Jw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Lw(c,d,e,1114111,0)|0}function Kw(a){a=a|0;return 4}function Lw(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0<e>>>0&g>>>0<c>>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function Mw(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function Nw(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function Ow(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=51420;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)wc[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}Az(a+144|0);Qw(e);Kq(a);return}function Pw(a){a=a|0;Ow(a);nz(a);return}function Qw(b){b=b|0;var d=0;d=c[b>>2]|0;do if(d|0){c[b+4>>2]=d;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{nz(d);break}}while(0);return}function Rw(b){b=b|0;var d=0;c[b>>2]=51440;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)oz(d);Kq(b);return}function Sw(a){a=a|0;Rw(a);nz(a);return}function Tw(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(ax()|0)+((b&255)<<2)>>2]&255;return b|0}function Uw(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=ax()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function Vw(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[($w()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function Ww(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=$w()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function Xw(a,b){a=a|0;b=b|0;return b|0}function Yw(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function Zw(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function _w(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function $w(){return c[(dn()|0)>>2]|0}function ax(){return c[(en()|0)>>2]|0}function bx(){return c[(an()|0)>>2]|0}function cx(a){a=a|0;c[a>>2]=51492;Az(a+12|0);Kq(a);return}function dx(a){a=a|0;cx(a);nz(a);return}function ex(b){b=b|0;return a[b+8>>0]|0}function fx(b){b=b|0;return a[b+9>>0]|0}function gx(a,b){a=a|0;b=b|0;vz(a,b+12|0);return}function hx(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;wz(a,76282,Rp(76282)|0);return}function ix(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;wz(a,76276,Rp(76276)|0);return}function jx(a){a=a|0;c[a>>2]=51532;Az(a+16|0);Kq(a);return}function kx(a){a=a|0;jx(a);nz(a);return}function lx(a){a=a|0;return c[a+8>>2]|0}function mx(a){a=a|0;return c[a+12>>2]|0}function nx(a,b){a=a|0;b=b|0;vz(a,b+16|0);return}function ox(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Mz(a,51588,Rt(51588)|0);return}function px(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;Mz(a,51564,Rt(51564)|0);return}function qx(a){a=a|0;Kq(a);nz(a);return}function rx(a){a=a|0;Kq(a);nz(a);return}function sx(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)a=(b[(bx()|0)+(d<<1)>>1]&c)<<16>>16!=0;else a=0;return a|0}function tx(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=bx()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function ux(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=bx()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function vx(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=bx()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function wx(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(ax()|0)+(b<<2)>>2]|0;return b|0}function xx(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=ax()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function yx(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[($w()|0)+(b<<2)>>2]|0;return b|0}function zx(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=$w()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function Ax(a,b){a=a|0;b=b|0;return b<<24>>24|0}function Bx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function Dx(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;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function Ex(a){a=a|0;Kq(a);nz(a);return}function Fx(a){a=a|0;Kq(a);nz(a);return}function Gx(a){a=a|0;Kq(a);nz(a);return}function Hx(a){a=a|0;c[a>>2]=51848;return}function Ix(a){a=a|0;c[a>>2]=51884;return}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=51440;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=bx()|0;return}function Kx(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=51420;b=a+8|0;Lx(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;wz(d,74221,Rp(74221)|0);c[a+12>>2]=c[b>>2];Mx();Nx(a,97464);Ox();Px(a,97472);Qx();Rx(a,97480);Sx();Tx(a,97496);Ux();Vx(a,97504);Wx();Xx(a,97512);Yx();Zx(a,97528);_x();$x(a,97536);ay();by(a,97544);cy();dy(a,97568);ey();fy(a,97600);gy();hy(a,97608);iy();jy(a,97616);ky();ly(a,97624);my();ny(a,97632);oy();py(a,97640);qy();ry(a,97648);sy();ty(a,97656);uy();vy(a,97664);wy();xy(a,97672);yy();zy(a,97680);Ay();By(a,97688);Cy();Dy(a,97696);Ey();Fy(a,97712);Gy();Hy(a,97728);Iy();Jy(a,97744);Ky();Ly(a,97760);My();Ny(a,97768);return}function Lx(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){_y(b,d);Ry(b,d)}return}function Mx(){c[24367]=0;c[24366]=49276;return}function Nx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99652)|0);return}function Ox(){c[24369]=0;c[24368]=49308;return}function Px(a,b){a=a|0;b=b|0;Oy(a,b,ir(99660)|0);return}function Qx(){Jx(97480,0,0,1);return}function Rx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99668)|0);return}function Sx(){c[24375]=0;c[24374]=51636;return}function Tx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99700)|0);return}function Ux(){c[24377]=0;c[24376]=51704;return}function Vx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99972)|0);return}function Wx(){Zy(97512,1);return}function Xx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99980)|0);return}function Yx(){c[24383]=0;c[24382]=51752;return}function Zx(a,b){a=a|0;b=b|0;Oy(a,b,ir(99988)|0);return}function _x(){c[24385]=0;c[24384]=51800;return}function $x(a,b){a=a|0;b=b|0;Oy(a,b,ir(99996)|0);return}function ay(){Yy(97544,1);return}function by(a,b){a=a|0;b=b|0;Oy(a,b,ir(99684)|0);return}function cy(){Xy(97568,1);return}function dy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99708)|0);return}function ey(){c[24401]=0;c[24400]=49340;return}function fy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99692)|0);return}function gy(){c[24403]=0;c[24402]=49404;return}function hy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99716)|0);return}function iy(){c[24405]=0;c[24404]=49468;return}function jy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99724)|0);return}function ky(){c[24407]=0;c[24406]=49520;return}function ly(a,b){a=a|0;b=b|0;Oy(a,b,ir(99732)|0);return}function my(){c[24409]=0;c[24408]=50876;return}function ny(a,b){a=a|0;b=b|0;Oy(a,b,ir(99892)|0);return}function oy(){c[24411]=0;c[24410]=50932;return}function py(a,b){a=a|0;b=b|0;Oy(a,b,ir(99900)|0);return}function qy(){c[24413]=0;c[24412]=50988;return}function ry(a,b){a=a|0;b=b|0;Oy(a,b,ir(99908)|0);return}function sy(){c[24415]=0;c[24414]=51044;return}function ty(a,b){a=a|0;b=b|0;Oy(a,b,ir(99916)|0);return}function uy(){c[24417]=0;c[24416]=51100;return}function vy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99924)|0);return}function wy(){c[24419]=0;c[24418]=51128;return}function xy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99932)|0);return}function yy(){c[24421]=0;c[24420]=51156;return}function zy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99940)|0);return}function Ay(){c[24423]=0;c[24422]=51184;return}function By(a,b){a=a|0;b=b|0;Oy(a,b,ir(99948)|0);return}function Cy(){c[24425]=0;c[24424]=51616;Hx(97704);c[24424]=49572;c[24426]=49620;return}function Dy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99800)|0);return}function Ey(){c[24429]=0;c[24428]=51616;Ix(97720);c[24428]=49656;c[24430]=49704;return}function Fy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99868)|0);return}function Gy(){c[24433]=0;c[24432]=51616;c[24434]=gr()|0;c[24432]=50828;return}function Hy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99876)|0);return}function Iy(){c[24437]=0;c[24436]=51616;c[24438]=gr()|0;c[24436]=50852;return}function Jy(a,b){a=a|0;b=b|0;Oy(a,b,ir(99884)|0);return}function Ky(){c[24441]=0;c[24440]=51212;return}function Ly(a,b){a=a|0;b=b|0;Oy(a,b,ir(99956)|0);return}function My(){c[24443]=0;c[24442]=51244;return}function Ny(a,b){a=a|0;b=b|0;Oy(a,b,ir(99964)|0);return}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{Py(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)wc[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function Py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else Qy(a,b-e|0);return}function Qy(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=hc;f=hc=hc+31&-32;hc=hc+32|0;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0<b>>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=Sy(a)|0;if(e>>>0<d>>>0)Yz(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;Ty(f,k>>2>>>0<e>>>1>>>0?(g>>>0<d>>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);Uy(f,b);Vy(a,f);Wy(f);break}}else Ry(a,b);while(0);hc=i;return}function Ry(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Sy(a){a=a|0;return 1073741823}function Ty(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=lz(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function Uy(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){fB(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wy(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{nz(e);break}}while(0);return}function Xy(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=51532;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function Yy(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=51492;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function Zy(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=51372;c[a+8>>2]=gr()|0;return}function _y(b,d){b=b|0;d=d|0;var e=0;if((Sy(b)|0)>>>0<d>>>0)Yz(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=lz(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function $y(){if((a[97776]|0)==0?RA(97776)|0:0){az()|0;c[25002]=100004}return c[25002]|0}function az(){bz();c[25001]=97784;return 100004}function bz(){Kx(97784,1);return}function cz(){dz(100012,$y()|0);return 100012}function dz(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function ez(){if((a[97944]|0)==0?RA(97944)|0:0){cz()|0;c[25004]=100012}return c[25004]|0}function fz(a){a=a|0;var b=0;b=c[(ez()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function gz(a){a=a|0;return}function hz(a,b){a=a|0;b=b|0;return 0}function iz(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))wc[c[(c[a>>2]|0)+16>>2]&255](a);return}function jz(a,b,d){a=a|0;b=b|0;d=d|0;Do(100020)|0;while(1){if((c[a>>2]|0)!=1)break;eb(100048,100020)|0}if(!(c[a>>2]|0)){c[a>>2]=1;Eo(100020)|0;wc[d&255](b);Do(100020)|0;c[a>>2]=-1;Eo(100020)|0;iB(100048)|0}else Eo(100020)|0;return}function kz(){Pa()}function lz(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=uo(b)|0;if(a|0)break;a=UA()|0;if(!a){a=0;break}vc[a&3]()}return a|0}function mz(a){a=a|0;return lz(a)|0}function nz(a){a=a|0;vo(a);return}function oz(a){a=a|0;nz(a);return}function pz(a,b){a=a|0;b=b|0;var d=0,e=0;e=tn(b)|0;d=lz(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=qz(d)|0;fB(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function qz(a){a=a|0;return a+12|0}function rz(a,b){a=a|0;b=b|0;c[a>>2]=52004;pz(a+4|0,b);return}function sz(a){a=a|0;return 1}function tz(a){a=a|0;Pa()}function uz(a){a=a|0;Pa()}function vz(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)wz(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 wz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=hc;f=hc=hc+31&-32;hc=hc+16|0;if(e>>>0>4294967279)tz(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=lz(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}dp(b,d,e)|0;a[f>>0]=0;Jq(b+e|0,f);hc=g;return}function xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=hc;f=hc=hc+31&-32;hc=hc+16|0;if(d>>>0>4294967279)tz(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=lz(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}yz(b,d,e)|0;a[f>>0]=0;Jq(b+d|0,f);hc=g;return}function yz(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)hB(a|0,(cp(c)|0)&255|0,b|0)|0;return a|0}function zz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d+11>>0]|0;h=g<<24>>24<0;g=h?c[d+4>>2]|0:g&255;if(g>>>0<e>>>0)uz(b);else{g=g-e|0;wz(b,(h?c[d>>2]|0:d)+e|0,g>>>0<f>>>0?g:f);return}}function Az(b){b=b|0;if((a[b+11>>0]|0)<0)nz(c[b>>2]|0);return}function Bz(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=hc;i=hc=hc+31&-32;hc=hc+16|0;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;Cz(f,d,e)|0;a[i>>0]=0;Jq(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;Dz(b,h,e-h|0,f,0,f,e,d)}while(0);hc=k;return b|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)gB(a|0,b|0,c|0)|0;return a|0}function Dz(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+16|0;if((-18-d|0)>>>0<e>>>0)tz(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0<l>>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=lz(k)|0;if(g|0)dp(l,m,g)|0;if(i|0)dp(l+g|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)dp(l+g+i|0,m+g+h|0,f)|0;if((d|0)!=10)nz(m);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=e+i|0;c[b+4>>2]=i;a[n>>0]=0;Jq(l+i|0,n);hc=o;return}function Ez(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d>>>0>4294967279)tz(b);i=b+11|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[b+8>>2]&2147483647)+-1|0}else{k=g&255;e=10}j=k>>>0>d>>>0?k:d;d=j>>>0<11;j=d?10:(j+16&-16)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=13}else{dp(b,d,(g&255)+1|0)|0;nz(d);h=16}}else{e=j+1|0;f=lz(e)|0;if(h){g=1;e=c[b>>2]|0;h=13;break}else{dp(f,b,(g&255)+1|0)|0;d=b+4|0;h=15;break}}while(0);if((h|0)==13){d=b+4|0;dp(f,e,(c[d>>2]|0)+1|0)|0;nz(e);if(g){e=j+1|0;h=15}else h=16}if((h|0)==15){c[b+8>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==16){a[i>>0]=k;break}}while(0);return}function Fz(a,b){a=a|0;b=b|0;return Bz(a,b,Rp(b)|0)|0}function Gz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=hc;g=hc=hc+31&-32;hc=hc+16|0;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;Jq(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;Jq(b+d|0,g);a[h>>0]=d;break}else Hz(b,d-f|0,e)|0;while(0);hc=j;return}function Hz(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=hc;i=hc=hc+31&-32;hc=hc+16|0;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){g=(c[b+8>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{g=10;h=f&255}if((g-h|0)>>>0<d>>>0){Iz(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;yz(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Jq(g+f|0,i)}hc=k;return b|0}function Iz(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0<e>>>0)tz(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0<k>>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=lz(j)|0;if(g|0)dp(k,l,g)|0;e=f-h-g|0;if(e|0)dp(k+g+i|0,l+g+h|0,e)|0;if((d|0)!=10)nz(l);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function Jz(b,d){b=b|0;d=d|0;var e=0,f=0;e=a[b+11>>0]|0;f=e<<24>>24<0;if(f)e=c[b+4>>2]|0;else e=e&255;if(e>>>0<=d>>>0)uz(b);if(f)b=c[b>>2]|0;return b+d|0}function Kz(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=hc;i=hc=hc+31&-32;hc=hc+16|0;j=b+11|0;f=a[j>>0]|0;h=f<<24>>24<0;if(h){g=(c[b+8>>2]&2147483647)+-1|0;f=c[b+4>>2]|0}else{g=10;f=f&255}if((g-f|0)>>>0>=e>>>0){if(e|0){if(h)g=c[b>>2]|0;else g=b;dp(g+f|0,d,e)|0;f=f+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;Jq(g+f|0,i)}}else Dz(b,g,f+e-g|0,f,f,0,e,d);hc=k;return b|0}function Lz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=hc;i=hc=hc+31&-32;hc=hc+16|0;h=i+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){Iz(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;Jq(b,h);a[i>>0]=0;Jq(b+1|0,i);hc=j;return}function Mz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=hc;h=hc=hc+31&-32;hc=hc+16|0;if(e>>>0>1073741807)tz(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)Pa();else{f=lz(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);vp(f,d,e)|0;c[h>>2]=0;Rq(f+(e<<2)|0,h);hc=i;return}function Nz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=hc;h=hc=hc+31&-32;hc=hc+16|0;if(d>>>0>1073741807)tz(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)Pa();else{f=lz(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);Oz(f,d,e)|0;c[h>>2]=0;Rq(f+(d<<2)|0,h);hc=i;return}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;if(b)so(a,c,b)|0;return a|0}function Pz(b){b=b|0;if((a[b+8+3>>0]|0)<0)nz(c[b>>2]|0);return}function Qz(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=hc;j=hc=hc+31&-32;hc=hc+16|0;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;Rz(f,d,e)|0;c[j>>2]=0;Rq(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;Sz(b,g,e-g|0,f,0,f,e,d)}while(0);hc=l;return b|0}function Rz(a,b,c){a=a|0;b=b|0;c=c|0;if(c)to(a,b,c)|0;return a|0}function Sz(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=hc;o=hc=hc+31&-32;hc=hc+16|0;if((1073741806-d|0)>>>0<e>>>0)tz(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0<k>>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)Pa();else m=e}else m=1073741807;k=lz(m<<2)|0;if(g|0)vp(k,n,g)|0;if(i|0)vp(k+(g<<2)|0,j,i)|0;e=f-h|0;f=e-g|0;if(f|0)vp(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,f)|0;if((d|0)!=1)nz(n);c[b>>2]=k;c[l>>2]=m|-2147483648;i=e+i|0;c[b+4>>2]=i;c[o>>2]=0;Rq(k+(i<<2)|0,o);hc=p;return}function Tz(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;if(d>>>0>1073741807)tz(b);l=b+8|0;i=l+3|0;g=a[i>>0]|0;h=g<<24>>24<0;if(h){k=c[b+4>>2]|0;e=(c[l>>2]&2147483647)+-1|0}else{k=g&255;e=1}j=k>>>0>d>>>0?k:d;d=j>>>0<2;j=d?1:(j+4&-4)+-1|0;do if((j|0)!=(e|0)){do if(d){d=c[b>>2]|0;if(h){g=0;e=d;f=b;h=15}else{vp(b,d,(g&255)+1|0)|0;nz(d);h=18}}else{e=j+1|0;if(e>>>0>1073741823)Pa();f=lz(e<<2)|0;if(h){g=1;e=c[b>>2]|0;h=15;break}else{vp(f,b,(g&255)+1|0)|0;d=b+4|0;h=17;break}}while(0);if((h|0)==15){d=b+4|0;vp(f,e,(c[d>>2]|0)+1|0)|0;nz(e);if(g){e=j+1|0;h=17}else h=18}if((h|0)==17){c[l>>2]=e|-2147483648;c[d>>2]=k;c[b>>2]=f;break}else if((h|0)==18){a[i>>0]=k;break}}while(0);return}function Uz(a,b){a=a|0;b=b|0;return Qz(a,b,Rt(b)|0)|0}function Vz(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;if((1073741807-d|0)>>>0<e>>>0)tz(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0<j>>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)Pa();else k=e}else k=1073741807;j=lz(k<<2)|0;if(g|0)vp(j,l,g)|0;e=f-h-g|0;if(e|0)vp(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;if((d|0)!=1)nz(l);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function Wz(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=hc;j=hc=hc+31&-32;hc=hc+16|0;f=b+8|0;k=f+3|0;g=a[k>>0]|0;i=g<<24>>24<0;if(i){f=(c[f>>2]&2147483647)+-1|0;h=c[b+4>>2]|0}else{f=1;h=g&255}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;vp(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;Rq(g+(f<<2)|0,j)}}else Sz(b,f,h+e-f|0,h,h,0,e,d);hc=l;return b|0}function Xz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=hc;j=hc=hc+31&-32;hc=hc+16|0;i=j+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){Vz(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;Rq(b,i);c[j>>2]=0;Rq(b+4|0,j);hc=k;return}function Yz(a){a=a|0;Pa()}function Zz(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=hc=hc+31&-32;hc=hc+48|0;h=f+32|0;d=f+24|0;i=f+16|0;g=f;f=f+36|0;a=_z()|0;if(a|0?(e=c[a>>2]|0,e|0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=76520;$z(76470,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(nc[c[(c[2916]|0)+16>>2]&31](11664,e,f)|0){i=c[f>>2]|0;i=kc[c[(c[i>>2]|0)+8>>2]&127](i)|0;c[g>>2]=76520;c[g+4>>2]=a;c[g+8>>2]=i;$z(76384,g)}else{c[i>>2]=76520;c[i+4>>2]=a;$z(76429,i)}}$z(76508,h)}function _z(){var a=0,b=0;a=hc;b=hc=hc+31&-32;hc=hc+16|0;if(!(Jo(100096,3)|0)){b=Ho(c[25025]|0)|0;hc=a;return b|0}else $z(76659,b);return 0}function $z(a,b){a=a|0;b=b|0;var d=0;d=hc=hc+31&-32;hc=hc+16|0;c[d>>2]=b;b=c[12099]|0;Cm(b,a,d)|0;jo(10,b)|0;Pa()}function aA(a){a=a|0;return}function bA(a){a=a|0;aA(a);nz(a);return}function cA(a){a=a|0;return}function dA(a){a=a|0;return}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=hc;f=hc=hc+31&-32;hc=hc+64|0;if(!(iA(a,b,0)|0))if((b|0)!=0?(g=mA(b,11688,11672,0)|0,(g|0)!=0):0){b=f+4|0;e=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[f>>2]=g;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;zc[c[(c[g>>2]|0)+28>>2]&31](g,f,c[d>>2]|0,1);if((c[f+24>>2]|0)==1){c[d>>2]=c[f+16>>2];b=1}else b=0}else b=0;else b=1;hc=h;return b|0}function fA(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(iA(a,c[b+8>>2]|0,g)|0)lA(0,b,d,e,f);return}function gA(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(!(iA(b,c[d+8>>2]|0,g)|0)){if(iA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else kA(0,d,e,f);while(0);return}function hA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(iA(a,c[b+8>>2]|0,0)|0)jA(0,b,d,e);return}function iA(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function jA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function kA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function lA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function mA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=hc;n=hc=hc+31&-32;hc=hc+64|0;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(iA(m,f,0)|0){c[n+48>>2]=1;Bc[c[(c[m>>2]|0)+20>>2]&15](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Ac[c[(c[m>>2]|0)+24>>2]&15](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);hc=p;return d|0}function nA(a){a=a|0;aA(a);nz(a);return}function oA(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(iA(a,c[b+8>>2]|0,g)|0)lA(0,b,d,e,f);else{a=c[a+8>>2]|0;Bc[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function pA(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(!(iA(b,c[d+8>>2]|0,g)|0)){if(!(iA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Ac[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;Bc[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 kA(0,d,e,f);while(0);return}function qA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(iA(a,c[b+8>>2]|0,0)|0)jA(0,b,d,e);else{a=c[a+8>>2]|0;zc[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function rA(a){a=a|0;return}function sA(){var a=0,b=0;a=hc;b=hc=hc+31&-32;hc=hc+16|0;if(!(Go(100100,141)|0)){hc=a;return}else $z(76708,b)}function tA(a){a=a|0;var b=0,d=0;b=hc;d=hc=hc+31&-32;hc=hc+16|0;vo(a);if(!(Io(c[25025]|0,0)|0)){hc=b;return}else $z(76758,d)}function uA(){var a=0,b=0;a=_z()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)vA(c[b+12>>2]|0);vA(wA()|0)}function vA(a){a=a|0;var b=0;b=hc=hc+31&-32;hc=hc+16|0;vc[a&3]();$z(76811,b)}function wA(){var a=0;a=c[12978]|0;c[12978]=a+0;return a|0}function xA(a){a=a|0;return}function yA(a){a=a|0;c[a>>2]=52004;CA(a+4|0);return}function zA(a){a=a|0;yA(a);nz(a);return}function AA(a){a=a|0;return BA(a+4|0)|0}function BA(a){a=a|0;return c[a>>2]|0}function CA(a){a=a|0;var b=0,d=0;if(sz(a)|0?(b=DA(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a+-1|0)<0):0)nz(b);return}function DA(a){a=a|0;return a+-12|0}function EA(a){a=a|0;yA(a);nz(a);return}function FA(a){a=a|0;aA(a);nz(a);return}function GA(a,b,c){a=a|0;b=b|0;c=c|0;return iA(a,b,0)|0}function HA(a){a=a|0;aA(a);nz(a);return}function IA(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=hc;h=hc=hc+31&-32;hc=hc+64|0;c[d>>2]=c[c[d>>2]>>2];if(!(JA(a,b,0)|0))if(((b|0)!=0?(e=mA(b,11688,11776,0)|0,(e|0)!=0):0)?(c[e+8>>2]&~c[a+8>>2]|0)==0:0){a=a+12|0;b=e+12|0;if(!(iA(c[a>>2]|0,c[b>>2]|0,0)|0)?!(iA(c[a>>2]|0,11808,0)|0):0){a=c[a>>2]|0;if((((a|0)!=0?(g=mA(a,11688,11672,0)|0,(g|0)!=0):0)?(f=c[b>>2]|0,(f|0)!=0):0)?(i=mA(f,11688,11672,0)|0,(i|0)!=0):0){a=h+4|0;b=a+52|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=i;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;zc[c[(c[i>>2]|0)+28>>2]&31](i,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];a=1}else a=0}else a=0}else a=1}else a=0;else a=1;hc=j;return a|0}function JA(a,b,c){a=a|0;b=b|0;c=c|0;if(iA(a,b,0)|0)a=1;else a=iA(b,11816,0)|0;return a|0}function KA(a){a=a|0;aA(a);nz(a);return}function LA(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(iA(b,c[d+8>>2]|0,h)|0)lA(0,d,e,f,g);else{p=d+52|0;i=a[p>>0]|0;j=d+53|0;k=a[j>>0]|0;o=c[b+12>>2]|0;l=b+16+(o<<3)|0;a[p>>0]=0;a[j>>0]=0;PA(b+16|0,d,e,f,g,h);a:do if((o|0)>1){m=d+24|0;n=b+8|0;o=d+54|0;b=b+24|0;do{if(a[o>>0]|0)break a;if(!(a[p>>0]|0)){if(a[j>>0]|0?(c[n>>2]&1|0)==0:0)break a}else{if((c[m>>2]|0)==1)break a;if(!(c[n>>2]&2))break a}a[p>>0]=0;a[j>>0]=0;PA(b,d,e,f,g,h);b=b+8|0}while(b>>>0<l>>>0)}while(0);a[p>>0]=i;a[j>>0]=k}return}function MA(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(!(iA(b,c[d+8>>2]|0,g)|0)){if(!(iA(b,c[d>>2]|0,g)|0)){q=c[b+12>>2]|0;k=b+16+(q<<3)|0;QA(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;QA(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;QA(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;QA(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(q=d+20|0,(c[q>>2]|0)!=(e|0)):0){c[d+32>>2]=f;p=d+44|0;if((c[p>>2]|0)==4)break;k=b+16+(c[b+12>>2]<<3)|0;f=d+52|0;l=d+53|0;n=d+54|0;m=b+8|0;o=d+24|0;h=0;i=b+16|0;j=0;b:while(1){if(i>>>0>=k>>>0){b=18;break}a[f>>0]=0;a[l>>0]=0;PA(i,d,e,e,1,g);if(a[n>>0]|0){b=18;break}do if(a[l>>0]|0){if(!(a[f>>0]|0))if(!(c[m>>2]&1)){h=1;b=18;break b}else{h=1;b=j;break}if((c[o>>2]|0)==1){b=23;break b}if(!(c[m>>2]&2)){b=23;break b}else{h=1;b=1}}else b=j;while(0);i=i+8|0;j=b}do if((b|0)==18){if((!j?(c[q>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h){b=23;break}else{h=4;break}}if(h)b=23;else h=4}while(0);if((b|0)==23)h=3;c[p>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}else kA(0,d,e,f);while(0);return}function NA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(iA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;OA(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{OA(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0<g>>>0)}}else jA(0,d,e,f);while(0);return}function OA(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;zc[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function PA(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;Bc[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function QA(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;Ac[c[(c[a>>2]|0)+24>>2]&15](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function RA(b){b=b|0;if((a[b>>0]|0)==1)b=0;else{a[b>>0]=1;b=1}return b|0}function SA(a){a=a|0;return}function TA(a){a=a|0;return}function UA(){var a=0;a=c[25026]|0;c[25026]=a+0;return a|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=hc;e=hc=hc+31&-32;hc=hc+16|0;c[e>>2]=c[d>>2];a=nc[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];hc=f;return a&1|0}function WA(a){a=a|0;if(!a)a=0;else a=(mA(a,11688,11776,0)|0)!=0&1;return a|0}function XA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=u(e,f)|0;d=a>>>16;a=(c>>>16)+(u(e,d)|0)|0;e=b>>>16;b=u(e,f)|0;return (x((a>>>16)+(u(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function YA(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=XA(e,f)|0;a=y()|0;return (x((u(b,f)|0)+(u(d,e)|0)+a|a&0|0),c|0|0)|0}function ZA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (x(b+d+(c>>>0<a>>>0|0)>>>0|0),c|0)|0}function _A(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 (x(d|0),a-c>>>0|0)|0}function $A(a){a=a|0;return (a?31-(v(a^a-1)|0)|0:32)|0}function aB(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 (x(n|0),f)|0}else{if(!g){n=0;f=0;return (x(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (x(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(v(i|0)|0)-(v(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 (x(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (x(n|0),f)|0}g=h-1|0;if(g&h|0){i=(v(h|0)|0)+33-(v(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 (x(o|0),p)|0}else{p=$A(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (x(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 (x(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 (x(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>>>(($A(i|0)|0)>>>0);return (x(o|0),p)|0}g=(v(i|0)|0)-(v(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 (x(o|0),p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (x(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ZA(m|0,l|0,-1,-1)|0;d=y()|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;_A(k|0,d|0,e|0,n|0)|0;p=y()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_A(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=y()|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 (x(o|0),p)|0}function bB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return aB(a,b,c,d,0)|0}function cB(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x(b>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}x(((b|0)<0?-1:0)|0);return b>>c-32|0}function dB(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x(b>>>c|0);return a>>>c|(b&(1<<c)-1)<<32-c}x(0);return b>>>c-32|0}function eB(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x(b<<c|(a&(1<<c)-1<<32-c)>>>32-c|0);return a<<c}x(a<<c-32|0);return 0}function fB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Wa(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 gB(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 fB(b,c,d)|0;return b|0}function hB(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 iB(a){a=a|0;return 0}function jB(a){a=a|0;var b=0,d=0,e=0;e=Ta()|0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){ib(b|0)|0;X(12);return -1}if((b|0)>(e|0))if(!(Xa(b|0)|0)){X(12);return -1}c[i>>2]=b;return d|0}function kB(a,b){a=a|0;b=b|0;return kc[a&127](b|0)|0}function lB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return lc[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function mB(a,b,c){a=a|0;b=b|0;c=c|0;return mc[a&31](b|0,c|0)|0}function nB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nc[a&31](b|0,c|0,d|0)|0}function oB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return oc[a&7](b|0,c|0,d|0,e|0)|0}function pB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return pc[a&7](b|0,c|0,d|0,e|0,+f)|0}function qB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qc[a&31](b|0,c|0,d|0,e|0,f|0)|0}function rB(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;return rc[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function sB(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 sc[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function tB(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 tc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function uB(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return uc[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function vB(a){a=a|0;vc[a&3]()}function wB(a,b){a=a|0;b=b|0;wc[a&255](b|0)}function xB(a,b,c){a=a|0;b=b|0;c=c|0;xc[a&63](b|0,c|0)}function yB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yc[a&31](b|0,c|0,d|0)}function zB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;zc[a&31](b|0,c|0,d|0,e|0)}function AB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ac[a&15](b|0,c|0,d|0,e|0,f|0)}function BB(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;Bc[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function CB(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;Cc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function DB(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Dc[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function EB(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ec[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function FB(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Fc[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function GB(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;Gc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0)}function HB(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;Hc[a&1](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)}function IB(a){a=a|0;w(0);return 0}function JB(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;w(1);return 0}function KB(a,b){a=a|0;b=b|0;w(2);return 0}function LB(a,b,c){a=a|0;b=b|0;c=c|0;w(3);return 0}function MB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;w(4);return 0}function NB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;w(5);return 0}function OB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;w(6);return 0}function PB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;w(7);return 0}function QB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;w(8);return 0}function RB(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;w(9);return 0}function SB(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;w(10);return 0}function TB(){w(11)}function UB(){R()}function VB(a){a=a|0;w(12)}function WB(a,b){a=a|0;b=b|0;w(13)}function XB(a,b,c){a=a|0;b=b|0;c=c|0;w(14)}function YB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;w(15)}function ZB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;w(16)}function _B(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;w(17)}function $B(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;w(18)}function aC(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;w(19)}function bC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;w(20)}function cC(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;w(21)}function dC(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;w(22)}function eC(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;w(23)} |
| | | function Ic(){Yp();le();$l();Zp()}function Jc(a){a=a|0;var b=0;b=hc;hc=hc+a|0;hc=hc+15&-16;return b|0}function Kc(){return hc|0}function Lc(a){a=a|0;hc=a}function Mc(a,b){a=a|0;b=b|0;hc=a;ic=b}function Nc(){Za();return 0}function Oc(a){a=a|0;var b=0;ha(9256,9264,9280,0,57675,61,57678,0,57678,0,57026,57680,132);b=lz(8)|0;c[b>>2]=44;c[b+4>>2]=0;ja(9256,57035,3,11984,57683,4,b|0,0);b=lz(8)|0;c[b>>2]=45;c[b+4>>2]=0;ja(9256,57041,3,11996,57683,5,b|0,0);b=lz(8)|0;c[b>>2]=133;c[b+4>>2]=0;ja(9256,57048,2,12008,57688,46,b|0,0);b=lz(8)|0;c[b>>2]=134;c[b+4>>2]=0;ja(9256,57055,2,12008,57688,46,b|0,0);b=lz(8)|0;c[b>>2]=47;c[b+4>>2]=0;a=lz(8)|0;c[a>>2]=48;c[a+4>>2]=0;ka(9256,57073,9248,57692,18,b|0,9248,57683,6,a|0);a=lz(8)|0;c[a>>2]=49;c[a+4>>2]=0;b=lz(8)|0;c[b>>2]=50;c[b+4>>2]=0;ka(9256,57083,9248,57692,18,a|0,9248,57683,6,b|0);b=lz(8)|0;c[b>>2]=51;c[b+4>>2]=0;a=lz(8)|0;c[a>>2]=52;c[a+4>>2]=0;ka(9256,57091,9248,57692,18,b|0,9248,57683,6,a|0);a=lz(8)|0;c[a>>2]=53;c[a+4>>2]=0;b=lz(8)|0;c[b>>2]=54;c[b+4>>2]=0;ka(9256,57103,9248,57692,18,a|0,9248,57683,6,b|0);b=lz(8)|0;c[b>>2]=55;c[b+4>>2]=0;a=lz(8)|0;c[a>>2]=56;c[a+4>>2]=0;ka(9256,57115,9248,57692,18,b|0,9248,57683,6,a|0);a=lz(8)|0;c[a>>2]=57;c[a+4>>2]=0;ka(9256,57119,9248,57692,18,a|0,0,0,0,0);ha(9336,9352,9368,9256,57675,62,57675,63,57675,64,57130,57680,135);a=lz(4)|0;c[a>>2]=136;ja(9336,57696,2,12016,57688,58,a|0,0);ia(9256,57716,3,12024,57852,27,19);ia(9256,57726,3,12148,57852,28,7);return}function Pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=hc;hc=hc+16|0;n=o+8|0;m=o;e=b+22828|0;l=b+4|0;if(a[e>>0]|0){f=c[l>>2]|0;if((a[97232]|0)==0?RA(97232)|0:0)c[24488]=Ba(1,11936)|0;ya(c[24488]|0,f|0,57143,m|0)}a[e>>0]=1;g=c[l>>2]|0;j=Ga(57149)|0;g=Ca(g|0,j|0)|0;za(j|0);j=fd(g,57161)|0;za(g|0);c[n>>2]=57169;c[n+4>>2]=j?76282:76276;Ua(0,n|0);a[b+22764>>0]=j&1;j=d+11|0;g=a[j>>0]|0;h=g<<24>>24<0;f=h?c[d>>2]|0:d;k=d+4|0;g=h?c[k>>2]|0:g&255;h=f+g|0;e=h;i=f;a:do if((g|0)<4)g=h;else{while(1){g=g+-3|0;if(!g){g=h;break a}f=Pm(f,46,g)|0;if(!f){g=h;break a}if(!(xm(f,57178,4)|0))break;f=f+1|0;g=e-f|0;if((g|0)<4){g=h;break a}}g=f;e=f}while(0);a[b+22829>>0]=(e-i|0)!=-1&(g|0)!=(h|0)&1;h=Aa(57183)|0;e=a[j>>0]|0;if(e<<24>>24<0){f=c[k>>2]|0;g=uo(f+4|0)|0;c[g>>2]=f;e=c[d>>2]|0}else{f=e&255;g=uo(f+4|0)|0;c[g>>2]=f;e=d}fB(g+4|0,e|0,f|0)|0;c[n>>2]=g;c[m>>2]=Fa(h|0,1,11944,n|0)|0;za(h|0);dd(m,57193,57204);ed(n,b,57041);k=c[m>>2]|0;d=Ga(57216)|0;Ka(k|0,d|0,c[n>>2]|0);za(d|0);za(c[n>>2]|0);c[b+22820>>2]=Qa()|0;b=c[l>>2]|0;n=Ga(57226)|0;Ka(b|0,n|0,c[m>>2]|0);za(n|0);za(c[m>>2]|0);hc=o;return}function Qc(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=hc;hc=hc+64|0;k=z+24|0;t=z+16|0;w=z;y=z+44|0;s=z+32|0;f=c[e>>2]|0;x=Ga(57354)|0;c[w>>2]=Ca(f|0,x|0)|0;za(x|0);id(y,w);za(c[w>>2]|0);x=y+11|0;f=a[x>>0]|0;j=y+4|0;e=b+22824|0;c[e>>2]=(c[e>>2]|0)+(f<<24>>24<0?c[j>>2]|0:f&255);f=Qa()|0;h=b+22820|0;i=c[h>>2]|0;if((f|0)>(i|0)){g[b+22840>>3]=+(c[e>>2]|0)*1.0e3/+(f-i|0);c[h>>2]=f;c[e>>2]=0}a:do if(!(a[b+22829>>0]|0))switch(a[(Jz(y,0)|0)>>0]|0){case 1:{zz(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;jd(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)nz(c[w>>2]|0);break a}case 2:{zz(s,y,1,-1,y);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];q=w+12|0;c[q>>2]=0;v=w+11|0;u=(a[v>>0]|0)<0?c[w>>2]|0:w;s=a[u+3>>0]|0;r=a[u+2>>0]|0;t=a[u+1>>0]|0;u=a[u>>0]|0;c[q>>2]=4;kd(b,(r&255)<<8|s&255|(t&255)<<16|(u&255)<<24,w);if((a[v>>0]|0)<0)nz(c[w>>2]|0);break a}case 10:{e=c[b+4>>2]|0;f=Ga(57226)|0;e=Ca(e|0,f|0)|0;za(f|0);f=Ga(57380)|0;h=f;if((a[97280]|0)==0?RA(97280)|0:0)c[24494]=Ba(2,11972)|0;b=c[24494]|0;Da(f|0);c[w>>2]=h;ya(b|0,e|0,57375,w|0);za(f|0);za(e|0);break a}default:{b=a[(Jz(y,0)|0)>>0]|0;c[k>>2]=57396;c[k+4>>2]=b;Ua(1,k|0);break a}}else{v=b+12|0;p=a[x>>0]|0;r=p<<24>>24<0;Kz(v,r?c[y>>2]|0:y,r?c[j>>2]|0:p&255)|0;j=b+8|0;p=v+11|0;if(!(a[j>>0]|0)){e=a[p>>0]|0;f=e<<24>>24<0;if(f)h=c[b+16>>2]|0;else h=e&255;i=b+24|0;if((h-(c[i>>2]|0)|0)<=12)break;a[j>>0]=1;c[i>>2]=13;if(f){e=c[b+16>>2]|0;f=c[v>>2]|0}else{e=e&255;f=v}b=e+-13|0;gB(f|0,f+13|0,b|0)|0;Gz(v,b,0);c[i>>2]=0;break}l=b+16|0;q=b+24|0;m=s+11|0;n=s+4|0;o=w+11|0;while(1){i=a[p>>0]|0;j=i<<24>>24<0;if(j)e=c[l>>2]|0;else e=i&255;r=c[q>>2]|0;if((e-r|0)<=3)break;if(j)e=c[v>>2]|0;else e=v;h=r+1|0;k=a[e+r>>0]|0;c[q>>2]=h;h=e+h+3+-1|0;e=a[h>>0]|0;A=a[h+-1>>0]|0;h=a[h+-2>>0]|0;f=r+4|0;c[q>>2]=f;h=(A&255)<<8|e&255|(h&255)<<16;if(j)e=c[l>>2]|0;else e=i&255;if((e-f|0)>>>0<(h+11|0)>>>0){u=24;break}if(j)e=c[v>>2]|0;else e=v;e=e+f+3+-1|0;e=d[e+-1>>0]<<8|d[e>>0]|d[e+-2>>0]<<16;A=r+11|0;c[q>>2]=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;zz(s,v,A,h,v);A=a[m>>0]|0;r=A<<24>>24<0;A=r?c[n>>2]|0:A&255;c[q>>2]=(c[q>>2]|0)+A;Kz(w,r?c[s>>2]|0:s,A)|0;if((a[m>>0]|0)<0)nz(c[s>>2]|0);switch(k<<24>>24){case 8:{jd(b,e,w);break}case 9:{kd(b,e,w);break}default:{c[t>>2]=57359;c[t+4>>2]=k&255;Ua(0,t|0)}}c[q>>2]=(c[q>>2]|0)+4;if((a[o>>0]|0)<0)nz(c[w>>2]|0)}if((u|0)==24)c[q>>2]=r;if(j){e=c[l>>2]|0;f=c[v>>2]|0}else{e=i&255;f=v}A=e-r|0;gB(f|0,f+r|0,A|0)|0;Gz(v,A,0);c[q>>2]=0}while(0);if((a[x>>0]|0)>=0){hc=z;return}nz(c[y>>2]|0);hc=z;return}function Rc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=hc;hc=hc+16|0;h=j;g=Aa(57613)|0;f=b+22812|0;c[h>>2]=c[f>>2];za(wa(g|0,1,11980,h|0)|0);za(g|0);g=b+22784|0;Cd(g);Bd(g);h=c[b+22788>>2]|0;i=b+22792|0;d=c[i>>2]|0;if((d|0)!=(h|0))c[i>>2]=d+(~((d+-4-h|0)>>>2)<<2);Dd(g);c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;if((a[b+22764>>0]|0)==0?(e=c[b+22736>>2]|0,e|0):0)vo(e);c[f>>2]=0;a[b+22816>>0]=1;a[b+22808>>0]=0;Gz(b+12|0,0,0);c[b+24>>2]=0;a[b+8>>0]=0;hc=j;return}function Sc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=hc;hc=hc+16|0;g=o+4|0;i=o;j=b+22804|0;a:do if(c[j>>2]|0){k=b+22788|0;l=b+22800|0;m=b+4|0;n=b+22836|0;h=b+22728|0;f=0;d=c[l>>2]|0;while(1){p=(d>>>0)/204|0;e=c[(c[k>>2]|0)+(p<<2)>>2]|0;d=d-(p*204|0)|0;if(f?(c[g>>2]=c[e+(d*20|0)>>2],p=sd(c[m>>2]|0,57604,g)|0,p=((c[n>>2]|0)*1e3|0)+p|0,c[i>>2]=p,(p|0)>0):0)break;rd(h,e+(d*20|0)+4|0);d=c[l>>2]|0;e=(d>>>0)/204|0;e=(c[(c[k>>2]|0)+(e<<2)>>2]|0)+((d-(e*204|0)|0)*20|0)+4|0;if((a[e+11>>0]|0)<0){nz(c[e>>2]|0);d=c[l>>2]|0}e=(c[j>>2]|0)+-1|0;c[j>>2]=e;d=d+1|0;c[l>>2]=d;if(d>>>0>407){nz(c[c[k>>2]>>2]|0);c[k>>2]=(c[k>>2]|0)+4;d=(c[l>>2]|0)+-204|0;c[l>>2]=d;e=c[j>>2]|0}if(!e)break a;else f=1}a[b+22808>>0]=1;c[b+22812>>2]=td(c[m>>2]|0,57588,i)|0;hc=o;return}while(0);a[b+22808>>0]=0;hc=o;return}function Tc(a,b){a=a|0;b=b|0;var e=0,f=0;e=hc;hc=hc+16|0;f=e;c[f>>2]=d[b+22828>>0];c[a>>2]=La(11824,f|0)|0;hc=e;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=hc;hc=hc+16|0;g=e;f=+va(c[d>>2]|0,11824,g|0);Ja(c[g>>2]|0);a[b+22828>>0]=f!=0.0&1;hc=e;return}function Vc(a,b){a=a|0;b=b|0;var e=0,f=0;e=hc;hc=hc+16|0;f=e;c[f>>2]=d[b+22829>>0];c[a>>2]=La(11824,f|0)|0;hc=e;return}function Wc(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0;e=hc;hc=hc+16|0;g=e;f=+va(c[d>>2]|0,11824,g|0);Ja(c[g>>2]|0);a[b+22829>>0]=f!=0.0&1;hc=e;return}function Xc(a,b){a=a|0;b=b|0;var d=0,e=0;d=hc;hc=hc+16|0;e=d;c[e>>2]=c[b+22832>>2];c[a>>2]=La(11872,e|0)|0;hc=d;return}function Yc(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=hc;hc=hc+16|0;f=d;e=+va(c[b>>2]|0,11872,f|0);Ja(c[f>>2]|0);c[a+22832>>2]=~~e;hc=d;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0;d=hc;hc=hc+16|0;e=d;c[e>>2]=c[b+22836>>2];c[a>>2]=La(11872,e|0)|0;hc=d;return}function _c(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=hc;hc=hc+16|0;f=d;e=+va(c[b>>2]|0,11872,f|0);Ja(c[f>>2]|0);c[a+22836>>2]=~~e;hc=d;return}function $c(a,b){a=a|0;b=b|0;var d=0,e=0;d=hc;hc=hc+16|0;e=d;g[e>>3]=+g[b+22840>>3];c[a>>2]=La(11912,e|0)|0;hc=d;return}function ad(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;d=hc;hc=hc+16|0;f=d;e=+va(c[b>>2]|0,11912,f|0);Ja(c[f>>2]|0);g[a+22840>>3]=e;hc=d;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=hc;hc=hc+16|0;e=d+4|0;f=d;c[e>>2]=Ha()|0;i=b+22788|0;h=b+22800|0;j=c[h>>2]|0;g=(j>>>0)/204|0;Ed(e,57626,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((j-(g*204|0)|0)*20|0)|0);b=b+22804|0;h=(c[b>>2]|0)+-1+(c[h>>2]|0)|0;g=(h>>>0)/204|0;Fd(e,57632,(c[(c[i>>2]|0)+(g<<2)>>2]|0)+((h-(g*204|0)|0)*20|0)|0);c[f>>2]=c[b>>2];Gd(e,57637,f);b=c[e>>2]|0;c[a>>2]=b;Da(b|0);za(c[e>>2]|0);hc=d;return}function cd(a){a=a|0;za(c[a>>2]|0);return}function dd(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a>>2]|0;b=Ga(b|0)|0;d=Ga(d|0)|0;Ka(a|0,b|0,d|0);za(d|0);za(b|0);return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=b+4|0;f=c[b>>2]|0;e=Ga(d|0)|0;d=Ca(f|0,e|0)|0;za(e|0);hd(a,d,57330,b);za(d|0);return}function fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0.0;g=hc;hc=hc+16|0;e=g;f=g+8|0;if((a[97240]|0)==0?RA(97240)|0:0)c[24489]=Ba(1,11940)|0;h=+xa(c[24489]|0,b|0,d|0,f|0,e|0);Ja(c[f>>2]|0);hc=g;return h!=0.0|0}function gd(a){a=a|0;O(a|0)|0;uA()}function hd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0;i=hc;hc=hc+16|0;g=i;h=i+8|0;if((a[97248]|0)==0?RA(97248)|0:0)c[24490]=Ba(2,11948)|0;k=c[24490]|0;Da(c[f>>2]|0);c[g>>2]=c[f>>2];j=+xa(k|0,d|0,e|0,h|0,g|0);h=c[h>>2]|0;c[b>>2]=~~j>>>0;Ja(h|0);hc=i;return}function id(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0,j=0;h=hc;hc=hc+16|0;e=h;i=+va(c[d>>2]|0,9224,e|0);e=c[e>>2]|0;g=~~i>>>0;f=g+4|0;g=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(g>>>0>4294967279)tz(b);if(g>>>0<11){a[b+11>>0]=g;if(!g){f=b;g=f+g|0;a[g>>0]=0;Ja(e|0);hc=h;return}else d=b}else{j=g+16&-16;d=lz(j)|0;c[b>>2]=d;c[b+8>>2]=j|-2147483648;c[b+4>>2]=g}fB(d|0,f|0,g|0)|0;j=d;j=j+g|0;a[j>>0]=0;Ja(e|0);hc=h;return}function jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=hc;hc=hc+16|0;i=j;h=e+12|0;f=c[h>>2]|0;d=a[((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f+1+-1>>0]|0;c[h>>2]=f+1;d=d&255;h=d>>>4;f=b+22817|0;if(a[f>>0]|0){g=(d&1)+1|0;d=d>>>2;switch(d&3){case 1:{d=11025;break}case 2:{d=22050;break}case 3:{d=44100;break}default:d=d&3}switch(h&15){case 10:{md(b,c[b+22832>>2]<<10,d,g);break}case 11:{md(b,16e3,16e3,g);break}case 2:{md(b,(c[b+22832>>2]|0)*576|0,d,g);break}default:{}}if(a[f>>0]|0){hc=j;return}}g=b+28|0;if((h|0)!=2){hc=j;return}d=c[b+36>>2]|0;f=b+32|0;d=nd(g,e,d+(c[f>>2]|0)|0,d+(c[g>>2]|0)|0)|0;if(!d){hc=j;return}h=(c[f>>2]|0)+d|0;e=(h|0)==(c[g>>2]|0);c[f>>2]=e?0:h;if(!e){hc=j;return}d=c[b+4>>2]|0;if((a[97232]|0)==0?RA(97232)|0:0)c[24488]=Ba(1,11936)|0;ya(c[24488]|0,d|0,57411,i|0);hc=j;return}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=hc;hc=hc+48|0;m=q+32|0;l=q+24|0;k=q+16|0;j=q+8|0;o=q;n=q+36|0;p=e+12|0;f=c[p>>2]|0;g=((a[e+11>>0]|0)<0?c[e>>2]|0:e)+f|0;h=a[g+1>>0]|0;i=b+22816|0;if(a[i>>0]|0){g=a[g>>0]|0;f=g&15;switch(g&15){case 7:{c[j>>2]=57457;Ua(0,j|0);break}case 12:{c[k>>2]=57472;Ua(0,k|0);break}default:{c[l>>2]=57487;c[l+4>>2]=f;Ua(0,l|0);hc=q;return}}if(!(h<<24>>24==0&(g&-16)<<24>>24==16)){hc=q;return}qd(b+22728|0,e,f);a[i>>0]=0;c[m>>2]=57547;Ua(0,m|0);hc=q;return}if(h<<24>>24!=1){f=c[b+4>>2]|0;if((a[97232]|0)==0?RA(97232)|0:0)c[24488]=Ba(1,11936)|0;ya(c[24488]|0,f|0,57563,o|0);hc=q;return}if(!d){hc=q;return}c[p>>2]=f+5;f=b+22836|0;a:do if(c[f>>2]|0){g=b+22808|0;do if(!(a[g>>0]|0)){c[o>>2]=d;h=b+4|0;o=sd(c[h>>2]|0,57604,o)|0;o=((c[f>>2]|0)*1e3|0)+o|0;c[n>>2]=o;if((o|0)>0){a[g>>0]=1;c[b+22812>>2]=td(c[h>>2]|0,57588,n)|0;break}else break a}while(0);j=b+22792|0;g=c[j>>2]|0;k=b+22788|0;f=c[k>>2]|0;o=g-f|0;i=b+22800|0;l=b+22804|0;h=(c[l>>2]|0)+(c[i>>2]|0)|0;if((((o|0)==0?0:((o>>2)*204|0)+-1|0)|0)==(h|0)){ud(b+22784|0);h=(c[i>>2]|0)+(c[l>>2]|0)|0;g=c[j>>2]|0;f=c[k>>2]|0}if((g|0)==(f|0))f=0;else{b=(h>>>0)/204|0;f=(c[f+(b<<2)>>2]|0)+((h-(b*204|0)|0)*20|0)|0}c[f>>2]=d;d=f+4|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[f+16>>2]=c[p>>2];c[l>>2]=(c[l>>2]|0)+1;hc=q;return}while(0);rd(b+22728|0,e);hc=q;return}function ld(b){b=b|0;if((a[b+11>>0]|0)>=0)return;nz(c[b>>2]|0);return}function md(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=hc;hc=hc+32|0;h=i;a[b+22817>>0]=0;j=u(d<<1,f)|0;c[b+28>>2]=j;g=b+36|0;c[g>>2]=uo(j)|0;c[h>>2]=57431;c[h+4>>2]=j;Ua(0,h|0);g=c[g>>2]>>1;b=c[b+4>>2]|0;if((a[97256]|0)==0?RA(97256)|0:0)c[24491]=Ba(5,16)|0;j=c[24491]|0;c[h>>2]=d;c[h+8>>2]=e;c[h+16>>2]=f;c[h+24>>2]=g;ya(j|0,b|0,57421,h|0);hc=i;return}function nd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=d+12|0;i=d+22668|0;j=i+11|0;h=a[j>>0]|0;if(h<<24>>24<0)n=c[d+22672>>2]|0;else n=h&255;h=e+11|0;q=a[h>>0]|0;k=e+4|0;l=e+12|0;Gz(i,n-(c[l>>2]|0)+(q<<24>>24<0?c[k>>2]|0:q&255)|0,0);if((a[j>>0]|0)<0)m=c[i>>2]|0;else m=i;h=a[h>>0]|0;if(h<<24>>24<0){h=c[l>>2]|0;i=c[k>>2]|0;j=h;h=(c[e>>2]|0)+h|0}else{q=c[l>>2]|0;i=h&255;j=q;h=e+q|0}fB(m+n|0,h|0,i-j|0)|0;if((od(r)|0)==-1){r=0;return r|0}o=d+13448|0;p=d+13450|0;q=d+13452|0;n=d+18060|0;h=0;while(1){i=b[o>>1]|0;d=b[p>>1]|0;j=d&65535;h=(u((i&65535)<<1,j)|0)+h|0;e=j+-1|0;do if(d<<16>>16)if(i<<16>>16==2){m=j<<2;j=n;k=q;l=f;i=e;while(1){d=c[k>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l>>0]=d;a[l+1>>0]=d>>>8;d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[l+2>>0]=d;a[l+3>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+4|0;l=l+4|0;i=i+-1|0}}f=f+m|0;break}else{l=j<<1;j=q;k=f;i=e;while(1){d=c[j>>2]|0;d=(d|0)>268431359?32767:(d|0)<-268439552?-32768:d+4096>>13;a[k>>0]=d;a[k+1>>0]=d>>>8;if(!i)break;else{j=j+4|0;k=k+2|0;i=i+-1|0}}f=f+l|0;break}while(0);if(f>>>0>=g>>>0){f=22;break}if((od(r)|0)==-1){f=22;break}}if((f|0)==22)return h|0;return 0}function od(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=hc;hc=hc+272|0;t=u+256|0;s=u;k=u+248|0;l=u+244|0;q=d+22656|0;n=q+11|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;r=d+22668|0;i=e+(c[r>>2]|0)|0;j=pd(d,i)|0;if((j|0)==-1){d=-1;hc=u;return d|0}f=c[r>>2]|0;g=f+j|0;c[r>>2]=g;e=a[n>>0]|0;if(e<<24>>24<0)e=c[d+22660>>2]|0;else e=e&255;if((e|0)==(g|0)){c[r>>2]=f;d=-1;hc=u;return d|0}e=d+9328|0;if((c[e>>2]|0)==0?(p=wo(1152,4)|0,c[e>>2]=p,(p|0)==0):0){c[d+60>>2]=49;g=d+92|0;e=d+68|0}else{e=d+68|0;f=(c[e>>2]|0)==0;g=d+92|0;h=c[g>>2]|0;if(((h&16|0)!=0?(m=d+28|0,p=c[m+4>>2]|0,o=s,c[o>>2]=c[m>>2],c[o+4>>2]=p,o=d+88|0,p=b[o>>1]|0,c[t>>2]=c[s>>2],c[t+4>>2]=c[s+4>>2],p=Gl(t,(h&4096|0)==0?(f?136:256):f?72:136,p)|0,b[o>>1]=p,p<<16>>16!=(b[d+90>>1]|0)):0)?(c[d+108>>2]&1|0)==0:0)c[d+60>>2]=513}p=d+64|0;o=(c[e>>2]|0)==0?1:2;f=d+28|0;Pl(f,o,c[g>>2]&4096,s,l,k)|0;c[g>>2]=c[g>>2]|c[k>>2];g=d+96|0;c[g>>2]=c[g>>2]|c[s+4>>2];g=Dl(f)|0;f=i-g+j|0;if((a[n>>0]|0)<0)e=c[q>>2]|0;else e=q;Bl(t,e+(c[r>>2]|0)|0);e=Fl(t,32)|0;if((e&-1703936|0)==-1966080){if(!(e&65536))El(t,16);j=Fl(t,e>>>19&1|8)|0}else j=0;m=d+22672|0;k=m+11|0;e=a[k>>0]|0;if(e<<24>>24<0)e=c[d+22676>>2]|0;else e=e&255;l=d+22684|0;i=e-(c[l>>2]|0)|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;Gz(t,f,0);h=t+11|0;fB(((a[h>>0]|0)<0?c[t>>2]|0:t)+(c[t+12>>2]|0)|0,g|0,f|0)|0;g=a[h>>0]|0;f=g<<24>>24<0;Kz(m,f?c[t>>2]|0:t,f?c[t+4>>2]|0:g&255)|0;if((a[h>>0]|0)<0)nz(c[t>>2]|0);e=a[n>>0]|0;if(e<<24>>24<0){e=c[r>>2]|0;f=c[q>>2]|0;g=e;e=(c[d+22660>>2]|0)-e|0}else{n=c[r>>2]|0;f=q;g=n;e=(e&255)-n|0}gB(f|0,f+g|0,e|0)|0;Gz(q,e,0);c[r>>2]=0;e=a[k>>0]|0;h=e<<24>>24<0;if(h)e=c[d+22676>>2]|0;else e=e&255;g=e-(c[l>>2]|0)|0;e=c[s>>2]|0;if(i>>>0<e>>>0|g>>>0<j>>>0)e=-1;else{f=i-e|0;c[l>>2]=f;if(h)e=c[m>>2]|0;else e=m;Bl(t,e+f|0);Ql(t,p,s,o)|0;Kl(d+9332|0,p);g=g-j-f+(c[l>>2]|0)|0;c[l>>2]=g;e=a[k>>0]|0;if(e<<24>>24<0){e=c[d+22676>>2]|0;f=c[m>>2]|0}else{e=e&255;f=m}e=e-g|0;gB(f|0,f+g|0,e|0)|0;Gz(m,e,0);c[l>>2]=0;e=0}d=e;hc=u;return d|0}function pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+64|0;Bl(a+28|0,b);c[a+20>>2]=b;Wl(h,a)|0;d=a+100|0;switch(c[h>>2]|0){case 1:{b=384;break}case 3:{b=(c[a+92>>2]&4096|0)==0?1152:576;f=3;break}default:{b=1152;f=3}}g=a+84|0;Xl(d,0,b,c[g>>2]|0);d=a+80|0;e=c[d>>2]|0;if(!e){b=a+16|0;e=c[b>>2]|0;if(!((e|0)!=0?!(e>>>0>64e4&(c[h>>2]|0)==3):0))f=8;do if((f|0)==8)if((Yl(a,h)|0)==-1){h=-1;return h|0}else{e=c[b>>2]|0;break}while(0);c[d>>2]=e;f=a+92|0;b=c[f>>2]|1024;c[f>>2]=b}else b=c[a+92>>2]|0;d=b>>>7&1;switch(c[h>>2]|0){case 1:{h=(((e*12|0)>>>0)/((c[g>>2]|0)>>>0)|0)+d<<2;return h|0}case 3:{b=(b&4096|0)==0?144:72;break}default:b=144}h=u(e,b)|0;h=((h>>>0)/((c[g>>2]|0)>>>0)|0)+d|0;return h|0}function qd(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=hc;hc=hc+16|0;j=l;k=d+12|0;g=c[k>>2]|0;c[j>>2]=57577;c[j+4>>2]=e;Ua(0,j|0);switch(e|0){case 7:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+9>>0]&3;n=g+11|0;c[k>>2]=n;f=a[j>>0]|0;e=c[d>>2]|0;i=f<<24>>24<0?e:d;n=i+n+2+-1|0;m=a[n>>0]|0;n=a[n+-1>>0]|0;h=g+13|0;c[k>>2]=h;g=(n&255)<<8|m&255;if(g){yc[c[(c[b>>2]|0)+20>>2]&31](b,i+h|0,g);h=(c[k>>2]|0)+g|0;c[k>>2]=h;f=a[j>>0]|0;e=c[d>>2]|0}n=h+1|0;c[k>>2]=n;g=f<<24>>24<0?e:d;n=g+n+2+-1|0;e=a[n>>0]|0;n=a[n+-1>>0]|0;f=h+3|0;c[k>>2]=f;e=(n&255)<<8|e&255;if(!e){hc=l;return}yc[c[(c[b>>2]|0)+20>>2]&31](b,g+f|0,e);hc=l;return}case 12:{j=d+11|0;c[b+32>>2]=a[((a[j>>0]|0)<0?c[d>>2]|0:d)+(c[k>>2]|0)+27>>0]&3;i=g+31|0;c[k>>2]=i;n=(a[j>>0]|0)<0?c[d>>2]|0:d;i=n+i+2+-1|0;m=a[i>>0]|0;i=a[i+-1>>0]|0;h=g+33|0;c[k>>2]=h;m=(i&255)<<8|m&255;yc[c[(c[b>>2]|0)+20>>2]&31](b,n+h|0,m);m=(c[k>>2]|0)+m|0;h=m+3|0;c[k>>2]=h;n=(a[j>>0]|0)<0?c[d>>2]|0:d;h=n+h+2+-1|0;i=a[h>>0]|0;h=a[h+-1>>0]|0;m=m+5|0;c[k>>2]=m;i=(h&255)<<8|i&255;yc[c[(c[b>>2]|0)+20>>2]&31](b,n+m|0,i);i=(c[k>>2]|0)+i|0;m=i+3|0;c[k>>2]=m;j=(a[j>>0]|0)<0?c[d>>2]|0:d;m=j+m+2+-1|0;n=a[m>>0]|0;m=a[m+-1>>0]|0;d=i+5|0;c[k>>2]=d;yc[c[(c[b>>2]|0)+20>>2]&31](b,j+d|0,(m&255)<<8|n&255);hc=l;return}default:{hc=l;return}}}function rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=d+11|0;l=a[m>>0]|0;e=l<<24>>24<0;n=d+4|0;o=d+12|0;f=c[o>>2]|0;if(((e?c[n>>2]|0:l&255)-f|0)<=4)return;l=b+32|0;i=0;j=0;k=0;do{switch(c[l>>2]|0){case 3:{e=e?c[d>>2]|0:d;k=e+f+4+-1|0;g=4;h=k;i=a[k+-2>>0]|0;j=a[k+-3>>0]|0;k=a[k+-1>>0]|0;break}case 2:{e=e?c[d>>2]|0:d;k=e+f+3+-1|0;g=3;h=k;i=a[k+-2>>0]|0;k=a[k+-1>>0]|0;break}case 1:{e=e?c[d>>2]|0:d;k=e+f+2+-1|0;g=2;h=k;k=a[k+-1>>0]|0;break}default:{h=e?c[d>>2]|0:d;e=h;g=1;h=h+f+1+-1|0}}h=a[h>>0]|0;g=f+g|0;c[o>>2]=g;h=(i&255)<<16|(j&255)<<24|(k&255)<<8|h&255;yc[c[(c[b>>2]|0)+20>>2]&31](b,e+g|0,h);f=(c[o>>2]|0)+h|0;c[o>>2]=f;h=a[m>>0]|0;e=h<<24>>24<0}while(((e?c[n>>2]|0:h&255)-f|0)>4);return}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=hc;hc=hc+16|0;f=h;g=h+8|0;if((a[97264]|0)==0?RA(97264)|0:0)c[24492]=Ba(2,11956)|0;j=c[24492]|0;c[f>>2]=c[e>>2];i=+xa(j|0,b|0,d|0,g|0,f|0);Ja(c[g>>2]|0);hc=h;return ~~i|0}function td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0.0,j=0;h=hc;hc=hc+16|0;f=h;g=h+8|0;if((a[97272]|0)==0?RA(97272)|0:0)c[24493]=Ba(2,11964)|0;j=c[24493]|0;c[f>>2]=c[e>>2];i=+xa(j|0,b|0,d|0,g|0,f|0);Ja(c[g>>2]|0);hc=h;return ~~i|0}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=hc;hc=hc+32|0;k=r+4|0;g=r;b=a+16|0;d=c[b>>2]|0;if(d>>>0>203){c[b>>2]=d+-204;o=a+4|0;m=c[o>>2]|0;q=c[m>>2]|0;m=m+4|0;c[o>>2]=m;p=a+8|0;b=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;e=l;do if((b|0)==(l|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,m|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=N(8)|0;rz(r,68988);c[r>>2]=52024;S(r|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[n>>2]=j;if(d){nz(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;hc=r;return}q=a+8|0;b=c[q>>2]|0;p=a+4|0;f=b-(c[p>>2]|0)>>2;o=a+12|0;d=c[o>>2]|0;e=d-(c[a>>2]|0)|0;if(f>>>0>=e>>2>>>0){b=(e|0)==0?1:e>>1;i=k+12|0;c[i>>2]=0;c[k+16>>2]=a+12;do if(b)if(b>>>0>1073741823){r=N(8)|0;rz(r,68988);c[r>>2]=52024;S(r|0,11744,126)}else{d=lz(b<<2)|0;break}else d=0;while(0);c[k>>2]=d;n=d+(f<<2)|0;j=k+8|0;c[j>>2]=n;h=k+4|0;c[h>>2]=n;c[i>>2]=d+(b<<2);c[g>>2]=lz(4080)|0;xd(k,g);b=c[q>>2]|0;d=c[p>>2]|0;if((b|0)!=(d|0)){do{b=b+-4|0;yd(k,b);d=c[p>>2]|0}while((b|0)!=(d|0));b=c[q>>2]|0}e=d;f=c[a>>2]|0;c[a>>2]=c[k>>2];c[k>>2]=f;c[p>>2]=c[h>>2];c[h>>2]=e;c[q>>2]=c[j>>2];c[j>>2]=b;a=c[o>>2]|0;c[o>>2]=c[i>>2];c[i>>2]=a;if((d|0)!=(b|0))c[j>>2]=b+(~((b+-4-e|0)>>>2)<<2);if(f|0)nz(f);hc=r;return}if((d|0)!=(b|0)){c[k>>2]=lz(4080)|0;vd(a,k);hc=r;return}c[k>>2]=lz(4080)|0;wd(a,k);m=c[p>>2]|0;n=c[m>>2]|0;m=m+4|0;c[p>>2]=m;b=c[q>>2]|0;l=c[o>>2]|0;e=l;do if((b|0)==(l|0)){j=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((j-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-j|0;if(!d)b=f;else{gB(f|0,m|0,d|0)|0;b=(c[p>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[q>>2]=a;c[p>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){r=N(8)|0;rz(r,68988);c[r>>2]=52024;S(r|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;i=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-j|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[p>>2]=l;c[q>>2]=b;c[o>>2]=i;if(d){nz(d);b=c[q>>2]|0}}while(0);c[b>>2]=n;c[q>>2]=(c[q>>2]|0)+4;hc=r;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{gB(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{i=lz(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){nz(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+8|0;d=c[q>>2]|0;n=a+12|0;p=c[n>>2]|0;g=p;do if((d|0)==(p|0)){p=a+4|0;o=c[p>>2]|0;j=o;e=c[a>>2]|0;f=e;if(o>>>0>e>>>0){f=((j-f>>2)+1|0)/-2|0;g=o+(f<<2)|0;e=d-j|0;if(!e)d=g;else{gB(g|0,o|0,e|0)|0;d=(c[p>>2]|0)+(f<<2)|0}o=g+(e>>2<<2)|0;c[q>>2]=o;c[p>>2]=d;d=o;break}g=g-f|0;g=(g|0)==0?1:g>>1;h=g>>>2;do if(g)if(g>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{i=lz(g<<2)|0;break}else i=0;while(0);l=i;f=i+(h<<2)|0;m=f;k=i+(g<<2)|0;if((o|0)==(d|0))d=m;else{g=h+((d+-4-j|0)>>>2)+1|0;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(d|0))break;else f=f+4|0}d=i+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=l;c[p>>2]=m;c[q>>2]=d;c[n>>2]=k;if(e){nz(e);d=c[q>>2]|0}}while(0);c[d>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+4;return}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function zd(a){a=a|0;var b=0,d=0,e=0,f=0;Cd(a);d=a+4|0;b=c[d>>2]|0;f=a+8|0;e=c[f>>2]|0;if((b|0)!=(e|0)){do{nz(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[d>>2]|0;d=c[f>>2]|0;if((d|0)!=(b|0))c[f>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;nz(b);return}function Ad(b){b=b|0;if(a[b+36>>0]|0)return;b=c[b+8>>2]|0;if(!b)return;vo(b);return}function Bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+20|0;g=c[f>>2]|0;if(!g){d=a+8|0;b=c[d>>2]|0;e=a+4|0;if((b|0)!=(c[e>>2]|0))do{nz(c[b+-4>>2]|0);b=(c[d>>2]|0)+-4|0;c[d>>2]=b}while((c[e>>2]|0)!=(b|0));c[a+16>>2]=0;Dd(a);return}b=a+16|0;e=c[b>>2]|0;d=a+4|0;if(e>>>0>203){nz(c[c[d>>2]>>2]|0);h=(c[d>>2]|0)+4|0;c[d>>2]=h;e=(c[b>>2]|0)+-204|0;c[b>>2]=e;g=c[f>>2]|0}else h=c[d>>2]|0;b=a+8|0;d=c[b>>2]|0;h=d-h|0;if((((h|0)==0?0:((h>>2)*204|0)+-1|0)-(g+e)|0)>>>0<=203){Dd(a);return}nz(c[d+-4>>2]|0);c[b>>2]=(c[b>>2]|0)+-4;Dd(a);return}function Cd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+4|0;e=c[l>>2]|0;m=b+16|0;g=c[m>>2]|0;d=(g>>>0)/204|0;h=e+(d<<2)|0;j=b+8|0;n=c[j>>2]|0;f=n;i=e;if((n|0)!=(e|0)){d=(c[h>>2]|0)+((g-(d*204|0)|0)*20|0)|0;b=b+20|0;n=(c[b>>2]|0)+g|0;g=(n>>>0)/204|0;g=(c[e+(g<<2)>>2]|0)+((n-(g*204|0)|0)*20|0)|0;if((g|0)==(d|0)){d=b;k=5}else{f=h;while(1){e=d+4|0;if((a[e+11>>0]|0)<0)nz(c[e>>2]|0);d=d+20|0;if((d-(c[f>>2]|0)|0)==4080){d=f+4|0;e=d;d=c[d>>2]|0}else e=f;if((g|0)==(d|0))break;else f=e}e=c[l>>2]|0;g=j;f=c[j>>2]|0;d=e}}else{d=b+20|0;k=5}if((k|0)==5){g=j;b=d;d=i}c[b>>2]=0;d=f-d>>2;if(d>>>0>2)do{nz(c[e>>2]|0);e=(c[l>>2]|0)+4|0;c[l>>2]=e;d=(c[g>>2]|0)-e>>2}while(d>>>0>2);switch(d|0){case 1:{d=102;break}case 2:{d=204;break}default:return}c[m>>2]=d;return}function Dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+12|0;i=c[a>>2]|0;k=a+8|0;h=c[k>>2]|0;l=a+4|0;f=c[l>>2]|0;d=h-f|0;e=d>>2;b=i;if((c[j>>2]|0)-i>>2>>>0<=e>>>0)return;do if(d)if(e>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{g=lz(d)|0;break}else g=0;while(0);i=g;e=g+(e<<2)|0;if((f|0)==(h|0))d=e;else{d=g;b=f;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(h|0))break;else d=d+4|0}d=g+((c[k>>2]|0)-(c[l>>2]|0)>>2<<2)|0;b=c[a>>2]|0}c[a>>2]=i;c[l>>2]=i;c[k>>2]=d;c[j>>2]=e;if(!b)return;nz(b);return}function Ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;hc=hc+16|0;f=e;a=c[a>>2]|0;b=Ga(b|0)|0;c[f>>2]=c[d>>2];d=La(11888,f|0)|0;Ka(a|0,b|0,d|0);za(d|0);za(b|0);hc=e;return}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;hc=hc+16|0;f=e;a=c[a>>2]|0;b=Ga(b|0)|0;c[f>>2]=c[d>>2];d=La(11888,f|0)|0;Ka(a|0,b|0,d|0);za(d|0);za(b|0);hc=e;return}function Gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;hc=hc+16|0;f=e;a=c[a>>2]|0;b=Ga(b|0)|0;c[f>>2]=c[d>>2];d=La(11896,f|0)|0;Ka(a|0,b|0,d|0);za(d|0);za(b|0);hc=e;return}function Hd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Id(a){a=a|0;if(!a)return;wc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Jd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=hc;hc=hc+16|0;h=j;f=c[b>>2]|0;b=c[b+4>>2]|0;g=d+(b>>1)|0;if(b&1)f=c[(c[g>>2]|0)+f>>2]|0;d=e+4|0;e=c[e>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;if(e>>>0>4294967279)tz(h);if(e>>>0<11){a[h+11>>0]=e;if(!e)b=h;else{b=h;i=9}}else{i=e+16&-16;b=lz(i)|0;c[h>>2]=b;c[h+8>>2]=i|-2147483648;c[h+4>>2]=e;i=9}if((i|0)==9)fB(b|0,d|0,e|0)|0;a[b+e>>0]=0;xc[f&63](g,h);if((a[h+11>>0]|0)>=0){hc=j;return}nz(c[h>>2]|0);hc=j;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=hc;hc=hc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;xc[e&63](a,f);za(c[f>>2]|0);hc=g;return}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=c[a+4>>2]|0;a=b+(e>>1)|0;if(!(e&1)){e=d;wc[e&255](a);return}else{e=c[(c[a>>2]|0)+d>>2]|0;wc[e&255](a);return}}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=hc;hc=hc+16|0;e=f;d=c[a>>2]|0;g=c[a+4>>2]|0;a=b+(g>>1)|0;if(g&1)d=c[(c[a>>2]|0)+d>>2]|0;xc[d&63](e,a);Da(c[e>>2]|0);g=c[e>>2]|0;za(g|0);hc=f;return g|0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=hc;hc=hc+16|0;f=g;e=c[a>>2]|0;h=c[a+4>>2]|0;a=b+(h>>1)|0;if(h&1)e=c[(c[a>>2]|0)+e>>2]|0;c[f>>2]=d;xc[e&63](a,f);za(c[f>>2]|0);hc=g;return}function Od(b,d){b=b|0;d=d|0;var e=0;e=lz(22856)|0;Zd(e,d);a[e+22848>>0]=0;c[e+22852>>2]=c[b>>2];c[b>>2]=0;c[e>>2]=12044;return e|0}function Pd(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=fa(((a[d+11>>0]|0)<0?c[d>>2]|0:d)|0,9336,c[e>>2]|0)|0;return}function Qd(a){a=a|0;return c[(c[a>>2]|0)+-4>>2]|0}function Rd(a){a=a|0;if(!a)return;wc[c[(c[a>>2]|0)+4>>2]&255](a);return}function Sd(a){a=a|0;return a|0}function Td(a){a=a|0;return a|0}function Ud(a,b){a=a|0;b=b|0;wc[c[a>>2]&255](b);return}function Vd(b){b=b|0;a[b+22848>>0]=1;return}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=hc;hc=hc+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=mc[a&31](f,g)|0;za(c[g>>2]|0);za(c[f>>2]|0);hc=e;return d|0}function Xd(b){b=b|0;var d=0,e=0,f=0,g=0;g=hc;hc=hc+16|0;e=g;c[b>>2]=12060;d=b+22852|0;if(!(a[b+22848>>0]|0)){f=c[d>>2]|0;za(f|0);ae(b);hc=g;return}f=c[d>>2]|0;if((a[97232]|0)==0?RA(97232)|0:0)c[24488]=Ba(1,11936)|0;ya(c[24488]|0,f|0,58058,e|0);f=c[d>>2]|0;za(f|0);ae(b);hc=g;return}function Yd(a){a=a|0;Xd(a);nz(a);return}function Zd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=hc;hc=hc+32|0;h=f+16|0;i=f+8|0;j=f;c[d>>2]=12076;g=d+4|0;c[g>>2]=c[e>>2];c[e>>2]=0;a[d+8>>0]=0;e=d+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+32>>2]=0;e=d+22696|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;Hl(d+40|0);Il(d+104|0);Jl(d+9372|0);c[j>>2]=57872;Ua(0,j|0);c[i>>2]=57857;c[i+4>>2]=d+28;Ua(0,i|0);c[d+22736>>2]=0;c[d+22740>>2]=0;c[d+22744>>2]=0;c[d+22760>>2]=0;a[d+22764>>0]=0;c[d+22728>>2]=12092;c[d+22776>>2]=ah()|0;c[h>>2]=57882;Ua(0,h|0);e=d+22784|0;c[d+22812>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;a[e+24>>0]=0;a[d+22816>>0]=1;a[d+22817>>0]=1;e=d+22820|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[d+22832>>2]=12;c[d+22732>>2]=g;hc=f;return}function _d(a){a=a|0;Xd(a);nz(a);return}function $d(b){b=b|0;var d=0,e=0,f=0;e=hc;hc=hc+16|0;d=e+8|0;f=e;c[f>>2]=57990;Ua(0,f|0);vo(c[b+8>>2]|0);c[d>>2]=58013;Ua(0,d|0);Ll(b+76|0);d=b+22684|0;if((a[d+11>>0]|0)<0)nz(c[d>>2]|0);b=b+22668|0;if((a[b+11>>0]|0)>=0){hc=e;return}nz(c[b>>2]|0);hc=e;return}function ae(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=hc;hc=hc+32|0;j=k+16|0;g=k+8|0;d=k;c[b>>2]=12076;f=Aa(57613)|0;c[d>>2]=c[b+22812>>2];za(wa(f|0,1,11980,d|0)|0);za(f|0);c[g>>2]=58037;Ua(0,g|0);g=b+22784|0;Cd(g);f=b+22788|0;d=c[f>>2]|0;h=b+22792|0;e=c[h>>2]|0;if((d|0)!=(e|0)){do{nz(c[d>>2]|0);d=d+4|0}while((d|0)!=(e|0));d=c[f>>2]|0;e=c[h>>2]|0;if((e|0)!=(d|0))c[h>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=c[g>>2]|0;if(d|0)nz(d);h=b+22728|0;c[h>>2]=12092;Pi(c[b+22776>>2]|0)|0;c[h>>2]=12124;if((a[b+22764>>0]|0)==0?(i=c[b+22736>>2]|0,i|0):0)vo(i);c[j>>2]=57917;Ua(0,j|0);$d(b+28|0);d=b+12|0;if((a[d+11>>0]|0)>=0){b=b+4|0;b=c[b>>2]|0;za(b|0);hc=k;return}nz(c[d>>2]|0);b=b+4|0;b=c[b>>2]|0;za(b|0);hc=k;return}function be(a){a=a|0;ae(a);nz(a);return}function ce(b){b=b|0;var d=0;Ll(b+64|0);d=b+22672|0;if((a[d+11>>0]|0)<0)nz(c[d>>2]|0);b=b+22656|0;if((a[b+11>>0]|0)>=0)return;nz(c[b>>2]|0);return}function de(b){b=b|0;var d=0,e=0,f=0;f=hc;hc=hc+16|0;e=f;c[b>>2]=12092;Pi(c[b+48>>2]|0)|0;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)vo(d);c[e>>2]=57917;Ua(0,e|0);hc=f;return}function ee(b){b=b|0;var d=0,e=0,f=0;f=hc;hc=hc+16|0;e=f;c[b>>2]=12092;Pi(c[b+48>>2]|0)|0;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)vo(d);c[e>>2]=57917;Ua(0,e|0);nz(b);hc=f;return}function fe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=hc;hc=hc+32|0;s=t+8|0;o=t;p=t+20|0;q=t+16|0;r=b+48|0;ul(c[r>>2]|0,d,e,0,0,0)|0;c[p>>2]=1;m=b+12|0;n=b+36|0;f=b+20|0;g=b+24|0;h=b+28|0;i=b+8|0;j=b+16|0;k=b+4|0;l=b+20|0;a:while(1){c[p>>2]=0;e=tl(c[r>>2]|0,p)|0;switch(e|0){case 13:{d=14;break a}case 0:break;default:{d=3;break a}}d=wl(c[r>>2]|0)|0;if(d|0){c[l>>2]=Al(d,0,q)|0;c[g>>2]=Al(d,1,q)|0;c[h>>2]=Al(d,2,q)|0;if(!(c[m>>2]|0)){e=yl(d,0)|0;ie(b,e,zl(d,0)|0)}if(!(a[n>>0]|0))je(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[m>>2]|0,c[j>>2]|0);d=c[c[k>>2]>>2]|0;if((a[97232]|0)==0?RA(97232)|0:0)c[24488]=Ba(1,11936)|0;ya(c[24488]|0,d|0,57985,o|0)}if(!(c[p>>2]|0)){d=14;break}}if((d|0)==3){c[s>>2]=57941;c[s+4>>2]=e;Ua(0,s|0);hc=t;return}else if((d|0)==14){hc=t;return}}function ge(b){b=b|0;var d=0,e=0,f=0;f=hc;hc=hc+16|0;e=f;c[b>>2]=12124;if((a[b+36>>0]|0)==0?(d=c[b+8>>2]|0,d|0):0)vo(d);c[e>>2]=57917;Ua(0,e|0);hc=f;return}function he(a){a=a|0;ab()}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=hc;hc=hc+32|0;h=i;f=b+12|0;c[f>>2]=d;g=b+16|0;c[g>>2]=e;c[h>>2]=57959;c[h+4>>2]=d;c[h+8>>2]=e;Ua(0,h|0);if(!(a[b+36>>0]|0)){e=c[g>>2]|0;e=(u(e<<2,e)|0)+33554432|0;e=uo((e>>>0>16777216?e:16777216)+16777215&-16777216)|0;c[b+8>>2]=e;d=c[c[b+4>>2]>>2]|0;if((a[97288]|0)==0?RA(97288)|0:0)c[24495]=Ba(4,48)|0;b=c[24495]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;ya(b|0,d|0,57972,h|0);hc=i;return}else{e=b+20|0;c[b+8>>2]=e;e=e>>2;d=c[c[b+4>>2]>>2]|0;if((a[97288]|0)==0?RA(97288)|0:0)c[24495]=Ba(4,48)|0;b=c[24495]|0;c[h>>2]=c[f>>2];c[h+8>>2]=c[g>>2];c[h+16>>2]=e;ya(b|0,d|0,57972,h|0);hc=i;return}}function je(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;F=g<<2;G=f+(u(F,h)|0)|0;if(!h)return;B=(g|0)==0;E=(g+-1|0)>>>1;C=(E<<3)+8|0;D=g+1&-2;E=E+1|0;j=0;A=0;k=0;i=0;l=0;while(1){if(!B){y=C+j|0;z=E+i|0;x=0;w=k;v=l;while(1){n=d[a+v>>0]|0;p=d[a+(v+g)>>0]|0;s=d[b+i>>0]|0;t=d[e+w>>0]|0;r=s<<8|t;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){J=(n*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;q=(H*1634|0)+J>>10;H=(u(m,-400)|0)+J+(u(H,-832)|0)>>10;J=(m*2066|0)+J>>10;m=(q|0)>0?q:0;n=(H|0)>0?H:0;I=(J|0)>0?J:0;m=((((J&255|0)==(J|0)?J:(I|0)<255?I:255)<<8)+16711680+((H&255|0)==(H|0)?H:(n|0)<255?n:255)<<8)+((q&255|0)==(q|0)?q:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+j>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){p=(p*1192|0)+-19072|0;H=t+-128|0;m=s+-128|0;J=(H*1634|0)+p>>10;H=(u(m,-400)|0)+p+(u(H,-832)|0)>>10;p=(m*2066|0)+p>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;q=(p|0)>0?p:0;m=((((p&255|0)==(p|0)?p:(q|0)<255?q:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(j+F)>>2]=m;q=j+4|0;p=v+1|0;n=d[a+p>>0]|0;p=d[a+(p+g)>>0]|0;o=G+(r|n<<16)|0;m=c[o>>2]|0;if(!m){m=(n*1192|0)+-19072|0;H=t+-128|0;K=s+-128|0;J=m+(H*1634|0)>>10;H=(u(H,-832)|0)+(u(K,-400)|0)+m>>10;K=m+(K*2066|0)>>10;m=(J|0)>0?J:0;I=(H|0)>0?H:0;n=(K|0)>0?K:0;m=((((K&255|0)==(K|0)?K:(n|0)<255?n:255)<<8)+16711680+((H&255|0)==(H|0)?H:(I|0)<255?I:255)<<8)+((J&255|0)==(J|0)?J:(m|0)<255?m:255)|0;c[o>>2]=m}c[f+q>>2]=m;n=G+(r|p<<16)|0;m=c[n>>2]|0;if(!m){m=(p*1192|0)+-19072|0;I=t+-128|0;t=s+-128|0;K=m+(I*1634|0)>>10;I=(u(I,-832)|0)+(u(t,-400)|0)+m>>10;t=m+(t*2066|0)>>10;m=(K|0)>0?K:0;J=(I|0)>0?I:0;H=(t|0)>0?t:0;m=((((t&255|0)==(t|0)?t:(H|0)<255?H:255)<<8)+16711680+((I&255|0)==(I|0)?I:(J|0)<255?J:255)<<8)+((K&255|0)==(K|0)?K:(m|0)<255?m:255)|0;c[n>>2]=m}c[f+(q+F)>>2]=m;x=x+2|0;if(x>>>0>=g>>>0)break;else{j=j+8|0;w=w+1|0;i=i+1|0;v=v+2|0}}l=D+l|0;j=y;k=E+k|0;i=z}A=A+2|0;if(A>>>0>=h>>>0)break;else{j=j+F|0;l=l+g|0}}return}function ke(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=hc;hc=hc+32|0;h=l+16|0;j=l+4|0;k=l;f=d+4|0;g=c[d>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;if(g>>>0>4294967279)tz(j);if(g>>>0<11){a[j+11>>0]=g;if(!g)d=j;else{d=j;i=6}}else{i=g+16&-16;d=lz(i)|0;c[j>>2]=d;c[j+8>>2]=i|-2147483648;c[j+4>>2]=g;i=6}if((i|0)==6)fB(d|0,f|0,g|0)|0;a[d+g>>0]=0;c[k>>2]=e;yc[b&31](h,j,k);Da(c[h>>2]|0);d=c[h>>2]|0;za(d|0);za(c[k>>2]|0);if((a[j+11>>0]|0)>=0){hc=l;return d|0}nz(c[j>>2]|0);hc=l;return d|0}function le(){Oc(0);return}function me(a){a=a|0;return}function ne(a){a=a|0;nz(a);return}function oe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=b+4|0;c[n>>2]=1;p=b+8|0;qe(c[p>>2]|0,b);e=c[p>>2]|0;l=c[e+276>>2]|0;g=c[e+128>>2]|0;m=(c[g+5048>>2]|0)/4|0;o=b+12|0;d=c[o>>2]|0;k=u(d,m)|0;f=d+1|0;m=u(f,m)|0;j=c[e+280>>2]|0;m=(m|0)>(j|0)?j:m;j=b+16|0;s=(a[j>>0]|0)==0;r=s?3:2;q=c[g+5056>>2]|0;h=q+-1|0;if(s){if((d|0)>0){re(e,b,h,d+-1|0,2);e=c[p>>2]|0;d=c[o>>2]|0}re(e,b,h,d,2);d=(c[o>>2]|0)+1|0;e=c[p>>2]|0;if((d|0)<(c[(c[e+128>>2]|0)+5064>>2]|0))re(e,b,h,d,2)}else{s=(c[g+5064>>2]|0)+-1|0;re(e,b,h,(s|0)<(f|0)?s:f,1)}d=c[p>>2]|0;e=c[o>>2]|0;if(!(a[j>>0]|0)){s=u(c[d+156>>2]|0,e)|0;if(a[(c[d+144>>2]|0)+(s*24|0)+21>>0]|0){e=0;i=11}}else{s=se(d,e)|0;d=c[p>>2]|0;h=u(c[d+156>>2]|0,c[o>>2]|0)|0;a[(c[d+144>>2]|0)+(h*24|0)+21>>0]=s&1;if(s){e=(a[j>>0]|0)!=0;i=11}}do if((i|0)==11){te(d,e,k,m,0,l);d=c[p>>2]|0;e=(a[j>>0]|0)!=0;if((c[(c[d+128>>2]|0)+4996>>2]|0)>8)ue(d,e,k,m,0,l);else ve(d,e,k,m,0,l);e=c[p>>2]|0;f=c[e+128>>2]|0;if(c[f+5012>>2]|0){d=(a[j>>0]|0)!=0;if((c[f+5004>>2]|0)>8){we(e,d,k,m,0,l);break}else{xe(e,d,k,m,0,l);break}}}while(0);if((q|0)<=0){c[n>>2]=3;s=c[p>>2]|0;ye(s,b);return}d=0;do{s=c[p>>2]|0;ze((c[s+332>>2]|0)+(((u(c[o>>2]|0,c[(c[s+128>>2]|0)+5056>>2]|0)|0)+d|0)*80|0)|0,r);d=d+1|0}while((d|0)!=(q|0));c[n>>2]=3;s=c[p>>2]|0;ye(s,b);return}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=hc;hc=hc+112|0;g=f+104|0;e=f;c[g>>2]=c[d+12>>2];zm(e,58080,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=tn(e)|0;if(d>>>0>4294967279)tz(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;hc=f;return}}else{h=d+16&-16;g=lz(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}fB(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;hc=f;return}function qe(a,b){a=a|0;b=b|0;var d=0;b=a+356|0;Ae(b);d=a+336|0;c[d>>2]=(c[d>>2]|0)+-1;a=a+340|0;c[a>>2]=(c[a>>2]|0)+1;Ce(b);return}function re(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Ge(a,b,(u(c[(c[a+128>>2]|0)+5056>>2]|0,e)|0)+d|0,f);return}function se(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=b+128|0;i=c[S>>2]|0;g=c[b+136>>2]|0;T=c[i+5044>>2]|0;U=c[i+5040>>2]|0;Q=(1<<U)+-1|0;R=c[i+5056>>2]|0;F=c[i+5036>>2]|0;h=f<<U>>F;F=f+1<<U>>F;P=c[i+5060>>2]|0;F=(P|0)<(F|0)?P:F;if((h|0)>=(F|0)){U=0;return U|0}G=b+176|0;H=b+164|0;I=b+152|0;J=b+156|0;K=b+160|0;L=b+144|0;N=b+52|0;O=b+56|0;P=g+53|0;E=g+4384|0;f=0;g=i;a:while(1){if((c[g+5052>>2]|0)>0){z=u(h,T)|0;x=(z|0)==0?0:32;D=(z|0)!=0&(z&Q|0)==0;A=u(z>>U,R)|0;B=z+-1|0;C=u(B>>U,R)|0;y=0;do{w=(u(c[G>>2]|0,h)|0)+y|0;w=(c[H>>2]|0)+(w*3|0)|0;w=(d[w>>0]|d[w+1>>0]<<8)&7;v=w&65535;if(w<<16>>16){w=u(y,T)|0;p=w>>U;n=c[I>>2]|0;q=w>>n;i=z>>n;if((q|0)<=-1){g=8;break a}r=c[J>>2]|0;if((q|0)>=(r|0)){g=8;break a}if((i|0)<=-1){g=11;break a}s=c[K>>2]|0;if((i|0)>=(s|0)){g=11;break a}t=c[L>>2]|0;k=u(r,i)|0;i=c[N>>2]|0;o=(c[O>>2]|0)-i>>2;j=e[t+((k+q|0)*24|0)+2>>1]|0;if(o>>>0<=j>>>0){f=0;g=33;break a}l=i;m=c[l+(j<<2)>>2]|0;j=(w|0)==0?0:16;do if((w|0)!=0&(w&Q|0)==0){if(!(a[m+768>>0]|0)){i=w+-1>>n;if(!((i|0)>-1&(i|0)<(r|0))){g=16;break a}k=e[t+((k+i|0)*24|0)+2>>1]|0;if(o>>>0>k>>>0?(c[m+804>>2]|0)!=(c[(c[l+(k<<2)>>2]|0)+804>>2]|0):0){j=0;break}}if(!(a[P>>0]|0)){k=c[E>>2]|0;j=(c[k+(p+A<<2)>>2]|0)==(c[k+((w+-1>>U)+A<<2)>>2]|0)?j:0}}while(0);do if(D){if(!(a[m+768>>0]|0)){i=B>>n;if(!((i|0)>-1&(i|0)<(s|0))){g=24;break a}t=e[t+(((u(r,i)|0)+q|0)*24|0)+2>>1]|0;if(o>>>0>t>>>0?(c[m+804>>2]|0)!=(c[(c[l+(t<<2)>>2]|0)+804>>2]|0):0){i=0;break}}if(!(a[P>>0]|0)){i=c[E>>2]|0;i=(c[i+(p+A<<2)>>2]|0)==(c[i+(p+C<<2)>>2]|0)?x:0}else i=x}else i=x;while(0);if(!(a[m+758>>0]|0)){Ee(b,w,z,v,0,j&255,i&255);Fe(b,w,z,v,0,0);f=1;g=c[S>>2]|0}}y=y+1|0}while((y|0)<(c[g+5052>>2]|0))}h=h+1|0;if((h|0)>=(F|0)){g=33;break}}if((g|0)==8)M(60650,60687,120,60707);else if((g|0)==11)M(60711,60687,121,60707);else if((g|0)==16)M(60650,60687,120,60707);else if((g|0)==24)M(60711,60687,121,60707);else if((g|0)==33)return f|0;return 0}function te(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ja=g?2:1;ka=g?1:2;la=g&1;ma=(g^1)&1;ia=g?80:160;ga=g?16:32;ha=f+276|0;fa=c[ha>>2]|0;fa=(fa|0)>(k|0)?k:fa;K=c[f+280>>2]|0;K=(K|0)>(i|0)?i:K;if((K|0)<=(h|0))return;L=(fa|0)>(j|0);N=f+264|0;O=f+172|0;P=f+176|0;Q=f+180|0;R=f+164|0;S=f+192|0;T=f+252|0;U=f+196|0;V=f+256|0;W=f+200|0;X=f+260|0;Y=f+184|0;Z=f+244|0;_=f+152|0;$=f+156|0;aa=f+160|0;ba=f+144|0;ca=f+52|0;da=f+56|0;ea=f+112|0;J=f+324|0;a:while(1){if(L){F=h<<2;G=(F|0)/4|0;H=F-ma|0;E=j;do{q=E<<2;I=(q|0)/4|0;g=(u(c[ha>>2]|0,G)|0)+I|0;g=(c[N>>2]|0)+g|0;k=a[g>>0]|0;o=k&255;if(!(ia&o))a[g>>0]=k&-4;else{p=q-la|0;f=c[O>>2]|0;g=p>>f;k=H>>f;if((g|0)<=-1){g=10;break a}l=c[P>>2]|0;if((g|0)>=(l|0)){g=10;break a}if((k|0)<=-1){g=13;break a}m=c[Q>>2]|0;if((k|0)>=(m|0)){g=13;break a}n=c[R>>2]|0;k=n+(((u(l,k)|0)+g|0)*3|0)|0;i=q>>f;g=F>>f;if(!((i|0)>-1&(i|0)<(l|0))){g=15;break a}if(!((g|0)>-1&(g|0)<(m|0))){g=17;break a}D=n+(((u(l,g)|0)+i|0)*3|0)|0;b:do if(!(((d[k>>0]|d[k+1>>0]<<8)&768)==0?1:((d[D>>0]|d[D+1>>0]<<8)&768)==0)){if(ga&o|0){i=c[T>>2]|0;g=q>>i;k=F>>i;if((g|0)<=-1){g=22;break a}f=c[V>>2]|0;if((g|0)>=(f|0)){g=22;break a}if((k|0)<=-1){g=25;break a}l=c[X>>2]|0;if((k|0)>=(l|0)){g=25;break a}m=c[Z>>2]|0;if((a[m+((u(f,k)|0)+g)>>0]|0)<=-1){g=1;break}k=p>>i;g=H>>i;if(!((k|0)>-1&(k|0)<(f|0))){g=28;break a}if(!((g|0)>-1&(g|0)<(l|0))){g=30;break a}if((a[m+((u(f,g)|0)+k)>>0]|0)<=-1){g=1;break}}i=c[S>>2]|0;g=p>>i;k=H>>i;if((g|0)<=-1){g=34;break a}f=c[U>>2]|0;if((g|0)>=(f|0)){g=34;break a}if((k|0)<=-1){g=37;break a}l=c[W>>2]|0;if((k|0)>=(l|0)){g=37;break a}D=c[Y>>2]|0;C=(u(f,k)|0)+g|0;k=q>>i;g=F>>i;if(!((k|0)>-1&(k|0)<(f|0))){g=39;break a}if(!((g|0)>-1&(g|0)<(l|0))){g=41;break a}B=(u(f,g)|0)+k|0;l=c[_>>2]|0;g=p>>l;k=H>>l;if((g|0)<=-1){g=44;break a}m=c[$>>2]|0;if((g|0)>=(m|0)){g=44;break a}if((k|0)<=-1){g=47;break a}n=c[aa>>2]|0;if((k|0)>=(n|0)){g=47;break a}o=c[ba>>2]|0;g=e[o+(((u(m,k)|0)+g|0)*24|0)+2>>1]|0;i=c[ca>>2]|0;f=(c[da>>2]|0)-i>>2;if(f>>>0>g>>>0)p=c[i+(g<<2)>>2]|0;else p=0;k=q>>l;g=F>>l;if(!((k|0)>-1&(k|0)<(m|0))){g=51;break a}if(!((g|0)>-1&(g|0)<(n|0))){g=53;break a}g=e[o+(((u(m,g)|0)+k|0)*24|0)+2>>1]|0;if(f>>>0>g>>>0)g=c[i+(g<<2)>>2]|0;else g=0;x=a[D+(C*12|0)>>0]|0;k=x<<24>>24==0;if(k)z=-1;else z=c[p+920+(a[D+(C*12|0)+2>>0]<<2)>>2]|0;y=a[D+(C*12|0)+1>>0]|0;i=y<<24>>24==0;if(i)v=-1;else v=c[p+984+(a[D+(C*12|0)+3>>0]<<2)>>2]|0;q=a[D+(B*12|0)>>0]|0;f=q<<24>>24==0;if(f)t=-1;else t=c[g+920+(a[D+(B*12|0)+2>>0]<<2)>>2]|0;r=a[D+(B*12|0)+1>>0]|0;n=r<<24>>24==0;if(n)o=-1;else o=c[g+984+(a[D+(B*12|0)+3>>0]<<2)>>2]|0;s=(z|0)==(t|0);if(!(s&(v|0)==(o|0))?!((v|0)==(t|0)&(z|0)==(o|0)):0){g=1;break}A=k?0:b[D+(C*12|0)+6>>1]|0;g=k?0:b[D+(C*12|0)+4>>1]|0;w=i?0:b[D+(C*12|0)+10>>1]|0;m=i?0:b[D+(C*12|0)+8>>1]|0;p=f?0:b[D+(B*12|0)+6>>1]|0;f=f?0:b[D+(B*12|0)+4>>1]|0;l=n?0:b[D+(B*12|0)+10>>1]|0;i=n?0:b[D+(B*12|0)+8>>1]|0;if(((y&255)+(x&255)|0)!=((r&255)+(q&255)|0)){De((c[ea>>2]|0)+4|0,1013,0);a[J>>0]=3}if((z|0)==(v|0)){if((t|0)!=(o|0)){g=81;break a}k=g<<16>>16;g=f<<16>>16;D=k-g|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(i<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(w<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);D=k-(i<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-g|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(w<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}g=g<<16>>16;if(s){D=g-(f<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(i<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(w<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}else{D=g-(i<<16>>16)|0;do if((((D|0)<0?0-D|0:D)|0)<=3){D=(A<<16>>16)-(l<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(m<<16>>16)-(f<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)>3)break;D=(w<<16>>16)-(p<<16>>16)|0;if((((D|0)<0?0-D|0:D)|0)<=3){g=0;break b}}while(0);g=1;break}}else g=2;while(0);I=(u(c[ha>>2]|0,G)|0)+I|0;I=(c[N>>2]|0)+I|0;a[I>>0]=a[I>>0]&-4|g}E=E+ja|0}while((E|0)<(fa|0))}h=h+ka|0;if((h|0)>=(K|0)){g=3;break}}switch(g|0){case 3:return;case 10:{M(60650,60687,120,60707);break}case 13:{M(60711,60687,121,60707);break}case 15:{M(60650,60687,120,60707);break}case 17:{M(60711,60687,121,60707);break}case 22:{M(60650,60687,120,60707);break}case 25:{M(60711,60687,121,60707);break}case 28:{M(60650,60687,120,60707);break}case 30:{M(60711,60687,121,60707);break}case 34:{M(60650,60687,120,60707);break}case 37:{M(60711,60687,121,60707);break}case 39:{M(60650,60687,120,60707);break}case 41:{M(60711,60687,121,60707);break}case 44:{M(60650,60687,120,60707);break}case 47:{M(60711,60687,121,60707);break}case 51:{M(60650,60687,120,60707);break}case 53:{M(60711,60687,121,60707);break}case 81:{M(58139,58158,344,58171);break}}}function ue(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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,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;vc=hc;hc=hc+80|0;sc=vc+32|0;tc=vc;uc=vc+64|0;l=c[f+128>>2]|0;pc=g?2:1;qc=g?1:2;oc=c[f+40>>2]|0;m=c[l+4996>>2]|0;rc=c[f+276>>2]|0;nc=(rc|0)>(k|0)?k:rc;ac=c[f+280>>2]|0;ac=(ac|0)>(i|0)?i:ac;if((ac|0)<=(h|0)){hc=vc;return}bc=(nc|0)>(j|0);cc=f+264|0;dc=f+4|0;ec=f+172|0;fc=f+176|0;gc=f+180|0;ic=f+164|0;jc=f+152|0;kc=f+156|0;lc=f+160|0;mc=f+144|0;Mb=f+52|0;Nb=m+-8|0;Ob=tc+4|0;Pb=tc+2|0;Qb=tc+28|0;Rb=tc+26|0;Sb=tc+24|0;Tb=sc+4|0;Ub=sc+2|0;Vb=sc+28|0;Wb=sc+26|0;Xb=sc+24|0;Yb=tc+6|0;Zb=sc+6|0;_b=tc+30|0;$b=sc+30|0;Jb=l+4716|0;Kb=uc+2|0;Lb=uc+4|0;Ua=1<<m;Va=Ua+65535|0;Wa=oc<<1;Xa=(u(oc,h)|0)+j<<3;Ya=(u(qc,oc)|0)<<3;Za=pc<<3;_a=sc+8|0;$a=oc+-1|0;ab=tc+8|0;bb=oc+1|0;cb=sc+10|0;db=oc+-2|0;eb=tc+10|0;fb=oc+2|0;gb=sc+12|0;hb=oc+-3|0;ib=tc+12|0;jb=oc+3|0;kb=sc+14|0;lb=oc+-4|0;mb=tc+14|0;nb=oc<<1;ob=sc+16|0;pb=nb+-1|0;qb=tc+16|0;rb=nb|1;sb=sc+18|0;tb=nb+-2|0;ub=tc+18|0;vb=nb+2|0;wb=sc+20|0;xb=nb+-3|0;yb=tc+20|0;zb=nb+3|0;Ab=sc+22|0;Bb=nb+-4|0;Cb=tc+22|0;Db=oc*3|0;Eb=Db+-1|0;Fb=Db+1|0;Gb=Db+-2|0;Hb=Db+2|0;Ib=Db+-3|0;_=Db+-4|0;$=0-oc|0;aa=oc<<1;ba=0-aa|0;ca=oc*3|0;da=0-ca|0;Oa=oc<<2;ea=0-Oa|0;fa=sc+8|0;ga=1-oc|0;ha=tc+8|0;ia=oc+1|0;ja=sc+10|0;ka=1-aa|0;la=tc+10|0;ma=aa|1;na=sc+12|0;oa=1-ca|0;pa=tc+12|0;qa=ca+1|0;ra=sc+14|0;sa=1-Oa|0;ta=tc+14|0;ua=sc+16|0;va=2-oc|0;wa=tc+16|0;xa=oc+2|0;ya=sc+18|0;za=2-aa|0;Aa=tc+18|0;Ba=aa+2|0;Ca=sc+20|0;Da=2-ca|0;Ea=tc+20|0;Fa=ca+2|0;Ga=sc+22|0;Ha=2-Oa|0;Ia=tc+22|0;Ja=3-oc|0;Ka=oc+3|0;La=3-aa|0;Ma=aa+3|0;Na=3-ca|0;Oa=3-Oa|0;Pa=oc<<1;Qa=u(oc,-3)|0;Ra=oc<<1;Sa=u(oc,-3)|0;Ta=oc<<1;Y=0;a:while(1){Q=Xa+(u(Ya,Y)|0)|0;if(bc){R=h<<2;S=u((R|0)/4|0,rc)|0;T=u(R,oc)|0;U=R+-1|0;P=j;Z=0;while(1){V=Q+(u(Za,Z)|0)|0;L=P<<2;q=a[(c[cc>>2]|0)+(((L|0)/4|0)+S)>>0]&3;if(q<<24>>24){W=c[dc>>2]|0;X=W+(L+T<<1)|0;b[sc>>1]=b[X>>1]|0;if(g){b[tc>>1]=b[X+-2>>1]|0;b[Ub>>1]=b[X+2>>1]|0;b[Pb>>1]=b[X+-4>>1]|0;b[Tb>>1]=b[X+4>>1]|0;b[Ob>>1]=b[X+-6>>1]|0;b[Zb>>1]=b[X+6>>1]|0;b[Yb>>1]=b[X+-8>>1]|0;b[_a>>1]=b[X+(oc<<1)>>1]|0;b[ab>>1]=b[X+($a<<1)>>1]|0;b[cb>>1]=b[X+(bb<<1)>>1]|0;b[eb>>1]=b[X+(db<<1)>>1]|0;b[gb>>1]=b[X+(fb<<1)>>1]|0;b[ib>>1]=b[X+(hb<<1)>>1]|0;b[kb>>1]=b[X+(jb<<1)>>1]|0;b[mb>>1]=b[X+(lb<<1)>>1]|0;b[ob>>1]=b[X+(nb<<1)>>1]|0;b[qb>>1]=b[X+(pb<<1)>>1]|0;b[sb>>1]=b[X+(rb<<1)>>1]|0;b[ub>>1]=b[X+(tb<<1)>>1]|0;b[wb>>1]=b[X+(vb<<1)>>1]|0;b[yb>>1]=b[X+(xb<<1)>>1]|0;b[Ab>>1]=b[X+(zb<<1)>>1]|0;b[Cb>>1]=b[X+(Bb<<1)>>1]|0;p=_;n=Ib;o=Db;m=Hb;l=Gb;f=Fb;i=Eb;k=X+(Db<<1)|0}else{b[tc>>1]=b[X+($<<1)>>1]|0;b[Ub>>1]=b[X+(oc<<1)>>1]|0;b[Pb>>1]=b[X+(ba<<1)>>1]|0;b[Tb>>1]=b[X+(aa<<1)>>1]|0;b[Ob>>1]=b[X+(da<<1)>>1]|0;b[Zb>>1]=b[X+(ca<<1)>>1]|0;b[Yb>>1]=b[X+(ea<<1)>>1]|0;b[fa>>1]=b[X+2>>1]|0;b[ha>>1]=b[X+(ga<<1)>>1]|0;b[ja>>1]=b[X+(ia<<1)>>1]|0;b[la>>1]=b[X+(ka<<1)>>1]|0;b[na>>1]=b[X+(ma<<1)>>1]|0;b[pa>>1]=b[X+(oa<<1)>>1]|0;b[ra>>1]=b[X+(qa<<1)>>1]|0;b[ta>>1]=b[X+(sa<<1)>>1]|0;b[ua>>1]=b[X+4>>1]|0;b[wa>>1]=b[X+(va<<1)>>1]|0;b[ya>>1]=b[X+(xa<<1)>>1]|0;b[Aa>>1]=b[X+(za<<1)>>1]|0;b[Ca>>1]=b[X+(Ba<<1)>>1]|0;b[Ea>>1]=b[X+(Da<<1)>>1]|0;b[Ga>>1]=b[X+(Fa<<1)>>1]|0;b[Ia>>1]=b[X+(Ha<<1)>>1]|0;p=Oa;n=Na;o=ca;m=Ma;l=La;f=Ka;i=Ja;k=X+6|0}y=b[k>>1]|0;b[Xb>>1]=y;t=b[X+(i<<1)>>1]|0;b[Sb>>1]=t;x=b[X+(f<<1)>>1]|0;b[Wb>>1]=x;r=b[X+(l<<1)>>1]|0;b[Rb>>1]=r;w=b[X+(m<<1)>>1]|0;b[Vb>>1]=w;m=b[X+(n<<1)>>1]|0;b[Qb>>1]=m;A=b[X+(o+3<<1)>>1]|0;b[$b>>1]=A;z=b[X+(p<<1)>>1]|0;b[_b>>1]=z;B=c[ec>>2]|0;D=L>>B;k=R>>B;if((D|0)<=-1){k=13;break a}G=c[fc>>2]|0;if((D|0)>=(G|0)){k=13;break a}if((k|0)<=-1){k=16;break a}E=c[gc>>2]|0;if((k|0)>=(E|0)){k=16;break a}H=c[ic>>2]|0;C=u(G,k)|0;F=C+D|0;i=a[H+(F*3|0)+2>>0]|0;if(g){k=L+-1>>B;if(!((k|0)>-1&(k|0)<(G|0))){k=19;break a}k=C+k|0}else{k=U>>B;if(!((k|0)>-1&(k|0)<(E|0))){k=22;break a}k=(u(G,k)|0)+D|0}l=i+1+(a[H+(k*3|0)+2>>0]|0)>>1;i=c[jc>>2]|0;k=L>>i;i=R>>i;if((k|0)<=-1){k=26;break a}f=c[kc>>2]|0;if((k|0)>=(f|0)){k=26;break a}if((i|0)<=-1){k=29;break a}if((i|0)>=(c[lc>>2]|0)){k=29;break a}O=e[(c[mc>>2]|0)+(((u(f,i)|0)+k|0)*24|0)+2>>1]|0;O=c[(c[Mb>>2]|0)+(O<<2)>>2]|0;v=(c[O+760>>2]|0)+l|0;v=(v|0)<51?v:51;v=d[608+((v|0)>0?v:0)>>0]<<Nb;O=(q<<1&255)+-2+l+(c[O+764>>2]|0)|0;O=(O|0)<53?O:53;O=d[544+((O|0)>0?O:0)>>0]<<Nb;I=b[Ob>>1]|0;n=b[Pb>>1]|0;K=b[tc>>1]|0;s=K&65535;p=(I&65535)-((n&65535)<<1)+s|0;p=(p|0)<0?0-p|0:p;t=t&65535;m=(m&65535)-((r&65535)<<1)+t|0;m=(m|0)<0?0-m|0:m;q=b[Tb>>1]|0;f=b[Ub>>1]|0;J=b[sc>>1]|0;i=J&65535;r=(q&65535)-((f&65535)<<1)+i|0;r=(r|0)<0?0-r|0:r;o=y&65535;N=(w&65535)-((x&65535)<<1)+o|0;N=(N|0)<0?0-N|0:N;k=r+p|0;l=N+m|0;p=m+p|0;r=N+r|0;b:do if((l+k|0)<(v|0)){m=v>>2;do if((k<<1|0)<(m|0)){N=(e[Yb>>1]|0)-s|0;y=i-(e[Zb>>1]|0)|0;if((((y|0)<0?0-y|0:y)+((N|0)<0?0-N|0:N)|0)>=(v>>3|0)){i=0;break}i=s-i|0;i=(((i|0)<0?0-i|0:i)|0)<((O*5|0)+1>>1|0)}else i=0;while(0);do if((l<<1|0)<(m|0)){N=(z&65535)-t|0;A=o-(A&65535)|0;if((((A|0)<0?0-A|0:A)+((N|0)<0?0-N|0:N)|0)>=(v>>3|0)){k=0;break}k=t-o|0;k=(((k|0)<0?0-k|0:k)|0)<((O*5|0)+1>>1|0)}else k=0;while(0);N=i&k;o=(v>>1)+v>>3;m=(p|0)>=(o|0);o=(r|0)>=(o|0);l=a[Jb>>0]|0;k=l<<24>>24!=0;if(g){i=L+-1>>B;if(k){if(!((i|0)>-1&(i|0)<(G|0))){k=40;break a}k=H+((C+i|0)*3|0)|0;k=((d[k>>0]|d[k+1>>0]<<8)&65535)>>>10&1^1}else k=1;if(!((i|0)>-1&(i|0)<(G|0))){k=43;break a}x=H+((C+i|0)*3|0)|0;B=H+(F*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(l<<24>>24==0|(B&1024)==0)&(B&2048)==0;x=k<<24>>24?((d[x>>0]|d[x+1>>0]<<8)&2048)==0:0}else{i=U>>B;if(k){if(!((i|0)>-1&(i|0)<(E|0))){k=47;break a}k=H+(((u(G,i)|0)+D|0)*3|0)|0;k=((d[k>>0]|d[k+1>>0]<<8)&1024)==0}else k=1;if(!((i|0)>-1&(i|0)<(E|0))){k=50;break a}x=H+(((u(G,i)|0)+D|0)*3|0)|0;B=H+(F*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(l<<24>>24==0|(B&1024)==0)&(B&2048)==0;x=k&((d[x>>0]|d[x+1>>0]<<8)&2048)==0}y=O<<1;z=O*10|0;A=0-O|0;w=m|x^1;v=o|B^1;s=O>>1;t=0-s|0;r=0;o=I;l=K;i=J;while(1){p=W+(V+(u(Wa,r)|0))|0;do if(!N){m=i&65535;l=l&65535;f=f&65535;i=n&65535;k=((m-l|0)*9|0)+8+(u(f-i|0,-3)|0)>>4;if((((k|0)<0?0-k|0:k)|0)>=(z|0))break;k=(k|0)<(A|0)?A:(k|0)>(O|0)?O:k;do if(g){if(x){L=k+l|0;b[X+((u(r,oc)|0)+-1<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}if(!B)break;L=m-k|0;b[X+((u(r,oc)|0)<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}else{if(x){L=k+l|0;b[X+(r-oc<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}if(!B)break;L=m-k|0;b[X+(r<<1)>>1]=(L|0)<0?0:((L|0)<(Ua|0)?L:Va)&65535}while(0);if(!w){K=((l+1+(o&65535)|0)>>>1)-i+k>>1;K=((K|0)<(t|0)?t:(K|0)>(s|0)?s:K)+i|0;L=(u(r,oc)|0)+-2|0;b[X+((g?L:r-Wa|0)<<1)>>1]=(K|0)<0?0:((K|0)<(Ua|0)?K:Va)&65535}if(v)break;k=((m+1+(q&65535)|0)>>>1)-f-k>>1;k=((k|0)<(t|0)?t:(k|0)>(s|0)?s:k)+f|0;k=(k|0)<0?0:((k|0)<(Ua|0)?k:Va)&65535;if(g){b[X+((u(r,oc)|0)+1<<1)>>1]=k;break}else{b[X+(r+oc<<1)>>1]=k;break}}else{K=b[sc+(r<<3)+6>>1]|0;L=o&65535;I=n&65535;n=l&65535;i=i&65535;k=i<<1;J=f&65535;H=(n<<1)+4|0;m=H+L+(I<<1)+k+J>>3;G=n-y|0;f=y+n|0;m=((m|0)<(G|0)?G:(m|0)>(f|0)?f:m)&65535;f=i+n|0;n=(f+2+I+L|0)>>>2;G=I-y|0;o=y+I|0;n=((n|0)<(G|0)?G:(n|0)>(o|0)?o:n)&65535;o=(f+4+I+(L*3|0)+(e[tc+(r<<3)+6>>1]<<1)|0)>>>3;G=L-y|0;L=y+L|0;o=((o|0)<(G|0)?G:(o|0)>(L|0)?L:o)&65535;L=q&65535;k=H+I+k+(J<<1)+L>>3;I=i-y|0;i=y+i|0;k=((k|0)<(I|0)?I:(k|0)>(i|0)?i:k)&65535;b[uc>>1]=k;f=f+J|0;i=(L+2+f|0)>>>2;I=J-y|0;J=y+J|0;i=((i|0)<(I|0)?I:(i|0)>(J|0)?J:i)&65535;b[Kb>>1]=i;f=(f+4+(L*3|0)+((K&65535)<<1)|0)>>>3;K=L-y|0;L=y+L|0;f=((f|0)<(K|0)?K:(f|0)>(L|0)?L:f)&65535;b[Lb>>1]=f;do if(g){l=u(r,oc)|0;if(!x){if(!B)break;b[p>>1]=b[uc>>1]|0;b[p+2>>1]=b[uc+2>>1]|0;b[p+4>>1]=b[uc+4>>1]|0;break}b[X+(l+-1<<1)>>1]=m;if(B){b[X+(l<<1)>>1]=k;b[X+(l+-2<<1)>>1]=n;b[X+(l+1<<1)>>1]=i;b[X+(l+-3<<1)>>1]=o;b[X+(l+2<<1)>>1]=f;break}else{b[X+(l+-2<<1)>>1]=n;b[X+(l+-3<<1)>>1]=o;break}}else{if(!x){if(!B)break;b[X+(r<<1)>>1]=k;b[X+(oc+r<<1)>>1]=i;b[X+(Ta+r<<1)>>1]=f;break}b[X+(r-oc<<1)>>1]=m;if(B){b[X+(r<<1)>>1]=k;b[X+(r-Pa<<1)>>1]=n;b[X+(oc+r<<1)>>1]=i;b[X+(r+Qa<<1)>>1]=o;b[X+(Pa+r<<1)>>1]=f;break}else{b[X+(r-Ra<<1)>>1]=n;b[X+(r+Sa<<1)>>1]=o;break}}while(0)}while(0);k=r+1|0;if((k|0)==4)break b;r=k;o=b[tc+(k<<3)+4>>1]|0;n=b[tc+(k<<3)+2>>1]|0;l=b[tc+(k<<3)>>1]|0;i=b[sc+(k<<3)>>1]|0;f=b[sc+(k<<3)+2>>1]|0;q=b[sc+(k<<3)+4>>1]|0}}while(0)}P=P+pc|0;if((P|0)>=(nc|0))break;else Z=Z+1|0}}h=h+qc|0;if((h|0)>=(ac|0)){k=3;break}else Y=Y+1|0}switch(k|0){case 3:{hc=vc;return}case 13:{M(60650,60687,120,60707);break}case 16:{M(60711,60687,121,60707);break}case 19:{M(60650,60687,120,60707);break}case 22:{M(60711,60687,121,60707);break}case 26:{M(60650,60687,120,60707);break}case 29:{M(60711,60687,121,60707);break}case 40:{M(60650,60687,120,60707);break}case 43:{M(60650,60687,120,60707);break}case 47:{M(60711,60687,121,60707);break}case 50:{M(60711,60687,121,60707);break}}}function ve(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0;Hb=hc;hc=hc+48|0;Eb=Hb+16|0;Fb=Hb;Gb=Hb+32|0;k=c[b+128>>2]|0;Ab=f?2:1;Bb=f?1:2;Cb=b+40|0;zb=c[Cb>>2]|0;l=c[k+4996>>2]|0;Db=b+276|0;yb=c[Db>>2]|0;yb=(yb|0)>(j|0)?j:yb;mb=c[b+280>>2]|0;mb=(mb|0)>(h|0)?h:mb;if((mb|0)<=(g|0)){hc=Hb;return}nb=(yb|0)>(i|0);ob=b+264|0;pb=b+4|0;qb=b+172|0;rb=b+176|0;sb=b+180|0;tb=b+164|0;ub=b+152|0;vb=b+156|0;wb=b+160|0;xb=b+144|0;Ya=b+52|0;Za=l+-8|0;_a=Fb+2|0;$a=Fb+1|0;ab=Fb+14|0;bb=Fb+13|0;cb=Fb+12|0;db=Eb+2|0;eb=Eb+1|0;fb=Eb+14|0;gb=Eb+13|0;hb=Eb+12|0;ib=Fb+3|0;jb=Eb+3|0;kb=Fb+15|0;lb=Eb+15|0;Va=k+4716|0;Wa=Gb+1|0;Xa=Gb+2|0;Sa=1<<l;Ta=Sa+255|0;Ua=zb<<1;Da=zb<<1;T=zb*3|0;Ja=zb<<1;La=zb*3|0;Ma=zb<<2;Na=zb<<1;Oa=u(zb,-3)|0;Pa=zb<<1;Qa=u(zb,-3)|0;Ra=zb<<1;W=f?-1:0-zb|0;U=f?1:zb;X=f?-2:0-Ja|0;Y=f?2:Ja;Z=f?-3:0-La|0;_=f?3:La;$=f?-4:0-Ma|0;V=f?zb:1;aa=f?Eb+4|0:Eb+4|0;ba=f?zb+-1|0:1-zb|0;ca=f?Fb+4|0:Fb+4|0;da=zb+1|0;ea=f?Eb+5|0:Eb+5|0;fa=f?zb+-2|0:1-Ja|0;ga=f?Fb+5|0:Fb+5|0;ha=f?zb+2|0:Ja|1;ia=f?Eb+6|0:Eb+6|0;ja=f?zb+-3|0:1-La|0;ka=f?Fb+6|0:Fb+6|0;la=f?zb+3|0:La+1|0;ma=f?Eb+7|0:Eb+7|0;na=f?zb+-4|0:1-Ma|0;oa=f?Fb+7|0:Fb+7|0;pa=f?Da:2;qa=f?Eb+8|0:Eb+8|0;ra=f?Da+-1|0:2-zb|0;sa=f?Fb+8|0:Fb+8|0;ta=f?Da|1:zb+2|0;ua=f?Eb+9|0:Eb+9|0;va=f?Da+-2|0:2-Ja|0;wa=f?Fb+9|0:Fb+9|0;xa=(f?Da:Ja)+2|0;ya=f?Eb+10|0:Eb+10|0;za=f?Da+-3|0:2-La|0;Aa=f?Fb+10|0:Fb+10|0;Ba=f?Da+3|0:La+2|0;Ca=f?Eb+11|0:Eb+11|0;Da=f?Da+-4|0:2-Ma|0;Ea=f?Fb+11|0:Fb+11|0;Fa=f?T:3;Ga=f?T+-1|0:3-zb|0;Ha=f?T+1|0:zb+3|0;Ia=f?T+-2|0:3-Ja|0;Ja=f?T+2|0:Ja+3|0;Ka=f?T+-3|0:3-La|0;La=(f?T:La)+3|0;Ma=f?T+-4|0:3-Ma|0;a:while(1){if(nb){O=g<<2;P=(O|0)/4|0;Q=O+-1|0;N=i;do{z=N<<2;l=(u(c[Db>>2]|0,P)|0)+((z|0)/4|0)|0;l=a[(c[ob>>2]|0)+l>>0]&3;if(l<<24>>24){R=c[pb>>2]|0;S=(u(c[Cb>>2]|0,O)|0)+z|0;T=R+S|0;a[Eb>>0]=a[T>>0]|0;a[Fb>>0]=a[T+W>>0]|0;a[eb>>0]=a[T+U>>0]|0;a[$a>>0]=a[T+X>>0]|0;a[db>>0]=a[T+Y>>0]|0;a[_a>>0]=a[T+Z>>0]|0;a[jb>>0]=a[T+_>>0]|0;a[ib>>0]=a[T+$>>0]|0;a[aa>>0]=a[T+V>>0]|0;a[ca>>0]=a[T+ba>>0]|0;a[ea>>0]=a[T+da>>0]|0;a[ga>>0]=a[T+fa>>0]|0;a[ia>>0]=a[T+ha>>0]|0;a[ka>>0]=a[T+ja>>0]|0;a[ma>>0]=a[T+la>>0]|0;a[oa>>0]=a[T+na>>0]|0;a[qa>>0]=a[T+pa>>0]|0;a[sa>>0]=a[T+ra>>0]|0;a[ua>>0]=a[T+ta>>0]|0;a[wa>>0]=a[T+va>>0]|0;a[ya>>0]=a[T+xa>>0]|0;a[Aa>>0]=a[T+za>>0]|0;a[Ca>>0]=a[T+Ba>>0]|0;a[Ea>>0]=a[T+Da>>0]|0;q=a[T+Fa>>0]|0;a[hb>>0]=q;n=a[T+Ga>>0]|0;a[cb>>0]=n;t=a[T+Ha>>0]|0;a[gb>>0]=t;o=a[T+Ia>>0]|0;a[bb>>0]=o;v=a[T+Ja>>0]|0;a[fb>>0]=v;p=a[T+Ka>>0]|0;a[ab>>0]=p;x=a[T+La>>0]|0;a[lb>>0]=x;y=a[T+Ma>>0]|0;a[kb>>0]=y;A=c[qb>>2]|0;C=z>>A;j=O>>A;if((C|0)<=-1){j=10;break a}F=c[rb>>2]|0;if((C|0)>=(F|0)){j=10;break a}if((j|0)<=-1){j=13;break a}D=c[sb>>2]|0;if((j|0)>=(D|0)){j=13;break a}G=c[tb>>2]|0;B=u(F,j)|0;E=B+C|0;h=a[G+(E*3|0)+2>>0]|0;if(f){j=z+-1>>A;if(!((j|0)>-1&(j|0)<(F|0))){j=16;break a}j=B+j|0}else{j=Q>>A;if(!((j|0)>-1&(j|0)<(D|0))){j=19;break a}j=(u(F,j)|0)+C|0}k=h+1+(a[G+(j*3|0)+2>>0]|0)>>1;h=c[ub>>2]|0;j=z>>h;h=O>>h;if((j|0)<=-1){j=23;break a}b=c[vb>>2]|0;if((j|0)>=(b|0)){j=23;break a}if((h|0)<=-1){j=26;break a}if((h|0)>=(c[wb>>2]|0)){j=26;break a}L=e[(c[xb>>2]|0)+(((u(b,h)|0)+j|0)*24|0)+2>>1]|0;L=c[(c[Ya>>2]|0)+(L<<2)>>2]|0;w=(c[L+760>>2]|0)+k|0;w=(w|0)<51?w:51;w=d[608+((w|0)>0?w:0)>>0]<<Za;L=(l<<1&255)+-2+k+(c[L+764>>2]|0)|0;L=(L|0)<53?L:53;L=d[544+((L|0)>0?L:0)>>0]<<Za;H=a[_a>>0]|0;m=a[$a>>0]|0;k=a[Fb>>0]|0;r=k&255;l=(H&255)-((m&255)<<1)+r|0;l=(l|0)<0?0-l|0:l;s=n&255;p=(p&255)-((o&255)<<1)+s|0;p=(p|0)<0?0-p|0:p;o=a[db>>0]|0;J=a[eb>>0]|0;I=a[Eb>>0]|0;h=I&255;K=(o&255)-((J&255)<<1)+h|0;K=(K|0)<0?0-K|0:K;n=q&255;q=(v&255)-((t&255)<<1)+n|0;q=(q|0)<0?0-q|0:q;j=K+l|0;b=q+p|0;p=p+l|0;q=q+K|0;b:do if((b+j|0)<(w|0)){l=w>>2;do if((j<<1|0)<(l|0)){K=(d[ib>>0]|0)-r|0;v=h-(d[jb>>0]|0)|0;if((((v|0)<0?0-v|0:v)+((K|0)<0?0-K|0:K)|0)>=(w>>3|0)){h=0;break}h=r-h|0;h=(((h|0)<0?0-h|0:h)|0)<((L*5|0)+1>>1|0)}else h=0;while(0);do if((b<<1|0)<(l|0)){K=(y&255)-s|0;y=n-(x&255)|0;if((((y|0)<0?0-y|0:y)+((K|0)<0?0-K|0:K)|0)>=(w>>3|0)){j=0;break}j=s-n|0;j=(((j|0)<0?0-j|0:j)|0)<((L*5|0)+1>>1|0)}else j=0;while(0);K=h&j;n=(w>>1)+w>>3;l=(p|0)>=(n|0);n=(q|0)>=(n|0);b=a[Va>>0]|0;j=b<<24>>24!=0;if(f){h=z+-1>>A;if(j){if(!((h|0)>-1&(h|0)<(F|0))){j=37;break a}j=G+((B+h|0)*3|0)|0;j=((d[j>>0]|d[j+1>>0]<<8)&65535)>>>10&1^1}else j=1;if(!((h|0)>-1&(h|0)<(F|0))){j=40;break a}x=G+((B+h|0)*3|0)|0;B=G+(E*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(b<<24>>24==0|(B&1024)==0)&(B&2048)==0;x=j<<24>>24?((d[x>>0]|d[x+1>>0]<<8)&2048)==0:0}else{h=Q>>A;if(j){if(!((h|0)>-1&(h|0)<(D|0))){j=44;break a}j=G+(((u(F,h)|0)+C|0)*3|0)|0;j=((d[j>>0]|d[j+1>>0]<<8)&1024)==0}else j=1;if(!((h|0)>-1&(h|0)<(D|0))){j=47;break a}x=G+(((u(F,h)|0)+C|0)*3|0)|0;B=G+(E*3|0)|0;B=d[B>>0]|d[B+1>>0]<<8;B=(b<<24>>24==0|(B&1024)==0)&(B&2048)==0;x=j&((d[x>>0]|d[x+1>>0]<<8)&2048)==0}y=L<<1;z=L*10|0;A=0-L|0;w=l|x^1;v=n|B^1;s=L>>1;t=0-s|0;r=0;p=H;h=I;b=J;while(1){q=u(zb,r)|0;n=R+(S+q)|0;do if(!K){l=h&255;k=k&255;b=b&255;h=m&255;j=((l-k|0)*9|0)+8+(u(b-h|0,-3)|0)>>4;if((((j|0)<0?0-j|0:j)|0)>=(z|0))break;j=(j|0)<(A|0)?A:(j|0)>(L|0)?L:j;do if(f){if(x){J=j+k|0;a[T+(q+-1)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(!B)break;J=l-j|0;a[T+q>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}else{if(x){J=j+k|0;a[T+(r-zb)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(!B)break;J=l-j|0;a[T+r>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}while(0);if(!w){J=((k+1+(p&255)|0)>>>1)-h+j>>1;J=((J|0)<(t|0)?t:(J|0)>(s|0)?s:J)+h|0;a[T+(f?q+-2|0:r-Ua|0)>>0]=(J|0)<0?0:((J|0)<(Sa|0)?J:Ta)&255}if(v)break;j=((l+1+(o&255)|0)>>>1)-b-j>>1;j=((j|0)<(t|0)?t:(j|0)>(s|0)?s:j)+b|0;j=(j|0)<0?0:((j|0)<(Sa|0)?j:Ta)&255;if(f){a[T+(q+1)>>0]=j;break}else{a[T+(r+zb)>>0]=j;break}}else{I=a[Eb+(r<<2)+3>>0]|0;J=p&255;G=m&255;l=k&255;h=h&255;j=h<<1;H=b&255;F=(l<<1)+4|0;k=F+J+(G<<1)+j+H>>3;E=l-y|0;b=y+l|0;k=((k|0)<(E|0)?E:(k|0)>(b|0)?b:k)&255;b=h+l|0;l=(b+2+G+J|0)>>>2;E=G-y|0;m=y+G|0;l=((l|0)<(E|0)?E:(l|0)>(m|0)?m:l)&255;m=(b+4+G+(J*3|0)+(d[Fb+(r<<2)+3>>0]<<1)|0)>>>3;E=J-y|0;J=y+J|0;m=((m|0)<(E|0)?E:(m|0)>(J|0)?J:m)&255;J=o&255;j=F+G+j+(H<<1)+J>>3;G=h-y|0;h=y+h|0;j=((j|0)<(G|0)?G:(j|0)>(h|0)?h:j)&255;a[Gb>>0]=j;b=b+H|0;h=(J+2+b|0)>>>2;G=H-y|0;H=y+H|0;h=((h|0)<(G|0)?G:(h|0)>(H|0)?H:h)&255;a[Wa>>0]=h;b=(b+4+(J*3|0)+((I&255)<<1)|0)>>>3;I=J-y|0;J=y+J|0;b=((b|0)<(I|0)?I:(b|0)>(J|0)?J:b)&255;a[Xa>>0]=b;do if(f){if(!x){if(!B)break;a[n>>0]=a[Gb>>0]|0;a[n+1>>0]=a[Gb+1>>0]|0;a[n+2>>0]=a[Gb+2>>0]|0;break}a[T+(q+-1)>>0]=k;if(B){a[T+q>>0]=j;a[T+(q+-2)>>0]=l;a[T+(q+1)>>0]=h;a[T+(q+-3)>>0]=m;a[T+(q+2)>>0]=b;break}else{a[T+(q+-2)>>0]=l;a[T+(q+-3)>>0]=m;break}}else{if(!x){if(!B)break;a[T+r>>0]=j;a[T+(zb+r)>>0]=h;a[T+(Ra+r)>>0]=b;break}a[T+(r-zb)>>0]=k;if(B){a[T+r>>0]=j;a[T+(r-Na)>>0]=l;a[T+(zb+r)>>0]=h;a[T+(r+Oa)>>0]=m;a[T+(Na+r)>>0]=b;break}else{a[T+(r-Pa)>>0]=l;a[T+(r+Qa)>>0]=m;break}}while(0)}while(0);j=r+1|0;if((j|0)==4)break b;r=j;p=a[Fb+(j<<2)+2>>0]|0;m=a[Fb+(j<<2)+1>>0]|0;k=a[Fb+(j<<2)>>0]|0;h=a[Eb+(j<<2)>>0]|0;b=a[Eb+(j<<2)+1>>0]|0;o=a[Eb+(j<<2)+2>>0]|0}}while(0)}N=N+Ab|0}while((N|0)<(yb|0))}g=g+Bb|0;if((g|0)>=(mb|0)){j=3;break}}switch(j|0){case 3:{hc=Hb;return}case 10:{M(60650,60687,120,60707);break}case 13:{M(60711,60687,121,60707);break}case 16:{M(60650,60687,120,60707);break}case 19:{M(60711,60687,121,60707);break}case 23:{M(60650,60687,120,60707);break}case 26:{M(60711,60687,121,60707);break}case 37:{M(60650,60687,120,60707);break}case 40:{M(60650,60687,120,60707);break}case 44:{M(60711,60687,121,60707);break}case 47:{M(60711,60687,121,60707);break}}}function we(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;ac=hc;hc=hc+32|0;_b=ac+16|0;$b=ac;l=c[f+128>>2]|0;Vb=c[l+5016>>2]|0;Wb=c[l+5020>>2]|0;Xb=u(Vb,g?2:1)|0;Yb=u(Wb,g?1:2)|0;Ub=c[f+44>>2]|0;Zb=c[f+276>>2]|0;Tb=(Zb|0)>(k|0)?k:Zb;Cb=c[f+280>>2]|0;Cb=(Cb|0)>(i|0)?i:Cb;k=c[l+5004>>2]|0;if((Cb|0)<=(h|0)){hc=ac;return}Db=(Tb|0)>(j|0);Eb=3-Vb|0;Fb=3-Wb|0;Gb=f+264|0;Hb=f+136|0;Ib=f+172|0;Jb=f+176|0;Kb=f+180|0;Lb=f+164|0;Mb=l+5012|0;Nb=f+152|0;Ob=f+156|0;Pb=f+160|0;Qb=f+144|0;Rb=f+52|0;Sb=k+-8|0;Bb=l+4716|0;za=1<<k;Aa=za+65535|0;Ba=Ub<<1;Ca=u(Ub,-2)|0;Da=$b+2|0;Ea=Ub+-1|0;Fa=_b+2|0;Ga=Ub<<1;Ha=$b+4|0;Ia=Ga+-1|0;Ja=_b+4|0;Ka=Ub*3|0;La=$b+6|0;Ma=Ka+-1|0;Na=_b+6|0;Oa=$b+8|0;Pa=_b+8|0;Qa=Ub+1|0;Ra=$b+10|0;Sa=Ub+-2|0;Ta=_b+10|0;Ua=Ga|1;Va=$b+12|0;Wa=Ga+-2|0;Xa=_b+12|0;Ya=Ka+1|0;Za=$b+14|0;_a=Ka+-2|0;$a=_b+14|0;Ab=_b+8|0;zb=$b+8|0;ab=_b+8|0;bb=$b+8|0;cb=_b+8|0;db=$b+8|0;eb=0-Ub|0;fb=$b+2|0;gb=_b+2|0;hb=_b+10|0;ib=$b+10|0;jb=Ub+-1|0;kb=_b+8|0;lb=$b+8|0;mb=$b+2|0;nb=_b+2|0;ob=_b+10|0;pb=$b+10|0;qb=$b+4|0;rb=_b+4|0;sb=_b+12|0;tb=$b+12|0;ub=Ub<<1;vb=$b+6|0;wb=_b+6|0;xb=_b+14|0;yb=$b+14|0;K=Ub*3|0;L=$b+2|0;N=_b+2|0;O=_b+10|0;P=$b+10|0;Q=1-Ub|0;R=_b+8|0;S=$b+8|0;T=$b+2|0;U=_b+2|0;V=_b+10|0;W=$b+10|0;X=$b+4|0;Y=_b+4|0;Z=_b+12|0;_=$b+12|0;$=$b+6|0;aa=_b+6|0;ba=_b+14|0;ca=$b+14|0;da=$b+4|0;ea=_b+4|0;fa=_b+12|0;ga=$b+12|0;ha=Ub<<1;ia=ha+-1|0;ja=$b+4|0;ka=_b+4|0;la=_b+12|0;ma=$b+12|0;na=2-Ub|0;oa=$b+6|0;pa=_b+6|0;qa=_b+14|0;ra=$b+14|0;sa=Ub*3|0;ta=sa+-1|0;ua=$b+6|0;va=_b+6|0;wa=_b+14|0;xa=$b+14|0;ya=3-Ub|0;a:while(1){if(Db){H=h<<Fb;F=u(H,Wb)|0;G=u((F|0)/4|0,Zb)|0;H=u(H,Ub)|0;I=F+-1|0;E=j;do{k=E<<Eb;J=u(k,Vb)|0;i=a[(c[Gb>>2]|0)+(((J|0)/4|0)+G)>>0]&3;if((i&255)>1){C=k+H<<1;D=J+-1|0;y=(i<<1&255)+-2|0;z=Ca+C|0;A=z+Ca|0;B=C+Ba|0;k=0;while(1){l=c[Hb>>2]|0;l=(k|0)==0?c[l+28>>2]|0:c[l+32>>2]|0;w=k+1|0;k=c[f+4+(w<<2)>>2]|0;x=k+C|0;if(g){b[$b>>1]=b[x>>1]|0;b[_b>>1]=b[x+-2>>1]|0;b[Da>>1]=b[x+(Ub<<1)>>1]|0;b[Fa>>1]=b[x+(Ea<<1)>>1]|0;b[Ha>>1]=b[x+(Ga<<1)>>1]|0;b[Ja>>1]=b[x+(Ia<<1)>>1]|0;b[La>>1]=b[x+(Ka<<1)>>1]|0;b[Na>>1]=b[x+(Ma<<1)>>1]|0;b[Oa>>1]=b[x+2>>1]|0;b[Pa>>1]=b[x+-4>>1]|0;b[Ra>>1]=b[x+(Qa<<1)>>1]|0;b[Ta>>1]=b[x+(Sa<<1)>>1]|0;b[Va>>1]=b[x+(Ua<<1)>>1]|0;b[Xa>>1]=b[x+(Wa<<1)>>1]|0;b[Za>>1]=b[x+(Ya<<1)>>1]|0;b[$a>>1]=b[x+(_a<<1)>>1]|0}else{t=x;s=t;t=t+4|0;t=e[t>>1]|e[t+2>>1]<<16;v=$b;c[v>>2]=e[s>>1]|e[s+2>>1]<<16;c[v+4>>2]=t;v=k+z|0;t=v;v=v+4|0;v=e[v>>1]|e[v+2>>1]<<16;s=_b;c[s>>2]=e[t>>1]|e[t+2>>1]<<16;c[s+4>>2]=v;s=k+B|0;v=s;s=s+4|0;s=e[s>>1]|e[s+2>>1]<<16;t=zb;c[t>>2]=e[v>>1]|e[v+2>>1]<<16;c[t+4>>2]=s;t=k+A|0;s=t;t=t+4|0;t=e[t>>1]|e[t+2>>1]<<16;v=Ab;c[v>>2]=e[s>>1]|e[s+2>>1]<<16;c[v+4>>2]=t}n=c[Ib>>2]|0;p=J>>n;k=F>>n;if((p|0)<=-1){k=14;break a}s=c[Jb>>2]|0;if((p|0)>=(s|0)){k=14;break a}if((k|0)<=-1){k=17;break a}q=c[Kb>>2]|0;if((k|0)>=(q|0)){k=17;break a}t=c[Lb>>2]|0;o=u(s,k)|0;r=o+p|0;i=a[t+(r*3|0)+2>>0]|0;if(g){k=D>>n;if(!((k|0)>-1&(k|0)<(s|0))){k=20;break a}k=o+k|0}else{k=I>>n;if(!((k|0)>-1&(k|0)<(q|0))){k=23;break a}k=(u(s,k)|0)+p|0}k=(i+1+(a[t+(k*3|0)+2>>0]|0)>>1)+l|0;do if((c[Mb>>2]|0)==1){if((k|0)>=30)if((k|0)>42){k=k+-6|0;break}else{k=c[480+(k+-30<<2)>>2]|0;break}}else k=(k|0)<51?k:51;while(0);l=c[Nb>>2]|0;i=J>>l;l=F>>l;if((i|0)<=-1){k=33;break a}m=c[Ob>>2]|0;if((i|0)>=(m|0)){k=33;break a}if((l|0)<=-1){k=36;break a}if((l|0)>=(c[Pb>>2]|0)){k=36;break a}v=e[(c[Qb>>2]|0)+(((u(m,l)|0)+i|0)*24|0)+2>>1]|0;v=y+k+(c[(c[(c[Rb>>2]|0)+(v<<2)>>2]|0)+764>>2]|0)|0;v=(v|0)<53?v:53;v=d[544+((v|0)>0?v:0)>>0]<<Sb;l=(a[Bb>>0]|0)==0;do if(g){k=D>>n;if(l)i=1;else{if(!((k|0)>-1&(k|0)<(s|0))){k=40;break a}i=t+((o+k|0)*3|0)|0;i=((d[i>>0]|d[i+1>>0]<<8)&1024)==0}if(!((k|0)>-1&(k|0)<(s|0))){k=43;break a}s=t+((o+k|0)*3|0)|0;m=t+(r*3|0)|0;m=d[m>>0]|d[m+1>>0]<<8;m=(l|(m&1024)==0)&(m&2048)==0;l=0-v|0;if(!(i&((d[s>>0]|d[s+1>>0]<<8)&2048)==0)){if(!m)break;t=e[$b>>1]|0;s=(e[kb>>1]|0)+4+(t-(e[_b>>1]|0)<<2)-(e[lb>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(v|0)?v:s)|0;b[x>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[mb>>1]|0;t=(e[ob>>1]|0)+4+(s-(e[nb>>1]|0)<<2)-(e[pb>>1]|0)>>3;t=s-((t|0)<(l|0)?l:(t|0)>(v|0)?v:t)|0;b[x+(Ub<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;t=e[qb>>1]|0;s=(e[sb>>1]|0)+4+(t-(e[rb>>1]|0)<<2)-(e[tb>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(v|0)?v:s)|0;b[x+(ub<<1)>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[vb>>1]|0;t=(e[xb>>1]|0)+4+(s-(e[wb>>1]|0)<<2)-(e[yb>>1]|0)>>3;v=s-((t|0)<(l|0)?l:(t|0)>(v|0)?v:t)|0;b[x+(K<<1)>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535;break}k=e[$b>>1]|0;t=e[_b>>1]|0;i=(e[ab>>1]|0)+4+(k-t<<2)-(e[bb>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+-2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[fb>>1]|0;t=e[gb>>1]|0;i=(e[hb>>1]|0)+4+(k-t<<2)-(e[ib>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+(jb<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x+(Ub<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[da>>1]|0;t=e[ea>>1]|0;i=(e[fa>>1]|0)+4+(k-t<<2)-(e[ga>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+(ia<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x+(ha<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}i=e[oa>>1]|0;t=e[pa>>1]|0;k=(e[qa>>1]|0)+4+(i-t<<2)-(e[ra>>1]|0)>>3;k=(k|0)<(l|0)?l:(k|0)>(v|0)?v:k;v=k+t|0;b[x+(ta<<1)>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535;if(!m)break;v=i-k|0;b[x+(sa<<1)>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535}else{k=I>>n;if(l)i=1;else{if(!((k|0)>-1&(k|0)<(q|0))){k=52;break a}i=t+(((u(s,k)|0)+p|0)*3|0)|0;i=((d[i>>0]|d[i+1>>0]<<8)&1024)==0}if(!((k|0)>-1&(k|0)<(q|0))){k=55;break a}s=t+(((u(s,k)|0)+p|0)*3|0)|0;m=t+(r*3|0)|0;m=d[m>>0]|d[m+1>>0]<<8;m=(l|(m&1024)==0)&(m&2048)==0;l=0-v|0;if(!(i&((d[s>>0]|d[s+1>>0]<<8)&2048)==0)){if(!m)break;t=e[$b>>1]|0;s=(e[R>>1]|0)+4+(t-(e[_b>>1]|0)<<2)-(e[S>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(v|0)?v:s)|0;b[x>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[T>>1]|0;t=(e[V>>1]|0)+4+(s-(e[U>>1]|0)<<2)-(e[W>>1]|0)>>3;t=s-((t|0)<(l|0)?l:(t|0)>(v|0)?v:t)|0;b[x+2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;t=e[X>>1]|0;s=(e[Z>>1]|0)+4+(t-(e[Y>>1]|0)<<2)-(e[_>>1]|0)>>3;s=t-((s|0)<(l|0)?l:(s|0)>(v|0)?v:s)|0;b[x+4>>1]=(s|0)<0?0:((s|0)<(za|0)?s:Aa)&65535;s=e[$>>1]|0;t=(e[ba>>1]|0)+4+(s-(e[aa>>1]|0)<<2)-(e[ca>>1]|0)>>3;v=s-((t|0)<(l|0)?l:(t|0)>(v|0)?v:t)|0;b[x+6>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535;break}k=e[$b>>1]|0;t=e[_b>>1]|0;i=(e[cb>>1]|0)+4+(k-t<<2)-(e[db>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+(eb<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[L>>1]|0;t=e[N>>1]|0;i=(e[O>>1]|0)+4+(k-t<<2)-(e[P>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+(Q<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x+2>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}k=e[ja>>1]|0;t=e[ka>>1]|0;i=(e[la>>1]|0)+4+(k-t<<2)-(e[ma>>1]|0)>>3;i=(i|0)<(l|0)?l:(i|0)>(v|0)?v:i;t=i+t|0;b[x+(na<<1)>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535;if(m){t=k-i|0;b[x+4>>1]=(t|0)<0?0:((t|0)<(za|0)?t:Aa)&65535}i=e[ua>>1]|0;t=e[va>>1]|0;k=(e[wa>>1]|0)+4+(i-t<<2)-(e[xa>>1]|0)>>3;k=(k|0)<(l|0)?l:(k|0)>(v|0)?v:k;v=k+t|0;b[x+(ya<<1)>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535;if(!m)break;v=i-k|0;b[x+6>>1]=(v|0)<0?0:((v|0)<(za|0)?v:Aa)&65535}while(0);if(w>>>0<2)k=1;else break}}E=E+Xb|0}while((E|0)<(Tb|0))}h=h+Yb|0;if((h|0)>=(Cb|0)){k=3;break}}switch(k|0){case 3:{hc=ac;return}case 14:{M(60650,60687,120,60707);break}case 17:{M(60711,60687,121,60707);break}case 20:{M(60650,60687,120,60707);break}case 23:{M(60711,60687,121,60707);break}case 33:{M(60650,60687,120,60707);break}case 36:{M(60711,60687,121,60707);break}case 40:{M(60650,60687,120,60707);break}case 43:{M(60650,60687,120,60707);break}case 52:{M(60711,60687,121,60707);break}case 55:{M(60711,60687,121,60707);break}}}function xe(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,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;Yb=hc;hc=hc+16|0;Wb=Yb+8|0;Xb=Yb;k=c[b+128>>2]|0;Qb=c[k+5016>>2]|0;Rb=c[k+5020>>2]|0;Sb=u(Qb,f?2:1)|0;Tb=u(Rb,f?1:2)|0;Ub=b+44|0;Pb=c[Ub>>2]|0;Vb=b+276|0;Ob=c[Vb>>2]|0;Ob=(Ob|0)>(j|0)?j:Ob;xb=c[b+280>>2]|0;xb=(xb|0)>(h|0)?h:xb;yb=k+5004|0;if((xb|0)<=(g|0)){hc=Yb;return}zb=(Ob|0)>(i|0);Ab=3-Qb|0;Bb=3-Rb|0;Cb=b+264|0;Db=b+136|0;Eb=b+172|0;Fb=b+176|0;Gb=b+180|0;Hb=b+164|0;Ib=k+5012|0;Jb=b+152|0;Kb=b+156|0;Lb=b+160|0;Mb=b+144|0;Nb=b+52|0;ta=k+4716|0;ua=1<<c[yb>>2];va=ua+255|0;wa=0-Pb|0;xa=Xb+1|0;ya=Pb+-1|0;za=Wb+1|0;Aa=Pb<<1;Ba=Xb+2|0;Ca=Aa+-1|0;Da=Wb+2|0;Ea=Pb*3|0;Fa=Xb+3|0;Ga=Ea+-1|0;Ha=Wb+3|0;Ia=Xb+4|0;Ja=Wb+4|0;Ka=Pb+1|0;La=Xb+5|0;Ma=Pb+-2|0;Na=Wb+5|0;Oa=Aa|1;Pa=Xb+6|0;Qa=Aa+-2|0;Ra=Wb+6|0;Sa=Ea+1|0;Ta=Xb+7|0;Ua=Ea+-2|0;Va=Wb+7|0;wb=Wb+4|0;vb=Xb+4|0;Wa=Wb+4|0;Xa=Xb+4|0;Ya=Wb+4|0;Za=Xb+4|0;_a=Xb+1|0;$a=Wb+1|0;ab=Wb+5|0;bb=Xb+5|0;cb=Pb+-1|0;db=Wb+4|0;eb=Xb+4|0;fb=Xb+1|0;gb=Wb+1|0;hb=Wb+5|0;ib=Xb+5|0;jb=Xb+2|0;kb=Wb+2|0;lb=Wb+6|0;mb=Xb+6|0;nb=Pb<<1;ob=Xb+3|0;pb=Wb+3|0;qb=Wb+7|0;rb=Xb+7|0;sb=Pb*3|0;tb=Xb+1|0;ub=Wb+1|0;H=Wb+5|0;I=Xb+5|0;J=1-Pb|0;K=Wb+4|0;L=Xb+4|0;N=Xb+1|0;O=Wb+1|0;P=Wb+5|0;Q=Xb+5|0;R=Xb+2|0;S=Wb+2|0;T=Wb+6|0;U=Xb+6|0;V=Xb+3|0;W=Wb+3|0;X=Wb+7|0;Y=Xb+7|0;Z=Xb+2|0;_=Wb+2|0;$=Wb+6|0;aa=Xb+6|0;ba=Pb<<1;ca=ba+-1|0;da=Xb+2|0;ea=Wb+2|0;fa=Wb+6|0;ga=Xb+6|0;ha=2-Pb|0;ia=Xb+3|0;ja=Wb+3|0;ka=Wb+7|0;la=Xb+7|0;ma=Pb*3|0;na=ma+-1|0;oa=Xb+3|0;pa=Wb+3|0;qa=Wb+7|0;ra=Xb+7|0;sa=3-Pb|0;a:while(1){if(zb){A=g<<Bb;B=u(A,Rb)|0;C=(B|0)/4|0;D=B+-1|0;z=i;do{E=z<<Ab;F=u(E,Qb)|0;j=(u(c[Vb>>2]|0,C)|0)+((F|0)/4|0)|0;j=a[(c[Cb>>2]|0)+j>>0]&3;if((j&255)>1){G=F+-1|0;x=(j<<1&255)+-2|0;y=E-Pb|0;j=0;while(1){l=c[Db>>2]|0;l=(j|0)==0?c[l+28>>2]|0:c[l+32>>2]|0;v=j+1|0;j=c[b+4+(v<<2)>>2]|0;h=u(c[Ub>>2]|0,A)|0;k=h+E|0;w=j+k|0;if(f){a[Xb>>0]=a[w>>0]|0;a[Wb>>0]=a[w+-1>>0]|0;a[xa>>0]=a[w+Pb>>0]|0;a[za>>0]=a[w+ya>>0]|0;a[Ba>>0]=a[w+Aa>>0]|0;a[Da>>0]=a[w+Ca>>0]|0;a[Fa>>0]=a[w+Ea>>0]|0;a[Ha>>0]=a[w+Ga>>0]|0;a[Ia>>0]=a[w+1>>0]|0;a[Ja>>0]=a[w+-2>>0]|0;a[La>>0]=a[w+Ka>>0]|0;a[Na>>0]=a[w+Ma>>0]|0;a[Pa>>0]=a[w+Oa>>0]|0;a[Ra>>0]=a[w+Qa>>0]|0;a[Ta>>0]=a[w+Sa>>0]|0;a[Va>>0]=a[w+Ua>>0]|0}else{t=y+h|0;s=j+t|0;c[Xb>>2]=d[w>>0]|d[w+1>>0]<<8|d[w+2>>0]<<16|d[w+3>>0]<<24;c[Wb>>2]=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;t=j+(t-Pb)|0;s=j+(k+Pb)|0;c[vb>>2]=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;c[wb>>2]=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24}m=c[Eb>>2]|0;o=F>>m;j=B>>m;if((o|0)<=-1){j=14;break a}r=c[Fb>>2]|0;if((o|0)>=(r|0)){j=14;break a}if((j|0)<=-1){j=17;break a}p=c[Gb>>2]|0;if((j|0)>=(p|0)){j=17;break a}s=c[Hb>>2]|0;n=u(r,j)|0;q=n+o|0;h=a[s+(q*3|0)+2>>0]|0;if(f){j=G>>m;if(!((j|0)>-1&(j|0)<(r|0))){j=20;break a}j=n+j|0}else{j=D>>m;if(!((j|0)>-1&(j|0)<(p|0))){j=23;break a}j=(u(r,j)|0)+o|0}j=(h+1+(a[s+(j*3|0)+2>>0]|0)>>1)+l|0;do if((c[Ib>>2]|0)==1){if((j|0)>=30)if((j|0)>42){j=j+-6|0;break}else{j=c[480+(j+-30<<2)>>2]|0;break}}else j=(j|0)<51?j:51;while(0);k=c[Jb>>2]|0;h=F>>k;k=B>>k;if((h|0)<=-1){j=33;break a}l=c[Kb>>2]|0;if((h|0)>=(l|0)){j=33;break a}if((k|0)<=-1){j=36;break a}if((k|0)>=(c[Lb>>2]|0)){j=36;break a}t=e[(c[Mb>>2]|0)+(((u(l,k)|0)+h|0)*24|0)+2>>1]|0;t=x+j+(c[(c[(c[Nb>>2]|0)+(t<<2)>>2]|0)+764>>2]|0)|0;t=(t|0)<53?t:53;t=d[544+((t|0)>0?t:0)>>0]<<(c[yb>>2]|0)+-8;k=(a[ta>>0]|0)==0;do if(f){j=G>>m;if(k)h=1;else{if(!((j|0)>-1&(j|0)<(r|0))){j=40;break a}h=s+((n+j|0)*3|0)|0;h=((d[h>>0]|d[h+1>>0]<<8)&1024)==0}if(!((j|0)>-1&(j|0)<(r|0))){j=43;break a}r=s+((n+j|0)*3|0)|0;l=s+(q*3|0)|0;l=d[l>>0]|d[l+1>>0]<<8;l=(k|(l&1024)==0)&(l&2048)==0;k=0-t|0;if(!(h&((d[r>>0]|d[r+1>>0]<<8)&2048)==0)){if(!l)break;s=d[Xb>>0]|0;r=(d[db>>0]|0)+4+(s-(d[Wb>>0]|0)<<2)-(d[eb>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[w>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[fb>>0]|0;s=(d[hb>>0]|0)+4+(r-(d[gb>>0]|0)<<2)-(d[ib>>0]|0)>>3;s=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[w+Pb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;s=d[jb>>0]|0;r=(d[lb>>0]|0)+4+(s-(d[kb>>0]|0)<<2)-(d[mb>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[w+nb>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[ob>>0]|0;s=(d[qb>>0]|0)+4+(r-(d[pb>>0]|0)<<2)-(d[rb>>0]|0)>>3;t=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[w+sb>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;break}j=d[Xb>>0]|0;s=d[Wb>>0]|0;h=(d[Wa>>0]|0)+4+(j-s<<2)-(d[Xa>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+-1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[_a>>0]|0;s=d[$a>>0]|0;h=(d[ab>>0]|0)+4+(j-s<<2)-(d[bb>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+cb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w+Pb>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[Z>>0]|0;s=d[_>>0]|0;h=(d[$>>0]|0)+4+(j-s<<2)-(d[aa>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+ca>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w+ba>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}h=d[ia>>0]|0;s=d[ja>>0]|0;j=(d[ka>>0]|0)+4+(h-s<<2)-(d[la>>0]|0)>>3;j=(j|0)<(k|0)?k:(j|0)>(t|0)?t:j;t=j+s|0;a[w+na>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;if(!l)break;t=h-j|0;a[w+ma>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255}else{j=D>>m;if(k)h=1;else{if(!((j|0)>-1&(j|0)<(p|0))){j=52;break a}h=s+(((u(r,j)|0)+o|0)*3|0)|0;h=((d[h>>0]|d[h+1>>0]<<8)&1024)==0}if(!((j|0)>-1&(j|0)<(p|0))){j=55;break a}r=s+(((u(r,j)|0)+o|0)*3|0)|0;l=s+(q*3|0)|0;l=d[l>>0]|d[l+1>>0]<<8;l=(k|(l&1024)==0)&(l&2048)==0;k=0-t|0;if(!(h&((d[r>>0]|d[r+1>>0]<<8)&2048)==0)){if(!l)break;s=d[Xb>>0]|0;r=(d[K>>0]|0)+4+(s-(d[Wb>>0]|0)<<2)-(d[L>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[w>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[N>>0]|0;s=(d[P>>0]|0)+4+(r-(d[O>>0]|0)<<2)-(d[Q>>0]|0)>>3;s=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[w+1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;s=d[R>>0]|0;r=(d[T>>0]|0)+4+(s-(d[S>>0]|0)<<2)-(d[U>>0]|0)>>3;r=s-((r|0)<(k|0)?k:(r|0)>(t|0)?t:r)|0;a[w+2>>0]=(r|0)<0?0:((r|0)<(ua|0)?r:va)&255;r=d[V>>0]|0;s=(d[X>>0]|0)+4+(r-(d[W>>0]|0)<<2)-(d[Y>>0]|0)>>3;t=r-((s|0)<(k|0)?k:(s|0)>(t|0)?t:s)|0;a[w+3>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;break}j=d[Xb>>0]|0;s=d[Wb>>0]|0;h=(d[Ya>>0]|0)+4+(j-s<<2)-(d[Za>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+wa>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[tb>>0]|0;s=d[ub>>0]|0;h=(d[H>>0]|0)+4+(j-s<<2)-(d[I>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+J>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w+1>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}j=d[da>>0]|0;s=d[ea>>0]|0;h=(d[fa>>0]|0)+4+(j-s<<2)-(d[ga>>0]|0)>>3;h=(h|0)<(k|0)?k:(h|0)>(t|0)?t:h;s=h+s|0;a[w+ha>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255;if(l){s=j-h|0;a[w+2>>0]=(s|0)<0?0:((s|0)<(ua|0)?s:va)&255}h=d[oa>>0]|0;s=d[pa>>0]|0;j=(d[qa>>0]|0)+4+(h-s<<2)-(d[ra>>0]|0)>>3;j=(j|0)<(k|0)?k:(j|0)>(t|0)?t:j;t=j+s|0;a[w+sa>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255;if(!l)break;t=h-j|0;a[w+3>>0]=(t|0)<0?0:((t|0)<(ua|0)?t:va)&255}while(0);if(v>>>0<2)j=1;else break}}z=z+Sb|0}while((z|0)<(Ob|0))}g=g+Tb|0;if((g|0)>=(xb|0)){j=3;break}}switch(j|0){case 3:{hc=Yb;return}case 14:{M(60650,60687,120,60707);break}case 17:{M(60711,60687,121,60707);break}case 20:{M(60650,60687,120,60707);break}case 23:{M(60711,60687,121,60707);break}case 33:{M(60650,60687,120,60707);break}case 36:{M(60711,60687,121,60707);break}case 40:{M(60650,60687,120,60707);break}case 43:{M(60650,60687,120,60707);break}case 52:{M(60711,60687,121,60707);break}case 55:{M(60711,60687,121,60707);break}}}function ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;b=a+356|0;Ae(b);f=a+340|0;e=c[f>>2]|0;c[f>>2]=e+-1;f=a+348|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((e|0)<=0)M(58091,58112,658,58123);if((d|0)!=(c[a+352>>2]|0)){Ce(b);return}Be(a+384|0,b);Ce(b);return}function ze(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;Do(d)|0;if((c[a>>2]|0)>=(b|0)){Eo(d)|0;return}c[a>>2]=b;iB(a+32|0)|0;Eo(d)|0;return}function Ae(a){a=a|0;Do(a)|0;return}function Be(a,b){a=a|0;b=b|0;iB(a|0)|0;return}function Ce(a){a=a|0;Eo(a)|0;return}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if(d){e=a+164|0;f=c[e>>2]|0;do if((f|0)>0){d=0;while(1){if((c[a+84+(d<<2)>>2]|0)==(b|0)){d=11;break}d=d+1|0;if((d|0)>=(f|0)){d=6;break}}if((d|0)==6)if((f|0)<20)break;else break a;else if((d|0)==11)return}while(0);c[e>>2]=f+1;c[a+84+(f<<2)>>2]=b}while(0);e=a+80|0;d=c[e>>2]|0;if((d|0)==20){b=1001;d=19}else c[e>>2]=d+1;c[a+(d<<2)>>2]=b;return}function Ee(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;s=b+252|0;l=c[s>>2]|0;k=e>>l;if((k|0)<=-1)M(60650,60687,120,60707);p=b+256|0;q=b+260|0;r=b+244|0;x=e;w=f;n=g;m=h;o=i;t=j;g=f>>l;while(1){e=c[p>>2]|0;if((k|0)>=(e|0)){e=4;break}if((g|0)<=-1){e=7;break}if((g|0)>=(c[q>>2]|0)){e=7;break}v=1<<n;if(!(1<<m&(d[(c[r>>2]|0)+((u(e,g)|0)+k)>>0]|0))){e=10;break}h=v>>1;g=h+x|0;h=h+w|0;e=n+-1|0;m=m+1|0;Ee(b,x,w,e,m,o,t);Ee(b,g,w,e,m,16,t);Ee(b,x,h,e,m,o,32);i=c[s>>2]|0;k=g>>i;if((k|0)<=-1){e=4;break}else{x=g;w=h;n=e;o=16;t=32;g=h>>i}}if((e|0)==4)M(60650,60687,120,60707);else if((e|0)==7)M(60711,60687,121,60707);else if((e|0)==10){m=(n|0)==31;if(m)return;g=o&255;h=(x|0)/4|0;i=b+276|0;j=b+280|0;k=b+264|0;e=0;do{f=(e+w|0)/4|0;l=c[i>>2]|0;if((h|0)<(l|0)?(f|0)<(c[j>>2]|0):0){s=(u(l,f)|0)+h|0;s=(c[k>>2]|0)+s|0;a[s>>0]=a[s>>0]|g}e=e+4|0}while((e|0)<(v|0));if(m)return;l=t&255;j=(w|0)/4|0;k=b+276|0;f=b+280|0;g=b+264|0;e=0;do{h=(e+x|0)/4|0;i=c[k>>2]|0;if((h|0)<(i|0)?(j|0)<(c[f>>2]|0):0){b=(u(i,j)|0)+h|0;b=(c[g>>2]|0)+b|0;a[b>>0]=a[b>>0]|l}e=e+4|0}while((e|0)<(v|0));return}}function Fe(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;j=c[b+172>>2]|0;i=e>>j;j=f>>j;if((i|0)<=-1)M(60650,60687,120,60707);h=c[b+176>>2]|0;if((i|0)>=(h|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)>=(c[b+180>>2]|0))M(60711,60687,121,60707);n=(c[b+164>>2]|0)+(((u(h,j)|0)+i|0)*3|0)|0;o=1<<g;i=1<<g+-1;h=1<<g+-2;switch(((d[n>>0]|d[n+1>>0]<<8)&65535)>>>3&7){case 3:{if((g|0)==31)return;l=(i+e|0)/4|0;m=b+276|0;n=b+280|0;k=(i+f|0)/4|0;g=b+264|0;j=0;do{h=(j+f|0)/4|0;i=c[m>>2]|0;if((l|0)<(i|0)?(h|0)<(c[n>>2]|0):0){i=(u(i,h)|0)+l|0;i=(c[g>>2]|0)+i|0;a[i>>0]=a[i>>0]|64;i=c[m>>2]|0}h=(j+e|0)/4|0;if((h|0)<(i|0)?(k|0)<(c[n>>2]|0):0){b=(u(i,k)|0)+h|0;b=(c[g>>2]|0)+b|0;a[b>>0]=a[b>>0]|-128}j=j+1|0}while((j|0)<(o|0));return}case 2:{if((g|0)==31)return;k=(i+e|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(u(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 1:{if((g|0)==31)return;k=(i+f|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(u(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}case 6:{if((g|0)==31)return;k=(h+e|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(u(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 7:{if((g|0)==31)return;k=(i+e+h|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+f|0)/4|0;g=c[l>>2]|0;if((k|0)<(g|0)?(j|0)<(c[m>>2]|0):0){e=(u(g,j)|0)+k|0;e=(c[i>>2]|0)+e|0;a[e>>0]=a[e>>0]|64}h=h+1|0}while((h|0)<(o|0));return}case 4:{if((g|0)==31)return;k=(h+f|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(u(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}case 5:{if((g|0)==31)return;k=(i+f+h|0)/4|0;l=b+276|0;m=b+280|0;i=b+264|0;h=0;do{j=(h+e|0)/4|0;g=c[l>>2]|0;if((j|0)<(g|0)?(k|0)<(c[m>>2]|0):0){f=(u(g,k)|0)+j|0;f=(c[i>>2]|0)+f|0;a[f>>0]=a[f>>0]|-128}h=h+1|0}while((h|0)<(o|0));return}default:return}}function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!b)return;d=(c[a+332>>2]|0)+(d*80|0)|0;if((He(d)|0)>=(e|0))return;f=a+356|0;Ae(f);g=a+340|0;c[g>>2]=(c[g>>2]|0)+-1;a=a+344|0;c[a>>2]=(c[a>>2]|0)+1;Ce(f);b=b+4|0;c[b>>2]=2;Ie(d,e);c[b>>2]=1;Ae(f);c[a>>2]=(c[a>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+1;Ce(f);return}function He(a){a=a|0;return c[a>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0;if((c[a>>2]|0)>=(b|0))return;d=a+4|0;Do(d)|0;if((c[a>>2]|0)<(b|0)){e=a+32|0;do eb(e|0,d|0)|0;while((c[a>>2]|0)<(b|0))}Eo(d)|0;return}function Je(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;c[a>>2]=12192;f=a+3212|0;b=c[f>>2]|0;g=a+3216|0;d=c[g>>2]|0;if((b|0)!=(d|0))do{d=d+-4|0;e=c[d>>2]|0;if(e){Ne(e);nz(e);d=(c[g>>2]|0)+-4|0;b=c[f>>2]|0}c[g>>2]=d}while((b|0)!=(d|0));if(b|0){c[g>>2]=b;nz(b)}Se(a+2144|0);Oe(a+1392|0);b=c[a+1388>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+1380>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+1372>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=a+856|0;d=a+1368|0;do{e=c[d+-4>>2]|0;d=d+-8|0;if(e|0?(f=e+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[e>>2]|0)+8>>2]&255](e);iz(e)}}while((d|0)!=(b|0));b=c[a+852>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+844>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+836>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+828>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+820>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+812>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+804>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+796>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+788>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+780>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+772>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+764>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+756>>2]|0;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+748>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+740>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+732>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+724>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+716>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+708>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+700>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+692>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+684>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+676>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+668>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+660>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+652>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+644>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+636>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+628>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+620>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+612>>2]|0;do if(b|0){f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0)break;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}while(0);b=c[a+604>>2]|0;if(!b){a=a+548|0;Pe(a);return}f=b+4|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(g|0){a=a+548|0;Pe(a);return}wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);a=a+548|0;Pe(a);return}function Ke(a){a=a|0;Je(a);nz(a);return}function Le(a,b){a=a|0;b=b|0;var d=0;d=c[a+2152>>2]|0;if((c[a+2156>>2]|0)-d>>2>>>0<=b>>>0){d=0;return d|0}d=c[d+(b<<2)>>2]|0;return d|0}function Me(a,b){a=a|0;b=b|0;if((b|0)<=-1){b=0;return b|0}b=((c[a+2156>>2]|0)-(c[a+2152>>2]|0)>>2|0)>(b|0);return b|0}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+440|0;l=a+444|0;d=c[l>>2]|0;b=c[k>>2]|0;if((d|0)!=(b|0)){g=0;do{f=c[b+(g<<2)>>2]|0;if(f){gf((c[f+144>>2]|0)+548|0,c[f>>2]|0);d=c[f+136>>2]|0;if(d|0){e=d+-4|0;b=c[e>>2]|0;if(b|0){b=d+(b*18608|0)|0;do{ff(b+-36|0);b=b+-18608|0}while((b|0)!=(d|0))}oz(e)}ef(f+44|0);nz(f);d=c[l>>2]|0;b=c[k>>2]|0}g=g+1|0}while(g>>>0<d-b>>2>>>0)}i=a+472|0;j=a+476|0;e=c[j>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){h=0;f=b;g=d;while(1){d=c[f+(h<<2)>>2]|0;if(!d){f=g;d=g}else{wc[c[(c[d>>2]|0)+4>>2]&255](d);d=c[i>>2]|0;b=d;f=b;e=c[j>>2]|0}h=h+1|0;if(h>>>0>=e-d>>2>>>0)break;else g=d}}d=a+484|0;f=c[d>>2]|0;if(f){e=a+488|0;b=c[e>>2]|0;if((b|0)==(f|0))b=f;else{do{b=b+-8|0;ff(b)}while((b|0)!=(f|0));b=c[d>>2]|0}c[e>>2]=f;nz(b);b=c[i>>2]|0}if(b|0){c[j>>2]=b;nz(b)}b=c[a+452>>2]|0;if(b|0){c[a+456>>2]=b;nz(b)}b=c[k>>2]|0;if(!b){l=a+8|0;Ue(l);return}c[l>>2]=b;nz(b);l=a+8|0;Ue(l);return}function Oe(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;m=a+8|0;b=c[m>>2]|0;k=a+20|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+12|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+24|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+24|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{nz(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)!=(e|0)){do{nz(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[m>>2]|0;d=c[n>>2]|0;if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a+4>>2]|0;if(!b)return;nz(b);return}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=hc;hc=hc+16|0;m=n;g=a+32|0;b=c[g>>2]|0;a:do if(b|0){h=a+16|0;i=a+28|0;j=a+36|0;k=a+40|0;l=a+44|0;f=a+48|0;do{d=c[h>>2]|0;o=c[i>>2]|0;e=c[(c[d+(o>>>10<<2)>>2]|0)+((o&1023)<<2)>>2]|0;c[g>>2]=b+-1;b=o+1|0;c[i>>2]=b;if(b>>>0>2047){nz(c[d>>2]|0);c[h>>2]=(c[h>>2]|0)+4;c[i>>2]=(c[i>>2]|0)+-1024}c[j>>2]=(c[j>>2]|0)-(c[e+24>>2]|0);if(!e)break a;c[m>>2]=e;b=e;d=c[l>>2]|0;do if(d-(c[k>>2]|0)>>2>>>0<16)if((c[f>>2]|0)==(d|0)){Qe(k,m);break}else{c[d>>2]=b;c[l>>2]=(c[l>>2]|0)+4;break}else{vo(c[e+20>>2]|0);b=c[e+32>>2]|0;if(b|0){c[e+36>>2]=b;nz(b)}nz(e)}while(0);b=c[g>>2]|0}while((b|0)!=0)}while(0);e=c[a+8>>2]|0;if(!e){f=a+44|0;i=a+40|0}else{c[m>>2]=e;b=e;g=a+40|0;f=a+44|0;d=c[f>>2]|0;do if(d-(c[g>>2]|0)>>2>>>0<16)if((c[a+48>>2]|0)==(d|0)){Qe(g,m);break}else{c[d>>2]=b;c[f>>2]=(c[f>>2]|0)+4;break}else{vo(c[e+20>>2]|0);b=c[e+32>>2]|0;if(b|0){c[e+36>>2]=b;nz(b)}nz(e)}while(0);i=g}e=c[f>>2]|0;d=c[i>>2]|0;b=d;if((e|0)!=(d|0)){h=0;while(1){g=c[b+(h<<2)>>2]|0;if(!g)b=d;else{vo(c[g+20>>2]|0);b=c[g+32>>2]|0;if(b|0){c[g+36>>2]=b;nz(b)}nz(g);b=c[i>>2]|0;e=c[f>>2]|0}h=h+1|0;if(h>>>0>=e-b>>2>>>0)break;else d=b}}if(!b){o=a+12|0;Re(o);hc=n;return}c[f>>2]=b;nz(b);o=a+12|0;Re(o);hc=n;return}function Qe(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function Re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=a+4|0;b=c[m>>2]|0;k=a+16|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+8|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+20|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+20|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{nz(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)!=(e|0)){do{nz(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));b=c[m>>2]|0;d=c[n>>2]|0;if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2)}b=c[a>>2]|0;if(!b)return;nz(b);return}function Se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+8|0;h=a+12|0;e=c[h>>2]|0;b=c[g>>2]|0;if((e|0)!=(b|0)){f=0;while(1){d=c[b+(f<<2)>>2]|0;if(!d)d=e;else{Ue(d);nz(d);d=c[h>>2]|0;b=c[g>>2]|0}f=f+1|0;if(f>>>0>=d-b>>2>>>0)break;else e=d}}Te(a+32|0);b=c[a+20>>2]|0;if(b|0){c[a+24>>2]=b;nz(b)}b=c[g>>2]|0;if(!b)return;c[h>>2]=b;nz(b);return}function Te(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;m=a+4|0;b=c[m>>2]|0;k=a+16|0;g=c[k>>2]|0;h=b+(g>>>10<<2)|0;n=a+8|0;e=c[n>>2]|0;i=e;j=b;if((e|0)!=(b|0)){f=(c[h>>2]|0)+((g&1023)<<2)|0;d=a+20|0;g=(c[d>>2]|0)+g|0;g=(c[b+(g>>>10<<2)>>2]|0)+((g&1023)<<2)|0;if((g|0)!=(f|0))do{f=f+4|0;if((f-(c[h>>2]|0)|0)==4096){f=h+4|0;h=f;f=c[f>>2]|0}}while((g|0)!=(f|0))}else d=a+20|0;c[d>>2]=0;d=i-j>>2;if(d>>>0>2)do{nz(c[b>>2]|0);b=(c[m>>2]|0)+4|0;c[m>>2]=b;e=c[n>>2]|0;d=e-b>>2}while(d>>>0>2);switch(d|0){case 1:{d=512;l=14;break}case 2:{d=1024;l=14;break}default:{}}if((l|0)==14)c[k>>2]=d;if((b|0)==(e|0)){d=e;b=e}else{do{nz(c[b>>2]|0);b=b+4|0}while((b|0)!=(e|0));d=c[n>>2]|0;b=c[m>>2]|0}if((d|0)!=(b|0))c[n>>2]=d+(~((d+-4-b|0)>>>2)<<2);b=c[a>>2]|0;if(!b)return;nz(b);return}function Ue(a){a=a|0;var b=0,d=0,e=0;Ve(a);d=c[a+332>>2]|0;if(d|0){e=d+-4|0;b=c[e>>2]|0;if(b|0){b=d+(b*80|0)|0;do{b=b+-80|0;ef(b)}while((b|0)!=(d|0))}oz(e)}cf(a+384|0);df(a+356|0);vo(c[a+264>>2]|0);vo(c[a+244>>2]|0);vo(c[a+224>>2]|0);vo(c[a+204>>2]|0);vo(c[a+184>>2]|0);vo(c[a+164>>2]|0);vo(c[a+144>>2]|0);b=c[a+140>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+132>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+124>>2]|0;if(b|0?(d=b+4|0,e=c[d>>2]|0,c[d>>2]=e+-1,(e|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[a+52>>2]|0;if(!b)return;c[a+56>>2]=b;nz(b);return}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;if(c[e>>2]|0){b=c[a+320>>2]|0;if(!b){b=c[a+112>>2]|0;if(!b)d=0;else d=c[b+544>>2]|0;yc[c[a+316>>2]&31](b,a,d)}else{g=c[a+116>>2]|0;yc[b&31](g,a,c[g+3708>>2]|0)};c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;g=a+64|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0}f=a+52|0;g=a+56|0;d=c[g>>2]|0;b=c[f>>2]|0;if((d|0)==(b|0)){f=d;c[g>>2]=f;return}a=0;do{e=c[b+(a<<2)>>2]|0;if(e){b=c[e+1348>>2]|0;if(b|0){c[e+1352>>2]=b;nz(b)}ff(e+1336|0);b=c[e+780>>2]|0;if(b|0){c[e+784>>2]=b;nz(b)}nz(e);d=c[g>>2]|0;b=c[f>>2]|0}a=a+1|0}while(a>>>0<d-b>>2>>>0);c[g>>2]=b;return}function We(a){a=a|0;vo(c[a>>2]|0);return}function Xe(a){a=a|0;vo(c[a>>2]|0);return}function Ye(a){a=a|0;vo(c[a>>2]|0);return}function Ze(a){a=a|0;vo(c[a>>2]|0);return}function _e(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;wc[c[(c[a>>2]|0)+8>>2]&255](a);iz(a);return}function $e(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;wc[c[(c[a>>2]|0)+8>>2]&255](a);iz(a);return}function af(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(!a)return;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(b|0)return;wc[c[(c[a>>2]|0)+8>>2]&255](a);iz(a);return}function bf(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)return;c[a+4>>2]=b;nz(b);return}function cf(a){a=a|0;bb(a|0)|0;return}function df(a){a=a|0;Fo(a)|0;return}function ef(a){a=a|0;Fo(a+4|0)|0;bb(a+32|0)|0;return}function ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=hc;hc=hc+16|0;e=f+8|0;b=f;if(0){c[b>>2]=a;ko(58238,b)|0}d=a+4|0;b=c[d>>2]|0;if(!b){hc=f;return}g=(c[b>>2]|0)+-1|0;c[b>>2]=g;if(g|0){hc=f;return}if(0){c[e>>2]=c[a>>2];ko(58253,e)|0}b=c[a>>2]|0;if(b|0)oz(b);b=c[d>>2]|0;if(!b){hc=f;return}nz(b);hc=f;return}function gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=hc;hc=hc+16|0;d=i;c[d>>2]=b;e=b;if(!b){hc=i;return}f=a+40|0;g=a+44|0;h=c[g>>2]|0;if(h-(c[f>>2]|0)>>2>>>0>=16){vo(c[b+20>>2]|0);a=c[b+32>>2]|0;if(a|0){c[b+36>>2]=a;nz(a)}nz(b);hc=i;return}if((c[a+48>>2]|0)==(h|0)){Qe(f,d);hc=i;return}else{c[h>>2]=e;c[g>>2]=(c[g>>2]|0)+4;hc=i;return}}function hf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;b=c[e+4>>2]|0;g=c[e+8>>2]|0;i=(g|0)/(d[f+51>>0]|0|0)|0;e=c[e+12>>2]|0;k=e+-1|0;l=k+b|0;l=l-((l|0)%(e|0)|0)|0;b=k+((b|0)/(d[f+50>>0]|0|0)|0)|0;e=b-((b|0)%(e|0)|0)|0;b=a[f+48>>0]|0;if((b+-8&255)>=9)M(58310,58112,115,58356);h=a[f+49>>0]|0;if((h+-8&255)>=9)M(58379,58112,116,58356);k=Ao(16,u(u(l,g)|0,((b&255)+7|0)>>>3)|0)|0;j=(k|0)==0;if(!(c[f+20>>2]|0))if(j){f=0;return f|0}else{e=0;g=0;b=0}else{i=u(u(e,i)|0,((h&255)+7|0)>>>3)|0;h=Ao(16,i)|0;i=Ao(16,i)|0;g=h;b=i;if(j|((h|0)==0|(i|0)==0)){if(!j)vo(k);if(h|0)vo(h);if(!i){f=0;return f|0}vo(i);f=0;return f|0}}c[f+4>>2]=k;c[f+300>>2]=0;c[f+40>>2]=l;c[f+8>>2]=g;c[f+304>>2]=0;c[f+12>>2]=b;c[f+308>>2]=0;c[f+44>>2]=e;f=1;return f|0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+4>>2]|0;if(a|0)vo(a);a=c[b+8>>2]|0;if(a|0)vo(a);a=c[b+12>>2]|0;if(!a)return;vo(a);return}function kf(a){a=a|0;nz(a);return}function lf(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;t=b+4|0;c[t>>2]=1;w=b+12|0;qe(c[w>>2]|0,b);d=c[w>>2]|0;j=c[d+128>>2]|0;x=j+5056|0;y=c[x>>2]|0;h=y+-1|0;i=c[j+5040>>2]|0;s=1<<i;v=b+8|0;g=b+24|0;re(d,b,h,c[v>>2]|0,c[g>>2]|0);d=c[v>>2]|0;if((d|0)>0){re(c[w>>2]|0,b,h,d+-1|0,c[g>>2]|0);d=c[v>>2]|0}f=d+1|0;if((f|0)<(c[j+5064>>2]|0)){re(c[w>>2]|0,b,h,f,c[g>>2]|0);d=c[v>>2]|0;f=d+1|0}q=b+20|0;r=b+16|0;nf(c[q>>2]|0,c[r>>2]|0,d<<i,f<<i);d=c[x>>2]|0;a:do if((d|0)>0){p=j+5016|0;o=j+5020|0;n=0;do{i=c[w>>2]|0;j=c[v>>2]|0;f=(u(c[i+156>>2]|0,j)|0)+n|0;f=e[(c[i+144>>2]|0)+(f*24|0)+2>>1]|0;g=c[i+52>>2]|0;if((c[i+56>>2]|0)-g>>2>>>0<=f>>>0)break a;m=c[g+(f<<2)>>2]|0;if(!m)break a;do if(a[m+329>>0]|0){d=c[r>>2]|0;g=c[d+4>>2]|0;d=c[d+40>>2]|0;f=c[q>>2]|0;h=c[f+4>>2]|0;f=c[f+40>>2]|0;if((c[(c[i+128>>2]|0)+4996>>2]|0)>8){of(i,n,j,m,0,s,s,g,d,h,f);break}else{pf(i,n,j,m,0,s,s,g,d,h,f);break}}while(0);do if(a[m+330>>0]|0){k=(s|0)/(c[p>>2]|0)|0;l=(s|0)/(c[o>>2]|0)|0;g=c[w>>2]|0;h=c[v>>2]|0;f=c[r>>2]|0;i=c[f+8>>2]|0;f=c[f+44>>2]|0;d=c[q>>2]|0;j=c[d+8>>2]|0;d=c[d+44>>2]|0;if((c[(c[g+128>>2]|0)+5004>>2]|0)>8)of(g,n,h,m,1,k,l,i,f,j,d);else pf(g,n,h,m,1,k,l,i,f,j,d);i=c[w>>2]|0;j=c[v>>2]|0;f=c[r>>2]|0;g=c[f+12>>2]|0;f=c[f+44>>2]|0;d=c[q>>2]|0;h=c[d+12>>2]|0;d=c[d+44>>2]|0;if((c[(c[i+128>>2]|0)+5004>>2]|0)>8){of(i,n,j,m,2,k,l,g,f,h,d);break}else{pf(i,n,j,m,2,k,l,g,f,h,d);break}}while(0);n=n+1|0;d=c[x>>2]|0}while((n|0)<(d|0))}while(0);if((y|0)<=0){c[t>>2]=3;y=c[w>>2]|0;ye(y,b);return}ze((c[(c[w>>2]|0)+332>>2]|0)+((u(c[v>>2]|0,d)|0)*80|0)|0,4);if((y|0)==1){c[t>>2]=3;y=c[w>>2]|0;ye(y,b);return}d=1;do{ze((c[(c[w>>2]|0)+332>>2]|0)+(((u(c[v>>2]|0,c[x>>2]|0)|0)+d|0)*80|0)|0,4);d=d+1|0}while((d|0)!=(y|0));c[t>>2]=3;y=c[w>>2]|0;ye(y,b);return}function mf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=hc;hc=hc+112|0;g=f+104|0;e=f;c[g>>2]=c[d+8>>2];zm(e,58425,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=tn(e)|0;if(d>>>0>4294967279)tz(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;hc=f;return}}else{h=d+16&-16;g=lz(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}fB(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;hc=f;return}function nf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+28>>2]|0;o=(o|0)<(f|0)?o:f;if(e&1|0)M(58432,58112,551,58447);if(o&1|0)M(58463,58112,552,58447);p=c[a+128>>2]|0;h=((c[p+4996>>2]|0)+7|0)/8|0;p=((c[p+5004>>2]|0)+7|0)/8|0;i=b+40|0;f=c[i>>2]|0;j=a+40|0;g=c[j>>2]|0;if((f|0)!=(g|0)){if((o|0)>(e|0)?(l=a+4|0,m=b+4|0,n=b+24|0,k=u(h,e)|0,g=(c[l>>2]|0)+(u(k,g)|0)|0,k=(c[m>>2]|0)+(u(k,f)|0)|0,fB(g|0,k|0,u(c[n>>2]|0,h)|0)|0,k=e+1|0,(k|0)<(o|0)):0){f=k;do{k=u(f,h)|0;g=(c[l>>2]|0)+(u(k,c[j>>2]|0)|0)|0;k=(c[m>>2]|0)+(u(k,c[i>>2]|0)|0)|0;fB(g|0,k|0,u(c[n>>2]|0,h)|0)|0;f=f+1|0}while((f|0)<(o|0))}}else{n=u(u(h,e)|0,f)|0;fB((c[a+4>>2]|0)+n|0,(c[b+4>>2]|0)+n|0,u(u(f,h)|0,o-e|0)|0)|0}n=d[b+51>>0]|0;f=(e|0)/(n|0)|0;e=(o|0)/(n|0)|0;if(!(c[b+20>>2]|0))return;l=b+44|0;g=c[l>>2]|0;m=a+44|0;h=c[m>>2]|0;if((g|0)==(h|0)){n=u(f,p)|0;l=u(n,g)|0;o=u(e-f|0,p)|0;fB((c[a+8>>2]|0)+l|0,(c[b+8>>2]|0)+l|0,u(o,g)|0)|0;p=c[m>>2]|0;n=u(n,p)|0;fB((c[a+12>>2]|0)+n|0,(c[b+12>>2]|0)+n|0,u(o,p)|0)|0;return}if((e|0)<=(f|0))return;n=a+8|0;o=b+8|0;k=b+32|0;j=a+12|0;i=b+12|0;while(1){b=u(f,p)|0;h=(c[n>>2]|0)+(u(b,h)|0)|0;a=(c[o>>2]|0)+(u(b,g)|0)|0;fB(h|0,a|0,u(c[k>>2]|0,p)|0)|0;a=(c[j>>2]|0)+(u(b,c[m>>2]|0)|0)|0;b=(c[i>>2]|0)+(u(b,c[l>>2]|0)|0)|0;fB(a|0,b|0,u(c[k>>2]|0,p)|0)|0;f=f+1|0;if((f|0)==(e|0))break;h=c[m>>2]|0;g=c[l>>2]|0}return}function of(f,g,h,i,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=hc;hc=hc+128|0;Ca=Ga;qa=c[f+156>>2]|0;E=(u(qa,h)|0)+g|0;Da=c[f+144>>2]|0;r=j<<1;s=(d[Da+(E*24|0)+4>>0]|0)>>>r&3;if(!s){hc=Ga;return}t=c[f+128>>2]|0;v=c[f+136>>2]|0;q=(j|0)==0;w=c[(q?t+4996|0:t+5004|0)>>2]|0;Ea=1<<w;Fa=Ea+-1|0;Ba=u(k,g)|0;Aa=u(l,h)|0;la=c[(q?f+24|0:f+32|0)>>2]|0;ma=c[(q?f+28|0:f+36|0)>>2]|0;na=c[f+152>>2]|0;i=Ba>>na;g=Aa>>na;if(!((i|0)>-1&(i|0)<(qa|0)))M(60650,60687,120,60707);if((g|0)<=-1)M(60711,60687,121,60707);oa=c[f+160>>2]|0;if((g|0)>=(oa|0))M(60711,60687,121,60707);ja=e[Da+(((u(g,qa)|0)+i|0)*24|0)+2>>1]|0;ia=c[f+52>>2]|0;ha=(c[f+56>>2]|0)-ia>>2;ja=c[(c[ia+(ja<<2)>>2]|0)+804>>2]|0;ka=c[t+5056>>2]|0;if(q){va=0;wa=0}else{va=(c[t+5016>>2]|0)+-1|0;wa=(c[t+5020>>2]|0)+-1|0}ga=c[t+5040>>2]|0;fa=ga-va|0;ga=ga-wa|0;za=(Ba+k|0)>(la|0)?la-Ba|0:k;ya=(Aa+l|0)>(ma|0)?ma-Aa|0:l;pa=(a[Da+(E*24|0)+22>>0]|0)!=0;if((s|0)!=2){i=a[Da+(E*24|0)+6+j>>0]|0;g=Ca;h=g+128|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[Ca+((i&31)<<2)>>2]=1;c[Ca+((i+1&31)<<2)>>2]=2;c[Ca+((i+2&31)<<2)>>2]=3;c[Ca+((i+3&31)<<2)>>2]=4;D=w+-5|0;i=(ya|0)>0;a:do if(pa){if(i){C=(za|0)>0;y=t+4716|0;z=f+172|0;A=f+176|0;B=f+180|0;x=f+164|0;t=(w|0)>12;s=0;b:while(1){c:do if(C){r=s+Aa|0;v=r<<wa;l=u(r,n)|0;r=u(r,p)|0;w=(a[y>>0]|0)==0;if(t){q=0;while(1){if(w){g=c[z>>2]|0;i=q+Ba<<va>>g;if((i|0)>-1){g=v>>g;xa=83}else{xa=98;break b}}else{g=c[z>>2]|0;i=q+Ba<<va>>g;g=v>>g;if((i|0)<=-1){xa=91;break b}h=c[A>>2]|0;if((i|0)>=(h|0)){xa=91;break b}if((g|0)<=-1){xa=94;break b}if((g|0)>=(c[B>>2]|0)){xa=94;break b}ua=(c[x>>2]|0)+(((u(h,g)|0)+i|0)*3|0)|0;if(!((d[ua>>0]|d[ua+1>>0]<<8)&1024))xa=83}if((xa|0)==83){xa=0;if((i|0)>=(c[A>>2]|0)){xa=98;break b}if((g|0)<=-1){xa=101;break b}if((g|0)>=(c[B>>2]|0)){xa=101;break b}}q=q+1|0;if((q|0)>=(za|0))break c}}k=0;do{if(w){h=c[z>>2]|0;i=k+Ba|0;g=i<<va>>h;if((g|0)>-1){h=v>>h;xa=97}else{xa=98;break b}}else{i=k+Ba|0;h=c[z>>2]|0;g=i<<va>>h;h=v>>h;if((g|0)<=-1){xa=91;break b}q=c[A>>2]|0;if((g|0)>=(q|0)){xa=91;break b}if((h|0)<=-1){xa=94;break b}if((h|0)>=(c[B>>2]|0)){xa=94;break b}ua=(c[x>>2]|0)+(((u(q,h)|0)+g|0)*3|0)|0;if(!((d[ua>>0]|d[ua+1>>0]<<8)&1024))xa=97}do if((xa|0)==97){xa=0;q=c[A>>2]|0;if((g|0)>=(q|0)){xa=98;break b}if((h|0)<=-1){xa=101;break b}if((h|0)>=(c[B>>2]|0)){xa=101;break b}ua=(c[x>>2]|0)+(((u(q,h)|0)+g|0)*3|0)|0;if((d[ua>>0]|d[ua+1>>0]<<8)&2048)break;g=e[m+(i+l<<1)>>1]|0;h=c[Ca+(g>>>D<<2)>>2]|0;if((h|0)<=0)break;ua=(a[h+-1+(Da+(E*24|0)+9+(j<<2))>>0]|0)+g|0;b[o+(i+r<<1)>>1]=(ua|0)<0?0:((ua|0)<(Ea|0)?ua:Fa)&65535}while(0);k=k+1|0}while((k|0)<(za|0))}while(0);s=s+1|0;if((s|0)>=(ya|0))break a}if((xa|0)==91)M(60650,60687,120,60707);else if((xa|0)==94)M(60711,60687,121,60707);else if((xa|0)==98)M(60650,60687,120,60707);else if((xa|0)==101)M(60711,60687,121,60707)}}else if(i?(x=(w|0)>12,(za|0)>0):0){g=0;do{q=g+Aa|0;h=u(q,n)|0;q=u(q,p)|0;if(!x){i=0;do{k=i+Ba|0;l=e[m+(k+h<<1)>>1]|0;r=c[Ca+(l>>>D<<2)>>2]|0;if((r|0)>0){xa=(a[r+-1+(Da+(E*24|0)+9+(j<<2))>>0]|0)+l|0;b[o+(k+q<<1)>>1]=(xa|0)<0?0:((xa|0)<(Ea|0)?xa:Fa)&65535}i=i+1|0}while((i|0)<(za|0))}g=g+1|0}while((g|0)<(ya|0))}while(0);hc=Ga;return}switch((d[Da+(E*24|0)+5>>0]|0)>>>r&3){case 0:{ra=0;sa=0;ta=-1;ua=1;break}case 1:{ra=-1;sa=1;ta=0;ua=0;break}case 2:{ra=-1;sa=1;ta=-1;ua=1;break}case 3:{ra=-1;sa=1;ta=1;ua=-1;break}default:{}}ea=u(ra,n)|0;da=0-sa&n;a[Ca>>0]=a[Da+(E*24|0)+9+(j<<2)>>0]|0;a[Ca+1>>0]=a[Da+(E*24|0)+9+(j<<2)+1>>0]|0;a[Ca+2>>0]=0;a[Ca+3>>0]=a[Da+(E*24|0)+9+(j<<2)+2>>0]|0;a[Ca+4>>0]=a[Da+(E*24|0)+9+(j<<2)+3>>0]|0;if((ya|0)<=0){hc=Ga;return}ca=(za|0)>0;_=t+4716|0;$=f+172|0;aa=f+176|0;ba=f+180|0;W=f+164|0;X=za+-1|0;Y=ya+-1|0;Z=v+53|0;C=v+4384|0;f=(u(Aa>>ga,ka)|0)+(Ba>>fa)|0;B=0;d:while(1){i=B+Aa|0;D=m+((u(i,n)|0)+Ba<<1)|0;E=o+((u(i,p)|0)+Ba<<1)|0;if(ca){j=i<<wa;F=(B|0)==0;G=(B|0)==(Y|0);H=j>>na;V=(H|0)>-1&(H|0)<(oa|0);H=u(H,qa)|0;I=ra+i|0;J=(I|0)<(ma|0);K=ra+i|0;L=(K|0)<(ma|0);N=I<<wa>>na;O=K<<wa>>na;U=(N|0)>-1&(N|0)<(oa|0);T=(O|0)>-1&(O|0)<(oa|0);N=u(N,qa)|0;O=u(O,qa)|0;P=u(I>>ga,ka)|0;Q=sa+i|0;R=(Q|0)<(ma|0);S=u(K>>ga,ka)|0;s=sa+i|0;t=(s|0)<(ma|0);v=Q<<wa>>na;w=s<<wa>>na;A=(v|0)>-1&(v|0)<(oa|0);z=(w|0)>-1&(w|0)<(oa|0);v=u(v,qa)|0;w=u(w,qa)|0;x=u(Q>>ga,ka)|0;y=u(s>>ga,ka)|0;r=0;do{if(pa?(a[_>>0]|0)!=0:0){g=c[$>>2]|0;i=r+Ba<<va>>g;g=j>>g;if((i|0)<=-1){xa=23;break d}h=c[aa>>2]|0;if((i|0)>=(h|0)){xa=23;break d}if((g|0)<=-1){xa=26;break d}if((g|0)>=(c[ba>>2]|0)){xa=26;break d}l=(c[W>>2]|0)+(((u(h,g)|0)+i|0)*3|0)|0;if(!((d[l>>0]|d[l+1>>0]<<8)&1024))xa=28}else xa=28;e:do if((xa|0)==28){xa=0;l=r+Ba|0;i=l<<va;h=c[$>>2]|0;g=i>>h;h=j>>h;if((g|0)<=-1){xa=30;break d}q=c[aa>>2]|0;if((g|0)>=(q|0)){xa=30;break d}if((h|0)<=-1){xa=33;break d}if((h|0)>=(c[ba>>2]|0)){xa=33;break d}k=(c[W>>2]|0)+(((u(q,h)|0)+g|0)*3|0)|0;if(!((d[k>>0]|d[k+1>>0]<<8)&2048)){do if(G|((r|0)==(X|0)|(F|(r|0)==0))){q=i>>na;k=Da+((q+H|0)*24|0)+2|0;h=ta+l|0;if(!((q|0)>-1&(q|0)<(qa|0))){if(!(L&((h|0)<(la|0)&(K|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!T){xa=54;break d}i=e[Da+((O+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){xa=58;break d}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;q=(a[Z>>0]|0)==0;if(q?(k=c[C>>2]|0,(c[k+(S+(h>>fa)<<2)>>2]|0)!=(c[k+(f<<2)>>2]|0)):0)break e;h=ua+l|0;if(!(t&((h|0)<(la|0)&(s|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!z){xa=54;break d}i=e[Da+((w+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){xa=58;break d}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;if(!q)break;l=c[C>>2]|0;if((c[l+(y+(h>>fa)<<2)>>2]|0)==(c[l+(f<<2)>>2]|0))break;else break e}if(!(J&((h|0)<(la|0)&(I|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!U){xa=54;break d}i=e[Da+((N+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){if(!V){xa=59;break d}if(!(a[(c[ia+(e[k>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;q=(a[Z>>0]|0)==0;if(q?(g=c[C>>2]|0,(c[g+(P+(h>>fa)<<2)>>2]|0)!=(c[g+(f<<2)>>2]|0)):0)break e;h=ua+l|0;if(!(R&((h|0)<(la|0)&(Q|h|0)>-1)))break e;i=h<<va>>na;if(!((i|0)>-1&(i|0)<(qa|0))){xa=52;break d}if(!A){xa=54;break d}i=e[Da+((v+i|0)*24|0)+2>>1]|0;if(ha>>>0<=i>>>0){xa=68;break d}i=c[ia+(i<<2)>>2]|0;if(!i){xa=68;break d}g=c[i+804>>2]|0;if((g|0)<(ja|0)){if(!V){xa=59;break d}if(!(a[(c[ia+(e[k>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ja|0)?(a[i+768>>0]|0)==0:0)break e;if(!q)break;l=c[C>>2]|0;if((c[l+(x+(h>>fa)<<2)>>2]|0)!=(c[l+(f<<2)>>2]|0))break e}while(0);l=e[D+(r<<1)>>1]|0;q=l-(e[D+(r+ea+ta<<1)>>1]|0)|0;k=l-(e[D+(r+da+ua<<1)>>1]|0)|0;l=(a[Ca+(((q|0)<0?1:(q|0)==0?2:3)+((k|0)<0?-1:(k|0)!=0&1))>>0]|0)+l|0;b[E+(r<<1)>>1]=(l|0)<0?0:((l|0)<(Ea|0)?l:Fa)&65535}}while(0);r=r+1|0}while((r|0)<(za|0))}B=B+1|0;if((B|0)>=(ya|0)){xa=68;break}}if((xa|0)==23)M(60650,60687,120,60707);else if((xa|0)==26)M(60711,60687,121,60707);else if((xa|0)==30)M(60650,60687,120,60707);else if((xa|0)==33)M(60711,60687,121,60707);else if((xa|0)==52)M(60650,60687,120,60707);else if((xa|0)==54)M(60711,60687,121,60707);else if((xa|0)==58)M(60650,60687,120,60707);else if((xa|0)==59)M(60711,60687,121,60707);else if((xa|0)==68){hc=Ga;return}}function pf(b,f,g,h,i,j,k,l,m,n,o){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=hc;hc=hc+128|0;wa=za;ja=b+156|0;p=c[ja>>2]|0;D=(u(p,g)|0)+f|0;ka=b+144|0;E=c[ka>>2]|0;r=i<<1;s=(d[E+(D*24|0)+4>>0]|0)>>>r&3;if(!s){hc=za;return}t=c[b+128>>2]|0;v=c[b+136>>2]|0;q=(i|0)==0;B=c[(q?t+4996|0:t+5004|0)>>2]|0;xa=1<<B;ya=xa+-1|0;va=u(j,f)|0;ua=u(k,g)|0;fa=c[(q?b+24|0:b+32|0)>>2]|0;ga=c[(q?b+28|0:b+36|0)>>2]|0;ha=b+152|0;f=c[ha>>2]|0;h=va>>f;f=ua>>f;if(!((h|0)>-1&(h|0)<(p|0)))M(60650,60687,120,60707);if((f|0)<=-1)M(60711,60687,121,60707);ia=b+160|0;if((f|0)>=(c[ia>>2]|0))M(60711,60687,121,60707);ca=e[E+(((u(f,p)|0)+h|0)*24|0)+2>>1]|0;aa=b+52|0;ba=b+56|0;ca=c[(c[(c[aa>>2]|0)+(ca<<2)>>2]|0)+804>>2]|0;da=c[t+5056>>2]|0;if(q){pa=0;qa=0}else{pa=(c[t+5016>>2]|0)+-1|0;qa=(c[t+5020>>2]|0)+-1|0}$=c[t+5040>>2]|0;_=$-pa|0;$=$-qa|0;ta=(va+j|0)>(fa|0)?fa-va|0:j;sa=(ua+k|0)>(ga|0)?ga-ua|0:k;ea=(a[E+(D*24|0)+22>>0]|0)!=0;if((s|0)!=2){h=a[E+(D*24|0)+6+i>>0]|0;f=wa;g=f+128|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[wa+((h&31)<<2)>>2]=1;c[wa+((h+1&31)<<2)>>2]=2;c[wa+((h+2&31)<<2)>>2]=3;c[wa+((h+3&31)<<2)>>2]=4;C=B+-5|0;h=(sa|0)>0;a:do if(ea){if(h){A=(ta|0)>0;w=t+4716|0;x=b+172|0;y=b+176|0;z=b+180|0;v=b+164|0;s=(B|0)>12;r=0;b:while(1){c:do if(A){k=r+ua|0;t=k<<qa;j=u(k,m)|0;k=u(k,o)|0;if(s){q=(a[w>>0]|0)==0;p=0;while(1){if(q){f=c[x>>2]|0;h=p+va<<pa>>f;if((h|0)>-1){f=t>>f;ra=74}else{ra=89;break b}}else{f=c[x>>2]|0;h=p+va<<pa>>f;f=t>>f;if((h|0)<=-1){ra=82;break b}g=c[y>>2]|0;if((h|0)>=(g|0)){ra=82;break b}if((f|0)<=-1){ra=85;break b}if((f|0)>=(c[z>>2]|0)){ra=85;break b}oa=(c[v>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;if(!((d[oa>>0]|d[oa+1>>0]<<8)&1024))ra=74}if((ra|0)==74){ra=0;if((h|0)>=(c[y>>2]|0)){ra=89;break b}if((f|0)<=-1){ra=92;break b}if((f|0)>=(c[z>>2]|0)){ra=92;break b}}p=p+1|0;if((p|0)>=(ta|0))break c}}q=0;do{if(!(a[w>>0]|0)){g=c[x>>2]|0;h=q+va|0;f=h<<pa>>g;if((f|0)>-1){g=t>>g;ra=88}else{ra=89;break b}}else{h=q+va|0;g=c[x>>2]|0;f=h<<pa>>g;g=t>>g;if((f|0)<=-1){ra=82;break b}p=c[y>>2]|0;if((f|0)>=(p|0)){ra=82;break b}if((g|0)<=-1){ra=85;break b}if((g|0)>=(c[z>>2]|0)){ra=85;break b}oa=(c[v>>2]|0)+(((u(p,g)|0)+f|0)*3|0)|0;if(!((d[oa>>0]|d[oa+1>>0]<<8)&1024))ra=88}do if((ra|0)==88){ra=0;p=c[y>>2]|0;if((f|0)>=(p|0)){ra=89;break b}if((g|0)<=-1){ra=92;break b}if((g|0)>=(c[z>>2]|0)){ra=92;break b}oa=(c[v>>2]|0)+(((u(p,g)|0)+f|0)*3|0)|0;if((d[oa>>0]|d[oa+1>>0]<<8)&2048)break;f=d[l+(h+j)>>0]|0;g=c[wa+(f>>>C<<2)>>2]|0;if((g|0)<=0)break;oa=(a[g+-1+(E+(D*24|0)+9+(i<<2))>>0]|0)+f|0;a[n+(h+k)>>0]=(oa|0)<0?0:((oa|0)<(xa|0)?oa:ya)&255}while(0);q=q+1|0}while((q|0)<(ta|0))}while(0);r=r+1|0;if((r|0)>=(sa|0))break a}if((ra|0)==82)M(60650,60687,120,60707);else if((ra|0)==85)M(60711,60687,121,60707);else if((ra|0)==89)M(60650,60687,120,60707);else if((ra|0)==92)M(60711,60687,121,60707)}}else if(h?(w=(B|0)>12,(ta|0)>0):0){f=0;do{p=f+ua|0;g=u(p,m)|0;p=u(p,o)|0;if(!w){h=0;do{q=h+va|0;j=d[l+(q+g)>>0]|0;k=c[wa+(j>>>C<<2)>>2]|0;if((k|0)>0){ra=(a[k+-1+(E+(D*24|0)+9+(i<<2))>>0]|0)+j|0;a[n+(q+p)>>0]=(ra|0)<0?0:((ra|0)<(xa|0)?ra:ya)&255}h=h+1|0}while((h|0)<(ta|0))}f=f+1|0}while((f|0)<(sa|0))}while(0);hc=za;return}switch((d[E+(D*24|0)+5>>0]|0)>>>r&3){case 0:{la=-1;ma=1;na=0;oa=0;break}case 1:{la=0;ma=0;na=-1;oa=1;break}case 2:{la=-1;ma=1;na=-1;oa=1;break}case 3:{la=1;ma=-1;na=-1;oa=1;break}default:{}}Y=u(na,m)|0;Z=0-oa&m;a[wa>>0]=a[E+(D*24|0)+9+(i<<2)>>0]|0;a[wa+1>>0]=a[E+(D*24|0)+9+(i<<2)+1>>0]|0;a[wa+2>>0]=0;a[wa+3>>0]=a[E+(D*24|0)+9+(i<<2)+2>>0]|0;a[wa+4>>0]=a[E+(D*24|0)+9+(i<<2)+3>>0]|0;if((sa|0)<=0){hc=za;return}X=(ta|0)>0;T=t+4716|0;U=b+172|0;V=b+176|0;W=b+180|0;P=b+164|0;Q=ta+-1|0;R=sa+-1|0;S=v+53|0;E=v+4384|0;i=(u(ua>>$,da)|0)+(va>>_)|0;D=0;d:while(1){h=D+ua|0;F=l+((u(h,m)|0)+va)|0;G=n+((u(h,o)|0)+va)|0;if(X){H=h<<qa;I=(D|0)==0;J=(D|0)==(R|0);K=na+h|0;L=(K|0)<(ga|0);N=K<<qa;O=u(K>>$,da)|0;A=oa+h|0;B=(A|0)<(ga|0);C=A<<qa;b=u(A>>$,da)|0;z=0;do{if(ea?(a[T>>0]|0)!=0:0){f=c[U>>2]|0;h=z+va<<pa>>f;f=H>>f;if((h|0)<=-1){ra=23;break d}g=c[V>>2]|0;if((h|0)>=(g|0)){ra=23;break d}if((f|0)<=-1){ra=26;break d}if((f|0)>=(c[W>>2]|0)){ra=26;break d}y=(c[P>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;if(!((d[y>>0]|d[y+1>>0]<<8)&1024))ra=28}else ra=28;e:do if((ra|0)==28){ra=0;s=z+va|0;y=s<<pa;f=c[U>>2]|0;h=y>>f;f=H>>f;if((h|0)<=-1){ra=30;break d}g=c[V>>2]|0;if((h|0)>=(g|0)){ra=30;break d}if((f|0)<=-1){ra=33;break d}if((f|0)>=(c[W>>2]|0)){ra=33;break d}x=(c[P>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;if(!((d[x>>0]|d[x+1>>0]<<8)&2048)){do if(J|((z|0)==(Q|0)|(I|(z|0)==0))){j=la+s|0;if(!(L&((j|0)<(fa|0)&(K|j|0)>-1)))break e;t=c[ha>>2]|0;h=j<<pa>>t;f=N>>t;if((h|0)<=-1){ra=39;break d}v=c[ja>>2]|0;if((h|0)>=(v|0)){ra=39;break d}if((f|0)<=-1){ra=42;break d}w=c[ia>>2]|0;if((f|0)>=(w|0)){ra=42;break d}x=c[ka>>2]|0;f=e[x+(((u(v,f)|0)+h|0)*24|0)+2>>1]|0;h=c[aa>>2]|0;r=(c[ba>>2]|0)-h>>2;if(r>>>0<=f>>>0){ra=59;break d}f=c[h+(f<<2)>>2]|0;if(!f){ra=59;break d}g=c[f+804>>2]|0;if((g|0)<(ca|0)){p=y>>t;q=H>>t;if(!((p|0)>-1&(p|0)<(v|0))){ra=47;break d}if(!((q|0)>-1&(q|0)<(w|0))){ra=49;break d}if(!(a[(c[h+(e[x+(((u(v,q)|0)+p|0)*24|0)+2>>1]<<2)>>2]|0)+768>>0]|0))break e}if((g|0)>(ca|0)?(a[f+768>>0]|0)==0:0)break e;k=(a[S>>0]|0)==0;if(k?(q=c[E>>2]|0,(c[q+(O+(j>>_)<<2)>>2]|0)!=(c[q+(i<<2)>>2]|0)):0)break e;j=ma+s|0;if(!(B&((j|0)<(fa|0)&(A|j|0)>-1)))break e;f=j<<pa>>t;g=C>>t;if(!((f|0)>-1&(f|0)<(v|0))){ra=39;break d}if(!((g|0)>-1&(g|0)<(w|0))){ra=42;break d}f=e[x+(((u(v,g)|0)+f|0)*24|0)+2>>1]|0;if(r>>>0<=f>>>0){ra=59;break d}p=c[h+(f<<2)>>2]|0;if(!p){ra=59;break d}q=c[p+804>>2]|0;if((q|0)<(ca|0)){g=y>>t;f=H>>t;if(!((g|0)>-1&(g|0)<(v|0))){ra=47;break d}if(!((f|0)>-1&(f|0)<(w|0))){ra=49;break d}if(!(a[(c[h+(e[x+(((u(v,f)|0)+g|0)*24|0)+2>>1]<<2)>>2]|0)+768>>0]|0))break e}if((q|0)>(ca|0)?(a[p+768>>0]|0)==0:0)break e;if(!k)break;y=c[E>>2]|0;if((c[y+(b+(j>>_)<<2)>>2]|0)!=(c[y+(i<<2)>>2]|0))break e}while(0);y=d[F+z>>0]|0;w=y-(d[F+(z+Y+la)>>0]|0)|0;x=y-(d[F+(z+Z+ma)>>0]|0)|0;y=(a[wa+(((w|0)<0?1:(w|0)==0?2:3)+((x|0)<0?-1:(x|0)!=0&1))>>0]|0)+y|0;a[G+z>>0]=(y|0)<0?0:((y|0)<(xa|0)?y:ya)&255}}while(0);z=z+1|0}while((z|0)<(ta|0))}D=D+1|0;if((D|0)>=(sa|0)){ra=59;break}}if((ra|0)==23)M(60650,60687,120,60707);else if((ra|0)==26)M(60711,60687,121,60707);else if((ra|0)==30)M(60650,60687,120,60707);else if((ra|0)==33)M(60711,60687,121,60707);else if((ra|0)==39)M(60650,60687,120,60707);else if((ra|0)==42)M(60711,60687,121,60707);else if((ra|0)==47)M(60650,60687,120,60707);else if((ra|0)==49)M(60711,60687,121,60707);else if((ra|0)==59){hc=za;return}}function qf(a){a=a|0;nz(a);return} |
| | | function rf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=c[b+20>>2]|0;f=h+18588|0;i=c[f>>2]|0;j=b+4|0;c[j>>2]=1;qe(i,b);f=c[f>>2]|0;g=c[f+128>>2]|0;e=c[h+4>>2]|0;d=c[g+5072>>2]|0;if((e|0)<(d|0)){d=c[(c[(c[f+136>>2]|0)+4360>>2]|0)+(e<<2)>>2]|0;f=c[g+5056>>2]|0;g=(d|0)/(f|0)|0;e=g;f=d-(u(g,f)|0)|0}else{f=c[g+5056>>2]|0;g=(d|0)/(f|0)|0;e=g;f=d-(u(g,f)|0)|0}c[h>>2]=d;c[h+8>>2]=f;c[h+12>>2]=e;d=b+8|0;do if(!(a[d>>0]|0)){e=c[h+18592>>2]|0;f=c[e+800>>2]|0;if(f>>>0<3){vf(h+18572|0,f,c[e+796>>2]|0);g=h+18580|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;break}else M(58514,58545,1511,58556)}else if(!(tf(h)|0)){c[j>>2]=3;uf((c[h+18600>>2]|0)+44|0,1);ye(i,b);return}while(0);wf(h+18548|0);xf(h,0,(a[d>>0]|0)!=0)|0;c[j>>2]=3;uf((c[h+18600>>2]|0)+44|0,1);ye(i,b);return}function sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=hc;hc=hc+112|0;g=f+104|0;e=f;h=c[d+16>>2]|0;c[g>>2]=c[d+12>>2];c[g+4>>2]=h;zm(e,58494,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=tn(e)|0;if(d>>>0>4294967279)tz(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){h=b;h=h+d|0;a[h>>0]=0;hc=f;return}}else{g=d+16&-16;h=lz(g)|0;c[b>>2]=h;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;b=h}fB(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;hc=f;return}function tf(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[b+18588>>2]|0;i=c[h+136>>2]|0;j=c[h+128>>2]|0;k=b+18592|0;f=c[k>>2]|0;if(!(a[f+16>>0]|0)){d=c[f+800>>2]|0;if(d>>>0>=3)M(58514,58545,1511,58556);vf(b+18572|0,d,c[f+796>>2]|0);b=b+18580|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=1;return b|0}g=c[f+20>>2]|0;d=e[(c[h+144>>2]|0)+((c[(c[i+4360>>2]|0)+((c[(c[i+4348>>2]|0)+(g<<2)>>2]|0)+-1<<2)>>2]|0)*24|0)+2>>1]|0;f=c[h+52>>2]|0;if((c[h+56>>2]|0)-f>>2>>>0<=d>>>0){b=0;return b|0}l=c[f+(d<<2)>>2]|0;h=c[j+5056>>2]|0;j=(g|0)/(h|0)|0;if(Ig(i,g-(u(j,h)|0)|0,j)|0){d=c[k>>2]|0;f=c[d+800>>2]|0;if(f>>>0>=3)M(58514,58545,1511,58556);vf(b+18572|0,f,c[d+796>>2]|0);b=b+18580|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;b=1;return b|0}g=c[b+18596>>2]|0;f=c[b+18600>>2]|0;h=c[g+440>>2]|0;g=(c[g+444>>2]|0)-h>>2;if(g>>>0<=1){b=0;return b|0}d=1;while(1){if((c[h+(d<<2)>>2]|0)==(f|0))break;d=d+1|0;if(d>>>0>=g>>>0){d=0;m=17;break}}if((m|0)==17)return d|0;d=c[h+(d+-1<<2)>>2]|0;if(!d){b=0;return b|0}Ie(d+44|0,c[d+124>>2]|0);if(!(a[l+1344>>0]|0)){b=0;return b|0}m=l+1336|0;yf(b+18572|0,m)|0;zf(m);b=1;return b|0}function uf(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;Do(d)|0;c[a>>2]=(c[a>>2]|0)+b;iB(a+32|0)|0;Eo(d)|0;return}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=hc;hc=hc+16|0;h=i+8|0;e=i;if(0){c[e>>2]=a;ko(59522,e)|0}e=a+4|0;f=c[e>>2]|0;do if(f|0){g=c[f>>2]|0;if((g|0)==1){h=c[a>>2]|0;Kg(h,b,d);hc=i;return}if((g|0)>1){c[f>>2]=g+-1;break}else M(59531,58605,177,59541)}while(0);if(0){c[h>>2]=a;ko(59575,h)|0}h=mz(172)|0;c[a>>2]=h;a=lz(4)|0;c[e>>2]=a;c[a>>2]=1;Kg(h,b,d);hc=i;return}function wf(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;f=c[h>>2]|0;i=(c[a+8>>2]|0)-f|0;c[a+12>>2]=510;j=a+20|0;b[j>>1]=8;g=a+16|0;c[g>>2]=0;a=f;if((i|0)<=0)return;e=a+1|0;c[h>>2]=e;f=(d[a>>0]|0)<<8;c[g>>2]=f;b[j>>1]=0;if((i|0)==1)return;c[h>>2]=a+2;c[g>>2]=f|(d[e>>0]|0);b[j>>1]=-8;return}function xf(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=b+18588|0;g=c[H>>2]|0;i=c[g+136>>2]|0;h=c[g+128>>2]|0;G=h+5056|0;E=c[G>>2]|0;F=b+12|0;do if(((!e?a[i+41>>0]|0:0)?(f=c[F>>2]|0,(f|0)>0):0)?(c[b+8>>2]|0)==0:0)if((E|0)>1){f=f+-1|0;e=b+18596|0;D=c[e>>2]|0;if(f>>>0<(c[D+488>>2]|0)-(c[D+484>>2]|0)>>3>>>0){re(g,c[b+18604>>2]|0,1,f,1);yf(b+18572|0,(c[(c[e>>2]|0)+484>>2]|0)+((c[F>>2]|0)+-1<<3)|0)|0;zf((c[(c[e>>2]|0)+484>>2]|0)+((c[F>>2]|0)+-1<<3)|0);break}else{H=2;return H|0}}else{re(g,c[b+18604>>2]|0,0,f+-1|0,1);f=c[b+18592>>2]|0;e=c[f+800>>2]|0;if(e>>>0<3){vf(b+18572|0,e,c[f+796>>2]|0);D=b+18580|0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;break}else M(58514,58545,1511,58556)}while(0);A=b+8|0;f=c[A>>2]|0;g=c[F>>2]|0;e=(u(g,E)|0)+f|0;B=i+4348|0;C=i+4352|0;if(!((f|0)<(c[G>>2]|0)?e>>>0<(c[C>>2]|0)-(c[B>>2]|0)>>2>>>0:0)){H=2;return H|0}o=h+5064|0;p=E+-1|0;q=b+18604|0;r=b+18572|0;s=b+18576|0;t=i+41|0;D=b+18548|0;v=b+18596|0;w=i+10|0;x=b+4|0;y=b+18592|0;z=i+42|0;n=i+4372|0;while(1){if((g|0)>=(c[o>>2]|0)){f=2;e=36;break}if((f|0)<(p|0)&((g|0)>0&d))re(c[H>>2]|0,c[q>>2]|0,f+1|0,g+-1|0,1);if(!(c[s>>2]|0)){f=2;e=36;break}Af(b);if((f|0)==1&(a[t>>0]|0)!=0?(g|0)<((c[o>>2]|0)+-1|0):0){m=c[v>>2]|0;f=c[m+484>>2]|0;if((c[m+488>>2]|0)-f>>3>>>0<=g>>>0){f=2;e=36;break}yf(f+(g<<3)|0,r)|0;Bf((c[(c[v>>2]|0)+484>>2]|0)+(g<<3)|0)}i=Cf(D)|0;l=(i|0)!=0;if(l?a[w>>0]|0:0){yf((c[y>>2]|0)+1336|0,r)|0;Bf((c[y>>2]|0)+1336|0);a[(c[y>>2]|0)+1344>>0]=1}ze((c[(c[H>>2]|0)+332>>2]|0)+(e*80|0)|0,1);m=c[F>>2]|0;j=c[x>>2]|0;k=j+1|0;c[x>>2]=k;f=c[H>>2]|0;e=c[f+128>>2]|0;h=c[e+5072>>2]|0;if((k|0)>=(h|0)){f=c[e+5056>>2]|0;g=(h|0)/(f|0)|0;f=h-(u(g,f)|0)|0;c[b>>2]=h;c[A>>2]=f;c[F>>2]=g;if(!i){e=28;break}}else{i=c[(c[(c[f+136>>2]|0)+4360>>2]|0)+(k<<2)>>2]|0;f=c[e+5056>>2]|0;g=(i|0)/(f|0)|0;f=i-(u(g,f)|0)|0;c[b>>2]=i;c[A>>2]=f;c[F>>2]=g}if(l){f=0;e=36;break}if(!(a[z>>0]|0))e=0;else{e=c[n>>2]|0;e=(c[e+(k<<2)>>2]|0)!=(c[e+(j<<2)>>2]|0)}if(e|(m|0)!=(g|0)&(a[t>>0]|0)!=0){e=33;break}e=(u(g,E)|0)+f|0;if(!((f|0)<(c[G>>2]|0)?e>>>0<(c[C>>2]|0)-(c[B>>2]|0)>>2>>>0:0)){f=2;e=36;break}}if((e|0)==28){De((c[b+18584>>2]|0)+4|0,1004,0);a[(c[H>>2]|0)+324>>0]=3;H=2;return H|0}else if((e|0)==33)if(!(Cf(D)|0)){De((c[b+18584>>2]|0)+4|0,1017,0);a[(c[H>>2]|0)+324>>0]=3;H=2;return H|0}else{wf(D);H=1;return H|0}else if((e|0)==36)return f|0;return 0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=hc;hc=hc+32|0;f=i+16|0;e=i+8|0;d=i;if(0){c[d>>2]=a;c[d+4>>2]=b;ko(59506,d)|0}h=b+4|0;d=c[h>>2]|0;if(!d){f=a+4|0;if(0){b=c[f>>2]|0;c[e>>2]=a;c[e+4>>2]=b;ko(59491,e)|0}d=c[f>>2]|0;if(!d){hc=i;return a|0}b=(c[d>>2]|0)+-1|0;c[d>>2]=b;do if(!b){e=c[a>>2]|0;if(e){oz(e);d=c[f>>2]|0;if(!d)break}nz(d)}while(0);c[a>>2]=0;c[f>>2]=0;hc=i;return a|0}else{c[d>>2]=(c[d>>2]|0)+1;g=a+4|0;if(0){e=c[g>>2]|0;c[f>>2]=a;c[f+4>>2]=e;ko(59491,f)|0}d=c[g>>2]|0;if(d|0){f=(c[d>>2]|0)+-1|0;c[d>>2]=f;do if(!f){e=c[a>>2]|0;if(e){oz(e);d=c[g>>2]|0;if(!d)break}nz(d)}while(0);c[a>>2]=0;c[g>>2]=0}c[a>>2]=c[b>>2];c[g>>2]=c[h>>2];hc=i;return a|0}return 0}function zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=hc;hc=hc+16|0;b=f;e=a+4|0;if(0){d=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=d;ko(59491,b)|0}b=c[e>>2]|0;if(!b){hc=f;return}d=(c[b>>2]|0)+-1|0;c[b>>2]=d;do if(!d){d=c[a>>2]|0;if(d){oz(d);b=c[e>>2]|0;if(!b)break}nz(b)}while(0);c[a>>2]=0;c[e>>2]=0;hc=f;return}function Af(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;k=c[d+18592>>2]|0;q=c[d+18588>>2]|0;g=c[q+128>>2]|0;h=c[d>>2]|0;f=c[g+5056>>2]|0;e=(h|0)/(f|0)|0;f=h-(u(e,f)|0)|0;g=g+5040|0;h=c[g>>2]|0;i=f<<h;j=e<<h;l=c[q+156>>2]|0;n=(u(l,e)|0)+f|0;m=c[q+144>>2]|0;b[m+(n*24|0)>>1]=c[k+804>>2];n=c[k>>2]&65535;p=c[q+152>>2]|0;o=i>>p;p=j>>p;if(!((o|0)>-1&(o|0)<(l|0)))M(60650,60687,130,60707);if((p|0)<=-1)M(60711,60687,131,60707);if((p|0)>=(c[q+160>>2]|0))M(60711,60687,131,60707);b[m+(((u(p,l)|0)+o|0)*24|0)+2>>1]=n;if((a[k+329>>0]|0)==0?(a[k+330>>0]|0)==0:0){q=h;Ef(d,i,j,q,0);return}Df(d,f,e,0);q=c[g>>2]|0;Ef(d,i,j,q,0);return}function Bf(a){a=a|0;var b=0,d=0,e=0,f=0;f=hc;hc=hc+16|0;b=f;e=a+4|0;if(0){d=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=d;ko(58580,b)|0}b=c[e>>2]|0;if(!b)M(58598,58605,95,58623);d=c[b>>2]|0;if((d|0)<=1){hc=f;return}c[b>>2]=d+-1;d=c[a>>2]|0;b=mz(172)|0;c[a>>2]=b;a=lz(4)|0;c[e>>2]=a;c[a>>2]=1;fB(b|0,d|0,172)|0;hc=f;return}function Cf(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;e=a+12|0;f=(c[e>>2]|0)+-2|0;c[e>>2]=f;g=f<<7;i=a+16|0;h=c[i>>2]|0;if(h>>>0>=g>>>0){i=1;return i|0}if(g>>>0>=32768){i=0;return i|0}c[e>>2]=f<<1&67108862;g=h<<1;c[i>>2]=g;e=a+20|0;h=(b[e>>1]|0)+1<<16>>16;b[e>>1]=h;if(h<<16>>16){i=0;return i|0}b[e>>1]=-8;e=a+4|0;f=c[e>>2]|0;if(f>>>0>=(c[a+8>>2]|0)>>>0){i=0;return i|0}c[e>>2]=f+1;c[i>>2]=g+(d[f>>0]|0);i=0;return i|0}function Df(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=hc;hc=hc+32|0;f=E;j=c[b+18592>>2]|0;D=c[b+18588>>2]|0;A=D+128|0;i=c[A>>2]|0;k=c[D+136>>2]|0;g=f;h=g+17|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));if((d|0)>0?(C=u(c[i+5056>>2]|0,e)|0,B=c[k+4384>>2]|0,(c[b>>2]|0)>(c[j+804>>2]|0)?(c[B+(C+d<<2)>>2]|0)==(c[B+(d+-1+C<<2)>>2]|0):0):0)g=(Ff(b+18548|0,c[b+18572>>2]|0)|0)&255;else g=0;B=g<<24>>24==0;if((e|0)>0&B?(C=c[i+5056>>2]|0,y=(u(C,e)|0)+d|0,z=c[k+4384>>2]|0,((c[b>>2]|0)-C|0)>=(c[j+804>>2]|0)?(c[z+(y<<2)>>2]|0)==(c[z+((u(C,e+-1|0)|0)+d<<2)>>2]|0):0):0)h=(Ff(b+18548|0,c[b+18572>>2]|0)|0)&255;else h=0;C=h<<24>>24==0;if(!((h|g)<<24>>24)){z=(c[i+5012>>2]|0)==0?1:3;y=j+329|0;w=j+330|0;x=b+18548|0;t=b+18572|0;v=k+4163|0;n=k+4164|0;o=f+1|0;p=f+5|0;q=f+6|0;r=f+7|0;s=f+8|0;m=0;h=0;g=0;do{l=(m|0)==0;if(!(!(l&(a[y>>0]|0)!=0)?!((m|0)!=0&(a[w>>0]|0)!=0):0)){do if(l){if(!(Ff(x,(c[t>>2]|0)+1|0)|0))h=0;else{h=(Jf(x)|0)==0;h=h?1:2}j=h;h=h&255}else{if((m|0)!=1){j=(h&255)>>>(m<<1)&3;break}if(!(Ff(x,(c[t>>2]|0)+1|0)|0))i=0;else{i=(Jf(x)|0)==0;i=i?1:2}j=i;h=(i<<4|i<<2|h&255)&255}while(0);i=j&255;if(i){j=c[A>>2]|0;if(l){k=c[j+4996>>2]|0;a[p>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[q>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[r>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+4996>>2]|0;a[s>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0}else{k=c[j+5004>>2]|0;a[f+5+(m<<2)>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+1>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+2>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0;k=c[(c[A>>2]|0)+5004>>2]|0;a[f+5+(m<<2)+3>>0]=Of(x,(1<<((k|0)<10?k:10)+-5)+-1|0)|0}do if((i|0)!=1){if(l){i=1;j=1;k=-1;b=-1;g=(Pf(x,2)|0)&255;break}if((m|0)==1){F=(Pf(x,2)|0)&255;i=1;j=1;k=-1;b=-1;g=(F<<2|g&255|F<<4)&255}else{i=1;j=1;k=-1;b=-1}}else{if(!(a[f+5+(m<<2)>>0]|0))i=0;else{i=(Jf(x)|0)==0;i=i?1:-1}if(!(a[f+5+(m<<2)+1>>0]|0))j=0;else{j=(Jf(x)|0)==0;j=j?1:-1}if(!(a[f+5+(m<<2)+2>>0]|0))k=0;else{k=(Jf(x)|0)==0;k=k?1:-1}if(!(a[f+5+(m<<2)+3>>0]|0))b=0;else{b=(Jf(x)|0)==0;b=b?1:-1}a[f+2+m>>0]=Pf(x,5)|0}while(0);l=(l?a[v>>0]|0:a[n>>0]|0)&255;F=f+5+(m<<2)|0;a[F>>0]=u(a[F>>0]<<l,i)|0;F=f+5+(m<<2)+1|0;a[F>>0]=u(a[F>>0]<<l,j)|0;F=f+5+(m<<2)+2|0;a[F>>0]=u(a[F>>0]<<l,k)|0;F=f+5+(m<<2)+3|0;a[F>>0]=u(a[F>>0]<<l,b)|0}}m=m+1|0}while((m|0)!=(z|0));a[f>>0]=h;a[o>>0]=g;g=(u(c[D+156>>2]|0,e)|0)+d|0;g=(c[D+144>>2]|0)+(g*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0))}if(!B){f=u(c[D+156>>2]|0,e)|0;h=c[D+144>>2]|0;g=h+((f+d|0)*24|0)+4|0;f=h+((d+-1+f|0)*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0))}if(C){hc=E;return}g=c[D+156>>2]|0;f=(u(g,e+-1|0)|0)+d|0;h=c[D+144>>2]|0;g=h+(((u(g,e)|0)+d|0)*24|0)+4|0;f=h+(f*24|0)+4|0;h=g+17|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(h|0));hc=E;return}function Ef(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;v=e+18588|0;w=e+18592|0;z=e+18500|0;A=e+18504|0;B=e+18508|0;p=e+18548|0;q=e+18572|0;F=f;E=g;C=h;D=i;while(1){n=c[v>>2]|0;m=c[n+128>>2]|0;l=c[n+136>>2]|0;f=1<<C;o=m+484|0;g=c[o>>2]|0;if(((f+F|0)<=(g|0)?(r=c[m+488>>2]|0,(f+E|0)<=(r|0)):0)?(c[m+5036>>2]|0)<(C|0):0){h=F+-1|0;if((h|E|0)>-1&(g|0)>=(F|0)&(r|0)>(E|0)?(t=c[m+5040>>2]|0,k=u(E>>t,c[m+5056>>2]|0)|0,s=k+(F>>t)|0,t=k+(h>>t)|0,k=c[n+144>>2]|0,(b[k+(s*24|0)>>1]|0)==(b[k+(t*24|0)>>1]|0)):0){f=c[l+4384>>2]|0;f=(c[f+(s<<2)>>2]|0)==(c[f+(t<<2)>>2]|0)&1}else f=0;k=E+-1|0;if(!((k|F|0)<0|(g|0)<=(F|0)|(r|0)<(E|0))?(i=c[m+5040>>2]|0,j=c[m+5056>>2]|0,y=F>>i,x=(u(E>>i,j)|0)+y|0,y=(u(k>>i,j)|0)+y|0,j=c[n+144>>2]|0,(b[j+(x*24|0)>>1]|0)==(b[j+(y*24|0)>>1]|0)):0){j=c[l+4384>>2]|0;j=(c[j+(x<<2)>>2]|0)==(c[j+(y<<2)>>2]|0)&1}else j=0;if(!f)i=2;else{g=c[n+172>>2]|0;f=h>>g;g=E>>g;if((f|0)<=-1){f=14;break}h=c[n+176>>2]|0;if((f|0)>=(h|0)){f=14;break}if((g|0)<=-1){f=17;break}if((g|0)>=(c[n+180>>2]|0)){f=17;break}i=(c[n+164>>2]|0)+(((u(h,g)|0)+f|0)*3|0)|0;i=(D|0)<(((d[i>>0]|d[i+1>>0]<<8)&65535)>>>6&3|0)?3:2}if(!j)f=0;else{f=c[n+172>>2]|0;h=F>>f;f=k>>f;if((h|0)<=-1){f=22;break}g=c[n+176>>2]|0;if((h|0)>=(g|0)){f=22;break}if((f|0)<=-1){f=25;break}if((f|0)>=(c[n+180>>2]|0)){f=25;break}f=(c[n+164>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;f=(D|0)<(((d[f>>0]|d[f+1>>0]<<8)&65535)>>>6&3|0)&1}f=Ff(p,(c[q>>2]|0)+(f+i)|0)|0}else f=(c[m+5036>>2]|0)<(C|0)&1;if(a[l+22>>0]|0?(c[l+4168>>2]|0)<=(C|0):0){c[z>>2]=0;c[A>>2]=0}if(a[(c[w>>2]|0)+756>>0]|0?(c[l+4172>>2]|0)<=(C|0):0)c[B>>2]=0;if(!f){f=41;break}h=C+-1|0;j=1<<h;i=j+F|0;j=j+E|0;k=D+1|0;Ef(e,F,E,h,k);if((i|0)<(c[o>>2]|0))Ef(e,i,E,h,k);g=m+488|0;f=c[g>>2]|0;if((j|0)<(f|0)){Ef(e,F,j,h,k);f=c[g>>2]|0}if((j|0)<(f|0)?(i|0)<(c[o>>2]|0):0){F=i;E=j;C=h;D=k}else{f=47;break}}if((f|0)==14)M(60650,60687,120,60707);else if((f|0)==17)M(60711,60687,121,60707);else if((f|0)==22)M(60650,60687,120,60707);else if((f|0)==25)M(60711,60687,121,60707);else if((f|0)==41){B=c[n+172>>2]|0;l=F>>B;g=E>>B;B=C-B|0;f=1<<B;m=f+g|0;if((B|0)!=31){j=f+l|0;k=n+176|0;h=n+164|0;i=(D&65535)<<6&192;f=g;do{g=l;do{B=(u(c[k>>2]|0,f)|0)+g|0;B=(c[h>>2]|0)+(B*3|0)|0;A=(d[B>>0]|d[B+1>>0]<<8)&-193|i;a[B>>0]=A;a[B+1>>0]=A>>8;g=g+1|0}while((g|0)<(j|0));f=f+1|0}while((f|0)<(m|0))}Gf(e,F,E,C,D);return}else if((f|0)==47)return}function Ff(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=f+12|0;i=c[l>>2]|0;h=d[(i>>>6)+-4+(64+(((d[g>>0]|0)>>>1&255)<<2))>>0]|0;i=i-h|0;c[l>>2]=i;k=i<<7;n=f+16|0;j=c[n>>2]|0;if(j>>>0<k>>>0){h=a[g>>0]|0;j=h&1;m=j&255;a[g>>0]=a[416+((h&255)>>>1&255)>>0]<<1&255|j;if(k>>>0>=32768){n=m;return n|0}c[l>>2]=i<<1&67108862;j=c[n>>2]<<1;c[n>>2]=j;h=f+20|0;g=(b[h>>1]|0)+1<<16>>16;b[h>>1]=g;if(g<<16>>16){n=m;return n|0}b[h>>1]=-8;h=f+4|0;i=c[h>>2]|0;if(i>>>0>=(c[f+8>>2]|0)>>>0){n=m;return n|0}c[h>>2]=i+1;c[n>>2]=j|(d[i>>0]|0);n=m;return n|0}else{m=d[320+(h>>>3)>>0]|0;c[n>>2]=j-k<<m;c[l>>2]=h<<m;h=a[g>>0]|0;i=h&1;j=i^1;l=j&255;if((h&255)<2){h=j|h&-2;a[g>>0]=h;i=j}a[g>>0]=a[352+((h&255)>>>1&255)>>0]<<1&255|i;k=f+20|0;h=(e[k>>1]|0)+m|0;b[k>>1]=h;if(h&32768|0){n=l;return n|0}i=f+4|0;j=c[i>>2]|0;if(j>>>0<(c[f+8>>2]|0)>>>0){c[i>>2]=j+1;c[n>>2]=(d[j>>0]|0)<<(h<<16>>16)|c[n>>2]}b[k>>1]=h+65528;n=l;return n|0}return 0}function Gf(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=hc;hc=hc+80|0;V=W+32|0;O=W+16|0;P=W;Q=W+56|0;N=e+18588|0;S=c[N>>2]|0;I=S+128|0;T=c[I>>2]|0;J=S+136|0;r=c[J>>2]|0;C=e+18592|0;s=c[C>>2]|0;F=S+172|0;U=c[F>>2]|0;q=f>>U;l=g>>U;U=h-U|0;j=1<<U;p=j+l|0;if((U|0)==31)j=q;else{m=j+q|0;n=S+176|0;o=S+164|0;j=l;do{k=q;do{U=(u(c[n>>2]|0,j)|0)+k|0;U=(c[o>>2]|0)+(U*3|0)|0;L=(d[U>>0]|d[U+1>>0]<<8)&-8;a[U>>0]=L;a[U+1>>0]=L>>8;k=k+1|0}while((k|0)<(m|0));j=j+1|0}while((j|0)<(p|0));j=c[F>>2]|0;l=g>>j;j=f>>j}if((j|0)<=-1)M(60650,60687,130,60707);G=S+176|0;k=c[G>>2]|0;if((j|0)>=(k|0))M(60650,60687,130,60707);if((l|0)<=-1)M(60711,60687,131,60707);q=S+180|0;if((l|0)>=(c[q>>2]|0))M(60711,60687,131,60707);H=S+164|0;U=(c[H>>2]|0)+(((u(k,l)|0)+j|0)*3|0)|0;o=(d[U>>0]|d[U+1>>0]<<8)&-8|h&7;a[U>>0]=o;a[U+1>>0]=o>>8;U=c[S+252>>2]|0;o=f>>U;k=g>>U;U=h-U|0;j=1<<U;p=j+k|0;if((U|0)!=31){l=j+o|0;m=S+256|0;n=S+244|0;j=k;do{k=o;do{U=(u(c[m>>2]|0,j)|0)+k|0;a[(c[n>>2]|0)+U>>0]=0;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(p|0))}U=1<<h;Hf(e,f,g,f,g);if(a[r+40>>0]|0){L=Ff(e+18548|0,(c[e+18572>>2]|0)+161|0)|0;a[e+32>>0]=L;if(L|0)If(S,f,g,h,1)}else a[e+32>>0]=0;p=s+24|0;do if((c[p>>2]|0)==2)L=0;else{o=c[N>>2]|0;k=f+-1|0;if((((k|g|0)>=0?(w=c[o+128>>2]|0,(c[w+484>>2]|0)>=(f|0)):0)?(c[w+488>>2]|0)>(g|0):0)?(v=c[w+5040>>2]|0,L=u(g>>v,c[w+5056>>2]|0)|0,t=L+(f>>v)|0,v=L+(k>>v)|0,L=c[o+144>>2]|0,(b[L+(t*24|0)>>1]|0)==(b[L+(v*24|0)>>1]|0)):0){j=c[(c[o+136>>2]|0)+4384>>2]|0;j=(c[j+(t<<2)>>2]|0)==(c[j+(v<<2)>>2]|0)&1}else j=0;n=g+-1|0;if((((n|f|0)>=0?(x=c[o+128>>2]|0,(c[x+484>>2]|0)>(f|0)):0)?(c[x+488>>2]|0)>=(g|0):0)?(K=c[x+5040>>2]|0,L=c[x+5056>>2]|0,z=f>>K,y=(u(g>>K,L)|0)+z|0,z=(u(n>>K,L)|0)+z|0,L=c[o+144>>2]|0,(b[L+(y*24|0)>>1]|0)==(b[L+(z*24|0)>>1]|0)):0){m=c[(c[o+136>>2]|0)+4384>>2]|0;m=(c[m+(y<<2)>>2]|0)==(c[m+(z<<2)>>2]|0)&1}else m=0;do if(j){L=c[o+172>>2]|0;j=k>>L;k=g>>L;if((j|0)<=-1)M(60650,60687,120,60707);l=c[o+176>>2]|0;if((j|0)>=(l|0))M(60650,60687,120,60707);if((k|0)<=-1)M(60711,60687,121,60707);if((k|0)<(c[o+180>>2]|0)){A=(c[o+164>>2]|0)+(((u(l,k)|0)+j|0)*3|0)|0;A=((d[A>>0]|d[A+1>>0]<<8)&768)==512?6:5;break}else M(60711,60687,121,60707)}else A=5;while(0);do if(m){j=c[o+172>>2]|0;l=f>>j;j=n>>j;if((l|0)<=-1)M(60650,60687,120,60707);k=c[o+176>>2]|0;if((l|0)>=(k|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)<(c[o+180>>2]|0)){B=(c[o+164>>2]|0)+(((u(k,j)|0)+l|0)*3|0)|0;B=((d[B>>0]|d[B+1>>0]<<8)&768)==512&1;break}else M(60711,60687,121,60707)}else B=0;while(0);k=e+18548|0;j=e+18572|0;if(!(((Ff(k,(c[j>>2]|0)+(B+A)|0)|0)&255)<<24>>24)){if((c[p>>2]|0)==2){L=0;break}L=(Ff(k,(c[j>>2]|0)+149|0)|0)==0&1;break}a:do if((c[(c[C>>2]|0)+808>>2]|0)>=2?(Ff(k,(c[j>>2]|0)+148|0)|0)!=0:0)if((c[(c[C>>2]|0)+808>>2]|0)>2){j=1;do{if(!(Jf(k)|0))break a;j=j+1|0}while((j|0)<((c[(c[C>>2]|0)+808>>2]|0)+-1|0))}else j=1;else j=0;while(0);k=e+26|0;a[k>>0]=a[k>>0]&15|(j&255)<<5&255|16;k=c[F>>2]|0;j=f>>k;k=g>>k;if((j|0)<=-1)M(60650,60687,130,60707);l=c[G>>2]|0;if((j|0)>=(l|0))M(60650,60687,130,60707);if((k|0)<=-1)M(60711,60687,131,60707);if((k|0)>=(c[q>>2]|0))M(60711,60687,131,60707);V=(c[H>>2]|0)+(((u(l,k)|0)+j|0)*3|0)|0;n=(d[V>>0]|d[V+1>>0]<<8)&-57;a[V>>0]=n;a[V+1>>0]=n>>8;V=c[F>>2]|0;n=f>>V;k=g>>V;V=h-V|0;j=1<<V;m=j+k|0;if((V|0)!=31){l=j+n|0;j=k;do{k=n;do{V=(u(c[G>>2]|0,j)|0)+k|0;V=(c[H>>2]|0)+(V*3|0)|0;h=(d[V>>0]|d[V+1>>0]<<8)&-769|512;a[V>>0]=h;a[V+1>>0]=h>>8;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(m|0))}Kf(c[e+18584>>2]|0,c[C>>2]|0,c[N>>2]|0,e+16|0,f,g,0,0,U,U,U,0);hc=W;return}while(0);K=c[F>>2]|0;n=f>>K;k=g>>K;K=h-K|0;j=1<<K;o=j+k|0;if((K|0)!=31){l=j+n|0;m=(L&65535)<<8&768;j=k;do{k=n;do{K=(u(c[G>>2]|0,j)|0)+k|0;K=(c[H>>2]|0)+(K*3|0)|0;C=(d[K>>0]|d[K+1>>0]<<8)&-769|m;a[K>>0]=C;a[K+1>>0]=C>>8;k=k+1|0}while((k|0)<(l|0));j=j+1|0}while((j|0)<(o|0))}K=(L|0)!=0;do if(K){j=c[(c[N>>2]|0)+128>>2]|0;k=e+18548|0;l=e+18572|0;if(!(Ff(k,(c[l>>2]|0)+8|0)|0)){m=Ff(k,(c[l>>2]|0)+9|0)|0;if((c[j+5036>>2]|0)>=(h|0)){if(m|0){j=1;D=92;break}if((h|0)==3){j=2;D=92;break}j=3-(Ff(k,(c[l>>2]|0)+10|0)|0)|0;D=92;break}if(!(a[j+4702>>0]|0)){j=(m|0)==0?2:1;D=92;break}if(Ff(k,(c[l>>2]|0)+11|0)|0){j=(m|0)==0?2:1;D=92;break}j=Jf(k)|0;k=(j|0)!=0;if(!((m|0)!=0&k)){l=(m|0)==0;if(l|k)if(j|m)if(l&k){j=7;D=92}else M(76276,58545,1765,58632);else{j=6;D=92}else{j=4;D=92}}else{j=5;D=92}}else{j=0;D=92}}else if((c[T+5036>>2]|0)==(h|0)){j=(Ff(e+18548|0,(c[e+18572>>2]|0)+8|0)|0)==0;j=j?3:0;D=92}else{R=0;E=0}while(0);if((D|0)==92){R=(L|0)==0&(j|0)==3&1;E=j}l=c[F>>2]|0;k=f>>l;l=g>>l;if((k|0)<=-1)M(60650,60687,130,60707);j=c[G>>2]|0;if((k|0)>=(j|0))M(60650,60687,130,60707);if((l|0)<=-1)M(60711,60687,131,60707);if((l|0)>=(c[q>>2]|0))M(60711,60687,131,60707);G=(c[H>>2]|0)+(((u(j,l)|0)+k|0)*3|0)|0;H=(d[G>>0]|d[G+1>>0]<<8)&-57|(E&65535)<<3&56;a[G>>0]=H;a[G+1>>0]=H>>8;G=(L|0)==0;H=(E|0)==0;b:do if(G){do if((H?a[T+4704>>0]|0:0)?(c[T+5120>>2]|0)<=(h|0):0){if((c[T+5124>>2]|0)<(h|0))break;v=e+18548|0;if(!(Cf(v)|0))break;Lf(S,f,g,h,1);t=e+18552|0;j=c[t>>2]|0;c[V>>2]=j;c[V+4>>2]=(c[e+18556>>2]|0)-j;j=V+8|0;c[j>>2]=0;c[j+4>>2]=0;c[V+16>>2]=0;j=c[N>>2]|0;p=c[j+128>>2]|0;l=c[p+4996>>2]|0;p=a[p+4705>>0]|0;o=c[j+40>>2]|0;j=c[j+4>>2]|0;k=(u(o,g)|0)+f|0;do if((l|0)>8){n=j+(k<<1)|0;m=l-p|0;if((h|0)==31)break;k=0;do{l=u(k,o)|0;j=0;do{b[n+(j+l<<1)>>1]=(Mf(V,p)|0)<<m;j=j+1|0}while((j|0)!=(U|0));k=k+1|0}while((k|0)!=(U|0))}else{n=j+k|0;m=l-p|0;if((h|0)==31)break;k=0;do{l=u(k,o)|0;j=0;do{a[n+(j+l)>>0]=(Mf(V,p)|0)<<m;j=j+1|0}while((j|0)!=(U|0));k=k+1|0}while((k|0)!=(U|0))}while(0);j=c[N>>2]|0;k=c[j+128>>2]|0;do if(c[k+5012>>2]|0){m=c[k+5004>>2]|0;h=c[k+5016>>2]|0;q=(U|0)/(h|0)|0;e=c[k+5020>>2]|0;s=(U|0)/(e|0)|0;o=a[k+4706>>0]|0;r=c[j+44>>2]|0;l=c[j+8>>2]|0;k=(u(r,(g|0)/(e|0)|0)|0)+((f|0)/(h|0)|0)|0;if((m|0)>8){k=k<<1;p=l+k|0;n=m-o|0;if((q|0)>0&(s|0)>0){k=0;do{l=u(k,r)|0;j=0;do{b[p+(j+l<<1)>>1]=(Mf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(s|0));j=c[N>>2]|0;h=c[j+128>>2]|0;k=c[h+5016>>2]|0;T=c[h+5020>>2]|0;e=c[j+44>>2]|0;n=a[h+4706>>0]|0;r=e;q=(U|0)/(k|0)|0;p=(U|0)/(T|0)|0;o=n;k=(u((g|0)/(T|0)|0,e)|0)+((f|0)/(k|0)|0)<<1;n=(c[h+5004>>2]|0)-n|0}else p=s;l=(c[j+12>>2]|0)+k|0;if(!((p|0)>0&(q|0)>0))break;k=0;do{m=u(k,r)|0;j=0;do{b[l+(j+m<<1)>>1]=(Mf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(p|0))}else{p=l+k|0;n=m-o|0;if((q|0)>0&(s|0)>0){k=0;do{l=u(k,r)|0;j=0;do{a[p+(j+l)>>0]=(Mf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(s|0));j=c[N>>2]|0;h=c[j+128>>2]|0;k=c[h+5016>>2]|0;T=c[h+5020>>2]|0;e=c[j+44>>2]|0;n=a[h+4706>>0]|0;r=e;q=(U|0)/(k|0)|0;p=(U|0)/(T|0)|0;o=n;k=(u((g|0)/(T|0)|0,e)|0)+((f|0)/(k|0)|0)|0;n=(c[h+5004>>2]|0)-n|0}else p=s;l=(c[j+12>>2]|0)+k|0;if(!((p|0)>0&(q|0)>0))break;k=0;do{m=u(k,r)|0;j=0;do{a[l+(j+m)>>0]=(Mf(V,o)|0)<<n;j=j+1|0}while((j|0)!=(q|0));k=k+1|0}while((k|0)!=(p|0))}}while(0);Nf(V);c[t>>2]=c[V>>2];wf(v);hc=W;return}while(0);F=(E|0)==3;i=F?(U|0)/2|0:U;F=(F<<31>>31)+h|0;E=(h|0)==31;if(!E){m=e+18548|0;n=e+18572|0;j=0;k=0;do{l=0;do{N=j;j=j+1|0;c[V+(N<<2)>>2]=Ff(m,(c[n>>2]|0)+12|0)|0;l=l+i|0}while((l|0)<(U|0));k=k+i|0}while((k|0)<(U|0))}k=f+-1|0;do if((k|g|0)<0)m=0;else{j=c[I>>2]|0;if((c[j+484>>2]|0)<(f|0)){m=0;break}if((c[j+488>>2]|0)<=(g|0)){m=0;break}N=c[j+5040>>2]|0;j=u(g>>N,c[j+5056>>2]|0)|0;l=j+(f>>N)|0;j=j+(k>>N)|0;N=c[S+144>>2]|0;if((b[N+(l*24|0)>>1]|0)!=(b[N+(j*24|0)>>1]|0)){m=0;break}m=c[(c[J>>2]|0)+4384>>2]|0;m=(c[m+(l<<2)>>2]|0)==(c[m+(j<<2)>>2]|0)&1}while(0);l=g+-1|0;do if((l|f|0)<0)j=0;else{j=c[I>>2]|0;if((c[j+484>>2]|0)<=(f|0)){j=0;break}if((c[j+488>>2]|0)<(g|0)){j=0;break}I=c[j+5040>>2]|0;N=c[j+5056>>2]|0;j=f>>I;k=(u(g>>I,N)|0)+j|0;j=(u(l>>I,N)|0)+j|0;N=c[S+144>>2]|0;if((b[N+(k*24|0)>>1]|0)!=(b[N+(j*24|0)>>1]|0)){j=0;break}N=c[(c[J>>2]|0)+4384>>2]|0;j=(c[N+(k<<2)>>2]|0)==(c[N+(j<<2)>>2]|0)&1}while(0);if(!E){D=e+18548|0;C=(m|0)!=0;r=(j|0)!=0;s=T+5108|0;t=T+5112|0;v=S+212|0;w=Q+4|0;x=S+216|0;y=S+204|0;z=Q+8|0;p=0;j=0;do{A=p+g|0;B=r|(p|0)>0;q=0;do{m=c[V+(j<<2)>>2]|0;if(!m){k=Pf(D,5)|0;l=P}else{k=Of(D,2)|0;l=O}c[l+(j<<2)>>2]=k;N=q+f|0;o=c[s>>2]|0;o=(u(A>>o,c[t>>2]|0)|0)+(N>>o)|0;Qf(Q,N,A,o,C|(q|0)>0,B,S);if((m|0)==1)k=c[Q+(c[O+(j<<2)>>2]<<2)>>2]|0;else{k=c[Q>>2]|0;l=c[w>>2]|0;if((k|0)>(l|0)){c[Q>>2]=l;c[w>>2]=k;m=l}else{m=k;k=l}l=c[z>>2]|0;if((m|0)>(l|0)){c[Q>>2]=l;c[z>>2]=m;n=m}else{n=l;l=m}if((k|0)>(n|0)){c[w>>2]=n;c[z>>2]=k;m=n}else{m=k;k=n}N=c[P+(j<<2)>>2]|0;N=N+((N|0)>=(l|0)&1)|0;N=N+((N|0)>=(m|0)&1)|0;k=N+((N|0)>=(k|0)&1)|0}N=F-(c[v>>2]|0)|0;n=1<<N;if((N|0)!=31){m=k&255;k=0;do{l=0;do{N=l+o+(u(c[x>>2]|0,k)|0)|0;a[(c[y>>2]|0)+N>>0]=m;l=l+1|0}while((l|0)<(n|0));k=k+1|0}while((k|0)<(n|0))}j=j+1|0;q=q+i|0}while((q|0)<(U|0));p=p+i|0}while((p|0)<(U|0))}n=T+5012|0;c:do switch(c[n>>2]|0){case 3:{if(E)break c;p=e+18548|0;q=e+18572|0;r=S+212|0;s=S+216|0;t=S+220|0;v=S+204|0;o=0;d:while(1){w=o+g|0;n=0;do{x=n+f|0;if(!(Ff(p,(c[q>>2]|0)+13|0)|0))m=4;else m=Pf(p,2)|0;k=c[r>>2]|0;j=x>>k;k=w>>k;if((j|0)<=-1){D=192;break d}l=c[s>>2]|0;if((j|0)>=(l|0)){D=192;break d}if((k|0)<=-1){D=193;break d}if((k|0)>=(c[t>>2]|0)){D=193;break d}j=d[(c[v>>2]|0)+((u(l,k)|0)+j)>>0]|0;k=(m|0)==4;if(!k){V=c[816+(m<<2)>>2]|0;j=(V|0)==(j|0)?34:V}Rf(S,x,w,F,j,k);n=n+i|0}while((n|0)<(U|0));o=o+i|0;if((o|0)>=(U|0))break c}if((D|0)==192)M(60650,60687,120,60707);else if((D|0)==193)M(60711,60687,121,60707);break}case 0:break;default:{j=e+18548|0;if(!(Ff(j,(c[e+18572>>2]|0)+13|0)|0))m=4;else m=Pf(j,2)|0;k=c[S+212>>2]|0;j=f>>k;k=g>>k;if((j|0)<=-1)M(60650,60687,120,60707);l=c[S+216>>2]|0;if((j|0)>=(l|0))M(60650,60687,120,60707);if((k|0)<=-1)M(60711,60687,121,60707);if((k|0)>=(c[S+220>>2]|0))M(60711,60687,121,60707);j=d[(c[S+204>>2]|0)+((u(l,k)|0)+j)>>0]|0;k=(m|0)==4;if(!k){V=c[816+(m<<2)>>2]|0;j=(V|0)==(j|0)?34:V}if((c[n>>2]|0)==2)j=d[832+j>>0]|0;Rf(S,f,g,h,j,k)}}while(0)}else{if(H){Sf(e,f,g,0,0,U,U,i,U,0);break}switch(E|0){case 1:{V=(U|0)/2|0;Sf(e,f,g,0,0,U,V,i,U,0);Sf(e,f,g,0,V,U,V,i,U,1);break b}case 2:{V=(U|0)/2|0;Sf(e,f,g,0,0,V,U,i,U,0);Sf(e,f,g,V,0,V,U,i,U,1);break b}case 4:{V=(U|0)/4|0;Sf(e,f,g,0,0,U,V,i,U,0);Sf(e,f,g,0,V,U,(3<<h|0)/4|0,i,U,1);break b}case 5:{V=(3<<h|0)/4|0;Sf(e,f,g,0,0,U,V,i,U,0);Sf(e,f,g,0,V,U,(U|0)/4|0,i,U,1);break b}case 6:{V=(U|0)/4|0;Sf(e,f,g,0,0,V,U,i,U,0);Sf(e,f,g,V,0,(3<<h|0)/4|0,U,i,U,1);break b}case 7:{V=(3<<h|0)/4|0;Sf(e,f,g,0,0,V,U,i,U,0);Sf(e,f,g,V,0,(U|0)/4|0,U,i,U,1);break b}case 3:{V=(U|0)/2|0;Sf(e,f,g,0,0,V,V,i,U,0);Sf(e,f,g,V,0,V,V,i,U,1);Sf(e,f,g,0,V,V,V,i,U,2);Sf(e,f,g,V,V,V,V,i,U,3);break b}default:M(69335,58545,4525,58649)}}while(0);if((K?!(H&(a[e+26>>0]&16)!=0):0)?(Ff(e+18548|0,(c[e+18572>>2]|0)+153|0)|0)==0:0){hc=W;return}V=(c[T+5012>>2]|0)!=0&1;Tf(e,f,g,f,g,f,g,h,0,0,G?(c[T+632>>2]|0)+R|0:c[T+628>>2]|0,R,L,V,V);hc=W;return}function Hf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=b+18588|0;t=c[v>>2]|0;s=c[t+136>>2]|0;t=c[t+128>>2]|0;j=b+18592|0;r=c[j>>2]|0;n=-1<<c[s+4168>>2];o=n&g;n=n&h;e=b+18524|0;f=b+18528|0;if(!((o|0)==(c[e>>2]|0)?(n|0)==(c[f>>2]|0):0)){c[b+18532>>2]=c[b+18520>>2];c[e>>2]=o;c[f>>2]=n}m=t+5040|0;if(!o)f=((1<<c[m>>2])+-1&n|0)==0;else f=0;i=c[r+804>>2]|0;e=c[t+5056>>2]|0;w=(i|0)/(e|0)|0;e=i-(u(w,e)|0)|0;i=c[t+5048>>2]|0;e=(u(i,e)|0)==(o|0);i=(u(w,i)|0)==(n|0);i=e?i:0;if((a[s+42>>0]|0)!=0?(k=c[m>>2]|0,((1<<k)+-1&(o|n)|0)==0):0)e=Ig(s,o>>k,n>>k)|0;else e=0;do if(i|e)l=12;else{if(f?a[s+41>>0]|0:0){l=12;break}e=b+18532|0}while(0);if((l|0)==12)e=(c[j>>2]|0)+796|0;k=c[e>>2]|0;e=o+-1|0;do if(Jg(c[v>>2]|0,o,n,e,n)|0?(w=c[t+5100>>2]|0,l=(u(n>>w,c[t+5088>>2]|0)|0)+(e>>w)|0,(c[(c[s+4396>>2]|0)+(l<<2)>>2]>>((c[m>>2]|0)-w<<1)|0)==(c[b+4>>2]|0)):0){j=c[v>>2]|0;f=c[j+172>>2]|0;e=e>>f;f=n>>f;if((e|0)<=-1)M(60650,60687,120,60707);i=c[j+176>>2]|0;if((e|0)>=(i|0))M(60650,60687,120,60707);if((f|0)<=-1)M(60711,60687,121,60707);if((f|0)<(c[j+180>>2]|0)){p=a[(c[j+164>>2]|0)+(((u(i,f)|0)+e|0)*3|0)+2>>0]|0;break}else M(60711,60687,121,60707)}else p=k;while(0);e=n+-1|0;do if(Jg(c[v>>2]|0,o,n,o,e)|0?(w=c[t+5100>>2]|0,n=(u(e>>w,c[t+5088>>2]|0)|0)+(o>>w)|0,(c[(c[s+4396>>2]|0)+(n<<2)>>2]>>((c[m>>2]|0)-w<<1)|0)==(c[b+4>>2]|0)):0){j=c[v>>2]|0;w=c[j+172>>2]|0;i=o>>w;e=e>>w;if((i|0)<=-1)M(60650,60687,120,60707);f=c[j+176>>2]|0;if((i|0)>=(f|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)<(c[j+180>>2]|0)){q=a[(c[j+164>>2]|0)+(((u(f,e)|0)+i|0)*3|0)+2>>0]|0;break}else M(60711,60687,121,60707)}else q=k;while(0);i=c[t+5e3>>2]|0;e=((c[b+18504>>2]|0)+52+(p+1+q>>1)+(i<<1)|0)%(i+52|0)|0;p=e-i|0;c[b+18536>>2]=e;e=(c[s+28>>2]|0)+p+(c[r+748>>2]|0)+(c[b+18512>>2]|0)|0;i=c[t+5008>>2]|0;w=0-i|0;e=(e|0)<(w|0)?w:(e|0)<57?e:57;f=(c[s+32>>2]|0)+p+(c[r+752>>2]|0)+(c[b+18516>>2]|0)|0;f=(f|0)<(w|0)?w:(f|0)<57?f:57;do if((c[t+5012>>2]|0)==1){do if((e|0)>=30)if((e|0)>42){e=e+-6|0;break}else{e=c[480+(e+-30<<2)>>2]|0;break}while(0);if((f|0)>=30)if((f|0)>42){f=f+-6|0;break}else{f=c[480+(f+-30<<2)>>2]|0;break}}while(0);c[b+18540>>2]=e+i;c[b+18544>>2]=f+i;e=c[v>>2]|0;f=c[e+172>>2]|0;o=g>>f;i=h>>f;if((o|0)<=-1)M(60650,60687,120,60707);n=c[e+176>>2]|0;if((o|0)>=(n|0))M(60650,60687,120,60707);if((i|0)<=-1)M(60711,60687,121,60707);if((i|0)>=(c[e+180>>2]|0))M(60711,60687,121,60707);m=c[e+164>>2]|0;w=m+(((u(n,i)|0)+o|0)*3|0)|0;w=(d[w>>0]|d[w+1>>0]<<8)&7;w=(w>>>0>3?w:3)-f|0;e=1<<w;l=e+i|0;if((w|0)==31){w=b+18520|0;c[w>>2]=p;return}j=e+o|0;k=p&255;e=i;do{i=u(e,n)|0;f=o;do{a[m+((f+i|0)*3|0)+2>>0]=k;f=f+1|0}while((f|0)<(j|0));e=e+1|0}while((e|0)<(l|0));w=b+18520|0;c[w>>2]=p;return}function If(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b+172>>2]|0;o=e>>l;m=f>>l;l=g-l|0;g=1<<l;n=g+m|0;if((l|0)!=31){j=g+o|0;k=b+176|0;l=b+164|0;i=(h&1)<<11&65535;g=m;do{h=o;do{m=(u(c[k>>2]|0,g)|0)+h|0;m=(c[l>>2]|0)+(m*3|0)|0;p=(d[m>>0]|d[m+1>>0]<<8)&-2049|i;a[m>>0]=p;a[m+1>>0]=p>>8;h=h+1|0}while((h|0)<(j|0));g=g+1|0}while((g|0)<(n|0))}g=c[b+152>>2]|0;i=e>>g;g=f>>g;if((i|0)<=-1)M(60650,60687,130,60707);h=c[b+156>>2]|0;if((i|0)>=(h|0))M(60650,60687,130,60707);if((g|0)<=-1)M(60711,60687,131,60707);if((g|0)<(c[b+160>>2]|0)){a[(c[b+144>>2]|0)+(((u(h,g)|0)+i|0)*24|0)+22>>0]=1;return}else M(60711,60687,131,60707)}function Jf(a){a=a|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;f=c[i>>2]<<1;c[i>>2]=f;h=a+20|0;j=(b[h>>1]|0)+1<<16>>16;b[h>>1]=j;if(j<<16>>16>-1?(e=a+4|0,g=c[e>>2]|0,(c[a+8>>2]|0)>>>0>g>>>0):0){b[h>>1]=-8;c[e>>2]=g+1;f=f|(d[g>>0]|0);c[i>>2]=f}e=c[a+12>>2]<<7;if(f>>>0<e>>>0){j=0;return j|0}c[i>>2]=f-e;j=1;return j|0}function Kf(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;m=hc;hc=hc+16|0;n=m;tg(a,b,c,d,e,f,g,h,i,j,k,l,n);ug(a,b,c,e,f,g,h,i,j,k,n);vg(c,g+e|0,h+f|0,j,k,n);hc=m;return}function Lf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b+172>>2]|0;o=e>>l;m=f>>l;l=g-l|0;g=1<<l;n=g+m|0;if((l|0)!=31){j=g+o|0;k=b+176|0;l=b+164|0;i=(h&1)<<10&65535;g=m;do{h=o;do{m=(u(c[k>>2]|0,g)|0)+h|0;m=(c[l>>2]|0)+(m*3|0)|0;p=(d[m>>0]|d[m+1>>0]<<8)&-1025|i;a[m>>0]=p;a[m+1>>0]=p>>8;h=h+1|0}while((h|0)<(j|0));g=g+1|0}while((g|0)<(n|0))}g=c[b+152>>2]|0;i=e>>g;g=f>>g;if((i|0)<=-1)M(60650,60687,130,60707);h=c[b+156>>2]|0;if((i|0)>=(h|0))M(60650,60687,130,60707);if((g|0)<=-1)M(60711,60687,131,60707);if((g|0)<(c[b+160>>2]|0)){a[(c[b+144>>2]|0)+(((u(h,g)|0)+i|0)*24|0)+22>>0]=1;return}else M(60711,60687,131,60707)}function Mf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+16|0;e=c[j>>2]|0;if((e|0)<(b|0)){e=64-e|0;h=a+4|0;a:do if((e|0)>7){i=a+8|0;g=c[h>>2]|0;while(1){if(!g)break a;m=c[a>>2]|0;c[a>>2]=m+1;m=d[m>>0]|0;g=g+-1|0;c[h>>2]=g;f=e+-8|0;m=eB(m|0,0,f|0)|0;l=y()|0;n=i;l=c[n+4>>2]|l;k=i;c[k>>2]=c[n>>2]|m;c[k+4>>2]=l;if((e|0)<=15){e=f;break}else e=f}}while(0);e=64-e|0;c[j>>2]=e}m=a+8|0;k=m;l=c[k>>2]|0;k=c[k+4>>2]|0;n=dB(l|0,k|0,64-b|0)|0;y()|0;k=eB(l|0,k|0,b|0)|0;l=y()|0;c[m>>2]=k;c[m+4>>2]=l;c[j>>2]=e-b;return n|0}function Nf(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;e=(c[b>>2]&-8|0)/8|0;c[a>>2]=(c[a>>2]|0)+(0-e);d=a+4|0;c[d>>2]=(c[d>>2]|0)+e;a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[b>>2]=0;return}function Of(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)<=0){n=e;return n|0}k=a+16|0;l=a+20|0;m=a+8|0;n=a+4|0;i=a+12|0;a=0;f=b[l>>1]|0;g=c[k>>2]|0;while(1){g=g<<1;c[k>>2]=g;f=f+1<<16>>16;b[l>>1]=f;if(f<<16>>16>-1?(j=c[n>>2]|0,(c[m>>2]|0)>>>0>j>>>0):0){b[l>>1]=-8;c[n>>2]=j+1;h=g|(d[j>>0]|0);c[k>>2]=h;f=-8}else h=g;g=c[i>>2]<<7;if(h>>>0<g>>>0){f=8;break}g=h-g|0;c[k>>2]=g;a=a+1|0;if((a|0)>=(e|0)){a=e;f=8;break}}if((f|0)==8)return a|0;return 0}function Pf(a,f){a=a|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;if((f|0)<9){if(!f){r=0;return r|0}j=a+16|0;g=c[j>>2]<<f;c[j>>2]=g;i=a+20|0;h=(e[i>>1]|0)+f|0;b[i>>1]=h;if((h&32768|0)==0?(k=a+4|0,l=c[k>>2]|0,(c[a+8>>2]|0)>>>0>l>>>0):0){c[k>>2]=l+1;q=h<<16>>16;r=(d[l>>0]|0)<<q;b[i>>1]=q+65528;g=r|g;c[j>>2]=g}q=c[a+12>>2]<<7;p=(g>>>0)/(q>>>0)|0;r=1<<f;r=(p|0)<(r|0)?p:r+-1|0;c[j>>2]=g-(u(r,q)|0);return r|0}p=a+16|0;g=c[p>>2]<<8;c[p>>2]=g;q=a+20|0;o=b[q>>1]|0;h=(o&65535)+8|0;i=h&65535;b[q>>1]=i;if(o+8<<16>>16<<16>>16>-1?(j=a+4|0,m=c[j>>2]|0,(c[a+8>>2]|0)>>>0>m>>>0):0){c[j>>2]=m+1;i=h<<16>>16;o=(d[m>>0]|0)<<i;i=i+65528&65535;b[q>>1]=i;g=o|g;c[p>>2]=g}o=c[a+12>>2]<<7;k=(g>>>0)/(o>>>0)|0;k=(k|0)<255?k:255;h=g-(u(k,o)|0)|0;c[p>>2]=h;n=a+8|0;m=a+4|0;l=f+-8|0;g=k;while(1){l=l+-1|0;k=g<<1;g=h<<1;c[p>>2]=g;i=i+1<<16>>16;b[q>>1]=i;if(i<<16>>16>-1?(r=c[m>>2]|0,(c[n>>2]|0)>>>0>r>>>0):0){b[q>>1]=-8;c[m>>2]=r+1;g=g|(d[r>>0]|0);c[p>>2]=g;i=-8}if(g>>>0<o>>>0){h=0;j=g}else{j=g-o|0;c[p>>2]=j;h=1}g=h|k;if(!l)break;else h=j}return g|0}function Qf(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;m=c[i+128>>2]|0;if(g){j=c[i+172>>2]|0;g=b+-1>>j;j=e>>j;if((g|0)<=-1)M(60650,60687,120,60707);k=c[i+176>>2]|0;if((g|0)>=(k|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)>=(c[i+180>>2]|0))M(60711,60687,121,60707);l=(c[i+164>>2]|0)+(((u(k,j)|0)+g|0)*3|0)|0;if(!((d[l>>0]|d[l+1>>0]<<8)&1792))l=d[(c[i+204>>2]|0)+(f+-1)>>0]|0;else l=1}else l=1;if(h){j=c[i+172>>2]|0;g=b>>j;j=e+-1>>j;if((g|0)<=-1)M(60650,60687,120,60707);k=c[i+176>>2]|0;if((g|0)>=(k|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)>=(c[i+180>>2]|0))M(60711,60687,121,60707);h=(c[i+164>>2]|0)+(((u(k,j)|0)+g|0)*3|0)|0;if(((d[h>>0]|d[h+1>>0]<<8)&1792)==0?(h=c[m+5040>>2]|0,(e>>h<<h|0)<(e|0)):0)j=d[(c[i+204>>2]|0)+(f-(c[m+5112>>2]|0))>>0]|0;else j=1}else j=1;if((l|0)==(j|0))if(l>>>0<2){c[a>>2]=0;c[a+4>>2]=1;c[a+8>>2]=26;return}else{c[a>>2]=l;c[a+4>>2]=(l+29&31)+2;c[a+8>>2]=((l+-1|0)%32|0)+2;return}c[a>>2]=l;c[a+4>>2]=j;if((l|0)!=0&(j|0)!=0){c[a+8>>2]=0;return}g=a+8|0;if((l|0)!=1&(j|0)!=1){c[g>>2]=1;return}else{c[g>>2]=26;return}}function Rf(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;m=(h?g|128:g)&255;j=f-(c[b+212>>2]|0)|0;k=1<<j;l=b+128|0;f=c[l>>2]|0;i=c[f+5108>>2]|0;e=(u(e>>i,c[f+5112>>2]|0)|0)+(d>>i)|0;if((j|0)==31)return;i=b+236|0;j=b+228|0;d=b+224|0;f=0;a:while(1){h=0;do{g=c[l>>2]|0;if((h|0)>=(c[g+5112>>2]|0)){g=10;break a}if((f|0)>=(c[g+5116>>2]|0)){g=11;break a}g=e+h+(u(c[i>>2]|0,f)|0)|0;if((g|0)>=(c[j>>2]|0)){g=12;break a}a[(c[d>>2]|0)+g>>0]=m;h=h+1|0}while((h|0)<(k|0));f=f+1|0;if((f|0)>=(k|0)){g=9;break}}if((g|0)==9)return;else if((g|0)==10)M(59088,60687,682,59112);else if((g|0)==11)M(59131,60687,683,59112);else if((g|0)==12)M(59156,60687,686,59112)}function Sf(d,e,f,g,h,i,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=d+18592|0;q=c[t>>2]|0;s=d+18548|0;r=d+18572|0;p=Ff(s,(c[r>>2]|0)+147|0)|0;u=d+16|0;v=d+26|0;n=(p&255)<<4&16|a[v>>0]&-17;a[v>>0]=n;if(!p){if(!(c[q+24>>2]|0)){n=c[r>>2]|0;if((j+i|0)!=12?(Ff(s,n+156+k|0)|0)!=0:0)n=3;else n=(Ff(s,n+160|0)|0)+1|0;a[v>>0]=a[v>>0]&-4|n&3;if((n|0)==2)p=2;else{p=n;o=15}}else{a[v>>0]=n&-4|1;p=1;o=15}if((o|0)==15){n=(c[q+332>>2]|0)+-1|0;a:do if((n|0)!=0?(Ff(s,(c[r>>2]|0)+154|0)|0)!=0:0){k=0;while(1){o=k+1|0;if((o|0)==(n|0))break a;if(!k)k=Ff(s,(c[r>>2]|0)+155|0)|0;else k=Jf(s)|0;if(!k){n=o;break}else k=o}}else n=0;while(0);a[u>>0]=n;sg(d,0,0,0);o=(Ff(s,(c[r>>2]|0)+152|0)|0)&255;a[v>>0]=o<<2&4|a[v>>0]&-5;if((p|0)==1){s=d+18584|0;s=c[s>>2]|0;t=c[t>>2]|0;v=d+18588|0;v=c[v>>2]|0;Kf(s,t,v,u,e,f,g,h,l,i,j,m);return}}o=(c[q+336>>2]|0)+-1|0;b:do if((o|0)!=0?(Ff(s,(c[r>>2]|0)+154|0)|0)!=0:0){k=0;while(1){n=k+1|0;if((n|0)==(o|0)){n=o;break b}if(!k)k=Ff(s,(c[r>>2]|0)+155|0)|0;else k=Jf(s)|0;if(!k)break;else k=n}}else n=0;while(0);a[d+17>>0]=n;if((p|0)==3&(a[q+374>>0]|0)!=0){b[d+22>>1]=0;b[d+24>>1]=0}else sg(d,0,0,1);k=(Ff(s,(c[r>>2]|0)+152|0)|0)&255;k=k<<3&8;n=a[v>>0]&-9}else{c:do if((c[(c[t>>2]|0)+808>>2]|0)>=2?(Ff(s,(c[r>>2]|0)+148|0)|0)!=0:0)if((c[(c[t>>2]|0)+808>>2]|0)>2){n=1;do{if(!(Jf(s)|0))break c;n=n+1|0}while((n|0)<((c[(c[t>>2]|0)+808>>2]|0)+-1|0))}else n=1;else n=0;while(0);k=a[v>>0]&31;n=(n&255)<<5&255}a[v>>0]=k|n;s=d+18584|0;s=c[s>>2]|0;t=c[t>>2]|0;v=d+18588|0;v=c[v>>2]|0;Kf(s,t,v,u,e,f,g,h,l,i,j,m);return}function Tf(b,e,f,g,h,i,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;B=b+18588|0;s=c[B>>2]|0;v=c[s+172>>2]|0;t=e>>v;if((t|0)<=-1)M(60650,60687,120,60707);C=(o|0)==1;D=(o|0)!=0;E=b+18548|0;F=b+18572|0;A=f;y=g;x=h;z=k;w=m;h=f>>v;while(1){v=c[s+128>>2]|0;g=c[s+176>>2]|0;if((t|0)>=(g|0)){h=4;break}if((h|0)<=-1){h=7;break}if((h|0)>=(c[s+180>>2]|0)){h=7;break}g=(c[s+164>>2]|0)+(((u(g,h)|0)+t|0)*3|0)|0;g=d[g>>0]|d[g+1>>0]<<8;f=(g&65535)>>>8&3;if((f&65535|0)!=(p|0)){h=9;break}h=(c[v+5104>>2]|0)<(z|0);if(!h?!(((l|0)>=(n|0)?1:(c[v+5100>>2]|0)>=(z|0))|D&(l|0)==0):0){g=5-z|0;if(g>>>0>=3){h=13;break}m=Ff(E,(c[F>>2]|0)+(g+20)|0)|0}else m=(C&(l|0)==0|h|(g&56)!=0&(f<<16>>16==1?(c[v+628>>2]|l|0)==0:0))&1;t=(m|0)!=0;if(t){h=c[s+252>>2]|0;g=e>>h;h=A>>h;if((g|0)<=-1){h=19;break}k=c[s+256>>2]|0;if((g|0)>=(k|0)){h=19;break}if((h|0)<=-1){h=22;break}if((h|0)>=(c[s+260>>2]|0)){h=22;break}k=(c[s+244>>2]|0)+((u(k,h)|0)+g)|0;a[k>>0]=1<<l|(d[k>>0]|0)}s=c[v+5012>>2]|0;if((z|0)>2)if(!s){s=-1;g=0;h=38}else h=27;else if((s|0)==3)h=27;else{s=-1;h=36}if((h|0)==27){h=0;if(q<<24>>24){g=l+16|0;s=Ff(E,(c[F>>2]|0)+g|0)|0;if((c[v+5012>>2]|0)==2?(z|0)==3|(m|0)==0:0)k=(Ff(E,(c[F>>2]|0)+g|0)|0)<<1|s;else k=s}else k=-1;if(r<<24>>24){g=l+16|0;s=Ff(E,(c[F>>2]|0)+g|0)|0;if((c[v+5012>>2]|0)==2?(z|0)==3|(m|0)==0:0)s=(Ff(E,(c[F>>2]|0)+g|0)|0)<<1|s}else s=-1;if((k|0)<0)h=36}if((h|0)==36){g=(z|0)==2;if(g&(l|0)==0){h=37;break}else h=38}if((h|0)==38)k=g&(l|0)>0?q&255:0;s=(s|0)<0?((z|0)==2&(l|0)>0?r&255:0):s;if(!t){h=41;break}g=z+-1|0;m=1<<g;h=m+e|0;m=m+A|0;l=l+1|0;q=k&255;r=s&255;Tf(b,e,A,e,A,i,j,g,l,0,n,o,p,q,r);Tf(b,h,A,e,A,i,j,g,l,1,n,o,p,q,r);Tf(b,e,m,e,A,i,j,g,l,2,n,o,p,q,r);s=c[B>>2]|0;k=c[s+172>>2]|0;t=h>>k;if((t|0)<=-1){h=4;break}else{x=A;y=e;e=h;A=m;z=g;w=3;h=m>>k}}if((h|0)==4)M(60650,60687,120,60707);else if((h|0)==7)M(60711,60687,121,60707);else if((h|0)==9)M(58666,58545,3843,58689);else if((h|0)==13)M(58709,58545,1825,58738);else if((h|0)==19)M(60650,60687,130,60707);else if((h|0)==22)M(60711,60687,131,60707);else if((h|0)==37)M(58766,58545,3910,58689);else if((h|0)==41){if(!(f<<16>>16==0|(k|l|s|0)!=0)){F=1;Uf(b,e,A,y,x,i,j,z,0,w,F,k,s)|0;return}F=Ff(E,(c[F>>2]|0)+((l|0)==0?15:14)|0)|0;Uf(b,e,A,y,x,i,j,z,0,w,F,k,s)|0;return}}function Uf(b,e,f,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=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;if((o|0)==-1)M(58803,58545,3561,58816);if((p|0)==-1)M(58836,58545,3562,58816);if((n|0)==-1)M(58849,58545,3563,58816);B=b+18588|0;s=c[B>>2]|0;y=c[s+128>>2]|0;H=y+5012|0;E=c[H>>2]|0;C=(E|0)==3;F=((C^1)<<31>>31)+k|0;F=(F|0)>2?F:2;t=p|o;q=b+33|0;a[q>>0]=0;a[q+1>>0]=0;a[q+2>>0]=0;a[q+3>>0]=0;q=c[s+172>>2]|0;l=e>>q;q=f>>q;if((l|0)<=-1)M(60650,60687,120,60707);r=c[s+176>>2]|0;if((l|0)>=(r|0))M(60650,60687,120,60707);if((q|0)<=-1)M(60711,60687,121,60707);if((q|0)>=(c[s+180>>2]|0))M(60711,60687,121,60707);z=(c[s+164>>2]|0)+(((u(r,q)|0)+l|0)*3|0)|0;z=((d[z>>0]|d[z+1>>0]<<8)&65535)>>>8&3;G=z&65535;A=(n|0)!=0;r=(t|0)!=0;do if(t|n|0){if((a[(c[s+136>>2]|0)+22>>0]|0)!=0?(v=b+18500|0,(c[v>>2]|0)==0):0){q=b+18548|0;l=b+18572|0;do if(!(Ff(q,(c[l>>2]|0)+139|0)|0)){q=0;l=0}else{if(Ff(q,(c[l>>2]|0)+140|0)|0)if(Ff(q,(c[l>>2]|0)+140|0)|0)if(Ff(q,(c[l>>2]|0)+140|0)|0)if(Ff(q,(c[l>>2]|0)+140|0)|0){l=(Vf(q,0)|0)+5|0;if(!l){q=0;l=0;break}}else l=4;else l=3;else l=2;else l=1;q=Jf(q)|0}while(0);c[v>>2]=1;c[b+18504>>2]=u(1-(q<<1)|0,l)|0;s=1}else s=0;if((r&(a[(c[b+18592>>2]|0)+756>>0]|0)!=0?(a[b+32>>0]|0)==0:0)?(w=b+18508|0,(c[w>>2]|0)==0):0){l=b+18548|0;q=b+18572|0;D=Ff(l,(c[q>>2]|0)+23|0)|0;r=c[(c[B>>2]|0)+136>>2]|0;if(!D){c[w>>2]=1;c[b+18512>>2]=0;l=0}else{if((d[r+4150>>0]|0)>1)l=Ff(l,(c[q>>2]|0)+24|0)|0;else l=0;c[w>>2]=1;c[b+18512>>2]=a[r+4151+l>>0];l=a[r+4157+l>>0]|0}c[b+18516>>2]=l}else x=32;if((x|0)==32?!s:0)break;Hf(b,e,f,i,j)}while(0);r=1<<k;x=1<<F;D=c[y+5016>>2]|0;w=c[y+5020>>2]|0;v=b+28|0;c[v>>2]=0;if(A)Wf(b,e,f,k,0)|0;Xf(b,e,f,i,j,r,0,G,A);if(!((k|0)>2|C)){if((m|0)!=3)return 0;l=(o&1|0)!=0;if(l)Wf(b,g,h,k,1)|0;if(c[H>>2]|0)Xf(b,(g|0)/(D|0)|0,(h|0)/(w|0)|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,r,1,G,l);l=(o&2|0)!=0;if(l)Wf(b,g,r+h|0,k,1)|0;q=(E|0)==2;if(q)Xf(b,(g|0)/(D|0)|0,((h|0)/(w|0)|0)+r|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,r,1,G,l);l=(p&1|0)!=0;if(l)Wf(b,g,h,k,2)|0;if(c[H>>2]|0)Xf(b,(g|0)/(D|0)|0,(h|0)/(w|0)|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,r,2,G,l);l=(p&2|0)!=0;if(l)Wf(b,g,x+h|0,k,2)|0;if(!q)return 0;Xf(b,(g|0)/(D|0)|0,((h|0)/(w|0)|0)+r|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,r,2,G,l);return 0}s=c[B>>2]|0;a:do if(A&(a[(c[s+136>>2]|0)+4147>>0]|0)!=0){do if(z<<16>>16!=1){q=c[s+232>>2]|0;l=e>>q;q=f>>q;if((l|0)<=-1)M(60650,60687,120,60707);r=c[s+236>>2]|0;if((l|0)>=(r|0))M(60650,60687,120,60707);if((q|0)<=-1)M(60711,60687,121,60707);if((q|0)<(c[s+240>>2]|0))if((a[(c[s+224>>2]|0)+((u(r,q)|0)+l)>>0]|0)<0)break;else{n=0;l=0;break a}else M(60711,60687,121,60707)}while(0);r=b+18548|0;s=b+18572|0;l=0;q=0;do{k=(Ff(r,(c[s>>2]|0)+(l+162)|0)|0)!=0;q=q+(k&1)|0;l=l+1|0}while(l>>>0<4&k);if(!q){n=1;l=0}else{n=1;l=1-((Ff(r,(c[s>>2]|0)+170|0)|0)<<1)<<q+-1}}else{n=0;l=0}while(0);c[v>>2]=l;l=(o&1|0)!=0;if(l)Wf(b,e,f,F,1)|0;if(c[H>>2]|0)Xf(b,(e|0)/(D|0)|0,(f|0)/(w|0)|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,x,1,G,l);t=(E|0)==2;if(t){l=(o&2|0)!=0;if(l)Wf(b,e,(w<<F)+f|0,F,1)|0;Xf(b,(e|0)/(D|0)|0,((f|0)/(w|0)|0)+x|0,(i|0)/(D|0)|0,((j|0)/(w|0)|0)+x|0,x,1,G,l)}if(n){r=b+18548|0;s=b+18572|0;l=0;q=0;do{o=(Ff(r,(c[s>>2]|0)+(l+166)|0)|0)!=0;q=q+(o&1)|0;l=l+1|0}while(l>>>0<4&o);if(q)l=1-((Ff(r,(c[s>>2]|0)+171|0)|0)<<1)<<q+-1;else l=0}else l=0;c[v>>2]=l;l=(p&1|0)!=0;if(l)Wf(b,e,f,F,2)|0;if(c[H>>2]|0)Xf(b,(e|0)/(D|0)|0,(f|0)/(w|0)|0,(i|0)/(D|0)|0,(j|0)/(w|0)|0,x,2,G,l);if(!t)return 0;l=(p&2|0)!=0;if(l)Wf(b,e,(w<<F)+f|0,F,2)|0;Xf(b,(e|0)/(D|0)|0,((f|0)/(w|0)|0)+x|0,(i|0)/(D|0)|0,((j|0)/(w|0)|0)+x|0,x,2,G,l);return 0}function Vf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=a+16|0;l=a+20|0;m=a+8|0;n=a+4|0;o=a+12|0;p=e+31|0;i=0;f=b[l>>1]|0;g=c[k>>2]|0;while(1){g=g<<1;c[k>>2]=g;f=f+1<<16>>16;b[l>>1]=f;if(f<<16>>16>-1?(j=c[n>>2]|0,(c[m>>2]|0)>>>0>j>>>0):0){b[l>>1]=-8;c[n>>2]=j+1;h=g|(d[j>>0]|0);c[k>>2]=h;f=-8}else h=g;g=c[o>>2]<<7;if(h>>>0<g>>>0)break;g=h-g|0;c[k>>2]=g;if((e|0)==(p|0)){e=0;q=8;break}else{i=i+(1<<e)|0;e=e+1|0}}if((q|0)==8)return e|0;q=(Pf(a,e)|0)+i|0;return q|0}function Wf(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=hc;hc=hc+160|0;y=ma+144|0;ha=ma+80|0;ia=ma+48|0;ja=ma+32|0;ka=ma+16|0;ga=ma;B=c[f+18588>>2]|0;A=c[B+128>>2]|0;z=c[B+136>>2]|0;l=c[B+172>>2]|0;k=g>>l;l=h>>l;if((k|0)<=-1)M(60650,60687,120,60707);m=c[B+176>>2]|0;if((k|0)>=(m|0))M(60650,60687,120,60707);if((l|0)<=-1)M(60711,60687,121,60707);if((l|0)>=(c[B+180>>2]|0))M(60711,60687,121,60707);v=(c[B+164>>2]|0)+(((u(m,l)|0)+k|0)*3|0)|0;v=((d[v>>0]|d[v+1>>0]<<8)&65535)>>>8&3;fa=(j|0)==0;if(fa?(ea=c[B+252>>2]|0,q=g>>ea,p=h>>ea,ea=i-ea|0,n=1<<ea,r=n+p|0,(ea|0)!=31):0){m=n+q|0;n=B+256|0;o=B+244|0;k=p;do{l=q;do{ea=(u(c[n>>2]|0,k)|0)+l|0;ea=(c[o>>2]|0)+ea|0;a[ea>>0]=a[ea>>0]|-128;l=l+1|0}while((l|0)<(m|0));k=k+1|0}while((k|0)<(r|0))}if(((a[z+21>>0]|0)!=0?(a[f+32>>0]|0)==0:0)?(c[z+4176>>2]|0)>=(i|0):0)k=(Ff(f+18548|0,(c[f+18572>>2]|0)+(fa?141:142)|0)|0)&255;else k=0;a[f+33+j>>0]=k;ea=f+36|0;a[ea>>0]=0;do if(v<<16>>16==1?(a[A+4987>>0]|0)!=0:0){k=f+33+j|0;if((a[k>>0]|0)==0?(a[f+32>>0]|0)==0:0){la=23;break}l=f+18572|0;m=f+18548|0;n=(j|0)!=0&1;da=(Ff(m,(c[l>>2]|0)+143+n|0)|0)&255;a[ea>>0]=da;if(!(da<<24>>24))da=k;else{a[f+37>>0]=Ff(m,(c[l>>2]|0)+145+n|0)|0;da=k}}else la=23;while(0);if((la|0)==23){a[ea>>0]=0;da=f+33+j|0}k=fa?2:0;if(!((a[da>>0]|0)==0?(a[f+32>>0]|0)==0:0))k=k|1;ca=f+18572|0;l=c[ca>>2]|0;q=l+25|0;m=i<<1;t=m+-1|0;if(fa){o=(i*3|0)+-6+(i+-1>>2)|0;p=i+1>>2}else{o=15;p=i+-2|0}s=(m|0)>1;if(s){n=f+18548|0;l=t;m=0;do{ba=(Ff(n,q+((m>>>p)+o)|0)|0)==0;l=ba?m:l;m=m+1|0}while((m|0)<(t|0)&(ba^1));r=l;l=c[ca>>2]|0}else r=t;q=l+43|0;if(fa){o=(i*3|0)+-6+(i+-1>>2)|0;p=i+1>>2}else{o=15;p=i+-2|0}if(s){n=f+18548|0;m=t;l=0;do{ba=(Ff(n,q+((l>>>p)+o)|0)|0)==0;m=ba?l:m;l=l+1|0}while((l|0)<(t|0)&(ba^1))}else m=t;l=(r>>1)+-1|0;if((r|0)>3)p=(Pf(f+18548|0,l)|0)+((r&1|2)<<l)|0;else p=r;l=(m>>1)+-1|0;if((m|0)>3)m=(Pf(f+18548|0,l)|0)+((m&1|2)<<l)|0;ba=v<<16>>16==0;if(ba){do if(fa){n=c[B+212>>2]|0;l=g>>n;n=h>>n;if((l|0)<=-1)M(60650,60687,120,60707);o=c[B+216>>2]|0;if((l|0)>=(o|0))M(60650,60687,120,60707);if((n|0)<=-1)M(60711,60687,121,60707);if((n|0)<(c[B+220>>2]|0)){w=0;x=a[(c[B+204>>2]|0)+((u(o,n)|0)+l)>>0]|0;break}else M(60711,60687,121,60707)}else{n=c[B+232>>2]|0;l=g>>n;n=h>>n;if((l|0)<=-1)M(60650,60687,120,60707);o=c[B+236>>2]|0;if((l|0)>=(o|0))M(60650,60687,120,60707);if((n|0)<=-1)M(60711,60687,121,60707);if((n|0)<(c[B+240>>2]|0)){w=j;x=a[(c[B+224>>2]|0)+((u(o,n)|0)+l)>>0]&63;break}else M(60711,60687,121,60707)}while(0);o=pg(i,x&255,w,A)|0;l=(o|0)==2;n=l?p:m;l=l?m:p}else{o=0;n=m;l=p}_=i+-2|0;$=qg(_,o)|0;aa=qg(2,o)|0;rg(y,l,n,o,i);Z=a[y+1>>0]|0;V=d[y>>0]|0;hB(ha|0,0,1<<_<<_|0)|0;W=f+14396+(j<<1)|0;b[W>>1]=0;X=f+18548|0;Y=(j|0)!=0&1;J=(o|0)!=0&1;K=(Z&255)+-1|0;L=A+4985|0;N=f+32|0;O=fa?42:43;P=(j|0)>0;Q=B+212|0;R=B+232|0;S=B+216|0;T=B+236|0;U=A+4986|0;H=z+11|0;I=B+220|0;E=A+4991|0;F=B+240|0;G=B+204|0;D=f+18580+k|0;C=B+224|0;k=1;B=V;t=0;l=0;a:while(1){q=a[$+(B<<1)>>0]|0;r=a[$+(B<<1)+1>>0]|0;if((B|0)<(V|0)&(B|0)!=0){n=q&255;o=r&255;m=o<<_;A=d[ha+(m+n)>>0]|0;A=A&1|A>>>1;if(!(Ff(X,(c[ca>>2]|0)+((fa?A:A+2|0)+61)|0)|0)){o=1;m=0}else{p=1;la=67}}else if((B|0)==0|(B|0)==(V|0)){m=r&255;p=0;n=q&255;o=m;m=m<<_;la=67}else{o=0;m=0}if((la|0)==67){la=0;m=ha+(n+-1+m)|0;if(q<<24>>24)a[m>>0]=a[m>>0]|1;m=ha+((o+-1<<_)+n)|0;if(!(r<<24>>24)){o=p;m=1}else{a[m>>0]=a[m>>0]|2;o=p;m=1}}do if(m){y=q&255;A=y<<2;r=r&255;z=r<<2;r=c[77072+(_<<6)+(Y<<5)+(J<<4)+(d[ha+((r<<_)+y)>>0]<<2)>>2]|0;y=(B|0)==(V|0);s=y?K:15;if(y){b[ia>>1]=1;a[ga>>0]=1;a[ja>>0]=Z;n=1}else n=0;if((s|0)>0){q=s;p=o;while(1){m=A+(d[aa+(q<<1)>>0]|0)|0;o=z+(d[aa+(q<<1)+1>>0]|0)|0;do if(a[L>>0]|0){if(a[N>>0]|0){m=O;break}if(a[da>>0]|0)m=O;else la=80}else la=80;while(0);if((la|0)==80){la=0;m=d[r+(m+(o<<i))>>0]|0}if(!(Ff(X,(c[ca>>2]|0)+(m+65)|0)|0))m=p;else{b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=q;m=0;n=n+1|0}if((q|0)>1){q=q+-1|0;p=m}else break}}else m=o;do if((s|0)>-1){if(m|0){b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=0;y=n+1|0;break}do if(a[L>>0]|0){if(a[N>>0]|0){m=O;break}if(a[da>>0]|0)m=O;else la=88}else la=88;while(0);if((la|0)==88){la=0;m=d[r+((z<<i)+A)>>0]|0}if(!(Ff(X,(c[ca>>2]|0)+(m+65)|0)|0)){y=n;break}b[ia+(n<<1)>>1]=1;a[ga+n>>0]=1;a[ja+n>>0]=0;y=n+1|0}else y=n;while(0);if(!y){m=t;break}s=(P|(B|0)==0?0:2)|(k|0)==0;q=(y|0)<8?y:8;v=(y|0)>0;do if(v){r=s<<2;if(P){p=0;n=-1;k=1;m=t;do{do if(p){o=l+1|0;if((l|0)<=0){m=l;la=101;break}if((m|0)==1){m=0;la=101;break}if((l|0)<2){m=o;la=101}else{l=o;m=3}}else{m=1;la=101}while(0);if((la|0)==101){la=0;l=m}m=Ff(X,(c[ca>>2]|0)+(m+r+125)|0)|0;if(!m){a[ga+p>>0]=0;k=k+((k+-1|0)>>>0<2&1)|0}else{k=ia+(p<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;n=(n|0)==-1?p:n;k=0}p=p+1|0}while((p|0)<(q|0))}else{p=0;n=-1;k=1;m=t;do{do if(p){o=l+1|0;if((l|0)<=0){m=l;la=111;break}if((m|0)==1){m=0;la=111;break}if((l|0)<2){m=o;la=111}else{l=o;m=3}}else{m=1;la=111}while(0);if((la|0)==111){la=0;l=m}m=Ff(X,(c[ca>>2]|0)+(m+r+109)|0)|0;if(!m){a[ga+p>>0]=0;k=k+((k+-1|0)>>>0<2&1)|0}else{k=ia+(p<<1)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;n=(n|0)==-1?p:n;k=0}p=p+1|0}while((p|0)<(q|0))}if((n|0)==-1)break;x=Ff(X,(c[ca>>2]|0)+((P?s|4:s)+133)|0)|0;w=ia+(n<<1)|0;b[w>>1]=x+(e[w>>1]|0);a[ga+n>>0]=x}else{k=1;m=t}while(0);if(fa){o=c[Q>>2]|0;n=g>>o;o=h>>o;if((n|0)<=-1){la=120;break a}p=c[S>>2]|0;if((n|0)>=(p|0)){la=120;break a}if((o|0)<=-1){la=123;break a}if((o|0)>=(c[I>>2]|0)){la=123;break a}n=a[(c[G>>2]|0)+((u(p,o)|0)+n)>>0]|0}else{o=c[R>>2]|0;n=g>>o;o=h>>o;if((n|0)<=-1){la=127;break a}p=c[T>>2]|0;if((n|0)>=(p|0)){la=127;break a}if((o|0)<=-1){la=130;break a}if((o|0)>=(c[F>>2]|0)){la=130;break a}n=a[(c[C>>2]|0)+((u(p,o)|0)+n)>>0]&63}b:do if(!(a[N>>0]|0)){do if(ba){if(!(a[U>>0]|0))break;if((n|16)<<24>>24==26&(a[da>>0]|0)!=0){o=0;break b}}while(0);if(a[ea>>0]|0){o=0;break}o=((a[ja>>0]|0)-(a[ja+(y+-1)>>0]|0)|0)>3&1}else o=0;while(0);x=y+-1|0;if((y|0)>1){n=0;do{a[ka+n>>0]=Jf(X)|0;n=n+1|0}while((n|0)!=(x|0))}w=(o|0)!=0;if(w&(a[H>>0]|0)!=0)n=0;else n=(Jf(X)|0)&255;a[ka+x>>0]=n;if(!(a[E>>0]|0))n=0;else n=(d[D>>0]|0)>>>2&255;if(!v)break;v=0;s=1;o=0;do{t=b[ia+(v<<1)>>1]|0;do if(!(a[ga+v>>0]|0))r=0;else{p=-1;while(1){q=p+1|0;r=Jf(X)|0;if((p|0)>63){r=0;break}if(!r){la=151;break}else p=q}do if((la|0)==151){la=0;if((p|0)<3){r=(Pf(X,n)|0)+(q<<n)|0;break}else{r=p+-2|0;r=(Pf(X,r+n|0)|0)+((1<<r)+2<<n)|0;break}}while(0);p=(r+t|0)>(3<<n|0);q=n+1|0;if(!(a[E>>0]|0)){s=0;n=p?((q|0)<4?q:4):n;break}n=p?q:n;if(!s){s=0;break}p=a[D>>0]|0;q=(p&255)>>>2;if((r|0)>=(3<<q|0)){a[D>>0]=p+1<<24>>24;s=0;break}if(p<<24>>24==0|(r<<1|0)>=(1<<q|0)){s=0;break}a[D>>0]=p+-1<<24>>24;s=0}while(0);q=r+t|0;r=(a[ka+v>>0]|0)==0?q:0-(q&65535)|0;p=r&65535;do if(w&(a[H>>0]|0)!=0){o=q+o|0;if((v|0)!=(x|0)|(o&1|0)==0)break;p=0-r&65535}while(0);t=a[ja+v>>0]|0;r=A+(d[aa+(t<<1)>>0]|0)|0;t=z+(d[aa+(t<<1)+1>>0]|0)|0;b[f+2108+(j<<11)+(b[W>>1]<<1)>>1]=p;b[f+8252+(j<<11)+(b[W>>1]<<1)>>1]=r+(t<<i);b[W>>1]=(b[W>>1]|0)+1<<16>>16;v=v+1|0}while((v|0)!=(y|0))}else m=t;while(0);if((B|0)>0){B=B+-1|0;t=m}else{la=62;break}}if((la|0)==62){hc=ma;return 0}else if((la|0)==120)M(60650,60687,120,60707);else if((la|0)==123)M(60711,60687,121,60707);else if((la|0)==127)M(60650,60687,120,60707);else if((la|0)==130)M(60711,60687,121,60707);return 0}function Xf(d,e,f,g,h,i,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;p=c[d+18588>>2]|0;q=c[p+128>>2]|0;r=(k|0)==0;if(!r)if(!(a[d+36>>0]|0))k=0;else k=(a[d+37>>0]|0)==0?1:2;else{do if(!j){m=c[p+212>>2]|0;k=e>>m;m=f>>m;if((k|0)<=-1)M(60650,60687,120,60707);n=c[p+216>>2]|0;if((k|0)>=(n|0))M(60650,60687,120,60707);if((m|0)<=-1)M(60711,60687,121,60707);if((m|0)<(c[p+220>>2]|0)){o=a[(c[p+204>>2]|0)+((u(n,m)|0)+k)>>0]|0;break}else M(60711,60687,121,60707)}else{k=u(c[q+5016>>2]|0,e)|0;n=u(c[q+5020>>2]|0,f)|0;m=c[p+232>>2]|0;k=k>>m;m=n>>m;if((k|0)<=-1)M(60650,60687,120,60707);n=c[p+236>>2]|0;if((k|0)>=(n|0))M(60650,60687,120,60707);if((m|0)<=-1)M(60711,60687,121,60707);if((m|0)<(c[p+240>>2]|0)){o=a[(c[p+224>>2]|0)+((u(n,m)|0)+k)>>0]&63;break}else M(60711,60687,121,60707)}while(0);m=(o&255)>34?1:o&255;Yf(p,e,f,m,i,j);do if(!(a[q+4986>>0]|0))k=0;else{if((a[d+32>>0]|0)==0?(a[d+33+j>>0]|0)==0:0){k=0;break}k=(m|16|0)==26}while(0);k=(m|0)==26&k?2:k&1}if(l){Zf(d,e,f,g,h,i,j,(a[d+33+j>>0]|0)!=0,r,k);return}if(!j)return;if(!(c[d+28>>2]|0))return;b[d+14396+(j<<1)>>1]=0;Zf(d,e,f,g,h,i,j,(a[d+33+j>>0]|0)!=0,r,0);return}function Yf(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;l=(g|0)==0;k=c[a+128>>2]|0;h=c[(l?a+40|0:a+44|0)>>2]|0;i=c[a+4+(g<<2)>>2]|0;j=(u(h,d)|0)+b|0;if((c[(l?k+4996|0:k+5004|0)>>2]|0)>8){cg(a,b,d,e,i+(j<<1)|0,h,f,g);return}else{dg(a,b,d,e,i+j|0,h,f,g);return}}function Zf(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;l=c[(c[a+18588>>2]|0)+128>>2]|0;if((c[((h|0)==0?l+4996|0:l+5004|0)>>2]|0)>8){_f(a,b,d,e,f,g,h,i,j,k);return}else{$f(a,b,d,e,f,g,h,i,j,k);return}}function _f(e,f,g,h,i,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0;N=hc;hc=hc+4096|0;B=N;E=e+18588|0;p=c[E>>2]|0;q=c[p+128>>2]|0;A=c[p+136>>2]|0;switch(k|0){case 0:{o=e+18536|0;break}case 1:{o=e+18540|0;break}case 2:{o=e+18544|0;break}default:M(69335,58864,367,58879)}v=c[o>>2]|0;L=e+2104|0;h=c[L>>2]|0;C=(k|0)==0;I=c[(C?p+40|0:p+44|0)>>2]|0;K=(c[p+4+(k<<2)>>2]|0)+((u(I,g)|0)+f<<1)|0;J=c[(C?q+4996|0:q+5004|0)>>2]|0;i=c[p+172>>2]|0;f=f>>i;i=g>>i;if((f|0)<=-1)M(60650,60687,120,60707);o=c[p+176>>2]|0;if((f|0)>=(o|0))M(60650,60687,120,60707);if((i|0)<=-1)M(60711,60687,121,60707);if((i|0)>=(c[p+180>>2]|0))M(60711,60687,121,60707);D=(c[p+164>>2]|0)+(((u(o,i)|0)+f|0)*3|0)|0;D=((d[D>>0]|d[D+1>>0]<<8)&65535)>>>8&3;w=D&65535;x=(j|0)==4;D=x&(a[q+4984>>0]|0)!=0&D<<16>>16==0;a:do if(!(a[e+32>>0]|0)){s=(j|0)>1;if(s){o=j;i=0;while(1){i=i+1|0;if(o>>>0>3)o=o>>>1;else break}}else i=0;i=i+J|0;r=i+-5|0;if(!(a[q+636>>0]|0)){g=i+-9|0;p=1<<i+-10;o=c[880+(((v|0)%6|0)<<2)>>2]<<((v|0)/6|0);f=e+14396+(k<<1)|0;if((b[f>>1]|0)>0){i=0;do{z=(u(o,b[e+2108+(k<<11)+(i<<1)>>1]|0)|0)+p>>g;z=(z|0)<32767?z:32767;b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=(z|0)>-32768?z:-32768;i=i+1|0}while((i|0)<(b[f>>1]|0))}}else{q=1<<i+-6;do if(!m)if((j|0)<32){i=k+3|0;break}else{i=k+1|0;break}else i=k;while(0);m=j+-4|0;switch(m>>>2|m<<30|0){case 0:{z=A+69+(i<<4)|0;break}case 1:{z=A+165+(i<<6)|0;break}case 3:{z=A+549+(i<<8)|0;break}case 7:{z=A+2085+(i<<10)|0;break}default:M(69335,58864,492,58879)}p=e+14396+(k<<1)|0;if((b[p>>1]|0)>0){g=(v|0)/6|0;o=c[880+(v-(g*6|0)<<2)>>2]|0;f=((q|0)<0)<<31>>31;i=0;do{v=b[e+8252+(k<<11)+(i<<1)>>1]|0;t=(u(o,d[z+v>>0]|0)|0)<<g;m=b[e+2108+(k<<11)+(i<<1)>>1]|0;m=YA(t|0,((t|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;m=ZA(m|0,y()|0,q|0,f|0)|0;m=cB(m|0,y()|0,r|0)|0;t=y()|0;O=(t|0)<0|(t|0)==0&m>>>0<32767;m=O?m:32767;t=O?t:0;O=(t|0)>-1|(t|0)==-1&m>>>0>4294934528;m=O?m:-32768;b[h+(v<<1)>>1]=m;i=i+1|0}while((i|0)<(b[p>>1]|0))}}g=(j|0)>0;if(!l){o=x&(w|k|0)==0;if(n|0)M(58907,58864,591,58879);if(a[A+4147>>0]|0){bg(e,h,j,j,o&1,K,I,J,k);break}i=c[e+18584>>2]|0;if(o){zc[c[i+412>>2]&31](K,h,I,J);break}switch(j|0){case 4:{zc[c[i+416>>2]&31](K,h,I,J);break a}case 8:{zc[c[i+420>>2]&31](K,h,I,J);break a}case 16:{zc[c[i+424>>2]&31](K,h,I,J);break a}default:{zc[c[i+428>>2]&31](K,h,I,J);break a}}}if(s){i=j;o=0;while(1)if(i>>>0>3){i=i>>>1;o=o+1|0}else break;f=o+6|0}else f=5;o=20-J|0;o=(o|0)>0?o:0;if(D)xc[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);p=C?e+14404|0:B;do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Ac[c[i+464>>2]&15](p,h,j,f,o);break}else{Ac[c[i+468>>2]&15](p,h,j,f,o);break}}else Ac[c[(c[e+18584>>2]|0)+472>>2]&15](p,h,j,f,o);while(0);if((!C?(F=e+28|0,c[F>>2]|0):0)?(H=c[(c[E>>2]|0)+128>>2]|0,G=c[H+5004>>2]|0,H=c[H+4996>>2]|0,g):0){i=0;do{f=u(i,j)|0;o=0;do{O=o+f|0;n=(u(c[e+14404+(O<<2)>>2]<<G>>H,c[F>>2]|0)|0)>>3;O=p+(O<<2)|0;c[O>>2]=n+(c[O>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Ac[c[(c[e+18584>>2]|0)+460>>2]&15](K,I,p,j,J);if(D){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}else{p=C?e+14404|0:B;o=e+14396+(k<<1)|0;if((b[o>>1]|0)>0){i=0;do{b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=b[e+2108+(k<<11)+(i<<1)>>1]|0;i=i+1|0}while((i|0)<(b[o>>1]|0))}if(D)xc[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);do if(n){i=c[e+18584>>2]|0;if((n|0)==2){yc[c[i+368>>2]&31](p,h,j);break}else{yc[c[i+372>>2]&31](p,h,j);break}}else yc[c[(c[e+18584>>2]|0)+364>>2]&31](p,h,j);while(0);if((!C?(s=e+28|0,c[s>>2]|0):0)?(r=c[(c[E>>2]|0)+128>>2]|0,t=c[r+5004>>2]|0,r=c[r+4996>>2]|0,(j|0)>0):0){i=0;do{f=u(i,j)|0;o=0;do{O=o+f|0;n=(u(c[e+14404+(O<<2)>>2]<<t>>r,c[s>>2]|0)|0)>>3;O=p+(O<<2)|0;c[O>>2]=n+(c[O>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Ac[c[(c[e+18584>>2]|0)+460>>2]&15](K,I,p,j,J);if(D){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}while(0);o=e+14396+(k<<1)|0;if((b[o>>1]|0)<=0){hc=N;return}i=c[L>>2]|0;h=0;do{b[i+(b[e+8252+(k<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0}while((h|0)<(b[o>>1]|0));hc=N;return}function $f(e,f,g,h,i,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0;L=hc;hc=hc+4096|0;B=L;E=e+18588|0;p=c[E>>2]|0;q=c[p+128>>2]|0;A=c[p+136>>2]|0;switch(k|0){case 0:{o=e+18536|0;break}case 1:{o=e+18540|0;break}case 2:{o=e+18544|0;break}default:M(69335,58864,367,58879)}v=c[o>>2]|0;K=e+2104|0;h=c[K>>2]|0;C=(k|0)==0;I=c[(C?p+40|0:p+44|0)>>2]|0;J=(c[p+4+(k<<2)>>2]|0)+((u(I,g)|0)+f)|0;i=c[p+172>>2]|0;f=f>>i;i=g>>i;if((f|0)<=-1)M(60650,60687,120,60707);o=c[p+176>>2]|0;if((f|0)>=(o|0))M(60650,60687,120,60707);if((i|0)<=-1)M(60711,60687,121,60707);if((i|0)>=(c[p+180>>2]|0))M(60711,60687,121,60707);D=(c[p+164>>2]|0)+(((u(o,i)|0)+f|0)*3|0)|0;D=((d[D>>0]|d[D+1>>0]<<8)&65535)>>>8&3;w=D&65535;x=(j|0)==4;D=x&(a[q+4984>>0]|0)!=0&D<<16>>16==0;a:do if(!(a[e+32>>0]|0)){f=c[(C?q+4996|0:q+5004|0)>>2]|0;s=(j|0)>1;if(s){o=j;i=0;while(1){i=i+1|0;if(o>>>0>3)o=o>>>1;else break}}else i=0;i=i+f|0;r=i+-5|0;if(!(a[q+636>>0]|0)){g=i+-9|0;p=1<<i+-10;o=c[880+(((v|0)%6|0)<<2)>>2]<<((v|0)/6|0);f=e+14396+(k<<1)|0;if((b[f>>1]|0)>0){i=0;do{z=(u(o,b[e+2108+(k<<11)+(i<<1)>>1]|0)|0)+p>>g;z=(z|0)<32767?z:32767;b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=(z|0)>-32768?z:-32768;i=i+1|0}while((i|0)<(b[f>>1]|0))}}else{q=1<<i+-6;do if(!m)if((j|0)<32){i=k+3|0;break}else{i=k+1|0;break}else i=k;while(0);m=j+-4|0;switch(m>>>2|m<<30|0){case 0:{z=A+69+(i<<4)|0;break}case 1:{z=A+165+(i<<6)|0;break}case 3:{z=A+549+(i<<8)|0;break}case 7:{z=A+2085+(i<<10)|0;break}default:M(69335,58864,492,58879)}p=e+14396+(k<<1)|0;if((b[p>>1]|0)>0){g=(v|0)/6|0;o=c[880+(v-(g*6|0)<<2)>>2]|0;f=((q|0)<0)<<31>>31;i=0;do{v=b[e+8252+(k<<11)+(i<<1)>>1]|0;t=(u(o,d[z+v>>0]|0)|0)<<g;m=b[e+2108+(k<<11)+(i<<1)>>1]|0;m=YA(t|0,((t|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;m=ZA(m|0,y()|0,q|0,f|0)|0;m=cB(m|0,y()|0,r|0)|0;t=y()|0;N=(t|0)<0|(t|0)==0&m>>>0<32767;m=N?m:32767;t=N?t:0;N=(t|0)>-1|(t|0)==-1&m>>>0>4294934528;m=N?m:-32768;b[h+(v<<1)>>1]=m;i=i+1|0}while((i|0)<(b[p>>1]|0))}}f=(j|0)>0;if(!l){o=x&(w|k|0)==0;if(n|0)M(58907,58864,591,58879);if(a[A+4147>>0]|0){ag(e,h,j,j,o&1,J,I,8,k);break}i=c[e+18584>>2]|0;if(o){yc[c[i+388>>2]&31](J,h,I);break}switch(j|0){case 4:{yc[c[i+392>>2]&31](J,h,I);break a}case 8:{yc[c[i+396>>2]&31](J,h,I);break a}case 16:{yc[c[i+400>>2]&31](J,h,I);break a}default:{yc[c[i+404>>2]&31](J,h,I);break a}}}if(s){i=j;o=0;while(1)if(i>>>0>3){i=i>>>1;o=o+1|0}else break;o=o+6|0}else o=5;if(D)xc[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);p=C?e+14404|0:B;do if(n){i=c[e+18584>>2]|0;if((n|0)==2){Ac[c[i+464>>2]&15](p,h,j,o,12);break}else{Ac[c[i+468>>2]&15](p,h,j,o,12);break}}else Ac[c[(c[e+18584>>2]|0)+472>>2]&15](p,h,j,o,12);while(0);if((!C?(F=e+28|0,c[F>>2]|0):0)?(H=c[(c[E>>2]|0)+128>>2]|0,G=c[H+5004>>2]|0,H=c[H+4996>>2]|0,f):0){i=0;do{f=u(i,j)|0;o=0;do{N=o+f|0;n=(u(c[e+14404+(N<<2)>>2]<<G>>H,c[F>>2]|0)|0)>>3;N=p+(N<<2)|0;c[N>>2]=n+(c[N>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Ac[c[(c[e+18584>>2]|0)+456>>2]&15](J,I,p,j,8);if(D){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}else{p=C?e+14404|0:B;o=e+14396+(k<<1)|0;if((b[o>>1]|0)>0){i=0;do{b[h+(b[e+8252+(k<<11)+(i<<1)>>1]<<1)>>1]=b[e+2108+(k<<11)+(i<<1)>>1]|0;i=i+1|0}while((i|0)<(b[o>>1]|0))}if(D)xc[c[(c[e+18584>>2]|0)+432>>2]&63](h,4);do if(n){i=c[e+18584>>2]|0;if((n|0)==2){yc[c[i+368>>2]&31](p,h,j);break}else{yc[c[i+372>>2]&31](p,h,j);break}}else yc[c[(c[e+18584>>2]|0)+364>>2]&31](p,h,j);while(0);if((!C?(r=e+28|0,c[r>>2]|0):0)?(t=c[(c[E>>2]|0)+128>>2]|0,s=c[t+5004>>2]|0,t=c[t+4996>>2]|0,(j|0)>0):0){i=0;do{f=u(i,j)|0;o=0;do{N=o+f|0;n=(u(c[e+14404+(N<<2)>>2]<<s>>t,c[r>>2]|0)|0)>>3;N=p+(N<<2)|0;c[N>>2]=n+(c[N>>2]|0);o=o+1|0}while((o|0)!=(j|0));i=i+1|0}while((i|0)!=(j|0))}Ac[c[(c[e+18584>>2]|0)+456>>2]&15](J,I,p,j,8);if(D){i=h+32|0;do{b[h>>1]=0;h=h+2|0}while((h|0)<(i|0))}}while(0);o=e+14396+(k<<1)|0;if((b[o>>1]|0)<=0){hc=L;return}i=c[K>>2]|0;h=0;do{b[i+(b[e+8252+(k<<11)+(h<<1)>>1]<<1)>>1]=0;h=h+1|0}while((h|0)<(b[o>>1]|0));hc=L;return}function ag(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=hc;hc=hc+4096|0;l=c[a+18584>>2]|0;d=(j|0)==0;k=d?a+14404|0:m;j=20-i|0;a:do if((f|0)==1)zc[c[l+436>>2]&31](k,b,j,15);else switch(e|0){case 4:{zc[c[l+440>>2]&31](k,b,j,15);break a}case 8:{zc[c[l+444>>2]&31](k,b,j,15);break a}case 16:{zc[c[l+448>>2]&31](k,b,j,15);break a}default:{zc[c[l+452>>2]&31](k,b,j,15);break a}}while(0);if((!d?(n=a+28|0,c[n>>2]|0):0)?(p=c[(c[a+18588>>2]|0)+128>>2]|0,o=c[p+5004>>2]|0,p=c[p+4996>>2]|0,(e|0)>0):0){d=0;do{b=u(d,e)|0;j=0;do{f=j+b|0;q=(u(c[a+14404+(f<<2)>>2]<<o>>p,c[n>>2]|0)|0)>>3;f=k+(f<<2)|0;c[f>>2]=q+(c[f>>2]|0);j=j+1|0}while((j|0)!=(e|0));d=d+1|0}while((d|0)!=(e|0))}Ac[c[l+456>>2]&15](g,h,k,e,i);hc=m;return}function bg(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=hc;hc=hc+4096|0;l=c[a+18584>>2]|0;d=(j|0)==0;k=d?a+14404|0:m;j=20-i|0;a:do if((f|0)==1)zc[c[l+436>>2]&31](k,b,j,15);else switch(e|0){case 4:{zc[c[l+440>>2]&31](k,b,j,15);break a}case 8:{zc[c[l+444>>2]&31](k,b,j,15);break a}case 16:{zc[c[l+448>>2]&31](k,b,j,15);break a}default:{zc[c[l+452>>2]&31](k,b,j,15);break a}}while(0);if((!d?(n=a+28|0,c[n>>2]|0):0)?(p=c[(c[a+18588>>2]|0)+128>>2]|0,o=c[p+5004>>2]|0,p=c[p+4996>>2]|0,(e|0)>0):0){d=0;do{b=u(d,e)|0;j=0;do{f=j+b|0;q=(u(c[a+14404+(f<<2)>>2]<<o>>p,c[n>>2]|0)|0)>>3;f=k+(f<<2)|0;c[f>>2]=q+(c[f>>2]|0);j=j+1|0}while((j|0)!=(e|0));d=d+1|0}while((d|0)!=(e|0))}Ac[c[l+460>>2]&15](g,h,k,e,i);hc=m;return}function cg(f,g,h,i,j,k,l,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=hc;hc=hc+848|0;r=v+516|0;t=v+256|0;n=r+4|0;c[n>>2]=f;p=r+8|0;c[p>>2]=l;o=r+12|0;c[o>>2]=m;c[r>>2]=t;c[r+16>>2]=g;c[r+20>>2]=h;if((l|0)>=65)M(59028,58937,379,59060);c[r+304>>2]=16843009;kg(r);lg(r);n=c[(c[n>>2]|0)+128>>2]|0;o=c[((c[o>>2]|0)==0?n+4996|0:n+5004|0)>>2]|0;n=c[r+316>>2]|0;q=c[p>>2]|0;a:do if((n|0)!=(q<<2|1|0)){if(!n){n=u(q,-2)|0;q=q<<1;if((n|0)>(q|0))break;p=1<<o+-1&65535;o=c[r>>2]|0;while(1){b[o+(n<<1)>>1]=p;if((n|0)<(q|0))n=n+1|0;else break a}}p=c[r+292>>2]|0;n=u(q,-2)|0;if(!(a[p+n>>0]|0))b[(c[r>>2]|0)+(n<<1)>>1]=b[r+320>>1]|0;n=n|1;o=q<<1;if((n|0)<=(o|0))while(1){if(!(a[p+n>>0]|0)){q=c[r>>2]|0;b[q+(n<<1)>>1]=b[q+(n+-1<<1)>>1]|0}if((n|0)<(o|0))n=n+1|0;else break}}while(0);n=f+128|0;o=c[n>>2]|0;do if(!(a[o+4989>>0]|0)){if(m|0?(c[o+5012>>2]|0)!=3:0)break;mg(o,t,l,m,i)}while(0);switch(i|0){case 0:{if((l|0)>1){n=l;o=0;while(1)if(n>>>0>3){n=n>>>1;o=o+1|0}else break;n=o+2|0}else n=1;if((l|0)<=0){hc=v;return}q=l+-1|0;r=e[t+(l+1<<1)>>1]|0;f=e[t+(~l<<1)>>1]|0;p=0;do{g=q-p|0;s=u(p,k)|0;h=e[t+(~p<<1)>>1]|0;p=p+1|0;i=u(p,f)|0;o=0;do{x=u(q-o|0,h)|0;m=o;o=o+1|0;w=u(o,r)|0;b[j+(m+s<<1)>>1]=x+l+w+(u(g,e[t+(o<<1)>>1]|0)|0)+i>>n}while((o|0)!=(l|0))}while((p|0)!=(l|0));hc=v;return}case 1:{ng(j,k,l,m,t);hc=v;return}default:{x=c[n>>2]|0;n=c[((m|0)==0?x+4996|0:x+5004|0)>>2]|0;do if(a[x+4986>>0]|0){p=c[f+172>>2]|0;o=g>>p;p=h>>p;if((o|0)<=-1)M(60650,60687,120,60707);q=c[f+176>>2]|0;if((o|0)>=(q|0))M(60650,60687,120,60707);if((p|0)<=-1)M(60711,60687,121,60707);if((p|0)<(c[f+180>>2]|0)){s=(c[f+164>>2]|0)+(((u(q,p)|0)+o|0)*3|0)|0;s=((d[s>>0]|d[s+1>>0]<<8)&2048)!=0;break}else M(60711,60687,121,60707)}else s=0;while(0);og(j,k,n,s,g,h,i,l,m,t);hc=v;return}}}function dg(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;r=hc;hc=hc+272|0;q=r+128|0;eg(b,e,f,j,k,q);l=b+128|0;m=c[l>>2]|0;do if(!(a[m+4989>>0]|0)){if(k|0?(c[m+5012>>2]|0)!=3:0)break;fg(m,q,j,k,g)}while(0);switch(g|0){case 0:{if((j|0)>1){l=j;m=0;while(1)if(l>>>0>3){l=l>>>1;m=m+1|0}else break;l=m+2|0}else l=1;if((j|0)<=0){hc=r;return}o=j+-1|0;b=d[q+(j+1)>>0]|0;e=d[q+~j>>0]|0;n=0;do{f=o-n|0;g=u(n,i)|0;k=d[q+~n>>0]|0;n=n+1|0;p=u(n,e)|0;m=0;do{v=u(o-m|0,k)|0;s=m;m=m+1|0;t=u(m,b)|0;a[h+(s+g)>>0]=v+j+t+(u(f,d[q+m>>0]|0)|0)+p>>l}while((m|0)!=(j|0))}while((n|0)!=(j|0));hc=r;return}case 1:{gg(h,i,j,k,q);hc=r;return}default:{v=c[l>>2]|0;l=c[((k|0)==0?v+4996|0:v+5004|0)>>2]|0;do if(a[v+4986>>0]|0){n=c[b+172>>2]|0;m=e>>n;n=f>>n;if((m|0)<=-1)M(60650,60687,120,60707);o=c[b+176>>2]|0;if((m|0)>=(o|0))M(60650,60687,120,60707);if((n|0)<=-1)M(60711,60687,121,60707);if((n|0)<(c[b+180>>2]|0)){p=(c[b+164>>2]|0)+(((u(o,n)|0)+m|0)*3|0)|0;p=((d[p>>0]|d[p+1>>0]<<8)&2048)!=0;break}else M(60711,60687,121,60707)}else p=0;while(0);hg(h,i,l,p,e,f,g,j,k,q);hc=r;return}}}function eg(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;m=hc;hc=hc+336|0;l=m;i=l+4|0;c[i>>2]=b;k=l+8|0;c[k>>2]=f;j=l+12|0;c[j>>2]=g;c[l>>2]=h;c[l+16>>2]=d;c[l+20>>2]=e;if((f|0)>=65)M(59028,58937,379,59060);c[l+304>>2]=16843009;ig(l);jg(l);b=c[(c[i>>2]|0)+128>>2]|0;e=c[l+316>>2]|0;d=c[k>>2]|0;f=d<<2|1;if((e|0)==(f|0)){hc=m;return}if(!e){hB((c[l>>2]|0)+(0-(d<<1))|0,1<<(c[((c[j>>2]|0)==0?b+4996|0:b+5004|0)>>2]|0)+-1&255|0,f|0)|0;hc=m;return}e=l+292|0;b=u(d,-2)|0;if(!(a[(c[e>>2]|0)+b>>0]|0)){a[(c[l>>2]|0)+b>>0]=a[l+320>>0]|0;d=c[k>>2]|0;b=u(d,-2)|0}b=b|1;if((b|0)>(d<<1|0)){hc=m;return}while(1){if(!(a[(c[e>>2]|0)+b>>0]|0)){d=c[l>>2]|0;a[d+b>>0]=a[d+(b+-1)>>0]|0;d=c[k>>2]|0}if((b|0)<(d<<1|0))b=b+1|0;else break}hc=m;return}function fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=hc;hc=hc+144|0;k=l;if((f|0)==4|(h|0)==1){hc=l;return}m=(h|0)<26?26-h|0:h+-26|0;h=(h|0)<10?10-h|0:h+-10|0;h=(m|0)<(h|0)?m:h;m=f+-8|0;switch(m>>>3|m<<29|0){case 0:{if((h|0)<=7){hc=l;return}break}case 1:{if((h|0)<=1){hc=l;return}break}case 3:{if((h|0)<=0){hc=l;return}break}case 7:{hc=l;return}default:M(76276,58937,841,58994)}if((f|0)==32&((g|0)==0&(a[b+4901>>0]|0)!=0)?(i=d[e>>0]|0,m=(d[e+64>>0]|0)+i-(d[e+32>>0]<<1)|0,j=1<<(c[b+512>>2]|0)+-5,(((m|0)<0?0-m|0:m)|0)<(j|0)):0){h=(d[e+-64>>0]|0)+i-(d[e+-32>>0]<<1)|0;h=(((h|0)<0?0-h|0:h)|0)<(j|0)}else h=0;j=k+64|0;k=u(f,-2)|0;a[j+k>>0]=a[e+k>>0]|0;k=f<<1;a[j+k>>0]=a[e+k>>0]|0;if(!h){h=1-k|0;if((h|0)<(k|0)){b=h;h=a[e+h>>0]|0;do{m=b;b=b+1|0;i=h;h=a[e+b>>0]|0;a[j+m>>0]=((h&255)+2+((i&255)<<1)+(d[e+(m+-1)>>0]|0)|0)>>>2}while((b|0)!=(k|0))}}else{b=a[e>>0]|0;a[j>>0]=b;b=b&255;g=(d[e+-64>>0]|0)-b|0;i=(d[e+64>>0]|0)-b|0;h=1;do{a[j+(0-h)>>0]=(((u(g,h)|0)+32|0)>>>6)+b;a[j+h>>0]=(((u(i,h)|0)+32|0)>>>6)+b;h=h+1|0}while((h|0)!=64)}m=0-k|0;fB(e+m|0,j+m|0,f<<2|1|0)|0;hc=l;return}function gg(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(e|0)>1;if(l){h=e;i=0;while(1)if(h>>>0>3){h=h>>>1;i=i+1|0}else break;j=i+2|0}else j=1;k=(e|0)>0;if(k){i=0;h=0;do{m=i;i=i+1|0;h=h+(d[g+i>>0]|0)+(d[g+~m>>0]|0)|0}while((i|0)!=(e|0))}else h=0;j=h+e>>j;if(!((e|0)<32&(f|0)==0)){if(!k)return;i=j&255;h=0;do{hB(b+(u(h,c)|0)|0,i|0,e|0)|0;h=h+1|0}while((h|0)!=(e|0));return}a[b>>0]=((j<<1)+2+(d[g+-1>>0]|0)+(d[g+1>>0]|0)|0)>>>2;if(!l)return;i=(j*3|0)+2|0;h=1;do{m=h;h=h+1|0;a[b+m>>0]=(i+(d[g+h>>0]|0)|0)>>>2}while((h|0)!=(e|0));if(!l)return;i=(j*3|0)+2|0;h=1;do{a[b+(u(h,c)|0)>>0]=(i+(d[g+~h>>0]|0)|0)>>>2;h=h+1|0}while((h|0)!=(e|0));if(!l)return;j=j&255;k=c+1|0;h=e+-1|0;i=0;do{hB(b+(k+(u(i,c)|0))|0,j|0,h|0)|0;i=i+1|0}while((i|0)!=(h|0));return}function hg(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=hc;hc=hc+272|0;n=w;t=n+128|0;if((j|0)>=35)M(58920,58937,913,58952);if((j|0)<=1)M(58977,58937,914,58952);v=c[672+(j<<2)>>2]|0;h=(k|0)<0;if((j|0)>17){if(!h)fB(t|0,m|0,k+1|0)|0;h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=u(v,k)|0;if((h|0)<-32){h=h>>5;while(1){a[t+h>>0]=a[m+(0-((u(h,i)|0)+128>>8))>>0]|0;if((h|0)<-1)h=h+1|0;else break}}}else if((k<<1|0)>(k|0))fB(n+(k+129)|0,m+(k+1)|0,k|0)|0;s=(k|0)>0;if(s){r=n+129|0;h=0;do{n=u(h,e)|0;h=h+1|0;p=u(h,v)|0;o=p>>5;p=p&31;q=32-p|0;if(!p)fB(b+n|0,r+o|0,k|0)|0;else{i=0;do{x=i+o|0;y=u(q,d[t+(x+1)>>0]|0)|0;a[b+(i+n)>>0]=(y+16+(u(p,d[t+(x+2)>>0]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(k|0))}}while((h|0)!=(k|0))}if(!((k|0)<32&((j|0)==26&(l|0)==0)&(g^1)&s)){hc=w;return}o=m+1|0;i=1<<f;n=i+255|0;h=0;do{y=((d[m+~h>>0]|0)-(d[m>>0]|0)>>1)+(d[o>>0]|0)|0;a[b+(u(h,e)|0)>>0]=(y|0)<0?0:((y|0)<(i|0)?y:n)&255;h=h+1|0}while((h|0)!=(k|0));hc=w;return}if(!h){h=0;while(1){a[t+h>>0]=a[m+(0-h)>>0]|0;if((h|0)==(k|0))break;else h=h+1|0}}h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=u(v,k)|0;if((h|0)<-32){h=h>>5;while(1){a[t+h>>0]=a[m+((u(h,i)|0)+128>>8)>>0]|0;if((h|0)<-1)h=h+1|0;else break}}}else{i=k<<1;if((i|0)>(k|0)){h=k;do{y=h;h=h+1|0;a[t+h>>0]=a[m+~y>>0]|0}while((h|0)!=(i|0))}}r=(k|0)>0;if(r){p=0;do{q=p;p=p+1|0;s=u(q,e)|0;n=0;do{o=n;n=n+1|0;i=u(n,v)|0;h=i>>5;i=i&31;if(!i)h=a[t+(p+h)>>0]|0;else{h=h+q|0;y=u(32-i|0,d[t+(h+1)>>0]|0)|0;h=(y+16+(u(i,d[t+(h+2)>>0]|0)|0)|0)>>>5&255}a[b+(o+s)>>0]=h}while((n|0)!=(k|0))}while((p|0)!=(k|0))}if(!((k|0)<32&((j|0)==10&(l|0)==0)&(g^1)&r)){hc=w;return}o=m+-1|0;i=1<<f;n=i+255|0;h=0;do{y=h;h=h+1|0;x=((d[m+h>>0]|0)-(d[m>>0]|0)>>1)+(d[o>>0]|0)|0;a[b+y>>0]=(x|0)<0?0:((x|0)<(i|0)?x:n)&255}while((h|0)!=(k|0));hc=w;return}function ig(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=c[b+4>>2]|0;I=c[i+128>>2]|0;c[b+24>>2]=I;s=c[i+136>>2]|0;c[b+28>>2]=s;if(!(c[b+12>>2]|0)){D=1;E=1}else{D=c[I+5016>>2]|0;E=c[I+5020>>2]|0}c[b+296>>2]=D;c[b+300>>2]=E;F=u(c[b+16>>2]|0,D)|0;G=u(c[b+20>>2]|0,E)|0;h=c[I+5040>>2]|0;C=c[I+5056>>2]|0;if(!F){a[b+304>>0]=0;a[b+307>>0]=0;d=0}else d=F;if(!G){a[b+305>>0]=0;a[b+307>>0]=0;a[b+306>>0]=0;g=0}else g=G;H=c[b+8>>2]|0;f=(u(H,D)|0)+d|0;J=I+484|0;if((f|0)>=(c[J>>2]|0))a[b+306>>0]=0;z=d>>h;j=g>>h;A=d+-1>>h;B=f>>h;w=g+-1>>h;g=c[i+156>>2]|0;d=u(g,j)|0;f=c[i+144>>2]|0;x=e[f+((d+z|0)*24|0)>>1]|0;y=b+304|0;h=(a[y>>0]|0)==0;if(h)o=-1;else o=e[f+((d+A|0)*24|0)>>1]|0;r=b+305|0;k=(a[r>>0]|0)==0;if(k)p=-1;else p=e[f+(((u(g,w)|0)+z|0)*24|0)>>1]|0;t=b+306|0;n=(a[t>>0]|0)==0;if(n)q=-1;else q=e[f+(((u(g,w)|0)+B|0)*24|0)>>1]|0;v=b+307|0;m=(a[v>>0]|0)==0;if(m)l=-1;else l=e[f+(((u(g,w)|0)+A|0)*24|0)>>1]|0;d=u(j,C)|0;i=c[s+4384>>2]|0;j=c[i+(d+z<<2)>>2]|0;if(h)h=-1;else h=c[i+(d+A<<2)>>2]|0;if(k)g=-1;else g=c[i+((u(w,C)|0)+z<<2)>>2]|0;if(m)f=-1;else f=c[i+((u(w,C)|0)+A<<2)>>2]|0;if(n)d=-1;else d=c[i+(B+(u(w,C)|0)<<2)>>2]|0;if(!((o|0)==(x|0)&(h|0)==(j|0)))a[y>>0]=0;if(!((p|0)==(x|0)&(g|0)==(j|0)))a[r>>0]=0;if(!((l|0)==(x|0)&(f|0)==(j|0)))a[v>>0]=0;if(!((q|0)==(x|0)&(d|0)==(j|0)))a[t>>0]=0;G=(E+-1-G+(c[I+488>>2]|0)|0)/(E|0)|0;I=H<<1;c[b+308>>2]=(G|0)>(I|0)?I:G;J=(D+-1-F+(c[J>>2]|0)|0)/(D|0)|0;c[b+312>>2]=(J|0)>(I|0)?I:J;c[b+316>>2]=0;J=b+160|0;c[b+292>>2]=J;hB(J+(0-I)|0,0,H<<2|1|0)|0;return}function jg(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;v=b+8|0;if((c[v>>2]|0)>=33)M(59065,58937,587,59072);D=b+4|0;t=c[D>>2]|0;w=c[b+12>>2]|0;E=c[t+4+(w<<2)>>2]|0;t=c[((w|0)==0?t+40|0:t+44|0)>>2]|0;w=b+16|0;x=b+296|0;e=u(c[x>>2]|0,c[w>>2]|0)|0;y=b+20|0;z=b+300|0;r=u(c[z>>2]|0,c[y>>2]|0)|0;A=b+28|0;B=b+24|0;s=c[B>>2]|0;C=c[s+5100>>2]|0;C=(u(r>>C,c[s+5088>>2]|0)|0)+(e>>C)|0;C=c[(c[(c[A>>2]|0)+4396>>2]|0)+(C<<2)>>2]|0;e=c[b+308>>2]|0;a:do if((e|0)>0){m=b+304|0;n=b+316|0;o=b+320|0;p=b+292|0;h=e+-1|0;b:while(1){do if(a[m>>0]|0){s=c[A>>2]|0;i=(c[w>>2]|0)+-1|0;e=u(i,c[x>>2]|0)|0;r=c[B>>2]|0;k=c[r+5100>>2]|0;j=(c[y>>2]|0)+h|0;f=u(j,c[z>>2]|0)|0;k=(u(f>>k,c[r+5088>>2]|0)|0)+(e>>k)|0;k=(c[(c[s+4396>>2]|0)+(k<<2)>>2]|0)<=(C|0);if(!(a[s+20>>0]|0)){if(!k)break}else{l=c[D>>2]|0;s=c[l+172>>2]|0;g=e>>s;e=f>>s;if((g|0)<=-1){e=10;break b}f=c[l+176>>2]|0;if((g|0)>=(f|0)){e=10;break b}if((e|0)<=-1){e=13;break b}if((e|0)>=(c[l+180>>2]|0)){e=13;break b}s=(c[l+164>>2]|0)+(((u(f,e)|0)+g|0)*3|0)|0;if(!(k&((d[s>>0]|d[s+1>>0]<<8)&768)==0))break}if(!(c[n>>2]|0))a[o>>0]=a[E+((u(j,t)|0)+i)>>0]|0;s=~h;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[w>>2]|0)+-1+(u(h+(c[y>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=1-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[w>>2]|0)+-1+(u(h+-1+(c[y>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=2-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[w>>2]|0)+-1+(u(h+-2+(c[y>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;s=3-h+-1|0;a[(c[p>>2]|0)+s>>0]=1;r=a[E+((c[w>>2]|0)+-1+(u(h+-3+(c[y>>2]|0)|0,t)|0))>>0]|0;a[(c[b>>2]|0)+s>>0]=r;c[n>>2]=(c[n>>2]|0)+4}while(0);if((h|0)>3)h=h+-4|0;else break a}if((e|0)==10)M(60650,60687,120,60707);else if((e|0)==13)M(60711,60687,121,60707)}while(0);c:do if(a[b+307>>0]|0){s=c[A>>2]|0;j=(c[w>>2]|0)+-1|0;e=u(j,c[x>>2]|0)|0;r=c[B>>2]|0;h=c[r+5100>>2]|0;k=(c[y>>2]|0)+-1|0;f=u(k,c[z>>2]|0)|0;h=(u(f>>h,c[r+5088>>2]|0)|0)+(e>>h)|0;h=(c[(c[s+4396>>2]|0)+(h<<2)>>2]|0)<=(C|0);do if(!(a[s+20>>0]|0)){if(!h)break c}else{i=c[D>>2]|0;s=c[i+172>>2]|0;g=e>>s;e=f>>s;if((g|0)<=-1)M(60650,60687,120,60707);f=c[i+176>>2]|0;if((g|0)>=(f|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)<(c[i+180>>2]|0)){s=(c[i+164>>2]|0)+(((u(f,e)|0)+g|0)*3|0)|0;if(h&((d[s>>0]|d[s+1>>0]<<8)&768)==0)break;else break c}else M(60711,60687,121,60707)}while(0);f=b+316|0;if(!(c[f>>2]|0)){e=E+((u(k,t)|0)+j)|0;a[b+320>>0]=a[e>>0]|0}else e=E+((u(k,t)|0)+j)|0;a[c[b>>2]>>0]=a[e>>0]|0;a[c[b+292>>2]>>0]=1;c[f>>2]=(c[f>>2]|0)+1}while(0);n=b+312|0;e=c[n>>2]|0;if((e|0)<=0)return;o=b+305|0;p=b+306|0;q=b+316|0;r=b+320|0;s=b+292|0;m=0;d:while(1){do if(a[((m|0)<(c[v>>2]|0)?o:p)>>0]|0){k=c[A>>2]|0;l=(c[w>>2]|0)+m|0;f=u(l,c[x>>2]|0)|0;h=c[B>>2]|0;j=c[h+5100>>2]|0;i=(c[y>>2]|0)+-1|0;g=u(i,c[z>>2]|0)|0;j=(u(g>>j,c[h+5088>>2]|0)|0)+(f>>j)|0;j=(c[(c[k+4396>>2]|0)+(j<<2)>>2]|0)<=(C|0);if(!(a[k+20>>0]|0)){if(!j)break}else{k=c[D>>2]|0;F=c[k+172>>2]|0;h=f>>F;f=g>>F;if((h|0)<=-1){e=40;break d}g=c[k+176>>2]|0;if((h|0)>=(g|0)){e=40;break d}if((f|0)<=-1){e=43;break d}if((f|0)>=(c[k+180>>2]|0)){e=43;break d}F=(c[k+164>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;if(!(j&((d[F>>0]|d[F+1>>0]<<8)&768)==0))break}e=u(i,t)|0;if(!(c[q>>2]|0)){e=E+(e+l)|0;a[r>>0]=a[e>>0]|0}else e=E+(l+e)|0;F=m|1;a[(c[b>>2]|0)+F>>0]=a[e>>0]|0;a[(c[s>>2]|0)+F>>0]=1;e=a[E+(F+(c[w>>2]|0)+(u((c[y>>2]|0)+-1|0,t)|0))>>0]|0;F=F+1|0;a[(c[b>>2]|0)+F>>0]=e;a[(c[s>>2]|0)+F>>0]=1;F=a[E+((m|2)+(c[w>>2]|0)+(u((c[y>>2]|0)+-1|0,t)|0))>>0]|0;e=m|3;a[(c[b>>2]|0)+e>>0]=F;a[(c[s>>2]|0)+e>>0]=1;e=m|3;F=a[E+(e+(c[w>>2]|0)+(u((c[y>>2]|0)+-1|0,t)|0))>>0]|0;e=e+1|0;a[(c[b>>2]|0)+e>>0]=F;a[(c[s>>2]|0)+e>>0]=1;c[q>>2]=(c[q>>2]|0)+4;e=c[n>>2]|0}while(0);m=m+4|0;if((m|0)>=(e|0)){e=35;break}}if((e|0)==35)return;else if((e|0)==40)M(60650,60687,120,60707);else if((e|0)==43)M(60711,60687,121,60707)}function kg(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;i=c[b+4>>2]|0;I=c[i+128>>2]|0;c[b+24>>2]=I;s=c[i+136>>2]|0;c[b+28>>2]=s;if(!(c[b+12>>2]|0)){D=1;E=1}else{D=c[I+5016>>2]|0;E=c[I+5020>>2]|0}c[b+296>>2]=D;c[b+300>>2]=E;F=u(c[b+16>>2]|0,D)|0;G=u(c[b+20>>2]|0,E)|0;h=c[I+5040>>2]|0;C=c[I+5056>>2]|0;if(!F){a[b+304>>0]=0;a[b+307>>0]=0;d=0}else d=F;if(!G){a[b+305>>0]=0;a[b+307>>0]=0;a[b+306>>0]=0;g=0}else g=G;H=c[b+8>>2]|0;f=(u(H,D)|0)+d|0;J=I+484|0;if((f|0)>=(c[J>>2]|0))a[b+306>>0]=0;z=d>>h;j=g>>h;A=d+-1>>h;B=f>>h;w=g+-1>>h;g=c[i+156>>2]|0;d=u(g,j)|0;f=c[i+144>>2]|0;x=e[f+((d+z|0)*24|0)>>1]|0;y=b+304|0;h=(a[y>>0]|0)==0;if(h)o=-1;else o=e[f+((d+A|0)*24|0)>>1]|0;r=b+305|0;k=(a[r>>0]|0)==0;if(k)p=-1;else p=e[f+(((u(g,w)|0)+z|0)*24|0)>>1]|0;t=b+306|0;n=(a[t>>0]|0)==0;if(n)q=-1;else q=e[f+(((u(g,w)|0)+B|0)*24|0)>>1]|0;v=b+307|0;m=(a[v>>0]|0)==0;if(m)l=-1;else l=e[f+(((u(g,w)|0)+A|0)*24|0)>>1]|0;d=u(j,C)|0;i=c[s+4384>>2]|0;j=c[i+(d+z<<2)>>2]|0;if(h)h=-1;else h=c[i+(d+A<<2)>>2]|0;if(k)g=-1;else g=c[i+((u(w,C)|0)+z<<2)>>2]|0;if(m)f=-1;else f=c[i+((u(w,C)|0)+A<<2)>>2]|0;if(n)d=-1;else d=c[i+(B+(u(w,C)|0)<<2)>>2]|0;if(!((o|0)==(x|0)&(h|0)==(j|0)))a[y>>0]=0;if(!((p|0)==(x|0)&(g|0)==(j|0)))a[r>>0]=0;if(!((l|0)==(x|0)&(f|0)==(j|0)))a[v>>0]=0;if(!((q|0)==(x|0)&(d|0)==(j|0)))a[t>>0]=0;G=(E+-1-G+(c[I+488>>2]|0)|0)/(E|0)|0;I=H<<1;c[b+308>>2]=(G|0)>(I|0)?I:G;J=(D+-1-F+(c[J>>2]|0)|0)/(D|0)|0;c[b+312>>2]=(J|0)>(I|0)?I:J;c[b+316>>2]=0;J=b+160|0;c[b+292>>2]=J;hB(J+(0-I)|0,0,H<<2|1|0)|0;return}function lg(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;x=e+8|0;if((c[x>>2]|0)>=33)M(59065,58937,587,59072);F=e+4|0;w=c[F>>2]|0;y=c[e+12>>2]|0;G=c[w+4+(y<<2)>>2]|0;w=c[((y|0)==0?w+40|0:w+44|0)>>2]|0;y=e+16|0;f=c[y>>2]|0;z=e+296|0;g=u(c[z>>2]|0,f)|0;A=e+20|0;h=c[A>>2]|0;B=e+300|0;r=u(c[B>>2]|0,h)|0;C=e+28|0;D=e+24|0;s=c[D>>2]|0;E=c[s+5100>>2]|0;E=(u(r>>E,c[s+5088>>2]|0)|0)+(g>>E)|0;E=c[(c[(c[C>>2]|0)+4396>>2]|0)+(E<<2)>>2]|0;g=c[e+308>>2]|0;a:do if((g|0)>0){p=e+304|0;q=e+316|0;r=e+320|0;s=e+292|0;o=g+-1|0;g=h;b:while(1){do if(a[p>>0]|0){n=c[C>>2]|0;k=f+-1|0;h=u(k,c[z>>2]|0)|0;j=c[D>>2]|0;m=c[j+5100>>2]|0;l=g+o|0;i=u(l,c[B>>2]|0)|0;m=(u(i>>m,c[j+5088>>2]|0)|0)+(h>>m)|0;m=(c[(c[n+4396>>2]|0)+(m<<2)>>2]|0)<=(E|0);if(!(a[n+20>>0]|0)){if(!m)break}else{n=c[F>>2]|0;H=c[n+172>>2]|0;j=h>>H;h=i>>H;if((j|0)<=-1){f=10;break b}i=c[n+176>>2]|0;if((j|0)>=(i|0)){f=10;break b}if((h|0)<=-1){f=13;break b}if((h|0)>=(c[n+180>>2]|0)){f=13;break b}H=(c[n+164>>2]|0)+(((u(i,h)|0)+j|0)*3|0)|0;if(!(m&((d[H>>0]|d[H+1>>0]<<8)&768)==0))break}if(!(c[q>>2]|0))b[r>>1]=b[G+((u(l,w)|0)+k<<1)>>1]|0;H=~o;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[y>>2]|0)+-1+(u(o+(c[A>>2]|0)|0,w)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=1-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[y>>2]|0)+-1+(u(o+-1+(c[A>>2]|0)|0,w)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=2-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=b[G+((c[y>>2]|0)+-1+(u(o+-2+(c[A>>2]|0)|0,w)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;H=3-o+-1|0;a[(c[s>>2]|0)+H>>0]=1;f=c[y>>2]|0;g=c[A>>2]|0;n=b[G+(f+-1+(u(o+-3+g|0,w)|0)<<1)>>1]|0;b[(c[e>>2]|0)+(H<<1)>>1]=n;c[q>>2]=(c[q>>2]|0)+4}while(0);if((o|0)>3)o=o+-4|0;else{t=f;v=g;break a}}if((f|0)==10)M(60650,60687,120,60707);else if((f|0)==13)M(60711,60687,121,60707)}else{t=f;v=h}while(0);c:do if(a[e+307>>0]|0){H=c[C>>2]|0;l=t+-1|0;f=u(l,c[z>>2]|0)|0;t=c[D>>2]|0;i=c[t+5100>>2]|0;k=v+-1|0;g=u(k,c[B>>2]|0)|0;i=(u(g>>i,c[t+5088>>2]|0)|0)+(f>>i)|0;i=(c[(c[H+4396>>2]|0)+(i<<2)>>2]|0)<=(E|0);do if(!(a[H+20>>0]|0)){if(!i)break c}else{j=c[F>>2]|0;H=c[j+172>>2]|0;h=f>>H;f=g>>H;if((h|0)<=-1)M(60650,60687,120,60707);g=c[j+176>>2]|0;if((h|0)>=(g|0))M(60650,60687,120,60707);if((f|0)<=-1)M(60711,60687,121,60707);if((f|0)<(c[j+180>>2]|0)){H=(c[j+164>>2]|0)+(((u(g,f)|0)+h|0)*3|0)|0;if(i&((d[H>>0]|d[H+1>>0]<<8)&768)==0)break;else break c}else M(60711,60687,121,60707)}while(0);g=e+316|0;if(!(c[g>>2]|0)){f=G+((u(k,w)|0)+l<<1)|0;b[e+320>>1]=b[f>>1]|0}else f=G+((u(k,w)|0)+l<<1)|0;b[c[e>>2]>>1]=b[f>>1]|0;a[c[e+292>>2]>>0]=1;c[g>>2]=(c[g>>2]|0)+1}while(0);o=e+312|0;f=c[o>>2]|0;if((f|0)<=0)return;p=e+305|0;q=e+306|0;r=e+316|0;s=e+320|0;t=e+292|0;n=0;d:while(1){do if(a[((n|0)<(c[x>>2]|0)?p:q)>>0]|0){H=c[C>>2]|0;m=(c[y>>2]|0)+n|0;g=u(m,c[z>>2]|0)|0;v=c[D>>2]|0;k=c[v+5100>>2]|0;j=(c[A>>2]|0)+-1|0;h=u(j,c[B>>2]|0)|0;k=(u(h>>k,c[v+5088>>2]|0)|0)+(g>>k)|0;k=(c[(c[H+4396>>2]|0)+(k<<2)>>2]|0)<=(E|0);if(!(a[H+20>>0]|0)){if(!k)break}else{l=c[F>>2]|0;H=c[l+172>>2]|0;i=g>>H;g=h>>H;if((i|0)<=-1){f=40;break d}h=c[l+176>>2]|0;if((i|0)>=(h|0)){f=40;break d}if((g|0)<=-1){f=43;break d}if((g|0)>=(c[l+180>>2]|0)){f=43;break d}H=(c[l+164>>2]|0)+(((u(h,g)|0)+i|0)*3|0)|0;if(!(k&((d[H>>0]|d[H+1>>0]<<8)&768)==0))break}f=u(j,w)|0;if(!(c[r>>2]|0)){f=G+(f+m<<1)|0;b[s>>1]=b[f>>1]|0}else f=G+(m+f<<1)|0;H=n|1;b[(c[e>>2]|0)+(H<<1)>>1]=b[f>>1]|0;a[(c[t>>2]|0)+H>>0]=1;f=b[G+(H+(c[y>>2]|0)+(u((c[A>>2]|0)+-1|0,w)|0)<<1)>>1]|0;H=H+1|0;b[(c[e>>2]|0)+(H<<1)>>1]=f;a[(c[t>>2]|0)+H>>0]=1;H=b[G+((n|2)+(c[y>>2]|0)+(u((c[A>>2]|0)+-1|0,w)|0)<<1)>>1]|0;f=n|3;b[(c[e>>2]|0)+(f<<1)>>1]=H;a[(c[t>>2]|0)+f>>0]=1;f=n|3;H=b[G+(f+(c[y>>2]|0)+(u((c[A>>2]|0)+-1|0,w)|0)<<1)>>1]|0;f=f+1|0;b[(c[e>>2]|0)+(f<<1)>>1]=H;a[(c[t>>2]|0)+f>>0]=1;c[r>>2]=(c[r>>2]|0)+4;f=c[o>>2]|0}while(0);n=n+4|0;if((n|0)>=(f|0)){f=35;break}}if((f|0)==35)return;else if((f|0)==40)M(60650,60687,120,60707);else if((f|0)==43)M(60711,60687,121,60707)}function mg(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;m=hc;hc=hc+272|0;l=m;if((g|0)==4|(i|0)==1){hc=m;return}n=(i|0)<26?26-i|0:i+-26|0;i=(i|0)<10?10-i|0:i+-10|0;i=(n|0)<(i|0)?n:i;n=g+-8|0;switch(n>>>3|n<<29|0){case 0:{if((i|0)<=7){hc=m;return}break}case 1:{if((i|0)<=1){hc=m;return}break}case 3:{if((i|0)<=0){hc=m;return}break}case 7:{hc=m;return}default:M(76276,58937,841,58994)}if((g|0)==32&((h|0)==0&(a[d+4901>>0]|0)!=0)?(j=e[f>>1]|0,n=(e[f+128>>1]|0)+j-(e[f+64>>1]<<1)|0,k=1<<(c[d+512>>2]|0)+-5,(((n|0)<0?0-n|0:n)|0)<(k|0)):0){i=(e[f+-128>>1]|0)+j-(e[f+-64>>1]<<1)|0;i=(((i|0)<0?0-i|0:i)|0)<(k|0)}else i=0;k=l+128|0;l=u(g,-2)|0;b[k+(l<<1)>>1]=b[f+(l<<1)>>1]|0;l=g<<1;b[k+(l<<1)>>1]=b[f+(l<<1)>>1]|0;if(!i){i=1-l|0;if((i|0)<(l|0)){d=i;i=b[f+(i<<1)>>1]|0;do{n=d;d=d+1|0;j=i;i=b[f+(d<<1)>>1]|0;b[k+(n<<1)>>1]=((i&65535)+2+((j&65535)<<1)+(e[f+(n+-1<<1)>>1]|0)|0)>>>2}while((d|0)!=(l|0))}}else{d=b[f>>1]|0;b[k>>1]=d;d=d&65535;h=(e[f+-128>>1]|0)-d|0;j=(e[f+128>>1]|0)-d|0;i=1;do{b[k+(0-i<<1)>>1]=(((u(h,i)|0)+32|0)>>>6)+d;b[k+(i<<1)>>1]=(((u(j,i)|0)+32|0)>>>6)+d;i=i+1|0}while((i|0)!=64)}n=0-l|0;fB(f+(n<<1)|0,k+(n<<1)|0,g<<3|2|0)|0;hc=m;return}function ng(a,c,d,f,g){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=(d|0)>1;if(l){h=d;i=0;while(1)if(h>>>0>3){h=h>>>1;i=i+1|0}else break;j=i+2|0}else j=1;k=(d|0)>0;if(k){i=0;h=0;do{m=i;i=i+1|0;h=h+(e[g+(i<<1)>>1]|0)+(e[g+(~m<<1)>>1]|0)|0}while((i|0)!=(d|0))}else h=0;j=h+d>>j;if(!((d|0)<32&(f|0)==0)){if(!k)return;j=j&65535;h=0;do{k=u(h,c)|0;i=0;do{b[a+(i+k<<1)>>1]=j;i=i+1|0}while((i|0)!=(d|0));h=h+1|0}while((h|0)!=(d|0));return}b[a>>1]=((j<<1)+2+(e[g+-2>>1]|0)+(e[g+2>>1]|0)|0)>>>2;if(!l)return;i=(j*3|0)+2|0;h=1;do{m=h;h=h+1|0;b[a+(m<<1)>>1]=(i+(e[g+(h<<1)>>1]|0)|0)>>>2}while((h|0)!=(d|0));if(!l)return;i=(j*3|0)+2|0;h=1;do{b[a+((u(h,c)|0)<<1)>>1]=(i+(e[g+(~h<<1)>>1]|0)|0)>>>2;h=h+1|0}while((h|0)!=(d|0));if(!l)return;j=j&65535;i=1;do{k=u(i,c)|0;h=1;do{b[a+(h+k<<1)>>1]=j;h=h+1|0}while((h|0)!=(d|0));i=i+1|0}while((i|0)!=(d|0));return}function og(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=hc;hc=hc+528|0;n=x;v=n+256|0;if((j|0)>=35)M(58920,58937,913,58952);if((j|0)<=1)M(58977,58937,914,58952);w=c[672+(j<<2)>>2]|0;h=(k|0)<0;if((j|0)>17){if(!h)fB(v|0,m|0,(k<<1)+2|0)|0;h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=u(w,k)|0;if((h|0)<-32){h=h>>5;while(1){b[v+(h<<1)>>1]=b[m+(0-((u(h,i)|0)+128>>8)<<1)>>1]|0;if((h|0)<-1)h=h+1|0;else break}}}else{h=k<<1;if((h|0)>(k|0))fB(n+(k+129<<1)|0,m+(k+1<<1)|0,h|0)|0}t=(k|0)>0;if(t){s=n+258|0;n=k<<1;h=0;do{o=u(h,d)|0;h=h+1|0;q=u(h,w)|0;p=q>>5;q=q&31;r=32-q|0;if(!q)fB(a+(o<<1)|0,s+(p<<1)|0,n|0)|0;else{i=0;do{y=i+p|0;z=u(r,e[v+(y+1<<1)>>1]|0)|0;b[a+(i+o<<1)>>1]=(z+16+(u(q,e[v+(y+2<<1)>>1]|0)|0)|0)>>>5;i=i+1|0}while((i|0)!=(k|0))}}while((h|0)!=(k|0))}if(!((k|0)<32&((j|0)==26&(l|0)==0)&(g^1)&t)){hc=x;return}o=m+2|0;i=1<<f;n=i+65535|0;h=0;do{z=((e[m+(~h<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[o>>1]|0)|0;b[a+((u(h,d)|0)<<1)>>1]=(z|0)<0?0:((z|0)<(i|0)?z:n)&65535;h=h+1|0}while((h|0)!=(k|0));hc=x;return}if(!h){h=0;while(1){b[v+(h<<1)>>1]=b[m+(0-h<<1)>>1]|0;if((h|0)==(k|0))break;else h=h+1|0}}h=j+-11|0;if(h>>>0<15){i=c[912+(h<<2)>>2]|0;h=u(w,k)|0;if((h|0)<-32){h=h>>5;while(1){b[v+(h<<1)>>1]=b[m+((u(h,i)|0)+128>>8<<1)>>1]|0;if((h|0)<-1)h=h+1|0;else break}}}else{i=k<<1;if((i|0)>(k|0)){h=k;do{z=h;h=h+1|0;b[v+(h<<1)>>1]=b[m+(~z<<1)>>1]|0}while((h|0)!=(i|0))}}r=(k|0)>0;if(r){p=0;do{q=p;p=p+1|0;s=u(q,d)|0;n=0;do{o=n;n=n+1|0;i=u(n,w)|0;h=i>>5;i=i&31;if(!i)h=b[v+(p+h<<1)>>1]|0;else{h=h+q|0;z=u(32-i|0,e[v+(h+1<<1)>>1]|0)|0;h=(z+16+(u(i,e[v+(h+2<<1)>>1]|0)|0)|0)>>>5&65535}b[a+(o+s<<1)>>1]=h}while((n|0)!=(k|0))}while((p|0)!=(k|0))}if(!((k|0)<32&((j|0)==10&(l|0)==0)&(g^1)&r)){hc=x;return}o=m+-2|0;i=1<<f;n=i+65535|0;h=0;do{z=h;h=h+1|0;y=((e[m+(h<<1)>>1]|0)-(e[m>>1]|0)>>1)+(e[o>>1]|0)|0;b[a+(z<<1)>>1]=(y|0)<0?0:((y|0)<(i|0)?y:n)&65535}while((h|0)!=(k|0));hc=x;return}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;switch(a|0){case 2:break;case 3:{f=2;break}default:return 0}if(((f|0)==2?d|0:0)?(c[e+5012>>2]|0)!=3:0)return 0;return ((b+-6|0)>>>0<9?2:(b+-22|0)>>>0<9&1)|0}function qg(a,b){a=a|0;b=b|0;var d=0;switch(b|0){case 0:{b=1120;d=4;break}case 1:{b=1088;d=4;break}case 2:{b=1056;d=4;break}default:b=0}if((d|0)==4)b=c[b+(a<<2)>>2]|0;return b|0}function rg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;h=(c[976+(g*24|0)+(h<<2)>>2]|0)+((f<<h)+e<<1)|0;h=d[h>>0]|d[h+1>>0]<<8;a[b>>0]=h;a[b+1>>0]=h>>8;return}function sg(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;k=a+18548|0;e=a+18572|0;g=Ff(k,(c[e>>2]|0)+150|0)|0;d=Ff(k,(c[e>>2]|0)+150|0)|0;g=(g|0)==0;if(g)h=0;else h=Ff(k,(c[e>>2]|0)+151|0)|0;j=(d|0)==0;if(j)i=0;else i=Ff(k,(c[e>>2]|0)+151|0)|0;if(g)e=0;else{if(!h)d=-1;else d=Vf(k,1)|0;e=(Jf(k)|0)==0;e=(e?d+2|0:65534-d|0)&65535}if(j){k=0;j=a+18+(f<<2)|0;b[j>>1]=e;f=a+18+(f<<2)+2|0;b[f>>1]=k;return}if(!i)d=-1;else d=Vf(k,1)|0;k=(Jf(k)|0)==0;k=(k?d+2|0:65534-d|0)&65535;j=a+18+(f<<2)|0;b[j>>1]=e;f=a+18+(f<<2)+2|0;b[f>>1]=k;return}function tg(f,g,h,i,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=hc;hc=hc+80|0;z=B+64|0;t=B;v=B+60|0;y=l+j|0;w=m+k|0;m=c[h+172>>2]|0;l=j>>m;m=k>>m;if((l|0)<=-1)M(60650,60687,120,60707);s=c[h+176>>2]|0;if((l|0)>=(s|0))M(60650,60687,120,60707);if((m|0)<=-1)M(60711,60687,121,60707);if((m|0)>=(c[h+180>>2]|0))M(60711,60687,121,60707);s=(c[h+164>>2]|0)+(((u(s,m)|0)+l|0)*3|0)|0;switch(((d[s>>0]|d[s+1>>0]<<8)&65535)>>>8&3){case 2:{m=a[i+10>>0]|0;A=11;break}case 1:{l=i+10|0;m=a[l>>0]|0;if(m&16)A=11;break}default:{l=i+10|0;m=a[l>>0]|0}}if((A|0)==11){A=(m&255)>>>5&255;c[v>>2]=h;c[z>>2]=c[v>>2];Ag(f,g,z,h,j,k,y,w,n,o,p,q,A,t);A=t+(A*12|0)|0;b[r>>1]=b[A>>1]|0;b[r+2>>1]=b[A+2>>1]|0;b[r+4>>1]=b[A+4>>1]|0;b[r+6>>1]=b[A+6>>1]|0;b[r+8>>1]=b[A+8>>1]|0;b[r+10>>1]=b[A+10>>1]|0;if(a[r>>0]|0?(x=r+1|0,(p+o|0)==12&(a[x>>0]|0)!=0):0){a[r+3>>0]=-1;a[x>>0]=0}hc=B;return}switch(m&3){case 1:case 3:{x=a[i>>0]|0;a[r+2>>0]=x;a[r>>0]=1;A=e[i+4>>1]|0;v=e[i+2>>1]|0;Bg(f,g,h,j,k,n,y,w,o,p,0,x<<24>>24,q,z);x=z+(((d[l>>0]|0)>>>2&1)<<2)|0;x=e[x>>1]|e[x+2>>1]<<16;b[r+4>>1]=x+v;b[r+6>>1]=(x>>>16)+A;break}default:{a[r+2>>0]=-1;a[r>>0]=0}}if(!(a[l>>0]&2)){a[r+3>>0]=-1;a[r+1>>0]=0;hc=B;return}else{x=a[i+1>>0]|0;a[r+3>>0]=x;a[r+1>>0]=1;A=e[i+8>>1]|0;i=e[i+6>>1]|0;Bg(f,g,h,j,k,n,y,w,o,p,1,x<<24>>24,q,z);o=z+(((d[l>>0]|0)>>>3&1)<<2)|0;o=e[o>>1]|e[o+2>>1]<<16;b[r+8>>1]=o+i;b[r+10>>1]=(o>>>16)+A;hc=B;return}}function ug(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;U=hc;hc=hc+49168|0;L=U+32768|0;T=U;A=U+49152|0;y=j+h|0;v=k+i|0;H=c[f+4>>2]|0;w=c[H+4>>2]|0;N=c[w+5016>>2]|0;O=c[w+5020>>2]|0;I=c[g+40>>2]|0;J=(u(I,v)|0)+y|0;J=(c[g+4>>2]|0)+(J<<d[g+16>>0])|0;P=c[g+44>>2]|0;R=(u(P,(v|0)/(O|0)|0)|0)+((y|0)/(N|0)|0)|0;Q=(c[g+8>>2]|0)+(R<<d[g+17>>0])|0;R=(c[g+12>>2]|0)+(R<<d[g+18>>0])|0;B=a[o>>0]|0;i=B&255;c[A>>2]=i;F=a[o+1>>0]|0;h=F&255;j=A+4|0;c[j>>2]=h;x=w+4996|0;K=c[x>>2]|0;z=w+5004|0;S=c[z>>2]|0;D=H+37|0;G=B<<24>>24==0;if(((!(F<<24>>24==0|(G|(a[D>>0]|0)!=0))?(b[o+4>>1]|0)==(b[o+8>>1]|0):0)?(b[o+6>>1]|0)==(b[o+10>>1]|0):0)?(c[f+920+(a[o+2>>0]<<2)>>2]|0)==(c[f+984+(a[o+3>>0]<<2)>>2]|0):0){c[j>>2]=0;h=0}E=g+324|0;F=e+4|0;t=g+128|0;s=0;j=i;a:while(1){do if(j|0){j=a[o+2+s>>0]|0;if(j<<24>>24>15){C=9;break a}p=mc[c[(c[e>>2]|0)+8>>2]&31](e,c[f+920+(s<<6)+(j<<24>>24<<2)>>2]|0)|0;if(!(c[p+100>>2]|0)){a[E>>0]=3;De(F,1012,0);break}q=o+4+(s<<2)|0;j=b[q>>1]|0;r=o+4+(s<<2)+2|0;i=b[r>>1]|0;k=L+(s<<13)|0;g=c[p+4>>2]|0;if((c[(c[t>>2]|0)+4996>>2]|0)>8)wg(e,w,j,i,y,v,k,l,g,c[p+40>>2]|0,m,n,K);else xg(e,w,j,i,y,v,k,l,g,c[p+40>>2]|0,m,n,K);j=b[q>>1]|0;i=b[r>>1]|0;k=T+(s<<13)|0;g=c[p+8>>2]|0;if((c[(c[t>>2]|0)+4996>>2]|0)>8){X=p+44|0;W=(m|0)/(N|0)|0;V=(n|0)/(O|0)|0;yg(e,w,j,i,y,v,k,l,g,c[X>>2]|0,W,V,S);yg(e,w,b[q>>1]|0,b[r>>1]|0,y,v,T+16384+(s<<13)|0,l,c[p+12>>2]|0,c[X>>2]|0,W,V,S);break}else{V=p+44|0;W=(m|0)/(N|0)|0;X=(n|0)/(O|0)|0;zg(e,w,j,i,y,v,k,l,g,c[V>>2]|0,W,X,S);zg(e,w,b[q>>1]|0,b[r>>1]|0,y,v,T+16384+(s<<13)|0,l,c[p+12>>2]|0,c[V>>2]|0,W,X,S);break}}while(0);j=s+1|0;if(j>>>0>=2)break;s=j;j=c[A+(j<<2)>>2]|0}if((C|0)==9){a[E>>0]=3;De(F,1012,0);hc=U;return}i=14-(c[x>>2]|0)|0;i=(i|0)>2?i:2;A=c[t>>2]|0;v=d[A+5156>>0]|0;q=14-(c[z>>2]|0)|0;q=(q|0)>2?q:2;A=d[A+5157>>0]|0;switch(c[f+24>>2]|0){case 1:{h=B<<24>>24==1&(h|0)==0;if(!(a[D>>0]|0)){if(!h){De(F,1011,0);a[E>>0]=3;hc=U;return}if((K|0)<9)Bc[c[e+176>>2]&15](J,I,L,l,m,n);else Cc[c[e+192>>2]&31](J,I,L,l,m,n,K);j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){X=e+176|0;Bc[c[X>>2]&15](Q,P,T,l,j,h);Bc[c[X>>2]&15](R,P,T+16384|0,l,j,h);hc=U;return}else{X=e+192|0;Cc[c[X>>2]&31](Q,P,T,l,j,h,S);Cc[c[X>>2]&31](R,P,T+16384|0,l,j,h,S);hc=U;return}}else{if(!h){De(F,1011,0);a[E>>0]=3;hc=U;return}X=a[o+2>>0]|0;k=i+(d[f+384>>0]|0)|0;r=q+(d[f+385>>0]|0)|0;j=b[f+450+(X<<1)>>1]|0;h=a[f+514+X>>0]<<v;g=b[f+546+(X<<2)>>1]|0;p=a[f+674+(X<<1)>>0]<<A;q=b[f+546+(X<<2)+2>>1]|0;i=a[f+674+(X<<1)+1>>0]<<A;if((K|0)<9)Ec[c[e+180>>2]&3](J,I,L,l,m,n,j,h,k);else Fc[c[e+196>>2]&7](J,I,L,l,m,n,j,h,k,K);j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){X=e+180|0;Ec[c[X>>2]&3](Q,P,T,l,j,h,g,p,r);Ec[c[X>>2]&3](R,P,T+16384|0,l,j,h,q,i,r);hc=U;return}else{X=e+196|0;Fc[c[X>>2]&7](Q,P,T,l,j,h,g,p,r,S);Fc[c[X>>2]&7](R,P,T+16384|0,l,j,h,q,i,r,S);hc=U;return}}}case 0:{j=B<<24>>24==1;h=(h|0)==1;if(j&h)if(!(a[H+38>>0]|0)){h=L+8192|0;p=e+172|0;if((K|0)<9)Cc[c[p>>2]&31](J,I,L,h,l,m,n);else Dc[c[e+188>>2]&31](J,I,L,h,l,m,n,K);i=T+8192|0;k=T+16384|0;g=T+24576|0;j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){Cc[c[p>>2]&31](Q,P,T,i,l,j,h);Cc[c[p>>2]&31](R,P,k,g,l,j,h);hc=U;return}else{X=e+188|0;Dc[c[X>>2]&31](Q,P,T,i,l,j,h,S);Dc[c[X>>2]&31](R,P,k,g,l,j,h,S);hc=U;return}}else{w=a[o+2>>0]|0;h=a[o+3>>0]|0;p=i+(d[f+384>>0]|0)|0;z=q+(d[f+385>>0]|0)|0;i=b[f+450+(w<<1)>>1]|0;k=a[f+514+w>>0]<<v;g=b[f+482+(h<<1)>>1]|0;j=a[f+530+h>>0]<<v;r=b[f+546+(w<<2)>>1]|0;s=a[f+674+(w<<1)>>0]<<A;t=b[f+546+(w<<2)+2>>1]|0;v=a[f+674+(w<<1)+1>>0]<<A;w=b[f+610+(h<<2)>>1]|0;x=a[f+706+(h<<1)>>0]<<A;y=b[f+610+(h<<2)+2>>1]|0;q=a[f+706+(h<<1)+1>>0]<<A;h=L+8192|0;if((K|0)<9)Gc[c[e+184>>2]&1](J,I,L,h,l,m,n,i,k,g,j,p);else Hc[c[e+200>>2]&1](J,I,L,h,l,m,n,i,k,g,j,p,K);i=T+8192|0;k=T+16384|0;g=T+24576|0;j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){X=e+184|0;Gc[c[X>>2]&1](Q,P,T,i,l,j,h,r,s,w,x,z);Gc[c[X>>2]&1](R,P,k,g,l,j,h,t,v,y,q,z);hc=U;return}else{X=e+200|0;Hc[c[X>>2]&1](Q,P,T,i,l,j,h,r,s,w,x,z,S);Hc[c[X>>2]&1](R,P,k,g,l,j,h,t,v,y,q,z,S);hc=U;return}}if(!(j|h)){De(F,1011,0);a[E>>0]=3;hc=U;return}t=G&1;if(!(a[H+38>>0]|0)){h=L+(t<<13)|0;if((K|0)<9)Bc[c[e+176>>2]&15](J,I,h,l,m,n);else Cc[c[e+192>>2]&31](J,I,h,l,m,n,K);i=T+(t<<13)|0;j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){X=e+176|0;Bc[c[X>>2]&15](Q,P,i,l,j,h);Bc[c[X>>2]&15](R,P,T+16384+(t<<13)|0,l,j,h);hc=U;return}else{X=e+192|0;Cc[c[X>>2]&31](Q,P,i,l,j,h,S);Cc[c[X>>2]&31](R,P,T+16384+(t<<13)|0,l,j,h,S);hc=U;return}}else{k=a[o+2+t>>0]|0;g=i+(d[f+384>>0]|0)|0;s=q+(d[f+385>>0]|0)|0;i=b[f+450+(t<<5)+(k<<1)>>1]|0;j=a[f+514+(t<<4)+k>>0]<<v;p=b[f+546+(t<<6)+(k<<2)>>1]|0;q=a[f+674+(t<<5)+(k<<1)>>0]<<A;r=b[f+546+(t<<6)+(k<<2)+2>>1]|0;k=a[f+674+(t<<5)+(k<<1)+1>>0]<<A;h=L+(t<<13)|0;if((K|0)<9)Ec[c[e+180>>2]&3](J,I,h,l,m,n,i,j,g);else Fc[c[e+196>>2]&7](J,I,h,l,m,n,i,j,g,K);i=T+(t<<13)|0;j=(m|0)/(N|0)|0;h=(n|0)/(O|0)|0;if((S|0)<9){X=e+180|0;Ec[c[X>>2]&3](Q,P,i,l,j,h,p,q,s);Ec[c[X>>2]&3](R,P,T+16384+(t<<13)|0,l,j,h,r,k,s);hc=U;return}else{X=e+196|0;Fc[c[X>>2]&7](Q,P,i,l,j,h,p,q,s,S);Fc[c[X>>2]&7](R,P,T+16384+(t<<13)|0,l,j,h,r,k,s,S);hc=U;return}}}default:M(59185,59218,494,59230)}}function vg(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=d>>2;j=e>>2;k=f>>2;l=g>>2;i=c[a+196>>2]|0;if((g|0)<=3)return;g=a+184|0;if((f|0)<=3)return;d=0;do{a=(u(d+j|0,i)|0)+m|0;e=0;do{f=(c[g>>2]|0)+((a+e|0)*12|0)|0;b[f>>1]=b[h>>1]|0;b[f+2>>1]=b[h+2>>1]|0;b[f+4>>1]=b[h+4>>1]|0;b[f+6>>1]=b[h+6>>1]|0;b[f+8>>1]=b[h+8>>1]|0;b[f+10>>1]=b[h+10>>1]|0;e=e+1|0}while((e|0)<(k|0));d=d+1|0}while((d|0)<(l|0));return}function wg(a,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=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;F=hc;hc=hc+20448|0;A=F+11360|0;x=F;y=f&3;z=g&3;E=(f>>2)+h|0;D=(g>>2)+i|0;r=14-(c[d+4996>>2]|0)|0;C=c[d+484>>2]|0;B=c[d+488>>2]|0;if(!((g|f)&3)){if(!((D|E|0)<0|(E+n|0)>(C|0)|(D+o|0)>(B|0))){h=l+((u(D,m)|0)+E<<1)|0;if((p|0)<9){Cc[c[a+220>>2]&31](j,k,h,m,n,o,A);hc=F;return}else{Dc[c[a+300>>2]&31](j,k,h,m,n,o,A,p);hc=F;return}}if((o|0)<=0){hc=F;return}d=C+-1|0;f=B+-1|0;if((n|0)<=0){hc=F;return}h=0;do{g=h+D|0;g=u((g|0)<0?0:(g|0)<(B|0)?g:f,m)|0;q=u(h,k)|0;i=0;do{A=i+E|0;b[j+(i+q<<1)>>1]=(e[l+(((A|0)<0?0:(A|0)<(C|0)?A:d)+g<<1)>>1]|0)<<r;i=i+1|0}while((i|0)!=(n|0));h=h+1|0}while((h|0)!=(o|0));hc=F;return}r=c[3728+(y<<2)>>2]|0;i=c[3744+(y<<2)>>2]|0;s=c[3728+(z<<2)>>2]|0;h=c[3744+(z<<2)>>2]|0;q=0-r|0;if(((D-s|E-r|0)>-1?(E+n+i|0)<(C|0):0)?(D+o+h|0)<(B|0):0){i=m;h=l+((u(D,m)|0)+E<<1)|0}else{d=0-s|0;g=h+o|0;if((g|0)>(d|0)?(t=i+n|0,v=C+-1|0,w=B+-1|0,(t|0)>(q|0)):0)do{i=d+D|0;i=u((i|0)<0?0:(i|0)<(B|0)?i:w,m)|0;f=((d+s|0)*80|0)+r|0;h=q;do{G=h+E|0;b[x+(f+h<<1)>>1]=b[l+(((G|0)<0?0:(G|0)<(C|0)?G:v)+i<<1)>>1]|0;h=h+1|0}while((h|0)!=(t|0));d=d+1|0}while((d|0)!=(g|0));i=80;h=x+((s*80|0)+r<<1)|0}if((p|0)<9)Cc[c[a+220+(y<<4)+(z<<2)>>2]&31](j,k,h,i,n,o,A);else Dc[c[a+300+(y<<4)+(z<<2)>>2]&31](j,k,h,i,n,o,A,p);hc=F;return}function xg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=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;G=hc;hc=hc+14768|0;B=G+5680|0;y=G;z=g&3;A=h&3;F=(g>>2)+i|0;E=(h>>2)+j|0;s=14-(c[f+4996>>2]|0)|0;D=c[f+484>>2]|0;C=c[f+488>>2]|0;if(!((h|g)&3)){if(!((E|F|0)<0|(F+o|0)>(D|0)|(E+p|0)>(C|0))){i=m+((u(E,n)|0)+F)|0;if((q|0)<9){Cc[c[e+220>>2]&31](k,l,i,n,o,p,B);hc=G;return}else{Dc[c[e+300>>2]&31](k,l,i,n,o,p,B,q);hc=G;return}}if((p|0)<=0){hc=G;return}f=D+-1|0;g=C+-1|0;if((o|0)<=0){hc=G;return}i=0;do{h=i+E|0;h=u((h|0)<0?0:(h|0)<(C|0)?h:g,n)|0;r=u(i,l)|0;j=0;do{B=j+F|0;b[k+(j+r<<1)>>1]=(d[m+(((B|0)<0?0:(B|0)<(D|0)?B:f)+h)>>0]|0)<<s;j=j+1|0}while((j|0)!=(o|0));i=i+1|0}while((i|0)!=(p|0));hc=G;return}s=c[3728+(z<<2)>>2]|0;j=c[3744+(z<<2)>>2]|0;t=c[3728+(A<<2)>>2]|0;i=c[3744+(A<<2)>>2]|0;r=0-s|0;if(((E-t|F-s|0)>-1?(F+o+j|0)<(D|0):0)?(E+p+i|0)<(C|0):0){j=n;i=m+((u(E,n)|0)+F)|0}else{f=0-t|0;h=i+p|0;if((h|0)>(f|0)?(v=j+o|0,w=D+-1|0,x=C+-1|0,(v|0)>(r|0)):0)do{j=f+E|0;j=u((j|0)<0?0:(j|0)<(C|0)?j:x,n)|0;g=((f+t|0)*80|0)+s|0;i=r;do{H=i+F|0;a[y+(g+i)>>0]=a[m+(((H|0)<0?0:(H|0)<(D|0)?H:w)+j)>>0]|0;i=i+1|0}while((i|0)!=(v|0));f=f+1|0}while((f|0)!=(h|0));j=80;i=y+((t*80|0)+s)|0}if((q|0)<9)Cc[c[e+220+(z<<4)+(A<<2)>>2]&31](k,l,i,j,o,p,B);else Dc[c[e+300+(z<<4)+(A<<2)>>2]&31](k,l,i,j,o,p,B,q);hc=G;return}function yg(a,d,f,g,h,i,j,k,l,m,n,o,p){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=hc;q=hc=hc+31&-32;hc=hc+19808|0;z=q;q=q+9088|0;x=14-(c[d+5004>>2]|0)|0;y=c[d+5016>>2]|0;B=(c[d+484>>2]|0)/(y|0)|0;w=c[d+5020>>2]|0;A=(c[d+488>>2]|0)/(w|0)|0;f=u(2/(y|0)|0,f)|0;g=u(2/(w|0)|0,g)|0;t=f&7;v=g&7;y=((h|0)/(y|0)|0)+(f>>3)|0;w=((i|0)/(w|0)|0)+(g>>3)|0;if(!((g|f)&7)){if((y|0)>-1?!((w|0)<0|(y+n|0)>(B|0)|(w+o|0)>(A|0)):0){d=l+((u(w,m)|0)+y<<1)|0;if((p|0)<9){Ec[c[a+204>>2]&3](j,k,d,m,n,o,0,0,0);hc=C;return}else{Fc[c[a+284>>2]&7](j,k,d,m,n,o,0,0,0,p);hc=C;return}}if((o|0)<=0){hc=C;return}g=B+-1|0;h=A+-1|0;if((n|0)<=0){hc=C;return}f=0;do{i=f+w|0;i=u((i|0)<0?0:(i|0)<(A|0)?i:h,m)|0;q=u(f,k)|0;d=0;do{p=d+y|0;b[j+(d+q<<1)>>1]=(e[l+(((p|0)<0?0:(p|0)<(B|0)?p:g)+i<<1)>>1]|0)<<x;d=d+1|0}while((d|0)!=(n|0));f=f+1|0}while((f|0)!=(o|0));hc=C;return}if(((y|0)>0?(y+n|0)<=(B+-2|0)&(w|0)>0:0)?(w+o|0)<=(A+-2|0):0){h=l+((u(w,m)|0)+y<<1)|0;d=m}else{if((o|0)>-3?(r=B+-1|0,s=A+-1|0,(n|0)>-3):0){f=-1;while(1){h=f+w|0;h=u((h|0)<0?0:(h|0)<(A|0)?h:s,m)|0;g=(f*80|0)+80|0;d=-1;do{i=d+y|0;x=d;d=d+1|0;b[q+(g+d<<1)>>1]=b[l+(((i|0)<0?0:(i|0)<(B|0)?i:r)+h<<1)>>1]|0}while((x|0)<=(n|0));if((f|0)>(o|0))break;else f=f+1|0}}h=q+162|0;d=80}f=(t|0)!=0;g=(v|0)!=0;do if(f&g)if((p|0)<9){Fc[c[a+216>>2]&7](j,k,h,d,n,o,t,v,z,p);break}else{Fc[c[a+296>>2]&7](j,k,h,d,n,o,t,v,z,p);break}else{if(f)if((p|0)<9){Fc[c[a+208>>2]&7](j,k,h,d,n,o,t,v,z,p);break}else{Fc[c[a+288>>2]&7](j,k,h,d,n,o,t,v,z,p);break}if(!g)M(76276,59218,270,59264);if((p|0)<9){Fc[c[a+212>>2]&7](j,k,h,d,n,o,0,v,z,p);break}else{Fc[c[a+292>>2]&7](j,k,h,d,n,o,0,v,z,p);break}}while(0);hc=C;return}function zg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=hc;r=hc=hc+31&-32;hc=hc+14448|0;A=r;r=r+9088|0;y=14-(c[f+5004>>2]|0)|0;z=c[f+5016>>2]|0;C=(c[f+484>>2]|0)/(z|0)|0;x=c[f+5020>>2]|0;B=(c[f+488>>2]|0)/(x|0)|0;g=u(2/(z|0)|0,g)|0;h=u(2/(x|0)|0,h)|0;v=g&7;w=h&7;z=((i|0)/(z|0)|0)+(g>>3)|0;x=((j|0)/(x|0)|0)+(h>>3)|0;if(!((h|g)&7)){if((z|0)>-1?!((x|0)<0|(z+o|0)>(C|0)|(x+p|0)>(B|0)):0){f=m+((u(x,n)|0)+z)|0;if((q|0)<9){Ec[c[e+204>>2]&3](k,l,f,n,o,p,0,0,0);hc=D;return}else{Fc[c[e+284>>2]&7](k,l,f,n,o,p,0,0,0,q);hc=D;return}}if((p|0)<=0){hc=D;return}h=C+-1|0;i=B+-1|0;if((o|0)<=0){hc=D;return}g=0;do{j=g+x|0;j=u((j|0)<0?0:(j|0)<(B|0)?j:i,n)|0;r=u(g,l)|0;f=0;do{q=f+z|0;b[k+(f+r<<1)>>1]=(d[m+(((q|0)<0?0:(q|0)<(C|0)?q:h)+j)>>0]|0)<<y;f=f+1|0}while((f|0)!=(o|0));g=g+1|0}while((g|0)!=(p|0));hc=D;return}if(((z|0)>0?(z+o|0)<=(C+-2|0)&(x|0)>0:0)?(x+p|0)<=(B+-2|0):0){i=m+((u(x,n)|0)+z)|0;f=n}else{if((p|0)>-3?(s=C+-1|0,t=B+-1|0,(o|0)>-3):0){g=-1;while(1){i=g+x|0;i=u((i|0)<0?0:(i|0)<(B|0)?i:t,n)|0;h=(g*80|0)+80|0;f=-1;do{j=f+z|0;y=f;f=f+1|0;a[r+(h+f)>>0]=a[m+(((j|0)<0?0:(j|0)<(C|0)?j:s)+i)>>0]|0}while((y|0)<=(o|0));if((g|0)>(p|0))break;else g=g+1|0}}i=r+81|0;f=80}g=(v|0)!=0;h=(w|0)!=0;do if(g&h)if((q|0)<9){Fc[c[e+216>>2]&7](k,l,i,f,o,p,v,w,A,q);break}else{Fc[c[e+296>>2]&7](k,l,i,f,o,p,v,w,A,q);break}else{if(g)if((q|0)<9){Fc[c[e+208>>2]&7](k,l,i,f,o,p,v,w,A,q);break}else{Fc[c[e+288>>2]&7](k,l,i,f,o,p,v,w,A,q);break}if(!h)M(76276,59218,270,59264);if((q|0)<9){Fc[c[e+212>>2]&7](k,l,i,f,o,p,0,w,A,q);break}else{Fc[c[e+292>>2]&7](k,l,i,f,o,p,0,w,A,q);break}}while(0);hc=D;return}function Ag(d,e,f,g,h,i,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=hc;w=hc=hc+31&-32;hc=hc+32|0;v=w+8|0;x=w+4|0;A=w;w=w+16|0;z=(l|0)==8?(c[(c[g+136>>2]|0)+4136>>2]|0)>2:0;t=z?l:n;s=z?l:m;r=z?i:k;j=z?h:j;u=p+1|0;c[A>>2]=c[f>>2];c[v>>2]=c[A>>2];k=Gg(v,g,h,i,l,j,r,z&1,s,t,z?0:o,q,u)|0;c[x>>2]=k;if((k|0)>(p|0))f=e+24|0;else{Dg(d,g,e,j,r,s,t,0,0,v,w);n=a[w>>0]|0;m=w+1|0;a[m>>0]=0;f=e+24|0;if(!(c[f>>2]|0)){Dg(d,g,e,j,r,s,t,0,1,v+4|0,m);m=a[m>>0]|0;n=m|n}else m=0;if(n<<24>>24){c[x>>2]=k+1;A=q+(k*12|0)+4|0;z=c[v>>2]|0;b[A>>1]=z;b[A+2>>1]=z>>>16;A=q+(k*12|0)+8|0;z=c[v+4>>2]|0;b[A>>1]=z;b[A+2>>1]=z>>>16;a[q+(k*12|0)>>0]=a[w>>0]|0;a[q+(k*12|0)+1>>0]=m;a[q+(k*12|0)+2>>0]=0;a[q+(k*12|0)+3>>0]=0}}n=c[f>>2]|0;if(!n){Hg(d,e,q,x,u);k=c[f>>2]|0}else k=n;n=c[e+332>>2]|0;if((k|0)!=1){A=c[e+336>>2]|0;n=(n|0)<(A|0)?n:A}m=c[x>>2]|0;if((m|0)>(p|0)){hc=y;return}o=0;j=k;while(1){k=(j|0)==1;A=(o|0)<(n|0)?o&255:0;a[q+(m*12|0)+2>>0]=A;a[q+(m*12|0)+3>>0]=k?-1:A;a[q+(m*12|0)>>0]=1;a[q+(m*12|0)+1>>0]=(k^1)&1;k=q+(m*12|0)+4|0;A=k;b[A>>1]=0;b[A+2>>1]=0>>>16;k=k+4|0;b[k>>1]=0;b[k+2>>1]=0>>>16;k=m+1|0;if((m|0)>=(p|0))break;o=o+1|0;j=c[f>>2]|0;m=k}c[x>>2]=k;hc=y;return}function Bg(d,e,f,g,h,i,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0;w=hc;v=hc=hc+31&-32;hc=hc+32|0;r=v+18|0;t=v+8|0;u=v+16|0;Cg(d,f,e,g,h,i,j,k,l,m,n,o,p,r,t);h=(a[r>>0]|0)==0;if(h){Dg(d,f,e,j,k,l,m,o,n,v,u);p=0;g=a[r+1>>0]|0}else{g=a[r+1>>0]|0;do if(!(g<<24>>24))s=6;else{if((b[t>>1]|0)==(b[t+4>>1]|0)?(b[t+2>>1]|0)==(b[t+6>>1]|0):0){s=6;break}a[u>>0]=0}while(0);if((s|0)==6)Dg(d,f,e,j,k,l,m,o,n,v,u);p=c[t>>2]|0;b[q>>1]=p;b[q+2>>1]=p>>>16;p=1}do if(g<<24>>24){if((!h?(b[t>>1]|0)==(b[t+4>>1]|0):0)?(b[t+2>>1]|0)==(b[t+6>>1]|0):0)break;s=q+(p<<2)|0;t=c[t+4>>2]|0;b[s>>1]=t;b[s+2>>1]=t>>>16;p=p+1|0}while(0);if(a[u>>0]|0){u=q+(p<<2)|0;v=c[v>>2]|0;b[u>>1]=v;b[u+2>>1]=v>>>16;p=p+1|0}if((p|0)<2){hB(q+(p<<2)|0,0,8-(p<<2)|0)|0;while(1){g=p+1|0;if((p|0)<1)p=g;else{p=g;break}}}if((p|0)==2){hc=w;return}else M(59274,59218,2018,59290)}function Cg(f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=hc;ba=hc=hc+31&-32;hc=hc+48|0;I=ba+32|0;J=ba+24|0;L=ba+44|0;$=ba+12|0;aa=ba;ba=ba+40|0;ca=s+1|0;a[ca>>0]=0;T=l+-1|0;c[I>>2]=T;y=o+m|0;c[J>>2]=y;c[I+4>>2]=T;D=y+-1|0;c[J+4>>2]=D;a[s>>0]=0;b[t>>1]=0;O=t+2|0;b[O>>1]=0;w=Fg(g,i,j,k,l,m,n,o,r,T,y)|0;a[L>>0]=w&1;C=Fg(g,i,j,k,l,m,n,o,r,T,D)|0;a[L+1>>0]=C&1;U=w|C;da=h+920+(p<<6)+(q<<2)|0;v=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if(!v){hc=ga;return}V=c[v+96>>2]|0;E=g+172|0;F=g+176|0;G=g+180|0;H=g+164|0;W=1-p|0;X=g+192|0;Y=g+196|0;Z=g+200|0;_=g+184|0;do if(w?(a[s>>0]|0)==0:0){w=c[E>>2]|0;v=T>>w;w=y>>w;if((v|0)<=-1)M(60650,60687,120,60707);x=c[F>>2]|0;if((v|0)>=(x|0))M(60650,60687,120,60707);if((w|0)<=-1)M(60711,60687,121,60707);if((w|0)>=(c[G>>2]|0))M(60711,60687,121,60707);S=(c[H>>2]|0)+(((u(x,w)|0)+v|0)*3|0)|0;if((d[S>>0]|d[S+1>>0]<<8)&768){v=c[X>>2]|0;x=T>>v;v=y>>v;if((x|0)<=-1)M(60650,60687,120,60707);w=c[Y>>2]|0;if((x|0)>=(w|0))M(60650,60687,120,60707);if((v|0)<=-1)M(60711,60687,121,60707);if((v|0)>=(c[Z>>2]|0))M(60711,60687,121,60707);A=c[_>>2]|0;x=(u(w,v)|0)+x|0;y=A+(x*12|0)+p|0;if(!(a[y>>0]|0))v=0;else v=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(x*12|0)+2+p>>0]<<2)>>2]|0)|0;z=A+(x*12|0)+W|0;if(!(a[z>>0]|0))w=0;else w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(x*12|0)+2+W>>0]<<2)>>2]|0)|0;if((v|0)!=0&(a[y>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[s>>0]=1;B=A+(x*12|0)+4+(p<<2)|0;B=e[B>>1]|e[B+2>>1]<<16;b[t>>1]=B;b[t+2>>1]=B>>>16;B=a[A+(x*12|0)+2+p>>0]|0;break}if((w|0)!=0&(a[z>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[s>>0]=1;B=A+(x*12|0)+4+(W<<2)|0;B=e[B>>1]|e[B+2>>1]<<16;b[t>>1]=B;b[t+2>>1]=B>>>16;B=a[A+(x*12|0)+2+W>>0]|0}else B=-1}else B=-1}else B=-1;while(0);do if(C?(a[s>>0]|0)==0:0){w=c[E>>2]|0;v=T>>w;w=D>>w;if((v|0)<=-1)M(60650,60687,120,60707);x=c[F>>2]|0;if((v|0)>=(x|0))M(60650,60687,120,60707);if((w|0)<=-1)M(60711,60687,121,60707);if((w|0)>=(c[G>>2]|0))M(60711,60687,121,60707);S=(c[H>>2]|0)+(((u(x,w)|0)+v|0)*3|0)|0;if((d[S>>0]|d[S+1>>0]<<8)&768){v=c[X>>2]|0;x=T>>v;v=D>>v;if((x|0)<=-1)M(60650,60687,120,60707);w=c[Y>>2]|0;if((x|0)>=(w|0))M(60650,60687,120,60707);if((v|0)<=-1)M(60711,60687,121,60707);if((v|0)>=(c[Z>>2]|0))M(60711,60687,121,60707);A=c[_>>2]|0;x=(u(w,v)|0)+x|0;y=A+(x*12|0)+p|0;if(!(a[y>>0]|0))v=0;else v=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(x*12|0)+2+p>>0]<<2)>>2]|0)|0;z=A+(x*12|0)+W|0;if(!(a[z>>0]|0))w=0;else w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(x*12|0)+2+W>>0]<<2)>>2]|0)|0;if((v|0)!=0&(a[y>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[s>>0]=1;v=A+(x*12|0)+4+(p<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[t>>1]=v;b[t+2>>1]=v>>>16;v=a[A+(x*12|0)+2+p>>0]|0;break}if((w|0)!=0&(a[z>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[s>>0]=1;v=A+(x*12|0)+4+(W<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[t>>1]=v;b[t+2>>1]=v>>>16;v=a[A+(x*12|0)+2+W>>0]|0}else v=B}else v=B}else v=B;while(0);P=h+1304+(p<<4)+q|0;Q=g+96|0;R=f+4|0;S=g+324|0;B=0;a:while(1){if(a[s>>0]|0){v=59;break}do if(a[L+B>>0]|0){w=c[I+(B<<2)>>2]|0;A=c[J+(B<<2)>>2]|0;y=c[E>>2]|0;x=w>>y;y=A>>y;if((x|0)<=-1){v=32;break a}z=c[F>>2]|0;if((x|0)>=(z|0)){v=32;break a}if((y|0)<=-1){v=35;break a}if((y|0)>=(c[G>>2]|0)){v=35;break a}q=(c[H>>2]|0)+(((u(z,y)|0)+x|0)*3|0)|0;if((d[q>>0]|d[q+1>>0]<<8)&768){q=c[X>>2]|0;y=w>>q;w=A>>q;if((y|0)<=-1){v=39;break a}x=c[Y>>2]|0;if((y|0)>=(x|0)){v=39;break a}if((w|0)<=-1){v=42;break a}if((w|0)>=(c[Z>>2]|0)){v=42;break a}z=c[_>>2]|0;w=(u(x,w)|0)+y|0;if((a[z+(w*12|0)+p>>0]|0)==1?(K=z+(w*12|0)+2+p|0,(a[P>>0]|0)==(a[(a[K>>0]|0)+(h+1304+(p<<4))>>0]|0)):0){a[s>>0]=1;x=z+(w*12|0)+4+(p<<2)|0;x=e[x>>1]|e[x+2>>1]<<16;b[t>>1]=x;b[t+2>>1]=x>>>16;x=p;v=a[K>>0]|0;break}if((a[z+(w*12|0)+W>>0]|0)==1?(N=z+(w*12|0)+2+W|0,(a[P>>0]|0)==(a[(a[N>>0]|0)+(h+1304+(W<<4))>>0]|0)):0){a[s>>0]=1;x=z+(w*12|0)+4+(W<<2)|0;x=e[x>>1]|e[x+2>>1]<<16;b[t>>1]=x;b[t+2>>1]=x>>>16;x=W;v=a[N>>0]|0}else x=-1}else x=-1}else x=-1;while(0);do if((a[s>>0]|0)==1){if((v|0)<0){v=58;break a}if((x|0)<=-1){v=52;break a}w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(x<<6)+(v<<2)>>2]|0)|0;mc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if(!((a[P>>0]|a[h+1304+(x<<4)+v>>0])<<24>>24)){y=c[Q>>2]|0;x=y-(c[w+96>>2]|0)|0;y=y-V|0;w=e[t>>1]|e[t+2>>1]<<16;x=(x|0)<127?x:127;x=(x|0)>-128?x:-128;y=(y|0)<127?y:127;if(!x){De(R,1008,0);a[S>>0]=3;break}else{q=u(((((x|0)<0?0-x|0:x)>>1)+16384|0)/(x|0)|0,(y|0)>-128?y:-128)|0;q=(q|0)<-262176?-4096:(q|0)>262111?4095:q+32>>6;D=u(q,w<<16>>16)|0;C=(D|0)<0;D=u((C?0-D|0:D)+127>>8,C?-1:(D|0)!=0&1)|0;D=(D|0)<32767?D:32767;b[t>>1]=(D|0)>-32768?D:-32768;q=u(q,w>>16)|0;D=(q|0)<0;q=u((D?0-q|0:q)+127>>8,D?-1:(q|0)!=0&1)|0;q=(q|0)<32767?q:32767;b[O>>1]=(q|0)>-32768?q:-32768;break}}}while(0);if((B+1|0)>>>0<2)B=1;else{v=59;break}}if((v|0)==32)M(60650,60687,120,60707);else if((v|0)==35)M(60711,60687,121,60707);else if((v|0)==39)M(60650,60687,120,60707);else if((v|0)==42)M(60711,60687,121,60707);else if((v|0)==52)M(59381,59218,1773,59395);else if((v|0)==58){a[ca>>0]=0;a[s>>0]=0;hc=ga;return}else if((v|0)==59){v=n+l|0;c[$>>2]=v;C=m+-1|0;c[aa>>2]=C;B=v+-1|0;c[$+4>>2]=B;c[aa+4>>2]=C;c[$+8>>2]=T;c[aa+8>>2]=C;a[ca>>0]=0;D=t+4|0;b[D>>1]=0;q=t+6|0;b[q>>1]=0;O=Fg(g,i,j,k,l,m,n,o,r,v,C)|0;a[ba>>0]=O&1;do if(O?(a[ca>>0]|0)==0:0){w=c[X>>2]|0;v=v>>w;w=C>>w;if((v|0)<=-1)M(60650,60687,120,60707);x=c[Y>>2]|0;if((v|0)>=(x|0))M(60650,60687,120,60707);if((w|0)<=-1)M(60711,60687,121,60707);if((w|0)>=(c[Z>>2]|0))M(60711,60687,121,60707);A=c[_>>2]|0;x=(u(x,w)|0)+v|0;y=A+(x*12|0)+p|0;if(!(a[y>>0]|0))w=0;else w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[A+(x*12|0)+2+p>>0]<<2)>>2]|0)|0;z=A+(x*12|0)+W|0;if(!(a[z>>0]|0))v=0;else v=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[A+(x*12|0)+2+W>>0]<<2)>>2]|0)|0;if((w|0)!=0&(a[y>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=A+(x*12|0)+4+(p<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[A+(x*12|0)+2+p>>0]|0;break}if((v|0)!=0&(a[z>>0]|0)!=0?(c[v+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=A+(x*12|0)+4+(W<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[A+(x*12|0)+2+W>>0]|0}else v=-1}else v=-1;while(0);O=Fg(g,i,j,k,l,m,n,o,r,B,C)|0;a[ba+1>>0]=O&1;do if(O?(a[ca>>0]|0)==0:0){x=c[X>>2]|0;w=B>>x;x=C>>x;if((w|0)<=-1)M(60650,60687,120,60707);y=c[Y>>2]|0;if((w|0)>=(y|0))M(60650,60687,120,60707);if((x|0)<=-1)M(60711,60687,121,60707);if((x|0)>=(c[Z>>2]|0))M(60711,60687,121,60707);B=c[_>>2]|0;y=(u(y,x)|0)+w|0;z=B+(y*12|0)+p|0;if(!(a[z>>0]|0))x=0;else x=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[B+(y*12|0)+2+p>>0]<<2)>>2]|0)|0;A=B+(y*12|0)+W|0;if(!(a[A>>0]|0))w=0;else w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[B+(y*12|0)+2+W>>0]<<2)>>2]|0)|0;if((x|0)!=0&(a[z>>0]|0)!=0?(c[x+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=B+(y*12|0)+4+(p<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[B+(y*12|0)+2+p>>0]|0;break}if((w|0)!=0&(a[A>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=B+(y*12|0)+4+(W<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[B+(y*12|0)+2+W>>0]|0}}while(0);o=Fg(g,i,j,k,l,m,n,o,r,T,C)|0;a[ba+2>>0]=o&1;do if(o?(a[ca>>0]|0)==0:0){w=c[X>>2]|0;y=T>>w;w=C>>w;if((y|0)<=-1)M(60650,60687,120,60707);x=c[Y>>2]|0;if((y|0)>=(x|0))M(60650,60687,120,60707);if((w|0)<=-1)M(60711,60687,121,60707);if((w|0)>=(c[Z>>2]|0))M(60711,60687,121,60707);B=c[_>>2]|0;y=(u(x,w)|0)+y|0;z=B+(y*12|0)+p|0;if(!(a[z>>0]|0))x=0;else x=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(p<<6)+(a[B+(y*12|0)+2+p>>0]<<2)>>2]|0)|0;A=B+(y*12|0)+W|0;if(!(a[A>>0]|0))w=0;else w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(W<<6)+(a[B+(y*12|0)+2+W>>0]<<2)>>2]|0)|0;if((x|0)!=0&(a[z>>0]|0)!=0?(c[x+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=B+(y*12|0)+4+(p<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[B+(y*12|0)+2+p>>0]|0;break}if((w|0)!=0&(a[A>>0]|0)!=0?(c[w+96>>2]|0)==(V|0):0){a[ca>>0]=1;v=B+(y*12|0)+4+(W<<2)|0;v=e[v>>1]|e[v+2>>1]<<16;b[D>>1]=v;b[D+2>>1]=v>>>16;v=a[B+(y*12|0)+2+W>>0]|0}}while(0);b:do if(!U){if(a[ca>>0]|0){a[s>>0]=1;U=e[D>>1]|e[D+2>>1]<<16;b[t>>1]=U;b[t+2>>1]=U>>>16}a[ca>>0]=0;B=g+112|0;A=0;z=v;c:while(1){do if(a[ba+A>>0]|0){w=c[X>>2]|0;v=c[$+(A<<2)>>2]>>w;w=c[aa+(A<<2)>>2]>>w;if((v|0)<=-1){v=84;break c}x=c[Y>>2]|0;if((v|0)>=(x|0)){v=84;break c}if((w|0)<=-1){v=87;break c}if((w|0)>=(c[Z>>2]|0)){v=87;break c}y=c[_>>2]|0;v=(u(x,w)|0)+v|0;if((a[y+(v*12|0)+p>>0]|0)==1?(ea=y+(v*12|0)+2+p|0,(a[P>>0]|0)==(a[(a[ea>>0]|0)+(h+1304+(p<<4))>>0]|0)):0){a[ca>>0]=1;x=y+(v*12|0)+4+(p<<2)|0;x=e[x>>1]|e[x+2>>1]<<16;b[D>>1]=x;b[D+2>>1]=x>>>16;x=p;z=a[ea>>0]|0;break}if((a[y+(v*12|0)+W>>0]|0)==1?(fa=y+(v*12|0)+2+W|0,(a[P>>0]|0)==(a[(a[fa>>0]|0)+(h+1304+(W<<4))>>0]|0)):0){a[ca>>0]=1;x=y+(v*12|0)+4+(W<<2)|0;x=e[x>>1]|e[x+2>>1]<<16;b[D>>1]=x;b[D+2>>1]=x>>>16;x=W;z=a[fa>>0]|0}else x=-1}else x=-1;while(0);do if((a[ca>>0]|0)==1){if((z|0)<0){v=104;break c}if((x|0)<=-1){v=97;break c}v=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(x<<6)+(z<<2)>>2]|0)|0;w=mc[c[(c[f>>2]|0)+8>>2]&31](f,c[da>>2]|0)|0;if((v|0)==0|(w|0)==0){De((c[B>>2]|0)+4|0,1012,0);a[S>>0]=3;break}v=c[v+96>>2]|0;if(!((v|0)==(c[w+96>>2]|0)?1:(a[h+1304+(x<<4)+z>>0]|a[P>>0])<<24>>24!=0)){x=c[Q>>2]|0;w=x-v|0;x=x-V|0;v=e[D>>1]|e[D+2>>1]<<16;w=(w|0)<127?w:127;w=(w|0)>-128?w:-128;x=(x|0)<127?x:127;if(!w){De(R,1008,0);a[S>>0]=3;break}else{U=u(((((w|0)<0?0-w|0:w)>>1)+16384|0)/(w|0)|0,(x|0)>-128?x:-128)|0;U=(U|0)<-262176?-4096:(U|0)>262111?4095:U+32>>6;t=u(U,v<<16>>16)|0;g=(t|0)<0;t=u((g?0-t|0:t)+127>>8,g?-1:(t|0)!=0&1)|0;t=(t|0)<32767?t:32767;b[D>>1]=(t|0)>-32768?t:-32768;U=u(U,v>>16)|0;t=(U|0)<0;U=u((t?0-U|0:U)+127>>8,t?-1:(U|0)!=0&1)|0;U=(U|0)<32767?U:32767;b[q>>1]=(U|0)>-32768?U:-32768;break}}}while(0);A=A+1|0;if(A>>>0>=3)break b;if(a[ca>>0]|0)break b}if((v|0)==84)M(60650,60687,120,60707);else if((v|0)==87)M(60711,60687,121,60707);else if((v|0)==97)M(59381,59218,1914,59395);else if((v|0)==104){a[ca>>0]=0;a[s>>0]=0;break}}while(0);hc=ga;return}}function Dg(d,e,f,g,h,i,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;if(!(a[f+328>>0]|0)){b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0;return}r=e+128|0;s=c[(c[r>>2]|0)+5040>>2]|0;if((c[f+24>>2]|0)==0?(a[f+376>>0]|0)==0:0)o=f+984+(c[f+380>>2]<<2)|0;else o=f+920+(c[f+380>>2]<<2)|0;o=c[o>>2]|0;if(!(mc[c[(c[d>>2]|0)+12>>2]&31](d,o)|0)){b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0;De(d+4|0,1012,0);return}p=j+h|0;q=i+g|0;if(((h>>s|0)==(p>>s|0)?(t=c[r>>2]|0,(q|0)<(c[t+484>>2]|0)):0)?(p|0)<(c[t+488>>2]|0):0){Eg(d,e,f,0,0,o,q&-16,p&-16,k,l,m,n);if(a[n>>0]|0)return}else{b[m>>1]=0;b[m+2>>1]=0;a[n>>0]=0}Eg(d,e,f,0,0,o,(i>>1)+g&-16,(j>>1)+h&-16,k,l,m,n);return}function Eg(f,g,h,i,j,k,l,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,v=0,w=0;if(!(mc[c[(c[f>>2]|0)+12>>2]&31](f,k)|0))M(59325,59218,1116,59348);w=mc[c[(c[f>>2]|0)+8>>2]&31](f,k)|0;if((c[w+24>>2]|0)>(l|0)?(c[w+28>>2]|0)>(m|0):0){j=c[w+172>>2]|0;i=l>>j;j=m>>j;if((i|0)<=-1)M(60650,60687,120,60707);k=c[w+176>>2]|0;if((i|0)>=(k|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)>=(c[w+180>>2]|0))M(60711,60687,121,60707);v=(c[w+164>>2]|0)+(((u(k,j)|0)+i|0)*3|0)|0;if(!((d[v>>0]|d[v+1>>0]<<8)&768)){b[p>>1]=0;b[p+2>>1]=0;a[q>>0]=0;return}if((a[w+324>>0]|0)==1){b[p>>1]=0;b[p+2>>1]=0;a[q>>0]=0;return}j=c[w+192>>2]|0;i=l>>j;j=m>>j;if((i|0)<=-1)M(60650,60687,120,60707);k=c[w+196>>2]|0;if((i|0)>=(k|0))M(60650,60687,120,60707);if((j|0)<=-1)M(60711,60687,121,60707);if((j|0)>=(c[w+200>>2]|0))M(60711,60687,121,60707);v=c[w+184>>2]|0;s=(u(k,j)|0)+i|0;do if(a[v+(s*12|0)>>0]|0){if(!(a[v+(s*12|0)+1>>0]|0)){j=v+(s*12|0)+4|0;t=0;i=v+(s*12|0)+2|0;break}r=c[g+96>>2]|0;k=h+336|0;if((c[k>>2]|0)>0){j=0;do{i=(c[(mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+984+(j<<2)>>2]|0)|0)+96>>2]|0)<=(r|0);j=j+1|0}while(i&(j|0)<(c[k>>2]|0))}else i=1;k=h+332|0;if(i&(c[k>>2]|0)>0){j=0;do{i=(c[(mc[c[(c[f>>2]|0)+8>>2]&31](f,c[h+920+(j<<2)>>2]|0)|0)+96>>2]|0)<=(r|0);j=j+1|0}while(i&(j|0)<(c[k>>2]|0))}if(i){j=v+(s*12|0)+4+(o<<2)|0;t=o;i=v+(s*12|0)+2+o|0;break}else{i=a[h+376>>0]|0;j=v+(s*12|0)+4+(i<<2)|0;t=i;i=v+(s*12|0)+2+i|0;break}}else{j=v+(s*12|0)+8|0;t=1;i=v+(s*12|0)+3|0}while(0);r=a[i>>0]|0;s=e[j>>1]|e[j+2>>1]<<16;i=c[w+152>>2]|0;k=l>>i;i=m>>i;if((k|0)<=-1)M(60650,60687,120,60707);j=c[w+156>>2]|0;if((k|0)>=(j|0))M(60650,60687,120,60707);if((i|0)<=-1)M(60711,60687,121,60707);if((i|0)>=(c[w+160>>2]|0))M(60711,60687,121,60707);i=e[(c[w+144>>2]|0)+(((u(j,i)|0)+k|0)*24|0)+2>>1]|0;i=c[(c[w+52>>2]|0)+(i<<2)>>2]|0;k=h+1304+(o<<4)+n|0;if((a[k>>0]|0)!=(a[i+1304+(t<<4)+r>>0]|0)){a[q>>0]=0;b[p>>1]=0;b[p+2>>1]=0;return}a[q>>0]=1;j=(c[w+96>>2]|0)-(c[i+1048+(t<<6)+(r<<2)>>2]|0)|0;i=(c[g+96>>2]|0)-(c[h+1048+(o<<6)+(n<<2)>>2]|0)|0;if((a[k>>0]|0)!=0|(j|0)==(i|0)){b[p>>1]=s;b[p+2>>1]=s>>>16;return}j=(j|0)<127?j:127;j=(j|0)>-128?j:-128;i=(i|0)<127?i:127;if(!j){b[p>>1]=s;b[p+2>>1]=s>>>16;De(f+4|0,1008,0);a[g+324>>0]=3;return}else{g=u(((((j|0)<0?0-j|0:j)>>1)+16384|0)/(j|0)|0,(i|0)>-128?i:-128)|0;g=(g|0)<-262176?-4096:(g|0)>262111?4095:g+32>>6;f=u(g,s<<16>>16)|0;o=(f|0)<0;f=u((o?0-f|0:f)+127>>8,o?-1:(f|0)!=0&1)|0;f=(f|0)<32767?f:32767;b[p>>1]=(f|0)>-32768?f:-32768;g=u(g,s>>16)|0;f=(g|0)<0;g=u((f?0-g|0:g)+127>>8,f?-1:(g|0)!=0&1)|0;g=(g|0)<32767?g:32767;b[p+2>>1]=(g|0)>-32768?g:-32768;return}}De(f+4|0,1026,0);a[q>>0]=0;return} |
| | | function bj(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;q=b+128|0;f=c[q>>2]|0;if(!(a[f+4703>>0]|0))return;E=b+40|0;F=b+28|0;G=u(c[F>>2]|0,c[E>>2]|0)|0;G=u(G,((c[f+4996>>2]|0)+7|0)/8|0)|0;r=b+44|0;s=b+36|0;H=u(c[s>>2]|0,c[r>>2]|0)|0;H=u(H,((c[f+5004>>2]|0)+7|0)/8|0)|0;H=(G|0)>(H|0)?G:H;H=mz((H|0)>-1?H:-1)|0;G=(c[f+5012>>2]|0)==0?1:3;t=f+5064|0;v=f+5056|0;w=b+156|0;x=b+144|0;y=b+52|0;z=b+56|0;A=f+5040|0;B=b+4|0;C=f+5016|0;D=f+5020|0;d=0;a:while(1){o=(d|0)==0;n=o?E:r;m=c[n>>2]|0;p=b+4+(d<<2)|0;l=u(c[(o?F:s)>>2]|0,m)|0;fB(H|0,c[p>>2]|0,u(l,((c[(o?f+4996|0:f+5004|0)>>2]|0)+7|0)/8|0)|0)|0;if((c[t>>2]|0)>0){l=0;f=c[v>>2]|0;do{if((f|0)>0){k=0;do{f=(u(c[w>>2]|0,l)|0)+k|0;f=e[(c[x>>2]|0)+(f*24|0)+2>>1]|0;g=c[y>>2]|0;if((c[z>>2]|0)-g>>2>>>0<=f>>>0){d=23;break a}j=c[g+(f<<2)>>2]|0;if(!j){d=23;break a}do if(o){if(a[j+329>>0]|0){g=1<<c[A>>2];h=c[B>>2]|0;f=c[E>>2]|0;if((c[(c[q>>2]|0)+4996>>2]|0)>8){of(b,k,l,j,0,g,g,H,m,h,f);break}else{pf(b,k,l,j,0,g,g,H,m,h,f);break}}}else if(a[j+330>>0]|0){h=1<<c[A>>2];g=(h|0)/(c[C>>2]|0)|0;h=(h|0)/(c[D>>2]|0)|0;i=c[p>>2]|0;f=c[n>>2]|0;if((c[(c[q>>2]|0)+5004>>2]|0)>8){of(b,k,l,j,d,g,h,H,m,i,f);break}else{pf(b,k,l,j,d,g,h,H,m,i,f);break}}while(0);k=k+1|0;f=c[v>>2]|0}while((k|0)<(f|0))}l=l+1|0}while((l|0)<(c[t>>2]|0))}d=d+1|0;if(d>>>0>=G>>>0){d=22;break}f=c[q>>2]|0}if((d|0)==22){oz(H);return}else if((d|0)==23)return}function cj(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;Z=hc;K=hc=hc+31&-32;hc=hc+208|0;Y=K+40|0;X=K+24|0;W=K+16|0;z=K+56|0;if((c[f>>2]|0)!=132){Y=0;hc=Z;return Y|0}if(!(a[(c[g+112>>2]|0)+512>>0]|0)){Y=0;hc=Z;return Y|0}if(!(a[g+104>>0]|0)){Y=0;hc=Z;return Y|0}w=g+128|0;x=(c[(c[w>>2]|0)+476>>2]|0)==0?1:3;y=g+24|0;A=g+32|0;B=g+28|0;C=g+36|0;D=g+40|0;E=g+44|0;F=f+8|0;G=K+1|0;H=K+2|0;I=K+3|0;J=K+4|0;L=K+5|0;M=K+6|0;N=K+7|0;O=K+8|0;P=K+9|0;Q=K+10|0;R=K+11|0;S=K+12|0;T=K+13|0;U=K+14|0;V=K+15|0;v=0;a:while(1){j=(v|0)==0;p=c[(j?y:A)>>2]|0;s=c[(j?B:C)>>2]|0;r=c[g+4+(v<<2)>>2]|0;q=c[(j?D:E)>>2]|0;switch(c[F>>2]|0){case 0:{h=c[w>>2]|0;h=c[(j?h+4996|0:h+5004|0)>>2]|0;jj(z);b:do if((s|0)>0){m=p<<1;n=(p|0)<0?-1:m;if((h|0)<=8){h=0;while(1){kj(z,r+(u(h,q)|0)|0,p);h=h+1|0;if((h|0)>=(s|0)){h=0;break b}}}if((p|0)<=0){i=0;h=0;while(1){if(!h){h=mz(n)|0;j=h}else j=h;kj(z,j,m);i=i+1|0;if((i|0)>=(s|0))break b}}if((p|0)==1){i=0;h=0;while(1){if(!h){h=mz(n)|0;j=h}else j=h;p=r+((u(i,q)|0)<<1)|0;a[j>>0]=b[p>>1];a[j+1>>0]=(e[p>>1]|0)>>>8;kj(z,j,m);i=i+1|0;if((i|0)>=(s|0))break b}}k=0;h=0;do{if(!h){h=mz(n)|0;l=h}else l=h;j=u(k,q)|0;i=r+(j<<1)|0;a[l>>0]=b[i>>1];a[l+1>>0]=(e[i>>1]|0)>>>8;i=1;do{_=r+(i+j<<1)|0;o=i<<1;a[l+o>>0]=b[_>>1];a[l+(o|1)>>0]=(e[_>>1]|0)>>>8;i=i+1|0}while((i|0)!=(p|0));kj(z,l,m);k=k+1|0}while((k|0)<(s|0))}else h=0;while(0);lj(K,z);if(h|0)oz(h);if((a[K>>0]|0)!=(a[f+12+(v<<4)>>0]|0)){t=30;break a}if((a[G>>0]|0)!=(a[f+12+(v<<4)+1>>0]|0)){t=30;break a}if((a[H>>0]|0)!=(a[f+12+(v<<4)+2>>0]|0)){t=30;break a}if((a[I>>0]|0)!=(a[f+12+(v<<4)+3>>0]|0)){t=30;break a}if((a[J>>0]|0)!=(a[f+12+(v<<4)+4>>0]|0)){t=30;break a}if((a[L>>0]|0)!=(a[f+12+(v<<4)+5>>0]|0)){t=30;break a}if((a[M>>0]|0)!=(a[f+12+(v<<4)+6>>0]|0)){t=30;break a}if((a[N>>0]|0)!=(a[f+12+(v<<4)+7>>0]|0)){t=30;break a}if((a[O>>0]|0)!=(a[f+12+(v<<4)+8>>0]|0)){t=30;break a}if((a[P>>0]|0)!=(a[f+12+(v<<4)+9>>0]|0)){t=30;break a}if((a[Q>>0]|0)!=(a[f+12+(v<<4)+10>>0]|0)){t=30;break a}if((a[R>>0]|0)!=(a[f+12+(v<<4)+11>>0]|0)){t=30;break a}if((a[S>>0]|0)!=(a[f+12+(v<<4)+12>>0]|0)){t=30;break a}if((a[T>>0]|0)!=(a[f+12+(v<<4)+13>>0]|0)){t=30;break a}if((a[U>>0]|0)!=(a[f+12+(v<<4)+14>>0]|0)){t=30;break a}if((a[V>>0]|0)!=(a[f+12+(v<<4)+15>>0]|0)){t=30;break a}break}case 1:{h=c[w>>2]|0;c:do if((s|0)>0){n=p<<1;o=(p|0)<0?-1:n;i=(p|0)>0;if((c[(j?h+4996|0:h+5004|0)>>2]|0)<=8){if(!i){h=7439;t=59;break}i=0;h=7439;while(1){k=r+(u(i,q)|0)|0;j=0;do{t=h&65535;_=t>>>8^d[k+j>>0];_=_>>>4^_;h=(_|t<<8)^_<<5^_<<12;j=j+1|0}while((j|0)!=(p|0));i=i+1|0;if((i|0)==(s|0)){t=59;break c}}}d:do if(i){if((p|0)==1){m=(p|0)>0;l=0;h=7439;i=0;while(1){if(!i){i=mz(o)|0;k=i}else k=i;_=r+((u(l,q)|0)<<1)|0;p=b[_>>1]|0;a[k>>0]=p;a[k+1>>0]=(e[_>>1]|0)>>>8;_=h&65535;h=_>>>8^p&255;h=h>>>4^h;h=(h|_<<8)^h<<5^h<<12;if(m){j=1;do{_=h&65535;h=_>>>8^d[k+j>>0];h=h>>>4^h;h=(h|_<<8)^h<<5^h<<12;j=j+1|0}while((j|0)<(n|0))}l=l+1|0;if((l|0)==(s|0))break d}}l=0;h=7439;i=0;do{if(!i){i=mz(o)|0;m=i}else m=i;k=u(l,q)|0;j=r+(k<<1)|0;a[m>>0]=b[j>>1];a[m+1>>0]=(e[j>>1]|0)>>>8;j=1;do{$=r+(j+k<<1)|0;_=j<<1;a[m+_>>0]=b[$>>1];a[m+(_|1)>>0]=(e[$>>1]|0)>>>8;j=j+1|0}while((j|0)!=(p|0));j=0;do{_=h&65535;$=_>>>8^d[m+j>>0];$=$>>>4^$;h=($|_<<8)^$<<5^$<<12;j=j+1|0}while((j|0)<(n|0));l=l+1|0}while((l|0)!=(s|0))}else{h=0;i=0;do{if(!i)i=mz(o)|0;h=h+1|0}while((h|0)!=(s|0));h=7439}while(0);h=h&65535;if(i)oz(i)}else{h=7439;t=59}while(0);if((t|0)==59){t=0;h=h&65535}i=b[f+60+(v<<1)>>1]|0;if((h|0)!=(i&65535|0)){t=63;break a}break}case 2:{$=c[w>>2]|0;h=(p|0)>0&(s|0)>0;if((c[(j?$+4996|0:$+5004|0)>>2]|0)<9)if(h){i=0;h=0;do{k=i>>>8^i;l=u(i,q)|0;j=0;do{h=((k^j^j>>>8)&255^d[r+(j+l)>>0])+h|0;j=j+1|0}while((j|0)!=(p|0));i=i+1|0}while((i|0)!=(s|0))}else h=0;else if(h){j=0;h=0;do{k=j>>>8^j;l=u(j,q)|0;i=0;do{$=(k^i^i>>>8)&255;h=$+h+($^d[r+(i+l)>>0])|0;i=i+1|0}while((i|0)!=(p|0));j=j+1|0}while((j|0)!=(s|0))}else h=0;i=c[f+68+(v<<2)>>2]|0;if((h|0)!=(i|0)){t=76;break a}break}default:{}}v=v+1|0;if(v>>>0>=x>>>0){h=0;t=93;break}}if((t|0)==30){$=c[12099]|0;c[W>>2]=c[g+96>>2];_n($,60411,W)|0;$=5;hc=Z;return $|0}else if((t|0)==63){$=c[12099]|0;_=c[g+96>>2]|0;c[X>>2]=i&65535;c[X+4>>2]=h;c[X+8>>2]=_;_n($,60454,X)|0;$=5;hc=Z;return $|0}else if((t|0)==76){$=c[12099]|0;_=c[g+96>>2]|0;c[Y>>2]=i;c[Y+4>>2]=h;c[Y+8>>2]=_;_n($,60454,Y)|0;$=5;hc=Z;return $|0}else if((t|0)==93){hc=Z;return h|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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+20|0;k=c[j>>2]|0;l=a+24|0;b=c[l>>2]|0;if((k|0)==(b|0))M(60334,60364,147,60373);h=b-k>>2;if(h>>>0>1){b=0;d=c[(c[k>>2]|0)+96>>2]|0;e=1;while(1){f=c[(c[k+(e<<2)>>2]|0)+96>>2]|0;g=(f|0)<(d|0);b=g?e:b;e=e+1|0;if(e>>>0>=h>>>0){h=b;break}else d=g?f:d}}else h=0;g=a+36|0;d=c[g>>2]|0;m=(c[a+40>>2]|0)-d|0;f=a+48|0;i=a+52|0;b=c[i>>2]|0;e=b+(c[f>>2]|0)|0;if((((m|0)==0?0:(m<<8)+-1|0)|0)==(e|0)){gj(a+32|0);b=c[i>>2]|0;e=(c[f>>2]|0)+b|0;d=c[g>>2]|0}c[(c[d+(e>>>10<<2)>>2]|0)+((e&1023)<<2)>>2]=c[k+(h<<2)>>2];c[i>>2]=b+1;c[(c[j>>2]|0)+(h<<2)>>2]=c[(c[l>>2]|0)+-4>>2];c[l>>2]=(c[l>>2]|0)+-4;return}function fj(a){a=a|0;return}function gj(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;s=hc;o=hc=hc+31&-32;hc=hc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){nz(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;hc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=lz(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{e=lz(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)nz(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;ij(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)nz(g);hc=s;return}if((e|0)==(b|0)){c[o>>2]=lz(4096)|0;hj(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;hc=s;return}else{o=lz(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{gB(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;hc=s;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,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function jj(a){a=a|0;c[a+8>>2]=1732584193;c[a+12>>2]=-271733879;c[a+16>>2]=-1732584194;c[a+20>>2]=271733878;c[a>>2]=0;c[a+4>>2]=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=c[a>>2]|0;h=f+d&536870911;c[a>>2]=h;g=a+4|0;e=c[g>>2]|0;if(h>>>0<f>>>0){e=e+1|0;c[g>>2]=e}c[g>>2]=e+(d>>>29);e=f&63;do if(e){f=64-e|0;e=a+24+e|0;if(f>>>0<=d>>>0){fB(e|0,b|0,f|0)|0;mj(a,a+24|0,64)|0;b=b+f|0;d=d-f|0;break}fB(e|0,b|0,d|0)|0;return}while(0);if(d>>>0>63){b=mj(a,b,d&-64)|0;d=d&63}fB(a+24|0,b|0,d|0)|0;return}function lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[d>>2]&63;e=f+1|0;a[d+24+f>>0]=-128;f=f^63;g=d+24|0;if(f>>>0<8){hB(d+24+e|0,0,f|0)|0;mj(d,g,64)|0;f=56;e=0}else f=f+-8|0;hB(d+24+e|0,0,f|0)|0;f=c[d>>2]|0;e=f<<3;c[d>>2]=e;a[d+80>>0]=e;a[d+81>>0]=f>>>5;a[d+82>>0]=f>>>13;a[d+83>>0]=f>>>21;f=c[d+4>>2]|0;a[d+84>>0]=f;a[d+85>>0]=f>>>8;a[d+86>>0]=f>>>16;a[d+87>>0]=f>>>24;mj(d,g,64)|0;g=d+8|0;a[b>>0]=c[g>>2];a[b+1>>0]=(c[g>>2]|0)>>>8;a[b+2>>0]=(c[g>>2]|0)>>>16;a[b+3>>0]=(c[g>>2]|0)>>>24;g=d+12|0;a[b+4>>0]=c[g>>2];a[b+5>>0]=(c[g>>2]|0)>>>8;a[b+6>>0]=(c[g>>2]|0)>>>16;a[b+7>>0]=(c[g>>2]|0)>>>24;g=d+16|0;a[b+8>>0]=c[g>>2];a[b+9>>0]=(c[g>>2]|0)>>>8;a[b+10>>0]=(c[g>>2]|0)>>>16;a[b+11>>0]=(c[g>>2]|0)>>>24;g=d+20|0;a[b+12>>0]=c[g>>2];a[b+13>>0]=(c[g>>2]|0)>>>8;a[b+14>>0]=(c[g>>2]|0)>>>16;a[b+15>>0]=(c[g>>2]|0)>>>24;hB(d|0,0,152)|0;return}function mj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;y=a+8|0;z=a+12|0;A=a+16|0;B=a+20|0;j=a+88|0;k=a+92|0;l=a+96|0;m=a+100|0;n=a+104|0;o=a+108|0;p=a+112|0;q=a+116|0;r=a+120|0;s=a+124|0;t=a+128|0;u=a+132|0;v=a+136|0;w=a+140|0;x=a+144|0;i=a+148|0;a=c[y>>2]|0;f=c[z>>2]|0;g=c[B>>2]|0;h=c[A>>2]|0;do{V=(d[b+1>>0]|0)<<8|(d[b>>0]|0)|(d[b+2>>0]|0)<<16|(d[b+3>>0]|0)<<24;c[j>>2]=V;W=a+-680876936+(f&(g^h)^g)+V|0;W=(W<<7|W>>>25)+f|0;O=(d[b+5>>0]|0)<<8|(d[b+4>>0]|0)|(d[b+6>>0]|0)<<16|(d[b+7>>0]|0)<<24;c[k>>2]=O;C=g+-389564586+O+(W&(f^h)^h)|0;C=(C<<12|C>>>20)+W|0;H=(d[b+9>>0]|0)<<8|(d[b+8>>0]|0)|(d[b+10>>0]|0)<<16|(d[b+11>>0]|0)<<24;c[l>>2]=H;D=h+606105819+H+(C&(W^f)^f)|0;D=(D<<17|D>>>15)+C|0;Q=(d[b+13>>0]|0)<<8|(d[b+12>>0]|0)|(d[b+14>>0]|0)<<16|(d[b+15>>0]|0)<<24;c[m>>2]=Q;E=f+-1044525330+Q+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;J=(d[b+17>>0]|0)<<8|(d[b+16>>0]|0)|(d[b+18>>0]|0)<<16|(d[b+19>>0]|0)<<24;c[n>>2]=J;W=W+-176418897+J+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;S=(d[b+21>>0]|0)<<8|(d[b+20>>0]|0)|(d[b+22>>0]|0)<<16|(d[b+23>>0]|0)<<24;c[o>>2]=S;C=C+1200080426+S+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;L=(d[b+25>>0]|0)<<8|(d[b+24>>0]|0)|(d[b+26>>0]|0)<<16|(d[b+27>>0]|0)<<24;c[p>>2]=L;D=D+-1473231341+L+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;U=(d[b+29>>0]|0)<<8|(d[b+28>>0]|0)|(d[b+30>>0]|0)<<16|(d[b+31>>0]|0)<<24;c[q>>2]=U;E=E+-45705983+U+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;N=(d[b+33>>0]|0)<<8|(d[b+32>>0]|0)|(d[b+34>>0]|0)<<16|(d[b+35>>0]|0)<<24;c[r>>2]=N;W=W+1770035416+N+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;G=(d[b+37>>0]|0)<<8|(d[b+36>>0]|0)|(d[b+38>>0]|0)<<16|(d[b+39>>0]|0)<<24;c[s>>2]=G;C=G+-1958414417+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;P=(d[b+41>>0]|0)<<8|(d[b+40>>0]|0)|(d[b+42>>0]|0)<<16|(d[b+43>>0]|0)<<24;c[t>>2]=P;D=P+-42063+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;I=(d[b+45>>0]|0)<<8|(d[b+44>>0]|0)|(d[b+46>>0]|0)<<16|(d[b+47>>0]|0)<<24;c[u>>2]=I;E=I+-1990404162+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;R=(d[b+49>>0]|0)<<8|(d[b+48>>0]|0)|(d[b+50>>0]|0)<<16|(d[b+51>>0]|0)<<24;c[v>>2]=R;W=R+1804603682+W+(E&(D^C)^C)|0;W=(W<<7|W>>>25)+E|0;K=(d[b+53>>0]|0)<<8|(d[b+52>>0]|0)|(d[b+54>>0]|0)<<16|(d[b+55>>0]|0)<<24;c[w>>2]=K;C=K+-40341101+C+(W&(E^D)^D)|0;C=(C<<12|C>>>20)+W|0;T=(d[b+57>>0]|0)<<8|(d[b+56>>0]|0)|(d[b+58>>0]|0)<<16|(d[b+59>>0]|0)<<24;c[x>>2]=T;D=T+-1502002290+D+(C&(W^E)^E)|0;D=(D<<17|D>>>15)+C|0;M=(d[b+61>>0]|0)<<8|(d[b+60>>0]|0)|(d[b+62>>0]|0)<<16|(d[b+63>>0]|0)<<24;c[i>>2]=M;E=M+1236535329+E+(D&(C^W)^W)|0;E=(E<<22|E>>>10)+D|0;W=O+-165796510+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=L+-1069501632+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=I+643717713+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=V+-373897302+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=S+-701558691+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=P+38016083+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=M+-660478335+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=J+-405537848+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=G+568446438+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=T+-1019803690+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=Q+-187363961+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;E=N+1163531501+E+((D^C)&W^C)|0;E=(E<<20|E>>>12)+D|0;W=K+-1444681467+W+((E^D)&C^D)|0;W=(W<<5|W>>>27)+E|0;C=H+-51403784+C+((W^E)&D^E)|0;C=(C<<9|C>>>23)+W|0;D=U+1735328473+D+((C^W)&E^W)|0;D=(D<<14|D>>>18)+C|0;F=D^C;E=R+-1926607734+E+(F&W^C)|0;E=(E<<20|E>>>12)+D|0;F=S+-378558+W+(F^E)|0;F=(F<<4|F>>>28)+E|0;C=N+-2022574463+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=I+1839030562+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=T+-35309556+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=O+-1530992060+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=J+1272893353+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=U+-155497632+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=P+-1094730640+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=K+681279174+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=V+-358537222+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=Q+-722521979+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=L+76029189+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=G+-640364487+F+(D^C^E)|0;F=(F<<4|F>>>28)+E|0;C=R+-421815835+C+(E^D^F)|0;C=(C<<11|C>>>21)+F|0;D=M+530742520+D+(F^E^C)|0;D=(D<<16|D>>>16)+C|0;E=H+-995338651+E+(C^F^D)|0;E=(E<<23|E>>>9)+D|0;F=V+-198630844+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=U+1126891415+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=T+-1416354905+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=S+-57434055+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=R+1700485571+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=Q+-1894986606+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=P+-1051523+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=O+-2054922799+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=N+1873313359+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=M+-30611744+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=L+-1560198380+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=K+1309151649+E+((D|~F)^C)|0;E=(E<<21|E>>>11)+D|0;F=J+-145523070+F+((E|~C)^D)|0;F=(F<<6|F>>>26)+E|0;C=I+-1120210379+C+((F|~D)^E)|0;C=(C<<10|C>>>22)+F|0;D=H+718787259+D+((C|~E)^F)|0;D=(D<<15|D>>>17)+C|0;E=G+-343485551+E+((D|~F)^C)|0;a=F+a|0;f=D+f+(E<<21|E>>>11)|0;h=D+h|0;g=C+g|0;b=b+64|0;e=e+-64|0}while((e|0)!=0);c[y>>2]=a;c[z>>2]=f;c[A>>2]=h;c[B>>2]=g;return b|0}function nj(a,b){a=a|0;b=b|0;eb(a|0,b|0)|0;return}function oj(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+356|0;Ae(d);e=a+336|0;c[e>>2]=(c[e>>2]|0)+b;a=a+352|0;c[a>>2]=(c[a>>2]|0)+b;Ce(d);return}function pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;g=b+4|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+64|0;e=b+64|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+300|0;d=b+300|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+8|0;g=b+8|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+68|0;e=b+68|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+304|0;d=b+304|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+12|0;g=b+12|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+72|0;e=b+72|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+308|0;d=b+308|0;g=c[e>>2]|0;c[e>>2]=c[d>>2];c[d>>2]=g;d=a+40|0;g=b+40|0;e=c[d>>2]|0;c[d>>2]=c[g>>2];c[g>>2]=e;g=a+44|0;e=b+44|0;d=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=d;e=a+312|0;b=b+312|0;a=e;d=c[a>>2]|0;a=c[a+4>>2]|0;g=b;f=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;c[b>>2]=d;c[b+4>>2]=a;return}function qj(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function rj(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=b+420|0;Do(k)|0;if(a[b>>0]|0){Eo(k)|0;return}i=b+8|0;f=c[i>>2]|0;l=(c[b+12>>2]|0)-f|0;g=b+20|0;j=b+24|0;e=c[j>>2]|0;h=e+(c[g>>2]|0)|0;if((((l|0)==0?0:(l<<8)+-1|0)|0)==(h|0)){sj(b+4|0);e=c[j>>2]|0;h=(c[g>>2]|0)+e|0;f=c[i>>2]|0}c[(c[f+(h>>>10<<2)>>2]|0)+((h&1023)<<2)>>2]=d;c[j>>2]=e+1;db(b+448|0)|0;Eo(k)|0;return}function sj(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;s=hc;o=hc=hc+31&-32;hc=hc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){nz(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;hc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=lz(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{e=lz(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)nz(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;uj(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)nz(g);hc=s;return}if((e|0)==(b|0)){c[o>>2]=lz(4096)|0;tj(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;hc=s;return}else{o=lz(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{gB(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;hc=s;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,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+12>>2]|0;a=c[a+8>>2]|0;e=a;if((d|0)==(a|0)){b=-1;return b|0}d=d-a>>2;a=0;while(1){if((c[c[e+(a<<2)>>2]>>2]|0)==(b|0)){d=5;break}a=a+1|0;if(a>>>0>=d>>>0){a=-1;d=5;break}}if((d|0)==5)return a|0;return 0}function wj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+18608|0;m=e+4|0;f=c[m>>2]|0;k=f+1348|0;l=f+1352|0;g=c[k>>2]|0;if((c[l>>2]|0)!=(g|0)){i=b+2144|0;j=b+2152|0;h=0;f=g;do{f=vj(i,c[f+(h<<2)>>2]|0)|0;if((f|0)>-1)c[(c[(c[j>>2]|0)+(f<<2)>>2]|0)+100>>2]=0;h=h+1|0;f=c[k>>2]|0}while(h>>>0<(c[l>>2]|0)-f>>2>>>0);f=c[m>>2]|0}l=c[(c[d>>2]|0)+136>>2]|0;if((c[f+20>>2]|0)>>>0>=(c[l+4352>>2]|0)-(c[l+4348>>2]|0)>>2>>>0){n=6;hc=o;return n|0}l=n+18572|0;Cj(l);k=n+18500|0;h=n+18584|0;f=n+38|0;g=f&14;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[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;if(!g)c[n+2104>>2]=f;else{f=f+(16-g)|0;c[n+2104>>2]=f}hB(f|0,0,2048)|0;f=c[m>>2]|0;c[n+18592>>2]=f;k=c[d>>2]|0;c[n+18588>>2]=k;c[h>>2]=b;c[n+18596>>2]=d;c[n+18600>>2]=e;c[n+4>>2]=c[(c[(c[k+136>>2]|0)+4348>>2]|0)+(c[f+20>>2]<<2)>>2];c[n+18604>>2]=0;Aj(0,n);f=c[e+12>>2]|0;if((f|0)<1)f=17;else{Yg(n+18548|0,c[e+8>>2]|0,f);do if(a[(c[(c[d>>2]|0)+136>>2]|0)+41>>0]|0?a[(c[m>>2]|0)+8>>0]|0:0){j=d+484|0;i=(c[(c[(c[b+2220>>2]|0)+128>>2]|0)+5064>>2]|0)+-1|0;k=d+488|0;f=c[k>>2]|0;g=c[j>>2]|0;h=f-g>>3;if(i>>>0>h>>>0){Dj(j,i-h|0);break}if(i>>>0<h>>>0){g=g+(i<<3)|0;if((g|0)!=(f|0))do{f=f+-8|0;ff(f)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);c[e+124>>2]=1;f=Fj(n)|0;ze(e+44|0,1)}ff(l);n=f;hc=o;return n|0}function xj(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=hc;B=hc=hc+31&-32;hc=hc+16|0;C=c[d>>2]|0;A=c[e+4>>2]|0;m=c[C+136>>2]|0;y=c[A+772>>2]|0;l=y+1|0;f=c[C+128>>2]|0;z=c[f+5056>>2]|0;if((c[C+344>>2]|0)!=(0-(c[C+340>>2]|0)|0))M(60545,60315,992,60796);do if(a[A+8>>0]|0){j=d+484|0;g=(c[f+5064>>2]|0)+-1|0;k=d+488|0;f=c[k>>2]|0;h=c[j>>2]|0;i=f-h>>3;if(g>>>0>i>>>0){Dj(j,g-i|0);break}if(g>>>0<i>>>0){g=h+(g<<3)|0;if((g|0)!=(f|0))do{f=f+-8|0;ff(f)}while((f|0)!=(g|0));c[k>>2]=g}}while(0);zj(e,l);f=c[A+20>>2]|0;j=(f|0)/(z|0)|0;a:do if((y|0)>=0){p=e+140|0;q=e+136|0;r=C+112|0;s=m+4348|0;o=A+780|0;t=e+12|0;v=e+8|0;w=e+124|0;x=b+1392|0;if(!y){if((c[p>>2]|0)<=0)M(60600,60620,174,60631);h=c[q>>2]|0;c[h+18592>>2]=A;c[h+18584>>2]=c[r>>2];c[h+18588>>2]=C;g=h+18596|0;c[g>>2]=d;c[h+18600>>2]=e;c[h+4>>2]=c[(c[s>>2]|0)+(f<<2)>>2];Aj(0,h);f=c[t>>2]|0;if((f|0)<=0)break;Yg(h+18548|0,c[v>>2]|0,f);oj(C,1);c[w>>2]=(c[w>>2]|0)+1;i=lz(20)|0;c[i+4>>2]=0;c[i>>2]=12356;a[i+8>>0]=1;c[i+16>>2]=h;c[i+12>>2]=j;c[h+18604>>2]=i;rj(x,i);f=c[g>>2]|0;c[B>>2]=i;g=f+476|0;h=c[g>>2]|0;if(h>>>0<(c[f+480>>2]|0)>>>0){c[h>>2]=i;c[g>>2]=(c[g>>2]|0)+4}else Bj(f+472|0,B);break}g=j;n=0;while(1){b=(n|0)==0;if(b){if((f|0)%(z|0)|0)break a}else{f=g+1|0;g=f;f=u(f,z)|0}if((c[p>>2]|0)<=(n|0))break;j=c[q>>2]|0;k=j+(n*18608|0)|0;c[j+(n*18608|0)+18592>>2]=A;c[j+(n*18608|0)+18584>>2]=c[r>>2];c[j+(n*18608|0)+18588>>2]=C;l=j+(n*18608|0)+18596|0;c[l>>2]=d;c[j+(n*18608|0)+18600>>2]=e;c[j+(n*18608|0)+4>>2]=c[(c[s>>2]|0)+(f<<2)>>2];Aj(0,k);if(b)i=0;else i=c[(c[o>>2]|0)+(n+-1<<2)>>2]|0;if((n|0)==(y|0))h=t;else h=(c[o>>2]|0)+(n<<2)|0;h=c[h>>2]|0;if((i|0)<0)break a;if(!((h|0)>(i|0)?(h|0)<=(c[t>>2]|0):0))break a;Yg(j+(n*18608|0)+18548|0,(c[v>>2]|0)+i|0,h-i|0);oj(C,1);c[w>>2]=(c[w>>2]|0)+1;m=lz(20)|0;c[m+4>>2]=0;c[m>>2]=12356;a[m+8>>0]=b&1;c[m+16>>2]=k;c[m+12>>2]=g;c[j+(n*18608|0)+18604>>2]=m;rj(x,m);h=c[l>>2]|0;c[B>>2]=m;i=h+476|0;j=c[i>>2]|0;if(j>>>0<(c[h+480>>2]|0)>>>0){c[j>>2]=m;c[i>>2]=(c[i>>2]|0)+4}else Bj(h+472|0,B);if((n|0)<(y|0))n=n+1|0;else break a}M(60600,60620,174,60631)}while(0);$i(C);j=d+472|0;k=d+476|0;g=c[k>>2]|0;f=c[j>>2]|0;if((g|0)==(f|0)){d=g;c[k>>2]=d;hc=D;return 0}i=0;do{h=c[f+(i<<2)>>2]|0;if(h){wc[c[(c[h>>2]|0)+4>>2]&255](h);g=c[k>>2]|0;f=c[j>>2]|0}i=i+1|0}while(i>>>0<g-f>>2>>>0);c[k>>2]=f;hc=D;return 0}function yj(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=hc;s=hc=hc+31&-32;hc=hc+16|0;D=c[d>>2]|0;E=c[e+4>>2]|0;F=c[D+136>>2]|0;p=c[E+772>>2]|0;q=c[(c[D+128>>2]|0)+5056>>2]|0;if((c[D+344>>2]|0)!=(0-(c[D+340>>2]|0)|0))M(60545,60315,1106,60576);zj(e,p+1|0);f=c[E+20>>2]|0;a:do if((p|0)<0)G=0;else{r=e+140|0;t=F+44|0;v=F+48|0;w=e+136|0;x=D+112|0;y=F+4348|0;z=E+780|0;A=e+12|0;B=e+8|0;C=e+124|0;o=b+1392|0;g=f;b=c[(c[F+4384>>2]|0)+(f<<2)>>2]|0;n=0;while(1){m=(n|0)==0;if(!m){f=b+1|0;b=c[t>>2]|0;if((f|0)>=(u(c[v>>2]|0,b)|0)){G=1007;break a}l=(f|0)/(b|0)|0;g=c[F+4260+(f-(u(l,b)|0)<<2)>>2]|0;g=(u(c[F+4304+(l<<2)>>2]|0,q)|0)+g|0;b=f}if((c[r>>2]|0)<=(n|0))break;i=c[w>>2]|0;j=i+(n*18608|0)|0;c[i+(n*18608|0)+18592>>2]=E;c[i+(n*18608|0)+18584>>2]=c[x>>2];c[i+(n*18608|0)+18588>>2]=D;k=i+(n*18608|0)+18596|0;c[k>>2]=d;c[i+(n*18608|0)+18600>>2]=e;c[i+(n*18608|0)+4>>2]=c[(c[y>>2]|0)+(g<<2)>>2];Aj(0,j);if(m)h=0;else h=c[(c[z>>2]|0)+(n+-1<<2)>>2]|0;if((n|0)==(p|0))f=A;else f=(c[z>>2]|0)+(n<<2)|0;f=c[f>>2]|0;if((h|0)<0){G=17;break a}if(!((f|0)>(h|0)?(f|0)<=(c[A>>2]|0):0)){G=17;break a}Yg(i+(n*18608|0)+18548|0,(c[B>>2]|0)+h|0,f-h|0);oj(D,1);c[C>>2]=(c[C>>2]|0)+1;f=(g|0)/(q|0)|0;h=g-(u(f,q)|0)|0;l=lz(24)|0;c[l+4>>2]=0;c[l>>2]=12248;a[l+8>>0]=m&1;c[l+20>>2]=j;c[l+12>>2]=h;c[l+16>>2]=f;c[i+(n*18608|0)+18604>>2]=l;rj(o,l);f=c[k>>2]|0;c[s>>2]=l;h=f+476|0;i=c[h>>2]|0;if(i>>>0<(c[f+480>>2]|0)>>>0){c[i>>2]=l;c[h>>2]=(c[h>>2]|0)+4}else Bj(f+472|0,s);if((n|0)<(p|0))n=n+1|0;else{G=0;break a}}M(60600,60620,174,60631)}while(0);$i(D);i=d+472|0;j=d+476|0;f=c[j>>2]|0;b=c[i>>2]|0;if((f|0)==(b|0)){d=f;c[j>>2]=d;hc=H;return G|0}h=0;do{g=c[b+(h<<2)>>2]|0;if(g){wc[c[(c[g>>2]|0)+4>>2]&255](g);f=c[j>>2]|0;b=c[i>>2]|0}h=h+1|0}while(h>>>0<f-b>>2>>>0);c[j>>2]=b;hc=H;return G|0}function zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+136|0;if(c[h>>2]|0)M(60749,60315,172,60771);i=b*18608|0;i=mz(b>>>0>230812|i>>>0>4294967291?-1:i+4|0)|0;c[i>>2]=b;i=i+4|0;if(!b){c[h>>2]=i;i=a+140|0;c[i>>2]=b;return}f=i+(b*18608|0)|0;g=i;do{Cj(g+18572|0);k=g+18500|0;j=g+18584|0;d=g+38|0;e=d&15;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[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;if(!e)c[g+2104>>2]=d;else{d=d+(16-e)|0;c[g+2104>>2]=d}hB(d|0,0,2048)|0;g=g+18608|0}while((g|0)!=(f|0));c[h>>2]=i;k=a+140|0;c[k>>2]=b;return}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;hB(d+38|0,0,2064)|0;c[d+18524>>2]=-1;c[d+18528>>2]=-1;g=c[d+18588>>2]|0;f=c[g+136>>2]|0;b=c[g+128>>2]|0;e=c[(c[d+18592>>2]|0)+20>>2]|0;if((e|0)<=0)return;f=c[(c[f+4360>>2]|0)+((c[(c[f+4348>>2]|0)+(e<<2)>>2]|0)+-1<<2)>>2]|0;i=c[b+5056>>2]|0;j=(f|0)/(i|0)|0;i=f-(u(j,i)|0)+1|0;f=c[b+5040>>2]|0;i=(i<<f)+-1|0;f=(j+1<<f)+-1|0;j=(c[b+484>>2]|0)+-1|0;h=(c[b+488>>2]|0)+-1|0;e=c[g+172>>2]|0;b=((j|0)<(i|0)?j:i)>>e;e=((h|0)<(f|0)?h:f)>>e;if((b|0)<=-1)M(60650,60687,120,60707);f=c[g+176>>2]|0;if((b|0)>=(f|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)>=(c[g+180>>2]|0))M(60711,60687,121,60707);c[d+18520>>2]=a[(c[g+164>>2]|0)+(((u(f,e)|0)+b|0)*3|0)+2>>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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function Cj(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;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;k=a+8|0;f=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(f-d>>3>>>0>=b>>>0){do{Cj(d);d=(c[l>>2]|0)+8|0;c[l>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=c[a>>2]|0;g=d-e>>3;d=g+b|0;if(d>>>0>536870911)Yz(a);j=f-e|0;e=j>>2;e=j>>3>>>0<268435455?(e>>>0<d>>>0?d:e):536870911;do if(e)if(e>>>0>536870911){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{d=lz(e<<3)|0;break}else d=0;while(0);i=d+(g<<3)|0;h=i;j=d+(e<<3)|0;e=h;d=i;while(1){Cj(d);d=e+8|0;b=b+-1|0;if(!b)break;else e=d}g=d;f=c[a>>2]|0;d=c[l>>2]|0;if((d|0)==(f|0)){b=h;e=f;d=f}else{e=h;b=i;while(1){d=d+-8|0;Ej(b+-8|0,d);b=e+-8|0;if((d|0)==(f|0))break;else e=b}e=c[a>>2]|0;d=c[l>>2]|0}c[a>>2]=b;c[l>>2]=g;c[k>>2]=j;b=e;if((d|0)!=(b|0))do{d=d+-8|0;ff(d)}while((d|0)!=(b|0));if(!e)return;nz(e);return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0;e=hc;d=hc=hc+31&-32;hc=hc+16|0;if(0){c[d>>2]=a;c[d+4>>2]=b;ko(60818,d)|0}d=c[b+4>>2]|0;if(d|0)c[d>>2]=(c[d>>2]|0)+1;c[a+4>>2]=d;c[a>>2]=c[b>>2];hc=e;return}function Fj(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;e=c[b+18588>>2]|0;f=c[e+128>>2]|0;g=c[b+4>>2]|0;d=c[f+5072>>2]|0;if((g|0)<(d|0)){e=e+136|0;d=c[(c[(c[e>>2]|0)+4360>>2]|0)+(g<<2)>>2]|0;g=c[f+5056>>2]|0;m=(d|0)/(g|0)|0;f=m;g=d-(u(m,g)|0)|0}else{g=c[f+5056>>2]|0;m=(d|0)/(g|0)|0;e=e+136|0;f=m;g=d-(u(m,g)|0)|0}c[b>>2]=d;c[b+8>>2]=g;c[b+12>>2]=f;d=c[e>>2]|0;l=b+18592|0;e=c[l>>2]|0;if(!(tf(b)|0)){b=18;return b|0}m=b+18548|0;wf(m);g=d+42|0;h=b+18552|0;i=b+18584|0;j=b+18572|0;k=b+18580|0;d=0;e=(a[e+16>>0]|0)==0;while(1){do if(d|0){f=d+-1|0;o=c[l>>2]|0;n=c[o+780>>2]|0;if(f>>>0<(c[o+784>>2]|0)-n>>2>>>0?((c[h>>2]|0)+-2-(c[m>>2]|0)|0)==(c[n+(f<<2)>>2]|0):0)break;De((c[i>>2]|0)+4|0,1003,1)}while(0);d=d+1|0;if((xf(b,0,e)|0|2|0)==2){d=0;e=16;break}if(a[g>>0]|0){e=c[l>>2]|0;f=c[e+800>>2]|0;if(f>>>0>=3){e=14;break}vf(j,f,c[e+796>>2]|0);a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0}e=0}if((e|0)==14)M(58514,58545,1511,58556);else if((e|0)==16)return d|0;return 0}function Gj(b,c){b=b|0;c=c|0;Vg(c,1);a[b>>0]=Mf(c,6)|0;a[b+1>>0]=Mf(c,6)|0;a[b+2>>0]=(Mf(c,3)|0)+255;return}function Hj(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;o=hc;m=hc=hc+31&-32;hc=hc+16|0;l=m+4|0;k=m+8|0;n=lz(1360)|0;Jk(n);h=Kk(n,d,b,k)|0;c[m>>2]=h;if(!(a[k>>0]|0)){g=c[b+2220>>2]|0;if(g|0)a[g+324>>0]=2;gf(b+548|0,e);g=c[n+1348>>2]|0;if(g|0){c[n+1352>>2]=g;nz(g)}ff(n+1336|0);g=c[n+780>>2]|0;if(g|0){c[n+784>>2]=g;nz(g)}nz(n);n=h;hc=o;return n|0}g=c[b+528>>2]|0;if((g|0)>-1)Lk(n,b,g);j=e+8|0;j=Mk(b,n,m,c[j>>2]|0,c[j+4>>2]|0,f,c[e+16>>2]|0)|0;k=b+2220|0;g=c[k>>2]|0;if(!j){if(g|0)a[g+324>>0]=2;gf(b+548|0,e);g=c[n+1348>>2]|0;if(g|0){c[n+1352>>2]=g;nz(g)}ff(n+1336|0);g=c[n+780>>2]|0;if(g|0){c[n+784>>2]=g;nz(g)}nz(n);n=c[m>>2]|0;hc=o;return n|0}c[l>>2]=n;f=g+52|0;h=g+56|0;i=c[h>>2]|0;c[n>>2]=i-(c[f>>2]|0)>>2;if((c[g+60>>2]|0)==(i|0))Nk(f,l);else{c[i>>2]=n;c[h>>2]=(c[h>>2]|0)+4}Vg(d,1);Nf(d);f=(c[d>>2]|0)-(c[e+20>>2]|0)|0;h=n+772|0;if((c[h>>2]|0)>0){i=n+780|0;g=0;j=c[i>>2]|0;do{q=Ok(e,c[j+(g<<2)>>2]|0,f)|0;j=c[i>>2]|0;p=j+(g<<2)|0;c[p>>2]=(c[p>>2]|0)-q;g=g+1|0}while((g|0)<(c[h>>2]|0))}if(!(a[n+8>>0]|0))g=b+3216|0;else{h=lz(496)|0;Rg(h+8|0);g=h+440|0;f=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[l>>2]=h;c[h>>2]=c[k>>2];g=b+3216|0;f=c[g>>2]|0;if((f|0)==(c[b+3220>>2]|0))Pk(b+3212|0,l);else{c[f>>2]=h;c[g>>2]=(c[g>>2]|0)+4}}if((c[b+3212>>2]|0)!=(c[g>>2]|0)){i=lz(152)|0;c[i>>2]=0;f=i+4|0;c[f>>2]=0;c[i+32>>2]=0;a[i+36>>0]=0;Qg(i+44|0);c[i+124>>2]=0;c[i+128>>2]=-1;c[i+132>>2]=-1;c[i+136>>2]=0;c[i+144>>2]=b;c[i+40>>2]=0;c[i+140>>2]=0;c[l>>2]=i;c[i>>2]=e;c[f>>2]=n;f=i+8|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];a[i+36>>0]=a[b+3224>>0]|0;g=c[(c[g>>2]|0)+-4>>2]|0;f=g+444|0;h=c[f>>2]|0;if((h|0)==(c[g+448>>2]|0))Qk(g+440|0,l);else{c[h>>2]=i;c[f>>2]=(c[f>>2]|0)+4}}c[m>>2]=Xi(b,l)|0;q=0;hc=o;return q|0}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=hc;e=hc=hc+31&-32;hc=hc+16|0;d=e;e=e+8|0;i=lz(668)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i>>2]=12460;h=i+12|0;hB(h|0,0,656)|0;f=e+4|0;c[e>>2]=h;c[f>>2]=i;c[d>>2]=h;c[d+4>>2]=h;zk(e,d);d=Ak(c[e>>2]|0,a+4|0,b)|0;if(!d){b=c[a+520>>2]|0;if((b|0)>-1)Bk(c[e>>2]|0,b);b=c[e>>2]|0;d=c[b>>2]|0;e=c[f>>2]|0;if(e|0){i=e+4|0;c[i>>2]=(c[i>>2]|0)+1}c[a+600+(d<<3)>>2]=b;i=a+600+(d<<3)+4|0;b=c[i>>2]|0;c[i>>2]=e;if((b|0)!=0?(h=b+4|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);d=0}else d=0}b=c[f>>2]|0;if(!b){hc=g;return d|0}h=b+4|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(i|0){hc=g;return d|0}wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);hc=g;return d|0}function Jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=hc;e=hc=hc+31&-32;hc=hc+16|0;d=e;e=e+8|0;i=lz(5180)|0;c[i+4>>2]=0;c[i+8>>2]=0;c[i>>2]=12432;h=i+12|0;sk(h);f=e+4|0;c[e>>2]=h;c[f>>2]=i;c[d>>2]=h;c[d+4>>2]=h;ck(e,d);d=dk(c[e>>2]|0,a+4|0,b)|0;if(!d){b=c[a+516>>2]|0;if((b|0)>-1)ek(c[e>>2]|0,b);b=c[e>>2]|0;d=c[b+472>>2]|0;e=c[f>>2]|0;if(e|0){i=e+4|0;c[i>>2]=(c[i>>2]|0)+1}c[a+728+(d<<3)>>2]=b;i=a+728+(d<<3)+4|0;b=c[i>>2]|0;c[i>>2]=e;if((b|0)!=0?(h=b+4|0,i=c[h>>2]|0,c[h>>2]=i+-1,(i|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);d=0}else d=0}b=c[f>>2]|0;if(!b){hc=g;return d|0}h=b+4|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(i|0){hc=g;return d|0}wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);hc=g;return d|0}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=hc;e=hc=hc+31&-32;hc=hc+16|0;g=e;e=e+8|0;j=lz(4420)|0;c[j+4>>2]=0;c[j+8>>2]=0;c[j>>2]=12404;f=j+12|0;Yj(f);h=e+4|0;c[e>>2]=f;c[h>>2]=j;c[g>>2]=f;c[g+4>>2]=f;Oj(e,g);g=Pj(c[e>>2]|0,d,b)|0;d=c[b+524>>2]|0;if((d|0)>-1)Qj(c[e>>2]|0,d);if(g){d=c[e>>2]|0;e=a[d+8>>0]|0;f=c[h>>2]|0;if(f|0){j=f+4|0;c[j>>2]=(c[j>>2]|0)+1}c[b+856+(e<<3)>>2]=d;j=b+856+(e<<3)+4|0;d=c[j>>2]|0;c[j>>2]=f;if(d|0?(b=d+4|0,j=c[b>>2]|0,c[b>>2]=j+-1,(j|0)==0):0){wc[c[(c[d>>2]|0)+8>>2]&255](d);iz(d)}}e=g?0:1006;d=c[h>>2]|0;if(!d){hc=i;return e|0}h=d+4|0;j=c[h>>2]|0;c[h>>2]=j+-1;if(j|0){hc=i;return e|0}wc[c[(c[d>>2]|0)+8>>2]&255](d);iz(d);hc=i;return e|0}function Lj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;f=0;do{i=Mf(d,8)|0;f=i+f|0}while((i|0)==255);h=0;do{i=Mf(d,8)|0;h=i+h|0}while((i|0)==255);c[e>>2]=f;c[e+4>>2]=h;if((f|0)!=132){e=0;return e|0}h=Mf(d,8)|0;i=e+8|0;c[i>>2]=h;if(!g){e=1025;return e|0}g=(c[g+476>>2]|0)==0?1:3;f=0;while(1){switch(h|0){case 0:{a[e+12+(f<<4)>>0]=Mf(d,8)|0;a[e+12+(f<<4)+1>>0]=Mf(d,8)|0;a[e+12+(f<<4)+2>>0]=Mf(d,8)|0;a[e+12+(f<<4)+3>>0]=Mf(d,8)|0;a[e+12+(f<<4)+4>>0]=Mf(d,8)|0;a[e+12+(f<<4)+5>>0]=Mf(d,8)|0;a[e+12+(f<<4)+6>>0]=Mf(d,8)|0;a[e+12+(f<<4)+7>>0]=Mf(d,8)|0;a[e+12+(f<<4)+8>>0]=Mf(d,8)|0;a[e+12+(f<<4)+9>>0]=Mf(d,8)|0;a[e+12+(f<<4)+10>>0]=Mf(d,8)|0;a[e+12+(f<<4)+11>>0]=Mf(d,8)|0;a[e+12+(f<<4)+12>>0]=Mf(d,8)|0;a[e+12+(f<<4)+13>>0]=Mf(d,8)|0;a[e+12+(f<<4)+14>>0]=Mf(d,8)|0;a[e+12+(f<<4)+15>>0]=Mf(d,8)|0;break}case 1:{b[e+60+(f<<1)>>1]=Mf(d,16)|0;break}case 2:{c[e+68+(f<<2)>>2]=Mf(d,32)|0;break}default:{}}f=f+1|0;if((f|0)==(g|0)){f=0;break}h=c[i>>2]|0}return f|0}function Mj(a,b){a=a|0;b=b|0;return}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;e=(k|0)/80|0;d=e+1|0;if(d>>>0>53687091)Yz(a);l=a+8|0;h=((c[l>>2]|0)-j|0)/80|0;f=h<<1;f=h>>>0<26843545?(f>>>0<d>>>0?d:f):53687091;do if(f)if(f>>>0>53687091){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{d=lz(f*80|0)|0;break}else d=0;while(0);h=d+(e*80|0)|0;g=d+(f*80|0)|0;f=h;d=b;e=f+80|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));d=h+(((k|0)/-80|0)*80|0)|0;if((k|0)>0)fB(d|0,j|0,k|0)|0;c[a>>2]=d;c[i>>2]=h+80;c[l>>2]=g;if(!j)return;nz(j);return}function Oj(a,b){a=a|0;b=b|0;return}function Pj(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,y=0,z=0,A=0,B=0,C=0,D=0;a[d>>0]=0;B=d+4|0;h=d+13|0;c[B>>2]=0;c[B+4>>2]=0;a[B+8>>0]=0;a[h>>0]=1;j=d+14|0;a[j>>0]=1;l=d+16|0;c[l>>2]=27;m=d+20|0;a[m>>0]=0;n=d+21|0;a[n>>0]=0;o=d+22|0;a[o>>0]=0;k=d+24|0;q=d+44|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;a[k+18>>0]=0;c[q>>2]=1;r=d+48|0;c[r>>2]=1;p=d+52|0;a[p>>0]=1;s=d+53|0;a[s>>0]=1;t=d+54|0;a[t>>0]=1;hB(d+4180|0,0,168)|0;c[d+4352>>2]=c[d+4348>>2];c[d+4364>>2]=c[d+4360>>2];c[d+4376>>2]=c[d+4372>>2];c[d+4388>>2]=c[d+4384>>2];c[d+4400>>2]=c[d+4396>>2];c[d+4168>>2]=0;u=d+55|0;a[u>>0]=0;v=d+56|0;a[v>>0]=0;w=d+57|0;a[w>>0]=0;x=d+60|0;c[x>>2]=0;y=d+64|0;c[y>>2]=0;z=d+68|0;a[z>>0]=0;A=d+4133|0;a[A>>0]=0;C=d+4136|0;c[C>>2]=2;g=d+4140|0;c[g>>2]=0;b[g+4>>1]=0;i=Wg(e)|0;a[d+8>>0]=i;if((i|0)>63|(i|0)==-99999){De(f+4|0,1009,0);C=0;return C|0}D=Wg(e)|0;i=d+9|0;a[i>>0]=D;if((D|0)>63|(D|0)==-99999){De(f+4|0,1010,0);D=0;return D|0}a[d+10>>0]=Mf(e,1)|0;a[d+39>>0]=Mf(e,1)|0;a[g>>0]=Mf(e,3)|0;a[d+11>>0]=Mf(e,1)|0;a[d+12>>0]=Mf(e,1)|0;D=Wg(e)|0;g=D&255;a[h>>0]=g;if((D|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}a[h>>0]=g+1<<24>>24;D=Wg(e)|0;g=D&255;a[j>>0]=g;if((D|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}a[j>>0]=g+1<<24>>24;g=c[f+728+(a[i>>0]<<3)>>2]|0;if(!g){De(f+4|0,1010,0);D=0;return D|0}c[B>>2]=g;g=Xg(e)|0;c[l>>2]=g;if((g|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}c[l>>2]=g+26;a[m>>0]=Mf(e,1)|0;a[n>>0]=Mf(e,1)|0;D=(Mf(e,1)|0)&255;a[o>>0]=D;if(D<<24>>24){D=Wg(e)|0;c[k>>2]=D;if((D|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}}else c[k>>2]=0;D=Xg(e)|0;c[d+28>>2]=D;if((D|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}D=Xg(e)|0;c[d+32>>2]=D;if((D|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}a[d+36>>0]=Mf(e,1)|0;a[d+37>>0]=Mf(e,1)|0;a[d+38>>0]=Mf(e,1)|0;a[d+40>>0]=Mf(e,1)|0;D=d+42|0;a[D>>0]=Mf(e,1)|0;a[d+41>>0]=Mf(e,1)|0;if(!(a[D>>0]|0)){c[q>>2]=1;c[r>>2]=1;a[p>>0]=1;g=0}else{g=Wg(e)|0;c[q>>2]=g;if((g|0)==-99999|(g|0)>9){De(f+4|0,1006,0);D=0;return D|0}c[q>>2]=g+1;g=Wg(e)|0;c[r>>2]=g;if((g|0)==-99999|(g|0)>9){De(f+4|0,1006,0);D=0;return D|0}c[r>>2]=g+1;D=Mf(e,1)|0;a[p>>0]=D;do if(!(D&255)){h=c[B>>2]|0;i=c[h+5056>>2]|0;h=c[h+5064>>2]|0;D=c[q>>2]|0;g=D+-1|0;a:do if((D|0)>1){k=0;while(1){g=Wg(e)|0;j=d+4180+(k<<2)|0;c[j>>2]=g;if((g|0)==-99999)break;g=g+1|0;c[j>>2]=g;i=i-g|0;k=k+1|0;g=(c[q>>2]|0)+-1|0;if((k|0)>=(g|0))break a}De(f+4|0,1006,0);D=0;return D|0}while(0);if((i|0)<1){D=0;return D|0}c[d+4180+(g<<2)>>2]=i;D=c[r>>2]|0;g=D+-1|0;b:do if((D|0)>1){j=0;while(1){g=Wg(e)|0;i=d+4220+(j<<2)|0;c[i>>2]=g;if((g|0)==-99999)break;g=g+1|0;c[i>>2]=g;h=h-g|0;j=j+1|0;g=(c[r>>2]|0)+-1|0;if((j|0)>=(g|0))break b}De(f+4|0,1006,0);D=0;return D|0}while(0);if((h|0)<1){D=0;return D|0}else{c[d+4220+(g<<2)>>2]=h;break}}while(0);g=(Mf(e,1)|0)&255}a[s>>0]=g;c[x>>2]=0;c[y>>2]=0;a[t>>0]=Mf(e,1)|0;D=(Mf(e,1)|0)&255;a[u>>0]=D;do if(D<<24>>24){a[v>>0]=Mf(e,1)|0;D=(Mf(e,1)|0)&255;a[w>>0]=D;if(!(D<<24>>24)){g=Xg(e)|0;c[x>>2]=g;if((g|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}c[x>>2]=g<<1;g=Xg(e)|0;c[y>>2]=g;if((g|0)!=-99999){c[y>>2]=g<<1;break}De(f+4|0,1006,0);D=0;return D|0}}else{a[v>>0]=0;a[w>>0]=0}while(0);D=Mf(e,1)|0;h=D&255;a[z>>0]=h;g=c[B>>2]|0;if(!((D&255|0)==0|(a[g+636>>0]|0)!=0)){De(f+4|0,1006,0);D=0;return D|0}if(h<<24>>24){g=Tj(e,g,d+69|0,1)|0;if(g|0){De(f+4|0,g,0);D=0;return D|0}}else fB(d+69|0,g+638|0,4064)|0;a[A>>0]=Mf(e,1)|0;g=Wg(e)|0;c[C>>2]=g;if((g|0)==-99999){De(f+4|0,1006,0);D=0;return D|0}c[C>>2]=g+2;D=c[B>>2]|0;if((g|0)>((c[D+612>>2]|0)+-2+(c[D+616>>2]|0)|0)){D=0;return D|0}a[d+4141>>0]=Mf(e,1)|0;D=(Mf(e,1)|0)&255;a[d+4142>>0]=D;if((D<<24>>24?(D=d+4143|0,a[D>>0]=Mf(e,1)|0,a[d+4144>>0]=Mf(e,1)|0,a[d+4145>>0]=Mf(e,6)|0,a[D>>0]|0):0)?!(Uj(d+4146|0,e,f,d)|0):0){D=0;return D|0}Vj(d,c[B>>2]|0);a[d>>0]=1;D=1;return D|0}function Qj(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,aa=0,ba=0,ca=0;ca=hc;f=hc=hc+31&-32;hc=hc+400|0;W=f+392|0;V=f+384|0;U=f+376|0;T=f+368|0;S=f+360|0;R=f+352|0;Q=f+344|0;P=f+336|0;O=f+328|0;N=f+320|0;M=f+312|0;L=f+304|0;K=f+296|0;J=f+288|0;ba=f+280|0;aa=f+272|0;$=f+264|0;_=f+256|0;Z=f+248|0;Y=f+240|0;X=f+232|0;I=f+224|0;H=f+216|0;G=f+208|0;E=f+200|0;D=f+192|0;C=f+184|0;B=f+176|0;z=f+168|0;x=f+160|0;w=f+152|0;v=f+144|0;u=f+136|0;t=f+128|0;s=f+120|0;r=f+112|0;q=f+104|0;p=f+96|0;o=f+88|0;m=f+80|0;l=f+72|0;k=f+64|0;j=f+56|0;i=f+48|0;h=f+40|0;A=f+32|0;y=f+24|0;n=f+16|0;g=f+8|0;switch(d|0){case 1:{e=48404;break}case 2:{e=48396;break}default:{hc=ca;return}}F=c[e>>2]|0;Rj(F,60833,f);c[g>>2]=a[b+8>>0];Rj(F,60874,g);c[n>>2]=a[b+9>>0];Rj(F,60907,n);c[y>>2]=a[b+10>>0];Rj(F,60940,y);c[A>>2]=a[b+11>>0];Rj(F,60984,A);c[h>>2]=a[b+12>>0];Rj(F,61017,h);c[i>>2]=a[b+13>>0];Rj(F,61050,i);c[j>>2]=a[b+14>>0];Rj(F,61086,j);c[k>>2]=c[b+16>>2];Rj(F,61122,k);c[l>>2]=a[b+20>>0];Rj(F,61155,l);c[m>>2]=a[b+21>>0];Rj(F,61188,m);A=b+22|0;c[o>>2]=a[A>>0];Rj(F,61221,o);if(a[A>>0]|0){c[p>>2]=c[b+24>>2];Rj(F,61254,p)}c[q>>2]=c[b+28>>2];Rj(F,61287,q);c[r>>2]=c[b+32>>2];Rj(F,61322,r);c[s>>2]=a[b+36>>0];Rj(F,61357,s);c[t>>2]=a[b+37>>0];Rj(F,61404,t);c[u>>2]=a[b+38>>0];Rj(F,61439,u);c[v>>2]=a[b+39>>0];Rj(F,61474,v);c[w>>2]=a[b+40>>0];Rj(F,61509,w);A=b+42|0;c[x>>2]=a[A>>0];Rj(F,61544,x);c[z>>2]=a[b+41>>0];Rj(F,61579,z);if(a[A>>0]|0){f=b+44|0;c[B>>2]=c[f>>2];Rj(F,61617,B);g=b+48|0;c[C>>2]=c[g>>2];Rj(F,61643,C);c[D>>2]=a[b+52>>0];Rj(F,61669,D);Rj(F,61695,E);if((c[f>>2]|0)>=0){e=0;while(1){c[I>>2]=c[b+4260+(e<<2)>>2];Rj(F,61742,I);if((e|0)<(c[f>>2]|0))e=e+1|0;else break}}Rj(F,67394,G);Rj(F,61720,H);if((c[g>>2]|0)>=0){e=0;while(1){c[Z>>2]=c[b+4304+(e<<2)>>2];Rj(F,61742,Z);if((e|0)<(c[g>>2]|0))e=e+1|0;else break}}Rj(F,67394,X);c[Y>>2]=a[b+53>>0];Rj(F,61747,Y)}c[_>>2]=a[b+54>>0];Rj(F,61791,_);_=b+55|0;c[$>>2]=a[_>>0];Rj(F,61839,$);if(a[_>>0]|0){c[aa>>2]=a[b+56>>0];Rj(F,61883,aa);c[ba>>2]=a[b+57>>0];Rj(F,61928,ba);c[J>>2]=c[b+60>>2];Rj(F,61968,J);c[K>>2]=c[b+64>>2];Rj(F,61986,K)}c[L>>2]=a[b+68>>0];Rj(F,62004,L);c[M>>2]=a[b+4133>>0];Rj(F,62044,M);c[N>>2]=c[b+4136>>2];Rj(F,62081,N);c[O>>2]=a[b+4140>>0];Rj(F,62118,O);c[P>>2]=a[b+4141>>0];Rj(F,62155,P);c[Q>>2]=a[b+4142>>0];Rj(F,62205,Q);ba=b+4143|0;c[R>>2]=a[ba>>0];Rj(F,62241,R);c[S>>2]=a[b+4144>>0];Rj(F,62277,S);c[T>>2]=a[b+4145>>0];Rj(F,62313,T);c[U>>2]=c[b+4168>>2];Rj(F,62349,U);c[V>>2]=c[b+4172>>2];Rj(F,62385,V);c[W>>2]=c[b+4176>>2];Rj(F,62426,W);if(!(a[ba>>0]|0)){hc=ca;return}Sj(b+4146|0,d);hc=ca;return}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=hc;g=hc=hc+31&-32;hc=hc+16|0;h=(a[d>>0]|0)==42;f=c[12101]|0;if(!h)Jn(62926,6,1,f)|0;c[g>>2]=e;Cm(b,d+(h&1)|0,g)|0;Qn(f)|0;hc=i;return}function Sj(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;r=hc;g=hc=hc+31&-32;hc=hc+80|0;q=g+72|0;p=g+64|0;o=g+56|0;n=g+48|0;i=g+40|0;l=g+32|0;k=g+24|0;j=g+16|0;h=g+8|0;switch(e|0){case 1:{e=48404;break}case 2:{e=48396;break}default:{hc=r;return}}f=c[e>>2]|0;Rj(f,62467,g);c[h>>2]=d[b>>0];Rj(f,62510,h);c[j>>2]=d[b+1>>0];Rj(f,62556,j);j=b+2|0;c[k>>2]=d[j>>0];Rj(f,62602,k);if(a[j>>0]|0?(c[l>>2]=d[b+3>>0],Rj(f,62648,l),m=b+4|0,c[i>>2]=d[m>>0],Rj(f,62694,i),a[m>>0]|0):0){e=0;do{l=a[b+5+e>>0]|0;c[n>>2]=e;c[n+4>>2]=l;Rj(f,62740,n);l=a[b+11+e>>0]|0;c[o>>2]=e;c[o+4>>2]=l;Rj(f,62787,o);e=e+1|0}while(e>>>0<(d[m>>0]|0)>>>0)}c[p>>2]=d[b+17>>0];Rj(f,62834,p);c[q>>2]=d[b+18>>0];Rj(f,62880,q);hc=r;return}function Tj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=hc;o=hc=hc+31&-32;hc=hc+6240|0;n=o+6144|0;t=0;a:while(1){p=(t|0)==3;q=p?2:6;r=(t|0)==0;s=r?16:64;l=t>>>0>1;m=(t|0)!=3;k=0;do{j=o+(k<<10)|0;h=p&(k|0)==1;do if(!(((Mf(b,1)|0)&255)<<24>>24)){e=Wg(b)|0;if((e|0)==-99999|(k|0)<(e|0)){i=30;break a}g=n+(t*24|0)+(k<<2)|0;c[g>>2]=16;if(e|0){if(!(m|(e|0)==1)){i=12;break a}h=k-e|0;fB(j|0,o+(h<<10)|0,s|0)|0;h=c[n+(t*24|0)+(h<<2)>>2]|0;c[g>>2]=h;i=20;break}if(r){c[j>>2]=c[940];c[j+4>>2]=c[941];c[j+8>>2]=c[942];c[j+12>>2]=c[943];i=21;break}if(k>>>0<3^h){e=j;g=3776;h=e+64|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=16;i=20;break}else{e=j;g=3840;h=e+64|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=16;i=20;break}}else{if(l){e=Xg(b)|0;if((e+7|0)>>>0>254){i=30;break a}h=e+8|0;c[n+(t*24|0)+(k<<2)>>2]=h;e=h}else{e=8;h=16}i=0;while(1){g=Xg(b)|0;if((g+128|0)>>>0>255){i=30;break a}e=(e+256+g|0)%256|0;a[o+(k<<10)+i>>0]=e;i=i+1|0;if(i>>>0>=s>>>0){i=20;break}}}while(0);b:do if((i|0)==20){i=0;switch(t&2147483647|0){case 0:{i=21;break b}case 1:{g=qg(3,0)|0;e=0;do{a[((d[g+(e<<1)+1>>0]|0)<<3)+(d[g+(e<<1)>>0]|0)+(f+96+(k<<6))>>0]=a[o+(k<<10)+e>>0]|0;e=e+1|0}while((e|0)!=64);break}case 2:{g=qg(3,0)|0;e=0;do{j=g+(e<<1)|0;v=g+(e<<1)+1|0;w=a[o+(k<<10)+e>>0]|0;a[((d[v>>0]|0)<<5)+((d[j>>0]|0)<<1)+(f+480+(k<<8))>>0]=w;a[((d[j>>0]|0)<<1|1)+((d[v>>0]|0)<<5)+(f+480+(k<<8))>>0]=w;a[((d[v>>0]|0)<<5|16)+((d[j>>0]|0)<<1)+(f+480+(k<<8))>>0]=w;a[((d[v>>0]|0)<<5|16)+((d[j>>0]|0)<<1|1)+(f+480+(k<<8))>>0]=w;e=e+1|0}while((e|0)!=64);a[f+480+(k<<8)>>0]=h;break b}case 3:{w=f+2016+(k<<10)|0;Xj(w,j,3);a[w>>0]=h;break b}default:break b}}while(0);if((i|0)==21)Xj(f+(k<<4)|0,j,0);k=k+1|0}while(k>>>0<q>>>0);t=t+1|0;if(t>>>0>=4){e=0;i=31;break}}if((i|0)==12)M(62982,63019,910,63028);else if((i|0)==30){w=8;hc=u;return w|0}else if((i|0)==31){hc=u;return e|0}return 0}function Uj(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;j=c[f+728+(a[g+9>>0]<<3)>>2]|0;if(a[g+21>>0]|0)a[b>>0]=(Wg(e)|0)+2;i=(Mf(e,1)|0)!=0;a[b+1>>0]=i&1;h=j+5012|0;if(!((c[h>>2]|0)==3|i^1))De(f+4|0,1006,0);k=(Mf(e,1)|0)!=0;i=b+2|0;g=k&1;a[i>>0]=g;if(!((c[h>>2]|0)!=0|k^1)){De(f+4|0,1006,0);g=a[i>>0]|0}a:do if(g<<24>>24){g=Wg(e)|0;if((g|0)!=-99999?(g|0)<=(c[j+616>>2]|0):0){a[b+3>>0]=g;g=Wg(e)|0;if((g|0)==-99999|(g|0)>5){De(f+4|0,1006,0);k=0;return k|0}k=g+1|0;i=b+4|0;a[i>>0]=k;if(!(k&255))break;h=0;while(1){g=Xg(e)|0;if((g+12|0)>>>0>24){g=16;break}a[b+5+h>>0]=g;g=Xg(e)|0;if((g+12|0)>>>0>24){g=18;break}a[b+11+h>>0]=g;h=h+1|0;if(h>>>0>=(d[i>>0]|0)>>>0)break a}if((g|0)==16){De(f+4|0,1006,0);k=0;return k|0}else if((g|0)==18){De(f+4|0,1006,0);k=0;return k|0}}De(f+4|0,1006,0);k=0;return k|0}while(0);g=Wg(e)|0;if((g|0)!=-99999?(k=c[j+4996>>2]|0,(g|0)<=(((k|0)<10?0:k+-10|0)|0)):0){a[b+17>>0]=g;g=Wg(e)|0;if((g|0)!=-99999?(k=c[j+5004>>2]|0,(g|0)<=(((k|0)<10?0:k+-10|0)|0)):0){a[b+18>>0]=g;k=1;return k|0}De(f+4|0,1006,0);k=0;return k|0}De(f+4|0,1006,0);k=0;return k|0}function Vj(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=hc;B=e+5040|0;z=c[B>>2]|0;c[b+4168>>2]=z-(c[b+24>>2]|0);c[b+4172>>2]=z-(d[b+4149>>0]|0);c[b+4176>>2]=d[b+4146>>0];z=b+44|0;j=c[z>>2]|0;if(a[b+52>>0]|0){h=hc;hc=hc+((1*((j<<2)+4|0)|0)+15&-16)|0;if((j|0)>=0){g=c[e+5056>>2]|0;f=0;while(1){c[h+(f<<2)>>2]=(u(g,f)|0)/(j|0)|0;if((f|0)==(j|0))break;else f=f+1|0}if((j|0)>0){f=0;g=c[h>>2]|0;do{A=f;f=f+1|0;y=g;g=c[h+(f<<2)>>2]|0;c[b+4180+(A<<2)>>2]=g-y}while((f|0)!=(j|0))}}h=c[b+48>>2]|0;i=hc;hc=hc+((1*((h<<2)+4|0)|0)+15&-16)|0;if((h|0)>=0){g=c[e+5064>>2]|0;f=0;while(1){c[i+(f<<2)>>2]=(u(g,f)|0)/(h|0)|0;if((f|0)==(h|0))break;else f=f+1|0}if((h|0)>0){f=0;g=c[i>>2]|0;do{A=f;f=f+1|0;y=g;g=c[i+(f<<2)>>2]|0;c[b+4220+(A<<2)>>2]=g-y}while((f|0)!=(h|0))}}}c[b+4260>>2]=0;if((j|0)>0){f=0;g=0;do{g=(c[b+4180+(f<<2)>>2]|0)+g|0;f=f+1|0;c[b+4260+(f<<2)>>2]=g}while((f|0)<(j|0))}c[b+4304>>2]=0;x=b+48|0;h=c[x>>2]|0;if((h|0)>0){f=0;g=0;do{g=(c[b+4220+(f<<2)>>2]|0)+g|0;f=f+1|0;c[b+4304+(f<<2)>>2]=g}while((f|0)<(h|0))}A=b+4348|0;r=e+5072|0;f=c[r>>2]|0;g=b+4352|0;h=c[A>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{Wj(A,f-i|0);f=c[r>>2]|0}q=b+4360|0;g=b+4364|0;h=c[q>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{Wj(q,f-i|0);f=c[r>>2]|0}w=b+4372|0;g=b+4376|0;h=c[w>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else{Wj(w,f-i|0);f=c[r>>2]|0}v=b+4384|0;g=b+4388|0;h=c[v>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else Wj(v,f-i|0);y=b+4396|0;f=c[e+5096>>2]|0;g=b+4400|0;h=c[y>>2]|0;i=(c[g>>2]|0)-h>>2;if(f>>>0<=i>>>0){if(f>>>0<i>>>0)c[g>>2]=h+(f<<2)}else Wj(y,f-i|0);a:do if((c[r>>2]|0)>0){m=e+5056|0;n=c[A>>2]|0;l=0;while(1){p=c[m>>2]|0;o=(l|0)/(p|0)|0;p=l-(u(o,p)|0)|0;h=c[z>>2]|0;if((h|0)>0){g=0;f=-1;do{f=(p|0)<(c[b+4260+(g<<2)>>2]|0)?f:g;g=g+1|0}while((g|0)<(h|0))}else f=-1;i=c[x>>2]|0;if((i|0)>0){h=0;g=-1;do{g=(o|0)<(c[b+4304+(h<<2)>>2]|0)?g:h;h=h+1|0}while((h|0)<(i|0))}else g=-1;k=n+(l<<2)|0;c[k>>2]=0;if((f|0)>0){j=b+4220+(g<<2)|0;i=0;h=0;do{h=h+(u(c[b+4180+(i<<2)>>2]|0,c[j>>2]|0)|0)|0;c[k>>2]=h;i=i+1|0}while((i|0)!=(f|0))}else h=0;if((g|0)>0){i=0;do{h=h+(u(c[b+4220+(i<<2)>>2]|0,c[m>>2]|0)|0)|0;c[k>>2]=h;i=i+1|0}while((i|0)!=(g|0))}if((g|f|0)<=-1)break;t=h+(u(o-(c[b+4304+(g<<2)>>2]|0)|0,c[b+4180+(f<<2)>>2]|0)|0)|0;c[k>>2]=t;t=p-(c[b+4260+(f<<2)>>2]|0)+t|0;c[k>>2]=t;c[(c[q>>2]|0)+(t<<2)>>2]=l;l=l+1|0;if((l|0)>=(c[r>>2]|0))break a}M(62933,62954,620,62963)}while(0);f=c[x>>2]|0;if((f|0)>0){t=e+5056|0;i=0;h=0;g=c[z>>2]|0;do if((g|0)>0){s=b+4304+(h<<2)|0;h=h+1|0;r=b+4304+(h<<2)|0;j=0;f=c[r>>2]|0;do{k=c[s>>2]|0;if((k|0)<(f|0)){q=b+4260+(j<<2)|0;j=j+1|0;p=b+4260+(j<<2)|0;g=c[p>>2]|0;do{l=c[q>>2]|0;if((l|0)<(g|0)){m=c[A>>2]|0;n=c[w>>2]|0;o=c[v>>2]|0;f=l;do{c[n+(c[m+((u(c[t>>2]|0,k)|0)+f<<2)>>2]<<2)>>2]=i;c[o+((u(c[t>>2]|0,k)|0)+f<<2)>>2]=i;f=f+1|0;g=c[p>>2]|0}while((f|0)<(g|0));f=c[r>>2]|0}k=k+1|0}while((k|0)<(f|0));g=c[z>>2]|0}else j=j+1|0;i=i+1|0}while((j|0)<(g|0));f=c[x>>2]|0}else h=h+1|0;while((h|0)<(f|0))}n=e+5092|0;f=c[n>>2]|0;if((f|0)<=0){hc=C;return}o=e+5088|0;p=e+5100|0;m=e+5056|0;l=0;g=c[o>>2]|0;do{if((g|0)>0){j=c[A>>2]|0;k=c[y>>2]|0;i=0;do{f=c[p>>2]|0;e=c[B>>2]|0;c[k+((u(g,l)|0)+i<<2)>>2]=c[j+((u(c[m>>2]|0,l<<f>>e)|0)+(i<<f>>e)<<2)>>2]<<(e-f<<1);f=c[B>>2]|0;g=c[p>>2]|0;if((f|0)>(g|0)){h=f-g|0;g=0;f=0;do{e=1<<g;f=((e&l|0)==0?0:e<<1<<g)+f+((e&i|0)==0?0:e<<g)|0;g=g+1|0}while((g|0)<(h|0))}else f=0;g=k+((u(c[o>>2]|0,l)|0)+i<<2)|0;c[g>>2]=(c[g>>2]|0)+f;i=i+1|0;g=c[o>>2]|0}while((i|0)<(g|0));f=c[n>>2]|0}l=l+1|0}while((l|0)<(f|0));hc=C;return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>2>>>0>=b>>>0){hB(d|0,0,b<<2|0)|0;c[l>>2]=d+(b<<2);return}j=c[a>>2]|0;i=d-j|0;h=i>>2;d=h+b|0;if(d>>>0>1073741823)Yz(a);f=e-j|0;g=f>>1;g=f>>2>>>0<536870911?(g>>>0<d>>>0?d:g):1073741823;do if(g)if(g>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(g<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(h<<2)|0;hB(d|0,0,b<<2|0)|0;if((i|0)>0)fB(f|0,j|0,i|0)|0;c[a>>2]=e;c[l>>2]=d+(b<<2);c[k>>2]=e+(g<<2);if(!j)return;nz(j);return}function Xj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;switch(e|0){case 0:{f=qg(2,0)|0;a[b+(((d[f+1>>0]|0)<<2)+(d[f>>0]|0))>>0]=a[c>>0]|0;a[b+(((d[f+3>>0]|0)<<2)+(d[f+2>>0]|0))>>0]=a[c+1>>0]|0;a[b+(((d[f+5>>0]|0)<<2)+(d[f+4>>0]|0))>>0]=a[c+2>>0]|0;a[b+(((d[f+7>>0]|0)<<2)+(d[f+6>>0]|0))>>0]=a[c+3>>0]|0;a[b+(((d[f+9>>0]|0)<<2)+(d[f+8>>0]|0))>>0]=a[c+4>>0]|0;a[b+(((d[f+11>>0]|0)<<2)+(d[f+10>>0]|0))>>0]=a[c+5>>0]|0;a[b+(((d[f+13>>0]|0)<<2)+(d[f+12>>0]|0))>>0]=a[c+6>>0]|0;a[b+(((d[f+15>>0]|0)<<2)+(d[f+14>>0]|0))>>0]=a[c+7>>0]|0;a[b+(((d[f+17>>0]|0)<<2)+(d[f+16>>0]|0))>>0]=a[c+8>>0]|0;a[b+(((d[f+19>>0]|0)<<2)+(d[f+18>>0]|0))>>0]=a[c+9>>0]|0;a[b+(((d[f+21>>0]|0)<<2)+(d[f+20>>0]|0))>>0]=a[c+10>>0]|0;a[b+(((d[f+23>>0]|0)<<2)+(d[f+22>>0]|0))>>0]=a[c+11>>0]|0;a[b+(((d[f+25>>0]|0)<<2)+(d[f+24>>0]|0))>>0]=a[c+12>>0]|0;a[b+(((d[f+27>>0]|0)<<2)+(d[f+26>>0]|0))>>0]=a[c+13>>0]|0;a[b+(((d[f+29>>0]|0)<<2)+(d[f+28>>0]|0))>>0]=a[c+14>>0]|0;a[b+(((d[f+31>>0]|0)<<2)+(d[f+30>>0]|0))>>0]=a[c+15>>0]|0;return}case 1:{f=qg(3,0)|0;e=0;do{a[b+(((d[f+(e<<1)+1>>0]|0)<<3)+(d[f+(e<<1)>>0]|0))>>0]=a[c+e>>0]|0;e=e+1|0}while((e|0)!=64);return}case 2:{f=qg(3,0)|0;e=0;do{h=f+(e<<1)|0;g=f+(e<<1)+1|0;i=c+e|0;a[b+(((d[h>>0]|0)<<1)+((d[g>>0]|0)<<5))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1)+((d[g>>0]|0)<<5|16))>>0]=a[i>>0]|0;a[b+(((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5|16))>>0]=a[i>>0]|0;e=e+1|0}while((e|0)!=64);return}case 3:{f=qg(3,0)|0;e=0;do{h=f+(e<<1)|0;i=f+(e<<1)+1|0;g=c+e|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|32))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|64))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|1)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|2)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;a[b+(((d[h>>0]|0)<<2|3)+((d[i>>0]|0)<<7|96))>>0]=a[g>>0]|0;e=e+1|0}while((e|0)!=64);return}default:M(69335,63019,847,63046)}}function Yj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a[d+4146>>0]=2;g=d+4147|0;a[d+4163>>0]=0;a[d+4164>>0]=0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;g=d+4352|0;h=d+4364|0;i=d+4376|0;j=d+4388|0;e=d+4400|0;a[d>>0]=0;k=d+4|0;f=d+13|0;c[k>>2]=0;c[k+4>>2]=0;a[k+8>>0]=0;k=d+4348|0;l=k+60|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));a[f>>0]=1;a[d+14>>0]=1;c[d+16>>2]=27;a[d+20>>0]=0;a[d+21>>0]=0;a[d+22>>0]=0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b[l+16>>1]=0;a[l+18>>0]=0;c[d+44>>2]=1;c[d+48>>2]=1;a[d+52>>0]=1;a[d+53>>0]=1;a[d+54>>0]=1;hB(d+4180|0,0,168)|0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[e>>2]=0;c[d+4168>>2]=0;a[d+55>>0]=0;a[d+56>>0]=0;a[d+57>>0]=0;c[d+60>>2]=0;c[d+64>>2]=0;a[d+68>>0]=0;a[d+4133>>0]=0;c[d+4136>>2]=2;l=d+4140|0;c[l>>2]=0;b[l+4>>1]=0;return}function Zj(a){a=a|0;c[a>>2]=12404;bk(a+12|0);gz(a);return}function _j(a){a=a|0;c[a>>2]=12404;bk(a+12|0);gz(a);nz(a);return}function $j(a){a=a|0;bk(a+12|0);return}function ak(a){a=a|0;nz(a);return}function bk(a){a=a|0;var b=0;b=c[a+4396>>2]|0;if(b|0){c[a+4400>>2]=b;nz(b)}b=c[a+4384>>2]|0;if(b|0){c[a+4388>>2]=b;nz(b)}b=c[a+4372>>2]|0;if(b|0){c[a+4376>>2]=b;nz(b)}b=c[a+4360>>2]|0;if(b|0){c[a+4364>>2]=b;nz(b)}b=c[a+4348>>2]|0;if(!b)return;c[a+4352>>2]=b;nz(b);return}function ck(a,b){a=a|0;b=b|0;return}function dk(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;a[b+1>>0]=Mf(e,4)|0;l=(Mf(e,3)|0)+1|0;j=b+2|0;a[j>>0]=l;if((l<<24|0)>117440512){b=8;return b|0}a[b+3>>0]=Mf(e,1)|0;kk(b+4|0,e,a[j>>0]|0);f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+472>>2]=f;if((f|0)>15){b=8;return b|0}f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}g=b+476|0;c[g>>2]=f;if((f|0)==3){h=(Mf(e,1)|0)&255;f=c[g>>2]|0}else h=0;a[b+480>>0]=h;if(f>>>0>3){De(d,1019,0);b=8;return b|0}f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}g=b+484|0;c[g>>2]=f;h=Wg(e)|0;if((h|0)==-99999){De(d,8,0);b=8;return b|0}c[b+488>>2]=h;f=c[g>>2]|0;if((h|0)==0|(f|0)==0){b=8;return b|0}if((h|0)>7e4|(f|0)>7e4){b=8;return b|0}l=(Mf(e,1)|0)&255;a[b+492>>0]=l;do if(!(l<<24>>24)){l=b+496|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}else{f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+496>>2]=f;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+500>>2]=f;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+504>>2]=f;f=Wg(e)|0;if((f|0)!=-99999){c[b+508>>2]=f;break}De(d,8,0);b=8;return b|0}while(0);f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}g=b+512|0;c[g>>2]=f+8;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+516>>2]=f+8;if((f|0)>8|(c[g>>2]|0)>16){De(d,1005,0);b=8;return b|0}f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}k=f+4|0;l=b+520|0;c[l>>2]=k;c[b+5032>>2]=1<<k;k=(Mf(e,1)|0)&255;i=b+524|0;a[i>>0]=k;g=a[j>>0]|0;f=g<<24>>24;if(k<<24>>24)if(g<<24>>24>0){f=0;k=39}else k=48;else{f=f+-1|0;k=39}do if((k|0)==39){while(1){g=Wg(e)|0;if((g|0)==-99999|(g|0)>15){k=41;break}c[b+528+(f<<2)>>2]=g+1;g=Wg(e)|0;if((g|0)==-99999){k=43;break}h=b+556+(f<<2)|0;c[h>>2]=g;g=Wg(e)|0;if((g|0)==-99999){k=45;break}c[b+584+(f<<2)>>2]=g;c[b+5128+(f<<2)>>2]=g+-1+(c[h>>2]|0);f=f+1|0;g=a[j>>0]|0;h=g<<24>>24;if((f|0)>=(h|0)){k=47;break}}if((k|0)==41){De(d,8,0);b=8;return b|0}else if((k|0)==43){De(d,8,0);b=8;return b|0}else if((k|0)==45){De(d,8,0);b=8;return b|0}else if((k|0)==47)if(!(a[i>>0]|0))break;else{f=h;k=48;break}}while(0);if((k|0)==48){j=f+-1|0;if(g<<24>>24>=8)M(67594,63019,315,68983);if((f|0)>1){g=b+528+(j<<2)|0;h=b+556+(j<<2)|0;i=b+584+(j<<2)|0;f=0;do{c[b+528+(f<<2)>>2]=c[g>>2];c[b+556+(f<<2)>>2]=c[h>>2];c[b+584+(f<<2)>>2]=c[i>>2];f=f+1|0}while((f|0)!=(j|0))}}f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}i=b+612|0;c[i>>2]=f+3;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}j=b+616|0;c[j>>2]=f;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}g=b+620|0;c[g>>2]=f+2;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}h=b+624|0;c[h>>2]=f;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+628>>2]=f;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+632>>2]=f;f=c[i>>2]|0;if((f|0)>6){b=8;return b|0}if(((c[j>>2]|0)+f|0)>6){b=8;return b|0}f=c[g>>2]|0;if((f|0)>5){b=8;return b|0}if(((c[h>>2]|0)+f|0)>5){b=8;return b|0}j=(Mf(e,1)|0)&255;a[b+636>>0]=j;do if(j<<24>>24){j=(Mf(e,1)|0)&255;a[b+637>>0]=j;f=b+638|0;if(!(j<<24>>24)){lk(f);break}f=Tj(e,0,f,0)|0;if(!f)break;return f|0}while(0);a[b+4702>>0]=Mf(e,1)|0;a[b+4703>>0]=Mf(e,1)|0;j=(Mf(e,1)|0)&255;a[b+4704>>0]=j;do if(!(j<<24>>24)){a[b+4705>>0]=0;a[b+4706>>0]=0;c[b+4708>>2]=0;c[b+4712>>2]=0;f=0}else{a[b+4705>>0]=(Mf(e,4)|0)+1;a[b+4706>>0]=(Mf(e,4)|0)+1;f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}c[b+4708>>2]=f+3;f=Wg(e)|0;if((f|0)!=-99999){c[b+4712>>2]=f;f=(Mf(e,1)|0)&255;break}De(d,8,0);b=8;return b|0}while(0);a[b+4716>>0]=f;i=Wg(e)|0;if((i|0)==-99999){De(d,8,0);b=8;return b|0}if(i>>>0>64){De(d,1014,0);b=8;return b|0}j=b+4720|0;f=b+4724|0;g=c[j>>2]|0;h=((c[f>>2]|0)-g|0)/100|0;if(i>>>0<=h>>>0){if(i>>>0<h>>>0)c[f>>2]=g+(i*100|0);if((i|0)>0)k=89}else{mk(j,i-h|0);k=89}a:do if((k|0)==89){f=0;while(1){if(!(nk(d,b,e,(c[j>>2]|0)+(f*100|0)|0,f,j,0)|0)){f=1005;break}f=f+1|0;if((f|0)>=(i|0))break a}return f|0}while(0);k=(Mf(e,1)|0)&255;a[b+4732>>0]=k;do if(!(k<<24>>24))c[b+4736>>2]=0;else{f=Wg(e)|0;if((f|0)==-99999){De(d,8,0);b=8;return b|0}g=b+4736|0;c[g>>2]=f;if((f|0)>32){b=8;return b|0}if((f|0)<=0)break;f=0;do{c[b+4740+(f<<2)>>2]=Mf(e,c[l>>2]|0)|0;a[b+4868+f>>0]=Mf(e,1)|0;f=f+1|0}while((f|0)<(c[g>>2]|0))}while(0);a[b+4900>>0]=Mf(e,1)|0;a[b+4901>>0]=Mf(e,1)|0;l=(Mf(e,1)|0)&255;a[b+4902>>0]=l;if(l<<24>>24)ok(b+4904|0,d,e,b)|0;d=(Mf(e,1)|0)&255;a[b+4980>>0]=d;do if(!(d<<24>>24))a[b+4981>>0]=0;else{d=b+4981|0;a[d>>0]=Mf(e,1)|0;a[b+4982>>0]=Mf(e,1)|0;a[b+4983>>0]=Mf(e,6)|0;if(!(a[d>>0]|0))break;pk(b+4984|0,0,e)|0}while(0);f=qk(b,0)|0;if(f|0){b=f;return b|0}a[b>>0]=1;b=0;return b|0}function ek(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,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;pa=hc;f=hc=hc+31&-32;hc=hc+496|0;oa=f+480|0;na=f+472|0;ma=f+464|0;la=f+456|0;ka=f+448|0;ja=f+440|0;ia=f+432|0;ha=f+424|0;ga=f+416|0;fa=f+408|0;ea=f+400|0;da=f+392|0;ca=f+384|0;ba=f+376|0;aa=f+368|0;$=f+360|0;_=f+344|0;X=f+336|0;W=f+328|0;V=f+320|0;U=f+312|0;J=f+304|0;I=f+296|0;H=f+288|0;G=f+280|0;T=f+272|0;S=f+264|0;R=f+256|0;Q=f+248|0;P=f+240|0;O=f+232|0;C=f+224|0;B=f+216|0;A=f+208|0;z=f+200|0;N=f+192|0;M=f+184|0;L=f+176|0;K=f+168|0;F=f+160|0;E=f+152|0;D=f+144|0;x=f+136|0;w=f+128|0;v=f+120|0;u=f+112|0;t=f+104|0;s=f+96|0;r=f+88|0;q=f+80|0;p=f+72|0;o=f+64|0;n=f+56|0;m=f+48|0;l=f+40|0;j=f+32|0;i=f+24|0;h=f+16|0;g=f+8|0;switch(d|0){case 1:{e=48404;break}case 2:{e=48396;break}default:{hc=pa;return}}Y=c[e>>2]|0;Rj(Y,63137,f);c[g>>2]=a[b+1>>0];Rj(Y,63178,g);k=b+2|0;c[h>>2]=a[k>>0];Rj(Y,63208,h);c[i>>2]=a[b+3>>0];Rj(Y,63238,i);fk(b+4|0,a[k>>0]|0,Y);c[j>>2]=c[b+472>>2];Rj(Y,63273,j);e=b+476|0;f=c[e>>2]|0;switch(f|0){case 0:{g=63317;break}case 1:{g=63328;break}case 2:{g=63334;break}default:g=(f|0)==3?63303:63309}c[l>>2]=f;c[l+4>>2]=g;Rj(Y,63340,l);if((c[e>>2]|0)==3){c[m>>2]=a[b+480>>0];Rj(Y,63375,m)}c[n>>2]=c[b+484>>2];Rj(Y,63408,n);c[o>>2]=c[b+488>>2];Rj(Y,63441,o);o=b+492|0;c[p>>2]=a[o>>0];Rj(Y,63474,p);if(a[o>>0]|0){c[q>>2]=c[b+496>>2];Rj(Y,63507,q);c[r>>2]=c[b+500>>2];Rj(Y,63535,r);c[s>>2]=c[b+504>>2];Rj(Y,63563,s);c[t>>2]=c[b+508>>2];Rj(Y,63591,t)}c[u>>2]=c[b+512>>2];Rj(Y,63619,u);c[v>>2]=c[b+516>>2];Rj(Y,63642,v);c[w>>2]=c[b+520>>2];Rj(Y,63665,w);w=b+524|0;c[x>>2]=a[w>>0];Rj(Y,63698,x);e=a[k>>0]|0;if(a[w>>0]|0){if(e<<24>>24>0){e=0;y=14}}else{e=(e<<24>>24)+-1|0;y=14}if((y|0)==14)do{c[z>>2]=e;Rj(Y,64028,z);c[A>>2]=c[b+528+(e<<2)>>2];Rj(Y,64038,A);c[B>>2]=c[b+556+(e<<2)>>2];Rj(Y,64077,B);c[C>>2]=c[b+584+(e<<2)>>2];Rj(Y,64116,C);e=e+1|0}while((e|0)<(a[k>>0]|0));k=b+612|0;c[D>>2]=c[k>>2];Rj(Y,63745,D);j=b+616|0;c[E>>2]=c[j>>2];Rj(Y,63783,E);i=b+620|0;c[F>>2]=c[i>>2];Rj(Y,63830,F);h=b+624|0;c[K>>2]=c[h>>2];Rj(Y,63868,K);c[L>>2]=c[b+628>>2];Rj(Y,63913,L);c[M>>2]=c[b+632>>2];Rj(Y,63955,M);M=b+636|0;c[N>>2]=a[M>>0];Rj(Y,63997,N);if(a[M>>0]|0?(N=b+637|0,c[O>>2]=a[N>>0],Rj(Y,64155,O),a[N>>0]|0):0)Rj(Y,64196,P);c[Q>>2]=a[b+4702>>0];Rj(Y,64240,Q);c[R>>2]=a[b+4703>>0];Rj(Y,64282,R);R=b+4704|0;c[S>>2]=a[R>>0];Rj(Y,64324,S);if(a[R>>0]|0){c[T>>2]=a[b+4705>>0];Rj(Y,64366,T);c[G>>2]=a[b+4706>>0];Rj(Y,64402,G);c[H>>2]=c[b+4708>>2];Rj(Y,64438,H);c[I>>2]=c[b+4712>>2];Rj(Y,64480,I);c[J>>2]=a[b+4716>>0];Rj(Y,64531,J)}f=b+4720|0;g=b+4724|0;c[U>>2]=((c[g>>2]|0)-(c[f>>2]|0)|0)/100|0;Rj(Y,64567,U);if((c[g>>2]|0)!=(c[f>>2]|0)){e=0;do{c[W>>2]=e;Rj(Y,69874,W);gk((c[f>>2]|0)+(e*100|0)|0,16,Y);e=e+1|0}while(e>>>0<(((c[g>>2]|0)-(c[f>>2]|0)|0)/100|0)>>>0)}W=b+4732|0;c[V>>2]=a[W>>0];Rj(Y,64601,V);if(a[W>>0]|0?(Z=b+4736|0,c[X>>2]=c[Z>>2],Rj(Y,64639,X),(c[Z>>2]|0)>0):0){e=0;do{W=c[b+4740+(e<<2)>>2]|0;X=a[b+4868+e>>0]|0;c[_>>2]=e;c[_+4>>2]=W;c[_+8>>2]=X;Rj(Y,64672,_);e=e+1|0}while((e|0)<(c[Z>>2]|0))}c[$>>2]=a[b+4900>>0];Rj(Y,64741,$);c[aa>>2]=a[b+4901>>0];Rj(Y,64782,aa);e=b+4902|0;c[ba>>2]=a[e>>0];Rj(Y,64823,ba);c[ca>>2]=a[b+4980>>0];Rj(Y,64864,ca);ca=b+4981|0;c[da>>2]=a[ca>>0];Rj(Y,64900,da);c[ea>>2]=a[b+4982>>0];Rj(Y,64936,ea);c[fa>>2]=a[b+4983>>0];Rj(Y,64972,fa);c[ga>>2]=c[b+5048>>2];Rj(Y,65008,ga);c[ha>>2]=c[b+5044>>2];Rj(Y,65027,ha);c[ia>>2]=1<<(c[j>>2]|0)+(c[k>>2]|0);Rj(Y,65046,ia);c[ja>>2]=1<<c[i>>2];Rj(Y,65065,ja);c[ka>>2]=1<<(c[h>>2]|0)+(c[i>>2]|0);Rj(Y,65084,ka);c[la>>2]=c[b+5056>>2];Rj(Y,65103,la);c[ma>>2]=c[b+5064>>2];Rj(Y,65133,ma);c[na>>2]=c[b+5016>>2];Rj(Y,65163,na);c[oa>>2]=c[b+5020>>2];Rj(Y,65193,oa);if(a[ca>>0]|0)hk(b+4984|0,d);if(!(a[e>>0]|0)){hc=pa;return}ik(b+4904|0,d);hc=pa;return}function fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=hc;f=hc=hc+31&-32;hc=hc+16|0;jk(a,1,d);e=b+-1|0;if((b|0)<=1){hc=g;return}b=0;do{c[f>>2]=b;Rj(d,67160,f);jk(a+52+(b*52|0)|0,0,d);b=b+1|0}while((b|0)!=(e|0));hc=g;return}function gk(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;p=hc;l=hc=hc+31&-32;hc=hc+32|0;o=l+16|0;n=l+8|0;g=e<<1;m=hc;hc=hc+((1*(g+2|0)|0)+15&-16)|0;g=g|1;a[m+g>>0]=0;if((g|0)>0)hB(m|0,46,g|0)|0;a[m+e>>0]=124;g=a[d+96>>0]|0;if(g<<24>>24){k=0-e|0;h=g&255;do{i=h;h=h+-1|0;g=b[d+(h<<1)>>1]|0;j=(a[d+64+h>>0]|0)==0;do if((g|0)>=(k|0)){g=m+(g+e)|0;if(j){a[g>>0]=111;break}else{a[g>>0]=88;break}}else{c[l>>2]=g;c[l+4>>2]=j?111:88;Rj(f,67148,l)}while(0)}while((i|0)>1)}g=a[d+97>>0]|0;if(!(g<<24>>24)){c[n>>2]=m;Rj(f,67155,n);hc=p;return}h=g&255;do{i=h;h=h+-1|0;g=b[d+32+(h<<1)>>1]|0;j=(a[d+80+h>>0]|0)==0;do if((g|0)<=(e|0)){g=m+(g+e)|0;if(j){a[g>>0]=111;break}else{a[g>>0]=88;break}}else{c[o>>2]=g;c[o+4>>2]=j?111:88;Rj(f,67148,o)}while(0)}while((i|0)>1);c[n>>2]=m;Rj(f,67155,n);hc=p;return}function hk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=hc;e=hc=hc+31&-32;hc=hc+80|0;k=e+72|0;j=e+64|0;i=e+56|0;h=e+48|0;g=e+40|0;n=e+32|0;m=e+24|0;l=e+16|0;f=e+8|0;switch(b|0){case 1:{b=48404;break}case 2:{b=48396;break}default:{hc=o;return}}b=c[b>>2]|0;Rj(b,66677,e);c[f>>2]=d[a>>0];Rj(b,66734,f);c[l>>2]=d[a+1>>0];Rj(b,66780,l);c[m>>2]=d[a+2>>0];Rj(b,66826,m);c[n>>2]=d[a+3>>0];Rj(b,66872,n);c[g>>2]=d[a+4>>0];Rj(b,66918,g);c[h>>2]=d[a+5>>0];Rj(b,66964,h);c[i>>2]=d[a+6>>0];Rj(b,67010,i);c[j>>2]=d[a+7>>0];Rj(b,67056,j);c[k>>2]=d[a+8>>0];Rj(b,67102,k);hc=o;return}function ik(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,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=hc;h=hc=hc+31&-32;hc=hc+304|0;o=h+288|0;n=h+280|0;m=h+272|0;R=h+264|0;Q=h+256|0;P=h+248|0;O=h+240|0;N=h+232|0;M=h+224|0;L=h+216|0;K=h+208|0;J=h+200|0;I=h+192|0;H=h+184|0;G=h+176|0;F=h+168|0;E=h+160|0;D=h+152|0;C=h+144|0;B=h+136|0;A=h+128|0;z=h+120|0;y=h+112|0;x=h+104|0;w=h+96|0;v=h+88|0;u=h+80|0;t=h+72|0;s=h+64|0;r=h+56|0;q=h+48|0;p=h+40|0;j=h+32|0;l=h+24|0;k=h+16|0;i=h+8|0;switch(f|0){case 1:{f=48404;break}case 2:{f=48396;break}default:{hc=S;return}}g=c[f>>2]|0;Rj(g,65223,h);h=e[b+4>>1]|0;c[i>>2]=e[b+2>>1];c[i+4>>2]=h;Rj(g,65264,i);c[k>>2]=d[b+6>>0];Rj(g,65300,k);c[l>>2]=d[b+7>>0];Rj(g,65333,l);l=b+8|0;c[j>>2]=d[l>>0];Rj(g,65366,j);if(a[l>>0]|0){switch(c[b+12>>2]|0){case 0:{f=65433;break}case 1:{f=65429;break}case 2:{f=65424;break}case 3:{f=65418;break}case 4:{f=65414;break}default:f=65402}c[p>>2]=f;Rj(g,65443,p);c[q>>2]=d[b+16>>0];Rj(g,65479,q);c[r>>2]=d[b+17>>0];Rj(g,65515,r);c[s>>2]=d[b+18>>0];Rj(g,65555,s);c[t>>2]=d[b+19>>0];Rj(g,65591,t);c[u>>2]=d[b+20>>0];Rj(g,65627,u)}u=b+21|0;c[v>>2]=d[u>>0];Rj(g,65663,v);if(a[u>>0]|0){c[w>>2]=d[b+22>>0];Rj(g,65697,w);c[x>>2]=d[b+23>>0];Rj(g,65740,x)}c[y>>2]=d[b+24>>0];Rj(g,65783,y);c[z>>2]=d[b+25>>0];Rj(g,65819,z);c[A>>2]=d[b+26>>0];Rj(g,65855,A);c[B>>2]=d[b+27>>0];Rj(g,65891,B);c[C>>2]=c[b+28>>2];Rj(g,65927,C);c[D>>2]=c[b+32>>2];Rj(g,65963,D);c[E>>2]=c[b+36>>2];Rj(g,65999,E);c[F>>2]=c[b+40>>2];Rj(g,66035,F);F=b+44|0;c[G>>2]=d[F>>0];Rj(g,66071,G);if(a[F>>0]|0){c[H>>2]=c[b+48>>2];Rj(g,66107,H);c[I>>2]=c[b+52>>2];Rj(g,66143,I)}c[J>>2]=d[b+56>>0];Rj(g,66179,J);c[K>>2]=c[b+60>>2];Rj(g,66221,K);c[L>>2]=d[b+64>>0];Rj(g,66263,L);L=b+65|0;c[M>>2]=d[L>>0];Rj(g,66301,M);if(!(a[L>>0]|0)){hc=S;return}c[N>>2]=d[b+66>>0];Rj(g,66342,N);c[O>>2]=d[b+67>>0];Rj(g,66383,O);c[P>>2]=d[b+68>>0];Rj(g,66431,P);c[Q>>2]=e[b+70>>1];Rj(g,66472,Q);c[R>>2]=d[b+72>>0];Rj(g,66513,R);c[m>>2]=d[b+73>>0];Rj(g,66554,m);c[n>>2]=d[b+74>>0];Rj(g,66595,n);c[o>>2]=d[b+75>>0];Rj(g,66636,o);hc=S;return}function jk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=hc;f=hc=hc+31&-32;hc=hc+112|0;s=f+88|0;r=f+80|0;q=f+72|0;p=f+64|0;o=f+56|0;n=f+48|0;m=f+40|0;l=f+32|0;j=f+24|0;k=f+16|0;h=f+8|0;i=d?67193:67201;if(a[b>>0]|0){d=a[b+1>>0]|0;c[f>>2]=i;c[f+4>>2]=d;Rj(e,67211,f);f=a[b+2>>0]|0;c[h>>2]=i;c[h+4>>2]=f;Rj(e,67240,h);switch(c[b+4>>2]|0){case 1:{d=67325;break}case 2:{d=67318;break}case 3:{d=67301;break}case 4:{d=67279;break}default:d=67269}c[k>>2]=i;c[k+4>>2]=d;Rj(e,67330,k);c[j>>2]=i;Rj(e,67359,j);d=0;do{if(d|0)Rj(e,67550,q);c[r>>2]=a[b+8+d>>0];Rj(e,67553,r);d=d+1|0}while((d|0)!=32);Rj(e,67394,l);r=a[b+40>>0]|0;c[m>>2]=i;c[m+4>>2]=r;Rj(e,67397,m);r=a[b+41>>0]|0;c[n>>2]=i;c[n+4>>2]=r;Rj(e,67434,n);r=a[b+42>>0]|0;c[o>>2]=i;c[o+4>>2]=r;Rj(e,67470,o);r=a[b+43>>0]|0;c[p>>2]=i;c[p+4>>2]=r;Rj(e,67510,p)}if(!(a[b+44>>0]|0)){hc=t;return}r=c[b+48>>2]|0;c[s>>2]=i;c[s+4>>2]=r;g[s+8>>3]=+(r|0)/30.0;Rj(e,67557,s);hc=t;return}function kk(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;a[b>>0]=1;a[b+44>>0]=1;rk(b,c);g=d+-1|0;f=(d|0)>1;if(!f)return;e=0;do{a[b+52+(e*52|0)>>0]=Mf(c,1)|0;a[b+52+(e*52|0)+44>>0]=Mf(c,1)|0;e=e+1|0}while((e|0)!=(g|0));if((d+-2|0)>>>0<7){e=g;while(1){Vg(c,2);if((e|0)<7)e=e+1|0;else break}}if(!f)return;e=0;do{rk(b+52+(e*52|0)|0,c);e=e+1|0}while((e|0)!=(g|0));return}function lk(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;Xj(b,3760,0);Xj(b+16|0,3760,0);Xj(b+32|0,3760,0);Xj(b+48|0,3760,0);Xj(b+64|0,3760,0);Xj(b+80|0,3760,0);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+96)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+288)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+160)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+352)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+224)>>0]=a[3776+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{a[((d[e+(c<<1)+1>>0]|0)<<3)+(d[e+(c<<1)>>0]|0)+(b+416)>>0]=a[3840+c>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{f=e+(c<<1)|0;g=e+(c<<1)+1|0;h=3776+c|0;a[((d[g>>0]|0)<<5)+((d[f>>0]|0)<<1)+(b+480)>>0]=a[h>>0]|0;a[((d[f>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+480)>>0]=a[h>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[f>>0]|0)<<1)+(b+480)>>0]=a[h>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[f>>0]|0)<<1|1)+(b+480)>>0]=a[h>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1248)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1248)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1248)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1248)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3776+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+736)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+736)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+736)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+736)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1504)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1504)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1504)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1504)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3776+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+992)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+992)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+992)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+992)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);e=qg(3,0)|0;c=0;do{h=e+(c<<1)|0;g=e+(c<<1)+1|0;f=3840+c|0;a[((d[g>>0]|0)<<5)+((d[h>>0]|0)<<1)+(b+1760)>>0]=a[f>>0]|0;a[((d[h>>0]|0)<<1|1)+((d[g>>0]|0)<<5)+(b+1760)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1)+(b+1760)>>0]=a[f>>0]|0;a[((d[g>>0]|0)<<5|16)+((d[h>>0]|0)<<1|1)+(b+1760)>>0]=a[f>>0]|0;c=c+1|0}while((c|0)!=64);Xj(b+2016|0,3776,3);Xj(b+3040|0,3840,3);return}function mk(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;f=c[k>>2]|0;l=a+4|0;e=c[l>>2]|0;if(((f-e|0)/100|0)>>>0>=d>>>0){do{f=e+100|0;do{b[e>>1]=0;e=e+2|0}while((e|0)<(f|0));e=(c[l>>2]|0)+100|0;c[l>>2]=e;d=d+-1|0}while((d|0)!=0);return}j=c[a>>2]|0;h=e-j|0;e=(h|0)/100|0;i=e+d|0;if(i>>>0>42949672)Yz(a);f=(f-j|0)/100|0;g=f<<1;g=f>>>0<21474836?(g>>>0<i>>>0?i:g):42949672;do if(g)if(g>>>0>42949672){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(g*100|0)|0;break}else f=0;while(0);e=f+(e*100|0)|0;hB(e|0,0,d*100|0)|0;e=e+(((h|0)/-100|0)*100|0)|0;if((h|0)>0)fB(e|0,j|0,h|0)|0;c[a>>2]=e;c[l>>2]=f+(i*100|0);c[k>>2]=f+(g*100|0);if(!j)return;nz(j);return}function nk(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=hc;if((i|0)!=0?((Mf(g,1)|0)&255)<<24>>24!=0:0){do if(k){k=Wg(g)|0;if((k|0)!=-99999&(k|0)<(i|0)){k=k+1|0;break}else{h=0;hc=E;return h|0}}else k=1;while(0);B=i-k|0;if((B|0)<=-1)M(67892,67900,129,67912);n=Mf(g,1)|0;k=Wg(g)|0;if((k|0)==-99999){h=0;hc=E;return h|0}o=k+1|0;l=~k;y=d[(c[j>>2]|0)+(B*100|0)+98>>0]|0;m=y+1|0;z=hc;hc=hc+((1*m|0)+15&-16)|0;A=hc;hc=hc+((1*m|0)+15&-16)|0;k=0;do{x=(Mf(g,1)|0)&255;a[z+k>>0]=x;if(!(x<<24>>24))i=(Mf(g,1)|0)&255;else i=1;a[A+k>>0]=i;k=k+1|0}while((k|0)!=(m|0));v=(n|0)==0?o:l;i=c[j>>2]|0;p=a[i+(B*100|0)+96>>0]|0;w=p&255;k=a[i+(B*100|0)+97>>0]|0;x=k&255;s=k<<24>>24==0;a:do if(!s){o=j+4|0;n=(k&255)<17;if(B>>>0>=(((c[o>>2]|0)-i|0)/100|0)>>>0)M(67940,67900,174,67912);m=x;k=0;while(1){l=m;m=m+-1|0;if(!n){D=18;break}i=v+(b[i+(B*100|0)+32+(m<<1)>>1]|0)|0;if((i|0)<0?(r=m+w|0,(a[A+r>>0]|0)!=0):0){if((k|0)>15){t=0;D=81;break}b[h+(k<<1)>>1]=i;a[h+64+k>>0]=a[z+r>>0]|0;k=k+1|0}if((l|0)<=1){q=k;break a}i=c[j>>2]|0;if(B>>>0>=(((c[o>>2]|0)-i|0)/100|0)>>>0){D=16;break}}if((D|0)==16)M(67940,67900,174,67912);else if((D|0)==18)M(67972,67900,175,67912);else if((D|0)==81){hc=E;return t|0}}else q=0;while(0);do if((v|0)<0?(a[A+y>>0]|0)!=0:0)if((q|0)>15){h=0;hc=E;return h|0}else{b[h+(q<<1)>>1]=v;a[h+64+q>>0]=a[z+y>>0]|0;k=q+1|0;break}else k=q;while(0);m=p<<24>>24==0;b:do if(!m){l=0;while(1){i=v+(b[(c[j>>2]|0)+(B*100|0)+(l<<1)>>1]|0)|0;if((i|0)<0?(a[A+l>>0]|0)!=0:0){if((k|0)>15){t=0;D=81;break}b[h+(k<<1)>>1]=i;a[h+64+k>>0]=a[z+l>>0]|0;u=k+1|0}else u=k;l=l+1|0;if(l>>>0>=w>>>0)break;else k=u}if((D|0)==81){hc=E;return t|0}o=h+96|0;a[o>>0]=u;if(m)k=0;else{l=w;k=0;while(1){m=l;l=l+-1|0;i=v+(b[(c[j>>2]|0)+(B*100|0)+(l<<1)>>1]|0)|0;if((i|0)>0?(a[A+l>>0]|0)!=0:0){if((k|0)>15){t=0;break}b[h+32+(k<<1)>>1]=i;a[h+80+k>>0]=a[z+l>>0]|0;k=k+1|0}if((m|0)<=1)break b}hc=E;return t|0}}else{o=h+96|0;a[o>>0]=k;k=0}while(0);do if((v|0)>0?(a[A+y>>0]|0)!=0:0)if((k|0)>15){h=0;hc=E;return h|0}else{b[h+32+(k<<1)>>1]=v;a[h+80+k>>0]=a[z+y>>0]|0;k=k+1|0;break}while(0);c:do if(!s){l=0;while(1){i=v+(b[(c[j>>2]|0)+(B*100|0)+32+(l<<1)>>1]|0)|0;if((i|0)>0?(C=l+w|0,(a[A+C>>0]|0)!=0):0){if((k|0)>15){t=0;break}b[h+32+(k<<1)>>1]=i;a[h+80+k>>0]=a[z+C>>0]|0;k=k+1|0}l=l+1|0;if(l>>>0>=x>>>0)break c}hc=E;return t|0}while(0);a[h+97>>0]=k}else D=56;d:do if((D|0)==56){n=Wg(g)|0;p=Wg(g)|0;if((n|0)==-99999|(p|0)==-99999){De(e,1018,0);h=0;hc=E;return h|0}if((p+n|0)>(c[f+528+((a[f+2>>0]|0)+-1<<2)>>2]|0)){h=h+96|0;b[h>>1]=0;b[h+2>>1]=0>>>16;De(e,1018,0);h=0;hc=E;return h|0}if((n|0)>16|(p|0)>16){De(e,1018,0);h=0;hc=E;return h|0}o=h+96|0;a[o>>0]=n;a[h+97>>0]=p;e:do if((n|0)>0){k=0;i=0;while(1){l=Wg(g)|0;if((l|0)==-99999){t=0;break}f=(Mf(g,1)|0)&255;m=h+(k<<1)|0;b[m>>1]=i+65535-l;a[h+64+k>>0]=f;k=k+1|0;if((k|0)>=(n|0))break e;else i=b[m>>1]|0}hc=E;return t|0}while(0);if((p|0)>0){k=0;i=0;while(1){l=Wg(g)|0;if((l|0)==-99999){t=0;break}f=(Mf(g,1)|0)&255;m=h+32+(k<<1)|0;b[m>>1]=i+1+l;a[h+80+k>>0]=f;k=k+1|0;if((k|0)>=(p|0))break d;else i=b[m>>1]|0}hc=E;return t|0}}while(0);p=h+99|0;a[p>>0]=0;g=a[o>>0]|0;n=g&255;if(!(g<<24>>24))k=0;else{l=0;i=0;while(1){k=i+1<<24>>24;if(!(a[h+64+l>>0]|0))k=i;else a[p>>0]=k;l=l+1|0;if((l|0)==(n|0))break;else i=k}}g=a[h+97>>0]|0;m=g&255;if(g<<24>>24){l=0;do{i=k+1<<24>>24;if(a[h+80+l>>0]|0){a[p>>0]=i;k=i}l=l+1|0}while((l|0)!=(m|0))}a[h+98>>0]=m+n;h=1;hc=E;return h|0}function ok(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(Mf(f,1)|0)!=0;a[d>>0]=k&1;do if(k){g=Mf(f,8)|0;if((g|0)<18){b[d+2>>1]=b[3936+(g<<2)>>1]|0;g=b[3936+(g<<2)+2>>1]|0;break}if((g|0)==255){b[d+2>>1]=Mf(f,16)|0;g=(Mf(f,16)|0)&65535;break}else{b[d+2>>1]=0;g=0;break}}else{b[d+2>>1]=0;g=0}while(0);b[d+4>>1]=g;k=(Mf(f,1)|0)!=0;a[d+6>>0]=k&1;if(k)a[d+7>>0]=(Mf(f,1)|0)!=0&1;g=d+12|0;c[g>>2]=5;h=d+16|0;a[h>>0]=0;i=d+18|0;a[i>>0]=2;j=d+19|0;a[j>>0]=2;k=d+20|0;a[k>>0]=2;m=(Mf(f,1)|0)!=0;a[d+8>>0]=m&1;if(m?(m=Mf(f,3)|0,c[g>>2]=(m|0)<5?m:5,a[h>>0]=(Mf(f,1)|0)!=0&1,m=(Mf(f,1)|0)!=0,a[d+17>>0]=m&1,m):0){g=Mf(f,8)|0;m=g&255;a[i>>0]=m;switch(m<<24>>24){case 3:case 0:{l=14;break}default:if((g&255)>>>0>10)l=14}if((l|0)==14)a[i>>0]=2;g=Mf(f,8)|0;m=g&255;a[j>>0]=m;switch(m<<24>>24){case 3:case 0:{l=17;break}default:if((g&254)>>>0>17)l=17}if((l|0)==17)a[j>>0]=2;m=Mf(f,8)|0;a[k>>0]=((m&255)+-1|0)>>>0>9?2:m&255}m=(Mf(f,1)|0)!=0;a[d+21>>0]=m&1;do if(m){g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}a[d+22>>0]=g;g=Wg(f)|0;if((g|0)!=-99999){g=g&255;break}De(e,8,0);m=8;return m|0}else{a[d+22>>0]=0;g=0}while(0);a[d+23>>0]=g;a[d+24>>0]=(Mf(f,1)|0)!=0&1;a[d+25>>0]=(Mf(f,1)|0)!=0&1;a[d+26>>0]=(Mf(f,1)|0)!=0&1;m=(Mf(f,1)|0)!=0;a[d+27>>0]=m&1;do if(m){g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}c[d+28>>2]=g;g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}c[d+32>>2]=g;g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}c[d+36>>2]=g;g=Wg(f)|0;if((g|0)!=-99999){c[d+40>>2]=g;break}De(e,8,0);m=8;return m|0}else{m=d+28|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while(0);m=(Mf(f,1)|0)!=0;a[d+44>>0]=m&1;if(m){c[d+48>>2]=Mf(f,32)|0;c[d+52>>2]=Mf(f,32)|0}a[d+56>>0]=(Mf(f,1)|0)!=0&1;g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}c[d+60>>2]=g+1;m=(Mf(f,1)|0)!=0;a[d+64>>0]=m&1;if(m){m=502;return m|0}m=(Mf(f,1)|0)!=0;a[d+65>>0]=m&1;if(!m){a[d+66>>0]=0;a[d+67>>0]=1;a[d+68>>0]=0;b[d+70>>1]=0;a[d+72>>0]=2;a[d+73>>0]=1;a[d+74>>0]=15;a[d+75>>0]=15;m=0;return m|0}a[d+66>>0]=(Mf(f,1)|0)!=0&1;a[d+67>>0]=(Mf(f,1)|0)!=0&1;a[d+68>>0]=(Mf(f,1)|0)!=0&1;g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}h=d+70|0;b[h>>1]=g;if(g&61440|0){De(e,8,0);b[h>>1]=0}g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}h=d+72|0;a[h>>0]=g;if((g&255)>>>0>16){De(e,8,0);a[h>>0]=2}g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}h=d+73|0;a[h>>0]=g;if((g&255)>>>0>16){De(e,8,0);a[h>>0]=1}g=Wg(f)|0;if((g|0)==-99999){De(e,8,0);m=8;return m|0}h=d+74|0;a[h>>0]=g;if(g&240|0){De(e,8,0);a[h>>0]=15}h=Wg(f)|0;if((h|0)==-99999){De(e,8,0);m=8;return m|0}g=d+75|0;a[g>>0]=h;if(!(h&240)){m=0;return m|0}De(e,8,0);a[g>>0]=15;m=0;return m|0}function pk(b,c,d){b=b|0;c=c|0;d=d|0;a[b>>0]=Mf(d,1)|0;a[b+1>>0]=Mf(d,1)|0;a[b+2>>0]=Mf(d,1)|0;a[b+3>>0]=Mf(d,1)|0;a[b+4>>0]=Mf(d,1)|0;a[b+5>>0]=Mf(d,1)|0;a[b+6>>0]=Mf(d,1)|0;a[b+7>>0]=Mf(d,1)|0;a[b+8>>0]=Mf(d,1)|0;return 0}function qk(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,v=0,w=0;k=c[b+476>>2]|0;h=c[3904+(k<<2)>>2]|0;c[b+5016>>2]=h;e=c[3920+(k<<2)>>2]|0;c[b+5020>>2]=e;l=(a[b+480>>0]|0)==0;p=l?k:0;c[b+5012>>2]=p;p=(p|0)==0;c[b+5024>>2]=p?1:h;c[b+5028>>2]=p?1:e;p=c[b+512>>2]|0;c[b+4996>>2]=p;c[b+5e3>>2]=(p*6|0)+-48;q=c[b+516>>2]|0;c[b+5004>>2]=q;c[b+5008>>2]=(q*6|0)+-48;r=c[b+612>>2]|0;c[b+5036>>2]=r;s=(c[b+616>>2]|0)+r|0;c[b+5040>>2]=s;t=1<<r;c[b+5044>>2]=t;g=1<<s;c[b+5048>>2]=g;v=c[b+484>>2]|0;n=v+-1|0;j=(n+t|0)/(t|0)|0;c[b+5052>>2]=j;n=(n+g|0)/(g|0)|0;c[b+5056>>2]=n;w=c[b+488>>2]|0;o=w+-1|0;i=(o+t|0)/(t|0)|0;c[b+5060>>2]=i;o=(o+g|0)/(g|0)|0;c[b+5064>>2]=o;c[b+5068>>2]=u(i,j)|0;c[b+5072>>2]=u(o,n)|0;c[b+5076>>2]=u(w,v)|0;if((k|0)==0|l^1){f=0;e=0}else{f=(g|0)/(e|0)|0;e=(g|0)/(h|0)|0}c[b+5080>>2]=e;c[b+5084>>2]=f;k=c[b+620>>2]|0;c[b+5100>>2]=k;l=(c[b+624>>2]|0)+k|0;c[b+5104>>2]=l;i=b+628|0;e=c[i>>2]|0;j=s-k|0;do if((e|0)>(j|0)){if(d){c[i>>2]=j;e=j;break}Jn(67600,70,1,c[12099]|0)|0;w=8;return w|0}while(0);h=b+632|0;f=c[h>>2]|0;do if((f|0)<=(j|0)){if(d){g=f;m=12}}else{if(d){c[h>>2]=j;g=j;m=12;break}Jn(67671,70,1,c[12099]|0)|0;w=8;return w|0}while(0);if((m|0)==12){f=s-l|0;if((e|0)<(f|0))c[i>>2]=f;if((g|0)<(f|0))c[h>>2]=f}m=r+-1|0;c[b+5108>>2]=m;m=s-m|0;c[b+5112>>2]=n<<m;c[b+5116>>2]=o<<m;m=c[b+4708>>2]|0;c[b+5120>>2]=m;c[b+5124>>2]=(c[b+4712>>2]|0)+m;n=n<<j;c[b+5088>>2]=n;o=o<<j;c[b+5092>>2]=o;c[b+5096>>2]=u(n,o)|0;if(!(a[b+4990>>0]|0)){e=q+248&255;f=p+248&255;g=128;h=128}else{e=0;f=0;g=1<<q+-1;h=1<<p+-1}a[b+5156>>0]=f;a[b+5157>>0]=e;c[b+5160>>2]=h;c[b+5164>>2]=g;if(((v|0)%(t|0)|0|0)==0?((w|0)%(t|0)|0|0)==0:0){if((k|0)>(r|0)){Jn(67767,19,1,c[12099]|0)|0;w=8;return w|0}if((l|0)>(((s|0)<5?s:5)|0)){Jn(67787,30,1,c[12099]|0)|0;w=8;return w|0}if((p+-8|0)>>>0>8){Jn(67818,36,1,c[12099]|0)|0;w=8;return w|0}if((q+-8|0)>>>0>8){Jn(67855,36,1,c[12099]|0)|0;w=8;return w|0}else{a[b>>0]=1;w=0;return w|0}}Jn(67742,24,1,c[12099]|0)|0;w=8;return w|0}function rk(b,d){b=b|0;d=d|0;if(a[b>>0]|0){a[b+1>>0]=Mf(d,2)|0;a[b+2>>0]=Mf(d,1)|0;c[b+4>>2]=Mf(d,5)|0;a[b+8>>0]=Mf(d,1)|0;a[b+9>>0]=Mf(d,1)|0;a[b+10>>0]=Mf(d,1)|0;a[b+11>>0]=Mf(d,1)|0;a[b+12>>0]=Mf(d,1)|0;a[b+13>>0]=Mf(d,1)|0;a[b+14>>0]=Mf(d,1)|0;a[b+15>>0]=Mf(d,1)|0;a[b+16>>0]=Mf(d,1)|0;a[b+17>>0]=Mf(d,1)|0;a[b+18>>0]=Mf(d,1)|0;a[b+19>>0]=Mf(d,1)|0;a[b+20>>0]=Mf(d,1)|0;a[b+21>>0]=Mf(d,1)|0;a[b+22>>0]=Mf(d,1)|0;a[b+23>>0]=Mf(d,1)|0;a[b+24>>0]=Mf(d,1)|0;a[b+25>>0]=Mf(d,1)|0;a[b+26>>0]=Mf(d,1)|0;a[b+27>>0]=Mf(d,1)|0;a[b+28>>0]=Mf(d,1)|0;a[b+29>>0]=Mf(d,1)|0;a[b+30>>0]=Mf(d,1)|0;a[b+31>>0]=Mf(d,1)|0;a[b+32>>0]=Mf(d,1)|0;a[b+33>>0]=Mf(d,1)|0;a[b+34>>0]=Mf(d,1)|0;a[b+35>>0]=Mf(d,1)|0;a[b+36>>0]=Mf(d,1)|0;a[b+37>>0]=Mf(d,1)|0;a[b+38>>0]=Mf(d,1)|0;a[b+39>>0]=Mf(d,1)|0;a[b+40>>0]=Mf(d,1)|0;a[b+41>>0]=Mf(d,1)|0;a[b+42>>0]=Mf(d,1)|0;a[b+43>>0]=Mf(d,1)|0;Vg(d,44)}if(!(a[b+44>>0]|0))return;c[b+48>>2]=Mf(d,8)|0;return}function sk(b){b=b|0;var d=0,e=0;c[b+4720>>2]=0;c[b+4724>>2]=0;c[b+4728>>2]=0;tk(b+4904|0);d=b+4984|0;e=d+9|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));a[b>>0]=0;return}function tk(d){d=d|0;var e=0,f=0,g=0;a[d>>0]=0;e=d+2|0;b[e>>1]=0;b[e+2>>1]=0;b[e+4>>1]=0;a[e+6>>0]=0;c[d+12>>2]=5;a[d+16>>0]=0;a[d+17>>0]=0;a[d+18>>0]=2;a[d+19>>0]=2;a[d+20>>0]=2;c[d+48>>2]=0;c[d+52>>2]=0;a[d+56>>0]=0;e=d+60|0;f=d+21|0;g=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));c[e>>2]=1;a[d+64>>0]=0;a[d+65>>0]=0;a[d+66>>0]=0;a[d+67>>0]=1;a[d+68>>0]=0;b[d+70>>1]=0;a[d+72>>0]=2;a[d+73>>0]=1;a[d+74>>0]=15;a[d+75>>0]=15;return}function uk(a){a=a|0;c[a>>2]=12432;yk(a+12|0);gz(a);return}function vk(a){a=a|0;c[a>>2]=12432;yk(a+12|0);gz(a);nz(a);return}function wk(a){a=a|0;yk(a+12|0);return}function xk(a){a=a|0;nz(a);return}function yk(a){a=a|0;var b=0;b=c[a+4720>>2]|0;if(!b)return;c[a+4724>>2]=b;nz(b);return}function zk(a,b){a=a|0;b=b|0;return}function Ak(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;s=Mf(f,4)|0;c[d>>2]=s;if((s|0)>15){f=8;return f|0}Vg(f,2);s=Mf(f,6)|0;c[d+4>>2]=s+1;if((s|0)>62){f=8;return f|0}s=Mf(f,3)|0;j=d+8|0;c[j>>2]=s+1;if((s|0)>6){f=8;return f|0}c[d+12>>2]=Mf(f,1)|0;Vg(f,16);kk(d+16|0,f,c[j>>2]|0);s=Mf(f,1)|0;k=d+484|0;c[k>>2]=s;g=c[j>>2]|0;if(s){if((g|0)>0){l=0;h=7}}else{l=g+-1|0;h=7}do if((h|0)==7){g=l;while(1){s=d+488+(g*12|0)|0;c[s>>2]=Wg(f)|0;h=d+488+(g*12|0)+4|0;c[h>>2]=Wg(f)|0;i=Wg(f)|0;c[d+488+(g*12|0)+8>>2]=i;if((c[s>>2]|0)==-99999){g=8;h=70;break}g=g+1|0;if((i|0)==-99999|(c[h>>2]|0)==-99999){g=8;h=70;break}if((g|0)>=(c[j>>2]|0)){h=11;break}}if((h|0)==11){if(c[k>>2]|0)break;if((l|0)>=8)M(68934,68974,144,68983);if((l|0)<=0)break;h=d+488+(l*12|0)|0;i=d+488+(l*12|0)+4|0;j=d+488+(l*12|0)+8|0;g=0;do{c[d+488+(g*12|0)>>2]=c[h>>2];c[d+488+(g*12|0)+4>>2]=c[i>>2];c[d+488+(g*12|0)+8>>2]=c[j>>2];g=g+1|0}while((g|0)!=(l|0))}else if((h|0)==70)return g|0}while(0);r=d+584|0;a[r>>0]=Mf(f,6)|0;j=Wg(f)|0;s=d+588|0;c[s>>2]=j;j=j+1|0;if(j>>>0>1023){De(e,8,0);f=8;return f|0}c[s>>2]=j;q=d+592|0;k=d+596|0;g=c[k>>2]|0;i=c[q>>2]|0;h=(g-i|0)/12|0;if(j>>>0<=h>>>0){if(j>>>0<h>>>0){j=i+(j*12|0)|0;if((j|0)!=(g|0))do{h=g;g=g+-12|0;i=c[g>>2]|0;if(i|0){c[h+-8>>2]=i;nz(i)}}while((g|0)!=(j|0));c[k>>2]=j}}else Ck(q,j-h|0);if((c[s>>2]|0)>1){g=1;i=a[r>>0]|0;do{j=c[q>>2]|0;o=j+(g*12|0)|0;k=i&255;l=k+1|0;p=j+(g*12|0)+4|0;h=c[p>>2]|0;e=c[o>>2]|0;m=h-e|0;n=e;a:do if(m>>>0>k>>>0){if(l>>>0<m>>>0)c[p>>2]=n+l}else{i=l-m|0;k=j+(g*12|0)+8|0;j=c[k>>2]|0;if((j-h|0)>>>0>=i>>>0)while(1){a[h>>0]=0;h=(c[p>>2]|0)+1|0;c[p>>2]=h;i=i+-1|0;if(!i)break a}h=j-e|0;j=h<<1;j=h>>>0<1073741823?(j>>>0<l>>>0?l:j):2147483647;if(!j)h=0;else h=lz(j)|0;hB(h+m|0,0,i|0)|0;if((m|0)>0)fB(h|0,n|0,m|0)|0;c[o>>2]=h;c[p>>2]=h+l;c[k>>2]=h+j;if(e|0)nz(n)}while(0);h=0;while(1){i=(Mf(f,1)|0)&255;a[(c[(c[q>>2]|0)+(g*12|0)>>2]|0)+h>>0]=i;i=a[r>>0]|0;if(h>>>0<(i&255)>>>0)h=h+1|0;else break}g=g+1|0}while((g|0)<(c[s>>2]|0))}s=(Mf(f,1)|0)&255;a[d+604>>0]=s;if(s<<24>>24?(c[d+608>>2]=Mf(f,32)|0,c[d+612>>2]=Mf(f,32)|0,s=(Mf(f,1)|0)&255,a[d+616>>0]=s,s<<24>>24):0){c[d+620>>2]=(Wg(f)|0)+1;g=Wg(f)|0;p=d+624|0;c[p>>2]=g;if((g|0)>1023)M(76276,68974,189,68983);q=d+628|0;h=d+632|0;i=c[q>>2]|0;j=(c[h>>2]|0)-i>>1;if(g>>>0<=j>>>0)if(g>>>0<j>>>0){c[h>>2]=i+(g<<1);e=g}else e=g;else{Dk(q,g-j|0);e=c[p>>2]|0}j=d+640|0;o=d+644|0;g=c[o>>2]|0;k=c[j>>2]|0;l=g-k|0;m=k;b:do if(e>>>0>l>>>0){h=e-l|0;n=d+648|0;i=c[n>>2]|0;if((i-g|0)>>>0>=h>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;h=h+-1|0;if(!h)break b}if((e|0)<0)Yz(j);s=i-k|0;i=s<<1;i=s>>>0<1073741823?(i>>>0<e>>>0?e:i):2147483647;if(!i)g=0;else g=lz(i)|0;hB(g+l|0,0,h|0)|0;if((l|0)>0)fB(g|0,m|0,l|0)|0;c[j>>2]=g;c[o>>2]=g+e;c[n>>2]=g+i;if(k|0)nz(m)}else if(e>>>0<l>>>0)c[o>>2]=m+e;while(0);if((c[p>>2]|0)>0){f=(Wg(f)|0)&65535;b[c[q>>2]>>1]=f;f=0;return f|0}}a[d+652>>0]=Mf(f,1)|0;f=0;return f|0}function Bk(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=hc;g=hc=hc+31&-32;hc=hc+208|0;E=g+192|0;D=g+184|0;C=g+176|0;B=g+168|0;A=g+160|0;z=g+152|0;y=g+144|0;x=g+128|0;w=g+120|0;u=g+112|0;t=g+104|0;p=g+96|0;o=g+88|0;n=g+80|0;s=g+72|0;r=g+64|0;q=g+56|0;m=g+48|0;l=g+40|0;k=g+32|0;j=g+24|0;i=g+16|0;h=g+8|0;switch(f|0){case 1:{f=48404;break}case 2:{f=48396;break}default:{hc=F;return}}v=c[f>>2]|0;Rj(v,68072,g);c[h>>2]=c[b>>2];Rj(v,68113,h);c[i>>2]=c[b+4>>2];Rj(v,68157,i);h=b+8|0;c[j>>2]=c[h>>2];Rj(v,68201,j);c[k>>2]=c[b+12>>2];Rj(v,68245,k);k=c[h>>2]|0;jk(b+16|0,1,v);g=k+-1|0;if((k|0)>1){f=0;do{c[l>>2]=f;Rj(v,67160,l);jk(b+68+(f*52|0)|0,0,v);f=f+1|0}while((f|0)!=(g|0))}l=b+484|0;c[m>>2]=c[l>>2];Rj(v,68289,m);if(c[l>>2]|0){if((c[h>>2]|0)>0){f=0;do{p=c[b+488+(f*12|0)>>2]|0;c[q>>2]=f;c[q+4>>2]=p;Rj(v,68336,q);c[r>>2]=c[b+488+(f*12|0)+4>>2];Rj(v,68378,r);c[s>>2]=c[b+488+(f*12|0)+8>>2];Rj(v,68419,s);f=f+1|0}while((f|0)<(c[h>>2]|0))}}else{c[n>>2]=c[b+488>>2];Rj(v,68460,n);c[o>>2]=c[b+492>>2];Rj(v,68505,o);c[p>>2]=c[b+496>>2];Rj(v,68550,p)}j=b+584|0;c[t>>2]=d[j>>0];Rj(v,68595,t);i=b+588|0;c[u>>2]=c[i>>2];Rj(v,68620,u);if((c[i>>2]|0)>1){h=b+592|0;g=1;do{f=0;while(1){u=a[(c[(c[h>>2]|0)+(g*12|0)>>2]|0)+f>>0]|0;c[x>>2]=g;c[x+4>>2]=f;c[x+8>>2]=u;Rj(v,68680,x);if(f>>>0<(d[j>>0]|0)>>>0)f=f+1|0;else break}g=g+1|0}while((g|0)<(c[i>>2]|0))}x=b+604|0;c[w>>2]=a[x>>0];Rj(v,68645,w);if((a[x>>0]|0?(c[y>>2]=c[b+608>>2],Rj(v,68717,y),c[z>>2]=c[b+612>>2],Rj(v,68745,z),z=b+616|0,c[A>>2]=a[z>>0],Rj(v,68773,A),a[z>>0]|0):0)?(c[B>>2]=c[b+620>>2],Rj(v,68815,B),B=b+624|0,c[C>>2]=c[B>>2],Rj(v,68848,C),(c[B>>2]|0)>0):0){E=e[c[b+628>>2]>>1]|0;c[D>>2]=0;c[D+4>>2]=E;Rj(v,68881,D);hc=F;return}c[E>>2]=a[b+652>>0];Rj(v,68909,E);hc=F;return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=hc;i=hc=hc+31&-32;hc=hc+32|0;h=c[a+8>>2]|0;d=a+4|0;e=c[d>>2]|0;if(((h-e|0)/12|0)>>>0>=b>>>0){hB(e|0,0,b*12|0)|0;c[d>>2]=e+(b*12|0);hc=j;return}f=c[a>>2]|0;g=(e-f|0)/12|0;d=g+b|0;if(d>>>0>357913941)Yz(a);h=(h-f|0)/12|0;e=h<<1;e=h>>>0<178956970?(e>>>0<d>>>0?d:e):357913941;c[i+12>>2]=0;c[i+16>>2]=a+8;do if(e)if(e>>>0>357913941){j=N(8)|0;rz(j,68988);c[j>>2]=52024;S(j|0,11744,126)}else{d=lz(e*12|0)|0;break}else d=0;while(0);c[i>>2]=d;f=d+(g*12|0)|0;h=i+8|0;g=i+4|0;c[g>>2]=f;c[i+12>>2]=d+(e*12|0);hB(f|0,0,b*12|0)|0;c[h>>2]=f+(b*12|0);Ek(a,i);g=c[g>>2]|0;d=c[h>>2]|0;if((d|0)!=(g|0))do{e=d+-12|0;c[h>>2]=e;f=c[e>>2]|0;if(!f)d=e;else{c[d+-8>>2]=f;nz(f);d=c[h>>2]|0}}while((d|0)!=(g|0));d=c[i>>2]|0;if(d|0)nz(d);hc=j;return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=c[k>>2]|0;l=a+4|0;d=c[l>>2]|0;if(e-d>>1>>>0>=b>>>0){hB(d|0,0,b<<1|0)|0;c[l>>2]=d+(b<<1);return}j=c[a>>2]|0;i=d-j|0;h=i>>1;d=h+b|0;if((d|0)<0)Yz(a);g=e-j|0;g=g>>1>>>0<1073741823?(g>>>0<d>>>0?d:g):2147483647;do if(g)if((g|0)<0){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(g<<1)|0;e=f;break}else{e=0;f=0}while(0);d=e+(h<<1)|0;hB(d|0,0,b<<1|0)|0;if((i|0)>0)fB(f|0,j|0,i|0)|0;c[a>>2]=e;c[l>>2]=d+(b<<1);c[k>>2]=e+(g<<1);if(!j)return;nz(j);return}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;k=c[a>>2]|0;n=a+4|0;d=c[n>>2]|0;q=b+4|0;do if((d|0)!=(k|0)){h=c[q>>2]|0;while(1){f=h+-12|0;c[f>>2]=0;i=h+-8|0;c[i>>2]=0;c[h+-4>>2]=0;g=d+-8|0;d=d+-12|0;e=(c[g>>2]|0)-(c[d>>2]|0)|0;if(e|0){if((e|0)<0){d=6;break}j=lz(e)|0;c[i>>2]=j;c[f>>2]=j;c[h+-4>>2]=j+e;f=c[d>>2]|0;e=(c[g>>2]|0)-f|0;if((e|0)>0){fB(j|0,f|0,e|0)|0;c[i>>2]=j+e}}h=(c[q>>2]|0)+-12|0;c[q>>2]=h;if((d|0)==(k|0)){d=10;break}}if((d|0)==6)Yz(f);else if((d|0)==10){l=q;m=a;o=h;p=c[a>>2]|0;break}}else{l=q;m=a;o=c[q>>2]|0;p=k}while(0);c[m>>2]=o;c[l>>2]=p;o=b+8|0;q=c[n>>2]|0;c[n>>2]=c[o>>2];c[o>>2]=q;o=a+8|0;q=b+12|0;p=c[o>>2]|0;c[o>>2]=c[q>>2];c[q>>2]=p;c[b>>2]=c[l>>2];return}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=12460;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;nz(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;nz(b)}f=a+604|0;g=c[f>>2]|0;if(!g){gz(a);return}h=a+608|0;b=c[h>>2]|0;if((b|0)==(g|0))b=g;else{do{d=b;b=b+-12|0;e=c[b>>2]|0;if(e|0){c[d+-8>>2]=e;nz(e)}}while((b|0)!=(g|0));b=c[f>>2]|0}c[h>>2]=g;nz(b);gz(a);return}function Gk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=12460;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;nz(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;nz(b)}f=a+604|0;g=c[f>>2]|0;if(!g){gz(a);nz(a);return}h=a+608|0;b=c[h>>2]|0;if((b|0)==(g|0))b=g;else{do{d=b;b=b+-12|0;e=c[b>>2]|0;if(e|0){c[d+-8>>2]=e;nz(e)}}while((b|0)!=(g|0));b=c[f>>2]|0}c[h>>2]=g;nz(b);gz(a);nz(a);return}function Hk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+652>>2]|0;if(b|0){c[a+656>>2]=b;nz(b)}b=c[a+640>>2]|0;if(b|0){c[a+644>>2]=b;nz(b)}e=a+604|0;g=c[e>>2]|0;if(!g)return;f=a+608|0;b=c[f>>2]|0;if((b|0)==(g|0))b=g;else{do{a=b;b=b+-12|0;d=c[b>>2]|0;if(d|0){c[a+-8>>2]=d;nz(d)}}while((b|0)!=(g|0));b=c[e>>2]|0}c[f>>2]=g;nz(b);return}function Ik(a){a=a|0;nz(a);return}function Jk(a){a=a|0;c[a+780>>2]=0;c[a+784>>2]=0;c[a+788>>2]=0;Cj(a+1336|0);c[a+1348>>2]=0;c[a+1352>>2]=0;c[a+1356>>2]=0;nl(a);return}function Kk(e,f,g,h){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,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;a[h>>0]=0;l=e+12|0;c[l>>2]=0;q=e+16|0;a[q>>0]=0;E=e+20|0;v=e+32|0;c[v>>2]=0;w=e+36|0;a[w>>0]=0;i=e+38|0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;c[E>>2]=0;c[E+4>>2]=0;b[E+8>>1]=0;ll(i);x=e+140|0;z=e+380|0;M=e+740|0;A=e+760|0;c[A>>2]=0;B=e+764|0;c[B>>2]=0;C=e+768|0;a[C>>0]=0;H=e+772|0;c[H>>2]=0;I=e+776|0;c[I>>2]=0;J=e+780|0;hB(x|0,0,237)|0;hB(z|0,0,358)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;b[M+16>>1]=0;a[M+18>>0]=0;F=e+784|0;c[F>>2]=c[J>>2];L=e+792|0;k=e+816|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;ll(k);y=e+916|0;n=e+1348|0;hB(y|0,0,420)|0;c[e+1352>>2]=c[n>>2];o=e+1344|0;a[o>>0]=0;a[q>>0]=0;p=e+8|0;a[p>>0]=Mf(f,1)|0;if(a[g+3210>>0]|0)a[e+9>>0]=Mf(f,1)|0;j=Wg(f)|0;c[l>>2]=j;if((j|0)>64|(j|0)==-99999){De(g+4|0,1009,0);h=0;return h|0}j=c[g+856+(j<<3)>>2]|0;if(!j){De(g+4|0,1009,0);h=0;return h|0}K=e+4|0;c[K>>2]=j;D=c[j+4>>2]|0;if(!(a[D>>0]|0)){De(g+4|0,1010,0);a[h>>0]=0;h=0;return h|0}if(!(a[p>>0]|0)){if(!(a[j+10>>0]|0))j=0;else j=(Mf(f,1)|0)&255;a[q>>0]=j;m=D+5072|0;l=c[m>>2]|0;j=0;while(1)if((1<<j|0)<(l|0))j=j+1|0;else break;l=Mf(f,j)|0;if(!(a[q>>0]|0))j=0;else{if(!l){a[h>>0]=0;De(g+4|0,1021,0);h=0;return h|0}j=c[g+2224>>2]|0;if(!j){h=16;return h|0}fB(e|0,j|0,780)|0;if((j|0)==(e|0)){o=e+1336|0;yf(o,o)|0}else{gl(J,c[j+780>>2]|0,c[j+784>>2]|0);fB(L|0,j+792|0,544)|0;yf(e+1336|0,j+1336|0)|0;a[o>>0]=a[j+1344>>0]|0;gl(n,c[j+1348>>2]|0,c[j+1352>>2]|0)}a[p>>0]=0;a[q>>0]=1;j=1}c[E>>2]=l;if((l|0)>=0){r=m;s=l;t=j;G=24}}else{a[q>>0]=0;c[E>>2]=0;r=D+5072|0;s=0;t=0;G=24}if((G|0)==24?(s|0)<(c[r>>2]|0):0){if(!(t<<24>>24)){if((a[(c[K>>2]|0)+4140>>0]|0)>0){j=0;do{Vg(f,1);j=j+1|0}while((j|0)<(a[(c[K>>2]|0)+4140>>0]|0))}t=Wg(f)|0;q=e+24|0;c[q>>2]=t;if((t|0)>2|(t|0)==-99999){De(g+4|0,1007,0);a[h>>0]=0;h=0;return h|0}if(!(a[(c[K>>2]|0)+39>>0]|0))j=1;else j=(Mf(f,1)|0)&255;a[e+28>>0]=j;if((a[D+480>>0]|0)==1)a[e+29>>0]=Mf(f,2)|0;c[v>>2]=0;a[w>>0]=0;do if(((a[g+3208>>0]|0)+-19&255)>=2){p=D+520|0;c[v>>2]=Mf(f,c[p>>2]|0)|0;v=(Mf(f,1)|0)&255;a[w>>0]=v;do if(!(v<<24>>24)){j=D+4720|0;x=D+4724|0;nk(g+4|0,D,f,i,((c[x>>2]|0)-(c[j>>2]|0)|0)/100|0,j,1)|0;c[e+812>>2]=((c[x>>2]|0)-(c[j>>2]|0)|0)/100|0;j=k+100|0;do{b[k>>1]=b[i>>1]|0;k=k+2|0;i=i+2|0}while((k|0)<(j|0))}else{l=D+4720|0;n=D+4724|0;m=c[l>>2]|0;i=((c[n>>2]|0)-m|0)/100|0;j=0;while(1)if((1<<j|0)<(i|0))j=j+1|0;else break;if(!j)j=0;else{j=Mf(f,j)|0;i=c[l>>2]|0;m=i;i=((c[n>>2]|0)-i|0)/100|0}c[x>>2]=j;if((j|0)<(i|0)){c[e+812>>2]=j;i=m+(j*100|0)|0;j=k+100|0;do{b[k>>1]=b[i>>1]|0;k=k+2|0;i=i+2|0}while((k|0)<(j|0));break}De(g+4|0,1015,0);h=8;return h|0}while(0);a:do if(!(a[D+4732>>0]|0)){c[e+144>>2]=0;c[e+148>>2]=0;i=0}else{m=D+4736|0;do if((c[m>>2]|0)>0){x=Wg(f)|0;c[e+144>>2]=x;if((x|0)==-99999)i=8;else break;return i|0}else c[e+144>>2]=0;while(0);i=Wg(f)|0;n=e+148|0;c[n>>2]=i;if((i|0)==-99999){h=8;return h|0}o=e+144|0;j=c[o>>2]|0;i=j+i|0;if((i+(d[e+912>>0]|0)+(d[e+913>>0]|0)|0)>(c[D+528+((a[D+2>>0]|0)+-1<<2)>>2]|0)){De(g+4|0,1018,0);a[h>>0]=0;h=0;return h|0}if((i|0)<=0){i=0;break}i=0;l=0;while(1){if((l|0)<(j|0)){k=c[m>>2]|0;j=0;while(1)if((1<<j|0)<(k|0))j=j+1|0;else break;k=Mf(f,j)|0;j=e+152+l|0;a[j>>0]=k;k=k&255;if((k|0)>=(c[m>>2]|0))break;c[g+2228+(l<<2)>>2]=c[D+4740+(k<<2)>>2];j=(d[j>>0]|0)+(D+4868)|0}else{x=e+168+(l<<2)|0;c[x>>2]=Mf(f,c[p>>2]|0)|0;j=e+232+l|0;a[j>>0]=Mf(f,1)|0;c[g+2228+(l<<2)>>2]=c[x>>2]}x=a[j>>0]|0;c[g+2292+(l<<2)>>2]=x<<24>>24;i=i+(x<<24>>24!=0&1)|0;x=(Mf(f,1)|0)&255;a[e+248+l>>0]=x;if(x<<24>>24){j=Wg(f)|0;c[e+264+(l<<2)>>2]=j;if((j|0)==-99999){i=8;G=193;break}}else{c[e+264+(l<<2)>>2]=0;j=0}do if(l){if((l|0)==(c[o>>2]|0))break;j=(c[g+2356+(l+-1<<2)>>2]|0)+j|0}while(0);c[g+2356+(l<<2)>>2]=j;l=l+1|0;j=c[o>>2]|0;if((l|0)>=((c[n>>2]|0)+j|0))break a}if((G|0)==193)return i|0;De(g+4|0,1023,0);a[h>>0]=0;h=0;return h|0}while(0);if(!(a[D+4900>>0]|0)){a[e+328>>0]=0;break}else{a[e+328>>0]=Mf(f,1)|0;break}}else{c[v>>2]=0;c[e+144>>2]=0;c[e+148>>2]=0;i=0}while(0);if(a[D+4703>>0]|0){a[e+329>>0]=Mf(f,1)|0;if(!(c[D+5012>>2]|0))j=0;else j=(Mf(f,1)|0)&255}else{a[e+329>>0]=0;j=0}a[e+330>>0]=j;k=e+332|0;c[k>>2]=0;l=e+336|0;c[l>>2]=0;do if((c[q>>2]|0)>>>0<2){x=(Mf(f,1)|0)&255;a[e+331>>0]=x;do if(!(x<<24>>24)){x=c[K>>2]|0;j=a[x+13>>0]|0;c[k>>2]=j;c[l>>2]=a[x+14>>0]}else{j=Wg(f)|0;c[k>>2]=j;if((j|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}j=j+1|0;c[k>>2]=j;if(c[q>>2]|0)break;j=Wg(f)|0;c[l>>2]=j;if((j|0)!=-99999){c[l>>2]=j+1;j=c[k>>2]|0;break}De(g+4|0,1007,0);h=8;return h|0}while(0);if((j|0)>16){h=8;return h|0}if((c[l>>2]|0)>16){h=8;return h|0}i=i+(d[e+915>>0]|0)|0;c[y>>2]=i;do if((i|0)>1?(a[(c[K>>2]|0)+4133>>0]|0)!=0:0){j=0;while(1)if((1<<j|0)<(i|0))j=j+1|0;else break;y=(Mf(f,1)|0)&255;a[e+340>>0]=y;do if(y<<24>>24){if((c[k>>2]|0)<=0)break;i=0;do{a[e+342+i>>0]=Mf(f,j)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}while(0);if(c[q>>2]|0){a[e+341>>0]=0;break}G=(Mf(f,1)|0)&255;a[e+341>>0]=G;if(!(G<<24>>24)){G=103;break}if((c[l>>2]|0)<=0){G=103;break}i=0;do{a[e+358+i>>0]=Mf(f,j)|0;i=i+1|0}while((i|0)<(c[l>>2]|0));G=103}else{a[e+340>>0]=0;a[e+341>>0]=0;G=103}while(0);do if((G|0)==103){if(c[q>>2]|0)break;a[e+374>>0]=Mf(f,1)|0}while(0);if(!(a[(c[K>>2]|0)+12>>0]|0))i=0;else i=(Mf(f,1)|0)&255;a[e+375>>0]=i;do if(a[e+328>>0]|0){do if(!(c[q>>2]|0)){i=(Mf(f,1)|0)&255;j=e+376|0;a[j>>0]=i;if(i<<24>>24){G=111;break}if((c[l>>2]|0)>1){i=j;G=113}else{i=0;G=116}}else{j=e+376|0;a[j>>0]=1;i=1;G=111}while(0);if((G|0)==111)if((c[k>>2]|0)>1){i=j;G=113}else G=116;do if((G|0)==113){j=Wg(f)|0;c[z>>2]=j;if((j|0)!=-99999){i=a[i>>0]|0;break}De(g+4|0,1007,0);h=8;return h|0}else if((G|0)==116){c[z>>2]=0;j=0}while(0);if(!(i<<24>>24)){if((j|0)<(c[l>>2]|0))break}else if((j|0)<(c[k>>2]|0))break;De(g+4|0,8,0);h=8;return h|0}while(0);i=c[K>>2]|0;if((a[i+37>>0]|0)!=0?(c[q>>2]|0)==1:0)G=125;else G=123;do if((G|0)==123){if(!(a[i+38>>0]|0))break;if(!(c[q>>2]|0))G=125}while(0);do if((G|0)==125){if(ml(f,e,g)|0)break;De(g+4|0,8,0);h=8;return h|0}while(0);i=Wg(f)|0;c[M>>2]=i;if((i|0)!=-99999){c[e+808>>2]=5-i;break}De(g+4|0,1007,0);h=8;return h|0}while(0);z=Xg(f)|0;c[e+744>>2]=z;if((z|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}i=c[K>>2]|0;do if(!(a[i+36>>0]|0)){c[e+748>>2]=0;c[e+752>>2]=0}else{z=Xg(f)|0;c[e+748>>2]=z;if((z|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}z=Xg(f)|0;c[e+752>>2]=z;if((z|0)!=-99999){i=c[K>>2]|0;break}De(g+4|0,1007,0);h=8;return h|0}while(0);if(a[i+4148>>0]|0){a[e+756>>0]=Mf(f,1)|0;i=c[K>>2]|0}if(!(a[i+56>>0]|0))j=0;else{j=(Mf(f,1)|0)&255;i=c[K>>2]|0}a[e+757>>0]=j;c[A>>2]=c[i+60>>2];c[B>>2]=c[i+64>>2];do if(!(j<<24>>24))a[e+758>>0]=a[i+57>>0]|0;else{z=(Mf(f,1)|0)&255;a[e+758>>0]=z;if(z<<24>>24)break;i=Xg(f)|0;c[A>>2]=i;if((i|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}c[A>>2]=i<<1;i=Xg(f)|0;c[B>>2]=i;if((i|0)!=-99999){c[B>>2]=i<<1;break}De(g+4|0,1007,0);h=8;return h|0}while(0);i=a[(c[K>>2]|0)+54>>0]|0;b:do if(i<<24>>24){do if(!(a[e+329>>0]|0)){if(a[e+330>>0]|0)break;if(a[e+758>>0]|0)break b}while(0);i=(Mf(f,1)|0)&255}while(0);a[C>>0]=i}C=c[K>>2]|0;if((a[C+42>>0]|0)==0?(a[C+41>>0]|0)==0:0)c[H>>2]=0;else G=159;c:do if((G|0)==159){i=Wg(f)|0;c[H>>2]=i;if((i|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}j=c[K>>2]|0;if(a[j+41>>0]|0?(((c[E>>2]|0)/(c[D+5056>>2]|0)|0)+i|0)>=(c[D+5064>>2]|0):0){De(g+4|0,1007,0);h=8;return h|0}if(a[j+42>>0]|0?(i|0)>(u(c[j+48>>2]|0,c[j+44>>2]|0)|0):0){De(g+4|0,1007,0);h=8;return h|0}j=c[J>>2]|0;k=(c[F>>2]|0)-j>>2;if(i>>>0<=k>>>0){if(i>>>0<k>>>0)c[F>>2]=j+(i<<2)}else{Wj(J,i-k|0);i=c[H>>2]|0}if((i|0)>0){i=Wg(f)|0;c[I>>2]=i;if((i|0)==-99999){De(g+4|0,1007,0);h=8;return h|0}j=i+1|0;c[I>>2]=j;if((i|0)>31){h=8;return h|0}if((c[H>>2]|0)>0){i=0;while(1){j=(Mf(f,j)|0)+1|0;k=c[J>>2]|0;l=k+(i<<2)|0;c[l>>2]=j;if(i|0)c[l>>2]=(c[k+(i+-1<<2)>>2]|0)+j;i=i+1|0;if((i|0)>=(c[H>>2]|0))break c;j=c[I>>2]|0}}}}while(0);if(a[(c[K>>2]|0)+4141>>0]|0){i=Wg(f)|0;c[L>>2]=i;if((i|0)==-99999|(i|0)>1e3){De(g+4|0,1007,0);h=8;return h|0}if((i|0)>0){i=0;do{Mf(f,8)|0;i=i+1|0}while((i|0)<(c[L>>2]|0))}}c[e+796>>2]=(c[e+744>>2]|0)+(c[(c[K>>2]|0)+16>>2]|0);switch(c[e+24>>2]|0){case 2:{i=0;G=191;break}case 1:{i=(a[e+375>>0]|0)+1|0;G=191;break}case 0:{i=2-(a[e+375>>0]|0)|0;G=191;break}default:{}}if((G|0)==191)c[e+800>>2]=i;c[e+808>>2]=5-(c[M>>2]|0);a[h>>0]=1;h=0;return h|0}De(g+4|0,1020,0);h=8;return h|0}function Lk(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=hc;h=hc=hc+31&-32;hc=hc+544|0;fa=h+520|0;ea=h+504|0;da=h+488|0;ca=h+472|0;ba=h+456|0;aa=h+440|0;oa=h+432|0;na=h+424|0;ma=h+416|0;ka=h+408|0;ja=h+400|0;ia=h+392|0;ha=h+384|0;ga=h+376|0;$=h+368|0;_=h+360|0;Z=h+352|0;Y=h+344|0;T=h+328|0;S=h+312|0;R=h+296|0;Q=h+280|0;V=h+264|0;U=h+248|0;P=h+240|0;O=h+232|0;N=h+224|0;L=h+216|0;K=h+208|0;J=h+200|0;I=h+192|0;G=h+184|0;F=h+176|0;D=h+168|0;C=h+160|0;B=h+152|0;A=h+144|0;z=h+136|0;y=h+128|0;x=h+120|0;w=h+112|0;v=h+104|0;u=h+96|0;t=h+88|0;s=h+80|0;r=h+72|0;q=h+64|0;p=h+56|0;o=h+48|0;k=h+40|0;n=h+32|0;m=h+24|0;l=h+16|0;j=h+8|0;switch(g|0){case 1:{g=48404;break}case 2:{g=48396;break}default:{hc=pa;return}}la=c[g>>2]|0;i=e+12|0;X=c[f+856+(c[i>>2]<<3)>>2]|0;if(!(a[X>>0]|0))M(69347,58545,1281,69361);E=c[f+728+(a[X+9>>0]<<3)>>2]|0;if(!(a[E>>0]|0))M(69387,58545,1284,69361);Rj(la,69401,h);h=e+8|0;c[j>>2]=a[h>>0];Rj(la,69444,j);g=f+3208|0;if((a[g>>0]&-8)<<24>>24==16){c[l>>2]=a[e+9>>0];Rj(la,69487,l)}c[m>>2]=c[i>>2];Rj(la,69530,m);if(!(a[h>>0]|0)){c[n>>2]=a[e+16>>0];Rj(la,69573,n);c[k>>2]=c[e+20>>2];Rj(la,69616,k)}f=e+24|0;n=c[f>>2]|0;c[o>>2]=(n|0)==0?66:(n|0)==1?80:73;Rj(la,69659,o);if(a[X+39>>0]|0){c[p>>2]=a[e+28>>0];Rj(la,69702,p)}if((a[E+480>>0]|0)==1){c[q>>2]=a[e+29>>0];Rj(la,69745,q)}c[r>>2]=c[e+32>>2];Rj(la,69788,r);if(((a[g>>0]|0)+-19&255)>=2){r=e+36|0;c[s>>2]=a[r>>0];Rj(la,69831,s);g=E+4720|0;h=(c[E+4724>>2]|0)-(c[g>>2]|0)|0;if(a[r>>0]|0){if((h|0)>100){t=e+140|0;c[u>>2]=c[t>>2];Rj(la,69895,u);gk((c[g>>2]|0)+((c[t>>2]|0)*100|0)|0,16,la)}}else{c[t>>2]=(h|0)/100|0;Rj(la,69874,t);gk(e+38|0,16,la)}if(a[E+4732>>0]|0){if((c[E+4736>>2]|0)>0){c[v>>2]=c[e+144>>2];Rj(la,69938,v)}c[w>>2]=c[e+148>>2];Rj(la,69985,w)}if(a[E+4900>>0]|0){c[x>>2]=a[e+328>>0];Rj(la,70032,x)}}if(a[E+4703>>0]|0){c[y>>2]=a[e+329>>0];Rj(la,70070,y);c[z>>2]=a[e+330>>0];Rj(la,70108,z)}if((c[f>>2]|0)>>>0<2){g=e+331|0;c[A>>2]=a[g>>0];Rj(la,70146,A);h=e+332|0;A=(a[g>>0]|0)==0?70185:100142;c[B>>2]=c[h>>2];c[B+4>>2]=A;Rj(la,70196,B);if(!(c[f>>2]|0)){B=(a[g>>0]|0)==0?70185:100142;c[C>>2]=c[e+336>>2];c[C+4>>2]=B;Rj(la,70236,C)}if(a[X+4133>>0]|0?(c[e+916>>2]|0)>1:0){C=e+340|0;c[D>>2]=a[C>>0];Rj(la,70276,D);if(a[C>>0]|0?(c[h>>2]|0)>0:0){g=0;do{D=d[e+342+g>>0]|0;c[F>>2]=g;c[F+4>>2]=D;Rj(la,70316,F);g=g+1|0}while((g|0)<(c[h>>2]|0))}F=e+341|0;c[G>>2]=a[F>>0];Rj(la,70326,G);if(a[F>>0]|0?(H=e+336|0,(c[H>>2]|0)>0):0){g=0;do{G=d[e+358+g>>0]|0;c[I>>2]=g;c[I+4>>2]=G;Rj(la,70316,I);g=g+1|0}while((g|0)<(c[H>>2]|0))}}if(!(c[f>>2]|0)){c[J>>2]=a[e+374>>0];Rj(la,70366,J)}c[K>>2]=a[e+375>>0];Rj(la,70403,K);if(a[e+328>>0]|0){c[L>>2]=a[e+376>>0];Rj(la,70440,L);c[N>>2]=c[e+380>>2];Rj(la,70477,N)}if((a[X+37>>0]|0)!=0?(c[f>>2]|0)==1:0)g=49;else g=47;if(((g|0)==47?a[X+38>>0]|0:0)?(c[f>>2]|0)==0:0)g=49;if((g|0)==49){c[O>>2]=d[e+384>>0];Rj(la,70514,O);if(c[E+476>>2]|0){c[P>>2]=d[e+385>>0];Rj(la,70551,P)}i=e+336|0;h=c[h>>2]|0;if((h|0)>0){g=0;do{P=b[e+450+(g<<1)>>1]|0;c[U>>2]=0;c[U+4>>2]=g;c[U+8>>2]=P;Rj(la,70588,U);P=a[e+514+g>>0]|0;c[V>>2]=0;c[V+4>>2]=g;c[V+8>>2]=P;Rj(la,70625,V);P=b[e+546+(g<<2)>>1]|0;c[Q>>2]=0;c[Q+4>>2]=g;c[Q+8>>2]=0;c[Q+12>>2]=P;Rj(la,70662,Q);P=a[e+674+(g<<1)>>0]|0;c[R>>2]=0;c[R+4>>2]=g;c[R+8>>2]=0;c[R+12>>2]=P;Rj(la,70700,R);P=b[e+546+(g<<2)+2>>1]|0;c[S>>2]=0;c[S+4>>2]=g;c[S+8>>2]=1;c[S+12>>2]=P;Rj(la,70662,S);P=a[e+674+(g<<1)+1>>0]|0;c[T>>2]=0;c[T+4>>2]=g;c[T+8>>2]=1;c[T+12>>2]=P;Rj(la,70700,T);g=g+1|0}while((g|0)!=(h|0))}if((c[f>>2]|0)==0?(W=c[i>>2]|0,(W|0)>0):0){g=0;do{V=b[e+482+(g<<1)>>1]|0;c[aa>>2]=1;c[aa+4>>2]=g;c[aa+8>>2]=V;Rj(la,70588,aa);V=a[e+530+g>>0]|0;c[ba>>2]=1;c[ba+4>>2]=g;c[ba+8>>2]=V;Rj(la,70625,ba);V=b[e+610+(g<<2)>>1]|0;c[ca>>2]=1;c[ca+4>>2]=g;c[ca+8>>2]=0;c[ca+12>>2]=V;Rj(la,70662,ca);V=a[e+706+(g<<1)>>0]|0;c[da>>2]=1;c[da+4>>2]=g;c[da+8>>2]=0;c[da+12>>2]=V;Rj(la,70700,da);V=b[e+610+(g<<2)+2>>1]|0;c[ea>>2]=1;c[ea+4>>2]=g;c[ea+8>>2]=1;c[ea+12>>2]=V;Rj(la,70662,ea);V=a[e+706+(g<<1)+1>>0]|0;c[fa>>2]=1;c[fa+4>>2]=g;c[fa+8>>2]=1;c[fa+12>>2]=V;Rj(la,70700,fa);g=g+1|0}while((g|0)!=(W|0))}}c[Y>>2]=c[e+740>>2];Rj(la,70738,Y)}c[Z>>2]=c[e+744>>2];Rj(la,70775,Z);if(a[X+36>>0]|0){c[_>>2]=c[e+748>>2];Rj(la,70804,_);c[$>>2]=c[e+752>>2];Rj(la,70833,$)}h=e+757|0;if(a[X+56>>0]|0){c[ga>>2]=a[h>>0];Rj(la,70862,ga)}g=e+758|0;ga=(a[h>>0]|0)==0?70900:70911;c[ha>>2]=a[g>>0];c[ha+4>>2]=ga;Rj(la,70922,ha);if(a[h>>0]|0?(a[g>>0]|0)==0:0){c[ia>>2]=c[e+760>>2];Rj(la,70969,ia);c[ja>>2]=c[e+764>>2];Rj(la,70994,ja)}do if(a[X+54>>0]|0){if(((a[e+329>>0]|0)==0?(a[e+330>>0]|0)==0:0)?a[g>>0]|0:0)break;c[ka>>2]=a[e+768>>0];Rj(la,71019,ka)}while(0);if((a[X+42>>0]|0)==0?(a[X+41>>0]|0)==0:0){hc=pa;return}i=e+772|0;c[ma>>2]=c[i>>2];Rj(la,71070,ma);if((c[i>>2]|0)<=0){hc=pa;return}c[na>>2]=c[e+776>>2];Rj(la,71103,na);if((c[i>>2]|0)<=0){hc=pa;return}h=e+780|0;g=0;do{na=c[(c[h>>2]|0)+(g<<2)>>2]|0;c[oa>>2]=g;c[oa+4>>2]=na;Rj(la,71136,oa);g=g+1|0}while((g|0)<(c[i>>2]|0));hc=pa;return} |
| | | function Fg(a,e,f,g,h,i,j,k,l,m,n){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0;if((g+f|0)>(n|0)&(((g+e|0)<=(m|0)|(e|0)>(m|0)|(f|0)>(n|0))^1)){if((j<<1|0)==(g|0)?!((j+e|0)<=(m|0)|((l|0)!=1|(k<<1|0)!=(g|0)|(k+f|0)>(n|0))):0)return 0}else{if((n|m|0)<0)return 0;k=c[a+128>>2]|0;if((c[k+484>>2]|0)<=(m|0))return 0;if((c[k+488>>2]|0)<=(n|0))return 0;l=c[a+136>>2]|0;j=c[k+5100>>2]|0;g=c[k+5088>>2]|0;e=(u(n>>j,g)|0)+(m>>j)|0;f=c[l+4396>>2]|0;if((c[f+(e<<2)>>2]|0)>(c[f+((u(i>>j,g)|0)+(h>>j)<<2)>>2]|0))return 0;g=c[k+5040>>2]|0;j=h>>g;e=i>>g;f=m>>g;g=n>>g;i=c[a+156>>2]|0;o=(u(i,e)|0)+j|0;h=c[a+144>>2]|0;if((b[h+(o*24|0)>>1]|0)!=(b[h+(((u(i,g)|0)+f|0)*24|0)>>1]|0))return 0;o=c[k+5056>>2]|0;h=(u(o,e)|0)+j|0;i=c[l+4384>>2]|0;if((c[i+(h<<2)>>2]|0)!=(c[i+((u(o,g)|0)+f<<2)>>2]|0))return 0}e=c[a+172>>2]|0;g=m>>e;e=n>>e;if((g|0)<=-1)M(60650,59433,120,60707);f=c[a+176>>2]|0;if((g|0)>=(f|0))M(60650,59433,120,60707);if((e|0)<=-1)M(60711,59433,121,60707);if((e|0)<(c[a+180>>2]|0)){o=(c[a+164>>2]|0)+(((u(f,e)|0)+g|0)*3|0)|0;return ((d[o>>0]|d[o+1>>0]<<8)&768)!=0|0}else M(60711,59433,121,60707);return 0}function Gg(e,f,g,h,i,j,k,l,m,n,o,p,q){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=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;G=c[(c[f+136>>2]|0)+4136>>2]|0;t=c[e>>2]|0;e=c[t+172>>2]|0;l=g>>e;e=h>>e;if((l|0)<=-1)M(60650,60687,120,60707);s=c[t+176>>2]|0;if((l|0)>=(s|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)>=(c[t+180>>2]|0))M(60711,60687,121,60707);v=(c[t+164>>2]|0)+(((u(s,e)|0)+l|0)*3|0)|0;v=((d[v>>0]|d[v+1>>0]<<8)&65535)>>>3;D=j+-1|0;z=n+k|0;l=z+-1|0;x=j>>G;E=(x|0)==(D>>G|0);if(E?(k>>G|0)==(l>>G|0):0){H=0;r=0}else C=9;a:do if((C|0)==9){if((o|0)==1)switch(v&7){case 2:case 6:case 7:{H=0;r=0;break a}default:{}}if(Fg(f,g,h,i,j,k,m,n,o,D,l)|0){B=c[t+192>>2]|0;s=D>>B;l=l>>B;if((s|0)<=-1)M(60650,60687,120,60707);e=c[t+196>>2]|0;if((s|0)>=(e|0))M(60650,60687,120,60707);if((l|0)<=-1)M(60711,60687,121,60707);if((l|0)<(c[t+200>>2]|0)){H=(c[t+184>>2]|0)+(((u(e,l)|0)+s|0)*12|0)|0;b[p>>1]=b[H>>1]|0;b[p+2>>1]=b[H+2>>1]|0;b[p+4>>1]=b[H+4>>1]|0;b[p+6>>1]=b[H+6>>1]|0;b[p+8>>1]=b[H+8>>1]|0;b[p+10>>1]=b[H+10>>1]|0;H=1;r=1;break}else M(60711,60687,121,60707)}else{H=0;r=0}}while(0);if((r|0)>=(q|0)){p=r;return p|0}w=m+j|0;l=w+-1|0;B=k+-1|0;if((x|0)==(l>>G|0)?(k>>G|0)==(B>>G|0):0){v=0;y=0}else C=22;b:do if((C|0)==22){if((o|0)==1)switch(v&7){case 1:case 4:case 5:{v=0;y=0;break b}default:{}}if(Fg(f,g,h,i,j,k,m,n,o,l,B)|0){e=c[f+192>>2]|0;l=l>>e;e=B>>e;if((l|0)<=-1)M(60650,60687,120,60707);s=c[f+196>>2]|0;if((l|0)>=(s|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)>=(c[f+200>>2]|0))M(60711,60687,121,60707);t=c[f+184>>2]|0;s=(u(s,e)|0)+l|0;l=t+(s*12|0)|0;do if(H?(y=a[p>>0]|0,y<<24>>24==(a[l>>0]|0)):0){if(y<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24==(a[t+(s*12|0)+1>>0]|0)){if(!(e<<24>>24)){v=1;y=0;break b}if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0)){v=1;y=0;break b}}}while(0);v=p+(r*12|0)|0;b[v>>1]=b[l>>1]|0;b[v+2>>1]=b[l+2>>1]|0;b[v+4>>1]=b[l+4>>1]|0;b[v+6>>1]=b[l+6>>1]|0;b[v+8>>1]=b[l+8>>1]|0;b[v+10>>1]=b[l+10>>1]|0;v=1;y=r;r=r+1|0}else{v=0;y=0}}while(0);if((r|0)>=(q|0)){p=r;return p|0}if(!((x|0)==(w>>G|0)?(k>>G|0)==(B>>G|0):0))C=47;c:do if((C|0)==47)if(Fg(f,g,h,i,j,k,m,n,o,w,B)|0){e=c[f+192>>2]|0;l=w>>e;e=B>>e;if((l|0)<=-1)M(60650,60687,120,60707);s=c[f+196>>2]|0;if((l|0)>=(s|0))M(60650,60687,120,60707);if((e|0)<=-1)M(60711,60687,121,60707);if((e|0)>=(c[f+200>>2]|0))M(60711,60687,121,60707);t=c[f+184>>2]|0;s=(u(s,e)|0)+l|0;l=t+(s*12|0)|0;do if(v?(A=a[p+(y*12|0)>>0]|0,A<<24>>24==(a[l>>0]|0)):0){if(A<<24>>24){if((b[p+(y*12|0)+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+(y*12|0)+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+(y*12|0)+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+(y*12|0)+1>>0]|0;if(e<<24>>24==(a[t+(s*12|0)+1>>0]|0)){if(!(e<<24>>24))break c;if((b[p+(y*12|0)+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+(y*12|0)+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+(y*12|0)+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0))break c}}while(0);A=p+(r*12|0)|0;b[A>>1]=b[l>>1]|0;b[A+2>>1]=b[l+2>>1]|0;b[A+4>>1]=b[l+4>>1]|0;b[A+6>>1]=b[l+6>>1]|0;b[A+8>>1]=b[l+8>>1]|0;b[A+10>>1]=b[l+10>>1]|0;r=r+1|0}while(0);if((r|0)>=(q|0)){p=r;return p|0}if(!(E?(k>>G|0)==(z>>G|0):0))C=70;d:do if((C|0)==70)if(Fg(f,g,h,i,j,k,m,n,o,D,z)|0){l=c[f+192>>2]|0;s=D>>l;l=z>>l;if((s|0)<=-1)M(60650,60687,120,60707);e=c[f+196>>2]|0;if((s|0)>=(e|0))M(60650,60687,120,60707);if((l|0)<=-1)M(60711,60687,121,60707);if((l|0)>=(c[f+200>>2]|0))M(60711,60687,121,60707);t=c[f+184>>2]|0;s=(u(e,l)|0)+s|0;l=t+(s*12|0)|0;do if(H?(F=a[p>>0]|0,F<<24>>24==(a[l>>0]|0)):0){if(F<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24))break d;if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)==(a[t+(s*12|0)+3>>0]|0))break d}while(0);F=p+(r*12|0)|0;b[F>>1]=b[l>>1]|0;b[F+2>>1]=b[l+2>>1]|0;b[F+4>>1]=b[l+4>>1]|0;b[F+6>>1]=b[l+6>>1]|0;b[F+8>>1]=b[l+8>>1]|0;b[F+10>>1]=b[l+10>>1]|0;r=r+1|0}while(0);if((r|0)>=(q|0)|(r|0)==4){p=r;return p|0}if(E?(k>>G|0)==(B>>G|0):0){p=r;return p|0}if(!(Fg(f,g,h,i,j,k,m,n,o,D,B)|0)){p=r;return p|0}l=c[f+192>>2]|0;s=D>>l;l=B>>l;if((s|0)<=-1)M(60650,60687,120,60707);e=c[f+196>>2]|0;if((s|0)>=(e|0))M(60650,60687,120,60707);if((l|0)<=-1)M(60711,60687,121,60707);if((l|0)>=(c[f+200>>2]|0))M(60711,60687,121,60707);t=c[f+184>>2]|0;s=(u(e,l)|0)+s|0;l=t+(s*12|0)|0;do if(v){e=a[p+(y*12|0)>>0]|0;if(e<<24>>24!=(a[l>>0]|0))break;if(e<<24>>24){if((b[p+(y*12|0)+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+(y*12|0)+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+(y*12|0)+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+(y*12|0)+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24)){p=r;return p|0}if((b[p+(y*12|0)+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+(y*12|0)+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+(y*12|0)+3>>0]|0)!=(a[t+(s*12|0)+3>>0]|0))break;return r|0}while(0);do if(H){e=a[p>>0]|0;if(e<<24>>24!=(a[l>>0]|0))break;if(e<<24>>24){if((b[p+4>>1]|0)!=(b[t+(s*12|0)+4>>1]|0))break;if((b[p+6>>1]|0)!=(b[t+(s*12|0)+6>>1]|0))break;if((a[p+2>>0]|0)!=(a[t+(s*12|0)+2>>0]|0))break}e=a[p+1>>0]|0;if(e<<24>>24!=(a[t+(s*12|0)+1>>0]|0))break;if(!(e<<24>>24)){p=r;return p|0}if((b[p+8>>1]|0)!=(b[t+(s*12|0)+8>>1]|0))break;if((b[p+10>>1]|0)!=(b[t+(s*12|0)+10>>1]|0))break;if((a[p+3>>0]|0)!=(a[t+(s*12|0)+3>>0]|0))break;return r|0}while(0);p=p+(r*12|0)|0;b[p>>1]=b[l>>1]|0;b[p+2>>1]=b[l+2>>1]|0;b[p+4>>1]=b[l+4>>1]|0;b[p+6>>1]=b[l+6>>1]|0;b[p+8>>1]=b[l+8>>1]|0;b[p+10>>1]=b[l+10>>1]|0;p=r+1|0;return p|0}function Hg(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[h>>2]|0;if(!((s|0)>1&(s|0)<(i|0)))return;t=u(s+-1|0,s)|0;n=0;o=0;p=1;while(1){j=g+(o*12|0)|0;if(!(a[j>>0]|0))q=0;else q=mc[c[(c[d>>2]|0)+8>>2]&31](d,c[f+920+(a[g+(o*12|0)+2>>0]<<2)>>2]|0)|0;k=g+(p*12|0)+1|0;if(!(a[k>>0]|0))r=0;else r=mc[c[(c[d>>2]|0)+8>>2]&31](d,c[f+984+(a[g+(p*12|0)+3>>0]<<2)>>2]|0)|0;l=a[j>>0]|0;m=l<<24>>24==0;if(!((q|0)!=0|m)){j=18;break}j=a[k>>0]|0;k=j<<24>>24==0;if(!((r|0)!=0|k)){j=18;break}do if(!(m|k)){if(((c[q+96>>2]|0)==(c[r+96>>2]|0)?(b[g+(o*12|0)+4>>1]|0)==(b[g+(p*12|0)+8>>1]|0):0)?(b[g+(o*12|0)+6>>1]|0)==(b[g+(p*12|0)+10>>1]|0):0)break;r=c[h>>2]|0;a[g+(r*12|0)+2>>0]=a[g+(o*12|0)+2>>0]|0;a[g+(r*12|0)+3>>0]=a[g+(p*12|0)+3>>0]|0;a[g+(r*12|0)>>0]=l;a[g+(r*12|0)+1>>0]=j;o=g+(o*12|0)+4|0;q=g+(r*12|0)+4|0;o=e[o>>1]|e[o+2>>1]<<16;b[q>>1]=o;b[q+2>>1]=o>>>16;q=g+(p*12|0)+8|0;r=g+(r*12|0)+8|0;q=e[q>>1]|e[q+2>>1]<<16;b[r>>1]=q;b[r+2>>1]=q>>>16;c[h>>2]=(c[h>>2]|0)+1}while(0);n=n+1|0;if((n|0)==(t|0)){j=18;break}if((c[h>>2]|0)==(i|0)){j=18;break}o=c[1152+(n<<2)>>2]|0;p=c[1200+(n<<2)>>2]|0;if(!((o|0)<(s|0)&(p|0)<(s|0))){j=4;break}}if((j|0)==4)M(76276,59218,1402,59443);else if((j|0)==18)return}function Ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!(a[b+42>>0]|0))return (e|d|0)==0|0;h=c[b+44>>2]|0;if((h|0)<=0){e=0;return e|0}f=0;while(1){if((c[b+4260+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(h|0)){g=0;i=11;break}}if((i|0)==11)return g|0;d=c[b+48>>2]|0;if((d|0)<=0){e=0;return e|0}f=0;while(1){if((c[b+4304+(f<<2)>>2]|0)==(e|0)){g=1;i=11;break}f=f+1|0;if((f|0)>=(d|0)){g=0;i=11;break}}if((i|0)==11)return g|0;return 0}function Jg(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((g|f|0)<0){k=0;return k|0}k=c[a+128>>2]|0;if((c[k+484>>2]|0)<=(f|0)){k=0;return k|0}if((c[k+488>>2]|0)<=(g|0)){k=0;return k|0}j=c[a+136>>2]|0;i=c[k+5100>>2]|0;h=c[k+5088>>2]|0;m=(u(g>>i,h)|0)+(f>>i)|0;l=c[j+4396>>2]|0;if((c[l+(m<<2)>>2]|0)>(c[l+((u(e>>i,h)|0)+(d>>i)<<2)>>2]|0)){m=0;return m|0}m=c[k+5040>>2]|0;i=d>>m;h=e>>m;e=f>>m;d=g>>m;m=c[a+156>>2]|0;g=(u(m,h)|0)+i|0;l=c[a+144>>2]|0;if((b[l+(g*24|0)>>1]|0)!=(b[l+(((u(m,d)|0)+e|0)*24|0)>>1]|0)){m=0;return m|0}m=c[k+5056>>2]|0;k=(u(m,h)|0)+i|0;l=c[j+4384>>2]|0;m=(c[l+(k<<2)>>2]|0)==(c[l+((u(m,d)|0)+e<<2)>>2]|0);return m|0}function Kg(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;do if((d|0)>0){h=d+-1|0;j=(e|0)<51?e:51;j=(j|0)>0?j:0;k=c[1248+(h*12|0)>>2]|0;f=b+5|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;k=c[1248+(h*12|0)+4>>2]|0;f=b+6|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;k=c[1248+(h*12|0)+8>>2]|0;f=b+7|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;k=c[12340+(h<<2)>>2]|0;g=b+149|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;f=(k|0)>63;k=f?k+64|0:63-k|0;f=(k&255)<<1&255|f&1;if((k&127)>>>0>=63){a[g>>0]=f;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;k=c[12264+(h<<2)>>2]|0;f=b+147|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){a[f>>0]=g;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;k=c[12272+(h<<2)>>2]|0;g=b+148|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;f=(k|0)>63;k=f?k+64|0:63-k|0;f=(k&255)<<1&255|f&1;if((k&127)>>>0>=63){a[g>>0]=f;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;f=b+156|0;k=((u(j,-20)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){i=g;k=f;a[k>>0]=i;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;f=b+157|0;k=((u(j,-25)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;i=(k|0)>63;k=i?k+64|0:63-k|0;i=(k&255)<<1&255|i&1;if((k&127)>>>0>=63){h=i;k=f;a[k>>0]=h;M(59587,58605,210,59608)}hB(f|0,i|0,1)|0;f=b+158|0;k=((u(j,-30)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){h=g;k=f;a[k>>0]=h;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;f=b+159|0;k=((u(j,-40)|0)>>4)+104|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){h=g;k=f;a[k>>0]=h;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;hB(b+160|0,g|0,1)|0;a[b+154>>0]=14;a[b+155>>0]=14;h=2672+(((d|0)==1?0:2)<<2)|0;k=c[h>>2]|0;f=b+150|0;k=(k<<3&120)+-16+((u(((k>>4)*5|0)+-45|0,j)|0)>>4)|0;k=(k|0)<126?k:126;k=(k|0)>1?k:1;g=(k|0)>63;k=g?k+64|0:63-k|0;g=(k&255)<<1&255|g&1;if((k&127)>>>0>=63){m=g;k=f;a[k>>0]=m;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+151|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,j)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){k=g;m=f;a[m>>0]=k;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;g=b+152|0;m=((j*5|0)>>>4)+48|0;m=m>>>0<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;hB(b+153|0,i|0,1)|0;g=b+143|0;m=((u(j,-5)|0)>>4)+72|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0<63){hB(g|0,f|0,4)|0;break}else{a[g>>0]=f;M(59587,58605,210,59608)}}while(0);k=(e|0)<51?e:51;k=(k|0)>0?k:0;m=c[1280+(d*12|0)>>2]|0;f=b+2|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[1280+(d*12|0)+4>>2]|0;f=b+3|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[1280+(d*12|0)+8>>2]|0;f=b+4|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;h=2624+(((d|0)==2?5:d)<<2)|0;m=c[h>>2]|0;f=b+8|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+9|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+10|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+11|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[12328+(d<<2)>>2]|0;g=b+12|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;m=c[12280+(d<<2)>>2]|0;f=b+13|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){a[f>>0]=g;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;f=1328+(((d|0)==0?0:2)<<2)|0;m=c[f>>2]|0;g=b+14|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;h=(m|0)>63;m=h?m+64|0:63-m|0;h=(m&255)<<1&255|h&1;if((m&127)>>>0>=63){e=h;m=g;a[m>>0]=e;M(59587,58605,210,59608)}hB(g|0,h|0,1)|0;m=c[f+4>>2]|0;f=b+15|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;e=d<<2;h=2576+(e<<2)|0;m=c[h>>2]|0;f=b+16|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+17|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+18|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+12>>2]|0;g=b+19|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){j=f;m=g;a[m>>0]=j;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;h=2528+(d*3<<2)|0;m=c[h>>2]|0;f=b+20|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+21|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+22|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){j=g;m=f;a[m>>0]=j;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;h=b+25|0;j=2304+(d*18<<2)|0;f=0;do{m=c[j+(f<<2)>>2]|0;g=h+f|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=35;break}hB(g|0,i|0,1)|0;f=f+1|0}while(f>>>0<18);if((l|0)==35){a[g>>0]=i;M(59587,58605,210,59608)}g=b+43|0;f=0;do{m=c[j+(f<<2)>>2]|0;h=g+f|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=39;break}hB(h|0,i|0,1)|0;f=f+1|0}while(f>>>0<18);if((l|0)==39){a[h>>0]=i;M(59587,58605,210,59608)}h=1344+(e<<2)|0;m=c[h>>2]|0;f=b+61|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+62|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+63|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+64|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;h=b+65|0;f=0;do{m=c[1392+(d*168|0)+(f<<2)>>2]|0;g=h+f|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;i=(m|0)>63;m=i?m+64|0:63-m|0;i=(m&255)<<1&255|i&1;if((m&127)>>>0>=63){l=45;break}hB(g|0,i|0,1)|0;f=f+1|0}while(f>>>0<42);if((l|0)==45){a[g>>0]=i;M(59587,58605,210,59608)}m=c[1904+(d<<3)>>2]|0;f=b+107|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[1904+(d<<3)+4>>2]|0;f=b+108|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){e=g;m=f;a[m>>0]=e;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;i=b+109|0;g=2016+(d*24<<2)|0;f=0;do{m=c[g+(f<<2)>>2]|0;h=i+f|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;j=(m|0)>63;m=j?m+64|0:63-m|0;j=(m&255)<<1&255|j&1;if((m&127)>>>0>=63){l=51;break}hB(h|0,j|0,1)|0;f=f+1|0}while(f>>>0<24);if((l|0)==51){a[h>>0]=j;M(59587,58605,210,59608)}h=1936+(d*6<<2)|0;m=c[h>>2]|0;f=b+133|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+4>>2]|0;f=b+134|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+8>>2]|0;f=b+135|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+12>>2]|0;f=b+136|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+16>>2]|0;f=b+137|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[h+20>>2]|0;f=b+138|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){l=g;m=f;a[m>>0]=l;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;m=c[12316+(d<<2)>>2]|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[b>>0]=f;M(59587,58605,210,59608)}hB(b|0,f|0,1)|0;m=c[12292+(d<<2)>>2]|0;f=b+1|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;g=(m|0)>63;m=g?m+64|0:63-m|0;g=(m&255)<<1&255|g&1;if((m&127)>>>0>=63){a[f>>0]=g;M(59587,58605,210,59608)}hB(f|0,g|0,1)|0;a[b+139>>0]=1;a[b+140>>0]=1;g=b+141|0;m=((u(k,-5)|0)>>4)+72|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0>=63){a[g>>0]=f;M(59587,58605,210,59608)}hB(g|0,f|0,1)|0;hB(b+142|0,f|0,1)|0;m=c[12304+(d<<2)>>2]|0;g=b+161|0;m=(m<<3&120)+-16+((u(((m>>4)*5|0)+-45|0,k)|0)>>4)|0;m=(m|0)<126?m:126;m=(m|0)>1?m:1;f=(m|0)>63;m=f?m+64|0:63-m|0;f=(m&255)<<1&255|f&1;if((m&127)>>>0<63){hB(g|0,f|0,1)|0;m=b+162|0;d=m;a[d>>0]=1;a[d+1>>0]=1;a[d+2>>0]=1;a[d+3>>0]=1;m=m+4|0;a[m>>0]=1;a[m+1>>0]=1;a[m+2>>0]=1;a[m+3>>0]=1;m=b+170|0;a[m>>0]=1;a[m+1>>0]=1;a[b+23>>0]=1;a[b+24>>0]=1;return}else{a[g>>0]=f;M(59587,58605,210,59608)}}function Lg(a){a=a|0;nz(a);return}function Mg(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;o=c[b+16>>2]|0;e=o+18588|0;p=c[e>>2]|0;k=c[p+128>>2]|0;n=k+5056|0;l=c[n>>2]|0;q=b+4|0;c[q>>2]=1;qe(p,b);e=c[e>>2]|0;f=c[e+128>>2]|0;g=c[o+4>>2]|0;h=c[f+5072>>2]|0;if((g|0)<(h|0)){j=c[(c[(c[e+136>>2]|0)+4360>>2]|0)+(g<<2)>>2]|0;e=c[f+5056>>2]|0;f=(j|0)/(e|0)|0;g=f;e=j-(u(f,e)|0)|0;f=j}else{e=c[f+5056>>2]|0;f=(h|0)/(e|0)|0;g=f;e=h-(u(f,e)|0)|0;f=h}c[o>>2]=f;i=o+8|0;c[i>>2]=e;h=o+12|0;c[h>>2]=g;j=(f|0)/(l|0)|0;e=b+8|0;if(a[e>>0]|0?!(tf(o)|0):0){if((l|0)>0){f=p+332|0;e=u(j,l)|0;d=0;do{ze((c[f>>2]|0)+((d+e|0)*80|0)|0,1);d=d+1|0}while((d|0)!=(l|0))}c[q>>2]=3;uf((c[o+18600>>2]|0)+44|0,1);ye(p,b);return}wf(o+18548|0);if(!(a[e>>0]|0))e=0;else e=(a[(c[o+18592>>2]|0)+16>>0]|0)==0;xf(o,1,e)|0;a:do if((c[h>>2]|0)==(j|0)?(m=c[n>>2]|0,d=c[i>>2]|0,(d|0)<(m|0)):0){h=k+5064|0;f=u(j,l)|0;g=p+332|0;e=m;while(1){if((d|0)<(e|0)?(j|0)<(c[h>>2]|0):0)ze((c[g>>2]|0)+((d+f|0)*80|0)|0,1);d=d+1|0;if((d|0)==(m|0))break a;e=c[n>>2]|0}}while(0);c[q>>2]=3;uf((c[o+18600>>2]|0)+44|0,1);ye(p,b);return}function Ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=hc;e=hc=hc+31&-32;hc=hc+112|0;g=e+104|0;c[g>>2]=c[d+12>>2];zm(e,59650,g)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=tn(e)|0;if(d>>>0>4294967279)tz(b);if(d>>>0<11){a[b+11>>0]=d;if(!d){g=b;g=g+d|0;a[g>>0]=0;hc=f;return}}else{h=d+16&-16;g=lz(h)|0;c[b>>2]=g;c[b+8>>2]=h|-2147483648;c[b+4>>2]=d;b=g}fB(b|0,e|0,d|0)|0;h=b;h=h+d|0;a[h>>0]=0;hc=f;return}function Og(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;o=hc;m=hc=hc+31&-32;hc=hc+16|0;n=c[b>>2]|0;if(!n){n=0;hc=o;return n|0}i=d;j=f-i|0;l=g+12|0;k=c[l>>2]|0;j=(k|0)>(j|0)?k-j|0:0;k=e;g=k-i|0;if((g|0)>0?(nc[c[(c[n>>2]|0)+48>>2]&31](n,d,g)|0)!=(g|0):0){c[b>>2]=0;n=0;hc=o;return n|0}do if((j|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;if(j>>>0<11){d=m+11|0;a[d>>0]=j;g=m;i=m}else{d=j+16&-16;g=lz(d)|0;c[m>>2]=g;c[m+8>>2]=d|-2147483648;c[m+4>>2]=j;d=m+11|0;i=m}hB(g|0,h|0,j|0)|0;a[g+j>>0]=0;if((nc[c[(c[n>>2]|0)+48>>2]&31](n,(a[d>>0]|0)<0?c[i>>2]|0:m,j)|0)==(j|0)){if((a[d>>0]|0)<0)nz(c[i>>2]|0);break}c[b>>2]=0;if((a[d>>0]|0)<0)nz(c[i>>2]|0);n=0;hc=o;return n|0}while(0);f=f-k|0;if((f|0)>0?(nc[c[(c[n>>2]|0)+48>>2]&31](n,e,f)|0)!=(f|0):0){c[b>>2]=0;n=0;hc=o;return n|0}c[l>>2]=0;hc=o;return n|0}function Pg(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=hc;C=hc=hc+31&-32;hc=hc+48|0;p=c[g>>2]|0;o=(p|0)==0;if(h)if(o)M(71186,58112,240,59683);else F=5;else if(!o)F=5;if((F|0)==5){q=c[g+4>>2]|0;if(q|0){o=q+4|0;c[o>>2]=(c[o>>2]|0)+1}c[b+128>>2]=p;p=b+132|0;o=c[p>>2]|0;c[p>>2]=q;if(o|0?(p=o+4|0,q=c[p>>2]|0,c[p>>2]=q+-1,(q|0)==0):0){wc[c[(c[o>>2]|0)+8>>2]&255](o);iz(o)}}Ve(b);o=c[24496]|0;c[24496]=o+1;c[b>>2]=o;c[b+108>>2]=2147483647;c[b+112>>2]=i;c[b+116>>2]=j;c[b+20>>2]=f;c[b+24>>2]=d;c[b+28>>2]=e;o=b+32|0;c[o>>2]=d;p=b+36|0;c[p>>2]=e;c[b+296>>2]=m;m=b+288|0;c[m>>2]=k;c[m+4>>2]=l;switch(f|0){case 2:{c[C>>2]=3;t=(d+1|0)/2|0;c[o>>2]=t;r=1;s=2;w=2;y=1;v=e;break}case 1:{c[C>>2]=2;t=(d+1|0)/2|0;c[o>>2]=t;v=(e+1|0)/2|0;c[p>>2]=v;r=2;s=2;w=2;y=2;break}case 3:{c[C>>2]=4;r=1;s=1;w=1;y=1;t=d;v=e;break}case 0:{c[C>>2]=1;c[o>>2]=0;c[p>>2]=0;r=1;s=1;w=1;y=1;t=0;v=0;break}default:M(69335,58112,276,59683)}a[b+50>>0]=s;a[b+51>>0]=r;r=c[g>>2]|0;o=(r|0)==0;do if(!o){if((c[r+5016>>2]|0)!=(w|0))M(59695,58112,315,59683);if((c[r+5020>>2]|0)==(y|0)){c[C+4>>2]=d;c[C+8>>2]=e;c[C+12>>2]=16;x=c[r+500>>2]|0;D=c[r+496>>2]|0;z=c[r+508>>2]|0;E=c[r+504>>2]|0;break}else M(59723,58112,316,59683)}else{c[C+4>>2]=d;c[C+8>>2]=e;c[C+12>>2]=16;x=0;D=0;z=0;E=0}while(0);q=x+D|0;d=d-(u(q,w)|0)|0;c[b+76>>2]=d;s=z+E|0;e=e-(u(s,y)|0)|0;c[b+80>>2]=e;c[b+84>>2]=t-q;c[b+88>>2]=v-s;s=u(D,w)|0;c[C+16>>2]=s;c[C+20>>2]=u(x,w)|0;q=u(E,y)|0;c[C+24>>2]=q;c[C+28>>2]=u(z,y)|0;c[C+32>>2]=d;c[C+36>>2]=e;if(o){p=8;o=8}else{p=c[r+4996>>2]&255;o=c[r+5004>>2]|0}a[b+48>>0]=p;z=o&255;a[b+49>>0]=z;a[b+16>>0]=(p&255)>8&1;p=(z&255)>8&1;a[b+17>>0]=p;a[b+18>>0]=p;p=(i|0)==0;if(p)o=0;else o=c[i+544>>2]|0;do if(!j)if(p|n^1)F=34;else{F=i+536|0;B=c[F>>2]|0;F=c[F+4>>2]|0;A=b+312|0;c[A>>2]=B;c[A+4>>2]=F;A=o;F=35}else{o=c[j+3708>>2]|0;if(n){j=c[j+3712>>2]|0;c[b+320>>2]=j;p=b+312|0;if(!j){F=12208;B=c[F>>2]|0;F=c[F+4>>2]|0;A=p;c[A>>2]=B;c[A+4>>2]=F;A=o;F=35;break}else{c[p>>2]=0;c[b+316>>2]=0;break}}else F=34}while(0);if((F|0)==34){j=12208;B=c[j>>2]|0;j=c[j+4>>2]|0;A=b+312|0;c[A>>2]=B;c[A+4>>2]=j;A=o;F=35}if(((F|0)==35?B|0:0)?(i=(oc[B&7](i,C,b,A)|0)==0,c[b+64>>2]=(c[b+4>>2]|0)+s+(u(c[b+40>>2]|0,q)|0),E=u(c[b+44>>2]|0,E)|0,c[b+68>>2]=(c[b+8>>2]|0)+D+E,c[b+72>>2]=(c[b+12>>2]|0)+D+E,i):0){F=7;hc=G;return F|0}do if(h){f=c[g>>2]|0;s=c[f+5112>>2]|0;m=c[f+5116>>2]|0;f=c[f+5108>>2]|0;q=u(m,s)|0;r=b+208|0;p=b+204|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){vo(o);o=uo(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;k=0;break}else{c[r>>2]=q;F=42;break}}else F=42;while(0);if((F|0)==42){c[b+216>>2]=s;c[b+220>>2]=m;c[b+212>>2]=f;k=(o|0)!=0}f=c[g>>2]|0;s=c[f+5112>>2]|0;m=c[f+5116>>2]|0;f=c[f+5108>>2]|0;q=u(m,s)|0;r=b+228|0;p=b+224|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){vo(o);o=uo(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=47;break}}else F=47;while(0);if((F|0)==47){c[b+236>>2]=s;c[b+240>>2]=m;c[b+232>>2]=f;o=(o|0)!=0}k=k&o;p=b+164|0;f=c[g>>2]|0;s=c[f+5052>>2]|0;m=c[f+5060>>2]|0;f=c[f+5036>>2]|0;q=u(m,s)|0;r=b+168|0;do if((q|0)!=(c[r>>2]|0)){vo(c[p>>2]|0);o=uo(q*3|0)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=53;break}}else{o=c[p>>2]|0;F=53}while(0);if((F|0)==53){c[b+176>>2]=s;c[b+180>>2]=m;c[b+172>>2]=f;o=(o|0)!=0}f=k&o;p=c[g>>2]|0;m=(c[p+5036>>2]|0)+-2|0;s=c[p+5052>>2]<<m;m=c[p+5060>>2]<<m;p=b+184|0;q=u(m,s)|0;r=b+188|0;do if((q|0)!=(c[r>>2]|0)){vo(c[p>>2]|0);o=uo(q*12|0)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=59;break}}else{o=c[p>>2]|0;F=59}while(0);if((F|0)==59){c[b+196>>2]=s;c[b+200>>2]=m;c[b+192>>2]=2;o=(o|0)!=0}k=f&o;f=c[g>>2]|0;s=c[f+5088>>2]|0;m=c[f+5092>>2]|0;f=c[f+5100>>2]|0;q=u(m,s)|0;r=b+248|0;p=b+244|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){vo(o);o=uo(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=64;break}}else F=64;while(0);if((F|0)==64){c[b+256>>2]=s;c[b+260>>2]=m;c[b+252>>2]=f;o=(o|0)!=0}f=k&o;m=c[g>>2]|0;s=((c[m+484>>2]|0)+3|0)/4|0;m=((c[m+488>>2]|0)+3|0)/4|0;q=u(m,s)|0;r=b+268|0;p=b+264|0;o=c[p>>2]|0;do if((q|0)!=(c[r>>2]|0)){vo(o);o=uo(q)|0;c[p>>2]=o;if(!o){c[r>>2]=0;o=0;break}else{c[r>>2]=q;F=69;break}}else F=69;while(0);if((F|0)==69){c[b+276>>2]=s;c[b+280>>2]=m;c[b+272>>2]=2;o=(o|0)!=0}l=f&o;f=b+144|0;k=b+148|0;p=c[k>>2]|0;o=c[g>>2]|0;if((p|0)==(c[o+5072>>2]|0)){if(l)break;else o=7;hc=G;return o|0}d=b+332|0;q=c[d>>2]|0;if(!q)q=p;else{p=q+-4|0;o=c[p>>2]|0;if(o|0){o=q+(o*80|0)|0;do{o=o+-80|0;ef(o)}while((o|0)!=(q|0))}oz(p);o=c[g>>2]|0;q=c[k>>2]|0}s=c[o+5056>>2]|0;m=c[o+5064>>2]|0;r=c[o+5040>>2]|0;p=u(m,s)|0;do if((p|0)!=(q|0)){vo(c[f>>2]|0);o=uo(p*24|0)|0;c[f>>2]=o;if(!o){c[k>>2]=0;o=0;p=0;break}else{c[k>>2]=p;F=81;break}}else{o=c[f>>2]|0;p=q;F=81}while(0);if((F|0)==81){c[b+156>>2]=s;c[b+160>>2]=m;c[b+152>>2]=r;o=(o|0)!=0}q=l&o;r=p*80|0;r=mz(p>>>0>53687091|r>>>0>4294967291?-1:r+4|0)|0;c[r>>2]=p;r=r+4|0;if(p|0){o=r+(p*80|0)|0;p=r;do{Qg(p);p=p+80|0}while((p|0)!=(o|0))}c[d>>2]=r;if(!q){F=7;hc=G;return F|0}}while(0);F=0;hc=G;return F|0}function Qg(a){a=a|0;c[a>>2]=0;Co(a+4|0,0)|0;cb(a+32|0,0)|0;return}function Rg(b){b=b|0;var d=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;a[b+326>>0]=0;a[b+327>>0]=0;a[b+328>>0]=0;hB(b+120|0,0,164)|0;c[b>>2]=-1;c[b+108>>2]=0;c[b+112>>2]=0;c[b+116>>2]=0;c[b+320>>2]=0;d=b+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;d=b+288|0;c[b+332>>2]=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;a[b+324>>0]=2;c[b+92>>2]=-1;c[b+96>>2]=-1;c[b+100>>2]=0;a[b+104>>0]=0;d=b+336|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;Sg(b+356|0);Tg(b+384|0);return}function Sg(a){a=a|0;Co(a,0)|0;return}function Tg(a){a=a|0;cb(a|0,0)|0;return}function Ug(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[a>>2]=b;j=a+4|0;c[j>>2]=e;k=a+8|0;l=k;c[l>>2]=0;c[l+4>>2]=0;l=a+16|0;c[l>>2]=0;if(!e){k=0;c[l>>2]=k;return}f=b+1|0;c[a>>2]=f;g=d[b>>0]|0;i=e+-1|0;c[j>>2]=i;g=eB(g|0,0,56)|0;h=y()|0;m=k;c[m>>2]=g;c[m+4>>2]=h;if(!i){m=8;c[l>>2]=m;return}i=b+2|0;c[a>>2]=i;f=d[f>>0]|0;m=e+-2|0;c[j>>2]=m;f=eB(f|0,0,48)|0;f=g|f;g=h|(y()|0);h=k;c[h>>2]=f;c[h+4>>2]=g;if(!m){m=16;c[l>>2]=m;return}h=b+3|0;c[a>>2]=h;i=d[i>>0]|0;m=e+-3|0;c[j>>2]=m;i=eB(i|0,0,40)|0;i=f|i;f=g|(y()|0);g=k;c[g>>2]=i;c[g+4>>2]=f;if(!m){m=24;c[l>>2]=m;return}g=b+4|0;c[a>>2]=g;h=d[h>>0]|0;m=e+-4|0;c[j>>2]=m;f=f|h;h=k;c[h>>2]=i;c[h+4>>2]=f;if(!m){m=32;c[l>>2]=m;return}h=b+5|0;c[a>>2]=h;g=d[g>>0]|0;m=e+-5|0;c[j>>2]=m;g=eB(g|0,0,24)|0;g=i|g;f=f|(y()|0);i=k;c[i>>2]=g;c[i+4>>2]=f;if(!m){m=40;c[l>>2]=m;return}i=b+6|0;c[a>>2]=i;h=d[h>>0]|0;m=e+-6|0;c[j>>2]=m;h=eB(h|0,0,16)|0;g=g|h;f=f|(y()|0);h=k;c[h>>2]=g;c[h+4>>2]=f;if(!m){m=48;c[l>>2]=m;return}h=b+7|0;c[a>>2]=h;i=d[i>>0]|0;m=e+-7|0;c[j>>2]=m;i=eB(i|0,0,8)|0;g=g|i;f=f|(y()|0);i=k;c[i>>2]=g;c[i+4>>2]=f;if(!m){m=56;c[l>>2]=m;return}c[a>>2]=b+8;b=d[h>>0]|0;c[j>>2]=e+-8;m=k;c[m>>2]=g|b;c[m+4>>2]=f;m=64;c[l>>2]=m;return}function Vg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=a+16|0;e=c[j>>2]|0;if((e|0)<(b|0)){e=64-e|0;h=a+4|0;a:do if((e|0)>7){i=a+8|0;g=c[h>>2]|0;while(1){if(!g)break a;m=c[a>>2]|0;c[a>>2]=m+1;m=d[m>>0]|0;g=g+-1|0;c[h>>2]=g;f=e+-8|0;m=eB(m|0,0,f|0)|0;l=y()|0;n=i;l=c[n+4>>2]|l;k=i;c[k>>2]=c[n>>2]|m;c[k+4>>2]=l;if((e|0)<=15){e=f;break}else e=f}}while(0);e=64-e|0;c[j>>2]=e}n=a+8|0;l=n;l=eB(c[l>>2]|0,c[l+4>>2]|0,b|0)|0;m=y()|0;c[n>>2]=l;c[n+4>>2]=m;c[j>>2]=e-b;return}function Wg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+16|0;i=a+4|0;l=a+8|0;j=0;b=c[k>>2]|0;while(1){if((b|0)<1){b=64-b|0;a:do if((b|0)>7){f=c[i>>2]|0;while(1){if(!f)break a;n=c[a>>2]|0;c[a>>2]=n+1;n=d[n>>0]|0;f=f+-1|0;c[i>>2]=f;e=b+-8|0;n=eB(n|0,0,e|0)|0;m=y()|0;o=l;m=c[o+4>>2]|m;g=l;c[g>>2]=c[o>>2]|n;c[g+4>>2]=m;if((b|0)<=15){b=e;break}else b=e}}while(0);g=64-b|0;c[k>>2]=g}else g=b;n=l;o=c[n>>2]|0;n=c[n+4>>2]|0;f=eB(o|0,n|0,1)|0;e=y()|0;b=l;c[b>>2]=f;c[b+4>>2]=e;b=g+-1|0;c[k>>2]=b;if(!((n|0)>-1|(n|0)==-1&o>>>0>4294967295))break;if(j>>>0>19){b=-99999;h=21;break}j=j+1|0}if((h|0)==21)return b|0;if(!j){o=0;return o|0}if((g|0)<=(j|0)){b=65-g|0;b:do if((b|0)>7){h=c[i>>2]|0;while(1){if(!h)break b;o=c[a>>2]|0;c[a>>2]=o+1;o=d[o>>0]|0;h=h+-1|0;c[i>>2]=h;g=b+-8|0;o=eB(o|0,0,g|0)|0;f=f|o;e=e|(y()|0);o=l;c[o>>2]=f;c[o+4>>2]=e;if((b|0)<=15){b=g;break}else b=g}}while(0);b=64-b|0;c[k>>2]=b}o=dB(f|0,e|0,64-j|0)|0;y()|0;i=eB(f|0,e|0,j|0)|0;m=y()|0;n=l;c[n>>2]=i;c[n+4>>2]=m;c[k>>2]=b-j;b=(1<<j)+o|0;if((b|0)<=1)M(59768,59753,146,59776);o=b+-1|0;return o|0}function Xg(a){a=a|0;a=Wg(a)|0;a:do if((a|0)<0){switch(a|0){case -99999:break;default:break a}a=-99999;return a|0}else{switch(a|0){case 0:break;default:break a}return a|0}while(0);a=(((a&1|0)==0?0-a|0:a+1|0)|0)/2|0;return a|0}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)>-1){c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=b+d;return}else M(59785,58069,138,59797)}function Zg(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=1;do{h=c[1088+(j<<2)>>2]|0;k=1<<j;b=0;e=0;while(1){i=b&255;f=0;g=e;while(1){a[h+(g<<1)>>0]=f;a[h+(g<<1)+1>>0]=i;f=f+1|0;if((f|0)==(k|0))break;else g=g+1|0}b=b+1|0;if((b|0)==(k|0))break;else e=e+k|0}h=c[1056+(j<<2)>>2]|0;b=0;e=0;while(1){i=b&255;f=0;g=e;while(1){a[h+(g<<1)>>0]=i;a[h+(g<<1)+1>>0]=f;f=f+1|0;if((f|0)==(k|0))break;else g=g+1|0}b=b+1|0;if((b|0)==(k|0))break;else e=e+k|0}h=c[1120+(j<<2)>>2]|0;i=k<<j;e=0;b=0;do if((e|0)>-1){g=0;f=e;while(1){if((f|0)<(k|0)&(g|0)<(k|0)){a[h+(b<<1)>>0]=g;a[h+(b<<1)+1>>0]=f;b=b+1|0}e=g+1|0;if((f|0)>0){g=e;f=f+-1|0}else break}}else e=0;while((b|0)<(i|0));j=j+1|0}while((j|0)!=6);k=2;do{l=1<<k;p=k+-2|0;m=(1<<p<<p)+-1|0;n=1120+(p<<2)|0;o=1088+(p<<2)|0;p=1056+(p<<2)|0;t=0;do{q=c[976+(t*24|0)+(k<<2)>>2]|0;s=(t&2147483647|0)==2;j=0;do{r=j<<k;switch(t&2147483647|0){case 0:{g=c[n>>2]|0;f=0;do{e=16;b=m;do{i=(e|0)==0;b=b+(i<<31>>31)|0;e=i?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[85488+(e<<1)>>0]|0)|0)==(f|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[85488+(e<<1)+1>>0]|0)|0)==(j|0):0));i=f+r|0;a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;f=f+1|0}while((f|0)<(l|0));break}case 1:{g=c[o>>2]|0;f=0;do{e=16;b=m;do{i=(e|0)==0;b=b+(i<<31>>31)|0;e=i?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[88208+(e<<1)>>0]|0)|0)==(f|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[88208+(e<<1)+1>>0]|0)|0)==(j|0):0));i=f+r|0;a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;f=f+1|0}while((f|0)<(l|0));break}default:{h=0;do{i=h+r|0;if(s){f=90928;g=c[p>>2]|0}else{f=0;g=0}e=16;b=m;do{u=(e|0)==0;b=b+(u<<31>>31)|0;e=u?15:e+-1|0}while(!((((d[g+(b<<1)>>0]|0)<<2)+(d[f+(e<<1)>>0]|0)|0)==(h|0)?(((d[g+(b<<1)+1>>0]|0)<<2)+(d[f+(e<<1)+1>>0]|0)|0)==(j|0):0));a[q+(i<<1)>>0]=b;a[q+(i<<1)+1>>0]=e;h=h+1|0}while((h|0)<(l|0))}}j=j+1|0}while((j|0)<(l|0));t=t+1|0}while((t|0)!=3);k=k+1|0}while((k|0)!=6);return}function _g(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=uo(11296)|0;if(!b){w=0;return w|0}hB(b|0,-1,11296)|0;c[19268]=b;c[19269]=b;c[19270]=b;c[19271]=b;c[19272]=b;c[19273]=b;c[19274]=b;c[19275]=b;r=b+16|0;c[19276]=r;c[19277]=r;c[19278]=r;c[19279]=r;c[19280]=r;c[19281]=r;c[19282]=r;c[19283]=r;c[19284]=b+32;c[19285]=b+96;c[19286]=b+160;c[19287]=b+224;c[19288]=b+288;c[19289]=b+352;c[19290]=b+416;c[19291]=b+480;c[19292]=b+544;c[19293]=b+608;c[19294]=b+672;c[19295]=b+736;c[19296]=b+800;c[19297]=b+864;c[19298]=b+928;c[19299]=b+992;r=b+1056|0;c[19300]=r;c[19304]=r;r=b+1312|0;c[19301]=r;c[19305]=r;r=b+1568|0;c[19302]=r;c[19306]=r;r=b+1824|0;c[19303]=r;c[19307]=r;r=b+2080|0;c[19308]=r;c[19312]=r;r=b+2336|0;c[19309]=r;c[19313]=r;r=b+2592|0;c[19310]=r;c[19314]=r;r=b+2848|0;c[19311]=r;c[19315]=r;r=b+3104|0;c[19316]=r;c[19320]=r;r=b+4128|0;c[19317]=r;c[19321]=r;r=b+5152|0;c[19318]=r;c[19322]=r;r=b+6176|0;c[19319]=r;c[19323]=r;r=b+7200|0;c[19324]=r;c[19328]=r;r=b+8224|0;c[19325]=r;c[19329]=r;r=b+9248|0;c[19326]=r;c[19330]=r;r=b+10272|0;c[19327]=r;c[19331]=r;r=2;a:while(1){s=1<<r;t=(r|0)==2;u=r+-2|0;v=(r|0)==3;q=0;do{w=(q|0)==0;p=0;do{m=77072+(u<<6)+(q<<5)+(p<<2)|0;n=(p&2147483647|0)==0;l=0;do{g=l<<2;o=l<<r;j=0-l|0;h=l&3;i=(h|0)==0?2:(h|0)==1&1;k=0-(l>>>2)|0;b:do if(t){e=0;do{b=d[2688+(e+g)>>0]|0;b=w?b:b+27|0;f=(c[m>>2]|0)+(e+o)|0;k=a[f>>0]|0;if(!(k<<24>>24==-1|(b|0)==(k&255|0))){e=39;break a}a[f>>0]=b;e=e+1|0}while((e|0)<(s|0))}else{if(n){f=0;while(1){do if((f|0)!=(j|0)){b=(f&3)+h|0;b=b>>>0>2?0:(b|0)==0?2:1;if(w){b=(f>>>2|0)==(k|0)?b:b+3|0;if(v){b=b+9|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b|12;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;i=a[e>>0]|0;if(!(i<<24>>24==-1|(b|0)==(i&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0;if((f|0)>=(s|0))break b}}f=0;do{do if((f|0)!=(j|0)){e=f>>>2;b=f&3;switch(p&2147483647|0){case 2:{b=(b|0)==0?2:(b|0)==1&1;break}case 1:{b=i;break}default:b=2}if(w){b=(e|0)==(k|0)?b:b+3|0;if(v){b=b+9|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b+12|0;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;h=a[e>>0]|0;if(!(h<<24>>24==-1|(b|0)==(h&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0}while((f|0)<(s|0))}while(0);l=l+1|0}while((l|0)<(s|0));p=p+1|0}while(p>>>0<4);p=0;do{m=77072+(u<<6)+(q<<5)+16+(p<<2)|0;n=(p&2147483647|0)==0;l=0;do{g=l<<2;o=l<<r;j=0-l|0;h=l&3;i=(h|0)==0?2:(h|0)==1&1;k=0-(l>>>2)|0;c:do if(t){e=0;do{b=d[2688+(e+g)>>0]|0;b=w?b:b+27|0;f=(c[m>>2]|0)+(e+o)|0;k=a[f>>0]|0;if(!(k<<24>>24==-1|(b|0)==(k&255|0))){e=39;break a}a[f>>0]=b;e=e+1|0}while((e|0)<(s|0))}else{if(n){f=0;while(1){do if((f|0)!=(j|0)){b=(f&3)+h|0;b=b>>>0>2?0:(b|0)==0?2:1;if(w){b=(f>>>2|0)==(k|0)?b:b+3|0;if(v){b=b+15|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b|12;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;i=a[e>>0]|0;if(!(i<<24>>24==-1|(b|0)==(i&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0;if((f|0)>=(s|0))break c}}f=0;do{do if((f|0)!=(j|0)){e=f>>>2;b=f&3;switch(p&2147483647|0){case 2:{b=(b|0)==0?2:(b|0)==1&1;break}case 1:{b=i;break}default:b=2}if(w){b=(e|0)==(k|0)?b:b+3|0;if(v){b=b+15|0;break}else{b=b+21|0;break}}else if(v){b=b+9|0;break}else{b=b+12|0;break}}else b=0;while(0);b=w?b:b+27|0;e=(c[m>>2]|0)+(f+o)|0;h=a[e>>0]|0;if(!(h<<24>>24==-1|(b|0)==(h&255|0))){e=39;break a}a[e>>0]=b;f=f+1|0}while((f|0)<(s|0))}while(0);l=l+1|0}while((l|0)<(s|0));p=p+1|0}while(p>>>0<4);q=q+1|0}while(q>>>0<2);r=r+1|0;if(r>>>0>=6){b=1;e=41;break}}if((e|0)==39)M(59816,58545,2105,59892);else if((e|0)==41)return b|0;return 0}function $g(){vo(c[19268]|0);c[19268]=0;return}function ah(){var a=0;a=c[24497]|0;c[24497]=a+1;if((a|0)<=0?(Zg(),!(_g()|0)):0){c[24497]=(c[24497]|0)-1;a=0;return a|0}a=lz(3228)|0;bh(a);return a|0}function bh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[b+84>>2]=0;c[b+168>>2]=0;c[b>>2]=12380;ch(b+172|0);c[b>>2]=12192;eh(b+548|0);k=b+1372|0;e=b+1376|0;f=b+1380|0;g=b+1384|0;h=b+1388|0;l=b+1396|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;hB(b+600|0,0,792)|0;dh(b+2144|0);c[b+3212>>2]=0;c[b+3216>>2]=0;c[b+3220>>2]=0;a[b+512>>0]=0;a[b+513>>0]=1;a[b+514>>0]=0;a[b+532>>0]=0;a[b+533>>0]=0;l=b+516|0;c[l>>2]=-1;c[l+4>>2]=-1;c[l+8>>2]=-1;c[l+12>>2]=-1;l=12208;j=c[l+4>>2]|0;d=b+536|0;c[d>>2]=c[l>>2];c[d+4>>2]=j;c[b+544>>2]=0;c[b+1368>>2]=0;d=c[k>>2]|0;c[k>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){wc[c[(c[d>>2]|0)+8>>2]&255](d);iz(d)}c[e>>2]=0;d=c[f>>2]|0;c[f>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){wc[c[(c[d>>2]|0)+8>>2]&255](d);iz(d)}c[g>>2]=0;d=c[h>>2]|0;c[h>>2]=0;if(d|0?(k=d+4|0,l=c[k>>2]|0,c[k>>2]=l+-1,(l|0)==0):0){wc[c[(c[d>>2]|0)+8>>2]&255](d);iz(d)}c[b+1888>>2]=0;k=b+1892|0;c[k>>2]=6;c[b+1896>>2]=100;c[b+1900>>2]=6;c[b+1908>>2]=6;c[b+1904>>2]=100;d=c[b+1376>>2]|0;if(!d){d=c[b+1368>>2]|0;if(!d)d=6;else{d=c[d+8>>2]|0;i=14}}else{d=a[d+2>>0]|0;i=14}if((i|0)==14)if((d|0)>0)d=d+-1|0;else{l=b+2200|0;b=b+2204|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;a[b>>0]=1;c[l>>2]=-1;return}j=d+1|0;while(1){i=d*100|0;f=(i|0)/(j|0)|0;i=(i+100|0)/(j|0)|0;if((i|0)>=(f|0)){g=i-f|0;h=c[k>>2]|0;e=f;while(1){l=(d|0)>(h|0);d=l?h:d;a[b+1912+(e<<1)>>0]=d;a[b+1912+(e<<1)+1>>0]=l?100:(((e-f|0)*100|0)/(g|0)|0)&255;if((e|0)<(i|0))e=e+1|0;else break}}c[b+2116+(d<<2)>>2]=i;if((d|0)>0)d=d+-1|0;else break}l=b+2200|0;b=b+2204|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;a[b>>0]=1;c[l>>2]=-1;return}function ch(a){a=a|0;c[a>>2]=1;c[a+4>>2]=8;c[a+8>>2]=1;c[a+12>>2]=1;c[a+16>>2]=1;c[a+20>>2]=2;c[a+24>>2]=1;c[a+28>>2]=1;c[a+32>>2]=2;c[a+36>>2]=2;c[a+40>>2]=2;c[a+44>>2]=2;c[a+48>>2]=3;c[a+52>>2]=4;c[a+56>>2]=5;c[a+60>>2]=6;c[a+64>>2]=7;c[a+68>>2]=8;c[a+72>>2]=9;c[a+76>>2]=10;c[a+80>>2]=11;c[a+84>>2]=12;c[a+88>>2]=13;c[a+92>>2]=14;c[a+96>>2]=15;c[a+100>>2]=16;c[a+104>>2]=17;c[a+108>>2]=18;c[a+112>>2]=3;c[a+116>>2]=4;c[a+120>>2]=4;c[a+124>>2]=4;c[a+128>>2]=2;c[a+132>>2]=3;c[a+136>>2]=4;c[a+140>>2]=5;c[a+144>>2]=6;c[a+148>>2]=7;c[a+152>>2]=8;c[a+156>>2]=9;c[a+160>>2]=10;c[a+164>>2]=11;c[a+168>>2]=12;c[a+172>>2]=13;c[a+176>>2]=14;c[a+180>>2]=15;c[a+184>>2]=16;c[a+188>>2]=17;c[a+204>>2]=8;c[a+212>>2]=8;c[a+208>>2]=9;c[a+192>>2]=9;c[a+200>>2]=10;c[a+196>>2]=11;c[a+216>>2]=12;c[a+220>>2]=13;c[a+224>>2]=14;c[a+228>>2]=15;c[a+232>>2]=16;c[a+236>>2]=10;c[a+240>>2]=11;c[a+244>>2]=12;c[a+248>>2]=13;c[a+252>>2]=14;c[a+256>>2]=15;c[a+260>>2]=59;c[a+284>>2]=4;c[a+288>>2]=5;c[a+296>>2]=6;c[a+292>>2]=7;c[a+300>>2]=8;c[a+264>>2]=16;c[a+268>>2]=17;c[a+272>>2]=18;c[a+276>>2]=19;c[a+280>>2]=20;c[a+304>>2]=17;c[a+308>>2]=18;c[a+312>>2]=19;c[a+316>>2]=20;c[a+320>>2]=21;c[a+324>>2]=22;c[a+328>>2]=23;c[a+332>>2]=24;c[a+336>>2]=25;return}function dh(a){a=a|0;var b=0,d=0;b=a+8|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[a>>2]=30;c[a+4>>2]=30;return}function eh(b){b=b|0;var d=0;a[b>>0]=0;a[b+1>>0]=0;b=b+4|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));return}function fh(c,d,e,f,g,h,i){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(h&1|0)M(60108,60025,105,60278);if(!((i|0)>0&(h|0)>0))return;m=0;do{l=u(m,g)|0;j=c+(u(m,d)|0)|0;k=f+(l<<1)|0;l=e+(l<<1)|0;n=0;while(1){o=(b[k>>1]|0)+(b[l>>1]|0)|0;a[j>>0]=(o|0)<-64?0:(o|0)>32703?-1:(o+64|0)>>>7&255;o=(b[k+2>>1]|0)+(b[l+2>>1]|0)|0;a[j+1>>0]=(o|0)<-64?0:(o|0)>32703?-1:(o+64|0)>>>7&255;n=n+2|0;if((n|0)>=(h|0))break;else{j=j+2|0;k=k+4|0;l=l+4|0}}m=m+1|0}while((m|0)!=(i|0));return}function gh(c,d,e,f,g,h){c=c|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;if(g&1|0)M(60108,60025,40,60247);if(!((h|0)>0&(g|0)>0))return;k=0;do{i=c+(u(k,d)|0)|0;j=e+((u(k,f)|0)<<1)|0;l=0;while(1){m=b[j>>1]|0;a[i>>0]=m<<16>>16<-32?0:m<<16>>16>16351?-1:((m&65535)+32|0)>>>6&255;m=b[j+2>>1]|0;a[i+1>>0]=m<<16>>16<-32?0:m<<16>>16>16351?-1:((m&65535)+32|0)>>>6&255;l=l+2|0;if((l|0)>=(g|0))break;else{i=i+2|0;j=j+4|0}}k=k+1|0}while((k|0)!=(h|0));return}function hh(c,d,e,f,g,h,i,j,k){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;if((k|0)<=0)M(60015,60025,60,60218);p=1<<k+-1;if(!((h|0)>0&(g|0)>0))return;n=0;do{l=c+(u(n,d)|0)|0;m=e+((u(n,f)|0)<<1)|0;o=0;while(1){q=((u(b[m>>1]|0,i)|0)+p>>k)+j|0;q=(q|0)<255?q:255;a[l>>0]=(q|0)>0?q:0;o=o+1|0;if((o|0)==(g|0))break;else{l=l+1|0;m=m+2|0}}n=n+1|0}while((n|0)!=(h|0));return}function ih(c,d,e,f,g,h,i,j,k,l,m,n){c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0;if((n|0)<=0)M(60015,60025,80,60187);r=k+1+m<<n;if((i|0)<=0)return;q=n+1|0;if((h|0)<=0)return;o=0;do{n=u(o,g)|0;m=c+(u(o,d)|0)|0;k=f+(n<<1)|0;n=e+(n<<1)|0;p=0;while(1){s=u(b[n>>1]|0,j)|0;s=s+r+(u(b[k>>1]|0,l)|0)>>q;s=(s|0)<255?s:255;a[m>>0]=(s|0)>0?s:0;p=p+1|0;if((p|0)==(h|0))break;else{m=m+1|0;k=k+2|0;n=n+2|0}}o=o+1|0}while((o|0)!=(i|0));return}function jh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=15-i|0;p=1<<q+-1;if(g&1|0)M(60108,60025,238,60153);if((h|0)<=0)return;n=1<<i;o=n+65535|0;if((g|0)<=0)return;l=0;do{k=u(l,f)|0;i=a+((u(l,c)|0)<<1)|0;j=e+(k<<1)|0;k=d+(k<<1)|0;m=0;while(1){r=p+(b[k>>1]|0)+(b[j>>1]|0)>>q;b[i>>1]=(r|0)<0?0:((r|0)<(n|0)?r:o)&65535;r=p+(b[k+2>>1]|0)+(b[j+2>>1]|0)>>q;b[i+2>>1]=(r|0)<0?0:((r|0)<(n|0)?r:o)&65535;m=m+2|0;if((m|0)>=(g|0))break;else{i=i+4|0;j=j+4|0;k=k+4|0}}l=l+1|0}while((l|0)!=(h|0));return}function kh(a,c,d,e,f,g,h){a=a|0;c=c|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;o=14-h|0;n=(o|0)>0?1<<o+-1:0;if(f&1|0)M(60108,60025,172,60121);if((g|0)<=0)return;l=1<<h;m=l+65535|0;if((f|0)<=0)return;j=0;do{h=a+((u(j,c)|0)<<1)|0;i=d+((u(j,e)|0)<<1)|0;k=0;while(1){p=n+(b[i>>1]|0)>>o;b[h>>1]=(p|0)<0?0:((p|0)<(l|0)?p:m)&65535;p=n+(b[i+2>>1]|0)>>o;b[h+2>>1]=(p|0)<0?0:((p|0)<(l|0)?p:m)&65535;k=k+2|0;if((k|0)>=(f|0))break;else{h=h+4|0;i=i+4|0}}j=j+1|0}while((j|0)!=(g|0));return}function lh(a,c,d,e,f,g,h,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((j|0)<=0)M(60015,60025,193,60078);q=1<<j+-1;if((g|0)<=0)return;o=1<<k;p=o+65535|0;if((f|0)<=0)return;m=0;do{k=a+((u(m,c)|0)<<1)|0;l=d+((u(m,e)|0)<<1)|0;n=0;while(1){r=((u(b[l>>1]|0,h)|0)+q>>j)+i|0;b[k>>1]=(r|0)<0?0:((r|0)<(o|0)?r:p)&65535;n=n+1|0;if((n|0)==(f|0))break;else{k=k+2|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function mh(a,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0;if((m|0)<=0)M(60015,60025,213,60046);s=j+1+l<<m;if((h|0)<=0)return;r=m+1|0;p=1<<n;q=p+65535|0;if((g|0)<=0)return;n=0;do{m=u(n,f)|0;l=a+((u(n,c)|0)<<1)|0;j=e+(m<<1)|0;m=d+(m<<1)|0;o=0;while(1){t=u(b[m>>1]|0,i)|0;t=t+s+(u(b[j>>1]|0,k)|0)>>r;b[l>>1]=(t|0)<0?0:((t|0)<(p|0)?t:q)&65535;o=o+1|0;if((o|0)==(g|0))break;else{l=l+2|0;j=j+2|0;m=m+2|0}}n=n+1|0}while((n|0)!=(h|0));return}function nh(a,c,e,f,g,h,i,j,k){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=e+(u(k,f)|0)|0;j=a+((u(k,c)|0)<<1)|0;l=0;while(1){b[j>>1]=(d[i>>0]|0)<<6;l=l+1|0;if((l|0)==(g|0))break;else{i=i+1|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function oh(a,c,e,f,g,h,i,j,k,l){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=hc;p=l+-8|0;r=h+3|0;q=u(g<<1,r)|0;s=hc;hc=hc+((1*q|0)+15&-16)|0;if((h|0)>-3){q=(g|0)>0;o=-1;while(1){a:do if(q){k=o+1|0;n=0;l=e+((u(o,f)|0)+-1)|0;while(1){switch(i|0){case 0:{l=l+1|0;m=d[l>>0]|0;break}case 1:{v=l+1|0;m=(u(d[l>>0]|0,-2)|0)+((d[v>>0]|0)*58|0)+((d[l+2>>0]|0)*10|0)-(d[l+3>>0]<<1)>>p&65535;l=v;break}case 2:{v=l+1|0;m=(u(d[l>>0]|0,-4)|0)+((d[v>>0]|0)*54|0)+(d[l+2>>0]<<4)-(d[l+3>>0]<<1)>>p&65535;l=v;break}case 3:{v=l+1|0;m=(u(d[l>>0]|0,-6)|0)+((d[v>>0]|0)*46|0)+((d[l+2>>0]|0)*28|0)-(d[l+3>>0]<<2)>>p&65535;l=v;break}case 4:{v=l+1|0;m=(u(d[l>>0]|0,-4)|0)-(d[l+3>>0]<<2)+(((d[l+2>>0]|0)+(d[v>>0]|0)|0)*36|0)>>p&65535;l=v;break}case 5:{v=l+1|0;m=(u(d[l>>0]|0,-4)|0)+((d[v>>0]|0)*28|0)+((d[l+2>>0]|0)*46|0)+(u(d[l+3>>0]|0,-6)|0)>>p&65535;l=v;break}case 6:{v=l+1|0;m=(u(d[l>>0]|0,-2)|0)+(d[v>>0]<<4)+((d[l+2>>0]|0)*54|0)-(d[l+3>>0]<<2)>>p&65535;l=v;break}default:{v=l+1|0;m=(u(d[l>>0]|0,-2)|0)+((d[v>>0]|0)*10|0)+((d[l+2>>0]|0)*58|0)-(d[l+3>>0]<<1)>>p&65535;l=v}}b[s+(k+(u(n,r)|0)<<1)>>1]=m;n=n+1|0;if((n|0)==(g|0))break a}}else k=o+1|0;while(0);if((o|0)>(h|0))break;else o=k}}o=(i|0)==0?p:6;if((g|0)<=0){hc=t;return}p=(h|0)>0;n=0;do{b:do if(p){m=0;k=s+((u(n,r)|0)<<1)|0;while(1){switch(j|0){case 0:{k=k+2|0;l=b[k>>1]|0;break}case 1:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+((b[v>>1]|0)*58|0)+((b[k+4>>1]|0)*10|0)-(b[k+6>>1]<<1)>>o&65535;k=v;break}case 2:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)+((b[v>>1]|0)*54|0)+(b[k+4>>1]<<4)-(b[k+6>>1]<<1)>>o&65535;k=v;break}case 3:{v=k+2|0;l=(u(b[k>>1]|0,-6)|0)+((b[v>>1]|0)*46|0)+((b[k+4>>1]|0)*28|0)-(b[k+6>>1]<<2)>>o&65535;k=v;break}case 4:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)-(b[k+6>>1]<<2)+(((b[k+4>>1]|0)+(b[v>>1]|0)|0)*36|0)>>o&65535;k=v;break}case 5:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)+((b[v>>1]|0)*28|0)+((b[k+4>>1]|0)*46|0)+(u(b[k+6>>1]|0,-6)|0)>>o&65535;k=v;break}case 6:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+(b[v>>1]<<4)+((b[k+4>>1]|0)*54|0)-(b[k+6>>1]<<2)>>o&65535;k=v;break}default:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+((b[v>>1]|0)*10|0)+((b[k+4>>1]|0)*58|0)-(b[k+6>>1]<<1)>>o&65535;k=v}}b[a+((u(m,c)|0)+n<<1)>>1]=l;m=m+1|0;if((m|0)==(h|0))break b}}while(0);n=n+1|0}while((n|0)!=(g|0));hc=t;return}function ph(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((h|0)>0&(g|0)>0))return;l=0;do{i=e+(u(l,f)|0)|0;j=a+((u(l,c)|0)<<1)|0;k=0;while(1){o=(d[i+1>>0]|0)<<6&65535;n=(d[i+2>>0]|0)<<6&65535;m=(d[i+3>>0]|0)<<6&65535;b[j>>1]=(d[i>>0]|0)<<6;b[j+2>>1]=o;b[j+4>>1]=n;b[j+6>>1]=m;k=k+4|0;if((k|0)>=(g|0))break;else{i=i+4|0;j=j+8|0}}l=l+1|0}while((l|0)!=(h|0));return}function qh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+3|0;p=i+6|0;if((o|0)>-3){if((h|0)<=0)return;k=-3;do{l=0;m=j+(k+3<<1)|0;n=f+(u(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((u(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;g=(b[m>>1]<<2)-(b[o>>1]|0)+(u(b[o+4>>1]|0,-10)|0)|0;g=g+((b[o+6>>1]|0)*58|0)+((b[o+8>>1]|0)*17|0)+(u(b[o+10>>1]|0,-5)|0)|0;b[l>>1]=g+(e[o+12>>1]|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function rh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+4|0;p=i+7|0;if((o|0)>-3){if((h|0)<=0)return;k=-3;do{l=0;m=j+(k+3<<1)|0;n=f+(u(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((u(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;b[l>>1]=(b[m>>1]<<2)-(b[o>>1]|0)+(((b[o+8>>1]|0)+(b[o+6>>1]|0)|0)*40|0)+(b[o+12>>1]<<2)-(e[o+14>>1]|0)+(u((b[o+10>>1]|0)+(b[o+4>>1]|0)|0,-11)|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function sh(a,c,f,g,h,i,j){a=a|0;c=c|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;o=i+4|0;p=i+6|0;if((o|0)>-2){if((h|0)<=0)return;k=-2;do{l=0;m=j+(k+2<<1)|0;n=f+(u(k,g)|0)|0;while(1){b[m>>1]=d[n>>0]|0;l=l+1|0;if((l|0)==(h|0))break;else{m=m+(p<<1)|0;n=n+1|0}}k=k+1|0}while((k|0)!=(o|0))}if(!((h|0)>0&(i|0)>0))return;n=0;do{k=0;l=a+(n<<1)|0;m=j+((u(n,p)|0)<<1)|0;while(1){o=m;m=m+2|0;g=(u(b[m>>1]|0,-5)|0)+(b[o>>1]|0)|0;g=g+((b[o+4>>1]|0)*17|0)+((b[o+6>>1]|0)*58|0)+(u(b[o+8>>1]|0,-10)|0)|0;b[l>>1]=g+(b[o+10>>1]<<2)-(e[o+12>>1]|0);k=k+1|0;if((k|0)==(i|0))break;else l=l+(c<<1)|0}n=n+1|0}while((n|0)!=(h|0));return}function th(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(u(m,f)|0)+-3|0;while(1){n=l;l=l+1|0;o=((d[l>>0]|0)<<2)-(d[n>>0]|0)+(u(d[n+2>>0]|0,-10)|0)|0;o=o+((d[n+3>>0]|0)*58|0)+((d[n+4>>0]|0)*17|0)+(u(d[n+5>>0]|0,-5)|0)|0;b[k>>1]=o+(d[n+6>>0]|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function uh(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;Mi(a,b,c,d,e,f,g,1,1,8);return}function vh(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;Mi(a,b,c,d,e,f,g,1,2,8);return}function wh(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;Mi(a,b,c,d,e,f,g,1,3,8);return}function xh(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(u(m,f)|0)+-3|0;while(1){n=l;l=l+1|0;b[k>>1]=((d[l>>0]|0)<<2)-(d[n>>0]|0)+(((d[n+4>>0]|0)+(d[n+3>>0]|0)|0)*40|0)+((d[n+6>>0]|0)<<2)-(d[n+7>>0]|0)+(u((d[n+5>>0]|0)+(d[n+2>>0]|0)|0,-11)|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function yh(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;Mi(a,b,c,d,e,f,g,2,1,8);return}function zh(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;Mi(a,b,c,d,e,f,g,2,2,8);return}function Ah(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;Mi(a,b,c,d,e,f,g,2,3,8);return}function Bh(a,c,e,f,g,h,i){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=e+(u(m,f)|0)+-2|0;while(1){n=l;l=l+1|0;o=(u(d[l>>0]|0,-5)|0)+(d[n>>0]|0)|0;o=o+((d[n+2>>0]|0)*17|0)+((d[n+3>>0]|0)*58|0)+(u(d[n+4>>0]|0,-10)|0)|0;b[k>>1]=o+((d[n+5>>0]|0)<<2)-(d[n+6>>0]|0);j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Ch(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;Mi(a,b,c,d,e,f,g,3,1,8);return}function Dh(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;Mi(a,b,c,d,e,f,g,3,2,8);return}function Eh(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;Mi(a,b,c,d,e,f,g,3,3,8);return}function Fh(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;m=14-l|0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=d+((u(k,f)|0)<<1)|0;j=a+((u(k,c)|0)<<1)|0;l=0;while(1){b[j>>1]=(e[i>>1]|0)<<m;l=l+1|0;if((l|0)==(g|0))break;else{i=i+2|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function Gh(a,c,d,f,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=hc;p=l+-8|0;r=h+3|0;q=u(g<<1,r)|0;s=hc;hc=hc+((1*q|0)+15&-16)|0;if((h|0)>-3){q=(g|0)>0;o=-1;while(1){a:do if(q){k=o+1|0;n=0;l=d+((u(o,f)|0)+-1<<1)|0;while(1){switch(i|0){case 0:{l=l+2|0;m=b[l>>1]|0;break}case 1:{v=l+2|0;m=(u(e[l>>1]|0,-2)|0)+((e[v>>1]|0)*58|0)+((e[l+4>>1]|0)*10|0)-(e[l+6>>1]<<1)>>p&65535;l=v;break}case 2:{v=l+2|0;m=(u(e[l>>1]|0,-4)|0)+((e[v>>1]|0)*54|0)+(e[l+4>>1]<<4)-(e[l+6>>1]<<1)>>p&65535;l=v;break}case 3:{v=l+2|0;m=(u(e[l>>1]|0,-6)|0)+((e[v>>1]|0)*46|0)+((e[l+4>>1]|0)*28|0)-(e[l+6>>1]<<2)>>p&65535;l=v;break}case 4:{v=l+2|0;m=(u(e[l>>1]|0,-4)|0)-(e[l+6>>1]<<2)+(((e[l+4>>1]|0)+(e[v>>1]|0)|0)*36|0)>>p&65535;l=v;break}case 5:{v=l+2|0;m=(u(e[l>>1]|0,-4)|0)+((e[v>>1]|0)*28|0)+((e[l+4>>1]|0)*46|0)+(u(e[l+6>>1]|0,-6)|0)>>p&65535;l=v;break}case 6:{v=l+2|0;m=(u(e[l>>1]|0,-2)|0)+(e[v>>1]<<4)+((e[l+4>>1]|0)*54|0)-(e[l+6>>1]<<2)>>p&65535;l=v;break}default:{v=l+2|0;m=(u(e[l>>1]|0,-2)|0)+((e[v>>1]|0)*10|0)+((e[l+4>>1]|0)*58|0)-(e[l+6>>1]<<1)>>p&65535;l=v}}b[s+(k+(u(n,r)|0)<<1)>>1]=m;n=n+1|0;if((n|0)==(g|0))break a}}else k=o+1|0;while(0);if((o|0)>(h|0))break;else o=k}}o=(i|0)==0?p:6;if((g|0)<=0){hc=t;return}p=(h|0)>0;n=0;do{b:do if(p){m=0;k=s+((u(n,r)|0)<<1)|0;while(1){switch(j|0){case 0:{k=k+2|0;l=b[k>>1]|0;break}case 1:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+((b[v>>1]|0)*58|0)+((b[k+4>>1]|0)*10|0)-(b[k+6>>1]<<1)>>o&65535;k=v;break}case 2:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)+((b[v>>1]|0)*54|0)+(b[k+4>>1]<<4)-(b[k+6>>1]<<1)>>o&65535;k=v;break}case 3:{v=k+2|0;l=(u(b[k>>1]|0,-6)|0)+((b[v>>1]|0)*46|0)+((b[k+4>>1]|0)*28|0)-(b[k+6>>1]<<2)>>o&65535;k=v;break}case 4:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)-(b[k+6>>1]<<2)+(((b[k+4>>1]|0)+(b[v>>1]|0)|0)*36|0)>>o&65535;k=v;break}case 5:{v=k+2|0;l=(u(b[k>>1]|0,-4)|0)+((b[v>>1]|0)*28|0)+((b[k+4>>1]|0)*46|0)+(u(b[k+6>>1]|0,-6)|0)>>o&65535;k=v;break}case 6:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+(b[v>>1]<<4)+((b[k+4>>1]|0)*54|0)-(b[k+6>>1]<<2)>>o&65535;k=v;break}default:{v=k+2|0;l=(u(b[k>>1]|0,-2)|0)+((b[v>>1]|0)*10|0)+((b[k+4>>1]|0)*58|0)-(b[k+6>>1]<<1)>>o&65535;k=v}}b[a+((u(m,c)|0)+n<<1)>>1]=l;m=m+1|0;if((m|0)==(h|0))break b}}while(0);n=n+1|0}while((n|0)!=(g|0));hc=t;return}function Hh(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;m=14-j|0;if(!((h|0)>0&(g|0)>0))return;k=0;do{i=a+((u(k,c)|0)<<1)|0;j=d+((u(k,f)|0)<<1)|0;l=0;while(1){b[i>>1]=(e[j>>1]|0)<<m;l=l+1|0;if((l|0)==(g|0))break;else{i=i+2|0;j=j+2|0}}k=k+1|0}while((k|0)!=(h|0));return}function Ih(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+3|0;o=g+6|0;n=i+-8|0;if((m|0)>-3){if((f|0)<=0)return;i=-3;do{j=0;k=h+(i+3<<1)|0;l=d+((u(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((u(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;e=(b[k>>1]<<2)-(b[m>>1]|0)+(u(b[m+4>>1]|0,-10)|0)|0;e=e+((b[m+6>>1]|0)*58|0)+((b[m+8>>1]|0)*17|0)+(u(b[m+10>>1]|0,-5)|0)|0;b[j>>1]=e+(b[m+12>>1]|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Jh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+4|0;o=g+7|0;n=i+-8|0;if((m|0)>-3){if((f|0)<=0)return;i=-3;do{j=0;k=h+(i+3<<1)|0;l=d+((u(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((u(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;b[j>>1]=(b[k>>1]<<2)-(b[m>>1]|0)+(((b[m+8>>1]|0)+(b[m+6>>1]|0)|0)*40|0)+(b[m+12>>1]<<2)-(b[m+14>>1]|0)+(u((b[m+10>>1]|0)+(b[m+4>>1]|0)|0,-11)|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Kh(a,c,d,e,f,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=g+4|0;o=g+6|0;n=i+-8|0;if((m|0)>-2){if((f|0)<=0)return;i=-2;do{j=0;k=h+(i+2<<1)|0;l=d+((u(i,e)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(f|0))break;else{k=k+(o<<1)|0;l=l+2|0}}i=i+1|0}while((i|0)!=(m|0))}if(!((f|0)>0&(g|0)>0))return;l=0;do{i=0;j=a+(l<<1)|0;k=h+((u(l,o)|0)<<1)|0;while(1){m=k;k=k+2|0;e=(u(b[k>>1]|0,-5)|0)+(b[m>>1]|0)|0;e=e+((b[m+4>>1]|0)*17|0)+((b[m+6>>1]|0)*58|0)+(u(b[m+8>>1]|0,-10)|0)|0;b[j>>1]=e+(b[m+10>>1]<<2)-(b[m+12>>1]|0)>>n;i=i+1|0;if((i|0)==(g|0))break;else j=j+(c<<1)|0}l=l+1|0}while((l|0)!=(f|0));return}function Lh(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((u(m,f)|0)<<1)+-6|0;while(1){o=l;l=l+2|0;p=((e[l>>1]|0)<<2)-(e[o>>1]|0)+(u(e[o+4>>1]|0,-10)|0)|0;p=p+((e[o+6>>1]|0)*58|0)+((e[o+8>>1]|0)*17|0)+(u(e[o+10>>1]|0,-5)|0)|0;b[k>>1]=p+(e[o+12>>1]|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Mh(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;Li(a,b,c,d,e,f,g,1,1,h);return}function Nh(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;Li(a,b,c,d,e,f,g,1,2,h);return}function Oh(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;Li(a,b,c,d,e,f,g,1,3,h);return}function Ph(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((u(m,f)|0)<<1)+-6|0;while(1){o=l;l=l+2|0;b[k>>1]=((e[l>>1]|0)<<2)-(e[o>>1]|0)+(((e[o+8>>1]|0)+(e[o+6>>1]|0)|0)*40|0)+((e[o+12>>1]|0)<<2)-(e[o+14>>1]|0)+(u((e[o+10>>1]|0)+(e[o+4>>1]|0)|0,-11)|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Qh(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;Li(a,b,c,d,e,f,g,2,1,h);return}function Rh(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;Li(a,b,c,d,e,f,g,2,2,h);return}function Sh(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;Li(a,b,c,d,e,f,g,2,3,h);return}function Th(a,c,d,f,g,h,i,j){a=a|0;c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;n=j+-8|0;if(!((g|0)>0&(h|0)>0))return;m=0;do{j=0;k=i+(m<<1)|0;l=d+((u(m,f)|0)<<1)+-4|0;while(1){o=l;l=l+2|0;p=(u(e[l>>1]|0,-5)|0)+(e[o>>1]|0)|0;p=p+((e[o+4>>1]|0)*17|0)+((e[o+6>>1]|0)*58|0)+(u(e[o+8>>1]|0,-10)|0)|0;b[k>>1]=p+((e[o+10>>1]|0)<<2)-(e[o+12>>1]|0)>>n;j=j+1|0;if((j|0)==(g|0))break;else k=k+(h<<1)|0}m=m+1|0}while((m|0)!=(h|0));m=0;do{j=0;k=a+(m<<1)|0;l=i+((u(m,h)|0)<<1)|0;while(1){b[k>>1]=b[l>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else{k=k+(c<<1)|0;l=l+2|0}}m=m+1|0}while((m|0)!=(g|0));return}function Uh(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;Li(a,b,c,d,e,f,g,3,1,h);return}function Vh(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;Li(a,b,c,d,e,f,g,3,2,h);return}function Wh(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;Li(a,b,c,d,e,f,g,3,3,h);return}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;M(69335,59944,51,59989)}function Yh(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=f+5|0;l=1<<f;if((f|0)==31)return;j=0;do{m=j<<f;n=u(j,g)|0;h=0;i=0;do{i=((b[e+(h+m<<1)>>1]<<k)+2048>>12)+i|0;o=c+(h+n)|0;p=i+(d[o>>0]|0)|0;p=(p|0)<255?p:255;a[o>>0]=(p|0)>0?p:0;h=h+1|0}while((h|0)<(l|0));j=j+1|0}while((j|0)<(l|0));return}function Zh(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f+5|0;l=1<<f;if((f|0)==31)return;j=0;do{h=0;i=0;do{i=((b[e+((h<<f)+j<<1)>>1]<<k)+2048>>12)+i|0;m=c+((u(h,g)|0)+j)|0;n=i+(d[m>>0]|0)|0;n=(n|0)<255?n:255;a[m>>0]=(n|0)>0?n:0;h=h+1|0}while((h|0)<(l|0));j=j+1|0}while((j|0)<(l|0));return}function _h(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)<=0)return;g=0;do{h=u(g,e)|0;f=0;do{i=f+h|0;c[a+(i<<2)>>2]=b[d+(i<<1)>>1];f=f+1|0}while((f|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function $h(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((e|0)<=0)return;g=0;do{i=u(g,e)|0;f=0;h=0;do{j=h+i|0;f=f+(b[d+(j<<1)>>1]|0)|0;c[a+(j<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function ai(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)<=0)return;g=0;do{f=0;h=0;do{i=(u(h,e)|0)+g|0;f=f+(b[d+(i<<1)>>1]|0)|0;c[a+(i<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));g=g+1|0}while((g|0)!=(e|0));return}function bi(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=hc;h=hc=hc+31&-32;hc=hc+32|0;g=b[e>>1]|0;j=b[e+8>>1]|0;l=j*74|0;k=b[e+16>>1]|0;m=b[e+24>>1]|0;n=(m*55|0)+((k*84|0)+(l+(g*29|0)))|0;b[h>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;l=(u(m,-84)|0)+((u(k,-29)|0)+(l+(g*55|0)))|0;b[h+8>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;l=(m*74|0)+((u(k,-74)|0)+(g*74|0))|0;b[h+16>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;g=(u(m,-29)|0)+((k*55|0)+((u(j,-74)|0)+(g*84|0)))|0;b[h+24>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+2>>1]|0;j=b[e+10>>1]|0;k=j*74|0;m=b[e+18>>1]|0;l=b[e+26>>1]|0;n=(l*55|0)+((m*84|0)+(k+(g*29|0)))|0;b[h+2>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;k=(u(l,-84)|0)+((u(m,-29)|0)+(k+(g*55|0)))|0;b[h+10>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;k=(l*74|0)+((u(m,-74)|0)+(g*74|0))|0;b[h+18>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;g=(u(l,-29)|0)+((m*55|0)+((u(j,-74)|0)+(g*84|0)))|0;b[h+26>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+4>>1]|0;j=b[e+12>>1]|0;m=j*74|0;l=b[e+20>>1]|0;k=b[e+28>>1]|0;n=(k*55|0)+((l*84|0)+(m+(g*29|0)))|0;b[h+4>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;m=(u(k,-84)|0)+((u(l,-29)|0)+(m+(g*55|0)))|0;b[h+12>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(k*74|0)+((u(l,-74)|0)+(g*74|0))|0;b[h+20>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;g=(u(k,-29)|0)+((l*55|0)+((u(j,-74)|0)+(g*84|0)))|0;b[h+28>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;g=b[e+6>>1]|0;j=b[e+14>>1]|0;l=j*74|0;k=b[e+22>>1]|0;e=b[e+30>>1]|0;m=(e*55|0)+((k*84|0)+(l+(g*29|0)))|0;b[h+6>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;l=(u(e,-84)|0)+((u(k,-29)|0)+(l+(g*55|0)))|0;b[h+14>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;l=(e*74|0)+((u(k,-74)|0)+(g*74|0))|0;b[h+22>>1]=(l|0)<-4194368?-32768:(l|0)>4194239?32767:(l+64|0)>>>7&65535;g=(u(e,-29)|0)+((k*55|0)+((u(j,-74)|0)+(g*84|0)))|0;b[h+30>>1]=(g|0)<-4194368?-32768:(g|0)>4194239?32767:(g+64|0)>>>7&65535;if((f|0)==1){e=0;g=a[c+2>>0]|0;do{n=u(e,f)|0;m=b[h+(e<<3)>>1]|0;l=b[h+(e<<3)+2>>1]|0;p=l*74|0;k=b[h+(e<<3)+4>>1]|0;j=b[h+(e<<3)+6>>1]|0;q=(j*55|0)+((k*84|0)+(p+(m*29|0)))|0;o=c+n|0;q=((q|0)<-134219776?-32768:(q|0)>134215679?32767:q+2048>>12)+(d[o>>0]|0)|0;q=(q|0)<255?q:255;a[o>>0]=(q|0)>0?q:0;p=(u(j,-84)|0)+((u(k,-29)|0)+(p+(m*55|0)))|0;o=c+(n+1)|0;p=((p|0)<-134219776?-32768:(p|0)>134215679?32767:p+2048>>12)+(d[o>>0]|0)|0;p=(p|0)<255?p:255;a[o>>0]=(p|0)>0?p:0;o=(j*74|0)+((u(k,-74)|0)+(m*74|0))|0;o=((o|0)<-134219776?-32768:(o|0)>134215679?32767:o+2048>>12)+(g&255)|0;o=(o|0)<255?o:255;a[c+(n+2)>>0]=(o|0)>0?o:0;m=(u(j,-29)|0)+((k*55|0)+((u(l,-74)|0)+(m*84|0)))|0;n=c+(n+3)|0;m=((m|0)<-134219776?-32768:(m|0)>134215679?32767:m+2048>>12)+(d[n>>0]|0)|0;m=(m|0)<255?m:255;g=((m|0)>0?m:0)&255;a[n>>0]=g;e=e+1|0}while((e|0)!=4);hc=i;return}else{e=0;do{q=u(e,f)|0;p=b[h+(e<<3)>>1]|0;o=b[h+(e<<3)+2>>1]|0;l=o*74|0;n=b[h+(e<<3)+4>>1]|0;m=b[h+(e<<3)+6>>1]|0;j=(m*55|0)+((n*84|0)+(l+(p*29|0)))|0;k=c+q|0;j=((j|0)<-134219776?-32768:(j|0)>134215679?32767:j+2048>>12)+(d[k>>0]|0)|0;j=(j|0)<255?j:255;a[k>>0]=(j|0)>0?j:0;l=(u(m,-84)|0)+((u(n,-29)|0)+(l+(p*55|0)))|0;k=c+(q+1)|0;l=((l|0)<-134219776?-32768:(l|0)>134215679?32767:l+2048>>12)+(d[k>>0]|0)|0;l=(l|0)<255?l:255;a[k>>0]=(l|0)>0?l:0;k=(m*74|0)+((u(n,-74)|0)+(p*74|0))|0;l=c+(q+2)|0;k=((k|0)<-134219776?-32768:(k|0)>134215679?32767:k+2048>>12)+(d[l>>0]|0)|0;k=(k|0)<255?k:255;a[l>>0]=(k|0)>0?k:0;p=(u(m,-29)|0)+((n*55|0)+((u(o,-74)|0)+(p*84|0)))|0;q=c+(q+3)|0;p=((p|0)<-134219776?-32768:(p|0)>134215679?32767:p+2048>>12)+(d[q>>0]|0)|0;p=(p|0)<255?p:255;a[q>>0]=(p|0)>0?p:0;e=e+1|0}while((e|0)!=4);hc=i;return}}function ci(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,c,4,b,8);return}function di(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,c,8,b,8);return}function ei(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,c,16,b,8);return}function fi(a,b,c){a=a|0;b=b|0;c=c|0;Ki(a,c,32,b,8);return}function gi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;M(69335,59944,68,59962)}function hi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=hc;j=hc=hc+31&-32;hc=hc+32|0;k=20-f|0;i=b[c>>1]|0;g=b[c+8>>1]|0;m=g*74|0;h=b[c+16>>1]|0;n=b[c+24>>1]|0;o=(n*55|0)+((h*84|0)+(m+(i*29|0)))|0;b[j>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;m=(u(n,-84)|0)+((u(h,-29)|0)+(m+(i*55|0)))|0;b[j+8>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(n*74|0)+((u(h,-74)|0)+(i*74|0))|0;b[j+16>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;i=(u(n,-29)|0)+((h*55|0)+((u(g,-74)|0)+(i*84|0)))|0;b[j+24>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+2>>1]|0;g=b[c+10>>1]|0;h=g*74|0;n=b[c+18>>1]|0;m=b[c+26>>1]|0;o=(m*55|0)+((n*84|0)+(h+(i*29|0)))|0;b[j+2>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;h=(u(m,-84)|0)+((u(n,-29)|0)+(h+(i*55|0)))|0;b[j+10>>1]=(h|0)<-4194368?-32768:(h|0)>4194239?32767:(h+64|0)>>>7&65535;h=(m*74|0)+((u(n,-74)|0)+(i*74|0))|0;b[j+18>>1]=(h|0)<-4194368?-32768:(h|0)>4194239?32767:(h+64|0)>>>7&65535;i=(u(m,-29)|0)+((n*55|0)+((u(g,-74)|0)+(i*84|0)))|0;b[j+26>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+4>>1]|0;g=b[c+12>>1]|0;n=g*74|0;m=b[c+20>>1]|0;h=b[c+28>>1]|0;o=(h*55|0)+((m*84|0)+(n+(i*29|0)))|0;b[j+4>>1]=(o|0)<-4194368?-32768:(o|0)>4194239?32767:(o+64|0)>>>7&65535;n=(u(h,-84)|0)+((u(m,-29)|0)+(n+(i*55|0)))|0;b[j+12>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;n=(h*74|0)+((u(m,-74)|0)+(i*74|0))|0;b[j+20>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;i=(u(h,-29)|0)+((m*55|0)+((u(g,-74)|0)+(i*84|0)))|0;b[j+28>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=b[c+6>>1]|0;g=b[c+14>>1]|0;m=g*74|0;h=b[c+22>>1]|0;c=b[c+30>>1]|0;n=(c*55|0)+((h*84|0)+(m+(i*29|0)))|0;b[j+6>>1]=(n|0)<-4194368?-32768:(n|0)>4194239?32767:(n+64|0)>>>7&65535;m=(u(c,-84)|0)+((u(h,-29)|0)+(m+(i*55|0)))|0;b[j+14>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;m=(c*74|0)+((u(h,-74)|0)+(i*74|0))|0;b[j+22>>1]=(m|0)<-4194368?-32768:(m|0)>4194239?32767:(m+64|0)>>>7&65535;i=(u(c,-29)|0)+((h*55|0)+((u(g,-74)|0)+(i*84|0)))|0;b[j+30>>1]=(i|0)<-4194368?-32768:(i|0)>4194239?32767:(i+64|0)>>>7&65535;i=1<<k+-1;g=1<<f;h=g+65535|0;if((d|0)==1){c=0;f=b[a+4>>1]|0;do{o=u(c,d)|0;n=b[j+(c<<3)>>1]|0;m=b[j+(c<<3)+2>>1]|0;s=m*74|0;p=b[j+(c<<3)+4>>1]|0;q=b[j+(c<<3)+6>>1]|0;t=(q*55|0)+((p*84|0)+(s+(n*29|0)))+i>>k;t=(t|0)<32767?t:32767;r=a+(o<<1)|0;t=((t|0)>-32768?t:-32768)+(e[r>>1]|0)|0;b[r>>1]=(t|0)<0?0:((t|0)<(g|0)?t:h)&65535;s=(u(q,-84)|0)+((u(p,-29)|0)+(s+(n*55|0)))+i>>k;s=(s|0)<32767?s:32767;r=a+(o+1<<1)|0;s=((s|0)>-32768?s:-32768)+(e[r>>1]|0)|0;b[r>>1]=(s|0)<0?0:((s|0)<(g|0)?s:h)&65535;r=(q*74|0)+((u(p,-74)|0)+(n*74|0))+i>>k;r=(r|0)<32767?r:32767;r=((r|0)>-32768?r:-32768)+(f&65535)|0;b[a+(o+2<<1)>>1]=(r|0)<0?0:((r|0)<(g|0)?r:h)&65535;n=(u(q,-29)|0)+((p*55|0)+((u(m,-74)|0)+(n*84|0)))+i>>k;n=(n|0)<32767?n:32767;o=a+(o+3<<1)|0;n=((n|0)>-32768?n:-32768)+(e[o>>1]|0)|0;f=(n|0)<0?0:((n|0)<(g|0)?n:h)&65535;b[o>>1]=f;c=c+1|0}while((c|0)!=4);hc=l;return}else{c=0;do{t=u(c,d)|0;s=b[j+(c<<3)>>1]|0;r=b[j+(c<<3)+2>>1]|0;o=r*74|0;q=b[j+(c<<3)+4>>1]|0;p=b[j+(c<<3)+6>>1]|0;m=(p*55|0)+((q*84|0)+(o+(s*29|0)))+i>>k;m=(m|0)<32767?m:32767;n=a+(t<<1)|0;m=((m|0)>-32768?m:-32768)+(e[n>>1]|0)|0;b[n>>1]=(m|0)<0?0:((m|0)<(g|0)?m:h)&65535;o=(u(p,-84)|0)+((u(q,-29)|0)+(o+(s*55|0)))+i>>k;o=(o|0)<32767?o:32767;n=a+(t+1<<1)|0;o=((o|0)>-32768?o:-32768)+(e[n>>1]|0)|0;b[n>>1]=(o|0)<0?0:((o|0)<(g|0)?o:h)&65535;n=(p*74|0)+((u(q,-74)|0)+(s*74|0))+i>>k;n=(n|0)<32767?n:32767;o=a+(t+2<<1)|0;n=((n|0)>-32768?n:-32768)+(e[o>>1]|0)|0;b[o>>1]=(n|0)<0?0:((n|0)<(g|0)?n:h)&65535;s=(u(p,-29)|0)+((q*55|0)+((u(r,-74)|0)+(s*84|0)))+i>>k;s=(s|0)<32767?s:32767;t=a+(t+3<<1)|0;s=((s|0)>-32768?s:-32768)+(e[t>>1]|0)|0;b[t>>1]=(s|0)<0?0:((s|0)<(g|0)?s:h)&65535;c=c+1|0}while((c|0)!=4);hc=l;return}}function ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ji(a,c,4,b,d);return}function ji(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ji(a,c,8,b,d);return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ji(a,c,16,b,d);return}function li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ji(a,c,32,b,d);return}function mi(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=(c|0)/2|0;if((c|0)<=1)return;g=c+-1|0;d=0;do{h=u(d,c)|0;i=g+(u(g-d|0,c)|0)|0;e=0;do{l=a+(e+h<<1)|0;j=a+(i-e<<1)|0;k=b[l>>1]|0;b[l>>1]=b[j>>1]|0;b[j>>1]=k;e=e+1|0}while((e|0)!=(c|0));d=d+1|0}while((d|0)!=(f|0));return}function ni(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((g|0)<=0)return;j=1<<h;k=j+255|0;h=0;do{l=u(h,e)|0;m=u(h,g)|0;i=0;do{n=b+(i+l)|0;o=(c[f+(i+m<<2)>>2]|0)+(d[n>>0]|0)|0;a[n>>0]=(o|0)<0?0:((o|0)<(j|0)?o:k)&255;i=i+1|0}while((i|0)!=(g|0));h=h+1|0}while((h|0)!=(g|0));return}function oi(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((g|0)<=0)return;j=1<<h;k=j+65535|0;h=0;do{l=u(h,d)|0;m=u(h,g)|0;i=0;do{n=a+(i+l<<1)|0;o=(c[f+(i+m<<2)>>2]|0)+(e[n>>1]|0)|0;b[n>>1]=(o|0)<0?0:((o|0)<(j|0)?o:k)&65535;i=i+1|0}while((i|0)!=(g|0));h=h+1|0}while((h|0)!=(g|0));return}function pi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=1<<g+-1;if((e|0)<=0)return;j=0;do{l=u(j,e)|0;h=0;i=0;do{m=h+l|0;i=((b[d+(m<<1)>>1]<<f)+k>>g)+i|0;c[a+(m<<2)>>2]=i;h=h+1|0}while((h|0)!=(e|0));j=j+1|0}while((j|0)!=(e|0));return}function qi(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=1<<g+-1;if((e|0)<=0)return;j=0;do{h=0;i=0;do{l=(u(h,e)|0)+j|0;i=((b[d+(l<<1)>>1]<<f)+k>>g)+i|0;c[a+(l<<2)>>2]=i;h=h+1|0}while((h|0)!=(e|0));j=j+1|0}while((j|0)!=(e|0));return}function ri(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=1<<g+-1;if((e|0)<=0)return;i=0;do{k=u(i,e)|0;h=0;do{l=h+k|0;c[a+(l<<2)>>2]=(b[d+(l<<1)>>1]<<f)+j>>g;h=h+1|0}while((h|0)!=(e|0));i=i+1|0}while((i|0)!=(e|0));return}function si(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=hc;j=hc=hc+31&-32;hc=hc+32|0;h=1<<f;f=h+65535|0;k=0-h|0;i=b[d>>1]|0;l=b[d+8>>1]|0;n=l*74|0;m=b[d+16>>1]|0;o=b[d+24>>1]|0;p=(o*55|0)+((m*84|0)+(n+(i*29|0)))+64>>7;b[j>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;n=(u(o,-84)|0)+((u(m,-29)|0)+(n+(i*55|0)))+64>>7;b[j+8>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;n=(o*74|0)+((u(m,-74)|0)+(i*74|0))+64>>7;b[j+16>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;i=(u(o,-29)|0)+((m*55|0)+((u(l,-74)|0)+(i*84|0)))+64>>7;b[j+24>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+2>>1]|0;l=b[d+10>>1]|0;m=l*74|0;o=b[d+18>>1]|0;n=b[d+26>>1]|0;p=(n*55|0)+((o*84|0)+(m+(i*29|0)))+64>>7;b[j+2>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;m=(u(n,-84)|0)+((u(o,-29)|0)+(m+(i*55|0)))+64>>7;b[j+10>>1]=(m|0)<(k|0)?k:(m|0)<(h|0)?m:f;m=(n*74|0)+((u(o,-74)|0)+(i*74|0))+64>>7;b[j+18>>1]=(m|0)<(k|0)?k:(m|0)<(h|0)?m:f;i=(u(n,-29)|0)+((o*55|0)+((u(l,-74)|0)+(i*84|0)))+64>>7;b[j+26>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+4>>1]|0;l=b[d+12>>1]|0;o=l*74|0;n=b[d+20>>1]|0;m=b[d+28>>1]|0;p=(m*55|0)+((n*84|0)+(o+(i*29|0)))+64>>7;b[j+4>>1]=(p|0)<(k|0)?k:(p|0)<(h|0)?p:f;o=(u(m,-84)|0)+((u(n,-29)|0)+(o+(i*55|0)))+64>>7;b[j+12>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;o=(m*74|0)+((u(n,-74)|0)+(i*74|0))+64>>7;b[j+20>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;i=(u(m,-29)|0)+((n*55|0)+((u(l,-74)|0)+(i*84|0)))+64>>7;b[j+28>>1]=(i|0)<(k|0)?k:(i|0)<(h|0)?i:f;i=b[d+6>>1]|0;l=b[d+14>>1]|0;n=l*74|0;m=b[d+22>>1]|0;d=b[d+30>>1]|0;o=(d*55|0)+((m*84|0)+(n+(i*29|0)))+64>>7;b[j+6>>1]=(o|0)<(k|0)?k:(o|0)<(h|0)?o:f;n=(u(d,-84)|0)+((u(m,-29)|0)+(n+(i*55|0)))+64>>7;b[j+14>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;n=(d*74|0)+((u(m,-74)|0)+(i*74|0))+64>>7;b[j+22>>1]=(n|0)<(k|0)?k:(n|0)<(h|0)?n:f;d=(u(d,-29)|0)+((m*55|0)+((u(l,-74)|0)+(i*84|0)))+64>>7;b[j+30>>1]=(d|0)<(k|0)?k:(d|0)<(h|0)?d:f;f=1<<e+-1;d=b[j>>1]|0;h=b[j+2>>1]|0;k=h*74|0;i=b[j+4>>1]|0;l=b[j+6>>1]|0;c[a>>2]=(l*55|0)+((i*84|0)+(k+(d*29|0)))+f>>e;c[a+4>>2]=(u(l,-84)|0)+((u(i,-29)|0)+(k+(d*55|0)))+f>>e;c[a+8>>2]=(l*74|0)+((u(i,-74)|0)+(d*74|0))+f>>e;c[a+12>>2]=(u(l,-29)|0)+((i*55|0)+((u(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+8>>1]|0;h=b[j+10>>1]|0;i=h*74|0;l=b[j+12>>1]|0;k=b[j+14>>1]|0;c[a+16>>2]=(k*55|0)+((l*84|0)+(i+(d*29|0)))+f>>e;c[a+20>>2]=(u(k,-84)|0)+((u(l,-29)|0)+(i+(d*55|0)))+f>>e;c[a+24>>2]=(k*74|0)+((u(l,-74)|0)+(d*74|0))+f>>e;c[a+28>>2]=(u(k,-29)|0)+((l*55|0)+((u(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+16>>1]|0;h=b[j+18>>1]|0;l=h*74|0;k=b[j+20>>1]|0;i=b[j+22>>1]|0;c[a+32>>2]=(i*55|0)+((k*84|0)+(l+(d*29|0)))+f>>e;c[a+36>>2]=(u(i,-84)|0)+((u(k,-29)|0)+(l+(d*55|0)))+f>>e;c[a+40>>2]=(i*74|0)+((u(k,-74)|0)+(d*74|0))+f>>e;c[a+44>>2]=(u(i,-29)|0)+((k*55|0)+((u(h,-74)|0)+(d*84|0)))+f>>e;d=b[j+24>>1]|0;h=b[j+26>>1]|0;k=h*74|0;i=b[j+28>>1]|0;j=b[j+30>>1]|0;c[a+48>>2]=(j*55|0)+((i*84|0)+(k+(d*29|0)))+f>>e;c[a+52>>2]=(u(j,-84)|0)+((u(i,-29)|0)+(k+(d*55|0)))+f>>e;c[a+56>>2]=(j*74|0)+((u(i,-74)|0)+(d*74|0))+f>>e;c[a+60>>2]=(u(j,-29)|0)+((i*55|0)+((u(h,-74)|0)+(d*84|0)))+f>>e;hc=g;return}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ii(a,4,b,c,d);return}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ii(a,8,b,c,d);return}function vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ii(a,16,b,c,d);return}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ii(a,32,b,c,d);return}function xi(a,c,d){a=a|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;e=hc;g=hc=hc+31&-32;hc=hc+32|0;i=d<<1;j=d*3|0;h=b[c>>1]|0;f=b[c+(d<<1)>>1]|0;k=b[c+(i<<1)>>1]|0;l=k*74|0;m=b[c+(j<<1)>>1]|0;n=(m*84|0)+(l+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g>>1]=(n|0)>-32768?n:-32768;n=(u(m,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+8>>1]=(n|0)>-32768?n:-32768;k=(m*55|0)+((u(k,-74)|0)+((u(f,-29)|0)+(h*84|0)))+1>>1;k=(k|0)<32767?k:32767;b[g+16>>1]=(k|0)>-32768?k:-32768;h=(u(m,-29)|0)+(l+((u(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+24>>1]=(h|0)>-32768?h:-32768;h=b[c+2>>1]|0;f=b[c+(d+1<<1)>>1]|0;l=b[c+((i|1)<<1)>>1]|0;m=l*74|0;k=b[c+(j+1<<1)>>1]|0;n=(k*84|0)+(m+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g+2>>1]=(n|0)>-32768?n:-32768;n=(u(k,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+10>>1]=(n|0)>-32768?n:-32768;l=(k*55|0)+((u(l,-74)|0)+((u(f,-29)|0)+(h*84|0)))+1>>1;l=(l|0)<32767?l:32767;b[g+18>>1]=(l|0)>-32768?l:-32768;h=(u(k,-29)|0)+(m+((u(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+26>>1]=(h|0)>-32768?h:-32768;h=b[c+4>>1]|0;f=b[c+(d+2<<1)>>1]|0;m=b[c+(i+2<<1)>>1]|0;k=m*74|0;l=b[c+(j+2<<1)>>1]|0;n=(l*84|0)+(k+((f*55|0)+(h*29|0)))+1>>1;n=(n|0)<32767?n:32767;b[g+4>>1]=(n|0)>-32768?n:-32768;n=(u(l,-74)|0)+((f+h|0)*74|0)>>1;n=(n|0)<32767?n:32767;b[g+12>>1]=(n|0)>-32768?n:-32768;m=(l*55|0)+((u(m,-74)|0)+((u(f,-29)|0)+(h*84|0)))+1>>1;m=(m|0)<32767?m:32767;b[g+20>>1]=(m|0)>-32768?m:-32768;h=(u(l,-29)|0)+(k+((u(f,-84)|0)+(h*55|0)))+1>>1;h=(h|0)<32767?h:32767;b[g+28>>1]=(h|0)>-32768?h:-32768;h=b[c+6>>1]|0;d=b[c+(d+3<<1)>>1]|0;i=b[c+(i+3<<1)>>1]|0;f=i*74|0;c=b[c+(j+3<<1)>>1]|0;j=(c*84|0)+(f+((d*55|0)+(h*29|0)))+1>>1;j=(j|0)<32767?j:32767;b[g+6>>1]=(j|0)>-32768?j:-32768;j=(u(c,-74)|0)+((d+h|0)*74|0)>>1;j=(j|0)<32767?j:32767;b[g+14>>1]=(j|0)>-32768?j:-32768;i=(c*55|0)+((u(i,-74)|0)+((u(d,-29)|0)+(h*84|0)))+1>>1;i=(i|0)<32767?i:32767;b[g+22>>1]=(i|0)>-32768?i:-32768;d=(u(c,-29)|0)+(f+((u(d,-84)|0)+(h*55|0)))+1>>1;d=(d|0)<32767?d:32767;b[g+30>>1]=(d|0)>-32768?d:-32768;d=b[g>>1]|0;c=b[g+2>>1]|0;h=b[g+4>>1]|0;f=h*74|0;i=b[g+6>>1]|0;b[a>>1]=((i*84|0)+(f+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+2>>1]=((u(i,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+4>>1]=((i*55|0)+((u(h,-74)|0)+((u(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+6>>1]=((u(i,-29)|0)+(f+((u(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+8>>1]|0;c=b[g+10>>1]|0;f=b[g+12>>1]|0;i=f*74|0;h=b[g+14>>1]|0;b[a+8>>1]=((h*84|0)+(i+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+10>>1]=((u(h,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+12>>1]=((h*55|0)+((u(f,-74)|0)+((u(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+14>>1]=((u(h,-29)|0)+(i+((u(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+16>>1]|0;c=b[g+18>>1]|0;i=b[g+20>>1]|0;h=i*74|0;f=b[g+22>>1]|0;b[a+16>>1]=((f*84|0)+(h+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+18>>1]=((u(f,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+20>>1]=((f*55|0)+((u(i,-74)|0)+((u(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+22>>1]=((u(f,-29)|0)+(h+((u(c,-84)|0)+(d*55|0)))+128|0)>>>8;d=b[g+24>>1]|0;c=b[g+26>>1]|0;h=b[g+28>>1]|0;f=h*74|0;g=b[g+30>>1]|0;b[a+24>>1]=((g*84|0)+(f+((c*55|0)+(d*29|0)))+128|0)>>>8;b[a+26>>1]=((u(g,-74)|0)+((c+d|0)*74|0)+128|0)>>>8;b[a+28>>1]=((g*55|0)+((u(h,-74)|0)+((u(c,-29)|0)+(d*84|0)))+128|0)>>>8;b[a+30>>1]=((u(g,-29)|0)+(f+((u(c,-84)|0)+(d*55|0)))+128|0)>>>8;hc=e;return}function yi(a,b,c){a=a|0;b=b|0;c=c|0;Hi(a,4,b,c);return}function zi(a,b,c){a=a|0;b=b|0;c=c|0;Hi(a,8,b,c);return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;Hi(a,16,b,c);return}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;Hi(a,32,b,c);return}function Ci(a,c,d){a=a|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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=hc;s=hc=hc+31&-32;hc=hc+32|0;g=b[c>>1]|0;i=b[c+4>>1]|0;k=b[c+2>>1]|0;f=b[c+6>>1]|0;u=i+g<<16>>16;j=f+k<<16>>16;b[s>>1]=j+u;o=s+2|0;b[o>>1]=u-j;i=g-i<<16>>16;f=k-f<<16>>16;k=s+4|0;b[k>>1]=f+i;g=s+6|0;b[g>>1]=i-f;f=b[c+(d<<1)>>1]|0;i=b[c+(d+2<<1)>>1]|0;j=b[c+(d+1<<1)>>1]|0;u=b[c+(d+3<<1)>>1]|0;h=i+f<<16>>16;v=u+j<<16>>16;r=s+8|0;b[r>>1]=v+h;n=s+10|0;b[n>>1]=h-v;i=f-i<<16>>16;u=j-u<<16>>16;j=s+12|0;b[j>>1]=u+i;f=s+14|0;b[f>>1]=i-u;u=d<<1;i=b[c+(u<<1)>>1]|0;v=b[c+(u+2<<1)>>1]|0;h=b[c+((u|1)<<1)>>1]|0;u=b[c+(u+3<<1)>>1]|0;t=v+i<<16>>16;l=u+h<<16>>16;p=l+t|0;b[s+16>>1]=p;l=t-l|0;b[s+18>>1]=l;v=i-v<<16>>16;u=h-u<<16>>16;h=s+20|0;b[h>>1]=u+v;i=s+22|0;b[i>>1]=v-u;u=d*3|0;v=b[c+(u<<1)>>1]|0;t=b[c+(u+2<<1)>>1]|0;d=b[c+(u+1<<1)>>1]|0;u=b[c+(u+3<<1)>>1]|0;c=t+v<<16>>16;m=u+d<<16>>16;q=m+c|0;b[s+24>>1]=q;m=c-m|0;b[s+26>>1]=m;t=v-t<<16>>16;u=d-u<<16>>16;c=u+t|0;b[s+28>>1]=c;d=s+30|0;b[d>>1]=t-u;s=b[s>>1]|0;p=p<<16>>16;r=b[r>>1]|0;q=q<<16>>16;u=p+s<<16>>16;t=q+r<<16>>16;b[a>>1]=t+u;b[a+8>>1]=u-t;p=s-p<<16>>16;q=r-q<<16>>16;b[a+16>>1]=q+p;b[a+24>>1]=p-q;o=b[o>>1]|0;l=l<<16>>16;n=b[n>>1]|0;m=m<<16>>16;q=l+o<<16>>16;p=m+n<<16>>16;b[a+2>>1]=p+q;b[a+10>>1]=q-p;l=o-l<<16>>16;m=n-m<<16>>16;b[a+18>>1]=m+l;b[a+26>>1]=l-m;k=b[k>>1]|0;h=b[h>>1]|0;j=b[j>>1]|0;c=c<<16>>16;m=h+k<<16>>16;l=c+j<<16>>16;b[a+4>>1]=l+m;b[a+12>>1]=m-l;h=k-h<<16>>16;c=j-c<<16>>16;b[a+20>>1]=c+h;b[a+28>>1]=h-c;g=b[g>>1]|0;c=b[i>>1]|0;f=b[f>>1]|0;d=b[d>>1]|0;i=c+g<<16>>16;h=d+f<<16>>16;b[a+6>>1]=h+i;b[a+14>>1]=i-h;c=g-c<<16>>16;d=f-d<<16>>16;b[a+22>>1]=d+c;b[a+30>>1]=c-d;hc=e;return}function Di(a,c,d){a=a|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,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;g=hc;f=hc=hc+31&-32;hc=hc+128|0;e=0;do{i=u(e,d)|0;s=b[c+(i<<1)>>1]|0;l=b[c+(i+4<<1)>>1]|0;q=b[c+(i+1<<1)>>1]|0;k=b[c+(i+5<<1)>>1]|0;h=b[c+(i+2<<1)>>1]|0;j=b[c+(i+6<<1)>>1]|0;r=b[c+(i+3<<1)>>1]|0;i=b[c+(i+7<<1)>>1]|0;p=l+s<<16>>16;m=j+h<<16>>16;o=k+q<<16>>16;n=i+r<<16>>16;l=s-l<<16>>16;j=h-j<<16>>16;k=q-k<<16>>16;i=r-i<<16>>16;r=m+p<<16>>16;q=n+o<<16>>16;h=e<<3;b[f+(h<<1)>>1]=q+r;b[f+((h|1)<<1)>>1]=r-q;m=p-m<<16>>16;n=o-n<<16>>16;b[f+((h|2)<<1)>>1]=n+m;b[f+((h|3)<<1)>>1]=m-n;n=j+l<<16>>16;m=i+k<<16>>16;b[f+((h|4)<<1)>>1]=m+n;b[f+((h|5)<<1)>>1]=n-m;j=l-j<<16>>16;i=k-i<<16>>16;b[f+((h|6)<<1)>>1]=i+j;b[f+((h|7)<<1)>>1]=j-i;e=e+1|0}while((e|0)!=8);e=0;do{y=b[f+(e<<1)>>1]|0;j=e+32|0;n=b[f+(j<<1)>>1]|0;t=e+8|0;v=b[f+(t<<1)>>1]|0;m=e+40|0;o=b[f+(m<<1)>>1]|0;h=e+16|0;x=b[f+(h<<1)>>1]|0;p=e+48|0;q=b[f+(p<<1)>>1]|0;k=e+24|0;w=b[f+(k<<1)>>1]|0;s=e+56|0;r=b[f+(s<<1)>>1]|0;c=n+y<<16>>16;i=q+x<<16>>16;d=o+v<<16>>16;l=r+w<<16>>16;n=y-n<<16>>16;q=x-q<<16>>16;o=v-o<<16>>16;r=w-r<<16>>16;w=i+c<<16>>16;v=l+d<<16>>16;b[a+(e<<1)>>1]=v+w;b[a+(t<<1)>>1]=w-v;i=c-i<<16>>16;l=d-l<<16>>16;b[a+(h<<1)>>1]=l+i;b[a+(k<<1)>>1]=i-l;k=q+n<<16>>16;l=r+o<<16>>16;b[a+(j<<1)>>1]=l+k;b[a+(m<<1)>>1]=k-l;q=n-q<<16>>16;r=o-r<<16>>16;b[a+(p<<1)>>1]=r+q;b[a+(s<<1)>>1]=q-r;e=e+1|0}while((e|0)!=8);hc=g;return}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;Gi(a,16,b,c);return}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;Gi(a,32,b,c);return}function Gi(a,c,d,f){a=a|0;c=c|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;w=hc;g=hc=hc+31&-32;hc=hc+2176|0;v=g+128|0;t=(c|0)>0;if(!t){hc=w;return}p=c>>>1;q=(c|0)==1;r=c>>>2;s=(c|0)>7;o=0;j=g;l=g+64|0;while(1){h=u(o,f)|0;if(!q){i=l;g=0;do{k=d+(g+h<<1)|0;n=g+p|0;m=d+(n+h<<1)|0;b[i+(g<<1)>>1]=(e[m>>1]|0)+(e[k>>1]|0);b[i+(n<<1)>>1]=(e[k>>1]|0)-(e[m>>1]|0);g=g+1|0}while(g>>>0<p>>>0)}a:do if(s){m=r;n=p;k=j;j=l;while(1){i=j;l=k;if((m|0)<=0)break a;h=0;do{g=0;do{A=g+h|0;z=i+(A<<1)|0;x=A+m|0;y=i+(x<<1)|0;b[l+(A<<1)>>1]=(e[y>>1]|0)+(e[z>>1]|0);b[l+(x<<1)>>1]=(e[z>>1]|0)-(e[y>>1]|0);g=g+1|0}while((g|0)!=(m|0));h=h+n|0}while((h|0)<(c|0));if((m|0)>3){A=j;m=m>>1;n=n>>1;j=k;k=A}else break}}else k=l;while(0);h=k;i=u(o,c)|0;g=0;do{y=h+(g<<1)|0;A=g|1;z=h+(A<<1)|0;b[v+(g+i<<1)>>1]=(e[z>>1]|0)+(e[y>>1]|0);b[v+(A+i<<1)>>1]=(e[y>>1]|0)-(e[z>>1]|0);g=g+2|0}while((g|0)<(c|0));o=o+1|0;if((o|0)==(c|0))break;else l=k}if(!t){hc=w;return}p=c>>>1;q=(c|0)==1;r=c>>>2;s=(c|0)>7;o=0;while(1){if(!q){h=k;g=0;do{y=v+((u(g,c)|0)+o<<1)|0;A=g+p|0;z=v+((u(A,c)|0)+o<<1)|0;b[h+(g<<1)>>1]=(e[z>>1]|0)+(e[y>>1]|0);b[h+(A<<1)>>1]=(e[y>>1]|0)-(e[z>>1]|0);g=g+1|0}while(g>>>0<p>>>0)}b:do if(s){m=r;n=p;i=j;j=k;while(1){k=j;l=i;if((m|0)<=0)break b;h=0;do{g=0;do{x=g+h|0;y=k+(x<<1)|0;A=x+m|0;z=k+(A<<1)|0;b[l+(x<<1)>>1]=(e[z>>1]|0)+(e[y>>1]|0);b[l+(A<<1)>>1]=(e[y>>1]|0)-(e[z>>1]|0);g=g+1|0}while((g|0)!=(m|0));h=h+n|0}while((h|0)<(c|0));if((m|0)>3){A=j;m=m>>1;n=n>>1;j=i;i=A}else break}}else i=k;while(0);h=i;g=0;do{y=h+(g<<1)|0;A=g|1;z=h+(A<<1)|0;b[a+((u(g,c)|0)+o<<1)>>1]=(e[z>>1]|0)+(e[y>>1]|0);b[a+((u(A,c)|0)+o<<1)>>1]=(e[y>>1]|0)-(e[z>>1]|0);g=g+2|0}while((g|0)<(c|0));o=o+1|0;if((o|0)==(c|0))break;else k=i}hc=w;return}function Hi(c,d,e,f){c=c|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=hc;r=hc=hc+31&-32;hc=hc+2048|0;if((d|0)>1){g=d;k=0;while(1)if(g>>>0>3){g=g>>>1;k=k+1|0}else break;g=d;h=0;while(1)if(g>>>0>3){g=g>>>1;h=h+1|0}else break;l=h+7|0;i=1<<k+-1;j=64<<h;g=d;h=0;while(1)if(g>>>0>3){g=g>>>1;h=h+1|0}else break;q=4-h|0;p=j;o=l}else{q=5;i=0;k=-1;p=32;o=6}m=(d|0)>0;if(!m){hc=s;return}g=0;do{l=0;do{n=l<<q;h=0;j=0;do{j=(u(b[e+((u(h,f)|0)+g<<1)>>1]|0,a[2704+(n<<5)+h>>0]|0)|0)+j|0;h=h+1|0}while((h|0)!=(d|0));b[r+((u(l,d)|0)+g<<1)>>1]=j+i>>k;l=l+1|0}while((l|0)!=(d|0));g=g+1|0}while((g|0)!=(d|0));if(!m){hc=s;return}j=0;do{l=u(j,d)|0;i=0;do{k=i<<q;g=0;h=0;do{h=(u(b[r+(g+l<<1)>>1]|0,a[2704+(k<<5)+g>>0]|0)|0)+h|0;g=g+1|0}while((g|0)!=(d|0));b[c+(i+l<<1)>>1]=h+p>>o;i=i+1|0}while((i|0)!=(d|0));j=j+1|0}while((j|0)!=(d|0));hc=s;return}function Ii(d,e,f,g,h){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,v=0;v=hc;t=hc=hc+31&-32;hc=hc+2048|0;if((e|0)>1){i=e;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;r=4-j|0}else r=5;s=1<<g+-1;n=1<<h;o=n+65535|0;p=0-n|0;q=(e|0)>0;if(!q){hc=v;return}m=(h|0)==31?p&65535:0;l=0;do{j=e;while(1){i=j+-1|0;if(b[f+((u(i,e)|0)+l<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){k=0;do{j=0;h=0;do{h=(u(b[f+((u(j,e)|0)+l<<1)>>1]|0,a[2704+(j<<r<<5)+k>>0]|0)|0)+h|0;j=j+1|0}while((j|0)!=(i|0));h=h+64>>7;b[t+((u(k,e)|0)+l<<1)>>1]=(h|0)<(p|0)?p:(h|0)<(n|0)?h:o;k=k+1|0}while((k|0)!=(e|0))}else{i=0;do{b[t+((u(i,e)|0)+l<<1)>>1]=m;i=i+1|0}while((i|0)!=(e|0))}l=l+1|0}while((l|0)!=(e|0));if(!q){hc=v;return}m=s>>g;l=0;do{n=u(l,e)|0;j=e;while(1){i=j+-1|0;if(b[t+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){k=0;do{j=0;h=0;do{h=(u(b[t+(j+n<<1)>>1]|0,a[2704+(j<<r<<5)+k>>0]|0)|0)+h|0;j=j+1|0}while((j|0)!=(i|0));c[d+(k+n<<2)>>2]=h+s>>g;k=k+1|0}while((k|0)!=(e|0))}else{i=0;do{c[d+(i+n<<2)>>2]=m;i=i+1|0}while((i|0)!=(e|0))}l=l+1|0}while((l|0)!=(e|0));hc=v;return}function Ji(c,d,f,g,h){c=c|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=hc;r=hc=hc+31&-32;hc=hc+2048|0;s=20-h|0;t=1<<s+-1;if((f|0)>1){i=f;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;q=4-j|0}else q=5;n=(f|0)>0;if(!n){hc=v;return}m=0;do{j=f;while(1){i=j+-1|0;if(b[g+((u(i,f)|0)+m<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){l=0;do{j=0;k=0;do{k=(u(b[g+((u(j,f)|0)+m<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));b[r+((u(l,f)|0)+m<<1)>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{b[r+((u(i,f)|0)+m<<1)>>1]=0;i=i+1|0}while((i|0)!=(f|0))}m=m+1|0}while((m|0)!=(f|0));if(!n){hc=v;return}h=1<<h;o=h+65535|0;p=t>>s;g=0;do{n=u(g,f)|0;j=f;while(1){i=j+-1|0;if(b[r+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}m=u(g,d)|0;if((i|0)>0){l=0;do{j=0;k=0;do{k=(u(b[r+(j+n<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));j=c+(l+m<<1)|0;k=(k+t>>s)+(e[j>>1]|0)|0;b[j>>1]=(k|0)<0?0:((k|0)<(h|0)?k:o)&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{n=c+(i+m<<1)|0;l=p+(e[n>>1]|0)|0;b[n>>1]=(l|0)<0?0:((l|0)<(h|0)?l:o)&65535;i=i+1|0}while((i|0)!=(f|0))}g=g+1|0}while((g|0)!=(f|0));hc=v;return}function Ki(c,e,f,g,h){c=c|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=hc;r=hc=hc+31&-32;hc=hc+2048|0;s=20-h|0;t=1<<s+-1;if((f|0)>1){i=f;j=0;while(1)if(i>>>0>3){i=i>>>1;j=j+1|0}else break;q=4-j|0}else q=5;n=(f|0)>0;if(!n){hc=v;return}m=0;do{j=f;while(1){i=j+-1|0;if(b[g+((u(i,f)|0)+m<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}if((i|0)>0){l=0;do{j=0;k=0;do{k=(u(b[g+((u(j,f)|0)+m<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));b[r+((u(l,f)|0)+m<<1)>>1]=(k|0)<-4194368?-32768:(k|0)>4194239?32767:(k+64|0)>>>7&65535;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{b[r+((u(i,f)|0)+m<<1)>>1]=0;i=i+1|0}while((i|0)!=(f|0))}m=m+1|0}while((m|0)!=(f|0));if(!n){hc=v;return}h=1<<h;o=h+255|0;p=t>>s;g=0;do{n=u(g,f)|0;j=f;while(1){i=j+-1|0;if(b[r+(i+n<<1)>>1]|0){i=j;break}if((j|0)>1)j=i;else break}m=u(g,e)|0;if((i|0)>0){l=0;do{j=0;k=0;do{k=(u(b[r+(j+n<<1)>>1]|0,a[2704+(j<<q<<5)+l>>0]|0)|0)+k|0;j=j+1|0}while((j|0)!=(i|0));j=c+(l+m)|0;k=(k+t>>s)+(d[j>>0]|0)|0;a[j>>0]=(k|0)<0?0:((k|0)<(h|0)?k:o)&255;l=l+1|0}while((l|0)!=(f|0))}else{i=0;do{n=c+(i+m)|0;l=p+(d[n>>0]|0)|0;a[n>>0]=(l|0)<0?0:((l|0)<(h|0)?l:o)&255;i=i+1|0}while((i|0)!=(f|0))}g=g+1|0}while((g|0)!=(f|0));hc=v;return}function Li(a,d,f,g,h,i,j,k,l,m){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;n=c[3728+(k<<2)>>2]|0;w=c[3728+(l<<2)>>2]|0;x=(c[3744+(l<<2)>>2]|0)+i|0;y=x+w|0;v=m+-8|0;switch(k|0){case 0:{m=0-w|0;if((x|0)>(m|0)?(r=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+((u(m,g)|0)<<1)+(r<<1)|0;while(1){b[o>>1]=b[p>>1]|0;n=n+1|0;if((n|0)==(h|0))break;else{o=o+(y<<1)|0;p=p+2|0}}m=m+1|0}while((m|0)!=(x|0));break}case 1:{m=0-w|0;if((x|0)>(m|0)?(s=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+((u(m,g)|0)<<1)+(s<<1)|0;while(1){t=p;p=p+2|0;r=(e[p>>1]<<2)-(e[t>>1]|0)+(u(e[t+4>>1]|0,-10)|0)|0;r=r+((e[t+6>>1]|0)*58|0)+((e[t+8>>1]|0)*17|0)+(u(e[t+10>>1]|0,-5)|0)|0;b[o>>1]=r+(e[t+12>>1]|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}case 2:{m=0-w|0;if((x|0)>(m|0)?(t=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+((u(m,g)|0)<<1)+(t<<1)|0;while(1){s=p;p=p+2|0;b[o>>1]=(e[p>>1]<<2)-(e[s>>1]|0)+(((e[s+8>>1]|0)+(e[s+6>>1]|0)|0)*40|0)+(e[s+12>>1]<<2)-(e[s+14>>1]|0)+(u((e[s+10>>1]|0)+(e[s+4>>1]|0)|0,-11)|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}case 3:{m=0-w|0;if((x|0)>(m|0)?(q=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+((u(m,g)|0)<<1)+(q<<1)|0;while(1){t=p;p=p+2|0;s=(u(e[p>>1]|0,-5)|0)+(e[t>>1]|0)|0;s=s+((e[t+4>>1]|0)*17|0)+((e[t+6>>1]|0)*58|0)+(u(e[t+8>>1]|0,-10)|0)|0;b[o>>1]=s+(e[t+10>>1]<<2)-(e[t+12>>1]|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}default:{}}q=(k|0)==0?v:6;switch(l|0){case 0:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){b[n>>1]=b[o>>1]|0;m=m+1|0;if((m|0)==(i|0))break;else{n=n+(d<<1)|0;o=o+2|0}}p=p+1|0}while((p|0)!=(h|0));return}case 1:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(b[o>>1]<<2)-(b[l>>1]|0)+(u(b[l+4>>1]|0,-10)|0)|0;k=k+((b[l+6>>1]|0)*58|0)+((b[l+8>>1]|0)*17|0)+(u(b[l+10>>1]|0,-5)|0)|0;b[n>>1]=k+(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 2:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;b[n>>1]=(b[o>>1]<<2)-(b[l>>1]|0)+(((b[l+8>>1]|0)+(b[l+6>>1]|0)|0)*40|0)+(b[l+12>>1]<<2)-(b[l+14>>1]|0)+(u((b[l+10>>1]|0)+(b[l+4>>1]|0)|0,-11)|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 3:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(u(b[o>>1]|0,-5)|0)+(b[l>>1]|0)|0;k=k+((b[l+4>>1]|0)*17|0)+((b[l+6>>1]|0)*58|0)+(u(b[l+8>>1]|0,-10)|0)|0;b[n>>1]=k+(b[l+10>>1]<<2)-(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(d<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}default:return}}function Mi(a,e,f,g,h,i,j,k,l,m){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;n=c[3728+(k<<2)>>2]|0;w=c[3728+(l<<2)>>2]|0;x=(c[3744+(l<<2)>>2]|0)+i|0;y=x+w|0;v=m+-8|0;switch(k|0){case 0:{m=0-w|0;if((x|0)>(m|0)?(r=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+(u(m,g)|0)+r|0;while(1){b[o>>1]=d[p>>0]|0;n=n+1|0;if((n|0)==(h|0))break;else{o=o+(y<<1)|0;p=p+1|0}}m=m+1|0}while((m|0)!=(x|0));break}case 1:{m=0-w|0;if((x|0)>(m|0)?(s=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+(u(m,g)|0)+s|0;while(1){t=p;p=p+1|0;r=(d[p>>0]<<2)-(d[t>>0]|0)+(u(d[t+2>>0]|0,-10)|0)|0;r=r+((d[t+3>>0]|0)*58|0)+((d[t+4>>0]|0)*17|0)+(u(d[t+5>>0]|0,-5)|0)|0;b[o>>1]=r+(d[t+6>>0]|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}case 2:{m=0-w|0;if((x|0)>(m|0)?(t=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+(u(m,g)|0)+t|0;while(1){s=p;p=p+1|0;b[o>>1]=(d[p>>0]<<2)-(d[s>>0]|0)+(((d[s+4>>0]|0)+(d[s+3>>0]|0)|0)*40|0)+(d[s+6>>0]<<2)-(d[s+7>>0]|0)+(u((d[s+5>>0]|0)+(d[s+2>>0]|0)|0,-11)|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}case 3:{m=0-w|0;if((x|0)>(m|0)?(q=0-n|0,(h|0)>0):0)do{n=0;o=j+(m+w<<1)|0;p=f+(u(m,g)|0)+q|0;while(1){t=p;p=p+1|0;s=(u(d[p>>0]|0,-5)|0)+(d[t>>0]|0)|0;s=s+((d[t+2>>0]|0)*17|0)+((d[t+3>>0]|0)*58|0)+(u(d[t+4>>0]|0,-10)|0)|0;b[o>>1]=s+(d[t+5>>0]<<2)-(d[t+6>>0]|0)>>v;n=n+1|0;if((n|0)==(h|0))break;else o=o+(y<<1)|0}m=m+1|0}while((m|0)!=(x|0));break}default:{}}q=(k|0)==0?v:6;switch(l|0){case 0:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){b[n>>1]=b[o>>1]|0;m=m+1|0;if((m|0)==(i|0))break;else{n=n+(e<<1)|0;o=o+2|0}}p=p+1|0}while((p|0)!=(h|0));return}case 1:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(b[o>>1]<<2)-(b[l>>1]|0)+(u(b[l+4>>1]|0,-10)|0)|0;k=k+((b[l+6>>1]|0)*58|0)+((b[l+8>>1]|0)*17|0)+(u(b[l+10>>1]|0,-5)|0)|0;b[n>>1]=k+(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 2:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;b[n>>1]=(b[o>>1]<<2)-(b[l>>1]|0)+(((b[l+8>>1]|0)+(b[l+6>>1]|0)|0)*40|0)+(b[l+12>>1]<<2)-(b[l+14>>1]|0)+(u((b[l+10>>1]|0)+(b[l+4>>1]|0)|0,-11)|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}case 3:{if(!((h|0)>0&(i|0)>0))return;p=0;do{m=0;n=a+(p<<1)|0;o=j+((u(p,y)|0)<<1)|0;while(1){l=o;o=o+2|0;k=(u(b[o>>1]|0,-5)|0)+(b[l>>1]|0)|0;k=k+((b[l+4>>1]|0)*17|0)+((b[l+6>>1]|0)*58|0)+(u(b[l+8>>1]|0,-10)|0)|0;b[n>>1]=k+(b[l+10>>1]<<2)-(b[l+12>>1]|0)>>q;m=m+1|0;if((m|0)==(i|0))break;else n=n+(e<<1)|0}p=p+1|0}while((p|0)!=(h|0));return}default:return}}function Ni(a){a=a|0;return}function Oi(a){a=a|0;ab()}function Pi(a){a=a|0;Qi(a);if(a|0)wc[c[(c[a>>2]|0)+4>>2]&255](a);a=c[24497]|0;c[24497]=a-1;if((a|0)<1){c[24497]=(c[24497]|0)+1;a=12;return a|0}if((a|0)!=1){a=0;return a|0}$g();a=0;return a|0}function Qi(a){a=a|0;if((c[a+1888>>2]|0)<=0)return;Ri(a+1392|0);return}function Ri(b){b=b|0;var d=0,e=0,f=0,g=0;e=b+420|0;Do(e)|0;a[b>>0]=1;Eo(e)|0;f=b+448|0;iB(f|0)|0;g=b+156|0;if((c[g>>2]|0)<=0){Fo(e)|0;bb(f|0)|0;return}d=0;do{fb(c[b+28+(d<<2)>>2]|0,0)|0;d=d+1|0}while((d|0)<(c[g>>2]|0));Fo(e)|0;bb(f|0)|0;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;l=hc;j=hc=hc+31&-32;hc=hc+16|0;f=b+548|0;g=b+580|0;h=(c[g>>2]|0)==0;i=a[f>>0]|0;do if(h){if(i<<24>>24==0?(a[b+549>>0]|0)==0:0){k=8;break}if((c[b+3212>>2]|0)==(c[b+3216>>2]|0)){Ti(b+2144|0)|0;if(!d){k=0;hc=l;return k|0}c[d>>2]=c[b+2196>>2];k=0;hc=l;return k|0}else k=7}else k=7;while(0);if((k|0)==7?i<<24>>24==0:0)k=8;if((k|0)==8?!((a[b+549>>0]|0)!=0|h^1):0){if(!d){k=13;hc=l;return k|0}c[d>>2]=1;k=13;hc=l;return k|0}if(!(Ui(b+2144|0,0)|0)){if(!d){k=9;hc=l;return k|0}c[d>>2]=1;k=9;hc=l;return k|0}a[j>>0]=0;do if(c[g>>2]|0){f=Vi(f)|0;if(!f)M(60311,60315,1317,60327);else{e=Wi(b,f)|0;a[j>>0]=1;k=23;break}}else{if(a[b+549>>0]|0?(c[b+3212>>2]|0)==(c[b+3216>>2]|0):0){if(!d){e=13;break}c[d>>2]=1;e=13;break}e=Xi(b,j)|0;k=23}while(0);if((k|0)==23)if(d)c[d>>2]=(e|0)==0&(a[j>>0]&1)!=0&1;k=e;hc=l;return k|0}function Ti(a){a=a|0;var b=0,d=0;b=a+20|0;d=a+24|0;if((c[b>>2]|0)==(c[d>>2]|0)){d=0;return d|0}do ej(a);while((c[b>>2]|0)!=(c[d>>2]|0));a=1;return a|0}function Ui(b,d){b=b|0;d=d|0;var e=0,f=0;if(d){f=1;return f|0}e=c[b+8>>2]|0;d=(c[b+12>>2]|0)-e|0;f=d>>2;if(f>>>0<(c[b>>2]|0)>>>0){f=1;return f|0}if(!d){f=0;return f|0}d=0;while(1){b=c[e+(d<<2)>>2]|0;if((a[b+104>>0]|0)==0?(c[b+100>>2]|0)==0:0){d=1;b=8;break}d=d+1|0;if(d>>>0>=f>>>0){d=0;b=8;break}}if((b|0)==8)return d|0;return 0}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+32|0;e=c[b>>2]|0;if(!e){h=0;return h|0}f=a+16|0;g=c[f>>2]|0;h=a+28|0;i=c[h>>2]|0;d=c[(c[g+(i>>>10<<2)>>2]|0)+((i&1023)<<2)>>2]|0;c[b>>2]=e+-1;e=i+1|0;c[h>>2]=e;if(e>>>0>2047){nz(c[g>>2]|0);c[f>>2]=(c[f>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+-1024}i=a+36|0;c[i>>2]=(c[i>>2]|0)-(c[d+24>>2]|0);i=d;return i|0}function Wi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=hc;h=hc=hc+31&-32;hc=hc+112|0;j=h+24|0;i=h;h=h+104|0;Ug(i,c[e+20>>2]|0,c[e+24>>2]|0);a[h>>0]=0;k=h+1|0;a[k>>0]=0;f=h+2|0;a[f>>0]=0;Gj(h,i);g=a[h>>0]|0;a[b+3208>>0]=g;a[b+3209>>0]=(g+-19&255)<2&1;a[b+3210>>0]=(g&-8)<<24>>24==16&1;if(a[k>>0]|0){gf(b+548|0,e);e=0;hc=l;return e|0}if((c[b+1908>>2]|0)<(d[f>>0]|0)){gf(b+548|0,e);e=0;hc=l;return e|0}if((g&255)<32){e=Hj(b,i,e,h)|0;hc=l;return e|0}switch(g<<24>>24){case 32:{k=Ij(b,i)|0;gf(b+548|0,e);e=k;hc=l;return e|0}case 33:{k=Jj(b,i)|0;gf(b+548|0,e);e=k;hc=l;return e|0}case 34:{k=Kj(b,i)|0;gf(b+548|0,e);e=k;hc=l;return e|0}case 40:case 39:{g=g<<24>>24==40;k=Lj(i,j,g,c[b+1376>>2]|0)|0;do if(!k){f=c[b+3216>>2]|0;if(!((c[b+3212>>2]|0)==(f|0)|g^1)){f=c[f+-4>>2]|0;i=f+456|0;g=c[i>>2]|0;if((g|0)==(c[f+460>>2]|0)){Nj(f+452|0,j);break}else{f=j;h=g+80|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(h|0));c[i>>2]=(c[i>>2]|0)+80;break}}}else{f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;break}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=k;break}}while(0);gf(b+548|0,e);e=k;hc=l;return e|0}case 36:{a[b+2207>>0]=1;gf(b+548|0,e);e=0;hc=l;return e|0}default:{gf(b+548|0,e);e=0;hc=l;return e|0}}return 0}function Xi(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=hc;n=hc=hc+31&-32;hc=hc+16|0;a[d>>0]=0;o=b+3212|0;f=c[o>>2]|0;p=b+3216|0;l=c[p>>2]|0;g=l;e=f;if((f|0)==(l|0)){p=0;hc=q;return p|0}k=c[f>>2]|0;h=c[k+444>>2]|0;i=c[k+440>>2]|0;l=i;a:do if((h|0)!=(i|0)){i=h-i>>2;h=0;while(1){j=c[l+(h<<2)>>2]|0;h=h+1|0;if(!(c[j+40>>2]|0))break;if(h>>>0>=i>>>0)break a}if(j){if(a[j+36>>0]|0)Ti(b+2144|0)|0;a[d>>0]=1;e=Yi(b,k,j)|0;if(!e){f=c[o>>2]|0;g=c[p>>2]|0;e=f;break}else{p=e;hc=q;return p|0}}}while(0);e=g-e|0;if(e>>2>>>0>1){k=c[f>>2]|0;l=c[k+444>>2]|0;if((l|0)!=(c[k+440>>2]|0)?(c[(c[l+-4>>2]|0)+40>>2]|0)==0:0)m=14}else m=14;if((m|0)==14){if(!e){p=0;hc=q;return p|0}l=c[f>>2]|0;m=c[l+444>>2]|0;if((m|0)!=(c[l+440>>2]|0)?(c[(c[m+-4>>2]|0)+40>>2]|0)==0:0){p=0;hc=q;return p|0}if((c[b+580>>2]|0)!=(((c[b+556>>2]|0)!=0)<<31>>31|0)){p=0;hc=q;return p|0}if((a[b+548>>0]|0)==0?(a[b+549>>0]|0)==0:0){p=0;hc=q;return p|0}}i=c[f>>2]|0;a[d>>0]=1;e=c[i>>2]|0;g=e+148|0;if((c[g>>2]|0)>0){f=e+332|0;e=0;do{ze((c[f>>2]|0)+(e*80|0)|0,1);e=e+1|0}while((e|0)<(c[g>>2]|0));h=c[i>>2]|0}else h=e;g=h+112|0;e=c[g>>2]|0;f=(a[e+532>>0]|0)==0;if(!(c[(c[(c[b+2220>>2]|0)+112>>2]|0)+1888>>2]|0)){if(f){aj(h);e=c[g>>2]|0}if(!(a[e+533>>0]|0))bj(h)}else{if(f){Zi(i);f=3;e=c[g>>2]|0}else f=1;if(!(a[e+533>>0]|0))_i(i,f)|0;$i(h)}g=i+452|0;h=i+456|0;e=c[g>>2]|0;b:do if((c[h>>2]|0)==(e|0))h=0;else{f=0;while(1){e=cj(e+(f*80|0)|0,c[i>>2]|0)|0;f=f+1|0;if(e|0){h=e;break b}e=c[g>>2]|0;if(f>>>0>=(((c[h>>2]|0)-e|0)/80|0)>>>0){h=0;break}}}while(0);e=c[i>>2]|0;if(e|0){do if(a[e+104>>0]|0){if(a[e+324>>0]|0?a[b+514>>0]|0:0)break;c[n>>2]=e;f=b+2168|0;g=c[f>>2]|0;if((g|0)==(c[b+2172>>2]|0))dj(b+2164|0,n);else{c[g>>2]=e;c[f>>2]=(c[f>>2]|0)+4}}while(0);e=c[e+120>>2]|0;if(!e)e=0;else e=c[e+488+(((c[e+8>>2]|0)+-1|0)*12|0)+4>>2]|0;if(((c[b+2168>>2]|0)-(c[b+2164>>2]|0)>>2|0)>(e|0))ej(b+2144|0)}Ne(i);nz(i);e=c[p>>2]|0;f=c[o>>2]|0;if(e-f>>2>>>0>1){g=1;do{e=f;c[e+(g+-1<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0;e=c[p>>2]|0;f=c[o>>2]|0}while(g>>>0<e-f>>2>>>0)}c[p>>2]=e+-4;p=h;hc=q;return p|0}function Yi(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=e+4|0;l=c[v>>2]|0;k=l+1348|0;l=l+1352|0;g=c[k>>2]|0;if((c[l>>2]|0)!=(g|0)){i=b+2144|0;j=b+2152|0;h=0;do{g=vj(i,c[g+(h<<2)>>2]|0)|0;if((g|0)>-1)c[(c[(c[j>>2]|0)+(g<<2)>>2]|0)+100>>2]=0;h=h+1|0;g=c[k>>2]|0}while(h>>>0<(c[l>>2]|0)-g>>2>>>0)}k=c[d>>2]|0;p=c[k+136>>2]|0;s=e+40|0;c[s>>2]=1;j=c[k+112>>2]|0;i=(c[j+1888>>2]|0)>0;q=a[p+41>>0]|0;l=i&q<<24>>24!=0;p=a[p+42>>0]|0;o=p<<24>>24!=0;r=i&o;a:do if(i&(p|q)<<24>>24==0){h=j+168|0;i=c[h>>2]|0;if((i|0)>0){g=0;do{if((c[j+88+(g<<2)>>2]|0)==1e3)break a;g=g+1|0}while((g|0)<(i|0));if((i|0)<20)u=12}else u=12;if((u|0)==12){c[h>>2]=i+1;c[j+88+(i<<2)>>2]=1e3}g=j+84|0;h=c[g>>2]|0;if((h|0)==20){c[j+80>>2]=1001;break}else{c[g>>2]=h+1;c[j+4+(h<<2)>>2]=1e3;break}}while(0);p=d+440|0;q=d+444|0;i=c[q>>2]|0;h=c[p>>2]|0;if((i|0)!=(h|0))if((c[h>>2]|0)==(e|0)?(m=c[(c[v>>2]|0)+20>>2]|0,(m|0)>0):0){h=k+332|0;g=0;do{ze((c[h>>2]|0)+(g*80|0)|0,1);g=g+1|0}while((g|0)!=(m|0));g=c[q>>2]|0;h=c[p>>2]|0}else g=i;else{g=i;h=i}i=g-h|0;j=i>>2;b:do if(j>>>0>1){g=1;while(1){if((c[h+(g<<2)>>2]|0)==(e|0))break;g=g+1|0;if(g>>>0>=j>>>0)break b}k=c[h+(g+-1<<2)>>2]|0;if(k|0?!((i|0)==4?1:(c[k+40>>2]|0)!=2):0){i=j+-1|0;g=0;while(1){m=g;g=g+1|0;if((c[h+(m<<2)>>2]|0)==(k|0))break;if(g>>>0>=i>>>0)break b}g=c[h+(g<<2)>>2]|0;if(g|0?(f=c[(c[k+4>>2]|0)+20>>2]|0,n=g+4|0,(f|0)<(c[(c[n>>2]|0)+20>>2]|0)):0)do{g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0))break b;ze((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0}while((f|0)<(c[(c[n>>2]|0)+20>>2]|0))}}while(0);if(!(l|r)){i=wj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=i;return d|0}g=(f>>2)+-1|0;f=0;while(1){n=f;f=f+1|0;if((c[h+(n<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=i;u=68;break}}if((u|0)==68)return t|0;f=c[h+(f<<2)>>2]|0;if(!f){d=i;return d|0}g=c[(c[v>>2]|0)+20>>2]|0;h=f+4|0;if((g|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=i;return d|0}f=g;while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=i;u=68;break}ze((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=i;u=68;break}}if((u|0)==68)return t|0}if(l&o){d=1006;return d|0}if(l){xj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=0;return d|0}g=(f>>2)+-1|0;f=0;while(1){o=f;f=f+1|0;if((c[h+(o<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=0;u=68;break}}if((u|0)==68)return t|0;f=c[h+(f<<2)>>2]|0;if(!f){d=0;return d|0}g=c[(c[v>>2]|0)+20>>2]|0;h=f+4|0;if((g|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=0;return d|0}f=g;while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=0;u=68;break}ze((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=0;u=68;break}}if((u|0)==68)return t|0}if(!r)M(76276,60315,974,60518);i=yj(b,d,e)|0;c[s>>2]=2;h=c[p>>2]|0;f=(c[q>>2]|0)-h|0;if((f|0)==4){d=i;return d|0}g=(f>>2)+-1|0;f=0;while(1){b=f;f=f+1|0;if((c[h+(b<<2)>>2]|0)==(e|0))break;if(f>>>0>=g>>>0){t=i;u=68;break}}if((u|0)==68)return t|0;g=c[h+(f<<2)>>2]|0;if(!g){d=i;return d|0}f=c[(c[v>>2]|0)+20>>2]|0;h=g+4|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){d=i;return d|0}while(1){g=c[d>>2]|0;if((f|0)>=(c[g+148>>2]|0)){t=i;u=68;break}ze((c[g+332>>2]|0)+(f*80|0)|0,1);f=f+1|0;if((f|0)>=(c[(c[h>>2]|0)+20>>2]|0)){t=i;u=68;break}}if((u|0)==68)return t|0;return 0}function Zi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=hc;h=hc=hc+31&-32;hc=hc+16|0;k=c[b>>2]|0;g=c[k+112>>2]|0;l=k+128|0;oj(k,c[(c[l>>2]|0)+5064>>2]<<1);i=b+476|0;j=b+480|0;f=b+472|0;g=g+1392|0;if((c[(c[l>>2]|0)+5064>>2]|0)<=0){hc=m;return}e=0;do{b=lz(20)|0;c[b+4>>2]=0;c[b>>2]=12168;c[b+8>>2]=k;c[b+12>>2]=e;a[b+16>>0]=1;c[h>>2]=b;d=c[i>>2]|0;if((d|0)==(c[j>>2]|0))qj(f,h);else{c[d>>2]=b;c[i>>2]=(c[i>>2]|0)+4}rj(g,b);e=e+1|0;b=c[(c[l>>2]|0)+5064>>2]|0}while((e|0)<(b|0));if((b|0)<=0){hc=m;return}b=0;do{d=lz(20)|0;c[d+4>>2]=0;c[d>>2]=12168;c[d+8>>2]=k;c[d+12>>2]=b;a[d+16>>0]=0;c[h>>2]=d;e=c[i>>2]|0;if((e|0)==(c[j>>2]|0))qj(f,h);else{c[e>>2]=d;c[i>>2]=(c[i>>2]|0)+4}rj(g,d);b=b+1|0}while((b|0)<(c[(c[l>>2]|0)+5064>>2]|0));hc=m;return}function _i(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=hc;o=hc=hc+31&-32;hc=hc+16|0;i=o+8|0;p=c[b>>2]|0;l=c[p+128>>2]|0;if(!(a[l+4703>>0]|0)){p=0;hc=q;return p|0}k=p+112|0;m=c[k>>2]|0;n=b+8|0;f=c[p+24>>2]|0;g=c[p+28>>2]|0;h=c[p+20>>2]|0;c[i>>2]=l;j=i+4|0;e=c[p+132>>2]|0;c[j>>2]=e;if(!e)e=m;else{e=e+4|0;c[e>>2]=(c[e>>2]|0)+1;e=c[k>>2]|0}r=p+288|0;f=Pg(n,f,g,h,i,0,e,c[p+116>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[p+296>>2]|0,1)|0;e=c[j>>2]|0;if(e|0?(j=e+4|0,r=c[j>>2]|0,c[j>>2]=r+-1,(r|0)==0):0){wc[c[(c[e>>2]|0)+8>>2]&255](e);iz(e)}if(f|0){De((c[k>>2]|0)+4|0,1024,0);r=0;hc=q;return r|0}j=c[l+5064>>2]|0;oj(p,j);if((j|0)>0){k=b+476|0;l=b+480|0;i=b+472|0;f=m+1392|0;e=0;do{g=lz(28)|0;c[g+4>>2]=0;c[g>>2]=12224;c[g+16>>2]=p;c[g+20>>2]=n;c[g+12>>2]=p;c[g+8>>2]=e;c[g+24>>2]=d;c[o>>2]=g;h=c[k>>2]|0;if((h|0)==(c[l>>2]|0))qj(i,o);else{c[h>>2]=g;c[k>>2]=(c[k>>2]|0)+4}rj(f,g);e=e+1|0}while((e|0)!=(j|0))}$i(p);pj(p,n);r=1;hc=q;return r|0}function $i(a){a=a|0;var b=0,d=0,e=0;b=a+356|0;Ae(b);d=a+348|0;e=a+352|0;if((c[d>>2]|0)==(c[e>>2]|0)){Ce(b);return}a=a+384|0;do nj(a,b);while((c[d>>2]|0)!=(c[e>>2]|0));Ce(b);return}function aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+128|0;if((c[(c[g>>2]|0)+5064>>2]|0)<=0)return;b=0;d=0;do{b=b|(se(a,d)|0);d=d+1|0}while((d|0)<(c[(c[g>>2]|0)+5064>>2]|0));if(!b)return;f=a+280|0;h=a+276|0;te(a,1,0,c[f>>2]|0,0,c[h>>2]|0);b=c[f>>2]|0;d=c[h>>2]|0;if((c[(c[g>>2]|0)+4996>>2]|0)>8)ue(a,1,0,b,0,d);else ve(a,1,0,b,0,d);b=c[g>>2]|0;do if(c[b+5012>>2]|0){d=c[f>>2]|0;e=c[h>>2]|0;if((c[b+5004>>2]|0)>8){we(a,1,0,d,0,e);break}else{xe(a,1,0,d,0,e);break}}while(0);te(a,0,0,c[f>>2]|0,0,c[h>>2]|0);b=c[f>>2]|0;d=c[h>>2]|0;if((c[(c[g>>2]|0)+4996>>2]|0)>8)ue(a,0,0,b,0,d);else ve(a,0,0,b,0,d);e=c[g>>2]|0;if(!(c[e+5012>>2]|0))return;d=c[f>>2]|0;b=c[h>>2]|0;if((c[e+5004>>2]|0)>8){we(a,0,0,d,0,b);return}else{xe(a,0,0,d,0,b);return}} |
| | | function Ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=hc;e=hc=hc+31&-32;hc=hc+144|0;n=(c[a>>2]|0)+2048>>12;l=(c[a+4>>2]|0)+2048>>12;j=u(l,-3784)|0;h=(c[a+8>>2]|0)+2048>>12;i=j+(n*2493|0)+(u(h,-535)|0)|0;g=(c[a+12>>2]|0)+2048>>12;k=(c[a+16>>2]|0)+2048>>12;f=u(k,-1567)|0;m=(c[a+20>>2]|0)+2048>>12;i=i+(g*4061|0)+f+(u(m,-3250)|0)|0;c[e>>2]=i;c[e+20>>2]=0-i;i=(l*1567|0)+(u(n,-3250)|0)+(h*4061|0)+(g*535|0)+(u(k,-3784)|0)+(u(m,-2493)|0)|0;c[e+24>>2]=i;c[e+44>>2]=i;i=j+(n*1567|0)+(h*3784|0)+(u(g,-1567)|0)+f+(m*3784|0)|0;c[e+4>>2]=i;c[e+16>>2]=0-i;l=u(l,-1567)|0;k=k*3784|0;i=l+(u(n,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(m*1567|0)|0;c[e+28>>2]=i;c[e+40>>2]=i;k=l+(n*535|0)+(h*2493|0)+(u(g,-3250)|0)+k+(u(m,-4061)|0)|0;c[e+8>>2]=k;c[e+12>>2]=0-k;m=j+(u(n,-4061)|0)+(u(h,-3250)|0)+(u(g,-2493)|0)+f+(u(m,-535)|0)|0;c[e+32>>2]=m;c[e+36>>2]=m;m=(c[a+24>>2]|0)+2048>>12;f=(c[a+28>>2]|0)+2048>>12;g=u(f,-3784)|0;h=(c[a+32>>2]|0)+2048>>12;n=g+(m*2493|0)+(u(h,-535)|0)|0;j=(c[a+36>>2]|0)+2048>>12;k=(c[a+40>>2]|0)+2048>>12;l=u(k,-1567)|0;i=(c[a+44>>2]|0)+2048>>12;n=n+(j*4061|0)+l+(u(i,-3250)|0)|0;c[e+48>>2]=n;c[e+68>>2]=0-n;n=(f*1567|0)+(u(m,-3250)|0)+(h*4061|0)+(j*535|0)+(u(k,-3784)|0)+(u(i,-2493)|0)|0;c[e+72>>2]=n;c[e+92>>2]=n;n=g+(m*1567|0)+(h*3784|0)+(u(j,-1567)|0)+l+(i*3784|0)|0;c[e+52>>2]=n;c[e+64>>2]=0-n;f=u(f,-1567)|0;k=k*3784|0;n=f+(u(m,-3784)|0)+(h*1567|0)+(j*3784|0)+k+(i*1567|0)|0;c[e+76>>2]=n;c[e+88>>2]=n;k=f+(m*535|0)+(h*2493|0)+(u(j,-3250)|0)+k+(u(i,-4061)|0)|0;c[e+56>>2]=k;c[e+60>>2]=0-k;i=g+(u(m,-4061)|0)+(u(h,-3250)|0)+(u(j,-2493)|0)+l+(u(i,-535)|0)|0;c[e+80>>2]=i;c[e+84>>2]=i;i=(c[a+48>>2]|0)+2048>>12;l=(c[a+52>>2]|0)+2048>>12;j=u(l,-3784)|0;h=(c[a+56>>2]|0)+2048>>12;m=j+(i*2493|0)+(u(h,-535)|0)|0;g=(c[a+60>>2]|0)+2048>>12;k=(c[a+64>>2]|0)+2048>>12;f=u(k,-1567)|0;a=(c[a+68>>2]|0)+2048>>12;m=m+(g*4061|0)+f+(u(a,-3250)|0)|0;c[e+96>>2]=m;c[e+116>>2]=0-m;m=(l*1567|0)+(u(i,-3250)|0)+(h*4061|0)+(g*535|0)+(u(k,-3784)|0)+(u(a,-2493)|0)|0;c[e+120>>2]=m;c[e+140>>2]=m;m=j+(i*1567|0)+(h*3784|0)+(u(g,-1567)|0)+f+(a*3784|0)|0;c[e+100>>2]=m;c[e+112>>2]=0-m;l=u(l,-1567)|0;k=k*3784|0;m=l+(u(i,-3784)|0)+(h*1567|0)+(g*3784|0)+k+(a*1567|0)|0;c[e+124>>2]=m;c[e+136>>2]=m;k=l+(i*535|0)+(h*2493|0)+(u(g,-3250)|0)+k+(u(a,-4061)|0)|0;c[e+104>>2]=k;c[e+108>>2]=0-k;a=j+(u(i,-4061)|0)+(u(h,-3250)|0)+(u(g,-2493)|0)+f+(u(a,-535)|0)|0;c[e+128>>2]=a;c[e+132>>2]=a;c[b>>2]=0;c[b+24>>2]=((c[e>>2]|0)+2048>>12)*535;c[b+48>>2]=(((c[e+48>>2]|0)+2048>>12)*535|0)+(((c[e+24>>2]|0)+2048>>12)*4061|0);c[b+72>>2]=(((c[e+96>>2]|0)+2048>>12)*535|0)+(((c[e+72>>2]|0)+2048>>12)*4061|0);c[b+96>>2]=((c[e+120>>2]|0)+2048>>12)*4061;c[b+120>>2]=0;c[b+4>>2]=0;c[b+28>>2]=((c[e+4>>2]|0)+2048>>12)*1567;c[b+52>>2]=(((c[e+52>>2]|0)+2048>>12)*1567|0)+(((c[e+28>>2]|0)+2048>>12)*3784|0);c[b+76>>2]=(((c[e+100>>2]|0)+2048>>12)*1567|0)+(((c[e+76>>2]|0)+2048>>12)*3784|0);c[b+100>>2]=((c[e+124>>2]|0)+2048>>12)*3784;c[b+124>>2]=0;c[b+8>>2]=0;c[b+32>>2]=((c[e+8>>2]|0)+2048>>12)*2493;c[b+56>>2]=(((c[e+56>>2]|0)+2048>>12)*2493|0)+(((c[e+32>>2]|0)+2048>>12)*3250|0);c[b+80>>2]=(((c[e+104>>2]|0)+2048>>12)*2493|0)+(((c[e+80>>2]|0)+2048>>12)*3250|0);c[b+104>>2]=((c[e+128>>2]|0)+2048>>12)*3250;c[b+128>>2]=0;c[b+12>>2]=0;c[b+36>>2]=((c[e+12>>2]|0)+2048>>12)*3250;c[b+60>>2]=(((c[e+60>>2]|0)+2048>>12)*3250|0)+(((c[e+36>>2]|0)+2048>>12)*2493|0);c[b+84>>2]=(((c[e+108>>2]|0)+2048>>12)*3250|0)+(((c[e+84>>2]|0)+2048>>12)*2493|0);c[b+108>>2]=((c[e+132>>2]|0)+2048>>12)*2493;c[b+132>>2]=0;c[b+16>>2]=0;c[b+40>>2]=((c[e+16>>2]|0)+2048>>12)*3784;c[b+64>>2]=(((c[e+64>>2]|0)+2048>>12)*3784|0)+(((c[e+40>>2]|0)+2048>>12)*1567|0);c[b+88>>2]=(((c[e+112>>2]|0)+2048>>12)*3784|0)+(((c[e+88>>2]|0)+2048>>12)*1567|0);c[b+112>>2]=((c[e+136>>2]|0)+2048>>12)*1567;c[b+136>>2]=0;c[b+20>>2]=0;c[b+44>>2]=((c[e+20>>2]|0)+2048>>12)*4061;c[b+68>>2]=(((c[e+68>>2]|0)+2048>>12)*4061|0)+(((c[e+44>>2]|0)+2048>>12)*535|0);c[b+92>>2]=(((c[e+116>>2]|0)+2048>>12)*4061|0)+(((c[e+92>>2]|0)+2048>>12)*535|0);c[b+116>>2]=((c[e+140>>2]|0)+2048>>12)*535;c[b+140>>2]=0;hc=d;return}function Vl(b){b=b|0;var e=0,f=0,g=0,h=0;h=b+28|0;e=Dl(h)|0;g=c[b+4>>2]|0;f=g+-1|0;a:do if(e>>>0<f>>>0){b=e;while(1){e=b+1|0;if((a[b>>0]|0)==-1?(d[e>>0]|0)>223:0){e=b;break a}if(e>>>0<f>>>0)b=e;else break}}while(0);if((g-e|0)<8){h=-1;return h|0}Bl(h,e);h=0;return h|0}function Wl(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=hc;f=hc=hc+31&-32;hc=hc+16|0;g=a+28|0;c[g>>2]=0;h=a+32|0;c[h>>2]=0;i=d+28|0;El(i,11);if(!(Fl(i,1)|0))c[g>>2]=c[g>>2]|16384;k=(Fl(i,1)|0)==0;e=c[g>>2]|0;if(!k){if(e&16384|0){c[d+60>>2]=257;k=-1;hc=j;return k|0}}else c[g>>2]=e|4096;k=Fl(i,2)|0;c[a>>2]=4-k;if(!k){c[d+60>>2]=258;k=-1;hc=j;return k|0}if(!(Fl(i,1)|0)){c[g>>2]=c[g>>2]|16;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];b[a+24>>1]=Gl(f,16,-1)|0}e=Fl(i,4)|0;if((e|0)==15){c[d+60>>2]=259;k=-1;hc=j;return k|0}k=c[a>>2]|0;c[a+16>>2]=c[48032+(((c[g>>2]&4096|0)==0?k+-1|0:(k>>>1)+3|0)*60|0)+(e<<2)>>2];e=Fl(i,2)|0;if((e|0)==3){c[d+60>>2]=260;k=-1;hc=j;return k|0}e=c[48332+(e<<2)>>2]|0;d=a+20|0;c[d>>2]=e;f=c[g>>2]|0;if(f&4096|0?(c[d>>2]=e>>>1,f&16384|0):0)c[d>>2]=e>>>2;if(Fl(i,1)|0)c[g>>2]=c[g>>2]|128;if(Fl(i,1)|0)c[h>>2]=c[h>>2]|256;c[a+4>>2]=3-(Fl(i,2)|0);c[a+8>>2]=Fl(i,2)|0;if(Fl(i,1)|0)c[g>>2]=c[g>>2]|32;if(Fl(i,1)|0)c[g>>2]=c[g>>2]|64;c[a+12>>2]=Fl(i,2)|0;if(!(c[g>>2]&16)){k=0;hc=j;return k|0}b[a+26>>1]=Fl(i,16)|0;k=0;hc=j;return k|0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;c[a>>2]=b;if(d>>>0>=e>>>0&(e|0)!=0){h=(d>>>0)/(e>>>0)|0;i=h+b|0;c[a>>2]=i;d=d-(u(h,e)|0)|0}else i=b;a:do if((e|0)>=16e3){if((e|0)<32e3){if((e|0)<22050){switch(e|0){case 16e3:break;default:{f=4;break a}}d=d*22050|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 22050:{d=d*16e3|0;b=a+4|0;c[b>>2]=d;break a}case 24e3:{d=d*14700|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}if((e|0)<48e3)if((e|0)<44100){switch(e|0){case 32e3:break;default:{f=4;break a}}d=d*11025|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 44100:break;default:{f=4;break a}}d=d*8e3|0;b=a+4|0;c[b>>2]=d;break}else if((e|0)<3528e5){switch(e|0){case 48e3:break;default:{f=4;break a}}d=d*7350|0;b=a+4|0;c[b>>2]=d;break}else{switch(e|0){case 3528e5:break;default:{f=4;break a}}b=a+4|0;c[b>>2]=d;break}}else{if((e|0)<8e3){switch(e|0){case 1:case 0:break;case 1e3:{d=d*352800|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}c[a+4>>2]=0;return}if((e|0)<11025){switch(e|0){case 8e3:break;default:{f=4;break a}}d=d*44100|0;b=a+4|0;c[b>>2]=d;break}switch(e|0){case 11025:{d=d*32e3|0;b=a+4|0;c[b>>2]=d;break a}case 12e3:{d=d*29400|0;b=a+4|0;c[b>>2]=d;break a}default:{f=4;break a}}}while(0);if((f|0)==4){b=d;f=e;while(1){b=(b>>>0)%(f>>>0)|0;if(!b)break;else{h=f;f=b;b=h}}g=(d>>>0)/(f>>>0)|0;h=(e>>>0)/(f>>>0)|0;if(f>>>0>e>>>0)f=3528e5;else{d=3528e5;f=h;while(1){d=(d>>>0)%(f>>>0)|0;if(!d)break;else{e=f;f=d;d=e}}}d=3528e5/(f>>>0)|0;b=(h>>>0)/(f>>>0)|0;if(f>>>0>h>>>0)M(72192,72203,144,72211);do if(b>>>0>=d>>>0)if(b>>>0<g>>>0){h=(g>>>0)/(b>>>0)|0;d=(((u(g-(u(h,b)|0)|0,d)|0)>>>0)/(b>>>0)|0)+(u(h,d)|0)|0;break}else{d=((u(d,g)|0)>>>0)/(b>>>0)|0;break}else{h=(d>>>0)/(b>>>0)|0;d=(((u(d-(u(h,b)|0)|0,g)|0)>>>0)/(b>>>0)|0)+(u(h,g)|0)|0}while(0);b=a+4|0;c[b>>2]=d}if(d>>>0<=352799999)return;h=(d>>>0)/3528e5|0;c[a>>2]=i+h;c[b>>2]=d-(u(h,3528e5)|0);return}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=hc;i=hc=hc+31&-32;hc=hc+112|0;j=i+48|0;r=a+28|0;q=r;p=c[q>>2]|0;q=c[q+4>>2]|0;m=c[b+28>>2]|0;d=m>>>7&1;m=(c[b>>2]|0)==3?((m&4096|0)==0?144:72):144;if(!(Vl(a)|0)){k=i+20|0;l=b+20|0;o=a+20|0;n=4-(d<<2)|0;h=d^1;d=0;do{e=j;f=a;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));e=i;f=b;g=e+44|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));if(((Wl(i,j)|0)==0?(c[i>>2]|0)==(c[b>>2]|0):0)?(c[k>>2]|0)==(c[l>>2]|0):0){d=Dl(r)|0;g=(c[b>>2]|0)==1;g=((u(c[l>>2]|0,(g?n:h)+(d-(c[o>>2]|0))|0)|0)>>>0)/((g?48:m)>>>0)|0;d=(g>>>0)/1e3|0;if(g>>>0>=8e3){s=8;break}}El(r,8)}while((Vl(a)|0)==0);s=r;c[s>>2]=p;c[s+4>>2]=q;if(d>>>0>=8?!(d>>>0>640&(c[b>>2]|0)==3):0){c[a+16>>2]=d*1e3;s=0;hc=t;return s|0}}else{s=r;c[s>>2]=p;c[s+4>>2]=q}c[a+60>>2]=257;s=-1;hc=t;return s|0}function Zl(a){a=a|0;var b=0;hB(a|0,0,1024)|0;b=0;do{c[a+1536+(b<<5)>>2]=0;c[a+1024+(b<<5)>>2]=0;c[a+1536+(b<<5)+4>>2]=0;c[a+1024+(b<<5)+4>>2]=0;c[a+1536+(b<<5)+8>>2]=0;c[a+1024+(b<<5)+8>>2]=0;c[a+1536+(b<<5)+12>>2]=0;c[a+1024+(b<<5)+12>>2]=0;c[a+1536+(b<<5)+16>>2]=0;c[a+1024+(b<<5)+16>>2]=0;c[a+1536+(b<<5)+20>>2]=0;c[a+1024+(b<<5)+20>>2]=0;c[a+1536+(b<<5)+24>>2]=0;c[a+1024+(b<<5)+24>>2]=0;c[a+1536+(b<<5)+28>>2]=0;c[a+1024+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);hB(a+2048|0,0,1024)|0;b=0;do{c[a+3584+(b<<5)>>2]=0;c[a+3072+(b<<5)>>2]=0;c[a+3584+(b<<5)+4>>2]=0;c[a+3072+(b<<5)+4>>2]=0;c[a+3584+(b<<5)+8>>2]=0;c[a+3072+(b<<5)+8>>2]=0;c[a+3584+(b<<5)+12>>2]=0;c[a+3072+(b<<5)+12>>2]=0;c[a+3584+(b<<5)+16>>2]=0;c[a+3072+(b<<5)+16>>2]=0;c[a+3584+(b<<5)+20>>2]=0;c[a+3072+(b<<5)+20>>2]=0;c[a+3584+(b<<5)+24>>2]=0;c[a+3072+(b<<5)+24>>2]=0;c[a+3584+(b<<5)+28>>2]=0;c[a+3072+(b<<5)+28>>2]=0;b=b+1|0}while((b|0)!=16);return}function _l(a){a=a|0;var b=0;hB(a+48|0,0,9216)|0;a=c[a+9264>>2]|0;if(!a)return;hB(a|0,0,2304)|0;b=0;do{c[a+2304+(b<<2)>>2]=0;c[a+2376+(b<<2)>>2]=0;c[a+2448+(b<<2)>>2]=0;c[a+2520+(b<<2)>>2]=0;c[a+2592+(b<<2)>>2]=0;c[a+2664+(b<<2)>>2]=0;c[a+2736+(b<<2)>>2]=0;c[a+2808+(b<<2)>>2]=0;c[a+2880+(b<<2)>>2]=0;c[a+2952+(b<<2)>>2]=0;c[a+3024+(b<<2)>>2]=0;c[a+3096+(b<<2)>>2]=0;c[a+3168+(b<<2)>>2]=0;c[a+3240+(b<<2)>>2]=0;c[a+3312+(b<<2)>>2]=0;c[a+3384+(b<<2)>>2]=0;c[a+3456+(b<<2)>>2]=0;c[a+3528+(b<<2)>>2]=0;c[a+3600+(b<<2)>>2]=0;c[a+3672+(b<<2)>>2]=0;c[a+3744+(b<<2)>>2]=0;c[a+3816+(b<<2)>>2]=0;c[a+3888+(b<<2)>>2]=0;c[a+3960+(b<<2)>>2]=0;c[a+4032+(b<<2)>>2]=0;c[a+4104+(b<<2)>>2]=0;c[a+4176+(b<<2)>>2]=0;c[a+4248+(b<<2)>>2]=0;c[a+4320+(b<<2)>>2]=0;c[a+4392+(b<<2)>>2]=0;c[a+4464+(b<<2)>>2]=0;c[a+4536+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=18);return}function $l(){am(0);return}function am(a){a=a|0;ra(11808,72226);ga(11824,72231,1,1,0);na(11832,72236,1,-128,127);na(11848,72241,1,-128,127);na(11840,72253,1,0,255);na(11856,72267,2,-32768,32767);na(11864,72273,2,0,65535);na(11872,72288,4,-2147483648,2147483647);na(11880,72292,4,0,-1);na(11888,72305,4,-2147483648,2147483647);na(11896,72310,4,0,-1);ma(11904,72324,4);ma(11912,72330,8);pa(9224,72337);pa(9576,72349);qa(9600,4,72382);la(9248,72395);oa(9624,0,72411);oa(9632,0,72441);oa(9640,1,72478);oa(9648,2,72517);oa(9656,3,72548);oa(9664,4,72588);oa(9672,5,72617);oa(9680,4,72655);oa(9688,5,72685);oa(9632,0,72724);oa(9640,1,72756);oa(9648,2,72789);oa(9656,3,72822);oa(9664,4,72856);oa(9672,5,72889);oa(9696,6,72923);oa(9704,7,72954);oa(9712,7,72986);return}function bm(a){a=a|0;return Nn(c[a+4>>2]|0)|0}function cm(a){a=a|0;var b=0,d=0;b=hc;d=hc=hc+31&-32;hc=hc+16|0;c[d>>2]=hm(c[a+60>>2]|0)|0;a=fm(aa(6,d|0)|0)|0;hc=b;return a|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,o=0;m=hc;f=hc=hc+31&-32;hc=hc+48|0;k=f+32|0;g=f+16|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=fm(_(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;o=c[f+4>>2]|0;n=g>>>0>o>>>0;f=n?f+8|0:f;b=b+(n<<31>>31)|0;o=g-(n?o:0)|0;c[f>>2]=(c[f>>2]|0)+o;n=f+4|0;c[n>>2]=(c[n>>2]|0)-o;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=fm(_(146,k|0)|0)|0;if((e|0)==(g|0)){l=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[i>>2]=o;c[j>>2]=o}hc=m;return d|0}function em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=hc;f=hc=hc+31&-32;hc=hc+32|0;h=f+8|0;c[h>>2]=c[a+60>>2];c[h+4>>2]=d;c[h+8>>2]=b;c[h+12>>2]=f;c[h+16>>2]=e;if((fm(Y(140,h|0)|0)|0)<0){a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}else{b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}x(a|0);hc=g;return b|0}function fm(a){a=a|0;if(a>>>0>4294963200){c[(gm()|0)>>2]=0-a;a=-1}return a|0}function gm(){return 98088}function hm(a){a=a|0;return a|0}function im(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=hc;i=hc=hc+31&-32;hc=hc+32|0;f=i+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;l=c[j>>2]|0;c[g>>2]=e-((l|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=l;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=fm(Z(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;hc=k;return f|0}function jm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=hc;h=hc=hc+31&-32;hc=hc+32|0;f=h;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=h+16,$(54,f|0)|0):0)a[b+75>>0]=-1;h=dm(b,d,e)|0;hc=g;return h|0}function km(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=lm(a,b,c)|0;x(y()|0);return d|0}function lm(a,b,c){a=a|0;b=b|0;c=c|0;c=mm(a,b,c,-1,-1)|0;x(y()|0);return c|0}function mm(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=hc;h=hc=hc+31&-32;hc=hc+144|0;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;nm(h,0,0);d=om(h,d,1,e,f)|0;e=y()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));x(e|0);hc=j;return d|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function om(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(gm()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=pm(b)|0}while((qm(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=pm(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=pm(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=pm(b)|0;if((d[4257+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){nm(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[4257+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;nm(b,0,0);c[(gm()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=pm(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=YA(i|0,m|0,10,0)|0;k=y()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=ZA(f|0,k|0,e|0,l|0)|0;m=y()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=pm(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[73521+((o*23|0)>>>5&7)>>0]|0;f=a[4257+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<<n;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=pm(b)|0;f=a[4257+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=dB(-1,-1,n|0)|0;m=y()|0;if(o>>>0<=k>>>0|(m>>>0<e>>>0|(m|0)==(e|0)&l>>>0<i>>>0)){f=o;n=76;break}while(1){i=eB(i|0,e|0,n|0)|0;e=y()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=pm(b)|0;f=a[4257+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[4257+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(u(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=pm(b)|0;e=a[4257+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=bB(-1,-1,o|0,0)|0;n=y()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=YA(i|0,e|0,o|0,0)|0;l=y()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=ZA(k|0,l|0,f|0,0)|0;e=y()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=pm(b)|0;f=a[4257+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[4257+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=pm(b)|0}while(f>>>0>(d[4257+i>>0]|0)>>>0);c[(gm()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(gm()|0)>>2]=34;g=ZA(g|0,h|0,-1,-1)|0;h=y()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(gm()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=_A(i^j|0,e^g|0,j|0,g|0)|0;h=y()|0}while(0);x(h|0);return g|0}function pm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0<e>>>0:0))):0)j=4;else{e=rm(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=_A(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=y()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=ZA(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=y()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function qm(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function rm(a){a=a|0;var b=0,e=0;e=hc;b=hc=hc+31&-32;hc=hc+16|0;if((sm(a)|0)==0?(nc[c[a+32>>2]&31](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;hc=e;return a|0}function sm(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)nc[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=um(a,b,c)|0;x(y()|0);return d|0}function um(a,b,c){a=a|0;b=b|0;c=c|0;c=mm(a,b,c,0,-2147483648)|0;x(y()|0);return c|0}function vm(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 wm(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function xm(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 ym(a){a=a|0;return (a+-48|0)>>>0<10|0}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;f=hc=hc+31&-32;hc=hc+16|0;c[f>>2]=d;d=Am(a,b,f)|0;hc=e;return d|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;return Bm(a,2147483647,b,c)|0}function Bm(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=hc;i=hc=hc+31&-32;hc=hc+160|0;g=i+144|0;fB(i|0,10152,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(gm()|0)>>2]=75;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Cm(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}hc=j;return d|0}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;return Fm(a,b,c,1,60)|0}function Dm(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,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=hc;m=hc=hc+31&-32;hc=hc+560|0;l=m+32|0;v=m+536|0;G=m;F=G;m=m+540|0;c[v>>2]=0;E=m+12|0;Xm(e)|0;j=y()|0;if((j|0)<0){e=-e;Xm(e)|0;D=1;C=73547;j=y()|0}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?73548:73553):73550}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Qm(b,32,f,j,h&-65537);Jm(b,C,D);Jm(b,e!=e|0.0!=0.0?(G?73589:73574):G?73566:73570,3);Qm(b,32,f,j,h^8192)}else{q=+Ym(e,v)*2.0;j=q!=0.0;if(j)c[v>>2]=(c[v>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?C:C+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[v>>2]|0;j=(k|0)<0?0-k|0:k;j=Om(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{D=~~e;j=m+1|0;a[m>>0]=o|d[4992+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;Qm(b,32,f,E,h);Jm(b,r,p);Qm(b,48,f,E,h^65536);F=m-F|0;Jm(b,G,F);G=k-l|0;Qm(b,48,j-(F+G)|0,0,0);Jm(b,n,G);Qm(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){j=(c[v>>2]|0)+-28|0;c[v>>2]=j;e=q*268435456.0}else{e=q;j=c[v>>2]|0}B=(j|0)<0?l:l+288|0;l=B;do{z=~~e>>>0;c[l>>2]=z;l=l+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){o=B;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=eB(c[j>>2]|0,0,n|0)|0;s=ZA(s|0,y()|0,m|0,0)|0;w=y()|0;m=bB(s|0,w|0,1e9,0)|0;x=YA(m|0,y()|0,1e9,0)|0;x=_A(s|0,w|0,x|0,y()|0)|0;y()|0;c[j>>2]=x;j=j+-4|0}while(j>>>0>=o>>>0);if(m){x=o+-4|0;c[x>>2]=m;m=x}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[v>>2]|0)-n|0;c[v>>2]=j;if((j|0)>0)o=m;else break}}else m=B;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0<l>>>0){n=(1<<r)+-1|0;o=1e9>>>r;p=0;j=m;do{x=c[j>>2]|0;c[j>>2]=(x>>>r)+p;p=u(x&n,o)|0;j=j+4|0}while(j>>>0<l>>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?B:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[v>>2]|0)+r|0;c[v>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0<l>>>0){j=(z-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;w=(t|0)==103;x=(k|0)!=0;m=k-((t|0)==102?0:j)+((x&w)<<31>>31)|0;if((m|0)<(((l-z>>2)*9|0)+-9|0)){v=m+9216|0;m=(v|0)/9|0;g=B+4+(m+-1024<<2)|0;m=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;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(u(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;v=n>>>1;e=r>>>0<v>>>0?.5:o&(r|0)==(v|0)?1.0:1.5;if(D){v=(a[C>>0]|0)==45;e=v?-e:e;q=v?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){v=m+n|0;c[g>>2]=v;if(v>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}v=(c[m>>2]|0)+1|0;c[m>>2]=v;if(v>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(z-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}v=m+4|0;l=l>>>0>v>>>0?v:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){v=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{v=m;t=0;break}}else{v=l;t=0}while(0);do if(w){k=k+((x^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(A=c[v+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((A>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((v-z>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){w=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Om(l,((l|0)<0)<<31>>31,E)|0;m=E;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;w=j;j=m-j|0}j=D+1+k+p+j|0;Qm(b,32,f,j,h);Jm(b,C,D);Qm(b,48,f,j,h^65536);if(r){p=n>>>0>B>>>0?B:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Om(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){hB(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Jm(b,l,n-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(!((h&8|0)==0&(s^1)))Jm(b,73578,1);if(m>>>0<v>>>0&(k|0)>0)while(1){l=Om(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){hB(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Jm(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<v>>>0&(k|0)>9)){k=l;break}else k=l}Qm(b,48,k+9|0,9,0)}else{v=t?v:n+4|0;if(n>>>0<v>>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-F|0;r=G+8|0;o=n;do{l=Om(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Jm(b,l,1);if(s&(k|0)<1){l=m;break}Jm(b,73578,1);l=m}else{if(l>>>0<=G>>>0)break;hB(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=t-l|0;Jm(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<v>>>0&(k|0)>-1)}Qm(b,48,k+18|0,18,0);Jm(b,w,E-w|0)}Qm(b,32,f,j,h^8192)}while(0);hc=H;return ((j|0)<(f|0)?f:j)|0}function Em(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Fm(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=hc;s=hc=hc+31&-32;hc=hc+224|0;p=s+208|0;q=s+160|0;r=s+80|0;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Gm(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Hm(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Gm(b,d,p,r,q,f,g)|0;if(j){nc[c[b+36>>2]&31](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Gm(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Im(b);e=(h&32|0)==0?e:-1}hc=t;return e|0}function Gm(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=hc;E=hc=hc+31&-32;hc=hc+64|0;G=E+56|0;I=E+40|0;B=E;D=E+48|0;E=E+60|0;c[G>>2]=e;x=(d|0)!=0;z=B+40|0;A=z;B=B+39|0;C=D+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(gm()|0)>>2]=75;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Jm(d,r,l)}while((l|0)!=0);v=(ym(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<<n&75913|0)==0)o=0;else{o=0;do{o=1<<n|o;l=l+1|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<<n&75913|0)==0))}if(m<<24>>24==42){if((ym(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Km(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Km(G)|0;m=c[G>>2]|0;break}if(ym(a[m+2>>0]|0)|0?(F=c[G>>2]|0,(a[F+3>>0]|0)==36):0){l=F+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=F+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(4528+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Lm(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Nm(c[q>>2]|0,c[q+4>>2]|0,z)|0;n=A-q|0;o=0;p=73530;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=_A(0,0,m|0,n|0)|0;n=y()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=73530;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?73530:73532):73531;w=72;break e}}case 117:{n=I;o=0;p=73530;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[B>>0]=c[I>>2];r=B;o=0;p=73530;q=1;m=n;l=A;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?73540:s;t=Pm(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=73530;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[D>>2]=c[I>>2];c[C>>2]=0;c[I>>2]=D;p=-1;w=79;break}case 83:{if(!l){Qm(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=lc[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=73530;q=l;m=t;l=A}}while(0);f:do if((w|0)==67){q=I;q=Mm(c[q>>2]|0,c[q+4>>2]|0,z,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?73530:73530+(m>>>4)|0;w=73}else if((w|0)==72){q=Om(m,n,z)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Rm(E,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Qm(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Rm(E,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Jm(d,E,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=A-q+((m^1)&1)|0;r=K?q:z;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=A}else if((w|0)==89){w=0;Qm(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Qm(d,32,l,K,m);Jm(d,p,o);Qm(d,48,l,K,m^65536);Qm(d,48,s,t,0);Jm(d,r,t);Qm(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Lm(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);hc=J;return e|0}function Hm(a){a=a|0;return 1}function Im(a){a=a|0;return}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Vm(b,d,a)|0;return}function Km(b){b=b|0;var d=0,e=0;if(!(ym(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((ym(a[e>>0]|0)|0)!=0)}return d|0}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{xc[e&63](a,d);break a}default:break a}while(0);while(0);return}function Mm(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[4992+(b&15)>>0]|0|f;b=dB(b|0,c|0,4)|0;c=y()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Nm(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=dB(b|0,c|0,3)|0;c=y()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Om(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=bB(b|0,c|0,10,0)|0;f=c;c=y()|0;g=YA(b|0,c|0,10,0)|0;g=_A(e|0,f|0,g|0,y()|0)|0;y()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=u(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Qm(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=hc;f=hc=hc+31&-32;hc=hc+256|0;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;hB(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Jm(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Jm(a,f,e)}hc=g;return}function Rm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Sm(a,b,0)|0;return a|0}function Sm(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Tm()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(gm()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(gm()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Tm(){return Um()|0}function Um(){return 48412}function Vm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Wm(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=nc[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=nc[c[e+36>>2]&31](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);fB(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Wm(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Xm(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;x(c[h+4>>2]|0);return b|0}function Ym(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=dB(d|0,e|0,52)|0;y()|0;switch(f&2047){case 0:{if(a!=0.0){a=+Ym(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 Zm(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;fB(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function _m(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function $m(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(ym(a)|0)!=0)&1|0}function an(){return 48656}function bn(){var a=0;a=(c[c[(cn()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function cn(){return Um()|0}function dn(){return 48660}function en(){return 48664}function fn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=pm(b)|0}while((qm(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=pm(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[73580+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=pm(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[73589+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=pm(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=pm(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=r;break a}c[o>>2]=(c[o>>2]|0)+-1;g=r;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=pm(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=r;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(gm()|0)>>2]=22;nm(b,0,0);g=0.0;break a}if(!e){g=r;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=r;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=pm(b)|0;if((e|32|0)==120){g=+gn(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+hn(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(gm()|0)>>2]=22;nm(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*s}while(0);return +g}function gn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0;z=a+4|0;i=c[z>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=pm(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=pm(a)|0;j=1}if((w|0)==10){i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=pm(a)|0;if((i|0)==48){l=0;j=0;do{i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=pm(a)|0;l=ZA(l|0,j|0,-1,-1)|0;j=y()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=ZA(m|0,u|0,1,0)|0;q=i;r=1;p=y()|0}i=c[z>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=pm(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[z>>2]=(c[z>>2]|0)+-1;if(g){if(!i?(c[z>>2]=(c[z>>2]|0)+-1,!((s|0)==0|i)):0)c[z>>2]=(c[z>>2]|0)+-1}else nm(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=ZA(m|0,l|0,1,0)|0;v=l;l=y()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=jn(a,g)|0;i=y()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){nm(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[z>>2]=(c[z>>2]|0)+-1;j=0;i=0}l=eB(p|0,o|0,2)|0;l=ZA(l|0,y()|0,-32,-1)|0;l=ZA(l|0,y()|0,j|0,i|0)|0;i=y()|0;if(!m){h=+(f|0)*0.0;break}z=0-e|0;g=((z|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>z>>>0){c[(gm()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}z=e+-106|0;g=((z|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<z>>>0){c[(gm()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{z=!(h>=.5);j=j<<1|(z^1)&1;h=h+(z?h:h+-1.0);l=ZA(l|0,i|0,-1,-1)|0;i=y()|0}while((j|0)>-1);n=h;m=j}else n=h;z=((b|0)<0)<<31>>31;e=_A(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=ZA(e|0,y()|0,l|0,i|0)|0;e=y()|0;if((e|0)<(z|0)|(e|0)==(z|0)&i>>>0<b>>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+ln(+kn(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(gm()|0)>>2]=34;h=+nn(h,l)}while(0);return +h}function hn(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,v=0.0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0;I=hc;F=hc=hc+31&-32;hc=hc+512|0;G=f+e|0;H=0-G|0;E=a+4|0;D=a+104|0;j=0;a:while(1){switch(b|0){case 46:{B=7;break a}case 48:break;default:{w=0;p=j;j=0;o=0;break a}}b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=pm(a)|0;j=1}if((B|0)==7){b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=pm(a)|0;if((b|0)==48){j=0;b=0;while(1){j=ZA(j|0,b|0,-1,-1)|0;o=y()|0;b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=pm(a)|0;if((b|0)==48)b=o;else{w=1;p=1;break}}}else{w=1;p=j;j=0;o=0}}c[F>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=F+496|0;x=0;l=0;s=0;z=w;A=p;B=n;p=0;n=0;c:while(1){do if(m)if(!z){z=1;j=p;o=n}else break c;else{p=ZA(p|0,n|0,1,0)|0;n=y()|0;w=(b|0)!=48;if((l|0)>=125){if(!w)break;c[C>>2]=c[C>>2]|1;break}m=F+(l<<2)|0;if(!x)b=B;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;x=x+1|0;A=(x|0)==9;x=A?0:x;l=l+(A&1)|0;s=w?p:s;A=1}while(0);b=c[E>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[E>>2]=b+1;b=d[b>>0]|0}else b=pm(a)|0;B=b+-48|0;m=(b|0)==46;if(!(m|B>>>0<10)){w=z;m=A;B=31;break b}}b=x;m=(A|0)!=0;B=39}else{x=0;l=0;s=0;m=p;p=0;n=0;B=31}while(0);do if((B|0)==31){C=(w|0)==0;j=C?p:j;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=x;B=39;break}else{b=x;B=41;break}m=jn(a,h)|0;b=y()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){nm(a,0,0);i=0.0;break}if(!(c[D>>2]|0)){m=0;b=0}else{c[E>>2]=(c[E>>2]|0)+-1;m=0;b=0}}j=ZA(m|0,b|0,j|0,o|0)|0;b=x;o=y()|0;B=43}while(0);if((B|0)==39)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(m)B=43;else B=42}else B=41;if((B|0)==41)if(m)B=43;else B=42;do if((B|0)==42){c[(gm()|0)>>2]=22;nm(a,0,0);i=0.0}else if((B|0)==43){m=c[F>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&j>>>0>a>>>0){c[(gm()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&j>>>0<a>>>0){c[(gm()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=F+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[F>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[F>>2]|0)>>>0)/+(c[8848+(8-j<<2)>>2]|0);break}a=e+27+(u(j,-3)|0)|0;b=c[F>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[8848+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[8848+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{D=F+(b<<2)|0;E=c[D>>2]|0;a=(E>>>0)/(o>>>0)|0;E=E-(u(a,o)|0)|0;a=a+n|0;c[D>>2]=a;n=u(p,E)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[F+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){w=(j|0)<18;x=(j|0)==18;z=F+(m<<2)|0;while(1){if(!w){if(!x)break d;if((c[z>>2]|0)>>>0>=9007199){j=18;break d}}n=0;A=l;l=l+127|0;while(1){p=l&127;o=F+(p<<2)|0;l=eB(c[o>>2]|0,0,29)|0;l=ZA(l|0,y()|0,n|0,0)|0;n=y()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=bB(l|0,n|0,1e9,0)|0;a=YA(s|0,y()|0,1e9,0)|0;l=_A(l|0,n|0,a|0,y()|0)|0;y()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(A+127&127|0)|a?A:(l|0)==0?p:A;if(a)break;else{n=s;A=o;l=p+-1|0}}b=b+-29|0;if(!s)l=A;else break}m=m+127&127;l=o+127&127;n=F+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[F+(l<<2)>>2];else l=A;c[F+(m<<2)>>2]=s;j=j+9|0}e:while(1){x=l+1&127;z=F+((l+127&127)<<2)|0;while(1){p=(j|0)==18;w=(j|0)>27?9:1;A=m;while(1){o=0;while(1){m=o+A&127;if((m|0)==(l|0)){B=92;break}m=c[F+(m<<2)>>2]|0;n=c[48668+(o<<2)>>2]|0;if(m>>>0<n>>>0){B=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{B=92;break}}if((B|0)==92?(B=0,p):0)break e;b=w+b|0;if((A|0)==(l|0))A=l;else break}p=(1<<w)+-1|0;s=1e9>>>w;o=0;m=A;n=A;do{D=F+(n<<2)|0;E=c[D>>2]|0;a=(E>>>w)+o|0;c[D>>2]=a;o=u(E&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((x|0)!=(m|0))break;c[z>>2]=c[z>>2]|1}}c[F+(l<<2)>>2]=o;l=x}i=0.0;j=l;m=0;do{n=m+A&127;l=j+1&127;if((n|0)==(j|0)){c[F+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[F+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);v=+(g|0);k=i*v;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+ln(+kn(1.0,105-m|0),k);q=+mn(k,+kn(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=A+2&127;if((l|0)!=(j|0)){l=c[F+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=v*.75+i;break}if((A+3&127|0)==(j|0)){i=v*.5+i;break}else{i=v*.75+i;break}}else{if((l|0)==0?(A+3&127|0)==(j|0):0)break;i=v*.25+i}while(0);if((53-m|0)>1?!(+mn(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;c[(gm()|0)>>2]=34}while(0);i=+nn(i,b)}while(0);hc=I;return +i}function jn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=pm(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=pm(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=pm(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=YA(f|0,h|0,10,0)|0;b=y()|0;e=ZA(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=ZA(e|0,y()|0,l|0,b|0)|0;h=y()|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=pm(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=pm(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=_A(0,0,f|0,e|0)|0;l=y()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}x(e|0);return f|0}function kn(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=eB(b+1023|0,0,52)|0;e=y()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function ln(a,b){a=+a;b=+b;return +(+vm(a,b))}function mn(a,b){a=+a;b=+b;return +(+on(a,b))}function nn(a,b){a=+a;b=b|0;return +(+kn(a,b))}function on(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=dB(j|0,l|0,52)|0;y()|0;e=e&2047;m=dB(n|0,o|0,52)|0;y()|0;m=m&2047;p=l&-2147483648;i=eB(n|0,o|0,1)|0;k=y()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=pn(b)|0,d=(y()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=eB(j|0,l|0,1)|0;f=y()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=eB(j|0,l|0,12)|0;f=y()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=eB(d|0,f|0,1)|0;f=y()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=eB(j|0,l|0,1-e|0)|0;i=y()|0}else i=l&1048575|1048576;if(!m){f=eB(n|0,o|0,12)|0;k=y()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=eB(f|0,k|0,1)|0;k=y()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=eB(n|0,o|0,1-d|0)|0;m=d;l=y()|0}else l=o&1048575|1048576;f=_A(j|0,i|0,n|0,l|0)|0;d=y()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=eB(f|0,d|0,1)|0;i=y()|0;e=e+-1|0;f=_A(j|0,i|0,n|0,l|0)|0;d=y()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=eB(f|0,d|0,1)|0;d=y()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=ZA(f|0,d|0,0,-1048576)|0;d=y()|0;e=eB(e|0,0,52)|0;d=d|(y()|0);e=o|e}else{e=dB(f|0,d|0,1-e|0)|0;d=y()|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 pn(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;x(c[h+4>>2]|0);return b|0}function qn(a){a=a|0;return 0}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function sn(a,b){a=a|0;b=b|0;return -1|0}function tn(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function un(a,b){a=a|0;b=b|0;var d=0,e=0;d=hc;e=hc=hc+31&-32;hc=hc+16|0;c[e>>2]=a;c[e+4>>2]=b;b=fm(ba(91,e|0)|0)|0;hc=d;return b|0}function vn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(tn(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=u(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function wn(){return}function xn(a){a=a|0;if(yn(a)|0)vo(a);return}function yn(a){a=a|0;return (a|0)!=48372&((a|0)!=0&(a|0)!=98064)&1|0}function zn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=hc;h=hc=hc+31&-32;hc=hc+16|0;j=(g|0)==0?98092:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(An()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[4048+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(gm()|0)>>2]=84;g=-1}hc=l;return g|0}function An(){return Um()|0}function Bn(a,b){a=a|0;b=b|0;return ym(a)|0}function Cn(a,b){a=a|0;b=b|0;return $m(a)|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;o=hc;n=hc=hc+31&-32;hc=hc+272|0;m=n;n=n+256|0;do if(!(a[d>>0]|0)){d=Ya(73593)|0;if(d|0?a[d>>0]|0:0)break;d=Ya(8880+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ya(73600)|0;if(d|0?a[d>>0]|0:0)break;d=73605}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=73605;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((wm(k,73605)|0)!=0?(wm(k,73613)|0)!=0:0){d=c[24524]|0;if(d|0)do{if(!(wm(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(98100);d=c[24524]|0;c:do if(d|0){while(1){if(!(wm(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}ca(98100);break b}while(0);d:do if(((c[24502]|0)==0?(g=Ya(73619)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=vn(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){fB(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;fB(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=uo(28)|0;if(!d){un(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;fB(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[24524];c[24524]=d;break}}else l=41;while(0);if((l|0)==41){d=uo(28)|0;if(d){c[d>>2]=c[12086];c[d+4>>2]=c[12087];n=d+8|0;fB(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[24524];c[24524]=d}}ca(98100);d=(b|0)==0&(d|0)==0?48344:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=48344;break}d=0}while(0);hc=o;return d|0}function En(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=hc;i=hc=hc+31&-32;hc=hc+32|0;a:do if(!(yn(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<<g&a;if(h&(e|0)==0)e=c[d+(g<<2)>>2]|0;else e=Dn(g,(e|0)==0?100142:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=98064;break a}case 1:{if((c[i>>2]|0)==48344){d=48372;break a}break}default:{}}}else{e=0;do{if(1<<e&a|0)c[d+(e<<2)>>2]=Dn(e,b)|0;e=e+1|0}while((e|0)!=6)}while(0);hc=j;return d|0}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;c[g>>2]=e;e=Bm(a,b,d,g)|0;hc=f;return e|0}function Gn(a){a=a|0;var b=0,d=0;b=(Hn()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?98040:a;return ((d|0)==98040?-1:d)|0}function Hn(){return Um()|0}function In(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function Jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=u(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Hm(e)|0)==0;a=Vm(a,f,e)|0;if(!g)Im(e)}else a=Vm(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Kn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=hc;j=hc=hc+31&-32;hc=hc+16|0;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Wm(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((nc[c[b+36>>2]&31](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);hc=l;return f|0}function Ln(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=hc;g=hc=hc+31&-32;hc=hc+16|0;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(Mn()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[4048+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(gm()|0)>>2]=84;b=-1}while(0);hc=j;return b|0}function Mn(){return Um()|0}function Nn(a){a=a|0;var b=0,c=0;b=(tn(a)|0)+1|0;c=uo(b)|0;if(!c)a=0;else a=fB(c|0,a|0,b|0)|0;return a|0}function On(){U(98108);return 98116}function Pn(){ca(98108);return}function Qn(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Rn(a)|0;break}d=(Hm(a)|0)==0;b=Rn(a)|0;if(!d)Im(a)}else{if(!(c[12102]|0))b=0;else b=Qn(c[12102]|0)|0;a=c[(On()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Hm(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Rn(a)|0|b;if(d|0)Im(a);a=c[a+56>>2]|0}while((a|0)!=0);Pn()}while(0);return b|0}function Rn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(nc[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0){g=e-g|0;oc[c[a+40>>2]&7](a,g,((g|0)<0)<<31>>31,1)|0;y()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Sn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;f=hc=hc+31&-32;hc=hc+16|0;c[f>>2]=d;d=Tn(a,b,f)|0;hc=e;return d|0}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;f=hc=hc+31&-32;hc=hc+144|0;hB(f|0,0,144)|0;c[f+32>>2]=29;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Vn(f,b,d)|0;hc=e;return d|0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;return Zn(a,b,c)|0}function Vn(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=hc;N=hc=hc+31&-32;hc=hc+288|0;K=N+264|0;L=N;M=N+260|0;N=N+272|0;if((c[e+76>>2]|0)>-1)P=Hm(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){C=e+4|0;D=e+104|0;E=e+120|0;F=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;B=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(qm(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{A=0;l=m+2|0;break}default:{if(ym(o&255)|0?(a[m+2>>0]|0)==36:0){A=Wn(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}z=(c[i>>2]|0)+(4-1)&~(4-1);A=c[z>>2]|0;c[i>>2]=z+4}}while(0);if(!(ym(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((ym(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(A|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{z=(a[o>>0]|0)==104;n=z?-2:-1;m=z?m+2|0:o;break}case 108:{z=(a[o>>0]|0)==108;n=z?3:1;m=z?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{z=(r|0)>1?r:1;break}case 91:{z=r;break}case 110:{Xn(A,t,u,v);n=u;o=v;break c}default:{nm(e,0,0);do{n=c[C>>2]|0;if(n>>>0<(c[D>>2]|0)>>>0){c[C>>2]=n+1;n=d[n>>0]|0}else n=pm(e)|0}while((qm(n)|0)!=0);if(!(c[D>>2]|0))n=c[C>>2]|0;else{n=(c[C>>2]|0)+-1|0;c[C>>2]=n}x=E;z=n-(c[F>>2]|0)|0;u=ZA(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=ZA(u|0,y()|0,z|0,((z|0)<0)<<31>>31|0)|0;z=r;v=y()|0}}x=((z|0)<0)<<31>>31;nm(e,z,x);o=c[C>>2]|0;n=c[D>>2]|0;if(o>>>0<n>>>0)c[C>>2]=o+1;else{if((pm(e)|0)<0){O=143;break b}n=c[D>>2]|0}if(n|0)c[C>>2]=(c[C>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){hB(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;hB(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?z+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=uo(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=A;c[K>>2]=0;c[B>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[C>>2]|0;if(o>>>0<(c[D>>2]|0)>>>0){c[C>>2]=o+1;o=d[o>>0]|0}else o=pm(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(zn(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=xo(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Yn(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=uo(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[C>>2]|0;if(j>>>0<(c[D>>2]|0)>>>0){c[C>>2]=j+1;j=d[j>>0]|0}else j=pm(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=xo(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!A)while(1){j=c[C>>2]|0;if(j>>>0<(c[D>>2]|0)>>>0){c[C>>2]=j+1;j=d[j>>0]|0}else j=pm(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[C>>2]|0;if(j>>>0<(c[D>>2]|0)>>>0){c[C>>2]=j+1;j=d[j>>0]|0}else j=pm(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=A;r=0;j=0;break i}a[A+k>>0]=j;k=k+1|0}}while(0);if(!(c[D>>2]|0))n=c[C>>2]|0;else{n=(c[C>>2]|0)+-1|0;c[C>>2]=n}o=E;n=n-(c[F>>2]|0)|0;n=ZA(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=y()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(z|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[A>>2]=r;break}else{c[A>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+fn(e,t,0);z=E;w=c[z>>2]|0;z=c[z+4>>2]|0;x=(c[C>>2]|0)-(c[F>>2]|0)|0;x=_A(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(z|0)==(y()|0))break b;if(A)switch(t|0){case 0:{f[A>>2]=p;break f}case 1:{g[A>>3]=p;break f}case 2:{g[A>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=om(e,n,0,-1,-1)|0;o=y()|0;z=E;w=c[z>>2]|0;z=c[z+4>>2]|0;x=(c[C>>2]|0)-(c[F>>2]|0)|0;x=_A(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(z|0)==(y()|0))break b;if((A|0)!=0&(s|0)==112){c[A>>2]=n;break}else{Xn(A,t,n,o);break}}while(0);o=E;n=(c[C>>2]|0)-(c[F>>2]|0)|0;o=ZA(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=ZA(o|0,y()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((A|0)!=0&1)|0;o=y()|0;break c}while(0);m=m+(n&1)|0;nm(e,0,0);l=c[C>>2]|0;if(l>>>0<(c[D>>2]|0)>>>0){c[C>>2]=l+1;l=d[l>>0]|0}else l=pm(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=ZA(u|0,v|0,1,0)|0;o=y()|0}else{while(1){l=m+1|0;if(!(qm(d[l>>0]|0)|0))break;else m=l}nm(e,0,0);do{l=c[C>>2]|0;if(l>>>0<(c[D>>2]|0)>>>0){c[C>>2]=l+1;l=d[l>>0]|0}else l=pm(e)|0}while((qm(l)|0)!=0);if(!(c[D>>2]|0))l=c[C>>2]|0;else{l=(c[C>>2]|0)+-1|0;c[C>>2]=l}o=E;n=l-(c[F>>2]|0)|0;o=ZA(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=ZA(o|0,y()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=y()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[D>>2]|0)c[C>>2]=(c[C>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){vo(k);vo(j)}}else h=0;while(0);if(P|0)Im(e);hc=Q;return h|0}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=hc;d=hc=hc+31&-32;hc=hc+16|0;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}hc=e;return a|0}function Xn(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Yn(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Pm(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;fB(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=hc;f=hc=hc+31&-32;hc=hc+16|0;c[f>>2]=d;d=Cm(a,b,f)|0;hc=e;return d|0}function $n(a,b,c){a=a|0;b=b|0;c=c|0;return zn(0,a,b,(c|0)==0?98120:c)|0}function ao(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;n=hc;l=hc=hc+31&-32;hc=hc+1040|0;k=l;l=l+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=bo(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=zn(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];hc=n;return e|0}function bo(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;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(co()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=tn(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[4048+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[4048+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(gm()|0)>>2]=84;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(gm()|0)>>2]=84;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function co(){return Um()|0}function eo(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=hc;j=hc=hc+31&-32;hc=hc+272|0;i=j;j=j+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=fo(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=Sm(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];hc=l;return f|0}function fo(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=hc;i=hc=hc+31&-32;hc=hc+16|0;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=Sm(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Sm(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=Sm(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0<h>>>0){g=23;break}Sm(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);hc=j;return e|0}function go(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Hm(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=rm(a)|0;Im(a)}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=rm(a)|0;break}}while(0);return b|0}function ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=hc;e=hc=hc+31&-32;hc=hc+16|0;c[e>>2]=c[d>>2];e=Bm(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=uo(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Bm(g,f,b,d)|0;else a=-1;hc=h;return a|0}function io(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Hm(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){sm(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Im(d);break}if(g){Im(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Hm(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=Kn(d,b)|0;Im(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=Kn(d,b)|0}while(0);return e|0}function ko(a,b){a=a|0;b=b|0;var d=0,e=0;d=hc;e=hc=hc+31&-32;hc=hc+16|0;c[e>>2]=b;b=Cm(c[12101]|0,a,e)|0;hc=d;return b|0}function lo(a,b){a=a|0;b=b|0;return +(+mo(a,b,1))}function mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=hc;e=hc=hc+31&-32;hc=hc+144|0;hB(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;nm(e,0,0);f=+fn(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=ZA(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=y()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;hc=g;return +f}function no(a,b){a=a|0;b=b|0;return +(+mo(a,b,0))}function oo(a,b){a=a|0;b=b|0;return +(+mo(a,b,2))}function po(a,b,c){a=a|0;b=b|0;c=c|0;return +(+no(a,b))}function qo(a,b,c){a=a|0;b=b|0;c=c|0;return +(+lo(a,b))}function ro(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oo(a,b))}function so(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function uo(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=hc;n=hc=hc+31&-32;hc=hc+16|0;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[24531]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=98164+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[24531]=m&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;hc=w;return v|0}l=c[24533]|0;if(k>>>0>l>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=98164+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<<e);c[24531]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[24536]|0;b=l>>>3;d=98164+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[24531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[24533]=h;c[24536]=f;v=i;hc=w;return v|0}g=c[24532]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[98428+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0<j>>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=98428+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[24532]=g&~(1<<b);break}}else{v=f+16|0;c[((c[v>>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[24536]|0;b=l>>>3;d=98164+(b<<1<<2)|0;b=1<<b;if(!(b&m)){c[24531]=b|m;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[24533]=j;c[24536]=h}v=i+8|0;hc=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[24532]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<<m;i=(q+520192|0)>>>16&4;q=q<<i;j=(q+245760|0)>>>16&2;j=14-(i|m|j)+(q<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[98428+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0<f>>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<<j;a=(a|0-a)&e;if(!a){m=k;break}m=(a&0-a)+-1|0;h=m>>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[98428+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0<f>>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[24533]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=98428+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<<a);c[24532]=e;break}}else{v=g+16|0;c[((c[v>>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=98164+(b<<1<<2)|0;a=c[24531]|0;b=1<<b;if(!(a&b)){c[24531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=h>>>(d+7|0)&1|d<<1}else d=0;b=98428+(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[24532]=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)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;hc=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[24533]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[24536]|0;if(b>>>0>15){v=a+m|0;c[24536]=v;c[24533]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[24533]=0;c[24536]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;hc=w;return v|0}h=c[24534]|0;if(h>>>0>m>>>0){t=h-m|0;c[24534]=t;v=c[24537]|0;u=v+m|0;c[24537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;hc=w;return v|0}if(!(c[24649]|0)){c[24651]=4096;c[24650]=4096;c[24652]=-1;c[24653]=-1;c[24654]=0;c[24642]=0;c[24649]=n&-16^1431655768;a=4096}else a=c[24651]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;hc=w;return v|0}a=c[24641]|0;if(a|0?(l=c[24639]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;hc=w;return v|0}d:do if(!(c[24642]&4)){d=c[24537]|0;e:do if(d){e=98572;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=jB(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=jB(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[24650]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[24639]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[24641]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=jB(b|0)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[24651]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((jB(a|0)|0)==(-1|0)){jB(d|0)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[24642]=c[24642]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=jB(k|0)|0,p=jB(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0<p>>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[24639]|0)+h|0;c[24639]=b;if(b>>>0>(c[24640]|0)>>>0)c[24640]=b;j=c[24537]|0;f:do if(j){b=98572;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[24534]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[24537]=u;c[24534]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[24538]=c[24653];break}if(g>>>0<(c[24535]|0)>>>0)c[24535]=g;d=g+h|0;b=98572;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[24534]|0)+i|0;c[24534]=v;c[24537]=k;c[k+4>>2]=v|1}else{if((c[24536]|0)==(b|0)){v=(c[24533]|0)+i|0;c[24533]=v;c[24536]=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[24531]=c[24531]&~(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)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=98428+(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[24532]=c[24532]&~(1<<d);break h}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=98164+(b<<1<<2)|0;a=c[24531]|0;b=1<<b;if(!(a&b)){c[24531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<<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);b=98428+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[24532]|0;d=1<<e;if(!(a&d)){c[24532]=a|d;c[b>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;hc=w;return v|0}b=98572;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[24537]=u;c[24534]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[24538]=c[24653];d=a+4|0;c[d>>2]=27;c[b>>2]=c[24643];c[b+4>>2]=c[24644];c[b+8>>2]=c[24645];c[b+12>>2]=c[24646];c[24643]=g;c[24644]=h;c[24646]=0;c[24645]=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=98164+(b<<1<<2)|0;a=c[24531]|0;b=1<<b;if(!(a&b)){c[24531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<<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=98428+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[24532]|0;a=1<<e;if(!(b&a)){c[24532]=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[24535]|0;if((v|0)==0|g>>>0<v>>>0)c[24535]=g;c[24643]=g;c[24644]=h;c[24646]=0;c[24540]=c[24649];c[24539]=-1;c[24544]=98164;c[24543]=98164;c[24546]=98172;c[24545]=98172;c[24548]=98180;c[24547]=98180;c[24550]=98188;c[24549]=98188;c[24552]=98196;c[24551]=98196;c[24554]=98204;c[24553]=98204;c[24556]=98212;c[24555]=98212;c[24558]=98220;c[24557]=98220;c[24560]=98228;c[24559]=98228;c[24562]=98236;c[24561]=98236;c[24564]=98244;c[24563]=98244;c[24566]=98252;c[24565]=98252;c[24568]=98260;c[24567]=98260;c[24570]=98268;c[24569]=98268;c[24572]=98276;c[24571]=98276;c[24574]=98284;c[24573]=98284;c[24576]=98292;c[24575]=98292;c[24578]=98300;c[24577]=98300;c[24580]=98308;c[24579]=98308;c[24582]=98316;c[24581]=98316;c[24584]=98324;c[24583]=98324;c[24586]=98332;c[24585]=98332;c[24588]=98340;c[24587]=98340;c[24590]=98348;c[24589]=98348;c[24592]=98356;c[24591]=98356;c[24594]=98364;c[24593]=98364;c[24596]=98372;c[24595]=98372;c[24598]=98380;c[24597]=98380;c[24600]=98388;c[24599]=98388;c[24602]=98396;c[24601]=98396;c[24604]=98404;c[24603]=98404;c[24606]=98412;c[24605]=98412;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[24537]=u;c[24534]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[24538]=c[24653]}while(0);b=c[24534]|0;if(b>>>0>m>>>0){t=b-m|0;c[24534]=t;v=c[24537]|0;u=v+m|0;c[24537]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;hc=w;return v|0}}c[(gm()|0)>>2]=12;v=0;hc=w;return v|0}function vo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[24535]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[24536]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[24533]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[24531]=c[24531]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=98428+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[24532]=c[24532]&~(1<<b);i=h;b=g;break}}else{i=f+16|0;c[((c[i>>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[24537]|0)==(j|0)){j=(c[24534]|0)+b|0;c[24534]=j;c[24537]=i;c[i+4>>2]=j|1;if((i|0)!=(c[24536]|0))return;c[24536]=0;c[24533]=0;return}if((c[24536]|0)==(j|0)){j=(c[24533]|0)+b|0;c[24533]=j;c[24536]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[24531]=c[24531]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=98428+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[24532]=c[24532]&~(1<<a);break}}else{e=g+16|0;c[((c[e>>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[24536]|0)){c[24533]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=98164+(a<<1<<2)|0;b=c[24531]|0;a=1<<a;if(!(b&a)){c[24531]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;e=(j+245760|0)>>>16&2;e=14-(g|h|e)+(j<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=98428+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[24532]|0;d=1<<e;a:do if(!(b&d)){c[24532]=b|d;c[a>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[24539]|0)+-1|0;c[24539]=j;if(j|0)return;a=98580;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[24539]=-1;return}function wo(a,b){a=a|0;b=b|0;var d=0;if(a){d=u(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=uo(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;hB(a|0,0,d|0)|0;return a|0}function xo(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=uo(b)|0;return b|0}if(b>>>0>4294967231){c[(gm()|0)>>2]=12;b=0;return b|0}d=yo(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=uo(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;fB(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;vo(a);b=d;return b|0}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[24651]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;zo(k,d);return a|0}if((c[24537]|0)==(i|0)){k=(c[24534]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[24537]=e;c[24534]=d;return a|0}if((c[24536]|0)==(i|0)){e=(c[24533]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[24533]=d;c[24536]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[24531]=c[24531]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=98428+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[24532]=c[24532]&~(1<<d);break}}else{g=h+16|0;c[((c[g>>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;zo(i,k);return a|0}return 0}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[24536]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[24533]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[24531]=c[24531]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=98428+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[24532]=c[24532]&~(1<<d);break}}else{f=g+16|0;c[((c[f>>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[24537]|0)==(i|0)){i=(c[24534]|0)+b|0;c[24534]=i;c[24537]=h;c[h+4>>2]=i|1;if((h|0)!=(c[24536]|0))return;c[24536]=0;c[24533]=0;return}if((c[24536]|0)==(i|0)){i=(c[24533]|0)+b|0;c[24533]=i;c[24536]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[24531]=c[24531]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=98428+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[24532]=c[24532]&~(1<<b);break}}else{e=g+16|0;c[((c[e>>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[24536]|0)){c[24533]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=98164+(b<<1<<2)|0;a=c[24531]|0;b=1<<b;if(!(a&b)){c[24531]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;d=(i+520192|0)>>>16&4;i=i<<d;e=(i+245760|0)>>>16&2;e=14-(d|g|e)+(i<<e>>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=98428+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[24532]|0;d=1<<e;if(!(a&d)){c[24532]=a|d;c[b>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function Ao(a,b){a=a|0;b=b|0;if(a>>>0<9){b=uo(b)|0;return b|0}else{b=Bo(a,b)|0;return b|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;d=a>>>0>16?a:16;if(!(d+-1&d))a=d;else{a=16;while(1)if(a>>>0<d>>>0)a=a<<1;else break}if((-64-a|0)>>>0<=b>>>0){c[(gm()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=uo(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;zo(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;zo(f,i)}i=b+8|0;return i|0}function Co(a,b){a=a|0;b=b|0;return 0}function Do(a){a=a|0;return 0}function Eo(a){a=a|0;return 0}function Fo(a){a=a|0;return 0}function Go(a,b){a=a|0;b=b|0;if(!a){b=22;return b|0}b=uo(8)|0;c[b>>2]=0;c[b+4>>2]=38177486;c[a>>2]=b;b=0;return b|0}function Ho(a){a=a|0;if((c[a+4>>2]|0)!=38177486){a=0;return a|0}a=c[a>>2]|0;return a|0}function Io(a,b){a=a|0;b=b|0;if((c[a+4>>2]|0)!=38177486){b=22;return b|0}c[a>>2]=b;b=0;return b|0}function Jo(a,b){a=a|0;b=b|0;if((c[a>>2]|0)==324508639)return 0;vc[b&3]();c[a>>2]=324508639;return 0}function Ko(a){a=a|0;Lo(a);return}function Lo(a){a=a|0;c[a>>2]=48684;Mo(a,0);er(a+28|0);vo(c[a+32>>2]|0);vo(c[a+36>>2]|0);vo(c[a+48>>2]|0);vo(c[a+60>>2]|0);return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;yc[c[(c[e>>2]|0)+(g<<2)>>2]&31](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function No(a){a=a|0;Lo(a);nz(a);return}function Oo(a){a=a|0;Lo(a);return}function Po(a){a=a|0;c[a>>2]=48700;er(a+4|0);return}function Qo(a){a=a|0;Po(a);nz(a);return}function Ro(a,b){a=a|0;b=b|0;return}function So(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function To(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function Vo(a){a=a|0;return 0}function Wo(a){a=a|0;return 0}function Xo(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;bp()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;dp(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=kc[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;a[d>>0]=ep(f)|0;d=d+1|0;f=1}h=f+h|0}return h|0}function Yo(a){a=a|0;return bp()|0}function Zo(b){b=b|0;var d=0;d=kc[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(bp()|0))b=bp()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cp(a[b>>0]|0)|0}return b|0}function _o(a,b){a=a|0;b=b|0;return bp()|0}function $o(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;i=bp()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0<h>>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;dp(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cp(a[d>>0]|0)|0;if((mc[h&31](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function ap(a,b){a=a|0;b=b|0;return bp()|0}function bp(){return -1}function cp(a){a=a|0;return a&255|0}function dp(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)fB(a|0,b|0,c|0)|0;return a|0}function ep(a){a=a|0;return a&255|0}function fp(a){a=a|0;c[a>>2]=48764;er(a+4|0);return}function gp(a){a=a|0;fp(a);nz(a);return}function hp(a,b){a=a|0;b=b|0;return}function ip(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function jp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function lp(a){a=a|0;return 0}function mp(a){a=a|0;return 0}function np(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;tp()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0<f>>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;vp(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=kc[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;c[b>>2]=wp(e)|0;b=b+4|0;e=1}g=e+g|0}return g|0}function op(a){a=a|0;return tp()|0}function pp(a){a=a|0;var b=0;b=kc[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(tp()|0))a=tp()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=up(c[a>>2]|0)|0}return a|0}function qp(a,b){a=a|0;b=b|0;return tp()|0}function rp(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;h=tp()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0<g>>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;vp(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=up(c[b>>2]|0)|0;if((mc[g&31](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function sp(a,b){a=a|0;b=b|0;return tp()|0}function tp(){return -1}function up(a){a=a|0;return a|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;if(c)In(a,b,c)|0;return a|0}function wp(a){a=a|0;return a|0}function xp(a){a=a|0;Bp(a,48860);Ko(a+8|0);return}function yp(a){a=a|0;xp(a);nz(a);return}function zp(a){a=a|0;xp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Ap(a){a=a|0;yp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Bp(a,b){a=a|0;b=b|0;return}function Cp(a){a=a|0;Gp(a,48908);Oo(a+8|0);return}function Dp(a){a=a|0;Cp(a);nz(a);return}function Ep(a){a=a|0;Cp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Fp(a){a=a|0;Dp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Gp(a,b){a=a|0;b=b|0;return}function Hp(a){a=a|0;Lp(a,48956);Ko(a+4|0);return}function Ip(a){a=a|0;Hp(a);nz(a);return}function Jp(a){a=a|0;Hp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Kp(a){a=a|0;Ip(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Lp(a,b){a=a|0;b=b|0;return}function Mp(a){a=a|0;Qp(a,49004);Oo(a+4|0);return}function Np(a){a=a|0;Mp(a);nz(a);return}function Op(a){a=a|0;Mp(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Pp(a){a=a|0;Np(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Qp(a,b){a=a|0;b=b|0;return}function Rp(a){a=a|0;return tn(a)|0}function Sp(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));fz(d);return}function Tp(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function Up(a,b){a=a|0;b=b|0;dz(a,b+28|0);return}function Vp(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function Wp(a){a=a|0;c[a>>2]=48700;fz(a+4|0);a=a+8|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;return}function Xp(a){a=a|0;c[a>>2]=48764;fz(a+4|0);a=a+8|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;return}function Yp(){_p();return}function Zp(){return}function _p(){$p(0);return}function $p(a){a=a|0;var b=0,d=0;b=c[12100]|0;aq(99300,b,99356);c[24655]=48832;c[24657]=48852;c[24656]=0;Sp(98628,99300);c[24675]=0;c[24676]=bp()|0;bq(99364,b,99420);c[24677]=48880;c[24679]=48900;c[24678]=0;Sp(98716,99364);c[24697]=0;c[24698]=tp()|0;b=c[12101]|0;cq(99428,b,99476);c[24699]=48928;c[24700]=48948;Sp(98800,99428);c[24718]=0;c[24719]=bp()|0;dq(99484,b,99532);c[24720]=48976;c[24721]=48996;Sp(98884,99484);c[24739]=0;c[24740]=tp()|0;b=c[12099]|0;cq(99540,b,99588);c[24741]=48928;c[24742]=48948;Sp(98968,99540);c[24760]=0;c[24761]=bp()|0;a=c[98964+(c[(c[24741]|0)+-12>>2]|0)+24>>2]|0;c[24783]=48928;c[24784]=48948;Sp(99136,a);c[24802]=0;c[24803]=bp()|0;dq(99596,b,99644);c[24762]=48976;c[24763]=48996;Sp(99052,99596);c[24781]=0;c[24782]=tp()|0;b=c[99048+(c[(c[24762]|0)+-12>>2]|0)+24>>2]|0;c[24804]=48976;c[24805]=48996;Sp(99220,b);c[24823]=0;c[24824]=tp()|0;c[98620+(c[(c[24655]|0)+-12>>2]|0)+72>>2]=98796;c[98708+(c[(c[24677]|0)+-12>>2]|0)+72>>2]=98880;b=(c[24741]|0)+-12|0;a=98964+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[24762]|0)+-12|0;d=99048+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[98964+(c[b>>2]|0)+72>>2]=98796;c[99048+(c[a>>2]|0)+72>>2]=98880;return}function aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;Wp(b);c[b>>2]=49212;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=bp()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;dz(g,b+4|0);xc[e&63](b,g);er(g);hc=f;return}function bq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;Xp(b);c[b>>2]=49148;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=tp()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;dz(g,b+4|0);xc[e&63](b,g);er(g);hc=f;return}function cq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;Wp(b);c[b>>2]=49084;c[b+32>>2]=d;dz(g,b+4|0);d=dr(g,99972)|0;er(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(kc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;hc=f;return}function dq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=hc;g=hc=hc+31&-32;hc=hc+16|0;Xp(b);c[b>>2]=49020;c[b+32>>2]=d;dz(g,b+4|0);d=dr(g,99980)|0;er(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(kc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;hc=f;return}function eq(a){a=a|0;fp(a);nz(a);return}function fq(b,d){b=b|0;d=d|0;kc[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=dr(d,99980)|0;c[b+36>>2]=d;a[b+44>>0]=(kc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function gq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=hc;e=hc=hc+31&-32;hc=hc+16|0;d=e+8|0;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=qc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((Jn(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((Qn(c[b>>2]|0)|0)!=0)<<31>>31;hc=k;return a|0}function hq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=up(c[d>>2]|0)|0;g=mc[h&31](b,g)|0;if((g|0)==(tp()|0))break a;f=f+1|0;d=d+4|0}}else f=Jn(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=hc;n=hc=hc+31&-32;hc=hc+32|0;l=n+16|0;f=n+8|0;m=n+4|0;do if(!(Vp(d,tp()|0)|0)){c[f>>2]=wp(d)|0;if(a[b+44>>0]|0){if((Jn(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=tp()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=uc[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((Jn(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((Jn(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=tp()|0;break}}else e=15;while(0);if((e|0)==15)b=jq(d)|0;hc=o;return b|0}function jq(a){a=a|0;if(Vp(a,tp()|0)|0)a=~(tp()|0);return a|0}function kq(a){a=a|0;Po(a);nz(a);return}function lq(b,d){b=b|0;d=d|0;kc[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=dr(d,99972)|0;c[b+36>>2]=d;a[b+44>>0]=(kc[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=hc;e=hc=hc+31&-32;hc=hc+16|0;d=e+8|0;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=qc[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((Jn(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((Qn(c[b>>2]|0)|0)!=0)<<31>>31;hc=k;return a|0}function nq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cp(a[d>>0]|0)|0;g=mc[h&31](b,g)|0;if((g|0)==(bp()|0))break a;f=f+1|0;d=d+1|0}}else f=Jn(d,1,e,c[b+32>>2]|0)|0;while(0);return f|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;o=hc;n=hc=hc+31&-32;hc=hc+32|0;l=n+16|0;f=n+8|0;m=n+4|0;do if(!(Tp(d,bp()|0)|0)){a[f>>0]=ep(d)|0;if(a[b+44>>0]|0){if((Jn(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=bp()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=uc[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((Jn(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((Jn(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=bp()|0;break}}else e=15;while(0);if((e|0)==15)b=pq(d)|0;hc=o;return b|0}function pq(a){a=a|0;if(Tp(a,bp()|0)|0)a=~(bp()|0);return a|0}function qq(a){a=a|0;fp(a);nz(a);return}function rq(b,d){b=b|0;d=d|0;var e=0,f=0;f=dr(d,99980)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=kc[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(kc[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)vu(74070);else return}function sq(a){a=a|0;return vq(a,0)|0}function tq(a){a=a|0;return vq(a,1)|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;l=hc;g=hc=hc+31&-32;hc=hc+32|0;h=g+16|0;i=g+8|0;f=g+4|0;j=Vp(d,tp()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((Vp(e,tp()|0)|0)^1)&1}else{if(e){j=b+48|0;c[f>>2]=wp(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(uc[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((io(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=tp()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);hc=l;return e|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,p=0,q=0,r=0,s=0,t=0;r=hc;m=hc=hc+31&-32;hc=hc+32|0;p=m+16|0;q=m+8|0;l=m+4|0;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=tp()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=go(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=tp()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(uc[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=go(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=tp()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=up(c[q>>2]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=up(a[p+e>>0]|0)|0}while((io(t,c[o>>2]|0)|0)!=-1);e=tp()|0;break b}while(0);e=up(c[q>>2]|0)|0}while(0)}}hc=r;return e|0}function wq(a){a=a|0;Po(a);nz(a);return} |
| | | function Mk(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;y=hc;u=hc=hc+31&-32;hc=hc+32|0;o=u+24|0;v=u+16|0;w=u+8|0;c[e>>2]=0;a[b+3224>>0]=0;j=c[d+12>>2]|0;k=c[b+856+(j<<3)>>2]|0;if(!(a[k>>0]|0))M(76276,60315,1982,69129);t=b+1384|0;l=c[b+856+(j<<3)+4>>2]|0;if(l|0){s=l+4|0;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=k;s=b+1388|0;j=c[s>>2]|0;c[s>>2]=l;if(j|0?(q=j+4|0,r=c[q>>2]|0,c[q>>2]=r+-1,(r|0)==0):0){wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}k=a[(c[t>>2]|0)+9>>0]|0;p=b+1376|0;j=c[b+728+(k<<3)>>2]|0;k=c[b+728+(k<<3)+4>>2]|0;if(k|0){r=k+4|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=j;q=b+1380|0;j=c[q>>2]|0;c[q>>2]=k;if(j|0?(n=j+4|0,r=c[n>>2]|0,c[n>>2]=r+-1,(r|0)==0):0){wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}k=a[(c[p>>2]|0)+1>>0]|0;m=b+1368|0;j=c[b+600+(k<<3)>>2]|0;k=c[b+600+(k<<3)+4>>2]|0;if(k|0){r=k+4|0;c[r>>2]=(c[r>>2]|0)+1}c[m>>2]=j;n=b+1372|0;j=c[n>>2]|0;c[n>>2]=k;if(j|0?(l=j+4|0,r=c[l>>2]|0,c[l>>2]=r+-1,(r|0)==0):0){wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}Rk(b);r=d+8|0;if(!(a[r>>0]|0)){if(!(c[b+2220>>2]|0)){d=0;hc=y;return d|0}}else{c[b+2200>>2]=c[d+32>>2];j=c[p>>2]|0;if(!(a[j+4703>>0]|0))k=1;else k=(a[b+533>>0]|0)!=0;c[o>>2]=j;l=o+4|0;j=c[q>>2]|0;c[l>>2]=j;if(j|0){j=j+4|0;c[j>>2]=(c[j>>2]|0)+1}k=Sk(b+2144|0,o,b,f,g,i,k)|0;j=c[l>>2]|0;if(j|0?(i=j+4|0,o=c[i>>2]|0,c[i>>2]=o+-1,(o|0)==0):0){wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}if((k|0)==-1){c[e>>2]=9;d=0;hc=y;return d|0}j=c[b+2152>>2]|0;if((c[b+2156>>2]|0)-j>>2>>>0>k>>>0)j=c[j+(k<<2)>>2]|0;else j=0;g=b+2220|0;c[g>>2]=j;f=j+326|0;a[f>>0]=a[h>>0]|0;a[f+1>>0]=a[h+1>>0]|0;a[f+2>>0]=a[h+2>>0]|0;f=c[g>>2]|0;c[v>>2]=c[m>>2];m=v+4|0;j=c[n>>2]|0;c[m>>2]=j;if(j|0){h=j+4|0;c[h>>2]=(c[h>>2]|0)+1}c[w>>2]=c[p>>2];l=w+4|0;j=c[q>>2]|0;c[l>>2]=j;if(j|0){h=j+4|0;c[h>>2]=(c[h>>2]|0)+1}c[u>>2]=c[t>>2];k=u+4|0;j=c[s>>2]|0;c[k>>2]=j;if(j|0){t=j+4|0;c[t>>2]=(c[t>>2]|0)+1}Tk(f,v,w,u);j=c[k>>2]|0;if(j|0?(v=j+4|0,w=c[v>>2]|0,c[v>>2]=w+-1,(w|0)==0):0){wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}j=c[l>>2]|0;do if(j|0){v=j+4|0;w=c[v>>2]|0;c[v>>2]=w+-1;if(w|0)break;wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}while(0);j=c[m>>2]|0;do if(j|0){v=j+4|0;w=c[v>>2]|0;c[v>>2]=w+-1;if(w|0)break;wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j)}while(0);j=c[g>>2]|0;c[j+112>>2]=b;Uk(j);j=b+3208|0;a:do if(Vk(a[j>>0]|0)|0){do if(!(Wk(a[j>>0]|0)|0)){if(Xk(a[j>>0]|0)|0)break;if(a[b+2204>>0]|0)break;if(a[b+2207>>0]|0)break;a[b+2205>>0]=0;a[b+2206>>0]=0;break a}while(0);a[b+2205>>0]=1;a[b+2207>>0]=0}while(0);do if(Yk(a[j>>0]|0)|0){if(!(a[b+2205>>0]|0)){x=55;break}a[(c[g>>2]|0)+104>>0]=0}else x=55;while(0);if((x|0)==55)a[(c[g>>2]|0)+104>>0]=(a[d+28>>0]|0)!=0&1;Zk(b,d);if(a[r>>0]|0){c[(c[g>>2]|0)+100>>2]=1;_k(b,d)}c[(c[g>>2]|0)+100>>2]=1;a[b+2204>>0]=0}if((c[d+24>>2]|0)>>>0<2?!($k(b,d)|0):0){d=0;hc=y;return d|0}if(!(a[d+16>>0]|0)){j=b+2224|0;k=d+20|0}else{k=b+2224|0;j=k;k=(c[k>>2]|0)+804|0}c[d+804>>2]=c[k>>2];c[j>>2]=d;d=1;hc=y;return d|0}function Nk(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function Ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a+32>>2]|0;a=(c[a+36>>2]|0)-f|0;e=a>>2;if((a|0)<=0){d=0;return d|0}a=e;e=e+-1|0;while(1){if(((c[f+(e<<2)>>2]|0)-d|0)<=(b|0)){e=5;break}a=e+-1|0;if((a|0)>-1){g=e;e=a;a=g}else{a=0;e=5;break}}if((e|0)==5)return a|0;return 0}function Pk(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function Qk(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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function Rk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[b+1376>>2]|0;f=(e|0)==0;if(f){d=c[b+1368>>2]|0;if(!d)d=6;else d=(c[d+8>>2]|0)+-1|0}else d=(a[e+2>>0]|0)+-1|0;do if((d|0)!=(a[b+2112>>0]|0)){if(f){d=c[b+1368>>2]|0;if(!d)d=6;else{d=c[d+8>>2]|0;g=10}}else{d=a[e+2>>0]|0;g=10}if((g|0)==10)if((d|0)>0)d=d+-1|0;else break;j=d+1|0;k=b+1892|0;while(1){i=d*100|0;f=(i|0)/(j|0)|0;i=(i+100|0)/(j|0)|0;if((i|0)>=(f|0)){g=i-f|0;h=c[k>>2]|0;e=f;while(1){l=(d|0)>(h|0);d=l?h:d;a[b+1912+(e<<1)>>0]=d;a[b+1912+(e<<1)+1>>0]=l?100:(((e-f|0)*100|0)/(g|0)|0)&255;if((e|0)<(i|0))e=e+1|0;else break}}c[b+2116+(d<<2)>>2]=i;if((d|0)>0)d=d+-1|0;else break}}while(0);k=c[b+1896>>2]|0;l=a[b+1912+(k<<1)>>0]|0;c[b+1900>>2]=l;c[b+1904>>2]=a[b+1912+(k<<1)+1>>0];c[b+1908>>2]=l;return}function Sk(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=hc;u=hc=hc+31&-32;hc=hc+16|0;s=u+8|0;t=b+8|0;r=b+12|0;o=c[r>>2]|0;l=c[t>>2]|0;m=l;k=o;a:do if((o|0)==(l|0)){p=-1;j=o;l=o}else{n=o-l>>2;p=0;while(1){j=c[m+(p<<2)>>2]|0;if((a[j+104>>0]|0)==0?(c[j+100>>2]|0)==0:0)break;p=p+1|0;if(p>>>0>=n>>>0){p=-1;j=o;break a}}Ve(j);k=c[r>>2]|0;j=k;l=c[t>>2]|0}while(0);o=j-l>>2;if((!((p|0)==(o+-1|0)?1:o>>>0<=(c[b+4>>2]|0)>>>0)?(q=c[k+-4>>2]|0,(a[q+104>>0]|0)==0):0)?(c[q+100>>2]|0)==0:0){Ue(q);nz(q);j=(c[r>>2]|0)+-4|0;c[r>>2]=j}if((p|0)==-1){j=j-(c[t>>2]|0)>>2;k=lz(432)|0;Rg(k);c[s>>2]=k;l=c[r>>2]|0;if((l|0)==(c[b+16>>2]|0))kl(t,s);else{c[l>>2]=k;c[r>>2]=(c[r>>2]|0)+4}p=j}o=c[(c[t>>2]|0)+(p<<2)>>2]|0;j=c[d>>2]|0;l=c[j+484>>2]|0;m=c[j+488>>2]|0;n=c[j+476>>2]|0;if(n>>>0>=4)M(69335,60364,259,69337);c[u>>2]=j;k=u+4|0;j=c[d+4>>2]|0;c[k>>2]=j;if(j|0){d=j+4|0;c[d>>2]=(c[d>>2]|0)+1}Pg(o,l,m,n,u,1,e,0,f,g,h,i)|0;j=c[k>>2]|0;if(!j){u=o+324|0;a[u>>0]=0;hc=v;return p|0}i=j+4|0;u=c[i>>2]|0;c[i>>2]=u+-1;if(u|0){u=o+324|0;a[u>>0]=0;hc=v;return p|0}wc[c[(c[j>>2]|0)+8>>2]&255](j);iz(j);u=o+324|0;a[u>>0]=0;hc=v;return p|0}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b>>2]|0;g=c[b+4>>2]|0;if(g|0){b=g+4|0;c[b>>2]=(c[b>>2]|0)+1}c[a+120>>2]=f;f=a+124|0;b=c[f>>2]|0;c[f>>2]=g;if(b|0?(f=b+4|0,g=c[f>>2]|0,c[f>>2]=g+-1,(g|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[d>>2]|0;f=c[d+4>>2]|0;if(f|0){d=f+4|0;c[d>>2]=(c[d>>2]|0)+1}c[a+128>>2]=b;d=a+132|0;b=c[d>>2]|0;c[d>>2]=f;if(b|0?(g=b+4|0,d=c[g>>2]|0,c[g>>2]=d+-1,(d|0)==0):0){wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b)}b=c[e>>2]|0;f=c[e+4>>2]|0;if(f|0){e=f+4|0;c[e>>2]=(c[e>>2]|0)+1}c[a+136>>2]=b;a=a+140|0;b=c[a>>2]|0;c[a>>2]=f;if(!b)return;e=b+4|0;a=c[e>>2]|0;c[e>>2]=a+-1;if(a|0)return;wc[c[(c[b>>2]|0)+8>>2]&255](b);iz(b);return}function Uk(a){a=a|0;var b=0,d=0;b=c[a+164>>2]|0;if(b|0)hB(b|0,0,(c[a+168>>2]|0)*3|0)|0;b=c[a+144>>2]|0;if(b|0)hB(b|0,0,(c[a+148>>2]|0)*24|0)|0;b=c[a+264>>2]|0;if(b|0)hB(b|0,0,c[a+268>>2]|0)|0;d=c[a+148>>2]|0;if((d|0)<=0)return;a=c[a+332>>2]|0;b=0;do{c[a+(b*80|0)>>2]=0;b=b+1|0}while((b|0)<(d|0));return}function Vk(a){a=a|0;return (a&-8)<<24>>24==16|0}function Wk(a){a=a|0;return (a+-19&255)<2|0}function Xk(a){a=a|0;return (a+-16&255)<3|0}function Yk(a){a=a|0;return (a|1)<<24>>24==9|0}function Zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=b+3208|0;if(Vk(a[i>>0]|0)|0?(a[b+2205>>0]|0)!=0:0){g=b+2208|0;c[g>>2]=0;a[b+3224>>0]=1;e=d+32|0;d=e;e=c[e>>2]|0;f=0}else h=4;do if((h|0)==4){f=c[(c[b+1376>>2]|0)+5032>>2]|0;d=d+32|0;h=c[d>>2]|0;e=c[b+2212>>2]|0;if((e|0)>(h|0)?(e-h|0)>=((f|0)/2|0|0):0){f=(c[b+2216>>2]|0)+f|0;g=b+2208|0;c[g>>2]=f;e=h;break}if((h|0)>(e|0)?(h-e|0)>((f|0)/2|0|0):0){f=(c[b+2216>>2]|0)-f|0;g=b+2208|0;c[g>>2]=f;e=h;break}f=c[b+2216>>2]|0;g=b+2208|0;c[g>>2]=f;e=h}while(0);h=c[b+2220>>2]|0;c[h+96>>2]=e+f;c[h+92>>2]=e;if(a[h+328>>0]|0)return;if(il(a[i>>0]|0)|0)return;if(Yk(a[i>>0]|0)|0)return;if(jl(a[i>>0]|0)|0)return;c[b+2212>>2]=c[d>>2];c[b+2216>>2]=c[g>>2];return}function _k(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=hc;w=hc=hc+31&-32;hc=hc+32|0;A=w+16|0;z=w+4|0;c[A>>2]=0;B=A+4|0;c[B>>2]=0;x=A+8|0;c[x>>2]=0;y=d+2220|0;t=c[c[y>>2]>>2]|0;k=d+3208|0;if((Vk(a[k>>0]|0)|0?a[d+2205>>0]|0:0)?(l=c[(c[y>>2]|0)+96>>2]|0,m=d+2152|0,n=d+2156|0,g=c[n>>2]|0,h=c[m>>2]|0,f=g-h|0,(f|0)>0):0){j=0;i=f>>>2;f=h;do{if(i>>>0>j>>>0)i=c[f+(j<<2)>>2]|0;else i=0;if(((c[i+100>>2]|0)!=0?(c[i+96>>2]|0)<(l|0):0)?(o=i+108|0,p=c[i>>2]|0,(c[o>>2]|0)>>>0>p>>>0):0){c[z>>2]=p;h=c[B>>2]|0;if(h>>>0<(c[x>>2]|0)>>>0){c[h>>2]=p;c[B>>2]=h+4}else{bl(A,z);g=c[n>>2]|0;f=c[m>>2]|0}c[o>>2]=c[i>>2]}j=j+1|0;i=g-f>>2}while((j|0)<(i|0))}if(Wk(a[k>>0]|0)|0){r=d+2548|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0}else{f=a[e+912>>0]|0;if(!(f<<24>>24)){g=0;f=0}else{l=(c[y>>2]|0)+96|0;k=f&255;h=0;i=0;j=0;while(1){r=(a[e+880+h>>0]|0)==0;f=j+(r&1)|0;g=i+((r^1)&1)|0;c[(r?d+2696+(j<<2)|0:d+2568+(i<<2)|0)>>2]=(c[l>>2]|0)+(b[e+816+(h<<1)>>1]|0);h=h+1|0;if(h>>>0>=k>>>0)break;else{i=g;j=f}}}c[d+2548>>2]=g;g=a[e+913>>0]|0;if(!(g<<24>>24))g=0;else{l=(c[y>>2]|0)+96|0;k=g&255;h=0;i=0;while(1){r=(a[e+896+h>>0]|0)==0;j=f+(r&1)|0;g=i+((r^1)&1)|0;c[(r?d+2696+(f<<2)|0:d+2632+(i<<2)|0)>>2]=(c[l>>2]|0)+(b[e+848+(h<<1)>>1]|0);h=h+1|0;if(h>>>0>=k>>>0){f=j;break}else{i=g;f=j}}}c[d+2552>>2]=g;c[d+2556>>2]=f;m=e+144|0;n=e+148|0;if(((c[n>>2]|0)+(c[m>>2]|0)|0)>0){k=e+32|0;l=d+1376|0;j=0;g=0;f=0;do{h=c[d+2228+(j<<2)>>2]|0;i=e+248+j|0;if(a[i>>0]|0)h=(c[(c[y>>2]|0)+96>>2]|0)+h-(c[k>>2]|0)-(u(c[(c[l>>2]|0)+5032>>2]|0,c[d+2356+(j<<2)>>2]|0)|0)|0;if(!(c[d+2292+(j<<2)>>2]|0)){c[d+2824+(f<<2)>>2]=h;c[d+2484+(f<<2)>>2]=a[i>>0];f=f+1|0}else{c[d+2760+(g<<2)>>2]=h;c[d+2420+(g<<2)>>2]=a[i>>0];g=g+1|0}j=j+1|0}while((j|0)<((c[n>>2]|0)+(c[m>>2]|0)|0))}else{g=0;f=0}c[d+2560>>2]=g;c[d+2564>>2]=f}o=d+2144|0;p=d+2152|0;q=d+2156|0;g=(c[q>>2]|0)-(c[p>>2]|0)|0;f=g>>2;c[z>>2]=0;r=z+4|0;c[r>>2]=0;h=z+8|0;c[h>>2]=0;if(g|0){if((g|0)<0)Yz(z);g=lz(f)|0;c[r>>2]=g;c[z>>2]=g;c[h>>2]=g+f;do{a[g>>0]=0;g=(c[r>>2]|0)+1|0;c[r>>2]=g;f=f+-1|0}while((f|0)!=0)}n=d+2560|0;f=c[n>>2]|0;if((f|0)>0){l=d+1376|0;k=0;do{g=d+2760+(k<<2)|0;f=c[g>>2]|0;if(!(c[d+2420+(k<<2)>>2]|0))f=cl(o,f,t,1)|0;else f=dl(o,f,t,1)|0;j=d+3080+(k<<2)|0;c[j>>2]=f;if((f|0)>-1){g=f;f=(c[z>>2]|0)+f|0}else{i=el(d,c[l>>2]|0,c[g>>2]|0,1)|0;g=(c[q>>2]|0)-(c[p>>2]|0)>>2;a[w>>0]=0;f=c[z>>2]|0;h=(c[r>>2]|0)-f|0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[r>>2]=f+g}else{fl(z,g-h|0,w);f=c[z>>2]|0}c[j>>2]=i;g=i;f=f+i|0}a[f>>0]=1;if(a[(c[(c[p>>2]|0)+(g<<2)>>2]|0)+324>>0]|0)a[(c[y>>2]|0)+324>>0]=4;k=k+1|0;f=c[n>>2]|0}while((k|0)<(f|0))}m=d+2564|0;g=c[m>>2]|0;if((g|0)>0){l=d+1376|0;k=0;do{g=d+2824+(k<<2)|0;f=c[g>>2]|0;if(!(c[d+2484+(k<<2)>>2]|0))f=cl(o,f,t,1)|0;else f=dl(o,f,t,1)|0;j=d+3144+(k<<2)|0;c[j>>2]=f;if((f|0)>-1)f=(c[z>>2]|0)+f|0;else{i=el(d,c[l>>2]|0,c[g>>2]|0,1)|0;g=(c[q>>2]|0)-(c[p>>2]|0)>>2;a[w>>0]=0;f=c[z>>2]|0;h=(c[r>>2]|0)-f|0;if(g>>>0<=h>>>0){if(g>>>0<h>>>0)c[r>>2]=f+g}else{fl(z,g-h|0,w);f=c[z>>2]|0}c[j>>2]=i;f=f+i|0}a[f>>0]=1;k=k+1|0;f=c[m>>2]|0}while((k|0)<(f|0));i=f;f=c[n>>2]|0}else i=g;if((f|0)>0){h=c[p>>2]|0;g=0;do{c[(c[h+(c[d+3080+(g<<2)>>2]<<2)>>2]|0)+100>>2]=2;g=g+1|0}while((g|0)<(f|0))}if((i|0)>0){g=c[p>>2]|0;f=0;do{c[(c[g+(c[d+3144+(f<<2)>>2]<<2)>>2]|0)+100>>2]=2;f=f+1|0}while((f|0)!=(i|0))}k=d+2548|0;if((c[k>>2]|0)>0){l=d+1376|0;j=0;do{f=d+2568+(j<<2)|0;g=dl(o,c[f>>2]|0,t,0)|0;h=d+2888+(j<<2)|0;c[h>>2]=g;if((g|0)<=-1){i=el(d,c[l>>2]|0,c[f>>2]|0,0)|0;c[h>>2]=i;g=c[z>>2]|0;if(i>>>0<((c[r>>2]|0)-g|0)>>>0){f=i;g=g+i|0;s=80}else f=i}else{f=g;g=(c[z>>2]|0)+g|0;s=80}if((s|0)==80){s=0;a[g>>0]=1}if(a[(c[(c[p>>2]|0)+(f<<2)>>2]|0)+324>>0]|0)a[(c[y>>2]|0)+324>>0]=4;j=j+1|0}while((j|0)<(c[k>>2]|0))}j=d+2552|0;if((c[j>>2]|0)>0){k=d+1376|0;i=0;do{g=d+2632+(i<<2)|0;f=dl(o,c[g>>2]|0,t,0)|0;h=d+2952+(i<<2)|0;c[h>>2]=f;if((f|0)<=-1){f=el(d,c[k>>2]|0,c[g>>2]|0,0)|0;c[h>>2]=f}a[(c[z>>2]|0)+f>>0]=1;if(a[(c[(c[p>>2]|0)+(f<<2)>>2]|0)+324>>0]|0)a[(c[y>>2]|0)+324>>0]=4;i=i+1|0}while((i|0)<(c[j>>2]|0))}g=d+2556|0;if((c[g>>2]|0)>0){f=0;do{h=dl(o,c[d+2696+(f<<2)>>2]|0,t,0)|0;c[d+3016+(f<<2)>>2]=h;if((h|0)>-1)a[(c[z>>2]|0)+h>>0]=1;f=f+1|0}while((f|0)<(c[g>>2]|0))}h=c[q>>2]|0;g=c[p>>2]|0;f=h-g|0;if((f|0)>0){k=0;i=f>>>2;f=g;j=h;while(1){t=c[z>>2]|0;if(k>>>0<((c[r>>2]|0)-t|0)>>>0?(a[t+k>>0]|0)!=0:0)g=j;else{if(i>>>0>k>>>0)g=c[f+(k<<2)>>2]|0;else g=0;h=c[y>>2]|0;if(((g|0)!=(h|0)?(v=g+108|0,(c[v>>2]|0)>>>0>(c[h>>2]|0)>>>0):0)?(c[g+100>>2]|0)!=0:0){g=c[g>>2]|0;c[w>>2]=g;i=c[B>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[i>>2]=g;c[B>>2]=i+4;g=j}else{bl(A,w);h=c[y>>2]|0;g=c[q>>2]|0;f=c[p>>2]|0}c[v>>2]=c[h>>2]}else g=j}k=k+1|0;i=g-f>>2;if((k|0)>=(i|0))break;else j=g}}f=e+1348|0;if((f|0)!=(A|0))gl(f,c[A>>2]|0,c[B>>2]|0);f=c[z>>2]|0;if(f|0){c[r>>2]=f;nz(f)}f=c[A>>2]|0;if(!f){hc=C;return}c[B>>2]=f;nz(f);hc=C;return}function $k(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,v=0,w=0,x=0,y=0,z=0;z=hc;y=hc=hc+31&-32;hc=hc+480|0;t=y+288|0;x=y+96|0;v=c[e+916>>2]|0;w=c[e+332>>2]|0;s=(w|0)>(v|0)?w:v;f=y;g=f+96|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a:do if((s|0)>0){h=c[b+2548>>2]|0;o=c[b+2552>>2]|0;p=(o|0)>0;q=c[b+2560>>2]|0;r=(q|0)>0;b:do if((h|0)>0){l=b+2888|0;m=b+2952|0;n=b+3080|0;i=0-h|0;j=0-((o|0)>1?o:1)|0;k=0-((q|0)>1?q:1)|0;f=0;while(1){if((f|0)<(s|0)){g=f-s|0;fB(t+(f<<2)|0,l|0,u(g>>>0<i>>>0?i:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(h|0))}if((f|0)<(s|0)&p){g=f-s|0;fB(t+(f<<2)|0,m|0,u(g>>>0<j>>>0?j:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(o|0))}if((f|0)<(s|0)&r){g=f-s|0;g=g>>>0<k>>>0?k:g;hB(y+f|0,1,0-g|0)|0;fB(t+(f<<2)|0,n|0,u(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(q|0))}if(!f)break b;if((f|0)>=(s|0))break a}}else{j=b+2952|0;k=b+3080|0;h=0-((o|0)>1?o:1)|0;i=0-((q|0)>1?q:1)|0;f=0;while(1){if((f|0)<(s|0)&p){g=f-s|0;fB(t+(f<<2)|0,j|0,u(g>>>0<h>>>0?h:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(o|0))}if((f|0)<(s|0)&r){g=f-s|0;g=g>>>0<i>>>0?i:g;hB(y+f|0,1,0-g|0)|0;fB(t+(f<<2)|0,k|0,u(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(s|0)&(g|0)<(q|0))}if(!f)break b;if((f|0)>=(s|0))break a}}while(0);f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;y=0;hc=z;return y|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1016;y=0;hc=z;return y|0}}while(0);if((w|0)>=17)M(69158,60315,1771,69191);c:do if((w|0)>0){i=b+2152|0;j=b+2156|0;k=(a[e+340>>0]|0)==0;h=0;while(1){if(k)f=h;else f=d[e+342+h>>0]|0;g=e+920+(h<<2)|0;c[g>>2]=c[t+(f<<2)>>2];a[e+1304+h>>0]=a[y+f>>0]|0;f=c[g>>2]|0;g=c[i>>2]|0;if((c[j>>2]|0)-g>>2>>>0<=f>>>0){f=0;g=76;break}f=c[g+(f<<2)>>2]|0;if(!f){f=0;g=76;break}c[e+1048+(h<<2)>>2]=c[f+96>>2];c[e+1176+(h<<2)>>2]=c[f+100>>2];h=h+1|0;if((h|0)>=(w|0))break c}if((g|0)==76){hc=z;return f|0}}while(0);if(c[e+24>>2]|0){y=1;hc=z;return y|0}t=c[e+336>>2]|0;o=(t|0)>(v|0)?t:v;d:do if((o|0)>0){h=c[b+2552>>2]|0;p=c[b+2548>>2]|0;q=(p|0)>0;r=c[b+2560>>2]|0;s=(r|0)>0;e:do if((h|0)>0){l=b+2952|0;m=b+2888|0;n=b+3080|0;i=0-h|0;j=0-((p|0)>1?p:1)|0;k=0-((r|0)>1?r:1)|0;f=0;while(1){if((f|0)<(o|0)){g=f-o|0;fB(x+(f<<2)|0,l|0,u(g>>>0<i>>>0?i:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(h|0))}if((f|0)<(o|0)&q){g=f-o|0;fB(x+(f<<2)|0,m|0,u(g>>>0<j>>>0?j:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(p|0))}if((f|0)<(o|0)&s){g=f-o|0;g=g>>>0<k>>>0?k:g;hB(y+48+f|0,1,0-g|0)|0;fB(x+(f<<2)|0,n|0,u(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(r|0))}if(!f)break e;if((f|0)>=(o|0))break d}}else{j=b+2888|0;k=b+3080|0;h=0-((p|0)>1?p:1)|0;i=0-((r|0)>1?r:1)|0;f=0;while(1){if((f|0)<(o|0)&q){g=f-o|0;fB(x+(f<<2)|0,j|0,u(g>>>0<h>>>0?h:g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(p|0))}if((f|0)<(o|0)&s){g=f-o|0;g=g>>>0<i>>>0?i:g;hB(y+48+f|0,1,0-g|0)|0;fB(x+(f<<2)|0,k|0,u(g,-4)|0)|0;g=0;do{f=f+1|0;g=g+1|0}while((f|0)<(o|0)&(g|0)<(r|0))}if(!f)break e;if((f|0)>=(o|0))break d}}while(0);f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;y=0;hc=z;return y|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1016;y=0;hc=z;return y|0}}while(0);if((w|0)>16){f=b+84|0;g=c[f>>2]|0;if((g|0)==20){c[b+80>>2]=1001;y=0;hc=z;return y|0}else{c[f>>2]=g+1;c[b+4+(g<<2)>>2]=1012;y=0;hc=z;return y|0}}if((t|0)>=17)M(69225,60315,1824,69191);if((t|0)<=0){y=1;hc=z;return y|0}k=b+2152|0;i=b+2156|0;j=(a[e+341>>0]|0)==0;h=0;while(1){if(j)f=h;else f=d[e+358+h>>0]|0;g=e+984+(h<<2)|0;c[g>>2]=c[x+(f<<2)>>2];a[e+1320+h>>0]=a[y+48+f>>0]|0;f=c[g>>2]|0;g=c[k>>2]|0;if((c[i>>2]|0)-g>>2>>>0<=f>>>0){f=0;g=76;break}f=c[g+(f<<2)>>2]|0;if(!f){f=0;g=76;break}c[e+1112+(h<<2)>>2]=c[f+96>>2];c[e+1240+(h<<2)>>2]=c[f+100>>2];h=h+1|0;if((h|0)>=(t|0)){f=1;g=76;break}}if((g|0)==76){hc=z;return f|0}return 0}function al(a){a=a|0;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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function cl(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;a:do if(e){g=a+8|0;h=c[a+12>>2]|0;i=c[g>>2]|0;a=i;if((h|0)==(i|0)){d=-1;return d|0}f=h-i>>2;e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+92>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?(c[j+100>>2]|0)==2:0)break;e=e+1|0;if(e>>>0>=f>>>0){f=h;e=i;break a}}return e|0}else{g=a+8|0;j=c[g>>2]|0;f=c[a+12>>2]|0;e=j;a=j}while(0);if((f|0)==(e|0)){j=-1;return j|0}e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+92>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?c[j+100>>2]|0:0){a=15;break}e=e+1|0;if(e>>>0>=f-(c[g>>2]|0)>>2>>>0){e=-1;a=15;break}}if((a|0)==15)return e|0;return 0}function dl(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;a:do if(e){g=a+8|0;h=c[a+12>>2]|0;i=c[g>>2]|0;a=i;if((h|0)==(i|0)){d=-1;return d|0}f=h-i>>2;e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+96>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?(c[j+100>>2]|0)==2:0)break;e=e+1|0;if(e>>>0>=f>>>0){f=h;e=i;break a}}return e|0}else{g=a+8|0;j=c[g>>2]|0;f=c[a+12>>2]|0;e=j;a=j}while(0);if((f|0)==(e|0)){j=-1;return j|0}e=0;while(1){j=c[a+(e<<2)>>2]|0;if(((c[j+96>>2]|0)==(b|0)?(c[j+108>>2]|0)>(d|0):0)?c[j+100>>2]|0:0){a=15;break}e=e+1|0;if(e>>>0>=f-(c[g>>2]|0)>>2>>>0){e=-1;a=15;break}}if((a|0)==15)return e|0;return 0}function el(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;n=hc;i=hc=hc+31&-32;hc=hc+16|0;j=b+2144|0;if(!(Ui(j,1)|0))M(69258,60315,1414,69289);l=a[(c[b+1384>>2]|0)+9>>0]|0;h=c[b+728+(l<<3)>>2]|0;l=c[b+728+(l<<3)+4>>2]|0;m=(l|0)==0;if(m){c[i>>2]=h;h=i+4|0;c[h>>2]=0}else{k=l+4|0;c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=h;h=i+4|0;c[h>>2]=l;c[k>>2]=(c[k>>2]|0)+1}k=Sk(j,i,b,0,0,0,0)|0;h=c[h>>2]|0;if(h|0?(i=h+4|0,j=c[i>>2]|0,c[i>>2]=j+-1,(j|0)==0):0){wc[c[(c[h>>2]|0)+8>>2]&255](h);iz(h)}if((k|0)<=-1)M(69328,60315,1419,69289);h=c[b+2152>>2]|0;if((c[b+2156>>2]|0)-h>>2>>>0>k>>>0)h=c[h+(k<<2)>>2]|0;else h=0;j=1<<(c[e+5004>>2]|0)+-1;hl(h,1<<(c[e+4996>>2]|0)+-1,j,j);j=h+168|0;if((c[j>>2]|0)>0){b=h+164|0;i=0;do{o=(c[b>>2]|0)+(i*3|0)|0;p=(d[o>>0]|d[o+1>>0]<<8)&-769;a[o>>0]=p;a[o+1>>0]=p>>8;i=i+1|0}while((i|0)<(c[j>>2]|0))}c[h+96>>2]=f;c[h+92>>2]=(c[e+5032>>2]|0)+-1&f;a[h+104>>0]=0;c[h+100>>2]=g?2:1;a[h+324>>0]=1;if(m){hc=n;return k|0}o=l+4|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(p|0){hc=n;return k|0}wc[c[(c[l>>2]|0)+8>>2]&255](l);iz(l);hc=n;return k|0}function fl(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;m=b+8|0;h=c[m>>2]|0;n=b+4|0;f=c[n>>2]|0;if((h-f|0)>>>0>=d>>>0){do{a[f>>0]=a[e>>0]|0;f=(c[n>>2]|0)+1|0;c[n>>2]=f;d=d+-1|0}while((d|0)!=0);return}j=c[b>>2]|0;i=f-j|0;g=i+d|0;if((g|0)<0)Yz(b);k=h-j|0;l=k<<1;g=k>>>0<1073741823?(l>>>0<g>>>0?g:l):2147483647;if(!g)l=0;else l=lz(g)|0;i=l+i|0;k=l+g|0;h=f+d-j|0;f=i;while(1){a[f>>0]=a[e>>0]|0;d=d+-1|0;if(!d)break;else f=f+1|0}d=c[b>>2]|0;g=(c[n>>2]|0)-d|0;f=i+(0-g)|0;if((g|0)>0)fB(f|0,d|0,g|0)|0;c[b>>2]=f;c[n>>2]=l+h;c[m>>2]=k;if(!d)return;nz(d);return}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d;h=b;g=k-h|0;f=g>>2;i=a+8|0;e=c[i>>2]|0;l=c[a>>2]|0;j=l;if(f>>>0<=e-l>>2>>>0){g=a+4|0;a=(c[g>>2]|0)-l>>2;f=f>>>0>a>>>0;a=f?b+(a<<2)|0:d;d=a;e=d-h|0;if(e|0)gB(l|0,b|0,e|0)|0;if(!f){c[g>>2]=j+(e>>2<<2);return}e=k-d|0;if((e|0)<=0)return;fB(c[g>>2]|0,a|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2);return}if(l){e=a+4|0;c[e>>2]=l;nz(l);c[i>>2]=0;c[e>>2]=0;c[a>>2]=0;e=0}if(f>>>0>1073741823)Yz(a);l=e>>1;f=e>>2>>>0<536870911?(l>>>0<f>>>0?f:l):1073741823;if(f>>>0>1073741823)Yz(a);e=lz(f<<2)|0;d=a+4|0;c[d>>2]=e;c[a>>2]=e;c[i>>2]=e+(f<<2);if((g|0)<=0)return;fB(e|0,b|0,g|0)|0;c[d>>2]=e+(g>>>2<<2);return}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((b|0)>-1)hB(c[a+4>>2]|0,b&255|0,u(c[a+28>>2]|0,c[a+40>>2]|0)|0)|0;if((d|0)>-1)hB(c[a+8>>2]|0,d&255|0,u(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;if((e|0)<=-1)return;hB(c[a+12>>2]|0,e&255|0,u(c[a+36>>2]|0,c[a+44>>2]|0)|0)|0;return}function il(a){a=a|0;if((a&255)<15)return (a&1)==0|0;else return 0;return 0}function jl(a){a=a|0;return (a|1)<<24>>24==7|0}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function ll(a){a=a|0;var c=0;c=a+100|0;do{b[a>>1]=0;a=a+2|0}while((a|0)<(c|0));return}function ml(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=c[g+856+(c[f+12>>2]<<3)>>2]|0;if(!h)M(71159,58545,152,71163);h=c[g+728+(a[h+9>>0]<<3)>>2]|0;if(!h)M(71186,58545,154,71163);t=Wg(e)|0;s=f+384|0;a[s>>0]=t;if(t>>>0>7){f=0;return f|0}t=h+476|0;do if(c[t>>2]|0){g=Xg(e)|0;g=g+(d[s>>0]|0)|0;if(g>>>0>7){f=0;return f|0}else{n=f+385|0;a[n>>0]=g;break}}else n=f+385|0;while(0);o=f+332|0;p=f+24|0;q=f+336|0;r=h+5164|0;m=h+5160|0;l=0;a:while(1){if(l)if(!(c[p>>2]|0))g=q;else{g=1;h=33;break}else g=o;k=c[g>>2]|0;h=(k|0)>0;if(h){g=0;do{a[f+386+(l<<4)+g>>0]=Mf(e,1)|0;g=g+1|0}while((g|0)!=(k|0));if((c[t>>2]|0)!=0&h){g=0;do{a[f+418+(l<<4)+g>>0]=Mf(e,1)|0;g=g+1|0}while((g|0)!=(k|0))}if(h){j=0;do{if(!(a[f+386+(l<<4)+j>>0]|0)){b[f+450+(l<<5)+(j<<1)>>1]=1<<d[s>>0];g=0}else{g=Xg(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}b[f+450+(l<<5)+(j<<1)>>1]=(1<<d[s>>0])+g;g=Xg(e)|0;i=c[m>>2]|0;if(!((g|0)>=(0-i|0)&(g|0)<(i|0))){g=0;h=33;break a}g=g&255}a[f+514+(l<<4)+j>>0]=g;if(!(a[f+418+(l<<4)+j>>0]|0)){g=1<<d[n>>0]&65535;b[f+546+(l<<6)+(j<<2)>>1]=g;a[f+674+(l<<5)+(j<<1)>>0]=0;b[f+546+(l<<6)+(j<<2)+2>>1]=g;g=0}else{g=Xg(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}i=f+546+(l<<6)+(j<<2)|0;b[i>>1]=(1<<d[n>>0])+g;g=Xg(e)|0;h=c[r>>2]|0;if(!((g|0)>=(u(h,-4)|0)&(g|0)<(h<<2|0))){g=0;h=33;break a}i=u(h,b[i>>1]|0)|0;g=h+g-(i>>d[n>>0])|0;i=0-h|0;a[f+674+(l<<5)+(j<<1)>>0]=(g|0)<(i|0)?i:(g|0)<(h|0)?g:h+255|0;g=Xg(e)|0;if((g+128|0)>>>0>255){g=0;h=33;break a}i=f+546+(l<<6)+(j<<2)+2|0;b[i>>1]=(1<<d[n>>0])+g;g=Xg(e)|0;h=c[r>>2]|0;if(!((g|0)>=(u(h,-4)|0)&(g|0)<(h<<2|0))){g=0;h=33;break a}i=u(h,b[i>>1]|0)|0;g=h+g-(i>>d[n>>0])|0;i=0-h|0;g=((g|0)<(i|0)?i:(g|0)<(h|0)?g:h+255|0)&255}a[f+674+(l<<5)+(j<<1)+1>>0]=g;j=j+1|0}while((j|0)<(k|0))}}l=l+1|0;if(l>>>0>=2){g=1;h=33;break}}if((h|0)==33)return g|0;return 0}function nl(d){d=d|0;var e=0;c[d+12>>2]=0;a[d+16>>0]=0;e=d+20|0;c[d+32>>2]=0;a[d+36>>0]=0;c[d>>2]=0;c[d+4>>2]=0;b[d+8>>1]=0;c[e>>2]=0;c[e+4>>2]=0;b[e+8>>1]=0;ll(d+38|0);e=d+740|0;c[d+760>>2]=0;c[d+764>>2]=0;a[d+768>>0]=0;c[d+772>>2]=0;c[d+776>>2]=0;hB(d+140|0,0,237)|0;hB(d+380|0,0,358)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b[e+16>>1]=0;a[e+18>>0]=0;c[d+784>>2]=c[d+780>>2];e=d+792|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;ll(d+816|0);hB(d+916|0,0,420)|0;c[d+1352>>2]=c[d+1348>>2];a[d+1344>>0]=0;return}function ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=hc;l=hc=hc+31&-32;hc=hc+16|0;m=b+40|0;n=b+44|0;e=c[n>>2]|0;if((e|0)==(c[m>>2]|0)){e=lz(48)|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;g=e+32|0;c[g>>2]=0;f=e+36|0;c[f>>2]=0;i=e+40|0;c[i>>2]=0;h=lz(64)|0;c[g>>2]=h;g=h+64|0;c[i>>2]=g;i=h+64|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[f>>2]=g;k=e+8|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;k=e}else{j=e+-4|0;k=c[j>>2]|0;c[n>>2]=j}a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;g=k+8|0;c[g>>2]=0;c[g+4>>2]=0;c[k+16>>2]=0;g=k+24|0;c[g>>2]=0;j=k+36|0;c[j>>2]=c[k+32>>2];h=k+28|0;if((c[h>>2]|0)>=(d|0)){n=k;hc=o;return n|0}i=uo(d)|0;if(i|0){e=k+20|0;f=c[e>>2]|0;if(f|0){fB(i|0,f|0,c[g>>2]|0)|0;vo(f)}c[e>>2]=i;c[h>>2]=d;n=k;hc=o;return n|0}c[l>>2]=k;e=k;do if(k|0){f=c[n>>2]|0;if(f-(c[m>>2]|0)>>2>>>0<16)if((c[b+48>>2]|0)==(f|0)){Qe(m,l);break}else{c[f>>2]=e;c[n>>2]=(c[n>>2]|0)+4;break}else{vo(c[k+20>>2]|0);e=c[k+32>>2]|0;if(e|0){c[j>>2]=e;nz(e)}nz(k);break}}while(0);n=0;hc=o;return n|0}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;i=a+4|0;j=c[a>>2]|0;k=(c[i>>2]|0)-j|0;g=k>>2;d=g+1|0;if(d>>>0>1073741823)Yz(a);l=a+8|0;f=(c[l>>2]|0)-j|0;h=f>>1;h=f>>2>>>0<536870911?(h>>>0<d>>>0?d:h):1073741823;do if(h)if(h>>>0>1073741823){l=N(8)|0;rz(l,68988);c[l>>2]=52024;S(l|0,11744,126)}else{f=lz(h<<2)|0;e=f;break}else{e=0;f=0}while(0);d=e+(g<<2)|0;c[d>>2]=c[b>>2];if((k|0)>0)fB(f|0,j|0,k|0)|0;c[a>>2]=e;c[i>>2]=d+4;c[l>>2]=e+(h<<2);if(!j)return;nz(j);return}function ql(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;s=hc;o=hc=hc+31&-32;hc=hc+32|0;b=a+16|0;d=c[b>>2]|0;if(d>>>0>1023){c[b>>2]=d+-1024;o=a+4|0;n=c[o>>2]|0;q=c[n>>2]|0;n=n+4|0;c[o>>2]=n;p=a+8|0;b=c[p>>2]|0;m=a+12|0;r=c[m>>2]|0;e=r;do if((b|0)==(r|0)){i=n;d=c[a>>2]|0;f=d;if(n>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=n+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,n|0,d|0)|0;b=(c[o>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[p>>2]=a;c[o>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((n|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=n;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[o>>2]=l;c[p>>2]=b;c[m>>2]=j;if(d){nz(d);b=c[p>>2]|0}}while(0);c[b>>2]=q;c[p>>2]=(c[p>>2]|0)+4;hc=s;return}r=a+8|0;b=c[r>>2]|0;q=a+4|0;l=c[q>>2]|0;i=b-l|0;j=i>>2;p=a+12|0;e=c[p>>2]|0;f=c[a>>2]|0;g=e-f|0;m=b;h=e;n=l;d=f;if(j>>>0>=g>>2>>>0){d=(g|0)==0?1:g>>1;c[o+12>>2]=0;c[o+16>>2]=a+12;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(d<<2)|0;f=g;break}else{f=0;g=0}while(0);c[o>>2]=f;b=g+(j<<2)|0;m=o+8|0;c[m>>2]=b;k=o+4|0;c[k>>2]=b;l=o+12|0;c[l>>2]=g+(d<<2);h=lz(4096)|0;do if((j|0)==(d|0)){if((i|0)>0){b=b+(((j+1|0)/-2|0)<<2)|0;c[m>>2]=b;c[k>>2]=b;break}d=(i|0)==0?1:i>>1;b=d>>>2;do if(d)if(d>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{e=lz(d<<2)|0;break}else e=0;while(0);b=e+(b<<2)|0;n=b;c[o>>2]=e;c[k>>2]=n;c[m>>2]=n;c[l>>2]=e+(d<<2);if(g)nz(f)}while(0);c[b>>2]=h;e=(c[m>>2]|0)+4|0;c[m>>2]=e;b=c[r>>2]|0;d=c[q>>2]|0;if((b|0)==(d|0))h=m;else{do{b=b+-4|0;sl(o,b);d=c[q>>2]|0}while((b|0)!=(d|0));h=m;e=c[m>>2]|0;b=c[r>>2]|0}f=d;g=c[a>>2]|0;c[a>>2]=c[o>>2];c[o>>2]=g;c[q>>2]=c[k>>2];c[k>>2]=f;c[r>>2]=e;c[h>>2]=b;a=c[p>>2]|0;c[p>>2]=c[l>>2];c[l>>2]=a;if((d|0)!=(b|0))c[m>>2]=b+(~((b+-4-f|0)>>>2)<<2);if(g|0)nz(g);hc=s;return}if((e|0)==(b|0)){c[o>>2]=lz(4096)|0;rl(a,o);m=c[q>>2]|0;n=c[m>>2]|0;m=m+4|0;c[q>>2]=m;b=c[r>>2]|0;o=c[p>>2]|0;e=o;do if((b|0)==(o|0)){i=m;d=c[a>>2]|0;f=d;if(m>>>0>d>>>0){e=((i-f>>2)+1|0)/-2|0;f=m+(e<<2)|0;d=b-i|0;if(!d)b=f;else{gB(f|0,m|0,d|0)|0;b=(c[q>>2]|0)+(e<<2)|0}a=f+(d>>2<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}f=e-f|0;f=(f|0)==0?1:f>>1;g=f>>>2;do if(f)if(f>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{h=lz(f<<2)|0;break}else h=0;while(0);k=h;e=h+(g<<2)|0;l=e;j=h+(f<<2)|0;if((m|0)==(b|0))b=l;else{f=((b+-4-i|0)>>>2)+1|0;d=m;while(1){c[e>>2]=c[d>>2];d=d+4|0;if((d|0)==(b|0))break;else e=e+4|0}b=h+(f+g<<2)|0;d=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[r>>2]=b;c[p>>2]=j;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=n;c[r>>2]=(c[r>>2]|0)+4;hc=s;return}else{o=lz(4096)|0;do if((m|0)==(h|0)){if(n>>>0>d>>>0){b=((l-f>>2)+1|0)/-2|0;d=n+(b<<2)|0;if(!i)b=d;else{gB(d|0,l|0,i|0)|0;b=(c[q>>2]|0)+(b<<2)|0}a=d+(j<<2)|0;c[r>>2]=a;c[q>>2]=b;b=a;break}b=(g|0)==0?1:g>>1;h=b>>>2;do if(b)if(b>>>0>1073741823){s=N(8)|0;rz(s,68988);c[s>>2]=52024;S(s|0,11744,126)}else{g=lz(b<<2)|0;break}else g=0;while(0);j=g;f=g+(h<<2)|0;k=f;i=g+(b<<2)|0;if((n|0)==(m|0))b=k;else{e=((m+-4-l|0)>>>2)+1|0;d=f;b=n;while(1){c[d>>2]=c[b>>2];b=b+4|0;if((b|0)==(m|0))break;else d=d+4|0}b=g+(e+h<<2)|0;d=c[a>>2]|0}c[a>>2]=j;c[q>>2]=k;c[r>>2]=b;c[p>>2]=i;if(d){nz(d);b=c[r>>2]|0}}while(0);c[b>>2]=o;c[r>>2]=(c[r>>2]|0)+4;hc=s;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=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=a+4|0;o=c[q>>2]|0;j=o;p=c[a>>2]|0;e=p;do if((o|0)==(p|0)){p=a+8|0;m=c[p>>2]|0;n=a+12|0;l=c[n>>2]|0;d=l;if(m>>>0<l>>>0){e=m;g=((d-e>>2)+1|0)/2|0;f=m+(g<<2)|0;e=e-j|0;d=f+(0-(e>>2)<<2)|0;if(!e){d=f;e=f}else{gB(d|0,o|0,e|0)|0;e=(c[p>>2]|0)+(g<<2)|0}c[q>>2]=d;c[p>>2]=e;break}e=d-e|0;e=(e|0)==0?1:e>>1;f=(e+3|0)>>>2;do if(e)if(e>>>0>1073741823){q=N(8)|0;rz(q,68988);c[q>>2]=52024;S(q|0,11744,126)}else{h=lz(e<<2)|0;break}else h=0;while(0);k=h;d=h+(f<<2)|0;l=d;i=h+(e<<2)|0;if((o|0)==(m|0)){f=l;e=o}else{g=((m+-4-j|0)>>>2)+f+1|0;f=d;e=o;while(1){c[f>>2]=c[e>>2];e=e+4|0;if((e|0)==(m|0))break;else f=f+4|0}f=h+(g<<2)|0;e=c[a>>2]|0}c[a>>2]=k;c[q>>2]=l;c[p>>2]=f;c[n>>2]=i;if(e){nz(e);d=c[q>>2]|0}}else d=o;while(0);c[d+-4>>2]=c[b>>2];c[q>>2]=(c[q>>2]|0)+-4;return}function tl(a,b){a=a|0;b=b|0;return Si(a,b)|0}function ul(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 vl(a+548|0,b,c,d,e,f)|0}function vl(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;q=hc;o=hc=hc+31&-32;hc=hc+16|0;if(c[b+8>>2]|0)M(71190,71216,375,71232);a[b+1>>0]=0;p=ol(b,e)|0;if(!p){p=7;hc=q;return p|0}j=p+28|0;do if((c[j>>2]|0)<(e|0)){i=uo(e)|0;if(i|0){k=p+20|0;l=c[k>>2]|0;if(l|0){fB(i|0,l|0,c[p+24>>2]|0)|0;vo(l)}c[k>>2]=i;c[j>>2]=e;break}c[o>>2]=p;e=p;i=b+40|0;j=b+44|0;k=c[j>>2]|0;do if(k-(c[i>>2]|0)>>2>>>0<16)if((c[b+48>>2]|0)==(k|0)){Qe(i,o);break}else{c[k>>2]=e;c[j>>2]=(c[j>>2]|0)+4;break}else{vo(c[p+20>>2]|0);e=c[p+32>>2]|0;if(e|0){c[p+36>>2]=e;nz(e)}nz(p)}while(0);p=7;hc=q;return p|0}else i=c[p+20>>2]|0;while(0);fB(i|0,d|0,e|0)|0;n=p+24|0;c[n>>2]=e;d=p+8|0;c[d>>2]=f;c[d+4>>2]=g;c[p+16>>2]=h;a:do if((e|0)>2){d=p+32|0;f=p+36|0;g=p+40|0;i=c[p+20>>2]|0;l=0;while(1){k=i+2|0;j=a[k>>0]|0;switch(j<<24>>24){case 0:case 3:{if((a[i>>0]|0)==0?(m=i+1|0,j<<24>>24==3&(a[m>>0]|0)==0):0){j=c[f>>2]|0;e=l+2+(j-(c[d>>2]|0)>>2)|0;c[o>>2]=e;if((c[g>>2]|0)==(j|0))pl(d,o);else{c[j>>2]=e;c[f>>2]=j+4}gB(k|0,i+3|0,-3-l+(c[n>>2]|0)|0)|0;e=(c[n>>2]|0)+-1|0;c[n>>2]=e;j=l+1|0;i=m}else j=l;break}default:{j=l+2|0;i=k}}l=j+1|0;if((l|0)>=(e+-2|0))break a;else i=i+1|0}}while(0);d=b+16|0;k=c[d>>2]|0;o=(c[b+20>>2]|0)-k|0;l=b+28|0;f=b+32|0;i=c[f>>2]|0;j=i+(c[l>>2]|0)|0;if((((o|0)==0?0:(o<<8)+-1|0)|0)==(j|0)){ql(b+12|0);i=c[f>>2]|0;j=(c[l>>2]|0)+i|0;k=c[d>>2]|0;e=c[n>>2]|0}c[(c[k+(j>>>10<<2)>>2]|0)+((j&1023)<<2)>>2]=p;c[f>>2]=i+1;p=b+36|0;c[p>>2]=(c[p>>2]|0)+e;p=0;hc=q;return p|0}function wl(b){b=b|0;var d=0;if((c[b+2196>>2]|0)<=0){d=0;return d|0}d=c[b+2192>>2]|0;d=c[(c[(c[b+2180>>2]|0)+(d>>>10<<2)>>2]|0)+((d&1023)<<2)>>2]|0;if(!d){d=0;return d|0}a[d+104>>0]=0;xl(b+2144|0);return d|0}function xl(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=c[b>>2]|0;e=a+48|0;f=c[e>>2]|0;a=a+52|0;c[a>>2]=(c[a>>2]|0)+-1;a=f+1|0;c[e>>2]=a;if(a>>>0<=2047)return;nz(c[d>>2]|0);c[b>>2]=(c[b>>2]|0)+4;c[e>>2]=(c[e>>2]|0)+-1024;return}function yl(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=a+76|0;break}case 2:case 1:{a=a+84|0;break}default:{b=0;return b|0}}b=c[a>>2]|0;return b|0}function zl(a,b){a=a|0;b=b|0;switch(b|0){case 0:{a=a+80|0;break}case 2:case 1:{a=a+88|0;break}default:{b=0;return b|0}}b=c[a>>2]|0;return b|0}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(b>>>0>=3)M(71252,71241,639,71279);f=c[a+64+(b<<2)>>2]|0;if(!d)return f|0;e=c[((b|0)==0?a+40|0:a+44|0)>>2]|0;switch(b|0){case 0:{a=(c[a+128>>2]|0)+4996|0;g=7;break}case 2:case 1:{a=(c[a+128>>2]|0)+5004|0;g=7;break}default:a=0}if((g|0)==7)a=((c[a>>2]|0)+7|0)/8|0;c[d>>2]=u(a,e)|0;return f|0}function Bl(a,d){a=a|0;d=d|0;c[a>>2]=d;b[a+4>>1]=0;b[a+6>>1]=8;return}function Cl(a,b){a=a|0;b=b|0;return (e[a+6>>1]|0)+8-(e[b+6>>1]|0)+((c[b>>2]|0)-((c[a>>2]|0)+1)<<3)|0}function Dl(a){a=a|0;var d=0;d=c[a>>2]|0;return ((b[a+6>>1]|0)==8?d:d+1|0)|0}function El(a,f){a=a|0;f=f|0;var g=0,h=0,i=0;g=(c[a>>2]|0)+(f>>>3)|0;c[a>>2]=g;i=a+6|0;h=(e[i>>1]|0)-(f&7)|0;f=h&65535;b[i>>1]=f;if((h&65535)>>>0>8){g=g+1|0;c[a>>2]=g;f=h+8&65535;b[i>>1]=f}if((f&65535)>=8)return;b[a+4>>1]=d[g>>0]|0;return}function Fl(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=e+6|0;g=b[l>>1]|0;if(g<<16>>16==8){h=d[c[e>>2]>>0]|0;k=e+4|0;b[k>>1]=h}else{k=e+4|0;h=b[k>>1]|0}j=g&65535;g=(1<<j)+65535&(h&65535);do if(j>>>0<=f>>>0){h=f-j|0;i=(c[e>>2]|0)+1|0;c[e>>2]=i;b[l>>1]=8;if(h>>>0>7){j=f-j|0;do{f=i;i=i+1|0;c[e>>2]=i;g=g<<8|(d[f>>0]|0);h=h+-8|0}while(h>>>0>7);h=j&7}if(!h){l=g;return l|0}else{e=a[i>>0]|0;b[k>>1]=e&255;k=8-h|0;g=(e&255)>>>k|g<<h;h=k;break}}else{h=j-f|0;g=g>>>h}while(0);b[l>>1]=h;l=g;return l|0}function Gl(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=h&65535;if(g>>>0>31){q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){if(n<<16>>16!=8){j=n&65535;i=(1<<j)+65535&(e[p>>1]|0);if((n&65535)>32){r=j+-32|0;j=r&65535;i=i>>>r;r=13}else r=7}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);j=8;r=7}if((r|0)==7){r=0;k=32-j|0;m=c[f>>2]|0;l=m+1|0;c[f>>2]=l;b[q>>1]=8;if(k>>>0>7){j=(24-j|0)>>>3;do{s=l;l=l+1|0;c[f>>2]=l;i=i<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+j|0;k=0-n&7}else j=l;if(!k)j=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;i=(s&255)>>>r|i<<k;r=13}}if((r|0)==13){r=0;b[q>>1]=j}s=h<<8^(e[56514+((i>>>24^h>>>8&255)<<1)>>1]|0);s=s<<8^(e[56514+(((s>>>8^i>>>16)&255)<<1)>>1]|0);s=s<<8^(e[56514+(((s^i)>>>8&255)<<1)>>1]|0);h=s<<8^(e[56514+(((s>>>8^i)&255)<<1)>>1]|0);o=o+-32|0;if(o>>>0<=31)break;else n=j}g=g&31}switch(g>>>3&536870911|0){case 3:{q=h<<8;p=h>>>8;o=f+6|0;n=b[o>>1]|0;if(n<<16>>16!=8){i=f+4|0;j=n&65535;h=(1<<j)+65535&(e[i>>1]|0);if((n&65535)>8){r=j+-8|0;i=r&65535;h=h>>>r;r=29}else r=23}else{h=a[c[f>>2]>>0]|0;i=f+4|0;b[i>>1]=h&255;h=(1<<(n&65535))+255&(h&255);j=8;r=23}if((r|0)==23){k=8-j|0;l=c[f>>2]|0;j=l+1|0;c[f>>2]=j;b[o>>1]=8;if(k>>>0>7){m=((k+-8|0)>>>3)+2|0;do{s=j;j=j+1|0;c[f>>2]=j;h=h<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=l+m|0;k=0-n&7}if(!k)i=8;else{s=a[j>>0]|0;b[i>>1]=s&255;r=8-k|0;i=r&65535;h=(s&255)>>>r|h<<k;r=29}}if((r|0)==29)b[o>>1]=i;h=q^(e[56514+(((h^p)&255)<<1)>>1]|0);r=31;break}case 2:{o=f+6|0;i=b[o>>1]|0;r=31;break}case 1:{o=f+6|0;i=b[o>>1]|0;r=43;break}default:{}}if((r|0)==31){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){r=k+-8|0;i=r&65535;h=h>>>r;r=41}else r=35}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=35}if((r|0)==35){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;l=0-i&7}if(!l)i=8;else{s=a[k>>0]|0;b[j>>1]=s&255;r=8-l|0;i=r&65535;h=(s&255)>>>r|h<<l;r=41}}if((r|0)==41)b[o>>1]=i;h=q^(e[56514+(((h^p)&255)<<1)>>1]|0);r=43}if((r|0)==43){q=h<<8;p=h>>>8;if(i<<16>>16!=8){j=f+4|0;k=i&65535;h=(1<<k)+65535&(e[j>>1]|0);if((i&65535)>8){i=k+-8|0;h=h>>>i;r=53}else r=47}else{h=a[c[f>>2]>>0]|0;j=f+4|0;b[j>>1]=h&255;h=(1<<(i&65535))+255&(h&255);k=8;r=47}if((r|0)==47){l=8-k|0;m=c[f>>2]|0;k=m+1|0;c[f>>2]=k;b[o>>1]=8;if(l>>>0>7){n=((l+-8|0)>>>3)+2|0;do{s=k;k=k+1|0;c[f>>2]=k;h=h<<8|(d[s>>0]|0);l=l+-8|0}while(l>>>0>7);k=m+n|0;i=0-i&7}else i=l;if(i){s=a[k>>0]|0;b[j>>1]=s&255;r=8-i|0;h=(s&255)>>>r|h<<i;i=r;r=53}}if((r|0)==53)b[o>>1]=i;h=q^(e[56514+(((h^p)&255)<<1)>>1]|0);g=g&7}if(!g){s=h;s=s&65535;return s|0}q=f+6|0;p=f+4|0;n=b[q>>1]|0;o=g;while(1){o=o+-1|0;if(n<<16>>16!=8){g=n&65535;i=(1<<g)+65535&(e[p>>1]|0);if((n&65535)<=1){k=1-g|0;m=c[f>>2]|0;j=m+1|0;c[f>>2]=j;b[q>>1]=8;if(k>>>0>7){l=(-7-g|0)>>>3;g=i;do{s=j;j=j+1|0;c[f>>2]=j;g=g<<8|(d[s>>0]|0);k=k+-8|0}while(k>>>0>7);j=m+2+l|0;k=1-n&7}else g=i;if(!k)i=8;else{s=a[j>>0]|0;b[p>>1]=s&255;r=8-k|0;j=r&65535;g=(s&255)>>>r|g<<k;r=67}}else r=60}else{i=a[c[f>>2]>>0]|0;b[p>>1]=i&255;i=(1<<(n&65535))+255&(i&255);g=8;r=60}if((r|0)==60){g=g+-1|0;j=g&65535;g=i>>>g;r=67}if((r|0)==67){r=0;b[q>>1]=j;i=j}s=h<<1;h=((g^h>>>15)&1|0)==0?s:s^32773;if(!o)break;else n=i}s=h&65535;return s|0}function Hl(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;Bl(a+28|0,0);Bl(a+36|0,0);a=a+44|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Il(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+36|0;d=a;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f=97992;d=c[f+4>>2]|0;e=b;c[e>>2]=c[f>>2];c[e+4>>2]=d;c[a+44>>2]=0;c[a+9264>>2]=0;_l(a);return}function Jl(a){a=a|0;Zl(a);a=a+4096|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Kl(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=(c[d+4>>2]|0)==0?1:2;switch(c[d>>2]|0){case 1:{e=12;break}case 3:{e=(c[d+28>>2]&4096|0)==0?36:18;f=3;break}default:{e=36;f=3}}f=c[d+20>>2]|0;h=a+4100|0;c[h>>2]=f;b[a+4104>>1]=i;g=a+4106|0;b[g>>1]=e<<5;if(!(c[d+44>>2]&2))f=21;else{c[h>>2]=f>>>1;b[g>>1]=e<<4&32752;f=22}zc[f&31](a,d,i,e);a=a+4096|0;c[a>>2]=(c[a>>2]|0)+e&15;return}function Ll(a){a=a|0;var b=0;b=a+9264|0;a=c[b>>2]|0;if(!a)return;vo(a);c[b>>2]=0;return}function Ml(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;if(!d)return;x=a+4096|0;n=(e|0)==0;m=0;s=a+1504|0;t=a+1472|0;while(1){if(!n){f=a+4108+(m*4608|0)|0;w=c[x>>2]|0;y=0;while(1){A=w&1;o=a+(m<<11)+(A<<9)|0;Ol(b+48+(m*4608|0)+(y<<7)|0,w>>>1,o,a+(m<<11)+1024+(A<<9)|0);k=w&-2;v=w+15&14|1;l=A^1;q=12744+(v<<2)|0;B=12744+(k<<2)|0;H=u(c[B>>2]|0,c[o>>2]|0)|0;g=u(c[q>>2]|0,c[a+(m<<11)+(l<<9)>>2]|0)|0;i=u(c[q+56>>2]|0,c[a+(m<<11)+(l<<9)+4>>2]|0)|0;h=u(c[q+48>>2]|0,c[a+(m<<11)+(l<<9)+8>>2]|0)|0;p=u(c[q+40>>2]|0,c[a+(m<<11)+(l<<9)+12>>2]|0)|0;j=u(c[q+32>>2]|0,c[a+(m<<11)+(l<<9)+16>>2]|0)|0;z=u(c[q+24>>2]|0,c[a+(m<<11)+(l<<9)+20>>2]|0)|0;r=u(c[q+16>>2]|0,c[a+(m<<11)+(l<<9)+24>>2]|0)|0;q=u(c[q+8>>2]|0,c[a+(m<<11)+(l<<9)+28>>2]|0)|0;I=u(c[B+56>>2]|0,c[a+(m<<11)+(A<<9)+4>>2]|0)|0;G=u(c[B+48>>2]|0,c[a+(m<<11)+(A<<9)+8>>2]|0)|0;F=u(c[B+40>>2]|0,c[a+(m<<11)+(A<<9)+12>>2]|0)|0;E=u(c[B+32>>2]|0,c[a+(m<<11)+(A<<9)+16>>2]|0)|0;D=u(c[B+24>>2]|0,c[a+(m<<11)+(A<<9)+20>>2]|0)|0;C=u(c[B+16>>2]|0,c[a+(m<<11)+(A<<9)+24>>2]|0)|0;c[f>>2]=I+H+G+F+E+D+C+(u(c[B+8>>2]|0,c[a+(m<<11)+(A<<9)+28>>2]|0)|0)-(i+g+h+p+j+z+r+q)>>2;q=0-v|0;r=0-k|0;z=s+(l<<9)|0;j=12744;p=a+(m<<11)+1024+(l<<9)|0;h=f+4|0;g=f+60|0;i=1;while(1){f=o;o=o+32|0;if(!(i&1)){B=j+128+(v<<2)|0;A=p+4|0;J=p+8|0;K=p+12|0;L=p+16|0;M=p+20|0;N=p+24|0;O=p+28|0;W=j+128+(k<<2)|0;I=f+60|0;$=u(c[W+8>>2]|0,c[I>>2]|0)|0;U=u(c[B>>2]|0,c[p>>2]|0)|0;V=u(c[B+56>>2]|0,c[A>>2]|0)|0;T=u(c[B+48>>2]|0,c[J>>2]|0)|0;S=u(c[B+40>>2]|0,c[K>>2]|0)|0;R=u(c[B+32>>2]|0,c[L>>2]|0)|0;Q=u(c[B+24>>2]|0,c[M>>2]|0)|0;P=u(c[B+16>>2]|0,c[N>>2]|0)|0;B=u(c[B+8>>2]|0,c[O>>2]|0)|0;H=f+56|0;aa=u(c[W+16>>2]|0,c[H>>2]|0)|0;G=f+52|0;_=u(c[W+24>>2]|0,c[G>>2]|0)|0;F=f+48|0;Z=u(c[W+32>>2]|0,c[F>>2]|0)|0;E=f+44|0;Y=u(c[W+40>>2]|0,c[E>>2]|0)|0;D=f+40|0;X=u(c[W+48>>2]|0,c[D>>2]|0)|0;C=f+36|0;f=u(c[W+56>>2]|0,c[C>>2]|0)|0;c[h>>2]=aa+$+_+Z+Y+X+f+(u(c[W>>2]|0,c[o>>2]|0)|0)-(V+U+T+S+R+Q+P+B)>>2;B=j+128+(q<<2)|0;f=u(c[B+116>>2]|0,c[O>>2]|0)|0;f=(u(c[B+108>>2]|0,c[N>>2]|0)|0)+f|0;f=f+(u(c[B+100>>2]|0,c[M>>2]|0)|0)|0;f=f+(u(c[B+92>>2]|0,c[L>>2]|0)|0)|0;f=f+(u(c[B+84>>2]|0,c[K>>2]|0)|0)|0;f=f+(u(c[B+76>>2]|0,c[J>>2]|0)|0)|0;f=f+(u(c[B+68>>2]|0,c[A>>2]|0)|0)|0;B=f+(u(c[B+60>>2]|0,c[p>>2]|0)|0)|0;f=j+128+(r<<2)|0;B=B+(u(c[f+60>>2]|0,c[o>>2]|0)|0)|0;C=B+(u(c[f+68>>2]|0,c[C>>2]|0)|0)|0;D=C+(u(c[f+76>>2]|0,c[D>>2]|0)|0)|0;E=D+(u(c[f+84>>2]|0,c[E>>2]|0)|0)|0;F=E+(u(c[f+92>>2]|0,c[F>>2]|0)|0)|0;G=F+(u(c[f+100>>2]|0,c[G>>2]|0)|0)|0;H=G+(u(c[f+108>>2]|0,c[H>>2]|0)|0)|0;c[g>>2]=H+(u(c[f+116>>2]|0,c[I>>2]|0)|0)>>2;f=h+4|0;g=g+-4|0}else f=h;i=i+1|0;if((i|0)==16)break;else{j=j+128|0;p=p+32|0;h=f}}aa=14792+(v<<2)|0;$=u(c[aa>>2]|0,c[z>>2]|0)|0;$=$+(u(c[aa+56>>2]|0,c[t+(l<<9)+36>>2]|0)|0)|0;$=$+(u(c[aa+48>>2]|0,c[t+(l<<9)+40>>2]|0)|0)|0;$=$+(u(c[aa+40>>2]|0,c[t+(l<<9)+44>>2]|0)|0)|0;$=$+(u(c[aa+32>>2]|0,c[t+(l<<9)+48>>2]|0)|0)|0;$=$+(u(c[aa+24>>2]|0,c[t+(l<<9)+52>>2]|0)|0)|0;$=$+(u(c[aa+16>>2]|0,c[t+(l<<9)+56>>2]|0)|0)|0;c[f>>2]=0-($+(u(c[aa+8>>2]|0,c[t+(l<<9)+60>>2]|0)|0))>>2;y=y+1|0;if((y|0)==(e|0))break;else{f=f+32|0;w=w+1&15}}}m=m+1|0;if((m|0)==(d|0))break;else{s=s+2048|0;t=t+2048|0}}return}function Nl(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if(!d)return;w=a+4096|0;j=(e|0)==0;i=0;o=a+1472|0;p=a+1504|0;while(1){if(!j){r=a+4108+(i*4608|0)|0;v=c[w>>2]|0;x=0;while(1){A=v&1;k=a+(i<<11)+(A<<9)|0;Ol(b+48+(i*4608|0)+(x<<7)|0,v>>>1,k,a+(i<<11)+1024+(A<<9)|0);g=v&-2;q=v+15&14|1;h=A^1;m=12744+(q<<2)|0;B=12744+(g<<2)|0;H=u(c[B>>2]|0,c[k>>2]|0)|0;t=u(c[m>>2]|0,c[a+(i<<11)+(h<<9)>>2]|0)|0;y=u(c[m+56>>2]|0,c[a+(i<<11)+(h<<9)+4>>2]|0)|0;s=u(c[m+48>>2]|0,c[a+(i<<11)+(h<<9)+8>>2]|0)|0;l=u(c[m+40>>2]|0,c[a+(i<<11)+(h<<9)+12>>2]|0)|0;f=u(c[m+32>>2]|0,c[a+(i<<11)+(h<<9)+16>>2]|0)|0;z=u(c[m+24>>2]|0,c[a+(i<<11)+(h<<9)+20>>2]|0)|0;n=u(c[m+16>>2]|0,c[a+(i<<11)+(h<<9)+24>>2]|0)|0;m=u(c[m+8>>2]|0,c[a+(i<<11)+(h<<9)+28>>2]|0)|0;I=u(c[B+56>>2]|0,c[a+(i<<11)+(A<<9)+4>>2]|0)|0;G=u(c[B+48>>2]|0,c[a+(i<<11)+(A<<9)+8>>2]|0)|0;F=u(c[B+40>>2]|0,c[a+(i<<11)+(A<<9)+12>>2]|0)|0;E=u(c[B+32>>2]|0,c[a+(i<<11)+(A<<9)+16>>2]|0)|0;D=u(c[B+24>>2]|0,c[a+(i<<11)+(A<<9)+20>>2]|0)|0;C=u(c[B+16>>2]|0,c[a+(i<<11)+(A<<9)+24>>2]|0)|0;c[r>>2]=I+H+G+F+E+D+C+(u(c[B+8>>2]|0,c[a+(i<<11)+(A<<9)+28>>2]|0)|0)-(y+t+s+l+f+z+n+m)>>2;m=0-g|0;n=0-q|0;z=p+(h<<9)|0;f=12744;l=a+(i<<11)+1024+(h<<9)|0;s=r;t=r+124|0;y=1;while(1){s=s+4|0;I=f+128+(q<<2)|0;H=l+4|0;G=l+8|0;F=l+12|0;E=l+16|0;D=l+20|0;C=l+24|0;B=l+28|0;W=f+128+(g<<2)|0;A=k+60|0;aa=u(c[W+8>>2]|0,c[A>>2]|0)|0;U=u(c[I>>2]|0,c[l>>2]|0)|0;V=u(c[I+56>>2]|0,c[H>>2]|0)|0;T=u(c[I+48>>2]|0,c[G>>2]|0)|0;S=u(c[I+40>>2]|0,c[F>>2]|0)|0;R=u(c[I+32>>2]|0,c[E>>2]|0)|0;Q=u(c[I+24>>2]|0,c[D>>2]|0)|0;O=u(c[I+16>>2]|0,c[C>>2]|0)|0;I=u(c[I+8>>2]|0,c[B>>2]|0)|0;J=k+56|0;ba=u(c[W+16>>2]|0,c[J>>2]|0)|0;K=k+52|0;$=u(c[W+24>>2]|0,c[K>>2]|0)|0;L=k+48|0;_=u(c[W+32>>2]|0,c[L>>2]|0)|0;M=k+44|0;Z=u(c[W+40>>2]|0,c[M>>2]|0)|0;N=k+40|0;Y=u(c[W+48>>2]|0,c[N>>2]|0)|0;P=k+36|0;k=k+32|0;X=u(c[W+56>>2]|0,c[P>>2]|0)|0;c[s>>2]=ba+aa+$+_+Z+Y+X+(u(c[W>>2]|0,c[k>>2]|0)|0)-(V+U+T+S+R+Q+O+I)>>2;I=f+128+(m<<2)|0;O=u(c[I+60>>2]|0,c[k>>2]|0)|0;O=(u(c[I+68>>2]|0,c[P>>2]|0)|0)+O|0;N=O+(u(c[I+76>>2]|0,c[N>>2]|0)|0)|0;M=N+(u(c[I+84>>2]|0,c[M>>2]|0)|0)|0;L=M+(u(c[I+92>>2]|0,c[L>>2]|0)|0)|0;K=L+(u(c[I+100>>2]|0,c[K>>2]|0)|0)|0;J=K+(u(c[I+108>>2]|0,c[J>>2]|0)|0)|0;A=J+(u(c[I+116>>2]|0,c[A>>2]|0)|0)|0;I=f+128+(n<<2)|0;B=A+(u(c[I+116>>2]|0,c[B>>2]|0)|0)|0;C=B+(u(c[I+108>>2]|0,c[C>>2]|0)|0)|0;D=C+(u(c[I+100>>2]|0,c[D>>2]|0)|0)|0;E=D+(u(c[I+92>>2]|0,c[E>>2]|0)|0)|0;F=E+(u(c[I+84>>2]|0,c[F>>2]|0)|0)|0;G=F+(u(c[I+76>>2]|0,c[G>>2]|0)|0)|0;H=G+(u(c[I+68>>2]|0,c[H>>2]|0)|0)|0;c[t>>2]=H+(u(c[I+60>>2]|0,c[l>>2]|0)|0)>>2;y=y+1|0;if((y|0)==16)break;else{f=f+128|0;l=l+32|0;t=t+-4|0}}ba=14792+(q<<2)|0;aa=u(c[ba>>2]|0,c[z>>2]|0)|0;aa=aa+(u(c[ba+56>>2]|0,c[o+(h<<9)+36>>2]|0)|0)|0;aa=aa+(u(c[ba+48>>2]|0,c[o+(h<<9)+40>>2]|0)|0)|0;aa=aa+(u(c[ba+40>>2]|0,c[o+(h<<9)+44>>2]|0)|0)|0;aa=aa+(u(c[ba+32>>2]|0,c[o+(h<<9)+48>>2]|0)|0)|0;aa=aa+(u(c[ba+24>>2]|0,c[o+(h<<9)+52>>2]|0)|0)|0;aa=aa+(u(c[ba+16>>2]|0,c[o+(h<<9)+56>>2]|0)|0)|0;c[r+64>>2]=0-(aa+(u(c[ba+8>>2]|0,c[o+(h<<9)+60>>2]|0)|0))>>2;x=x+1|0;if((x|0)==(e|0))break;else{r=r+128|0;v=v+1&15}}}i=i+1|0;if((i|0)==(d|0))break;else{o=o+2048|0;p=p+2048|0}}return}function Ol(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;s=c[a>>2]|0;aa=c[a+124>>2]|0;Q=aa+s|0;aa=(s+2048-aa>>12)*4091|0;s=c[a+60>>2]|0;p=c[a+64>>2]|0;I=p+s|0;p=(s+2048-p>>12)*201|0;s=p+aa|0;p=(aa+2048-p>>12)*4076|0;aa=I+Q|0;I=(Q+2048-I>>12)*4076|0;Q=c[a+28>>2]|0;X=c[a+96>>2]|0;q=X+Q|0;X=(Q+2048-X>>12)*3035|0;Q=c[a+32>>2]|0;A=c[a+92>>2]|0;N=A+Q|0;A=(Q+2048-A>>12)*2751|0;Q=A+X|0;A=(X+2048-A>>12)*401|0;X=N+q|0;N=(q+2048-N>>12)*401|0;q=c[a+12>>2]|0;ba=c[a+112>>2]|0;m=ba+q|0;ba=(q+2048-ba>>12)*3857|0;q=c[a+48>>2]|0;n=c[a+76>>2]|0;G=n+q|0;n=(q+2048-n>>12)*1380|0;q=n+ba|0;n=(ba+2048-n>>12)*3166|0;ba=G+m|0;G=(m+2048-G>>12)*3166|0;m=c[a+16>>2]|0;T=c[a+108>>2]|0;r=T+m|0;T=(m+2048-T>>12)*3703|0;m=c[a+44>>2]|0;i=c[a+80>>2]|0;F=i+m|0;i=(m+2048-i>>12)*1751|0;m=i+T|0;i=(T+2048-i>>12)*2598|0;T=F+r|0;F=(r+2048-F>>12)*2598|0;r=c[a+4>>2]|0;$=c[a+120>>2]|0;k=$+r|0;$=(r+2048-$>>12)*4052|0;r=c[a+56>>2]|0;o=c[a+68>>2]|0;H=o+r|0;o=(r+2048-o>>12)*601|0;r=o+$|0;o=($+2048-o>>12)*3920|0;$=H+k|0;H=(k+2048-H>>12)*3920|0;k=c[a+24>>2]|0;R=c[a+100>>2]|0;Z=R+k|0;R=(k+2048-R>>12)*3290|0;k=c[a+36>>2]|0;g=c[a+88>>2]|0;D=g+k|0;g=(k+2048-g>>12)*2440|0;k=g+R|0;g=(R+2048-g>>12)*1189|0;R=D+Z|0;D=(Z+2048-D>>12)*1189|0;Z=c[a+8>>2]|0;_=c[a+116>>2]|0;l=_+Z|0;_=(Z+2048-_>>12)*3973|0;Z=c[a+52>>2]|0;x=c[a+72>>2]|0;Y=x+Z|0;x=(Z+2048-x>>12)*995|0;Z=x+_|0;x=(_+2048-x>>12)*3612|0;_=Y+l|0;Y=(l+2048-Y>>12)*3612|0;l=c[a+20>>2]|0;S=c[a+104>>2]|0;ca=S+l|0;S=(l+2048-S>>12)*3513|0;l=c[a+40>>2]|0;h=c[a+84>>2]|0;E=h+l|0;h=(l+2048-h>>12)*2106|0;l=h+S|0;h=(S+2048-h>>12)*1931|0;S=E+ca|0;E=(ca+2048-E>>12)*1931|0;ca=X+aa|0;X=(aa+2048-X>>12)*4017|0;aa=T+ba|0;T=(ba+2048-T>>12)*799|0;ba=R+$|0;R=($+2048-R>>12)*3406|0;$=S+_|0;S=(_+2048-S>>12)*2276|0;_=Q+s|0;Q=(s+2048-Q>>12)*4017|0;s=m+q|0;m=(q+2048-m>>12)*799|0;q=k+r|0;k=(r+2048-k>>12)*3406|0;r=l+Z|0;l=(Z+2048-l>>12)*2276|0;Z=N+I|0;N=(I+2048-N>>12)*4017|0;I=F+G|0;F=(G+2048-F>>12)*799|0;G=D+H|0;D=(H+2048-D>>12)*3406|0;H=E+Y|0;E=(Y+2048-E>>12)*2276|0;Y=A+p|0;A=(p+2048-A>>12)*4017|0;p=i+n|0;i=(n+2048-i>>12)*799|0;n=g+o|0;g=(o+2048-g>>12)*3406|0;o=h+x|0;h=(x+2048-h>>12)*2276|0;x=$+ba|0;w=aa+ca+2048|0;c[e+480+(b<<2)>>2]=w+x>>12;c[d+(b<<2)>>2]=((w-x>>12)*2896|0)+2048>>12;x=s+_|0;w=r+q|0;a=w+x|0;c[e+448+(b<<2)>>2]=a+2048>>12;M=I+Z|0;L=H+G|0;B=L+M|0;c[e+416+(b<<2)>>2]=B+2048>>12;z=p+Y|0;t=o+n|0;y=t+z|0;a=(y<<1)-a|0;c[e+384+(b<<2)>>2]=a+2048>>12;W=T+X|0;V=S+R|0;U=V+W|0;c[e+352+(b<<2)>>2]=U+2048>>12;P=m+Q|0;O=l+k|0;j=O+P|0;a=(j<<1)-a|0;c[e+320+(b<<2)>>2]=a+2048>>12;K=F+N|0;J=E+D|0;C=J+K|0;B=(C<<1)-B|0;c[e+288+(b<<2)>>2]=B+2048>>12;v=i+A|0;u=h+g|0;f=u+v|0;y=(f<<1)-y|0;a=(y<<1)-a|0;c[e+256+(b<<2)>>2]=a+2048>>12;aa=(ca+2048-aa>>12)*3784|0;$=(ba+2048-$>>12)*1567|0;ba=$+aa|0;c[e+224+(b<<2)>>2]=ba+2048>>12;c[d+256+(b<<2)>>2]=2048-ba+((aa+2048-$>>12)*5792|0)>>12;s=(_+2048-s>>12)*3784|0;r=(q+2048-r>>12)*1567|0;q=r+s|0;a=(q<<1)-a|0;c[e+192+(b<<2)>>2]=a+2048>>12;I=(Z+2048-I>>12)*3784|0;H=(G+2048-H>>12)*1567|0;G=H+I|0;B=(G<<1)-B|0;c[e+160+(b<<2)>>2]=B+2048>>12;p=(Y+2048-p>>12)*3784|0;o=(n+2048-o>>12)*1567|0;n=o+p|0;y=(n<<1)-y|0;a=(y<<1)-a|0;c[e+128+(b<<2)>>2]=a+2048>>12;T=(X+2048-T>>12)*3784|0;S=(R+2048-S>>12)*1567|0;R=S+T|0;U=(R<<1)-U|0;c[e+96+(b<<2)>>2]=U+2048>>12;U=((W+2048-V>>12)*5792|0)-U|0;c[d+128+(b<<2)>>2]=U+2048>>12;c[d+384+(b<<2)>>2]=2048-U+(((T+2048-S>>12)*5792|0)-R<<1)>>12;m=(Q+2048-m>>12)*3784|0;l=(k+2048-l>>12)*1567|0;k=l+m|0;j=(k<<1)-j|0;a=(j<<1)-a|0;c[e+64+(b<<2)>>2]=a+2048>>12;j=((P+2048-O>>12)*5792|0)-j|0;F=(N+2048-F>>12)*3784|0;E=(D+2048-E>>12)*1567|0;D=E+F|0;C=(D<<1)-C|0;B=(C<<1)-B|0;c[e+32+(b<<2)>>2]=B+2048>>12;B=((M+2048-L>>12)*5792|0)-B|0;c[d+64+(b<<2)>>2]=B+2048>>12;C=((K+2048-J>>12)*5792|0)-C|0;B=(C<<1)-B|0;c[d+192+(b<<2)>>2]=B+2048>>12;B=(((I+2048-H>>12)*5792|0)-G<<1)-B|0;c[d+320+(b<<2)>>2]=B+2048>>12;c[d+448+(b<<2)>>2]=((((F+2048-E>>12)*5792|0)-D<<1)-C<<1)+2048-B>>12;i=(A+2048-i>>12)*3784|0;h=(g+2048-h>>12)*1567|0;g=h+i|0;f=(g<<1)-f|0;y=(f<<1)-y|0;t=((z+2048-t>>12)*5792|0)-y|0;a=(y<<1)-a|0;c[e+(b<<2)>>2]=a+2048>>12;a=((x+2048-w>>12)*5792|0)-a|0;c[d+32+(b<<2)>>2]=a+2048>>12;a=(t<<1)-a|0;c[d+96+(b<<2)>>2]=a+2048>>12;a=(j<<1)-a|0;c[d+160+(b<<2)>>2]=a+2048>>12;f=((v+2048-u>>12)*5792|0)-f|0;e=(f<<1)-t|0;a=(e<<1)-a|0;c[d+224+(b<<2)>>2]=a+2048>>12;a=(((s+2048-r>>12)*5792|0)-q<<1)-a|0;c[d+288+(b<<2)>>2]=a+2048>>12;e=(((p+2048-o>>12)*5792|0)-n<<1)-e|0;a=(e<<1)-a|0;c[d+352+(b<<2)>>2]=a+2048>>12;a=((((m+2048-l>>12)*5792|0)-k<<1)-j<<1)-a|0;c[d+416+(b<<2)>>2]=a+2048>>12;c[d+480+(b<<2)>>2]=(((((i+2048-h>>12)*5792|0)-g<<1)-f<<1)-e<<1)+2048-a>>12;return}function Pl(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c[j>>2]=0;l=(h|0)!=0;t=(g|0)==1;c[k>>2]=l?(t?1:2):t?5:3;c[i>>2]=Fl(f,l?8:9)|0;c[i+4>>2]=Fl(f,c[k>>2]|0)|0;if(!l)if(!g)t=2;else{h=0;do{a[i+8+h>>0]=Fl(f,4)|0;h=h+1|0}while((h|0)!=(g|0));t=2}else t=1;q=(g|0)==0;s=l?9:4;r=l?2:3;p=l^1;o=0;h=0;do{if(!q){n=0;do{l=i+10+(o*116|0)+(n*58|0)|0;b[l>>1]=Fl(f,12)|0;m=i+10+(o*116|0)+(n*58|0)+2|0;b[m>>1]=Fl(f,9)|0;b[i+10+(o*116|0)+(n*58|0)+4>>1]=Fl(f,8)|0;b[i+10+(o*116|0)+(n*58|0)+6>>1]=Fl(f,s)|0;c[j>>2]=(c[j>>2]|0)+(e[l>>1]|0);h=(h|0)==0&(e[m>>1]|0)>288?562:h;m=i+10+(o*116|0)+(n*58|0)+8|0;a[m>>0]=0;if(!(Fl(f,1)|0)){a[i+10+(o*116|0)+(n*58|0)+9>>0]=0;a[i+10+(o*116|0)+(n*58|0)+10>>0]=Fl(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=Fl(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=Fl(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+16>>0]=Fl(f,4)|0;a[i+10+(o*116|0)+(n*58|0)+17>>0]=Fl(f,3)|0}else{u=Fl(f,2)|0;k=u&255;l=i+10+(o*116|0)+(n*58|0)+9|0;a[l>>0]=k;h=(u&255|h|0)==0?563:h;if(k<<24>>24==2&p)h=((h|0)==0?(a[i+8+n>>0]|0)!=0:0)?564:h;k=i+10+(o*116|0)+(n*58|0)+16|0;a[k>>0]=7;a[i+10+(o*116|0)+(n*58|0)+17>>0]=36;if(!(Fl(f,1)|0)){if((a[l>>0]|0)==2)a[k>>0]=8}else a[m>>0]=a[m>>0]|8;a[i+10+(o*116|0)+(n*58|0)+10>>0]=Fl(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+11>>0]=Fl(f,5)|0;a[i+10+(o*116|0)+(n*58|0)+12>>0]=4;a[i+10+(o*116|0)+(n*58|0)+13>>0]=Fl(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+14>>0]=Fl(f,3)|0;a[i+10+(o*116|0)+(n*58|0)+15>>0]=Fl(f,3)|0}u=Fl(f,r)|0;a[m>>0]=u|d[m>>0];n=n+1|0}while((n|0)!=(g|0))}o=o+1|0}while(o>>>0<t>>>0);return h|0}function Ql(f,h,i,j){f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0;Ab=hc;lb=hc=hc+31&-32;hc=hc+7296|0;xb=lb+2448|0;wb=lb+2432|0;vb=lb+2416|0;tb=lb+2400|0;sb=lb+2384|0;rb=lb+2368|0;yb=lb+2352|0;ub=lb+2336|0;qb=lb+2320|0;pb=lb+16|0;ob=lb;hb=lb+7224|0;nb=lb+7216|0;zb=lb+2608|0;lb=lb+2464|0;jb=h+28|0;fb=c[jb>>2]|0;kb=(fb&16384|0)==0;k=c[h+20>>2]<<((kb^1)&1);k=(k>>>15&1)+(kb?-8:-5)+(k>>>7&15)|0;fb=2-(fb>>>12&1)|0;if(!fb){zb=0;hc=Ab;return zb|0}ib=(j|0)==0;gb=14920+(k*12|0)|0;kb=14920+(k*12|0)+8|0;db=14920+(k*12|0)+4|0;Fa=i+184|0;bb=h+8|0;Ga=pb+4|0;Ra=pb+8|0;Ua=pb+12|0;Va=pb+16|0;Wa=pb+20|0;Xa=pb+24|0;Ya=pb+28|0;Za=pb+32|0;_a=pb+36|0;Ha=pb+40|0;Ia=pb+44|0;Ja=pb+48|0;Ka=pb+52|0;La=pb+56|0;Ma=pb+60|0;Na=pb+64|0;Oa=pb+68|0;Pa=pb+72|0;Qa=pb+76|0;Sa=pb+80|0;Ta=pb+84|0;R=c[12099]|0;ab=h+4|0;T=hb+4|0;U=hb+8|0;cb=h+9264|0;V=pb+2|0;ea=pb+4|0;pa=pb+6|0;za=pb+8|0;Aa=pb+10|0;Ba=pb+12|0;Ca=pb+14|0;Da=pb+16|0;Ea=pb+18|0;W=pb+20|0;X=pb+22|0;Y=pb+24|0;Z=pb+26|0;_=pb+28|0;$=pb+30|0;aa=pb+32|0;ba=pb+34|0;ca=pb+36|0;da=pb+38|0;fa=pb+40|0;ga=pb+42|0;ha=pb+44|0;ia=pb+46|0;ja=pb+48|0;ka=pb+50|0;la=pb+52|0;ma=pb+54|0;na=pb+56|0;oa=pb+58|0;qa=pb+60|0;ra=pb+62|0;sa=pb+64|0;ta=pb+66|0;ua=pb+68|0;va=pb+70|0;wa=pb+72|0;xa=pb+74|0;ya=pb+76|0;S=zb+2304|0;$a=0;a:while(1){P=i+10+($a*116|0)|0;if(!ib){L=c[gb>>2]|0;O=($a|0)==0;N=0;do{x=i+10+($a*116|0)+(N*58|0)|0;k=nb+(N<<2)|0;c[k>>2]=L;z=i+10+($a*116|0)+(N*58|0)+9|0;n=(a[z>>0]|0)==2;if(n){K=c[((a[i+10+($a*116|0)+(N*58|0)+8>>0]&8)==0?db:kb)>>2]|0;c[k>>2]=K;k=K}else k=L;if(!(c[jb>>2]&4096)){if(O)m=0;else m=d[i+8+N>>0]|0;K=f;o=c[K+4>>2]|0;p=pb;c[p>>2]=c[K>>2];c[p+4>>2]=o;p=e[i+10+($a*116|0)+(N*58|0)+6>>1]|0;o=d[71382+(p<<1)>>0]|0;p=d[71382+(p<<1)+1>>0]|0;if(n){l=18-((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)|0;m=l;n=0;while(1){m=m+-1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=Fl(f,o)|0;if(!m)break;else n=n+1|0}a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=Fl(f,p)|0;a[l+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[l+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;J=l|4;a[l+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+J>>0]=Fl(f,p)|0;a[J+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[J+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[J+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[J+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[J+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[J+6+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;K=l|12;a[J+7+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+18+K>>0]=Fl(f,p)|0;a[K+1+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[K+2+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[K+3+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[K+4+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;a[K+5+(i+10+($a*116|0)+(N*58|0)+18)>>0]=Fl(f,p)|0;K=x+(l|36)|0;a[K>>0]=0;a[K+1>>0]=0;a[K+2>>0]=0}else{if(!(m&8)){a[i+10+($a*116|0)+(N*58|0)+18>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=Fl(f,o)|0;l=(Fl(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+18>>0]=a[i+10+(N*58|0)+18>>0]|0;a[i+10+($a*116|0)+(N*58|0)+19>>0]=a[i+10+(N*58|0)+19>>0]|0;a[i+10+($a*116|0)+(N*58|0)+20>>0]=a[i+10+(N*58|0)+20>>0]|0;a[i+10+($a*116|0)+(N*58|0)+21>>0]=a[i+10+(N*58|0)+21>>0]|0;a[i+10+($a*116|0)+(N*58|0)+22>>0]=a[i+10+(N*58|0)+22>>0]|0;l=a[i+10+(N*58|0)+23>>0]|0}a[i+10+($a*116|0)+(N*58|0)+23>>0]=l;if(!(m&4)){a[i+10+($a*116|0)+(N*58|0)+24>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=Fl(f,o)|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=Fl(f,o)|0;l=(Fl(f,o)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+24>>0]=a[i+10+(N*58|0)+24>>0]|0;a[i+10+($a*116|0)+(N*58|0)+25>>0]=a[i+10+(N*58|0)+25>>0]|0;a[i+10+($a*116|0)+(N*58|0)+26>>0]=a[i+10+(N*58|0)+26>>0]|0;a[i+10+($a*116|0)+(N*58|0)+27>>0]=a[i+10+(N*58|0)+27>>0]|0;l=a[i+10+(N*58|0)+28>>0]|0}a[i+10+($a*116|0)+(N*58|0)+28>>0]=l;if(!(m&2)){a[i+10+($a*116|0)+(N*58|0)+29>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=Fl(f,p)|0;l=(Fl(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+29>>0]=a[i+10+(N*58|0)+29>>0]|0;a[i+10+($a*116|0)+(N*58|0)+30>>0]=a[i+10+(N*58|0)+30>>0]|0;a[i+10+($a*116|0)+(N*58|0)+31>>0]=a[i+10+(N*58|0)+31>>0]|0;a[i+10+($a*116|0)+(N*58|0)+32>>0]=a[i+10+(N*58|0)+32>>0]|0;l=a[i+10+(N*58|0)+33>>0]|0}a[i+10+($a*116|0)+(N*58|0)+33>>0]=l;if(!(m&1)){a[i+10+($a*116|0)+(N*58|0)+34>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=Fl(f,p)|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=Fl(f,p)|0;l=(Fl(f,p)|0)&255}else{a[i+10+($a*116|0)+(N*58|0)+34>>0]=a[i+10+(N*58|0)+34>>0]|0;a[i+10+($a*116|0)+(N*58|0)+35>>0]=a[i+10+(N*58|0)+35>>0]|0;a[i+10+($a*116|0)+(N*58|0)+36>>0]=a[i+10+(N*58|0)+36>>0]|0;a[i+10+($a*116|0)+(N*58|0)+37>>0]=a[i+10+(N*58|0)+37>>0]|0;l=a[i+10+(N*58|0)+38>>0]|0}a[i+10+($a*116|0)+(N*58|0)+38>>0]=l;a[i+10+($a*116|0)+(N*58|0)+39>>0]=0}l=Cl(pb,f)|0}else{t=(N|0)==0?0:Fa;l=c[bb>>2]|0;K=f;p=c[K+4>>2]|0;m=pb;c[m>>2]=c[K>>2];c[m+4>>2]=p;m=b[i+10+($a*116|0)+(N*58|0)+6>>1]|0;p=m&65535;if(n)v=((d[i+10+($a*116|0)+(N*58|0)+8>>0]|0)>>>3&1)+1&255;else v=0;if((t|0)!=0&(l&1|0)!=0){l=p>>>1;do if((m&65535)>=360)if((m&65535)<488){r=l+-180|0;s=4;m=r>>>4&3;q=r>>>2&3;r=r&3;break}else{r=l+-244|0;q=(r>>>0)/3|0;s=5;m=q;q=r-(q*3|0)|0;r=0;break}else{K=(l>>>0)%36|0;r=(K>>>0)/6|0;s=3;m=(p>>>0)/72|0;q=r;r=K-(r*6|0)|0}while(0);n=71310+(s*12|0)+(v<<2)|0;p=(1<<m)+-1|0;if(!(a[n>>0]|0))l=0;else{o=0;while(1){K=Fl(f,m)|0;a[i+10+($a*116|0)+(N*58|0)+18+o>>0]=K;l=o+1|0;a[t+18+o>>0]=(K|0)==(p|0)&1;if(l>>>0<(d[n>>0]|0)>>>0)o=l;else break}}p=(1<<q)+-1|0;n=71310+(s*12|0)+(v<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){K=Fl(f,q)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}p=(1<<r)+-1|0;n=71310+(s*12|0)+(v<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){K=Fl(f,r)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==(p|0)&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=71310+(s*12|0)+(v<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){K=Fl(f,0)|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=K;l=m+1|0;a[t+18+m>>0]=(K|0)==0&1;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)do{a[i+10+($a*116|0)+(N*58|0)+18+l>>0]=0;a[t+18+l>>0]=0;l=l+1|0}while((l|0)!=39)}else{do if((m&65535)>=400)if((m&65535)<500){q=p+-400|0;s=1;o=(q>>>0)/20|0;q=(q>>>2>>>0)%5|0;r=m&3;p=0;break}else{r=p+-500|0;q=(r>>>0)/3|0;s=i+10+($a*116|0)+(N*58|0)+8|0;a[s>>0]=a[s>>0]|4;s=2;o=q;q=r-(q*3|0)|0;r=0;p=0;break}else{s=0;o=(p>>>0)/80|0;q=(p>>>4>>>0)%5|0;r=p>>>2&3;p=p&3}while(0);m=71310+(s*12|0)+(v<<2)|0;if(!(a[m>>0]|0))l=0;else{n=0;while(1){l=n+1|0;a[i+10+($a*116|0)+(N*58|0)+18+n>>0]=Fl(f,o)|0;if(l>>>0<(d[m>>0]|0)>>>0)n=l;else break}}n=71310+(s*12|0)+(v<<2)+1|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Fl(f,q)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=71310+(s*12|0)+(v<<2)+2|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Fl(f,r)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}n=71310+(s*12|0)+(v<<2)+3|0;if(a[n>>0]|0){o=0;m=l;while(1){l=m+1|0;a[i+10+($a*116|0)+(N*58|0)+18+m>>0]=Fl(f,p)|0;o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0)break;else m=l}}if(l>>>0<39)hB(x+(l+18)|0,0,39-l|0)|0}l=Cl(pb,f)|0}w=zb+(N*2304|0)|0;m=(e[x>>1]|0)-l|0;if((m|0)<0){mb=566;break a}r=(e[i+10+($a*116|0)+(N*58|0)+4>>1]|0)+-210|0;K=i+10+($a*116|0)+(N*58|0)+8|0;n=d[K>>0]|0;s=(n>>>1&1)+1|0;do if((a[z>>0]|0)==2){if(!(n&8)){l=0;n=0}else{o=n<<29>>31;l=0;n=0;while(1){c[pb+(n<<2)>>2]=r-((o&d[71414+n>>0])+(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]|0)<<s);p=n+1|0;l=l+(d[k+n>>0]|0)|0;if(l>>>0<36)n=p;else{n=p;break}}}p=r-(d[i+10+($a*116|0)+(N*58|0)+13>>0]<<3)|0;q=r-(d[i+10+($a*116|0)+(N*58|0)+14>>0]<<3)|0;o=r-(d[i+10+($a*116|0)+(N*58|0)+15>>0]<<3)|0;if(l>>>0<576)while(1){c[pb+(n<<2)>>2]=p-(d[i+10+($a*116|0)+(N*58|0)+18+n>>0]<<s);J=n+1|0;c[pb+(J<<2)>>2]=q-(d[i+10+($a*116|0)+(N*58|0)+18+J>>0]<<s);J=n+2|0;c[pb+(J<<2)>>2]=o-(d[i+10+($a*116|0)+(N*58|0)+18+J>>0]<<s);l=((d[k+n>>0]|0)*3|0)+l|0;if(l>>>0>=576)break;else n=n+3|0}}else{c[pb>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+18>>0]<<s);c[Ga>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+19>>0]<<s);c[Ra>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+20>>0]<<s);c[Ua>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+21>>0]<<s);c[Va>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+22>>0]<<s);c[Wa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+23>>0]<<s);c[Xa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+24>>0]<<s);c[Ya>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+25>>0]<<s);c[Za>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+26>>0]<<s);c[_a>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+27>>0]<<s);c[Ha>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+28>>0]<<s);l=d[i+10+($a*116|0)+(N*58|0)+29>>0]|0;if(!(n&4)){c[Ia>>2]=r-(l<<s);c[Ja>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+30>>0]<<s);c[Ka>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+31>>0]<<s);c[La>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+32>>0]<<s);c[Ma>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+33>>0]<<s);c[Na>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+34>>0]<<s);c[Oa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+35>>0]<<s);c[Pa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+36>>0]<<s);c[Qa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+37>>0]<<s);c[Sa>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+38>>0]<<s);c[Ta>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<s);break}else{c[Ia>>2]=r-(l+1<<s);c[Ja>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+30>>0]|0)+1<<s);c[Ka>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+31>>0]|0)+1<<s);c[La>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+32>>0]|0)+1<<s);c[Ma>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+33>>0]|0)+2<<s);c[Na>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+34>>0]|0)+2<<s);c[Oa>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+35>>0]|0)+3<<s);c[Pa>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+36>>0]|0)+3<<s);c[Qa>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+37>>0]|0)+3<<s);c[Sa>>2]=r-((d[i+10+($a*116|0)+(N*58|0)+38>>0]|0)+2<<s);c[Ta>>2]=r-(d[i+10+($a*116|0)+(N*58|0)+39>>0]<<s);break}}while(0);o=f;n=c[o>>2]|0;o=c[o+4>>2]|0;s=ob;c[s>>2]=n;c[s+4>>2]=o;El(f,m);o=dB(n|0,o|0,48)|0;y()|0;o=(31-o&-8)+o|0;n=Fl(ob,o)|0;s=d[i+10+($a*116|0)+(N*58|0)+10>>0]|0;q=c[12488+(s<<3)>>2]|0;if(!q){Q=165;break a}r=zb+(N*2304|0)+(d[k>>0]<<2)|0;x=k+1|0;l=m-o|0;p=c[pb>>2]|0;k=b[i+10+($a*116|0)+(N*58|0)+2>>1]|0;if((m|0)>0&k<<16>>16!=0){J=i+10+($a*116|0)+(N*58|0)+17|0;I=k&65535;B=p;t=Ga;z=e[12488+(s<<3)+4>>1]|0;v=(d[i+10+($a*116|0)+(N*58|0)+16>>0]|0)+1|0;m=0;A=0;p=e[12488+(s<<3)+6>>1]|0;H=0;F=w;while(1){I=I+-1|0;if((F|0)==(r|0)){w=x+1|0;r=F+(d[x>>0]<<2)|0;k=v+-1|0;if(!k){if(!m)k=(d[J>>0]|0)+1|0;else k=0;m=m+1|0;p=d[i+10+($a*116|0)+(N*58|0)+10+m>>0]|0;q=c[12488+(p<<3)>>2]|0;if(!q){Q=165;break a}else{s=e[12488+(p<<3)+4>>1]|0;p=e[12488+(p<<3)+6>>1]|0}}else s=z;x=c[t>>2]|0;G=x;t=t+4|0;z=s;E=k;D=m;s=(B|0)==(x|0)?A:0;x=w;C=p}else{G=B;E=v;D=m;s=A;C=p}k=31-o&-8;if((o|0)<21){n=Fl(ob,k)|0|n<<k;l=l-k|0;o=k+o|0}k=n>>>(o-C|0)&(1<<C)+-1;if(!(a[q+(k<<1)>>0]&1)){m=C;do{o=o-m|0;k=b[q+(k<<1)>>1]|0;m=(k&65535)>>>1&7;k=(n>>>(o-m|0)&(1<<m)+-1)+((k&65535)>>>4&65535)|0}while(!(a[q+(k<<1)>>0]&1))}A=q+(k<<1)|0;m=b[A>>1]|0;o=o-((m&65535)>>>1&7)|0;m=(m&65535)>>>4;k=m&15;v=k&65535;b:do if(!z){if(!(k<<16>>16)){m=s;k=0}else{k=1<<v;if(!(k&s)){s=k|s;p=(G|0)%4|0;k=c[15028+(v<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[sb>>3]=+(m|0)*3.725290298461914e-09;c[sb+8>>2]=k;_n(R,71436,sb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(v<<2)>>2]=k;m=s}else{m=s;k=c[hb+(v<<2)>>2]|0}B=o+-1|0;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8&15;v=B&65535;if(!(B<<16>>16)){w=n;k=0;s=m}else{k=1<<v;if(!(k&m)){s=k|m;k=(G|0)/4|0;p=G-(k<<2)|0;B=c[15028+(v<<2)>>2]|0;m=B&134217727;k=(B>>>27)+k|0;do if((k|0)>=0)if((k|0)>4){g[tb>>3]=+(m|0)*3.725290298461914e-09;c[tb+8>>2]=k;_n(R,71436,tb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(p)k=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(v<<2)>>2]=k;m=s}else k=c[hb+(v<<2)>>2]|0;s=o+-1|0;w=n;o=s;k=(1<<s&n|0)==0?k:0-k|0;s=m}}else{c:do switch(m&15){case 0:{w=n;k=0;break}case 15:{if(o>>>0<(z+2|0)>>>0){n=Fl(ob,16)|0|n<<16;l=l+-16|0;o=o+16|0}o=o-z|0;p=(G|0)%4|0;k=c[15028+((n>>>o&(1<<z)+-1)+v<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[qb>>3]=+(m|0)*3.725290298461914e-09;c[qb+8>>2]=k;_n(R,71436,qb)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(!p){Q=118;break c}k=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;Q=118;break}default:{k=1<<v;if(k&s|0){k=c[hb+(v<<2)>>2]|0;Q=118;break c}s=k|s;p=(G|0)%4|0;k=c[15028+(v<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[ub>>3]=+(m|0)*3.725290298461914e-09;c[ub+8>>2]=k;_n(R,71436,ub)|0;k=2147483647;break}else{k=m<<k;break}else{Q=0-k|0;k=Q>>>0>31?0:(1<<~k)+m>>Q}while(0);if(p)k=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(v<<2)>>2]=k;Q=118}}while(0);if((Q|0)==118){Q=0;B=o+-1|0;w=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}c[F>>2]=k;B=(e[A>>1]|0)>>>8;v=B&15;d:do switch(B&15){case 0:{k=0;break b}case 15:{if(o>>>0<(z+1|0)>>>0){n=Fl(ob,16)|0|w<<16;l=l+-16|0;o=o+16|0}else n=w;o=o-z|0;p=(G|0)%4|0;k=c[15028+((n>>>o&(1<<z)+-1)+v<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[yb>>3]=+(m|0)*3.725290298461914e-09;c[yb+8>>2]=k;_n(R,71436,yb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(!p)break d;k=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;break}default:{k=1<<v;if(k&s|0){n=w;k=c[hb+(v<<2)>>2]|0;break d}s=k|s;n=(G|0)%4|0;k=c[15028+(v<<2)>>2]|0;m=k&134217727;k=(k>>>27)+((G|0)/4|0)|0;do if((k|0)>=0)if((k|0)>4){g[rb>>3]=+(m|0)*3.725290298461914e-09;c[rb+8>>2]=k;_n(R,71436,rb)|0;k=2147483647;break}else{k=m<<k;break}else{B=0-k|0;k=B>>>0>31?0:(1<<~k)+m>>B}while(0);if(n)k=u((c[47856+(n+3<<2)>>2]|0)+32768>>16,k+2048>>12)|0;c[hb+(v<<2)>>2]=k;n=w}}while(0);B=o+-1|0;w=n;o=B;k=(1<<B&n|0)==0?k:0-k|0}while(0);c[F+4>>2]=k;k=H+2|0;m=o+l|0;if(!((I|0)!=0&(m|0)>0)){v=o;s=G;q=x;break}else{n=w;B=G;v=E;m=D;A=s;p=C;H=k;F=zb+(N*2304|0)+(k<<2)|0}}}else{w=n;v=o;s=p;t=Ga;q=x;k=0}if((m|0)<0){mb=568;break a}B=c[12480+((a[K>>0]&1)<<2)>>2]|0;o=(s|0)/4|0;p=s-(o<<2)|0;n=o+2|0;do if((s|0)>=-11)if((s|0)>11){g[vb>>3]=.25;c[vb+8>>2]=n;_n(R,71436,vb)|0;n=2147483647;break}else{n=67108864<<n;break}else{n=-2-o|0;n=n>>>0>31?0:(1<<-3-o)+67108864>>n}while(0);if(p)n=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0;if((m|0)>0&k>>>0<573){m=w;w=q;while(1){z=zb+(N*2304|0)+(k<<2)|0;if((v|0)<10){A=Fl(ob,16)|0|m<<16;l=l+-16|0;m=v+16|0}else{A=m;m=v}q=m+-4|0;o=B+((A>>>q&15)<<1)|0;p=a[o>>0]|0;if(!(p&1)){p=b[o>>1]|0;o=(p&65535)>>>1&7;p=B+((A>>>(q-o|0)&(1<<o)+-1)+((p&65535)>>>4&65535)<<1)|0;o=p;p=a[p>>0]|0;m=q}x=m-((p&255)>>>1&7)|0;if((z|0)==(r|0)){v=w+1|0;r=r+(d[w>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[wb>>3]=.25;c[wb+8>>2]=m;_n(R,71436,wb)|0;n=2147483647;break}else{n=67108864<<m;break}else{K=-2-n|0;n=K>>>0>31?0:(1<<-3-n)+67108864>>K}while(0);if(!p){m=q;break}m=q;n=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);p=a[o>>0]|0;s=m;t=t+4|0;q=v}else q=w;w=(p&16)==0;K=x+-1|0;m=0-n|0;x=w?x:K;c[z>>2]=w?0:(1<<K&A|0)==0?n:m;K=(a[o>>0]&32)==0;w=x+-1|0;x=K?x:w;c[z+4>>2]=K?0:(1<<w&A|0)==0?n:m;w=zb+(N*2304|0)+(k+2<<2)|0;if((w|0)==(r|0)){v=q+1|0;r=r+(d[q>>0]<<2)|0;q=c[t>>2]|0;do if((s|0)==(q|0))m=s;else{n=(q|0)/4|0;p=q-(n<<2)|0;m=n+2|0;do if((q|0)>=-11)if((q|0)>11){g[xb>>3]=.25;c[xb+8>>2]=m;_n(R,71436,xb)|0;n=2147483647;break}else{n=67108864<<m;break}else{K=-2-n|0;n=K>>>0>31?0:(1<<-3-n)+67108864>>K}while(0);if(!p){m=q;break}m=q;n=u((c[47856+(p+3<<2)>>2]|0)+32768>>16,n+2048>>12)|0}while(0);s=m;t=t+4|0;p=n;q=v;m=0-n|0}else p=n;K=(a[o>>0]&64)==0;J=x+-1|0;v=K?x:J;c[w>>2]=K?0:(1<<J&A|0)==0?p:m;J=(a[o>>0]|0)<0;K=v+-1|0;v=J?K:v;c[w+4>>2]=J?((1<<K&A|0)==0?p:m):0;k=k+4|0;m=v+l|0;if(!(k>>>0<573&(m|0)>0))break;else{m=A;n=p;w=q}}}if((l|0)<=-65){Q=202;break a}k=(m|0)<0?k+-4|0:k;if((k|0)<576)hB(zb+(N*2304|0)+(k<<2)|0,0,((((k|0)==575?576:575)-k|0)>>>1<<3)+8|0)|0;N=N+1|0}while(N>>>0<j>>>0)}if((c[ab>>2]|0)==2?(eb=c[bb>>2]|0,eb|0):0){v=c[nb>>2]|0;k=a[i+10+($a*116|0)+9>>0]|0;if(k<<24>>24!=(a[i+10+($a*116|0)+67>>0]|0)){Q=276;break}l=a[i+10+($a*116|0)+66>>0]|0;if((l^a[i+10+($a*116|0)+8>>0])&8){Q=276;break}O=eb&65535;b[pb>>1]=O;b[V>>1]=O;b[ea>>1]=O;b[pa>>1]=O;b[za>>1]=O;b[Aa>>1]=O;b[Ba>>1]=O;b[Ca>>1]=O;b[Da>>1]=O;b[Ea>>1]=O;b[W>>1]=O;b[X>>1]=O;b[Y>>1]=O;b[Z>>1]=O;b[_>>1]=O;b[$>>1]=O;b[aa>>1]=O;b[ba>>1]=O;b[ca>>1]=O;b[da>>1]=O;b[fa>>1]=O;b[ga>>1]=O;b[ha>>1]=O;b[ia>>1]=O;b[ja>>1]=O;b[ka>>1]=O;b[la>>1]=O;b[ma>>1]=O;b[na>>1]=O;b[oa>>1]=O;b[qa>>1]=O;b[ra>>1]=O;b[sa>>1]=O;b[ta>>1]=O;b[ua>>1]=O;b[va>>1]=O;b[wa>>1]=O;b[xa>>1]=O;b[ya>>1]=O;e:do if(eb&1|0){t=c[jb>>2]|0;c[jb>>2]=t|256;if(k<<24>>24==2){c[U>>2]=0;c[T>>2]=0;c[hb>>2]=0;if(l&8){o=0;l=0;p=S;k=0;do{Q=k;k=k+1|0;Q=a[v+Q>>0]|0;n=Q&255;f:do if(Q<<24>>24){m=0;do{if(c[p+(m<<2)>>2]|0){l=k;break f}m=m+1|0}while(m>>>0<n>>>0)}while(0);p=p+(n<<2)|0;o=o+n|0}while(o>>>0<36);if(o>>>0<576){m=p;Q=220}else Q=228}else{o=0;l=0;m=S;k=0;Q=220}if((Q|0)==220){Q=0;q=0;r=k;s=0;while(1){O=a[v+r>>0]|0;r=r+1|0;p=O&255;g:do if(!(O<<24>>24))n=q;else{n=0;while(1){if(c[m+(n<<2)>>2]|0)break;n=n+1|0;if(n>>>0>=p>>>0){n=q;break g}}c[hb+(s<<2)>>2]=r;n=r}while(0);o=o+p|0;if(o>>>0>=576)break;else{q=n;m=m+(p<<2)|0;s=((s+1|0)>>>0)%3|0}}if(!n)Q=228;else{l=k;o=n}}if((Q|0)==228){Q=0;o=0}if(l|0){m=eb&65534;n=0;do{b[pb+(n<<1)>>1]=m;n=n+1|0}while((n|0)!=(l|0))}if(k>>>0<o>>>0){m=eb&65534;l=0;while(1){if(k>>>0<(c[hb+(l<<2)>>2]|0)>>>0)b[pb+(k<<1)>>1]=m;k=k+1|0;if((k|0)==(o|0))break;else l=((l+1|0)>>>0)%3|0}}}else{k=0;o=0;p=S;q=0;while(1){O=a[v+q>>0]|0;q=q+1|0;n=O&255;h:do if(!(O<<24>>24))m=k;else{l=0;while(1){if(c[p+(l<<2)>>2]|0){m=q;break h}l=l+1|0;if(l>>>0>=n>>>0){m=k;break}}}while(0);o=o+n|0;if(o>>>0>=576)break;else{k=m;p=p+(n<<2)|0}}if(m|0){k=eb&65534;l=0;do{b[pb+(l<<1)>>1]=k;l=l+1|0}while((l|0)!=(m|0))}}if(!(t&4096)){p=0;q=0;while(1){k=a[v+q>>0]|0;o=k&255;l=pb+(q<<1)|0;m=b[l>>1]|0;do if(m&1|0){P=a[i+10+($a*116|0)+76+q>>0]|0;n=P&255;if((P&255)>6){b[l>>1]=m&65534;break}if(k<<24>>24){m=(c[48004+(n<<2)>>2]|0)+32768>>16;l=(c[48004+(6-n<<2)>>2]|0)+32768>>16;k=0;do{P=k+p|0;N=zb+(P<<2)|0;O=(c[N>>2]|0)+2048>>12;c[N>>2]=u(O,m)|0;c[zb+2304+(P<<2)>>2]=u(O,l)|0;k=k+1|0}while((k|0)!=(o|0))}}while(0);p=p+o|0;if(p>>>0>=576)break e;else q=q+1|0}}n=b[i+10+($a*116|0)+64>>1]&1;p=0;q=0;while(1){m=a[v+q>>0]|0;o=m&255;k=pb+(q<<1)|0;l=b[k>>1]|0;i:do if(l&1|0){if(a[P+192+q>>0]|0){b[k>>1]=l&65534;break}k=a[i+10+($a*116|0)+76+q>>0]|0;l=k&255;if(m<<24>>24){if(!(k<<24>>24)){k=0;while(1){O=k+p|0;c[zb+2304+(O<<2)>>2]=c[zb+(O<<2)>>2];k=k+1|0;if((k|0)==(o|0))break i}}m=(c[47884+(n*60|0)+((l+-1|0)>>>1<<2)>>2]|0)+32768>>16;if(!(l&1)){k=0;do{O=k+p|0;c[zb+2304+(O<<2)>>2]=u((c[zb+(O<<2)>>2]|0)+2048>>12,m)|0;k=k+1|0}while((k|0)!=(o|0))}else{k=0;do{O=k+p|0;L=zb+(O<<2)|0;N=c[L>>2]|0;c[L>>2]=u(N+2048>>12,m)|0;c[zb+2304+(O<<2)>>2]=N;k=k+1|0}while((k|0)!=(o|0))}}}while(0);p=p+o|0;if(p>>>0>=576)break;else q=q+1|0}}while(0);if(eb&2|0){c[jb>>2]=c[jb>>2]|512;m=0;n=0;while(1){P=a[v+n>>0]|0;k=P&255;if(P<<24>>24?(b[pb+(n<<1)>>1]|0)==2:0){l=0;do{P=l+m|0;L=zb+(P<<2)|0;P=zb+2304+(P<<2)|0;O=c[P>>2]|0;N=(c[L>>2]|0)+2048|0;c[L>>2]=(N+O>>12)*2896;c[P>>2]=(N-O>>12)*2896;l=l+1|0}while((l|0)!=(k|0))}m=m+k|0;if(m>>>0>=576)break;else n=n+1|0}}}if(!ib){A=$a*18|0;z=0;do{x=h+48+(z*4608|0)+(A<<7)|0;w=i+10+($a*116|0)+(z*58|0)+9|0;v=zb+(z*2304|0)|0;if((a[w>>0]|0)==2){k=c[nb+(z<<2)>>2]|0;t=(a[i+10+($a*116|0)+(z*58|0)+8>>0]&8)==0;if(t)s=0;else{m=0;while(1){l=k+1|0;m=m+(d[k>>0]|0)|0;if(m>>>0>=36){s=2;k=l;break}else k=l}};c[ob>>2]=0;c[ob+4>>2]=0;c[ob+8>>2]=0;c[hb>>2]=s;c[T>>2]=s;c[U>>2]=s;r=s*18|0;m=d[k>>0]|0;q=r;k=k+1|0;l=0;while(1){if(!m){p=d[k>>0]|0;k=k+1|0;l=((l+1|0)>>>0)%3|0}else p=m;O=c[zb+(z*2304|0)+(q<<2)>>2]|0;n=hb+(l<<2)|0;m=c[n>>2]|0;o=ob+(l<<2)|0;P=c[o>>2]|0;Q=P+1|0;c[o>>2]=Q;c[pb+(m*72|0)+(l*24|0)+(P<<2)>>2]=O;if((Q|0)==6){c[o>>2]=0;c[n>>2]=m+1}q=q+1|0;if((q|0)==576)break;else m=p+-1|0}fB(zb+(z*2304|0)+(r<<2)|0,pb+(s*72|0)|0,(u(s,-72)|0)+2304|0)|0;if(!t)Rl(v,36)}else Rl(v,576);k=a[w>>0]|0;l=a[i+10+($a*116|0)+(z*58|0)+8>>0]&8;if(k<<24>>24==2&l<<24>>24==0){Ul(v,lb);Tl(lb,(c[cb>>2]|0)+(z*2304|0)|0,x,0);Ul(zb+(z*2304|0)+72|0,lb);Tl(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,x,1)}else{Q=l<<24>>24==0?k&255:0;Sl(v,lb,Q);Tl(lb,(c[cb>>2]|0)+(z*2304|0)|0,x,0);Sl(zb+(z*2304|0)+72|0,lb,Q);Tl(lb,(c[cb>>2]|0)+(z*2304|0)+72|0,x,1)}l=x+132|0;P=x+388|0;O=c[P>>2]|0;c[l>>2]=0-(c[l>>2]|0);l=x+644|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+900|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+1156|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+1412|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+1668|0;Q=c[l>>2]|0;c[P>>2]=0-O;P=x+1924|0;O=c[P>>2]|0;c[l>>2]=0-Q;l=x+2180|0;Q=c[l>>2]|0;c[P>>2]=0-O;c[l>>2]=0-Q;l=576;while(1){k=l;l=l+-1|0;if(c[zb+(z*2304|0)+(l<<2)>>2]|0)break;if(l>>>0<=36){k=36;break}}t=32-(((576-k|0)>>>0)/18|0)|0;k=a[w>>0]|0;l=t>>>0>2;j:do if(k<<24>>24==2)if(l){k=36;l=2;while(1){Ul(zb+(z*2304|0)+(k<<2)|0,lb);Tl(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,x,l);if(l&1|0){Q=x+128+(l<<2)|0;O=x+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=x+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break}else k=k+18|0}}else Q=312;else if(l){m=36;l=2;while(1){Sl(zb+(z*2304|0)+(m<<2)|0,lb,k&255);Tl(lb,(c[cb>>2]|0)+(z*2304|0)+(l*72|0)|0,x,l);if(l&1|0){Q=x+128+(l<<2)|0;O=x+384+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-(c[Q>>2]|0);Q=x+640+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+896+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1152+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+1408+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+1664+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;O=x+1920+(l<<2)|0;N=c[O>>2]|0;c[Q>>2]=0-P;Q=x+2176+(l<<2)|0;P=c[Q>>2]|0;c[O>>2]=0-N;c[Q>>2]=0-P}l=l+1|0;if(l>>>0>=t>>>0){Q=311;break j}k=a[w>>0]|0;m=m+18|0}}else Q=312;while(0);if((Q|0)==311?(Q=0,t>>>0<32):0)Q=312;if((Q|0)==312){Q=0;v=c[cb>>2]|0;do{P=v+(z*2304|0)+(t*72|0)|0;c[h+48+(z*4608|0)+(A<<7)+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+4|0;k=x+128+(t<<2)|0;c[k>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+8|0;c[x+256+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+12|0;p=x+384+(t<<2)|0;c[p>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+16|0;c[x+512+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+20|0;q=x+640+(t<<2)|0;c[q>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+24|0;c[x+768+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+28|0;r=x+896+(t<<2)|0;c[r>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+32|0;c[x+1024+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+36|0;s=x+1152+(t<<2)|0;c[s>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+40|0;c[x+1280+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+44|0;l=x+1408+(t<<2)|0;c[l>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+48|0;c[x+1536+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+52|0;m=x+1664+(t<<2)|0;c[m>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+56|0;c[x+1792+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+60|0;n=x+1920+(t<<2)|0;c[n>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+64|0;c[x+2048+(t<<2)>>2]=c[P>>2];c[P>>2]=0;P=v+(z*2304|0)+(t*72|0)+68|0;o=x+2176+(t<<2)|0;c[o>>2]=c[P>>2];c[P>>2]=0;if(t&1|0){O=c[p>>2]|0;c[k>>2]=0-(c[k>>2]|0);P=c[q>>2]|0;c[p>>2]=0-O;O=c[r>>2]|0;c[q>>2]=0-P;P=c[s>>2]|0;c[r>>2]=0-O;O=c[l>>2]|0;c[s>>2]=0-P;P=c[m>>2]|0;c[l>>2]=0-O;O=c[n>>2]|0;c[m>>2]=0-P;P=c[o>>2]|0;c[n>>2]=0-O;c[o>>2]=0-P}t=t+1|0}while(t>>>0<32)}z=z+1|0}while((z|0)!=(j|0))}$a=$a+1|0;if($a>>>0>=fb>>>0){k=0;Q=318;break}}if((Q|0)==165)mb=567;else if((Q|0)==202)M(71469,71301,1253,71511);else if((Q|0)==276){zb=569;hc=Ab;return zb|0}else if((Q|0)==318){hc=Ab;return k|0}zb=mb;hc=Ab;return zb|0}function Rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+(b<<2)|0;if((b|0)<=18)return;b=a+72|0;do{g=b+-4|0;e=c[b>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(u(2048-e>>12,-2107)|0)+(f*3512|0);c[b>>2]=(u(f,-2107)|0)+((e+2048>>12)*3512|0);e=b+-8|0;f=b+4|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(u(2048-g>>12,-1932)|0)+(a*3612|0);c[f>>2]=(u(a,-1932)|0)+((g+2048>>12)*3612|0);f=b+-12|0;g=b+8|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048>>12;c[f>>2]=(u(2048-a>>12,-1284)|0)+(e*3890|0);c[g>>2]=(u(e,-1284)|0)+((a+2048>>12)*3890|0);g=b+-16|0;a=b+12|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048>>12;c[g>>2]=(u(2048-e>>12,-745)|0)+(f*4028|0);c[a>>2]=(u(f,-745)|0)+((e+2048>>12)*4028|0);a=b+-20|0;e=b+16|0;f=c[e>>2]|0;g=(c[a>>2]|0)+2048>>12;c[a>>2]=(u(2048-f>>12,-387)|0)+(g*4078|0);c[e>>2]=(u(g,-387)|0)+((f+2048>>12)*4078|0);e=b+-24|0;f=b+20|0;g=c[f>>2]|0;a=(c[e>>2]|0)+2048>>12;c[e>>2]=(u(2048-g>>12,-168)|0)+(a*4093|0);c[f>>2]=(u(a,-168)|0)+((g+2048>>12)*4093|0);f=b+-28|0;g=b+24|0;a=c[g>>2]|0;e=(c[f>>2]|0)+2048|0;c[f>>2]=(u(2048-a>>12,-58)|0)+(e&-4096);c[g>>2]=(u(e>>12,-58)|0)+(a+2048&-4096);g=b+-32|0;a=b+28|0;e=c[a>>2]|0;f=(c[g>>2]|0)+2048|0;c[g>>2]=(u(2048-e>>12,-15)|0)+(f&-4096);c[a>>2]=(u(f>>12,-15)|0)+(e+2048&-4096);b=b+72|0}while(b>>>0<d>>>0);return}function Sl(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,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;o=((c[a>>2]|0)+2048>>12)*8184|0;g=((c[a+4>>2]|0)+2048>>12)*8122|0;O=((c[a+8>>2]|0)+2048>>12)*7998|0;Z=((c[a+12>>2]|0)+2048>>12)*7813|0;X=((c[a+16>>2]|0)+2048>>12)*7568|0;V=((c[a+20>>2]|0)+2048>>12)*7266|0;ca=((c[a+24>>2]|0)+2048>>12)*6909|0;M=((c[a+28>>2]|0)+2048>>12)*6499|0;Q=((c[a+32>>2]|0)+2048>>12)*6040|0;ba=((c[a+36>>2]|0)+2048>>12)*5534|0;P=((c[a+40>>2]|0)+2048>>12)*4987|0;f=((c[a+44>>2]|0)+2048>>12)*4402|0;A=((c[a+48>>2]|0)+2048>>12)*3783|0;R=((c[a+52>>2]|0)+2048>>12)*3135|0;m=((c[a+56>>2]|0)+2048>>12)*2463|0;t=((c[a+60>>2]|0)+2048>>12)*1773|0;N=((c[a+64>>2]|0)+2048>>12)*1069|0;W=((c[a+68>>2]|0)+2048>>12)*357|0;S=W+o|0;Y=N+g|0;e=t+O|0;a=m+Z|0;v=R+X|0;l=A+V|0;K=f+ca|0;_=P+M|0;L=ba+Q|0;$=a+l|0;l=a-l|0;a=e+K|0;e=K-e|0;K=Y+_|0;aa=S+L|0;S=L-S|0;L=a+$+aa|0;U=e+2048|0;n=u(U+l>>12,-5266)|0;l=l+2048|0;T=(l-S>>12)*8068|0;U=u(S+U>>12,-2802)|0;Y=u(2048-_+Y>>12,-7094)|0;_=u(a+2048-aa>>12,-7698)|0;$=$+2048|0;aa=u($-aa>>12,-1423)|0;a=u($-a>>12,-6275)|0;$=K+v|0;K=(v<<1)-K|0;W=(o+2048-W>>12)*8161|0;N=(g+2048-N>>12)*7913|0;t=(O+2048-t>>12)*7424|0;m=(Z+2048-m>>12)*6710|0;R=X+2048-R>>12;A=(V+2048-A>>12)*4699|0;f=(ca+2048-f>>12)*3462|0;P=(M+2048-P>>12)*2120|0;ba=(Q+2048-ba>>12)*714|0;Q=m+A|0;A=m-A|0;m=t+f|0;t=f-t|0;f=N+P|0;M=W+ba|0;W=ba-W|0;ba=m+Q+M|0;ca=t+2048|0;V=u(ca+A>>12,-5266)|0;A=A+2048|0;X=(A-W>>12)*8068|0;ca=u(W+ca>>12,-2802)|0;N=u(2048-P+N>>12,-7094)|0;P=u(m+2048-M>>12,-7698)|0;Q=Q+2048|0;M=u(Q-M>>12,-1423)|0;m=u(Q-m>>12,-6275)|0;Q=f+(R*5793|0)|0;f=(R*11586|0)-f|0;R=ba+Q|0;Z=V-N-R+X|0;O=m-f+P-Z|0;W=(u(A-t+W>>12,-7094)|0)-O|0;P=P+f-M-W|0;X=N-ca+X-P|0;Q=ba-(Q<<1)-X|0;ca=V+N+ca-Q|0;N=(L+$|0)/2|0;R=((R|0)/2|0)-N|0;V=((n-Y+T|0)/2|0)-R|0;Z=((Z|0)/2|0)-V|0;ba=((a-K+_|0)/2|0)-Z|0;O=((O|0)/2|0)-ba|0;S=(u(l-e+S>>12,-3547)|0)-O|0;W=((W|0)/2|0)-S|0;_=((_+K-aa|0)/2|0)-W|0;P=((P|0)/2|0)-_|0;T=((Y-U+T|0)/2|0)-P|0;X=((X|0)/2|0)-T|0;$=((L-($<<1)|0)/2|0)-X|0;Q=((Q|0)/2|0)-$|0;U=((n+Y+U|0)/2|0)-Q|0;Y=((ca|0)/2|0)-U|0;aa=((a+K+aa|0)/2|0)-Y|0;ca=((m+f+M-ca|0)/2|0)-aa|0;c[b>>2]=P;M=b+4|0;c[M>>2]=T;f=b+8|0;c[f>>2]=X;m=b+12|0;c[m>>2]=$;K=b+16|0;c[K>>2]=Q;a=b+20|0;c[a>>2]=U;n=b+24|0;c[n>>2]=Y;L=b+28|0;c[L>>2]=aa;e=b+32|0;c[e>>2]=ca;l=b+36|0;c[l>>2]=0-ca;t=b+40|0;c[t>>2]=0-aa;A=b+44|0;c[A>>2]=0-Y;g=b+48|0;c[g>>2]=0-U;o=b+52|0;c[o>>2]=0-Q;v=b+56|0;c[v>>2]=0-$;h=b+60|0;c[h>>2]=0-X;p=b+64|0;c[p>>2]=0-T;w=b+68|0;c[w>>2]=0-P;da=0-_|0;i=b+72|0;c[i>>2]=da;I=0-W|0;q=b+76|0;c[q>>2]=I;F=0-S|0;x=b+80|0;c[x>>2]=F;C=0-O|0;j=b+84|0;c[j>>2]=C;H=0-ba|0;r=b+88|0;c[r>>2]=H;E=0-Z|0;y=b+92|0;c[y>>2]=E;B=0-V|0;k=b+96|0;c[k>>2]=B;J=0-R|0;s=b+100|0;c[s>>2]=J;G=0-N|0;z=b+104|0;c[z>>2]=G;D=b+108|0;c[D>>2]=G;G=b+112|0;c[G>>2]=J;J=b+116|0;c[J>>2]=B;B=b+120|0;c[B>>2]=E;E=b+124|0;c[E>>2]=H;H=b+128|0;c[H>>2]=C;C=b+132|0;c[C>>2]=F;F=b+136|0;c[F>>2]=I;I=b+140|0;c[I>>2]=da;switch(d|0){case 0:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;c[i>>2]=(2048-_>>12)*4092;c[q>>2]=(2048-W>>12)*4061;c[x>>2]=(2048-S>>12)*3999;c[j>>2]=(2048-O>>12)*3906;c[r>>2]=(2048-ba>>12)*3784;c[y>>2]=(2048-Z>>12)*3633;c[k>>2]=(2048-V>>12)*3455;c[s>>2]=((c[s>>2]|0)+2048>>12)*3250;c[z>>2]=((c[z>>2]|0)+2048>>12)*3020;c[D>>2]=((c[D>>2]|0)+2048>>12)*2767;c[G>>2]=((c[G>>2]|0)+2048>>12)*2493;c[J>>2]=((c[J>>2]|0)+2048>>12)*2201;c[B>>2]=((c[B>>2]|0)+2048>>12)*1891;c[E>>2]=((c[E>>2]|0)+2048>>12)*1567;c[H>>2]=((c[H>>2]|0)+2048>>12)*1232;c[C>>2]=((c[C>>2]|0)+2048>>12)*887;c[F>>2]=((c[F>>2]|0)+2048>>12)*535;c[I>>2]=((c[I>>2]|0)+2048>>12)*179;return}case 1:{c[b>>2]=(P+2048>>12)*179;c[M>>2]=(T+2048>>12)*535;c[f>>2]=(X+2048>>12)*887;c[m>>2]=($+2048>>12)*1232;c[K>>2]=(Q+2048>>12)*1567;c[a>>2]=(U+2048>>12)*1891;c[n>>2]=(Y+2048>>12)*2201;c[L>>2]=(aa+2048>>12)*2493;c[e>>2]=(ca+2048>>12)*2767;c[l>>2]=(2048-ca>>12)*3020;c[t>>2]=(2048-aa>>12)*3250;c[A>>2]=(2048-Y>>12)*3455;c[g>>2]=(2048-U>>12)*3633;c[o>>2]=(2048-Q>>12)*3784;c[v>>2]=(2048-$>>12)*3906;c[h>>2]=(2048-X>>12)*3999;c[p>>2]=(2048-T>>12)*4061;c[w>>2]=(2048-P>>12)*4092;da=2048-V>>12;c[k>>2]=da*4061;b=2048-R>>12;c[s>>2]=b*3784;d=2048-N>>12;c[z>>2]=d*3250;c[D>>2]=d*2493;c[G>>2]=b*1567;c[J>>2]=da*535;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;return}case 3:{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[n>>2]=(Y+2048>>12)*535;c[L>>2]=(aa+2048>>12)*1567;c[e>>2]=(ca+2048>>12)*2493;c[l>>2]=(2048-ca>>12)*3250;c[t>>2]=(2048-aa>>12)*3784;c[A>>2]=(2048-Y>>12)*4061;da=2048-_>>12;c[i>>2]=da*4092;b=2048-W>>12;c[q>>2]=b*4061;d=2048-S>>12;c[x>>2]=d*3999;ca=2048-O>>12;c[j>>2]=ca*3906;ba=2048-ba>>12;c[r>>2]=ba*3784;aa=2048-Z>>12;c[y>>2]=aa*3633;$=2048-V>>12;c[k>>2]=$*3455;_=2048-R>>12;c[s>>2]=_*3250;Z=2048-N>>12;c[z>>2]=Z*3020;c[D>>2]=Z*2767;c[G>>2]=_*2493;c[J>>2]=$*2201;c[B>>2]=aa*1891;c[E>>2]=ba*1567;c[H>>2]=ca*1232;c[C>>2]=d*887;c[F>>2]=b*535;c[I>>2]=da*179;return}default:return}}function Tl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[d+(e<<2)>>2]=(c[b>>2]|0)+(c[a>>2]|0);c[b>>2]=c[a+72>>2];f=b+4|0;c[d+128+(e<<2)>>2]=(c[f>>2]|0)+(c[a+4>>2]|0);c[f>>2]=c[a+76>>2];f=b+8|0;c[d+256+(e<<2)>>2]=(c[f>>2]|0)+(c[a+8>>2]|0);c[f>>2]=c[a+80>>2];f=b+12|0;c[d+384+(e<<2)>>2]=(c[f>>2]|0)+(c[a+12>>2]|0);c[f>>2]=c[a+84>>2];f=b+16|0;c[d+512+(e<<2)>>2]=(c[f>>2]|0)+(c[a+16>>2]|0);c[f>>2]=c[a+88>>2];f=b+20|0;c[d+640+(e<<2)>>2]=(c[f>>2]|0)+(c[a+20>>2]|0);c[f>>2]=c[a+92>>2];f=b+24|0;c[d+768+(e<<2)>>2]=(c[f>>2]|0)+(c[a+24>>2]|0);c[f>>2]=c[a+96>>2];f=b+28|0;c[d+896+(e<<2)>>2]=(c[f>>2]|0)+(c[a+28>>2]|0);c[f>>2]=c[a+100>>2];f=b+32|0;c[d+1024+(e<<2)>>2]=(c[f>>2]|0)+(c[a+32>>2]|0);c[f>>2]=c[a+104>>2];f=b+36|0;c[d+1152+(e<<2)>>2]=(c[f>>2]|0)+(c[a+36>>2]|0);c[f>>2]=c[a+108>>2];f=b+40|0;c[d+1280+(e<<2)>>2]=(c[f>>2]|0)+(c[a+40>>2]|0);c[f>>2]=c[a+112>>2];f=b+44|0;c[d+1408+(e<<2)>>2]=(c[f>>2]|0)+(c[a+44>>2]|0);c[f>>2]=c[a+116>>2];f=b+48|0;c[d+1536+(e<<2)>>2]=(c[f>>2]|0)+(c[a+48>>2]|0);c[f>>2]=c[a+120>>2];f=b+52|0;c[d+1664+(e<<2)>>2]=(c[f>>2]|0)+(c[a+52>>2]|0);c[f>>2]=c[a+124>>2];f=b+56|0;c[d+1792+(e<<2)>>2]=(c[f>>2]|0)+(c[a+56>>2]|0);c[f>>2]=c[a+128>>2];f=b+60|0;c[d+1920+(e<<2)>>2]=(c[f>>2]|0)+(c[a+60>>2]|0);c[f>>2]=c[a+132>>2];f=b+64|0;c[d+2048+(e<<2)>>2]=(c[f>>2]|0)+(c[a+64>>2]|0);c[f>>2]=c[a+136>>2];b=b+68|0;c[d+2176+(e<<2)>>2]=(c[b>>2]|0)+(c[a+68>>2]|0);c[b>>2]=c[a+140>>2];return} |
| | | |
| | | // EMSCRIPTEN_END_FUNCS |
| | | var kc=[IB,cm,Vo,Wo,Yo,Zo,lp,mp,op,pp,gq,mq,sq,tq,yq,zq,Vs,at,bt,ct,dt,et,ft,gt,Dt,Kt,Lt,Mt,Nt,Ot,Pt,Qt,yu,zu,Eu,Ju,Ku,Pu,Uu,Vu,_u,dv,ev,jv,gw,hw,jw,yw,zw,Bw,ex,fx,lx,mx,rw,sw,uw,Hw,Iw,Kw,AA,Hd,Qd,Sd,Td,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB,IB];var lc=[JB,Dm];var mc=[KB,Le,Me,hz,_o,ap,qp,sp,iq,oq,uq,Aq,Tw,Vw,Xw,wx,yx,Ax,Md,Od,KB,KB,KB,KB,KB,KB,KB,KB,KB,KB,KB,KB];var nc=[LB,dm,im,jm,Zm,So,Xo,$o,ip,np,rp,hq,nq,Hq,Pq,Wv,$v,Uw,Ww,Zw,sx,xx,zx,Cx,eA,GA,IA,Wd,ke,Un,LB,LB];var oc=[MB,hf,em,Yw,tx,ux,vx,Bx];var pc=[NB,ws,xs,Ns,Os,NB,NB,NB];var qc=[OB,Fq,Nq,rs,ss,us,ys,Is,Js,Ls,Ps,fw,iw,xw,Aw,_w,Dx,qw,tw,Gw,Jw,OB,OB,OB,OB,OB,OB,OB,OB,OB,OB,OB];var rc=[PB,Kv,Qv,PB];var sc=[QB,Uq,Vq,Wq,Xq,Yq,Zq,_q,$q,ar,br,cr,Qr,Rr,Sr,Tr,Ur,Vr,Wr,Xr,Yr,Zr,_r,ts,vs,Ks,Ms,Ws,Xs,Ys,Zs,_s,Et,Ft,Gt,Ht,It,Lv,Rv,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB,QB];var tc=[RB,mu,su,ov,pv,Av,Bv,RB];var uc=[SB,$s,Jt,dw,ew,vw,ww,ow,pw,Ew,Fw,SB,SB,SB,SB,SB];var vc=[TB,UB,Zz,sA];var wc=[VB,Xd,Yd,_d,ae,be,de,ee,Ad,ge,he,me,ne,oe,Je,Ke,kf,lf,qf,rf,Lg,Mg,Ni,Oi,Zj,_j,$j,ak,uk,vk,wk,xk,Fk,Gk,Hk,Ik,Lo,No,Po,Qo,fp,gp,xp,yp,zp,Ap,Cp,Dp,Ep,Fp,Hp,Ip,Jp,Kp,Mp,Np,Op,Pp,eq,kq,qq,wq,Cq,Dq,Eq,Lq,Mq,Sq,Tq,Or,Pr,ps,qs,Gs,Hs,Ts,Us,Bt,Ct,ku,lu,qu,ru,wu,xu,Hu,Iu,Su,Tu,bv,cv,mv,nv,yv,zv,Iv,Jv,Ov,Pv,Uv,Vv,Zv,_v,Kq,nw,cw,Cw,Dw,Ow,Pw,Rw,Sw,cx,dx,jx,kx,qx,rx,Ex,Fx,Gx,aA,bA,cA,dA,nA,yA,zA,EA,FA,HA,KA,Id,Rc,Sc,Rd,Vd,kr,mr,qv,vo,tA,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB,VB];var xc=[WB,rd,pe,mf,sf,Ng,Ro,hp,fq,lq,rq,xq,Au,Bu,Cu,Du,Fu,Gu,Lu,Mu,Nu,Ou,Qu,Ru,Wu,Xu,Yu,Zu,$u,av,fv,gv,hv,iv,kv,lv,Yv,bw,gx,hx,ix,nx,ox,px,Pc,Qc,Ld,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,Ud,mi,Em,WB,WB,WB];var yc=[XB,qd,fe,jf,Jd,Kd,Nd,Pd,Xh,_h,$h,ai,bi,ci,di,ei,fi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,XB,XB,XB,XB,XB,XB];var zc=[YB,Uo,kp,Gq,Oq,hA,qA,NA,Yh,Zh,gi,hi,ii,ji,ki,li,si,ti,ui,vi,wi,Nl,Ml,YB,YB,YB,YB,YB,YB,YB,YB,YB];var Ac=[ZB,gA,pA,MA,ni,oi,pi,qi,ri,ZB,ZB,ZB,ZB,ZB,ZB,ZB];var Bc=[_B,To,jp,Xv,aw,fA,oA,LA,gh,_B,_B,_B,_B,_B,_B,_B];var Cc=[$B,fh,kh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B,$B];var Dc=[aC,jh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,aC,aC,aC,aC,aC,aC,aC,aC,aC,aC,aC,aC,aC,aC];var Ec=[bC,hh,nh,bC];var Fc=[cC,lh,oh,Fh,Gh,cC,cC,cC];var Gc=[dC,ih];var Hc=[eC,mh];return{___cxa_can_catch:VA,___cxa_is_pointer_type:WA,___errno_location:gm,___getTypeName:bm,___muldi3:YA,___udivdi3:bB,_bitshift64Ashr:cB,_bitshift64Lshr:dB,_bitshift64Shl:eB,_free:vo,_i64Add:ZA,_i64Subtract:_A,_main:Nc,_malloc:uo,_memcpy:fB,_memmove:gB,_memset:hB,_pthread_cond_broadcast:iB,_sbrk:jB,_strlen:tn,dynCall_ii:kB,dynCall_iidiiii:lB,dynCall_iii:mB,dynCall_iiii:nB,dynCall_iiiii:oB,dynCall_iiiiid:pB,dynCall_iiiiii:qB,dynCall_iiiiiid:rB,dynCall_iiiiiii:sB,dynCall_iiiiiiii:tB,dynCall_iiiiiiiii:uB,dynCall_v:vB,dynCall_vi:wB,dynCall_vii:xB,dynCall_viii:yB,dynCall_viiii:zB,dynCall_viiiii:AB,dynCall_viiiiii:BB,dynCall_viiiiiii:CB,dynCall_viiiiiiii:DB,dynCall_viiiiiiiii:EB,dynCall_viiiiiiiiii:FB,dynCall_viiiiiiiiiiii:GB,dynCall_viiiiiiiiiiiii:HB,establishStackSpace:Mc,globalCtors:Ic,stackAlloc:Jc,stackRestore:Lc,stackSave:Kc}}) |
| | | |
| | | |
| | | // EMSCRIPTEN_END_ASM |
| | | (asmGlobalArg,asmLibraryArg,buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _main=Module["_main"]=asm["_main"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=asm["_pthread_cond_broadcast"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _strlen=Module["_strlen"]=asm["_strlen"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var globalCtors=Module["globalCtors"]=asm["globalCtors"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiii"];var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=asm["dynCall_viiiiiiiiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(Module["thisProgram"]);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}Module["quit"](status,new ExitStatus(status))}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}Module["noExitRuntime"]=true;run(); |
| | | |
| New file |
| | |
| | | !(function () { |
| | | /** |
| | | * @param opt |
| | | * container: DOM 容器 |
| | | * contextOptions: |
| | | * videoBuffer: |
| | | * forceNoGL: |
| | | * isNotMute: |
| | | * decoder: |
| | | * @constructor |
| | | */ |
| | | function Jessibuca(opt) { |
| | | this._opt = opt; |
| | | |
| | | if (typeof opt.container === "string") { |
| | | this._opt.container = document.getElementById(opt.container); |
| | | } |
| | | if (!this._opt.container) { |
| | | throw new Error('Jessibuca need container option'); |
| | | return; |
| | | } |
| | | |
| | | this._canvasElement = document.createElement("canvas"); |
| | | this._canvasElement.style.position = "absolute"; |
| | | this._canvasElement.style.top = 0; |
| | | this._canvasElement.style.left = 0; |
| | | this._opt.container.appendChild(this._canvasElement); |
| | | this._container = this._opt.container; |
| | | this._container.style.overflow = "hidden"; |
| | | this._containerOldPostion = { |
| | | position: this._container.style.position, |
| | | top: this._container.style.top, |
| | | left: this._container.style.left, |
| | | width: this._container.style.width, |
| | | height: this._container.style.height |
| | | } |
| | | if (this._containerOldPostion.position != "absolute") { |
| | | this._container.style.position = "relative" |
| | | } |
| | | this._opt.videoBuffer = opt.videoBuffer || 0; |
| | | this._opt.text = opt.text || ''; |
| | | // |
| | | this._opt.isResize = opt.isResize === false ? opt.isResize : true; |
| | | this._opt.isFullResize = opt.isFullResize === true ? opt.isFullResize : false; |
| | | this._opt.isDebug = opt.debug === true; |
| | | this._opt.timeout = typeof opt.timeout === 'number' ? opt.timeout : 30; |
| | | this._opt.supportDblclickFullscreen = opt.supportDblclickFullscreen === true; |
| | | this._opt.showBandwidth = opt.showBandwidth === true; |
| | | this._opt.operateBtns = Object.assign({ |
| | | fullscreen: false, |
| | | screenshot: false, |
| | | play: false, |
| | | audio: false |
| | | }, opt.operateBtns || {}); |
| | | this._opt.keepScreenOn = opt.keepScreenOn === true; |
| | | |
| | | if (!opt.forceNoGL) this._initContextGL(); |
| | | this._audioContext = new (window.AudioContext || window.webkitAudioContext)(); |
| | | this._audioEnabled(true); |
| | | if (!opt.isNotMute) this._audioEnabled(false); |
| | | if (this._contextGL) { |
| | | this._initProgram(); |
| | | this._initBuffers(); |
| | | this._initTextures(); |
| | | } |
| | | this._onresize = () => this.resize(); |
| | | this._onfullscreenchange = () => this._fullscreenchange(); |
| | | window.addEventListener("resize", this._onresize); |
| | | document.addEventListener('fullscreenchange', this._onfullscreenchange); |
| | | this._decoderWorker = new Worker(opt.decoder || 'ff.js') |
| | | var _this = this; |
| | | this._hasLoaded = false; |
| | | this._stats = { |
| | | buf: 0, |
| | | fps: 0, |
| | | abps: '', |
| | | vbps: '', |
| | | ts: '' |
| | | }; |
| | | |
| | | if (this._opt.supportDblclickFullscreen) { |
| | | this._canvasElement.addEventListener('dblclick', function () { |
| | | _this.fullscreen = !_this.fullscreen; |
| | | }, false); |
| | | } |
| | | this.onPlay = noop; |
| | | this.onPause = noop; |
| | | this.onRecord = noop; |
| | | this.onFullscreen = noop; |
| | | this.onMute = noop; |
| | | this.onLoad = noop; |
| | | this.onLog = noop; |
| | | this.onError = noop; |
| | | this.onTimeUpdate = noop; |
| | | this.onInitSize = noop; |
| | | this._onMessage(); |
| | | this._initDom(); |
| | | this._initStatus(); |
| | | this._initEventListener(); |
| | | this._hideBtns(); |
| | | // |
| | | this._initWakeLock(); |
| | | this._enableWakeLock(); |
| | | }; |
| | | |
| | | function noop() { |
| | | |
| | | } |
| | | |
| | | Jessibuca.prototype._initDom = function () { |
| | | var playBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAARVJREFUSMe9laEOglAUhs+5k9lJFpsJ5QWMJoNGbEY0mEy+gr6GNo0a3SiQCegMRILzGdw4hl+Cd27KxPuXb2zA/91z2YXoGRERkX4fvN3A2QxUiv4dFM3n8jZRBLbbVfd+ubJuF4xjiCyXkksueb1uSKCIZYGLBTEx8ekEoV7PkICeVgs8HiGyXoO2bUigCDM4HoPnM7bI8wwJ6Gk0sEXbLSay30Oo2TQkoGcwgFCSQMhxDAvoETEscDiQkJC4LjMz8+XyZ4HrFYWjEQqHQ1asWGWZfmdFAsVINxuw00HhbvfpydpvxWkKTqdYaRCUfUPJCdzv4Gr1uqfli0tOIAzByUT/iCrL6+84y3Bw+D6ui5Ou+jwA8FnIO++FACgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEl0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvYm9mYW5nLnN2Z8fICi0AAAAASUVORK5CYII='; |
| | | var pauseBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAHVJREFUSMftkCESwCAMBEOnCtdXVMKHeC7oInkEeQJXkRoEZWraipxZc8lsQqQZBACAlIS1oqGhhTCdu3oyxyyMcdRf79c5J7SWDBky+z4173rbJvR+VF/e/qwKqIAKqMBDgZyFzAQCoZTpxq7HLDyOrw/9b07l3z4dDnI2IAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMIo/vCcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDD7YgSbAAAASnRFWHRzdmc6YmFzZS11cmkAZmlsZTovLy9ob21lL2FkbWluL2ljb24tZm9udC90bXAvaWNvbl9nZjcwMHM3YjNmdy96YW50aW5nLnN2ZxqNZJkAAAAASUVORK5CYII='; |
| | | var screenshotBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAaxJREFUSMfNlLFOAkEQhmevAZMjR6OGRBJKsFBzdkYNpYSaWkopIOFRCBWh1ieA+ALGRgutjK0HzV2H5SX7W/zsmY3cnTEhcZovOzcz9+/s7Ir8d4OGht7fBwAgjvEri2OTl1ffSf0xAMBxRIkS1e3Se3+vcszEMe/6OqmT/aN2m1wsNu/o5YVsNHI7BgA4PCRfXzfXCwKy1RLbcXZG9nrkzc12jvT8nPU/PtatOThgAx8fuS4WyZ0de2e+T87n5OcnuVqRsxl5cpImQDnKUc7DA1fVqpimZCu+vCSjiNH9PlmpJNTQ0INBErfeafZRAakC6FWKfH9nwU7H/l6rGdqCOx3y7c3U+aOARsMMp+1vNskwTLjulB23XJL1epqA9OshIiKeJxAIoug7UyA4OuLi6Ynr52deu+NjOy4MSc9Ln8rMDpTLybBpaOjdXbJUIqdTm8a/t2fn/RSQewR24HicTLmGhnbdzcPquvYtGY3+PIR24UKBUXd35v6Sk4lN47+9NXm/FBAEedfGTjw9JYdDm76fm6+hoS8ujGAxT6L9Im7bTKeurvIEb92+AES1b6x283XSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2NhbWVyYS5zdmeyubWEAAAAAElFTkSuQmCC'; |
| | | var fullscreenBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAALZJREFUSMftVbsORUAQVSj8DomChvh3lU5CoSVCQq2RObeYu8XG3deVoHCak81kds7Oaz3vxRcAAMwztOg6vX9d6/3XFQQC+b7iAoFhYE7Tvx9EIFAcy/ftO3MQGAQkCfM4MmeZWyajiLnvmYuCeduMAuSzvRBVYNluFHCssSgFp7Sq9ALKkjnPf9ubRtkDL27HNT3QtsY9cAjsNAVheHIKBOwD2wpxFHDbJpwmaHH2L1iWx+2BDy8RbXXtqbRBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABTdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3F1YW5waW5nenVpZGFodWEuc3ZnTBoI7AAAAABJRU5ErkJggg=='; |
| | | var minScreenBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAYJJREFUSMfdVbGKwkAQnQn+geAfWBixUTsVgp3YGKxSWflVNmIjARULwc5KO40ipNHWRgs/wGLniucKa+Jd5ODuuGle5u3szGRmd5bor4iIiMhuB3Sc+HXXBdp2/Lpta7v4dccRJUrUdhtNQIkSVa3C8HwG1uumg34f2OnEB+h0tF1Sv5b+YIsttpZLEhKSdhvscPi8IXFF74GJiYnHY7Cex8zMvFgkbInjmJnv98kqoO30vmhLtaRMB60WtEbDNDudgMUiKiQSzfjOMzFxoQAyCPSfw7/nQZ/PUYnpNGV6OR6BmYzJbzYIoBQCzGaRBDQvJCTdLnTLolg5HN5t6f8V1h/oUT4PrVKJWBotmEzQw+vV3J9Ow851P2/BaoX9Yfh0BrJZYKlk8uUyHOpDeLuBHwzMBJtN2PV6IPUhXK9Nf5cLMAxfluanrmGkRBggtRo03wfq66P/6CsJAnOg+f6rgfZI4BGYiYlHIx048eR6krcnq34kkj1GuVz8+jceo9+SD5A8yGh8CTq7AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L3p1aXhpYW9odWEuc3ZnoCFr0AAAAABJRU5ErkJggg=='; |
| | | var quietBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAR9JREFUSMfVlD0LglAYhe9VkwgNihpsjbYQf4JTS7+iuaGxpcGfJjS0NFRLk2NDi6MogafhJGRIX9yEzvJwrx/nvPd9VYh/F3LkyBuN2g3J1QoAgCQhPe/Hxq5Lo+0WlfJ9dYYAgGaTDAIyy/BUnwcwWJlhcLnZkN2ugIBAuy2kkEL2ep8F73S4kjfFcfn6cMj9KLodrWVBiXyf75tMyOOR+4MBOZ8XLXzorboA5UpnM/J0Ivd7+vX7xX2asqGpVKtFXi5sqWmypXefrfIWAACmU/JwKCoun8hu9zA0uk6u13wgirg+n7+bAcsibbt6SB3n9TQXPxwAwHJJpum7M6BcDDQa0SgMaw9QPkJNIxcLMo4ZcDz+eYDqQFLWbqxKV57EtW1WtMbmAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAwij+8JwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMS0wOFQxNjo0Mjo1MyswODowMPtiBJsAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2dmNzAwczdiM2Z3L2ppbmd5aW4uc3ZnIlMYaQAAAABJRU5ErkJggg=='; |
| | | var playAudioBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAU5JREFUSMftkzGKwlAURf9PULBQwULSCKK1bZAgNuoaFFyAC3AdZg0uQCwshWzAShEEO7Gy0soUCu9Occ3An5nMGCfdzGsO7+Xy3/03iVL/lbAAACiVIBCI77O37Vi9QCDZbEqLm03ycEBUAoHk818v7nYpul5Jz4tf8HBKYa1mcjwmbzd8rG8NFIsU7ffk8UjmcjE3XK+RtB4G2PT75GbDeblMttumfjSKMRCGLxsQCKTReE9KIJDJxDw/SmKxiOZWWh+ntrSlre2WXRAorbTSrZapip7X66kbMKtQUFBQCENznsmQ93vqBhh5r8fO85jAcsnIrcce1yV3uxgD8zl5uZgU+dGBVlrp6GbTKRPwffaDAek45Gz2/M0AAJ0OeTol+w0rFYrOZ3K1MhNJEjEAwHF4cBA8Z8B1zcXV6msv+JMR2yaHQ1LrXx/8Z+sNRxsWcwZeb6UAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAEt0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvc2hlbmd5aW4uc3ZnFog1MQAAAABJRU5ErkJggg=='; |
| | | var recordBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAPRJREFUSMflVDEOwjAQO0e8gr2sZYVunREbD6ISfAgmkBjpC/hBEQ+AtTWD6QAI0gBlqRfLp+TiXC5n1nXgMUCS5HBoNBqj6IOMMFwuEpsNAABl6d3HihWrOJaBsuRPkGW+c929HAxuYefb6L+R0ZgkMrJYiItCnCT1sl5Y1jwXj0bNniJNJWqujfX7LyrwJh8AYDxWgulU0dPp20IFlxoODm61kpE4VnS9/puBXyPYgH7LbKY3PhwUnUw+NdC4CdW9+71UgyZspwIBB9No3O0klktxUahyx+Pz+lYG0Xzu84lXRqTqwRQAGAzns8R223gUdxZXGcAK5Hp0ClIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6NDI6NTMrMDg6MDCKP7wnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjQyOjUzKzA4OjAw+2IEmwAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fZ2Y3MDBzN2IzZncvbHV6aGlzaGlwaW4uc3Zn5Zd7GQAAAABJRU5ErkJggg=='; |
| | | var recordingBase64 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQEAYAAABPYyMiAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAAahJREFUSMdjYBjpgBFd4NZK+f+soQYG//T+yzFuUFUl2cApjEWM/758UZvysPDn3127GBkZGBgY/v4l6ICb9xTWsRbp6/9f9W8N44Jz5xgCGI4wfGFiIttrR/5n/3/U3KyR8rj8t0RdHS5lcAv+//yXzzhZTY1ii2FAmsGZocna+maD3GnWY62tNzbJBbDOffLkxie5eJYwa2uYMhaigzb2/zyGguPH/y9mTGKYYGlJUIMiYxDjHCen/4oMDAxznJzg4k8Z/jP+l5LCCAFCQP30Y5dfXVZWDI7/zzIs8PNjNGJ4/7/r+XNKA4rkoNZ4/lj0V9TmzUxJv0J+F+jrM3YyvPq/acsWujmA2oBkB9y4LifLxhoa+teAzYFtwtWr/8sZxBj9fHxo7oCbprJ72MqOHWNgZGBkYFy1isGGoZahTFSU0hAgOhcQnfph4P7/df9T9u1jPMn4nyHmxIn/bAzLGe7GxTHsZyj+f+zpUwYGBmmG6bQsiMr+L/v/rqlJY9Njm9889fW4lGEUxXCHwAomUgH3vxBG8c+f1WWf9P98sns3oaJ4FAAAbtWqHTT84QYAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDEtMDhUMTY6MzU6MjMrMDg6MDBLHbvEAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTAxLTA4VDE2OjM1OjIzKzA4OjAwOkADeAAAAE50RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcTM1YTFhNHBtY2MvbHV6aGlzaGlwaW4uc3Zn6xlv1QAAAABJRU5ErkJggg=='; |
| | | var gifBase64 = 'data:image/gif;base64,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'; |
| | | var playBigBase64 = 'data:image/png;base64,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'; |
| | | |
| | | function _setStyle(dom, cssObj) { |
| | | Object.keys(cssObj).forEach(function (key) { |
| | | dom.style[key] = cssObj[key]; |
| | | }) |
| | | } |
| | | |
| | | var doms = {}; |
| | | |
| | | var fragment = document.createDocumentFragment(); |
| | | var btnWrap = document.createElement('div'); |
| | | var control1 = document.createElement('div'); |
| | | var control2 = document.createElement('div'); |
| | | var textDom = document.createElement('div'); |
| | | var speedDom = document.createElement('div'); |
| | | var playDom = document.createElement('div'); |
| | | var playBigDom = document.createElement('div'); |
| | | var pauseDom = document.createElement('div'); |
| | | var screenshotsDom = document.createElement('div'); |
| | | var fullscreenDom = document.createElement('div'); |
| | | var minScreenDom = document.createElement('div'); |
| | | var loadingDom = document.createElement('div'); |
| | | var loadingTextDom = document.createElement('div'); |
| | | var quietAudioDom = document.createElement('div'); |
| | | var playAudioDom = document.createElement('div'); |
| | | var recordDom = document.createElement('div'); |
| | | var recordingDom = document.createElement('div'); |
| | | var bgDom = document.createElement('div'); |
| | | |
| | | loadingTextDom.innerText = this._opt.loadingText || ''; |
| | | textDom.innerText = this._opt.text || ''; |
| | | speedDom.innerText = ''; |
| | | playDom.title = '播放'; |
| | | pauseDom.title = '暂停'; |
| | | screenshotsDom.title = '截屏'; |
| | | fullscreenDom.title = '全屏'; |
| | | minScreenDom.title = '退出全屏'; |
| | | quietAudioDom.title = '静音'; |
| | | playAudioDom.title = '取消静音'; |
| | | recordDom.title = '录制'; |
| | | recordingDom.title = '取消录制'; |
| | | |
| | | var wrapStyle = { |
| | | height: '38px', |
| | | zIndex: 11, |
| | | position: 'absolute', |
| | | left: 0, |
| | | bottom: 0, |
| | | width: '100%', |
| | | background: 'rgba(0,0,0)' |
| | | }; |
| | | |
| | | var bgStyle = { |
| | | position: 'absolute', |
| | | width: '100%', |
| | | height: '100%', |
| | | }; |
| | | |
| | | if (this._opt.background) { |
| | | bgStyle = Object.assign({}, bgStyle, { |
| | | backgroundRepeat: "no-repeat", |
| | | backgroundPosition: "center", |
| | | backgroundSize: '100%', |
| | | backgroundImage: "url('" + this._opt.background + "')" |
| | | }) |
| | | } |
| | | |
| | | // |
| | | var loadingStyle = { |
| | | position: 'absolute', |
| | | width: '100%', |
| | | height: '100%', |
| | | textAlign: 'center', |
| | | color: "#fff", |
| | | display: 'none', |
| | | backgroundImage: "url('" + gifBase64 + "')", |
| | | backgroundRepeat: "no-repeat", |
| | | backgroundPosition: "center", |
| | | backgroundSize: "40px 40px", |
| | | }; |
| | | |
| | | var playBigStyle = { |
| | | position: 'absolute', |
| | | width: '100%', |
| | | height: '100%', |
| | | display: 'none', |
| | | background: 'rgba(0,0,0,0.4)', |
| | | backgroundImage: "url('" + playBigBase64 + "')", |
| | | backgroundRepeat: "no-repeat", |
| | | backgroundPosition: "center", |
| | | backgroundSize: "48px 48px", |
| | | cursor: "pointer" |
| | | }; |
| | | |
| | | var loadingTextStyle = { |
| | | position: 'absolute', |
| | | width: "100%", |
| | | top: '60%', |
| | | textAlign: 'center', |
| | | } |
| | | var controlStyle = { |
| | | position: 'absolute', |
| | | top: 0, |
| | | height: '100%', |
| | | display: 'flex', |
| | | alignItems: 'center', |
| | | }; |
| | | var styleObj = { |
| | | display: 'none', |
| | | position: 'relative', |
| | | fontSize: '13px', |
| | | color: '#fff', |
| | | lineHeight: '20px', |
| | | marginLeft: '5px', |
| | | marginRight: '5px', |
| | | userSelect: 'none' |
| | | }; |
| | | var styleObj2 = { |
| | | display: 'none', |
| | | position: 'relative', |
| | | width: '16px', |
| | | height: '16px', |
| | | marginLeft: '8px', |
| | | marginRight: '8px', |
| | | backgroundRepeat: "no-repeat", |
| | | backgroundPosition: "center", |
| | | backgroundSize: '100%', |
| | | cursor: 'pointer', |
| | | }; |
| | | _setStyle(bgDom, bgStyle); |
| | | _setStyle(btnWrap, wrapStyle); |
| | | _setStyle(loadingDom, loadingStyle); |
| | | _setStyle(playBigDom, playBigStyle); |
| | | _setStyle(loadingTextDom, loadingTextStyle); |
| | | _setStyle(control1, Object.assign({}, controlStyle, { |
| | | left: 0 |
| | | })); |
| | | _setStyle(control2, Object.assign({}, controlStyle, { |
| | | right: 0 |
| | | })); |
| | | _setStyle(textDom, styleObj); |
| | | _setStyle(speedDom, styleObj); |
| | | _setStyle(playDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + playBase64 + "')", |
| | | })); |
| | | |
| | | _setStyle(pauseDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + pauseBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(screenshotsDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + screenshotBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(fullscreenDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + fullscreenBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(minScreenDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + minScreenBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(quietAudioDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + quietBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(playAudioDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + playAudioBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(recordDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + recordBase64 + "')" |
| | | })); |
| | | |
| | | _setStyle(recordingDom, Object.assign({}, styleObj2, { |
| | | backgroundImage: "url('" + recordingBase64 + "')" |
| | | })); |
| | | |
| | | loadingDom.appendChild(loadingTextDom); |
| | | if (this._opt.text) { |
| | | control1.appendChild(textDom); |
| | | doms.textDom = textDom; |
| | | } |
| | | if (this._opt.showBandwidth) { |
| | | control1.appendChild(speedDom); |
| | | doms.speedDom = speedDom; |
| | | } |
| | | |
| | | // record |
| | | //control2.appendChild(recordingDom); |
| | | //control2.appendChild(recordDom); |
| | | |
| | | // screenshots |
| | | if (this._opt.operateBtns.screenshot) { |
| | | control2.appendChild(screenshotsDom); |
| | | doms.screenshotsDom = screenshotsDom; |
| | | } |
| | | |
| | | // play stop |
| | | if (this._opt.operateBtns.play) { |
| | | control2.appendChild(playDom); |
| | | control2.appendChild(pauseDom); |
| | | doms.playDom = playDom; |
| | | doms.pauseDom = pauseDom; |
| | | } |
| | | |
| | | // audio |
| | | if (this._opt.operateBtns.audio) { |
| | | control2.appendChild(playAudioDom); |
| | | control2.appendChild(quietAudioDom); |
| | | doms.playAudioDom = playAudioDom; |
| | | doms.quietAudioDom = quietAudioDom; |
| | | } |
| | | |
| | | // fullscreen |
| | | if (this._opt.operateBtns.fullscreen) { |
| | | control2.appendChild(fullscreenDom); |
| | | control2.appendChild(minScreenDom); |
| | | doms.fullscreenDom = fullscreenDom; |
| | | doms.minScreenDom = minScreenDom; |
| | | } |
| | | |
| | | btnWrap.appendChild(control1); |
| | | btnWrap.appendChild(control2); |
| | | |
| | | fragment.appendChild(bgDom); |
| | | doms.bgDom = bgDom; |
| | | fragment.appendChild(loadingDom); |
| | | doms.loadingDom = loadingDom; |
| | | if (this._showControl()) { |
| | | fragment.appendChild(btnWrap); |
| | | } |
| | | if (this._opt.operateBtns.play) { |
| | | fragment.appendChild(playBigDom); |
| | | doms.playBigDom = playBigDom; |
| | | } |
| | | this._container.appendChild(fragment); |
| | | this._doms = doms; |
| | | }; |
| | | |
| | | Jessibuca.prototype._initWakeLock = function () { |
| | | this._wakeLock = null; |
| | | var _this = this; |
| | | var handleWakeLock = () => { |
| | | if (this._wakeLock !== null && "visible" === document.visibilityState) { |
| | | _this._enableWakeLock(); |
| | | } |
| | | }; |
| | | |
| | | document.addEventListener('visibilitychange', handleWakeLock); |
| | | document.addEventListener('fullscreenchange', handleWakeLock); |
| | | }; |
| | | |
| | | Jessibuca.prototype._enableWakeLock = function () { |
| | | if (this._opt.keepScreenOn) { |
| | | if ("wakeLock" in navigator) { |
| | | var _this = this; |
| | | navigator.wakeLock.request("screen").then((lock) => { |
| | | _this._wakeLock = lock; |
| | | _this._wakeLock.addEventListener('release', function () { |
| | | }); |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | |
| | | |
| | | Jessibuca.prototype._initGainNode = function () { |
| | | var gainNode = this._audioContext.createGain(); |
| | | var _this = this; |
| | | var source; |
| | | if (!navigator.mediaDevices.getUserMedia) { |
| | | console.log('getUserMedia not supported on your browser!'); |
| | | return; |
| | | } |
| | | |
| | | navigator.mediaDevices.getUserMedia( |
| | | // constraints - only audio needed for this app |
| | | { |
| | | audio: true |
| | | }, |
| | | |
| | | // Success callback |
| | | function (stream) { |
| | | source = _this._audioContext.createMediaStreamSource(stream); |
| | | source.connect(gainNode); |
| | | gainNode.connect(_this._audioContext.destination); |
| | | _this._gainNode = gainNode; |
| | | }, |
| | | |
| | | // Error callback |
| | | function (err) { |
| | | console.log('The following gUM error occurred: ' + err); |
| | | } |
| | | ); |
| | | }; |
| | | |
| | | Jessibuca.prototype._showControl = function () { |
| | | var result = false; |
| | | |
| | | var hasBtnShow = false; |
| | | Object.keys(this._opt.operateBtns).forEach((key) => { |
| | | if (this._opt.operateBtns[key]) { |
| | | hasBtnShow = true; |
| | | } |
| | | }); |
| | | |
| | | if (this._opt.showBandwidth || this._opt.text || hasBtnShow) { |
| | | result = true; |
| | | } |
| | | |
| | | return result; |
| | | }; |
| | | |
| | | Jessibuca.prototype._onMessage = function () { |
| | | var _this = this; |
| | | this._decoderWorker.onmessage = function (event) { |
| | | var msg = event.data; |
| | | switch (msg.cmd) { |
| | | case "init": |
| | | _this._opt.isDebug && console.log("decoder worker init") |
| | | _this.setBufferTime(_this._opt.videoBuffer); |
| | | if (!_this._hasLoaded) { |
| | | _this._opt.isDebug && console.log("has loaded"); |
| | | _this._hasLoaded = true; |
| | | _this.onLoad(); |
| | | _this._trigger('load'); |
| | | } |
| | | break |
| | | case "initSize": |
| | | _this._canvasElement.width = msg.w; |
| | | _this._canvasElement.height = msg.h; |
| | | _this.onInitSize(); |
| | | _this.resize(); |
| | | _this._trigger('videoInfo', {w: msg.w, h: msg.h}); |
| | | if (_this.isWebGL()) { |
| | | |
| | | } else { |
| | | _this._initRGB(msg.w, msg.h) |
| | | } |
| | | break |
| | | case "render": |
| | | if (_this._contextGL) { |
| | | _this._drawNextOutputPictureGL(msg.output); |
| | | } else { |
| | | _this._drawNextOutputPictureRGBA(msg.buffer); |
| | | } |
| | | if (_this.loading) { |
| | | _this.loading = false; |
| | | _this.playing = true; |
| | | _this._opt.isDebug && console.log("clear check loading timeout"); |
| | | _this._clearCheckLoading(); |
| | | } |
| | | _this._trigger('timeUpdate', msg.ts); |
| | | _this.onTimeUpdate(msg.ts); |
| | | _this._updateStats({bps: msg.bps, ts: msg.ts}); |
| | | _this._checkHeart(); |
| | | break |
| | | case "initAudio": |
| | | _this._initAudioPlay(msg.frameCount, msg.samplerate, msg.channels) |
| | | _this._trigger('audioInfo', { |
| | | numOfChannels: msg.channels, // 声频通道 |
| | | length: msg.frameCount, // 帧数 |
| | | sampleRate: msg.samplerate // 采样率 |
| | | }); |
| | | break |
| | | case "playAudio": |
| | | _this._playAudio(msg.buffer) |
| | | break |
| | | case "print": |
| | | _this.onLog(msg.text) |
| | | this._trigger('log', msg.text); |
| | | _this._opt.isDebug && console.log(msg.text); |
| | | break |
| | | case "printErr": |
| | | _this.onLog(msg.text); |
| | | this._trigger('log', msg.text); |
| | | _this.onError(msg.text); |
| | | this._trigger('error', msg.text); |
| | | _this._opt.isDebug && console.error(msg.text); |
| | | break; |
| | | case "initAudioPlanar": |
| | | _this._initAudioPlanar(msg); |
| | | _this._trigger('audioInfo', { |
| | | numOfChannels: msg.channels, // 声频通道 |
| | | length: undefined, // 帧数 |
| | | sampleRate: msg.samplerate // 采样率 |
| | | }); |
| | | break; |
| | | default: |
| | | _this._opt.isDebug && console.log(msg); |
| | | _this[msg.cmd](msg) |
| | | } |
| | | }; |
| | | }; |
| | | |
| | | Jessibuca.prototype._initEventListener = function () { |
| | | var _this = this; |
| | | |
| | | this._doms.playDom && this._doms.playDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.play(); |
| | | }, false); |
| | | |
| | | this._doms.playBigDom && this._doms.playBigDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.play(); |
| | | }, false); |
| | | |
| | | this._doms.pauseDom && this._doms.pauseDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.pause(); |
| | | }, false); |
| | | |
| | | // screenshots |
| | | this._doms.screenshotsDom && this._doms.screenshotsDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | var filename = _this._opt.text + '' + _now(); |
| | | _this._screenshot(filename); |
| | | }, false); |
| | | // |
| | | this._doms.fullscreenDom && this._doms.fullscreenDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.fullscreen = true; |
| | | }, false); |
| | | // |
| | | this._doms.minScreenDom && this._doms.minScreenDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.fullscreen = false; |
| | | }, false); |
| | | // |
| | | this._doms.recordDom && this._doms.recordDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.recording = true; |
| | | }, false); |
| | | // |
| | | this._doms.recordingDom && this._doms.recordingDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.recording = false; |
| | | }, false); |
| | | |
| | | this._doms.quietAudioDom && this._doms.quietAudioDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.cancelMute(); |
| | | }, false); |
| | | |
| | | this._doms.playAudioDom && this._doms.playAudioDom.addEventListener('click', function (e) { |
| | | e.stopPropagation(); |
| | | _this.mute(); |
| | | }, false); |
| | | }; |
| | | /** |
| | | * set debug |
| | | * @param flag |
| | | */ |
| | | Jessibuca.prototype.setDebug = function (flag) { |
| | | this._opt.isDebug = !!flag; |
| | | }; |
| | | /** |
| | | * mute |
| | | */ |
| | | Jessibuca.prototype.mute = function () { |
| | | this._audioEnabled(false); |
| | | this.quieting = true; |
| | | }; |
| | | |
| | | /** |
| | | * cancel mute |
| | | */ |
| | | Jessibuca.prototype.cancelMute = function () { |
| | | this._audioEnabled(true); |
| | | this.quieting = false; |
| | | }; |
| | | |
| | | /** |
| | | * 设置旋转角度 |
| | | */ |
| | | Jessibuca.prototype.setRotate = function (deg) { |
| | | |
| | | }; |
| | | |
| | | Jessibuca.prototype._initStatus = function () { |
| | | this._loading = true; |
| | | this.loading = true; |
| | | this._recording = false; |
| | | this.recording = false; |
| | | this._playing = false; |
| | | this.playing = false; |
| | | this._quieting = this._opt.isNotMute ? false : true; |
| | | this.quieting = this._opt.isNotMute ? false : true; |
| | | this._fullscreen = false; |
| | | this.fullscreen = false; |
| | | } |
| | | |
| | | Jessibuca.prototype._initBtns = function () { |
| | | // show |
| | | _domToggle(this._doms.pauseDom, true); |
| | | _domToggle(this._doms.screenshotsDom, true); |
| | | _domToggle(this._doms.fullscreenDom, true); |
| | | _domToggle(this._doms.quietAudioDom, true); |
| | | _domToggle(this._doms.textDom, true); |
| | | _domToggle(this._doms.speedDom, true); |
| | | _domToggle(this._doms.recordDom, true); |
| | | // hide |
| | | _domToggle(this._doms.loadingDom, false); |
| | | _domToggle(this._doms.playDom, false); |
| | | _domToggle(this._doms.playBigDom, false); |
| | | _domToggle(this._doms.bgDom, false); |
| | | }; |
| | | |
| | | Jessibuca.prototype._hideBtns = function () { |
| | | var _this = this; |
| | | Object.keys(this._doms).forEach(function (dom) { |
| | | if (dom !== 'bgDom') { |
| | | _domToggle(_this._doms[dom], false); |
| | | } |
| | | }) |
| | | }; |
| | | |
| | | function _checkFull() { |
| | | var isFull = document.fullscreenElement || window.webkitFullscreenElement || document.msFullscreenElement; |
| | | if (isFull === undefined) isFull = false; |
| | | return !!isFull; |
| | | } |
| | | |
| | | Jessibuca.prototype._updateStats = function (options) { |
| | | options = options || {}; |
| | | |
| | | if (!this._startBpsTime) { |
| | | this._startBpsTime = _now(); |
| | | } |
| | | var _nowTime = _now(); |
| | | var timestamp = _nowTime - this._startBpsTime; |
| | | |
| | | if (timestamp < 1 * 1000) { |
| | | this._bps += (options.bps || 0); |
| | | this._stats.fps += 1; |
| | | this._stats.vbps += parseInt((options.bps || 0)); |
| | | return; |
| | | } |
| | | this._stats.ts = options.ts; |
| | | this._doms.speedDom && (this._doms.speedDom.innerText = _bpsSize(this._bps)); |
| | | this._trigger('bps', this._bps); |
| | | this._trigger('stats', this._stats); |
| | | this._trigger('performance', _fpsStatus(this._stats.fps)); |
| | | this._bps = 0; |
| | | this._stats.fps = 0; |
| | | this._stats.vbps = 0; |
| | | this._startBpsTime = _nowTime; |
| | | }; |
| | | |
| | | |
| | | Jessibuca.prototype._checkHeart = function () { |
| | | if (this._checkHeartTimeout) { |
| | | clearTimeout(this._checkHeartTimeout); |
| | | this._checkHeartTimeout = null; |
| | | } |
| | | var _this = this; |
| | | this._checkHeartTimeout = setTimeout(function () { |
| | | _this._opt.isDebug && console.log('check heart timeout'); |
| | | _this._trigger('timeout'); |
| | | _this.recording = false; |
| | | _this.playing = false; |
| | | _this._close(); |
| | | }, this._opt.timeout * 1000); |
| | | }; |
| | | |
| | | Jessibuca.prototype._checkLoading = function () { |
| | | if (this._checkLoadingTimeout) { |
| | | clearTimeout(this._checkLoadingTimeout); |
| | | this._checkLoadingTimeout = null; |
| | | } |
| | | var _this = this; |
| | | this._checkLoadingTimeout = setTimeout(function () { |
| | | _this._opt.isDebug && console.log('check loading timeout'); |
| | | _this._trigger('timeout'); |
| | | _this.playing = false; |
| | | _this._close(); |
| | | _domToggle(_this._doms.loadingDom, false); |
| | | }, this._opt.timeout * 1000); |
| | | }; |
| | | |
| | | Jessibuca.prototype._clearCheckLoading = function () { |
| | | if (this._checkLoadingTimeout) { |
| | | clearTimeout(this._checkLoadingTimeout); |
| | | this._checkLoadingTimeout = null; |
| | | } |
| | | }; |
| | | |
| | | Jessibuca.prototype._initCheckVariable = function () { |
| | | this._startBpsTime = ''; |
| | | this._bps = 0; |
| | | if (this._checkHeartTimeout) { |
| | | clearTimeout(this._checkHeartTimeout); |
| | | this._checkHeartTimeout = null; |
| | | } |
| | | } |
| | | // |
| | | Jessibuca.prototype._initAudioPlanar = function (msg) { |
| | | var channels = msg.channels |
| | | var samplerate = msg.samplerate |
| | | var context = this._audioContext; |
| | | var isPlaying = false; |
| | | var audioBuffers = []; |
| | | if (!context) return false; |
| | | var _this = this |
| | | this._playAudio = function (buffer) { |
| | | var frameCount = buffer[0][0].length |
| | | var audioBuffer = context.createBuffer(channels, frameCount * buffer.length, samplerate); |
| | | var copyToCtxBuffer = function (fromBuffer) { |
| | | for (var channel = 0; channel < channels; channel++) { |
| | | var nowBuffering = audioBuffer.getChannelData(channel); |
| | | for (var j = 0; j < buffer.length; j++) { |
| | | for (var i = 0; i < frameCount; i++) { |
| | | nowBuffering[i + j * frameCount] = fromBuffer[j][channel][i] |
| | | } |
| | | //postMessage({ cmd: "setBufferA", buffer: fromBuffer[j] }, '*', fromBuffer[j].map(x => x.buffer)) |
| | | } |
| | | } |
| | | } |
| | | var playNextBuffer = function () { |
| | | isPlaying = false; |
| | | //console.log("~", audioBuffers.length) |
| | | if (audioBuffers.length) { |
| | | playAudio(audioBuffers.shift()); |
| | | } |
| | | //if (audioBuffers.length > 1) audioBuffers.shift(); |
| | | }; |
| | | var playAudio = function (fromBuffer) { |
| | | if (!fromBuffer) return |
| | | if (isPlaying) { |
| | | audioBuffers.push(fromBuffer); |
| | | //console.log(audioBuffers.length) |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | copyToCtxBuffer(fromBuffer); |
| | | var source = context.createBufferSource(); |
| | | source.buffer = audioBuffer; |
| | | source.connect(context.destination); |
| | | // source.onended = playNextBuffer; |
| | | source.start(); |
| | | }; |
| | | _this._playAudio = playAudio |
| | | _this.audioInterval = setInterval(playNextBuffer, audioBuffer.duration * 1000); |
| | | playAudio(buffer) |
| | | }; |
| | | } |
| | | |
| | | function _unlock(context) { |
| | | context.resume(); |
| | | var source = context.createBufferSource(); |
| | | source.buffer = context.createBuffer(1, 1, 22050); |
| | | source.connect(context.destination); |
| | | if (source.noteOn) |
| | | source.noteOn(0); |
| | | else |
| | | source.start(0); |
| | | } |
| | | |
| | | function _domToggle(dom, toggle) { |
| | | if (dom) { |
| | | dom.style.display = toggle ? 'block' : "none"; |
| | | } |
| | | } |
| | | |
| | | function _dataURLToFile(dataURL) { |
| | | const arr = dataURL.split(","); |
| | | const bstr = atob(arr[1]); |
| | | const type = arr[0].replace("data:", "").replace(";base64", "") |
| | | let n = bstr.length, u8arr = new Uint8Array(n); |
| | | while (n--) { |
| | | u8arr[n] = bstr.charCodeAt(n); |
| | | } |
| | | return new File([u8arr], 'file', {type}); |
| | | } |
| | | |
| | | function _downloadImg(content, fileName) { |
| | | const aLink = document.createElement("a"); |
| | | aLink.download = fileName; |
| | | aLink.href = URL.createObjectURL(content); |
| | | aLink.click(); |
| | | URL.revokeObjectURL(content); |
| | | } |
| | | |
| | | function _bpsSize(value) { |
| | | if (null == value || value === '') { |
| | | return "0 KB/S"; |
| | | } |
| | | var srcsize = parseFloat(value); |
| | | var size = srcsize / 1024; |
| | | size = size.toFixed(2); |
| | | return size + 'KB/S'; |
| | | } |
| | | |
| | | function _fpsStatus(fps) { |
| | | var result = 0; |
| | | if (fps >= 24) { |
| | | result = 2; |
| | | } else if (fps >= 15) { |
| | | result = 1; |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * set audio |
| | | * @param flag |
| | | */ |
| | | Jessibuca.prototype._audioEnabled = function (flag) { |
| | | if (flag) { |
| | | _unlock(this._audioContext) |
| | | this._audioEnabled = function (flag) { |
| | | if (flag) { |
| | | // 恢复 |
| | | this._audioContext.resume(); |
| | | |
| | | } else { |
| | | // 暂停 |
| | | this._audioContext.suspend(); |
| | | } |
| | | } |
| | | } else { |
| | | this._audioContext.suspend(); |
| | | } |
| | | } |
| | | |
| | | Jessibuca.prototype._playAudio = function (data) { |
| | | var context = this._audioContext; |
| | | var isPlaying = false; |
| | | var isDecoding = false; |
| | | if (!context) return false; |
| | | var audioBuffers = []; |
| | | var decodeQueue = [] |
| | | var _this = this |
| | | var playNextBuffer = function (e) { |
| | | if (audioBuffers.length) { |
| | | playBuffer(audioBuffers.shift()) |
| | | } |
| | | }; |
| | | var playBuffer = function (buffer) { |
| | | isPlaying = true; |
| | | var audioBufferSouceNode = context.createBufferSource(); |
| | | audioBufferSouceNode.buffer = buffer; |
| | | audioBufferSouceNode.connect(context.destination); |
| | | // audioBufferSouceNode.onended = playNextBuffer; |
| | | audioBufferSouceNode.start(); |
| | | if (!_this.audioInterval) { |
| | | _this.audioInterval = setInterval(playNextBuffer, buffer.duration * 1000 - 1); |
| | | } |
| | | } |
| | | var decodeAudio = function () { |
| | | if (decodeQueue.length) { |
| | | context.decodeAudioData(decodeQueue.shift(), tryPlay, decodeAudio); |
| | | } else { |
| | | isDecoding = false |
| | | } |
| | | } |
| | | var tryPlay = function (buffer) { |
| | | decodeAudio() |
| | | if (isPlaying) { |
| | | audioBuffers.push(buffer); |
| | | } else { |
| | | playBuffer(buffer) |
| | | } |
| | | } |
| | | var playAudio = function (data) { |
| | | decodeQueue.push(...data) |
| | | if (!isDecoding) { |
| | | isDecoding = true |
| | | decodeAudio() |
| | | } |
| | | } |
| | | this._playAudio = playAudio |
| | | playAudio(data) |
| | | } |
| | | Jessibuca.prototype._initAudioPlay = function (frameCount, samplerate, channels) { |
| | | var context = this._audioContext; |
| | | var isPlaying = false; |
| | | var audioBuffers = []; |
| | | if (!context) return false; |
| | | var _this = this |
| | | var resampled = samplerate < 22050; |
| | | if (resampled) { |
| | | _this._opt.isDebug && console.log("resampled!") |
| | | } |
| | | var audioBuffer = resampled ? context.createBuffer(channels, frameCount << 1, samplerate << 1) : context.createBuffer(channels, frameCount, samplerate); |
| | | var playNextBuffer = function () { |
| | | isPlaying = false; |
| | | //console.log("~", audioBuffers.length) |
| | | if (audioBuffers.length) { |
| | | playAudio(audioBuffers.shift()); |
| | | } |
| | | }; |
| | | |
| | | var copyToCtxBuffer = channels > 1 ? function (fromBuffer) { |
| | | for (var channel = 0; channel < channels; channel++) { |
| | | var nowBuffering = audioBuffer.getChannelData(channel); |
| | | if (resampled) { |
| | | for (var i = 0; i < frameCount; i++) { |
| | | nowBuffering[i * 2] = nowBuffering[i * 2 + 1] = fromBuffer[i * (channel + 1)] / 32768; |
| | | } |
| | | } else |
| | | for (var i = 0; i < frameCount; i++) { |
| | | nowBuffering[i] = fromBuffer[i * (channel + 1)] / 32768; |
| | | } |
| | | |
| | | } |
| | | } : function (fromBuffer) { |
| | | var nowBuffering = audioBuffer.getChannelData(0); |
| | | for (var i = 0; i < nowBuffering.length; i++) { |
| | | nowBuffering[i] = fromBuffer[i] / 32768; |
| | | } |
| | | }; |
| | | var playAudio = function (fromBuffer) { |
| | | if (isPlaying) { |
| | | audioBuffers.push(fromBuffer); |
| | | return; |
| | | } |
| | | isPlaying = true; |
| | | copyToCtxBuffer(fromBuffer); |
| | | var source = context.createBufferSource(); |
| | | source.buffer = audioBuffer; |
| | | source.connect(context.destination); |
| | | if (!_this.audioInterval) { |
| | | _this.audioInterval = setInterval(playNextBuffer, audioBuffer.duration * 1000); |
| | | } |
| | | source.start(); |
| | | }; |
| | | this._playAudio = playAudio; |
| | | } |
| | | /** |
| | | * Returns true if the canvas supports WebGL |
| | | */ |
| | | Jessibuca.prototype.isWebGL = function () { |
| | | return !!this._contextGL; |
| | | }; |
| | | /** |
| | | * set timeout |
| | | * @param time |
| | | */ |
| | | Jessibuca.prototype.setTimeout = function (time) { |
| | | if (typeof time === 'number') { |
| | | this._opt.timeout = Number(time); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * @desc 视频缩放模式, 当视频分辨率比例与canvas显示区域比例不同时,缩放效果不同: |
| | | 0 视频画面完全填充canvas区域,画面会被拉伸 |
| | | 1 视频画面做等比缩放后,高或宽对齐canvas区域,画面不被拉伸,但有黑边(默认) |
| | | 2 视频画面做等比缩放后,完全填充canvas区域,画面不被拉伸,没有黑边,但画面显示不全 |
| | | * @param type |
| | | * |
| | | */ |
| | | Jessibuca.prototype.setScaleMode = function (type) { |
| | | if (type === 0) { |
| | | this._opt.isFullResize = false; |
| | | this._opt.isResize = false; |
| | | } else if (type === 1) { |
| | | this._opt.isFullResize = false; |
| | | this._opt.isResize = true; |
| | | } else if (type === 2) { |
| | | this._opt.isFullResize = true; |
| | | } |
| | | this.resize(); |
| | | }; |
| | | |
| | | /** |
| | | * Create the GL context from the canvas element |
| | | */ |
| | | Jessibuca.prototype._initContextGL = function () { |
| | | var canvas = this._canvasElement; |
| | | var gl = null; |
| | | |
| | | var validContextNames = ["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"]; |
| | | var nameIndex = 0; |
| | | |
| | | while (!gl && nameIndex < validContextNames.length) { |
| | | var contextName = validContextNames[nameIndex]; |
| | | |
| | | try { |
| | | var contextOptions = {preserveDrawingBuffer: true}; |
| | | if (this._opt.contextOptions) { |
| | | contextOptions = Object.assign(contextOptions, this._opt.contextOptions); |
| | | } |
| | | |
| | | gl = canvas.getContext(contextName, contextOptions); |
| | | } catch (e) { |
| | | gl = null; |
| | | } |
| | | |
| | | if (!gl || typeof gl.getParameter !== "function") { |
| | | gl = null; |
| | | } |
| | | |
| | | ++nameIndex; |
| | | } |
| | | ; |
| | | |
| | | this._contextGL = gl; |
| | | }; |
| | | |
| | | /** |
| | | * Initialize GL shader program |
| | | */ |
| | | Jessibuca.prototype._initProgram = function () { |
| | | var gl = this._contextGL; |
| | | |
| | | var vertexShaderScript = [ |
| | | 'attribute vec4 vertexPos;', |
| | | 'attribute vec4 texturePos;', |
| | | 'varying vec2 textureCoord;', |
| | | |
| | | 'void main()', |
| | | '{', |
| | | 'gl_Position = vertexPos;', |
| | | 'textureCoord = texturePos.xy;', |
| | | '}' |
| | | ].join('\n'); |
| | | |
| | | var fragmentShaderScript = [ |
| | | 'precision highp float;', |
| | | 'varying highp vec2 textureCoord;', |
| | | 'uniform sampler2D ySampler;', |
| | | 'uniform sampler2D uSampler;', |
| | | 'uniform sampler2D vSampler;', |
| | | 'const mat4 YUV2RGB = mat4', |
| | | '(', |
| | | '1.1643828125, 0, 1.59602734375, -.87078515625,', |
| | | '1.1643828125, -.39176171875, -.81296875, .52959375,', |
| | | '1.1643828125, 2.017234375, 0, -1.081390625,', |
| | | '0, 0, 0, 1', |
| | | ');', |
| | | |
| | | 'void main(void) {', |
| | | 'highp float y = texture2D(ySampler, textureCoord).r;', |
| | | 'highp float u = texture2D(uSampler, textureCoord).r;', |
| | | 'highp float v = texture2D(vSampler, textureCoord).r;', |
| | | 'gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;', |
| | | '}' |
| | | ].join('\n'); |
| | | |
| | | var vertexShader = gl.createShader(gl.VERTEX_SHADER); |
| | | gl.shaderSource(vertexShader, vertexShaderScript); |
| | | gl.compileShader(vertexShader); |
| | | if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) { |
| | | this._opt.isDebug && console.log('Vertex shader failed to compile: ' + gl.getShaderInfoLog(vertexShader)); |
| | | } |
| | | |
| | | var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER); |
| | | gl.shaderSource(fragmentShader, fragmentShaderScript); |
| | | gl.compileShader(fragmentShader); |
| | | if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) { |
| | | this._opt.isDebug && console.log('Fragment shader failed to compile: ' + gl.getShaderInfoLog(fragmentShader)); |
| | | } |
| | | |
| | | var program = gl.createProgram(); |
| | | gl.attachShader(program, vertexShader); |
| | | gl.attachShader(program, fragmentShader); |
| | | gl.linkProgram(program); |
| | | if (!gl.getProgramParameter(program, gl.LINK_STATUS)) { |
| | | this._opt.isDebug && console.log('Program failed to compile: ' + gl.getProgramInfoLog(program)); |
| | | } |
| | | |
| | | gl.useProgram(program); |
| | | |
| | | this._shaderProgram = program; |
| | | }; |
| | | |
| | | /** |
| | | * Initialize vertex buffers and attach to shader program |
| | | */ |
| | | Jessibuca.prototype._initBuffers = function () { |
| | | var gl = this._contextGL; |
| | | var program = this._shaderProgram; |
| | | |
| | | var vertexPosBuffer = gl.createBuffer(); |
| | | gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer); |
| | | gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]), gl.STATIC_DRAW); |
| | | |
| | | var vertexPosRef = gl.getAttribLocation(program, 'vertexPos'); |
| | | gl.enableVertexAttribArray(vertexPosRef); |
| | | gl.vertexAttribPointer(vertexPosRef, 2, gl.FLOAT, false, 0, 0); |
| | | |
| | | var texturePosBuffer = gl.createBuffer(); |
| | | gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); |
| | | gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]), gl.STATIC_DRAW); |
| | | |
| | | var texturePosRef = gl.getAttribLocation(program, 'texturePos'); |
| | | gl.enableVertexAttribArray(texturePosRef); |
| | | gl.vertexAttribPointer(texturePosRef, 2, gl.FLOAT, false, 0, 0); |
| | | |
| | | this._texturePosBuffer = texturePosBuffer; |
| | | }; |
| | | |
| | | /** |
| | | * Initialize GL textures and attach to shader program |
| | | */ |
| | | Jessibuca.prototype._initTextures = function () { |
| | | var gl = this._contextGL; |
| | | var program = this._shaderProgram; |
| | | |
| | | var yTextureRef = this._initTexture(); |
| | | var ySamplerRef = gl.getUniformLocation(program, 'ySampler'); |
| | | gl.uniform1i(ySamplerRef, 0); |
| | | this._yTextureRef = yTextureRef; |
| | | |
| | | var uTextureRef = this._initTexture(); |
| | | var uSamplerRef = gl.getUniformLocation(program, 'uSampler'); |
| | | gl.uniform1i(uSamplerRef, 1); |
| | | this._uTextureRef = uTextureRef; |
| | | |
| | | var vTextureRef = this._initTexture(); |
| | | var vSamplerRef = gl.getUniformLocation(program, 'vSampler'); |
| | | gl.uniform1i(vSamplerRef, 2); |
| | | this._vTextureRef = vTextureRef; |
| | | }; |
| | | |
| | | /** |
| | | * Create and configure a single texture |
| | | */ |
| | | Jessibuca.prototype._initTexture = function () { |
| | | var gl = this._contextGL; |
| | | |
| | | var textureRef = gl.createTexture(); |
| | | gl.bindTexture(gl.TEXTURE_2D, textureRef); |
| | | gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR); |
| | | gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); |
| | | gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); |
| | | gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); |
| | | gl.bindTexture(gl.TEXTURE_2D, null); |
| | | |
| | | return textureRef; |
| | | }; |
| | | |
| | | /** |
| | | * Draw picture data to the canvas. |
| | | * If this object is using WebGL, the data must be an I420 formatted ArrayBuffer, |
| | | * Otherwise, data must be an RGBA formatted ArrayBuffer. |
| | | */ |
| | | Jessibuca.prototype._drawNextOutputPicture = function (data) { |
| | | if (this._contextGL) { |
| | | this._drawNextOutputPictureGL(data); |
| | | } else { |
| | | this._drawNextOutputPictureRGBA(data); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * Draw the next output picture using WebGL |
| | | */ |
| | | Jessibuca.prototype._drawNextOutputPictureGL = function (data) { |
| | | var gl = this._contextGL; |
| | | var texturePosBuffer = this._texturePosBuffer; |
| | | var yTextureRef = this._yTextureRef; |
| | | var uTextureRef = this._uTextureRef; |
| | | var vTextureRef = this._vTextureRef; |
| | | var croppingParams = this.croppingParams |
| | | var width = this._canvasElement.width |
| | | var height = this._canvasElement.height |
| | | if (croppingParams) { |
| | | gl.viewport(0, 0, croppingParams.width, croppingParams.height); |
| | | var tTop = croppingParams.top / height; |
| | | var tLeft = croppingParams.left / width; |
| | | var tBottom = croppingParams.height / height; |
| | | var tRight = croppingParams.width / width; |
| | | var texturePosValues = new Float32Array([tRight, tTop, tLeft, tTop, tRight, tBottom, tLeft, tBottom]); |
| | | |
| | | gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer); |
| | | gl.bufferData(gl.ARRAY_BUFFER, texturePosValues, gl.DYNAMIC_DRAW); |
| | | } else { |
| | | gl.viewport(0, 0, this._canvasElement.width, this._canvasElement.height); |
| | | } |
| | | gl.activeTexture(gl.TEXTURE0); |
| | | gl.bindTexture(gl.TEXTURE_2D, yTextureRef); |
| | | gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[0]); |
| | | |
| | | gl.activeTexture(gl.TEXTURE1); |
| | | gl.bindTexture(gl.TEXTURE_2D, uTextureRef); |
| | | gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width / 2, height / 2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[1]); |
| | | |
| | | gl.activeTexture(gl.TEXTURE2); |
| | | gl.bindTexture(gl.TEXTURE_2D, vTextureRef); |
| | | gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width / 2, height / 2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, data[2]); |
| | | |
| | | gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4); |
| | | }; |
| | | |
| | | /** |
| | | * Draw next output picture using ARGB data on a 2d canvas. |
| | | */ |
| | | Jessibuca.prototype._drawNextOutputPictureRGBA = function (data) { |
| | | this.imageData.data.set(data); |
| | | var croppingParams = this.croppingParams |
| | | if (!croppingParams) { |
| | | this.ctx2d.putImageData(this.imageData, 0, 0); |
| | | } else { |
| | | this.ctx2d.putImageData(this.imageData, -croppingParams.left, -croppingParams.top, 0, 0, croppingParams.width, croppingParams.height); |
| | | } |
| | | }; |
| | | Jessibuca.prototype.ctx2d = null; |
| | | Jessibuca.prototype.imageData = null; |
| | | Jessibuca.prototype._initRGB = function (width, height) { |
| | | this.ctx2d = this._canvasElement.getContext('2d'); |
| | | this.imageData = this.ctx2d.getImageData(0, 0, width, height); |
| | | this.clear = function () { |
| | | this.ctx2d.clearRect(0, 0, width, height) |
| | | }; |
| | | }; |
| | | |
| | | Jessibuca.prototype.pause = function () { |
| | | this._close(); |
| | | if (this.loading) { |
| | | _domToggle(this._doms.loadingDom, false); |
| | | } |
| | | this.recording = false; |
| | | this.playing = false; |
| | | }; |
| | | |
| | | Jessibuca.prototype._close = function () { |
| | | if (this.audioInterval) { |
| | | clearInterval(this.audioInterval) |
| | | } |
| | | delete this._playAudio |
| | | this._decoderWorker.postMessage({cmd: "close"}) |
| | | |
| | | if (this._wakeLock) { |
| | | this._wakeLock.release(); |
| | | this._wakeLock = null; |
| | | } |
| | | |
| | | // this._contextGL.clear(this._contextGL.COLOR_BUFFER_BIT); |
| | | this._initCheckVariable(); |
| | | } |
| | | /** |
| | | * destroy |
| | | * @desc delete worker, |
| | | */ |
| | | Jessibuca.prototype.destroy = function () { |
| | | // destroy |
| | | this._decoderWorker.terminate() |
| | | window.removeEventListener("resize", this._onresize); |
| | | window.removeEventListener('fullscreenchange', this._onfullscreenchange); |
| | | this._initCheckVariable(); |
| | | this._clearCheckLoading(); |
| | | this._off(); |
| | | this._hasLoaded = false; |
| | | // remove dom |
| | | while (this._container.firstChild) { |
| | | this._container.removeChild(this._container.firstChild); |
| | | } |
| | | if (this._wakeLock) { |
| | | this._wakeLock.release(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 清理画布为黑色背景 |
| | | * 用于canvas重用进行多个流切换播放时,将上一个画面清理 |
| | | * 避免后一个视频播放之前出现前一个视频最后一个画面 |
| | | */ |
| | | Jessibuca.prototype.clearView = function () { |
| | | this._contextGL.clear(this._contextGL.COLOR_BUFFER_BIT); |
| | | }; |
| | | /** |
| | | * play |
| | | * @param url |
| | | */ |
| | | Jessibuca.prototype.play = function (url) { |
| | | if (!this.playUrl && !url) { |
| | | return; |
| | | } |
| | | var needDelay = false; |
| | | if (url) { |
| | | if (this.playUrl) { |
| | | this._close(); |
| | | needDelay = true; |
| | | this._contextGL.clear(this._contextGL.COLOR_BUFFER_BIT); |
| | | } |
| | | this.loading = true; |
| | | _domToggle(this._doms.bgDom, false); |
| | | this._checkLoading(); |
| | | this.playUrl = url; |
| | | } else if (this.playUrl) { |
| | | // retry |
| | | if (this.loading) { |
| | | this._hideBtns(); |
| | | _domToggle(this._doms.fullscreenDom, true); |
| | | _domToggle(this._doms.pauseDom, true); |
| | | _domToggle(this._doms.loadingDom, true); |
| | | this._checkLoading(); |
| | | } else { |
| | | this.playing = true; |
| | | } |
| | | } |
| | | this._initCheckVariable(); |
| | | |
| | | if (needDelay) { |
| | | var _this = this; |
| | | setTimeout(function () { |
| | | _this._decoderWorker.postMessage({cmd: "play", url: _this.playUrl, isWebGL: _this.isWebGL()}) |
| | | }, 300); |
| | | } else { |
| | | this._decoderWorker.postMessage({cmd: "play", url: this.playUrl, isWebGL: this.isWebGL()}) |
| | | } |
| | | }; |
| | | /** |
| | | * has loaded |
| | | * @returns {boolean} |
| | | */ |
| | | Jessibuca.prototype.hasLoaded = function () { |
| | | return this._hasLoaded; |
| | | }; |
| | | |
| | | Object.defineProperty(Jessibuca.prototype, "fullscreen", { |
| | | set(value) { |
| | | if (value) { |
| | | if (!_checkFull()) { |
| | | this._container.requestFullscreen(); |
| | | } |
| | | _domToggle(this._doms.minScreenDom, true); |
| | | _domToggle(this._doms.fullscreenDom, false); |
| | | } else { |
| | | if (_checkFull()) { |
| | | document.exitFullscreen(); |
| | | } |
| | | _domToggle(this._doms.minScreenDom, false); |
| | | _domToggle(this._doms.fullscreenDom, true); |
| | | } |
| | | |
| | | if (this._fullscreen !== value) { |
| | | this.onFullscreen(value); |
| | | this._trigger('fullscreen', value); |
| | | } |
| | | this._fullscreen = value; |
| | | }, |
| | | get() { |
| | | return this._fullscreen; |
| | | } |
| | | }); |
| | | |
| | | Object.defineProperty(Jessibuca.prototype, 'playing', { |
| | | set(value) { |
| | | if (value) { |
| | | _domToggle(this._doms.playBigDom, false); |
| | | _domToggle(this._doms.playDom, false); |
| | | _domToggle(this._doms.pauseDom, true); |
| | | |
| | | _domToggle(this._doms.screenshotsDom, true); |
| | | _domToggle(this._doms.recordDom, true); |
| | | if (this._quieting) { |
| | | _domToggle(this._doms.quietAudioDom, true); |
| | | _domToggle(this._doms.playAudioDom, false); |
| | | } else { |
| | | _domToggle(this._doms.quietAudioDom, false); |
| | | _domToggle(this._doms.playAudioDom, true); |
| | | } |
| | | } else { |
| | | this._doms.speedDom && (this._doms.speedDom.innerText = ''); |
| | | if (this.playUrl) { |
| | | _domToggle(this._doms.playDom, true); |
| | | _domToggle(this._doms.playBigDom, true); |
| | | _domToggle(this._doms.pauseDom, false); |
| | | } |
| | | |
| | | // 在停止状态下录像,截屏,音量是非激活,只有播放,最大化时可点击 |
| | | _domToggle(this._doms.recordDom, false); |
| | | _domToggle(this._doms.recordingDom, false); |
| | | _domToggle(this._doms.screenshotsDom, false); |
| | | _domToggle(this._doms.quietAudioDom, false); |
| | | _domToggle(this._doms.playAudioDom, false); |
| | | } |
| | | |
| | | if (this._playing !== value) { |
| | | if (value) { |
| | | this.onPlay(); |
| | | this._trigger('play'); |
| | | } else { |
| | | this.onPause(); |
| | | this._trigger('pause'); |
| | | } |
| | | } |
| | | this._playing = value; |
| | | }, |
| | | get() { |
| | | return this._playing; |
| | | } |
| | | }); |
| | | |
| | | Object.defineProperty(Jessibuca.prototype, 'recording', { |
| | | set(value) { |
| | | if (value) { |
| | | _domToggle(this._doms.recordDom, false); |
| | | _domToggle(this._doms.recordingDom, true); |
| | | } else { |
| | | _domToggle(this._doms.recordDom, true); |
| | | _domToggle(this._doms.recordingDom, false); |
| | | |
| | | } |
| | | if (this._recording !== value) { |
| | | this.onRecord(value); |
| | | this._trigger('record', value); |
| | | this._recording = value; |
| | | } |
| | | }, |
| | | get() { |
| | | return this._recording; |
| | | } |
| | | }); |
| | | |
| | | Object.defineProperty(Jessibuca.prototype, 'quieting', { |
| | | set(value) { |
| | | if (value) { |
| | | _domToggle(this._doms.quietAudioDom, true); |
| | | _domToggle(this._doms.playAudioDom, false); |
| | | } else { |
| | | _domToggle(this._doms.quietAudioDom, false); |
| | | _domToggle(this._doms.playAudioDom, true); |
| | | } |
| | | if (this._quieting !== value) { |
| | | this.onMute(value); |
| | | this._trigger('mute', value); |
| | | } |
| | | this._quieting = value; |
| | | }, |
| | | get() { |
| | | return this._quieting; |
| | | } |
| | | }); |
| | | |
| | | Object.defineProperty(Jessibuca.prototype, 'loading', { |
| | | set(value) { |
| | | if (value) { |
| | | this._hideBtns(); |
| | | _domToggle(this._doms.fullscreenDom, true); |
| | | _domToggle(this._doms.pauseDom, true); |
| | | _domToggle(this._doms.loadingDom, true); |
| | | } else { |
| | | this._initBtns(); |
| | | } |
| | | this._loading = value; |
| | | }, |
| | | get() { |
| | | return this._loading; |
| | | } |
| | | }); |
| | | |
| | | /** |
| | | * resize |
| | | */ |
| | | Jessibuca.prototype.resize = function () { |
| | | var width = this._container.clientWidth; |
| | | var height = this._container.clientHeight; |
| | | if (this._showControl()) { |
| | | height -= 38; |
| | | } |
| | | var resizeWidth = this._canvasElement.width; |
| | | var resizeHeight = this._canvasElement.height; |
| | | var wScale = width / resizeWidth; |
| | | var hScale = height / resizeHeight; |
| | | var scale = wScale > hScale ? hScale : wScale; |
| | | if (!this._opt.isResize) { |
| | | if (wScale !== hScale) { |
| | | scale = wScale + ',' + hScale; |
| | | } |
| | | } |
| | | // |
| | | if (this._opt.isFullResize) { |
| | | scale = wScale > hScale ? wScale : hScale; |
| | | } |
| | | |
| | | this._opt.isDebug && console.log('wScale', wScale, 'hScale', hScale, 'scale', scale); |
| | | this._canvasElement.style.transform = "scale(" + scale + ")" |
| | | this._canvasElement.style.left = ((width - resizeWidth) / 2) + "px" |
| | | this._canvasElement.style.top = ((height - resizeHeight) / 2) + "px" |
| | | } |
| | | |
| | | Jessibuca.prototype._fullscreenchange = function () { |
| | | this.fullscreen = _checkFull(); |
| | | } |
| | | |
| | | /** |
| | | * change buffer |
| | | * @param buffer |
| | | */ |
| | | Jessibuca.prototype.changeBuffer = function (buffer) { |
| | | this._stats.buf = Number(buffer) * 1000; |
| | | this._decoderWorker.postMessage({cmd: "setVideoBuffer", time: Number(buffer)}); |
| | | }; |
| | | /** |
| | | * 设置最大缓冲时长,单位秒,播放器会自动消除延迟。 |
| | | * @param buffer |
| | | */ |
| | | Jessibuca.prototype.setBufferTime = function (buffer) { |
| | | this.changeBuffer(buffer); |
| | | }; |
| | | |
| | | /** |
| | | * 设置音量大小,取值0.0 — 1.0 |
| | | * 当为0.0时,完全无声 |
| | | * 当为1.0时,最大音量,默认值 |
| | | * @param volume |
| | | */ |
| | | Jessibuca.prototype.setVolume = function (volume) { |
| | | if (this._gainNode) { |
| | | this._gainNode.gain.setValueAtTime(volume, this._audioContext.currentTime); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 开启屏幕常亮, 在play前调用 |
| | | * 在手机浏览器上, canvas标签渲染视频并不会像video标签那样保持屏幕常亮 |
| | | * H5目前在chrome\edge 84, android chrome 84及以上有原生亮屏API, 需要是https页面 |
| | | * 其余平台为模拟实现,此时为兼容实现,并不保证所有浏览器都支持 |
| | | */ |
| | | Jessibuca.prototype.setKeepScreenOn = function () { |
| | | this._opt.keepScreenOn = true; |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * set fullscreen |
| | | * @param flag |
| | | */ |
| | | Jessibuca.prototype.setFullscreen = function (flag) { |
| | | var fullscreen = !!flag; |
| | | if (this.fullscreen !== fullscreen) { |
| | | this.fullscreen = fullscreen; |
| | | } |
| | | }; |
| | | |
| | | function _now() { |
| | | return new Date().getTime(); |
| | | } |
| | | |
| | | Jessibuca.prototype._screenshot = function (filename, format, quality) { |
| | | filename = filename || _now(); |
| | | var formatType = { |
| | | png: 'image/png', |
| | | jpeg: 'image/jpeg', |
| | | webp: 'image/webp' |
| | | }; |
| | | var encoderOptions = 0.92; |
| | | |
| | | if (typeof quality !== 'undefined') { |
| | | encoderOptions = Number(quality); |
| | | } |
| | | |
| | | var dataURL = this._canvasElement.toDataURL(formatType[format] || formatType.png, encoderOptions); |
| | | _downloadImg(_dataURLToFile(dataURL), filename); |
| | | } |
| | | |
| | | /** |
| | | * 截图,调用后弹出下载框保存截图 |
| | | * @param filename 保存的文件名 默认时间戳 |
| | | * @param format 截图的格式,可选png或jpeg或者webp |
| | | * @param quality 可选参数,当格式是jpeg或者webp时,压缩质量,取值0.0 ~ 1.0 |
| | | */ |
| | | Jessibuca.prototype.screenshot = function (filename, format, quality) { |
| | | this._screenshot(filename, format, quality); |
| | | }; |
| | | |
| | | |
| | | var eventSplitter = /\s+/; |
| | | |
| | | // Execute callbacks |
| | | function _callEach(list, args, context) { |
| | | if (list) { |
| | | for (var i = 0, len = list.length; i < len; i += 1) { |
| | | list[i].apply(context, args); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param events |
| | | * @param callback |
| | | * @returns {Jessibuca} |
| | | */ |
| | | Jessibuca.prototype.on = function (events, callback) { |
| | | var cache, event, list; |
| | | if (!callback) return this; |
| | | cache = this.__events || (this.__events = {}); |
| | | events = events.split(eventSplitter); |
| | | while (event = events.shift()) { |
| | | list = cache[event] || (cache[event] = []); |
| | | list.push(callback); |
| | | } |
| | | return this; |
| | | }; |
| | | /** |
| | | * |
| | | * @param events |
| | | * @param callback |
| | | * @returns {Jessibuca} |
| | | * @private |
| | | */ |
| | | Jessibuca.prototype._off = function () { |
| | | var cache; |
| | | if (!(cache = this.__events)) return this; |
| | | delete this.__events; |
| | | return this; |
| | | }; |
| | | |
| | | /** |
| | | * |
| | | * @param events |
| | | * @returns {Jessibuca} |
| | | * @private |
| | | */ |
| | | Jessibuca.prototype._trigger = function (events) { |
| | | var cache, event, all, list, i, len, rest = [], args; |
| | | if (!(cache = this.__events)) return this; |
| | | events = events.split(eventSplitter); |
| | | // Fill up `rest` with the callback arguments. Since we're only copying |
| | | // the tail of `arguments`, a loop is much faster than Array#slice. |
| | | for (i = 1, len = arguments.length; i < len; i++) { |
| | | rest[i - 1] = arguments[i]; |
| | | } |
| | | // For each event, walk through the list of callbacks twice, first to |
| | | // trigger the event, then to trigger any `"all"` callbacks. |
| | | while (event = events.shift()) { |
| | | if (list = cache[event]) list = list.slice(); |
| | | // Execute event callbacks. |
| | | _callEach(list, rest, this); |
| | | } |
| | | return this; |
| | | } |
| | | |
| | | if (typeof define === 'function') { |
| | | define(function () { |
| | | return Jessibuca; |
| | | }); |
| | | } else if (typeof exports !== 'undefined') { |
| | | module.exports = Jessibuca; |
| | | } else { |
| | | window.Jessibuca = Jessibuca; |
| | | } |
| | | })(); |